@mndrk/agx 2.0.32 → 2.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (804) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +18 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +27 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +116 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
  7. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  8. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
  15. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/cloud-runtime/standalone/.next/server/app/_not-found.html +2 -2
  18. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +2 -2
  19. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
  26. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  27. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  28. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
  29. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  30. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents.html +2 -2
  32. package/cloud-runtime/standalone/.next/server/app/agents.rsc +3 -3
  33. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +3 -3
  34. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +2 -2
  36. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +2 -2
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +1 -1
  39. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js +1 -1
  40. package/cloud-runtime/standalone/.next/server/app/api/agent-specs/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js +1 -1
  42. package/cloud-runtime/standalone/.next/server/app/api/agents/[id]/profile/route.js.nft.json +1 -1
  43. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js +1 -1
  44. package/cloud-runtime/standalone/.next/server/app/api/agents/export/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js +4 -5
  46. package/cloud-runtime/standalone/.next/server/app/api/automations/create/route.js.nft.json +1 -1
  47. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js +1 -1
  48. package/cloud-runtime/standalone/.next/server/app/api/automations/route.js.nft.json +1 -1
  49. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js +6 -6
  50. package/cloud-runtime/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  51. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js +1 -1
  52. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/route.js.nft.json +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/[id]/signal/route.js.nft.json +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/api/chat-runs/route.js.nft.json +1 -1
  57. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js +1 -1
  58. package/cloud-runtime/standalone/.next/server/app/api/daemon/route.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/app-paths-manifest.json +3 -0
  61. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/build-manifest.json +11 -0
  62. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route/server-reference-manifest.json +4 -0
  63. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js +7 -0
  64. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.map +5 -0
  65. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route.js.nft.json +1 -0
  66. package/cloud-runtime/standalone/.next/server/app/api/filesystem/pick-folder/route_client-reference-manifest.js +2 -0
  67. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js +1 -1
  68. package/cloud-runtime/standalone/.next/server/app/api/graphs/[graphId]/nodes/[nodeId]/route.js.nft.json +1 -1
  69. package/cloud-runtime/standalone/.next/server/app/api/health/route.js +1 -1
  70. package/cloud-runtime/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/app-paths-manifest.json +3 -0
  72. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/build-manifest.json +11 -0
  73. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route/server-reference-manifest.json +4 -0
  74. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js +8 -0
  75. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.map +5 -0
  76. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route.js.nft.json +1 -0
  77. package/cloud-runtime/standalone/.next/server/app/api/knowledge-notes/route_client-reference-manifest.js +2 -0
  78. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js +1 -1
  79. package/cloud-runtime/standalone/.next/server/app/api/learnings/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js +1 -1
  81. package/cloud-runtime/standalone/.next/server/app/api/memories/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/api/messages/[id]/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js +1 -1
  85. package/cloud-runtime/standalone/.next/server/app/api/migrate/teams-to-projects/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js +1 -1
  87. package/cloud-runtime/standalone/.next/server/app/api/migrate/workspaces-to-projects/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js +2 -2
  89. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js +1 -1
  91. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js +3 -2
  93. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js +1 -1
  95. package/cloud-runtime/standalone/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js +3 -3
  97. package/cloud-runtime/standalone/.next/server/app/api/participants/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js +1 -1
  99. package/cloud-runtime/standalone/.next/server/app/api/processes/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js +1 -1
  101. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/agents/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/memory/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js +1 -1
  105. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js +1 -1
  109. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/skills/route.js.nft.json +1 -1
  112. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js +1 -1
  113. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/threads/route.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/api/projects/[id]/variables/route.js.nft.json +1 -1
  116. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js +1 -1
  117. package/cloud-runtime/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  118. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/app-paths-manifest.json +3 -0
  119. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/build-manifest.json +11 -0
  120. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route/server-reference-manifest.json +4 -0
  121. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js +10 -0
  122. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.map +5 -0
  123. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route.js.nft.json +1 -0
  124. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/cancel/route_client-reference-manifest.js +2 -0
  125. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/app-paths-manifest.json +3 -0
  126. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/build-manifest.json +11 -0
  127. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route/server-reference-manifest.json +4 -0
  128. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js +10 -0
  129. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.map +5 -0
  130. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route.js.nft.json +1 -0
  131. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/route_client-reference-manifest.js +2 -0
  132. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/app-paths-manifest.json +3 -0
  133. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/build-manifest.json +11 -0
  134. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route/server-reference-manifest.json +4 -0
  135. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js +10 -0
  136. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.map +5 -0
  137. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route.js.nft.json +1 -0
  138. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/[id]/runs/route_client-reference-manifest.js +2 -0
  139. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/app-paths-manifest.json +3 -0
  140. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/build-manifest.json +11 -0
  141. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route/server-reference-manifest.json +4 -0
  142. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js +9 -0
  143. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.map +5 -0
  144. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route.js.nft.json +1 -0
  145. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/agents/route_client-reference-manifest.js +2 -0
  146. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/app-paths-manifest.json +3 -0
  147. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/build-manifest.json +11 -0
  148. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route/server-reference-manifest.json +4 -0
  149. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js +12 -0
  150. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.map +5 -0
  151. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route.js.nft.json +1 -0
  152. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/poll/route_client-reference-manifest.js +2 -0
  153. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/app-paths-manifest.json +3 -0
  154. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/build-manifest.json +11 -0
  155. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route/server-reference-manifest.json +4 -0
  156. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js +10 -0
  157. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.map +5 -0
  158. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route.js.nft.json +1 -0
  159. package/cloud-runtime/standalone/.next/server/app/api/prompt-jobs/route_client-reference-manifest.js +2 -0
  160. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js +4 -3
  161. package/cloud-runtime/standalone/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  162. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js +6 -6
  163. package/cloud-runtime/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js +1 -1
  165. package/cloud-runtime/standalone/.next/server/app/api/repos/[id]/knowledge/route.js.nft.json +1 -1
  166. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js +4 -5
  167. package/cloud-runtime/standalone/.next/server/app/api/schedules/debug/route.js.nft.json +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js +3 -4
  169. package/cloud-runtime/standalone/.next/server/app/api/schedules/poll/route.js.nft.json +1 -1
  170. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js +3 -4
  171. package/cloud-runtime/standalone/.next/server/app/api/schedules/route.js.nft.json +1 -1
  172. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/app-paths-manifest.json +3 -0
  173. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/build-manifest.json +11 -0
  174. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route/server-reference-manifest.json +4 -0
  175. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js +8 -0
  176. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.map +5 -0
  177. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route.js.nft.json +1 -0
  178. package/cloud-runtime/standalone/.next/server/app/api/skills/assign/route_client-reference-manifest.js +2 -0
  179. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/app-paths-manifest.json +3 -0
  180. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/build-manifest.json +11 -0
  181. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route/server-reference-manifest.json +4 -0
  182. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js +8 -0
  183. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.map +5 -0
  184. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route.js.nft.json +1 -0
  185. package/cloud-runtime/standalone/.next/server/app/api/skills/available/route_client-reference-manifest.js +2 -0
  186. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/app-paths-manifest.json +3 -0
  187. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/build-manifest.json +11 -0
  188. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route/server-reference-manifest.json +4 -0
  189. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js +8 -0
  190. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.map +5 -0
  191. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route.js.nft.json +1 -0
  192. package/cloud-runtime/standalone/.next/server/app/api/skills/detail/route_client-reference-manifest.js +2 -0
  193. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/app-paths-manifest.json +3 -0
  194. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/build-manifest.json +11 -0
  195. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route/server-reference-manifest.json +4 -0
  196. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js +8 -0
  197. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.map +5 -0
  198. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route.js.nft.json +1 -0
  199. package/cloud-runtime/standalone/.next/server/app/api/skills/history/route_client-reference-manifest.js +2 -0
  200. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/app-paths-manifest.json +3 -0
  201. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/build-manifest.json +11 -0
  202. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route/server-reference-manifest.json +4 -0
  203. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js +8 -0
  204. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.map +5 -0
  205. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route.js.nft.json +1 -0
  206. package/cloud-runtime/standalone/.next/server/app/api/skills/learn/route_client-reference-manifest.js +2 -0
  207. package/cloud-runtime/standalone/.next/server/app/api/skills/route/app-paths-manifest.json +3 -0
  208. package/cloud-runtime/standalone/.next/server/app/api/skills/route/build-manifest.json +11 -0
  209. package/cloud-runtime/standalone/.next/server/app/api/skills/route/server-reference-manifest.json +4 -0
  210. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js +8 -0
  211. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.map +5 -0
  212. package/cloud-runtime/standalone/.next/server/app/api/skills/route.js.nft.json +1 -0
  213. package/cloud-runtime/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +2 -0
  214. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/app-paths-manifest.json +3 -0
  215. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/build-manifest.json +11 -0
  216. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route/server-reference-manifest.json +4 -0
  217. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js +8 -0
  218. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.map +5 -0
  219. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route.js.nft.json +1 -0
  220. package/cloud-runtime/standalone/.next/server/app/api/skills/unlearn/route_client-reference-manifest.js +2 -0
  221. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js +4 -4
  222. package/cloud-runtime/standalone/.next/server/app/api/summarize/route.js.nft.json +1 -1
  223. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js +4 -4
  224. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  225. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js +2 -2
  226. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  227. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js +1 -1
  228. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  229. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js +5 -5
  230. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  231. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js +1 -1
  232. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  233. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js +1 -1
  234. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  235. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js +1 -1
  236. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  237. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js +1 -1
  238. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  239. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js +1 -1
  240. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  241. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js +1 -1
  242. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  243. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  245. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js +1 -1
  246. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  247. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js +1 -1
  248. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  249. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js +1 -1
  250. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/schedule/route.js.nft.json +1 -1
  251. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js +1 -1
  252. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  253. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js +1 -1
  254. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  255. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js +1 -1
  256. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  257. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js +1 -1
  258. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  259. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js +1 -1
  260. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  261. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js +1 -1
  262. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  263. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js +1 -1
  264. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  265. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js +1 -1
  266. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  267. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js +1 -1
  268. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  269. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js +1 -1
  270. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  271. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js +1 -1
  272. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  273. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js +6 -6
  274. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  275. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js +4 -4
  276. package/cloud-runtime/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  277. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js +1 -1
  278. package/cloud-runtime/standalone/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  279. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js +4 -4
  280. package/cloud-runtime/standalone/.next/server/app/api/tasks/extract/route.js.nft.json +1 -1
  281. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js +6 -6
  282. package/cloud-runtime/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  283. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/app-paths-manifest.json +3 -0
  284. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/build-manifest.json +11 -0
  285. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route/server-reference-manifest.json +4 -0
  286. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js +7 -0
  287. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.map +5 -0
  288. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route.js.nft.json +1 -0
  289. package/cloud-runtime/standalone/.next/server/app/api/thread-repos/route_client-reference-manifest.js +2 -0
  290. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js +3 -3
  291. package/cloud-runtime/standalone/.next/server/app/api/threads/knowledge/route.js.nft.json +1 -1
  292. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js +3 -3
  293. package/cloud-runtime/standalone/.next/server/app/api/threads/route.js.nft.json +1 -1
  294. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js +1 -1
  295. package/cloud-runtime/standalone/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  296. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
  297. package/cloud-runtime/standalone/.next/server/app/automations/page/react-loadable-manifest.json +8 -1
  298. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  299. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  300. package/cloud-runtime/standalone/.next/server/app/automations.html +2 -2
  301. package/cloud-runtime/standalone/.next/server/app/automations.rsc +4 -4
  302. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +4 -4
  303. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +1 -1
  304. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +2 -2
  305. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  306. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +3 -3
  307. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +1 -1
  308. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
  309. package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
  310. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  311. package/cloud-runtime/standalone/.next/server/app/board.html +2 -2
  312. package/cloud-runtime/standalone/.next/server/app/board.rsc +2 -2
  313. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +2 -2
  314. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +1 -1
  315. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +2 -2
  316. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  317. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  318. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +1 -1
  319. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
  320. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  321. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  322. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +2 -2
  323. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +3 -3
  324. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  325. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  326. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  327. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  328. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  329. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  330. package/cloud-runtime/standalone/.next/server/app/index.html +2 -2
  331. package/cloud-runtime/standalone/.next/server/app/index.rsc +5 -5
  332. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  333. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +5 -5
  334. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  335. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  336. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +4 -4
  337. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
  338. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  339. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  340. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/app-paths-manifest.json +3 -0
  341. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/build-manifest.json +18 -0
  342. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/next-font-manifest.json +11 -0
  343. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/react-loadable-manifest.json +8 -0
  344. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page/server-reference-manifest.json +4 -0
  345. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js +16 -0
  346. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.map +5 -0
  347. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page.js.nft.json +1 -0
  348. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/automations/page_client-reference-manifest.js +2 -0
  349. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
  350. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  351. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  352. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page/build-manifest.json +4 -4
  353. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page.js.nft.json +1 -1
  354. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/knowledge/page_client-reference-manifest.js +1 -1
  355. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
  356. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  357. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  358. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page/build-manifest.json +4 -4
  359. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page.js.nft.json +1 -1
  360. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/thread/[threadId]/page_client-reference-manifest.js +1 -1
  361. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
  362. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  363. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  364. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +2 -2
  365. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +3 -3
  366. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  367. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  368. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  369. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  370. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  371. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  372. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  373. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
  374. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  375. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  376. package/cloud-runtime/standalone/.next/server/app/projects.html +2 -2
  377. package/cloud-runtime/standalone/.next/server/app/projects.rsc +3 -3
  378. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  379. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  380. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  381. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  382. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  383. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  384. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
  385. package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  386. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  387. package/cloud-runtime/standalone/.next/server/app/settings.html +2 -2
  388. package/cloud-runtime/standalone/.next/server/app/settings.rsc +3 -3
  389. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  390. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  391. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  392. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  393. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  394. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  395. package/cloud-runtime/standalone/.next/server/app/skills/page/app-paths-manifest.json +3 -0
  396. package/cloud-runtime/standalone/.next/server/app/skills/page/build-manifest.json +18 -0
  397. package/cloud-runtime/standalone/.next/server/app/skills/page/next-font-manifest.json +11 -0
  398. package/cloud-runtime/standalone/.next/server/app/skills/page/react-loadable-manifest.json +1 -0
  399. package/cloud-runtime/standalone/.next/server/app/skills/page/server-reference-manifest.json +4 -0
  400. package/cloud-runtime/standalone/.next/server/app/skills/page.js +15 -0
  401. package/cloud-runtime/standalone/.next/server/app/skills/page.js.map +5 -0
  402. package/cloud-runtime/standalone/.next/server/app/skills/page.js.nft.json +1 -0
  403. package/cloud-runtime/standalone/.next/server/app/skills/page_client-reference-manifest.js +2 -0
  404. package/cloud-runtime/standalone/.next/server/app/skills.html +21 -0
  405. package/cloud-runtime/standalone/.next/server/app/skills.meta +15 -0
  406. package/cloud-runtime/standalone/.next/server/app/skills.rsc +23 -0
  407. package/cloud-runtime/standalone/.next/server/app/skills.segments/_full.segment.rsc +23 -0
  408. package/cloud-runtime/standalone/.next/server/app/skills.segments/_head.segment.rsc +5 -0
  409. package/cloud-runtime/standalone/.next/server/app/skills.segments/_index.segment.rsc +9 -0
  410. package/cloud-runtime/standalone/.next/server/app/skills.segments/_tree.segment.rsc +5 -0
  411. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills/__PAGE__.segment.rsc +9 -0
  412. package/cloud-runtime/standalone/.next/server/app/skills.segments/skills.segment.rsc +4 -0
  413. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
  414. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  415. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  416. package/cloud-runtime/standalone/.next/server/app/status.html +2 -2
  417. package/cloud-runtime/standalone/.next/server/app/status.rsc +3 -3
  418. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +3 -3
  419. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +1 -1
  420. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +2 -2
  421. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  422. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  423. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +1 -1
  424. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
  425. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  426. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  427. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
  428. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  429. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  430. package/cloud-runtime/standalone/.next/server/app/welcome.html +2 -2
  431. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +3 -3
  432. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +3 -3
  433. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +1 -1
  434. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +2 -2
  435. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  436. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +2 -2
  437. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +1 -1
  438. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +18 -0
  439. package/cloud-runtime/standalone/.next/server/chunks/[externals]__cf9f18a6._.js +3 -0
  440. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c5634f17._.js → [root-of-the-server]__005b3c82._.js} +2 -2
  441. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e446cb39._.js → [root-of-the-server]__056d94e4._.js} +2 -2
  442. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__06634853._.js +80 -0
  443. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__068b4f08._.js +15 -0
  444. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0b3b6a47._.js +51 -0
  445. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0bb52353._.js +46 -0
  446. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0f580808._.js +13 -0
  447. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c26221d._.js → [root-of-the-server]__1a8e0957._.js} +2 -2
  448. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__1cc2fe7f._.js +3 -0
  449. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__c08bef05._.js → [root-of-the-server]__23ad03bf._.js} +2 -2
  450. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__29419d66._.js +42 -0
  451. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6c187704._.js → [root-of-the-server]__2948f712._.js} +2 -2
  452. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__86f7d27b._.js → [root-of-the-server]__32ef6623._.js} +2 -2
  453. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__399b2ca9._.js → [root-of-the-server]__34cb1b98._.js} +2 -2
  454. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__1dd062c1._.js → [root-of-the-server]__3c1567b6._.js} +2 -2
  455. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__29ce9c60._.js → [root-of-the-server]__3c37453e._.js} +2 -2
  456. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__507a4363._.js → [root-of-the-server]__3faa64cd._.js} +2 -2
  457. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__42497c7b._.js +80 -0
  458. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__10940c29._.js → [root-of-the-server]__49c03d66._.js} +2 -2
  459. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__b40c7aab._.js → [root-of-the-server]__4a8d14c1._.js} +2 -2
  460. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__75bff965._.js → [root-of-the-server]__4c861686._.js} +2 -2
  461. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d865017._.js +48 -0
  462. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__5031f8d4._.js +30 -0
  463. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__543ba6c4._.js +1 -1
  464. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__94fa1edc._.js → [root-of-the-server]__588b6ab0._.js} +2 -2
  465. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__ccfcbcd5._.js → [root-of-the-server]__596d0e81._.js} +2 -2
  466. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__9dfaaf72._.js → [root-of-the-server]__61c99680._.js} +2 -2
  467. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__64712846._.js +3 -0
  468. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__707c32af._.js +15 -0
  469. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7370bb86._.js +8 -0
  470. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__749af50f._.js +8 -0
  471. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__75cedecf._.js +6 -0
  472. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__98535eb3._.js → [root-of-the-server]__7e79d86a._.js} +2 -2
  473. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__dede3dcd._.js → [root-of-the-server]__7ee9b7b6._.js} +2 -2
  474. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__8ac0286e._.js +58 -0
  475. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__13677d96._.js → [root-of-the-server]__8b0ab82f._.js} +2 -2
  476. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5b93200._.js → [root-of-the-server]__8b461158._.js} +2 -2
  477. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__918f0106._.js +80 -0
  478. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__922eb7cd._.js +80 -0
  479. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__927cfc20._.js +3 -0
  480. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__96ae701e._.js +3 -0
  481. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__981d92dd._.js +63 -0
  482. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__98b352f7._.js +13 -0
  483. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a44db634._.js +8 -0
  484. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a55c16a5._.js +158 -0
  485. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e6ad07c3._.js → [root-of-the-server]__a67cd108._.js} +2 -2
  486. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ab2bf82d._.js +13 -0
  487. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d8cedc8a._.js → [root-of-the-server]__abb032c1._.js} +2 -2
  488. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__6e59b27c._.js → [root-of-the-server]__b4931ee1._.js} +2 -2
  489. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__e122cae2._.js → [root-of-the-server]__b500f1bf._.js} +2 -2
  490. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__5ca87ba0._.js → [root-of-the-server]__b707e701._.js} +2 -2
  491. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f4b70b67._.js → [root-of-the-server]__be4ad4b5._.js} +2 -2
  492. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bf5803eb._.js +13 -0
  493. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c0a18648._.js +80 -0
  494. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c8b49077._.js +79 -0
  495. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__c99509c2._.js +101 -0
  496. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ccd4846e._.js +13 -0
  497. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ceb02db8._.js +1 -1
  498. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d4126e05._.js +15 -0
  499. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__d908c9ea._.js +8 -0
  500. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2388b2b3._.js → [root-of-the-server]__dcdeee3d._.js} +2 -2
  501. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__80655727._.js → [root-of-the-server]__e069c0a3._.js} +2 -2
  502. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__f5a2358a._.js → [root-of-the-server]__e1e51c02._.js} +2 -2
  503. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e3a4fd97._.js +13 -0
  504. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e4a87984._.js +15 -0
  505. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ee6511a0._.js +44 -0
  506. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__12afd8a3._.js → [root-of-the-server]__ef82dda1._.js} +2 -2
  507. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__f168c6dc._.js +25 -0
  508. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__2e596cc8._.js → [root-of-the-server]__fee58db1._.js} +2 -2
  509. package/cloud-runtime/standalone/.next/server/chunks/_5462a047._.js +3 -0
  510. package/cloud-runtime/standalone/.next/server/chunks/_5fd6af5d._.js +57 -0
  511. package/cloud-runtime/standalone/.next/server/chunks/_c965f7b3._.js +3 -0
  512. package/cloud-runtime/standalone/.next/server/chunks/_d225c04f._.js +1 -1
  513. package/cloud-runtime/standalone/.next/server/chunks/{_3e0d34cc._.js → _d22934ab._.js} +24 -24
  514. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_pick-folder_route_actions_162664ff.js +3 -0
  515. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_knowledge-notes_route_actions_0ddf6109.js +3 -0
  516. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_cancel_route_actions_fbd5be89.js +3 -0
  517. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_route_actions_774a2e21.js +3 -0
  518. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_[id]_runs_route_actions_6e59ee83.js +3 -0
  519. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_agents_route_actions_399e1f19.js +3 -0
  520. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_poll_route_actions_23fbbfa1.js +3 -0
  521. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_prompt-jobs_route_actions_acf03860.js +3 -0
  522. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_assign_route_actions_15267be8.js +3 -0
  523. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_available_route_actions_24023111.js +3 -0
  524. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_detail_route_actions_1148baef.js +3 -0
  525. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_history_route_actions_5e5c4757.js +3 -0
  526. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_learn_route_actions_d3a37d25.js +3 -0
  527. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_route_actions_780e175f.js +3 -0
  528. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_skills_unlearn_route_actions_3dfee433.js +3 -0
  529. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_thread-repos_route_actions_e95d24ee.js +3 -0
  530. package/cloud-runtime/standalone/.next/server/chunks/lib_87c06aeb._.js +25 -0
  531. package/cloud-runtime/standalone/.next/server/chunks/lib_a5adca60._.js +64 -0
  532. package/cloud-runtime/standalone/.next/server/chunks/lib_db_ts_e06c6085._.js +1 -1
  533. package/cloud-runtime/standalone/.next/server/chunks/lib_ea45fe73._.js +1 -1
  534. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +50 -37
  535. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +50 -37
  536. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_3ea4d849._.js +38 -11
  537. package/cloud-runtime/standalone/.next/server/chunks/lib_sqlite-query-adapter_ts_b0b1a9b2._.js +43 -16
  538. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_371d0bff.js +19 -19
  539. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_def8bfbe.js +10 -0
  540. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_55c06268._.js +4 -3
  541. package/cloud-runtime/standalone/.next/server/chunks/src_graph_executor_ts_a8bc8d58._.js +4 -3
  542. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__096c39a3._.js +3 -0
  543. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +1 -1
  544. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  545. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  546. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__67d5f883._.js +3 -0
  547. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8b4e7816._.js +3 -0
  548. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8fe8b9dd._.js +3 -0
  549. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a37fb1c3._.js +3 -0
  550. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a456581d._.js +3 -0
  551. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__d74022f1._.js +3 -0
  552. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fcbe03e6._.js → [root-of-the-server]__e0c64529._.js} +2 -2
  553. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ea035cd9._.js +3 -0
  554. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffbc2e98._.js +2 -2
  555. package/cloud-runtime/standalone/.next/server/chunks/ssr/_05c8a494._.js +3 -0
  556. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0c5c111f._.js +3 -0
  557. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +1 -1
  558. package/cloud-runtime/standalone/.next/server/chunks/ssr/_23656a95._.js +3 -0
  559. package/cloud-runtime/standalone/.next/server/chunks/ssr/_23f5fddc._.js +3 -0
  560. package/cloud-runtime/standalone/.next/server/chunks/ssr/_24feb541._.js +4 -0
  561. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27a789b3._.js +3 -0
  562. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_508cd32f._.js → _314f4c49._.js} +2 -2
  563. package/cloud-runtime/standalone/.next/server/chunks/ssr/_36b413cc._.js +3 -0
  564. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
  565. package/cloud-runtime/standalone/.next/server/chunks/ssr/_46e00a9b._.js +95 -0
  566. package/cloud-runtime/standalone/.next/server/chunks/ssr/_478f4991._.js +3 -0
  567. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4bfdfb14._.js +3 -0
  568. package/cloud-runtime/standalone/.next/server/chunks/ssr/_52fe115d._.js +3 -0
  569. package/cloud-runtime/standalone/.next/server/chunks/ssr/_547b6462._.js +4 -0
  570. package/cloud-runtime/standalone/.next/server/chunks/ssr/_547f19ec._.js +3 -0
  571. package/cloud-runtime/standalone/.next/server/chunks/ssr/_85ca101b._.js +2 -2
  572. package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +1 -1
  573. package/cloud-runtime/standalone/.next/server/chunks/ssr/_9e07dcac._.js +95 -0
  574. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a1b966f7._.js +3 -0
  575. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a68d8f62._.js +3 -0
  576. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a80e12c8._.js +3 -0
  577. package/cloud-runtime/standalone/.next/server/chunks/ssr/_b1e1ef71._.js +95 -0
  578. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1349560._.js +3 -0
  579. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_projects_[slug]_automations_page_actions_9371bc66.js +3 -0
  580. package/cloud-runtime/standalone/.next/server/chunks/ssr/_next-internal_server_app_skills_page_actions_4ac82b1e.js +3 -0
  581. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
  582. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
  583. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  584. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_knowledge_page_tsx_e2a55cbd._.js +1 -1
  585. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +4 -5
  586. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  587. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_lucide-react_dist_esm_e70f9321._.js → node_modules_lucide-react_dist_esm_b82e03da._.js} +2 -2
  588. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_61a87db9._.js +3 -0
  589. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_920e7746._.js → node_modules_next_f2865b38._.js} +2 -2
  590. package/cloud-runtime/standalone/.next/server/functions-config-manifest.json +15 -0
  591. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
  592. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  593. package/cloud-runtime/standalone/.next/server/next-font-manifest.js +1 -1
  594. package/cloud-runtime/standalone/.next/server/next-font-manifest.json +8 -0
  595. package/cloud-runtime/standalone/.next/server/pages/404.html +2 -2
  596. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  597. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  598. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  599. package/cloud-runtime/standalone/.next/static/chunks/01428247f94115a6.js +1 -0
  600. package/cloud-runtime/standalone/.next/static/chunks/06cf0ed16bf8aa70.js +28 -0
  601. package/cloud-runtime/standalone/.next/static/chunks/19dd745b663fdffa.js +1 -0
  602. package/cloud-runtime/standalone/.next/static/chunks/1a3298f21d1040e9.js +4 -0
  603. package/cloud-runtime/standalone/.next/static/chunks/1c8583feefee0765.js +1 -0
  604. package/cloud-runtime/standalone/.next/static/chunks/1e3dede69b464364.js +1 -0
  605. package/cloud-runtime/standalone/.next/static/chunks/238a28856e739dc9.js +2 -0
  606. package/cloud-runtime/standalone/.next/static/chunks/24772e179852c73e.js +1 -0
  607. package/cloud-runtime/standalone/.next/static/chunks/2d1d138d8ea3234c.css +1 -0
  608. package/cloud-runtime/standalone/.next/static/chunks/2e011469003993e9.js +28 -0
  609. package/cloud-runtime/standalone/.next/static/chunks/31a4164e40ca71e5.js +6 -0
  610. package/cloud-runtime/standalone/.next/static/chunks/3a55441b018d52e4.js +1 -0
  611. package/cloud-runtime/standalone/.next/static/chunks/3c202e89da05d9b9.js +1 -0
  612. package/cloud-runtime/standalone/.next/static/chunks/3c72becf6dff5597.js +1 -0
  613. package/cloud-runtime/standalone/.next/static/chunks/44dafb5e85578e12.js +16 -0
  614. package/cloud-runtime/standalone/.next/static/chunks/47f22a56011af8d3.js +1 -0
  615. package/cloud-runtime/standalone/.next/static/chunks/48e332ac3e9ed56c.js +1 -0
  616. package/cloud-runtime/standalone/.next/static/chunks/5b567b289ca2273e.css +1 -0
  617. package/cloud-runtime/standalone/.next/static/chunks/5d52c79d9812d06e.js +1 -0
  618. package/cloud-runtime/standalone/.next/static/chunks/617db51b7444f818.js +1 -0
  619. package/cloud-runtime/standalone/.next/static/chunks/673bb6094cea9ded.js +1 -0
  620. package/cloud-runtime/standalone/.next/static/chunks/787436fad75f5bc6.js +5 -0
  621. package/cloud-runtime/standalone/.next/static/chunks/8304e8487aa74059.css +2 -0
  622. package/cloud-runtime/standalone/.next/static/chunks/8a4684388ca0f6de.js +7 -0
  623. package/cloud-runtime/standalone/.next/static/chunks/9f236cc9572783b9.js +93 -0
  624. package/cloud-runtime/standalone/.next/static/chunks/a9aaec85125f69b1.js +1 -0
  625. package/cloud-runtime/standalone/.next/static/chunks/b4c29a62f9255268.js +1 -0
  626. package/cloud-runtime/standalone/.next/static/chunks/bf2bb1662353aff5.js +1 -0
  627. package/cloud-runtime/standalone/.next/static/chunks/c1fb885eed94aa8c.js +1 -0
  628. package/cloud-runtime/standalone/.next/static/chunks/c653186036e56204.js +1 -0
  629. package/cloud-runtime/standalone/.next/static/chunks/cb5581d868e78205.js +1 -0
  630. package/cloud-runtime/standalone/.next/static/chunks/cbdeb17a36b99000.js +1 -0
  631. package/cloud-runtime/standalone/.next/static/chunks/d5cc62984dc4205c.js +1 -0
  632. package/cloud-runtime/standalone/.next/static/chunks/d73f1cc3ebc9993b.js +1 -0
  633. package/cloud-runtime/standalone/.next/static/chunks/{88e24940a5d5d386.js → d78cc7d749043fef.js} +1 -1
  634. package/cloud-runtime/standalone/.next/static/chunks/{8d15ced2dc70090a.js → da2b00558cf32f37.js} +1 -1
  635. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-97e846241a3a64af.js → turbopack-22475f0dd0c18f92.js} +1 -1
  636. package/cloud-runtime/standalone/app/agents/[id]/page.tsx +4 -1
  637. package/cloud-runtime/standalone/app/agents/page.tsx +22 -2
  638. package/cloud-runtime/standalone/app/api/agent-specs/route.ts +4 -0
  639. package/cloud-runtime/standalone/app/api/agents/export/route.ts +4 -0
  640. package/cloud-runtime/standalone/app/api/chat/route.ts +44 -2
  641. package/cloud-runtime/standalone/app/api/filesystem/pick-folder/route.ts +56 -0
  642. package/cloud-runtime/standalone/app/api/knowledge-notes/route.ts +53 -0
  643. package/cloud-runtime/standalone/app/api/participants/route.ts +50 -1
  644. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/cancel/route.ts +44 -0
  645. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/route.ts +94 -0
  646. package/cloud-runtime/standalone/app/api/prompt-jobs/[id]/runs/route.ts +30 -0
  647. package/cloud-runtime/standalone/app/api/prompt-jobs/agents/route.ts +25 -0
  648. package/cloud-runtime/standalone/app/api/prompt-jobs/poll/route.ts +232 -0
  649. package/cloud-runtime/standalone/app/api/prompt-jobs/route.ts +125 -0
  650. package/cloud-runtime/standalone/app/api/skills/assign/route.ts +30 -0
  651. package/cloud-runtime/standalone/app/api/skills/available/route.ts +20 -0
  652. package/cloud-runtime/standalone/app/api/skills/detail/route.ts +23 -0
  653. package/cloud-runtime/standalone/app/api/skills/history/route.ts +18 -0
  654. package/cloud-runtime/standalone/app/api/skills/learn/route.ts +31 -0
  655. package/cloud-runtime/standalone/app/api/skills/route.ts +19 -0
  656. package/cloud-runtime/standalone/app/api/skills/unlearn/route.ts +30 -0
  657. package/cloud-runtime/standalone/app/api/thread-repos/route.ts +30 -0
  658. package/cloud-runtime/standalone/app/automations/page.tsx +15 -3
  659. package/cloud-runtime/standalone/app/execution-graph/page.tsx +2 -2
  660. package/cloud-runtime/standalone/app/globals.css +2 -0
  661. package/cloud-runtime/standalone/app/layout.tsx +1 -1
  662. package/cloud-runtime/standalone/app/projects/[slug]/automations/page.tsx +17 -0
  663. package/cloud-runtime/standalone/app/projects/[slug]/knowledge/page.tsx +210 -26
  664. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +3 -2
  665. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +401 -86
  666. package/cloud-runtime/standalone/app/projects/orphans/page.tsx +1 -0
  667. package/cloud-runtime/standalone/app/projects/page.tsx +3 -3
  668. package/cloud-runtime/standalone/app/skills/page.tsx +399 -0
  669. package/cloud-runtime/standalone/components/FloatingPanel.tsx +200 -0
  670. package/cloud-runtime/standalone/components/Layout.tsx +7 -1
  671. package/cloud-runtime/standalone/components/NowRunningPanel.tsx +86 -76
  672. package/cloud-runtime/standalone/components/ProjectModal.tsx +29 -12
  673. package/cloud-runtime/standalone/components/PromptJobBoard.tsx +1434 -0
  674. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +147 -57
  675. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +215 -19
  676. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +19 -9
  677. package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +233 -213
  678. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +131 -68
  679. package/cloud-runtime/standalone/db/sqlite/001_agx_board_schema.sql +28 -0
  680. package/cloud-runtime/standalone/db/sqlite/002_prompt_scheduler_schema.sql +45 -0
  681. package/cloud-runtime/standalone/db/sqlite/003_prompt_scheduler_v2.sql +13 -0
  682. package/cloud-runtime/standalone/hooks/useAttachments.ts +2 -1
  683. package/cloud-runtime/standalone/hooks/useGroupChat.ts +8 -1
  684. package/cloud-runtime/standalone/hooks/useProcessPolling.ts +4 -3
  685. package/cloud-runtime/standalone/hooks/usePromptJobs.ts +111 -0
  686. package/cloud-runtime/standalone/hooks/useThreadState.ts +10 -2
  687. package/cloud-runtime/standalone/lib/agent-participants.ts +7 -0
  688. package/cloud-runtime/standalone/lib/agent-skill-bindings.ts +118 -0
  689. package/cloud-runtime/standalone/lib/chat/paste-attachments.ts +152 -0
  690. package/cloud-runtime/standalone/lib/cli-runner.ts +212 -14
  691. package/cloud-runtime/standalone/lib/db.ts +6 -1
  692. package/cloud-runtime/standalone/lib/debug-log.ts +48 -0
  693. package/cloud-runtime/standalone/lib/history-store.ts +116 -2
  694. package/cloud-runtime/standalone/lib/orchestrator/chat-processor.ts +51 -0
  695. package/cloud-runtime/standalone/lib/orchestrator/runtime.ts +6 -0
  696. package/cloud-runtime/standalone/lib/queue/sqlite-adapter.ts +117 -2
  697. package/cloud-runtime/standalone/lib/skills-library.ts +450 -0
  698. package/cloud-runtime/standalone/lib/sqlite-query-adapter.ts +32 -0
  699. package/cloud-runtime/standalone/lib/stream-multiplexer.ts +59 -11
  700. package/cloud-runtime/standalone/lib/types.ts +10 -0
  701. package/cloud-runtime/standalone/migrations/sqlite_schema.sql +28 -0
  702. package/cloud-runtime/standalone/src/graph/llm-review.ts +19 -2
  703. package/cloud-runtime/standalone/src/prompt-scheduler/cron.ts +46 -0
  704. package/cloud-runtime/standalone/src/prompt-scheduler/engine.ts +87 -0
  705. package/cloud-runtime/standalone/src/prompt-scheduler/get-store.ts +36 -0
  706. package/cloud-runtime/standalone/src/prompt-scheduler/runner.ts +144 -0
  707. package/cloud-runtime/standalone/src/prompt-scheduler/store.ts +327 -0
  708. package/cloud-runtime/standalone/src/prompt-scheduler/types.ts +82 -0
  709. package/cloud-runtime/standalone/state/floatingPanels.ts +47 -0
  710. package/cloud-runtime/standalone/styles/composer-pills.css +156 -2
  711. package/cloud-runtime/standalone/styles/workspaceSidebar.css +5 -3
  712. package/cloud-runtime/standalone/test/adapters/sqlite.ts +1 -0
  713. package/cloud-runtime/standalone/update_officeapp.js +36 -0
  714. package/cloud-runtime/standalone/update_store.js +47 -0
  715. package/cloud-runtime/standalone/worker/index.js +862 -176
  716. package/lib/cli/runCli.js +0 -97
  717. package/lib/commands/update.js +159 -17
  718. package/package.json +1 -1
  719. package/cloud-runtime/standalone/.next/server/chunks/[externals]__1f4b15dd._.js +0 -3
  720. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__0925dd01._.js +0 -46
  721. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__12c7e188._.js +0 -29
  722. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__17c2d68f._.js +0 -52
  723. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__20b3baea._.js +0 -55
  724. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__254e942f._.js +0 -20
  725. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__3198c5c8._.js +0 -52
  726. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__36d9edbd._.js +0 -67
  727. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4761dc17._.js +0 -8
  728. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4b1a512c._.js +0 -52
  729. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4c8624cc._.js +0 -3
  730. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4d318eb0._.js +0 -146
  731. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__4dc25d71._.js +0 -18
  732. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__666f8712._.js +0 -3
  733. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__7be8f159._.js +0 -52
  734. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__a189593a._.js +0 -3
  735. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ac3c2f7f._.js +0 -52
  736. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__bfcedb7c._.js +0 -52
  737. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e1e7dd1e._.js +0 -25
  738. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__e45a2a1d._.js +0 -3
  739. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__fcd3e3b8._.js +0 -15
  740. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__ff9c61da._.js +0 -3
  741. package/cloud-runtime/standalone/.next/server/chunks/_66e1ddec._.js +0 -57
  742. package/cloud-runtime/standalone/.next/server/chunks/lib_09aac4e7._.js +0 -57
  743. package/cloud-runtime/standalone/.next/server/chunks/lib_cli-runner_ts_dfcf3fda._.js +0 -18
  744. package/cloud-runtime/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_69b6b2e1.js +0 -3
  745. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__1322ced8._.js +0 -3
  746. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__783669c3._.js +0 -3
  747. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__8973b16a._.js +0 -3
  748. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__9166c1d6._.js +0 -3
  749. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__a8a8afdc._.js +0 -3
  750. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0061ebd8._.js +0 -3
  751. package/cloud-runtime/standalone/.next/server/chunks/ssr/_064370bc._.js +0 -3
  752. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0f4e70b1._.js +0 -3
  753. package/cloud-runtime/standalone/.next/server/chunks/ssr/_16c45024._.js +0 -3
  754. package/cloud-runtime/standalone/.next/server/chunks/ssr/_54af99c5._.js +0 -3
  755. package/cloud-runtime/standalone/.next/server/chunks/ssr/_5b2b8a85._.js +0 -95
  756. package/cloud-runtime/standalone/.next/server/chunks/ssr/_68ac991e._.js +0 -95
  757. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6de3f1de._.js +0 -3
  758. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6fc3736e._.js +0 -95
  759. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a0cc0fe7._.js +0 -3
  760. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ccb409c5._.js +0 -3
  761. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +0 -3
  762. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fb292eed._.js +0 -3
  763. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ff5799d6._.js +0 -95
  764. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +0 -3
  765. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_678fa868._.js +0 -3
  766. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_852965c2._.js +0 -3
  767. package/cloud-runtime/standalone/.next/static/chunks/010aff7b601302de.js +0 -16
  768. package/cloud-runtime/standalone/.next/static/chunks/09f9eeea393db0fd.js +0 -4
  769. package/cloud-runtime/standalone/.next/static/chunks/0c467f54bc78a380.js +0 -1
  770. package/cloud-runtime/standalone/.next/static/chunks/10b0642440302e99.css +0 -2
  771. package/cloud-runtime/standalone/.next/static/chunks/1f415d0ce7ebbd08.js +0 -8
  772. package/cloud-runtime/standalone/.next/static/chunks/24a6ee21f430da93.js +0 -1
  773. package/cloud-runtime/standalone/.next/static/chunks/27129bea5b512ce8.js +0 -1
  774. package/cloud-runtime/standalone/.next/static/chunks/3e4e8857f875c964.js +0 -1
  775. package/cloud-runtime/standalone/.next/static/chunks/4200b512bdc226bc.js +0 -93
  776. package/cloud-runtime/standalone/.next/static/chunks/463edf3533d27a56.js +0 -1
  777. package/cloud-runtime/standalone/.next/static/chunks/486bf7ff282b91a6.js +0 -5
  778. package/cloud-runtime/standalone/.next/static/chunks/58025a80caa3629d.js +0 -93
  779. package/cloud-runtime/standalone/.next/static/chunks/5cb0c885b085ea6c.js +0 -1
  780. package/cloud-runtime/standalone/.next/static/chunks/60c054bb8b2cffa6.css +0 -1
  781. package/cloud-runtime/standalone/.next/static/chunks/651c7c97d3bd77e0.js +0 -28
  782. package/cloud-runtime/standalone/.next/static/chunks/6fbe08eab578c7d3.js +0 -93
  783. package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +0 -1
  784. package/cloud-runtime/standalone/.next/static/chunks/7e2edf97bd6c0874.js +0 -1
  785. package/cloud-runtime/standalone/.next/static/chunks/8249f202d33d0d95.js +0 -1
  786. package/cloud-runtime/standalone/.next/static/chunks/87f099ea02aa419d.js +0 -93
  787. package/cloud-runtime/standalone/.next/static/chunks/9048e44ed538b21a.js +0 -2
  788. package/cloud-runtime/standalone/.next/static/chunks/99174504a201d23e.js +0 -28
  789. package/cloud-runtime/standalone/.next/static/chunks/9f8f719c4aa25e3d.js +0 -1
  790. package/cloud-runtime/standalone/.next/static/chunks/a66e1891e808a664.js +0 -1
  791. package/cloud-runtime/standalone/.next/static/chunks/a8e8ef440c4daa5a.css +0 -1
  792. package/cloud-runtime/standalone/.next/static/chunks/bc727d3d9993e9be.js +0 -1
  793. package/cloud-runtime/standalone/.next/static/chunks/cd308f61797939cd.js +0 -6
  794. package/cloud-runtime/standalone/.next/static/chunks/d5d6be8239e57c56.js +0 -1
  795. package/cloud-runtime/standalone/.next/static/chunks/e62d5fa120fdf21f.js +0 -1
  796. package/cloud-runtime/standalone/agx-board.json +0 -264
  797. package/cloud-runtime/standalone/agx-cli.json +0 -2195
  798. package/cloud-runtime/standalone/fix-primary.js +0 -30
  799. package/cloud-runtime/standalone/fix-theme.js +0 -78
  800. package/cloud-runtime/standalone/test-file +0 -0
  801. package/cloud-runtime/standalone/testfile +0 -0
  802. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_buildManifest.js +0 -0
  803. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_clientMiddlewareManifest.json +0 -0
  804. /package/cloud-runtime/standalone/.next/static/{i_9nSHyb52FGkCbRgv7EJ → G0Hrt7JKBM1EtMPT0lUIr}/_ssgManifest.js +0 -0
