@mndrk/agx 2.0.22 → 2.0.24

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 (378) hide show
  1. package/cloud-runtime/standalone/.next/BUILD_ID +1 -1
  2. package/cloud-runtime/standalone/.next/app-path-routes-manifest.json +1 -0
  3. package/cloud-runtime/standalone/.next/build-manifest.json +6 -6
  4. package/cloud-runtime/standalone/.next/prerender-manifest.json +3 -3
  5. package/cloud-runtime/standalone/.next/routes-manifest.json +6 -0
  6. package/cloud-runtime/standalone/.next/server/app/_global-error/page/build-manifest.json +4 -4
  7. package/cloud-runtime/standalone/.next/server/app/_global-error/page.js +2 -2
  8. package/cloud-runtime/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/cloud-runtime/standalone/.next/server/app/_global-error.html +2 -2
  10. package/cloud-runtime/standalone/.next/server/app/_global-error.rsc +1 -1
  11. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/cloud-runtime/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/cloud-runtime/standalone/.next/server/app/_not-found/page/build-manifest.json +4 -4
  17. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js +6 -5
  18. package/cloud-runtime/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/cloud-runtime/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/cloud-runtime/standalone/.next/server/app/_not-found.html +14 -2
  21. package/cloud-runtime/standalone/.next/server/app/_not-found.rsc +11 -11
  22. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
  23. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
  24. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +7 -7
  25. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  26. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  27. package/cloud-runtime/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  28. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page/build-manifest.json +4 -4
  29. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js +5 -5
  30. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page.js.nft.json +1 -1
  31. package/cloud-runtime/standalone/.next/server/app/agents/[id]/page_client-reference-manifest.js +1 -1
  32. package/cloud-runtime/standalone/.next/server/app/agents/page/build-manifest.json +4 -4
  33. package/cloud-runtime/standalone/.next/server/app/agents/page.js +5 -5
  34. package/cloud-runtime/standalone/.next/server/app/agents/page.js.nft.json +1 -1
  35. package/cloud-runtime/standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  36. package/cloud-runtime/standalone/.next/server/app/agents.html +14 -2
  37. package/cloud-runtime/standalone/.next/server/app/agents.rsc +10 -10
  38. package/cloud-runtime/standalone/.next/server/app/agents.segments/_full.segment.rsc +10 -10
  39. package/cloud-runtime/standalone/.next/server/app/agents.segments/_head.segment.rsc +3 -3
  40. package/cloud-runtime/standalone/.next/server/app/agents.segments/_index.segment.rsc +4 -4
  41. package/cloud-runtime/standalone/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
  42. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents/__PAGE__.segment.rsc +4 -4
  43. package/cloud-runtime/standalone/.next/server/app/agents.segments/agents.segment.rsc +3 -3
  44. package/cloud-runtime/standalone/.next/server/app/api/file-search/route.js.nft.json +1 -1
  45. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/app-paths-manifest.json +3 -0
  46. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/build-manifest.json +11 -0
  47. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route/server-reference-manifest.json +4 -0
  48. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js +7 -0
  49. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.map +5 -0
  50. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route.js.nft.json +1 -0
  51. package/cloud-runtime/standalone/.next/server/app/api/filesystem/browse/route_client-reference-manifest.js +2 -0
  52. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js +1 -1
  53. package/cloud-runtime/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
  54. package/cloud-runtime/standalone/.next/server/app/api/status/route.js +1 -1
  55. package/cloud-runtime/standalone/.next/server/app/api/status/route.js.nft.json +1 -1
  56. package/cloud-runtime/standalone/.next/server/app/automations/page/build-manifest.json +4 -4
  57. package/cloud-runtime/standalone/.next/server/app/automations/page.js +5 -5
  58. package/cloud-runtime/standalone/.next/server/app/automations/page.js.nft.json +1 -1
  59. package/cloud-runtime/standalone/.next/server/app/automations/page_client-reference-manifest.js +1 -1
  60. package/cloud-runtime/standalone/.next/server/app/automations.html +14 -2
  61. package/cloud-runtime/standalone/.next/server/app/automations.rsc +11 -11
  62. package/cloud-runtime/standalone/.next/server/app/automations.segments/_full.segment.rsc +11 -11
  63. package/cloud-runtime/standalone/.next/server/app/automations.segments/_head.segment.rsc +3 -3
  64. package/cloud-runtime/standalone/.next/server/app/automations.segments/_index.segment.rsc +4 -4
  65. package/cloud-runtime/standalone/.next/server/app/automations.segments/_tree.segment.rsc +3 -3
  66. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations/__PAGE__.segment.rsc +5 -5
  67. package/cloud-runtime/standalone/.next/server/app/automations.segments/automations.segment.rsc +3 -3
  68. package/cloud-runtime/standalone/.next/server/app/board/page/build-manifest.json +4 -4
  69. package/cloud-runtime/standalone/.next/server/app/board/page.js +6 -6
  70. package/cloud-runtime/standalone/.next/server/app/board/page.js.nft.json +1 -1
  71. package/cloud-runtime/standalone/.next/server/app/board/page_client-reference-manifest.js +1 -1
  72. package/cloud-runtime/standalone/.next/server/app/board.html +14 -2
  73. package/cloud-runtime/standalone/.next/server/app/board.rsc +8 -8
  74. package/cloud-runtime/standalone/.next/server/app/board.segments/_full.segment.rsc +8 -8
  75. package/cloud-runtime/standalone/.next/server/app/board.segments/_head.segment.rsc +3 -3
  76. package/cloud-runtime/standalone/.next/server/app/board.segments/_index.segment.rsc +4 -4
  77. package/cloud-runtime/standalone/.next/server/app/board.segments/_tree.segment.rsc +2 -2
  78. package/cloud-runtime/standalone/.next/server/app/board.segments/board/__PAGE__.segment.rsc +2 -2
  79. package/cloud-runtime/standalone/.next/server/app/board.segments/board.segment.rsc +3 -3
  80. package/cloud-runtime/standalone/.next/server/app/execution-graph/page/build-manifest.json +4 -4
  81. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js +5 -5
  82. package/cloud-runtime/standalone/.next/server/app/execution-graph/page.js.nft.json +1 -1
  83. package/cloud-runtime/standalone/.next/server/app/execution-graph/page_client-reference-manifest.js +1 -1
  84. package/cloud-runtime/standalone/.next/server/app/execution-graph.html +14 -2
  85. package/cloud-runtime/standalone/.next/server/app/execution-graph.rsc +10 -10
  86. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_full.segment.rsc +10 -10
  87. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_head.segment.rsc +3 -3
  88. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_index.segment.rsc +4 -4
  89. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/_tree.segment.rsc +2 -2
  90. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph/__PAGE__.segment.rsc +4 -4
  91. package/cloud-runtime/standalone/.next/server/app/execution-graph.segments/execution-graph.segment.rsc +3 -3
  92. package/cloud-runtime/standalone/.next/server/app/index.html +14 -2
  93. package/cloud-runtime/standalone/.next/server/app/index.rsc +10 -10
  94. package/cloud-runtime/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  95. package/cloud-runtime/standalone/.next/server/app/index.segments/_full.segment.rsc +10 -10
  96. package/cloud-runtime/standalone/.next/server/app/index.segments/_head.segment.rsc +3 -3
  97. package/cloud-runtime/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
  98. package/cloud-runtime/standalone/.next/server/app/index.segments/_tree.segment.rsc +3 -3
  99. package/cloud-runtime/standalone/.next/server/app/page/build-manifest.json +4 -4
  100. package/cloud-runtime/standalone/.next/server/app/page.js +5 -5
  101. package/cloud-runtime/standalone/.next/server/app/page.js.nft.json +1 -1
  102. package/cloud-runtime/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  103. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page/build-manifest.json +4 -4
  104. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js +5 -5
  105. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page.js.nft.json +1 -1
  106. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/graph/[taskId]/page_client-reference-manifest.js +1 -1
  107. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page/build-manifest.json +4 -4
  108. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js +5 -5
  109. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page.js.nft.json +1 -1
  110. package/cloud-runtime/standalone/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
  111. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page/build-manifest.json +4 -4
  112. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js +5 -5
  113. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page.js.nft.json +1 -1
  114. package/cloud-runtime/standalone/.next/server/app/projects/orphans/page_client-reference-manifest.js +1 -1
  115. package/cloud-runtime/standalone/.next/server/app/projects/orphans.html +13 -1
  116. package/cloud-runtime/standalone/.next/server/app/projects/orphans.rsc +10 -10
  117. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_full.segment.rsc +10 -10
  118. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_head.segment.rsc +3 -3
  119. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_index.segment.rsc +4 -4
  120. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/_tree.segment.rsc +2 -2
  121. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans/__PAGE__.segment.rsc +4 -4
  122. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects/orphans.segment.rsc +3 -3
  123. package/cloud-runtime/standalone/.next/server/app/projects/orphans.segments/projects.segment.rsc +3 -3
  124. package/cloud-runtime/standalone/.next/server/app/projects/page/build-manifest.json +4 -4
  125. package/cloud-runtime/standalone/.next/server/app/projects/page.js +5 -5
  126. package/cloud-runtime/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  127. package/cloud-runtime/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  128. package/cloud-runtime/standalone/.next/server/app/projects.html +14 -2
  129. package/cloud-runtime/standalone/.next/server/app/projects.rsc +10 -10
  130. package/cloud-runtime/standalone/.next/server/app/projects.segments/_full.segment.rsc +10 -10
  131. package/cloud-runtime/standalone/.next/server/app/projects.segments/_head.segment.rsc +3 -3
  132. package/cloud-runtime/standalone/.next/server/app/projects.segments/_index.segment.rsc +4 -4
  133. package/cloud-runtime/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  134. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects/__PAGE__.segment.rsc +4 -4
  135. package/cloud-runtime/standalone/.next/server/app/projects.segments/projects.segment.rsc +3 -3
  136. package/cloud-runtime/standalone/.next/server/app/settings/page/build-manifest.json +4 -4
  137. package/cloud-runtime/standalone/.next/server/app/settings/page.js +5 -5
  138. package/cloud-runtime/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  139. package/cloud-runtime/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  140. package/cloud-runtime/standalone/.next/server/app/settings.html +14 -2
  141. package/cloud-runtime/standalone/.next/server/app/settings.rsc +9 -9
  142. package/cloud-runtime/standalone/.next/server/app/settings.segments/_full.segment.rsc +9 -9
  143. package/cloud-runtime/standalone/.next/server/app/settings.segments/_head.segment.rsc +3 -3
  144. package/cloud-runtime/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
  145. package/cloud-runtime/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  146. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +3 -3
  147. package/cloud-runtime/standalone/.next/server/app/settings.segments/settings.segment.rsc +3 -3
  148. package/cloud-runtime/standalone/.next/server/app/status/page/build-manifest.json +4 -4
  149. package/cloud-runtime/standalone/.next/server/app/status/page.js +5 -5
  150. package/cloud-runtime/standalone/.next/server/app/status/page.js.nft.json +1 -1
  151. package/cloud-runtime/standalone/.next/server/app/status/page_client-reference-manifest.js +1 -1
  152. package/cloud-runtime/standalone/.next/server/app/status.html +14 -2
  153. package/cloud-runtime/standalone/.next/server/app/status.rsc +10 -10
  154. package/cloud-runtime/standalone/.next/server/app/status.segments/_full.segment.rsc +10 -10
  155. package/cloud-runtime/standalone/.next/server/app/status.segments/_head.segment.rsc +3 -3
  156. package/cloud-runtime/standalone/.next/server/app/status.segments/_index.segment.rsc +4 -4
  157. package/cloud-runtime/standalone/.next/server/app/status.segments/_tree.segment.rsc +2 -2
  158. package/cloud-runtime/standalone/.next/server/app/status.segments/status/__PAGE__.segment.rsc +4 -4
  159. package/cloud-runtime/standalone/.next/server/app/status.segments/status.segment.rsc +3 -3
  160. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page/build-manifest.json +4 -4
  161. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js +5 -5
  162. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page.js.nft.json +1 -1
  163. package/cloud-runtime/standalone/.next/server/app/thread/[id]/page_client-reference-manifest.js +1 -1
  164. package/cloud-runtime/standalone/.next/server/app/welcome/page/build-manifest.json +4 -4
  165. package/cloud-runtime/standalone/.next/server/app/welcome/page.js +5 -5
  166. package/cloud-runtime/standalone/.next/server/app/welcome/page.js.nft.json +1 -1
  167. package/cloud-runtime/standalone/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  168. package/cloud-runtime/standalone/.next/server/app/welcome.html +14 -2
  169. package/cloud-runtime/standalone/.next/server/app/welcome.rsc +10 -10
  170. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_full.segment.rsc +10 -10
  171. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_head.segment.rsc +3 -3
  172. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_index.segment.rsc +4 -4
  173. package/cloud-runtime/standalone/.next/server/app/welcome.segments/_tree.segment.rsc +2 -2
  174. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome/__PAGE__.segment.rsc +4 -4
  175. package/cloud-runtime/standalone/.next/server/app/welcome.segments/welcome.segment.rsc +3 -3
  176. package/cloud-runtime/standalone/.next/server/app-paths-manifest.json +1 -0
  177. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__60ba5058._.js +1 -1
  178. package/cloud-runtime/standalone/.next/server/chunks/[root-of-the-server]__621dcb4a._.js +3 -0
  179. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__babd2675._.js → [root-of-the-server]__82d76712._.js} +2 -2
  180. package/cloud-runtime/standalone/.next/server/chunks/{[root-of-the-server]__d36da34d._.js → [root-of-the-server]__c2767ca5._.js} +2 -2
  181. package/cloud-runtime/standalone/.next/server/chunks/_next-internal_server_app_api_filesystem_browse_route_actions_8e268170.js +3 -0
  182. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_2e721df2._.js +4 -4
  183. package/cloud-runtime/standalone/.next/server/chunks/lib_history-store_ts_74d1c060._.js +6 -6
  184. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__fb05a385._.js → [root-of-the-server]__056cdf7d._.js} +2 -2
  185. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__113d6767._.js +3 -0
  186. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__8d1af2c9._.js → [root-of-the-server]__11e33b9b._.js} +2 -2
  187. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__296a25b5._.js → [root-of-the-server]__19cd257e._.js} +2 -2
  188. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__226f8a19._.js +13 -1
  189. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__51980630._.js → [root-of-the-server]__26d669c2._.js} +2 -2
  190. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__47caef59._.js +1 -1
  191. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0a103abc._.js → [root-of-the-server]__4ebf5947._.js} +2 -2
  192. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ffa2883._.js +1 -1
  193. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__6a9d3855._.js +1 -1
  194. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__942ca438._.js +3 -0
  195. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__c45c7360._.js → [root-of-the-server]__a667191a._.js} +2 -2
  196. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__1cfbd715._.js → [root-of-the-server]__aa28d46f._.js} +2 -2
  197. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__bd4d5430._.js +3 -0
  198. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__ab36b420._.js → [root-of-the-server]__bde5bc78._.js} +2 -2
  199. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__cde88183._.js +3 -0
  200. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__ce3b51aa._.js +3 -0
  201. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__2503b467._.js → [root-of-the-server]__d36dd8bc._.js} +2 -2
  202. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b77ae83d._.js → [root-of-the-server]__dac5ab29._.js} +2 -2
  203. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__3405b8e4._.js → [root-of-the-server]__e87ba2b0._.js} +2 -2
  204. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__b9356576._.js → [root-of-the-server]__f62d412e._.js} +2 -2
  205. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__756711b8._.js → [root-of-the-server]__f63d6594._.js} +2 -2
  206. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__46de03a9._.js → [root-of-the-server]__febbd0b8._.js} +2 -2
  207. package/cloud-runtime/standalone/.next/server/chunks/ssr/{[root-of-the-server]__89c70d6f._.js → [root-of-the-server]__ff22a10e._.js} +2 -2
  208. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a19a362a._.js → _02c78cac._.js} +3 -3
  209. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_08570d7f._.js → _0b36c9d6._.js} +3 -3
  210. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ff7c687._.js +3 -3
  211. package/cloud-runtime/standalone/.next/server/chunks/ssr/_0ffd2660._.js +2 -2
  212. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_37435df3._.js → _173da79d._.js} +3 -3
  213. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_4fe611fe._.js → _1c58ab2d._.js} +3 -3
  214. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a88b4884._.js → _222af282._.js} +3 -3
  215. package/cloud-runtime/standalone/.next/server/chunks/ssr/_27cb3359._.js +95 -0
  216. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8ebf36f6._.js → _3aa32c11._.js} +3 -3
  217. package/cloud-runtime/standalone/.next/server/chunks/ssr/_43472af3._.js +3 -0
  218. package/cloud-runtime/standalone/.next/server/chunks/ssr/_4b5d7c9b._.js +95 -0
  219. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_c52176ad._.js → _4d4ba84b._.js} +3 -3
  220. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_194cda6c._.js → _50d04b8f._.js} +3 -3
  221. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_a8eaf6bc._.js → _629dc55c._.js} +3 -3
  222. package/cloud-runtime/standalone/.next/server/chunks/ssr/_6a367524._.js +1 -1
  223. package/cloud-runtime/standalone/.next/server/chunks/ssr/_93914ecd._.js +2 -2
  224. package/cloud-runtime/standalone/.next/server/chunks/ssr/_94effa0f._.js +1 -1
  225. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a696e9b3._.js +95 -0
  226. package/cloud-runtime/standalone/.next/server/chunks/ssr/_ae20456d._.js +4 -0
  227. package/cloud-runtime/standalone/.next/server/chunks/ssr/_c838f593._.js +95 -0
  228. package/cloud-runtime/standalone/.next/server/chunks/ssr/_cd5e154b._.js +1 -1
  229. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d021529a._.js +3 -0
  230. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_fc18d7b5._.js → _e04b4053._.js} +3 -3
  231. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e1769638._.js +3 -3
  232. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_b9d3574c._.js → _f1465cc8._.js} +3 -3
  233. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_d4878ef1._.js → _f2a7beb1._.js} +3 -3
  234. package/cloud-runtime/standalone/.next/server/chunks/ssr/_fbced30b._.js +3 -0
  235. package/cloud-runtime/standalone/.next/server/chunks/ssr/{_8d8836a8._.js → _fc1aaf9e._.js} +3 -3
  236. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_[id]_page_tsx_9c49d8c8._.js +1 -1
  237. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_agents_page_tsx_f5f08ed8._.js +1 -1
  238. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_automations_page_tsx_3d732184._.js +1 -1
  239. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_execution-graph_page_tsx_f854185a._.js +2 -2
  240. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_global-error_tsx_9170b7a0._.js +3 -0
  241. package/cloud-runtime/standalone/.next/server/chunks/ssr/app_projects_[slug]_page_tsx_e0fabf6e._.js +2 -2
  242. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_chat-ui_bfeda794._.js +5 -5
  243. package/cloud-runtime/standalone/.next/server/chunks/ssr/components_thread_WorkspaceSidebar_tsx_e660301b._.js +1 -1
  244. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_03ec2107._.js +4 -0
  245. package/cloud-runtime/standalone/.next/server/chunks/ssr/{node_modules_next_dist_esm_build_templates_app-page_d92e159d.js → node_modules_next_dist_esm_build_templates_app-page_61c49327.js} +3 -3
  246. package/cloud-runtime/standalone/.next/server/middleware-build-manifest.js +4 -4
  247. package/cloud-runtime/standalone/.next/server/middleware-manifest.json +5 -5
  248. package/cloud-runtime/standalone/.next/server/pages/404.html +13 -1
  249. package/cloud-runtime/standalone/.next/server/pages/500.html +2 -2
  250. package/cloud-runtime/standalone/.next/server/server-reference-manifest.js +1 -1
  251. package/cloud-runtime/standalone/.next/server/server-reference-manifest.json +1 -1
  252. package/cloud-runtime/standalone/.next/static/chunks/{785cb91c31bb3303.js → 09f9eeea393db0fd.js} +3 -3
  253. package/cloud-runtime/standalone/.next/static/chunks/1184bf1bfdf97666.js +1 -0
  254. package/cloud-runtime/standalone/.next/static/chunks/2acd153dc5252e88.js +30 -0
  255. package/cloud-runtime/standalone/.next/static/chunks/2deeba875ec50761.js +1 -0
  256. package/cloud-runtime/standalone/.next/static/chunks/45b4d0ee5c92d45b.js +93 -0
  257. package/cloud-runtime/standalone/.next/static/chunks/5ace4b4f4475962a.js +1 -0
  258. package/cloud-runtime/standalone/.next/static/chunks/616d66dbec9e4b8b.js +93 -0
  259. package/cloud-runtime/standalone/.next/static/chunks/64f812259cf8c243.js +18 -0
  260. package/cloud-runtime/standalone/.next/static/chunks/6dbf5940e30fa9c7.js +1 -0
  261. package/cloud-runtime/standalone/.next/static/chunks/7d4c1d97169c8522.js +1 -0
  262. package/cloud-runtime/standalone/.next/static/chunks/7f13efe9329d3f97.js +1 -0
  263. package/cloud-runtime/standalone/.next/static/chunks/80219bbddcf65109.js +1 -0
  264. package/cloud-runtime/standalone/.next/static/chunks/{47ef8bb2118ea917.js → 86ace6febb11ad71.js} +1 -1
  265. package/cloud-runtime/standalone/.next/static/chunks/{90c7dbc004f59a42.js → 88e24940a5d5d386.js} +1 -1
  266. package/cloud-runtime/standalone/.next/static/chunks/9d50c2514f72d926.css +1 -0
  267. package/cloud-runtime/standalone/.next/static/chunks/b079c677d9b39f98.js +5 -0
  268. package/cloud-runtime/standalone/.next/static/chunks/b4e298542d366e31.js +93 -0
  269. package/cloud-runtime/standalone/.next/static/chunks/b88352740262931f.js +6 -0
  270. package/cloud-runtime/standalone/.next/static/chunks/bd6c5b5b4fbd6413.css +2 -0
  271. package/cloud-runtime/standalone/.next/static/chunks/c5609fd2abb65850.js +1 -0
  272. package/cloud-runtime/standalone/.next/static/chunks/{7ca3e4f9ed7425a8.js → d95cd010361834be.js} +1 -1
  273. package/cloud-runtime/standalone/.next/static/chunks/da434b1ad885d636.js +30 -0
  274. package/cloud-runtime/standalone/.next/static/chunks/e44264686aa5ecbf.js +93 -0
  275. package/cloud-runtime/standalone/.next/static/chunks/eab1c7d0246592f8.js +8 -0
  276. package/cloud-runtime/standalone/.next/static/chunks/f7bbf5cfcfed8ba9.js +1 -0
  277. package/cloud-runtime/standalone/.next/static/chunks/{turbopack-92401168917c21f2.js → turbopack-5b5918f610666d2d.js} +1 -1
  278. package/cloud-runtime/standalone/README.md +15 -3
  279. package/cloud-runtime/standalone/app/agents/[id]/page.tsx +147 -147
  280. package/cloud-runtime/standalone/app/agents/page.tsx +115 -310
  281. package/cloud-runtime/standalone/app/api/filesystem/browse/route.ts +39 -0
  282. package/cloud-runtime/standalone/app/api/status/route.ts +1 -1
  283. package/cloud-runtime/standalone/app/api/threads/route.ts +4 -5
  284. package/cloud-runtime/standalone/app/automations/page.tsx +1 -1
  285. package/cloud-runtime/standalone/app/execution-graph/page.tsx +86 -86
  286. package/cloud-runtime/standalone/app/global-error.tsx +54 -0
  287. package/cloud-runtime/standalone/app/globals.css +165 -59
  288. package/cloud-runtime/standalone/app/layout.tsx +17 -0
  289. package/cloud-runtime/standalone/app/projects/[slug]/layout.tsx +1 -1
  290. package/cloud-runtime/standalone/app/projects/[slug]/page.tsx +58 -58
  291. package/cloud-runtime/standalone/app/status/page.tsx +20 -20
  292. package/cloud-runtime/standalone/app/welcome/page.tsx +20 -15
  293. package/cloud-runtime/standalone/components/AutomationsBoard.tsx +1 -1
  294. package/cloud-runtime/standalone/components/ClientOnly.tsx +17 -0
  295. package/cloud-runtime/standalone/components/ConsentToggle/index.tsx +3 -3
  296. package/cloud-runtime/standalone/components/ContextMenu.tsx +123 -0
  297. package/cloud-runtime/standalone/components/DaemonBar.tsx +9 -9
  298. package/cloud-runtime/standalone/components/DirectoryBrowser.tsx +140 -0
  299. package/cloud-runtime/standalone/components/FirstRunModal/index.tsx +10 -10
  300. package/cloud-runtime/standalone/components/KanbanBoard.tsx +9 -9
  301. package/cloud-runtime/standalone/components/OfflineIndicator.tsx +149 -0
  302. package/cloud-runtime/standalone/components/ProjectModal.tsx +32 -8
  303. package/cloud-runtime/standalone/components/TaskCard.tsx +3 -3
  304. package/cloud-runtime/standalone/components/WorkspaceRootsList/index.tsx +57 -35
  305. package/cloud-runtime/standalone/components/chat-ui/AttachmentTray.tsx +7 -7
  306. package/cloud-runtime/standalone/components/chat-ui/ChatContainer.tsx +218 -121
  307. package/cloud-runtime/standalone/components/chat-ui/ChatPreview.tsx +4 -4
  308. package/cloud-runtime/standalone/components/chat-ui/CommandPopover.tsx +4 -4
  309. package/cloud-runtime/standalone/components/chat-ui/Composer.tsx +65 -29
  310. package/cloud-runtime/standalone/components/chat-ui/FileMentionPopover.tsx +4 -4
  311. package/cloud-runtime/standalone/components/chat-ui/FileMentionPopoverItem.tsx +9 -9
  312. package/cloud-runtime/standalone/components/chat-ui/LogPanel.tsx +5 -5
  313. package/cloud-runtime/standalone/components/chat-ui/Markdown.tsx +11 -11
  314. package/cloud-runtime/standalone/components/chat-ui/MentionPopover.tsx +11 -11
  315. package/cloud-runtime/standalone/components/chat-ui/MessageAttachments.tsx +5 -5
  316. package/cloud-runtime/standalone/components/chat-ui/MessageBubble.tsx +6 -6
  317. package/cloud-runtime/standalone/components/chat-ui/MessageList.tsx +60 -135
  318. package/cloud-runtime/standalone/components/chat-ui/ParticipantBar.tsx +507 -263
  319. package/cloud-runtime/standalone/components/chat-ui/ProjectPicker.tsx +17 -17
  320. package/cloud-runtime/standalone/components/chat-ui/ReactionChip.tsx +1 -1
  321. package/cloud-runtime/standalone/components/chat-ui/SearchResults.tsx +14 -14
  322. package/cloud-runtime/standalone/components/chat-ui/StatusIndicator.tsx +7 -7
  323. package/cloud-runtime/standalone/components/chat-ui/TaskDraftCard.tsx +14 -14
  324. package/cloud-runtime/standalone/components/chat-ui/TaskStatusCard.tsx +10 -10
  325. package/cloud-runtime/standalone/components/chat-ui/ThreadMentionPopover.tsx +8 -8
  326. package/cloud-runtime/standalone/components/chat-ui/ThreadView.tsx +36 -33
  327. package/cloud-runtime/standalone/components/chat-ui/TypingIndicator.tsx +7 -7
  328. package/cloud-runtime/standalone/components/errors/StartupGuardWrapper.tsx +96 -0
  329. package/cloud-runtime/standalone/components/thread/WorkspaceSidebar.tsx +173 -193
  330. package/cloud-runtime/standalone/fix-primary.js +30 -0
  331. package/cloud-runtime/standalone/fix-theme.js +78 -0
  332. package/cloud-runtime/standalone/hooks/useKeyboardShortcuts.ts +131 -0
  333. package/cloud-runtime/standalone/lib/history-store.ts +6 -1
  334. package/cloud-runtime/standalone/lib/storage/thread-adapter.ts +3 -3
  335. package/cloud-runtime/standalone/state/windowState.ts +179 -0
  336. package/cloud-runtime/standalone/styles/workspaceSidebar.css +89 -94
  337. package/cloud-runtime/standalone/tsconfig.tsbuildinfo +1 -1
  338. package/package.json +1 -1
  339. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__3fe0b1a1._.js +0 -3
  340. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__5ea3dff5._.js +0 -3
  341. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__931817d6._.js +0 -3
  342. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__e68a6e30._.js +0 -3
  343. package/cloud-runtime/standalone/.next/server/chunks/ssr/[root-of-the-server]__fad8b80a._.js +0 -3
  344. package/cloud-runtime/standalone/.next/server/chunks/ssr/_181427d4._.js +0 -95
  345. package/cloud-runtime/standalone/.next/server/chunks/ssr/_2da02644._.js +0 -3
  346. package/cloud-runtime/standalone/.next/server/chunks/ssr/_60f7e403._.js +0 -3
  347. package/cloud-runtime/standalone/.next/server/chunks/ssr/_7dbc349d._.js +0 -95
  348. package/cloud-runtime/standalone/.next/server/chunks/ssr/_a17cabe8._.js +0 -95
  349. package/cloud-runtime/standalone/.next/server/chunks/ssr/_d743f11d._.js +0 -3
  350. package/cloud-runtime/standalone/.next/server/chunks/ssr/_e05b04a5._.js +0 -4
  351. package/cloud-runtime/standalone/.next/server/chunks/ssr/_f2970e5f._.js +0 -4
  352. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_001a8448._.js +0 -3
  353. package/cloud-runtime/standalone/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_ece394eb.js +0 -3
  354. package/cloud-runtime/standalone/.next/static/chunks/047593c886feba72.css +0 -2
  355. package/cloud-runtime/standalone/.next/static/chunks/0c589ec8063c3a1f.js +0 -30
  356. package/cloud-runtime/standalone/.next/static/chunks/1826707bd2f73ca6.js +0 -8
  357. package/cloud-runtime/standalone/.next/static/chunks/1f1b912fe2e3d5bd.js +0 -1
  358. package/cloud-runtime/standalone/.next/static/chunks/32f13ace6661115d.js +0 -93
  359. package/cloud-runtime/standalone/.next/static/chunks/3b0a3b913dd15028.js +0 -30
  360. package/cloud-runtime/standalone/.next/static/chunks/4b3358c52d01a3f9.css +0 -1
  361. package/cloud-runtime/standalone/.next/static/chunks/4ee6151684568990.js +0 -93
  362. package/cloud-runtime/standalone/.next/static/chunks/5488a71a8515e8b2.js +0 -1
  363. package/cloud-runtime/standalone/.next/static/chunks/5aad4adabb65cd20.js +0 -1
  364. package/cloud-runtime/standalone/.next/static/chunks/5ce01dbd17ce3bb2.js +0 -1
  365. package/cloud-runtime/standalone/.next/static/chunks/5f5ae2ea4fa2b8f0.js +0 -12
  366. package/cloud-runtime/standalone/.next/static/chunks/6bb1ecbc3b80922c.js +0 -1
  367. package/cloud-runtime/standalone/.next/static/chunks/7657d70cc0c40c81.js +0 -6
  368. package/cloud-runtime/standalone/.next/static/chunks/7f2513325b592f25.js +0 -18
  369. package/cloud-runtime/standalone/.next/static/chunks/8b658ccf17b771b9.js +0 -1
  370. package/cloud-runtime/standalone/.next/static/chunks/b39122b85655e5b0.js +0 -1
  371. package/cloud-runtime/standalone/.next/static/chunks/b649593a57df218f.js +0 -1
  372. package/cloud-runtime/standalone/.next/static/chunks/b8ca4cb386211980.js +0 -5
  373. package/cloud-runtime/standalone/.next/static/chunks/e103488c85a7b445.js +0 -1
  374. package/cloud-runtime/standalone/.next/static/chunks/e355ac901e70f43d.js +0 -1
  375. package/cloud-runtime/standalone/.next/static/chunks/ebebe08434070698.js +0 -93
  376. /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_buildManifest.js +0 -0
  377. /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_clientMiddlewareManifest.json +0 -0
  378. /package/cloud-runtime/standalone/.next/static/{H3MuYxcqCPfZoSC2uYW8f → Rn0z3Af30mHwrHLLwgKlz}/_ssgManifest.js +0 -0
