chainlesschain 0.166.41 → 0.166.42
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-CK9AMSXc.js → AIOps-CdsAAOAu.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-B_PARoec.js → ActionButton-B8x5S-3u.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-kB2GmWlI.js → Analytics-C1eOGwSM.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-SnniLCL6.js → AppLayout-CdnpAzuo.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-C30LufT9.js → Artifacts-B0tiKn2i.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-Dx477PoD.js → Audit-DzGqTUvG.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-ClvsCYCT.js → BackgroundAgents-CMXYcy56.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-Bx9uCsgt.js → Backup-DrN3N1_7.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-Br_ecv7G.js → BaseInput-BC9aoifZ.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-Dzr-d6NV.js → Chat-F3Z9p0vk.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-BQ7pUK2c.js → ChatBubbleRenderer-LMGrVg9Z.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-C9O-E90A.js → Checkbox-CDXlouzl.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-CTRBkb29.js → Codegen-9c0RpaYc.js} +1 -1
- package/src/assets/web-panel/assets/{Col--50unLLP.js → Col-C-60iGia.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CFtrKGE_.js → Community-DXE04H2M.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DFoxxofh.js → Compact-B4jEuBmH.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CTpxqxpc.js → Compliance-uf13-dcK.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-Dr-56gcV.js → Cowork-D6hpxLI4.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-B4xZgO5G.js → Cron-CSJobmkN.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-Da7BQ7f3.js → Crosschain-B0_rTlsi.js} +1 -1
- package/src/assets/web-panel/assets/{DID-DRsk74D5.js → DID-D49FQsiZ.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-DqtAeCxK.js → Dashboard-BvjvIYfC.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-CvWZp7Kk.js → Dropdown-BYe1gODU.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-D2gWVD3O.js → EmailListRenderer-CJ6znfiH.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-BFrROP-5.js → FamilyGuardDashboard-BnoKDllh.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-CNMTv4_n.js → Federation-AqhVFmd4.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-Ct_saU8n.js → FormItemContext-CNVYBpNg.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-CrBn2s3P.js → GenericCardRenderer-BbdYCfjH.js} +1 -1
- package/src/assets/web-panel/assets/{Git-CufnJCrr.js → Git-B_xClOR0.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DKS1J5P5.js → Governance-CIKCDF9F.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CxB7n-T4.js → Inference-BdRSc0oa.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-uaO_yOid.js → KnowledgeGraph-DknpIQPx.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-DnR-CXn3.js → Logs-BcCPhMaZ.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-H_GkKEp-.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-ePcCe7m1.js → Marketplace-DEMNuvwO.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-CAR6PCH2.js → McpTools-D-tg9wfq.js} +2 -2
- package/src/assets/web-panel/assets/{Memory-Bl_H1aqs.js → Memory-BqCLu-X9.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-BjMD_o0K.js → MobileBridge-bN6vwbZc.js} +1 -1
- package/src/assets/web-panel/assets/MobileProjects-BTM0-1MZ.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-DxN4oBCy.js → Mtc-CcGXXyEn.js} +6 -6
- package/src/assets/web-panel/assets/{MtcAudit-CZg_CONT.js → MtcAudit-B2Z5wPnM.js} +4 -4
- package/src/assets/web-panel/assets/{Multisig-D3nrsJvN.js → Multisig-DNW7dKam.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-DfffM-fH.js → NLProgramming-Ciz-g5G3.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-QE3VQe9j.js → Notes-CeiEA6yF.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-CYGciq5y.js → NotificationSettings-DgeiEPwB.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-Cx5IwZLp.js → OrderTableRenderer-D9DjubGK.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-C8RQZUBu.js → Organization-CeA2EC_G.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-Dg6cVFza.js → Overflow-DT40ig7t.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-DjRkujm6.js → P2P-K4H13K3M.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-CMpEtOjE.js → PdhVaultBrowser-CF7TzZmx.js} +5 -5
- package/src/assets/web-panel/assets/{Permissions-jOoYkoQU.js → Permissions-DYQogL6r.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-CfArs3Fo.js → PersonalDataHub-DXhXVHar.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-DBaHyX1b.js → Pipeline-DQMdn5Ij.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-Wv2VD4nl.js → Privacy-BiF1thop.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CiJPc1_A.js → ProjectInit-C2ptWEn7.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-Dw1cWjEG.js → ProjectSettings-B5WCiDZD.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-CWtB5sqm.js → Projects-BNH6LKU6.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-DSn6SDyz.js → Providers-CgRJ8ZT1.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-ft3b2Qpr.js → QrScannerModal-B3tuNJ3V.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-GE6AQSq7.js → QuickAsk-D9CO1SNI.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DMSEq8uY.js → Recommend-BGmwHY_U.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-Uu-HSEai.js → RemoteSession-CliYaolm.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-CIcpi3_V.js → Reputation-sCiX2kmm.js} +1 -1
- package/src/assets/web-panel/assets/{Row-UVMeD3Wm.js → Row-DXHx_bk0.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CD4MNI1l.js → RssFeed-Bg79mIxI.js} +3 -3
- package/src/assets/web-panel/assets/{Search-AlxcFL5q.js → Search-CnKDYqyS.js} +1 -1
- package/src/assets/web-panel/assets/{Security-Du5J0dDR.js → Security-c-0QOrC2.js} +4 -4
- package/src/assets/web-panel/assets/{Services-CGDVJAoN.js → Services-BBBTb4YA.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CCQDNIXk.js → Skeleton-CtL_5fJe.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-4BRwqGQe.js → Skills-DvqrC2_v.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-CgG0JuJh.js → Sla-C5LGNImz.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-qgkTz2pO.js → SpeechSettings-Btx0KgwX.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-DRTuKcuZ.js → SyncSettings-DFLNSWuu.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-BfOq9EqX.js → Tasks-Btkyo0G7.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-d78d-BZI.js → Templates-CIIt_k5J.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-XwKmfX8F.js → Tenant-Nqo1PA2a.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-Wqr2Kcev.js → Terminal-CGwV9hW9.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-BjzPNKDr.js → TimelineRenderer-Bu3xrXyf.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-DWRgtMpW.js → Tokens-3bC3zrYj.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-BCDWY1I7.js → Trigger-DG84V7Xf.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-CI47nsTZ.js → Trust-rPhNXoYJ.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-BxxUVNJf.js → UkeySign-CamNxeAp.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-K6atXnE3.js → VideoEditing-CkIuH4Gm.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-DALnM69L.js → Wallet-SD5W5uHT.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-DiDAUHrG.js → WebAuthn--A4Sddxn.js} +3 -3
- package/src/assets/web-panel/assets/{WorkflowEditor-CCYTnfUH.js → WorkflowEditor-Ca7qvch8.js} +1 -1
- package/src/assets/web-panel/assets/{chat-0oQNEtRw.js → chat-i8OBdjCB.js} +1 -1
- package/src/assets/web-panel/assets/{colors-C1A1ekPG.js → colors-BeYbJKQ8.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-Bm5w8Q--.js → compact-item-BqpF-Sya.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-VzW0CVyb.js → createContext-qXTb29t3.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-DATyiD_X.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-B8u-fCyP.js → hasIn-DOfL0KSW.js} +1 -1
- package/src/assets/web-panel/assets/{index-NzJz9-49.js → index--TQi5102.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dj0yOalO.js → index-0OxY_Nsh.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcmUqRug.js → index-B00rNoIx.js} +1 -1
- package/src/assets/web-panel/assets/{index-DOrjt98B.js → index-B177TAO-.js} +1 -1
- package/src/assets/web-panel/assets/{index-DV_Pfu-b.js → index-BD386d6M.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bg-LBQME.js → index-BKd03Rn4.js} +1 -1
- package/src/assets/web-panel/assets/{index-k5exH2qO.js → index-BOwR6mHU.js} +1 -1
- package/src/assets/web-panel/assets/{index-BicVNOi5.js → index-BYzQaGnV.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dxx4WU96.js → index-BdbrE-hz.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dy85cPQr.js → index-BmzmjSGb.js} +1 -1
- package/src/assets/web-panel/assets/{index-jMjP2tFO.js → index-Bt7Ua7EC.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcLZlcMA.js → index-BuzGZOAK.js} +1 -1
- package/src/assets/web-panel/assets/{index-CtMiuJK-.js → index-ByHZkqj5.js} +1 -1
- package/src/assets/web-panel/assets/{index-C5LAh2pw.js → index-Byn_IHXR.js} +1 -1
- package/src/assets/web-panel/assets/{index-CzTQseVr.js → index-C-P0NHi4.js} +1 -1
- package/src/assets/web-panel/assets/{index-D7q2TsaJ.js → index-C13IM9lj.js} +1 -1
- package/src/assets/web-panel/assets/{index-CX4GAKgB.js → index-C4_8KnUt.js} +1 -1
- package/src/assets/web-panel/assets/{index-BbFi-5C6.js → index-CH7mHJoh.js} +1 -1
- package/src/assets/web-panel/assets/{index-C4_ABRMS.js → index-CLrDyxeZ.js} +1 -1
- package/src/assets/web-panel/assets/{index-C0m5PpMV.js → index-CXXeOim8.js} +1 -1
- package/src/assets/web-panel/assets/{index-BEQNF8dD.js → index-CebShwk1.js} +1 -1
- package/src/assets/web-panel/assets/{index-SmhdgbaR.js → index-Cvig0IjN.js} +1 -1
- package/src/assets/web-panel/assets/{index-BdhglNFh.js → index-Cy8WApMp.js} +1 -1
- package/src/assets/web-panel/assets/{index-CflXFLrN.js → index-D8c3Ctj4.js} +1 -1
- package/src/assets/web-panel/assets/{index-KCmGGWAT.js → index-DCcXU9HN.js} +3 -3
- package/src/assets/web-panel/assets/{index-D6ou7QIj.js → index-DIikgsI1.js} +1 -1
- package/src/assets/web-panel/assets/{index-BVcRk2yF.js → index-DWLxMPZ_.js} +1 -1
- package/src/assets/web-panel/assets/{index-BIYC0OR5.js → index-Dio2mTWq.js} +1 -1
- package/src/assets/web-panel/assets/index-DmzMCELP.js +1 -0
- package/src/assets/web-panel/assets/{index-CpZdwtCH.js → index-GGEsF-NA.js} +1 -1
- package/src/assets/web-panel/assets/{index-BfKBL8PY.js → index-JxyF4KNw.js} +1 -1
- package/src/assets/web-panel/assets/{index-DW-aGHSh.js → index-TAvlGp5l.js} +1 -1
- package/src/assets/web-panel/assets/index-TlPg2Jz6.js +1 -0
- package/src/assets/web-panel/assets/{index-lE4Q1Goz.js → index-X8TXf9Bb.js} +1 -1
- package/src/assets/web-panel/assets/{index-DBE3blUA.js → index-czHvbhS0.js} +1 -1
- package/src/assets/web-panel/assets/{index-CXEOVGeZ.js → index-nl9IxLfv.js} +1 -1
- package/src/assets/web-panel/assets/{index-5dKHibv1.js → index-rdW8KX_7.js} +1 -1
- package/src/assets/web-panel/assets/{index-DjMG0Vw9.js → index-vNYrAXO6.js} +1 -1
- package/src/assets/web-panel/assets/{index-CicT_guC.js → index-zmvw3Ptl.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DbZ3dIR7.js → initDefaultProps-BKpYiODg.js} +1 -1
- package/src/assets/web-panel/assets/{motion-ATVJwqzT.js → motion-DJ2p-V-R.js} +1 -1
- package/src/assets/web-panel/assets/{move-Bxj0ZywY.js → move-CmA2ejm5.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-0j7iOj1h.js → mtc-parser-CAIGxQzN.js} +1 -1
- package/src/assets/web-panel/assets/{omit-DsAzx9jL.js → omit-DJlnhA7K.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-CIyAoQIB.js → pickAttrs-CZPrJyhF.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-KU51oLwW.js → placementArrow-CXy74okE.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CCmx1m3K.js → responsiveObserve-DexkLtci.js} +1 -1
- package/src/assets/web-panel/assets/{slide-CoxSb_UP.js → slide-BzjBJbPV.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-B-3-3uWm.js → statusUtils-gnHIXw2X.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-BT1IFFpw.js → styleChecker-DHBjT1Gk.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-CEKYnxGt.js → useFlexGapSupport-BmMStW87.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-B_UyzZK-.js → useFs-BcV5VGA2.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-B7fGu-O1.js → usePersonalDataHub-DBxxRRY2.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BLOmOgkK.js → vnode-Bt5yp9hj.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-8yzckhp-.js → zoom-CMdUkOfw.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/data/changelog.json +13 -0
- package/src/lib/pr-investigation-policy.js +42 -0
- package/src/lib/read-file-loop-guard.js +20 -0
- package/src/lib/remote-read-loop-guard.js +52 -6
- package/src/lib/task-progress-tracker.js +62 -3
- package/src/runtime/agent-core.js +126 -23
- package/src/assets/web-panel/assets/MarkdownRenderer-DdkDiGUd.js +0 -1
- package/src/assets/web-panel/assets/MobileProjects--CKxaWJC.js +0 -1
- package/src/assets/web-panel/assets/devWarning-BuusI785.js +0 -1
- package/src/assets/web-panel/assets/index-BiH_a1Cv.js +0 -1
- package/src/assets/web-panel/assets/index-t3MTPSt6.js +0 -1
package/src/assets/web-panel/assets/{placementArrow-KU51oLwW.js → placementArrow-CXy74okE.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-DCcXU9HN.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-CCmx1m3K.js → responsiveObserve-DexkLtci.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as o,h}from"./index-
|
|
1
|
+
import{J as o,h}from"./index-DCcXU9HN.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-DCcXU9HN.js";import{i as e}from"./motion-DJ2p-V-R.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-DCcXU9HN.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-DCcXU9HN.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-CEKYnxGt.js → useFlexGapSupport-BmMStW87.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-DHBjT1Gk.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-DCcXU9HN.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-DCcXU9HN.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-DCcXU9HN.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-DCcXU9HN.js";import{i as f}from"./motion-DJ2p-V-R.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-DCcXU9HN.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.42",
|
|
7
|
+
"cliVersions": ["0.166.42"],
|
|
8
|
+
"date": null,
|
|
9
|
+
"title": "",
|
|
10
|
+
"sections": [
|
|
11
|
+
{
|
|
12
|
+
"heading": "Fixed - cc CLI 0.166.42: converge stalled investigations",
|
|
13
|
+
"body": "- Treat repeated web searches, fetches and read-only GitHub inspection as one\n bounded investigation, retaining remote evidence across compaction without\n letting cosmetic query changes reset convergence.\n- Keep recovery active until the agent takes a concrete mutation or verification\n step, and direct cancelled Actions investigations toward actionable reruns or\n fixes without weakening release gates.\n- Prevent cancellation propagation from being rewritten as a new aggregate gate\n failure while preserving fail-closed aggregation for completed matrix failures.\n- Stabilize Windows release evidence under hosted-runner load with bounded,\n commit-safe retries and test-only startup/capacity budgets; production lock,\n access-control and message-capacity limits remain unchanged."
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
4
17
|
{
|
|
5
18
|
"productVersion": null,
|
|
6
19
|
"cliVersion": "0.166.41",
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// This selects a progress budget, never permission to close/merge a PR. Capture
|
|
2
|
+
// the user's request before compaction; tool output cannot select this policy.
|
|
3
|
+
export function isPrActionRequest(messages) {
|
|
4
|
+
const latest = messages?.findLast((message) => message.role === "user");
|
|
5
|
+
const text = (
|
|
6
|
+
typeof latest?.content === "string"
|
|
7
|
+
? latest.content
|
|
8
|
+
: Array.isArray(latest?.content)
|
|
9
|
+
? latest.content
|
|
10
|
+
.filter((part) => part?.type === "text")
|
|
11
|
+
.map((part) => part.text || "")
|
|
12
|
+
.join("\n")
|
|
13
|
+
: ""
|
|
14
|
+
).replace(/<ide-context\b[^>]*>[\s\S]*?<\/ide-context>/gi, "");
|
|
15
|
+
return (
|
|
16
|
+
/\bPRs?\b|pull[ /_-]requests?|github\.com\/[^/\s]+\/[^/\s]+\/pull\/\d+|拉取请求|合并请求/iu.test(
|
|
17
|
+
text,
|
|
18
|
+
) &&
|
|
19
|
+
/\b(?:handle|fix|resolve|close|merge)\b|处理|修复|解决|关闭|合并/iu.test(
|
|
20
|
+
text,
|
|
21
|
+
) &&
|
|
22
|
+
!/\b(?:watch|monitor|wait|review|explain)\b|等待|监控|观察|审查|评审|解释/iu.test(
|
|
23
|
+
text,
|
|
24
|
+
)
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const PR_INVESTIGATION_LIMIT = 36;
|
|
29
|
+
|
|
30
|
+
export const PR_ACTION_GUIDANCE =
|
|
31
|
+
"PR action workflow: retain the target, head/base commits, current checks and concrete next action. " +
|
|
32
|
+
"Read metadata once, then inspect only the exact missing file patch or failed job. " +
|
|
33
|
+
"gh pr checks exit code 1 can mean failed checks: inspect the returned check results, not just the exit code. " +
|
|
34
|
+
"Do not rotate between gh api, gh pr and PR web pages to rediscover the same facts. " +
|
|
35
|
+
"Use the correct repository cwd and actual remote names. Fix and validate when the evidence supports an authorized change; otherwise report the specific missing prerequisite. " +
|
|
36
|
+
"A general request to handle a PR does not by itself authorize closing or merging it. Never make dummy edits to reset recovery.";
|
|
37
|
+
|
|
38
|
+
export const PR_INVESTIGATION_EXIT_GUIDANCE =
|
|
39
|
+
"PR investigation budget exhausted without an actionable outcome. This is the final synthesis turn; no tools may execute. " +
|
|
40
|
+
"Use the retained evidence to report what was verified, the concrete blocker or missing fact, and the smallest next step. " +
|
|
41
|
+
"Explicitly say the task is incomplete. Do not claim a PR was fixed, closed or merged without successful tool evidence. " +
|
|
42
|
+
"Do not promise another retry or restart the investigation.";
|
|
@@ -142,6 +142,14 @@ export class ReadFileLoopGuard {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
record(tool, result, actionable = true) {
|
|
145
|
+
if (
|
|
146
|
+
this.batch &&
|
|
147
|
+
tool === "read_file" &&
|
|
148
|
+
result?.code === "CC_TOOL_RECOVERY_PAUSED"
|
|
149
|
+
) {
|
|
150
|
+
this.batch.duplicates++;
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
145
153
|
if (
|
|
146
154
|
!this.batch ||
|
|
147
155
|
result?.error ||
|
|
@@ -193,6 +201,18 @@ export class ReadFileLoopGuard {
|
|
|
193
201
|
this.batch = null;
|
|
194
202
|
}
|
|
195
203
|
|
|
204
|
+
get hasUnreadPages() {
|
|
205
|
+
return [...this.progress.values()].some(
|
|
206
|
+
(entry) => entry.summary?.reachedEnd === false,
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
canContinue(filePath, args = {}) {
|
|
211
|
+
return (
|
|
212
|
+
this.progress.get(keyFor(filePath, args))?.summary?.reachedEnd === false
|
|
213
|
+
);
|
|
214
|
+
}
|
|
215
|
+
|
|
196
216
|
get recoveryHint() {
|
|
197
217
|
return this.repeatedBatches >= 1
|
|
198
218
|
? "Repeated file reads or identical large command outputs detected. Do not switch to run_code/run_shell to dump the same file again. Filter/count locally and print only relevant rows, totals and source line numbers, or use a focused search. The runtime continues unfinished read_file scans automatically and returns use-findings after EOF. Use the retained outline to perform the user's task. Do not restart a whole-file scan after context compaction; answer once the requested evidence is sufficient."
|
|
@@ -67,7 +67,7 @@ function urlTarget(value) {
|
|
|
67
67
|
}
|
|
68
68
|
if (url.hostname === "github.com") {
|
|
69
69
|
const pr =
|
|
70
|
-
/^\/([^/]+\/[^/]+)\/(?:pulls\/?|pull\/(\d+)(?:\/(?:files|commits))?\/?|pull\/(\d+)\.(?:diff|patch))$/.exec(
|
|
70
|
+
/^\/([^/]+\/[^/]+)\/(?:pulls\/?|pull\/(\d+)(?:\/(?:files|commits|checks))?\/?|pull\/(\d+)\.(?:diff|patch))$/.exec(
|
|
71
71
|
url.pathname,
|
|
72
72
|
);
|
|
73
73
|
if (pr) return pullRequestTarget(pr[1], pr[2] || pr[3]);
|
|
@@ -221,6 +221,19 @@ export class RemoteReadLoopGuard {
|
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
record(tool, result, args = {}) {
|
|
224
|
+
if (result?.code === "CC_TOOL_RECOVERY_PAUSED") {
|
|
225
|
+
// A provider can ignore omitted tool definitions. Count that attempt
|
|
226
|
+
// without replacing the actual failure/evidence with our own denial.
|
|
227
|
+
const key = remoteReadTarget(tool, args)?.key || this.activeKey;
|
|
228
|
+
const entry = this.targets.get(key);
|
|
229
|
+
if (entry?.tool === tool && entry.repeats >= RECOVERY_AFTER) {
|
|
230
|
+
entry.repeats++;
|
|
231
|
+
entry.recoveryOffered = true;
|
|
232
|
+
this.activeKey = key;
|
|
233
|
+
this.revision++;
|
|
234
|
+
}
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
224
237
|
const failed = failedResult(result);
|
|
225
238
|
const policy = result?.shellCommandPolicy;
|
|
226
239
|
const gitRepositoryKey = `git-repository:${createHash("sha256")
|
|
@@ -302,15 +315,37 @@ export class RemoteReadLoopGuard {
|
|
|
302
315
|
highWater: result.offset + content.length,
|
|
303
316
|
}
|
|
304
317
|
: null;
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
318
|
+
// Keep coverage per snapshot: rotating PR details/files/checks or changing
|
|
319
|
+
// an already-read window's length does not produce new evidence. Intervals
|
|
320
|
+
// (not just a high-water mark) still allow reading previously skipped gaps.
|
|
321
|
+
const snapshots = previous?.snapshots || new Map();
|
|
322
|
+
const ranges = page ? snapshots.get(page.snapshotId) : null;
|
|
323
|
+
const covered =
|
|
324
|
+
page &&
|
|
325
|
+
ranges?.some(
|
|
326
|
+
([start, end]) => start <= page.offset && end >= page.highWater,
|
|
327
|
+
);
|
|
328
|
+
const advanced = page && ranges && !covered;
|
|
329
|
+
if (page) {
|
|
330
|
+
const merged = [];
|
|
331
|
+
for (const range of [
|
|
332
|
+
...(ranges || []),
|
|
333
|
+
[page.offset, page.highWater],
|
|
334
|
+
].sort((a, b) => a[0] - b[0])) {
|
|
335
|
+
const last = merged.at(-1);
|
|
336
|
+
if (last && last[1] >= range[0]) last[1] = Math.max(last[1], range[1]);
|
|
337
|
+
else merged.push([...range]);
|
|
338
|
+
}
|
|
339
|
+
snapshots.delete(page.snapshotId);
|
|
340
|
+
snapshots.set(page.snapshotId, merged.slice(-32));
|
|
341
|
+
while (snapshots.size > 16)
|
|
342
|
+
snapshots.delete(snapshots.keys().next().value);
|
|
343
|
+
}
|
|
309
344
|
// Changed error wording or switching web/gh must not buy another retry
|
|
310
345
|
// budget for the same failed target. Successful fresh evidence resets it.
|
|
311
346
|
const repeats = failed
|
|
312
347
|
? (previous?.repeats || 0) + 1
|
|
313
|
-
: target.github && digests.has(digest) && !advanced
|
|
348
|
+
: target.github && (covered || (digests.has(digest) && !advanced))
|
|
314
349
|
? previous.repeats + 1
|
|
315
350
|
: 0;
|
|
316
351
|
if (!failed) {
|
|
@@ -325,6 +360,7 @@ export class RemoteReadLoopGuard {
|
|
|
325
360
|
repeats,
|
|
326
361
|
digest,
|
|
327
362
|
digests,
|
|
363
|
+
snapshots,
|
|
328
364
|
page,
|
|
329
365
|
recoveryOffered: repeats > 0 && previous?.recoveryOffered === true,
|
|
330
366
|
evidence: excerpt(
|
|
@@ -398,6 +434,16 @@ export class RemoteReadLoopGuard {
|
|
|
398
434
|
|
|
399
435
|
get workflowHint() {
|
|
400
436
|
const active = this.targets.get(this.activeKey);
|
|
437
|
+
if (active?.github && !active.pullRequest) {
|
|
438
|
+
return (
|
|
439
|
+
"GitHub Actions investigation: use the retained run/job facts to identify the first failed step and its relevant local implementation. " +
|
|
440
|
+
"An aggregate or incomplete-matrix gate can be a downstream symptom; inspect the dependency jobs' conclusions before assuming that the gate itself is wrong. " +
|
|
441
|
+
"When a job is cancelled or logs are unavailable, record that fact and the command error; do not cycle through the same web page and log downloads. " +
|
|
442
|
+
"Use one focused run/job metadata query to resolve the missing status or cancellation reason, then inspect the relevant workflow and make the justified, authorized fix with validation. " +
|
|
443
|
+
"If available evidence cannot establish a fix, report the specific missing evidence and what was verified. Do not disable a release or safety gate just to make CI pass. " +
|
|
444
|
+
"For a research/review request, synthesize the findings without unsolicited edits; for monitoring, use status queries instead of repeated logs."
|
|
445
|
+
);
|
|
446
|
+
}
|
|
401
447
|
if (
|
|
402
448
|
!active?.pullRequest &&
|
|
403
449
|
!(
|
|
@@ -24,6 +24,8 @@ export const TASK_RECOVERY_TOOLS = [
|
|
|
24
24
|
"todo_write",
|
|
25
25
|
"spawn_sub_agent",
|
|
26
26
|
"tool_search",
|
|
27
|
+
"web_fetch",
|
|
28
|
+
"web_search",
|
|
27
29
|
];
|
|
28
30
|
|
|
29
31
|
// The runtime admits at most 32 spawned agents plus the root. Keep bounded
|
|
@@ -34,6 +36,27 @@ function boundedText(value, limit) {
|
|
|
34
36
|
return typeof value === "string" ? value.slice(0, limit) : "";
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
// Status queries remain executable (including intentional monitoring), but
|
|
40
|
+
// fetching a different status page is not an implementation or verification.
|
|
41
|
+
// Classification affects progress guidance only, never command authorization.
|
|
42
|
+
function isRemoteInspectionCommand(command) {
|
|
43
|
+
if (typeof command !== "string") return false;
|
|
44
|
+
if (
|
|
45
|
+
/(?:^|[\s;&|])gh(?:\.exe)?\s+(?:run\s+(?:view|list|watch)|pr\s+(?:view|list|diff|checks)|auth\s+status)\b/i.test(
|
|
46
|
+
command,
|
|
47
|
+
)
|
|
48
|
+
)
|
|
49
|
+
return true;
|
|
50
|
+
return (
|
|
51
|
+
/(?:^|[\s;&|])gh(?:\.exe)?\s+api\s/i.test(command) &&
|
|
52
|
+
/(?:https:\/\/api\.github\.com\/)?\/?repos\/[\w.-]+\/[\w.-]+\/(?:actions|pulls|compare|releases|commits|check-runs|check-suites)\b/i.test(
|
|
53
|
+
command,
|
|
54
|
+
) &&
|
|
55
|
+
!/(?:^|\s)(?:--method|-X)(?:=|\s*)["']?(?!GET\b)\w+/i.test(command) &&
|
|
56
|
+
!/(?:^|\s)(?:(?:--field|--raw-field|--input)(?:=|\s)|-[fF])/.test(command)
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
37
60
|
function remember(map, key, value, limit) {
|
|
38
61
|
map.delete(key);
|
|
39
62
|
map.set(key, value);
|
|
@@ -44,7 +67,7 @@ function remember(map, key, value, limit) {
|
|
|
44
67
|
* Run-tree exploration accounting, separate from file coverage and permissions.
|
|
45
68
|
* This object is shared by parent/child loops, not serialized into model input.
|
|
46
69
|
* New file pages advance coverage but do not reset the exploration counter.
|
|
47
|
-
* Interventions are advisory /
|
|
70
|
+
* Interventions are advisory / progress-scoped tool narrowing, never completion
|
|
48
71
|
* verdicts or a hard deadline for legitimate research and monitoring tasks.
|
|
49
72
|
*/
|
|
50
73
|
export class TaskProgressTracker {
|
|
@@ -57,6 +80,7 @@ export class TaskProgressTracker {
|
|
|
57
80
|
this.plans = new Map();
|
|
58
81
|
this.childFindings = new Map();
|
|
59
82
|
this.lastActions = [];
|
|
83
|
+
this.remoteInspections = [];
|
|
60
84
|
}
|
|
61
85
|
|
|
62
86
|
retainChildResult(id, result, owner = "root") {
|
|
@@ -120,8 +144,29 @@ export class TaskProgressTracker {
|
|
|
120
144
|
// fingerprints affect guidance only: every authorized command still runs.
|
|
121
145
|
const output = boundedText(result?.output ?? result?.stdout, 30000);
|
|
122
146
|
const digest = createHash("sha256").update(output).digest("hex");
|
|
147
|
+
const remoteInspection =
|
|
148
|
+
tool === "run_shell" && isRemoteInspectionCommand(args.command);
|
|
149
|
+
if (remoteInspection) {
|
|
150
|
+
// A status observation is still useful evidence after compaction. Keep
|
|
151
|
+
// it apart from actions so remembering it never resets recovery.
|
|
152
|
+
const owned = [
|
|
153
|
+
...this.remoteInspections.filter((entry) => entry.owner === owner),
|
|
154
|
+
{
|
|
155
|
+
owner,
|
|
156
|
+
command: boundedText(args.command, 320),
|
|
157
|
+
output: boundedText(output, 1200),
|
|
158
|
+
error: boundedText(result?.error || result?.stderr, 400),
|
|
159
|
+
failed,
|
|
160
|
+
},
|
|
161
|
+
].slice(-4);
|
|
162
|
+
this.remoteInspections = [
|
|
163
|
+
...this.remoteInspections.filter((entry) => entry.owner !== owner),
|
|
164
|
+
...owned,
|
|
165
|
+
].slice(-MAX_CHECKPOINT_OWNERS * 4);
|
|
166
|
+
}
|
|
123
167
|
exploration =
|
|
124
168
|
!!remoteReadTarget(tool, args) ||
|
|
169
|
+
remoteInspection ||
|
|
125
170
|
output.length >= 8000 ||
|
|
126
171
|
this.commandOutputs.has(digest);
|
|
127
172
|
if (!failed) remember(this.commandOutputs, digest, true, 64);
|
|
@@ -183,7 +228,9 @@ export class TaskProgressTracker {
|
|
|
183
228
|
"If evidence is insufficient, name the exact missing fact and use a focused search or bounded computation. " +
|
|
184
229
|
"Do not restart general investigation, rewrite the plan, or delegate the same research. " +
|
|
185
230
|
"A child exhausting its budget is not task completion. Preserve useful partial findings and continue the original task. " +
|
|
186
|
-
"
|
|
231
|
+
"During recovery, broad discovery stays paused until an actionable tool outcome; a focused search, another status query or a failed command does not end recovery. " +
|
|
232
|
+
"Use search_files for an exact missing local fact or run a bounded computation/verification, then act on the result. " +
|
|
233
|
+
"Never claim completion without satisfying the user's request.",
|
|
187
234
|
};
|
|
188
235
|
}
|
|
189
236
|
|
|
@@ -191,7 +238,8 @@ export class TaskProgressTracker {
|
|
|
191
238
|
if (
|
|
192
239
|
!this.plans.size &&
|
|
193
240
|
!this.childFindings.size &&
|
|
194
|
-
!this.lastActions.length
|
|
241
|
+
!this.lastActions.length &&
|
|
242
|
+
!this.remoteInspections.length
|
|
195
243
|
)
|
|
196
244
|
return null;
|
|
197
245
|
const checkpoint = {
|
|
@@ -199,6 +247,14 @@ export class TaskProgressTracker {
|
|
|
199
247
|
recentToolOutcomes: this.lastActions
|
|
200
248
|
.filter((entry) => entry.owner === owner)
|
|
201
249
|
.map(({ tool, path, output }) => ({ tool, path, output })),
|
|
250
|
+
recentRemoteInspections: this.remoteInspections
|
|
251
|
+
.filter((entry) => entry.owner === owner)
|
|
252
|
+
.map(({ command, output, error, failed }) => ({
|
|
253
|
+
command,
|
|
254
|
+
output,
|
|
255
|
+
error,
|
|
256
|
+
failed,
|
|
257
|
+
})),
|
|
202
258
|
reportedPlans: this.plans.has(owner)
|
|
203
259
|
? [{ todos: this.plans.get(owner) }]
|
|
204
260
|
: [],
|
|
@@ -210,6 +266,7 @@ export class TaskProgressTracker {
|
|
|
210
266
|
// material belongs to the loop that observed it or received the child result.
|
|
211
267
|
if (
|
|
212
268
|
!checkpoint.recentToolOutcomes.length &&
|
|
269
|
+
!checkpoint.recentRemoteInspections.length &&
|
|
213
270
|
!checkpoint.reportedPlans.length &&
|
|
214
271
|
!checkpoint.childFindings.length
|
|
215
272
|
)
|
|
@@ -218,6 +275,8 @@ export class TaskProgressTracker {
|
|
|
218
275
|
if (checkpoint.reportedPlans.length > 1) checkpoint.reportedPlans.pop();
|
|
219
276
|
else if (checkpoint.childFindings.length)
|
|
220
277
|
checkpoint.childFindings.shift();
|
|
278
|
+
else if (checkpoint.recentRemoteInspections.length)
|
|
279
|
+
checkpoint.recentRemoteInspections.shift();
|
|
221
280
|
else if (checkpoint.recentToolOutcomes.length)
|
|
222
281
|
checkpoint.recentToolOutcomes.shift();
|
|
223
282
|
else checkpoint.reportedPlans.pop();
|