@@ -86,20 +86,20 @@ var require_file_uri_to_path = __commonJS({
86
86
  var rest = decodeURI(uri.substring(7));
87
87
  var firstSlash = rest.indexOf("/");
88
88
  var host = rest.substring(0, firstSlash);
89
- var path8 = rest.substring(firstSlash + 1);
89
+ var path11 = rest.substring(firstSlash + 1);
90
90
  if ("localhost" == host) host = "";
91
91
  if (host) {
92
92
  host = sep + sep + host;
93
93
  }
94
- path8 = path8.replace(/^(.+)\|/, "$1:");
94
+ path11 = path11.replace(/^(.+)\|/, "$1:");
95
95
  if (sep == "\\") {
96
- path8 = path8.replace(/\//g, "\\");
96
+ path11 = path11.replace(/\//g, "\\");
97
97
  }
98
- if (/^.+\:/.test(path8)) {
98
+ if (/^.+\:/.test(path11)) {
99
99
  } else {
100
- path8 = sep + path8;
100
+ path11 = sep + path11;
101
101
  }
102
- return host + path8;
102
+ return host + path11;
103
103
  }
104
104
  }
105
105
  });
@@ -107,19 +107,19 @@ var require_file_uri_to_path = __commonJS({
107
107
  // ../agx-cloud/node_modules/bindings/bindings.js
108
108
  var require_bindings = __commonJS({
109
109
  "../agx-cloud/node_modules/bindings/bindings.js"(exports2, module2) {
110
- var fs5 = require("fs");
111
- var path8 = require("path");
110
+ var fs8 = require("fs");
111
+ var path11 = require("path");
112
112
  var fileURLToPath = require_file_uri_to_path();
113
- var join6 = path8.join;
114
- var dirname = path8.dirname;
115
- var exists = fs5.accessSync && function(path9) {
113
+ var join6 = path11.join;
114
+ var dirname = path11.dirname;
115
+ var exists = fs8.accessSync && function(path12) {
116
116
  try {
117
- fs5.accessSync(path9);
117
+ fs8.accessSync(path12);
118
118
  } catch (e) {
119
119
  return false;
120
120
  }
121
121
  return true;
122
- } || fs5.existsSync || path8.existsSync;
122
+ } || fs8.existsSync || path11.existsSync;
123
123
  var defaults = {
124
124
  arrow: process.env.NODE_BINDINGS_ARROW || " \u2192 ",
125
125
  compiled: process.env.NODE_BINDINGS_COMPILED_DIR || "compiled",
@@ -164,7 +164,7 @@ var require_bindings = __commonJS({
164
164
  if (!opts.module_root) {
165
165
  opts.module_root = exports2.getRoot(exports2.getFileName());
166
166
  }
167
- if (path8.extname(opts.bindings) != ".node") {
167
+ if (path11.extname(opts.bindings) != ".node") {
168
168
  opts.bindings += ".node";
169
169
  }
170
170
  var requireFunc = typeof __webpack_require__ === "function" ? __non_webpack_require__ : require;
@@ -402,11 +402,11 @@ var require_pragma = __commonJS({
402
402
  var require_backup = __commonJS({
403
403
  "../agx-cloud/node_modules/better-sqlite3/lib/methods/backup.js"(exports2, module2) {
404
404
  "use strict";
405
- var fs5 = require("fs");
406
- var path8 = require("path");
405
+ var fs8 = require("fs");
406
+ var path11 = require("path");
407
407
  var { promisify } = require("util");
408
408
  var { cppdb } = require_util();
409
- var fsAccess = promisify(fs5.access);
409
+ var fsAccess = promisify(fs8.access);
410
410
  module2.exports = async function backup(filename, options) {
411
411
  if (options == null) options = {};
412
412
  if (typeof filename !== "string") throw new TypeError("Expected first argument to be a string");
@@ -419,7 +419,7 @@ var require_backup = __commonJS({
419
419
  if (typeof attachedName !== "string") throw new TypeError('Expected the "attached" option to be a string');
420
420
  if (!attachedName) throw new TypeError('The "attached" option cannot be an empty string');
421
421
  if (handler != null && typeof handler !== "function") throw new TypeError('Expected the "progress" option to be a function');
422
- await fsAccess(path8.dirname(filename)).catch(() => {
422
+ await fsAccess(path11.dirname(filename)).catch(() => {
423
423
  throw new TypeError("Cannot save backup because the directory does not exist");
424
424
  });
425
425
  const isNewFile = await fsAccess(filename).then(() => false, () => true);
@@ -724,8 +724,8 @@ var require_inspect = __commonJS({
724
724
  var require_database = __commonJS({
725
725
  "../agx-cloud/node_modules/better-sqlite3/lib/database.js"(exports2, module2) {
726
726
  "use strict";
727
- var fs5 = require("fs");
728
- var path8 = require("path");
727
+ var fs8 = require("fs");
728
+ var path11 = require("path");
729
729
  var util = require_util();
730
730
  var SqliteError = require_sqlite_error();
731
731
  var DEFAULT_ADDON;
@@ -761,7 +761,7 @@ var require_database = __commonJS({
761
761
  addon = DEFAULT_ADDON || (DEFAULT_ADDON = require_bindings()("better_sqlite3.node"));
762
762
  } else if (typeof nativeBinding === "string") {
763
763
  const requireFunc = typeof __non_webpack_require__ === "function" ? __non_webpack_require__ : require;
764
- addon = requireFunc(path8.resolve(nativeBinding).replace(/(\.node)?$/, ".node"));
764
+ addon = requireFunc(path11.resolve(nativeBinding).replace(/(\.node)?$/, ".node"));
765
765
  } else {
766
766
  addon = nativeBinding;
767
767
  }
@@ -769,7 +769,7 @@ var require_database = __commonJS({
769
769
  addon.setErrorConstructor(SqliteError);
770
770
  addon.isInitialized = true;
771
771
  }
772
- if (!anonymous && !filename.startsWith("file:") && !fs5.existsSync(path8.dirname(filename))) {
772
+ if (!anonymous && !filename.startsWith("file:") && !fs8.existsSync(path11.dirname(filename))) {
773
773
  throw new TypeError("Cannot open database because the directory does not exist");
774
774
  }
775
775
  Object.defineProperties(this, {
@@ -966,7 +966,6 @@ var init_startup = __esm({
966
966
  var LOCAL_USER;
967
967
  var init_auth_mode = __esm({
968
968
  "../agx-cloud/lib/auth-mode.ts"() {
969
- "use strict";
970
969
  LOCAL_USER = {
971
970
  id: "2c3cc1ca-956d-4b62-b295-4d2d3374103f",
972
971
  email: process.env.AGX_BOARD_USER_EMAIL || "local@agx.board",
@@ -977,11 +976,11 @@ var init_auth_mode = __esm({
977
976
 
978
977
  // ../agx-cloud/lib/mesh-core/activity.ts
979
978
  function activityPath(agentId) {
980
- return (0, import_path3.join)(AGENTS_DIR, agentId, "activity.jsonl");
979
+ return (0, import_path4.join)(AGENTS_DIR, agentId, "activity.jsonl");
981
980
  }
982
981
  function ensureDir(agentId) {
983
- const dir = (0, import_path3.join)(AGENTS_DIR, agentId);
984
- if (!(0, import_fs3.existsSync)(dir)) (0, import_fs3.mkdirSync)(dir, { recursive: true });
982
+ const dir = (0, import_path4.join)(AGENTS_DIR, agentId);
983
+ if (!(0, import_fs4.existsSync)(dir)) (0, import_fs4.mkdirSync)(dir, { recursive: true });
985
984
  }
986
985
  function logActivity(agentId, action, data) {
987
986
  try {
@@ -992,32 +991,32 @@ function logActivity(agentId, action, data) {
992
991
  action,
993
992
  ...data
994
993
  };
995
- (0, import_fs3.appendFileSync)(activityPath(agentId), JSON.stringify(event) + "\n", "utf-8");
994
+ (0, import_fs4.appendFileSync)(activityPath(agentId), JSON.stringify(event) + "\n", "utf-8");
996
995
  } catch {
997
996
  }
998
997
  }
999
- var import_fs3, import_path3, import_os3, AGENTS_DIR;
998
+ var import_fs4, import_path4, import_os4, AGENTS_DIR;
1000
999
  var init_activity = __esm({
1001
1000
  "../agx-cloud/lib/mesh-core/activity.ts"() {
1002
1001
  "use strict";
1003
- import_fs3 = require("fs");
1004
- import_path3 = require("path");
1005
- import_os3 = require("os");
1006
- AGENTS_DIR = (0, import_path3.join)((0, import_os3.homedir)(), ".agx", "agents");
1002
+ import_fs4 = require("fs");
1003
+ import_path4 = require("path");
1004
+ import_os4 = require("os");
1005
+ AGENTS_DIR = (0, import_path4.join)((0, import_os4.homedir)(), ".agx", "agents");
1007
1006
  }
1008
1007
  });
1009
1008
 
1010
1009
  // ../agx-cloud/lib/mesh-core/self.ts
1011
1010
  function selfPath(agentId) {
1012
- return (0, import_path4.join)(AGENTS_DIR2, agentId, "self.md");
1011
+ return (0, import_path5.join)(AGENTS_DIR2, agentId, "self.md");
1013
1012
  }
1014
1013
  function reflectionStatePath(agentId) {
1015
- return (0, import_path4.join)(AGENTS_DIR2, agentId, "reflection-state.json");
1014
+ return (0, import_path5.join)(AGENTS_DIR2, agentId, "reflection-state.json");
1016
1015
  }
1017
1016
  function readSelf(agentId) {
1018
- const path8 = selfPath(agentId);
1019
- if (!(0, import_fs4.existsSync)(path8)) return null;
1020
- const raw = (0, import_fs4.readFileSync)(path8, "utf-8");
1017
+ const path11 = selfPath(agentId);
1018
+ if (!(0, import_fs5.existsSync)(path11)) return null;
1019
+ const raw = (0, import_fs5.readFileSync)(path11, "utf-8");
1021
1020
  if (!raw.trim()) return null;
1022
1021
  const lines = raw.split("\n");
1023
1022
  let version = 0;
@@ -1043,8 +1042,8 @@ function readSelf(agentId) {
1043
1042
  };
1044
1043
  }
1045
1044
  function writeSelf(agentId, content, version) {
1046
- const dir = (0, import_path4.join)(AGENTS_DIR2, agentId);
1047
- if (!(0, import_fs4.existsSync)(dir)) (0, import_fs4.mkdirSync)(dir, { recursive: true });
1045
+ const dir = (0, import_path5.join)(AGENTS_DIR2, agentId);
1046
+ if (!(0, import_fs5.existsSync)(dir)) (0, import_fs5.mkdirSync)(dir, { recursive: true });
1048
1047
  const derivedAt = (/* @__PURE__ */ new Date()).toISOString();
1049
1048
  const full = `---
1050
1049
  version: ${version}
@@ -1053,15 +1052,15 @@ derivedAt: ${derivedAt}
1053
1052
  ${content}
1054
1053
  `;
1055
1054
  const tmp = selfPath(agentId) + ".tmp";
1056
- (0, import_fs4.writeFileSync)(tmp, full, "utf-8");
1057
- (0, import_fs4.renameSync)(tmp, selfPath(agentId));
1055
+ (0, import_fs5.writeFileSync)(tmp, full, "utf-8");
1056
+ (0, import_fs5.renameSync)(tmp, selfPath(agentId));
1058
1057
  logActivity(agentId, "self-updated", { meta: { version } });
1059
1058
  }
1060
1059
  function readReflectionState(agentId) {
1061
- const path8 = reflectionStatePath(agentId);
1062
- if (!(0, import_fs4.existsSync)(path8)) return null;
1060
+ const path11 = reflectionStatePath(agentId);
1061
+ if (!(0, import_fs5.existsSync)(path11)) return null;
1063
1062
  try {
1064
- const parsed = JSON.parse((0, import_fs4.readFileSync)(path8, "utf-8"));
1063
+ const parsed = JSON.parse((0, import_fs5.readFileSync)(path11, "utf-8"));
1065
1064
  const lastProcessedJournalId = typeof parsed?.lastProcessedJournalId === "string" && parsed.lastProcessedJournalId.trim() ? parsed.lastProcessedJournalId.trim() : null;
1066
1065
  const updatedAt = typeof parsed?.updatedAt === "string" && parsed.updatedAt.trim() ? parsed.updatedAt : (/* @__PURE__ */ new Date()).toISOString();
1067
1066
  return { lastProcessedJournalId, updatedAt };
@@ -1070,11 +1069,11 @@ function readReflectionState(agentId) {
1070
1069
  }
1071
1070
  }
1072
1071
  function writeReflectionState(agentId, state) {
1073
- const dir = (0, import_path4.join)(AGENTS_DIR2, agentId);
1074
- if (!(0, import_fs4.existsSync)(dir)) (0, import_fs4.mkdirSync)(dir, { recursive: true });
1072
+ const dir = (0, import_path5.join)(AGENTS_DIR2, agentId);
1073
+ if (!(0, import_fs5.existsSync)(dir)) (0, import_fs5.mkdirSync)(dir, { recursive: true });
1075
1074
  const tmp = reflectionStatePath(agentId) + ".tmp";
1076
- (0, import_fs4.writeFileSync)(tmp, JSON.stringify(state, null, 2), "utf-8");
1077
- (0, import_fs4.renameSync)(tmp, reflectionStatePath(agentId));
1075
+ (0, import_fs5.writeFileSync)(tmp, JSON.stringify(state, null, 2), "utf-8");
1076
+ (0, import_fs5.renameSync)(tmp, reflectionStatePath(agentId));
1078
1077
  }
1079
1078
  function buildReflectionPrompt(identity, currentSelf, recentJournal, teamSelves) {
1080
1079
  const selfText = currentSelf?.content || `I am ${identity.name}. ${identity.seed}`;
@@ -1153,35 +1152,35 @@ Rules:
1153
1152
  - If nothing genuinely new was learned, return an empty memories array.
1154
1153
  - Do not wrap the JSON in markdown fences.`;
1155
1154
  }
1156
- var import_fs4, import_path4, import_os4, AGENTS_DIR2;
1155
+ var import_fs5, import_path5, import_os5, AGENTS_DIR2;
1157
1156
  var init_self = __esm({
1158
1157
  "../agx-cloud/lib/mesh-core/self.ts"() {
1159
1158
  "use strict";
1160
- import_fs4 = require("fs");
1161
- import_path4 = require("path");
1162
- import_os4 = require("os");
1159
+ import_fs5 = require("fs");
1160
+ import_path5 = require("path");
1161
+ import_os5 = require("os");
1163
1162
  init_activity();
1164
- AGENTS_DIR2 = (0, import_path4.join)((0, import_os4.homedir)(), ".agx", "agents");
1163
+ AGENTS_DIR2 = (0, import_path5.join)((0, import_os5.homedir)(), ".agx", "agents");
1165
1164
  }
1166
1165
  });
1167
1166
 
1168
1167
  // ../agx-cloud/lib/mesh-core/journal.ts
1169
1168
  function agentDir(agentId) {
1170
- return (0, import_path5.join)(AGENTS_DIR3, agentId);
1169
+ return (0, import_path6.join)(AGENTS_DIR3, agentId);
1171
1170
  }
1172
1171
  function journalPath(agentId) {
1173
- return (0, import_path5.join)(agentDir(agentId), "journal.jsonl");
1172
+ return (0, import_path6.join)(agentDir(agentId), "journal.jsonl");
1174
1173
  }
1175
1174
  function ensureAgentDir(agentId) {
1176
1175
  const dir = agentDir(agentId);
1177
- if (!(0, import_fs5.existsSync)(dir)) {
1178
- (0, import_fs5.mkdirSync)(dir, { recursive: true });
1176
+ if (!(0, import_fs6.existsSync)(dir)) {
1177
+ (0, import_fs6.mkdirSync)(dir, { recursive: true });
1179
1178
  }
1180
1179
  }
1181
1180
  function readJournalLines(agentId) {
1182
- const path8 = journalPath(agentId);
1183
- if (!(0, import_fs5.existsSync)(path8)) return [];
1184
- return (0, import_fs5.readFileSync)(path8, "utf-8").split("\n").filter((l) => l.trim());
1181
+ const path11 = journalPath(agentId);
1182
+ if (!(0, import_fs6.existsSync)(path11)) return [];
1183
+ return (0, import_fs6.readFileSync)(path11, "utf-8").split("\n").filter((l) => l.trim());
1185
1184
  }
1186
1185
  function parseMaxSeq(agentId, lines) {
1187
1186
  let maxSeq = 0;
@@ -1210,7 +1209,7 @@ function appendJournal(agentId, entry) {
1210
1209
  const nextId = `${agentId}:${maxSeq + 1}`;
1211
1210
  const normalized = { ...entry, id: entry.id?.trim() || nextId };
1212
1211
  const line = JSON.stringify(normalized) + "\n";
1213
- (0, import_fs5.appendFileSync)(journalPath(agentId), line, "utf-8");
1212
+ (0, import_fs6.appendFileSync)(journalPath(agentId), line, "utf-8");
1214
1213
  logActivity(agentId, entry.type === "reflection" ? "reflection" : "journal-post", {
1215
1214
  thread: normalized.thread,
1216
1215
  meta: { entryId: normalized.id }
@@ -1244,42 +1243,42 @@ function readJournalSince(agentId, afterEntryId) {
1244
1243
  }
1245
1244
  return entries;
1246
1245
  }
1247
- var import_fs5, import_path5, import_os5, AGENTS_DIR3;
1246
+ var import_fs6, import_path6, import_os6, AGENTS_DIR3;
1248
1247
  var init_journal = __esm({
1249
1248
  "../agx-cloud/lib/mesh-core/journal.ts"() {
1250
1249
  "use strict";
1251
- import_fs5 = require("fs");
1252
- import_path5 = require("path");
1253
- import_os5 = require("os");
1250
+ import_fs6 = require("fs");
1251
+ import_path6 = require("path");
1252
+ import_os6 = require("os");
1254
1253
  init_activity();
1255
- AGENTS_DIR3 = (0, import_path5.join)((0, import_os5.homedir)(), ".agx", "agents");
1254
+ AGENTS_DIR3 = (0, import_path6.join)((0, import_os6.homedir)(), ".agx", "agents");
1256
1255
  }
1257
1256
  });
1258
1257
 
1259
1258
  // ../agx-cloud/lib/mesh-core/agent.ts
1260
1259
  function ensureAgent(agentId, options) {
1261
- const dir = (0, import_path6.join)(AGENTS_DIR4, agentId);
1262
- if (!(0, import_fs6.existsSync)(dir)) {
1263
- (0, import_fs6.mkdirSync)(dir, { recursive: true });
1260
+ const dir = (0, import_path7.join)(AGENTS_DIR4, agentId);
1261
+ if (!(0, import_fs7.existsSync)(dir)) {
1262
+ (0, import_fs7.mkdirSync)(dir, { recursive: true });
1264
1263
  }
1265
1264
  const voice = options?.voice?.trim() || DEFAULT_VOICE;
1266
1265
  const seed = options?.seed?.trim() || DEFAULT_SEED;
1267
- const identityPath = (0, import_path6.join)(dir, "identity.json");
1268
- if (!(0, import_fs6.existsSync)(identityPath)) {
1266
+ const identityPath = (0, import_path7.join)(dir, "identity.json");
1267
+ if (!(0, import_fs7.existsSync)(identityPath)) {
1269
1268
  const identity = { name: agentId, voice, seed };
1270
- (0, import_fs6.writeFileSync)(identityPath, JSON.stringify(identity, null, 2) + "\n", "utf-8");
1271
- }
1272
- const journal = (0, import_path6.join)(dir, "journal.jsonl");
1273
- const reactions = (0, import_path6.join)(dir, "reactions.jsonl");
1274
- const comments = (0, import_path6.join)(dir, "comments.jsonl");
1275
- const activity = (0, import_path6.join)(dir, "activity.jsonl");
1276
- const self = (0, import_path6.join)(dir, "self.md");
1277
- if (!(0, import_fs6.existsSync)(journal)) (0, import_fs6.writeFileSync)(journal, "", "utf-8");
1278
- if (!(0, import_fs6.existsSync)(reactions)) (0, import_fs6.writeFileSync)(reactions, "", "utf-8");
1279
- if (!(0, import_fs6.existsSync)(comments)) (0, import_fs6.writeFileSync)(comments, "", "utf-8");
1280
- if (!(0, import_fs6.existsSync)(activity)) (0, import_fs6.writeFileSync)(activity, "", "utf-8");
1281
- if (!(0, import_fs6.existsSync)(self)) {
1282
- (0, import_fs6.writeFileSync)(
1269
+ (0, import_fs7.writeFileSync)(identityPath, JSON.stringify(identity, null, 2) + "\n", "utf-8");
1270
+ }
1271
+ const journal = (0, import_path7.join)(dir, "journal.jsonl");
1272
+ const reactions = (0, import_path7.join)(dir, "reactions.jsonl");
1273
+ const comments = (0, import_path7.join)(dir, "comments.jsonl");
1274
+ const activity = (0, import_path7.join)(dir, "activity.jsonl");
1275
+ const self = (0, import_path7.join)(dir, "self.md");
1276
+ if (!(0, import_fs7.existsSync)(journal)) (0, import_fs7.writeFileSync)(journal, "", "utf-8");
1277
+ if (!(0, import_fs7.existsSync)(reactions)) (0, import_fs7.writeFileSync)(reactions, "", "utf-8");
1278
+ if (!(0, import_fs7.existsSync)(comments)) (0, import_fs7.writeFileSync)(comments, "", "utf-8");
1279
+ if (!(0, import_fs7.existsSync)(activity)) (0, import_fs7.writeFileSync)(activity, "", "utf-8");
1280
+ if (!(0, import_fs7.existsSync)(self)) {
1281
+ (0, import_fs7.writeFileSync)(
1283
1282
  self,
1284
1283
  `---
1285
1284
  version: 0
@@ -1292,31 +1291,31 @@ I am ${agentId}. ${seed}
1292
1291
  }
1293
1292
  }
1294
1293
  function readIdentity(agentId) {
1295
- const path8 = (0, import_path6.join)(AGENTS_DIR4, agentId, "identity.json");
1296
- if (!(0, import_fs6.existsSync)(path8)) return null;
1294
+ const path11 = (0, import_path7.join)(AGENTS_DIR4, agentId, "identity.json");
1295
+ if (!(0, import_fs7.existsSync)(path11)) return null;
1297
1296
  try {
1298
- return JSON.parse((0, import_fs6.readFileSync)(path8, "utf-8"));
1297
+ return JSON.parse((0, import_fs7.readFileSync)(path11, "utf-8"));
1299
1298
  } catch {
1300
1299
  return null;
1301
1300
  }
1302
1301
  }
1303
1302
  function listAgents() {
1304
- if (!(0, import_fs6.existsSync)(AGENTS_DIR4)) return [];
1305
- return (0, import_fs6.readdirSync)(AGENTS_DIR4, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => d.name);
1303
+ if (!(0, import_fs7.existsSync)(AGENTS_DIR4)) return [];
1304
+ return (0, import_fs7.readdirSync)(AGENTS_DIR4, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => d.name);
1306
1305
  }
1307
1306
  function getTeamSelves(excludeAgent) {
1308
1307
  return listAgents().filter((id) => id !== excludeAgent).map((id) => readSelf(id)).filter((s) => s !== null);
1309
1308
  }
1310
- var import_fs6, import_path6, import_os6, AGENTS_DIR4, DEFAULT_VOICE, DEFAULT_SEED;
1309
+ var import_fs7, import_path7, import_os7, AGENTS_DIR4, DEFAULT_VOICE, DEFAULT_SEED;
1311
1310
  var init_agent = __esm({
1312
1311
  "../agx-cloud/lib/mesh-core/agent.ts"() {
1313
1312
  "use strict";
1314
- import_fs6 = require("fs");
1315
- import_path6 = require("path");
1316
- import_os6 = require("os");
1313
+ import_fs7 = require("fs");
1314
+ import_path7 = require("path");
1315
+ import_os7 = require("os");
1317
1316
  init_self();
1318
1317
  init_journal();
1319
- AGENTS_DIR4 = (0, import_path6.join)((0, import_os6.homedir)(), ".agx", "agents");
1318
+ AGENTS_DIR4 = (0, import_path7.join)((0, import_os7.homedir)(), ".agx", "agents");
1320
1319
  DEFAULT_VOICE = "conversational, concise, practical";
1321
1320
  DEFAULT_SEED = "I evolve through experience and collaboration.";
1322
1321
  }
@@ -1338,20 +1337,20 @@ function nextUniqueId(base, used) {
1338
1337
  }
1339
1338
  function migrateAgentDirectory(oldId, newId, displayName) {
1340
1339
  if (!oldId || !newId || oldId === newId) return;
1341
- const oldDir = import_path7.default.join(AGENTS_DIR5, oldId);
1342
- const newDir = import_path7.default.join(AGENTS_DIR5, newId);
1343
- if (!(0, import_fs7.existsSync)(oldDir) || (0, import_fs7.existsSync)(newDir)) return;
1344
- (0, import_fs7.mkdirSync)(AGENTS_DIR5, { recursive: true });
1345
- (0, import_fs7.renameSync)(oldDir, newDir);
1346
- const identityPath = import_path7.default.join(newDir, "identity.json");
1347
- if (!(0, import_fs7.existsSync)(identityPath)) return;
1340
+ const oldDir = import_path8.default.join(AGENTS_DIR5, oldId);
1341
+ const newDir = import_path8.default.join(AGENTS_DIR5, newId);
1342
+ if (!(0, import_fs8.existsSync)(oldDir) || (0, import_fs8.existsSync)(newDir)) return;
1343
+ (0, import_fs8.mkdirSync)(AGENTS_DIR5, { recursive: true });
1344
+ (0, import_fs8.renameSync)(oldDir, newDir);
1345
+ const identityPath = import_path8.default.join(newDir, "identity.json");
1346
+ if (!(0, import_fs8.existsSync)(identityPath)) return;
1348
1347
  try {
1349
- const parsed = JSON.parse((0, import_fs7.readFileSync)(identityPath, "utf8"));
1348
+ const parsed = JSON.parse((0, import_fs8.readFileSync)(identityPath, "utf8"));
1350
1349
  const updated = {
1351
1350
  ...parsed,
1352
1351
  name: typeof displayName === "string" && displayName.trim() ? displayName.trim() : newId
1353
1352
  };
1354
- (0, import_fs7.writeFileSync)(identityPath, `${JSON.stringify(updated, null, 2)}
1353
+ (0, import_fs8.writeFileSync)(identityPath, `${JSON.stringify(updated, null, 2)}
1355
1354
  `, "utf8");
1356
1355
  } catch {
1357
1356
  }
@@ -1429,7 +1428,7 @@ function migrateLegacyParticipantIds(db2) {
1429
1428
  }
1430
1429
  }
1431
1430
  function getDb() {
1432
- (0, import_fs7.mkdirSync)(STORE_DIR, { recursive: true });
1431
+ (0, import_fs8.mkdirSync)(STORE_DIR, { recursive: true });
1433
1432
  const db2 = new import_better_sqlite32.default(DB_PATH);
1434
1433
  db2.pragma("journal_mode = WAL");
1435
1434
  db2.exec(`
@@ -1507,17 +1506,17 @@ function loadParticipants() {
1507
1506
  db2.close();
1508
1507
  }
1509
1508
  }
1510
- var import_better_sqlite32, import_fs7, import_path7, import_os7, STORE_DIR, DB_PATH, AGENTS_DIR5;
1509
+ var import_better_sqlite32, import_fs8, import_path8, import_os8, STORE_DIR, DB_PATH, AGENTS_DIR5;
1511
1510
  var init_participants_store = __esm({
1512
1511
  "../agx-cloud/lib/participants-store.ts"() {
1513
1512
  "use strict";
1514
1513
  import_better_sqlite32 = __toESM(require_lib());
1515
- import_fs7 = require("fs");
1516
- import_path7 = __toESM(require("path"));
1517
- import_os7 = __toESM(require("os"));
1518
- STORE_DIR = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path7.default.join(import_os7.default.homedir(), ".agx", "group-chat");
1519
- DB_PATH = import_path7.default.join(STORE_DIR, "history.sqlite");
1520
- AGENTS_DIR5 = process.env.AGX_AGENTS_DIR?.trim() || import_path7.default.join(import_os7.default.homedir(), ".agx", "agents");
1514
+ import_fs8 = require("fs");
1515
+ import_path8 = __toESM(require("path"));
1516
+ import_os8 = __toESM(require("os"));
1517
+ STORE_DIR = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path8.default.join(import_os8.default.homedir(), ".agx", "group-chat");
1518
+ DB_PATH = import_path8.default.join(STORE_DIR, "history.sqlite");
1519
+ AGENTS_DIR5 = process.env.AGX_AGENTS_DIR?.trim() || import_path8.default.join(import_os8.default.homedir(), ".agx", "agents");
1521
1520
  }
1522
1521
  });
1523
1522
 
@@ -1811,7 +1810,7 @@ function sqlExpr(expr) {
1811
1810
  }
1812
1811
  function getSQLiteDb() {
1813
1812
  if (_db) return _db;
1814
- const dbPath = process.env.SQLITE_DB_PATH || import_path8.default.join(AGX_DATA_DIR2, "agx-board.db");
1813
+ const dbPath = process.env.SQLITE_DB_PATH || import_path9.default.join(AGX_DATA_DIR3, "agx-board.db");
1815
1814
  _db = new import_better_sqlite33.default(dbPath);
1816
1815
  const errors = validateSQLiteEnvironment(_db, dbPath);
1817
1816
  if (errors.length > 0) {
@@ -1837,12 +1836,12 @@ ${msgs.join("\n")}`);
1837
1836
  return _db;
1838
1837
  }
1839
1838
  function initSQLiteSchema(db2) {
1840
- const ddlPath = import_path8.default.join(process.cwd(), "db", "sqlite", "001_agx_board_schema.sql");
1841
- if (!import_fs8.default.existsSync(ddlPath)) {
1839
+ const ddlPath = import_path9.default.join(process.cwd(), "db", "sqlite", "001_agx_board_schema.sql");
1840
+ if (!import_fs9.default.existsSync(ddlPath)) {
1842
1841
  console.warn(`[sqlite] DDL not found at ${ddlPath}, skipping schema init`);
1843
1842
  return;
1844
1843
  }
1845
- const ddl = import_fs8.default.readFileSync(ddlPath, "utf-8");
1844
+ const ddl = import_fs9.default.readFileSync(ddlPath, "utf-8");
1846
1845
  db2.exec(ddl);
1847
1846
  }
1848
1847
  function dropLegacyTeamsTables(db2) {
@@ -1884,6 +1883,7 @@ function runMigrations(db2) {
1884
1883
  if (!agentColNames.has("model")) db2.exec("ALTER TABLE agents ADD COLUMN model TEXT");
1885
1884
  if (!agentColNames.has("provider")) db2.exec("ALTER TABLE agents ADD COLUMN provider TEXT");
1886
1885
  if (!agentColNames.has("color")) db2.exec("ALTER TABLE agents ADD COLUMN color TEXT");
1886
+ if (!agentColNames.has("title")) db2.exec("ALTER TABLE agents ADD COLUMN title TEXT");
1887
1887
  }
1888
1888
  db2.exec(`
1889
1889
  CREATE TABLE IF NOT EXISTS agent_skills (
@@ -1895,6 +1895,35 @@ function runMigrations(db2) {
1895
1895
  );
1896
1896
  CREATE INDEX IF NOT EXISTS idx_agent_skills_agent ON agent_skills (agent_id);
1897
1897
  `);
1898
+ db2.exec(`
1899
+ CREATE TABLE IF NOT EXISTS skill_learning_history (
1900
+ id TEXT NOT NULL PRIMARY KEY DEFAULT (lower(hex(randomblob(4)) || '-' || hex(randomblob(2)) || '-4' || substr(hex(randomblob(2)),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(hex(randomblob(2)),2) || '-' || hex(randomblob(6)))),
1901
+ provider TEXT NOT NULL,
1902
+ repo TEXT NOT NULL,
1903
+ skill_id TEXT NOT NULL,
1904
+ skill_label TEXT NOT NULL,
1905
+ status TEXT NOT NULL CHECK(status IN ('running', 'succeeded', 'failed')),
1906
+ command TEXT NOT NULL,
1907
+ error TEXT,
1908
+ run_started_at INTEGER,
1909
+ run_completed_at INTEGER,
1910
+ created_at INTEGER NOT NULL DEFAULT (unixepoch()),
1911
+ updated_at INTEGER NOT NULL DEFAULT (unixepoch())
1912
+ );
1913
+ CREATE INDEX IF NOT EXISTS idx_skill_learning_history_provider_status_updated ON skill_learning_history(provider, status, updated_at DESC);
1914
+ CREATE INDEX IF NOT EXISTS idx_skill_learning_history_skill_lookup ON skill_learning_history(provider, repo, skill_id, updated_at DESC);
1915
+ `);
1916
+ db2.exec(`
1917
+ CREATE TABLE IF NOT EXISTS agent_skill_bindings (
1918
+ agent_id TEXT NOT NULL REFERENCES agents(id) ON DELETE CASCADE,
1919
+ repo TEXT NOT NULL,
1920
+ skill_id TEXT NOT NULL,
1921
+ condition TEXT,
1922
+ created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')),
1923
+ PRIMARY KEY (agent_id, repo, skill_id)
1924
+ );
1925
+ CREATE INDEX IF NOT EXISTS idx_agent_skill_bindings_agent ON agent_skill_bindings (agent_id, created_at);
1926
+ `);
1898
1927
  db2.exec(`
1899
1928
  CREATE TABLE IF NOT EXISTS project_agents (
1900
1929
  project_id TEXT NOT NULL REFERENCES projects(id) ON DELETE CASCADE,
@@ -2244,20 +2273,20 @@ function createAdminDbClientSQLite() {
2244
2273
  }
2245
2274
  };
2246
2275
  }
2247
- var import_better_sqlite33, import_fs8, import_path8, import_os8, AGX_DATA_DIR2, SqlExpression, _db, JSON_COLUMNS, SQLiteQueryBuilder, KNOWN_JSON_COLUMNS;
2276
+ var import_better_sqlite33, import_fs9, import_path9, import_os9, AGX_DATA_DIR3, SqlExpression, _db, JSON_COLUMNS, SQLiteQueryBuilder, KNOWN_JSON_COLUMNS;
2248
2277
  var init_sqlite_query_adapter = __esm({
2249
2278
  "../agx-cloud/lib/sqlite-query-adapter.ts"() {
2250
2279
  "use strict";
2251
2280
  import_better_sqlite33 = __toESM(require_lib());
2252
- import_fs8 = __toESM(require("fs"));
2253
- import_path8 = __toESM(require("path"));
2254
- import_os8 = __toESM(require("os"));
2281
+ import_fs9 = __toESM(require("fs"));
2282
+ import_path9 = __toESM(require("path"));
2283
+ import_os9 = __toESM(require("os"));
2255
2284
  init_auth_mode();
2256
2285
  init_agent();
2257
2286
  init_participants_store();
2258
2287
  init_startup();
2259
2288
  init_workspaces_to_projects_migration();
2260
- AGX_DATA_DIR2 = process.env.AGX_DATA_DIR || import_path8.default.join(import_os8.default.homedir(), ".agx");
2289
+ AGX_DATA_DIR3 = process.env.AGX_DATA_DIR || import_path9.default.join(import_os9.default.homedir(), ".agx");
2261
2290
  SqlExpression = class {
2262
2291
  constructor(expr) {
2263
2292
  this.expr = expr;
@@ -3922,6 +3951,7 @@ async function createAgent(userId, input) {
3922
3951
  description: input.description ?? null
3923
3952
  };
3924
3953
  if (input.id !== void 0) payload.id = input.id;
3954
+ if (input.title !== void 0) payload.title = input.title;
3925
3955
  if (input.voice !== void 0) payload.voice = input.voice;
3926
3956
  if (input.seed !== void 0) payload.seed = input.seed;
3927
3957
  if (input.model !== void 0) payload.model = input.model;
@@ -3940,6 +3970,7 @@ async function updateAgent(id, userId, input) {
3940
3970
  const db2 = createAdminDbClient();
3941
3971
  const updatePayload = { updated_at: (/* @__PURE__ */ new Date()).toISOString() };
3942
3972
  if (input.name !== void 0) updatePayload.name = input.name;
3973
+ if (input.title !== void 0) updatePayload.title = input.title;
3943
3974
  if (input.style !== void 0) updatePayload.style = input.style;
3944
3975
  if (input.description !== void 0) updatePayload.description = input.description;
3945
3976
  if (input.voice !== void 0) updatePayload.voice = input.voice;
@@ -4061,7 +4092,7 @@ async function deleteProjectMemory(memoryId) {
4061
4092
  }
4062
4093
  async function getProjectThreads(projectId) {
4063
4094
  const db2 = createAdminDbClient();
4064
- const { data, error } = await db2.from("project_threads").select("*").eq("project_id", projectId).order("created_at", { ascending: false });
4095
+ const { data, error } = await db2.from("project_threads").select("*").eq("project_id", projectId).order("created_at", { ascending: true });
4065
4096
  if (error) {
4066
4097
  if (isMissingRelationError2(error, "project_threads")) return [];
4067
4098
  throw error;
@@ -4527,9 +4558,9 @@ function v4(options, buf, offset) {
4527
4558
  var v4_default = v4;
4528
4559
 
4529
4560
  // ../agx-cloud/lib/queue/sqlite-adapter.ts
4530
- var import_path2 = __toESM(require("path"));
4531
- var import_fs2 = __toESM(require("fs"));
4532
- var import_os2 = __toESM(require("os"));
4561
+ var import_path3 = __toESM(require("path"));
4562
+ var import_fs3 = __toESM(require("fs"));
4563
+ var import_os3 = __toESM(require("os"));
4533
4564
  init_startup();
4534
4565
 
4535
4566
  // ../agx-cloud/lib/limits.ts
@@ -4570,8 +4601,53 @@ var WriteRateMonitor = class {
4570
4601
  }
4571
4602
  };
4572
4603
 
4573
- // ../agx-cloud/lib/queue/sqlite-adapter.ts
4604
+ // ../agx-cloud/lib/debug-log.ts
4605
+ var import_fs2 = __toESM(require("fs"));
4606
+ var import_os2 = __toESM(require("os"));
4607
+ var import_path2 = __toESM(require("path"));
4574
4608
  var AGX_DATA_DIR = process.env.AGX_DATA_DIR || import_path2.default.join(import_os2.default.homedir(), ".agx");
4609
+ var DEBUG_LOG_PATH = process.env.AGX_DEBUG_LOG_PATH || import_path2.default.join(AGX_DATA_DIR, "logs", "desktop-chat-debug.log");
4610
+ function ensureLogDir() {
4611
+ import_fs2.default.mkdirSync(import_path2.default.dirname(DEBUG_LOG_PATH), { recursive: true });
4612
+ }
4613
+ function safeReplacer(_key, value) {
4614
+ if (value instanceof Error) {
4615
+ return {
4616
+ name: value.name,
4617
+ message: value.message,
4618
+ stack: value.stack
4619
+ };
4620
+ }
4621
+ if (typeof value === "string" && value.length > 2e3) {
4622
+ return `${value.slice(0, 2e3)}...<truncated>`;
4623
+ }
4624
+ return value;
4625
+ }
4626
+ function writeDebugLog(event, payload) {
4627
+ try {
4628
+ ensureLogDir();
4629
+ const line = JSON.stringify(
4630
+ {
4631
+ ts: (/* @__PURE__ */ new Date()).toISOString(),
4632
+ pid: process.pid,
4633
+ event,
4634
+ ...payload ? { payload } : {}
4635
+ },
4636
+ safeReplacer
4637
+ );
4638
+ import_fs2.default.appendFileSync(DEBUG_LOG_PATH, `${line}
4639
+ `, "utf8");
4640
+ } catch {
4641
+ }
4642
+ }
4643
+
4644
+ // ../agx-cloud/lib/queue/sqlite-adapter.ts
4645
+ var AGX_DATA_DIR2 = process.env.AGX_DATA_DIR || import_path3.default.join(import_os3.default.homedir(), ".agx");
4646
+ var DEFAULT_STALE_JOB_TIMEOUT_MS = 10 * 60 * 1e3;
4647
+ function getStaleJobTimeoutMs() {
4648
+ const raw = Number(process.env.AGX_QUEUE_STALE_MS);
4649
+ return Number.isFinite(raw) && raw > 0 ? raw : DEFAULT_STALE_JOB_TIMEOUT_MS;
4650
+ }
4575
4651
  var SQLiteQueueAdapter = class {
4576
4652
  constructor(dbPath) {
4577
4653
  this.workers = /* @__PURE__ */ new Map();
@@ -4579,10 +4655,10 @@ var SQLiteQueueAdapter = class {
4579
4655
  this.writeRateInterval = null;
4580
4656
  this.writeMonitor = new WriteRateMonitor();
4581
4657
  this.workerId = v4_default();
4582
- const finalPath = dbPath || process.env.SQLITE_QUEUE_PATH || import_path2.default.join(AGX_DATA_DIR, "agx-queue.db");
4583
- const dir = import_path2.default.dirname(finalPath);
4584
- if (!import_fs2.default.existsSync(dir)) {
4585
- import_fs2.default.mkdirSync(dir, { recursive: true });
4658
+ const finalPath = dbPath || process.env.SQLITE_QUEUE_PATH || import_path3.default.join(AGX_DATA_DIR2, "agx-queue.db");
4659
+ const dir = import_path3.default.dirname(finalPath);
4660
+ if (!import_fs3.default.existsSync(dir)) {
4661
+ import_fs3.default.mkdirSync(dir, { recursive: true });
4586
4662
  }
4587
4663
  this.db = new import_better_sqlite3.default(finalPath);
4588
4664
  const errors = validateSQLiteEnvironment(this.db, finalPath);
@@ -4647,9 +4723,23 @@ var SQLiteQueueAdapter = class {
4647
4723
  options?.priority ?? 0
4648
4724
  );
4649
4725
  this.writeMonitor.record();
4726
+ writeDebugLog("queue.send", {
4727
+ queue: queue2,
4728
+ jobId: id,
4729
+ startAfter,
4730
+ retryLimit: options?.retryLimit ?? 3,
4731
+ priority: options?.priority ?? 0,
4732
+ data
4733
+ });
4650
4734
  return id;
4651
4735
  }
4652
4736
  async work(queue2, handler, options) {
4737
+ writeDebugLog("queue.worker.register", {
4738
+ queue: queue2,
4739
+ batchSize: options?.batchSize ?? 1,
4740
+ pollInterval: options?.pollInterval ?? null,
4741
+ workerId: this.workerId
4742
+ });
4653
4743
  this.workers.set(queue2, {
4654
4744
  handler,
4655
4745
  options: options || {},
@@ -4680,7 +4770,17 @@ var SQLiteQueueAdapter = class {
4680
4770
  processQueue(queue2, worker) {
4681
4771
  const batchSize = worker.options.batchSize || 1;
4682
4772
  const now = Date.now();
4773
+ const staleBefore = now - getStaleJobTimeoutMs();
4683
4774
  const jobs = this.db.transaction(() => {
4775
+ const reapedJobs = this.reapStaleJobs(queue2, now, staleBefore);
4776
+ if (reapedJobs.length > 0) {
4777
+ writeDebugLog("queue.reap_stale", {
4778
+ queue: queue2,
4779
+ workerId: this.workerId,
4780
+ staleBefore,
4781
+ jobs: reapedJobs
4782
+ });
4783
+ }
4684
4784
  const candidates = this.db.prepare(`
4685
4785
  SELECT id, data FROM agx_jobs
4686
4786
  WHERE queue = ?
@@ -4706,6 +4806,11 @@ var SQLiteQueueAdapter = class {
4706
4806
  }));
4707
4807
  })();
4708
4808
  if (jobs.length > 0) {
4809
+ writeDebugLog("queue.claim", {
4810
+ queue: queue2,
4811
+ workerId: this.workerId,
4812
+ jobIds: jobs.map((job) => job.id)
4813
+ });
4709
4814
  this.executeJobs(jobs, worker.handler);
4710
4815
  }
4711
4816
  }
@@ -4713,15 +4818,22 @@ var SQLiteQueueAdapter = class {
4713
4818
  try {
4714
4819
  await handler(jobs);
4715
4820
  this.completeJobs(jobs.map((j) => j.id));
4821
+ writeDebugLog("queue.complete", {
4822
+ jobIds: jobs.map((job) => job.id)
4823
+ });
4716
4824
  } catch (err) {
4717
4825
  this.failJobs(jobs.map((j) => j.id), err.message || String(err));
4826
+ writeDebugLog("queue.fail", {
4827
+ jobIds: jobs.map((job) => job.id),
4828
+ error: err
4829
+ });
4718
4830
  }
4719
4831
  }
4720
4832
  completeJobs(ids) {
4721
4833
  const now = Date.now();
4722
4834
  const stmt = this.db.prepare(`
4723
4835
  UPDATE agx_jobs
4724
- SET status = 'completed', completed_at = ?
4836
+ SET status = 'completed', completed_at = ?, worker_id = NULL
4725
4837
  WHERE id = ?
4726
4838
  `);
4727
4839
  this.db.transaction(() => {
@@ -4737,12 +4849,14 @@ var SQLiteQueueAdapter = class {
4737
4849
  UPDATE agx_jobs
4738
4850
  SET status = 'retry', retry_count = retry_count + 1,
4739
4851
  start_after = ? + (retry_count * 1000 * 2), -- Exponential backoff (kinda)
4852
+ started_at = NULL,
4853
+ worker_id = NULL,
4740
4854
  error = ?
4741
4855
  WHERE id = ?
4742
4856
  `);
4743
4857
  const updateFailed = this.db.prepare(`
4744
4858
  UPDATE agx_jobs
4745
- SET status = 'failed', failed_at = ?, error = ?
4859
+ SET status = 'failed', failed_at = ?, started_at = NULL, worker_id = NULL, error = ?
4746
4860
  WHERE id = ?
4747
4861
  `);
4748
4862
  this.db.transaction(() => {
@@ -4757,6 +4871,59 @@ var SQLiteQueueAdapter = class {
4757
4871
  }
4758
4872
  })();
4759
4873
  }
4874
+ reapStaleJobs(queue2, now, staleBefore) {
4875
+ const staleJobs = this.db.prepare(`
4876
+ SELECT id, retry_count, retry_limit
4877
+ FROM agx_jobs
4878
+ WHERE queue = ?
4879
+ AND status = 'active'
4880
+ AND started_at IS NOT NULL
4881
+ AND started_at <= ?
4882
+ ORDER BY started_at ASC
4883
+ `).all(queue2, staleBefore);
4884
+ if (staleJobs.length === 0) return [];
4885
+ const updateRetry = this.db.prepare(`
4886
+ UPDATE agx_jobs
4887
+ SET status = 'retry',
4888
+ retry_count = retry_count + 1,
4889
+ start_after = ?,
4890
+ started_at = NULL,
4891
+ worker_id = NULL,
4892
+ error = ?
4893
+ WHERE id = ?
4894
+ `);
4895
+ const updateFailed = this.db.prepare(`
4896
+ UPDATE agx_jobs
4897
+ SET status = 'failed',
4898
+ failed_at = ?,
4899
+ started_at = NULL,
4900
+ worker_id = NULL,
4901
+ error = ?
4902
+ WHERE id = ?
4903
+ `);
4904
+ const reaped = [];
4905
+ for (const job of staleJobs) {
4906
+ const error = `Job exceeded active timeout of ${getStaleJobTimeoutMs()}ms`;
4907
+ if (job.retry_count < job.retry_limit) {
4908
+ updateRetry.run(now, error, job.id);
4909
+ reaped.push({
4910
+ id: job.id,
4911
+ fromStatus: "active",
4912
+ toStatus: "retry",
4913
+ retryCount: job.retry_count + 1
4914
+ });
4915
+ } else {
4916
+ updateFailed.run(now, error, job.id);
4917
+ reaped.push({
4918
+ id: job.id,
4919
+ fromStatus: "active",
4920
+ toStatus: "failed",
4921
+ retryCount: job.retry_count
4922
+ });
4923
+ }
4924
+ }
4925
+ return reaped;
4926
+ }
4760
4927
  };
4761
4928
 
4762
4929
  // ../agx-cloud/lib/queue/boss.ts
@@ -5018,6 +5185,8 @@ var import_crypto4 = require("crypto");
5018
5185
 
5019
5186
  // ../agx-cloud/lib/cli-runner.ts
5020
5187
  var import_child_process = require("child_process");
5188
+ var import_fs10 = __toESM(require("fs"));
5189
+ var import_path10 = __toESM(require("path"));
5021
5190
 
5022
5191
  // ../agx-cloud/lib/sanitize.ts
5023
5192
  function createCliChunkSanitizer() {
@@ -5296,15 +5465,177 @@ var createThoughtFilterParser = (inner) => {
5296
5465
  }
5297
5466
  };
5298
5467
  };
5468
+ var AGX_WRAPPED_PROVIDERS = /* @__PURE__ */ new Set([
5469
+ "claude",
5470
+ "gemini",
5471
+ "ollama",
5472
+ "codex"
5473
+ ]);
5474
+ function providerNativeCommand({
5475
+ provider,
5476
+ model,
5477
+ prompt,
5478
+ systemPrompt
5479
+ }) {
5480
+ switch (provider) {
5481
+ case "claude": {
5482
+ const args = [
5483
+ "-p",
5484
+ "--verbose",
5485
+ "--output-format",
5486
+ "stream-json",
5487
+ "--include-partial-messages"
5488
+ ];
5489
+ if (model) args.push("--model", model);
5490
+ if (systemPrompt) args.push("--system-prompt", systemPrompt);
5491
+ args.push(prompt);
5492
+ return { command: "claude", args, parser: "claude-stream-json" };
5493
+ }
5494
+ case "gemini":
5495
+ return {
5496
+ command: "gemini",
5497
+ args: ["--yolo", "-p", systemPrompt ? `${systemPrompt}
5498
+
5499
+ ${prompt}` : prompt, "-o", "stream-json"],
5500
+ parser: "gemini-stream-json"
5501
+ };
5502
+ case "ollama":
5503
+ return {
5504
+ command: "ollama",
5505
+ args: ["run", model || "llama3.2", systemPrompt ? `${systemPrompt}
5506
+
5507
+ ${prompt}` : prompt],
5508
+ parser: "raw"
5509
+ };
5510
+ case "codex": {
5511
+ const codexArgs = ["exec", "--json"];
5512
+ if (model) codexArgs.push("--model", model);
5513
+ codexArgs.push(systemPrompt ? `${systemPrompt}
5514
+
5515
+ ${prompt}` : prompt);
5516
+ return {
5517
+ command: "codex",
5518
+ args: codexArgs,
5519
+ parser: "codex-json"
5520
+ };
5521
+ }
5522
+ case "zai": {
5523
+ const zaiApiKey = process.env.ZAI_API_KEY?.trim();
5524
+ const zaiArgs = [
5525
+ "-p",
5526
+ "--verbose",
5527
+ "--output-format",
5528
+ "stream-json",
5529
+ "--include-partial-messages"
5530
+ ];
5531
+ if (model) zaiArgs.push("--model", model);
5532
+ if (systemPrompt) zaiArgs.push("--system-prompt", systemPrompt);
5533
+ zaiArgs.push(prompt);
5534
+ return {
5535
+ command: "claude",
5536
+ args: zaiArgs,
5537
+ parser: "claude-stream-json",
5538
+ env: {
5539
+ ANTHROPIC_BASE_URL: "https://api.z.ai/api/anthropic",
5540
+ ...zaiApiKey ? { ANTHROPIC_AUTH_TOKEN: zaiApiKey } : {}
5541
+ }
5542
+ };
5543
+ }
5544
+ default:
5545
+ return null;
5546
+ }
5547
+ }
5299
5548
  function agxCommandForProvider({
5300
5549
  provider,
5301
5550
  model,
5302
- prompt
5551
+ prompt,
5552
+ passthroughArgs
5303
5553
  }) {
5304
5554
  const args = [provider, "-y", "--print", "--prompt", prompt];
5305
5555
  if (model) args.push("--model", model);
5556
+ if (passthroughArgs && passthroughArgs.length > 0) {
5557
+ args.push("--", ...passthroughArgs);
5558
+ }
5306
5559
  return { command: "agx", args, parser: "raw" };
5307
5560
  }
5561
+ function resolveBundledCliPath() {
5562
+ const explicit = process.env.AGX_CLI_PATH?.trim();
5563
+ if (explicit && import_fs10.default.existsSync(explicit)) return explicit;
5564
+ const candidates = [
5565
+ import_path10.default.resolve(process.cwd(), "..", "cli", "index.js"),
5566
+ import_path10.default.resolve(__dirname, "..", "cli", "index.js"),
5567
+ import_path10.default.resolve(process.execPath, "..", "..", "Resources", "cli", "index.js")
5568
+ ];
5569
+ for (const candidate of candidates) {
5570
+ if (import_fs10.default.existsSync(candidate)) {
5571
+ return candidate;
5572
+ }
5573
+ }
5574
+ return null;
5575
+ }
5576
+ function buildCliAttempts({
5577
+ provider,
5578
+ model,
5579
+ prompt,
5580
+ systemPrompt,
5581
+ passthroughArgs
5582
+ }, deps = {}) {
5583
+ const exists = deps.commandExists ?? commandExists;
5584
+ const bundledCliPath = deps.bundledCliPath === void 0 ? resolveBundledCliPath() : deps.bundledCliPath;
5585
+ const attempts = [];
5586
+ const agxPrompt = systemPrompt ? `${systemPrompt}
5587
+
5588
+ ${prompt}` : prompt;
5589
+ if (AGX_WRAPPED_PROVIDERS.has(provider)) {
5590
+ const bundledAgx = bundledAgxCommandForProvider({
5591
+ provider,
5592
+ model,
5593
+ prompt: agxPrompt,
5594
+ cliPath: bundledCliPath,
5595
+ passthroughArgs
5596
+ });
5597
+ if (bundledAgx) {
5598
+ attempts.push(bundledAgx);
5599
+ }
5600
+ if (exists("agx")) {
5601
+ attempts.push(
5602
+ agxCommandForProvider({
5603
+ provider,
5604
+ model,
5605
+ prompt: agxPrompt,
5606
+ passthroughArgs
5607
+ })
5608
+ );
5609
+ }
5610
+ return attempts;
5611
+ }
5612
+ const nativeAttempt = providerNativeCommand({
5613
+ provider,
5614
+ model,
5615
+ prompt,
5616
+ systemPrompt
5617
+ });
5618
+ if (nativeAttempt && exists(nativeAttempt.command)) {
5619
+ attempts.push(nativeAttempt);
5620
+ }
5621
+ return attempts;
5622
+ }
5623
+ function bundledAgxCommandForProvider({
5624
+ provider,
5625
+ model,
5626
+ prompt,
5627
+ cliPath,
5628
+ passthroughArgs
5629
+ }) {
5630
+ const resolvedCliPath = cliPath === void 0 ? resolveBundledCliPath() : cliPath;
5631
+ if (!resolvedCliPath) return null;
5632
+ const args = [resolvedCliPath, provider, "-y", "--print", "--prompt", prompt];
5633
+ if (model) args.push("--model", model);
5634
+ if (passthroughArgs && passthroughArgs.length > 0) {
5635
+ args.push("--", ...passthroughArgs);
5636
+ }
5637
+ return { command: process.execPath, args, parser: "raw" };
5638
+ }
5308
5639
  async function runCommandStreamed({
5309
5640
  command,
5310
5641
  args,
@@ -5316,6 +5647,13 @@ async function runCommandStreamed({
5316
5647
  env: extraEnv
5317
5648
  }) {
5318
5649
  await new Promise((resolve, reject) => {
5650
+ writeDebugLog("cli-runner.spawn", {
5651
+ command,
5652
+ args,
5653
+ timeoutMs,
5654
+ bundledCliPath: resolveBundledCliPath(),
5655
+ isElectron: process.env.AGX_ELECTRON || null
5656
+ });
5319
5657
  if (onLog) onLog("stderr", `$ ${command} ${args.map((a) => a.length > 80 ? a.slice(0, 80) + "\u2026" : a).join(" ")}
5320
5658
  `);
5321
5659
  const child = (0, import_child_process.spawn)(command, args, {
@@ -5334,13 +5672,29 @@ async function runCommandStreamed({
5334
5672
  else resolve();
5335
5673
  };
5336
5674
  const onAbort = () => {
5675
+ writeDebugLog("cli-runner.abort", {
5676
+ command,
5677
+ args,
5678
+ pid: child.pid ?? null
5679
+ });
5337
5680
  child.kill("SIGTERM");
5338
5681
  finalize(new Error("Chat request aborted."));
5339
5682
  };
5340
5683
  if (signal) signal.addEventListener("abort", onAbort, { once: true });
5341
5684
  if (onSpawn && child.pid) onSpawn(child.pid);
5685
+ writeDebugLog("cli-runner.spawned", {
5686
+ command,
5687
+ args,
5688
+ pid: child.pid ?? null
5689
+ });
5342
5690
  const timer = setTimeout(() => {
5343
5691
  timedOut = true;
5692
+ writeDebugLog("cli-runner.timeout", {
5693
+ command,
5694
+ args,
5695
+ pid: child.pid ?? null,
5696
+ timeoutMs
5697
+ });
5344
5698
  child.kill("SIGKILL");
5345
5699
  finalize(new Error(`CLI request timed out after ${timeoutMs}ms.`));
5346
5700
  }, timeoutMs);
@@ -5355,9 +5709,24 @@ async function runCommandStreamed({
5355
5709
  combinedOutput += str;
5356
5710
  if (onLog) onLog("stderr", str);
5357
5711
  });
5358
- child.on("error", (error) => finalize(error));
5712
+ child.on("error", (error) => {
5713
+ writeDebugLog("cli-runner.process_error", {
5714
+ command,
5715
+ args,
5716
+ pid: child.pid ?? null,
5717
+ error
5718
+ });
5719
+ finalize(error);
5720
+ });
5359
5721
  child.on("close", (code, childSignal) => {
5360
5722
  if (done || timedOut) return;
5723
+ writeDebugLog("cli-runner.close", {
5724
+ command,
5725
+ args,
5726
+ pid: child.pid ?? null,
5727
+ code: code ?? null,
5728
+ signal: childSignal ?? null
5729
+ });
5361
5730
  if (code === 0) {
5362
5731
  finalize();
5363
5732
  return;
@@ -5378,6 +5747,7 @@ async function runCliResponse({
5378
5747
  self,
5379
5748
  skills,
5380
5749
  systemContext,
5750
+ passthroughArgs,
5381
5751
  signal,
5382
5752
  onDelta,
5383
5753
  onLog,
@@ -5389,7 +5759,6 @@ async function runCliResponse({
5389
5759
  const cleaned = sanitize(chunk);
5390
5760
  if (cleaned) onDelta(cleaned);
5391
5761
  };
5392
- const attempts = [];
5393
5762
  const systemParts = [];
5394
5763
  if (systemContext) systemParts.push(systemContext);
5395
5764
  if (identity) systemParts.push(`<identity>
@@ -5402,19 +5771,33 @@ ${self}
5402
5771
  ${skills}
5403
5772
  </skills>`);
5404
5773
  const systemPrompt = systemParts.length > 0 ? systemParts.join("\n\n") : void 0;
5405
- if (commandExists("agx")) {
5406
- const agxPrompt = systemPrompt ? `${systemPrompt}
5407
-
5408
- ${prompt}` : prompt;
5409
- attempts.push(agxCommandForProvider({ provider, model, prompt: agxPrompt }));
5410
- }
5774
+ const attempts = buildCliAttempts({
5775
+ provider,
5776
+ model,
5777
+ prompt,
5778
+ systemPrompt,
5779
+ passthroughArgs
5780
+ });
5411
5781
  if (attempts.length === 0) {
5782
+ writeDebugLog("cli-runner.no_attempts", {
5783
+ provider,
5784
+ model,
5785
+ bundledCliPath: resolveBundledCliPath(),
5786
+ isElectron: process.env.AGX_ELECTRON || null
5787
+ });
5412
5788
  throw new Error(
5413
5789
  `No CLI runner available for provider "${provider}". Install agx or provider CLI.`
5414
5790
  );
5415
5791
  }
5416
5792
  let lastError = null;
5417
5793
  for (const attempt of attempts) {
5794
+ writeDebugLog("cli-runner.attempt", {
5795
+ provider,
5796
+ model,
5797
+ command: attempt.command,
5798
+ args: attempt.args,
5799
+ parser: attempt.parser
5800
+ });
5418
5801
  const baseParser = attempt.parser === "claude-stream-json" ? createClaudeStreamJsonParser(wrappedOnDelta) : attempt.parser === "codex-json" ? createCodexJsonParser(wrappedOnDelta) : attempt.parser === "gemini-stream-json" ? createGeminiStreamJsonParser(wrappedOnDelta) : createRawParser(wrappedOnDelta);
5419
5802
  const parser = attempt.filterThoughts ? createThoughtFilterParser(baseParser) : baseParser;
5420
5803
  try {
@@ -5429,9 +5812,20 @@ ${prompt}` : prompt;
5429
5812
  env: attempt.env
5430
5813
  });
5431
5814
  parser.flush();
5815
+ writeDebugLog("cli-runner.success", {
5816
+ provider,
5817
+ model,
5818
+ command: attempt.command
5819
+ });
5432
5820
  return;
5433
5821
  } catch (error) {
5434
5822
  lastError = error instanceof Error ? error : new Error(String(error));
5823
+ writeDebugLog("cli-runner.failure", {
5824
+ provider,
5825
+ model,
5826
+ command: attempt.command,
5827
+ error: lastError
5828
+ });
5435
5829
  }
5436
5830
  }
5437
5831
  throw lastError || new Error("CLI execution failed.");
@@ -6497,11 +6891,11 @@ var import_promises = require("fs/promises");
6497
6891
 
6498
6892
  // ../agx-cloud/lib/agent-process-registry.ts
6499
6893
  var import_better_sqlite34 = __toESM(require_lib());
6500
- var import_path9 = __toESM(require("path"));
6501
- var import_os9 = __toESM(require("os"));
6502
- var import_fs9 = require("fs");
6503
- var HISTORY_DIR = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path9.default.join(import_os9.default.homedir(), ".agx", "group-chat");
6504
- var DB_PATH2 = import_path9.default.join(HISTORY_DIR, "history.sqlite");
6894
+ var import_path11 = __toESM(require("path"));
6895
+ var import_os10 = __toESM(require("os"));
6896
+ var import_fs11 = require("fs");
6897
+ var HISTORY_DIR = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path11.default.join(import_os10.default.homedir(), ".agx", "group-chat");
6898
+ var DB_PATH2 = import_path11.default.join(HISTORY_DIR, "history.sqlite");
6505
6899
  function toEntry(row) {
6506
6900
  return {
6507
6901
  id: row.id,
@@ -6518,7 +6912,7 @@ function toEntry(row) {
6518
6912
  };
6519
6913
  }
6520
6914
  function getDb2() {
6521
- (0, import_fs9.mkdirSync)(HISTORY_DIR, { recursive: true });
6915
+ (0, import_fs11.mkdirSync)(HISTORY_DIR, { recursive: true });
6522
6916
  const db2 = new import_better_sqlite34.default(DB_PATH2);
6523
6917
  db2.pragma("journal_mode = WAL");
6524
6918
  db2.exec(`
@@ -6673,11 +7067,11 @@ function killByWorkspace(workspaceId) {
6673
7067
 
6674
7068
  // ../agx-cloud/lib/history-store.ts
6675
7069
  var import_better_sqlite35 = __toESM(require_lib());
6676
- var import_fs10 = require("fs");
6677
- var import_path10 = __toESM(require("path"));
6678
- var import_os10 = __toESM(require("os"));
6679
- var HISTORY_DIR2 = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path10.default.join(import_os10.default.homedir(), ".agx", "group-chat");
6680
- var DB_PATH3 = import_path10.default.join(HISTORY_DIR2, "history.sqlite");
7070
+ var import_fs12 = require("fs");
7071
+ var import_path12 = __toESM(require("path"));
7072
+ var import_os11 = __toESM(require("os"));
7073
+ var HISTORY_DIR2 = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path12.default.join(import_os11.default.homedir(), ".agx", "group-chat");
7074
+ var DB_PATH3 = import_path12.default.join(HISTORY_DIR2, "history.sqlite");
6681
7075
  var LEGACY_THREAD_ID = "global";
6682
7076
  var REACTION_TYPES = /* @__PURE__ */ new Set([
6683
7077
  "ack",
@@ -6686,6 +7080,8 @@ var REACTION_TYPES = /* @__PURE__ */ new Set([
6686
7080
  "clarify",
6687
7081
  "blocked"
6688
7082
  ]);
7083
+ var ACTIVE_AGENT_PROCESS_STALE_MS = 10 * 60 * 1e3;
7084
+ var ACTIVE_CHAT_RUN_STALE_MS = 10 * 60 * 1e3;
6689
7085
  var ALLOWED_TRANSITIONS = {
6690
7086
  ack: /* @__PURE__ */ new Set(["ack", "working"]),
6691
7087
  working: /* @__PURE__ */ new Set(["ack", "working", "done", "clarify", "blocked"]),
@@ -6906,7 +7302,7 @@ function migrateLegacyTables(db2) {
6906
7302
  migrateLogsToAgentProcessId(db2);
6907
7303
  }
6908
7304
  var withDatabase = async (run) => {
6909
- await import_fs10.promises.mkdir(HISTORY_DIR2, { recursive: true });
7305
+ await import_fs12.promises.mkdir(HISTORY_DIR2, { recursive: true });
6910
7306
  const db2 = new import_better_sqlite35.default(DB_PATH3);
6911
7307
  db2.pragma("journal_mode = WAL");
6912
7308
  try {
@@ -6989,6 +7385,11 @@ var withDatabase = async (run) => {
6989
7385
  started_at INTEGER NOT NULL,
6990
7386
  completed_at INTEGER
6991
7387
  );
7388
+ CREATE TABLE IF NOT EXISTS thread_repo_selections (
7389
+ thread_id TEXT NOT NULL,
7390
+ repo_id TEXT NOT NULL,
7391
+ PRIMARY KEY (thread_id, repo_id)
7392
+ );
6992
7393
  `);
6993
7394
  migrateLegacyTables(db2);
6994
7395
  migrateThreadReplyColumns(db2);
@@ -7088,7 +7489,31 @@ async function saveMessages(threadId, messages) {
7088
7489
  insertMany(messages);
7089
7490
  });
7090
7491
  }
7492
+ async function sweepStaleChatRuns(input) {
7493
+ const normalizedThreadId = normalizeOptionalText(input?.threadId ?? null);
7494
+ const thresholdMs = Number.isFinite(input?.olderThanMs) ? Math.max(input.olderThanMs, 1) : ACTIVE_CHAT_RUN_STALE_MS;
7495
+ const now = Date.now();
7496
+ const cutoff = now - thresholdMs;
7497
+ return withDatabase((db2) => {
7498
+ const clauses = ["status = 'running'", "updated_at <= ?"];
7499
+ const params = [cutoff];
7500
+ if (normalizedThreadId) {
7501
+ clauses.push("thread_id = ?");
7502
+ params.push(normalizedThreadId);
7503
+ }
7504
+ const result = db2.prepare(
7505
+ `UPDATE chat_runs
7506
+ SET status = 'failed',
7507
+ last_error = COALESCE(NULLIF(last_error, ''), 'Worker process died mid-execution'),
7508
+ updated_at = ?,
7509
+ completed_at = COALESCE(completed_at, ?)
7510
+ WHERE ${clauses.join(" AND ")}`
7511
+ ).run(now, now, ...params);
7512
+ return result.changes;
7513
+ });
7514
+ }
7091
7515
  async function getChatRun(chatRunId) {
7516
+ await sweepStaleChatRuns();
7092
7517
  return withDatabase((db2) => {
7093
7518
  const row = db2.prepare("SELECT * FROM chat_runs WHERE id = ? LIMIT 1").get(chatRunId);
7094
7519
  return row ? toChatRunRecord(row) : null;
@@ -7336,11 +7761,11 @@ function parseReactionSignals(content) {
7336
7761
 
7337
7762
  // ../agx-cloud/lib/attachment-store.ts
7338
7763
  var import_better_sqlite36 = __toESM(require_lib());
7339
- var import_path11 = __toESM(require("path"));
7340
- var import_os11 = __toESM(require("os"));
7341
- var HISTORY_DIR3 = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path11.default.join(import_os11.default.homedir(), ".agx", "group-chat");
7342
- var DB_PATH4 = import_path11.default.join(HISTORY_DIR3, "history.sqlite");
7343
- var UPLOADS_DIR = import_path11.default.join(HISTORY_DIR3, "uploads");
7764
+ var import_path13 = __toESM(require("path"));
7765
+ var import_os12 = __toESM(require("os"));
7766
+ var HISTORY_DIR3 = process.env.AGX_GROUP_CHAT_DIR?.trim() || import_path13.default.join(import_os12.default.homedir(), ".agx", "group-chat");
7767
+ var DB_PATH4 = import_path13.default.join(HISTORY_DIR3, "history.sqlite");
7768
+ var UPLOADS_DIR = import_path13.default.join(HISTORY_DIR3, "uploads");
7344
7769
  function getDb3() {
7345
7770
  const db2 = new import_better_sqlite36.default(DB_PATH4);
7346
7771
  db2.pragma("journal_mode = WAL");
@@ -7380,7 +7805,7 @@ async function getAttachmentMeta(id) {
7380
7805
  ).get(id);
7381
7806
  if (!row) return null;
7382
7807
  const diskName = row.disk_name || id;
7383
- return { filename: row.filename, mimeType: row.mime_type, size: row.size, diskPath: import_path11.default.join(UPLOADS_DIR, diskName) };
7808
+ return { filename: row.filename, mimeType: row.mime_type, size: row.size, diskPath: import_path13.default.join(UPLOADS_DIR, diskName) };
7384
7809
  } finally {
7385
7810
  db2.close();
7386
7811
  }
@@ -7393,18 +7818,18 @@ init_journal();
7393
7818
  init_agent();
7394
7819
 
7395
7820
  // ../agx-cloud/lib/mesh-core/reactions.ts
7396
- var import_fs11 = require("fs");
7397
- var import_path12 = require("path");
7398
- var import_os12 = require("os");
7821
+ var import_fs13 = require("fs");
7822
+ var import_path14 = require("path");
7823
+ var import_os13 = require("os");
7399
7824
  init_journal();
7400
7825
  init_activity();
7401
- var AGENTS_DIR6 = (0, import_path12.join)((0, import_os12.homedir)(), ".agx", "agents");
7826
+ var AGENTS_DIR6 = (0, import_path14.join)((0, import_os13.homedir)(), ".agx", "agents");
7402
7827
  function reactionsPath(agentId) {
7403
- return (0, import_path12.join)(AGENTS_DIR6, agentId, "reactions.jsonl");
7828
+ return (0, import_path14.join)(AGENTS_DIR6, agentId, "reactions.jsonl");
7404
7829
  }
7405
7830
  function ensureDir2(agentId) {
7406
- const dir = (0, import_path12.join)(AGENTS_DIR6, agentId);
7407
- if (!(0, import_fs11.existsSync)(dir)) (0, import_fs11.mkdirSync)(dir, { recursive: true });
7831
+ const dir = (0, import_path14.join)(AGENTS_DIR6, agentId);
7832
+ if (!(0, import_fs13.existsSync)(dir)) (0, import_fs13.mkdirSync)(dir, { recursive: true });
7408
7833
  }
7409
7834
  function targetEntryExists(targetEntry) {
7410
7835
  const [targetAgent] = targetEntry.split(":");
@@ -7423,12 +7848,183 @@ function appendReaction(agentId, targetEntry, type) {
7423
7848
  targetEntry,
7424
7849
  type
7425
7850
  };
7426
- (0, import_fs11.appendFileSync)(reactionsPath(agentId), JSON.stringify(reaction) + "\n", "utf-8");
7851
+ (0, import_fs13.appendFileSync)(reactionsPath(agentId), JSON.stringify(reaction) + "\n", "utf-8");
7427
7852
  logActivity(agentId, "mesh-reaction", { meta: { target: targetEntry, type } });
7428
7853
  }
7429
7854
 
7430
7855
  // ../agx-cloud/lib/stream-multiplexer.ts
7431
7856
  init_activity();
7857
+
7858
+ // ../agx-cloud/lib/agent-skill-bindings.ts
7859
+ var import_node_fs = __toESM(require("node:fs"));
7860
+ init_sqlite_query_adapter();
7861
+
7862
+ // ../agx-cloud/lib/skills-library.ts
7863
+ var import_node_path = __toESM(require("node:path"));
7864
+ var import_node_child_process = require("node:child_process");
7865
+ init_sqlite_query_adapter();
7866
+ var SKILLS_CACHE_TTL = 60 * 60 * 1e3;
7867
+ var SKILL_DETAIL_CACHE_TTL = 60 * 60 * 1e3;
7868
+ function collapseWhitespace(input) {
7869
+ return input.replace(/\s+/g, " ").trim();
7870
+ }
7871
+ function normalizeSkillLearnProvider(provider) {
7872
+ if (provider === "claude" || provider === "codex" || provider === "gemini" || provider === "zai") {
7873
+ return provider;
7874
+ }
7875
+ return null;
7876
+ }
7877
+ function skillAgentName(provider) {
7878
+ if (provider === "claude") return "claude-code";
7879
+ if (provider === "codex") return "codex";
7880
+ if (provider === "gemini") return "gemini-cli";
7881
+ if (provider === "zai") return "claude-code";
7882
+ return null;
7883
+ }
7884
+ function installedSkillPath(skillId) {
7885
+ return import_node_path.default.join(process.cwd(), ".agents", "skills", skillId, "SKILL.md");
7886
+ }
7887
+ function recordSkillHistory(input) {
7888
+ const db2 = getSQLiteDb();
7889
+ db2.prepare(
7890
+ `INSERT INTO skill_learning_history
7891
+ (provider, repo, skill_id, skill_label, status, command, error, run_started_at, run_completed_at, created_at, updated_at)
7892
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
7893
+ ).run(
7894
+ input.provider,
7895
+ input.repo,
7896
+ input.skill_id,
7897
+ input.skill_label,
7898
+ input.status,
7899
+ input.command,
7900
+ input.error,
7901
+ input.run_started_at,
7902
+ input.run_completed_at,
7903
+ input.created_at,
7904
+ input.updated_at
7905
+ );
7906
+ }
7907
+ function installSkill(input) {
7908
+ const providers = Array.from(new Set(input.providers.map((provider) => normalizeSkillLearnProvider(provider)).filter(Boolean)));
7909
+ if (providers.length === 0) {
7910
+ return { ok: false, command: "", stdout: "", stderr: "", results: [], error: "No supported providers selected" };
7911
+ }
7912
+ const startedAt = Date.now();
7913
+ const results = [];
7914
+ let lastStdout = "";
7915
+ let lastStderr = "";
7916
+ let lastCommand = "";
7917
+ const providersByAgent = /* @__PURE__ */ new Map();
7918
+ for (const provider of providers) {
7919
+ const agent = skillAgentName(provider);
7920
+ if (!agent) {
7921
+ continue;
7922
+ }
7923
+ const group = providersByAgent.get(agent) ?? [];
7924
+ group.push(provider);
7925
+ providersByAgent.set(agent, group);
7926
+ }
7927
+ for (const [agent, agentProviders] of providersByAgent.entries()) {
7928
+ const args = ["--yes", "skills@latest", "add", input.repo, "--skill", input.skillId, "--agent", agent, "--yes"];
7929
+ lastCommand = `npx ${args.join(" ")}`;
7930
+ const run = (0, import_node_child_process.spawnSync)("npx", args, {
7931
+ cwd: process.cwd(),
7932
+ encoding: "utf8",
7933
+ timeout: 12e4,
7934
+ env: { ...process.env, FORCE_COLOR: "0" }
7935
+ });
7936
+ lastStdout = String(run.stdout ?? "");
7937
+ lastStderr = String(run.stderr ?? "");
7938
+ const ok = run.status === 0;
7939
+ for (const provider of agentProviders) {
7940
+ results.push({ provider, ok, agent });
7941
+ recordSkillHistory({
7942
+ provider,
7943
+ repo: input.repo,
7944
+ skill_id: input.skillId,
7945
+ skill_label: input.skillId,
7946
+ status: ok ? "succeeded" : "failed",
7947
+ command: lastCommand,
7948
+ error: ok ? null : collapseWhitespace(lastStderr || lastStdout).slice(0, 1e3),
7949
+ run_started_at: startedAt,
7950
+ run_completed_at: Date.now(),
7951
+ created_at: startedAt,
7952
+ updated_at: Date.now()
7953
+ });
7954
+ }
7955
+ if (!ok) {
7956
+ return {
7957
+ ok: false,
7958
+ command: lastCommand,
7959
+ stdout: lastStdout,
7960
+ stderr: lastStderr,
7961
+ results,
7962
+ error: collapseWhitespace(lastStderr || lastStdout) || "Installation failed"
7963
+ };
7964
+ }
7965
+ }
7966
+ return { ok: true, command: lastCommand, stdout: lastStdout, stderr: lastStderr, results };
7967
+ }
7968
+
7969
+ // ../agx-cloud/lib/agent-skill-bindings.ts
7970
+ async function getAgentSkillBindings(agentId) {
7971
+ const db2 = getSQLiteDb();
7972
+ const rows = db2.prepare("SELECT agent_id, repo, skill_id, condition, created_at FROM agent_skill_bindings WHERE agent_id = ? ORDER BY created_at ASC").all(agentId);
7973
+ return rows.map((row) => ({
7974
+ repo: row.repo,
7975
+ skillId: row.skill_id,
7976
+ ...row.condition ? { condition: row.condition } : {}
7977
+ }));
7978
+ }
7979
+ function normalizeText(value) {
7980
+ return value.toLowerCase().replace(/[^a-z0-9]+/g, " ").replace(/\s+/g, " ").trim();
7981
+ }
7982
+ function uniqueTerms(input) {
7983
+ const seen = /* @__PURE__ */ new Set();
7984
+ const terms = [];
7985
+ for (const piece of normalizeText(input).split(" ")) {
7986
+ if (piece.length < 4 || seen.has(piece)) continue;
7987
+ seen.add(piece);
7988
+ terms.push(piece);
7989
+ }
7990
+ return terms;
7991
+ }
7992
+ function isBindingRelevant(binding, prompt) {
7993
+ const normalizedPrompt = normalizeText(prompt);
7994
+ if (!normalizedPrompt) return false;
7995
+ const explicitHints = binding.condition ? binding.condition.split(/\n|,|;|\|/g).map((item) => normalizeText(item)).filter((item) => item.length >= 4) : [];
7996
+ if (explicitHints.some((hint) => normalizedPrompt.includes(hint))) {
7997
+ return true;
7998
+ }
7999
+ const repoTail = binding.repo.split("/").filter(Boolean).pop() ?? binding.repo;
8000
+ const inferredTerms = [
8001
+ ...uniqueTerms(binding.skillId),
8002
+ ...uniqueTerms(repoTail)
8003
+ ];
8004
+ return inferredTerms.some((term) => normalizedPrompt.includes(term));
8005
+ }
8006
+ function resolveBoundSkillFiles(bindings, prompt, provider) {
8007
+ const resolved = [];
8008
+ for (const binding of bindings) {
8009
+ if (!isBindingRelevant(binding, prompt)) continue;
8010
+ const file = installedSkillPath(binding.skillId);
8011
+ if (!import_node_fs.default.existsSync(file)) {
8012
+ const installResult = installSkill({
8013
+ repo: binding.repo,
8014
+ skillId: binding.skillId,
8015
+ providers: [provider]
8016
+ });
8017
+ if (!installResult.ok) continue;
8018
+ }
8019
+ resolved.push({
8020
+ file,
8021
+ ...binding.condition ? { condition: binding.condition } : {}
8022
+ });
8023
+ }
8024
+ return resolved;
8025
+ }
8026
+
8027
+ // ../agx-cloud/lib/stream-multiplexer.ts
7432
8028
  var import_crypto5 = require("crypto");
7433
8029
  var agentMessageCounts = /* @__PURE__ */ new Map();
7434
8030
  var reflectionQueues = /* @__PURE__ */ new Map();
@@ -7436,10 +8032,33 @@ var REFLECTION_CADENCE = 10;
7436
8032
  function isKnowledgeEvidence(value) {
7437
8033
  return value !== null;
7438
8034
  }
7439
- function seedFromIdentityText(identity, name) {
8035
+ var DEFAULT_RUNTIME_SEED = "I evolve through experience and collaboration.";
8036
+ function normalizeRuntimeSeedText(raw, name) {
8037
+ const collapsed = raw.replace(/\s+/g, " ").trim();
8038
+ if (!collapsed) return `I am ${name}. ${DEFAULT_RUNTIME_SEED}`;
8039
+ const withoutSecondPersonLead = collapsed.replace(
8040
+ /^you are\b[^.!?\n]*[.!?]?\s*/i,
8041
+ `I am ${name}. `
8042
+ );
8043
+ const normalized = /^i am\b/i.test(withoutSecondPersonLead) ? withoutSecondPersonLead : `I am ${name}. ${withoutSecondPersonLead}`;
8044
+ return normalized.slice(0, 500).trim();
8045
+ }
8046
+ function seedFromIdentityText(identity, name, explicitSeed) {
8047
+ const preferredSeed = String(explicitSeed || "").trim();
8048
+ if (preferredSeed) {
8049
+ return normalizeRuntimeSeedText(preferredSeed, name);
8050
+ }
7440
8051
  const raw = String(identity || "").trim();
7441
- if (!raw) return `I am ${name}. I evolve through experience and collaboration.`;
7442
- return `I am ${name}. I evolve through experience and collaboration.`;
8052
+ if (!raw) return `I am ${name}. ${DEFAULT_RUNTIME_SEED}`;
8053
+ return normalizeRuntimeSeedText(raw, name);
8054
+ }
8055
+ function buildParticipantIdentity(p, identityOverride) {
8056
+ const parts = [
8057
+ String(identityOverride ?? p.identity ?? "").trim(),
8058
+ p.voice?.trim() ? `Voice: ${p.voice.trim()}` : "",
8059
+ p.seed?.trim() ? `Core orientation: ${p.seed.trim()}` : ""
8060
+ ].filter(Boolean);
8061
+ return parts.length > 0 ? parts.join("\n\n") : void 0;
7443
8062
  }
7444
8063
  function derivePerMessageJournalInsights(response) {
7445
8064
  const text = response.trim();
@@ -7499,8 +8118,8 @@ function derivePerMessageJournalInsights(response) {
7499
8118
  }
7500
8119
  function ensureAgentArtifacts(p, identityText) {
7501
8120
  ensureAgent(p.id, {
7502
- voice: `${p.name} style`,
7503
- seed: seedFromIdentityText(identityText, p.name)
8121
+ voice: p.voice?.trim() || `${p.name} style`,
8122
+ seed: seedFromIdentityText(identityText, p.name, p.seed)
7504
8123
  });
7505
8124
  }
7506
8125
  function enqueueReflection(p) {
@@ -7752,7 +8371,7 @@ function cleanParallelMentions(text, all) {
7752
8371
  }
7753
8372
  return cleaned;
7754
8373
  }
7755
- function resolveRuntimeSkills(participant, projectContext) {
8374
+ function resolveRuntimeSkills(participant, projectContext, prompt) {
7756
8375
  const fromProvenance = projectContext?.provenanceByAgentId?.[participant.id]?.skills;
7757
8376
  if (fromProvenance && fromProvenance.length > 0) {
7758
8377
  return fromProvenance;
@@ -7765,6 +8384,12 @@ function resolveRuntimeSkills(participant, projectContext) {
7765
8384
  seen.add(basename);
7766
8385
  resolved.push({ file: skill.file, condition: skill.condition, source: "agent" });
7767
8386
  }
8387
+ for (const skill of resolveBoundSkillFiles(participant.skillBindings ?? [], prompt, participant.provider)) {
8388
+ const basename = skill.file.split("/").pop() || skill.file;
8389
+ if (seen.has(basename)) continue;
8390
+ seen.add(basename);
8391
+ resolved.push({ file: skill.file, condition: skill.condition, source: "agent" });
8392
+ }
7768
8393
  for (const skill of projectContext?.skills ?? []) {
7769
8394
  const basename = skill.file.split("/").pop() || skill.file;
7770
8395
  if (seen.has(basename)) continue;
@@ -7940,9 +8565,14 @@ async function runAgent(workspaceId, p, all, active, prompt, transcript, recentH
7940
8565
  ])
7941
8566
  );
7942
8567
  const interpolate = (text) => Object.keys(vars).length > 0 ? text.replace(/\{\{(\w+)\}\}/g, (_, key) => vars[key] ?? `{{${key}}}`) : text;
7943
- let resolvedIdentity = p.identity ? interpolate(p.identity) : p.identity;
8568
+ const interpolatedIdentity = p.identity ? interpolate(p.identity) : p.identity;
8569
+ const interpolatedSeed = p.seed ? interpolate(p.seed) : p.seed;
8570
+ let resolvedIdentity = buildParticipantIdentity(
8571
+ { ...p, identity: interpolatedIdentity, seed: interpolatedSeed },
8572
+ interpolatedIdentity
8573
+ );
7944
8574
  let selfContent;
7945
- ensureAgentArtifacts(p, resolvedIdentity);
8575
+ ensureAgentArtifacts({ ...p, seed: interpolatedSeed }, resolvedIdentity);
7946
8576
  const agentSelf = readSelf(p.id);
7947
8577
  if (agentSelf?.content) {
7948
8578
  selfContent = `[Self-Model]
@@ -7956,7 +8586,7 @@ ${agentSelf.content}`;
7956
8586
  ${memoryLines.join("\n")}`].filter(Boolean).join("\n\n");
7957
8587
  }
7958
8588
  let skillsContent;
7959
- const resolvedSkills = resolveRuntimeSkills(p, projectContext);
8589
+ const resolvedSkills = resolveRuntimeSkills(p, projectContext, prompt);
7960
8590
  if (resolvedSkills.length > 0) {
7961
8591
  const parts = await Promise.all(
7962
8592
  resolvedSkills.map(async (skill) => {
@@ -8442,24 +9072,30 @@ init_auth_mode();
8442
9072
  async function loadDbParticipants() {
8443
9073
  const agents = await getAgents(LOCAL_USER.id);
8444
9074
  const skillsByAgent = /* @__PURE__ */ new Map();
9075
+ const bindingsByAgent = /* @__PURE__ */ new Map();
8445
9076
  await Promise.all(
8446
9077
  agents.map(async (agent) => {
8447
9078
  skillsByAgent.set(agent.id, await getAgentSkills(agent.id));
9079
+ bindingsByAgent.set(agent.id, await getAgentSkillBindings(agent.id));
8448
9080
  })
8449
9081
  );
8450
9082
  return agents.map((agent) => ({
8451
9083
  id: agent.id,
8452
9084
  name: agent.name,
9085
+ ...agent.title ? { title: agent.title } : {},
8453
9086
  provider: agent.provider || "claude",
8454
9087
  model: agent.model || null,
8455
9088
  color: agent.color || "#6B7280",
8456
9089
  ...agent.description ? { identity: agent.description } : {},
9090
+ ...agent.voice ? { voice: agent.voice } : {},
9091
+ ...agent.seed ? { seed: agent.seed } : {},
8457
9092
  ...skillsByAgent.get(agent.id)?.length ? {
8458
9093
  skills: skillsByAgent.get(agent.id).map((skill) => ({
8459
9094
  file: skill.file,
8460
9095
  condition: skill.condition ?? ""
8461
9096
  }))
8462
- } : {}
9097
+ } : {},
9098
+ ...bindingsByAgent.get(agent.id)?.length ? { skillBindings: bindingsByAgent.get(agent.id) } : {}
8463
9099
  }));
8464
9100
  }
8465
9101
 
@@ -8501,15 +9137,31 @@ function isChatRunPayload(value) {
8501
9137
  );
8502
9138
  }
8503
9139
  async function handleStart2(job) {
9140
+ writeDebugLog("chat-processor.start.received", {
9141
+ jobId: job.id,
9142
+ chatRunId: job.data.chatRunId,
9143
+ signal: job.data.signal
9144
+ });
8504
9145
  const chatRun = await loadChatRunActivity(job.data.chatRunId);
8505
9146
  if (!chatRun) {
9147
+ writeDebugLog("chat-processor.start.missing", {
9148
+ chatRunId: job.data.chatRunId,
9149
+ jobId: job.id
9150
+ });
8506
9151
  console.warn(`[chat-processor] Chat run ${job.data.chatRunId} not found, skipping`);
8507
9152
  return;
8508
9153
  }
8509
9154
  if (chatRun.status === "completed" || chatRun.status === "failed" || chatRun.status === "cancelled") {
9155
+ writeDebugLog("chat-processor.start.skip_terminal", {
9156
+ chatRunId: chatRun.id,
9157
+ status: chatRun.status
9158
+ });
8510
9159
  return;
8511
9160
  }
8512
9161
  if (!isChatRunPayload(chatRun.payload)) {
9162
+ writeDebugLog("chat-processor.start.invalid_payload", {
9163
+ chatRunId: chatRun.id
9164
+ });
8513
9165
  await updateChatRunActivity({
8514
9166
  id: chatRun.id,
8515
9167
  status: "failed",
@@ -8536,10 +9188,20 @@ async function handleStart2(job) {
8536
9188
  lastError: null
8537
9189
  });
8538
9190
  try {
9191
+ writeDebugLog("chat-processor.start.running", {
9192
+ chatRunId: chatRun.id,
9193
+ threadId: chatRun.threadId,
9194
+ rootMessageId: chatRun.rootMessageId,
9195
+ participantIds: chatRun.payload.participantIds
9196
+ });
8539
9197
  const library = await loadDbParticipants();
8540
9198
  const participantIdSet = new Set(chatRun.payload.participantIds);
8541
9199
  const participants = chatRun.payload.participantIds.map((participantId) => library.find((participant) => participant.id === participantId)).filter((participant) => Boolean(participant));
8542
9200
  if (participants.length === 0) {
9201
+ writeDebugLog("chat-processor.start.no_participants_resolved", {
9202
+ chatRunId: chatRun.id,
9203
+ participantIds: chatRun.payload.participantIds
9204
+ });
8543
9205
  throw new Error("No participants resolved for chat run");
8544
9206
  }
8545
9207
  const mentioned = new Set(
@@ -8561,10 +9223,17 @@ async function handleStart2(job) {
8561
9223
  rootMessageId: chatRun.payload.rootMessageId
8562
9224
  });
8563
9225
  const reader = stream.getReader();
9226
+ writeDebugLog("chat-processor.stream.open", {
9227
+ chatRunId: chatRun.id,
9228
+ participantCount: participants.length
9229
+ });
8564
9230
  while (true) {
8565
9231
  const { done } = await reader.read();
8566
9232
  if (done) break;
8567
9233
  }
9234
+ writeDebugLog("chat-processor.stream.complete", {
9235
+ chatRunId: chatRun.id
9236
+ });
8568
9237
  await completeChatRunStepActivity({
8569
9238
  stepId: step.id,
8570
9239
  status: "completed",
@@ -8582,8 +9251,17 @@ async function handleStart2(job) {
8582
9251
  rootMessageId: chatRun.payload.rootMessageId
8583
9252
  }
8584
9253
  });
9254
+ writeDebugLog("chat-processor.complete", {
9255
+ chatRunId: chatRun.id,
9256
+ rootMessageId: chatRun.payload.rootMessageId
9257
+ });
8585
9258
  } catch (error) {
8586
9259
  const message = error instanceof Error ? error.message : String(error);
9260
+ writeDebugLog("chat-processor.error", {
9261
+ chatRunId: chatRun.id,
9262
+ error,
9263
+ message
9264
+ });
8587
9265
  await completeChatRunStepActivity({
8588
9266
  stepId: step.id,
8589
9267
  status: "failed",
@@ -8599,6 +9277,10 @@ async function handleStart2(job) {
8599
9277
  }
8600
9278
  }
8601
9279
  async function handleCancel2(job) {
9280
+ writeDebugLog("chat-processor.cancel.received", {
9281
+ jobId: job.id,
9282
+ chatRunId: job.data.chatRunId
9283
+ });
8602
9284
  const chatRun = await loadChatRunActivity(job.data.chatRunId);
8603
9285
  if (!chatRun) return;
8604
9286
  if (chatRun.rootMessageId) {
@@ -8613,6 +9295,10 @@ async function handleCancel2(job) {
8613
9295
  completedAt: Date.now(),
8614
9296
  result: { cancelled: true }
8615
9297
  });
9298
+ writeDebugLog("chat-processor.cancel.complete", {
9299
+ chatRunId: chatRun.id,
9300
+ threadId: chatRun.threadId
9301
+ });
8616
9302
  }
8617
9303
  async function processSingleJob2(job) {
8618
9304
  switch (job.data.signal) {