chainlesschain 0.166.36 → 0.166.37
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 +2 -2
- package/src/assets/web-panel/assets/{AIOps-Zs-zPwVG.js → AIOps-B_Nt1Qe4.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-HZlxM6H0.js → ActionButton-CHQbie4X.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-CXyThRDb.js → Analytics-Bm9364Lw.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-DeyYh_EF.js → AppLayout-DTwlIh2v.js} +4 -4
- package/src/assets/web-panel/assets/{Artifacts-BQDtMwkx.js → Artifacts-OibP0qB4.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-DNH4UOux.js → Audit-B8Fwavkg.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-BkKdIxE6.js → BackgroundAgents-p1Vb2K2B.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-DYy4aJom.js → Backup-BI3QT-wI.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-DjoyGVYm.js → BaseInput-BW_VRWWu.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-D86ZYgOD.js → Chat-CUEhDQfq.js} +5 -5
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-RxI_YYth.js → ChatBubbleRenderer-C5UVXdVE.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-C7p8UY99.js → Checkbox-URYsaaxv.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-DnapqgV5.js → Codegen-DJAwC80a.js} +1 -1
- package/src/assets/web-panel/assets/{Col-C29J2DBT.js → Col-DfRKFzc9.js} +1 -1
- package/src/assets/web-panel/assets/{Community-Bf3KeLCr.js → Community-GOkGHuly.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DA83wB48.js → Compact-CIMs13NC.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CXXVgRFG.js → Compliance-BE-TQIxV.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-B28Ftuqv.js → Cowork-CYmbJiWw.js} +4 -4
- package/src/assets/web-panel/assets/{Cron-CO-BcnDf.js → Cron-Be3OIWyM.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-BmgPMFCs.js → Crosschain-2xB2HS2D.js} +1 -1
- package/src/assets/web-panel/assets/{DID-CYW9WslA.js → DID-B_lJO2yF.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-CWWhVWds.js → Dashboard-DnVWqUER.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-CjTuc1-n.js → Dropdown-C7ZJvHVa.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-BrROAu4d.js → EmailListRenderer-DLevT-0F.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-Ci8Lmk8W.js → FamilyGuardDashboard-BwhQ5BRU.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-CKzKVLE_.js → Federation-BkGI-Xkq.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-CC2CK5PQ.js → FormItemContext-BgIIbMd7.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-BYa3ElyT.js → GenericCardRenderer-qL-qN8Nb.js} +1 -1
- package/src/assets/web-panel/assets/{Git-Bmn3ucA4.js → Git-BTzgrC4U.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DqEOXitg.js → Governance-p28vdCN4.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-BjfeExba.js → Inference-Cqephrur.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-CBTyIFlJ.js → KnowledgeGraph-C3v5Q4Zp.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-KZfA_M9Q.js → Logs-T6f0w32w.js} +2 -2
- package/src/assets/web-panel/assets/{MarkdownRenderer-BG7vi3V4.js → MarkdownRenderer-Dj5XPm3S.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-BFeK4he0.js → Marketplace-ClDsvHDH.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-Brg7uUoK.js → McpTools-C4P-_snx.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-Ce4AmyX3.js → Memory-BZZfG6y6.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-Dx1VBL_E.js → MobileBridge-DpIv_BLs.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-DPyRr2Xl.js → MobileProjects-Buz3NIQg.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-BzRmtDQU.js → Mtc-HS2PJB79.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-DvZ5kLvJ.js → MtcAudit-UmBrcU27.js} +4 -4
- package/src/assets/web-panel/assets/{Multisig-D8uGUjX1.js → Multisig-C00sXiZf.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-igc-TQE5.js → NLProgramming-Dj1ng_ph.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-CTqDYlek.js → Notes-C4LEVKlk.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-CkcLa2rb.js → NotificationSettings-BWXwnekv.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-BfScYvnH.js → OrderTableRenderer-CZHfK8Nn.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-BjKK9SdB.js → Organization-CFEtFPrV.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-BkcghTPE.js → Overflow-DSz4MJK1.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-l9f34Xu8.js → P2P-DyTEytwG.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-yVXWmwWe.js → PdhVaultBrowser-B5QNGLVx.js} +3 -3
- package/src/assets/web-panel/assets/{Permissions-DeSYs0VV.js → Permissions-wEC_X7x4.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-CmKmhy0q.js → PersonalDataHub-If5GZlGZ.js} +3 -3
- package/src/assets/web-panel/assets/{Pipeline-DBxS4R_r.js → Pipeline-LB4gqqmX.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-CKngdGw3.js → Privacy-QVLhoxcN.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-0Pso0jXN.js → ProjectInit-FaAbTYTo.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-BHrqWQ6r.js → ProjectSettings-DhMeNA21.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-B8wIh9PK.js → Projects-5L4lkWAZ.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-CXFTOHRV.js → Providers-DhZFp8fO.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-DfN0c_BN.js → QrScannerModal-BZuJ7_xi.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-v1Z5hty_.js → QuickAsk-TXddPYYb.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DOaVmZUi.js → Recommend-DDuXIKYt.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession--EWcPBY1.js → RemoteSession-CDrTXImv.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-DUWFSNvV.js → Reputation-B2xKaKzt.js} +1 -1
- package/src/assets/web-panel/assets/{Row-0-bFnXWF.js → Row-DzAjWAOX.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-B_uTfubW.js → RssFeed-CKH38BLF.js} +3 -3
- package/src/assets/web-panel/assets/{Search-CqxiTLfB.js → Search-CuPqJYoQ.js} +1 -1
- package/src/assets/web-panel/assets/{Security-CGoHOz5B.js → Security-DmAd2hxz.js} +4 -4
- package/src/assets/web-panel/assets/{Services-COhAbS45.js → Services-Bt3nljnY.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-B97crp6v.js → Skeleton-CP7RH093.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-er_XdavV.js → Skills-DKNeMBTx.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-RpkWkzOL.js → Sla-CbpM8Nrd.js} +1 -1
- package/src/assets/web-panel/assets/SpeechSettings-DTk-vTzF.js +1 -0
- package/src/assets/web-panel/assets/{SyncSettings-Bbiw6ohw.js → SyncSettings-DKiplwmc.js} +2 -2
- package/src/assets/web-panel/assets/{Tasks-CRghr7lo.js → Tasks-z-lOm8fx.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-BUQkfydG.js → Templates-Rb-Q0DGX.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-CfUFOsZu.js → Tenant-C2sqDUnR.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-BGY7gi4M.js → Terminal-DcyzskEE.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-B3Len0l7.js → TimelineRenderer-lg0Eam7N.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BjeHn2zI.js → Tokens-D9USIMIA.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-ctcZ2mcv.js → Trigger-BQpaQJ5k.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-oncF3TpO.js → Trust-C-Mik04s.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-BwKbVYCd.js → UkeySign-DrnZ_o56.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-D1dgL-3U.js → VideoEditing-BDOsoZi0.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-4hXAfjBL.js → Wallet-Ct_bleI7.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-C8p3cotb.js → WebAuthn-B6b6FDao.js} +3 -3
- package/src/assets/web-panel/assets/{WorkflowEditor-BnrjG77E.js → WorkflowEditor-ZUJMaIHr.js} +1 -1
- package/src/assets/web-panel/assets/{chat-B-YNK7EI.js → chat-BII20OJy.js} +1 -1
- package/src/assets/web-panel/assets/{colors-B9HYvK-e.js → colors-DEsJRV3n.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-BJr0quBA.js → compact-item-DoDYAzN9.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-CXfbQEWD.js → createContext-o_nofnVW.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-0tgDCszN.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-B7Q02hdZ.js → hasIn-CAsABTHC.js} +1 -1
- package/src/assets/web-panel/assets/{index-DsV1HA0Z.js → index-B0ApxOMw.js} +1 -1
- package/src/assets/web-panel/assets/{index-Gjegl5Ig.js → index-B4SfcwZA.js} +1 -1
- package/src/assets/web-panel/assets/{index-BoNVnnAq.js → index-B9Z75LfA.js} +1 -1
- package/src/assets/web-panel/assets/{index-C7IZWdoB.js → index-B9hYHPhs.js} +1 -1
- package/src/assets/web-panel/assets/{index-DPUg6cVc.js → index-BDRh3v44.js} +1 -1
- package/src/assets/web-panel/assets/{index-DutYFyC0.js → index-BcYbQoY7.js} +1 -1
- package/src/assets/web-panel/assets/{index-D1GP2MQz.js → index-Bmwo5wQG.js} +1 -1
- package/src/assets/web-panel/assets/{index-kAggAkrB.js → index-Bn2ZPUXO.js} +1 -1
- package/src/assets/web-panel/assets/{index-DMoUa3dF.js → index-BnbnmRqg.js} +1 -1
- package/src/assets/web-panel/assets/{index-BmvpVSmM.js → index-Bqyg3PME.js} +1 -1
- package/src/assets/web-panel/assets/{index-BmCD1_HC.js → index-BrIIJ2s-.js} +1 -1
- package/src/assets/web-panel/assets/{index-G7Z_On_n.js → index-BxT8yTwS.js} +1 -1
- package/src/assets/web-panel/assets/{index-BClzZrmx.js → index-Bycj011d.js} +1 -1
- package/src/assets/web-panel/assets/{index-4gZEpDAG.js → index-BzMA6Ra3.js} +1 -1
- package/src/assets/web-panel/assets/{index-CEujQqdl.js → index-C1YDdyQ1.js} +1 -1
- package/src/assets/web-panel/assets/{index-BvRqE3Un.js → index-CE2J04dA.js} +1 -1
- package/src/assets/web-panel/assets/index-CFF8XEFE.js +1 -0
- package/src/assets/web-panel/assets/{index-D5g5_oua.js → index-CQE-WMEU.js} +1 -1
- package/src/assets/web-panel/assets/{index-CQ7qYZS4.js → index-CVQSl1uY.js} +1 -1
- package/src/assets/web-panel/assets/{index-BleXwr2w.js → index-CeJSTcXw.js} +1 -1
- package/src/assets/web-panel/assets/{index-BU_adeUp.js → index-CeWJqXNX.js} +1 -1
- package/src/assets/web-panel/assets/{index-BNL9lmWL.js → index-Cf3sFEoE.js} +1 -1
- package/src/assets/web-panel/assets/{index-BtunVZuS.js → index-D5Fd4tdL.js} +1 -1
- package/src/assets/web-panel/assets/{index-CXgHZ_HG.js → index-DDQzBK3l.js} +1 -1
- package/src/assets/web-panel/assets/{index-C3M8M9_U.js → index-DQmX_-hk.js} +1 -1
- package/src/assets/web-panel/assets/{index-B6h86qjh.js → index-DRAA2McB.js} +1 -1
- package/src/assets/web-panel/assets/{index-BB4KIBso.js → index-DU2Rpx1m.js} +1 -1
- package/src/assets/web-panel/assets/index-DVUEISry.js +1 -0
- package/src/assets/web-panel/assets/{index-cq5Q-RHa.js → index-DWZNYecl.js} +3 -3
- package/src/assets/web-panel/assets/{index-COdAugDt.js → index-D_CMB_wC.js} +1 -1
- package/src/assets/web-panel/assets/{index-iCKFl_jt.js → index-Dbb34cAr.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bf0OxvOh.js → index-DciLb_Ww.js} +1 -1
- package/src/assets/web-panel/assets/{index-D0zuXz4s.js → index-Dgt1mKby.js} +1 -1
- package/src/assets/web-panel/assets/{index-CcyxVqzn.js → index-Dhnau6uw.js} +1 -1
- package/src/assets/web-panel/assets/{index-CU7cBzr9.js → index-DrsAF-Ar.js} +1 -1
- package/src/assets/web-panel/assets/{index-D_UneDq3.js → index-DsoFTdA2.js} +1 -1
- package/src/assets/web-panel/assets/{index-6wWd08X-.js → index-TSwbtCYG.js} +1 -1
- package/src/assets/web-panel/assets/{index-HzCaU25O.js → index-kIyLNyoF.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bd3nX6aj.js → index-tCeNfxv4.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DrzGM6fO.js → initDefaultProps-CNjeeoKE.js} +1 -1
- package/src/assets/web-panel/assets/{motion-SE_xFnGL.js → motion-CBT8IZDm.js} +1 -1
- package/src/assets/web-panel/assets/{move-CrPjKNiG.js → move-h1MOxjqv.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-CpcyFPK6.js → mtc-parser-C_3pqNmn.js} +1 -1
- package/src/assets/web-panel/assets/{omit-BV0g7vf4.js → omit-CMUnPFDk.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-lWpsc-k6.js → pickAttrs-p8_c1xq0.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-CiewvU4X.js → placementArrow-D6O67r23.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-DbF8pamO.js → responsiveObserve-DquhepAK.js} +1 -1
- package/src/assets/web-panel/assets/{slide-Bn82Ip9-.js → slide-CZ-m6gmS.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-J76gk_-G.js → statusUtils-k9ejZFtd.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-BL95J74a.js → styleChecker-NX6_137R.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-BUzhdQsv.js → useFlexGapSupport-bCqR70lP.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-B2Fppepb.js → useFs-2l0vSqyY.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-DjTASfYE.js → usePersonalDataHub-1yccm4O7.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BwrOgBqP.js → vnode-CxQzajDo.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-B6MeT_Gw.js → zoom-CrTKwFyb.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/commands/hub.js +21 -6
- package/src/commands/stream.js +28 -7
- package/src/commands/ui.js +10 -2
- package/src/data/changelog.json +13 -0
- package/src/gateways/ws/chat-intent-protocol.js +4 -1
- package/src/gateways/ws/llm-chat-protocol.js +29 -3
- package/src/gateways/ws/message-dispatcher.js +3 -1
- package/src/gateways/ws/personal-data-hub-protocol.js +24 -10
- package/src/gateways/ws/session-core-protocol.js +23 -6
- package/src/gateways/ws/session-protocol.js +1 -0
- package/src/lib/__tests__/provider-stream.test.js +6 -8
- package/src/lib/chat-core.js +67 -9
- package/src/lib/chat-intent-service.js +138 -39
- package/src/lib/evolution/evolution-deployment-loader.js +7 -1
- package/src/lib/evolution/governed-hub-llm.js +56 -0
- package/src/lib/evolution/governed-hub-resolver.js +65 -0
- package/src/lib/evolution/governed-hub-skill.js +36 -0
- package/src/lib/evolution/governed-model-turn.js +88 -0
- package/src/lib/personal-data-hub-wiring.js +49 -0
- package/src/lib/provider-stream.js +94 -45
- package/src/lib/ws-chat-handler.js +19 -2
- package/src/assets/web-panel/assets/SpeechSettings-DDVXmT5y.js +0 -1
- package/src/assets/web-panel/assets/devWarning-DNpXMZaQ.js +0 -1
- package/src/assets/web-panel/assets/index-2hcdmWpb.js +0 -1
- package/src/assets/web-panel/assets/index-DbQCUG4D.js +0 -1
package/src/assets/web-panel/assets/{placementArrow-CiewvU4X.js → placementArrow-D6O67r23.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as i}from"./index-
|
|
1
|
+
import{h as i}from"./index-DWZNYecl.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-DbF8pamO.js → responsiveObserve-DquhepAK.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{J as o,h}from"./index-
|
|
1
|
+
import{J as o,h}from"./index-DWZNYecl.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-DWZNYecl.js";import{i as e}from"./motion-CBT8IZDm.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-DWZNYecl.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-DWZNYecl.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-BUzhdQsv.js → useFlexGapSupport-bCqR70lP.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-NX6_137R.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-DWZNYecl.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-DWZNYecl.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-DWZNYecl.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-DWZNYecl.js";import{i as f}from"./motion-CBT8IZDm.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-DWZNYecl.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/hub.js
CHANGED
|
@@ -19,7 +19,12 @@ import { readFileSync, writeFileSync } from "node:fs";
|
|
|
19
19
|
import chalk from "chalk";
|
|
20
20
|
import ora from "ora";
|
|
21
21
|
import { logger } from "../lib/logger.js";
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
getHub,
|
|
24
|
+
getHubMinimal,
|
|
25
|
+
getGovernedAnalysisHub,
|
|
26
|
+
} from "../lib/personal-data-hub-wiring.js";
|
|
27
|
+
import { readEvolutionCompositionFactory } from "../lib/evolution/governed-model-turn.js";
|
|
23
28
|
import { loadConfig } from "../lib/config-manager.js";
|
|
24
29
|
import { isCloudHubConfigured } from "../lib/hub-llm-client.js";
|
|
25
30
|
import { importPdh } from "../lib/pdh-load-error.js";
|
|
@@ -1548,7 +1553,7 @@ async function cmdRunSkill(name, options) {
|
|
|
1548
1553
|
? null
|
|
1549
1554
|
: ora(`running analysis skill ${name}...`).start();
|
|
1550
1555
|
try {
|
|
1551
|
-
const hub = await getHub();
|
|
1556
|
+
const hub = await (options._getHub || getHub)();
|
|
1552
1557
|
if (!hub.analysisSkillNames.includes(name)) {
|
|
1553
1558
|
throw new Error(
|
|
1554
1559
|
`Unknown skill: ${name}. Available: ${hub.analysisSkillNames.join(", ")}`,
|
|
@@ -3441,7 +3446,15 @@ function _defaultKnownVendors() {
|
|
|
3441
3446
|
|
|
3442
3447
|
// ─── Commander wire-up ───────────────────────────────────────────────
|
|
3443
3448
|
|
|
3444
|
-
export function registerHubCommand(program) {
|
|
3449
|
+
export function registerHubCommand(program, dependencies = {}) {
|
|
3450
|
+
const factory = readEvolutionCompositionFactory(dependencies);
|
|
3451
|
+
const invocationOptions = (options) =>
|
|
3452
|
+
factory === null
|
|
3453
|
+
? options
|
|
3454
|
+
: {
|
|
3455
|
+
...options,
|
|
3456
|
+
_getHub: () => getGovernedAnalysisHub(factory),
|
|
3457
|
+
};
|
|
3445
3458
|
const hub = program
|
|
3446
3459
|
.command("hub")
|
|
3447
3460
|
.description(
|
|
@@ -3479,7 +3492,9 @@ export function registerHubCommand(program) {
|
|
|
3479
3492
|
" • Ephemeral: CC_HUB_LLM=config|<provider> cc hub ask … --accept-non-local\n" +
|
|
3480
3493
|
" (a one-off override still needs an explicit egress flag).",
|
|
3481
3494
|
)
|
|
3482
|
-
.action(
|
|
3495
|
+
.action((question, options) =>
|
|
3496
|
+
cmdAsk(question, invocationOptions(options)),
|
|
3497
|
+
);
|
|
3483
3498
|
|
|
3484
3499
|
hub
|
|
3485
3500
|
.command("repl")
|
|
@@ -3501,7 +3516,7 @@ export function registerHubCommand(program) {
|
|
|
3501
3516
|
"\nSame per-question semantics + cloud-egress gate as `cc hub ask`, but the\n" +
|
|
3502
3517
|
"~8s cold-start is paid ONCE. Type questions at the `hub>` prompt; .exit to quit.",
|
|
3503
3518
|
)
|
|
3504
|
-
.action(cmdRepl);
|
|
3519
|
+
.action((options) => cmdRepl(invocationOptions(options)));
|
|
3505
3520
|
|
|
3506
3521
|
hub
|
|
3507
3522
|
.command("retrieve-context <question>")
|
|
@@ -4041,7 +4056,7 @@ export function registerHubCommand(program) {
|
|
|
4041
4056
|
.option("--since <ms>", "Start of time window")
|
|
4042
4057
|
.option("--until <ms>", "End of time window")
|
|
4043
4058
|
.option("--json", "Output JSON")
|
|
4044
|
-
.action(cmdRunSkill);
|
|
4059
|
+
.action((name, options) => cmdRunSkill(name, invocationOptions(options)));
|
|
4045
4060
|
|
|
4046
4061
|
hub
|
|
4047
4062
|
.command("salvage <dumpfile>")
|
package/src/commands/stream.js
CHANGED
|
@@ -13,8 +13,15 @@
|
|
|
13
13
|
import { logger } from "../lib/logger.js";
|
|
14
14
|
import { loadConfig } from "../lib/config-manager.js";
|
|
15
15
|
import { buildProviderSource } from "../lib/provider-stream.js";
|
|
16
|
+
import {
|
|
17
|
+
readEvolutionCompositionFactory,
|
|
18
|
+
prepareGovernedModelTurn,
|
|
19
|
+
governModelTokenSource,
|
|
20
|
+
} from "../lib/evolution/governed-model-turn.js";
|
|
16
21
|
|
|
17
|
-
export function registerStreamCommand(program) {
|
|
22
|
+
export function registerStreamCommand(program, dependencies = {}) {
|
|
23
|
+
const evolutionCompositionFactory =
|
|
24
|
+
readEvolutionCompositionFactory(dependencies);
|
|
18
25
|
program
|
|
19
26
|
.command("stream")
|
|
20
27
|
.description(
|
|
@@ -37,18 +44,31 @@ export function registerStreamCommand(program) {
|
|
|
37
44
|
const { createStreamRouter } =
|
|
38
45
|
await import("../lib/session-core-singletons.js");
|
|
39
46
|
const router = createStreamRouter();
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
const turn = await prepareGovernedModelTurn(
|
|
48
|
+
evolutionCompositionFactory,
|
|
49
|
+
{
|
|
50
|
+
mode: "stream",
|
|
51
|
+
messages: [{ role: "user", content: prompt }],
|
|
52
|
+
},
|
|
53
|
+
);
|
|
54
|
+
const source = governModelTokenSource(
|
|
55
|
+
buildProviderSource(provider, {
|
|
56
|
+
model,
|
|
57
|
+
baseUrl,
|
|
58
|
+
apiKey,
|
|
59
|
+
prompt,
|
|
60
|
+
messages: turn.governed ? turn.messages : undefined,
|
|
61
|
+
requireCompletion: turn.governed,
|
|
62
|
+
}),
|
|
63
|
+
turn,
|
|
64
|
+
);
|
|
46
65
|
|
|
47
66
|
if (options.text) {
|
|
48
67
|
const out = await router.collect(source);
|
|
49
68
|
if (out.errored) {
|
|
50
69
|
logger.error(`Stream errored: ${out.error?.message || out.error}`);
|
|
51
70
|
process.exit(1);
|
|
71
|
+
return;
|
|
52
72
|
}
|
|
53
73
|
process.stdout.write(out.text);
|
|
54
74
|
if (!out.text.endsWith("\n")) process.stdout.write("\n");
|
|
@@ -57,6 +77,7 @@ export function registerStreamCommand(program) {
|
|
|
57
77
|
|
|
58
78
|
for await (const ev of router.stream(source)) {
|
|
59
79
|
process.stdout.write(`${JSON.stringify(ev)}\n`);
|
|
80
|
+
if (ev.type === "error") process.exitCode = 1;
|
|
60
81
|
}
|
|
61
82
|
} catch (err) {
|
|
62
83
|
const ev = {
|
package/src/commands/ui.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { logger } from "../lib/logger.js";
|
|
2
2
|
import { createAgentRuntimeFactory } from "../runtime/runtime-factory.js";
|
|
3
|
+
import { readEvolutionCompositionFactory } from "../lib/evolution/governed-model-turn.js";
|
|
3
4
|
|
|
4
|
-
export function registerUiCommand(program) {
|
|
5
|
+
export function registerUiCommand(program, dependencies = {}) {
|
|
6
|
+
const evolutionCompositionFactory =
|
|
7
|
+
readEvolutionCompositionFactory(dependencies);
|
|
5
8
|
program
|
|
6
9
|
.command("ui")
|
|
7
10
|
.description("Start a local web management UI (project or global mode)")
|
|
@@ -42,7 +45,12 @@ export function registerUiCommand(program) {
|
|
|
42
45
|
opts.port && opts.port !== "18810" ? opts.port : portEnv || opts.port,
|
|
43
46
|
10,
|
|
44
47
|
);
|
|
45
|
-
const runtime = createAgentRuntimeFactory(
|
|
48
|
+
const runtime = createAgentRuntimeFactory({
|
|
49
|
+
deps:
|
|
50
|
+
evolutionCompositionFactory === null
|
|
51
|
+
? {}
|
|
52
|
+
: { evolutionCompositionFactory },
|
|
53
|
+
}).createUiRuntime({
|
|
46
54
|
port,
|
|
47
55
|
wsPort: parseInt(opts.wsPort, 10),
|
|
48
56
|
host,
|
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.37",
|
|
7
|
+
"cliVersions": ["0.166.36", "0.166.37"],
|
|
8
|
+
"date": "2026-09-09",
|
|
9
|
+
"title": "",
|
|
10
|
+
"sections": [
|
|
11
|
+
{
|
|
12
|
+
"heading": "Fixed - cc CLI 0.166.37: govern model entry points and preserve failures",
|
|
13
|
+
"body": "> `chainlesschain` **0.166.36 -> 0.166.37** (2026-09-09), source candidate\n> awaiting the exact-commit release matrix and child-package publication.\n\n- Apply host-provided evolution governance to CLI streams, intent requests,\n WebSocket chat, Hub analysis and skills, and Hub resolver model calls.\n- Reject incomplete provider streams and preserve governance failures through\n optional skill commentary instead of reporting a successful fallback.\n- Forward deployment composition through UI startup and retain per-turn\n evidence before reporting model completion.\n- Require personal-data-hub 0.4.60 with valid JSON model examples and preserved\n governance errors. Repository-wide model entry coverage remains incomplete."
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
4
17
|
{
|
|
5
18
|
"productVersion": null,
|
|
6
19
|
"cliVersion": "0.166.36",
|
|
@@ -60,6 +60,7 @@ export async function handleChatIntentUnderstand(server, id, ws, message) {
|
|
|
60
60
|
contextMode: message.contextMode || "global",
|
|
61
61
|
history,
|
|
62
62
|
llmOptions,
|
|
63
|
+
evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
|
|
63
64
|
});
|
|
64
65
|
server._send(ws, {
|
|
65
66
|
id,
|
|
@@ -117,6 +118,7 @@ export async function handleChatIntentUnderstandStream(
|
|
|
117
118
|
contextMode: message.contextMode || "global",
|
|
118
119
|
history,
|
|
119
120
|
llmOptions,
|
|
121
|
+
evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
|
|
120
122
|
})) {
|
|
121
123
|
if (event.type === "token") {
|
|
122
124
|
server._send(ws, {
|
|
@@ -131,7 +133,7 @@ export async function handleChatIntentUnderstandStream(
|
|
|
131
133
|
server._send(ws, {
|
|
132
134
|
id,
|
|
133
135
|
type: `${topic}.result`,
|
|
134
|
-
ok: final?.success
|
|
136
|
+
ok: final?.success === true,
|
|
135
137
|
result: final || {
|
|
136
138
|
success: false,
|
|
137
139
|
correctedInput: message.userInput,
|
|
@@ -169,6 +171,7 @@ export async function handleChatIntentClassifyFollowup(
|
|
|
169
171
|
input,
|
|
170
172
|
context: message.context || {},
|
|
171
173
|
llmOptions,
|
|
174
|
+
evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
|
|
172
175
|
});
|
|
173
176
|
server._send(ws, {
|
|
174
177
|
id,
|
|
@@ -39,6 +39,7 @@ import {
|
|
|
39
39
|
} from "../../lib/chat-core.js";
|
|
40
40
|
import { BUILT_IN_PROVIDERS } from "../../lib/llm-providers.js";
|
|
41
41
|
import { resolveLlmCreds } from "./llm-creds.js";
|
|
42
|
+
import { prepareGovernedModelTurn } from "../../lib/evolution/governed-model-turn.js";
|
|
42
43
|
|
|
43
44
|
function validateMessages(messages) {
|
|
44
45
|
if (!Array.isArray(messages) || messages.length === 0)
|
|
@@ -108,26 +109,46 @@ export async function handleLlmChat(server, id, ws, message) {
|
|
|
108
109
|
usage = u;
|
|
109
110
|
};
|
|
110
111
|
|
|
112
|
+
const controller = new AbortController();
|
|
113
|
+
const disconnect = () =>
|
|
114
|
+
controller.abort(new Error("Chat connection closed"));
|
|
115
|
+
ws?.once?.("close", disconnect);
|
|
111
116
|
try {
|
|
117
|
+
const turn = await prepareGovernedModelTurn(
|
|
118
|
+
server.evolutionCompositionFactory ?? null,
|
|
119
|
+
{
|
|
120
|
+
mode: "ws-llm-chat",
|
|
121
|
+
messages: message.messages,
|
|
122
|
+
signal: controller.signal,
|
|
123
|
+
},
|
|
124
|
+
);
|
|
125
|
+
const streamOptions = {
|
|
126
|
+
requireCompletion: turn.governed,
|
|
127
|
+
signal: controller.signal,
|
|
128
|
+
};
|
|
112
129
|
const baseUrl = creds.baseUrl || "http://localhost:11434";
|
|
113
130
|
if (creds.provider === "ollama") {
|
|
114
131
|
await streamOllama(
|
|
115
|
-
|
|
132
|
+
turn.messages,
|
|
116
133
|
creds.model,
|
|
117
134
|
baseUrl,
|
|
118
135
|
onToken,
|
|
119
136
|
onUsage,
|
|
137
|
+
undefined,
|
|
138
|
+
streamOptions,
|
|
120
139
|
);
|
|
121
140
|
} else if (creds.provider === "anthropic") {
|
|
122
141
|
const def = BUILT_IN_PROVIDERS.anthropic;
|
|
123
142
|
const url = baseUrl !== "http://localhost:11434" ? baseUrl : def.baseUrl;
|
|
124
143
|
await streamAnthropic(
|
|
125
|
-
|
|
144
|
+
turn.messages,
|
|
126
145
|
creds.model,
|
|
127
146
|
url,
|
|
128
147
|
creds.apiKey,
|
|
129
148
|
onToken,
|
|
130
149
|
onUsage,
|
|
150
|
+
undefined,
|
|
151
|
+
streamOptions,
|
|
131
152
|
);
|
|
132
153
|
} else {
|
|
133
154
|
// OpenAI-compatible — covers openai / volcengine / deepseek / dashscope /
|
|
@@ -136,15 +157,18 @@ export async function handleLlmChat(server, id, ws, message) {
|
|
|
136
157
|
const def = BUILT_IN_PROVIDERS[creds.provider];
|
|
137
158
|
const url = baseUrl !== "http://localhost:11434" ? baseUrl : def?.baseUrl;
|
|
138
159
|
await streamOpenAI(
|
|
139
|
-
|
|
160
|
+
turn.messages,
|
|
140
161
|
creds.model,
|
|
141
162
|
url,
|
|
142
163
|
creds.apiKey,
|
|
143
164
|
onToken,
|
|
144
165
|
onUsage,
|
|
166
|
+
undefined,
|
|
167
|
+
streamOptions,
|
|
145
168
|
);
|
|
146
169
|
}
|
|
147
170
|
|
|
171
|
+
await turn.complete(accumulator);
|
|
148
172
|
send({
|
|
149
173
|
type: `${topic}.result`,
|
|
150
174
|
ok: true,
|
|
@@ -162,5 +186,7 @@ export async function handleLlmChat(server, id, ws, message) {
|
|
|
162
186
|
ok: false,
|
|
163
187
|
error: err?.message || String(err),
|
|
164
188
|
});
|
|
189
|
+
} finally {
|
|
190
|
+
ws?.removeListener?.("close", disconnect);
|
|
165
191
|
}
|
|
166
192
|
}
|
|
@@ -391,7 +391,9 @@ export function createWsMessageDispatcher(server) {
|
|
|
391
391
|
// response envelope so renderer code is shell-agnostic.
|
|
392
392
|
if (PERSONAL_DATA_HUB_HANDLERS[type]) {
|
|
393
393
|
try {
|
|
394
|
-
const out = await PERSONAL_DATA_HUB_HANDLERS[type](message
|
|
394
|
+
const out = await PERSONAL_DATA_HUB_HANDLERS[type](message, {
|
|
395
|
+
server,
|
|
396
|
+
});
|
|
395
397
|
if (out && out.error) {
|
|
396
398
|
server._send(ws, {
|
|
397
399
|
id,
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
import {
|
|
21
21
|
getHub,
|
|
22
|
+
getGovernedAnalysisHub,
|
|
22
23
|
close as closeHub,
|
|
23
24
|
} from "../../lib/personal-data-hub-wiring.js";
|
|
24
25
|
import { importPdh } from "../../lib/pdh-load-error.js";
|
|
@@ -181,9 +182,9 @@ export async function _tryAdbAutoPullInputPath(hub, name, options) {
|
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
|
|
184
|
-
async function withHub(fn) {
|
|
185
|
+
async function withHub(fn, loadHub = getHub) {
|
|
185
186
|
try {
|
|
186
|
-
const hub = await
|
|
187
|
+
const hub = await loadHub();
|
|
187
188
|
const result = await fn(hub);
|
|
188
189
|
return { result };
|
|
189
190
|
} catch (err) {
|
|
@@ -192,11 +193,16 @@ async function withHub(fn) {
|
|
|
192
193
|
}
|
|
193
194
|
|
|
194
195
|
export const PERSONAL_DATA_HUB_HANDLERS = {
|
|
195
|
-
"personal-data-hub.ask": async (msg) =>
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
196
|
+
"personal-data-hub.ask": async (msg, context = {}) => {
|
|
197
|
+
const factory = context.server?.evolutionCompositionFactory;
|
|
198
|
+
return withHub(
|
|
199
|
+
async (hub) => {
|
|
200
|
+
if (!hub.engine) throw new Error("Analysis engine unavailable");
|
|
201
|
+
return await hub.engine.ask(msg.question, msg.options || {});
|
|
202
|
+
},
|
|
203
|
+
factory == null ? getHub : () => getGovernedAnalysisHub(factory),
|
|
204
|
+
);
|
|
205
|
+
},
|
|
200
206
|
|
|
201
207
|
// Path Y: prompt context only, no LLM call. Lets web-shell / mobile host
|
|
202
208
|
// its own inference (Volcengine Doubao, OpenRouter, etc.) while keeping
|
|
@@ -604,9 +610,12 @@ export const PERSONAL_DATA_HUB_HANDLERS = {
|
|
|
604
610
|
return hub.entityResolver.manualUnmerge(msg.personId);
|
|
605
611
|
}),
|
|
606
612
|
|
|
607
|
-
"personal-data-hub.resolver-drain": async (msg) =>
|
|
613
|
+
"personal-data-hub.resolver-drain": async (msg, context = {}) =>
|
|
608
614
|
withHub(async (hub) => {
|
|
609
615
|
if (!hub.entityResolver) throw new Error("EntityResolver not wired");
|
|
616
|
+
const factory = context.server?.evolutionCompositionFactory;
|
|
617
|
+
if (factory != null)
|
|
618
|
+
return hub.drainResolver({ limit: msg.limit || 50 }, factory);
|
|
610
619
|
return await hub.entityResolver.drain({ limit: msg.limit || 50 });
|
|
611
620
|
}),
|
|
612
621
|
|
|
@@ -628,8 +637,13 @@ export const PERSONAL_DATA_HUB_HANDLERS = {
|
|
|
628
637
|
"personal-data-hub.skills-list": async () =>
|
|
629
638
|
withHub((hub) => hub.analysisSkillNames || []),
|
|
630
639
|
|
|
631
|
-
"personal-data-hub.run-skill": async (msg) =>
|
|
632
|
-
|
|
640
|
+
"personal-data-hub.run-skill": async (msg, context = {}) => {
|
|
641
|
+
const factory = context.server?.evolutionCompositionFactory;
|
|
642
|
+
return withHub(
|
|
643
|
+
async (hub) => await hub.runSkill(msg.name, msg.options || {}),
|
|
644
|
+
factory == null ? getHub : () => getGovernedAnalysisHub(factory),
|
|
645
|
+
);
|
|
646
|
+
},
|
|
633
647
|
|
|
634
648
|
// ─── Phase 10.3 — AIChat WebView 鉴权向导 (paste-mode on cc ui) ────────
|
|
635
649
|
|
|
@@ -321,13 +321,29 @@ async function streamRun(message, sender, signal, context) {
|
|
|
321
321
|
const { buildProviderSource } = await import("../../lib/provider-stream.js");
|
|
322
322
|
const { createStreamRouter } = await loadSingletons();
|
|
323
323
|
const router = createStreamRouter();
|
|
324
|
-
const
|
|
325
|
-
model
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
324
|
+
const { prepareGovernedModelTurn, governModelTokenSource } =
|
|
325
|
+
await import("../../lib/evolution/governed-model-turn.js");
|
|
326
|
+
const turn = await prepareGovernedModelTurn(
|
|
327
|
+
context?.server?.evolutionCompositionFactory ?? null,
|
|
328
|
+
{
|
|
329
|
+
mode: "ws-stream",
|
|
330
|
+
messages: [{ role: "user", content: message.prompt }],
|
|
331
|
+
signal,
|
|
332
|
+
},
|
|
333
|
+
);
|
|
334
|
+
const source = governModelTokenSource(
|
|
335
|
+
buildProviderSource(provider, {
|
|
336
|
+
model: message.model,
|
|
337
|
+
baseUrl: message.baseUrl,
|
|
338
|
+
apiKey: message.apiKey,
|
|
339
|
+
prompt: message.prompt,
|
|
340
|
+
messages: turn.governed ? turn.messages : undefined,
|
|
341
|
+
requireCompletion: turn.governed,
|
|
342
|
+
signal,
|
|
343
|
+
}),
|
|
344
|
+
turn,
|
|
329
345
|
signal,
|
|
330
|
-
|
|
346
|
+
);
|
|
331
347
|
|
|
332
348
|
let envelopeHelper = null;
|
|
333
349
|
if (context?.server?.envelopeBus && message.sessionId) {
|
|
@@ -368,6 +384,7 @@ async function streamRun(message, sender, signal, context) {
|
|
|
368
384
|
}
|
|
369
385
|
}
|
|
370
386
|
if (errored) return fail("STREAM_ERROR", errorMsg);
|
|
387
|
+
signal?.throwIfAborted();
|
|
371
388
|
return ok({ text });
|
|
372
389
|
}
|
|
373
390
|
|
|
@@ -592,6 +592,7 @@ async function ensureSessionHandler(
|
|
|
592
592
|
handler = new WSChatHandler({
|
|
593
593
|
session,
|
|
594
594
|
interaction: session.interaction,
|
|
595
|
+
evolutionCompositionFactory: server.evolutionCompositionFactory ?? null,
|
|
595
596
|
});
|
|
596
597
|
} else {
|
|
597
598
|
const { WSAgentHandler } = await import("./ws-agent-handler.js");
|
|
@@ -34,14 +34,12 @@ function mockFetch(
|
|
|
34
34
|
ok,
|
|
35
35
|
status,
|
|
36
36
|
statusText,
|
|
37
|
-
body: {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}),
|
|
44
|
-
},
|
|
37
|
+
body: new ReadableStream({
|
|
38
|
+
pull(controller) {
|
|
39
|
+
if (i < chunks.length) controller.enqueue(enc.encode(chunks[i++]));
|
|
40
|
+
else controller.close();
|
|
41
|
+
},
|
|
42
|
+
}),
|
|
45
43
|
};
|
|
46
44
|
});
|
|
47
45
|
}
|