@exulu/frontend 1.0.0 → 1.0.2

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 (239) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +223 -223
  3. package/dist/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/build-manifest.json +6 -6
  5. package/dist/.next/prerender-manifest.json +1 -1
  6. package/dist/.next/required-server-files.json +1 -1
  7. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
  8. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
  9. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/(application)/agents/page.js +2 -2
  11. package/dist/.next/server/app/(application)/agents/page.js.nft.json +1 -1
  12. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +2 -2
  14. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
  15. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/(application)/chat/[agent]/page.js +1 -1
  17. package/dist/.next/server/app/(application)/chat/[agent]/page.js.nft.json +1 -1
  18. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/(application)/chat/page.js +1 -1
  20. package/dist/.next/server/app/(application)/chat/page.js.nft.json +1 -1
  21. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  22. package/dist/.next/server/app/(application)/configuration/page.js +1 -1
  23. package/dist/.next/server/app/(application)/configuration/page.js.nft.json +1 -1
  24. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/(application)/dashboard/page.js +2 -2
  26. package/dist/.next/server/app/(application)/dashboard/page.js.nft.json +1 -1
  27. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +2 -2
  29. package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
  30. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  32. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  33. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js +1 -1
  35. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js.nft.json +1 -1
  36. package/dist/.next/server/app/(application)/evals/[id]/runs/page_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  38. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  39. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/(application)/evals/page.js +1 -1
  41. package/dist/.next/server/app/(application)/evals/page.js.nft.json +1 -1
  42. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  43. package/dist/.next/server/app/(application)/explorer/page.js +9 -9
  44. package/dist/.next/server/app/(application)/explorer/page.js.nft.json +1 -1
  45. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/app/(application)/jobs/page.js +1 -1
  47. package/dist/.next/server/app/(application)/jobs/page.js.nft.json +1 -1
  48. package/dist/.next/server/app/(application)/jobs/page_client-reference-manifest.js +1 -1
  49. package/dist/.next/server/app/(application)/keys/page.js +1 -1
  50. package/dist/.next/server/app/(application)/keys/page.js.nft.json +1 -1
  51. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  52. package/dist/.next/server/app/(application)/page.js +1 -1
  53. package/dist/.next/server/app/(application)/page.js.nft.json +1 -1
  54. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  55. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  56. package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
  57. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  58. package/dist/.next/server/app/(application)/projects/page.js +1 -1
  59. package/dist/.next/server/app/(application)/projects/page.js.nft.json +1 -1
  60. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  61. package/dist/.next/server/app/(application)/roles/page.js +1 -1
  62. package/dist/.next/server/app/(application)/roles/page.js.nft.json +1 -1
  63. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  64. package/dist/.next/server/app/(application)/token/page.js +1 -1
  65. package/dist/.next/server/app/(application)/token/page.js.nft.json +1 -1
  66. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  67. package/dist/.next/server/app/(application)/users/page.js +1 -1
  68. package/dist/.next/server/app/(application)/users/page.js.nft.json +1 -1
  69. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  70. package/dist/.next/server/app/(application)/variables/create/page.js +1 -1
  71. package/dist/.next/server/app/(application)/variables/create/page.js.nft.json +1 -1
  72. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  73. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js +1 -1
  74. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js.nft.json +1 -1
  75. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  76. package/dist/.next/server/app/(application)/variables/page.js +1 -1
  77. package/dist/.next/server/app/(application)/variables/page.js.nft.json +1 -1
  78. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  79. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js +1 -1
  80. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js.nft.json +1 -1
  81. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  82. package/dist/.next/server/app/(application)/workflows/page.js +1 -1
  83. package/dist/.next/server/app/(application)/workflows/page.js.nft.json +1 -1
  84. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  85. package/dist/.next/server/app/(authentication)/login/page.js +3 -3
  86. package/dist/.next/server/app/(authentication)/login/page.js.nft.json +1 -1
  87. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  88. package/dist/.next/server/app/_not-found/page.js +1 -1
  89. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/dist/.next/server/app/_not-found.html +1 -1
  91. package/dist/.next/server/app/_not-found.rsc +1 -1
  92. package/dist/.next/server/app/api/auth/[...nextauth]/route.js +2 -2
  93. package/dist/.next/server/app/api/config/route.js +2 -2
  94. package/dist/.next/server/app-paths-manifest.json +12 -12
  95. package/dist/.next/server/chunks/{2711.js → 3575.js} +1 -1
  96. package/dist/.next/server/chunks/{1558.js → 5192.js} +1 -1
  97. package/dist/.next/server/chunks/{9762.js → 7223.js} +5 -5
  98. package/dist/.next/server/chunks/{4470.js → 7944.js} +2 -2
  99. package/dist/.next/server/chunks/9049.js +2 -2
  100. package/dist/.next/server/middleware-build-manifest.js +1 -1
  101. package/dist/.next/server/middleware-manifest.json +5 -5
  102. package/dist/.next/server/middleware.js +2 -2
  103. package/dist/.next/server/next-font-manifest.js +1 -1
  104. package/dist/.next/server/next-font-manifest.json +1 -1
  105. package/dist/.next/server/pages/404.html +1 -1
  106. package/dist/.next/server/pages/500.html +1 -1
  107. package/dist/.next/server/server-reference-manifest.json +1 -1
  108. package/dist/.next/static/chunks/2117-7e0e97ffa5867cf9.js.map +1 -1
  109. package/dist/.next/static/chunks/6111-5ab0e72a466543ea.js.map +1 -1
  110. package/dist/.next/static/chunks/7648-be88d7a414ab6394.js.map +1 -1
  111. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-7737da0d7329baf0.js → page-e622860a59223955.js} +2 -2
  112. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e622860a59223955.js.map +1 -0
  113. package/dist/.next/static/chunks/app/(application)/agents/{page-58d7ecbf04b75ef3.js → page-fe256553444f6e6f.js} +2 -2
  114. package/dist/.next/static/chunks/app/(application)/agents/page-fe256553444f6e6f.js.map +1 -0
  115. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-beaa99a35c9e9bfc.js +2 -0
  116. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-beaa99a35c9e9bfc.js.map +1 -0
  117. package/dist/.next/static/chunks/app/(application)/chat/[agent]/{layout-a701083f64a86849.js → layout-1736d0931ae3f866.js} +2 -2
  118. package/dist/.next/static/chunks/app/(application)/chat/[agent]/layout-1736d0931ae3f866.js.map +1 -0
  119. package/dist/.next/static/chunks/app/(application)/chat/[agent]/{page-2f7e3126e0e76d70.js → page-1538a952e1e99f94.js} +2 -2
  120. package/dist/.next/static/chunks/app/(application)/chat/[agent]/page-1538a952e1e99f94.js.map +1 -0
  121. package/dist/.next/static/chunks/app/(application)/chat/{layout-b934ba4c0a125683.js → layout-3fbafd811d12ed10.js} +2 -2
  122. package/dist/.next/static/chunks/app/(application)/chat/layout-3fbafd811d12ed10.js.map +1 -0
  123. package/dist/.next/static/chunks/app/(application)/configuration/{page-3aa96486933ae5dd.js → page-876d1d43a9cc36e4.js} +2 -2
  124. package/dist/.next/static/chunks/app/(application)/configuration/page-876d1d43a9cc36e4.js.map +1 -0
  125. package/dist/.next/static/chunks/app/(application)/dashboard/{page-2436e355871758ba.js → page-ca746e824cb97052.js} +2 -2
  126. package/dist/.next/static/chunks/app/(application)/dashboard/page-ca746e824cb97052.js.map +1 -0
  127. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/{layout-e073c74bd194e8cc.js → layout-47ad558a66e699c7.js} +2 -2
  128. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-47ad558a66e699c7.js.map +1 -0
  129. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/{page-375a978d25ee3a65.js → page-edcdd8944daaaef8.js} +2 -2
  130. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-edcdd8944daaaef8.js.map +1 -0
  131. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-b668fca1ba6993e2.js → page-5d4b8e351ee3265f.js} +2 -2
  132. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-5d4b8e351ee3265f.js.map +1 -0
  133. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/{page-07969d6e5fb01d7b.js → page-4f0d1524fc7936d1.js} +2 -2
  134. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-4f0d1524fc7936d1.js.map +1 -0
  135. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-0f25ee5d9498cbc5.js → page-47274d92d3daf16b.js} +2 -2
  136. package/dist/.next/static/chunks/app/(application)/evals/cases/page-47274d92d3daf16b.js.map +1 -0
  137. package/dist/.next/static/chunks/app/(application)/evals/page-e25d76c28076b126.js +2 -0
  138. package/dist/.next/static/chunks/app/(application)/evals/page-e25d76c28076b126.js.map +1 -0
  139. package/dist/.next/static/chunks/app/(application)/explorer/{page-d1580ece2ff5ba64.js → page-9f8ab38b5cd68c45.js} +2 -2
  140. package/dist/.next/static/chunks/app/(application)/explorer/page-9f8ab38b5cd68c45.js.map +1 -0
  141. package/dist/.next/static/chunks/app/(application)/jobs/{page-1f32c5e7202301b2.js → page-2d9a06a9959e7977.js} +2 -2
  142. package/dist/.next/static/chunks/app/(application)/jobs/page-2d9a06a9959e7977.js.map +1 -0
  143. package/dist/.next/static/chunks/app/(application)/keys/page-6ecb8218f18773b9.js +2 -0
  144. package/dist/.next/static/chunks/app/(application)/keys/page-6ecb8218f18773b9.js.map +1 -0
  145. package/dist/.next/static/chunks/app/(application)/layout-73d93420d0c6661c.js +2 -0
  146. package/dist/.next/static/chunks/app/(application)/layout-73d93420d0c6661c.js.map +1 -0
  147. package/dist/.next/static/chunks/app/(application)/{page-661f24beb316dabf.js → page-16a518c5864e6963.js} +2 -2
  148. package/dist/.next/static/chunks/app/(application)/page-16a518c5864e6963.js.map +1 -0
  149. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-cc6f6786682fd877.js → page-870b48a3e7f64f7d.js} +2 -2
  150. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-870b48a3e7f64f7d.js.map +1 -0
  151. package/dist/.next/static/chunks/app/(application)/projects/{layout-3ef4b8519966eee7.js → layout-aa5baaf5cc644e70.js} +2 -2
  152. package/dist/.next/static/chunks/app/(application)/projects/layout-aa5baaf5cc644e70.js.map +1 -0
  153. package/dist/.next/static/chunks/app/(application)/projects/{page-6a38fd92beb3b45a.js → page-055a048a107095ed.js} +2 -2
  154. package/dist/.next/static/chunks/app/(application)/projects/page-055a048a107095ed.js.map +1 -0
  155. package/dist/.next/static/chunks/app/(application)/roles/page-b30682514e63b3f8.js +2 -0
  156. package/dist/.next/static/chunks/app/(application)/roles/page-b30682514e63b3f8.js.map +1 -0
  157. package/dist/.next/static/chunks/app/(application)/token/{page-19921b235606b9f3.js → page-f86eaf8c51fdbe52.js} +2 -2
  158. package/dist/.next/static/chunks/app/(application)/token/page-f86eaf8c51fdbe52.js.map +1 -0
  159. package/dist/.next/static/chunks/app/(application)/users/page-1a686fd83f765d8e.js +2 -0
  160. package/dist/.next/static/chunks/app/(application)/users/page-1a686fd83f765d8e.js.map +1 -0
  161. package/dist/.next/static/chunks/app/(application)/variables/create/{page-3d0e1788a92cba52.js → page-16582f525a24dd45.js} +2 -2
  162. package/dist/.next/static/chunks/app/(application)/variables/create/page-16582f525a24dd45.js.map +1 -0
  163. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-ad12a1419856c280.js → page-b37d9320812bb8f6.js} +2 -2
  164. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/page-b37d9320812bb8f6.js.map +1 -0
  165. package/dist/.next/static/chunks/app/(application)/variables/{page-530fff39006ba055.js → page-9b438ce239c07987.js} +2 -2
  166. package/dist/.next/static/chunks/app/(application)/variables/page-9b438ce239c07987.js.map +1 -0
  167. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-11fc31486ee7764e.js → page-b1fe1791701d361e.js} +2 -2
  168. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/page-b1fe1791701d361e.js.map +1 -0
  169. package/dist/.next/static/chunks/app/(application)/workflows/{page-feb479eaa043e041.js → page-93969baedc6f38ff.js} +2 -2
  170. package/dist/.next/static/chunks/app/(application)/workflows/page-93969baedc6f38ff.js.map +1 -0
  171. package/dist/.next/static/chunks/app/(authentication)/{layout-ed3d63f0ade93b47.js → layout-2dfa18ea6e6dc5cd.js} +2 -2
  172. package/dist/.next/static/chunks/app/(authentication)/layout-2dfa18ea6e6dc5cd.js.map +1 -0
  173. package/dist/.next/static/chunks/app/(authentication)/login/{error-65d2315c483bed81.js → error-c5f516f76e374400.js} +2 -2
  174. package/dist/.next/static/chunks/app/(authentication)/login/error-c5f516f76e374400.js.map +1 -0
  175. package/dist/.next/static/chunks/app/(authentication)/login/{page-3233ca86dc3297c3.js → page-4de4d6f64507c919.js} +2 -2
  176. package/dist/.next/static/chunks/app/(authentication)/login/page-4de4d6f64507c919.js.map +1 -0
  177. package/dist/.next/static/chunks/app/_not-found/page-3832d1eb6511168a.js.map +1 -1
  178. package/dist/.next/static/chunks/main-83299e0cc175f2ed.js.map +1 -1
  179. package/dist/.next/static/chunks/{main-app-e4276b9c44f225cb.js → main-app-da1df2757744a2ea.js} +2 -2
  180. package/dist/.next/static/chunks/main-app-da1df2757744a2ea.js.map +1 -0
  181. package/dist/.next/static/chunks/{webpack-c42349b540ffcbab.js → webpack-480cfeb2c2aa3f7e.js} +2 -2
  182. package/dist/.next/static/chunks/{webpack-c42349b540ffcbab.js.map → webpack-480cfeb2c2aa3f7e.js.map} +1 -1
  183. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  184. package/dist/node_modules/sharp/build/Release/sharp-linux-x64.node +0 -0
  185. package/dist/node_modules/sharp/vendor/8.14.5/{darwin-arm64v8/lib/libvips-cpp.42.dylib → linux-x64/lib/libvips-cpp.so.42} +0 -0
  186. package/dist/node_modules/sharp/vendor/8.14.5/linux-x64/platform.json +1 -0
  187. package/dist/node_modules/sharp/vendor/8.14.5/{darwin-arm64v8 → linux-x64}/versions.json +1 -1
  188. package/dist/package.json +3 -2
  189. package/dist/server.js +2 -1
  190. package/package.json +5 -5
  191. package/release.config.cjs +30 -0
  192. package/dist/.env +0 -32
  193. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-7737da0d7329baf0.js.map +0 -1
  194. package/dist/.next/static/chunks/app/(application)/agents/page-58d7ecbf04b75ef3.js.map +0 -1
  195. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-fb7ea4dc4cdb350b.js +0 -2
  196. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-fb7ea4dc4cdb350b.js.map +0 -1
  197. package/dist/.next/static/chunks/app/(application)/chat/[agent]/layout-a701083f64a86849.js.map +0 -1
  198. package/dist/.next/static/chunks/app/(application)/chat/[agent]/page-2f7e3126e0e76d70.js.map +0 -1
  199. package/dist/.next/static/chunks/app/(application)/chat/layout-b934ba4c0a125683.js.map +0 -1
  200. package/dist/.next/static/chunks/app/(application)/configuration/page-3aa96486933ae5dd.js.map +0 -1
  201. package/dist/.next/static/chunks/app/(application)/dashboard/page-2436e355871758ba.js.map +0 -1
  202. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-e073c74bd194e8cc.js.map +0 -1
  203. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-375a978d25ee3a65.js.map +0 -1
  204. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-b668fca1ba6993e2.js.map +0 -1
  205. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-07969d6e5fb01d7b.js.map +0 -1
  206. package/dist/.next/static/chunks/app/(application)/evals/cases/page-0f25ee5d9498cbc5.js.map +0 -1
  207. package/dist/.next/static/chunks/app/(application)/evals/page-78bbdcf2c04a4ef9.js +0 -2
  208. package/dist/.next/static/chunks/app/(application)/evals/page-78bbdcf2c04a4ef9.js.map +0 -1
  209. package/dist/.next/static/chunks/app/(application)/explorer/page-d1580ece2ff5ba64.js.map +0 -1
  210. package/dist/.next/static/chunks/app/(application)/jobs/page-1f32c5e7202301b2.js.map +0 -1
  211. package/dist/.next/static/chunks/app/(application)/keys/page-9b13ab99042d606c.js +0 -2
  212. package/dist/.next/static/chunks/app/(application)/keys/page-9b13ab99042d606c.js.map +0 -1
  213. package/dist/.next/static/chunks/app/(application)/layout-cff96ce5805f0772.js +0 -2
  214. package/dist/.next/static/chunks/app/(application)/layout-cff96ce5805f0772.js.map +0 -1
  215. package/dist/.next/static/chunks/app/(application)/page-661f24beb316dabf.js.map +0 -1
  216. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-cc6f6786682fd877.js.map +0 -1
  217. package/dist/.next/static/chunks/app/(application)/projects/layout-3ef4b8519966eee7.js.map +0 -1
  218. package/dist/.next/static/chunks/app/(application)/projects/page-6a38fd92beb3b45a.js.map +0 -1
  219. package/dist/.next/static/chunks/app/(application)/roles/page-d4a925d823a3c66c.js +0 -2
  220. package/dist/.next/static/chunks/app/(application)/roles/page-d4a925d823a3c66c.js.map +0 -1
  221. package/dist/.next/static/chunks/app/(application)/token/page-19921b235606b9f3.js.map +0 -1
  222. package/dist/.next/static/chunks/app/(application)/users/page-7cddc0528218c5c8.js +0 -2
  223. package/dist/.next/static/chunks/app/(application)/users/page-7cddc0528218c5c8.js.map +0 -1
  224. package/dist/.next/static/chunks/app/(application)/variables/create/page-3d0e1788a92cba52.js.map +0 -1
  225. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/page-ad12a1419856c280.js.map +0 -1
  226. package/dist/.next/static/chunks/app/(application)/variables/page-530fff39006ba055.js.map +0 -1
  227. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/page-11fc31486ee7764e.js.map +0 -1
  228. package/dist/.next/static/chunks/app/(application)/workflows/page-feb479eaa043e041.js.map +0 -1
  229. package/dist/.next/static/chunks/app/(authentication)/layout-ed3d63f0ade93b47.js.map +0 -1
  230. package/dist/.next/static/chunks/app/(authentication)/login/error-65d2315c483bed81.js.map +0 -1
  231. package/dist/.next/static/chunks/app/(authentication)/login/page-3233ca86dc3297c3.js.map +0 -1
  232. package/dist/.next/static/chunks/main-app-e4276b9c44f225cb.js.map +0 -1
  233. package/dist/node_modules/sharp/build/Release/sharp-darwin-arm64v8.node +0 -0
  234. package/dist/node_modules/sharp/vendor/8.14.5/darwin-arm64v8/include/harfbuzz/hb-cplusplus.hh +0 -223
  235. package/dist/node_modules/sharp/vendor/8.14.5/darwin-arm64v8/include/vips/vips8 +0 -60
  236. package/dist/node_modules/sharp/vendor/8.14.5/darwin-arm64v8/platform.json +0 -1
  237. /package/dist/.next/static/{1EzJPF6E6hcMMCU8H_5QY → Slpu2oH7SpIV9Idqdqoda}/_buildManifest.js +0 -0
  238. /package/dist/.next/static/{1EzJPF6E6hcMMCU8H_5QY → Slpu2oH7SpIV9Idqdqoda}/_ssgManifest.js +0 -0
  239. /package/dist/node_modules/sharp/vendor/8.14.5/{darwin-arm64v8 → linux-x64}/THIRD-PARTY-NOTICES.md +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/chunks/app/(application)/chat/[agent]/[session]/page-beaa99a35c9e9bfc.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/./components/lottie.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/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 { Agent } from \"@/types/models/agent\";\nimport * as agentIdle from \"../public/agent-idle.json\";\nimport * as agentResponding from \"../public/agent-responding.json\";\nimport { useLottie } from \"lottie-react\";\n\nconst AgentVisual = ({ agent, status }: { agent: Agent, status: 'submitted' | 'streaming' | 'ready' | 'error' }) => {\n\n if (!agentIdle && agent.image) {\n return <img\n src={agent.image}\n alt={`${agent.name} agent`}\n className=\"w-[100px] h-[100px] object-cover rounded-full mx-auto my-3\"\n />\n }\n\n if (!agentIdle) {\n return <div className=\"text-3xl font-bold text-primary text-center\">\n {agent.name?.charAt(0).toUpperCase() || 'A'}\n </div>\n }\n\n return <div className=\"text-3xl font-bold text-primary text-center\">\n {agent.name?.charAt(0).toUpperCase() || 'A'}\n </div>\n\n return <LottieVisual agent={agent} status={status} />\n\n};\n\nconst LottieVisual = ({ agent, status }: { agent: Agent, status: 'submitted' | 'streaming' | 'ready' | 'error' }) => {\n // Map status to animation configuration\n const getAnimationOptions = () => {\n switch (status) {\n case 'submitted':\n return {\n animationData: agentIdle,\n loop: true,\n autoplay: true,\n };\n case 'streaming':\n return {\n animationData: agentResponding || agentIdle,\n loop: true,\n autoplay: true,\n };\n case 'ready':\n return {\n\n animationData: agentIdle,\n loop: true,\n autoplay: true,\n };\n case 'error':\n return {\n animationData: agentIdle,\n loop: true,\n autoplay: true,\n };\n default:\n return {\n animationData: agentIdle,\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=\"w-80\">{View}</div>\n </div>\n </>\n );\n}\n\nexport default AgentVisual;","\"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\";\n\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 [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 <img\n src={configContext?.backend + \"/logo.png\"}\n alt=\"AI\"\n width={120}\n height={120}\n className=\"h-30 w-40 object-contain\" /*invert dark:invert-0*/\n />\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} />\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 <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 <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} />\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 * 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","lottie","agent","agentIdle","image","img","src","alt","name","charAt","toUpperCase","ChatLayout","session","creatorQuery","error","setError","useState","configContext","ConfigContext","useIsMobile","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","writeAccess","checkChatSessionWriteAccess","updateMessageFiles","all","s3key","Object","entries","forEach","key","mediaType","filename","url","btoa","getPresignedUrl","Conversation","Workflow","onClick","Plus","maxContextLength","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","AgentVisual","Card","CardHeader","CardTitle","CardDescription","CardContent","disabled","ConversationContent","MessageRenderer","config","marginTopFirstMessage","onRegenerate","onAddToolResult","UntypedToolPartComponent","UntypedToolPart","addToContext","Alert","ExclamationTriangleIcon","AlertTitle","AlertDescription","form","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","slice","defaultOpen","Response","Skeleton","SessionsPage","params","agentData","agentLoading","agentError","GET_AGENT_BY_ID","sessionData","sessionLoading","sessionError","GET_AGENT_SESSION_BY_ID","agentById","agent_sessionById","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","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([[4744],{70738:function(n,e,t){Promise.resolve().then(t.bind(t,52323))},52323:function(n,e,t){"use strict";t.r(e),t.d(e,{default:function(){return r}});var u=t(57437);function r(n){let{children:e,params:t}=n;return(0,u.jsx)(u.Fragment,{children:e})}t(2265)}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=70738)}),_N_E=n.O()}]);
