@exulu/frontend 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +185 -174
  3. package/dist/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/prerender-manifest.json +1 -1
  6. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
  8. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/(application)/agents/page.js +1 -2
  10. package/dist/.next/server/app/(application)/agents/page.js.nft.json +1 -1
  11. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +1 -1
  13. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
  14. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  15. package/dist/.next/server/app/(application)/chat/[agent]/page.js +1 -1
  16. package/dist/.next/server/app/(application)/chat/[agent]/page.js.nft.json +1 -1
  17. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  18. package/dist/.next/server/app/(application)/chat/page.js +1 -1
  19. package/dist/.next/server/app/(application)/chat/page.js.nft.json +1 -1
  20. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  21. package/dist/.next/server/app/(application)/configuration/page.js +1 -1
  22. package/dist/.next/server/app/(application)/configuration/page.js.nft.json +1 -1
  23. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(application)/dashboard/page.js +5 -1
  25. package/dist/.next/server/app/(application)/dashboard/page.js.nft.json +1 -1
  26. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +5 -1
  28. package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
  29. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  31. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  32. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js +1 -1
  34. package/dist/.next/server/app/(application)/evals/[id]/runs/page.js.nft.json +1 -1
  35. package/dist/.next/server/app/(application)/evals/[id]/runs/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  37. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  38. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/(application)/evals/page.js +1 -1
  40. package/dist/.next/server/app/(application)/evals/page.js.nft.json +1 -1
  41. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  42. package/dist/.next/server/app/(application)/explorer/page.js +1 -1
  43. package/dist/.next/server/app/(application)/explorer/page.js.nft.json +1 -1
  44. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  45. package/dist/.next/server/app/(application)/jobs/page.js +1 -1
  46. package/dist/.next/server/app/(application)/jobs/page.js.nft.json +1 -1
  47. package/dist/.next/server/app/(application)/jobs/page_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/(application)/keys/page.js +1 -1
  49. package/dist/.next/server/app/(application)/keys/page.js.nft.json +1 -1
  50. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  51. package/dist/.next/server/app/(application)/page.js +1 -1
  52. package/dist/.next/server/app/(application)/page.js.nft.json +1 -1
  53. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  54. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  55. package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
  56. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  57. package/dist/.next/server/app/(application)/projects/page.js +1 -1
  58. package/dist/.next/server/app/(application)/projects/page.js.nft.json +1 -1
  59. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  60. package/dist/.next/server/app/(application)/roles/page.js +1 -1
  61. package/dist/.next/server/app/(application)/roles/page.js.nft.json +1 -1
  62. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  63. package/dist/.next/server/app/(application)/token/page.js +1 -1
  64. package/dist/.next/server/app/(application)/token/page.js.nft.json +1 -1
  65. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  66. package/dist/.next/server/app/(application)/users/page.js +1 -1
  67. package/dist/.next/server/app/(application)/users/page.js.nft.json +1 -1
  68. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  69. package/dist/.next/server/app/(application)/variables/create/page.js +1 -1
  70. package/dist/.next/server/app/(application)/variables/create/page.js.nft.json +1 -1
  71. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  72. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js +1 -1
  73. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page.js.nft.json +1 -1
  74. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  75. package/dist/.next/server/app/(application)/variables/page.js +1 -1
  76. package/dist/.next/server/app/(application)/variables/page.js.nft.json +1 -1
  77. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  78. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js +1 -1
  79. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page.js.nft.json +1 -1
  80. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  81. package/dist/.next/server/app/(application)/workflows/page.js +1 -1
  82. package/dist/.next/server/app/(application)/workflows/page.js.nft.json +1 -1
  83. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  84. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  85. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/dist/.next/server/app/_not-found.html +1 -1
  87. package/dist/.next/server/app/_not-found.rsc +1 -1
  88. package/dist/.next/server/app/api/auth/[...nextauth]/route.js +9 -9
  89. package/dist/.next/server/app-paths-manifest.json +5 -5
  90. package/dist/.next/server/chunks/1051.js +16 -16
  91. package/dist/.next/server/chunks/2270.js +188 -100
  92. package/dist/.next/server/chunks/{8838.js → 2875.js} +1 -1
  93. package/dist/.next/server/chunks/2916.js +1 -1
  94. package/dist/.next/server/chunks/3503.js +1 -0
  95. package/dist/.next/server/chunks/{7544.js → 4552.js} +1 -1
  96. package/dist/.next/server/chunks/{3393.js → 4739.js} +1 -1
  97. package/dist/.next/server/chunks/5192.js +1 -1
  98. package/dist/.next/server/chunks/5999.js +2 -0
  99. package/dist/.next/server/chunks/6282.js +1 -0
  100. package/dist/.next/server/chunks/6623.js +1 -0
  101. package/dist/.next/server/chunks/7721.js +1 -0
  102. package/dist/.next/server/chunks/7944.js +2 -2
  103. package/dist/.next/server/chunks/8050.js +1 -0
  104. package/dist/.next/server/chunks/8206.js +1 -0
  105. package/dist/.next/server/chunks/8679.js +5 -0
  106. package/dist/.next/server/middleware-manifest.json +5 -5
  107. package/dist/.next/server/pages/404.html +1 -1
  108. package/dist/.next/server/pages/500.html +1 -1
  109. package/dist/.next/server/server-reference-manifest.json +1 -1
  110. package/dist/.next/static/chunks/1294-368dc8ec59054da4.js +2 -0
  111. package/dist/.next/static/chunks/1294-368dc8ec59054da4.js.map +1 -0
  112. package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js → 1645-570e014100772437.js} +1 -1
  113. package/dist/.next/static/chunks/{1645-e5fd10236c0183ce.js.map → 1645-570e014100772437.js.map} +1 -1
  114. package/dist/.next/static/chunks/1957-5867716304ecd208.js +2 -0
  115. package/dist/.next/static/chunks/1957-5867716304ecd208.js.map +1 -0
  116. package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js → 2293-1681cdef5b8c0c0b.js} +1 -1
  117. package/dist/.next/static/chunks/{2293-59b4bbce0c5bd2f2.js.map → 2293-1681cdef5b8c0c0b.js.map} +1 -1
  118. package/dist/.next/static/chunks/3475-28ce4fce960656bd.js +2 -0
  119. package/dist/.next/static/chunks/3475-28ce4fce960656bd.js.map +1 -0
  120. package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js +2 -0
  121. package/dist/.next/static/chunks/3832-a5e8fc6647e2be65.js.map +1 -0
  122. package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js → 4386-c7690667749bff6a.js} +1 -1
  123. package/dist/.next/static/chunks/{4386-a36fe9c65884f025.js.map → 4386-c7690667749bff6a.js.map} +1 -1
  124. package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js +2 -0
  125. package/dist/.next/static/chunks/4750-4d5c13bbc96bc19b.js.map +1 -0
  126. package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js +2 -0
  127. package/dist/.next/static/chunks/5243-1aaa41b2cd0ea87c.js.map +1 -0
  128. package/dist/.next/static/chunks/5978-814d6900645d2fcc.js +2 -0
  129. package/dist/.next/static/chunks/5978-814d6900645d2fcc.js.map +1 -0
  130. package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js +2 -0
  131. package/dist/.next/static/chunks/6373-651cb258c9e2b57b.js.map +1 -0
  132. package/dist/.next/static/chunks/{7564-44a20b31206685e1.js → 6545-5a1d7cf4d5ca770e.js} +21 -21
  133. package/dist/.next/static/chunks/6545-5a1d7cf4d5ca770e.js.map +1 -0
  134. package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js +2 -0
  135. package/dist/.next/static/chunks/6839-0f4cfb48058a5ab6.js.map +1 -0
  136. package/dist/.next/static/chunks/723-94e596796cbf911d.js +2 -0
  137. package/dist/.next/static/chunks/723-94e596796cbf911d.js.map +1 -0
  138. package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js +2 -0
  139. package/dist/.next/static/chunks/8202-db2cc384c66bc1be.js.map +1 -0
  140. package/dist/.next/static/chunks/8269-37dd07515eb44201.js +2 -0
  141. package/dist/.next/static/chunks/8269-37dd07515eb44201.js.map +1 -0
  142. package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js +2 -0
  143. package/dist/.next/static/chunks/8469-ba31cbd7acab5f94.js.map +1 -0
  144. package/dist/.next/static/chunks/8824-20030459012376a3.js +2 -0
  145. package/dist/.next/static/chunks/8824-20030459012376a3.js.map +1 -0
  146. package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js +2 -0
  147. package/dist/.next/static/chunks/9105-3800f721d38e2b9a.js.map +1 -0
  148. package/dist/.next/static/chunks/9183-a51605ff26b92fed.js +41 -0
  149. package/dist/.next/static/chunks/9183-a51605ff26b92fed.js.map +1 -0
  150. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js +2 -0
  151. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-511f168123f85285.js.map +1 -0
  152. package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js → page-63643deabdaa6b2c.js} +2 -2
  153. package/dist/.next/static/chunks/app/(application)/agents/{page-499ac3bd1044306c.js.map → page-63643deabdaa6b2c.js.map} +1 -1
  154. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-3807a8bc2ae87548.js → page-62c7321ba26632af.js} +2 -2
  155. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-62c7321ba26632af.js.map +1 -0
  156. package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js → layout-5eb1d22ddcbc0b55.js} +2 -2
  157. package/dist/.next/static/chunks/app/(application)/chat/{layout-53796525bd3e2443.js.map → layout-5eb1d22ddcbc0b55.js.map} +1 -1
  158. package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js → page-8f92af5318feb84f.js} +1 -1
  159. package/dist/.next/static/chunks/app/(application)/configuration/{page-2d8a0e2664ab9a94.js.map → page-8f92af5318feb84f.js.map} +1 -1
  160. package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js +2 -0
  161. package/dist/.next/static/chunks/app/(application)/dashboard/page-00e425d942e0d769.js.map +1 -0
  162. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js +2 -0
  163. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-a460a56d3efac658.js.map +1 -0
  164. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js +2 -0
  165. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-bb06a9553c9ed178.js.map +1 -0
  166. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js → page-ef82e92ca7d0da6c.js} +2 -2
  167. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-2238f1fb73d93328.js.map → page-ef82e92ca7d0da6c.js.map} +1 -1
  168. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js +2 -0
  169. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-6622dd1b22a7885d.js.map +1 -0
  170. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js → page-6246be9d6592d1d3.js} +2 -2
  171. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-ea5faf58b368feae.js.map → page-6246be9d6592d1d3.js.map} +1 -1
  172. package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js → page-b1e1fd7dba1e675f.js} +2 -2
  173. package/dist/.next/static/chunks/app/(application)/evals/{page-f79e1a90384ba618.js.map → page-b1e1fd7dba1e675f.js.map} +1 -1
  174. package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js → page-a96441a0bc654d68.js} +1 -1
  175. package/dist/.next/static/chunks/app/(application)/jobs/{page-e6f02a338bec4806.js.map → page-a96441a0bc654d68.js.map} +1 -1
  176. package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js → page-163aadfe9ad0d794.js} +1 -1
  177. package/dist/.next/static/chunks/app/(application)/keys/{page-59ee4e0281131cbc.js.map → page-163aadfe9ad0d794.js.map} +1 -1
  178. package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js → layout-694c53aca85ef437.js} +2 -2
  179. package/dist/.next/static/chunks/app/(application)/{layout-73d93420d0c6661c.js.map → layout-694c53aca85ef437.js.map} +1 -1
  180. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js +2 -0
  181. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-e69828fde85c50af.js.map +1 -0
  182. package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js → layout-d7642b25bf6d33b3.js} +2 -2
  183. package/dist/.next/static/chunks/app/(application)/projects/{layout-f73ad7daf4825f1b.js.map → layout-d7642b25bf6d33b3.js.map} +1 -1
  184. package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js +2 -0
  185. package/dist/.next/static/chunks/app/(application)/roles/page-5d5e5142f0997122.js.map +1 -0
  186. package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js → page-b862cb199fd72525.js} +2 -2
  187. package/dist/.next/static/chunks/app/(application)/users/{page-e0a04fda52138aa0.js.map → page-b862cb199fd72525.js.map} +1 -1
  188. package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js → page-d79d5c1c1ecabdb5.js} +1 -1
  189. package/dist/.next/static/chunks/app/(application)/variables/create/{page-6c6076f3f253190d.js.map → page-d79d5c1c1ecabdb5.js.map} +1 -1
  190. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js → page-72cf3aa95776ab96.js} +1 -1
  191. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-a3fa477fead5609a.js.map → page-72cf3aa95776ab96.js.map} +1 -1
  192. package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js → page-67864b471b48c950.js} +2 -2
  193. package/dist/.next/static/chunks/app/(application)/variables/{page-ddeff54a8b19bdbe.js.map → page-67864b471b48c950.js.map} +1 -1
  194. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js → page-208b4c9cc64abf2e.js} +1 -1
  195. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-ed6d136e7ee3a591.js.map → page-208b4c9cc64abf2e.js.map} +1 -1
  196. package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js +2 -0
  197. package/dist/.next/static/chunks/app/(application)/workflows/page-5b1ffc7c5012fdf6.js.map +1 -0
  198. package/dist/.next/static/css/006966ab2edd0ebc.css +4 -0
  199. package/dist/.next/static/css/006966ab2edd0ebc.css.map +1 -0
  200. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  201. package/dist/package.json +4 -1
  202. package/package.json +1 -1
  203. package/dist/.next/server/chunks/3743.js +0 -1
  204. package/dist/.next/server/chunks/4375.js +0 -1
  205. package/dist/.next/server/chunks/4680.js +0 -1
  206. package/dist/.next/server/chunks/7203.js +0 -5
  207. package/dist/.next/server/chunks/7598.js +0 -5
  208. package/dist/.next/server/chunks/8806.js +0 -1
  209. package/dist/.next/static/chunks/1957-670ddf66742d95f2.js +0 -2
  210. package/dist/.next/static/chunks/1957-670ddf66742d95f2.js.map +0 -1
  211. package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js +0 -2
  212. package/dist/.next/static/chunks/3397-5a704b2e12e9e883.js.map +0 -1
  213. package/dist/.next/static/chunks/3832-10b779e2f89f162f.js +0 -2
  214. package/dist/.next/static/chunks/3832-10b779e2f89f162f.js.map +0 -1
  215. package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js +0 -2
  216. package/dist/.next/static/chunks/3998-c1c5bec61ce07357.js.map +0 -1
  217. package/dist/.next/static/chunks/428-61741966c36f4f72.js +0 -2
  218. package/dist/.next/static/chunks/428-61741966c36f4f72.js.map +0 -1
  219. package/dist/.next/static/chunks/5585-4f0c084850210a82.js +0 -2
  220. package/dist/.next/static/chunks/5585-4f0c084850210a82.js.map +0 -1
  221. package/dist/.next/static/chunks/5615-042f927b657e6db1.js +0 -41
  222. package/dist/.next/static/chunks/5615-042f927b657e6db1.js.map +0 -1
  223. package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js +0 -2
  224. package/dist/.next/static/chunks/5978-f3b8475a2d9f9299.js.map +0 -1
  225. package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js +0 -2
  226. package/dist/.next/static/chunks/6242-c1c2f1479529e9d4.js.map +0 -1
  227. package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js +0 -2
  228. package/dist/.next/static/chunks/6373-fc4799cc7a13474a.js.map +0 -1
  229. package/dist/.next/static/chunks/7398-c6de1642586049cd.js +0 -2
  230. package/dist/.next/static/chunks/7398-c6de1642586049cd.js.map +0 -1
  231. package/dist/.next/static/chunks/7564-44a20b31206685e1.js.map +0 -1
  232. package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js +0 -2
  233. package/dist/.next/static/chunks/79-1d568f3c4cd45bd4.js.map +0 -1
  234. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js +0 -2
  235. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-b66390eb4a95ac1a.js.map +0 -1
  236. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-3807a8bc2ae87548.js.map +0 -1
  237. package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js +0 -2
  238. package/dist/.next/static/chunks/app/(application)/dashboard/page-85d3f8d2bd28ae4b.js.map +0 -1
  239. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js +0 -2
  240. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-822dad4cb57f62e2.js.map +0 -1
  241. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js +0 -2
  242. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-3efd7701534078ea.js.map +0 -1
  243. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js +0 -2
  244. package/dist/.next/static/chunks/app/(application)/evals/[id]/runs/page-b6a3cb8435be3ade.js.map +0 -1
  245. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js +0 -2
  246. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-19382bb263f85fda.js.map +0 -1
  247. package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js +0 -2
  248. package/dist/.next/static/chunks/app/(application)/roles/page-acd9ef282bc53557.js.map +0 -1
  249. package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js +0 -2
  250. package/dist/.next/static/chunks/app/(application)/workflows/page-38488c44d89b32f4.js.map +0 -1
  251. package/dist/.next/static/css/a7092ddec8ffd4fb.css +0 -4
  252. package/dist/.next/static/css/a7092ddec8ffd4fb.css.map +0 -1
  253. /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_buildManifest.js +0 -0
  254. /package/dist/.next/static/{HHwzgh0RLIMeodnSs4vIv → soJPoIxCmlpJ75t9n-Q9V}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/chunks/app/(application)/chat/[agent]/[session]/page-3807a8bc2ae87548.js","mappings":"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","sources":["webpack://_N_E/?69f0","webpack://_N_E/./components/ai-elements/loader.tsx","webpack://_N_E/./components/ui/hover-card.tsx","webpack://_N_E/./components/ui/progress.tsx","webpack://_N_E/./components/ai-elements/context.tsx","webpack://_N_E/./components/ai-elements/tool.tsx","webpack://_N_E/./app/(application)/chat/[agent]/[session]/chat.tsx","webpack://_N_E/./app/(application)/chat/[agent]/[session]/page.tsx","webpack://_N_E/./components/ai-elements/conversation.tsx","webpack://_N_E/./components/lottie.tsx","webpack://_N_E/./components/ai-elements/message.tsx","webpack://_N_E/./components/ai-elements/actions.tsx","webpack://_N_E/./components/ai-elements/reasoning.tsx","webpack://_N_E/./components/ai-elements/source.tsx","webpack://_N_E/./components/message-renderer.tsx","webpack://_N_E/./components/ui/collapsible.tsx","webpack://_N_E/./components/ui/switch.tsx","webpack://_N_E/./lib/check-chat-session-write-access.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/chat/[agent]/[session]/page.tsx\");\n","import { cn } from '@/lib/utils';\nimport type { HTMLAttributes } from 'react';\n\ntype LoaderIconProps = {\n size?: number;\n};\n\nconst LoaderIcon = ({ size = 16 }: LoaderIconProps) => (\n <svg\n height={size}\n strokeLinejoin=\"round\"\n style={{ color: 'currentcolor' }}\n viewBox=\"0 0 16 16\"\n width={size}\n >\n <title>Loader</title>\n <g clipPath=\"url(#clip0_2393_1490)\">\n <path d=\"M8 0V4\" stroke=\"currentColor\" strokeWidth=\"1.5\" />\n <path\n d=\"M8 16V12\"\n opacity=\"0.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M3.29773 1.52783L5.64887 4.7639\"\n opacity=\"0.9\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M12.7023 1.52783L10.3511 4.7639\"\n opacity=\"0.1\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M12.7023 14.472L10.3511 11.236\"\n opacity=\"0.4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M3.29773 14.472L5.64887 11.236\"\n opacity=\"0.6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M15.6085 5.52783L11.8043 6.7639\"\n opacity=\"0.2\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M0.391602 10.472L4.19583 9.23598\"\n opacity=\"0.7\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M15.6085 10.4722L11.8043 9.2361\"\n opacity=\"0.3\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n <path\n d=\"M0.391602 5.52783L4.19583 6.7639\"\n opacity=\"0.8\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_2393_1490\">\n <rect fill=\"white\" height=\"16\" width=\"16\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport type LoaderProps = HTMLAttributes<HTMLDivElement> & {\n size?: number;\n};\n\nexport const Loader = ({ className, size = 16, ...props }: LoaderProps) => (\n <div\n className={cn(\n 'inline-flex animate-spin items-center justify-center',\n className\n )}\n {...props}\n >\n <LoaderIcon size={size} />\n </div>\n);\n","\"use client\";\n\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n","\"use client\";\n\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"size-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n));\nProgress.displayName = ProgressPrimitive.Root.displayName;\n\nexport { Progress };\n","\"use client\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n HoverCard,\n HoverCardContent,\n HoverCardTrigger,\n} from \"@/components/ui/hover-card\";\nimport { Progress } from \"@/components/ui/progress\";\nimport { cn } from \"@/lib/utils\";\nimport type { LanguageModelUsage } from \"ai\";\nimport { type ComponentProps, createContext, useContext } from \"react\";\nimport { estimateCost, type ModelId } from \"tokenlens\";\n\nconst PERCENT_MAX = 100;\nconst ICON_RADIUS = 10;\nconst ICON_VIEWBOX = 24;\nconst ICON_CENTER = 12;\nconst ICON_STROKE_WIDTH = 2;\n\ntype ContextSchema = {\n usedTokens: number;\n maxTokens: number;\n usage?: LanguageModelUsage;\n modelId?: ModelId;\n};\n\nconst ContextContext = createContext<ContextSchema | null>(null);\n\nconst useContextValue = () => {\n const context = useContext(ContextContext);\n\n if (!context) {\n throw new Error(\"Context components must be used within Context\");\n }\n\n return context;\n};\n\nexport type ContextProps = ComponentProps<typeof HoverCard> & ContextSchema;\n\nexport const Context = ({\n usedTokens,\n maxTokens,\n usage,\n modelId,\n ...props\n}: ContextProps) => (\n <ContextContext.Provider\n value={{\n usedTokens,\n maxTokens,\n usage,\n modelId,\n }}\n >\n <HoverCard closeDelay={0} openDelay={0} {...props} />\n </ContextContext.Provider>\n);\n\nconst ContextIcon = () => {\n const { usedTokens, maxTokens } = useContextValue();\n const circumference = 2 * Math.PI * ICON_RADIUS;\n const usedPercent = usedTokens / maxTokens;\n const dashOffset = circumference * (1 - usedPercent);\n\n return (\n <svg\n aria-label=\"Model context usage\"\n height=\"20\"\n role=\"img\"\n style={{ color: \"currentcolor\" }}\n viewBox={`0 0 ${ICON_VIEWBOX} ${ICON_VIEWBOX}`}\n width=\"20\"\n >\n <circle\n cx={ICON_CENTER}\n cy={ICON_CENTER}\n fill=\"none\"\n opacity=\"0.25\"\n r={ICON_RADIUS}\n stroke=\"currentColor\"\n strokeWidth={ICON_STROKE_WIDTH}\n />\n <circle\n cx={ICON_CENTER}\n cy={ICON_CENTER}\n fill=\"none\"\n opacity=\"0.7\"\n r={ICON_RADIUS}\n stroke=\"currentColor\"\n strokeDasharray={`${circumference} ${circumference}`}\n strokeDashoffset={dashOffset}\n strokeLinecap=\"round\"\n strokeWidth={ICON_STROKE_WIDTH}\n style={{ transformOrigin: \"center\", transform: \"rotate(-90deg)\" }}\n />\n </svg>\n );\n};\n\nexport type ContextTriggerProps = ComponentProps<typeof Button>;\n\nexport const ContextTrigger = ({ children, ...props }: ContextTriggerProps) => {\n const { usedTokens, maxTokens } = useContextValue();\n const usedPercent = usedTokens / maxTokens;\n const renderedPercent = new Intl.NumberFormat(\"en-US\", {\n style: \"percent\",\n maximumFractionDigits: 1,\n }).format(usedPercent);\n\n return (\n <HoverCardTrigger asChild>\n {children ?? (\n <Button type=\"button\" variant=\"ghost\" {...props}>\n <span className=\"font-medium text-muted-foreground\">\n {renderedPercent}\n </span>\n <ContextIcon />\n </Button>\n )}\n </HoverCardTrigger>\n );\n};\n\nexport type ContextContentProps = ComponentProps<typeof HoverCardContent>;\n\nexport const ContextContent = ({\n className,\n ...props\n}: ContextContentProps) => (\n <HoverCardContent\n className={cn(\"min-w-[240px] divide-y overflow-hidden p-0\", className)}\n {...props}\n />\n);\n\nexport type ContextContentHeader = ComponentProps<\"div\">;\n\nexport const ContextContentHeader = ({\n children,\n className,\n ...props\n}: ContextContentHeader) => {\n const { usedTokens, maxTokens } = useContextValue();\n const usedPercent = usedTokens / maxTokens;\n const displayPct = new Intl.NumberFormat(\"en-US\", {\n style: \"percent\",\n maximumFractionDigits: 1,\n }).format(usedPercent);\n const used = new Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n }).format(usedTokens);\n const total = new Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n }).format(maxTokens);\n\n return (\n <div className={cn(\"w-full space-y-2 p-3\", className)} {...props}>\n {children ?? (\n <>\n <div className=\"flex items-center justify-between gap-3 text-xs\">\n <p>{displayPct}</p>\n <p className=\"font-mono text-muted-foreground\">\n {used} / {total}\n </p>\n </div>\n <div className=\"space-y-2\">\n <Progress className=\"bg-muted\" value={usedPercent * PERCENT_MAX} />\n </div>\n </>\n )}\n </div>\n );\n};\n\nexport type ContextContentBody = ComponentProps<\"div\">;\n\nexport const ContextContentBody = ({\n children,\n className,\n ...props\n}: ContextContentBody) => (\n <div className={cn(\"w-full p-3\", className)} {...props}>\n {children}\n </div>\n);\n\nexport type ContextContentFooter = ComponentProps<\"div\">;\n\nexport const ContextContentFooter = ({\n children,\n className,\n ...props\n}: ContextContentFooter) => {\n const { modelId, usage } = useContextValue();\n const costUSD = modelId\n ? estimateCost({\n modelId,\n usage: {\n input: usage?.inputTokens ?? 0,\n output: usage?.outputTokens ?? 0,\n },\n }).totalUSD\n : undefined;\n const totalCost = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(costUSD ?? 0);\n\n return (\n <div\n className={cn(\n \"flex w-full items-center justify-between gap-3 bg-secondary p-3 text-xs\",\n className\n )}\n {...props}\n >\n {children ?? (\n <>\n <span className=\"text-muted-foreground\">Total cost</span>\n <span>{totalCost}</span>\n </>\n )}\n </div>\n );\n};\n\nexport type ContextInputUsageProps = ComponentProps<\"div\">;\n\nexport const ContextInputUsage = ({\n className,\n children,\n ...props\n}: ContextInputUsageProps) => {\n const { usage, modelId } = useContextValue();\n const inputTokens = usage?.inputTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!inputTokens) {\n return null;\n }\n\n const inputCost = modelId\n ? estimateCost({\n modelId,\n usage: { input: inputTokens, output: 0 },\n }).totalUSD\n : undefined;\n const inputCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(inputCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Input</span>\n <TokensWithCost costText={inputCostText} tokens={inputTokens} />\n </div>\n );\n};\n\nexport type ContextOutputUsageProps = ComponentProps<\"div\">;\n\nexport const ContextOutputUsage = ({\n className,\n children,\n ...props\n}: ContextOutputUsageProps) => {\n const { usage, modelId } = useContextValue();\n const outputTokens = usage?.outputTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!outputTokens) {\n return null;\n }\n\n const outputCost = modelId\n ? estimateCost({\n modelId,\n usage: { input: 0, output: outputTokens },\n }).totalUSD\n : undefined;\n const outputCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(outputCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Output</span>\n <TokensWithCost costText={outputCostText} tokens={outputTokens} />\n </div>\n );\n};\n\nexport type ContextReasoningUsageProps = ComponentProps<\"div\">;\n\nexport const ContextReasoningUsage = ({\n className,\n children,\n ...props\n}: ContextReasoningUsageProps) => {\n const { usage, modelId } = useContextValue();\n const reasoningTokens = usage?.reasoningTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!reasoningTokens) {\n return null;\n }\n\n const reasoningCost = modelId\n ? estimateCost({\n modelId,\n usage: { reasoningTokens },\n }).totalUSD\n : undefined;\n const reasoningCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(reasoningCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Reasoning</span>\n <TokensWithCost costText={reasoningCostText} tokens={reasoningTokens} />\n </div>\n );\n};\n\nexport type ContextCacheUsageProps = ComponentProps<\"div\">;\n\nexport const ContextCacheUsage = ({\n className,\n children,\n ...props\n}: ContextCacheUsageProps) => {\n const { usage, modelId } = useContextValue();\n const cacheTokens = usage?.cachedInputTokens ?? 0;\n\n if (children) {\n return children;\n }\n\n if (!cacheTokens) {\n return null;\n }\n\n const cacheCost = modelId\n ? estimateCost({\n modelId,\n usage: { cacheReads: cacheTokens, input: 0, output: 0 },\n }).totalUSD\n : undefined;\n const cacheCostText = new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n }).format(cacheCost ?? 0);\n\n return (\n <div\n className={cn(\"flex items-center justify-between text-xs\", className)}\n {...props}\n >\n <span className=\"text-muted-foreground\">Cache</span>\n <TokensWithCost costText={cacheCostText} tokens={cacheTokens} />\n </div>\n );\n};\n\nconst TokensWithCost = ({\n tokens,\n costText,\n}: {\n tokens?: number;\n costText?: string;\n}) => (\n <span>\n {tokens === undefined\n ? \"—\"\n : new Intl.NumberFormat(\"en-US\", {\n notation: \"compact\",\n }).format(tokens)}\n {costText ? (\n <span className=\"ml-2 text-muted-foreground\">• {costText}</span>\n ) : null}\n </span>\n);\n","'use client';\n\nimport { Badge } from '@/components/ui/badge';\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '@/components/ui/collapsible';\nimport { cn } from '@/lib/utils';\nimport type { ToolUIPart } from 'ai';\nimport {\n CheckCircleIcon,\n ChevronDownIcon,\n CircleIcon,\n ClockIcon,\n WrenchIcon,\n XCircleIcon,\n} from 'lucide-react';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { CodeBlock } from './code-block';\n\nexport type ToolProps = ComponentProps<typeof Collapsible>;\n\nexport const Tool = ({ className, ...props }: ToolProps) => (\n <Collapsible\n className={cn('not-prose mb-4 w-full rounded-md border', className)}\n {...props}\n />\n);\n\nexport type ToolHeaderProps = {\n type: ToolUIPart['type'];\n state: ToolUIPart['state'];\n className?: string;\n};\n\nconst getStatusBadge = (status: ToolUIPart['state']) => {\n const labels = {\n 'input-streaming': 'Pending',\n 'input-available': 'Running',\n 'output-available': 'Completed',\n 'output-error': 'Error',\n } as const;\n\n const icons = {\n 'input-streaming': <CircleIcon className=\"size-4 mr-2\" />,\n 'input-available': <ClockIcon className=\"size-4 animate-pulse mr-2\" />,\n 'output-available': <CheckCircleIcon className=\"size-4 text-green-600 mr-2\" />,\n 'output-error': <XCircleIcon className=\"size-4 text-red-600 mr-2\" />,\n } as const;\n\n return (\n <Badge className=\"rounded-full text-xs\" variant=\"secondary\">\n {icons[status]}\n {labels[status]}\n </Badge>\n );\n};\n\nexport const ToolHeader = ({\n className,\n type,\n state,\n ...props\n}: ToolHeaderProps) => (\n <CollapsibleTrigger\n className={cn(\n 'flex w-full items-center justify-between gap-4 p-3',\n className\n )}\n {...props}\n >\n <div className=\"flex items-center gap-2\">\n <WrenchIcon className=\"size-4 text-muted-foreground\" />\n <span className=\"font-medium text-sm\">{type}</span>\n {getStatusBadge(state)}\n </div>\n <ChevronDownIcon className=\"size-4 text-muted-foreground transition-transform group-data-[state=open]:rotate-180\" />\n </CollapsibleTrigger>\n);\n\nexport type ToolContentProps = ComponentProps<typeof CollapsibleContent>;\n\nexport const ToolContent = ({ className, ...props }: ToolContentProps) => (\n <CollapsibleContent\n className={cn(\n 'data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 text-popover-foreground outline-none data-[state=closed]:animate-out data-[state=open]:animate-in',\n className\n )}\n {...props}\n />\n);\n\nexport type ToolInputProps = ComponentProps<'div'> & {\n input: ToolUIPart['input'];\n};\n\nexport const ToolInput = ({ className, input, ...props }: ToolInputProps) => (\n <div className={cn('space-y-2 overflow-hidden p-4', className)} {...props}>\n <h4 className=\"font-medium text-muted-foreground text-xs uppercase tracking-wide\">\n Parameters\n </h4>\n <div className=\"rounded-md bg-muted/50\">\n <CodeBlock code={JSON.stringify(input, null, 2)} language=\"json\" />\n </div>\n </div>\n);\n\nexport type ToolOutputProps = ComponentProps<'div'> & {\n output: ReactNode;\n errorText: ToolUIPart['errorText'];\n};\n\nexport const ToolOutput = ({\n className,\n output,\n errorText,\n ...props\n}: ToolOutputProps): JSX.Element => {\n if (!(output || errorText)) {\n return <></>;\n }\n\n return (\n <div className={cn('space-y-2 p-4', className)} {...props}>\n <h4 className=\"font-medium text-muted-foreground text-xs tracking-wide\">\n {errorText ? 'Error' : 'Result'}\n </h4>\n <div\n className={cn(\n 'overflow-x-auto rounded-md text-xs [&_table]:w-full p-5',\n errorText\n ? 'bg-destructive/10 text-destructive'\n : 'bg-muted/50 text-foreground'\n )}\n >\n {errorText && <div>{errorText}</div>}\n {output && <div>{output}</div>}\n </div>\n </div>\n );\n};\n","\"use client\"\n\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { useMutation, useQuery } from \"@apollo/client\";\nimport { ChatRequestOptions, DefaultChatTransport, DynamicToolUIPart, FileUIPart, lastAssistantMessageIsCompleteWithToolCalls, UIMessage } from \"ai\";\nimport { useChat } from '@ai-sdk/react';\nimport * as React from \"react\";\nimport { useContext, useEffect, useState, useMemo } from \"react\";\nimport { UserContext } from \"@/app/(application)/authenticated\";\nimport { StopIcon } from \"@radix-ui/react-icons\";\nimport { AgentMessage, AgentSession } from \"@EXULU_SHARED/models/agent-session\";\nimport { Loader } from '@/components/ai-elements/loader';\nimport TextareaAutosize from \"react-textarea-autosize\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport {\n GET_AGENT_MESSAGES,\n GET_USER_BY_ID,\n UPDATE_AGENT_SESSION_RBAC,\n} from \"@/queries/queries\";\nimport { getToken } from \"@/util/api\"\nimport { Agent } from \"@EXULU_SHARED/models/agent\";\nimport Image from \"next/image\";\nimport { ConfigContext } from \"@/components/config-context\";\nimport { Workflow, Plus, ArrowUp, ChevronsUpDown } from \"lucide-react\";\nimport { useToast } from \"@/components/ui/use-toast\"\nimport { SaveWorkflowModal } from \"@/components/save-workflow-modal\";\nimport { Button } from \"@/components/ui/button\";\nimport { Switch } from \"@/components/ui/switch\";\nimport { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Conversation, ConversationContent } from \"@/components/ai-elements/conversation\";\nimport { useIsMobile } from \"@/hooks/use-mobile\";\nimport { RBACControl } from \"@/components/rbac\";\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from \"@/components/ui/collapsible\";\nimport { Loading } from \"@/components/ui/loading\";\nimport { Badge } from \"@/components/ui/badge\";\nimport { checkChatSessionWriteAccess } from \"@/lib/check-chat-session-write-access\";\nimport UppyDashboard, { FileItem, getPresignedUrl } from \"@/components/uppy-dashboard\";\nimport { Item } from \"@/types/models/item\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport {\n Context,\n ContextTrigger,\n ContextContent,\n ContextContentHeader,\n ContextContentBody,\n ContextInputUsage,\n ContextOutputUsage,\n ContextReasoningUsage,\n ContextCacheUsage,\n} from '@/components/ai-elements/context';\nimport { Progress } from \"@/components/ui/progress\";\nimport {\n Tool,\n ToolContent,\n ToolHeader,\n ToolOutput,\n ToolInput,\n} from '@/components/ai-elements/tool';\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { MessageRenderer } from \"@/components/message-renderer\";\nimport { Response } from '@/components/ai-elements/response';\nimport AgentVisual from \"@/components/lottie\";\nimport { useTheme } from \"next-themes\";\nimport Logo from \"@/components/logo\";\nexport interface ChatProps {\n chatId?: string;\n agentId?: string;\n messages?: UIMessage[];\n input?: string;\n handleInputChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n addToolResult?: any\n handleSubmit?: (\n e: React.FormEvent<HTMLFormElement>,\n chatRequestOptions?: ChatRequestOptions,\n ) => void;\n isLoading: boolean;\n onFilesSelected: (file: any[]) => void;\n error?: undefined | Error;\n stop?: () => void;\n}\n\nexport function ChatLayout({ session, agent }: { session: AgentSession, agent: Agent }) {\n\n const [error, setError] = useState<string | null>(null);\n const configContext = React.useContext(ConfigContext);\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const [files, setFiles] = useState<FileUIPart[] | null>(null);\n const [items, setItems] = useState<string[] | null>(null);\n const { user } = useContext(UserContext);\n const [copyingTableId, setCopyingTableId] = useState<string | null>(null);\n const [showSaveWorkflowModal, setShowSaveWorkflowModal] = useState(false);\n const [input, setInput] = useState('');\n const [disabledTools, setDisabledTools] = useState<string[]>([]);\n const inputRef = React.useRef<HTMLTextAreaElement>(null);\n const { toast } = useToast()\n\n const [rbac, setRbac] = useState({\n rights_mode: session?.rights_mode || 'private',\n users: session?.RBAC?.users || [],\n roles: session?.RBAC?.roles || [],\n projects: session?.RBAC?.projects || []\n })\n\n const creatorQuery = useQuery(GET_USER_BY_ID, {\n variables: { id: session.created_by },\n skip: !session.created_by\n })\n\n\n const [updateAgentSessionRbac, updateAgentSessionRbacResult] = useMutation(UPDATE_AGENT_SESSION_RBAC);\n const [tokenCounts, setTokenCounts] = useState<MessageMetadata>({\n totalTokens: 0,\n reasoningTokens: 0,\n inputTokens: 0,\n outputTokens: 0,\n cachedInputTokens: 0\n });\n\n useQuery<{\n agent_messagesPagination: {\n items: AgentMessage[]\n };\n }>(GET_AGENT_MESSAGES, {\n returnPartialData: true,\n fetchPolicy: \"network-only\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: 1,\n limit: 50,\n filters: {\n session: {\n eq: session.id\n }\n },\n },\n onCompleted: (data) => {\n if (data?.agent_messagesPagination) {\n const messages = data?.agent_messagesPagination.items.map((item) => (JSON.parse(item.content)))\n setMessages(messages as any[]);\n }\n },\n });\n\n const {\n messages,\n sendMessage,\n status,\n stop,\n regenerate,\n setMessages,\n addToolResult\n } = useChat({\n sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,\n // Throttle the messages and data updates to 50ms:\n experimental_throttle: 50,\n async onToolCall({ toolCall }) {\n // Check if it's a dynamic tool first for proper type narrowing\n if (toolCall.dynamic) {\n return;\n }\n\n if (toolCall.toolName === 'getLocation') {\n const cities = ['New York', 'Los Angeles', 'Chicago', 'San Francisco'];\n\n // No await - avoids potential deadlocks\n addToolResult({\n tool: 'confirm-tool-call',\n toolCallId: toolCall.toolCallId,\n output: cities[Math.floor(Math.random() * cities.length)],\n });\n }\n },\n onError: (error) => {\n console.log(\"error!!\", error?.message)\n try {\n const { message } = JSON.parse(error?.message)\n setError(message)\n } catch (x) {\n setError(error.message)\n }\n },\n transport: new DefaultChatTransport({\n api: `${configContext?.backend}${agent.slug}/${agent.id}`,\n // only send the last message to the server: we load\n // the history from the database.\n prepareSendMessagesRequest: async ({ messages, id: chatId, body }) => {\n const token = await getToken()\n if (!token) {\n throw new Error(\"No valid session token available.\")\n }\n return {\n body: {\n ...body,\n message: messages[messages.length - 1],\n id: chatId,\n session: session.id,\n }, headers: {\n User: user.id,\n Session: session.id,\n Authorization: `Bearer ${token}`,\n Stream: \"true\"\n }\n };\n },\n })\n });\n\n type MessageMetadata = {\n totalTokens: number;\n reasoningTokens: number;\n inputTokens: number;\n outputTokens: number;\n cachedInputTokens: number;\n }\n\n useEffect(() => {\n const totalCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.totalTokens || 0);\n }, 0);\n const reasoningCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.reasoningTokens || 0);\n }, 0);\n const inputCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.inputTokens || 0);\n }, 0);\n const outputCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.outputTokens || 0);\n }, 0);\n const cachedInputCount = messages?.reduce((acc, message) => {\n const messageMetadata: MessageMetadata = message.metadata as any;\n return acc + (messageMetadata?.cachedInputTokens || 0);\n }, 0);\n setTokenCounts({\n totalTokens: totalCount,\n reasoningTokens: reasoningCount,\n inputTokens: inputCount,\n outputTokens: outputCount,\n cachedInputTokens: cachedInputCount\n })\n }, [messages])\n\n // Check if conversation has enough content for a workflow\n const canCreateWorkflow = useMemo(() => {\n const userMessages = messages?.filter(m => m.role === 'user') || [];\n const assistantMessages = messages?.filter(m => m.role === 'assistant') || [];\n return userMessages.length >= 1 && assistantMessages.length >= 1;\n }, [messages]);\n\n const convertTableToCSV = (tableElement: HTMLTableElement): string => {\n const rows = Array.from(tableElement.querySelectorAll('tr'));\n const csvRows: string[] = [];\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('th, td'));\n const csvRow = cells.map(cell => {\n // Escape quotes and wrap in quotes if contains comma, newline, or quote\n let text = cell.textContent || '';\n text = text.replace(/\"/g, '\"\"');\n if (text.includes(',') || text.includes('\\n') || text.includes('\"')) {\n text = `\"${text}\"`;\n }\n return text;\n });\n csvRows.push(csvRow.join(','));\n });\n\n return csvRows.join('\\n');\n };\n\n const copyTableAsCSV = async (tableElement: HTMLTableElement, tableId: string) => {\n setCopyingTableId(tableId);\n\n try {\n const csv = convertTableToCSV(tableElement);\n await navigator.clipboard.writeText(csv);\n\n toast({\n title: \"Table copied!\",\n description: \"Table data has been copied to clipboard as CSV\",\n });\n\n // Reset the copying state after a short delay\n setTimeout(() => {\n setCopyingTableId(null);\n }, 2000);\n } catch (err) {\n toast({\n title: \"Copy failed\",\n description: \"Failed to copy table to clipboard\",\n variant: \"destructive\",\n });\n setCopyingTableId(null);\n }\n };\n\n const onSubmit = async (\n e: React.FormEvent,\n options?: ChatRequestOptions,\n ) => {\n e.preventDefault();\n sendMessage({\n text: input,\n files: files || []\n }, {\n body: {\n disabledTools: disabledTools,\n },\n });\n setInput('');\n };\n\n const handleKeyPress = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey) {\n e.preventDefault();\n onSubmit(e as unknown as React.FormEvent<HTMLFormElement>);\n }\n };\n\n const toggleTool = (id: string) => {\n setDisabledTools(prev =>\n prev.includes(id)\n ? prev.filter(name => name !== id)\n : [...prev, id]\n );\n };\n\n const writeAccess = checkChatSessionWriteAccess(session, user);\n\n const updateMessageFiles = async (items: Item[]) => {\n const files = await Promise.all(items.map(async (item) => {\n\n if (!item.s3key) {\n // Take all item fields and turn into a data url\n let content = \"\";\n Object.entries(item).forEach(([key, value]) => {\n content += `${key}: ${value}\\n`\n })\n return {\n type: \"file\" as const,\n mediaType: item.type,\n filename: item.name,\n url: `data:text/plain;base64,${btoa(content)}`\n }\n }\n\n return {\n type: \"file\" as const,\n mediaType: item.type,\n filename: item.name,\n url: await getPresignedUrl(item.s3key)\n }\n\n }))\n setFiles(files)\n }\n\n useEffect(() => {\n if (!items) {\n setFiles(null)\n return;\n }\n updateMessageFiles(items.map(item => ({\n s3key: item,\n name: item,\n type: \"file\"\n })))\n }, [items])\n\n return (\n <div className=\"flex flex-col w-full\">\n <div className=\"mx-auto relative size-full\">\n <div className=\"flex h-full w-full\">\n {/* Main conversation area */}\n <div className=\"flex flex-col flex-1 pb-6\">\n {/* @ts-ignore */}\n <Conversation className=\"overflow-y-hidden\">\n {/* Save as Workflow button - appears when conversation has content */}\n {canCreateWorkflow ? (\n <div className=\"flex justify-between absolute top-0 left-0 right-0 items-center px-4 py-2 border-b z-10 dark:bg-black bg-white\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Workflow className=\"w-4 h-4\" />\n Turn this conversation into a reusable workflow\n </div>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => setShowSaveWorkflowModal(true)}\n >\n <Plus className=\"w-4 h-4 mr-2\" />\n Save as Workflow\n </Button>\n </div>\n ) : null}\n {\n /* Show a bar that fills up depending on the total tokens used */\n agent.maxContextLength ? (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <div className={`absolute w-full ${canCreateWorkflow ? 'top-10' : 'top-0'}`}>\n <Progress className=\"w-full rounded-none\" value={tokenCounts.totalTokens / agent.maxContextLength * 100} />\n <div className=\"justify-between flex felx-row\">\n <div></div>\n <Context\n maxTokens={agent.maxContextLength || 0}\n usedTokens={tokenCounts.totalTokens}\n usage={{\n inputTokens: tokenCounts.inputTokens,\n outputTokens: tokenCounts.outputTokens,\n totalTokens: tokenCounts.totalTokens,\n cachedInputTokens: tokenCounts.cachedInputTokens,\n reasoningTokens: tokenCounts.reasoningTokens,\n }}>\n <ContextTrigger />\n <ContextContent>\n <ContextContentHeader />\n <ContextContentBody>\n {/* @ts-ignore */}\n <ContextInputUsage />\n {/* @ts-ignore */}\n <ContextOutputUsage />\n {/* @ts-ignore */}\n <ContextReasoningUsage />\n {/* @ts-ignore */}\n <ContextCacheUsage />\n </ContextContentBody>\n </ContextContent>\n </Context>\n </div>\n </div>\n </TooltipTrigger>\n <TooltipContent>\n <p>{Intl.NumberFormat('en-US').format(tokenCounts.totalTokens)} / {Intl.NumberFormat('en-US').format(agent.maxContextLength)} tokens in the context window used.</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n ) : null}\n {messages?.length === 0 ?\n <div className=\"size-full flex justify-center items-center\">\n <div className=\"flex flex-col gap-4 items-center max-w-2xl w-full px-4 my-auto\">\n <Logo alt=\"Logo\" width={120} height={120} className=\"h-30 w-40 object-contain\" />\n <p className=\"text-center text-lg text-muted-foreground\">\n How can I help you today?\n </p>\n\n <AgentVisual agent={agent} status={status} className=\"w-80\"/>\n\n {/* Workflow Banner for new users */}\n <Card className=\"w-full mb-6\">\n <CardHeader className=\"text-center\">\n <CardTitle className=\"flex items-center justify-center gap-2\">\n <Workflow className=\"w-5 h-5\" />\n Create Reusable Workflows\n </CardTitle>\n <CardDescription>\n Turn your conversations into templates that can be reused with different inputs. Perfect for recurring tasks and processes.\n </CardDescription>\n </CardHeader>\n <CardContent className=\"text-center\">\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled\n className=\"text-muted-foreground\"\n >\n <Plus className=\"w-4 h-4 mr-2\" />\n Save as Workflow\n <span className=\"ml-2 text-xs\">(Available after chatting)</span>\n </Button>\n </CardContent>\n </Card>\n </div>\n </div> : null}\n {/* @ts-ignore */}\n <ConversationContent className=\"px-6\">\n {messages?.length > 0 && (\n <MessageRenderer\n messages={messages}\n config={{\n marginTopFirstMessage: 'mt-12'\n }}\n status={status}\n onRegenerate={regenerate}\n onAddToolResult={addToolResult}\n UntypedToolPartComponent={UntypedToolPart}\n addToContext={(item) => {\n setItems([...(items || []), item])\n }}\n writeAccess={writeAccess}\n />\n )}\n\n {status === \"streaming\" ? <Loader /> : null}\n\n </ConversationContent>\n </Conversation>\n {\n !writeAccess && (\n <div className=\"px-6 mx-auto mt-3\">\n <Badge variant=\"outline\">Read access only</Badge>\n </div>\n )\n }\n {error && (\n <div className=\"mx-5\">\n <Alert className=\"mb-3\" variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n {error}\n </AlertDescription>\n </Alert>\n </div>\n )}\n {writeAccess && (\n <form\n onSubmit={onSubmit}\n className=\"px-6 border-input border rounded flex mx-5 p-5 flex-col gap-2\">\n <div className=\"items-center flex relative gap-2 w-full\">\n {\n configContext?.fileUploads?.s3endpoint && (<UppyDashboard\n id={`chat-${session.id}`}\n selectionLimit={10}\n allowedFileTypes={[\n ...agent.capabilities?.audio || [],\n ...agent.capabilities?.video || [],\n ...agent.capabilities?.files || [],\n ...agent.capabilities?.images || [],\n ]}\n dependencies={[]}\n onConfirm={(items) => {\n setItems(items)\n }}\n />)\n }\n <TextareaAutosize\n autoComplete=\"off\"\n autoFocus={true}\n minRows={1}\n value={input}\n ref={inputRef}\n onKeyDown={handleKeyPress}\n onChange={(e) => setInput(e.target.value)}\n name=\"message\"\n placeholder={`Ask me anything...`}\n className=\"max-h-40 px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 w-full items-center h-28 resize-none overflow-hidden dark:bg-card/35\"\n />\n {status !== \"streaming\" ? (\n <Button\n className=\"shrink-0\"\n variant=\"secondary\"\n size=\"icon\"\n disabled={status === \"submitted\" || !input?.trim()}\n >\n <ArrowUp className=\" size-6 text-muted-foreground\" />\n </Button>\n ) : (\n <Button\n className=\"shrink-0\"\n variant=\"secondary\"\n size=\"icon\"\n onClick={stop}\n >\n <StopIcon className=\"size-6 text-muted-foreground\" />\n </Button>\n )}\n </div>\n <div className=\"grid grid-cols-3 sm:grid-cols-4 gap-3\">\n {/* Show selected files */}\n {items?.map((item) => (\n <FileItem s3Key={item} disabled={true} active={false} onRemove={() => {\n setItems(items?.filter((i) => i !== item))\n }} />\n ))}\n </div>\n </form>\n )}\n {/* Save Workflow Modal */}\n <SaveWorkflowModal\n isOpen={showSaveWorkflowModal}\n onClose={() => setShowSaveWorkflowModal(false)}\n messages={messages || []}\n sessionTitle={session.title}\n />\n </div>\n\n {/* Agent Details Sidebar */}\n {writeAccess && (\n <div className=\"w-80 border-l bg-muted/20 p-4 space-y-4\">\n {\n messages?.length > 0 && (\n <div>\n <AgentVisual agent={agent} status={status} className=\"w-80\" />\n </div>\n )\n }\n <div>\n <p className=\"text-sm font-medium text-center\">{agent.name}</p>\n </div>\n {agent.description && (\n <p className=\"text-xs text-muted-foreground mt-1\">\n {agent.description}\n </p>\n )}\n <hr className=\"my-2\" />\n <div className=\"mt-1\">\n <div className=\"border rounded\">\n {\n creatorQuery.loading && (\n <div className=\"flex flex-row justify-between p-3\">\n <p className=\"text-sm font-medium\">Session created by</p>\n <Loading className=\"ml-2\" />\n </div>\n )\n }\n {creatorQuery.data?.userById && !creatorQuery.loading && (\n <div className=\"flex flex-row justify-between p-3\">\n <p className=\"text-sm font-medium\">Session created by</p>\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n <p className=\"text-sm font-medium capitalize\">{creatorQuery.data.userById.name}</p>\n </div>\n </div>\n )}\n </div>\n </div>\n <div>\n <p className=\"text-xs font-medium text-muted-foreground pt-2\">\n You can disable tools for individual messages in this session by clicking the switch:</p>\n <TooltipProvider>\n <div className=\"space-y-1 pt-2\">\n {agent.tools && agent.tools.length > 0 ? (\n agent.tools.map((tool) => {\n const isEnabled = !disabledTools.includes(tool.id);\n return (\n <Tooltip key={tool.name}>\n <TooltipTrigger asChild>\n <div className=\"p-2 rounded-md border text-xs bg-background flex items-center justify-between\">\n <p className=\"font-medium flex items-center gap-2\">\n {tool.name}\n </p>\n <Switch\n checked={isEnabled}\n onCheckedChange={() => toggleTool(tool.id)}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n <p className=\"max-w-[200px] text-wrap\">{tool.description}</p>\n </TooltipContent>\n </Tooltip>\n );\n })\n ) : (\n <p className=\"text-xs text-muted-foreground\">No tools enabled.</p>\n )}\n </div>\n </TooltipProvider>\n </div>\n <div className=\"mt-1\">\n <Collapsible className=\"border rounded\">\n <CardHeader className=\"px-3 py-1\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex flex-col\">\n <p className=\"text-sm font-medium\">\n Access control ({session.rights_mode})\n </p>\n </div>\n <CollapsibleTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"size-8\">\n <ChevronsUpDown className=\"size-4\" />\n <span className=\"sr-only\">Toggle</span>\n </Button>\n </CollapsibleTrigger>\n </div>\n </CardHeader>\n <CollapsibleContent>\n <CardContent className=\"space-y-4 p-3\">\n <RBACControl\n allowedModes={['private', 'users', 'roles', 'projects']}\n initialRightsMode={session.rights_mode}\n initialUsers={session.RBAC?.users}\n initialRoles={session.RBAC?.roles}\n initialProjects={session.RBAC?.projects}\n onChange={(rights_mode, users, roles, projects) => {\n setRbac({\n rights_mode,\n users,\n roles,\n projects\n })\n }}\n />\n <Button disabled={updateAgentSessionRbacResult.loading} onClick={() => {\n updateAgentSessionRbac({\n variables: {\n id: session.id,\n rights_mode: rbac.rights_mode,\n RBAC: {\n users: rbac.users,\n roles: rbac.roles,\n projects: rbac.projects\n }\n }\n })\n }}>Save access rights {updateAgentSessionRbacResult.loading && <Loading className=\"ml-2\" />} </Button>\n </CardContent>\n </CollapsibleContent>\n </Collapsible>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\n\nconst UntypedToolPart = ({ untypedToolPart, callId, addToContext }: { untypedToolPart: DynamicToolUIPart, callId: string, addToContext: (item: string) => void }) => {\n\n const output = untypedToolPart.output as any;\n console.log(\"output\", output)\n // Replace - and _, replace 'tool-' prefix\n let styleToolName = untypedToolPart.type?.replace(/ /g, \"-\")\n styleToolName = styleToolName?.replace(/tool-/g, \"\")\n styleToolName = styleToolName?.replace(/_/g, \" \")\n styleToolName = styleToolName?.charAt(0).toUpperCase() + styleToolName?.slice(1)\n\n return <Tool key={callId} className=\"mt-3\" defaultOpen={false}>\n <ToolHeader className=\"capitalize\" type={styleToolName as `tool-${string}`} state={untypedToolPart.state} />\n <ToolContent>\n <ToolInput input={untypedToolPart.input} />\n {\n output?.items?.length ? <div className=\"grid grid-cols-3 sm:grid-cols-4 gap-3 px-4 pb-4\">\n {output.items.map((item) => <FileItem addToContext={(item) => {\n addToContext(item)\n }} s3Key={item} disabled={true} active={false} />)}\n </div> :\n <ToolOutput\n output={\n output ?\n <Response>\n {typeof output === 'string' ?\n output : JSON.stringify(output, null, 2)\n }\n </Response>\n : !untypedToolPart.errorText && <Skeleton className=\"h-4 w-full\" />\n }\n errorText={untypedToolPart.errorText}\n />\n }\n </ToolContent>\n </Tool>\n}","\"use client\"\n\nimport * as React from \"react\";\nimport { ChatLayout } from \"@/app/(application)/chat/[agent]/[session]/chat\";\nimport { Alert, AlertDescription, AlertTitle } from \"@/components/ui/alert\";\nimport { ExclamationTriangleIcon } from \"@radix-ui/react-icons\";\nimport { Agent } from \"@EXULU_SHARED/models/agent\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport { useQuery } from \"@apollo/client\";\nimport { GET_AGENT_BY_ID, GET_AGENT_SESSION_BY_ID } from \"@/queries/queries\";\nimport { AgentSession } from \"@/types/models/agent-session\";\n\nexport const dynamic = \"force-dynamic\";\n\nexport default function SessionsPage({\n params,\n}: {\n params: { session: string, agent: string };\n}) {\n\n const { data: agentData, loading: agentLoading, error: agentError } = useQuery<{\n agentById: Agent\n }>(GET_AGENT_BY_ID, {\n variables: {\n id: params.agent,\n },\n });\n\n const { data: sessionData, loading: sessionLoading, error: sessionError } = useQuery<{\n agent_sessionById: AgentSession;\n }>(GET_AGENT_SESSION_BY_ID, {\n returnPartialData: true,\n fetchPolicy: \"network-only\",\n nextFetchPolicy: \"network-only\",\n variables: {\n id: params.session\n },\n });\n\n if (sessionLoading || agentLoading) {\n return <div>\n <Skeleton className=\"w-full h-full\" />\n </div>\n }\n\n if (sessionError || agentError) {\n return <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n Error loading agent {agentError?.message || sessionError?.message}.\n </AlertDescription>\n </Alert>\n }\n\n if (!agentData?.agentById || !sessionData?.agent_sessionById) {\n return <Alert variant=\"destructive\">\n <ExclamationTriangleIcon className=\"size-4\" />\n <AlertTitle>Error</AlertTitle>\n <AlertDescription>\n Agent or session not found.\n </AlertDescription>\n </Alert>\n }\n\n return <ChatLayout session={sessionData?.agent_sessionById} agent={agentData.agentById} />;\n}\n","'use client';\n\nimport { Button } from '@/components/ui/button';\nimport { cn } from '@/lib/utils';\nimport { ArrowDownIcon } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { useCallback } from 'react';\nimport { StickToBottom, useStickToBottomContext } from 'use-stick-to-bottom';\n\n// @ts-ignore\nexport type ConversationProps = ComponentProps<typeof StickToBottom>;\n\n// @ts-ignore\nexport const Conversation = ({ className, ...props }: ConversationProps) => (\n// @ts-ignore\n <StickToBottom\n className={cn('relative flex-1 overflow-y-auto', className)}\n initial=\"smooth\"\n resize=\"smooth\"\n role=\"log\"\n {...props}\n />\n);\n\nexport type ConversationContentProps = ComponentProps<\n // @ts-ignore\n typeof StickToBottom.Content\n>;\n\nexport const ConversationContent = ({\n // @ts-ignore\n className,\n ...props\n}: ConversationContentProps) => (\n // @ts-ignore\n <StickToBottom.Content className={cn('p-4', className)} {...props} />\n);\n\nexport type ConversationScrollButtonProps = ComponentProps<typeof Button>;\n\nexport const ConversationScrollButton = ({\n className,\n ...props\n}: ConversationScrollButtonProps) => {\n const { isAtBottom, scrollToBottom } = useStickToBottomContext();\n\n const handleScrollToBottom = useCallback(() => {\n scrollToBottom();\n }, [scrollToBottom]);\n\n return (\n !isAtBottom && (\n <Button\n className={cn(\n 'absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full',\n className\n )}\n onClick={handleScrollToBottom}\n size=\"icon\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n <ArrowDownIcon className=\"size-4\" />\n </Button>\n )\n );\n};\n","\"use client\";\n\nimport { Agent } from \"@/types/models/agent\";\nimport { useLottie } from \"lottie-react\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { getPresignedUrl } from \"./uppy-dashboard\";\n\nconst AgentVisual = ({ agent, status, className }: { agent: Agent, status: 'submitted' | 'streaming' | 'ready' | 'error', className?: string }) => {\n return <LottieVisual className={className} agent={agent} status={status} />\n};\n\nconst LottieVisual = ({ agent, status, className }: { agent: Agent, status: 'submitted' | 'streaming' | 'ready' | 'error', className?: string }) => {\n\n const { data: defaultIdleData } = useQuery({\n queryKey: ['defaultAnimation', 'idle'],\n queryFn: async () => {\n const response = await fetch(\"/agent-idle.json\");\n return response.json();\n },\n staleTime: 60 * 60 * 1000, // 1 hour\n enabled: !agent.animation_idle,\n });\n\n const { data: defaultRespondingData } = useQuery({\n queryKey: ['defaultAnimation', 'responding'],\n queryFn: async () => {\n const response = await fetch(\"/agent-responding.json\");\n return response.json();\n },\n staleTime: 60 * 60 * 1000, // 1 hour\n enabled: !agent.animation_responding,\n });\n\n // Fetch custom animation data if available\n const { data: customIdleData } = useQuery({\n queryKey: ['customAnimation', agent.animation_idle],\n queryFn: async () => {\n if (!agent.animation_idle) return null;\n const url = await getPresignedUrl(agent.animation_idle);\n const response = await fetch(url);\n return response.json();\n },\n enabled: !!agent.animation_idle,\n staleTime: 5 * 60 * 1000, // 5 minutes\n });\n\n const { data: customRespondingData } = useQuery({\n queryKey: ['customAnimation', agent.animation_responding],\n queryFn: async () => {\n if (!agent.animation_responding) return null;\n const url = await getPresignedUrl(agent.animation_responding);\n const response = await fetch(url);\n return response.json();\n },\n enabled: !!agent.animation_responding,\n staleTime: 5 * 60 * 1000, // 5 minutes\n });\n\n // Map status to animation configuration\n const getAnimationOptions = () => {\n switch (status) {\n case 'submitted':\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n case 'streaming':\n return {\n animationData: customRespondingData || defaultRespondingData,\n loop: true,\n autoplay: true,\n };\n case 'ready':\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n case 'error':\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n default:\n return {\n animationData: customIdleData || defaultIdleData,\n loop: true,\n autoplay: true,\n };\n }\n };\n\n const { View } = useLottie(getAnimationOptions());\n\n return (\n <>\n <div className=\"\">\n <div className={className}>{View}</div>\n </div>\n </>\n );\n}\n\nexport default AgentVisual;","import {\n Avatar,\n AvatarFallback,\n AvatarImage,\n} from '@/components/ui/avatar';\nimport { cn } from '@/lib/utils';\nimport type { UIMessage } from 'ai';\nimport type { ComponentProps, HTMLAttributes } from 'react';\n\nexport type MessageProps = HTMLAttributes<HTMLDivElement> & {\n from: UIMessage['role'];\n};\n\nexport const Message = ({ className, from, ...props }: MessageProps) => (\n <div\n className={cn(\n 'group flex w-full items-end justify-end gap-2 py-4',\n from === 'user' ? 'is-user flex-row-reverse justify-end' : 'is-assistant flex-row-reverse justify-end',\n '[&>div]:max-w-[80%]',\n className\n )}\n {...props}\n />\n);\n\nexport type MessageContentProps = HTMLAttributes<HTMLDivElement>;\n\nexport const MessageContent = ({\n children,\n className,\n ...props\n}: MessageContentProps) => (\n <div\n className={cn(\n 'flex flex-col gap-2 overflow-hidden rounded-lg py-3 text-foreground text-sm',\n 'group-[.is-user]:bg-secondary group-[.is-user]:text-primary-foreground group-[.is-user]:px-4',\n 'group-[.is-assistant]:bg-transparent group-[.is-assistant]:text-foreground',\n className\n )}\n {...props}\n >\n <div className=\"is-user:dark\">{children}</div>\n </div>\n);\n\nexport type MessageAvatarProps = ComponentProps<typeof Avatar> & {\n src: string;\n name?: string;\n};\n\nexport const MessageAvatar = ({\n src,\n name,\n className,\n ...props\n}: MessageAvatarProps) => (\n <Avatar\n className={cn('size-8 ring ring-1 ring-border', className)}\n {...props}\n >\n <AvatarImage alt=\"\" className=\"mt-0 mb-0\" src={src} />\n <AvatarFallback>{name?.slice(0, 2) || 'ME'}</AvatarFallback>\n </Avatar>\n);\n","'use client';\n\nimport { Button } from '@/components/ui/button';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@/components/ui/tooltip';\nimport { cn } from '@/lib/utils';\nimport type { ComponentProps } from 'react';\n\nexport type ActionsProps = ComponentProps<'div'>;\n\nexport const Actions = ({ className, children, ...props }: ActionsProps) => (\n <div className={cn('flex items-center gap-1', className)} {...props}>\n {children}\n </div>\n);\n\nexport type ActionProps = ComponentProps<typeof Button> & {\n tooltip?: string;\n label?: string;\n};\n\nexport const Action = ({\n tooltip,\n children,\n label,\n className,\n variant = 'ghost',\n size = 'sm',\n ...props\n}: ActionProps) => {\n const button = (\n <Button\n className={cn(\n 'size-9 p-1.5 text-muted-foreground hover:text-foreground',\n className\n )}\n size={size}\n type=\"button\"\n variant={variant}\n {...props}\n >\n {children}\n <span className=\"sr-only\">{label || tooltip}</span>\n </Button>\n );\n\n if (tooltip) {\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent>\n <p>{tooltip}</p>\n </TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n }\n\n return button;\n};\n","'use client';\n\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '@/components/ui/collapsible';\nimport { cn } from '@/lib/utils';\nimport { BrainIcon, ChevronDownIcon } from 'lucide-react';\nimport type { ComponentProps } from 'react';\nimport { createContext, memo, useContext, useEffect, useState } from 'react';\nimport { Response } from './response';\n\ntype ReasoningContextValue = {\n isStreaming: boolean;\n isOpen: boolean;\n setIsOpen: (open: boolean) => void;\n duration: number;\n};\n\nconst ReasoningContext = createContext<ReasoningContextValue | null>(null);\n\nconst useReasoning = () => {\n const context = useContext(ReasoningContext);\n if (!context) {\n throw new Error('Reasoning components must be used within Reasoning');\n }\n return context;\n};\n\nexport type ReasoningProps = ComponentProps<typeof Collapsible> & {\n isStreaming?: boolean;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n duration?: number;\n};\n\nconst AUTO_CLOSE_DELAY = 1000;\n\nexport const Reasoning = memo(\n ({\n className,\n isStreaming = false,\n open,\n defaultOpen = false,\n onOpenChange,\n duration: durationProp,\n children,\n ...props\n }: ReasoningProps) => {\n const [isOpen, setIsOpen] = useControllableState({\n prop: open,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n const [duration, setDuration] = useControllableState({\n prop: durationProp,\n defaultProp: 0,\n });\n\n const [hasAutoClosedRef, setHasAutoClosedRef] = useState(false);\n const [startTime, setStartTime] = useState<number | null>(null);\n\n // Track duration when streaming starts and ends\n useEffect(() => {\n if (isStreaming) {\n if (startTime === null) {\n setStartTime(Date.now());\n }\n } else if (startTime !== null) {\n setDuration(Math.round((Date.now() - startTime) / 1000));\n setStartTime(null);\n }\n }, [isStreaming, startTime, setDuration]);\n\n // Auto-open when streaming starts, auto-close when streaming ends (once only)\n useEffect(() => {\n if (isStreaming && !isOpen) {\n setIsOpen(true);\n } else if (!isStreaming && isOpen && !defaultOpen && !hasAutoClosedRef) {\n // Add a small delay before closing to allow user to see the content\n const timer = setTimeout(() => {\n setIsOpen(false);\n setHasAutoClosedRef(true);\n }, AUTO_CLOSE_DELAY);\n return () => clearTimeout(timer);\n }\n }, [isStreaming, isOpen, defaultOpen, setIsOpen, hasAutoClosedRef]);\n\n const handleOpenChange = (newOpen: boolean) => {\n setIsOpen(newOpen);\n };\n\n return (\n <ReasoningContext.Provider\n value={{ isStreaming, isOpen, setIsOpen, duration }}\n >\n <Collapsible\n className={cn('not-prose mb-4', className)}\n onOpenChange={handleOpenChange}\n open={isOpen}\n {...props}\n >\n {children}\n </Collapsible>\n </ReasoningContext.Provider>\n );\n }\n);\n\nexport type ReasoningTriggerProps = ComponentProps<\n typeof CollapsibleTrigger\n> & {\n title?: string;\n};\n\nexport const ReasoningTrigger = memo(\n ({\n className,\n title = 'Reasoning',\n children,\n ...props\n }: ReasoningTriggerProps) => {\n const { isStreaming, isOpen, duration } = useReasoning();\n\n return (\n <CollapsibleTrigger\n className={cn(\n 'flex items-center gap-2 text-muted-foreground text-sm',\n className\n )}\n {...props}\n >\n {children ?? (\n <>\n <BrainIcon className=\"size-4\" />\n {isStreaming || duration === 0 ? (\n <p>Thinking...</p>\n ) : (\n <p>Thought for {duration} seconds</p>\n )}\n <ChevronDownIcon\n className={cn(\n 'size-4 text-muted-foreground transition-transform',\n isOpen ? 'rotate-180' : 'rotate-0'\n )}\n />\n </>\n )}\n </CollapsibleTrigger>\n );\n }\n);\n\nexport type ReasoningContentProps = ComponentProps<\n typeof CollapsibleContent\n> & {\n children: string;\n};\n\nexport const ReasoningContent = memo(\n ({ className, children, ...props }: ReasoningContentProps) => (\n <CollapsibleContent\n className={cn(\n 'mt-4 text-sm',\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 <Response className=\"grid gap-2\">{children}</Response>\n </CollapsibleContent>\n )\n);\n\nReasoning.displayName = 'Reasoning';\nReasoningTrigger.displayName = 'ReasoningTrigger';\nReasoningContent.displayName = 'ReasoningContent';\n","'use client';\n\nimport {\n Collapsible,\n CollapsibleContent,\n CollapsibleTrigger,\n} from '@/components/ui/collapsible';\nimport { cn } from '@/lib/utils';\nimport { BookIcon, ChevronDownIcon } from 'lucide-react';\nimport type { ComponentProps } from 'react';\n\nexport type SourcesProps = ComponentProps<'div'>;\n\nexport const Sources = ({ className, ...props }: SourcesProps) => (\n // @ts-ignore\n <Collapsible\n className={cn('not-prose mb-4 text-primary text-xs', className)}\n {...props}\n />\n);\n\nexport type SourcesTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {\n count: number;\n};\n\nexport const SourcesTrigger = ({\n className,\n count,\n children,\n ...props\n}: SourcesTriggerProps) => (\n <CollapsibleTrigger className=\"flex items-center gap-2\" {...props}>\n {children ?? (\n <>\n <p className=\"font-medium\">Used {count} sources</p>\n <ChevronDownIcon className=\"h-4 w-4\" />\n </>\n )}\n </CollapsibleTrigger>\n);\n\nexport type SourcesContentProps = ComponentProps<typeof CollapsibleContent>;\n\nexport const SourcesContent = ({\n className,\n ...props\n}: SourcesContentProps) => (\n <CollapsibleContent\n className={cn(\n 'mt-3 flex w-fit flex-col gap-2',\n 'data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-top-2 data-[state=open]:slide-in-from-top-2 outline-none data-[state=closed]:animate-out data-[state=open]:animate-in',\n className\n )}\n {...props}\n />\n);\n\nexport type SourceProps = ComponentProps<'a'>;\n\nexport const Source = ({ href, title, children, ...props }: SourceProps) => (\n <a\n className=\"flex items-center gap-2\"\n href={href}\n rel=\"noreferrer\"\n target=\"_blank\"\n {...props}\n >\n {children ?? (\n <>\n <BookIcon className=\"h-4 w-4\" />\n <span className=\"block font-medium\">{title}</span>\n </>\n )}\n </a>\n);\n","\"use client\"\n\nimport { DynamicToolUIPart, UIMessage } from \"ai\"\nimport { Message, MessageContent } from '@/components/ai-elements/message'\nimport { Actions, Action } from '@/components/ai-elements/actions'\nimport { Response } from '@/components/ai-elements/response'\nimport { Reasoning, ReasoningTrigger, ReasoningContent } from \"@/components/ai-elements/reasoning\"\nimport { Source, Sources, SourcesContent, SourcesTrigger } from \"@/components/ai-elements/source\"\nimport { RefreshCcwIcon, CopyIcon } from \"lucide-react\"\nimport { cn } from \"@/lib/utils\"\nimport Image from \"next/image\"\nimport { useToast } from \"@/components/ui/use-toast\"\n\ninterface MessageRendererProps {\n messages: UIMessage[]\n status?: \"streaming\" | \"idle\" | \"error\" | \"submitted\" | \"ready\"\n className?: string\n showActions?: boolean\n onRegenerate?: () => void\n onAddToolResult?: (args: { tool: string; toolCallId: string; output: string }) => void\n UntypedToolPartComponent?: React.ComponentType<{\n untypedToolPart: DynamicToolUIPart\n callId: string\n addToContext: (item: any) => void\n }>\n addToContext?: (item: any) => void\n writeAccess?: boolean\n config?: {\n marginTopFirstMessage?: string\n customAssistantClassnames?: string\n }\n}\n\nexport function MessageRenderer({\n messages,\n status = \"idle\",\n className,\n showActions = true,\n onRegenerate,\n onAddToolResult,\n UntypedToolPartComponent,\n addToContext,\n writeAccess = true,\n config\n}: MessageRendererProps) {\n const { toast } = useToast()\n\n return (\n <>\n {messages?.map((message, messageIndex) => {\n const isFirstMessage = messageIndex === 0\n const messageMetadata = message.metadata as any\n const isLastMessage = messageIndex === messages.length - 1\n\n return (\n <Message\n className={cn(\n message.role === 'assistant' && (\n config?.customAssistantClassnames ? config?.customAssistantClassnames : ''\n ),\n isFirstMessage && (\n config?.marginTopFirstMessage ? config?.marginTopFirstMessage : 'mt-12'\n ), className\n )}\n from={message.role}\n key={message.id}\n >\n <MessageContent>\n {message.parts.map((part, i) => {\n if (part.type === 'step-start') {\n return null\n }\n\n if (part.type === 'text') {\n return (\n <div key={`${message.id}-${i}`}>\n <Response className=\"chat-response-container\">\n {part.text}\n </Response>\n </div>\n )\n }\n\n if (part.type === 'tool-askForConfirmation' && onAddToolResult) {\n const callId = part.toolCallId\n\n switch (part.state) {\n case 'input-streaming':\n return (\n <div key={callId}>Loading confirmation request...</div>\n )\n case 'input-available':\n return (\n <div key={callId}>\n {(part.input as { message: string }).message}\n <div>\n <button\n onClick={() =>\n onAddToolResult({\n tool: 'askForConfirmation',\n toolCallId: callId,\n output: 'Yes, confirmed',\n })\n }\n >\n Yes\n </button>\n <button\n onClick={() =>\n onAddToolResult({\n tool: 'askForConfirmation',\n toolCallId: callId,\n output: 'No, denied',\n })\n }\n >\n No\n </button>\n </div>\n </div>\n )\n case 'output-available':\n return (\n <div key={callId}>\n Tool call allowed: {part.output as string}\n </div>\n )\n case 'output-error':\n return <div key={callId}>Error: {part.errorText}</div>\n }\n }\n\n if (\n (part.type.startsWith('tool-') || part.type === 'dynamic-tool') &&\n UntypedToolPartComponent &&\n addToContext\n ) {\n const untypedToolPart = part as DynamicToolUIPart\n const callId = untypedToolPart.toolCallId\n return (\n <UntypedToolPartComponent\n key={callId}\n untypedToolPart={untypedToolPart}\n callId={callId}\n addToContext={addToContext}\n />\n )\n }\n\n if (part.type === 'file') {\n if (part.mediaType?.startsWith('image/')) {\n return (\n <Image\n key={`${message.id}-${i}`}\n src={part.url}\n width={300}\n height={300}\n alt={\"Generated image\"}\n />\n )\n }\n }\n\n if (part.type === 'source-url') {\n return (\n <Sources key={`${message.id}-${i}`}>\n <SourcesTrigger\n count={message.parts.filter(\n (part) => part.type === 'source-url'\n ).length}\n />\n <SourcesContent key={`${message.id}`}>\n {message.parts.map((part, i) => {\n switch (part.type) {\n case 'source-url':\n return (\n <Source\n key={`${message.id}-${i}`}\n href={part.url}\n title={part.title}\n />\n )\n }\n })}\n </SourcesContent>\n </Sources>\n )\n }\n\n if (part.type === 'reasoning') {\n return (\n <Reasoning\n key={`${message.id}-${i}`}\n className=\"w-full\"\n isStreaming={status === 'streaming'}\n >\n <ReasoningTrigger />\n <ReasoningContent>{part.text}</ReasoningContent>\n </Reasoning>\n )\n }\n\n return null\n })}\n\n {showActions && message.role === 'assistant' && (\n <Actions className=\"mt-2\">\n {onRegenerate && (\n <Action\n onClick={() => onRegenerate()}\n label=\"Retry\"\n disabled={!writeAccess}\n >\n <RefreshCcwIcon className=\"size-3\" />\n </Action>\n )}\n <Action\n onClick={() => {\n navigator.clipboard.writeText(\n message.parts.map((part: any) => part?.text || \"\").join('\\n')\n )\n toast({\n title: \"Copied message\",\n description: \"The message was copied to your clipboard.\",\n })\n }}\n label=\"Copy\"\n >\n <CopyIcon className=\"size-3\" />\n </Action>\n {messageMetadata?.totalTokens && (\n <small className=\"text-muted-foreground\">\n {Intl.NumberFormat('en-US').format(messageMetadata?.totalTokens)} tokens\n </small>\n )}\n </Actions>\n )}\n </MessageContent>\n </Message>\n )\n })}\n </>\n )\n}\n","\"use client\";\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\";\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\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","ChatLayout","session","configContext","agent","creatorQuery","error","setError","useState","ConfigContext","useIsMobile","theme","useTheme","files","setFiles","items","setItems","user","UserContext","copyingTableId","setCopyingTableId","showSaveWorkflowModal","setShowSaveWorkflowModal","setInput","disabledTools","setDisabledTools","inputRef","toast","useToast","rbac","setRbac","rights_mode","users","RBAC","roles","projects","useQuery","GET_USER_BY_ID","variables","created_by","skip","updateAgentSessionRbac","updateAgentSessionRbacResult","useMutation","UPDATE_AGENT_SESSION_RBAC","tokenCounts","setTokenCounts","totalTokens","GET_AGENT_MESSAGES","returnPartialData","fetchPolicy","nextFetchPolicy","page","limit","filters","eq","onCompleted","data","agent_messagesPagination","setMessages","map","parse","item","content","messages","sendMessage","stop","regenerate","addToolResult","useChat","sendAutomaticallyWhen","lastAssistantMessageIsCompleteWithToolCalls","experimental_throttle","onToolCall","toolCall","dynamic","toolName","cities","tool","toolCallId","floor","random","length","onError","console","log","message","x","transport","DefaultChatTransport","api","backend","slug","prepareSendMessagesRequest","chatId","body","token","getToken","headers","User","Session","Authorization","Stream","useEffect","totalCount","reduce","acc","messageMetadata","metadata","reasoningCount","canCreateWorkflow","useMemo","userMessages","filter","m","assistantMessages","onSubmit","e","options","preventDefault","text","toggleTool","prev","includes","name","writeAccess","checkChatSessionWriteAccess","updateMessageFiles","all","s3key","Object","entries","forEach","key","mediaType","filename","url","btoa","getPresignedUrl","Conversation","Workflow","onClick","Plus","maxContextLength","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","Logo","alt","AgentVisual","Card","CardHeader","CardTitle","CardDescription","CardContent","disabled","ConversationContent","MessageRenderer","config","marginTopFirstMessage","onRegenerate","onAddToolResult","UntypedToolPartComponent","UntypedToolPart","addToContext","Alert","ExclamationTriangleIcon","AlertTitle","AlertDescription","form","fileUploads","s3endpoint","UppyDashboard","selectionLimit","allowedFileTypes","capabilities","audio","video","images","dependencies","onConfirm","TextareaAutosize","autoComplete","autoFocus","minRows","onKeyDown","shiftKey","onChange","target","placeholder","trim","ArrowUp","StopIcon","FileItem","s3Key","active","onRemove","i","SaveWorkflowModal","isOpen","onClose","sessionTitle","description","hr","loading","Loading","userById","tools","isEnabled","Switch","checked","onCheckedChange","ChevronsUpDown","RBACControl","allowedModes","initialRightsMode","initialUsers","initialRoles","initialProjects","untypedToolPart","callId","styleToolName","replace","charAt","toUpperCase","slice","defaultOpen","Response","Skeleton","SessionsPage","params","agentData","agentLoading","agentError","GET_AGENT_BY_ID","sessionData","sessionLoading","sessionError","GET_AGENT_SESSION_BY_ID","agentById","agent_sessionById","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","StickToBottom","initial","resize","Content","LottieVisual","defaultIdleData","queryKey","queryFn","response","fetch","json","staleTime","enabled","animation_idle","defaultRespondingData","animation_responding","customIdleData","customRespondingData","View","useLottie","getAnimationOptions","animationData","loop","autoplay","__webpack_exports__","Z","Message","from","MessageContent","Actions","Action","tooltip","label","button","ReasoningContext","useReasoning","Reasoning","memo","isStreaming","open","onOpenChange","duration","durationProp","setIsOpen","useControllableState","prop","defaultProp","setDuration","hasAutoClosedRef","setHasAutoClosedRef","startTime","setStartTime","Date","now","round","timer","setTimeout","clearTimeout","newOpen","ReasoningTrigger","BrainIcon","ReasoningContent","Sources","SourcesTrigger","count","SourcesContent","Source","href","a","rel","BookIcon","showActions","messageIndex","customAssistantClassnames","isFirstMessage","parts","part","startsWith","Image","src","RefreshCcwIcon","navigator","clipboard","writeText","join","CopyIcon","small","CollapsiblePrimitive","SwitchPrimitives","isPrivate","isPublic","byUsers","byRoles","isAdmin","super_admin","isCreator","toString","find","u","rights"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4506],{46363:function(e,t,r){Promise.resolve().then(r.bind(r,34984))},34984:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return b},dynamic:function(){return j}});var a=r(57437),s=r(5341),n=r(2265),l=r(91048),o=r(7211),i=r(66070),d=r(93022),c=r(44372),u=r(21047),f=r(70525),m=r(3085);function x(e){let{title:t,currentValue:r,previousValue:s,isLoading:n}=e;if(n)return(0,a.jsxs)(i.Zb,{className:"animate-pulse",children:[(0,a.jsxs)(i.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-3",children:[(0,a.jsx)(i.ll,{className:"text-sm font-medium text-slate-700 dark:text-slate-300",children:t}),(0,a.jsx)("div",{className:"p-2 rounded-full",children:(0,a.jsx)("div",{className:"h-4 w-4 rounded"})})]}),(0,a.jsxs)(i.aY,{children:[(0,a.jsx)(d.O,{className:"h-8 w-24 mb-3"}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(d.O,{className:"h-3 w-28"}),(0,a.jsx)(d.O,{className:"h-3 w-20"})]})]})]});let l=s>0?(r-s)/s*100:0,o=l>0,c=0===l,x=c?u.Z:o?f.Z:m.Z,h=c?"text-muted-foreground":o?"text-green-600":"text-red-600";return(0,a.jsxs)(i.Zb,{className:"hover:shadow-lg transition-all duration-300 hover:-translate-y-1",children:[(0,a.jsxs)(i.Ol,{className:"flex flex-row items-center justify-between space-y-0 pb-3",children:[(0,a.jsx)(i.ll,{className:"text-sm font-medium text-slate-700 dark:text-slate-300",children:t}),(0,a.jsx)("div",{className:"p-2 rounded-full ".concat(c?"bg-gray-200 dark:bg-gray-700":o?"bg-green-100 dark:bg-green-900/30":"bg-red-100 dark:bg-red-900/30"),children:(0,a.jsx)(x,{className:"h-4 w-4 ".concat(h)})})]}),(0,a.jsxs)(i.aY,{children:[(0,a.jsx)("div",{className:"text-3xl font-bold bg-gradient-to-r from-slate-900 to-slate-700 dark:from-slate-100 dark:to-slate-300 bg-clip-text text-transparent mb-2",children:r.toLocaleString()}),(0,a.jsxs)("p",{className:"text-xs text-slate-600 dark:text-slate-400",children:[(0,a.jsx)("span",{className:"font-medium ".concat(h),children:c?"No change":"".concat(Math.abs(l).toFixed(1),"% ").concat(o?"increase":"decrease")}),(0,a.jsx)("br",{}),(0,a.jsxs)("span",{className:"text-slate-500 dark:text-slate-500",children:["vs 7-day avg: ",s.toLocaleString()]})]})]})]})}function h(e){let{query:t,entity:r,title:l}=e,i=(0,n.useMemo)(()=>{let e=new Date;return{now:e.toISOString(),twentyFourHoursAgo:(0,c.b)(e,24).toISOString(),sevenDaysAgo:(0,s.k)(e,7).toISOString()}},[]),{data:d,loading:u}=(0,o.aM)(t,{variables:{from:i.twentyFourHoursAgo,to:i.now}}),{data:f,loading:m}=(0,o.aM)(t,{variables:{from:i.sevenDaysAgo,to:i.now}}),h=e=>e&&Array.isArray(e)?e.reduce((e,t)=>e+(t.count||0),0):0,p=h(null==d?void 0:d["".concat(r,"Statistics")]),g=Math.round(h(null==f?void 0:f["".concat(r,"Statistics")])/7);return(0,a.jsx)(x,{title:"".concat(l," (24h)"),currentValue:p,previousValue:g,isLoading:u})}var p=r(21409),g=r(52896),v=r(73450),y=r(27689);let j="force-dynamic";function b(){let[e,t]=(0,n.useState)({from:(0,s.k)(new Date,14),to:new Date}),[r,o]=(0,n.useState)("AGENT_RUN"),[i,d]=(0,n.useState)("count"),[c,u]=(0,n.useState)("label");return(0,a.jsxs)("div",{className:"flex-1 flex flex-col p-8 pt-6 h-screen",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-8",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("h2",{className:"text-4xl font-bold tracking-tight bg-clip-text",children:"Analytics Dashboard"}),(0,a.jsx)("p",{className:"text-lg",children:"Monitor your AI workflows and performance metrics."})]}),(0,a.jsx)("div",{className:"flex items-center space-x-2",children:(0,a.jsx)(p.z,{dateRange:e,onDateRangeChange:t,maxDays:30})})]}),(0,a.jsx)("div",{className:"mb-8",children:(0,a.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-5",children:[(0,a.jsx)(h,{query:y.W6,entity:"agent_sessions",title:"Agent Sessions"}),(0,a.jsx)(h,{query:y.tK,entity:"tracking",title:"Agent Calls"}),(0,a.jsx)(h,{query:y.Hk,entity:"tracking",title:"Token Usage"}),(0,a.jsx)(h,{query:y.Tj,entity:"jobs",title:"Workflow Runs"}),(0,a.jsx)(h,{query:y.kZ,entity:"tracking",title:"Function Calls"})]})}),(0,a.jsxs)("div",{className:"flex-1 grid gap-6 md:grid-cols-3 min-h-0",children:[(0,a.jsx)("div",{className:"rounded-lg border md:col-span-2 p-6 flex flex-col",children:(0,a.jsx)(g.q,{dateRange:e,selectedType:r,onTypeChange:o,onUnitChange:d,unit:i,dataTypes:[l.h.CONTEXT_RETRIEVE,l.h.SOURCE_UPDATE,l.h.EMBEDDER_UPSERT,l.h.EMBEDDER_GENERATE,l.h.EMBEDDER_DELETE,l.h.WORKFLOW_RUN,l.h.CONTEXT_UPSERT,l.h.TOOL_CALL,l.h.AGENT_RUN]})}),(0,a.jsx)("div",{className:"rounded-lg border p-6 flex flex-col",children:(0,a.jsx)(v.Y,{groupByOptions:[{value:"label",label:"Label"},{value:"user",label:"User"},{value:"role",label:"Role"}],dateRange:e,selectedType:r,groupBy:c,onGroupByChange:u})})]})]})}},21409:function(e,t,r){"use strict";r.d(t,{z:function(){return g}});var a=r(57437),s=r(2265),n=r(20653),l=r(31303),o=r(59121),i=r(27107),d=r(94508),c=r(62869),u=r(92451),f=r(10407),m=r(98235);function x(e){let{className:t,classNames:r,showOutsideDays:s=!0,...n}=e;return(0,a.jsx)(m._W,{showOutsideDays:s,className:(0,d.cn)("p-3",t),classNames:{months:"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",month:"space-y-4",caption:"flex justify-center pt-1 relative items-center",caption_label:"text-sm font-medium",nav:"space-x-1 flex items-center",nav_button:(0,d.cn)((0,c.d)({variant:"outline"}),"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"),nav_button_previous:"absolute left-1",nav_button_next:"absolute right-1",table:"w-full border-collapse space-y-1",head_row:"flex",head_cell:"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",row:"flex w-full mt-2",cell:"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",day:(0,d.cn)((0,c.d)({variant:"ghost"}),"h-9 w-9 p-0 font-normal aria-selected:opacity-100"),day_range_end:"day-range-end",day_selected:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",day_today:"bg-accent text-accent-foreground",day_outside:"day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",day_disabled:"text-muted-foreground opacity-50",day_range_middle:"aria-selected:bg-accent aria-selected:text-accent-foreground",day_hidden:"invisible",...r},components:{IconLeft:e=>{let{...t}=e;return(0,a.jsx)(u.Z,{className:"size-4"})},IconRight:e=>{let{...t}=e;return(0,a.jsx)(f.Z,{className:"size-4"})}},...n})}x.displayName="Calendar";var h=r(77992),p=r(57054);function g(e){let{dateRange:t,onDateRangeChange:r,className:u,maxDays:f=30}=e,{toast:m}=(0,h.pm)(),g=s.useMemo(()=>{if(!(null==t?void 0:t.from))return[];let e=t.from;return[{before:(0,o.E)(e,-f)},{after:(0,o.E)(e,f)}]},[null==t?void 0:t.from,f]);return(0,a.jsx)("div",{className:(0,d.cn)("grid gap-2",u),children:(0,a.jsxs)(p.J2,{children:[(0,a.jsx)(p.xo,{asChild:!0,children:(0,a.jsxs)(c.z,{id:"date",variant:"outline",className:(0,d.cn)("w-[260px] justify-start text-left font-normal",!t&&"text-muted-foreground"),children:[(0,a.jsx)(n.Que,{className:"mr-2 h-4 w-4"}),(null==t?void 0:t.from)?t.to?(0,a.jsxs)(a.Fragment,{children:[(0,i.WU)(t.from,"LLL dd, y")," -"," ",(0,i.WU)(t.to,"LLL dd, y")]}):(0,i.WU)(t.from,"LLL dd, y"):(0,a.jsx)("span",{children:"Pick a date range"})]})}),(0,a.jsxs)(p.yk,{className:"w-auto p-0",align:"end",children:[(0,a.jsx)(x,{initialFocus:!0,mode:"range",defaultMonth:null==t?void 0:t.from,selected:t,onSelect:e=>{if((null==e?void 0:e.from)&&(null==e?void 0:e.to)&&(0,l.j)(e.to,e.from)>f){m({title:"Date range too large",description:"Please select a date range of ".concat(f," days or less."),variant:"destructive"});return}r(e)},disabled:g,numberOfMonths:2}),(0,a.jsxs)("div",{className:"p-3 pt-0 text-xs text-muted-foreground border-t",children:["Maximum range: ",f," days"]})]})]})})}},73450:function(e,t,r){"use strict";r.d(t,{Y:function(){return x}});var a=r(57437),s=r(2265),n=r(7211),l=r(53647),o=r(93022),i=r(27689),d=r(75169),c=r(3574),u=r(20407),f=r(57969);let m=["hsl(var(--chart-1))","hsl(var(--chart-2))","hsl(var(--chart-3))","hsl(var(--chart-4))","hsl(var(--chart-5))","hsl(var(--chart-6))","hsl(var(--chart-7))","hsl(var(--chart-8))","hsl(var(--chart-9))","hsl(var(--chart-10))"];function x(e){var t,r;let{groupByOptions:x,dateRange:h,selectedType:p,groupBy:g,onGroupByChange:v}=e,{data:y,loading:j,error:b}=(0,n.aM)(i.YH,{variables:{type:p,groupBy:g,from:null==h?void 0:null===(t=h.from)||void 0===t?void 0:t.toISOString(),to:null==h?void 0:null===(r=h.to)||void 0===r?void 0:r.toISOString()},skip:!(null==h?void 0:h.from)||!(null==h?void 0:h.to)}),{chartData:N,chartConfig:w}=s.useMemo(()=>{if(!(null==y?void 0:y.trackingStatistics))return{chartData:[],chartConfig:{}};let e=y.trackingStatistics.map((e,t)=>{var r;return{name:(r=e.group)?r.replace(/_/g," ").split(" ").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "):"Unknown",value:e.count,fill:m[t%m.length]}}).sort((e,t)=>t.value-e.value),t=e.reduce((e,t,r)=>(e[t.name]={label:t.name,color:m[r%m.length]},e),{});return{chartData:e,chartConfig:t}},[y]);return(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)("h3",{className:"text-xl font-semibold",children:"Distribution"}),x.length>0&&(0,a.jsx)("div",{className:"w-full max-w-[150px]",children:(0,a.jsxs)(l.Ph,{value:g,onValueChange:v,children:[(0,a.jsx)(l.i4,{children:(0,a.jsx)(l.ki,{placeholder:"Group by"})}),(0,a.jsx)(l.Bw,{children:x.map(e=>(0,a.jsx)(l.Ql,{value:e.value,children:e.label},e.value))})]})})]}),(0,a.jsx)("div",{className:"flex-1 min-h-0",children:j?(0,a.jsx)("div",{className:"space-y-4 h-full",children:(0,a.jsx)(o.O,{className:"h-full w-full"})}):b?(0,a.jsxs)("div",{className:"flex items-center justify-center h-full text-red-500",children:["Error loading distribution data: ",b.message]}):0===N.length?(0,a.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-center",children:"No data available for the selected date range, type, and grouping."}):(0,a.jsx)(f.BO,{config:w,className:"h-full w-full",children:(0,a.jsxs)(d.u,{children:[(0,a.jsx)("defs",{children:N.map((e,t)=>(0,a.jsxs)("radialGradient",{id:"gradient-".concat(e.name.replace(/\s+/g,"-")),cx:"50%",cy:"50%",r:"50%",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:e.fill,stopOpacity:1}),(0,a.jsx)("stop",{offset:"100%",stopColor:e.fill,stopOpacity:.8})]},"gradient-".concat(t)))}),(0,a.jsx)(c.b,{data:N,cx:"50%",cy:"50%",labelLine:!1,label:e=>{let{cx:t,cy:r,midAngle:s,innerRadius:n,outerRadius:l,percent:o,index:i}=e;if(o<.05)return null;let d=Math.PI/180,c=n+(l-n)*.5,u=t+c*Math.cos(-s*d);return(0,a.jsx)("text",{x:u,y:r+c*Math.sin(-s*d),fill:"black",textAnchor:u>t?"start":"end",dominantBaseline:"central",fontSize:"12",fontWeight:"600",paintOrder:"stroke",children:"".concat((100*o).toFixed(0),"%")})},outerRadius:"75%",innerRadius:"45%",dataKey:"value",strokeWidth:3,children:N.map((e,t)=>(0,a.jsx)(u.b,{fill:"url(#gradient-".concat(e.name.replace(/\s+/g,"-"),")")},"cell-".concat(t)))}),(0,a.jsx)(f.h7,{content:(0,a.jsx)(f.dg,{nameKey:"name",hideLabel:!0,formatter:(e,t)=>["number"==typeof e?e.toLocaleString():e," "+String(t)]})})]})})})]})}},52896:function(e,t,r){"use strict";r.d(t,{q:function(){return j}});var a=r(57437),s=r(2265),n=r(7211),l=r(53647),o=r(93022),i=r(27689),d=r(5481),c=r(56940),u=r(97059),f=r(62994),m=r(23263),x=r(57969),h=r(27107),p=r(56942),g=r(54886);function v(e){return e.split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ")}let y={count:{label:"Count",color:"hsl(var(--muted-foreground))"}};function j(e){var t,r;let{dataTypes:j,dateRange:b,selectedType:N,onTypeChange:w,onUnitChange:E,unit:k}=e,{data:_,loading:O,error:T}=(0,n.aM)(i.j9,{variables:{type:N,name:k,from:null==b?void 0:null===(t=b.from)||void 0===t?void 0:t.toISOString(),to:null==b?void 0:null===(r=b.to)||void 0===r?void 0:r.toISOString()},skip:!(null==b?void 0:b.from)||!(null==b?void 0:b.to)}),S=s.useMemo(()=>{if(!(null==_?void 0:_.trackingStatistics)||!(null==b?void 0:b.from)||!(null==b?void 0:b.to))return[];let e=new Map;return _.trackingStatistics.forEach(t=>{let r=new Date("number"==typeof t.group?t.group:Number(t.group)),a=(0,h.WU)((0,p.b)(r),"yyyy-MM-dd");e.set(a,t.count)}),(0,g.D)({start:(0,p.b)(b.from),end:(0,p.b)(b.to)}).map(t=>{let r=(0,h.WU)(t,"yyyy-MM-dd"),a=e.get(r)||0;return{date:t.getTime(),count:a,formattedDate:(0,h.WU)(t,"MMM dd"),dateObj:t}})},[_,b]);return(0,a.jsxs)("div",{className:"flex flex-col h-full",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)("h3",{className:"text-xl font-semibold",children:"Time Series Analytics"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"w-[150px]",children:(0,a.jsxs)(l.Ph,{value:N,onValueChange:e=>w(e),children:[(0,a.jsx)(l.i4,{children:(0,a.jsx)(l.ki,{placeholder:"Select data type"})}),(0,a.jsx)(l.Bw,{children:null==j?void 0:j.map(e=>(0,a.jsx)(l.Ql,{value:e,children:v(e)+" "},e))})]})}),(0,a.jsx)("div",{className:"w-[150px]",children:(0,a.jsxs)(l.Ph,{value:k,onValueChange:e=>E(e),children:[(0,a.jsx)(l.i4,{children:(0,a.jsx)(l.ki,{placeholder:"Select unit"})}),(0,a.jsxs)(l.Bw,{children:[(0,a.jsx)(l.Ql,{value:"count",children:"Count"}),(0,a.jsx)(l.Ql,{value:"tokens",children:"Tokens"})]})]})})]})]}),(0,a.jsx)("div",{className:"flex-1 min-h-0",children:O?(0,a.jsx)("div",{className:"space-y-4 h-full",children:(0,a.jsx)(o.O,{className:"h-full w-full"})}):T?(0,a.jsxs)("div",{className:"flex items-center justify-center h-full text-red-500",children:["Error loading time series data: ",T.message]}):0===S.length?(0,a.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:"No data available for the selected date range and type"}):(0,a.jsx)(x.BO,{config:y,className:"h-full w-full",children:(0,a.jsxs)(d.T,{data:S,children:[(0,a.jsxs)("defs",{children:[(0,a.jsxs)("linearGradient",{id:"fillCount",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,a.jsx)("stop",{offset:"5%",stopColor:"hsl(var(--muted-foreground))",stopOpacity:.3}),(0,a.jsx)("stop",{offset:"95%",stopColor:"hsl(var(--muted-foreground))",stopOpacity:.05})]}),(0,a.jsxs)("linearGradient",{id:"strokeCount",x1:"0",y1:"0",x2:"1",y2:"0",children:[(0,a.jsx)("stop",{offset:"0%",stopColor:"hsl(var(--muted-foreground))",stopOpacity:.8}),(0,a.jsx)("stop",{offset:"100%",stopColor:"hsl(var(--muted-foreground))",stopOpacity:.6})]})]}),(0,a.jsx)(c.q,{strokeDasharray:"3 3",stroke:"hsl(var(--muted-foreground))",strokeOpacity:.3,vertical:!1}),(0,a.jsx)(u.K,{dataKey:"formattedDate",tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},tickLine:{stroke:"hsl(var(--muted-foreground))",strokeOpacity:.5},axisLine:{stroke:"hsl(var(--muted-foreground))",strokeOpacity:.5}}),(0,a.jsx)(f.B,{tick:{fontSize:12,fill:"hsl(var(--muted-foreground))"},tickLine:{stroke:"hsl(var(--muted-foreground))",strokeOpacity:.5},axisLine:{stroke:"hsl(var(--muted-foreground))",strokeOpacity:.5}}),(0,a.jsx)(x.h7,{labelFormatter:(e,t)=>t&&t[0]?(0,h.WU)(t[0].payload.dateObj,"PPP")+" ":e,content:(0,a.jsx)(x.dg,{nameKey:"name",hideLabel:!0,formatter:(e,t)=>["number"==typeof e?e.toLocaleString():e," "+String(t)]})}),(0,a.jsx)(x.Qk,{content:(0,a.jsx)(x.cD,{})}),(0,a.jsx)(m.u,{type:"monotone",dataKey:"count",stroke:"url(#strokeCount)",strokeWidth:3,fill:"url(#fillCount)",fillOpacity:.6,dot:{fill:"hsl(var(--muted-foreground))",strokeWidth:2,r:4,strokeOpacity:.8},activeDot:{r:6,strokeWidth:2,fill:"hsl(var(--background))",stroke:"hsl(var(--muted-foreground))",strokeOpacity:1},name:v(N)})]})})})]})}},66070:function(e,t,r){"use strict";r.d(t,{Ol:function(){return o},SZ:function(){return d},Zb:function(){return l},aY:function(){return c},eW:function(){return u},ll:function(){return i}});var a=r(57437),s=r(2265),n=r(94508);let l=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",r),...s})});l.displayName="Card";let o=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex flex-col space-y-1.5 p-6",r),...s})});o.displayName="CardHeader";let i=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("h3",{ref:t,className:(0,n.cn)("text-2xl font-semibold leading-none tracking-tight",r),...s})});i.displayName="CardTitle";let d=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("p",{ref:t,className:(0,n.cn)("text-sm text-muted-foreground",r),...s})});d.displayName="CardDescription";let c=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("p-6 pt-0",r),...s})});c.displayName="CardContent";let u=s.forwardRef((e,t)=>{let{className:r,...s}=e;return(0,a.jsx)("div",{ref:t,className:(0,n.cn)("flex items-center p-6 pt-0",r),...s})});u.displayName="CardFooter"},57969:function(e,t,r){"use strict";r.d(t,{BO:function(){return f},Qk:function(){return p},cD:function(){return g},dg:function(){return h},h7:function(){return x}});var a=r(57437),s=r(2265),n=r(47625),l=r(8147),o=r(22190),i=r(94508);let d={light:"",dark:".dark"},c=s.createContext(null);function u(){let e=s.useContext(c);if(!e)throw Error("useChart must be used within a <ChartContainer />");return e}let f=s.forwardRef((e,t)=>{let{id:r,className:l,children:o,config:d,...u}=e,f=s.useId(),x="chart-".concat(r||f.replace(/:/g,""));return(0,a.jsx)(c.Provider,{value:{config:d},children:(0,a.jsxs)("div",{"data-chart":x,ref:t,className:(0,i.cn)("flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",l),...u,children:[(0,a.jsx)(m,{id:x,config:d}),(0,a.jsx)(n.h,{children:o})]})})});f.displayName="Chart";let m=e=>{let{id:t,config:r}=e,s=Object.entries(r).filter(e=>{let[,t]=e;return t.theme||t.color});return s.length?(0,a.jsx)("style",{dangerouslySetInnerHTML:{__html:Object.entries(d).map(e=>{let[r,a]=e;return"\n".concat(a," [data-chart=").concat(t,"] {\n").concat(s.map(e=>{var t;let[a,s]=e,n=(null===(t=s.theme)||void 0===t?void 0:t[r])||s.color;return n?" --color-".concat(a,": ").concat(n,";"):null}).join("\n"),"\n}\n")}).join("\n")}}):null},x=l.u,h=s.forwardRef((e,t)=>{let{active:r,payload:n,className:l,indicator:o="dot",hideLabel:d=!1,hideIndicator:c=!1,label:f,labelFormatter:m,labelClassName:x,formatter:h,color:p,nameKey:g,labelKey:y}=e,{config:j}=u(),b=s.useMemo(()=>{var e;if(d||!(null==n?void 0:n.length))return null;let[t]=n,r="".concat(y||(null==t?void 0:t.dataKey)||(null==t?void 0:t.name)||"value"),s=v(j,t,r),l=y||"string"!=typeof f?null==s?void 0:s.label:(null===(e=j[f])||void 0===e?void 0:e.label)||f;return m?(0,a.jsx)("div",{className:(0,i.cn)("font-medium",x),children:m(l,n)}):l?(0,a.jsx)("div",{className:(0,i.cn)("font-medium",x),children:l}):null},[f,m,n,d,x,j,y]);if(!r||!(null==n?void 0:n.length))return null;let N=1===n.length&&"dot"!==o;return(0,a.jsxs)("div",{ref:t,className:(0,i.cn)("grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl",l),children:[N?null:b,(0,a.jsx)("div",{className:"grid gap-1.5",children:n.map((e,t)=>{let r="".concat(g||e.name||e.dataKey||"value"),s=v(j,e,r),n=p||e.payload.fill||e.color;return(0,a.jsx)("div",{className:(0,i.cn)("flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground","dot"===o&&"items-center"),children:h&&(null==e?void 0:e.value)!==void 0&&e.name?h(e.value,e.name,e,t,e.payload):(0,a.jsxs)(a.Fragment,{children:[(null==s?void 0:s.icon)?(0,a.jsx)(s.icon,{}):!c&&(0,a.jsx)("div",{className:(0,i.cn)("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":"dot"===o,"w-1":"line"===o,"w-0 border-[1.5px] border-dashed bg-transparent":"dashed"===o,"my-0.5":N&&"dashed"===o}),style:{"--color-bg":n,"--color-border":n}}),(0,a.jsxs)("div",{className:(0,i.cn)("flex flex-1 justify-between leading-none",N?"items-end":"items-center"),children:[(0,a.jsxs)("div",{className:"grid gap-1.5",children:[N?b:null,(0,a.jsx)("span",{className:"text-muted-foreground",children:(null==s?void 0:s.label)||e.name})]}),e.value&&(0,a.jsx)("span",{className:"font-mono font-medium tabular-nums text-foreground",children:e.value.toLocaleString()})]})]})},e.dataKey)})})]})});h.displayName="ChartTooltip";let p=o.D,g=s.forwardRef((e,t)=>{let{className:r,hideIcon:s=!1,payload:n,verticalAlign:l="bottom",nameKey:o}=e,{config:d}=u();return(null==n?void 0:n.length)?(0,a.jsx)("div",{ref:t,className:(0,i.cn)("flex items-center justify-center gap-4","top"===l?"pb-3":"pt-3",r),children:n.map(e=>{let t="".concat(o||e.dataKey||"value"),r=v(d,e,t);return(0,a.jsxs)("div",{className:(0,i.cn)("flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground"),children:[(null==r?void 0:r.icon)&&!s?(0,a.jsx)(r.icon,{}):(0,a.jsx)("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:e.color}}),null==r?void 0:r.label]},e.value)})}):null});function v(e,t,r){if("object"!=typeof t||null===t)return;let a="payload"in t&&"object"==typeof t.payload&&null!==t.payload?t.payload:void 0,s=r;return r in t&&"string"==typeof t[r]?s=t[r]:a&&r in a&&"string"==typeof a[r]&&(s=a[r]),s in e?e[s]:e[r]}g.displayName="ChartLegend"},57054:function(e,t,r){"use strict";r.d(t,{J2:function(){return o},xo:function(){return i},yk:function(){return d}});var a=r(57437),s=r(27312),n=r(2265),l=r(94508);let o=s.fC,i=s.xz,d=n.forwardRef((e,t)=>{let{className:r,align:n="center",sideOffset:o=4,...i}=e;return(0,a.jsx)(s.h_,{children:(0,a.jsx)(s.VY,{ref:t,align:n,sideOffset:o,className:(0,l.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",r),...i})})});d.displayName=s.VY.displayName},53647:function(e,t,r){"use strict";r.d(t,{Bw:function(){return h},Ph:function(){return c},Ql:function(){return p},i4:function(){return f},ki:function(){return u}});var a=r(57437),s=r(46943),n=r(40875),l=r(22135),o=r(30401),i=r(2265),d=r(94508);let c=s.fC;s.ZA;let u=s.B4,f=i.forwardRef((e,t)=>{let{className:r,children:l,...o}=e;return(0,a.jsxs)(s.xz,{ref:t,className:(0,d.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",r),...o,children:[l,(0,a.jsx)(s.JO,{asChild:!0,children:(0,a.jsx)(n.Z,{className:"size-4 opacity-50"})})]})});f.displayName=s.xz.displayName;let m=i.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.u_,{ref:t,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",r),...n,children:(0,a.jsx)(l.Z,{className:"size-4"})})});m.displayName=s.u_.displayName;let x=i.forwardRef((e,t)=>{let{className:r,...l}=e;return(0,a.jsx)(s.$G,{ref:t,className:(0,d.cn)("flex cursor-default items-center justify-center py-1",r),...l,children:(0,a.jsx)(n.Z,{className:"size-4"})})});x.displayName=s.$G.displayName;let h=i.forwardRef((e,t)=>{let{className:r,children:n,position:l="popper",...o}=e;return(0,a.jsx)(s.h_,{children:(0,a.jsxs)(s.VY,{ref:t,className:(0,d.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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","popper"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",r),position:l,...o,children:[(0,a.jsx)(m,{}),(0,a.jsx)(s.l_,{className:(0,d.cn)("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:n}),(0,a.jsx)(x,{})]})})});h.displayName=s.VY.displayName,i.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.__,{ref:t,className:(0,d.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",r),...n})}).displayName=s.__.displayName;let p=i.forwardRef((e,t)=>{let{className:r,children:n,...l}=e;return(0,a.jsxs)(s.ck,{ref:t,className:(0,d.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l,children:[(0,a.jsx)("span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(s.wU,{children:(0,a.jsx)(o.Z,{className:"size-4"})})}),(0,a.jsx)(s.eT,{children:n})]})});p.displayName=s.ck.displayName,i.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)(s.Z0,{ref:t,className:(0,d.cn)("-mx-1 my-1 h-px bg-muted",r),...n})}).displayName=s.Z0.displayName},93022:function(e,t,r){"use strict";r.d(t,{O:function(){return n}});var a=r(57437),s=r(94508);function n(e){let{className:t,...r}=e;return(0,a.jsx)("div",{className:(0,s.cn)("animate-pulse rounded-md bg-muted",t),...r})}},77992:function(e,t,r){"use strict";r.d(t,{Am:function(){return u},pm:function(){return f}});var a=r(2265);let s=0,n=new Map,l=e=>{if(n.has(e))return;let t=setTimeout(()=>{n.delete(e),c({type:"REMOVE_TOAST",toastId:e})},1e6);n.set(e,t)},o=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:r}=t;return r?l(r):e.toasts.forEach(e=>{l(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===r||void 0===r?{...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)}}},i=[],d={toasts:[]};function c(e){d=o(d,e),i.forEach(e=>{e(d)})}function u(e){let{...t}=e,r=(s=(s+1)%Number.MAX_SAFE_INTEGER).toString(),a=()=>c({type:"DISMISS_TOAST",toastId:r});return c({type:"ADD_TOAST",toast:{...t,id:r,open:!0,onOpenChange:e=>{e||a()}}}),{id:r,dismiss:a,update:e=>c({type:"UPDATE_TOAST",toast:{...e,id:r}})}}function f(){let[e,t]=a.useState(d);return a.useEffect(()=>(i.push(t),()=>{let e=i.indexOf(t);e>-1&&i.splice(e,1)}),[e]),{...e,toast:u,dismiss:e=>c({type:"DISMISS_TOAST",toastId:e})}}},91048:function(e,t,r){"use strict";r.d(t,{h:function(){return a}});let a={CONTEXT_RETRIEVE:"CONTEXT_RETRIEVE",SOURCE_UPDATE:"SOURCE_UPDATE",EMBEDDER_UPSERT:"EMBEDDER_UPSERT",EMBEDDER_GENERATE:"EMBEDDER_GENERATE",EMBEDDER_DELETE:"EMBEDDER_DELETE",WORKFLOW_RUN:"WORKFLOW_RUN",CONTEXT_UPSERT:"CONTEXT_UPSERT",TOOL_CALL:"TOOL_CALL",AGENT_RUN:"AGENT_RUN"}}},function(e){e.O(0,[8310,9851,7629,7093,6148,847,1942,7823,8068,5799,3825,1785,7107,6242,3998,6373,2971,2117,1744],function(){return e(e.s=46363)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=page-85d3f8d2bd28ae4b.js.map