@exulu/frontend 1.8.0 → 1.9.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.
- package/dist/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +129 -131
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +7 -7
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js +4 -4
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/page.js +1 -1
- package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/prompts/page.js +1 -1
- package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app-paths-manifest.json +6 -6
- package/dist/.next/server/chunks/1025.js +1 -0
- package/dist/.next/server/chunks/2270.js +11 -48
- package/dist/.next/server/chunks/3434.js +1 -1
- package/dist/.next/server/chunks/3503.js +1 -0
- package/dist/.next/server/chunks/5084.js +1 -0
- package/dist/.next/server/chunks/5192.js +1 -1
- package/dist/.next/server/chunks/5485.js +1 -1
- package/dist/.next/server/chunks/5600.js +1 -1
- package/dist/.next/server/chunks/5974.js +1 -0
- package/dist/.next/server/chunks/6590.js +1 -1
- package/dist/.next/server/chunks/7471.js +1 -1
- package/dist/.next/server/chunks/8286.js +1 -1
- package/dist/.next/server/chunks/{3679.js → 9874.js} +5 -5
- package/dist/.next/server/middleware-manifest.json +5 -5
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js +2 -0
- package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js.map +1 -0
- package/dist/.next/static/chunks/{4811-316807e25b634f9f.js → 192-72d6868cd891ccc6.js} +8 -8
- package/dist/.next/static/chunks/192-72d6868cd891ccc6.js.map +1 -0
- package/dist/.next/static/chunks/1957-cf44b1d31a9c7d5c.js +2 -0
- package/dist/.next/static/chunks/1957-cf44b1d31a9c7d5c.js.map +1 -0
- package/dist/.next/static/chunks/342-d9c2d6ae9f9435cb.js +2 -0
- package/dist/.next/static/chunks/342-d9c2d6ae9f9435cb.js.map +1 -0
- package/dist/.next/static/chunks/552-39155a93c527ec6d.js +2 -0
- package/dist/.next/static/chunks/552-39155a93c527ec6d.js.map +1 -0
- package/dist/.next/static/chunks/6367-59655a85d75e19be.js +2 -0
- package/dist/.next/static/chunks/6367-59655a85d75e19be.js.map +1 -0
- package/dist/.next/static/chunks/6373-601400fab8a3bb55.js +2 -0
- package/dist/.next/static/chunks/6373-601400fab8a3bb55.js.map +1 -0
- package/dist/.next/static/chunks/8030-9c926ea4dfd3a54e.js +2 -0
- package/dist/.next/static/chunks/8030-9c926ea4dfd3a54e.js.map +1 -0
- package/dist/.next/static/chunks/{6805-792cc8008b165c07.js → 8293-0e69d89d2dac7111.js} +10 -10
- package/dist/.next/static/chunks/8293-0e69d89d2dac7111.js.map +1 -0
- package/dist/.next/static/chunks/9953-95900a236271a222.js +2 -0
- package/dist/.next/static/chunks/9953-95900a236271a222.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e4a4693953329671.js +2 -0
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e4a4693953329671.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js +2 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js +2 -0
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-a39fef7444581565.js → page-827f50c6d1f150d0.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/evals/cases/{page-a39fef7444581565.js.map → page-827f50c6d1f150d0.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-f04fd5291a1ef7b1.js +2 -0
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-f04fd5291a1ef7b1.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/prompts/page-2c500e9898447506.js +2 -0
- package/dist/.next/static/chunks/app/(application)/prompts/page-2c500e9898447506.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/workflows/{page-47dedb88cec600d5.js → page-e38f9456120dab69.js} +2 -2
- package/dist/.next/static/chunks/app/(application)/workflows/page-e38f9456120dab69.js.map +1 -0
- package/dist/.next/static/css/6f8c5212af8ef284.css +4 -0
- package/dist/.next/static/css/6f8c5212af8ef284.css.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/package.json +1 -1
- package/dist/.next/server/chunks/2948.js +0 -1
- package/dist/.next/server/chunks/38.js +0 -1
- package/dist/.next/server/chunks/7958.js +0 -1
- package/dist/.next/server/chunks/8050.js +0 -1
- package/dist/.next/static/chunks/1685-9cacdee7e3f0942f.js +0 -2
- package/dist/.next/static/chunks/1685-9cacdee7e3f0942f.js.map +0 -1
- package/dist/.next/static/chunks/1957-39a01a3915f246ab.js +0 -2
- package/dist/.next/static/chunks/1957-39a01a3915f246ab.js.map +0 -1
- package/dist/.next/static/chunks/4811-316807e25b634f9f.js.map +0 -1
- package/dist/.next/static/chunks/5282-68f9880f1f951f44.js +0 -2
- package/dist/.next/static/chunks/5282-68f9880f1f951f44.js.map +0 -1
- package/dist/.next/static/chunks/6367-59cef3c74213925b.js +0 -2
- package/dist/.next/static/chunks/6367-59cef3c74213925b.js.map +0 -1
- package/dist/.next/static/chunks/6373-4c5dffaf4193621c.js +0 -2
- package/dist/.next/static/chunks/6373-4c5dffaf4193621c.js.map +0 -1
- package/dist/.next/static/chunks/6805-792cc8008b165c07.js.map +0 -1
- package/dist/.next/static/chunks/8030-c1b6be46253076cb.js +0 -2
- package/dist/.next/static/chunks/8030-c1b6be46253076cb.js.map +0 -1
- package/dist/.next/static/chunks/9621-f81c4d7c0ecf5a67.js +0 -2
- package/dist/.next/static/chunks/9621-f81c4d7c0ecf5a67.js.map +0 -1
- package/dist/.next/static/chunks/9953-dfb5fc0e5b74ec09.js +0 -2
- package/dist/.next/static/chunks/9953-dfb5fc0e5b74ec09.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-4e7e02768ed1a72a.js +0 -2
- package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-4e7e02768ed1a72a.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-38f845d5ccdad76b.js +0 -2
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-38f845d5ccdad76b.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-a391b8407f74e9b4.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-a391b8407f74e9b4.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-cf6f8d2bd4e9c819.js +0 -2
- package/dist/.next/static/chunks/app/(application)/evals/[id]/page-cf6f8d2bd4e9c819.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-bc859da58d8505f7.js +0 -2
- package/dist/.next/static/chunks/app/(application)/projects/[project]/page-bc859da58d8505f7.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/prompts/page-d2f36ff149385efd.js +0 -2
- package/dist/.next/static/chunks/app/(application)/prompts/page-d2f36ff149385efd.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/workflows/page-47dedb88cec600d5.js.map +0 -1
- package/dist/.next/static/css/c8c015815c72d053.css +0 -4
- package/dist/.next/static/css/c8c015815c72d053.css.map +0 -1
- /package/dist/.next/static/{GOwerAkBncYx0J8q1TqQb → ls-syPkq9-MWp-VWWDEZJ}/_buildManifest.js +0 -0
- /package/dist/.next/static/{GOwerAkBncYx0J8q1TqQb → ls-syPkq9-MWp-VWWDEZJ}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6373],{62869:function(n,t,e){e.d(t,{d:function(){return s},z:function(){return d}});var r=e(57437),i=e(37053),u=e(90535),o=e(2265),a=e(94508);let s=(0,u.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"}}),d=o.forwardRef((n,t)=>{let{className:e,variant:u,size:o,asChild:d=!1,...c}=n,l=d?i.g7:"button";return(0,r.jsx)(l,{className:(0,a.cn)(s({variant:u,size:o,className:e})),ref:t,...c})});d.displayName="Button"},94508:function(n,t,e){e.d(t,{L:function(){return o},cn:function(){return u}});var r=e(61994),i=e(53335);function u(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return(0,i.m6)((0,r.W)(t))}function o(n){if(!n)return"0s";let t=Math.floor(n/3600),e=Math.floor(n%3600/60),r=Math.round(n%60);return t>0?"".concat(t,"h ").concat(e,"m"):e>0?"".concat(e,"m ").concat(r,"s"):"".concat(r,"s")}},27689:function(n,t,e){e.d(t,{$6:function(){return en},$W:function(){return eR},A1:function(){return ty},Ak:function(){return e$},Au:function(){return es},Az:function(){return tH},B4:function(){return eJ},BK:function(){return t2},B_:function(){return t4},C3:function(){return tS},CN:function(){return ec},Dt:function(){return tT},E3:function(){return tM},Ep:function(){return eV},Eq:function(){return tv},GJ:function(){return tm},Hk:function(){return eo},Iv:function(){return eZ},JL:function(){return tq},JM:function(){return tz},Jq:function(){return ex},L5:function(){return t6},Ll:function(){return eY},MU:function(){return tB},Md:function(){return to},Mh:function(){return eh},Mp:function(){return t5},N:function(){return tD},Nl:function(){return e3},Nu:function(){return eT},OP:function(){return eW},P3:function(){return tp},Pe:function(){return tw},QW:function(){return eF},Qf:function(){return tY},RV:function(){return eA},S9:function(){return tZ},Tj:function(){return er},Tp:function(){return tJ},Ts:function(){return eD},UK:function(){return e0},Ul:function(){return tF},W6:function(){return ee},W9:function(){return tO},Wc:function(){return ta},Wr:function(){return eG},X0:function(){return eK},YH:function(){return el},Yr:function(){return eP},ZA:function(){return ed},ZX:function(){return tG},Zy:function(){return t8},_J:function(){return t7},as:function(){return tk},b2:function(){return ey},bI:function(){return tb},c2:function(){return t1},ci:function(){return tX},d5:function(){return ep},dc:function(){return t_},eY:function(){return tL},fA:function(){return eM},fB:function(){return tN},fG:function(){return tK},fM:function(){return em},fV:function(){return tg},fc:function(){return eN},fo:function(){return tj},hx:function(){return eC},i9:function(){return eO},iA:function(){return eq},iC:function(){return eE},j9:function(){return ea},jA:function(){return eH},jL:function(){return eg},jm:function(){return eb},k9:function(){return ew},kH:function(){return tQ},kZ:function(){return ei},kk:function(){return et},kp:function(){return e_},l1:function(){return tR},lU:function(){return t9},lW:function(){return eB},lk:function(){return tU},m8:function(){return e9},mN:function(){return tC},oo:function(){return eU},ps:function(){return tI},qK:function(){return tW},r1:function(){return th},rR:function(){return tE},re:function(){return eX},s5:function(){return ek},s7:function(){return t0},tK:function(){return eu},tO:function(){return tP},ty:function(){return tA},ui:function(){return tV},uw:function(){return t$},vP:function(){return ej},ve:function(){return tx},xR:function(){return t3},xx:function(){return ez},ym:function(){return tf}});var r=e(45008),i=e(70080);function u(){let n=(0,r._)(['\n query GetAgents(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n agentsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ',"\n }\n }\n }\n"]);return u=function(){return n},n}function o(){let n=(0,r._)(['\n query GetAgentSessions(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_session]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n agent_sessionsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n createdAt\n updatedAt\n user\n title\n agent\n project\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n id\n }\n }\n }\n']);return o=function(){return n},n}function a(){let n=(0,r._)(["\n query GetContexts {\n contexts {\n items {\n ","\n }\n }\n }\n"]);return a=function(){return n},n}function s(){let n=(0,r._)(["\n query GetContextById($id: ID!) {\n contextById(id: $id) {\n ","\n }\n }\n"]);return s=function(){return n},n}function d(){let n=(0,r._)(["\n query ","Pagination($page: Int!, $limit: Int!, $filters: [Filter",'_items], $sort: SortBy = { field: "updatedAt", direction: DESC }) {\n ',"","(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n "]);return d=function(){return n},n}function c(){let n=(0,r._)(["\n mutation ProcessItemField","($item: ID!, $field: ","_itemsProcessorFieldEnum!) {\n ","_itemsProcessItemField(item: $item, field: $field) {\n message\n result\n job\n }\n }\n "]);return c=function(){return n},n}function l(){let n=(0,r._)(["\n query ","ById($id: ID!) {\n ","_itemsById(id: $id) {\n ","\n ","\n }\n }\n "]);return l=function(){return n},n}function f(){let n=(0,r._)(["\n mutation CreateOne","($input: ","_itemsInput!) {\n ","_itemsCreateOne(input: $input) {\n item {\n id\n }\n job\n }\n }\n "]);return f=function(){return n},n}function m(){let n=(0,r._)(["\n mutation DeleteChunks","($where: [Filter","_items]) {\n ","_itemsDeleteChunks(where: $where) {\n items\n jobs\n }\n }\n "]);return m=function(){return n},n}function $(){let n=(0,r._)(["\n mutation GenerateChunks","($where: [Filter","_items]) {\n ","_itemsGenerateChunks(where: $where) {\n items\n jobs\n }\n }\n "]);return $=function(){return n},n}function g(){let n=(0,r._)(["\n mutation ExecuteSource","($source: ID!, $inputs: JSON!) {\n ","_itemsExecuteSource(source: $source, inputs: $inputs) {\n message\n jobs\n items\n }\n }\n "]);return g=function(){return n},n}function p(){let n=(0,r._)(["\n mutation UpdateOneById","($id: ID!, $input: ","_itemsInput!) {\n ","_itemsUpdateOneById(id: $id, input: $input) {\n item {\n id\n }\n job\n }\n }\n "]);return p=function(){return n},n}function _(){let n=(0,r._)(["\n mutation DeleteOneById","($id: ID!) {\n ","_itemsRemoveOneById(id: $id) {\n id\n ","\n }\n }\n "]);return _=function(){return n},n}function y(){let n=(0,r._)(["\n mutation UpdateAgentSessionRbac(\n $id: ID!\n $RBAC: RBACInput\n $rights_mode: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: { rights_mode: $rights_mode, RBAC: $RBAC }) {\n item {\n id\n }\n }\n }\n"]);return y=function(){return n},n}function P(){let n=(0,r._)(["\n mutation UpdateAgentSessionProject(\n $id: ID!\n $project: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {project: $project}) {\n item {\n id\n }\n }\n }\n"]);return P=function(){return n},n}function I(){let n=(0,r._)(["\n mutation UpdateAgentSessionTitle(\n $id: ID!\n $title: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {title: $title}) {\n item {\n id\n title\n }\n }\n }\n"]);return I=function(){return n},n}function v(){let n=(0,r._)(['\n query GetAgentSessionMessages(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_message]\n $sort: SortBy = { field: "createdAt", direction: ASC }\n ) {\n agent_messagesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n session\n content\n createdAt\n }\n }\n }\n']);return v=function(){return n},n}function S(){let n=(0,r._)(['\n query GetJobResults(\n $page: Int!\n $limit: Int!\n $filters: [FilterJob_result]\n $sort: SortBy = {\n field: "createdAt",\n direction: DESC\n }\n ) {\n job_resultsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n items {\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n id\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n']);return S=function(){return n},n}function A(){let n=(0,r._)(["\n query GetUserRoles($page: Int!, $limit: Int!) {\n rolesPagination(page: $page, limit: $limit) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n createdAt\n updatedAt\n agents\n workflows\n api\n variables\n users\n name\n }\n }\n }\n"]);return A=function(){return n},n}function C(){let n=(0,r._)(["\n query GetUsers(\n $page: Int!\n $limit: Int!\n $filters: [FilterUser]\n $sort: SortBy\n ) {\n usersPagination(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n firstname\n lastname\n email\n last_used\n createdAt\n type\n apikey\n emailVerified\n anthropic_token\n super_admin\n role\n }\n }\n }\n"]);return C=function(){return n},n}function h(){let n=(0,r._)(["\n query GetUserRoleById($id: ID!) {\n roleById(id: $id) {\n id\n name\n agents\n workflows\n api\n variables\n users\n createdAt\n updatedAt\n }\n }\n"]);return h=function(){return n},n}function B(){let n=(0,r._)(["\n query GetJobResultById($id: ID!) {\n job_resultById(id: $id) {\n id\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n }\n }\n"]);return B=function(){return n},n}function b(){let n=(0,r._)(["\n query GetAgentById($id: ID!, $project: ID) {\n agentById(id: $id, project: $project) {\n ","\n }\n }\n"]);return b=function(){return n},n}function D(){let n=(0,r._)(["\n query GetAgentsByIds($ids: [ID!]!) {\n agentByIds(ids: $ids) {\n ","\n }\n }\n"]);return D=function(){return n},n}function q(){let n=(0,r._)(["\n query GetAgentSessionById($id: ID!) {\n agent_sessionById(id: $id) {\n createdAt\n updatedAt\n user\n title\n agent\n created_by\n rights_mode\n project\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n id\n }\n }\n"]);return q=function(){return n},n}function R(){let n=(0,r._)(["\n query GetAgentSession($filters: [FilterAgent_session]) {\n agent_sessionOne(filters: $filters) {\n createdAt\n project\n updatedAt\n user\n title\n agent\n id\n }\n }\n"]);return R=function(){return n},n}function j(){let n=(0,r._)(["\n mutation UpdateUser(\n $email: String,\n $firstname: String,\n $anthropic_token: String,\n $super_admin: Boolean,\n $lastname: String,\n $role: String,\n $favourite_agents: JSON,\n $id: ID!\n ) {\n usersUpdateOneById(id: $id, input: {\n email: $email,\n firstname: $firstname,\n anthropic_token: $anthropic_token,\n super_admin: $super_admin,\n lastname: $lastname,\n role: $role,\n favourite_agents: $favourite_agents\n }) {\n item {\n ","\n }\n }\n }\n"]);return j=function(){return n},n}function k(){let n=(0,r._)(["\n mutation CreateUser(\n $firstname: String,\n $type: String,\n $apikey: String,\n $email: String,\n $role: String\n ) {\n usersCreateOne(input: {\n firstname: $firstname,\n type: $type,\n apikey: $apikey,\n email: $email,\n role: $role\n }) {\n item {\n id\n }\n }\n }\n"]);return k=function(){return n},n}function O(){let n=(0,r._)(["\n mutation UpdateUserRole(\n $id: ID!\n $name: String\n $agents: String\n $workflows: String\n $api: String\n $variables: String\n $users: String\n ) {\n rolesUpdateOneById(\n id: $id\n input: {\n name: $name\n agents: $agents\n workflows: $workflows\n api: $api\n variables: $variables\n users: $users\n }\n ) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n }\n }\n }\n"]);return O=function(){return n},n}function U(){let n=(0,r._)(["\n query GetUserByEmail($email: String!) {\n userOne(filters: {email: $email}) {\n ","\n }\n }\n"]);return U=function(){return n},n}function w(){let n=(0,r._)(["\n mutation createAgentSession(\n $title: String,\n $user: Float\n $agent: String\n $project: String\n $rights_mode: String\n $RBAC: RBACInput\n ) {\n agent_sessionsCreateOne(\n input: { agent: $agent, user: $user, project: $project, title: $title, rights_mode: $rights_mode, RBAC: $RBAC }\n ) {\n item {\n id\n }\n }\n }\n"]);return w=function(){return n},n}function x(){let n=(0,r._)(["\n mutation createAgent(\n $name: String!\n $description: String!\n $rights_mode: String!\n $backend: String!\n $image: String\n $RBAC: RBACInput\n ) {\n agentsCreateOne(\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n backend: $backend\n image: $image\n RBAC: $RBAC\n }\n ) {\n item {\n id\n name\n description\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n createdAt\n }\n }\n }\n"]);return x=function(){return n},n}function G(){let n=(0,r._)(["\n query GetTools($search: String, $category: String, $limit: Int, $page: Int) {\n tools(search: $search, category: $category, limit: $limit, page: $page) {\n items {\n id\n name\n category\n description\n config\n type\n }\n total\n page\n limit\n }\n }\n"]);return G=function(){return n},n}function N(){let n=(0,r._)(["\n query GetToolCategories {\n toolCategories\n }\n"]);return N=function(){return n},n}function E(){let n=(0,r._)(["\n mutation UpdateAgent(\n $id: ID!\n $name: String\n $backend: String\n $description: String\n $instructions: String\n $rights_mode: String\n $animation_idle: String\n $animation_responding: String\n $category: String\n $tools: JSON\n $active: Boolean\n $providerapikey: String\n $RBAC: RBACInput\n ) {\n agentsUpdateOneById(\n input: { \n name: $name\n backend: $backend\n description: $description\n category: $category\n instructions: $instructions\n animation_idle: $animation_idle\n animation_responding: $animation_responding\n rights_mode: $rights_mode\n active: $active\n tools: $tools\n providerapikey: $providerapikey\n RBAC: $RBAC\n }\n id: $id\n ) {\n item {\n id\n name\n description\n instructions\n category\n animation_idle\n animation_responding\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n }\n }\n }\n"]);return E=function(){return n},n}function F(){let n=(0,r._)(["\n mutation CreateUserRole($name: String!, $agents: String, $workflows: String, $variables: String, $users: String, $api: String) {\n rolesCreateOne(input: { name: $name, agents: $agents, workflows: $workflows, variables: $variables, users: $users, api: $api}) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n name\n }\n }\n }\n"]);return F=function(){return n},n}function J(){let n=(0,r._)(["\n mutation CreateUser($email: String!, $password: String, $type: String, $emailVerified: String) {\n usersCreateOne(input: { email: $email, password: $password, type: $type, emailVerified: $emailVerified }) {\n item {\n id\n createdAt\n emailVerified\n type\n name\n }\n }\n }\n"]);return J=function(){return n},n}function T(){let n=(0,r._)(["\n mutation ResetUserPassword($id: ID!, $password: String!) {\n usersUpdateOneById(id: $id, input: { password: $password }) {\n item {\n id\n }\n }\n }\n"]);return T=function(){return n},n}function Q(){let n=(0,r._)(["\n query GetProviders {\n providers {\n items {\n id\n name\n description\n provider\n modelName\n providerName\n }\n }\n }\n"]);return Q=function(){return n},n}function W(){let n=(0,r._)(["\n mutation RemoveUserById($id: ID!) {\n usersRemoveOneById(id: $id) {\n id\n }\n }\n"]);return W=function(){return n},n}function V(){let n=(0,r._)(["\n mutation RemoveJobResultById($id: ID!) {\n job_resultsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return V=function(){return n},n}function M(){let n=(0,r._)(["\n mutation RemoveUserRoleById($id: ID!) {\n rolesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return M=function(){return n},n}function L(){let n=(0,r._)(["\n mutation RemoveAgentById($id: ID!) {\n agentsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return L=function(){return n},n}function z(){let n=(0,r._)(["\n mutation RemoveAgentSessionById($id: ID!) {\n agent_sessionsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return z=function(){return n},n}function K(){let n=(0,r._)(["\n query GetJobStatistics($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n completedCount\n failedCount\n averageDuration\n }\n }\n"]);return K=function(){return n},n}function Z(){let n=(0,r._)(['\n query GetVariables(\n $page: Int!\n $limit: Int!\n $filters: [FilterVariable]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n variablesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n']);return Z=function(){return n},n}function H(){let n=(0,r._)(["\n query GetVariableById($id: ID!) {\n variableById(id: $id) {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n"]);return H=function(){return n},n}function Y(){let n=(0,r._)(["\n mutation CreateVariable(\n $name: String!\n $value: String!\n $encrypted: Boolean\n ) {\n variablesCreateOne(\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n item {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n"]);return Y=function(){return n},n}function X(){let n=(0,r._)(["\n mutation CreateEmbedderConfig($name: String!, $value: String, $context: String!, $embedder: String!) {\n embedder_settingsCreateOne(input: { name: $name, value: $value, context: $context, embedder: $embedder }) {\n item {\n id\n name\n value\n context\n embedder\n }\n }\n }\n"]);return X=function(){return n},n}function nn(){let n=(0,r._)(["\n query GetEmbedderConfigs($context: String, $embedder: String) {\n embedder_settingsPagination(page: 1, limit: 100, filters: {\n context: {\n eq: $context\n },\n embedder: {\n eq: $embedder\n }\n }) {\n items {\n id\n name\n value\n createdAt\n updatedAt\n }\n }\n }\n"]);return nn=function(){return n},n}function nt(){let n=(0,r._)(["\n mutation UpdateEmbedderConfig($id: ID!, $name: String, $value: String) {\n embedder_settingsUpdateOneById(id: $id, input: { name: $name, value: $value }) {\n item {\n id\n }\n }\n }\n"]);return nt=function(){return n},n}function ne(){let n=(0,r._)(["\n mutation UpdateVariable(\n $id: ID!\n $name: String\n $value: String\n $encrypted: Boolean\n ) {\n variablesUpdateOneById(\n id: $id\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n item {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n"]);return ne=function(){return n},n}function nr(){let n=(0,r._)(["\n mutation RemoveVariableById($id: ID!) {\n variablesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return nr=function(){return n},n}function ni(){let n=(0,r._)(["\n query GetUserById($id: ID!) {\n userById(id: $id) {\n id\n name\n firstname\n lastname\n email\n }\n }\n"]);return ni=function(){return n},n}function nu(){let n=(0,r._)(["\n query GetUsersByIds($ids: [ID!]!) {\n userByIds(ids: $ids) {\n id\n name\n firstname\n lastname\n email\n }\n }\n"]);return nu=function(){return n},n}function no(){let n=(0,r._)(['\n query GetWorkflowTemplates(\n $page: Int!\n $limit: Int!\n $filters: [FilterWorkflow_template]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n workflow_templatesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n }\n }\n }\n']);return no=function(){return n},n}function na(){let n=(0,r._)(["\n query GetWorkflowTemplateById($id: ID!) {\n workflow_templateById(id: $id) {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n"]);return na=function(){return n},n}function ns(){let n=(0,r._)(["\n mutation CreateWorkflowTemplate(\n $name: String!\n $description: String\n $owner: Float!\n $rights_mode: String!\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON!\n $example_metadata_json: JSON\n ) {\n workflow_templatesCreateOne(\n input: {\n name: $name\n description: $description\n owner: $owner\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n"]);return ns=function(){return n},n}function nd(){let n=(0,r._)(["\n mutation UpdateWorkflowTemplate(\n $id: ID!\n $name: String\n $description: String\n $rights_mode: String\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON\n $example_metadata_json: JSON\n ) {\n workflow_templatesUpdateOneById(\n id: $id\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n"]);return nd=function(){return n},n}function nc(){let n=(0,r._)(["\n mutation RemoveWorkflowTemplateById($id: ID!) {\n workflow_templatesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return nc=function(){return n},n}function nl(){let n=(0,r._)(["\n query GetJobStatisticsEnhanced($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n runningCount\n erroredCount\n completedCount\n failedCount\n averageDuration\n }\n }\n"]);return nl=function(){return n},n}function nf(){let n=(0,r._)(["\n query AgentSessionsStatistics($from: Date!, $to: Date!) {\n agent_sessionsStatistics(filters: {\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n"]);return nf=function(){return n},n}function nm(){let n=(0,r._)(['\n query WorkflowRunsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: "workflow" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return nm=function(){return n},n}function n$(){let n=(0,r._)(['\n query EmbeddingJobsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: "embedder" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return n$=function(){return n},n}function ng(){let n=(0,r._)(["\n query FunctionCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: TOOL_CALL }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n"]);return ng=function(){return n},n}function np(){let n=(0,r._)([' \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: AGENT_RUN }\n name: { eq: "count" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return np=function(){return n},n}function n_(){let n=(0,r._)([' \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n name: { in: ["inputTokens", "outputTokens"] }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n']);return n_=function(){return n},n}function ny(){let n=(0,r._)(['\n query TimeSeriesStatistics($type: typeEnum!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "createdAt"\n filters: {\n type: { eq: $type }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n }\n']);return ny=function(){return n},n}function nP(){let n=(0,r._)(['\nquery UserStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "user"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n']);return nP=function(){return n},n}function nI(){let n=(0,r._)(['\nquery ProjectStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "project"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n']);return nI=function(){return n},n}function nv(){let n=(0,r._)(['\nquery AgentStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: "label"\n filters: {\n type: { eq: AGENT_RUN }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n}\n']);return nv=function(){return n},n}function nS(){let n=(0,r._)(["\n query GetUserNameById($id: ID!) {\n userById(id: $id) {\n name\n }\n }\n"]);return nS=function(){return n},n}function nA(){let n=(0,r._)(["\n query GetProjectNameById($id: ID!) {\n projectById(id: $id) {\n name\n }\n }\n"]);return nA=function(){return n},n}function nC(){let n=(0,r._)(["\n query DonutStatistics($type: typeEnum!, $groupBy: String!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: $groupBy\n filters: {\n type: { eq: $type }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n }\n"]);return nC=function(){return n},n}function nh(){let n=(0,r._)(['\n query GetProjects(\n $page: Int!\n $limit: Int!\n $filters: [FilterProject]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n projectsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ',"\n }\n }\n }\n"]);return nh=function(){return n},n}function nB(){let n=(0,r._)(["\n query GetProjectsByIds($ids: [ID!]!) {\n projectByIds(ids: $ids) {\n ","\n }\n }\n"]);return nB=function(){return n},n}function nb(){let n=(0,r._)(["\n query GetProjectById($id: ID!) {\n projectById(id: $id) {\n ","\n }\n }\n"]);return nb=function(){return n},n}function nD(){let n=(0,r._)(["\n mutation UpdateUserFavouriteProjects($id: ID!, $favourite_projects: JSON) {\n userUpdateById(input: { favourite_projects: $favourite_projects }, filter: { id: $id }) {\n item {\n id\n favourite_projects\n }\n }\n }\n"]);return nD=function(){return n},n}function nq(){let n=(0,r._)(["\n mutation CreateProject($input: projectInput!) {\n projectsCreateOne(input: $input) {\n item {\n ","\n }\n }\n }\n"]);return nq=function(){return n},n}function nR(){let n=(0,r._)(["\n mutation UpdateProject($id: ID!, $input: projectInput!) {\n projectsUpdateOneById(id: $id, input: $input) {\n item {\n ","\n }\n }\n }\n"]);return nR=function(){return n},n}function nj(){let n=(0,r._)(["\n mutation DeleteProject($id: ID!) {\n projectsRemoveOneById(id: $id) {\n id\n name\n }\n }\n"]);return nj=function(){return n},n}function nk(){let n=(0,r._)(["\n query GetTestCases(\n $page: Int!\n $limit: Int!\n $filters: [FilterTest_case]\n ) {\n test_casesPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nk=function(){return n},n}function nO(){let n=(0,r._)(["\n query GetTestCaseById($id: ID!) {\n test_caseById(id: $id) {\n ","\n }\n }\n"]);return nO=function(){return n},n}function nU(){let n=(0,r._)(["\n mutation CreateTestCase($data: test_caseInput!) {\n test_casesCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nU=function(){return n},n}function nw(){let n=(0,r._)(["\n mutation UpdateTestCase($id: ID!, $data: test_caseInput!) {\n test_casesUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nw=function(){return n},n}function nx(){let n=(0,r._)(["\n mutation DeleteTestCase($id: ID!) {\n test_casesRemoveOneById(id: $id) {\n id\n name\n }\n }\n"]);return nx=function(){return n},n}function nG(){let n=(0,r._)(["\n query GetEvalSets(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_set]\n ) {\n eval_setsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nG=function(){return n},n}function nN(){let n=(0,r._)(["\n query GetEvals {\n evals {\n items {\n ","\n }\n }\n }\n"]);return nN=function(){return n},n}function nE(){let n=(0,r._)(["\n query GetEvalSetById($id: ID!) {\n eval_setById(id: $id) {\n ","\n }\n }\n"]);return nE=function(){return n},n}function nF(){let n=(0,r._)(["\n mutation CreateEvalSet($data: eval_setInput!) {\n eval_setsCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nF=function(){return n},n}function nJ(){let n=(0,r._)(["\n mutation UpdateEvalSet($id: ID!, $data: eval_setInput!) {\n eval_setsUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nJ=function(){return n},n}function nT(){let n=(0,r._)(["\n mutation DeleteEvalSet($id: ID!) {\n eval_setsRemoveOneById(id: $id) {\n id\n name\n }\n }\n"]);return nT=function(){return n},n}function nQ(){let n=(0,r._)(["\n query GetEvalRuns(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_run]\n ) {\n eval_runsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return nQ=function(){return n},n}function nW(){let n=(0,r._)(["\n query GetEvalRunById($id: ID!) {\n eval_runById(id: $id) {\n ","\n }\n }\n"]);return nW=function(){return n},n}function nV(){let n=(0,r._)(["\n mutation CreateEvalRun($data: eval_runInput!) {\n eval_runsCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nV=function(){return n},n}function nM(){let n=(0,r._)(["\n query GetQueue($queue: QueueEnum!) {\n queue(queue: $queue) {\n name\n concurrency\n ratelimit\n isMaxed\n isPaused\n jobs {\n paused\n completed\n failed\n waiting\n active\n delayed\n }\n }\n }\n"]);return nM=function(){return n},n}function nL(){let n=(0,r._)(["\n query GetJobs($queue: QueueEnum!, $statusses: [JobStateEnum!], $page: Int, $limit: Int) {\n jobs(queue: $queue, statusses: $statusses, page: $page, limit: $limit) {\n items {\n name\n id\n returnvalue\n stacktrace\n failedReason\n state\n data\n timestamp\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n"]);return nL=function(){return n},n}function nz(){let n=(0,r._)(["\n mutation DeleteJob($queue: QueueEnum!, $id: String!) {\n deleteJob(queue: $queue, id: $id) {\n success\n }\n }\n"]);return nz=function(){return n},n}function nK(){let n=(0,r._)(["\n mutation PauseQueue($queue: QueueEnum!) {\n pauseQueue(queue: $queue) {\n success\n }\n }\n"]);return nK=function(){return n},n}function nZ(){let n=(0,r._)(["\n mutation ResumeQueue($queue: QueueEnum!) {\n resumeQueue(queue: $queue) {\n success\n }\n }\n"]);return nZ=function(){return n},n}function nH(){let n=(0,r._)(["\n mutation DrainQueue($queue: QueueEnum!) {\n drainQueue(queue: $queue) {\n success\n }\n }\n"]);return nH=function(){return n},n}function nY(){let n=(0,r._)(["\n mutation RunEval($id: ID!) {\n runEval(id: $id) {\n jobs\n count\n }\n }\n"]);return nY=function(){return n},n}function nX(){let n=(0,r._)(["\n mutation UpdateEvalRun($id: ID!, $data: eval_runInput!) {\n eval_runsUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return nX=function(){return n},n}function n0(){let n=(0,r._)(["\n mutation DeleteEvalRun($id: ID!) {\n eval_runsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return n0=function(){return n},n}function n1(){let n=(0,r._)(["\n query GetPlatformConfigurations {\n platform_configurationsPagination {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return n1=function(){return n},n}function n3(){let n=(0,r._)(["\n query GetPlatformConfigurationByKey($config_key: FilterOperatorString!) {\n platform_configurationsPagination(page: 1, limit: 1, filters: { config_key: $config_key }) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ","\n }\n }\n }\n"]);return n3=function(){return n},n}function n9(){let n=(0,r._)(["\n mutation CreatePlatformConfiguration($data: platform_configurationInput!) {\n platform_configurationsCreateOne(input: $data) {\n item {\n ","\n }\n }\n }\n"]);return n9=function(){return n},n}function n5(){let n=(0,r._)(["\n mutation UpdatePlatformConfiguration($id: ID!, $data: platform_configurationInput!) {\n platform_configurationsUpdateOneById(id: $id, input: $data) {\n item {\n ","\n }\n }\n }\n"]);return n5=function(){return n},n}function n6(){let n=(0,r._)(["\n mutation DeletePlatformConfiguration($id: ID!) {\n platform_configurationsRemoveOneById(id: $id) {\n id\n }\n }\n"]);return n6=function(){return n},n}function n2(){let n=(0,r._)(['\n query GetPrompts(\n $page: Int!\n $limit: Int!\n $filters: [FilterPrompt_library_item]\n $sort: SortBy = { field: "updatedAt", direction: DESC }\n ) {\n prompt_libraryPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ',"\n }\n }\n }\n"]);return n2=function(){return n},n}function n8(){let n=(0,r._)(["\n query GetPromptById($id: ID!) {\n prompt_library_itemById(id: $id) {\n ","\n }\n }\n"]);return n8=function(){return n},n}function n4(){let n=(0,r._)(["\n mutation CreatePrompt(\n $name: String!\n $description: String\n $content: String!\n $tags: JSON\n $rights_mode: String!\n $RBAC: RBACInput\n $assigned_agents: JSON\n ) {\n prompt_libraryCreateOne(\n input: {\n name: $name\n description: $description\n content: $content\n tags: $tags\n rights_mode: $rights_mode\n RBAC: $RBAC\n assigned_agents: $assigned_agents\n }\n ) {\n item {\n ","\n }\n }\n }\n"]);return n4=function(){return n},n}function n7(){let n=(0,r._)(["\n mutation UpdatePrompt(\n $id: ID!\n $name: String\n $description: String\n $content: String\n $tags: JSON\n $rights_mode: String\n $RBAC: RBACInput\n $assigned_agents: JSON\n ) {\n prompt_libraryUpdateOneById(\n id: $id\n input: {\n name: $name\n description: $description\n content: $content\n tags: $tags\n rights_mode: $rights_mode\n RBAC: $RBAC\n assigned_agents: $assigned_agents\n }\n ) {\n item {\n ","\n }\n }\n }\n"]);return n7=function(){return n},n}function tn(){let n=(0,r._)(["\n mutation DeletePrompt($id: ID!) {\n prompt_libraryRemoveOneById(id: $id) {\n id\n }\n }\n"]);return tn=function(){return n},n}function tt(){let n=(0,r._)(["\n mutation IncrementPromptUsage($id: ID!, $usage_count: Float!) {\n prompt_libraryUpdateOneById(\n id: $id\n input: { usage_count: $usage_count }\n ) {\n item {\n id\n usage_count\n }\n }\n }\n"]);return tt=function(){return n},n}function te(){let n=(0,r._)(["\n mutation IncrementPromptFavorites($id: ID!, $favorite_count: Float!) {\n prompt_libraryUpdateOneById(\n id: $id\n input: { favorite_count: $favorite_count }\n ) {\n item {\n id\n favorite_count\n }\n }\n }\n"]);return te=function(){return n},n}function tr(){let n=(0,r._)(["\n query GetUserPromptFavorites($user_id: Float!) {\n prompt_favoritesPagination(\n filters: [{ user_id: { eq: $user_id } }]\n ) {\n items {\n ","\n }\n }\n }\n"]);return tr=function(){return n},n}function ti(){let n=(0,r._)(["\n mutation CreatePromptFavorite($user_id: Float!, $prompt_id: String!) {\n prompt_favoritesCreateOne(\n input: { user_id: $user_id, prompt_id: $prompt_id }\n ) {\n item {\n ","\n }\n }\n }\n"]);return ti=function(){return n},n}function tu(){let n=(0,r._)(["\n mutation DeletePromptFavorite($id: ID!) {\n prompt_favoritesRemoveOneById(id: $id) {\n id\n }\n }\n"]);return tu=function(){return n},n}let to="_itemsPagination",ta="_itemsCreateOne",ts="\n id\n name\n description\n embedder {\n name\n id\n queue\n config {\n name\n description\n default\n }\n }\n slug\n active\n fields\n configuration\n sources {\n id\n name\n description\n config {\n params {\n name\n description\n default\n }\n schedule\n queue\n retries\n backoff {\n type\n delay\n }\n }\n }\n",td=n=>"\nid\nname\ndescription\ntags\nexternal_id\ncreatedAt\nembeddings_updated_at\nupdatedAt\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n}\n".concat(n.join("\n"),"\n"),tc="\nid\nfirstname\nlastname\nemail\nsuper_admin\napikey\nanthropic_token\ntype\nrole\nfavourite_agents\n",tl="\nid\nname\nproviderapikey\ninstructions\ndescription\nactive\nimage\nanimation_idle\nanimation_responding\ntools\nproviderName\nmodelName\nmaxContextLength\nprovider\nauthenticationInformation\nslug\ncategory\nrateLimit {\n name\n rate_limit {\n time\n limit\n }\n}\nstreaming\ncapabilities {\n text\n images\n files\n audio\n video\n}\nbackend\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n}\ncreatedAt\nupdatedAt\n",tf=(0,i.Ps)(u(),tl),tm=(0,i.Ps)(o()),t$=(0,i.Ps)(a(),ts),tg=(0,i.Ps)(s(),ts),tp=(n,t)=>{let e=n.charAt(0).toUpperCase()+n.slice(1);return(0,i.Ps)(d(),n,e,n,to,td(t))},t_=n=>(0,i.Ps)(c(),n,n,n),ty=function(n,t){let e=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return(0,i.Ps)(l(),n,n,td(t),e?"chunks { fts_rank hybrid_score content source chunk_index chunk_id chunk_created_at chunk_updated_at embedding_size }":"")},tP=n=>(0,i.Ps)(f(),n,n,n),tI=n=>{let t=n.charAt(0).toUpperCase()+n.slice(1);return(0,i.Ps)(m(),n,t,n)},tv=n=>{let t=n.charAt(0).toUpperCase()+n.slice(1);return(0,i.Ps)($(),n,t,n)},tS=n=>(0,i.Ps)(g(),n,n),tA=n=>(0,i.Ps)(p(),n,n,n),tC=(n,t)=>(0,i.Ps)(_(),n,n,t.join("\n")),th=(0,i.Ps)(y()),tB=(0,i.Ps)(P()),tb=(0,i.Ps)(I()),tD=(0,i.Ps)(v()),tq=(0,i.Ps)(S()),tR=(0,i.Ps)(A()),tj=(0,i.Ps)(C());(0,i.Ps)(h()),(0,i.Ps)(B());let tk=(0,i.Ps)(b(),tl),tO=(0,i.Ps)(D(),tl),tU=(0,i.Ps)(q());(0,i.Ps)(R());let tw=(0,i.Ps)(j(),tc),tx=(0,i.Ps)(k()),tG=(0,i.Ps)(O());(0,i.Ps)(U(),tc);let tN=(0,i.Ps)(w()),tE=(0,i.Ps)(x()),tF=(0,i.Ps)(G()),tJ=(0,i.Ps)(N()),tT=(0,i.Ps)(E()),tQ=(0,i.Ps)(F()),tW=(0,i.Ps)(J()),tV=(0,i.Ps)(T()),tM=(0,i.Ps)(Q()),tL=(0,i.Ps)(W());(0,i.Ps)(V());let tz=(0,i.Ps)(M()),tK=(0,i.Ps)(L()),tZ=(0,i.Ps)(z());(0,i.Ps)(K());let tH=(0,i.Ps)(Z()),tY=(0,i.Ps)(H()),tX=(0,i.Ps)(Y()),t0=(0,i.Ps)(X()),t1=(0,i.Ps)(nn()),t3=(0,i.Ps)(nt()),t9=(0,i.Ps)(ne()),t5=(0,i.Ps)(nr()),t6=(0,i.Ps)(ni()),t2=(0,i.Ps)(nu()),t8=(0,i.Ps)(no());(0,i.Ps)(na());let t4=(0,i.Ps)(ns()),t7=(0,i.Ps)(nd()),en=(0,i.Ps)(nc()),et=(0,i.Ps)(nl()),ee=(0,i.Ps)(nf()),er=(0,i.Ps)(nm());(0,i.Ps)(n$());let ei=(0,i.Ps)(ng()),eu=(0,i.Ps)(np()),eo=(0,i.Ps)(n_()),ea=(0,i.Ps)(ny()),es=(0,i.Ps)(nP()),ed=(0,i.Ps)(nI()),ec=(0,i.Ps)(nv());(0,i.Ps)(nS()),(0,i.Ps)(nA());let el=(0,i.Ps)(nC()),ef="\n id\n name\n description\n image\n custom_instructions\n rights_mode\n created_by\n createdAt\n updatedAt\n project_items\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n",em=(0,i.Ps)(nh(),ef),e$=(0,i.Ps)(nB(),ef),eg=(0,i.Ps)(nb(),ef),ep=(0,i.Ps)(nD()),e_=(0,i.Ps)(nq(),ef),ey=(0,i.Ps)(nR(),ef),eP=(0,i.Ps)(nj()),eI="\n id\n name\n description\n inputs\n expected_output\n expected_tools\n expected_knowledge_sources\n expected_agent_tools\n eval_set_id\n createdAt\n updatedAt\n",ev="\n id\n name\n description\n createdAt\n updatedAt\n",eS="\n id\n name\n eval_set_id\n agent_id\n eval_functions\n config\n scoring_method\n pass_threshold\n test_case_ids\n createdAt\n updatedAt\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n",eA=(0,i.Ps)(nk(),eI);(0,i.Ps)(nO(),eI);let eC=(0,i.Ps)(nU(),eI),eh=(0,i.Ps)(nw(),eI),eB=(0,i.Ps)(nx()),eb=(0,i.Ps)(nG(),ev),eD=(0,i.Ps)(nN(),"\n id\n name\n description\n config {\n name\n description\n }\n llm\n"),eq=(0,i.Ps)(nE(),ev),eR=(0,i.Ps)(nF(),ev),ej=(0,i.Ps)(nJ(),ev),ek=(0,i.Ps)(nT()),eO=(0,i.Ps)(nQ(),eS);(0,i.Ps)(nW(),eS);let eU=(0,i.Ps)(nV(),eS),ew=(0,i.Ps)(nM()),ex=(0,i.Ps)(nL()),eG=(0,i.Ps)(nz()),eN=(0,i.Ps)(nK()),eE=(0,i.Ps)(nZ()),eF=(0,i.Ps)(nH()),eJ=(0,i.Ps)(nY()),eT=(0,i.Ps)(nX(),eS);(0,i.Ps)(n0());let eQ="\n id\n config_key\n config_value\n description\n createdAt\n updatedAt\n",eW=(0,i.Ps)(n1(),eQ);(0,i.Ps)(n3(),eQ);let eV=(0,i.Ps)(n9(),eQ),eM=(0,i.Ps)(n5(),eQ);(0,i.Ps)(n6());let eL="\n id\n name\n description\n content\n tags\n usage_count\n favorite_count\n assigned_agents\n rights_mode\n created_by\n createdAt\n updatedAt\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n",ez=(0,i.Ps)(n2(),eL),eK=(0,i.Ps)(n8(),eL),eZ=(0,i.Ps)(n4(),eL),eH=(0,i.Ps)(n7(),eL),eY=(0,i.Ps)(tn()),eX=(0,i.Ps)(tt()),e0=(0,i.Ps)(te()),e1="\n id\n user_id\n prompt_id\n createdAt\n";(0,i.Ps)(tr(),e1);let e3=(0,i.Ps)(ti(),e1),e9=(0,i.Ps)(tu())}}]);
|
|
2
|
+
//# sourceMappingURL=6373-601400fab8a3bb55.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/6373-601400fab8a3bb55.js","mappings":"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","sources":["webpack://_N_E/./components/ui/button.tsx","webpack://_N_E/./lib/utils.ts","webpack://_N_E/./queries/queries.ts"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst buttonVariants = cva(\n \"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\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport function formatDuration(seconds: number): string {\n if (!seconds) return '0s';\n \n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const remainingSeconds = Math.round(seconds % 60);\n\n if (hours > 0) {\n return `${hours}h ${minutes}m`;\n } else if (minutes > 0) {\n return `${minutes}m ${remainingSeconds}s`;\n } else {\n return `${remainingSeconds}s`;\n }\n}","import { gql } from \"@apollo/client\";\n\nexport const PAGINATION_POSTFIX = \"_itemsPagination\";\nexport const CREATE_ONE_POSTFIX = \"_itemsCreateOne\";\n\nconst CONTEXT_FIELDS = `\n id\n name\n description\n embedder {\n name\n id\n queue\n config {\n name\n description\n default\n }\n }\n slug\n active\n fields\n configuration\n sources {\n id\n name\n description\n config {\n params {\n name\n description\n default\n }\n schedule\n queue\n retries\n backoff {\n type\n delay\n }\n }\n }\n`;\n\n\n/* \nRemoved\n projects {\n id\n rights\n }\n From RBAC below\n*/\nconst ITEM_FIELDS = (fields: string[]) => `\nid\nname\ndescription\ntags\nexternal_id\ncreatedAt\nembeddings_updated_at\nupdatedAt\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n}\n${fields.join(\"\\n\")}\n`;\n\nconst USER_FIELDS = `\nid\nfirstname\nlastname\nemail\nsuper_admin\napikey\nanthropic_token\ntype\nrole\nfavourite_agents\n`;\n\nconst AGENT_FIELDS = `\nid\nname\nproviderapikey\ninstructions\ndescription\nactive\nimage\nanimation_idle\nanimation_responding\ntools\nproviderName\nmodelName\nmaxContextLength\nprovider\nauthenticationInformation\nslug\ncategory\nrateLimit {\n name\n rate_limit {\n time\n limit\n }\n}\nstreaming\ncapabilities {\n text\n images\n files\n audio\n video\n}\nbackend\nrights_mode\nRBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n}\ncreatedAt\nupdatedAt\n`;\n\nexport const GET_AGENTS = gql`\n query GetAgents(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n agentsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${AGENT_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_AGENT_SESSIONS = gql`\n query GetAgentSessions(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_session]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n agent_sessionsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n createdAt\n updatedAt\n user\n title\n agent\n project\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n id\n }\n }\n }\n`;\n\nexport const GET_CONTEXTS = gql`\n query GetContexts {\n contexts {\n items {\n ${CONTEXT_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_CONTEXT_BY_ID = gql`\n query GetContextById($id: ID!) {\n contextById(id: $id) {\n ${CONTEXT_FIELDS}\n }\n }\n`;\n\nexport const GET_ITEMS = (context: string, fields: string[]) => {\n const upperCaseContext = context.charAt(0).toUpperCase() + context.slice(1)\n return gql`\n query ${context}Pagination($page: Int!, $limit: Int!, $filters: [Filter${upperCaseContext}_items], $sort: SortBy = { field: \"updatedAt\", direction: DESC }) {\n ${context}${PAGINATION_POSTFIX}(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${ITEM_FIELDS(fields)}\n }\n }\n }\n `;\n};\n\nexport const PROCESS_ITEM_FIELD = (context: string) => {\n return gql`\n mutation ProcessItemField${context}($item: ID!, $field: ${context}_itemsProcessorFieldEnum!) {\n ${context}_itemsProcessItemField(item: $item, field: $field) {\n message\n result\n job\n }\n }\n `;\n};\n\nexport const GET_ITEM_BY_ID = (context: string, fields: string[], chunks: boolean = false) => {\n return gql`\n query ${context}ById($id: ID!) {\n ${context}_itemsById(id: $id) {\n ${ITEM_FIELDS(fields)}\n ${chunks ? \"chunks { fts_rank hybrid_score content source chunk_index chunk_id chunk_created_at chunk_updated_at embedding_size }\" : \"\"}\n }\n }\n `;\n};\n\nexport const CREATE_ITEM = (context: string) => {\n return gql`\n mutation CreateOne${context}($input: ${context}_itemsInput!) {\n ${context}_itemsCreateOne(input: $input) {\n item {\n id\n }\n job\n }\n }\n `;\n};\n\nexport const DELETE_CHUNKS = (context: string) => {\n const upperCaseContext = context.charAt(0).toUpperCase() + context.slice(1)\n return gql`\n mutation DeleteChunks${context}($where: [Filter${upperCaseContext}_items]) {\n ${context}_itemsDeleteChunks(where: $where) {\n items\n jobs\n }\n }\n `;\n};\n\n\nexport const GENERATE_CHUNKS = (context: string) => {\n const upperCaseContext = context.charAt(0).toUpperCase() + context.slice(1)\n return gql`\n mutation GenerateChunks${context}($where: [Filter${upperCaseContext}_items]) {\n ${context}_itemsGenerateChunks(where: $where) {\n items\n jobs\n }\n }\n `;\n};\n\nexport const EXECUTE_SOURCE = (context: string) => {\n return gql`\n mutation ExecuteSource${context}($source: ID!, $inputs: JSON!) {\n ${context}_itemsExecuteSource(source: $source, inputs: $inputs) {\n message\n jobs\n items\n }\n }\n `;\n};\n\nexport const UPDATE_ITEM = (context: string) => {\n return gql`\n mutation UpdateOneById${context}($id: ID!, $input: ${context}_itemsInput!) {\n ${context}_itemsUpdateOneById(id: $id, input: $input) {\n item {\n id\n }\n job\n }\n }\n `;\n};\n\nexport const DELETE_ITEM = (context: string, fields: string[]) => {\n return gql`\n mutation DeleteOneById${context}($id: ID!) {\n ${context}_itemsRemoveOneById(id: $id) {\n id\n ${fields.join(\"\\n\")}\n }\n }\n `;\n};\n\nexport const UPDATE_AGENT_SESSION_RBAC = gql`\n mutation UpdateAgentSessionRbac(\n $id: ID!\n $RBAC: RBACInput\n $rights_mode: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: { rights_mode: $rights_mode, RBAC: $RBAC }) {\n item {\n id\n }\n }\n }\n`;\n\nexport const UPDATE_AGENT_SESSION_PROJECT = gql`\n mutation UpdateAgentSessionProject(\n $id: ID!\n $project: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {project: $project}) {\n item {\n id\n }\n }\n }\n`;\n\nexport const UPDATE_AGENT_SESSION_TITLE = gql`\n mutation UpdateAgentSessionTitle(\n $id: ID!\n $title: String\n ) {\n agent_sessionsUpdateOneById(id: $id, input: {title: $title}) {\n item {\n id\n title\n }\n }\n }\n`;\n\nexport const GET_AGENT_MESSAGES = gql`\n query GetAgentSessionMessages(\n $page: Int!\n $limit: Int!\n $filters: [FilterAgent_message]\n $sort: SortBy = { field: \"createdAt\", direction: ASC }\n ) {\n agent_messagesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n session\n content\n createdAt\n }\n }\n }\n`;\n\nexport const GET_JOB_RESULTS = gql`\n query GetJobResults(\n $page: Int!\n $limit: Int!\n $filters: [FilterJob_result]\n $sort: SortBy = {\n field: \"createdAt\",\n direction: DESC\n }\n ) {\n job_resultsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n items {\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n id\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n`;\nexport const GET_USER_ROLES = gql`\n query GetUserRoles($page: Int!, $limit: Int!) {\n rolesPagination(page: $page, limit: $limit) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n createdAt\n updatedAt\n agents\n workflows\n api\n variables\n users\n name\n }\n }\n }\n`;\nexport const GET_USERS = gql`\n query GetUsers(\n $page: Int!\n $limit: Int!\n $filters: [FilterUser]\n $sort: SortBy\n ) {\n usersPagination(page: $page, limit: $limit, filters: $filters, sort: $sort) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n firstname\n lastname\n email\n last_used\n createdAt\n type\n apikey\n emailVerified\n anthropic_token\n super_admin\n role\n }\n }\n }\n`;\nexport const GET_USER_ROLE_BY_ID = gql`\n query GetUserRoleById($id: ID!) {\n roleById(id: $id) {\n id\n name\n agents\n workflows\n api\n variables\n users\n createdAt\n updatedAt\n }\n }\n`;\nexport const GET_JOB_RESULT_BY_ID = gql`\n query GetJobResultById($id: ID!) {\n job_resultById(id: $id) {\n id\n job_id\n state\n error\n label\n result\n metadata\n createdAt\n updatedAt\n }\n }\n`;\nexport const GET_AGENT_BY_ID = gql`\n query GetAgentById($id: ID!, $project: ID) {\n agentById(id: $id, project: $project) {\n ${AGENT_FIELDS}\n }\n }\n`;\nexport const GET_AGENTS_BY_IDS = gql`\n query GetAgentsByIds($ids: [ID!]!) {\n agentByIds(ids: $ids) {\n ${AGENT_FIELDS}\n }\n }\n`;\nexport const GET_AGENT_SESSION_BY_ID = gql`\n query GetAgentSessionById($id: ID!) {\n agent_sessionById(id: $id) {\n createdAt\n updatedAt\n user\n title\n agent\n created_by\n rights_mode\n project\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n id\n }\n }\n`;\nexport const GET_AGENT_SESSION = gql`\n query GetAgentSession($filters: [FilterAgent_session]) {\n agent_sessionOne(filters: $filters) {\n createdAt\n project\n updatedAt\n user\n title\n agent\n id\n }\n }\n`;\n\nexport const UPDATE_USER_BY_ID = gql`\n mutation UpdateUser(\n $email: String,\n $firstname: String,\n $anthropic_token: String,\n $super_admin: Boolean,\n $lastname: String,\n $role: String,\n $favourite_agents: JSON,\n $id: ID!\n ) {\n usersUpdateOneById(id: $id, input: {\n email: $email,\n firstname: $firstname,\n anthropic_token: $anthropic_token,\n super_admin: $super_admin,\n lastname: $lastname,\n role: $role,\n favourite_agents: $favourite_agents\n }) {\n item {\n ${USER_FIELDS}\n }\n }\n }\n`;\nexport const CREATE_API_USER = gql`\n mutation CreateUser(\n $firstname: String,\n $type: String,\n $apikey: String,\n $email: String,\n $role: String\n ) {\n usersCreateOne(input: {\n firstname: $firstname,\n type: $type,\n apikey: $apikey,\n email: $email,\n role: $role\n }) {\n item {\n id\n }\n }\n }\n`;\nexport const UPDATE_USER_ROLE_BY_ID = gql`\n mutation UpdateUserRole(\n $id: ID!\n $name: String\n $agents: String\n $workflows: String\n $api: String\n $variables: String\n $users: String\n ) {\n rolesUpdateOneById(\n id: $id\n input: {\n name: $name\n agents: $agents\n workflows: $workflows\n api: $api\n variables: $variables\n users: $users\n }\n ) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n }\n }\n }\n`;\nexport const GET_USER_BY_EMAIL = gql`\n query GetUserByEmail($email: String!) {\n userOne(filters: {email: $email}) {\n ${USER_FIELDS}\n }\n }\n`;\n\nexport const CREATE_AGENT_SESSION = gql`\n mutation createAgentSession(\n $title: String,\n $user: Float\n $agent: String\n $project: String\n $rights_mode: String\n $RBAC: RBACInput\n ) {\n agent_sessionsCreateOne(\n input: { agent: $agent, user: $user, project: $project, title: $title, rights_mode: $rights_mode, RBAC: $RBAC }\n ) {\n item {\n id\n }\n }\n }\n`;\nexport const CREATE_AGENT = gql`\n mutation createAgent(\n $name: String!\n $description: String!\n $rights_mode: String!\n $backend: String!\n $image: String\n $RBAC: RBACInput\n ) {\n agentsCreateOne(\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n backend: $backend\n image: $image\n RBAC: $RBAC\n }\n ) {\n item {\n id\n name\n description\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n createdAt\n }\n }\n }\n`;\n\nexport const GET_TOOLS = gql`\n query GetTools($search: String, $category: String, $limit: Int, $page: Int) {\n tools(search: $search, category: $category, limit: $limit, page: $page) {\n items {\n id\n name\n category\n description\n config\n type\n }\n total\n page\n limit\n }\n }\n`;\n\nexport const GET_TOOL_CATEGORIES = gql`\n query GetToolCategories {\n toolCategories\n }\n`;\n\nexport const UPDATE_AGENT_BY_ID = gql`\n mutation UpdateAgent(\n $id: ID!\n $name: String\n $backend: String\n $description: String\n $instructions: String\n $rights_mode: String\n $animation_idle: String\n $animation_responding: String\n $category: String\n $tools: JSON\n $active: Boolean\n $providerapikey: String\n $RBAC: RBACInput\n ) {\n agentsUpdateOneById(\n input: { \n name: $name\n backend: $backend\n description: $description\n category: $category\n instructions: $instructions\n animation_idle: $animation_idle\n animation_responding: $animation_responding\n rights_mode: $rights_mode\n active: $active\n tools: $tools\n providerapikey: $providerapikey\n RBAC: $RBAC\n }\n id: $id\n ) {\n item {\n id\n name\n description\n instructions\n category\n animation_idle\n animation_responding\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n }\n }\n }\n`;\nexport const CREATE_USER_ROLE = gql`\n mutation CreateUserRole($name: String!, $agents: String, $workflows: String, $variables: String, $users: String, $api: String) {\n rolesCreateOne(input: { name: $name, agents: $agents, workflows: $workflows, variables: $variables, users: $users, api: $api}) {\n item {\n id\n createdAt\n agents\n api\n workflows\n variables\n users\n name\n }\n }\n }\n`;\n\nexport const CREATE_USER = gql`\n mutation CreateUser($email: String!, $password: String, $type: String, $emailVerified: String) {\n usersCreateOne(input: { email: $email, password: $password, type: $type, emailVerified: $emailVerified }) {\n item {\n id\n createdAt\n emailVerified\n type\n name\n }\n }\n }\n`;\n\nexport const RESET_USER_PASSWORD = gql`\n mutation ResetUserPassword($id: ID!, $password: String!) {\n usersUpdateOneById(id: $id, input: { password: $password }) {\n item {\n id\n }\n }\n }\n`;\n\nexport const GET_PROVIDERS = gql`\n query GetProviders {\n providers {\n items {\n id\n name\n description\n provider\n modelName\n providerName\n }\n }\n }\n`;\n\nexport const REMOVE_USER_BY_ID = gql`\n mutation RemoveUserById($id: ID!) {\n usersRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_JOB_RESULT_BY_ID = gql`\n mutation RemoveJobResultById($id: ID!) {\n job_resultsRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_USER_ROLE_BY_ID = gql`\n mutation RemoveUserRoleById($id: ID!) {\n rolesRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_AGENT_BY_ID = gql`\n mutation RemoveAgentById($id: ID!) {\n agentsRemoveOneById(id: $id) {\n id\n }\n }\n`;\nexport const REMOVE_AGENT_SESSION_BY_ID = gql`\n mutation RemoveAgentSessionById($id: ID!) {\n agent_sessionsRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const GET_JOB_STATISTICS = gql`\n query GetJobStatistics($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n completedCount\n failedCount\n averageDuration\n }\n }\n`;\n\nexport const GET_VARIABLES = gql`\n query GetVariables(\n $page: Int!\n $limit: Int!\n $filters: [FilterVariable]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n variablesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n`;\n\nexport const GET_VARIABLE_BY_ID = gql`\n query GetVariableById($id: ID!) {\n variableById(id: $id) {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const CREATE_VARIABLE = gql`\n mutation CreateVariable(\n $name: String!\n $value: String!\n $encrypted: Boolean\n ) {\n variablesCreateOne(\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n item {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n`;\n\nexport const CREATE_EMBEDDER_CONFIG = gql`\n mutation CreateEmbedderConfig($name: String!, $value: String, $context: String!, $embedder: String!) {\n embedder_settingsCreateOne(input: { name: $name, value: $value, context: $context, embedder: $embedder }) {\n item {\n id\n name\n value\n context\n embedder\n }\n }\n }\n`;\n\nexport const GET_EMBEDDER_CONFIGS = gql`\n query GetEmbedderConfigs($context: String, $embedder: String) {\n embedder_settingsPagination(page: 1, limit: 100, filters: {\n context: {\n eq: $context\n },\n embedder: {\n eq: $embedder\n }\n }) {\n items {\n id\n name\n value\n createdAt\n updatedAt\n }\n }\n }\n`;\n\nexport const UPDATE_EMBEDDER_CONFIG = gql`\n mutation UpdateEmbedderConfig($id: ID!, $name: String, $value: String) {\n embedder_settingsUpdateOneById(id: $id, input: { name: $name, value: $value }) {\n item {\n id\n }\n }\n }\n`;\n\nexport const UPDATE_VARIABLE = gql`\n mutation UpdateVariable(\n $id: ID!\n $name: String\n $value: String\n $encrypted: Boolean\n ) {\n variablesUpdateOneById(\n id: $id\n input: {\n name: $name\n value: $value\n encrypted: $encrypted\n }\n ) {\n item {\n id\n name\n value\n encrypted\n createdAt\n updatedAt\n }\n }\n }\n`;\n\nexport const REMOVE_VARIABLE_BY_ID = gql`\n mutation RemoveVariableById($id: ID!) {\n variablesRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const GET_USER_BY_ID = gql`\n query GetUserById($id: ID!) {\n userById(id: $id) {\n id\n name\n firstname\n lastname\n email\n }\n }\n`;\n\nexport const GET_USERS_BY_IDS = gql`\n query GetUsersByIds($ids: [ID!]!) {\n userByIds(ids: $ids) {\n id\n name\n firstname\n lastname\n email\n }\n }\n`;\n\nexport const GET_WORKFLOW_TEMPLATES = gql`\n query GetWorkflowTemplates(\n $page: Int!\n $limit: Int!\n $filters: [FilterWorkflow_template]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n workflow_templatesPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n }\n }\n }\n`;\n\nexport const GET_WORKFLOW_TEMPLATE_BY_ID = gql`\n query GetWorkflowTemplateById($id: ID!) {\n workflow_templateById(id: $id) {\n id\n name\n description\n owner\n rights_mode\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const CREATE_WORKFLOW_TEMPLATE = gql`\n mutation CreateWorkflowTemplate(\n $name: String!\n $description: String\n $owner: Float!\n $rights_mode: String!\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON!\n $example_metadata_json: JSON\n ) {\n workflow_templatesCreateOne(\n input: {\n name: $name\n description: $description\n owner: $owner\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n projects {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const UPDATE_WORKFLOW_TEMPLATE = gql`\n mutation UpdateWorkflowTemplate(\n $id: ID!\n $name: String\n $description: String\n $rights_mode: String\n $RBAC: RBACInput\n $variables: JSON\n $steps_json: JSON\n $example_metadata_json: JSON\n ) {\n workflow_templatesUpdateOneById(\n id: $id\n input: {\n name: $name\n description: $description\n rights_mode: $rights_mode\n RBAC: $RBAC\n variables: $variables\n steps_json: $steps_json\n example_metadata_json: $example_metadata_json\n }\n ) {\n id\n name\n description\n owner\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n variables\n steps_json\n example_metadata_json\n createdAt\n updatedAt\n }\n }\n`;\n\nexport const REMOVE_WORKFLOW_TEMPLATE_BY_ID = gql`\n mutation RemoveWorkflowTemplateById($id: ID!) {\n workflow_templatesRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const GET_JOB_STATISTICS_ENHANCED = gql`\n query GetJobStatisticsEnhanced($user: Float, $agent: String, $from: String, $to: String) {\n jobStatistics(user: $user, agent: $agent, from: $from, to: $to) {\n runningCount\n erroredCount\n completedCount\n failedCount\n averageDuration\n }\n }\n`;\n\n// Analytics Dashboard Queries\n\n// Summary Cards Queries (24h vs 7-day average)\nexport const GET_AGENT_SESSIONS_STATISTICS = gql`\n query AgentSessionsStatistics($from: Date!, $to: Date!) {\n agent_sessionsStatistics(filters: {\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_WORKFLOW_RUNS_STATISTICS = gql`\n query WorkflowRunsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: \"workflow\" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_EMBEDDING_JOBS_STATISTICS = gql`\n query EmbeddingJobsStatistics($from: Date!, $to: Date!) {\n jobsStatistics(filters: {\n type: { eq: \"embedder\" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_FUNCTION_CALLS_STATISTICS = gql`\n query FunctionCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: TOOL_CALL }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_AGENT_RUN_STATISTICS = gql` \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n type: { eq: AGENT_RUN }\n name: { eq: \"count\" }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\nexport const GET_TOKEN_USAGE_STATISTICS = gql` \n query AgentCallsStatistics($from: Date!, $to: Date!) {\n trackingStatistics(filters: {\n name: { in: [\"inputTokens\", \"outputTokens\"] }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }) {\n group\n count\n }\n }\n`;\n\n\n// Time Series Chart Query\nexport const GET_TIME_SERIES_STATISTICS = gql`\n query TimeSeriesStatistics($type: typeEnum!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"createdAt\"\n filters: {\n type: { eq: $type }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n }\n`;\n\nexport const GET_USER_STATISTICS = gql`\nquery UserStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"user\"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n`;\n\nexport const GET_PROJECT_STATISTICS = gql`\nquery ProjectStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"project\"\n filters: {\n type: { eq: AGENT_RUN }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n name: { in: $names }\n }\n ) {\n group\n count\n }\n}\n`;\n\nexport const GET_AGENT_STATISTICS = gql`\nquery AgentStatistics($from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: \"label\"\n filters: {\n type: { eq: AGENT_RUN }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n}\n`;\n\nexport const GET_USER_NAME_BY_ID = gql`\n query GetUserNameById($id: ID!) {\n userById(id: $id) {\n name\n }\n }\n`;\n\nexport const GET_PROJECT_NAME_BY_ID = gql`\n query GetProjectNameById($id: ID!) {\n projectById(id: $id) {\n name\n }\n }\n`;\n\n// Donut Chart Query \nexport const GET_DONUT_STATISTICS = gql`\n query DonutStatistics($type: typeEnum!, $groupBy: String!, $from: Date!, $to: Date!, $names: [String!]) {\n trackingStatistics(\n groupBy: $groupBy\n filters: {\n type: { eq: $type }\n name: { in: $names }\n createdAt: { and: [{ gte: $from }, { lte: $to }] }\n }\n ) {\n group\n count\n }\n }\n`;\n\nconst PROJECT_FIELDS = `\n id\n name\n description\n image\n custom_instructions\n rights_mode\n created_by\n createdAt\n updatedAt\n project_items\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n`;\n\nexport const GET_PROJECTS = gql`\n query GetProjects(\n $page: Int!\n $limit: Int!\n $filters: [FilterProject]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n projectsPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PROJECT_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_PROJECTS_BY_IDS = gql`\n query GetProjectsByIds($ids: [ID!]!) {\n projectByIds(ids: $ids) {\n ${PROJECT_FIELDS}\n }\n }\n`;\n\nexport const GET_PROJECT_BY_ID = gql`\n query GetProjectById($id: ID!) {\n projectById(id: $id) {\n ${PROJECT_FIELDS}\n }\n }\n`;\n\nexport const UPDATE_USER_FAVOURITE_PROJECTS = gql`\n mutation UpdateUserFavouriteProjects($id: ID!, $favourite_projects: JSON) {\n userUpdateById(input: { favourite_projects: $favourite_projects }, filter: { id: $id }) {\n item {\n id\n favourite_projects\n }\n }\n }\n`;\n\nexport const CREATE_PROJECT = gql`\n mutation CreateProject($input: projectInput!) {\n projectsCreateOne(input: $input) {\n item {\n ${PROJECT_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_PROJECT = gql`\n mutation UpdateProject($id: ID!, $input: projectInput!) {\n projectsUpdateOneById(id: $id, input: $input) {\n item {\n ${PROJECT_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_PROJECT = gql`\n mutation DeleteProject($id: ID!) {\n projectsRemoveOneById(id: $id) {\n id\n name\n }\n }\n`;\n\n// ============================================\n// EVAL-RELATED QUERIES\n// ============================================\n\nconst TEST_CASE_FIELDS = `\n id\n name\n description\n inputs\n expected_output\n expected_tools\n expected_knowledge_sources\n expected_agent_tools\n eval_set_id\n createdAt\n updatedAt\n`;\n\nconst EVAL_SET_FIELDS = `\n id\n name\n description\n createdAt\n updatedAt\n`;\n\nconst EVAL_RUN_FIELDS = `\n id\n name\n eval_set_id\n agent_id\n eval_functions\n config\n scoring_method\n pass_threshold\n test_case_ids\n createdAt\n updatedAt\n rights_mode\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n`;\n\n// Test Cases\nexport const GET_TEST_CASES = gql`\n query GetTestCases(\n $page: Int!\n $limit: Int!\n $filters: [FilterTest_case]\n ) {\n test_casesPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${TEST_CASE_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_TEST_CASE_BY_ID = gql`\n query GetTestCaseById($id: ID!) {\n test_caseById(id: $id) {\n ${TEST_CASE_FIELDS}\n }\n }\n`;\n\nexport const CREATE_TEST_CASE = gql`\n mutation CreateTestCase($data: test_caseInput!) {\n test_casesCreateOne(input: $data) {\n item {\n ${TEST_CASE_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_TEST_CASE = gql`\n mutation UpdateTestCase($id: ID!, $data: test_caseInput!) {\n test_casesUpdateOneById(id: $id, input: $data) {\n item {\n ${TEST_CASE_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_TEST_CASE = gql`\n mutation DeleteTestCase($id: ID!) {\n test_casesRemoveOneById(id: $id) {\n id\n name\n }\n }\n`;\n\n// Eval Sets\nexport const GET_EVAL_SETS = gql`\n query GetEvalSets(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_set]\n ) {\n eval_setsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${EVAL_SET_FIELDS}\n }\n }\n }\n`;\n\nconst EVAL_FIELDS = `\n id\n name\n description\n config {\n name\n description\n }\n llm\n`;\n\nexport const GET_EVAL_FUNCTIONS = gql`\n query GetEvals {\n evals {\n items {\n ${EVAL_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_EVAL_SET_BY_ID = gql`\n query GetEvalSetById($id: ID!) {\n eval_setById(id: $id) {\n ${EVAL_SET_FIELDS}\n }\n }\n`;\n\nexport const CREATE_EVAL_SET = gql`\n mutation CreateEvalSet($data: eval_setInput!) {\n eval_setsCreateOne(input: $data) {\n item {\n ${EVAL_SET_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_EVAL_SET = gql`\n mutation UpdateEvalSet($id: ID!, $data: eval_setInput!) {\n eval_setsUpdateOneById(id: $id, input: $data) {\n item {\n ${EVAL_SET_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_EVAL_SET = gql`\n mutation DeleteEvalSet($id: ID!) {\n eval_setsRemoveOneById(id: $id) {\n id\n name\n }\n }\n`;\n\n// Eval Runs\nexport const GET_EVAL_RUNS = gql`\n query GetEvalRuns(\n $page: Int!\n $limit: Int!\n $filters: [FilterEval_run]\n ) {\n eval_runsPagination(page: $page, limit: $limit, filters: $filters) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${EVAL_RUN_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_EVAL_RUN_BY_ID = gql`\n query GetEvalRunById($id: ID!) {\n eval_runById(id: $id) {\n ${EVAL_RUN_FIELDS}\n }\n }\n`;\n\nexport const CREATE_EVAL_RUN = gql`\n mutation CreateEvalRun($data: eval_runInput!) {\n eval_runsCreateOne(input: $data) {\n item {\n ${EVAL_RUN_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_QUEUE = gql`\n query GetQueue($queue: QueueEnum!) {\n queue(queue: $queue) {\n name\n concurrency\n ratelimit\n isMaxed\n isPaused\n jobs {\n paused\n completed\n failed\n waiting\n active\n delayed\n }\n }\n }\n`;\n\nexport const GET_JOBS = gql`\n query GetJobs($queue: QueueEnum!, $statusses: [JobStateEnum!], $page: Int, $limit: Int) {\n jobs(queue: $queue, statusses: $statusses, page: $page, limit: $limit) {\n items {\n name\n id\n returnvalue\n stacktrace\n failedReason\n state\n data\n timestamp\n }\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n }\n }\n`;\n\nexport const DELETE_JOB = gql`\n mutation DeleteJob($queue: QueueEnum!, $id: String!) {\n deleteJob(queue: $queue, id: $id) {\n success\n }\n }\n`;\n\nexport const PAUSE_QUEUE = gql`\n mutation PauseQueue($queue: QueueEnum!) {\n pauseQueue(queue: $queue) {\n success\n }\n }\n`;\n\nexport const RESUME_QUEUE = gql`\n mutation ResumeQueue($queue: QueueEnum!) {\n resumeQueue(queue: $queue) {\n success\n }\n }\n`;\n\nexport const DRAIN_QUEUE = gql`\n mutation DrainQueue($queue: QueueEnum!) {\n drainQueue(queue: $queue) {\n success\n }\n }\n`;\n\nexport const RUN_EVAL = gql`\n mutation RunEval($id: ID!) {\n runEval(id: $id) {\n jobs\n count\n }\n }\n`;\n\nexport const UPDATE_EVAL_RUN = gql`\n mutation UpdateEvalRun($id: ID!, $data: eval_runInput!) {\n eval_runsUpdateOneById(id: $id, input: $data) {\n item {\n ${EVAL_RUN_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_EVAL_RUN = gql`\n mutation DeleteEvalRun($id: ID!) {\n eval_runsRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nconst PLATFORM_CONFIGURATION_FIELDS = `\n id\n config_key\n config_value\n description\n createdAt\n updatedAt\n`;\n\nexport const GET_PLATFORM_CONFIGURATIONS = gql`\n query GetPlatformConfigurations {\n platform_configurationsPagination {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_PLATFORM_CONFIGURATION_BY_KEY = gql`\n query GetPlatformConfigurationByKey($config_key: FilterOperatorString!) {\n platform_configurationsPagination(page: 1, limit: 1, filters: { config_key: $config_key }) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const CREATE_PLATFORM_CONFIGURATION = gql`\n mutation CreatePlatformConfiguration($data: platform_configurationInput!) {\n platform_configurationsCreateOne(input: $data) {\n item {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_PLATFORM_CONFIGURATION = gql`\n mutation UpdatePlatformConfiguration($id: ID!, $data: platform_configurationInput!) {\n platform_configurationsUpdateOneById(id: $id, input: $data) {\n item {\n ${PLATFORM_CONFIGURATION_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_PLATFORM_CONFIGURATION = gql`\n mutation DeletePlatformConfiguration($id: ID!) {\n platform_configurationsRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\n// ============================================\n// PROMPT LIBRARY QUERIES AND MUTATIONS\n// ============================================\n\nconst PROMPT_LIBRARY_FIELDS = `\n id\n name\n description\n content\n tags\n usage_count\n favorite_count\n assigned_agents\n rights_mode\n created_by\n createdAt\n updatedAt\n RBAC {\n type\n users {\n id\n rights\n }\n roles {\n id\n rights\n }\n }\n`;\n\nexport const GET_PROMPTS = gql`\n query GetPrompts(\n $page: Int!\n $limit: Int!\n $filters: [FilterPrompt_library_item]\n $sort: SortBy = { field: \"updatedAt\", direction: DESC }\n ) {\n prompt_libraryPagination(\n page: $page\n limit: $limit\n sort: $sort\n filters: $filters\n ) {\n pageInfo {\n pageCount\n itemCount\n currentPage\n hasPreviousPage\n hasNextPage\n }\n items {\n ${PROMPT_LIBRARY_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_PROMPT_BY_ID = gql`\n query GetPromptById($id: ID!) {\n prompt_library_itemById(id: $id) {\n ${PROMPT_LIBRARY_FIELDS}\n }\n }\n`;\n\nexport const CREATE_PROMPT = gql`\n mutation CreatePrompt(\n $name: String!\n $description: String\n $content: String!\n $tags: JSON\n $rights_mode: String!\n $RBAC: RBACInput\n $assigned_agents: JSON\n ) {\n prompt_libraryCreateOne(\n input: {\n name: $name\n description: $description\n content: $content\n tags: $tags\n rights_mode: $rights_mode\n RBAC: $RBAC\n assigned_agents: $assigned_agents\n }\n ) {\n item {\n ${PROMPT_LIBRARY_FIELDS}\n }\n }\n }\n`;\n\nexport const UPDATE_PROMPT = gql`\n mutation UpdatePrompt(\n $id: ID!\n $name: String\n $description: String\n $content: String\n $tags: JSON\n $rights_mode: String\n $RBAC: RBACInput\n $assigned_agents: JSON\n ) {\n prompt_libraryUpdateOneById(\n id: $id\n input: {\n name: $name\n description: $description\n content: $content\n tags: $tags\n rights_mode: $rights_mode\n RBAC: $RBAC\n assigned_agents: $assigned_agents\n }\n ) {\n item {\n ${PROMPT_LIBRARY_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_PROMPT = gql`\n mutation DeletePrompt($id: ID!) {\n prompt_libraryRemoveOneById(id: $id) {\n id\n }\n }\n`;\n\nexport const INCREMENT_PROMPT_USAGE = gql`\n mutation IncrementPromptUsage($id: ID!, $usage_count: Float!) {\n prompt_libraryUpdateOneById(\n id: $id\n input: { usage_count: $usage_count }\n ) {\n item {\n id\n usage_count\n }\n }\n }\n`;\n\nexport const INCREMENT_PROMPT_FAVORITES = gql`\n mutation IncrementPromptFavorites($id: ID!, $favorite_count: Float!) {\n prompt_libraryUpdateOneById(\n id: $id\n input: { favorite_count: $favorite_count }\n ) {\n item {\n id\n favorite_count\n }\n }\n }\n`;\n\n// Prompt Favorites\nconst PROMPT_FAVORITE_FIELDS = `\n id\n user_id\n prompt_id\n createdAt\n`;\n\nexport const GET_USER_PROMPT_FAVORITES = gql`\n query GetUserPromptFavorites($user_id: Float!) {\n prompt_favoritesPagination(\n filters: [{ user_id: { eq: $user_id } }]\n ) {\n items {\n ${PROMPT_FAVORITE_FIELDS}\n }\n }\n }\n`;\n\nexport const CREATE_PROMPT_FAVORITE = gql`\n mutation CreatePromptFavorite($user_id: Float!, $prompt_id: String!) {\n prompt_favoritesCreateOne(\n input: { user_id: $user_id, prompt_id: $prompt_id }\n ) {\n item {\n ${PROMPT_FAVORITE_FIELDS}\n }\n }\n }\n`;\n\nexport const DELETE_PROMPT_FAVORITE = gql`\n mutation DeletePromptFavorite($id: ID!) {\n prompt_favoritesRemoveOneById(id: $id) {\n id\n }\n }\n`;"],"names":["buttonVariants","cva","variants","variant","default","destructive","outline","secondary","ghost","link","size","sm","lg","icon","defaultVariants","Button","React","param","ref","className","asChild","props","Comp","Slot","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","cn","displayName","_len","arguments","length","inputs","_key","twMerge","clsx","formatDuration","seconds","hours","Math","floor","minutes","remainingSeconds","round","concat","PAGINATION_POSTFIX","CREATE_ONE_POSTFIX","CONTEXT_FIELDS","ITEM_FIELDS","fields","join","USER_FIELDS","AGENT_FIELDS","GET_AGENTS","gql","GET_AGENT_SESSIONS","GET_CONTEXTS","GET_CONTEXT_BY_ID","GET_ITEMS","context","upperCaseContext","charAt","toUpperCase","slice","PROCESS_ITEM_FIELD","GET_ITEM_BY_ID","chunks","CREATE_ITEM","DELETE_CHUNKS","GENERATE_CHUNKS","EXECUTE_SOURCE","UPDATE_ITEM","DELETE_ITEM","UPDATE_AGENT_SESSION_RBAC","UPDATE_AGENT_SESSION_PROJECT","UPDATE_AGENT_SESSION_TITLE","GET_AGENT_MESSAGES","GET_JOB_RESULTS","GET_USER_ROLES","GET_USERS","GET_AGENT_BY_ID","GET_AGENTS_BY_IDS","GET_AGENT_SESSION_BY_ID","UPDATE_USER_BY_ID","CREATE_API_USER","UPDATE_USER_ROLE_BY_ID","CREATE_AGENT_SESSION","CREATE_AGENT","GET_TOOLS","GET_TOOL_CATEGORIES","UPDATE_AGENT_BY_ID","CREATE_USER_ROLE","CREATE_USER","RESET_USER_PASSWORD","GET_PROVIDERS","REMOVE_USER_BY_ID","REMOVE_USER_ROLE_BY_ID","REMOVE_AGENT_BY_ID","REMOVE_AGENT_SESSION_BY_ID","GET_VARIABLES","GET_VARIABLE_BY_ID","CREATE_VARIABLE","CREATE_EMBEDDER_CONFIG","GET_EMBEDDER_CONFIGS","UPDATE_EMBEDDER_CONFIG","UPDATE_VARIABLE","REMOVE_VARIABLE_BY_ID","GET_USER_BY_ID","GET_USERS_BY_IDS","GET_WORKFLOW_TEMPLATES","CREATE_WORKFLOW_TEMPLATE","UPDATE_WORKFLOW_TEMPLATE","REMOVE_WORKFLOW_TEMPLATE_BY_ID","GET_JOB_STATISTICS_ENHANCED","GET_AGENT_SESSIONS_STATISTICS","GET_WORKFLOW_RUNS_STATISTICS","GET_FUNCTION_CALLS_STATISTICS","GET_AGENT_RUN_STATISTICS","GET_TOKEN_USAGE_STATISTICS","GET_TIME_SERIES_STATISTICS","GET_USER_STATISTICS","GET_PROJECT_STATISTICS","GET_AGENT_STATISTICS","GET_DONUT_STATISTICS","PROJECT_FIELDS","GET_PROJECTS","GET_PROJECTS_BY_IDS","GET_PROJECT_BY_ID","UPDATE_USER_FAVOURITE_PROJECTS","CREATE_PROJECT","UPDATE_PROJECT","DELETE_PROJECT","TEST_CASE_FIELDS","EVAL_SET_FIELDS","EVAL_RUN_FIELDS","GET_TEST_CASES","CREATE_TEST_CASE","UPDATE_TEST_CASE","DELETE_TEST_CASE","GET_EVAL_SETS","GET_EVAL_FUNCTIONS","GET_EVAL_SET_BY_ID","CREATE_EVAL_SET","UPDATE_EVAL_SET","DELETE_EVAL_SET","GET_EVAL_RUNS","CREATE_EVAL_RUN","GET_QUEUE","GET_JOBS","DELETE_JOB","PAUSE_QUEUE","RESUME_QUEUE","DRAIN_QUEUE","RUN_EVAL","UPDATE_EVAL_RUN","PLATFORM_CONFIGURATION_FIELDS","GET_PLATFORM_CONFIGURATIONS","CREATE_PLATFORM_CONFIGURATION","UPDATE_PLATFORM_CONFIGURATION","PROMPT_LIBRARY_FIELDS","GET_PROMPTS","GET_PROMPT_BY_ID","CREATE_PROMPT","UPDATE_PROMPT","DELETE_PROMPT","INCREMENT_PROMPT_USAGE","INCREMENT_PROMPT_FAVORITES","PROMPT_FAVORITE_FIELDS","CREATE_PROMPT_FAVORITE","DELETE_PROMPT_FAVORITE"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8030],{8014:function(e,s,t){t.d(s,{P:function(){return z}});var a=t(57437),r=t(27689),l=t(2265),n=t(63251),i=t(7211),d=t(53647),o=t(66337),c=t(95805),m=t(98728),u=t(29202),f=t(24156),x=t(30401),p=t(15863),h=t(18930),g=t(95186),N=t(26110),j=t(19378),v=t(94508),y=t(57054),b=t(23518),w=t(62869),k=t(26815);let R=[{value:"private",label:"Private",description:"Only you can see this agent",icon:o.Z},{value:"users",label:"Shared with Users",description:"Share with specific users",icon:c.Z},{value:"roles",label:"Shared with Roles",description:"Share with specific roles",icon:m.Z},{value:"public",label:"Public",description:"Anyone can see this agent",icon:u.Z}];function z(e){var s,t;let{allowedModes:o,initialRightsMode:c,modalMode:m=!1,initialUsers:u,initialRoles:z,onChange:C}=e,[S,Z]=(0,l.useState)(c),[_,Y]=(0,l.useState)(u||[]),[V,P]=(0,l.useState)(z||[]),[B,O]=(0,l.useState)([]),[Q,E]=(0,l.useState)(!1),[I,L]=(0,l.useState)([]),[U,q]=(0,l.useState)(""),[D,A]=(0,l.useState)(!1),[F,G]=(0,l.useState)(!1),W=(0,n.x)(),{data:$,loading:J,refetch:T}=(0,i.aM)(r.fo,{variables:{page:1,limit:5,filters:I},skip:"users"!==S||!U}),H=(0,i.aM)(r.l1,{fetchPolicy:"cache-first",nextFetchPolicy:"network-only",variables:{page:1,limit:30,filters:[{type:{ne:"api"}}]}}),K=(0,l.useCallback)(e=>{q(e);let s=[...I,{type:{ne:"api"}}],t=s.find(e=>e.email);(null==t?void 0:t.email)?t.email.contains=e:s.push({email:{contains:e}}),L(s),T()},[I,T]),M=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5;if(G(!0),!_||0===_.length){O([]),G(!1);return}let s=null==_?void 0:_.slice(0,e).map(async e=>{let{id:s,rights:t}=e;return{...(await W.query({query:r.L5,variables:{id:s}})).data.userById,rights:t}});O(await Promise.all(s)),G(!1)};(0,l.useEffect)(()=>{M(5)},[]),(0,l.useEffect)(()=>{console.log("selectedUsers",_),console.log("hydratedUsers",B),C(S,_,V)},[S,_,V]);let X=null==B?void 0:B.slice(0,5).filter(e=>!!(null==e?void 0:e.id)),ee=R;return(null==o?void 0:o.length)&&(ee=R.filter(e=>o.includes(e.value))),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(k._,{className:"text-sm font-medium",children:"Visibility & sharing"}),(0,a.jsxs)(y.J2,{modal:m||!1,open:Q,onOpenChange:E,children:[(0,a.jsx)(y.xo,{asChild:!0,children:(0,a.jsxs)(w.z,{variant:"outline",role:"combobox","aria-expanded":Q,className:"w-full justify-between text-sm capitalize",children:[(null===(s=ee.find(e=>e.value===S))||void 0===s?void 0:s.label)||"Select visibility...",(0,a.jsx)(f.Z,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(y.yk,{className:"w-full p-0",children:(0,a.jsxs)(b.mY,{children:[(0,a.jsx)(b.sZ,{placeholder:"Search options..."}),(0,a.jsxs)(b.e8,{children:[(0,a.jsx)(b.rb,{children:"No options found."}),(0,a.jsx)(b.fu,{children:ee.map(e=>(0,a.jsxs)(b.di,{onSelect:()=>{"users"!==e.value&&Y([]),"roles"!==e.value&&P([]),Z(e.value),E(!1)},children:[(0,a.jsx)(x.Z,{className:(0,v.cn)("mr-2 h-4 w-4",S===e.value?"opacity-100":"opacity-0")}),(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:e.description})]})]},e.value))})]})]})})]})]}),"users"===S&&(0,a.jsx)("div",{className:"space-y-3 pt-3",children:(0,a.jsxs)("div",{children:[(0,a.jsx)(k._,{className:"text-sm font-medium",children:"Share with users"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(g.I,{placeholder:"Search users by email...",value:U,onChange:e=>K(e.target.value),className:"text-sm"})}),J&&(0,a.jsxs)("div",{className:"mt-2 flex items-center justify-center py-4",children:[(0,a.jsx)(p.Z,{className:"h-4 w-4 animate-spin mr-2"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading users..."})]}),!J&&$&&(null===(t=$.usersPagination)||void 0===t?void 0:t.items.length)>0&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Search Results:"}),(0,a.jsx)("div",{className:"max-h-50 overflow-y-auto border rounded-lg",children:$.usersPagination.items.filter(e=>!_.some(s=>s.id===e.id)).map(e=>(0,a.jsxs)("label",{className:"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer",children:[(0,a.jsx)("input",{type:"checkbox",checked:_.some(s=>s.id===e.id),onChange:s=>{Y(s=>[...s,{id:e.id,rights:"read"}]),O(s=>[...s,{...e,rights:"read"}])}}),(0,a.jsx)("span",{className:"text-sm",children:e.email})]},e.id))}),(0,a.jsxs)("div",{className:"text-xs text-muted-foreground mt-2",children:[(0,a.jsx)("span",{className:"font-medium",children:"Note:"})," Only the first 5 users are shown, use the Search bar to find more users."]})]}),!J&&U&&$&&0===$.usersPagination.items.length&&(0,a.jsx)("div",{className:"mt-2 text-center py-4",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No users found"})}),(null==X?void 0:X.length)>0?(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected Users:"}),(0,a.jsxs)("div",{className:"space-y-1",children:[X.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2 border p-2 rounded-lg text-sm",children:[(0,a.jsx)("span",{className:"flex-1 pl-2",children:e.email}),(0,a.jsxs)(d.Ph,{value:e.rights,onValueChange:s=>{Y(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t)),O(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t))},children:[(0,a.jsx)(d.i4,{className:"h-6 w-20 text-xs",children:(0,a.jsx)(d.ki,{})}),(0,a.jsxs)(d.Bw,{children:[(0,a.jsx)(d.Ql,{value:"read",children:"Read"}),(0,a.jsx)(d.Ql,{value:"write",children:"Write"})]})]}),(0,a.jsx)(w.z,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0 hover:bg-blue-100",onClick:()=>{Y(s=>s.filter(s=>s.id!==e.id)),O(s=>s.filter(s=>s.id!==e.id))},children:(0,a.jsx)(h.Z,{className:"w-3 h-3"})})]},e.id)),_&&_.length>5&&(0,a.jsxs)(w.z,{variant:"link",type:"button",className:"h-auto p-0 text-blue-600 hover:text-blue-800 text-xs",onClick:()=>{M(50),A(!0)},children:["+ ",_.length-5," more users"]})]})]}):(0,a.jsx)("div",{className:"mt-2 text-center py-4",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No users selected."})})]})}),"roles"===S&&(0,a.jsx)("div",{className:"space-y-3",children:(0,a.jsxs)("div",{children:[(0,a.jsxs)(k._,{className:"text-sm font-medium",children:["Share with roles (",(null==V?void 0:V.length)||0,")"]}),(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Available Roles"}),H.loading&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-4 border rounded-lg",children:[(0,a.jsx)(p.Z,{className:"h-4 w-4 animate-spin mr-2"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading roles..."})]}),!H.loading&&H.data&&(0,a.jsx)("div",{className:"max-h-24 overflow-y-auto border rounded-lg",children:H.data.rolesPagination.items.map(e=>(0,a.jsxs)("label",{className:"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer",children:[(0,a.jsx)("input",{type:"checkbox",checked:V.some(s=>s.id===e.id),onChange:s=>{s.target.checked?P(s=>[...s,{id:e.id,rights:"read"}]):P(s=>s.filter(s=>s.id!==e.id))}}),(0,a.jsx)("span",{className:"text-sm capitalize",children:e.name})]},e.id))})]}),V.length>0&&H.data&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected Roles:"}),(0,a.jsx)("div",{className:"space-y-1",children:V.map(e=>{let s=H.data.rolesPagination.items.find(s=>s.id===e.id);return(0,a.jsxs)("div",{className:"flex items-center gap-2 border p-2 rounded-lg text-sm",children:[(0,a.jsx)("span",{className:"flex-1 pl-2 capitalize",children:null==s?void 0:s.name}),(0,a.jsxs)(d.Ph,{value:e.rights,onValueChange:s=>{P(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t))},children:[(0,a.jsx)(d.i4,{className:"h-6 text-xs w-20 border-none",children:(0,a.jsx)(d.ki,{})}),(0,a.jsxs)(d.Bw,{children:[(0,a.jsx)(d.Ql,{value:"read",children:(0,a.jsx)("span",{className:"pr-7",children:"Read"})}),(0,a.jsx)(d.Ql,{value:"write",children:(0,a.jsx)("span",{className:"pr-7",children:"Write"})})]})]}),(0,a.jsx)(w.z,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0 hover:bg-blue-100",onClick:()=>{P(s=>s.filter(s=>s.id!==e.id))},children:(0,a.jsx)(h.Z,{className:"w-3 h-3"})})]},e.id)})})]})]})}),(0,a.jsx)(N.Vq,{open:D,onOpenChange:A,children:(0,a.jsxs)(N.cZ,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col",children:[(0,a.jsxs)(N.fK,{children:[(0,a.jsxs)(N.$N,{children:["All Selected Users (",(null==_?void 0:_.length)||0,")"]}),(0,a.jsx)(N.Be,{children:"View and manage all selected users and their permissions"})]}),(0,a.jsxs)(j.x,{className:"flex-1 pr-4",children:[F&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,a.jsx)(p.Z,{className:"h-6 w-6 animate-spin mr-2"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading users..."})]}),!F&&B.length>0&&(0,a.jsx)("div",{className:"space-y-2",children:B.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-3 border p-3 rounded-lg",children:[(0,a.jsx)("span",{className:"flex-1",children:e.email}),(0,a.jsxs)(d.Ph,{value:e.rights,onValueChange:s=>{Y(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t)),O(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t))},children:[(0,a.jsx)(d.i4,{className:"w-24",children:(0,a.jsx)(d.ki,{})}),(0,a.jsxs)(d.Bw,{children:[(0,a.jsx)(d.Ql,{value:"read",children:"Read"}),(0,a.jsx)(d.Ql,{value:"write",children:"Write"})]})]}),(0,a.jsx)(w.z,{size:"sm",variant:"ghost",className:"h-8 w-8 p-0 hover:bg-destructive/10",onClick:()=>{Y(s=>s.filter(s=>s.id!==e.id)),O(s=>s.filter(s=>s.id!==e.id))},children:(0,a.jsx)(h.Z,{className:"w-4 h-4"})})]},e.id))}),!F&&0===B.length&&(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No users selected"})})]})]})})]})}},35974:function(e,s,t){t.d(s,{C:function(){return i}});var a=t(57437),r=t(90535);t(2265);var l=t(94508);let n=(0,r.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 i(e){let{className:s,variant:t,...r}=e;return(0,a.jsx)("div",{className:(0,l.cn)(n({variant:t}),s),...r})}},66070:function(e,s,t){t.d(s,{Ol:function(){return i},SZ:function(){return o},Zb:function(){return n},aY:function(){return c},eW:function(){return m},ll:function(){return d}});var a=t(57437),r=t(2265),l=t(94508);let n=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",t),...r})});n.displayName="Card";let i=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",t),...r})});i.displayName="CardHeader";let d=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("h3",{ref:s,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",t),...r})});d.displayName="CardTitle";let o=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("p",{ref:s,className:(0,l.cn)("text-sm text-muted-foreground",t),...r})});o.displayName="CardDescription";let c=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("p-6 pt-0",t),...r})});c.displayName="CardContent";let m=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("flex items-center p-6 pt-0",t),...r})});m.displayName="CardFooter"},23518:function(e,s,t){t.d(s,{di:function(){return f},e8:function(){return c},fu:function(){return u},mY:function(){return d},rb:function(){return m},sZ:function(){return o}});var a=t(57437),r=t(83918),l=t(73247),n=t(2265);t(26110);var i=t(94508);let d=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY,{ref:s,className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...l})});d.displayName=r.mY.displayName;let o=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,a.jsx)(l.Z,{className:"mr-2 size-4 shrink-0 opacity-50"}),(0,a.jsx)(r.mY.Input,{ref:s,className:(0,i.cn)("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",t),...n})]})});o.displayName=r.mY.Input.displayName;let c=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.List,{ref:s,className:(0,i.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...l})});c.displayName=r.mY.List.displayName;let m=n.forwardRef((e,s)=>(0,a.jsx)(r.mY.Empty,{ref:s,className:"py-6 text-center text-sm",...e}));m.displayName=r.mY.Empty.displayName;let u=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.Group,{ref:s,className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",t),...l})});u.displayName=r.mY.Group.displayName,n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.Separator,{ref:s,className:(0,i.cn)("-mx-1 h-px bg-border",t),...l})}).displayName=r.mY.Separator.displayName;let f=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.Item,{ref:s,className:(0,i.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...l})});f.displayName=r.mY.Item.displayName},26110:function(e,s,t){t.d(s,{$N:function(){return p},Be:function(){return h},Vq:function(){return d},cN:function(){return x},cZ:function(){return u},fK:function(){return f},hg:function(){return o}});var a=t(57437),r=t(34567),l=t(32489),n=t(2265),i=t(94508);let d=r.fC,o=r.xz,c=r.h_;r.x8;let m=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.aV,{ref:s,className:(0,i.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...l})});m.displayName=r.aV.displayName;let u=n.forwardRef((e,s)=>{let{className:t,children:n,...d}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(m,{}),(0,a.jsxs)(r.VY,{ref:s,className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...d,children:[n,(0,a.jsxs)(r.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,a.jsx)(l.Z,{className:"size-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});u.displayName=r.VY.displayName;let f=e=>{let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",s),...t})};f.displayName="DialogHeader";let x=e=>{let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t})};x.displayName="DialogFooter";let p=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.Dx,{ref:s,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",t),...l})});p.displayName=r.Dx.displayName;let h=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.dk,{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",t),...l})});h.displayName=r.dk.displayName},26815:function(e,s,t){t.d(s,{_:function(){return o}});var a=t(57437),r=t(6394),l=t(90535),n=t(2265),i=t(94508);let d=(0,l.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),o=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.f,{ref:s,className:(0,i.cn)(d(),t),...l})});o.displayName=r.f.displayName},57054:function(e,s,t){t.d(s,{J2:function(){return i},xo:function(){return d},yk:function(){return o}});var a=t(57437),r=t(27312),l=t(2265),n=t(94508);let i=r.fC,d=r.xz,o=l.forwardRef((e,s)=>{let{className:t,align:l="center",sideOffset:i=4,...d}=e;return(0,a.jsx)(r.h_,{children:(0,a.jsx)(r.VY,{ref:s,align:l,sideOffset:i,className:(0,n.cn)("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",t),...d})})});o.displayName=r.VY.displayName},19378:function(e,s,t){t.d(s,{B:function(){return d},x:function(){return i}});var a=t(57437),r=t(14488),l=t(2265),n=t(94508);let i=l.forwardRef((e,s)=>{let{className:t,children:l,...i}=e;return(0,a.jsxs)(r.fC,{ref:s,className:(0,n.cn)("relative overflow-hidden",t),...i,children:[(0,a.jsx)(r.l_,{className:"size-full rounded-[inherit]",children:l}),(0,a.jsx)(d,{}),(0,a.jsx)(r.Ns,{})]})});i.displayName=r.fC.displayName;let d=l.forwardRef((e,s)=>{let{className:t,orientation:l="vertical",...i}=e;return(0,a.jsx)(r.gb,{ref:s,orientation:l,className:(0,n.cn)("flex touch-none select-none transition-colors","vertical"===l&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===l&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...i,children:(0,a.jsx)(r.q4,{className:"relative flex-1 rounded-full bg-border"})})});d.displayName=r.gb.displayName},53647:function(e,s,t){t.d(s,{Bw:function(){return p},Ph:function(){return c},Ql:function(){return h},i4:function(){return u},ki:function(){return m}});var a=t(57437),r=t(46943),l=t(40875),n=t(22135),i=t(30401),d=t(2265),o=t(94508);let c=r.fC;r.ZA;let m=r.B4,u=d.forwardRef((e,s)=>{let{className:t,children:n,...i}=e;return(0,a.jsxs)(r.xz,{ref:s,className:(0,o.cn)("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...i,children:[n,(0,a.jsx)(r.JO,{asChild:!0,children:(0,a.jsx)(l.Z,{className:"size-4 opacity-50"})})]})});u.displayName=r.xz.displayName;let f=d.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.u_,{ref:s,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...l,children:(0,a.jsx)(n.Z,{className:"size-4"})})});f.displayName=r.u_.displayName;let x=d.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(r.$G,{ref:s,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(l.Z,{className:"size-4"})})});x.displayName=r.$G.displayName;let p=d.forwardRef((e,s)=>{let{className:t,children:l,position:n="popper",...i}=e;return(0,a.jsx)(r.h_,{children:(0,a.jsxs)(r.VY,{ref:s,className:(0,o.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,...i,children:[(0,a.jsx)(f,{}),(0,a.jsx)(r.l_,{className:(0,o.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:l}),(0,a.jsx)(x,{})]})})});p.displayName=r.VY.displayName,d.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.__,{ref:s,className:(0,o.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...l})}).displayName=r.__.displayName;let h=d.forwardRef((e,s)=>{let{className:t,children:l,...n}=e;return(0,a.jsxs)(r.ck,{ref:s,className:(0,o.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...n,children:[(0,a.jsx)("span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(r.wU,{children:(0,a.jsx)(i.Z,{className:"size-4"})})}),(0,a.jsx)(r.eT,{children:l})]})});h.displayName=r.ck.displayName,d.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.Z0,{ref:s,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",t),...l})}).displayName=r.Z0.displayName},76818:function(e,s,t){t.d(s,{g:function(){return n}});var a=t(57437),r=t(2265),l=t(94508);let n=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("textarea",{className:(0,l.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t),ref:s,...r})});n.displayName="Textarea"}}]);
|
|
2
|
+
//# sourceMappingURL=8030-9c926ea4dfd3a54e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static/chunks/8030-9c926ea4dfd3a54e.js","mappings":"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","sources":["webpack://_N_E/./components/rbac.tsx","webpack://_N_E/./components/ui/badge.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/command.tsx","webpack://_N_E/./components/ui/dialog.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/popover.tsx","webpack://_N_E/./components/ui/scroll-area.tsx","webpack://_N_E/./components/ui/select.tsx","webpack://_N_E/./components/ui/textarea.tsx"],"sourcesContent":["\nimport {\n GET_USER_ROLES,\n GET_USERS,\n GET_USER_BY_ID\n} from \"@/queries/queries\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { useApolloClient, useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { User } from \"@/types/models/user\";\nimport { Check, ChevronsUpDown, Users, Lock, Globe, Settings, Trash2, Loader2, Folder } from \"lucide-react\";\nimport { Input } from \"@/components/ui/input\";\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport { Button } from \"@/components/ui/button\";\nimport { Label } from \"./ui/label\";\n\nconst VISIBILITY_OPTIONS = [\n { value: 'private', label: 'Private', description: 'Only you can see this agent', icon: Lock },\n { value: 'users', label: 'Shared with Users', description: 'Share with specific users', icon: Users },\n { value: 'roles', label: 'Shared with Roles', description: 'Share with specific roles', icon: Settings },\n { value: 'public', label: 'Public', description: 'Anyone can see this agent', icon: Globe },\n /* { value: 'projects', label: 'Projects', description: 'Share with specific projects', icon: Folder } */\n]\n\ntype Modes = 'private' | 'users' | 'roles' | 'public' /* | 'projects' */\n\nexport function RBACControl({\n allowedModes,\n initialRightsMode,\n modalMode = false,\n initialUsers,\n initialRoles,\n // initialProjects,\n onChange\n}: {\n allowedModes?: Modes[],\n modalMode?: boolean,\n initialRightsMode: 'private' | 'users' | 'roles' | 'public' /* | 'projects' */ | undefined,\n initialUsers: { id: number, rights: 'read' | 'write' }[] | undefined,\n initialRoles: { id: string, rights: 'read' | 'write' }[] | undefined,\n // initialProjects: { id: string, rights: 'read' | 'write' }[] | undefined,\n onChange: (rights_mode: Modes, users: { id: number, rights: 'read' | 'write' }[], roles: { id: string, rights: 'read' | 'write' }[]/* , projects: { id: string, rights: 'read' | 'write' }[] */) => void\n}) {\n const [visibility, setVisibility] = useState<Modes | undefined>(initialRightsMode)\n const [selectedUsers, setSelectedUsers] = useState<{ id: number, rights: 'read' | 'write' }[]>(initialUsers || [])\n const [selectedRoles, setSelectedRoles] = useState<{ id: string, rights: 'read' | 'write' }[]>(initialRoles || [])\n const [hydratedUsers, setHydratedUsers] = useState<User[]>([])\n const [visibilitySelectorOpen, setVisibilitySelectorOpen] = useState(false)\n const [userFilters, setUserFilters] = useState<any[]>([])\n const [userSearchValue, setUserSearchValue] = useState('')\n const [modalOpen, setModalOpen] = useState(false)\n const [modalLoading, setModalLoading] = useState(false)\n const client = useApolloClient()\n\n // GraphQL queries for RBAC\n const { data: usersData, loading: usersLoading, refetch: refetchUsers } = useQuery(GET_USERS, {\n variables: { page: 1, limit: 5, filters: userFilters },\n skip: visibility !== 'users' || !userSearchValue\n })\n\n const roles = useQuery(GET_USER_ROLES, {\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: 1,\n limit: 30,\n filters: [\n {\n type: {\n ne: \"api\"\n }\n }\n ]\n },\n });\n\n\n // User search function\n const searchUsers = useCallback((value: string) => {\n setUserSearchValue(value)\n const copy = [...userFilters, {\n type: {\n ne: \"api\"\n }\n }]\n const exists = copy.find((filter) => filter.email)\n if (exists?.email) {\n exists.email.contains = value\n } else {\n copy.push({\n email: {\n contains: value,\n },\n })\n }\n setUserFilters(copy)\n refetchUsers()\n }, [userFilters, refetchUsers])\n\n const hydrateUsers = async (max: number = 5) => {\n setModalLoading(true)\n if (!selectedUsers || selectedUsers.length === 0) {\n setHydratedUsers([])\n setModalLoading(false)\n return\n }\n\n const promises = selectedUsers?.slice(0, max).map(async ({ id, rights }) => {\n const user = await client.query({\n query: GET_USER_BY_ID,\n variables: {\n id\n }\n })\n return {\n ...user.data.userById,\n rights\n };\n })\n const results = await Promise.all(promises)\n setHydratedUsers(results)\n setModalLoading(false)\n }\n\n useEffect(() => {\n hydrateUsers(5)\n }, [])\n\n useEffect(() => {\n console.log(\"selectedUsers\", selectedUsers)\n console.log(\"hydratedUsers\", hydratedUsers)\n onChange(visibility as 'private' | 'users' | 'roles' | 'public', selectedUsers, selectedRoles)\n }, [visibility, selectedUsers, selectedRoles])\n\n const filteredUsers = hydratedUsers?.slice(0, 5).filter(user => !!user?.id)\n\n let visibilityOptions = VISIBILITY_OPTIONS\n if (allowedModes?.length) {\n visibilityOptions = VISIBILITY_OPTIONS.filter(option => allowedModes.includes(option.value as Modes))\n }\n\n return (\n <>\n <div className=\"space-y-2\">\n <Label className=\"text-sm font-medium\">Visibility & sharing</Label>\n <Popover modal={modalMode || false} open={visibilitySelectorOpen} onOpenChange={setVisibilitySelectorOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={visibilitySelectorOpen}\n className=\"w-full justify-between text-sm capitalize\"\n >\n {visibilityOptions.find(option => option.value === visibility)?.label || \"Select visibility...\"}\n <ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\">\n <Command>\n <CommandInput placeholder=\"Search options...\" />\n <CommandList>\n <CommandEmpty>No options found.</CommandEmpty>\n <CommandGroup>\n {visibilityOptions.map((option: any) => (\n <CommandItem\n key={option.value}\n onSelect={() => {\n if (option.value !== \"users\") {\n setSelectedUsers([])\n }\n if (option.value !== \"roles\") {\n setSelectedRoles([])\n }\n setVisibility(option.value)\n setVisibilitySelectorOpen(false)\n }}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n visibility === option.value ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n <div className=\"flex flex-col\">\n <span>{option.label}</span>\n <span className=\"text-xs text-muted-foreground\">{option.description}</span>\n </div>\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n\n {/* Users sharing section */}\n {visibility === 'users' && (\n <div className=\"space-y-3 pt-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with users</Label>\n {/* Search bar */}\n <div className=\"mt-2\">\n <Input\n placeholder=\"Search users by email...\"\n value={userSearchValue}\n onChange={(e) => searchUsers(e.target.value)}\n className=\"text-sm\"\n />\n </div>\n\n {/* Search results */}\n {usersLoading && (\n <div className=\"mt-2 flex items-center justify-center py-4\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n {!usersLoading && usersData && usersData.usersPagination?.items.length > 0 && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Search Results:</div>\n <div className=\"max-h-50 overflow-y-auto border rounded-lg\">\n {usersData.usersPagination.items.filter(user => !selectedUsers.some(selected => selected.id === user.id)).map((user: any) => (\n <label key={user.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedUsers.some(selected => selected.id === user.id)}\n onChange={(e) => {\n setSelectedUsers(prev => [...prev, { id: user.id, rights: 'read' }])\n setHydratedUsers(prev => [...prev, {\n ...user,\n rights: 'read'\n }])\n }}\n />\n <span className=\"text-sm\">{user.email}</span>\n </label>\n ))}\n </div>\n <div className=\"text-xs text-muted-foreground mt-2\">\n <span className=\"font-medium\">Note:</span> Only the first 5 users are shown, use the Search bar to find more users.\n </div>\n </div>\n )}\n {!usersLoading && userSearchValue && usersData && usersData.usersPagination.items.length === 0 && (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users found</span>\n </div>\n )}\n\n {/* Selected users list */}\n {filteredUsers?.length > 0 ? (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Users:</div>\n <div className=\"space-y-1\">\n {filteredUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 w-20 text-xs\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n ))}\n {selectedUsers && selectedUsers.length > 5 && (\n <Button\n variant=\"link\"\n type=\"button\"\n className=\"h-auto p-0 text-blue-600 hover:text-blue-800 text-xs\"\n onClick={() => {\n hydrateUsers(50)\n setModalOpen(true)\n }}\n >\n + {selectedUsers.length - 5} more users\n </Button>\n )}\n </div>\n </div>\n ) : (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users selected.</span>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Roles sharing section */}\n {visibility === 'roles' && (\n <div className=\"space-y-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with roles ({selectedRoles?.length || 0})</Label>\n\n {/* Available roles list */}\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Available Roles</div>\n {roles.loading && (\n <div className=\"flex items-center justify-center py-4 border rounded-lg\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading roles...</span>\n </div>\n )}\n {!roles.loading && roles.data && (\n <div className=\"max-h-24 overflow-y-auto border rounded-lg\">\n {roles.data.rolesPagination.items.map((role: any) => (\n <label key={role.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedRoles.some(selected => selected.id === role.id)}\n onChange={(e) => {\n if (e.target.checked) {\n setSelectedRoles(prev => [...prev, { id: role.id, rights: 'read' }])\n } else {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== role.id))\n }\n }}\n />\n <span className=\"text-sm capitalize\">{role.name}</span>\n </label>\n ))}\n </div>\n )}\n </div>\n\n {/* Selected roles list */}\n {selectedRoles.length > 0 && roles.data && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Roles:</div>\n <div className=\"space-y-1\">\n {selectedRoles.map((selectedRole: any) => {\n const role = roles.data.rolesPagination.items.find((r: any) => r.id === selectedRole.id)\n return (\n <div key={selectedRole.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2 capitalize\">{role?.name}</span>\n <Select\n value={selectedRole.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedRoles(prev =>\n prev.map(selected =>\n selected.id === selectedRole.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 text-xs w-20 border-none\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">\n <span className=\"pr-7\">Read</span>\n </SelectItem>\n <SelectItem value=\"write\">\n <span className=\"pr-7\">Write</span>\n </SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== selectedRole.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n )\n })}\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Modal for viewing all selected users */}\n <Dialog open={modalOpen} onOpenChange={setModalOpen} >\n <DialogContent className=\"sm:max-w-2xl max-h-[85vh] flex flex-col\">\n <DialogHeader>\n <DialogTitle>All Selected Users ({selectedUsers?.length || 0})</DialogTitle>\n <DialogDescription>\n View and manage all selected users and their permissions\n </DialogDescription>\n </DialogHeader>\n\n <ScrollArea className=\"flex-1 pr-4\">\n {modalLoading && (\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length > 0 && (\n <div className=\"space-y-2\">\n {hydratedUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-3 border p-3 rounded-lg\">\n <span className=\"flex-1\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n // Update selectedUsers state\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n // Update hydratedUsers state if this user is in the first 5\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"w-24\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-8 w-8 p-0 hover:bg-destructive/10\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-4 h-4\" />\n </Button>\n </div>\n ))}\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length === 0 && (\n <div className=\"text-center py-8\">\n <span className=\"text-sm text-muted-foreground\">No users selected</span>\n </div>\n )}\n </ScrollArea>\n </DialogContent>\n </Dialog >\n </>\n )\n}","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 { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Dialog, DialogContent } from \"@/components/ui/dialog\";\nimport { cn } from \"@/lib/utils\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","\"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","\"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","\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","\"use client\";\n\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"],"names":["VISIBILITY_OPTIONS","value","label","description","icon","Lock","Users","Settings","Globe","RBACControl","param","visibilityOptions","usersData","allowedModes","initialRightsMode","modalMode","initialUsers","initialRoles","onChange","visibility","setVisibility","useState","selectedUsers","setSelectedUsers","selectedRoles","setSelectedRoles","hydratedUsers","setHydratedUsers","visibilitySelectorOpen","setVisibilitySelectorOpen","userFilters","setUserFilters","userSearchValue","setUserSearchValue","modalOpen","setModalOpen","modalLoading","setModalLoading","client","useApolloClient","data","loading","usersLoading","refetch","refetchUsers","useQuery","GET_USERS","variables","page","limit","filters","skip","roles","GET_USER_ROLES","fetchPolicy","nextFetchPolicy","type","ne","searchUsers","useCallback","copy","exists","find","filter","email","contains","push","hydrateUsers","max","length","promises","slice","map","id","rights","user","query","GET_USER_BY_ID","userById","Promise","all","useEffect","console","log","filteredUsers","option","includes","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","Fragment","div","className","jsx","Label","Popover","modal","open","onOpenChange","PopoverTrigger","asChild","Button","variant","role","aria-expanded","ChevronsUpDown","PopoverContent","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","Check","cn","span","Input","e","target","Loader2","usersPagination","items","some","selected","input","checked","prev","Select","onValueChange","hydratedUser","SelectTrigger","SelectValue","SelectContent","SelectItem","size","onClick","Trash2","rolesPagination","name","r","selectedRole","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","ScrollArea","badgeVariants","cva","variants","default","secondary","destructive","outline","defaultVariants","Badge","props","Card","React","ref","displayName","CardHeader","CardTitle","h3","CardDescription","p","CardContent","CardFooter","CommandPrimitive","cmdk-input-wrapper","Search","List","Empty","Group","CommandSeparator","Separator","Item","DialogPrimitive","DialogTrigger","DialogPortal","DialogOverlay","children","X","DialogFooter","labelVariants","LabelPrimitive","PopoverPrimitive","align","sideOffset","ScrollAreaPrimitive","ScrollBar","orientation","SelectPrimitive","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","position","SelectLabel","SelectSeparator","Textarea","textarea"],"sourceRoot":""}
|