@lacneu/atrium 0.67.1 → 0.68.1

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 (78) hide show
  1. package/dist/assets/{AccessTab-D2H_q-J0.js → AccessTab-BFZrGfSt.js} +1 -1
  2. package/dist/assets/{AdvancedFilter-C42qLrB3.js → AdvancedFilter-D3IHsSgI.js} +1 -1
  3. package/dist/assets/AgentFilesTab-CHMpYoZN.js +3 -0
  4. package/dist/assets/AnomaliesTab-Bna7O7DK.js +1 -0
  5. package/dist/assets/{AuditTab-CXgVQwMI.js → AuditTab-BQO2KxIW.js} +1 -1
  6. package/dist/assets/BridgeTab-DCHBE54n.js +1 -0
  7. package/dist/assets/ChatDefaultsTab-B49bnKco.js +1 -0
  8. package/dist/assets/{DataTableShell-DEnRs2mH.js → DataTableShell-BYhMdaSl.js} +1 -1
  9. package/dist/assets/{DetailChips-6Fbhleob.js → DetailChips-BT8QU7Op.js} +1 -1
  10. package/dist/assets/FeedbacksTab-B3aYpOIP.js +1 -0
  11. package/dist/assets/{FieldLabel-101rCL07.js → FieldLabel-2xG6-0gZ.js} +1 -1
  12. package/dist/assets/FilesTab-_09UVEP4.js +1 -0
  13. package/dist/assets/{FilterBar-ERKruhWz.js → FilterBar-Bxpfu6Cp.js} +1 -1
  14. package/dist/assets/{GroupsTab-Daeil1Ek.js → GroupsTab-lX4rp_r8.js} +1 -1
  15. package/dist/assets/InstancesTab-Bg4DV0Mg.js +1 -0
  16. package/dist/assets/IntegrationsTab-eVcH8e5g.js +1 -0
  17. package/dist/assets/{KpiTab-LF8uKDkJ.js → KpiTab-BxeRQXix.js} +1 -1
  18. package/dist/assets/PreferencesTab-DZSU4xP1.js +1 -0
  19. package/dist/assets/ProjectPage-vg8X5OT3.js +1 -0
  20. package/dist/assets/PromptInjectionsTab-88NlW26U.js +4 -0
  21. package/dist/assets/RolesTab-BZFTJhyf.js +1 -0
  22. package/dist/assets/ScheduledTab-DGRbUQ47.js +1 -0
  23. package/dist/assets/ServiceAccountsTab-pE8F7p-2.js +1 -0
  24. package/dist/assets/SubAgentReportsTab-BTQehyRQ.js +1 -0
  25. package/dist/assets/ThemeShowroom-HrqPxKuI.js +1 -0
  26. package/dist/assets/{TimeRangePicker-CC878ntd.js → TimeRangePicker-DBPA3ISK.js} +1 -1
  27. package/dist/assets/{TimezoneCombobox-C0q9MbXz.js → TimezoneCombobox-Cf0dO1lp.js} +1 -1
  28. package/dist/assets/TracesTab-DpeDrf2G.js +1 -0
  29. package/dist/assets/UsersTab-txTMEiI9.js +1 -0
  30. package/dist/assets/VoiceTab-CnjBb1Ea.js +1 -0
  31. package/dist/assets/{api-BgcjjJQV.js → api-EsnGI4EC.js} +5 -5
  32. package/dist/assets/{button-B1AigA0Z.js → button-CZ9WPf0m.js} +1 -1
  33. package/dist/assets/{card-CXjrip9m.js → card-CZABX7Qs.js} +1 -1
  34. package/dist/assets/check-LaI7fqW2.js +1 -0
  35. package/dist/assets/chevron-up-DZeG4Ghe.js +1 -0
  36. package/dist/assets/chevrons-up-down-BQ8-VyUH.js +1 -0
  37. package/dist/assets/{compatView--XqHdeNt.js → compatView-BNLmViDl.js} +1 -1
  38. package/dist/assets/{dispatchErrorInfo-DMNiZ6B8.js → dispatchErrorInfo-GCb0ITYo.js} +1 -1
  39. package/dist/assets/{dist-GuFbf2Iz.js → dist-BM94bqpE.js} +1 -1
  40. package/dist/assets/{dist-Bl5eO3qx.js → dist-C7_P8Qst.js} +1 -1
  41. package/dist/assets/{dist-CACaaK0v.js → dist-CM-sT-ds.js} +1 -1
  42. package/dist/assets/{highlighted-body-OFNGDK62-B00OO203.js → highlighted-body-OFNGDK62-D8RSF8so.js} +1 -1
  43. package/dist/assets/index-CsdodIca.js +238 -0
  44. package/dist/assets/{list-BwOKV6xv.js → list-DaUUbsAN.js} +1 -1
  45. package/dist/assets/mermaid-GHXKKRXX-CHdRR4I9.js +1 -0
  46. package/dist/assets/{pdf-D7ZwydsP.js → pdf-D65rOI23.js} +1 -1
  47. package/dist/assets/roleDescriptions-DEIReM8x.js +1 -0
  48. package/dist/assets/{table-BOtUmV9W.js → table-B--HXOj1.js} +1 -1
  49. package/dist/assets/{tabs-BVZ9Tjjq.js → tabs-lFf0wQh0.js} +1 -1
  50. package/dist/assets/x-DOcdk27K.js +1 -0
  51. package/dist/index.html +9 -9
  52. package/package.json +1 -1
  53. package/dist/assets/AgentFilesTab-BqdAEJr_.js +0 -3
  54. package/dist/assets/AnomaliesTab-C80NUj7u.js +0 -1
  55. package/dist/assets/BridgeTab-BEQaiAi7.js +0 -1
  56. package/dist/assets/ChatDefaultsTab-Bjs_Xwo9.js +0 -1
  57. package/dist/assets/FeedbacksTab-DkJMDVml.js +0 -1
  58. package/dist/assets/FilesTab-D4m07j6b.js +0 -1
  59. package/dist/assets/InstancesTab-zXRUlicF.js +0 -1
  60. package/dist/assets/IntegrationsTab-CZL6fzXl.js +0 -1
  61. package/dist/assets/PreferencesTab-CkHvNi-h.js +0 -1
  62. package/dist/assets/ProjectPage-B2FRuDTL.js +0 -1
  63. package/dist/assets/PromptInjectionsTab-BqTJ8eT1.js +0 -4
  64. package/dist/assets/RolesTab-DczYqgn9.js +0 -1
  65. package/dist/assets/ScheduledTab-DCMlu5xl.js +0 -1
  66. package/dist/assets/ServiceAccountsTab-CjoGk-24.js +0 -1
  67. package/dist/assets/SubAgentReportsTab-BM7_SkY-.js +0 -1
  68. package/dist/assets/ThemeShowroom-BbK7d4SF.js +0 -1
  69. package/dist/assets/TracesTab-n4f5MnuP.js +0 -1
  70. package/dist/assets/UsersTab-d8xuu35P.js +0 -1
  71. package/dist/assets/VoiceTab-3HuEj33_.js +0 -1
  72. package/dist/assets/check-Cc69KF2k.js +0 -1
  73. package/dist/assets/chevron-up-CI4GR3yK.js +0 -1
  74. package/dist/assets/chevrons-up-down-C4Y1BUfv.js +0 -1
  75. package/dist/assets/index-yfG0YL8X.js +0 -238
  76. package/dist/assets/mermaid-GHXKKRXX-cm114NqB.js +0 -1
  77. package/dist/assets/roleDescriptions-C-rAs0lx.js +0 -1
  78. package/dist/assets/x-DBG04IBg.js +0 -1
