chainlesschain 0.162.113 → 0.162.114

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 (154) hide show
  1. package/package.json +1 -1
  2. package/src/assets/web-panel/assets/{AIOps-C31IEALR.js → AIOps-0-uMzHS0.js} +1 -1
  3. package/src/assets/web-panel/assets/{ActionButton-CAoIkNY6.js → ActionButton-DIZPfP0j.js} +1 -1
  4. package/src/assets/web-panel/assets/{Analytics-BofSQQzg.js → Analytics-D0XaT-HY.js} +3 -3
  5. package/src/assets/web-panel/assets/{AppLayout-C2dIYNTH.js → AppLayout-BTRaqYvd.js} +5 -5
  6. package/src/assets/web-panel/assets/{Audit-BXaDbU7P.js → Audit-CNf5Kaoi.js} +1 -1
  7. package/src/assets/web-panel/assets/{Backup-BTfBqsmK.js → Backup-BAo4Hi0L.js} +1 -1
  8. package/src/assets/web-panel/assets/{BaseInput-B_ak0VMO.js → BaseInput-Cvl0T59f.js} +1 -1
  9. package/src/assets/web-panel/assets/{Chat-BhcN6up6.js → Chat-Cun14ni3.js} +6 -6
  10. package/src/assets/web-panel/assets/{ChatBubbleRenderer-D0dZVHhx.js → ChatBubbleRenderer-CVSvw44R.js} +1 -1
  11. package/src/assets/web-panel/assets/{Checkbox-CjT0jj8Z.js → Checkbox-DJdTjyls.js} +1 -1
  12. package/src/assets/web-panel/assets/{Codegen-CzLTeJlc.js → Codegen-Bz_l_yn_.js} +1 -1
  13. package/src/assets/web-panel/assets/{Col-CiOd4VCk.js → Col-Bht2QpqM.js} +1 -1
  14. package/src/assets/web-panel/assets/{Community-MDcN43_I.js → Community-7KcO0kT1.js} +1 -1
  15. package/src/assets/web-panel/assets/{Compact-BlP5PKNl.js → Compact-B7rBvHIs.js} +1 -1
  16. package/src/assets/web-panel/assets/{Compliance-DQYF00Cq.js → Compliance-BuxUJTnd.js} +1 -1
  17. package/src/assets/web-panel/assets/{Cowork-BOSrQFS0.js → Cowork-CJdjs2tJ.js} +2 -2
  18. package/src/assets/web-panel/assets/{Cron-C0Htgg3F.js → Cron-BZFJ7-YN.js} +2 -2
  19. package/src/assets/web-panel/assets/{Crosschain-BuLRkpY3.js → Crosschain-BKsLLmuh.js} +1 -1
  20. package/src/assets/web-panel/assets/{DID-N3E4UBEh.js → DID-BxRlZh9g.js} +2 -2
  21. package/src/assets/web-panel/assets/{Dashboard-BB8JTDyU.js → Dashboard-B6RppX5d.js} +2 -2
  22. package/src/assets/web-panel/assets/{Dropdown-Dua4QX4R.js → Dropdown-DKtl6tbR.js} +1 -1
  23. package/src/assets/web-panel/assets/{EmailListRenderer-Cj26sbeq.js → EmailListRenderer-BRyFvNHM.js} +1 -1
  24. package/src/assets/web-panel/assets/{FamilyGuardDashboard-TwiOlWAm.js → FamilyGuardDashboard-C99TnWli.js} +1 -1
  25. package/src/assets/web-panel/assets/{Federation-CeGFlymx.js → Federation-lC9Io-Wx.js} +1 -1
  26. package/src/assets/web-panel/assets/{FormItemContext-lrtJ7VdL.js → FormItemContext-kTzkIiAH.js} +1 -1
  27. package/src/assets/web-panel/assets/{GenericCardRenderer-CSPy6cv0.js → GenericCardRenderer-ffjSPeHn.js} +1 -1
  28. package/src/assets/web-panel/assets/{Git-C9V804Um.js → Git-Ch-eo0ft.js} +2 -2
  29. package/src/assets/web-panel/assets/{Governance-BCRg6szw.js → Governance-CSlXyDt9.js} +1 -1
  30. package/src/assets/web-panel/assets/{Inference-0DjHobMq.js → Inference-innJ4CHB.js} +1 -1
  31. package/src/assets/web-panel/assets/{KnowledgeGraph-CKzlkXzc.js → KnowledgeGraph-BoKWXlKH.js} +1 -1
  32. package/src/assets/web-panel/assets/{Logs-BgzswcOA.js → Logs-Bvu1ZVlJ.js} +2 -2
  33. package/src/assets/web-panel/assets/{Marketplace-DXBTxAMo.js → Marketplace-Bz5plU9l.js} +1 -1
  34. package/src/assets/web-panel/assets/{McpTools-CvzNbZys.js → McpTools-Ce2O172z.js} +5 -5
  35. package/src/assets/web-panel/assets/{Memory-BbBmqtPo.js → Memory-CVTPzpDT.js} +2 -2
  36. package/src/assets/web-panel/assets/{MobileBridge-BpL2BNXG.js → MobileBridge-DroRONe3.js} +2 -2
  37. package/src/assets/web-panel/assets/{MobileProjects-R_zFuemA.js → MobileProjects-Bfp8_lJh.js} +1 -1
  38. package/src/assets/web-panel/assets/{Mtc-DQu3Arm_.js → Mtc-BLe-_MDX.js} +4 -4
  39. package/src/assets/web-panel/assets/{MtcAudit-DbswMnGL.js → MtcAudit-Cx6CIX_g.js} +6 -6
  40. package/src/assets/web-panel/assets/{Multisig-BJWojM4Z.js → Multisig-OEeP6h30.js} +3 -3
  41. package/src/assets/web-panel/assets/{NLProgramming-Cb60ScpP.js → NLProgramming-B79aNNrY.js} +1 -1
  42. package/src/assets/web-panel/assets/{Notes-CzoE6dCZ.js → Notes-BzKbClTh.js} +4 -4
  43. package/src/assets/web-panel/assets/{NotificationSettings-BZXqrg-J.js → NotificationSettings-6BcdjMJk.js} +1 -1
  44. package/src/assets/web-panel/assets/{OrderTableRenderer-BxAKnbfD.js → OrderTableRenderer-BdA4JzRg.js} +1 -1
  45. package/src/assets/web-panel/assets/{Organization-BoTaL8pl.js → Organization-B_g6tN2h.js} +4 -4
  46. package/src/assets/web-panel/assets/{Overflow-CAzqg4k3.js → Overflow-BPeDct0h.js} +1 -1
  47. package/src/assets/web-panel/assets/{P2P-CgzJoBIr.js → P2P-AbEH8Ad6.js} +2 -2
  48. package/src/assets/web-panel/assets/{PdhVaultBrowser-Cfaa63CB.js → PdhVaultBrowser-DTYIEFuT.js} +5 -5
  49. package/src/assets/web-panel/assets/{Permissions-DxUeh680.js → Permissions-Mtl6DRWC.js} +4 -4
  50. package/src/assets/web-panel/assets/{PersonalDataHub-S-H5XNNn.js → PersonalDataHub-CrfCdPgN.js} +3 -3
  51. package/src/assets/web-panel/assets/{Pipeline-BjrADxSK.js → Pipeline-Znd89-so.js} +1 -1
  52. package/src/assets/web-panel/assets/{Privacy-DYsdMxlQ.js → Privacy-1QK70XJJ.js} +1 -1
  53. package/src/assets/web-panel/assets/{ProjectInit-CUzdaYx1.js → ProjectInit-Dbh6fHo4.js} +2 -2
  54. package/src/assets/web-panel/assets/{ProjectSettings-DFnmFlpD.js → ProjectSettings-CtqWEUUX.js} +2 -2
  55. package/src/assets/web-panel/assets/Projects-C1vdepHb.js +1 -0
  56. package/src/assets/web-panel/assets/{Providers-Cpm9BlNl.js → Providers-VRTSkt2N.js} +1 -1
  57. package/src/assets/web-panel/assets/{QuickAsk-DjBFjSUh.js → QuickAsk-CP2dz_95.js} +1 -1
  58. package/src/assets/web-panel/assets/{Recommend-EVTMMe1P.js → Recommend-Bc81SmNo.js} +1 -1
  59. package/src/assets/web-panel/assets/{Reputation-Botbv7S3.js → Reputation-cRunHZiV.js} +1 -1
  60. package/src/assets/web-panel/assets/{Row-C3Nz28W3.js → Row-BwL7ApAT.js} +1 -1
  61. package/src/assets/web-panel/assets/{RssFeed-CjiBjWeF.js → RssFeed-BVbyxvzm.js} +2 -2
  62. package/src/assets/web-panel/assets/{Search-DlsyX5fR.js → Search-D5PgTvOP.js} +1 -1
  63. package/src/assets/web-panel/assets/{Security-CZhHoMdL.js → Security-Ddt1DCcC.js} +3 -3
  64. package/src/assets/web-panel/assets/{Services-D_Bnic0O.js → Services-6UaJxmZU.js} +2 -2
  65. package/src/assets/web-panel/assets/{Skeleton-CiZvE330.js → Skeleton-DFRbEQwp.js} +1 -1
  66. package/src/assets/web-panel/assets/{Skills-CKVqtO-U.js → Skills-5yq43K-X.js} +1 -1
  67. package/src/assets/web-panel/assets/{Sla-BInnM5w6.js → Sla-yMroQlH9.js} +1 -1
  68. package/src/assets/web-panel/assets/{SpeechSettings-QnJOhSa-.js → SpeechSettings-B2S3Iamq.js} +1 -1
  69. package/src/assets/web-panel/assets/{SyncSettings-CVpEDGPv.js → SyncSettings-BkKtXU71.js} +2 -2
  70. package/src/assets/web-panel/assets/{Tasks-DjpSdKoQ.js → Tasks-CBtNUwgq.js} +1 -1
  71. package/src/assets/web-panel/assets/{Templates-DAs7hSZn.js → Templates-C2drh0s2.js} +1 -1
  72. package/src/assets/web-panel/assets/{Tenant-fbZFofRo.js → Tenant-BLk2CVEv.js} +1 -1
  73. package/src/assets/web-panel/assets/{Terminal-7PpJ-714.js → Terminal-mElJ0fhK.js} +2 -2
  74. package/src/assets/web-panel/assets/{TimelineRenderer-KQuaMPPO.js → TimelineRenderer-D4E9FDsp.js} +1 -1
  75. package/src/assets/web-panel/assets/{Tokens-co0lrUd8.js → Tokens-Cgmf0-_P.js} +1 -1
  76. package/src/assets/web-panel/assets/{Trigger-DGu6KG0U.js → Trigger-BRlJLDbx.js} +1 -1
  77. package/src/assets/web-panel/assets/{Trust-DxcBRMa0.js → Trust-C6RUSQhG.js} +1 -1
  78. package/src/assets/web-panel/assets/{UkeySign-BmIm0kl6.js → UkeySign-Chi7u_hM.js} +1 -1
  79. package/src/assets/web-panel/assets/{VideoEditing-D2_w5mGi.js → VideoEditing-4-bo8EmV.js} +1 -1
  80. package/src/assets/web-panel/assets/{Wallet-BHAaiE8X.js → Wallet-B2hSD9eY.js} +4 -4
  81. package/src/assets/web-panel/assets/{WebAuthn-CRtrKFSh.js → WebAuthn-D8xa8fun.js} +4 -4
  82. package/src/assets/web-panel/assets/{WorkflowEditor-DjrhTXw-.js → WorkflowEditor-Db9dxskT.js} +1 -1
  83. package/src/assets/web-panel/assets/{chat-DDCMxp1K.js → chat-CXYLRZpi.js} +1 -1
  84. package/src/assets/web-panel/assets/{colors--4_xSbq4.js → colors-CaKoXOVA.js} +1 -1
  85. package/src/assets/web-panel/assets/{compact-item-DUz7Nnrf.js → compact-item-Br5NvOwQ.js} +1 -1
  86. package/src/assets/web-panel/assets/{createContext-C6hgEA6P.js → createContext-B-yHAw0V.js} +1 -1
  87. package/src/assets/web-panel/assets/devWarning-B9dp57_Q.js +1 -0
  88. package/src/assets/web-panel/assets/{hasIn-DLsr5ccI.js → hasIn-CqrdCz3g.js} +1 -1
  89. package/src/assets/web-panel/assets/{index-DVTlvsAd.js → index-1jqJ37zO.js} +1 -1
  90. package/src/assets/web-panel/assets/{index-kB6cCYAK.js → index-8ghdlyXM.js} +1 -1
  91. package/src/assets/web-panel/assets/{index-VW4mGJ0g.js → index-B1IlWIb6.js} +1 -1
  92. package/src/assets/web-panel/assets/{index-Dzr4dwNg.js → index-BQcTQlrC.js} +1 -1
  93. package/src/assets/web-panel/assets/{index-B98uRfVY.js → index-BRlkm8k6.js} +1 -1
  94. package/src/assets/web-panel/assets/{index-Bf2UWwla.js → index-BWxntLTd.js} +1 -1
  95. package/src/assets/web-panel/assets/{index-B_HoZFWD.js → index-BbZxkCWu.js} +1 -1
  96. package/src/assets/web-panel/assets/index-Bd3PIxeQ.js +1 -0
  97. package/src/assets/web-panel/assets/{index-ZzZ7sUbw.js → index-BeE50mEy.js} +1 -1
  98. package/src/assets/web-panel/assets/{index-CrC3Z0wT.js → index-BeQiNau_.js} +1 -1
  99. package/src/assets/web-panel/assets/{index-C0edasoI.js → index-BjAkyQXg.js} +1 -1
  100. package/src/assets/web-panel/assets/{index-x59Oik1J.js → index-BmV-MOO5.js} +1 -1
  101. package/src/assets/web-panel/assets/{index-DtjUgB7B.js → index-BrruO38Y.js} +3 -3
  102. package/src/assets/web-panel/assets/{index-B0qel7OZ.js → index-Byv9CEgj.js} +1 -1
  103. package/src/assets/web-panel/assets/{index-nhe7lwfU.js → index-BzpkjYz4.js} +1 -1
  104. package/src/assets/web-panel/assets/{index-5S59MN5w.js → index-CIZKEANZ.js} +1 -1
  105. package/src/assets/web-panel/assets/{index-CS0DcLLe.js → index-CMecOYUY.js} +1 -1
  106. package/src/assets/web-panel/assets/{index-BPVk2Aef.js → index-CQDhGgK-.js} +1 -1
  107. package/src/assets/web-panel/assets/{index-BgVCtv2i.js → index-CVt4C93w.js} +1 -1
  108. package/src/assets/web-panel/assets/{index-CCBU-dhE.js → index-CuaLeS0m.js} +1 -1
  109. package/src/assets/web-panel/assets/{index-DTB3o-AG.js → index-CvFe9Qyg.js} +1 -1
  110. package/src/assets/web-panel/assets/{index-BvBVv_y6.js → index-CvJruKpV.js} +1 -1
  111. package/src/assets/web-panel/assets/{index-Dts1rdrh.js → index-D39l1vpr.js} +1 -1
  112. package/src/assets/web-panel/assets/{index-CfWjCIeD.js → index-D6ngQeA0.js} +1 -1
  113. package/src/assets/web-panel/assets/{index-Ba-1vjJD.js → index-D98MYD3m.js} +1 -1
  114. package/src/assets/web-panel/assets/{index-zwI19UuK.js → index-DE2mB1ae.js} +1 -1
  115. package/src/assets/web-panel/assets/{index-BKs7IQEb.js → index-DGtE2LX-.js} +1 -1
  116. package/src/assets/web-panel/assets/{index-BrAktVfD.js → index-DHwefCFJ.js} +1 -1
  117. package/src/assets/web-panel/assets/{index-DO4JBw2m.js → index-DZ9ISv1n.js} +1 -1
  118. package/src/assets/web-panel/assets/{index-C0MclIlp.js → index-DaQkxUNc.js} +1 -1
  119. package/src/assets/web-panel/assets/{index-DQfBPPHG.js → index-DbrcBvEd.js} +1 -1
  120. package/src/assets/web-panel/assets/{index-DWQ4A_ig.js → index-DirWkR61.js} +1 -1
  121. package/src/assets/web-panel/assets/{index-UcbyVEUR.js → index-Ds4JSZQz.js} +1 -1
  122. package/src/assets/web-panel/assets/{index-DmMDr432.js → index-KRKDnsR0.js} +1 -1
  123. package/src/assets/web-panel/assets/{index-Cdx5wAKy.js → index-W_LrSwhD.js} +1 -1
  124. package/src/assets/web-panel/assets/index-WpnbyTfq.js +1 -0
  125. package/src/assets/web-panel/assets/{index-CZRi_BiL.js → index-ZB70zTAh.js} +1 -1
  126. package/src/assets/web-panel/assets/{index-DuMSr7qB.js → index-hsgVTIGX.js} +1 -1
  127. package/src/assets/web-panel/assets/{index-CORbX-su.js → index-nT_CmIwR.js} +1 -1
  128. package/src/assets/web-panel/assets/{initDefaultProps-CPyHDtDC.js → initDefaultProps-CikG-5bi.js} +1 -1
  129. package/src/assets/web-panel/assets/{motion-Blq36u4Y.js → motion--tkkEE3m.js} +1 -1
  130. package/src/assets/web-panel/assets/{move-HuAtMUkO.js → move-D6xAZefU.js} +1 -1
  131. package/src/assets/web-panel/assets/{omit-CVMoOx32.js → omit-CsD8Wwta.js} +1 -1
  132. package/src/assets/web-panel/assets/{pickAttrs-BunNS-fj.js → pickAttrs-D4qa94u9.js} +1 -1
  133. package/src/assets/web-panel/assets/{placementArrow-Eg_eS8OF.js → placementArrow-9fx4sI6E.js} +1 -1
  134. package/src/assets/web-panel/assets/{responsiveObserve-BiU0qt8R.js → responsiveObserve-DwYJKWhG.js} +1 -1
  135. package/src/assets/web-panel/assets/{slide-BZfRWEJu.js → slide-DFxU8IG1.js} +1 -1
  136. package/src/assets/web-panel/assets/{statusUtils-j5payJ2P.js → statusUtils-DPAkc9NC.js} +1 -1
  137. package/src/assets/web-panel/assets/{styleChecker--CNWRiiz.js → styleChecker-D-ByG8n4.js} +1 -1
  138. package/src/assets/web-panel/assets/{useFlexGapSupport-BtY8OW_f.js → useFlexGapSupport-DwVLaYMd.js} +1 -1
  139. package/src/assets/web-panel/assets/{useFs-CL-bgDIB.js → useFs-CSyqOEiA.js} +1 -1
  140. package/src/assets/web-panel/assets/{usePersonalDataHub-BEjDzvTR.js → usePersonalDataHub-B7qEu3ar.js} +1 -1
  141. package/src/assets/web-panel/assets/{vnode-B3IodNFs.js → vnode-4YgwyfPJ.js} +1 -1
  142. package/src/assets/web-panel/assets/{zoom-DvLt_owF.js → zoom-CPUWjtMS.js} +1 -1
  143. package/src/assets/web-panel/index.html +1 -1
  144. package/src/commands/audit.js +21 -3
  145. package/src/commands/browse.js +18 -3
  146. package/src/commands/compliance.js +7 -1
  147. package/src/commands/cost.js +9 -1
  148. package/src/commands/hub.js +8 -0
  149. package/src/lib/hub-llm-client.js +248 -0
  150. package/src/lib/personal-data-hub-wiring.js +20 -4
  151. package/src/assets/web-panel/assets/Projects-GOQqdP4u.js +0 -1
  152. package/src/assets/web-panel/assets/devWarning-qzaZtWgD.js +0 -1
  153. package/src/assets/web-panel/assets/index-BFKz8uJQ.js +0 -1
  154. package/src/assets/web-panel/assets/index-lhIs6Z78.js +0 -1
