@exulu/frontend 1.9.0 → 1.11.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 (185) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +191 -188
  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_client-reference-manifest.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  8. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +7 -7
  9. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  11. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  14. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +3 -3
  15. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  17. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  18. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  20. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  21. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  22. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  26. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  27. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  32. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  35. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  38. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/_not-found.html +1 -1
  41. package/dist/.next/server/app/_not-found.rsc +1 -1
  42. package/dist/.next/server/app-paths-manifest.json +7 -7
  43. package/dist/.next/server/chunks/2270.js +154 -130
  44. package/dist/.next/server/chunks/{5084.js → 2587.js} +1 -1
  45. package/dist/.next/server/chunks/3503.js +1 -1
  46. package/dist/.next/server/chunks/5485.js +1 -1
  47. package/dist/.next/server/chunks/5974.js +1 -1
  48. package/dist/.next/server/chunks/7944.js +1 -1
  49. package/dist/.next/server/chunks/8286.js +1 -1
  50. package/dist/.next/server/middleware-manifest.json +5 -5
  51. package/dist/.next/server/pages/404.html +1 -1
  52. package/dist/.next/server/pages/500.html +1 -1
  53. package/dist/.next/server/server-reference-manifest.json +1 -1
  54. package/dist/.next/static/chunks/1707-06e693c4a709c147.js +2 -0
  55. package/dist/.next/static/chunks/1707-06e693c4a709c147.js.map +1 -0
  56. package/dist/.next/static/chunks/{1957-cf44b1d31a9c7d5c.js → 1957-34f17de1e14e45de.js} +1 -1
  57. package/dist/.next/static/chunks/{1957-cf44b1d31a9c7d5c.js.map → 1957-34f17de1e14e45de.js.map} +1 -1
  58. package/dist/.next/static/chunks/{2293-48a95904b834eccc.js → 2293-592e22dde70d632b.js} +1 -1
  59. package/dist/.next/static/chunks/{2293-48a95904b834eccc.js.map → 2293-592e22dde70d632b.js.map} +1 -1
  60. package/dist/.next/static/chunks/2534-3dd7a9fabfbdb9d8.js +2 -0
  61. package/dist/.next/static/chunks/2534-3dd7a9fabfbdb9d8.js.map +1 -0
  62. package/dist/.next/static/chunks/2823-324b1cd8f15ff9c5.js +2 -0
  63. package/dist/.next/static/chunks/2823-324b1cd8f15ff9c5.js.map +1 -0
  64. package/dist/.next/static/chunks/3246-1812de142455a0ac.js +2 -0
  65. package/dist/.next/static/chunks/3246-1812de142455a0ac.js.map +1 -0
  66. package/dist/.next/static/chunks/3750-d0ae5d73288be8de.js +2 -0
  67. package/dist/.next/static/chunks/3750-d0ae5d73288be8de.js.map +1 -0
  68. package/dist/.next/static/chunks/{3832-417a5eeee712a793.js → 3832-0b8edbcc671f4cc0.js} +2 -2
  69. package/dist/.next/static/chunks/3832-0b8edbcc671f4cc0.js.map +1 -0
  70. package/dist/.next/static/chunks/{4386-45b79e656a244d8a.js → 4386-21ac377a719ebdfa.js} +1 -1
  71. package/dist/.next/static/chunks/{4386-45b79e656a244d8a.js.map → 4386-21ac377a719ebdfa.js.map} +1 -1
  72. package/dist/.next/static/chunks/4612-da512770f949561a.js +2 -0
  73. package/dist/.next/static/chunks/4612-da512770f949561a.js.map +1 -0
  74. package/dist/.next/static/chunks/{5825-efd4db1da512bd7f.js → 4760-d5ceb992b68e35ca.js} +2 -2
  75. package/dist/.next/static/chunks/4760-d5ceb992b68e35ca.js.map +1 -0
  76. package/dist/.next/static/chunks/{6367-59655a85d75e19be.js → 6367-aa5020cbea5354e2.js} +1 -1
  77. package/dist/.next/static/chunks/{6367-59655a85d75e19be.js.map → 6367-aa5020cbea5354e2.js.map} +1 -1
  78. package/dist/.next/static/chunks/6373-3eee0b6c8b8fd459.js +2 -0
  79. package/dist/.next/static/chunks/6373-3eee0b6c8b8fd459.js.map +1 -0
  80. package/dist/.next/static/chunks/{8030-9c926ea4dfd3a54e.js → 8030-5d38a3f1a4ad44cb.js} +1 -1
  81. package/dist/.next/static/chunks/{8030-9c926ea4dfd3a54e.js.map → 8030-5d38a3f1a4ad44cb.js.map} +1 -1
  82. package/dist/.next/static/chunks/{8293-0e69d89d2dac7111.js → 8293-ba5cd36594e6fde1.js} +3 -3
  83. package/dist/.next/static/chunks/8293-ba5cd36594e6fde1.js.map +1 -0
  84. package/dist/.next/static/chunks/9105-143f12397a76a332.js +2 -0
  85. package/dist/.next/static/chunks/9105-143f12397a76a332.js.map +1 -0
  86. package/dist/.next/static/chunks/9877-378934ae38c6760c.js +2 -0
  87. package/dist/.next/static/chunks/9877-378934ae38c6760c.js.map +1 -0
  88. package/dist/.next/static/chunks/{9953-95900a236271a222.js → 9953-02d5b52553a5c573.js} +2 -2
  89. package/dist/.next/static/chunks/{9953-95900a236271a222.js.map → 9953-02d5b52553a5c573.js.map} +1 -1
  90. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-e4a4693953329671.js → page-37918149a8e909b0.js} +2 -2
  91. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-e4a4693953329671.js.map → page-37918149a8e909b0.js.map} +1 -1
  92. package/dist/.next/static/chunks/app/(application)/agents/{page-b77c21a993c55901.js → page-9cff3b35b042d46a.js} +1 -1
  93. package/dist/.next/static/chunks/app/(application)/agents/{page-b77c21a993c55901.js.map → page-9cff3b35b042d46a.js.map} +1 -1
  94. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-53a99d8df53380c7.js +2 -0
  95. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-53a99d8df53380c7.js.map +1 -0
  96. package/dist/.next/static/chunks/app/(application)/chat/{layout-093baa26f89338bc.js → layout-ba702af6bb56baa2.js} +1 -1
  97. package/dist/.next/static/chunks/app/(application)/chat/{layout-093baa26f89338bc.js.map → layout-ba702af6bb56baa2.js.map} +1 -1
  98. package/dist/.next/static/chunks/app/(application)/chat/{page-8a1fcfb68cf9c8c0.js → page-8b00a98d285829b1.js} +1 -1
  99. package/dist/.next/static/chunks/app/(application)/chat/{page-8a1fcfb68cf9c8c0.js.map → page-8b00a98d285829b1.js.map} +1 -1
  100. package/dist/.next/static/chunks/app/(application)/configuration/{page-f315ede6d66922e6.js → page-1e978e117d5086a1.js} +1 -1
  101. package/dist/.next/static/chunks/app/(application)/configuration/{page-f315ede6d66922e6.js.map → page-1e978e117d5086a1.js.map} +1 -1
  102. package/dist/.next/static/chunks/app/(application)/dashboard/{page-4a1956febf5235b6.js → page-c54b4bc8d0ac4ac8.js} +1 -1
  103. package/dist/.next/static/chunks/app/(application)/dashboard/{page-4a1956febf5235b6.js.map → page-c54b4bc8d0ac4ac8.js.map} +1 -1
  104. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-dfdb5c1cdc7ddefc.js +2 -0
  105. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-dfdb5c1cdc7ddefc.js.map +1 -0
  106. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-faaee5fe82b45966.js +2 -0
  107. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-faaee5fe82b45966.js.map +1 -0
  108. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-a7728cf9b0524489.js → page-c956d9892676aa4f.js} +2 -2
  109. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c956d9892676aa4f.js.map +1 -0
  110. package/dist/.next/static/chunks/app/(application)/evals/cases/page-6b4dde82376e9aac.js +2 -0
  111. package/dist/.next/static/chunks/app/(application)/evals/cases/page-6b4dde82376e9aac.js.map +1 -0
  112. package/dist/.next/static/chunks/app/(application)/evals/{page-8b38d8d29f275704.js → page-944bfc4f0a001e4c.js} +1 -1
  113. package/dist/.next/static/chunks/app/(application)/evals/page-944bfc4f0a001e4c.js.map +1 -0
  114. package/dist/.next/static/chunks/app/(application)/explorer/page-07d67145bb176711.js +2 -0
  115. package/dist/.next/static/chunks/app/(application)/explorer/page-07d67145bb176711.js.map +1 -0
  116. package/dist/.next/static/chunks/app/(application)/keys/{page-afe59c91cc347208.js → page-6c0cd9ef20cd1461.js} +2 -2
  117. package/dist/.next/static/chunks/app/(application)/keys/{page-afe59c91cc347208.js.map → page-6c0cd9ef20cd1461.js.map} +1 -1
  118. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-f04fd5291a1ef7b1.js → page-5e2be54e76b8509c.js} +2 -2
  119. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-f04fd5291a1ef7b1.js.map → page-5e2be54e76b8509c.js.map} +1 -1
  120. package/dist/.next/static/chunks/app/(application)/projects/{layout-a8e1830ef3faafb9.js → layout-f2e0f42a08c96bb8.js} +1 -1
  121. package/dist/.next/static/chunks/app/(application)/projects/{layout-a8e1830ef3faafb9.js.map → layout-f2e0f42a08c96bb8.js.map} +1 -1
  122. package/dist/.next/static/chunks/app/(application)/prompts/{page-2c500e9898447506.js → page-2c03bbe32800acc3.js} +2 -2
  123. package/dist/.next/static/chunks/app/(application)/prompts/{page-2c500e9898447506.js.map → page-2c03bbe32800acc3.js.map} +1 -1
  124. package/dist/.next/static/chunks/app/(application)/roles/{page-873911198c17d9a7.js → page-b977b5c658004717.js} +1 -1
  125. package/dist/.next/static/chunks/app/(application)/roles/{page-873911198c17d9a7.js.map → page-b977b5c658004717.js.map} +1 -1
  126. package/dist/.next/static/chunks/app/(application)/token/{page-3f74f711f3d04fce.js → page-08596ece49a811b9.js} +2 -2
  127. package/dist/.next/static/chunks/app/(application)/token/page-08596ece49a811b9.js.map +1 -0
  128. package/dist/.next/static/chunks/app/(application)/users/{page-0d7f0d7e80cd1436.js → page-49212081be40aeca.js} +2 -2
  129. package/dist/.next/static/chunks/app/(application)/users/{page-0d7f0d7e80cd1436.js.map → page-49212081be40aeca.js.map} +1 -1
  130. package/dist/.next/static/chunks/app/(application)/variables/create/{page-8ebf4e3d4d17443b.js → page-9ce762918374f616.js} +1 -1
  131. package/dist/.next/static/chunks/app/(application)/variables/create/{page-8ebf4e3d4d17443b.js.map → page-9ce762918374f616.js.map} +1 -1
  132. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-006145e82e054e72.js → page-0e2b7038546d9f7a.js} +1 -1
  133. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-006145e82e054e72.js.map → page-0e2b7038546d9f7a.js.map} +1 -1
  134. package/dist/.next/static/chunks/app/(application)/variables/{page-51a8aeece444d388.js → page-141d5d3f735454fe.js} +1 -1
  135. package/dist/.next/static/chunks/app/(application)/variables/{page-51a8aeece444d388.js.map → page-141d5d3f735454fe.js.map} +1 -1
  136. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-8f5cfc9565fd919a.js → page-fb1bb3ea6f7cae47.js} +1 -1
  137. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-8f5cfc9565fd919a.js.map → page-fb1bb3ea6f7cae47.js.map} +1 -1
  138. package/dist/.next/static/chunks/app/(application)/workflows/{page-e38f9456120dab69.js → page-2b839fdbc55c297b.js} +2 -2
  139. package/dist/.next/static/chunks/app/(application)/workflows/page-2b839fdbc55c297b.js.map +1 -0
  140. package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js +2 -0
  141. package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js.map +1 -0
  142. package/dist/.next/static/css/0f539b50cca35462.css +4 -0
  143. package/dist/.next/static/css/0f539b50cca35462.css.map +1 -0
  144. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  145. package/dist/package.json +1 -1
  146. package/package.json +1 -1
  147. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js +0 -2
  148. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js.map +0 -1
  149. package/dist/.next/static/chunks/3171-6996819b8863d41f.js +0 -2
  150. package/dist/.next/static/chunks/3171-6996819b8863d41f.js.map +0 -1
  151. package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js +0 -2
  152. package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js.map +0 -1
  153. package/dist/.next/static/chunks/3832-417a5eeee712a793.js.map +0 -1
  154. package/dist/.next/static/chunks/4419-b9be79d8cd46a97d.js +0 -2
  155. package/dist/.next/static/chunks/4419-b9be79d8cd46a97d.js.map +0 -1
  156. package/dist/.next/static/chunks/5110-098aa924c3108fa4.js +0 -2
  157. package/dist/.next/static/chunks/5110-098aa924c3108fa4.js.map +0 -1
  158. package/dist/.next/static/chunks/572-2940a399da1e3a3b.js +0 -2
  159. package/dist/.next/static/chunks/572-2940a399da1e3a3b.js.map +0 -1
  160. package/dist/.next/static/chunks/5825-efd4db1da512bd7f.js.map +0 -1
  161. package/dist/.next/static/chunks/6373-601400fab8a3bb55.js +0 -2
  162. package/dist/.next/static/chunks/6373-601400fab8a3bb55.js.map +0 -1
  163. package/dist/.next/static/chunks/8293-0e69d89d2dac7111.js.map +0 -1
  164. package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js +0 -2
  165. package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js.map +0 -1
  166. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js +0 -2
  167. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js.map +0 -1
  168. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js +0 -2
  169. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js.map +0 -1
  170. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js +0 -2
  171. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js.map +0 -1
  172. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js.map +0 -1
  173. package/dist/.next/static/chunks/app/(application)/evals/cases/page-827f50c6d1f150d0.js +0 -2
  174. package/dist/.next/static/chunks/app/(application)/evals/cases/page-827f50c6d1f150d0.js.map +0 -1
  175. package/dist/.next/static/chunks/app/(application)/evals/page-8b38d8d29f275704.js.map +0 -1
  176. package/dist/.next/static/chunks/app/(application)/explorer/page-1d676c9dfe3ed58b.js +0 -2
  177. package/dist/.next/static/chunks/app/(application)/explorer/page-1d676c9dfe3ed58b.js.map +0 -1
  178. package/dist/.next/static/chunks/app/(application)/token/page-3f74f711f3d04fce.js.map +0 -1
  179. package/dist/.next/static/chunks/app/(application)/workflows/page-e38f9456120dab69.js.map +0 -1
  180. package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js +0 -2
  181. package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js.map +0 -1
  182. package/dist/.next/static/css/6f8c5212af8ef284.css +0 -4
  183. package/dist/.next/static/css/6f8c5212af8ef284.css.map +0 -1
  184. /package/dist/.next/static/{ls-syPkq9-MWp-VWWDEZJ → exslB-IPXi_veOKFA4L1Z}/_buildManifest.js +0 -0
  185. /package/dist/.next/static/{ls-syPkq9-MWp-VWWDEZJ → exslB-IPXi_veOKFA4L1Z}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/chunks/app/(application)/roles/page-873911198c17d9a7.js","mappings":"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","sources":["webpack://_N_E/?f649","webpack://_N_E/./components/ui/radio-group.tsx","webpack://_N_E/./components/role-form.tsx","webpack://_N_E/./app/(application)/roles/page.tsx","webpack://_N_E/./components/ui/badge.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/dialog.tsx","webpack://_N_E/./components/ui/input.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/table.tsx","webpack://_N_E/./components/ui/use-toast.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/roles/page.tsx\");\n","\"use client\";\n\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"size-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","\"use client\"\n\nimport { useState, useEffect } from \"react\"\nimport { Loader2, Shield, Users, Workflow, Variable, Bot, CodeSquare, Brain } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\"\nimport { UserRole } from \"@/types/models/user-role\"\n\ninterface RoleFormProps {\n initialData?: UserRole | null\n onSubmit: (roleData: any) => Promise<void>\n loading: boolean\n onCancel: () => void\n}\n\nconst PERMISSION_OPTIONS = [\n { value: \"\", label: \"No Access\", description: \"Cannot access this resource\" },\n { value: \"read\", label: \"Read Only\", description: \"Can view but not modify\" },\n { value: \"write\", label: \"Read/Write\", description: \"Full access to create, read, update, and delete\" },\n]\n\nconst PERMISSION_AREAS = [\n {\n key: \"agents\" as const,\n label: \"Agents\",\n icon: Bot,\n description: \"AI agents and their configurations\"\n },\n {\n key: \"workflows\" as const,\n label: \"Workflows\",\n icon: Workflow,\n description: \"Workflow templates and executions\"\n },\n {\n key: \"variables\" as const,\n label: \"Variables\",\n icon: Variable,\n description: \"Environment variables and secrets\"\n },\n {\n key: \"users\" as const,\n label: \"Users\",\n icon: Users,\n description: \"User management and roles\"\n },\n {\n key: \"api\" as const,\n label: \"API\",\n icon: CodeSquare,\n description: \"API access and management\"\n },\n {\n key: \"evals\" as const,\n label: \"Evals\",\n icon: Brain,\n description: \"Evaluation sets, test cases, and eval runs\"\n }\n]\n\nexport function RoleForm({ initialData, onSubmit, loading, onCancel }: RoleFormProps) {\n const [name, setName] = useState(initialData?.name || \"\")\n const [permissions, setPermissions] = useState({\n agents: initialData?.agents || \"\",\n api: initialData?.api || \"\",\n workflows: initialData?.workflows || \"\",\n variables: initialData?.variables || \"\",\n users: initialData?.users || \"\",\n evals: initialData?.evals || \"\",\n })\n\n useEffect(() => {\n if (initialData) {\n setName(initialData.name)\n setPermissions({\n agents: initialData.agents || \"\",\n api: initialData.api || \"\",\n workflows: initialData.workflows || \"\",\n variables: initialData.variables || \"\",\n users: initialData.users || \"\",\n evals: initialData.evals || \"\"\n })\n }\n }, [initialData])\n\n const handlePermissionChange = (area: keyof typeof permissions, value: string) => {\n setPermissions(prev => ({\n ...prev,\n [area]: value\n }))\n }\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault()\n\n if (!name.trim()) {\n return\n }\n\n const roleData = {\n name: name.trim(),\n agents: permissions.agents || null,\n api: permissions.api || null,\n workflows: permissions.workflows || null,\n variables: permissions.variables || null,\n users: permissions.users || null,\n evals: permissions.evals || null\n }\n\n await onSubmit(roleData)\n }\n\n return (\n <form onSubmit={handleSubmit} className=\"space-y-6\">\n {/* Role Name */}\n <div className=\"space-y-2\">\n <Label htmlFor=\"roleName\">Role Name</Label>\n <Input\n id=\"roleName\"\n placeholder=\"e.g. Admin, Developer, Viewer\"\n disabled={loading || initialData?.name === \"admin\" || initialData?.name === \"default\"}\n value={name}\n onChange={(e) => setName(e.target.value)}\n required\n />\n {initialData?.name === \"admin\" || initialData?.name === \"default\" ? (\n <p className=\"text-sm text-destructive\">\n Admin and default roles names cannot be changed, these are reserved for system defaults.\n </p>\n ) : null}\n </div>\n\n {/* Permissions */}\n <div className=\"space-y-4\">\n <div>\n <h3 className=\"text-lg font-medium\">Permissions</h3>\n <p className=\"text-sm text-muted-foreground\">\n Configure access levels for different areas of the system\n </p>\n </div>\n\n {PERMISSION_AREAS.map((area) => {\n const Icon = area.icon\n return (\n <Card key={area.key}>\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"flex items-center gap-2 text-base\">\n <Icon className=\"h-4 w-4\" />\n {area.label}\n </CardTitle>\n <CardDescription className=\"text-sm\">\n {area.description}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <RadioGroup\n value={permissions[area.key]}\n onValueChange={(value) => handlePermissionChange(area.key, value)}\n disabled={loading}\n >\n {PERMISSION_OPTIONS.map((option) => (\n <div key={option.value} className=\"flex items-center space-x-2\">\n <RadioGroupItem value={option.value} id={`${area.key}-${option.value}`} />\n <Label\n htmlFor={`${area.key}-${option.value}`}\n className=\"flex-1 cursor-pointer\"\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"font-medium\">{option.label}</span>\n <span className=\"text-sm text-muted-foreground\">\n {option.description}\n </span>\n </div>\n </Label>\n </div>\n ))}\n </RadioGroup>\n </CardContent>\n </Card>\n )\n })}\n </div>\n\n {/* Actions */}\n <div className=\"flex items-center justify-end gap-3 pt-4 border-t\">\n <Button type=\"button\" variant=\"outline\" onClick={onCancel} disabled={loading}>\n Cancel\n </Button>\n <Button type=\"submit\" disabled={loading || !name.trim()}>\n {loading ? (\n <>\n <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n {initialData ? \"Updating...\" : \"Creating...\"}\n </>\n ) : (\n <>\n <Shield className=\"mr-2 h-4 w-4\" />\n {initialData ? \"Update Role\" : \"Create Role\"}\n </>\n )}\n </Button>\n </div>\n </form>\n )\n}","\"use client\"\n\nimport { useState } from \"react\"\nimport { Plus, Trash2, Edit, Shield, Loader2, ArrowLeft } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport Link from \"next/link\"\nimport { Input } from \"@/components/ui/input\"\nimport { format } from \"date-fns\"\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from \"@/components/ui/table\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { toast } from \"@/components/ui/use-toast\"\nimport { useMutation, useQuery } from \"@apollo/client\"\nimport { GET_USER_ROLES, CREATE_USER_ROLE, UPDATE_USER_ROLE_BY_ID, REMOVE_USER_ROLE_BY_ID } from \"@/queries/queries\"\nimport { RoleForm } from \"@/components/role-form\"\nimport { UserRole } from \"@/types/models/user-role\"\n\nexport default function RoleManagement() {\n const [searchTerm, setSearchTerm] = useState(\"\")\n const [createDialogOpen, setCreateDialogOpen] = useState(false)\n const [editDialogOpen, setEditDialogOpen] = useState(false)\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false)\n const [selectedRole, setSelectedRole] = useState<UserRole | null>(null)\n\n const { loading, error, data, refetch } = useQuery(GET_USER_ROLES, {\n variables: { page: 1, limit: 100 },\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: \"network-only\",\n })\n\n const [createRole, { loading: createLoading }] = useMutation(CREATE_USER_ROLE, {\n refetchQueries: [GET_USER_ROLES, \"GetUserRoles\"],\n })\n\n const [updateRole, { loading: updateLoading }] = useMutation(UPDATE_USER_ROLE_BY_ID, {\n refetchQueries: [GET_USER_ROLES, \"GetUserRoles\"],\n })\n\n const [deleteRole, { loading: deleteLoading }] = useMutation(REMOVE_USER_ROLE_BY_ID, {\n refetchQueries: [GET_USER_ROLES, \"GetUserRoles\"],\n })\n\n const roles: UserRole[] = data?.rolesPagination?.items || []\n const filteredRoles = roles.filter(role =>\n role.name.toLowerCase().includes(searchTerm.toLowerCase())\n )\n\n const formatPermissions = (role: UserRole) => {\n const permissions: { name: string; level: string }[] = []\n \n if (role.agents) {\n const agentPerms = role.agents.toLowerCase()\n if (agentPerms.includes('write') || agentPerms.includes('create') || agentPerms.includes('update') || agentPerms.includes('delete')) {\n permissions.push({ name: \"Agents\", level: \"Read/Write\" })\n } else if (agentPerms.includes('read') || agentPerms.includes('view')) {\n permissions.push({ name: \"Agents\", level: \"Read\" })\n }\n }\n \n if (role.workflows) {\n const workflowPerms = role.workflows.toLowerCase()\n if (workflowPerms.includes('write') || workflowPerms.includes('create') || workflowPerms.includes('update') || workflowPerms.includes('delete')) {\n permissions.push({ name: \"Workflows\", level: \"Read/Write\" })\n } else if (workflowPerms.includes('read') || workflowPerms.includes('view')) {\n permissions.push({ name: \"Workflows\", level: \"Read\" })\n }\n }\n \n if (role.variables) {\n const variablePerms = role.variables.toLowerCase()\n if (variablePerms.includes('write') || variablePerms.includes('create') || variablePerms.includes('update') || variablePerms.includes('delete')) {\n permissions.push({ name: \"Variables\", level: \"Read/Write\" })\n } else if (variablePerms.includes('read') || variablePerms.includes('view')) {\n permissions.push({ name: \"Variables\", level: \"Read\" })\n }\n }\n \n if (role.users) {\n const userPerms = role.users.toLowerCase()\n if (userPerms.includes('write') || userPerms.includes('create') || userPerms.includes('update') || userPerms.includes('delete')) {\n permissions.push({ name: \"Users\", level: \"Read/Write\" })\n } else if (userPerms.includes('read') || userPerms.includes('view')) {\n permissions.push({ name: \"Users\", level: \"Read\" })\n }\n }\n\n if (role.api) {\n const apiPerms = role.api.toLowerCase()\n if (apiPerms.includes('write') || apiPerms.includes('create') || apiPerms.includes('update') || apiPerms.includes('delete')) {\n permissions.push({ name: \"API\", level: \"Read/Write\" })\n } else if (apiPerms.includes('read') || apiPerms.includes('view')) {\n permissions.push({ name: \"API\", level: \"Read\" })\n }\n }\n\n return permissions\n }\n\n const handleCreateRole = async (roleData: any) => {\n try {\n await createRole({\n variables: {\n name: roleData.name,\n agents: roleData.agents,\n api: roleData.api,\n workflows: roleData.workflows,\n variables: roleData.variables,\n users: roleData.users,\n }\n })\n setCreateDialogOpen(false)\n toast({\n title: \"Success\",\n description: \"Role created successfully\",\n })\n } catch (error) {\n toast({\n title: \"Error\",\n description: \"Failed to create role\",\n variant: \"destructive\",\n })\n }\n }\n\n const handleUpdateRole = async (roleData: any) => {\n if (!selectedRole) return\n \n try {\n await updateRole({\n variables: {\n id: selectedRole.id,\n name: roleData.name,\n agents: roleData.agents,\n api: roleData.api,\n workflows: roleData.workflows,\n variables: roleData.variables,\n users: roleData.users,\n }\n })\n setEditDialogOpen(false)\n setSelectedRole(null)\n toast({\n title: \"Success\",\n description: \"Role updated successfully\",\n })\n } catch (error) {\n toast({\n title: \"Error\",\n description: \"Failed to update role\",\n variant: \"destructive\",\n })\n }\n }\n\n const handleDeleteRole = async () => {\n if (!selectedRole) return\n \n try {\n await deleteRole({\n variables: { id: selectedRole.id }\n })\n setDeleteDialogOpen(false)\n setSelectedRole(null)\n toast({\n title: \"Success\",\n description: \"Role deleted successfully\",\n })\n } catch (error) {\n toast({\n title: \"Error\",\n description: \"Failed to delete role\",\n variant: \"destructive\",\n })\n }\n }\n\n return (\n <div className=\"container mx-auto py-6 space-y-8 max-w-7xl\">\n <div className=\"flex flex-col gap-2\">\n <Link href=\"/users\">\n <Button variant=\"ghost\" size=\"sm\" className=\"mb-2 w-fit\">\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back to Users\n </Button>\n </Link>\n <h1 className=\"text-3xl font-bold tracking-tight\">Role Management</h1>\n <p className=\"text-muted-foreground\">\n Create and manage roles with specific permissions for agents, workflows, variables, the api and users.\n </p>\n </div>\n\n {/* Search and Create */}\n <Card>\n <CardHeader>\n <CardTitle>Roles</CardTitle>\n <CardDescription>\n Manage system roles and their permissions\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <Input\n placeholder=\"Search roles...\"\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n className=\"flex-1 max-w-md\"\n />\n <Dialog open={createDialogOpen} onOpenChange={setCreateDialogOpen}>\n <DialogTrigger asChild>\n <Button>\n <Plus className=\"mr-2 h-4 w-4\" />\n Create Role\n </Button>\n </DialogTrigger>\n <DialogContent className=\"max-w-2xl max-h-[90vh] overflow-y-auto\">\n <DialogHeader>\n <DialogTitle>Create New Role</DialogTitle>\n <DialogDescription>\n Define the role name and permissions for different system areas.\n </DialogDescription>\n </DialogHeader>\n <RoleForm\n onSubmit={handleCreateRole}\n loading={createLoading}\n onCancel={() => setCreateDialogOpen(false)}\n />\n </DialogContent>\n </Dialog>\n </div>\n </CardContent>\n </Card>\n\n {/* Roles List */}\n <Card>\n <CardContent className=\"p-0\">\n {loading ? (\n <div className=\"text-center py-8\">\n <Loader2 className=\"h-8 w-8 animate-spin mx-auto mb-2\" />\n <p className=\"text-muted-foreground\">Loading roles...</p>\n </div>\n ) : filteredRoles.length === 0 ? (\n <div className=\"text-center py-8 text-muted-foreground\">\n {searchTerm ? \"No roles found matching your search.\" : \"No roles created yet. Create your first role above.\"}\n </div>\n ) : (\n <div className=\"overflow-x-auto\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Role Name</TableHead>\n <TableHead>Permissions</TableHead>\n <TableHead>Created</TableHead>\n <TableHead>Updated</TableHead>\n <TableHead className=\"text-right\">Actions</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {filteredRoles.map((role) => (\n <TableRow key={role.id}>\n <TableCell>\n <div className=\"flex items-center gap-2\">\n <Shield className=\"h-4 w-4 text-muted-foreground\" />\n <span className=\"font-medium\">{role.name}</span>\n </div>\n </TableCell>\n <TableCell>\n <div className=\"flex flex-wrap gap-1\">\n {formatPermissions(role).map((perm, index) => (\n <Badge \n key={index} \n variant={\"secondary\"}\n className=\"text-xs\"\n >\n {perm.name}: {perm.level}\n </Badge>\n ))}\n {formatPermissions(role).length === 0 && (\n <Badge variant=\"outline\" className=\"text-xs\">\n No permissions\n </Badge>\n )}\n </div>\n </TableCell>\n <TableCell>\n {format(new Date(role.createdAt || \"\"), \"PP hh:mm\")}\n </TableCell>\n <TableCell>\n {format(new Date(role.updatedAt || \"\"), \"PP hh:mm\")}\n </TableCell>\n <TableCell className=\"text-right\">\n <div className=\"flex items-center justify-end gap-2\">\n <Dialog open={editDialogOpen && selectedRole?.id === role.id} onOpenChange={(open) => {\n setEditDialogOpen(open)\n if (!open) setSelectedRole(null)\n }}>\n <DialogTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => setSelectedRole(role)}\n className=\"h-8 w-8\"\n >\n <Edit className=\"h-4 w-4\" />\n </Button>\n </DialogTrigger>\n <DialogContent className=\"max-w-2xl max-h-[90vh] overflow-y-auto\">\n <DialogHeader>\n <DialogTitle>Edit Role</DialogTitle>\n <DialogDescription>\n Update the role name and permissions.\n </DialogDescription>\n </DialogHeader>\n <RoleForm\n initialData={selectedRole}\n onSubmit={handleUpdateRole}\n loading={updateLoading}\n onCancel={() => {\n setEditDialogOpen(false)\n setSelectedRole(null)\n }}\n />\n </DialogContent>\n </Dialog>\n\n <Dialog open={deleteDialogOpen && selectedRole?.id === role.id} onOpenChange={(open) => {\n setDeleteDialogOpen(open)\n if (!open) setSelectedRole(null)\n }}>\n <DialogTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => setSelectedRole(role)}\n disabled={role.name === \"admin\" || role.name === \"default\"}\n className=\"h-8 w-8 text-red-500 hover:text-red-600 hover:bg-red-50 dark:hover:bg-red-950\"\n >\n <Trash2 className=\"h-4 w-4\" />\n </Button>\n </DialogTrigger>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Delete Role</DialogTitle>\n <DialogDescription>\n Are you sure you want to delete the role \"{selectedRole?.name}\"? This action cannot be undone.\n </DialogDescription>\n </DialogHeader>\n <DialogFooter>\n <Button \n variant=\"outline\" \n onClick={() => {\n setDeleteDialogOpen(false)\n setSelectedRole(null)\n }}\n >\n Cancel\n </Button>\n <Button \n variant=\"destructive\" \n onClick={handleDeleteRole}\n disabled={deleteLoading || role.name === \"admin\" || role.name === \"default\"}\n >\n {deleteLoading ? (\n <>\n <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n Deleting...\n </>\n ) : (\n \"Delete Role\"\n )}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n )}\n </CardContent>\n </Card>\n </div>\n )\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","RadioGroup","React","param","ref","className","props","jsx_runtime","jsx","RadioGroupPrimitive","cn","displayName","RadioGroupItem","Circle","PERMISSION_OPTIONS","value","label","description","PERMISSION_AREAS","key","icon","Bot","Workflow","Variable","Users","CodeSquare","Brain","RoleForm","initialData","onSubmit","loading","onCancel","name","setName","useState","permissions","setPermissions","agents","api","workflows","variables","users","evals","useEffect","handlePermissionChange","area","prev","handleSubmit","e","preventDefault","trim","roleData","jsxs","form","div","Label","htmlFor","Input","id","placeholder","disabled","onChange","target","required","p","h3","map","Icon","Card","CardHeader","CardTitle","CardDescription","CardContent","onValueChange","option","concat","span","Button","type","variant","onClick","Fragment","Loader2","Shield","RoleManagement","data","searchTerm","setSearchTerm","createDialogOpen","setCreateDialogOpen","editDialogOpen","setEditDialogOpen","deleteDialogOpen","setDeleteDialogOpen","selectedRole","setSelectedRole","error","refetch","useQuery","GET_USER_ROLES","page","limit","fetchPolicy","nextFetchPolicy","createRole","createLoading","useMutation","CREATE_USER_ROLE","refetchQueries","updateRole","updateLoading","UPDATE_USER_ROLE_BY_ID","deleteRole","deleteLoading","REMOVE_USER_ROLE_BY_ID","filteredRoles","roles","rolesPagination","items","filter","role","toLowerCase","includes","formatPermissions","agentPerms","push","level","workflowPerms","variablePerms","userPerms","apiPerms","handleCreateRole","toast","title","handleUpdateRole","handleDeleteRole","Link","href","size","ArrowLeft","h1","Dialog","open","onOpenChange","DialogTrigger","asChild","Plus","DialogContent","DialogHeader","DialogTitle","DialogDescription","length","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","perm","index","Badge","format","Date","createdAt","updatedAt","Edit","Trash2","DialogFooter","badgeVariants","cva","variants","default","secondary","destructive","outline","defaultVariants","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","CardFooter","DialogPrimitive","DialogPortal","DialogOverlay","children","X","input","labelVariants","LabelPrimitive","table","thead","tbody","TableFooter","tfoot","tr","th","td","TableCaption","caption","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","set","reducer","state","action","toasts","slice","t","forEach","undefined","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","update","useToast","setState","indexOf","splice"],"sourceRoot":""}
