@lacneu/atrium 0.90.0 → 0.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/assets/AccessTab-CuteYrFI.js +1 -0
  2. package/dist/assets/{AdvancedFilter-CElVO-tV.js → AdvancedFilter-Cl3dN0Cw.js} +1 -1
  3. package/dist/assets/AgentFilesTab-CNcjp97h.js +3 -0
  4. package/dist/assets/AnomaliesTab-DS9aXP4r.js +1 -0
  5. package/dist/assets/AuditTab-uzM3zQUz.js +1 -0
  6. package/dist/assets/BridgeTab-DcYnj3ym.js +1 -0
  7. package/dist/assets/ChatDefaultsTab-Dhz6L-YO.js +1 -0
  8. package/dist/assets/{DataTableShell-8D6YsZBo.js → DataTableShell-BVsQymbm.js} +1 -1
  9. package/dist/assets/{DetailChips-CcoyXRh4.js → DetailChips-DUBteg4d.js} +1 -1
  10. package/dist/assets/FeedbacksTab-Dmxc4Zz2.js +1 -0
  11. package/dist/assets/FieldLabel-DZpFEnBR.js +1 -0
  12. package/dist/assets/FilesTab-Bjr8gzCL.js +1 -0
  13. package/dist/assets/{FilterBar-6mIwprKY.js → FilterBar-DCZ44bwb.js} +1 -1
  14. package/dist/assets/GroupsTab-p-5DtKBn.js +1 -0
  15. package/dist/assets/InstancesTab-Cc-leb5e.js +1 -0
  16. package/dist/assets/IntegrationsTab-DH09KFFH.js +1 -0
  17. package/dist/assets/KpiTab-BOkyyq6m.js +1 -0
  18. package/dist/assets/PreferencesTab-BQSMi_rD.js +1 -0
  19. package/dist/assets/ProjectPage-DF9M9TLb.js +1 -0
  20. package/dist/assets/PromptInjectionsTab-DvD6riV0.js +4 -0
  21. package/dist/assets/RolesTab-Xmag3NV8.js +1 -0
  22. package/dist/assets/ScheduledTab-CO7OQKNu.js +1 -0
  23. package/dist/assets/ServiceAccountsTab-BL3wKxUd.js +1 -0
  24. package/dist/assets/SubAgentReportsTab-B9RoYUua.js +1 -0
  25. package/dist/assets/ThemeShowroom-DIydN8pO.js +1 -0
  26. package/dist/assets/{TimeRangePicker-BIm9hRiV.js → TimeRangePicker-CwwVCrCQ.js} +1 -1
  27. package/dist/assets/{TimezoneCombobox-C8tkxJ_H.js → TimezoneCombobox-BjAmc3Wa.js} +1 -1
  28. package/dist/assets/TracesTab-BRilumz0.js +1 -0
  29. package/dist/assets/TrashPage-Czcs7Qpt.js +1 -0
  30. package/dist/assets/TrashTab-CK18lL1F.js +1 -0
  31. package/dist/assets/UsersTab-DoinSwYk.js +1 -0
  32. package/dist/assets/VoiceTab-CUDXOYcW.js +1 -0
  33. package/dist/assets/{api-DL5MhfCR.js → api-SPJl6tGH.js} +5 -5
  34. package/dist/assets/{button-7-8JjL3V.js → button-B9I_tCoR.js} +1 -1
  35. package/dist/assets/{card-B9HCdDy6.js → card-D68xlO9_.js} +1 -1
  36. package/dist/assets/chevrons-up-down-BeOvUMHJ.js +1 -0
  37. package/dist/assets/{compatView-BQHXVq4U.js → compatView-BC00J9O8.js} +1 -1
  38. package/dist/assets/dispatchErrorInfo-DaOp9su4.js +1 -0
  39. package/dist/assets/{dist-ymPDWJRC.js → dist-BvIuNswV.js} +1 -1
  40. package/dist/assets/{dist-CmEdak18.js → dist-C-0CeQxS.js} +1 -1
  41. package/dist/assets/{dist-MdvJ0IAD.js → dist-C_PXYFE6.js} +1 -1
  42. package/dist/assets/{dist-CMTRgLex.js → dist-HD-m_yy6.js} +1 -1
  43. package/dist/assets/{highlighted-body-OFNGDK62-qjmkILAM.js → highlighted-body-OFNGDK62-CNk37LmM.js} +1 -1
  44. package/dist/assets/{index-D_CCXqB1.css → index-Bp1ZTrP6.css} +1 -1
  45. package/dist/assets/index-YN-yUUHf.js +446 -0
  46. package/dist/assets/{list-DtdIpxEW.js → list-DFwigdtc.js} +1 -1
  47. package/dist/assets/mermaid-GHXKKRXX-BZ9VMyyv.js +1 -0
  48. package/dist/assets/{pdf-DUCWZnbJ.js → pdf-oRfJl3qk.js} +1 -1
  49. package/dist/assets/roleDescriptions-BzUMHBek.js +1 -0
  50. package/dist/assets/{table-BTGgG4wx.js → table-ptMxv3sZ.js} +1 -1
  51. package/dist/assets/{use_paginated_query-DuQlVoOP.js → use_paginated_query-1UXiZTQo.js} +1 -1
  52. package/dist/assets/x-Cx_O87S_.js +1 -0
  53. package/dist/index.html +9 -9
  54. package/package.json +1 -1
  55. package/dist/assets/AccessTab-mwOa46GI.js +0 -1
  56. package/dist/assets/AgentFilesTab-CuOO1m34.js +0 -3
  57. package/dist/assets/AnomaliesTab-65bEIYCN.js +0 -1
  58. package/dist/assets/AuditTab-5r2mw5-1.js +0 -1
  59. package/dist/assets/BridgeTab-Dk2wuA3T.js +0 -1
  60. package/dist/assets/ChatDefaultsTab-Dj1wMzm-.js +0 -1
  61. package/dist/assets/FeedbacksTab-CWH2lPuA.js +0 -1
  62. package/dist/assets/FieldLabel-bgrA2Q9d.js +0 -1
  63. package/dist/assets/FilesTab-Db5uggRh.js +0 -1
  64. package/dist/assets/GroupsTab-BrqyEOB0.js +0 -1
  65. package/dist/assets/InstancesTab-Rk9a0RUX.js +0 -1
  66. package/dist/assets/IntegrationsTab-Dclo1rSa.js +0 -1
  67. package/dist/assets/KpiTab-CRbaxpEb.js +0 -1
  68. package/dist/assets/PreferencesTab-im6jqvtv.js +0 -1
  69. package/dist/assets/ProjectPage-CjC2fBK4.js +0 -1
  70. package/dist/assets/PromptInjectionsTab-DInOc6we.js +0 -4
  71. package/dist/assets/RolesTab-qQoydemP.js +0 -1
  72. package/dist/assets/ScheduledTab-DWXNWqAo.js +0 -1
  73. package/dist/assets/ServiceAccountsTab-Dh_oZo-S.js +0 -1
  74. package/dist/assets/SubAgentReportsTab-CsHEPcHZ.js +0 -1
  75. package/dist/assets/ThemeShowroom-C0MmY3pp.js +0 -1
  76. package/dist/assets/TracesTab-DsXHB1Vw.js +0 -1
  77. package/dist/assets/TrashPage-CBVMN6l3.js +0 -1
  78. package/dist/assets/TrashTab-CLvLvN7c.js +0 -1
  79. package/dist/assets/UsersTab-DeoCBWvJ.js +0 -1
  80. package/dist/assets/VoiceTab-Bz1b5XDw.js +0 -1
  81. package/dist/assets/chevrons-up-down-DdtxjO9Y.js +0 -1
  82. package/dist/assets/dispatchErrorInfo-pvavDSyx.js +0 -1
  83. package/dist/assets/index-D2_zMS9W.js +0 -327
  84. package/dist/assets/mermaid-GHXKKRXX-BZtSjHsR.js +0 -1
  85. package/dist/assets/roleDescriptions-B5tZMAnu.js +0 -1
  86. package/dist/assets/x-fp_NW5OK.js +0 -1
@@ -0,0 +1 @@
1
+ import{CM as e,EM as t,SM as n,TM as r,wM as i}from"./api-SPJl6tGH.js";var a={pending:t,user:r,admin:i,observer:e,agent:n};function o(e){if(e.builtin){let t=a[e.key];if(t)return t()}return e.description}export{o as t};
@@ -1 +1 @@
1
- import{a as e,r as t}from"./bundle-mjs-C73ZY4La.js";import{r as n}from"./api-DL5MhfCR.js";e();var r=t();function i({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,r.jsx)(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,e),...t})})}function a({className:e,...t}){return(0,r.jsx)(`thead`,{"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function o({className:e,...t}){return(0,r.jsx)(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function s({className:e,...t}){return(0,r.jsx)(`tr`,{"data-slot":`table-row`,className:n(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function c({className:e,...t}){return(0,r.jsx)(`th`,{"data-slot":`table-head`,className:n(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0`,e),...t})}function l({className:e,...t}){return(0,r.jsx)(`td`,{"data-slot":`table-cell`,className:n(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}export{a,c as i,o as n,s as o,l as r,i as t};
1
+ import{a as e,r as t}from"./bundle-mjs-C73ZY4La.js";import{r as n}from"./api-SPJl6tGH.js";e();var r=t();function i({className:e,...t}){return(0,r.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,r.jsx)(`table`,{"data-slot":`table`,className:n(`w-full caption-bottom text-sm`,e),...t})})}function a({className:e,...t}){return(0,r.jsx)(`thead`,{"data-slot":`table-header`,className:n(`[&_tr]:border-b`,e),...t})}function o({className:e,...t}){return(0,r.jsx)(`tbody`,{"data-slot":`table-body`,className:n(`[&_tr:last-child]:border-0`,e),...t})}function s({className:e,...t}){return(0,r.jsx)(`tr`,{"data-slot":`table-row`,className:n(`border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted`,e),...t})}function c({className:e,...t}){return(0,r.jsx)(`th`,{"data-slot":`table-head`,className:n(`h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0`,e),...t})}function l({className:e,...t}){return(0,r.jsx)(`td`,{"data-slot":`table-cell`,className:n(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,e),...t})}export{a,c as i,o as n,s as o,l as r,i as t};
@@ -1 +1 @@
1
- import{a as e,l as t}from"./bundle-mjs-C73ZY4La.js";import{JJ as n,KJ as r,PJ as i,RJ as a,VJ as o}from"./api-DL5MhfCR.js";var s=t(e(),1),c=(e,t,n)=>r=>{let i={...r.queries},a=r.nextPageKey,o=r.nextPageKey+1,s=r.nextPageKey+2;i[a]={query:r.query,args:{...r.args,paginationOpts:{...r.queries[e].args.paginationOpts,endCursor:t}}},i[o]={query:r.query,args:{...r.args,paginationOpts:{...r.queries[e].args.paginationOpts,cursor:t,endCursor:n}}};let c={...r.ongoingSplits};return c[e]=[a,o],{...r,nextPageKey:s,queries:i,ongoingSplits:c}},l=e=>t=>{let n=t.ongoingSplits[e];if(n===void 0)return t;let r={...t.queries};delete r[e];let i={...t.ongoingSplits};delete i[e];let a=t.pageKeys.slice(),o=t.pageKeys.findIndex(t=>t===e);return o>=0&&(a=[...t.pageKeys.slice(0,o),...n,...t.pageKeys.slice(o+1)]),{...t,queries:r,pageKeys:a,ongoingSplits:i}};function u(e,t,n){let{user:r}=p(e,t,n,!0);return r}var d=Symbol(`includePageKeys`),f=Symbol(`page`);function p(e,t,u,p=!0){if(typeof u?.initialNumItems!=`number`||u.initialNumItems<0)throw Error(`\`options.initialNumItems\` must be a positive number. Received \`${u?.initialNumItems}\`.`);let m=t===`skip`,g=m?{}:t,_=o(e),v=(0,s.useMemo)(()=>()=>{let t=h();return{query:e,args:g,id:t,nextPageKey:1,pageKeys:m?[]:[0],queries:m?{}:{0:{query:e,args:{...g,paginationOpts:{numItems:u.initialNumItems,cursor:null,id:t}}}},ongoingSplits:{},skip:m}},[JSON.stringify(n(g)),_,u.initialNumItems,m]),[y,b]=(0,s.useState)(v),x=y;(o(e)!==o(y.query)||JSON.stringify(n(g))!==JSON.stringify(n(y.args))||m!==y.skip)&&(x=v(),b(x));let S=a().logger,C=i(x.queries),w=u[d]??!1,[T,E,D]=(0,s.useMemo)(()=>{let e,t=[];for(let n of x.pageKeys){if(e=C[n],e===void 0)break;if(e instanceof Error){if(e.message.includes(`InvalidCursor`)||e instanceof r&&typeof e.data==`object`&&e.data?.isConvexSystemError===!0&&e.data?.paginationError===`InvalidCursor`)return S.warn(`usePaginatedQuery hit error, resetting pagination state: `+e.message),b(v),[[],void 0,void 0];if(p)throw e;return[t,void 0,e]}let i=x.ongoingSplits[n];if(i===void 0?e.splitCursor&&(e.pageStatus===`SplitRecommended`||e.pageStatus===`SplitRequired`||e.page.length>u.initialNumItems*2)&&b(c(n,e.splitCursor,e.continueCursor)):C[i[0]]!==void 0&&C[i[1]]!==void 0&&b(l(n)),e.pageStatus===`SplitRequired`)return[t,void 0,void 0];t.push(...w?e.page.map(e=>({...e,[f]:n.toString()})):e.page)}return[t,e,void 0]},[C,x.pageKeys,x.ongoingSplits,u.initialNumItems,v,S,w,p]);return{user:{results:T,...(0,s.useMemo)(()=>{if(D!==void 0)return{status:`Error`,isLoading:!1,error:D,loadMore:()=>{}};if(E===void 0)return x.nextPageKey===1?{status:`LoadingFirstPage`,isLoading:!0,loadMore:()=>{}}:{status:`LoadingMore`,isLoading:!0,loadMore:e=>{}};if(E.isDone)return{status:`Exhausted`,isLoading:!1,loadMore:e=>{}};let e=E.continueCursor,t=!1;return{status:`CanLoadMore`,isLoading:!1,loadMore:n=>{t||(t=!0,b(t=>{let r=[...t.pageKeys,t.nextPageKey],i={...t.queries};return i[t.nextPageKey]={query:t.query,args:{...t.args,paginationOpts:{numItems:n,cursor:e,id:t.id}}},{...t,nextPageKey:t.nextPageKey+1,pageKeys:r,queries:i}}))}}},[D,E,x.nextPageKey])},internal:{state:x}}}var m=0;function h(){return m++,m}export{u as t};
1
+ import{a as e,l as t}from"./bundle-mjs-C73ZY4La.js";import{dY as n,mY as r,sY as i,xY as a,yY as o}from"./api-SPJl6tGH.js";var s=t(e(),1),c=(e,t,n)=>r=>{let i={...r.queries},a=r.nextPageKey,o=r.nextPageKey+1,s=r.nextPageKey+2;i[a]={query:r.query,args:{...r.args,paginationOpts:{...r.queries[e].args.paginationOpts,endCursor:t}}},i[o]={query:r.query,args:{...r.args,paginationOpts:{...r.queries[e].args.paginationOpts,cursor:t,endCursor:n}}};let c={...r.ongoingSplits};return c[e]=[a,o],{...r,nextPageKey:s,queries:i,ongoingSplits:c}},l=e=>t=>{let n=t.ongoingSplits[e];if(n===void 0)return t;let r={...t.queries};delete r[e];let i={...t.ongoingSplits};delete i[e];let a=t.pageKeys.slice(),o=t.pageKeys.findIndex(t=>t===e);return o>=0&&(a=[...t.pageKeys.slice(0,o),...n,...t.pageKeys.slice(o+1)]),{...t,queries:r,pageKeys:a,ongoingSplits:i}};function u(e,t,n){let{user:r}=p(e,t,n,!0);return r}var d=Symbol(`includePageKeys`),f=Symbol(`page`);function p(e,t,u,p=!0){if(typeof u?.initialNumItems!=`number`||u.initialNumItems<0)throw Error(`\`options.initialNumItems\` must be a positive number. Received \`${u?.initialNumItems}\`.`);let m=t===`skip`,g=m?{}:t,_=r(e),v=(0,s.useMemo)(()=>()=>{let t=h();return{query:e,args:g,id:t,nextPageKey:1,pageKeys:m?[]:[0],queries:m?{}:{0:{query:e,args:{...g,paginationOpts:{numItems:u.initialNumItems,cursor:null,id:t}}}},ongoingSplits:{},skip:m}},[JSON.stringify(a(g)),_,u.initialNumItems,m]),[y,b]=(0,s.useState)(v),x=y;(r(e)!==r(y.query)||JSON.stringify(a(g))!==JSON.stringify(a(y.args))||m!==y.skip)&&(x=v(),b(x));let S=n().logger,C=i(x.queries),w=u[d]??!1,[T,E,D]=(0,s.useMemo)(()=>{let e,t=[];for(let n of x.pageKeys){if(e=C[n],e===void 0)break;if(e instanceof Error){if(e.message.includes(`InvalidCursor`)||e instanceof o&&typeof e.data==`object`&&e.data?.isConvexSystemError===!0&&e.data?.paginationError===`InvalidCursor`)return S.warn(`usePaginatedQuery hit error, resetting pagination state: `+e.message),b(v),[[],void 0,void 0];if(p)throw e;return[t,void 0,e]}let r=x.ongoingSplits[n];if(r===void 0?e.splitCursor&&(e.pageStatus===`SplitRecommended`||e.pageStatus===`SplitRequired`||e.page.length>u.initialNumItems*2)&&b(c(n,e.splitCursor,e.continueCursor)):C[r[0]]!==void 0&&C[r[1]]!==void 0&&b(l(n)),e.pageStatus===`SplitRequired`)return[t,void 0,void 0];t.push(...w?e.page.map(e=>({...e,[f]:n.toString()})):e.page)}return[t,e,void 0]},[C,x.pageKeys,x.ongoingSplits,u.initialNumItems,v,S,w,p]);return{user:{results:T,...(0,s.useMemo)(()=>{if(D!==void 0)return{status:`Error`,isLoading:!1,error:D,loadMore:()=>{}};if(E===void 0)return x.nextPageKey===1?{status:`LoadingFirstPage`,isLoading:!0,loadMore:()=>{}}:{status:`LoadingMore`,isLoading:!0,loadMore:e=>{}};if(E.isDone)return{status:`Exhausted`,isLoading:!1,loadMore:e=>{}};let e=E.continueCursor,t=!1;return{status:`CanLoadMore`,isLoading:!1,loadMore:n=>{t||(t=!0,b(t=>{let r=[...t.pageKeys,t.nextPageKey],i={...t.queries};return i[t.nextPageKey]={query:t.query,args:{...t.args,paginationOpts:{numItems:n,cursor:e,id:t.id}}},{...t,nextPageKey:t.nextPageKey+1,pageKeys:r,queries:i}}))}}},[D,E,x.nextPageKey])},internal:{state:x}}}var m=0;function h(){return m++,m}export{u as t};
@@ -0,0 +1 @@
1
+ import{E as e}from"./api-SPJl6tGH.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
package/dist/index.html CHANGED
@@ -62,16 +62,16 @@
62
62
  document.documentElement.dataset.motion = "static";
63
63
  })();
64
64
  </script>
65
- <script type="module" crossorigin src="/assets/index-D2_zMS9W.js"></script>
65
+ <script type="module" crossorigin src="/assets/index-YN-yUUHf.js"></script>
66
66
  <link rel="modulepreload" crossorigin href="/assets/bundle-mjs-C73ZY4La.js">
67
- <link rel="modulepreload" crossorigin href="/assets/api-DL5MhfCR.js">
68
- <link rel="modulepreload" crossorigin href="/assets/dist-MdvJ0IAD.js">
69
- <link rel="modulepreload" crossorigin href="/assets/dist-ymPDWJRC.js">
70
- <link rel="modulepreload" crossorigin href="/assets/dist-CmEdak18.js">
71
- <link rel="modulepreload" crossorigin href="/assets/dist-CMTRgLex.js">
72
- <link rel="modulepreload" crossorigin href="/assets/x-fp_NW5OK.js">
73
- <link rel="modulepreload" crossorigin href="/assets/button-7-8JjL3V.js">
74
- <link rel="stylesheet" crossorigin href="/assets/index-D_CCXqB1.css">
67
+ <link rel="modulepreload" crossorigin href="/assets/api-SPJl6tGH.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/dist-C_PXYFE6.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/dist-BvIuNswV.js">
70
+ <link rel="modulepreload" crossorigin href="/assets/dist-C-0CeQxS.js">
71
+ <link rel="modulepreload" crossorigin href="/assets/dist-HD-m_yy6.js">
72
+ <link rel="modulepreload" crossorigin href="/assets/x-Cx_O87S_.js">
73
+ <link rel="modulepreload" crossorigin href="/assets/button-B9I_tCoR.js">
74
+ <link rel="stylesheet" crossorigin href="/assets/index-Bp1ZTrP6.css">
75
75
  </head>
76
76
  <body>
77
77
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lacneu/atrium",
3
- "version": "0.90.0",
3
+ "version": "0.91.0",
4
4
  "description": "Atrium — public, self-hostable, Convex-backed web chat UI for AI agent gateways (OpenClaw today, Hermes next). Ships an origin-agnostic static bundle (Convex URL injected at runtime via /config.json).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{AJ as r,BJ as i,Cb as a,Db as o,Eb as s,Sb as c,Tb as l,_b as u,bb as d,gb as f,hb as p,mb as m,pb as h,t as g,vb as _,wb as v,xb as y,yb as b}from"./api-DL5MhfCR.js";import{Lt as x,ct as S,dt as C,lt as w,st as T,ut as E}from"./index-D2_zMS9W.js";var D=t(e(),1);function O(e){return e===`user`?u():e===`all`?f():p({group:e.group})}function k(e){return e===`common`?m():e===`owner`?h():p({group:e.group})}var A=n();function j(e){return e.name||e.email||e.userId.slice(0,8)}function M(){let e=i(g.admin.listUsers,{}),[t,n]=(0,D.useState)(``),u=i(g.introspect.introspectUser,t?{userId:t}:`skip`);return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:o()}),(0,A.jsxs)(T,{value:t,onValueChange:n,children:[(0,A.jsx)(E,{size:`sm`,"aria-label":s(),children:(0,A.jsx)(C,{placeholder:s()})}),(0,A.jsx)(S,{children:(e??[]).map(e=>(0,A.jsx)(w,{value:e.userId,children:j(e)},e._id))})]}),t===``?(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:l()}):u===void 0?(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:r()}):(0,A.jsxs)(`div`,{className:`oc-introspect`,children:[(0,A.jsxs)(`section`,{className:`oc-introspect__section`,children:[(0,A.jsx)(`h3`,{className:`oc-introspect__title`,children:v()}),(0,A.jsxs)(`div`,{className:`oc-introspect__id`,children:[(0,A.jsx)(`strong`,{children:u.user.label}),(0,A.jsx)(x,{variant:`secondary`,children:u.role})]})]}),(0,A.jsxs)(`section`,{className:`oc-introspect__section`,children:[(0,A.jsx)(`h3`,{className:`oc-introspect__title`,children:a()}),u.groups.length===0?(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:b()}):(0,A.jsx)(`div`,{className:`oc-introspect__chips`,children:u.groups.map(e=>(0,A.jsx)(x,{variant:`secondary`,children:e.name},e.groupId))})]}),(0,A.jsxs)(`section`,{className:`oc-introspect__section`,children:[(0,A.jsx)(`h3`,{className:`oc-introspect__title`,children:c()}),u.agents.length===0?(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:b()}):(0,A.jsx)(`ul`,{className:`oc-introspect__list`,children:u.agents.map(e=>(0,A.jsxs)(`li`,{className:`oc-introspect__row`,children:[(0,A.jsx)(`span`,{className:`oc-introspect__name`,children:e.displayName||e.agentId}),e.isDefault?(0,A.jsx)(x,{variant:`default`,children:_()}):null,(0,A.jsx)(x,{variant:`outline`,children:O(e.via)}),(0,A.jsx)(x,{variant:`secondary`,children:e.state})]},`${e.instanceName} ${e.agentId}`))})]}),(0,A.jsxs)(`section`,{className:`oc-introspect__section`,children:[(0,A.jsx)(`h3`,{className:`oc-introspect__title`,children:y()}),u.charts.length===0?(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:b()}):(0,A.jsx)(`ul`,{className:`oc-introspect__list`,children:u.charts.map(e=>(0,A.jsxs)(`li`,{className:`oc-introspect__row`,children:[(0,A.jsx)(`span`,{className:`oc-introspect__name`,children:e.name}),(0,A.jsx)(x,{variant:`outline`,children:k(e.via)})]},e.key))})]}),(0,A.jsxs)(`section`,{className:`oc-introspect__section`,children:[(0,A.jsx)(`h3`,{className:`oc-introspect__title`,children:d()}),u.permissions.length===0?(0,A.jsx)(`p`,{className:`oc-admin__hint`,children:b()}):(0,A.jsx)(`div`,{className:`oc-introspect__chips`,children:u.permissions.map(e=>(0,A.jsx)(x,{variant:`secondary`,children:e},e))})]})]})]})}export{M as AccessTab};
