@exulu/frontend 1.3.2 → 1.4.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 (254) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +185 -174
  3. package/dist/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/prerender-manifest.json +1 -1
  6. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
  8. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/(application)/agents/page.js +1 -2
  10. package/dist/.next/server/app/(application)/agents/page.js.nft.json +1 -1
  11. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +1 -1
  13. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
  14. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  15. package/dist/.next/server/app/(application)/chat/[agent]/page.js +1 -1
  16. package/dist/.next/server/app/(application)/chat/[agent]/page.js.nft.json +1 -1
  17. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  18. package/dist/.next/server/app/(application)/chat/page.js +1 -1
  19. package/dist/.next/server/app/(application)/chat/page.js.nft.json +1 -1
  20. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  21. package/dist/.next/server/app/(application)/configuration/page.js +1 -1
  22. package/dist/.next/server/app/(application)/configuration/page.js.nft.json +1 -1
  23. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(application)/dashboard/page.js +5 -1
  25. package/dist/.next/server/app/(application)/dashboard/page.js.nft.json +1 -1
  26. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +5 -1
  28. package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
  29. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  31. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  32. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js +1 -1
  34. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js.nft.json +1 -1
  35. package/dist/.next/server/app/(application)/evals/[id]/runs/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  37. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  38. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/(application)/evals/page.js +1 -1
  40. package/dist/.next/server/app/(application)/evals/page.js.nft.json +1 -1
  41. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  42. package/dist/.next/server/app/(application)/explorer/page.js +1 -1
  43. package/dist/.next/server/app/(application)/explorer/page.js.nft.json +1 -1
  44. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  45. package/dist/.next/server/app/(application)/jobs/page.js +1 -1
  46. package/dist/.next/server/app/(application)/jobs/page.js.nft.json +1 -1
  47. package/dist/.next/server/app/(application)/jobs/page_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/(application)/keys/page.js +1 -1
  49. package/dist/.next/server/app/(application)/keys/page.js.nft.json +1 -1
  50. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  51. package/dist/.next/server/app/(application)/page.js +1 -1
  52. package/dist/.next/server/app/(application)/page.js.nft.json +1 -1
  53. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  54. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  55. package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
  56. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  57. package/dist/.next/server/app/(application)/projects/page.js +1 -1
  58. package/dist/.next/server/app/(application)/projects/page.js.nft.json +1 -1
  59. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  60. package/dist/.next/server/app/(application)/roles/page.js +1 -1
  61. package/dist/.next/server/app/(application)/roles/page.js.nft.json +1 -1
  62. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  63. package/dist/.next/server/app/(application)/token/page.js +1 -1
  64. package/dist/.next/server/app/(application)/token/page.js.nft.json +1 -1
  65. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  66. package/dist/.next/server/app/(application)/users/page.js +1 -1
  67. package/dist/.next/server/app/(application)/users/page.js.nft.json +1 -1
  68. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  69. package/dist/.next/server/app/(application)/variables/create/page.js +1 -1
  70. package/dist/.next/server/app/(application)/variables/create/page.js.nft.json +1 -1
  71. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  72. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js +1 -1
  73. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js.nft.json +1 -1
  74. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  75. package/dist/.next/server/app/(application)/variables/page.js +1 -1
  76. package/dist/.next/server/app/(application)/variables/page.js.nft.json +1 -1
  77. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  78. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js +1 -1
  79. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js.nft.json +1 -1
  80. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  81. package/dist/.next/server/app/(application)/workflows/page.js +1 -1
  82. package/dist/.next/server/app/(application)/workflows/page.js.nft.json +1 -1
  83. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  84. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  85. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/dist/.next/server/app/_not-found.html +1 -1
  87. package/dist/.next/server/app/_not-found.rsc +1 -1
  88. package/dist/.next/server/app/api/auth/[...nextauth]/route.js +9 -9
  89. package/dist/.next/server/app-paths-manifest.json +5 -5
  90. package/dist/.next/server/chunks/1051.js +16 -16
  91. package/dist/.next/server/chunks/2270.js +188 -100
  92. package/dist/.next/server/chunks/{8838.js → 2875.js} +1 -1
  93. package/dist/.next/server/chunks/2916.js +1 -1
  94. package/dist/.next/server/chunks/3503.js +1 -0
  95. package/dist/.next/server/chunks/{7544.js → 4552.js} +1 -1
  96. package/dist/.next/server/chunks/{3393.js → 4739.js} +1 -1
  97. package/dist/.next/server/chunks/5192.js +1 -1
  98. package/dist/.next/server/chunks/5999.js +2 -0
  99. package/dist/.next/server/chunks/6282.js +1 -0
  100. package/dist/.next/server/chunks/6623.js +1 -0
  101. package/dist/.next/server/chunks/7721.js +1 -0
  102. package/dist/.next/server/chunks/7944.js +2 -2
  103. package/dist/.next/server/chunks/8050.js +1 -0
  104. package/dist/.next/server/chunks/8206.js +1 -0
  105. package/dist/.next/server/chunks/8679.js +5 -0
  106. package/dist/.next/server/middleware-manifest.json +5 -5
  107. package/dist/.next/server/pages/404.html +1 -1
  108. package/dist/.next/server/pages/500.html +1 -1
  109. package/dist/.next/server/server-reference-manifest.json +1 -1
  110. package/dist/.next/static/chunks/1294-368dc8ec59054da4.js +2 -0
  111. package/dist/.next/static/chunks/1294-368dc8ec59054da4.js.map +1 -0
  112. package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js → 1645-570e014100772437.js} +1 -1
  113. package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js.map → 1645-570e014100772437.js.map} +1 -1
  114. package/dist/.next/static/chunks/1957-5867716304ecd208.js +2 -0
  115. package/dist/.next/static/chunks/1957-5867716304ecd208.js.map +1 -0
  116. package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js → 2293-1681cdef5b8c0c0b.js} +1 -1
  117. package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js.map → 2293-1681cdef5b8c0c0b.js.map} +1 -1
  118. package/dist/.next/static/chunks/3475-28ce4fce960656bd.js +2 -0
  119. package/dist/.next/static/chunks/3475-28ce4fce960656bd.js.map +1 -0
  120. package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js +2 -0
  121. package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js.map +1 -0
  122. package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js → 4386-c7690667749bff6a.js} +1 -1
  123. package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js.map → 4386-c7690667749bff6a.js.map} +1 -1
  124. package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js +2 -0
  125. package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js.map +1 -0
  126. package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js +2 -0
  127. package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js.map +1 -0
  128. package/dist/.next/static/chunks/5978-814d6900645d2fcc.js +2 -0
  129. package/dist/.next/static/chunks/5978-814d6900645d2fcc.js.map +1 -0
  130. package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js +2 -0
  131. package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js.map +1 -0
  132. package/dist/.next/static/chunks/{7564-44a20b31206685e1.js → 6545-5a1d7cf4d5ca770e.js} +21 -21
  133. package/dist/.next/static/chunks/6545-5a1d7cf4d5ca770e.js.map +1 -0
  134. package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js +2 -0
  135. package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js.map +1 -0
  136. package/dist/.next/static/chunks/723-94e596796cbf911d.js +2 -0
  137. package/dist/.next/static/chunks/723-94e596796cbf911d.js.map +1 -0
  138. package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js +2 -0
  139. package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js.map +1 -0
  140. package/dist/.next/static/chunks/8269-37dd07515eb44201.js +2 -0
  141. package/dist/.next/static/chunks/8269-37dd07515eb44201.js.map +1 -0
  142. package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js +2 -0
  143. package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js.map +1 -0
  144. package/dist/.next/static/chunks/8824-20030459012376a3.js +2 -0
  145. package/dist/.next/static/chunks/8824-20030459012376a3.js.map +1 -0
  146. package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js +2 -0
  147. package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js.map +1 -0
  148. package/dist/.next/static/chunks/9183-a51605ff26b92fed.js +41 -0
  149. package/dist/.next/static/chunks/9183-a51605ff26b92fed.js.map +1 -0
  150. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js +2 -0
  151. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js.map +1 -0
  152. package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js → page-63643deabdaa6b2c.js} +2 -2
  153. package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js.map → page-63643deabdaa6b2c.js.map} +1 -1
  154. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-3807a8bc2ae87548.js → page-62c7321ba26632af.js} +2 -2
  155. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-62c7321ba26632af.js.map +1 -0
  156. package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js → layout-5eb1d22ddcbc0b55.js} +2 -2
  157. package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js.map → layout-5eb1d22ddcbc0b55.js.map} +1 -1
  158. package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js → page-8f92af5318feb84f.js} +1 -1
  159. package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js.map → page-8f92af5318feb84f.js.map} +1 -1
  160. package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js +2 -0
  161. package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js.map +1 -0
  162. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js +2 -0
  163. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js.map +1 -0
  164. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js +2 -0
  165. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js.map +1 -0
  166. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js → page-ef82e92ca7d0da6c.js} +2 -2
  167. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js.map → page-ef82e92ca7d0da6c.js.map} +1 -1
  168. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js +2 -0
  169. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js.map +1 -0
  170. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js → page-6246be9d6592d1d3.js} +2 -2
  171. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js.map → page-6246be9d6592d1d3.js.map} +1 -1
  172. package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js → page-b1e1fd7dba1e675f.js} +2 -2
  173. package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js.map → page-b1e1fd7dba1e675f.js.map} +1 -1
  174. package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js → page-a96441a0bc654d68.js} +1 -1
  175. package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js.map → page-a96441a0bc654d68.js.map} +1 -1
  176. package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js → page-163aadfe9ad0d794.js} +1 -1
  177. package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js.map → page-163aadfe9ad0d794.js.map} +1 -1
  178. package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js → layout-694c53aca85ef437.js} +2 -2
  179. package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js.map → layout-694c53aca85ef437.js.map} +1 -1
  180. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js +2 -0
  181. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js.map +1 -0
  182. package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js → layout-d7642b25bf6d33b3.js} +2 -2
  183. package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js.map → layout-d7642b25bf6d33b3.js.map} +1 -1
  184. package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js +2 -0
  185. package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js.map +1 -0
  186. package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js → page-b862cb199fd72525.js} +2 -2
  187. package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js.map → page-b862cb199fd72525.js.map} +1 -1
  188. package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js → page-d79d5c1c1ecabdb5.js} +1 -1
  189. package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js.map → page-d79d5c1c1ecabdb5.js.map} +1 -1
  190. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js → page-72cf3aa95776ab96.js} +1 -1
  191. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js.map → page-72cf3aa95776ab96.js.map} +1 -1
  192. package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js → page-67864b471b48c950.js} +2 -2
  193. package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js.map → page-67864b471b48c950.js.map} +1 -1
  194. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js → page-208b4c9cc64abf2e.js} +1 -1
  195. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js.map → page-208b4c9cc64abf2e.js.map} +1 -1
  196. package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js +2 -0
  197. package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js.map +1 -0
  198. package/dist/.next/static/css/006966ab2edd0ebc.css +4 -0
  199. package/dist/.next/static/css/006966ab2edd0ebc.css.map +1 -0
  200. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  201. package/dist/package.json +4 -1
  202. package/package.json +1 -1
  203. package/dist/.next/server/chunks/3743.js +0 -1
  204. package/dist/.next/server/chunks/4375.js +0 -1
  205. package/dist/.next/server/chunks/4680.js +0 -1
  206. package/dist/.next/server/chunks/7203.js +0 -5
  207. package/dist/.next/server/chunks/7598.js +0 -5
  208. package/dist/.next/server/chunks/8806.js +0 -1
  209. package/dist/.next/static/chunks/1957-670ddf66742d95f2.js +0 -2
  210. package/dist/.next/static/chunks/1957-670ddf66742d95f2.js.map +0 -1
  211. package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js +0 -2
  212. package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js.map +0 -1
  213. package/dist/.next/static/chunks/3832-10b779e2f89f162f.js +0 -2
  214. package/dist/.next/static/chunks/3832-10b779e2f89f162f.js.map +0 -1
  215. package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js +0 -2
  216. package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js.map +0 -1
  217. package/dist/.next/static/chunks/428-61741966c36f4f72.js +0 -2
  218. package/dist/.next/static/chunks/428-61741966c36f4f72.js.map +0 -1
  219. package/dist/.next/static/chunks/5585-4f0c084850210a82.js +0 -2
  220. package/dist/.next/static/chunks/5585-4f0c084850210a82.js.map +0 -1
  221. package/dist/.next/static/chunks/5615-042f927b657e6db1.js +0 -41
  222. package/dist/.next/static/chunks/5615-042f927b657e6db1.js.map +0 -1
  223. package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js +0 -2
  224. package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js.map +0 -1
  225. package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js +0 -2
  226. package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js.map +0 -1
  227. package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js +0 -2
  228. package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js.map +0 -1
  229. package/dist/.next/static/chunks/7398-c6de1642586049cd.js +0 -2
  230. package/dist/.next/static/chunks/7398-c6de1642586049cd.js.map +0 -1
  231. package/dist/.next/static/chunks/7564-44a20b31206685e1.js.map +0 -1
  232. package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js +0 -2
  233. package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js.map +0 -1
  234. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js +0 -2
  235. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js.map +0 -1
  236. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-3807a8bc2ae87548.js.map +0 -1
  237. package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js +0 -2
  238. package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js.map +0 -1
  239. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js +0 -2
  240. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js.map +0 -1
  241. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js +0 -2
  242. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js.map +0 -1
  243. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js +0 -2
  244. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js.map +0 -1
  245. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js +0 -2
  246. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js.map +0 -1
  247. package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js +0 -2
  248. package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js.map +0 -1
  249. package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js +0 -2
  250. package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js.map +0 -1
  251. package/dist/.next/static/css/a7092ddec8ffd4fb.css +0 -4
  252. package/dist/.next/static/css/a7092ddec8ffd4fb.css.map +0 -1
  253. /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_buildManifest.js +0 -0
  254. /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js","mappings":"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","sources":["webpack://_N_E/?ef07","webpack://_N_E/./components/items-selection-modal.tsx","webpack://_N_E/./components/project-details.tsx","webpack://_N_E/./app/(application)/projects/[project]/page.tsx","webpack://_N_E/./components/rbac.tsx","webpack://_N_E/./components/ui/checkbox.tsx","webpack://_N_E/./components/ui/command.tsx","webpack://_N_E/./components/ui/loading.tsx","webpack://_N_E/./components/ui/popover.tsx","webpack://_N_E/./hooks/contexts.tsx","webpack://_N_E/./lib/check-chat-session-write-access.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/projects/[project]/page.tsx\");\n","import { Context } from \"@/types/models/context\";\nimport { useContexts } from \"@/hooks/contexts\";\nimport { useState } from \"react\"\nimport { PlusSquareIcon } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { useQuery } from \"@apollo/client\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\"\nimport { Item } from \"@/types/models/item\";\nimport { GET_ITEMS, PAGINATION_POSTFIX } from \"@/queries/queries\";\nimport { Loading } from \"./ui/loading\";\n\nexport const ItemsSelectionModal = ({ onConfirm }: {\n onConfirm: (data: {\n item: Item,\n context: Context\n }[]) => void\n}) => {\n // Shows a modal that first shows a list of all contexts\n\n const { data, loading, error } = useContexts();\n const [context, setContext] = useState<Context | undefined>(undefined);\n const [open, setOpen] = useState(false);\n\n return (<Dialog open={open} onOpenChange={(value) => {\n setOpen(value)\n setContext(undefined)\n }}>\n <DialogTrigger asChild>\n <Button className=\"w-full\" variant=\"outline\">\n <PlusSquareIcon className=\"h-4 w-4 mr-2\" />\n Select items from knowledge sources\n to add to the project, or upload files.\n </Button>\n </DialogTrigger>\n <DialogContent className=\"sm:max-w-[900px]\">\n <DialogHeader>\n <DialogTitle>Item selection</DialogTitle>\n <DialogDescription>Browse through contexts and select items.</DialogDescription>\n </DialogHeader>\n {\n !context && (\n <Command className=\"rounded-lg border shadow-md md:min-w-[450px]\">\n <CommandInput placeholder=\"Type a command or search...\" />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n\n <CommandGroup heading=\"Contexts\">\n {\n data?.contexts?.items.map((context: Context) => (\n <CommandItem key={context.id} onSelect={() => {\n setContext(context)\n }}>\n {context.name}\n </CommandItem>\n ))\n }\n </CommandGroup>\n\n </CommandList>\n </Command>\n )\n }\n {\n context && (\n <ItemsList context={context} onConfirm={(item) => {\n console.log(\"item\", item)\n onConfirm([{\n item,\n context\n }])\n setOpen(false)\n }} />\n )\n }\n </DialogContent>\n </Dialog>)\n}\n\nconst ItemsList = ({ context, onConfirm }: { context: Context, onConfirm: (item: Item) => void }) => {\n const [search, setSearch] = useState<string | undefined>(undefined)\n let { loading, data, refetch, previousData: prev, error } = useQuery<{\n [key: string]: {\n pageInfo: {\n pageCount: number;\n itemCount: number;\n currentPage: number;\n hasPreviousPage: boolean;\n hasNextPage: boolean;\n };\n items: Item[];\n }\n }>(GET_ITEMS(context.id, []), {\n fetchPolicy: \"no-cache\",\n nextFetchPolicy: \"network-only\",\n skip: !context.id,\n variables: {\n context: context.id,\n page: 1,\n limit: 10,\n sort: {\n field: \"updatedAt\",\n direction: \"DESC\",\n },\n filters: {\n archived: {\n ne: true\n },\n ...(search ? { name: { contains: `${search}` } } : {}),\n },\n },\n });\n\n return (\n <Command className=\"rounded-lg border shadow-md md:min-w-[450px]\">\n <CommandInput onValueChange={(data) => setSearch(data)} placeholder=\"Type a command or search...\" />\n <CommandList>\n <CommandGroup heading=\"Items\">\n {\n !prev && loading && (\n <CommandItem key={\"loading\"}>\n <Loading />\n </CommandItem>\n )\n }\n {\n !loading && !data?.[context.id + PAGINATION_POSTFIX]?.items?.length && (\n <CommandEmpty>No items found.</CommandEmpty>\n )\n }\n {(data || prev)?.[context.id + PAGINATION_POSTFIX]?.items?.map((item: Item) => (\n <CommandItem key={item.id} onSelect={() => {\n onConfirm(item)\n }}>{item.name}</CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n )\n}","\"use client\";\n\nimport * as React from \"react\";\nimport { useState, useContext } from \"react\";\nimport { useQuery, useMutation, useApolloClient } from \"@apollo/client\";\nimport { UPDATE_PROJECT, DELETE_PROJECT, GET_AGENT_SESSIONS, GET_AGENTS, CREATE_AGENT_SESSION, GET_ITEM_BY_ID, UPDATE_AGENT_SESSION_PROJECT, REMOVE_AGENT_SESSION_BY_ID, DELETE_ITEM } from \"@/queries/queries\";\nimport { Button } from \"@/components/ui/button\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport { Textarea } from \"@/components/ui/textarea\";\nimport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from \"@/components/ui/dialog\";\nimport { Checkbox } from \"@/components/ui/checkbox\";\nimport { Trash2, Plus, MessageSquare, Settings2, Files, AlertTriangle, Shield, Pencil, Search, Bot, PackageMinus } from \"lucide-react\";\nimport { RBACControl } from \"@/components/rbac\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { useToast } from \"@/components/ui/use-toast\";\nimport { Loading } from \"./ui/loading\";\nimport { Agent } from \"@/types/models/agent\";\nimport { useRouter } from \"next/navigation\";\nimport { AgentSession } from \"@/types/models/agent-session\";\nimport { Project } from \"@/types/models/project\";\nimport { checkChatSessionWriteAccess } from \"@/lib/check-chat-session-write-access\";\nimport { UserContext } from \"@/app/(application)/authenticated\";\nimport Link from \"next/link\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { Item } from \"@/types/models/item\";\nimport { FileItem } from \"./uppy-dashboard\";\nimport { ItemsSelectionModal } from \"./items-selection-modal\";\nimport { files } from \"@/util/api\";\n\ninterface ProjectDetailsProps {\n project: Project;\n}\n\nexport function ProjectDetails({ project }: ProjectDetailsProps) {\n const [isEditing, setIsEditing] = useState(false);\n const [isDeleteDialogOpen, setIsDeleteDialogOpen] = useState(false);\n const [isAgentSelectionOpen, setIsAgentSelectionOpen] = useState(false);\n const [agentSearch, setAgentSearch] = useState(\"\");\n const [activeView, setActiveView] = useState<'overview' | 'context' | 'sessions' | 'access' | 'settings'>('overview');\n const { user } = useContext(UserContext);\n const router = useRouter();\n const [deleteOptions, setDeleteOptions] = useState({\n deleteItems: false,\n deleteSessions: false,\n });\n const [formData, setFormData] = useState({\n name: project.name || \"\",\n description: project.description || \"\",\n custom_instructions: project.custom_instructions || \"\",\n });\n const { toast } = useToast();\n\n const [rbac, setRbac] = useState({\n rights_mode: project.rights_mode,\n users: project.RBAC?.users,\n roles: project.RBAC?.roles,\n projects: project.RBAC?.projects\n })\n\n const [projectItems, setProjectItems] = useState<string[]>(project.project_items || []);\n const [updateProject, { loading: isSaving }] = useMutation(UPDATE_PROJECT);\n const [deleteProject] = useMutation(DELETE_PROJECT);\n const [deletingProject, setDeletingProject] = useState(false);\n const { data: sessionsData, loading: sessionsLoading, refetch: refetchSessions } = useQuery(GET_AGENT_SESSIONS, {\n variables: {\n page: 1,\n limit: 50,\n filters: [\n { project: { eq: project.id } }\n ]\n }\n });\n\n const { data: agentsData, loading: agentsLoading } = useQuery(GET_AGENTS, {\n variables: {\n page: 1,\n limit: 100,\n filters: [],\n sort: { field: \"updatedAt\", direction: \"DESC\" }\n }\n });\n\n const apolloClient = useApolloClient()\n\n const [createAgentSession, { loading: isCreatingSession }] = useMutation(CREATE_AGENT_SESSION);\n\n const [updateAgentSession, { loading: isUpdatingSession }] = useMutation(UPDATE_AGENT_SESSION_PROJECT);\n\n const [deleteSession, { loading: isDeletingSession }] = useMutation(REMOVE_AGENT_SESSION_BY_ID);\n\n const chatSessions: AgentSession[] = sessionsData?.agent_sessionsPagination?.items || [];\n const agents: Agent[] = agentsData?.agentsPagination?.items || [];\n\n const filteredAgents = React.useMemo(() => {\n if (!agentSearch) return agents;\n return agents.filter(agent =>\n agent.name.toLowerCase().includes(agentSearch.toLowerCase())\n );\n }, [agents, agentSearch]);\n\n const handleSave = async () => {\n if (!formData.name.trim()) {\n toast({\n title: \"Validation Error\",\n description: \"Project name is required.\",\n variant: \"destructive\",\n });\n return;\n }\n\n try {\n await updateProject({\n variables: {\n id: project.id,\n input: {\n name: formData.name.trim(),\n description: formData.description.trim() || null,\n custom_instructions: formData.custom_instructions.trim() || null,\n },\n },\n });\n\n toast({\n title: \"Success\",\n description: \"Project updated successfully!\",\n });\n\n setIsEditing(false);\n } catch (error: any) {\n console.error(\"Error updating project:\", error);\n toast({\n title: \"Error\",\n description: error.message || \"Failed to update project. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n const handleCancel = () => {\n if (project) {\n setFormData({\n name: project.name || \"\",\n description: project.description || \"\",\n custom_instructions: project.custom_instructions || \"\",\n });\n }\n setIsEditing(false);\n };\n\n const handleNewChatSession = () => {\n setIsAgentSelectionOpen(true);\n };\n\n const handleAgentSelect = async (agent: Agent) => {\n try {\n const result = await createAgentSession({\n variables: {\n title: `New session with ${agent.name}`,\n agent: agent.id,\n project: project.id,\n rights_mode: \"projects\",\n RBAC: {\n projects: [{ id: project.id, rights: \"read\" }]\n }\n },\n });\n\n const sessionId = result.data?.agent_sessionsCreateOne?.item?.id;\n\n if (sessionId) {\n toast({\n title: \"Success\",\n description: \"Session created successfully! Sessions started in a project are accessible for viewing by project members.\",\n });\n\n setIsAgentSelectionOpen(false);\n setAgentSearch(\"\");\n\n router.push(`/chat/${agent.id}/${sessionId}`);\n }\n } catch (error: any) {\n console.error(\"Error creating session:\", error);\n toast({\n title: \"Error\",\n description: error.message || \"Failed to create session. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n const handleDeleteProject = async () => {\n try {\n setDeletingProject(true);\n if (deleteOptions.deleteItems) {\n await Promise.all(projectItems.map(async (item) => {\n const context = item.split(\"/\")[0];\n const id = item.split(\"/\")[1];\n if (!context || !id) return;\n const { data } = await apolloClient.mutate({\n mutation: DELETE_ITEM(context, context === \"files_default_context\" ? [\"s3key\"] : []),\n variables: { id },\n });\n\n if (data[`${context}_itemsRemoveOneById`]?.s3key) {\n try {\n await files.delete(data[`${context}_itemsRemoveOneById`]?.s3key)\n } catch (error: any) {\n console.error(\"[EXULU] Error deleting file from s3 storage:\", error);\n }\n }\n\n }));\n }\n\n await Promise.all(chatSessions.map(async (session) => {\n if (deleteOptions.deleteSessions) {\n await deleteSession({\n variables: { id: session.id },\n });\n } else {\n await updateAgentSession({\n variables: { id: session.id, project: null },\n });\n }\n }))\n\n await deleteProject({\n variables: { id: project.id },\n });\n\n toast({\n title: \"Success\",\n description: `Project \"${project.name}\" has been deleted successfully.`,\n });\n\n // Navigate back to projects list or close modal\n setIsDeleteDialogOpen(false);\n setDeletingProject(false);\n router.push('/projects');\n } catch (error: any) {\n setDeletingProject(false);\n console.error(\"Error deleting project:\", error);\n toast({\n title: \"Error\",\n description: error.message || \"Failed to delete project. Please try again.\",\n variant: \"destructive\",\n });\n }\n };\n\n return (\n <div className=\"flex-1 p-6 mt-20\">\n <div className=\"max-w-5xl mx-auto space-y-6\">\n <div className=\"flex gap-6 h-full\">\n <div className=\"w-80 space-y-4\">\n <Card>\n <CardContent className=\"p-4\">\n <div className=\"space-y-3\">\n <h3 className=\"font-semibold text-lg\">{project.name}</h3>\n <p className=\"text-muted-foreground text-sm leading-relaxed\">\n {project.description || \"No description provided.\"}\n </p>\n </div>\n </CardContent>\n </Card>\n\n {/* Navigation Buttons */}\n <div className=\"space-y-2\">\n <Button\n variant={activeView === 'overview' ? 'default' : 'ghost'}\n className=\"w-full justify-start\"\n onClick={() => setActiveView('overview')}\n >\n <Settings2 className=\"h-4 w-4 mr-2\" />\n Project information\n </Button>\n <Button\n variant={activeView === 'context' ? 'default' : 'ghost'}\n className=\"w-full justify-start\"\n onClick={() => setActiveView('context')}\n >\n <Files className=\"h-4 w-4 mr-2\" />\n Project files\n </Button>\n <Button\n variant={activeView === 'sessions' ? 'default' : 'ghost'}\n className=\"w-full justify-start\"\n onClick={() => setActiveView('sessions')}\n >\n <MessageSquare className=\"h-4 w-4 mr-2\" />\n Project sessions\n </Button>\n <Button\n variant={activeView === 'access' ? 'default' : 'ghost'}\n className=\"w-full justify-start\"\n onClick={() => setActiveView('access')}\n >\n <Shield className=\"h-4 w-4 mr-2\" />\n Access control\n </Button>\n <Button\n variant={activeView === 'settings' ? 'default' : 'ghost'}\n className=\"w-full justify-start\"\n onClick={() => setActiveView('settings')}\n >\n <Settings2 className=\"h-4 w-4 mr-2\" />\n Project settings\n </Button>\n </div>\n </div>\n\n {/* Main Content Area */}\n <div className=\"flex-1\">\n {activeView === 'overview' && (\n <div className=\"space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle>Project Information</CardTitle>\n <CardDescription>\n Basic information about this project\n </CardDescription>\n </CardHeader>\n <CardContent className=\"space-y-4\">\n <div className=\"grid gap-4\">\n <div className=\"space-y-2\">\n <Label htmlFor=\"name\">Project Name</Label>\n {isEditing ? (\n <Input\n id=\"name\"\n value={formData.name}\n onChange={(e) => setFormData({ ...formData, name: e.target.value })}\n />\n ) : (\n <p className=\"text-sm\">{project.name}</p>\n )}\n </div>\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"description\">Description</Label>\n {isEditing ? (\n <Textarea\n id=\"description\"\n value={formData.description}\n onChange={(e) => setFormData({ ...formData, description: e.target.value })}\n rows={3}\n />\n ) : (\n <p className=\"text-sm\">{project.description || \"No description provided\"}</p>\n )}\n </div>\n <div className=\"space-y-2\">\n <Label htmlFor=\"instructions\">Custom Instructions</Label>\n {isEditing ? (\n <Textarea\n id=\"instructions\"\n value={formData.custom_instructions}\n onChange={(e) => setFormData({ ...formData, custom_instructions: e.target.value })}\n rows={4}\n placeholder=\"Enter custom instructions for sessions in this project...\"\n />\n ) : (\n <p className=\"text-sm\">{project.custom_instructions || \"No custom instructions set\"}</p>\n )}\n </div>\n </CardContent>\n\n <CardFooter>\n <div className=\"flex items-center justify-between\">\n <div className=\"flex gap-2\">\n {isEditing ? (\n <>\n <Button variant=\"outline\" onClick={handleCancel}>\n Cancel\n </Button>\n <Button onClick={handleSave}>\n <span>Save changes</span>\n {\n isSaving && (\n <Loading className=\"mr-2\" />\n )\n }\n </Button>\n </>\n ) : (\n <Button variant=\"outline\" onClick={() => setIsEditing(true)}>\n <Pencil className=\"h-4 w-4 mr-2\" />\n Edit\n </Button>\n )}\n </div>\n </div>\n </CardFooter>\n </Card>\n </div>\n )}\n\n {activeView === 'context' && (\n <div className=\"space-y-6 w-full\">\n <Card>\n <CardHeader>\n <CardTitle>Project context items</CardTitle>\n <CardDescription>\n Items that provide context for sessions in this project (max 15 items). Note that different\n agents may have different file types supported.\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-4\">\n <ItemsSelectionModal onConfirm={(data) => {\n const update = [...projectItems, ...data.map((x) => `${x.context.id}/${x.item.id}`)];\n console.log(\"update\", update);\n setProjectItems(update);\n updateProject({\n variables: {\n id: project.id,\n input: {\n project_items: update\n }\n }\n })\n }} />\n\n {/* List of items */}\n <div className=\"space-y-2\">\n {\n <div className=\"space-y-2\">\n {\n projectItems?.length === 0 && (\n <div className=\"text-center py-8 text-muted-foreground\">\n <Files className=\"h-12 w-12 mx-auto mb-2 opacity-50\" />\n <p>No items added to the project context yet.</p>\n </div>\n )\n }\n <div className=\"grid grid-cols-3 sm:grid-cols-4 gap-3\">\n {projectItems?.map((gid) => (\n <ProjectItem key={gid} gid={gid} onRemove={(gid) => {\n const update = projectItems.filter((g) => g !== gid)\n setProjectItems(update)\n updateProject({\n variables: {\n id: project.id,\n input: {\n project_items: update\n }\n }\n })\n }} />\n ))}\n </div>\n </div>\n }\n </div>\n </div>\n </CardContent>\n </Card>\n </div>\n )}\n\n {activeView === 'sessions' && (\n <div className=\"space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle>Project sessions</CardTitle>\n <CardDescription>\n Sessions associated with this project\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-4\">\n <Button onClick={handleNewChatSession} className=\"w-full\" variant=\"outline\">\n <Plus className=\"h-4 w-4 mr-2\" />\n Start new session\n </Button>\n\n <div className=\"space-y-2\">\n {chatSessions.map((session) => {\n const writeAccess = checkChatSessionWriteAccess(session, user);\n return (\n <div key={session.id} className=\"flex items-center justify-between p-3 border rounded-lg\">\n <div className=\"flex items-center gap-3\">\n <MessageSquare className=\"h-4 w-4\" />\n <div>\n <Link href={`/chat/${session.agent}/${session.id}`}>\n <p className=\"font-medium max-w-[80%] truncate\">{session.title}</p>\n </Link>\n </div>\n </div>\n <div className=\"flex items-center gap-2\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n disabled={!writeAccess || isUpdatingSession}\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => {\n if (isUpdatingSession) return;\n updateAgentSession({\n variables: {\n id: session.id,\n project: null\n }\n })\n refetchSessions();\n }}>\n <PackageMinus className=\"h-4 w-4\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Remove session from project.</p>\n </TooltipContent>\n </Tooltip>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n disabled={!writeAccess || isDeletingSession}\n variant=\"ghost\"\n size=\"sm\"\n onClick={() => {\n if (isDeletingSession) return;\n deleteSession({\n variables: {\n id: session.id\n }\n })\n refetchSessions();\n }}\n >\n <Trash2 className=\"h-4 w-4\" />\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n <p>Delete session completely.</p>\n </TooltipContent>\n </Tooltip>\n </div>\n </div>\n )\n }\n )}\n </div>\n\n {chatSessions.length === 0 && !sessionsLoading && (\n <div className=\"text-center py-8 text-muted-foreground\">\n <MessageSquare className=\"h-12 w-12 mx-auto mb-2 opacity-50\" />\n <p>No sessions found</p>\n </div>\n )}\n\n {sessionsLoading && (\n <div className=\"text-center py-8 text-muted-foreground\">\n <MessageSquare className=\"h-12 w-12 mx-auto mb-2 opacity-50\" />\n <p>Loading sessions...</p>\n </div>\n )}\n </div>\n </CardContent>\n </Card>\n </div>\n )}\n\n {activeView === 'access' && (\n <div className=\"space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle>Access Control</CardTitle>\n <CardDescription>\n Control who can access this project\n </CardDescription>\n </CardHeader>\n <CardContent>\n <RBACControl\n allowedModes={['private', 'users', 'roles']}\n initialRightsMode={project.rights_mode || 'private'}\n initialUsers={project.RBAC?.users}\n initialRoles={project.RBAC?.roles}\n initialProjects={project.RBAC?.projects}\n onChange={(rights_mode, users, roles, projects) => {\n setRbac({\n rights_mode,\n users,\n roles,\n projects\n })\n }}\n />\n </CardContent>\n <CardFooter>\n <Button onClick={() => {\n updateProject({\n variables: {\n id: project.id,\n input: {\n rights_mode: rbac.rights_mode,\n RBAC: {\n users: rbac.users,\n roles: rbac.roles,\n projects: rbac.projects\n }\n }\n }\n })\n }}>\n <span>Save access rights</span>\n {isSaving && <Loading className=\"ml-2\" />}\n </Button>\n </CardFooter>\n </Card>\n </div>\n )}\n\n {activeView === 'settings' && (\n <div className=\"space-y-6\">\n <Card>\n <CardHeader>\n <CardTitle>Danger Zone</CardTitle>\n <CardDescription>\n Permanently delete this project and all associated data\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-4\">\n <div className=\"flex items-start gap-3 p-4 border border-destructive/20 rounded-lg bg-destructive/5\">\n <AlertTriangle className=\"h-5 w-5 text-destructive mt-0.5\" />\n <div className=\"flex-1\">\n <h4 className=\"font-medium text-destructive\">Delete Project</h4>\n <p className=\"text-sm text-muted-foreground mt-1\">\n This action cannot be undone. This will permanently delete the project and optionally remove all associated context files and sessions.\n </p>\n </div>\n </div>\n\n <Dialog open={isDeleteDialogOpen} onOpenChange={setIsDeleteDialogOpen}>\n <DialogTrigger asChild>\n <Button variant=\"destructive\">\n <Trash2 className=\"h-4 w-4 mr-2\" />\n Delete Project\n </Button>\n </DialogTrigger>\n <DialogContent className=\"sm:max-w-md\">\n <DialogHeader>\n <DialogTitle>Delete Project</DialogTitle>\n <DialogDescription>\n Are you sure you want to delete \"{project.name}\"? This action cannot be undone.\n </DialogDescription>\n </DialogHeader>\n <div className=\"space-y-4\">\n <div className=\"flex items-center space-x-2\">\n <Checkbox\n id=\"delete-items\"\n checked={deleteOptions.deleteItems}\n onCheckedChange={(checked) =>\n setDeleteOptions(prev => ({ ...prev, deleteItems: checked as boolean }))\n }\n />\n <label htmlFor=\"delete-items\" className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n Also delete all context items ({projectItems?.length} items)\n </label>\n </div>\n <div className=\"flex items-center space-x-2\">\n <Checkbox\n id=\"delete-sessions\"\n checked={deleteOptions.deleteSessions}\n onCheckedChange={(checked) =>\n setDeleteOptions(prev => ({ ...prev, deleteSessions: checked as boolean }))\n }\n />\n <label htmlFor=\"delete-sessions\" className=\"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\">\n Also delete all sessions ({chatSessions.length} sessions)\n </label>\n </div>\n {(deleteOptions.deleteItems || deleteOptions.deleteSessions) && (\n <div className=\"flex items-start gap-2 p-3 border border-amber-200 rounded-lg bg-amber-50\">\n <AlertTriangle className=\"h-4 w-4 text-amber-600 mt-0.5\" />\n <p className=\"text-sm text-amber-800\">\n {deleteOptions.deleteItems && deleteOptions.deleteSessions\n ? \"All context items and sessions will be permanently deleted.\"\n : deleteOptions.deleteItems\n ? \"All context items will be permanently deleted.\"\n : \"All sessions will be permanently deleted.\"\n }\n </p>\n </div>\n )}\n </div>\n <DialogFooter className=\"sm:justify-start\">\n <Button variant=\"outline\" onClick={() => setIsDeleteDialogOpen(false)}>\n Cancel\n </Button>\n <Button disabled={deletingProject} variant=\"destructive\" onClick={handleDeleteProject}>\n {\n deletingProject ? (\n <Loading className=\"mr-2 w-4 h-4\" />\n ) : (\n <Trash2 className=\"h-4 w-4 mr-2\" />\n )\n }\n Delete Project\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </div>\n </CardContent>\n </Card>\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Agent Selection Modal */}\n <Dialog open={isAgentSelectionOpen} onOpenChange={setIsAgentSelectionOpen}>\n <DialogContent className=\"sm:max-w-4xl\">\n <DialogHeader>\n <DialogTitle>Select an Agent</DialogTitle>\n <DialogDescription>\n Choose an agent to start a new chat session. Sessions started in a project are accessible for viewing by project members.\n </DialogDescription>\n </DialogHeader>\n\n <div className=\"space-y-4\">\n {/* Search Input */}\n <div className=\"relative\">\n <Search className=\"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n <Input\n placeholder=\"Search agents...\"\n value={agentSearch}\n onChange={(e) => setAgentSearch(e.target.value)}\n className=\"pl-10\"\n />\n </div>\n\n {/* Agents Grid */}\n <div className=\"max-h-96 overflow-y-auto\">\n {agentsLoading ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n {[...Array(6)].map((_, i) => (\n <div key={i} className=\"p-4 border rounded-lg\">\n <div className=\"flex items-center gap-3\">\n <Skeleton className=\"h-12 w-12 rounded-full\" />\n <div className=\"space-y-2 flex-1\">\n <Skeleton className=\"h-4 w-3/4\" />\n <Skeleton className=\"h-3 w-1/2\" />\n </div>\n </div>\n </div>\n ))}\n </div>\n ) : filteredAgents.length > 0 ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n {filteredAgents.map((agent) => (\n <div\n key={agent.id}\n className=\"p-4 border rounded-lg hover:border-primary cursor-pointer transition-colors\"\n onClick={() => handleAgentSelect(agent)}\n >\n <div className=\"flex items-center gap-3\">\n <div className=\"h-12 w-12 rounded-full bg-primary/10 flex items-center justify-center\">\n {agent.image ? (\n <img\n src={agent.image}\n alt={agent.name}\n className=\"h-12 w-12 rounded-full object-cover\"\n />\n ) : (\n <Bot className=\"h-6 w-6\" />\n )}\n </div>\n <div className=\"flex-1 min-w-0\">\n <p className=\"font-medium truncate\">{agent.name}</p>\n <p className=\"text-sm text-muted-foreground truncate\">\n {agent.description || `${agent.type} agent`}\n </p>\n <div className=\"flex items-center gap-2 mt-1\">\n <Badge variant={agent.active ? \"default\" : \"secondary\"} className=\"text-xs\">\n {agent.active ? \"Active\" : \"Inactive\"}\n </Badge>\n <Badge variant=\"outline\" className=\"text-xs\">\n {agent.type}\n </Badge>\n </div>\n </div>\n </div>\n </div>\n ))}\n </div>\n ) : (\n <div className=\"text-center py-8 text-muted-foreground\">\n <Bot className=\"h-12 w-12 mx-auto mb-2 opacity-50\" />\n <p>{agentSearch ? \"No agents found matching your search\" : \"No agents available\"}</p>\n </div>\n )}\n </div>\n </div>\n\n <DialogFooter>\n <Button variant=\"outline\" onClick={() => setIsAgentSelectionOpen(false)}>\n Cancel\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </div>\n );\n}\n\nfunction ProjectItem({ gid, onRemove }: { gid: string, onRemove: (gid: string) => void }) {\n\n const context = gid.split(\"/\")[0];\n const id = gid.split(\"/\")[1];\n if (!context) return null;\n if (!id) return null;\n\n const { data, loading } = useQuery<\n {\n [key: string]: Item\n }>(GET_ITEM_BY_ID(context, context === \"files_default_context\" ? [\n \"s3key\"\n ] : []), {\n variables: {\n id\n }\n });\n\n console.log(\"data\", data);\n\n if (loading) return null;\n const item = data?.[context + \"_itemsById\"];\n if (!item) return null;\n const fields = Object.values(item || {})\n const files = fields.filter(x => x === \"_s3key\");\n\n if (!files.length) return null;\n\n return <>\n {files.map(file => (\n <FileItem s3Key={file} onRemove={() => {\n onRemove(gid)\n }} active={false} disabled={false} />\n ))}\n </>\n}","\"use client\";\n\nimport * as React from \"react\";\nimport { useParams } from \"next/navigation\";\nimport { ProjectDetails } from \"@/components/project-details\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { useQuery } from \"@apollo/client\";\nimport { GET_PROJECT_BY_ID } from \"@/queries/queries\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\n\nexport default function ProjectPage() {\n const params = useParams();\n const projectId = params?.project as string;\n\n const { data, loading, error } = useQuery(GET_PROJECT_BY_ID, {\n variables: { id: projectId }\n });\n\n\n if (loading) {\n return <div>\n <Skeleton className=\"w-full h-full\" />\n </div>\n }\n\n if (error) {\n return <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n Error loading project.\n </AlertDescription>\n </Alert>\n }\n\n if (!data?.projectById) {\n return <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n Project not found.\n </AlertDescription>\n </Alert>\n }\n\n return <ProjectDetails project={data.projectById} />;\n}","\nimport {\n GET_USER_ROLES,\n GET_USERS,\n GET_USER_BY_ID\n} from \"@/queries/queries\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { useApolloClient, useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { User } from \"@/types/models/user\";\nimport { Check, ChevronsUpDown, Users, Lock, Globe, Settings, Trash2, Loader2, Folder } from \"lucide-react\";\nimport { Input } from \"@/components/ui/input\";\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport { Button } from \"@/components/ui/button\";\nimport { Label } from \"./ui/label\";\n\nconst VISIBILITY_OPTIONS = [\n { value: 'private', label: 'Private', description: 'Only you can see this agent', icon: Lock },\n { value: 'users', label: 'Shared with Users', description: 'Share with specific users', icon: Users },\n { value: 'roles', label: 'Shared with Roles', description: 'Share with specific roles', icon: Settings },\n { value: 'public', label: 'Public', description: 'Anyone can see this agent', icon: Globe },\n { value: 'projects', label: 'Projects', description: 'Share with specific projects', icon: Folder }\n]\n\ntype Modes = 'private' | 'users' | 'roles' | 'public' | 'projects'\n\nexport function RBACControl({\n allowedModes,\n initialRightsMode,\n initialUsers,\n initialRoles,\n initialProjects,\n onChange\n}: {\n allowedModes?: Modes[],\n initialRightsMode: 'private' | 'users' | 'roles' | 'public' | 'projects' | undefined,\n initialUsers: { id: number, rights: 'read' | 'write' }[] | undefined,\n initialRoles: { id: string, rights: 'read' | 'write' }[] | undefined,\n initialProjects: { id: string, rights: 'read' | 'write' }[] | undefined,\n onChange: (rights_mode: Modes, users: { id: number, rights: 'read' | 'write' }[], roles: { id: string, rights: 'read' | 'write' }[], projects: { id: string, rights: 'read' | 'write' }[]) => void\n}) {\n const [visibility, setVisibility] = useState<Modes | undefined>(initialRightsMode)\n const [selectedUsers, setSelectedUsers] = useState<{ id: number, rights: 'read' | 'write' }[]>(initialUsers || [])\n const [selectedRoles, setSelectedRoles] = useState<{ id: string, rights: 'read' | 'write' }[]>(initialRoles || [])\n const [hydratedUsers, setHydratedUsers] = useState<User[]>([])\n const [visibilitySelectorOpen, setVisibilitySelectorOpen] = useState(false)\n const [userFilters, setUserFilters] = useState<any[]>([])\n const [userSearchValue, setUserSearchValue] = useState('')\n const [modalOpen, setModalOpen] = useState(false)\n const [modalLoading, setModalLoading] = useState(false)\n const client = useApolloClient()\n\n // GraphQL queries for RBAC\n const { data: usersData, loading: usersLoading, refetch: refetchUsers } = useQuery(GET_USERS, {\n variables: { page: 1, limit: 5, filters: userFilters },\n skip: visibility !== 'users' || !userSearchValue\n })\n\n const roles = useQuery(GET_USER_ROLES, {\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: 1,\n limit: 30,\n filters: [\n {\n type: {\n ne: \"api\"\n }\n }\n ]\n },\n });\n\n\n // User search function\n const searchUsers = useCallback((value: string) => {\n setUserSearchValue(value)\n const copy = [...userFilters, {\n type: {\n ne: \"api\"\n }\n }]\n const exists = copy.find((filter) => filter.email)\n if (exists?.email) {\n exists.email.contains = value\n } else {\n copy.push({\n email: {\n contains: value,\n },\n })\n }\n setUserFilters(copy)\n refetchUsers()\n }, [userFilters, refetchUsers])\n\n const hydrateUsers = async (max: number = 5) => {\n setModalLoading(true)\n if (!selectedUsers || selectedUsers.length === 0) {\n setHydratedUsers([])\n setModalLoading(false)\n return\n }\n\n const promises = selectedUsers?.slice(0, max).map(async ({ id, rights }) => {\n const user = await client.query({\n query: GET_USER_BY_ID,\n variables: {\n id\n }\n })\n return {\n ...user.data.userById,\n rights\n };\n })\n const results = await Promise.all(promises)\n setHydratedUsers(results)\n setModalLoading(false)\n }\n\n useEffect(() => {\n hydrateUsers(5)\n }, [])\n\n useEffect(() => {\n console.log(\"selectedUsers\", selectedUsers)\n console.log(\"hydratedUsers\", hydratedUsers)\n onChange(visibility as 'private' | 'users' | 'roles' | 'public', selectedUsers, selectedRoles, [])\n }, [visibility, selectedUsers, selectedRoles])\n\n const filteredUsers = hydratedUsers?.slice(0, 5).filter(user => !!user?.id)\n\n let visibilityOptions = VISIBILITY_OPTIONS\n if (allowedModes?.length) {\n visibilityOptions = VISIBILITY_OPTIONS.filter(option => allowedModes.includes(option.value as Modes))\n }\n\n return (\n <>\n <div className=\"space-y-2\">\n <Label className=\"text-sm font-medium\">Visibility & sharing</Label>\n <Popover open={visibilitySelectorOpen} onOpenChange={setVisibilitySelectorOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={visibilitySelectorOpen}\n className=\"w-full justify-between text-sm capitalize\"\n >\n {visibilityOptions.find(option => option.value === visibility)?.label || \"Select visibility...\"}\n <ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\">\n <Command>\n <CommandInput placeholder=\"Search options...\" />\n <CommandList>\n <CommandEmpty>No options found.</CommandEmpty>\n <CommandGroup>\n {visibilityOptions.map((option: any) => (\n <CommandItem\n key={option.value}\n onSelect={() => {\n if (option.value !== \"users\") {\n setSelectedUsers([])\n }\n if (option.value !== \"roles\") {\n setSelectedRoles([])\n }\n setVisibility(option.value)\n setVisibilitySelectorOpen(false)\n }}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n visibility === option.value ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n <div className=\"flex flex-col\">\n <span>{option.label}</span>\n <span className=\"text-xs text-muted-foreground\">{option.description}</span>\n </div>\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n\n {/* Users sharing section */}\n {visibility === 'users' && (\n <div className=\"space-y-3 pt-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with users</Label>\n {/* Search bar */}\n <div className=\"mt-2\">\n <Input\n placeholder=\"Search users by email...\"\n value={userSearchValue}\n onChange={(e) => searchUsers(e.target.value)}\n className=\"text-sm\"\n />\n </div>\n\n {/* Search results */}\n {usersLoading && (\n <div className=\"mt-2 flex items-center justify-center py-4\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n {!usersLoading && usersData && usersData.usersPagination?.items.length > 0 && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Search Results:</div>\n <div className=\"max-h-50 overflow-y-auto border rounded-lg\">\n {usersData.usersPagination.items.filter(user => !selectedUsers.some(selected => selected.id === user.id)).map((user: any) => (\n <label key={user.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedUsers.some(selected => selected.id === user.id)}\n onChange={(e) => {\n setSelectedUsers(prev => [...prev, { id: user.id, rights: 'read' }])\n setHydratedUsers(prev => [...prev, {\n ...user,\n rights: 'read'\n }])\n }}\n />\n <span className=\"text-sm\">{user.email}</span>\n </label>\n ))}\n </div>\n <div className=\"text-xs text-muted-foreground mt-2\">\n <span className=\"font-medium\">Note:</span> Only the first 5 users are shown, use the Search bar to find more users.\n </div>\n </div>\n )}\n {!usersLoading && userSearchValue && usersData && usersData.usersPagination.items.length === 0 && (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users found</span>\n </div>\n )}\n\n {/* Selected users list */}\n {filteredUsers?.length > 0 ? (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Users:</div>\n <div className=\"space-y-1\">\n {filteredUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 w-20 text-xs\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n ))}\n {selectedUsers && selectedUsers.length > 5 && (\n <Button\n variant=\"link\"\n type=\"button\"\n className=\"h-auto p-0 text-blue-600 hover:text-blue-800 text-xs\"\n onClick={() => {\n hydrateUsers(50)\n setModalOpen(true)\n }}\n >\n + {selectedUsers.length - 5} more users\n </Button>\n )}\n </div>\n </div>\n ) : (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users selected.</span>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Roles sharing section */}\n {visibility === 'roles' && (\n <div className=\"space-y-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with roles ({selectedRoles?.length || 0})</Label>\n\n {/* Available roles list */}\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Available Roles</div>\n {roles.loading && (\n <div className=\"flex items-center justify-center py-4 border rounded-lg\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading roles...</span>\n </div>\n )}\n {!roles.loading && roles.data && (\n <div className=\"max-h-24 overflow-y-auto border rounded-lg\">\n {roles.data.rolesPagination.items.map((role: any) => (\n <label key={role.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedRoles.some(selected => selected.id === role.id)}\n onChange={(e) => {\n if (e.target.checked) {\n setSelectedRoles(prev => [...prev, { id: role.id, rights: 'read' }])\n } else {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== role.id))\n }\n }}\n />\n <span className=\"text-sm capitalize\">{role.name}</span>\n </label>\n ))}\n </div>\n )}\n </div>\n\n {/* Selected roles list */}\n {selectedRoles.length > 0 && roles.data && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Roles:</div>\n <div className=\"space-y-1\">\n {selectedRoles.map((selectedRole: any) => {\n const role = roles.data.rolesPagination.items.find((r: any) => r.id === selectedRole.id)\n return (\n <div key={selectedRole.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2 capitalize\">{role?.name}</span>\n <Select\n value={selectedRole.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedRoles(prev =>\n prev.map(selected =>\n selected.id === selectedRole.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 text-xs w-20 border-none\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">\n <span className=\"pr-7\">Read</span>\n </SelectItem>\n <SelectItem value=\"write\">\n <span className=\"pr-7\">Write</span>\n </SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== selectedRole.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n )\n })}\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Modal for viewing all selected users */}\n <Dialog open={modalOpen} onOpenChange={setModalOpen} >\n <DialogContent className=\"sm:max-w-2xl max-h-[85vh] flex flex-col\">\n <DialogHeader>\n <DialogTitle>All Selected Users ({selectedUsers?.length || 0})</DialogTitle>\n <DialogDescription>\n View and manage all selected users and their permissions\n </DialogDescription>\n </DialogHeader>\n\n <ScrollArea className=\"flex-1 pr-4\">\n {modalLoading && (\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length > 0 && (\n <div className=\"space-y-2\">\n {hydratedUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-3 border p-3 rounded-lg\">\n <span className=\"flex-1\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n // Update selectedUsers state\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n // Update hydratedUsers state if this user is in the first 5\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"w-24\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-8 w-8 p-0 hover:bg-destructive/10\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-4 h-4\" />\n </Button>\n </div>\n ))}\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length === 0 && (\n <div className=\"text-center py-8\">\n <span className=\"text-sm text-muted-foreground\">No users selected</span>\n </div>\n )}\n </ScrollArea>\n </DialogContent>\n </Dialog >\n </>\n )\n}","\"use client\";\n\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"size-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","\"use client\";\n\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Dialog, DialogContent } from \"@/components/ui/dialog\";\nimport { cn } from \"@/lib/utils\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","import { cn } from \"@/lib/utils\";\n\nexport const Loading = ({ className }: { className?: null | string }) => {\n return (\n <svg\n aria-hidden=\"true\"\n role=\"status\"\n className={cn(\"inline w-4 h-4 text-white animate-spin fill-inherit\", className)}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n className=\"fill-inherit opacity-20\"\n ></path>\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n className=\"fill-inherit\"\n ></path>\n </svg>\n );\n};\n","\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","import { GET_CONTEXTS } from \"@/queries/queries\";\nimport { Context } from \"@/types/models/context\";\nimport { useQuery } from \"@apollo/client\";\n\nexport const useContexts = () => {\n return useQuery<{ contexts: { items: Context[] } }>(GET_CONTEXTS, {\n variables: {\n limit: 20\n }\n })\n};","import { AgentSession } from \"@/types/models/agent-session\";\nimport { UserWithRole } from \"@/types/models/user\";\n\nexport const checkChatSessionWriteAccess = (session: AgentSession, user: UserWithRole) => {\n const isPrivate = session.rights_mode === 'private';\n const isPublic = session.rights_mode === 'public';\n const byUsers = session.rights_mode === 'users';\n const byRoles = session.rights_mode === 'roles';\n const isAdmin = user.super_admin;\n const isCreator = session.created_by === user.id.toString();\n \n let writeAccess = false;\n if (isPrivate && isCreator) {\n writeAccess = true;\n }\n if (isPublic) {\n writeAccess = true;\n }\n if (byUsers) {\n writeAccess = session.RBAC?.users?.find(u => u.id === user.id)?.rights === 'write';\n }\n if (byRoles) {\n writeAccess = session.RBAC?.roles?.find(r => r.id === user.role?.id)?.rights === 'write';\n }\n if (isAdmin) {\n writeAccess = true;\n }\n return writeAccess;\n}"],"names":["Promise","resolve","then","__webpack_require__","bind","ItemsSelectionModal","data","onConfirm","param","loading","error","useContexts","context","setContext","useState","undefined","open","setOpen","jsx_runtime","jsxs","Dialog","onOpenChange","value","jsx","DialogTrigger","asChild","Button","className","variant","PlusSquareIcon","DialogContent","DialogHeader","DialogTitle","DialogDescription","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","heading","contexts","items","map","CommandItem","onSelect","name","id","ItemsList","console","log","item","__items","_","search","setSearch","refetch","previousData","prev","useQuery","GET_ITEMS","fetchPolicy","nextFetchPolicy","skip","variables","page","limit","sort","field","direction","filters","archived","ne","contains","concat","onValueChange","Loading","PAGINATION_POSTFIX","length","_this","ProjectDetails","project","sessionsData","agentsData","isEditing","setIsEditing","isDeleteDialogOpen","setIsDeleteDialogOpen","isAgentSelectionOpen","setIsAgentSelectionOpen","agentSearch","setAgentSearch","activeView","setActiveView","user","useContext","UserContext","router","useRouter","deleteOptions","setDeleteOptions","deleteItems","deleteSessions","formData","setFormData","description","custom_instructions","toast","useToast","rbac","setRbac","rights_mode","users","RBAC","roles","projects","projectItems","setProjectItems","project_items","updateProject","isSaving","useMutation","UPDATE_PROJECT","deleteProject","DELETE_PROJECT","deletingProject","setDeletingProject","sessionsLoading","refetchSessions","GET_AGENT_SESSIONS","eq","agentsLoading","GET_AGENTS","apolloClient","useApolloClient","createAgentSession","isCreatingSession","CREATE_AGENT_SESSION","updateAgentSession","isUpdatingSession","UPDATE_AGENT_SESSION_PROJECT","deleteSession","isDeletingSession","REMOVE_AGENT_SESSION_BY_ID","chatSessions","agent_sessionsPagination","agents","agentsPagination","filteredAgents","React","filter","agent","toLowerCase","includes","handleSave","trim","title","input","message","handleAgentSelect","result","rights","sessionId","agent_sessionsCreateOne","push","handleDeleteProject","all","split","mutate","mutation","DELETE_ITEM","s3key","files","delete","session","div","Card","CardContent","h3","p","onClick","Settings2","Files","MessageSquare","Shield","CardHeader","CardTitle","CardDescription","Label","htmlFor","Input","onChange","e","target","Textarea","rows","CardFooter","Fragment","span","Pencil","update","x","ProjectItem","gid","onRemove","g","Plus","writeAccess","checkChatSessionWriteAccess","Link","href","Tooltip","TooltipTrigger","disabled","size","PackageMinus","TooltipContent","Trash2","RBACControl","allowedModes","initialRightsMode","initialUsers","initialRoles","initialProjects","AlertTriangle","h4","Checkbox","checked","onCheckedChange","label","DialogFooter","Search","Array","i","Skeleton","image","img","src","alt","Bot","type","Badge","active","GET_ITEM_BY_ID","fields","values","file","FileItem","s3Key","ProjectPage","params","useParams","projectId","GET_PROJECT_BY_ID","Alert","ExclamationTriangleIcon","AlertTitle","AlertDescription","projectById","VISIBILITY_OPTIONS","icon","Lock","Users","Settings","Globe","Folder","visibilityOptions","usersData","visibility","setVisibility","selectedUsers","setSelectedUsers","selectedRoles","setSelectedRoles","hydratedUsers","setHydratedUsers","visibilitySelectorOpen","setVisibilitySelectorOpen","userFilters","setUserFilters","userSearchValue","setUserSearchValue","modalOpen","setModalOpen","modalLoading","setModalLoading","client","usersLoading","refetchUsers","GET_USERS","GET_USER_ROLES","searchUsers","useCallback","copy","exists","find","email","hydrateUsers","max","promises","slice","query","GET_USER_BY_ID","userById","useEffect","filteredUsers","option","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","Popover","PopoverTrigger","role","aria-expanded","ChevronsUpDown","PopoverContent","Check","cn","Loader2","usersPagination","some","selected","Select","hydratedUser","SelectTrigger","SelectValue","SelectContent","SelectItem","rolesPagination","r","selectedRole","ScrollArea","ref","props","CheckboxPrimitive","displayName","CommandPrimitive","cmdk-input-wrapper","List","Empty","Group","CommandSeparator","Separator","Item","svg","aria-hidden","viewBox","fill","xmlns","path","d","PopoverPrimitive","align","sideOffset","GET_CONTEXTS","isPrivate","isPublic","byUsers","byRoles","isAdmin","super_admin","isCreator","created_by","toString","u"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1007],{66871:function(e,t,n){Promise.resolve().then(n.bind(n,21654))},21654:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var s=n(57437),r=n(27648),a=n(73247),i=n(99397),o=n(86595),l=n(62869),c=n(95186),d=n(7211),u=n(12199),f=n(27689),m=n(2265),p=n(37091),x=n(99376),h=n(93022),v=n(13832),g=n(26815),j=n(76818),y=n(26110),N=n(15863),b=n(77992);function w(e){let{open:t,onOpenChange:n,refetchProjects:r}=e,[a,i]=(0,m.useState)({name:"",description:"",custom_instructions:""}),[o,d]=(0,m.useState)(!1),{toast:p}=(0,b.pm)(),h=(0,x.useRouter)(),[v]=(0,u.D)(f.kp,{refetchQueries:[{query:f.fM,variables:{page:1,limit:200}}]}),w=async e=>{if(e.preventDefault(),!a.name.trim()){p({title:"Validation Error",description:"Project name is required.",variant:"destructive"});return}d(!0);try{var t,s;let e=await v({variables:{input:{name:a.name.trim(),description:a.description.trim()||null,custom_instructions:a.custom_instructions.trim()||null,rights_mode:"private"}}});console.log(e);let o=null===(s=e.data)||void 0===s?void 0:null===(t=s.projectsCreateOne)||void 0===t?void 0:t.item;o&&(p({title:"Success",description:"Project created successfully!"}),i({name:"",description:"",custom_instructions:""}),n(!1),h.push("/projects/".concat(o.id)),r())}catch(e){console.error("Error creating project:",e),p({title:"Error",description:e.message||"Failed to create project. Please try again.",variant:"destructive"})}finally{d(!1)}};return(0,s.jsx)(y.Vq,{open:t,onOpenChange:n,children:(0,s.jsxs)(y.cZ,{className:"sm:max-w-[500px]",children:[(0,s.jsxs)(y.fK,{children:[(0,s.jsx)(y.$N,{children:"Create New Project"}),(0,s.jsx)(y.Be,{children:"Create a new project to organize your chat sessions and documents."})]}),(0,s.jsxs)("form",{onSubmit:w,className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(g._,{htmlFor:"project-name",children:"Project Name *"}),(0,s.jsx)(c.I,{id:"project-name",value:a.name,onChange:e=>i({...a,name:e.target.value}),placeholder:"Enter project name",required:!0,disabled:o})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(g._,{htmlFor:"project-description",children:"Description"}),(0,s.jsx)(j.g,{id:"project-description",value:a.description,onChange:e=>i({...a,description:e.target.value}),placeholder:"Describe what this project is about...",rows:3,disabled:o})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(g._,{htmlFor:"custom-instructions",children:"Custom Instructions"}),(0,s.jsx)(j.g,{id:"custom-instructions",value:a.custom_instructions,onChange:e=>i({...a,custom_instructions:e.target.value}),placeholder:"Enter custom instructions for chat sessions in this project...",rows:3,disabled:o})]}),(0,s.jsxs)(y.cN,{children:[(0,s.jsx)(l.z,{type:"button",variant:"outline",onClick:()=>{i({name:"",description:"",custom_instructions:""}),n(!1)},disabled:o,children:"Cancel"}),(0,s.jsx)(l.z,{type:"submit",disabled:o,children:o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Creating..."]}):"Create Project"})]})]})]})})}function _(){var e,t,n,g,j,y,N;let[b,_]=(0,m.useState)(""),[S,k]=(0,m.useState)(!1),E=(0,x.usePathname)(),{user:C}=(0,m.useContext)(v.S),[D,O]=(0,m.useState)(C),M=(0,d.aM)(f.Ak,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{ids:(null==D?void 0:D.favourite_projects)||[]},skip:!(null==D?void 0:null===(e=D.favourite_projects)||void 0===e?void 0:e.length)}),T=(0,d.aM)(f.fM,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:1,limit:200,filters:b?[{name:{contains:b}}]:void 0}});(0,m.useEffect)(()=>{T.refetch()},[E]);let[I]=(0,u.D)(f.d5),P=e=>{var t;return e.image?(0,s.jsx)("img",{src:e.image,alt:"".concat(e.name," thumbnail"),className:"h-4 w-4 rounded-full object-cover"}):(0,s.jsx)("div",{className:"h-4 w-4 rounded-full bg-gradient-to-br from-green-500 to-blue-600 flex items-center justify-center text-white text-xs font-medium",children:(null===(t=e.name)||void 0===t?void 0:t.charAt(0).toUpperCase())||"P"})},A=async(e,t)=>{t.preventDefault(),t.stopPropagation();try{let t;let n=(null==D?void 0:D.favourite_projects)||[];t=n.includes(e)?n.filter(t=>t!==e):[...n,e],await I({variables:{id:null==D?void 0:D.id,favourite_projects:t}}),O(e=>({...e,favourite_projects:t}))}catch(e){console.error("Error updating favourite projects:",e)}},z=(null==T?void 0:null===(n=T.data)||void 0===n?void 0:null===(t=n.projectsPagination)||void 0===t?void 0:t.items)||(null==T?void 0:null===(j=T.previousData)||void 0===j?void 0:null===(g=j.projectsPagination)||void 0===g?void 0:g.items)||[],F=(null==M?void 0:null===(y=M.data)||void 0===y?void 0:y.projectByIds)||(null==M?void 0:null===(N=M.previousData)||void 0===N?void 0:N.projectByIds)||[];return(0,s.jsxs)("div",{className:"h-full w-[250px] flex-col gap-2 p-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(a.Z,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(c.I,{type:"search",placeholder:"Search projects...",className:"pl-8",value:b,onChange:e=>_(e.target.value)})]}),(0,s.jsx)(l.z,{variant:"outline",size:"lg",className:"h-10 w-10 p-0",onClick:()=>{k(!0)},title:"Create new project",children:(0,s.jsx)(i.Z,{className:"h-3 w-3"})})]}),(0,s.jsx)("div",{className:"flex-1 overflow-auto space-y-1",children:(0,s.jsxs)(s.Fragment,{children:[(null==D?void 0:D.favourite_projects)&&F.length>0&&!b&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1",children:"Favorites"}),M.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!M.loading&&(0,s.jsx)(s.Fragment,{children:F.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(r.default,{href:"/projects/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(l.z,{variant:E.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[P(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(p.L,{text:e.name,length:10})})]})}),(0,s.jsx)(l.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>A(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"})})]},e.id))})]}),(0,s.jsx)("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1 mt-2",children:"All projects:"}),T.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!T.loading&&z.map(e=>{var t;return(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(r.default,{href:"/projects/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(l.z,{variant:E.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[P(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(p.L,{text:e.name,length:14})})]})}),(0,s.jsx)(l.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>A(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3 ".concat((null==D?void 0:null===(t=D.favourite_projects)||void 0===t?void 0:t.includes(e.id))?"fill-yellow-400 text-yellow-400":"")})})]},e.id)})]})}),(0,s.jsx)(w,{open:S,onOpenChange:k,refetchProjects:T.refetch})]})}function S(e){let{children:t}=e;return(0,s.jsxs)("div",{className:"flex h-full",children:[(0,s.jsx)("div",{className:"border-r bg-muted/10",children:(0,s.jsx)(_,{})}),t]})}},37091:function(e,t,n){"use strict";n.d(t,{L:function(){return r}});var s=n(57437);function r(e){let{text:t,length:n}=e;return t.length>n?(0,s.jsxs)(s.Fragment,{children:[t.slice(0,n),"..."]}):(0,s.jsx)(s.Fragment,{children:t})}},26110:function(e,t,n){"use strict";n.d(t,{$N:function(){return x},Be:function(){return h},Vq:function(){return l},cN:function(){return p},cZ:function(){return f},fK:function(){return m},hg:function(){return c}});var s=n(57437),r=n(34567),a=n(32489),i=n(2265),o=n(94508);let l=r.fC,c=r.xz,d=r.h_;r.x8;let u=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.aV,{ref:t,className:(0,o.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n),...a})});u.displayName=r.aV.displayName;let f=i.forwardRef((e,t)=>{let{className:n,children:i,...l}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(u,{}),(0,s.jsxs)(r.VY,{ref:t,className:(0,o.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",n),...l,children:[i,(0,s.jsxs)(r.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,s.jsx)(a.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});f.displayName=r.VY.displayName;let m=e=>{let{className:t,...n}=e;return(0,s.jsx)("div",{className:(0,o.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...n})};m.displayName="DialogHeader";let p=e=>{let{className:t,...n}=e;return(0,s.jsx)("div",{className:(0,o.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...n})};p.displayName="DialogFooter";let x=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.Dx,{ref:t,className:(0,o.cn)("text-lg font-semibold leading-none tracking-tight",n),...a})});x.displayName=r.Dx.displayName;let h=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.dk,{ref:t,className:(0,o.cn)("text-sm text-muted-foreground",n),...a})});h.displayName=r.dk.displayName},26815:function(e,t,n){"use strict";n.d(t,{_:function(){return c}});var s=n(57437),r=n(6394),a=n(90535),i=n(2265),o=n(94508);let l=(0,a.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.f,{ref:t,className:(0,o.cn)(l(),n),...a})});c.displayName=r.f.displayName},76818:function(e,t,n){"use strict";n.d(t,{g:function(){return i}});var s=n(57437),r=n(2265),a=n(94508);let i=r.forwardRef((e,t)=>{let{className:n,...r}=e;return(0,s.jsx)("textarea",{className:(0,a.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",n),ref:t,...r})});i.displayName="Textarea"},77992:function(e,t,n){"use strict";n.d(t,{Am:function(){return u},pm:function(){return f}});var s=n(2265);let r=0,a=new Map,i=e=>{if(a.has(e))return;let t=setTimeout(()=>{a.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);a.set(e,t)},o=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:n}=t;return n?i(n):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||void 0===n?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],c={toasts:[]};function d(e){c=o(c,e),l.forEach(e=>{e(c)})}function u(e){let{...t}=e,n=(r=(r+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>d({type:"DISMISS_TOAST",toastId:n});return d({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||s()}}}),{id:n,dismiss:s,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function f(){let[e,t]=s.useState(c);return s.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},15863:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},99397:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},73247:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},86595:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]])},12199:function(e,t,n){"use strict";n.d(t,{D:function(){return u}});var s=n(5853),r=n(79285),a=n(49466),i=n(36628),o=n(59058),l=n(77828),c=n(63251),d=n(59394).Nq?r.useLayoutEffect:r.useEffect;function u(e,t){var n=(0,c.x)(null==t?void 0:t.client);(0,o.Vp)(e,o.n_.Mutation);var u=r.useState({called:!1,loading:!1,client:n}),f=u[0],m=u[1],p=r.useRef({result:f,mutationId:0,isMounted:!0,client:n,mutation:e,options:t});d(function(){Object.assign(p.current,{client:n,options:t,mutation:e})});var x=r.useCallback(function(e){void 0===e&&(e={});var t=p.current,n=t.options,r=t.mutation,o=(0,s.pi)((0,s.pi)({},n),{mutation:r}),c=e.client||p.current.client;p.current.result.loading||o.ignoreResults||!p.current.isMounted||m(p.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:c});var d=++p.current.mutationId,u=(0,a.J)(o,e);return c.mutate(u).then(function(t){var n,s,r=t.data,a=t.errors,o=a&&a.length>0?new l.cA({graphQLErrors:a}):void 0,f=e.onError||(null===(n=p.current.options)||void 0===n?void 0:n.onError);if(o&&f&&f(o,u),d===p.current.mutationId&&!u.ignoreResults){var x={called:!0,loading:!1,data:r,error:o,client:c};p.current.isMounted&&!(0,i.D)(p.current.result,x)&&m(p.current.result=x)}var h=e.onCompleted||(null===(s=p.current.options)||void 0===s?void 0:s.onCompleted);return o||null==h||h(t.data,u),t},function(t){if(d===p.current.mutationId&&p.current.isMounted){var n,s={loading:!1,error:t,data:void 0,called:!0,client:c};(0,i.D)(p.current.result,s)||m(p.current.result=s)}var r=e.onError||(null===(n=p.current.options)||void 0===n?void 0:n.onError);if(r)return r(t,u),{data:void 0,errors:t};throw t})},[]),h=r.useCallback(function(){if(p.current.isMounted){var e={called:!1,loading:!1,client:p.current.client};Object.assign(p.current,{mutationId:0,result:e}),m(e)}},[]);return r.useEffect(function(){var e=p.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[x,(0,s.pi)({reset:h},f)]}},6394:function(e,t,n){"use strict";n.d(t,{f:function(){return o}});var s=n(2265),r=n(66840),a=n(57437),i=s.forwardRef((e,t)=>(0,a.jsx)(r.WV.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest("button, input, select, textarea")||(null===(n=e.onMouseDown)||void 0===n||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label";var o=i}},function(e){e.O(0,[9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,6373,3832,2971,2117,1744],function(){return e(e.s=66871)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=layout-f73ad7daf4825f1b.js.map
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1007],{66871:function(e,t,n){Promise.resolve().then(n.bind(n,21654))},21654:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});var s=n(57437),r=n(27648),a=n(73247),i=n(99397),o=n(86595),l=n(62869),c=n(95186),d=n(7211),u=n(12199),f=n(27689),m=n(2265),p=n(37091),x=n(99376),h=n(93022),v=n(13832),g=n(26815),j=n(76818),y=n(26110),N=n(15863),b=n(77992);function w(e){let{open:t,onOpenChange:n,refetchProjects:r}=e,[a,i]=(0,m.useState)({name:"",description:"",custom_instructions:""}),[o,d]=(0,m.useState)(!1),{toast:p}=(0,b.pm)(),h=(0,x.useRouter)(),[v]=(0,u.D)(f.kp,{refetchQueries:[{query:f.fM,variables:{page:1,limit:200}}]}),w=async e=>{if(e.preventDefault(),!a.name.trim()){p({title:"Validation Error",description:"Project name is required.",variant:"destructive"});return}d(!0);try{var t,s;let e=await v({variables:{input:{name:a.name.trim(),description:a.description.trim()||null,custom_instructions:a.custom_instructions.trim()||null,rights_mode:"private"}}});console.log(e);let o=null===(s=e.data)||void 0===s?void 0:null===(t=s.projectsCreateOne)||void 0===t?void 0:t.item;o&&(p({title:"Success",description:"Project created successfully!"}),i({name:"",description:"",custom_instructions:""}),n(!1),h.push("/projects/".concat(o.id)),r())}catch(e){console.error("Error creating project:",e),p({title:"Error",description:e.message||"Failed to create project. Please try again.",variant:"destructive"})}finally{d(!1)}};return(0,s.jsx)(y.Vq,{open:t,onOpenChange:n,children:(0,s.jsxs)(y.cZ,{className:"sm:max-w-[500px]",children:[(0,s.jsxs)(y.fK,{children:[(0,s.jsx)(y.$N,{children:"Create New Project"}),(0,s.jsx)(y.Be,{children:"Create a new project to organize your chat sessions and documents."})]}),(0,s.jsxs)("form",{onSubmit:w,className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(g._,{htmlFor:"project-name",children:"Project Name *"}),(0,s.jsx)(c.I,{id:"project-name",value:a.name,onChange:e=>i({...a,name:e.target.value}),placeholder:"Enter project name",required:!0,disabled:o})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(g._,{htmlFor:"project-description",children:"Description"}),(0,s.jsx)(j.g,{id:"project-description",value:a.description,onChange:e=>i({...a,description:e.target.value}),placeholder:"Describe what this project is about...",rows:3,disabled:o})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(g._,{htmlFor:"custom-instructions",children:"Custom Instructions"}),(0,s.jsx)(j.g,{id:"custom-instructions",value:a.custom_instructions,onChange:e=>i({...a,custom_instructions:e.target.value}),placeholder:"Enter custom instructions for chat sessions in this project...",rows:3,disabled:o})]}),(0,s.jsxs)(y.cN,{children:[(0,s.jsx)(l.z,{type:"button",variant:"outline",onClick:()=>{i({name:"",description:"",custom_instructions:""}),n(!1)},disabled:o,children:"Cancel"}),(0,s.jsx)(l.z,{type:"submit",disabled:o,children:o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(N.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Creating..."]}):"Create Project"})]})]})]})})}function _(){var e,t,n,g,j,y,N;let[b,_]=(0,m.useState)(""),[S,k]=(0,m.useState)(!1),E=(0,x.usePathname)(),{user:C}=(0,m.useContext)(v.S),[D,O]=(0,m.useState)(C),M=(0,d.aM)(f.Ak,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{ids:(null==D?void 0:D.favourite_projects)||[]},skip:!(null==D?void 0:null===(e=D.favourite_projects)||void 0===e?void 0:e.length)}),T=(0,d.aM)(f.fM,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:1,limit:200,filters:b?[{name:{contains:b}}]:void 0}});(0,m.useEffect)(()=>{T.refetch()},[E]);let[I]=(0,u.D)(f.d5),P=e=>{var t;return e.image?(0,s.jsx)("img",{src:e.image,alt:"".concat(e.name," thumbnail"),className:"h-4 w-4 rounded-full object-cover"}):(0,s.jsx)("div",{className:"h-4 w-4 rounded-full bg-gradient-to-br from-green-500 to-blue-600 flex items-center justify-center text-white text-xs font-medium",children:(null===(t=e.name)||void 0===t?void 0:t.charAt(0).toUpperCase())||"P"})},A=async(e,t)=>{t.preventDefault(),t.stopPropagation();try{let t;let n=(null==D?void 0:D.favourite_projects)||[];t=n.includes(e)?n.filter(t=>t!==e):[...n,e],await I({variables:{id:null==D?void 0:D.id,favourite_projects:t}}),O(e=>({...e,favourite_projects:t}))}catch(e){console.error("Error updating favourite projects:",e)}},z=(null==T?void 0:null===(n=T.data)||void 0===n?void 0:null===(t=n.projectsPagination)||void 0===t?void 0:t.items)||(null==T?void 0:null===(j=T.previousData)||void 0===j?void 0:null===(g=j.projectsPagination)||void 0===g?void 0:g.items)||[],F=(null==M?void 0:null===(y=M.data)||void 0===y?void 0:y.projectByIds)||(null==M?void 0:null===(N=M.previousData)||void 0===N?void 0:N.projectByIds)||[];return(0,s.jsxs)("div",{className:"h-full w-[250px] flex-col gap-2 p-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(a.Z,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(c.I,{type:"search",placeholder:"Search projects...",className:"pl-8",value:b,onChange:e=>_(e.target.value)})]}),(0,s.jsx)(l.z,{variant:"outline",size:"lg",className:"h-10 w-10 p-0",onClick:()=>{k(!0)},title:"Create new project",children:(0,s.jsx)(i.Z,{className:"h-3 w-3"})})]}),(0,s.jsx)("div",{className:"flex-1 overflow-auto space-y-1",children:(0,s.jsxs)(s.Fragment,{children:[(null==D?void 0:D.favourite_projects)&&F.length>0&&!b&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1",children:"Favorites"}),M.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!M.loading&&(0,s.jsx)(s.Fragment,{children:F.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(r.default,{href:"/projects/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(l.z,{variant:E.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[P(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(p.L,{text:e.name,length:10})})]})}),(0,s.jsx)(l.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>A(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"})})]},e.id))})]}),(0,s.jsx)("div",{className:"text-xs font-medium text-muted-foreground px-2 py-1 mt-2",children:"All projects:"}),T.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(h.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!T.loading&&z.map(e=>{var t;return(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(r.default,{href:"/projects/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(l.z,{variant:E.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[P(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(p.L,{text:e.name,length:14})})]})}),(0,s.jsx)(l.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>A(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3 ".concat((null==D?void 0:null===(t=D.favourite_projects)||void 0===t?void 0:t.includes(e.id))?"fill-yellow-400 text-yellow-400":"")})})]},e.id)})]})}),(0,s.jsx)(w,{open:S,onOpenChange:k,refetchProjects:T.refetch})]})}function S(e){let{children:t}=e;return(0,s.jsxs)("div",{className:"flex h-full",children:[(0,s.jsx)("div",{className:"border-r bg-muted/10",children:(0,s.jsx)(_,{})}),t]})}},37091:function(e,t,n){"use strict";n.d(t,{L:function(){return r}});var s=n(57437);function r(e){let{text:t,length:n}=e;return t.length>n?(0,s.jsxs)(s.Fragment,{children:[t.slice(0,n),"..."]}):(0,s.jsx)(s.Fragment,{children:t})}},26110:function(e,t,n){"use strict";n.d(t,{$N:function(){return x},Be:function(){return h},Vq:function(){return l},cN:function(){return p},cZ:function(){return f},fK:function(){return m},hg:function(){return c}});var s=n(57437),r=n(34567),a=n(32489),i=n(2265),o=n(94508);let l=r.fC,c=r.xz,d=r.h_;r.x8;let u=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.aV,{ref:t,className:(0,o.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",n),...a})});u.displayName=r.aV.displayName;let f=i.forwardRef((e,t)=>{let{className:n,children:i,...l}=e;return(0,s.jsxs)(d,{children:[(0,s.jsx)(u,{}),(0,s.jsxs)(r.VY,{ref:t,className:(0,o.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",n),...l,children:[i,(0,s.jsxs)(r.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,s.jsx)(a.Z,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});f.displayName=r.VY.displayName;let m=e=>{let{className:t,...n}=e;return(0,s.jsx)("div",{className:(0,o.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...n})};m.displayName="DialogHeader";let p=e=>{let{className:t,...n}=e;return(0,s.jsx)("div",{className:(0,o.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...n})};p.displayName="DialogFooter";let x=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.Dx,{ref:t,className:(0,o.cn)("text-lg font-semibold leading-none tracking-tight",n),...a})});x.displayName=r.Dx.displayName;let h=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.dk,{ref:t,className:(0,o.cn)("text-sm text-muted-foreground",n),...a})});h.displayName=r.dk.displayName},26815:function(e,t,n){"use strict";n.d(t,{_:function(){return c}});var s=n(57437),r=n(6394),a=n(90535),i=n(2265),o=n(94508);let l=(0,a.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),c=i.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,s.jsx)(r.f,{ref:t,className:(0,o.cn)(l(),n),...a})});c.displayName=r.f.displayName},76818:function(e,t,n){"use strict";n.d(t,{g:function(){return i}});var s=n(57437),r=n(2265),a=n(94508);let i=r.forwardRef((e,t)=>{let{className:n,...r}=e;return(0,s.jsx)("textarea",{className:(0,a.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",n),ref:t,...r})});i.displayName="Textarea"},77992:function(e,t,n){"use strict";n.d(t,{Am:function(){return u},pm:function(){return f}});var s=n(2265);let r=0,a=new Map,i=e=>{if(a.has(e))return;let t=setTimeout(()=>{a.delete(e),d({type:"REMOVE_TOAST",toastId:e})},1e6);a.set(e,t)},o=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:n}=t;return n?i(n):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||void 0===n?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},l=[],c={toasts:[]};function d(e){c=o(c,e),l.forEach(e=>{e(c)})}function u(e){let{...t}=e,n=(r=(r+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>d({type:"DISMISS_TOAST",toastId:n});return d({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||s()}}}),{id:n,dismiss:s,update:e=>d({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function f(){let[e,t]=s.useState(c);return s.useEffect(()=>(l.push(t),()=>{let e=l.indexOf(t);e>-1&&l.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>d({type:"DISMISS_TOAST",toastId:e})}}},15863:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},99397:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},73247:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},86595:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]])},12199:function(e,t,n){"use strict";n.d(t,{D:function(){return u}});var s=n(5853),r=n(79285),a=n(49466),i=n(36628),o=n(59058),l=n(77828),c=n(63251),d=n(59394).Nq?r.useLayoutEffect:r.useEffect;function u(e,t){var n=(0,c.x)(null==t?void 0:t.client);(0,o.Vp)(e,o.n_.Mutation);var u=r.useState({called:!1,loading:!1,client:n}),f=u[0],m=u[1],p=r.useRef({result:f,mutationId:0,isMounted:!0,client:n,mutation:e,options:t});d(function(){Object.assign(p.current,{client:n,options:t,mutation:e})});var x=r.useCallback(function(e){void 0===e&&(e={});var t=p.current,n=t.options,r=t.mutation,o=(0,s.pi)((0,s.pi)({},n),{mutation:r}),c=e.client||p.current.client;p.current.result.loading||o.ignoreResults||!p.current.isMounted||m(p.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:c});var d=++p.current.mutationId,u=(0,a.J)(o,e);return c.mutate(u).then(function(t){var n,s,r=t.data,a=t.errors,o=a&&a.length>0?new l.cA({graphQLErrors:a}):void 0,f=e.onError||(null===(n=p.current.options)||void 0===n?void 0:n.onError);if(o&&f&&f(o,u),d===p.current.mutationId&&!u.ignoreResults){var x={called:!0,loading:!1,data:r,error:o,client:c};p.current.isMounted&&!(0,i.D)(p.current.result,x)&&m(p.current.result=x)}var h=e.onCompleted||(null===(s=p.current.options)||void 0===s?void 0:s.onCompleted);return o||null==h||h(t.data,u),t},function(t){if(d===p.current.mutationId&&p.current.isMounted){var n,s={loading:!1,error:t,data:void 0,called:!0,client:c};(0,i.D)(p.current.result,s)||m(p.current.result=s)}var r=e.onError||(null===(n=p.current.options)||void 0===n?void 0:n.onError);if(r)return r(t,u),{data:void 0,errors:t};throw t})},[]),h=r.useCallback(function(){if(p.current.isMounted){var e={called:!1,loading:!1,client:p.current.client};Object.assign(p.current,{mutationId:0,result:e}),m(e)}},[]);return r.useEffect(function(){var e=p.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[x,(0,s.pi)({reset:h},f)]}},6394:function(e,t,n){"use strict";n.d(t,{f:function(){return o}});var s=n(2265),r=n(66840),a=n(57437),i=s.forwardRef((e,t)=>(0,a.jsx)(r.WV.label,{...e,ref:t,onMouseDown:t=>{var n;t.target.closest("button, input, select, textarea")||(null===(n=e.onMouseDown)||void 0===n||n.call(e,t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));i.displayName="Label";var o=i}},function(e){e.O(0,[9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,5243,6373,3832,2971,2117,1744],function(){return e(e.s=66871)}),_N_E=e.O()}]);
2
+ //# sourceMappingURL=layout-d7642b25bf6d33b3.js.map