chainlesschain 0.166.14 → 0.166.15
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-C8SyFhOo.js → AIOps-To-6rimH.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-Dup5gFK0.js → ActionButton-CpdCnTv3.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-8FyOWA7V.js → Analytics-DK7VNES_.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-DBzdU9dg.js → AppLayout-NZ5FvhCx.js} +5 -5
- package/src/assets/web-panel/assets/{Artifacts-C_0Z8gNy.js → Artifacts-NXceQPmN.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-Cf2a-58m.js → Audit-B2d64DH2.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-M7w-2zgB.js → BackgroundAgents-ByYgvEVY.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-CCTHQXoL.js → Backup-BXvQLDvN.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-DjXpeFwJ.js → BaseInput-C4GZk-As.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-cAvchsJU.js → Chat-CvPuohL8.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-DvEvxlZv.js → ChatBubbleRenderer-DTftcclX.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-DKs6qvOn.js → Checkbox-C8dQGIqD.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DlkA7b9X.js → Codegen-DRM6S1W4.js} +1 -1
- package/src/assets/web-panel/assets/{Col-CkfdKhyJ.js → Col-BDM8l-r5.js} +1 -1
- package/src/assets/web-panel/assets/{Community-iNXMHzj6.js → Community-Bvmfi1fX.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DQxPEd09.js → Compact-DGQTCima.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CSKvMCjs.js → Compliance-D_0C-2P6.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-CkWqazpD.js → Cowork-3C_q99ok.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-k6W8IzhB.js → Cron-CIiMQ1Hl.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-C8MS1OuY.js → Crosschain-peebGnES.js} +1 -1
- package/src/assets/web-panel/assets/{DID-DJuCcgiQ.js → DID-OkX4KB9T.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-LeThKzp3.js → Dashboard-D9lm0Wxa.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BvxwgpE4.js → Dropdown-CitActXx.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-n3e_a1M3.js → EmailListRenderer-DSmFkNKV.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-509W6W6v.js → FamilyGuardDashboard-CBWAi8XL.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-xgZReQm0.js → Federation-afj8jDcp.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-jZOhKcQx.js → FormItemContext-Dabt59KY.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-Jo0ULzHv.js → GenericCardRenderer-BQpXA9kj.js} +1 -1
- package/src/assets/web-panel/assets/{Git-BsRcyWQP.js → Git-D2p2Moo1.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-JlpMYTAk.js → Governance-DkFfPykv.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CUEz872-.js → Inference-C1DKpeN2.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-DgrvvEDU.js → KnowledgeGraph-CjfVg4oQ.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-Df-KY4U3.js → Logs-D-zMvdSf.js} +2 -2
- package/src/assets/web-panel/assets/MarkdownRenderer-jzEpGkbc.js +1 -0
- package/src/assets/web-panel/assets/{Marketplace-kPZDTOeI.js → Marketplace-DfAjJLyS.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-CRRzPqNX.js → McpTools-BGDHQES1.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-D6pNSkg9.js → Memory-BYqrGAPS.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-g-pvtwRC.js → MobileBridge-CQ6FEtty.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-Bzayfrfe.js → MobileProjects-BpMvh5JW.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-B7S3W-XL.js → Mtc-CWH25SrU.js} +2 -2
- package/src/assets/web-panel/assets/{MtcAudit-B8OMEWVb.js → MtcAudit-D6DiLmei.js} +2 -2
- package/src/assets/web-panel/assets/{Multisig-CowRp7GH.js → Multisig-BSxRN4jD.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-BkQNyi4c.js → NLProgramming-C0FDPKT4.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-Cm7gtkKz.js → Notes-VKR78bH-.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-CbPTVh9m.js → NotificationSettings-DLSklSZB.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-Dswi26mJ.js → OrderTableRenderer-Dpj7D6tC.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-BkjQ9yy7.js → Organization-BB3pB27e.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-DmRFXP7Y.js → Overflow-Cr7bzwcs.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-DQE1toAu.js → P2P-D1fkMMzI.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-BujyoDRG.js → PdhVaultBrowser-BiDEbLNA.js} +5 -5
- package/src/assets/web-panel/assets/{Permissions-xSjfOaiU.js → Permissions-c3Ijv0v4.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-B9ICLqVP.js → PersonalDataHub-BJwbh3P2.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-CUNwyN9E.js → Pipeline-C4fhXafB.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-SOoCricX.js → Privacy-DzSx3CD-.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CSaFul0F.js → ProjectInit-D9fL5fED.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-CueiB_oe.js → ProjectSettings-CB5FVrOR.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-BOeXvU7y.js → Projects-DWhwdgfY.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-CTqf_31h.js → Providers-B9ZH4faS.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-C8ZP31E9.js → QrScannerModal-BLKDHT8_.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-CPgn4713.js → QuickAsk-D1oYUcSY.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-8_e0zw0i.js → Recommend-CC2nmrOD.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-iT7lbGqw.js → RemoteSession-qW9QF4-r.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-B4q9SUOz.js → Reputation-BDWqfzcr.js} +1 -1
- package/src/assets/web-panel/assets/{Row-CA_nASyL.js → Row-BBV2iCjT.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-Cwb0E3yv.js → RssFeed-CcwrNwZB.js} +3 -3
- package/src/assets/web-panel/assets/{Search-D9iVsOxJ.js → Search-Dr6fZ0D_.js} +1 -1
- package/src/assets/web-panel/assets/{Security-DPLbYchG.js → Security-BPzaoCU6.js} +4 -4
- package/src/assets/web-panel/assets/{Services-DGMVL_LF.js → Services-BoKUU1I_.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-B_6kym0D.js → Skeleton-C8lT8GUg.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-Ds6r0dXB.js → Skills-DPpWeicz.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-BLHAbBhb.js → Sla-UiijzpMU.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-CZuddd14.js → SpeechSettings-DoofrLwS.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-CdBq7oSl.js → SyncSettings-DXnyfTDw.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-DfT60Nyl.js → Tasks-g_WHjKeg.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-RLfsKy2V.js → Templates-DRuCh9g2.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-Cw8xCNLE.js → Tenant-QHIq1pH1.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-BOUkNu4f.js → Terminal-G0fuI216.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-CgGZWaRm.js → TimelineRenderer-4MT7SpGk.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-CpwjVyir.js → Tokens-B5xT5umA.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-DL21H-eb.js → Trigger-D7HPbNgc.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-B3ffFclW.js → Trust-CxH69dU5.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-CkBeb5aI.js → UkeySign-CPPosveH.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-U2iVaE3r.js → VideoEditing-Du5lGwAt.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-CQk2wzYd.js → Wallet-BBIGNESK.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-DYIuIYzT.js → WebAuthn-Cc3HSGmv.js} +3 -3
- package/src/assets/web-panel/assets/{WorkflowEditor-tg1c2mZQ.js → WorkflowEditor-DBoVPNCh.js} +1 -1
- package/src/assets/web-panel/assets/{chat-CtL61spq.js → chat-DHcjgiem.js} +1 -1
- package/src/assets/web-panel/assets/{colors-DKpbeo8s.js → colors-DrRrvJIV.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-gPZsrswt.js → compact-item-BuY_sAoN.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-CfHlwzVr.js → createContext-CepH1Fha.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-DIb8j04q.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-MV47g_6X.js → hasIn-Dh80Ot6o.js} +1 -1
- package/src/assets/web-panel/assets/{index-ExAGPAnX.js → index-0TYLnd11.js} +1 -1
- package/src/assets/web-panel/assets/{index-fYcS7NS0.js → index-9crgJ3Id.js} +1 -1
- package/src/assets/web-panel/assets/{index-Zvkt9xqi.js → index-A5lVwYVq.js} +1 -1
- package/src/assets/web-panel/assets/{index-DU4rZpiK.js → index-B0rvJjId.js} +1 -1
- package/src/assets/web-panel/assets/{index-BQp5M0s1.js → index-B9Gh-SOn.js} +1 -1
- package/src/assets/web-panel/assets/index-BJc3t4PC.js +1 -0
- package/src/assets/web-panel/assets/{index-6G0ETFTW.js → index-BPDEOOlA.js} +1 -1
- package/src/assets/web-panel/assets/{index-DMMvlLp9.js → index-BW9Pycxh.js} +1 -1
- package/src/assets/web-panel/assets/{index-BN-wxSQ8.js → index-BiZQooWK.js} +1 -1
- package/src/assets/web-panel/assets/{index-yxxXlqBA.js → index-BnVIvc15.js} +1 -1
- package/src/assets/web-panel/assets/{index-Df9sWKpl.js → index-BoRy2yup.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ddcpj1El.js → index-BtqigRzf.js} +1 -1
- package/src/assets/web-panel/assets/{index-DGtEBodr.js → index-By0qqC3S.js} +1 -1
- package/src/assets/web-panel/assets/{index-C_B9LiKs.js → index-C10033eO.js} +1 -1
- package/src/assets/web-panel/assets/{index-CmPJpLoD.js → index-C5vhNRqS.js} +1 -1
- package/src/assets/web-panel/assets/{index-bSFrAszw.js → index-CEfVkKIY.js} +1 -1
- package/src/assets/web-panel/assets/{index-BjlPD7GO.js → index-CNQK9DIr.js} +1 -1
- package/src/assets/web-panel/assets/{index-CB1HnbNK.js → index-CUnd5hyp.js} +1 -1
- package/src/assets/web-panel/assets/{index-BOyGUuBE.js → index-CW_23-gU.js} +1 -1
- package/src/assets/web-panel/assets/{index-D1XB5-t5.js → index-CYydOga6.js} +1 -1
- package/src/assets/web-panel/assets/{index-C9RF4ieu.js → index-Ca5d64IH.js} +1 -1
- package/src/assets/web-panel/assets/{index-DnZ_zS1M.js → index-CiUx-tkV.js} +1 -1
- package/src/assets/web-panel/assets/index-CkksSUnI.js +1 -0
- package/src/assets/web-panel/assets/{index-xUlgG0Xe.js → index-CnRK8_Dd.js} +1 -1
- package/src/assets/web-panel/assets/{index-BBw52sEl.js → index-Cx21_p3m.js} +1 -1
- package/src/assets/web-panel/assets/{index-DfLyHCWi.js → index-D5_K3GKu.js} +1 -1
- package/src/assets/web-panel/assets/{index-CRv_uMLV.js → index-D6tOVlq-.js} +1 -1
- package/src/assets/web-panel/assets/{index-DsH-i_3d.js → index-D7lstbTh.js} +1 -1
- package/src/assets/web-panel/assets/{index-Rb7CRMw9.js → index-DRy3_beb.js} +1 -1
- package/src/assets/web-panel/assets/{index-D_Pl1GnW.js → index-DUNyTmkS.js} +1 -1
- package/src/assets/web-panel/assets/{index-DIeJmlAA.js → index-DWANFMlq.js} +1 -1
- package/src/assets/web-panel/assets/{index-CzfxTSPW.js → index-DYN49m7k.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cjv0kKCU.js → index-DkZP_QaB.js} +1 -1
- package/src/assets/web-panel/assets/{index-C6nC_DyY.js → index-DuRYBWrj.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dd19vRwy.js → index-DuSUCH7h.js} +1 -1
- package/src/assets/web-panel/assets/{index-CmM9jqwe.js → index-LBkSOwky.js} +1 -1
- package/src/assets/web-panel/assets/{index-srBc9U_s.js → index-NS9dW1F1.js} +1 -1
- package/src/assets/web-panel/assets/{index-C4lF-f_z.js → index-hYaigdGm.js} +1 -1
- package/src/assets/web-panel/assets/{index-C9gtY4nG.js → index-zGH9zH3w.js} +3 -3
- package/src/assets/web-panel/assets/{initDefaultProps-BeOZoSZ4.js → initDefaultProps-nI_X3wKl.js} +1 -1
- package/src/assets/web-panel/assets/{motion-BXE8VMKx.js → motion-LUHbQu_R.js} +1 -1
- package/src/assets/web-panel/assets/{move-I9sdvPGX.js → move-DHI_KvJt.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-d25zrJd0.js → mtc-parser-AYdL_7Mo.js} +1 -1
- package/src/assets/web-panel/assets/{omit-D71V_T4e.js → omit-CtV3HRKa.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-BNZKpIAR.js → pickAttrs-CcJLTOu4.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-jOcgxTTz.js → placementArrow-DHbiLUps.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-pta_O8AU.js → responsiveObserve-BC2DGkWP.js} +1 -1
- package/src/assets/web-panel/assets/{slide-Dlq6om7z.js → slide-B4ga4pPY.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-BnkO_yRv.js → statusUtils-hzphgKfH.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-p8NfWmcG.js → styleChecker-IfN9Bxoi.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-KcjZZ5U7.js → useFlexGapSupport-pcGKJ4pT.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-gqonDMWB.js → useFs-COXhQpTG.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-jIIfE4go.js → usePersonalDataHub-xp9F9szv.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-Dyo7fBrM.js → vnode-BdSQy1Ve.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-6l8BMg9W.js → zoom-CHCt5P55.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/commands/agent.js +62 -11
- package/src/commands/team.js +95 -3
- package/src/data/changelog.json +16 -3
- package/src/harness/worktree-isolator.js +74 -9
- package/src/lib/agent-team/team-graph-runtime-adapter.js +6 -0
- package/src/lib/agent-team/team-runner.js +4 -0
- package/src/lib/agent-team/team-worktree.js +4 -0
- package/src/lib/formal-quality-eval-runtime.js +92 -0
- package/src/lib/process-execution-broker/index.js +32 -0
- package/src/lib/process-execution-broker/platform-sandbox.js +5 -4
- package/src/lib/secure-fs.js +25 -2
- package/src/runtime/agent-core.js +17 -5
- package/src/runtime/headless-runner.js +16 -9
- package/src/assets/web-panel/assets/MarkdownRenderer-BEPDcSwz.js +0 -1
- package/src/assets/web-panel/assets/devWarning-DdqnMhzi.js +0 -1
- package/src/assets/web-panel/assets/index-BcK8o4ke.js +0 -1
- package/src/assets/web-panel/assets/index-DvbAjyYI.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as D,e as k,d as F,q as _,o as H,w as I,n as O,f as R,c as z,s as f}from"./vendor-Bn1JzzAn.js";import{B as p,D as j,F as C,P as q,G as A,H as G,h as v}from"./index-
|
|
1
|
+
import{b as D,e as k,d as F,q as _,o as H,w as I,n as O,f as R,c as z,s as f}from"./vendor-Bn1JzzAn.js";import{B as p,D as j,F as C,P as q,G as A,H as G,h as v}from"./index-zGH9zH3w.js";import{w as L}from"./raf-Deuc0E8-.js";let M=!1;try{const e=Object.defineProperty({},"passive",{get(){M=!0}});window.addEventListener("testPassive",null,e),window.removeEventListener("testPassive",null,e)}catch{}function te(e,n,o,t){if(e&&e.addEventListener){let r=t;r===void 0&&M&&(n==="touchstart"||n==="touchmove"||n==="wheel")&&(r={passive:!1}),e.addEventListener(n,o,r)}return{remove:()=>{e&&e.removeEventListener&&e.removeEventListener(n,o)}}}let g;function W(e){if(typeof document>"u")return 0;if(g===void 0){const n=document.createElement("div");n.style.width="100%",n.style.height="200px";const o=document.createElement("div"),t=o.style;t.position="absolute",t.top="0",t.left="0",t.pointerEvents="none",t.visibility="hidden",t.width="200px",t.height="150px",t.overflow="hidden",o.appendChild(n),document.body.appendChild(o);const r=n.offsetWidth;o.style.overflow="scroll";let a=n.offsetWidth;r===a&&(a=o.clientWidth),document.body.removeChild(o),g=r-a}return g}function N(e){const n=e.match(/^(.*)px$/),o=Number(n?.[1]);return Number.isNaN(o)?W():o}function ne(e){if(typeof document>"u"||!e||!(e instanceof Element))return{width:0,height:0};const{width:n,height:o}=getComputedStyle(e,"::-webkit-scrollbar");return{width:N(n),height:N(o)}}const T=`vc-util-locker-${Date.now()}`;let x=0;function V(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}function Q(e){const n=D(()=>!!e&&!!e.value);x+=1;const o=`${T}_${x}`;k(t=>{if(p()){if(n.value){const r=W(),a=V();j(`
|
|
2
2
|
html body {
|
|
3
3
|
overflow-y: hidden;
|
|
4
4
|
${a?`width: calc(100% - ${r}px);`:""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{K as t}from"./index-
|
|
1
|
+
import{K as t}from"./index-zGH9zH3w.js";import{i as s}from"./motion-LUHbQu_R.js";const m=new t("antMoveDownIn",{"0%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),f=new t("antMoveDownOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, 100%, 0)",transformOrigin:"0 0",opacity:0}}),c=new t("antMoveLeftIn",{"0%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),y=new t("antMoveLeftOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(-100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),p=new t("antMoveRightIn",{"0%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),O=new t("antMoveRightOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(100%, 0, 0)",transformOrigin:"0 0",opacity:0}}),g=new t("antMoveUpIn",{"0%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1}}),v=new t("antMoveUpOut",{"0%":{transform:"translate3d(0, 0, 0)",transformOrigin:"0 0",opacity:1},"100%":{transform:"translate3d(0, -100%, 0)",transformOrigin:"0 0",opacity:0}}),l={"move-up":{inKeyframes:g,outKeyframes:v},"move-down":{inKeyframes:m,outKeyframes:f},"move-left":{inKeyframes:c,outKeyframes:y},"move-right":{inKeyframes:p,outKeyframes:O}},w=(n,a)=>{const{antCls:o}=n,r=`${o}-${a}`,{inKeyframes:i,outKeyframes:e}=l[a];return[s(r,i,e,n.motionDurationMid),{[`
|
|
2
2
|
${r}-enter,
|
|
3
3
|
${r}-appear
|
|
4
4
|
`]:{opacity:0,animationTimingFunction:n.motionEaseOutCirc},[`${r}-leave`]:{animationTimingFunction:n.motionEaseInOutCirc}}]};export{w as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as s}from"./index-
|
|
1
|
+
import{t as s}from"./index-zGH9zH3w.js";const i=Object.freeze({ok:!1,config:{enabled:!1,batch_interval_seconds:3600,namespace_prefix:"",issuer:""},staging:{count:0,malformed:0,oldest_queued_at:null},batches:{count:0,last_batch_id:null,last_closed_at:null,last_tree_size:null,last_tree_head_id:null}});function n(r,t=0){return typeof r=="number"&&Number.isFinite(r)?r:t}function a(r,t=""){return typeof r=="string"?r:t}function f(r){const t=JSON.parse(JSON.stringify(i)),e=r&&typeof r=="object"&&!Array.isArray(r)?r:s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=!0,e.config&&typeof e.config=="object"&&(t.config.enabled=e.config.enabled===!0,t.config.batch_interval_seconds=n(e.config.batch_interval_seconds,t.config.batch_interval_seconds),t.config.namespace_prefix=a(e.config.namespace_prefix),t.config.issuer=a(e.config.issuer)),e.staging&&typeof e.staging=="object"&&(t.staging.count=n(e.staging.count,0),t.staging.malformed=n(e.staging.malformed,0),t.staging.oldest_queued_at=e.staging.oldest_queued_at??null),e.batches&&typeof e.batches=="object"&&(t.batches.count=n(e.batches.count,0),t.batches.last_batch_id=e.batches.last_batch_id??null,t.batches.last_closed_at=e.batches.last_closed_at??null,t.batches.last_tree_size=e.batches.last_tree_size??null,t.batches.last_tree_head_id=e.batches.last_tree_head_id??null)),t}const o=Object.freeze({ok:!1,exists:!1,stateFile:"",lastSeq:0,lastFingerprint:null,lastPublishedAt:null,historyCount:0,history:[]});function l(r){if(!r||typeof r!="object")return null;const t=a(r.seq);return t?{key:t,seq:t,namespace:a(r.namespace),treeHeadId:a(r.tree_head_id),rootHash:a(r.root_hash),treeSize:n(r.tree_size,0),fingerprint:a(r.fingerprint),publishedAt:a(r.published_at),batchDir:a(r.batch_dir)}:null}function _(r){const t=JSON.parse(JSON.stringify(o)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.ok=e.ok===!0,t.exists=e.exists===!0,t.stateFile=a(e.state_file),!t.exists)||(t.lastSeq=n(e.last_seq,0),t.lastFingerprint=e.last_fingerprint??null,t.lastPublishedAt=e.last_published_at??null,t.historyCount=n(e.history_count,0),Array.isArray(e.history)&&(t.history=e.history.map(l).filter(Boolean))),t}const u=Object.freeze({ok:!1,code:"",recoverable:!1,leaf:null,treeHead:null,raw:null});function d(r){const t=JSON.parse(JSON.stringify(u)),e=s(r);return!e||typeof e!="object"||Array.isArray(e)||(t.raw=e,t.ok=e.ok===!0,t.code=a(e.code,e.reason||""),t.recoverable=e.recoverable===!0,e.leaf&&typeof e.leaf=="object"&&(t.leaf=e.leaf),e.treeHead&&typeof e.treeHead=="object"&&(t.treeHead=e.treeHead)),t}function h(r){return typeof r!="number"||!Number.isFinite(r)||r<=0?"—":r<60?`${r}s`:r<3600?`${Math.round(r/60)}min`:`${Math.round(r/3600)}h`}function b(r){if(!r)return"—";const t=new Date(r);return isNaN(t.getTime())?r:t.toLocaleString("zh-CN",{hour12:!1})}function g(r){if(!r)return"—";const t=Date.parse(r);if(isNaN(t))return r;const e=Math.round((Date.now()-t)/1e3);return e<60?`${e}s 前`:e<3600?`${Math.round(e/60)}min 前`:e<86400?`${Math.round(e/3600)}h 前`:`${Math.round(e/86400)}d 前`}export{f as a,_ as b,b as c,h as d,g as f,d as p};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s}from"./index-
|
|
1
|
+
import{h as s}from"./index-zGH9zH3w.js";function a(n,t){const e=s({},n);for(let o=0;o<t.length;o+=1){const r=t[o];delete e[r]}return e}export{a as o};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-zGH9zH3w.js";const l=`accept acceptcharset accesskey action allowfullscreen allowtransparency
|
|
2
2
|
alt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge
|
|
3
3
|
charset checked classid classname colspan cols content contenteditable contextmenu
|
|
4
4
|
controls coords crossorigin data datetime default defer dir disabled download draggable
|
package/src/assets/web-panel/assets/{placementArrow-jOcgxTTz.js → placementArrow-DHbiLUps.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-zGH9zH3w.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-pta_O8AU.js → responsiveObserve-BC2DGkWP.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as o,h}from"./index-
|
|
1
|
+
import{J as o,h}from"./index-zGH9zH3w.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-zGH9zH3w.js";import{i as e}from"./motion-LUHbQu_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-zGH9zH3w.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-zGH9zH3w.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-KcjZZ5U7.js → useFlexGapSupport-pcGKJ4pT.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-IfN9Bxoi.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-zGH9zH3w.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-zGH9zH3w.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-zGH9zH3w.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-zGH9zH3w.js";import{i as f}from"./motion-LUHbQu_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-zGH9zH3w.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/commands/agent.js
CHANGED
|
@@ -30,6 +30,11 @@ import {
|
|
|
30
30
|
transformBackgroundLaunchArgv,
|
|
31
31
|
} from "../lib/background-command-argv.js";
|
|
32
32
|
import { resolveSessionBudgetRootOptions } from "../lib/session-budget-production-root.js";
|
|
33
|
+
import {
|
|
34
|
+
formalQualityAllowedFiles,
|
|
35
|
+
formalQualityProvider,
|
|
36
|
+
isFormalQualityHermeticRuntime,
|
|
37
|
+
} from "../lib/formal-quality-eval-runtime.js";
|
|
33
38
|
import { withQuietStdout } from "../runtime/quiet-stdout.js";
|
|
34
39
|
import { resolveCredentialEnvironmentValue } from "../lib/process-execution-broker/credential-transport.js";
|
|
35
40
|
import {
|
|
@@ -631,6 +636,28 @@ export function registerAgentCommand(program) {
|
|
|
631
636
|
false,
|
|
632
637
|
)
|
|
633
638
|
.action(async (task, options, command) => {
|
|
639
|
+
const formalQualityHermetic = isFormalQualityHermeticRuntime(process.env);
|
|
640
|
+
if (formalQualityHermetic) {
|
|
641
|
+
const provider = formalQualityProvider(process.env);
|
|
642
|
+
if (!provider) {
|
|
643
|
+
process.stderr.write(
|
|
644
|
+
"Error: formal quality hermetic runtime requires CC_FORMAL_QUALITY_EVAL_PROVIDER.\n",
|
|
645
|
+
);
|
|
646
|
+
process.exitCode = 1;
|
|
647
|
+
return;
|
|
648
|
+
}
|
|
649
|
+
if (
|
|
650
|
+
options.provider &&
|
|
651
|
+
String(options.provider).trim().toLowerCase() !== provider
|
|
652
|
+
) {
|
|
653
|
+
process.stderr.write(
|
|
654
|
+
"Error: formal quality provider does not match the evaluated command.\n",
|
|
655
|
+
);
|
|
656
|
+
process.exitCode = 1;
|
|
657
|
+
return;
|
|
658
|
+
}
|
|
659
|
+
options.provider = provider;
|
|
660
|
+
}
|
|
634
661
|
// These variables select canonical config/session storage. Capture and
|
|
635
662
|
// validate them before any project settings file can merge an arbitrary
|
|
636
663
|
// `env` map; settings remain useful for child tools but never acquire
|
|
@@ -1195,16 +1222,22 @@ export function registerAgentCommand(program) {
|
|
|
1195
1222
|
}
|
|
1196
1223
|
assertSandboxAvailable(resolvedAgentSandbox);
|
|
1197
1224
|
if (options.sandboxMode === "off") {
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1225
|
+
// The formal quality harness runs in an isolated temporary home and
|
|
1226
|
+
// emits no durable session/config data. Avoid turning its explicit
|
|
1227
|
+
// policy-only sandbox choice into repeated Windows ACL initialization;
|
|
1228
|
+
// the normal user-facing audit path remains unchanged.
|
|
1229
|
+
if (!formalQualityHermetic) {
|
|
1230
|
+
appendSecurityAuditEvent("sandbox_mode_off", {
|
|
1231
|
+
details: {
|
|
1232
|
+
command: "agent",
|
|
1233
|
+
permissionMode: options.permissionMode || "default",
|
|
1234
|
+
isolation: "policy-only",
|
|
1235
|
+
},
|
|
1236
|
+
});
|
|
1237
|
+
process.stderr.write(
|
|
1238
|
+
"Warning: sandbox mode is explicitly off; shell commands use policy checks without OS isolation.\n",
|
|
1239
|
+
);
|
|
1240
|
+
}
|
|
1208
1241
|
}
|
|
1209
1242
|
} catch (err) {
|
|
1210
1243
|
process.stderr.write(`Error: ${err.message}\n`);
|
|
@@ -1679,6 +1712,12 @@ export function registerAgentCommand(program) {
|
|
|
1679
1712
|
const maxTurns = options.maxTurns
|
|
1680
1713
|
? parseInt(options.maxTurns, 10)
|
|
1681
1714
|
: undefined;
|
|
1715
|
+
const formalAllowedFiles = formalQualityAllowedFiles(process.env);
|
|
1716
|
+
const formalWorktreeRoot = formalAllowedFiles
|
|
1717
|
+
? path.resolve(
|
|
1718
|
+
(fs.realpathSync.native || fs.realpathSync)(process.cwd()),
|
|
1719
|
+
)
|
|
1720
|
+
: null;
|
|
1682
1721
|
const headlessOptions = {
|
|
1683
1722
|
prompt,
|
|
1684
1723
|
images,
|
|
@@ -1779,7 +1818,19 @@ export function registerAgentCommand(program) {
|
|
|
1779
1818
|
settingsFile: options.settings || null,
|
|
1780
1819
|
outputStyle: options.outputStyle || null,
|
|
1781
1820
|
// --ephemeral: no session persistence (resume replay stays read-only)
|
|
1782
|
-
ephemeral: options.ephemeral === true,
|
|
1821
|
+
ephemeral: options.ephemeral === true || formalQualityHermetic,
|
|
1822
|
+
// Formal control and candidate children share the existing hermetic
|
|
1823
|
+
// headless boundary: no config/plugin/DB bootstrap, hooks, MCP
|
|
1824
|
+
// discovery, or ambient external tools.
|
|
1825
|
+
hermeticExecution: formalQualityHermetic,
|
|
1826
|
+
exactToolNames: formalQualityHermetic,
|
|
1827
|
+
fileMutationScope: formalAllowedFiles
|
|
1828
|
+
? Object.freeze({
|
|
1829
|
+
exact: true,
|
|
1830
|
+
worktreeRoot: formalWorktreeRoot,
|
|
1831
|
+
allowedPaths: formalAllowedFiles,
|
|
1832
|
+
})
|
|
1833
|
+
: null,
|
|
1783
1834
|
// --max-budget-usd: hard spend cap (+ price table from config llm.pricing)
|
|
1784
1835
|
maxCostUsd,
|
|
1785
1836
|
priceTable,
|
package/src/commands/team.js
CHANGED
|
@@ -74,6 +74,11 @@ import {
|
|
|
74
74
|
SecureFileIdentityError,
|
|
75
75
|
withTrustedFileParentSync,
|
|
76
76
|
} from "../lib/secure-file-identity.js";
|
|
77
|
+
import {
|
|
78
|
+
FORMAL_QUALITY_ALLOWED_FILES_ENV,
|
|
79
|
+
formalQualityTaskAllowedFiles,
|
|
80
|
+
isFormalQualityHermeticRuntime,
|
|
81
|
+
} from "../lib/formal-quality-eval-runtime.js";
|
|
77
82
|
|
|
78
83
|
export const _deps = {
|
|
79
84
|
spawn: (...args) => executionBroker.spawn(...args),
|
|
@@ -788,6 +793,35 @@ export function buildTeamAgentPrompt(prompt, { inbox = [] } = {}) {
|
|
|
788
793
|
].join("\n");
|
|
789
794
|
}
|
|
790
795
|
|
|
796
|
+
export function formalQualityAgentWorkingDirectory(
|
|
797
|
+
worktreeRoot,
|
|
798
|
+
task,
|
|
799
|
+
environment = process.env,
|
|
800
|
+
) {
|
|
801
|
+
const root = path.resolve(worktreeRoot);
|
|
802
|
+
if (!isFormalQualityHermeticRuntime(environment)) return root;
|
|
803
|
+
const scopes = task?.metadata?.scopePaths;
|
|
804
|
+
if (!Array.isArray(scopes) || scopes.length !== 1) {
|
|
805
|
+
throw new Error(
|
|
806
|
+
"Formal quality teammate requires exactly one declared scopePath",
|
|
807
|
+
);
|
|
808
|
+
}
|
|
809
|
+
const scoped = path.resolve(root, String(scopes[0] || ""));
|
|
810
|
+
const relation = path.relative(root, scoped);
|
|
811
|
+
if (
|
|
812
|
+
!relation ||
|
|
813
|
+
relation === ".." ||
|
|
814
|
+
relation.startsWith(`..${path.sep}`) ||
|
|
815
|
+
path.isAbsolute(relation) ||
|
|
816
|
+
!fs.statSync(scoped).isDirectory()
|
|
817
|
+
) {
|
|
818
|
+
throw new Error(
|
|
819
|
+
"Formal quality teammate scopePath must resolve to an existing worktree subdirectory",
|
|
820
|
+
);
|
|
821
|
+
}
|
|
822
|
+
return scoped;
|
|
823
|
+
}
|
|
824
|
+
|
|
791
825
|
function normalizePermissionMode(value) {
|
|
792
826
|
const mode = String(value || "acceptEdits");
|
|
793
827
|
const allowed = new Set([
|
|
@@ -876,6 +910,19 @@ export function loadRegistry(file, { ttlMs } = {}) {
|
|
|
876
910
|
`task "${task.key}" scopePaths must be an array of at most 128 paths`,
|
|
877
911
|
);
|
|
878
912
|
}
|
|
913
|
+
if (
|
|
914
|
+
task.formalQualityAllowedFiles !== undefined &&
|
|
915
|
+
(!Array.isArray(task.formalQualityAllowedFiles) ||
|
|
916
|
+
task.formalQualityAllowedFiles.length === 0 ||
|
|
917
|
+
task.formalQualityAllowedFiles.length > 16 ||
|
|
918
|
+
task.formalQualityAllowedFiles.some(
|
|
919
|
+
(file) => typeof file !== "string" || file.length === 0,
|
|
920
|
+
))
|
|
921
|
+
) {
|
|
922
|
+
throw new Error(
|
|
923
|
+
`task "${task.key}" formalQualityAllowedFiles must be a non-empty array of at most 16 paths`,
|
|
924
|
+
);
|
|
925
|
+
}
|
|
879
926
|
for (const field of ["command", "prompt"]) {
|
|
880
927
|
if (task[field] !== undefined && typeof task[field] !== "string") {
|
|
881
928
|
throw new Error(`task "${task.key}" ${field} must be a string`);
|
|
@@ -921,6 +968,9 @@ export function loadRegistry(file, { ttlMs } = {}) {
|
|
|
921
968
|
agent: t.agent || null,
|
|
922
969
|
policy: t.policy || null,
|
|
923
970
|
scopePaths: Array.isArray(t.scopePaths) ? t.scopePaths : [],
|
|
971
|
+
formalQualityAllowedFiles: Array.isArray(t.formalQualityAllowedFiles)
|
|
972
|
+
? t.formalQualityAllowedFiles
|
|
973
|
+
: [],
|
|
924
974
|
idempotencyKey: t.idempotencyKey || null,
|
|
925
975
|
retrySafe: t.retrySafe === true,
|
|
926
976
|
sparsePaths: t.sparsePaths || null,
|
|
@@ -1078,6 +1128,7 @@ export function makeShellRunTask() {
|
|
|
1078
1128
|
/** Spawn a headless `cc agent -p` for one prompt in `cwd`; resolve on exit 0. */
|
|
1079
1129
|
function spawnAgentProcess(prompt, cwd, opts = {}) {
|
|
1080
1130
|
return new Promise((resolve, reject) => {
|
|
1131
|
+
const formalQualityHermetic = isFormalQualityHermeticRuntime(process.env);
|
|
1081
1132
|
const parser = new TeamAgentStreamParser({
|
|
1082
1133
|
maxLineBytes: opts.maxStreamLineBytes,
|
|
1083
1134
|
maxTotalBytes: opts.maxStreamTotalBytes,
|
|
@@ -1091,7 +1142,23 @@ function spawnAgentProcess(prompt, cwd, opts = {}) {
|
|
|
1091
1142
|
"stream-json",
|
|
1092
1143
|
];
|
|
1093
1144
|
if (opts.model) args.push("--model", opts.model);
|
|
1094
|
-
if (opts.sessionId
|
|
1145
|
+
if (opts.sessionId && !formalQualityHermetic) {
|
|
1146
|
+
args.push("--session", opts.sessionId);
|
|
1147
|
+
}
|
|
1148
|
+
if (formalQualityHermetic) {
|
|
1149
|
+
args.push(
|
|
1150
|
+
"--ephemeral",
|
|
1151
|
+
"--bare",
|
|
1152
|
+
"--no-checkpoint",
|
|
1153
|
+
"--output-style",
|
|
1154
|
+
"concise",
|
|
1155
|
+
"--allowed-tools",
|
|
1156
|
+
"read_file,list_dir,search_files,write_file,edit_file,edit_file_hashed",
|
|
1157
|
+
);
|
|
1158
|
+
}
|
|
1159
|
+
if (opts.sandboxMode) {
|
|
1160
|
+
args.push("--sandbox-mode", opts.sandboxMode);
|
|
1161
|
+
}
|
|
1095
1162
|
if (opts.checkpointRequired === true) args.push("--checkpoint");
|
|
1096
1163
|
if (Number(opts.maxTurns) > 0) {
|
|
1097
1164
|
args.push("--max-turns", String(opts.maxTurns));
|
|
@@ -1377,7 +1444,9 @@ function spawnAgentProcess(prompt, cwd, opts = {}) {
|
|
|
1377
1444
|
}
|
|
1378
1445
|
|
|
1379
1446
|
export function spawnAgent(prompt, cwd, opts = {}) {
|
|
1380
|
-
if (!opts.messageBridge
|
|
1447
|
+
if (!opts.messageBridge || isFormalQualityHermeticRuntime(process.env)) {
|
|
1448
|
+
return spawnAgentProcess(prompt, cwd, opts);
|
|
1449
|
+
}
|
|
1381
1450
|
return (async () => {
|
|
1382
1451
|
let bridge;
|
|
1383
1452
|
try {
|
|
@@ -1456,6 +1525,7 @@ export function makeAgentRunTask(opts = {}) {
|
|
|
1456
1525
|
);
|
|
1457
1526
|
return spawnAgent(buildTeamAgentPrompt(prompt, { inbox }), process.cwd(), {
|
|
1458
1527
|
...effectiveContract,
|
|
1528
|
+
sandboxMode: opts.sandboxMode,
|
|
1459
1529
|
sessionId: opts.sessionIdForTask?.(key, task) || null,
|
|
1460
1530
|
signal,
|
|
1461
1531
|
...(mailbox && holder
|
|
@@ -2001,6 +2071,10 @@ export function registerTeamCommand(program, { logger } = {}) {
|
|
|
2001
2071
|
.option("--agent-max-turns <n>", "Per-agent task turn cap")
|
|
2002
2072
|
.option("--agent-max-budget-usd <amount>", "Per-agent task cost cap")
|
|
2003
2073
|
.option("--agent-max-tokens <n>", "Per-agent task token cap")
|
|
2074
|
+
.option(
|
|
2075
|
+
"--agent-sandbox-mode <mode>",
|
|
2076
|
+
"Sandbox posture for each --agent task: off | workspace-write | strict",
|
|
2077
|
+
)
|
|
2004
2078
|
.option(
|
|
2005
2079
|
"--agent-max-wall <seconds>",
|
|
2006
2080
|
"Per-agent task wall-clock cap in seconds",
|
|
@@ -2799,6 +2873,10 @@ export function registerTeamCommand(program, { logger } = {}) {
|
|
|
2799
2873
|
}),
|
|
2800
2874
|
graphAuthorityMode,
|
|
2801
2875
|
graphAuthority: graphRuntime?.status() || null,
|
|
2876
|
+
graphTraceProjection:
|
|
2877
|
+
graphRuntime?.status()?.phase === "open"
|
|
2878
|
+
? null
|
|
2879
|
+
: graphRuntime?.traceProjection() || null,
|
|
2802
2880
|
graphShadowDivergences: [...shadowDivergences],
|
|
2803
2881
|
});
|
|
2804
2882
|
};
|
|
@@ -2907,9 +2985,13 @@ export function registerTeamCommand(program, { logger } = {}) {
|
|
|
2907
2985
|
taskContractFor(key, task),
|
|
2908
2986
|
budgetReservation,
|
|
2909
2987
|
);
|
|
2988
|
+
const agentCwd = formalQualityAgentWorkingDirectory(cwd, task);
|
|
2989
|
+
const formalAllowedFiles = formalQualityTaskAllowedFiles(
|
|
2990
|
+
task.metadata?.formalQualityAllowedFiles,
|
|
2991
|
+
);
|
|
2910
2992
|
return spawnAgent(
|
|
2911
2993
|
buildTeamAgentPrompt(prompt, { inbox }),
|
|
2912
|
-
|
|
2994
|
+
agentCwd,
|
|
2913
2995
|
{
|
|
2914
2996
|
...contract,
|
|
2915
2997
|
// The outer worktree transaction is the workspace
|
|
@@ -2919,6 +3001,15 @@ export function registerTeamCommand(program, { logger } = {}) {
|
|
|
2919
3001
|
? false
|
|
2920
3002
|
: contract.checkpointRequired,
|
|
2921
3003
|
managedCheckpoint,
|
|
3004
|
+
sandboxMode: options.agentSandboxMode,
|
|
3005
|
+
...(formalAllowedFiles
|
|
3006
|
+
? {
|
|
3007
|
+
childEnv: {
|
|
3008
|
+
[FORMAL_QUALITY_ALLOWED_FILES_ENV]:
|
|
3009
|
+
JSON.stringify(formalAllowedFiles),
|
|
3010
|
+
},
|
|
3011
|
+
}
|
|
3012
|
+
: {}),
|
|
2922
3013
|
sessionId: collaborationUnits.get(
|
|
2923
3014
|
sessionTaskKeyFor(key, task),
|
|
2924
3015
|
)?.sessionId,
|
|
@@ -2961,6 +3052,7 @@ export function registerTeamCommand(program, { logger } = {}) {
|
|
|
2961
3052
|
collaborationUnits.get(sessionTaskKeyFor(key, task))?.sessionId,
|
|
2962
3053
|
onMailboxMutation: persist,
|
|
2963
3054
|
mailboxDurable: Boolean(options.state),
|
|
3055
|
+
sandboxMode: options.agentSandboxMode,
|
|
2964
3056
|
});
|
|
2965
3057
|
else runTask = async () => ({ dryRun: true });
|
|
2966
3058
|
|
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.15",
|
|
7
|
+
"cliVersions": ["0.166.14", "0.166.15"],
|
|
8
|
+
"date": "2026-08-31",
|
|
9
|
+
"title": "",
|
|
10
|
+
"sections": [
|
|
11
|
+
{
|
|
12
|
+
"heading": "Fixed - cc CLI 0.166.15: align the formal quality file-tool ceiling",
|
|
13
|
+
"body": "> `chainlesschain` **0.166.14 -> 0.166.15** (hotfix candidate, 2026-08-31).\n\n- **Formal quality startup restored**: the exact hermetic file-tool ceiling now\n admits the same read, list, search, write, and edit tools exposed by the\n protected single-Agent and Graph candidate harness, so all platforms can\n advance past preflight into the real-model evaluation.\n- **One canonical tool contract**: the headless runtime and formal quality\n producer consume one frozen tool list, while the agent-loop regression proves\n the complete list remains inside the fail-closed exact mutation boundary.\n- **No shell or network widening**: `run_shell`, `run_code`, Git, MCP, plugin,\n IDE, and sub-agent tools remain unavailable; writes are still limited to the\n task's exact allowed files.\n- **Release validation required**: publish only after this exact release commit\n passes CLI CI and CLI Strict Sandbox on Linux, Windows, and macOS and the\n protected quality workflow completes its full matrix and OIDC aggregate."
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
4
17
|
{
|
|
5
18
|
"productVersion": null,
|
|
6
19
|
"cliVersion": "0.166.14",
|
|
@@ -10,7 +23,7 @@
|
|
|
10
23
|
"sections": [
|
|
11
24
|
{
|
|
12
25
|
"heading": "Fixed - cc CLI 0.166.14: restore Docker-optional startup on Windows",
|
|
13
|
-
"body": "> `chainlesschain` **0.166.13 -> 0.166.14
|
|
26
|
+
"body": "> `chainlesschain` **0.166.13 -> 0.166.14**, published 2026-08-30 from exact\n> commit `ee88125256b5de8281be0a8e57157811bb80c105` under immutable tag\n> `v-npm-0-166-14`.\n\n- **Docker remains opt-in**: a normal agent session no longer probes or\n requires Docker unless the CLI flag, settings, or managed policy explicitly\n selects container isolation.\n- **Windows executable lookup**: bare commands resolve through `PATHEXT`\n before launch, so Docker Desktop's POSIX `docker` script cannot shadow\n `docker.exe` and trigger `CreateProcessAsUser` error 193.\n- **Explicit isolation stays fail-closed**: `workspace-write`, `strict`, and\n managed sandbox requirements still reject unavailable engines instead of\n silently degrading.\n- **Release validation**: the exact release commit passed every configured\n Linux, Windows, and macOS job in `CLI CI` and `CLI Strict Sandbox`, then\n completed npm Trusted Publishing and public-registry readback. This is the\n current public CLI baseline; later Graph/Team quality-harness commits on\n `main` remain source-only until a newer immutable release passes the same\n gates."
|
|
14
27
|
}
|
|
15
28
|
]
|
|
16
29
|
},
|
|
@@ -23,7 +36,7 @@
|
|
|
23
36
|
"sections": [
|
|
24
37
|
{
|
|
25
38
|
"heading": "Fixed - cc CLI 0.166.13 and Session Core 0.3.8: fail-closed P0 security closure",
|
|
26
|
-
"body": "> `chainlesschain` **0.166.12 -> 0.166.13** and Session Core\n> **0.3.7 -> 0.3.8
|
|
39
|
+
"body": "> `chainlesschain` **0.166.12 -> 0.166.13** and Session Core\n> **0.3.7 -> 0.3.8**, published 2026-08-30; the CLI release commit is\n> `d44374e576e5426eb419537bef15ae83385daf05` under immutable tag\n> `v-npm-0-166-13` and is superseded by public CLI `0.166.14`.\n\n- **Fixed renderer IPC capabilities**: remove the environment-controlled\n generic bridge bypass and generate an exact renderer/main capability\n manifest that fails the Desktop build when it drifts.\n- **Default sandbox and approval boundary**: restore workspace-write with\n network disabled as the CLI default, deny shell execution when the approval\n gate is unavailable, and fail closed when approval policy loading or\n persistence fails.\n- **Durable process audit**: require a persistent, redacted admission record\n before high-risk process creation and retain bounded actor, session,\n authorization, policy, sandbox, and result context.\n- **Release boundary**: these versions closed the P0 execution-security fixes;\n CLI `0.166.14` retains the same boundary while adding the Windows\n Docker-optional startup repair."
|
|
27
40
|
}
|
|
28
41
|
]
|
|
29
42
|
},
|
|
@@ -36,7 +49,7 @@
|
|
|
36
49
|
"sections": [
|
|
37
50
|
{
|
|
38
51
|
"heading": "Added - cc CLI 0.166.12: durable rollout storage and converged Hooks v2",
|
|
39
|
-
"body": "> `chainlesschain` **0.166.10 -> 0.166.12** (
|
|
52
|
+
"body": "> `chainlesschain` **0.166.10 -> 0.166.12** (2026-08-30 capability baseline,\n> now included in public `0.166.14`). The immutable `0.166.11` candidate was withheld after its npm\n> workflow could not bootstrap the new scoped runtime dependency; its tag is\n> not reused. Coordinated candidates are Context/Memory Kernel `0.1.0`,\n> Session Core `0.3.7`, Agent Protocol `0.1.7`, TypeScript Agent SDK `0.2.7`,\n> Python Agent SDK `0.2.7`, VS Code `0.37.75`, and JetBrains `0.4.105`.\n\n- **Canonical context planning**: ship deterministic budget allocation,\n compaction, memory reducers, inventory validation, and cross-surface\n conformance through `@chainlesschain/context-memory-kernel`.\n- **Durable memory cutover**: route CLI context, compaction, hierarchical\n memory, App Server, WebSocket, REPL, and session flows through fail-closed\n authority stages with crash-safe persistence and privacy purge receipts;\n Session Core `0.3.7` exposes the write guard used to fence legacy writers.\n- **Protocol and SDK projections**: add bounded Context/Memory messages and App\n Server pilot clients to the generated Agent Protocol, TypeScript SDK, Python\n SDK, VS Code extension, and JetBrains plugin without granting IDE surfaces\n independent write authority.\n- **Durable rollout stores**: converge App Server, WebSocket, and CLI entry\n points on bounded memory, JSON, or SQLite rollout stores with explicit\n selection, migration, recovery, and corruption handling.\n- **Hooks v2 convergence**: route CLI, REPL, headless, settings, plugins, and\n App Server through one trust-aware event runtime with deterministic ordering,\n audit replay, timeout supervision, and fail-closed decision semantics.\n- **Release integrity**: publish the new fixed CLI runtime dependency before\n the immutable CLI tarball, then verify its registry bytes and npm provenance\n against the exact release tag and commit."
|
|
40
53
|
}
|
|
41
54
|
]
|
|
42
55
|
},
|