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.
- package/package.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-C31IEALR.js → AIOps-0-uMzHS0.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-CAoIkNY6.js → ActionButton-DIZPfP0j.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-BofSQQzg.js → Analytics-D0XaT-HY.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-C2dIYNTH.js → AppLayout-BTRaqYvd.js} +5 -5
- package/src/assets/web-panel/assets/{Audit-BXaDbU7P.js → Audit-CNf5Kaoi.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-BTfBqsmK.js → Backup-BAo4Hi0L.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-B_ak0VMO.js → BaseInput-Cvl0T59f.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-BhcN6up6.js → Chat-Cun14ni3.js} +6 -6
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-D0dZVHhx.js → ChatBubbleRenderer-CVSvw44R.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-CjT0jj8Z.js → Checkbox-DJdTjyls.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-CzLTeJlc.js → Codegen-Bz_l_yn_.js} +1 -1
- package/src/assets/web-panel/assets/{Col-CiOd4VCk.js → Col-Bht2QpqM.js} +1 -1
- package/src/assets/web-panel/assets/{Community-MDcN43_I.js → Community-7KcO0kT1.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-BlP5PKNl.js → Compact-B7rBvHIs.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-DQYF00Cq.js → Compliance-BuxUJTnd.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-BOSrQFS0.js → Cowork-CJdjs2tJ.js} +2 -2
- package/src/assets/web-panel/assets/{Cron-C0Htgg3F.js → Cron-BZFJ7-YN.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-BuLRkpY3.js → Crosschain-BKsLLmuh.js} +1 -1
- package/src/assets/web-panel/assets/{DID-N3E4UBEh.js → DID-BxRlZh9g.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-BB8JTDyU.js → Dashboard-B6RppX5d.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-Dua4QX4R.js → Dropdown-DKtl6tbR.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-Cj26sbeq.js → EmailListRenderer-BRyFvNHM.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-TwiOlWAm.js → FamilyGuardDashboard-C99TnWli.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-CeGFlymx.js → Federation-lC9Io-Wx.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-lrtJ7VdL.js → FormItemContext-kTzkIiAH.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-CSPy6cv0.js → GenericCardRenderer-ffjSPeHn.js} +1 -1
- package/src/assets/web-panel/assets/{Git-C9V804Um.js → Git-Ch-eo0ft.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-BCRg6szw.js → Governance-CSlXyDt9.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-0DjHobMq.js → Inference-innJ4CHB.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-CKzlkXzc.js → KnowledgeGraph-BoKWXlKH.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-BgzswcOA.js → Logs-Bvu1ZVlJ.js} +2 -2
- package/src/assets/web-panel/assets/{Marketplace-DXBTxAMo.js → Marketplace-Bz5plU9l.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-CvzNbZys.js → McpTools-Ce2O172z.js} +5 -5
- package/src/assets/web-panel/assets/{Memory-BbBmqtPo.js → Memory-CVTPzpDT.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-BpL2BNXG.js → MobileBridge-DroRONe3.js} +2 -2
- package/src/assets/web-panel/assets/{MobileProjects-R_zFuemA.js → MobileProjects-Bfp8_lJh.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-DQu3Arm_.js → Mtc-BLe-_MDX.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-DbswMnGL.js → MtcAudit-Cx6CIX_g.js} +6 -6
- package/src/assets/web-panel/assets/{Multisig-BJWojM4Z.js → Multisig-OEeP6h30.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-Cb60ScpP.js → NLProgramming-B79aNNrY.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-CzoE6dCZ.js → Notes-BzKbClTh.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-BZXqrg-J.js → NotificationSettings-6BcdjMJk.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-BxAKnbfD.js → OrderTableRenderer-BdA4JzRg.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-BoTaL8pl.js → Organization-B_g6tN2h.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-CAzqg4k3.js → Overflow-BPeDct0h.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-CgzJoBIr.js → P2P-AbEH8Ad6.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-Cfaa63CB.js → PdhVaultBrowser-DTYIEFuT.js} +5 -5
- package/src/assets/web-panel/assets/{Permissions-DxUeh680.js → Permissions-Mtl6DRWC.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-S-H5XNNn.js → PersonalDataHub-CrfCdPgN.js} +3 -3
- package/src/assets/web-panel/assets/{Pipeline-BjrADxSK.js → Pipeline-Znd89-so.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-DYsdMxlQ.js → Privacy-1QK70XJJ.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CUzdaYx1.js → ProjectInit-Dbh6fHo4.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-DFnmFlpD.js → ProjectSettings-CtqWEUUX.js} +2 -2
- package/src/assets/web-panel/assets/Projects-C1vdepHb.js +1 -0
- package/src/assets/web-panel/assets/{Providers-Cpm9BlNl.js → Providers-VRTSkt2N.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-DjBFjSUh.js → QuickAsk-CP2dz_95.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-EVTMMe1P.js → Recommend-Bc81SmNo.js} +1 -1
- package/src/assets/web-panel/assets/{Reputation-Botbv7S3.js → Reputation-cRunHZiV.js} +1 -1
- package/src/assets/web-panel/assets/{Row-C3Nz28W3.js → Row-BwL7ApAT.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CjiBjWeF.js → RssFeed-BVbyxvzm.js} +2 -2
- package/src/assets/web-panel/assets/{Search-DlsyX5fR.js → Search-D5PgTvOP.js} +1 -1
- package/src/assets/web-panel/assets/{Security-CZhHoMdL.js → Security-Ddt1DCcC.js} +3 -3
- package/src/assets/web-panel/assets/{Services-D_Bnic0O.js → Services-6UaJxmZU.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CiZvE330.js → Skeleton-DFRbEQwp.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-CKVqtO-U.js → Skills-5yq43K-X.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-BInnM5w6.js → Sla-yMroQlH9.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-QnJOhSa-.js → SpeechSettings-B2S3Iamq.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CVpEDGPv.js → SyncSettings-BkKtXU71.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-DjpSdKoQ.js → Tasks-CBtNUwgq.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-DAs7hSZn.js → Templates-C2drh0s2.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-fbZFofRo.js → Tenant-BLk2CVEv.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-7PpJ-714.js → Terminal-mElJ0fhK.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-KQuaMPPO.js → TimelineRenderer-D4E9FDsp.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-co0lrUd8.js → Tokens-Cgmf0-_P.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-DGu6KG0U.js → Trigger-BRlJLDbx.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-DxcBRMa0.js → Trust-C6RUSQhG.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-BmIm0kl6.js → UkeySign-Chi7u_hM.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-D2_w5mGi.js → VideoEditing-4-bo8EmV.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-BHAaiE8X.js → Wallet-B2hSD9eY.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-CRtrKFSh.js → WebAuthn-D8xa8fun.js} +4 -4
- package/src/assets/web-panel/assets/{WorkflowEditor-DjrhTXw-.js → WorkflowEditor-Db9dxskT.js} +1 -1
- package/src/assets/web-panel/assets/{chat-DDCMxp1K.js → chat-CXYLRZpi.js} +1 -1
- package/src/assets/web-panel/assets/{colors--4_xSbq4.js → colors-CaKoXOVA.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-DUz7Nnrf.js → compact-item-Br5NvOwQ.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-C6hgEA6P.js → createContext-B-yHAw0V.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-B9dp57_Q.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-DLsr5ccI.js → hasIn-CqrdCz3g.js} +1 -1
- package/src/assets/web-panel/assets/{index-DVTlvsAd.js → index-1jqJ37zO.js} +1 -1
- package/src/assets/web-panel/assets/{index-kB6cCYAK.js → index-8ghdlyXM.js} +1 -1
- package/src/assets/web-panel/assets/{index-VW4mGJ0g.js → index-B1IlWIb6.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dzr4dwNg.js → index-BQcTQlrC.js} +1 -1
- package/src/assets/web-panel/assets/{index-B98uRfVY.js → index-BRlkm8k6.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bf2UWwla.js → index-BWxntLTd.js} +1 -1
- package/src/assets/web-panel/assets/{index-B_HoZFWD.js → index-BbZxkCWu.js} +1 -1
- package/src/assets/web-panel/assets/index-Bd3PIxeQ.js +1 -0
- package/src/assets/web-panel/assets/{index-ZzZ7sUbw.js → index-BeE50mEy.js} +1 -1
- package/src/assets/web-panel/assets/{index-CrC3Z0wT.js → index-BeQiNau_.js} +1 -1
- package/src/assets/web-panel/assets/{index-C0edasoI.js → index-BjAkyQXg.js} +1 -1
- package/src/assets/web-panel/assets/{index-x59Oik1J.js → index-BmV-MOO5.js} +1 -1
- package/src/assets/web-panel/assets/{index-DtjUgB7B.js → index-BrruO38Y.js} +3 -3
- package/src/assets/web-panel/assets/{index-B0qel7OZ.js → index-Byv9CEgj.js} +1 -1
- package/src/assets/web-panel/assets/{index-nhe7lwfU.js → index-BzpkjYz4.js} +1 -1
- package/src/assets/web-panel/assets/{index-5S59MN5w.js → index-CIZKEANZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-CS0DcLLe.js → index-CMecOYUY.js} +1 -1
- package/src/assets/web-panel/assets/{index-BPVk2Aef.js → index-CQDhGgK-.js} +1 -1
- package/src/assets/web-panel/assets/{index-BgVCtv2i.js → index-CVt4C93w.js} +1 -1
- package/src/assets/web-panel/assets/{index-CCBU-dhE.js → index-CuaLeS0m.js} +1 -1
- package/src/assets/web-panel/assets/{index-DTB3o-AG.js → index-CvFe9Qyg.js} +1 -1
- package/src/assets/web-panel/assets/{index-BvBVv_y6.js → index-CvJruKpV.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dts1rdrh.js → index-D39l1vpr.js} +1 -1
- package/src/assets/web-panel/assets/{index-CfWjCIeD.js → index-D6ngQeA0.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ba-1vjJD.js → index-D98MYD3m.js} +1 -1
- package/src/assets/web-panel/assets/{index-zwI19UuK.js → index-DE2mB1ae.js} +1 -1
- package/src/assets/web-panel/assets/{index-BKs7IQEb.js → index-DGtE2LX-.js} +1 -1
- package/src/assets/web-panel/assets/{index-BrAktVfD.js → index-DHwefCFJ.js} +1 -1
- package/src/assets/web-panel/assets/{index-DO4JBw2m.js → index-DZ9ISv1n.js} +1 -1
- package/src/assets/web-panel/assets/{index-C0MclIlp.js → index-DaQkxUNc.js} +1 -1
- package/src/assets/web-panel/assets/{index-DQfBPPHG.js → index-DbrcBvEd.js} +1 -1
- package/src/assets/web-panel/assets/{index-DWQ4A_ig.js → index-DirWkR61.js} +1 -1
- package/src/assets/web-panel/assets/{index-UcbyVEUR.js → index-Ds4JSZQz.js} +1 -1
- package/src/assets/web-panel/assets/{index-DmMDr432.js → index-KRKDnsR0.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cdx5wAKy.js → index-W_LrSwhD.js} +1 -1
- package/src/assets/web-panel/assets/index-WpnbyTfq.js +1 -0
- package/src/assets/web-panel/assets/{index-CZRi_BiL.js → index-ZB70zTAh.js} +1 -1
- package/src/assets/web-panel/assets/{index-DuMSr7qB.js → index-hsgVTIGX.js} +1 -1
- package/src/assets/web-panel/assets/{index-CORbX-su.js → index-nT_CmIwR.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-CPyHDtDC.js → initDefaultProps-CikG-5bi.js} +1 -1
- package/src/assets/web-panel/assets/{motion-Blq36u4Y.js → motion--tkkEE3m.js} +1 -1
- package/src/assets/web-panel/assets/{move-HuAtMUkO.js → move-D6xAZefU.js} +1 -1
- package/src/assets/web-panel/assets/{omit-CVMoOx32.js → omit-CsD8Wwta.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-BunNS-fj.js → pickAttrs-D4qa94u9.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-Eg_eS8OF.js → placementArrow-9fx4sI6E.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-BiU0qt8R.js → responsiveObserve-DwYJKWhG.js} +1 -1
- package/src/assets/web-panel/assets/{slide-BZfRWEJu.js → slide-DFxU8IG1.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-j5payJ2P.js → statusUtils-DPAkc9NC.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker--CNWRiiz.js → styleChecker-D-ByG8n4.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-BtY8OW_f.js → useFlexGapSupport-DwVLaYMd.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-CL-bgDIB.js → useFs-CSyqOEiA.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-BEjDzvTR.js → usePersonalDataHub-B7qEu3ar.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-B3IodNFs.js → vnode-4YgwyfPJ.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-DvLt_owF.js → zoom-CPUWjtMS.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/commands/audit.js +21 -3
- package/src/commands/browse.js +18 -3
- package/src/commands/compliance.js +7 -1
- package/src/commands/cost.js +9 -1
- package/src/commands/hub.js +8 -0
- package/src/lib/hub-llm-client.js +248 -0
- package/src/lib/personal-data-hub-wiring.js +20 -4
- package/src/assets/web-panel/assets/Projects-GOQqdP4u.js +0 -1
- package/src/assets/web-panel/assets/devWarning-qzaZtWgD.js +0 -1
- package/src/assets/web-panel/assets/index-BFKz8uJQ.js +0 -1
- package/src/assets/web-panel/assets/index-lhIs6Z78.js +0 -1
package/src/assets/web-panel/assets/{initDefaultProps-CPyHDtDC.js → initDefaultProps-CikG-5bi.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s}from"./index-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
package/src/assets/web-panel/assets/{placementArrow-Eg_eS8OF.js → placementArrow-9fx4sI6E.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
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};
|
package/src/assets/web-panel/assets/{responsiveObserve-BiU0qt8R.js → responsiveObserve-DwYJKWhG.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{I as o,h}from"./index-
|
|
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-
|
|
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-
|
|
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-
|
|
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};
|
package/src/assets/web-panel/assets/{useFlexGapSupport-BtY8OW_f.js → useFlexGapSupport-DwVLaYMd.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o,s as t}from"./vendor-BvqAck49.js";import{d as s}from"./styleChecker
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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">
|
package/src/commands/audit.js
CHANGED
|
@@ -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:
|
|
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:
|
|
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 = {
|
|
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
|
|
package/src/commands/browse.js
CHANGED
|
@@ -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 =
|
|
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, {
|
|
167
|
-
|
|
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:
|
|
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));
|
package/src/commands/cost.js
CHANGED
|
@@ -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({
|
|
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) {
|
package/src/commands/hub.js
CHANGED
|
@@ -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
|
+
}
|