chainlesschain 0.166.123 → 0.166.125
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/README.md +14 -2
- package/package.json +1 -1
- package/src/assets/linux-subreaper/linux-arm64/manifest.json +1 -1
- package/src/assets/linux-subreaper/linux-x64/manifest.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-C-tjdqdU.js → AIOps-BP7bvhgw.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-BO-Va_7P.js → ActionButton-CRSlqvUW.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-C4abdfMl.js → Analytics-Uh-IHXPq.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-R0PVTt_L.js → AppLayout-BV2iUfEI.js} +4 -4
- package/src/assets/web-panel/assets/Artifacts-INNQe4tS.js +1 -0
- package/src/assets/web-panel/assets/{Audit-Ben_vkQv.js → Audit-CYX8n3_m.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-DYXk5NF7.js → BackgroundAgents-BqmXROox.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-DWvhnz4a.js → Backup-BnVDRZIg.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-Cnt7Lsw0.js → BaseInput-Bb6UmdRt.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-D1IxtF3O.js → Chat-hz3OIIbK.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-D_LhAwtF.js → ChatBubbleRenderer-DGNJTSsQ.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-C4Mq1fW_.js → Checkbox-CQikB2We.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DxNiYuf2.js → Codegen-B2nJ-skp.js} +1 -1
- package/src/assets/web-panel/assets/{Col-Er2GMIwp.js → Col-klIv1AGo.js} +1 -1
- package/src/assets/web-panel/assets/{Community-DY77zEtx.js → Community-Di-kPX__.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-vGbhGcj5.js → Compact-BxqPTGPL.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-D_apMw_L.js → Compliance-BGMFZVuF.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-CzpeLIS0.js → Cowork-mqWGIwSR.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-DkJn0etH.js → Cron-DR5O38TG.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-xUoFR9Kc.js → Crosschain-D6hPm17z.js} +1 -1
- package/src/assets/web-panel/assets/{DID-CK6pStH-.js → DID-DoWPTVwK.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-CMmMmKdI.js → Dashboard-BPL8xNW_.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-DcuW2bMi.js → Dropdown-CiSVSWe5.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-Bala_XmD.js → EmailListRenderer-xx2j4JdY.js} +1 -1
- package/src/assets/web-panel/assets/EvolutionSettings-C8hEbz_k.js +1 -0
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-Tv2-X2Dt.js → FamilyGuardDashboard-DyXIXJ_A.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-BLpjJPtu.js → Federation-Byr6DvRk.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-Z0hL2bcM.js → FormItemContext-CQGnmQJv.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-kOH9PidD.js → GenericCardRenderer-hQguQVZ3.js} +1 -1
- package/src/assets/web-panel/assets/{Git-DnqdUfjy.js → Git-BecJOnx6.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-CSFh7-6e.js → Governance-BJddTPXq.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-6c0j3NP8.js → Inference-D24icM6B.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-DqlWAC7d.js → KnowledgeGraph-Do22sAeu.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-pffKkPA3.js → Logs-hUuWosrZ.js} +2 -2
- package/src/assets/web-panel/assets/{MarkdownRenderer-DpyiXUmk.js → MarkdownRenderer-Bjl9v5wW.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-D37-zXmo.js → Marketplace-Dp5LwB9H.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-DGG6wfLP.js → McpTools-BiVU1FMc.js} +2 -2
- package/src/assets/web-panel/assets/{Memory-DjECKlfE.js → Memory-CIxR4kQp.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge--zANjFPV.js → MobileBridge-BfuDQmNF.js} +1 -1
- package/src/assets/web-panel/assets/MobileProjects-DjmNE-wQ.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-BRZc_D3a.js → Mtc-CTvkHtBz.js} +5 -5
- package/src/assets/web-panel/assets/{MtcAudit-B4sPjzTs.js → MtcAudit-DkF8di0r.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-CsdVSHvp.js → Multisig-BsI3rR_s.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-rN5MTPrM.js → NLProgramming-DUE2RUBH.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-CfCzpBLf.js → Notes-CZH-8mLz.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-Bgnc5-lu.js → NotificationSettings-BWrE5Fdu.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-vcR0ywXM.js → OrderTableRenderer-DBkeHV6o.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-BWHfXikQ.js → Organization-GfJxDuZd.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-BfmX1brf.js → Overflow-DVpJGkTd.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-Bgqrc7Gj.js → P2P-DLWmK0no.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-8n-lvjGR.js → PdhVaultBrowser-CgJZVTlX.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-DZvi_R1S.js → Permissions-CutFqMXH.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-d-SaMCBl.js → PersonalDataHub-CfqM7ZpK.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-BtppU6_K.js → Pipeline-ie5hQZ0r.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-D8bAp4YK.js → Privacy-B1KdLF7O.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-DbkjQ5Tu.js → ProjectInit-CRPPcQzY.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-h7KEbaRt.js → ProjectSettings-Do6fMBWF.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-Cv23MVaI.js → Projects-BOB6rWxT.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-By9_cN-N.js → Providers-CgZd2eBh.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-BEpf5wsF.js → QrScannerModal-DrPG8IxK.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-eiQ-KUeQ.js → QuickAsk-D_uU-5Ph.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DKpC7mUA.js → Recommend-DDId0K_9.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-Z2N0xnf3.js → RemoteSession-BnJcoKDQ.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-DmknmR2x.js → Reputation-BnnmzZb0.js} +1 -1
- package/src/assets/web-panel/assets/{Row-BOI5kMGe.js → Row-ChHU3TqH.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-micYN0Y6.js → RssFeed-DeiKl8k2.js} +3 -3
- package/src/assets/web-panel/assets/{Search-C7l6pJP7.js → Search-Cd0Byr5Y.js} +1 -1
- package/src/assets/web-panel/assets/{Security-YYgdmPUQ.js → Security-CHqAAtUE.js} +4 -4
- package/src/assets/web-panel/assets/{Services-IqE2jmer.js → Services-CaC6ZaY3.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-B40v1963.js → Skeleton-Do4HAN0a.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-B5XhRxiz.js → Skills-CoElvXB8.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-CR9FTy0l.js → Sla-jJiTPvtG.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-qU35iVHu.js → SpeechSettings-OXfemdVC.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-Ty9clGaJ.js → SyncSettings-JPkmyUwi.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-B3L8-JKq.js → Tasks-BGG7ffmW.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-r3oMi1-3.js → Templates-DeK9-2LY.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-CbIHlv2e.js → Tenant-BTQSUiAe.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-V2EXXRcY.js → Terminal-nSeD_GjQ.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-DIfjYDRV.js → TimelineRenderer-DWj9DOd9.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-o7spb61I.js → Tokens-CNi7fvHT.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-C9Mx4M1Z.js → Trigger-qXYBuAUZ.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-BO1ooAq1.js → Trust-UMIDxWBQ.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-BqFvW_RC.js → UkeySign-VWmZ_L_a.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-CGCdftvj.js → VideoEditing-Dwlrr7Ju.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-xI4tcBY8.js → Wallet-DY25E1_s.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-9GP7HTR7.js → WebAuthn-Cg4ZH9YH.js} +5 -5
- package/src/assets/web-panel/assets/{WorkflowEditor-B9h2rJSw.js → WorkflowEditor-LB5NqSGq.js} +1 -1
- package/src/assets/web-panel/assets/{chat-QkuzCwVj.js → chat-CaCuVsD2.js} +1 -1
- package/src/assets/web-panel/assets/{colors-zLVw-h4c.js → colors-BG2JI5F8.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-CMO1mB03.js → compact-item-CdTkLvXf.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-DNGLcpGd.js → createContext-Wv41oeUq.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-CgQHHMHl.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-d27IiOzc.js → hasIn-B7Uw6Y5_.js} +1 -1
- package/src/assets/web-panel/assets/{index-DOz_Tlza.js → index--q3_jHhu.js} +1 -1
- package/src/assets/web-panel/assets/{index-BwpB82Xl.js → index-0DcGfrpr.js} +1 -1
- package/src/assets/web-panel/assets/{index-gln9cpY4.js → index-27hwVsUl.js} +1 -1
- package/src/assets/web-panel/assets/{index-BmvaP46c.js → index-6TrZH59x.js} +1 -1
- package/src/assets/web-panel/assets/{index-C6nrSRBx.js → index-98U0Akgy.js} +1 -1
- package/src/assets/web-panel/assets/index-B5iepofq.js +1 -0
- package/src/assets/web-panel/assets/{index-D7hqqF5C.js → index-B68Kr1A0.js} +1 -1
- package/src/assets/web-panel/assets/{index-MlwjpKXX.js → index-BLLVYN1S.js} +1 -1
- package/src/assets/web-panel/assets/{index-CqVXEx5l.js → index-BN8FIy9Z.js} +1 -1
- package/src/assets/web-panel/assets/{index-CFMd66NM.js → index-BONqMz21.js} +1 -1
- package/src/assets/web-panel/assets/{index-wIxrU-u5.js → index-BWuKDmL6.js} +1 -1
- package/src/assets/web-panel/assets/{index-c8o5sSmC.js → index-BfpOUAjn.js} +1 -1
- package/src/assets/web-panel/assets/{index-SmN-h9ye.js → index-ByGwOQL-.js} +1 -1
- package/src/assets/web-panel/assets/{index-1vkEjspu.js → index-BzQ1hohb.js} +1 -1
- package/src/assets/web-panel/assets/{index-Czx0FlX_.js → index-C58rpLKM.js} +3 -3
- package/src/assets/web-panel/assets/{index-CRhckfWe.js → index-CAG1C05A.js} +1 -1
- package/src/assets/web-panel/assets/{index-0fgps_Ha.js → index-CCVpB1HT.js} +1 -1
- package/src/assets/web-panel/assets/{index-IBrGVX5g.js → index-CDA9_4jw.js} +1 -1
- package/src/assets/web-panel/assets/{index-CD2REWY7.js → index-CDuOf0Sk.js} +1 -1
- package/src/assets/web-panel/assets/{index-C2_Bbcup.js → index-CZCE6USm.js} +1 -1
- package/src/assets/web-panel/assets/index-C_pAjUXd.js +1 -0
- package/src/assets/web-panel/assets/{index-DjboeGlp.js → index-Cd9QfEPf.js} +1 -1
- package/src/assets/web-panel/assets/{index-KwO1ni8W.js → index-CeBODQXm.js} +1 -1
- package/src/assets/web-panel/assets/{index-B1YE9vXa.js → index-ChJPZoiz.js} +1 -1
- package/src/assets/web-panel/assets/{index-TPdHE3X9.js → index-Cnkd1twb.js} +1 -1
- package/src/assets/web-panel/assets/{index-B0AVVWRp.js → index-D6wz6Lj3.js} +1 -1
- package/src/assets/web-panel/assets/{index-XnJSs5Sx.js → index-DTWvW7Q9.js} +1 -1
- package/src/assets/web-panel/assets/{index-DGNE9Xm-.js → index-DyBgFbOX.js} +1 -1
- package/src/assets/web-panel/assets/{index-DJ2M_yRa.js → index-DyddYZY6.js} +1 -1
- package/src/assets/web-panel/assets/{index-DbtxyEga.js → index-FYb9E4P0.js} +1 -1
- package/src/assets/web-panel/assets/{index-DGjWl8Rt.js → index-Hcx0wbx7.js} +1 -1
- package/src/assets/web-panel/assets/{index-yAaQ43Yv.js → index-X3kmZCFh.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcJ6eK35.js → index-XVz1pdi4.js} +1 -1
- package/src/assets/web-panel/assets/{index-BKEvKuq6.js → index-a811Rdaf.js} +1 -1
- package/src/assets/web-panel/assets/{index-VV-CCwRg.js → index-m9IlVQwa.js} +1 -1
- package/src/assets/web-panel/assets/{index-CJpHuknz.js → index-oICFzKT6.js} +1 -1
- package/src/assets/web-panel/assets/{index-B-7uVSmD.js → index-tyw6dj9r.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cj9NMUTv.js → index-xZOajA5D.js} +1 -1
- package/src/assets/web-panel/assets/{index-BIPaY2R7.js → index-zEDHN35C.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-mTv02Iv2.js → initDefaultProps-rhNcfOEv.js} +1 -1
- package/src/assets/web-panel/assets/{motion-DIWq6Zdd.js → motion-C3Ot7PRG.js} +1 -1
- package/src/assets/web-panel/assets/{move-Cs0zlq4K.js → move-BSbZkByI.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-D9YFWslw.js → mtc-parser-BHcarv2m.js} +1 -1
- package/src/assets/web-panel/assets/{omit-D1blfLNP.js → omit-CH8lRpcG.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-DGpZjtCx.js → pickAttrs-DiLvg1NK.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-U4Xuy5q7.js → placementArrow-DXqb9Lm6.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-sv8vtjTZ.js → responsiveObserve-qhZCsCCH.js} +1 -1
- package/src/assets/web-panel/assets/{slide-Abur0WLB.js → slide-amPl47DO.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-M9GWlDcS.js → statusUtils-BIM6xD4_.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-Bb9iHj5r.js → styleChecker-BQM4w1nF.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-BVNU1yiq.js → useFlexGapSupport-CQLRdXAd.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-pGc0P1Qu.js → useFs-CjgDjsYN.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-C8em9rTC.js → usePersonalDataHub-BNs5KK4A.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-xeBAzt3Y.js → vnode-CEORzacS.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-mTBeZV-N.js → zoom-CJco15He.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/data/changelog.json +13 -0
- package/src/lib/evolution/evidence-json-text.js +170 -14
- package/src/lib/evolution/evolution-evidence-projector.js +24 -1
- package/src/assets/web-panel/assets/Artifacts-Bx9i0fTm.js +0 -1
- package/src/assets/web-panel/assets/EvolutionSettings-BdSnL7Vs.js +0 -1
- package/src/assets/web-panel/assets/MobileProjects-82ulqAUz.js +0 -1
- package/src/assets/web-panel/assets/devWarning-BHskhca6.js +0 -1
- package/src/assets/web-panel/assets/index-ByQoHRw-.js +0 -1
- package/src/assets/web-panel/assets/index-DSojR8WR.js +0 -1
package/src/assets/web-panel/assets/{responsiveObserve-sv8vtjTZ.js → responsiveObserve-qhZCsCCH.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as o,h}from"./index-
|
|
1
|
+
import{J as o,h}from"./index-C58rpLKM.js";import{b as x}from"./vendor-Bn1JzzAn.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-C58rpLKM.js";import{i as e}from"./motion-C3Ot7PRG.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-C58rpLKM.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{B as d}from"./index-
|
|
1
|
+
import{B as d}from"./index-C58rpLKM.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-BVNU1yiq.js → useFlexGapSupport-CQLRdXAd.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o,s as t}from"./vendor-Bn1JzzAn.js";import{d as s}from"./styleChecker-
|
|
1
|
+
import{o,s as t}from"./vendor-Bn1JzzAn.js";import{d as s}from"./styleChecker-BQM4w1nF.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-C58rpLKM.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 v}from"./index-
|
|
1
|
+
import{u as v}from"./index-C58rpLKM.js";import{u as _}from"./useShellMode-CgR0wCYM.js";function d(r){if(!r)return r;if(r.error)throw new Error(r.error);return r.result!==void 0?r.result:r}async function p(r,s={},e=!0){try{if(e!==!0||!r||typeof r.sendRaw!="function")return{status:"unavailable",path:null};const a=await r.sendRaw({type:"fs.openDirectory",title:s.title},6e4);if(a&&(a.ok===!1||a.error))return{status:"unavailable",path:null};const t=a&&a.result!==void 0?a.result:a;return t&&(t.ok===!1||t.error||t.unsupported===!0)?{status:"unavailable",path:null}:t&&t.canceled===!0?{status:"cancelled",path:null}:t&&typeof t.path=="string"&&t.path.length>0?{status:"selected",path:t.path}:{status:"unavailable",path:null}}catch{return{status:"unavailable",path:null}}}function b(r,s,e,a,t){return typeof r.onMessage!="function"||typeof r.sendRaw!="function"?r.sendRaw({type:s,...e},t).then(d):new Promise((n,u)=>{const l=typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`,w=`${s}.event`,m=`${s}.end`;let c=!1,h=()=>{};const o=(i,f)=>{if(!c){c=!0,clearTimeout(g);try{h()}catch{}i(f)}},g=setTimeout(()=>{o(u,new Error(`stream timeout (${t}ms): ${s}`))},t),y=r.onMessage(i=>{if(!(c||!i)&&!(i.id!==l&&i.requestId!==l)){if(i.type===w){if(typeof a=="function")try{a(i.event||i)}catch{}return}if(i.type===m){o(n,d(i));return}i.type==="error"&&o(u,new Error(i.message||"stream error"))}});h=typeof y=="function"?y:()=>{},Promise.resolve(r.sendRaw({id:l,type:s,...e},t)).catch(()=>{})})}function k(){const r=v(),s=_(),e=(a,t={},n=3e4)=>r.sendRaw({type:a,...t},n).then(d);return{async health(){return await e("personal-data-hub.health",{},8e3)},async stats(){return await e("personal-data-hub.stats",{},8e3)},async listAdapters(){return await e("personal-data-hub.list-adapters",{},5e3)},async pickFile(a={}){try{const t=await r.sendRaw({type:"fs.openDialog",title:a.title,filters:a.filters},6e4),n=t&&t.result!==void 0?t.result:t,u=n&&typeof n.path=="string"?n.path:n&&typeof n.filePath=="string"?n.filePath:null;return n&&n.canceled!==!0&&u?u:null}catch{return null}},async pickDirectoryResult(a={}){return await p(r,a,s.isEmbedded)},async pickDirectory(a={}){const t=await p(r,a,s.isEmbedded);return t.status==="selected"?t.path:null},async adapterReadiness(a){return await e("personal-data-hub.adapter-readiness",Number.isInteger(a)?{timeoutMs:a}:{},15e3)},async syncAdapter(a,t={}){return await e("personal-data-hub.sync-adapter",{name:a,options:t},6e5)},async syncAll(a={}){return await e("personal-data-hub.sync-all",{options:a},6e5)},async registerMock({name:a="mock",count:t=20,seed:n=1}={}){return await e("personal-data-hub.register-mock",{name:a,count:t,seed:n})},async unregister(a){return await e("personal-data-hub.unregister",{name:a})},async ask(a,t={}){return await e("personal-data-hub.ask",{question:a,options:t},18e4)},async queryEvents(a={}){return await e("personal-data-hub.query-events",a,1e4)},async recentAudit(a={}){return await e("personal-data-hub.recent-audit",a,1e4)},async searchEvents(a={}){return await e("personal-data-hub.search-events",a,15e3)},async facetCounts(a={}){return await e("personal-data-hub.facet-counts",a,1e4)},async testEmailAuth(a){return await e("personal-data-hub.test-email-auth",{account:a},3e4)},async registerEmail(a,t={}){return await e("personal-data-hub.register-email",{account:a,opts:t},15e3)},async unregisterEmail(a){return await e("personal-data-hub.unregister-email",{email:a},5e3)},async listEmailAccounts(){return await e("personal-data-hub.list-email-accounts",{},5e3)},async activateEmail(a){return await e("personal-data-hub.activate-email",{email:a},5e3)},async eventDetail(a){return await e("personal-data-hub.event-detail",{eventId:a},5e3)},async syncAdapterStream(a,t={},n){return await b(r,"personal-data-hub.sync-adapter-stream",{name:a,options:t},n,6e5)},async syncAllStream(a={},t){return await b(r,"personal-data-hub.sync-all-stream",{options:a},t,9e5)},async registerAlipay(a,t={}){return await e("personal-data-hub.register-alipay",{account:a,opts:t},15e3)},async unregisterAlipay(a){return await e("personal-data-hub.unregister-alipay",{email:a},5e3)},async listAlipayAccounts(){return await e("personal-data-hub.list-alipay-accounts",{},5e3)},async activateAlipay(a){return await e("personal-data-hub.activate-alipay",{email:a},5e3)},async importAlipayBill({zipPath:a,csvPath:t,zipPassword:n}={}){return await e("personal-data-hub.import-alipay-bill",{zipPath:a,csvPath:t,zipPassword:n},3e5)},async reviewQueueList(a=50){return await e("personal-data-hub.review-queue-list",{limit:a},5e3)},async reviewDecision(a,t){return await e("personal-data-hub.review-decision",{reviewId:a,decision:t},5e3)},async manualMerge(a,t){return await e("personal-data-hub.manual-merge",{aId:a,bId:t},5e3)},async manualUnmerge(a){return await e("personal-data-hub.manual-unmerge",{personId:a},5e3)},async resolverDrain(a=50){return await e("personal-data-hub.resolver-drain",{limit:a},18e4)},async resolverStats(){return await e("personal-data-hub.resolver-stats",{},5e3)},async skillsList(){return await e("personal-data-hub.skills-list",{},5e3)},async runSkill(a,t={}){return await e("personal-data-hub.run-skill",{name:a,options:t},12e4)},async openAichatLogin(a,t={}){return await e("personal-data-hub.aichat-open-login",{vendor:a,opts:t},1e4)},async probeAichatCookies(a,t){return await e("personal-data-hub.aichat-probe-cookies",{vendor:a,cookieHeader:t},1e4)},async registerAichatVendor(a,t,n={}){return await e("personal-data-hub.aichat-register-vendor",{vendor:a,cookies:t,opts:n},3e4)},async rotateAichatLogin(a){return await e("personal-data-hub.aichat-rotate-login",{vendor:a},1e4)},async listAichatAccounts(){return await e("personal-data-hub.list-aichat-accounts",{},5e3)},async unregisterAichat(a){return await e("personal-data-hub.unregister-aichat",{vendor:a},5e3)},async aichatHealthCheckOnce(){return await e("personal-data-hub.aichat-health-check-once",{},3e4)},async probeWechatEnv(){return await e("personal-data-hub.wechat-env-probe",{},15e3)},async registerWechat({account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l}={}){return await e("personal-data-hub.register-wechat",{account:a,dbPath:t,wechatDataPath:n,fridaOpts:u,keyProviderOverride:l},45e3)},async listWechatAccounts(){return await e("personal-data-hub.list-wechat-accounts",{},5e3)},async activateWechat(a,t={}){return await e("personal-data-hub.activate-wechat",{uin:a,fridaOpts:t.fridaOpts,keyProviderOverride:t.keyProviderOverride},45e3)},async unregisterWechat(a){return await e("personal-data-hub.unregister-wechat",{uin:a},5e3)},async bilibiliAdbSync(a={}){return await e("personal-data-hub.bilibili-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bilibiliAdbDoctor(){return await e("personal-data-hub.bilibili-adb-doctor",{},15e3)},async weiboAdbSync(a={}){return await e("personal-data-hub.weibo-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async xhsAdbSync(a={}){return await e("personal-data-hub.xhs-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)},async toutiaoAdbSync(a={}){return await e("personal-data-hub.toutiao-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},9e4)},async kuaishouAdbSync(a={}){return await e("personal-data-hub.kuaishou-adb-sync",{limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},12e4)},async bridgeDoctor(){return await e("personal-data-hub.bridge-doctor",{},6e4)},async douyinAdbSync(a={}){return await e("personal-data-hub.douyin-adb-sync",{uid:a.uid,limits:a.limits,stagingDir:a.stagingDir,displayName:a.displayName},6e4)}}}export{k as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as i,h as a,w as l}from"./index-
|
|
1
|
+
import{N as i,h as a,w as l}from"./index-C58rpLKM.js";import{a7 as o,k as g,C as d,F as f,A as p}from"./vendor-Bn1JzzAn.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 v(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,v as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as o}from"./index-
|
|
1
|
+
import{K as o}from"./index-C58rpLKM.js";import{i as f}from"./motion-C3Ot7PRG.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-C58rpLKM.js"></script>
|
|
12
12
|
<link rel="modulepreload" crossorigin href="./assets/vendor-Bn1JzzAn.js">
|
|
13
13
|
<link rel="modulepreload" crossorigin href="./assets/icons-DG5UD-6K.js">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="./assets/index-Cq93VfoF.css">
|
package/src/data/changelog.json
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"source": "CHANGELOG.md",
|
|
3
3
|
"releases": [
|
|
4
|
+
{
|
|
5
|
+
"productVersion": null,
|
|
6
|
+
"cliVersion": "0.166.125",
|
|
7
|
+
"cliVersions": ["0.166.125"],
|
|
8
|
+
"date": "2026-10-26",
|
|
9
|
+
"title": "",
|
|
10
|
+
"sections": [
|
|
11
|
+
{
|
|
12
|
+
"heading": "Fixed - cc CLI 0.166.125: source expressions in completed tool history (candidate, 2026-10-26)",
|
|
13
|
+
"body": "- Recognize Python list/object unpacking, JavaScript spread and bounded unary/binary expressions in code fields so completed tool history can reach the next model turn.\n- Keep malformed/duplicate JSON and projection budgets enforced, retain conservative sensitive-source guards, and preserve v7 evidence verification with versioned v8 rules.\n- Add regressions for object/serialized arguments, paired results, fenced code, sensitive assignment wrappers and real Agent continuation without tool replay. Child dependency pins are unchanged. Publication requires exact-source three-OS CLI CI and Strict Sandbox followed by Actions OIDC."
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
4
17
|
{
|
|
5
18
|
"productVersion": null,
|
|
6
19
|
"cliVersion": "0.166.123",
|
|
@@ -110,6 +110,68 @@ function assignmentKeyBefore(text, start, end) {
|
|
|
110
110
|
return keyEnd > index + 1 ? text.slice(index + 1, keyEnd) : undefined;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
// New expression syntax retains all preceding decoded names, including targets
|
|
114
|
+
// across calls, destructuring and nested statements. Without a language parser,
|
|
115
|
+
// newline/semicolon cannot prove an enclosing sensitive assignment has ended.
|
|
116
|
+
// This check applies only to newly admitted syntax; historical code keeps its
|
|
117
|
+
// existing scanner. The cursor and shared budgets bound the additional work.
|
|
118
|
+
function createSourcePrefixTracker(text, requireSafeKey, rejectOpaque) {
|
|
119
|
+
let cursor = 0;
|
|
120
|
+
let candidates = [];
|
|
121
|
+
return (until) => {
|
|
122
|
+
while (cursor < until) {
|
|
123
|
+
const char = text[cursor];
|
|
124
|
+
if (char === "`") {
|
|
125
|
+
let end = cursor + 1;
|
|
126
|
+
for (; end < text.length; end++) {
|
|
127
|
+
if (text[end] === "\\") end++;
|
|
128
|
+
else if (text[end] === "`") break;
|
|
129
|
+
}
|
|
130
|
+
// Template interpolation has its own grammar. Do not grant new source
|
|
131
|
+
// semantics inside it without a decoder for its escapes and bindings.
|
|
132
|
+
if (end >= until) rejectOpaque();
|
|
133
|
+
cursor = end + 1;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
if (char === '"' || char === "'") {
|
|
137
|
+
const literal = (
|
|
138
|
+
char === '"' ? CODE_DOUBLE_QUOTED_PREFIX : CODE_SINGLE_QUOTED_PREFIX
|
|
139
|
+
).exec(text.slice(cursor))?.[0];
|
|
140
|
+
if (!literal) {
|
|
141
|
+
cursor++;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
candidates.push({ literal });
|
|
145
|
+
cursor += literal.length;
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
const name =
|
|
149
|
+
/^(?:[$_\p{ID_Start}]|\\u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\}))(?:[$\p{ID_Continue}]|\\u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\}))*/u.exec(
|
|
150
|
+
text.slice(cursor),
|
|
151
|
+
)?.[0];
|
|
152
|
+
if (name) {
|
|
153
|
+
candidates.push({ key: name });
|
|
154
|
+
cursor += name.length;
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
if (text.slice(cursor, cursor + 2) === "/*") {
|
|
158
|
+
const end = text.indexOf("*/", cursor + 2);
|
|
159
|
+
if (end < 0 || end >= until) rejectOpaque();
|
|
160
|
+
cursor = end + 2;
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
if (char === "#" && /\s/u.test(text[cursor + 1] ?? "")) {
|
|
164
|
+
const newline = text.indexOf("\n", cursor);
|
|
165
|
+
cursor = newline < 0 ? text.length : newline;
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
cursor++;
|
|
169
|
+
}
|
|
170
|
+
for (const entry of candidates) requireSafeKey(entry);
|
|
171
|
+
candidates = [];
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
|
|
113
175
|
export function createEvidenceJsonTextBoundary(
|
|
114
176
|
fail,
|
|
115
177
|
policy = EVIDENCE_JSON_POLICY,
|
|
@@ -134,6 +196,38 @@ export function createEvidenceJsonTextBoundary(
|
|
|
134
196
|
Object.defineProperty(error, PARSE_FAILURE, { value: kind });
|
|
135
197
|
throw error;
|
|
136
198
|
};
|
|
199
|
+
// Source syntax is admitted only at a known code field. Require an operand:
|
|
200
|
+
// a bare spread/operator must never turn malformed JSON into plain text.
|
|
201
|
+
// Do not admit templates or regex literals: their escapes are not decoded by
|
|
202
|
+
// this boundary. Numeric operands retain the strict JSON number budget.
|
|
203
|
+
const sourceOperand = (text) => {
|
|
204
|
+
const rest = text.trimStart();
|
|
205
|
+
if (/^[$_\p{ID_Start}('"[{]/u.test(rest)) return true;
|
|
206
|
+
const token = /^(?:0|[1-9]\d*)(?:\.\d+)?(?:[eE][+-]?\d+)?/u.exec(rest)?.[0];
|
|
207
|
+
if (!token || /[\w$.]/u.test(rest[token.length] ?? "")) return false;
|
|
208
|
+
const number = Number(token);
|
|
209
|
+
if (
|
|
210
|
+
!Number.isFinite(number) ||
|
|
211
|
+
(Number.isInteger(number) && !Number.isSafeInteger(number))
|
|
212
|
+
)
|
|
213
|
+
parserReject("budget");
|
|
214
|
+
return true;
|
|
215
|
+
};
|
|
216
|
+
const sourcePrefix = (text, objectSpread = false) => {
|
|
217
|
+
const token = (
|
|
218
|
+
objectSpread ? /^(?:\*\*|\.\.\.)/u : /^(?:\.\.\.|\*{1,2}|[+!~]|-(?!\d))/u
|
|
219
|
+
).exec(text)?.[0];
|
|
220
|
+
return token !== undefined && sourceOperand(text.slice(token.length));
|
|
221
|
+
};
|
|
222
|
+
const sourceContinuation = (text) => {
|
|
223
|
+
// Existing call/member/conditional syntax keeps its historical handling.
|
|
224
|
+
if (/^[.(?]/u.test(text)) return true;
|
|
225
|
+
const token =
|
|
226
|
+
/^(?:\*\*|\/\/|>>>?|<<|===?|!==?|<=?|>=?|&&?|\|\|?|[-+*/%&|^]|(?:and|or|if|in|is|not)\b)/u.exec(
|
|
227
|
+
text,
|
|
228
|
+
)?.[0];
|
|
229
|
+
return token !== undefined && sourceOperand(text.slice(token.length));
|
|
230
|
+
};
|
|
137
231
|
const decodeSourceString = (literal, quote) => {
|
|
138
232
|
let output = "";
|
|
139
233
|
for (let index = 1; index < literal.length - 1; index++) {
|
|
@@ -206,7 +300,11 @@ export function createEvidenceJsonTextBoundary(
|
|
|
206
300
|
}
|
|
207
301
|
return output;
|
|
208
302
|
};
|
|
209
|
-
const parser = (
|
|
303
|
+
const parser = (
|
|
304
|
+
text,
|
|
305
|
+
start,
|
|
306
|
+
{ allowSingleQuotedStrings = false, allowSourceExpressions = false } = {},
|
|
307
|
+
) => {
|
|
210
308
|
let index = start;
|
|
211
309
|
const whitespace = () => {
|
|
212
310
|
while (/[ \t\r\n]/u.test(text[index] ?? "x")) index++;
|
|
@@ -259,6 +357,8 @@ export function createEvidenceJsonTextBoundary(
|
|
|
259
357
|
while (index < text.length) {
|
|
260
358
|
let key;
|
|
261
359
|
if (!array) {
|
|
360
|
+
if (allowSourceExpressions && sourcePrefix(text.slice(index), true))
|
|
361
|
+
parserReject("source-expression");
|
|
262
362
|
if (
|
|
263
363
|
text[index] !== '"' &&
|
|
264
364
|
!(allowSingleQuotedStrings && text[index] === "'")
|
|
@@ -286,6 +386,12 @@ export function createEvidenceJsonTextBoundary(
|
|
|
286
386
|
return output;
|
|
287
387
|
}
|
|
288
388
|
if (text[index] !== ",") {
|
|
389
|
+
if (
|
|
390
|
+
allowSourceExpressions &&
|
|
391
|
+
!/^[.(+*/?]/u.test(text[index] ?? "") &&
|
|
392
|
+
sourceContinuation(text.slice(index))
|
|
393
|
+
)
|
|
394
|
+
parserReject("source-expression");
|
|
289
395
|
// Slices, comprehensions and member/call/arithmetic expressions
|
|
290
396
|
// are source syntax. Missing delimiters and trailing commas stay
|
|
291
397
|
// malformed JSON, including in run_code output.
|
|
@@ -307,6 +413,8 @@ export function createEvidenceJsonTextBoundary(
|
|
|
307
413
|
text.slice(index),
|
|
308
414
|
)?.[0];
|
|
309
415
|
if (!token) {
|
|
416
|
+
if (allowSourceExpressions && sourcePrefix(text.slice(index)))
|
|
417
|
+
parserReject("source-expression");
|
|
310
418
|
return parserReject(
|
|
311
419
|
/^[A-Za-z_$][A-Za-z0-9_$]*|^\(/u.test(text.slice(index))
|
|
312
420
|
? "code-expression"
|
|
@@ -314,6 +422,14 @@ export function createEvidenceJsonTextBoundary(
|
|
|
314
422
|
);
|
|
315
423
|
}
|
|
316
424
|
index += token.length;
|
|
425
|
+
if (
|
|
426
|
+
allowSourceExpressions &&
|
|
427
|
+
/^-?\d/u.test(token) &&
|
|
428
|
+
(/[\p{ID_Continue}$]/u.test(text[index] ?? "") ||
|
|
429
|
+
(text[index] === "." &&
|
|
430
|
+
!/^\.{1,2}[$_\p{ID_Start}]/u.test(text.slice(index))))
|
|
431
|
+
)
|
|
432
|
+
parserReject("syntax");
|
|
317
433
|
// A primitive prefix is not a complete source expression. In particular,
|
|
318
434
|
// redacting only `true` from trueSecretValue would expose the suffix of
|
|
319
435
|
// a sensitive quoted assignment. Historical policies retain their parser.
|
|
@@ -376,6 +492,30 @@ export function createEvidenceJsonTextBoundary(
|
|
|
376
492
|
reject("Agent model JSON text exceeds its budget");
|
|
377
493
|
return visit(parsed, layer + 1, textContext);
|
|
378
494
|
};
|
|
495
|
+
const requireSafeSourceKey = (key) => {
|
|
496
|
+
const probe = Object.defineProperty(Object.create(null), key, {
|
|
497
|
+
value: "source-expression",
|
|
498
|
+
enumerable: true,
|
|
499
|
+
});
|
|
500
|
+
if (!equal(probe, transform(probe)))
|
|
501
|
+
reject(
|
|
502
|
+
"Agent model code expression under a sensitive key cannot be safely projected",
|
|
503
|
+
);
|
|
504
|
+
};
|
|
505
|
+
const requireSafeSourceAssignments = createSourcePrefixTracker(
|
|
506
|
+
text,
|
|
507
|
+
({ key, literal }) => {
|
|
508
|
+
if (literal) {
|
|
509
|
+
const reader = parser(literal, 0, { allowSingleQuotedStrings: true });
|
|
510
|
+
key = reader.value();
|
|
511
|
+
} else key = decodeSourceString(`"${key}"`, '"');
|
|
512
|
+
requireSafeSourceKey(key);
|
|
513
|
+
},
|
|
514
|
+
() =>
|
|
515
|
+
reject(
|
|
516
|
+
"Agent model code expression under an opaque source context cannot be safely projected",
|
|
517
|
+
),
|
|
518
|
+
);
|
|
379
519
|
if (objectOnly) {
|
|
380
520
|
const reader = parser(text, 0);
|
|
381
521
|
let parsed;
|
|
@@ -516,6 +656,9 @@ export function createEvidenceJsonTextBoundary(
|
|
|
516
656
|
// A recognized container is always tried as strict JSON first, even
|
|
517
657
|
// inside code. Only an explicit non-JSON token allows literal scanning.
|
|
518
658
|
allowSingleQuotedStrings: codeText && !container,
|
|
659
|
+
allowSourceExpressions:
|
|
660
|
+
codeText &&
|
|
661
|
+
policy.sourceExpressionPolicy === "bounded-source-tokens-v1",
|
|
519
662
|
});
|
|
520
663
|
let parsed;
|
|
521
664
|
let valueEnd;
|
|
@@ -524,7 +667,16 @@ export function createEvidenceJsonTextBoundary(
|
|
|
524
667
|
valueEnd = reader.end();
|
|
525
668
|
} catch (error) {
|
|
526
669
|
const kind = error?.[PARSE_FAILURE];
|
|
527
|
-
if (
|
|
670
|
+
if (
|
|
671
|
+
!codeText ||
|
|
672
|
+
!["code-expression", "source-expression"].includes(kind)
|
|
673
|
+
)
|
|
674
|
+
rejectParseFailure(error);
|
|
675
|
+
if (kind === "source-expression") {
|
|
676
|
+
requireSafeSourceAssignments(index);
|
|
677
|
+
const key = assignmentKeyBefore(text, plainStart, index);
|
|
678
|
+
if (key) requireSafeSourceKey(key);
|
|
679
|
+
}
|
|
528
680
|
// Python/JavaScript containers may contain single quotes or expressions.
|
|
529
681
|
// Scan their literals individually, preserving nested strict JSON scans.
|
|
530
682
|
// Keep consumed nodes charged so repeated fallback cannot reset budgets.
|
|
@@ -538,14 +690,7 @@ export function createEvidenceJsonTextBoundary(
|
|
|
538
690
|
// An expression cannot be visited as a decoded JSON value. Preserve
|
|
539
691
|
// the decoded key boundary: otherwise a password list/call expression
|
|
540
692
|
// could expose its string literals when scanning resumes inside it.
|
|
541
|
-
|
|
542
|
-
value: "source-expression",
|
|
543
|
-
enumerable: true,
|
|
544
|
-
});
|
|
545
|
-
if (!equal(probe, transform(probe)))
|
|
546
|
-
reject(
|
|
547
|
-
"Agent model code expression under a sensitive key cannot be safely projected",
|
|
548
|
-
);
|
|
693
|
+
requireSafeSourceKey(parsed);
|
|
549
694
|
};
|
|
550
695
|
if (pair) {
|
|
551
696
|
const rhsStart = reader.end() + 1;
|
|
@@ -560,16 +705,23 @@ export function createEvidenceJsonTextBoundary(
|
|
|
560
705
|
pair = false;
|
|
561
706
|
} else {
|
|
562
707
|
try {
|
|
563
|
-
const rhsContainer = /^[ \t\r\n]*[
|
|
708
|
+
const rhsContainer = /^[ \t\r\n]*[[{]/u.test(text.slice(rhsStart));
|
|
564
709
|
const rhs = parser(text, rhsStart, {
|
|
565
710
|
allowSingleQuotedStrings: codeText && !rhsContainer,
|
|
711
|
+
allowSourceExpressions:
|
|
712
|
+
codeText &&
|
|
713
|
+
policy.sourceExpressionPolicy === "bounded-source-tokens-v1",
|
|
566
714
|
});
|
|
567
715
|
const entry = rhs.value();
|
|
568
716
|
const entryEnd = rhs.end();
|
|
569
717
|
rhs.whitespace();
|
|
570
718
|
if (
|
|
571
719
|
(codeText || policy.proseQuotedPairPolicy) &&
|
|
572
|
-
/^[+\-*/%?.([<>&|^=!"']/u.test(text[rhs.end()] ?? "")
|
|
720
|
+
(/^[+\-*/%?.([<>&|^=!"']/u.test(text[rhs.end()] ?? "") ||
|
|
721
|
+
(codeText &&
|
|
722
|
+
policy.sourceExpressionPolicy ===
|
|
723
|
+
"bounded-source-tokens-v1" &&
|
|
724
|
+
sourceContinuation(text.slice(rhs.end()))))
|
|
573
725
|
)
|
|
574
726
|
requireSafeExpressionKey();
|
|
575
727
|
parsed = Object.defineProperty(Object.create(null), parsed, {
|
|
@@ -582,7 +734,8 @@ export function createEvidenceJsonTextBoundary(
|
|
|
582
734
|
if (kind === undefined) throw error;
|
|
583
735
|
if (
|
|
584
736
|
(!codeText && !policy.proseQuotedPairPolicy) ||
|
|
585
|
-
kind !== "code-expression"
|
|
737
|
+
(kind !== "code-expression" &&
|
|
738
|
+
!(codeText && kind === "source-expression"))
|
|
586
739
|
)
|
|
587
740
|
rejectParseFailure(error);
|
|
588
741
|
// A standalone prose label or a source key followed by an
|
|
@@ -633,7 +786,10 @@ export function createEvidenceJsonTextBoundary(
|
|
|
633
786
|
(codeText || policy.proseQuotedPairPolicy) &&
|
|
634
787
|
assignmentKey &&
|
|
635
788
|
!equal(parsed, safe) &&
|
|
636
|
-
/^\s*[+\-*/%?.([<>&|^=!"']/u.test(text.slice(end))
|
|
789
|
+
(/^\s*[+\-*/%?.([<>&|^=!"']/u.test(text.slice(end)) ||
|
|
790
|
+
(codeText &&
|
|
791
|
+
policy.sourceExpressionPolicy === "bounded-source-tokens-v1" &&
|
|
792
|
+
sourceContinuation(text.slice(end).trimStart())))
|
|
637
793
|
)
|
|
638
794
|
reject(
|
|
639
795
|
"Agent model code expression under a sensitive key cannot be safely projected",
|
|
@@ -596,7 +596,7 @@ export const EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_V6_DIGEST = `sha256:${crea
|
|
|
596
596
|
"utf8",
|
|
597
597
|
)
|
|
598
598
|
.digest("hex")}`;
|
|
599
|
-
const
|
|
599
|
+
const AGENT_MODEL_RULESET_V7 = Object.freeze({
|
|
600
600
|
...AGENT_MODEL_RULESET_V6,
|
|
601
601
|
schema: "chainlesschain.evolution-agent-model-projection-rules/v7",
|
|
602
602
|
version: 7,
|
|
@@ -606,6 +606,24 @@ const AGENT_MODEL_RULESET = Object.freeze({
|
|
|
606
606
|
pythonFStringPolicy: "bounded-static-label-alignment-v1",
|
|
607
607
|
}),
|
|
608
608
|
});
|
|
609
|
+
export const EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_V7_DIGEST = `sha256:${createHash(
|
|
610
|
+
"sha256",
|
|
611
|
+
)
|
|
612
|
+
.update(
|
|
613
|
+
`${AGENT_MODEL_RULESET_V7.schema}\0${JSON.stringify(AGENT_MODEL_RULESET_V7)}`,
|
|
614
|
+
"utf8",
|
|
615
|
+
)
|
|
616
|
+
.digest("hex")}`;
|
|
617
|
+
const AGENT_MODEL_RULESET = Object.freeze({
|
|
618
|
+
...AGENT_MODEL_RULESET_V7,
|
|
619
|
+
schema: "chainlesschain.evolution-agent-model-projection-rules/v8",
|
|
620
|
+
version: 8,
|
|
621
|
+
jsonTextPolicy: Object.freeze({
|
|
622
|
+
...AGENT_MODEL_RULESET_V7.jsonTextPolicy,
|
|
623
|
+
version: 5,
|
|
624
|
+
sourceExpressionPolicy: "bounded-source-tokens-v1",
|
|
625
|
+
}),
|
|
626
|
+
});
|
|
609
627
|
export const EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_DIGEST = `sha256:${createHash(
|
|
610
628
|
"sha256",
|
|
611
629
|
)
|
|
@@ -640,6 +658,7 @@ const SUPPORTED_RULESETS = new Map([
|
|
|
640
658
|
[EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_V4_DIGEST, AGENT_MODEL_RULESET_V4],
|
|
641
659
|
[EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_V5_DIGEST, AGENT_MODEL_RULESET_V5],
|
|
642
660
|
[EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_V6_DIGEST, AGENT_MODEL_RULESET_V6],
|
|
661
|
+
[EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_V7_DIGEST, AGENT_MODEL_RULESET_V7],
|
|
643
662
|
[EVOLUTION_AGENT_MODEL_PROJECTION_RULESET_DIGEST, AGENT_MODEL_RULESET],
|
|
644
663
|
]);
|
|
645
664
|
|
|
@@ -715,6 +734,7 @@ const AGENT_VALUE_PATTERNS = Object.freeze([
|
|
|
715
734
|
function valuePatterns(ruleset) {
|
|
716
735
|
return ruleset === SKILL_DECISION_RULESET ||
|
|
717
736
|
ruleset === AGENT_MODEL_RULESET ||
|
|
737
|
+
ruleset === AGENT_MODEL_RULESET_V7 ||
|
|
718
738
|
ruleset === AGENT_MODEL_RULESET_V6 ||
|
|
719
739
|
ruleset === AGENT_MODEL_RULESET_V5 ||
|
|
720
740
|
ruleset === AGENT_MODEL_RULESET_V4 ||
|
|
@@ -1469,6 +1489,7 @@ function sanitizePayload(
|
|
|
1469
1489
|
const toolArguments = jsonText && isAgentToolArgumentsPath(path);
|
|
1470
1490
|
const opaqueTransportBlock =
|
|
1471
1491
|
ruleset === AGENT_MODEL_RULESET ||
|
|
1492
|
+
ruleset === AGENT_MODEL_RULESET_V7 ||
|
|
1472
1493
|
ruleset === AGENT_MODEL_RULESET_V6 ||
|
|
1473
1494
|
ruleset === AGENT_MODEL_RULESET_V5 ||
|
|
1474
1495
|
ruleset === AGENT_MODEL_RULESET_V4 ||
|
|
@@ -3364,6 +3385,7 @@ function validateBundleIntegrity(bundle) {
|
|
|
3364
3385
|
}
|
|
3365
3386
|
if (
|
|
3366
3387
|
ruleset === AGENT_MODEL_RULESET ||
|
|
3388
|
+
ruleset === AGENT_MODEL_RULESET_V7 ||
|
|
3367
3389
|
ruleset === AGENT_MODEL_RULESET_V6 ||
|
|
3368
3390
|
ruleset === AGENT_MODEL_RULESET_V5 ||
|
|
3369
3391
|
ruleset === AGENT_MODEL_RULESET_V4 ||
|
|
@@ -3375,6 +3397,7 @@ function validateBundleIntegrity(bundle) {
|
|
|
3375
3397
|
allowStructuredArgumentText: ruleset !== AGENT_MODEL_RULESET_V1,
|
|
3376
3398
|
allowOpaqueTransportBlocks:
|
|
3377
3399
|
ruleset === AGENT_MODEL_RULESET ||
|
|
3400
|
+
ruleset === AGENT_MODEL_RULESET_V7 ||
|
|
3378
3401
|
ruleset === AGENT_MODEL_RULESET_V6 ||
|
|
3379
3402
|
ruleset === AGENT_MODEL_RULESET_V5 ||
|
|
3380
3403
|
ruleset === AGENT_MODEL_RULESET_V4 ||
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as J,b as z,r as C,I as k,J as y,U as _,c as r,K as o,S as R,V as F,o as V,f as D,P as d,Q as f,R as p,F as j}from"./vendor-Bn1JzzAn.js";import{M as Q}from"./MarkdownRenderer-DpyiXUmk.js";import{u as B,_ as W,d as S}from"./index-Czx0FlX_.js";import{R as q}from"./icons-DG5UD-6K.js";import"./markdown-Bq2x0XsR.js";import"./markdown-DUKxbhE4.js";const K=J("artifacts",()=>{const h=C([]),t=C(!1),u=C(""),e=C(""),v=C(null),b=C(!1),A=z(()=>[...new Set(h.value.map(a=>a.kind).filter(Boolean))].sort());async function l(){const n=B();t.value=!0;try{const a={type:"artifact-list"};u.value&&(a.kind=u.value),e.value&&(a.session=e.value);const s=await n.sendRaw(a);s&&Array.isArray(s.artifacts)&&(h.value=[...s.artifacts].reverse())}catch{}finally{t.value=!1}}async function g(n){const a=B();b.value=!0,v.value={entry:n,previewable:!1};try{const s=await a.sendRaw({type:"artifact-content",artifactId:n.id});v.value={entry:n,previewable:s?.previewable===!0,encoding:s?.encoding||null,content:s?.content||"",truncated:s?.truncated===!0,reason:s?.reason||null}}catch(s){v.value={entry:n,previewable:!1,reason:s?.message||"preview failed"}}finally{b.value=!1}}function i(){v.value=null}const m=z(()=>{const n=v.value;return!n?.previewable||n.encoding!=="base64"?null:`data:${n.entry?.mime||"image/png"};base64,${n.content}`}),O=z(()=>{const n=v.value;return n?.previewable===!0&&n.encoding==="utf8"&&String(n.entry?.mime||"").toLowerCase()==="text/markdown"});async function M(n,a={}){if(!n?.id)return!1;const s=a.fetch||globalThis.fetch,T=a.document||globalThis.document,E=a.URL||globalThis.URL,L=(a.config||globalThis.window?.__CC_CONFIG__)??{};try{const N=await s(`/api/artifacts/${n.id}/download`,{headers:L.wsToken?{Authorization:`Bearer ${L.wsToken}`}:{}});if(!N.ok)return!1;const G=await N.blob(),U=E.createObjectURL(G),I=T.createElement("a");return I.href=U,I.download=n.title||n.id,T.body.appendChild(I),I.click(),I.remove(),E.revokeObjectURL(U),!0}catch{return!1}}async function P(n){const a=B();if(!n)return!1;try{const s=await a.sendRaw({type:"artifact-remove",artifactId:n});return v.value?.entry?.id===n&&(v.value=null),await l(),s?.found===!0}catch{return!1}}async function c(){const n=B();try{const a=await n.sendRaw({type:"artifact-clean"});return await l(),Number(a?.removed)||0}catch{return 0}}function w(n){const a=Number(n)||0;return a<1024?`${a} B`:a<1024*1024?`${(a/1024).toFixed(1)} KB`:`${(a/(1024*1024)).toFixed(1)} MB`}function x(n){switch(n){case"report":return"blue";case"patch":return"purple";case"screenshot":return"cyan";case"log":return"default";case"data":return"green";default:return"default"}}return{artifacts:h,loading:t,kindFilter:u,sessionFilter:e,kinds:A,preview:v,previewLoading:b,previewImageSrc:m,previewIsMarkdown:O,fetchArtifacts:l,openPreview:g,closePreview:i,removeArtifact:P,cleanExpired:c,downloadArtifact:M,formatSize:w,kindColor:x}}),H={__name:"Artifacts",setup(h,{expose:t}){t();const u=K(),e=[{title:"标题",key:"title",dataIndex:"title",ellipsis:!0},{title:"类型",key:"kind",dataIndex:"kind",width:110},{title:"MIME",dataIndex:"mime",width:160,ellipsis:!0},{title:"大小",key:"size",dataIndex:"size",width:90},{title:"发布时间",key:"createdAt",dataIndex:"createdAt",width:170},{title:"会话",dataIndex:"sessionId",width:160,ellipsis:!0},{title:"操作",key:"actions",width:150}],v=z(()=>u.kinds.map(i=>({label:i,value:i})));async function b(i){await u.removeArtifact(i)?S.success("已删除"):S.error("删除失败")}async function A(){const i=await u.cleanExpired();S.info(i>0?`清理了 ${i} 个过期交付物`:"没有过期交付物")}async function l(i){await u.downloadArtifact(i)||S.error("下载失败")}V(()=>{u.fetchArtifacts()}),D(()=>{u.closePreview()});const g={store:u,columns:e,kindOptions:v,onRemove:b,onClean:A,onDownload:l,computed:z,onBeforeUnmount:D,onMounted:V,get ReloadOutlined(){return q},get message(){return S},MarkdownRenderer:Q,get useArtifactsStore(){return K}};return Object.defineProperty(g,"__isScriptSetup",{enumerable:!1,value:!0}),g}},X={class:"page-header"},Y=["onClick"],Z=["src"],$={key:1,class:"preview-markdown"},ee={key:2,class:"preview-text"},te={class:"preview-meta"},ne={key:0};function ae(h,t,u,e,v,b){const A=k("a-select"),l=k("a-button"),g=k("a-popconfirm"),i=k("a-space"),m=k("a-tag"),O=k("a-table"),M=k("a-empty"),P=k("a-card");return d(),y("div",null,[_("div",X,[t[7]||(t[7]=_("div",null,[_("h2",{class:"page-title"},"交付物"),_("p",{class:"page-sub"}," agent 用 publish_artifact 发布的交付物(报告 / patch / 截图 / 日志),在这里预览与管理(cc artifacts 同源)。 ")],-1)),r(i,null,{default:o(()=>[r(A,{value:e.store.kindFilter,"onUpdate:value":t[0]||(t[0]=c=>e.store.kindFilter=c),style:{"min-width":"120px"},placeholder:"全部类型","allow-clear":"",options:e.kindOptions,onChange:t[1]||(t[1]=c=>e.store.fetchArtifacts())},null,8,["value","options"]),r(g,{title:"删除所有过期交付物?",onConfirm:e.onClean},{default:o(()=>[r(l,null,{default:o(()=>[...t[5]||(t[5]=[f("清理过期",-1)])]),_:1})]),_:1}),r(l,{ghost:"",loading:e.store.loading,onClick:t[2]||(t[2]=c=>e.store.fetchArtifacts())},{icon:o(()=>[r(e.ReloadOutlined)]),default:o(()=>[t[6]||(t[6]=f(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),r(O,{"data-source":e.store.artifacts,columns:e.columns,"row-key":"id",size:"small",pagination:{pageSize:10,hideOnSinglePage:!0}},{bodyCell:o(({column:c,record:w})=>[c.key==="title"?(d(),y("a",{key:0,onClick:x=>e.store.openPreview(w)},p(w.title),9,Y)):c.key==="kind"?(d(),R(m,{key:1,color:e.store.kindColor(w.kind)},{default:o(()=>[f(p(w.kind),1)]),_:2},1032,["color"])):c.key==="size"?(d(),y(j,{key:2},[f(p(e.store.formatSize(w.size)),1)],64)):c.key==="createdAt"?(d(),y(j,{key:3},[f(p((w.createdAt||"").replace("T"," ").slice(0,19)),1)],64)):c.key==="actions"?(d(),R(i,{key:4},{default:o(()=>[r(l,{size:"small",onClick:x=>e.store.openPreview(w)},{default:o(()=>[...t[8]||(t[8]=[f("预览",-1)])]),_:1},8,["onClick"]),r(l,{size:"small",onClick:x=>e.onDownload(w)},{default:o(()=>[...t[9]||(t[9]=[f("下载",-1)])]),_:1},8,["onClick"]),r(g,{title:"删除该交付物?",onConfirm:x=>e.onRemove(w.id)},{default:o(()=>[r(l,{size:"small",danger:""},{default:o(()=>[...t[10]||(t[10]=[f("删除",-1)])]),_:1})]),_:1},8,["onConfirm"])]),_:2},1024)):F("v-if",!0)]),_:1},8,["data-source"]),e.store.preview?(d(),R(P,{key:0,size:"small",class:"preview-card",loading:e.store.previewLoading},{title:o(()=>[r(i,null,{default:o(()=>[_("span",null,p(e.store.preview.entry?.title),1),r(m,{color:e.store.kindColor(e.store.preview.entry?.kind)},{default:o(()=>[f(p(e.store.preview.entry?.kind),1)]),_:1},8,["color"]),r(m,{color:"default"},{default:o(()=>[f(p(e.store.preview.entry?.mime),1)]),_:1}),e.store.preview.truncated?(d(),R(m,{key:0,color:"warning"},{default:o(()=>[...t[11]||(t[11]=[f("已截断预览",-1)])]),_:1})):F("v-if",!0)]),_:1})]),extra:o(()=>[r(i,null,{default:o(()=>[r(l,{size:"small",onClick:t[3]||(t[3]=c=>e.onDownload(e.store.preview.entry))},{default:o(()=>[...t[12]||(t[12]=[f("下载",-1)])]),_:1}),r(l,{size:"small",onClick:t[4]||(t[4]=c=>e.store.closePreview())},{default:o(()=>[...t[13]||(t[13]=[f("关闭",-1)])]),_:1})]),_:1})]),default:o(()=>[e.store.previewImageSrc?(d(),y("img",{key:0,src:e.store.previewImageSrc,class:"preview-image",alt:"artifact preview"},null,8,Z)):e.store.previewIsMarkdown?(d(),y("div",$,[r(e.MarkdownRenderer,{content:e.store.preview.content||""},null,8,["content"])])):e.store.preview.previewable?(d(),y("pre",ee,p(e.store.preview.content||"(空文件)"),1)):(d(),R(M,{key:3,description:e.store.preview.reason||"该类型不支持在线预览,可在本机用 cc artifacts open <id> 打开"},null,8,["description"])),_("div",te,[_("span",null,p(e.store.preview.entry?.id),1),e.store.preview.entry?.sessionId?(d(),y("span",ne," · session "+p(e.store.preview.entry.sessionId),1)):F("v-if",!0),_("span",null," · sha256 "+p((e.store.preview.entry?.sha256||"").slice(0,12))+"…",1)])]),_:1},8,["loading"])):F("v-if",!0)])}const de=W(H,[["render",ae],["__scopeId","data-v-c8b48f8c"],["__file","/tmp/cc-web-panel-oEI67F/repo/packages/web-panel/src/views/Artifacts.vue"]]);export{de as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as r,J as T,U as c,c as a,K as o,S as I,V as C,o as M,r as k,a as V,b as L,P as R,Q as d,R as m,F,Z as H}from"./vendor-Bn1JzzAn.js";import{_ as W,u as N,d as i}from"./index-Czx0FlX_.js";import{R as A}from"./icons-DG5UD-6K.js";function B(P){return["ask","agent"].map(t=>{const n=P?.readiness?.[t],e=n?.state==="admitted",f=n?.scope==="deployment-admission"&&n.runtimeVerification==="not_checked"&&Array.isArray(n.requiredCommands)&&n.requiredCommands.includes(t)&&(e?n.ready===!0&&n.taskReady===null:["not_configured","disabled","invalid","command_not_allowed"].includes(n.state)&&n.ready===!1&&n.taskReady===!1);return{command:t,state:f?n.state:"unknown",summary:f?e?"部署准入通过":"部署准入被阻断":"未提供准入诊断",detail:f&&typeof n.detail=="string"?n.detail:"当前 CLI 未提供可识别的部署准入诊断,请更新 CLI。",remediation:f&&typeof n.remediation=="string"?n.remediation:""}})}function U(P,t){for(const n of Object.keys(P))delete P[n];Object.assign(P,{source:"none",effectiveEnabled:!1,profileEnabled:!1,verified:!1,commands:[],readiness:null},t||{})}const J={__name:"EvolutionSettings",setup(P,{expose:t}){t();const n=N(),e=k(!1),f=k(!1),S=k(!1),p=k(!1),w=k(!1),g=k(""),_=k(""),E=k(""),v=V({source:"none",effectiveEnabled:!1,profileEnabled:!1,verified:!1,commands:[]}),x=L(()=>e.value||f.value||S.value||p.value||w.value),h=L(()=>B(v));function b(s){U(v,s),_.value=v.descriptorPath||"",E.value=v.trustRootPath||"",g.value=v.modulePath||g.value||""}async function u(s,z=3e4){return await n.waitConnected(8e3),(await n.sendRaw(s,z)).result}async function y(){e.value=!0;try{b(await u({type:"evolution.deployment.status"}))}catch(s){i.error("读取配置失败:"+s.message)}finally{e.value=!1}}async function O(){if(!_.value.trim()||!E.value.trim()){i.warning("请填写描述符和信任根公钥的绝对路径");return}f.value=!0;try{b(await u({type:"evolution.deployment.configure",descriptorPath:_.value.trim(),trustRootPath:E.value.trim()},6e4)),i.success("签名校验通过,配置已保存并启用;自动发布仍为 HOLD")}catch(s){i.error("配置失败:"+s.message)}finally{f.value=!1}}async function D(){if(!g.value.trim()){i.warning("请填写测试部署宿主模块的服务器绝对路径");return}p.value=!0;try{b(await u({type:"evolution.deployment.init-test",modulePath:g.value.trim()},6e4)),i.success("TEST 测试开发环境已生成并启用;禁止用于生产")}catch(s){i.error("生成测试环境失败:"+s.message)}finally{p.value=!1}}async function l(){if(!_.value.trim()||!E.value.trim()){i.warning("请填写正式描述符和正式信任根公钥的绝对路径");return}w.value=!0;try{b(await u({type:"evolution.deployment.replace-test",descriptorPath:_.value.trim(),trustRootPath:E.value.trim()},6e4)),i.success("测试根已安全轮换为正式受管证书;请重启 cc ui、IDE 或 Desktop 长驻进程后做正式验证")}catch(s){i.error("替换失败:"+s.message)}finally{w.value=!1}}async function q(){S.value=!0;try{b(await u({type:"evolution.deployment.set-enabled",enabled:!v.profileEnabled})),i.success(v.profileEnabled?"已启用":"已停用")}catch(s){i.error("更新失败:"+s.message)}finally{S.value=!1}}M(y);const j={ws:n,loading:e,saving:f,toggling:S,initializingTest:p,replacingTest:w,modulePath:g,descriptorPath:_,trustRootPath:E,status:v,busy:x,readinessRows:h,apply:b,request:u,loadStatus:y,save:O,initTest:D,replaceTest:l,toggle:q,computed:L,onMounted:M,reactive:V,ref:k,get ReloadOutlined(){return A},get message(){return i},get useWsStore(){return N},get deploymentReadinessRows(){return B},get replaceDeploymentStatus(){return U}};return Object.defineProperty(j,"__isScriptSetup",{enumerable:!1,value:!0}),j}},K={class:"page-head"},Q={class:"mono"},Z={class:"mono"},G={class:"admission-status","aria-live":"polite"},X=["data-admission-command"],Y={class:"mono"},$={key:0,class:"mono"};function ee(P,t,n,e,f,S){const p=r("a-button"),w=r("a-alert"),g=r("a-input"),_=r("a-form-item"),E=r("a-divider"),v=r("a-space"),x=r("a-form"),h=r("a-card"),b=r("a-col"),u=r("a-tag"),y=r("a-descriptions-item"),O=r("a-descriptions"),D=r("a-row");return R(),T("div",null,[c("div",K,[t[4]||(t[4]=c("div",null,[c("h2",{class:"page-title"},"Skill 自进化配置"),c("p",{class:"page-sub"},"统一配置受治理部署;CLI、IDE 插件与 cc ui 共享。")],-1)),a(p,{loading:e.loading,onClick:e.loadStatus},{icon:o(()=>[a(e.ReloadOutlined)]),default:o(()=>[t[3]||(t[3]=d("刷新 ",-1))]),_:1},8,["loading"])]),a(w,{message:"不会开启自动发布",description:"此开关只启用经过签名的 Skill 自进化运行时。候选项进入 active 前仍需人工审核,自动发布始终保持 HOLD。",type:"warning","show-icon":"",class:"notice"}),e.status.deploymentMode==="test"?(R(),I(w,{key:0,message:"当前为 TEST 测试开发环境",description:"本机自动生成的测试密钥不能用于生产。正式 descriptor 和 trust root 到位后,请使用下方“一键替换测试证书并转正式”。",type:"error","show-icon":"",class:"notice"})):C("v-if",!0),a(D,{gutter:16},{default:o(()=>[a(b,{xs:24,xl:15},{default:o(()=>[a(h,{title:"上线前测试与正式部署",class:"panel-card"},{default:o(()=>[a(x,{layout:"vertical"},{default:o(()=>[a(_,{label:"测试部署宿主模块"},{extra:o(()=>[...t[5]||(t[5]=[d("首次填写后点击一次即可生成 Ed25519 测试密钥、签名描述符并启用;宿主模块修改后再次点击可刷新。",-1)])]),default:o(()=>[a(g,{value:e.modulePath,"onUpdate:value":t[0]||(t[0]=l=>e.modulePath=l),disabled:e.busy,placeholder:"运行 cc ui 的机器上 deployment host .mjs/.js 的绝对路径"},null,8,["value","disabled"])]),_:1}),a(p,{type:"primary",loading:e.initializingTest,onClick:e.initTest},{default:o(()=>[...t[6]||(t[6]=[d("一键生成/刷新测试环境",-1)])]),_:1},8,["loading"]),a(E),a(_,{label:"签名部署描述符"},{extra:o(()=>[...t[7]||(t[7]=[d("Web 页面不能读取本机文件选择器,请填写运行 cc ui 的机器上的绝对路径。",-1)])]),default:o(()=>[a(g,{value:e.descriptorPath,"onUpdate:value":t[1]||(t[1]=l=>e.descriptorPath=l),disabled:e.busy,placeholder:"deployment descriptor JSON 的服务器绝对路径"},null,8,["value","disabled"])]),_:1}),a(_,{label:"Ed25519 信任根公钥"},{default:o(()=>[a(g,{value:e.trustRootPath,"onUpdate:value":t[2]||(t[2]=l=>e.trustRootPath=l),disabled:e.busy,placeholder:"信任根 public key 的服务器绝对路径"},null,8,["value","disabled"])]),_:1}),a(v,null,{default:o(()=>[a(p,{type:"primary",loading:e.saving,onClick:e.save},{default:o(()=>[...t[8]||(t[8]=[d("校验、保存并启用",-1)])]),_:1},8,["loading"]),a(p,{danger:e.status.profileEnabled,disabled:!e.status.descriptorPath,loading:e.toggling,onClick:e.toggle},{default:o(()=>[d(m(e.status.profileEnabled?"停用":"启用"),1)]),_:1},8,["danger","disabled","loading"]),e.status.deploymentMode==="test"?(R(),I(p,{key:0,loading:e.replacingTest,onClick:e.replaceTest},{default:o(()=>[...t[9]||(t[9]=[d("一键替换测试证书并转正式",-1)])]),_:1},8,["loading"])):C("v-if",!0)]),_:1})]),_:1})]),_:1})]),_:1}),a(b,{xs:24,xl:9},{default:o(()=>[a(h,{title:"治理状态",class:"panel-card status-card"},{default:o(()=>[a(O,{column:1,size:"small"},{default:o(()=>[a(y,{label:"部署模式"},{default:o(()=>[a(u,{color:e.status.deploymentMode==="test"?"red":"blue"},{default:o(()=>[d(m(e.status.deploymentMode==="test"?"TEST(仅限上线前联调)":e.status.deploymentMode||"none"),1)]),_:1},8,["color"])]),_:1}),a(y,{label:"生效状态"},{default:o(()=>[a(u,{color:e.status.effectiveEnabled?"green":"default"},{default:o(()=>[d(m(e.status.effectiveEnabled?"已启用":"未启用"),1)]),_:1},8,["color"])]),_:1}),a(y,{label:"生效来源"},{default:o(()=>[d(m(e.status.source||"none"),1)]),_:1}),a(y,{label:"签名校验"},{default:o(()=>[a(u,{color:e.status.verified?"green":"red"},{default:o(()=>[d(m(e.status.verified?"已通过":"未通过"),1)]),_:1},8,["color"])]),_:1}),a(y,{label:"自动发布"},{default:o(()=>[a(u,{color:"orange"},{default:o(()=>[...t[10]||(t[10]=[d("HOLD",-1)])]),_:1})]),_:1}),a(y,{label:"配置文件"},{default:o(()=>[c("span",Q,m(e.status.profilePath||"—"),1)]),_:1}),a(y,{label:"允许命令"},{default:o(()=>[c("span",Z,m((e.status.commands||[]).join(", ")||"—"),1)]),_:1})]),_:1}),c("section",G,[t[11]||(t[11]=c("h3",null,"模型命令部署准入",-1)),t[12]||(t[12]=c("p",null,"这里只检查部署准入,实际任务运行尚未验证。",-1)),(R(!0),T(F,null,H(e.readinessRows,l=>(R(),T("div",{key:l.command,"data-admission-command":l.command},[c("strong",null,m(l.command)+":"+m(l.summary),1),c("p",Y,m(l.detail),1),l.remediation?(R(),T("p",$,m(l.remediation),1)):C("v-if",!0)],8,X))),128))]),e.status.error?(R(),I(w,{key:0,message:e.status.error,type:"error","show-icon":"",class:"error"},null,8,["message"])):C("v-if",!0)]),_:1})]),_:1})]),_:1})])}const le=W(J,[["render",ee],["__scopeId","data-v-5a42105e"],["__file","/tmp/cc-web-panel-oEI67F/repo/packages/web-panel/src/views/EvolutionSettings.vue"]]);export{le as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as n,J as g,c as l,K as r,N as u,P as h,U as o,R as t,Q as b}from"./vendor-Bn1JzzAn.js";import{_ as v,b as m}from"./index-Czx0FlX_.js";import{a8 as y,M}from"./icons-DG5UD-6K.js";const B={__name:"MobileProjects",setup(p,{expose:i}){i();const c=u(),{t:e}=m();function a(){c.push("/projects")}function _(){c.push("/mobile-bridge")}const s={router:c,t:e,goToProjects:a,goToMobileBridge:_,get useRouter(){return u},get useI18n(){return m},get MobileOutlined(){return M},get FolderOutlined(){return y}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}},x={class:"mobile-projects-placeholder"},O={class:"title"},k={class:"subtitle"},w={class:"explainer"};function T(p,i,c,e,a,_){const s=n("a-alert"),d=n("a-button"),f=n("a-space"),P=n("a-empty"),j=n("a-card");return h(),g("div",x,[l(j,null,{default:r(()=>[l(P,{description:!1},{image:r(()=>[l(e.MobileOutlined,{style:{fontSize:"64px",color:"#bfbfbf"}})]),default:r(()=>[o("h2",O,t(e.t("mobileProjects.title")),1),o("p",k,t(e.t("mobileProjects.subtitle")),1),l(s,{message:e.t("mobileProjects.v02Banner"),type:"info","show-icon":"",class:"banner"},null,8,["message"]),o("div",w,[o("h3",null,t(e.t("mobileProjects.currentDirection")),1),o("p",null,t(e.t("mobileProjects.currentDirectionBody")),1),o("ul",null,[o("li",null,t(e.t("mobileProjects.stepPhone")),1),o("li",null,t(e.t("mobileProjects.stepTap")),1),o("li",null,t(e.t("mobileProjects.stepPull")),1)]),o("h3",null,t(e.t("mobileProjects.reverseDirection")),1),o("p",null,t(e.t("mobileProjects.reverseDirectionBody")),1)]),l(f,{class:"actions"},{default:r(()=>[l(d,{type:"primary",onClick:e.goToProjects},{default:r(()=>[l(e.FolderOutlined),b(" "+t(e.t("mobileProjects.viewLocalProjects")),1)]),_:1}),l(d,{onClick:e.goToMobileBridge},{default:r(()=>[l(e.MobileOutlined),b(" "+t(e.t("mobileProjects.checkBridge")),1)]),_:1})]),_:1})]),_:1})]),_:1})])}const F=v(B,[["render",T],["__scopeId","data-v-9262cc45"],["__file","/tmp/cc-web-panel-oEI67F/repo/packages/web-panel/src/views/MobileProjects.vue"]]);export{F as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as r}from"./index-Czx0FlX_.js";const o=((n,a,e)=>{r(n,`[ant-design-vue: ${a}] ${e}`)});export{o as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as o}from"./Row-BOI5kMGe.js";import{a0 as t}from"./index-Czx0FlX_.js";import"./vendor-Bn1JzzAn.js";import"./responsiveObserve-sv8vtjTZ.js";import"./useFlexGapSupport-BVNU1yiq.js";import"./styleChecker-Bb9iHj5r.js";import"./index-CqVXEx5l.js";import"./icons-DG5UD-6K.js";const l=t(o);export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as o}from"./Col-Er2GMIwp.js";import{a0 as t}from"./index-Czx0FlX_.js";import"./vendor-Bn1JzzAn.js";import"./index-CqVXEx5l.js";import"./icons-DG5UD-6K.js";const s=t(o);export{s as default};
|