nextclaw 0.46.0 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/cli/app/index.js +1 -1
  2. package/dist/{nextclaw-cli-app-BVdP2e0w.js → nextclaw-cli-app-wU9aUEKj.js} +233 -1
  3. package/dist/nextclaw-cli-app-wU9aUEKj.js.map +1 -0
  4. package/package.json +14 -14
  5. package/resources/apps/nextclaw-github-issue-watcher/README.md +43 -0
  6. package/resources/apps/nextclaw-github-issue-watcher/guest/Cargo.lock +455 -0
  7. package/resources/apps/nextclaw-github-issue-watcher/guest/Cargo.toml +27 -0
  8. package/resources/apps/nextclaw-github-issue-watcher/guest/src/bindings.rs +11177 -0
  9. package/resources/apps/nextclaw-github-issue-watcher/guest/src/lib.rs +307 -0
  10. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/monotonic-clock.wit +50 -0
  11. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/timezone.wit +55 -0
  12. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/wall-clock.wit +46 -0
  13. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/clocks@0.2.6/world.wit +11 -0
  14. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/config@0.2.0-draft-2024-09-27/package.wit +1 -0
  15. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/config@0.2.0-draft-2024-09-27/store.wit +9 -0
  16. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/http@0.2.6/handler.wit +49 -0
  17. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/http@0.2.6/package.wit +1 -0
  18. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/http@0.2.6/types.wit +688 -0
  19. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/error.wit +34 -0
  20. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/poll.wit +47 -0
  21. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/streams.wit +290 -0
  22. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/io@0.2.6/world.wit +10 -0
  23. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/deps/keyvalue@0.2.0-draft2/store.wit +124 -0
  24. package/resources/apps/nextclaw-github-issue-watcher/guest/wit/portable-service.wit +56 -0
  25. package/resources/apps/nextclaw-github-issue-watcher/manifest.json +34 -0
  26. package/resources/apps/nextclaw-github-issue-watcher/marketplace.json +18 -0
  27. package/resources/apps/nextclaw-github-issue-watcher/panels/nextclaw-github-issue-watcher-panel.panel/assets/app.js +148 -0
  28. package/resources/apps/nextclaw-github-issue-watcher/panels/nextclaw-github-issue-watcher-panel.panel/index.html +190 -0
  29. package/resources/apps/nextclaw-github-issue-watcher/panels/nextclaw-github-issue-watcher-panel.panel/panel-app.json +11 -0
  30. package/resources/apps/nextclaw-github-issue-watcher/service-components/nextclaw-github-issue-watcher-service/service-app.json +36 -0
  31. package/resources/apps/nextclaw-github-issue-watcher/service-components/nextclaw-github-issue-watcher-service/service.wasm +0 -0
  32. package/resources/apps/nextclaw-github-issue-watcher/tests/public-github-runner-smoke.tools.mjs +150 -0
  33. package/resources/apps/nextclaw-github-issue-watcher/tests/service-smoke.json +12 -0
  34. package/resources/apps/nextclaw-portable-runtime-lab/README.md +5 -3
  35. package/resources/apps/nextclaw-portable-runtime-lab/manifest.json +14 -2
  36. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-contacts.panel/assets/app.js +21 -0
  37. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-contacts.panel/index.html +1 -0
  38. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-focus.panel/assets/app.js +21 -0
  39. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-focus.panel/index.html +1 -0
  40. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-notes.panel/assets/app.js +21 -0
  41. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-notes.panel/index.html +1 -0
  42. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/assets/app.js +201 -0
  43. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/assets/style.css +42 -0
  44. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/index.html +40 -19
  45. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-panel.panel/panel-app.json +2 -2
  46. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-todos.panel/assets/app.js +21 -0
  47. package/resources/apps/nextclaw-portable-runtime-lab/panels/nextclaw-portable-runtime-lab-todos.panel/index.html +1 -0
  48. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-capabilities/service-app.json +110 -3
  49. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-capabilities/service.wasm +0 -0
  50. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-composition/service-app.json +12 -3
  51. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-composition/service.wasm +0 -0
  52. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-provider/service-app.json +11 -0
  53. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-provider/service.wasm +0 -0
  54. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-resident/service.wasm +0 -0
  55. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-sqlite/service-app.json +37 -0
  56. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-sqlite/service.wasm +0 -0
  57. package/resources/apps/nextclaw-portable-runtime-lab/service-components/nextclaw-portable-runtime-lab-state/service.wasm +0 -0
  58. package/ui-dist/assets/{api-aEu9cEI8.js → api-n96IfCKb.js} +2 -2
  59. package/ui-dist/assets/{api-aEu9cEI8.js.gz → api-n96IfCKb.js.gz} +0 -0
  60. package/ui-dist/assets/{appearance-settings-page-z4DaHc_E.js → appearance-settings-page-C_AqxSF_.js} +1 -1
  61. package/ui-dist/assets/appearance-settings-page-C_AqxSF_.js.gz +0 -0
  62. package/ui-dist/assets/{channels-list-page-x07sGqsT.js → channels-list-page-uR-M4Ls8.js} +1 -1
  63. package/ui-dist/assets/channels-list-page-uR-M4Ls8.js.gz +0 -0
  64. package/ui-dist/assets/{confirm-dialog-BALTnP33.js → confirm-dialog-CHVBMpla.js} +1 -1
  65. package/ui-dist/assets/confirm-dialog-CHVBMpla.js.gz +0 -0
  66. package/ui-dist/assets/{desktop-capabilities-page-4-v3wKLV.js → desktop-capabilities-page-phMuNq1B.js} +1 -1
  67. package/ui-dist/assets/desktop-capabilities-page-phMuNq1B.js.gz +0 -0
  68. package/ui-dist/assets/{desktop-update-config-Cl-_XHqU.js → desktop-update-config-C77hkbor.js} +1 -1
  69. package/ui-dist/assets/desktop-update-config-C77hkbor.js.gz +0 -0
  70. package/ui-dist/assets/{extensions-DFQXmSwG.js → extensions-CQKXTqTI.js} +1 -1
  71. package/ui-dist/assets/extensions-CQKXTqTI.js.gz +0 -0
  72. package/ui-dist/assets/{index-zuqzAvNx.js → index-CLw9DuCJ.js} +4 -4
  73. package/ui-dist/assets/index-CLw9DuCJ.js.gz +0 -0
  74. package/ui-dist/assets/mcp-marketplace-page-CbWOamyW.js +1 -0
  75. package/ui-dist/assets/{mcp-marketplace-page-COUopIOc.js → mcp-marketplace-page-s9PTnSDT.js} +1 -1
  76. package/ui-dist/assets/mcp-marketplace-page-s9PTnSDT.js.gz +0 -0
  77. package/ui-dist/assets/{model-config-page-g9_-hZqZ.js → model-config-page-CxnCUWRW.js} +1 -1
  78. package/ui-dist/assets/model-config-page-CxnCUWRW.js.gz +0 -0
  79. package/ui-dist/assets/{privacy-settings-page-pNhQQT4r.js → privacy-settings-page-D8HZHHjL.js} +1 -1
  80. package/ui-dist/assets/privacy-settings-page-D8HZHHjL.js.gz +0 -0
  81. package/ui-dist/assets/{providers-config-page-DftW_6KU.js → providers-config-page-C0GIoGxm.js} +1 -1
  82. package/ui-dist/assets/providers-config-page-C0GIoGxm.js.gz +0 -0
  83. package/ui-dist/assets/remote-DvTCSAxQ.js +1 -0
  84. package/ui-dist/assets/{runtime-config-page-Cd9sOYvn.js → runtime-config-page-VNJZui5f.js} +1 -1
  85. package/ui-dist/assets/runtime-config-page-VNJZui5f.js.gz +0 -0
  86. package/ui-dist/assets/{search-config-page-BqoDbKpM.js → search-config-page-D3_qNXbB.js} +1 -1
  87. package/ui-dist/assets/search-config-page-D3_qNXbB.js.gz +0 -0
  88. package/ui-dist/assets/{secrets-config-page-GsahsEVw.js → secrets-config-page-Be4P1E8o.js} +1 -1
  89. package/ui-dist/assets/secrets-config-page-Be4P1E8o.js.gz +0 -0
  90. package/ui-dist/assets/security-config-BtcpKIhQ.js +1 -0
  91. package/ui-dist/assets/{tag-chip-ClBWeQ4p.js → tag-chip-Dc_NcCEe.js} +1 -1
  92. package/ui-dist/index.html +5 -5
  93. package/ui-dist/index.html.gz +0 -0
  94. package/dist/nextclaw-cli-app-BVdP2e0w.js.map +0 -1
  95. package/ui-dist/assets/appearance-settings-page-z4DaHc_E.js.gz +0 -0
  96. package/ui-dist/assets/channels-list-page-x07sGqsT.js.gz +0 -0
  97. package/ui-dist/assets/confirm-dialog-BALTnP33.js.gz +0 -0
  98. package/ui-dist/assets/desktop-capabilities-page-4-v3wKLV.js.gz +0 -0
  99. package/ui-dist/assets/desktop-update-config-Cl-_XHqU.js.gz +0 -0
  100. package/ui-dist/assets/extensions-DFQXmSwG.js.gz +0 -0
  101. package/ui-dist/assets/index-zuqzAvNx.js.gz +0 -0
  102. package/ui-dist/assets/mcp-marketplace-page-COUopIOc.js.gz +0 -0
  103. package/ui-dist/assets/mcp-marketplace-page-DxPPmYqh.js +0 -1
  104. package/ui-dist/assets/model-config-page-g9_-hZqZ.js.gz +0 -0
  105. package/ui-dist/assets/privacy-settings-page-pNhQQT4r.js.gz +0 -0
  106. package/ui-dist/assets/providers-config-page-DftW_6KU.js.gz +0 -0
  107. package/ui-dist/assets/remote-DS2TkMPm.js +0 -1
  108. package/ui-dist/assets/runtime-config-page-Cd9sOYvn.js.gz +0 -0
  109. package/ui-dist/assets/search-config-page-BqoDbKpM.js.gz +0 -0
  110. package/ui-dist/assets/secrets-config-page-GsahsEVw.js.gz +0 -0
  111. package/ui-dist/assets/security-config-BnHQyrtG.js +0 -1