@@ -1 +1 @@
1
- import{h as s}from"./index-DtjUgB7B.js";const n=(p,o)=>{const r=s({},p);return Object.keys(o).forEach(t=>{const e=r[t];if(e)e.type||e.default?e.default=o[t]:e.def?e.def(o[t]):r[t]={type:e,default:o[t]};else throw new Error(`not have ${t} prop`)}),r};export{n as i};
1
+ import{h as s}from"./index-BrruO38Y.js";const n=(p,o)=>{const r=s({},p);return Object.keys(o).forEach(t=>{const e=r[t];if(e)e.type||e.default?e.default=o[t]:e.def?e.def(o[t]):r[t]={type:e,default:o[t]};else throw new Error(`not have ${t} prop`)}),r};export{n as i};
@@ -1,4 +1,4 @@
1
- import{b as D,e as k,d as F,q as _,o as I,w as O,n as R,f as z,c as H,s as f}from"./vendor-BvqAck49.js";import{A as p,B as A,D as C,P as j,F as q,G,h as v}from"./index-DtjUgB7B.js";import{w as L}from"./raf-Deuc0E8-.js";let M=!1;try{const e=Object.defineProperty({},"passive",{get(){M=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch{}function te(e,n,o,t){if(e&&e.addEventListener){let r=t;r===void 0&&M&&(n==="touchstart"||n==="touchmove"||n==="wheel")&&(r={passive:!1}),e.addEventListener(n,o,r)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(n,o)}}}let g;function W(e){if(typeof document>"u")return 0;if(g===void 0){const n=document.createElement("div");n.style.width="100%",n.style.height="200px";const o=document.createElement("div"),t=o.style;t.position="absolute",t.top="0",t.left="0",t.pointerEvents="none",t.visibility="hidden",t.width="200px",t.height="150px",t.overflow="hidden",o.appendChild(n),document.body.appendChild(o);const r=n.offsetWidth;o.style.overflow="scroll";let a=n.offsetWidth;r===a&&(a=o.clientWidth),document.body.removeChild(o),g=r-a}return g}function N(e){const n=e.match(/^(.*)px$/),o=Number(n?.[1]);return Number.isNaN(o)?W():o}function ne(e){if(typeof document>"u"||!e||!(e instanceof Element))return{width:0,height:0};const{width:n,height:o}=getComputedStyle(e,"::-webkit-scrollbar");return{width:N(n),height:N(o)}}const T=`vc-util-locker-${Date.now()}`;let x=0;function V(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Q(e){const n=D(()=>!!e&&!!e.value);x+=1;const o=`${T}_${x}`;k(t=>{if(p()){if(n.value){const r=W(),a=V();A(`
1
+ import{b as D,e as k,d as F,q as _,o as I,w as O,n as R,f as z,c as H,s as f}from"./vendor-BvqAck49.js";import{A as p,B as A,D as C,P as j,F as q,G,h as v}from"./index-BrruO38Y.js";import{w as L}from"./raf-Deuc0E8-.js";let M=!1;try{const e=Object.defineProperty({},"passive",{get(){M=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch{}function te(e,n,o,t){if(e&&e.addEventListener){let r=t;r===void 0&&M&&(n==="touchstart"||n==="touchmove"||n==="wheel")&&(r={passive:!1}),e.addEventListener(n,o,r)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(n,o)}}}let g;function W(e){if(typeof document>"u")return 0;if(g===void 0){const n=document.createElement("div");n.style.width="100%",n.style.height="200px";const o=document.createElement("div"),t=o.style;t.position="absolute",t.top="0",t.left="0",t.pointerEvents="none",t.visibility="hidden",t.width="200px",t.height="150px",t.overflow="hidden",o.appendChild(n),document.body.appendChild(o);const r=n.offsetWidth;o.style.overflow="scroll";let a=n.offsetWidth;r===a&&(a=o.clientWidth),document.body.removeChild(o),g=r-a}return g}function N(e){const n=e.match(/^(.*)px$/),o=Number(n?.[1]);return Number.isNaN(o)?W():o}function ne(e){if(typeof document>"u"||!e||!(e instanceof Element))return{width:0,height:0};const{width:n,height:o}=getComputedStyle(e,"::-webkit-scrollbar");return{width:N(n),height:N(o)}}const T=`vc-util-locker-${Date.now()}`;let x=0;function V(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Q(e){const n=D(()=>!!e&&!!e.value);x+=1;const o=`${T}_${x}`;k(t=>{if(p()){if(n.value){const r=W(),a=V();A(`
2
2
  html body {
3
3
  overflow-y: hidden;
4
4
  ${a?`width: calc(100% - ${r}px);`:""}
@@ -1,4 +1,4 @@
1
- import{K as t}from"./index-DtjUgB7B.js";import{i as s}from"./motion-Blq36u4Y.js";const m=new t("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),f=new t("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),c=new t("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),y=new t("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),p=new t("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),O=new t("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),g=new t("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),v=new t("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),l={"move-up":{inKeyframes:g,outKeyframes:v},"move-down":{inKeyframes:m,outKeyframes:f},"move-left":{inKeyframes:c,outKeyframes:y},"move-right":{inKeyframes:p,outKeyframes:O}},w=(n,a)=>{const{antCls:o}=n,r=`${o}-${a}`,{inKeyframes:i,outKeyframes:e}=l[a];return[s(r,i,e,n.motionDurationMid),{[`
1
+ import{K as t}from"./index-BrruO38Y.js";import{i as s}from"./motion--tkkEE3m.js";const m=new t("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),f=new t("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),c=new t("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),y=new t("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),p=new t("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),O=new t("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),g=new t("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),v=new t("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),l={"move-up":{inKeyframes:g,outKeyframes:v},"move-down":{inKeyframes:m,outKeyframes:f},"move-left":{inKeyframes:c,outKeyframes:y},"move-right":{inKeyframes:p,outKeyframes:O}},w=(n,a)=>{const{antCls:o}=n,r=`${o}-${a}`,{inKeyframes:i,outKeyframes:e}=l[a];return[s(r,i,e,n.motionDurationMid),{[`
2
2
  ${r}-enter,
3
3
  ${r}-appear
4
4
  `]:{opacity:0,animationTimingFunction:n.motionEaseOutCirc},[`${r}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{w as i};
@@ -1 +1 @@
1
- import{h as s}from"./index-DtjUgB7B.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
1
+ import{h as s}from"./index-BrruO38Y.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
@@ -1,4 +1,4 @@
1
- import{h as i}from"./index-DtjUgB7B.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
1
+ import{h as i}from"./index-BrruO38Y.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
2
2
  alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
3
3
  charset checked classid classname colspan cols content contenteditable contextmenu
4
4
  controls coords crossorigin data datetime default defer dir disabled download draggable
@@ -1 +1 @@
1
- import{h as i}from"./index-DtjUgB7B.js";const L=(e,o,t,n,p)=>{const r=e/2,a=0,s=r,m=t*1/Math.sqrt(2),h=r-t*(1-1/Math.sqrt(2)),b=r-o*(1/Math.sqrt(2)),u=t*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),g=2*r-b,w=u,d=2*r-m,c=h,A=2*r-a,x=s,v=r*Math.sqrt(2)+t*(Math.sqrt(2)-2),$=t*(Math.sqrt(2)-1);return{pointerEvents:"none",width:e,height:e,overflow:"hidden","&::after":{content:'""',position:"absolute",width:v,height:v,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:p,zIndex:0,background:"transparent"},"&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:e,height:e/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${$}px 100%, 50% ${$}px, ${2*r-$}px 100%, ${$}px 100%)`,`path('M ${a} ${s} A ${t} ${t} 0 0 0 ${m} ${h} L ${b} ${u} A ${o} ${o} 0 0 1 ${g} ${w} L ${d} ${c} A ${t} ${t} 0 0 0 ${A} ${x} Z')`]},content:'""'}}},f={adjustX:1,adjustY:1},l=[0,0],j={left:{points:["cr","cl"],overflow:f,offset:[-4,0],targetOffset:l},right:{points:["cl","cr"],overflow:f,offset:[4,0],targetOffset:l},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:l},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:l},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:l},leftTop:{points:["tr","tl"],overflow:f,offset:[-4,0],targetOffset:l},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:l},rightTop:{points:["tl","tr"],overflow:f,offset:[4,0],targetOffset:l},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:l},rightBottom:{points:["bl","br"],overflow:f,offset:[4,0],targetOffset:l},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:l},leftBottom:{points:["br","bl"],overflow:f,offset:[-4,0],targetOffset:l}},M={adjustX:1,adjustY:1},O={adjustX:0,adjustY:0},T=[0,0];function k(e){return typeof e=="boolean"?e?M:O:i(i({},O),e)}function Y(e){const{arrowWidth:o=4,horizontalArrowShift:t=16,verticalArrowShift:n=8,autoAdjustOverflow:p,arrowPointAtCenter:r}=e,a={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(t+o),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(n+o)]},topRight:{points:["br","tc"],offset:[t+o,-4]},rightTop:{points:["tl","cr"],offset:[4,-(n+o)]},bottomRight:{points:["tr","bc"],offset:[t+o,4]},rightBottom:{points:["bl","cr"],offset:[4,n+o]},bottomLeft:{points:["tl","bc"],offset:[-(t+o),4]},leftBottom:{points:["br","cl"],offset:[-4,n+o]}};return Object.keys(a).forEach(s=>{a[s]=r?i(i({},a[s]),{overflow:k(p),targetOffset:T}):i(i({},j[s]),{overflow:k(p)}),a[s].ignoreShake=!0}),a}function _(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e.map(t=>`${o}${t}`).join(",")}const X=8;function B(e){const o=X,{sizePopupArrow:t,contentRadius:n,borderRadiusOuter:p,limitVerticalRadius:r}=e,a=t/2-Math.ceil(p*(Math.sqrt(2)-1)),s=(n>12?n+2:12)-a,m=r?o-a:s;return{dropdownArrowOffset:s,dropdownArrowOffsetVertical:m}}function q(e,o){const{componentCls:t,sizePopupArrow:n,marginXXS:p,borderRadiusXS:r,borderRadiusOuter:a,boxShadowPopoverArrow:s}=e,{colorBg:m,showArrowCls:h,contentRadius:b=e.borderRadiusLG,limitVerticalRadius:u}=o,{dropdownArrowOffsetVertical:g,dropdownArrowOffset:w}=B({sizePopupArrow:n,contentRadius:b,borderRadiusOuter:a,limitVerticalRadius:u}),d=n/2+p;return{[t]:{[`${t}-arrow`]:[i(i({position:"absolute",zIndex:1,display:"block"},L(n,r,a,m,s)),{"&:before":{background:m}})],[[`&-placement-top ${t}-arrow`,`&-placement-topLeft ${t}-arrow`,`&-placement-topRight ${t}-arrow`].join(",")]:{bottom:0,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-topRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-bottom ${t}-arrow`,`&-placement-bottomLeft ${t}-arrow`,`&-placement-bottomRight ${t}-arrow`].join(",")]:{top:0,transform:"translateY(-100%)"},[`&-placement-bottom ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-bottomRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-left ${t}-arrow`,`&-placement-leftTop ${t}-arrow`,`&-placement-leftBottom ${t}-arrow`].join(",")]:{right:{_skip_check_:!0,value:0},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${t}-arrow`]:{top:g},[`&-placement-leftBottom ${t}-arrow`]:{bottom:g},[[`&-placement-right ${t}-arrow`,`&-placement-rightTop ${t}-arrow`,`&-placement-rightBottom ${t}-arrow`].join(",")]:{left:{_skip_check_:!0,value:0},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${t}-arrow`]:{top:g},[`&-placement-rightBottom ${t}-arrow`]:{bottom:g},[_(["&-placement-topLeft","&-placement-top","&-placement-topRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingBottom:d},[_(["&-placement-bottomLeft","&-placement-bottom","&-placement-bottomRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingTop:d},[_(["&-placement-leftTop","&-placement-left","&-placement-leftBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingRight:{_skip_check_:!0,value:d}},[_(["&-placement-rightTop","&-placement-right","&-placement-rightBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingLeft:{_skip_check_:!0,value:d}}}}}export{X as M,Y as a,B as b,q as g,j as p,L as r};
1
+ import{h as i}from"./index-BrruO38Y.js";const L=(e,o,t,n,p)=>{const r=e/2,a=0,s=r,m=t*1/Math.sqrt(2),h=r-t*(1-1/Math.sqrt(2)),b=r-o*(1/Math.sqrt(2)),u=t*(Math.sqrt(2)-1)+o*(1/Math.sqrt(2)),g=2*r-b,w=u,d=2*r-m,c=h,A=2*r-a,x=s,v=r*Math.sqrt(2)+t*(Math.sqrt(2)-2),$=t*(Math.sqrt(2)-1);return{pointerEvents:"none",width:e,height:e,overflow:"hidden","&::after":{content:'""',position:"absolute",width:v,height:v,bottom:0,insetInline:0,margin:"auto",borderRadius:{_skip_check_:!0,value:`0 0 ${o}px 0`},transform:"translateY(50%) rotate(-135deg)",boxShadow:p,zIndex:0,background:"transparent"},"&::before":{position:"absolute",bottom:0,insetInlineStart:0,width:e,height:e/2,background:n,clipPath:{_multi_value_:!0,value:[`polygon(${$}px 100%, 50% ${$}px, ${2*r-$}px 100%, ${$}px 100%)`,`path('M ${a} ${s} A ${t} ${t} 0 0 0 ${m} ${h} L ${b} ${u} A ${o} ${o} 0 0 1 ${g} ${w} L ${d} ${c} A ${t} ${t} 0 0 0 ${A} ${x} Z')`]},content:'""'}}},f={adjustX:1,adjustY:1},l=[0,0],j={left:{points:["cr","cl"],overflow:f,offset:[-4,0],targetOffset:l},right:{points:["cl","cr"],overflow:f,offset:[4,0],targetOffset:l},top:{points:["bc","tc"],overflow:f,offset:[0,-4],targetOffset:l},bottom:{points:["tc","bc"],overflow:f,offset:[0,4],targetOffset:l},topLeft:{points:["bl","tl"],overflow:f,offset:[0,-4],targetOffset:l},leftTop:{points:["tr","tl"],overflow:f,offset:[-4,0],targetOffset:l},topRight:{points:["br","tr"],overflow:f,offset:[0,-4],targetOffset:l},rightTop:{points:["tl","tr"],overflow:f,offset:[4,0],targetOffset:l},bottomRight:{points:["tr","br"],overflow:f,offset:[0,4],targetOffset:l},rightBottom:{points:["bl","br"],overflow:f,offset:[4,0],targetOffset:l},bottomLeft:{points:["tl","bl"],overflow:f,offset:[0,4],targetOffset:l},leftBottom:{points:["br","bl"],overflow:f,offset:[-4,0],targetOffset:l}},M={adjustX:1,adjustY:1},O={adjustX:0,adjustY:0},T=[0,0];function k(e){return typeof e=="boolean"?e?M:O:i(i({},O),e)}function Y(e){const{arrowWidth:o=4,horizontalArrowShift:t=16,verticalArrowShift:n=8,autoAdjustOverflow:p,arrowPointAtCenter:r}=e,a={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(t+o),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(n+o)]},topRight:{points:["br","tc"],offset:[t+o,-4]},rightTop:{points:["tl","cr"],offset:[4,-(n+o)]},bottomRight:{points:["tr","bc"],offset:[t+o,4]},rightBottom:{points:["bl","cr"],offset:[4,n+o]},bottomLeft:{points:["tl","bc"],offset:[-(t+o),4]},leftBottom:{points:["br","cl"],offset:[-4,n+o]}};return Object.keys(a).forEach(s=>{a[s]=r?i(i({},a[s]),{overflow:k(p),targetOffset:T}):i(i({},j[s]),{overflow:k(p)}),a[s].ignoreShake=!0}),a}function _(e){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return e.map(t=>`${o}${t}`).join(",")}const X=8;function B(e){const o=X,{sizePopupArrow:t,contentRadius:n,borderRadiusOuter:p,limitVerticalRadius:r}=e,a=t/2-Math.ceil(p*(Math.sqrt(2)-1)),s=(n>12?n+2:12)-a,m=r?o-a:s;return{dropdownArrowOffset:s,dropdownArrowOffsetVertical:m}}function q(e,o){const{componentCls:t,sizePopupArrow:n,marginXXS:p,borderRadiusXS:r,borderRadiusOuter:a,boxShadowPopoverArrow:s}=e,{colorBg:m,showArrowCls:h,contentRadius:b=e.borderRadiusLG,limitVerticalRadius:u}=o,{dropdownArrowOffsetVertical:g,dropdownArrowOffset:w}=B({sizePopupArrow:n,contentRadius:b,borderRadiusOuter:a,limitVerticalRadius:u}),d=n/2+p;return{[t]:{[`${t}-arrow`]:[i(i({position:"absolute",zIndex:1,display:"block"},L(n,r,a,m,s)),{"&:before":{background:m}})],[[`&-placement-top ${t}-arrow`,`&-placement-topLeft ${t}-arrow`,`&-placement-topRight ${t}-arrow`].join(",")]:{bottom:0,transform:"translateY(100%) rotate(180deg)"},[`&-placement-top ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(100%) rotate(180deg)"},[`&-placement-topLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-topRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-bottom ${t}-arrow`,`&-placement-bottomLeft ${t}-arrow`,`&-placement-bottomRight ${t}-arrow`].join(",")]:{top:0,transform:"translateY(-100%)"},[`&-placement-bottom ${t}-arrow`]:{left:{_skip_check_:!0,value:"50%"},transform:"translateX(-50%) translateY(-100%)"},[`&-placement-bottomLeft ${t}-arrow`]:{left:{_skip_check_:!0,value:w}},[`&-placement-bottomRight ${t}-arrow`]:{right:{_skip_check_:!0,value:w}},[[`&-placement-left ${t}-arrow`,`&-placement-leftTop ${t}-arrow`,`&-placement-leftBottom ${t}-arrow`].join(",")]:{right:{_skip_check_:!0,value:0},transform:"translateX(100%) rotate(90deg)"},[`&-placement-left ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(100%) rotate(90deg)"},[`&-placement-leftTop ${t}-arrow`]:{top:g},[`&-placement-leftBottom ${t}-arrow`]:{bottom:g},[[`&-placement-right ${t}-arrow`,`&-placement-rightTop ${t}-arrow`,`&-placement-rightBottom ${t}-arrow`].join(",")]:{left:{_skip_check_:!0,value:0},transform:"translateX(-100%) rotate(-90deg)"},[`&-placement-right ${t}-arrow`]:{top:{_skip_check_:!0,value:"50%"},transform:"translateY(-50%) translateX(-100%) rotate(-90deg)"},[`&-placement-rightTop ${t}-arrow`]:{top:g},[`&-placement-rightBottom ${t}-arrow`]:{bottom:g},[_(["&-placement-topLeft","&-placement-top","&-placement-topRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingBottom:d},[_(["&-placement-bottomLeft","&-placement-bottom","&-placement-bottomRight"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingTop:d},[_(["&-placement-leftTop","&-placement-left","&-placement-leftBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingRight:{_skip_check_:!0,value:d}},[_(["&-placement-rightTop","&-placement-right","&-placement-rightBottom"].map(c=>c+=":not(&-arrow-hidden)"),h)]:{paddingLeft:{_skip_check_:!0,value:d}}}}}export{X as M,Y as a,B as b,q as g,j as p,L as r};
@@ -1 +1 @@
1
- import{I as o,h}from"./index-DtjUgB7B.js";import{b as x}from"./vendor-BvqAck49.js";const v=["xxxl","xxl","xl","lg","md","sm","xs"],p=r=>({xs:`(max-width: ${r.screenXSMax}px)`,sm:`(min-width: ${r.screenSM}px)`,md:`(min-width: ${r.screenMD}px)`,lg:`(min-width: ${r.screenLG}px)`,xl:`(min-width: ${r.screenXL}px)`,xxl:`(min-width: ${r.screenXXL}px)`,xxxl:`{min-width: ${r.screenXXXL}px}`});function w(){const[,r]=o();return x(()=>{const n=p(r.value),i=new Map;let a=-1,c={};return{matchHandlers:{},dispatch(e){return c=e,i.forEach(t=>t(c)),i.size>=1},subscribe(e){return i.size||this.register(),a+=1,i.set(a,e),e(c),a},unsubscribe(e){i.delete(e),i.size||this.unregister()},unregister(){Object.keys(n).forEach(e=>{const t=n[e],s=this.matchHandlers[t];s?.mql.removeListener(s?.listener)}),i.clear()},register(){Object.keys(n).forEach(e=>{const t=n[e],s=l=>{let{matches:m}=l;this.dispatch(h(h({},c),{[e]:m}))},d=window.matchMedia(t);d.addListener(s),this.matchHandlers[t]={mql:d,listener:s},s(d)})},responsiveMap:n}})}export{v as r,w as u};
1
+ import{I as o,h}from"./index-BrruO38Y.js";import{b as x}from"./vendor-BvqAck49.js";const v=["xxxl","xxl","xl","lg","md","sm","xs"],p=r=>({xs:`(max-width: ${r.screenXSMax}px)`,sm:`(min-width: ${r.screenSM}px)`,md:`(min-width: ${r.screenMD}px)`,lg:`(min-width: ${r.screenLG}px)`,xl:`(min-width: ${r.screenXL}px)`,xxl:`(min-width: ${r.screenXXL}px)`,xxxl:`{min-width: ${r.screenXXXL}px}`});function w(){const[,r]=o();return x(()=>{const n=p(r.value),i=new Map;let a=-1,c={};return{matchHandlers:{},dispatch(e){return c=e,i.forEach(t=>t(c)),i.size>=1},subscribe(e){return i.size||this.register(),a+=1,i.set(a,e),e(c),a},unsubscribe(e){i.delete(e),i.size||this.unregister()},unregister(){Object.keys(n).forEach(e=>{const t=n[e],s=this.matchHandlers[t];s?.mql.removeListener(s?.listener)}),i.clear()},register(){Object.keys(n).forEach(e=>{const t=n[e],s=l=>{let{matches:m}=l;this.dispatch(h(h({},c),{[e]:m}))},d=window.matchMedia(t);d.addListener(s),this.matchHandlers[t]={mql:d,listener:s},s(d)})},responsiveMap:n}})}export{v as r,w as u};
@@ -1,4 +1,4 @@
1
- import{K as n}from"./index-DtjUgB7B.js";import{i as e}from"./motion-Blq36u4Y.js";const m=new n("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),f=new n("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new n("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new n("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),y=new n("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),p=new n("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),O=new n("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),d=new n("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),g={"slide-up":{inKeyframes:m,outKeyframes:f},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:y,outKeyframes:p},"slide-right":{inKeyframes:O,outKeyframes:d}},K=(t,r)=>{const{antCls:a}=t,i=`${a}-${r}`,{inKeyframes:s,outKeyframes:o}=g[r];return[e(i,s,o,t.motionDurationMid),{[`
1
+ import{K as n}from"./index-BrruO38Y.js";import{i as e}from"./motion--tkkEE3m.js";const m=new n("antSlideUpIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1}}),f=new n("antSlideUpOut",{"0%":{transform:"scaleY(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"0% 0%",opacity:0}}),c=new n("antSlideDownIn",{"0%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0},"100%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1}}),l=new n("antSlideDownOut",{"0%":{transform:"scaleY(1)",transformOrigin:"100% 100%",opacity:1},"100%":{transform:"scaleY(0.8)",transformOrigin:"100% 100%",opacity:0}}),y=new n("antSlideLeftIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1}}),p=new n("antSlideLeftOut",{"0%":{transform:"scaleX(1)",transformOrigin:"0% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"0% 0%",opacity:0}}),O=new n("antSlideRightIn",{"0%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0},"100%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1}}),d=new n("antSlideRightOut",{"0%":{transform:"scaleX(1)",transformOrigin:"100% 0%",opacity:1},"100%":{transform:"scaleX(0.8)",transformOrigin:"100% 0%",opacity:0}}),g={"slide-up":{inKeyframes:m,outKeyframes:f},"slide-down":{inKeyframes:c,outKeyframes:l},"slide-left":{inKeyframes:y,outKeyframes:p},"slide-right":{inKeyframes:O,outKeyframes:d}},K=(t,r)=>{const{antCls:a}=t,i=`${a}-${r}`,{inKeyframes:s,outKeyframes:o}=g[r];return[e(i,s,o,t.motionDurationMid),{[`
2
2
  ${i}-enter,
3
3
  ${i}-appear
4
4
  `]:{transform:"scale(0)",transformOrigin:"0% 0%",opacity:0,animationTimingFunction:t.motionEaseOutQuint},[`${i}-leave`]:{animationTimingFunction:t.motionEaseInQuint}}]};export{f as a,c as b,m as c,K as i,l as s};
@@ -1 +1 @@
1
- import{i as e}from"./index-DtjUgB7B.js";function r(a,s,t){return e({[`${a}-status-success`]:s==="success",[`${a}-status-warning`]:s==="warning",[`${a}-status-error`]:s==="error",[`${a}-status-validating`]:s==="validating",[`${a}-has-feedback`]:t})}const c=(a,s)=>s||a;export{c as a,r as g};
1
+ import{i as e}from"./index-BrruO38Y.js";function r(a,s,t){return e({[`${a}-status-success`]:s==="success",[`${a}-status-warning`]:s==="warning",[`${a}-status-error`]:s==="error",[`${a}-status-validating`]:s==="validating",[`${a}-has-feedback`]:t})}const c=(a,s)=>s||a;export{c as a,r as g};
@@ -1 +1 @@
1
- import{A as d}from"./index-DtjUgB7B.js";const i=()=>d()&&window.document.documentElement,c=e=>{if(d()&&window.document.documentElement){const t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(r=>r in n.style)}return!1},u=(e,t)=>{if(!c(e))return!1;const n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function s(e,t){return!Array.isArray(e)&&t!==void 0?u(e,t):c(e)}let o;const p=()=>{if(!i())return!1;if(o!==void 0)return o;const e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),o=e.scrollHeight===1,document.body.removeChild(e),o};export{i as c,p as d,s as i};
1
+ import{A as d}from"./index-BrruO38Y.js";const i=()=>d()&&window.document.documentElement,c=e=>{if(d()&&window.document.documentElement){const t=Array.isArray(e)?e:[e],{documentElement:n}=window.document;return t.some(r=>r in n.style)}return!1},u=(e,t)=>{if(!c(e))return!1;const n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r};function s(e,t){return!Array.isArray(e)&&t!==void 0?u(e,t):c(e)}let o;const p=()=>{if(!i())return!1;if(o!==void 0)return o;const e=document.createElement("div");return e.style.display="flex",e.style.flexDirection="column",e.style.rowGap="1px",e.appendChild(document.createElement("div")),e.appendChild(document.createElement("div")),document.body.appendChild(e),o=e.scrollHeight===1,document.body.removeChild(e),o};export{i as c,p as d,s as i};
@@ -1 +1 @@
1
- import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker--CNWRiiz.js";const r=(()=>{const e=t(!1);return o(()=>{e.value=s()}),e});export{r as u};
1
+ import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker-D-ByG8n4.js";const r=(()=>{const e=t(!1);return o(()=>{e.value=s()}),e});export{r as u};
@@ -1 +1 @@
1
- import{u as d}from"./index-DtjUgB7B.js";import{u as c}from"./useShellMode-CgR0wCYM.js";function u({accept:l=""}={}){return new Promise(a=>{if(typeof document>"u"){a({canceled:!0,path:null,content:null});return}const n=document.createElement("input");n.type="file",l&&(n.accept=l),n.style.display="none",document.body.appendChild(n);let o=!1;const i=()=>{n.parentNode&&n.parentNode.removeChild(n)},r=()=>{if(o)return;o=!0;const e=n.files&&n.files[0];if(!e){i(),a({canceled:!0,path:null,content:null});return}const t=new FileReader;t.onload=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:typeof t.result=="string"?t.result:""})},t.onerror=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:null,reason:"read_failed"})},t.readAsText(e)};n.addEventListener("change",r),n.click()})}function f(l,{defaultPath:a="download.txt"}={}){if(typeof document>"u")return{canceled:!0,path:null};const n=new Blob([l],{type:"text/plain"}),o=URL.createObjectURL(n),i=document.createElement("a");return i.href=o,i.download=a,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o),{canceled:!1,path:a}}function p(l){if(!Array.isArray(l))return"";const a=[];for(const n of l)if(Array.isArray(n.extensions))for(const o of n.extensions)a.push(`.${o.replace(/^\./,"")}`);return a.join(",")}function m(){const l=d();async function a(r={}){if(c().isEmbedded){const e=await l.sendRaw({type:"fs.openDialog",title:r.title,filters:r.filters},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDialog failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,content:t.content??null,size:t.size,reason:t.reason}}return u({accept:p(r.filters)})}async function n(r,e={}){if(typeof r!="string")throw new Error("content must be a string");if(c().isEmbedded){const t=await l.sendRaw({type:"fs.saveDialog",title:e.title,defaultPath:e.defaultPath,filters:e.filters,content:r},6e4);if(t&&t.ok===!1)throw new Error(t.error||"fs.saveDialog failed");const s=t?.result??t;return{canceled:!!s.canceled,path:s.path??null}}return f(r,{defaultPath:e.defaultPath})}async function o(r,e={}){const t=JSON.stringify(r,null,2),s={...e,defaultPath:e.defaultPath||"data.json",filters:e.filters||[{name:"JSON",extensions:["json"]}]};return n(t,s)}async function i(r={}){if(!c().isEmbedded)return{canceled:!0,path:null,initialized:!1,unsupported:!0};const e=await l.sendRaw({type:"fs.openDirectory",title:r.title},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDirectory failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,initialized:!!t.initialized}}return{pickFileText:a,saveText:n,saveJson:o,pickDirectory:i}}export{m as u};
1
+ import{u as d}from"./index-BrruO38Y.js";import{u as c}from"./useShellMode-CgR0wCYM.js";function u({accept:l=""}={}){return new Promise(a=>{if(typeof document>"u"){a({canceled:!0,path:null,content:null});return}const n=document.createElement("input");n.type="file",l&&(n.accept=l),n.style.display="none",document.body.appendChild(n);let o=!1;const i=()=>{n.parentNode&&n.parentNode.removeChild(n)},r=()=>{if(o)return;o=!0;const e=n.files&&n.files[0];if(!e){i(),a({canceled:!0,path:null,content:null});return}const t=new FileReader;t.onload=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:typeof t.result=="string"?t.result:""})},t.onerror=()=>{i(),a({canceled:!1,path:e.name,size:e.size,content:null,reason:"read_failed"})},t.readAsText(e)};n.addEventListener("change",r),n.click()})}function f(l,{defaultPath:a="download.txt"}={}){if(typeof document>"u")return{canceled:!0,path:null};const n=new Blob([l],{type:"text/plain"}),o=URL.createObjectURL(n),i=document.createElement("a");return i.href=o,i.download=a,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(o),{canceled:!1,path:a}}function p(l){if(!Array.isArray(l))return"";const a=[];for(const n of l)if(Array.isArray(n.extensions))for(const o of n.extensions)a.push(`.${o.replace(/^\./,"")}`);return a.join(",")}function m(){const l=d();async function a(r={}){if(c().isEmbedded){const e=await l.sendRaw({type:"fs.openDialog",title:r.title,filters:r.filters},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDialog failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,content:t.content??null,size:t.size,reason:t.reason}}return u({accept:p(r.filters)})}async function n(r,e={}){if(typeof r!="string")throw new Error("content must be a string");if(c().isEmbedded){const t=await l.sendRaw({type:"fs.saveDialog",title:e.title,defaultPath:e.defaultPath,filters:e.filters,content:r},6e4);if(t&&t.ok===!1)throw new Error(t.error||"fs.saveDialog failed");const s=t?.result??t;return{canceled:!!s.canceled,path:s.path??null}}return f(r,{defaultPath:e.defaultPath})}async function o(r,e={}){const t=JSON.stringify(r,null,2),s={...e,defaultPath:e.defaultPath||"data.json",filters:e.filters||[{name:"JSON",extensions:["json"]}]};return n(t,s)}async function i(r={}){if(!c().isEmbedded)return{canceled:!0,path:null,initialized:!1,unsupported:!0};const e=await l.sendRaw({type:"fs.openDirectory",title:r.title},6e4);if(e&&e.ok===!1)throw new Error(e.error||"fs.openDirectory failed");const t=e?.result??e;return{canceled:!!t.canceled,path:t.path??null,initialized:!!t.initialized}}return{pickFileText:a,saveText:n,saveJson:o,pickDirectory:i}}export{m as u};
@@ -1 +1 @@
1
- import{u as f}from"./index-DtjUgB7B.js";function d(n){if(!n)return n;if(n.error)throw new Error(n.error);return n.result!==void 0?n.result:n}function p(n,t,a,e,r){return typeof n.onMessage!="function"||typeof n.sendRaw!="function"?n.sendRaw({type:t,...a},r).then(d):new Promise((u,s)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${t}.event`,g=`${t}.end`;let c=!1,y=()=>{};const o=(i,b)=>{if(!c){c=!0,clearTimeout(m);try{y()}catch{}i(b)}},m=setTimeout(()=>{o(s,new Error(`stream timeout (${r}ms): ${t}`))},r),h=n.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof e=="function")try{e(i.event||i)}catch{}return}if(i.type===g){o(u,d(i));return}i.type==="error"&&o(s,new Error(i.message||"stream error"))}});y=typeof h=="function"?h:()=>{},Promise.resolve(n.sendRaw({id:l,type:t,...a},r)).catch(()=>{})})}function D(){const n=f(),t=(a,e={},r=3e4)=>n.sendRaw({type:a,...e},r).then(d);return{async health(){return await t("personal-data-hub.health",{},8e3)},async stats(){return await t("personal-data-hub.stats",{},8e3)},async listAdapters(){return await t("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const e=await n.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),r=e&&e.result!==void 0?e.result:e;return r&&r.ok&&typeof r.filePath=="string"?r.filePath:null}catch{return null}},async adapterReadiness(a){return await t("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,e={}){return await t("personal-data-hub.sync-adapter",{name:a,options:e},12e4)},async syncAll(a={}){return await t("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:e=20,seed:r=1}={}){return await t("personal-data-hub.register-mock",{name:a,count:e,seed:r})},async unregister(a){return await t("personal-data-hub.unregister",{name:a})},async ask(a,e={}){return await t("personal-data-hub.ask",{question:a,options:e},18e4)},async queryEvents(a={}){return await t("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await t("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await t("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await t("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await t("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,e={}){return await t("personal-data-hub.register-email",{account:a,opts:e},15e3)},async unregisterEmail(a){return await t("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await t("personal-data-hub.list-email-accounts",{},5e3)},async eventDetail(a){return await t("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,e={},r){return await p(n,"personal-data-hub.sync-adapter-stream",{name:a,options:e},r,6e5)},async syncAllStream(a={},e){return await p(n,"personal-data-hub.sync-all-stream",{options:a},e,9e5)},async registerAlipay(a,e={}){return await t("personal-data-hub.register-alipay",{account:a,opts:e},15e3)},async unregisterAlipay(a){return await t("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await t("personal-data-hub.list-alipay-accounts",{},5e3)},async importAlipayBill({zipPath:a,csvPath:e,zipPassword:r}={}){return await t("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:e,zipPassword:r},3e5)},async reviewQueueList(a=50){return await t("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,e){return await t("personal-data-hub.review-decision",{reviewId:a,decision:e},5e3)},async manualMerge(a,e){return await t("personal-data-hub.manual-merge",{aId:a,bId:e},5e3)},async manualUnmerge(a){return await t("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await t("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await t("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await t("personal-data-hub.skills-list",{},5e3)},async runSkill(a,e={}){return await t("personal-data-hub.run-skill",{name:a,options:e},12e4)},async openAichatLogin(a,e={}){return await t("personal-data-hub.aichat-open-login",{vendor:a,opts:e},1e4)},async probeAichatCookies(a,e){return await t("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:e},1e4)},async registerAichatVendor(a,e,r={}){return await t("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:e,opts:r},3e4)},async rotateAichatLogin(a){return await t("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await t("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await t("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await t("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await t("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s}={}){return await t("personal-data-hub.register-wechat",{account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s},45e3)},async listWechatAccounts(){return await t("personal-data-hub.list-wechat-accounts",{},5e3)},async unregisterWechat(a){return await t("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await t("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await t("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await t("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await t("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await t("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await t("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await t("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await t("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{D as u};
1
+ import{u as f}from"./index-BrruO38Y.js";function d(n){if(!n)return n;if(n.error)throw new Error(n.error);return n.result!==void 0?n.result:n}function p(n,t,a,e,r){return typeof n.onMessage!="function"||typeof n.sendRaw!="function"?n.sendRaw({type:t,...a},r).then(d):new Promise((u,s)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${t}.event`,g=`${t}.end`;let c=!1,y=()=>{};const o=(i,b)=>{if(!c){c=!0,clearTimeout(m);try{y()}catch{}i(b)}},m=setTimeout(()=>{o(s,new Error(`stream timeout (${r}ms): ${t}`))},r),h=n.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof e=="function")try{e(i.event||i)}catch{}return}if(i.type===g){o(u,d(i));return}i.type==="error"&&o(s,new Error(i.message||"stream error"))}});y=typeof h=="function"?h:()=>{},Promise.resolve(n.sendRaw({id:l,type:t,...a},r)).catch(()=>{})})}function D(){const n=f(),t=(a,e={},r=3e4)=>n.sendRaw({type:a,...e},r).then(d);return{async health(){return await t("personal-data-hub.health",{},8e3)},async stats(){return await t("personal-data-hub.stats",{},8e3)},async listAdapters(){return await t("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const e=await n.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),r=e&&e.result!==void 0?e.result:e;return r&&r.ok&&typeof r.filePath=="string"?r.filePath:null}catch{return null}},async adapterReadiness(a){return await t("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,e={}){return await t("personal-data-hub.sync-adapter",{name:a,options:e},12e4)},async syncAll(a={}){return await t("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:e=20,seed:r=1}={}){return await t("personal-data-hub.register-mock",{name:a,count:e,seed:r})},async unregister(a){return await t("personal-data-hub.unregister",{name:a})},async ask(a,e={}){return await t("personal-data-hub.ask",{question:a,options:e},18e4)},async queryEvents(a={}){return await t("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await t("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await t("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await t("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await t("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,e={}){return await t("personal-data-hub.register-email",{account:a,opts:e},15e3)},async unregisterEmail(a){return await t("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await t("personal-data-hub.list-email-accounts",{},5e3)},async eventDetail(a){return await t("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,e={},r){return await p(n,"personal-data-hub.sync-adapter-stream",{name:a,options:e},r,6e5)},async syncAllStream(a={},e){return await p(n,"personal-data-hub.sync-all-stream",{options:a},e,9e5)},async registerAlipay(a,e={}){return await t("personal-data-hub.register-alipay",{account:a,opts:e},15e3)},async unregisterAlipay(a){return await t("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await t("personal-data-hub.list-alipay-accounts",{},5e3)},async importAlipayBill({zipPath:a,csvPath:e,zipPassword:r}={}){return await t("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:e,zipPassword:r},3e5)},async reviewQueueList(a=50){return await t("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,e){return await t("personal-data-hub.review-decision",{reviewId:a,decision:e},5e3)},async manualMerge(a,e){return await t("personal-data-hub.manual-merge",{aId:a,bId:e},5e3)},async manualUnmerge(a){return await t("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await t("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await t("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await t("personal-data-hub.skills-list",{},5e3)},async runSkill(a,e={}){return await t("personal-data-hub.run-skill",{name:a,options:e},12e4)},async openAichatLogin(a,e={}){return await t("personal-data-hub.aichat-open-login",{vendor:a,opts:e},1e4)},async probeAichatCookies(a,e){return await t("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:e},1e4)},async registerAichatVendor(a,e,r={}){return await t("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:e,opts:r},3e4)},async rotateAichatLogin(a){return await t("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await t("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await t("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await t("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await t("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s}={}){return await t("personal-data-hub.register-wechat",{account:a,dbPath:e,wechatDataPath:r,fridaOpts:u,keyProviderOverride:s},45e3)},async listWechatAccounts(){return await t("personal-data-hub.list-wechat-accounts",{},5e3)},async unregisterWechat(a){return await t("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await t("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await t("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await t("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await t("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await t("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await t("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await t("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await t("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{D as u};
@@ -1 +1 @@
1
- import{M as i,h as a,w as l}from"./index-DtjUgB7B.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-BvqAck49.js";function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,u=e;if(Array.isArray(e)&&(u=i(e)[0]),!u)return null;const n=o(u,r,s);return n.props=t?a(a({},n.props),r):n.props,l(typeof n.props.class!="object","class must be string"),n}function v(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(s=>c(s,r,t))}function N(e,r,t){p(o(e,a({},r)),t)}const m=e=>(e||[]).some(r=>g(r)?!(r.type===d||r.type===f&&!m(r.children)):!0)?e:null;function h(e,r,t,s){var u;const n=(u=e[r])===null||u===void 0?void 0:u.call(e,t);return m(n)?n:s?.()}export{h as a,v as b,c,N as t};
1
+ import{M as i,h as a,w as l}from"./index-BrruO38Y.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-BvqAck49.js";function c(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,u=e;if(Array.isArray(e)&&(u=i(e)[0]),!u)return null;const n=o(u,r,s);return n.props=t?a(a({},n.props),r):n.props,l(typeof n.props.class!="object","class must be string"),n}function v(e){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return e.map(s=>c(s,r,t))}function N(e,r,t){p(o(e,a({},r)),t)}const m=e=>(e||[]).some(r=>g(r)?!(r.type===d||r.type===f&&!m(r.children)):!0)?e:null;function h(e,r,t,s){var u;const n=(u=e[r])===null||u===void 0?void 0:u.call(e,t);return m(n)?n:s?.()}export{h as a,v as b,c,N as t};
@@ -1,4 +1,4 @@
1
- import{K as o}from"./index-DtjUgB7B.js";import{i as f}from"./motion-Blq36u4Y.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
1
+ import{K as o}from"./index-BrruO38Y.js";import{i as f}from"./motion--tkkEE3m.js";const c=new o("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),y=new o("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),a=new o("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),s=new o("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),g=new o("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),O=new o("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),l=new o("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),u=new o("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),p=new o("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),z=new o("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),K=new o("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),w=new o("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),I={zoom:{inKeyframes:c,outKeyframes:y},"zoom-big":{inKeyframes:a,outKeyframes:s},"zoom-big-fast":{inKeyframes:a,outKeyframes:s},"zoom-left":{inKeyframes:l,outKeyframes:u},"zoom-right":{inKeyframes:p,outKeyframes:z},"zoom-up":{inKeyframes:g,outKeyframes:O},"zoom-down":{inKeyframes:K,outKeyframes:w}},h=(n,r)=>{const{antCls:m}=n,t=`${m}-${r}`,{inKeyframes:i,outKeyframes:e}=I[r];return[f(t,i,e,r==="zoom-big-fast"?n.motionDurationFast:n.motionDurationMid),{[`
2
2
  ${t}-enter,
3
3
  ${t}-appear
4
4
  `]:{transform:"scale(0)",opacity:0,animationTimingFunction:n.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${t}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{h as i,c as z};
@@ -8,7 +8,7 @@
8
8
  // Injected by web-ui-server.js at serve time
9
9
  window.__CC_CONFIG__ = __CC_CONFIG_PLACEHOLDER__;
10
10
  </script>
11
- <script type="module" crossorigin src="./assets/index-DtjUgB7B.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-BrruO38Y.js"></script>
12
12
  <link rel="modulepreload" crossorigin href="./assets/vendor-BvqAck49.js">
13
13
  <link rel="modulepreload" crossorigin href="./assets/icons-DP3uiYxy.js">
14
14
  <link rel="stylesheet" crossorigin href="./assets/index-Cq93VfoF.css">
@@ -6,6 +6,7 @@
6
6
  import chalk from "chalk";
7
7
  import fs from "fs";
8
8
  import { logger } from "../lib/logger.js";
9
+ import { numericOption } from "../lib/cli-numeric.js";
9
10
  import { parseJsonOption } from "../lib/parse-json-option.js";
10
11
  import { bootstrap, shutdown } from "../runtime/bootstrap.js";
11
12
  import { getHomeDir } from "../lib/paths.js";
@@ -104,7 +105,12 @@ export function registerAuditCommand(program) {
104
105
  const db = ctx.db.getDatabase();
105
106
 
106
107
  const filters = {
107
- limit: parseInt(options.limit) || 20,
108
+ limit: numericOption(options.limit, {
109
+ name: "--limit",
110
+ integer: true,
111
+ min: 0,
112
+ fallback: 20,
113
+ }),
108
114
  };
109
115
  if (options.type) filters.eventType = options.type;
110
116
  if (options.risk) filters.riskLevel = options.risk;
@@ -152,7 +158,12 @@ export function registerAuditCommand(program) {
152
158
 
153
159
  const filters = {
154
160
  search: query,
155
- limit: parseInt(options.limit) || 50,
161
+ limit: numericOption(options.limit, {
162
+ name: "--limit",
163
+ integer: true,
164
+ min: 0,
165
+ fallback: 50,
166
+ }),
156
167
  };
157
168
  if (options.type) filters.eventType = options.type;
158
169
  if (options.risk) filters.riskLevel = options.risk;
@@ -250,7 +261,14 @@ export function registerAuditCommand(program) {
250
261
  }
251
262
  const db = ctx.db.getDatabase();
252
263
 
253
- const filters = { limit: parseInt(options.limit) || 10000 };
264
+ const filters = {
265
+ limit: numericOption(options.limit, {
266
+ name: "--limit",
267
+ integer: true,
268
+ min: 0,
269
+ fallback: 10000,
270
+ }),
271
+ };
254
272
  if (options.from) filters.startDate = options.from;
255
273
  if (options.to) filters.endDate = options.to;
256
274
 
@@ -108,7 +108,12 @@ export function registerBrowseCommand(program) {
108
108
  const elements = querySelectorAll(result.html, options.selector);
109
109
  spinner.stop();
110
110
 
111
- const limit = parseInt(options.limit) || 20;
111
+ const limit = numericOption(options.limit, {
112
+ name: "--limit",
113
+ integer: true,
114
+ min: 0,
115
+ fallback: 20,
116
+ });
112
117
  const limited = elements.slice(0, limit);
113
118
 
114
119
  if (options.json) {
@@ -163,8 +168,18 @@ export function registerBrowseCommand(program) {
163
168
  try {
164
169
  const spinner = ora(`Taking screenshot of ${url}...`).start();
165
170
  const result = await takeScreenshot(url, options.output, {
166
- width: numericOption(options.width, { name: "--width", integer: true, min: 1, fallback: 1280 }),
167
- height: numericOption(options.height, { name: "--height", integer: true, min: 1, fallback: 720 }),
171
+ width: numericOption(options.width, {
172
+ name: "--width",
173
+ integer: true,
174
+ min: 1,
175
+ fallback: 1280,
176
+ }),
177
+ height: numericOption(options.height, {
178
+ name: "--height",
179
+ integer: true,
180
+ min: 1,
181
+ fallback: 720,
182
+ }),
168
183
  fullPage: !!options.fullPage,
169
184
  });
170
185
  spinner.stop();
@@ -6,6 +6,7 @@
6
6
  import fs from "fs";
7
7
  import chalk from "chalk";
8
8
  import { logger } from "../lib/logger.js";
9
+ import { numericOption } from "../lib/cli-numeric.js";
9
10
  import { bootstrap, shutdown } from "../runtime/bootstrap.js";
10
11
  import {
11
12
  ensureComplianceTables,
@@ -509,7 +510,12 @@ export function registerComplianceCommand(program) {
509
510
 
510
511
  const rows = listIndicators(db, {
511
512
  type: options.type,
512
- limit: Number(options.limit) || 100,
513
+ limit: numericOption(options.limit, {
514
+ name: "--limit",
515
+ integer: true,
516
+ min: 0,
517
+ fallback: 100,
518
+ }),
513
519
  });
514
520
  if (options.json) {
515
521
  console.log(JSON.stringify(rows, null, 2));
@@ -12,6 +12,7 @@
12
12
 
13
13
  import chalk from "chalk";
14
14
  import { logger } from "../lib/logger.js";
15
+ import { numericOption } from "../lib/cli-numeric.js";
15
16
 
16
17
  function fmtUsd(n) {
17
18
  const v = Number(n) || 0;
@@ -46,7 +47,14 @@ export function registerCostCommand(program) {
46
47
 
47
48
  const raw = id
48
49
  ? sessionUsage(id)
49
- : allSessionsUsage({ limit: parseInt(options.limit, 10) || 1000 });
50
+ : allSessionsUsage({
51
+ limit: numericOption(options.limit, {
52
+ name: "--limit",
53
+ integer: true,
54
+ min: 0,
55
+ fallback: 1000,
56
+ }),
57
+ });
50
58
  const result = priceRollup(raw, { table });
51
59
 
52
60
  if (options.json) {
@@ -2686,6 +2686,14 @@ export function registerHubCommand(program) {
2686
2686
  "Cap vault queryEvents limit (default 200; small-model callers should pass 50)",
2687
2687
  )
2688
2688
  .option("--json", "Output JSON")
2689
+ .addHelpText(
2690
+ "after",
2691
+ "\nLLM backend: defaults to local Ollama (privacy). To use a configured\n" +
2692
+ "cloud provider instead (e.g. no Ollama installed), set CC_HUB_LLM:\n" +
2693
+ " CC_HUB_LLM=config use cc config's llm.{provider,model,baseUrl,apiKey}\n" +
2694
+ " CC_HUB_LLM=<provider> e.g. volcengine / anthropic / deepseek\n" +
2695
+ "Cloud backends still require --accept-non-local to send data off device.",
2696
+ )
2689
2697
  .action(cmdAsk);
2690
2698
 
2691
2699
  hub
@@ -0,0 +1,248 @@
1
+ /**
2
+ * hub-llm-client — build a hub LLMClient from the user's cc config / env so
3
+ * standalone `cc hub ask` can use a configured CLOUD provider instead of the
4
+ * Ollama-only default.
5
+ *
6
+ * Why this exists: the standalone CLI hub (personal-data-hub-wiring.js
7
+ * `initHub`) hard-binds OllamaClient unless a caller injects an override.
8
+ * Only the desktop web-shell does that (CcLLMAdapter wrapping LLMManager), so
9
+ * a machine without Ollama installed can't run `cc hub ask` at all — the RAG
10
+ * retrieval works but the final LLM call fails. This adapter gives the CLI the
11
+ * same "honor the user's active provider" behavior the desktop has.
12
+ *
13
+ * Privacy: OPT-IN ONLY via env `CC_HUB_LLM`. When unset, this returns null and
14
+ * the caller keeps the safe local-Ollama default (the §11.2 privacy promise:
15
+ * personal data stays on-device unless the user explicitly opts in). The
16
+ * client always reports `isLocal: false`, so the AnalysisEngine still refuses
17
+ * to USE it unless the `ask` command is given `--accept-non-local`
18
+ * (or env `CC_HUB_ALLOW_NON_LOCAL`). Two independent gates: this one chooses
19
+ * the backend, that one authorizes sending data off-device.
20
+ *
21
+ * CC_HUB_LLM unset / ollama / local / off / 0 -> null (local Ollama default)
22
+ * CC_HUB_LLM = config | auto | on | 1 -> config.llm.{provider,model,baseUrl,apiKey}
23
+ * CC_HUB_LLM = <provider> -> that provider; reuse config
24
+ * creds when config.llm.provider
25
+ * matches, else provider default
26
+ * baseUrl + key from env/config
27
+ *
28
+ * Returns null (→ caller falls back to OllamaClient) when it can't build a
29
+ * usable cloud client: provider resolves to ollama, or a cloud provider has no
30
+ * API key. Never throws at build time — a bad CC_HUB_LLM just keeps the local
31
+ * default rather than bricking `cc hub`.
32
+ *
33
+ * Contract (mirrors pdh OllamaClient): `{ name, isLocal, chat(messages, opts)
34
+ * -> { text, usage?, model? } }`. messages = [{ role, content }] (the hub
35
+ * stitches system + user-with-facts and hands them off opaque).
36
+ */
37
+
38
+ "use strict";
39
+
40
+ import { BUILT_IN_PROVIDERS } from "./llm-providers.js";
41
+
42
+ const LOCAL_SENTINELS = new Set([
43
+ "",
44
+ "ollama",
45
+ "local",
46
+ "off",
47
+ "0",
48
+ "false",
49
+ "no",
50
+ ]);
51
+ const CONFIG_SENTINELS = new Set(["config", "auto", "on", "1", "true", "yes"]);
52
+
53
+ /**
54
+ * @param {{config?: object, env?: object}} [args]
55
+ * @returns {{name:string,isLocal:boolean,chat:Function}|null}
56
+ */
57
+ export function buildCliHubLLM({ config = {}, env = process.env } = {}) {
58
+ const raw = String(env.CC_HUB_LLM || "")
59
+ .trim()
60
+ .toLowerCase();
61
+ if (LOCAL_SENTINELS.has(raw)) return null;
62
+
63
+ const cfgLlm = (config && config.llm) || {};
64
+ let provider, model, baseUrl, apiKey;
65
+
66
+ if (CONFIG_SENTINELS.has(raw)) {
67
+ provider = String(cfgLlm.provider || "").toLowerCase();
68
+ model = cfgLlm.model;
69
+ baseUrl = cfgLlm.baseUrl;
70
+ apiKey = cfgLlm.apiKey;
71
+ } else {
72
+ provider = raw;
73
+ // Reuse the saved credentials only when they belong to the requested
74
+ // provider; otherwise fall back to provider defaults + env key.
75
+ const sameProvider =
76
+ String(cfgLlm.provider || "").toLowerCase() === provider;
77
+ model = sameProvider ? cfgLlm.model : null;
78
+ baseUrl = sameProvider ? cfgLlm.baseUrl : null;
79
+ apiKey = sameProvider ? cfgLlm.apiKey : null;
80
+ }
81
+
82
+ if (!provider || provider === "ollama") return null;
83
+
84
+ const def = BUILT_IN_PROVIDERS[provider] || null;
85
+ const resolvedBase = baseUrl || (def && def.baseUrl) || null;
86
+ const resolvedModel = model || (def && def.models && def.models[0]) || null;
87
+ const resolvedKey =
88
+ apiKey || (def && def.apiKeyEnv ? env[def.apiKeyEnv] : null) || null;
89
+
90
+ if (!resolvedBase || !resolvedModel) return null;
91
+ if (!resolvedKey) return null; // every supported cloud provider needs a key
92
+
93
+ const isAnthropic = provider === "anthropic";
94
+ return {
95
+ name: `${provider}:${resolvedModel}`,
96
+ isLocal: false,
97
+ async chat(messages, opts = {}) {
98
+ if (isAnthropic) {
99
+ return anthropicChat({
100
+ base: resolvedBase,
101
+ key: resolvedKey,
102
+ model: resolvedModel,
103
+ messages,
104
+ opts,
105
+ });
106
+ }
107
+ return openAiCompatChat({
108
+ base: resolvedBase,
109
+ key: resolvedKey,
110
+ model: resolvedModel,
111
+ messages,
112
+ opts,
113
+ });
114
+ },
115
+ };
116
+ }
117
+
118
+ function trimBase(base) {
119
+ return String(base).replace(/\/+$/, "");
120
+ }
121
+
122
+ function normUsage(u) {
123
+ if (!u) return undefined;
124
+ return {
125
+ promptTokens: u.prompt_tokens ?? u.promptTokens,
126
+ completionTokens: u.completion_tokens ?? u.completionTokens,
127
+ totalTokens: u.total_tokens ?? u.totalTokens,
128
+ };
129
+ }
130
+
131
+ /**
132
+ * OpenAI-compatible /chat/completions (openai, volcengine, deepseek,
133
+ * dashscope, mistral, gemini-compat, and any custom baseUrl that speaks it).
134
+ */
135
+ export async function openAiCompatChat({
136
+ base,
137
+ key,
138
+ model,
139
+ messages,
140
+ opts = {},
141
+ fetchImpl = fetch,
142
+ }) {
143
+ const body = { model, messages };
144
+ if (typeof opts.temperature === "number") body.temperature = opts.temperature;
145
+ const maxTokens = opts.maxTokens ?? opts.max_tokens;
146
+ if (Number.isFinite(maxTokens)) body.max_tokens = maxTokens;
147
+
148
+ const resp = await fetchImpl(`${trimBase(base)}/chat/completions`, {
149
+ method: "POST",
150
+ headers: {
151
+ "Content-Type": "application/json",
152
+ Authorization: `Bearer ${key}`,
153
+ },
154
+ body: JSON.stringify(body),
155
+ });
156
+ if (!resp.ok) {
157
+ const t = await resp.text().catch(() => "");
158
+ throw new Error(
159
+ `hub LLM (${model}): HTTP ${resp.status} ${resp.statusText} ${t.slice(0, 300)}`.trim(),
160
+ );
161
+ }
162
+ const data = await resp.json();
163
+ if (data && data.error) {
164
+ const m = data.error.message || JSON.stringify(data.error);
165
+ throw new Error(`hub LLM (${model}): ${m}`);
166
+ }
167
+ const msg =
168
+ data && data.choices && data.choices[0] && data.choices[0].message;
169
+ // Some providers (doubao reasoning models) put the answer in `content`;
170
+ // fall back to `reasoning_content` only if content is empty.
171
+ const text = (msg && (msg.content || msg.reasoning_content)) || "";
172
+ return {
173
+ text,
174
+ model: (data && data.model) || model,
175
+ usage: normUsage(data && data.usage),
176
+ };
177
+ }
178
+
179
+ /**
180
+ * Anthropic native /v1/messages — system extracted from the messages array,
181
+ * which Anthropic takes as a top-level `system` field.
182
+ */
183
+ export async function anthropicChat({
184
+ base,
185
+ key,
186
+ model,
187
+ messages,
188
+ opts = {},
189
+ fetchImpl = fetch,
190
+ }) {
191
+ const system = messages
192
+ .filter((m) => m.role === "system")
193
+ .map((m) => m.content)
194
+ .join("\n\n");
195
+ const turns = messages
196
+ .filter((m) => m.role !== "system")
197
+ .map((m) => ({
198
+ role: m.role === "assistant" ? "assistant" : "user",
199
+ content: m.content,
200
+ }));
201
+
202
+ const body = {
203
+ model,
204
+ messages: turns,
205
+ max_tokens: Number.isFinite(opts.maxTokens ?? opts.max_tokens)
206
+ ? (opts.maxTokens ?? opts.max_tokens)
207
+ : 2048,
208
+ };
209
+ if (system) body.system = system;
210
+ if (typeof opts.temperature === "number") body.temperature = opts.temperature;
211
+
212
+ const resp = await fetchImpl(`${trimBase(base)}/messages`, {
213
+ method: "POST",
214
+ headers: {
215
+ "Content-Type": "application/json",
216
+ "x-api-key": key,
217
+ "anthropic-version": "2023-06-01",
218
+ },
219
+ body: JSON.stringify(body),
220
+ });
221
+ if (!resp.ok) {
222
+ const t = await resp.text().catch(() => "");
223
+ throw new Error(
224
+ `hub LLM (${model}): HTTP ${resp.status} ${resp.statusText} ${t.slice(0, 300)}`.trim(),
225
+ );
226
+ }
227
+ const data = await resp.json();
228
+ if (data && data.error) {
229
+ const m = data.error.message || JSON.stringify(data.error);
230
+ throw new Error(`hub LLM (${model}): ${m}`);
231
+ }
232
+ const text = ((data && data.content) || [])
233
+ .filter((b) => b && b.type === "text")
234
+ .map((b) => b.text)
235
+ .join("");
236
+ const u = data && data.usage;
237
+ return {
238
+ text,
239
+ model: (data && data.model) || model,
240
+ usage: u
241
+ ? {
242
+ promptTokens: u.input_tokens,
243
+ completionTokens: u.output_tokens,
244
+ totalTokens: (u.input_tokens || 0) + (u.output_tokens || 0),
245
+ }
246
+ : undefined,
247
+ };
248
+ }