1
+ {"version":3,"file":"static/chunks/app/(application)/roles/page-b977b5c658004717.js","mappings":"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","sources":["webpack://_N_E/?f649","webpack://_N_E/./components/ui/radio-group.tsx","webpack://_N_E/./components/role-form.tsx","webpack://_N_E/./app/(application)/roles/page.tsx","webpack://_N_E/./components/ui/badge.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/dialog.tsx","webpack://_N_E/./components/ui/input.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/table.tsx","webpack://_N_E/./components/ui/use-toast.ts"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/home/runner/work/exulu-frontend/exulu-frontend/app/(application)/roles/page.tsx\");\n","\"use client\";\n\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { Circle } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n );\n});\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName;\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"size-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n});\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;\n\nexport { RadioGroup, RadioGroupItem };\n","\"use client\"\n\nimport { useState, useEffect } from \"react\"\nimport { Loader2, Shield, Users, Workflow, Variable, Bot, CodeSquare, Brain } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Label } from \"@/components/ui/label\"\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { RadioGroup, RadioGroupItem } from \"@/components/ui/radio-group\"\nimport { UserRole } from \"@/types/models/user-role\"\n\ninterface RoleFormProps {\n initialData?: UserRole | null\n onSubmit: (roleData: any) => Promise<void>\n loading: boolean\n onCancel: () => void\n}\n\nconst PERMISSION_OPTIONS = [\n { value: \"\", label: \"No Access\", description: \"Cannot access this resource\" },\n { value: \"read\", label: \"Read Only\", description: \"Can view but not modify\" },\n { value: \"write\", label: \"Read/Write\", description: \"Full access to create, read, update, and delete\" },\n]\n\nconst PERMISSION_AREAS = [\n {\n key: \"agents\" as const,\n label: \"Agents\",\n icon: Bot,\n description: \"AI agents and their configurations\"\n },\n {\n key: \"workflows\" as const,\n label: \"Workflows\",\n icon: Workflow,\n description: \"Workflow templates and executions\"\n },\n {\n key: \"variables\" as const,\n label: \"Variables\",\n icon: Variable,\n description: \"Environment variables and secrets\"\n },\n {\n key: \"users\" as const,\n label: \"Users\",\n icon: Users,\n description: \"User management and roles\"\n },\n {\n key: \"api\" as const,\n label: \"API\",\n icon: CodeSquare,\n description: \"API access and management\"\n },\n {\n key: \"evals\" as const,\n label: \"Evals\",\n icon: Brain,\n description: \"Evaluation sets, test cases, and eval runs\"\n }\n]\n\nexport function RoleForm({ initialData, onSubmit, loading, onCancel }: RoleFormProps) {\n const [name, setName] = useState(initialData?.name || \"\")\n const [permissions, setPermissions] = useState({\n agents: initialData?.agents || \"\",\n api: initialData?.api || \"\",\n workflows: initialData?.workflows || \"\",\n variables: initialData?.variables || \"\",\n users: initialData?.users || \"\",\n evals: initialData?.evals || \"\",\n })\n\n useEffect(() => {\n if (initialData) {\n setName(initialData.name)\n setPermissions({\n agents: initialData.agents || \"\",\n api: initialData.api || \"\",\n workflows: initialData.workflows || \"\",\n variables: initialData.variables || \"\",\n users: initialData.users || \"\",\n evals: initialData.evals || \"\"\n })\n }\n }, [initialData])\n\n const handlePermissionChange = (area: keyof typeof permissions, value: string) => {\n setPermissions(prev => ({\n ...prev,\n [area]: value\n }))\n }\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault()\n\n if (!name.trim()) {\n return\n }\n\n const roleData = {\n name: name.trim(),\n agents: permissions.agents || null,\n api: permissions.api || null,\n workflows: permissions.workflows || null,\n variables: permissions.variables || null,\n users: permissions.users || null,\n evals: permissions.evals || null\n }\n\n await onSubmit(roleData)\n }\n\n return (\n <form onSubmit={handleSubmit} className=\"space-y-6\">\n {/* Role Name */}\n <div className=\"space-y-2\">\n <Label htmlFor=\"roleName\">Role Name</Label>\n <Input\n id=\"roleName\"\n placeholder=\"e.g. Admin, Developer, Viewer\"\n disabled={loading || initialData?.name === \"admin\" || initialData?.name === \"default\"}\n value={name}\n onChange={(e) => setName(e.target.value)}\n required\n />\n {initialData?.name === \"admin\" || initialData?.name === \"default\" ? (\n <p className=\"text-sm text-destructive\">\n Admin and default roles names cannot be changed, these are reserved for system defaults.\n </p>\n ) : null}\n </div>\n\n {/* Permissions */}\n <div className=\"space-y-4\">\n <div>\n <h3 className=\"text-lg font-medium\">Permissions</h3>\n <p className=\"text-sm text-muted-foreground\">\n Configure access levels for different areas of the system\n </p>\n </div>\n\n {PERMISSION_AREAS.map((area) => {\n const Icon = area.icon\n return (\n <Card key={area.key}>\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"flex items-center gap-2 text-base\">\n <Icon className=\"h-4 w-4\" />\n {area.label}\n </CardTitle>\n <CardDescription className=\"text-sm\">\n {area.description}\n </CardDescription>\n </CardHeader>\n <CardContent>\n <RadioGroup\n value={permissions[area.key]}\n onValueChange={(value) => handlePermissionChange(area.key, value)}\n disabled={loading}\n >\n {PERMISSION_OPTIONS.map((option) => (\n <div key={option.value} className=\"flex items-center space-x-2\">\n <RadioGroupItem value={option.value} id={`${area.key}-${option.value}`} />\n <Label\n htmlFor={`${area.key}-${option.value}`}\n className=\"flex-1 cursor-pointer\"\n >\n <div className=\"flex items-center justify-between\">\n <span className=\"font-medium\">{option.label}</span>\n <span className=\"text-sm text-muted-foreground\">\n {option.description}\n </span>\n </div>\n </Label>\n </div>\n ))}\n </RadioGroup>\n </CardContent>\n </Card>\n )\n })}\n </div>\n\n {/* Actions */}\n <div className=\"flex items-center justify-end gap-3 pt-4 border-t\">\n <Button type=\"button\" variant=\"outline\" onClick={onCancel} disabled={loading}>\n Cancel\n </Button>\n <Button type=\"submit\" disabled={loading || !name.trim()}>\n {loading ? (\n <>\n <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n {initialData ? \"Updating...\" : \"Creating...\"}\n </>\n ) : (\n <>\n <Shield className=\"mr-2 h-4 w-4\" />\n {initialData ? \"Update Role\" : \"Create Role\"}\n </>\n )}\n </Button>\n </div>\n </form>\n )\n}","\"use client\"\n\nimport { useState } from \"react\"\nimport { Plus, Trash2, Edit, Shield, Loader2, ArrowLeft } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport Link from \"next/link\"\nimport { Input } from \"@/components/ui/input\"\nimport { format } from \"date-fns\"\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\"\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from \"@/components/ui/table\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\"\nimport { Badge } from \"@/components/ui/badge\"\nimport { toast } from \"@/components/ui/use-toast\"\nimport { useMutation, useQuery } from \"@apollo/client\"\nimport { GET_USER_ROLES, CREATE_USER_ROLE, UPDATE_USER_ROLE_BY_ID, REMOVE_USER_ROLE_BY_ID } from \"@/queries/queries\"\nimport { RoleForm } from \"@/components/role-form\"\nimport { UserRole } from \"@/types/models/user-role\"\n\nexport default function RoleManagement() {\n const [searchTerm, setSearchTerm] = useState(\"\")\n const [createDialogOpen, setCreateDialogOpen] = useState(false)\n const [editDialogOpen, setEditDialogOpen] = useState(false)\n const [deleteDialogOpen, setDeleteDialogOpen] = useState(false)\n const [selectedRole, setSelectedRole] = useState<UserRole | null>(null)\n\n const { loading, error, data, refetch } = useQuery(GET_USER_ROLES, {\n variables: { page: 1, limit: 100 },\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: \"network-only\",\n })\n\n const [createRole, { loading: createLoading }] = useMutation(CREATE_USER_ROLE, {\n refetchQueries: [GET_USER_ROLES, \"GetUserRoles\"],\n })\n\n const [updateRole, { loading: updateLoading }] = useMutation(UPDATE_USER_ROLE_BY_ID, {\n refetchQueries: [GET_USER_ROLES, \"GetUserRoles\"],\n })\n\n const [deleteRole, { loading: deleteLoading }] = useMutation(REMOVE_USER_ROLE_BY_ID, {\n refetchQueries: [GET_USER_ROLES, \"GetUserRoles\"],\n })\n\n const roles: UserRole[] = data?.rolesPagination?.items || []\n const filteredRoles = roles.filter(role =>\n role.name.toLowerCase().includes(searchTerm.toLowerCase())\n )\n\n const formatPermissions = (role: UserRole) => {\n const permissions: { name: string; level: string }[] = []\n \n if (role.agents) {\n const agentPerms = role.agents.toLowerCase()\n if (agentPerms.includes('write') || agentPerms.includes('create') || agentPerms.includes('update') || agentPerms.includes('delete')) {\n permissions.push({ name: \"Agents\", level: \"Read/Write\" })\n } else if (agentPerms.includes('read') || agentPerms.includes('view')) {\n permissions.push({ name: \"Agents\", level: \"Read\" })\n }\n }\n \n if (role.workflows) {\n const workflowPerms = role.workflows.toLowerCase()\n if (workflowPerms.includes('write') || workflowPerms.includes('create') || workflowPerms.includes('update') || workflowPerms.includes('delete')) {\n permissions.push({ name: \"Workflows\", level: \"Read/Write\" })\n } else if (workflowPerms.includes('read') || workflowPerms.includes('view')) {\n permissions.push({ name: \"Workflows\", level: \"Read\" })\n }\n }\n \n if (role.variables) {\n const variablePerms = role.variables.toLowerCase()\n if (variablePerms.includes('write') || variablePerms.includes('create') || variablePerms.includes('update') || variablePerms.includes('delete')) {\n permissions.push({ name: \"Variables\", level: \"Read/Write\" })\n } else if (variablePerms.includes('read') || variablePerms.includes('view')) {\n permissions.push({ name: \"Variables\", level: \"Read\" })\n }\n }\n \n if (role.users) {\n const userPerms = role.users.toLowerCase()\n if (userPerms.includes('write') || userPerms.includes('create') || userPerms.includes('update') || userPerms.includes('delete')) {\n permissions.push({ name: \"Users\", level: \"Read/Write\" })\n } else if (userPerms.includes('read') || userPerms.includes('view')) {\n permissions.push({ name: \"Users\", level: \"Read\" })\n }\n }\n\n if (role.api) {\n const apiPerms = role.api.toLowerCase()\n if (apiPerms.includes('write') || apiPerms.includes('create') || apiPerms.includes('update') || apiPerms.includes('delete')) {\n permissions.push({ name: \"API\", level: \"Read/Write\" })\n } else if (apiPerms.includes('read') || apiPerms.includes('view')) {\n permissions.push({ name: \"API\", level: \"Read\" })\n }\n }\n\n return permissions\n }\n\n const handleCreateRole = async (roleData: any) => {\n try {\n await createRole({\n variables: {\n name: roleData.name,\n agents: roleData.agents,\n api: roleData.api,\n workflows: roleData.workflows,\n variables: roleData.variables,\n users: roleData.users,\n }\n })\n setCreateDialogOpen(false)\n toast({\n title: \"Success\",\n description: \"Role created successfully\",\n })\n } catch (error) {\n toast({\n title: \"Error\",\n description: \"Failed to create role\",\n variant: \"destructive\",\n })\n }\n }\n\n const handleUpdateRole = async (roleData: any) => {\n if (!selectedRole) return\n \n try {\n await updateRole({\n variables: {\n id: selectedRole.id,\n name: roleData.name,\n agents: roleData.agents,\n api: roleData.api,\n workflows: roleData.workflows,\n variables: roleData.variables,\n users: roleData.users,\n }\n })\n setEditDialogOpen(false)\n setSelectedRole(null)\n toast({\n title: \"Success\",\n description: \"Role updated successfully\",\n })\n } catch (error) {\n toast({\n title: \"Error\",\n description: \"Failed to update role\",\n variant: \"destructive\",\n })\n }\n }\n\n const handleDeleteRole = async () => {\n if (!selectedRole) return\n \n try {\n await deleteRole({\n variables: { id: selectedRole.id }\n })\n setDeleteDialogOpen(false)\n setSelectedRole(null)\n toast({\n title: \"Success\",\n description: \"Role deleted successfully\",\n })\n } catch (error) {\n toast({\n title: \"Error\",\n description: \"Failed to delete role\",\n variant: \"destructive\",\n })\n }\n }\n\n return (\n <div className=\"container mx-auto py-6 space-y-8 max-w-7xl\">\n <div className=\"flex flex-col gap-2\">\n <Link href=\"/users\">\n <Button variant=\"ghost\" size=\"sm\" className=\"mb-2 w-fit\">\n <ArrowLeft className=\"mr-2 h-4 w-4\" />\n Back to Users\n </Button>\n </Link>\n <h1 className=\"text-3xl font-bold tracking-tight\">Role Management</h1>\n <p className=\"text-muted-foreground\">\n Create and manage roles with specific permissions for agents, workflows, variables, the api and users.\n </p>\n </div>\n\n {/* Search and Create */}\n <Card>\n <CardHeader>\n <CardTitle>Roles</CardTitle>\n <CardDescription>\n Manage system roles and their permissions\n </CardDescription>\n </CardHeader>\n <CardContent>\n <div className=\"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\">\n <Input\n placeholder=\"Search roles...\"\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n className=\"flex-1 max-w-md\"\n />\n <Dialog open={createDialogOpen} onOpenChange={setCreateDialogOpen}>\n <DialogTrigger asChild>\n <Button>\n <Plus className=\"mr-2 h-4 w-4\" />\n Create Role\n </Button>\n </DialogTrigger>\n <DialogContent className=\"max-w-2xl max-h-[90vh] overflow-y-auto\">\n <DialogHeader>\n <DialogTitle>Create New Role</DialogTitle>\n <DialogDescription>\n Define the role name and permissions for different system areas.\n </DialogDescription>\n </DialogHeader>\n <RoleForm\n onSubmit={handleCreateRole}\n loading={createLoading}\n onCancel={() => setCreateDialogOpen(false)}\n />\n </DialogContent>\n </Dialog>\n </div>\n </CardContent>\n </Card>\n\n {/* Roles List */}\n <Card>\n <CardContent className=\"p-0\">\n {loading ? (\n <div className=\"text-center py-8\">\n <Loader2 className=\"h-8 w-8 animate-spin mx-auto mb-2\" />\n <p className=\"text-muted-foreground\">Loading roles...</p>\n </div>\n ) : filteredRoles.length === 0 ? (\n <div className=\"text-center py-8 text-muted-foreground\">\n {searchTerm ? \"No roles found matching your search.\" : \"No roles created yet. Create your first role above.\"}\n </div>\n ) : (\n <div className=\"overflow-x-auto\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Role Name</TableHead>\n <TableHead>Permissions</TableHead>\n <TableHead>Created</TableHead>\n <TableHead>Updated</TableHead>\n <TableHead className=\"text-right\">Actions</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n {filteredRoles.map((role) => (\n <TableRow key={role.id}>\n <TableCell>\n <div className=\"flex items-center gap-2\">\n <Shield className=\"h-4 w-4 text-muted-foreground\" />\n <span className=\"font-medium\">{role.name}</span>\n </div>\n </TableCell>\n <TableCell>\n <div className=\"flex flex-wrap gap-1\">\n {formatPermissions(role).map((perm, index) => (\n <Badge \n key={index} \n variant={\"secondary\"}\n className=\"text-xs\"\n >\n {perm.name}: {perm.level}\n </Badge>\n ))}\n {formatPermissions(role).length === 0 && (\n <Badge variant=\"outline\" className=\"text-xs\">\n No permissions\n </Badge>\n )}\n </div>\n </TableCell>\n <TableCell>\n {format(new Date(role.createdAt || \"\"), \"PP hh:mm\")}\n </TableCell>\n <TableCell>\n {format(new Date(role.updatedAt || \"\"), \"PP hh:mm\")}\n </TableCell>\n <TableCell className=\"text-right\">\n <div className=\"flex items-center justify-end gap-2\">\n <Dialog open={editDialogOpen && selectedRole?.id === role.id} onOpenChange={(open) => {\n setEditDialogOpen(open)\n if (!open) setSelectedRole(null)\n }}>\n <DialogTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => setSelectedRole(role)}\n className=\"h-8 w-8\"\n >\n <Edit className=\"h-4 w-4\" />\n </Button>\n </DialogTrigger>\n <DialogContent className=\"max-w-2xl max-h-[90vh] overflow-y-auto\">\n <DialogHeader>\n <DialogTitle>Edit Role</DialogTitle>\n <DialogDescription>\n Update the role name and permissions.\n </DialogDescription>\n </DialogHeader>\n <RoleForm\n initialData={selectedRole}\n onSubmit={handleUpdateRole}\n loading={updateLoading}\n onCancel={() => {\n setEditDialogOpen(false)\n setSelectedRole(null)\n }}\n />\n </DialogContent>\n </Dialog>\n\n <Dialog open={deleteDialogOpen && selectedRole?.id === role.id} onOpenChange={(open) => {\n setDeleteDialogOpen(open)\n if (!open) setSelectedRole(null)\n }}>\n <DialogTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={() => setSelectedRole(role)}\n disabled={role.name === \"admin\" || role.name === \"default\"}\n className=\"h-8 w-8 text-red-500 hover:text-red-600 hover:bg-red-50 dark:hover:bg-red-950\"\n >\n <Trash2 className=\"h-4 w-4\" />\n </Button>\n </DialogTrigger>\n <DialogContent>\n <DialogHeader>\n <DialogTitle>Delete Role</DialogTitle>\n <DialogDescription>\n Are you sure you want to delete the role \"{selectedRole?.name}\"? This action cannot be undone.\n </DialogDescription>\n </DialogHeader>\n <DialogFooter>\n <Button \n variant=\"outline\" \n onClick={() => {\n setDeleteDialogOpen(false)\n setSelectedRole(null)\n }}\n >\n Cancel\n </Button>\n <Button \n variant=\"destructive\" \n onClick={handleDeleteRole}\n disabled={deleteLoading || role.name === \"admin\" || role.name === \"default\"}\n >\n {deleteLoading ? (\n <>\n <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />\n Deleting...\n </>\n ) : (\n \"Delete Role\"\n )}\n </Button>\n </DialogFooter>\n </DialogContent>\n </Dialog>\n </div>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n )}\n </CardContent>\n </Card>\n </div>\n )\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface InputProps\n extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n));\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0\",\n className,\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className,\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]\",\n className,\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/ui/toast\";\n\nconst TOAST_LIMIT = 1;\nconst TOAST_REMOVE_DELAY = 1000000;\n\ntype ToasterToast = ToastProps & {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: ToastActionElement;\n};\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t,\n ),\n };\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action;\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, \"id\">;\n\nfunction toast({ ...props }: Toast) {\n const id = genId();\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id });\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"names":["Promise","resolve","then","__webpack_require__","bind","RadioGroup","React","param","ref","className","props","jsx_runtime","jsx","RadioGroupPrimitive","cn","displayName","RadioGroupItem","Circle","PERMISSION_OPTIONS","value","label","description","PERMISSION_AREAS","key","icon","Bot","Workflow","Variable","Users","CodeSquare","Brain","RoleForm","initialData","onSubmit","loading","onCancel","name","setName","useState","permissions","setPermissions","agents","api","workflows","variables","users","evals","useEffect","handlePermissionChange","area","prev","handleSubmit","e","preventDefault","trim","roleData","jsxs","form","div","Label","htmlFor","Input","id","placeholder","disabled","onChange","target","required","p","h3","map","Icon","Card","CardHeader","CardTitle","CardDescription","CardContent","onValueChange","option","concat","span","Button","type","variant","onClick","Fragment","Loader2","Shield","RoleManagement","data","searchTerm","setSearchTerm","createDialogOpen","setCreateDialogOpen","editDialogOpen","setEditDialogOpen","deleteDialogOpen","setDeleteDialogOpen","selectedRole","setSelectedRole","error","refetch","useQuery","GET_USER_ROLES","page","limit","fetchPolicy","nextFetchPolicy","createRole","createLoading","useMutation","CREATE_USER_ROLE","refetchQueries","updateRole","updateLoading","UPDATE_USER_ROLE_BY_ID","deleteRole","deleteLoading","REMOVE_USER_ROLE_BY_ID","filteredRoles","roles","rolesPagination","items","filter","role","toLowerCase","includes","formatPermissions","agentPerms","push","level","workflowPerms","variablePerms","userPerms","apiPerms","handleCreateRole","toast","title","handleUpdateRole","handleDeleteRole","Link","href","size","ArrowLeft","h1","Dialog","open","onOpenChange","DialogTrigger","asChild","Plus","DialogContent","DialogHeader","DialogTitle","DialogDescription","length","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","perm","index","Badge","format","Date","createdAt","updatedAt","Edit","Trash2","DialogFooter","badgeVariants","cva","variants","default","secondary","destructive","outline","defaultVariants","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","CardFooter","DialogPrimitive","DialogPortal","DialogOverlay","children","X","input","labelVariants","LabelPrimitive","table","thead","tbody","TableFooter","tfoot","tr","th","td","TableCaption","caption","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","timeout","setTimeout","delete","dispatch","set","reducer","state","action","toasts","slice","t","forEach","undefined","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","update","useToast","setState","indexOf","splice"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4041],{90904:function(e,t,n){Promise.resolve().then(n.bind(n,3793))},3793:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return h}});var r=n(57437),a=n(80605),o=n(2265),i=n(6374),s=n(62869),c=n(66070),l=n(95186),u=n(35974),d=n(22252),f=n(65302),p=n(78867),m=n(77992);function h(){let{data:e,status:t}=(0,a.useSession)(),[n,h]=(0,o.useState)(null),[x,y]=(0,o.useState)(!0),[g,v]=(0,o.useState)(!1),{toast:b}=(0,m.pm)();(0,o.useEffect)(()=>{(async()=>{if("authenticated"===t)try{let e=await (0,i.LP)();h(e)}catch(e){console.error("Failed to get token:",e),h(null)}y(!1)})()},[t]);let j=async()=>{if(n)try{await navigator.clipboard.writeText(n),v(!0),b({title:"Token copied!",description:"The token has been copied to your clipboard."}),setTimeout(()=>v(!1),2e3)}catch(e){b({title:"Failed to copy",description:"Could not copy token to clipboard.",variant:"destructive"})}};return"loading"===t||x?(0,r.jsx)("div",{className:"container mx-auto p-6",children:(0,r.jsx)("div",{className:"flex items-center justify-center min-h-[400px]",children:(0,r.jsx)("div",{className:"animate-spin rounded-full h-32 w-32 border-b-2 border-gray-900"})})}):"unauthenticated"===t?(0,r.jsx)("div",{className:"container mx-auto my-auto p-6",children:(0,r.jsxs)(c.Zb,{className:"max-w-md mx-auto",children:[(0,r.jsxs)(c.Ol,{children:[(0,r.jsxs)(c.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-5 w-5 text-red-500"}),"Authentication Required"]}),(0,r.jsx)(c.SZ,{children:"You must be logged in to access your token."})]}),(0,r.jsx)(c.aY,{children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Please log in to view and copy your authentication token."})})]})}):(0,r.jsx)("div",{className:"container mx-auto my-auto p-6",children:(0,r.jsxs)("div",{className:"max-w-2xl mx-auto",children:[(0,r.jsxs)("div",{className:"mb-6",children:[(0,r.jsx)("h1",{className:"text-3xl font-bold",children:"Authentication Token"}),(0,r.jsx)("p",{className:"text-muted-foreground mt-2",children:"Your current authentication token for API access."})]}),(0,r.jsxs)(c.Zb,{children:[(0,r.jsxs)(c.Ol,{children:[(0,r.jsxs)(c.ll,{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{children:"Current Token"}),(0,r.jsx)(u.C,{variant:n?"default":"destructive",children:n?"Active":"Unavailable"})]}),(0,r.jsx)(c.SZ,{children:"Use this token to authenticate API requests. Keep it secure and do not share it."})]}),(0,r.jsx)(c.aY,{className:"space-y-4",children:n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{htmlFor:"token",className:"text-sm font-medium",children:"Token Value"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(l.I,{id:"token",type:"text",value:n,readOnly:!0,className:"font-mono text-sm"}),(0,r.jsx)(s.z,{onClick:j,variant:"outline",size:"sm",className:"shrink-0",children:g?(0,r.jsx)(f.Z,{className:"h-4 w-4"}):(0,r.jsx)(p.Z,{className:"h-4 w-4"})})]})]}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground space-y-2",children:(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Security:"})," This token provides access to your account. Keep it private and secure."]})})]}):(0,r.jsxs)("div",{className:"text-center py-8",children:[(0,r.jsx)(d.Z,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),(0,r.jsx)("p",{className:"text-muted-foreground",children:"No token available. Please try refreshing the page or logging in again."})]})})]})]})})}},35974:function(e,t,n){"use strict";n.d(t,{C:function(){return s}});var r=n(57437),a=n(90535);n(2265);var o=n(94508);let i=(0,a.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function s(e){let{className:t,variant:n,...a}=e;return(0,r.jsx)("div",{className:(0,o.cn)(i({variant:n}),t),...a})}},62869:function(e,t,n){"use strict";n.d(t,{d:function(){return c},z:function(){return l}});var r=n(57437),a=n(37053),o=n(90535),i=n(2265),s=n(94508);let c=(0,o.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-10"}},defaultVariants:{variant:"default",size:"default"}}),l=i.forwardRef((e,t)=>{let{className:n,variant:o,size:i,asChild:l=!1,...u}=e,d=l?a.g7:"button";return(0,r.jsx)(d,{className:(0,s.cn)(c({variant:o,size:i,className:n})),ref:t,...u})});l.displayName="Button"},66070:function(e,t,n){"use strict";n.d(t,{Ol:function(){return s},SZ:function(){return l},Zb:function(){return i},aY:function(){return u},eW:function(){return d},ll:function(){return c}});var r=n(57437),a=n(2265),o=n(94508);let i=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",n),...a})});i.displayName="Card";let s=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("flex flex-col space-y-1.5 p-6",n),...a})});s.displayName="CardHeader";let c=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("h3",{ref:t,className:(0,o.cn)("text-2xl font-semibold leading-none tracking-tight",n),...a})});c.displayName="CardTitle";let l=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("p",{ref:t,className:(0,o.cn)("text-sm text-muted-foreground",n),...a})});l.displayName="CardDescription";let u=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("p-6 pt-0",n),...a})});u.displayName="CardContent";let d=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("flex items-center p-6 pt-0",n),...a})});d.displayName="CardFooter"},95186:function(e,t,n){"use strict";n.d(t,{I:function(){return i}});var r=n(57437),a=n(2265),o=n(94508);let i=a.forwardRef((e,t)=>{let{className:n,type:a,...i}=e;return(0,r.jsx)("input",{type:a,className:(0,o.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",n),ref:t,...i})});i.displayName="Input"},77992:function(e,t,n){"use strict";n.d(t,{Am:function(){return d},pm:function(){return f}});var r=n(2265);let a=0,o=new Map,i=e=>{if(o.has(e))return;let t=setTimeout(()=>{o.delete(e),u({type:"REMOVE_TOAST",toastId:e})},1e6);o.set(e,t)},s=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:n}=t;return n?i(n):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||void 0===n?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},c=[],l={toasts:[]};function u(e){l=s(l,e),c.forEach(e=>{e(l)})}function d(e){let{...t}=e,n=(a=(a+1)%Number.MAX_SAFE_INTEGER).toString(),r=()=>u({type:"DISMISS_TOAST",toastId:n});return u({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||r()}}}),{id:n,dismiss:r,update:e=>u({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function f(){let[e,t]=r.useState(l);return r.useEffect(()=>(c.push(t),()=>{let e=c.indexOf(t);e>-1&&c.splice(e,1)}),[e]),{...e,toast:d,dismiss:e=>u({type:"DISMISS_TOAST",toastId:e})}}},94508:function(e,t,n){"use strict";n.d(t,{L:function(){return i},cn:function(){return o}});var r=n(61994),a=n(53335);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.m6)((0,r.W)(t))}function i(e){if(!e)return"0s";let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.round(e%60);return t>0?"".concat(t,"h ").concat(n,"m"):n>0?"".concat(n,"m ").concat(r,"s"):"".concat(r,"s")}},39763:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(2265),a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),i=(e,t)=>{let n=(0,r.forwardRef)((n,i)=>{let{color:s="currentColor",size:c=24,strokeWidth:l=2,absoluteStrokeWidth:u,className:d="",children:f,...p}=n;return(0,r.createElement)("svg",{ref:i,...a,width:c,height:c,stroke:s,strokeWidth:u?24*Number(l)/Number(c):l,className:["lucide","lucide-".concat(o(e)),d].join(" "),...p},[...t.map(e=>{let[t,n]=e;return(0,r.createElement)(t,n)}),...Array.isArray(f)?f:[f]])});return n.displayName="".concat(e),n}},22252:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},65302:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},78867:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},6374:function(e,t,n){"use strict";n.d(t,{DQ:function(){return i},LP:function(){return o},QZ:function(){return s}});var r=n(80605);let a=async()=>{let e=await fetch("/api/config").then(e=>e.json());if(!e.backend)throw Error("No backend set.");return{files:e.backend,base:e.backend}},o=async()=>{var e;let t=await (0,r.getSession)();return null==t?void 0:null===(e=t.user)||void 0===e?void 0:e.jwt},i={image:{generate:async e=>{let t=await a(),n="".concat(t.base,"/generate/agent/image"),r=await o();if(!r)throw Error("No valid session token available.");return fetch(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})}}},s={object:async e=>{let t=await a(),n="".concat(t.files,"/s3/object"),r=await o();return(await fetch(n,{method:"POST",body:JSON.stringify({key:e}),headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})).json()},list:async e=>{let{search:t,continuationToken:n}=e,r=await a(),i="".concat(r.files,"/s3/list"),s=await o();if(!s)throw Error("No valid session token available.");return t&&(i+="?search=".concat(t)),n&&(i+="?continuationToken=".concat(n)),(await fetch(i,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(s)}})).json()},download:async e=>{let t=await a(),n="".concat(t.files,"/s3/download?key=").concat(e),r=await o();if(!r)throw Error("No valid session token available.");return fetch(n,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})},delete:async e=>{let t=await a(),n="".concat(t.files,"/s3/delete?key=").concat(e),r=await o();if(!r)throw Error("No valid session token available.");return fetch(n,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})}}},98575:function(e,t,n){"use strict";n.d(t,{F:function(){return o},e:function(){return i}});var r=n(2265);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function o(...e){return t=>{let n=!1,r=e.map(e=>{let r=a(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():a(e[t],null)}}}}function i(...e){return r.useCallback(o(...e),e)}},37053:function(e,t,n){"use strict";n.d(t,{Z8:function(){return i},g7:function(){return s},sA:function(){return l}});var r=n(2265),a=n(98575),o=n(57437);function i(e){let t=function(e){let t=r.forwardRef((e,t)=>{let{children:n,...o}=e;if(r.isValidElement(n)){let e,i;let s=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?n.props.ref:n.props.ref||n.ref,c=function(e,t){let n={...t};for(let r in t){let a=e[r],o=t[r];/^on[A-Z]/.test(r)?a&&o?n[r]=(...e)=>{let t=o(...e);return a(...e),t}:a&&(n[r]=a):"style"===r?n[r]={...a,...o}:"className"===r&&(n[r]=[a,o].filter(Boolean).join(" "))}return{...e,...n}}(o,n.props);return n.type!==r.Fragment&&(c.ref=t?(0,a.F)(t,s):s),r.cloneElement(n,c)}return r.Children.count(n)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),n=r.forwardRef((e,n)=>{let{children:a,...i}=e,s=r.Children.toArray(a),c=s.find(u);if(c){let e=c.props.children,a=s.map(t=>t!==c?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...i,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,a):null})}return(0,o.jsx)(t,{...i,ref:n,children:a})});return n.displayName=`${e}.Slot`,n}var s=i("Slot"),c=Symbol("radix.slottable");function l(e){let t=({children:e})=>(0,o.jsx)(o.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=c,t}function u(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===c}}},function(e){e.O(0,[9851,605,2971,2117,1744],function(){return e(e.s=90904)}),_N_E=e.O()}]);
2
- //# sourceMappingURL=page-3f74f711f3d04fce.js.map
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4041],{90904:function(e,t,n){Promise.resolve().then(n.bind(n,3793))},3793:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return h}});var r=n(57437),a=n(80605),o=n(2265),i=n(6374),s=n(62869),c=n(66070),l=n(95186),u=n(35974),d=n(22252),f=n(65302),p=n(78867),m=n(77992);function h(){let{data:e,status:t}=(0,a.useSession)(),[n,h]=(0,o.useState)(null),[x,y]=(0,o.useState)(!0),[g,v]=(0,o.useState)(!1),{toast:b}=(0,m.pm)();(0,o.useEffect)(()=>{(async()=>{if("authenticated"===t)try{let e=await (0,i.LP)();h(e)}catch(e){console.error("Failed to get token:",e),h(null)}y(!1)})()},[t]);let j=async()=>{if(n)try{await navigator.clipboard.writeText(n),v(!0),b({title:"Token copied!",description:"The token has been copied to your clipboard."}),setTimeout(()=>v(!1),2e3)}catch(e){b({title:"Failed to copy",description:"Could not copy token to clipboard.",variant:"destructive"})}};return"loading"===t||x?(0,r.jsx)("div",{className:"container mx-auto p-6",children:(0,r.jsx)("div",{className:"flex items-center justify-center min-h-[400px]",children:(0,r.jsx)("div",{className:"animate-spin rounded-full h-32 w-32 border-b-2 border-gray-900"})})}):"unauthenticated"===t?(0,r.jsx)("div",{className:"container mx-auto my-auto p-6",children:(0,r.jsxs)(c.Zb,{className:"max-w-md mx-auto",children:[(0,r.jsxs)(c.Ol,{children:[(0,r.jsxs)(c.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-5 w-5 text-red-500"}),"Authentication Required"]}),(0,r.jsx)(c.SZ,{children:"You must be logged in to access your token."})]}),(0,r.jsx)(c.aY,{children:(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"Please log in to view and copy your authentication token."})})]})}):(0,r.jsx)("div",{className:"container mx-auto my-auto p-6",children:(0,r.jsxs)("div",{className:"max-w-2xl mx-auto",children:[(0,r.jsxs)("div",{className:"mb-6",children:[(0,r.jsx)("h1",{className:"text-3xl font-bold",children:"Authentication Token"}),(0,r.jsx)("p",{className:"text-muted-foreground mt-2",children:"Your current authentication token for API access."})]}),(0,r.jsxs)(c.Zb,{children:[(0,r.jsxs)(c.Ol,{children:[(0,r.jsxs)(c.ll,{className:"flex items-center justify-between",children:[(0,r.jsx)("span",{children:"Current Token"}),(0,r.jsx)(u.C,{variant:n?"default":"destructive",children:n?"Active":"Unavailable"})]}),(0,r.jsx)(c.SZ,{children:"Use this token to authenticate API requests. Keep it secure and do not share it."})]}),(0,r.jsx)(c.aY,{className:"space-y-4",children:n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsx)("label",{htmlFor:"token",className:"text-sm font-medium",children:"Token Value"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(l.I,{id:"token",type:"text",value:n,readOnly:!0,className:"font-mono text-sm"}),(0,r.jsx)(s.z,{onClick:j,variant:"outline",size:"sm",className:"shrink-0",children:g?(0,r.jsx)(f.Z,{className:"h-4 w-4"}):(0,r.jsx)(p.Z,{className:"h-4 w-4"})})]})]}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground space-y-2",children:(0,r.jsxs)("p",{children:[(0,r.jsx)("strong",{children:"Security:"})," This token provides access to your account. Keep it private and secure."]})})]}):(0,r.jsxs)("div",{className:"text-center py-8",children:[(0,r.jsx)(d.Z,{className:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),(0,r.jsx)("p",{className:"text-muted-foreground",children:"No token available. Please try refreshing the page or logging in again."})]})})]})]})})}},35974:function(e,t,n){"use strict";n.d(t,{C:function(){return s}});var r=n(57437),a=n(90535);n(2265);var o=n(94508);let i=(0,a.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function s(e){let{className:t,variant:n,...a}=e;return(0,r.jsx)("div",{className:(0,o.cn)(i({variant:n}),t),...a})}},62869:function(e,t,n){"use strict";n.d(t,{d:function(){return c},z:function(){return l}});var r=n(57437),a=n(37053),o=n(90535),i=n(2265),s=n(94508);let c=(0,o.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"size-10"}},defaultVariants:{variant:"default",size:"default"}}),l=i.forwardRef((e,t)=>{let{className:n,variant:o,size:i,asChild:l=!1,...u}=e,d=l?a.g7:"button";return(0,r.jsx)(d,{className:(0,s.cn)(c({variant:o,size:i,className:n})),ref:t,...u})});l.displayName="Button"},66070:function(e,t,n){"use strict";n.d(t,{Ol:function(){return s},SZ:function(){return l},Zb:function(){return i},aY:function(){return u},eW:function(){return d},ll:function(){return c}});var r=n(57437),a=n(2265),o=n(94508);let i=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",n),...a})});i.displayName="Card";let s=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("flex flex-col space-y-1.5 p-6",n),...a})});s.displayName="CardHeader";let c=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("h3",{ref:t,className:(0,o.cn)("text-2xl font-semibold leading-none tracking-tight",n),...a})});c.displayName="CardTitle";let l=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("p",{ref:t,className:(0,o.cn)("text-sm text-muted-foreground",n),...a})});l.displayName="CardDescription";let u=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("p-6 pt-0",n),...a})});u.displayName="CardContent";let d=a.forwardRef((e,t)=>{let{className:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,o.cn)("flex items-center p-6 pt-0",n),...a})});d.displayName="CardFooter"},95186:function(e,t,n){"use strict";n.d(t,{I:function(){return i}});var r=n(57437),a=n(2265),o=n(94508);let i=a.forwardRef((e,t)=>{let{className:n,type:a,...i}=e;return(0,r.jsx)("input",{type:a,className:(0,o.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",n),ref:t,...i})});i.displayName="Input"},77992:function(e,t,n){"use strict";n.d(t,{Am:function(){return d},pm:function(){return f}});var r=n(2265);let a=0,o=new Map,i=e=>{if(o.has(e))return;let t=setTimeout(()=>{o.delete(e),u({type:"REMOVE_TOAST",toastId:e})},1e6);o.set(e,t)},s=(e,t)=>{switch(t.type){case"ADD_TOAST":return{...e,toasts:[t.toast,...e.toasts].slice(0,1)};case"UPDATE_TOAST":return{...e,toasts:e.toasts.map(e=>e.id===t.toast.id?{...e,...t.toast}:e)};case"DISMISS_TOAST":{let{toastId:n}=t;return n?i(n):e.toasts.forEach(e=>{i(e.id)}),{...e,toasts:e.toasts.map(e=>e.id===n||void 0===n?{...e,open:!1}:e)}}case"REMOVE_TOAST":if(void 0===t.toastId)return{...e,toasts:[]};return{...e,toasts:e.toasts.filter(e=>e.id!==t.toastId)}}},c=[],l={toasts:[]};function u(e){l=s(l,e),c.forEach(e=>{e(l)})}function d(e){let{...t}=e,n=(a=(a+1)%Number.MAX_SAFE_INTEGER).toString(),r=()=>u({type:"DISMISS_TOAST",toastId:n});return u({type:"ADD_TOAST",toast:{...t,id:n,open:!0,onOpenChange:e=>{e||r()}}}),{id:n,dismiss:r,update:e=>u({type:"UPDATE_TOAST",toast:{...e,id:n}})}}function f(){let[e,t]=r.useState(l);return r.useEffect(()=>(c.push(t),()=>{let e=c.indexOf(t);e>-1&&c.splice(e,1)}),[e]),{...e,toast:d,dismiss:e=>u({type:"DISMISS_TOAST",toastId:e})}}},94508:function(e,t,n){"use strict";n.d(t,{L:function(){return i},cn:function(){return o}});var r=n(61994),a=n(53335);function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,a.m6)((0,r.W)(t))}function i(e){if(!e)return"0s";let t=Math.floor(e/3600),n=Math.floor(e%3600/60),r=Math.round(e%60);return t>0?"".concat(t,"h ").concat(n,"m"):n>0?"".concat(n,"m ").concat(r,"s"):"".concat(r,"s")}},39763:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(2265),a={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase().trim(),i=(e,t)=>{let n=(0,r.forwardRef)((n,i)=>{let{color:s="currentColor",size:c=24,strokeWidth:l=2,absoluteStrokeWidth:u,className:d="",children:f,...p}=n;return(0,r.createElement)("svg",{ref:i,...a,width:c,height:c,stroke:s,strokeWidth:u?24*Number(l)/Number(c):l,className:["lucide","lucide-".concat(o(e)),d].join(" "),...p},[...t.map(e=>{let[t,n]=e;return(0,r.createElement)(t,n)}),...Array.isArray(f)?f:[f]])});return n.displayName="".concat(e),n}},22252:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("AlertCircle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},65302:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},78867:function(e,t,n){"use strict";n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},6374:function(e,t,n){"use strict";n.d(t,{DQ:function(){return i},LP:function(){return o},QZ:function(){return s}});var r=n(80605);let a=async()=>{let e=await fetch("/api/config").then(e=>e.json());if(!e.backend)throw Error("No backend set.");return{files:e.backend,base:e.backend}},o=async()=>{var e;let t=await (0,r.getSession)();return null==t?void 0:null===(e=t.user)||void 0===e?void 0:e.jwt},i={image:{generate:async e=>{let t=await a(),n="".concat(t.base,"/generate/agent/image"),r=await o();if(!r)throw Error("No valid session token available.");return fetch(n,{method:"POST",body:JSON.stringify(e),headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})}}},s={object:async e=>{let t=await a(),n="".concat(t.files,"/s3/object"),r=await o();return(await fetch(n,{method:"POST",body:JSON.stringify({key:e}),headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})).json()},list:async e=>{let{search:t,continuationToken:n}=e,r=await a(),i="".concat(r.files,"/s3/list"),s=await o();if(!s)throw Error("No valid session token available.");return t&&(i+="?search=".concat(t)),n&&(i+="?continuationToken=".concat(n)),(await fetch(i,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(s)}})).json()},download:async e=>{let t=await a(),n="".concat(t.files,"/s3/download?key=").concat(encodeURIComponent(e)),r=await o();if(!r)throw Error("No valid session token available.");return fetch(n,{method:"GET",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})},delete:async e=>{let t=await a(),n="".concat(t.files,"/s3/delete?key=").concat(e),r=await o();if(!r)throw Error("No valid session token available.");return fetch(n,{method:"DELETE",headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(r)}})}}},98575:function(e,t,n){"use strict";n.d(t,{F:function(){return o},e:function(){return i}});var r=n(2265);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function o(...e){return t=>{let n=!1,r=e.map(e=>{let r=a(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():a(e[t],null)}}}}function i(...e){return r.useCallback(o(...e),e)}},37053:function(e,t,n){"use strict";n.d(t,{Z8:function(){return i},g7:function(){return s},sA:function(){return l}});var r=n(2265),a=n(98575),o=n(57437);function i(e){let t=function(e){let t=r.forwardRef((e,t)=>{let{children:n,...o}=e;if(r.isValidElement(n)){let e,i;let s=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?n.ref:(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?n.props.ref:n.props.ref||n.ref,c=function(e,t){let n={...t};for(let r in t){let a=e[r],o=t[r];/^on[A-Z]/.test(r)?a&&o?n[r]=(...e)=>{let t=o(...e);return a(...e),t}:a&&(n[r]=a):"style"===r?n[r]={...a,...o}:"className"===r&&(n[r]=[a,o].filter(Boolean).join(" "))}return{...e,...n}}(o,n.props);return n.type!==r.Fragment&&(c.ref=t?(0,a.F)(t,s):s),r.cloneElement(n,c)}return r.Children.count(n)>1?r.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),n=r.forwardRef((e,n)=>{let{children:a,...i}=e,s=r.Children.toArray(a),c=s.find(u);if(c){let e=c.props.children,a=s.map(t=>t!==c?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,o.jsx)(t,{...i,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,a):null})}return(0,o.jsx)(t,{...i,ref:n,children:a})});return n.displayName=`${e}.Slot`,n}var s=i("Slot"),c=Symbol("radix.slottable");function l(e){let t=({children:e})=>(0,o.jsx)(o.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=c,t}function u(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===c}}},function(e){e.O(0,[9851,605,2971,2117,1744],function(){return e(e.s=90904)}),_N_E=e.O()}]);
2
+ //# sourceMappingURL=page-08596ece49a811b9.js.map