@@ -302,23 +302,23 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
302
302
  return (
303
303
  <div className="h-full flex flex-col">
304
304
  {/* Unified Header: Breadcrumbs + Tabs | Search + Create */}
305
- <div className="flex-shrink-0 border-b border-slate-200 bg-white/80 backdrop-blur-md px-3 sm:px-6 py-2 sm:py-0 sm:h-14 flex flex-col sm:flex-row sm:items-center justify-between gap-2 sm:gap-4">
305
+ <div className="flex-shrink-0 border-b border-[var(--border)] bg-[var(--card-bg)] backdrop-blur-md px-3 sm:px-6 py-2 sm:py-0 sm:h-14 flex flex-col sm:flex-row sm:items-center justify-between gap-2 sm:gap-4">
306
306
  {/* Left: Breadcrumbs + Tabs */}
307
- <div className="flex items-center gap-3 sm:gap-4 text-sm text-slate-400 flex-shrink-0">
308
- <span className="font-semibold text-slate-900 truncate">{currentProject?.name || slug}</span>
307
+ <div className="flex items-center gap-3 sm:gap-4 text-sm text-[var(--app-shell-soft-text)] flex-shrink-0">
308
+ <span className="font-semibold text-[var(--foreground)] truncate">{currentProject?.name || slug}</span>
309
309
 
310
310
  </div>
311
311
 
312
312
  {/* Right: Search + Migrate + Create */}
313
313
  <div className="flex items-center gap-3 flex-1 sm:justify-end">
314
314
  <div className="relative w-full sm:max-w-sm group">
315
- <Search className="absolute left-3 top-1/2 -translate-y-1/2 text-slate-400 group-focus-within:text-indigo-500 transition-colors" size={14} />
315
+ <Search className="absolute left-3 top-1/2 -translate-y-1/2 text-[var(--app-shell-soft-text)] group-focus-within:text-indigo-500 transition-colors" size={14} />
316
316
  <input
317
317
  type="text"
318
318
  placeholder="Search tasks..."
319
319
  value={searchQuery}
320
320
  onChange={(e) => setSearchQuery(e.target.value)}
321
- className="w-full bg-slate-50 border border-slate-200 rounded-full py-1.5 pl-9 pr-4 text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all"
321
+ className="w-full bg-[var(--secondary)] border border-[var(--border)] rounded-full py-1.5 pl-9 pr-4 text-xs focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500 transition-all"
322
322
  />
323
323
  </div>
324
324
  <button
@@ -326,7 +326,7 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
326
326
  onClick={() => setShowKnowledgePanel((value) => !value)}
327
327
  className={`hidden sm:inline-flex px-3 py-1.5 rounded-full text-xs font-medium border transition-colors whitespace-nowrap ${showKnowledgePanel
328
328
  ? "bg-indigo-50 border-indigo-200 text-indigo-700"
329
- : "bg-white border-slate-200 hover:border-indigo-300 hover:text-indigo-600"
329
+ : "bg-[var(--card-bg)] border-[var(--border)] hover:border-indigo-300 hover:text-indigo-600"
330
330
  }`}
331
331
  title="Inspect and edit project-scoped knowledge"
332
332
  >
@@ -337,7 +337,7 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
337
337
  onClick={() => setShowRepoPanel((value) => !value)}
338
338
  className={`hidden sm:inline-flex px-3 py-1.5 rounded-full text-xs font-medium border transition-colors whitespace-nowrap ${showRepoPanel
339
339
  ? "bg-emerald-50 border-emerald-200 text-emerald-700"
340
- : "bg-white border-slate-200 hover:border-emerald-300 hover:text-emerald-600"
340
+ : "bg-[var(--card-bg)] border-[var(--border)] hover:border-emerald-300 hover:text-emerald-600"
341
341
  }`}
342
342
  title="Inspect and edit repo-scoped knowledge"
343
343
  >
@@ -349,8 +349,8 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
349
349
  onClick={handleMigrateProjectToV2}
350
350
  disabled={isMigratingToV2 || !currentProject?.id}
351
351
  className={`hidden sm:inline-flex px-3 py-1.5 rounded-full text-xs font-medium border transition-colors whitespace-nowrap ${isMigratingToV2
352
- ? "bg-slate-100 border-slate-200 text-slate-400 cursor-wait"
353
- : "bg-white border-slate-200 hover:border-indigo-300 hover:text-indigo-600"
352
+ ? "bg-[var(--secondary)] border-[var(--border)] text-[var(--app-shell-soft-text)] cursor-wait"
353
+ : "bg-[var(--card-bg)] border-[var(--border)] hover:border-indigo-300 hover:text-indigo-600"
354
354
  }`}
355
355
  title="Create v2 execution graphs for tasks in this project"
356
356
  >
@@ -361,22 +361,22 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
361
361
  </div>
362
362
 
363
363
  {migrationNotice && (
364
- <p className="text-xs text-slate-400 px-6 py-1">{migrationNotice}</p>
364
+ <p className="text-xs text-[var(--app-shell-soft-text)] px-6 py-1">{migrationNotice}</p>
365
365
  )}
366
366
 
367
367
  {showKnowledgePanel && currentProject && (
368
368
  <div className="px-3 sm:px-6 py-3">
369
- <div className="rounded-3xl border border-slate-200 bg-white p-4 sm:p-6 shadow-sm">
369
+ <div className="rounded-3xl border border-[var(--border)] bg-[var(--card-bg)] p-4 sm:p-6 shadow-sm">
370
370
  <div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 mb-5">
371
371
  <div>
372
- <h2 className="text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2">
372
+ <h2 className="text-xs font-black text-[var(--app-shell-soft-text)] uppercase tracking-[0.2em] flex items-center gap-2">
373
373
  <BrainCircuit className="w-4 h-4" /> Project Knowledge
374
374
  </h2>
375
- <p className="mt-2 text-sm text-slate-600 max-w-2xl">
375
+ <p className="mt-2 text-sm text-[var(--muted-foreground)] max-w-2xl">
376
376
  Edit project-scoped knowledge here. This is situational context for this project, not portable agent knowledge and not durable repo truth.
377
377
  </p>
378
378
  </div>
379
- <div className="text-xs text-slate-400">
379
+ <div className="text-xs text-[var(--app-shell-soft-text)]">
380
380
  {projectSkills.length} references, {projectMemory.length} notes
381
381
  </div>
382
382
  </div>
@@ -384,10 +384,10 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
384
384
  <div className="grid grid-cols-1 xl:grid-cols-2 gap-6">
385
385
  <section className="space-y-4">
386
386
  <div className="flex items-center gap-2">
387
- <BrainCircuit className="w-4 h-4 text-slate-400" />
388
- <h3 className="text-sm font-semibold text-slate-900">Human-Authored References</h3>
387
+ <BrainCircuit className="w-4 h-4 text-[var(--app-shell-soft-text)]" />
388
+ <h3 className="text-sm font-semibold text-[var(--foreground)]">Human-Authored References</h3>
389
389
  </div>
390
- <p className="text-xs text-slate-500">
390
+ <p className="text-xs text-[var(--muted-foreground)]">
391
391
  File-backed project knowledge for project-specific instructions and references.
392
392
  </p>
393
393
  <div className="grid grid-cols-1 gap-2">
@@ -396,14 +396,14 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
396
396
  value={newKnowledgeFile}
397
397
  onChange={(e) => setNewKnowledgeFile(e.target.value)}
398
398
  placeholder="path/to/project-knowledge.md"
399
- className="w-full rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500"
399
+ className="w-full rounded-xl border border-[var(--border)] bg-[var(--secondary)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500"
400
400
  />
401
401
  <input
402
402
  type="text"
403
403
  value={newKnowledgeCondition}
404
404
  onChange={(e) => setNewKnowledgeCondition(e.target.value)}
405
405
  placeholder="Optional condition"
406
- className="w-full rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500"
406
+ className="w-full rounded-xl border border-[var(--border)] bg-[var(--secondary)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500"
407
407
  />
408
408
  <button
409
409
  type="button"
@@ -414,7 +414,7 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
414
414
  setNewKnowledgeFile("");
415
415
  setNewKnowledgeCondition("");
416
416
  }}
417
- className="inline-flex items-center justify-center gap-2 rounded-xl bg-slate-900 px-3 py-2 text-sm font-medium text-white hover:bg-slate-800 transition-colors"
417
+ className="inline-flex items-center justify-center gap-2 rounded-xl bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] hover:opacity-90 transition-colors"
418
418
  >
419
419
  <Plus className="w-4 h-4" />
420
420
  Add reference
@@ -422,22 +422,22 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
422
422
  </div>
423
423
  <div className="space-y-2">
424
424
  {projectSkills.length === 0 ? (
425
- <div className="rounded-2xl border border-dashed border-slate-200 px-4 py-6 text-sm text-slate-400">
425
+ <div className="rounded-2xl border border-dashed border-[var(--border)] px-4 py-6 text-sm text-[var(--app-shell-soft-text)]">
426
426
  No project knowledge references yet.
427
427
  </div>
428
428
  ) : (
429
429
  projectSkills.map((skill) => (
430
- <div key={skill.id} className="flex items-start justify-between gap-3 rounded-2xl border border-slate-100 bg-slate-50 p-3">
430
+ <div key={skill.id} className="flex items-start justify-between gap-3 rounded-2xl border border-[var(--border)] bg-[var(--secondary)] p-3">
431
431
  <div className="min-w-0">
432
- <div className="font-mono text-xs text-slate-700 break-all">{skill.file}</div>
432
+ <div className="font-mono text-xs text-[var(--secondary-foreground)] break-all">{skill.file}</div>
433
433
  {skill.condition ? (
434
- <div className="mt-1 text-xs text-slate-500">Use when: {skill.condition}</div>
434
+ <div className="mt-1 text-xs text-[var(--muted-foreground)]">Use when: {skill.condition}</div>
435
435
  ) : null}
436
436
  </div>
437
437
  <button
438
438
  type="button"
439
439
  onClick={() => void removeSkill(skill.id)}
440
- className="rounded-lg p-2 text-slate-400 hover:bg-white hover:text-red-600 transition-colors"
440
+ className="rounded-lg p-2 text-[var(--app-shell-soft-text)] hover:bg-[var(--card-bg)] hover:text-red-600 transition-colors"
441
441
  aria-label="Remove knowledge reference"
442
442
  >
443
443
  <Trash2 className="w-4 h-4" />
@@ -450,10 +450,10 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
450
450
 
451
451
  <section className="space-y-4">
452
452
  <div className="flex items-center gap-2">
453
- <BookOpen className="w-4 h-4 text-slate-400" />
454
- <h3 className="text-sm font-semibold text-slate-900">Human-Authored Notes</h3>
453
+ <BookOpen className="w-4 h-4 text-[var(--app-shell-soft-text)]" />
454
+ <h3 className="text-sm font-semibold text-[var(--foreground)]">Human-Authored Notes</h3>
455
455
  </div>
456
- <p className="text-xs text-slate-500">
456
+ <p className="text-xs text-[var(--muted-foreground)]">
457
457
  Inline project notes for current decisions, assumptions, and temporary coordination context.
458
458
  </p>
459
459
  <div className="grid grid-cols-1 gap-2">
@@ -462,7 +462,7 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
462
462
  onChange={(e) => setNewKnowledgeNote(e.target.value)}
463
463
  rows={4}
464
464
  placeholder="Current decision, assumption, or project-specific context..."
465
- className="w-full rounded-xl border border-slate-200 bg-slate-50 px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500"
465
+ className="w-full rounded-xl border border-[var(--border)] bg-[var(--secondary)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500/20 focus:border-indigo-500"
466
466
  />
467
467
  <button
468
468
  type="button"
@@ -472,7 +472,7 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
472
472
  await addMemory(content, "human-authored");
473
473
  setNewKnowledgeNote("");
474
474
  }}
475
- className="inline-flex items-center justify-center gap-2 rounded-xl bg-slate-900 px-3 py-2 text-sm font-medium text-white hover:bg-slate-800 transition-colors"
475
+ className="inline-flex items-center justify-center gap-2 rounded-xl bg-[var(--foreground)] px-3 py-2 text-sm font-medium text-[var(--card-bg)] hover:opacity-90 transition-colors"
476
476
  >
477
477
  <Plus className="w-4 h-4" />
478
478
  Add note
@@ -480,22 +480,22 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
480
480
  </div>
481
481
  <div className="space-y-2">
482
482
  {projectMemory.length === 0 ? (
483
- <div className="rounded-2xl border border-dashed border-slate-200 px-4 py-6 text-sm text-slate-400">
483
+ <div className="rounded-2xl border border-dashed border-[var(--border)] px-4 py-6 text-sm text-[var(--app-shell-soft-text)]">
484
484
  No project knowledge notes yet.
485
485
  </div>
486
486
  ) : (
487
487
  projectMemory.map((memory) => (
488
- <div key={memory.id} className="flex items-start justify-between gap-3 rounded-2xl border border-slate-100 bg-slate-50 p-3">
488
+ <div key={memory.id} className="flex items-start justify-between gap-3 rounded-2xl border border-[var(--border)] bg-[var(--secondary)] p-3">
489
489
  <div className="min-w-0">
490
- <div className="text-sm text-slate-700 leading-relaxed">{memory.content}</div>
491
- <div className="mt-1 text-[11px] text-slate-400">
490
+ <div className="text-sm text-[var(--secondary-foreground)] leading-relaxed">{memory.content}</div>
491
+ <div className="mt-1 text-[11px] text-[var(--app-shell-soft-text)]">
492
492
  {memory.source || "project"} • {new Date(memory.created_at).toLocaleString()}
493
493
  </div>
494
494
  </div>
495
495
  <button
496
496
  type="button"
497
497
  onClick={() => void deleteMemory(memory.id)}
498
- className="rounded-lg p-2 text-slate-400 hover:bg-white hover:text-red-600 transition-colors"
498
+ className="rounded-lg p-2 text-[var(--app-shell-soft-text)] hover:bg-[var(--card-bg)] hover:text-red-600 transition-colors"
499
499
  aria-label="Remove knowledge note"
500
500
  >
501
501
  <Trash2 className="w-4 h-4" />
@@ -507,21 +507,21 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
507
507
  </section>
508
508
  </div>
509
509
 
510
- <div className="mt-6 rounded-2xl border border-slate-200 bg-slate-50 px-4 py-4">
511
- <div className="text-xs font-black uppercase tracking-[0.18em] text-slate-400">System-Generated Project Knowledge</div>
510
+ <div className="mt-6 rounded-2xl border border-[var(--border)] bg-[var(--secondary)] px-4 py-4">
511
+ <div className="text-xs font-black uppercase tracking-[0.18em] text-[var(--app-shell-soft-text)]">System-Generated Project Knowledge</div>
512
512
  {projectKnowledgeCandidates.length > 0 ? (
513
513
  <div className="mt-3 space-y-2">
514
514
  {projectKnowledgeCandidates.map((candidate) => (
515
- <div key={candidate.id} className="rounded-xl border border-slate-200 bg-white px-3 py-3">
516
- <div className="text-sm text-slate-700 leading-relaxed">{candidate.content}</div>
517
- <div className="mt-2 text-[11px] text-slate-400">
515
+ <div key={candidate.id} className="rounded-xl border border-[var(--border)] bg-[var(--card-bg)] px-3 py-3">
516
+ <div className="text-sm text-[var(--secondary-foreground)] leading-relaxed">{candidate.content}</div>
517
+ <div className="mt-2 text-[11px] text-[var(--app-shell-soft-text)]">
518
518
  {candidate.source ? `${candidate.source} • ` : ""}{new Date(candidate.created_at).toLocaleString()}
519
519
  </div>
520
520
  </div>
521
521
  ))}
522
522
  </div>
523
523
  ) : (
524
- <p className="mt-2 text-sm text-slate-500">
524
+ <p className="mt-2 text-sm text-[var(--muted-foreground)]">
525
525
  No project-scoped system-generated knowledge candidates are surfaced yet.
526
526
  </p>
527
527
  )}
@@ -532,36 +532,36 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
532
532
 
533
533
  {showRepoPanel && currentProject && (
534
534
  <div className="px-3 sm:px-6 py-3">
535
- <div className="rounded-3xl border border-slate-200 bg-white p-4 sm:p-6 shadow-sm">
535
+ <div className="rounded-3xl border border-[var(--border)] bg-[var(--card-bg)] p-4 sm:p-6 shadow-sm">
536
536
  <div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3 mb-5">
537
537
  <div>
538
- <h2 className="text-xs font-black text-slate-400 uppercase tracking-[0.2em] flex items-center gap-2">
538
+ <h2 className="text-xs font-black text-[var(--app-shell-soft-text)] uppercase tracking-[0.2em] flex items-center gap-2">
539
539
  <BookOpen className="w-4 h-4" /> Repo Knowledge
540
540
  </h2>
541
- <p className="mt-2 text-sm text-slate-600 max-w-2xl">
541
+ <p className="mt-2 text-sm text-[var(--muted-foreground)] max-w-2xl">
542
542
  Edit repo-scoped knowledge here. Use this for durable codebase facts, conventions, and workflows that belong to a specific repository.
543
543
  </p>
544
544
  </div>
545
- <div className="text-xs text-slate-400">
545
+ <div className="text-xs text-[var(--app-shell-soft-text)]">
546
546
  {currentProject.repos.length} repos
547
547
  </div>
548
548
  </div>
549
549
 
550
550
  {currentProject.repos.length === 0 ? (
551
- <div className="rounded-2xl border border-dashed border-slate-200 px-4 py-6 text-sm text-slate-400">
551
+ <div className="rounded-2xl border border-dashed border-[var(--border)] px-4 py-6 text-sm text-[var(--app-shell-soft-text)]">
552
552
  This project has no repos attached yet.
553
553
  </div>
554
554
  ) : (
555
555
  <div className="space-y-4">
556
556
  {currentProject.repos.map((repo) => (
557
- <section key={repo.id} className="rounded-2xl border border-slate-100 bg-slate-50 p-4">
557
+ <section key={repo.id} className="rounded-2xl border border-[var(--border)] bg-[var(--secondary)] p-4">
558
558
  <div className="flex flex-col sm:flex-row sm:items-start sm:justify-between gap-3">
559
559
  <div className="min-w-0">
560
- <h3 className="text-sm font-semibold text-slate-900">{repo.name}</h3>
561
- <div className="mt-1 text-xs text-slate-500">
560
+ <h3 className="text-sm font-semibold text-[var(--foreground)]">{repo.name}</h3>
561
+ <div className="mt-1 text-xs text-[var(--muted-foreground)]">
562
562
  {repo.path || "No path set"}
563
563
  </div>
564
- <div className="mt-2 text-[10px] font-black uppercase tracking-[0.16em] text-slate-400">
564
+ <div className="mt-2 text-[10px] font-black uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]">
565
565
  Human-authored repo knowledge
566
566
  </div>
567
567
  </div>
@@ -582,7 +582,7 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
582
582
  }
583
583
  });
584
584
  }}
585
- className="inline-flex items-center justify-center rounded-xl bg-slate-900 px-3 py-2 text-xs font-medium text-white hover:bg-slate-800 transition-colors"
585
+ className="inline-flex items-center justify-center rounded-xl bg-[var(--foreground)] px-3 py-2 text-xs font-medium text-[var(--card-bg)] hover:opacity-90 transition-colors"
586
586
  >
587
587
  Save repo knowledge
588
588
  </button>
@@ -592,23 +592,23 @@ export default function ProjectBoardPage({ params }: { params: Promise<{ slug: s
592
592
  onChange={(e) => setRepoDrafts((prev) => ({ ...prev, [repo.id]: e.target.value }))}
593
593
  rows={4}
594
594
  placeholder="Architecture facts, repo conventions, commands, or stable gotchas..."
595
- className="mt-3 w-full rounded-xl border border-slate-200 bg-white px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-500"
595
+ className="mt-3 w-full rounded-xl border border-[var(--border)] bg-[var(--card-bg)] px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-500"
596
596
  />
597
- <div className="mt-4 rounded-xl border border-slate-200 bg-white px-3 py-3">
598
- <div className="text-[10px] font-black uppercase tracking-[0.16em] text-slate-400">System-Generated Repo Knowledge</div>
597
+ <div className="mt-4 rounded-xl border border-[var(--border)] bg-[var(--card-bg)] px-3 py-3">
598
+ <div className="text-[10px] font-black uppercase tracking-[0.16em] text-[var(--app-shell-soft-text)]">System-Generated Repo Knowledge</div>
599
599
  {(repoKnowledgeCandidates[repo.id] ?? []).length > 0 ? (
600
600
  <div className="mt-3 space-y-2">
601
601
  {(repoKnowledgeCandidates[repo.id] ?? []).map((candidate) => (
602
- <div key={candidate.id} className="rounded-lg border border-slate-100 bg-slate-50 px-3 py-2">
603
- <div className="text-sm text-slate-700 leading-relaxed">{candidate.content}</div>
604
- <div className="mt-1 text-[11px] text-slate-400">
602
+ <div key={candidate.id} className="rounded-lg border border-[var(--border)] bg-[var(--secondary)] px-3 py-2">
603
+ <div className="text-sm text-[var(--secondary-foreground)] leading-relaxed">{candidate.content}</div>
604
+ <div className="mt-1 text-[11px] text-[var(--app-shell-soft-text)]">
605
605
  {new Date(candidate.created_at).toLocaleString()}
606
606
  </div>
607
607
  </div>
608
608
  ))}
609
609
  </div>
610
610
  ) : (
611
- <p className="mt-2 text-sm text-slate-500">
611
+ <p className="mt-2 text-sm text-[var(--muted-foreground)]">
612
612
  No repo-scoped system-generated knowledge candidates yet.
613
613
  </p>
614
614
  )}
@@ -25,7 +25,7 @@ const statusIcon = (status: ServiceStatus["status"]) => {
25
25
  case "error":
26
26
  return <XCircle className="w-3 h-3 text-red-400" />;
27
27
  case "unavailable":
28
- return <AlertTriangle className="w-3 h-3 text-zinc-500" />;
28
+ return <AlertTriangle className="w-3 h-3 text-[var(--muted-foreground)]" />;
29
29
  }
30
30
  };
31
31
 
@@ -36,7 +36,7 @@ const statusLabel = (status: ServiceStatus["status"]) => {
36
36
  case "error":
37
37
  return <span className="text-red-400 text-xs font-medium">Error</span>;
38
38
  case "unavailable":
39
- return <span className="text-zinc-500 text-xs font-medium">Unavailable</span>;
39
+ return <span className="text-[var(--muted-foreground)] text-xs font-medium">Unavailable</span>;
40
40
  }
41
41
  };
42
42
 
@@ -74,7 +74,7 @@ export default function StatusPage() {
74
74
  {/* Header */}
75
75
  <div className="flex items-center justify-between mb-8">
76
76
  <div className="flex items-center gap-3">
77
- <Link href="/" className="text-zinc-500 hover:text-zinc-300 transition-colors">
77
+ <Link href="/" className="text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors">
78
78
  <ArrowLeft className="w-4 h-4" />
79
79
  </Link>
80
80
  <h1 className="text-lg font-semibold">System Status</h1>
@@ -93,7 +93,7 @@ export default function StatusPage() {
93
93
  <button
94
94
  onClick={refresh}
95
95
  disabled={loading}
96
- className="text-zinc-500 hover:text-zinc-300 transition-colors disabled:opacity-50"
96
+ className="text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors disabled:opacity-50"
97
97
  >
98
98
  <RefreshCw className={`w-4 h-4 ${loading ? "animate-spin" : ""}`} />
99
99
  </button>
@@ -107,10 +107,10 @@ export default function StatusPage() {
107
107
 
108
108
  {/* Core Services */}
109
109
  <section className="mb-8">
110
- <h2 className="text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3">
110
+ <h2 className="text-xs font-medium text-[var(--muted-foreground)] uppercase tracking-wider mb-3">
111
111
  Services
112
112
  </h2>
113
- <div className="rounded-lg border border-zinc-800 divide-y divide-zinc-800">
113
+ <div className="rounded-lg border border-[var(--border)] divide-y divide-[var(--border)]">
114
114
  {coreServices.map((s) => (
115
115
  <div key={s.name} className="flex items-center justify-between px-4 py-3">
116
116
  <div className="flex items-center gap-3">
@@ -119,24 +119,24 @@ export default function StatusPage() {
119
119
  </div>
120
120
  <div className="flex items-center gap-3">
121
121
  {s.latencyMs !== undefined && (
122
- <span className="text-xs text-zinc-500">{s.latencyMs}ms</span>
122
+ <span className="text-xs text-[var(--muted-foreground)]">{s.latencyMs}ms</span>
123
123
  )}
124
124
  {statusLabel(s.status)}
125
125
  </div>
126
126
  </div>
127
127
  ))}
128
128
  {coreServices.length === 0 && !loading && (
129
- <div className="px-4 py-3 text-sm text-zinc-500">No services found</div>
129
+ <div className="px-4 py-3 text-sm text-[var(--muted-foreground)]">No services found</div>
130
130
  )}
131
131
  </div>
132
132
  </section>
133
133
 
134
134
  {/* CLI Providers */}
135
135
  <section className="mb-8">
136
- <h2 className="text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3">
136
+ <h2 className="text-xs font-medium text-[var(--muted-foreground)] uppercase tracking-wider mb-3">
137
137
  CLI Providers
138
138
  </h2>
139
- <div className="rounded-lg border border-zinc-800 divide-y divide-zinc-800">
139
+ <div className="rounded-lg border border-[var(--border)] divide-y divide-[var(--border)]">
140
140
  {cliProviders.map((s) => (
141
141
  <div key={s.name} className="flex items-center justify-between px-4 py-3">
142
142
  <div className="flex items-center gap-3">
@@ -144,7 +144,7 @@ export default function StatusPage() {
144
144
  <span className="text-sm font-medium">{s.name.replace("cli:", "")}</span>
145
145
  </div>
146
146
  <div className="flex items-center gap-3">
147
- <span className="text-xs text-zinc-500">{s.detail}</span>
147
+ <span className="text-xs text-[var(--muted-foreground)]">{s.detail}</span>
148
148
  {statusLabel(s.status)}
149
149
  </div>
150
150
  </div>
@@ -155,28 +155,28 @@ export default function StatusPage() {
155
155
  {/* Operational Limits */}
156
156
  {data?.limits && (
157
157
  <section className="mb-8">
158
- <h2 className="text-xs font-medium text-zinc-500 uppercase tracking-wider mb-3">
158
+ <h2 className="text-xs font-medium text-[var(--muted-foreground)] uppercase tracking-wider mb-3">
159
159
  Operational Limits
160
160
  </h2>
161
- <div className="rounded-lg border border-zinc-800 divide-y divide-zinc-800">
161
+ <div className="rounded-lg border border-[var(--border)] divide-y divide-[var(--border)]">
162
162
  <div className="flex items-center justify-between px-4 py-3">
163
163
  <div className="flex items-center gap-3">
164
- <Circle className="w-3 h-3 fill-zinc-500 text-zinc-500" />
164
+ <Circle className="w-3 h-3 fill-[var(--muted-foreground)] text-[var(--muted-foreground)]" />
165
165
  <span className="text-sm font-medium">Max Workers</span>
166
166
  </div>
167
- <span className="text-xs text-zinc-400 font-mono">{data.limits.maxWorkers}</span>
167
+ <span className="text-xs text-[var(--app-shell-soft-text)] font-mono">{data.limits.maxWorkers}</span>
168
168
  </div>
169
169
  <div className="flex items-center justify-between px-4 py-3">
170
170
  <div className="flex items-center gap-3">
171
- <Circle className="w-3 h-3 fill-zinc-500 text-zinc-500" />
171
+ <Circle className="w-3 h-3 fill-[var(--muted-foreground)] text-[var(--muted-foreground)]" />
172
172
  <span className="text-sm font-medium">Write QPS Ceiling</span>
173
173
  </div>
174
- <span className="text-xs text-zinc-400 font-mono">{data.limits.writeQpsCeiling}</span>
174
+ <span className="text-xs text-[var(--app-shell-soft-text)] font-mono">{data.limits.writeQpsCeiling}</span>
175
175
  </div>
176
176
  <div className="px-4 py-2">
177
- <span className="text-[11px] text-zinc-600">
177
+ <span className="text-[11px] text-[var(--muted-foreground)]">
178
178
  Single-coordinator / single-writer SQLite architecture.{" "}
179
- <a href="https://github.com/anthropics/agx-cloud/blob/main/docs/LIMITS.md" target="_blank" rel="noopener" className="underline hover:text-zinc-400">
179
+ <a href="https://github.com/anthropics/agx-cloud/blob/main/docs/LIMITS.md" target="_blank" rel="noopener" className="underline hover:text-[var(--app-shell-soft-text)]">
180
180
  See LIMITS.md
181
181
  </a>
182
182
  </span>
@@ -187,7 +187,7 @@ export default function StatusPage() {
187
187
 
188
188
  {/* Timestamp */}
189
189
  {data && (
190
- <p className="text-xs text-zinc-600 text-center">
190
+ <p className="text-xs text-[var(--muted-foreground)] text-center">
191
191
  Last checked: {new Date(data.timestamp).toLocaleTimeString()}
192
192
  </p>
193
193
  )}
@@ -64,11 +64,11 @@ export default function WelcomePage() {
64
64
  }, [router]);
65
65
 
66
66
  return (
67
- <div className="h-screen w-full flex flex-col bg-[#FAFAFA]">
67
+ <div className="h-screen w-full flex flex-col bg-[var(--secondary)]">
68
68
  {/* Identity line */}
69
69
  <div className="text-center pt-10 pb-2 px-4">
70
- <h1 className="text-[15px] font-medium text-slate-400 tracking-wide">
71
- Chat with a team of AI agents
70
+ <h1 className="text-[15px] font-medium text-[var(--app-shell-soft-text)] tracking-wide">
71
+ Chat with a team of AI agents across Claude, Gemini, Codex, Ollama, and Z.AI
72
72
  </h1>
73
73
  </div>
74
74
 
@@ -81,7 +81,7 @@ export default function WelcomePage() {
81
81
  type="button"
82
82
  onClick={handleJoin}
83
83
  disabled={readyState === "needs-setup"}
84
- className="inline-flex items-center gap-2 px-8 py-3.5 bg-slate-900 text-white text-[15px] font-semibold rounded-xl hover:bg-slate-800 transition-all duration-200 shadow-lg shadow-slate-900/10 hover:-translate-y-0.5 disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:translate-y-0"
84
+ className="inline-flex items-center gap-2 px-8 py-3.5 bg-[var(--foreground)] text-[var(--background)] text-[15px] font-semibold rounded-xl hover:opacity-90 transition-all duration-200 shadow-lg shadow-[var(--foreground)]/10 hover:-translate-y-0.5 disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:translate-y-0"
85
85
  >
86
86
  Join the conversation
87
87
  </button>
@@ -89,7 +89,7 @@ export default function WelcomePage() {
89
89
  {/* Status line */}
90
90
  <div className="text-[13px] font-medium">
91
91
  {readyState === "checking" && (
92
- <span className="text-slate-400">Checking system...</span>
92
+ <span className="text-[var(--app-shell-soft-text)]">Checking system...</span>
93
93
  )}
94
94
  {readyState === "ready" && (
95
95
  <span className="text-emerald-600 flex items-center gap-1.5">
@@ -100,13 +100,13 @@ export default function WelcomePage() {
100
100
  {readyState === "needs-setup" && (
101
101
  <div className="text-center">
102
102
  <div className="text-amber-600">⚠ Setup needed (2 min)</div>
103
- <div className="mt-1 text-xs text-slate-500">
103
+ <div className="mt-1 text-xs text-[var(--muted-foreground)]">
104
104
  Install a provider CLI:{" "}
105
105
  <a
106
106
  href="https://github.com/anthropics/claude-code"
107
107
  target="_blank"
108
108
  rel="noopener noreferrer"
109
- className="underline hover:text-slate-700 transition-colors"
109
+ className="underline hover:text-[var(--secondary-foreground)] transition-colors"
110
110
  >
111
111
  Claude
112
112
  </a>{" "}
@@ -115,7 +115,7 @@ export default function WelcomePage() {
115
115
  href="https://ai.google.dev/gemini-api/docs/cli"
116
116
  target="_blank"
117
117
  rel="noopener noreferrer"
118
- className="underline hover:text-slate-700 transition-colors"
118
+ className="underline hover:text-[var(--secondary-foreground)] transition-colors"
119
119
  >
120
120
  Gemini
121
121
  </a>{" "}
@@ -124,7 +124,7 @@ export default function WelcomePage() {
124
124
  href="https://ollama.com"
125
125
  target="_blank"
126
126
  rel="noopener noreferrer"
127
- className="underline hover:text-slate-700 transition-colors"
127
+ className="underline hover:text-[var(--secondary-foreground)] transition-colors"
128
128
  >
129
129
  Ollama
130
130
  </a>{" "}
@@ -133,19 +133,24 @@ export default function WelcomePage() {
133
133
  href="https://github.com/openai/codex"
134
134
  target="_blank"
135
135
  rel="noopener noreferrer"
136
- className="underline hover:text-slate-700 transition-colors"
136
+ className="underline hover:text-[var(--secondary-foreground)] transition-colors"
137
137
  >
138
138
  Codex
139
139
  </a>
140
- </div>
141
- <div className="mt-1 text-[11px] text-slate-400">
142
- For Z.AI, use Claude CLI with <code className="font-mono">ZAI_API_KEY</code> (or{" "}
143
- <code className="font-mono">ANTHROPIC_AUTH_TOKEN</code>).
140
+ {" · "}
141
+ <a
142
+ href="https://z.ai/"
143
+ target="_blank"
144
+ rel="noopener noreferrer"
145
+ className="underline hover:text-[var(--secondary-foreground)] transition-colors"
146
+ >
147
+ Z.AI
148
+ </a>
144
149
  </div>
145
150
  </div>
146
151
  )}
147
152
  {readyState === "error" && (
148
- <span className="text-slate-400">Could not check system status</span>
153
+ <span className="text-[var(--app-shell-soft-text)]">Could not check system status</span>
149
154
  )}
150
155
  </div>
151
156
  </div>
@@ -68,7 +68,7 @@ function Toggle({
68
68
  } ${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`}
69
69
  >
70
70
  <span
71
- className={`absolute top-[2px] left-[2px] w-4 h-4 bg-white rounded-full transition-transform duration-200 shadow-sm ${
71
+ className={`absolute top-[2px] left-[2px] w-4 h-4 bg-[var(--card-bg)] rounded-full transition-transform duration-200 shadow-sm ${
72
72
  on ? "translate-x-4" : "translate-x-0"
73
73
  }`}
74
74
  />
@@ -0,0 +1,17 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState, type ReactNode } from "react";
4
+
5
+ export default function ClientOnly({ children }: { children: ReactNode }) {
6
+ const [mounted, setMounted] = useState(false);
7
+
8
+ useEffect(() => {
9
+ setMounted(true);
10
+ }, []);
11
+
12
+ if (!mounted) {
13
+ return null;
14
+ }
15
+
16
+ return <>{children}</>;
17
+ }
@@ -30,15 +30,15 @@ export const ConsentToggle: React.FC<ConsentToggleProps> = ({
30
30
  onChange={(e) => onChange(e.target.checked)}
31
31
  disabled={disabled}
32
32
  aria-describedby={descId}
33
- className="mt-0.5 h-4 w-4 shrink-0 rounded border-slate-300 text-indigo-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500 disabled:opacity-50 cursor-pointer"
33
+ className="mt-0.5 h-4 w-4 shrink-0 rounded border-[var(--border)] text-indigo-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500 disabled:opacity-50 cursor-pointer"
34
34
  />
35
- <span className="text-sm font-medium text-slate-800">
35
+ <span className="text-sm font-medium text-[var(--foreground)]">
36
36
  Allow home directory search
37
37
  </span>
38
38
  </label>
39
39
  <p
40
40
  id={descId}
41
- className="ml-7 text-xs text-slate-500 leading-relaxed"
41
+ className="ml-7 text-xs text-[var(--muted-foreground)] leading-relaxed"
42
42
  >
43
43
  When enabled, file suggestions may include files from your home
44
44
  directory&nbsp;(~). Only files matching your configured workspace roots