@mndrk/agx 2.0.0-next.8 → 2.0.0

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 (407) hide show
  1. package/README.md +16 -5
  2. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/BUILD_ID +1 -1
  3. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/app-path-routes-manifest.json +9 -1
  4. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/build-manifest.json +2 -2
  5. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/prerender-manifest.json +27 -3
  6. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/routes-manifest.json +57 -0
  7. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js +1 -1
  8. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.html +2 -2
  11. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.rsc +1 -1
  12. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js +1 -1
  18. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.html +2 -2
  21. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.rsc +2 -2
  22. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  25. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/app-paths-manifest.json +3 -0
  29. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/build-manifest.json +11 -0
  30. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route/server-reference-manifest.json +4 -0
  31. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js +7 -0
  32. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.map +5 -0
  33. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route.js.nft.json +1 -0
  34. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/daemon/route_client-reference-manifest.js +2 -0
  35. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/file-search/route.js.nft.json +1 -1
  36. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/health/route.js.nft.json +1 -1
  37. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/history/route.js +2 -2
  38. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/learnings/route.js.nft.json +1 -1
  39. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  40. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/memories/route.js.nft.json +1 -1
  41. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/app-paths-manifest.json +3 -0
  42. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/build-manifest.json +11 -0
  43. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route/server-reference-manifest.json +4 -0
  44. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js +8 -0
  45. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js.map +5 -0
  46. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route.js.nft.json +1 -0
  47. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notification-outbox/[id]/route_client-reference-manifest.js +2 -0
  48. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/app-paths-manifest.json +3 -0
  49. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/build-manifest.json +11 -0
  50. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route/server-reference-manifest.json +4 -0
  51. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js +8 -0
  52. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js.map +5 -0
  53. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route.js.nft.json +1 -0
  54. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/[id]/read/route_client-reference-manifest.js +2 -0
  55. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/app-paths-manifest.json +3 -0
  56. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/build-manifest.json +11 -0
  57. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route/server-reference-manifest.json +4 -0
  58. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js +8 -0
  59. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js.map +5 -0
  60. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route.js.nft.json +1 -0
  61. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/route_client-reference-manifest.js +2 -0
  62. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/app-paths-manifest.json +3 -0
  63. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/build-manifest.json +11 -0
  64. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route/server-reference-manifest.json +4 -0
  65. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js +8 -0
  66. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js.map +5 -0
  67. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route.js.nft.json +1 -0
  68. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/notifications/unread-count/route_client-reference-manifest.js +2 -0
  69. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  70. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/signal/route.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/start/route.js.nft.json +1 -1
  72. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/orchestrator/tasks/[taskId]/status/route.js.nft.json +1 -1
  73. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v1/route.js.nft.json +1 -1
  74. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/migrate-v2/route.js.nft.json +1 -1
  75. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
  76. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/projects/route.js.nft.json +1 -1
  77. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/complete/route.js.nft.json +1 -1
  78. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/queue/route.js.nft.json +1 -1
  79. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/system/db-status/route.js.nft.json +1 -1
  80. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/[commentId]/route.js.nft.json +1 -1
  81. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/comments/route.js.nft.json +1 -1
  82. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/costs/route.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/dependencies/route.js.nft.json +1 -1
  84. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/events/route.js.nft.json +1 -1
  85. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/history/route.js.nft.json +1 -1
  86. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/metrics/route.js.nft.json +1 -1
  87. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/pause/route.js.nft.json +1 -1
  88. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/replan/route.js.nft.json +1 -1
  89. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/restart/route.js.nft.json +1 -1
  90. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/resume/route.js.nft.json +1 -1
  91. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/rollback/route.js.nft.json +1 -1
  92. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/route.js.nft.json +1 -1
  93. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/start/route.js.nft.json +1 -1
  94. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/graph/stop/route.js.nft.json +1 -1
  95. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/heartbeat/route.js.nft.json +1 -1
  96. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/history/route.js.nft.json +1 -1
  97. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/route.js.nft.json +1 -1
  98. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/logs/stream/route.js.nft.json +1 -1
  99. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/comments/route.js.nft.json +1 -1
  100. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/complete/route.js.nft.json +1 -1
  101. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/fail/route.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/resume/route.js.nft.json +1 -1
  103. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/start/route.js.nft.json +1 -1
  104. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/stop/route.js.nft.json +1 -1
  105. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/nodes/[nodeId]/verify/route.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  107. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/assign-orphans/route.js.nft.json +1 -1
  108. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/route.js.nft.json +1 -1
  109. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/tasks/stream/route.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/api/user-settings/route.js.nft.json +1 -1
  111. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js +1 -1
  112. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page.js.nft.json +1 -1
  113. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board/page_client-reference-manifest.js +1 -1
  114. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.html +2 -2
  115. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.rsc +2 -2
  116. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_full.segment.rsc +2 -2
  117. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_head.segment.rsc +1 -1
  118. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_index.segment.rsc +2 -2
  119. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  120. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  121. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/board.segments/board.segment.rsc +1 -1
  122. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js +1 -1
  123. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page.js.nft.json +1 -1
  124. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  125. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.html +2 -2
  126. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.rsc +3 -3
  127. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_full.segment.rsc +3 -3
  128. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_head.segment.rsc +1 -1
  129. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_index.segment.rsc +2 -2
  130. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  131. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +2 -2
  132. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +1 -1
  133. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.html +2 -2
  134. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.rsc +3 -3
  135. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  136. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_full.segment.rsc +3 -3
  137. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_head.segment.rsc +1 -1
  138. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_index.segment.rsc +2 -2
  139. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  140. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js +1 -1
  141. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page.js.nft.json +1 -1
  142. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/page_client-reference-manifest.js +1 -1
  143. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js +1 -1
  144. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  145. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  146. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js +1 -1
  147. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  148. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  149. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js +1 -1
  150. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.html +1 -1
  153. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.rsc +3 -3
  154. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_full.segment.rsc +3 -3
  155. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_head.segment.rsc +1 -1
  156. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_index.segment.rsc +2 -2
  157. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  158. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +2 -2
  159. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +1 -1
  160. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/orphans.segments/projects.segment.rsc +1 -1
  161. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js +1 -1
  162. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.html +2 -2
  165. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.rsc +3 -3
  166. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_full.segment.rsc +3 -3
  167. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  168. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  169. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  170. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +2 -2
  171. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/projects.segments/projects.segment.rsc +1 -1
  172. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js +1 -1
  173. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page.js.nft.json +1 -1
  174. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  175. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.html +2 -2
  176. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.rsc +3 -3
  177. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  178. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  179. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  180. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  181. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  182. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  183. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js +1 -1
  184. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page.js.nft.json +1 -1
  185. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status/page_client-reference-manifest.js +1 -1
  186. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.html +2 -2
  187. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.rsc +3 -3
  188. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_full.segment.rsc +3 -3
  189. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_head.segment.rsc +1 -1
  190. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_index.segment.rsc +2 -2
  191. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  192. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status/__PAGE__.segment.rsc +2 -2
  193. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/status.segments/status.segment.rsc +1 -1
  194. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/app-paths-manifest.json +3 -0
  195. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/build-manifest.json +18 -0
  196. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/next-font-manifest.json +11 -0
  197. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/react-loadable-manifest.json +1 -0
  198. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page/server-reference-manifest.json +4 -0
  199. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js +16 -0
  200. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js.map +5 -0
  201. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page.js.nft.json +1 -0
  202. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/[threadId]/page_client-reference-manifest.js +2 -0
  203. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/app-paths-manifest.json +3 -0
  204. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/build-manifest.json +18 -0
  205. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/next-font-manifest.json +11 -0
  206. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/react-loadable-manifest.json +1 -0
  207. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page/server-reference-manifest.json +4 -0
  208. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js +16 -0
  209. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js.map +5 -0
  210. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page.js.nft.json +1 -0
  211. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/w/[workspaceId]/page_client-reference-manifest.js +2 -0
  212. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/app-paths-manifest.json +3 -0
  213. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/build-manifest.json +18 -0
  214. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/next-font-manifest.json +11 -0
  215. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/react-loadable-manifest.json +1 -0
  216. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page/server-reference-manifest.json +4 -0
  217. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js +15 -0
  218. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.map +5 -0
  219. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page.js.nft.json +1 -0
  220. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome/page_client-reference-manifest.js +2 -0
  221. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.html +9 -0
  222. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.meta +15 -0
  223. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.rsc +23 -0
  224. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_full.segment.rsc +23 -0
  225. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_head.segment.rsc +5 -0
  226. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_index.segment.rsc +9 -0
  227. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/_tree.segment.rsc +5 -0
  228. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +9 -0
  229. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app/welcome.segments/welcome.segment.rsc +4 -0
  230. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/app-paths-manifest.json +9 -1
  231. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/7e210_Agents_agx-cloud__next-internal_server_app_api_daemon_route_actions_460dc557.js +3 -0
  232. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_ef3cf579._.js +8 -8
  233. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_6a5d1c80._.js +11 -11
  234. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/Projects_Agents_agx-cloud_lib_7eefb426._.js +10 -10
  235. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__1f176ebf._.js +4 -0
  236. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__22d0d2cc._.js +10 -0
  237. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__26bfcde9._.js +7 -7
  238. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__27e9e463._.js +3 -0
  239. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__299302d8._.js +1 -1
  240. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__2ed85740._.js +3 -0
  241. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__33e7bfc0._.js +5 -0
  242. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__8f9b0934._.js +28 -28
  243. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__9b8efd58._.js +1 -1
  244. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__a7a82510._.js +7 -7
  245. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__bea8711d._.js +1 -1
  246. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/[root-of-the-server]__ec8bbb77._.js +1 -1
  247. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notification-outbox_[id]_route_actions_c429c549.js +3 -0
  248. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notifications_[id]_read_route_actions_615ae13d.js +3 -0
  249. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/a2576__next-internal_server_app_api_notifications_unread-count_route_actions_b61a9301.js +3 -0
  250. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ad555_agx-cloud__next-internal_server_app_api_notifications_route_actions_06dbcdc4.js +3 -0
  251. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ae43b_next_dist_esm_build_templates_app-route_122e31fe.js +28 -24
  252. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/7e210_Agents_agx-cloud__next-internal_server_app_welcome_page_actions_5176f4d4.js +3 -0
  253. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_033373a0._.js +3 -0
  254. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_039c43e5._.js +1 -1
  255. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0562c9cd._.js +3 -0
  256. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0cf15b7b._.js +8 -0
  257. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_0d91718c._.js +3 -0
  258. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_1e1c23f7._.js +1 -1
  259. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_502ede06._.js +1 -1
  260. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_68972519._.js +1 -1
  261. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_69570e90._.js +3 -0
  262. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_6cbdc6fd._.js +4 -0
  263. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_82783170._.js +3 -0
  264. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a0e26bca._.js +1 -1
  265. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a2a39dbe._.js +1 -1
  266. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_aaa774d8._.js +4 -0
  267. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_afe007c2._.js +4 -0
  268. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_b2707e4d._.js +1 -1
  269. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_components_chat-ui_f59beea5._.js +95 -0
  270. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{Projects_Agents_agx-cloud_e7635878._.js → Projects_Agents_agx-cloud_dc82c7bf._.js} +2 -2
  271. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ef6ea3fc._.js +1 -1
  272. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_ff11dd7c._.js +1 -1
  273. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__9d72d782._.js → [root-of-the-server]__00507cd5._.js} +2 -2
  274. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__24a978df._.js +3 -0
  275. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__523e8b0b._.js +3 -0
  276. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__546c34e3._.js +3 -0
  277. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__807e5ecc._.js +3 -0
  278. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__9668fae0._.js +3 -0
  279. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__97870484._.js +3 -0
  280. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__657b446b._.js → [root-of-the-server]__99fa92e8._.js} +2 -2
  281. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__a4a5c57b._.js +3 -0
  282. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__b549e8c2._.js +4 -0
  283. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/{[root-of-the-server]__5dace3c6._.js → [root-of-the-server]__d78dfcf2._.js} +2 -2
  284. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__e915acb2._.js +3 -0
  285. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/a2576__next-internal_server_app_w_[workspaceId]_[threadId]_page_actions_f668795b.js +3 -0
  286. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ad555_agx-cloud__next-internal_server_app_w_[workspaceId]_page_actions_8ade5a6c.js +3 -0
  287. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_@dnd-kit_core_dist_core_esm_e4fe20d7.js +3 -0
  288. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_db3f38e3._.js +1 -1
  289. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_63b016a6._.js +3 -0
  290. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_2cd20dd7._.js +1 -1
  291. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_832595f2._.js +1 -1
  292. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_next_dist_esm_build_templates_app-page_e4003e94.js +1 -1
  293. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/functions-config-manifest.json +1 -0
  294. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/middleware-manifest.json +5 -5
  295. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.js +1 -1
  296. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/next-font-manifest.json +12 -0
  297. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/404.html +1 -1
  298. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/pages/500.html +2 -2
  299. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.js +1 -1
  300. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/server-reference-manifest.json +1 -1
  301. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0804e1cf36ac4c40.js +1 -0
  302. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/245ea04687930f1c.css +1 -0
  303. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/2f63efec13a9346a.js +1 -0
  304. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/54fbb309ba7c2b4b.js +1 -0
  305. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/55f8c843a8037ac8.js +1 -0
  306. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5eda5cd286808293.js +93 -0
  307. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/6bfec2ea0d682ffc.js +18 -0
  308. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/7d2c10033c8a8554.js +1 -0
  309. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{b47938cee3a79764.js → 822bd641355a9397.js} +2 -2
  310. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/{49b2630db3ff37fe.js → 8dad5ee086c3d46d.js} +1 -1
  311. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/c6ed4939c63ba444.js +1 -0
  312. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/e4b656247e95267b.js +1 -0
  313. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/ef426b92c6ce58a5.js +1 -0
  314. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/daemon/route.ts +55 -0
  315. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notification-outbox/[id]/route.ts +42 -0
  316. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/[id]/read/route.ts +43 -0
  317. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/route.ts +46 -0
  318. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/notifications/unread-count/route.ts +24 -0
  319. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/participants/route.ts +13 -6
  320. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/api/system/db-status/route.ts +23 -15
  321. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/projects/[slug]/layout.tsx +28 -10
  322. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/[threadId]/page.tsx +4 -0
  323. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/layout.tsx +7 -0
  324. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/w/[workspaceId]/page.tsx +4 -0
  325. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/app/welcome/page.tsx +117 -0
  326. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Layout.tsx +4 -6
  327. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationBell.tsx +62 -0
  328. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationItem.tsx +96 -0
  329. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/NotificationsPanel.tsx +127 -0
  330. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/Notifications/index.ts +3 -0
  331. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/WorkspaceNav.tsx +67 -0
  332. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatContainer.tsx +181 -122
  333. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ChatPreview.tsx +85 -0
  334. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageBubble.tsx +3 -0
  335. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/MessageList.tsx +3 -16
  336. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ParticipantBar.tsx +41 -86
  337. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/chat-ui/ThreadView.tsx +4 -3
  338. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadItem.tsx +9 -9
  339. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadList.tsx +15 -15
  340. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/components/thread/ThreadSidebar.tsx +34 -34
  341. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/db/sqlite/001_agx_board_schema.sql +52 -0
  342. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useNotifications.ts +115 -0
  343. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/hooks/useThreadState.ts +85 -85
  344. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/cli-runner.ts +6 -1
  345. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/cursors.js +75 -0
  346. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/notifications.js +70 -0
  347. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/db/preferences.js +110 -0
  348. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/demo-threads.ts +76 -0
  349. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/jobs/pruneNotifications.js +87 -0
  350. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/participants-store.ts +7 -3
  351. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/projectors/notificationProjector.js +351 -0
  352. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/index.ts +1 -1
  353. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/local-thread-adapter.ts +27 -27
  354. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/storage/thread-adapter.ts +31 -31
  355. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/stream-multiplexer.ts +45 -9
  356. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/lib/types.ts +7 -1
  357. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/migrations/sqlite_schema.sql +45 -0
  358. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/script.txt +111 -0
  359. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/services/threadService.ts +32 -32
  360. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/threadSelection.test.ts +30 -30
  361. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/threadSelection.ts +21 -21
  362. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/state/uiSettings.ts +14 -11
  363. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/_helpers.js +68 -0
  364. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/crash.test.js +139 -0
  365. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/duplicate.test.js +111 -0
  366. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/flood.test.js +162 -0
  367. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tests/projector/replay.test.js +107 -0
  368. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/tsconfig.tsbuildinfo +1 -1
  369. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/types/userPreferences.ts +12 -8
  370. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/worker/index.js +5 -1
  371. package/lib/cli/daemon.js +7 -1
  372. package/lib/cli/onboarding.js +71 -1
  373. package/lib/cli/providers.js +5 -5
  374. package/lib/cli/runCli.js +12 -1
  375. package/lib/commands/chat.js +8 -2
  376. package/lib/executor.js +56 -3
  377. package/lib/proc/commandExists.js +14 -8
  378. package/package.json +1 -1
  379. package/scripts/postinstall.js +19 -7
  380. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_215731e9._.js +0 -3
  381. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_2b2a91e2._.js +0 -3
  382. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_a7533794._.js +0 -3
  383. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/Projects_Agents_agx-cloud_e1b68242._.js +0 -8
  384. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__0d6259d5._.js +0 -3
  385. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__13df20fe._.js +0 -95
  386. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__c76acf29._.js +0 -4
  387. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/[root-of-the-server]__e5a1e0b5._.js +0 -3
  388. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_6c755856._.js +0 -3
  389. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/server/chunks/ssr/ae43b_lucide-react_dist_esm_icons_search_04b9412a.js +0 -3
  390. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/0d58db99a936501d.js +0 -1
  391. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/20d98b7f52e93d14.js +0 -18
  392. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/216d8e2f28fa9ab1.js +0 -1
  393. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5d94ba021f22122d.js +0 -1
  394. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/5e2849404c532f70.js +0 -1
  395. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/81d22c5173d36098.js +0 -93
  396. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9b2c429432840844.css +0 -1
  397. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/9fa263ad20d27969.js +0 -1
  398. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/chunks/dc534541f2bd6342.js +0 -1
  399. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-board.db +0 -0
  400. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-board.db-shm +0 -0
  401. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-board.db-wal +0 -0
  402. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-queue.db +0 -0
  403. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-queue.db-shm +0 -0
  404. package/cloud-runtime/standalone/Projects/Agents/agx-cloud/agx-queue.db-wal +0 -0
  405. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{m5R8F5c1zxb5EWbYNiR5n → UBZZwc9vLlz1xCm5PYCTc}/_buildManifest.js +0 -0
  406. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{m5R8F5c1zxb5EWbYNiR5n → UBZZwc9vLlz1xCm5PYCTc}/_clientMiddlewareManifest.json +0 -0
  407. /package/cloud-runtime/standalone/Projects/Agents/agx-cloud/.next/static/{m5R8F5c1zxb5EWbYNiR5n → UBZZwc9vLlz1xCm5PYCTc}/_ssgManifest.js +0 -0
