chainlesschain 0.166.41 → 0.166.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/assets/web-panel/.build-hash +1 -1
- package/src/assets/web-panel/assets/{AIOps-CK9AMSXc.js → AIOps-BIl-Z62M.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-B_PARoec.js → ActionButton-BgPi_Te6.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-kB2GmWlI.js → Analytics-CaNIzlAG.js} +3 -3
- package/src/assets/web-panel/assets/AppLayout-D9GSx2hl.js +9 -0
- package/src/assets/web-panel/assets/{Artifacts-C30LufT9.js → Artifacts-Kq7kotzv.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-Dx477PoD.js → Audit-e1RTJLco.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-ClvsCYCT.js → BackgroundAgents-BfyNT0BW.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-Bx9uCsgt.js → Backup-BEAq7i6S.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-Br_ecv7G.js → BaseInput-BHuP82DF.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-Dzr-d6NV.js → Chat-BLPgCQsB.js} +6 -6
- package/src/assets/web-panel/assets/ChatBubbleRenderer-DWXPJh-J.js +1 -0
- package/src/assets/web-panel/assets/{Checkbox-C9O-E90A.js → Checkbox-DDJrOqEh.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-CTRBkb29.js → Codegen-CxyKcM6S.js} +1 -1
- package/src/assets/web-panel/assets/{Col--50unLLP.js → Col-BYFh9rE1.js} +1 -1
- package/src/assets/web-panel/assets/{Community-CFtrKGE_.js → Community-D8JPppoh.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-DFoxxofh.js → Compact-B5VGSqZe.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-CTpxqxpc.js → Compliance-C7KiFcUK.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-Dr-56gcV.js → Cowork-D-F2fgA_.js} +3 -3
- package/src/assets/web-panel/assets/{Cron-B4xZgO5G.js → Cron-B6TmPqRO.js} +2 -2
- package/src/assets/web-panel/assets/{Crosschain-Da7BQ7f3.js → Crosschain-BeGcBXhk.js} +1 -1
- package/src/assets/web-panel/assets/{DID-DRsk74D5.js → DID-9QklLcmQ.js} +2 -2
- package/src/assets/web-panel/assets/{Dashboard-DqtAeCxK.js → Dashboard-DIadmsuS.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-CvWZp7Kk.js → Dropdown-0I5gks3i.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-D2gWVD3O.js → EmailListRenderer-BdTAjT2q.js} +1 -1
- package/src/assets/web-panel/assets/EvolutionSettings-Bdw8ApoT.css +1 -0
- package/src/assets/web-panel/assets/EvolutionSettings-C7_tq643.js +1 -0
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-BFrROP-5.js → FamilyGuardDashboard-DQUQWwUY.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-CNMTv4_n.js → Federation-Drgi--Zn.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-Ct_saU8n.js → FormItemContext-BOf-9P8n.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-CrBn2s3P.js → GenericCardRenderer-CBBnIDaW.js} +1 -1
- package/src/assets/web-panel/assets/{Git-CufnJCrr.js → Git-BKimGd5P.js} +2 -2
- package/src/assets/web-panel/assets/{Governance-DKS1J5P5.js → Governance-DoXCXppu.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-CxB7n-T4.js → Inference-DzOhGhOE.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-uaO_yOid.js → KnowledgeGraph-DawgmU58.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-DnR-CXn3.js → Logs-Co3EJL2Y.js} +2 -2
- package/src/assets/web-panel/assets/{MarkdownRenderer-DdkDiGUd.js → MarkdownRenderer-VUfiDRZN.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-ePcCe7m1.js → Marketplace-BqpMHnMW.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-CAR6PCH2.js → McpTools-C7ZSokcR.js} +2 -2
- package/src/assets/web-panel/assets/{Memory-Bl_H1aqs.js → Memory-DuJrpeDx.js} +2 -2
- package/src/assets/web-panel/assets/{MobileBridge-BjMD_o0K.js → MobileBridge-CaM744NU.js} +1 -1
- package/src/assets/web-panel/assets/MobileProjects-Bd78jDwm.js +1 -0
- package/src/assets/web-panel/assets/{Mtc-DxN4oBCy.js → Mtc-5oUB7lPh.js} +6 -6
- package/src/assets/web-panel/assets/{MtcAudit-CZg_CONT.js → MtcAudit-D9DNF6DB.js} +4 -4
- package/src/assets/web-panel/assets/{Multisig-D3nrsJvN.js → Multisig-CfMpFQSr.js} +3 -3
- package/src/assets/web-panel/assets/{NLProgramming-DfffM-fH.js → NLProgramming-CuhPZQ7q.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-QE3VQe9j.js → Notes-NtSeMoyM.js} +4 -4
- package/src/assets/web-panel/assets/{NotificationSettings-CYGciq5y.js → NotificationSettings-CB4e7V83.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-Cx5IwZLp.js → OrderTableRenderer-Bu8C6Qlj.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-C8RQZUBu.js → Organization-K_0bjm7y.js} +4 -4
- package/src/assets/web-panel/assets/{Overflow-Dg6cVFza.js → Overflow-D2vwxiPv.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-DjRkujm6.js → P2P-WQMHBu8q.js} +2 -2
- package/src/assets/web-panel/assets/{PdhVaultBrowser-CMpEtOjE.js → PdhVaultBrowser-CTZVBMZZ.js} +5 -5
- package/src/assets/web-panel/assets/{Permissions-jOoYkoQU.js → Permissions-DcLy9Nfp.js} +4 -4
- package/src/assets/web-panel/assets/{PersonalDataHub-CfArs3Fo.js → PersonalDataHub-zc-cm-02.js} +4 -4
- package/src/assets/web-panel/assets/{Pipeline-DBaHyX1b.js → Pipeline-CCnI8peM.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-Wv2VD4nl.js → Privacy-DO1Xor8L.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CiJPc1_A.js → ProjectInit-CZqC-jyt.js} +2 -2
- package/src/assets/web-panel/assets/{ProjectSettings-Dw1cWjEG.js → ProjectSettings-DqJtyavX.js} +2 -2
- package/src/assets/web-panel/assets/{Projects-CWtB5sqm.js → Projects-Dx14NAO3.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-DSn6SDyz.js → Providers-DH13a6ro.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-ft3b2Qpr.js → QrScannerModal-C9bwzVfA.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-GE6AQSq7.js → QuickAsk-Cbt-oIPf.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-DMSEq8uY.js → Recommend-BYIimGcY.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-Uu-HSEai.js → RemoteSession-C8OWTG1H.js} +2 -2
- package/src/assets/web-panel/assets/{Reputation-CIcpi3_V.js → Reputation-DpUGT_jD.js} +1 -1
- package/src/assets/web-panel/assets/{Row-UVMeD3Wm.js → Row-DZ5Izi2A.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CD4MNI1l.js → RssFeed-CAn94No1.js} +3 -3
- package/src/assets/web-panel/assets/{Search-AlxcFL5q.js → Search-BqNaxcgj.js} +1 -1
- package/src/assets/web-panel/assets/{Security-Du5J0dDR.js → Security-Ck6vFTWn.js} +4 -4
- package/src/assets/web-panel/assets/{Services-CGDVJAoN.js → Services-Y3RdvvDj.js} +2 -2
- package/src/assets/web-panel/assets/{Skeleton-CCQDNIXk.js → Skeleton-Cx9Iqcp7.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-4BRwqGQe.js → Skills-Oiqz7wLM.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-CgG0JuJh.js → Sla-DaKJQADm.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-qgkTz2pO.js → SpeechSettings-BWoOpPW4.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-DRTuKcuZ.js → SyncSettings-CgFle8GX.js} +2 -2
- package/src/assets/web-panel/assets/Tasks-C1tQNvWx.js +1 -0
- package/src/assets/web-panel/assets/{Templates-d78d-BZI.js → Templates-CvvycaWi.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-XwKmfX8F.js → Tenant-D1FwaD12.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-Wqr2Kcev.js → Terminal-oorFjObO.js} +2 -2
- package/src/assets/web-panel/assets/TimelineRenderer-BjMs48Sj.js +1 -0
- package/src/assets/web-panel/assets/{Tokens-DWRgtMpW.js → Tokens-BkRb95xG.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-BCDWY1I7.js → Trigger-B94RYYAF.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-CI47nsTZ.js → Trust-DnBVpOWt.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-BxxUVNJf.js → UkeySign-DouHO6Up.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-K6atXnE3.js → VideoEditing-DDgRerWV.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-DALnM69L.js → Wallet-CQN9Un7X.js} +4 -4
- package/src/assets/web-panel/assets/{WebAuthn-DiDAUHrG.js → WebAuthn-DyHl2G3J.js} +4 -4
- package/src/assets/web-panel/assets/{WorkflowEditor-CCYTnfUH.js → WorkflowEditor-BQlN77Ey.js} +1 -1
- package/src/assets/web-panel/assets/{chat-0oQNEtRw.js → chat-0jOqe7ZD.js} +1 -1
- package/src/assets/web-panel/assets/{colors-C1A1ekPG.js → colors-kp5TAaKx.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-Bm5w8Q--.js → compact-item-DqF6Rml7.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-VzW0CVyb.js → createContext-lDyLBjy5.js} +1 -1
- package/src/assets/web-panel/assets/devWarning-IfrMTwCK.js +1 -0
- package/src/assets/web-panel/assets/{hasIn-B8u-fCyP.js → hasIn-CkiF91kH.js} +1 -1
- package/src/assets/web-panel/assets/{index-5dKHibv1.js → index-8Hxbv1SG.js} +1 -1
- package/src/assets/web-panel/assets/{index-DOrjt98B.js → index-B6V9l2P-.js} +1 -1
- package/src/assets/web-panel/assets/{index-CflXFLrN.js → index-BAtpuJQ7.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dj0yOalO.js → index-BKFL4DfP.js} +1 -1
- package/src/assets/web-panel/assets/{index-NzJz9-49.js → index-BPcjLn2w.js} +1 -1
- package/src/assets/web-panel/assets/{index-BicVNOi5.js → index-BPwtIqRo.js} +1 -1
- package/src/assets/web-panel/assets/{index-C4_ABRMS.js → index-BRu6Pe98.js} +1 -1
- package/src/assets/web-panel/assets/{index-C5LAh2pw.js → index-BSAeSPQe.js} +1 -1
- package/src/assets/web-panel/assets/{index-CtMiuJK-.js → index-BUqE17wu.js} +1 -1
- package/src/assets/web-panel/assets/{index-k5exH2qO.js → index-BnU8hi3c.js} +1 -1
- package/src/assets/web-panel/assets/{index-KCmGGWAT.js → index-Bq2s5obn.js} +5 -5
- package/src/assets/web-panel/assets/{index-DBE3blUA.js → index-Bu14YcwM.js} +1 -1
- package/src/assets/web-panel/assets/{index-BIYC0OR5.js → index-BvFFY-2V.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dxx4WU96.js → index-ByggSxTQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-BEQNF8dD.js → index-C-CS_-jC.js} +1 -1
- package/src/assets/web-panel/assets/index-C7nsIbMa.js +1 -0
- package/src/assets/web-panel/assets/{index-lE4Q1Goz.js → index-CI-H0ljO.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dy85cPQr.js → index-CLchRTsS.js} +1 -1
- package/src/assets/web-panel/assets/{index-CXEOVGeZ.js → index-CNPCAYHk.js} +1 -1
- package/src/assets/web-panel/assets/index-DFXFLdKN.js +1 -0
- package/src/assets/web-panel/assets/{index-BVcRk2yF.js → index-DHVNtkrR.js} +1 -1
- package/src/assets/web-panel/assets/{index-CX4GAKgB.js → index-DHnFhMOL.js} +1 -1
- package/src/assets/web-panel/assets/{index-BdhglNFh.js → index-DK47iA2d.js} +1 -1
- package/src/assets/web-panel/assets/{index-D7q2TsaJ.js → index-DPHmcQWh.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcLZlcMA.js → index-DQGk8bV8.js} +1 -1
- package/src/assets/web-panel/assets/{index-SmhdgbaR.js → index-DSDM-VNz.js} +1 -1
- package/src/assets/web-panel/assets/{index-C0m5PpMV.js → index-DTA_B9gU.js} +1 -1
- package/src/assets/web-panel/assets/{index-DV_Pfu-b.js → index-DX40v3aL.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcmUqRug.js → index-DZU13W4o.js} +1 -1
- package/src/assets/web-panel/assets/{index-CzTQseVr.js → index-DduPk1RS.js} +1 -1
- package/src/assets/web-panel/assets/{index-DW-aGHSh.js → index-DgGNW2ep.js} +1 -1
- package/src/assets/web-panel/assets/{index-BbFi-5C6.js → index-DnI__Fwu.js} +1 -1
- package/src/assets/web-panel/assets/{index-jMjP2tFO.js → index-DrVVi5jX.js} +1 -1
- package/src/assets/web-panel/assets/{index-DjMG0Vw9.js → index-DzU_SfdF.js} +1 -1
- package/src/assets/web-panel/assets/{index-CpZdwtCH.js → index-INxX1TMz.js} +1 -1
- package/src/assets/web-panel/assets/{index-BfKBL8PY.js → index-X1l5-ive.js} +1 -1
- package/src/assets/web-panel/assets/{index-Bg-LBQME.js → index-aHKeys8c.js} +1 -1
- package/src/assets/web-panel/assets/{index-CicT_guC.js → index-kenTha3h.js} +1 -1
- package/src/assets/web-panel/assets/{index-D6ou7QIj.js → index-mkwJZMBT.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DbZ3dIR7.js → initDefaultProps-CYYQ0SI1.js} +1 -1
- package/src/assets/web-panel/assets/{motion-ATVJwqzT.js → motion--Tyo36te.js} +1 -1
- package/src/assets/web-panel/assets/{move-Bxj0ZywY.js → move-D2BjgQv7.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-0j7iOj1h.js → mtc-parser-dyIu5RU_.js} +1 -1
- package/src/assets/web-panel/assets/{omit-DsAzx9jL.js → omit-CDEAhC5H.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-CIyAoQIB.js → pickAttrs-DLKDlIQs.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-KU51oLwW.js → placementArrow-BveC8fe2.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CCmx1m3K.js → responsiveObserve-51urgYrW.js} +1 -1
- package/src/assets/web-panel/assets/{slide-CoxSb_UP.js → slide-CCHbhZg-.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-B-3-3uWm.js → statusUtils-W4mtUXRP.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-BT1IFFpw.js → styleChecker-D4Drrz2a.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-CEKYnxGt.js → useFlexGapSupport-BBCd4kCM.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-B_UyzZK-.js → useFs-4Khxvw5Y.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-B7fGu-O1.js → usePersonalDataHub-7c72tleZ.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-BLOmOgkK.js → vnode-DzZ7Y0LN.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-8yzckhp-.js → zoom-C5jhaET3.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/command-help-index.json +1 -1
- package/src/commands/evolution-deployment.js +95 -0
- package/src/commands/evolution.js +2 -0
- package/src/data/changelog.json +26 -0
- package/src/gateways/ws/evolution-deployment-topic-handlers.js +53 -0
- package/src/lib/evolution/evolution-deployment-config.js +81 -0
- package/src/lib/evolution/evolution-deployment-loader.js +62 -13
- package/src/lib/evolution/evolution-deployment-profile.js +114 -0
- package/src/lib/pr-investigation-policy.js +42 -0
- package/src/lib/public-ide-capability-manifest.js +2 -0
- package/src/lib/read-file-loop-guard.js +36 -3
- package/src/lib/remote-read-loop-guard.js +65 -6
- package/src/lib/task-progress-tracker.js +97 -3
- package/src/lib/text-file-search.js +11 -0
- package/src/runtime/agent-core.js +130 -23
- package/src/runtime/agent-runtime.js +2 -0
- package/src/assets/web-panel/assets/AppLayout-SnniLCL6.js +0 -9
- package/src/assets/web-panel/assets/ChatBubbleRenderer-BQ7pUK2c.js +0 -1
- package/src/assets/web-panel/assets/MobileProjects--CKxaWJC.js +0 -1
- package/src/assets/web-panel/assets/Tasks-BfOq9EqX.js +0 -1
- package/src/assets/web-panel/assets/TimelineRenderer-BjzPNKDr.js +0 -1
- package/src/assets/web-panel/assets/devWarning-BuusI785.js +0 -1
- package/src/assets/web-panel/assets/index-BiH_a1Cv.js +0 -1
- package/src/assets/web-panel/assets/index-t3MTPSt6.js +0 -1
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{b as v,r as P,I as k,P as p,J as L,c as e,K as t,U as d,Q as l,R as a,S as A,F as I,Z as se,_ as W,V as m,o as z,x as $,$ as fe,N as J,f as ee,M as te,w as ne,a0 as me}from"./vendor-Bn1JzzAn.js";import{u as H,_ as Y,E as ke,a as oe,b as ie,c as ae,T as ge,d as V}from"./index-KCmGGWAT.js";import{u as U}from"./useShellMode-CgR0wCYM.js";import{R as _e,B as de,M as ue,F as Oe,U as he,D as be,S as we,h as ve,i as Le,j as Se,N as Ce,k as Be,l as Ee,m as Te,n as Ae,A as Me,P as Re,o as Pe,p as De,q as je,r as Ne,s as Ue,t as Ie,u as Fe,v as Ke,w as Ve,x as We,y as ze,V as Ge,K as He,z as qe,G as Je,H as Xe,J as Ye,O as Ze,W as Qe,Q as xe,X as $e,Y as et,Z as tt,_ as nt,$ as ot,a0 as it,a1 as at,a2 as lt,a3 as rt,a4 as st,a5 as dt,a6 as ut,e as ct,a7 as yt,a8 as pt,a9 as ft,aa as mt,ab as kt,ac as gt,ad as _t}from"./icons-DG5UD-6K.js";import le from"./index-DOrjt98B.js";import"./KeyCode-D63Tfrq7.js";import"./omit-DsAzx9jL.js";import"./pickAttrs-CIyAoQIB.js";import"./initDefaultProps-DbZ3dIR7.js";import"./motion-ATVJwqzT.js";import"./raf-Deuc0E8-.js";import"./index-BicVNOi5.js";import"./index-k5exH2qO.js";import"./isVisible-C7tPsqfj.js";import"./useState-CnxtbLoC.js";import"./devWarning-BuusI785.js";import"./compact-item-Bm5w8Q--.js";import"./createContext-VzW0CVyb.js";import"./Compact-DFoxxofh.js";import"./_getTag-DnrRH4E6.js";import"./styleChecker-BT1IFFpw.js";import"./zoom-8yzckhp-.js";import"./ActionButton-B_PARoec.js";import"./vnode-BLOmOgkK.js";const Ot=""+new URL("logo-DBCYUiWP.png",import.meta.url).href,E={notifications:P([]),unreadCount:P(0)};function G(i){if(i&&i.ok===!1)throw new Error(i.error||"notification handler failed");return i?.result??i}function re(){const i=H();async function u({limit:o=50,offset:s=0,isRead:f}={}){if(!U().isEmbedded)return E.notifications.value=[],E.unreadCount.value=0,E.notifications.value;const _=await i.sendRaw({type:"notification.list",limit:o,offset:s,isRead:f},15e3),O=G(_);if(O?.success===!1)throw new Error(O.error||"notification.list failed");return E.notifications.value=Array.isArray(O?.notifications)?O.notifications:[],await S(),E.notifications.value}async function S(){if(!U().isEmbedded)return E.unreadCount.value=0,0;const o=await i.sendRaw({type:"notification.unread-count"},1e4),s=G(o);return E.unreadCount.value=Number(s?.count)||0,E.unreadCount.value}async function n(o){if(o==null||o==="")throw new Error("id is required");if(!U().isEmbedded)return;const s=await i.sendRaw({type:"notification.mark-read",id:o},1e4),f=G(s);if(f?.success===!1)throw new Error(f.error||"notification.mark-read failed");const _=E.notifications.value.find(O=>O.id===o);_&&(_.is_read=1),await S()}async function g(){if(!U().isEmbedded)return;const o=await i.sendRaw({type:"notification.mark-all-read"},1e4),s=G(o);if(s?.success===!1)throw new Error(s.error||"notification.mark-all-read failed");for(const f of E.notifications.value)f.is_read=1;E.unreadCount.value=0}async function h(o,s=""){if(!U().isEmbedded)throw new Error("桌面通知仅在嵌入式 web-shell 中可用");const f=await i.sendRaw({type:"notification.send-desktop",title:o,body:s},1e4),_=G(f);if(_?.success===!1)throw new Error(_.error||"notification.send-desktop failed")}return{notifications:v(()=>E.notifications.value),unreadCount:v(()=>E.unreadCount.value),refresh:u,refreshUnreadCount:S,markRead:n,markAllRead:g,sendDesktop:h}}const ht={__name:"NotificationBell",setup(i,{expose:u}){u();const S=P(!1),n=P("all"),g=P(!1),{notifications:h,unreadCount:o,refresh:s,markRead:f,markAllRead:_}=re();function O(){D()}z(()=>{window.addEventListener("cc:open-notification-drawer",O)}),$(()=>{window.removeEventListener("cc:open-notification-drawer",O)});const M=v(()=>n.value==="unread"?h.value.filter(c=>!c.is_read):h.value);async function C(){if(U().isEmbedded){g.value=!0;try{await s({limit:100})}catch{}finally{g.value=!1}}}async function D(){S.value=!0,await C()}async function j(c){if(!c.is_read)try{await f(c.id)}catch{}}async function r(){try{await _()}catch(c){console.warn("[NotificationBell] markAllRead failed:",c?.message||c)}}function w(c){if(!c)return"";const b=typeof c=="string"?Date.parse(c):Number(c);if(!Number.isFinite(b))return String(c);const R=Date.now()-b,N=6e4,F=60*N,K=24*F;return R<N?"刚刚":R<F?`${Math.floor(R/N)} 分钟前`:R<K?`${Math.floor(R/F)} 小时前`:new Date(b).toLocaleDateString()}const T={visible:S,filter:n,loading:g,notifications:h,unreadCount:o,refresh:s,markRead:f,markAllRead:_,_onOpenEvent:O,filtered:M,refreshList:C,onOpen:D,onItemClick:j,onMarkAllRead:r,formatTime:w,ref:P,computed:v,onMounted:z,onUnmounted:$,get Empty(){return ke},get BellOutlined(){return de},get ReloadOutlined(){return _e},get useNotifications(){return re},get useShellMode(){return U}};return Object.defineProperty(T,"__isScriptSetup",{enumerable:!1,value:!0}),T}},bt={class:"notif-toolbar"},wt={class:"notif-body"},vt={key:2,class:"notif-list"},Lt=["onClick"],St={class:"notif-row"},Ct={class:"notif-title"},Bt={class:"notif-time"},Et={key:0,class:"notif-message"};function Tt(i,u,S,n,g,h){const o=k("a-badge"),s=k("a-tooltip"),f=k("a-radio-button"),_=k("a-radio-group"),O=k("a-space"),M=k("a-button"),C=k("a-empty"),D=k("a-spin"),j=k("a-drawer");return p(),L(I,null,[e(s,{title:"通知"},{default:t(()=>[e(o,{count:n.unreadCount,"overflow-count":99,offset:[-4,4]},{default:t(()=>[d("button",{type:"button",class:"notif-bell-btn","aria-label":"通知",onClick:n.onOpen},[e(n.BellOutlined)])]),_:1},8,["count"])]),_:1}),e(j,{open:n.visible,"onUpdate:open":u[1]||(u[1]=r=>n.visible=r),title:"通知中心",placement:"right",width:400,"body-style":{padding:0}},{default:t(()=>[d("div",bt,[e(O,null,{default:t(()=>[e(_,{value:n.filter,"onUpdate:value":u[0]||(u[0]=r=>n.filter=r),size:"small","button-style":"solid"},{default:t(()=>[e(f,{value:"all"},{default:t(()=>[l("全部 ("+a(n.notifications.length)+")",1)]),_:1}),e(f,{value:"unread"},{default:t(()=>[l("未读 ("+a(n.unreadCount)+")",1)]),_:1})]),_:1},8,["value"])]),_:1}),e(O,null,{default:t(()=>[e(M,{size:"small",loading:n.loading,onClick:n.refreshList},{icon:t(()=>[e(n.ReloadOutlined)]),_:1},8,["loading"]),e(M,{size:"small",disabled:n.unreadCount===0,onClick:n.onMarkAllRead},{default:t(()=>[...u[2]||(u[2]=[l(" 全部已读 ",-1)])]),_:1},8,["disabled"])]),_:1})]),d("div",wt,[!n.loading&&n.filtered.length===0?(p(),A(C,{key:0,description:"暂无通知",image:n.Empty.PRESENTED_IMAGE_SIMPLE,style:{padding:"60px 0"}},null,8,["image"])):n.loading?(p(),A(D,{key:1,style:{display:"block",padding:"60px"}})):(p(),L("ul",vt,[(p(!0),L(I,null,se(n.filtered,r=>(p(),L("li",{key:r.id,class:W(["notif-item",{unread:!r.is_read}]),onClick:w=>n.onItemClick(r)},[d("div",St,[d("div",Ct,a(r.title||r.message||"(无标题)"),1),d("span",Bt,a(n.formatTime(r.created_at)),1)]),r.message&&r.title?(p(),L("div",Et,a(r.message),1)):m("v-if",!0)],10,Lt))),128))]))])]),_:1},8,["open"])],64)}const At=Y(ht,[["render",Tt],["__scopeId","data-v-8c1554dd"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/components/NotificationBell.vue"]]),Mt={__name:"MobileBridgeHeaderStatus",setup(i,{expose:u}){u();function S(r){if(!r)return[];try{return JSON.parse(r)}catch{}const w=String(r).split(`
|
|
2
|
-
`),T=w.findIndex(c=>{const b=c.trim();if(!b)return!1;const R=b[0];if(R!=="["&&R!=="{")return!1;if(b.length===1)return!0;const N=b[1];return!(N>="A"&&N<="Z"||N>="a"&&N<="z")});if(T<0)return[];for(let c=w.length-1;c>=T;c--){const b=w[c].trim();if(/^[\]\}]/.test(b)&&!/^[\]\}][A-Za-z]/.test(b))try{return JSON.parse(w.slice(T,c+1).join(`
|
|
3
|
-
`))}catch{return[]}}return[]}const n=J(),g=H(),h=P([]);let o=null;const s=v(()=>h.value.length),f=v(()=>h.value.filter(r=>M(r)).length),_=v(()=>s.value===0?"var(--text-muted, #999)":"#52c41a"),O=v(()=>s.value===0?"尚未配对任何手机 — 点击进入配对":`已配对 ${s.value} 台手机 — 点击进入管理`);function M(r){if(!r)return!1;if(typeof r.online=="boolean")return r.online;const w=(r.status||"").toLowerCase();return w==="online"||w==="connected"||w==="active"||w==="paired"}async function C(){if(g.status==="connected")try{const{output:r}=await g.execute("p2p devices --type mobile --json",1e4);h.value=S(r)||[]}catch{}}function D(){n.push("/mobile-bridge")}z(()=>{C(),o=setInterval(C,5e3)}),ee(()=>{o&&(clearInterval(o),o=null)});const j={parseJsonOutput:S,router:n,ws:g,devices:h,get pollTimer(){return o},set pollTimer(r){o=r},totalCount:s,onlineCount:f,iconColor:_,tooltip:O,isOnline:M,refresh:C,onClick:D,ref:P,computed:v,onMounted:z,onBeforeUnmount:ee,get useRouter(){return J},get MobileOutlined(){return ue},get useWsStore(){return H}};return Object.defineProperty(j,"__isScriptSetup",{enumerable:!1,value:!0}),j}},Rt={key:0,class:"mbh-count"};function Pt(i,u,S,n,g,h){const o=k("a-badge"),s=k("a-tooltip");return p(),A(s,{title:n.tooltip},{default:t(()=>[e(o,{count:n.totalCount,"show-zero":!1,"overflow-count":9,offset:[-2,4]},{default:t(()=>[d("button",{type:"button",class:W(["mbh-btn",{"mbh-btn--active":n.totalCount>0}]),onClick:n.onClick},[e(n.MobileOutlined,{style:fe({color:n.iconColor,fontSize:"14px"})},null,8,["style"]),n.totalCount>0?(p(),L("span",Rt,a(n.totalCount),1)):m("v-if",!0)],2)]),_:1},8,["count"])]),_:1},8,["title"])}const Dt=Y(Mt,[["render",Pt],["__scopeId","data-v-e8ef01d6"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/components/MobileBridgeHeaderStatus.vue"]]),X="cc.web-panel.sidebar.openKeys",jt={__name:"AppLayout",setup(i,{expose:u}){u();const S=J(),n=te(),g=H(),h=oe(),{t:o}=ie(),s=U(),f=P(!1),_=window.__CC_CONFIG__||{},O=v(()=>_.mode==="project"),M="v5.0.3.135",C=v(()=>h.current),D=v(()=>h.config.vars["--menu-mode"]),j=v(()=>{const y=n.name?.toLowerCase()||"dashboard";return[{mcptools:"mcp",quickask:"quick-ask",ukeysign:"ukey-sign"}[y]||y]}),r=["g-overview","g-config","g-data","g-advanced","g-enterprise","g-social","g-media","g-extension"];function w(){try{const y=localStorage.getItem(X);if(y){const B=JSON.parse(y);if(Array.isArray(B))return B.filter(q=>r.includes(q))}}catch{}return[...r]}const T=P(w());ne(T,y=>{try{localStorage.setItem(X,JSON.stringify(y))}catch{}},{deep:!0});const c=v(()=>g.status),b=v(()=>({connected:"success",connecting:"processing",error:"error",disconnected:"default"})[g.status]||"default"),R=v(()=>{const y=`appLayout.footerStatus.${g.status}`,B=o(y);return B===y?o("appLayout.footerStatus.unknown"):B});function N(y){h.setTheme(y)}const{current:F,supported:K,setLocale:Z}=ae();function ce(){const y=K[(K.indexOf(F.value)+1)%K.length];Z(y)}async function Q(y){try{const B=await g.sendRaw({type:"window.open",role:y},1e4);if(B?.ok===!1){V.error(`打开失败:${B.error||"未知"}`);return}const q=B?.result??B;q?.reason==="role_reserved"?V.warning("该窗口角色被保留"):q?.reason}catch(B){V.error(`打开桌面窗口失败:${B.message||B}`)}}async function ye(){le.confirm({title:"切换到桌面壳?",content:"回到 V5/V6 桌面壳。完整 electronAPI 表面(UKey 硬件 / 原生对话框 / 系统设置等)会重新可用,但失去 web-panel 的 SPA 体验。保存后需要重启应用才生效。",okText:"切换并重启",cancelText:"取消",centered:!0,async onOk(){try{const y=await g.sendRaw({type:"shell.switch",target:"desktop"},5e3);if(y?.ok===!1)throw new Error(y.error||"shell.switch returned failure");V.loading({content:"正在重启…",duration:0})}catch(y){const B=y instanceof Error?y.message:String(y);V.error("切换失败:"+B)}}})}function pe({key:y}){if(typeof y=="string"&&y.startsWith("desktop:")){Q(y);return}S.push({mcp:"/mcp"}[y]||`/${y}`)}z(()=>g.connect());const x={router:S,route:n,ws:g,themeStore:h,t:o,shellMode:s,collapsed:f,cfg:_,isProject:O,PRODUCT_VERSION:M,currentTheme:C,menuTheme:D,selectedKeys:j,ALL_GROUP_KEYS:r,OPEN_KEYS_LS:X,loadOpenKeys:w,openKeys:T,wsStatus:c,statusBadge:b,statusText:R,setTheme:N,locale:F,SUPPORTED_LOCALES:K,setLocale:Z,toggleLocale:ce,openDesktopWindow:Q,switchToDesktopShell:ye,onMenuClick:pe,ref:P,computed:v,onMounted:z,watch:ne,get useRouter(){return J},get useRoute(){return te},get DashboardOutlined(){return _t},get MessageOutlined(){return gt},get RocketOutlined(){return kt},get AppstoreOutlined(){return mt},get ApiOutlined(){return ft},get FolderOutlined(){return pt},get GlobalOutlined(){return yt},get InfoCircleOutlined(){return ct},get ControlOutlined(){return ut},get FileTextOutlined(){return dt},get CloudServerOutlined(){return st},get BookOutlined(){return rt},get BranchesOutlined(){return lt},get ClockCircleOutlined(){return at},get ThunderboltOutlined(){return it},get ApartmentOutlined(){return ot},get SafetyCertificateOutlined(){return nt},get LockOutlined(){return tt},get WifiOutlined(){return et},get CodeOutlined(){return $e},get ProjectOutlined(){return xe},get WalletOutlined(){return Qe},get TeamOutlined(){return Ze},get BarChartOutlined(){return Ye},get BlockOutlined(){return Xe},get CloudUploadOutlined(){return Je},get ReadOutlined(){return qe},get KeyOutlined(){return He},get VideoCameraOutlined(){return Ge},get ShareAltOutlined(){return ze},get IdcardOutlined(){return We},get UsergroupAddOutlined(){return Ve},get ShoppingOutlined(){return Ke},get SwapOutlined(){return Fe},get AlertOutlined(){return Ie},get SafetyOutlined(){return Ue},get ExperimentOutlined(){return Ne},get DeploymentUnitOutlined(){return je},get BulbOutlined(){return De},get BankOutlined(){return Pe},get PartitionOutlined(){return Re},get AuditOutlined(){return Me},get FileSearchOutlined(){return Ae},get TrophyOutlined(){return Te},get FireOutlined(){return Ee},get SearchOutlined(){return Be},get NumberOutlined(){return Ce},get ClusterOutlined(){return Se},get SoundOutlined(){return Le},get DesktopOutlined(){return ve},get BellOutlined(){return de},get SyncOutlined(){return we},get MobileOutlined(){return ue},get DatabaseOutlined(){return be},get UnorderedListOutlined(){return he},get FileDoneOutlined(){return Oe},get message(){return V},get Modal(){return le},get useWsStore(){return H},get useThemeStore(){return oe},get THEMES(){return ge},get logoSrc(){return Ot},get useShellMode(){return U},get useI18n(){return ie},get useLocale(){return ae},NotificationBell:At,MobileBridgeHeaderStatus:Dt};return Object.defineProperty(x,"__isScriptSetup",{enumerable:!1,value:!0}),x}},Nt=["src"],Ut={key:0,class:"logo-text"},It={key:0,class:"mode-banner project"},Ft={class:"banner-info"},Kt={class:"banner-name"},Vt={class:"banner-sub"},Wt={key:1,class:"mode-banner global"},zt={class:"banner-name"},Gt=["title"],Ht={class:"group-label"},qt={class:"group-label"},Jt={class:"group-label"},Xt={class:"group-label"},Yt={class:"group-label"},Zt={class:"group-label"},Qt={class:"group-label"},xt={class:"group-label"},$t={class:"group-label"},en={key:0,class:"footer-text"},tn={class:"header-left"},nn={class:"header-right"},on={class:"theme-switcher"},an=["data-theme-key","onClick"],ln=["data-locale"],rn={class:"lang-switch-label"},sn={class:"version-tag"};function dn(i,u,S,n,g,h){const o=k("a-menu-item"),s=k("a-sub-menu"),f=k("a-menu-divider"),_=k("a-menu"),O=k("a-badge"),M=k("a-layout-sider"),C=k("a-tooltip"),D=k("a-tag"),j=k("a-layout-header"),r=k("router-view"),w=k("a-layout-content"),T=k("a-layout");return p(),A(T,{class:"app-root"},{default:t(()=>[m(" ── Sidebar ─────────────────────────────────────────────────── "),e(M,{collapsed:n.collapsed,"onUpdate:collapsed":u[2]||(u[2]=c=>n.collapsed=c),collapsible:"","collapsed-width":56,width:216,class:"sidebar"},{default:t(()=>[m(" Logo "),d("div",{class:W(["logo",{collapsed:n.collapsed}])},[d("img",{src:n.logoSrc,alt:"ChainlessChain",class:"logo-icon"},null,8,Nt),n.collapsed?m("v-if",!0):(p(),L("span",Ut,"ChainlessChain"))],2),m(" Mode banner "),n.collapsed?(p(),L("div",{key:1,class:"mode-icon-sm",title:n.isProject?n.cfg.projectName:i.$t("appLayout.scope.global")},[n.isProject?(p(),A(n.FolderOutlined,{key:0,style:{color:"#1677ff"}})):(p(),A(n.GlobalOutlined,{key:1,style:{color:"#722ed1"}}))],8,Gt)):(p(),L(I,{key:0},[n.isProject?(p(),L("div",It,[e(n.FolderOutlined,{class:"banner-icon"}),d("div",Ft,[d("div",Kt,a(n.cfg.projectName||i.$t("appLayout.scope.fallbackProject")),1),d("div",Vt,a(i.$t("appLayout.scope.projectPanel")),1)])])):(p(),L("div",Wt,[e(n.GlobalOutlined,{class:"banner-icon"}),d("span",zt,a(i.$t("appLayout.scope.global")),1)]))],64)),m(" Navigation "),e(_,{selectedKeys:n.selectedKeys,"onUpdate:selectedKeys":u[0]||(u[0]=c=>n.selectedKeys=c),openKeys:n.openKeys,"onUpdate:openKeys":u[1]||(u[1]=c=>n.openKeys=c),theme:n.menuTheme,mode:"inline","inline-collapsed":n.collapsed,class:"side-menu",onClick:n.onMenuClick},{default:t(()=>[n.collapsed?(p(),L(I,{key:1},[e(o,{key:"dashboard"},{icon:t(()=>[e(n.DashboardOutlined)]),_:1}),e(o,{key:"chat"},{icon:t(()=>[e(n.MessageOutlined)]),_:1}),e(o,{key:"quick-ask"},{icon:t(()=>[e(n.ThunderboltOutlined)]),_:1}),e(o,{key:"cowork"},{icon:t(()=>[e(n.RocketOutlined)]),_:1}),e(o,{key:"services"},{icon:t(()=>[e(n.ControlOutlined)]),_:1}),e(o,{key:"aiops"},{icon:t(()=>[e(n.AlertOutlined)]),_:1}),e(o,{key:"tokens"},{icon:t(()=>[e(n.NumberOutlined)]),_:1}),e(o,{key:"logs"},{icon:t(()=>[e(n.FileTextOutlined)]),_:1}),e(f,{class:"divider-sm"}),e(o,{key:"skills"},{icon:t(()=>[e(n.AppstoreOutlined)]),_:1}),e(o,{key:"providers"},{icon:t(()=>[e(n.ApiOutlined)]),_:1}),e(o,{key:"mcp"},{icon:t(()=>[e(n.CloudServerOutlined)]),_:1}),e(o,{key:"project-settings"},{icon:t(()=>[e(n.FolderOutlined)]),_:1}),e(o,{key:"speech-settings"},{icon:t(()=>[e(n.SoundOutlined)]),_:1}),e(o,{key:"notification-settings"},{icon:t(()=>[e(n.BellOutlined)]),_:1}),e(o,{key:"sync-settings"},{icon:t(()=>[e(n.SyncOutlined)]),_:1}),e(o,{key:"nlprog"},{icon:t(()=>[e(n.BulbOutlined)]),_:1}),e(o,{key:"codegen"},{icon:t(()=>[e(n.CodeOutlined)]),_:1}),e(f,{class:"divider-sm"}),e(o,{key:"notes"},{icon:t(()=>[e(n.BookOutlined)]),_:1}),e(o,{key:"search"},{icon:t(()=>[e(n.SearchOutlined)]),_:1}),e(o,{key:"memory"},{icon:t(()=>[e(n.BranchesOutlined)]),_:1}),e(o,{key:"knowledge"},{icon:t(()=>[e(n.ShareAltOutlined)]),_:1}),e(o,{key:"personal-data-hub"},{icon:t(()=>[e(n.DatabaseOutlined)]),_:1}),e(o,{key:"personal-data-hub/browser"},{icon:t(()=>[e(n.UnorderedListOutlined)]),_:1}),e(o,{key:"marketplace"},{icon:t(()=>[e(n.ShoppingOutlined)]),_:1}),e(o,{key:"cron"},{icon:t(()=>[e(n.ClockCircleOutlined)]),_:1}),e(o,{key:"workflow"},{icon:t(()=>[e(n.ApartmentOutlined)]),_:1}),e(o,{key:"pipeline"},{icon:t(()=>[e(n.PartitionOutlined)]),_:1}),e(o,{key:"tasks"},{icon:t(()=>[e(n.ThunderboltOutlined)]),_:1}),e(o,{key:"background-agents"},{icon:t(()=>[e(n.RocketOutlined)]),_:1}),e(o,{key:"artifacts"},{icon:t(()=>[e(n.FileDoneOutlined)]),_:1}),e(f,{class:"divider-sm"}),e(o,{key:"security"},{icon:t(()=>[e(n.SafetyCertificateOutlined)]),_:1}),e(o,{key:"ukey-sign"},{icon:t(()=>[e(n.KeyOutlined)]),_:1}),e(o,{key:"trust"},{icon:t(()=>[e(n.SafetyOutlined)]),_:1}),e(o,{key:"audit"},{icon:t(()=>[e(n.FileSearchOutlined)]),_:1}),e(o,{key:"mtc"},{icon:t(()=>[e(n.SafetyOutlined)]),_:1}),e(o,{key:"mtc-audit"},{icon:t(()=>[e(n.SafetyOutlined)]),_:1}),e(o,{key:"multisig"},{icon:t(()=>[e(n.TeamOutlined)]),_:1}),e(o,{key:"did"},{icon:t(()=>[e(n.IdcardOutlined)]),_:1}),e(o,{key:"permissions"},{icon:t(()=>[e(n.LockOutlined)]),_:1}),e(o,{key:"p2p"},{icon:t(()=>[e(n.WifiOutlined)]),_:1}),e(o,{key:"mobile-bridge"},{icon:t(()=>[e(n.MobileOutlined)]),_:1}),e(o,{key:"terminal"},{icon:t(()=>[e(n.DesktopOutlined)]),_:1}),e(o,{key:"backup"},{icon:t(()=>[e(n.CloudUploadOutlined)]),_:1}),e(o,{key:"git"},{icon:t(()=>[e(n.CodeOutlined)]),_:1}),e(o,{key:"projects"},{icon:t(()=>[e(n.ProjectOutlined)]),_:1}),e(o,{key:"crosschain"},{icon:t(()=>[e(n.SwapOutlined)]),_:1}),e(o,{key:"compliance"},{icon:t(()=>[e(n.SafetyOutlined)]),_:1}),e(o,{key:"privacy"},{icon:t(()=>[e(n.ExperimentOutlined)]),_:1}),e(o,{key:"inference"},{icon:t(()=>[e(n.DeploymentUnitOutlined)]),_:1}),e(o,{key:"federation"},{icon:t(()=>[e(n.ClusterOutlined)]),_:1}),e(f,{class:"divider-sm"}),e(o,{key:"wallet"},{icon:t(()=>[e(n.WalletOutlined)]),_:1}),e(o,{key:"organization"},{icon:t(()=>[e(n.TeamOutlined)]),_:1}),e(o,{key:"tenant"},{icon:t(()=>[e(n.BankOutlined)]),_:1}),e(o,{key:"sla"},{icon:t(()=>[e(n.DashboardOutlined)]),_:1}),e(o,{key:"analytics"},{icon:t(()=>[e(n.BarChartOutlined)]),_:1}),e(o,{key:"templates"},{icon:t(()=>[e(n.BlockOutlined)]),_:1}),e(f,{class:"divider-sm"}),e(o,{key:"community"},{icon:t(()=>[e(n.UsergroupAddOutlined)]),_:1}),e(o,{key:"governance"},{icon:t(()=>[e(n.AuditOutlined)]),_:1}),e(o,{key:"reputation"},{icon:t(()=>[e(n.TrophyOutlined)]),_:1}),e(o,{key:"recommend"},{icon:t(()=>[e(n.FireOutlined)]),_:1}),e(f,{class:"divider-sm"}),e(o,{key:"rssfeed"},{icon:t(()=>[e(n.ReadOutlined)]),_:1}),e(o,{key:"webauthn"},{icon:t(()=>[e(n.KeyOutlined)]),_:1}),n.shellMode.isEmbedded?(p(),L(I,{key:0},[e(f,{class:"divider-sm"}),e(o,{key:"desktop:hardware-wallet"},{icon:t(()=>[e(n.SafetyCertificateOutlined)]),_:1}),e(o,{key:"desktop:backup-dashboard"},{icon:t(()=>[e(n.CloudUploadOutlined)]),_:1}),e(o,{key:"desktop:llm-test-chat"},{icon:t(()=>[e(n.ExperimentOutlined)]),_:1}),e(o,{key:"desktop:settings"},{icon:t(()=>[e(n.ControlOutlined)]),_:1})],64)):m("v-if",!0)],64)):(p(),L(I,{key:0},[e(s,{key:"g-overview"},{title:t(()=>[d("span",Ht,a(i.$t("appLayout.groups.overview")),1)]),default:t(()=>[e(o,{key:"dashboard"},{icon:t(()=>[e(n.DashboardOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.dashboard")),1)]),_:1}),e(o,{key:"chat"},{icon:t(()=>[e(n.MessageOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.chat")),1)]),_:1}),e(o,{key:"quick-ask"},{icon:t(()=>[e(n.ThunderboltOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.quickAsk")),1)]),_:1}),e(o,{key:"cowork"},{icon:t(()=>[e(n.RocketOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.cowork")),1)]),_:1}),e(o,{key:"services"},{icon:t(()=>[e(n.ControlOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.services")),1)]),_:1}),e(o,{key:"aiops"},{icon:t(()=>[e(n.AlertOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.aiops")),1)]),_:1}),e(o,{key:"tokens"},{icon:t(()=>[e(n.NumberOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.tokens")),1)]),_:1}),e(o,{key:"logs"},{icon:t(()=>[e(n.FileTextOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.logs")),1)]),_:1})]),_:1}),e(s,{key:"g-config"},{title:t(()=>[d("span",qt,a(i.$t("appLayout.groups.config")),1)]),default:t(()=>[e(o,{key:"skills"},{icon:t(()=>[e(n.AppstoreOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.skills")),1)]),_:1}),e(o,{key:"providers"},{icon:t(()=>[e(n.ApiOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.providers")),1)]),_:1}),e(o,{key:"mcp"},{icon:t(()=>[e(n.CloudServerOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.mcp")),1)]),_:1}),e(o,{key:"project-settings"},{icon:t(()=>[e(n.FolderOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.projectSettings")),1)]),_:1}),e(o,{key:"speech-settings"},{icon:t(()=>[e(n.SoundOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.speechSettings")),1)]),_:1}),e(o,{key:"notification-settings"},{icon:t(()=>[e(n.BellOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.notificationSettings")),1)]),_:1}),e(o,{key:"sync-settings"},{icon:t(()=>[e(n.SyncOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.syncSettings")),1)]),_:1}),e(o,{key:"nlprog"},{icon:t(()=>[e(n.BulbOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.nlprog")),1)]),_:1}),e(o,{key:"codegen"},{icon:t(()=>[e(n.CodeOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.codegen")),1)]),_:1})]),_:1}),e(s,{key:"g-data"},{title:t(()=>[d("span",Jt,a(i.$t("appLayout.groups.data")),1)]),default:t(()=>[e(o,{key:"notes"},{icon:t(()=>[e(n.BookOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.notes")),1)]),_:1}),e(o,{key:"search"},{icon:t(()=>[e(n.SearchOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.search")),1)]),_:1}),e(o,{key:"memory"},{icon:t(()=>[e(n.BranchesOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.memory")),1)]),_:1}),e(o,{key:"knowledge"},{icon:t(()=>[e(n.ShareAltOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.knowledge")),1)]),_:1}),e(o,{key:"personal-data-hub"},{icon:t(()=>[e(n.DatabaseOutlined)]),default:t(()=>[u[3]||(u[3]=l("个人数据中台",-1))]),_:1}),e(o,{key:"personal-data-hub/browser"},{icon:t(()=>[e(n.UnorderedListOutlined)]),default:t(()=>[u[4]||(u[4]=l("数据浏览器",-1))]),_:1}),e(o,{key:"family-guard"},{icon:t(()=>[e(n.TeamOutlined)]),default:t(()=>[u[5]||(u[5]=l("家庭守护",-1))]),_:1}),e(o,{key:"marketplace"},{icon:t(()=>[e(n.ShoppingOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.marketplace")),1)]),_:1}),e(o,{key:"cron"},{icon:t(()=>[e(n.ClockCircleOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.cron")),1)]),_:1}),e(o,{key:"workflow"},{icon:t(()=>[e(n.ApartmentOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.workflow")),1)]),_:1}),e(o,{key:"pipeline"},{icon:t(()=>[e(n.PartitionOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.pipeline")),1)]),_:1}),e(o,{key:"tasks"},{icon:t(()=>[e(n.ThunderboltOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.tasks")),1)]),_:1}),e(o,{key:"background-agents"},{icon:t(()=>[e(n.RocketOutlined)]),default:t(()=>[u[6]||(u[6]=l("后台 Agent",-1))]),_:1}),e(o,{key:"artifacts"},{icon:t(()=>[e(n.FileDoneOutlined)]),default:t(()=>[u[7]||(u[7]=l("交付物",-1))]),_:1})]),_:1}),e(s,{key:"g-advanced"},{title:t(()=>[d("span",Xt,a(i.$t("appLayout.groups.advanced")),1)]),default:t(()=>[e(o,{key:"security"},{icon:t(()=>[e(n.SafetyCertificateOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.security")),1)]),_:1}),e(o,{key:"ukey-sign"},{icon:t(()=>[e(n.KeyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.ukeySign")),1)]),_:1}),e(o,{key:"trust"},{icon:t(()=>[e(n.SafetyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.trust")),1)]),_:1}),e(o,{key:"audit"},{icon:t(()=>[e(n.FileSearchOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.audit")),1)]),_:1}),e(o,{key:"mtc"},{icon:t(()=>[e(n.SafetyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.mtc")),1)]),_:1}),e(o,{key:"mtc-audit"},{icon:t(()=>[e(n.SafetyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.mtcAudit","MTC 审计")),1)]),_:1}),e(o,{key:"multisig"},{icon:t(()=>[e(n.TeamOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.multisig","M-of-N 多签")),1)]),_:1}),e(o,{key:"did"},{icon:t(()=>[e(n.IdcardOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.did")),1)]),_:1}),e(o,{key:"permissions"},{icon:t(()=>[e(n.LockOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.permissions")),1)]),_:1}),e(o,{key:"p2p"},{icon:t(()=>[e(n.WifiOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.p2p")),1)]),_:1}),e(o,{key:"mobile-bridge"},{icon:t(()=>[e(n.MobileOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.mobileBridge","移动桥")),1)]),_:1}),e(o,{key:"remote-session"},{icon:t(()=>[e(n.DesktopOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.remoteSession","远程会话")),1)]),_:1}),e(o,{key:"mobile-projects"},{icon:t(()=>[e(n.MobileOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.mobileProjects","手机项目 (v0.2)")),1)]),_:1}),e(o,{key:"terminal"},{icon:t(()=>[e(n.DesktopOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.terminal","远程终端")),1)]),_:1}),e(o,{key:"backup"},{icon:t(()=>[e(n.CloudUploadOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.backup")),1)]),_:1}),e(o,{key:"git"},{icon:t(()=>[e(n.CodeOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.git")),1)]),_:1}),e(o,{key:"projects"},{icon:t(()=>[e(n.ProjectOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.projects")),1)]),_:1}),e(o,{key:"crosschain"},{icon:t(()=>[e(n.SwapOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.crosschain")),1)]),_:1}),e(o,{key:"compliance"},{icon:t(()=>[e(n.SafetyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.compliance")),1)]),_:1}),e(o,{key:"privacy"},{icon:t(()=>[e(n.ExperimentOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.privacy")),1)]),_:1}),e(o,{key:"inference"},{icon:t(()=>[e(n.DeploymentUnitOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.inference")),1)]),_:1}),e(o,{key:"federation"},{icon:t(()=>[e(n.ClusterOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.federation")),1)]),_:1})]),_:1}),e(s,{key:"g-enterprise"},{title:t(()=>[d("span",Yt,a(i.$t("appLayout.groups.enterprise")),1)]),default:t(()=>[e(o,{key:"wallet"},{icon:t(()=>[e(n.WalletOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.wallet")),1)]),_:1}),e(o,{key:"organization"},{icon:t(()=>[e(n.TeamOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.organization")),1)]),_:1}),e(o,{key:"tenant"},{icon:t(()=>[e(n.BankOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.tenant")),1)]),_:1}),e(o,{key:"sla"},{icon:t(()=>[e(n.DashboardOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.sla")),1)]),_:1}),e(o,{key:"analytics"},{icon:t(()=>[e(n.BarChartOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.analytics")),1)]),_:1}),e(o,{key:"templates"},{icon:t(()=>[e(n.BlockOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.templates")),1)]),_:1})]),_:1}),e(s,{key:"g-social"},{title:t(()=>[d("span",Zt,a(i.$t("appLayout.groups.social")),1)]),default:t(()=>[e(o,{key:"community"},{icon:t(()=>[e(n.UsergroupAddOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.community")),1)]),_:1}),e(o,{key:"governance"},{icon:t(()=>[e(n.AuditOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.governance")),1)]),_:1}),e(o,{key:"reputation"},{icon:t(()=>[e(n.TrophyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.reputation")),1)]),_:1}),e(o,{key:"recommend"},{icon:t(()=>[e(n.FireOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.recommend")),1)]),_:1})]),_:1}),e(s,{key:"g-media"},{title:t(()=>[d("span",Qt,a(i.$t("appLayout.groups.media")),1)]),default:t(()=>[e(o,{key:"video"},{icon:t(()=>[e(n.VideoCameraOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.video")),1)]),_:1})]),_:1}),e(s,{key:"g-extension"},{title:t(()=>[d("span",xt,a(i.$t("appLayout.groups.extension")),1)]),default:t(()=>[e(o,{key:"rssfeed"},{icon:t(()=>[e(n.ReadOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.rssfeed")),1)]),_:1}),e(o,{key:"webauthn"},{icon:t(()=>[e(n.KeyOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.webauthn")),1)]),_:1})]),_:1}),m(` Desktop-only group — only shown in the embedded web-shell. Each
|
|
4
|
-
click opens a new BrowserWindow loading the V5/V6 desktop
|
|
5
|
-
renderer (full electronAPI / UKey / FS / settings live there). `),n.shellMode.isEmbedded?(p(),A(s,{key:"g-desktop"},{title:t(()=>[d("span",$t,a(i.$t("appLayout.groups.desktop")),1)]),default:t(()=>[e(o,{key:"desktop:hardware-wallet"},{icon:t(()=>[e(n.SafetyCertificateOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.desktopHardware")),1)]),_:1}),e(o,{key:"desktop:backup-dashboard"},{icon:t(()=>[e(n.CloudUploadOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.desktopBackup")),1)]),_:1}),e(o,{key:"desktop:llm-test-chat"},{icon:t(()=>[e(n.ExperimentOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.desktopLlmTest")),1)]),_:1}),e(o,{key:"desktop:settings"},{icon:t(()=>[e(n.ControlOutlined)]),default:t(()=>[l(a(i.$t("appLayout.items.desktopSettings")),1)]),_:1})]),_:1})):m("v-if",!0)],64))]),_:1},8,["selectedKeys","openKeys","theme","inline-collapsed"]),m(" Connection status "),d("div",{class:W(["sidebar-footer",{collapsed:n.collapsed}])},[e(O,{status:n.statusBadge},null,8,["status"]),n.collapsed?m("v-if",!0):(p(),L("span",en,a(n.statusText),1))],2)]),_:1},8,["collapsed"]),m(" ── Main area ───────────────────────────────────────────────── "),e(T,{class:"main-area"},{default:t(()=>[m(" Header "),e(j,{class:"app-header"},{default:t(()=>[d("div",tn,[d("div",{class:W(["scope-tag",n.isProject?"project":"global"])},[(p(),A(me(n.isProject?n.FolderOutlined:n.GlobalOutlined))),d("span",null,a(n.isProject?n.cfg.projectName||i.$t("appLayout.scope.fallbackProject"):i.$t("appLayout.scope.global")),1),n.isProject&&n.cfg.projectRoot?(p(),A(C,{key:0,title:n.cfg.projectRoot},{default:t(()=>[e(n.InfoCircleOutlined,{class:"info-icon"})]),_:1},8,["title"])):m("v-if",!0)],2)]),d("div",nn,[m(" Theme switcher "),d("div",on,[(p(!0),L(I,null,se(n.THEMES,(c,b)=>(p(),A(C,{key:b,title:c.label},{default:t(()=>[d("button",{class:W(["theme-btn",{active:n.currentTheme===b}]),"data-theme-key":b,onClick:R=>n.setTheme(b)},a(c.icon),11,an)]),_:2},1032,["title"]))),128))]),m(` Language switcher (incremental i18n; only owns its own
|
|
6
|
-
labels + ErrorBoundary + common.* today). `),e(C,{title:i.$t("language.label")},{default:t(()=>[d("button",{class:"lang-switch-btn","data-locale":n.locale,onClick:n.toggleLocale},[e(n.GlobalOutlined,{class:"lang-switch-icon"}),d("span",rn,a(i.$t("language.switch")),1)],8,ln)]),_:1},8,["title"]),m(" Mobile bridge status — pill showing online/total paired phones.\n Click to /mobile-bridge. Polls every 5s via `p2p devices` CLI. "),e(n.MobileBridgeHeaderStatus),m(` Notification bell — only meaningful in the embedded web-shell
|
|
7
|
-
where notification.* WS topics are registered. In pure-browser
|
|
8
|
-
mode the composable returns empty / no-op shapes, so the badge
|
|
9
|
-
just shows 0 and the drawer is empty. `),n.shellMode.isEmbedded?(p(),A(n.NotificationBell,{key:0})):m("v-if",!0),d("span",sn,a(n.PRODUCT_VERSION),1),m(" Phase 1.6 symmetric switch: only inside the embedded\n desktop shell does this make sense (no-op in `cc serve`\n browser mode where there's no V5/V6 to fall back to). "),n.shellMode.isEmbedded?(p(),A(C,{key:1,title:i.$t("appLayout.shellSwitch")},{default:t(()=>[d("button",{type:"button",class:"shell-switch-btn",onClick:n.switchToDesktopShell},[e(n.DesktopOutlined)])]),_:1},8,["title"])):m("v-if",!0),e(D,{color:n.wsStatus==="connected"?"green":n.wsStatus==="connecting"?"orange":"red",class:"ws-tag"},{default:t(()=>[l(a(n.wsStatus==="connected"?i.$t("appLayout.wsStatus.connected"):n.wsStatus==="connecting"?i.$t("appLayout.wsStatus.connecting"):i.$t("appLayout.wsStatus.disconnected")),1)]),_:1},8,["color"])])]),_:1}),m(" Content "),e(w,{class:"page-content"},{default:t(()=>[e(r)]),_:1})]),_:1})]),_:1})}const Dn=Y(jt,[["render",dn],["__scopeId","data-v-6f6437fc"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/components/AppLayout.vue"]]);export{Dn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as v,P as u,J as S,U as n,R as a,S as y,K as C,Q as x,V as w,_ as B,b as s}from"./vendor-Bn1JzzAn.js";import{_ as k}from"./index-KCmGGWAT.js";import"./icons-DG5UD-6K.js";const N={__name:"ChatBubbleRenderer",props:{event:{type:Object,required:!0}},setup(c,{expose:d}){d();const t=c,r=s(()=>{const e=t.event.content||{};return e.text||e.body||e.message||e.title||JSON.stringify(e).slice(0,200)}),i=s(()=>{const e=t.event.content||{};return e.from||e.sender||e.senderName||t.event.actor||"(unknown)"}),l=s(()=>{const e=(t.event.actor||"").toLowerCase();return e.includes("self")||e==="me"||e.endsWith("_self")}),o=s(()=>{const e=t.event.source.adapter||"";return e.startsWith("messaging-qq")?"magenta":e==="wechat"?"green":"blue"}),m=s(()=>{if(!t.event.occurredAt)return"";try{const e=new Date(t.event.occurredAt),p=e.getFullYear(),f=String(e.getMonth()+1).padStart(2,"0"),g=String(e.getDate()).padStart(2,"0"),b=String(e.getHours()).padStart(2,"0"),h=String(e.getMinutes()).padStart(2,"0");return`${p}-${f}-${g} ${b}:${h}`}catch{return""}}),_={props:t,messageText:r,actorLabel:i,isMine:l,adapterColor:o,formattedTime:m,computed:s};return Object.defineProperty(_,"__isScriptSetup",{enumerable:!1,value:!0}),_}},T={class:"bubble"},M={class:"meta"},R={class:"actor"},V={class:"time"},q={class:"body"};function D(c,d,t,r,i,l){const o=v("a-tag");return u(),S("div",{class:B(["chat-row",{mine:r.isMine}])},[n("div",T,[n("div",M,[n("span",R,a(r.actorLabel),1),n("span",V,a(r.formattedTime),1)]),n("div",q,a(r.messageText),1),t.event.source.adapter?(u(),y(o,{key:0,class:"src",color:r.adapterColor},{default:C(()=>[x(a(t.event.source.adapter),1)]),_:1},8,["color"])):w("v-if",!0)])],2)}const P=k(N,[["render",D],["__scopeId","data-v-49238629"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/components/pdh/renderers/ChatBubbleRenderer.vue"]]);export{P as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as n,J as g,c as l,K as r,N as u,P as h,U as o,R as t,Q as b}from"./vendor-Bn1JzzAn.js";import{_ as v,b as m}from"./index-KCmGGWAT.js";import{a8 as y,M as B}from"./icons-DG5UD-6K.js";const M={__name:"MobileProjects",setup(p,{expose:i}){i();const c=u(),{t:e}=m();function a(){c.push("/projects")}function _(){c.push("/mobile-bridge")}const s={router:c,t:e,goToProjects:a,goToMobileBridge:_,get useRouter(){return u},get useI18n(){return m},get MobileOutlined(){return B},get FolderOutlined(){return y}};return Object.defineProperty(s,"__isScriptSetup",{enumerable:!1,value:!0}),s}},x={class:"mobile-projects-placeholder"},O={class:"title"},k={class:"subtitle"},w={class:"explainer"};function T(p,i,c,e,a,_){const s=n("a-alert"),d=n("a-button"),f=n("a-space"),P=n("a-empty"),j=n("a-card");return h(),g("div",x,[l(j,null,{default:r(()=>[l(P,{description:!1},{image:r(()=>[l(e.MobileOutlined,{style:{fontSize:"64px",color:"#bfbfbf"}})]),default:r(()=>[o("h2",O,t(e.t("mobileProjects.title")),1),o("p",k,t(e.t("mobileProjects.subtitle")),1),l(s,{message:e.t("mobileProjects.v02Banner"),type:"info","show-icon":"",class:"banner"},null,8,["message"]),o("div",w,[o("h3",null,t(e.t("mobileProjects.currentDirection")),1),o("p",null,t(e.t("mobileProjects.currentDirectionBody")),1),o("ul",null,[o("li",null,t(e.t("mobileProjects.stepPhone")),1),o("li",null,t(e.t("mobileProjects.stepTap")),1),o("li",null,t(e.t("mobileProjects.stepPull")),1)]),o("h3",null,t(e.t("mobileProjects.reverseDirection")),1),o("p",null,t(e.t("mobileProjects.reverseDirectionBody")),1)]),l(f,{class:"actions"},{default:r(()=>[l(d,{type:"primary",onClick:e.goToProjects},{default:r(()=>[l(e.FolderOutlined),b(" "+t(e.t("mobileProjects.viewLocalProjects")),1)]),_:1}),l(d,{onClick:e.goToMobileBridge},{default:r(()=>[l(e.MobileOutlined),b(" "+t(e.t("mobileProjects.checkBridge")),1)]),_:1})]),_:1})]),_:1})]),_:1})])}const N=v(M,[["render",T],["__scopeId","data-v-9262cc45"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/views/MobileProjects.vue"]]);export{N as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as F,b as D,r as R,I as p,J as c,U as _,c as n,K as a,S,V as x,o as I,x as B,P as i,Q as k,R as r,F as N,Z as O}from"./vendor-Bn1JzzAn.js";import{u as P,_ as E}from"./index-KCmGGWAT.js";import{R as U}from"./icons-DG5UD-6K.js";const V=F("tasks",()=>{const y=R([]),l=R(!1);let u=null,t=null,d=null;const T=D(()=>y.value.filter(e=>e.status==="running")),v=D(()=>y.value.filter(e=>e.status==="pending")),w=D(()=>y.value.filter(e=>e.status==="completed"||e.status==="failed"||e.status==="timeout"));async function s(){const e=P();l.value=!0;try{const g=await e.sendRaw({type:"tasks-list"});g&&Array.isArray(g.tasks)&&(y.value=g.tasks)}catch{}finally{l.value=!1}}async function m(e){const g=P();try{await g.sendRaw({type:"tasks-stop",taskId:e})}catch{}finally{await s()}}const f=R(null);function h(e=5e3){b(),s(),u=setInterval(s,e),C()}function b(){u&&(clearInterval(u),u=null),t&&(t(),t=null),d&&(clearTimeout(d),d=null)}function C(){const e=P();if(t)return;const g=z=>{z.type==="task:notification"&&z.payload?.task&&(f.value=z.payload.task,s(),d&&clearTimeout(d),d=setTimeout(()=>{f.value=null,d=null},8e3))};t=e.onRuntimeEvent(g)}function A(e){return!e||e<0?"-":e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}function o(e){switch(e){case"running":return"processing";case"pending":return"default";case"completed":return"success";case"failed":return"error";case"timeout":return"warning";default:return"default"}}return{tasks:y,loading:l,running:T,pending:v,completed:w,lastNotification:f,fetchTasks:s,stopTask:m,startPolling:h,stopPolling:b,formatDuration:A,getStatusColor:o}}),L={__name:"Tasks",setup(y,{expose:l}){l();const u=V(),t=[{title:"状态",key:"status",width:90},{title:"描述",key:"description",ellipsis:!0},{title:"类型",dataIndex:"type",width:100},{title:"耗时",key:"duration",width:90},{title:"创建时间",key:"createdAt",width:180},{title:"结果",key:"result",ellipsis:!0},{title:"操作",key:"action",width:80}];function d(s){return s.status==="running"&&s.startedAt?u.formatDuration(Date.now()-s.startedAt):s.completedAt&&s.startedAt?u.formatDuration(s.completedAt-s.startedAt):"-"}function T(s){return s?new Date(s).toLocaleString():"-"}function v(s,m){return s?s.length>m?`${s.slice(0,m)}...`:s:""}I(()=>u.startPolling(5e3)),B(()=>u.stopPolling());const w={store:u,columns:t,getDuration:d,formatTime:T,truncate:v,onMounted:I,onUnmounted:B,get ReloadOutlined(){return U},get useTasksStore(){return V}};return Object.defineProperty(w,"__isScriptSetup",{enumerable:!1,value:!0}),w}},j={class:"page-header"},J={key:0,class:"error-text"},K={key:1},M={class:"task-header"},Q={class:"task-desc"},W={class:"task-id"},X={class:"task-meta"},Z=["title"],q={key:0,class:"error-text"},G={key:1,class:"success-text"},H={key:2,class:"muted-text"};function Y(y,l,u,t,d,T){const v=p("a-button"),w=p("a-space"),s=p("a-alert"),m=p("a-statistic"),f=p("a-card"),h=p("a-col"),b=p("a-row"),C=p("a-tag"),A=p("a-table");return i(),c("div",null,[_("div",j,[l[3]||(l[3]=_("div",null,[_("h2",{class:"page-title"},"后台任务"),_("p",{class:"page-sub"},"查看后台任务队列、实时通知和任务执行结果。")],-1)),n(w,null,{default:a(()=>[n(v,{ghost:"",loading:t.store.loading,onClick:l[0]||(l[0]=o=>t.store.fetchTasks())},{icon:a(()=>[n(t.ReloadOutlined)]),default:a(()=>[l[2]||(l[2]=k(" 刷新 ",-1))]),_:1},8,["loading"])]),_:1})]),t.store.lastNotification?(i(),S(s,{key:0,type:t.store.lastNotification.status==="completed"?"success":"error","show-icon":"",closable:"",class:"banner",onClose:l[1]||(l[1]=o=>t.store.lastNotification=null)},{message:a(()=>[k(" 任务"+r(t.store.lastNotification.status==="completed"?"完成":"结束")+": "+r(t.store.lastNotification.description||t.store.lastNotification.id.slice(0,16)),1)]),description:a(()=>[t.store.lastNotification.error?(i(),c("span",J,r(t.store.lastNotification.error),1)):t.store.lastNotification.result?(i(),c("span",K,r(t.truncate(String(t.store.lastNotification.result),120)),1)):x("v-if",!0)]),_:1},8,["type"])):x("v-if",!0),n(b,{gutter:[16,16],class:"stats-row"},{default:a(()=>[n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"全部任务",value:t.store.tasks.length},null,8,["value"])]),_:1})]),_:1}),n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"运行中",value:t.store.running.length},null,8,["value"])]),_:1})]),_:1}),n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"等待中",value:t.store.pending.length},null,8,["value"])]),_:1})]),_:1}),n(h,{xs:12,sm:6},{default:a(()=>[n(f,{class:"stat-card",size:"small"},{default:a(()=>[n(m,{title:"已完成",value:t.store.completed.length},null,8,["value"])]),_:1})]),_:1})]),_:1}),t.store.running.length>0?(i(),S(f,{key:1,title:"运行中的任务",class:"panel-card",size:"small"},{default:a(()=>[(i(!0),c(N,null,O(t.store.running,o=>(i(),c("div",{key:o.id,class:"task-item running"},[_("div",M,[n(C,{color:t.store.getStatusColor(o.status)},{default:a(()=>[k(r(o.status.toUpperCase()),1)]),_:2},1032,["color"]),_("span",Q,r(o.description),1),_("span",W,r(o.id.slice(0,16)),1)]),_("div",X,[_("span",null,"类型: "+r(o.type||"-"),1),_("span",null,"已运行: "+r(t.store.formatDuration(Date.now()-o.startedAt)),1),n(v,{size:"small",danger:"",onClick:e=>t.store.stopTask(o.id)},{default:a(()=>[...l[4]||(l[4]=[k("停止",-1)])]),_:1},8,["onClick"])])]))),128))]),_:1})):x("v-if",!0),n(f,{class:"panel-card"},{default:a(()=>[n(A,{columns:t.columns,"data-source":t.store.tasks,pagination:{pageSize:15,size:"small"},loading:t.store.loading,"row-key":"id",size:"small"},{bodyCell:a(({column:o,record:e})=>[o.key==="status"?(i(),S(C,{key:0,color:t.store.getStatusColor(e.status)},{default:a(()=>[k(r(e.status),1)]),_:2},1032,["color"])):o.key==="description"?(i(),c("span",{key:1,title:e.command},r(e.description),9,Z)):o.key==="duration"?(i(),c(N,{key:2},[k(r(t.getDuration(e)),1)],64)):o.key==="createdAt"?(i(),c(N,{key:3},[k(r(t.formatTime(e.createdAt)),1)],64)):o.key==="result"?(i(),c(N,{key:4},[e.error?(i(),c("span",q,r(t.truncate(e.error,60)),1)):e.result?(i(),c("span",G,r(t.truncate(String(e.result),60)),1)):(i(),c("span",H,"-"))],64)):o.key==="action"?(i(),c(N,{key:5},[e.status==="running"?(i(),S(v,{key:0,size:"small",danger:"",onClick:g=>t.store.stopTask(e.id)},{default:a(()=>[...l[5]||(l[5]=[k(" 停止 ",-1)])]),_:1},8,["onClick"])):x("v-if",!0)],64)):x("v-if",!0)]),_:1},8,["data-source","loading"])]),_:1})])}const st=E(L,[["render",Y],["__scopeId","data-v-da5ff6a2"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/views/Tasks.vue"]]);export{st as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as S,P as n,J as i,U as l,S as h,R as o,c,K as d,Q as u,V as g,b as a}from"./vendor-Bn1JzzAn.js";import{_ as b}from"./index-KCmGGWAT.js";import{aE as O,aI as C}from"./icons-DG5UD-6K.js";const D={__name:"TimelineRenderer",props:{event:{type:Object,required:!0}},setup(v,{expose:_}){_();const r=v,e=a(()=>r.event.content||{}),p=a(()=>{const t=r.event.source.adapter||"";return t.startsWith("travel-12306")||t.startsWith("travel-ctrip")}),m=a(()=>e.value.from&&e.value.to?`${e.value.from} → ${e.value.to}`:e.value.origin&&e.value.destination?`${e.value.origin} → ${e.value.destination}`:null),s=a(()=>r.event.place||e.value.placeName||e.value.poi),N=a(()=>e.value.trainNo),T=a(()=>e.value.flightNo),k=a(()=>e.value.title||e.value.text||e.value.description||"—"),x=a(()=>{const t=[];return e.value.departureTime&&t.push(`出发 ${e.value.departureTime}`),e.value.arrivalTime&&t.push(`到达 ${e.value.arrivalTime}`),e.value.duration&&t.push(`${e.value.duration}`),e.value.distance&&t.push(`${e.value.distance}`),t.length?t.join(" · "):null}),y=a(()=>{if(!r.event.occurredAt)return"";const t=new Date(r.event.occurredAt);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}),f={props:r,c:e,isTravel:p,route:m,placeName:s,trainNo:N,flightNo:T,fallbackText:k,extraDetail:x,formattedTime:y,computed:a,get CarOutlined(){return C},get EnvironmentOutlined(){return O}};return Object.defineProperty(f,"__isScriptSetup",{enumerable:!1,value:!0}),f}},B={class:"timeline-event"},E={class:"dot"},V={class:"card"},w={class:"head"},I={class:"time"},R={class:"primary"},j={key:0},P={key:1},A={key:2},M={key:0,class:"trip-no"},W={key:1,class:"extra"};function q(v,_,r,e,p,m){const s=S("a-tag");return n(),i("div",B,[l("div",E,[e.isTravel?(n(),h(e.CarOutlined,{key:0})):(n(),h(e.EnvironmentOutlined,{key:1}))]),l("div",V,[l("div",w,[l("span",I,o(e.formattedTime),1),c(s,{color:"cyan"},{default:d(()=>[u(o(r.event.source.adapter),1)]),_:1}),c(s,null,{default:d(()=>[u(o(r.event.subtype),1)]),_:1})]),l("div",R,[e.route?(n(),i("span",j,o(e.route),1)):e.placeName?(n(),i("span",P,"📍 "+o(e.placeName),1)):(n(),i("span",A,o(e.fallbackText),1))]),e.trainNo||e.flightNo?(n(),i("div",M,[c(s,{color:"blue"},{default:d(()=>[u(o(e.trainNo||e.flightNo),1)]),_:1})])):g("v-if",!0),e.extraDetail?(n(),i("div",W,o(e.extraDetail),1)):g("v-if",!0)])])}const K=b(D,[["render",q],["__scopeId","data-v-18400280"],["__file","/tmp/cc-web-panel-BPNCIX/repo/packages/web-panel/src/components/pdh/renderers/TimelineRenderer.vue"]]);export{K as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as r}from"./index-KCmGGWAT.js";const o=((n,a,e)=>{r(n,`[ant-design-vue: ${a}] ${e}`)});export{o as d};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as o}from"./Row-UVMeD3Wm.js";import{a0 as t}from"./index-KCmGGWAT.js";import"./vendor-Bn1JzzAn.js";import"./responsiveObserve-CCmx1m3K.js";import"./useFlexGapSupport-CEKYnxGt.js";import"./styleChecker-BT1IFFpw.js";import"./index-D6ou7QIj.js";import"./icons-DG5UD-6K.js";const l=t(o);export{l as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as o}from"./Col--50unLLP.js";import{a0 as t}from"./index-KCmGGWAT.js";import"./vendor-Bn1JzzAn.js";import"./index-D6ou7QIj.js";import"./icons-DG5UD-6K.js";const s=t(o);export{s as default};
|