chainlesschain 0.166.34 → 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-D8PJmSrh.js → AIOps-B_Nt1Qe4.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-DG6DqHA3.js → ActionButton-CHQbie4X.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-DiLleeWs.js → Analytics-Bm9364Lw.js} +3 -3
- package/src/assets/web-panel/assets/{AppLayout-DxYkhlHK.js → AppLayout-DTwlIh2v.js} +4 -4
- package/src/assets/web-panel/assets/{Artifacts-BAW3Kdsi.js → Artifacts-OibP0qB4.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-DBr4uY6E.js → Audit-B8Fwavkg.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-Dw0r-bHX.js → BackgroundAgents-p1Vb2K2B.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-AyhwYsio.js → Backup-BI3QT-wI.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-Cj8qJotr.js → BaseInput-BW_VRWWu.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-DcvimQ0u.js → Chat-CUEhDQfq.js} +6 -6
- package/src/assets/web-panel/assets/{ChatBubbleRenderer--joJ1e2f.js → ChatBubbleRenderer-C5UVXdVE.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-C2mlU77l.js → Checkbox-URYsaaxv.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-CAfc3YaV.js → Codegen-DJAwC80a.js} +1 -1
- package/src/assets/web-panel/assets/{Col-CIxoxtJI.js → Col-DfRKFzc9.js} +1 -1
- package/src/assets/web-panel/assets/{Community-DvufZoRg.js → Community-GOkGHuly.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-55JTa99J.js → Compact-CIMs13NC.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-BllWog6P.js → Compliance-BE-TQIxV.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-ThsFGc5p.js → Cowork-CYmbJiWw.js} +4 -4
- package/src/assets/web-panel/assets/{Cron-CZjl5Ig2.js → Cron-Be3OIWyM.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-DIAKAoQT.js → Crosschain-2xB2HS2D.js} +1 -1
- package/src/assets/web-panel/assets/{DID-ayygwEil.js → DID-B_lJO2yF.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-C3Xjm2UO.js → Dashboard-DnVWqUER.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-C1S3zf-j.js → Dropdown-C7ZJvHVa.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-DRvriU-H.js → EmailListRenderer-DLevT-0F.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-iSX2bmsD.js → FamilyGuardDashboard-BwhQ5BRU.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-Dk0Stkv-.js → Federation-BkGI-Xkq.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-DasXSGff.js → FormItemContext-BgIIbMd7.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-Dv9XGlxI.js → GenericCardRenderer-qL-qN8Nb.js} +1 -1
- package/src/assets/web-panel/assets/{Git-B5PgXL3Z.js → Git-BTzgrC4U.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-B78x11e_.js → Governance-p28vdCN4.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-b7CX1RqW.js → Inference-Cqephrur.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph--MgBzMVp.js → KnowledgeGraph-C3v5Q4Zp.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-CYCiGmVc.js → Logs-T6f0w32w.js} +2 -2
- package/src/assets/web-panel/assets/{MarkdownRenderer-yrl10SWw.js → MarkdownRenderer-Dj5XPm3S.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-CsbwQ0eM.js → Marketplace-ClDsvHDH.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-0GBWHVra.js → McpTools-C4P-_snx.js} +3 -3
- package/src/assets/web-panel/assets/{Memory-fAywmAYr.js → Memory-BZZfG6y6.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-BeNEyy3s.js → MobileBridge-DpIv_BLs.js} +1 -1
- package/src/assets/web-panel/assets/MobileProjects-Buz3NIQg.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-CqRhJB70.js → Mtc-HS2PJB79.js} +4 -4
- package/src/assets/web-panel/assets/{MtcAudit-BEyGZflc.js → MtcAudit-UmBrcU27.js} +4 -4
- package/src/assets/web-panel/assets/{Multisig-luz3EBT2.js → Multisig-C00sXiZf.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-Dkbvp8IX.js → NLProgramming-Dj1ng_ph.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-Cf9I2K8j.js → Notes-C4LEVKlk.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-BTfuzynL.js → NotificationSettings-BWXwnekv.js} +1 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-CZHfK8Nn.js +1 -0
- package/src/assets/web-panel/assets/{Organization-BbG3-vDy.js → Organization-CFEtFPrV.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-CMtFKEIQ.js → Overflow-DSz4MJK1.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-6SAEb_lU.js → P2P-DyTEytwG.js} +2 -2
- package/src/assets/web-panel/assets/PdhVaultBrowser-B5QNGLVx.js +7 -0
- package/src/assets/web-panel/assets/{Permissions-ClZxZKZl.js → Permissions-wEC_X7x4.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-BYkyoZDT.js → PersonalDataHub-If5GZlGZ.js} +3 -3
- package/src/assets/web-panel/assets/{Pipeline-B28ZgADI.js → Pipeline-LB4gqqmX.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-BxtZywbB.js → Privacy-QVLhoxcN.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-DPqoRnxK.js → ProjectInit-FaAbTYTo.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-QjKvMkau.js → ProjectSettings-DhMeNA21.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-Cp0Z8ZG0.js → Projects-5L4lkWAZ.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-CrS-rbyb.js → Providers-DhZFp8fO.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-xTrhbVAU.js → QrScannerModal-BZuJ7_xi.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-DFOqJoq-.js → QuickAsk-TXddPYYb.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DXlKqu2-.js → Recommend-DDuXIKYt.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-BLLaZH8K.js → RemoteSession-CDrTXImv.js} +3 -3
- package/src/assets/web-panel/assets/{Reputation-CUgAdJ11.js → Reputation-B2xKaKzt.js} +1 -1
- package/src/assets/web-panel/assets/{Row-DzOO3wP-.js → Row-DzAjWAOX.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-B6GrRvh8.js → RssFeed-CKH38BLF.js} +3 -3
- package/src/assets/web-panel/assets/{Search-Cj3zKLb3.js → Search-CuPqJYoQ.js} +1 -1
- package/src/assets/web-panel/assets/{Security-LnktzidI.js → Security-DmAd2hxz.js} +4 -4
- package/src/assets/web-panel/assets/{Services-BQ6sIc2K.js → Services-Bt3nljnY.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CCSV3Jbw.js → Skeleton-CP7RH093.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-CpoQ4SNk.js → Skills-DKNeMBTx.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-DbAbgRPq.js → Sla-CbpM8Nrd.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-C4cJ_hoD.js → SpeechSettings-DTk-vTzF.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-BKFzjN9Z.js → SyncSettings-DKiplwmc.js} +2 -2
- package/src/assets/web-panel/assets/Tasks-z-lOm8fx.js +1 -0
- package/src/assets/web-panel/assets/{Templates-DTEQfFAQ.js → Templates-Rb-Q0DGX.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-wToJWKXB.js → Tenant-C2sqDUnR.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-1s3c7kmF.js → Terminal-DcyzskEE.js} +2 -2
- package/src/assets/web-panel/assets/{TimelineRenderer-BcfsYW3u.js → TimelineRenderer-lg0Eam7N.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-Byez6FY0.js → Tokens-D9USIMIA.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-Cq8mZO88.js → Trigger-BQpaQJ5k.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-DUrMmEwR.js → Trust-C-Mik04s.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-CVHwXrVU.js → UkeySign-DrnZ_o56.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-CDKbTRUS.js → VideoEditing-BDOsoZi0.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-BqnEBIOy.js → Wallet-Ct_bleI7.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-CeTMpj7_.js → WebAuthn-B6b6FDao.js} +4 -4
- package/src/assets/web-panel/assets/{WorkflowEditor-F6OgjV3C.js → WorkflowEditor-ZUJMaIHr.js} +1 -1
- package/src/assets/web-panel/assets/{chat-CMHUCwq3.js → chat-BII20OJy.js} +1 -1
- package/src/assets/web-panel/assets/{colors-DzVM_fpJ.js → colors-DEsJRV3n.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-Hhmg51yT.js → compact-item-DoDYAzN9.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-SwHt7x3Q.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-HGNKkn9A.js → hasIn-CAsABTHC.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cc-d6f0F.js → index-B0ApxOMw.js} +1 -1
- package/src/assets/web-panel/assets/{index-E-bI8HpV.js → index-B4SfcwZA.js} +1 -1
- package/src/assets/web-panel/assets/{index-BJqNTF1S.js → index-B9Z75LfA.js} +1 -1
- package/src/assets/web-panel/assets/{index-DgoefbLs.js → index-B9hYHPhs.js} +1 -1
- package/src/assets/web-panel/assets/{index-CDtzUt75.js → index-BDRh3v44.js} +1 -1
- package/src/assets/web-panel/assets/{index-B_HgLPC5.js → index-BcYbQoY7.js} +1 -1
- package/src/assets/web-panel/assets/{index-C1QJxiOL.js → index-Bmwo5wQG.js} +1 -1
- package/src/assets/web-panel/assets/{index-ChLHLBkF.js → index-Bn2ZPUXO.js} +1 -1
- package/src/assets/web-panel/assets/{index-D5dcWBqg.js → index-BnbnmRqg.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bq9MMKno.js → index-Bqyg3PME.js} +1 -1
- package/src/assets/web-panel/assets/{index-Ba2Kszdy.js → index-BrIIJ2s-.js} +1 -1
- package/src/assets/web-panel/assets/{index-BDt4wSl6.js → index-BxT8yTwS.js} +1 -1
- package/src/assets/web-panel/assets/{index-COOcGOyK.js → index-Bycj011d.js} +1 -1
- package/src/assets/web-panel/assets/{index-DQT5thlV.js → index-BzMA6Ra3.js} +1 -1
- package/src/assets/web-panel/assets/{index-F7Grz3-G.js → index-C1YDdyQ1.js} +1 -1
- package/src/assets/web-panel/assets/{index-jrRtmiUh.js → index-CE2J04dA.js} +1 -1
- package/src/assets/web-panel/assets/index-CFF8XEFE.js +1 -0
- package/src/assets/web-panel/assets/{index-BDE-WiE5.js → index-CQE-WMEU.js} +1 -1
- package/src/assets/web-panel/assets/{index-B6YQN5_R.js → index-CVQSl1uY.js} +1 -1
- package/src/assets/web-panel/assets/{index-BlHB5eax.js → index-CeJSTcXw.js} +1 -1
- package/src/assets/web-panel/assets/{index-C-YkiVyL.js → index-CeWJqXNX.js} +1 -1
- package/src/assets/web-panel/assets/{index-BRikmONJ.js → index-Cf3sFEoE.js} +1 -1
- package/src/assets/web-panel/assets/{index-MDdTkUpA.js → index-D5Fd4tdL.js} +1 -1
- package/src/assets/web-panel/assets/{index-CMG_2fK2.js → index-DDQzBK3l.js} +1 -1
- package/src/assets/web-panel/assets/{index-Co4RcBua.js → index-DQmX_-hk.js} +1 -1
- package/src/assets/web-panel/assets/{index--iOqM_AI.js → index-DRAA2McB.js} +1 -1
- package/src/assets/web-panel/assets/{index-pwLuJGFh.js → index-DU2Rpx1m.js} +1 -1
- package/src/assets/web-panel/assets/index-DVUEISry.js +1 -0
- package/src/assets/web-panel/assets/{index-AQcDW8bB.js → index-DWZNYecl.js} +3 -3
- package/src/assets/web-panel/assets/{index-oz0Xxs8D.js → index-D_CMB_wC.js} +1 -1
- package/src/assets/web-panel/assets/{index-aKV4Py_2.js → index-Dbb34cAr.js} +1 -1
- package/src/assets/web-panel/assets/{index-BstLYy9q.js → index-DciLb_Ww.js} +1 -1
- package/src/assets/web-panel/assets/{index-DyZUrnje.js → index-Dgt1mKby.js} +1 -1
- package/src/assets/web-panel/assets/{index-sYkFp9A4.js → index-Dhnau6uw.js} +1 -1
- package/src/assets/web-panel/assets/{index-BDhCx17_.js → index-DrsAF-Ar.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dcg7nQDe.js → index-DsoFTdA2.js} +1 -1
- package/src/assets/web-panel/assets/{index-CWkWh48N.js → index-TSwbtCYG.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cnm4zroJ.js → index-kIyLNyoF.js} +1 -1
- package/src/assets/web-panel/assets/{index-BmPYmoY3.js → index-tCeNfxv4.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-C_2QM45F.js → initDefaultProps-CNjeeoKE.js} +1 -1
- package/src/assets/web-panel/assets/{motion-DkxY04tR.js → motion-CBT8IZDm.js} +1 -1
- package/src/assets/web-panel/assets/{move-D0CJlA7D.js → move-h1MOxjqv.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-DjP38YUD.js → mtc-parser-C_3pqNmn.js} +1 -1
- package/src/assets/web-panel/assets/{omit-C9CJDaGT.js → omit-CMUnPFDk.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-D5Wq2fa8.js → pickAttrs-p8_c1xq0.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-DJ6Dixs7.js → placementArrow-D6O67r23.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-DMmM0Dee.js → responsiveObserve-DquhepAK.js} +1 -1
- package/src/assets/web-panel/assets/{slide-DipmpYA-.js → slide-CZ-m6gmS.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-DSqw6_nU.js → statusUtils-k9ejZFtd.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-t828MYjI.js → styleChecker-NX6_137R.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-COsSNzDQ.js → useFlexGapSupport-bCqR70lP.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-Bq5IEzv_.js → useFs-2l0vSqyY.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-CUKM0HdW.js → usePersonalDataHub-1yccm4O7.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-l-JwAt2M.js → vnode-CxQzajDo.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-D7xkW-gD.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/llm.js +4 -3
- package/src/commands/stream.js +28 -7
- package/src/commands/ui.js +10 -2
- package/src/data/changelog.json +39 -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-artifact-ports.js +40 -3
- package/src/lib/evolution/evolution-deployment-loader.js +7 -1
- package/src/lib/evolution/evolution-file-identity.js +50 -0
- package/src/lib/evolution/evolution-file-witness.js +206 -91
- package/src/lib/evolution/evolution-ledger-file-backend.js +4 -0
- package/src/lib/evolution/evolution-ledger.js +37 -5
- package/src/lib/evolution/evolution-witness-segments.js +330 -0
- 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/evolution/progressive-canary-external-watchdog.js +6 -4
- package/src/lib/evolution/skill-candidate-registry.js +45 -11
- package/src/lib/evolution/skill-release-registry.js +46 -12
- package/src/lib/llm-connection-probe.js +21 -4
- 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/MobileProjects-Zt1cpErd.js +0 -1
- package/src/assets/web-panel/assets/OrderTableRenderer-DBmCtl2H.js +0 -1
- package/src/assets/web-panel/assets/PdhVaultBrowser-CWG2OLvh.js +0 -7
- package/src/assets/web-panel/assets/Tasks-Cf4bl7NS.js +0 -1
- package/src/assets/web-panel/assets/devWarning-5q_Y0E88.js +0 -1
- package/src/assets/web-panel/assets/index-dl9TJMh5.js +0 -1
- package/src/assets/web-panel/assets/index-x0DDgUaT.js +0 -1
package/src/assets/web-panel/assets/{placementArrow-DJ6Dixs7.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-DMmM0Dee.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-COsSNzDQ.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/llm.js
CHANGED
|
@@ -71,12 +71,13 @@ export function resolveLlmTestTarget(
|
|
|
71
71
|
) {
|
|
72
72
|
const llm = config.llm || {};
|
|
73
73
|
const provider = options.provider || llm.provider || "ollama";
|
|
74
|
+
const sameProvider = provider === (llm.provider || "ollama");
|
|
74
75
|
const isOllama = provider === "ollama";
|
|
75
76
|
const builtIn = builtIns[provider];
|
|
76
77
|
|
|
77
78
|
const model =
|
|
78
79
|
options.model ||
|
|
79
|
-
llm.model ||
|
|
80
|
+
(sameProvider ? llm.model : undefined) ||
|
|
80
81
|
(isOllama ? "qwen2:7b" : builtIn?.models?.[0] || "gpt-4o-mini");
|
|
81
82
|
|
|
82
83
|
let baseUrl;
|
|
@@ -89,7 +90,7 @@ export function resolveLlmTestTarget(
|
|
|
89
90
|
} else {
|
|
90
91
|
baseUrl =
|
|
91
92
|
options.baseUrl ||
|
|
92
|
-
llm.baseUrl ||
|
|
93
|
+
(sameProvider ? llm.baseUrl : undefined) ||
|
|
93
94
|
builtIn?.baseUrl ||
|
|
94
95
|
"https://api.openai.com/v1";
|
|
95
96
|
}
|
|
@@ -97,7 +98,7 @@ export function resolveLlmTestTarget(
|
|
|
97
98
|
const apiKey = isOllama
|
|
98
99
|
? undefined
|
|
99
100
|
: options.apiKey ||
|
|
100
|
-
llm.apiKey ||
|
|
101
|
+
(sameProvider ? llm.apiKey : undefined) ||
|
|
101
102
|
(builtIn?.apiKeyEnv ? env[builtIn.apiKeyEnv] : undefined);
|
|
102
103
|
|
|
103
104
|
return {
|
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,45 @@
|
|
|
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
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"productVersion": null,
|
|
19
|
+
"cliVersion": "0.166.36",
|
|
20
|
+
"cliVersions": ["0.166.35", "0.166.36"],
|
|
21
|
+
"date": "2026-09-08",
|
|
22
|
+
"title": "",
|
|
23
|
+
"sections": [
|
|
24
|
+
{
|
|
25
|
+
"heading": "Fixed - cc CLI 0.166.36: test reasoning model connections without false failures",
|
|
26
|
+
"body": "> `chainlesschain` **0.166.35 -> 0.166.36** (2026-09-08), source candidate\n> awaiting the exact-commit release matrix.\n\n- Give CLI and IDE connection tests a bounded 1,024-token output allowance.\n The previous 16-token request could exhaust a reasoning model's budget\n before its final answer and incorrectly suggest invalid connection settings.\n- Distinguish output exhaustion from an empty or malformed response, and keep\n Gemini thought parts out of the displayed answer. Preserve the configured\n model's reasoning behavior and the request timeout; do not retry the probe.\n- When `llm test --provider` selects another provider, use that provider's\n model, endpoint and credential defaults instead of mixing in saved values\n from the previous provider.\n- Derive each Canary heartbeat expiry from its single issuance timestamp.\n Crossing a wall-clock millisecond while building the signed lease no longer\n rejects an otherwise valid heartbeat.\n- Reproduced against the configured Ark `deepseek-v4-flash-260425`: the old\n request returned HTTP 200, `finish_reason=length`, 16 reasoning tokens and\n no answer; the corrected request returned `finish_reason=stop` and `Hi`.\n CLI and IDE adapter regression tests also use an isolated local relay."
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"productVersion": null,
|
|
32
|
+
"cliVersion": "0.166.35",
|
|
33
|
+
"cliVersions": ["0.166.34", "0.166.35"],
|
|
34
|
+
"date": "2026-09-08",
|
|
35
|
+
"title": "",
|
|
36
|
+
"sections": [
|
|
37
|
+
{
|
|
38
|
+
"heading": "Fixed - cc CLI 0.166.35: restore governed storage and bound witness rewrites",
|
|
39
|
+
"body": "> `chainlesschain` **0.166.34 -> 0.166.35** (2026-09-08), source candidate\n> awaiting the exact-commit release matrix.\n\n- Move authenticated file-witness prefixes into immutable 256-record segments\n and rewrite only the bounded tail after migration from the legacy store.\n- Rehash every referenced segment on each read, preserve ancestry and discard\n fences across segment boundaries, and invalidate verified summaries when\n the authority trust epoch changes.\n- Preserve the existing aggregate byte limit by default; separately configure\n larger history budgets without raising the per-file allocation limit.\n- Confirm published segment bytes by durable readback before advancing the\n witness head, and retain recoverable publication ordering across crashes.\n- Capture authority methods and caller inputs before callbacks can replace\n them. Document backup and runtime compatibility for the v2 storage format.\n- Use the existing trusted-directory device check for affected Windows libuv\n path/handle stat projections across EvolutionLedger, file witness,\n ArtifactStore and Candidate/Release Registry storage.\n- Keep inode, mode, link-count, size and read-time metadata comparisons exact,\n and preserve pathname identities across publication and authenticated caches.\n- Retain bounded local-test CLI startup errors in the Workbench browser\n evidence job so process exit failures identify their underlying cause."
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
},
|
|
4
43
|
{
|
|
5
44
|
"productVersion": null,
|
|
6
45
|
"cliVersion": "0.166.34",
|
|
@@ -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
|
|