@@ -0,0 +1 @@
1
+ import{FS as e,IS as t,LS as n,PS as r,RS as i}from"./api-EsnGI4EC.js";var a={pending:i,user:n,admin:t,observer:e,agent:r};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-BgcjjJQV.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-EsnGI4EC.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,r as n}from"./bundle-mjs-C73ZY4La.js";import{b as r,d as i,f as a,g as o,n as s,p as c,r as l,y as u}from"./api-BgcjjJQV.js";import{t as d}from"./dist-GuFbf2Iz.js";import{Gt as f,Kt as p,qt as m}from"./index-yfG0YL8X.js";var h=t(e(),1),g=n(),_=`Tabs`,[v,y]=o(_,[m]),b=m(),[x,S]=v(_),C=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:a,onValueChange:o,defaultValue:s,orientation:l=`horizontal`,dir:u,activationMode:f=`automatic`,...p}=e,m=d(u),[h,v]=c({prop:a,onChange:o,defaultProp:s??``,caller:_});return(0,g.jsx)(x,{scope:n,baseId:i(),value:h,onValueChange:v,orientation:l,dir:m,activationMode:f,children:(0,g.jsx)(r.div,{dir:m,"data-orientation":l,...p,ref:t})})});C.displayName=_;var w=`TabsList`,T=h.forwardRef((e,t)=>{let{__scopeTabs:n,loop:i=!0,...a}=e,o=S(w,n),s=b(n);return(0,g.jsx)(p,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:(0,g.jsx)(r.div,{role:`tablist`,"aria-orientation":o.orientation,...a,ref:t})})});T.displayName=w;var E=`TabsTrigger`,D=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,disabled:a=!1,...o}=e,s=S(E,n),c=b(n),l=A(s.baseId,i),d=j(s.baseId,i),p=i===s.value;return(0,g.jsx)(f,{asChild:!0,...c,focusable:!a,active:p,children:(0,g.jsx)(r.button,{type:`button`,role:`tab`,"aria-selected":p,"aria-controls":d,"data-state":p?`active`:`inactive`,"data-disabled":a?``:void 0,disabled:a,id:l,...o,ref:t,onMouseDown:u(e.onMouseDown,e=>{!a&&e.button===0&&e.ctrlKey===!1?s.onValueChange(i):e.preventDefault()}),onKeyDown:u(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&s.onValueChange(i)}),onFocus:u(e.onFocus,()=>{let e=s.activationMode!==`manual`;!p&&!a&&e&&s.onValueChange(i)})})})});D.displayName=E;var O=`TabsContent`,k=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,forceMount:o,children:s,...c}=e,l=S(O,n),u=A(l.baseId,i),d=j(l.baseId,i),f=i===l.value,p=h.useRef(f);return h.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,g.jsx)(a,{present:o||f,children:({present:n})=>(0,g.jsx)(r.div,{"data-state":f?`active`:`inactive`,"data-orientation":l.orientation,role:`tabpanel`,"aria-labelledby":u,hidden:!n,id:d,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&s})})});k.displayName=O;function A(e,t){return`${e}-trigger-${t}`}function j(e,t){return`${e}-content-${t}`}var M=C,N=T,P=D,F=k;function I({className:e,orientation:t=`horizontal`,...n}){return(0,g.jsx)(M,{"data-slot":`tabs`,"data-orientation":t,className:l(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var L=s(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function R({className:e,variant:t=`default`,...n}){return(0,g.jsx)(N,{"data-slot":`tabs-list`,"data-variant":t,className:l(L({variant:t}),e),...n})}function z({className:e,...t}){return(0,g.jsx)(P,{"data-slot":`tabs-trigger`,className:l(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function B({className:e,...t}){return(0,g.jsx)(F,{"data-slot":`tabs-content`,className:l(`flex-1 text-sm outline-none`,e),...t})}export{z as i,B as n,R as r,I as t};
1
+ import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{b as r,d as i,f as a,g as o,n as s,p as c,r as l,y as u}from"./api-EsnGI4EC.js";import{t as d}from"./dist-BM94bqpE.js";import{Gt as f,Kt as p,qt as m}from"./index-CsdodIca.js";var h=t(e(),1),g=n(),_=`Tabs`,[v,y]=o(_,[m]),b=m(),[x,S]=v(_),C=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:a,onValueChange:o,defaultValue:s,orientation:l=`horizontal`,dir:u,activationMode:f=`automatic`,...p}=e,m=d(u),[h,v]=c({prop:a,onChange:o,defaultProp:s??``,caller:_});return(0,g.jsx)(x,{scope:n,baseId:i(),value:h,onValueChange:v,orientation:l,dir:m,activationMode:f,children:(0,g.jsx)(r.div,{dir:m,"data-orientation":l,...p,ref:t})})});C.displayName=_;var w=`TabsList`,T=h.forwardRef((e,t)=>{let{__scopeTabs:n,loop:i=!0,...a}=e,o=S(w,n),s=b(n);return(0,g.jsx)(p,{asChild:!0,...s,orientation:o.orientation,dir:o.dir,loop:i,children:(0,g.jsx)(r.div,{role:`tablist`,"aria-orientation":o.orientation,...a,ref:t})})});T.displayName=w;var E=`TabsTrigger`,D=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,disabled:a=!1,...o}=e,s=S(E,n),c=b(n),l=A(s.baseId,i),d=j(s.baseId,i),p=i===s.value;return(0,g.jsx)(f,{asChild:!0,...c,focusable:!a,active:p,children:(0,g.jsx)(r.button,{type:`button`,role:`tab`,"aria-selected":p,"aria-controls":d,"data-state":p?`active`:`inactive`,"data-disabled":a?``:void 0,disabled:a,id:l,...o,ref:t,onMouseDown:u(e.onMouseDown,e=>{!a&&e.button===0&&e.ctrlKey===!1?s.onValueChange(i):e.preventDefault()}),onKeyDown:u(e.onKeyDown,e=>{[` `,`Enter`].includes(e.key)&&s.onValueChange(i)}),onFocus:u(e.onFocus,()=>{let e=s.activationMode!==`manual`;!p&&!a&&e&&s.onValueChange(i)})})})});D.displayName=E;var O=`TabsContent`,k=h.forwardRef((e,t)=>{let{__scopeTabs:n,value:i,forceMount:o,children:s,...c}=e,l=S(O,n),u=A(l.baseId,i),d=j(l.baseId,i),f=i===l.value,p=h.useRef(f);return h.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,g.jsx)(a,{present:o||f,children:({present:n})=>(0,g.jsx)(r.div,{"data-state":f?`active`:`inactive`,"data-orientation":l.orientation,role:`tabpanel`,"aria-labelledby":u,hidden:!n,id:d,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:p.current?`0s`:void 0},children:n&&s})})});k.displayName=O;function A(e,t){return`${e}-trigger-${t}`}function j(e,t){return`${e}-content-${t}`}var M=C,N=T,P=D,F=k;function I({className:e,orientation:t=`horizontal`,...n}){return(0,g.jsx)(M,{"data-slot":`tabs`,"data-orientation":t,className:l(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var L=s(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function R({className:e,variant:t=`default`,...n}){return(0,g.jsx)(N,{"data-slot":`tabs-list`,"data-variant":t,className:l(L({variant:t}),e),...n})}function z({className:e,...t}){return(0,g.jsx)(P,{"data-slot":`tabs-trigger`,className:l(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function B({className:e,...t}){return(0,g.jsx)(F,{"data-slot":`tabs-content`,className:l(`flex-1 text-sm outline-none`,e),...t})}export{z as i,B as n,R as r,I as t};
@@ -0,0 +1 @@
1
+ import{D as e}from"./api-EsnGI4EC.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-yfG0YL8X.js"></script>
65
+ <script type="module" crossorigin src="/assets/index-CsdodIca.js"></script>
66
66
  <link rel="modulepreload" crossorigin href="/assets/bundle-mjs-C73ZY4La.js">
67
- <link rel="modulepreload" crossorigin href="/assets/api-BgcjjJQV.js">
68
- <link rel="modulepreload" crossorigin href="/assets/dist-CACaaK0v.js">
69
- <link rel="modulepreload" crossorigin href="/assets/dist-GuFbf2Iz.js">
70
- <link rel="modulepreload" crossorigin href="/assets/dist-Bl5eO3qx.js">
71
- <link rel="modulepreload" crossorigin href="/assets/check-Cc69KF2k.js">
72
- <link rel="modulepreload" crossorigin href="/assets/chevron-up-CI4GR3yK.js">
73
- <link rel="modulepreload" crossorigin href="/assets/x-DBG04IBg.js">
74
- <link rel="modulepreload" crossorigin href="/assets/button-B1AigA0Z.js">
67
+ <link rel="modulepreload" crossorigin href="/assets/api-EsnGI4EC.js">
68
+ <link rel="modulepreload" crossorigin href="/assets/dist-CM-sT-ds.js">
69
+ <link rel="modulepreload" crossorigin href="/assets/dist-BM94bqpE.js">
70
+ <link rel="modulepreload" crossorigin href="/assets/dist-C7_P8Qst.js">
71
+ <link rel="modulepreload" crossorigin href="/assets/check-LaI7fqW2.js">
72
+ <link rel="modulepreload" crossorigin href="/assets/chevron-up-DZeG4Ghe.js">
73
+ <link rel="modulepreload" crossorigin href="/assets/x-DOcdk27K.js">
74
+ <link rel="modulepreload" crossorigin href="/assets/button-CZ9WPf0m.js">
75
75
  <link rel="stylesheet" crossorigin href="/assets/index-OKqVOmIC.css">
76
76
  </head>
77
77
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lacneu/atrium",
3
- "version": "0.67.1",
3
+ "version": "0.68.1",
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,3 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$l as r,Bi as i,Ca as a,Cu as o,Du as s,Ea as c,Eu as l,FL as u,Hi as d,Jk as f,LL as p,Ql as m,RL as h,Ri as g,Sa as _,Su as v,Ta as y,Tu as b,Ui as x,Vi as S,Wi as C,_a as w,_u as T,au as E,ba as D,bu as O,ca as k,cd as ee,cu as A,da as j,du as te,eu as ne,fa as M,fu as N,ga as P,gu as F,ha as I,hu as re,iu as ie,jL as ae,kL as L,la as R,lu as z,ma as B,mu as V,nu as oe,oa as H,ou as U,pa as se,pu as ce,ru as le,sa as ue,su as de,t as W,tu as fe,ua as pe,ud as G,uu as me,va as he,vu as ge,wa as _e,wu as ve,xa as K,xu as ye,ya as be,yu as xe,zi as Se}from"./api-BgcjjJQV.js";import{t as q}from"./button-B1AigA0Z.js";import{$ as Ce,Dt as J,V as we,_t as Te,at as Ee,bt as De,dt as Oe,et as ke,ft as Ae,gt as je,ht as Me,it as Ne,nt as Pe,ot as Fe,pt as Ie,rn as Le,rt as Re,tt as ze,ut as Be,vt as Ve,wt as He,xt as Ue,yt as We}from"./index-yfG0YL8X.js";import{n as Ge,t as Ke}from"./curation-CQksaIbm.js";import{i as qe}from"./compatView--XqHdeNt.js";/* empty css */var Y=t(e(),1),X=2e4,Je=6e4;function Ye(e){return typeof e!=`number`||e<=0?0:Math.round(e/X*100)}function Xe(e){return e<=0?0:Math.round(e/Je*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 Ze(e){return e.reduce((e,t)=>e+(typeof t.size==`number`&&t.size>0?t.size:0),0)}var Qe=3;function $e(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<Qe&&a.push(e)):t>0&&(i+=t,o.length<Qe&&o.push(e));return{added:r,removed:i,sampleAdded:a,sampleRemoved:o}}function et(e){return e instanceof Error?e.message.includes(`conflict:`):String(e).includes(`conflict:`)}var Q=n(),$=e=>`${e.instanceName}::${e.agentId}`;function tt(){let e=h(W.me.getMe,{host:He}),t=e?.role===`admin`,n=(e?.permissions??[]).includes(`bridge.read`),r=h(W.admin.listInstances,e!==void 0&&t?{}:`skip`),[i,c]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{!t||!r||r.length===0||(!i||!r.some(e=>e.name===i))&&c(r[0].name)},[t,r,i]);let d=h(W.agents.listAgentsForInstance,t&&i?{instanceName:i}:`skip`),f=h(W.agents.listMyAgents,e!==void 0&&!t?{}:`skip`),p=(0,Y.useMemo)(()=>{if(e!==void 0){if(t)return i===null||d===void 0?r!==void 0&&r.length===0?[]:void 0:d.agents.map(e=>({instanceName:i,agentId:e.agentId,label:`${e.emoji?`${e.emoji} `:``}${e.displayName??e.agentId}`}));if(f!==void 0)return f.map(e=>({instanceName:e.instanceName,agentId:e.agentId,label:`${e.emoji?`${e.emoji} `:``}${e.displayName??e.agentId}`}))}},[e,t,i,d,r,f]),[m,g]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{!p||p.length===0||(!m||!p.some(e=>$(e)===m))&&g($(p[0]))},[p,m]);let y=p?.find(e=>$(e)===m)??null,x=u(W.agentFiles.listAgentFiles),[S,C]=(0,Y.useState)({status:`idle`}),w=y?.instanceName??null,E=y?.agentId??null,D=h(W.compat.forInstance,n&&w!==null?{instanceName:w}:`skip`),k=n&&w!==null?we(D,`agentFiles`):null,A=k===null?!1:k===`loading`?null:k.blocked,j=(0,Y.useCallback)(async()=>{if(!(w===null||E===null)){C({status:`loading`});try{C({status:`done`,files:(await x({instanceName:w,agentId:E})).files})}catch{C({status:`error`})}}},[x,w,E]);(0,Y.useEffect)(()=>{A===!1&&j()},[j,A]);let[te,ne]=(0,Y.useState)(null),M=h(W.agentFileCuration.listCurations,t&&w!==null&&E!==null?{instanceName:w,agentId:E}:`skip`),N=h(W.agentFileCuration.curationSettings,t&&w!==null?{instanceName:w}:`skip`),P=u(W.agentFileCuration.requestCuration),[I,ie]=(0,Y.useState)(null),[R,z]=(0,Y.useState)(null),{toast:B}=J(),V=(0,Y.useMemo)(()=>{let e=new Map;for(let t of M??[])e.has(t.name)||e.set(t.name,t);return e},[M]),oe=(0,Y.useCallback)(async e=>{if(!(w===null||E===null)){ie(e);try{let t=await P({instanceName:w,agentId:E,name:e,trigger:`manual`});t.ok?B({title:a(),variant:`success`}):B({title:_({reason:t.reason??`unknown`}),variant:`error`})}catch{B({title:K(),variant:`error`})}finally{ie(null)}}},[P,w,E,B]),H=ae(),U=(0,Y.useMemo)(()=>new Intl.NumberFormat(H,{maximumFractionDigits:0}),[H]);return e===void 0||p===void 0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:L()}):(0,Q.jsxs)(`div`,{className:`oc-afiles`,children:[(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:s()}),(0,Q.jsxs)(`div`,{className:`oc-afiles__picker`,children:[t&&(r?.length??0)>1?(0,Q.jsxs)(Te,{value:i??``,onValueChange:e=>c(e),children:[(0,Q.jsx)(De,{size:`sm`,"aria-label":l(),children:(0,Q.jsx)(Ue,{})}),(0,Q.jsx)(Ve,{children:(r??[]).map(e=>(0,Q.jsx)(We,{value:e.name,children:e.name},e.name))})]}):null,p.length>0?(0,Q.jsxs)(Te,{value:m??``,onValueChange:e=>g(e),children:[(0,Q.jsx)(De,{size:`sm`,"aria-label":b(),children:(0,Q.jsx)(Ue,{})}),(0,Q.jsx)(Ve,{children:p.map(e=>(0,Q.jsx)(We,{value:$(e),children:e.label},$(e)))})]}):(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:ve()})]}),y===null?null:k===`loading`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:L()}):k!==null&&k.blocked?(0,Q.jsxs)(`p`,{className:`oc-compat__blocked`,role:`status`,children:[(0,Q.jsx)(Le,{size:14,"aria-hidden":!0}),` `,qe(k.gatewayVersion,k.provider)]}):S.status===`loading`||S.status===`idle`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:L()}):S.status===`error`?(0,Q.jsxs)(`p`,{className:`oc-afiles__error`,role:`alert`,children:[v(),` `,(0,Q.jsx)(q,{variant:`outline`,size:`sm`,onClick:()=>void j(),children:ee()})]}):S.files.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:o()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`oc-afiles__list`,children:S.files.map(e=>{let n=Ye(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)(Be,{variant:`outline`,children:ye()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`oc-afiles__size`,children:O({size:Z(e.size,H)})}),(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:xe({pct:U.format(n)})}),r?(0,Q.jsx)(Le,{size:14,className:`oc-afiles__warn`,"aria-label":ge()}):(0,Q.jsx)(`span`,{className:`oc-afiles__warn-slot`,"aria-hidden":!0})]}),(0,Q.jsx)(q,{variant:`outline`,size:`sm`,className:`oc-afiles__open`,onClick:()=>ne(e),children:t?F():re()}),t&&!e.missing?(0,Q.jsx)(nt,{curatable:Ke.includes(e.name),size:e.size??0,budget:N?.budgetChars??null,enabled:N?.enabled??!1,curation:V.get(e.name)??null,inFlight:I===e.name,onCurate:()=>void oe(e.name),onReview:e=>z(e)}):null]},e.name)})}),(0,Q.jsx)(`p`,{className:`oc-afiles__budget`,children:T({used:Z(Ze(S.files),H),total:Z(Je,H),pct:U.format(Xe(Ze(S.files)))})})]}),te&&y?(0,Q.jsx)(rt,{instanceName:y.instanceName,agentId:y.agentId,name:te.name,isAdmin:t,onClose:()=>ne(null),onSaved:()=>void j()}):null,R?(0,Q.jsx)(it,{curationId:R,onClose:()=>z(null),onApplied:()=>{z(null),j()}}):null]})}function nt({curatable:e,size:t,budget:n,enabled:r,curation:i,inFlight:a,onCurate:o,onReview:s}){return i?.status===`proposed`?(0,Q.jsx)(q,{variant:`default`,size:`sm`,className:`oc-afiles__curate`,onClick:()=>s(i._id),children:y()}):a||i?.status===`dispatched`||i?.status===`applying`?(0,Q.jsx)(Be,{variant:`outline`,className:`oc-afiles__curate-status`,children:_e()}):e&&r&&n!==null&&Ge(t,n)?(0,Q.jsx)(q,{variant:`outline`,size:`sm`,className:`oc-afiles__curate`,onClick:o,children:c()}):null}function rt({instanceName:e,agentId:t,name:n,isAdmin:i,onClose:a,onSaved:o}){let s=u(W.agentFiles.getAgentFile),c=u(W.agentFiles.setAgentFile),l=J(),[d,p]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(``),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(!1),[C,w]=(0,Y.useState)(!1),[T,D]=(0,Y.useState)(!1),O=(0,Y.useCallback)(async r=>{g(!1);try{let i=await s({instanceName:e,agentId:t,name:n});p({content:i.content,updatedAtMs:i.updatedAtMs}),r||v(i.content),w(!1)}catch{g(!0)}},[s,e,t,n]);(0,Y.useEffect)(()=>{O(!1)},[O]);async function k(){if(d!==null){S(!0),D(!1);try{await c({instanceName:e,agentId:t,name:n,content:_,baseUpdatedAtMs:d.updatedAtMs??void 0}),l.success(A({name:n})),o(),await O(!1)}catch(e){et(e)?w(!0):D(!0)}finally{S(!1)}}}let j=d!==null&&_!==d.content,M=(0,Y.useMemo)(()=>d===null?null:$e(d.content,_),[d,_]),P=_.length>X,F=ae(),I=(0,Y.useMemo)(()=>new Intl.NumberFormat(F),[F]);return(0,Q.jsx)(Oe,{open:!0,onOpenChange:e=>!e&&a(),children:(0,Q.jsxs)(Ae,{className:`oc-afiles__editor`,children:[(0,Q.jsxs)(Me,{children:[(0,Q.jsx)(je,{children:V({name:n})}),(0,Q.jsxs)(Ie,{children:[ce({agent:t,instance:e}),i?null:(0,Q.jsxs)(Q.Fragment,{children:[` · `,N()]})]})]}),h?(0,Q.jsxs)(`p`,{className:`oc-afiles__error`,role:`alert`,children:[U(),` `,(0,Q.jsx)(q,{variant:`outline`,size:`sm`,onClick:()=>void O(!1),children:ee()})]}):d===null?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:L()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`textarea`,{className:`oc-afiles__source`,value:_,readOnly:!i,spellCheck:!1,onChange:e=>v(e.target.value),"aria-label":V({name:n})}),(0,Q.jsx)(`p`,{className:`oc-afiles__hint`,children:te()}),C?(0,Q.jsxs)(`p`,{className:`oc-afiles__error`,role:`alert`,children:[E(),` `,(0,Q.jsx)(q,{variant:`outline`,size:`sm`,onClick:()=>void O(!0),children:ie()})]}):null,T?(0,Q.jsx)(`p`,{className:`oc-afiles__error`,role:`alert`,children:de()}):null,(0,Q.jsxs)(`div`,{className:`oc-afiles__editor-foot`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__count${P?` is-over`:``}`,children:me({count:I.format(_.length),max:I.format(X)})}),i?(0,Q.jsx)(q,{size:`sm`,disabled:!j||x||C,onClick:()=>b(!0),children:x?G():z()}):null]})]}),(0,Q.jsx)(Ce,{open:y,onOpenChange:b,children:(0,Q.jsxs)(Pe,{children:[(0,Q.jsxs)(Ee,{children:[(0,Q.jsx)(Fe,{children:le({name:n})}),(0,Q.jsx)(Re,{children:oe({agent:t})})]}),M?(0,Q.jsxs)(`div`,{className:`oc-afiles__diff`,children:[(0,Q.jsx)(`p`,{className:`oc-afiles__diff-counts`,children:fe({added:M.added,removed:M.removed})}),M.sampleAdded.length>0?(0,Q.jsxs)(`div`,{className:`oc-afiles__diff-block`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__diff-label`,children:ne()}),M.sampleAdded.map((e,t)=>(0,Q.jsx)(`code`,{className:`oc-afiles__diff-line is-add`,children:e||` `},t))]}):null,M.sampleRemoved.length>0?(0,Q.jsxs)(`div`,{className:`oc-afiles__diff-block`,children:[(0,Q.jsx)(`span`,{className:`oc-afiles__diff-label`,children:r()}),M.sampleRemoved.map((e,t)=>(0,Q.jsx)(`code`,{className:`oc-afiles__diff-line is-del`,children:e||` `},t))]}):null]}):null,(0,Q.jsxs)(Ne,{children:[(0,Q.jsx)(ze,{children:f()}),(0,Q.jsx)(ke,{onClick:()=>void k(),children:m()})]})]})})]})})}function it({curationId:e,onClose:t,onApplied:n}){let r=h(W.agentFileCuration.getProposal,{curationId:e}),a=u(W.agentFileCuration.approveCuration),o=p(W.agentFileCuration.rejectCuration),{toast:s}=J(),[c,l]=(0,Y.useState)(null),[f,m]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(``),y=ae(),b=(0,Y.useMemo)(()=>r?$e(r.beforeContent,r.proposedContent):null,[r]);async function T(){l(`approve`);try{let t=await a({curationId:e});t.ok?(s({title:D(),variant:`success`}),n()):s({title:t.reason===`conflict`?he():w({reason:t.reason??`unknown`}),variant:`error`})}catch{s({title:K(),variant:`error`})}finally{l(null)}}async function E(n){l(`reject`);try{let r=_.trim();(await o({curationId:e,...r?{comment:r}:{},relaunch:n})).ok?s({title:n?Se():be(),variant:`success`}):s({title:B(),variant:`error`}),t()}catch{s({title:K(),variant:`error`})}finally{l(null)}}return(0,Q.jsx)(Oe,{open:!0,onOpenChange:e=>e?void 0:t(),children:(0,Q.jsxs)(Ae,{className:`oc-afiles__review`,children:[(0,Q.jsxs)(Me,{children:[(0,Q.jsx)(je,{children:r?P({name:r.name}):L()}),(0,Q.jsx)(Ie,{children:I()})]}),r===void 0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:L()}):r===null?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:B()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`p`,{className:`oc-afiles__review-sizes`,children:[se({before:Z(r.beforeSize,y),after:Z(r.proposedSize,y)}),r.overBudget?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(Le,{size:13,"aria-hidden":!0}),` `,M()]}):null]}),b?(0,Q.jsx)(`p`,{className:`oc-afiles__review-diff`,children:j({added:b.added,removed:b.removed})}):null,r.feedback?(0,Q.jsx)(`p`,{className:`oc-afiles__review-feedback`,children:g({feedback:r.feedback})}):null,b&&b.sampleRemoved.length>0?(0,Q.jsxs)(`div`,{className:`oc-afiles__review-removed`,children:[(0,Q.jsx)(`p`,{className:`oc-afiles__review-label`,children:H()}),(0,Q.jsx)(`ul`,{children:b.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:ue()}),(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:pe()}),(0,Q.jsx)(`pre`,{className:`oc-afiles__review-pre`,children:r.proposedContent})]})]})]}),f?(0,Q.jsxs)(`div`,{className:`oc-afiles__reject-form`,children:[(0,Q.jsx)(`label`,{className:`oc-afiles__review-label`,htmlFor:`curation-reject-comment`,children:C()}),(0,Q.jsx)(`textarea`,{id:`curation-reject-comment`,className:`oc-afiles__reject-textarea`,rows:3,placeholder:x(),value:_,onChange:e=>v(e.target.value)}),(0,Q.jsxs)(`div`,{className:`oc-afiles__review-actions`,children:[(0,Q.jsx)(q,{variant:`ghost`,onClick:()=>m(!1),disabled:c!==null,children:d()}),(0,Q.jsx)(q,{variant:`outline`,onClick:()=>void E(!1),disabled:c!==null,children:c===`reject`?G():S()}),(0,Q.jsx)(q,{variant:`default`,onClick:()=>void E(!0),disabled:c!==null,children:c===`reject`?G():i()})]})]}):(0,Q.jsxs)(`div`,{className:`oc-afiles__review-actions`,children:[(0,Q.jsx)(q,{variant:`outline`,onClick:()=>m(!0),disabled:c!==null||r==null,children:R()}),(0,Q.jsx)(q,{variant:`default`,onClick:()=>void T(),disabled:c!==null||r==null,children:c===`approve`?G():k()})]})]})})}export{tt as AgentFilesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$x as r,Bx as i,CS as a,Fx as o,Gx as s,Hx as ee,Ix as c,Jx as l,Kx as te,LL as ne,Lx as u,Mx as d,Nx as f,Px as p,Qx as m,RL as h,Rx as g,SS as _,Ux as re,Vx as ie,Wx as ae,Xx as v,Yx as oe,Zx as se,_S as ce,aS as le,bS as ue,cS as de,dS as fe,eS as y,fS as pe,gS as me,hS as he,iS as ge,jx as b,lS as _e,mS as ve,nS as ye,oS as be,pS as x,qx as S,rS as C,sS as w,t as T,tS as E,uS as D,vS as O,xS as k,yS as A,zx as j}from"./api-BgcjjJQV.js";import{Dt as M,Fn as N,Pn as P,Z as xe,_t as F,bt as I,ct as Se,dt as L,ft as R,gt as z,ht as B,i as Ce,o as we,ut as V,vt as H,wt as Te,xt as U,yt as W}from"./index-yfG0YL8X.js";import{n as Ee}from"./TimeRangePicker-CC878ntd.js";import{t as De}from"./FilterBar-ERKruhWz.js";import{t as Oe}from"./DataTableShell-DEnRs2mH.js";import{t as G}from"./dispatchErrorInfo-DMNiZ6B8.js";var K=t(e(),1),q=n(),J=`__all__`,ke=[{value:`open`},{value:`acknowledged`},{value:`resolved`}];function Ae(e){return e===`open`?a():e===`acknowledged`?_():k()}var je=[`info`,`warn`,`critical`],Me=[`detector`,`agent`,`user`],Ne={kind:`relative`,from:`now-30d`,to:`now`},Pe=200,Y=`all`;function X(){let e=N({from:`/settings/anomalies`}),t=P({from:`/settings/anomalies`}),n=e.q??``,a=e.status===Y?J:e.status,o=e.severity??J,c=e.kind??J,[u,d]=(0,K.useState)(J),f=Ce(e.from,e.to),{from:p,to:g}=Ee(f),_=e=>void t({search:t=>({...t,q:e||void 0}),replace:!0}),b=e=>void t({search:t=>({...t,status:e===J?Y:e})}),k=e=>void t({search:t=>({...t,severity:e===J?void 0:e})}),L=e=>void t({search:t=>({...t,kind:e===J?void 0:e})}),R=e=>void t({search:t=>({...t,...we(e)})}),z=xe(),B=M(),G=ne(T.anomalies.resolveAnomaly),X=(h(T.me.getMe,{host:Te})?.permissions??[]).includes(`admin.manage`),Z=h(T.anomalies.listAnomalies,{limit:Pe,filter:{q:n||void 0,from:p,to:g,anomalyStatus:a===J?void 0:a,severity:o===J?void 0:o,source:u===J?void 0:u,kind:c===J?void 0:c}}),Q=(0,K.useMemo)(()=>{let e=new Set;for(let t of Z??[])e.add(t.kind);return[...e].sort()},[Z]),ze=n!==``||a!==`open`||o!==J||u!==J||c!==J||f.kind!==`relative`||f.from!==Ne.from;function Be(){d(J),t({search:{status:`open`},replace:!0})}async function Ve(e){if(await z({title:ue(),description:(0,q.jsxs)(q.Fragment,{children:[A(),` `,(0,q.jsx)(`span`,{className:`font-mono`,children:e.kind}),` `,O(),` `,(0,q.jsx)(`strong`,{children:ce()}),`.`,` `,me()]}),confirmLabel:he()}))try{await G({anomalyId:e._id,status:`resolved`}),B.success(ve(),e.kind)}catch(e){B.error(x(),e)}}async function He(e){try{await G({anomalyId:e._id,status:`acknowledged`}),B.success(pe(),e.kind)}catch(e){B.error(fe(),e)}}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`p`,{className:`oc-admin__hint`,children:[D(),` `,(0,q.jsx)(`strong`,{children:_e()}),` `,de(),` `,(0,q.jsx)(`strong`,{children:w()}),` `,be(),` `,(0,q.jsx)(`strong`,{children:le()}),` `,ge(),` `,(0,q.jsx)(`span`,{className:`oc-filter__window`,children:C()})]}),(0,q.jsxs)(De,{q:n,onQChange:_,searchPlaceholder:ye(),timeRange:f,onTimeRangeChange:R,onReset:Be,canReset:ze,children:[(0,q.jsxs)(F,{value:a,onValueChange:b,children:[(0,q.jsx)(I,{size:`sm`,className:`w-36`,children:(0,q.jsx)(U,{})}),(0,q.jsxs)(H,{children:[(0,q.jsx)(W,{value:J,children:E()}),ke.map(e=>(0,q.jsx)(W,{value:e.value,children:Ae(e.value)},e.value))]})]}),(0,q.jsxs)(F,{value:o,onValueChange:k,children:[(0,q.jsx)(I,{size:`sm`,className:`w-36`,children:(0,q.jsx)(U,{placeholder:y()})}),(0,q.jsxs)(H,{children:[(0,q.jsx)(W,{value:J,children:r()}),je.map(e=>(0,q.jsx)(W,{value:e,children:e},e))]})]}),(0,q.jsxs)(F,{value:u,onValueChange:d,children:[(0,q.jsx)(I,{size:`sm`,className:`w-32`,children:(0,q.jsx)(U,{placeholder:m()})}),(0,q.jsxs)(H,{children:[(0,q.jsx)(W,{value:J,children:se()}),Me.map(e=>(0,q.jsx)(W,{value:e,children:e},e))]})]}),(0,q.jsxs)(F,{value:c,onValueChange:L,children:[(0,q.jsx)(I,{size:`sm`,className:`w-36`,children:(0,q.jsx)(U,{placeholder:v()})}),(0,q.jsxs)(H,{children:[(0,q.jsx)(W,{value:J,children:oe()}),Q.map(e=>(0,q.jsx)(W,{value:e,children:e},e))]})]})]}),(0,q.jsx)(Oe,{title:l(),rows:Z,emptyHint:a===`open`?S():te(),rowActions:e=>X&&e.status===`open`?[{label:s(),onSelect:()=>void Ve(e)},{label:ae(),onSelect:()=>void He(e)}]:[],columns:[{header:re(),cell:e=>(0,q.jsx)(`span`,{className:`oc-traces__time`,children:Se(e.at)}),sort:e=>e.at},{header:v(),cell:e=>(0,q.jsx)(`code`,{className:`oc-traces__mono`,children:e.kind}),sort:e=>e.kind},{header:y(),cell:e=>(0,q.jsx)(Le,{severity:e.severity}),sort:e=>e.severity===`critical`?2:+(e.severity===`warn`)},{header:ee(),cell:e=>(0,q.jsx)($,{status:e.status}),sort:e=>e.status===`resolved`?2:+(e.status===`acknowledged`)},{header:m(),cell:e=>(0,q.jsx)(V,{variant:`outline`,children:e.source}),sort:e=>e.source},{header:ie(),cell:e=>(0,q.jsxs)(`div`,{className:`oc-anomaly__msgcell`,children:[(0,q.jsx)(`span`,{className:`oc-anomaly__msg`,children:e.message}),(0,q.jsx)(Ie,{row:e})]}),sort:e=>e.message},{header:i(),cell:e=>(0,q.jsx)(Fe,{row:e}),sort:e=>e.evidence??null},{header:j(),cell:e=>e.correlationId?(0,q.jsx)(`code`,{className:`oc-traces__mono`,children:Re(e.correlationId)}):(0,q.jsx)(`span`,{className:`oc-traces__muted`,children:`—`}),sort:e=>e.correlationId}]})]})}function Z(e){if(e.kind!==`openclaw.dispatch_failures`||!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 Fe({row:e}){let t=P();if(e.kind===`subagent.failure`){let n=Q(e);return(0,q.jsxs)(`div`,{className:`oc-anomaly__cause`,children:[(0,q.jsx)(`div`,{className:`oc-anomaly__cause-head`,children:[...new Set(n.errorCategories??[])].map(e=>(0,q.jsx)(`code`,{className:`oc-traces__mono`,children:e},e))}),e.correlationId?(0,q.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>void t({to:`/settings/traces`,search:{q:e.correlationId,limit:100}}),children:[`↗ `,g()]}):null]})}let n=Z(e);if(!n.dominantCode)return(0,q.jsx)(`span`,{className:`oc-traces__muted`,children:`—`});let r=G(n.dominantCode),i=n.sampleCorrelationId;return(0,q.jsxs)(`div`,{className:`oc-anomaly__cause`,children:[(0,q.jsxs)(`div`,{className:`oc-anomaly__cause-head`,children:[(0,q.jsx)(`span`,{className:`oc-anomaly__cause-label`,children:r.label}),(0,q.jsx)(`code`,{className:`oc-traces__mono`,children:n.dominantCode})]}),(0,q.jsx)(`p`,{className:`oc-anomaly__cause-hint`,children:r.hint}),i?(0,q.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>void t({to:`/settings/traces`,search:{q:i,limit:100}}),children:[`↗ `,g()]}):null]})}function Ie({row:e}){let[t,n]=(0,K.useState)(!1),r=h(T.anomalies.getAnomalyAttachments,t?{anomalyId:e._id}:`skip`);return!e.attachments||e.attachments.length===0?null:(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`button`,{type:`button`,className:`oc-anomaly__drill`,onClick:()=>n(!0),children:[u(),e.attachments.length>1?` (${e.attachments.length})`:``]}),(0,q.jsx)(L,{open:t,onOpenChange:n,children:(0,q.jsxs)(R,{className:`oc-anomaly__attachments-dialog`,children:[(0,q.jsx)(B,{children:(0,q.jsx)(z,{children:c()})}),r===void 0?(0,q.jsx)(`p`,{className:`oc-traces__muted`,children:o()}):r.length===0?(0,q.jsx)(`p`,{className:`oc-traces__muted`,children:p()}):(0,q.jsx)(`div`,{className:`oc-anomaly__attachments`,children:r.map(e=>(0,q.jsxs)(`section`,{className:`oc-anomaly__attachment`,children:[(0,q.jsx)(`h4`,{className:`oc-anomaly__attachment-name`,children:(0,q.jsx)(`code`,{className:`oc-traces__mono`,children:e.name})}),(0,q.jsx)(`pre`,{className:`oc-anomaly__attachment-content`,children:e.content})]},e.name))})]})})]})}function Le({severity:e}){return(0,q.jsx)(`span`,{className:`oc-anomaly__sev oc-anomaly__sev--${e}`,children:e})}function $({status:e}){return e===`open`?(0,q.jsx)(V,{variant:`destructive`,children:f()}):e===`acknowledged`?(0,q.jsx)(V,{variant:`secondary`,children:d()}):(0,q.jsx)(V,{variant:`outline`,children:b()})}function Re(e){return e.length>8?e.slice(0,8):e}export{X as AnomaliesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$_ as r,Al as i,Av as a,Bl as o,Bv as s,Cv as c,Cy as l,D as u,Dv as d,Dy as f,Ev as p,Ey as m,FL as h,Fl as g,Fv as _,Gv as ee,Hv as te,Il as v,Iv as y,Jv as ne,Kv as re,LL as ie,Ll as b,Lv as ae,Ml as oe,Mv as se,My as ce,Nl as le,Nv as ue,Ov as de,Oy as fe,Pl as pe,Pv as me,RL as x,Rl as he,Rv as ge,Sv as _e,Sy as ve,Tl as ye,Tv as be,Ty as xe,Uv as Se,Vl as Ce,Vv as we,Wv as Te,Xv as Ee,Yv as De,_v as Oe,ar as ke,av as Ae,bv as je,cv as Me,dv as Ne,ev as Pe,fv as Fe,gv as Ie,hv as Le,ir as Re,iv as ze,jl as Be,jv as Ve,jy as He,kl as Ue,kv as We,ky as Ge,lv as Ke,mv as qe,nv as Je,or as Ye,ov as Xe,pv as S,qv as Ze,rr as Qe,rv as $e,sr as et,sv as tt,t as C,tv as nt,ur as rt,uv as it,vv as at,vy as ot,wv as st,wy as ct,xv as lt,yv as ut,yy as dt,zl as ft,zv as pt}from"./api-BgcjjJQV.js";import{r as w}from"./dist-GuFbf2Iz.js";import{t as mt}from"./chevron-up-CI4GR3yK.js";import{t as ht}from"./chevrons-up-down-C4Y1BUfv.js";import{i as gt,n as T,o as _t,r as vt,s as yt}from"./FieldLabel-101rCL07.js";import{i as bt,n as xt,r as St,t as Ct}from"./tabs-BVZ9Tjjq.js";import{t as wt}from"./button-B1AigA0Z.js";import{An as Tt,Bt as Et,Dt,Fn as Ot,I as kt,P as At,Pn as jt,Rt as Mt,_t as E,bn as Nt,bt as D,ct as O,dt as Pt,ft as Ft,gt as It,ht as Lt,jn as k,jt as A,lt as j,on as Rt,pt as zt,rn as M,ut as N,vt as P,wt as Bt,xt as F,yt as I,zt as Vt}from"./index-yfG0YL8X.js";import{r as Ht}from"./locales-CPjguROj.js";import{a as Ut,i as L,n as Wt,o as R,r as z,t as B}from"./table-BOtUmV9W.js";import{t as Gt}from"./FilterBar-ERKruhWz.js";import{a as V,n as Kt,o as H,r as U,s as qt,t as Jt}from"./compatView--XqHdeNt.js";import{t as W}from"./dispatchErrorInfo-DMNiZ6B8.js";var Yt=u(`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`}]]),Xt=u(`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 Zt(e){return e.filter(e=>e.state===`error`)}function Qt(e){return e.reachable&&Zt(e.targets).length===0}function $t(e){return Qt(e)?(e.unreachableInstances??[]).length>0?`gateways_unreachable`:`ok`:`error`}function en(e){return e.state===`error`&&e.lastErrorCode!==null}function tn(e){return!!e.lastDownstreamRejectCode}function K(e){return e.kind??`openclaw`}function nn(e){return[...e].sort((e,t)=>e===`openclaw`?-1:t===`openclaw`?1:e.localeCompare(t))}function rn(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,K(e));let i=e=>(e.instanceName?r.get(e.instanceName):void 0)??`openclaw`,a=new Set;for(let e of n)a.add(K(e));for(let e of t)a.add(e.provider);for(let t of e)a.add(i(t));return nn(a).map(r=>({key:r,connections:e.filter(e=>i(e)===r),compatTargets:t.filter(e=>e.provider===r),instances:n.filter(e=>K(e)===r)}))}function q(e){return e===`openclaw`?`OpenClaw`:e===`hermes`?`Hermes`:e.charAt(0).toUpperCase()+e.slice(1)}var J=`__all__`,Y={q:``,state:J,instance:J,version:J},X={connected:0,error:1,idle:2};function an(e){return e.q.trim()!==``||e.state!==`__all__`||e.instance!==`__all__`||e.version!==`__all__`}function on(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 sn(e,t){return e===`version`?t.gatewayVersion===null:e===`lastOk`?t.lastOkAt===null:!1}function cn(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 H(e,r)??Z(e,r)}case`lastOk`:return t.lastOkAt-n.lastOkAt;default:return Z(t.targetLabel,n.targetLabel)}}function ln(e,t){if(!t)return e;let n=t.dir===`asc`?1:-1;return[...e].sort((e,r)=>{let i=sn(t.key,e),a=sn(t.key,r);return i&&a?0:i?1:a?-1:n*cn(t.key,e,r)})}function un(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 dn(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 fn(e){let t=new Set;for(let n of e)n.gatewayVersion!==null&&t.add(n.gatewayVersion);return[...t].sort((e,t)=>H(e,t)??Z(e,t))}var Q=n();function pn({connections:e,displayByInstance:t}){let[n,r]=(0,G.useState)(Y),[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),attempts:e.attempts,lastOkAt:e.lastOkAt??null,lastErrorCode:e.lastErrorCode??null,lastErrorAt:e.lastErrorAt??null,lastDownstreamRejectCode:e.lastDownstreamRejectCode??null,lastDownstreamRejectAt:e.lastDownstreamRejectAt??null})),[e,t]),s=(0,G.useMemo)(()=>un(o),[o]),c=(0,G.useMemo)(()=>dn(o),[o]),l=(0,G.useMemo)(()=>fn(o),[o]),u=(0,G.useMemo)(()=>ln(on(o,n),i),[o,n,i]);function d(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:Oe()}):(0,Q.jsxs)(`div`,{className:`oc-conn`,children:[(0,Q.jsxs)(Gt,{q:n.q,onQChange:e=>r(t=>({...t,q:e})),searchPlaceholder:qe(),onReset:()=>r(Y),canReset:an(n),children:[(0,Q.jsxs)(E,{value:n.state,onValueChange:e=>r(t=>({...t,state:e})),children:[(0,Q.jsx)(D,{size:`sm`,className:`w-36`,children:(0,Q.jsx)(F,{placeholder:Fe()})}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{value:J,children:S()}),s.map(e=>(0,Q.jsx)(I,{value:e,children:hn(e)},e))]})]}),(0,Q.jsxs)(E,{value:n.instance,onValueChange:e=>r(t=>({...t,instance:e})),children:[(0,Q.jsx)(D,{size:`sm`,className:`w-40`,children:(0,Q.jsx)(F,{placeholder:Ne()})}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{value:J,children:S()}),c.map(e=>(0,Q.jsx)(I,{value:e.name,children:e.label},e.name))]})]}),(0,Q.jsxs)(E,{value:n.version,onValueChange:e=>r(t=>({...t,version:e})),children:[(0,Q.jsx)(D,{size:`sm`,className:`w-36`,children:(0,Q.jsx)(F,{placeholder:it()})}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{value:J,children:S()}),l.map(e=>(0,Q.jsx)(I,{value:e,children:e},e))]})]})]}),u.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Ke()}):(0,Q.jsxs)(B,{className:`oc-conn__table`,children:[(0,Q.jsx)(Ut,{children:(0,Q.jsxs)(R,{children:[(0,Q.jsx)($,{label:Me(),sortKey:`target`,sort:i,onSort:d}),(0,Q.jsx)($,{label:tt(),sortKey:`state`,sort:i,onSort:d}),(0,Q.jsx)($,{label:Xe(),sortKey:`instance`,sort:i,onSort:d}),(0,Q.jsx)($,{label:Ae(),sortKey:`host`,sort:i,onSort:d}),(0,Q.jsx)($,{label:ze(),sortKey:`version`,sort:i,onSort:d}),(0,Q.jsx)(L,{children:$e()}),(0,Q.jsx)($,{label:Je(),sortKey:`lastOk`,sort:i,onSort:d})]})}),(0,Q.jsx)(Wt,{children:u.map(e=>(0,Q.jsx)(mn,{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)(L,{"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)(mt,{size:13,"aria-hidden":!0}):(0,Q.jsx)(w,{size:13,"aria-hidden":!0}):(0,Q.jsx)(ht,{size:13,"aria-hidden":!0,className:`oc-conn__sort-idle`})]})})}function mn({r:e}){let t=en(e)?W(e.lastErrorCode):null,n=tn(e)?W(e.lastDownstreamRejectCode):null;return(0,Q.jsxs)(G.Fragment,{children:[(0,Q.jsxs)(R,{className:`oc-conn__row oc-conn__row--${e.state}`,children:[(0,Q.jsx)(z,{children:(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.targetLabel})}),(0,Q.jsx)(z,{children:(0,Q.jsx)(gn,{state:e.state})}),(0,Q.jsx)(z,{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)(z,{children:(0,Q.jsx)(`span`,{className:`oc-bridge-target__host`,children:e.gatewayHost})}),(0,Q.jsx)(z,{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)(z,{children:(0,Q.jsx)(`span`,{className:`oc-conn__stats`,children:Ie({ok:e.okCount,errors:e.errorCount,attempts:e.attempts})})}),(0,Q.jsx)(z,{children:e.lastOkAt?(0,Q.jsx)(`span`,{className:`oc-traces__mono`,children:j(e.lastOkAt)}):(0,Q.jsx)(`span`,{className:`oc-traces__muted`,children:`—`})})]}),t||n?(0,Q.jsx)(R,{className:`oc-conn__detail-row`,children:(0,Q.jsxs)(z,{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?` · ${j(e.lastErrorAt)}`:``,(0,Q.jsx)(`p`,{className:`oc-bridge-card__hint`,children:t.hint})]}):null,n?(0,Q.jsxs)(`div`,{className:`oc-bridge-target__downstream`,children:[Le({label:n.label}),` `,(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:e.lastDownstreamRejectCode}),e.lastDownstreamRejectAt?` · ${j(e.lastDownstreamRejectAt)}`:``]}):null]})}):null]})}function hn(e){return e===`connected`?nt():e===`error`?Pe():r()}function gn({state:e}){return e===`connected`?(0,Q.jsx)(N,{variant:`secondary`,children:nt()}):e===`error`?(0,Q.jsx)(N,{variant:`destructive`,children:Pe()}):(0,Q.jsx)(N,{variant:`outline`,children:r()})}function _n(){return x(C.bridgeHealth.getBridgeHealth,{})}function vn(){let e=_n(),t=x(C.compat.getBridgeCompat,{}),n=x(C.me.getMe,{host:Bt})?.role===`admin`,r=x(C.admin.listInstances,n?{}:`skip`),i=x(C.agents.usageForInstances,n?{}:`skip`),a=jt(),o=()=>void a({to:`/settings/anomalies`,search:{status:`open`}}),s=rn(e?e.targets:[],t?t.targets:[],r??[]),{section:c}=Ot({from:`/settings/bridge`}),l=jt({from:`/settings/bridge`}),u=t?.compat??null,d=t===void 0?`loading`:t===null?`nodata`:`ready`,f=u!==null&&Kt(u,`hermes`)&&!s.some(e=>e.key===`hermes`);return(0,Q.jsxs)(`div`,{className:`oc-bridge`,children:[(0,Q.jsx)(yn,{health:e,compat:t,onSeeAnomalies:o}),(0,Q.jsx)(`p`,{className:`oc-admin__hint oc-bridge__caption`,children:y()}),i&&i.length>0?(0,Q.jsxs)(`section`,{className:`oc-bridge__usage`,children:[(0,Q.jsx)(`h3`,{className:`oc-bridge__usage-title`,children:_()}),(0,Q.jsxs)(B,{children:[(0,Q.jsx)(Ut,{children:(0,Q.jsxs)(R,{children:[(0,Q.jsx)(L,{children:et()}),(0,Q.jsx)(L,{children:Ye()}),(0,Q.jsx)(L,{children:ke()}),(0,Q.jsx)(L,{children:Re()}),(0,Q.jsx)(L,{children:Qe()})]})}),(0,Q.jsx)(Wt,{children:i.flatMap(e=>{let t=kt(e.usage,Date.now());return t?t.windows.map((t,n)=>(0,Q.jsxs)(R,{children:[(0,Q.jsx)(z,{className:`font-medium`,children:n===0?e.instanceName:``}),(0,Q.jsx)(z,{children:t.provider}),(0,Q.jsx)(z,{children:t.label}),(0,Q.jsx)(z,{children:(0,Q.jsxs)(N,{variant:t.percentLeft<=10?`destructive`:t.percentLeft<=25?`outline`:`secondary`,children:[t.percentLeft,`%`]})}),(0,Q.jsx)(z,{className:`text-muted-foreground`,children:t.resetText??`—`})]},`${e.instanceName}:${t.provider}:${t.label}`)):[]})})]})]}):null,s.length>0?(0,Q.jsxs)(Ct,{value:s.some(e=>e.key===c)?c:s[0]?.key??`openclaw`,onValueChange:e=>void l({search:{section:e},replace:!0}),children:[(0,Q.jsx)(St,{className:`w-full`,children:s.map(e=>(0,Q.jsxs)(bt,{value:e.key,className:`flex-1 gap-1.5`,children:[(0,Q.jsx)(Rt,{size:13,"aria-hidden":!0}),q(e.key)]},e.key))}),s.map(e=>(0,Q.jsx)(xt,{value:e.key,children:(0,Q.jsx)(bn,{providerKey:e.key,connections:e.connections,instances:e.instances,manifest:u,compatStatus:d,compatReachable:t?.reachable??!0,protocol:e.key===`openclaw`?t?.protocol??null:null})},e.key))]}):null,f?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:ye()}):null]})}function yn({health:e,compat:t,onSeeAnomalies:n}){let r=t!=null&&t.buildVersion!=null&&t.bridgeVersion!=null&&t.buildVersion!==t.bridgeVersion,i=t?.buildRevision&&t.buildRevision!==`unknown`?t.buildRevision.slice(0,7):null,a=t&&t!==null?(0,Q.jsxs)(`span`,{className:`oc-bridge-card__ver`,children:[(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:V(t.bridgeVersion)}),i?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsxs)(`code`,{className:`oc-traces__mono`,title:ft(),children:[`(`,i,`)`]})]}):null,r?(0,Q.jsxs)(`strong`,{className:`oc-bridge-card__mismatch`,children:[` `,he({build:t.buildVersion??`?`})]}):null,` · `,b(),` `,(0,Q.jsx)(`code`,{className:`oc-traces__mono`,children:t.protocolVersion===null?v():String(t.protocolVersion)})]}):null;if(e===void 0)return(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:de()});if(e===null)return(0,Q.jsx)(`div`,{className:`oc-bridge-card oc-bridge-card--idle`,children:d()});let o=Zt(e.targets),s=!e.reachable,l=$t(e),u=e.unreachableInstances??[],f=l===`ok`?`ok`:l===`gateways_unreachable`?`warn`:`error`,m=O(e.checkedAt),h=e.startedAt==null?null:O(e.startedAt);return(0,Q.jsxs)(`div`,{className:`oc-bridge-card oc-bridge-card--${f}`,children:[(0,Q.jsx)(`div`,{className:`oc-bridge-card__icon`,"aria-hidden":!0,children:l===`ok`?(0,Q.jsx)(Tt,{size:22}):s||l===`gateways_unreachable`?(0,Q.jsx)(Xt,{size:22}):(0,Q.jsx)(M,{size:22})}),(0,Q.jsxs)(`div`,{className:`oc-bridge-card__body`,children:[(0,Q.jsx)(`div`,{className:`oc-bridge-card__title`,children:l===`ok`?p():l===`gateways_unreachable`?_e({count:u.length}):s?be():st({count:o.length})}),(0,Q.jsxs)(`div`,{className:`oc-bridge-card__meta`,children:[(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(Yt,{size:12,"aria-hidden":!0}),` `,c({time:m})]}),h?(0,Q.jsx)(`span`,{children:je({time:h})}):null,a]}),l===`gateways_unreachable`?(0,Q.jsx)(`p`,{className:`oc-bridge-card__hint`,children:lt({names:u.join(`, `)})}):null,s?(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:ut()})]})}function bn({providerKey:e,connections:t,instances:n,manifest:r,compatStatus:i,compatReachable:a,protocol:o}){let s=r?qt(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=l.map(e=>e.state),f=d.includes(`beyond`)?`beyond`:d.length>0&&d.every(e=>e===`supported`)?`supported`:null,[p,m]=(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)(Rt,{size:15,"aria-hidden":!0,className:`oc-bridge-provider__icon`}),(0,Q.jsx)(`span`,{className:`oc-bridge-provider__name`,children:q(e)}),f?(0,Q.jsx)(N,{variant:f===`beyond`?`destructive`:`secondary`,children:U(f)}):null]}),(0,Q.jsx)(`h4`,{className:`oc-bridge-provider__sub`,children:Ce()}),(0,Q.jsx)(Sn,{providerName:q(e),support:s,compatStatus:i,compatReachable:a,manifest:r,instanceRows:l}),o?(0,Q.jsx)(xn,{protocol:o}):null,(0,Q.jsxs)(`button`,{type:`button`,className:`oc-bridge-provider__sub oc-bridge-provider__sub--toggle`,"aria-expanded":p,onClick:()=>m(e=>!e),children:[p?(0,Q.jsx)(w,{size:13,"aria-hidden":!0}):(0,Q.jsx)(k,{size:13,"aria-hidden":!0}),at({count:t.length})]}),p?(0,Q.jsx)(pn,{connections:t,displayByInstance:c}):null]})}function xn({protocol:e}){let[t,n]=(0,G.useState)(!1),r=e.coverage,i=e.drift??[];return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`h4`,{className:`oc-bridge-provider__sub`,children:[me(),i.length>0?(0,Q.jsx)(N,{variant:`destructive`,children:se({count:i.length})}):(0,Q.jsx)(N,{variant:`secondary`,children:ue()})]}),(0,Q.jsxs)(`p`,{className:`oc-admin__hint`,children:[Ve({version:e.vendoredVersion}),r?` · `+a({handled:r.handled,ignored:r.ignored,gaps:r.gaps}):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)(w,{size:13,"aria-hidden":!0}):(0,Q.jsx)(k,{size:13,"aria-hidden":!0}),We({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 Sn({support:e,compatStatus:t,compatReachable:n,manifest:r,instanceRows:i,providerName:a}){return t===`loading`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:de()}):t===`nodata`?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:o()}):(0,Q.jsxs)(`div`,{className:`oc-compat`,children:[n?null:(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:g()}),r===null?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:pe()}):(0,Q.jsxs)(`div`,{className:`oc-compat__support`,children:[(0,Q.jsx)(`span`,{className:`oc-compat__label`,children:rt({provider:a})}),e&&e.range!==null?(0,Q.jsx)(`span`,{children:le({min:e.range.min,max:e.range.maxValidated})}):(0,Q.jsx)(`span`,{children:v()}),e?(0,Q.jsx)(En,{versions:e.validatedVersions}):null]}),i.length===0?(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Ue()}):(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:V(e.version)}),(0,Q.jsx)(N,{variant:e.state===`supported`?`secondary`:e.state===`beyond`?`destructive`:`outline`,children:U(e.state)})]},e.instanceName))})]})}function Cn({instance:e,onClose:t}){return(0,Q.jsx)(Pt,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Q.jsxs)(Ft,{className:`oc-bridge-config-dialog`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Q.jsxs)(Lt,{children:[(0,Q.jsx)(It,{children:ce({instance:e.displayName??e.name})}),(0,Q.jsx)(zt,{children:He()})]}),(0,Q.jsx)(Tn,{instance:e,onClose:t})]})})}function wn({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)(Tt,{"aria-hidden":!0}):(0,Q.jsx)(M,{"aria-hidden":!0}),(0,Q.jsxs)(`span`,{children:[e,` — `,t.ok?s():t.detail]})]}):(0,Q.jsxs)(`p`,{className:`oc-bridge-config__check-row oc-bridge-config__check-row--skip`,children:[e,` — `,pt()]}):null}function Tn({instance:e,onClose:t}){let n=ie(C.admin.upsertInstanceConfig),r=h(C.bridge.validateMediaPaths),i=Dt(),a=Ht(e.config?.contentLocale,void 0),[o,s]=(0,G.useState)(()=>gt(e.config??{},a)),[c,u]=(0,G.useState)(!1),[d,p]=(0,G.useState)(!1),[g,_]=(0,G.useState)(null),v=o.inboundMediaMode===`shared-fs`,y=o.mediaMode===`shared-fs`,b=v||y;async function oe(){p(!0),_(null);try{_(await r({instanceName:e.name,inboundMediaMode:o.inboundMediaMode,mediaMode:o.mediaMode}))}catch(e){i.error(Te(),e)}finally{p(!1)}}async function se(){u(!0);try{let r=e.config??{};await n({instanceId:e._id,config:vt(o,r,a)}),t()}catch(e){i.error(ct(),e)}finally{u(!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)(T,{label:Ge(),help:l()}),(0,Q.jsxs)(E,{value:o.mediaMode,onValueChange:e=>s({...o,mediaMode:e}),children:[(0,Q.jsx)(D,{size:`sm`,className:`w-full`,children:(0,Q.jsx)(F,{})}),(0,Q.jsx)(P,{children:yt.map(e=>(0,Q.jsx)(I,{value:e,children:e},e))})]})]}),(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(T,{label:fe(),help:ve()}),(0,Q.jsxs)(E,{value:o.inboundMediaMode,onValueChange:e=>s({...o,inboundMediaMode:e}),children:[(0,Q.jsx)(D,{size:`sm`,className:`w-full`,children:(0,Q.jsx)(F,{})}),(0,Q.jsx)(P,{children:_t.map(e=>(0,Q.jsx)(I,{value:e,children:e},e))})]})]}),(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(T,{label:f(),help:dt()}),(0,Q.jsx)(A,{type:`number`,min:1,max:4096,className:`w-full`,value:o.mediaMaxMb,onChange:e=>s({...o,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)(T,{label:Ee(),help:De()}),(0,Q.jsx)(A,{className:`w-full`,spellCheck:!1,value:o.inboundAgentMount,onChange:e=>s({...o,inboundAgentMount:e.target.value})})]}),y&&(0,Q.jsxs)(`label`,{className:`oc-field`,children:[(0,Q.jsx)(T,{label:ne(),help:Ze()}),(0,Q.jsx)(A,{className:`w-full`,spellCheck:!1,value:o.outboundAgentMount,onChange:e=>s({...o,outboundAgentMount:e.target.value})})]})]}),(0,Q.jsxs)(`label`,{className:`oc-field--row`,children:[(0,Q.jsx)(At,{checked:o.rehydration,onCheckedChange:e=>s({...o,rehydration:e===!0})}),(0,Q.jsx)(T,{label:m(),help:ot()})]}),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)(M,{"aria-hidden":!0}),ae({reason:g.reason??`?`})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(wn,{label:te(),result:g.inbound}),(0,Q.jsx)(wn,{label:we(),result:g.outbound}),(0,Q.jsx)(`p`,{className:`oc-admin__hint`,children:Se()})]}):(0,Q.jsxs)(`p`,{className:`oc-bridge-config__check-row oc-bridge-config__check-row--err`,children:[(0,Q.jsx)(M,{"aria-hidden":!0}),ge()]})}),(0,Q.jsxs)(`div`,{className:`oc-bridge-config__actions`,children:[b&&(0,Q.jsxs)(wt,{variant:`outline`,size:`sm`,onClick:()=>void oe(),disabled:d,children:[d?(0,Q.jsx)(Nt,{className:`size-4 animate-spin`,"aria-hidden":!0}):null,d?ee():re()]}),(0,Q.jsx)(wt,{size:`sm`,onClick:()=>void se(),disabled:c,children:xe()})]})]})})}function En({versions:e}){if(e.length===0)return null;let t=[...e].reverse();return(0,Q.jsxs)(Mt,{children:[(0,Q.jsx)(Et,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,className:`oc-compat__versions-btn`,children:[e.length===1?oe():Be({count:e.length}),(0,Q.jsx)(w,{size:13,"aria-hidden":!0})]})}),(0,Q.jsxs)(Vt,{className:`oc-compat__versions-pop`,align:`start`,children:[(0,Q.jsx)(`p`,{className:`oc-compat__versions-title`,children:i()}),(0,Q.jsx)(`div`,{className:`oc-compat__versions-list`,children:t.map(e=>(0,Q.jsx)(N,{variant:`secondary`,children:e},e))})]})]})}export{vn as BridgeTab,Cn as InstanceConfigDialog};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{Ay as r,Eu as i,FL as a,Gl as o,Hl as s,Jl as c,Kl as l,LL as u,RL as d,Ul as f,Wl as p,Xl as m,Yl as h,_o as g,bo as _,cd as v,do as y,fo as b,go as x,ho as S,id as C,kL as w,lr as T,mo as E,po as D,ql as O,rd as k,t as A,ud as j,vo as M,yo as N}from"./api-BgcjjJQV.js";import{t as P}from"./button-B1AigA0Z.js";import{M as F,N as I,P as L,V as R,_t as z,bt as B,jt as V,rn as H,vt as U,xt as W,yt as G}from"./index-yfG0YL8X.js";import{i as K}from"./compatView--XqHdeNt.js";/* empty css */var q=t(e(),1),J=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function Y(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 X=n();function Z({instance:e}){let t=u(A.admin.upsertInstanceConfig),n=d(A.agents.listAgentsForInstance,{instanceName:e.name}),r=typeof e.config?.converterAgentId==`string`?e.config.converterAgentId:``,[i,a]=(0,q.useState)(r),[o,c]=(0,q.useState)(`idle`);(0,q.useEffect)(()=>{a(r),c(`idle`)},[e._id,r]);let l=`__none__`,m=i!==r;async function h(){c(`saving`);try{let n={...e.config??{}};i===``||i===l?delete n.converterAgentId:n.converterAgentId=i,await t({instanceId:e._id,config:n}),c(`done`)}catch{c(`error`)}}let _=n?.agents??[];return(0,X.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,X.jsx)(`span`,{className:`oc-cdefaults__label`,children:g()}),(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:x()}),(0,X.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,X.jsxs)(z,{value:i===``?l:i,onValueChange:e=>a(e===l?``:e),children:[(0,X.jsx)(B,{className:`oc-cdefaults__select`,"aria-label":g(),children:(0,X.jsx)(W,{placeholder:S()})}),(0,X.jsxs)(U,{children:[(0,X.jsx)(G,{value:l,children:S()}),_.map(e=>(0,X.jsx)(G,{value:e.agentId,children:e.displayName?`${e.displayName} (${e.agentId})`:e.agentId},e.agentId))]})]}),(0,X.jsx)(P,{size:`sm`,disabled:!m||o===`saving`,onClick:()=>void h(),children:o===`saving`?j():p()})]}),o===`done`?(0,X.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:f()}):null,o===`error`?(0,X.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:s()}):null]})}function Q({instance:e}){let t=u(A.admin.upsertInstanceConfig),n=e.config?.curationEnabled===!0,r=typeof e.config?.curationBudgetChars==`number`?e.config.curationBudgetChars:null,[i,a]=(0,q.useState)(n),[o,c]=(0,q.useState)(r===null?``:String(r)),[l,d]=(0,q.useState)(`idle`);(0,q.useEffect)(()=>{a(n),c(r===null?``:String(r)),d(`idle`)},[e._id,n,r]);let m=o.trim(),h=m===``?null:/^\d+$/.test(m)?Number.parseInt(m,10):NaN,g=!i||h===null||Number.isInteger(h)&&h>=4e3&&h<=6e4,_=i!==n||(h??null)!==r;async function v(){d(`saving`);try{let n={...e.config??{}};n.curationEnabled=i,!i||h===null||Number.isNaN(h)?delete n.curationBudgetChars:n.curationBudgetChars=h,await t({instanceId:e._id,config:n}),d(`done`)}catch{d(`error`)}}return(0,X.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,X.jsxs)(`label`,{className:`oc-cdefaults__inline`,style:{cursor:`pointer`},children:[(0,X.jsx)(L,{checked:i,onCheckedChange:e=>a(e===!0),"aria-label":M()}),(0,X.jsx)(`span`,{className:`oc-cdefaults__label`,children:M()})]}),(0,X.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,X.jsx)(V,{type:`number`,min:4e3,max:6e4,step:1e3,placeholder:`20000`,value:o,onChange:e=>c(e.target.value),className:`oc-cdefaults__number`,"aria-invalid":!g,"aria-label":E(),disabled:!i}),(0,X.jsx)(P,{size:`sm`,disabled:!_||!g||l===`saving`,onClick:()=>void v(),children:l===`saving`?j():p()})]}),g?null:(0,X.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:D()}),l===`done`?(0,X.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:f()}):null,l===`error`?(0,X.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:s()}):null,(0,X.jsx)(`p`,{className:`oc-cdefaults__help`,children:b()})]})}function $({instance:e}){let t=u(A.admin.upsertInstanceConfig),n=typeof e.config?.summarizeThresholdChars==`number`?e.config.summarizeThresholdChars:null,[r,i]=(0,q.useState)(n===null?``:String(n)),[a,o]=(0,q.useState)(`idle`);(0,q.useEffect)(()=>{i(n===null?``:String(n)),o(`idle`)},[e._id,n]);let c=r.trim(),l=c===``?null:/^\d+$/.test(c)?Number.parseInt(c,10):NaN,d=l===null||Number.isInteger(l)&&l>=1e3&&l<=2e5,m=(l??null)!==n;async function h(){o(`saving`);try{let n={...e.config??{}};l===null?delete n.summarizeThresholdChars:n.summarizeThresholdChars=l,await t({instanceId:e._id,config:n}),o(`done`)}catch{o(`error`)}}return(0,X.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,X.jsx)(`span`,{className:`oc-cdefaults__label`,children:_()}),(0,X.jsxs)(`div`,{className:`oc-cdefaults__inline`,children:[(0,X.jsx)(V,{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,X.jsx)(P,{size:`sm`,disabled:!m||!d||a===`saving`,onClick:()=>void h(),children:a===`saving`?j():p()})]}),d?null:(0,X.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:y()}),a===`done`?(0,X.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:f()}):null,a===`error`?(0,X.jsx)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:s()}):null,(0,X.jsx)(`p`,{className:`oc-cdefaults__help`,children:N()})]})}function ee(){let e=a(A.agentFiles.getChatDefaults),[t,n]=(0,q.useState)({status:`loading`}),s=d(A.admin.listInstances,{}),[u,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{!s||s.length===0||(!u||!s.some(e=>e.name===u))&&f(s[0].name)},[s,u]);let p=(s?.length??0)>1,g=s!==void 0&&s.length===0,_=d(A.compat.forInstance,u?{instanceName:u}:`skip`),y=u?R(_,`configDefaults`):`loading`,b=y===`loading`?null:y.blocked,x=(0,q.useMemo)(()=>p&&u?{instanceName:u}:{},[p,u]),S=(0,q.useRef)(0),E=(0,q.useCallback)(async()=>{let t=++S.current;n({status:`loading`});try{let r=Y(await e(x));if(S.current!==t)return;n({status:`done`,current:r})}catch{if(S.current!==t)return;n({status:`error`})}},[e,x]);(0,q.useEffect)(()=>{b===!1&&(p&&!u||E())},[E,b,p,u]);let D=t.status===`done`?t.current:null,j=(0,q.useMemo)(()=>J.map(e=>({id:e,label:I(e)})),[]),M=(0,q.useMemo)(()=>[{id:`fast`,label:C()},{id:`standard`,label:k()}],[]);return(0,X.jsxs)(`div`,{className:`oc-cdefaults`,children:[(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:m()}),p&&u?(0,X.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,X.jsx)(`span`,{className:`oc-cdefaults__label`,children:i()}),(0,X.jsxs)(z,{value:u,onValueChange:e=>f(e),children:[(0,X.jsx)(B,{size:`sm`,"aria-label":i(),children:(0,X.jsx)(W,{})}),(0,X.jsx)(U,{children:(s??[]).map(e=>(0,X.jsx)(G,{value:e.name,children:e.name},e.name))})]})]}):null,g?(0,X.jsx)(`p`,{className:`oc-admin__hint`,role:`status`,children:r()}):y===`loading`?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:w()}):y.blocked?(0,X.jsxs)(`p`,{className:`oc-compat__blocked`,role:`status`,children:[(0,X.jsx)(H,{size:14,"aria-hidden":!0}),` `,K(y.gatewayVersion,y.provider)]}):t.status===`loading`?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:w()}):t.status===`error`?(0,X.jsxs)(`p`,{className:`oc-cdefaults__error`,role:`alert`,children:[o(),` `,(0,X.jsx)(P,{variant:`outline`,size:`sm`,onClick:()=>void E(),children:v()})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,X.jsx)(`span`,{className:`oc-cdefaults__label`,children:h()}),(0,X.jsx)(F,{options:j,value:D?.thinkingDefault??null,onChange:()=>{},disabled:!0}),(0,X.jsx)(`p`,{className:`oc-cdefaults__help`,children:c()})]}),(0,X.jsxs)(`div`,{className:`oc-cdefaults__row`,children:[(0,X.jsx)(`span`,{className:`oc-cdefaults__label`,children:O()}),(0,X.jsx)(F,{options:M,value:D===null||D.fastModeDefault===null?null:D.fastModeDefault?`fast`:`standard`,onChange:()=>{},disabled:!0}),(0,X.jsx)(`p`,{className:`oc-cdefaults__help`,children:l()})]}),(0,X.jsx)(`p`,{className:`oc-cdefaults__note`,children:T()})]}),(()=>{let e=s?.find(e=>e.name===(u??s[0]?.name));return e?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($,{instance:e}),(0,X.jsx)(Q,{instance:e}),(0,X.jsx)(Z,{instance:e})]}):null})()]})}export{ee as ChatDefaultsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$T as r,AE as i,Aa as a,BE as o,CE as s,DE as c,EE as l,FE as u,GE as d,HE as f,IE as p,JE as m,JT as h,KE as g,KT as _,LE as ee,LL as v,ME as te,Ma as ne,NE as re,OE as y,PE as ie,QT as ae,RE as b,RL as x,SE as S,TE as C,UE as w,VE as T,WE as E,XT as D,YT as O,ZT as k,_E as A,aE as j,bE as M,cE as N,dE as P,eE as F,fE as I,gE as L,hE as R,iE as z,jE as B,kE as V,lE as H,mE as U,nE as oe,oE as W,pE as G,qE as K,qT as q,rE as se,sE as ce,t as J,tE as le,uE as ue,vE as de,wE as fe,xE as pe,yE as me,zE as he}from"./api-BgcjjJQV.js";import{t as ge}from"./button-B1AigA0Z.js";import{Z as _e,ct as Y}from"./index-yfG0YL8X.js";import{t as ve}from"./DataTableShell-DEnRs2mH.js";var X=t(e(),1),Z=n(),ye={altered_words:()=>m(),incorrect:()=>K(),incoherence:()=>g(),formatting:()=>d(),latency:()=>E(),api_error:()=>w(),other:()=>f()},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:o()}):e===!1?(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-warn`,children:he()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill`,children:`—`}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill`,children:T()})}function be({data:e,reference:t,closeReason:n}){let r=e.snapshot,a=v(J.feedback.respondToFeedback),[o,d]=(0,X.useState)(e.thread),[f,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(!1);async function _(){let t=f.trim();if(!(!t||h)){g(!0);try{await a({feedbackId:e._id,text:t}),d(e=>[...e,{authorRole:`admin`,text:t,at:Date.now()}]),m(``)}finally{g(!1)}}}let x=[];try{x=r.contextJson?JSON.parse(r.contextJson):[]}catch{x=[]}return(0,Z.jsxs)(`div`,{className:`oc-fbadmin__detail`,children:[(0,Z.jsxs)(`div`,{className:`oc-fbadmin__row`,children:[(0,Z.jsx)($,{matches:r.displayedMatchesStored,sourceWasOpen:r.clientInfo?.sourceWasOpen??!1}),(0,Z.jsxs)(`span`,{className:`oc-fbadmin__meta`,children:[Q(e.category),` · `,r.messageRole,r.isRegeneration?` · ${b()}`:``,r.openclawModel?` · ${r.openclawModel}`:``,r.openclawRuntime?` (${r.openclawRuntime})`:``]}),t?(0,Z.jsx)(`code`,{className:`oc-fbadmin__ref`,style:{userSelect:`all`,marginLeft:`auto`},title:I(),children:t}):null]}),e.comment?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:ee()}),(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:ae()}),(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:p()}),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`?u():e.authorRole===`agent`?e.authorLabel??ne():ie()}),(0,Z.jsx)(`span`,{className:`oc-notif__msg-text`,children:e.text})]},t))}):(0,Z.jsx)(`p`,{className:`oc-fbadmin__meta`,children:re()}),(0,Z.jsx)(`textarea`,{className:`oc-feedback__textarea`,placeholder:te(),value:f,maxLength:2e3,rows:3,onChange:e=>m(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:!f.trim()||h,children:h?B():i()})})]}),(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:V()}),(0,Z.jsx)(`pre`,{className:`oc-msg__source-pre`,children:r.messageText||y()})]}),r.clientInfo?.sourceWasOpen&&r.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:r.displayedText||y()})]}):null,r.promptText?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:l()}),(0,Z.jsx)(`pre`,{className:`oc-msg__source-pre`,children:r.promptText})]}):null,x.length>0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:C({count:r.contextCount??x.length,truncated:r.contextTruncated?fe():``})}),(0,Z.jsx)(`div`,{className:`oc-fbadmin__ctx`,children:x.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,r.outboxAvailable?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:s()}),(0,Z.jsxs)(`pre`,{className:`oc-msg__source-pre`,children:[r.outboxText??``,r.outboxStatus?`\n[status: ${r.outboxStatus}]`:``]})]}):null,r.clientInfo?.extensionsDetected&&r.clientInfo.extensionsDetected.length>0?(0,Z.jsxs)(`section`,{children:[(0,Z.jsx)(`h4`,{className:`oc-fbadmin__h`,children:S()}),(0,Z.jsx)(`div`,{className:`oc-fbadmin__row`,children:r.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:pe()}),(0,Z.jsxs)(`p`,{className:`oc-fbadmin__env`,children:[[r.clientInfo?.language,r.clientInfo?.timezone,r.clientInfo?.theme?M({theme:r.clientInfo.theme}):null,r.runId?`run ${r.runId.slice(0,12)}…`:null].filter(Boolean).join(` · `)||`—`,r.clientInfo?.plugins&&r.clientInfo.plugins.length>0?(0,Z.jsxs)(`span`,{className:`oc-fbadmin__plugins`,children:[me(),` `,r.clientInfo.plugins.join(`, `),(0,Z.jsxs)(`span`,{className:`oc-fbadmin__note`,children:[` `,de()]})]}):null,r.clientInfo?.userAgent?(0,Z.jsx)(`span`,{className:`oc-fbadmin__ua`,children:r.clientInfo.userAgent}):null]})]})]})}function xe(){let e=x(J.feedback.listForAdmin,{}),t=v(J.feedback.readSnapshot),n=v(J.feedback.deleteFeedback),i=_e(),[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)({});async function u(e){if(o===e._id){s(null);return}if(!c[e._id]){let n=await t({feedbackId:e._id});l(t=>({...t,[e._id]:n}))}s(e._id)}async function d(e){await i({title:h(),description:q(),confirmLabel:_(),destructive:!0})&&(await n({feedbackId:e._id}),o===e._id&&s(null))}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{className:`oc-admin__hint`,children:[A(),` `,(0,Z.jsx)(`strong`,{children:L()}),` `,R()]}),(0,Z.jsx)(ve,{title:U(),rows:e,emptyHint:G(),isExpanded:e=>o===e._id&&!!c[e._id],renderExpanded:e=>c[e._id]?(0,Z.jsx)(be,{data:c[e._id],reference:e.reference,closeReason:e.userCloseReason}):null,columns:[{header:P(),cell:e=>Y(e.at),sort:e=>e.at},{header:ue(),cell:e=>Q(e.category),sort:e=>Q(e.category)},{header:H(),cell:e=>e.messageRole===`user`?N():ce(),sort:e=>e.messageRole},{header:W(),cell:e=>(e.reporterEmail||e.reporterName||`—`)+(e.impersonated&&e.realOperatorEmail?` ${j({operator:e.realOperatorEmail})}`:``),sort:e=>e.reporterEmail||e.reporterName||null},{header:z(),cell:e=>(0,Z.jsx)($,{matches:e.displayedMatchesStored,sourceWasOpen:e.sourceWasOpen}),sort:e=>e.displayedMatchesStored===!1?0:e.displayedMatchesStored===!0?1:2},{header:se(),cell:e=>e.hasComment?`✎`:`—`,sort:e=>+!!e.hasComment},{header:oe(),cell:e=>e.userClosedAt==null?e.resolvedAt==null?e.answered?(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-ok`,children:le()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill`,children:F()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-ok`,title:e.resolvedBy??void 0,children:a()}):(0,Z.jsx)(`span`,{className:`oc-fbadmin__pill is-closed`,children:r()}),sort:e=>e.userClosedAt==null?e.resolvedAt==null?+!!e.answered:2:3}],rowActions:e=>[{label:o===e._id?k():D(),onSelect:()=>void u(e)},{label:O(),onSelect:()=>void d(e),variant:`destructive`}]})]})}export{xe as FeedbacksTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{AI as r,BI as i,CI as a,DI as o,EI as s,FI as c,Fa as ee,GI as te,HI as ne,II as l,Ia as u,JI as d,Jk as f,KI as p,LI as m,LL as re,MI as ie,NI as h,OI as ae,PI as g,RI as _,RL as oe,SI as se,TI as ce,UI as le,VI as ue,WI as de,XI as fe,YI as pe,_I as me,bI as he,gI as ge,hI as _e,jI as ve,jL as ye,kI as be,kL as xe,qI as v,t as y,vI as b,wI as x,xI as S,yI as C,zI as w}from"./api-BgcjjJQV.js";import{t as T}from"./button-B1AigA0Z.js";import{$ as E,Dn as D,Dt as O,En as k,Lt as A,Mt as j,Nt as M,P as Se,Pt as N,_t as P,at as Ce,bt as F,cn as we,et as Te,in as Ee,it as De,nt as Oe,ot as ke,rt as Ae,tt as je,ut as I,vt as L,xt as R,yt as z}from"./index-yfG0YL8X.js";import{a as Me,i as B,n as Ne,o as V,r as H,t as Pe}from"./table-BOtUmV9W.js";var U=t(e(),1),W=n(),G=`all`;function K(e){switch(e){case`image`:return w();case`audio`:return _();case`video`:return m();case`pdf`:return l();case`document`:return c();case`archive`:return g();default:return h()}}function q(){let[e,t]=(0,U.useState)(G),[n,c]=(0,U.useState)(G),[l,m]=(0,U.useState)(G),[h,g]=(0,U.useState)(G),[_,w]=(0,U.useState)(!1),[q,J]=(0,U.useState)(null),Fe=re(y.files.softDelete),Y=O();function Ie(){t(G),c(G),m(G),g(G)}async function Le(){let e=q;if(J(null),e)try{await Fe({fileId:e.id}),Y.success(se())}catch(e){Y.error(S(),e)}}let X=oe(y.files.listMine,{direction:e===G?void 0:e,chatId:n===G?void 0:n,instanceName:l===G?void 0:l,category:h===G?void 0:h,includeAutoGenerated:_||void 0}),Re=(0,U.useMemo)(()=>new Intl.DateTimeFormat(ye(),{dateStyle:`medium`,timeStyle:`short`}),[]);if(X===void 0)return(0,W.jsx)(`p`,{className:`oc-admin__hint`,children:xe()});let{files:Z,facets:Q,truncated:ze,cap:Be}=X,$=e!==G||n!==G||l!==G||h!==G;return(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(`p`,{className:`oc-admin__hint`,children:fe()}),(0,W.jsxs)(`div`,{className:`oc-files__filters`,style:{display:`flex`,flexWrap:`wrap`,gap:8,margin:`12px 0`},children:[(0,W.jsxs)(P,{value:e,onValueChange:t,children:[(0,W.jsx)(F,{size:`sm`,"aria-label":pe(),children:(0,W.jsx)(R,{})}),(0,W.jsxs)(L,{children:[(0,W.jsx)(z,{value:G,children:d()}),(0,W.jsx)(z,{value:`inbound`,children:v()}),(0,W.jsx)(z,{value:`outbound`,children:p()})]})]}),(0,W.jsxs)(P,{value:n,onValueChange:c,children:[(0,W.jsx)(F,{size:`sm`,"aria-label":te(),children:(0,W.jsx)(R,{})}),(0,W.jsxs)(L,{children:[(0,W.jsx)(z,{value:G,children:de()}),Q.chats.map(e=>(0,W.jsx)(z,{value:e.id,children:e.title},e.id))]})]}),Q.multiProvider?(0,W.jsxs)(P,{value:l,onValueChange:m,children:[(0,W.jsx)(F,{size:`sm`,"aria-label":le(),children:(0,W.jsx)(R,{})}),(0,W.jsxs)(L,{children:[(0,W.jsx)(z,{value:G,children:ne()}),Q.instances.map(e=>(0,W.jsx)(z,{value:e,children:e},e))]})]}):null,(0,W.jsxs)(P,{value:h,onValueChange:g,children:[(0,W.jsx)(F,{size:`sm`,"aria-label":ue(),children:(0,W.jsx)(R,{})}),(0,W.jsxs)(L,{children:[(0,W.jsx)(z,{value:G,children:i()}),Q.categories.map(e=>(0,W.jsx)(z,{value:e,children:K(e)},e))]})]}),(0,W.jsxs)(`label`,{className:`oc-files__autogen`,children:[(0,W.jsx)(Se,{checked:_,onCheckedChange:e=>w(e===!0),"aria-label":u()}),(0,W.jsx)(`span`,{children:u()})]}),$?(0,W.jsxs)(T,{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}),ce()]}):null]}),Z.length===0?(0,W.jsx)(`p`,{className:`oc-admin__hint`,children:$?ge():me()}):(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:ie()}),(0,W.jsx)(B,{children:ve()}),(0,W.jsx)(B,{children:r()}),(0,W.jsx)(B,{children:be()}),(0,W.jsx)(B,{children:ae()}),(0,W.jsx)(B,{className:`text-right`,children:o()})]})}),(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)(I,{variant:`outline`,style:{marginLeft:6},children:ee()}):null]}),(0,W.jsx)(H,{title:e.mimeType,children:K(e.category)}),(0,W.jsx)(H,{children:(0,W.jsx)(I,{variant:`secondary`,children:e.direction===`inbound`?v():p()})}),(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)(j,{children:[(0,W.jsx)(A,{asChild:!0,children:(0,W.jsx)(T,{variant:`ghost`,size:`icon`,"aria-label":x(),children:(0,W.jsx)(k,{size:16})})}),(0,W.jsxs)(M,{align:`end`,children:[e.url?(0,W.jsx)(N,{asChild:!0,children:(0,W.jsxs)(`a`,{href:e.url,download:e.filename,target:`_blank`,rel:`noopener noreferrer`,children:[(0,W.jsx)(D,{size:14}),s()]})}):(0,W.jsxs)(N,{disabled:!0,children:[(0,W.jsx)(D,{size:14}),b()]}),(0,W.jsxs)(N,{variant:`destructive`,onSelect:()=>J({id:e._id,filename:e.filename}),children:[(0,W.jsx)(Ee,{size:14}),a()]})]})]})})]},e._id))})]}),ze?(0,W.jsx)(`p`,{className:`oc-admin__hint`,style:{marginTop:8},children:_e({cap:Be})}):null]}),(0,W.jsx)(E,{open:q!==null,onOpenChange:e=>!e&&J(null),children:(0,W.jsxs)(Oe,{children:[(0,W.jsxs)(Ce,{children:[(0,W.jsx)(ke,{children:he()}),(0,W.jsx)(Ae,{children:C()})]}),(0,W.jsxs)(De,{children:[(0,W.jsx)(je,{children:f()}),(0,W.jsx)(Te,{onClick:()=>void Le(),children:a()})]})]})})]})}export{q as FilesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$C as r,$w as i,AC as a,Aw as o,BA as s,BC as c,Bw as l,Cw as u,Dw as d,Ew as f,FC as p,FL as m,Fo as h,Fw as g,GC as _,Gw as v,HC as y,Hw as b,IC as x,Io as S,Iw as ee,JC as C,Jw as te,KC as w,Kw as T,LC as E,LL as D,Lo as O,Lw as ne,MC as re,Mw as ie,NC as ae,Nw as oe,Ow as se,PC as ce,Pw as le,Qw as ue,RC as de,RL as k,Ro as fe,Rw as pe,Sw as me,Tw as he,UC as ge,Uw as _e,VA as ve,VC as ye,Vw as be,WC as xe,Ww as Se,XC as Ce,Xw as we,YC as Te,Yw as Ee,ZC as De,Zw as Oe,_T as ke,_w as Ae,aT as je,aw as Me,bw as Ne,by as Pe,cT as Fe,cw as Ie,dT as Le,dw as Re,eT as ze,ew as Be,fT as Ve,fr as He,fw as Ue,gT as We,gw as Ge,hT as Ke,hw as qe,iT as A,iw as j,jC as Je,jw as Ye,kC as Xe,kw as Ze,lT as Qe,lw as $e,mT as et,mr as tt,mw as nt,nT as rt,nw as M,oT as it,ow as at,pT as ot,pr as st,pw as ct,qC as lt,qw as ut,rT as dt,rw as ft,sT as pt,sw as mt,t as N,tT as ht,tw as gt,uT as _t,uw as vt,vT as yt,vw as bt,ww as P,xw as xt,xy as St,yw as Ct,zC as wt,zw as Tt}from"./api-BgcjjJQV.js";import{a as Et,c as Dt}from"./FieldLabel-101rCL07.js";import{t as F}from"./button-B1AigA0Z.js";import{Bt as Ot,Dt as I,P as L,Rt as kt,Z as At,_ as jt,_t as R,bt as z,dt as B,ft as V,gt as H,ht as U,jt as W,pt as Mt,ut as G,vt as K,xt as q,yt as J,zt as Nt}from"./index-yfG0YL8X.js";import{t as Pt}from"./DataTableShell-DEnRs2mH.js";import{InstanceConfigDialog as Ft}from"./BridgeTab-BEQaiAi7.js";var Y=t(e(),1),X=[`conversational`,`documentary`,`summarizer`,`curator`],It=new Set(X),Lt=`conversational`;function Rt(e){let t=new Set((e??[]).filter(e=>It.has(e)));return t.size===0?[Lt]:X.filter(e=>t.has(e))}var Z=n(),Q={name:``,gatewayUrl:``,bridgeUrl:``,displayName:``,kind:`openclaw`,transport:`ws`,gatewayVersion:``,gatewayHttpUrl:``,streamTransport:Et},zt={openclaw:[`token`,`deviceIdentity`],hermes:[`apiKey`]};function Bt(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??``,streamTransport:e.streamTransport??`reactive`}}function Vt(){let e=k(N.admin.listInstances,{}),t=k(N.agents.listAllInstanceAgents,{}),n=D(N.admin.upsertInstance),r=D(N.admin.deleteInstance),o=I(),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(Q),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(null),[_,y]=(0,Y.useState)(null);async function x(){try{await n({instanceId:_??void 0,name:l.name,gatewayUrl:l.gatewayUrl,bridgeUrl:l.bridgeUrl||void 0,displayName:l.displayName||void 0,kind:l.kind,transport:l.kind===`hermes`?l.transport:void 0,gatewayVersion:l.gatewayVersion||void 0,gatewayHttpUrl:l.gatewayHttpUrl||void 0,streamTransport:l.streamTransport}),u(Q),y(null),c(!1)}catch(e){o.error(We(),e)}}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{className:`oc-admin__hint`,children:[Ke(),(0,Z.jsx)(`strong`,{children:et()}),ot()]}),(0,Z.jsx)(Pt,{title:Ve(),rows:e,addLabel:Le(),onAdd:()=>{y(null),u(Q),c(!0)},emptyHint:_t(),columns:[{header:Qe(),cell:e=>e.name,sort:e=>e.name},{header:Fe(),cell:e=>(0,Z.jsx)(G,{variant:`outline`,children:e.kind??`openclaw`}),sort:e=>e.kind??`openclaw`},{header:pt(),cell:e=>e.gatewayUrl,sort:e=>e.gatewayUrl},{header:it(),cell:e=>e.displayName??`—`,sort:e=>e.displayName??null},{header:yt(),cell:e=>{let n=(t?.[e.name]??[]).filter(e=>e.presentInLastOk!==!1&&e.enabled);if(n.length===0)return(0,Z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`});let r=t=>e.defaultAgentId===t;return(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:[...n].sort((e,t)=>Number(r(t.agentId))-Number(r(e.agentId))).map(e=>(0,Z.jsxs)(G,{variant:r(e.agentId)?`default`:`outline`,title:r(e.agentId)?a():void 0,children:[e.emoji?`${e.emoji} `:``,e.displayName??e.agentId]},e.agentId))})}}],rowActions:e=>[{label:rt(),onSelect:()=>{y(e._id),u(Bt(e)),c(!0)}},{label:ke(),onSelect:()=>f(e.name)},{label:be(),onSelect:()=>g(e)},{label:je(),onSelect:()=>m(e)},{label:A(),variant:`destructive`,onSelect:()=>void r({instanceId:e._id})}],bulkActions:[{label:A(),variant:`destructive`,onSelect:e=>e.forEach(e=>void r({instanceId:e}))}]}),(0,Z.jsx)(jt,{open:s,onOpenChange:c,title:_?ht():dt(),description:i(),canSubmit:!!(l.name&&l.gatewayUrl),onSubmit:x,submitLabel:ue(),children:(0,Z.jsxs)(`div`,{className:`oc-form`,children:[(0,Z.jsxs)($,{label:Oe(),children:[(0,Z.jsx)(W,{value:l.name,disabled:_!==null,onChange:e=>u({...l,name:e.target.value})}),_?(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:ze()}):null]}),(0,Z.jsx)($,{label:we(),children:(0,Z.jsxs)(R,{value:l.kind,onValueChange:e=>u({...l,kind:e}),children:[(0,Z.jsx)(z,{size:`sm`,className:`w-40`,children:(0,Z.jsx)(q,{})}),(0,Z.jsxs)(K,{children:[(0,Z.jsx)(J,{value:`openclaw`,children:`OpenClaw`}),(0,Z.jsx)(J,{value:`hermes`,children:`Hermes`})]})]})}),l.kind===`hermes`?(0,Z.jsx)($,{label:tt(),children:(0,Z.jsxs)(R,{value:l.transport,onValueChange:e=>u({...l,transport:e}),children:[(0,Z.jsx)(z,{size:`sm`,className:`w-56`,children:(0,Z.jsx)(q,{})}),(0,Z.jsxs)(K,{children:[(0,Z.jsx)(J,{value:`ws`,children:st()}),(0,Z.jsx)(J,{value:`rest`,children:He()})]})]})}):null,(0,Z.jsx)($,{label:Ee(),children:(0,Z.jsx)(W,{value:l.gatewayUrl,onChange:e=>u({...l,gatewayUrl:e.target.value})})}),(0,Z.jsx)($,{label:te(),children:(0,Z.jsx)(W,{value:l.bridgeUrl,placeholder:ut(),onChange:e=>u({...l,bridgeUrl:e.target.value})})}),(0,Z.jsx)($,{label:T(),children:(0,Z.jsx)(W,{value:l.displayName,onChange:e=>u({...l,displayName:e.target.value})})}),(0,Z.jsxs)($,{label:St(),children:[(0,Z.jsxs)(R,{value:l.streamTransport,onValueChange:e=>u({...l,streamTransport:e}),children:[(0,Z.jsx)(z,{size:`sm`,className:`w-40`,children:(0,Z.jsx)(q,{})}),(0,Z.jsx)(K,{children:Dt.map(e=>(0,Z.jsx)(J,{value:e,children:e},e))})]}),(0,Z.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:Pe()})]}),(0,Z.jsx)($,{label:v(),children:(0,Z.jsx)(W,{value:l.gatewayVersion,placeholder:Se(),onChange:e=>u({...l,gatewayVersion:e.target.value})})}),(0,Z.jsx)($,{label:_e(),children:(0,Z.jsx)(W,{value:l.gatewayHttpUrl,placeholder:b(),onChange:e=>u({...l,gatewayHttpUrl:e.target.value})})})]})}),(0,Z.jsx)(Zt,{instanceName:d,open:d!==null,onOpenChange:e=>{e||f(null)}}),p?(0,Z.jsx)(Ft,{instance:p,onClose:()=>m(null)},p._id):null,h?(0,Z.jsx)(Ht,{instance:h,onClose:()=>g(null)},h._id):null]})}function Ht({instance:e,onClose:t}){let n=k(N.instanceSecrets.listInstanceSecretStatus,{}),r=zt[e.kind??`openclaw`],i=(0,Y.useMemo)(()=>{let t={};for(let r of n??[])r.instanceId===e._id&&(t[r.field]=r.updatedAt);return t},[n,e._id]);return(0,Z.jsx)(B,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(V,{onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Z.jsxs)(U,{children:[(0,Z.jsx)(H,{children:l({instance:e.displayName??e.name})}),(0,Z.jsx)(Mt,{children:Tt()})]}),(0,Z.jsx)(`div`,{className:`oc-form`,children:r.map(t=>(0,Z.jsx)(Gt,{instanceId:e._id,field:t,updatedAt:i[t]??null},t))}),(0,Z.jsx)(`div`,{className:`oc-bridgesecret`,children:(0,Z.jsx)(Wt,{instance:e})}),(0,Z.jsx)(Ut,{instance:e})]})})}function Ut({instance:e}){let t=m(N.instanceSync.forceInstanceSync),n=I(),[r,i]=(0,Y.useState)(!1);async function a(){if(!r){i(!0);try{switch((await t({instanceId:e._id})).status){case`synced`:n.success(Ct());break;case`no_agents`:n.success(Ae());break;case`no_bridge_url`:n.error(Ge());break;case`deploy_misconfigured`:n.error(qe());break;case`unauthorized`:n.error(ct());break;case`not_served`:n.error(Ue());break;default:n.error(nt());break}}catch(e){n.error(bt(),e)}finally{i(!1)}}}return(0,Z.jsxs)(`div`,{className:`oc-form`,children:[(0,Z.jsx)(`p`,{className:`oc-admin__hint`,children:Re()}),(0,Z.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,Z.jsx)(F,{size:`sm`,variant:`outline`,onClick:()=>void a(),disabled:r,children:r?Ne():xt()})})]})}function Wt({instance:e}){let t=k(N.bridgeAuth.listBridgeAuthStatus,{}),n=m(N.bridgeAuth.mintBridgeSecret),r=D(N.bridgeAuth.revokeBridgeSecret),i=I(),[a,o]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!1),f=(t??[]).find(t=>t.instanceId===e._id),p=f!==void 0;async function h(){if(!a){o(!0);try{l((await n({instanceId:e._id})).plaintext),d(!1)}catch(e){i.error(j(),e)}finally{o(!1)}}}async function _(){if(!a){o(!0);try{await r({instanceId:e._id}),l(null),i.success(Me())}catch(e){i.error(j(),e)}finally{o(!1)}}}async function v(){if(c)try{await navigator.clipboard.writeText(c),d(!0)}catch{}}return(0,Z.jsxs)($,{label:vt(),children:[(0,Z.jsx)(`p`,{className:`oc-admin__hint`,children:$e()}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(G,{variant:p?`outline`:`secondary`,children:p?`${g()} · ${f.prefix}…${f.lastFour}`:le()}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(F,{size:`sm`,onClick:()=>void h(),disabled:a,children:p?mt():Ie()}),p?(0,Z.jsx)(F,{size:`sm`,variant:`destructive`,onClick:()=>void _(),disabled:a,children:at()}):null]})]}),c?(0,Z.jsxs)(`div`,{className:`oc-bridgesecret__reveal`,children:[(0,Z.jsx)(`p`,{className:`oc-sa__minted-warning`,children:ft()}),(0,Z.jsxs)(`div`,{className:`oc-sa__minted-box`,children:[(0,Z.jsx)(`code`,{className:`oc-sa__minted-plain`,children:c}),(0,Z.jsx)(F,{variant:`outline`,size:`sm`,onClick:()=>void v(),children:u?ve():s()})]}),(0,Z.jsx)(F,{size:`sm`,variant:`ghost`,onClick:()=>{l(null),d(!1)},children:M()})]}):null]})}function Gt({instanceId:e,field:t,updatedAt:n}){let r=m(N.instanceSecrets.setInstanceSecret),i=D(N.instanceSecrets.clearInstanceSecret),a=m(N.deviceIdentity.generateDeviceIdentity),c=I(),[l,p]=(0,Y.useState)(``),[h,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null),[b,x]=(0,Y.useState)(!1),S=n!==null,C=t===`deviceIdentity`,te=t===`token`?pe():t===`deviceIdentity`?ne():ee();async function w(){if(!(!l.trim()||h)){_(!0);try{await r({instanceId:e,field:t,plaintext:l}),p(``),y(null),x(!1),c.success(Ze())}catch(e){c.error(se(),e)}finally{_(!1)}}}async function T(){if(!h){_(!0);try{await i({instanceId:e,field:t}),y(null),x(!1),c.success(d())}catch(e){c.error(se(),e)}finally{_(!1)}}}async function E(){if(!h){_(!0);try{y(await a({instanceId:e})),x(!1),c.success(P())}catch(e){c.error(me(),e)}finally{_(!1)}}}let O=v?`openclaw devices approve ${v.id}`:``;async function re(){if(O)try{await navigator.clipboard.writeText(O),x(!0)}catch{}}return(0,Z.jsxs)($,{label:te,children:[C?(0,Z.jsx)(`p`,{className:`oc-admin__hint`,children:he()}):null,(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(G,{variant:S?`outline`:`secondary`,children:S?g():le()}),(0,Z.jsx)(W,{type:`password`,autoComplete:`off`,className:`flex-1 min-w-32`,value:l,placeholder:S?ie():oe(),onChange:e=>p(e.target.value)}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(F,{size:`sm`,onClick:()=>void w(),disabled:h||l.trim().length===0,children:Ye()}),C?(0,Z.jsx)(F,{size:`sm`,variant:`outline`,onClick:()=>void E(),disabled:h,children:f()}):null,S?(0,Z.jsx)(F,{size:`sm`,variant:`destructive`,onClick:()=>void T(),disabled:h,children:o()}):null]})]}),v?(0,Z.jsxs)(`div`,{className:`oc-bridgesecret__reveal`,children:[(0,Z.jsx)(`p`,{className:`text-sm font-medium`,children:P()}),(0,Z.jsx)(`p`,{className:`oc-admin__hint`,children:u()}),(0,Z.jsxs)(`div`,{className:`oc-sa__minted-box`,children:[(0,Z.jsx)(`code`,{className:`oc-sa__minted-plain`,children:O}),(0,Z.jsx)(F,{variant:`outline`,size:`sm`,onClick:()=>void re(),children:b?ve():s()})]}),(0,Z.jsx)(F,{size:`sm`,variant:`ghost`,onClick:()=>{y(null),x(!1)},children:M()})]}):null]})}var Kt={conversational:_,documentary:ge,summarizer:fe,curator:S},qt={conversational:xe,documentary:y,summarizer:O,curator:h},Jt=e=>(Kt[e]??(()=>e))(),Yt=e=>(qt[e]??(()=>``))();function Xt({agentId:e,types:t,onToggle:n}){return(0,Z.jsxs)(`div`,{className:`oc-agentcard__types`,children:[(0,Z.jsx)(`span`,{className:`oc-agentcard__types-label`,children:Te()}),t.map(e=>(0,Z.jsx)(G,{variant:`secondary`,className:`oc-agenttype__chip`,title:Yt(e),children:Jt(e)},e)),(0,Z.jsxs)(kt,{children:[(0,Z.jsx)(Ot,{asChild:!0,children:(0,Z.jsx)(F,{type:`button`,variant:`outline`,size:`sm`,className:`h-7`,children:C()})}),(0,Z.jsxs)(Nt,{align:`start`,className:`oc-agenttypes-pop`,children:[(0,Z.jsx)(`p`,{className:`oc-agenttypes-pop__title`,children:lt()}),(0,Z.jsx)(`p`,{className:`oc-agenttypes-pop__hint`,children:w()}),(0,Z.jsx)(`div`,{className:`oc-agenttypes-pop__list`,children:X.map(r=>{let i=`agtype-${e}-${r}`;return(0,Z.jsxs)(`div`,{className:`oc-agenttypes-pop__item`,children:[(0,Z.jsx)(L,{id:i,checked:t.includes(r),onCheckedChange:()=>n(r)}),(0,Z.jsxs)(`label`,{htmlFor:i,className:`oc-agenttypes-pop__text`,children:[(0,Z.jsx)(`span`,{className:`oc-agenttypes-pop__name`,children:Jt(r)}),(0,Z.jsx)(`span`,{className:`oc-agenttypes-pop__desc`,children:Yt(r)})]})]},r)})})]})]})]})}function Zt({instanceName:e,open:t,onOpenChange:n}){let i=k(N.agents.listAgentsForInstance,t&&e?{instanceName:e}:`skip`),o=D(N.agents.setAgentEnabled).withOptimisticUpdate((e,{instanceName:t,agentId:n,enabled:r})=>{let i=e.getQuery(N.agents.listAgentsForInstance,{instanceName:t});i&&e.setQuery(N.agents.listAgentsForInstance,{instanceName:t},{...i,agents:i.agents.map(e=>e.agentId===n?{...e,enabled:r}:e)})}),s=D(N.agents.setInstanceDefaultAgent).withOptimisticUpdate((e,{instanceName:t,agentId:n})=>{let r=e.getQuery(N.agents.listAgentsForInstance,{instanceName:t});r&&e.setQuery(N.agents.listAgentsForInstance,{instanceName:t},{...r,defaultAgentId:n})}),l=D(N.agents.setAgentTypes).withOptimisticUpdate((e,{instanceName:t,agentId:n,types:r})=>{let i=e.getQuery(N.agents.listAgentsForInstance,{instanceName:t});if(!i)return;let a=Rt(r);e.setQuery(N.agents.listAgentsForInstance,{instanceName:t},{...i,agents:i.agents.map(e=>e.agentId===n?{...e,types:a}:e)})}),u=D(N.agents.setAgentDescription).withOptimisticUpdate((e,{instanceName:t,agentId:n,description:r})=>{let i=e.getQuery(N.agents.listAgentsForInstance,{instanceName:t});if(!i)return;let a=r.trim();e.setQuery(N.agents.listAgentsForInstance,{instanceName:t},{...i,agents:i.agents.map(e=>e.agentId===n?{...e,description:a.length===0?null:a}:e)})}),d=D(N.agents.removeInstanceAgent),f=At(),m=I();async function h(t,n){if(e)try{await o({instanceName:e,agentId:t,enabled:n})}catch(e){m.error(r(),e)}}async function g(t){if(e)try{await s({instanceName:e,agentId:t})}catch(e){m.error(r(),e)}}async function _(t,n,i){if(!e)return;let a=i.includes(n)?i.filter(e=>e!==n):[...i,n];try{await l({instanceName:e,agentId:t,types:a})}catch(e){m.error(r(),e)}}async function v(t,n){if(e&&await f({title:wt({name:n}),description:de(),confirmLabel:E(),destructive:!0}))try{await d({instanceName:e,agentId:t}),m.success(x())}catch(e){m.error(r(),e)}}return(0,Z.jsx)(B,{open:t,onOpenChange:n,children:(0,Z.jsxs)(V,{className:`oc-access`,children:[(0,Z.jsxs)(U,{children:[(0,Z.jsx)(H,{children:gt({name:e??``})}),(0,Z.jsx)(Mt,{children:Be()})]}),i===void 0?(0,Z.jsx)(`p`,{className:`oc-access__hint`,children:p()}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`oc-access__poll`,children:i.discovery===null?ce():i.discovery.lastPollOk?ae():re({error:i.discovery.error??`?`})}),i.agents.length===0?(0,Z.jsx)(`p`,{className:`oc-access__hint`,children:Je()}):(0,Z.jsx)(`div`,{className:`oc-access__list`,children:i.agents.map(t=>{let n=t.presentInLastOk===!1,o=i.defaultAgentId===t.agentId,s=t.displayName??t.agentId,l=t.types??[];return(0,Z.jsxs)(`div`,{className:`oc-agentcard`+(t.enabled?``:` oc-agentcard--off`),children:[(0,Z.jsxs)(`div`,{className:`oc-agentcard__head`,children:[(0,Z.jsx)(L,{checked:t.enabled,disabled:n,"aria-label":s,onCheckedChange:e=>void h(t.agentId,e===!0)}),(0,Z.jsxs)(`span`,{className:`oc-agentcard__name`,title:s,children:[t.emoji?`${t.emoji} `:``,s]}),t.model?(0,Z.jsx)(`span`,{className:`oc-access__model`,children:t.model}):null,n?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(G,{variant:`outline`,className:`oc-access__gone`,children:Xe()}),(0,Z.jsx)(F,{size:`sm`,variant:`ghost`,className:`h-7 text-destructive`,onClick:()=>void v(t.agentId,s),children:c()})]}):o?(0,Z.jsx)(G,{variant:`default`,children:a()}):(0,Z.jsx)(F,{size:`sm`,variant:`outline`,className:`h-7`,disabled:!t.enabled,onClick:()=>void g(t.agentId),children:ye()})]}),t.enabled?(0,Z.jsx)(Xt,{agentId:t.agentId,types:l,onToggle:e=>void _(t.agentId,e,l)}):null,t.enabled?(0,Z.jsx)(Qt,{value:t.description??``,onSave:async n=>{if(e)try{await u({instanceName:e,agentId:t.agentId,description:n})}catch(e){m.error(r(),e)}}}):null]},t.agentId)})})]})]})})}function Qt({value:e,onSave:t}){let[n,r]=(0,Y.useState)(e);(0,Y.useEffect)(()=>{r(e)},[e]);let i=()=>{n.trim()!==e.trim()&&t(n)};return(0,Z.jsx)(W,{className:`oc-agentcard__desc`,value:n,maxLength:280,placeholder:De(),"aria-label":Ce(),onChange:e=>r(e.target.value),onBlur:i,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),i())}})}function $({label:e,children:t}){return(0,Z.jsxs)(`label`,{className:`oc-field`,children:[(0,Z.jsx)(`span`,{className:`oc-field__label`,children:e}),t]})}export{Vt as InstancesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$E as r,$s as i,FL as a,LL as o,QE as s,Qs as c,RL as l,XE as u,ZE as d,Zs as f,aD as p,ac as m,cD as h,eD as g,ec as _,iD as v,ic as y,lD as b,nD as x,nc as S,oD as C,rD as w,rc as T,sD as E,t as D,tD as O,tc as k}from"./api-BgcjjJQV.js";import{t as A}from"./button-B1AigA0Z.js";import{P as j,jt as M,ut as N}from"./index-yfG0YL8X.js";var P=t(e(),1),F=n();function I(){let e=l(D.integrations.status.status,{}),t=o(D.admin.setIntegrationConfig),[n,i]=(0,P.useState)(null);if((0,P.useEffect)(()=>{e&&n===null&&i(e.config)},[e,n]),!e||!n)return(0,F.jsx)(`p`,{className:`oc-admin__hint`,children:b()});let a=n,c=(e,t,n)=>i({...a,[e]:{...a[e],[t]:n}}),f=(e,n)=>void t({[e]:n});return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(`p`,{className:`oc-admin__hint`,children:[h(),` `,(0,F.jsx)(`strong`,{children:E()}),` `,C()]}),(0,F.jsxs)(L,{title:`Langfuse`,status:e.langfuse.configured?e.langfuse.enabled?(0,F.jsx)(N,{variant:`secondary`,children:p()}):(0,F.jsx)(N,{variant:`outline`,children:v()}):(0,F.jsx)(N,{variant:`outline`,children:w()}),note:x(),children:[(0,F.jsx)(R,{label:g(),children:(0,F.jsx)(M,{value:a.langfuse.host??``,placeholder:e.langfuse.effectiveHost,onChange:e=>c(`langfuse`,`host`,e.target.value),onBlur:()=>f(`langfuse`,{host:a.langfuse.host??``})})}),(0,F.jsx)(z,{label:u(),checked:a.langfuse.enabled??!0,onChange:e=>{c(`langfuse`,`enabled`,e),f(`langfuse`,{enabled:e})}})]}),(0,F.jsxs)(L,{title:`Opik`,status:e.opik.configured?e.opik.enabled?(0,F.jsx)(N,{variant:`secondary`,children:p()}):(0,F.jsx)(N,{variant:`outline`,children:v()}):(0,F.jsx)(N,{variant:`outline`,children:w()}),note:O(),children:[(0,F.jsx)(R,{label:r(),children:(0,F.jsx)(M,{value:a.opik.baseUrl??``,placeholder:e.opik.effectiveBaseUrl,onChange:e=>c(`opik`,`baseUrl`,e.target.value),onBlur:()=>f(`opik`,{baseUrl:a.opik.baseUrl??``})})}),(0,F.jsx)(R,{label:s(),children:(0,F.jsx)(M,{value:a.opik.workspace??``,placeholder:e.opik.effectiveWorkspace||d(),onChange:e=>c(`opik`,`workspace`,e.target.value),onBlur:()=>f(`opik`,{workspace:a.opik.workspace??``})})}),(0,F.jsx)(z,{label:u(),checked:a.opik.enabled??!0,onChange:e=>{c(`opik`,`enabled`,e),f(`opik`,{enabled:e})}})]}),(0,F.jsxs)(L,{title:`OpenTelemetry (OTLP)`,status:e.otlp.configured?e.otlp.enabled?(0,F.jsx)(N,{variant:`secondary`,children:p()}):(0,F.jsx)(N,{variant:`outline`,children:v()}):(0,F.jsx)(N,{variant:`outline`,children:m()}),note:y(),children:[(0,F.jsx)(R,{label:T(),children:(0,F.jsx)(M,{value:a.otlp.endpoint??``,placeholder:e.otlp.effectiveEndpoint||`https://otlp.example.com/v1/traces`,onChange:e=>c(`otlp`,`endpoint`,e.target.value),onBlur:()=>f(`otlp`,{endpoint:a.otlp.endpoint??``})})}),(0,F.jsx)(B,{headersSet:e.otlp.headersSet}),(0,F.jsx)(z,{label:u(),checked:a.otlp.enabled??!0,onChange:e=>{c(`otlp`,`enabled`,e),f(`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)(j,{checked:t,onCheckedChange:e=>n(e===!0)}),(0,F.jsx)(`span`,{children:e})]})}function B({headersSet:e}){let t=a(D.integrations.otlpSecret.setOtlpHeaders),n=o(D.integrations.otlpSecret.clearOtlpHeaders),[r,s]=(0,P.useState)(``),[l,u]=(0,P.useState)(null),[d,p]=(0,P.useState)(!1),m=async()=>{p(!0),u(null);try{await t({headersJson:r}),s(``)}catch(e){u(e instanceof Error?e.message:String(e))}finally{p(!1)}};return(0,F.jsxs)(R,{label:S(),children:[(0,F.jsx)(M,{value:r,placeholder:e?k():_(),onChange:e=>s(e.target.value)}),(0,F.jsxs)(`div`,{className:`oc-int__otlp-headers-actions`,children:[(0,F.jsx)(A,{size:`sm`,disabled:d||r.trim().length===0,onClick:()=>void m(),children:i()}),e?(0,F.jsx)(A,{variant:`ghost`,size:`sm`,disabled:d,onClick:()=>void n({}),children:c()}):null]}),l?(0,F.jsx)(`p`,{className:`oc-int__otlp-headers-error`,children:l}):null,(0,F.jsx)(`p`,{className:`oc-uipa__note`,children:f()})]})}export{I as IntegrationsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$I as r,$j as i,AM as a,CM as o,DM as s,EM as c,Et as l,FM as u,IM as d,LL as f,LM as p,MM as m,Mt as ee,NM as te,OM as h,PM as ne,QI as re,Qw as ie,RL as g,RM as ae,SM as oe,TM as se,_L as ce,_M as le,_t as ue,aL as de,aM as fe,bL as pe,bM as me,cL as he,cM as _,dL as ge,dM as v,dt as y,eL as b,eM as x,fL as S,fM as C,ft as w,gL as T,gM as E,gt as D,hL as O,hM as k,ht as A,iL as j,iM as M,jM as N,jt as P,kL as F,kM as I,lL as L,lM as _e,mL as ve,mM as ye,mt as be,nL as xe,nM as Se,oL as Ce,oM as R,pL as we,pM as Te,pt as Ee,r as z,rL as De,rM as Oe,sL as ke,sM as Ae,t as B,tL as je,tM as Me,uL as Ne,uM as Pe,vL as Fe,vM as Ie,vt as Le,wL as Re,wM as ze,xL as Be,xM as Ve,yL as He,yM as Ue}from"./api-BgcjjJQV.js";import{t as V}from"./button-B1AigA0Z.js";import{At as We,Dt as Ge,Ot as Ke,P as H,_t as qe,bt as Je,jt as U,kt as Ye,q as Xe,t as Ze,ut as W,vt as Qe,wt as G,xt as $e,yt as K}from"./index-yfG0YL8X.js";import{t as et}from"./localePickerView-C2RmOS86.js";import{t as tt}from"./TimezoneCombobox-C0q9MbXz.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:z(`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:z(`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:()=>ae()},{id:`composer`,label:()=>p()},{id:`sidebar`,label:()=>d()},{id:`notifications`,label:()=>Ue()},{id:`other`,label:()=>u()}],X={showSource:{category:`messages`,label:()=>ne(),help:()=>te()},showReport:{category:`messages`,label:()=>m(),help:()=>N()},copyAssistant:{category:`messages`,label:()=>a()},copyUser:{category:`messages`,label:()=>I()},showDelete:{category:`messages`,label:()=>h()},showTools:{category:`messages`,label:()=>s(),help:()=>c()},voiceInput:{category:`composer`,label:()=>se(),help:()=>ze()},showUsage:{category:`composer`,label:()=>o(),help:()=>oe()},autoReadAloud:{category:`composer`,label:()=>ee(),help:()=>P()},showChatAge:{category:`sidebar`,label:()=>Ve(),help:()=>me()},notifSound:{category:`notifications`,label:()=>Ie(),help:()=>le()},notifSystem:{category:`notifications`,label:()=>E(),help:()=>k()},replySound:{category:`notifications`,label:()=>ye(),help:()=>Te()}};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:()=>Oe()};function ut({prefKey:e,ui:t}){let n=f(B.admin.setUiPrefDefault),r=f(B.admin.setFeatureEnabled),a=ct(e),o=a?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:Ae()}),(0,J.jsxs)(qe,{value:ot(t.defaults[e]),onValueChange:t=>void n({key:e,value:st(t)}),children:[(0,J.jsx)(Je,{size:`sm`,className:`w-36`,children:(0,J.jsx)($e,{})}),(0,J.jsxs)(Qe,{children:[(0,J.jsx)(K,{value:`on`,children:Me()}),(0,J.jsx)(K,{value:`off`,children:x()}),(0,J.jsx)(K,{value:`inherit`,children:i()})]})]}),a?(0,J.jsxs)(`span`,{className:`oc-prefs__gov-gate`,children:[(0,J.jsx)(H,{checked:t.featuresEnabled[a]===!0,onCheckedChange:e=>void r({key:a,enabled:e===!0}),"aria-label":R()}),R()]}):null]}),o?(0,J.jsx)(`span`,{className:`oc-prefs__gov-help`,children:o}):null]})}function dt({current:e,enabled:t}){let n=f(B.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=Ye(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)(W,{variant:`secondary`,children:We(e,Ke())}):null]}),(0,J.jsx)(`span`,{className:`oc-prefs__help`,children:a?A():r?D():ue()})]}),(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:y()}):null,(0,J.jsx)(`button`,{type:`button`,className:`oc-prefs__reset`,disabled:!t,"aria-pressed":r,onClick:()=>i(e=>!e),children:r?w():e?Ee():be()})]})]})}function ft(){let[e,t]=(0,q.useState)(``),[n,r]=(0,q.useState)(!1),i=g(B.me.getMe,{host:G}),a=i?.ui,o=$(i?.role)&&n,s=f(B.me.setUiPref).withOptimisticUpdate(Xe),c=(0,q.useMemo)(()=>a?Q(Object.keys(a.effective),e):[],[a,e]);return a?(0,J.jsxs)(`div`,{className:`oc-prefs-panel`,children:[$(i?.role)?(0,J.jsxs)(`label`,{className:`oc-prefs__gov-toggle`,children:[(0,J.jsx)(H,{checked:n,onCheckedChange:e=>r(e===!0),"aria-label":_()}),_()]}):null,o?(0,J.jsxs)(`div`,{className:`oc-prefs__gov-head`,children:[(0,J.jsx)(`p`,{children:fe()}),(0,J.jsx)(`p`,{children:M()}),(0,J.jsx)(`p`,{children:Se()})]}):null,(0,J.jsx)(U,{value:e,onChange:e=>t(e.target.value),placeholder:C(),"aria-label":C(),className:`mb-2`}),c.length===0?(0,J.jsx)(`div`,{className:`oc-prefs__empty`,children:v()}):(0,J.jsx)(`div`,{className:`oc-prefs`,children:c.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=a.locked[e],c=a.effective[e],u=a.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)(W,{variant:`outline`,children:Pe()}):u?(0,J.jsx)(W,{variant:`secondary`,children:l()}):null]}),r?(0,J.jsx)(`span`,{className:`oc-prefs__help`,children:r}):null]}),(0,J.jsxs)(`div`,{className:`oc-prefs__ctl`,children:[!i&&u?(0,J.jsx)(`button`,{type:`button`,className:`oc-prefs__reset`,onClick:()=>void s({key:e,value:null}),children:_e()}):null,(0,J.jsx)(nt,{checked:c,disabled:i,onCheckedChange:t=>{e===`notifSystem`&&t&&typeof Notification<`u`&&Notification.permission==="default"&&Notification.requestPermission(),s({key:e,value:t})},"aria-label":n})]}),o?(0,J.jsx)(ut,{prefKey:e,ui:a}):null]},e)})]},e.id))}),(0,J.jsx)(dt,{current:i?.dictationShortcut??null,enabled:a.effective.voiceInput===!0})]}):(0,J.jsx)(`div`,{className:`oc-prefs__empty`,children:F()})}var pt={sm:()=>L(),md:()=>he(),lg:()=>ke(),xl:()=>Ce(),"2xl":()=>de(),"3xl":()=>j()};function mt(){let e=g(B.me.getMe,{host:G}),t=f(B.me.setLocale),n=f(B.me.setTimezone),i=f(B.me.setFontScale).withOptimisticUpdate((e,{scale:t})=>{let n=e.getQuery(B.me.getMe,{host:G});n&&e.setQuery(B.me.getMe,{host:G},{...n,fontScale:t,resolvedFontScale:t??`md`})}),a=f(B.me.setMyName),o=Ge(),s=e?.locale??`default`,c=e?.name??``,[l,u]=(0,q.useState)(null),d=l??c,p=d.trim()!==c.trim();async function m(){try{await a({name:d}),u(null),o.success(ce())}catch(e){o.error(T(),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:Be()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:pe()})]}),(0,J.jsxs)(`div`,{className:`oc-show__row`,children:[(0,J.jsx)(U,{className:`max-w-xs`,value:d,maxLength:120,placeholder:He(),onChange:e=>u(e.target.value),onKeyDown:e=>{e.key===`Enter`&&p&&(e.preventDefault(),m())}}),(0,J.jsx)(V,{size:`sm`,disabled:!p,onClick:()=>void m(),children:ie()})]}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:Fe()})]}),(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:O()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:ve()})]}),(0,J.jsxs)(`div`,{className:`oc-show__row`,children:[et().map(e=>(0,J.jsx)(V,{variant:s===e.value?`default`:`outline`,size:`sm`,onClick:()=>void t({locale:e.value}),children:e.label},e.value)),(0,J.jsx)(V,{variant:s==="default"?`default`:`outline`,size:`sm`,onClick:()=>void t({locale:null}),children:Re()})]}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:we()})]}),(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:De()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:xe()})]}),(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:je()})]}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:b()})]}),(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:S()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:ge()})]}),(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 i({scale:t}),children:pt[t]()},t))}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:Ne()})]}),(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:r()}),(0,J.jsx)(`p`,{className:`oc-show__desc`,children:re()})]}),(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{$g as r,$h as i,Ag as a,Bg as o,Cg as s,D as c,Dg as l,Eg as u,Fg as d,Gg as f,Hg as p,Ig as m,Jg as h,Kg as ee,LL as g,Mg as te,Ng as ne,Og as _,Pg as v,Pm as re,RL as y,Rg as b,Sg as x,Tg as ie,Vg as S,Wg as ae,Xg as C,_g as oe,ag as w,bg as se,c_ as ce,dg as le,e_ as ue,gg as de,hg as fe,ig as pe,jg as me,kL as T,kg as E,l_ as he,lg as D,n_ as O,ng as ge,og as k,qg as _e,r_ as A,rg as ve,s_ as ye,sg as j,t as M,tg as be,ug as xe,vg as N,wg as Se,xg as Ce,zg as we}from"./api-BgcjjJQV.js";import{r as Te}from"./dist-GuFbf2Iz.js";import{t as Ee}from"./list-BwOKV6xv.js";import{t as P}from"./button-B1AigA0Z.js";import{A as De,C as Oe,Cn as ke,D as F,Dt as Ae,E as je,En as Me,Et as Ne,F as Pe,Fn as Fe,Ft as Ie,In as Le,It as Re,Lt as ze,Mt as Be,Nt as Ve,O as I,Pn as L,Pt as R,Q as He,S as Ue,Sn as z,T as We,Tt as Ge,Z as Ke,_ as qe,_n as Je,b as B,d as Ye,dn as Xe,f as Ze,fn as V,g as H,h as U,hn as W,in as Qe,j as G,jn as $e,jt as K,k as et,m as tt,p as nt,pn as rt,v as q,vn as it,w as at,wn as J,x as Y,y as ot}from"./index-yfG0YL8X.js";var st=c(`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`}]]),ct=c(`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`}]]),lt=c(`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`}]]),ut=c(`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 Q({className:e}){return(0,Z.jsx)(ze,{asChild:!0,children:(0,Z.jsx)(P,{variant:`ghost`,size:`icon-xs`,"aria-label":j(),className:e,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),onTouchStart:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),children:(0,Z.jsx)(Me,{})})})}function dt({folderId:e,name:t,color:n,currentParentId:i,className:a,onOpen:o}){let s=g(M.projects.renameProject),c=g(M.projects.setProjectColor),l=g(M.projects.moveProject),u=g(M.projects.deleteProject),p=g(M.projects.createProject),m=Ke(),te=He(),[ne,_]=(0,X.useState)(!1),[v,re]=(0,X.useState)(t),[b,x]=(0,X.useState)(!1),[ie,S]=(0,X.useState)(!1),C=y(M.projects.projectTreeCount,ie?{projectId:e}:`skip`);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Be,{onOpenChange:e=>e&&S(!0),children:[(0,Z.jsx)(Q,{className:a}),(0,Z.jsxs)(Ve,{align:`end`,className:`w-48`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(R,{onSelect:()=>o(),children:[(0,Z.jsx)(J,{}),` `,ae()]}),(0,Z.jsxs)(R,{onSelect:()=>{re(t),_(!0)},children:[(0,Z.jsx)(rt,{}),` `,k()]}),(0,Z.jsxs)(R,{onSelect:()=>{requestAnimationFrame(async()=>{let t=await te({title:d(),label:he(),placeholder:ce(),confirmLabel:ye()});t&&await p({name:t,parentId:e})})},children:[(0,Z.jsx)(ke,{}),` `,d()]}),(0,Z.jsxs)(R,{onSelect:()=>x(!0),children:[(0,Z.jsx)(ct,{}),` `,oe()]}),(0,Z.jsx)(Ie,{children:ve()}),(0,Z.jsxs)(`div`,{className:`oc-colorgrid`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsx)(`button`,{className:`oc-colorgrid__none`,onClick:()=>void c({projectId:e,color:null}),"aria-label":ge(),children:`✕`}),tt.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 c({projectId:e,color:t.value})},t.value))]}),(0,Z.jsx)(Re,{}),(0,Z.jsxs)(R,{variant:`destructive`,onSelect:()=>{requestAnimationFrame(async()=>{let n=C?.folders??0,r=C?.chats??0;await m({title:_e({name:t}),description:n>0?f({folders:n,chats:r}):r>0?ee({count:r}):xe(),confirmWord:D(),confirmLabel:h(),destructive:!0})&&await u({projectId:e})})},children:[(0,Z.jsx)(Qe,{}),` `,D()]})]})]}),(0,Z.jsx)(qe,{open:ne,onOpenChange:_,title:r(),canSubmit:v.trim().length>0,onSubmit:async()=>{await s({projectId:e,name:v.trim()}),_(!1)},submitLabel:k(),children:(0,Z.jsx)(K,{value:v,onChange:e=>re(e.target.value),autoFocus:!0})}),b?(0,Z.jsx)(nt,{open:b,onOpenChange:x,title:fe(),movingFolderId:e,currentId:i,onPick:t=>void l({projectId:e,parentId:t})}):null]})}function $({chat:e,currentFolderId:t,className:n}){let r=g(M.chats.pinChat),a=g(M.chats.deleteChat),o=g(M.chats.renameChat),s=g(M.chats.setChatSidebar),c=g(M.chats.moveChatToProject),l=Ke(),[u,d]=(0,X.useState)(!1),[f,m]=(0,X.useState)(e.title??``),[h,ee]=(0,X.useState)(!1);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Be,{children:[(0,Z.jsx)(Q,{className:n}),(0,Z.jsxs)(Ve,{align:`end`,className:`w-52`,onClick:e=>e.stopPropagation(),children:[(0,Z.jsxs)(R,{onSelect:()=>{m(e.title??``),d(!0)},children:[(0,Z.jsx)(rt,{}),` `,k()]}),(0,Z.jsxs)(R,{onSelect:()=>void r({chatId:e._id,pinned:!e.pinned}),children:[e.pinned?(0,Z.jsx)(Xe,{}):(0,Z.jsx)(V,{}),e.pinned?w():pe()]}),(0,Z.jsxs)(R,{onSelect:()=>ee(!0),children:[(0,Z.jsx)(ct,{}),` `,N()]}),e.pinned&&e.inSidebar?null:(0,Z.jsxs)(R,{onSelect:()=>void s({chatId:e._id,hidden:e.inSidebar}),children:[e.inSidebar?(0,Z.jsx)(W,{}):(0,Z.jsx)(ut,{}),e.inSidebar?S():p()]}),(0,Z.jsx)(Re,{}),(0,Z.jsxs)(R,{variant:`destructive`,onSelect:()=>{requestAnimationFrame(async()=>{await l({title:be(),description:xe(),confirmLabel:D(),destructive:!0})&&await a({chatId:e._id})})},children:[(0,Z.jsx)(Qe,{}),` `,D()]})]})]}),(0,Z.jsx)(qe,{open:u,onOpenChange:d,title:i(),canSubmit:f.trim().length>0,onSubmit:async()=>{await o({chatId:e._id,title:f.trim()}),d(!1)},submitLabel:k(),children:(0,Z.jsx)(K,{value:f,onChange:e=>m(e.target.value),autoFocus:!0})}),h?(0,Z.jsx)(nt,{open:h,onOpenChange:ee,title:de(),currentId:t,onPick:t=>void c({chatId:e._id,projectId:t})}):null]})}function ft(e,t){let n=t.trim().toLowerCase();return n===``?e:e.filter(e=>(e.title??``).toLowerCase().includes(n))}function pt(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 mt(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 ht=`oc.projpage.view`;function gt(){let e=localStorage.getItem(ht);return e===`cards`||e===`list`?e:`columns`}var _t=e=>`into:${e}`,vt=e=>`col:${e??`null`}`,yt=e=>`crumb:${e}`;function bt(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 xt(){let{projectId:e}=Le({from:`/project/$projectId`}),t=L(),n=y(M.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:T()}):n===null?(0,Z.jsxs)(`div`,{className:`oc-projpage__notfound`,children:[(0,Z.jsx)(`h2`,{children:s()}),(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:x()}),(0,Z.jsx)(P,{variant:`outline`,onClick:()=>void t({to:`/`}),children:Ce()})]}):(0,Z.jsx)(St,{page:n})})}function St({page:e}){let t=L(),n=Ke(),i=He(),s=Ae(),c=g(M.projects.renameProject),p=g(M.projects.setProjectColor),ne=g(M.projects.deleteProject),_=g(M.projects.createProject),v=g(M.projects.moveProject),x=g(M.chats.moveChatToProject),S=g(M.chats.reorderChat),ae=g(M.projects.reorderProject),C=y(M.projects.projectTreeCount,{projectId:e.project._id}),[w,de]=(0,X.useState)(gt),pe=e=>{localStorage.setItem(ht,e),de(e)},T=y(M.projects.folderColumns,w===`columns`?{projectId:e.project._id}:`skip`),E=y(M.projects.projectTreeList,w===`list`?{projectId:e.project._id}:`skip`),{c:O}=Fe({from:`/project/$projectId`}),j=y(M.projects.listProjects,{}),be=y(M.chatReads.myBusyChats,{}),N=(0,X.useMemo)(()=>new Set(be??[]),[be]),Ce=y(M.chatReads.myChatReads,{}),Te=(0,X.useMemo)(()=>mt(e.chats,Ce??[]),[e.chats,Ce]),{startNewChat:Le,picker:I}=Ye(e=>void t({to:`/chat/$chatId`,params:{chatId:e}})),[B,Xe]=(0,X.useState)(``),[Ze,V]=(0,X.useState)(!1),[U,W]=(0,X.useState)(e.project.name),[G,$e]=(0,X.useState)(!1),[J,ut]=(0,X.useState)(``);(0,X.useEffect)(()=>{let e=setTimeout(()=>ut(B.trim()),180);return()=>clearTimeout(e)},[B]);let Q=y(M.search.searchConversations,J.length>=2?{query:J,projectId:e.project._id}:`skip`),dt=De(et(at,{activationConstraint:{distance:4}}),et(We,{activationConstraint:{delay:250,tolerance:8}})),$=(0,X.useRef)(!1),_t=()=>{$.current=!0,setTimeout(()=>{$.current=!1},0)},[vt,yt]=(0,X.useState)(null),xt=t=>{if(t.startsWith(`chat:`)){let n=t.slice(5),r=e.chats.find(e=>e._id===n),i=T?.columns.flatMap(e=>e.chats).find(e=>e._id===n);return{kind:`chat`,label:(r??i)?.title||A()}}if(t.startsWith(`folder:`)){let e=t.slice(7);return{kind:`folder`,label:(j??[]).find(t=>t._id===e)?.name??``}}return null},St=e=>yt(xt(String(e.active.id))),Tt=(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=F(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=F(n(t?`folder:`:`chat:`));if(i.length>0)return i;let a=F(n(`crumb:`));if(a.length>0)return a;let o=F(n(`col:`));return o.length>0?o:je(n(t?`folder:`:`chat:`))},[]),Dt=t=>{if(w===`columns`){for(let e of T?.columns??[])if(e.chats.some(e=>e._id===t))return{list:e.chats,folderId:e.folderId};return null}if(w===`list`){let e=E?.chats.find(e=>e._id===t);return e?{list:E.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},kt=t=>{if(w===`columns`){for(let e of T?.columns??[])if(e.folders.some(e=>e._id===t))return{list:e.folders,parentId:e.folderId};return null}if(w===`list`){let e=E?.folders.find(e=>e._id===t);if(!e||!E)return null;let n=e.parentId??E.rootId;return{list:Ne(E.folders,e.parentId),parentId:n}}return e.children.some(e=>e._id===t)?{list:e.children,parentId:e.project._id}:null},At=async e=>{yt(null),_t();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=bt(r);if(e!==void 0){if(a)await x({chatId:i.slice(5),projectId:e});else{let t=i.slice(7);if(t===e)return;if(!Ge(j??[],t,e)){s.error(m());return}await v({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=Dt(t);if(!n)return;n.list.some(t=>t._id===e)||await x({chatId:e,projectId:n.folderId});let a=pt(n.list,e=>e._id,e=>e.sortKey,e,t);a&&await S({chatId:e,...a});return}if(!a&&r.startsWith(`folder:`)){let e=i.slice(7),t=r.slice(7);if(e===t)return;let n=kt(t);if(!n)return;if(!n.list.some(t=>t._id===e)){if(!Ge(j??[],e,n.parentId)){s.error(m());return}await v({projectId:e,parentId:n.parentId})}let a=pt(n.list,e=>e._id,e=>e.sortKey,e,t);a&&await ae({projectId:e,...a});return}}catch{s.error(m())}},[,Mt]=(0,X.useState)(0);(0,X.useEffect)(()=>{let e=window.setInterval(()=>Mt(e=>e+1),6e4);return()=>window.clearInterval(e)},[]);let Nt=Date.now(),Pt=H(e.project),Ft=ft(e.chats,B),It=e.breadcrumb.slice(0,-1),Lt=e=>()=>{$.current||e()};return(0,Z.jsxs)(Ue,{sensors:dt,collisionDetection:Tt,onDragStart:St,onDragEnd:At,children:[(0,Z.jsxs)(`div`,{className:`oc-projpage__body`,style:{"--proj-hue":Pt},children:[(0,Z.jsxs)(`nav`,{className:`oc-projpage__crumbs`,"aria-label":se(),children:[It.map(e=>(0,Z.jsxs)(`span`,{className:`oc-projpage__crumb`,children:[(0,Z.jsx)(Ct,{folderId:e._id,children:(0,Z.jsx)(`button`,{type:`button`,className:`oc-projpage__crumblink`,onClick:Lt(()=>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}),(0,Z.jsxs)(`div`,{className:`oc-projpage__actions`,children:[(0,Z.jsxs)(`div`,{className:`oc-projpage__viewtoggle`,role:`group`,"aria-label":o(),children:[(0,Z.jsx)(P,{variant:w===`cards`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":o(),title:o(),"aria-pressed":w===`cards`,onClick:()=>pe(`cards`),children:(0,Z.jsx)(lt,{})}),(0,Z.jsx)(P,{variant:w===`columns`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":we(),title:we(),"aria-pressed":w===`columns`,onClick:()=>pe(`columns`),children:(0,Z.jsx)(st,{})}),(0,Z.jsx)(P,{variant:w===`list`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":b(),title:b(),"aria-pressed":w===`list`,onClick:()=>pe(`list`),children:(0,Z.jsx)(Ee,{})})]}),(0,Z.jsxs)(P,{variant:`outline`,size:`sm`,onClick:()=>void Le({projectId:e.project._id}),children:[(0,Z.jsx)(it,{}),a()]}),(0,Z.jsxs)(P,{variant:`outline`,size:`sm`,onClick:async()=>{let t=await i({title:d(),label:he(),placeholder:ce(),confirmLabel:ye()});t&&await _({name:t,parentId:e.project._id})},children:[(0,Z.jsx)(ke,{}),d()]}),(0,Z.jsxs)(Be,{children:[(0,Z.jsx)(ze,{asChild:!0,children:(0,Z.jsx)(P,{variant:`ghost`,size:`icon-sm`,"aria-label":ue(),children:(0,Z.jsx)(Me,{})})}),(0,Z.jsxs)(Ve,{align:`end`,className:`w-48`,children:[(0,Z.jsxs)(R,{onSelect:()=>{W(e.project.name),V(!0)},children:[(0,Z.jsx)(rt,{}),` `,k()]}),(0,Z.jsxs)(R,{onSelect:()=>$e(!0),children:[(0,Z.jsx)(ct,{}),` `,oe()]}),(0,Z.jsx)(Ie,{children:ve()}),(0,Z.jsxs)(`div`,{className:`oc-colorgrid`,children:[(0,Z.jsx)(`button`,{className:`oc-colorgrid__none`,onClick:()=>void p({projectId:e.project._id,color:null}),"aria-label":ge(),children:`✕`}),tt.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 p({projectId:e.project._id,color:t.value})},t.value))]}),(0,Z.jsx)(Re,{}),(0,Z.jsxs)(R,{variant:`destructive`,onSelect:()=>{let r=e.project.parentId;requestAnimationFrame(async()=>{let i=C?.folders??0,a=C?.chats??0;await n({title:_e({name:e.project.name}),description:i>0?f({folders:i,chats:a}):a>0?ee({count:a}):xe(),confirmWord:D(),confirmLabel:h(),destructive:!0})&&(await ne({projectId:e.project._id}),t(r===null?{to:`/`}:{to:`/project/$projectId`,params:{projectId:r}}))})},children:[(0,Z.jsx)(Qe,{}),` `,D()]})]})]})]})]}),w===`columns`?(0,Z.jsx)(jt,{data:T,currentId:e.project._id,busyIds:N,suppressClick:$,locateChatId:O??null}):w===`list`?(0,Z.jsx)(Ot,{data:E,busyIds:N,suppressClick:$,locateChatId:O??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:te()}),(0,Z.jsx)(`div`,{className:`oc-projpage__cards`,children:(0,Z.jsx)(q,{items:e.children.map(e=>`folder:${e._id}`),strategy:ot,children:e.children.map(t=>(0,Z.jsx)(wt,{child:t,parentId:e.project._id,now:Nt,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:me()}),e.chats.length>0?(0,Z.jsx)(K,{value:B,onChange:e=>Xe(e.target.value),placeholder:l(),className:`oc-projpage__filter`}):null]}),e.chats.length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:e.children.length===0?ie():Se()}):Ft.length===0&&(Q??[]).length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:u({term:B.trim()})}):(0,Z.jsx)(`ul`,{className:`oc-projpage__chats`,children:(0,Z.jsx)(q,{items:Ft.map(e=>`chat:${e._id}`),strategy:Y,children:Ft.map(t=>(0,Z.jsx)(Et,{chat:t,currentFolderId:e.project._id,now:Nt,busy:N.has(t._id),unread:Te.has(t._id),locate:t._id===O,suppressClick:$},t._id))})})]}),J.length>=2&&Q!==void 0?(0,Z.jsxs)(`section`,{className:`oc-projpage__section`,children:[(0,Z.jsx)(`h2`,{className:`oc-projpage__subtitle`,children:le()}),Q.length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:u({term:J})}):(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&&J&&Pe(e.messageId,J),t({to:`/chat/$chatId`,params:{chatId:e.chatId},...e.messageId?{search:{m:e.messageId}}:{}})},children:[(0,Z.jsx)(Je,{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||re()}),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)(qe,{open:Ze,onOpenChange:V,title:r(),canSubmit:U.trim().length>0,onSubmit:async()=>{await c({projectId:e.project._id,name:U.trim()}),V(!1)},submitLabel:k(),children:(0,Z.jsx)(K,{value:U,onChange:e=>W(e.target.value),autoFocus:!0})}),G?(0,Z.jsx)(nt,{open:G,onOpenChange:$e,title:fe(),movingFolderId:e.project._id,currentId:e.project.parentId,onPick:t=>void v({projectId:e.project._id,parentId:t})}):null,I]}),(0,Z.jsx)(Oe,{children:vt?(0,Z.jsxs)(`div`,{className:`oc-projpage__dragghost`,children:[vt.kind===`folder`?(0,Z.jsx)(z,{size:13,"aria-hidden":!0}):(0,Z.jsx)(Je,{size:13,"aria-hidden":!0}),(0,Z.jsx)(`span`,{children:vt.label})]}):null})]})}function Ct({folderId:e,children:t}){let{setNodeRef:n,isOver:r}=I({id:yt(e)});return(0,Z.jsx)(`span`,{ref:n,className:r?`oc-projpage__cdrop is-over`:`oc-projpage__cdrop`,children:t})}function wt({child:e,parentId:t,now:n,suppressClick:r}){let i=L(),a=B({id:`folder:${e._id}`}),o=I({id:_t(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":H(e),transform:G.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)(z,{size:15,"aria-hidden":!0,className:`oc-projpage__cardico`}),(0,Z.jsx)(`span`,{className:`oc-projpage__cardname`,children:e.name}),(0,Z.jsx)(dt,{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?E({count:e.folderCount})+` · `:``,_({count:e.recursiveChatCount})]}),e.lastActivityAt===null?null:(0,Z.jsx)(`span`,{className:`oc-projpage__cardage`,children:Ze(e.lastActivityAt,n)})]})}function Tt({chat:e}){let t=g(M.chats.setChatSidebar),n=e.inSidebar?S():p();return(0,Z.jsx)(P,{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)(W,{}):(0,Z.jsx)(ut,{})})}function Et({chat:e,currentFolderId:t,now:n,busy:r,unread:i,locate:a,suppressClick:o}){let s=L(),c=U(e.color),l=B({id:`chat:${e._id}`}),u=Dt(a);return(0,Z.jsxs)(`li`,{ref:e=>{l.setNodeRef(e),u.current=e},className:`oc-projpage__chatrow`+(l.isDragging?` is-dragging`:``)+(a?` is-locate`:``),style:{transform:G.Transform.toString(l.transform),transition:l.transition},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__chatbtn`,onClick:()=>{o.current||s({to:`/chat/$chatId`,params:{chatId:e._id}})},...l.listeners,...l.attributes,children:[c?(0,Z.jsx)(`span`,{className:`oc-chatitem__dot`,style:{background:c}}):(0,Z.jsx)(`span`,{className:`oc-chatitem__dot oc-chatitem__dot--empty`}),(0,Z.jsx)(`span`,{className:`oc-projpage__chattitle`,children:e.title||A()}),e.pinned?(0,Z.jsx)(V,{size:12,"aria-hidden":!0,className:`oc-projpage__chatpin`}):null,(0,Z.jsx)(`span`,{className:`oc-projpage__chatage`,children:Ze(e.updatedAt,n)}),r?(0,Z.jsx)(`span`,{className:`oc-chatitem__busy`,title:O(),"aria-label":O()}):null,i&&!r?(0,Z.jsx)(`span`,{className:`oc-chatitem__unread`,title:C(),"aria-label":C()}):null]}),(0,Z.jsx)(Tt,{chat:e}),(0,Z.jsx)($,{chat:e,currentFolderId:t,className:`oc-projpage__chatmenu`})]})}function Dt(e){let t=(0,X.useRef)(null);return(0,X.useEffect)(()=>{e&&t.current&&t.current.scrollIntoView({block:`center`})},[e]),t}function Ot({data:e,busyIds:t,suppressClick:n,locateChatId:r}){let[i,a]=(0,X.useState)(new Set),o=(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:T()});if(e===null)return null;let s=e=>a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),c=(a,l)=>{let u=o.get(a??e.rootId)??[],d=Ne(e.folders,a);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(q,{items:u.map(e=>`chat:${e._id}`),strategy:Y,children:u.map(e=>(0,Z.jsx)(At,{chat:e,depth:l,busy:t.has(e._id),locate:e._id===r,suppressClick:n},e._id))}),(0,Z.jsx)(q,{items:d.map(e=>`folder:${e._id}`),strategy:Y,children:d.map(t=>(0,Z.jsx)(kt,{folder:t,parentId:a??e.rootId,depth:l,folded:i.has(t._id),onToggle:()=>s(t._id),suppressClick:n,children:i.has(t._id)?null:c(t._id,l+1)},t._id))})]})};return(0,Z.jsx)(`div`,{className:`oc-projpage__tree`,children:(o.get(e.rootId)??[]).length===0&&Ne(e.folders,null).length===0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:ie()}):c(null,0)})}function kt({folder:e,parentId:t,depth:n,folded:r,onToggle:i,suppressClick:a,children:o}){let s=L(),c=B({id:`folder:${e._id}`}),l=I({id:_t(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":H(e),transform:G.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?v():ne(),"aria-expanded":!r,onClick:e=>{e.stopPropagation(),!a.current&&i()},onMouseDown:e=>e.stopPropagation(),onTouchStart:e=>e.stopPropagation(),children:r?(0,Z.jsx)($e,{size:13}):(0,Z.jsx)(Te,{size:13})}),(0,Z.jsx)(z,{size:13,"aria-hidden":!0,className:`oc-projpage__colico`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.name}),(0,Z.jsx)(dt,{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 At({chat:e,depth:t,busy:n,locate:r,suppressClick:i}){let a=L(),o=B({id:`chat:${e._id}`}),s=Dt(r),c=U(e.color);return(0,Z.jsxs)(`div`,{ref:e=>{o.setNodeRef(e),s.current=e},className:`oc-projpage__treerow oc-projpage__treerow--chat`+(o.isDragging?` is-dragging`:``)+(r?` is-locate`:``),style:{"--tree-depth":t,transform:G.Transform.toString(o.transform),transition:o.transition},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__colchatbtn`,onClick:()=>{i.current||a({to:`/chat/$chatId`,params:{chatId:e._id}})},...o.listeners,...o.attributes,children:[c?(0,Z.jsx)(`span`,{className:`oc-chatitem__dot`,style:{background:c}}):(0,Z.jsx)(`span`,{className:`oc-chatitem__dot oc-chatitem__dot--empty`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.title||A()}),n?(0,Z.jsx)(`span`,{className:`oc-chatitem__busy`,"aria-hidden":!0}):null]}),(0,Z.jsx)($,{chat:e,currentFolderId:e.folderId,className:`oc-projpage__treemenu`}),(0,Z.jsx)(Tt,{chat:e})]})}function jt({data:e,currentId:t,busyIds:n,suppressClick:r,locateChatId:i}){let a=(0,X.useRef)(null);return(0,X.useEffect)(()=>{let e=a.current;e&&(e.scrollLeft=e.scrollWidth)},[e?.columns.length??0,t]),e===void 0?(0,Z.jsx)(`p`,{className:`oc-projpage__hint`,children:T()}):(0,Z.jsx)(`div`,{className:`oc-projpage__cols`,ref:a,children:e.columns.map((a,o)=>(0,Z.jsx)(Mt,{col:a,isLast:o===e.columns.length-1,currentId:t,busyIds:n,suppressClick:r,locateChatId:i},a.folderId??`root`))})}function Mt({col:e,isLast:t,currentId:n,busyIds:r,suppressClick:i,locateChatId:a}){let o=L(),s=I({id:vt(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:Y,children:e.folders.map(t=>(0,Z.jsx)(Nt,{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:Y,children:e.chats.map(t=>(0,Z.jsx)(Pt,{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:Se()}):null]})}function Nt({folder:e,parentId:t,isCurrent:n,suppressClick:r,onOpen:i}){let a=B({id:`folder:${e._id}`}),o=I({id:_t(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":H(e),transform:G.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)(z,{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)(dt,{folderId:e._id,name:e.name,color:e.color,currentParentId:t,className:`oc-projpage__colmenu`,onOpen:i})]})}function Pt({chat:e,folderId:t,busy:n,locate:r,suppressClick:i,onOpen:a}){let o=B({id:`chat:${e._id}`}),s=Dt(r),c=U(e.color);return(0,Z.jsxs)(`div`,{ref:e=>{o.setNodeRef(e),s.current=e},className:`oc-projpage__colentry oc-projpage__colentry--chat`+(o.isDragging?` is-dragging`:``)+(r?` is-locate`:``),style:{transform:G.Transform.toString(o.transform),transition:o.transition},children:[(0,Z.jsxs)(`button`,{type:`button`,className:`oc-projpage__colchatbtn`,onClick:()=>{i.current||a()},...o.listeners,...o.attributes,children:[c?(0,Z.jsx)(`span`,{className:`oc-chatitem__dot`,style:{background:c}}):(0,Z.jsx)(`span`,{className:`oc-chatitem__dot oc-chatitem__dot--empty`}),(0,Z.jsx)(`span`,{className:`oc-projpage__colname`,children:e.title||A()}),n?(0,Z.jsx)(`span`,{className:`oc-chatitem__busy`,"aria-hidden":!0}):null]}),(0,Z.jsx)($,{chat:e,currentFolderId:t,className:`oc-projpage__colmenu oc-projpage__colmenu--chat`}),(0,Z.jsx)(Tt,{chat:e})]})}export{xt as ProjectPage};
@@ -1,4 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$v as r,Bo as i,Gi as a,Ho as o,Ji as s,Ki as c,LL as l,Qv as u,RL as d,Ty as f,Uo as p,Vo as m,Yi as h,_r as g,_y as _,aa as v,ay as y,cy as b,dy as x,ey as S,fy as C,gr as w,gy as T,hr as E,hy as ee,ia as te,iy as ne,ly as re,my as ie,na as ae,ny as oe,oy as se,py as D,qi as O,ra as k,ry as A,sy as j,t as M,ty as N,uy as P,wy as F,zo as I}from"./api-BgcjjJQV.js";import{d as L,f as R,i as z,l as B,n as V,r as ce,t as H,u as U}from"./FieldLabel-101rCL07.js";import{t as W}from"./button-B1AigA0Z.js";import{Dt as G,P as le,_t as K,bt as q,vt as J,wt as ue,xt as Y,yt as X}from"./index-yfG0YL8X.js";import{r as Z,t as de}from"./locales-CPjguROj.js";import{t as fe}from"./localePickerView-C2RmOS86.js";/* empty css */var Q=t(e(),1),$=n(),pe={media_delivery:{label:C,help:x},documentary_fetch:{label:P,help:re},inbound_files:{label:b,help:j},history_summary:{label:p,help:o},file_curation:{label:v,help:h},quote_reply:{label:te,help:k}},me={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.`},he={outboundDir:S,references:r,files:u,previous_summary:m,new_messages:i,max_chars:I,file_name:s,budget_chars:O,feedback:c,content:a,excerpt:ae};function ge(){let e=d(M.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:y()})});let r=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)(V,{label:_(),help:T()}),(0,$.jsxs)(`label`,{className:`oc-injtab__picker`,children:[(0,$.jsx)(`span`,{children:se()}),(0,$.jsxs)(K,{value:r._id,onValueChange:e=>n(e),children:[(0,$.jsx)(q,{size:`sm`,className:`min-w-44`,children:(0,$.jsx)(Y,{})}),(0,$.jsx)(J,{children:e.map(e=>(0,$.jsx)(X,{value:e._id,children:e.displayName??e.name},e._id))})]})]})]}),(0,$.jsx)(_e,{instance:r},r._id)]})}function _e({instance:e}){let t=l(M.admin.upsertInstanceConfig),n=G(),r=d(M.me.getMe,{host:ue}),i=e.config??{},a=Z(e.config?.contentLocale,r?.defaultLocale??void 0),[o,s]=(0,Q.useState)(()=>z(i,a));(0,Q.useEffect)(()=>{s(z(i,a))},[a,e._id]);let[c,u]=(0,Q.useState)(!1),p=o.promptInjections,m=(e,t)=>s({...o,promptInjections:{...p,[e]:{...p[e],...t}}});async function h(){u(!0);try{await t({instanceId:e._id,config:ce(o,i,a)})}catch(e){n.error(F(),e)}finally{u(!1)}}async function _(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(F(),e)}}let v=e.config?.contentLocale??`default`,y=de[Z(void 0,r?.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:g()}),(0,$.jsxs)(K,{value:v,onValueChange:e=>void _(e),children:[(0,$.jsx)(q,{size:`sm`,className:`min-w-44`,children:(0,$.jsx)(Y,{})}),(0,$.jsxs)(J,{children:[(0,$.jsx)(X,{value:`default`,children:E({locale:y})}),fe().map(e=>(0,$.jsx)(X,{value:e.value,children:e.label},e.value))]})]}),(0,$.jsx)(`p`,{className:`oc-admin__hint`,children:w()})]}),U.map(e=>(0,$.jsx)(ve,{injKey:e,def:B[e],i18n:pe[e],row:p[e]??{enabled:!0,template:B[e].defaultTemplate[a]},contentLocale:a,onChange:t=>m(e,t)},e)),(0,$.jsx)(`div`,{className:`oc-injtab__actions`,children:(0,$.jsx)(W,{size:`sm`,onClick:()=>void h(),disabled:c,children:f()})})]})}function ve({injKey:e,def:t,i18n:n,row:r,contentLocale:i,onChange:a}){let[o,s]=(0,Q.useState)(!1),c=r.template.trim()!==t.defaultTemplate[i],l=t.togglable&&!r.enabled,u=Object.fromEntries(t.placeholders.map(e=>[e,me[e]??`{${e}}`])),d=L(e,r,i),f=d?R(d,u):``;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)(le,{checked:r.enabled,onCheckedChange:e=>a({enabled:e===!0})}),(0,$.jsx)(V,{label:n.label(),help:n.help()})]}):(0,$.jsx)(V,{label:n.label(),help:n.help()}),c&&(0,$.jsx)(`span`,{className:`oc-injection__badge`,children:ie()})]}),(0,$.jsx)(`textarea`,{className:`oc-injcard__text`,value:r.template,disabled:l,rows:8,spellCheck:!1,onChange:e=>a({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:D()}),t.placeholders.map(e=>(0,$.jsxs)(`span`,{className:`oc-injcard__ph-chip`,children:[(0,$.jsx)(`code`,{children:`{${e}}`}),(0,$.jsx)(H,{text:(he[e]??(()=>e))()})]},e))]}),(0,$.jsxs)(`div`,{className:`oc-injcard__btns`,children:[(0,$.jsx)(W,{variant:`ghost`,size:`sm`,onClick:()=>s(e=>!e),children:o?A():ne()}),c&&(0,$.jsx)(W,{variant:`ghost`,size:`sm`,onClick:()=>a({template:t.defaultTemplate[i]}),children:ee()})]})]}),o&&(0,$.jsx)(`div`,{className:`oc-injcard__preview`,children:f?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`pre`,{className:`oc-injcard__previewtext`,children:f}),(0,$.jsx)(`span`,{className:`oc-injection__ph`,children:oe()})]}):(0,$.jsx)(`span`,{className:`oc-injection__ph`,children:N()})})]})}export{ge as PromptInjectionsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$S as r,AS as i,BS as ee,DS as te,ES as ne,GS as a,HS as o,JS as s,KS as c,LL as l,MS as u,OS as d,QS as f,RL as p,RS as m,TS as h,US as g,VS as _,WS as v,XS as y,YS as b,ZS as re,aC as x,cC as S,dC as C,eC as ie,fC as w,iC as T,jS as E,kS as D,ka as O,lC as k,nC as A,oC as j,pC as M,qS as N,rC as P,sC as F,t as I,tC as L,uC as R,wS as z,zS as ae}from"./api-BgcjjJQV.js";import{t as B}from"./button-B1AigA0Z.js";import{Dt as V,P as H,Z as U,_ as W,jt as G,ut as K,yn as q}from"./index-yfG0YL8X.js";import{t as J}from"./roleDescriptions-C-rAs0lx.js";var Y=t(e(),1),X=n(),Z=[{group:()=>M(),keys:[{key:`traces.read`,label:()=>S()},{key:`traces.read.content`,label:()=>F(),phi:!0},{key:`traces.write`,label:()=>j()}]},{group:()=>w(),keys:[{key:`kpi.read`,label:()=>S()},{key:`kpi.write`,label:()=>j()}]},{group:()=>C(),keys:[{key:`openclaw.query`,label:()=>x()},{key:`anomalies.read`,label:()=>T()},{key:`anomalies.report`,label:()=>P()}]},{group:()=>R(),keys:[{key:`chats.read`,label:()=>S()},{key:`selfheal`,label:()=>L()},{key:`feedback.respond`,label:()=>O()}]},{group:()=>k(),keys:[{key:`admin.manage`,label:()=>A()}]}],oe=Z.flatMap(e=>e.keys.map(e=>e.key));function Q(e){return e.includes(`*`)}var $={key:``,name:``,description:``};function se(){let e=p(I.apiKeys.listRoles,{}),t=l(I.apiKeys.createRole),n=l(I.apiKeys.ensureRolesSeeded),x=l(I.apiKeys.updateRolePermissions).withOptimisticUpdate((e,{roleId:t,permissions:n})=>{let r=e.getQuery(I.apiKeys.listRoles,{});r&&e.setQuery(I.apiKeys.listRoles,{},r.map(e=>e._id===t?{...e,permissions:n}:e))}),S=U(),C=V(),[w,T]=(0,Y.useState)(!1),[O,k]=(0,Y.useState)($),[A,j]=(0,Y.useState)(new Set);(0,Y.useEffect)(()=>{n({}).catch(e=>{C.error(r(),e)})},[n,C]);let M=e??[];async function P(e,t){if(Q(e.permissions))return;if(e.builtin){await S({title:f({name:e.name}),description:re(),confirmLabel:y()});return}if(A.has(e._id))return;let n=e.permissions.includes(t)?e.permissions.filter(e=>e!==t):[...e.permissions,t];j(t=>new Set(t).add(e._id));try{await x({roleId:e._id,permissions:n})}catch(e){C.error(b(),e)}finally{j(t=>{let n=new Set(t);return n.delete(e._id),n})}}async function F(){try{await t({key:O.key,name:O.name,description:O.description||void 0,permissions:[]}),k($),T(!1)}catch(e){C.error(s(),e)}}let L=e===void 0,R=!L&&M.length===0;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`p`,{className:`oc-admin__hint`,children:[N(),` `,(0,X.jsx)(`code`,{children:`admin`}),` `,c(),` `,(0,X.jsx)(`code`,{children:`traces.read.content`}),` `,a()]}),(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:v()}),(0,X.jsx)(`div`,{className:`oc-dt__bar-actions`,children:(0,X.jsx)(B,{size:`sm`,onClick:()=>{k($),T(!0)},children:g()})})]}),L?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:o()}):R?(0,X.jsx)(`p`,{className:`oc-admin__hint`,children:_()}):(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:ee()}),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?ie({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:M.map(e=>{let t=Q(e.permissions),n=A.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)(K,{variant:`outline`,className:`gap-1`,children:[(0,X.jsx)(q,{}),` `,ae()]}):(0,X.jsx)(K,{variant:`secondary`,children:m()})]}),J(e)?(0,X.jsx)(`p`,{className:`oc-matrix__roledesc`,children:J(e)}):null]}),oe.map(r=>(0,X.jsx)(`td`,{className:`oc-matrix__cell`,children:(0,X.jsx)(H,{checked:t||e.permissions.includes(r),disabled:t||n,"aria-label":`${e.key} · ${r}`,title:t?u():n?E():r,onCheckedChange:()=>void P(e,r)})},r))]},e.key)})})]})})]}),(0,X.jsx)(W,{open:w,onOpenChange:T,title:i(),description:D(),canSubmit:!!(O.key&&O.name),onSubmit:F,submitLabel:d(),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:te()}),(0,X.jsx)(G,{value:O.key,placeholder:ne(),onChange:e=>k({...O,key:e.target.value})})]}),(0,X.jsxs)(`label`,{className:`oc-field`,children:[(0,X.jsx)(`span`,{className:`oc-field__label`,children:h()}),(0,X.jsx)(G,{value:O.name,onChange:e=>k({...O,name:e.target.value})})]}),(0,X.jsxs)(`label`,{className:`oc-field`,children:[(0,X.jsx)(`span`,{className:`oc-field__label`,children:z()}),(0,X.jsx)(G,{value:O.description,onChange:e=>k({...O,description:e.target.value})})]})]})})]})}export{se as RolesTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$F as r,$P as i,AF as a,AP as o,CF as s,CP as c,D as l,DF as u,DP as ee,EF as d,EP as f,FF as p,FL as m,GP as h,IF as te,JP as ne,KP as g,MF as re,MP as ie,NF as ae,NP as oe,OF as se,OP as ce,PF as le,PP as ue,QP as de,RL as fe,SF as pe,SP as me,TF as he,TP as ge,WP as _e,XP as ve,YP as _,ZP as ye,_F as be,_P as xe,aF as Se,aI as Ce,bP as we,cI as Te,dF as Ee,dI as De,dP as Oe,eF as ke,eI as Ae,fF as je,fI as Me,gF as Ne,hF as Pe,iF as Fe,iI as Ie,jL as v,jP as Le,kF as Re,kL as ze,kP as Be,lI as Ve,mF as He,nF as y,nI as Ue,oI as We,pF as Ge,pI as Ke,qP as qe,rF as b,rI as Je,sI as Ye,t as x,tF as Xe,tI as Ze,uF as Qe,uI as $e,vF as et,vP as tt,wF as nt,wP as rt,xP as it,yP as at}from"./api-BgcjjJQV.js";import{t as ot}from"./list-BwOKV6xv.js";import{t as S}from"./button-B1AigA0Z.js";import{$ as st,Bt as C,Dt as ct,Mn as w,Rt as T,X as lt,Y as ut,_t as E,at as dt,bn as ft,bt as D,cn as pt,dt as mt,et as ht,ft as gt,gt as _t,ht as vt,in as yt,it as bt,jn as O,jt as xt,mn as St,mt as Ct,nt as wt,ot as Tt,pn as Et,pt as Dt,rt as Ot,tn as kt,tt as At,un as jt,ut as k,vt as A,wt as Mt,xt as j,yt as M,zt as N}from"./index-yfG0YL8X.js";import{a as Nt,i as P,n as Pt,o as Ft,r as F,t as It}from"./table-BOtUmV9W.js";import{t as Lt}from"./FilterBar-ERKruhWz.js";/* empty css */import{a as I,c as Rt,i as zt,l as Bt,n as Vt,o as Ht,r as Ut,s as L,t as Wt}from"./TimezoneCombobox-C0q9MbXz.js";var Gt=l(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),Kt=l(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),R=t(e(),1),z=n();function B(e){try{let t=new Intl.DateTimeFormat(e,{weekday:`narrow`});return Array.from({length:7},(e,n)=>t.format(new Date(2024,0,1+n)))}catch{return[`M`,`T`,`W`,`T`,`F`,`S`,`S`]}}function qt({value:e,onChange:t}){let n=Rt(e),r=(0,R.useMemo)(()=>new Date,[]),[i,a]=(0,R.useState)(()=>({year:n?.year??r.getFullYear(),month:n?.month??r.getMonth()})),[o,s]=(0,R.useState)(!1),c=(0,R.useMemo)(()=>B(v()),[]),l=(0,R.useMemo)(()=>new Intl.DateTimeFormat(v(),{month:`long`,year:`numeric`}),[]),u=(0,R.useMemo)(()=>new Intl.DateTimeFormat(v(),{dateStyle:`medium`,timeStyle:`short`}),[]),ee=L(i.year,i.month),d=n?.hour??9,f=n?.minute??0,p=(e,n,r,i,a)=>t(Bt(e,n,r,i,a)),m=(e,t,n)=>{a({year:e,month:t}),p(e,t,n,d,f)},h=e=>{let t=new Date(i.year,i.month+e,1);a({year:t.getFullYear(),month:t.getMonth()})},te=n===null?Fe():u.format(new Date(n.year,n.month,n.day,n.hour,n.minute));return(0,z.jsxs)(T,{modal:!0,open:o,onOpenChange:s,children:[(0,z.jsx)(C,{asChild:!0,children:(0,z.jsxs)(`button`,{type:`button`,className:`oc-dtp__trigger`,"aria-label":Se(),children:[(0,z.jsx)(Gt,{size:14,"aria-hidden":!0,className:`oc-dtp__icon`}),(0,z.jsx)(`span`,{className:n===null?`oc-dtp__placeholder`:void 0,children:te})]})}),(0,z.jsxs)(N,{align:`start`,className:`oc-dtp__pop`,children:[(0,z.jsxs)(`div`,{className:`oc-dtp__head`,children:[(0,z.jsx)(`button`,{type:`button`,className:`oc-dtp__nav`,"aria-label":b(),onClick:()=>h(-1),children:(0,z.jsx)(w,{size:15,"aria-hidden":!0})}),(0,z.jsx)(`span`,{className:`oc-dtp__month`,children:l.format(new Date(i.year,i.month,1))}),(0,z.jsx)(`button`,{type:`button`,className:`oc-dtp__nav`,"aria-label":y(),onClick:()=>h(1),children:(0,z.jsx)(O,{size:15,"aria-hidden":!0})})]}),(0,z.jsxs)(`div`,{className:`oc-dtp__grid`,children:[c.map((e,t)=>(0,z.jsx)(`span`,{className:`oc-dtp__wd`,children:e},t)),ee.map((e,t)=>{let i=n!==null&&n.year===e.year&&n.month===e.month&&n.day===e.day,a=r.getFullYear()===e.year&&r.getMonth()===e.month&&r.getDate()===e.day;return(0,z.jsx)(`button`,{type:`button`,className:`oc-dtp__day`+(e.inMonth?``:` oc-dtp__day--out`)+(i?` oc-dtp__day--sel`:``)+(a&&!i?` oc-dtp__day--today`:``),onClick:()=>m(e.year,e.month,e.day),children:e.day},t)})]}),(0,z.jsxs)(`div`,{className:`oc-dtp__time`,children:[(0,z.jsxs)(E,{value:String(d),onValueChange:e=>p(i.year,i.month,n?.day??r.getDate(),Number(e),f),children:[(0,z.jsx)(D,{size:`sm`,"aria-label":Xe(),children:(0,z.jsx)(j,{})}),(0,z.jsx)(A,{className:`oc-dtp__timeopts`,children:Array.from({length:24},(e,t)=>(0,z.jsx)(M,{value:String(t),children:String(t).padStart(2,`0`)},t))})]}),(0,z.jsx)(`span`,{className:`oc-dtp__colon`,children:`:`}),(0,z.jsxs)(E,{value:String(f),onValueChange:e=>p(i.year,i.month,n?.day??r.getDate(),d,Number(e)),children:[(0,z.jsx)(D,{size:`sm`,"aria-label":ke(),children:(0,z.jsx)(j,{})}),(0,z.jsx)(A,{className:`oc-dtp__timeopts`,children:Array.from({length:60},(e,t)=>(0,z.jsx)(M,{value:String(t),children:String(t).padStart(2,`0`)},t))})]})]})]})]})}function V(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`}function Jt(e,t,n){let r=e=>String(e).padStart(2,`0`);return`${e}-${r(t+1)}-${r(n)}`}function Yt(e){let t=new Map;for(let n of e){let e=V(n.atMs),r=t.get(e);r===void 0?t.set(e,[n]):r.push(n)}for(let e of t.values())e.sort((e,t)=>e.atMs-t.atMs);return t}function H(e,t,n){let r=new Map,i=new Date(t,n+1,0).getDate();for(let a=1;a<=i;a++){let i=e.get(Jt(t,n,a));i!==void 0&&i.length>0&&r.set(a,i.length)}return r}function Xt(e){try{let t=new Intl.DateTimeFormat(e,{weekday:`narrow`});return Array.from({length:7},(e,n)=>t.format(new Date(2024,0,1+n)))}catch{return[`M`,`T`,`W`,`T`,`F`,`S`,`S`]}}function Zt(e,t){let n=(new Date(e,t,1).getDay()+6)%7,r=new Date(e,t,1-n),i=new Date(r.getFullYear(),r.getMonth(),r.getDate()+42);return{startMs:r.getTime(),endMs:i.getTime()}}function Qt(e){return{startMs:new Date(e,0,1).getTime(),endMs:new Date(e+1,0,1).getTime()}}var U=3;function $t({events:e,mode:t,cursor:n,onModeChange:r,onCursorChange:i,onEventClick:a,footnote:o}){let s=v(),c=(0,R.useMemo)(()=>Yt(e),[e]),l=(0,R.useMemo)(()=>Xt(s),[s]),u=(0,R.useMemo)(()=>new Intl.DateTimeFormat(s,{month:`long`,year:`numeric`}),[s]),ee=(0,R.useMemo)(()=>new Intl.DateTimeFormat(s,{month:`long`}),[s]),d=(0,R.useMemo)(()=>new Intl.DateTimeFormat(s,{hour:`2-digit`,minute:`2-digit`}),[s]),f=new Date,p=e=>{if(t===`year`){i({year:n.year+e,month:n.month});return}let r=new Date(n.year,n.month+e,1);i({year:r.getFullYear(),month:r.getMonth()})},m=t===`year`?String(n.year):u.format(new Date(n.year,n.month,1));return(0,z.jsxs)(`div`,{className:`oc-cal`,children:[(0,z.jsxs)(`div`,{className:`oc-cal__head`,children:[(0,z.jsxs)(`div`,{className:`oc-cal__nav`,children:[(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,"aria-label":qe(),onClick:()=>p(-1),children:(0,z.jsx)(w,{})}),(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,"aria-label":g(),onClick:()=>p(1),children:(0,z.jsx)(O,{})}),(0,z.jsx)(S,{variant:`ghost`,size:`sm`,onClick:()=>i({year:f.getFullYear(),month:f.getMonth()}),children:ne()})]}),(0,z.jsx)(`span`,{className:`oc-cal__title`,children:m}),(0,z.jsxs)(`div`,{className:`oc-cal__modes`,role:`group`,children:[(0,z.jsx)(S,{variant:t===`month`?`secondary`:`ghost`,size:`sm`,"aria-pressed":t===`month`,onClick:()=>r(`month`),children:ve()}),(0,z.jsx)(S,{variant:t===`year`?`secondary`:`ghost`,size:`sm`,"aria-pressed":t===`year`,onClick:()=>r(`year`),children:_()})]})]}),t===`month`?(0,z.jsx)(en,{cursor:n,byDay:c,weekdays:l,timeFmt:d,now:f,onEventClick:a}):(0,z.jsx)(tn,{year:n.year,byDay:c,monthShortFmt:ee,now:f,onOpenMonth:e=>{i({year:n.year,month:e}),r(`month`)}}),o?(0,z.jsx)(`p`,{className:`oc-cal__footnote`,children:o}):null]})}function en({cursor:e,byDay:t,weekdays:n,timeFmt:r,now:i,onEventClick:a}){let o=L(e.year,e.month);return(0,z.jsxs)(`div`,{className:`oc-cal__month`,children:[n.map((e,t)=>(0,z.jsx)(`span`,{className:`oc-cal__wd`,children:e},t)),o.map((e,n)=>{let o=t.get(Jt(e.year,e.month,e.day))??[],s=i.getFullYear()===e.year&&i.getMonth()===e.month&&i.getDate()===e.day;return(0,z.jsxs)(`div`,{className:`oc-cal__day`+(e.inMonth?``:` oc-cal__day--out`)+(s?` oc-cal__day--today`:``),children:[(0,z.jsx)(`span`,{className:`oc-cal__daynum`,children:e.day}),o.slice(0,U).map(e=>(0,z.jsxs)(`button`,{type:`button`,className:`oc-cal__event`+(e.muted?` oc-cal__event--muted`:``)+(e.exact?` oc-cal__event--exact`:``),style:e.color?{"--cal-ev":e.color}:void 0,title:`${r.format(e.atMs)} ${e.title}`,onClick:a?()=>a(e):void 0,children:[(0,z.jsx)(`span`,{className:`oc-cal__evdot`,"aria-hidden":!0}),(0,z.jsx)(`span`,{className:`oc-cal__evtime`,children:r.format(e.atMs)}),(0,z.jsx)(`span`,{className:`oc-cal__evtitle`,children:e.title})]},e.id)),o.length>U?(0,z.jsx)(`span`,{className:`oc-cal__more`,children:h({count:o.length-U})}):null]},n)})]})}function tn({year:e,byDay:t,monthShortFmt:n,now:r,onOpenMonth:i}){return(0,z.jsx)(`div`,{className:`oc-cal__year`,children:Array.from({length:12},(a,o)=>{let s=H(t,e,o),c=L(e,o);return(0,z.jsxs)(`button`,{type:`button`,className:`oc-cal__mini`,onClick:()=>i(o),children:[(0,z.jsx)(`span`,{className:`oc-cal__mininame`,children:n.format(new Date(e,o,1))}),(0,z.jsx)(`span`,{className:`oc-cal__minigrid`,"aria-hidden":!0,children:c.map((e,t)=>{let n=e.inMonth?s.get(e.day)??0:0,i=e.inMonth&&r.getFullYear()===e.year&&r.getMonth()===e.month&&r.getDate()===e.day;return(0,z.jsx)(`span`,{className:`oc-cal__minidot`+(e.inMonth?``:` is-out`)+(n===1?` has-one`:``)+(n>1?` has-many`:``)+(i?` is-today`:``)},t)})})]},o)})})}var W={h:36e5,min:6e4,s:1e3,ms:1};function nn(e){if(e===null)return null;let t=e.trim(),n=/^every\s+(\d+(?:\.\d+)?)(h|min|s|ms)$/.exec(t);if(n!==null){let e=Number(n[1])*W[n[2]];return Number.isFinite(e)&&e>0?{kind:`every`,everyMs:e}:null}let r=/^(?:cron\s+)?([\d*,/-]+(?:\s+[\d*,/-]+){4})(?:\s*\(([^)]+)\))?$/.exec(t);if(r!==null)return{kind:`cron`,expr:r[1],tz:r[2]??null};let i=Date.parse(t);return Number.isFinite(i)?{kind:`at`,atMs:i}:null}function G(e,t,n){let r=new Set;for(let i of e.split(`,`)){let e=i,a=1,o=/^(.+)\/(\d{1,3})$/.exec(i);if(o!==null&&(e=o[1],a=Number(o[2]),a<1))return null;let s,c;if(e===`*`)s=t,c=n;else{let r=/^(\d{1,3})(?:-(\d{1,3}))?$/.exec(e);if(r===null||(s=Number(r[1]),c=r[2]===void 0?s:Number(r[2]),r[2]===void 0&&o!==null&&(c=n),s<t||c>n||s>c))return null}for(let e=s;e<=c;e+=a)r.add(e)}return r.size>0?[...r].sort((e,t)=>e-t):null}function K(e){let t=e.trim().split(/\s+/);if(t.length!==5)return null;let n=G(t[0],0,59),r=G(t[1],0,23),i=G(t[2],1,31),a=G(t[3],1,12),o=G(t[4],0,7);if(!n||!r||!i||!a||!o)return null;let s=new Set(o.map(e=>e%7));return{minutes:n,hours:r,dom:new Set(i),months:new Set(a),dow:s,domRestricted:t[2]!==`*`,dowRestricted:t[4]!==`*`}}var q=new Map;function J(e){let t=q.get(e);if(t!==void 0)return t;let n=null;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}catch{n=null}return q.set(e,n),n}function Y(e,t){if(t!==null){let n=J(t);if(n!==null){let t={};for(let r of n.formatToParts(e))r.type!==`literal`&&(t[r.type]=Number(r.value));return{y:t.year,mo:t.month-1,d:t.day,h:t.hour===24?0:t.hour,mi:t.minute}}}let n=new Date(e);return{y:n.getFullYear(),mo:n.getMonth(),d:n.getDate(),h:n.getHours(),mi:n.getMinutes()}}function X(e,t,n,r,i,a){if(a===null||J(a)===null)return new Date(e,t,n,r,i).getTime();let o=Date.UTC(e,t,n,r,i),s=e=>{let t=Y(e,a);return Date.UTC(t.y,t.mo,t.d,t.h,t.mi)-e},c=s(o),l=o-c,u=s(l);return u!==c&&(l=o-u),l}function Z(e,t,n,r){let i=new Map,a=(e,t)=>{e<n||e>=r||i.set(e,t||(i.get(e)??!1))};if(e?.kind===`at`)a(e.atMs,!0);else if(e?.kind===`every`){if(t!==null){let i=e.everyMs,o=Math.ceil((n-t)/i);for(let e=t+o*i,n=0;e<r&&n<400;e+=i,n++)a(e,e===t)}}else if(e?.kind===`cron`){let t=K(e.expr);if(t!==null&&t.hours.length*t.minutes.length<=400){let i=0,o=n-864e5;for(;o<r+864e5&&i<400;){let s=Y(o,e.tz);if(t.months.has(s.mo+1)){let o=new Date(Date.UTC(s.y,s.mo,s.d)).getUTCDay(),c=t.dom.has(s.d),l=t.dow.has(o);if(t.domRestricted&&t.dowRestricted?c||l:c&&l)for(let o of t.hours)for(let c of t.minutes){if(i>=400)break;let t=X(s.y,s.mo,s.d,o,c,e.tz);t>=n&&t<r&&(a(t,!1),i++)}}o=X(s.y,s.mo,s.d,12,0,e.tz)+864e5}}}return t!==null&&a(t,!0),[...i.entries()].map(([e,t])=>({atMs:e,exact:t})).sort((e,t)=>e.atMs-t.atMs).slice(0,400)}var Q=`crons`;function rn(e,t){return`${e}${t}`}function an(e,t,n){let r=[],i=new Map;for(let a of e){let{job:e}=a;if(e.id===null)continue;let o=rn(a.instanceName,e.id);i.set(o,a);let s=Z(e.enabled===!1?null:nn(e.schedule),e.nextRunAtMs,t,n);for(let t of s)r.push({id:`${o}:${t.atMs}`,sourceId:Q,itemId:o,atMs:t.atMs,title:e.name??e.id,muted:e.enabled===!1,exact:t.exact})}return{events:r,byItemId:i}}var $={minutes:6e4,hours:36e5,days:864e5};function on(e){return e?.data?.code??`unknown`}function sn({status:e}){switch(I(e)){case`ok`:return(0,z.jsx)(k,{variant:`secondary`,children:be()});case`error`:return(0,z.jsx)(k,{variant:`destructive`,children:Ne()});case`running`:return(0,z.jsx)(k,{variant:`outline`,children:Pe()});case`other`:return(0,z.jsx)(k,{variant:`outline`,children:e});case`none`:return(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`})}}function cn(){let e=m(x.scheduled.listMyCrons),t=m(x.scheduled.getCronDetail),n=m(x.scheduled.listCronRuns),l=m(x.scheduled.updateCron),h=m(x.scheduled.removeCron),ne=m(x.scheduled.runCronNow),g=ct(),ve=fe(x.me.getMe,{host:Mt})?.timezone,[_,Se]=(0,R.useState)(null),[ke,Fe]=(0,R.useState)(!1),[y,qe]=(0,R.useState)(!1),[b,Xe]=(0,R.useState)(null),[C,w]=(0,R.useState)(null),[T,O]=(0,R.useState)(null),[N,I]=(0,R.useState)(null),[Rt,Bt]=(0,R.useState)(!1),[L,B]=(0,R.useState)(Vt),[V,Jt]=(0,R.useState)(()=>new URLSearchParams(window.location.search).get(`job`)===null&&localStorage.getItem(`oc.sched.view`)===`calendar`?`calendar`:`list`),Yt=e=>{localStorage.setItem(`oc.sched.view`,e),Jt(e)},[H,Xt]=(0,R.useState)(`month`),[U,en]=(0,R.useState)(()=>{let e=new Date;return{year:e.getFullYear(),month:e.getMonth()}}),tn=(0,R.useMemo)(()=>{let e=[];for(let t of _??[]){if(!t.supported||t.error!==null)continue;let n=t.kind===`openclaw`&&t.manageSupported;for(let r of t.jobs)zt(r,L)&&e.push({instanceName:t.instanceName,canEdit:n,job:r})}return e},[_,L]),W=(0,R.useMemo)(()=>H===`year`?Qt(U.year):Zt(U.year,U.month),[H,U]),nn=(0,R.useMemo)(()=>an(tn,W.startMs,W.endMs),[tn,W]),G=e=>{let t=nn.byItemId.get(e.itemId);t===void 0||!t.canEdit||t.job.id===null||cn(t.instanceName,t.job)},K=(0,R.useCallback)(async()=>{Fe(!0),qe(!1);try{Se(await e({}))}catch{qe(!0)}finally{Fe(!1)}},[e]);(0,R.useEffect)(()=>{K()},[K]);let q=(0,R.useMemo)(()=>new URLSearchParams(window.location.search).get(`job`),[]),J=(0,R.useRef)(null);(0,R.useEffect)(()=>{_!==null&&J.current!==null&&J.current.scrollIntoView({block:`center`})},[_]);let Y=(0,R.useMemo)(()=>new Intl.DateTimeFormat(v(),{dateStyle:`medium`,timeStyle:`short`}),[]),X=async(e,t,n)=>{Xe(e);try{await t(),g.success(n),await K()}catch(e){g.toast({variant:`error`,title:a({code:on(e)})})}finally{Xe(null)}},Z=(0,R.useRef)(0),Q=(0,R.useRef)(0),rn=async(e,t)=>{if(t.id===null)return;let r=++Z.current;O({name:t.name??t.id,entries:null});try{let i=await n({instanceName:e,jobId:t.id,limit:20});if(r!==Z.current)return;O({name:t.name??t.id,entries:i})}catch(e){if(r!==Z.current)return;O(null),g.toast({variant:`error`,title:a({code:on(e)})})}},cn=async(e,n)=>{if(n.id===null)return;let r=++Q.current;I({instanceName:e,jobId:n.id,loading:!0,name:n.name??``,scheduleKind:`cron`,cronExpr:``,tz:``,everyValue:`1`,everyUnit:`hours`,at:``,message:``,hasMessage:!1,scheduleDirty:!1,messageDirty:!1,nameDirty:!1});try{let i=(await t({instanceName:e,jobId:n.id})).job,a=i.scheduleKind===`every`||i.scheduleKind===`at`?i.scheduleKind:`cron`,o=``;if(a===`at`&&i.scheduleExpr!==null){let e=Date.parse(i.scheduleExpr);Number.isFinite(e)&&(o=new Date(e-new Date(e).getTimezoneOffset()*6e4).toISOString().slice(0,16))}let s=`1`,c=`hours`;if(a===`every`&&i.scheduleExpr!==null){let e=Number(i.scheduleExpr);Number.isFinite(e)&&e>0&&(e%$.days===0?(s=String(e/$.days),c=`days`):e%$.hours===0?(s=String(e/$.hours),c=`hours`):(s=String(Math.max(1,Math.round(e/$.minutes))),c=`minutes`))}if(r!==Q.current)return;I(e=>e===null||e.jobId!==n.id?e:{...e,loading:!1,name:i.name??e.name,scheduleKind:a,cronExpr:a===`cron`?i.scheduleExpr??``:``,tz:i.tz??``,everyValue:s,everyUnit:c,at:o,message:i.message??``,hasMessage:i.message!==null&&!i.messageTruncated})}catch(e){if(r!==Q.current)return;I(null),g.toast({variant:`error`,title:a({code:on(e)})})}},ln=async()=>{if(N===null)return;let e={};if(N.nameDirty&&N.name.trim()===``||N.messageDirty&&N.hasMessage&&N.message.trim()===``){g.toast({variant:`error`,title:xe()});return}if(N.nameDirty&&N.name.trim()!==``&&(e.name=N.name.trim()),N.scheduleDirty){if(N.scheduleKind===`cron`&&N.cronExpr.trim()!==``)e.schedule={kind:`cron`,expr:N.cronExpr.trim(),...N.tz.trim()===``?{}:{tz:N.tz.trim()}};else if(N.scheduleKind===`every`){let t=Number(N.everyValue);Number.isFinite(t)&&t>=1&&(e.schedule={kind:`every`,everyMs:Math.round(t*$[N.everyUnit])})}else if(N.scheduleKind===`at`&&N.at!==``){let t=Date.parse(N.at);Number.isFinite(t)&&(e.schedule={kind:`at`,at:new Date(t).toISOString()})}}if(N.scheduleDirty&&e.schedule===void 0){g.toast({variant:`error`,title:tt()});return}if(N.messageDirty&&N.hasMessage&&N.message.trim()!==``&&(e.message=N.message.trim()),Object.keys(e).length===0){I(null);return}let t=Q.current;Bt(!0);try{await l({instanceName:N.instanceName,jobId:N.jobId,patch:e}),g.success(Le()),t===Q.current&&I(null),await K()}catch(e){g.toast({variant:`error`,title:a({code:on(e)})})}finally{Bt(!1)}},un=_?.reduce((e,t)=>e+t.jobs.length,0)??0;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(`div`,{style:{display:`flex`,alignItems:`flex-start`,gap:8,marginBottom:12},children:[(0,z.jsx)(`p`,{className:`oc-admin__hint`,style:{flex:1,margin:0},children:Ke()}),(0,z.jsxs)(`div`,{className:`oc-sched__viewtoggle`,role:`group`,"aria-label":i(),children:[(0,z.jsx)(S,{variant:V===`list`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":de(),title:de(),"aria-pressed":V===`list`,onClick:()=>Yt(`list`),children:(0,z.jsx)(ot,{})}),(0,z.jsx)(S,{variant:V===`calendar`?`secondary`:`ghost`,size:`icon-sm`,"aria-label":ye(),title:ye(),"aria-pressed":V===`calendar`,onClick:()=>Yt(`calendar`),children:(0,z.jsx)(Gt,{})})]}),(0,z.jsxs)(S,{variant:`ghost`,size:`sm`,onClick:()=>void K(),disabled:ke,style:{display:`inline-flex`,alignItems:`center`,gap:4},children:[(0,z.jsx)(pt,{size:14,"aria-hidden":!0}),Me()]})]}),_!==null&&un>0?(0,z.jsxs)(Lt,{q:L.q,onQChange:e=>B(t=>({...t,q:e})),searchPlaceholder:Ge(),onReset:()=>B(Vt),canReset:Ut(L),children:[(0,z.jsxs)(E,{value:L.state,onValueChange:e=>B(t=>({...t,state:e})),children:[(0,z.jsx)(D,{size:`sm`,className:`w-40`,children:(0,z.jsx)(j,{})}),(0,z.jsxs)(A,{children:[(0,z.jsx)(M,{value:`all`,children:je()}),(0,z.jsx)(M,{value:`active`,children:r()}),(0,z.jsx)(M,{value:`paused`,children:Ae()})]})]}),(0,z.jsxs)(E,{value:L.result,onValueChange:e=>B(t=>({...t,result:e})),children:[(0,z.jsx)(D,{size:`sm`,className:`w-40`,children:(0,z.jsx)(j,{})}),(0,z.jsxs)(A,{children:[(0,z.jsx)(M,{value:`all`,children:Ee()}),(0,z.jsx)(M,{value:`ok`,children:be()}),(0,z.jsx)(M,{value:`error`,children:Ne()}),(0,z.jsx)(M,{value:`running`,children:Pe()}),(0,z.jsx)(M,{value:`none`,children:He()})]})]})]}):null,_===null?(0,z.jsx)(`p`,{className:`oc-admin__hint`,"aria-busy":ke,children:y?De():ze()}):V===`calendar`?(0,z.jsxs)(z.Fragment,{children:[y?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:De()}):null,_.length===0?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:$e()}):(0,z.jsx)($t,{events:nn.events,mode:H,cursor:U,onModeChange:Xt,onCursorChange:en,onEventClick:G,footnote:_e()})]}):(0,z.jsxs)(z.Fragment,{children:[y?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:De()}):null,_.length===0?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:$e()}):null,_.map(e=>{let t=e.jobs.filter(e=>zt(e,L)),n=Ut(L)&&e.jobs.length>0&&t.length===0;return(0,z.jsxs)(`section`,{style:{marginBottom:20},children:[_.length>1||e.error||!e.supported?(0,z.jsxs)(`h3`,{style:{display:`flex`,alignItems:`center`,gap:8,fontSize:`0.85rem`,fontWeight:600,margin:`0 0 6px`},children:[e.instanceName,(0,z.jsx)(k,{variant:`outline`,children:e.kind})]}):null,e.supported?e.error?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:Te({code:e.error})}):e.jobs.length===0?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:Ye()}):n?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:Qe()}):(0,z.jsxs)(It,{children:[(0,z.jsx)(Nt,{children:(0,z.jsxs)(Ft,{children:[(0,z.jsx)(P,{children:We()}),(0,z.jsx)(P,{children:Ce()}),(0,z.jsx)(P,{children:Ie()}),(0,z.jsx)(P,{children:Je()}),(0,z.jsx)(P,{children:Ue()}),(0,z.jsx)(P,{children:et()}),(0,z.jsx)(P,{children:ue()})]})}),(0,z.jsx)(Pt,{children:t.map((t,n)=>{let i=`${e.instanceName}:${t.id??n}`,a=b===i,o=e.manageSupported,s=e.kind===`openclaw`&&o;return(0,z.jsxs)(Ft,{ref:t.id!==null&&t.id===q?J:void 0,"data-state":t.id!==null&&t.id===q?`selected`:void 0,children:[(0,z.jsx)(F,{className:`font-medium`,style:{maxWidth:280,overflow:`hidden`,textOverflow:`ellipsis`},title:t.name??void 0,children:t.name??Ze()}),(0,z.jsx)(F,{children:(0,z.jsx)(k,{variant:`secondary`,children:t.agentId})}),(0,z.jsxs)(F,{className:`whitespace-nowrap`,children:[(0,z.jsx)(`span`,{style:{fontFamily:`var(--font-mono, monospace)`},children:t.schedule??`—`}),(()=>{let e=ut(t.schedule),n=e===null?null:lt(e);return n===null?null:(0,z.jsx)(`span`,{className:`text-muted-foreground`,style:{display:`block`,fontSize:`0.78rem`},children:n})})()]}),(0,z.jsx)(F,{className:`whitespace-nowrap text-muted-foreground`,children:t.nextRunAtMs===null?`—`:Y.format(t.nextRunAtMs)}),(0,z.jsx)(F,{children:Ht(t.enabled)===`active`?(0,z.jsx)(k,{variant:`secondary`,children:r()}):Ht(t.enabled)===`paused`?(0,z.jsx)(k,{variant:`outline`,children:Ae()}):(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`})}),(0,z.jsx)(F,{children:(0,z.jsx)(sn,{status:t.lastRunStatus})}),(0,z.jsx)(F,{className:`whitespace-nowrap`,children:t.id===null?(0,z.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):a?(0,z.jsx)(ft,{size:14,className:`oc-actrow__spin`,"aria-hidden":!0}):(0,z.jsxs)(`span`,{className:`oc-cronactions`,children:[s?(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,title:p(),"aria-label":p(),disabled:b!==null,onClick:()=>void X(i,async()=>{let n=await ne({instanceName:e.instanceName,jobId:t.id});if(n.ran!==!0&&n.runId===null)throw{data:{code:n.reason??`run_not_started`}}},Re()),children:(0,z.jsx)(kt,{size:14,"aria-hidden":!0})}):null,s&&t.enabled!==null?(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,title:t.enabled?le():ae(),"aria-label":t.enabled?le():ae(),disabled:b!==null,onClick:()=>void X(i,()=>l({instanceName:e.instanceName,jobId:t.id,patch:{enabled:!t.enabled}}),t.enabled?se():u()),children:t.enabled?(0,z.jsx)(St,{size:14,"aria-hidden":!0}):(0,z.jsx)(jt,{size:14,"aria-hidden":!0})}):null,s?(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,title:oe(),"aria-label":oe(),disabled:b!==null,onClick:()=>void cn(e.instanceName,t),children:(0,z.jsx)(Et,{size:14,"aria-hidden":!0})}):null,s?(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,title:ie(),"aria-label":ie(),disabled:b!==null,onClick:()=>void rn(e.instanceName,t),children:(0,z.jsx)(Kt,{size:14,"aria-hidden":!0})}):null,o?(0,z.jsx)(S,{variant:`ghost`,size:`icon-sm`,title:re(),"aria-label":re(),disabled:b!==null,onClick:()=>w({instanceName:e.instanceName,jobId:t.id,name:t.name??t.id}),children:(0,z.jsx)(yt,{size:14,"aria-hidden":!0})}):null]})})]},t.id??`${e.instanceName}-${n}`)})})]}):(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:Ve()})]},e.instanceName)}),un>0?(0,z.jsx)(`p`,{className:`oc-admin__hint`,style:{marginTop:4},children:Oe()}):null]}),(0,z.jsx)(st,{open:C!==null,onOpenChange:e=>{e||w(null)},children:(0,z.jsxs)(wt,{children:[(0,z.jsxs)(dt,{children:[(0,z.jsx)(Tt,{children:he()}),(0,z.jsx)(Ot,{children:nt({name:C?.name??``})})]}),(0,z.jsxs)(bt,{children:[(0,z.jsx)(At,{children:s()}),(0,z.jsx)(ht,{onClick:()=>{let e=C;w(null),e!==null&&X(`${e.instanceName}:${e.jobId}`,()=>h({instanceName:e.instanceName,jobId:e.jobId}),d())},children:pe()})]})]})}),(0,z.jsx)(mt,{open:T!==null,onOpenChange:e=>{e||(Z.current++,O(null))},children:(0,z.jsxs)(gt,{style:{maxWidth:640},children:[(0,z.jsx)(vt,{children:(0,z.jsx)(_t,{children:o({name:T?.name??``})})}),T?.entries===null?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:ze()}):T!==null&&T.entries.length===0?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:Be()}):T===null?null:(0,z.jsx)(`div`,{className:`oc-cronpanel__runs`,style:{maxHeight:420,overflowY:`auto`},children:T.entries.map((e,t)=>(0,z.jsxs)(`div`,{className:`oc-cronpanel__run`,children:[(0,z.jsxs)(`div`,{className:`oc-cronpanel__run-head`,children:[(0,z.jsx)(sn,{status:e.status}),(0,z.jsx)(`span`,{children:typeof(e.runAtMs??e.ts)==`number`?Y.format(e.runAtMs??e.ts):`—`}),typeof e.durationMs==`number`?(0,z.jsxs)(`span`,{className:`oc-cronpanel__run-dur`,children:[Math.round(e.durationMs/1e3),`s`]}):null]}),e.summary===null?null:(0,z.jsx)(`div`,{className:`oc-cronpanel__run-summary`,children:e.summary}),e.error===null?null:(0,z.jsx)(`div`,{className:`oc-cronpanel__run-error`,children:e.error})]},t))})]})}),(0,z.jsx)(mt,{open:N!==null,onOpenChange:e=>{e||(Q.current++,I(null))},children:(0,z.jsxs)(gt,{className:`oc-cronedit`,children:[(0,z.jsxs)(vt,{children:[(0,z.jsx)(_t,{children:ce()}),(0,z.jsx)(Dt,{children:ee()})]}),N===null?null:N.loading?(0,z.jsx)(`p`,{className:`oc-admin__hint`,children:ze()}):(0,z.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:12},children:[(0,z.jsxs)(`label`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,z.jsx)(`span`,{className:`oc-admin__hint`,style:{margin:0},children:We()}),(0,z.jsx)(xt,{value:N.name,maxLength:200,onChange:e=>I({...N,name:e.target.value,nameDirty:!0})})]}),(0,z.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,z.jsx)(`span`,{className:`oc-admin__hint`,style:{margin:0},children:f()}),(0,z.jsxs)(E,{value:N.scheduleKind,onValueChange:e=>I({...N,scheduleKind:e,scheduleDirty:!0}),children:[(0,z.jsx)(D,{children:(0,z.jsx)(j,{})}),(0,z.jsxs)(A,{children:[(0,z.jsx)(M,{value:`cron`,children:ge()}),(0,z.jsx)(M,{value:`every`,children:rt()}),(0,z.jsx)(M,{value:`at`,children:c()})]})]}),N.scheduleKind===`cron`?(0,z.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,z.jsx)(xt,{value:N.cronExpr,onChange:e=>I({...N,cronExpr:e.target.value,scheduleDirty:!0}),placeholder:`30 9 * * *`,style:{fontFamily:`var(--font-mono, monospace)`}}),(0,z.jsx)(Wt,{value:N.tz,onChange:e=>I({...N,tz:e,scheduleDirty:!0}),fallbackTz:ve??void 0})]}):N.scheduleKind===`every`?(0,z.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[(0,z.jsx)(xt,{type:`number`,min:1,value:N.everyValue,onChange:e=>I({...N,everyValue:e.target.value,scheduleDirty:!0}),style:{maxWidth:120}}),(0,z.jsxs)(E,{value:N.everyUnit,onValueChange:e=>I({...N,everyUnit:e,scheduleDirty:!0}),children:[(0,z.jsx)(D,{style:{maxWidth:160},children:(0,z.jsx)(j,{})}),(0,z.jsxs)(A,{children:[(0,z.jsx)(M,{value:`minutes`,children:me()}),(0,z.jsx)(M,{value:`hours`,children:it()}),(0,z.jsx)(M,{value:`days`,children:we()})]})]})]}):(0,z.jsx)(qt,{value:N.at,onChange:e=>I({...N,at:e,scheduleDirty:!0})})]}),N.hasMessage?(0,z.jsxs)(`label`,{style:{display:`flex`,flexDirection:`column`,gap:4},children:[(0,z.jsx)(`span`,{className:`oc-admin__hint`,style:{margin:0},children:te()}),(0,z.jsx)(`textarea`,{className:`oc-cronedit__textarea`,rows:4,value:N.message,onChange:e=>I({...N,message:e.target.value,messageDirty:!0})})]}):null]}),(0,z.jsxs)(Ct,{children:[(0,z.jsx)(S,{variant:`ghost`,onClick:()=>I(null),children:s()}),(0,z.jsxs)(S,{onClick:()=>void ln(),disabled:N===null||N.loading||Rt,children:[Rt?(0,z.jsx)(ft,{size:14,className:`oc-actrow__spin`,"aria-hidden":!0}):null,at()]})]})]})})]})}export{cn as ScheduledTab};
@@ -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,BA as a,Bj as ee,Cj as te,Dj as ne,Ej as re,FA as o,FL as ie,Fj as ae,GA as s,Gj as oe,HA as c,Hj as se,IA as l,Ij as ce,JA as u,Jj as le,KA as d,Kj as f,LA as p,LL as m,Lj as ue,MA as h,Mj as de,NA as fe,Nj as pe,Oj as me,PA as he,Pj as ge,QA as _e,Qj as ve,RA as g,RL as _,Rj as ye,Sj as be,Tj as xe,UA as v,Uj as Se,VA as y,Vj as Ce,WA as b,Wj as we,XA as x,Xj as Te,YA as S,Yj as Ee,ZA as C,Zj as De,_j as Oe,aj as ke,bj as Ae,cj as je,dj as Me,ej as w,fj as Ne,gj as Pe,hj as Fe,ij as Ie,jj as Le,kj as Re,lj as ze,mj as Be,nj as Ve,oj as He,pj as Ue,qA as T,qj as E,rj as We,sj as Ge,t as D,tj as O,uj as Ke,vj as qe,wj as Je,xj as Ye,yj as Xe,zA as k,zj as Ze}from"./api-BgcjjJQV.js";import{t as A}from"./check-Cc69KF2k.js";import{r as Qe}from"./dist-GuFbf2Iz.js";import{t as j}from"./button-B1AigA0Z.js";import{Dt as $e,Fn as et,On as M,Pn as tt,Z as nt,_ as rt,_t as N,bt as P,ct as F,dt as I,ft as L,gt as R,ht as z,jn as it,jt as B,mt as at,pt as ot,st as V,ut as H,vt as U,xt as W,yt as G}from"./index-yfG0YL8X.js";import{t as st}from"./FilterBar-ERKruhWz.js";import{t as ct}from"./DataTableShell-DEnRs2mH.js";import{t as lt}from"./roleDescriptions-C-rAs0lx.js";var K=t(e(),1),q=n(),J=[{value:`never`,label:()=>g(),days:null},{value:`30`,label:()=>p(),days:30},{value:`90`,label:()=>l(),days:90}],Y=720*60*60*1e3,X=`__all__`,Z={name:``,roleKey:``,description:``};function Q(){let e=et({from:`/settings/serviceAccounts`}),t=tt({from:`/settings/serviceAccounts`}),n=e.q??``,r=e.status??X,[a,o]=(0,K.useState)(X),s=e=>void t({search:t=>({...t,q:e||void 0}),replace:!0}),c=e=>void t({search:t=>({...t,status:e===X?void 0:e})}),l=_(D.apiKeys.listServiceAccounts,{filter:{q:n||void 0,role:a===X?void 0:a,disabled:r===X?void 0:r===`disabled`}}),u=_(D.apiKeys.listKeys,{}),d=_(D.apiKeys.listRoles,{}),p=m(D.apiKeys.createServiceAccount),h=m(D.apiKeys.updateServiceAccount),fe=m(D.apiKeys.deleteServiceAccount),he=ie(D.apiKeys.mintApiKey),_e=m(D.apiKeys.revokeApiKey),g=nt(),v=$e(),y=n!==``||a!==X||r!==X;function b(){o(X),t({search:{},replace:!0})}let[x,S]=(0,K.useState)(!1),[C,w]=(0,K.useState)(Z),[T,O]=(0,K.useState)(null),[k,A]=(0,K.useState)(new Set),[M,F]=(0,K.useState)(null),I=(0,K.useRef)(!1),[L,R]=(0,K.useState)(new Set),[z,at]=(0,K.useState)({}),[ot,V]=(0,K.useState)(null),Y=(0,K.useMemo)(()=>{let e=new Map;for(let t of u??[]){let n=e.get(t.serviceAccountId)??[];n.push(t),e.set(t.serviceAccountId,n)}return e},[u]);function Q(e){A(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function ft(){try{T?(await h({serviceAccountId:T,name:C.name,roleKey:C.roleKey,description:C.description}),v.success(Pe())):await p({name:C.name,roleKey:C.roleKey,description:C.description||void 0}),w(Z),O(null),S(!1)}catch(e){v.error(T?Oe():qe(),e)}}function pt(e){w({name:e.name,roleKey:e.roleKey,description:e.description??``}),O(e._id),S(!0)}async function mt(e){if(I.current)return;I.current=!0;let t=z[e._id]??`never`,n=J.find(e=>e.value===t)?.days??null,r=n?Date.now()+n*24*60*60*1e3:void 0;F(e._id);try{let t=await he({serviceAccountId:e._id,expiresAt:r});V({accountName:e.name,plaintext:t.plaintext,prefix:t.prefix,lastFour:t.lastFour})}catch(e){v.error(Fe(),e)}finally{I.current=!1,F(null)}}async function $(e){if(await g({title:Be(),description:(0,q.jsxs)(q.Fragment,{children:[Ue(),` `,(0,q.jsx)(`span`,{className:`font-mono`,children:e.name}),` `,Ne(),` `,(0,q.jsx)(`strong`,{children:Me()}),` `,Ke()]}),confirmWord:e.name,confirmLabel:ze(),destructive:!0}))try{await fe({serviceAccountId:e._id}),v.success(je(),e.name)}catch(e){v.error(Ge(),e)}}async function ht(e){if(await g({title:He(),description:(0,q.jsxs)(q.Fragment,{children:[ke(),` `,(0,q.jsxs)(`span`,{className:`font-mono`,children:[e.prefix,`…`,e.lastFour]}),` `,Ie()]}),confirmLabel:We(),destructive:!0})&&!L.has(e._id)){R(t=>new Set(t).add(e._id));try{await _e({keyId:e._id})}catch(e){v.error(Ve(),e)}finally{R(t=>{let n=new Set(t);return n.delete(e._id),n})}}}return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`oc-admin__hint`,children:ve()}),(0,q.jsxs)(st,{q:n,onQChange:s,searchPlaceholder:De(),onReset:b,canReset:y,children:[(0,q.jsxs)(N,{value:a,onValueChange:o,children:[(0,q.jsx)(P,{size:`sm`,className:`w-40`,children:(0,q.jsx)(W,{placeholder:Te()})}),(0,q.jsxs)(U,{children:[(0,q.jsx)(G,{value:X,children:Ee()}),(d??[]).map(e=>(0,q.jsx)(G,{value:e.key,children:e.key},e._id))]})]}),(0,q.jsxs)(N,{value:r,onValueChange:c,children:[(0,q.jsx)(P,{size:`sm`,className:`w-36`,children:(0,q.jsx)(W,{})}),(0,q.jsxs)(U,{children:[(0,q.jsx)(G,{value:X,children:le()}),(0,q.jsx)(G,{value:`active`,children:E()}),(0,q.jsx)(G,{value:`disabled`,children:f()})]})]})]}),(0,q.jsx)(ct,{title:oe(),rows:l,addLabel:we(),onAdd:()=>{w(Z),O(null),S(!0)},emptyHint:Se(),isExpanded:e=>k.has(e._id),renderExpanded:e=>(0,q.jsx)(ut,{account:e,keys:Y.get(e._id)??[],onRevoke:ht,revoking:L}),rowActions:e=>[{label:Ze(),onSelect:()=>pt(e)},{label:se(),onSelect:()=>void mt(e)},{label:k.has(e._id)?Ce():ee(),onSelect:()=>Q(e._id)},{label:ye(),variant:`destructive`,onSelect:()=>void $(e)}],columns:[{header:``,className:`w-8`,cell:e=>(0,q.jsx)(j,{variant:`ghost`,size:`icon-sm`,"aria-label":k.has(e._id)?ue():ce(),onClick:()=>Q(e._id),children:k.has(e._id)?(0,q.jsx)(Qe,{}):(0,q.jsx)(it,{})})},{header:ae(),sort:e=>e.name,cell:e=>(0,q.jsxs)(`div`,{className:`flex flex-col`,children:[(0,q.jsx)(`span`,{children:e.name}),e.description?(0,q.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.description}):null]})},{header:ge(),sort:e=>e.roleKey,cell:e=>(0,q.jsx)(H,{variant:`secondary`,children:e.roleKey})},{header:pe(),sort:e=>+!!e.disabled,cell:e=>e.disabled?(0,q.jsx)(H,{variant:`destructive`,children:f()}):(0,q.jsx)(H,{variant:`outline`,children:E()})},{header:de(),cell:e=>(0,q.jsxs)(N,{value:z[e._id]??`never`,onValueChange:t=>at(n=>({...n,[e._id]:t})),children:[(0,q.jsx)(P,{size:`sm`,className:`w-32`,children:(0,q.jsx)(W,{})}),(0,q.jsx)(U,{children:J.map(e=>(0,q.jsx)(G,{value:e.value,children:e.label()},e.value))})]})},{header:Le(),sort:e=>(Y.get(e._id)??[]).filter(e=>!e.disabled).length,cell:e=>{let t=(Y.get(e._id)??[]).filter(e=>!e.disabled).length;return(0,q.jsx)(`span`,{className:`oc-sa__keycount`,children:M===e._id?i():Re({count:t})})}}]}),(0,q.jsx)(rt,{open:x,onOpenChange:e=>{S(e),e||O(null)},title:T?me():xe(),description:T?ne():Je(),canSubmit:!!(C.name&&C.roleKey),onSubmit:ft,submitLabel:T?re():te(),children:(0,q.jsxs)(`div`,{className:`oc-form`,children:[(0,q.jsxs)(`label`,{className:`oc-field`,children:[(0,q.jsx)(`span`,{className:`oc-field__label`,children:be()}),(0,q.jsx)(B,{value:C.name,onChange:e=>w({...C,name:e.target.value})})]}),(0,q.jsxs)(`label`,{className:`oc-field`,children:[(0,q.jsx)(`span`,{className:`oc-field__label`,children:Ye()}),(0,q.jsxs)(N,{value:C.roleKey||void 0,onValueChange:e=>w({...C,roleKey:e}),children:[(0,q.jsx)(P,{className:`w-full`,children:(0,q.jsx)(W,{placeholder:Ae()})}),(0,q.jsx)(U,{children:(d??[]).map(e=>(0,q.jsxs)(G,{value:e.key,children:[e.name,` (`,e.key,`)`]},e._id))})]}),(()=>{let e=(d??[]).find(e=>e.key===C.roleKey),t=e?lt(e):null;return t?(0,q.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:t}):null})()]}),(0,q.jsxs)(`label`,{className:`oc-field`,children:[(0,q.jsx)(`span`,{className:`oc-field__label`,children:Xe()}),(0,q.jsx)(B,{value:C.description,onChange:e=>w({...C,description:e.target.value})})]})]})}),(0,q.jsx)(dt,{minted:ot,onClose:()=>V(null)})]})}function ut({account:e,keys:t,onRevoke:n,revoking:i}){return(0,q.jsxs)(`div`,{className:`oc-sa__keys`,children:[(0,q.jsxs)(`div`,{className:`oc-sa__keys-head`,children:[O(),` `,(0,q.jsx)(`span`,{className:`font-medium`,children:e.name})]}),t.length===0?(0,q.jsx)(`p`,{className:`oc-admin__hint`,children:w()}):(0,q.jsxs)(`table`,{className:`oc-sa__keytable`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:r()}),(0,q.jsx)(`th`,{children:_e()}),(0,q.jsx)(`th`,{children:C()}),(0,q.jsx)(`th`,{children:x()}),(0,q.jsx)(`th`,{children:S()}),(0,q.jsx)(`th`,{children:u()}),(0,q.jsx)(`th`,{})]})}),(0,q.jsx)(`tbody`,{children:t.map(t=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`td`,{children:(0,q.jsxs)(`code`,{className:`oc-sa__keyid`,children:[t.prefix,`…`,t.lastFour]})}),(0,q.jsx)(`td`,{children:(0,q.jsx)(H,{variant:`secondary`,children:e.roleKey})}),(0,q.jsx)(`td`,{children:F(t.createdAt)}),(0,q.jsx)(`td`,{className:ft(t.lastUsedAt)?`oc-sa__stale`:``,children:pt(t.lastUsedAt)}),(0,q.jsx)(`td`,{children:mt(t.expiresAt)}),(0,q.jsx)(`td`,{children:$(t)}),(0,q.jsx)(`td`,{className:`text-right`,children:t.disabled?null:(0,q.jsx)(j,{variant:`destructive`,size:`sm`,disabled:i.has(t._id),onClick:()=>n(t),children:i.has(t._id)?T():d()})})]},t._id))})]})]})}function dt({minted:e,onClose:t}){let[n,r]=(0,K.useState)(!1);async function i(){if(e)try{await navigator.clipboard.writeText(e.plaintext),r(!0),window.setTimeout(()=>r(!1),2e3)}catch{}}return(0,q.jsx)(I,{open:e!==null,onOpenChange:e=>{e||(r(!1),t())},children:e?(0,q.jsxs)(L,{className:`max-w-lg`,showCloseButton:!1,onInteractOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),children:[(0,q.jsxs)(z,{children:[(0,q.jsx)(R,{children:s()}),(0,q.jsx)(ot,{children:b({name:e.accountName})})]}),(0,q.jsx)(`div`,{className:`oc-sa__minted-warning`,children:v()}),(0,q.jsxs)(`div`,{className:`oc-sa__minted-box`,children:[(0,q.jsx)(`code`,{className:`oc-sa__minted-plain`,children:e.plaintext}),(0,q.jsxs)(j,{variant:`outline`,size:`sm`,onClick:()=>void i(),"aria-label":c(),children:[n?(0,q.jsx)(A,{}):(0,q.jsx)(M,{}),n?y():a()]})]}),(0,q.jsx)(at,{children:(0,q.jsx)(j,{onClick:()=>{r(!1),t()},children:k()})})]}):null})}function ft(e){return e===null?!1:Date.now()-e>Y}function pt(e){return e===null?o():F(e)}function mt(e){return e===null?`—`:V(e)}function $(e){return e.disabled?(0,q.jsx)(H,{variant:`destructive`,children:he()}):e.expiresAt!==null&&e.expiresAt<Date.now()?(0,q.jsx)(H,{variant:`outline`,children:fe()}):(0,q.jsx)(H,{variant:`outline`,children:h()})}export{Q as ServiceAccountsTab};
@@ -1 +0,0 @@
1
- import{a as e,l as t,r as n}from"./bundle-mjs-C73ZY4La.js";import{$o as r,As as i,Cs as a,Ds as o,Es as s,Jo as c,LL as l,Ms as u,Os as d,Qo as f,RL as p,Ss as m,Ts as h,Xo as g,Yo as _,Zo as v,_s as y,as as b,bs as x,cs as S,ds as C,es as w,fs as T,gs as E,hs as D,is as O,js as k,ks as A,ls as j,ms as M,ns as N,os as P,ps as F,rs as I,ss as L,t as R,ts as ee,us as z,vs as B,ws as V,xs as H,ys as U}from"./api-BgcjjJQV.js";import{t as W}from"./button-B1AigA0Z.js";import{Z as G,ct as K}from"./index-yfG0YL8X.js";import{t as q}from"./DataTableShell-DEnRs2mH.js";var J=t(e(),1),Y=n(),X={hung:()=>D(),wrong_result:()=>M(),error:()=>F(),other:()=>T()},Z=e=>(e&&X[e]?.())??e??`—`;function Q(e){let t=e.slice(e.lastIndexOf(`:`)+1)||e;return t.length>12?`${t.slice(0,12)}…`:t}function $({data:e}){let t=e.snapshot,n=l(R.subAgentReports.respondToReport),[i,a]=(0,J.useState)(e.thread),[o,s]=(0,J.useState)(``),[c,u]=(0,J.useState)(!1);async function d(){let t=o.trim();if(!(!t||c)){u(!0);try{await n({reportId:e._id,text:t}),a(e=>[...e,{authorRole:`admin`,text:t,at:Date.now()}]),s(``)}finally{u(!1)}}}return(0,Y.jsxs)(`div`,{className:`oc-fbadmin__detail`,children:[(0,Y.jsx)(`div`,{className:`oc-fbadmin__row`,children:(0,Y.jsxs)(`span`,{className:`oc-fbadmin__meta`,children:[Z(e.category),` · `,C({failed:t.failedCount,total:t.totalCount}),t.openclawModel?` · ${t.openclawModel}`:``,t.openclawRuntime?` (${t.openclawRuntime})`:``]})}),e.comment?(0,Y.jsxs)(`section`,{children:[(0,Y.jsx)(`h4`,{className:`oc-fbadmin__h`,children:z()}),(0,Y.jsx)(`p`,{className:`oc-fbadmin__comment`,children:e.comment})]}):null,(0,Y.jsxs)(`section`,{children:[(0,Y.jsx)(`h4`,{className:`oc-fbadmin__h`,children:j()}),i.length>0?(0,Y.jsx)(`div`,{className:`oc-fbadmin__thread`,children:i.map((e,t)=>(0,Y.jsxs)(`div`,{className:`oc-notif__msg oc-notif__msg--${e.authorRole}`,children:[(0,Y.jsx)(`span`,{className:`oc-notif__msg-who`,children:e.authorRole===`admin`?S():L()}),(0,Y.jsx)(`span`,{className:`oc-notif__msg-text`,children:e.text})]},t))}):(0,Y.jsx)(`p`,{className:`oc-fbadmin__meta`,children:P()}),(0,Y.jsx)(`textarea`,{className:`oc-feedback__textarea`,placeholder:b(),value:o,maxLength:2e3,rows:3,onChange:e=>s(e.target.value.slice(0,2e3))}),(0,Y.jsx)(`div`,{className:`oc-fbadmin__row`,style:{justifyContent:`flex-end`},children:(0,Y.jsx)(W,{size:`sm`,onClick:()=>void d(),disabled:!o.trim()||c,children:c?I():O()})})]}),(0,Y.jsxs)(`section`,{children:[(0,Y.jsxs)(`h4`,{className:`oc-fbadmin__h`,children:[N({count:t.children.length}),t.childrenTruncated?` ${ee()}`:``,t.textTruncated?` ${w()}`:``]}),(0,Y.jsx)(`div`,{className:`oc-fbadmin__ctx`,children:t.children.map((e,n)=>(0,Y.jsxs)(`div`,{className:`oc-fbadmin__ctx-turn`,children:[(0,Y.jsxs)(`span`,{className:`oc-fbadmin__ctx-role`,children:[(e.taskName?.trim()||Q(e.childSessionKey))+` · ${e.status}`,e.phase?` · ${e.phase}`:``,e.childSessionKey===t.flaggedChildSessionKey?` · ${r()}`:``]}),e.errorMessage?(0,Y.jsx)(`pre`,{className:`oc-msg__source-pre`,children:e.errorMessage}):null,e.resultText?(0,Y.jsx)(`pre`,{className:`oc-msg__source-pre`,children:e.resultText}):null]},n))})]}),t.parentText?(0,Y.jsxs)(`section`,{children:[(0,Y.jsx)(`h4`,{className:`oc-fbadmin__h`,children:f()}),(0,Y.jsx)(`pre`,{className:`oc-msg__source-pre`,children:t.parentText})]}):null,(0,Y.jsxs)(`section`,{children:[(0,Y.jsx)(`h4`,{className:`oc-fbadmin__h`,children:v()}),(0,Y.jsx)(`p`,{className:`oc-fbadmin__env`,children:[t.parentStatus?`status: ${t.parentStatus}`:null,t.parentErrorCode?`code: ${t.parentErrorCode}`:null,t.parentRunId?`run ${t.parentRunId.slice(0,12)}…`:null,e.correlationId?`corr ${e.correlationId.slice(0,16)}…`:null,t.openclawProvider].filter(Boolean).join(` · `)||`—`})]})]})}function te(){let e=p(R.subAgentReports.listForAdmin,{}),t=l(R.subAgentReports.readReport),n=l(R.subAgentReports.deleteReport),r=G(),[f,v]=(0,J.useState)(null),[b,S]=(0,J.useState)({});async function C(e){if(f===e._id){v(null);return}if(!b[e._id]){let n=await t({reportId:e._id});S(t=>({...t,[e._id]:n}))}v(e._id)}async function w(e){await r({title:g(),description:_(),confirmLabel:c(),destructive:!0})&&(await n({reportId:e._id}),f===e._id&&v(null))}return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`p`,{className:`oc-admin__hint`,children:[i(),` `,(0,Y.jsx)(`strong`,{children:A()}),` `,d()]}),(0,Y.jsx)(q,{title:u(),rows:e,emptyHint:k(),isExpanded:e=>f===e._id&&!!b[e._id],renderExpanded:e=>b[e._id]?(0,Y.jsx)($,{data:b[e._id]}):null,columns:[{header:o(),cell:e=>K(e.at),sort:e=>e.at},{header:s(),cell:e=>Z(e.category),sort:e=>Z(e.category)},{header:h(),cell:e=>`${e.failedCount}/${e.totalCount}`,sort:e=>e.failedCount},{header:V(),cell:e=>(e.reporterEmail||e.reporterName||`—`)+(e.impersonated&&e.realOperatorEmail?` ${H({operator:e.realOperatorEmail})}`:``),sort:e=>e.reporterEmail||e.reporterName||null},{header:a(),cell:e=>e.hasComment?`✎`:`—`,sort:e=>+!!e.hasComment},{header:m(),cell:e=>e.answered?(0,Y.jsx)(`span`,{className:`oc-fbadmin__pill is-ok`,children:x()}):(0,Y.jsx)(`span`,{className:`oc-fbadmin__pill`,children:U()}),sort:e=>+!!e.answered}],rowActions:e=>[{label:f===e._id?y():B(),onSelect:()=>void C(e)},{label:E(),onSelect:()=>void w(e),variant:`destructive`}]})]})}export{te as SubAgentReportsTab};