@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
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4709],{395:function(e,t,s){Promise.resolve().then(s.bind(s,99593))},99593:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return eC},dynamic:function(){return ek}});var n=s(57437),a=s(2265),l=s(65613),r=s(7211),i=s(12199),o=s(41658),d=s(80834),c=s(13832),u=s(20653),m=s(94508);let x=e=>{let{size:t=16}=e;return(0,n.jsxs)("svg",{height:t,strokeLinejoin:"round",style:{color:"currentcolor"},viewBox:"0 0 16 16",width:t,children:[(0,n.jsx)("title",{children:"Loader"}),(0,n.jsxs)("g",{clipPath:"url(#clip0_2393_1490)",children:[(0,n.jsx)("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),(0,n.jsx)("defs",{children:(0,n.jsx)("clipPath",{id:"clip0_2393_1490",children:(0,n.jsx)("rect",{fill:"white",height:"16",width:"16"})})})]})},p=e=>{let{className:t,size:s=16,...a}=e;return(0,n.jsx)("div",{className:(0,m.cn)("inline-flex animate-spin items-center justify-center",t),...a,children:(0,n.jsx)(x,{size:s})})};var h=s(27315),f=s(81103),j=s(27689),g=s(6374),v=s(44045),y=s(42042),N=s(99397),b=s(20265),w=s(24156),k=s(77992),C=s(27699),T=s(62869),z=s(1828),F=s(66070),S=s(27182),_=s(866),I=s(8014),R=s(74928),P=s(10492),M=s(35974),U=s(87393),Z=s(78361),L=s(23462);let A=L.fC,D=L.xz,W=a.forwardRef((e,t)=>{let{className:s,align:a="center",sideOffset:l=4,...r}=e;return(0,n.jsx)(L.VY,{ref:t,align:a,sideOffset:l,className:(0,m.cn)("z-50 w-64 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",s),...r})});W.displayName=L.VY.displayName;var E=s(60610);let B=a.forwardRef((e,t)=>{let{className:s,value:a,...l}=e;return(0,n.jsx)(E.fC,{ref:t,className:(0,m.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",s),...l,children:(0,n.jsx)(E.z$,{className:"size-full flex-1 bg-primary transition-all",style:{transform:"translateX(-".concat(100-(a||0),"%)")}})})});B.displayName=E.fC.displayName;var O=s(72543);let q=(0,a.createContext)(null),K=()=>{let e=(0,a.useContext)(q);if(!e)throw Error("Context components must be used within Context");return e},J=e=>{let{usedTokens:t,maxTokens:s,usage:a,modelId:l,...r}=e;return(0,n.jsx)(q.Provider,{value:{usedTokens:t,maxTokens:s,usage:a,modelId:l},children:(0,n.jsx)(A,{closeDelay:0,openDelay:0,...r})})},Y=()=>{let{usedTokens:e,maxTokens:t}=K(),s=2*Math.PI*10;return(0,n.jsxs)("svg",{"aria-label":"Model context usage",height:"20",role:"img",style:{color:"currentcolor"},viewBox:"0 0 ".concat(24," ").concat(24),width:"20",children:[(0,n.jsx)("circle",{cx:12,cy:12,fill:"none",opacity:"0.25",r:10,stroke:"currentColor",strokeWidth:2}),(0,n.jsx)("circle",{cx:12,cy:12,fill:"none",opacity:"0.7",r:10,stroke:"currentColor",strokeDasharray:"".concat(s," ").concat(s),strokeDashoffset:s*(1-e/t),strokeLinecap:"round",strokeWidth:2,style:{transformOrigin:"center",transform:"rotate(-90deg)"}})]})},H=e=>{let{children:t,...s}=e,{usedTokens:a,maxTokens:l}=K(),r=new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(a/l);return(0,n.jsx)(D,{asChild:!0,children:null!=t?t:(0,n.jsxs)(T.z,{type:"button",variant:"ghost",...s,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground",children:r}),(0,n.jsx)(Y,{})]})})},V=e=>{let{className:t,...s}=e;return(0,n.jsx)(W,{className:(0,m.cn)("min-w-[240px] divide-y overflow-hidden p-0",t),...s})},X=e=>{let{children:t,className:s,...a}=e,{usedTokens:l,maxTokens:r}=K(),i=l/r,o=new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(i),d=new Intl.NumberFormat("en-US",{notation:"compact"}).format(l),c=new Intl.NumberFormat("en-US",{notation:"compact"}).format(r);return(0,n.jsx)("div",{className:(0,m.cn)("w-full space-y-2 p-3",s),...a,children:null!=t?t:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs",children:[(0,n.jsx)("p",{children:o}),(0,n.jsxs)("p",{className:"font-mono text-muted-foreground",children:[d," / ",c]})]}),(0,n.jsx)("div",{className:"space-y-2",children:(0,n.jsx)(B,{className:"bg-muted",value:100*i})})]})})},G=e=>{let{children:t,className:s,...a}=e;return(0,n.jsx)("div",{className:(0,m.cn)("w-full p-3",s),...a,children:t})},$=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.inputTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{input:o,output:0}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Input"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},Q=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.outputTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{input:0,output:o}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Output"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},ee=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.reasoningTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{reasoningTokens:o}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Reasoning"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},et=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.cachedInputTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{cacheReads:o,input:0,output:0}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Cache"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},es=e=>{let{tokens:t,costText:s}=e;return(0,n.jsxs)("span",{children:[void 0===t?"—":new Intl.NumberFormat("en-US",{notation:"compact"}).format(t),s?(0,n.jsxs)("span",{className:"ml-2 text-muted-foreground",children:["• ",s]}):null]})};var en=s(40519),ea=s(91723),el=s(65302),er=s(45131),ei=s(29525),eo=s(40875),ed=s(53245);let ec=e=>{let{className:t,...s}=e;return(0,n.jsx)(R.zF,{className:(0,m.cn)("not-prose mb-4 w-full rounded-md border",t),...s})},eu=e=>{let t={"input-streaming":(0,n.jsx)(en.Z,{className:"size-4 mr-2"}),"input-available":(0,n.jsx)(ea.Z,{className:"size-4 animate-pulse mr-2"}),"output-available":(0,n.jsx)(el.Z,{className:"size-4 text-green-600 mr-2"}),"output-error":(0,n.jsx)(er.Z,{className:"size-4 text-red-600 mr-2"})};return(0,n.jsxs)(M.C,{className:"rounded-full text-xs",variant:"secondary",children:[t[e],{"input-streaming":"Pending","input-available":"Running","output-available":"Completed","output-error":"Error"}[e]]})},em=e=>{let{className:t,type:s,state:a,...l}=e;return(0,n.jsxs)(R.wy,{className:(0,m.cn)("flex w-full items-center justify-between gap-4 p-3",t),...l,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(ei.Z,{className:"size-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-medium text-sm",children:s}),eu(a)]}),(0,n.jsx)(eo.Z,{className:"size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180"})]})},ex=e=>{let{className:t,...s}=e;return(0,n.jsx)(R.Fw,{className:(0,m.cn)("data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t),...s})},ep=e=>{let{className:t,input:s,...a}=e;return(0,n.jsxs)("div",{className:(0,m.cn)("space-y-2 overflow-hidden p-4",t),...a,children:[(0,n.jsx)("h4",{className:"font-medium text-muted-foreground text-xs uppercase tracking-wide",children:"Parameters"}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50",children:(0,n.jsx)(ed.d,{code:JSON.stringify(s,null,2),language:"json"})})]})},eh=e=>{let{className:t,output:s,errorText:a,...l}=e;return s||a?(0,n.jsxs)("div",{className:(0,m.cn)("space-y-2 p-4",t),...l,children:[(0,n.jsx)("h4",{className:"font-medium text-muted-foreground text-xs tracking-wide",children:a?"Error":"Result"}),(0,n.jsxs)("div",{className:(0,m.cn)("overflow-x-auto rounded-md text-xs [&_table]:w-full p-5",a?"bg-destructive/10 text-destructive":"bg-muted/50 text-foreground"),children:[a&&(0,n.jsx)("div",{children:a}),s&&(0,n.jsx)("div",{children:s})]})]}):(0,n.jsx)(n.Fragment,{})};var ef=s(93022),ej=s(69836),eg=s(35629),ev=s(92279),ey=s(78298),eN=s(21391);function eb(e){var t,s,m,x,L,A,D,W,E,O,q,K;let{session:Y,agent:es}=e,[en,ea]=(0,a.useState)(null),el=a.useContext(v.E);(0,_.d)();let{theme:er}=(0,ey.F)(),[ei,eo]=(0,a.useState)(null),[ed,ec]=(0,a.useState)(null),{user:eu}=(0,a.useContext)(c.S),[em,ex]=(0,a.useState)(null),[ep,eh]=(0,a.useState)(!1),[ef,eg]=(0,a.useState)(""),[eb,ek]=(0,a.useState)([]),eC=a.useRef(null),{toast:eT}=(0,k.pm)(),[ez,eF]=(0,a.useState)({rights_mode:(null==Y?void 0:Y.rights_mode)||"private",users:(null==Y?void 0:null===(t=Y.RBAC)||void 0===t?void 0:t.users)||[],roles:(null==Y?void 0:null===(s=Y.RBAC)||void 0===s?void 0:s.roles)||[],projects:(null==Y?void 0:null===(m=Y.RBAC)||void 0===m?void 0:m.projects)||[]}),eS=(0,r.aM)(j.L5,{variables:{id:Y.created_by},skip:!Y.created_by}),[e_,eI]=(0,i.D)(j.r1),[eR,eP]=(0,a.useState)({totalTokens:0,reasoningTokens:0,inputTokens:0,outputTokens:0,cachedInputTokens:0});(0,r.aM)(j.N,{returnPartialData:!0,fetchPolicy:"network-only",nextFetchPolicy:"network-only",variables:{page:1,limit:50,filters:{session:{eq:Y.id}}},onCompleted:e=>{(null==e?void 0:e.agent_messagesPagination)&&eD(null==e?void 0:e.agent_messagesPagination.items.map(e=>JSON.parse(e.content)))}});let{messages:eM,sendMessage:eU,status:eZ,stop:eL,regenerate:eA,setMessages:eD,addToolResult:eW}=(0,d.RJ)({sendAutomaticallyWhen:o.l0,experimental_throttle:50,async onToolCall(e){let{toolCall:t}=e;if(!t.dynamic&&"getLocation"===t.toolName){let e=["New York","Los Angeles","Chicago","San Francisco"];eW({tool:"confirm-tool-call",toolCallId:t.toolCallId,output:e[Math.floor(Math.random()*e.length)]})}},onError:e=>{console.log("error!!",null==e?void 0:e.message);try{let{message:t}=JSON.parse(null==e?void 0:e.message);ea(t)}catch(t){ea(e.message)}},transport:new o.PD({api:"".concat(null==el?void 0:el.backend).concat(es.slug,"/").concat(es.id),prepareSendMessagesRequest:async e=>{let{messages:t,id:s,body:n}=e,a=await (0,g.LP)();if(!a)throw Error("No valid session token available.");return{body:{...n,message:t[t.length-1],id:s,session:Y.id},headers:{User:eu.id,Session:Y.id,Authorization:"Bearer ".concat(a),Stream:"true"}}}})});(0,a.useEffect)(()=>{let e=null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.totalTokens)||0)},0),t=null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.reasoningTokens)||0)},0);eP({totalTokens:e,reasoningTokens:t,inputTokens:null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.inputTokens)||0)},0),outputTokens:null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.outputTokens)||0)},0),cachedInputTokens:null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.cachedInputTokens)||0)},0)})},[eM]);let eE=(0,a.useMemo)(()=>{let e=(null==eM?void 0:eM.filter(e=>"user"===e.role))||[],t=(null==eM?void 0:eM.filter(e=>"assistant"===e.role))||[];return e.length>=1&&t.length>=1},[eM]),eB=async(e,t)=>{e.preventDefault(),eU({text:ef,files:ei||[]},{body:{disabledTools:eb}}),eg("")},eO=e=>{ek(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},eq=(0,U.I)(Y,eu),eK=async e=>{eo(await Promise.all(e.map(async e=>{if(!e.s3key){let t="";return Object.entries(e).forEach(e=>{let[s,n]=e;t+="".concat(s,": ").concat(n,"\n")}),{type:"file",mediaType:e.type,filename:e.name,url:"data:text/plain;base64,".concat(btoa(t))}}return{type:"file",mediaType:e.type,filename:e.name,url:await (0,Z.NF)(e.s3key)}})))};return(0,a.useEffect)(()=>{if(!ed){eo(null);return}eK(ed.map(e=>({s3key:e,name:e,type:"file"})))},[ed]),(0,n.jsx)("div",{className:"flex flex-col w-full",children:(0,n.jsx)("div",{className:"mx-auto relative size-full",children:(0,n.jsxs)("div",{className:"flex h-full w-full",children:[(0,n.jsxs)("div",{className:"flex flex-col flex-1 pb-6",children:[(0,n.jsxs)(S.ri,{className:"overflow-y-hidden",children:[eE?(0,n.jsxs)("div",{className:"flex justify-between absolute top-0 left-0 right-0 items-center px-4 py-2 border-b z-10 dark:bg-black bg-white",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.Z,{className:"w-4 h-4"}),"Turn this conversation into a reusable workflow"]}),(0,n.jsxs)(T.z,{variant:"outline",size:"sm",onClick:()=>eh(!0),children:[(0,n.jsx)(N.Z,{className:"w-4 h-4 mr-2"}),"Save as Workflow"]})]}):null,es.maxContextLength?(0,n.jsx)(f.pn,{children:(0,n.jsxs)(f.u,{children:[(0,n.jsx)(f.aJ,{asChild:!0,children:(0,n.jsxs)("div",{className:"absolute w-full ".concat(eE?"top-10":"top-0"),children:[(0,n.jsx)(B,{className:"w-full rounded-none",value:eR.totalTokens/es.maxContextLength*100}),(0,n.jsxs)("div",{className:"justify-between flex felx-row",children:[(0,n.jsx)("div",{}),(0,n.jsxs)(J,{maxTokens:es.maxContextLength||0,usedTokens:eR.totalTokens,usage:{inputTokens:eR.inputTokens,outputTokens:eR.outputTokens,totalTokens:eR.totalTokens,cachedInputTokens:eR.cachedInputTokens,reasoningTokens:eR.reasoningTokens},children:[(0,n.jsx)(H,{}),(0,n.jsxs)(V,{children:[(0,n.jsx)(X,{}),(0,n.jsxs)(G,{children:[(0,n.jsx)($,{}),(0,n.jsx)(Q,{}),(0,n.jsx)(ee,{}),(0,n.jsx)(et,{})]})]})]})]})]})}),(0,n.jsx)(f._v,{children:(0,n.jsxs)("p",{children:[Intl.NumberFormat("en-US").format(eR.totalTokens)," / ",Intl.NumberFormat("en-US").format(es.maxContextLength)," tokens in the context window used."]})})]})}):null,(null==eM?void 0:eM.length)===0?(0,n.jsx)("div",{className:"size-full flex justify-center items-center",children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 items-center max-w-2xl w-full px-4 my-auto",children:[(0,n.jsx)(eN.default,{alt:"Logo",width:120,height:120,className:"h-30 w-40 object-contain"}),(0,n.jsx)("p",{className:"text-center text-lg text-muted-foreground",children:"How can I help you today?"}),(0,n.jsx)(ev.Z,{agent:es,status:eZ,className:"w-80"}),(0,n.jsxs)(F.Zb,{className:"w-full mb-6",children:[(0,n.jsxs)(F.Ol,{className:"text-center",children:[(0,n.jsxs)(F.ll,{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)(y.Z,{className:"w-5 h-5"}),"Create Reusable Workflows"]}),(0,n.jsx)(F.SZ,{children:"Turn your conversations into templates that can be reused with different inputs. Perfect for recurring tasks and processes."})]}),(0,n.jsx)(F.aY,{className:"text-center",children:(0,n.jsxs)(T.z,{variant:"outline",size:"sm",disabled:!0,className:"text-muted-foreground",children:[(0,n.jsx)(N.Z,{className:"w-4 h-4 mr-2"}),"Save as Workflow",(0,n.jsx)("span",{className:"ml-2 text-xs",children:"(Available after chatting)"})]})})]})]})}):null,(0,n.jsxs)(S.iG,{className:"px-6",children:[(null==eM?void 0:eM.length)>0&&(0,n.jsx)(ej.K,{messages:eM,config:{marginTopFirstMessage:"mt-12"},status:eZ,onRegenerate:eA,onAddToolResult:eW,UntypedToolPartComponent:ew,addToContext:e=>{ec([...ed||[],e])},writeAccess:eq}),"streaming"===eZ?(0,n.jsx)(p,{}):null]})]}),!eq&&(0,n.jsx)("div",{className:"px-6 mx-auto mt-3",children:(0,n.jsx)(M.C,{variant:"outline",children:"Read access only"})}),en&&(0,n.jsx)("div",{className:"mx-5",children:(0,n.jsxs)(l.bZ,{className:"mb-3",variant:"destructive",children:[(0,n.jsx)(u.LPM,{className:"size-4"}),(0,n.jsx)(l.Cd,{children:"Error"}),(0,n.jsx)(l.X,{children:en})]})}),eq&&(0,n.jsxs)("form",{onSubmit:eB,className:"px-6 border-input border rounded flex mx-5 p-5 flex-col gap-2",children:[(0,n.jsxs)("div",{className:"items-center flex relative gap-2 w-full",children:[(null==el?void 0:null===(x=el.fileUploads)||void 0===x?void 0:x.s3endpoint)&&(0,n.jsx)(Z.ZP,{id:"chat-".concat(Y.id),selectionLimit:10,allowedFileTypes:[...(null===(L=es.capabilities)||void 0===L?void 0:L.audio)||[],...(null===(A=es.capabilities)||void 0===A?void 0:A.video)||[],...(null===(D=es.capabilities)||void 0===D?void 0:D.files)||[],...(null===(W=es.capabilities)||void 0===W?void 0:W.images)||[]],dependencies:[],onConfirm:e=>{ec(e)}}),(0,n.jsx)(h.Z,{autoComplete:"off",autoFocus:!0,minRows:1,value:ef,ref:eC,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),eB(e))},onChange:e=>eg(e.target.value),name:"message",placeholder:"Ask me anything...",className:"max-h-40 px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full items-center h-28 resize-none overflow-hidden dark:bg-card/35"}),"streaming"!==eZ?(0,n.jsx)(T.z,{className:"shrink-0",variant:"secondary",size:"icon",disabled:"submitted"===eZ||!(null==ef?void 0:ef.trim()),children:(0,n.jsx)(b.Z,{className:" size-6 text-muted-foreground"})}):(0,n.jsx)(T.z,{className:"shrink-0",variant:"secondary",size:"icon",onClick:eL,children:(0,n.jsx)(u.wNq,{className:"size-6 text-muted-foreground"})})]}),(0,n.jsx)("div",{className:"grid grid-cols-3 sm:grid-cols-4 gap-3",children:null==ed?void 0:ed.map(e=>(0,n.jsx)(Z.jU,{s3Key:e,disabled:!0,active:!1,onRemove:()=>{ec(null==ed?void 0:ed.filter(t=>t!==e))}}))})]}),(0,n.jsx)(C.x,{isOpen:ep,onClose:()=>eh(!1),messages:eM||[],sessionTitle:Y.title})]}),eq&&(0,n.jsxs)("div",{className:"w-80 border-l bg-muted/20 p-4 space-y-4",children:[(null==eM?void 0:eM.length)>0&&(0,n.jsx)("div",{children:(0,n.jsx)(ev.Z,{agent:es,status:eZ,className:"w-80"})}),(0,n.jsx)("div",{children:(0,n.jsx)("p",{className:"text-sm font-medium text-center",children:es.name})}),es.description&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:es.description}),(0,n.jsx)("hr",{className:"my-2"}),(0,n.jsx)("div",{className:"mt-1",children:(0,n.jsxs)("div",{className:"border rounded",children:[eS.loading&&(0,n.jsxs)("div",{className:"flex flex-row justify-between p-3",children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:"Session created by"}),(0,n.jsx)(P.g,{className:"ml-2"})]}),(null===(E=eS.data)||void 0===E?void 0:E.userById)&&!eS.loading&&(0,n.jsxs)("div",{className:"flex flex-row justify-between p-3",children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:"Session created by"}),(0,n.jsx)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:(0,n.jsx)("p",{className:"text-sm font-medium capitalize",children:eS.data.userById.name})})]})]})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground pt-2",children:"You can disable tools for individual messages in this session by clicking the switch:"}),(0,n.jsx)(f.pn,{children:(0,n.jsx)("div",{className:"space-y-1 pt-2",children:es.tools&&es.tools.length>0?es.tools.map(e=>{let t=!eb.includes(e.id);return(0,n.jsxs)(f.u,{children:[(0,n.jsx)(f.aJ,{asChild:!0,children:(0,n.jsxs)("div",{className:"p-2 rounded-md border text-xs bg-background flex items-center justify-between",children:[(0,n.jsx)("p",{className:"font-medium flex items-center gap-2",children:e.name}),(0,n.jsx)(z.r,{checked:t,onCheckedChange:()=>eO(e.id)})]})}),(0,n.jsx)(f._v,{children:(0,n.jsx)("p",{className:"max-w-[200px] text-wrap",children:e.description})})]},e.name)}):(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"No tools enabled."})})})]}),(0,n.jsx)("div",{className:"mt-1",children:(0,n.jsxs)(R.zF,{className:"border rounded",children:[(0,n.jsx)(F.Ol,{className:"px-3 py-1",children:(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{className:"flex flex-col",children:(0,n.jsxs)("p",{className:"text-sm font-medium",children:["Access control (",Y.rights_mode,")"]})}),(0,n.jsx)(R.wy,{asChild:!0,children:(0,n.jsxs)(T.z,{variant:"ghost",size:"icon",className:"size-8",children:[(0,n.jsx)(w.Z,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Toggle"})]})})]})}),(0,n.jsx)(R.Fw,{children:(0,n.jsxs)(F.aY,{className:"space-y-4 p-3",children:[(0,n.jsx)(I.P,{allowedModes:["private","users","roles","projects"],initialRightsMode:Y.rights_mode,initialUsers:null===(O=Y.RBAC)||void 0===O?void 0:O.users,initialRoles:null===(q=Y.RBAC)||void 0===q?void 0:q.roles,initialProjects:null===(K=Y.RBAC)||void 0===K?void 0:K.projects,onChange:(e,t,s,n)=>{eF({rights_mode:e,users:t,roles:s,projects:n})}}),(0,n.jsxs)(T.z,{disabled:eI.loading,onClick:()=>{e_({variables:{id:Y.id,rights_mode:ez.rights_mode,RBAC:{users:ez.users,roles:ez.roles,projects:ez.projects}}})},children:["Save access rights ",eI.loading&&(0,n.jsx)(P.g,{className:"ml-2"})," "]})]})})]})})]})]})})})}let ew=e=>{var t,s;let{untypedToolPart:a,callId:l,addToContext:r}=e,i=a.output;console.log("output",i);let o=null===(t=a.type)||void 0===t?void 0:t.replace(/ /g,"-");return o=(null==(o=null==(o=null==o?void 0:o.replace(/tool-/g,""))?void 0:o.replace(/_/g," "))?void 0:o.charAt(0).toUpperCase())+(null==o?void 0:o.slice(1)),(0,n.jsxs)(ec,{className:"mt-3",defaultOpen:!1,children:[(0,n.jsx)(em,{className:"capitalize",type:o,state:a.state}),(0,n.jsxs)(ex,{children:[(0,n.jsx)(ep,{input:a.input}),(null==i?void 0:null===(s=i.items)||void 0===s?void 0:s.length)?(0,n.jsx)("div",{className:"grid grid-cols-3 sm:grid-cols-4 gap-3 px-4 pb-4",children:i.items.map(e=>(0,n.jsx)(Z.jU,{addToContext:e=>{r(e)},s3Key:e,disabled:!0,active:!1}))}):(0,n.jsx)(eh,{output:i?(0,n.jsx)(eg.H,{children:"string"==typeof i?i:JSON.stringify(i,null,2)}):!a.errorText&&(0,n.jsx)(ef.O,{className:"h-4 w-full"}),errorText:a.errorText})]})]},l)},ek="force-dynamic";function eC(e){let{params:t}=e,{data:s,loading:a,error:i}=(0,r.aM)(j.as,{variables:{id:t.agent}}),{data:o,loading:d,error:c}=(0,r.aM)(j.lk,{returnPartialData:!0,fetchPolicy:"network-only",nextFetchPolicy:"network-only",variables:{id:t.session}});return d||a?(0,n.jsx)("div",{children:(0,n.jsx)(ef.O,{className:"w-full h-full"})}):c||i?(0,n.jsxs)(l.bZ,{variant:"destructive",children:[(0,n.jsx)(u.LPM,{className:"size-4"}),(0,n.jsx)(l.Cd,{children:"Error"}),(0,n.jsxs)(l.X,{children:["Error loading agent ",(null==i?void 0:i.message)||(null==c?void 0:c.message),"."]})]}):(null==s?void 0:s.agentById)&&(null==o?void 0:o.agent_sessionById)?(0,n.jsx)(eb,{session:null==o?void 0:o.agent_sessionById,agent:s.agentById}):(0,n.jsxs)(l.bZ,{variant:"destructive",children:[(0,n.jsx)(u.LPM,{className:"size-4"}),(0,n.jsx)(l.Cd,{children:"Error"}),(0,n.jsx)(l.X,{children:"Agent or session not found."})]})}},27182:function(e,t,s){"use strict";s.d(t,{iG:function(){return i},ri:function(){return r}});var n=s(57437);s(62869);var a=s(94508);s(2265);var l=s(20460);let r=e=>{let{className:t,...s}=e;return(0,n.jsx)(l.h,{className:(0,a.cn)("relative flex-1 overflow-y-auto",t),initial:"smooth",resize:"smooth",role:"log",...s})},i=e=>{let{className:t,...s}=e;return(0,n.jsx)(l.h.Content,{className:(0,a.cn)("p-4",t),...s})}},92279:function(e,t,s){"use strict";var n=s(57437),a=s(7882),l=s(11713),r=s(78361);let i=e=>{let{agent:t,status:s,className:i}=e,{data:o}=(0,l.a)({queryKey:["defaultAnimation","idle"],queryFn:async()=>(await fetch("/agent-idle.json")).json(),staleTime:36e5,enabled:!t.animation_idle}),{data:d}=(0,l.a)({queryKey:["defaultAnimation","responding"],queryFn:async()=>(await fetch("/agent-responding.json")).json(),staleTime:36e5,enabled:!t.animation_responding}),{data:c}=(0,l.a)({queryKey:["customAnimation",t.animation_idle],queryFn:async()=>{if(!t.animation_idle)return null;let e=await (0,r.NF)(t.animation_idle);return(await fetch(e)).json()},enabled:!!t.animation_idle,staleTime:3e5}),{data:u}=(0,l.a)({queryKey:["customAnimation",t.animation_responding],queryFn:async()=>{if(!t.animation_responding)return null;let e=await (0,r.NF)(t.animation_responding);return(await fetch(e)).json()},enabled:!!t.animation_responding,staleTime:3e5}),{View:m}=(0,a.useLottie)((()=>{switch(s){case"submitted":case"ready":case"error":default:return{animationData:c||o,loop:!0,autoplay:!0};case"streaming":return{animationData:u||d,loop:!0,autoplay:!0}}})());return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{className:"",children:(0,n.jsx)("div",{className:i,children:m})})})};t.Z=e=>{let{agent:t,status:s,className:a}=e;return(0,n.jsx)(i,{className:a,agent:t,status:s})}},69836:function(e,t,s){"use strict";s.d(t,{K:function(){return I}});var n=s(57437);s(16831);var a=s(94508);let l=e=>{let{className:t,from:s,...l}=e;return(0,n.jsx)("div",{className:(0,a.cn)("group flex w-full items-end justify-end gap-2 py-4","user"===s?"is-user flex-row-reverse justify-end":"is-assistant flex-row-reverse justify-end","[&>div]:max-w-[80%]",t),...l})},r=e=>{let{children:t,className:s,...l}=e;return(0,n.jsx)("div",{className:(0,a.cn)("flex flex-col gap-2 overflow-hidden rounded-lg py-3 text-foreground text-sm","group-[.is-user]:bg-secondary group-[.is-user]:text-primary-foreground group-[.is-user]:px-4","group-[.is-assistant]:bg-transparent group-[.is-assistant]:text-foreground",s),...l,children:(0,n.jsx)("div",{className:"is-user:dark",children:t})})};var i=s(62869),o=s(81103);let d=e=>{let{className:t,children:s,...l}=e;return(0,n.jsx)("div",{className:(0,a.cn)("flex items-center gap-1",t),...l,children:s})},c=e=>{let{tooltip:t,children:s,label:l,className:r,variant:d="ghost",size:c="sm",...u}=e,m=(0,n.jsxs)(i.z,{className:(0,a.cn)("size-9 p-1.5 text-muted-foreground hover:text-foreground",r),size:c,type:"button",variant:d,...u,children:[s,(0,n.jsx)("span",{className:"sr-only",children:l||t})]});return t?(0,n.jsx)(o.pn,{children:(0,n.jsxs)(o.u,{children:[(0,n.jsx)(o.aJ,{asChild:!0,children:m}),(0,n.jsx)(o._v,{children:(0,n.jsx)("p",{children:t})})]})}):m};var u=s(35629),m=s(80886),x=s(74928),p=s(64972),h=s(40875),f=s(2265);let j=(0,f.createContext)(null),g=()=>{let e=(0,f.useContext)(j);if(!e)throw Error("Reasoning components must be used within Reasoning");return e},v=(0,f.memo)(e=>{let{className:t,isStreaming:s=!1,open:l,defaultOpen:r=!1,onOpenChange:i,duration:o,children:d,...c}=e,[u,p]=(0,m.T)({prop:l,defaultProp:r,onChange:i}),[h,g]=(0,m.T)({prop:o,defaultProp:0}),[v,y]=(0,f.useState)(!1),[N,b]=(0,f.useState)(null);return(0,f.useEffect)(()=>{s?null===N&&b(Date.now()):null!==N&&(g(Math.round((Date.now()-N)/1e3)),b(null))},[s,N,g]),(0,f.useEffect)(()=>{if(s&&!u)p(!0);else if(!s&&u&&!r&&!v){let e=setTimeout(()=>{p(!1),y(!0)},1e3);return()=>clearTimeout(e)}},[s,u,r,p,v]),(0,n.jsx)(j.Provider,{value:{isStreaming:s,isOpen:u,setIsOpen:p,duration:h},children:(0,n.jsx)(x.zF,{className:(0,a.cn)("not-prose mb-4",t),onOpenChange:e=>{p(e)},open:u,...c,children:d})})}),y=(0,f.memo)(e=>{let{className:t,title:s="Reasoning",children:l,...r}=e,{isStreaming:i,isOpen:o,duration:d}=g();return(0,n.jsx)(x.wy,{className:(0,a.cn)("flex items-center gap-2 text-muted-foreground text-sm",t),...r,children:null!=l?l:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(p.Z,{className:"size-4"}),i||0===d?(0,n.jsx)("p",{children:"Thinking..."}):(0,n.jsxs)("p",{children:["Thought for ",d," seconds"]}),(0,n.jsx)(h.Z,{className:(0,a.cn)("size-4 text-muted-foreground transition-transform",o?"rotate-180":"rotate-0")})]})})}),N=(0,f.memo)(e=>{let{className:t,children:s,...l}=e;return(0,n.jsx)(x.Fw,{className:(0,a.cn)("mt-4 text-sm","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t),...l,children:(0,n.jsx)(u.H,{className:"grid gap-2",children:s})})});v.displayName="Reasoning",y.displayName="ReasoningTrigger",N.displayName="ReasoningContent";var b=s(55455);let w=e=>{let{className:t,...s}=e;return(0,n.jsx)(x.zF,{className:(0,a.cn)("not-prose mb-4 text-primary text-xs",t),...s})},k=e=>{let{className:t,count:s,children:a,...l}=e;return(0,n.jsx)(x.wy,{className:"flex items-center gap-2",...l,children:null!=a?a:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{className:"font-medium",children:["Used ",s," sources"]}),(0,n.jsx)(h.Z,{className:"h-4 w-4"})]})})},C=e=>{let{className:t,...s}=e;return(0,n.jsx)(x.Fw,{className:(0,a.cn)("mt-3 flex w-fit flex-col gap-2","data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t),...s})},T=e=>{let{href:t,title:s,children:a,...l}=e;return(0,n.jsx)("a",{className:"flex items-center gap-2",href:t,rel:"noreferrer",target:"_blank",...l,children:null!=a?a:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(b.Z,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"block font-medium",children:s})]})})};var z=s(52636),F=s(78867),S=s(33145),_=s(77992);function I(e){let{messages:t,status:s="idle",className:i,showActions:o=!0,onRegenerate:m,onAddToolResult:x,UntypedToolPartComponent:p,addToContext:h,writeAccess:f=!0,config:j}=e,{toast:g}=(0,_.pm)();return(0,n.jsx)(n.Fragment,{children:null==t?void 0:t.map((e,b)=>{let _=e.metadata;return t.length,(0,n.jsx)(l,{className:(0,a.cn)("assistant"===e.role&&((null==j?void 0:j.customAssistantClassnames)?null==j?void 0:j.customAssistantClassnames:""),0===b&&((null==j?void 0:j.marginTopFirstMessage)?null==j?void 0:j.marginTopFirstMessage:"mt-12"),i),from:e.role,children:(0,n.jsxs)(r,{children:[e.parts.map((t,a)=>{if("step-start"===t.type)return null;if("text"===t.type)return(0,n.jsx)("div",{children:(0,n.jsx)(u.H,{className:"chat-response-container",children:t.text})},"".concat(e.id,"-").concat(a));if("tool-askForConfirmation"===t.type&&x){let e=t.toolCallId;switch(t.state){case"input-streaming":return(0,n.jsx)("div",{children:"Loading confirmation request..."},e);case"input-available":return(0,n.jsxs)("div",{children:[t.input.message,(0,n.jsxs)("div",{children:[(0,n.jsx)("button",{onClick:()=>x({tool:"askForConfirmation",toolCallId:e,output:"Yes, confirmed"}),children:"Yes"}),(0,n.jsx)("button",{onClick:()=>x({tool:"askForConfirmation",toolCallId:e,output:"No, denied"}),children:"No"})]})]},e);case"output-available":return(0,n.jsxs)("div",{children:["Tool call allowed: ",t.output]},e);case"output-error":return(0,n.jsxs)("div",{children:["Error: ",t.errorText]},e)}}if((t.type.startsWith("tool-")||"dynamic-tool"===t.type)&&p&&h){let e=t.toolCallId;return(0,n.jsx)(p,{untypedToolPart:t,callId:e,addToContext:h},e)}if("file"===t.type){var l;if(null===(l=t.mediaType)||void 0===l?void 0:l.startsWith("image/"))return(0,n.jsx)(S.default,{src:t.url,width:300,height:300,alt:"Generated image"},"".concat(e.id,"-").concat(a))}return"source-url"===t.type?(0,n.jsxs)(w,{children:[(0,n.jsx)(k,{count:e.parts.filter(e=>"source-url"===e.type).length}),(0,n.jsx)(C,{children:e.parts.map((t,s)=>{if("source-url"===t.type)return(0,n.jsx)(T,{href:t.url,title:t.title},"".concat(e.id,"-").concat(s))})},"".concat(e.id))]},"".concat(e.id,"-").concat(a)):"reasoning"===t.type?(0,n.jsxs)(v,{className:"w-full",isStreaming:"streaming"===s,children:[(0,n.jsx)(y,{}),(0,n.jsx)(N,{children:t.text})]},"".concat(e.id,"-").concat(a)):null}),o&&"assistant"===e.role&&(0,n.jsxs)(d,{className:"mt-2",children:[m&&(0,n.jsx)(c,{onClick:()=>m(),label:"Retry",disabled:!f,children:(0,n.jsx)(z.Z,{className:"size-3"})}),(0,n.jsx)(c,{onClick:()=>{navigator.clipboard.writeText(e.parts.map(e=>(null==e?void 0:e.text)||"").join("\n")),g({title:"Copied message",description:"The message was copied to your clipboard."})},label:"Copy",children:(0,n.jsx)(F.Z,{className:"size-3"})}),(null==_?void 0:_.totalTokens)&&(0,n.jsxs)("small",{className:"text-muted-foreground",children:[Intl.NumberFormat("en-US").format(null==_?void 0:_.totalTokens)," tokens"]})]})]})},e.id)})})}},74928:function(e,t,s){"use strict";s.d(t,{Fw:function(){return r},wy:function(){return l},zF:function(){return a}});var n=s(88985);let a=n.fC,l=n.wy,r=n.Fw},1828:function(e,t,s){"use strict";s.d(t,{r:function(){return i}});var n=s(57437),a=s(50721),l=s(2265),r=s(94508);let i=l.forwardRef((e,t)=>{let{className:s,...l}=e;return(0,n.jsx)(a.fC,{className:(0,r.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",s),...l,ref:t,children:(0,n.jsx)(a.bU,{className:(0,r.cn)("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})})});i.displayName=a.fC.displayName},87393:function(e,t,s){"use strict";s.d(t,{I:function(){return n}});let n=(e,t)=>{var s,n,a,l,r,i;let o="private"===e.rights_mode,d="public"===e.rights_mode,c="users"===e.rights_mode,u="roles"===e.rights_mode,m=t.super_admin,x=e.created_by===t.id.toString(),p=!1;return o&&x&&(p=!0),d&&(p=!0),c&&(p=(null===(a=e.RBAC)||void 0===a?void 0:null===(n=a.users)||void 0===n?void 0:null===(s=n.find(e=>e.id===t.id))||void 0===s?void 0:s.rights)==="write"),u&&(p=(null===(i=e.RBAC)||void 0===i?void 0:null===(r=i.roles)||void 0===r?void 0:null===(l=r.find(e=>{var s;return e.id===(null===(s=t.role)||void 0===s?void 0:s.id)}))||void 0===l?void 0:l.rights)==="write"),m&&(p=!0),p}}},function(e){e.O(0,[329,6840,8310,3954,4705,3611,6989,5987,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,1785,3702,1713,9141,6152,7119,3145,5615,6373,3832,4205,1957,2971,2117,1744],function(){return e(e.s=395)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=page-3807a8bc2ae87548.js.map
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4709],{395:function(e,t,s){Promise.resolve().then(s.bind(s,99593))},99593:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return eC},dynamic:function(){return ek}});var n=s(57437),a=s(2265),l=s(65613),r=s(7211),i=s(12199),o=s(41658),d=s(80834),c=s(13832),u=s(20653),m=s(94508);let x=e=>{let{size:t=16}=e;return(0,n.jsxs)("svg",{height:t,strokeLinejoin:"round",style:{color:"currentcolor"},viewBox:"0 0 16 16",width:t,children:[(0,n.jsx)("title",{children:"Loader"}),(0,n.jsxs)("g",{clipPath:"url(#clip0_2393_1490)",children:[(0,n.jsx)("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),(0,n.jsx)("defs",{children:(0,n.jsx)("clipPath",{id:"clip0_2393_1490",children:(0,n.jsx)("rect",{fill:"white",height:"16",width:"16"})})})]})},h=e=>{let{className:t,size:s=16,...a}=e;return(0,n.jsx)("div",{className:(0,m.cn)("inline-flex animate-spin items-center justify-center",t),...a,children:(0,n.jsx)(x,{size:s})})};var p=s(27315),f=s(81103),j=s(27689),v=s(6374),g=s(44045),y=s(42042),N=s(99397),b=s(20265),w=s(24156),k=s(77992),C=s(27699),T=s(62869),S=s(1828),_=s(66070),z=s(27182),F=s(866),I=s(8014),R=s(74928),U=s(10492),M=s(35974),P=s(87393),L=s(78361),A=s(23462);let D=A.fC,Z=A.xz,W=a.forwardRef((e,t)=>{let{className:s,align:a="center",sideOffset:l=4,...r}=e;return(0,n.jsx)(A.VY,{ref:t,align:a,sideOffset:l,className:(0,m.cn)("z-50 w-64 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",s),...r})});W.displayName=A.VY.displayName;var B=s(60610);let E=a.forwardRef((e,t)=>{let{className:s,value:a,...l}=e;return(0,n.jsx)(B.fC,{ref:t,className:(0,m.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",s),...l,children:(0,n.jsx)(B.z$,{className:"size-full flex-1 bg-primary transition-all",style:{transform:"translateX(-".concat(100-(a||0),"%)")}})})});E.displayName=B.fC.displayName;var O=s(72543);let q=(0,a.createContext)(null),K=()=>{let e=(0,a.useContext)(q);if(!e)throw Error("Context components must be used within Context");return e},J=e=>{let{usedTokens:t,maxTokens:s,usage:a,modelId:l,...r}=e;return(0,n.jsx)(q.Provider,{value:{usedTokens:t,maxTokens:s,usage:a,modelId:l},children:(0,n.jsx)(D,{closeDelay:0,openDelay:0,...r})})},Y=()=>{let{usedTokens:e,maxTokens:t}=K(),s=2*Math.PI*10;return(0,n.jsxs)("svg",{"aria-label":"Model context usage",height:"20",role:"img",style:{color:"currentcolor"},viewBox:"0 0 ".concat(24," ").concat(24),width:"20",children:[(0,n.jsx)("circle",{cx:12,cy:12,fill:"none",opacity:"0.25",r:10,stroke:"currentColor",strokeWidth:2}),(0,n.jsx)("circle",{cx:12,cy:12,fill:"none",opacity:"0.7",r:10,stroke:"currentColor",strokeDasharray:"".concat(s," ").concat(s),strokeDashoffset:s*(1-e/t),strokeLinecap:"round",strokeWidth:2,style:{transformOrigin:"center",transform:"rotate(-90deg)"}})]})},V=e=>{let{children:t,...s}=e,{usedTokens:a,maxTokens:l}=K(),r=new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(a/l);return(0,n.jsx)(Z,{asChild:!0,children:null!=t?t:(0,n.jsxs)(T.z,{type:"button",variant:"ghost",...s,children:[(0,n.jsx)("span",{className:"font-medium text-muted-foreground",children:r}),(0,n.jsx)(Y,{})]})})},X=e=>{let{className:t,...s}=e;return(0,n.jsx)(W,{className:(0,m.cn)("min-w-[240px] divide-y overflow-hidden p-0",t),...s})},H=e=>{let{children:t,className:s,...a}=e,{usedTokens:l,maxTokens:r}=K(),i=l/r,o=new Intl.NumberFormat("en-US",{style:"percent",maximumFractionDigits:1}).format(i),d=new Intl.NumberFormat("en-US",{notation:"compact"}).format(l),c=new Intl.NumberFormat("en-US",{notation:"compact"}).format(r);return(0,n.jsx)("div",{className:(0,m.cn)("w-full space-y-2 p-3",s),...a,children:null!=t?t:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs",children:[(0,n.jsx)("p",{children:o}),(0,n.jsxs)("p",{className:"font-mono text-muted-foreground",children:[d," / ",c]})]}),(0,n.jsx)("div",{className:"space-y-2",children:(0,n.jsx)(E,{className:"bg-muted",value:100*i})})]})})},G=e=>{let{children:t,className:s,...a}=e;return(0,n.jsx)("div",{className:(0,m.cn)("w-full p-3",s),...a,children:t})},$=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.inputTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{input:o,output:0}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Input"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},Q=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.outputTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{input:0,output:o}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Output"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},ee=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.reasoningTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{reasoningTokens:o}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Reasoning"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},et=e=>{var t;let{className:s,children:a,...l}=e,{usage:r,modelId:i}=K(),o=null!==(t=null==r?void 0:r.cachedInputTokens)&&void 0!==t?t:0;if(a)return a;if(!o)return null;let d=i?(0,O.Wn)({modelId:i,usage:{cacheReads:o,input:0,output:0}}).totalUSD:void 0,c=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(null!=d?d:0);return(0,n.jsxs)("div",{className:(0,m.cn)("flex items-center justify-between text-xs",s),...l,children:[(0,n.jsx)("span",{className:"text-muted-foreground",children:"Cache"}),(0,n.jsx)(es,{costText:c,tokens:o})]})},es=e=>{let{tokens:t,costText:s}=e;return(0,n.jsxs)("span",{children:[void 0===t?"—":new Intl.NumberFormat("en-US",{notation:"compact"}).format(t),s?(0,n.jsxs)("span",{className:"ml-2 text-muted-foreground",children:["• ",s]}):null]})};var en=s(40519),ea=s(91723),el=s(65302),er=s(45131),ei=s(29525),eo=s(40875),ed=s(53245);let ec=e=>{let{className:t,...s}=e;return(0,n.jsx)(R.zF,{className:(0,m.cn)("not-prose mb-4 w-full rounded-md border",t),...s})},eu=e=>{let t={"input-streaming":(0,n.jsx)(en.Z,{className:"size-4 mr-2"}),"input-available":(0,n.jsx)(ea.Z,{className:"size-4 animate-pulse mr-2"}),"output-available":(0,n.jsx)(el.Z,{className:"size-4 text-green-600 mr-2"}),"output-error":(0,n.jsx)(er.Z,{className:"size-4 text-red-600 mr-2"})};return(0,n.jsxs)(M.C,{className:"rounded-full text-xs",variant:"secondary",children:[t[e],{"input-streaming":"Pending","input-available":"Running","output-available":"Completed","output-error":"Error"}[e]]})},em=e=>{let{className:t,type:s,state:a,...l}=e;return(0,n.jsxs)(R.wy,{className:(0,m.cn)("flex w-full items-center justify-between gap-4 p-3",t),...l,children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(ei.Z,{className:"size-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-medium text-sm",children:s}),eu(a)]}),(0,n.jsx)(eo.Z,{className:"size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180"})]})},ex=e=>{let{className:t,...s}=e;return(0,n.jsx)(R.Fw,{className:(0,m.cn)("data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in",t),...s})},eh=e=>{let{className:t,input:s,...a}=e;return(0,n.jsxs)("div",{className:(0,m.cn)("space-y-2 overflow-hidden p-4",t),...a,children:[(0,n.jsx)("h4",{className:"font-medium text-muted-foreground text-xs uppercase tracking-wide",children:"Parameters"}),(0,n.jsx)("div",{className:"rounded-md bg-muted/50",children:(0,n.jsx)(ed.d,{code:JSON.stringify(s,null,2),language:"json"})})]})},ep=e=>{let{className:t,output:s,errorText:a,...l}=e;return s||a?(0,n.jsxs)("div",{className:(0,m.cn)("space-y-2 p-4",t),...l,children:[(0,n.jsx)("h4",{className:"font-medium text-muted-foreground text-xs tracking-wide",children:a?"Error":"Result"}),(0,n.jsxs)("div",{className:(0,m.cn)("overflow-x-auto rounded-md text-xs [&_table]:w-full p-5",a?"bg-destructive/10 text-destructive":"bg-muted/50 text-foreground"),children:[a&&(0,n.jsx)("div",{children:a}),s&&(0,n.jsx)("div",{children:s})]})]}):(0,n.jsx)(n.Fragment,{})};var ef=s(93022),ej=s(77256),ev=s(35629),eg=s(92279),ey=s(78298),eN=s(21391);function eb(e){var t,s,m,x,A,D,Z,W,B,O,q,K;let{session:Y,agent:es}=e,[en,ea]=(0,a.useState)(null),el=a.useContext(g.E);(0,F.d)();let{theme:er}=(0,ey.F)(),[ei,eo]=(0,a.useState)(null),[ed,ec]=(0,a.useState)(null),{user:eu}=(0,a.useContext)(c.S),[em,ex]=(0,a.useState)(null),[eh,ep]=(0,a.useState)(!1),[ef,ev]=(0,a.useState)(""),[eb,ek]=(0,a.useState)([]),eC=a.useRef(null),{toast:eT}=(0,k.pm)(),[eS,e_]=(0,a.useState)({rights_mode:(null==Y?void 0:Y.rights_mode)||"private",users:(null==Y?void 0:null===(t=Y.RBAC)||void 0===t?void 0:t.users)||[],roles:(null==Y?void 0:null===(s=Y.RBAC)||void 0===s?void 0:s.roles)||[],projects:(null==Y?void 0:null===(m=Y.RBAC)||void 0===m?void 0:m.projects)||[]}),ez=(0,r.aM)(j.L5,{variables:{id:Y.created_by},skip:!Y.created_by}),[eF,eI]=(0,i.D)(j.r1),[eR,eU]=(0,a.useState)({totalTokens:0,reasoningTokens:0,inputTokens:0,outputTokens:0,cachedInputTokens:0});(0,r.aM)(j.N,{returnPartialData:!0,fetchPolicy:"network-only",nextFetchPolicy:"network-only",variables:{page:1,limit:50,filters:{session:{eq:Y.id}}},onCompleted:e=>{(null==e?void 0:e.agent_messagesPagination)&&eZ(null==e?void 0:e.agent_messagesPagination.items.map(e=>JSON.parse(e.content)))}});let{messages:eM,sendMessage:eP,status:eL,stop:eA,regenerate:eD,setMessages:eZ,addToolResult:eW}=(0,d.RJ)({sendAutomaticallyWhen:o.l0,experimental_throttle:50,async onToolCall(e){let{toolCall:t}=e;if(!t.dynamic&&"getLocation"===t.toolName){let e=["New York","Los Angeles","Chicago","San Francisco"];eW({tool:"confirm-tool-call",toolCallId:t.toolCallId,output:e[Math.floor(Math.random()*e.length)]})}},onError:e=>{console.log("error!!",null==e?void 0:e.message);try{let{message:t}=JSON.parse(null==e?void 0:e.message);ea(t)}catch(t){ea(e.message)}},transport:new o.PD({api:"".concat(null==el?void 0:el.backend).concat(es.slug,"/").concat(es.id),prepareSendMessagesRequest:async e=>{let{messages:t,id:s,body:n}=e,a=await (0,v.LP)();if(!a)throw Error("No valid session token available.");return{body:{...n,message:t[t.length-1],id:s,session:Y.id},headers:{User:eu.id,Session:Y.id,Authorization:"Bearer ".concat(a),Stream:"true"}}}})});(0,a.useEffect)(()=>{let e=null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.totalTokens)||0)},0),t=null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.reasoningTokens)||0)},0);eU({totalTokens:e,reasoningTokens:t,inputTokens:null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.inputTokens)||0)},0),outputTokens:null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.outputTokens)||0)},0),cachedInputTokens:null==eM?void 0:eM.reduce((e,t)=>{let s=t.metadata;return e+((null==s?void 0:s.cachedInputTokens)||0)},0)})},[eM]);let eB=(0,a.useMemo)(()=>{let e=(null==eM?void 0:eM.filter(e=>"user"===e.role))||[],t=(null==eM?void 0:eM.filter(e=>"assistant"===e.role))||[];return e.length>=1&&t.length>=1},[eM]),eE=async(e,t)=>{e.preventDefault(),eP({text:ef,files:ei||[]},{body:{disabledTools:eb}}),ev("")},eO=e=>{ek(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},eq=(0,P.I)(Y,eu),eK=async e=>{eo(await Promise.all(e.map(async e=>{if(!e.s3key){let t="";return Object.entries(e).forEach(e=>{let[s,n]=e;t+="".concat(s,": ").concat(n,"\n")}),{type:"file",mediaType:e.type,filename:e.name,url:"data:text/plain;base64,".concat(btoa(t))}}return{type:"file",mediaType:e.type,filename:e.name,url:await (0,L.NF)(e.s3key)}})))};return(0,a.useEffect)(()=>{if(!ed){eo(null);return}eK(ed.map(e=>({s3key:e,name:e,type:"file"})))},[ed]),(0,n.jsx)("div",{className:"flex flex-col w-full",children:(0,n.jsx)("div",{className:"mx-auto relative size-full",children:(0,n.jsxs)("div",{className:"flex h-full w-full",children:[(0,n.jsxs)("div",{className:"flex flex-col flex-1 pb-6",children:[(0,n.jsxs)(z.ri,{className:"overflow-y-hidden",children:[eB?(0,n.jsxs)("div",{className:"flex justify-between absolute top-0 left-0 right-0 items-center px-4 py-2 border-b z-10 dark:bg-black bg-white",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,n.jsx)(y.Z,{className:"w-4 h-4"}),"Turn this conversation into a reusable workflow"]}),(0,n.jsxs)(T.z,{variant:"outline",size:"sm",onClick:()=>ep(!0),children:[(0,n.jsx)(N.Z,{className:"w-4 h-4 mr-2"}),"Save as Workflow"]})]}):null,es.maxContextLength?(0,n.jsx)(f.pn,{children:(0,n.jsxs)(f.u,{children:[(0,n.jsx)(f.aJ,{asChild:!0,children:(0,n.jsxs)("div",{className:"absolute w-full ".concat(eB?"top-10":"top-0"),children:[(0,n.jsx)(E,{className:"w-full rounded-none",value:eR.totalTokens/es.maxContextLength*100}),(0,n.jsxs)("div",{className:"justify-between flex felx-row",children:[(0,n.jsx)("div",{}),(0,n.jsxs)(J,{maxTokens:es.maxContextLength||0,usedTokens:eR.totalTokens,usage:{inputTokens:eR.inputTokens,outputTokens:eR.outputTokens,totalTokens:eR.totalTokens,cachedInputTokens:eR.cachedInputTokens,reasoningTokens:eR.reasoningTokens},children:[(0,n.jsx)(V,{}),(0,n.jsxs)(X,{children:[(0,n.jsx)(H,{}),(0,n.jsxs)(G,{children:[(0,n.jsx)($,{}),(0,n.jsx)(Q,{}),(0,n.jsx)(ee,{}),(0,n.jsx)(et,{})]})]})]})]})]})}),(0,n.jsx)(f._v,{children:(0,n.jsxs)("p",{children:[Intl.NumberFormat("en-US").format(eR.totalTokens)," / ",Intl.NumberFormat("en-US").format(es.maxContextLength)," tokens in the context window used."]})})]})}):null,(null==eM?void 0:eM.length)===0?(0,n.jsx)("div",{className:"size-full flex justify-center items-center",children:(0,n.jsxs)("div",{className:"flex flex-col gap-4 items-center max-w-2xl w-full px-4 my-auto",children:[(0,n.jsx)(eN.default,{alt:"Logo",width:120,height:120,className:"h-30 w-40 object-contain"}),(0,n.jsx)("p",{className:"text-center text-lg text-muted-foreground",children:"How can I help you today?"}),(0,n.jsx)(eg.Z,{agent:es,status:eL,className:"w-80"}),(0,n.jsxs)(_.Zb,{className:"w-full mb-6",children:[(0,n.jsxs)(_.Ol,{className:"text-center",children:[(0,n.jsxs)(_.ll,{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)(y.Z,{className:"w-5 h-5"}),"Create Reusable Workflows"]}),(0,n.jsx)(_.SZ,{children:"Turn your conversations into templates that can be reused with different inputs. Perfect for recurring tasks and processes."})]}),(0,n.jsx)(_.aY,{className:"text-center",children:(0,n.jsxs)(T.z,{variant:"outline",size:"sm",disabled:!0,className:"text-muted-foreground",children:[(0,n.jsx)(N.Z,{className:"w-4 h-4 mr-2"}),"Save as Workflow",(0,n.jsx)("span",{className:"ml-2 text-xs",children:"(Available after chatting)"})]})})]})]})}):null,(0,n.jsxs)(z.iG,{className:"px-6",children:[(null==eM?void 0:eM.length)>0&&(0,n.jsx)(ej.K,{messages:eM,config:{marginTopFirstMessage:"mt-12"},status:eL,onRegenerate:eD,onAddToolResult:eW,UntypedToolPartComponent:ew,addToContext:e=>{ec([...ed||[],e])},writeAccess:eq}),"streaming"===eL?(0,n.jsx)(h,{}):null]})]}),!eq&&(0,n.jsx)("div",{className:"px-6 mx-auto mt-3",children:(0,n.jsx)(M.C,{variant:"outline",children:"Read access only"})}),en&&(0,n.jsx)("div",{className:"mx-5",children:(0,n.jsxs)(l.bZ,{className:"mb-3",variant:"destructive",children:[(0,n.jsx)(u.LPM,{className:"size-4"}),(0,n.jsx)(l.Cd,{children:"Error"}),(0,n.jsx)(l.X,{children:en})]})}),eq&&(0,n.jsxs)("form",{onSubmit:eE,className:"px-6 border-input border rounded flex mx-5 p-5 flex-col gap-2",children:[(0,n.jsxs)("div",{className:"items-center flex relative gap-2 w-full",children:[(null==el?void 0:null===(x=el.fileUploads)||void 0===x?void 0:x.s3endpoint)&&(0,n.jsx)(L.ZP,{id:"chat-".concat(Y.id),selectionLimit:10,allowedFileTypes:[...(null===(A=es.capabilities)||void 0===A?void 0:A.audio)||[],...(null===(D=es.capabilities)||void 0===D?void 0:D.video)||[],...(null===(Z=es.capabilities)||void 0===Z?void 0:Z.files)||[],...(null===(W=es.capabilities)||void 0===W?void 0:W.images)||[]],dependencies:[],onConfirm:e=>{ec(e)}}),(0,n.jsx)(p.Z,{autoComplete:"off",autoFocus:!0,minRows:1,value:ef,ref:eC,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),eE(e))},onChange:e=>ev(e.target.value),name:"message",placeholder:"Ask me anything...",className:"max-h-40 px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full items-center h-28 resize-none overflow-hidden dark:bg-card/35"}),"streaming"!==eL?(0,n.jsx)(T.z,{className:"shrink-0",variant:"secondary",size:"icon",disabled:"submitted"===eL||!(null==ef?void 0:ef.trim()),children:(0,n.jsx)(b.Z,{className:" size-6 text-muted-foreground"})}):(0,n.jsx)(T.z,{className:"shrink-0",variant:"secondary",size:"icon",onClick:eA,children:(0,n.jsx)(u.wNq,{className:"size-6 text-muted-foreground"})})]}),(0,n.jsx)("div",{className:"grid grid-cols-3 sm:grid-cols-4 gap-3",children:null==ed?void 0:ed.map(e=>(0,n.jsx)(L.jU,{s3Key:e,disabled:!0,active:!1,onRemove:()=>{ec(null==ed?void 0:ed.filter(t=>t!==e))}}))})]}),(0,n.jsx)(C.x,{isOpen:eh,onClose:()=>ep(!1),messages:eM||[],sessionTitle:Y.title})]}),eq&&(0,n.jsxs)("div",{className:"w-80 border-l bg-muted/20 p-4 space-y-4",children:[(null==eM?void 0:eM.length)>0&&(0,n.jsx)("div",{children:(0,n.jsx)(eg.Z,{agent:es,status:eL,className:"w-80"})}),(0,n.jsx)("div",{children:(0,n.jsx)("p",{className:"text-sm font-medium text-center",children:es.name})}),es.description&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:es.description}),(0,n.jsx)("hr",{className:"my-2"}),(0,n.jsx)("div",{className:"mt-1",children:(0,n.jsxs)("div",{className:"border rounded",children:[ez.loading&&(0,n.jsxs)("div",{className:"flex flex-row justify-between p-3",children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:"Session created by"}),(0,n.jsx)(U.g,{className:"ml-2"})]}),(null===(B=ez.data)||void 0===B?void 0:B.userById)&&!ez.loading&&(0,n.jsxs)("div",{className:"flex flex-row justify-between p-3",children:[(0,n.jsx)("p",{className:"text-sm font-medium",children:"Session created by"}),(0,n.jsx)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:(0,n.jsx)("p",{className:"text-sm font-medium capitalize",children:ez.data.userById.name})})]})]})}),(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-xs font-medium text-muted-foreground pt-2",children:"You can disable tools for individual messages in this session by clicking the switch:"}),(0,n.jsx)(f.pn,{children:(0,n.jsx)("div",{className:"space-y-1 pt-2",children:es.tools&&es.tools.length>0?es.tools.map(e=>{let t=!eb.includes(e.id);return(0,n.jsxs)(f.u,{children:[(0,n.jsx)(f.aJ,{asChild:!0,children:(0,n.jsxs)("div",{className:"p-2 rounded-md border text-xs bg-background flex items-center justify-between",children:[(0,n.jsx)("p",{className:"font-medium flex items-center gap-2",children:e.name}),(0,n.jsx)(S.r,{checked:t,onCheckedChange:()=>eO(e.id)})]})}),(0,n.jsx)(f._v,{children:(0,n.jsx)("p",{className:"max-w-[200px] text-wrap",children:e.description})})]},e.name)}):(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"No tools enabled."})})})]}),(0,n.jsx)("div",{className:"mt-1",children:(0,n.jsxs)(R.zF,{className:"border rounded",children:[(0,n.jsx)(_.Ol,{className:"px-3 py-1",children:(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("div",{className:"flex flex-col",children:(0,n.jsxs)("p",{className:"text-sm font-medium",children:["Access control (",Y.rights_mode,")"]})}),(0,n.jsx)(R.wy,{asChild:!0,children:(0,n.jsxs)(T.z,{variant:"ghost",size:"icon",className:"size-8",children:[(0,n.jsx)(w.Z,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Toggle"})]})})]})}),(0,n.jsx)(R.Fw,{children:(0,n.jsxs)(_.aY,{className:"space-y-4 p-3",children:[(0,n.jsx)(I.P,{allowedModes:["private","users","roles","projects"],initialRightsMode:Y.rights_mode,initialUsers:null===(O=Y.RBAC)||void 0===O?void 0:O.users,initialRoles:null===(q=Y.RBAC)||void 0===q?void 0:q.roles,initialProjects:null===(K=Y.RBAC)||void 0===K?void 0:K.projects,onChange:(e,t,s,n)=>{e_({rights_mode:e,users:t,roles:s,projects:n})}}),(0,n.jsxs)(T.z,{disabled:eI.loading,onClick:()=>{eF({variables:{id:Y.id,rights_mode:eS.rights_mode,RBAC:{users:eS.users,roles:eS.roles,projects:eS.projects}}})},children:["Save access rights ",eI.loading&&(0,n.jsx)(U.g,{className:"ml-2"})," "]})]})})]})})]})]})})})}let ew=e=>{var t,s;let{untypedToolPart:a,callId:l,addToContext:r}=e,i=a.output;console.log("output",i);let o=null===(t=a.type)||void 0===t?void 0:t.replace(/ /g,"-");return o=(null==(o=null==(o=null==o?void 0:o.replace(/tool-/g,""))?void 0:o.replace(/_/g," "))?void 0:o.charAt(0).toUpperCase())+(null==o?void 0:o.slice(1)),(0,n.jsxs)(ec,{className:"mt-3",defaultOpen:!1,children:[(0,n.jsx)(em,{className:"capitalize",type:o,state:a.state}),(0,n.jsxs)(ex,{children:[(0,n.jsx)(eh,{input:a.input}),(null==i?void 0:null===(s=i.items)||void 0===s?void 0:s.length)?(0,n.jsx)("div",{className:"grid grid-cols-3 sm:grid-cols-4 gap-3 px-4 pb-4",children:i.items.map(e=>(0,n.jsx)(L.jU,{addToContext:e=>{r(e)},s3Key:e,disabled:!0,active:!1}))}):(0,n.jsx)(ep,{output:i?(0,n.jsx)(ev.H,{children:"string"==typeof i?i:JSON.stringify(i,null,2)}):!a.errorText&&(0,n.jsx)(ef.O,{className:"h-4 w-full"}),errorText:a.errorText})]})]},l)},ek="force-dynamic";function eC(e){let{params:t}=e,{data:s,loading:a,error:i}=(0,r.aM)(j.as,{variables:{id:t.agent}}),{data:o,loading:d,error:c}=(0,r.aM)(j.lk,{returnPartialData:!0,fetchPolicy:"network-only",nextFetchPolicy:"network-only",variables:{id:t.session}});return d||a?(0,n.jsx)("div",{children:(0,n.jsx)(ef.O,{className:"w-full h-full"})}):c||i?(0,n.jsxs)(l.bZ,{variant:"destructive",children:[(0,n.jsx)(u.LPM,{className:"size-4"}),(0,n.jsx)(l.Cd,{children:"Error"}),(0,n.jsxs)(l.X,{children:["Error loading agent ",(null==i?void 0:i.message)||(null==c?void 0:c.message),"."]})]}):(null==s?void 0:s.agentById)&&(null==o?void 0:o.agent_sessionById)?(0,n.jsx)(eb,{session:null==o?void 0:o.agent_sessionById,agent:s.agentById}):(0,n.jsxs)(l.bZ,{variant:"destructive",children:[(0,n.jsx)(u.LPM,{className:"size-4"}),(0,n.jsx)(l.Cd,{children:"Error"}),(0,n.jsx)(l.X,{children:"Agent or session not found."})]})}},92279:function(e,t,s){"use strict";var n=s(57437),a=s(7882),l=s(11713),r=s(78361);let i=e=>{let{agent:t,status:s,className:i}=e,{data:o}=(0,l.a)({queryKey:["defaultAnimation","idle"],queryFn:async()=>(await fetch("/agent-idle.json")).json(),staleTime:36e5,enabled:!t.animation_idle}),{data:d}=(0,l.a)({queryKey:["defaultAnimation","responding"],queryFn:async()=>(await fetch("/agent-responding.json")).json(),staleTime:36e5,enabled:!t.animation_responding}),{data:c}=(0,l.a)({queryKey:["customAnimation",t.animation_idle],queryFn:async()=>{if(!t.animation_idle)return null;let e=await (0,r.NF)(t.animation_idle);return(await fetch(e)).json()},enabled:!!t.animation_idle,staleTime:3e5}),{data:u}=(0,l.a)({queryKey:["customAnimation",t.animation_responding],queryFn:async()=>{if(!t.animation_responding)return null;let e=await (0,r.NF)(t.animation_responding);return(await fetch(e)).json()},enabled:!!t.animation_responding,staleTime:3e5}),{View:m}=(0,a.useLottie)((()=>{switch(s){case"submitted":case"ready":case"error":default:return{animationData:c||o,loop:!0,autoplay:!0};case"streaming":return{animationData:u||d,loop:!0,autoplay:!0}}})());return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{className:"",children:(0,n.jsx)("div",{className:i,children:m})})})};t.Z=e=>{let{agent:t,status:s,className:a}=e;return(0,n.jsx)(i,{className:a,agent:t,status:s})}},1828:function(e,t,s){"use strict";s.d(t,{r:function(){return i}});var n=s(57437),a=s(50721),l=s(2265),r=s(94508);let i=l.forwardRef((e,t)=>{let{className:s,...l}=e;return(0,n.jsx)(a.fC,{className:(0,r.cn)("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",s),...l,ref:t,children:(0,n.jsx)(a.bU,{className:(0,r.cn)("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})})});i.displayName=a.fC.displayName},87393:function(e,t,s){"use strict";s.d(t,{I:function(){return n}});let n=(e,t)=>{var s,n,a,l,r,i;let o="private"===e.rights_mode,d="public"===e.rights_mode,c="users"===e.rights_mode,u="roles"===e.rights_mode,m=t.super_admin,x=e.created_by===t.id.toString(),h=!1;return o&&x&&(h=!0),d&&(h=!0),c&&(h=(null===(a=e.RBAC)||void 0===a?void 0:null===(n=a.users)||void 0===n?void 0:null===(s=n.find(e=>e.id===t.id))||void 0===s?void 0:s.rights)==="write"),u&&(h=(null===(i=e.RBAC)||void 0===i?void 0:null===(r=i.roles)||void 0===r?void 0:null===(l=r.find(e=>{var s;return e.id===(null===(s=t.role)||void 0===s?void 0:s.id)}))||void 0===l?void 0:l.rights)==="write"),m&&(h=!0),h}}},function(e){e.O(0,[329,6840,8310,3954,4705,3611,6989,5987,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,5243,1785,3702,6839,9141,1713,6152,7119,3145,9183,6373,3832,4205,8824,1957,2971,2117,1744],function(){return e(e.s=395)}),_N_E=e.O()}]);
2
+ //# sourceMappingURL=page-62c7321ba26632af.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/chunks/app/(application)/chat/[agent]/[session]/page-62c7321ba26632af.js","mappings":"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","sources":["webpack://_N_E/?69f0","webpack://_N_E/./components/ai-elements/loader.tsx","webpack://_N_E/./components/ui/hover-card.tsx","webpack://_N_E/./components/ui/progress.tsx","webpack://_N_E/./components/ai-elements/context.tsx","webpack://_N_E/./components/ai-elements/tool.tsx","webpack://_N_E/./app/(application)/chat/[agent]/[session]/chat.tsx","webpack://_N_E/./app/(application)/chat/[agent]/[session]/page.tsx","webpack://_N_E/./components/lottie.tsx","webpack://_N_E/./components/ui/switch.tsx","webpack://_N_E/./lib/check-chat-session-write-access.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/chat/[agent]/[session]/page.tsx\");\n","import { cn } from '@/lib/utils';\nimport type { HTMLAttributes } from 'react';\n\ntype LoaderIconProps = {\n size?: number;\n};\n\nconst LoaderIcon = ({ size = 16 }: LoaderIconProps) => (\n <svg\n height={size}\n strokeLinejoin=\"round\"\n style={{ color: 'currentcolor' }}\n viewBox=\"0 0 16 16\"\n width={size}\n >\n <title>Loader</title>\n <g clipPath=\"url(#clip0_2393_1490)\">\n <path d=\"M8 0V4\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M8 16V12\"\n opacity=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M3.29773 1.52783L5.64887 4.7639\"\n opacity=\"0.9\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M12.7023 1.52783L10.3511 4.7639\"\n opacity=\"0.1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M12.7023 14.472L10.3511 11.236\"\n opacity=\"0.4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M3.29773 14.472L5.64887 11.236\"\n opacity=\"0.6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M15.6085 5.52783L11.8043 6.7639\"\n opacity=\"0.2\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M0.391602 10.472L4.19583 9.23598\"\n opacity=\"0.7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M15.6085 10.4722L11.8043 9.2361\"\n opacity=\"0.3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M0.391602 5.52783L4.19583 6.7639\"\n opacity=\"0.8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_2393_1490\">\n <rect fill=\"white\" height=\"16\" width=\"16\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport type LoaderProps = HTMLAttributes<HTMLDivElement> & {\n size?: number;\n};\n\nexport const Loader = ({ className, size = 16, ...props }: LoaderProps) => (\n <div\n className={cn(\n 'inline-flex animate-spin items-center justify-center',\n className\n )}\n {...props}\n >\n <LoaderIcon size={size} />\n </div>\n);\n","\"use client\";\n\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 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));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n","\"use client\";\n\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"size-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","\"use client\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n} from \"@/components/ui/hover-card\";\nimport { Progress } from \"@/components/ui/progress\";\nimport { cn } from \"@/lib/utils\";\nimport type { LanguageModelUsage } from \"ai\";\nimport { type ComponentProps, createContext, useContext } from \"react\";\nimport { estimateCost, type ModelId } from \"tokenlens\";\n\nconst PERCENT_MAX = 100;\nconst ICON_RADIUS = 10;\nconst ICON_VIEWBOX = 24;\nconst ICON_CENTER = 12;\nconst ICON_STROKE_WIDTH = 2;\n\ntype ContextSchema = {\n usedTokens: number;\n maxTokens: number;\n usage?: LanguageModelUsage;\n modelId?: ModelId;\n};\n\nconst ContextContext = createContext<ContextSchema | null>(null);\n\nconst useContextValue = () => {\n const context = useContext(ContextContext);\n\n if (!context) {\n throw new Error(\"Context components must be used within Context\");\n }\n\n return context;\n};\n\nexport type ContextProps = ComponentProps<typeof HoverCard> & ContextSchema;\n\nexport const Context = ({\n usedTokens,\n maxTokens,\n usage,\n modelId,\n ...props\n}: ContextProps) => (\n <ContextContext.Provider\n value={{\n usedTokens,\n maxTokens,\n usage,\n modelId,\n }}\n >\n <HoverCard closeDelay={0} openDelay={0} {...props} />\n </ContextContext.Provider>\n);\n\nconst ContextIcon = () => {\n const { usedTokens, maxTokens } = useContextValue();\n const circumference = 2 * Math.PI * ICON_RADIUS;\n const usedPercent = usedTokens / maxTokens;\n const dashOffset = circumference * (1 - usedPercent);\n\n return (\n <svg\n aria-label=\"Model context usage\"\n height=\"20\"\n role=\"img\"\n style={{ color: \"currentcolor\" }}\n viewBox={`0 0 ${ICON_VIEWBOX} ${ICON_VIEWBOX}`}\n width=\"20\"\n >\n <circle\n cx={ICON_CENTER}\n cy={ICON_CENTER}\n fill=\"none\"\n opacity=\"0.25\"\n r={ICON_RADIUS}\n stroke=\"currentColor\"\n strokeWidth={ICON_STROKE_WIDTH}\n />\n <circle\n cx={ICON_CENTER}\n cy={ICON_CENTER}\n fill=\"none\"\n opacity=\"0.7\"\n r={ICON_RADIUS}\n stroke=\"currentColor\"\n strokeDasharray={`${circumference} ${circumference}`}\n strokeDashoffset={dashOffset}\n strokeLinecap=\"round\"\n strokeWidth={ICON_STROKE_WIDTH}\n style={{ transformOrigin: \"center\", transform: \"rotate(-90deg)\" }}\n />\n </svg>\n );\n};\n\nexport type ContextTriggerProps = ComponentProps<typeof Button>;\n\nexport const ContextTrigger = ({ children, ...props }: ContextTriggerProps) => {\n const { usedTokens, maxTokens } = useContextValue();\n const usedPercent = usedTokens / maxTokens;\n const renderedPercent = new Intl.NumberFormat(\"en-US\", {\n style: \"percent\",\n maximumFractionDigits: 1,\n }).format(usedPercent);\n\n return (\n <HoverCardTrigger asChild>\n {children ?? (\n <Button type=\"button\" variant=\"ghost\" {...props}>\n <span className=\"font-medium text-muted-foreground\">\n {renderedPercent}\n </span>\n <ContextIcon />\n </Button>\n )}\n </HoverCardTrigger>\n );\n};\n\nexport type ContextContentProps = ComponentProps<typeof HoverCardContent>;\n\nexport const ContextContent = ({\n className,\n ...props\n}: ContextContentProps) => (\n <HoverCardContent\n className={cn(\"min-w-[240px] divide-y overflow-hidden p-0\", className)}\n {...props}\n />\n);\n\nexport type ContextContentHeader = ComponentProps<\"div\">;\n\nexport const ContextContentHeader = ({\n children,\n className,\n ...props\n}: ContextContentHeader) => {\n const { usedTokens, maxTokens } = useContextValue();\n const usedPercent = usedTokens / maxTokens;\n const displayPct = new Intl.NumberFormat(\"en-US\", {\n style: \"percent\",\n maximumFractionDigits: 1,\n }).format(usedPercent);\n const used = new Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n }).format(usedTokens);\n const total = new Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n }).format(maxTokens);\n\n return (\n <div className={cn(\"w-full space-y-2 p-3\", className)} {...props}>\n {children ?? (\n <>\n <div className=\"flex items-center justify-between gap-3 text-xs\">\n <p>{displayPct}</p>\n <p className=\"font-mono text-muted-foreground\">\n {used} / {total}\n </p>\n </div>\n <div className=\"space-y-2\">\n <Progress className=\"bg-muted\" value={usedPercent * PERCENT_MAX} />\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport type ContextContentBody = ComponentProps<\"div\">;\n\nexport const ContextContentBody = ({\n children,\n className,\n ...props\n}: ContextContentBody) => (\n <div className={cn(\"w-full p-3\", className)} {...props}>\n {children}\n </div>\n);\n\nexport type ContextContentFooter = ComponentProps<\"div\">;\n\nexport const ContextContentFooter = ({\n children,\n className,\n ...props\n}: ContextContentFooter) => {\n const { modelId, usage } = useContextValue();\n const costUSD = modelId\n ? estimateCost({\n modelId,\n usage: {\n input: usage?.inputTokens ?? 0,\n output: usage?.outputTokens ?? 0,\n },\n }).totalUSD\n : undefined;\n const totalCost = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(costUSD ?? 0);\n\n return (\n <div\n className={cn(\n \"flex w-full items-center justify-between gap-3 bg-secondary p-3 text-xs\",\n className\n )}\n {...props}\n >\n {children ?? (\n <>\n <span className=\"text-muted-foreground\">Total cost</span>\n <span>{totalCost}</span>\n </>\n )}\n </div>\n );\n};\n\nexport type ContextInputUsageProps = ComponentProps<\"div\">;\n\nexport const ContextInputUsage = ({\n className,\n children,\n ...props\n}: ContextInputUsageProps) => {\n const { usage, modelId } = useContextValue();\n const inputTokens = usage?.inputTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!inputTokens) {\n return null;\n }\n\n const inputCost = modelId\n ? estimateCost({\n modelId,\n usage: { input: inputTokens, output: 0 },\n }).totalUSD\n : undefined;\n const inputCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(inputCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Input</span>\n <TokensWithCost costText={inputCostText} tokens={inputTokens} />\n </div>\n );\n};\n\nexport type ContextOutputUsageProps = ComponentProps<\"div\">;\n\nexport const ContextOutputUsage = ({\n className,\n children,\n ...props\n}: ContextOutputUsageProps) => {\n const { usage, modelId } = useContextValue();\n const outputTokens = usage?.outputTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!outputTokens) {\n return null;\n }\n\n const outputCost = modelId\n ? estimateCost({\n modelId,\n usage: { input: 0, output: outputTokens },\n }).totalUSD\n : undefined;\n const outputCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(outputCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Output</span>\n <TokensWithCost costText={outputCostText} tokens={outputTokens} />\n </div>\n );\n};\n\nexport type ContextReasoningUsageProps = ComponentProps<\"div\">;\n\nexport const ContextReasoningUsage = ({\n className,\n children,\n ...props\n}: ContextReasoningUsageProps) => {\n const { usage, modelId } = useContextValue();\n const reasoningTokens = usage?.reasoningTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!reasoningTokens) {\n return null;\n }\n\n const reasoningCost = modelId\n ? estimateCost({\n modelId,\n usage: { reasoningTokens },\n }).totalUSD\n : undefined;\n const reasoningCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(reasoningCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Reasoning</span>\n <TokensWithCost costText={reasoningCostText} tokens={reasoningTokens} />\n </div>\n );\n};\n\nexport type ContextCacheUsageProps = ComponentProps<\"div\">;\n\nexport const ContextCacheUsage = ({\n className,\n children,\n ...props\n}: ContextCacheUsageProps) => {\n const { usage, modelId } = useContextValue();\n const cacheTokens = usage?.cachedInputTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!cacheTokens) {\n return null;\n }\n\n const cacheCost = modelId\n ? estimateCost({\n modelId,\n usage: { cacheReads: cacheTokens, input: 0, output: 0 },\n }).totalUSD\n : undefined;\n const cacheCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(cacheCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Cache</span>\n <TokensWithCost costText={cacheCostText} tokens={cacheTokens} />\n </div>\n );\n};\n\nconst TokensWithCost = ({\n tokens,\n costText,\n}: {\n tokens?: number;\n costText?: string;\n}) => (\n <span>\n {tokens === undefined\n ? \"—\"\n : new Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n }).format(tokens)}\n {costText ? (\n <span className=\"ml-2 text-muted-foreground\">• {costText}</span>\n ) : null}\n </span>\n);\n","'use client';\n\nimport { Badge } from '@/components/ui/badge';\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '@/components/ui/collapsible';\nimport { cn } from '@/lib/utils';\nimport type { ToolUIPart } from 'ai';\nimport {\n CheckCircleIcon,\n ChevronDownIcon,\n CircleIcon,\n ClockIcon,\n WrenchIcon,\n XCircleIcon,\n} from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { CodeBlock } from './code-block';\n\nexport type ToolProps = ComponentProps<typeof Collapsible>;\n\nexport const Tool = ({ className, ...props }: ToolProps) => (\n <Collapsible\n className={cn('not-prose mb-4 w-full rounded-md border', className)}\n {...props}\n />\n);\n\nexport type ToolHeaderProps = {\n type: ToolUIPart['type'];\n state: ToolUIPart['state'];\n className?: string;\n};\n\nconst getStatusBadge = (status: ToolUIPart['state']) => {\n const labels = {\n 'input-streaming': 'Pending',\n 'input-available': 'Running',\n 'output-available': 'Completed',\n 'output-error': 'Error',\n } as const;\n\n const icons = {\n 'input-streaming': <CircleIcon className=\"size-4 mr-2\" />,\n 'input-available': <ClockIcon className=\"size-4 animate-pulse mr-2\" />,\n 'output-available': <CheckCircleIcon className=\"size-4 text-green-600 mr-2\" />,\n 'output-error': <XCircleIcon className=\"size-4 text-red-600 mr-2\" />,\n } as const;\n\n return (\n <Badge className=\"rounded-full text-xs\" variant=\"secondary\">\n {icons[status]}\n {labels[status]}\n </Badge>\n );\n};\n\nexport const ToolHeader = ({\n className,\n type,\n state,\n ...props\n}: ToolHeaderProps) => (\n <CollapsibleTrigger\n className={cn(\n 'flex w-full items-center justify-between gap-4 p-3',\n className\n )}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n <WrenchIcon className=\"size-4 text-muted-foreground\" />\n <span className=\"font-medium text-sm\">{type}</span>\n {getStatusBadge(state)}\n </div>\n <ChevronDownIcon className=\"size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180\" />\n </CollapsibleTrigger>\n);\n\nexport type ToolContentProps = ComponentProps<typeof CollapsibleContent>;\n\nexport const ToolContent = ({ className, ...props }: ToolContentProps) => (\n <CollapsibleContent\n className={cn(\n 'data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in',\n className\n )}\n {...props}\n />\n);\n\nexport type ToolInputProps = ComponentProps<'div'> & {\n input: ToolUIPart['input'];\n};\n\nexport const ToolInput = ({ className, input, ...props }: ToolInputProps) => (\n <div className={cn('space-y-2 overflow-hidden p-4', className)} {...props}>\n <h4 className=\"font-medium text-muted-foreground text-xs uppercase tracking-wide\">\n Parameters\n </h4>\n <div className=\"rounded-md bg-muted/50\">\n <CodeBlock code={JSON.stringify(input, null, 2)} language=\"json\" />\n </div>\n </div>\n);\n\nexport type ToolOutputProps = ComponentProps<'div'> & {\n output: ReactNode;\n errorText: ToolUIPart['errorText'];\n};\n\nexport const ToolOutput = ({\n className,\n output,\n errorText,\n ...props\n}: ToolOutputProps): JSX.Element => {\n if (!(output || errorText)) {\n return <></>;\n }\n\n return (\n <div className={cn('space-y-2 p-4', className)} {...props}>\n <h4 className=\"font-medium text-muted-foreground text-xs tracking-wide\">\n {errorText ? 'Error' : 'Result'}\n </h4>\n <div\n className={cn(\n 'overflow-x-auto rounded-md text-xs [&_table]:w-full p-5',\n errorText\n ? 'bg-destructive/10 text-destructive'\n : 'bg-muted/50 text-foreground'\n )}\n >\n {errorText && <div>{errorText}</div>}\n {output && <div>{output}</div>}\n </div>\n </div>\n );\n};\n","\"use client\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { ChatRequestOptions, DefaultChatTransport, DynamicToolUIPart, FileUIPart, lastAssistantMessageIsCompleteWithToolCalls, UIMessage } from \"ai\";\nimport { useChat } from '@ai-sdk/react';\nimport * as React from \"react\";\nimport { useContext, useEffect, useState, useMemo } from \"react\";\nimport { UserContext } from \"@/app/(application)/authenticated\";\nimport { StopIcon } from \"@radix-ui/react-icons\";\nimport { AgentMessage, AgentSession } from \"@EXULU_SHARED/models/agent-session\";\nimport { Loader } from '@/components/ai-elements/loader';\nimport TextareaAutosize from \"react-textarea-autosize\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport {\n GET_AGENT_MESSAGES,\n GET_USER_BY_ID,\n UPDATE_AGENT_SESSION_RBAC,\n} from \"@/queries/queries\";\nimport { getToken } from \"@/util/api\"\nimport { Agent } from \"@EXULU_SHARED/models/agent\";\nimport Image from \"next/image\";\nimport { ConfigContext } from \"@/components/config-context\";\nimport { Workflow, Plus, ArrowUp, ChevronsUpDown } from \"lucide-react\";\nimport { useToast } from \"@/components/ui/use-toast\"\nimport { SaveWorkflowModal } from \"@/components/save-workflow-modal\";\nimport { Button } from \"@/components/ui/button\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Conversation, ConversationContent } from \"@/components/ai-elements/conversation\";\nimport { useIsMobile } from \"@/hooks/use-mobile\";\nimport { RBACControl } from \"@/components/rbac\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\";\nimport { Loading } from \"@/components/ui/loading\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { checkChatSessionWriteAccess } from \"@/lib/check-chat-session-write-access\";\nimport UppyDashboard, { FileItem, getPresignedUrl } from \"@/components/uppy-dashboard\";\nimport { Item } from \"@/types/models/item\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport {\n Context,\n ContextTrigger,\n ContextContent,\n ContextContentHeader,\n ContextContentBody,\n ContextInputUsage,\n ContextOutputUsage,\n ContextReasoningUsage,\n ContextCacheUsage,\n} from '@/components/ai-elements/context';\nimport { Progress } from \"@/components/ui/progress\";\nimport {\n Tool,\n ToolContent,\n ToolHeader,\n ToolOutput,\n ToolInput,\n} from '@/components/ai-elements/tool';\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { MessageRenderer } from \"@/components/message-renderer\";\nimport { Response } from '@/components/ai-elements/response';\nimport AgentVisual from \"@/components/lottie\";\nimport { useTheme } from \"next-themes\";\nimport Logo from \"@/components/logo\";\nexport interface ChatProps {\n chatId?: string;\n agentId?: string;\n messages?: UIMessage[];\n input?: string;\n handleInputChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n addToolResult?: any\n handleSubmit?: (\n e: React.FormEvent<HTMLFormElement>,\n chatRequestOptions?: ChatRequestOptions,\n ) => void;\n isLoading: boolean;\n onFilesSelected: (file: any[]) => void;\n error?: undefined | Error;\n stop?: () => void;\n}\n\nexport function ChatLayout({ session, agent }: { session: AgentSession, agent: Agent }) {\n\n const [error, setError] = useState<string | null>(null);\n const configContext = React.useContext(ConfigContext);\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const [files, setFiles] = useState<FileUIPart[] | null>(null);\n const [items, setItems] = useState<string[] | null>(null);\n const { user } = useContext(UserContext);\n const [copyingTableId, setCopyingTableId] = useState<string | null>(null);\n const [showSaveWorkflowModal, setShowSaveWorkflowModal] = useState(false);\n const [input, setInput] = useState('');\n const [disabledTools, setDisabledTools] = useState<string[]>([]);\n const inputRef = React.useRef<HTMLTextAreaElement>(null);\n const { toast } = useToast()\n\n const [rbac, setRbac] = useState({\n rights_mode: session?.rights_mode || 'private',\n users: session?.RBAC?.users || [],\n roles: session?.RBAC?.roles || [],\n projects: session?.RBAC?.projects || []\n })\n\n const creatorQuery = useQuery(GET_USER_BY_ID, {\n variables: { id: session.created_by },\n skip: !session.created_by\n })\n\n\n const [updateAgentSessionRbac, updateAgentSessionRbacResult] = useMutation(UPDATE_AGENT_SESSION_RBAC);\n const [tokenCounts, setTokenCounts] = useState<MessageMetadata>({\n totalTokens: 0,\n reasoningTokens: 0,\n inputTokens: 0,\n outputTokens: 0,\n cachedInputTokens: 0\n });\n\n useQuery<{\n agent_messagesPagination: {\n items: AgentMessage[]\n };\n }>(GET_AGENT_MESSAGES, {\n returnPartialData: true,\n fetchPolicy: \"network-only\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: 1,\n limit: 50,\n filters: {\n session: {\n eq: session.id\n }\n },\n },\n onCompleted: (data) => {\n if (data?.agent_messagesPagination) {\n const messages = data?.agent_messagesPagination.items.map((item) => (JSON.parse(item.content)))\n setMessages(messages as any[]);\n }\n },\n });\n\n const {\n messages,\n sendMessage,\n status,\n stop,\n regenerate,\n setMessages,\n addToolResult\n } = useChat({\n sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,\n // Throttle the messages and data updates to 50ms:\n experimental_throttle: 50,\n async onToolCall({ toolCall }) {\n // Check if it's a dynamic tool first for proper type narrowing\n if (toolCall.dynamic) {\n return;\n }\n\n if (toolCall.toolName === 'getLocation') {\n const cities = ['New York', 'Los Angeles', 'Chicago', 'San Francisco'];\n\n // No await - avoids potential deadlocks\n addToolResult({\n tool: 'confirm-tool-call',\n toolCallId: toolCall.toolCallId,\n output: cities[Math.floor(Math.random() * cities.length)],\n });\n }\n },\n onError: (error) => {\n console.log(\"error!!\", error?.message)\n try {\n const { message } = JSON.parse(error?.message)\n setError(message)\n } catch (x) {\n setError(error.message)\n }\n },\n transport: new DefaultChatTransport({\n api: `${configContext?.backend}${agent.slug}/${agent.id}`,\n // only send the last message to the server: we load\n // the history from the database.\n prepareSendMessagesRequest: async ({ messages, id: chatId, body }) => {\n const token = await getToken()\n if (!token) {\n throw new Error(\"No valid session token available.\")\n }\n return {\n body: {\n ...body,\n message: messages[messages.length - 1],\n id: chatId,\n session: session.id,\n }, headers: {\n User: user.id,\n Session: session.id,\n Authorization: `Bearer ${token}`,\n Stream: \"true\"\n }\n };\n },\n })\n });\n\n type MessageMetadata = {\n totalTokens: number;\n reasoningTokens: number;\n inputTokens: number;\n outputTokens: number;\n cachedInputTokens: number;\n }\n\n useEffect(() => {\n const totalCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.totalTokens || 0);\n }, 0);\n const reasoningCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.reasoningTokens || 0);\n }, 0);\n const inputCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.inputTokens || 0);\n }, 0);\n const outputCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.outputTokens || 0);\n }, 0);\n const cachedInputCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.cachedInputTokens || 0);\n }, 0);\n setTokenCounts({\n totalTokens: totalCount,\n reasoningTokens: reasoningCount,\n inputTokens: inputCount,\n outputTokens: outputCount,\n cachedInputTokens: cachedInputCount\n })\n }, [messages])\n\n // Check if conversation has enough content for a workflow\n const canCreateWorkflow = useMemo(() => {\n const userMessages = messages?.filter(m => m.role === 'user') || [];\n const assistantMessages = messages?.filter(m => m.role === 'assistant') || [];\n return userMessages.length >= 1 && assistantMessages.length >= 1;\n }, [messages]);\n\n const convertTableToCSV = (tableElement: HTMLTableElement): string => {\n const rows = Array.from(tableElement.querySelectorAll('tr'));\n const csvRows: string[] = [];\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('th, td'));\n const csvRow = cells.map(cell => {\n // Escape quotes and wrap in quotes if contains comma, newline, or quote\n let text = cell.textContent || '';\n text = text.replace(/\"/g, '\"\"');\n if (text.includes(',') || text.includes('\\n') || text.includes('\"')) {\n text = `\"${text}\"`;\n }\n return text;\n });\n csvRows.push(csvRow.join(','));\n });\n\n return csvRows.join('\\n');\n };\n\n const copyTableAsCSV = async (tableElement: HTMLTableElement, tableId: string) => {\n setCopyingTableId(tableId);\n\n try {\n const csv = convertTableToCSV(tableElement);\n await navigator.clipboard.writeText(csv);\n\n toast({\n title: \"Table copied!\",\n description: \"Table data has been copied to clipboard as CSV\",\n });\n\n // Reset the copying state after a short delay\n setTimeout(() => {\n setCopyingTableId(null);\n }, 2000);\n } catch (err) {\n toast({\n title: \"Copy failed\",\n description: \"Failed to copy table to clipboard\",\n variant: \"destructive\",\n });\n setCopyingTableId(null);\n }\n };\n\n const onSubmit = async (\n e: React.FormEvent,\n options?: ChatRequestOptions,\n ) => {\n e.preventDefault();\n sendMessage({\n text: input,\n files: files || []\n }, {\n body: {\n disabledTools: disabledTools,\n },\n });\n setInput('');\n };\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n onSubmit(e as unknown as React.FormEvent<HTMLFormElement>);\n }\n };\n\n const toggleTool = (id: string) => {\n setDisabledTools(prev =>\n prev.includes(id)\n ? prev.filter(name => name !== id)\n : [...prev, id]\n );\n };\n\n const writeAccess = checkChatSessionWriteAccess(session, user);\n\n const updateMessageFiles = async (items: Item[]) => {\n const files = await Promise.all(items.map(async (item) => {\n\n if (!item.s3key) {\n // Take all item fields and turn into a data url\n let content = \"\";\n Object.entries(item).forEach(([key, value]) => {\n content += `${key}: ${value}\\n`\n })\n return {\n type: \"file\" as const,\n mediaType: item.type,\n filename: item.name,\n url: `data:text/plain;base64,${btoa(content)}`\n }\n }\n\n return {\n type: \"file\" as const,\n mediaType: item.type,\n filename: item.name,\n url: await getPresignedUrl(item.s3key)\n }\n\n }))\n setFiles(files)\n }\n\n useEffect(() => {\n if (!items) {\n setFiles(null)\n return;\n }\n updateMessageFiles(items.map(item => ({\n s3key: item,\n name: item,\n type: \"file\"\n })))\n }, [items])\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mx-auto relative size-full\">\n <div className=\"flex h-full w-full\">\n {/* Main conversation area */}\n <div className=\"flex flex-col flex-1 pb-6\">\n {/* @ts-ignore */}\n <Conversation className=\"overflow-y-hidden\">\n {/* Save as Workflow button - appears when conversation has content */}\n {canCreateWorkflow ? (\n <div className=\"flex justify-between absolute top-0 left-0 right-0 items-center px-4 py-2 border-b z-10 dark:bg-black bg-white\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Workflow className=\"w-4 h-4\" />\n Turn this conversation into a reusable workflow\n </div>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => setShowSaveWorkflowModal(true)}\n >\n <Plus className=\"w-4 h-4 mr-2\" />\n Save as Workflow\n </Button>\n </div>\n ) : null}\n {\n /* Show a bar that fills up depending on the total tokens used */\n agent.maxContextLength ? (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <div className={`absolute w-full ${canCreateWorkflow ? 'top-10' : 'top-0'}`}>\n <Progress className=\"w-full rounded-none\" value={tokenCounts.totalTokens / agent.maxContextLength * 100} />\n <div className=\"justify-between flex felx-row\">\n <div></div>\n <Context\n maxTokens={agent.maxContextLength || 0}\n usedTokens={tokenCounts.totalTokens}\n usage={{\n inputTokens: tokenCounts.inputTokens,\n outputTokens: tokenCounts.outputTokens,\n totalTokens: tokenCounts.totalTokens,\n cachedInputTokens: tokenCounts.cachedInputTokens,\n reasoningTokens: tokenCounts.reasoningTokens,\n }}>\n <ContextTrigger />\n <ContextContent>\n <ContextContentHeader />\n <ContextContentBody>\n {/* @ts-ignore */}\n <ContextInputUsage />\n {/* @ts-ignore */}\n <ContextOutputUsage />\n {/* @ts-ignore */}\n <ContextReasoningUsage />\n {/* @ts-ignore */}\n <ContextCacheUsage />\n </ContextContentBody>\n </ContextContent>\n </Context>\n </div>\n </div>\n </TooltipTrigger>\n <TooltipContent>\n <p>{Intl.NumberFormat('en-US').format(tokenCounts.totalTokens)} / {Intl.NumberFormat('en-US').format(agent.maxContextLength)} tokens in the context window used.</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n ) : null}\n {messages?.length === 0 ?\n <div className=\"size-full flex justify-center items-center\">\n <div className=\"flex flex-col gap-4 items-center max-w-2xl w-full px-4 my-auto\">\n <Logo alt=\"Logo\" width={120} height={120} className=\"h-30 w-40 object-contain\" />\n <p className=\"text-center text-lg text-muted-foreground\">\n How can I help you today?\n </p>\n\n <AgentVisual agent={agent} status={status} className=\"w-80\"/>\n\n {/* Workflow Banner for new users */}\n <Card className=\"w-full mb-6\">\n <CardHeader className=\"text-center\">\n <CardTitle className=\"flex items-center justify-center gap-2\">\n <Workflow className=\"w-5 h-5\" />\n Create Reusable Workflows\n </CardTitle>\n <CardDescription>\n Turn your conversations into templates that can be reused with different inputs. Perfect for recurring tasks and processes.\n </CardDescription>\n </CardHeader>\n <CardContent className=\"text-center\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled\n className=\"text-muted-foreground\"\n >\n <Plus className=\"w-4 h-4 mr-2\" />\n Save as Workflow\n <span className=\"ml-2 text-xs\">(Available after chatting)</span>\n </Button>\n </CardContent>\n </Card>\n </div>\n </div> : null}\n {/* @ts-ignore */}\n <ConversationContent className=\"px-6\">\n {messages?.length > 0 && (\n <MessageRenderer\n messages={messages}\n config={{\n marginTopFirstMessage: 'mt-12'\n }}\n status={status}\n onRegenerate={regenerate}\n onAddToolResult={addToolResult}\n UntypedToolPartComponent={UntypedToolPart}\n addToContext={(item) => {\n setItems([...(items || []), item])\n }}\n writeAccess={writeAccess}\n />\n )}\n\n {status === \"streaming\" ? <Loader /> : null}\n\n </ConversationContent>\n </Conversation>\n {\n !writeAccess && (\n <div className=\"px-6 mx-auto mt-3\">\n <Badge variant=\"outline\">Read access only</Badge>\n </div>\n )\n }\n {error && (\n <div className=\"mx-5\">\n <Alert className=\"mb-3\" variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error}\n </AlertDescription>\n </Alert>\n </div>\n )}\n {writeAccess && (\n <form\n onSubmit={onSubmit}\n className=\"px-6 border-input border rounded flex mx-5 p-5 flex-col gap-2\">\n <div className=\"items-center flex relative gap-2 w-full\">\n {\n configContext?.fileUploads?.s3endpoint && (<UppyDashboard\n id={`chat-${session.id}`}\n selectionLimit={10}\n allowedFileTypes={[\n ...agent.capabilities?.audio || [],\n ...agent.capabilities?.video || [],\n ...agent.capabilities?.files || [],\n ...agent.capabilities?.images || [],\n ]}\n dependencies={[]}\n onConfirm={(items) => {\n setItems(items)\n }}\n />)\n }\n <TextareaAutosize\n autoComplete=\"off\"\n autoFocus={true}\n minRows={1}\n value={input}\n ref={inputRef}\n onKeyDown={handleKeyPress}\n onChange={(e) => setInput(e.target.value)}\n name=\"message\"\n placeholder={`Ask me anything...`}\n className=\"max-h-40 px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full items-center h-28 resize-none overflow-hidden dark:bg-card/35\"\n />\n {status !== \"streaming\" ? (\n <Button\n className=\"shrink-0\"\n variant=\"secondary\"\n size=\"icon\"\n disabled={status === \"submitted\" || !input?.trim()}\n >\n <ArrowUp className=\" size-6 text-muted-foreground\" />\n </Button>\n ) : (\n <Button\n className=\"shrink-0\"\n variant=\"secondary\"\n size=\"icon\"\n onClick={stop}\n >\n <StopIcon className=\"size-6 text-muted-foreground\" />\n </Button>\n )}\n </div>\n <div className=\"grid grid-cols-3 sm:grid-cols-4 gap-3\">\n {/* Show selected files */}\n {items?.map((item) => (\n <FileItem s3Key={item} disabled={true} active={false} onRemove={() => {\n setItems(items?.filter((i) => i !== item))\n }} />\n ))}\n </div>\n </form>\n )}\n {/* Save Workflow Modal */}\n <SaveWorkflowModal\n isOpen={showSaveWorkflowModal}\n onClose={() => setShowSaveWorkflowModal(false)}\n messages={messages || []}\n sessionTitle={session.title}\n />\n </div>\n\n {/* Agent Details Sidebar */}\n {writeAccess && (\n <div className=\"w-80 border-l bg-muted/20 p-4 space-y-4\">\n {\n messages?.length > 0 && (\n <div>\n <AgentVisual agent={agent} status={status} className=\"w-80\" />\n </div>\n )\n }\n <div>\n <p className=\"text-sm font-medium text-center\">{agent.name}</p>\n </div>\n {agent.description && (\n <p className=\"text-xs text-muted-foreground mt-1\">\n {agent.description}\n </p>\n )}\n <hr className=\"my-2\" />\n <div className=\"mt-1\">\n <div className=\"border rounded\">\n {\n creatorQuery.loading && (\n <div className=\"flex flex-row justify-between p-3\">\n <p className=\"text-sm font-medium\">Session created by</p>\n <Loading className=\"ml-2\" />\n </div>\n )\n }\n {creatorQuery.data?.userById && !creatorQuery.loading && (\n <div className=\"flex flex-row justify-between p-3\">\n <p className=\"text-sm font-medium\">Session created by</p>\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n <p className=\"text-sm font-medium capitalize\">{creatorQuery.data.userById.name}</p>\n </div>\n </div>\n )}\n </div>\n </div>\n <div>\n <p className=\"text-xs font-medium text-muted-foreground pt-2\">\n You can disable tools for individual messages in this session by clicking the switch:</p>\n <TooltipProvider>\n <div className=\"space-y-1 pt-2\">\n {agent.tools && agent.tools.length > 0 ? (\n agent.tools.map((tool) => {\n const isEnabled = !disabledTools.includes(tool.id);\n return (\n <Tooltip key={tool.name}>\n <TooltipTrigger asChild>\n <div className=\"p-2 rounded-md border text-xs bg-background flex items-center justify-between\">\n <p className=\"font-medium flex items-center gap-2\">\n {tool.name}\n </p>\n <Switch\n checked={isEnabled}\n onCheckedChange={() => toggleTool(tool.id)}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n <p className=\"max-w-[200px] text-wrap\">{tool.description}</p>\n </TooltipContent>\n </Tooltip>\n );\n })\n ) : (\n <p className=\"text-xs text-muted-foreground\">No tools enabled.</p>\n )}\n </div>\n </TooltipProvider>\n </div>\n <div className=\"mt-1\">\n <Collapsible className=\"border rounded\">\n <CardHeader className=\"px-3 py-1\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col\">\n <p className=\"text-sm font-medium\">\n Access control ({session.rights_mode})\n </p>\n </div>\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-8\">\n <ChevronsUpDown className=\"size-4\" />\n <span className=\"sr-only\">Toggle</span>\n </Button>\n </CollapsibleTrigger>\n </div>\n </CardHeader>\n <CollapsibleContent>\n <CardContent className=\"space-y-4 p-3\">\n <RBACControl\n allowedModes={['private', 'users', 'roles', 'projects']}\n initialRightsMode={session.rights_mode}\n initialUsers={session.RBAC?.users}\n initialRoles={session.RBAC?.roles}\n initialProjects={session.RBAC?.projects}\n onChange={(rights_mode, users, roles, projects) => {\n setRbac({\n rights_mode,\n users,\n roles,\n projects\n })\n }}\n />\n <Button disabled={updateAgentSessionRbacResult.loading} onClick={() => {\n updateAgentSessionRbac({\n variables: {\n id: session.id,\n rights_mode: rbac.rights_mode,\n RBAC: {\n users: rbac.users,\n roles: rbac.roles,\n projects: rbac.projects\n }\n }\n })\n }}>Save access rights {updateAgentSessionRbacResult.loading && <Loading className=\"ml-2\" />} </Button>\n </CardContent>\n </CollapsibleContent>\n </Collapsible>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\n\nconst UntypedToolPart = ({ untypedToolPart, callId, addToContext }: { untypedToolPart: DynamicToolUIPart, callId: string, addToContext: (item: string) => void }) => {\n\n const output = untypedToolPart.output as any;\n console.log(\"output\", output)\n // Replace - and _, replace 'tool-' prefix\n let styleToolName = untypedToolPart.type?.replace(/ /g, \"-\")\n styleToolName = styleToolName?.replace(/tool-/g, \"\")\n styleToolName = styleToolName?.replace(/_/g, \" \")\n styleToolName = styleToolName?.charAt(0).toUpperCase() + styleToolName?.slice(1)\n\n return <Tool key={callId} className=\"mt-3\" defaultOpen={false}>\n <ToolHeader className=\"capitalize\" type={styleToolName as `tool-${string}`} state={untypedToolPart.state} />\n <ToolContent>\n <ToolInput input={untypedToolPart.input} />\n {\n output?.items?.length ? <div className=\"grid grid-cols-3 sm:grid-cols-4 gap-3 px-4 pb-4\">\n {output.items.map((item) => <FileItem addToContext={(item) => {\n addToContext(item)\n }} s3Key={item} disabled={true} active={false} />)}\n </div> :\n <ToolOutput\n output={\n output ?\n <Response>\n {typeof output === 'string' ?\n output : JSON.stringify(output, null, 2)\n }\n </Response>\n : !untypedToolPart.errorText && <Skeleton className=\"h-4 w-full\" />\n }\n errorText={untypedToolPart.errorText}\n />\n }\n </ToolContent>\n </Tool>\n}","\"use client\"\n\nimport * as React from \"react\";\nimport { ChatLayout } from \"@/app/(application)/chat/[agent]/[session]/chat\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport { Agent } from \"@EXULU_SHARED/models/agent\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { useQuery } from \"@apollo/client\";\nimport { GET_AGENT_BY_ID, GET_AGENT_SESSION_BY_ID } from \"@/queries/queries\";\nimport { AgentSession } from \"@/types/models/agent-session\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function SessionsPage({\n params,\n}: {\n params: { session: string, agent: string };\n}) {\n\n const { data: agentData, loading: agentLoading, error: agentError } = useQuery<{\n agentById: Agent\n }>(GET_AGENT_BY_ID, {\n variables: {\n id: params.agent,\n },\n });\n\n const { data: sessionData, loading: sessionLoading, error: sessionError } = useQuery<{\n agent_sessionById: AgentSession;\n }>(GET_AGENT_SESSION_BY_ID, {\n returnPartialData: true,\n fetchPolicy: \"network-only\",\n nextFetchPolicy: \"network-only\",\n variables: {\n id: params.session\n },\n });\n\n if (sessionLoading || agentLoading) {\n return <div>\n <Skeleton className=\"w-full h-full\" />\n </div>\n }\n\n if (sessionError || agentError) {\n return <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n Error loading agent {agentError?.message || sessionError?.message}.\n </AlertDescription>\n </Alert>\n }\n\n if (!agentData?.agentById || !sessionData?.agent_sessionById) {\n return <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n Agent or session not found.\n </AlertDescription>\n </Alert>\n }\n\n return <ChatLayout session={sessionData?.agent_sessionById} agent={agentData.agentById} />;\n}\n","\"use client\";\n\nimport { Agent } from \"@/types/models/agent\";\nimport { useLottie } from \"lottie-react\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getPresignedUrl } from \"./uppy-dashboard\";\n\nconst AgentVisual = ({ agent, status, className }: { agent: Agent, status: 'submitted' | 'streaming' | 'ready' | 'error', className?: string }) => {\n return <LottieVisual className={className} agent={agent} status={status} />\n};\n\nconst LottieVisual = ({ agent, status, className }: { agent: Agent, status: 'submitted' | 'streaming' | 'ready' | 'error', className?: string }) => {\n\n const { data: defaultIdleData } = useQuery({\n queryKey: ['defaultAnimation', 'idle'],\n queryFn: async () => {\n const response = await fetch(\"/agent-idle.json\");\n return response.json();\n },\n staleTime: 60 * 60 * 1000, // 1 hour\n enabled: !agent.animation_idle,\n });\n\n const { data: defaultRespondingData } = useQuery({\n queryKey: ['defaultAnimation', 'responding'],\n queryFn: async () => {\n const response = await fetch(\"/agent-responding.json\");\n return response.json();\n },\n staleTime: 60 * 60 * 1000, // 1 hour\n enabled: !agent.animation_responding,\n });\n\n // Fetch custom animation data if available\n const { data: customIdleData } = useQuery({\n queryKey: ['customAnimation', agent.animation_idle],\n queryFn: async () => {\n if (!agent.animation_idle) return null;\n const url = await getPresignedUrl(agent.animation_idle);\n const response = await fetch(url);\n return response.json();\n },\n enabled: !!agent.animation_idle,\n staleTime: 5 * 60 * 1000, // 5 minutes\n });\n\n const { data: customRespondingData } = useQuery({\n queryKey: ['customAnimation', agent.animation_responding],\n queryFn: async () => {\n if (!agent.animation_responding) return null;\n const url = await getPresignedUrl(agent.animation_responding);\n const response = await fetch(url);\n return response.json();\n },\n enabled: !!agent.animation_responding,\n staleTime: 5 * 60 * 1000, // 5 minutes\n });\n\n // Map status to animation configuration\n const getAnimationOptions = () => {\n switch (status) {\n case 'submitted':\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n case 'streaming':\n return {\n animationData: customRespondingData || defaultRespondingData,\n loop: true,\n autoplay: true,\n };\n case 'ready':\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n case 'error':\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n default:\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n }\n };\n\n const { View } = useLottie(getAnimationOptions());\n\n return (\n <>\n <div className=\"\">\n <div className={className}>{View}</div>\n </div>\n </>\n );\n}\n\nexport default AgentVisual;","\"use client\";\n\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\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","LoaderIcon","size","param","jsx_runtime","jsxs","svg","height","strokeLinejoin","style","color","viewBox","width","jsx","title","g","clipPath","path","d","stroke","strokeWidth","opacity","defs","id","rect","fill","Loader","className","props","div","cn","HoverCard","HoverCardPrimitive","HoverCardTrigger","HoverCardContent","React","ref","align","sideOffset","displayName","Progress","value","ProgressPrimitive","transform","concat","ContextContext","createContext","useContextValue","context","useContext","Context","usedTokens","maxTokens","usage","modelId","Provider","closeDelay","openDelay","ContextIcon","circumference","Math","PI","aria-label","role","ICON_VIEWBOX","circle","cx","cy","r","strokeDasharray","strokeDashoffset","usedPercent","strokeLinecap","transformOrigin","ContextTrigger","children","renderedPercent","Intl","NumberFormat","maximumFractionDigits","format","asChild","Button","type","variant","span","ContextContent","ContextContentHeader","displayPct","used","notation","total","Fragment","p","ContextContentBody","ContextInputUsage","inputTokens","inputCost","estimateCost","input","output","totalUSD","undefined","inputCostText","currency","TokensWithCost","costText","tokens","ContextOutputUsage","outputTokens","outputCost","outputCostText","ContextReasoningUsage","reasoningTokens","reasoningCost","reasoningCostText","ContextCacheUsage","cacheTokens","cachedInputTokens","cacheCost","cacheReads","cacheCostText","Tool","Collapsible","getStatusBadge","icons","CircleIcon","ClockIcon","CheckCircleIcon","XCircleIcon","Badge","status","labels","ToolHeader","state","CollapsibleTrigger","WrenchIcon","ChevronDownIcon","ToolContent","CollapsibleContent","ToolInput","h4","CodeBlock","code","JSON","stringify","language","ToolOutput","errorText","ChatLayout","session","configContext","agent","creatorQuery","error","setError","useState","ConfigContext","useIsMobile","theme","useTheme","files","setFiles","items","setItems","user","UserContext","copyingTableId","setCopyingTableId","showSaveWorkflowModal","setShowSaveWorkflowModal","setInput","disabledTools","setDisabledTools","inputRef","toast","useToast","rbac","setRbac","rights_mode","users","RBAC","roles","projects","useQuery","GET_USER_BY_ID","variables","created_by","skip","updateAgentSessionRbac","updateAgentSessionRbacResult","useMutation","UPDATE_AGENT_SESSION_RBAC","tokenCounts","setTokenCounts","totalTokens","GET_AGENT_MESSAGES","returnPartialData","fetchPolicy","nextFetchPolicy","page","limit","filters","eq","onCompleted","data","agent_messagesPagination","setMessages","map","parse","item","content","messages","sendMessage","stop","regenerate","addToolResult","useChat","sendAutomaticallyWhen","lastAssistantMessageIsCompleteWithToolCalls","experimental_throttle","onToolCall","toolCall","dynamic","toolName","cities","tool","toolCallId","floor","random","length","onError","console","log","message","x","transport","DefaultChatTransport","api","backend","slug","prepareSendMessagesRequest","chatId","body","token","getToken","headers","User","Session","Authorization","Stream","useEffect","totalCount","reduce","acc","messageMetadata","metadata","reasoningCount","canCreateWorkflow","useMemo","userMessages","filter","m","assistantMessages","onSubmit","e","options","preventDefault","text","toggleTool","prev","includes","name","writeAccess","checkChatSessionWriteAccess","updateMessageFiles","all","s3key","Object","entries","forEach","key","mediaType","filename","url","btoa","getPresignedUrl","Conversation","Workflow","onClick","Plus","maxContextLength","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","Logo","alt","AgentVisual","Card","CardHeader","CardTitle","CardDescription","CardContent","disabled","ConversationContent","MessageRenderer","config","marginTopFirstMessage","onRegenerate","onAddToolResult","UntypedToolPartComponent","UntypedToolPart","addToContext","Alert","ExclamationTriangleIcon","AlertTitle","AlertDescription","form","fileUploads","s3endpoint","UppyDashboard","selectionLimit","allowedFileTypes","capabilities","audio","video","images","dependencies","onConfirm","TextareaAutosize","autoComplete","autoFocus","minRows","onKeyDown","shiftKey","onChange","target","placeholder","trim","ArrowUp","StopIcon","FileItem","s3Key","active","onRemove","i","SaveWorkflowModal","isOpen","onClose","sessionTitle","description","hr","loading","Loading","userById","tools","isEnabled","Switch","checked","onCheckedChange","ChevronsUpDown","RBACControl","allowedModes","initialRightsMode","initialUsers","initialRoles","initialProjects","untypedToolPart","callId","styleToolName","replace","charAt","toUpperCase","slice","defaultOpen","Response","Skeleton","SessionsPage","params","agentData","agentLoading","agentError","GET_AGENT_BY_ID","sessionData","sessionLoading","sessionError","GET_AGENT_SESSION_BY_ID","agentById","agent_sessionById","LottieVisual","defaultIdleData","queryKey","queryFn","response","fetch","json","staleTime","enabled","animation_idle","defaultRespondingData","animation_responding","customIdleData","customRespondingData","View","useLottie","getAnimationOptions","animationData","loop","autoplay","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","__webpack_exports__","Z","SwitchPrimitives","isPrivate","isPublic","byUsers","byRoles","isAdmin","super_admin","isCreator","toString","find","u","rights"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3143],{12646:function(e,t,n){Promise.resolve().then(n.bind(n,41587))},41587:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return z}});var s=n(57437),l=n(27648),i=n(73247),r=n(92451),a=n(86595),o=n(33245),d=n(62869),c=n(95186),u=n(7211),h=n(12199),f=n(27689),m=n(2265),x=n(37091),v=n(99376),g=n(93022),p=n(25915),j=n(13832),y=n(20653),N=n(7598),w=n(99397),b=n(84190),k=n(26110),S=n(77992),_=n(94508),C=n(866),O=n(87393);function Z(e){var t,n,r,a,o,x;let{agent:p,type:Z}=e,I=(0,v.usePathname)(),{toast:z}=(0,S.pm)(),{user:A}=(0,m.useContext)(j.S),[E,M]=(0,m.useState)("");(0,C.d)();let D=(0,v.useRouter)(),[T,P]=(0,m.useState)({searchString:null}),[F,R]=(0,m.useState)(!1),[L,q]=(0,m.useState)(null),[V,B]=(0,m.useState)(""),G=(0,u.aM)(f.GJ,{returnPartialData:!0,fetchPolicy:"network-only",nextFetchPolicy:"network-only",variables:{page:1,limit:40,filters:{agent:{eq:p}}}}),[W,U]=(0,h.D)(f.S9,{refetchQueries:[f.GJ,"GetAgentSessions"]}),[J,K]=(0,h.D)(f.fB),[Q,H]=(0,h.D)(f.bI,{refetchQueries:[f.GJ,"GetAgentSessions"]});(0,m.useEffect)(()=>{let e={page:1,limit:40};T&&(null==T?void 0:T.length)>2?e.filters={agent:{eq:p},title:{contains:T}}:e.filters={agent:{eq:p}},G.refetch(e)},[T]);let X=async()=>{var e,t,n,s,l,i;let r=await J({variables:{user:A.id,agent:p,type:"FLOW",title:E.trim(),createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}});if(r.errors){console.error("error",r.errors);return}if(!(null===(n=r.data)||void 0===n?void 0:null===(t=n.agent_sessionsCreateOne)||void 0===t?void 0:null===(e=t.item)||void 0===e?void 0:e.id)){console.error("error","failed to create session");return}M(""),G.refetch(),D.push("/chat/".concat(p,"/").concat(null===(i=r.data)||void 0===i?void 0:null===(l=i.agent_sessionsCreateOne)||void 0===l?void 0:null===(s=l.item)||void 0===s?void 0:s.id))},$=async()=>{if(!L||!V.trim())return;let e=await Q({variables:{id:L,title:V.trim()}});if(e.errors){console.error("error",e.errors),z({title:"Error",description:"Failed to rename session.",variant:"destructive"});return}z({title:"Session renamed",description:"The session has been renamed successfully."}),R(!1),q(null),B("")};return(0,s.jsxs)("div",{className:"relative hidden flex-col items-start md:flex h-100 overflow-y-scroll border-r","x-chunk":"dashboard-03-chunk-0",children:[(0,s.jsx)("h2",{className:"mb-2 px-4 text-lg font-semibold tracking-tight",children:"Sessions"}),(0,s.jsx)("div",{className:"bg-background/95 w-full backdrop-blur supports-[backdrop-filter]:bg-background/60",children:(0,s.jsx)("form",{children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(i.Z,{className:"absolute left-2 top-2.5 size-4 text-muted-foreground"}),(0,s.jsx)(c.I,{onKeyUp:e=>{P(e.currentTarget.value)},placeholder:"Search sessions",className:"pl-8 border-0"})]})})}),(0,s.jsxs)("div",{className:"flex w-full items-center gap-2 p-3 border-t justify-between",children:[(0,s.jsx)(c.I,{autoFocus:!0,value:E,onChange:e=>M(e.target.value),onKeyDown:e=>{"Enter"===e.key&&X()},placeholder:"Name",className:"flex-1"}),(0,s.jsx)(d.z,{variant:"secondary",tabIndex:1,disabled:K.loading||!E.trim(),onClick:async()=>{X()},children:(0,s.jsx)("div",{className:"font-semibold",children:(0,s.jsx)(w.Z,{})})})]}),G.loading&&(0,s.jsxs)("div",{className:"w-full flex flex-col p-2 pt-0 pb-2",children:[(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md"}),(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md mt-3"}),(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md mt-3"}),(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md mt-3"})]}),!G.loading&&!(null==G?void 0:null===(r=G.data)||void 0===r?void 0:null===(n=r.agent_sessionsPagination)||void 0===n?void 0:null===(t=n.items)||void 0===t?void 0:t.length)&&(0,s.jsx)("div",{className:"w-full flex",children:(0,s.jsx)("p",{className:"mx-auto mt-5",children:"No sessions found."})}),G.loading?null:null==G?void 0:null===(x=G.data)||void 0===x?void 0:null===(o=x.agent_sessionsPagination)||void 0===o?void 0:null===(a=o.items)||void 0===a?void 0:a.map(e=>{var t,n;let i=(0,O.I)({...e,agent:e.agent.id},A);return(0,s.jsx)("div",{className:"w-full px-2 flex flex-col items-start gap-0 rounded-none border-none text-left text-sm mb-2",children:(0,s.jsx)(l.default,{href:"/chat/".concat(p,"/").concat(e.id),className:(0,_.cn)("p-2 w-full flex flex-col items-start gap-2 rounded-md p-3 text-left text-sm transition-all hover:bg-accent",I.includes(e.id)&&"bg-muted",i?"border border-l-4 border-r-0 border-y-0 border-gray-700":"border border-l-4 border-r-0 border-y-0 border-yellow-900"),children:(0,s.jsxs)("div",{className:"flex w-full flex-col px-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsx)("div",{className:"text-md font-medium max-w-[80%] truncate",children:e.title?null===(t=e.title)||void 0===t?void 0:t.substring(0,20):"No title"}),(0,s.jsxs)("div",{className:(0,_.cn)("ml-0 text-xs capitalize",I.includes(e.id)?"text-foreground":"text-muted-foreground"),children:[e.updatedAt?(0,N.Q)(new Date(e.updatedAt),{addSuffix:!0}):null,"."]})]}),i&&(0,s.jsxs)(b.h_,{children:[(0,s.jsx)(b.$F,{asChild:!0,children:(0,s.jsxs)(d.z,{variant:"ghost",className:"flex size-8 p-0 data-[state=open]:bg-muted",children:[(0,s.jsx)(y.nWS,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,s.jsxs)(b.AW,{align:"end",className:"w-[160px]",children:[(0,s.jsx)(b.Xi,{className:"cursor-pointer",onClick:t=>{t.preventDefault(),t.stopPropagation(),q(e.id),B(e.title||""),R(!0)},children:"Rename"}),(0,s.jsx)(b.Xi,{className:"cursor-pointer",onClick:()=>{W({variables:{id:e.id}}),z({title:"Deleting session",description:"We deleted the session."})},children:"Delete"})]})]})]}),(0,s.jsx)("small",{className:"text-xs text-muted-foreground",children:null===(n=e.agent)||void 0===n?void 0:n.name})]})},e.id)},e.id)}),(0,s.jsx)(k.Vq,{open:F,onOpenChange:R,children:(0,s.jsxs)(k.cZ,{children:[(0,s.jsxs)(k.fK,{children:[(0,s.jsx)(k.$N,{children:"Rename Session"}),(0,s.jsx)(k.Be,{children:"Enter a new name for this session."})]}),(0,s.jsx)(c.I,{value:V,onChange:e=>B(e.target.value),onKeyDown:e=>{"Enter"===e.key&&$()},placeholder:"Session name"}),(0,s.jsxs)(k.cN,{children:[(0,s.jsx)(d.z,{variant:"outline",onClick:()=>{R(!1),q(null),B("")},children:"Cancel"}),(0,s.jsx)(d.z,{onClick:$,disabled:H.loading||!V.trim(),children:"Rename"})]})]})})]},p+Z)}function I(){var e,t,n,y,N;let[w,b]=m.useState(""),[k,S]=m.useState(null),[_,C]=m.useState(!1),[O,I]=m.useState(!1),[z,A]=m.useState(!1),E=(0,v.useParams)(),M=(0,v.usePathname)(),{user:D}=(0,m.useContext)(j.S),[T,P]=(0,m.useState)(D),F=(0,u.aM)(f.W9,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{ids:(null==T?void 0:T.favourite_agents)||[]},skip:!(null==T?void 0:null===(e=T.favourite_agents)||void 0===e?void 0:e.length)}),R=(0,u.aM)(f.ym,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:1,limit:200,filters:{...(null==T?void 0:T.super_admin)?{}:{active:!0},...w?{name:{contains:w}}:{}}}}),[L]=(0,h.D)(f.Pe,{onCompleted:e=>{var t,n;P({...T,favourite_agents:null===(n=e.usersUpdateOneById)||void 0===n?void 0:null===(t=n.item)||void 0===t?void 0:t.favourite_agents})}}),q=(e,t)=>{t.preventDefault(),t.stopPropagation(),S(e),C(!0)},V=(e,t)=>{let n;t.preventDefault(),t.stopPropagation(),console.log("user",T);let s=(null==T?void 0:T.favourite_agents)||[];console.log("newFavourites",n=s.includes(e)?s.filter(t=>t!==e):[...s,e]),L({variables:{id:T.id,favourite_agents:n}})},B=E.agent?null==R?void 0:null===(y=R.data)||void 0===y?void 0:null===(n=y.agentsPagination)||void 0===n?void 0:null===(t=n.items)||void 0===t?void 0:t.find(e=>e.id===E.agent):null,G=e=>{var t;return e.image?(0,s.jsx)("img",{src:e.image,alt:"".concat(e.name," profile"),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-blue-500 to-purple-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())||"A"})};return(0,m.useEffect)(()=>{A(!1),I(!1)},[E.agent]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"pb-12 w-[250px]",children:[(0,s.jsx)("div",{className:"space-y-4 py-4",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"mb-2 px-4 text-lg font-semibold tracking-tight",children:"Agents"}),(0,s.jsx)("div",{children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(i.Z,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(c.I,{placeholder:"Search agents...",value:w,onChange:e=>b(e.target.value),className:"pl-8 h-9 border-0"})]})}),(0,s.jsxs)("div",{className:"space-y-1 border-t px-2 pt-2",children:[B&&!z&&(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:()=>A(!z),children:(0,s.jsx)(r.Z,{className:"h-3 w-3"})}),(0,s.jsx)(l.default,{onClick:()=>A(!1),href:"/chat/".concat(B.id),className:"flex-1",children:(0,s.jsxs)(d.z,{onClick:()=>A(!1),variant:M.includes(B.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-5",children:[G(B),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(x.L,{text:B.name,length:7})})]})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:e=>V(B.id,e),children:(0,s.jsx)(a.Z,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:e=>q(B.id,e),children:(0,s.jsx)(o.Z,{className:"h-3 w-3"})})]},"fav-".concat(B.id)),(!B||z||w)&&(0,s.jsxs)(s.Fragment,{children:[(null==T?void 0:T.favourite_agents)&&(null==T?void 0:null===(N=T.favourite_agents)||void 0===N?void 0:N.length)>0&&!w&&(0,s.jsxs)(s.Fragment,{children:[F.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!F.loading&&(()=>{var e;let t=(null==F?void 0:null===(e=F.data)||void 0===e?void 0:e.agentByIds)||[],n=O?t:t.slice(0,4);return(0,s.jsxs)(s.Fragment,{children:[n.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(l.default,{href:"/chat/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(d.z,{variant:M.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[G(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(x.L,{text:e.name,length:10})})]})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>V(e.id,t),children:(0,s.jsx)(a.Z,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>q(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3"})})]},"fav-".concat(e.id))),t.length>4&&(0,s.jsx)(d.z,{variant:"ghost",className:"w-full justify-center text-xs text-muted-foreground h-8",onClick:()=>I(!O),children:O?"Show less":"Show more (".concat(t.length-4,")")})]})})()]}),R.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!R.loading&&(()=>{var e,t,n;let i=(null==R?void 0:null===(n=R.data)||void 0===n?void 0:null===(t=n.agentsPagination)||void 0===t?void 0:null===(e=t.items)||void 0===e?void 0:e.filter(e=>{var t;return!(null==T?void 0:null===(t=T.favourite_agents)||void 0===t?void 0:t.includes(e.id))||w}))||[],r=w||z?i:i.slice(0,4);return(0,s.jsxs)(s.Fragment,{children:[r.map(e=>{var t;return(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(l.default,{href:"/chat/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(d.z,{variant:M.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[G(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(x.L,{text:e.name,length:14})})]})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>V(e.id,t),children:(0,s.jsx)(a.Z,{className:"h-3 w-3 ".concat((null==T?void 0:null===(t=T.favourite_agents)||void 0===t?void 0:t.includes(e.id))?"fill-yellow-400 text-yellow-400":"")})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>q(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3"})})]},e.id)}),!w&&i.length>4&&(0,s.jsx)(d.z,{variant:"ghost",className:"w-full justify-center text-xs text-muted-foreground h-8",onClick:()=>A(!z),children:z?"Show less":"Show more (".concat(i.length-4,")")})]})})()]})]})]})}),E.agent&&(0,s.jsx)(Z,{agent:E.agent,type:"chat"})]}),k&&(0,s.jsx)(p.z,{agentId:k,open:_,onOpenChange:e=>{C(e),e||S(null)}})]})}function z(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)(I,{})}),t]})}},37091:function(e,t,n){"use strict";n.d(t,{L:function(){return l}});var s=n(57437);function l(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})}},77992:function(e,t,n){"use strict";n.d(t,{Am:function(){return u},pm:function(){return h}});var s=n(2265);let l=0,i=new Map,r=e=>{if(i.has(e))return;let t=setTimeout(()=>{i.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);i.set(e,t)},a=(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?r(n):e.toasts.forEach(e=>{r(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)}}},o=[],d={toasts:[]};function c(e){d=a(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,n=(l=(l+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:n});return c({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||s()}}}),{id:n,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function h(){let[e,t]=s.useState(d);return s.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},87393:function(e,t,n){"use strict";n.d(t,{I:function(){return s}});let s=(e,t)=>{var n,s,l,i,r,a;let o="private"===e.rights_mode,d="public"===e.rights_mode,c="users"===e.rights_mode,u="roles"===e.rights_mode,h=t.super_admin,f=e.created_by===t.id.toString(),m=!1;return o&&f&&(m=!0),d&&(m=!0),c&&(m=(null===(l=e.RBAC)||void 0===l?void 0:null===(s=l.users)||void 0===s?void 0:null===(n=s.find(e=>e.id===t.id))||void 0===n?void 0:n.rights)==="write"),u&&(m=(null===(a=e.RBAC)||void 0===a?void 0:null===(r=a.roles)||void 0===r?void 0:null===(i=r.find(e=>{var n;return e.id===(null===(n=t.role)||void 0===n?void 0:n.id)}))||void 0===i?void 0:i.rights)==="write"),h&&(m=!0),m}},92451:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},53113:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]])},33245:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},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"}]])},88906:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Shield",[["path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10",key:"1irkt0"}]])},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"}]])},49137:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Text",[["path",{d:"M17 6.1H3",key:"wptmhv"}],["path",{d:"M21 12.1H3",key:"1j38uz"}],["path",{d:"M15.1 18H3",key:"1nb16a"}]])},29374:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Video",[["path",{d:"m22 8-6 4 6 4V8Z",key:"50v9me"}],["rect",{width:"14",height:"12",x:"2",y:"6",rx:"2",ry:"2",key:"1rqjg6"}]])},81706:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Volume2",[["polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5",key:"16drj5"}],["path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07",key:"ltjumu"}],["path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14",key:"1kegas"}]])},29525:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]])},12199:function(e,t,n){"use strict";n.d(t,{D:function(){return u}});var s=n(5853),l=n(79285),i=n(49466),r=n(36628),a=n(59058),o=n(77828),d=n(63251),c=n(59394).Nq?l.useLayoutEffect:l.useEffect;function u(e,t){var n=(0,d.x)(null==t?void 0:t.client);(0,a.Vp)(e,a.n_.Mutation);var u=l.useState({called:!1,loading:!1,client:n}),h=u[0],f=u[1],m=l.useRef({result:h,mutationId:0,isMounted:!0,client:n,mutation:e,options:t});c(function(){Object.assign(m.current,{client:n,options:t,mutation:e})});var x=l.useCallback(function(e){void 0===e&&(e={});var t=m.current,n=t.options,l=t.mutation,a=(0,s.pi)((0,s.pi)({},n),{mutation:l}),d=e.client||m.current.client;m.current.result.loading||a.ignoreResults||!m.current.isMounted||f(m.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:d});var c=++m.current.mutationId,u=(0,i.J)(a,e);return d.mutate(u).then(function(t){var n,s,l=t.data,i=t.errors,a=i&&i.length>0?new o.cA({graphQLErrors:i}):void 0,h=e.onError||(null===(n=m.current.options)||void 0===n?void 0:n.onError);if(a&&h&&h(a,u),c===m.current.mutationId&&!u.ignoreResults){var x={called:!0,loading:!1,data:l,error:a,client:d};m.current.isMounted&&!(0,r.D)(m.current.result,x)&&f(m.current.result=x)}var v=e.onCompleted||(null===(s=m.current.options)||void 0===s?void 0:s.onCompleted);return a||null==v||v(t.data,u),t},function(t){if(c===m.current.mutationId&&m.current.isMounted){var n,s={loading:!1,error:t,data:void 0,called:!0,client:d};(0,r.D)(m.current.result,s)||f(m.current.result=s)}var l=e.onError||(null===(n=m.current.options)||void 0===n?void 0:n.onError);if(l)return l(t,u),{data:void 0,errors:t};throw t})},[]),v=l.useCallback(function(){if(m.current.isMounted){var e={called:!1,loading:!1,client:m.current.client};Object.assign(m.current,{mutationId:0,result:e}),f(e)}},[]);return l.useEffect(function(){var e=m.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[x,(0,s.pi)({reset:v},h)]}}},function(e){e.O(0,[8310,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,7398,3825,7598,6373,3832,2293,2971,2117,1744],function(){return e(e.s=12646)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=layout-53796525bd3e2443.js.map
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3143],{12646:function(e,t,n){Promise.resolve().then(n.bind(n,41587))},41587:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return z}});var s=n(57437),l=n(27648),i=n(73247),r=n(92451),a=n(86595),o=n(33245),d=n(62869),c=n(95186),u=n(7211),h=n(12199),f=n(27689),m=n(2265),x=n(37091),v=n(99376),g=n(93022),p=n(25915),j=n(13832),y=n(20653),N=n(7598),w=n(99397),b=n(84190),k=n(26110),S=n(77992),_=n(94508),C=n(866),O=n(87393);function Z(e){var t,n,r,a,o,x;let{agent:p,type:Z}=e,I=(0,v.usePathname)(),{toast:z}=(0,S.pm)(),{user:A}=(0,m.useContext)(j.S),[E,M]=(0,m.useState)("");(0,C.d)();let D=(0,v.useRouter)(),[T,P]=(0,m.useState)({searchString:null}),[F,R]=(0,m.useState)(!1),[L,q]=(0,m.useState)(null),[V,B]=(0,m.useState)(""),G=(0,u.aM)(f.GJ,{returnPartialData:!0,fetchPolicy:"network-only",nextFetchPolicy:"network-only",variables:{page:1,limit:40,filters:{agent:{eq:p}}}}),[W,U]=(0,h.D)(f.S9,{refetchQueries:[f.GJ,"GetAgentSessions"]}),[J,K]=(0,h.D)(f.fB),[Q,H]=(0,h.D)(f.bI,{refetchQueries:[f.GJ,"GetAgentSessions"]});(0,m.useEffect)(()=>{let e={page:1,limit:40};T&&(null==T?void 0:T.length)>2?e.filters={agent:{eq:p},title:{contains:T}}:e.filters={agent:{eq:p}},G.refetch(e)},[T]);let X=async()=>{var e,t,n,s,l,i;let r=await J({variables:{user:A.id,agent:p,type:"FLOW",title:E.trim(),createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}});if(r.errors){console.error("error",r.errors);return}if(!(null===(n=r.data)||void 0===n?void 0:null===(t=n.agent_sessionsCreateOne)||void 0===t?void 0:null===(e=t.item)||void 0===e?void 0:e.id)){console.error("error","failed to create session");return}M(""),G.refetch(),D.push("/chat/".concat(p,"/").concat(null===(i=r.data)||void 0===i?void 0:null===(l=i.agent_sessionsCreateOne)||void 0===l?void 0:null===(s=l.item)||void 0===s?void 0:s.id))},$=async()=>{if(!L||!V.trim())return;let e=await Q({variables:{id:L,title:V.trim()}});if(e.errors){console.error("error",e.errors),z({title:"Error",description:"Failed to rename session.",variant:"destructive"});return}z({title:"Session renamed",description:"The session has been renamed successfully."}),R(!1),q(null),B("")};return(0,s.jsxs)("div",{className:"relative hidden flex-col items-start md:flex h-100 overflow-y-scroll border-r","x-chunk":"dashboard-03-chunk-0",children:[(0,s.jsx)("h2",{className:"mb-2 px-4 text-lg font-semibold tracking-tight",children:"Sessions"}),(0,s.jsx)("div",{className:"bg-background/95 w-full backdrop-blur supports-[backdrop-filter]:bg-background/60",children:(0,s.jsx)("form",{children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(i.Z,{className:"absolute left-2 top-2.5 size-4 text-muted-foreground"}),(0,s.jsx)(c.I,{onKeyUp:e=>{P(e.currentTarget.value)},placeholder:"Search sessions",className:"pl-8 border-0"})]})})}),(0,s.jsxs)("div",{className:"flex w-full items-center gap-2 p-3 border-t justify-between",children:[(0,s.jsx)(c.I,{autoFocus:!0,value:E,onChange:e=>M(e.target.value),onKeyDown:e=>{"Enter"===e.key&&X()},placeholder:"Name",className:"flex-1"}),(0,s.jsx)(d.z,{variant:"secondary",tabIndex:1,disabled:K.loading||!E.trim(),onClick:async()=>{X()},children:(0,s.jsx)("div",{className:"font-semibold",children:(0,s.jsx)(w.Z,{})})})]}),G.loading&&(0,s.jsxs)("div",{className:"w-full flex flex-col p-2 pt-0 pb-2",children:[(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md"}),(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md mt-3"}),(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md mt-3"}),(0,s.jsx)(g.O,{className:"w-full rounded h-[70px] rounded-md mt-3"})]}),!G.loading&&!(null==G?void 0:null===(r=G.data)||void 0===r?void 0:null===(n=r.agent_sessionsPagination)||void 0===n?void 0:null===(t=n.items)||void 0===t?void 0:t.length)&&(0,s.jsx)("div",{className:"w-full flex",children:(0,s.jsx)("p",{className:"mx-auto mt-5",children:"No sessions found."})}),G.loading?null:null==G?void 0:null===(x=G.data)||void 0===x?void 0:null===(o=x.agent_sessionsPagination)||void 0===o?void 0:null===(a=o.items)||void 0===a?void 0:a.map(e=>{var t,n;let i=(0,O.I)({...e,agent:e.agent.id},A);return(0,s.jsx)("div",{className:"w-full px-2 flex flex-col items-start gap-0 rounded-none border-none text-left text-sm mb-2",children:(0,s.jsx)(l.default,{href:"/chat/".concat(p,"/").concat(e.id),className:(0,_.cn)("p-2 w-full flex flex-col items-start gap-2 rounded-md p-3 text-left text-sm transition-all hover:bg-accent",I.includes(e.id)&&"bg-muted",i?"border border-l-4 border-r-0 border-y-0 border-gray-700":"border border-l-4 border-r-0 border-y-0 border-yellow-900"),children:(0,s.jsxs)("div",{className:"flex w-full flex-col px-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,s.jsx)("div",{className:"text-md font-medium max-w-[80%] truncate",children:e.title?null===(t=e.title)||void 0===t?void 0:t.substring(0,20):"No title"}),(0,s.jsxs)("div",{className:(0,_.cn)("ml-0 text-xs capitalize",I.includes(e.id)?"text-foreground":"text-muted-foreground"),children:[e.updatedAt?(0,N.Q)(new Date(e.updatedAt),{addSuffix:!0}):null,"."]})]}),i&&(0,s.jsxs)(b.h_,{children:[(0,s.jsx)(b.$F,{asChild:!0,children:(0,s.jsxs)(d.z,{variant:"ghost",className:"flex size-8 p-0 data-[state=open]:bg-muted",children:[(0,s.jsx)(y.nWS,{className:"size-4"}),(0,s.jsx)("span",{className:"sr-only",children:"Open menu"})]})}),(0,s.jsxs)(b.AW,{align:"end",className:"w-[160px]",children:[(0,s.jsx)(b.Xi,{className:"cursor-pointer",onClick:t=>{t.preventDefault(),t.stopPropagation(),q(e.id),B(e.title||""),R(!0)},children:"Rename"}),(0,s.jsx)(b.Xi,{className:"cursor-pointer",onClick:()=>{W({variables:{id:e.id}}),z({title:"Deleting session",description:"We deleted the session."})},children:"Delete"})]})]})]}),(0,s.jsx)("small",{className:"text-xs text-muted-foreground",children:null===(n=e.agent)||void 0===n?void 0:n.name})]})},e.id)},e.id)}),(0,s.jsx)(k.Vq,{open:F,onOpenChange:R,children:(0,s.jsxs)(k.cZ,{children:[(0,s.jsxs)(k.fK,{children:[(0,s.jsx)(k.$N,{children:"Rename Session"}),(0,s.jsx)(k.Be,{children:"Enter a new name for this session."})]}),(0,s.jsx)(c.I,{value:V,onChange:e=>B(e.target.value),onKeyDown:e=>{"Enter"===e.key&&$()},placeholder:"Session name"}),(0,s.jsxs)(k.cN,{children:[(0,s.jsx)(d.z,{variant:"outline",onClick:()=>{R(!1),q(null),B("")},children:"Cancel"}),(0,s.jsx)(d.z,{onClick:$,disabled:H.loading||!V.trim(),children:"Rename"})]})]})})]},p+Z)}function I(){var e,t,n,y,N;let[w,b]=m.useState(""),[k,S]=m.useState(null),[_,C]=m.useState(!1),[O,I]=m.useState(!1),[z,A]=m.useState(!1),E=(0,v.useParams)(),M=(0,v.usePathname)(),{user:D}=(0,m.useContext)(j.S),[T,P]=(0,m.useState)(D),F=(0,u.aM)(f.W9,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{ids:(null==T?void 0:T.favourite_agents)||[]},skip:!(null==T?void 0:null===(e=T.favourite_agents)||void 0===e?void 0:e.length)}),R=(0,u.aM)(f.ym,{fetchPolicy:"no-cache",nextFetchPolicy:"network-only",variables:{page:1,limit:200,filters:{...(null==T?void 0:T.super_admin)?{}:{active:!0},...w?{name:{contains:w}}:{}}}}),[L]=(0,h.D)(f.Pe,{onCompleted:e=>{var t,n;P({...T,favourite_agents:null===(n=e.usersUpdateOneById)||void 0===n?void 0:null===(t=n.item)||void 0===t?void 0:t.favourite_agents})}}),q=(e,t)=>{t.preventDefault(),t.stopPropagation(),S(e),C(!0)},V=(e,t)=>{let n;t.preventDefault(),t.stopPropagation(),console.log("user",T);let s=(null==T?void 0:T.favourite_agents)||[];console.log("newFavourites",n=s.includes(e)?s.filter(t=>t!==e):[...s,e]),L({variables:{id:T.id,favourite_agents:n}})},B=E.agent?null==R?void 0:null===(y=R.data)||void 0===y?void 0:null===(n=y.agentsPagination)||void 0===n?void 0:null===(t=n.items)||void 0===t?void 0:t.find(e=>e.id===E.agent):null,G=e=>{var t;return e.image?(0,s.jsx)("img",{src:e.image,alt:"".concat(e.name," profile"),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-blue-500 to-purple-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())||"A"})};return(0,m.useEffect)(()=>{A(!1),I(!1)},[E.agent]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"pb-12 w-[250px]",children:[(0,s.jsx)("div",{className:"space-y-4 py-4",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{className:"mb-2 px-4 text-lg font-semibold tracking-tight",children:"Agents"}),(0,s.jsx)("div",{children:(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(i.Z,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(c.I,{placeholder:"Search agents...",value:w,onChange:e=>b(e.target.value),className:"pl-8 h-9 border-0"})]})}),(0,s.jsxs)("div",{className:"space-y-1 border-t px-2 pt-2",children:[B&&!z&&(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:()=>A(!z),children:(0,s.jsx)(r.Z,{className:"h-3 w-3"})}),(0,s.jsx)(l.default,{onClick:()=>A(!1),href:"/chat/".concat(B.id),className:"flex-1",children:(0,s.jsxs)(d.z,{onClick:()=>A(!1),variant:M.includes(B.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-5",children:[G(B),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(x.L,{text:B.name,length:7})})]})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:e=>V(B.id,e),children:(0,s.jsx)(a.Z,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:e=>q(B.id,e),children:(0,s.jsx)(o.Z,{className:"h-3 w-3"})})]},"fav-".concat(B.id)),(!B||z||w)&&(0,s.jsxs)(s.Fragment,{children:[(null==T?void 0:T.favourite_agents)&&(null==T?void 0:null===(N=T.favourite_agents)||void 0===N?void 0:N.length)>0&&!w&&(0,s.jsxs)(s.Fragment,{children:[F.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!F.loading&&(()=>{var e;let t=(null==F?void 0:null===(e=F.data)||void 0===e?void 0:e.agentByIds)||[],n=O?t:t.slice(0,4);return(0,s.jsxs)(s.Fragment,{children:[n.map(e=>(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(l.default,{href:"/chat/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(d.z,{variant:M.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[G(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(x.L,{text:e.name,length:10})})]})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>V(e.id,t),children:(0,s.jsx)(a.Z,{className:"h-3 w-3 fill-yellow-400 text-yellow-400"})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>q(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3"})})]},"fav-".concat(e.id))),t.length>4&&(0,s.jsx)(d.z,{variant:"ghost",className:"w-full justify-center text-xs text-muted-foreground h-8",onClick:()=>I(!O),children:O?"Show less":"Show more (".concat(t.length-4,")")})]})})()]}),R.loading&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"}),(0,s.jsx)(g.O,{className:"w-[100%] h-[32px] rounded-lg"})]}),!R.loading&&(()=>{var e,t,n;let i=(null==R?void 0:null===(n=R.data)||void 0===n?void 0:null===(t=n.agentsPagination)||void 0===t?void 0:null===(e=t.items)||void 0===e?void 0:e.filter(e=>{var t;return!(null==T?void 0:null===(t=T.favourite_agents)||void 0===t?void 0:t.includes(e.id))||w}))||[],r=w||z?i:i.slice(0,4);return(0,s.jsxs)(s.Fragment,{children:[r.map(e=>{var t;return(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsx)(l.default,{href:"/chat/".concat(e.id),className:"flex-1",children:(0,s.jsxs)(d.z,{variant:M.includes(e.id)?"secondary":"ghost",className:"w-full justify-start gap-2 pr-1",children:[G(e),(0,s.jsx)("span",{className:"flex-1 text-left",children:(0,s.jsx)(x.L,{text:e.name,length:14})})]})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>V(e.id,t),children:(0,s.jsx)(a.Z,{className:"h-3 w-3 ".concat((null==T?void 0:null===(t=T.favourite_agents)||void 0===t?void 0:t.includes(e.id))?"fill-yellow-400 text-yellow-400":"")})}),(0,s.jsx)(d.z,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 flex-shrink-0",onClick:t=>q(e.id,t),children:(0,s.jsx)(o.Z,{className:"h-3 w-3"})})]},e.id)}),!w&&i.length>4&&(0,s.jsx)(d.z,{variant:"ghost",className:"w-full justify-center text-xs text-muted-foreground h-8",onClick:()=>A(!z),children:z?"Show less":"Show more (".concat(i.length-4,")")})]})})()]})]})]})}),E.agent&&(0,s.jsx)(Z,{agent:E.agent,type:"chat"})]}),k&&(0,s.jsx)(p.z,{agentId:k,open:_,onOpenChange:e=>{C(e),e||S(null)}})]})}function z(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)(I,{})}),t]})}},37091:function(e,t,n){"use strict";n.d(t,{L:function(){return l}});var s=n(57437);function l(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})}},77992:function(e,t,n){"use strict";n.d(t,{Am:function(){return u},pm:function(){return h}});var s=n(2265);let l=0,i=new Map,r=e=>{if(i.has(e))return;let t=setTimeout(()=>{i.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);i.set(e,t)},a=(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?r(n):e.toasts.forEach(e=>{r(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)}}},o=[],d={toasts:[]};function c(e){d=a(d,e),o.forEach(e=>{e(d)})}function u(e){let{...t}=e,n=(l=(l+1)%Number.MAX_SAFE_INTEGER).toString(),s=()=>c({type:"DISMISS_TOAST",toastId:n});return c({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||s()}}}),{id:n,dismiss:s,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function h(){let[e,t]=s.useState(d);return s.useEffect(()=>(o.push(t),()=>{let e=o.indexOf(t);e>-1&&o.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},87393:function(e,t,n){"use strict";n.d(t,{I:function(){return s}});let s=(e,t)=>{var n,s,l,i,r,a;let o="private"===e.rights_mode,d="public"===e.rights_mode,c="users"===e.rights_mode,u="roles"===e.rights_mode,h=t.super_admin,f=e.created_by===t.id.toString(),m=!1;return o&&f&&(m=!0),d&&(m=!0),c&&(m=(null===(l=e.RBAC)||void 0===l?void 0:null===(s=l.users)||void 0===s?void 0:null===(n=s.find(e=>e.id===t.id))||void 0===n?void 0:n.rights)==="write"),u&&(m=(null===(a=e.RBAC)||void 0===a?void 0:null===(r=a.roles)||void 0===r?void 0:null===(i=r.find(e=>{var n;return e.id===(null===(n=t.role)||void 0===n?void 0:n.id)}))||void 0===i?void 0:i.rights)==="write"),h&&(m=!0),m}},92451:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]])},53113:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]])},33245:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},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"}]])},88906:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Shield",[["path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10",key:"1irkt0"}]])},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"}]])},49137:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Text",[["path",{d:"M17 6.1H3",key:"wptmhv"}],["path",{d:"M21 12.1H3",key:"1j38uz"}],["path",{d:"M15.1 18H3",key:"1nb16a"}]])},29374:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Video",[["path",{d:"m22 8-6 4 6 4V8Z",key:"50v9me"}],["rect",{width:"14",height:"12",x:"2",y:"6",rx:"2",ry:"2",key:"1rqjg6"}]])},81706:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Volume2",[["polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5",key:"16drj5"}],["path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07",key:"ltjumu"}],["path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14",key:"1kegas"}]])},29525:function(e,t,n){"use strict";n.d(t,{Z:function(){return s}});let s=(0,n(39763).Z)("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]])},12199:function(e,t,n){"use strict";n.d(t,{D:function(){return u}});var s=n(5853),l=n(79285),i=n(49466),r=n(36628),a=n(59058),o=n(77828),d=n(63251),c=n(59394).Nq?l.useLayoutEffect:l.useEffect;function u(e,t){var n=(0,d.x)(null==t?void 0:t.client);(0,a.Vp)(e,a.n_.Mutation);var u=l.useState({called:!1,loading:!1,client:n}),h=u[0],f=u[1],m=l.useRef({result:h,mutationId:0,isMounted:!0,client:n,mutation:e,options:t});c(function(){Object.assign(m.current,{client:n,options:t,mutation:e})});var x=l.useCallback(function(e){void 0===e&&(e={});var t=m.current,n=t.options,l=t.mutation,a=(0,s.pi)((0,s.pi)({},n),{mutation:l}),d=e.client||m.current.client;m.current.result.loading||a.ignoreResults||!m.current.isMounted||f(m.current.result={loading:!0,error:void 0,data:void 0,called:!0,client:d});var c=++m.current.mutationId,u=(0,i.J)(a,e);return d.mutate(u).then(function(t){var n,s,l=t.data,i=t.errors,a=i&&i.length>0?new o.cA({graphQLErrors:i}):void 0,h=e.onError||(null===(n=m.current.options)||void 0===n?void 0:n.onError);if(a&&h&&h(a,u),c===m.current.mutationId&&!u.ignoreResults){var x={called:!0,loading:!1,data:l,error:a,client:d};m.current.isMounted&&!(0,r.D)(m.current.result,x)&&f(m.current.result=x)}var v=e.onCompleted||(null===(s=m.current.options)||void 0===s?void 0:s.onCompleted);return a||null==v||v(t.data,u),t},function(t){if(c===m.current.mutationId&&m.current.isMounted){var n,s={loading:!1,error:t,data:void 0,called:!0,client:d};(0,r.D)(m.current.result,s)||f(m.current.result=s)}var l=e.onError||(null===(n=m.current.options)||void 0===n?void 0:n.onError);if(l)return l(t,u),{data:void 0,errors:t};throw t})},[]),v=l.useCallback(function(){if(m.current.isMounted){var e={called:!1,loading:!1,client:m.current.client};Object.assign(m.current,{mutationId:0,result:e}),f(e)}},[]);return l.useEffect(function(){var e=m.current;return e.isMounted=!0,function(){e.isMounted=!1}},[]),[x,(0,s.pi)({reset:v},h)]}}},function(e){e.O(0,[8310,9851,7629,7093,6148,847,1942,7648,7823,8068,5799,4567,605,85,4957,5243,3825,7598,6373,3832,2293,2971,2117,1744],function(){return e(e.s=12646)}),_N_E=e.O()}]);
2
+ //# sourceMappingURL=layout-5eb1d22ddcbc0b55.js.map