@@ -1,9 +1,10 @@
1
1
  "use client";
2
2
 
3
3
  import { useEffect, useRef, useState, useCallback, useMemo } from "react";
4
+ import { useRouter, useParams } from "next/navigation";
4
5
  import { useGroupChat } from "@/hooks/useGroupChat";
5
- import { useThreadState } from "@/hooks/useThreadState";
6
- import { ThreadSidebar } from "@/components/thread/ThreadSidebar";
6
+ import { useWorkspaceState } from "@/hooks/useThreadState";
7
+ import { WorkspaceSidebar } from "@/components/thread/ThreadSidebar";
7
8
  import "@/styles/threadSidebar.css";
8
9
  import { MessageList } from "./MessageList";
9
10
  import { ThreadView } from "./ThreadView";
@@ -11,8 +12,8 @@ import { SearchResults } from "./SearchResults";
11
12
  import { Composer } from "./Composer";
12
13
  import { LogPanel } from "./LogPanel";
13
14
  import {
14
- loadThreadSidebarVisible,
15
- persistThreadSidebarVisible,
15
+ loadWorkspaceSidebarVisible,
16
+ persistWorkspaceSidebarVisible,
16
17
  } from "@/state/uiSettings";
17
18
  import {
18
19
  loadStoredActiveParticipantIds,
@@ -29,7 +30,7 @@ import { buildTasks } from "@/services/agxService";
29
30
  import { SquareTerminal, Search, ChevronLeft } from "lucide-react";
30
31
  import { StatusIndicator } from "./StatusIndicator";
31
32
 
32
- const LEGACY_THREAD_ID = "global";
33
+ const LEGACY_WORKSPACE_ID = "global";
33
34
  const SUMMARY_MARKER = "<!-- thread-summary -->";
34
35
  const TASK_DRAFT_MARKER = "<!-- task-draft -->";
35
36
 
@@ -138,35 +139,51 @@ function toMarkdown(
138
139
  return lines.join("\n").trim();
139
140
  }
140
141
 
141
- export function ChatContainer() {
142
+ interface ChatContainerProps {
143
+ /** Workspace ID from URL (/w/<id>) */
144
+ workspaceId?: string;
145
+ /** Root message ID to open as a sub-thread view (/w/<id>/<threadId>) */
146
+ openRootMessageId?: string;
147
+ }
148
+
149
+ export function ChatContainer({ workspaceId: propWorkspaceId, openRootMessageId }: ChatContainerProps = {}) {
150
+ const router = useRouter();
151
+ const params = useParams();
152
+ // Read from URL params so navigating /w/<id> <-> /w/<id>/<threadId> doesn't remount
153
+ const urlWorkspaceId = (params?.workspaceId as string | undefined) ?? propWorkspaceId;
154
+ const urlThreadId = (params?.threadId as string | undefined) ?? openRootMessageId ?? null;
142
155
  const {
143
- threads,
144
- activeThreadId,
145
- selectThread,
146
- createThread,
147
- deleteThread,
148
- updateThreadMessages,
156
+ workspaces,
157
+ activeWorkspaceId,
158
+ selectWorkspace,
159
+ createWorkspace,
160
+ deleteWorkspace,
161
+ updateWorkspaceMessages,
149
162
  isCreating,
150
- deletingThreadId,
151
- renamingThreadId,
152
- isLoading: threadsLoading,
153
- isRestoringActiveThread,
154
- renameThread,
155
- } = useThreadState();
163
+ deletingWorkspaceId,
164
+ renamingWorkspaceId,
165
+ isLoading: workspacesLoading,
166
+ isRestoringActiveWorkspace,
167
+ renameWorkspace,
168
+ } = useWorkspaceState();
156
169
  const { messages, streaming, loading, logs, sendMessage, loadHistory, clearLogs, stop, stopThread } =
157
- useGroupChat(activeThreadId);
170
+ useGroupChat(activeWorkspaceId);
158
171
  const [participants, setParticipants] = useState<Participant[]>([]);
159
172
  const [participantsLoaded, setParticipantsLoaded] = useState(false);
160
173
  const [activeParticipantIds, setActiveParticipantIds] = useState<string[]>([]);
161
174
  const [copied, setCopied] = useState(false);
162
175
  const [logsOpen, setLogsOpen] = useState(false);
163
- const [threadSidebarVisible, setThreadSidebarVisible] = useState(false);
176
+ const [workspaceSidebarVisible, setWorkspaceSidebarVisible] = useState(false);
164
177
 
165
178
  // Sync sidebar visibility from localStorage after hydration to avoid SSR mismatch
166
179
  useEffect(() => {
167
- setThreadSidebarVisible(loadThreadSidebarVisible());
180
+ setWorkspaceSidebarVisible(loadWorkspaceSidebarVisible());
168
181
  }, []);
169
- const [openThreadId, setOpenThreadId] = useState<string | null>(null);
182
+ const [openThreadId, setOpenThreadId] = useState<string | null>(urlThreadId);
183
+ // Sync openThreadId with URL changes (navigating between /w/<id> and /w/<id>/<threadId>)
184
+ useEffect(() => {
185
+ setOpenThreadId(urlThreadId);
186
+ }, [urlThreadId]);
170
187
  const [searchQuery, setSearchQuery] = useState("");
171
188
  const [searchResults, setSearchResults] = useState<MessageSearchResult[]>([]);
172
189
  const [searchTotal, setSearchTotal] = useState(0);
@@ -180,20 +197,20 @@ export function ChatContainer() {
180
197
  setTaskDraftsRaw((prev) => {
181
198
  const next = typeof update === "function" ? update(prev) : update;
182
199
  // persist each changed draft
183
- if (activeThreadId) {
200
+ if (activeWorkspaceId) {
184
201
  for (const [msgId, draft] of Object.entries(next)) {
185
202
  if (prev[msgId] !== draft) {
186
203
  fetch("/api/task-drafts", {
187
204
  method: "POST",
188
205
  headers: { "Content-Type": "application/json" },
189
- body: JSON.stringify({ threadId: activeThreadId, messageId: msgId, draft }),
206
+ body: JSON.stringify({ threadId: activeWorkspaceId, messageId: msgId, draft }),
190
207
  }).catch(() => { });
191
208
  }
192
209
  }
193
210
  }
194
211
  return next;
195
212
  });
196
- }, [activeThreadId]);
213
+ }, [activeWorkspaceId]);
197
214
  const [extractingTasks, setExtractingTasks] = useState<Set<string>>(new Set());