@@ -1,3 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$g as r,$u as i,AJ as a,Ad as o,Ag as s,BJ as c,B_ as l,Bg as u,Cd as d,Dd as f,Dg as p,Ed as m,Eg as h,Fd as g,Fg as _,Gg as v,Hg as y,Id as b,Ig as x,Jg as S,Kg as C,LJ as w,Ld as T,Lg as ee,MJ as E,Md as D,Mg as O,Nd as k,Ng as A,Od as j,Og as M,Oo as N,Pd as te,Pg as P,Qg as F,Qu as I,R_ as ne,Rd as L,Rg as re,Sd as R,Td as z,Tg as B,Ug as ie,Vg as V,Vz as ae,Wg as H,Xg as oe,Xu as se,Yg as ce,Zg as le,Zu as U,bd as W,e_ as ue,ed as de,jd as fe,jg as pe,kd as me,kg as he,nd as ge,qg as _e,t as G,td as ve,vd as ye,wd as be,xd as xe,yd as Se,zJ as Ce,zg as we}from"./api-DL5MhfCR.js";import{t as K}from"./button-7-8JjL3V.js";import{At as Te,Ft as Ee,G as De,It as Oe,Lt as ke,Mt as Ae,Nt as je,Pt as Me,Rt as q,_t as Ne,ct as Pe,dt as Fe,ft as Ie,gt as Le,jt as Re,kt as ze,lt as Be,mt as Ve,pt as He,st as Ue,tt as We,ut as Ge,vn as J}from"./index-D2_zMS9W.js";import{n as Ke,t as qe}from"./curation-CQksaIbm.js";import{a as Je}from"./compatView-BQHXVq4U.js";/* empty css */var Y=t(e(),1),X=2e4,Ye=6e4;function Xe(e){return typeof e!=`number`||e<=0?0:Math.round(e/X*100)}function Ze(e){return e<=0?0:Math.round(e/Ye*100)}function Z(e,t){let n=(typeof e==`number`&&e>0?e:0)/1e3;return new Intl.NumberFormat(t,{minimumFractionDigits:1,maximumFractionDigits:1}).format(n)}function Qe(e){return e.reduce((e,t)=>e+(typeof t.size==`number`&&t.size>0?t.size:0),0)}var $e=3;function et(e,t){let n=new Map;for(let t of e.split(`
2
- `))n.set(t,(n.get(t)??0)+1);for(let e of t.split(`
3
- `))n.set(e,(n.get(e)??0)-1);let r=0,i=0,a=[],o=[];for(let[e,t]of n)t<0?(r+=-t,a.length<$e&&a.push(e)):t>0&&(i+=t,o.length<$e&&o.push(e));return{added:r,removed:i,sampleAdded:a,sampleRemoved:o}}function tt(e){return(e instanceof Error?e.message:String(e)).includes(`DASHBOARD_NOT_DEPLOYED`)}function nt(e){return e instanceof Error?e.message.includes(`conflict:`):String(e).includes(`conflict:`)}var Q=n(),$=e=>`${e.instanceName}::${e.agentId}`;function rt(){let e=c(G.me.getMe,{host:We}),t=e?.role===`admin`,n=(e?.permissions??[]).includes(`bridge.read`),i=c(G.admin.listInstances,e!==void 0&&t?{}:`skip`),[o,s]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{!t||!i||i.length===0||(!o||!i.some(e=>e.name===o))&&s(i[0].name)},[t,i,o]);let l=c(G.agents.listAgentsForInstance,t&&o?{instanceName:o}:`skip`),u=c(G.agents.listMyAgents,e!==void 0&&!t?{}:`skip`),d=(0,Y.useMemo)(()=>{if(e!==void 0){if(t)return o===null||l===void 0?i!==void 0&&i.length===0?[]:void 0:l.agents.map(e=>({instanceName:o,agentId:e.agentId,label:`${e.emoji?`${e.emoji} `:``}${e.displayName??e.agentId}`}));if(u!==void 0)return u.map(e=>({instanceName:e.instanceName,agentId:e.agentId,label:`${e.emoji?`${e.emoji} `:``}${e.displayName??e.agentId}`}))}},[e,t,o,l,i,u]),[f,p]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{!d||d.length===0||(!f||!d.some(e=>$(e)===f))&&p($(d[0]))},[d,f]);let m=d?.find(e=>$(e)===f)??null,h=w(G.agentFiles.listAgentFiles),[_,b]=(0,Y.useState)({status:`idle`}),x=m?.instanceName??null,T=m?.agentId??null,ee=c(G.compat.forInstance,n&&x!==null?{instanceName:x}:`skip`),D=n&&x!==null?De(ee,`agentFiles`):null,O=D===null?!1:D===`loading`?null:D.blocked,A=(0,Y.useCallback)(async()=>{if(!(x===null||T===null)){b({status:`loading`});try{b({status:`done`,files:(await h({instanceName:x,agentId:T})).files})}catch(e){b({status:`error`,dashboardAbsent:tt(e)})}}},[h,x,T]);(0,Y.useEffect)(()=>{O===!1&&A()},[A,O]);let[j,M]=(0,Y.useState)(null),P=c(G.agentFileCuration.listCurations,t&&x!==null&&T!==null?{instanceName:x,agentId:T}:`skip`),I=c(G.agentFileCuration.curationSettings,t&&x!==null?{instanceName:x}:`skip`),L=w(G.agentFileCuration.requestCuration),[re,R]=(0,Y.useState)(null),[z,B]=(0,Y.useState)(null),{toast:V}=q(),ae=(0,Y.useMemo)(()=>{let e=new Map;for(let t of P??[])e.has(t.name)||e.set(t.name,t);return e},[P]),se=(0,Y.useCallback)(async e=>{if(!(x===null||T===null)){R(e);try{let t=await L({instanceName:x,agentId:T,name:e,trigger:`manual`});t.ok?V({title:g(),variant:`success`}):V({title:te({reason:t.reason??`unknown`}),variant:`error`})}catch{V({title:k(),variant:`error`})}finally{R(null)}}},[L,x,T,V]),U=E(),W=(0,Y.useMemo)(()=>new Intl.NumberFormat(U,{maximumFractionDigits:0}),[U]);return e===void 0||d===void 0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):(0,Q.jsxs)(`div`,{className:`oc-afiles`,children:[(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:ue()}),(0,Q.jsxs)(`div`,{className:`oc-afiles__picker`,children:[t&&(i?.length??0)>1?(0,Q.jsxs)(Ue,{value:o??``,onValueChange:e=>s(e),children:[(0,Q.jsx)(Ge,{size:`sm`,"aria-label":r(),children:(0,Q.jsx)(Fe,{})}),(0,Q.jsx)(Pe,{children:(i??[]).map(e=>(0,Q.jsx)(Be,{value:e.name,children:e.name},e.name))})]}):null,d.length>0?(0,Q.jsxs)(Ue,{value:f??``,onValueChange:e=>p(e),children:[(0,Q.jsx)(Ge,{size:`sm`,"aria-label":F(),children:(0,Q.jsx)(Fe,{})}),(0,Q.jsx)(Pe,{children:d.map(e=>(0,Q.jsx)(Be,{value:$(e),children:e.label},$(e)))})]}):(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:le()})]}),m===null?null:D===`loading`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):D!==null&&D.blocked?(0,Q.jsxs)(`p`,{className:`oc-compat__blocked`,role:`status`,children:[(0,Q.jsx)(J,{size:14,"aria-hidden":!0}),` `,Je(D.gatewayVersion,D.provider)]}):_.status===`loading`||_.status===`idle`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):_.status===`error`?(0,Q.jsxs)(`p`,{className:`oc-afiles__error`,role:`alert`,children:[_.dashboardAbsent?N():ce(),` `,!_.dashboardAbsent&&(0,Q.jsx)(K,{variant:`outline`,size:`sm`,onClick:()=>void A(),children:ne()})]}):_.files.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:oe()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`oc-afiles__list`,children:_.files.map(e=>{let n=Xe(e.size),r=n>=80;return(0,Q.jsxs)(`div`,{className:`oc-afiles__row`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__name`,title:e.name,children:e.name}),e.missing?(0,Q.jsx)(ke,{variant:`outline`,children:S()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`oc-afiles__size`,children:_e({size:Z(e.size,U)})}),(0,Q.jsx)(`span`,{className:`oc-afiles__gauge${r?` is-warn`:``}`,"aria-hidden":!0,children:(0,Q.jsx)(`span`,{className:`oc-afiles__gauge-fill`,style:{width:`${Math.min(n,100)}%`}})}),(0,Q.jsx)(`span`,{className:`oc-afiles__pct`,children:C({pct:W.format(n)})}),r?(0,Q.jsx)(J,{size:14,className:`oc-afiles__warn`,"aria-label":v()}):(0,Q.jsx)(`span`,{className:`oc-afiles__warn-slot`,"aria-hidden":!0})]}),(0,Q.jsx)(K,{variant:`outline`,size:`sm`,className:`oc-afiles__open`,onClick:()=>M(e),children:t?ie():y()}),t&&!e.missing?(0,Q.jsx)(it,{curatable:qe.includes(e.name),size:e.size??0,budget:I?.budgetChars??null,enabled:I?.enabled??!1,curation:ae.get(e.name)??null,inFlight:re===e.name,onCurate:()=>void se(e.name),onReview:e=>B(e)}):null]},e.name)})}),(0,Q.jsx)(`p`,{className:`oc-afiles__budget`,children:H({used:Z(Qe(_.files),U),total:Z(Ye,U),pct:W.format(Ze(Qe(_.files)))})})]}),j&&m?(0,Q.jsx)(at,{instanceName:m.instanceName,agentId:m.agentId,name:j.name,isAdmin:t,onClose:()=>M(null),onSaved:()=>void A()}):null,z?(0,Q.jsx)(ot,{curationId:z,onClose:()=>B(null),onApplied:()=>{B(null),A()}}):null]})}function it({curatable:e,size:t,budget:n,enabled:r,curation:i,inFlight:a,onCurate:o,onReview:s}){return i?.status===`proposed`?(0,Q.jsx)(K,{variant:`default`,size:`sm`,className:`oc-afiles__curate`,onClick:()=>s(i._id),children:T()}):a||i?.status===`dispatched`||i?.status===`applying`?(0,Q.jsx)(ke,{variant:`outline`,className:`oc-afiles__curate-status`,children:b()}):e&&r&&n!==null&&Ke(t,n)?(0,Q.jsx)(K,{variant:`outline`,size:`sm`,className:`oc-afiles__curate`,onClick:o,children:L()}):null}function at({instanceName:e,agentId:t,name:n,isAdmin:r,onClose:i,onSaved:o}){let c=w(G.agentFiles.getAgentFile),d=w(G.agentFiles.setAgentFile),f=q(),[m,g]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(!1),[b,S]=(0,Y.useState)(``),[C,T]=(0,Y.useState)(!1),[D,k]=(0,Y.useState)(!1),[j,N]=(0,Y.useState)(!1),[te,F]=(0,Y.useState)(!1),I=(0,Y.useCallback)(async r=>{y(!1);try{let i=await c({instanceName:e,agentId:t,name:n});g({content:i.content,updatedAtMs:i.updatedAtMs}),r||S(i.content),N(!1)}catch{y(!0)}},[c,e,t,n]);(0,Y.useEffect)(()=>{I(!1)},[I]);async function L(){if(m!==null){k(!0),F(!1);try{await d({instanceName:e,agentId:t,name:n,content:b,baseUpdatedAtMs:m.updatedAtMs??void 0}),f.success(_({name:n})),o(),await I(!1)}catch(e){nt(e)?N(!0):F(!0)}finally{k(!1)}}}let R=m!==null&&b!==m.content,z=(0,Y.useMemo)(()=>m===null?null:et(m.content,b),[m,b]),ie=b.length>X,H=E(),oe=(0,Y.useMemo)(()=>new Intl.NumberFormat(H),[H]);return(0,Q.jsx)(Ie,{open:!0,onOpenChange:e=>!e&&i(),children:(0,Q.jsxs)(He,{className:`oc-afiles__editor`,children:[(0,Q.jsxs)(Le,{children:[(0,Q.jsx)(Ne,{children:V({name:n})}),(0,Q.jsxs)(Ve,{children:[u({agent:t,instance:e}),r?null:(0,Q.jsxs)(Q.Fragment,{children:[` · `,we()]})]})]}),v?(0,Q.jsxs)(`p`,{className:`oc-afiles__error`,role:`alert`,children:[A(),` `,(0,Q.jsx)(K,{variant:`outline`,size:`sm`,onClick:()=>void I(!1),children:ne()})]}):m===null?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`textarea`,{className:`oc-afiles__source`,value:b,readOnly:!r,spellCheck:!1,onChange:e=>S(e.target.value),"aria-label":V({name:n})}),(0,Q.jsx)(`p`,{className:`oc-afiles__hint`,children:re()}),j?(0,Q.jsxs)(`p`,{className:`oc-afiles__error`,role:`alert`,children:[O(),` `,(0,Q.jsx)(K,{variant:`outline`,size:`sm`,onClick:()=>void I(!0),children:pe()})]}):null,te?(0,Q.jsx)(`p`,{className:`oc-afiles__error`,role:`alert`,children:P()}):null,(0,Q.jsxs)(`div`,{className:`oc-afiles__editor-foot`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__count${ie?` is-over`:``}`,children:ee({count:oe.format(b.length),max:oe.format(X)})}),r?(0,Q.jsx)(K,{size:`sm`,disabled:!R||D||j,onClick:()=>T(!0),children:D?l():x()}):null]})]}),(0,Q.jsx)(ze,{open:C,onOpenChange:T,children:(0,Q.jsxs)(Ae,{children:[(0,Q.jsxs)(Ee,{children:[(0,Q.jsx)(Oe,{children:s({name:n})}),(0,Q.jsx)(je,{children:he({agent:t})})]}),z?(0,Q.jsxs)(`div`,{className:`oc-afiles__diff`,children:[(0,Q.jsx)(`p`,{className:`oc-afiles__diff-counts`,children:M({added:z.added,removed:z.removed})}),z.sampleAdded.length>0?(0,Q.jsxs)(`div`,{className:`oc-afiles__diff-block`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__diff-label`,children:p()}),z.sampleAdded.map((e,t)=>(0,Q.jsx)(`code`,{className:`oc-afiles__diff-line is-add`,children:e||` `},t))]}):null,z.sampleRemoved.length>0?(0,Q.jsxs)(`div`,{className:`oc-afiles__diff-block`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__diff-label`,children:h()}),z.sampleRemoved.map((e,t)=>(0,Q.jsx)(`code`,{className:`oc-afiles__diff-line is-del`,children:e||` `},t))]}):null]}):null,(0,Q.jsxs)(Me,{children:[(0,Q.jsx)(Re,{children:ae()}),(0,Q.jsx)(Te,{onClick:()=>void L(),children:B()})]})]})})]})})}function ot({curationId:e,onClose:t,onApplied:n}){let r=c(G.agentFileCuration.getProposal,{curationId:e}),s=w(G.agentFileCuration.approveCuration),u=Ce(G.agentFileCuration.rejectCuration),{toast:p}=q(),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(!1),[y,b]=(0,Y.useState)(``),x=E(),S=(0,Y.useMemo)(()=>r?et(r.beforeContent,r.proposedContent):null,[r]);async function C(){g(`approve`);try{let t=await s({curationId:e});t.ok?(p({title:D(),variant:`success`}),n()):p({title:t.reason===`conflict`?o():me({reason:t.reason??`unknown`}),variant:`error`})}catch{p({title:k(),variant:`error`})}finally{g(null)}}async function T(n){g(`reject`);try{let r=y.trim();(await u({curationId:e,...r?{comment:r}:{},relaunch:n})).ok?p({title:n?U():fe(),variant:`success`}):p({title:m(),variant:`error`}),t()}catch{p({title:k(),variant:`error`})}finally{g(null)}}return(0,Q.jsx)(Ie,{open:!0,onOpenChange:e=>e?void 0:t(),children:(0,Q.jsxs)(He,{className:`oc-afiles__review`,children:[(0,Q.jsxs)(Le,{children:[(0,Q.jsx)(Ne,{children:r?j({name:r.name}):a()}),(0,Q.jsx)(Ve,{children:f()})]}),r===void 0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):r===null?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:m()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`p`,{className:`oc-afiles__review-sizes`,children:[z({before:Z(r.beforeSize,x),after:Z(r.proposedSize,x)}),r.overBudget?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(J,{size:13,"aria-hidden":!0}),` `,be()]}):null]}),S?(0,Q.jsx)(`p`,{className:`oc-afiles__review-diff`,children:d({added:S.added,removed:S.removed})}):null,r.feedback?(0,Q.jsx)(`p`,{className:`oc-afiles__review-feedback`,children:se({feedback:r.feedback})}):null,S&&S.sampleRemoved.length>0?(0,Q.jsxs)(`div`,{className:`oc-afiles__review-removed`,children:[(0,Q.jsx)(`p`,{className:`oc-afiles__review-label`,children:ye()}),(0,Q.jsx)(`ul`,{children:S.sampleRemoved.map((e,t)=>(0,Q.jsx)(`li`,{children:e||`\xA0`},t))})]}):null,(0,Q.jsxs)(`div`,{className:`oc-afiles__review-panes oc-afiles__review-panes--2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`oc-afiles__review-label`,children:Se()}),(0,Q.jsx)(`pre`,{className:`oc-afiles__review-pre`,children:r.beforeContent})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`oc-afiles__review-label`,children:R()}),(0,Q.jsx)(`pre`,{className:`oc-afiles__review-pre`,children:r.proposedContent})]})]})]}),_?(0,Q.jsxs)(`div`,{className:`oc-afiles__reject-form`,children:[(0,Q.jsx)(`label`,{className:`oc-afiles__review-label`,htmlFor:`curation-reject-comment`,children:ge()}),(0,Q.jsx)(`textarea`,{id:`curation-reject-comment`,className:`oc-afiles__reject-textarea`,rows:3,placeholder:ve(),value:y,onChange:e=>b(e.target.value)}),(0,Q.jsxs)(`div`,{className:`oc-afiles__review-actions`,children:[(0,Q.jsx)(K,{variant:`ghost`,onClick:()=>v(!1),disabled:h!==null,children:de()}),(0,Q.jsx)(K,{variant:`outline`,onClick:()=>void T(!1),disabled:h!==null,children:h===`reject`?l():i()}),(0,Q.jsx)(K,{variant:`default`,onClick:()=>void T(!0),disabled:h!==null,children:h===`reject`?l():I()})]})]}):(0,Q.jsxs)(`div`,{className:`oc-afiles__review-actions`,children:[(0,Q.jsx)(K,{variant:`outline`,onClick:()=>v(!0),disabled:h!==null||r==null,children:xe()}),(0,Q.jsx)(K,{variant:`default`,onClick:()=>void C(),disabled:h!==null||r==null,children:h===`approve`?l():W()})]})]})})}export{rt as AgentFilesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$A as r,Aj as i,BJ as a,Cj as ee,Dj as te,Ej as o,Fj as ne,GA as s,Ij as re,JA as c,KA as l,Lj as u,Mj as ie,Nj as ae,Oj as oe,Pj as se,QA as ce,Rj as d,Sj as le,Tj as ue,WA as f,XA as p,YA as m,ZA as h,_j as de,aj as fe,bj as pe,cj as me,dj as g,ej as _,fj as he,gj as v,hj as ge,ij as _e,jj as ve,kj as ye,lj as y,mj as be,nj as xe,oj as Se,pj as Ce,qA as b,rj as x,sj as S,t as C,tj as w,uj as T,vj as E,wj as D,xj as O,yj as k,zJ as A,zj as j}from"./api-DL5MhfCR.js";import{Lt as M,Rt as we,Z as Te,_t as N,ct as P,dt as F,er as I,ft as L,gt as R,i as Ee,lt as z,o as De,pt as B,st as V,tr as Oe,tt as ke,ut as H,yt as U}from"./index-D2_zMS9W.js";import{n as Ae}from"./TimeRangePicker-BIm9hRiV.js";import{t as je}from"./FilterBar-6mIwprKY.js";import{t as Me}from"./DataTableShell-8D6YsZBo.js";import{t as W}from"./dispatchErrorInfo-pvavDSyx.js";var G=t(e(),1),K=n(),q=`__all__`,Ne=[{value:`open`},{value:`acknowledged`},{value:`resolved`}];function Pe(e){return e===`open`?j():e===`acknowledged`?d():u()}var Fe=[`info`,`warn`,`critical`],Ie=[`detector`,`agent`,`user`],Le={kind:`relative`,from:`now-30d`,to:`now`},Re=200,J=`all`;function Y(){let e=Oe({from:`/settings/anomalies`}),t=I({from:`/settings/anomalies`}),n=e.q??``,s=e.status===J?q:e.status,c=e.severity??q,l=e.kind??q,[u,d]=(0,G.useState)(q),f=Ee(e.from,e.to),{from:p,to:m}=Ae(f),h=e=>void t({search:t=>({...t,q:e||void 0}),replace:!0}),b=e=>void t({search:t=>({...t,status:e===q?J:e})}),j=e=>void t({search:t=>({...t,severity:e===q?void 0:e})}),N=e=>void t({search:t=>({...t,kind:e===q?void 0:e})}),L=e=>void t({search:t=>({...t,...De(e)})}),R=Te(),B=we(),W=A(C.anomalies.resolveAnomaly),Y=(a(C.me.getMe,{host:ke})?.permissions??[]).includes(`admin.manage`),X=a(C.anomalies.listAnomalies,{limit:Re,filter:{q:n||void 0,from:p,to:m,anomalyStatus:s===q?void 0:s,severity:c===q?void 0:c,source:u===q?void 0:u,kind:l===q?void 0:l}}),Z=(0,G.useMemo)(()=>{let e=new Set;for(let t of X??[])e.add(t.kind);return[...e].sort()},[X]),Q=n!==``||s!==`open`||c!==q||u!==q||l!==q||f.kind!==`relative`||f.from!==Le.from;function $(){d(q),t({search:{status:`open`},replace:!0})}async function We(e){if(await R({title:re(),description:(0,K.jsxs)(K.Fragment,{children:[ne(),` `,(0,K.jsx)(`span`,{className:`font-mono`,children:e.kind}),` `,se(),` `,(0,K.jsx)(`strong`,{children:ae()}),`.`,` `,ie()]}),confirmLabel:ve()}))try{await W({anomalyId:e._id,status:`resolved`}),B.success(i(),e.kind)}catch(e){B.error(ye(),e)}}async function Ge(e){try{await W({anomalyId:e._id,status:`acknowledged`}),B.success(oe(),e.kind)}catch(e){B.error(te(),e)}}return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`p`,{className:`oc-admin__hint`,children:[o(),` `,(0,K.jsx)(`strong`,{children:ue()}),` `,D(),` `,(0,K.jsx)(`strong`,{children:ee()}),` `,le(),` `,(0,K.jsx)(`strong`,{children:O()}),` `,pe(),` `,(0,K.jsx)(`span`,{className:`oc-filter__window`,children:k()})]}),(0,K.jsxs)(je,{q:n,onQChange:h,searchPlaceholder:E(),timeRange:f,onTimeRangeChange:L,onReset:$,canReset:Q,children:[(0,K.jsxs)(V,{value:s,onValueChange:b,children:[(0,K.jsx)(H,{size:`sm`,className:`w-36`,children:(0,K.jsx)(F,{})}),(0,K.jsxs)(P,{children:[(0,K.jsx)(z,{value:q,children:de()}),Ne.map(e=>(0,K.jsx)(z,{value:e.value,children:Pe(e.value)},e.value))]})]}),(0,K.jsxs)(V,{value:c,onValueChange:j,children:[(0,K.jsx)(H,{size:`sm`,className:`w-36`,children:(0,K.jsx)(F,{placeholder:v()})}),(0,K.jsxs)(P,{children:[(0,K.jsx)(z,{value:q,children:he()}),Fe.map(e=>(0,K.jsx)(z,{value:e,children:e},e))]})]}),(0,K.jsxs)(V,{value:u,onValueChange:d,children:[(0,K.jsx)(H,{size:`sm`,className:`w-32`,children:(0,K.jsx)(F,{placeholder:g()})}),(0,K.jsxs)(P,{children:[(0,K.jsx)(z,{value:q,children:T()}),Ie.map(e=>(0,K.jsx)(z,{value:e,children:e},e))]})]}),(0,K.jsxs)(V,{value:l,onValueChange:N,children:[(0,K.jsx)(H,{size:`sm`,className:`w-36`,children:(0,K.jsx)(F,{placeholder:y()})}),(0,K.jsxs)(P,{children:[(0,K.jsx)(z,{value:q,children:me()}),Z.map(e=>(0,K.jsx)(z,{value:e,children:e},e))]})]})]}),(0,K.jsx)(Me,{title:S(),rows:X,emptyHint:s===`open`?Se():fe(),rowActions:e=>Y&&e.status===`open`?[{label:_e(),onSelect:()=>void We(e)},{label:x(),onSelect:()=>void Ge(e)}]:[],columns:[{header:xe(),cell:e=>(0,K.jsx)(`span`,{className:`oc-traces__time`,children:U(e.at)}),sort:e=>e.at},{header:y(),cell:e=>(0,K.jsx)(`code`,{className:`oc-traces__mono`,children:e.kind}),sort:e=>e.kind},{header:ge(),cell:e=>e.occurrenceCount!==null&&e.occurrenceCount>1?(0,K.jsx)(`span`,{className:`oc-traces__time`,title:e.firstAt===null?void 0:Ce({when:U(e.firstAt)}),children:be({count:String(e.occurrenceCount)})}):(0,K.jsx)(`span`,{className:`oc-traces__time`,children:`—`}),sort:e=>e.occurrenceCount??0},{header:v(),cell:e=>(0,K.jsx)(Ve,{severity:e.severity}),sort:e=>e.severity===`critical`?2:+(e.severity===`warn`)},{header:w(),cell:e=>(0,K.jsx)(He,{status:e.status}),sort:e=>e.status===`resolved`?2:+(e.status===`acknowledged`)},{header:g(),cell:e=>(0,K.jsx)(M,{variant:`outline`,children:e.source}),sort:e=>e.source},{header:_(),cell:e=>(0,K.jsxs)(`div`,{className:`oc-anomaly__msgcell`,children:[(0,K.jsx)(`span`,{className:`oc-anomaly__msg`,children:e.message}),(0,K.jsx)(Be,{row:e})]}),sort:e=>e.message},{header:r(),cell:e=>(0,K.jsx)(ze,{row:e}),sort:e=>e.evidence??null},{header:ce(),cell:e=>e.correlationId?(0,K.jsx)(`code`,{className:`oc-traces__mono`,children:Ue(e.correlationId)}):(0,K.jsx)(`span`,{className:`oc-traces__muted`,children:`—`}),sort:e=>e.correlationId}]})]})}var X=new Set([`openclaw.dispatch_failures`,`assistant.announce_errors`]);function Z(e){if(!X.has(e.kind)||!e.evidence)return{};try{let t=JSON.parse(e.evidence);return{dominantCode:t.dominantCode,sampleCorrelationId:t.sampleCorrelationId}}catch{return{}}}function Q(e){if(e.kind!==`subagent.failure`||!e.evidence)return{};try{let t=JSON.parse(e.evidence);return{failedCount:t.failedCount,totalCount:t.totalCount,errorCategories:t.errorCategories}}catch{return{}}}function ze({row:e}){let t=I();if(e.kind===`subagent.failure`){let n=Q(e);return(0,K.jsxs)(`div`,{className:`oc-anomaly__cause`,children:[(0,K.jsx)(`div`,{className:`oc-anomaly__cause-head`,children:[...new Set(n.errorCategories??[])].map(e=>(0,K.jsx)(`code`,{className:`oc-traces__mono`,children:e},e))}),e.correlationId?(0,K.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>void t({to:`/settings/traces`,search:{q:e.correlationId,limit:100}}),children:[`↗ `,h()]}):null]})}let n=Z(e);if(!n.dominantCode){let e=n.sampleCorrelationId;return e?(0,K.jsx)(`div`,{className:`oc-anomaly__cause`,children:(0,K.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>void t({to:`/settings/traces`,search:{correlationId:e,limit:100}}),children:[`↗ `,h()]})}):(0,K.jsx)(`span`,{className:`oc-traces__muted`,children:`—`})}let r=W(n.dominantCode),i=n.sampleCorrelationId;return(0,K.jsxs)(`div`,{className:`oc-anomaly__cause`,children:[(0,K.jsxs)(`div`,{className:`oc-anomaly__cause-head`,children:[(0,K.jsx)(`span`,{className:`oc-anomaly__cause-label`,children:r.label}),(0,K.jsx)(`code`,{className:`oc-traces__mono`,children:n.dominantCode})]}),(0,K.jsx)(`p`,{className:`oc-anomaly__cause-hint`,children:r.hint}),i?(0,K.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>void t({to:`/settings/traces`,search:{correlationId:i,limit:100}}),children:[`↗ `,h()]}):null]})}function Be({row:e}){let[t,n]=(0,G.useState)(!1),r=a(C.anomalies.getAnomalyAttachments,t?{anomalyId:e._id}:`skip`);return!e.attachments||e.attachments.length===0?null:(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>n(!0),children:[p(),e.attachments.length>1?` (${e.attachments.length})`:``]}),(0,K.jsx)(L,{open:t,onOpenChange:n,children:(0,K.jsxs)(B,{className:`oc-anomaly__attachments-dialog`,children:[(0,K.jsx)(R,{children:(0,K.jsx)(N,{children:m()})}),r===void 0?(0,K.jsx)(`p`,{className:`oc-traces__muted`,children:c()}):r.length===0?(0,K.jsx)(`p`,{className:`oc-traces__muted`,children:b()}):(0,K.jsx)(`div`,{className:`oc-anomaly__attachments`,children:r.map(e=>(0,K.jsxs)(`section`,{className:`oc-anomaly__attachment`,children:[(0,K.jsx)(`h4`,{className:`oc-anomaly__attachment-name`,children:(0,K.jsx)(`code`,{className:`oc-traces__mono`,children:e.name})}),(0,K.jsx)(`pre`,{className:`oc-anomaly__attachment-content`,children:e.content})]},e.name))})]})})]})}function Ve({severity:e}){return(0,K.jsx)(`span`,{className:`oc-anomaly__sev oc-anomaly__sev--${e}`,children:e})}function He({status:e}){return e===`open`?(0,K.jsx)(M,{variant:`destructive`,children:l()}):e===`acknowledged`?(0,K.jsx)(M,{variant:`secondary`,children:s()}):(0,K.jsx)(M,{variant:`outline`,children:f()})}function Ue(e){return e.length>8?e.slice(0,8):e}export{Y as AnomaliesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{BJ as r,BM as i,FM as a,GM as o,HM as s,IM as c,Jl as l,LM as u,MM as d,NM as f,PM as p,Ql as m,RM as h,UM as g,VM as _,WM as v,Xl as y,Yl as b,Zl as x,jM as S,ql as C,t as w,zM as T}from"./api-DL5MhfCR.js";import{a as E,ct as D,dt as O,er as k,i as A,lt as j,n as M,o as N,s as P,st as F,tr as I,ut as L,yt as R}from"./index-D2_zMS9W.js";import{n as ee}from"./TimeRangePicker-BIm9hRiV.js";import{t as z}from"./FilterBar-6mIwprKY.js";import{t as B}from"./AdvancedFilter-CElVO-tV.js";import{t as V}from"./DataTableShell-8D6YsZBo.js";var H=t(e(),1),U=n(),W={kind:`relative`,from:M,to:`now`},G=`__all__`,K=[{value:`action`,label:m()},{value:`realLabel`,label:x()},{value:`targetLabel`,label:y()},{value:`impersonated`,label:b()},{value:`resource`,label:l()},{value:`resourceId`,label:C()}];function q(){let e=I({from:`/settings/audit`}),t=k({from:`/settings/audit`}),n=e.q??``,l=e.action??G,m=e.impersonated??G,y=e.resource??G,b=A(e.from,e.to),x=(0,H.useMemo)(()=>P(e.adv),[e.adv]),{from:C,to:M}=ee(b),q=e=>void t({search:t=>({...t,q:e||void 0}),replace:!0}),J=e=>void t({search:t=>({...t,action:e===G?void 0:e})}),Y=e=>void t({search:t=>({...t,impersonated:e===G?void 0:e})}),X=e=>void t({search:t=>({...t,resource:e===G?void 0:e})}),Z=e=>void t({search:t=>({...t,...N(e)})}),Q=e=>void t({search:t=>({...t,adv:E(e)}),replace:!0}),$=r(w.admin.listAudit,{filter:{q:n||void 0,from:C,to:M,action:l===G?void 0:l,resource:y===G?void 0:y,impersonated:m===G?void 0:m===`yes`,advanced:x.length>0?x:void 0}}),te=(0,H.useMemo)(()=>{let e=new Set;for(let t of $??[])e.add(t.action);return[...e].sort()},[$]),ne=(0,H.useMemo)(()=>{let e=new Set;for(let t of $??[])t.resource&&e.add(t.resource);return[...e].sort()},[$]),re=n!==``||l!==G||m!==G||y!==G||x.length>0||b.kind!==`relative`||b.from!==W.from;function ie(){t({search:{},replace:!0})}return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`p`,{className:`oc-admin__hint`,children:[o(),` `,(0,U.jsx)(`span`,{className:`oc-filter__window`,children:v()})]}),(0,U.jsxs)(z,{q:n,onQChange:q,searchPlaceholder:g(),timeRange:b,onTimeRangeChange:Z,onReset:ie,canReset:re,children:[(0,U.jsxs)(F,{value:l,onValueChange:J,children:[(0,U.jsx)(L,{size:`sm`,className:`w-40`,children:(0,U.jsx)(O,{placeholder:s()})}),(0,U.jsxs)(D,{children:[(0,U.jsx)(j,{value:G,children:_()}),te.map(e=>(0,U.jsx)(j,{value:e,children:e},e))]})]}),(0,U.jsxs)(F,{value:m,onValueChange:Y,children:[(0,U.jsx)(L,{size:`sm`,className:`w-40`,children:(0,U.jsx)(O,{})}),(0,U.jsxs)(D,{children:[(0,U.jsx)(j,{value:G,children:i()}),(0,U.jsx)(j,{value:`yes`,children:T()}),(0,U.jsx)(j,{value:`no`,children:h()})]})]}),(0,U.jsxs)(F,{value:y,onValueChange:X,children:[(0,U.jsx)(L,{size:`sm`,className:`w-40`,children:(0,U.jsx)(O,{placeholder:u()})}),(0,U.jsxs)(D,{children:[(0,U.jsx)(j,{value:G,children:c()}),ne.map(e=>(0,U.jsx)(j,{value:e,children:e},e))]})]})]}),(0,U.jsx)(B,{fields:K,seed:x,onChange:Q}),(0,U.jsx)(V,{title:a(),rows:$,emptyHint:p(),columns:[{header:f(),cell:e=>R(e.at),sort:e=>e.at},{header:s(),cell:e=>e.action,sort:e=>e.action},{header:d(),cell:e=>e.realLabel,sort:e=>e.realLabel},{header:S(),cell:e=>e.targetLabel??`—`,sort:e=>e.targetLabel??null},{header:u(),cell:e=>e.resource?e.resource+(e.resourceId?` · ${e.resourceId.slice(0,8)}`:``):`—`,sort:e=>e.resource??null}]})]})}export{q as AuditTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$D as r,AD as i,AO as a,BD as o,BJ as s,BO as c,CD as l,DD as u,E as d,ED as f,FD as p,FO as m,GD as h,HD as g,ID as _,IO as ee,JD as v,KD as y,LD as b,LJ as te,LO as ne,MD as re,ND as ie,OD as ae,PD as oe,PO as se,QD as ce,RD as le,RO as ue,SD as de,TD as fe,UD as pe,UO as me,VD as he,VO as ge,WD as _e,WO as ve,XD as ye,YD as be,ZD as xe,Zh as Se,_D as Ce,_l as we,aO as Te,ag as Ee,bD as De,cO as Oe,ca as ke,cg as Ae,dD as x,dg as je,eO as Me,fD as S,fg as Ne,gD as Pe,gl as Fe,hD as Ie,hl as Le,iO as Re,ig as ze,jD as Be,jO as Ve,kD as He,ko as Ue,lg as C,mD as We,mg as Ge,ml as Ke,nO as qe,ng as Je,oO as Ye,og as Xe,pD as Ze,pg as Qe,qD as $e,rO as et,rg as tt,sO as nt,sg as rt,t as w,tO as it,uD as T,ug as at,vD as ot,vl as st,wD as E,xD as ct,xl as lt,yD as ut,zD as dt,zJ as ft,zO as pt}from"./api-DL5MhfCR.js";import{r as D}from"./dist-CmEdak18.js";import{t as mt}from"./chevrons-up-down-DdtxjO9Y.js";import{i as ht,n as O,o as gt,r as _t,s as vt}from"./FieldLabel-bgrA2Q9d.js";import{t as k}from"./button-7-8JjL3V.js";import{Cn as A,Ht as j,J as yt,Jn as bt,L as xt,Ln as St,Lt as M,Rt as Ct,X as wt,Xn as Tt,Xt as Et,Y as Dt,Yn as Ot,Yt as kt,Zt as At,_t as jt,bt as N,ct as P,dt as F,er as I,ft as Mt,gt as Nt,lt as L,mt as Pt,pt as Ft,q as It,st as R,tr as Lt,tt as Rt,ut as z,vn as B,xt as zt,yt as Bt}from"./index-D2_zMS9W.js";import{r as Vt}from"./locales-CPjguROj.js";import{a as Ht,i as V,n as Ut,o as H,r as U,t as Wt}from"./table-BTGgG4wx.js";import{t as Gt}from"./FilterBar-6mIwprKY.js";import{c as Kt,i as qt,n as Jt,o as Yt,r as Xt,s as Zt,t as Qt}from"./compatView-BQHXVq4U.js";import{t as W}from"./dispatchErrorInfo-pvavDSyx.js";var $t=d(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),en=d(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),G=t(e(),1);function tn(e){return e.filter(e=>e.state===`error`)}function nn(e){return e.reachable&&tn(e.targets).length===0}function rn(e){return nn(e)?(e.unreachableInstances??[]).length>0?`gateways_unreachable`:`ok`:`error`}function an(e){return e.state===`error`&&e.lastErrorCode!==null}function on(e){return!!e.lastDownstreamRejectCode}function K(e){return!!e.lastLocalRefusalCode}function sn(e){return an(e)||on(e)||K(e)}function q(e){return e.kind??`openclaw`}function cn(e){return[...e].sort((e,t)=>e===`openclaw`?-1:t===`openclaw`?1:e.localeCompare(t))}function ln(e,t,n){let r=new Map;for(let e of t)e.instanceName&&r.set(e.instanceName,e.provider);for(let e of n)r.set(e.name,q(e));let i=e=>(e.instanceName?r.get(e.instanceName):void 0)??`openclaw`,a=new Set;for(let e of n)a.add(q(e));for(let e of t)a.add(e.provider);for(let t of e)a.add(i(t));return cn(a).map(r=>({key:r,connections:e.filter(e=>i(e)===r),compatTargets:t.filter(e=>e.provider===r),instances:n.filter(e=>q(e)===r)}))}function J(e){return e===`openclaw`?`OpenClaw`:e===`hermes`?`Hermes`:e.charAt(0).toUpperCase()+e.slice(1)}var Y=`__all__`,un={q:``,state:Y,instance:Y,version:Y},X={connected:0,error:1,idle:2};function dn(e){return e.q.trim()!==``||e.state!==`__all__`||e.instance!==`__all__`||e.version!==`__all__`}function fn(e,t){let n=t.q.trim().toLowerCase();return e.filter(e=>!(n&&!`${e.targetLabel} ${e.gatewayHost}`.toLowerCase().includes(n)||t.state!==`__all__`&&e.state!==t.state||t.instance!==`__all__`&&(e.instanceName??``)!==t.instance||t.version!==`__all__`&&(e.gatewayVersion??``)!==t.version))}function Z(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:`base`})}function pn(e,t){return e===`version`?t.gatewayVersion===null:e===`lastOk`?t.lastOkAt===null:!1}function mn(e,t,n){switch(e){case`state`:return(X[t.state]??99)-(X[n.state]??99);case`instance`:return Z(t.instanceLabel??t.instanceName??``,n.instanceLabel??n.instanceName??``);case`host`:return Z(t.gatewayHost,n.gatewayHost);case`version`:{let e=t.gatewayVersion,r=n.gatewayVersion;return Zt(e,r)??Z(e,r)}case`lastOk`:return t.lastOkAt-n.lastOkAt;default:return Z(t.targetLabel,n.targetLabel)}}function hn(e,t){if(!t)return e;let n=t.dir===`asc`?1:-1;return[...e].sort((e,r)=>{let i=pn(t.key,e),a=pn(t.key,r);return i&&a?0:i?1:a?-1:n*mn(t.key,e,r)})}function gn(e){let t=new Set;for(let n of e)t.add(n.state);return[...t].sort((e,t)=>(X[e]??99)-(X[t]??99))}function _n(e){let t=new Map;for(let n of e)n.instanceName!==null&&(t.has(n.instanceName)||t.set(n.instanceName,n.instanceLabel??n.instanceName));return[...t.entries()].map(([e,t])=>({name:e,label:t})).sort((e,t)=>Z(e.label,t.label))}function vn(e){let t=new Set;for(let n of e)n.gatewayVersion!==null&&t.add(n.gatewayVersion);return[...t].sort((e,t)=>Zt(e,t)??Z(e,t))}var Q=n();function yn({connections:e,displayByInstance:t}){let[n,r]=(0,G.useState)(un),[i,a]=(0,G.useState)(null),o=(0,G.useMemo)(()=>e.map((e,n)=>({_id:`${e.key}:${e.canonical}/${e.agentId}:${n}`,targetLabel:`${e.canonical}/${e.agentId}`,state:e.state,instanceName:e.instanceName??null,instanceLabel:e.instanceName?t.get(e.instanceName)??e.instanceName:null,gatewayHost:e.gatewayHost,gatewayVersion:e.gatewayVersion??null,okCount:e.okCount,errorCount:e.errorCount+(e.downstreamRejectCount??0)+(e.localRefusalCount??0),attempts:e.attempts,lastOkAt:e.lastOkAt??null,lastErrorCode:e.lastErrorCode??null,lastErrorAt:e.lastErrorAt??null,lastDownstreamRejectCode:e.lastDownstreamRejectCode??null,lastDownstreamRejectAt:e.lastDownstreamRejectAt??null,lastLocalRefusalCode:e.lastLocalRefusalCode??null,lastLocalRefusalAt:e.lastLocalRefusalAt??null})),[e,t]),s=(0,G.useMemo)(()=>gn(o),[o]),c=(0,G.useMemo)(()=>_n(o),[o]),u=(0,G.useMemo)(()=>vn(o),[o]),d=(0,G.useMemo)(()=>hn(fn(o,n),i),[o,n,i]);function f(e){a(t=>t?.key===e?t.dir===`asc`?{key:e,dir:`desc`}:null:{key:e,dir:`asc`})}return e.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:ae()}):(0,Q.jsxs)(`div`,{className:`oc-conn`,children:[(0,Q.jsxs)(Gt,{q:n.q,onQChange:e=>r(t=>({...t,q:e})),searchPlaceholder:fe(),onReset:()=>r(un),canReset:dn(n),children:[(0,Q.jsxs)(R,{value:n.state,onValueChange:e=>r(t=>({...t,state:e})),children:[(0,Q.jsx)(z,{size:`sm`,className:`w-36`,children:(0,Q.jsx)(F,{placeholder:l()})}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(L,{value:Y,children:E()}),s.map(e=>(0,Q.jsx)(L,{value:e,children:xn(e)},e))]})]}),(0,Q.jsxs)(R,{value:n.instance,onValueChange:e=>r(t=>({...t,instance:e})),children:[(0,Q.jsx)(z,{size:`sm`,className:`w-40`,children:(0,Q.jsx)(F,{placeholder:de()})}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(L,{value:Y,children:E()}),c.map(e=>(0,Q.jsx)(L,{value:e.name,children:e.label},e.name))]})]}),(0,Q.jsxs)(R,{value:n.version,onValueChange:e=>r(t=>({...t,version:e})),children:[(0,Q.jsx)(z,{size:`sm`,className:`w-36`,children:(0,Q.jsx)(F,{placeholder:ct()})}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(L,{value:Y,children:E()}),u.map(e=>(0,Q.jsx)(L,{value:e,children:e},e))]})]})]}),d.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:De()}):(0,Q.jsxs)(Wt,{className:`oc-conn__table`,children:[(0,Q.jsx)(Ht,{children:(0,Q.jsxs)(H,{children:[(0,Q.jsx)($,{label:ut(),sortKey:`target`,sort:i,onSort:f}),(0,Q.jsx)($,{label:ot(),sortKey:`state`,sort:i,onSort:f}),(0,Q.jsx)($,{label:Ce(),sortKey:`instance`,sort:i,onSort:f}),(0,Q.jsx)($,{label:Pe(),sortKey:`host`,sort:i,onSort:f}),(0,Q.jsx)($,{label:Ie(),sortKey:`version`,sort:i,onSort:f}),(0,Q.jsx)(V,{children:We()}),(0,Q.jsx)($,{label:Ze(),sortKey:`lastOk`,sort:i,onSort:f})]})}),(0,Q.jsx)(Ut,{children:d.map(e=>(0,Q.jsx)(bn,{r:e},e._id))})]})]})}function $({label:e,sortKey:t,sort:n,onSort:r}){let i=n?.key===t,a=i?n.dir:null;return(0,Q.jsx)(V,{"aria-sort":i?a===`asc`?`ascending`:`descending`:`none`,children:(0,Q.jsxs)(`button`,{type:`button`,className:`oc-conn__sort`,onClick:()=>r(t),children:[e,i?a===`asc`?(0,Q.jsx)(Ot,{size:13,"aria-hidden":!0}):(0,Q.jsx)(D,{size:13,"aria-hidden":!0}):(0,Q.jsx)(mt,{size:13,"aria-hidden":!0,className:`oc-conn__sort-idle`})]})})}function bn({r:e}){let t=an(e)?W(e.lastErrorCode):null,n=on(e)?W(e.lastDownstreamRejectCode):null,r=K(e)?W(e.lastLocalRefusalCode):null;return(0,Q.jsxs)(G.Fragment,{children:[(0,Q.jsxs)(H,{className:`oc-conn__row oc-conn__row--${e.state}`,children:[(0,Q.jsx)(U,{children:(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.targetLabel})}),(0,Q.jsx)(U,{children:(0,Q.jsx)(Sn,{state:e.state})}),(0,Q.jsx)(U,{children:e.instanceLabel?(0,Q.jsx)(`span`,{className:`oc-bridge-target__instance`,children:e.instanceLabel}):(0,Q.jsx)(`span`,{className:`oc-traces__muted`,children:`—`})}),(0,Q.jsx)(U,{children:(0,Q.jsx)(`span`,{className:`oc-bridge-target__host`,children:e.gatewayHost})}),(0,Q.jsx)(U,{children:e.gatewayVersion?(0,Q.jsx)(`span`,{className:`oc-bridge-target__version`,children:e.gatewayVersion}):(0,Q.jsx)(`span`,{className:`oc-traces__muted`,children:`—`})}),(0,Q.jsx)(U,{children:(0,Q.jsx)(`span`,{className:`oc-conn__stats`,children:u({ok:e.okCount,errors:e.errorCount,attempts:e.attempts})})}),(0,Q.jsx)(U,{children:e.lastOkAt?(0,Q.jsx)(`span`,{className:`oc-traces__mono`,children:N(e.lastOkAt)}):(0,Q.jsx)(`span`,{className:`oc-traces__muted`,children:`—`})})]}),sn(e)?(0,Q.jsx)(H,{className:`oc-conn__detail-row`,children:(0,Q.jsxs)(U,{colSpan:7,className:`oc-conn__detail-cell`,children:[t?(0,Q.jsxs)(`div`,{className:`oc-bridge-target__error`,children:[(0,Q.jsx)(`strong`,{children:t.label}),` `,(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.lastErrorCode}),e.lastErrorAt?` · ${N(e.lastErrorAt)}`:``,(0,Q.jsx)(`p`,{className:`oc-bridge-card__hint`,children:t.hint})]}):null,r?(0,Q.jsxs)(`div`,{className:`oc-bridge-target__downstream`,children:[ke({label:r.label}),` `,(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.lastLocalRefusalCode}),e.lastLocalRefusalAt?` · ${N(e.lastLocalRefusalAt)}`:``,(0,Q.jsx)(`p`,{className:`oc-bridge-card__hint`,children:r.hint})]}):null,n?(0,Q.jsxs)(`div`,{className:`oc-bridge-target__downstream`,children:[f({label:n.label}),` `,(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.lastDownstreamRejectCode}),e.lastDownstreamRejectAt?` · ${N(e.lastDownstreamRejectAt)}`:``]}):null]})}):null]})}function xn(e){return e===`connected`?S():e===`error`?x():T()}function Sn({state:e}){return e===`connected`?(0,Q.jsx)(M,{variant:`secondary`,children:S()}):e===`error`?(0,Q.jsx)(M,{variant:`destructive`,children:x()}):(0,Q.jsx)(M,{variant:`outline`,children:T()})}function Cn(){return s(w.bridgeHealth.getBridgeHealth,{})}function wn(){let e=Cn(),t=s(w.compat.getBridgeCompat,{}),n=s(w.me.getMe,{host:Rt})?.role===`admin`,r=s(w.admin.listInstances,n?{}:`skip`),i=s(w.agents.usageForInstances,n?{}:`skip`),a=I(),o=()=>void a({to:`/settings/anomalies`,search:{status:`open`}}),c=ln(e?e.targets:[],t?t.targets:[],r??[]),{section:l}=Lt({from:`/settings/bridge`}),u=I({from:`/settings/bridge`}),d=t?.compat??null,f=t===void 0?`loading`:t===null?`nodata`:`ready`,p=d!==null&&Xt(d,`hermes`)&&!c.some(e=>e.key===`hermes`);return(0,Q.jsxs)(`div`,{className:`oc-bridge`,children:[(0,Q.jsx)(Tn,{health:e,compat:t,onSeeAnomalies:o}),(0,Q.jsx)(`p`,{className:`oc-admin__hint oc-bridge__caption`,children:v()}),i&&i.length>0?(0,Q.jsxs)(`section`,{className:`oc-bridge__usage`,children:[(0,Q.jsx)(`h3`,{className:`oc-bridge__usage-title`,children:$e()}),(0,Q.jsxs)(Wt,{children:[(0,Q.jsx)(Ht,{children:(0,Q.jsxs)(H,{children:[(0,Q.jsx)(V,{children:st()}),(0,Q.jsx)(V,{children:we()}),(0,Q.jsx)(V,{children:Fe()}),(0,Q.jsx)(V,{children:Le()}),(0,Q.jsx)(V,{children:Ke()})]})}),(0,Q.jsx)(Ut,{children:i.flatMap(e=>{let t=xt(e.usage,Date.now());return t?t.windows.map((t,n)=>(0,Q.jsxs)(H,{children:[(0,Q.jsx)(U,{className:`font-medium`,children:n===0?e.instanceName:``}),(0,Q.jsx)(U,{children:t.provider}),(0,Q.jsx)(U,{children:t.label}),(0,Q.jsx)(U,{children:(0,Q.jsxs)(M,{variant:t.percentLeft<=10?`destructive`:t.percentLeft<=25?`outline`:`secondary`,children:[t.percentLeft,`%`]})}),(0,Q.jsx)(U,{className:`text-muted-foreground`,children:t.resetText??`—`})]},`${e.instanceName}:${t.provider}:${t.label}`)):[]})})]})]}):null,c.length>0?(0,Q.jsxs)(It,{value:c.some(e=>e.key===l)?l:c[0]?.key??`openclaw`,onValueChange:e=>void u({search:{section:e},replace:!0}),children:[(0,Q.jsx)(Dt,{className:`w-full`,children:c.map(e=>(0,Q.jsxs)(wt,{value:e.key,className:`flex-1 gap-1.5`,children:[(0,Q.jsx)(A,{size:13,"aria-hidden":!0}),J(e.key)]},e.key))}),c.map(e=>(0,Q.jsx)(yt,{value:e.key,children:(0,Q.jsx)(En,{providerKey:e.key,connections:e.connections,instances:e.instances,manifest:d,compatStatus:f,compatReachable:t?.reachable??!0,protocol:e.key===`openclaw`?t?.protocol??null:null})},e.key))]}):null,p?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Se()}):null]})}function Tn({health:e,compat:t,onSeeAnomalies:n}){let r=t!=null&&t.buildVersion!=null&&t.bridgeVersion!=null&&t.buildVersion!==t.bridgeVersion,a=t?.buildRevision&&t.buildRevision!==`unknown`?t.buildRevision.slice(0,7):null,o=t&&t!==null?(0,Q.jsxs)(`span`,{className:`oc-bridge-card__ver`,children:[(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:Yt(t.bridgeVersion)}),a?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsxs)(`code`,{className:`oc-traces__mono`,title:Ne(),children:[`(`,a,`)`]})]}):null,r?(0,Q.jsxs)(`strong`,{className:`oc-bridge-card__mismatch`,children:[` `,je({build:t.buildVersion??`?`})]}):null,` · `,at(),` `,(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:t.protocolVersion===null?C():String(t.protocolVersion)})]}):null;if(e===void 0)return(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:dt()});if(e===null)return(0,Q.jsx)(`div`,{className:`oc-bridge-card oc-bridge-card--idle`,children:le()});let s=tn(e.targets),c=!e.reachable,l=rn(e),u=e.unreachableInstances??[],d=l===`ok`?`ok`:l===`gateways_unreachable`?`warn`:`error`,f=Bt(e.checkedAt),m=e.startedAt==null?null:Bt(e.startedAt);return(0,Q.jsxs)(`div`,{className:`oc-bridge-card oc-bridge-card--${d}`,children:[(0,Q.jsx)(`div`,{className:`oc-bridge-card__icon`,"aria-hidden":!0,children:l===`ok`?(0,Q.jsx)(bt,{size:22}):c||l===`gateways_unreachable`?(0,Q.jsx)(en,{size:22}):(0,Q.jsx)(B,{size:22})}),(0,Q.jsxs)(`div`,{className:`oc-bridge-card__body`,children:[(0,Q.jsx)(`div`,{className:`oc-bridge-card__title`,children:l===`ok`?b():l===`gateways_unreachable`?ie({count:u.length}):c?_():p({count:s.length})}),(0,Q.jsxs)(`div`,{className:`oc-bridge-card__meta`,children:[(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)($t,{size:12,"aria-hidden":!0}),` `,oe({time:f})]}),m?(0,Q.jsx)(`span`,{children:Be({time:m})}):null,o]}),l===`gateways_unreachable`?(0,Q.jsx)(`p`,{className:`oc-bridge-card__hint`,children:re({names:u.join(`, `)})}):null,c?(0,Q.jsx)(`p`,{className:`oc-bridge-card__hint`,children:W(e.lastError===`not_configured`?`NOT_CONFIGURED`:`BRIDGE_UNREACHABLE`).hint}):null]}),(0,Q.jsx)(`button`,{type:`button`,className:`oc-bridgebar__drill`,onClick:n,children:i()})]})}function En({providerKey:e,connections:t,instances:n,manifest:r,compatStatus:i,compatReachable:a,protocol:o}){let s=r?Kt(r,e):null,c=new Map;for(let e of n)c.set(e.name,e.displayName??e.name);let l=[],u=new Set;for(let n of t){if(!n.instanceName||u.has(n.instanceName))continue;u.add(n.instanceName);let t=n.gatewayVersion??null;l.push({instanceName:n.instanceName,displayName:c.get(n.instanceName)??n.instanceName,version:t,state:Jt(t,e,r)})}let d=Qt(l.map(e=>e.state)),[f,p]=(0,G.useState)(!1);return(0,Q.jsxs)(`section`,{className:`oc-bridge-provider`,children:[(0,Q.jsxs)(`header`,{className:`oc-bridge-provider__head`,children:[(0,Q.jsx)(A,{size:15,"aria-hidden":!0,className:`oc-bridge-provider__icon`}),(0,Q.jsx)(`span`,{className:`oc-bridge-provider__name`,children:J(e)}),d?(0,Q.jsx)(M,{variant:d===`beyond`||d===`defective`?`destructive`:`secondary`,children:qt(d)}):null]}),(0,Q.jsx)(`h4`,{className:`oc-bridge-provider__sub`,children:Ge()}),(0,Q.jsx)(On,{providerName:J(e),support:s,compatStatus:i,compatReachable:a,manifest:r,instanceRows:l}),o?(0,Q.jsx)(Dn,{protocol:o}):null,(0,Q.jsxs)(`button`,{type:`button`,className:`oc-bridge-provider__sub oc-bridge-provider__sub--toggle`,"aria-expanded":f,onClick:()=>p(e=>!e),children:[f?(0,Q.jsx)(D,{size:13,"aria-hidden":!0}):(0,Q.jsx)(Tt,{size:13,"aria-hidden":!0}),He({count:t.length})]}),f?(0,Q.jsx)(yn,{connections:t,displayByInstance:c}):null]})}function Dn({protocol:e}){let[t,n]=(0,G.useState)(!1),r=e.coverage,i=e.drift??[],a=(e.driftOverflow??0)+(e.driftTruncated??0);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`h4`,{className:`oc-bridge-provider__sub`,children:[y(),i.length>0?(0,Q.jsx)(M,{variant:`destructive`,children:_e({count:i.length})}):a>0?(0,Q.jsx)(M,{variant:`destructive`,children:pe()}):(0,Q.jsx)(M,{variant:`secondary`,children:h()})]}),(0,Q.jsxs)(`p`,{className:`oc-admin__hint`,children:[g({version:e.vendoredVersion}),r?` · `+he({handled:r.handled,ignored:r.ignored,gaps:r.gaps}):null]}),a>0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Ue({overflow:e.driftOverflow??0,truncated:e.driftTruncated??0})}):null,i.length>0?(0,Q.jsx)(`ul`,{className:`oc-bridge-protocol__list`,role:`list`,children:i.map(e=>(0,Q.jsxs)(`li`,{children:[(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.shape}),` × `,e.count]},e.shape))}):null,r&&r.gapList.length>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`button`,{type:`button`,className:`oc-bridge-provider__sub oc-bridge-provider__sub--toggle`,"aria-expanded":t,onClick:()=>n(e=>!e),children:[t?(0,Q.jsx)(D,{size:13,"aria-hidden":!0}):(0,Q.jsx)(Tt,{size:13,"aria-hidden":!0}),o({count:r.gapList.length})]}),t?(0,Q.jsx)(`ul`,{className:`oc-bridge-protocol__list`,role:`list`,children:r.gapList.map(e=>(0,Q.jsx)(`li`,{children:(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e})},e))}):null]}):null]})}function On({support:e,compatStatus:t,compatReachable:n,manifest:r,instanceRows:i,providerName:a}){return t===`loading`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:dt()}):t===`nodata`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Qe()}):(0,Q.jsxs)(`div`,{className:`oc-compat`,children:[n?null:(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Ae()}),r===null?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:rt()}):(0,Q.jsxs)(`div`,{className:`oc-compat__support`,children:[(0,Q.jsx)(`span`,{className:`oc-compat__label`,children:lt({provider:a})}),e&&e.range!==null?(0,Q.jsx)(`span`,{children:Xe({min:e.range.min,max:e.range.maxValidated})}):(0,Q.jsx)(`span`,{children:C()}),e?(0,Q.jsx)(Mn,{versions:e.validatedVersions}):null]}),i.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Je()}):(0,Q.jsx)(`div`,{className:`oc-compat__targets`,children:i.map(e=>(0,Q.jsxs)(`div`,{className:`oc-compat__target`,children:[(0,Q.jsx)(`span`,{className:`oc-compat__instance`,children:e.displayName}),(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:Yt(e.version)}),(0,Q.jsx)(M,{variant:e.state===`supported`?`secondary`:e.state===`beyond`||e.state===`defective`?`destructive`:`outline`,children:qt(e.state)})]},e.instanceName))})]})}function kn({instance:e,onClose:t}){return(0,Q.jsx)(Mt,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Q.jsxs)(Ft,{className:`oc-bridge-config-dialog`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Q.jsxs)(Nt,{children:[(0,Q.jsx)(jt,{children:ve({instance:e.displayName??e.name})}),(0,Q.jsx)(Pt,{children:me()})]}),(0,Q.jsx)(jn,{instance:e,onClose:t})]})})}function An({label:e,result:t}){return t?t.checked?(0,Q.jsxs)(`p`,{className:`oc-bridge-config__check-row `+(t.ok?`oc-bridge-config__check-row--ok`:`oc-bridge-config__check-row--err`),children:[t.ok?(0,Q.jsx)(bt,{"aria-hidden":!0}):(0,Q.jsx)(B,{"aria-hidden":!0}),(0,Q.jsxs)(`span`,{children:[e,` — `,t.ok?ce():t.detail]})]}):(0,Q.jsxs)(`p`,{className:`oc-bridge-config__check-row oc-bridge-config__check-row--skip`,children:[e,` — `,xe()]}):null}function jn({instance:e,onClose:t}){let n=ft(w.admin.upsertInstanceConfig),i=te(w.bridge.validateMediaPaths),o=Ct(),s=Vt(e.config?.contentLocale,void 0),[l,u]=(0,G.useState)(()=>ht(e.config??{},s)),[d,f]=(0,G.useState)(!1),[p,h]=(0,G.useState)(!1),[g,_]=(0,G.useState)(null),v=l.inboundMediaMode===`shared-fs`,y=l.mediaMode===`shared-fs`,b=v||y;async function re(){h(!0),_(null);try{_(await i({instanceName:e.name,inboundMediaMode:l.inboundMediaMode,mediaMode:l.mediaMode}))}catch(e){o.error(qe(),e)}finally{h(!1)}}async function ie(){f(!0);try{let r=e.config??{};await n({instanceId:e._id,config:_t(l,r,s)}),t()}catch(e){o.error(ee(),e)}finally{f(!1)}}return(0,Q.jsx)(`div`,{className:`oc-bridge-config`,children:(0,Q.jsxs)(`div`,{className:`oc-bridge-config__form`,children:[(0,Q.jsxs)(`div`,{className:`oc-bridge-config__grid`,children:[(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(O,{label:ge(),help:m()}),(0,Q.jsxs)(R,{value:l.mediaMode,onValueChange:e=>u({...l,mediaMode:e}),children:[(0,Q.jsx)(z,{size:`sm`,className:`w-full`,children:(0,Q.jsx)(F,{})}),(0,Q.jsx)(P,{children:vt.map(e=>(0,Q.jsx)(L,{value:e,children:e},e))})]})]}),(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(O,{label:c(),help:se()}),(0,Q.jsxs)(R,{value:l.inboundMediaMode,onValueChange:e=>u({...l,inboundMediaMode:e}),children:[(0,Q.jsx)(z,{size:`sm`,className:`w-full`,children:(0,Q.jsx)(F,{})}),(0,Q.jsx)(P,{children:gt.map(e=>(0,Q.jsx)(L,{value:e,children:e},e))})]})]}),(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(O,{label:pt(),help:Ve()}),(0,Q.jsx)(j,{type:`number`,min:1,max:4096,className:`w-full`,value:l.mediaMaxMb,onChange:e=>u({...l,mediaMaxMb:Math.trunc(Number(e.target.value)||0)})})]})]}),b&&(0,Q.jsxs)(`div`,{className:`oc-bridge-config__grid`,children:[v&&(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(O,{label:Oe(),help:nt()}),(0,Q.jsx)(j,{className:`w-full`,spellCheck:!1,value:l.inboundAgentMount,onChange:e=>u({...l,inboundAgentMount:e.target.value})})]}),y&&(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(O,{label:Ye(),help:Te()}),(0,Q.jsx)(j,{className:`w-full`,spellCheck:!1,value:l.outboundAgentMount,onChange:e=>u({...l,outboundAgentMount:e.target.value})})]})]}),(0,Q.jsxs)(`label`,{className:`oc-field--row`,children:[(0,Q.jsx)(zt,{checked:l.rehydration,onCheckedChange:e=>u({...l,rehydration:e===!0})}),(0,Q.jsx)(O,{label:ue(),help:a()})]}),b&&g!==null&&(0,Q.jsx)(`div`,{className:`oc-bridge-config__check`,children:g.reachable?!g.inbound&&!g.outbound?(0,Q.jsxs)(`p`,{className:`oc-bridge-config__check-row oc-bridge-config__check-row--err`,children:[(0,Q.jsx)(B,{"aria-hidden":!0}),be({reason:g.reason??`?`})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(An,{label:Me(),result:g.inbound}),(0,Q.jsx)(An,{label:r(),result:g.outbound}),(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:it()})]}):(0,Q.jsxs)(`p`,{className:`oc-bridge-config__check-row oc-bridge-config__check-row--err`,children:[(0,Q.jsx)(B,{"aria-hidden":!0}),ye()]})}),(0,Q.jsxs)(`div`,{className:`oc-bridge-config__actions`,children:[b&&(0,Q.jsxs)(k,{variant:`outline`,size:`sm`,onClick:()=>void re(),disabled:p,children:[p?(0,Q.jsx)(St,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,p?et():Re()]}),(0,Q.jsx)(k,{size:`sm`,onClick:()=>void ie(),disabled:d,children:ne()})]})]})})}function Mn({versions:e}){if(e.length===0)return null;let t=[...e].reverse();return(0,Q.jsxs)(kt,{children:[(0,Q.jsx)(At,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,className:`oc-compat__versions-btn`,children:[e.length===1?Ee():ze({count:e.length}),(0,Q.jsx)(D,{size:13,"aria-hidden":!0})]})}),(0,Q.jsxs)(Et,{className:`oc-compat__versions-pop`,align:`start`,children:[(0,Q.jsx)(`p`,{className:`oc-compat__versions-title`,children:tt()}),(0,Q.jsx)(`div`,{className:`oc-compat__versions-list`,children:t.map(e=>(0,Q.jsx)(M,{variant:`secondary`,children:e},e))})]})]})}export{wn as BridgeTab,kn as InstanceConfigDialog};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$g as r,A as i,AJ as a,B as o,BJ as s,B_ as c,Bf as l,Cg as u,D as d,F as f,Ff as p,G as m,H as h,HO as g,I as _,If as v,J as y,K as b,L as x,LJ as S,Lf as C,M as ee,Mf as te,N as ne,N_ as re,Nf as ie,O as ae,P as oe,P_ as se,Pf as ce,Q as w,R as le,R_ as ue,Rf as T,Sg as E,U as de,V as D,W as fe,X as pe,Y as me,Z as he,_g as O,bg as k,bl as ge,gg as A,hg as j,j as M,jf as _e,k as ve,q as ye,t as N,vg as P,xg as be,yg as xe,z as Se,zJ as F,zf as Ce}from"./api-DL5MhfCR.js";import{t as we}from"./use_paginated_query-DuQlVoOP.js";import{t as I}from"./button-7-8JjL3V.js";import{G as Te,Ht as L,K as R,W as z,ct as B,dt as V,lt as H,st as U,ut as W,vn as Ee,xt as G}from"./index-D2_zMS9W.js";import{a as De}from"./compatView-BQHXVq4U.js";/* empty css */var K=t(e(),1),Oe=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function ke(e){let t=typeof e==`object`&&e?e:{},n=t.defaults!==null&&typeof t.defaults==`object`?t.defaults:{},r=n.thinkingDefault??t.thinkingDefault,i=n.fastModeDefault??t.fastModeDefault;return{thinkingDefault:typeof r==`string`?r:null,fastModeDefault:typeof i==`boolean`?i:null}}var q=[`auto`,`hybrid`,`tool`,`off`];function Ae(e){switch(e){case`auto`:return me();case`hybrid`:return y();case`tool`:return ye();default:return b()}}function J(e){return{injection:e.injection??`auto`,defaultSources:e.defaultSources,...e.config?{config:e.config}:{}}}function Y(e){return typeof e==`string`&&q.includes(e)}function X(e){return{injection:Y(e.injection)?e.injection:`auto`,sources:e.defaultSources.filter(t=>e.sources.some(e=>e.id===t))}}function Z(e,t){let n=new Set(e);return n.size===new Set(t).size&&t.every(e=>n.has(e))}function je(e,t,n){let r=n?e.defaultWriteRefused===`scope_refused`?D():Me(e)?M():null:h(),i=X(e),a=t.injection!==i.injection||!Z(t.sources,i.sources),o=new Set(e.sources.map(e=>e.id)),s=t.sources.length>0&&t.sources.length<=16&&t.sources.every(e=>o.has(e));return{readOnlyReason:r,dirty:a,valid:s,invalidReason:s?null:fe()}}function Me(e){return(e.contract??1)<2&&e.ownAllowlist===!1}function Ne(e,t,n){let r=t.sources.includes(n)?t.sources.filter(e=>e!==n):[...t.sources,n];return{...t,sources:e.sources.map(e=>e.id).filter(e=>r.includes(e))}}function Q(e){return e.ok?null:e.code===`scope_refused`?D():e.code===`stale_default`?o():e.code===`write_unknown`||e.code===`not_confirmed`?x():e.code===`not_applied`?_():e.code===`default_too_large`?ve():e.code===`allowlist_too_large`?i():e.code===`plugin_too_old`?M():e.code===`source_not_allowed`?ee():e.code===`plugin_config_lag`?ne():e.code===`knowledge_unavailable`&&e.reason===`plugin_absent`?de():Se({code:e.code})}function Pe(e,t){let n=J(e),r=J(t);if(n.injection!==r.injection||!Z(n.defaultSources,r.defaultSources))return!0;let i=n.config,a=r.config;return i===void 0||a===void 0?i!==a:i.injection!==a.injection||!((e,t)=>e===null||t===null?e===t:e.length===t.length&&e.every((e,n)=>e===t[n]))(i.sources,a.sources)}var $=n();function Fe({instanceName:e,row:t,supported:n}){let r=S(N.knowledge.setAgentKnowledgeDefault),[i,a]=(0,K.useState)(t),[o,s]=(0,K.useState)(()=>X(t)),[l,u]=(0,K.useState)(`idle`),[f,p]=(0,K.useState)(null),[h,g]=(0,K.useState)(!1),_=e=>{a(e),s(X(e)),p(null)},v=Pe(i,t);(0,K.useEffect)(()=>{h&&v&&(g(!1),_(t))},[h,v]);let y=je(i,o,n),b=y.readOnlyReason===null;async function x(){u(`saving`),p(null);try{let n=Q(await r({instanceName:e,agentId:t.agentId,injection:o.injection,sources:o.sources,expected:J(i)}));p(n),u(n===null?`done`:`idle`),n===null&&g(!0)}catch(e){p(Q({ok:!1,code:String(e?.message??`error`).slice(0,60)})),u(`idle`)}}return(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,"data-knowledge-agent":t.agentId,children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:t.agentId}),(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`oc-cdefaults__inline`,children:(0,$.jsxs)(U,{value:o.injection,onValueChange:e=>{Y(e)&&s({...o,injection:e})},disabled:!b,children:[(0,$.jsx)(W,{className:`oc-cdefaults__select`,"aria-label":pe(),children:(0,$.jsx)(V,{})}),(0,$.jsx)(B,{children:q.map(e=>(0,$.jsx)(H,{value:e,children:Ae(e)},e))})]})}),(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:m()}),t.sources.map(e=>(0,$.jsxs)(`label`,{className:`oc-cdefaults__inline`,style:{cursor:b?`pointer`:`default`},title:e.description||void 0,children:[(0,$.jsx)(G,{checked:o.sources.includes(e.id),onCheckedChange:()=>s(Ne(t,o,e.id)),disabled:!b,"aria-label":e.label,"data-knowledge-default-source":e.id}),(0,$.jsx)(`span`,{children:e.label})]},e.id)),v&&!h?(0,$.jsxs)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:[ae(),` `,(0,$.jsx)(I,{variant:`outline`,size:`sm`,onClick:()=>_(t),children:d()})]}):null,t.overridesAllowed?null:(0,$.jsx)(`p`,{className:`oc-cdefaults__help`,children:le()}),b?(0,$.jsx)(`div`,{className:`oc-cdefaults__inline`,children:(0,$.jsx)(I,{size:`sm`,disabled:!y.dirty||!y.valid||l===`saving`,onClick:()=>void x(),children:l===`saving`?c():O()})}):(0,$.jsx)(`p`,{className:`oc-cdefaults__note`,children:y.readOnlyReason}),b&&y.dirty&&y.invalidReason!==null?(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:y.invalidReason}):null,l===`done`&&f===null?(0,$.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:A()}):null,f===null?null:(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:f})]})]})}function Ie({instanceName:e}){let t=s(N.knowledge.knowledgeAdminInstance,{instanceName:e}),{results:n,status:r,loadMore:i}=we(N.knowledge.agentKnowledgePage,{instanceName:e},{initialNumItems:50});return t===void 0||t.provider!==`openclaw`||n.length===0&&r!==`CanLoadMore`?null:(0,$.jsxs)(`section`,{className:`oc-cdefaults__row`,"aria-label":w(),children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:w()}),(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:he()}),t.supported?null:(0,$.jsx)(`p`,{className:`oc-cdefaults__note`,children:h()}),n.map(n=>(0,$.jsx)(Fe,{instanceName:e,row:n,supported:t.supported},n.agentId)),r===`CanLoadMore`||r===`LoadingMore`?(0,$.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:f({shown:n.length})}),(0,$.jsx)(I,{variant:`outline`,size:`sm`,disabled:r===`LoadingMore`,onClick:()=>i(50),"data-knowledge-load-more":!0,children:oe()})]}):null]})}function Le({instance:e}){let t=F(N.admin.upsertInstanceConfig),n=s(N.agents.listAgentsForInstance,{instanceName:e.name}),r=typeof e.config?.converterAgentId==`string`?e.config.converterAgentId:``,[i,a]=(0,K.useState)(r),[o,l]=(0,K.useState)(`idle`);(0,K.useEffect)(()=>{a(r),l(`idle`)},[e._id,r]);let u=`__none__`,d=i!==r;async function f(){l(`saving`);try{let n={...e.config??{}};i===``||i===u?delete n.converterAgentId:n.converterAgentId=i,await t({instanceId:e._id,config:n}),l(`done`)}catch{l(`error`)}}let m=n?.agents??[];return(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:C()}),(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:v()}),(0,$.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,$.jsxs)(U,{value:i===``?u:i,onValueChange:e=>a(e===u?``:e),children:[(0,$.jsx)(W,{className:`oc-cdefaults__select`,"aria-label":C(),children:(0,$.jsx)(V,{placeholder:p()})}),(0,$.jsxs)(B,{children:[(0,$.jsx)(H,{value:u,children:p()}),m.map(e=>(0,$.jsx)(H,{value:e.agentId,children:e.displayName?`${e.displayName} (${e.agentId})`:e.agentId},e.agentId))]})]}),(0,$.jsx)(I,{size:`sm`,disabled:!d||o===`saving`,onClick:()=>void f(),children:o===`saving`?c():O()})]}),o===`done`?(0,$.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:A()}):null,o===`error`?(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:j()}):null]})}function Re({instance:e}){let t=F(N.admin.upsertInstanceConfig),n=e.config?.curationEnabled===!0,r=typeof e.config?.curationBudgetChars==`number`?e.config.curationBudgetChars:null,[i,a]=(0,K.useState)(n),[o,s]=(0,K.useState)(r===null?``:String(r)),[l,u]=(0,K.useState)(`idle`);(0,K.useEffect)(()=>{a(n),s(r===null?``:String(r)),u(`idle`)},[e._id,n,r]);let d=o.trim(),f=d===``?null:/^\d+$/.test(d)?Number.parseInt(d,10):NaN,p=!i||f===null||Number.isInteger(f)&&f>=4e3&&f<=6e4,m=i!==n||(f??null)!==r;async function h(){u(`saving`);try{let n={...e.config??{}};n.curationEnabled=i,!i||f===null||Number.isNaN(f)?delete n.curationBudgetChars:n.curationBudgetChars=f,await t({instanceId:e._id,config:n}),u(`done`)}catch{u(`error`)}}return(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,$.jsxs)(`label`,{className:`oc-cdefaults__inline`,style:{cursor:`pointer`},children:[(0,$.jsx)(G,{checked:i,onCheckedChange:e=>a(e===!0),"aria-label":T()}),(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:T()})]}),(0,$.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,$.jsx)(L,{type:`number`,min:4e3,max:6e4,step:1e3,placeholder:`20000`,value:o,onChange:e=>s(e.target.value),className:`oc-cdefaults__number`,"aria-invalid":!p,"aria-label":ce(),disabled:!i}),(0,$.jsx)(I,{size:`sm`,disabled:!m||!p||l===`saving`,onClick:()=>void h(),children:l===`saving`?c():O()})]}),p?null:(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:ie()}),l===`done`?(0,$.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:A()}):null,l===`error`?(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:j()}):null,(0,$.jsx)(`p`,{className:`oc-cdefaults__help`,children:te()})]})}function ze({instance:e}){let t=F(N.admin.upsertInstanceConfig),n=typeof e.config?.summarizeThresholdChars==`number`?e.config.summarizeThresholdChars:null,[r,i]=(0,K.useState)(n===null?``:String(n)),[a,o]=(0,K.useState)(`idle`);(0,K.useEffect)(()=>{i(n===null?``:String(n)),o(`idle`)},[e._id,n]);let s=r.trim(),u=s===``?null:/^\d+$/.test(s)?Number.parseInt(s,10):NaN,d=u===null||Number.isInteger(u)&&u>=1e3&&u<=2e5,f=(u??null)!==n;async function p(){o(`saving`);try{let n={...e.config??{}};u===null?delete n.summarizeThresholdChars:n.summarizeThresholdChars=u,await t({instanceId:e._id,config:n}),o(`done`)}catch{o(`error`)}}return(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:l()}),(0,$.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,$.jsx)(L,{type:`number`,min:1e3,max:2e5,step:1e3,placeholder:`8000`,value:r,onChange:e=>i(e.target.value),className:`oc-cdefaults__number`,"aria-invalid":!d}),(0,$.jsx)(I,{size:`sm`,disabled:!f||!d||a===`saving`,onClick:()=>void p(),children:a===`saving`?c():O()})]}),d?null:(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:_e()}),a===`done`?(0,$.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:A()}):null,a===`error`?(0,$.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:j()}):null,(0,$.jsx)(`p`,{className:`oc-cdefaults__help`,children:Ce()})]})}function Be(){let e=S(N.agentFiles.getChatDefaults),[t,n]=(0,K.useState)({status:`loading`}),i=s(N.admin.listInstances,{}),[o,c]=(0,K.useState)(null);(0,K.useEffect)(()=>{!i||i.length===0||(!o||!i.some(e=>e.name===o))&&c(i[0].name)},[i,o]);let l=(i?.length??0)>1,d=i!==void 0&&i.length===0,f=s(N.compat.forInstance,o?{instanceName:o}:`skip`),p=o?Te(f,`configDefaults`):`loading`,m=p===`loading`?null:p.blocked,h=(0,K.useMemo)(()=>l&&o?{instanceName:o}:{},[l,o]),_=(0,K.useRef)(0),v=(0,K.useCallback)(async()=>{let t=++_.current;n({status:`loading`});try{let r=ke(await e(h));if(_.current!==t)return;n({status:`done`,current:r})}catch{if(_.current!==t)return;n({status:`error`})}},[e,h]);(0,K.useEffect)(()=>{m===!1&&(l&&!o||v())},[v,m,l,o]);let y=t.status===`done`?t.current:null,b=(0,K.useMemo)(()=>Oe.map(e=>({id:e,label:R(e)})),[]),x=(0,K.useMemo)(()=>[{id:`fast`,label:se()},{id:`standard`,label:re()}],[]);return(0,$.jsxs)(`div`,{className:`oc-cdefaults`,children:[(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:u()}),l&&o?(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:r()}),(0,$.jsxs)(U,{value:o,onValueChange:e=>c(e),children:[(0,$.jsx)(W,{size:`sm`,"aria-label":r(),children:(0,$.jsx)(V,{})}),(0,$.jsx)(B,{children:(i??[]).map(e=>(0,$.jsx)(H,{value:e.name,children:e.name},e.name))})]})]}):null,d?(0,$.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:g()}):p===`loading`?(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):p.blocked?(0,$.jsxs)(`p`,{className:`oc-compat__blocked`,role:`status`,children:[(0,$.jsx)(Ee,{size:14,"aria-hidden":!0}),` `,De(p.gatewayVersion,p.provider)]}):t.status===`loading`?(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:a()}):t.status===`error`?(0,$.jsxs)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:[P(),` `,(0,$.jsx)(I,{variant:`outline`,size:`sm`,onClick:()=>void v(),children:ue()})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:E()}),(0,$.jsx)(z,{field:`thinkingLevel`,options:b,value:y?.thinkingDefault??null,onChange:()=>{},disabled:!0,ariaLabel:E()}),(0,$.jsx)(`p`,{className:`oc-cdefaults__help`,children:be()})]}),(0,$.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,$.jsx)(`span`,{className:`oc-cdefaults__label`,children:k()}),(0,$.jsx)(z,{field:`fastMode`,options:x,value:y===null||y.fastModeDefault===null?null:y.fastModeDefault?`fast`:`standard`,onChange:()=>{},disabled:!0,ariaLabel:k()}),(0,$.jsx)(`p`,{className:`oc-cdefaults__help`,children:xe()})]}),(0,$.jsx)(`p`,{className:`oc-cdefaults__note`,children:ge()})]}),(()=>{let e=i?.find(e=>e.name===(o??i[0]?.name));return e?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ze,{instance:e}),(0,$.jsx)(Re,{instance:e}),(0,$.jsx)(Le,{instance:e}),(0,$.jsx)(Ie,{instanceName:e.name})]}):null})()]})}export{Be as ChatDefaultsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$F as r,AF as i,BF as a,BJ as o,CF as s,DF as c,EF as l,FF as u,GF as d,HF as f,Hd as p,IF as m,JF as h,KF as g,LF as _,MF as v,NF as ee,OF as y,PF as te,QF as b,RF as ne,SF as re,TF as ie,UF as ae,VF as oe,WF as x,Wd as S,XF as C,YF as w,ZF as T,_F as E,_I as D,aI as O,bF as k,cI as A,dI as j,eI as M,fI as N,gF as P,gI as F,hF as I,hI as L,iI as R,jF as z,kF as B,lI as V,mI as H,nI as U,oI as W,pI as se,qF as G,rI as K,sI as ce,t as q,tI as le,uI as ue,vF as de,wF as fe,xF as pe,yF as me,zF as he,zJ as J}from"./api-DL5MhfCR.js";import{t as ge}from"./button-7-8JjL3V.js";import{Z as _e,yt as Y}from"./index-D2_zMS9W.js";import{t as ve}from"./DataTableShell-8D6YsZBo.js";var X=t(e(),1),Z=n(),ye={altered_words:()=>D(),incorrect:()=>F(),incoherence:()=>L(),formatting:()=>H(),latency:()=>se(),api_error:()=>N(),other:()=>j()},Q=e=>ye[e]?.()??e;function $({matches:e,sourceWasOpen:t}){return t?e===!0?(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-ok`,children:V()}):e===!1?(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-warn`,children:A()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill`,children:`—`}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill`,children:ue()})}function be({data:e,reference:t,closeReason:n}){let i=e.snapshot,a=J(q.feedback.respondToFeedback),[o,s]=(0,X.useState)(e.thread),[c,l]=(0,X.useState)(``),[p,m]=(0,X.useState)(!1);async function _(){let t=c.trim();if(!(!t||p)){m(!0);try{await a({feedbackId:e._id,text:t}),s(e=>[...e,{authorRole:`admin`,text:t,at:Date.now()}]),l(``)}finally{m(!1)}}}let v=[];try{v=i.contextJson?JSON.parse(i.contextJson):[]}catch{v=[]}return(0,Z.jsxs)(`div`,{className:`oc-fbadmin__detail`,children:[(0,Z.jsxs)(`div`,{className:`oc-fbadmin__row`,children:[(0,Z.jsx)($,{matches:i.displayedMatchesStored,sourceWasOpen:i.clientInfo?.sourceWasOpen??!1}),(0,Z.jsxs)(`span`,{className:`oc-fbadmin__meta`,children:[Q(e.category),` · `,i.messageRole,i.isRegeneration?` · ${ce()}`:``,i.openclawModel?` · ${i.openclawModel}`:``,i.openclawRuntime?` (${i.openclawRuntime})`:``]}),t?(0,Z.jsx)(`code`,{className:`oc-fbadmin__ref`,style:{userSelect:`all`,marginLeft:`auto`},title:u(),children:t}):null]}),e.comment?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:W()}),(0,Z.jsx)(`p`,{className:`oc-fbadmin__comment`,children:e.comment})]}):null,n?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:pe()}),(0,Z.jsx)(`p`,{className:`oc-fbadmin__comment`,children:n})]}):null,(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:O()}),o.length>0?(0,Z.jsx)(`div`,{className:`oc-fbadmin__thread`,children:o.map((e,t)=>(0,Z.jsxs)(`div`,{className:`oc-notif__msg oc-notif__msg--${e.authorRole}`,children:[(0,Z.jsx)(`span`,{className:`oc-notif__msg-who`,children:e.authorRole===`admin`?R():e.authorRole===`agent`?e.authorLabel??S():K()}),(0,Z.jsx)(`span`,{className:`oc-notif__msg-text`,children:e.text})]},t))}):(0,Z.jsx)(`p`,{className:`oc-fbadmin__meta`,children:U()}),(0,Z.jsx)(`textarea`,{className:`oc-feedback__textarea`,placeholder:le(),value:c,maxLength:2e3,rows:3,onChange:e=>l(e.target.value.slice(0,2e3))}),(0,Z.jsx)(`div`,{className:`oc-fbadmin__row`,style:{justifyContent:`flex-end`},children:(0,Z.jsx)(ge,{size:`sm`,onClick:()=>void _(),disabled:!c.trim()||p,children:p?M():r()})})]}),(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:b()}),(0,Z.jsx)(`pre`,{className:`oc-msg__source-pre`,children:i.messageText||T()})]}),i.clientInfo?.sourceWasOpen&&i.displayedText!==void 0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:C()}),(0,Z.jsx)(`pre`,{className:`oc-msg__source-pre`,children:i.displayedText||T()})]}):null,i.promptText?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:w()}),(0,Z.jsx)(`pre`,{className:`oc-msg__source-pre`,children:i.promptText})]}):null,v.length>0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:h({count:i.contextCount??v.length,truncated:i.contextTruncated?G():``})}),(0,Z.jsx)(`div`,{className:`oc-fbadmin__ctx`,children:v.map((e,t)=>(0,Z.jsxs)(`div`,{className:`oc-fbadmin__ctx-turn`,children:[(0,Z.jsx)(`span`,{className:`oc-fbadmin__ctx-role`,children:e.role}),(0,Z.jsx)(`span`,{className:`oc-fbadmin__ctx-text`,children:e.text})]},t))})]}):null,i.outboxAvailable?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:g()}),(0,Z.jsxs)(`pre`,{className:`oc-msg__source-pre`,children:[i.outboxText??``,i.outboxStatus?`\n[status: ${i.outboxStatus}]`:``]})]}):null,i.clientInfo?.extensionsDetected&&i.clientInfo.extensionsDetected.length>0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:d()}),(0,Z.jsx)(`div`,{className:`oc-fbadmin__row`,children:i.clientInfo.extensionsDetected.map(e=>(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-warn`,children:e},e))})]}):null,(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:x()}),(0,Z.jsxs)(`p`,{className:`oc-fbadmin__env`,children:[[i.clientInfo?.language,i.clientInfo?.timezone,i.clientInfo?.theme?ae({theme:i.clientInfo.theme}):null,i.runId?`run ${i.runId.slice(0,12)}…`:null].filter(Boolean).join(` · `)||`—`,i.clientInfo?.plugins&&i.clientInfo.plugins.length>0?(0,Z.jsxs)(`span`,{className:`oc-fbadmin__plugins`,children:[f(),` `,i.clientInfo.plugins.join(`, `),(0,Z.jsxs)(`span`,{className:`oc-fbadmin__note`,children:[` `,oe()]})]}):null,i.clientInfo?.userAgent?(0,Z.jsx)(`span`,{className:`oc-fbadmin__ua`,children:i.clientInfo.userAgent}):null]})]})]})}function xe(){let e=o(q.feedback.listForAdmin,{}),t=J(q.feedback.readSnapshot),n=J(q.feedback.deleteFeedback),r=_e(),[u,d]=(0,X.useState)(null),[f,h]=(0,X.useState)({});async function g(e){if(u===e._id){d(null);return}if(!f[e._id]){let n=await t({feedbackId:e._id});h(t=>({...t,[e._id]:n}))}d(e._id)}async function b(e){await r({title:E(),description:P(),confirmLabel:I(),destructive:!0})&&(await n({feedbackId:e._id}),u===e._id&&d(null))}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{className:`oc-admin__hint`,children:[a(),` `,(0,Z.jsx)(`strong`,{children:he()}),` `,ne()]}),(0,Z.jsx)(ve,{title:_(),rows:e,emptyHint:m(),isExpanded:e=>u===e._id&&!!f[e._id],renderExpanded:e=>f[e._id]?(0,Z.jsx)(be,{data:f[e._id],reference:e.reference,closeReason:e.userCloseReason}):null,columns:[{header:te(),cell:e=>Y(e.at),sort:e=>e.at},{header:ee(),cell:e=>Q(e.category),sort:e=>Q(e.category)},{header:v(),cell:e=>e.messageRole===`user`?z():i(),sort:e=>e.messageRole},{header:B(),cell:e=>(e.reporterEmail||e.reporterName||`—`)+(e.impersonated&&e.realOperatorEmail?` ${y({operator:e.realOperatorEmail})}`:``),sort:e=>e.reporterEmail||e.reporterName||null},{header:c(),cell:e=>(0,Z.jsx)($,{matches:e.displayedMatchesStored,sourceWasOpen:e.sourceWasOpen}),sort:e=>e.displayedMatchesStored===!1?0:e.displayedMatchesStored===!0?1:2},{header:l(),cell:e=>e.hasComment?`✎`:`—`,sort:e=>+!!e.hasComment},{header:ie(),cell:e=>e.userClosedAt==null?e.resolvedAt==null?e.answered?(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-ok`,children:fe()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill`,children:s()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-ok`,title:e.resolvedBy??void 0,children:p()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-closed`,children:re()}),sort:e=>e.userClosedAt==null?e.resolvedAt==null?+!!e.answered:2:3}],rowActions:e=>[{label:u===e._id?k():me(),onSelect:()=>void g(e)},{label:de(),onSelect:()=>void b(e),variant:`destructive`}]})]})}export{xe as FeedbacksTab};
@@ -1 +0,0 @@
1
- import{r as e}from"./bundle-mjs-C73ZY4La.js";import{E as t,qJ as n}from"./api-DL5MhfCR.js";import{B as r,R as i,V as a,nn as o,rn as s,z as c}from"./index-D2_zMS9W.js";import"./locales-CPjguROj.js";import"./curation-CQksaIbm.js";var l=t(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),u=[`gateway-http`,`shared-fs`,`off`],d=[`inline`,`shared-fs`],f=[`reactive`,`sse`],p=`reactive`;n.object({mediaMode:n.optional(n.union(n.literal(`gateway-http`),n.literal(`shared-fs`),n.literal(`off`))),inboundMediaMode:n.optional(n.union(n.literal(`inline`),n.literal(`shared-fs`))),rehydration:n.optional(n.boolean()),mediaMaxMb:n.optional(n.number()),attachmentFixAttested:n.optional(n.boolean()),summarizeThresholdChars:n.optional(n.number()),curationEnabled:n.optional(n.boolean()),curationBudgetChars:n.optional(n.number()),converterAgentId:n.optional(n.string()),voiceEnabled:n.optional(n.boolean()),talkEnabled:n.optional(n.boolean()),voiceEngine:n.optional(n.union(n.literal(`browser`),n.literal(`gateway`))),voiceLang:n.optional(n.string()),voiceRate:n.optional(n.number()),voiceAutoRead:n.optional(n.boolean()),contentLocale:n.optional(n.string()),inboundAgentMount:n.optional(n.string()),outboundAgentMount:n.optional(n.string()),promptInjections:n.optional(n.record(n.string(),n.object({enabled:n.optional(n.boolean()),template:n.optional(n.string())})))});var m={mediaMode:`gateway-http`,inboundMediaMode:`inline`,rehydration:!0,mediaMaxMb:1024,inboundAgentMount:`/home/node/.openclaw/media/inbound`,outboundAgentMount:`/home/node/.openclaw/media/outbound`};function h(e,t){let n={};for(let r of s){let i=e?.[r];n[r]={enabled:i?.enabled??!0,template:typeof i?.template==`string`&&i.template.length>0?i.template:o[r].defaultTemplate[t]}}return n}function g(e,t){let n={};for(let r of s){let i=o[r],a=e[r];if(!a)continue;let s={};i.togglable&&a.enabled===!1&&(s.enabled=!1);let c=a.template.trim();c.length>0&&c!==i.defaultTemplate[t]&&(s.template=c),(s.enabled!==void 0||s.template!==void 0)&&(n[r]=s)}return n}function _(e,t){return{mediaMode:e.mediaMode??m.mediaMode,inboundMediaMode:e.inboundMediaMode??m.inboundMediaMode,rehydration:e.rehydration??m.rehydration,mediaMaxMb:e.mediaMaxMb??m.mediaMaxMb,inboundAgentMount:e.inboundAgentMount??m.inboundAgentMount,outboundAgentMount:e.outboundAgentMount??m.outboundAgentMount,promptInjections:h(e.promptInjections,t)}}var v=[`attachmentFixAttested`,`summarizeThresholdChars`,`curationEnabled`,`curationBudgetChars`,`contentLocale`,`converterAgentId`];function y(e,t,n){let r={},i=n=>{(e[n]!==m[n]||t[n]!==void 0)&&(r[n]=e[n])};i(`mediaMode`),i(`inboundMediaMode`),i(`rehydration`),i(`mediaMaxMb`),i(`inboundAgentMount`),i(`outboundAgentMount`);let a=g(e.promptInjections,n);Object.keys(a).length>0&&(r.promptInjections=a);let o=t;for(let e of v){let t=o[e];(typeof t==`number`||typeof t==`boolean`||typeof t==`string`)&&(r[e]=t)}return r}var b=e();function x({text:e}){return(0,b.jsx)(r,{delayDuration:150,children:(0,b.jsxs)(i,{children:[(0,b.jsx)(a,{asChild:!0,children:(0,b.jsx)(`button`,{type:`button`,className:`oc-field__help`,"aria-label":e,onClick:e=>e.preventDefault(),children:(0,b.jsx)(l,{"aria-hidden":!0})})}),(0,b.jsx)(c,{className:`max-w-xs text-pretty`,children:e})]})})}function S({label:e,help:t}){return(0,b.jsxs)(`span`,{className:`oc-field__label`,children:[e,(0,b.jsx)(x,{text:t})]})}export{p as a,f as c,_ as i,S as n,d as o,y as r,u as s,x as t};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{AJ as r,Aq as ee,BJ as i,Bq as a,Cq as o,Dq as s,Eq as te,Fq as c,Gq as ne,Hq as l,Iq as u,Jd as d,Jq as f,Kq as p,Lq as m,MJ as h,Mq as g,Nq as re,Oq as ie,Pq as _,Rq as v,Sq as ae,Tq as oe,Uq as se,Vq as ce,Vz as le,Wq as ue,Xq as de,Yq as fe,Zq as pe,_q as me,bq as he,gq as ge,jq as _e,kq as ve,qd as ye,qq as y,t as b,vq as x,wq as S,xq as C,yq as w,zJ as T,zq as E}from"./api-DL5MhfCR.js";import{t as D}from"./button-7-8JjL3V.js";import{At as O,Ft as k,Gn as A,Gt as j,It as M,Jt as N,Lt as P,Mt as be,Nt as xe,Pt as Se,Rt as Ce,Tn as we,Ut as Te,Wn as Ee,Wt as De,ct as F,dt as I,jt as Oe,kt as ke,lt as L,st as R,ut as z,xt as Ae,yn as je}from"./index-D2_zMS9W.js";import{a as Me,i as B,n as Ne,o as V,r as H,t as Pe}from"./table-BTGgG4wx.js";var U=t(e(),1),W=n(),G=`all`;function K(e){switch(e){case`image`:return a();case`audio`:return E();case`video`:return v();case`pdf`:return m();case`document`:return u();case`archive`:return c();default:return _()}}function q(){let[e,t]=(0,U.useState)(G),[n,a]=(0,U.useState)(G),[c,u]=(0,U.useState)(G),[m,_]=(0,U.useState)(G),[v,E]=(0,U.useState)(!1),[q,J]=(0,U.useState)(null),Fe=T(b.files.softDelete),Y=Ce();function Ie(){t(G),a(G),u(G),_(G)}async function Le(){let e=q;if(J(null),e)try{await Fe({fileId:e.id}),Y.success(o())}catch(e){Y.error(ae(),e)}}let X=i(b.files.listMine,{direction:e===G?void 0:e,chatId:n===G?void 0:n,instanceName:c===G?void 0:c,category:m===G?void 0:m,includeAutoGenerated:v||void 0}),Re=(0,U.useMemo)(()=>new Intl.DateTimeFormat(h(),{dateStyle:`medium`,timeStyle:`short`}),[]);if(X===void 0)return(0,W.jsx)(`p`,{className:`oc-admin__hint`,children:r()});let{files:Z,facets:Q,truncated:ze,cap:Be}=X,$=e!==G||n!==G||c!==G||m!==G;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`p`,{className:`oc-admin__hint`,children:pe()}),(0,W.jsxs)(`div`,{className:`oc-files__filters`,style:{display:`flex`,flexWrap:`wrap`,gap:8,margin:`12px 0`},children:[(0,W.jsxs)(R,{value:e,onValueChange:t,children:[(0,W.jsx)(z,{size:`sm`,"aria-label":de(),children:(0,W.jsx)(I,{})}),(0,W.jsxs)(F,{children:[(0,W.jsx)(L,{value:G,children:fe()}),(0,W.jsx)(L,{value:`inbound`,children:f()}),(0,W.jsx)(L,{value:`outbound`,children:y()})]})]}),(0,W.jsxs)(R,{value:n,onValueChange:a,children:[(0,W.jsx)(z,{size:`sm`,"aria-label":p(),children:(0,W.jsx)(I,{})}),(0,W.jsxs)(F,{children:[(0,W.jsx)(L,{value:G,children:ne()}),Q.chats.map(e=>(0,W.jsx)(L,{value:e.id,children:e.title},e.id))]})]}),Q.multiProvider?(0,W.jsxs)(R,{value:c,onValueChange:u,children:[(0,W.jsx)(z,{size:`sm`,"aria-label":ue(),children:(0,W.jsx)(I,{})}),(0,W.jsxs)(F,{children:[(0,W.jsx)(L,{value:G,children:se()}),Q.instances.map(e=>(0,W.jsx)(L,{value:e,children:e},e))]})]}):null,(0,W.jsxs)(R,{value:m,onValueChange:_,children:[(0,W.jsx)(z,{size:`sm`,"aria-label":l(),children:(0,W.jsx)(I,{})}),(0,W.jsxs)(F,{children:[(0,W.jsx)(L,{value:G,children:ce()}),Q.categories.map(e=>(0,W.jsx)(L,{value:e,children:K(e)},e))]})]}),(0,W.jsxs)(`label`,{className:`oc-files__autogen`,children:[(0,W.jsx)(Ae,{checked:v,onCheckedChange:e=>E(e===!0),"aria-label":d()}),(0,W.jsx)(`span`,{children:d()})]}),$?(0,W.jsxs)(D,{variant:`ghost`,size:`sm`,onClick:Ie,style:{display:`inline-flex`,alignItems:`center`,gap:4,marginLeft:`auto`},children:[(0,W.jsx)(we,{size:14,"aria-hidden":!0}),te()]}):null]}),Z.length===0?(0,W.jsx)(`p`,{className:`oc-admin__hint`,children:$?me():x()}):(0,W.jsxs)(W.Fragment,{children:[(0,W.jsxs)(Pe,{children:[(0,W.jsx)(Me,{children:(0,W.jsxs)(V,{children:[(0,W.jsx)(B,{children:re()}),(0,W.jsx)(B,{children:g()}),(0,W.jsx)(B,{children:_e()}),(0,W.jsx)(B,{children:ee()}),(0,W.jsx)(B,{children:ve()}),(0,W.jsx)(B,{className:`text-right`,children:ie()})]})}),(0,W.jsx)(Ne,{children:Z.map(e=>(0,W.jsxs)(V,{children:[(0,W.jsxs)(H,{className:`font-medium`,style:{maxWidth:280,overflow:`hidden`,textOverflow:`ellipsis`},title:e.filename,children:[e.filename,e.origin===`pasted`?(0,W.jsx)(P,{variant:`outline`,style:{marginLeft:6},children:ye()}):null]}),(0,W.jsx)(H,{title:e.mimeType,children:K(e.category)}),(0,W.jsx)(H,{children:(0,W.jsx)(P,{variant:`secondary`,children:e.direction===`inbound`?f():y()})}),(0,W.jsx)(H,{style:{maxWidth:220,overflow:`hidden`,textOverflow:`ellipsis`},title:e.chatTitle,children:e.chatTitle}),(0,W.jsx)(H,{className:`whitespace-nowrap text-muted-foreground`,children:Re.format(e.createdAt)}),(0,W.jsx)(H,{className:`text-right`,children:(0,W.jsxs)(Te,{children:[(0,W.jsx)(N,{asChild:!0,children:(0,W.jsx)(D,{variant:`ghost`,size:`icon`,"aria-label":oe(),children:(0,W.jsx)(Ee,{size:16})})}),(0,W.jsxs)(De,{align:`end`,children:[e.url?(0,W.jsx)(j,{asChild:!0,children:(0,W.jsxs)(`a`,{href:e.url,download:e.filename,target:`_blank`,rel:`noopener noreferrer`,children:[(0,W.jsx)(A,{size:14}),s()]})}):(0,W.jsxs)(j,{disabled:!0,children:[(0,W.jsx)(A,{size:14}),w()]}),(0,W.jsxs)(j,{variant:`destructive`,onSelect:()=>J({id:e._id,filename:e.filename}),children:[(0,W.jsx)(je,{size:14}),S()]})]})]})})]},e._id))})]}),ze?(0,W.jsx)(`p`,{className:`oc-admin__hint`,style:{marginTop:8},children:ge({cap:Be})}):null]}),(0,W.jsx)(ke,{open:q!==null,onOpenChange:e=>!e&&J(null),children:(0,W.jsxs)(be,{children:[(0,W.jsxs)(k,{children:[(0,W.jsx)(M,{children:C()}),(0,W.jsx)(xe,{children:he()})]}),(0,W.jsxs)(Se,{children:[(0,W.jsx)(Oe,{children:le()}),(0,W.jsx)(O,{onClick:()=>void Le(),children:S()})]})]})})]})}export{q as FilesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$v as r,$y as i,Av as a,Ay as o,BJ as s,Bv as c,By as l,Cv as u,Cy as d,Dv as f,Dy as p,E as m,Ev as h,Ey as g,Fv as _,Fy as v,Gv as y,Gy as b,Hv as x,Hy as S,Iv as C,Iy as w,Jv as T,Jy as E,Kv as D,Ky as O,Lv as k,Ly as A,Mv as j,My as ee,Nv as M,Ny as N,Ov as te,Oy as P,Pv as ne,Py as F,Qv as re,Qy as I,Rv as ie,Ry as ae,Sv as oe,Sy as L,Tv as se,Ty as ce,Uv as R,Uy as le,Vv as ue,Vy as de,Wv as fe,Wy as pe,Xv as z,Xy as me,Yv as he,Yy as ge,Zv as _e,Zy as ve,_v as ye,_y as be,ab as xe,av as Se,ay as B,bv as Ce,by as we,cb as Te,cv as Ee,cy as V,db as De,dv as Oe,dy as ke,eb as Ae,ey as je,fb as Me,fv as Ne,fy as Pe,gv as Fe,gy as Ie,hv as Le,hy as Re,ib as ze,iv as Be,iy as Ve,jv as He,jy as Ue,kv as We,ky as Ge,lb as Ke,lv as qe,ly as Je,mv as Ye,my as Xe,nb as Ze,nv as Qe,ny as $e,ob as et,ov as tt,oy as nt,pv as rt,py as it,qv as at,qy as ot,rb as st,rv as ct,ry as lt,sb as ut,sv as dt,sy as ft,t as H,tb as pt,tv as mt,ty as ht,ub as gt,uv as _t,uy as vt,vv as yt,vy as bt,wv as xt,wy as St,xv as Ct,xy as wt,yv as Tt,yy as Et,zJ as U,zv as Dt,zy as Ot}from"./api-DL5MhfCR.js";import{t as kt}from"./x-fp_NW5OK.js";import{t as W}from"./button-7-8JjL3V.js";import{Cn as At,Ht as G,J as jt,Lt as K,Rt as q,Sn as Mt,X as Nt,Xn as Pt,Y as Ft,Z as It,Zn as Lt,_t as Rt,b as zt,bn as J,ct as Bt,dt as Vt,ft as Ht,gn as Ut,gt as Wt,hn as Gt,lt as Kt,mt as qt,pt as Jt,q as Yt,st as Xt,tt as Zt,ut as Qt,xn as $t,xt as Y}from"./index-D2_zMS9W.js";import{t as en}from"./FilterBar-6mIwprKY.js";import{t as tn}from"./DataTableShell-8D6YsZBo.js";import{t as nn}from"./DetailChips-CcoyXRh4.js";var rn=m(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),X=t(e(),1);function an(e,t,n){let r=t.trim().toLowerCase();return[...r?e.filter(e=>[e.email,e.name,e.canonical].some(e=>e!=null&&e.toLowerCase().includes(r))):e.slice()].sort((e,t)=>!n.has(e.userId)-+!n.has(t.userId))}function on(e,t){let n=e.filter(e=>e.source===`discovered`),r=t.trim().toLowerCase();return r?n.filter(e=>(e.displayName??e.agentId).toLowerCase().includes(r)||e.agentId.toLowerCase().includes(r)):n}function sn(e){let t=e.name?.trim()??``,n=e.email?.trim()??``,r=e.canonical?.trim()||`u-${e.userId.slice(0,8)}`;return t?{primary:t,secondary:n||`@${r}`}:n?{primary:n,secondary:null}:{primary:`@${r}`,secondary:null}}function cn(e){switch(e){case`admin`:return N();case`user`:return ee();case`pending`:return Ue();default:return e}}function ln(e,t){if(e.length===0)return`none`;let n=0;for(let r of e)t(r)&&n++;return n===0?`none`:n===e.length?`all`:`some`}function un(e,t,n){let r=Math.max(1,Math.ceil(e.length/n)),i=Math.min(Math.max(1,Math.floor(t)),r),a=(i-1)*n;return{pageItems:e.slice(a,a+n),page:i,pageCount:r}}function dn(e,t){return e.assigned?`toggle`:e.claimable?`claim`:!e.present||!e.enabled?`locked`:t||e.reservedForGroup?`toggle`:`locked`}function Z(e,t){return`${e.length}:${e}/${t}`}function fn(e,t,n,r){let i=new Set(n?t:e);return i.has(r)?i.delete(r):i.add(r),e.filter(e=>i.has(e))}function pn(e){switch(e){case`pending`:return T();case`approved`:return at();case`rejected`:return D()}}function Q(e){let t=e?.data;if(typeof t!=`object`||!t)return e;let{code:n,agent:r}=t,i=typeof r==`string`?r:null;return n===`admin_restriction_would_lift`?i===null?dt():Se({agent:i}):n===`admin_restriction_would_apply`?tt({agent:i??`?`}):e}var $=n(),mn={name:``,description:``};function hn(){let e=s(H.groups.listGroups,{}),t=s(H.me.getMe,{host:Zt})?.role===`admin`,n=U(H.groups.createGroup),r=U(H.groups.updateGroup),a=U(H.groups.deleteGroup),o=It(),c=q(),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(mn),[h,g]=(0,X.useState)(null),[_,v]=(0,X.useState)(``),y=(0,X.useMemo)(()=>{if(!e)return e;let t=_.trim().toLowerCase();return t?e.filter(e=>e.name.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t)||e.members.some(e=>e.label.toLowerCase().includes(t))||e.agents.some(e=>e.toLowerCase().includes(t))||e.charts.some(e=>e.name.toLowerCase().includes(t))):e},[e,_]);function x(){f(null),m(mn),u(!0)}function S(e){f(e),m({name:e.name,description:e.description??``}),u(!0)}async function C(){try{d?await r({groupId:d._id,name:p.name,description:p.description}):await n({name:p.name,description:p.description||void 0}),m(mn),f(null),u(!1)}catch(e){c.error(ft(),e)}}async function w(e){if(await o({title:ot({name:e.name}),description:O(),confirmWord:e.name,confirmLabel:b(),cancelLabel:i(),destructive:!0}))try{await a({groupId:e._id})}catch(e){c.error(nt(),e)}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:De()}),t?(0,$.jsx)(Sn,{}):null,(0,$.jsx)(en,{q:_,onQChange:v,onReset:()=>v(``),canReset:_!==``,searchPlaceholder:ze()}),(0,$.jsx)(tn,{title:Me(),rows:y,addLabel:gt(),onAdd:t?x:void 0,emptyHint:Ke(),columns:[{header:Te(),cell:e=>e.name,sort:e=>e.name},{header:ut(),cell:e=>(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(nn,{icon:(0,$.jsx)(Gt,{size:12,"aria-hidden":!0}),total:e.memberCount,items:e.members.map(e=>({label:e.label,marker:e.manager?(0,$.jsx)(Mt,{size:11,"aria-hidden":!0}):null,highlight:e.manager}))}),e.pendingInviteCount>0?(0,$.jsx)(K,{variant:`secondary`,children:he({count:String(e.pendingInviteCount)})}):null]}),sort:e=>e.memberCount},{header:et(),cell:e=>(0,$.jsx)(nn,{icon:(0,$.jsx)(At,{size:12,"aria-hidden":!0}),total:e.agentCount,items:e.agents.map(e=>({label:e}))}),sort:e=>e.agentCount},{header:xe(),cell:e=>(0,$.jsx)(nn,{icon:(0,$.jsx)(rn,{size:12,"aria-hidden":!0}),total:e.chartCount,items:e.charts.map(e=>({label:e.name,marker:e.isDefault?(0,$.jsx)(J,{size:11,fill:`currentColor`,"aria-hidden":!0}):null,highlight:e.isDefault}))}),sort:e=>e.chartCount}],rowActions:e=>[{label:st(),onSelect:()=>g({groupId:e._id,name:e.name})},...t?[{label:Ze(),onSelect:()=>S(e)},{label:pt(),variant:`destructive`,onSelect:()=>void w(e)}]:[]]}),(0,$.jsx)(zt,{open:l,onOpenChange:u,title:d?ve():I(),description:me(),canSubmit:!!p.name.trim(),onSubmit:C,submitLabel:Ae(),children:(0,$.jsxs)(`div`,{className:`oc-form`,children:[(0,$.jsxs)(`label`,{className:`oc-field`,children:[(0,$.jsx)(`span`,{className:`oc-field__label`,children:ge()}),(0,$.jsx)(G,{value:p.name,onChange:e=>m({...p,name:e.target.value})})]}),(0,$.jsxs)(`label`,{className:`oc-field`,children:[(0,$.jsx)(`span`,{className:`oc-field__label`,children:E()}),(0,$.jsx)(G,{value:p.description,onChange:e=>m({...p,description:e.target.value})})]})]})}),(0,$.jsx)(vn,{groupId:h?.groupId??null,groupName:h?.name??``,open:h!==null,onOpenChange:e=>{e||g(null)}})]})}var gn=8;function _n({page:e,pageCount:t,onPage:n}){return t<=1?null:(0,$.jsxs)(`div`,{className:`oc-access__pager`,children:[(0,$.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,disabled:e<=1,onClick:()=>n(e-1),children:[(0,$.jsx)(Lt,{size:14,"aria-hidden":!0}),w()]}),(0,$.jsxs)(`span`,{className:`oc-access__pageinfo`,"aria-label":F({page:e,pages:t}),children:[e,` / `,t]}),(0,$.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,disabled:e>=t,onClick:()=>n(e+1),children:[v(),(0,$.jsx)(Pt,{size:14,"aria-hidden":!0})]})]})}function vn({groupId:e,groupName:t,open:n,onOpenChange:r}){let i=s(H.groups.getGroup,n&&e?{groupId:e}:`skip`),u=i?.viewerIsAdmin===!0,d=s(H.groups.listAssignableInstances,n&&e?{groupId:e}:`skip`),f=s(H.groups.listAssignableUsers,n&&u?{}:`skip`),p=U(H.groups.addMember),m=U(H.groups.removeMember),h=U(H.groups.bulkSetMembers),_=U(H.groups.setGroupManager),v=q(),[y,b]=(0,X.useState)(``),[x,C]=(0,X.useState)(``),[w,T]=(0,X.useState)(`members`),[E,D]=(0,X.useState)(1),[O,k]=(0,X.useState)(null),[j,ee]=(0,X.useState)(new Set),M=(0,X.useRef)(null),N=(0,X.useMemo)(()=>new Set((i?.members??[]).map(e=>e.userId)),[i]),te=(0,X.useMemo)(()=>new Set((i?.members??[]).filter(e=>e.manager).map(e=>e.userId)),[i]),ne=(0,X.useMemo)(()=>new Set((i?.members??[]).filter(e=>e.restricted).map(e=>e.userId)),[i]),F=(0,X.useMemo)(()=>new Set((i?.agents??[]).map(e=>Z(e.instanceName,e.agentId))),[i]),re=(0,X.useMemo)(()=>{let e=(i?.agents??[]).find(e=>e.isDefault);return e?Z(e.instanceName,e.agentId):null},[i]);(0,X.useEffect)(()=>{b(``),C(``),T(`members`),D(1),k(null),M.current=null},[n,e]),(0,X.useEffect)(()=>{D(1)},[y]),(0,X.useEffect)(()=>{n&&i&&e&&M.current!==e&&(M.current=e,ee(new Set((i.members??[]).map(e=>e.userId))))},[n,i,e]);let I=(0,X.useMemo)(()=>f?an(f,y,j):[],[f,y,j]);async function ie(t,n){if(e)try{n?await m({groupId:e,userId:t}):await p({groupId:e,userId:t})}catch(e){v.error(B(),Q(e))}}async function oe(t,n){if(e)try{await _({groupId:e,userId:t,manager:!n})}catch(e){v.error(Je(),e)}}let L=ln(I,e=>N.has(e.userId)),se=I.filter(e=>N.has(e.userId)).length,R=un(I,E,gn);async function fe(){if(!e||I.length===0)return;let t=I.map(e=>e.userId);try{await h({groupId:e,userIds:t,member:L!==`all`})}catch(e){v.error(B(),Q(e))}}let z=(e,t)=>(0,$.jsxs)(W,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7`,"aria-label":c({user:t}),title:c({user:t}),onClick:()=>k({userId:e,label:t}),children:[(0,$.jsx)($t,{size:13,"aria-hidden":!0}),ue()]});return(0,$.jsx)(Ht,{open:n,onOpenChange:r,children:(0,$.jsxs)(Jt,{className:`oc-access`,children:[(0,$.jsxs)(Wt,{children:[(0,$.jsx)(Rt,{children:pe({name:t})}),(0,$.jsx)(qt,{children:i&&!u?lt():le()})]}),(0,$.jsxs)(Yt,{value:w,onValueChange:T,className:`oc-access__tabs`,children:[(0,$.jsxs)(Ft,{className:`w-full`,children:[(0,$.jsxs)(Nt,{value:`members`,className:`flex-1 gap-1.5`,children:[(0,$.jsx)(Gt,{size:13,"aria-hidden":!0}),S(),i?(0,$.jsx)(K,{variant:`secondary`,className:`oc-access__tabcount`,children:N.size}):null]}),(0,$.jsxs)(Nt,{value:`agents`,className:`flex-1 gap-1.5`,children:[(0,$.jsx)(At,{size:13,"aria-hidden":!0}),l(),i?(0,$.jsx)(K,{variant:`secondary`,className:`oc-access__tabcount`,children:F.size}):null]}),(0,$.jsxs)(Nt,{value:`charts`,className:`flex-1 gap-1.5`,children:[(0,$.jsx)(rn,{size:13,"aria-hidden":!0}),we(),i?(0,$.jsx)(K,{variant:`secondary`,className:`oc-access__tabcount`,children:i.chartCount}):null]})]}),(0,$.jsx)(jt,{value:`members`,children:i===void 0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:P()}):u?f===void 0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:P()}):f.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:g()}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(G,{value:y,onChange:e=>b(e.target.value),placeholder:de(),className:`oc-access__search`}),I.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:ae()}):(0,$.jsxs)($.Fragment,{children:[I.length>1?(0,$.jsxs)(`div`,{className:`oc-access__row oc-access__selectall`,children:[(0,$.jsx)(Y,{checked:L===`all`?!0:L===`some`?`indeterminate`:!1,onCheckedChange:()=>void fe(),"aria-label":A()}),(0,$.jsx)(`span`,{className:`oc-access__label`,children:A()}),(0,$.jsxs)(K,{variant:`outline`,className:`oc-access__count`,children:[se,` / `,I.length]})]}):null,(0,$.jsx)(`div`,{className:`oc-access__list`,children:R.pageItems.map(e=>{let t=N.has(e.userId),n=sn(e),r=te.has(e.userId);return(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsx)(Y,{checked:t,onCheckedChange:()=>void ie(e.userId,t),"aria-label":o({user:n.primary})}),(0,$.jsxs)(`span`,{className:`oc-access__who`,children:[(0,$.jsx)(`span`,{className:`oc-access__label`,title:n.primary,children:n.primary}),n.secondary?(0,$.jsx)(`span`,{className:`oc-access__sub`,title:n.secondary,children:n.secondary}):null]}),t&&ne.has(e.userId)?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:Dt()}):null,(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:cn(e.role)}),t?z(e.userId,n.primary):null,(0,$.jsx)(`span`,{className:`oc-access__mgrslot`,children:t?(0,$.jsx)(W,{type:`button`,variant:`ghost`,size:`icon`,className:`shrink-0 oc-access__mgr${r?` oc-access__mgr--on`:``}`,"aria-pressed":r,"aria-label":r?vt():ke(),title:r?vt():ke(),onClick:()=>void oe(e.userId,r),children:(0,$.jsx)(Mt,{size:15,"aria-hidden":!0})}):null})]},e._id)})}),(0,$.jsx)(_n,{page:R.page,pageCount:R.pageCount,onPage:D})]})]}):e?(0,$.jsx)(yn,{groupId:e,members:i.members,agentsButton:z}):null}),(0,$.jsxs)(jt,{value:`agents`,children:[i&&!u?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:a()}):null,d===void 0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:P()}):d.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:ce()}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(G,{value:x,onChange:e=>C(e.target.value),placeholder:Ot(),className:`oc-access__search`}),(0,$.jsx)(`div`,{className:`oc-access__list`,children:d.map(t=>(0,$.jsx)(xn,{groupId:e,instanceName:t.name,kind:t.kind??`openclaw`,assigned:F,defaultKey:re,viewerIsAdmin:u,query:x},`${e}-${t._id}`))})]})]}),(0,$.jsx)(jt,{value:`charts`,children:(0,$.jsx)(Cn,{groupId:e})})]}),(0,$.jsx)(bn,{groupId:e,member:O,onOpenChange:e=>{e||k(null)}})]})})}function yn({groupId:e,members:t,agentsButton:n}){let a=s(H.groupInvites.listGroupInviteRequests,{groupId:e}),o=U(H.groupInvites.requestGroupInvite),c=U(H.groups.removeMember),l=It(),u=q(),[d,f]=(0,X.useState)(``),[p,m]=(0,X.useState)(1),h=un(t,p,gn);async function g(t){t.preventDefault();let n=d.trim();if(n)try{await o({groupId:e,email:n}),f(``),u.success(re())}catch(e){u.error(_e(),e)}}async function _(t,n){if(await l({title:y({user:n}),description:R({user:n}),confirmLabel:x(),cancelLabel:i(),destructive:!0}))try{await c({groupId:e,userId:t})}catch(e){u.error(B(),Q(e))}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`form`,{className:`oc-access__invite`,onSubmit:e=>void g(e),children:[(0,$.jsx)(G,{type:`email`,value:d,onChange:e=>f(e.target.value),placeholder:je(),"aria-label":$e()}),(0,$.jsxs)(W,{type:`submit`,size:`sm`,disabled:!d.trim(),children:[(0,$.jsx)(Ut,{size:14,"aria-hidden":!0}),r()]})]}),(0,$.jsx)(`p`,{className:`oc-access__hint`,children:ht()}),t.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:ie()}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`oc-access__list`,children:h.pageItems.map(e=>(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsx)(`span`,{className:`oc-access__label`,title:e.label,children:e.label}),e.restricted?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:Dt()}):null,n(e.userId,e.label),(0,$.jsx)(`span`,{className:`oc-access__mgrslot`,children:e.manager?(0,$.jsx)(`span`,{className:`oc-access__mgr oc-access__mgr--on`,role:`img`,"aria-label":Pe(),title:Pe(),children:(0,$.jsx)(Mt,{size:15,"aria-hidden":!0})}):null}),(0,$.jsx)(W,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:e.manager||e.lastGroup,"aria-label":y({user:e.label}),title:e.manager?fe():e.lastGroup?Ee():y({user:e.label}),onClick:()=>void _(e.userId,e.label),children:(0,$.jsx)(kt,{size:14,"aria-hidden":!0})})]},e.userId))}),(0,$.jsx)(_n,{page:h.page,pageCount:h.pageCount,onPage:m})]}),a!==void 0&&a.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`oc-access__subhead`,children:z()}),(0,$.jsx)(`div`,{className:`oc-access__list`,children:a.map(e=>(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsx)(`span`,{className:`oc-access__label`,title:e.email,children:e.email}),(0,$.jsx)(K,{variant:e.status===`pending`?`secondary`:`outline`,className:`oc-access__role`,children:pn(e.status)})]},e._id))})]}):null]})}function bn({groupId:e,member:t,onOpenChange:n}){let r=s(H.groups.getMemberAgentSettings,e&&t?{groupId:e,userId:t.userId}:`skip`),i=U(H.groups.setMemberAgents),a=U(H.groups.setMemberDefaultAgent),o=q();async function c(e){try{await e()}catch(e){o.error(qe(),e)}}let l=r?.agents??[],u=new Map(l.map(e=>[Z(e.instanceName,e.agentId),e])),d=[...u.keys()],f=new Set(l.filter(e=>e.allowed).map(e=>Z(e.instanceName,e.agentId)));function p(n){if(!e||!t||!r)return;let a=fn(d,f,r.restricted,n).map(e=>{let t=u.get(e);return{instanceName:t.instanceName,agentId:t.agentId}});c(()=>i({groupId:e,userId:t.userId,agents:a}))}return(0,$.jsx)(Ht,{open:t!==null,onOpenChange:n,children:(0,$.jsxs)(Jt,{className:`oc-access`,children:[(0,$.jsxs)(Wt,{children:[(0,$.jsx)(Rt,{children:yt({user:t?.label??``})}),(0,$.jsx)(qt,{children:ye()})]}),r===void 0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:P()}):r===null||l.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:_t()}):(0,$.jsxs)($.Fragment,{children:[r.settable?null:(0,$.jsx)(`p`,{className:`oc-access__hint`,children:mt()}),r.adminNarrowed?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:Be()}):null,r.restrictedByAdmin&&!r.viewerIsAdmin?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:Qe()}):null,(0,$.jsxs)(`div`,{className:`oc-access__row oc-access__selectall`,children:[(0,$.jsx)(`span`,{className:`oc-access__label`,children:r.restricted?Le():Fe()}),r.restricted?(0,$.jsx)(W,{type:`button`,size:`sm`,variant:`outline`,disabled:!r.settable||r.restrictedByAdmin&&!r.viewerIsAdmin,onClick:()=>e&&t?void c(()=>i({groupId:e,userId:t.userId,agents:null})):void 0,children:Ye()}):null]}),(0,$.jsx)(`div`,{className:`oc-access__list`,children:l.map(n=>{let i=Z(n.instanceName,n.agentId),o=n.displayName??n.agentId;return(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsx)(Y,{checked:n.allowed,disabled:!r.settable||r.restrictedByAdmin&&!r.viewerIsAdmin&&!n.allowed,onCheckedChange:()=>p(i),"aria-label":rt({name:o})}),(0,$.jsx)(`span`,{className:`oc-access__label`,title:o,children:o}),n.limitedByAdmin?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:ct()}):null,n.state===`deleted`?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__gone`,children:wt()}):null,n.allowed?n.isMemberDefault?(0,$.jsx)(W,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`oc-access__fav`,disabled:!r.settable,"aria-label":Ne(),title:Ne(),onClick:()=>e&&t?void c(()=>a({groupId:e,userId:t.userId,agent:null})):void 0,children:(0,$.jsx)(J,{size:14,fill:`currentColor`})}):(0,$.jsx)(W,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`oc-access__setdefault`,disabled:!r.settable,"aria-label":Oe(),title:Oe(),onClick:()=>e&&t?void c(()=>a({groupId:e,userId:t.userId,agent:{instanceName:n.instanceName,agentId:n.agentId}})):void 0,children:(0,$.jsx)(J,{size:14})}):null]},i)})})]})]})})}function xn({groupId:e,instanceName:t,kind:n,assigned:r,defaultKey:i,viewerIsAdmin:a,query:o}){let c=s(H.groups.listAssignableAgents,e?{instanceName:t,groupId:e}:`skip`),l=U(H.groups.assignAgentToGroup),m=U(H.groups.removeAgentFromGroup),g=U(H.groups.bulkSetGroupAgents),_=U(H.groups.claimAgentForGroup),v=U(H.groups.setGroupDefaultAgent),y=q(),[b,x]=(0,X.useState)(1);if((0,X.useEffect)(()=>{x(1)},[o]),!e)return null;let S=on(c?.agents??[],o),C=c?.discovery&&!c.discovery.lastPollOk,w=e=>dn({assigned:r.has(Z(t,e.agentId)),claimable:e.claimable,reservedForGroup:e.reservedForGroup,enabled:e.enabled,present:e.presentInLastOk!==!1},a),T=S.filter(e=>w(e)!==`claim`),E=S.filter(e=>w(e)===`claim`);if(o.trim()&&S.length===0)return null;let D=T.filter(e=>w(e)===`toggle`&&e.presentInLastOk!==!1&&e.enabled!==!1),O=ln(D,e=>r.has(Z(t,e.agentId))),k=un(T,b,gn);async function j(n,r){try{r?await m({groupId:e,instanceName:t,agentId:n}):await l({groupId:e,instanceName:t,agentId:n})}catch(e){y.error(Ve(),Q(e))}}async function ee(){if(D.length===0)return;let n=D.map(e=>e.agentId);try{await g({groupId:e,instanceName:t,agentIds:n,assigned:O!==`all`})}catch(e){y.error(Ve(),Q(e))}}async function M(n){try{await _({groupId:e,instanceName:t,agentId:n})}catch(e){y.error(se(),e)}}async function N(n){try{await v({groupId:e,agent:n===null?null:{instanceName:t,agentId:n}})}catch(e){y.error(Tt(),e)}}let P=e=>e.reservedForGroup?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:xt()}):e.reserved?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:e.reservedGroupName===null?oe():u({group:e.reservedGroupName})}):null;return(0,$.jsxs)(`div`,{className:`oc-access__group`,children:[(0,$.jsxs)(`div`,{className:`oc-access__instance`,children:[(0,$.jsx)(At,{size:13,"aria-hidden":!0}),(0,$.jsx)(`span`,{children:t}),(0,$.jsx)(K,{variant:`outline`,className:`oc-access__kind`,children:n}),C?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__stale`,children:L()}):null]}),c===void 0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:p()}):S.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:C?d():St()}):(0,$.jsxs)($.Fragment,{children:[D.length>1?(0,$.jsxs)(`div`,{className:`oc-access__row oc-access__selectall`,children:[(0,$.jsx)(Y,{checked:O===`all`?!0:O===`some`?`indeterminate`:!1,onCheckedChange:()=>void ee(),"aria-label":A()}),(0,$.jsx)(`span`,{className:`oc-access__label`,children:A()})]}):null,k.pageItems.map(e=>{let n=Z(t,e.agentId),a=r.has(n),o=e.presentInLastOk===!1,s=w(e)===`locked`;return(0,$.jsxs)(`div`,{className:`oc-access__row${s?` is-disabled`:``}`,children:[(0,$.jsx)(Y,{checked:a,disabled:s&&!a,onCheckedChange:()=>void j(e.agentId,a),"aria-label":Ge({name:e.displayName??e.agentId})}),(0,$.jsxs)(`span`,{className:`oc-access__label`,title:e.displayName??e.agentId,children:[e.emoji?`${e.emoji} `:``,e.displayName??e.agentId]}),e.model?(0,$.jsx)(`span`,{className:`oc-access__model`,children:e.model}):null,P(e),o?(0,$.jsx)(K,{variant:`outline`,className:`oc-access__gone`,children:wt()}):null,a?i===n?(0,$.jsx)(W,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`oc-access__fav`,"aria-label":Ct(),title:Ct(),onClick:()=>void N(null),children:(0,$.jsx)(J,{size:14,fill:`currentColor`})}):(0,$.jsx)(W,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`oc-access__setdefault`,"aria-label":Ce(),title:Ce(),onClick:()=>void N(e.agentId),children:(0,$.jsx)(J,{size:14})}):null]},e.agentId)}),(0,$.jsx)(_n,{page:k.page,pageCount:k.pageCount,onPage:x}),E.length>0?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`p`,{className:`oc-access__subhead`,children:We()}),(0,$.jsx)(`p`,{className:`oc-access__hint`,children:te()}),E.map(e=>{let t=e.displayName??e.agentId;return(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsxs)(`span`,{className:`oc-access__label`,title:t,children:[e.emoji?`${e.emoji} `:``,t]}),e.model?(0,$.jsx)(`span`,{className:`oc-access__model`,children:e.model}):null,(0,$.jsx)(W,{type:`button`,size:`sm`,variant:`outline`,className:`h-7`,"aria-label":h({name:t}),onClick:()=>void M(e.agentId),children:f()})]},e.agentId)})]}):null]})]})}function Sn(){let e=s(H.groupInvites.listPendingInviteRequests,{}),t=U(H.groupInvites.decideGroupInvite),n=q();if(e===void 0||e.length===0)return null;async function r(e,r){try{await t({requestId:e,approve:r})}catch(e){n.error(He(),e)}}return(0,$.jsxs)(`section`,{className:`oc-invites`,"aria-label":k(),children:[(0,$.jsxs)(`h3`,{className:`oc-invites__title`,children:[(0,$.jsx)(Ut,{size:14,"aria-hidden":!0}),k(),(0,$.jsx)(K,{variant:`secondary`,children:e.length})]}),(0,$.jsx)(`div`,{className:`oc-access__list`,children:e.map(e=>(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsxs)(`span`,{className:`oc-access__who`,children:[(0,$.jsx)(`span`,{className:`oc-access__label`,title:e.email,children:e.email}),(0,$.jsxs)(`span`,{className:`oc-access__sub`,children:[e.groupName??`?`,` ·`,` `,C({by:e.requestedBy})]})]}),e.account===`ready`?null:(0,$.jsx)(K,{variant:`outline`,className:`oc-access__role`,children:e.account===`none`?M():j()}),(0,$.jsx)(W,{type:`button`,size:`sm`,variant:`outline`,className:`h-7`,disabled:e.account!==`ready`,onClick:()=>void r(e._id,!0),children:_()}),(0,$.jsx)(W,{type:`button`,size:`sm`,variant:`ghost`,className:`h-7`,onClick:()=>void r(e._id,!1),children:ne()})]},e._id))})]})}function Cn({groupId:e}){let t=s(H.charts.listGroupChartSelection,e?{groupId:e}:`skip`),n=U(H.charts.assignChartToGroup),r=U(H.charts.removeChartFromGroup),i=U(H.charts.setGroupDefaultChart),a=U(H.charts.addChartToGroupPool),o=U(H.charts.removeChartFromGroupPool),c=q();if(!e)return null;if(t===void 0)return(0,$.jsx)(`p`,{className:`oc-access__hint`,children:P()});let{pool:l,addable:u,canManagePool:d}=t;if(l.length===0&&!d)return(0,$.jsx)(`p`,{className:`oc-access__hint`,children:Et()});async function f(t,i){try{i?await r({groupId:e,chartKey:t}):await n({groupId:e,chartKey:t})}catch(e){c.error(V(),e)}}async function p(t){try{await i({groupId:e,chartKey:t})}catch(e){c.error(V(),e)}}async function m(t){try{await a({groupId:e,chartKey:t})}catch(e){c.error(V(),e)}}async function h(t){try{await o({groupId:e,chartKey:t})}catch(e){c.error(V(),e)}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`oc-access__list`,children:l.map(e=>(0,$.jsxs)(`div`,{className:`oc-access__row`,children:[(0,$.jsx)(Y,{checked:e.selected,onCheckedChange:()=>void f(e.chartKey,e.selected),"aria-label":Re({name:e.name})}),(0,$.jsx)(`span`,{className:`oc-access__label`,title:e.name,children:e.name}),e.selected?e.isDefault?(0,$.jsx)(`span`,{className:`oc-access__fav`,role:`img`,"aria-label":Xe(),title:Xe(),children:(0,$.jsx)(J,{size:14,fill:`currentColor`})}):(0,$.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void p(e.chartKey),children:it()}):null,d?(0,$.jsx)(W,{type:`button`,variant:`ghost`,size:`sm`,"aria-label":Ie({name:e.name}),title:Ie({name:e.name}),onClick:()=>void h(e.chartKey),children:(0,$.jsx)(kt,{size:14,"aria-hidden":!0})}):null]},e.chartKey))}),d?u.length>0?(0,$.jsxs)(Xt,{value:``,onValueChange:e=>void m(e),children:[(0,$.jsx)(Qt,{size:`sm`,className:`oc-access__search`,children:(0,$.jsx)(Vt,{placeholder:be()})}),(0,$.jsx)(Bt,{children:u.map(e=>(0,$.jsx)(Kt,{value:e.chartKey,children:e.name},e.chartKey))})]}):l.length===0?(0,$.jsx)(`p`,{className:`oc-access__hint`,children:bt()}):null:null]})}export{hn as GroupsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$M as r,$N as i,$_ as a,AN as o,AP as s,Aa as c,BJ as l,BN as u,BP as d,Bt as f,CN as p,CP as m,Ca as h,Cl as g,DN as _,DP as v,Da as y,EN as b,EP as x,Ea as S,FN as C,FP as ee,FV as w,Ft as te,GN as T,HN as E,Ht as ne,IN as D,IP as re,IV as O,It as ie,JM as k,JN as ae,KM as oe,KN as se,LJ as A,LN as ce,LP as le,Lt as ue,MN as de,MO as fe,MP as pe,Ma as me,NN as he,NO as ge,NP as _e,Na as ve,ON as ye,OP as be,Oa as xe,PN as Se,PP as Ce,Pa as we,Pt as Te,QM as Ee,QN as De,Q_ as Oe,RN as ke,RP as Ae,Rt as je,SN as j,SP as Me,Sa as Ne,TN as M,TP as Pe,Ta as Fe,Tl as Ie,UN as Le,Ut as Re,VN as ze,VP as Be,Vt as Ve,WN as He,XM as N,XN as Ue,YM as We,YN as Ge,ZM as Ke,ZN as P,_N as qe,_P as Je,aN as Ye,aP as Xe,bN as Ze,bP as Qe,ba as $e,cN as et,cP as tt,dN as nt,dP as rt,eN as it,eP as at,ev as ot,fN as st,fP as ct,gN as lt,gP as ut,hN as dt,hP as ft,iN as pt,iP as F,ip as mt,jN as ht,jP as gt,ja as _t,kN as vt,kP as yt,ka as bt,lN as xt,lP as St,mN as Ct,mP as wt,nN as Tt,nP as Et,np as Dt,oN as Ot,oP as kt,pN as At,pP as jt,qM as Mt,qN as Nt,rN as Pt,rP as Ft,rp as It,sN as Lt,sP as Rt,t as I,tN as zt,tP as Bt,tp as Vt,uN as Ht,uP as Ut,vN as Wt,vP as Gt,va as Kt,wN as qt,wP as Jt,wa as Yt,wl as Xt,xP as Zt,xa as Qt,yN as $t,yP as en,ya as tn,zJ as L,zN as nn,zP as rn,zt as an}from"./api-DL5MhfCR.js";import{a as on,c as sn}from"./FieldLabel-bgrA2Q9d.js";import{t as R}from"./button-7-8JjL3V.js";import{Ht as z,Lt as B,Rt as V,Xt as cn,Yt as ln,Z as un,Zt as dn,_t as fn,b as pn,ct as H,dt as U,ft as mn,gt as hn,lt as W,mt as G,pt as gn,st as K,ut as q,xt as _n}from"./index-D2_zMS9W.js";import{t as vn}from"./DataTableShell-8D6YsZBo.js";import{InstanceConfigDialog as yn}from"./BridgeTab-Dk2wuA3T.js";var J=t(e(),1),Y=[`conversational`,`documentary`,`summarizer`,`curator`],bn=new Set(Y),xn=`conversational`;function Sn(e){let t=new Set((e??[]).filter(e=>bn.has(e)));return t.size===0?[xn]:Y.filter(e=>t.has(e))}var X=n(),Z={name:``,gatewayUrl:``,bridgeUrl:``,displayName:``,kind:`openclaw`,transport:`ws`,gatewayVersion:``,gatewayHttpUrl:``,authMode:`token`,personScopes:`capped`,identitySource:`canonical`,participantIdentity:`owner`,managePermissionModes:!1,systemIdentity:``,streamTransport:on},Cn={openclaw:[`token`,`deviceIdentity`],hermes:[`apiKey`]};function wn(e){return{name:e.name,gatewayUrl:e.gatewayUrl,bridgeUrl:e.bridgeUrl??``,displayName:e.displayName??``,kind:e.kind??`openclaw`,transport:e.transport??`ws`,gatewayVersion:e.gatewayVersion??``,gatewayHttpUrl:e.gatewayHttpUrl??``,authMode:e.authMode??`token`,personScopes:e.personScopes??`capped`,identitySource:e.identitySource??`canonical`,participantIdentity:e.participantIdentity??`owner`,managePermissionModes:e.managePermissionModes===!0,systemIdentity:e.systemIdentity??``,streamTransport:e.streamTransport??`reactive`}}function Tn(){let e=l(I.admin.listInstances,{}),t=l(I.agents.listAllInstanceAgents,{}),n=L(I.admin.upsertInstance),i=L(I.admin.deleteInstance),a=V(),[o,u]=(0,J.useState)(!1),[p,_]=(0,J.useState)(Z),[b,C]=(0,J.useState)(null),[w,T]=(0,J.useState)(null),[E,D]=(0,J.useState)(null),[O,k]=(0,J.useState)(null);async function ae(){try{await n({instanceId:O??void 0,name:p.name,gatewayUrl:p.gatewayUrl,bridgeUrl:p.bridgeUrl||void 0,displayName:p.displayName||void 0,kind:p.kind,transport:p.kind===`hermes`?p.transport:void 0,gatewayVersion:p.gatewayVersion||void 0,gatewayHttpUrl:p.gatewayHttpUrl||void 0,...p.kind===`openclaw`?{authMode:p.authMode,personScopes:p.personScopes,identitySource:p.identitySource,participantIdentity:p.participantIdentity,managePermissionModes:p.managePermissionModes,systemIdentity:p.systemIdentity||void 0}:{},streamTransport:p.streamTransport}),_(Z),k(null),u(!1)}catch(e){a.error(rn(),e)}}return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`p`,{className:`oc-admin__hint`,children:[Ae(),(0,X.jsx)(`strong`,{children:le()}),re()]}),(0,X.jsx)(vn,{title:ee(),rows:e,addLabel:Ce(),onAdd:()=>{k(null),_(Z),u(!0)},emptyHint:_e(),columns:[{header:pe(),cell:e=>e.name,sort:e=>e.name},{header:gt(),cell:e=>(0,X.jsx)(B,{variant:`outline`,children:e.kind??`openclaw`}),sort:e=>e.kind??`openclaw`},{header:s(),cell:e=>e.gatewayUrl,sort:e=>e.gatewayUrl},{header:yt(),cell:e=>e.displayName??`—`,sort:e=>e.displayName??null},{header:Be(),cell:e=>{let n=(t?.[e.name]??[]).filter(e=>e.presentInLastOk!==!1&&e.enabled);if(n.length===0)return(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});let i=t=>e.defaultAgentId===t;return(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:[...n].sort((e,t)=>Number(i(t.agentId))-Number(i(e.agentId))).map(e=>(0,X.jsxs)(B,{variant:i(e.agentId)?`default`:`outline`,title:i(e.agentId)?r():void 0,children:[e.emoji?`${e.emoji} `:``,e.displayName??e.agentId]},e.agentId))})}}],rowActions:e=>[{label:Pe(),onSelect:()=>{k(e._id),_(wn(e)),u(!0)}},{label:d(),onSelect:()=>C(e.name)},{label:Ut(),onSelect:()=>D(e)},{label:be(),onSelect:()=>T(e)},{label:v(),variant:`destructive`,onSelect:()=>void i({instanceId:e._id})}],bulkActions:[{label:v(),variant:`destructive`,onSelect:e=>e.forEach(e=>void i({instanceId:e}))}]}),(0,X.jsx)(pn,{open:o,onOpenChange:u,title:O?Jt():x(),description:Me(),canSubmit:!!(p.name&&p.gatewayUrl),onSubmit:ae,submitLabel:Zt(),children:(0,X.jsxs)(`div`,{className:`oc-form`,children:[(0,X.jsxs)($,{label:Qe(),children:[(0,X.jsx)(z,{value:p.name,disabled:O!==null,onChange:e=>_({...p,name:e.target.value})}),O?(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:m()}):null]}),(0,X.jsx)($,{label:en(),children:(0,X.jsxs)(K,{value:p.kind,onValueChange:e=>_({...p,kind:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`openclaw`,children:`OpenClaw`}),(0,X.jsx)(W,{value:`hermes`,children:`Hermes`})]})]})}),p.kind===`hermes`?(0,X.jsx)($,{label:Ie(),children:(0,X.jsxs)(K,{value:p.transport,onValueChange:e=>_({...p,transport:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`ws`,children:Xt()}),(0,X.jsx)(W,{value:`rest`,children:g()})]})]})}):null,(0,X.jsx)($,{label:Gt(),children:(0,X.jsx)(z,{value:p.gatewayUrl,onChange:e=>_({...p,gatewayUrl:e.target.value})})}),(0,X.jsx)($,{label:Je(),children:(0,X.jsx)(z,{value:p.bridgeUrl,placeholder:ut(),onChange:e=>_({...p,bridgeUrl:e.target.value})})}),(0,X.jsx)($,{label:ft(),children:(0,X.jsx)(z,{value:p.displayName,onChange:e=>_({...p,displayName:e.target.value})})}),(0,X.jsxs)($,{label:ge(),children:[(0,X.jsxs)(K,{value:p.streamTransport,onValueChange:e=>_({...p,streamTransport:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsx)(H,{children:sn.map(e=>(0,X.jsx)(W,{value:e,children:e},e))})]}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:fe()})]}),(0,X.jsx)($,{label:wt(),children:(0,X.jsx)(z,{value:p.gatewayVersion,placeholder:jt(),onChange:e=>_({...p,gatewayVersion:e.target.value})})}),p.kind===`openclaw`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)($,{label:Yt(),children:[(0,X.jsxs)(K,{value:p.authMode,onValueChange:e=>_({...p,authMode:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`token`,children:h()}),(0,X.jsx)(W,{value:`trusted-proxy`,children:Ne()})]})]}),(0,X.jsx)(`p`,{className:`oc-field__hint`,children:p.authMode===`trusted-proxy`?$e():Qt()})]}),p.authMode===`trusted-proxy`?(0,X.jsxs)($,{label:we(),children:[(0,X.jsxs)(K,{value:p.personScopes,onValueChange:e=>_({...p,personScopes:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`capped`,children:ve()}),(0,X.jsx)(W,{value:`full`,children:me()})]})]}),(0,X.jsx)(`p`,{className:`oc-field__hint`,children:p.personScopes===`full`?c():_t()})]}):null,p.authMode===`trusted-proxy`?(0,X.jsxs)($,{label:bt(),children:[(0,X.jsxs)(K,{value:p.identitySource,onValueChange:e=>_({...p,identitySource:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`canonical`,children:xe()}),(0,X.jsx)(W,{value:`email`,children:y()})]})]}),(0,X.jsx)(`p`,{className:`oc-field__hint`,children:p.identitySource===`email`?Fe():S()})]}):null,p.authMode===`trusted-proxy`?(0,X.jsxs)($,{label:Re(),children:[(0,X.jsxs)(K,{value:p.participantIdentity,onValueChange:e=>_({...p,participantIdentity:e}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`owner`,children:ne()}),(0,X.jsx)(W,{value:`self`,children:Ve()})]})]}),(0,X.jsx)(`p`,{className:`oc-field__hint`,children:p.participantIdentity===`self`?Te():f()})]}):null,p.kind===`openclaw`?(0,X.jsxs)($,{label:an(),children:[(0,X.jsxs)(K,{value:p.managePermissionModes?`on`:`off`,onValueChange:e=>_({...p,managePermissionModes:e===`on`}),children:[(0,X.jsx)(q,{size:`sm`,className:`w-full`,children:(0,X.jsx)(U,{})}),(0,X.jsxs)(H,{children:[(0,X.jsx)(W,{value:`off`,children:je()}),(0,X.jsx)(W,{value:`on`,children:ue()})]})]}),(0,X.jsx)(`p`,{className:`oc-field__hint`,children:p.managePermissionModes?te():ie()})]}):null,p.authMode===`trusted-proxy`?(0,X.jsx)($,{label:tn(),children:(0,X.jsx)(z,{value:p.systemIdentity,placeholder:Kt(),onChange:e=>_({...p,systemIdentity:e.target.value})})}):null]}):null,(0,X.jsx)($,{label:ct(),children:(0,X.jsx)(z,{value:p.gatewayHttpUrl,placeholder:rt(),onChange:e=>_({...p,gatewayHttpUrl:e.target.value})})})]})}),(0,X.jsx)(Pn,{instanceName:b,open:b!==null,onOpenChange:e=>{e||C(null)}}),w?(0,X.jsx)(yn,{instance:w,onClose:()=>T(null)},w._id):null,E?(0,X.jsx)(En,{instance:E,onClose:()=>D(null)},E._id):null]})}function En({instance:e,onClose:t}){let n=l(I.instanceSecrets.listInstanceSecretStatus,{}),r=Cn[e.kind??`openclaw`],i=(0,J.useMemo)(()=>{let t={};for(let r of n??[])r.instanceId===e._id&&(t[r.field]=r.updatedAt);return t},[n,e._id]);return(0,X.jsx)(mn,{open:!0,onOpenChange:e=>!e&&t(),children:(0,X.jsxs)(gn,{onOpenAutoFocus:e=>e.preventDefault(),children:[(0,X.jsxs)(hn,{children:[(0,X.jsx)(fn,{children:St({instance:e.displayName??e.name})}),(0,X.jsx)(G,{children:tt()})]}),(0,X.jsx)(`div`,{className:`oc-form`,children:r.map(t=>(0,X.jsx)(kn,{instanceId:e._id,field:t,updatedAt:i[t]??null},t))}),(0,X.jsx)(`div`,{className:`oc-bridgesecret`,children:(0,X.jsx)(On,{instance:e})}),(0,X.jsx)(Dn,{instance:e})]})})}function Dn({instance:e}){let t=A(I.instanceSync.forceInstanceSync),n=V(),[r,i]=(0,J.useState)(!1);async function a(){if(!r){i(!0);try{switch((await t({instanceId:e._id})).status){case`synced`:n.success(E());break;case`no_agents`:n.success(u());break;case`no_bridge_url`:n.error(nn());break;case`deploy_misconfigured`:n.error(ke());break;case`unauthorized`:n.error(D());break;case`not_served`:n.error(C());break;default:n.error(ce());break}}catch(e){n.error(ze(),e)}finally{i(!1)}}}return(0,X.jsxs)(`div`,{className:`oc-form`,children:[(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:Se()}),(0,X.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,X.jsx)(R,{size:`sm`,variant:`outline`,onClick:()=>void a(),disabled:r,children:r?Le():He()})})]})}function On({instance:e}){let t=l(I.bridgeAuth.listBridgeAuthStatus,{}),n=A(I.bridgeAuth.mintBridgeSecret),r=L(I.bridgeAuth.revokeBridgeSecret),i=V(),[a,s]=(0,J.useState)(!1),[c,u]=(0,J.useState)(null),[d,f]=(0,J.useState)(!1),p=(t??[]).find(t=>t.instanceId===e._id),m=p!==void 0;async function h(){if(!a){s(!0);try{u((await n({instanceId:e._id})).plaintext),f(!1)}catch(e){i.error(_(),e)}finally{s(!1)}}}async function g(){if(!a){s(!0);try{await r({instanceId:e._id}),u(null),i.success(ye())}catch(e){i.error(_(),e)}finally{s(!1)}}}async function v(){if(c)try{await navigator.clipboard.writeText(c),f(!0)}catch{}}return(0,X.jsxs)($,{label:he(),children:[(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:de()}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(B,{variant:m?`outline`:`secondary`,children:m?`${F()} · ${p.prefix}…${p.lastFour}`:Ft()}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(R,{size:`sm`,onClick:()=>void h(),disabled:a,children:m?o():ht()}),m?(0,X.jsx)(R,{size:`sm`,variant:`destructive`,onClick:()=>void g(),disabled:a,children:vt()}):null]})]}),c?(0,X.jsxs)(`div`,{className:`oc-bridgesecret__reveal`,children:[(0,X.jsx)(`p`,{className:`oc-sa__minted-warning`,children:b()}),(0,X.jsxs)(`div`,{className:`oc-sa__minted-box`,children:[(0,X.jsx)(`code`,{className:`oc-sa__minted-plain`,children:c}),(0,X.jsx)(R,{variant:`outline`,size:`sm`,onClick:()=>void v(),children:d?O():w()})]}),(0,X.jsx)(R,{size:`sm`,variant:`ghost`,onClick:()=>{u(null),f(!1)},children:M()})]}):null]})}function kn({instanceId:e,field:t,updatedAt:n}){let r=A(I.instanceSecrets.setInstanceSecret),a=L(I.instanceSecrets.clearInstanceSecret),o=A(I.deviceIdentity.generateDeviceIdentity),s=V(),[c,l]=(0,J.useState)(``),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(null),[m,h]=(0,J.useState)(!1),g=n!==null,_=t===`deviceIdentity`,v=t===`token`?Rt():t===`deviceIdentity`?kt():Xe();async function y(){if(!(!c.trim()||u)){d(!0);try{await r({instanceId:e,field:t,plaintext:c}),l(``),p(null),h(!1),s.success(De())}catch(e){s.error(P(),e)}finally{d(!1)}}}async function b(){if(!u){d(!0);try{await a({instanceId:e,field:t}),p(null),h(!1),s.success(Ue())}catch(e){s.error(P(),e)}finally{d(!1)}}}async function x(){if(!u){d(!0);try{p(await o({instanceId:e})),h(!1),s.success(Nt())}catch(e){s.error(T(),e)}finally{d(!1)}}}let S=f?`openclaw devices approve ${f.id}`:``;async function C(){if(S)try{await navigator.clipboard.writeText(S),h(!0)}catch{}}return(0,X.jsxs)($,{label:v,children:[_?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:ae()}):null,(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,X.jsx)(B,{variant:g?`outline`:`secondary`,children:g?F():Ft()}),(0,X.jsx)(z,{type:`password`,autoComplete:`off`,className:`flex-1 min-w-32`,value:c,placeholder:g?Bt():Et(),onChange:e=>l(e.target.value)}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(R,{size:`sm`,onClick:()=>void y(),disabled:u||c.trim().length===0,children:at()}),_?(0,X.jsx)(R,{size:`sm`,variant:`outline`,onClick:()=>void x(),disabled:u,children:Ge()}):null,g?(0,X.jsx)(R,{size:`sm`,variant:`destructive`,onClick:()=>void b(),disabled:u,children:i()}):null]})]}),f?(0,X.jsxs)(`div`,{className:`oc-bridgesecret__reveal`,children:[(0,X.jsx)(`p`,{className:`text-sm font-medium`,children:Nt()}),(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:se()}),(0,X.jsxs)(`div`,{className:`oc-sa__minted-box`,children:[(0,X.jsx)(`code`,{className:`oc-sa__minted-plain`,children:S}),(0,X.jsx)(R,{variant:`outline`,size:`sm`,onClick:()=>void C(),children:m?O():w()})]}),(0,X.jsx)(R,{size:`sm`,variant:`ghost`,onClick:()=>{p(null),h(!1)},children:M()})]}):null]})}var An={conversational:Ct,documentary:st,summarizer:mt,curator:Dt},jn={conversational:At,documentary:nt,summarizer:It,curator:Vt},Mn=e=>(An[e]??(()=>e))(),Q=e=>(jn[e]??(()=>``))();function Nn({agentId:e,types:t,onToggle:n}){return(0,X.jsxs)(`div`,{className:`oc-agentcard__types`,children:[(0,X.jsx)(`span`,{className:`oc-agentcard__types-label`,children:Wt()}),t.map(e=>(0,X.jsx)(B,{variant:`secondary`,className:`oc-agenttype__chip`,title:Q(e),children:Mn(e)},e)),(0,X.jsxs)(ln,{children:[(0,X.jsx)(dn,{asChild:!0,children:(0,X.jsx)(R,{type:`button`,variant:`outline`,size:`sm`,className:`h-7`,children:qe()})}),(0,X.jsxs)(cn,{align:`start`,className:`oc-agenttypes-pop`,children:[(0,X.jsx)(`p`,{className:`oc-agenttypes-pop__title`,children:lt()}),(0,X.jsx)(`p`,{className:`oc-agenttypes-pop__hint`,children:dt()}),(0,X.jsx)(`div`,{className:`oc-agenttypes-pop__list`,children:Y.map(r=>{let i=`agtype-${e}-${r}`;return(0,X.jsxs)(`div`,{className:`oc-agenttypes-pop__item`,children:[(0,X.jsx)(_n,{id:i,checked:t.includes(r),onCheckedChange:()=>n(r)}),(0,X.jsxs)(`label`,{htmlFor:i,className:`oc-agenttypes-pop__text`,children:[(0,X.jsx)(`span`,{className:`oc-agenttypes-pop__name`,children:Mn(r)}),(0,X.jsx)(`span`,{className:`oc-agenttypes-pop__desc`,children:Q(r)})]})]},r)})})]})]})]})}function Pn({instanceName:e,open:t,onOpenChange:n}){let i=l(I.agents.listAgentsForInstance,t&&e?{instanceName:e}:`skip`),o=L(I.agents.setAgentEnabled).withOptimisticUpdate((e,{instanceName:t,agentId:n,enabled:r})=>{let i=e.getQuery(I.agents.listAgentsForInstance,{instanceName:t});i&&e.setQuery(I.agents.listAgentsForInstance,{instanceName:t},{...i,agents:i.agents.map(e=>e.agentId===n?{...e,enabled:r}:e)})}),s=L(I.agents.setInstanceDefaultAgent).withOptimisticUpdate((e,{instanceName:t,agentId:n})=>{let r=e.getQuery(I.agents.listAgentsForInstance,{instanceName:t});r&&e.setQuery(I.agents.listAgentsForInstance,{instanceName:t},{...r,defaultAgentId:n})}),c=L(I.agents.setAgentTypes).withOptimisticUpdate((e,{instanceName:t,agentId:n,types:r})=>{let i=e.getQuery(I.agents.listAgentsForInstance,{instanceName:t});if(!i)return;let a=Sn(r);e.setQuery(I.agents.listAgentsForInstance,{instanceName:t},{...i,agents:i.agents.map(e=>e.agentId===n?{...e,types:a}:e)})}),u=L(I.agents.setAgentDescription).withOptimisticUpdate((e,{instanceName:t,agentId:n,description:r})=>{let i=e.getQuery(I.agents.listAgentsForInstance,{instanceName:t});if(!i)return;let a=r.trim();e.setQuery(I.agents.listAgentsForInstance,{instanceName:t},{...i,agents:i.agents.map(e=>e.agentId===n?{...e,description:a.length===0?null:a}:e)})}),d=L(I.agents.removeInstanceAgent),f=L(I.agents.setAgentReservation),m=l(I.groups.listGroupLabels,t?{}:`skip`),h=un(),g=V();async function _(t,n){if(e&&await h({title:We({name:n}),description:k(),confirmLabel:N()}))try{await f({instanceName:e,agentId:t,groupId:null})}catch(e){g.error(j(),e)}}async function v(t,n,r){if(!e)return;let i=(m??[]).find(e=>e._id===r)?.name??`?`;if(await h({title:ot({name:n,group:i}),description:a({group:i}),confirmLabel:Oe()}))try{await f({instanceName:e,agentId:t,groupId:r})}catch(e){g.error(j(),e)}}async function y(t,n){if(e)try{await o({instanceName:e,agentId:t,enabled:n})}catch(e){g.error(j(),e)}}async function b(t){if(e)try{await s({instanceName:e,agentId:t})}catch(e){g.error(j(),e)}}async function x(t,n,r){if(!e)return;let i=r.includes(n)?r.filter(e=>e!==n):[...r,n];try{await c({instanceName:e,agentId:t,types:i})}catch(e){g.error(j(),e)}}async function S(t,n){if(e&&await h({title:et({name:n}),description:Lt(),confirmLabel:Ot(),destructive:!0}))try{await d({instanceName:e,agentId:t}),g.success(Ye())}catch(e){g.error(j(),e)}}return(0,X.jsx)(mn,{open:t,onOpenChange:n,children:(0,X.jsxs)(gn,{className:`oc-access`,children:[(0,X.jsxs)(hn,{children:[(0,X.jsx)(fn,{children:qt({name:e??``})}),(0,X.jsx)(G,{children:p()})]}),i===void 0?(0,X.jsx)(`p`,{className:`oc-access__hint`,children:pt()}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`oc-access__poll`,children:i.discovery===null?Pt():i.discovery.lastPollOk?Tt():zt({error:i.discovery.error??`?`})}),i.agents.length===0?(0,X.jsx)(`p`,{className:`oc-access__hint`,children:it()}):(0,X.jsx)(`div`,{className:`oc-access__list`,children:i.agents.map(t=>{let n=t.presentInLastOk===!1,a=i.defaultAgentId===t.agentId,o=t.displayName??t.agentId,s=t.types??[];return(0,X.jsxs)(`div`,{className:`oc-agentcard`+(t.enabled?``:` oc-agentcard--off`),children:[(0,X.jsxs)(`div`,{className:`oc-agentcard__head`,children:[(0,X.jsx)(_n,{checked:t.enabled,disabled:n,"aria-label":o,onCheckedChange:e=>void y(t.agentId,e===!0)}),(0,X.jsxs)(`span`,{className:`oc-agentcard__name`,title:o,children:[t.emoji?`${t.emoji} `:``,o]}),t.model?(0,X.jsx)(`span`,{className:`oc-access__model`,children:t.model}):null,t.reserved?(0,X.jsx)(B,{variant:`outline`,children:t.reserved.groupName===null?Ke():Ee({group:t.reserved.groupName})}):null,n?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(B,{variant:`outline`,className:`oc-access__gone`,children:oe()}),(0,X.jsx)(R,{size:`sm`,variant:`ghost`,className:`h-7 text-destructive`,onClick:()=>void S(t.agentId,o),children:xt()})]}):a?(0,X.jsx)(B,{variant:`default`,children:r()}):(0,X.jsx)(R,{size:`sm`,variant:`outline`,className:`h-7`,disabled:!t.enabled||t.reserved!==null,onClick:()=>void b(t.agentId),children:Ht()})]}),t.reserved?(0,X.jsxs)(`div`,{className:`oc-agentcard__head`,children:[(0,X.jsx)(R,{size:`sm`,variant:`outline`,className:`h-7`,onClick:()=>void _(t.agentId,o),children:N()}),(0,X.jsxs)(K,{value:``,onValueChange:e=>void v(t.agentId,o,e),children:[(0,X.jsx)(q,{size:`sm`,className:`h-7`,children:(0,X.jsx)(U,{placeholder:Mt()})}),(0,X.jsx)(H,{children:(m??[]).filter(e=>e._id!==t.reserved?.groupId).map(e=>(0,X.jsx)(W,{value:e._id,children:e.name},e._id))})]})]}):null,t.enabled?(0,X.jsx)(Nn,{agentId:t.agentId,types:s,onToggle:e=>void x(t.agentId,e,s)}):null,t.enabled?(0,X.jsx)(Fn,{value:t.description??``,onSave:async n=>{if(e)try{await u({instanceName:e,agentId:t.agentId,description:n})}catch(e){g.error(j(),e)}}}):null]},t.agentId)})})]})]})})}function Fn({value:e,onSave:t}){let[n,r]=(0,J.useState)(e);(0,J.useEffect)(()=>{r(e)},[e]);let i=()=>{n.trim()!==e.trim()&&t(n)};return(0,X.jsx)(z,{className:`oc-agentcard__desc`,value:n,maxLength:280,placeholder:Ze(),"aria-label":$t(),onChange:e=>r(e.target.value),onBlur:i,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),i())}})}function $({label:e,children:t}){return(0,X.jsxs)(`label`,{className:`oc-field`,children:[(0,X.jsx)(`span`,{className:`oc-field__label`,children:e}),t]})}export{Tn as InstancesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{AI as r,BJ as i,CI as a,Cm as o,DI as s,EI as c,LJ as l,MI as u,OI as d,SI as f,Sm as p,TI as m,Tm as h,_m as g,bI as _,bm as v,jI as y,kI as b,t as x,vm as S,wI as C,wm as w,xI as T,xm as E,yI as D,ym as O,zJ as k}from"./api-DL5MhfCR.js";import{t as A}from"./button-7-8JjL3V.js";import{Ht as j,Lt as M,xt as N}from"./index-D2_zMS9W.js";var P=t(e(),1),F=n();function I(){let e=i(x.integrations.status.status,{}),t=k(x.admin.setIntegrationConfig),[n,l]=(0,P.useState)(null);if((0,P.useEffect)(()=>{e&&n===null&&l(e.config)},[e,n]),!e||!n)return(0,F.jsx)(`p`,{className:`oc-admin__hint`,children:u()});let p=n,g=(e,t,n)=>l({...p,[e]:{...p[e],[t]:n}}),v=(e,n)=>void t({[e]:n});return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`p`,{className:`oc-admin__hint`,children:[y(),` `,(0,F.jsx)(`strong`,{children:r()}),` `,b()]}),(0,F.jsxs)(L,{title:`Langfuse`,status:e.langfuse.configured?e.langfuse.enabled?(0,F.jsx)(M,{variant:`secondary`,children:d()}):(0,F.jsx)(M,{variant:`outline`,children:s()}):(0,F.jsx)(M,{variant:`outline`,children:c()}),note:m(),children:[(0,F.jsx)(R,{label:a(),children:(0,F.jsx)(j,{value:p.langfuse.host??``,placeholder:e.langfuse.effectiveHost,onChange:e=>g(`langfuse`,`host`,e.target.value),onBlur:()=>v(`langfuse`,{host:p.langfuse.host??``})})}),(0,F.jsx)(z,{label:D(),checked:p.langfuse.enabled??!0,onChange:e=>{g(`langfuse`,`enabled`,e),v(`langfuse`,{enabled:e})}})]}),(0,F.jsxs)(L,{title:`Opik`,status:e.opik.configured?e.opik.enabled?(0,F.jsx)(M,{variant:`secondary`,children:d()}):(0,F.jsx)(M,{variant:`outline`,children:s()}):(0,F.jsx)(M,{variant:`outline`,children:c()}),note:C(),children:[(0,F.jsx)(R,{label:f(),children:(0,F.jsx)(j,{value:p.opik.baseUrl??``,placeholder:e.opik.effectiveBaseUrl,onChange:e=>g(`opik`,`baseUrl`,e.target.value),onBlur:()=>v(`opik`,{baseUrl:p.opik.baseUrl??``})})}),(0,F.jsx)(R,{label:T(),children:(0,F.jsx)(j,{value:p.opik.workspace??``,placeholder:e.opik.effectiveWorkspace||_(),onChange:e=>g(`opik`,`workspace`,e.target.value),onBlur:()=>v(`opik`,{workspace:p.opik.workspace??``})})}),(0,F.jsx)(z,{label:D(),checked:p.opik.enabled??!0,onChange:e=>{g(`opik`,`enabled`,e),v(`opik`,{enabled:e})}})]}),(0,F.jsxs)(L,{title:`OpenTelemetry (OTLP)`,status:e.otlp.configured?e.otlp.enabled?(0,F.jsx)(M,{variant:`secondary`,children:d()}):(0,F.jsx)(M,{variant:`outline`,children:s()}):(0,F.jsx)(M,{variant:`outline`,children:h()}),note:w(),children:[(0,F.jsx)(R,{label:o(),children:(0,F.jsx)(j,{value:p.otlp.endpoint??``,placeholder:e.otlp.effectiveEndpoint||`https://otlp.example.com/v1/traces`,onChange:e=>g(`otlp`,`endpoint`,e.target.value),onBlur:()=>v(`otlp`,{endpoint:p.otlp.endpoint??``})})}),(0,F.jsx)(B,{headersSet:e.otlp.headersSet}),(0,F.jsx)(z,{label:D(),checked:p.otlp.enabled??!0,onChange:e=>{g(`otlp`,`enabled`,e),v(`otlp`,{enabled:e})}})]})]})}function L({title:e,status:t,note:n,children:r}){return(0,F.jsxs)(`section`,{className:`oc-int__section`,children:[(0,F.jsxs)(`div`,{className:`oc-int__section-head`,children:[(0,F.jsx)(`h3`,{className:`oc-uipa__h`,children:e}),t]}),n?(0,F.jsx)(`p`,{className:`oc-uipa__note`,children:n}):null,(0,F.jsx)(`div`,{className:`oc-int__fields`,children:r})]})}function R({label:e,children:t}){return(0,F.jsxs)(`label`,{className:`oc-int__field`,children:[(0,F.jsx)(`span`,{className:`oc-int__field-label`,children:e}),t]})}function z({label:e,checked:t,onChange:n}){return(0,F.jsxs)(`label`,{className:`oc-int__toggle`,children:[(0,F.jsx)(N,{checked:t,onCheckedChange:e=>n(e===!0)}),(0,F.jsx)(`span`,{children:e})]})}function B({headersSet:e}){let t=l(x.integrations.otlpSecret.setOtlpHeaders),n=k(x.integrations.otlpSecret.clearOtlpHeaders),[r,i]=(0,P.useState)(``),[a,o]=(0,P.useState)(null),[s,c]=(0,P.useState)(!1),u=async()=>{c(!0),o(null);try{await t({headersJson:r}),i(``)}catch(e){o(e instanceof Error?e.message:String(e))}finally{c(!1)}};return(0,F.jsxs)(R,{label:p(),children:[(0,F.jsx)(j,{value:r,placeholder:e?E():v(),onChange:e=>i(e.target.value)}),(0,F.jsxs)(`div`,{className:`oc-int__otlp-headers-actions`,children:[(0,F.jsx)(A,{size:`sm`,disabled:s||r.trim().length===0,onClick:()=>void u(),children:O()}),e?(0,F.jsx)(A,{variant:`ghost`,size:`sm`,disabled:s,onClick:()=>void n({}),children:S()}):null]}),a?(0,F.jsx)(`p`,{className:`oc-int__otlp-headers-error`,children:a}):null,(0,F.jsx)(`p`,{className:`oc-uipa__note`,children:g()})]})}export{I as IntegrationsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{BE as r,BJ as i,GE as a,HE as o,IE as s,JE as c,KE as l,LE as u,RE as d,UE as f,VE as p,VL as m,WE as h,XE as g,YE as _,aL as v,gL as y,hL as b,mL as x,oL as S,pL as ee,qE as C,t as w,zE as T}from"./api-DL5MhfCR.js";import{er as E,i as D,o as O,r as te,tr as ne,tt as re}from"./index-D2_zMS9W.js";import{a as k,n as A,o as j,r as M,t as N}from"./card-B9HCdDy6.js";import{n as P,t as F}from"./TimeRangePicker-BIm9hRiV.js";var I=t(e(),1),L={API_CALLS:`api.calls`,API_ERRORS:`api.errors`,API_LATENCY_AVG_MS:`api.latency.avg_ms`,OPENCLAW_INGEST:`openclaw.ingest`,CHAT_SEND:`chat.send`,ASSISTANT_STREAM_ERRORS:`assistant.stream.errors`,ASSISTANT_ANNOUNCE_ERRORS:`assistant.announce.errors`,CONVEX_PROBE_LATENCY_AVG_MS:`convex.probe.latency.avg_ms`},R=Object.keys(L).length,z=n(),B=15,V=e=>String(Math.round(e));function H(){let e=i(w.me.getMe,{host:re})?.permissions?.includes(`traces.read`)??!1,t=i(w.deliveryTiming.listDeliverySessions,e?{}:`skip`),n=(0,I.useMemo)(()=>t?t.filter(e=>!e.active&&e.rollup!==null&&e.rollup.cP50!==null&&e.rollup.aP50!==null).slice(0,B).reverse().map(e=>({startedAt:e.startedAt,cP50:e.rollup?.cP50,aP50:e.rollup?.aP50})):[],[t]);return t===void 0?null:(0,z.jsxs)(`section`,{className:`oc-kpi__group`,children:[(0,z.jsx)(`h2`,{className:`oc-kpi__group-title`,children:m()}),(0,z.jsxs)(N,{children:[(0,z.jsxs)(k,{children:[(0,z.jsx)(j,{children:y()}),(0,z.jsx)(M,{children:x()})]}),(0,z.jsx)(A,{children:n.length<2?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:ee()}):(0,z.jsx)(U,{series:n})})]})]})}function U({series:e}){let t=e.map(e=>e.cP50),n=e.map(e=>e.aP50),r=Math.max(1,...t,...n),i=t=>6+t*468/(e.length-1),a=e=>74-e*68/r,o=e=>e.map((e,t)=>`${t===0?`M`:`L`}${i(t).toFixed(1)},${a(e).toFixed(1)}`).join(` `),s=e[e.length-1];return(0,z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,z.jsxs)(`div`,{className:`flex gap-3 text-xs text-muted-foreground`,children:[(0,z.jsxs)(`span`,{style:{color:`var(--primary)`},children:[v(),` p50 `,V(s.cP50),` `,b()]}),(0,z.jsxs)(`span`,{children:[S(),` p50 `,V(s.aP50),` `,b()]})]}),(0,z.jsxs)(`svg`,{viewBox:`0 0 480 80`,className:`h-20 w-full`,preserveAspectRatio:`none`,role:`img`,"aria-label":y(),children:[(0,z.jsx)(`path`,{d:o(n),fill:`none`,style:{stroke:`var(--muted-foreground)`},strokeWidth:1.5}),(0,z.jsx)(`path`,{d:o(t),fill:`none`,style:{stroke:`var(--primary)`},strokeWidth:1.5})]})]})}var W=[{metric:`api.calls`,label:g(),unit:`/h`,group:`API`,isError:!1},{metric:`api.errors`,label:_(),unit:`/h`,group:`API`,isError:!0},{metric:`api.latency.avg_ms`,label:c(),unit:`ms`,group:`API`,isError:!1},{metric:`openclaw.ingest`,label:C(),unit:`/h`,group:`OpenClaw`,isError:!1},{metric:`chat.send`,label:l(),unit:`/h`,group:`Chat`,isError:!1},{metric:L.ASSISTANT_STREAM_ERRORS,label:a(),unit:`/h`,group:`Assistant`,isError:!0},{metric:L.ASSISTANT_ANNOUNCE_ERRORS,label:h(),unit:`/h`,group:`Assistant`,isError:!0}],G=R,K=[`API`,`OpenClaw`,`Chat`,`Assistant`],q=1e3,J=36e5;function Y(e,t){let n=Math.max(1,Math.ceil((t-e)/J)),r=Math.min(n*G,q);return{rowLimit:r,buckets:Math.max(1,Math.floor(r/G))}}function ie(){let e=ne({from:`/settings/kpi`}),t=E({from:`/settings/kpi`}),n=D(e.from,e.to,te,`now`),a=e=>void t({search:t=>({...t,...O(e)})}),{from:s,to:c}=P(n),{rowLimit:l,buckets:u}=Y(s,c),d=i(w.kpi.listKpis,{limit:l,filter:{from:s,to:c}}),m=(0,I.useMemo)(()=>{let e=new Map;for(let t of d??[]){let n=e.get(t.metric)??[];n.push({bucket:t.bucket,value:t.value}),e.set(t.metric,n)}for(let[t,n]of e)n.sort((e,t)=>e.bucket<t.bucket?-1:+(e.bucket>t.bucket)),n.length>u&&e.set(t,n.slice(n.length-u));return e},[d,u]),h=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`p`,{className:`oc-admin__hint`,children:[f(),` `,(0,z.jsx)(`span`,{className:`oc-filter__window`,children:o()})]}),(0,z.jsx)(ae,{value:n,onChange:a})]});return d===void 0?(0,z.jsxs)(z.Fragment,{children:[h,(0,z.jsx)(H,{}),(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:p()})]}):d.length===0?(0,z.jsxs)(z.Fragment,{children:[h,(0,z.jsx)(H,{}),(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:r()})]}):(0,z.jsxs)(z.Fragment,{children:[h,(0,z.jsx)(H,{}),K.map(e=>{let t=W.filter(t=>t.group===e);return t.some(e=>(m.get(e.metric)??[]).length>0)?(0,z.jsxs)(`section`,{className:`oc-kpi__group`,children:[(0,z.jsx)(`h2`,{className:`oc-kpi__group-title`,children:e}),(0,z.jsx)(`div`,{className:`oc-kpi__grid`,children:t.map(e=>(0,z.jsx)(oe,{config:e,series:m.get(e.metric)??[]},e.metric))})]},e):null})]})}function ae({value:e,onChange:t}){return(0,z.jsx)(`div`,{className:`oc-kpi__toolbar`,children:(0,z.jsx)(F,{value:e,onChange:t})})}function oe({config:e,series:t}){let n=t.length>0?t[t.length-1]:null,r=n?n.value:0;return(0,z.jsxs)(N,{size:`sm`,className:`oc-kpi__card`,children:[(0,z.jsxs)(k,{children:[(0,z.jsx)(j,{className:`oc-kpi__card-title`,children:e.label}),(0,z.jsx)(M,{className:`oc-kpi__card-metric`,children:(0,z.jsx)(`code`,{children:e.metric})})]}),(0,z.jsxs)(A,{className:`oc-kpi__card-body`,children:[(0,z.jsxs)(`div`,{className:`oc-kpi__value-row`,children:[(0,z.jsx)(`span`,{className:`oc-kpi__value`+(e.isError&&r>0?` oc-kpi__value--error`:``),children:Q(r)}),(0,z.jsx)(`span`,{className:`oc-kpi__unit`,children:e.unit})]}),(0,z.jsx)(ce,{series:t,isError:e.isError,unit:e.unit}),(0,z.jsxs)(`div`,{className:`oc-kpi__axis`,children:[n?(0,z.jsx)(`span`,{className:`oc-kpi__axis-latest`,children:T({value:$(n.bucket)})}):(0,z.jsx)(`span`,{className:`oc-kpi__muted`,children:d()}),(0,z.jsx)(`span`,{className:`oc-kpi__muted`,children:u({count:t.length})})]})]})]})}var X=240,Z=48,se=1;function ce({series:e,isError:t,unit:n}){if(e.length===0)return(0,z.jsx)(`div`,{className:`oc-kpi__chart oc-kpi__chart--empty`,"aria-hidden":!0});let r=e.reduce((e,t)=>t.value>e?t.value:e,0),i=X/e.length,a=Math.max(i-se,1);return(0,z.jsx)(`svg`,{className:`oc-kpi__chart`,viewBox:`0 0 ${X} ${Z}`,preserveAspectRatio:`none`,role:`img`,"aria-label":s({max:Q(r),unit:n}),children:e.map((e,o)=>{let s=r>0?e.value/r*(Z-1):0,c=o*i,l=Z-s;return(0,z.jsx)(`rect`,{className:`oc-kpi__bar`+(t&&e.value>0?` oc-kpi__bar--error`:``),x:c,y:l,width:a,height:s,children:(0,z.jsxs)(`title`,{children:[$(e.bucket),` · `,Q(e.value),` `,n]})},e.bucket)})})}function Q(e){return Number.isFinite(e)?Math.abs(e)>=1e3?(e/1e3).toFixed(e%1e3==0?0:1)+`k`:String(e):`0`}function $(e){let t=new Date(`${e}:00:00Z`);return Number.isNaN(t.getTime())?e:`${String(t.getUTCDate()).padStart(2,`0`)}/${String(t.getUTCMonth()+1).padStart(2,`0`)} ${String(t.getUTCHours()).padStart(2,`0`)}h`}export{ie as KpiTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$H as r,$q as i,AJ as a,AU as o,BJ as s,CU as c,Cs as l,DU as u,EU as d,JH as f,MU as p,NU as m,Ns as ee,OU as te,QH as ne,Rs as re,SJ as ie,SU as ae,Ss as oe,TJ as se,TU as ce,Ts as le,XH as ue,YH as de,ZH as fe,_J as pe,_U as me,aJ as he,aU as ge,bJ as _e,bU as ve,bs as ye,cJ as h,cU as g,dJ as _,dU as v,eJ as y,eU as b,fJ as x,fU as S,gJ as C,gU as w,hJ as T,hU as E,iJ as D,iU as O,jU as k,kU as A,lJ as j,lU as M,mJ as N,mU as P,nJ as be,nU as xe,oJ as Se,oU as Ce,pJ as we,pU as Te,r as F,rJ as Ee,rU as I,sJ as De,sU as L,t as R,tJ as Oe,tU as z,uJ as ke,uU as Ae,vJ as je,vU as Me,vs as Ne,wU as Pe,ws as Fe,xJ as Ie,xP as Le,xU as Re,xs as ze,yJ as Be,yU as Ve,ys as He,zJ as B,zs as Ue}from"./api-DL5MhfCR.js";import{t as V}from"./button-7-8JjL3V.js";import{Bt as We,H as Ge,Ht as H,Lt as U,Rt as Ke,Vt as qe,ct as Je,dt as Ye,lt as W,st as Xe,t as Ze,tt as G,ut as Qe,xt as K,zt as $e}from"./index-D2_zMS9W.js";import{t as et}from"./localePickerView-C2RmOS86.js";import{t as tt}from"./TimezoneCombobox-C8tkxJ_H.js";var q=t(e(),1),J=n();function nt({className:e,checked:t,onCheckedChange:n,disabled:r,...i}){return(0,J.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":t,"data-state":t?`checked`:`unchecked`,disabled:r,onClick:()=>n(!t),className:F(`peer inline-flex h-5 w-9 shrink-0 items-center rounded-full border border-transparent transition-colors outline-none`,`focus-visible:ring-2 focus-visible:ring-ring/50`,`disabled:cursor-not-allowed disabled:opacity-50`,t?`bg-primary`:`bg-input`,e),...i,children:(0,J.jsx)(`span`,{className:F(`pointer-events-none block size-4 rounded-full bg-background shadow transition-transform`,t?`translate-x-[18px]`:`translate-x-[2px]`)})})}var Y=[{id:`messages`,label:()=>m()},{id:`composer`,label:()=>p()},{id:`sidebar`,label:()=>k()},{id:`notifications`,label:()=>P()},{id:`other`,label:()=>o()}],X={showSource:{category:`messages`,label:()=>A(),help:()=>te()},showReport:{category:`messages`,label:()=>u(),help:()=>d()},copyAssistant:{category:`messages`,label:()=>ce()},copyUser:{category:`messages`,label:()=>Pe()},showDelete:{category:`messages`,label:()=>c()},showTools:{category:`messages`,label:()=>ae(),help:()=>Re()},voiceInput:{category:`composer`,label:()=>ve(),help:()=>Ve()},showUsage:{category:`composer`,label:()=>Me(),help:()=>me()},autoReadAloud:{category:`composer`,label:()=>Ue(),help:()=>re()},showChatAge:{category:`sidebar`,label:()=>w(),help:()=>E()},notifSound:{category:`notifications`,label:()=>Te(),help:()=>S()},notifSystem:{category:`notifications`,label:()=>v(),help:()=>Ae()},replySound:{category:`notifications`,label:()=>M(),help:()=>g()}};function Z(e){return e.toLowerCase().normalize(`NFD`).replace(/\p{Diacritic}/gu,``)}function Q(e,t){let n=Z(t.trim()),r=new Map(Y.map(e=>[e.id,e.label()])),i=new Map(Y.map(e=>[e.id,[]]));for(let t of e){let e=X[t],a=e?.category??`other`;n&&!Z(`${e?e.label():t} ${e?.help?e.help():``} ${t} ${r.get(a)??``}`).includes(n)||i.get(a).push(t)}return Y.map(e=>({id:e.id,label:r.get(e.id),keys:i.get(e.id)})).filter(e=>e.keys.length>0)}var rt=[`showSource`,`showReport`,`copyAssistant`,`copyUser`,`showDelete`,`showTools`,`voiceInput`,`showChatAge`,`showUsage`,`autoReadAloud`,`notifSound`,`notifSystem`,`replySound`],it={voiceInput:`voiceInput`};function at(e){return rt.includes(e)}function $(e){return e===`admin`}function ot(e){return e===!0?`on`:e===!1?`off`:`inherit`}function st(e){return e===`on`?!0:e===`off`?!1:null}function ct(e){return at(e)?it[e]:void 0}var lt={voiceInput:()=>ne()};function ut({prefKey:e,ui:t}){let n=B(R.admin.setUiPrefDefault),r=B(R.admin.setFeatureEnabled),i=ct(e),a=i?lt[e]?.():void 0;return(0,J.jsxs)(`div`,{className:`oc-prefs__gov`,children:[(0,J.jsxs)(`div`,{className:`oc-prefs__gov-row`,children:[(0,J.jsx)(`span`,{className:`oc-prefs__gov-label`,children:xe()}),(0,J.jsxs)(Xe,{value:ot(t.defaults[e]),onValueChange:t=>void n({key:e,value:st(t)}),children:[(0,J.jsx)(Qe,{size:`sm`,className:`w-36`,children:(0,J.jsx)(Ye,{})}),(0,J.jsxs)(Je,{children:[(0,J.jsx)(W,{value:`on`,children:ue()}),(0,J.jsx)(W,{value:`off`,children:de()}),(0,J.jsx)(W,{value:`inherit`,children:f()})]})]}),i?(0,J.jsxs)(`span`,{className:`oc-prefs__gov-gate`,children:[(0,J.jsx)(K,{checked:t.featuresEnabled[i]===!0,onCheckedChange:e=>void r({key:i,enabled:e===!0}),"aria-label":z()}),z()]}):null]}),a?(0,J.jsx)(`span`,{className:`oc-prefs__gov-help`,children:a}):null]})}function dt({current:e,enabled:t}){let n=B(R.me.setDictationShortcut),[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(!1);return(0,q.useEffect)(()=>{if(!r)return;let e=e=>{if(e.preventDefault(),e.stopPropagation(),e.key===`Escape`){i(!1);return}let t=We(e);if(t===null){[`Shift`,`Control`,`Meta`,`Alt`].includes(e.key)||(o(!0),window.setTimeout(()=>o(!1),1800));return}i(!1),n({shortcut:t})};return window.addEventListener(`keydown`,e,!0),()=>window.removeEventListener(`keydown`,e,!0)},[r,n]),(0,J.jsxs)(`div`,{className:`oc-prefs__row${t?``:` is-locked`}`,children:[(0,J.jsxs)(`div`,{className:`oc-prefs__info`,children:[(0,J.jsxs)(`span`,{className:`oc-prefs__label`,children:[le(),e?(0,J.jsx)(U,{variant:`secondary`,children:qe(e,$e())}):null]}),(0,J.jsx)(`span`,{className:`oc-prefs__help`,children:a?oe():r?l():Fe()})]}),(0,J.jsxs)(`div`,{className:`oc-prefs__ctl`,children:[e&&!r?(0,J.jsx)(`button`,{type:`button`,className:`oc-prefs__reset`,onClick:()=>void n({shortcut:null}),children:Ne()}):null,(0,J.jsx)(`button`,{type:`button`,className:`oc-prefs__reset`,disabled:!t,"aria-pressed":r,onClick:()=>i(e=>!e),children:r?He():e?ye():ze()})]})]})}function ft(){let[e,t]=(0,q.useState)(``),[n,i]=(0,q.useState)(!1),o=s(R.me.getMe,{host:G}),c=o?.ui,l=$(o?.role)&&n,u=B(R.me.setUiPref).withOptimisticUpdate(Ge),d=(0,q.useMemo)(()=>c?Q(Object.keys(c.effective),e):[],[c,e]);return c?(0,J.jsxs)(`div`,{className:`oc-prefs-panel`,children:[$(o?.role)?(0,J.jsxs)(`label`,{className:`oc-prefs__gov-toggle`,children:[(0,J.jsx)(K,{checked:n,onCheckedChange:e=>i(e===!0),"aria-label":I()}),I()]}):null,l?(0,J.jsxs)(`div`,{className:`oc-prefs__gov-head`,children:[(0,J.jsx)(`p`,{children:b()}),(0,J.jsx)(`p`,{children:r()}),(0,J.jsx)(`p`,{children:fe()})]}):null,(0,J.jsx)(H,{value:e,onChange:e=>t(e.target.value),placeholder:L(),"aria-label":L(),className:`mb-2`}),d.length===0?(0,J.jsx)(`div`,{className:`oc-prefs__empty`,children:Ce()}):(0,J.jsx)(`div`,{className:`oc-prefs`,children:d.map(e=>(0,J.jsxs)(`section`,{className:`oc-prefs__card`,children:[(0,J.jsx)(`h4`,{className:`oc-prefs__cat`,children:e.label}),e.keys.map(e=>{let t=X[e],n=t?t.label():e,r=t?.help?.(),i=c.locked[e],a=c.effective[e],o=c.userOverrides[e]!==void 0;return(0,J.jsxs)(`div`,{className:`oc-prefs__row${i?` is-locked`:``}`,children:[(0,J.jsxs)(`div`,{className:`oc-prefs__info`,children:[(0,J.jsxs)(`span`,{className:`oc-prefs__label`,children:[n,i?(0,J.jsx)(U,{variant:`outline`,children:ge()}):o?(0,J.jsx)(U,{variant:`secondary`,children:ee()}):null]}),r?(0,J.jsx)(`span`,{className:`oc-prefs__help`,children:r}):null]}),(0,J.jsxs)(`div`,{className:`oc-prefs__ctl`,children:[!i&&o?(0,J.jsx)(`button`,{type:`button`,className:`oc-prefs__reset`,onClick:()=>void u({key:e,value:null}),children:O()}):null,(0,J.jsx)(nt,{checked:a,disabled:i,onCheckedChange:t=>{e===`notifSystem`&&t&&typeof Notification<`u`&&Notification.permission==="default"&&Notification.requestPermission(),u({key:e,value:t})},"aria-label":n})]}),l?(0,J.jsx)(ut,{prefKey:e,ui:c}):null]},e)})]},e.id))}),(0,J.jsx)(dt,{current:o?.dictationShortcut??null,enabled:c.effective.voiceInput===!0})]}):(0,J.jsx)(`div`,{className:`oc-prefs__empty`,children:a()})}var pt={sm:()=>ke(),md:()=>j(),lg:()=>h(),xl:()=>De(),"2xl":()=>Se(),"3xl":()=>he()};function mt(){let e=s(R.me.getMe,{host:G}),t=B(R.me.setLocale),n=B(R.me.setTimezone),r=B(R.me.setFontScale).withOptimisticUpdate((e,{scale:t})=>{let n=e.getQuery(R.me.getMe,{host:G});n&&e.setQuery(R.me.getMe,{host:G},{...n,fontScale:t,resolvedFontScale:t??`md`})}),a=B(R.me.setMyName),o=Ke(),c=e?.locale??`default`,l=e?.name??``,[u,d]=(0,q.useState)(null),f=u??l,p=f.trim()!==l.trim();async function m(){try{await a({name:f}),d(null),o.success(je())}catch(e){o.error(pe(),e)}}return(0,J.jsxs)(`div`,{className:`oc-appearance`,children:[(0,J.jsxs)(`section`,{className:`oc-show__section`,children:[(0,J.jsxs)(`div`,{className:`oc-show__heading`,children:[(0,J.jsx)(`h2`,{className:`oc-show__title`,children:ie()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:Ie()})]}),(0,J.jsxs)(`div`,{className:`oc-show__row`,children:[(0,J.jsx)(H,{className:`max-w-xs`,value:f,maxLength:120,placeholder:_e(),onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&p&&(e.preventDefault(),m())}}),(0,J.jsx)(V,{size:`sm`,disabled:!p,onClick:()=>void m(),children:Le()})]}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:Be()})]}),(0,J.jsxs)(`section`,{className:`oc-show__section`,children:[(0,J.jsxs)(`div`,{className:`oc-show__heading`,children:[(0,J.jsx)(`h2`,{className:`oc-show__title`,children:C()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:T()})]}),(0,J.jsxs)(`div`,{className:`oc-show__row`,children:[et().map(e=>(0,J.jsx)(V,{variant:c===e.value?`default`:`outline`,size:`sm`,onClick:()=>void t({locale:e.value}),children:e.label},e.value)),(0,J.jsx)(V,{variant:c==="default"?`default`:`outline`,size:`sm`,onClick:()=>void t({locale:null}),children:se()})]}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:N()})]}),(0,J.jsxs)(`section`,{className:`oc-show__section`,children:[(0,J.jsxs)(`div`,{className:`oc-show__heading`,children:[(0,J.jsx)(`h2`,{className:`oc-show__title`,children:D()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:Ee()})]}),(0,J.jsxs)(`div`,{className:`oc-show__row`,children:[(0,J.jsx)(tt,{value:e?.timezone??``,onChange:e=>void n({timezone:e})}),(0,J.jsx)(V,{variant:e?.timezone===null||e?.timezone===void 0?`default`:`outline`,size:`sm`,onClick:()=>void n({timezone:null}),children:be()})]}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:Oe()})]}),(0,J.jsxs)(`section`,{className:`oc-show__section`,children:[(0,J.jsxs)(`div`,{className:`oc-show__heading`,children:[(0,J.jsx)(`h2`,{className:`oc-show__title`,children:we()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:x()})]}),(0,J.jsx)(`div`,{className:`oc-show__row`,children:Ze.map(t=>(0,J.jsx)(V,{variant:(e?.fontScale??`md`)===t?`default`:`outline`,size:`sm`,onClick:()=>void r({scale:t}),children:pt[t]()},t))}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:_()})]}),(0,J.jsxs)(`section`,{className:`oc-show__section`,children:[(0,J.jsxs)(`div`,{className:`oc-show__heading`,children:[(0,J.jsx)(`h2`,{className:`oc-show__title`,children:y()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:i()})]}),(0,J.jsx)(ft,{})]})]})}export{mt as PreferencesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{AJ as r,AT as i,Aw as a,BJ as o,BT as s,DT as c,E as l,ET as u,FT as d,GT as f,Ga as p,HT as m,IT as h,JT as g,KT as _,Ka as ee,LT as te,MT as v,NT as ne,OT as y,PT as re,QT as b,RT as ie,TT as ae,UT as oe,VT as se,WT as ce,XT as le,YT as ue,ZT as de,_E as fe,_T as pe,dT as x,eE as me,fE as S,fT as he,gT as C,hT as w,iE as ge,jT as T,lE as _e,mT as E,oE as D,pE as O,pT as ve,rE as ye,t as k,uE as be,uT as xe,vE as Se,xS as Ce,xT as we,yE as Te,yT as A,zJ as j,zT as M}from"./api-DL5MhfCR.js";import{r as Ee}from"./dist-CmEdak18.js";import{t as De}from"./list-DtdIpxEW.js";import{t as N}from"./button-7-8JjL3V.js";import{A as Oe,An as ke,Bn as Ae,C as P,D as je,E as Me,Fn as Ne,Gt as F,Hn as Pe,Ht as I,I as Fe,Jt as Ie,Kt as Le,M as Re,Mn as ze,N as Be,O as Ve,On as He,P as L,Pn as Ue,Q as We,Rt as Ge,S as Ke,T as qe,Un as Je,Ut as Ye,Vn as R,Wn as Xe,Wt as Ze,Xn as Qe,Z as $e,_ as et,at as z,b as tt,d as nt,er as B,f as V,g as rt,h as it,it as H,j as U,k as at,kn as W,nr as ot,nt as st,ot as ct,p as lt,qt as ut,rt as dt,tr as ft,v as G,w as K,x as q,y as pt,yn as mt,zn as J}from"./index-D2_zMS9W.js";var ht=l(`columns-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),gt=l(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),_t=l(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Y=l(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),X=t(e(),1),Z=n();function vt({className:e}){return(0,Z.jsx)(Ie,{asChild:!0,children:(0,Z.jsx)(N,{variant:`ghost`,size:`icon-xs`,"aria-label":pe(),className:e,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),onTouchStart:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,Z.jsx)(Xe,{})})})}function Q({folderId:e,name:t,color:n,currentParentId:r,className:i,onOpen:a}){let s=j(k.projects.renameProject),l=j(k.projects.setProjectColor),u=j(k.projects.moveProject),d=j(k.projects.deleteProject),p=j(k.projects.createProject),m=$e(),h=it(),g=We(),[_,ee]=(0,X.useState)(!1),[te,v]=(0,X.useState)(t),[ne,y]=(0,X.useState)(!1),[re,b]=(0,X.useState)(!1),ie=o(k.projects.projectTreeCount,re?{projectId:e}:`skip`);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Ye,{onOpenChange:e=>e&&b(!0),children:[(0,Z.jsx)(vt,{className:i}),(0,Z.jsxs)(Ze,{align:`end`,className:`w-48`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(F,{onSelect:()=>a(),children:[(0,Z.jsx)(R,{}),` `,me()]}),(0,Z.jsxs)(F,{onSelect:()=>{v(t),ee(!0)},children:[(0,Z.jsx)(ke,{}),` `,C()]}),(0,Z.jsxs)(F,{onSelect:()=>{requestAnimationFrame(async()=>{let t=await g({title:f(),label:Te(),placeholder:Se(),confirmLabel:fe()});t&&await p({name:t,parentId:e})})},children:[(0,Z.jsx)(Ae,{}),` `,f()]}),(0,Z.jsxs)(F,{onSelect:()=>y(!0),children:[(0,Z.jsx)(gt,{}),` `,c()]}),(0,Z.jsx)(Le,{children:ve()}),(0,Z.jsxs)(`div`,{className:`oc-colorgrid`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`button`,{className:`oc-colorgrid__none`,onClick:()=>void l({projectId:e,color:null}),"aria-label":he(),children:`✕`}),et.map(t=>(0,Z.jsx)(`button`,{className:`oc-colorgrid__dot`+(n===t.value?` is-selected`:``),style:{background:t.hue},"aria-label":t.value,onClick:()=>void l({projectId:e,color:t.value})},t.value))]}),(0,Z.jsx)(ut,{}),(0,Z.jsxs)(F,{variant:`destructive`,onSelect:()=>{requestAnimationFrame(async()=>{let n=ie?.folders??0,r=ie?.chats??0;await m({title:ye({name:t}),description:lt({folders:n,chats:r,days:h}),confirmWord:A(),confirmLabel:ge(),destructive:!0})&&await d({projectId:e})})},children:[(0,Z.jsx)(mt,{}),` `,A()]})]})]}),(0,Z.jsx)(tt,{open:_,onOpenChange:ee,title:_e(),canSubmit:te.trim().length>0,onSubmit:async()=>{await s({projectId:e,name:te.trim()}),ee(!1)},submitLabel:C(),children:(0,Z.jsx)(I,{value:te,onChange:e=>v(e.target.value),autoFocus:!0})}),ne?(0,Z.jsx)(rt,{open:ne,onOpenChange:y,title:ae(),movingFolderId:e,currentId:r,onPick:t=>void u({projectId:e,parentId:t})}):null]})}function yt({chat:e,currentFolderId:t,className:n}){let r=j(k.chats.pinChat),i=j(k.chats.deleteChat),o=j(k.chats.renameChat),s=j(k.chats.setChatSidebar),c=j(k.chats.moveChatToProject),l=$e(),d=it(),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(e.title??``),[g,_]=(0,X.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Ye,{children:[(0,Z.jsx)(vt,{className:n}),(0,Z.jsxs)(Ze,{align:`end`,className:`w-52`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(F,{onSelect:()=>{h(e.title??``),p(!0)},children:[(0,Z.jsx)(ke,{}),` `,C()]}),(0,Z.jsxs)(F,{onSelect:()=>void r({chatId:e._id,pinned:!e.pinned}),children:[e.pinned?(0,Z.jsx)(He,{}):(0,Z.jsx)(W,{}),e.pinned?w():E()]}),(0,Z.jsxs)(F,{onSelect:()=>_(!0),children:[(0,Z.jsx)(gt,{}),` `,y()]}),e.pinned&&e.inSidebar?null:(0,Z.jsxs)(F,{onSelect:()=>void s({chatId:e._id,hidden:e.inSidebar}),children:[e.inSidebar?(0,Z.jsx)(ze,{}):(0,Z.jsx)(Y,{}),e.inSidebar?de():b()]}),(0,Z.jsx)(ut,{}),(0,Z.jsxs)(F,{variant:`destructive`,onSelect:()=>{requestAnimationFrame(async()=>{await l({title:x(),description:xe({days:d}),confirmLabel:A(),destructive:!0})&&await i({chatId:e._id})})},children:[(0,Z.jsx)(mt,{}),` `,A()]})]})]}),(0,Z.jsx)(tt,{open:f,onOpenChange:p,title:a(),canSubmit:m.trim().length>0,onSubmit:async()=>{await o({chatId:e._id,title:m.trim()}),p(!1)},submitLabel:C(),children:(0,Z.jsx)(I,{value:m,onChange:e=>h(e.target.value),autoFocus:!0})}),g?(0,Z.jsx)(rt,{open:g,onOpenChange:_,title:u(),currentId:t,onPick:t=>void c({chatId:e._id,projectId:t})}):null]})}function bt(e,t){let n=t.trim().toLowerCase();return n===``?e:e.filter(e=>(e.title??``).toLowerCase().includes(n))}function xt(e,t,n,r,i){let a=e.map(t),o=a.indexOf(i);if(o<0)return null;let s=a.indexOf(r);if(s>=0){let t=[...e],[r]=t.splice(s,1);t.splice(o,0,r);let i=t[o-1],a=t[o+1];return{prevKey:i===void 0?null:n(i),nextKey:a===void 0?null:n(a)}}let c=e[o-1];return{prevKey:c===void 0?null:n(c),nextKey:n(e[o])}}function St(e,t){let n=new Map(t.map(e=>[e.chatId,e.lastSeenAt])),r=new Set;for(let t of e){let e=n.get(t._id);e!==void 0&&t.lastAssistantAt!==null&&t.lastAssistantAt>e&&r.add(t._id)}return r}var Ct=`oc.projpage.view`;function wt(){let e=localStorage.getItem(Ct);return e===`cards`||e===`list`?e:`columns`}var $=e=>`into:${e}`,Tt=e=>`col:${e??`null`}`,Et=e=>`crumb:${e}`;function Dt(e){if(e.startsWith(`into:`))return e.slice(5);if(e.startsWith(`crumb:`))return e.slice(6);if(e.startsWith(`col:`)){let t=e.slice(4);return t===`null`?null:t}}function Ot(){let{projectId:e}=ot({from:`/project/$projectId`}),t=B(),n=o(k.projects.projectPage,{projectId:e});return(0,Z.jsx)(`div`,{className:`oc-projpage`,children:n===void 0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:r()}):n===null?(0,Z.jsxs)(`div`,{className:`oc-projpage__notfound`,children:[(0,Z.jsx)(`h2`,{children:ne()}),(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:v()}),(0,Z.jsx)(N,{variant:`outline`,onClick:()=>void t({to:`/`}),children:T()})]}):(0,Z.jsx)(kt,{page:n})})}function kt({page:e}){let t=B(),n=$e(),r=it(),a=We(),l=Ge(),u=j(k.projects.renameProject),v=j(k.projects.setProjectColor),ne=j(k.projects.deleteProject),y=j(k.projects.createProject),b=j(k.projects.moveProject),ie=j(k.projects.setProjectSidebar),oe=j(k.chats.moveChatToProject),ce=j(k.chats.reorderChat),de=j(k.projects.reorderProject),pe=o(k.projects.projectTreeCount,{projectId:e.project._id}),[x,me]=(0,X.useState)(wt),S=e=>{localStorage.setItem(Ct,e),me(e)},w=o(k.projects.folderColumns,x===`columns`?{projectId:e.project._id}:`skip`),T=o(k.projects.projectTreeList,x===`list`?{projectId:e.project._id}:`skip`),{c:E}=ft({from:`/project/$projectId`}),D=o(k.projects.listProjects,{}),xe=o(k.chatReads.myBusyChats,{}),M=(0,X.useMemo)(()=>new Set(xe??[]),[xe]),{byChat:Ee}=ct(xe??null),P=o(k.chatReads.myChatReads,{}),ze=(0,X.useMemo)(()=>St(e.chats,P??[]),[e.chats,P]),{startNewChat:He,picker:L}=nt(e=>void t({to:`/chat/$chatId`,params:{chatId:e}})),[R,Qe]=(0,X.useState)(``),[z,V]=(0,X.useState)(!1),[U,W]=(0,X.useState)(e.project.name),[ot,G]=(0,X.useState)(!1),[Y,vt]=(0,X.useState)(``);(0,X.useEffect)(()=>{let e=setTimeout(()=>vt(R.trim()),180);return()=>clearTimeout(e)},[R]);let Q=o(k.search.searchConversations,Y.length>=2?{query:Y,projectId:e.project._id}:`skip`),yt=Be(Re(je,{activationConstraint:{distance:4}}),Re(Ve,{activationConstraint:{delay:250,tolerance:8}})),$=(0,X.useRef)(!1),Tt=()=>{$.current=!0,setTimeout(()=>{$.current=!1},0)},[Et,Ot]=(0,X.useState)(null),kt=t=>{if(t.startsWith(`chat:`)){let n=t.slice(5),r=e.chats.find(e=>e._id===n),i=w?.columns.flatMap(e=>e.chats).find(e=>e._id===n);return{kind:`chat`,label:(r??i)?.title||O()}}if(t.startsWith(`folder:`)){let e=t.slice(7);return{kind:`folder`,label:(D??[]).find(t=>t._id===e)?.name??``}}return null},Mt=e=>Ot(kt(String(e.active.id))),Pt=(0,X.useCallback)(e=>{let t=String(e.active.id).startsWith(`folder:`),n=t=>({...e,droppableContainers:e.droppableContainers.filter(e=>String(e.id).startsWith(t))}),r=Oe(n(`into:`));if(r.length>0){if(!t)return r;let n=r[0],i=e.droppableRects.get(n.id),a=e.pointerCoordinates?.y;if(i&&a!=null){let e=i.height*.3;if(a>i.top+e&&a<i.top+i.height-e)return r}}let i=Oe(n(t?`folder:`:`chat:`));if(i.length>0)return i;let a=Oe(n(`crumb:`));if(a.length>0)return a;let o=Oe(n(`col:`));return o.length>0?o:at(n(t?`folder:`:`chat:`))},[]),It=t=>{if(x===`columns`){for(let e of w?.columns??[])if(e.chats.some(e=>e._id===t))return{list:e.chats,folderId:e.folderId};return null}if(x===`list`){let e=T?.chats.find(e=>e._id===t);return e?{list:T.chats.filter(t=>t.folderId===e.folderId),folderId:e.folderId}:null}return e.chats.some(e=>e._id===t)?{list:e.chats,folderId:e.project._id}:null},Lt=t=>{if(x===`columns`){for(let e of w?.columns??[])if(e.folders.some(e=>e._id===t))return{list:e.folders,parentId:e.folderId};return null}if(x===`list`){let e=T?.folders.find(e=>e._id===t);if(!e||!T)return null;let n=e.parentId??T.rootId;return{list:dt(T.folders,e.parentId),parentId:n}}return e.children.some(e=>e._id===t)?{list:e.children,parentId:e.project._id}:null},zt=async e=>{Ot(null),Tt();let{active:t,over:n}=e;if(!n)return;let r=String(n.id),i=String(t.id),a=i.startsWith(`chat:`);try{let e=Dt(r);if(e!==void 0){if(a)await oe({chatId:i.slice(5),projectId:e});else{let t=i.slice(7);if(t===e)return;if(!st(D??[],t,e)){l.error(_());return}await b({projectId:t,parentId:e})}return}if(a&&r.startsWith(`chat:`)){let e=i.slice(5),t=r.slice(5);if(e===t)return;let n=It(t);if(!n)return;n.list.some(t=>t._id===e)||await oe({chatId:e,projectId:n.folderId});let a=xt(n.list,e=>e._id,e=>e.sortKey,e,t);a&&await ce({chatId:e,...a});return}if(!a&&r.startsWith(`folder:`)){let e=i.slice(7),t=r.slice(7);if(e===t)return;let n=Lt(t);if(!n)return;if(!n.list.some(t=>t._id===e)){if(!st(D??[],e,n.parentId)){l.error(_());return}await b({projectId:e,parentId:n.parentId})}let a=xt(n.list,e=>e._id,e=>e.sortKey,e,t);a&&await de({projectId:e,...a});return}}catch{l.error(_())}},[,Bt]=(0,X.useState)(0);(0,X.useEffect)(()=>{let e=window.setInterval(()=>Bt(e=>e+1),6e4);return()=>window.clearInterval(e)},[]);let Vt=Date.now(),Ht=pt(e.project),Ut=bt(e.chats,R),Wt=e.breadcrumb.slice(0,-1),Gt=e=>()=>{$.current||e()};return(0,Z.jsx)(H.Provider,{value:Ee,children:(0,Z.jsxs)(qe,{sensors:yt,collisionDetection:Pt,onDragStart:Mt,onDragEnd:zt,children:[(0,Z.jsxs)(`div`,{className:`oc-projpage__body`,style:{"--proj-hue":Ht},children:[(0,Z.jsxs)(`nav`,{className:`oc-projpage__crumbs`,"aria-label":i(),children:[Wt.map(e=>(0,Z.jsxs)(`span`,{className:`oc-projpage__crumb`,children:[(0,Z.jsx)(At,{folderId:e._id,children:(0,Z.jsx)(`button`,{type:`button`,className:`oc-projpage__crumblink`,onClick:Gt(()=>void t({to:`/project/$projectId`,params:{projectId:e._id}})),children:e.name})}),(0,Z.jsx)(`span`,{className:`oc-projpage__crumbsep`,"aria-hidden":!0,children:`›`})]},e._id)),(0,Z.jsx)(`span`,{className:`oc-projpage__crumbcur`,children:e.project.name})]}),(0,Z.jsxs)(`header`,{className:`oc-projpage__head`,children:[(0,Z.jsx)(`span`,{className:`oc-projpage__dot`,"aria-hidden":!0}),(0,Z.jsx)(`h1`,{className:`oc-projpage__title`,children:e.project.name}),e.project.sidebarHidden?(0,Z.jsxs)(N,{variant:`ghost`,size:`sm`,className:`oc-projpage__hiddenbadge`,title:ee(),onClick:()=>{ie({projectId:e.project._id,hidden:!1})},children:[(0,Z.jsx)(Je,{"aria-hidden":!0}),(0,Z.jsx)(`span`,{children:p()}),(0,Z.jsx)(Pe,{"aria-hidden":!0})]}):null,(0,Z.jsxs)(`div`,{className:`oc-projpage__actions`,children:[(0,Z.jsxs)(`div`,{className:`oc-projpage__viewtoggle`,role:`group`,"aria-label":le(),children:[(0,Z.jsx)(N,{variant:x===`cards`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":le(),title:le(),"aria-pressed":x===`cards`,onClick:()=>S(`cards`),children:(0,Z.jsx)(_t,{})}),(0,Z.jsx)(N,{variant:x===`columns`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":ue(),title:ue(),"aria-pressed":x===`columns`,onClick:()=>S(`columns`),children:(0,Z.jsx)(ht,{})}),(0,Z.jsx)(N,{variant:x===`list`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":g(),title:g(),"aria-pressed":x===`list`,onClick:()=>S(`list`),children:(0,Z.jsx)(De,{})})]}),(0,Z.jsxs)(N,{variant:`outline`,size:`sm`,onClick:()=>void He({projectId:e.project._id}),children:[(0,Z.jsx)(Ne,{}),s()]}),(0,Z.jsxs)(N,{variant:`outline`,size:`sm`,onClick:async()=>{let t=await a({title:f(),label:Te(),placeholder:Se(),confirmLabel:fe()});t&&await y({name:t,parentId:e.project._id})},children:[(0,Z.jsx)(Ae,{}),f()]}),(0,Z.jsxs)(Ye,{children:[(0,Z.jsx)(Ie,{asChild:!0,children:(0,Z.jsx)(N,{variant:`ghost`,size:`icon-sm`,"aria-label":be(),children:(0,Z.jsx)(Xe,{})})}),(0,Z.jsxs)(Ze,{align:`end`,className:`w-48`,children:[(0,Z.jsxs)(F,{onSelect:()=>{W(e.project.name),V(!0)},children:[(0,Z.jsx)(ke,{}),` `,C()]}),(0,Z.jsxs)(F,{onSelect:()=>G(!0),children:[(0,Z.jsx)(gt,{}),` `,c()]}),(0,Z.jsx)(Le,{children:ve()}),(0,Z.jsxs)(`div`,{className:`oc-colorgrid`,children:[(0,Z.jsx)(`button`,{className:`oc-colorgrid__none`,onClick:()=>void v({projectId:e.project._id,color:null}),"aria-label":he(),children:`✕`}),et.map(t=>(0,Z.jsx)(`button`,{className:`oc-colorgrid__dot`+(e.project.color===t.value?` is-selected`:``),style:{background:t.hue},"aria-label":t.value,onClick:()=>void v({projectId:e.project._id,color:t.value})},t.value))]}),(0,Z.jsx)(ut,{}),(0,Z.jsxs)(F,{variant:`destructive`,onSelect:()=>{let i=e.project.parentId;requestAnimationFrame(async()=>{let a=pe?.folders??0,o=pe?.chats??0;await n({title:ye({name:e.project.name}),description:lt({folders:a,chats:o,days:r}),confirmWord:A(),confirmLabel:ge(),destructive:!0})&&(await ne({projectId:e.project._id}),t(i===null?{to:`/`}:{to:`/project/$projectId`,params:{projectId:i}}))})},children:[(0,Z.jsx)(mt,{}),` `,A()]})]})]})]})]}),x===`columns`?(0,Z.jsx)(Rt,{data:w,currentId:e.project._id,busyIds:M,suppressClick:$,locateChatId:E??null}):x===`list`?(0,Z.jsx)(Ft,{data:T,busyIds:M,suppressClick:$,locateChatId:E??null}):(0,Z.jsxs)(Z.Fragment,{children:[e.children.length>0?(0,Z.jsxs)(`section`,{className:`oc-projpage__section`,children:[(0,Z.jsx)(`h2`,{className:`oc-projpage__subtitle`,children:m()}),(0,Z.jsx)(`div`,{className:`oc-projpage__cards`,children:(0,Z.jsx)(q,{items:e.children.map(e=>`folder:${e._id}`),strategy:Ke,children:e.children.map(t=>(0,Z.jsx)(jt,{child:t,parentId:e.project._id,now:Vt,suppressClick:$},t._id))})})]}):null,(0,Z.jsxs)(`section`,{className:`oc-projpage__section`,children:[(0,Z.jsxs)(`div`,{className:`oc-projpage__convhead`,children:[(0,Z.jsx)(`h2`,{className:`oc-projpage__subtitle`,children:se()}),e.chats.length>0?(0,Z.jsx)(I,{value:R,onChange:e=>Qe(e.target.value),placeholder:te(),className:`oc-projpage__filter`}):null]}),e.chats.length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:e.children.length===0?d():re()}):Ut.length===0&&(Q??[]).length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:h({term:R.trim()})}):(0,Z.jsx)(`ul`,{className:`oc-projpage__chats`,children:(0,Z.jsx)(q,{items:Ut.map(e=>`chat:${e._id}`),strategy:K,children:Ut.map(t=>(0,Z.jsx)(Nt,{chat:t,currentFolderId:e.project._id,now:Vt,busy:M.has(t._id),unread:ze.has(t._id),locate:t._id===E,suppressClick:$},t._id))})})]}),Y.length>=2&&Q!==void 0?(0,Z.jsxs)(`section`,{className:`oc-projpage__section`,children:[(0,Z.jsx)(`h2`,{className:`oc-projpage__subtitle`,children:we()}),Q.length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:h({term:Y})}):(0,Z.jsx)(`ul`,{className:`oc-projpage__chats`,children:Q.map(e=>(0,Z.jsx)(`li`,{className:`oc-projpage__chatrow`,children:(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__chatbtn`,onClick:()=>{e.messageId&&Y&&Fe(e.messageId,Y),t({to:`/chat/$chatId`,params:{chatId:e.chatId},...e.messageId?{search:{m:e.messageId}}:{}})},children:[(0,Z.jsx)(Ue,{size:13,"aria-hidden":!0,className:`oc-projpage__hitico`}),(0,Z.jsxs)(`span`,{className:`oc-projpage__hitbody`,children:[(0,Z.jsx)(`span`,{className:`oc-projpage__chattitle`,children:e.title||Ce()}),e.projectPath&&e.projectPath.length>1?(0,Z.jsx)(`span`,{className:`oc-projpage__hitpath`,children:e.projectPath.join(` › `)}):null,e.snippet?(0,Z.jsx)(`span`,{className:`oc-projpage__hitsnippet`,children:e.snippet}):null]})]})},`${e.chatId}:${e.messageId??`t`}`))})]}):null]}),(0,Z.jsx)(tt,{open:z,onOpenChange:V,title:_e(),canSubmit:U.trim().length>0,onSubmit:async()=>{await u({projectId:e.project._id,name:U.trim()}),V(!1)},submitLabel:C(),children:(0,Z.jsx)(I,{value:U,onChange:e=>W(e.target.value),autoFocus:!0})}),ot?(0,Z.jsx)(rt,{open:ot,onOpenChange:G,title:ae(),movingFolderId:e.project._id,currentId:e.project.parentId,onPick:t=>void b({projectId:e.project._id,parentId:t})}):null,L]}),(0,Z.jsx)(Me,{children:Et?(0,Z.jsxs)(`div`,{className:`oc-projpage__dragghost`,children:[Et.kind===`folder`?(0,Z.jsx)(J,{size:13,"aria-hidden":!0}):(0,Z.jsx)(Ue,{size:13,"aria-hidden":!0}),(0,Z.jsx)(`span`,{children:Et.label})]}):null})]})})}function At({folderId:e,children:t}){let{setNodeRef:n,isOver:r}=U({id:Et(e)});return(0,Z.jsx)(`span`,{ref:n,className:r?`oc-projpage__cdrop is-over`:`oc-projpage__cdrop`,children:t})}function jt({child:e,parentId:t,now:n,suppressClick:r}){let i=B(),a=P({id:`folder:${e._id}`}),o=U({id:$(e._id)});return(0,Z.jsxs)(`div`,{ref:e=>{a.setNodeRef(e),o.setNodeRef(e)},className:`oc-projpage__card`+(o.isOver?` is-over`:``)+(a.isDragging?` is-dragging`:``),style:{"--proj-hue":pt(e),transform:L.Transform.toString(a.transform),transition:a.transition},onClick:()=>{r.current||i({to:`/project/$projectId`,params:{projectId:e._id}})},onKeyDown:t=>{t.key===`Enter`&&i({to:`/project/$projectId`,params:{projectId:e._id}})},...a.listeners,...a.attributes,role:`link`,tabIndex:0,children:[(0,Z.jsxs)(`span`,{className:`oc-projpage__cardhead`,children:[(0,Z.jsx)(J,{size:15,"aria-hidden":!0,className:`oc-projpage__cardico`}),(0,Z.jsx)(`span`,{className:`oc-projpage__cardname`,children:e.name}),(0,Z.jsx)(Q,{folderId:e._id,name:e.name,color:e.color,currentParentId:t,className:`oc-projpage__cardmenu`,onOpen:()=>void i({to:`/project/$projectId`,params:{projectId:e._id}})})]}),(0,Z.jsxs)(`span`,{className:`oc-projpage__cardmeta`,children:[e.folderCount>0?M({count:e.folderCount})+` · `:``,ie({count:e.recursiveChatCount})]}),e.lastActivityAt===null?null:(0,Z.jsx)(`span`,{className:`oc-projpage__cardage`,children:V(e.lastActivityAt,n)})]})}function Mt({chat:e}){let t=j(k.chats.setChatSidebar),n=e.inSidebar?de():b();return(0,Z.jsx)(N,{variant:`ghost`,size:`icon-xs`,"aria-label":n,title:n,className:`oc-projpage__barbtn`+(e.inSidebar?` is-on`:``),disabled:e.pinned&&e.inSidebar,onClick:n=>{n.stopPropagation(),t({chatId:e._id,hidden:e.inSidebar})},children:e.inSidebar?(0,Z.jsx)(ze,{}):(0,Z.jsx)(Y,{})})}function Nt({chat:e,currentFolderId:t,now:n,busy:r,unread:i,locate:a,suppressClick:o}){let s=(0,X.useContext)(H).get(e._id),c=B(),l=G(e.color),u=P({id:`chat:${e._id}`}),d=Pt(a);return(0,Z.jsxs)(`li`,{ref:e=>{u.setNodeRef(e),d.current=e},className:`oc-projpage__chatrow`+(u.isDragging?` is-dragging`:``)+(a?` is-locate`:``),style:{transform:L.Transform.toString(u.transform),transition:u.transition},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__chatbtn`,onClick:()=>{o.current||c({to:`/chat/$chatId`,params:{chatId:e._id}})},...u.listeners,...u.attributes,children:[l?(0,Z.jsx)(`span`,{className:`oc-chatitem__dot`,style:{background:l}}):(0,Z.jsx)(`span`,{className:`oc-chatitem__dot oc-chatitem__dot--empty`}),(0,Z.jsx)(`span`,{className:`oc-projpage__chattitle`,children:e.title||O()}),e.pinned?(0,Z.jsx)(W,{size:12,"aria-hidden":!0,className:`oc-projpage__chatpin`}):null,(0,Z.jsx)(`span`,{className:`oc-projpage__chatage`,children:V(e.updatedAt,n)}),r?(0,Z.jsx)(`span`,{className:z(s,S()).className,title:z(s,S()).label,"aria-label":z(s,S()).label}):null,i&&!r?(0,Z.jsx)(`span`,{className:`oc-chatitem__unread`,title:D(),"aria-label":D()}):null]}),(0,Z.jsx)(Mt,{chat:e}),(0,Z.jsx)(yt,{chat:e,currentFolderId:t,className:`oc-projpage__chatmenu`})]})}function Pt(e){let t=(0,X.useRef)(null);return(0,X.useEffect)(()=>{e&&t.current&&t.current.scrollIntoView({block:`center`})},[e]),t}function Ft({data:e,busyIds:t,suppressClick:n,locateChatId:i}){let[a,o]=(0,X.useState)(new Set),s=(0,X.useMemo)(()=>{let t=new Map;for(let n of e?.chats??[]){let e=t.get(n.folderId);e===void 0?t.set(n.folderId,[n]):e.push(n)}return t},[e]);if(e===void 0)return(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:r()});if(e===null)return null;let c=e=>o(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),l=(r,o)=>{let u=s.get(r??e.rootId)??[],d=dt(e.folders,r);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(q,{items:u.map(e=>`chat:${e._id}`),strategy:K,children:u.map(e=>(0,Z.jsx)(Lt,{chat:e,depth:o,busy:t.has(e._id),locate:e._id===i,suppressClick:n},e._id))}),(0,Z.jsx)(q,{items:d.map(e=>`folder:${e._id}`),strategy:K,children:d.map(t=>(0,Z.jsx)(It,{folder:t,parentId:r??e.rootId,depth:o,folded:a.has(t._id),onToggle:()=>c(t._id),suppressClick:n,children:a.has(t._id)?null:l(t._id,o+1)},t._id))})]})};return(0,Z.jsx)(`div`,{className:`oc-projpage__tree`,children:(s.get(e.rootId)??[]).length===0&&dt(e.folders,null).length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:d()}):l(null,0)})}function It({folder:e,parentId:t,depth:n,folded:r,onToggle:i,suppressClick:a,children:o}){let s=B(),c=P({id:`folder:${e._id}`}),l=U({id:$(e._id)});return(0,Z.jsxs)(`div`,{className:`oc-projpage__treegroup`,children:[(0,Z.jsxs)(`div`,{ref:e=>{c.setNodeRef(e),l.setNodeRef(e)},className:`oc-projpage__treerow oc-projpage__treerow--folder`+(l.isOver?` is-over`:``)+(c.isDragging?` is-dragging`:``),style:{"--tree-depth":n,"--proj-hue":pt(e),transform:L.Transform.toString(c.transform),transition:c.transition},...c.listeners,...c.attributes,role:`button`,tabIndex:0,onClick:()=>{a.current||s({to:`/project/$projectId`,params:{projectId:e._id}})},onKeyDown:t=>{t.key===`Enter`&&s({to:`/project/$projectId`,params:{projectId:e._id}})},children:[(0,Z.jsx)(`button`,{type:`button`,className:`oc-projpage__treechev`,"aria-label":r?ce():oe(),"aria-expanded":!r,onClick:e=>{e.stopPropagation(),!a.current&&i()},onMouseDown:e=>e.stopPropagation(),onTouchStart:e=>e.stopPropagation(),children:r?(0,Z.jsx)(Qe,{size:13}):(0,Z.jsx)(Ee,{size:13})}),(0,Z.jsx)(J,{size:13,"aria-hidden":!0,className:`oc-projpage__colico`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.name}),(0,Z.jsx)(Q,{folderId:e._id,name:e.name,color:e.color,currentParentId:t,className:`oc-projpage__treemenu`,onOpen:()=>void s({to:`/project/$projectId`,params:{projectId:e._id}})})]}),o]})}function Lt({chat:e,depth:t,busy:n,locate:r,suppressClick:i}){let a=(0,X.useContext)(H).get(e._id),o=B(),s=P({id:`chat:${e._id}`}),c=Pt(r),l=G(e.color);return(0,Z.jsxs)(`div`,{ref:e=>{s.setNodeRef(e),c.current=e},className:`oc-projpage__treerow oc-projpage__treerow--chat`+(s.isDragging?` is-dragging`:``)+(r?` is-locate`:``),style:{"--tree-depth":t,transform:L.Transform.toString(s.transform),transition:s.transition},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__colchatbtn`,onClick:()=>{i.current||o({to:`/chat/$chatId`,params:{chatId:e._id}})},...s.listeners,...s.attributes,children:[l?(0,Z.jsx)(`span`,{className:`oc-chatitem__dot`,style:{background:l}}):(0,Z.jsx)(`span`,{className:`oc-chatitem__dot oc-chatitem__dot--empty`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.title||O()}),n?(0,Z.jsx)(`span`,{className:z(a,``).className,"aria-hidden":!0}):null]}),(0,Z.jsx)(yt,{chat:e,currentFolderId:e.folderId,className:`oc-projpage__treemenu`}),(0,Z.jsx)(Mt,{chat:e})]})}function Rt({data:e,currentId:t,busyIds:n,suppressClick:i,locateChatId:a}){let o=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let e=o.current;e&&(e.scrollLeft=e.scrollWidth)},[e?.columns.length??0,t]),e===void 0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:r()}):(0,Z.jsx)(`div`,{className:`oc-projpage__cols`,ref:o,children:e.columns.map((r,o)=>(0,Z.jsx)(zt,{col:r,isLast:o===e.columns.length-1,currentId:t,busyIds:n,suppressClick:i,locateChatId:a},r.folderId??`root`))})}function zt({col:e,isLast:t,currentId:n,busyIds:r,suppressClick:i,locateChatId:a}){let o=B(),s=U({id:Tt(e.folderId)});return(0,Z.jsxs)(`div`,{ref:s.setNodeRef,className:`oc-projpage__col`+(s.isOver?` is-over`:``)+(t?` is-last`:``),children:[(0,Z.jsx)(q,{items:e.folders.map(e=>`folder:${e._id}`),strategy:K,children:e.folders.map(t=>(0,Z.jsx)(Bt,{folder:t,parentId:e.folderId,isCurrent:t._id===n,suppressClick:i,onOpen:()=>void o({to:`/project/$projectId`,params:{projectId:t._id}})},t._id))}),(0,Z.jsx)(q,{items:e.chats.map(e=>`chat:${e._id}`),strategy:K,children:e.chats.map(t=>(0,Z.jsx)(Vt,{chat:t,folderId:e.folderId,busy:r.has(t._id),locate:t._id===a,suppressClick:i,onOpen:()=>void o({to:`/chat/$chatId`,params:{chatId:t._id}})},t._id))}),e.folders.length===0&&e.chats.length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__colempty`,children:re()}):null]})}function Bt({folder:e,parentId:t,isCurrent:n,suppressClick:r,onOpen:i}){let a=P({id:`folder:${e._id}`}),o=U({id:$(e._id)});return(0,Z.jsxs)(`div`,{ref:e=>{a.setNodeRef(e),o.setNodeRef(e)},className:`oc-projpage__colentry oc-projpage__colentry--folder`+(e.selected||n?` is-selected`:``)+(o.isOver?` is-over`:``)+(a.isDragging?` is-dragging`:``),style:{"--proj-hue":pt(e),transform:L.Transform.toString(a.transform),transition:a.transition},onClick:()=>{r.current||i()},onKeyDown:e=>{e.key===`Enter`&&e.target===e.currentTarget&&i()},...a.listeners,...a.attributes,role:`button`,tabIndex:0,children:[(0,Z.jsx)(J,{size:13,"aria-hidden":!0,className:`oc-projpage__colico`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.name}),(0,Z.jsx)(`span`,{className:`oc-projpage__colchev`,"aria-hidden":!0,children:`›`}),(0,Z.jsx)(Q,{folderId:e._id,name:e.name,color:e.color,currentParentId:t,className:`oc-projpage__colmenu`,onOpen:i})]})}function Vt({chat:e,folderId:t,busy:n,locate:r,suppressClick:i,onOpen:a}){let o=(0,X.useContext)(H).get(e._id),s=P({id:`chat:${e._id}`}),c=Pt(r),l=G(e.color);return(0,Z.jsxs)(`div`,{ref:e=>{s.setNodeRef(e),c.current=e},className:`oc-projpage__colentry oc-projpage__colentry--chat`+(s.isDragging?` is-dragging`:``)+(r?` is-locate`:``),style:{transform:L.Transform.toString(s.transform),transition:s.transition},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__colchatbtn`,onClick:()=>{i.current||a()},...s.listeners,...s.attributes,children:[l?(0,Z.jsx)(`span`,{className:`oc-chatitem__dot`,style:{background:l}}):(0,Z.jsx)(`span`,{className:`oc-chatitem__dot oc-chatitem__dot--empty`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.title||O()}),n?(0,Z.jsx)(`span`,{className:z(o,``).className,"aria-hidden":!0}):null]}),(0,Z.jsx)(yt,{chat:e,currentFolderId:t,className:`oc-projpage__colmenu oc-projpage__colmenu--chat`}),(0,Z.jsx)(Mt,{chat:e})]})}export{Ot as ProjectPage};
@@ -1,4 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{BJ as r,CO as i,DO as a,Dl as o,EO as s,El as c,Ha as l,IO as u,LO as d,OO as f,Ol as p,SO as m,TO as h,_O as g,_d as _,ad as v,ap as y,bO as b,cp as x,dO as ee,fO as te,gO as S,gd as C,hO as w,hd as T,id as E,kO as D,lp as O,mO as ne,md as re,od as ie,op as ae,pO as oe,rd as se,sd as k,sp as A,t as j,uO as M,vO as N,wO as P,xO as F,yO as I,zJ as L}from"./api-DL5MhfCR.js";import{i as R,n as z,r as B,t as V}from"./FieldLabel-bgrA2Q9d.js";import{t as H}from"./button-7-8JjL3V.js";import{Rt as U,an as ce,ct as W,dt as G,in as le,lt as K,nn as q,rn as ue,st as J,tt as de,ut as Y,xt as fe}from"./index-D2_zMS9W.js";import{r as X,t as pe}from"./locales-CPjguROj.js";import{t as Z}from"./localePickerView-C2RmOS86.js";/* empty css */var Q=t(e(),1),$=n(),me={media_delivery:{label:P,help:i},documentary_fetch:{label:m,help:F},inbound_files:{label:b,help:I},history_summary:{label:O,help:x},file_curation:{label:_,help:k},quote_reply:{label:C,help:T}},he={outboundDir:`/home/node/.openclaw/media/outbound`,references:`- gdrive/1a2b3c4d5e6f7890abcd
2
- - gdrive/0f9e8d7c6b5a4321dcba`,files:`- /home/node/.openclaw/media/inbound/rapport.pdf (124800 o, application/pdf)`,previous_summary:`Projet Alpha : budget 40 000 EUR ; choix du serveur en cours.`,new_messages:`Utilisateur : Compare OVH et Scaleway.
3
- Assistant : Comparaison en cours.`,max_chars:`6000`,file_name:`MEMORY.md`,budget_chars:`20000`,feedback:`Trop de suppressions dans la section des liens, garde-les.`,content:`# Memory index
4
- - [Fait 1](fait-1.md) - note du projet`,excerpt:`Le classement propose trois dossiers : Clients, Fournisseurs, Interne.`},ge={outboundDir:te,references:ee,files:M,previous_summary:A,new_messages:ae,max_chars:y,file_name:ie,budget_chars:v,feedback:E,content:se,excerpt:re};function _e(){let e=r(j.admin.listInstances,{}),[t,n]=(0,Q.useState)(null);if(e===void 0)return(0,$.jsx)(`div`,{className:`oc-settings__tab-loading`,"aria-busy":`true`});if(e.length===0)return(0,$.jsx)(`div`,{className:`oc-injtab`,children:(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:g()})});let i=e.find(e=>e._id===t)??e[0];return(0,$.jsxs)(`div`,{className:`oc-injtab`,children:[(0,$.jsxs)(`div`,{className:`oc-injtab__head`,children:[(0,$.jsx)(z,{label:D(),help:f()}),(0,$.jsxs)(`label`,{className:`oc-injtab__picker`,children:[(0,$.jsx)(`span`,{children:N()}),(0,$.jsxs)(J,{value:i._id,onValueChange:e=>n(e),children:[(0,$.jsx)(Y,{size:`sm`,className:`min-w-44`,children:(0,$.jsx)(G,{})}),(0,$.jsx)(W,{children:e.map(e=>(0,$.jsx)(K,{value:e._id,children:e.displayName??e.name},e._id))})]})]})]}),(0,$.jsx)(ve,{instance:i},i._id)]})}function ve({instance:e}){let t=L(j.admin.upsertInstanceConfig),n=U(),i=r(j.me.getMe,{host:de}),a=e.config??{},s=X(e.config?.contentLocale,i?.defaultLocale??void 0),[l,f]=(0,Q.useState)(()=>R(a,s));(0,Q.useEffect)(()=>{f(R(a,s))},[s,e._id]);let[m,h]=(0,Q.useState)(!1),g=l.promptInjections,_=(e,t)=>f({...l,promptInjections:{...g,[e]:{...g[e],...t}}});async function v(){h(!0);try{await t({instanceId:e._id,config:B(l,a,s)})}catch(e){n.error(u(),e)}finally{h(!1)}}async function y(r){let i={...e.config??{}};r==="default"?delete i.contentLocale:i.contentLocale=r;try{await t({instanceId:e._id,config:i})}catch(e){n.error(u(),e)}}let b=e.config?.contentLocale??`default`,x=pe[X(void 0,i?.defaultLocale??void 0)];return(0,$.jsxs)(`div`,{className:`oc-injtab__body`,children:[(0,$.jsxs)(`div`,{className:`oc-injtab__content-locale`,children:[(0,$.jsx)(`span`,{children:p()}),(0,$.jsxs)(J,{value:b,onValueChange:e=>void y(e),children:[(0,$.jsx)(Y,{size:`sm`,className:`min-w-44`,children:(0,$.jsx)(G,{})}),(0,$.jsxs)(W,{children:[(0,$.jsx)(K,{value:`default`,children:c({locale:x})}),Z().map(e=>(0,$.jsx)(K,{value:e.value,children:e.label},e.value))]})]}),(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:o()})]}),ue.map(e=>(0,$.jsx)(ye,{injKey:e,def:q[e],i18n:me[e],row:g[e]??{enabled:!0,template:q[e].defaultTemplate[s]},contentLocale:s,onChange:t=>_(e,t)},e)),(0,$.jsx)(`div`,{className:`oc-injtab__actions`,children:(0,$.jsx)(H,{size:`sm`,onClick:()=>void v(),disabled:m,children:d()})})]})}function ye({injKey:e,def:t,i18n:n,row:r,contentLocale:i,onChange:o}){let[c,u]=(0,Q.useState)(!1),d=r.template.trim()!==t.defaultTemplate[i],f=t.togglable&&!r.enabled,p=Object.fromEntries(t.placeholders.map(e=>[e,he[e]??`{${e}}`])),m=le(e,r,i),g=m?ce(m,p):``;return(0,$.jsxs)(`section`,{className:`oc-injcard`,children:[(0,$.jsxs)(`div`,{className:`oc-injcard__head`,children:[t.togglable?(0,$.jsxs)(`label`,{className:`oc-field--row`,children:[(0,$.jsx)(fe,{checked:r.enabled,onCheckedChange:e=>o({enabled:e===!0})}),(0,$.jsx)(z,{label:n.label(),help:n.help()})]}):(0,$.jsx)(z,{label:n.label(),help:n.help()}),d&&(0,$.jsx)(`span`,{className:`oc-injection__badge`,children:s()})]}),(0,$.jsx)(`textarea`,{className:`oc-injcard__text`,value:r.template,disabled:f,rows:8,spellCheck:!1,onChange:e=>o({template:e.target.value})}),(0,$.jsxs)(`div`,{className:`oc-injection__foot`,children:[(0,$.jsxs)(`div`,{className:`oc-injcard__phs`,children:[(0,$.jsx)(`span`,{className:`oc-injection__ph`,children:h()}),t.placeholders.map(e=>(0,$.jsxs)(`span`,{className:`oc-injcard__ph-chip`,children:[(0,$.jsx)(`code`,{children:`{${e}}`}),(0,$.jsx)(V,{text:(ge[e]??(()=>e))()})]},e))]}),(0,$.jsxs)(`div`,{className:`oc-injcard__btns`,children:[(0,$.jsx)(H,{variant:`ghost`,size:`sm`,onClick:()=>u(e=>!e),children:c?w():S()}),d&&(0,$.jsx)(H,{variant:`ghost`,size:`sm`,onClick:()=>o({template:t.defaultTemplate[i]}),children:a()})]})]}),c&&(0,$.jsx)(`div`,{className:`oc-injcard__preview`,children:g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`pre`,{className:`oc-injcard__previewtext`,children:g}),(0,$.jsx)(`span`,{className:`oc-injection__ph`,children:ne()}),t.pluralDefaultTemplate!==void 0&&!f?(0,$.jsx)(`span`,{className:`oc-injection__ph`,children:l()}):null]}):(0,$.jsx)(`span`,{className:`oc-injection__ph`,children:oe()})})]})}export{_e as PromptInjectionsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{AM as r,BJ as i,Bj as a,CM as o,DM as s,EM as c,Gj as l,Hj as ee,Jj as u,Kj as te,OM as d,SM as f,TM as p,Uj as m,Vd as h,Vj as g,Wj as _,_M as v,aM as y,bM as b,cM as ne,dM as re,eM as ie,fM as ae,gM as oe,hM as x,iM as S,kM as C,lM as w,mM as T,nM as E,oM as D,pM as O,qj as k,rM as A,sM as j,t as M,tM as N,uM as P,vM as F,wM as I,xM as L,yM as R,zJ as z}from"./api-DL5MhfCR.js";import{t as B}from"./button-7-8JjL3V.js";import{Ht as V,In as H,Lt as U,Rt as W,Z as G,b as K,xt as q}from"./index-D2_zMS9W.js";import{t as J}from"./roleDescriptions-B5tZMAnu.js";var Y=t(e(),1),X=n(),Z=[{group:()=>r(),keys:[{key:`traces.read`,label:()=>p()},{key:`traces.read.content`,label:()=>I(),phi:!0},{key:`traces.write`,label:()=>o()}]},{group:()=>C(),keys:[{key:`kpi.read`,label:()=>p()},{key:`kpi.write`,label:()=>o()}]},{group:()=>d(),keys:[{key:`openclaw.query`,label:()=>f()},{key:`anomalies.read`,label:()=>L()},{key:`anomalies.report`,label:()=>b()}]},{group:()=>s(),keys:[{key:`chats.read`,label:()=>p()},{key:`selfheal`,label:()=>F()},{key:`media.repair`,label:()=>v()},{key:`feedback.respond`,label:()=>h()}]},{group:()=>c(),keys:[{key:`admin.manage`,label:()=>R()}]}],se=Z.flatMap(e=>e.keys.map(e=>e.key));function Q(e){return e.includes(`*`)}var $={key:``,name:``,description:``};function ce(){let e=i(M.apiKeys.listRoles,{}),t=z(M.apiKeys.createRole),n=z(M.apiKeys.ensureRolesSeeded),r=z(M.apiKeys.updateRolePermissions).withOptimisticUpdate((e,{roleId:t,permissions:n})=>{let r=e.getQuery(M.apiKeys.listRoles,{});r&&e.setQuery(M.apiKeys.listRoles,{},r.map(e=>e._id===t?{...e,permissions:n}:e))}),o=G(),s=W(),[c,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)($),[h,v]=(0,Y.useState)(new Set);(0,Y.useEffect)(()=>{n({}).catch(e=>{s.error(x(),e)})},[n,s]);let b=e??[];async function C(e,t){if(Q(e.permissions))return;if(e.builtin){await o({title:T({name:e.name}),description:O(),confirmLabel:ae()});return}if(h.has(e._id))return;let n=e.permissions.includes(t)?e.permissions.filter(e=>e!==t):[...e.permissions,t];v(t=>new Set(t).add(e._id));try{await r({roleId:e._id,permissions:n})}catch(e){s.error(re(),e)}finally{v(t=>{let n=new Set(t);return n.delete(e._id),n})}}async function F(){try{await t({key:f.key,name:f.name,description:f.description||void 0,permissions:[]}),p($),d(!1)}catch(e){s.error(P(),e)}}let I=e===void 0,L=!I&&b.length===0;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`p`,{className:`oc-admin__hint`,children:[w(),` `,(0,X.jsx)(`code`,{children:`admin`}),` `,ne(),` `,(0,X.jsx)(`code`,{children:`traces.read.content`}),` `,j()]}),(0,X.jsxs)(`div`,{className:`oc-dt`,children:[(0,X.jsxs)(`div`,{className:`oc-dt__bar`,children:[(0,X.jsx)(`h2`,{className:`oc-dt__title`,children:D()}),(0,X.jsx)(`div`,{className:`oc-dt__bar-actions`,children:(0,X.jsx)(B,{size:`sm`,onClick:()=>{p($),d(!0)},children:y()})})]}),I?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:S()}):L?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:A()}):(0,X.jsx)(`div`,{className:`oc-matrix__scroll`,children:(0,X.jsxs)(`table`,{className:`oc-matrix`,children:[(0,X.jsxs)(`thead`,{children:[(0,X.jsxs)(`tr`,{children:[(0,X.jsx)(`th`,{className:`oc-matrix__corner`,rowSpan:2,children:E()}),Z.map(e=>(0,X.jsx)(`th`,{className:`oc-matrix__group`,colSpan:e.keys.length,children:e.group()},e.group()))]}),(0,X.jsx)(`tr`,{children:Z.flatMap(e=>e.keys.map(e=>(0,X.jsxs)(`th`,{className:`oc-matrix__perm`,title:e.phi?oe({key:e.key}):e.key,children:[e.label(),e.phi?(0,X.jsx)(`span`,{className:`oc-matrix__phi`,children:` ⚠`}):null]},e.key)))})]}),(0,X.jsx)(`tbody`,{children:b.map(e=>{let t=Q(e.permissions),n=h.has(e._id);return(0,X.jsxs)(`tr`,{children:[(0,X.jsxs)(`th`,{className:`oc-matrix__rolecell`,children:[(0,X.jsxs)(`div`,{className:`oc-matrix__rolename`,children:[(0,X.jsx)(`span`,{children:e.name}),(0,X.jsx)(`code`,{className:`oc-matrix__rolekey`,children:e.key}),e.builtin?(0,X.jsxs)(U,{variant:`outline`,className:`gap-1`,children:[(0,X.jsx)(H,{}),` `,N()]}):(0,X.jsx)(U,{variant:`secondary`,children:ie()})]}),J(e)?(0,X.jsx)(`p`,{className:`oc-matrix__roledesc`,children:J(e)}):null]}),se.map(r=>(0,X.jsx)(`td`,{className:`oc-matrix__cell`,children:(0,X.jsx)(q,{checked:t||e.permissions.includes(r),disabled:t||n,"aria-label":`${e.key} · ${r}`,title:t?u():n?k():r,onCheckedChange:()=>void C(e,r)})},r))]},e.key)})})]})})]}),(0,X.jsx)(K,{open:c,onOpenChange:d,title:te(),description:l(),canSubmit:!!(f.key&&f.name),onSubmit:F,submitLabel:_(),children:(0,X.jsxs)(`div`,{className:`oc-form`,children:[(0,X.jsxs)(`label`,{className:`oc-field`,children:[(0,X.jsx)(`span`,{className:`oc-field__label`,children:m()}),(0,X.jsx)(V,{value:f.key,placeholder:ee(),onChange:e=>p({...f,key:e.target.value})})]}),(0,X.jsxs)(`label`,{className:`oc-field`,children:[(0,X.jsx)(`span`,{className:`oc-field__label`,children:g()}),(0,X.jsx)(V,{value:f.name,onChange:e=>p({...f,name:e.target.value})})]}),(0,X.jsxs)(`label`,{className:`oc-field`,children:[(0,X.jsx)(`span`,{className:`oc-field__label`,children:a()}),(0,X.jsx)(V,{value:f.description,onChange:e=>p({...f,description:e.target.value})})]})]})})]})}export{ce as RolesTab};