@@ -1,4 +1,4 @@
1
- import{i as e}from"./chunk-DseTPa7n.js";import{B as t,H as n,L as r,a as i}from"./react-CVFx225w.js";import{fn as a}from"./api-aEu9cEI8.js";import{_ as o,b as s,c,d as l,f as u,h as d,l as ee,m as te,v as ne,y as f}from"./dist-N9zc5bkM.js";import{D as re,E as ie,O as ae,T as oe}from"./select-DPKCWajZ.js";import{t as p}from"./dist-BjYvUhPL.js";import{t as m}from"./createLucideIcon-CgM0rnsa.js";import{t as se}from"./x-Dp5GAFmP.js";var h=e(n(),1),g=t(),_=`Dialog`,[v,ce]=ne(_),[le,y]=v(_),b=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=h.useRef(null),c=h.useRef(null),[l,u]=te({prop:r,defaultProp:i??!1,onChange:a,caller:_});return(0,g.jsx)(le,{scope:t,triggerRef:s,contentRef:c,contentId:d(),titleId:d(),descriptionId:d(),open:l,onOpenChange:u,onOpenToggle:h.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};b.displayName=_;var x=`DialogTrigger`,S=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(x,n),a=f(t,i.triggerRef);return(0,g.jsx)(l.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":L(i.open),...r,ref:a,onClick:s(e.onClick,i.onOpenToggle)})});S.displayName=x;var C=`DialogPortal`,[ue,w]=v(C,{forceMount:void 0}),T=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=y(C,t);return(0,g.jsx)(ue,{scope:t,forceMount:n,children:h.Children.map(r,e=>(0,g.jsx)(p,{present:n||a.open,children:(0,g.jsx)(c,{asChild:!0,container:i,children:e})}))})};T.displayName=C;var E=`DialogOverlay`,D=h.forwardRef((e,t)=>{let n=w(E,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=y(E,e.__scopeDialog);return a.modal?(0,g.jsx)(p,{present:r||a.open,children:(0,g.jsx)(fe,{...i,ref:t})}):null});D.displayName=E;var de=u(`DialogOverlay.RemoveScroll`),fe=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(E,n);return(0,g.jsx)(ie,{as:de,allowPinchZoom:!0,shards:[i.contentRef],children:(0,g.jsx)(l.div,{"data-state":L(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),O=`DialogContent`,k=h.forwardRef((e,t)=>{let n=w(O,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=y(O,e.__scopeDialog);return(0,g.jsx)(p,{present:r||a.open,children:a.modal?(0,g.jsx)(pe,{...i,ref:t}):(0,g.jsx)(me,{...i,ref:t})})});k.displayName=O;var pe=h.forwardRef((e,t)=>{let n=y(O,e.__scopeDialog),r=h.useRef(null),i=f(t,n.contentRef,r);return h.useEffect(()=>{let e=r.current;if(e)return oe(e)},[]),(0,g.jsx)(A,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:s(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:s(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:s(e.onFocusOutside,e=>e.preventDefault())})}),me=h.forwardRef((e,t)=>{let n=y(O,e.__scopeDialog),r=h.useRef(!1),i=h.useRef(!1);return(0,g.jsx)(A,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),A=h.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=y(O,n),c=h.useRef(null),l=f(t,c);return re(),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ae,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,g.jsx)(ee,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":L(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ge,{titleId:s.titleId}),(0,g.jsx)(ve,{contentRef:c,descriptionId:s.descriptionId})]})]})}),j=`DialogTitle`,M=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(j,n);return(0,g.jsx)(l.h2,{id:i.titleId,...r,ref:t})});M.displayName=j;var N=`DialogDescription`,P=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(N,n);return(0,g.jsx)(l.p,{id:i.descriptionId,...r,ref:t})});P.displayName=N;var F=`DialogClose`,I=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(F,n);return(0,g.jsx)(l.button,{type:`button`,...r,ref:t,onClick:s(e.onClick,()=>i.onOpenChange(!1))})});I.displayName=F;function L(e){return e?`open`:`closed`}var R=`DialogTitleWarning`,[he,z]=o(R,{contentName:O,titleName:j,docsSlug:`dialog`}),ge=({titleId:e})=>{let t=z(R),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
1
+ import{i as e}from"./chunk-DseTPa7n.js";import{B as t,H as n,L as r,a as i}from"./react-CVFx225w.js";import{fn as a}from"./api-n96IfCKb.js";import{_ as o,b as s,c,d as l,f as u,h as d,l as ee,m as te,v as ne,y as f}from"./dist-N9zc5bkM.js";import{D as re,E as ie,O as ae,T as oe}from"./select-DPKCWajZ.js";import{t as p}from"./dist-BjYvUhPL.js";import{t as m}from"./createLucideIcon-CgM0rnsa.js";import{t as se}from"./x-Dp5GAFmP.js";var h=e(n(),1),g=t(),_=`Dialog`,[v,ce]=ne(_),[le,y]=v(_),b=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=h.useRef(null),c=h.useRef(null),[l,u]=te({prop:r,defaultProp:i??!1,onChange:a,caller:_});return(0,g.jsx)(le,{scope:t,triggerRef:s,contentRef:c,contentId:d(),titleId:d(),descriptionId:d(),open:l,onOpenChange:u,onOpenToggle:h.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};b.displayName=_;var x=`DialogTrigger`,S=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(x,n),a=f(t,i.triggerRef);return(0,g.jsx)(l.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":L(i.open),...r,ref:a,onClick:s(e.onClick,i.onOpenToggle)})});S.displayName=x;var C=`DialogPortal`,[ue,w]=v(C,{forceMount:void 0}),T=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=y(C,t);return(0,g.jsx)(ue,{scope:t,forceMount:n,children:h.Children.map(r,e=>(0,g.jsx)(p,{present:n||a.open,children:(0,g.jsx)(c,{asChild:!0,container:i,children:e})}))})};T.displayName=C;var E=`DialogOverlay`,D=h.forwardRef((e,t)=>{let n=w(E,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=y(E,e.__scopeDialog);return a.modal?(0,g.jsx)(p,{present:r||a.open,children:(0,g.jsx)(fe,{...i,ref:t})}):null});D.displayName=E;var de=u(`DialogOverlay.RemoveScroll`),fe=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(E,n);return(0,g.jsx)(ie,{as:de,allowPinchZoom:!0,shards:[i.contentRef],children:(0,g.jsx)(l.div,{"data-state":L(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),O=`DialogContent`,k=h.forwardRef((e,t)=>{let n=w(O,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=y(O,e.__scopeDialog);return(0,g.jsx)(p,{present:r||a.open,children:a.modal?(0,g.jsx)(pe,{...i,ref:t}):(0,g.jsx)(me,{...i,ref:t})})});k.displayName=O;var pe=h.forwardRef((e,t)=>{let n=y(O,e.__scopeDialog),r=h.useRef(null),i=f(t,n.contentRef,r);return h.useEffect(()=>{let e=r.current;if(e)return oe(e)},[]),(0,g.jsx)(A,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:s(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:s(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:s(e.onFocusOutside,e=>e.preventDefault())})}),me=h.forwardRef((e,t)=>{let n=y(O,e.__scopeDialog),r=h.useRef(!1),i=h.useRef(!1);return(0,g.jsx)(A,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),A=h.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=y(O,n),c=h.useRef(null),l=f(t,c);return re(),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ae,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,g.jsx)(ee,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":L(s.open),...o,ref:l,onDismiss:()=>s.onOpenChange(!1)})}),(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ge,{titleId:s.titleId}),(0,g.jsx)(ve,{contentRef:c,descriptionId:s.descriptionId})]})]})}),j=`DialogTitle`,M=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(j,n);return(0,g.jsx)(l.h2,{id:i.titleId,...r,ref:t})});M.displayName=j;var N=`DialogDescription`,P=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(N,n);return(0,g.jsx)(l.p,{id:i.descriptionId,...r,ref:t})});P.displayName=N;var F=`DialogClose`,I=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=y(F,n);return(0,g.jsx)(l.button,{type:`button`,...r,ref:t,onClick:s(e.onClick,()=>i.onOpenChange(!1))})});I.displayName=F;function L(e){return e?`open`:`closed`}var R=`DialogTitleWarning`,[he,z]=o(R,{contentName:O,titleName:j,docsSlug:`dialog`}),ge=({titleId:e})=>{let t=z(R),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
2
 
3
3
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
4
 
@@ -1 +1 @@
1
- import{B as e,a as t}from"./react-CVFx225w.js";import{an as n,fn as r,in as i,on as a,sn as o}from"./api-aEu9cEI8.js";import{a as s,i as c,o as l,r as u,s as d}from"./index-zuqzAvNx.js";var f=e();function p(){let e=c(),p=u(),h=l(),v=s(),y=d(),b=e.data,x=h.isPending||v.isPending;return(0,f.jsxs)(o,{title:t(`desktopCapabilitiesPageTitle`),description:t(`desktopCapabilitiesPageDescription`),children:[(0,f.jsx)(a,{title:t(`desktopCapabilitiesSystemTitle`),description:t(`desktopCapabilitiesSystemDescription`),children:(0,f.jsxs)(n,{children:[(0,f.jsx)(i,{title:t(`desktopCapabilitiesHostStatus`),description:e.isLoading?t(`loading`):b?.online?t(`desktopCapabilitiesHostOnline`):t(`desktopCapabilitiesHostOffline`),control:(0,f.jsx)(r,{type:`button`,variant:`outline`,size:`sm`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:t(`desktopCapabilitiesRecheck`)})}),(0,f.jsx)(i,{title:t(`desktopCapabilitiesAccessibility`),description:g(b?.permissions.accessibility),control:(0,f.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,f.jsx)(r,{type:`button`,variant:`outline`,size:`sm`,disabled:x,onClick:()=>v.mutate(),children:t(`desktopCapabilitiesOpenSettings`)}),(0,f.jsx)(r,{type:`button`,size:`sm`,disabled:x,onClick:()=>h.mutate(),children:t(`desktopCapabilitiesRequestPermission`)})]})})]})}),(0,f.jsx)(a,{title:t(`desktopCapabilitiesGrantsTitle`),description:t(`desktopCapabilitiesGrantsDescription`),children:(0,f.jsx)(n,{children:p.isLoading?(0,f.jsx)(i,{title:t(`loading`)}):p.data?.length?p.data.map(e=>(0,f.jsx)(m,{grant:e,disabled:y.isPending,onRevoke:()=>y.mutate(e)},_(e))):(0,f.jsx)(i,{title:t(`desktopCapabilitiesNoGrants`),description:t(`desktopCapabilitiesNoGrantsDescription`)})})})]})}function m({disabled:e,grant:n,onRevoke:a}){let o=h(n.resource.target);return(0,f.jsx)(i,{title:n.subject.type===`agent`?`${t(`desktopCapabilitiesAgent`)} · ${n.subject.id}`:`${t(`desktopCapabilitiesExtension`)} · ${n.subject.id}`,description:`${o} · ${n.access.join(`, `)}`,control:(0,f.jsx)(r,{type:`button`,variant:`destructive`,size:`sm`,disabled:e,onClick:a,children:t(`desktopCapabilitiesRevoke`)})})}function h(e){if(!e||typeof e!=`object`||Array.isArray(e))return t(`desktopCapabilitiesUnknownApplication`);let{applicationId:n}=e;return typeof n==`string`&&n.trim()?n.trim():t(`desktopCapabilitiesUnknownApplication`)}function g(e){switch(e){case`granted`:return t(`desktopCapabilitiesPermissionGranted`);case`not_granted`:return t(`desktopCapabilitiesPermissionNotGranted`);case`not_supported`:return t(`desktopCapabilitiesPermissionNotSupported`);default:return t(`desktopCapabilitiesPermissionUnknown`)}}function _(e){return`${e.subject.type}:${e.subject.id}:${JSON.stringify(e.resource.target)}:${e.access.join(`,`)}`}export{p as DesktopCapabilitiesPage};
1
+ import{B as e,a as t}from"./react-CVFx225w.js";import{an as n,fn as r,in as i,on as a,sn as o}from"./api-n96IfCKb.js";import{a as s,i as c,o as l,r as u,s as d}from"./index-CLw9DuCJ.js";var f=e();function p(){let e=c(),p=u(),h=l(),v=s(),y=d(),b=e.data,x=h.isPending||v.isPending;return(0,f.jsxs)(o,{title:t(`desktopCapabilitiesPageTitle`),description:t(`desktopCapabilitiesPageDescription`),children:[(0,f.jsx)(a,{title:t(`desktopCapabilitiesSystemTitle`),description:t(`desktopCapabilitiesSystemDescription`),children:(0,f.jsxs)(n,{children:[(0,f.jsx)(i,{title:t(`desktopCapabilitiesHostStatus`),description:e.isLoading?t(`loading`):b?.online?t(`desktopCapabilitiesHostOnline`):t(`desktopCapabilitiesHostOffline`),control:(0,f.jsx)(r,{type:`button`,variant:`outline`,size:`sm`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:t(`desktopCapabilitiesRecheck`)})}),(0,f.jsx)(i,{title:t(`desktopCapabilitiesAccessibility`),description:g(b?.permissions.accessibility),control:(0,f.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[(0,f.jsx)(r,{type:`button`,variant:`outline`,size:`sm`,disabled:x,onClick:()=>v.mutate(),children:t(`desktopCapabilitiesOpenSettings`)}),(0,f.jsx)(r,{type:`button`,size:`sm`,disabled:x,onClick:()=>h.mutate(),children:t(`desktopCapabilitiesRequestPermission`)})]})})]})}),(0,f.jsx)(a,{title:t(`desktopCapabilitiesGrantsTitle`),description:t(`desktopCapabilitiesGrantsDescription`),children:(0,f.jsx)(n,{children:p.isLoading?(0,f.jsx)(i,{title:t(`loading`)}):p.data?.length?p.data.map(e=>(0,f.jsx)(m,{grant:e,disabled:y.isPending,onRevoke:()=>y.mutate(e)},_(e))):(0,f.jsx)(i,{title:t(`desktopCapabilitiesNoGrants`),description:t(`desktopCapabilitiesNoGrantsDescription`)})})})]})}function m({disabled:e,grant:n,onRevoke:a}){let o=h(n.resource.target);return(0,f.jsx)(i,{title:n.subject.type===`agent`?`${t(`desktopCapabilitiesAgent`)} · ${n.subject.id}`:`${t(`desktopCapabilitiesExtension`)} · ${n.subject.id}`,description:`${o} · ${n.access.join(`, `)}`,control:(0,f.jsx)(r,{type:`button`,variant:`destructive`,size:`sm`,disabled:e,onClick:a,children:t(`desktopCapabilitiesRevoke`)})})}function h(e){if(!e||typeof e!=`object`||Array.isArray(e))return t(`desktopCapabilitiesUnknownApplication`);let{applicationId:n}=e;return typeof n==`string`&&n.trim()?n.trim():t(`desktopCapabilitiesUnknownApplication`)}function g(e){switch(e){case`granted`:return t(`desktopCapabilitiesPermissionGranted`);case`not_granted`:return t(`desktopCapabilitiesPermissionNotGranted`);case`not_supported`:return t(`desktopCapabilitiesPermissionNotSupported`);default:return t(`desktopCapabilitiesPermissionUnknown`)}}function _(e){return`${e.subject.type}:${e.subject.id}:${JSON.stringify(e.resource.target)}:${e.access.join(`,`)}`}export{p as DesktopCapabilitiesPage};
@@ -1 +1 @@
1
- import{B as e,L as t,a as n,r,s as i}from"./react-CVFx225w.js";import{t as a}from"./navigation-link-Ci4Z7Phi.js";import{Gt as o,Jt as s,Kt as c,Wt as l,Yt as u,an as d,fn as f,in as p,on as m,sn as h,yn as g}from"./api-aEu9cEI8.js";import{a as _,i as v,n as y,r as b,t as x}from"./select-DPKCWajZ.js";import{t as S}from"./refresh-cw-C-3_thgr.js";import{t as C}from"./rotate-cw-DSFTq_yu.js";import{$ as w,Q as T,et as E,nt as D,tt as O}from"./index-zuqzAvNx.js";var k=e(),A={checking:`desktopUpdatesStatusChecking`,"update-available":`desktopUpdatesStatusAvailable`,downloading:`desktopUpdatesStatusDownloading`,downloaded:`desktopUpdatesStatusDownloaded`,applying:`desktopUpdatesStatusApplying`,"restart-required":`desktopUpdatesStatusRestartRequired`,"up-to-date":`desktopUpdatesStatusUpToDate`,blocked:`desktopUpdatesStatusBlocked`,failed:`desktopUpdatesStatusFailed`},j={feature:`desktopUpdatesReleaseNotesFeature`,enhancement:`desktopUpdatesReleaseNotesEnhancement`,fix:`desktopUpdatesReleaseNotesFix`,compatibility:`desktopUpdatesReleaseNotesCompatibility`};function M({snapshot:e}){return(0,k.jsx)(`span`,{className:t(`inline-flex rounded-full px-3 py-1 text-xs font-medium ring-1`,V(e.status)),children:B(e)})}function N({label:e,value:t}){return(0,k.jsxs)(`div`,{className:`rounded-lg bg-background/70 p-3`,children:[(0,k.jsx)(`p`,{className:`text-[11px] font-medium uppercase tracking-[0.08em] text-muted-foreground`,children:e}),(0,k.jsx)(`p`,{className:`mt-1 text-sm font-semibold text-foreground`,children:t})]})}function P({snapshot:e}){if(e.status!==`downloading`)return null;let t=e.progress?.percent,r=t==null?n(`desktopUpdatesDownloadProgressUnknown`):n(`desktopUpdatesDownloadProgressPercent`).replace(`{percent}`,String(t)),i=L(e.progress?.downloadedBytes??0,e.progress?.totalBytes??null);return(0,k.jsxs)(`div`,{className:`rounded-2xl border border-amber-200 bg-amber-50/70 p-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-amber-800`,children:r}),(0,k.jsx)(`p`,{className:`text-xs font-medium text-amber-700`,children:i})]}),(0,k.jsx)(`div`,{className:`mt-3 h-2 overflow-hidden rounded-full bg-amber-100`,children:(0,k.jsx)(`div`,{className:`h-full rounded-full bg-amber-500 transition-[width]`,style:{width:`${t??0}%`}})})]})}function F(e){return e?.trim()||`-`}function I(e){return e?r(e):`-`}function L(e,t){let n=R(e);return t&&t>0?`${n} / ${R(t)}`:n}function R(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?n.toFixed(0):n.toFixed(1)} ${t[r]}`}function z(e){return n(e===`beta`?`desktopUpdatesChannelBeta`:`desktopUpdatesChannelStable`)}function B(e){return e.status===`failed`&&e.failureStage?n(`desktopUpdatesFailureStage.${e.failureStage}`):n(A[e.status]??`desktopUpdatesStatusIdle`)}function V(e){return e===`downloaded`||e===`restart-required`?`bg-emerald-50 text-emerald-700 ring-emerald-100`:e===`update-available`||e===`downloading`||e===`checking`?`bg-amber-50 text-amber-700 ring-amber-100`:e===`failed`||e===`blocked`?`bg-red-50 text-red-700 ring-red-100`:`bg-gray-100 text-gray-700 ring-gray-200`}function H(){return i()===`zh`?`zh-CN`:`en-US`}function U(e,t){return o(e.title,t)??n(j[e.kind]??`desktopUpdatesReleaseNotesEnhancement`)}function W({snapshot:e}){let t=c(e),r=H(),i=g({queryKey:[`runtime-release-notes`,t],queryFn:async()=>await l(t??``),enabled:!!t,retry:!1,staleTime:300*1e3}),s=i.data,u=o(s?.title,r)??n(`desktopUpdatesReleaseNotesPreviewTitle`),d=o(s?.summary,r)??n(`desktopUpdatesReleaseNotesPreviewDescription`);return e.releaseNotesUrl?(0,k.jsxs)(T,{children:[(0,k.jsx)(O,{children:(0,k.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,k.jsxs)(`div`,{className:`space-y-1`,children:[(0,k.jsx)(D,{children:u}),(0,k.jsx)(E,{children:d})]}),(0,k.jsx)(a,{href:e.releaseNotesUrl,external:!0,children:n(`desktopUpdatesReleaseNotes`)})]})}),(0,k.jsxs)(w,{className:`space-y-4`,children:[i.isLoading?(0,k.jsx)(`p`,{className:`text-sm text-gray-500`,children:n(`desktopUpdatesReleaseNotesPreviewLoading`)}):null,!t||i.isError?(0,k.jsx)(`p`,{className:`text-sm text-gray-500`,children:n(`desktopUpdatesReleaseNotesPreviewUnavailable`)}):null,s?(0,k.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:s.sections.map(e=>(0,k.jsxs)(`div`,{className:`rounded-xl border border-gray-200 bg-gray-50/60 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-gray-900`,children:U(e,r)}),(0,k.jsx)(`ul`,{className:`mt-3 space-y-3`,children:e.items.map((t,n)=>{let i=o(t.title,r),a=o(t.body,r);return(0,k.jsxs)(`li`,{className:`space-y-1`,children:[i?(0,k.jsx)(`p`,{className:`text-sm font-medium text-gray-800`,children:i}):null,a?(0,k.jsx)(`p`,{className:`text-sm leading-5 text-gray-600`,children:a}):null]},`${i??e.kind}-${n}`)})})]},e.kind))}):null]})]}):null}function G(){return(0,k.jsx)(h,{title:n(`runtimeUpdatesPageTitle`),description:n(`runtimeUpdatesPageDescription`),children:(0,k.jsx)(m,{title:n(`runtimeUpdatesUnavailableTitle`),description:n(`runtimeUpdatesUnavailableDescription`),children:(0,k.jsx)(d,{children:(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:n(`runtimeUpdatesUnavailableHint`)})})})})}function K(){let{supported:e,initialized:r,busyAction:i,snapshot:a}=u();if(!r)return(0,k.jsx)(h,{title:n(`runtimeUpdatesPageTitle`),description:n(`runtimeUpdatesPageDescription`),children:(0,k.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:n(`loading`)})});if(!e||!a)return(0,k.jsx)(G,{});let o=i===`checking`,c=i===`downloading`,l=i===`applying`,g=i===`updating`,w=i===`switching-channel`,T=(a.status===`update-available`||a.status===`downloaded`)&&!c&&!l&&!g,E=[[n(`runtimeUpdatesHostVersion`),F(a.hostVersion)],[n(`desktopUpdatesCurrentBundleVersion`),F(a.currentVersion)],[n(`desktopUpdatesAvailableVersion`),F(a.availableVersion)],[n(`desktopUpdatesLastCheckedAt`),I(a.lastCheckedAt)],[n(`desktopUpdatesCurrentChannel`),z(a.channel)]];return(0,k.jsxs)(h,{title:n(`runtimeUpdatesPageTitle`),description:n(`runtimeUpdatesPageDescription`),actions:(0,k.jsxs)(f,{variant:`outline`,onClick:()=>void s.checkForUpdates(),disabled:o||c||l||g,children:[(0,k.jsx)(S,{className:t(`mr-2 h-4 w-4`,o&&`animate-spin`)}),n(`desktopUpdatesCheckNow`)]}),children:[(0,k.jsx)(m,{title:n(`desktopUpdatesOverviewTitle`),description:n(`desktopUpdatesOverviewDescription`),children:(0,k.jsx)(d,{children:(0,k.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,k.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:n(`desktopUpdatesStatusLabel`)}),(0,k.jsx)(M,{snapshot:a})]}),(0,k.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-5`,children:E.map(([e,t])=>(0,k.jsx)(N,{label:e,value:t},e))}),a.channel===`beta`?(0,k.jsxs)(`div`,{className:`rounded-2xl border border-amber-200 bg-amber-50/70 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-amber-800`,children:n(`desktopUpdatesBetaBadgeTitle`)}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-amber-700`,children:n(`desktopUpdatesBetaBadgeDescription`)})]}):null,a.downloadedVersion?(0,k.jsxs)(`div`,{className:`rounded-2xl border border-emerald-200 bg-emerald-50/70 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-emerald-800`,children:n(`desktopUpdatesDownloadedBannerTitle`)}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-emerald-700`,children:n(`runtimeUpdatesDownloadedBannerDescription`).replace(`{version}`,a.downloadedVersion)})]}):null,(0,k.jsx)(P,{snapshot:a}),a.status===`blocked`?(0,k.jsxs)(`div`,{className:`rounded-2xl border border-red-200 bg-red-50/70 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-red-800`,children:n(`desktopUpdatesBlockedTitle`)}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-red-700`,children:a.errorMessage??n(`desktopUpdatesBlockedDescription`)}),a.recoveryCommand?(0,k.jsx)(`code`,{className:`mt-3 block rounded-lg bg-white/70 px-3 py-2 text-xs text-red-800`,children:a.recoveryCommand}):null]}):null,a.errorMessage&&a.status!==`blocked`?(0,k.jsx)(`div`,{className:`rounded-2xl border border-red-200 bg-red-50/70 p-4 text-sm text-red-700`,children:a.errorMessage}):null]})})}),(0,k.jsx)(W,{snapshot:a}),(0,k.jsx)(m,{title:n(`desktopUpdatesChannelSettingsTitle`),description:n(`desktopUpdatesChannelSettingsDescription`),children:(0,k.jsx)(d,{children:(0,k.jsx)(p,{title:n(`desktopUpdatesReleaseChannel`),description:n(`desktopUpdatesReleaseChannelHelp`),layout:`stacked`,children:(0,k.jsxs)(`div`,{className:`space-y-2`,children:[(0,k.jsxs)(x,{value:a.channel,disabled:w||o||c||l||g,onValueChange:e=>void s.updateChannel(e),children:[(0,k.jsx)(v,{className:`w-full max-w-sm`,children:(0,k.jsx)(_,{placeholder:n(`desktopUpdatesReleaseChannel`)})}),(0,k.jsxs)(y,{children:[(0,k.jsx)(b,{value:`stable`,children:n(`desktopUpdatesChannelStable`)}),(0,k.jsx)(b,{value:`beta`,children:n(`desktopUpdatesChannelBeta`)})]})]}),(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`desktopUpdatesReleaseChannelDowngradeHint`)})]})})})}),(0,k.jsx)(m,{title:n(`desktopUpdatesActionsTitle`),description:n(`runtimeUpdatesActionsDescription`),children:(0,k.jsx)(d,{children:(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 p-4`,children:[(0,k.jsxs)(f,{variant:`outline`,onClick:()=>void s.checkForUpdates(),disabled:o||c||l||g,children:[(0,k.jsx)(S,{className:t(`mr-2 h-4 w-4`,o&&`animate-spin`)}),n(`desktopUpdatesCheckNow`)]}),(0,k.jsxs)(f,{onClick:()=>void s.updateNow(),disabled:!T,children:[(0,k.jsx)(C,{className:t(`mr-2 h-4 w-4`,g&&`animate-spin`)}),n(`runtimeUpdatesApplyNow`)]})]})})})]})}export{K as DesktopUpdateConfig};
1
+ import{B as e,L as t,a as n,r,s as i}from"./react-CVFx225w.js";import{t as a}from"./navigation-link-Ci4Z7Phi.js";import{Gt as o,Jt as s,Kt as c,Wt as l,Yt as u,an as d,fn as f,in as p,on as m,sn as h,yn as g}from"./api-n96IfCKb.js";import{a as _,i as v,n as y,r as b,t as x}from"./select-DPKCWajZ.js";import{t as S}from"./refresh-cw-C-3_thgr.js";import{t as C}from"./rotate-cw-DSFTq_yu.js";import{$ as w,Q as T,et as E,nt as D,tt as O}from"./index-CLw9DuCJ.js";var k=e(),A={checking:`desktopUpdatesStatusChecking`,"update-available":`desktopUpdatesStatusAvailable`,downloading:`desktopUpdatesStatusDownloading`,downloaded:`desktopUpdatesStatusDownloaded`,applying:`desktopUpdatesStatusApplying`,"restart-required":`desktopUpdatesStatusRestartRequired`,"up-to-date":`desktopUpdatesStatusUpToDate`,blocked:`desktopUpdatesStatusBlocked`,failed:`desktopUpdatesStatusFailed`},j={feature:`desktopUpdatesReleaseNotesFeature`,enhancement:`desktopUpdatesReleaseNotesEnhancement`,fix:`desktopUpdatesReleaseNotesFix`,compatibility:`desktopUpdatesReleaseNotesCompatibility`};function M({snapshot:e}){return(0,k.jsx)(`span`,{className:t(`inline-flex rounded-full px-3 py-1 text-xs font-medium ring-1`,V(e.status)),children:B(e)})}function N({label:e,value:t}){return(0,k.jsxs)(`div`,{className:`rounded-lg bg-background/70 p-3`,children:[(0,k.jsx)(`p`,{className:`text-[11px] font-medium uppercase tracking-[0.08em] text-muted-foreground`,children:e}),(0,k.jsx)(`p`,{className:`mt-1 text-sm font-semibold text-foreground`,children:t})]})}function P({snapshot:e}){if(e.status!==`downloading`)return null;let t=e.progress?.percent,r=t==null?n(`desktopUpdatesDownloadProgressUnknown`):n(`desktopUpdatesDownloadProgressPercent`).replace(`{percent}`,String(t)),i=L(e.progress?.downloadedBytes??0,e.progress?.totalBytes??null);return(0,k.jsxs)(`div`,{className:`rounded-2xl border border-amber-200 bg-amber-50/70 p-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-amber-800`,children:r}),(0,k.jsx)(`p`,{className:`text-xs font-medium text-amber-700`,children:i})]}),(0,k.jsx)(`div`,{className:`mt-3 h-2 overflow-hidden rounded-full bg-amber-100`,children:(0,k.jsx)(`div`,{className:`h-full rounded-full bg-amber-500 transition-[width]`,style:{width:`${t??0}%`}})})]})}function F(e){return e?.trim()||`-`}function I(e){return e?r(e):`-`}function L(e,t){let n=R(e);return t&&t>0?`${n} / ${R(t)}`:n}function R(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n>=10||r===0?n.toFixed(0):n.toFixed(1)} ${t[r]}`}function z(e){return n(e===`beta`?`desktopUpdatesChannelBeta`:`desktopUpdatesChannelStable`)}function B(e){return e.status===`failed`&&e.failureStage?n(`desktopUpdatesFailureStage.${e.failureStage}`):n(A[e.status]??`desktopUpdatesStatusIdle`)}function V(e){return e===`downloaded`||e===`restart-required`?`bg-emerald-50 text-emerald-700 ring-emerald-100`:e===`update-available`||e===`downloading`||e===`checking`?`bg-amber-50 text-amber-700 ring-amber-100`:e===`failed`||e===`blocked`?`bg-red-50 text-red-700 ring-red-100`:`bg-gray-100 text-gray-700 ring-gray-200`}function H(){return i()===`zh`?`zh-CN`:`en-US`}function U(e,t){return o(e.title,t)??n(j[e.kind]??`desktopUpdatesReleaseNotesEnhancement`)}function W({snapshot:e}){let t=c(e),r=H(),i=g({queryKey:[`runtime-release-notes`,t],queryFn:async()=>await l(t??``),enabled:!!t,retry:!1,staleTime:300*1e3}),s=i.data,u=o(s?.title,r)??n(`desktopUpdatesReleaseNotesPreviewTitle`),d=o(s?.summary,r)??n(`desktopUpdatesReleaseNotesPreviewDescription`);return e.releaseNotesUrl?(0,k.jsxs)(T,{children:[(0,k.jsx)(O,{children:(0,k.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,k.jsxs)(`div`,{className:`space-y-1`,children:[(0,k.jsx)(D,{children:u}),(0,k.jsx)(E,{children:d})]}),(0,k.jsx)(a,{href:e.releaseNotesUrl,external:!0,children:n(`desktopUpdatesReleaseNotes`)})]})}),(0,k.jsxs)(w,{className:`space-y-4`,children:[i.isLoading?(0,k.jsx)(`p`,{className:`text-sm text-gray-500`,children:n(`desktopUpdatesReleaseNotesPreviewLoading`)}):null,!t||i.isError?(0,k.jsx)(`p`,{className:`text-sm text-gray-500`,children:n(`desktopUpdatesReleaseNotesPreviewUnavailable`)}):null,s?(0,k.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2`,children:s.sections.map(e=>(0,k.jsxs)(`div`,{className:`rounded-xl border border-gray-200 bg-gray-50/60 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-gray-900`,children:U(e,r)}),(0,k.jsx)(`ul`,{className:`mt-3 space-y-3`,children:e.items.map((t,n)=>{let i=o(t.title,r),a=o(t.body,r);return(0,k.jsxs)(`li`,{className:`space-y-1`,children:[i?(0,k.jsx)(`p`,{className:`text-sm font-medium text-gray-800`,children:i}):null,a?(0,k.jsx)(`p`,{className:`text-sm leading-5 text-gray-600`,children:a}):null]},`${i??e.kind}-${n}`)})})]},e.kind))}):null]})]}):null}function G(){return(0,k.jsx)(h,{title:n(`runtimeUpdatesPageTitle`),description:n(`runtimeUpdatesPageDescription`),children:(0,k.jsx)(m,{title:n(`runtimeUpdatesUnavailableTitle`),description:n(`runtimeUpdatesUnavailableDescription`),children:(0,k.jsx)(d,{children:(0,k.jsx)(`p`,{className:`p-4 text-sm text-muted-foreground`,children:n(`runtimeUpdatesUnavailableHint`)})})})})}function K(){let{supported:e,initialized:r,busyAction:i,snapshot:a}=u();if(!r)return(0,k.jsx)(h,{title:n(`runtimeUpdatesPageTitle`),description:n(`runtimeUpdatesPageDescription`),children:(0,k.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:n(`loading`)})});if(!e||!a)return(0,k.jsx)(G,{});let o=i===`checking`,c=i===`downloading`,l=i===`applying`,g=i===`updating`,w=i===`switching-channel`,T=(a.status===`update-available`||a.status===`downloaded`)&&!c&&!l&&!g,E=[[n(`runtimeUpdatesHostVersion`),F(a.hostVersion)],[n(`desktopUpdatesCurrentBundleVersion`),F(a.currentVersion)],[n(`desktopUpdatesAvailableVersion`),F(a.availableVersion)],[n(`desktopUpdatesLastCheckedAt`),I(a.lastCheckedAt)],[n(`desktopUpdatesCurrentChannel`),z(a.channel)]];return(0,k.jsxs)(h,{title:n(`runtimeUpdatesPageTitle`),description:n(`runtimeUpdatesPageDescription`),actions:(0,k.jsxs)(f,{variant:`outline`,onClick:()=>void s.checkForUpdates(),disabled:o||c||l||g,children:[(0,k.jsx)(S,{className:t(`mr-2 h-4 w-4`,o&&`animate-spin`)}),n(`desktopUpdatesCheckNow`)]}),children:[(0,k.jsx)(m,{title:n(`desktopUpdatesOverviewTitle`),description:n(`desktopUpdatesOverviewDescription`),children:(0,k.jsx)(d,{children:(0,k.jsxs)(`div`,{className:`space-y-4 p-4`,children:[(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,k.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:n(`desktopUpdatesStatusLabel`)}),(0,k.jsx)(M,{snapshot:a})]}),(0,k.jsx)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-5`,children:E.map(([e,t])=>(0,k.jsx)(N,{label:e,value:t},e))}),a.channel===`beta`?(0,k.jsxs)(`div`,{className:`rounded-2xl border border-amber-200 bg-amber-50/70 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-amber-800`,children:n(`desktopUpdatesBetaBadgeTitle`)}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-amber-700`,children:n(`desktopUpdatesBetaBadgeDescription`)})]}):null,a.downloadedVersion?(0,k.jsxs)(`div`,{className:`rounded-2xl border border-emerald-200 bg-emerald-50/70 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-emerald-800`,children:n(`desktopUpdatesDownloadedBannerTitle`)}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-emerald-700`,children:n(`runtimeUpdatesDownloadedBannerDescription`).replace(`{version}`,a.downloadedVersion)})]}):null,(0,k.jsx)(P,{snapshot:a}),a.status===`blocked`?(0,k.jsxs)(`div`,{className:`rounded-2xl border border-red-200 bg-red-50/70 p-4`,children:[(0,k.jsx)(`p`,{className:`text-sm font-semibold text-red-800`,children:n(`desktopUpdatesBlockedTitle`)}),(0,k.jsx)(`p`,{className:`mt-1 text-sm text-red-700`,children:a.errorMessage??n(`desktopUpdatesBlockedDescription`)}),a.recoveryCommand?(0,k.jsx)(`code`,{className:`mt-3 block rounded-lg bg-white/70 px-3 py-2 text-xs text-red-800`,children:a.recoveryCommand}):null]}):null,a.errorMessage&&a.status!==`blocked`?(0,k.jsx)(`div`,{className:`rounded-2xl border border-red-200 bg-red-50/70 p-4 text-sm text-red-700`,children:a.errorMessage}):null]})})}),(0,k.jsx)(W,{snapshot:a}),(0,k.jsx)(m,{title:n(`desktopUpdatesChannelSettingsTitle`),description:n(`desktopUpdatesChannelSettingsDescription`),children:(0,k.jsx)(d,{children:(0,k.jsx)(p,{title:n(`desktopUpdatesReleaseChannel`),description:n(`desktopUpdatesReleaseChannelHelp`),layout:`stacked`,children:(0,k.jsxs)(`div`,{className:`space-y-2`,children:[(0,k.jsxs)(x,{value:a.channel,disabled:w||o||c||l||g,onValueChange:e=>void s.updateChannel(e),children:[(0,k.jsx)(v,{className:`w-full max-w-sm`,children:(0,k.jsx)(_,{placeholder:n(`desktopUpdatesReleaseChannel`)})}),(0,k.jsxs)(y,{children:[(0,k.jsx)(b,{value:`stable`,children:n(`desktopUpdatesChannelStable`)}),(0,k.jsx)(b,{value:`beta`,children:n(`desktopUpdatesChannelBeta`)})]})]}),(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`desktopUpdatesReleaseChannelDowngradeHint`)})]})})})}),(0,k.jsx)(m,{title:n(`desktopUpdatesActionsTitle`),description:n(`runtimeUpdatesActionsDescription`),children:(0,k.jsx)(d,{children:(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 p-4`,children:[(0,k.jsxs)(f,{variant:`outline`,onClick:()=>void s.checkForUpdates(),disabled:o||c||l||g,children:[(0,k.jsx)(S,{className:t(`mr-2 h-4 w-4`,o&&`animate-spin`)}),n(`desktopUpdatesCheckNow`)]}),(0,k.jsxs)(f,{onClick:()=>void s.updateNow(),disabled:!T,children:[(0,k.jsx)(C,{className:t(`mr-2 h-4 w-4`,g&&`animate-spin`)}),n(`runtimeUpdatesApplyNow`)]})]})})})]})}export{K as DesktopUpdateConfig};
@@ -1 +1 @@
1
- import{B as e,L as t,a as n}from"./react-CVFx225w.js";import{f as r,fn as i,sn as a,yn as o}from"./api-aEu9cEI8.js";import{t as s}from"./refresh-cw-C-3_thgr.js";import{Ct as c,Ot as l,Tt as u,yt as d}from"./index-zuqzAvNx.js";function f(){return o({queryKey:[`extension-catalog`],queryFn:r,staleTime:5e3,refetchOnWindowFocus:!0})}var p=e(),m={running:`bg-emerald-50 text-emerald-700`,starting:`bg-amber-50 text-amber-700`,stopping:`bg-amber-50 text-amber-700`,stopped:`bg-muted text-muted-foreground`,failed:`bg-rose-50 text-rose-700`};function h({state:e}){return(0,p.jsx)(`span`,{className:t(`rounded-full px-2 py-1 text-xs font-medium`,m[e]),children:n(`extensionsState${e[0].toUpperCase()}${e.slice(1)}`)})}function g({label:e,value:t}){return(0,p.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card px-4 py-3`,children:[(0,p.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,p.jsx)(`div`,{className:`mt-1 text-2xl font-semibold tabular-nums text-foreground`,children:t})]})}function _({extension:e}){return(0,p.jsxs)(`article`,{className:`rounded-xl border border-border/70 bg-card p-4`,children:[(0,p.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,p.jsx)(`span`,{className:`inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-primary`,children:(0,p.jsx)(d,{className:`h-5 w-5`})}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,p.jsx)(`h2`,{className:`truncate font-semibold text-foreground`,children:e.name}),(0,p.jsx)(h,{state:e.state})]}),(0,p.jsxs)(`p`,{className:`mt-1 break-all text-xs text-muted-foreground`,children:[e.id,e.version?` · v${e.version}`:``]})]})]}),(0,p.jsxs)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:[(0,p.jsxs)(`div`,{className:`rounded-lg bg-muted/40 px-3 py-2`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-foreground`,children:[(0,p.jsx)(u,{className:`h-3.5 w-3.5`}),n(`extensionsObservationCapabilities`)]}),(0,p.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[e.observations.context?n(`extensionsContextCapability`):null,e.observations.context&&e.observations.events?` · `:null,e.observations.events?n(`extensionsEventsCapability`):null,!e.observations.context&&!e.observations.events?n(`extensionsNone`):null]})]}),(0,p.jsxs)(`div`,{className:`rounded-lg bg-muted/40 px-3 py-2`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-foreground`,children:[(0,p.jsx)(c,{className:`h-3.5 w-3.5`}),n(`extensionsChannelCapabilities`)]}),(0,p.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.channels.length>0?e.channels.map(e=>e.name||e.id).join(` · `):n(`extensionsNone`)})]})]}),(0,p.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,p.jsxs)(`span`,{children:[n(`extensionsLeaseCount`),`: `,e.leaseCount]}),e.pid?(0,p.jsxs)(`span`,{children:[n(`extensionsProcess`),`: `,e.pid]}):null,e.startedAt?(0,p.jsxs)(`span`,{children:[n(`extensionsStartedAt`),`: `,new Date(e.startedAt).toLocaleString()]}):null]})]})}function v(){let e=f(),r=e.data;return(0,p.jsxs)(a,{title:n(`extensionsPageTitle`),description:n(`extensionsPageDescription`),actions:(0,p.jsxs)(i,{type:`button`,variant:`outline`,size:`sm`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:[(0,p.jsx)(s,{className:t(`mr-2 h-4 w-4`,e.isFetching&&`animate-spin`)}),n(`extensionsRefresh`)]}),children:[(0,p.jsx)(`div`,{className:`rounded-xl border border-primary/20 bg-primary/5 px-4 py-3 text-sm text-muted-foreground`,children:(0,p.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,p.jsx)(l,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`}),(0,p.jsx)(`p`,{children:n(`extensionsLifecycleDescription`)})]})}),e.isPending?(0,p.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:n(`extensionsLoading`)}):e.isError?(0,p.jsxs)(`div`,{className:`rounded-xl border border-rose-200 bg-rose-50 px-4 py-5 text-sm text-rose-700`,children:[(0,p.jsx)(`p`,{children:n(`extensionsLoadFailed`)}),(0,p.jsx)(i,{className:`mt-3`,type:`button`,variant:`outline`,size:`sm`,onClick:()=>void e.refetch(),children:n(`extensionsRetry`)})]}):r?.extensions.length?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 lg:grid-cols-4`,children:[(0,p.jsx)(g,{label:n(`extensionsTotal`),value:r.counts.total}),(0,p.jsx)(g,{label:n(`extensionsRunning`),value:r.counts.running}),(0,p.jsx)(g,{label:n(`extensionsWithObservations`),value:r.counts.withObservations}),(0,p.jsx)(g,{label:n(`extensionsWithChannels`),value:r.counts.withChannels})]}),(0,p.jsx)(`div`,{className:`space-y-3`,children:r.extensions.map(e=>(0,p.jsx)(_,{extension:e},e.id))})]}):(0,p.jsxs)(`div`,{className:`rounded-xl border border-dashed border-border px-4 py-8 text-center text-sm text-muted-foreground`,children:[(0,p.jsx)(d,{className:`mx-auto h-5 w-5 text-muted-foreground/50`}),(0,p.jsx)(`p`,{className:`mt-2 font-medium text-foreground`,children:n(`extensionsEmpty`)}),(0,p.jsx)(`p`,{className:`mt-1`,children:n(`extensionsEmptyDescription`)})]})]})}export{v as ExtensionsConfigPage};
1
+ import{B as e,L as t,a as n}from"./react-CVFx225w.js";import{f as r,fn as i,sn as a,yn as o}from"./api-n96IfCKb.js";import{t as s}from"./refresh-cw-C-3_thgr.js";import{Ct as c,Ot as l,Tt as u,yt as d}from"./index-CLw9DuCJ.js";function f(){return o({queryKey:[`extension-catalog`],queryFn:r,staleTime:5e3,refetchOnWindowFocus:!0})}var p=e(),m={running:`bg-emerald-50 text-emerald-700`,starting:`bg-amber-50 text-amber-700`,stopping:`bg-amber-50 text-amber-700`,stopped:`bg-muted text-muted-foreground`,failed:`bg-rose-50 text-rose-700`};function h({state:e}){return(0,p.jsx)(`span`,{className:t(`rounded-full px-2 py-1 text-xs font-medium`,m[e]),children:n(`extensionsState${e[0].toUpperCase()}${e.slice(1)}`)})}function g({label:e,value:t}){return(0,p.jsxs)(`div`,{className:`rounded-xl border border-border/70 bg-card px-4 py-3`,children:[(0,p.jsx)(`div`,{className:`text-xs text-muted-foreground`,children:e}),(0,p.jsx)(`div`,{className:`mt-1 text-2xl font-semibold tabular-nums text-foreground`,children:t})]})}function _({extension:e}){return(0,p.jsxs)(`article`,{className:`rounded-xl border border-border/70 bg-card p-4`,children:[(0,p.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,p.jsx)(`span`,{className:`inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-xl bg-primary/10 text-primary`,children:(0,p.jsx)(d,{className:`h-5 w-5`})}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,p.jsx)(`h2`,{className:`truncate font-semibold text-foreground`,children:e.name}),(0,p.jsx)(h,{state:e.state})]}),(0,p.jsxs)(`p`,{className:`mt-1 break-all text-xs text-muted-foreground`,children:[e.id,e.version?` · v${e.version}`:``]})]})]}),(0,p.jsxs)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:[(0,p.jsxs)(`div`,{className:`rounded-lg bg-muted/40 px-3 py-2`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-foreground`,children:[(0,p.jsx)(u,{className:`h-3.5 w-3.5`}),n(`extensionsObservationCapabilities`)]}),(0,p.jsxs)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:[e.observations.context?n(`extensionsContextCapability`):null,e.observations.context&&e.observations.events?` · `:null,e.observations.events?n(`extensionsEventsCapability`):null,!e.observations.context&&!e.observations.events?n(`extensionsNone`):null]})]}),(0,p.jsxs)(`div`,{className:`rounded-lg bg-muted/40 px-3 py-2`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-foreground`,children:[(0,p.jsx)(c,{className:`h-3.5 w-3.5`}),n(`extensionsChannelCapabilities`)]}),(0,p.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e.channels.length>0?e.channels.map(e=>e.name||e.id).join(` · `):n(`extensionsNone`)})]})]}),(0,p.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,p.jsxs)(`span`,{children:[n(`extensionsLeaseCount`),`: `,e.leaseCount]}),e.pid?(0,p.jsxs)(`span`,{children:[n(`extensionsProcess`),`: `,e.pid]}):null,e.startedAt?(0,p.jsxs)(`span`,{children:[n(`extensionsStartedAt`),`: `,new Date(e.startedAt).toLocaleString()]}):null]})]})}function v(){let e=f(),r=e.data;return(0,p.jsxs)(a,{title:n(`extensionsPageTitle`),description:n(`extensionsPageDescription`),actions:(0,p.jsxs)(i,{type:`button`,variant:`outline`,size:`sm`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:[(0,p.jsx)(s,{className:t(`mr-2 h-4 w-4`,e.isFetching&&`animate-spin`)}),n(`extensionsRefresh`)]}),children:[(0,p.jsx)(`div`,{className:`rounded-xl border border-primary/20 bg-primary/5 px-4 py-3 text-sm text-muted-foreground`,children:(0,p.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,p.jsx)(l,{className:`mt-0.5 h-4 w-4 shrink-0 text-primary`}),(0,p.jsx)(`p`,{children:n(`extensionsLifecycleDescription`)})]})}),e.isPending?(0,p.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:n(`extensionsLoading`)}):e.isError?(0,p.jsxs)(`div`,{className:`rounded-xl border border-rose-200 bg-rose-50 px-4 py-5 text-sm text-rose-700`,children:[(0,p.jsx)(`p`,{children:n(`extensionsLoadFailed`)}),(0,p.jsx)(i,{className:`mt-3`,type:`button`,variant:`outline`,size:`sm`,onClick:()=>void e.refetch(),children:n(`extensionsRetry`)})]}):r?.extensions.length?(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(`div`,{className:`grid grid-cols-2 gap-2 lg:grid-cols-4`,children:[(0,p.jsx)(g,{label:n(`extensionsTotal`),value:r.counts.total}),(0,p.jsx)(g,{label:n(`extensionsRunning`),value:r.counts.running}),(0,p.jsx)(g,{label:n(`extensionsWithObservations`),value:r.counts.withObservations}),(0,p.jsx)(g,{label:n(`extensionsWithChannels`),value:r.counts.withChannels})]}),(0,p.jsx)(`div`,{className:`space-y-3`,children:r.extensions.map(e=>(0,p.jsx)(_,{extension:e},e.id))})]}):(0,p.jsxs)(`div`,{className:`rounded-xl border border-dashed border-border px-4 py-8 text-center text-sm text-muted-foreground`,children:[(0,p.jsx)(d,{className:`mx-auto h-5 w-5 text-muted-foreground/50`}),(0,p.jsx)(`p`,{className:`mt-2 font-medium text-foreground`,children:n(`extensionsEmpty`)}),(0,p.jsx)(`p`,{className:`mt-1`,children:n(`extensionsEmptyDescription`)})]})]})}export{v as ExtensionsConfigPage};