198
215
  const [buildingDrafts, setBuildingDrafts] = useState<Set<string>>(new Set());
199
216
  const searchInputRef = useRef<HTMLInputElement | null>(null);
@@ -218,9 +235,9 @@ export function ChatContainer() {
218
235
  []
219
236
  );
220
237
 
221
- const persistThreadSidebarPreferenceRemotely = useCallback(async (visible: boolean) => {
238
+ const persistWorkspaceSidebarPreferenceRemotely = useCallback(async (visible: boolean) => {
222
239
  try {
223
- await updateUserPreferences({ threadSidebarVisible: visible });
240
+ await updateUserPreferences({ workspaceSidebarVisible: visible });
224
241
  } catch (error) {
225
242
  console.error("Unable to persist thread sidebar preference", error);
226
243
  }
@@ -228,20 +245,20 @@ export function ChatContainer() {
228
245
 
229
246
  const persistSidebarPreference = useCallback(
230
247
  (visible: boolean) => {
231
- persistThreadSidebarVisible(visible);
232
- void persistThreadSidebarPreferenceRemotely(visible);
248
+ persistWorkspaceSidebarVisible(visible);
249
+ void persistWorkspaceSidebarPreferenceRemotely(visible);
233
250
  },
234
- [persistThreadSidebarPreferenceRemotely]
251
+ [persistWorkspaceSidebarPreferenceRemotely]
235
252
  );
236
253
 
237
254
  const normalizedSearchQuery = searchQuery.trim();
238
255
  const searchActive = normalizedSearchQuery.length > 0;
239
- const threadTitleById = useMemo(
256
+ const workspaceTitleById = useMemo(
240
257
  () =>
241
258
  Object.fromEntries(
242
- threads.map((thread) => [thread.id, thread.title?.trim() || "Untitled workspace"])
259
+ workspaces.map((workspace) => [workspace.id, workspace.title?.trim() || "Untitled workspace"])
243
260
  ),
244
- [threads]
261
+ [workspaces]
245
262
  );
246
263
 
247
264
  const activeThreadParticipants = useMemo(() => {
@@ -372,12 +389,12 @@ export function ChatContainer() {
372
389
  const participantIds = participants.map((participant) => participant.id);
373
390
  const participantIdSet = new Set(participantIds);
374
391
 
375
- if (!activeThreadId) {
392
+ if (!activeWorkspaceId) {
376
393
  setActiveParticipantIds(participantIds);
377
394
  return;
378
395
  }
379
396
 
380
- const storedIds = loadStoredActiveParticipantIds(activeThreadId);
397
+ const storedIds = loadStoredActiveParticipantIds(activeWorkspaceId);
381
398
  if (storedIds === null) {
382
399
  setActiveParticipantIds(participantIds);
383
400
  return;
@@ -385,10 +402,10 @@ export function ChatContainer() {
385
402
 
386
403
  const reconciled = storedIds.filter((id) => participantIdSet.has(id));
387
404
  if (reconciled.length !== storedIds.length) {
388
- persistStoredActiveParticipantIds(activeThreadId, reconciled);
405
+ persistStoredActiveParticipantIds(activeWorkspaceId, reconciled);
389
406
  }
390
407
  setActiveParticipantIds(reconciled);
391
- }, [activeThreadId, participants, participantsLoaded]);
408
+ }, [activeWorkspaceId, participants, participantsLoaded]);
392
409
 
393
410
  useEffect(() => {
394
411
  let cancelled = false;
@@ -396,12 +413,12 @@ export function ChatContainer() {
396
413
  try {
397
414
  const preferences = await fetchUserPreferences();
398
415
  if (cancelled) return;
399
- setThreadSidebarVisible((current) => {
400
- if (current === preferences.threadSidebarVisible) {
416
+ setWorkspaceSidebarVisible((current) => {
417
+ if (current === preferences.workspaceSidebarVisible) {
401
418
  return current;
402
419
  }
403
- persistThreadSidebarVisible(preferences.threadSidebarVisible);
404
- return preferences.threadSidebarVisible;
420
+ persistWorkspaceSidebarVisible(preferences.workspaceSidebarVisible);
421
+ return preferences.workspaceSidebarVisible;
405
422
  });
406
423
  } catch (error) {
407
424
  console.error("Failed to load user preferences", error);
@@ -410,13 +427,49 @@ export function ChatContainer() {
410
427
  return () => {
411
428
  cancelled = true;
412
429
  };
413
- }, [fetchUserPreferences, persistThreadSidebarVisible]);
430
+ }, [fetchUserPreferences, persistWorkspaceSidebarVisible]);
431
+
432
+ useEffect(() => {
433
+ if (!workspacesLoading && !isCreating && workspaces.length === 0) {
434
+ void createWorkspace({ id: LEGACY_WORKSPACE_ID, title: "General" });
435
+ }
436
+ }, [workspacesLoading, isCreating, workspaces.length, createWorkspace]);
437
+
438
+ // Select workspace from URL param on mount
439
+ const urlWorkspaceHandledRef = useRef(false);
440
+ useEffect(() => {
441
+ if (!urlWorkspaceId || workspacesLoading || urlWorkspaceHandledRef.current) return;
442
+ urlWorkspaceHandledRef.current = true;
443
+ const existing = workspaces.find((w) => w.id === urlWorkspaceId);
444
+ if (existing) {
445
+ selectWorkspace(urlWorkspaceId);
446
+ } else {
447
+ void createWorkspace({ id: urlWorkspaceId });
448
+ }
449
+ }, [urlWorkspaceId, workspacesLoading, workspaces, selectWorkspace, createWorkspace]);
450
+
451
+ // Redirect bare / to /w/<activeWorkspaceId>
452
+ const hasRedirectedRef = useRef(false);
453
+ useEffect(() => {
454
+ if (urlWorkspaceId || hasRedirectedRef.current || !activeWorkspaceId || workspacesLoading) return;
455
+ hasRedirectedRef.current = true;
456
+ router.replace(`/w/${activeWorkspaceId}`);
457
+ }, [urlWorkspaceId, activeWorkspaceId, workspacesLoading, router]);
414
458
 
459
+ // Sync URL when active workspace changes (only when already on /w/ route)
460
+ const prevActiveWorkspaceIdForUrlRef = useRef<string | null>(null);
415
461
  useEffect(() => {
416
- if (!threadsLoading && !isCreating && threads.length === 0) {
417
- void createThread({ id: LEGACY_THREAD_ID, title: "General" });
462
+ if (!urlWorkspaceId || !activeWorkspaceId) return;
463
+ if (prevActiveWorkspaceIdForUrlRef.current === null) {
464
+ prevActiveWorkspaceIdForUrlRef.current = activeWorkspaceId;
465
+ return;
418
466
  }
419
- }, [threadsLoading, isCreating, threads.length, createThread]);
467
+ if (activeWorkspaceId !== prevActiveWorkspaceIdForUrlRef.current) {
468
+ prevActiveWorkspaceIdForUrlRef.current = activeWorkspaceId;
469
+ router.replace(`/w/${activeWorkspaceId}`);
470
+ }
471
+ }, [urlWorkspaceId, activeWorkspaceId, router]);
472
+
420
473
 
421
474
  useEffect(() => {
422
475
  return () => {
@@ -502,10 +555,10 @@ export function ChatContainer() {
502
555
  };
503
556
  }, [normalizedSearchQuery]);
504
557
 
505
- const prevActiveThreadIdRef = useRef<string | null>(null);
558
+ const prevActiveWorkspaceIdRef = useRef<string | null>(null);
506
559
  useEffect(() => {
507
- // Only stop active streams when actually switching threads, not on initial mount.
508
- if (prevActiveThreadIdRef.current !== null && prevActiveThreadIdRef.current !== activeThreadId) {
560
+ // Only stop active streams when actually switching workspaces, not on initial mount.
561
+ if (prevActiveWorkspaceIdRef.current !== null && prevActiveWorkspaceIdRef.current !== activeWorkspaceId) {
509
562
  stop();
510
563
  if (pendingOpenThreadIdRef.current) {
511
564
  setOpenThreadId(pendingOpenThreadIdRef.current);
@@ -514,11 +567,11 @@ export function ChatContainer() {
514
567
  setOpenThreadId(null);
515
568
  }
516
569
  }
517
- prevActiveThreadIdRef.current = activeThreadId;
518
- if (!activeThreadId) return;
519
- void loadHistory(activeThreadId);
570
+ prevActiveWorkspaceIdRef.current = activeWorkspaceId;
571
+ if (!activeWorkspaceId) return;
572
+ void loadHistory(activeWorkspaceId);
520
573
  // Load persisted task drafts
521
- fetch(`/api/task-drafts?threadId=${encodeURIComponent(activeThreadId)}`)
574
+ fetch(`/api/task-drafts?threadId=${encodeURIComponent(activeWorkspaceId)}`)
522
575
  .then((r) => r.json())
523
576
  .then((data) => {
524
577
  if (data.drafts && Object.keys(data.drafts).length > 0) {
@@ -528,33 +581,33 @@ export function ChatContainer() {
528
581
  }
529
582
  })
530
583
  .catch(() => setTaskDraftsRaw({}));
531
- }, [activeThreadId, loadHistory, stop]);
584
+ }, [activeWorkspaceId, loadHistory, stop]);
532
585
 
533
586
  useEffect(() => {
534
- if (!activeThreadId) return;
535
- void updateThreadMessages(activeThreadId, messages);
536
- }, [activeThreadId, messages, updateThreadMessages]);
587
+ if (!activeWorkspaceId) return;
588
+ void updateWorkspaceMessages(activeWorkspaceId, messages);
589
+ }, [activeWorkspaceId, messages, updateWorkspaceMessages]);
537
590
 
538
591
  const handleThreadReply = useCallback(
539
592
  (rootMessageId: string, content: string, maxRounds: number = 10) => {
540
- if (!activeThreadId) return;
593
+ if (!activeWorkspaceId) return;
541
594
  if (activeParticipants.length === 0) return;
542
595
  void sendMessage(
543
596
  content,
544
597
  maxRounds,
545
- activeThreadId,
598
+ activeWorkspaceId,
546
599
  rootMessageId,
547
600
  undefined,
548
601
  undefined,
549
602
  activeParticipants.map((participant) => participant.id)
550
603
  );
551
604
  },
552
- [activeThreadId, sendMessage, activeParticipants]
605
+ [activeWorkspaceId, sendMessage, activeParticipants]
553
606
  );
554
607
 
555
608
 
556
609
  const handleSummarize = useCallback(async (rootMessageId: string) => {
557
- if (!activeThreadId) return;
610
+ if (!activeWorkspaceId) return;
558
611
  if (activeParticipants.length === 0) {
559
612
  window.alert("Enable at least one agent in this workspace.");
560
613
  return;
@@ -565,13 +618,13 @@ export function ChatContainer() {
565
618
  method: "POST",
566
619
  headers: { "Content-Type": "application/json" },
567
620
  body: JSON.stringify({
568
- threadId: activeThreadId,
621
+ threadId: activeWorkspaceId,
569
622
  rootMessageId,
570
623
  activeParticipantIds: activeParticipants.map((participant) => participant.id),
571
624
  }),
572
625
  });
573
626
  if (res.ok) {
574
- await loadHistory(activeThreadId);
627
+ await loadHistory(activeWorkspaceId);
575
628
  } else {
576
629
  console.error("Summarize failed:", await res.text());
577
630
  }
@@ -584,10 +637,10 @@ export function ChatContainer() {
584
637
  return next;
585
638
  });
586
639
  }
587
- }, [activeThreadId, loadHistory, activeParticipants]);
640
+ }, [activeWorkspaceId, loadHistory, activeParticipants]);
588
641
 
589
642
  const handleExtractTasks = useCallback(async (rootMessageId: string) => {
590
- if (!activeThreadId) return;
643
+ if (!activeWorkspaceId) return;
591
644
  if (activeParticipants.length === 0) {
592
645
  window.alert("Enable at least one agent in this workspace.");
593
646
  return;
@@ -598,7 +651,7 @@ export function ChatContainer() {
598
651
  method: "POST",
599
652
  headers: { "Content-Type": "application/json" },
600
653
  body: JSON.stringify({
601
- threadId: activeThreadId,
654
+ threadId: activeWorkspaceId,
602
655
  rootMessageId,
603
656
  activeParticipantIds: activeParticipants.map((participant) => participant.id),
604
657
  }),
@@ -624,14 +677,14 @@ export function ChatContainer() {
624
677
  return next;
625
678
  });
626
679
  }
627
- }, [activeThreadId, activeParticipants]);
680
+ }, [activeWorkspaceId, activeParticipants]);
628
681
 
629
682
  const handleUpdateTaskDraft = useCallback((rootMessageId: string, draft: TaskDraftMessage) => {
630
683
  setTaskDrafts((prev) => ({ ...prev, [rootMessageId]: draft }));
631
684
  }, []);
632
685
 
633
686
  const handleBuildTasks = useCallback(async (rootMessageId: string, draft: TaskDraftMessage, projectId: string, projectName: string) => {
634
- if (!activeThreadId) return;
687
+ if (!activeWorkspaceId) return;
635
688
  setBuildingDrafts((prev) => new Set(prev).add(draft.draftId));
636
689
  setTaskDrafts((prev) => ({
637
690
  ...prev,
@@ -676,10 +729,10 @@ export function ChatContainer() {
676
729
  return next;
677
730
  });
678
731
  }
679
- }, [activeThreadId]);
732
+ }, [activeWorkspaceId]);
680
733
 
681
734
  const handleCreateTasksCommand = useCallback(() => {
682
- if (!activeThreadId) return;
735
+ if (!activeWorkspaceId) return;
683
736
  const targetRootId = (() => {
684
737
  if (openThreadId) return openThreadId;
685
738
  const replyRoots = new Set(
@@ -700,15 +753,17 @@ export function ChatContainer() {
700
753
  return;
701
754
  }
702
755
  void handleExtractTasks(targetRootId);
703
- }, [activeThreadId, handleExtractTasks, messages, openThreadId]);
756
+ }, [activeWorkspaceId, handleExtractTasks, messages, openThreadId]);
704
757
 
705
758
  const handleReplyToMessage = useCallback((messageId: string) => {
706
759
  setOpenThreadId(messageId);
707
760
  }, []);
708
761
 
709
762
  const handleOpenThread = useCallback((rootMessageId: string) => {
710
- setOpenThreadId(rootMessageId);
711
- }, []);
763
+ if (activeWorkspaceId) {
764
+ router.push(`/w/${activeWorkspaceId}/${rootMessageId}`);
765
+ }
766
+ }, [activeWorkspaceId, router]);
712
767
 
713
768
  const handleSearchCommand = useCallback((query?: string) => {
714
769
  const normalized = query?.trim() ?? "";
@@ -724,7 +779,7 @@ export function ChatContainer() {
724
779
  }, []);
725
780
 
726
781
  const handleSummarizeCommand = useCallback(() => {
727
- if (!activeThreadId) return;
782
+ if (!activeWorkspaceId) return;
728
783
 
729
784
  const targetRootId = (() => {
730
785
  if (openThreadId) return openThreadId;
@@ -747,7 +802,7 @@ export function ChatContainer() {
747
802
  return;
748
803
  }
749
804
  void handleSummarize(targetRootId);
750
- }, [activeThreadId, handleSummarize, messages, openThreadId]);
805
+ }, [activeWorkspaceId, handleSummarize, messages, openThreadId]);
751
806
 
752
807
  const handleSend = useCallback(
753
808
  async (prompt: string, maxRounds: number, attachmentIds?: string[], attachmentMetas?: import("@/lib/types").Attachment[]) => {
@@ -767,10 +822,10 @@ export function ChatContainer() {
767
822
  return;
768
823
  }
769
824
 
770
- let threadId = activeThreadId;
771
- if (!threadId) {
772
- const created = await createThread();
773
- threadId = created.id;
825
+ let workspaceId = activeWorkspaceId;
826
+ if (!workspaceId) {
827
+ const created = await createWorkspace();
828
+ workspaceId = created.id;
774
829
  }
775
830
 
776
831
  const selectedActiveIds = activeParticipants.map((participant) => participant.id);
@@ -783,7 +838,7 @@ export function ChatContainer() {
783
838
  await sendMessage(
784
839
  prompt,
785
840
  maxRounds,
786
- threadId,
841
+ workspaceId,
787
842
  openThreadId,
788
843
  attachmentIds,
789
844
  attachmentMetas,
@@ -797,7 +852,7 @@ export function ChatContainer() {
797
852
  await sendMessage(
798
853
  prompt,
799
854
  maxRounds,
800
- threadId,
855
+ workspaceId,
801
856
  null,
802
857
  attachmentIds,
803
858
  attachmentMetas,
@@ -805,8 +860,8 @@ export function ChatContainer() {
805
860
  );
806
861
  },
807
862
  [
808
- activeThreadId,
809
- createThread,
863
+ activeWorkspaceId,
864
+ createWorkspace,
810
865
  handleSearchCommand,
811
866
  handleSummarizeCommand,
812
867
  openThreadId,
@@ -818,9 +873,9 @@ export function ChatContainer() {
818
873
  const handleSelectSearchResult = useCallback(
819
874
  (result: MessageSearchResult) => {
820
875
  const targetRootId = result.rootMessageId || result.messageId;
821
- if (result.threadId !== activeThreadId) {
876
+ if (result.threadId !== activeWorkspaceId) {
822
877
  pendingOpenThreadIdRef.current = targetRootId;
823
- selectThread(result.threadId);
878
+ selectWorkspace(result.threadId);
824
879
  } else {
825
880
  setOpenThreadId(targetRootId);
826
881
  }
@@ -836,20 +891,20 @@ export function ChatContainer() {
836
891
  });
837
892
  clearSearch();
838
893
  },
839
- [activeThreadId, clearSearch, selectThread]
894
+ [activeWorkspaceId, clearSearch, selectWorkspace]
840
895
  );
841
896
 
842
- const handleDeleteThread = useCallback(
843
- async (threadId: string) => {
897
+ const handleDeleteWorkspace = useCallback(
898
+ async (workspaceId: string) => {
844
899
  stop();
845
- await deleteThread(threadId);
900
+ await deleteWorkspace(workspaceId);
846
901
  },
847
- [deleteThread, stop]
902
+ [deleteWorkspace, stop]
848
903
  );
849
904
 
850
- const handleDeleteThreadRoot = useCallback(
905
+ const handleDeleteWorkspaceRoot = useCallback(
851
906
  async (rootMessageId: string) => {
852
- if (!activeThreadId || !rootMessageId) return;
907
+ if (!activeWorkspaceId || !rootMessageId) return;
853
908
  const confirmed = window.confirm("Delete this thread and all of its replies?");
854
909
  if (!confirmed) return;
855
910
 
@@ -858,7 +913,7 @@ export function ChatContainer() {
858
913
 
859
914
  try {
860
915
  const params = new URLSearchParams({
861
- threadId: activeThreadId,
916
+ threadId: activeWorkspaceId,
862
917
  rootMessageId,
863
918
  });
864
919
  const response = await fetch(`/api/history?${params.toString()}`, { method: "DELETE" });
@@ -873,15 +928,15 @@ export function ChatContainer() {
873
928
  const nextMessages = messages.filter(
874
929
  (message) => message.id !== rootMessageId && message.rootMessageId !== rootMessageId
875
930
  );
876
- void updateThreadMessages(activeThreadId, nextMessages);
877
- await loadHistory(activeThreadId);
931
+ void updateWorkspaceMessages(activeWorkspaceId, nextMessages);
932
+ await loadHistory(activeWorkspaceId);
878
933
  } catch (error) {
879
934
  console.error("Failed to delete message thread", error);
880
935
  } finally {
881
936
  setDeletingThreadRootId((current) => (current === rootMessageId ? null : current));
882
937
  }
883
938
  },
884
- [activeThreadId, loadHistory, messages, stopThread, updateThreadMessages]
939
+ [activeWorkspaceId, loadHistory, messages, stopThread, updateWorkspaceMessages]
885
940
  );
886
941
 
887
942
  const slashCommands: SlashCommand[] = useMemo(
@@ -923,8 +978,8 @@ export function ChatContainer() {
923
978
  [handleThreadReply, stopThread, streaming, activeParticipants, slashCommands, messages]
924
979
  );
925
980
 
926
- const toggleThreadSidebar = useCallback(() => {
927
- setThreadSidebarVisible((prev) => {
981
+ const toggleWorkspaceSidebar = useCallback(() => {
982
+ setWorkspaceSidebarVisible((prev) => {
928
983
  const next = !prev;
929
984
  persistSidebarPreference(next);
930
985
  return next;
@@ -961,10 +1016,10 @@ export function ChatContainer() {
961
1016
  });
962
1017
  if (res.ok) {
963
1018
  setParticipants((prev) => prev.filter((p) => p.id !== id));
964
- if (activeThreadId) {
1019
+ if (activeWorkspaceId) {
965
1020
  setActiveParticipantIds((prev) => {
966
1021
  const next = prev.filter((participantId) => participantId !== id);
967
- persistStoredActiveParticipantIds(activeThreadId, next);
1022
+ persistStoredActiveParticipantIds(activeWorkspaceId, next);
968
1023
  return next;
969
1024
  });
970
1025
  }
@@ -1003,14 +1058,14 @@ export function ChatContainer() {
1003
1058
  .map((participant) => participant.id)
1004
1059
  .filter((id) => nextSet.has(id));
1005
1060
 
1006
- if (activeThreadId) {
1007
- persistStoredActiveParticipantIds(activeThreadId, next);
1061
+ if (activeWorkspaceId) {
1062
+ persistStoredActiveParticipantIds(activeWorkspaceId, next);
1008
1063
  }
1009
1064
 
1010
1065
  return next;
1011
1066
  });
1012
1067
  },
1013
- [activeThreadId, participants]
1068
+ [activeWorkspaceId, participants]
1014
1069
  );
1015
1070
 
1016
1071
  const searchInputBar = (
@@ -1053,27 +1108,31 @@ export function ChatContainer() {
1053
1108
 
1054
1109
  return (
1055
1110
  <div className="flex h-screen bg-white text-zinc-900">
1056
- <ThreadSidebar
1057
- threads={threads}
1111
+ <WorkspaceSidebar
1112
+ workspaces={workspaces}
1058
1113
  participants={participants}
1059
- activeThreadId={activeThreadId}
1060
- isLoading={threadsLoading}
1061
- isRestoringActiveThread={isRestoringActiveThread}
1114
+ activeWorkspaceId={activeWorkspaceId}
1115
+ isLoading={workspacesLoading}
1116
+ isRestoringActiveWorkspace={isRestoringActiveWorkspace}
1062
1117
  isCreating={isCreating}
1063
- deletingThreadId={deletingThreadId}
1064
- renamingThreadId={renamingThreadId}
1065
- onSelectThread={selectThread}
1066
- onCreateThread={createThread}
1067
- onRenameThread={renameThread}
1068
- onDeleteThread={handleDeleteThread}
1118
+ deletingWorkspaceId={deletingWorkspaceId}
1119
+ renamingWorkspaceId={renamingWorkspaceId}
1120
+ onSelectWorkspace={(workspaceId: string) => {
1121
+ setOpenThreadId(null);
1122
+ selectWorkspace(workspaceId);
1123
+ router.push(`/w/${workspaceId}`);
1124
+ }}
1125
+ onCreateWorkspace={createWorkspace}
1126
+ onRenameWorkspace={renameWorkspace}
1127
+ onDeleteWorkspace={handleDeleteWorkspace}
1069
1128
  onAddParticipant={handleAdd}
1070
1129
  onUpdateParticipant={handleUpdate}
1071
1130
  onRemoveParticipant={handleRemove}
1072
1131
  activeParticipantIds={activeParticipantIds}
1073
1132
  onToggleParticipantActive={handleToggleParticipantActive}
1074
1133
  onReorderParticipants={handleReorderParticipants}
1075
- visible={threadSidebarVisible}
1076
- onToggle={toggleThreadSidebar}
1134
+ visible={workspaceSidebarVisible}
1135
+ onToggle={toggleWorkspaceSidebar}
1077
1136
 
1078
1137
  />
1079
1138
  <div className="flex flex-col flex-1 min-w-0 relative">
@@ -1105,7 +1164,7 @@ export function ChatContainer() {
1105
1164
  <header className="border-b border-slate-200 px-6 py-4 flex items-center h-16 pr-14">
1106
1165
  <div className="flex items-center gap-3 min-w-0">
1107
1166
  <button
1108
- onClick={() => setOpenThreadId(null)}
1167
+ onClick={() => router.push(activeWorkspaceId ? `/w/${activeWorkspaceId}` : "/")}
1109
1168
  className="p-1.5 text-slate-400 hover:text-indigo-600 hover:bg-zinc-100 rounded-lg transition-all active:scale-95 flex-shrink-0"
1110
1169
  title="Back to main feed"
1111
1170
  >
@@ -1138,7 +1197,7 @@ export function ChatContainer() {
1138
1197
  </header>
1139
1198
  )}
1140
1199
  {
1141
- isRestoringActiveThread ? (
1200
+ isRestoringActiveWorkspace ? (
1142
1201
  <div className="flex-1 flex items-center justify-center px-4 text-sm text-zinc-500">
1143
1202
  Loading your last workspace…
1144
1203
  </div>
@@ -1153,7 +1212,7 @@ export function ChatContainer() {
1153
1212
  results={searchResults}
1154
1213
  total={searchTotal}
1155
1214
  participants={participants}
1156
- threadTitleById={threadTitleById}
1215
+ threadTitleById={workspaceTitleById}
1157
1216
  isLoading={searchLoading}
1158
1217
  error={searchError}
1159
1218
  onSelectResult={handleSelectSearchResult}
@@ -1164,10 +1223,10 @@ export function ChatContainer() {
1164
1223
  streaming={streaming}
1165
1224
  participants={participants}
1166
1225
  rootMessageId={openThreadId}
1167
- onClose={() => setOpenThreadId(null)}
1226
+ onClose={() => router.push(activeWorkspaceId ? `/w/${activeWorkspaceId}` : "/")}
1168
1227
  onCopyThread={handleCopyThread}
1169
1228
  onAddToChat={handleAddToChat}
1170
- onDeleteThreadRoot={handleDeleteThreadRoot}
1229
+ onDeleteThreadRoot={handleDeleteWorkspaceRoot}
1171
1230
  highlightedMessageId={highlightedMessageId || undefined}
1172
1231
  renderReplyComposer={renderReplyComposer}
1173
1232
  />
@@ -1179,7 +1238,7 @@ export function ChatContainer() {
1179
1238
  onOpenThread={handleOpenThread}
1180
1239
  onCopyThread={handleCopyThread}
1181
1240
  onAddToChat={handleAddToChat}
1182
- onDeleteThreadRoot={handleDeleteThreadRoot}
1241
+ onDeleteThreadRoot={handleDeleteWorkspaceRoot}
1183
1242
  onSummarize={handleSummarize}
1184
1243
  onCreateTasks={handleExtractTasks}
1185
1244
  onUpdateTaskDraft={handleUpdateTaskDraft}
@@ -1209,7 +1268,7 @@ export function ChatContainer() {
1209
1268
  )
1210
1269
  }
1211
1270
  </div >
1212
- <LogPanel logs={logs} participants={participants} onClear={() => void clearLogs(activeThreadId)} open={logsOpen} onToggle={() => setLogsOpen(false)} />
1271
+ <LogPanel logs={logs} participants={participants} onClear={() => void clearLogs(activeWorkspaceId)} open={logsOpen} onToggle={() => setLogsOpen(false)} />
1213
1272
  </div >
1214
1273
  );
1215
1274
  }