2
- //# sourceMappingURL=layout-a701083f64a86849.js.map
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4744],{17138:function(n,e,t){Promise.resolve().then(t.bind(t,52323))},52323:function(n,e,t){"use strict";t.r(e),t.d(e,{default:function(){return r}});var u=t(57437);function r(n){let{children:e,params:t}=n;return(0,u.jsx)(u.Fragment,{children:e})}t(2265)}},function(n){n.O(0,[2971,2117,1744],function(){return n(n.s=17138)}),_N_E=n.O()}]);
2
+ //# sourceMappingURL=layout-1736d0931ae3f866.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/chunks/app/(application)/chat/[agent]/layout-1736d0931ae3f866.js","mappings":"sFAAAA,QAAAC,OAAA,GAAAC,IAAA,CAAAC,EAAAC,IAAA,CAAAD,EAAA,wGCIe,SAASE,EAAWC,CAAgG,KAAhG,CAAEC,SAAAA,CAAQ,CAAEC,OAAAA,CAAM,CAA8E,CAAhGF,EAEjC,MACE,GAAAG,EAAAC,GAAA,EAAAD,EAAAE,QAAA,WACGJ,GAGP","sources":["webpack://_N_E/?d1ff","webpack://_N_E/./app/(application)/chat/[agent]/layout.tsx"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/chat/[agent]/layout.tsx\");\n","\"use client\"\n\nimport * as React from \"react\";\n\nexport default function ChatLayout({ children, params }: { children: React.ReactNode; params: { agent: string, session?: string } }) {\n\n return (\n <>\n {children}\n </>\n );\n}\n"],"names":["Promise","resolve","then","__webpack_require__","bind","ChatLayout","param","children","params","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Fragment"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8564],{70823:function(e,n,t){Promise.resolve().then(t.bind(t,16120))},16120:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return i}});var s=t(57437),r=t(2265);function i(){let[e,n]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>{n(window.innerWidth<=1023)};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,s.jsx)("div",{className:"w-full h-full flex",children:(0,s.jsx)("div",{className:"flex flex-col w-full m-auto",children:(0,s.jsx)("h2",{className:"text-center",children:"Select or create a session."})})})}}},function(e){e.O(0,[2971,2117,1744],function(){return e(e.s=70823)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=page-2f7e3126e0e76d70.js.map
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8564],{95001:function(e,n,t){Promise.resolve().then(t.bind(t,16120))},16120:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return i}});var s=t(57437),r=t(2265);function i(){let[e,n]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>{n(window.innerWidth<=1023)};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,s.jsx)("div",{className:"w-full h-full flex",children:(0,s.jsx)("div",{className:"flex flex-col w-full m-auto",children:(0,s.jsx)("h2",{className:"text-center",children:"Select or create a session."})})})}}},function(e){e.O(0,[2971,2117,1744],function(){return e(e.s=95001)}),_N_E=e.O()}]);
2
+ //# sourceMappingURL=page-1538a952e1e99f94.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static/chunks/app/(application)/chat/[agent]/page-1538a952e1e99f94.js","mappings":"sFAAAA,QAAAC,OAAA,GAAAC,IAAA,CAAAC,EAAAC,IAAA,CAAAD,EAAA,kHCIe,SAASE,IAEtB,GAAM,CAACC,EAAUC,EAAY,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAmBzC,MAjBAC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMC,EAAmB,KACvBH,EAAYI,OAAOC,UAAU,EAAI,KACnC,EASA,OANAF,IAGAC,OAAOE,gBAAgB,CAAC,SAAUH,GAG3B,KACLC,OAAOG,mBAAmB,CAAC,SAAUJ,EACvC,CACF,EAAG,EAAE,EAGH,GAAAK,EAAAC,GAAA,EAACC,MAAAA,CAAIC,UAAU,8BACb,GAAAH,EAAAC,GAAA,EAACC,MAAAA,CAAIC,UAAU,uCACb,GAAAH,EAAAC,GAAA,EAACG,KAAAA,CAAGD,UAAU,uBAAc,mCAIpC","sources":["webpack://_N_E/?b1f0","webpack://_N_E/./app/(application)/chat/[agent]/page.tsx"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/chat/[agent]/page.tsx\");\n","\"use client\"\n\nimport { useEffect, useState } from \"react\";\n\nexport default function SessionSelectPage() {\n\n const [isMobile, setIsMobile] = useState(false);\n\n useEffect(() => {\n const checkScreenWidth = () => {\n setIsMobile(window.innerWidth <= 1023);\n };\n\n // Initial check\n checkScreenWidth();\n\n // Event listener for screen width changes\n window.addEventListener(\"resize\", checkScreenWidth);\n\n // Cleanup the event listener on component unmount\n return () => {\n window.removeEventListener(\"resize\", checkScreenWidth);\n };\n }, []);\n\n return (\n <div className=\"w-full h-full flex\">\n <div className=\"flex flex-col w-full m-auto\">\n <h2 className=\"text-center\">Select or create a session.</h2>\n </div>\n </div>\n )\n}"],"names":["Promise","resolve","then","__webpack_require__","bind","SessionSelectPage","isMobile","setIsMobile","useState","useEffect","checkScreenWidth","window","innerWidth","addEventListener","removeEventListener","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","h2"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3143],{62422: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=62422)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=layout-b934ba4c0a125683.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,7398,3825,7598,6373,3832,2293,2971,2117,1744],function(){return e(e.s=12646)}),_N_E=e.O()}]);
2
+ //# sourceMappingURL=layout-3fbafd811d12ed10.js.map