chainlesschain 0.166.142 → 0.166.143
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/README.md +107 -2
- package/package.json +2 -2
- package/src/assets/linux-subreaper/linux-arm64/manifest.json +1 -1
- package/src/assets/linux-subreaper/linux-x64/manifest.json +1 -1
- package/src/assets/web-panel/assets/{AIOps-BefmcZw2.js → AIOps-DNySV2Kf.js} +1 -1
- package/src/assets/web-panel/assets/{ActionButton-BBlS9rmj.js → ActionButton-ByFuxJsa.js} +1 -1
- package/src/assets/web-panel/assets/{Analytics-DfNjXT9e.js → Analytics-ETbdywk5.js} +1 -1
- package/src/assets/web-panel/assets/{AppLayout-CIBZPPMS.js → AppLayout-CuHekZaP.js} +2 -2
- package/src/assets/web-panel/assets/{Artifacts-CE66rTTZ.js → Artifacts-BJJq2BDq.js} +1 -1
- package/src/assets/web-panel/assets/{Audit-DOC8Lt8U.js → Audit-DXrietv8.js} +1 -1
- package/src/assets/web-panel/assets/{BackgroundAgents-9TMG041Q.js → BackgroundAgents-CFB1fxsr.js} +1 -1
- package/src/assets/web-panel/assets/{Backup-us3KWb9F.js → Backup-VLtflRmp.js} +1 -1
- package/src/assets/web-panel/assets/{BaseInput-D6Q95Wr5.js → BaseInput-BbqBaS2r.js} +1 -1
- package/src/assets/web-panel/assets/{Chat-BPrM5ARp.js → Chat-t0g7BXL8.js} +1 -1
- package/src/assets/web-panel/assets/{ChatBubbleRenderer-Drs9vSc4.js → ChatBubbleRenderer-JNFsjV0j.js} +1 -1
- package/src/assets/web-panel/assets/{Checkbox-DqZGMV0o.js → Checkbox-BCSclHQb.js} +1 -1
- package/src/assets/web-panel/assets/{Codegen-CmolL6wr.js → Codegen-BcyINEHT.js} +1 -1
- package/src/assets/web-panel/assets/{Col-BwHSmoYQ.js → Col-C-0WNlwS.js} +1 -1
- package/src/assets/web-panel/assets/{Community-DGWqobpd.js → Community-DxZeoORX.js} +1 -1
- package/src/assets/web-panel/assets/{Compact-t_yy09-r.js → Compact-BNnX4jpz.js} +1 -1
- package/src/assets/web-panel/assets/{Compliance-D0S8-EsN.js → Compliance-KnjHtn9C.js} +1 -1
- package/src/assets/web-panel/assets/{Cowork-Y1LiuRwP.js → Cowork-CDyCrhbX.js} +1 -1
- package/src/assets/web-panel/assets/{Cron-FTqEw7QV.js → Cron-DxpS3D1G.js} +1 -1
- package/src/assets/web-panel/assets/{Crosschain-C3rPZ4Qu.js → Crosschain-BSzTZYyc.js} +1 -1
- package/src/assets/web-panel/assets/{DID-Ba2zySM-.js → DID-Bfj9Vdne.js} +1 -1
- package/src/assets/web-panel/assets/{Dashboard-D6xyN2ND.js → Dashboard-CcERVdgo.js} +2 -2
- package/src/assets/web-panel/assets/{Dropdown-BF4QuXJw.js → Dropdown-BtYXAz6E.js} +1 -1
- package/src/assets/web-panel/assets/{EmailListRenderer-s9dUxq14.js → EmailListRenderer-fdCMeGXU.js} +1 -1
- package/src/assets/web-panel/assets/{EvolutionSettings-CoAKOfqZ.js → EvolutionSettings-LHxhcuF2.js} +1 -1
- package/src/assets/web-panel/assets/{FamilyGuardDashboard-CEznwH1c.js → FamilyGuardDashboard-MIgtLsos.js} +1 -1
- package/src/assets/web-panel/assets/{Federation-rIzOt8-a.js → Federation-9-TOztwa.js} +1 -1
- package/src/assets/web-panel/assets/{FormItemContext-BARFiExr.js → FormItemContext-BKcwEE6w.js} +1 -1
- package/src/assets/web-panel/assets/{GenericCardRenderer-DI0A4swS.js → GenericCardRenderer-DJBPVUK2.js} +1 -1
- package/src/assets/web-panel/assets/{Git-DdmysND4.js → Git-C_XYISjG.js} +1 -1
- package/src/assets/web-panel/assets/{Governance-DrdhwUz2.js → Governance-DWsbPrwq.js} +1 -1
- package/src/assets/web-panel/assets/{Inference-Scm8tumd.js → Inference-D0_bYket.js} +1 -1
- package/src/assets/web-panel/assets/{KnowledgeGraph-_6bgPs4W.js → KnowledgeGraph-BoA3VQlw.js} +1 -1
- package/src/assets/web-panel/assets/{Logs-DW_v7bSo.js → Logs-LEGItChf.js} +1 -1
- package/src/assets/web-panel/assets/{MarkdownRenderer-7JABuv1j.js → MarkdownRenderer-DOHVc-Uw.js} +1 -1
- package/src/assets/web-panel/assets/{Marketplace-0h3YSvME.js → Marketplace-BKovl9NH.js} +1 -1
- package/src/assets/web-panel/assets/{McpTools-Byrg0Y3e.js → McpTools-D61ktoGb.js} +1 -1
- package/src/assets/web-panel/assets/{Memory-Cyoq-o29.js → Memory-CllorS0l.js} +1 -1
- package/src/assets/web-panel/assets/{MobileBridge-ISIlploU.js → MobileBridge-D-dJ78bk.js} +1 -1
- package/src/assets/web-panel/assets/{MobileProjects-04EncaRx.js → MobileProjects-CaxMKkd3.js} +1 -1
- package/src/assets/web-panel/assets/{Mtc-BMzkpyOF.js → Mtc-qEc62Qsx.js} +1 -1
- package/src/assets/web-panel/assets/{MtcAudit-Cx7BR5sz.js → MtcAudit-BY68jOZJ.js} +1 -1
- package/src/assets/web-panel/assets/{Multisig-D4pmkSX4.js → Multisig-eCCR8ELt.js} +1 -1
- package/src/assets/web-panel/assets/{NLProgramming-CCfaaWNu.js → NLProgramming-VtGv8pky.js} +1 -1
- package/src/assets/web-panel/assets/{Notes-Mq-1ZyaH.js → Notes-CPkYQySe.js} +1 -1
- package/src/assets/web-panel/assets/{NotificationSettings-rzf5V1TR.js → NotificationSettings-BuAvlHUu.js} +1 -1
- package/src/assets/web-panel/assets/{OrderTableRenderer-OREUs5ue.js → OrderTableRenderer-CLf_HAGv.js} +1 -1
- package/src/assets/web-panel/assets/{Organization-BQfOATgw.js → Organization-DjujhMbD.js} +1 -1
- package/src/assets/web-panel/assets/{Overflow-D7Pa6aaA.js → Overflow-RznznTS4.js} +1 -1
- package/src/assets/web-panel/assets/{P2P-CaJ79ZsC.js → P2P-DSa5ot0t.js} +1 -1
- package/src/assets/web-panel/assets/{PdhVaultBrowser-CtimQQN3.js → PdhVaultBrowser-oSEh6vkf.js} +2 -2
- package/src/assets/web-panel/assets/{Permissions-AzmmkLZ0.js → Permissions-CdOZguX9.js} +1 -1
- package/src/assets/web-panel/assets/{PersonalDataHub-BRU8ME7z.js → PersonalDataHub-B4--6iEF.js} +1 -1
- package/src/assets/web-panel/assets/{Pipeline-BnNqutXh.js → Pipeline-BnI57jE8.js} +1 -1
- package/src/assets/web-panel/assets/{Privacy-gMyZcxsz.js → Privacy-C8MId3ad.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectInit-CkK-Fvr0.js → ProjectInit-DPGyYO8a.js} +1 -1
- package/src/assets/web-panel/assets/{ProjectSettings-CGY_uiIX.js → ProjectSettings-qBMqaJaO.js} +1 -1
- package/src/assets/web-panel/assets/{Projects-DBNC7xXG.js → Projects-Bq87Syce.js} +1 -1
- package/src/assets/web-panel/assets/{Providers-BVgWawtE.js → Providers-CVuG9Ugf.js} +1 -1
- package/src/assets/web-panel/assets/{QrScannerModal-DZILESCa.js → QrScannerModal-C94c8m3q.js} +1 -1
- package/src/assets/web-panel/assets/{QuickAsk-DwRBzFWW.js → QuickAsk-BvfsXZ8s.js} +1 -1
- package/src/assets/web-panel/assets/{Recommend-B3VxvUih.js → Recommend-CoezBYH9.js} +1 -1
- package/src/assets/web-panel/assets/{RemoteSession-DM74lufU.js → RemoteSession-CcYC4v3u.js} +1 -1
- package/src/assets/web-panel/assets/{Reputation-DOOEuGHh.js → Reputation-diDbL4cO.js} +1 -1
- package/src/assets/web-panel/assets/{Row-BZJYAo0S.js → Row-5qp3_fNS.js} +1 -1
- package/src/assets/web-panel/assets/{RssFeed-CYw44jcD.js → RssFeed-BCsMvpV4.js} +1 -1
- package/src/assets/web-panel/assets/{Search-CbypjDNG.js → Search-Br9nVxOp.js} +1 -1
- package/src/assets/web-panel/assets/{Security-0rSBDrXh.js → Security-BdOUzRfA.js} +1 -1
- package/src/assets/web-panel/assets/{Services-kqP79CBD.js → Services-Cp9TqzyN.js} +1 -1
- package/src/assets/web-panel/assets/{Skeleton-BjxvGVfI.js → Skeleton-DSdWsUMR.js} +1 -1
- package/src/assets/web-panel/assets/{Skills-SOoWyPCO.js → Skills-DRczAMTe.js} +1 -1
- package/src/assets/web-panel/assets/{Sla-kdRVAT19.js → Sla-B6G_Vd8N.js} +1 -1
- package/src/assets/web-panel/assets/{SpeechSettings-DILtcMaJ.js → SpeechSettings-BCcLx5x4.js} +1 -1
- package/src/assets/web-panel/assets/{SyncSettings-C98Jauc4.js → SyncSettings-BFhwtxCp.js} +1 -1
- package/src/assets/web-panel/assets/{Tasks-Bw-KaQAs.js → Tasks-DGRE6VHO.js} +1 -1
- package/src/assets/web-panel/assets/{Templates-CDJ027Hd.js → Templates-CJkJRFzd.js} +1 -1
- package/src/assets/web-panel/assets/{Tenant-BqNV62UA.js → Tenant-CAOv6p00.js} +1 -1
- package/src/assets/web-panel/assets/{Terminal-B8aQ3GLO.js → Terminal-CDrwwrKj.js} +1 -1
- package/src/assets/web-panel/assets/{TimelineRenderer-BSpccq11.js → TimelineRenderer-DI0YE2SN.js} +1 -1
- package/src/assets/web-panel/assets/{Tokens-BbGMoFO6.js → Tokens-DmqWTZSG.js} +1 -1
- package/src/assets/web-panel/assets/{Trigger-D75Mawa_.js → Trigger-CkXkhmjk.js} +1 -1
- package/src/assets/web-panel/assets/{Trust-BiK_Pk05.js → Trust-U8YJLcoJ.js} +1 -1
- package/src/assets/web-panel/assets/{UkeySign-Dv2xX_b9.js → UkeySign-BLTozMmr.js} +1 -1
- package/src/assets/web-panel/assets/{VideoEditing-CdBWfeEE.js → VideoEditing-DHKyFlZa.js} +1 -1
- package/src/assets/web-panel/assets/{Wallet-Cvrp4agg.js → Wallet-DapBxIQt.js} +1 -1
- package/src/assets/web-panel/assets/{WebAuthn-D0Htlf3v.js → WebAuthn-CkvG3yOr.js} +1 -1
- package/src/assets/web-panel/assets/{WorkflowEditor-nuUBOHIF.js → WorkflowEditor-cNLsinXP.js} +1 -1
- package/src/assets/web-panel/assets/{chat-C6MLShIo.js → chat-BzgkgfMC.js} +1 -1
- package/src/assets/web-panel/assets/{colors-9G5FqFOC.js → colors-BPpVKQsb.js} +1 -1
- package/src/assets/web-panel/assets/{compact-item-0M49EurU.js → compact-item-zepznuTv.js} +1 -1
- package/src/assets/web-panel/assets/{createContext-CiDDLED_.js → createContext-BRto-SQH.js} +1 -1
- package/src/assets/web-panel/assets/{hasIn-wZvUczmn.js → hasIn-CqsmU_n6.js} +1 -1
- package/src/assets/web-panel/assets/{index-B0JZ_ccM.js → index-B-bNzvdU.js} +1 -1
- package/src/assets/web-panel/assets/{index-B_XOMujL.js → index-B0Z6rfV-.js} +1 -1
- package/src/assets/web-panel/assets/{index-DwX9cOL6.js → index-B9_jRD2e.js} +1 -1
- package/src/assets/web-panel/assets/{index-DwUOiN8M.js → index-BEXKES7V.js} +1 -1
- package/src/assets/web-panel/assets/{index-8jz-X3xg.js → index-BGHd4D8F.js} +1 -1
- package/src/assets/web-panel/assets/{index-BVV2mBbo.js → index-BLwY9y0X.js} +1 -1
- package/src/assets/web-panel/assets/{index-qJcOtd8J.js → index-B_l6gfDh.js} +1 -1
- package/src/assets/web-panel/assets/{index-B6TAOS4G.js → index-BeBxP1M6.js} +1 -1
- package/src/assets/web-panel/assets/{index-C63qiwQz.js → index-BeSzdB7x.js} +1 -1
- package/src/assets/web-panel/assets/{index-k0BVfcwQ.js → index-BuBnM6Kz.js} +1 -1
- package/src/assets/web-panel/assets/{index-BXIY2BIN.js → index-Bz7pG8z3.js} +1 -1
- package/src/assets/web-panel/assets/{index-D51V5vmz.js → index-CBI-7Q3W.js} +1 -1
- package/src/assets/web-panel/assets/{index-BWTcG128.js → index-CTk9gY88.js} +1 -1
- package/src/assets/web-panel/assets/{index-sBsJaBmM.js → index-CdHXVSZ4.js} +1 -1
- package/src/assets/web-panel/assets/{index-Dclwd_lj.js → index-CmPnDXx4.js} +1 -1
- package/src/assets/web-panel/assets/{index-BlcOkfzz.js → index-CnezE05k.js} +1 -1
- package/src/assets/web-panel/assets/{index-DOxTmc3k.js → index-CwkhrUmw.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cs66y4oC.js → index-CzoKAiyT.js} +3 -3
- package/src/assets/web-panel/assets/{index-BzeA3eRQ.js → index-DDPmr5Yr.js} +1 -1
- package/src/assets/web-panel/assets/{index-CdaLWIz-.js → index-DEbAW3Ec.js} +1 -1
- package/src/assets/web-panel/assets/{index-DvWRS-s7.js → index-DJSn3owP.js} +1 -1
- package/src/assets/web-panel/assets/{index-DN9t1qjW.js → index-DKa_jSfj.js} +1 -1
- package/src/assets/web-panel/assets/{index-BTCIIdoS.js → index-DUclk35X.js} +1 -1
- package/src/assets/web-panel/assets/{index-BmS2P_eX.js → index-DXkw-nt5.js} +1 -1
- package/src/assets/web-panel/assets/{index-CoxzvhoN.js → index-D_-w4KkD.js} +1 -1
- package/src/assets/web-panel/assets/{index-Cz1SAgnb.js → index-D_asIcU7.js} +1 -1
- package/src/assets/web-panel/assets/{index-BfwJm0DU.js → index-Df_CY0We.js} +1 -1
- package/src/assets/web-panel/assets/{index-JhfNEldK.js → index-Dnvj_XU-.js} +1 -1
- package/src/assets/web-panel/assets/index-DruOFzuF.js +1 -0
- package/src/assets/web-panel/assets/{index-D9J_tLGk.js → index-DvGttIXQ.js} +1 -1
- package/src/assets/web-panel/assets/{index-DcZxOXd8.js → index-JrVhUwyh.js} +1 -1
- package/src/assets/web-panel/assets/{index-CdUmgLxP.js → index-LVvzNdPa.js} +1 -1
- package/src/assets/web-panel/assets/{index-CTy9gD3m.js → index-Q5sAV7wp.js} +1 -1
- package/src/assets/web-panel/assets/{index-CtbFv3Et.js → index-S8fkzbQ_.js} +1 -1
- package/src/assets/web-panel/assets/{index-BCfxxScC.js → index-Z6DBe2RU.js} +1 -1
- package/src/assets/web-panel/assets/{index-dJ_V_Fqy.js → index-faHHtBKj.js} +1 -1
- package/src/assets/web-panel/assets/index-hhOrZ6HO.js +1 -0
- package/src/assets/web-panel/assets/{index-DeHSwWVG.js → index-w36TkwyO.js} +1 -1
- package/src/assets/web-panel/assets/{index-D2wN6VIq.js → index-wbvZayBb.js} +1 -1
- package/src/assets/web-panel/assets/{initDefaultProps-DyIyjurJ.js → initDefaultProps-BlhbrsQk.js} +1 -1
- package/src/assets/web-panel/assets/{motion-B2D0PuTM.js → motion-UZx12NPM.js} +1 -1
- package/src/assets/web-panel/assets/{move-B22T5MnN.js → move-BTby5W4q.js} +1 -1
- package/src/assets/web-panel/assets/{mtc-parser-i4b7HNzF.js → mtc-parser-BOOaGiCg.js} +1 -1
- package/src/assets/web-panel/assets/{omit-ByNIr_gz.js → omit-BVylGzEr.js} +1 -1
- package/src/assets/web-panel/assets/{pickAttrs-_xP2RvxA.js → pickAttrs-Cp3Nflbr.js} +1 -1
- package/src/assets/web-panel/assets/{placementArrow-CVDvzK0z.js → placementArrow-BVXYvwH2.js} +1 -1
- package/src/assets/web-panel/assets/{responsiveObserve-CI1toXJ_.js → responsiveObserve-C67SbpBN.js} +1 -1
- package/src/assets/web-panel/assets/{slide-2_VosSRQ.js → slide-CnBvM22R.js} +1 -1
- package/src/assets/web-panel/assets/{statusUtils-CMiWWrZC.js → statusUtils-T8fy53tf.js} +1 -1
- package/src/assets/web-panel/assets/{styleChecker-DY8wTVCe.js → styleChecker-Bf7i4nlm.js} +1 -1
- package/src/assets/web-panel/assets/{useFlexGapSupport-DkdcgIyl.js → useFlexGapSupport-BUKk7jqw.js} +1 -1
- package/src/assets/web-panel/assets/{useFs-gpl11PEF.js → useFs-T5lg6SpD.js} +1 -1
- package/src/assets/web-panel/assets/{usePersonalDataHub-DqnQ0H9y.js → usePersonalDataHub-Brvye8Tg.js} +1 -1
- package/src/assets/web-panel/assets/{vnode-CgY9xUvr.js → vnode-CK992ojP.js} +1 -1
- package/src/assets/web-panel/assets/{zoom-Ch0jan5_.js → zoom-CcABB_97.js} +1 -1
- package/src/assets/web-panel/index.html +1 -1
- package/src/command-help-index.json +1 -1
- package/src/commands/goal.js +211 -177
- package/src/commands/setup.js +17 -0
- package/src/data/changelog.json +14 -1
- package/src/lib/llm-onboarding-catalog.json +4 -3
- package/src/lib/plugin-runtime/cli-goal-capabilities.js +1 -0
- package/src/lib/plugin-runtime/cli-goal-draft-request.js +24 -10
- package/src/lib/plugin-runtime/cli-goal-drafts.js +77 -30
- package/src/lib/plugin-runtime/examples/goal-task-creator/README.md +60 -0
- package/src/lib/plugin-runtime/examples/goal-task-creator/plugin.json +13 -0
- package/src/lib/plugin-runtime/examples/project-delivery-assistant/README.md +47 -14
- package/src/lib/plugin-runtime/examples/project-delivery-assistant/plugin.json +8 -7
- package/src/lib/plugin-runtime/goal-extensions.js +1 -0
- package/src/lib/project-goal-connection.js +15 -3
- package/src/lib/project-goal-draft-connection.js +18 -11
- package/src/assets/web-panel/assets/index-C101Sec6.js +0 -1
- package/src/assets/web-panel/assets/index-D23TaGOp.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as Le,o as xe,c as r,s as kt,t as Et,a as se,w as Ze,r as K,W as It,e as Tt,n as tt,b as Dt,f as we,F as ue,z as Ot,M as ne,N as o,u as e,Q as B,S as P,L as R,O as S,R as j,a1 as At,P as _}from"./vendor-BXcBOG8b.js";import{h as k,f as le,l as Rt,i as ut,q as dt,w as nt,O as Fe,Y as $t,Z as _t,u as ke,_ as Nt,d as X}from"./index-
|
|
1
|
+
import{d as Le,o as xe,c as r,s as kt,t as Et,a as se,w as Ze,r as K,W as It,e as Tt,n as tt,b as Dt,f as we,F as ue,z as Ot,M as ne,N as o,u as e,Q as B,S as P,L as R,O as S,R as j,a1 as At,P as _}from"./vendor-BXcBOG8b.js";import{h as k,f as le,l as Rt,i as ut,q as dt,w as nt,O as Fe,Y as $t,Z as _t,u as ke,_ as Nt,d as X}from"./index-CzoKAiyT.js";import{u as Ee}from"./useShellMode-CgR0wCYM.js";import{K as Ce}from"./KeyCode-D63Tfrq7.js";import{w as Ve}from"./raf-Deuc0E8-.js";import{i as ct}from"./styleChecker-Bf7i4nlm.js";import L,{Textarea as Se}from"./index-B0Z6rfV-.js";import{b7 as Mt,b8 as Bt,ak as Pt,aj as zt,aS as Ut}from"./icons-DlxlFL4g.js";import{i as Kt}from"./index-BEXKES7V.js";import{o as pt}from"./operationUnit-vCu2co3e.js";import{s as Ht}from"./BaseInput-BbqBaS2r.js";import{R as Lt}from"./index-CTk9gY88.js";import{T as Je}from"./index-DvGttIXQ.js";import{o as ye}from"./omit-BVylGzEr.js";import{u as jt}from"./useMergedState-d-EXs3xd.js";import q from"./index-BGHd4D8F.js";import Wt,{TabPane as be}from"./index-JrVhUwyh.js";import he,{FormItem as O}from"./index-DUclk35X.js";import{B as z}from"./index-BLwY9y0X.js";import rt,{DescriptionsItem as Y}from"./index-B-bNzvdU.js";import re from"./index-B_l6gfDh.js";import ie from"./index-wbvZayBb.js";import Q from"./index-CBI-7Q3W.js";import Xe from"./index-Df_CY0We.js";import Be,{ListItem as pe}from"./index-DXkw-nt5.js";import lt from"./index-CdHXVSZ4.js";import Ft from"./index-DEbAW3Ec.js";import"./FormItemContext-BKcwEE6w.js";import"./createContext-BRto-SQH.js";import"./statusUtils-T8fy53tf.js";import"./vnode-CK992ojP.js";import"./Compact-BNnX4jpz.js";import"./_getTag-BVc6NQ_K.js";import"./isPlainObject-_gz-soRW.js";import"./compact-item-zepznuTv.js";import"./ResizeObserver.es-D6qJbdzf.js";import"./Trigger-CkXkhmjk.js";import"./motion-UZx12NPM.js";import"./isVisible-C7tPsqfj.js";import"./placementArrow-BVXYvwH2.js";import"./firstNotUndefined-CLFzEa0p.js";import"./colors-BPpVKQsb.js";import"./zoom-CcABB_97.js";import"./initDefaultProps-BlhbrsQk.js";import"./index-LVvzNdPa.js";import"./devWarning-CNIS3FrJ.js";import"./warning-Pq00owYb.js";import"./_arrayIncludes-B8uzE354.js";import"./injectionKey-BXVc-oGP.js";import"./Overflow-RznznTS4.js";import"./collapseMotion-B4IZiILV.js";import"./slide-CnBvM22R.js";import"./OverrideContext-DLR1AtLy.js";import"./Dropdown-BtYXAz6E.js";import"./useState-Dlgl7fUg.js";import"./useRefs-DHeCQehi.js";import"./hasIn-CqsmU_n6.js";import"./isSymbol-DAy2hlR5.js";import"./isMobile--2fOlCHx.js";import"./Row-5qp3_fNS.js";import"./responsiveObserve-C67SbpBN.js";import"./useFlexGapSupport-BUKk7jqw.js";import"./index-CnezE05k.js";import"./debounce-D9xTw4Sx.js";import"./Col-C-0WNlwS.js";import"./index-Z6DBe2RU.js";import"./Skeleton-DSdWsUMR.js";import"./index-DJSn3owP.js";import"./index-DKa_jSfj.js";import"./index-Bz7pG8z3.js";import"./pickAttrs-Cp3Nflbr.js";import"./move-BTby5W4q.js";import"./ActionButton-ByFuxJsa.js";var Vt=function(t,s){var a={};for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&s.indexOf(l)<0&&(a[l]=t[l]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,l=Object.getOwnPropertySymbols(t);i<l.length;i++)s.indexOf(l[i])<0&&Object.prototype.propertyIsEnumerable.call(t,l[i])&&(a[l[i]]=t[l[i]]);return a};const Jt={border:0,background:"transparent",padding:0,lineHeight:"inherit",display:"inline-block"},ot=Le({compatConfig:{MODE:3},name:"TransButton",inheritAttrs:!1,props:{noStyle:{type:Boolean,default:void 0},onClick:Function,disabled:{type:Boolean,default:void 0},autofocus:{type:Boolean,default:void 0}},setup(t,s){let{slots:a,emit:l,attrs:i,expose:d}=s;const c=kt(),p=g=>{const{keyCode:y}=g;y===Ce.ENTER&&g.preventDefault()},C=g=>{const{keyCode:y}=g;y===Ce.ENTER&&l("click",g)},N=g=>{l("click",g)},w=()=>{c.value&&c.value.focus()},f=()=>{c.value&&c.value.blur()};return xe(()=>{t.autofocus&&w()}),d({focus:w,blur:f}),()=>{var g;const{noStyle:y,disabled:I}=t,b=Vt(t,["noStyle","disabled"]);let h={};return y||(h=k({},Jt)),I&&(h.pointerEvents="none"),r("div",le(le(le({role:"button",tabindex:0,ref:c},b),i),{},{onClick:N,onKeydown:p,onKeyup:C,style:k(k({},h),i.style||{})}),[(g=a.default)===null||g===void 0?void 0:g.call(a)])}}}),Xt=(t,s,a,l)=>{const{sizeMarginHeadingVerticalEnd:i,fontWeightStrong:d}=l;return{marginBottom:i,color:a,fontWeight:d,fontSize:t,lineHeight:s}},qt=t=>{const s=[1,2,3,4,5],a={};return s.forEach(l=>{a[`
|
|
2
2
|
h${l}&,
|
|
3
3
|
div&-h${l},
|
|
4
4
|
div&-h${l} > textarea,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{w as ve,L as c,Q as g,N as t,M as E,c as a,O as l,P as s,R as m,F as re,Y as be,S as w,K as i,f as P,r as $,o as De,u as j,_ as Ie,a1 as W}from"./vendor-BXcBOG8b.js";import{_ as xe,u as ke,d as v}from"./index-Cs66y4oC.js";import{u as he}from"./useShellMode-CgR0wCYM.js";import{R as Ae,z as ge,l as Le,aN as Oe,f as ye,d as Pe,c as Ue}from"./icons-DlxlFL4g.js";import _e from"./index-CdaLWIz-.js";import"./KeyCode-D63Tfrq7.js";import"./omit-ByNIr_gz.js";import"./pickAttrs-_xP2RvxA.js";import"./initDefaultProps-DyIyjurJ.js";import"./motion-B2D0PuTM.js";import"./raf-Deuc0E8-.js";import"./index-BVV2mBbo.js";import"./index-BCfxxScC.js";import"./isVisible-C7tPsqfj.js";import"./useState-Dlgl7fUg.js";import"./devWarning-CNIS3FrJ.js";import"./warning-Pq00owYb.js";import"./compact-item-0M49EurU.js";import"./createContext-CiDDLED_.js";import"./Compact-t_yy09-r.js";import"./_getTag-BVc6NQ_K.js";import"./styleChecker-DY8wTVCe.js";import"./zoom-Ch0jan5_.js";import"./ActionButton-BBlS9rmj.js";import"./vnode-CgY9xUvr.js";const je={style:{"font-size":"12px"}},Ne={style:{margin:"8px 0 0","max-height":"200px",overflow:"auto","font-size":"11px"}},Fe={style:{"margin-bottom":"16px"}},Ee={style:{"font-size":"12px"}},Je={style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},Ke={style:{"margin-bottom":"16px"}},Te={__name:"SignProposalModal",props:{open:{type:Boolean,default:!1},proposal:{type:Object,default:null}},emits:["update:open","signed"],setup(Y,{emit:G}){const q=Y,C=G,J=ke(),{isEmbedded:B}=he(),x=$(!1),M=$(null),k=$("ukey"),L=$(""),D=$(!1);async function n(r,d,b,S=15e3){if(B){const U=await J.sendRaw({type:r,...d},S);if(!U?.ok){const T=U?.error;throw new Error(typeof T=="string"?T:T?.message||`${r} failed`)}return U.result}return J.executeJson(b,S)}const y=P(()=>q.proposal?.proposal??{}),R=P(()=>new Set((q.proposal?.signatures??[]).map(r=>r.signerDid))),oe=P(()=>R.value.size),V=P(()=>(y.value?.memberSet??[]).filter(r=>!R.value.has(r.did))),K=P(()=>{const r=y.value?.payloadHash;return!r||typeof r!="string"?"(unavailable)":r.length<=12?r:`${r.slice(0,8)}…${r.slice(-4)}`}),le=P(()=>{const r=y.value?.payload;try{return r?JSON.stringify(r,null,2):y.value?.payloadJcs||"(empty)"}catch{return String(r)}}),Q=P(()=>x.value||!M.value?!1:k.value==="hex"?/^[0-9a-fA-F]{2,}$/.test(L.value.trim()):k.value==="ukey"),X=P(()=>k.value==="ukey"?"签名将通过主进程调用 U-Key 硬件 (Windows) / simulation 驱动 (macOS/Linux)。 请确认 payload hash 与发起方提供的一致。私钥不出硬件边界。":"调试模式:私钥 hex 仅供 CLI / dev 测试。生产环境请使用 U-Key 硬件源。");function O(r){return r?r.length<=28?r:`${r.slice(0,20)}…${r.slice(-8)}`:""}function Z(){M.value=null,k.value="ukey",L.value="",D.value=!1,x.value=!1}ve(()=>q.open,r=>{r&&Z()}),ve(V,r=>{r.length>0&&!M.value&&(M.value=r[0].did)});function se(r){x.value||C("update:open",r)}function ee(){x.value||C("update:open",!1)}async function ne(){if(!Q.value)return;const r=k.value==="hex"?{secretKeyHex:L.value.trim()}:{},d=y.value.memberSet.find(b=>b.did===M.value);x.value=!0;try{const b=await n("multisig.sign",{proposalId:y.value.id,signerDid:M.value,alg:d?.alg??"Ed25519",source:k.value,params:r},k.value==="hex"?`multisig sign ${y.value.id} --signer ${M.value} --key ${r.secretKeyHex} --json`:`multisig sign ${y.value.id} --signer ${M.value} --json`,2e4);if(b.accepted)v.success(b.reachedThreshold?"✓ 签名已接受 — 达到阈值":"✓ 签名已接受"),C("signed",b),C("update:open",!1);else{const S=b.reason||"unknown",U=b.detail?` (${b.detail})`:"";v.error(`签名失败: ${S}${U}`)}}catch(b){v.error(b.message||String(b))}finally{x.value=!1}}return(r,d)=>{const b=i("a-tag"),S=i("a-descriptions-item"),U=i("a-descriptions"),T=i("a-divider"),o=i("a-select-option"),e=i("a-select"),p=i("a-typography-text"),_=i("a-radio"),h=i("a-radio-group"),I=i("a-input-password"),N=i("a-alert"),te=i("a-button"),F=i("a-space"),ie=i("a-modal");return c(),g(ie,{open:Y.open,title:"签名提案",width:600,"mask-closable":!1,keyboard:!1,"destroy-on-close":"","onUpdate:open":se},{footer:t(()=>[a(F,null,{default:t(()=>[a(te,{disabled:x.value,onClick:ee},{default:t(()=>[...d[12]||(d[12]=[l("取消",-1)])]),_:1},8,["disabled"]),a(te,{type:"primary",danger:"",loading:x.value,disabled:!Q.value,onClick:ne},{default:t(()=>[...d[13]||(d[13]=[l("立即签名",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),default:t(()=>[Y.proposal?(c(),E(re,{key:0},[a(U,{column:1,bordered:"",size:"small"},{default:t(()=>[a(S,{label:"Domain"},{default:t(()=>[a(b,{color:"purple"},{default:t(()=>[l(s(y.value.domain),1)]),_:1})]),_:1}),a(S,{label:"Proposal ID"},{default:t(()=>[m("code",je,s(y.value.id),1)]),_:1}),a(S,{label:"阈值"},{default:t(()=>[l(s(y.value.thresholdM)+"-of-"+s(y.value.memberSet.length),1)]),_:1}),a(S,{label:"已签 / 需签"},{default:t(()=>[l(s(oe.value)+" / "+s(y.value.thresholdM),1)]),_:1}),a(S,{label:"Payload hash"},{default:t(()=>[D.value?(c(),E("code",{key:1,class:"hash-full",style:{cursor:"pointer","font-size":"11px","word-break":"break-all"},onClick:d[1]||(d[1]=z=>D.value=!1)},s(y.value.payloadHash||"(unavailable)"),1)):(c(),E("code",{key:0,class:"hash-short",style:{cursor:"pointer","font-size":"12px"},onClick:d[0]||(d[0]=z=>D.value=!0),title:"点击展开完整 hash"},s(K.value),1))]),_:1}),a(S,{label:"Payload"},{default:t(()=>[m("details",null,[d[5]||(d[5]=m("summary",{style:{cursor:"pointer",color:"var(--text-secondary)"}}," 展开 (JCS) ",-1)),m("pre",Ne,s(le.value),1)])]),_:1})]),_:1}),a(T),m("div",Fe,[d[7]||(d[7]=m("div",{style:{"margin-bottom":"8px","font-weight":"500"}},"签名身份 (DID)",-1)),a(e,{value:M.value,"onUpdate:value":d[2]||(d[2]=z=>M.value=z),style:{width:"100%"},placeholder:"选择签名成员",disabled:x.value},{default:t(()=>[(c(!0),E(re,null,be(V.value,z=>(c(),g(o,{key:z.did,value:z.did},{default:t(()=>[m("code",Ee,s(O(z.did)),1),m("span",Je," ("+s(z.alg)+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","disabled"]),V.value.length===0?(c(),g(p,{key:0,type:"warning",style:{"font-size":"12px"}},{default:t(()=>[...d[6]||(d[6]=[l(" 所有成员均已签名 (达阈值) ",-1)])]),_:1})):w("",!0)]),m("div",Ke,[d[11]||(d[11]=m("div",{style:{"margin-bottom":"8px","font-weight":"500"}},"密钥来源",-1)),a(h,{value:k.value,"onUpdate:value":d[3]||(d[3]=z=>k.value=z),disabled:x.value},{default:t(()=>[a(_,{value:"ukey"},{default:t(()=>[...d[8]||(d[8]=[m("strong",null,"U-Key 硬件",-1),m("span",{style:{color:"var(--text-secondary)","margin-left":"8px","font-size":"12px"}}," 推荐 (PIN 确认 via 主进程) ",-1)])]),_:1}),d[10]||(d[10]=m("br",null,null,-1)),a(_,{value:"hex",style:{"margin-top":"6px"}},{default:t(()=>[...d[9]||(d[9]=[m("strong",null,"软件 hex",-1),m("span",{style:{color:"var(--text-secondary)","margin-left":"8px","font-size":"12px"}}," 调试用 — 私钥不应在 UI 输入 ",-1)])]),_:1})]),_:1},8,["value","disabled"]),k.value==="hex"?(c(),g(I,{key:0,value:L.value,"onUpdate:value":d[4]||(d[4]=z=>L.value=z),placeholder:"hex (32 bytes = 64 chars Ed25519)",style:{"margin-top":"8px"},disabled:x.value},null,8,["value","disabled"])):w("",!0)]),a(N,{message:"高风险操作",description:X.value,type:"warning","show-icon":"",style:{"margin-bottom":"8px"}},null,8,["description"])],64)):w("",!0)]),_:1},8,["open"])}}},Be=xe(Te,[["__scopeId","data-v-61747175"]]),Re={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},He={class:"filter-bar"},qe={key:0,style:{"font-size":"12px"}},Ve={style:{margin:"0 0 8px 0"}},Qe={style:{"margin-left":"8px",color:"var(--text-secondary)"}},We={style:{"margin-top":"8px"}},Ye={style:{cursor:"pointer",color:"var(--text-secondary)"}},Ge={key:0},Xe={style:{margin:"0","max-height":"240px",overflow:"auto","font-size":"12px"}},Ze={style:{margin:"16px 0 8px 0"}},et={style:{"font-size":"12px"}},tt={__name:"Multisig",setup(Y){const G=ke(),{isEmbedded:q}=he();async function C(o,e,p,_=8e3){if(q){const h=await G.sendRaw({type:o,...e},_);if(!h?.ok){const I=h?.error;throw new Error(typeof I=="string"?I:I?.message||`${o} failed`)}return h.result}return G.executeJson(p,_)}const J=$(!1),B=$([]),x=$([]),M=$("proposals"),k=$(""),L=$(""),D=$(!1),n=$(null),y=$(!1),R=$(null),oe=[{title:"ID",key:"id",width:200},{title:"Domain",dataIndex:"domain",width:220},{title:"状态",key:"state",width:110},{title:"阈值",key:"sigs",width:80},{title:"创建",key:"createdAt",width:140},{title:"过期",key:"expiresAt",width:140},{title:"操作",key:"actions",width:240,fixed:"right"}],V=[{title:"DID",dataIndex:"did"},{title:"Alg",dataIndex:"alg",width:200}],K=P(()=>{const o={pending:0,reached:0,consumed:0,cancelled:0,expired:0};for(const e of B.value)o[e.state]!==void 0&&(o[e.state]+=1);return o}),le=P(()=>B.value.filter(o=>!(k.value&&o.state!==k.value||L.value&&!o.domain.toLowerCase().includes(L.value.toLowerCase()))));function Q(o){switch(o){case"pending":return"gold";case"reached":return"cyan";case"consumed":return"green";case"cancelled":return"default";case"expired":return"red";default:return"default"}}function X(o){const e=o-Date.now(),p=Math.abs(e)/6e4;if(p<60)return e>0?`${Math.round(p)} 分钟后`:`${Math.round(p)} 分钟前`;const _=p/60;if(_<24)return e>0?`${Math.round(_)} 小时后`:`${Math.round(_)} 小时前`;const h=_/24;return e>0?`${Math.round(h)} 天后`:`${Math.round(h)} 天前`}async function O(){J.value=!0;try{const[o,e]=await Promise.all([C("multisig.list",{limit:500},"multisig list --limit 500 --json",1e4).catch(()=>[]),Promise.all(["marketplace.purchase","crosschain.bridge.outbound","did.rotate"].map(async p=>{try{const _=await C("multisig.policy.show",{domain:p},`multisig policy show ${p} --json`,8e3);return{domain:p,policy:_,updatedAtMs:Date.now()}}catch{return null}})).then(p=>p.filter(Boolean))]);B.value=Array.isArray(o)?o:[],x.value=Array.isArray(e)?e:[]}catch(o){v.error("加载失败: "+(o.message||o))}finally{J.value=!1}}async function Z(o){try{const e=await C("multisig.show",{proposalId:o.id},`multisig show ${o.id} --json`,8e3);n.value=e,D.value=!0}catch(e){v.error("加载详情失败: "+(e.message||e))}}function se(o){return{onClick:()=>Z(o)}}async function ee(o){_e.confirm({title:`取消提案 ${o.id.slice(0,12)}…?`,content:"已签名的成员需要重新发起新提案。此操作不可撤销。",okText:"取消提案",okType:"danger",cancelText:"保持",onOk:async()=>{try{const e=await C("multisig.cancel",{proposalId:o.id,reason:"web-shell"},`multisig cancel ${o.id} --reason web-shell --json`,8e3);e.ok?(v.success("提案已取消"),D.value=!1,await O()):v.error("取消失败: "+e.reason)}catch(e){v.error(e.message||String(e))}}})}async function ne(o){try{const e=await C("multisig.show",{proposalId:o.id},`multisig show ${o.id} --json`,8e3);R.value=e,y.value=!0}catch(e){v.error("加载提案详情失败: "+(e.message||e))}}function r(){n.value&&(R.value=n.value,y.value=!0)}async function d(){D.value=!1,await O()}async function b(o){try{const e=await C("marketplace.consume",{proposalId:o.id},`marketplace consume ${o.id} --json`,1e4);e.status==="consumed"?(v.success(`订单 ${e.order.itemId} 已执行 (¥${(e.order.amountFen/100).toFixed(2)})`),D.value=!1,await O()):v.error("执行失败: "+(e.reason||JSON.stringify(e)))}catch(e){v.error(e.message||String(e))}}async function S(o){try{const e=await C("crosschain.bridge.consume",{proposalId:o.id},`crosschain bridge-consume ${o.id} --json`,1e4);if(e.status==="consumed"){const p=e.payload||{},_=`${p.fromChain||"?"} → ${p.toChain||"?"} (amount ${p.amount??"?"})`;e.bridgeId?v.success(`跨链桥已执行: ${_} · bridgeId ${e.bridgeId}`):(v.success(`跨链桥提案已 finalize: ${_}`),_e.info({title:"跨链桥提案 finalize 完成",content:`Proposal 已标记 consumed。
|
|
1
|
+
import{w as ve,L as c,Q as g,N as t,M as E,c as a,O as l,P as s,R as m,F as re,Y as be,S as w,K as i,f as P,r as $,o as De,u as j,_ as Ie,a1 as W}from"./vendor-BXcBOG8b.js";import{_ as xe,u as ke,d as v}from"./index-CzoKAiyT.js";import{u as he}from"./useShellMode-CgR0wCYM.js";import{R as Ae,z as ge,l as Le,aN as Oe,f as ye,d as Pe,c as Ue}from"./icons-DlxlFL4g.js";import _e from"./index-DEbAW3Ec.js";import"./KeyCode-D63Tfrq7.js";import"./omit-BVylGzEr.js";import"./pickAttrs-Cp3Nflbr.js";import"./initDefaultProps-BlhbrsQk.js";import"./motion-UZx12NPM.js";import"./raf-Deuc0E8-.js";import"./index-BLwY9y0X.js";import"./index-Z6DBe2RU.js";import"./isVisible-C7tPsqfj.js";import"./useState-Dlgl7fUg.js";import"./devWarning-CNIS3FrJ.js";import"./warning-Pq00owYb.js";import"./compact-item-zepznuTv.js";import"./createContext-BRto-SQH.js";import"./Compact-BNnX4jpz.js";import"./_getTag-BVc6NQ_K.js";import"./styleChecker-Bf7i4nlm.js";import"./zoom-CcABB_97.js";import"./ActionButton-ByFuxJsa.js";import"./vnode-CK992ojP.js";const je={style:{"font-size":"12px"}},Ne={style:{margin:"8px 0 0","max-height":"200px",overflow:"auto","font-size":"11px"}},Fe={style:{"margin-bottom":"16px"}},Ee={style:{"font-size":"12px"}},Je={style:{"margin-left":"8px",color:"var(--text-secondary)","font-size":"12px"}},Ke={style:{"margin-bottom":"16px"}},Te={__name:"SignProposalModal",props:{open:{type:Boolean,default:!1},proposal:{type:Object,default:null}},emits:["update:open","signed"],setup(Y,{emit:G}){const q=Y,C=G,J=ke(),{isEmbedded:B}=he(),x=$(!1),M=$(null),k=$("ukey"),L=$(""),D=$(!1);async function n(r,d,b,S=15e3){if(B){const U=await J.sendRaw({type:r,...d},S);if(!U?.ok){const T=U?.error;throw new Error(typeof T=="string"?T:T?.message||`${r} failed`)}return U.result}return J.executeJson(b,S)}const y=P(()=>q.proposal?.proposal??{}),R=P(()=>new Set((q.proposal?.signatures??[]).map(r=>r.signerDid))),oe=P(()=>R.value.size),V=P(()=>(y.value?.memberSet??[]).filter(r=>!R.value.has(r.did))),K=P(()=>{const r=y.value?.payloadHash;return!r||typeof r!="string"?"(unavailable)":r.length<=12?r:`${r.slice(0,8)}…${r.slice(-4)}`}),le=P(()=>{const r=y.value?.payload;try{return r?JSON.stringify(r,null,2):y.value?.payloadJcs||"(empty)"}catch{return String(r)}}),Q=P(()=>x.value||!M.value?!1:k.value==="hex"?/^[0-9a-fA-F]{2,}$/.test(L.value.trim()):k.value==="ukey"),X=P(()=>k.value==="ukey"?"签名将通过主进程调用 U-Key 硬件 (Windows) / simulation 驱动 (macOS/Linux)。 请确认 payload hash 与发起方提供的一致。私钥不出硬件边界。":"调试模式:私钥 hex 仅供 CLI / dev 测试。生产环境请使用 U-Key 硬件源。");function O(r){return r?r.length<=28?r:`${r.slice(0,20)}…${r.slice(-8)}`:""}function Z(){M.value=null,k.value="ukey",L.value="",D.value=!1,x.value=!1}ve(()=>q.open,r=>{r&&Z()}),ve(V,r=>{r.length>0&&!M.value&&(M.value=r[0].did)});function se(r){x.value||C("update:open",r)}function ee(){x.value||C("update:open",!1)}async function ne(){if(!Q.value)return;const r=k.value==="hex"?{secretKeyHex:L.value.trim()}:{},d=y.value.memberSet.find(b=>b.did===M.value);x.value=!0;try{const b=await n("multisig.sign",{proposalId:y.value.id,signerDid:M.value,alg:d?.alg??"Ed25519",source:k.value,params:r},k.value==="hex"?`multisig sign ${y.value.id} --signer ${M.value} --key ${r.secretKeyHex} --json`:`multisig sign ${y.value.id} --signer ${M.value} --json`,2e4);if(b.accepted)v.success(b.reachedThreshold?"✓ 签名已接受 — 达到阈值":"✓ 签名已接受"),C("signed",b),C("update:open",!1);else{const S=b.reason||"unknown",U=b.detail?` (${b.detail})`:"";v.error(`签名失败: ${S}${U}`)}}catch(b){v.error(b.message||String(b))}finally{x.value=!1}}return(r,d)=>{const b=i("a-tag"),S=i("a-descriptions-item"),U=i("a-descriptions"),T=i("a-divider"),o=i("a-select-option"),e=i("a-select"),p=i("a-typography-text"),_=i("a-radio"),h=i("a-radio-group"),I=i("a-input-password"),N=i("a-alert"),te=i("a-button"),F=i("a-space"),ie=i("a-modal");return c(),g(ie,{open:Y.open,title:"签名提案",width:600,"mask-closable":!1,keyboard:!1,"destroy-on-close":"","onUpdate:open":se},{footer:t(()=>[a(F,null,{default:t(()=>[a(te,{disabled:x.value,onClick:ee},{default:t(()=>[...d[12]||(d[12]=[l("取消",-1)])]),_:1},8,["disabled"]),a(te,{type:"primary",danger:"",loading:x.value,disabled:!Q.value,onClick:ne},{default:t(()=>[...d[13]||(d[13]=[l("立即签名",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),default:t(()=>[Y.proposal?(c(),E(re,{key:0},[a(U,{column:1,bordered:"",size:"small"},{default:t(()=>[a(S,{label:"Domain"},{default:t(()=>[a(b,{color:"purple"},{default:t(()=>[l(s(y.value.domain),1)]),_:1})]),_:1}),a(S,{label:"Proposal ID"},{default:t(()=>[m("code",je,s(y.value.id),1)]),_:1}),a(S,{label:"阈值"},{default:t(()=>[l(s(y.value.thresholdM)+"-of-"+s(y.value.memberSet.length),1)]),_:1}),a(S,{label:"已签 / 需签"},{default:t(()=>[l(s(oe.value)+" / "+s(y.value.thresholdM),1)]),_:1}),a(S,{label:"Payload hash"},{default:t(()=>[D.value?(c(),E("code",{key:1,class:"hash-full",style:{cursor:"pointer","font-size":"11px","word-break":"break-all"},onClick:d[1]||(d[1]=z=>D.value=!1)},s(y.value.payloadHash||"(unavailable)"),1)):(c(),E("code",{key:0,class:"hash-short",style:{cursor:"pointer","font-size":"12px"},onClick:d[0]||(d[0]=z=>D.value=!0),title:"点击展开完整 hash"},s(K.value),1))]),_:1}),a(S,{label:"Payload"},{default:t(()=>[m("details",null,[d[5]||(d[5]=m("summary",{style:{cursor:"pointer",color:"var(--text-secondary)"}}," 展开 (JCS) ",-1)),m("pre",Ne,s(le.value),1)])]),_:1})]),_:1}),a(T),m("div",Fe,[d[7]||(d[7]=m("div",{style:{"margin-bottom":"8px","font-weight":"500"}},"签名身份 (DID)",-1)),a(e,{value:M.value,"onUpdate:value":d[2]||(d[2]=z=>M.value=z),style:{width:"100%"},placeholder:"选择签名成员",disabled:x.value},{default:t(()=>[(c(!0),E(re,null,be(V.value,z=>(c(),g(o,{key:z.did,value:z.did},{default:t(()=>[m("code",Ee,s(O(z.did)),1),m("span",Je," ("+s(z.alg)+") ",1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","disabled"]),V.value.length===0?(c(),g(p,{key:0,type:"warning",style:{"font-size":"12px"}},{default:t(()=>[...d[6]||(d[6]=[l(" 所有成员均已签名 (达阈值) ",-1)])]),_:1})):w("",!0)]),m("div",Ke,[d[11]||(d[11]=m("div",{style:{"margin-bottom":"8px","font-weight":"500"}},"密钥来源",-1)),a(h,{value:k.value,"onUpdate:value":d[3]||(d[3]=z=>k.value=z),disabled:x.value},{default:t(()=>[a(_,{value:"ukey"},{default:t(()=>[...d[8]||(d[8]=[m("strong",null,"U-Key 硬件",-1),m("span",{style:{color:"var(--text-secondary)","margin-left":"8px","font-size":"12px"}}," 推荐 (PIN 确认 via 主进程) ",-1)])]),_:1}),d[10]||(d[10]=m("br",null,null,-1)),a(_,{value:"hex",style:{"margin-top":"6px"}},{default:t(()=>[...d[9]||(d[9]=[m("strong",null,"软件 hex",-1),m("span",{style:{color:"var(--text-secondary)","margin-left":"8px","font-size":"12px"}}," 调试用 — 私钥不应在 UI 输入 ",-1)])]),_:1})]),_:1},8,["value","disabled"]),k.value==="hex"?(c(),g(I,{key:0,value:L.value,"onUpdate:value":d[4]||(d[4]=z=>L.value=z),placeholder:"hex (32 bytes = 64 chars Ed25519)",style:{"margin-top":"8px"},disabled:x.value},null,8,["value","disabled"])):w("",!0)]),a(N,{message:"高风险操作",description:X.value,type:"warning","show-icon":"",style:{"margin-bottom":"8px"}},null,8,["description"])],64)):w("",!0)]),_:1},8,["open"])}}},Be=xe(Te,[["__scopeId","data-v-61747175"]]),Re={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},He={class:"filter-bar"},qe={key:0,style:{"font-size":"12px"}},Ve={style:{margin:"0 0 8px 0"}},Qe={style:{"margin-left":"8px",color:"var(--text-secondary)"}},We={style:{"margin-top":"8px"}},Ye={style:{cursor:"pointer",color:"var(--text-secondary)"}},Ge={key:0},Xe={style:{margin:"0","max-height":"240px",overflow:"auto","font-size":"12px"}},Ze={style:{margin:"16px 0 8px 0"}},et={style:{"font-size":"12px"}},tt={__name:"Multisig",setup(Y){const G=ke(),{isEmbedded:q}=he();async function C(o,e,p,_=8e3){if(q){const h=await G.sendRaw({type:o,...e},_);if(!h?.ok){const I=h?.error;throw new Error(typeof I=="string"?I:I?.message||`${o} failed`)}return h.result}return G.executeJson(p,_)}const J=$(!1),B=$([]),x=$([]),M=$("proposals"),k=$(""),L=$(""),D=$(!1),n=$(null),y=$(!1),R=$(null),oe=[{title:"ID",key:"id",width:200},{title:"Domain",dataIndex:"domain",width:220},{title:"状态",key:"state",width:110},{title:"阈值",key:"sigs",width:80},{title:"创建",key:"createdAt",width:140},{title:"过期",key:"expiresAt",width:140},{title:"操作",key:"actions",width:240,fixed:"right"}],V=[{title:"DID",dataIndex:"did"},{title:"Alg",dataIndex:"alg",width:200}],K=P(()=>{const o={pending:0,reached:0,consumed:0,cancelled:0,expired:0};for(const e of B.value)o[e.state]!==void 0&&(o[e.state]+=1);return o}),le=P(()=>B.value.filter(o=>!(k.value&&o.state!==k.value||L.value&&!o.domain.toLowerCase().includes(L.value.toLowerCase()))));function Q(o){switch(o){case"pending":return"gold";case"reached":return"cyan";case"consumed":return"green";case"cancelled":return"default";case"expired":return"red";default:return"default"}}function X(o){const e=o-Date.now(),p=Math.abs(e)/6e4;if(p<60)return e>0?`${Math.round(p)} 分钟后`:`${Math.round(p)} 分钟前`;const _=p/60;if(_<24)return e>0?`${Math.round(_)} 小时后`:`${Math.round(_)} 小时前`;const h=_/24;return e>0?`${Math.round(h)} 天后`:`${Math.round(h)} 天前`}async function O(){J.value=!0;try{const[o,e]=await Promise.all([C("multisig.list",{limit:500},"multisig list --limit 500 --json",1e4).catch(()=>[]),Promise.all(["marketplace.purchase","crosschain.bridge.outbound","did.rotate"].map(async p=>{try{const _=await C("multisig.policy.show",{domain:p},`multisig policy show ${p} --json`,8e3);return{domain:p,policy:_,updatedAtMs:Date.now()}}catch{return null}})).then(p=>p.filter(Boolean))]);B.value=Array.isArray(o)?o:[],x.value=Array.isArray(e)?e:[]}catch(o){v.error("加载失败: "+(o.message||o))}finally{J.value=!1}}async function Z(o){try{const e=await C("multisig.show",{proposalId:o.id},`multisig show ${o.id} --json`,8e3);n.value=e,D.value=!0}catch(e){v.error("加载详情失败: "+(e.message||e))}}function se(o){return{onClick:()=>Z(o)}}async function ee(o){_e.confirm({title:`取消提案 ${o.id.slice(0,12)}…?`,content:"已签名的成员需要重新发起新提案。此操作不可撤销。",okText:"取消提案",okType:"danger",cancelText:"保持",onOk:async()=>{try{const e=await C("multisig.cancel",{proposalId:o.id,reason:"web-shell"},`multisig cancel ${o.id} --reason web-shell --json`,8e3);e.ok?(v.success("提案已取消"),D.value=!1,await O()):v.error("取消失败: "+e.reason)}catch(e){v.error(e.message||String(e))}}})}async function ne(o){try{const e=await C("multisig.show",{proposalId:o.id},`multisig show ${o.id} --json`,8e3);R.value=e,y.value=!0}catch(e){v.error("加载提案详情失败: "+(e.message||e))}}function r(){n.value&&(R.value=n.value,y.value=!0)}async function d(){D.value=!1,await O()}async function b(o){try{const e=await C("marketplace.consume",{proposalId:o.id},`marketplace consume ${o.id} --json`,1e4);e.status==="consumed"?(v.success(`订单 ${e.order.itemId} 已执行 (¥${(e.order.amountFen/100).toFixed(2)})`),D.value=!1,await O()):v.error("执行失败: "+(e.reason||JSON.stringify(e)))}catch(e){v.error(e.message||String(e))}}async function S(o){try{const e=await C("crosschain.bridge.consume",{proposalId:o.id},`crosschain bridge-consume ${o.id} --json`,1e4);if(e.status==="consumed"){const p=e.payload||{},_=`${p.fromChain||"?"} → ${p.toChain||"?"} (amount ${p.amount??"?"})`;e.bridgeId?v.success(`跨链桥已执行: ${_} · bridgeId ${e.bridgeId}`):(v.success(`跨链桥提案已 finalize: ${_}`),_e.info({title:"跨链桥提案 finalize 完成",content:`Proposal 已标记 consumed。
|
|
2
2
|
|
|
3
3
|
在 CLI 侧运行以下命令完成 cc_bridges 行插入:
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as P,_ as nt,u as at,b as ot,d as v}from"./index-Cs66y4oC.js";import{R as lt,at as rt,r as st,s as _e,l as be,b0 as it,ak as ut,f as ct}from"./icons-DlxlFL4g.js";import{o as pt,M as m,R as b,P as i,c as a,N as t,Q as h,S as _,K as d,r as x,L as u,O as p,u as y,F as C,Y as j,_ as dt,f as Q,a as ke}from"./vendor-BXcBOG8b.js";const oe=Object.freeze(["create_component","add_feature","fix_bug","refactor","add_api","add_test","update_style","configure","general"]),Le=Object.freeze(["draft","complete","refined"]),xe=Object.freeze(["naming","architecture","testing","style","imports","components"]);function D(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function q(s,r){if(s==null)return r;if(typeof s!="string")return s;try{return JSON.parse(s)}catch{return s}}function ft(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)?null:{intent:String(r.intent||"general"),confidence:D(r.confidence,0)}}function mt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.entities)?r.entities.map(g=>g&&typeof g=="object"?{type:String(g.type||""),value:String(g.value||"")}:null).filter(Boolean):[];return{entities:l,count:D(r.count,l.length)}}function gt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.detected)?r.detected.filter(g=>typeof g=="string"):[];return{detected:l,primary:r.primary?String(r.primary):l[0]||null}}function yt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,inputText:s.inputText??s.input_text??"",intent:String(s.intent||"general"),entities:q(s.entities,[]),techStack:q(s.techStack??s.tech_stack,[]),spec:q(s.spec,null),completenessScore:D(s.completenessScore??s.completeness_score,0),ambiguities:q(s.ambiguities,[]),status:String(s.status||"draft").toLowerCase(),createdAt:s.createdAt??s.created_at??null,updatedAt:s.updatedAt??s.updated_at??null,_idx:r}:null}function vt(s){const r=P(s);return Array.isArray(r)?r.map(yt).filter(Boolean):[]}function _t(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)||r.translationId===void 0?null:{translated:!!r.translated,translationId:r.translationId,intent:String(r.intent||""),completeness:D(r.completeness,0)}}function bt(s){if(!s)return{noDb:!1,error:""};const r=/No ChainlessChain project database/i.test(s)||/Cannot read properties of undefined \(reading ['"]prepare['"]\)/i.test(s)||/TypeError.*prepare/i.test(s),l=s.match(/Error:\s*(No ChainlessChain project database[^\r\n]*)/i);if(l)return{noDb:!0,error:l[1].trim()};const g=s.match(/TypeError:\s*(.+?)(?:\r?\n|$)/i);return{noDb:r,error:g?g[1].trim():""}}function kt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,category:String(s.category||""),pattern:String(s.pattern||""),examples:q(s.examples,[]),confidence:D(s.confidence,0),sourceFiles:q(s.sourceFiles??s.source_files,[]),createdAt:s.createdAt??s.created_at??null,_idx:r}:null}function xt(s){const r=P(s);return Array.isArray(r)?r.map(kt).filter(Boolean):[]}const ht={translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}};function $t(s){const r=JSON.parse(JSON.stringify(ht));for(const g of oe)r.translations.byIntent[g]=0;for(const g of xe)r.conventions.byCategory[g]=0;const l=P(s);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.translations&&typeof l.translations=="object"){if(r.translations.total=D(l.translations.total,0),r.translations.avgCompleteness=D(l.translations.avgCompleteness??l.translations.avg_completeness,0),l.translations.byIntent&&typeof l.translations.byIntent=="object")for(const[g,z]of Object.entries(l.translations.byIntent))typeof z=="number"&&Number.isFinite(z)&&(r.translations.byIntent[g]=z);if(l.translations.byStatus&&typeof l.translations.byStatus=="object")for(const g of Object.keys(r.translations.byStatus))r.translations.byStatus[g]=D(l.translations.byStatus[g],0)}if(l.conventions&&typeof l.conventions=="object"&&(r.conventions.total=D(l.conventions.total,0),l.conventions.byCategory&&typeof l.conventions.byCategory=="object"))for(const[g,z]of Object.entries(l.conventions.byCategory))typeof z=="number"&&Number.isFinite(z)&&(r.conventions.byCategory[g]=z);return r}function ae(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}const Ct={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},St={class:"page-sub"},At={class:"filter-bar"},Tt={key:0,style:{color:"var(--text-primary)"}},jt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Ft={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},wt={class:"filter-bar"},Nt={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Ot={key:0,style:{color:"var(--text-muted)"}},Lt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Dt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Rt={key:0,style:{"margin-bottom":"12px"}},Et={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},It={style:{color:"var(--text-secondary)","font-size":"12px"}},Ut={key:1,style:{"margin-bottom":"12px"}},Pt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Mt={key:0,style:{color:"var(--text-muted)"}},Bt={key:2},Jt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},qt={key:0,style:{color:"var(--text-muted)"}},Kt={key:0,style:{"padding-top":"8px"}},Vt={style:{"white-space":"pre-wrap",color:"var(--text-primary)"}},Wt={style:{"margin-top":"16px"}},Yt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Gt={class:"json-block"},Qt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Ht={class:"json-block"},Xt={key:0},Zt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},en={class:"json-block"},tn={__name:"NLProgramming",setup(s){const r=at(),{t:l}=ot(),g=x(!1),z=x(!1),le=x(!1),re=x(!1),he=x([]),se=x([]),F=x({translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}}),ie=x("translations"),K=x(""),V=x(""),H=x(""),ue=x(!1),X=x(!1),Z=x(!1),ce=x(!1),pe=ke({text:""}),w=ke({text:"",intent:null}),k=ke({category:"naming",pattern:"",examples:"",confidence:.8}),N=x(null),O=x(null),T=x(null),ee=x({noDb:!1,error:""}),$=x(null),De=Q(()=>[{title:l("nlprog.translationCols.inputText"),key:"inputText"},{title:l("nlprog.translationCols.intent"),key:"intent",width:"140px"},{title:l("nlprog.translationCols.completeness"),key:"completeness",width:"160px"},{title:l("nlprog.translationCols.status"),key:"status",width:"100px"},{title:l("nlprog.translationCols.updatedAt"),key:"updatedAt",width:"160px"},{title:l("nlprog.translationCols.action"),key:"action",width:"210px"}]),Re=Q(()=>[{title:l("nlprog.conventionCols.category"),key:"category",width:"120px"},{title:l("nlprog.conventionCols.pattern"),key:"pattern"},{title:l("nlprog.conventionCols.examples"),key:"examples",width:"220px"},{title:l("nlprog.conventionCols.confidence"),key:"confidence",width:"90px"},{title:l("nlprog.conventionCols.createdAt"),key:"createdAt",width:"160px"},{title:l("nlprog.conventionCols.action"),key:"action",width:"90px"}]),Ee=Q(()=>F.value.translations.avgCompleteness*100),Ie=Q(()=>{let e=he.value;return K.value&&(e=e.filter(n=>n.intent===K.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ue=Q(()=>H.value?se.value.filter(e=>e.category===H.value):se.value);function M(e){const n=`nlprog.intentLabels.${e}`,c=l(n);return c===n?e:c}function te(e){return{create_component:"blue",add_feature:"green",fix_bug:"red",refactor:"purple",add_api:"cyan",add_test:"orange",update_style:"magenta",configure:"gold",general:"default"}[e]||"default"}function W(e){const n=`nlprog.statusLabels.${e}`,c=l(n);return c===n?e:c}function $e(e){return{draft:"default",complete:"green",refined:"cyan"}[e]||"default"}function de(e){const n=`nlprog.categoryLabels.${e}`,c=l(n);return c===n?e:c}function Pe(e){return{naming:"blue",architecture:"purple",testing:"cyan",style:"magenta",imports:"orange",components:"green"}[e]||"default"}function fe(e){return e>=.7?"#52c41a":e>=.4?"#faad14":"#ff4d4f"}function Me(e,n){return e?e.length>n?e.slice(0,n)+"...":e:""}function me(e){if(e==null)return"—";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Be({key:e}){e==="analyze"?(N.value=null,O.value=null,T.value=null,ue.value=!0):e==="translate"?(ee.value={noDb:!1,error:""},X.value=!0):e==="convention"&&(Z.value=!0)}async function R(){g.value=!0;try{const[e,n,c]=await Promise.all([r.execute("nlprog list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog conventions --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog stats --json",8e3).catch(()=>({output:""}))]);he.value=vt(e.output),se.value=xt(n.output),F.value=$t(c.output)}catch(e){v.error(l("nlprog.msg.loadFailed")+": "+(e?.message||e))}finally{g.value=!1}}async function Je(){const e=pe.text.trim();if(!e){v.warning(l("nlprog.msg.textEmpty"));return}z.value=!0,N.value=null,O.value=null,T.value=null;try{const n=e.replace(/"/g,'\\"'),[c,L,E]=await Promise.all([r.execute(`nlprog classify "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog extract "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog detect-stack "${n}" --json`,8e3).catch(()=>({output:""}))]);N.value=ft(c.output),O.value=mt(L.output),T.value=gt(E.output),!N.value&&!O.value&&!T.value&&v.error(l("nlprog.msg.analyzeFailed"))}catch(n){v.error(l("nlprog.msg.analyzeFailed")+": "+(n?.message||n))}finally{z.value=!1}}async function qe(){const e=w.text.trim();if(!e){v.warning(l("nlprog.msg.translateTextEmpty"));return}le.value=!0,ee.value={noDb:!1,error:""};try{const n=[`nlprog translate "${e.replace(/"/g,'\\"')}"`];w.intent&&n.push(`--intent ${w.intent}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),12e3),L=bt(c);if(L.noDb){ee.value=L;return}const E=_t(c);if(!E){v.error(l("nlprog.msg.translateFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.translateSuccess",{pct:(E.completeness*100).toFixed(0)})),X.value=!1,Ce(),await R()}catch(n){v.error(l("nlprog.msg.translateFailed")+": "+(n?.message||n))}finally{le.value=!1}}async function Ke(e,n){if(n!==e.status)try{const{output:c}=await r.execute(`nlprog status ${e.id} ${n} --json`,8e3);if(/error|invalid/i.test(c)&&!/"updated"/.test(c)){v.error(l("nlprog.msg.transitionFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.transitionSuccess",{label:W(n)})),await R()}catch(c){v.error(l("nlprog.msg.transitionFailed")+": "+(c?.message||c))}}async function Ve(e){try{const{output:n}=await r.execute(`nlprog remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function We(e){$.value=e,ce.value=!0}async function Ye(){const e=k.pattern.trim();if(!e){v.warning(l("nlprog.msg.patternEmpty"));return}if(k.examples.trim())try{JSON.parse(k.examples)}catch{v.warning(l("nlprog.msg.examplesBadJson"));return}re.value=!0;try{const n=[`nlprog convention-add --category ${k.category}`];n.push(`--pattern "${e.replace(/"/g,'\\"')}"`),k.examples.trim()&&n.push(`--examples '${k.examples.trim().replace(/'/g,"'\\''")}'`),k.confidence!=null&&n.push(`--confidence ${k.confidence}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),1e4);if(/error|invalid|失败/i.test(c)&&!/"added"/.test(c)){v.error(l("nlprog.msg.addFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.addSuccess")),Z.value=!1,ze(),ie.value="conventions",await R()}catch(n){v.error(l("nlprog.msg.addFailed")+": "+(n?.message||n))}finally{re.value=!1}}async function Ge(e){try{const{output:n}=await r.execute(`nlprog convention-remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function Ce(){w.text="",w.intent=null}function ze(){k.category="naming",k.pattern="",k.examples="",k.confidence=.8}return pt(R),(e,n)=>{const c=d("a-button"),L=d("a-menu-item"),E=d("a-menu"),Se=d("a-dropdown"),Ae=d("a-space"),Y=d("a-statistic"),I=d("a-card"),G=d("a-col"),Qe=d("a-row"),S=d("a-tag"),B=d("a-radio-button"),ge=d("a-radio-group"),Te=d("a-progress"),je=d("a-popconfirm"),Fe=d("a-table"),we=d("a-tab-pane"),He=d("a-tabs"),ye=d("a-textarea"),U=d("a-form-item"),ve=d("a-form"),ne=d("a-modal"),Ne=d("a-select-option"),Oe=d("a-select"),Xe=d("a-alert"),Ze=d("a-input"),et=d("a-input-number"),J=d("a-descriptions-item"),tt=d("a-descriptions");return u(),m("div",null,[b("div",Ct,[b("div",null,[b("h2",zt,i(e.$t("nlprog.title")),1),b("p",St,i(e.$t("nlprog.subtitle")),1)]),a(Ae,null,{default:t(()=>[a(c,{loading:g.value,onClick:R},{icon:t(()=>[a(y(lt))]),default:t(()=>[p(" "+i(e.$t("nlprog.refresh")),1)]),_:1},8,["loading"]),a(Se,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:Be},{default:t(()=>[a(L,{key:"analyze"},{default:t(()=>[a(y(st)),p(" "+i(e.$t("nlprog.actions.analyze")),1)]),_:1}),a(L,{key:"translate"},{default:t(()=>[a(y(_e)),p(" "+i(e.$t("nlprog.actions.translate")),1)]),_:1}),a(L,{key:"convention"},{default:t(()=>[a(y(be)),p(" "+i(e.$t("nlprog.actions.convention")),1)]),_:1})]),_:1})]),default:t(()=>[a(c,{type:"primary"},{icon:t(()=>[a(y(rt))]),default:t(()=>[p(" "+i(e.$t("nlprog.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Qe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.translations"),value:F.value.translations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(y(_e))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.avgCompleteness"),value:Ee.value,precision:1,suffix:"%","value-style":{color:F.value.translations.avgCompleteness>=.7?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(it))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.drafts"),value:F.value.translations.byStatus.draft,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ut))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.completed"),value:F.value.translations.byStatus.complete,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:t(()=>[a(y(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:24,sm:8,lg:4},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.conventions"),value:F.value.conventions.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:t(()=>[a(y(be))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),F.value.translations.total>0?(u(),h(I,{key:0,title:e.$t("nlprog.intentCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:t(()=>[a(Ae,{size:[12,8],wrap:""},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(S,{key:o,color:te(o)},{default:t(()=>[p(i(M(o))+": "+i(F.value.translations.byIntent[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),a(He,{activeKey:ie.value,"onUpdate:activeKey":n[3]||(n[3]=o=>ie.value=o),class:"nlprog-tabs"},{default:t(()=>[a(we,{key:"translations",tab:e.$t("nlprog.tabs.translations")},{default:t(()=>[b("div",At,[a(ge,{value:K.value,"onUpdate:value":n[0]||(n[0]=o=>K.value=o),size:"small"},{default:t(()=>[a(B,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allIntents")),1)]),_:1}),(u(!0),m(C,null,j(y(oe),o=>(u(),h(B,{key:o,value:o},{default:t(()=>[p(i(M(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(ge,{value:V.value,"onUpdate:value":n[1]||(n[1]=o=>V.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(B,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allStatuses")),1)]),_:1}),(u(!0),m(C,null,j(y(Le),o=>(u(),h(B,{key:o,value:o},{default:t(()=>[p(i(W(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:De.value,"data-source":Ie.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="inputText"?(u(),m("span",Tt,i(Me(f.inputText,80)),1)):_("",!0),o.key==="intent"?(u(),h(S,{key:1,color:te(f.intent),style:{"font-size":"11px"}},{default:t(()=>[p(i(M(f.intent)),1)]),_:2},1032,["color"])):_("",!0),o.key==="completeness"?(u(),h(Te,{key:2,percent:Math.round(f.completenessScore*100),size:"small","stroke-color":fe(f.completenessScore),format:()=>(f.completenessScore*100).toFixed(0)+"%"},null,8,["percent","stroke-color","format"])):_("",!0),o.key==="status"?(u(),h(S,{key:3,color:$e(f.status)},{default:t(()=>[p(i(W(f.status)),1)]),_:2},1032,["color"])):_("",!0),o.key==="updatedAt"?(u(),m("span",jt,i(y(ae)(f.updatedAt)),1)):_("",!0),o.key==="action"?(u(),m(C,{key:5},[a(c,{size:"small",type:"link",onClick:A=>We(f)},{default:t(()=>[p(i(e.$t("nlprog.table.actionDetails")),1)]),_:1},8,["onClick"]),a(Se,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:A=>Ke(f,A.key)},{default:t(()=>[(u(!0),m(C,null,j(y(Le),A=>(u(),h(L,{key:A,disabled:A===f.status},{default:t(()=>[p(i(W(A)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:t(()=>[a(c,{size:"small",type:"link"},{default:t(()=>[p(i(e.$t("nlprog.table.actionStatusDropdown")),1)]),_:1})]),_:2},1024),a(je,{title:e.$t("nlprog.deleteTranslationConfirm.title"),"ok-text":e.$t("nlprog.deleteTranslationConfirm.ok"),"cancel-text":e.$t("nlprog.deleteTranslationConfirm.cancel"),onConfirm:A=>Ve(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteTranslationConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):_("",!0)]),emptyText:t(()=>[b("div",Ft,[a(y(_e),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(K.value||V.value?e.$t("nlprog.table.emptyTranslationsFiltered"):e.$t("nlprog.table.emptyTranslations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(we,{key:"conventions",tab:e.$t("nlprog.tabs.conventions")},{default:t(()=>[b("div",wt,[a(ge,{value:H.value,"onUpdate:value":n[2]||(n[2]=o=>H.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(B,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allCategories")),1)]),_:1}),(u(!0),m(C,null,j(y(xe),o=>(u(),h(B,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:Re.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="category"?(u(),h(S,{key:0,color:Pe(f.category)},{default:t(()=>[p(i(de(f.category)),1)]),_:2},1032,["color"])):_("",!0),o.key==="pattern"?(u(),m("span",Nt,i(f.pattern),1)):_("",!0),o.key==="examples"?(u(),m(C,{key:2},[(u(!0),m(C,null,j(Array.isArray(f.examples)?f.examples.slice(0,3):[],A=>(u(),h(S,{key:A,color:"default",style:{"font-size":"10px","font-family":"monospace",margin:"1px"}},{default:t(()=>[p(i(A),1)]),_:2},1024))),128)),!Array.isArray(f.examples)||f.examples.length===0?(u(),m("span",Ot,"—")):_("",!0)],64)):_("",!0),o.key==="confidence"?(u(),m("span",{key:3,style:dt({color:fe(f.confidence),fontWeight:500})},i((f.confidence*100).toFixed(0))+"% ",5)):_("",!0),o.key==="createdAt"?(u(),m("span",Lt,i(y(ae)(f.createdAt)),1)):_("",!0),o.key==="action"?(u(),h(je,{key:5,title:e.$t("nlprog.deleteConventionConfirm.title"),"ok-text":e.$t("nlprog.deleteConventionConfirm.ok"),"cancel-text":e.$t("nlprog.deleteConventionConfirm.cancel"),onConfirm:A=>Ge(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteConventionConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):_("",!0)]),emptyText:t(()=>[b("div",Dt,[a(y(be),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(e.$t("nlprog.table.emptyConventions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ne,{open:ue.value,"onUpdate:open":n[5]||(n[5]=o=>ue.value=o),title:e.$t("nlprog.analyze_modal.title"),"confirm-loading":z.value,width:600,"ok-text":e.$t("nlprog.analyze_modal.ok"),"cancel-text":e.$t("nlprog.analyze_modal.cancel"),onOk:Je},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.analyze_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:pe.text,"onUpdate:value":n[4]||(n[4]=o=>pe.text=o),placeholder:e.$t("nlprog.analyze_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),N.value||O.value||T.value?(u(),h(I,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:t(()=>[N.value?(u(),m("div",Rt,[b("div",Et,i(e.$t("nlprog.analyze_modal.intent")),1),a(S,{color:te(N.value.intent),style:{"margin-right":"6px"}},{default:t(()=>[p(i(M(N.value.intent)),1)]),_:1},8,["color"]),b("span",It,i(e.$t("nlprog.analyze_modal.confidenceLine",{pct:(N.value.confidence*100).toFixed(0)})),1)])):_("",!0),O.value?(u(),m("div",Ut,[b("div",Pt,i(e.$t("nlprog.analyze_modal.entities",{n:O.value.count})),1),O.value.entities.length?_("",!0):(u(),m("span",Mt,i(e.$t("nlprog.analyze_modal.notDetected")),1)),(u(!0),m(C,null,j(O.value.entities,(o,f)=>(u(),h(S,{key:f,color:"purple",style:{"font-family":"monospace","font-size":"11px",margin:"1px"}},{default:t(()=>[p(" ["+i(o.type)+"] "+i(o.value),1)]),_:2},1024))),128))])):_("",!0),T.value?(u(),m("div",Bt,[b("div",Jt,i(e.$t("nlprog.analyze_modal.stack")),1),T.value.detected.length?(u(),m(C,{key:1},[a(S,{color:"cyan",style:{"font-family":"monospace"}},{default:t(()=>[p(i(e.$t("nlprog.analyze_modal.stackPrimary",{name:T.value.primary})),1)]),_:1}),(u(!0),m(C,null,j(T.value.detected.filter(o=>o!==T.value.primary),o=>(u(),h(S,{key:o,color:"default",style:{"font-family":"monospace","font-size":"11px"}},{default:t(()=>[p(i(o),1)]),_:2},1024))),128))],64)):(u(),m("span",qt,i(e.$t("nlprog.analyze_modal.notDetected")),1))])):_("",!0)]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:X.value,"onUpdate:open":n[8]||(n[8]=o=>X.value=o),title:e.$t("nlprog.translate_modal.title"),"confirm-loading":le.value,width:540,"ok-text":e.$t("nlprog.translate_modal.ok"),"cancel-text":e.$t("nlprog.translate_modal.cancel"),onOk:qe,onCancel:Ce},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.translate_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:w.text,"onUpdate:value":n[6]||(n[6]=o=>w.text=o),placeholder:e.$t("nlprog.translate_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.translate_modal.intentLabel")},{default:t(()=>[a(Oe,{value:w.intent,"onUpdate:value":n[7]||(n[7]=o=>w.intent=o),"allow-clear":"",placeholder:e.$t("nlprog.translate_modal.intentPlaceholder")},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(M(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),ee.value.noDb?(u(),h(Xe,{key:0,type:"warning","show-icon":"",message:e.$t("nlprog.translate_modal.noDbMessage"),description:e.$t("nlprog.translate_modal.noDbDescription"),style:{"margin-top":"12px"}},null,8,["message","description"])):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:Z.value,"onUpdate:open":n[13]||(n[13]=o=>Z.value=o),title:e.$t("nlprog.convention_modal.title"),"confirm-loading":re.value,width:540,"ok-text":e.$t("nlprog.convention_modal.ok"),"cancel-text":e.$t("nlprog.convention_modal.cancel"),onOk:Ye,onCancel:ze},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.convention_modal.categoryLabel"),required:""},{default:t(()=>[a(Oe,{value:k.category,"onUpdate:value":n[9]||(n[9]=o=>k.category=o)},{default:t(()=>[(u(!0),m(C,null,j(y(xe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.patternLabel"),required:""},{default:t(()=>[a(Ze,{value:k.pattern,"onUpdate:value":n[10]||(n[10]=o=>k.pattern=o),placeholder:e.$t("nlprog.convention_modal.patternPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.examplesLabel")},{default:t(()=>[a(ye,{value:k.examples,"onUpdate:value":n[11]||(n[11]=o=>k.examples=o),placeholder:e.$t("nlprog.convention_modal.examplesPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.confidenceLabel")},{default:t(()=>[a(et,{value:k.confidence,"onUpdate:value":n[12]||(n[12]=o=>k.confidence=o),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:ce.value,"onUpdate:open":n[14]||(n[14]=o=>ce.value=o),title:e.$t("nlprog.details.title",{id:$.value?.id?.slice(0,8)||""}),width:720,footer:null},{default:t(()=>[$.value?(u(),m("div",Kt,[a(tt,{column:2,size:"small",bordered:""},{default:t(()=>[a(J,{label:e.$t("nlprog.details.intent")},{default:t(()=>[a(S,{color:te($.value.intent)},{default:t(()=>[p(i(M($.value.intent)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.status")},{default:t(()=>[a(S,{color:$e($.value.status)},{default:t(()=>[p(i(W($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.completeness"),span:2},{default:t(()=>[a(Te,{percent:Math.round($.value.completenessScore*100),"stroke-color":fe($.value.completenessScore),size:"small"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.createdAt")},{default:t(()=>[p(i(y(ae)($.value.createdAt)),1)]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.updatedAt")},{default:t(()=>[p(i(y(ae)($.value.updatedAt)),1)]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.inputText"),span:2},{default:t(()=>[b("span",Vt,i($.value.inputText),1)]),_:1},8,["label"])]),_:1}),b("div",Wt,[b("h4",Yt,i(e.$t("nlprog.details.entities")),1),b("pre",Gt,i(me($.value.entities)),1)]),b("div",null,[b("h4",Qt,i(e.$t("nlprog.details.techStack")),1),b("pre",Ht,i(me($.value.techStack)),1)]),$.value.spec?(u(),m("div",Xt,[b("h4",Zt,i(e.$t("nlprog.details.spec")),1),b("pre",en,i(me($.value.spec)),1)])):_("",!0)])):_("",!0)]),_:1},8,["open","title"])])}}},ln=nt(tn,[["__scopeId","data-v-55209f60"]]);export{ln as default};
|
|
1
|
+
import{t as P,_ as nt,u as at,b as ot,d as v}from"./index-CzoKAiyT.js";import{R as lt,at as rt,r as st,s as _e,l as be,b0 as it,ak as ut,f as ct}from"./icons-DlxlFL4g.js";import{o as pt,M as m,R as b,P as i,c as a,N as t,Q as h,S as _,K as d,r as x,L as u,O as p,u as y,F as C,Y as j,_ as dt,f as Q,a as ke}from"./vendor-BXcBOG8b.js";const oe=Object.freeze(["create_component","add_feature","fix_bug","refactor","add_api","add_test","update_style","configure","general"]),Le=Object.freeze(["draft","complete","refined"]),xe=Object.freeze(["naming","architecture","testing","style","imports","components"]);function D(s,r=0){return typeof s=="number"&&Number.isFinite(s)?s:r}function q(s,r){if(s==null)return r;if(typeof s!="string")return s;try{return JSON.parse(s)}catch{return s}}function ft(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)?null:{intent:String(r.intent||"general"),confidence:D(r.confidence,0)}}function mt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.entities)?r.entities.map(g=>g&&typeof g=="object"?{type:String(g.type||""),value:String(g.value||"")}:null).filter(Boolean):[];return{entities:l,count:D(r.count,l.length)}}function gt(s){const r=P(s);if(!r||typeof r!="object"||Array.isArray(r))return null;const l=Array.isArray(r.detected)?r.detected.filter(g=>typeof g=="string"):[];return{detected:l,primary:r.primary?String(r.primary):l[0]||null}}function yt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,inputText:s.inputText??s.input_text??"",intent:String(s.intent||"general"),entities:q(s.entities,[]),techStack:q(s.techStack??s.tech_stack,[]),spec:q(s.spec,null),completenessScore:D(s.completenessScore??s.completeness_score,0),ambiguities:q(s.ambiguities,[]),status:String(s.status||"draft").toLowerCase(),createdAt:s.createdAt??s.created_at??null,updatedAt:s.updatedAt??s.updated_at??null,_idx:r}:null}function vt(s){const r=P(s);return Array.isArray(r)?r.map(yt).filter(Boolean):[]}function _t(s){const r=P(s);return!r||typeof r!="object"||Array.isArray(r)||r.translationId===void 0?null:{translated:!!r.translated,translationId:r.translationId,intent:String(r.intent||""),completeness:D(r.completeness,0)}}function bt(s){if(!s)return{noDb:!1,error:""};const r=/No ChainlessChain project database/i.test(s)||/Cannot read properties of undefined \(reading ['"]prepare['"]\)/i.test(s)||/TypeError.*prepare/i.test(s),l=s.match(/Error:\s*(No ChainlessChain project database[^\r\n]*)/i);if(l)return{noDb:!0,error:l[1].trim()};const g=s.match(/TypeError:\s*(.+?)(?:\r?\n|$)/i);return{noDb:r,error:g?g[1].trim():""}}function kt(s,r=0){if(!s||typeof s!="object")return null;const l=s.id||"";return l?{key:l,id:l,category:String(s.category||""),pattern:String(s.pattern||""),examples:q(s.examples,[]),confidence:D(s.confidence,0),sourceFiles:q(s.sourceFiles??s.source_files,[]),createdAt:s.createdAt??s.created_at??null,_idx:r}:null}function xt(s){const r=P(s);return Array.isArray(r)?r.map(kt).filter(Boolean):[]}const ht={translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}};function $t(s){const r=JSON.parse(JSON.stringify(ht));for(const g of oe)r.translations.byIntent[g]=0;for(const g of xe)r.conventions.byCategory[g]=0;const l=P(s);if(!l||typeof l!="object"||Array.isArray(l))return r;if(l.translations&&typeof l.translations=="object"){if(r.translations.total=D(l.translations.total,0),r.translations.avgCompleteness=D(l.translations.avgCompleteness??l.translations.avg_completeness,0),l.translations.byIntent&&typeof l.translations.byIntent=="object")for(const[g,z]of Object.entries(l.translations.byIntent))typeof z=="number"&&Number.isFinite(z)&&(r.translations.byIntent[g]=z);if(l.translations.byStatus&&typeof l.translations.byStatus=="object")for(const g of Object.keys(r.translations.byStatus))r.translations.byStatus[g]=D(l.translations.byStatus[g],0)}if(l.conventions&&typeof l.conventions=="object"&&(r.conventions.total=D(l.conventions.total,0),l.conventions.byCategory&&typeof l.conventions.byCategory=="object"))for(const[g,z]of Object.entries(l.conventions.byCategory))typeof z=="number"&&Number.isFinite(z)&&(r.conventions.byCategory[g]=z);return r}function ae(s){if(s==null||s==="")return"—";const r=typeof s=="number"?new Date(s):new Date(String(s));return isNaN(r.getTime())?String(s):r.toLocaleString("zh-CN",{hour12:!1})}const Ct={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},zt={class:"page-title"},St={class:"page-sub"},At={class:"filter-bar"},Tt={key:0,style:{color:"var(--text-primary)"}},jt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Ft={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},wt={class:"filter-bar"},Nt={key:1,style:{color:"var(--text-primary)","font-family":"monospace","font-size":"12px"}},Ot={key:0,style:{color:"var(--text-muted)"}},Lt={key:4,style:{color:"var(--text-secondary)","font-size":"11px"}},Dt={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},Rt={key:0,style:{"margin-bottom":"12px"}},Et={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},It={style:{color:"var(--text-secondary)","font-size":"12px"}},Ut={key:1,style:{"margin-bottom":"12px"}},Pt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},Mt={key:0,style:{color:"var(--text-muted)"}},Bt={key:2},Jt={style:{"font-size":"12px",color:"var(--text-secondary)","margin-bottom":"4px"}},qt={key:0,style:{color:"var(--text-muted)"}},Kt={key:0,style:{"padding-top":"8px"}},Vt={style:{"white-space":"pre-wrap",color:"var(--text-primary)"}},Wt={style:{"margin-top":"16px"}},Yt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Gt={class:"json-block"},Qt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},Ht={class:"json-block"},Xt={key:0},Zt={style:{color:"var(--text-primary)","font-size":"13px","margin-bottom":"8px"}},en={class:"json-block"},tn={__name:"NLProgramming",setup(s){const r=at(),{t:l}=ot(),g=x(!1),z=x(!1),le=x(!1),re=x(!1),he=x([]),se=x([]),F=x({translations:{total:0,byIntent:{},byStatus:{draft:0,complete:0,refined:0},avgCompleteness:0},conventions:{total:0,byCategory:{}}}),ie=x("translations"),K=x(""),V=x(""),H=x(""),ue=x(!1),X=x(!1),Z=x(!1),ce=x(!1),pe=ke({text:""}),w=ke({text:"",intent:null}),k=ke({category:"naming",pattern:"",examples:"",confidence:.8}),N=x(null),O=x(null),T=x(null),ee=x({noDb:!1,error:""}),$=x(null),De=Q(()=>[{title:l("nlprog.translationCols.inputText"),key:"inputText"},{title:l("nlprog.translationCols.intent"),key:"intent",width:"140px"},{title:l("nlprog.translationCols.completeness"),key:"completeness",width:"160px"},{title:l("nlprog.translationCols.status"),key:"status",width:"100px"},{title:l("nlprog.translationCols.updatedAt"),key:"updatedAt",width:"160px"},{title:l("nlprog.translationCols.action"),key:"action",width:"210px"}]),Re=Q(()=>[{title:l("nlprog.conventionCols.category"),key:"category",width:"120px"},{title:l("nlprog.conventionCols.pattern"),key:"pattern"},{title:l("nlprog.conventionCols.examples"),key:"examples",width:"220px"},{title:l("nlprog.conventionCols.confidence"),key:"confidence",width:"90px"},{title:l("nlprog.conventionCols.createdAt"),key:"createdAt",width:"160px"},{title:l("nlprog.conventionCols.action"),key:"action",width:"90px"}]),Ee=Q(()=>F.value.translations.avgCompleteness*100),Ie=Q(()=>{let e=he.value;return K.value&&(e=e.filter(n=>n.intent===K.value)),V.value&&(e=e.filter(n=>n.status===V.value)),e}),Ue=Q(()=>H.value?se.value.filter(e=>e.category===H.value):se.value);function M(e){const n=`nlprog.intentLabels.${e}`,c=l(n);return c===n?e:c}function te(e){return{create_component:"blue",add_feature:"green",fix_bug:"red",refactor:"purple",add_api:"cyan",add_test:"orange",update_style:"magenta",configure:"gold",general:"default"}[e]||"default"}function W(e){const n=`nlprog.statusLabels.${e}`,c=l(n);return c===n?e:c}function $e(e){return{draft:"default",complete:"green",refined:"cyan"}[e]||"default"}function de(e){const n=`nlprog.categoryLabels.${e}`,c=l(n);return c===n?e:c}function Pe(e){return{naming:"blue",architecture:"purple",testing:"cyan",style:"magenta",imports:"orange",components:"green"}[e]||"default"}function fe(e){return e>=.7?"#52c41a":e>=.4?"#faad14":"#ff4d4f"}function Me(e,n){return e?e.length>n?e.slice(0,n)+"...":e:""}function me(e){if(e==null)return"—";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Be({key:e}){e==="analyze"?(N.value=null,O.value=null,T.value=null,ue.value=!0):e==="translate"?(ee.value={noDb:!1,error:""},X.value=!0):e==="convention"&&(Z.value=!0)}async function R(){g.value=!0;try{const[e,n,c]=await Promise.all([r.execute("nlprog list --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog conventions --limit 200 --json",1e4).catch(()=>({output:""})),r.execute("nlprog stats --json",8e3).catch(()=>({output:""}))]);he.value=vt(e.output),se.value=xt(n.output),F.value=$t(c.output)}catch(e){v.error(l("nlprog.msg.loadFailed")+": "+(e?.message||e))}finally{g.value=!1}}async function Je(){const e=pe.text.trim();if(!e){v.warning(l("nlprog.msg.textEmpty"));return}z.value=!0,N.value=null,O.value=null,T.value=null;try{const n=e.replace(/"/g,'\\"'),[c,L,E]=await Promise.all([r.execute(`nlprog classify "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog extract "${n}" --json`,8e3).catch(()=>({output:""})),r.execute(`nlprog detect-stack "${n}" --json`,8e3).catch(()=>({output:""}))]);N.value=ft(c.output),O.value=mt(L.output),T.value=gt(E.output),!N.value&&!O.value&&!T.value&&v.error(l("nlprog.msg.analyzeFailed"))}catch(n){v.error(l("nlprog.msg.analyzeFailed")+": "+(n?.message||n))}finally{z.value=!1}}async function qe(){const e=w.text.trim();if(!e){v.warning(l("nlprog.msg.translateTextEmpty"));return}le.value=!0,ee.value={noDb:!1,error:""};try{const n=[`nlprog translate "${e.replace(/"/g,'\\"')}"`];w.intent&&n.push(`--intent ${w.intent}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),12e3),L=bt(c);if(L.noDb){ee.value=L;return}const E=_t(c);if(!E){v.error(l("nlprog.msg.translateFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.translateSuccess",{pct:(E.completeness*100).toFixed(0)})),X.value=!1,Ce(),await R()}catch(n){v.error(l("nlprog.msg.translateFailed")+": "+(n?.message||n))}finally{le.value=!1}}async function Ke(e,n){if(n!==e.status)try{const{output:c}=await r.execute(`nlprog status ${e.id} ${n} --json`,8e3);if(/error|invalid/i.test(c)&&!/"updated"/.test(c)){v.error(l("nlprog.msg.transitionFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.transitionSuccess",{label:W(n)})),await R()}catch(c){v.error(l("nlprog.msg.transitionFailed")+": "+(c?.message||c))}}async function Ve(e){try{const{output:n}=await r.execute(`nlprog remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function We(e){$.value=e,ce.value=!0}async function Ye(){const e=k.pattern.trim();if(!e){v.warning(l("nlprog.msg.patternEmpty"));return}if(k.examples.trim())try{JSON.parse(k.examples)}catch{v.warning(l("nlprog.msg.examplesBadJson"));return}re.value=!0;try{const n=[`nlprog convention-add --category ${k.category}`];n.push(`--pattern "${e.replace(/"/g,'\\"')}"`),k.examples.trim()&&n.push(`--examples '${k.examples.trim().replace(/'/g,"'\\''")}'`),k.confidence!=null&&n.push(`--confidence ${k.confidence}`),n.push("--json");const{output:c}=await r.execute(n.join(" "),1e4);if(/error|invalid|失败/i.test(c)&&!/"added"/.test(c)){v.error(l("nlprog.msg.addFailed")+": "+c.slice(0,120));return}v.success(l("nlprog.msg.addSuccess")),Z.value=!1,ze(),ie.value="conventions",await R()}catch(n){v.error(l("nlprog.msg.addFailed")+": "+(n?.message||n))}finally{re.value=!1}}async function Ge(e){try{const{output:n}=await r.execute(`nlprog convention-remove ${e.id} --json`,8e3);if(/error/i.test(n)&&!/"removed"/.test(n)){v.error(l("nlprog.msg.deleteFailed")+": "+n.slice(0,120));return}v.success(l("nlprog.msg.deleteSuccess")),await R()}catch(n){v.error(l("nlprog.msg.deleteFailed")+": "+(n?.message||n))}}function Ce(){w.text="",w.intent=null}function ze(){k.category="naming",k.pattern="",k.examples="",k.confidence=.8}return pt(R),(e,n)=>{const c=d("a-button"),L=d("a-menu-item"),E=d("a-menu"),Se=d("a-dropdown"),Ae=d("a-space"),Y=d("a-statistic"),I=d("a-card"),G=d("a-col"),Qe=d("a-row"),S=d("a-tag"),B=d("a-radio-button"),ge=d("a-radio-group"),Te=d("a-progress"),je=d("a-popconfirm"),Fe=d("a-table"),we=d("a-tab-pane"),He=d("a-tabs"),ye=d("a-textarea"),U=d("a-form-item"),ve=d("a-form"),ne=d("a-modal"),Ne=d("a-select-option"),Oe=d("a-select"),Xe=d("a-alert"),Ze=d("a-input"),et=d("a-input-number"),J=d("a-descriptions-item"),tt=d("a-descriptions");return u(),m("div",null,[b("div",Ct,[b("div",null,[b("h2",zt,i(e.$t("nlprog.title")),1),b("p",St,i(e.$t("nlprog.subtitle")),1)]),a(Ae,null,{default:t(()=>[a(c,{loading:g.value,onClick:R},{icon:t(()=>[a(y(lt))]),default:t(()=>[p(" "+i(e.$t("nlprog.refresh")),1)]),_:1},8,["loading"]),a(Se,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:Be},{default:t(()=>[a(L,{key:"analyze"},{default:t(()=>[a(y(st)),p(" "+i(e.$t("nlprog.actions.analyze")),1)]),_:1}),a(L,{key:"translate"},{default:t(()=>[a(y(_e)),p(" "+i(e.$t("nlprog.actions.translate")),1)]),_:1}),a(L,{key:"convention"},{default:t(()=>[a(y(be)),p(" "+i(e.$t("nlprog.actions.convention")),1)]),_:1})]),_:1})]),default:t(()=>[a(c,{type:"primary"},{icon:t(()=>[a(y(rt))]),default:t(()=>[p(" "+i(e.$t("nlprog.actionDropdown")),1)]),_:1})]),_:1})]),_:1})]),a(Qe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:t(()=>[a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.translations"),value:F.value.translations.total,"value-style":{color:"#1677ff",fontSize:"20px"}},{prefix:t(()=>[a(y(_e))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.avgCompleteness"),value:Ee.value,precision:1,suffix:"%","value-style":{color:F.value.translations.avgCompleteness>=.7?"#52c41a":"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(it))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.drafts"),value:F.value.translations.byStatus.draft,"value-style":{color:"#faad14",fontSize:"20px"}},{prefix:t(()=>[a(y(ut))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:12,sm:8,lg:5},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.completed"),value:F.value.translations.byStatus.complete,"value-style":{color:"#52c41a",fontSize:"20px"}},{prefix:t(()=>[a(y(ct))]),_:1},8,["title","value"])]),_:1})]),_:1}),a(G,{xs:24,sm:8,lg:4},{default:t(()=>[a(I,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:t(()=>[a(Y,{title:e.$t("nlprog.stats.conventions"),value:F.value.conventions.total,"value-style":{color:"#722ed1",fontSize:"20px"}},{prefix:t(()=>[a(y(be))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),F.value.translations.total>0?(u(),h(I,{key:0,title:e.$t("nlprog.intentCard"),size:"small",style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"},"body-style":{padding:"12px 16px"}},{default:t(()=>[a(Ae,{size:[12,8],wrap:""},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(S,{key:o,color:te(o)},{default:t(()=>[p(i(M(o))+": "+i(F.value.translations.byIntent[o]||0),1)]),_:2},1032,["color"]))),128))]),_:1})]),_:1},8,["title"])):_("",!0),a(He,{activeKey:ie.value,"onUpdate:activeKey":n[3]||(n[3]=o=>ie.value=o),class:"nlprog-tabs"},{default:t(()=>[a(we,{key:"translations",tab:e.$t("nlprog.tabs.translations")},{default:t(()=>[b("div",At,[a(ge,{value:K.value,"onUpdate:value":n[0]||(n[0]=o=>K.value=o),size:"small"},{default:t(()=>[a(B,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allIntents")),1)]),_:1}),(u(!0),m(C,null,j(y(oe),o=>(u(),h(B,{key:o,value:o},{default:t(()=>[p(i(M(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),a(ge,{value:V.value,"onUpdate:value":n[1]||(n[1]=o=>V.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(B,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allStatuses")),1)]),_:1}),(u(!0),m(C,null,j(y(Le),o=>(u(),h(B,{key:o,value:o},{default:t(()=>[p(i(W(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:De.value,"data-source":Ie.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="inputText"?(u(),m("span",Tt,i(Me(f.inputText,80)),1)):_("",!0),o.key==="intent"?(u(),h(S,{key:1,color:te(f.intent),style:{"font-size":"11px"}},{default:t(()=>[p(i(M(f.intent)),1)]),_:2},1032,["color"])):_("",!0),o.key==="completeness"?(u(),h(Te,{key:2,percent:Math.round(f.completenessScore*100),size:"small","stroke-color":fe(f.completenessScore),format:()=>(f.completenessScore*100).toFixed(0)+"%"},null,8,["percent","stroke-color","format"])):_("",!0),o.key==="status"?(u(),h(S,{key:3,color:$e(f.status)},{default:t(()=>[p(i(W(f.status)),1)]),_:2},1032,["color"])):_("",!0),o.key==="updatedAt"?(u(),m("span",jt,i(y(ae)(f.updatedAt)),1)):_("",!0),o.key==="action"?(u(),m(C,{key:5},[a(c,{size:"small",type:"link",onClick:A=>We(f)},{default:t(()=>[p(i(e.$t("nlprog.table.actionDetails")),1)]),_:1},8,["onClick"]),a(Se,{trigger:["click"]},{overlay:t(()=>[a(E,{onClick:A=>Ke(f,A.key)},{default:t(()=>[(u(!0),m(C,null,j(y(Le),A=>(u(),h(L,{key:A,disabled:A===f.status},{default:t(()=>[p(i(W(A)),1)]),_:2},1032,["disabled"]))),128))]),_:2},1032,["onClick"])]),default:t(()=>[a(c,{size:"small",type:"link"},{default:t(()=>[p(i(e.$t("nlprog.table.actionStatusDropdown")),1)]),_:1})]),_:2},1024),a(je,{title:e.$t("nlprog.deleteTranslationConfirm.title"),"ok-text":e.$t("nlprog.deleteTranslationConfirm.ok"),"cancel-text":e.$t("nlprog.deleteTranslationConfirm.cancel"),onConfirm:A=>Ve(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteTranslationConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])],64)):_("",!0)]),emptyText:t(()=>[b("div",Ft,[a(y(_e),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(K.value||V.value?e.$t("nlprog.table.emptyTranslationsFiltered"):e.$t("nlprog.table.emptyTranslations")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"]),a(we,{key:"conventions",tab:e.$t("nlprog.tabs.conventions")},{default:t(()=>[b("div",wt,[a(ge,{value:H.value,"onUpdate:value":n[2]||(n[2]=o=>H.value=o),size:"small","button-style":"solid"},{default:t(()=>[a(B,{value:""},{default:t(()=>[p(i(e.$t("nlprog.filter.allCategories")),1)]),_:1}),(u(!0),m(C,null,j(y(xe),o=>(u(),h(B,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),a(Fe,{columns:Re.value,"data-source":Ue.value,pagination:{pageSize:20,showTotal:o=>e.$t("nlprog.table.totalSuffix",{n:o})},size:"small",loading:g.value,style:{background:"var(--bg-card)"}},{bodyCell:t(({column:o,record:f})=>[o.key==="category"?(u(),h(S,{key:0,color:Pe(f.category)},{default:t(()=>[p(i(de(f.category)),1)]),_:2},1032,["color"])):_("",!0),o.key==="pattern"?(u(),m("span",Nt,i(f.pattern),1)):_("",!0),o.key==="examples"?(u(),m(C,{key:2},[(u(!0),m(C,null,j(Array.isArray(f.examples)?f.examples.slice(0,3):[],A=>(u(),h(S,{key:A,color:"default",style:{"font-size":"10px","font-family":"monospace",margin:"1px"}},{default:t(()=>[p(i(A),1)]),_:2},1024))),128)),!Array.isArray(f.examples)||f.examples.length===0?(u(),m("span",Ot,"—")):_("",!0)],64)):_("",!0),o.key==="confidence"?(u(),m("span",{key:3,style:dt({color:fe(f.confidence),fontWeight:500})},i((f.confidence*100).toFixed(0))+"% ",5)):_("",!0),o.key==="createdAt"?(u(),m("span",Lt,i(y(ae)(f.createdAt)),1)):_("",!0),o.key==="action"?(u(),h(je,{key:5,title:e.$t("nlprog.deleteConventionConfirm.title"),"ok-text":e.$t("nlprog.deleteConventionConfirm.ok"),"cancel-text":e.$t("nlprog.deleteConventionConfirm.cancel"),onConfirm:A=>Ge(f)},{default:t(()=>[a(c,{size:"small",type:"link",danger:""},{default:t(()=>[p(i(e.$t("nlprog.deleteConventionConfirm.ok")),1)]),_:1})]),_:1},8,["title","ok-text","cancel-text","onConfirm"])):_("",!0)]),emptyText:t(()=>[b("div",Dt,[a(y(be),{style:{"font-size":"36px","margin-bottom":"10px",display:"block"}}),p(" "+i(e.$t("nlprog.table.emptyConventions")),1)])]),_:1},8,["columns","data-source","pagination","loading"])]),_:1},8,["tab"])]),_:1},8,["activeKey"]),a(ne,{open:ue.value,"onUpdate:open":n[5]||(n[5]=o=>ue.value=o),title:e.$t("nlprog.analyze_modal.title"),"confirm-loading":z.value,width:600,"ok-text":e.$t("nlprog.analyze_modal.ok"),"cancel-text":e.$t("nlprog.analyze_modal.cancel"),onOk:Je},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.analyze_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:pe.text,"onUpdate:value":n[4]||(n[4]=o=>pe.text=o),placeholder:e.$t("nlprog.analyze_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),N.value||O.value||T.value?(u(),h(I,{key:0,size:"small",style:{background:"var(--bg-base)","margin-top":"8px"}},{default:t(()=>[N.value?(u(),m("div",Rt,[b("div",Et,i(e.$t("nlprog.analyze_modal.intent")),1),a(S,{color:te(N.value.intent),style:{"margin-right":"6px"}},{default:t(()=>[p(i(M(N.value.intent)),1)]),_:1},8,["color"]),b("span",It,i(e.$t("nlprog.analyze_modal.confidenceLine",{pct:(N.value.confidence*100).toFixed(0)})),1)])):_("",!0),O.value?(u(),m("div",Ut,[b("div",Pt,i(e.$t("nlprog.analyze_modal.entities",{n:O.value.count})),1),O.value.entities.length?_("",!0):(u(),m("span",Mt,i(e.$t("nlprog.analyze_modal.notDetected")),1)),(u(!0),m(C,null,j(O.value.entities,(o,f)=>(u(),h(S,{key:f,color:"purple",style:{"font-family":"monospace","font-size":"11px",margin:"1px"}},{default:t(()=>[p(" ["+i(o.type)+"] "+i(o.value),1)]),_:2},1024))),128))])):_("",!0),T.value?(u(),m("div",Bt,[b("div",Jt,i(e.$t("nlprog.analyze_modal.stack")),1),T.value.detected.length?(u(),m(C,{key:1},[a(S,{color:"cyan",style:{"font-family":"monospace"}},{default:t(()=>[p(i(e.$t("nlprog.analyze_modal.stackPrimary",{name:T.value.primary})),1)]),_:1}),(u(!0),m(C,null,j(T.value.detected.filter(o=>o!==T.value.primary),o=>(u(),h(S,{key:o,color:"default",style:{"font-family":"monospace","font-size":"11px"}},{default:t(()=>[p(i(o),1)]),_:2},1024))),128))],64)):(u(),m("span",qt,i(e.$t("nlprog.analyze_modal.notDetected")),1))])):_("",!0)]),_:1})):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:X.value,"onUpdate:open":n[8]||(n[8]=o=>X.value=o),title:e.$t("nlprog.translate_modal.title"),"confirm-loading":le.value,width:540,"ok-text":e.$t("nlprog.translate_modal.ok"),"cancel-text":e.$t("nlprog.translate_modal.cancel"),onOk:qe,onCancel:Ce},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.translate_modal.textLabel"),required:""},{default:t(()=>[a(ye,{value:w.text,"onUpdate:value":n[6]||(n[6]=o=>w.text=o),placeholder:e.$t("nlprog.translate_modal.textPlaceholder"),"auto-size":{minRows:3,maxRows:6}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.translate_modal.intentLabel")},{default:t(()=>[a(Oe,{value:w.intent,"onUpdate:value":n[7]||(n[7]=o=>w.intent=o),"allow-clear":"",placeholder:e.$t("nlprog.translate_modal.intentPlaceholder")},{default:t(()=>[(u(!0),m(C,null,j(y(oe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(M(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"])]),_:1},8,["label"])]),_:1}),ee.value.noDb?(u(),h(Xe,{key:0,type:"warning","show-icon":"",message:e.$t("nlprog.translate_modal.noDbMessage"),description:e.$t("nlprog.translate_modal.noDbDescription"),style:{"margin-top":"12px"}},null,8,["message","description"])):_("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:Z.value,"onUpdate:open":n[13]||(n[13]=o=>Z.value=o),title:e.$t("nlprog.convention_modal.title"),"confirm-loading":re.value,width:540,"ok-text":e.$t("nlprog.convention_modal.ok"),"cancel-text":e.$t("nlprog.convention_modal.cancel"),onOk:Ye,onCancel:ze},{default:t(()=>[a(ve,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:t(()=>[a(U,{label:e.$t("nlprog.convention_modal.categoryLabel"),required:""},{default:t(()=>[a(Oe,{value:k.category,"onUpdate:value":n[9]||(n[9]=o=>k.category=o)},{default:t(()=>[(u(!0),m(C,null,j(y(xe),o=>(u(),h(Ne,{key:o,value:o},{default:t(()=>[p(i(de(o)),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.patternLabel"),required:""},{default:t(()=>[a(Ze,{value:k.pattern,"onUpdate:value":n[10]||(n[10]=o=>k.pattern=o),placeholder:e.$t("nlprog.convention_modal.patternPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.examplesLabel")},{default:t(()=>[a(ye,{value:k.examples,"onUpdate:value":n[11]||(n[11]=o=>k.examples=o),placeholder:e.$t("nlprog.convention_modal.examplesPlaceholder"),"auto-size":{minRows:2,maxRows:4}},null,8,["value","placeholder"])]),_:1},8,["label"]),a(U,{label:e.$t("nlprog.convention_modal.confidenceLabel")},{default:t(()=>[a(et,{value:k.confidence,"onUpdate:value":n[12]||(n[12]=o=>k.confidence=o),min:0,max:1,step:.05,style:{width:"100%"}},null,8,["value"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ne,{open:ce.value,"onUpdate:open":n[14]||(n[14]=o=>ce.value=o),title:e.$t("nlprog.details.title",{id:$.value?.id?.slice(0,8)||""}),width:720,footer:null},{default:t(()=>[$.value?(u(),m("div",Kt,[a(tt,{column:2,size:"small",bordered:""},{default:t(()=>[a(J,{label:e.$t("nlprog.details.intent")},{default:t(()=>[a(S,{color:te($.value.intent)},{default:t(()=>[p(i(M($.value.intent)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.status")},{default:t(()=>[a(S,{color:$e($.value.status)},{default:t(()=>[p(i(W($.value.status)),1)]),_:1},8,["color"])]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.completeness"),span:2},{default:t(()=>[a(Te,{percent:Math.round($.value.completenessScore*100),"stroke-color":fe($.value.completenessScore),size:"small"},null,8,["percent","stroke-color"])]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.createdAt")},{default:t(()=>[p(i(y(ae)($.value.createdAt)),1)]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.updatedAt")},{default:t(()=>[p(i(y(ae)($.value.updatedAt)),1)]),_:1},8,["label"]),a(J,{label:e.$t("nlprog.details.inputText"),span:2},{default:t(()=>[b("span",Vt,i($.value.inputText),1)]),_:1},8,["label"])]),_:1}),b("div",Wt,[b("h4",Yt,i(e.$t("nlprog.details.entities")),1),b("pre",Gt,i(me($.value.entities)),1)]),b("div",null,[b("h4",Qt,i(e.$t("nlprog.details.techStack")),1),b("pre",Ht,i(me($.value.techStack)),1)]),$.value.spec?(u(),m("div",Xt,[b("h4",Zt,i(e.$t("nlprog.details.spec")),1),b("pre",en,i(me($.value.spec)),1)])):_("",!0)])):_("",!0)]),_:1},8,["open","title"])])}}},ln=nt(tn,[["__scopeId","data-v-55209f60"]]);export{ln as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{w as Z,K as s,L as v,Q as I,N as n,M as U,c as a,S as N,r as c,a as pe,f as ee,u as D,R as L,O as k,P as q,o as we,H as ye,F as ce,Y as de}from"./vendor-BXcBOG8b.js";import{u as ie,d as $,_ as ve}from"./index-Cs66y4oC.js";import{u as _e}from"./useFs-gpl11PEF.js";import{u as fe}from"./useShellMode-CgR0wCYM.js";import{ax as me,ay as he,at as ke,az as xe,R as be,l as Se,aA as $e}from"./icons-DlxlFL4g.js";function Ce(d){if(d&&d.ok===!1)throw new Error(d.error||"knowledge handler failed");return d?.result??d}function re(d){return String(d).replace(/(["\\])/g,"\\$1")}function ge(){const d=ie();async function B({title:C,content:x,tags:b=[],type:f="note"}={}){if(typeof C!="string"||!C.trim())throw new Error("title is required");if(typeof x!="string")throw new Error("content is required");const i=Array.isArray(b)?b.filter(Boolean):[];if(fe().isEmbedded){const y=await d.sendRaw({type:"knowledge.add-item",item:{title:C.trim(),content:x,tags:i,type:f}},2e4),S=Ce(y);if(S?.success===!1)throw new Error(S.error||"knowledge.add-item failed");return S?.item??null}let r=`note add "${re(C.trim())}" -c "${re(x)}"`;i.length&&(r+=` -t "${re(i.join(","))}"`);const{output:l}=await d.execute(r,15e3);if(l&&/^[\s\S]*✖|error/i.test(l))throw new Error(l.slice(0,200));return{title:C.trim(),content:x,tags:i,type:f}}return{addItem:B}}const Re={key:0,style:{"margin-bottom":"16px"}},Ve={__name:"ClipboardImportDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","saved"],setup(d,{emit:B}){const C=d,x=B,b=ge(),f=ee({get:()=>C.modelValue,set:p=>x("update:modelValue",p)}),i=c(!1),r=c(""),l=pe({title:"",content:"",tagsRaw:""}),y=()=>`剪贴板导入 - ${new Date().toLocaleString()}`;function S(){l.title=y(),l.content="",l.tagsRaw="",r.value=""}async function z(){if(r.value="",!navigator.clipboard?.readText){r.value="当前环境不支持剪贴板读取 API";return}try{const p=await navigator.clipboard.readText();l.content=p||"",p||(r.value="剪贴板为空")}catch(p){r.value="读取剪贴板失败:"+(p?.message||String(p))}}Z(()=>C.modelValue,async p=>{p&&(S(),await z())},{immediate:!0});async function E(){if(!l.content.trim()){$.warning("内容为空,无法保存");return}i.value=!0;try{const p=l.tagsRaw.split(/[,,]/).map(g=>g.trim()).filter(Boolean),m=await b.addItem({title:l.title.trim()||y(),content:l.content,tags:p,type:"note"});$.success("已保存到知识库"),x("saved",m),f.value=!1}catch(p){$.error("保存失败:"+(p?.message||String(p)))}finally{i.value=!1}}function T(){f.value=!1}return(p,m)=>{const g=s("a-alert"),u=s("a-input"),_=s("a-form-item"),P=s("a-textarea"),W=s("a-form"),F=s("a-modal");return v(),I(F,{open:f.value,"onUpdate:open":m[3]||(m[3]=O=>f.value=O),title:"剪贴板导入",width:640,"ok-text":i.value?"保存中…":"保存到知识库","cancel-text":"取消","ok-button-props":{loading:i.value,disabled:!l.content.trim()},onOk:E,onCancel:T},{default:n(()=>[r.value?(v(),U("div",Re,[a(g,{type:"warning","show-icon":"",message:r.value,description:"请确认浏览器/系统已授予剪贴板读取权限,或手动粘贴到下方输入框。"},null,8,["message"])])):N("",!0),a(W,{layout:"vertical",model:l},{default:n(()=>[a(_,{label:"标题"},{default:n(()=>[a(u,{value:l.title,"onUpdate:value":m[0]||(m[0]=O=>l.title=O),placeholder:"导入条目的标题","allow-clear":""},null,8,["value"])]),_:1}),a(_,{label:"内容"},{default:n(()=>[a(P,{value:l.content,"onUpdate:value":m[1]||(m[1]=O=>l.content=O),placeholder:"粘贴或编辑要保存的内容…","auto-size":{minRows:10,maxRows:20},"show-count":""},null,8,["value"])]),_:1}),a(_,{label:"标签(逗号分隔,可选)"},{default:n(()=>[a(u,{value:l.tagsRaw,"onUpdate:value":m[2]||(m[2]=O=>l.tagsRaw=O),placeholder:"例如:素材, 链接","allow-clear":""},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["open","ok-text","ok-button-props"])}}};function ue(d){if(d&&d.ok===!1)throw new Error(d.error||"screenshot handler failed");return d?.result??d}function Ee(){const d=ie();if(!fe().isEmbedded)return{unsupported:!0,capture:async()=>{throw new Error("截图需要桌面壳;浏览器模式不支持")},ocr:async()=>{throw new Error("OCR 仅在桌面壳可用")},cleanup:async()=>{}};async function C({screenIndex:f}={}){const i=await d.sendRaw({type:"screenshot.capture",screenIndex:f},3e4),r=ue(i);if(r?.success===!1)throw new Error(r.error||"screenshot.capture failed");return r}async function x(f,i,r){if(!f)throw new Error("path is required");const l=await d.sendRaw({type:"screenshot.ocr",path:f,lang:i,engine:r},9e4),y=ue(l);if(y?.success===!1)throw new Error(y.error||"screenshot.ocr failed");return y}async function b(f){if(f)try{const i=await d.sendRaw({type:"screenshot.cleanup",path:f},1e4),r=ue(i);r?.success===!1&&console.warn("[useScreenshot] cleanup failed:",r.error)}catch(i){console.warn("[useScreenshot] cleanup error:",i?.message||i)}}return{unsupported:!1,capture:C,ocr:x,cleanup:b}}const Oe={key:0,style:{"margin-bottom":"16px"}},Ue={key:1,class:"ss-error"},Ne={key:2},Ie={class:"ss-actions"},ze={key:0,class:"ss-preview"},Te=["src"],Le={__name:"ScreenshotImportDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","saved"],setup(d,{emit:B}){const C=d,x=B,b=Ee(),f=ge(),i=ee({get:()=>C.modelValue,set:w=>x("update:modelValue",w)}),r=c(!1),l=c(!1),y=c(!1),S=c(""),z=c(null),E=c("auto"),T=c(null),p=c(""),m=c(""),g=c(null),u=pe({title:"",content:"",tagsRaw:""}),_=ee(()=>!!g.value&&(u.content.trim()||"").length>0),P=()=>`截图识别 - ${new Date().toLocaleString()}`;function W(){u.title=P(),u.content="",u.tagsRaw="",S.value="",z.value=null,T.value=null,p.value="",m.value="",g.value=null}async function F(){g.value?.path&&await b.cleanup(g.value.path)}async function O(){if(b.unsupported)return S.value="浏览器模式不支持截图,请用桌面壳",null;l.value=!0;try{return await b.capture({})}catch(w){return S.value=w?.message||String(w),null}finally{l.value=!1}}async function M(w){if(w){y.value=!0;try{const e=await b.ocr(w,void 0,E.value);u.content=e.text||"",z.value=typeof e.confidence=="number"?e.confidence:null,T.value=e.engine||null,p.value=e.model||"",m.value=e.fallbackReason||"",e.text||$.info("OCR 未识别到文本,可手动输入")}catch(e){$.warning("OCR 失败: "+(e?.message||String(e)))}finally{y.value=!1}}}async function Y(){m.value=""}async function te(){await F(),W();const w=await O();w&&(g.value=w,await M(w.path))}async function Q(){g.value?.path&&await M(g.value.path)}Z(()=>C.modelValue,async w=>{if(w){W();const e=await O();e&&(g.value=e,await M(e.path))}else await F(),g.value=null},{immediate:!0});async function ae(){if(!_.value){$.warning("识别文本为空,无法保存");return}r.value=!0;try{const w=u.tagsRaw.split(/[,,]/).map(t=>t.trim()).filter(Boolean),e=await f.addItem({title:u.title.trim()||P(),content:u.content,tags:w,type:"note"});$.success("已保存到知识库"),x("saved",e),await F(),i.value=!1}catch(w){$.error("保存失败: "+(w?.message||String(w)))}finally{r.value=!1}}async function ne(){await F(),i.value=!1}return(w,e)=>{const t=s("a-alert"),V=s("a-button"),A=s("a-select-option"),h=s("a-select"),R=s("a-tag"),K=s("a-tooltip"),G=s("a-input"),j=s("a-form-item"),H=s("a-spin"),oe=s("a-textarea"),le=s("a-form"),J=s("a-modal");return v(),I(J,{open:i.value,"onUpdate:open":e[4]||(e[4]=o=>i.value=o),title:"截图识别",width:780,"ok-text":r.value?"保存中…":"保存到知识库","cancel-text":"取消","ok-button-props":{loading:r.value,disabled:!_.value},onOk:ae,onCancel:ne},{default:n(()=>[D(b).unsupported?(v(),U("div",Oe,[a(t,{type:"warning","show-icon":"",message:"浏览器模式不支持截图",description:"screenshot-desktop 需要 OS 原生 API,请用桌面壳 (cc desktop) 打开本面板。"})])):S.value?(v(),U("div",Ue,[a(t,{type:"error","show-icon":"",message:S.value},null,8,["message"])])):(v(),U("div",Ne,[L("div",Ie,[a(V,{size:"small",loading:l.value,onClick:te},{icon:n(()=>[a(D(me))]),default:n(()=>[e[5]||(e[5]=k(" 重新截图 ",-1))]),_:1},8,["loading"]),a(V,{size:"small",loading:y.value,disabled:!g.value||y.value,onClick:Q},{icon:n(()=>[a(D(he))]),default:n(()=>[e[6]||(e[6]=k(" 重跑 OCR ",-1))]),_:1},8,["loading","disabled"]),a(h,{value:E.value,"onUpdate:value":e[0]||(e[0]=o=>E.value=o),size:"small",style:{width:"140px"},disabled:y.value,onChange:Y},{default:n(()=>[a(A,{value:"auto"},{default:n(()=>[...e[7]||(e[7]=[k("自动 (推荐)",-1)])]),_:1}),a(A,{value:"llm"},{default:n(()=>[...e[8]||(e[8]=[k("视觉 LLM",-1)])]),_:1}),a(A,{value:"tesseract"},{default:n(()=>[...e[9]||(e[9]=[k("本地 Tesseract",-1)])]),_:1})]),_:1},8,["value","disabled"]),T.value==="llm"?(v(),I(R,{key:0,color:"blue"},{default:n(()=>[k(q(p.value||"豆包视觉"),1)]),_:1})):T.value==="tesseract"&&z.value!==null?(v(),I(R,{key:1},{default:n(()=>[k(" Tesseract · "+q(z.value)+"% ",1)]),_:1})):N("",!0),m.value?(v(),I(K,{key:2,title:`LLM 识别失败已回落 Tesseract: ${m.value}`},{default:n(()=>[a(R,{color:"orange"},{default:n(()=>[...e[10]||(e[10]=[k("回落 Tesseract",-1)])]),_:1})]),_:1},8,["title"])):N("",!0)]),g.value?.dataUrl?(v(),U("div",ze,[L("img",{src:g.value.dataUrl,alt:"screenshot"},null,8,Te)])):N("",!0),a(le,{layout:"vertical",model:u},{default:n(()=>[a(j,{label:"标题"},{default:n(()=>[a(G,{value:u.title,"onUpdate:value":e[1]||(e[1]=o=>u.title=o),placeholder:"导入条目的标题","allow-clear":""},null,8,["value"])]),_:1}),a(j,null,{label:n(()=>[e[11]||(e[11]=L("span",null,"识别文本",-1)),y.value?(v(),I(H,{key:0,size:"small",style:{"margin-left":"8px"}})):N("",!0)]),default:n(()=>[a(oe,{value:u.content,"onUpdate:value":e[2]||(e[2]=o=>u.content=o),placeholder:y.value?"正在识别…":"识别结果,可手动编辑","auto-size":{minRows:8,maxRows:16},"show-count":""},null,8,["value","placeholder"])]),_:1}),a(j,{label:"标签 (逗号分隔, 可选)"},{default:n(()=>[a(G,{value:u.tagsRaw,"onUpdate:value":e[3]||(e[3]=o=>u.tagsRaw=o),placeholder:"例如: 截图, 参考","allow-clear":""},null,8,["value"])]),_:1})]),_:1},8,["model"])]))]),_:1},8,["open","ok-text","ok-button-props"])}}},Be=ve(Le,[["__scopeId","data-v-d65e43c0"]]),qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Me={class:"page-sub"},Ae={style:{"margin-bottom":"16px",display:"flex",gap:"10px"}},De={key:0,style:{"text-align":"center",padding:"60px"}},Fe={key:0,style:{color:"#e0e0e0","font-weight":"500"}},Pe={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},We={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},je={key:0,style:{"max-height":"60vh","overflow-y":"auto"}},Qe={style:{"margin-bottom":"10px"}},Ke={style:{"white-space":"pre-wrap",color:"#ccc","font-family":"inherit","line-height":"1.7",background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},He={__name:"Notes",setup(d){const B=ie(),C=_e(),x=ye(),b=c(!1),f=c(!1),i=c(!1),r=c(!1),l=c(""),y=c([]),S=c([]),z=c(!1),E=c(""),T=c(!1),p=c(!1),m=c(!1),g=c(!1),u=c(null),_=c({title:"",content:"",tags:""});async function P(){$.success("剪贴板内容已保存到知识库"),await M()}async function W(){$.success("截图内容已保存到知识库"),await M()}const F=ee(()=>z.value?S.value:y.value),O=[{title:"标题",dataIndex:"title",key:"title",width:"30%"},{title:"预览",key:"content",ellipsis:!0},{title:"标签",key:"tags",width:"20%"},{title:"操作",key:"actions",width:"80px"}];async function M(){f.value=!0,l.value="";try{const{output:e}=await B.execute("note list",2e4);y.value=Y(e)}catch(e){l.value=`加载失败: ${e.message}`}finally{f.value=!1}}function Y(e){const t=[],V=e.split(`
|
|
1
|
+
import{w as Z,K as s,L as v,Q as I,N as n,M as U,c as a,S as N,r as c,a as pe,f as ee,u as D,R as L,O as k,P as q,o as we,H as ye,F as ce,Y as de}from"./vendor-BXcBOG8b.js";import{u as ie,d as $,_ as ve}from"./index-CzoKAiyT.js";import{u as _e}from"./useFs-T5lg6SpD.js";import{u as fe}from"./useShellMode-CgR0wCYM.js";import{ax as me,ay as he,at as ke,az as xe,R as be,l as Se,aA as $e}from"./icons-DlxlFL4g.js";function Ce(d){if(d&&d.ok===!1)throw new Error(d.error||"knowledge handler failed");return d?.result??d}function re(d){return String(d).replace(/(["\\])/g,"\\$1")}function ge(){const d=ie();async function B({title:C,content:x,tags:b=[],type:f="note"}={}){if(typeof C!="string"||!C.trim())throw new Error("title is required");if(typeof x!="string")throw new Error("content is required");const i=Array.isArray(b)?b.filter(Boolean):[];if(fe().isEmbedded){const y=await d.sendRaw({type:"knowledge.add-item",item:{title:C.trim(),content:x,tags:i,type:f}},2e4),S=Ce(y);if(S?.success===!1)throw new Error(S.error||"knowledge.add-item failed");return S?.item??null}let r=`note add "${re(C.trim())}" -c "${re(x)}"`;i.length&&(r+=` -t "${re(i.join(","))}"`);const{output:l}=await d.execute(r,15e3);if(l&&/^[\s\S]*✖|error/i.test(l))throw new Error(l.slice(0,200));return{title:C.trim(),content:x,tags:i,type:f}}return{addItem:B}}const Re={key:0,style:{"margin-bottom":"16px"}},Ve={__name:"ClipboardImportDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","saved"],setup(d,{emit:B}){const C=d,x=B,b=ge(),f=ee({get:()=>C.modelValue,set:p=>x("update:modelValue",p)}),i=c(!1),r=c(""),l=pe({title:"",content:"",tagsRaw:""}),y=()=>`剪贴板导入 - ${new Date().toLocaleString()}`;function S(){l.title=y(),l.content="",l.tagsRaw="",r.value=""}async function z(){if(r.value="",!navigator.clipboard?.readText){r.value="当前环境不支持剪贴板读取 API";return}try{const p=await navigator.clipboard.readText();l.content=p||"",p||(r.value="剪贴板为空")}catch(p){r.value="读取剪贴板失败:"+(p?.message||String(p))}}Z(()=>C.modelValue,async p=>{p&&(S(),await z())},{immediate:!0});async function E(){if(!l.content.trim()){$.warning("内容为空,无法保存");return}i.value=!0;try{const p=l.tagsRaw.split(/[,,]/).map(g=>g.trim()).filter(Boolean),m=await b.addItem({title:l.title.trim()||y(),content:l.content,tags:p,type:"note"});$.success("已保存到知识库"),x("saved",m),f.value=!1}catch(p){$.error("保存失败:"+(p?.message||String(p)))}finally{i.value=!1}}function T(){f.value=!1}return(p,m)=>{const g=s("a-alert"),u=s("a-input"),_=s("a-form-item"),P=s("a-textarea"),W=s("a-form"),F=s("a-modal");return v(),I(F,{open:f.value,"onUpdate:open":m[3]||(m[3]=O=>f.value=O),title:"剪贴板导入",width:640,"ok-text":i.value?"保存中…":"保存到知识库","cancel-text":"取消","ok-button-props":{loading:i.value,disabled:!l.content.trim()},onOk:E,onCancel:T},{default:n(()=>[r.value?(v(),U("div",Re,[a(g,{type:"warning","show-icon":"",message:r.value,description:"请确认浏览器/系统已授予剪贴板读取权限,或手动粘贴到下方输入框。"},null,8,["message"])])):N("",!0),a(W,{layout:"vertical",model:l},{default:n(()=>[a(_,{label:"标题"},{default:n(()=>[a(u,{value:l.title,"onUpdate:value":m[0]||(m[0]=O=>l.title=O),placeholder:"导入条目的标题","allow-clear":""},null,8,["value"])]),_:1}),a(_,{label:"内容"},{default:n(()=>[a(P,{value:l.content,"onUpdate:value":m[1]||(m[1]=O=>l.content=O),placeholder:"粘贴或编辑要保存的内容…","auto-size":{minRows:10,maxRows:20},"show-count":""},null,8,["value"])]),_:1}),a(_,{label:"标签(逗号分隔,可选)"},{default:n(()=>[a(u,{value:l.tagsRaw,"onUpdate:value":m[2]||(m[2]=O=>l.tagsRaw=O),placeholder:"例如:素材, 链接","allow-clear":""},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["open","ok-text","ok-button-props"])}}};function ue(d){if(d&&d.ok===!1)throw new Error(d.error||"screenshot handler failed");return d?.result??d}function Ee(){const d=ie();if(!fe().isEmbedded)return{unsupported:!0,capture:async()=>{throw new Error("截图需要桌面壳;浏览器模式不支持")},ocr:async()=>{throw new Error("OCR 仅在桌面壳可用")},cleanup:async()=>{}};async function C({screenIndex:f}={}){const i=await d.sendRaw({type:"screenshot.capture",screenIndex:f},3e4),r=ue(i);if(r?.success===!1)throw new Error(r.error||"screenshot.capture failed");return r}async function x(f,i,r){if(!f)throw new Error("path is required");const l=await d.sendRaw({type:"screenshot.ocr",path:f,lang:i,engine:r},9e4),y=ue(l);if(y?.success===!1)throw new Error(y.error||"screenshot.ocr failed");return y}async function b(f){if(f)try{const i=await d.sendRaw({type:"screenshot.cleanup",path:f},1e4),r=ue(i);r?.success===!1&&console.warn("[useScreenshot] cleanup failed:",r.error)}catch(i){console.warn("[useScreenshot] cleanup error:",i?.message||i)}}return{unsupported:!1,capture:C,ocr:x,cleanup:b}}const Oe={key:0,style:{"margin-bottom":"16px"}},Ue={key:1,class:"ss-error"},Ne={key:2},Ie={class:"ss-actions"},ze={key:0,class:"ss-preview"},Te=["src"],Le={__name:"ScreenshotImportDialog",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","saved"],setup(d,{emit:B}){const C=d,x=B,b=Ee(),f=ge(),i=ee({get:()=>C.modelValue,set:w=>x("update:modelValue",w)}),r=c(!1),l=c(!1),y=c(!1),S=c(""),z=c(null),E=c("auto"),T=c(null),p=c(""),m=c(""),g=c(null),u=pe({title:"",content:"",tagsRaw:""}),_=ee(()=>!!g.value&&(u.content.trim()||"").length>0),P=()=>`截图识别 - ${new Date().toLocaleString()}`;function W(){u.title=P(),u.content="",u.tagsRaw="",S.value="",z.value=null,T.value=null,p.value="",m.value="",g.value=null}async function F(){g.value?.path&&await b.cleanup(g.value.path)}async function O(){if(b.unsupported)return S.value="浏览器模式不支持截图,请用桌面壳",null;l.value=!0;try{return await b.capture({})}catch(w){return S.value=w?.message||String(w),null}finally{l.value=!1}}async function M(w){if(w){y.value=!0;try{const e=await b.ocr(w,void 0,E.value);u.content=e.text||"",z.value=typeof e.confidence=="number"?e.confidence:null,T.value=e.engine||null,p.value=e.model||"",m.value=e.fallbackReason||"",e.text||$.info("OCR 未识别到文本,可手动输入")}catch(e){$.warning("OCR 失败: "+(e?.message||String(e)))}finally{y.value=!1}}}async function Y(){m.value=""}async function te(){await F(),W();const w=await O();w&&(g.value=w,await M(w.path))}async function Q(){g.value?.path&&await M(g.value.path)}Z(()=>C.modelValue,async w=>{if(w){W();const e=await O();e&&(g.value=e,await M(e.path))}else await F(),g.value=null},{immediate:!0});async function ae(){if(!_.value){$.warning("识别文本为空,无法保存");return}r.value=!0;try{const w=u.tagsRaw.split(/[,,]/).map(t=>t.trim()).filter(Boolean),e=await f.addItem({title:u.title.trim()||P(),content:u.content,tags:w,type:"note"});$.success("已保存到知识库"),x("saved",e),await F(),i.value=!1}catch(w){$.error("保存失败: "+(w?.message||String(w)))}finally{r.value=!1}}async function ne(){await F(),i.value=!1}return(w,e)=>{const t=s("a-alert"),V=s("a-button"),A=s("a-select-option"),h=s("a-select"),R=s("a-tag"),K=s("a-tooltip"),G=s("a-input"),j=s("a-form-item"),H=s("a-spin"),oe=s("a-textarea"),le=s("a-form"),J=s("a-modal");return v(),I(J,{open:i.value,"onUpdate:open":e[4]||(e[4]=o=>i.value=o),title:"截图识别",width:780,"ok-text":r.value?"保存中…":"保存到知识库","cancel-text":"取消","ok-button-props":{loading:r.value,disabled:!_.value},onOk:ae,onCancel:ne},{default:n(()=>[D(b).unsupported?(v(),U("div",Oe,[a(t,{type:"warning","show-icon":"",message:"浏览器模式不支持截图",description:"screenshot-desktop 需要 OS 原生 API,请用桌面壳 (cc desktop) 打开本面板。"})])):S.value?(v(),U("div",Ue,[a(t,{type:"error","show-icon":"",message:S.value},null,8,["message"])])):(v(),U("div",Ne,[L("div",Ie,[a(V,{size:"small",loading:l.value,onClick:te},{icon:n(()=>[a(D(me))]),default:n(()=>[e[5]||(e[5]=k(" 重新截图 ",-1))]),_:1},8,["loading"]),a(V,{size:"small",loading:y.value,disabled:!g.value||y.value,onClick:Q},{icon:n(()=>[a(D(he))]),default:n(()=>[e[6]||(e[6]=k(" 重跑 OCR ",-1))]),_:1},8,["loading","disabled"]),a(h,{value:E.value,"onUpdate:value":e[0]||(e[0]=o=>E.value=o),size:"small",style:{width:"140px"},disabled:y.value,onChange:Y},{default:n(()=>[a(A,{value:"auto"},{default:n(()=>[...e[7]||(e[7]=[k("自动 (推荐)",-1)])]),_:1}),a(A,{value:"llm"},{default:n(()=>[...e[8]||(e[8]=[k("视觉 LLM",-1)])]),_:1}),a(A,{value:"tesseract"},{default:n(()=>[...e[9]||(e[9]=[k("本地 Tesseract",-1)])]),_:1})]),_:1},8,["value","disabled"]),T.value==="llm"?(v(),I(R,{key:0,color:"blue"},{default:n(()=>[k(q(p.value||"豆包视觉"),1)]),_:1})):T.value==="tesseract"&&z.value!==null?(v(),I(R,{key:1},{default:n(()=>[k(" Tesseract · "+q(z.value)+"% ",1)]),_:1})):N("",!0),m.value?(v(),I(K,{key:2,title:`LLM 识别失败已回落 Tesseract: ${m.value}`},{default:n(()=>[a(R,{color:"orange"},{default:n(()=>[...e[10]||(e[10]=[k("回落 Tesseract",-1)])]),_:1})]),_:1},8,["title"])):N("",!0)]),g.value?.dataUrl?(v(),U("div",ze,[L("img",{src:g.value.dataUrl,alt:"screenshot"},null,8,Te)])):N("",!0),a(le,{layout:"vertical",model:u},{default:n(()=>[a(j,{label:"标题"},{default:n(()=>[a(G,{value:u.title,"onUpdate:value":e[1]||(e[1]=o=>u.title=o),placeholder:"导入条目的标题","allow-clear":""},null,8,["value"])]),_:1}),a(j,null,{label:n(()=>[e[11]||(e[11]=L("span",null,"识别文本",-1)),y.value?(v(),I(H,{key:0,size:"small",style:{"margin-left":"8px"}})):N("",!0)]),default:n(()=>[a(oe,{value:u.content,"onUpdate:value":e[2]||(e[2]=o=>u.content=o),placeholder:y.value?"正在识别…":"识别结果,可手动编辑","auto-size":{minRows:8,maxRows:16},"show-count":""},null,8,["value","placeholder"])]),_:1}),a(j,{label:"标签 (逗号分隔, 可选)"},{default:n(()=>[a(G,{value:u.tagsRaw,"onUpdate:value":e[3]||(e[3]=o=>u.tagsRaw=o),placeholder:"例如: 截图, 参考","allow-clear":""},null,8,["value"])]),_:1})]),_:1},8,["model"])]))]),_:1},8,["open","ok-text","ok-button-props"])}}},Be=ve(Le,[["__scopeId","data-v-d65e43c0"]]),qe={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},Me={class:"page-sub"},Ae={style:{"margin-bottom":"16px",display:"flex",gap:"10px"}},De={key:0,style:{"text-align":"center",padding:"60px"}},Fe={key:0,style:{color:"#e0e0e0","font-weight":"500"}},Pe={key:2,style:{color:"var(--text-secondary)","font-size":"12px"}},We={style:{padding:"40px",color:"var(--text-muted)","text-align":"center"}},je={key:0,style:{"max-height":"60vh","overflow-y":"auto"}},Qe={style:{"margin-bottom":"10px"}},Ke={style:{"white-space":"pre-wrap",color:"#ccc","font-family":"inherit","line-height":"1.7",background:"var(--bg-base)",padding:"16px","border-radius":"6px",border:"1px solid var(--border-color)"}},He={__name:"Notes",setup(d){const B=ie(),C=_e(),x=ye(),b=c(!1),f=c(!1),i=c(!1),r=c(!1),l=c(""),y=c([]),S=c([]),z=c(!1),E=c(""),T=c(!1),p=c(!1),m=c(!1),g=c(!1),u=c(null),_=c({title:"",content:"",tags:""});async function P(){$.success("剪贴板内容已保存到知识库"),await M()}async function W(){$.success("截图内容已保存到知识库"),await M()}const F=ee(()=>z.value?S.value:y.value),O=[{title:"标题",dataIndex:"title",key:"title",width:"30%"},{title:"预览",key:"content",ellipsis:!0},{title:"标签",key:"tags",width:"20%"},{title:"操作",key:"actions",width:"80px"}];async function M(){f.value=!0,l.value="";try{const{output:e}=await B.execute("note list",2e4);y.value=Y(e)}catch(e){l.value=`加载失败: ${e.message}`}finally{f.value=!1}}function Y(e){const t=[],V=e.split(`
|
|
2
2
|
`);for(const A of V){const h=A.trim();if(!h||h.startsWith("─")||h.startsWith("Note")||h.match(/^\d+ note/i))continue;const R=h.match(/^(\d+)\.\s+(.+?)(?:\s+\[([^\]]+)\])?\s*(?:-\s*(.*))?$/);R?t.push({key:R[1],id:R[1],title:R[2].trim(),tags:R[3]?R[3].split(",").map(K=>K.trim()):[],preview:(R[4]||"").trim().slice(0,100),content:""}):h.length>2&&!h.startsWith("✖")&&!h.startsWith("[")&&t.push({key:t.length,id:String(t.length),title:h,tags:[],preview:"",content:""})}return t}async function te(){if(!E.value.trim()){Q();return}i.value=!0,z.value=!0;try{const{output:e}=await B.execute(`note search "${E.value}"`,15e3);S.value=Y(e)}catch{S.value=[]}finally{i.value=!1}}function Q(){E.value="",z.value=!1,S.value=[]}async function ae(){if(!_.value.title.trim()){$.warning("请输入标题");return}r.value=!0;try{let e=`note add "${_.value.title}"`;_.value.content&&(e+=` -c "${_.value.content.replace(/"/g,'\\"')}"`),_.value.tags&&(e+=` -t "${_.value.tags}"`);const{output:t}=await B.execute(e,15e3);t.includes("✖")||t.toLowerCase().includes("error")?$.error("添加失败: "+t.slice(0,100)):($.success("笔记已添加"),T.value=!1,_.value={title:"",content:"",tags:""},await M())}catch(e){$.error("添加失败: "+e.message)}finally{r.value=!1}}function ne(e){u.value=e,p.value=!0}async function w(){if(!u.value)return;const e=u.value,t=e.tags?.length?`tags: [${e.tags.join(", ")}]
|
|
3
3
|
|
|
4
4
|
`:"",V=`# ${e.title}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as D,_ as F,d as E}from"./index-
|
|
1
|
+
import{u as D,_ as F,d as E}from"./index-CzoKAiyT.js";import{u as M}from"./useShellMode-CgR0wCYM.js";import{r as h,o as O,M as C,R as r,u as s,Q as A,S as N,c as t,N as d,K as f,L as y,F as W,O as j,P as q}from"./vendor-BXcBOG8b.js";import{R as z}from"./icons-DlxlFL4g.js";const m={enabled:!0,sound:!0,badge:!0,desktop:!0};function V(n){if(n&&n.ok===!1)throw new Error(n.error||"notification-settings handler failed");return n?.result??n}const g={settings:h({...m})};function I(){const n=D(),o=M().isEmbedded;async function l(){if(!o)return g.settings.value={...m},g.settings.value;const u=await n.sendRaw({type:"notification-settings.get"},1e4),i=V(u);if(i?.success===!1)throw new Error(i.error||"notification-settings.get failed");return g.settings.value={...m,...i?.settings||{}},g.settings.value}async function b(u){if(!u||typeof u!="object")throw new Error("patch is required");if(!o)throw new Error("通知设置仅在嵌入式 web-shell 中可写");const i=await n.sendRaw({type:"notification-settings.update",settings:u},1e4),a=V(i);if(a?.success===!1)throw new Error(a.error||"notification-settings.update failed");return g.settings.value={...m,...a?.settings||{}},g.settings.value}return{settings:g.settings,isEmbedded:o,load:l,update:b,DEFAULTS:m}}const K={class:"footer-row"},P={key:0,class:"last-saved"},Q={__name:"NotificationSettings",setup(n){const{settings:o,isEmbedded:l,load:b,update:u}=I(),i=h(!1),a=h(!1),S=h("");async function x(){i.value=!0;try{await b()}catch(p){E.error("加载失败: "+(p?.message||String(p)))}finally{i.value=!1}}async function v(p,e){if(l){a.value=!0;try{await u({[p]:e}),S.value=new Date().toLocaleTimeString(),E.success("已保存")}catch(w){E.error("保存失败: "+(w?.message||String(w))),await b().catch(()=>{})}finally{a.value=!1}}}return O(x),(p,e)=>{const w=f("a-alert"),_=f("a-switch"),k=f("a-form-item"),R=f("a-form"),B=f("a-divider"),L=f("a-button"),T=f("a-card");return y(),C("div",null,[e[9]||(e[9]=r("div",{class:"page-head"},[r("div",null,[r("h2",{class:"page-title"},"通知设置"),r("p",{class:"page-sub"},"控制应用通知行为 · 与桌面 V5/V6 设置同源")])],-1)),s(l)?N("",!0):(y(),A(w,{key:0,type:"info","show-icon":"",style:{"margin-bottom":"16px"},message:"浏览器模式只读",description:"纯浏览器没有 Electron AppConfig 后端,本页只能展示默认值。请使用桌面壳 (cc desktop) 写入。"})),t(T,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:d(()=>[t(R,{layout:"horizontal","label-col":{span:6},"wrapper-col":{span:18}},{default:d(()=>[t(k,{label:"启用通知"},{default:d(()=>[t(_,{checked:s(o).enabled,disabled:!s(l)||a.value,onChange:e[0]||(e[0]=c=>v("enabled",c))},null,8,["checked","disabled"]),e[4]||(e[4]=r("span",{class:"hint"},"关闭后所有通知静默",-1))]),_:1}),s(o).enabled?(y(),C(W,{key:0},[t(k,{label:"通知声音"},{default:d(()=>[t(_,{checked:s(o).sound,disabled:!s(l)||a.value,onChange:e[1]||(e[1]=c=>v("sound",c))},null,8,["checked","disabled"]),e[5]||(e[5]=r("span",{class:"hint"},"桌面通知伴随系统提示音",-1))]),_:1}),t(k,{label:"角标提示"},{default:d(()=>[t(_,{checked:s(o).badge,disabled:!s(l)||a.value,onChange:e[2]||(e[2]=c=>v("badge",c))},null,8,["checked","disabled"]),e[6]||(e[6]=r("span",{class:"hint"},"在应用图标 / 任务栏角标显示未读数",-1))]),_:1}),t(k,{label:"桌面通知"},{default:d(()=>[t(_,{checked:s(o).desktop,disabled:!s(l)||a.value,onChange:e[3]||(e[3]=c=>v("desktop",c))},null,8,["checked","disabled"]),e[7]||(e[7]=r("span",{class:"hint"},"系统级 toast (Windows / macOS / Linux 原生通知)",-1))]),_:1})],64)):N("",!0)]),_:1}),t(B),r("div",K,[t(L,{loading:i.value,onClick:x},{icon:d(()=>[t(s(z))]),default:d(()=>[e[8]||(e[8]=j(" 重新加载 ",-1))]),_:1},8,["loading"]),S.value?(y(),C("span",P,"最近保存: "+q(S.value),1)):N("",!0)])]),_:1})])}}},X=F(Q,[["__scopeId","data-v-63dfa730"]]);export{X as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as w}from"./index-
|
|
1
|
+
import{_ as w}from"./index-CzoKAiyT.js";import{K as N,L as d,M as i,R as s,P as r,c as v,N as p,O as m,S as g,f as o}from"./vendor-BXcBOG8b.js";import"./icons-DlxlFL4g.js";const T={class:"order-card"},$={class:"head"},b={class:"time"},C={class:"row"},O={class:"val"},V={class:"row"},B={class:"val"},D={class:"row amount-row"},M={class:"val amount"},R={key:0,class:"row"},A={class:"val mono"},F={key:1,class:"row"},I={__name:"OrderTableRenderer",props:{event:{type:Object,required:!0}},setup(l){const n=l,t=o(()=>n.event.content||{}),_=o(()=>n.event.extra||{}),y=o(()=>_.value.merchant||t.value.merchant||t.value.counterparty||"—"),x=o(()=>t.value.title||t.value.name||t.value.itemName||t.value.text||"—"),S=o(()=>{const e=t.value.amount??t.value.price??t.value.total;return e==null?"—":`${t.value.currency||"¥"} ${typeof e=="number"?e.toFixed(2):e}`}),f=o(()=>_.value.orderNo||t.value.orderNo||t.value.orderId),u=o(()=>t.value.status||t.value.state),h=o(()=>{const e=(u.value||"").toLowerCase();return e.includes("成功")||e.includes("succe")||e.includes("paid")?"green":e.includes("退")||e.includes("refund")?"orange":e.includes("失败")||e.includes("fail")?"red":"default"}),k=o(()=>{if(!n.event.occurredAt)return"";const e=new Date(n.event.occurredAt);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`});return(e,a)=>{const c=N("a-tag");return d(),i("div",T,[s("div",$,[s("span",b,r(k.value),1),v(c,{color:"gold"},{default:p(()=>[m(r(l.event.source.adapter),1)]),_:1}),v(c,null,{default:p(()=>[m(r(l.event.subtype),1)]),_:1})]),s("div",C,[a[0]||(a[0]=s("span",{class:"key"},"商户",-1)),s("span",O,r(y.value),1)]),s("div",V,[a[1]||(a[1]=s("span",{class:"key"},"商品/项目",-1)),s("span",B,r(x.value),1)]),s("div",D,[a[2]||(a[2]=s("span",{class:"key"},"金额",-1)),s("span",M,r(S.value),1)]),f.value?(d(),i("div",R,[a[3]||(a[3]=s("span",{class:"key"},"单号",-1)),s("span",A,r(f.value),1)])):g("",!0),u.value?(d(),i("div",F,[a[4]||(a[4]=s("span",{class:"key"},"状态",-1)),v(c,{color:h.value},{default:p(()=>[m(r(u.value),1)]),_:1},8,["color"])])):g("",!0)])}}},E=w(I,[["__scopeId","data-v-c24ad3fd"]]);export{E as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as Ee,M as y,R as O,P as r,u as t,c as o,N as s,r as u,K as z,L as d,O as b,Q as w,S as f,F as xe,a1 as ke,f as A}from"./vendor-BXcBOG8b.js";import{_ as Ge,b as He,u as Xe,t as B,d as g}from"./index-
|
|
1
|
+
import{o as Ee,M as y,R as O,P as r,u as t,c as o,N as s,r as u,K as z,L as d,O as b,Q as w,S as f,F as xe,a1 as ke,f as A}from"./vendor-BXcBOG8b.js";import{_ as Ge,b as He,u as Xe,t as B,d as g}from"./index-CzoKAiyT.js";import{R as Ye,at as ze,x as Ze,aQ as we,aj as ea,b as aa,a9 as ta}from"./icons-DlxlFL4g.js";const oa={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},na={class:"page-title"},la={class:"page-sub"},ia={key:0,style:{"text-align":"center",padding:"60px"}},sa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ra={key:1,style:{color:"#1677ff"}},ua={key:2,style:{color:"var(--text-secondary)"}},da={key:3,style:{color:"var(--text-muted)","font-size":"12px"}},pa={key:0,style:{"text-align":"center",padding:"40px"}},ca={key:1},ma={style:{"font-family":"monospace",color:"#ccc"}},ga={key:0,style:{"white-space":"pre-wrap","word-break":"break-all",color:"var(--text-secondary)","font-size":"11px",background:"var(--bg-base)",padding:"12px","border-radius":"6px",border:"1px solid var(--border-color)","max-height":"300px","overflow-y":"auto"}},va={style:{"margin-bottom":"16px",display:"flex","align-items":"center",gap:"12px"}},ya={key:0,style:{"text-align":"center",padding:"60px"}},fa={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},ba={key:1,style:{color:"#e0e0e0"}},za={key:3,style:{color:"var(--text-secondary)","font-size":"12px"}},_a={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"12px"}},xa={style:{color:"var(--text-primary)",margin:"0","font-size":"15px"}},ka={key:0,style:{"text-align":"center",padding:"40px"}},wa={key:0,style:{color:"#e0e0e0"}},ha={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Ca={key:2,style:{color:"var(--text-secondary)"}},Oa={key:0,style:{"text-align":"center",padding:"60px"}},Ia={key:0,style:{color:"var(--text-secondary)","font-family":"monospace","font-size":"12px"}},La={key:1,style:{color:"#e0e0e0"}},Ta={key:3,style:{color:"var(--text-secondary)"}},ja={key:1,style:{color:"var(--text-muted)","font-size":"12px"}},Aa={__name:"Organization",setup($a){const{t:e}=He(),k=Xe(),$=u("orgs"),te=u(!1);async function he(){te.value=!0;try{$.value==="orgs"?await T():$.value==="members"?(await T(),_.value&&(await me(),await ge())):$.value==="approvals"&&await N()}finally{te.value=!1}}function Ce(i){i==="orgs"&&I.value.length===0&&T(),i==="members"&&I.value.length===0&&T(),i==="approvals"&&H.value.length===0&&N()}const oe=u(!1),I=u([]),D=u(!1),ne=u(!1),U=u(""),V=u(""),le=u(!1),ie=u(!1),h=u({}),L=u(""),Oe=A(()=>[{title:e("organization.orgColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.orgColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.orgColumns.owner"),key:"owner",dataIndex:"owner",width:"140px"},{title:e("organization.orgColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.orgColumns.memberCount"),key:"memberCount",dataIndex:"memberCount",width:"90px"}]),_e=A(()=>I.value.map(i=>({label:i.name,value:i.id})));async function T(){oe.value=!0;try{const{output:i}=await k.execute("org list --json",15e3),a=B(i);Array.isArray(a)?I.value=a.map((l,p)=>({key:l.id||p,id:l.id||"-",name:l.name||"-",owner:l.owner||"-",description:l.description||"",memberCount:l.memberCount??l.members??0})):I.value=Ie(i)}catch(i){g.error(e("organization.messages.loadOrgsFailed",{err:i.message}))}finally{oe.value=!1}}function Ie(i){const a=[],l=i.split(`
|
|
2
2
|
`);for(const p of l){const c=p.trim();if(!c||c.startsWith("─")||c.match(/^\d+ org/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,id:v[0]||"-",name:v[1]||"-",owner:v[2]||"-",description:v[3]||"",memberCount:parseInt(v[4],10)||0})}return a}async function Le(){if(!U.value.trim()){g.warning(e("organization.messages.orgNameRequired"));return}ne.value=!0;try{const i=U.value.trim().replace(/"/g,'\\"'),a=V.value.trim().replace(/"/g,'\\"');let l=`org create "${i}" --json`;a&&(l=`org create "${i}" --description "${a}" --json`);const{output:p}=await k.execute(l,2e4);p.includes("error")||p.includes("失败")?g.error(e("organization.messages.orgCreateFailed",{err:p.slice(0,120)})):(g.success(e("organization.messages.orgCreateOk")),D.value=!1,U.value="",V.value="",await T())}catch(i){g.error(e("organization.messages.orgCreateFailed",{err:i.message}))}finally{ne.value=!1}}async function Te(i){h.value={...i},L.value="",le.value=!0,ie.value=!0;try{const{output:a}=await k.execute(`org show ${i.id} --json`,15e3),l=B(a);l&&typeof l=="object"?(h.value={id:l.id||i.id,name:l.name||i.name,owner:l.owner||i.owner,description:l.description||i.description,memberCount:l.memberCount??l.members??i.memberCount,createdAt:l.createdAt||l.created||""},L.value=JSON.stringify(l,null,2)):L.value=a}catch(a){L.value=e("organization.messages.loadDetailFailed",{err:a.message})}finally{ie.value=!1}}const _=u(null),se=u(!1),re=u([]),ue=u(!1),de=u([]),K=u(!1),pe=u(!1),F=u(""),W=u(""),J=u("member"),Q=u(!1),ce=u(!1),q=u(""),E=u(""),G=u(""),je=A(()=>[{label:e("organization.members.roleAdmin"),value:"admin"},{label:e("organization.members.roleMember"),value:"member"},{label:e("organization.members.roleViewer"),value:"viewer"}]),Ae=A(()=>[{title:e("organization.memberColumns.userId"),key:"userId",dataIndex:"userId",width:"160px"},{title:e("organization.memberColumns.name"),key:"name",dataIndex:"name",width:"140px"},{title:e("organization.memberColumns.role"),key:"role",dataIndex:"role",width:"100px"},{title:e("organization.memberColumns.joinedAt"),key:"joinedAt",dataIndex:"joinedAt",width:"180px"}]),$e=A(()=>[{title:e("organization.teamColumns.name"),key:"name",dataIndex:"name",width:"180px"},{title:e("organization.teamColumns.description"),key:"description",dataIndex:"description",ellipsis:!0},{title:e("organization.teamColumns.lead"),key:"lead",dataIndex:"lead",width:"140px"}]);function Ue(i){return{admin:"gold",member:"blue",viewer:"default",owner:"purple"}[(i||"").toLowerCase()]||"default"}async function Fe(){_.value&&await Promise.all([me(),ge()])}async function me(){if(_.value){se.value=!0;try{const{output:i}=await k.execute(`org members ${_.value} --json`,15e3),a=B(i);Array.isArray(a)?re.value=a.map((l,p)=>({key:l.userId||l.id||p,userId:l.userId||l.id||"-",name:l.name||l.displayName||"-",role:l.role||"member",joinedAt:l.joinedAt||l.joined||"-"})):re.value=qe(i)}catch(i){g.error(e("organization.messages.loadMembersFailed",{err:i.message}))}finally{se.value=!1}}}function qe(i){const a=[],l=i.split(`
|
|
3
3
|
`);for(const p of l){const c=p.trim();if(!c||c.startsWith("─")||c.match(/^\d+ member/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=3&&a.push({key:a.length,userId:v[0]||"-",name:v[1]||"-",role:v[2]||"member",joinedAt:v[3]||"-"})}return a}async function ge(){if(_.value){ue.value=!0;try{const{output:i}=await k.execute(`org teams ${_.value} --json`,15e3),a=B(i);Array.isArray(a)?de.value=a.map((l,p)=>({key:l.id||l.name||p,name:l.name||"-",description:l.description||"",lead:l.lead||l.leader||"-"})):de.value=[]}catch(i){g.error(e("organization.messages.loadTeamsFailed",{err:i.message}))}finally{ue.value=!1}}}async function Pe(){if(!F.value.trim()){g.warning(e("organization.messages.userIdRequired"));return}pe.value=!0;try{const i=F.value.trim().replace(/"/g,'\\"'),a=W.value.trim().replace(/"/g,'\\"');let l=`org invite ${_.value} ${i} --role ${J.value}`;a&&(l+=` --name "${a}"`);const{output:p}=await k.execute(l,2e4);p.includes("error")||p.includes("失败")?g.error(e("organization.messages.inviteFailed",{err:p.slice(0,120)})):(g.success(e("organization.messages.inviteOk")),K.value=!1,F.value="",W.value="",J.value="member",await me())}catch(i){g.error(e("organization.messages.inviteFailed",{err:i.message}))}finally{pe.value=!1}}async function Me(){if(!q.value.trim()){g.warning(e("organization.messages.teamNameRequired"));return}ce.value=!0;try{const i=q.value.trim().replace(/"/g,'\\"'),a=E.value.trim().replace(/"/g,'\\"'),l=G.value.trim().replace(/"/g,'\\"');let p=`org teams ${_.value} create "${i}"`;a&&(p+=` --description "${a}"`),l&&(p+=` --lead "${l}"`);const{output:c}=await k.execute(p,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.teamCreateFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.teamCreateOk")),Q.value=!1,q.value="",E.value="",G.value="",await ge())}catch(i){g.error(e("organization.messages.teamCreateFailed",{err:i.message}))}finally{ce.value=!1}}const ve=u(!1),H=u([]),X=u(!1),ye=u(!1),P=u(null),M=u(""),Y=u(""),Z=u(""),Ne=A(()=>[{title:e("organization.approvalColumns.id"),key:"id",dataIndex:"id",width:"100px"},{title:e("organization.approvalColumns.title"),key:"title",dataIndex:"title",width:"200px"},{title:e("organization.approvalColumns.type"),key:"type",dataIndex:"type",width:"120px"},{title:e("organization.approvalColumns.requester"),key:"requester",dataIndex:"requester",width:"140px"},{title:e("organization.approvalColumns.status"),key:"status",dataIndex:"status",width:"100px"},{title:e("organization.approvalColumns.actions"),key:"actions",width:"180px"}]);function Se(i){return{pending:"orange",approved:"green",rejected:"red"}[(i||"").toLowerCase()]||"default"}async function N(){ve.value=!0;try{const{output:i}=await k.execute("org approvals --json",15e3),a=B(i);Array.isArray(a)?H.value=a.map((l,p)=>({key:l.id||p,id:l.id||"-",title:l.title||"-",type:l.type||"-",requester:l.requester||l.requestedBy||"-",status:l.status||"pending",_approving:!1,_rejecting:!1})):H.value=Re(i)}catch(i){g.error(e("organization.messages.loadApprovalsFailed",{err:i.message}))}finally{ve.value=!1}}function Re(i){const a=[],l=i.split(`
|
|
4
4
|
`);for(const p of l){const c=p.trim();if(!c||c.startsWith("─")||c.match(/^\d+ approval/i))continue;const v=c.split(/\s*[|│]\s*/);v.length>=4&&a.push({key:a.length,id:v[0]||"-",title:v[1]||"-",type:v[2]||"-",requester:v[3]||"-",status:v[4]||"pending",_approving:!1,_rejecting:!1})}return a}async function Be(i){i._approving=!0;try{const{output:a}=await k.execute(`org approve ${i.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.approveFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.approveOk")),await N())}catch(a){g.error(e("organization.messages.approveFailed",{err:a.message}))}finally{i._approving=!1}}async function De(i){i._rejecting=!0;try{const{output:a}=await k.execute(`org reject ${i.id}`,15e3);a.includes("error")||a.includes("失败")?g.error(e("organization.messages.rejectFailed",{err:a.slice(0,120)})):(g.success(e("organization.messages.rejectOk")),await N())}catch(a){g.error(e("organization.messages.rejectFailed",{err:a.message}))}finally{i._rejecting=!1}}async function Ve(){if(!P.value){g.warning(e("organization.messages.orgRequired"));return}if(!M.value.trim()){g.warning(e("organization.messages.approvalTitleRequired"));return}ye.value=!0;try{const i=M.value.trim().replace(/"/g,'\\"'),a=Y.value.trim().replace(/"/g,'\\"'),l=Z.value.trim().replace(/"/g,'\\"');let p=`org approve --submit --org ${P.value} --title "${i}"`;a&&(p+=` --type "${a}"`),l&&(p+=` --description "${l}"`);const{output:c}=await k.execute(p,2e4);c.includes("error")||c.includes("失败")?g.error(e("organization.messages.submitFailed",{err:c.slice(0,120)})):(g.success(e("organization.messages.submitOk")),X.value=!1,P.value=null,M.value="",Y.value="",Z.value="",await N())}catch(i){g.error(e("organization.messages.submitFailed",{err:i.message}))}finally{ye.value=!1}}return Ee(()=>{T()}),(i,a)=>{const l=z("a-button"),p=z("a-space"),c=z("a-spin"),v=z("a-tag"),S=z("a-empty"),ee=z("a-table"),j=z("a-descriptions-item"),Ke=z("a-descriptions"),R=z("a-modal"),C=z("a-input"),x=z("a-form-item"),ae=z("a-form"),fe=z("a-tab-pane"),be=z("a-select"),We=z("a-textarea"),Je=z("a-tabs");return d(),y("div",null,[O("div",oa,[O("div",null,[O("h2",na,r(t(e)("organization.title")),1),O("p",la,r(t(e)("organization.subtitle")),1)]),o(l,{type:"primary",ghost:"",loading:te.value,onClick:he},{icon:s(()=>[o(t(Ye))]),default:s(()=>[b(" "+r(t(e)("organization.refresh")),1)]),_:1},8,["loading"])]),o(Je,{activeKey:$.value,"onUpdate:activeKey":a[22]||(a[22]=n=>$.value=n),type:"card",onChange:Ce},{default:s(()=>[o(fe,{key:"orgs"},{tab:s(()=>[o(t(Ze)),b(" "+r(t(e)("organization.tabs.orgs")),1)]),default:s(()=>[o(p,{style:{"margin-bottom":"16px"}},{default:s(()=>[o(l,{type:"primary",onClick:a[0]||(a[0]=n=>D.value=!0)},{icon:s(()=>[o(t(ze))]),default:s(()=>[b(" "+r(t(e)("organization.orgs.createButton")),1)]),_:1})]),_:1}),oe.value?(d(),y("div",ia,[o(c,{size:"large"})])):(d(),w(ee,{key:1,columns:Oe.value,"data-source":I.value,pagination:{pageSize:20,showTotal:n=>t(e)("organization.totals.rows",{count:n})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row","custom-row":n=>({onClick:()=>Te(n)})},{bodyCell:s(({column:n,record:m})=>[n.key==="id"?(d(),y("span",sa,r(m.id),1)):f("",!0),n.key==="name"?(d(),y("a",ra,r(m.name),1)):f("",!0),n.key==="owner"?(d(),y("span",ua,r(m.owner),1)):f("",!0),n.key==="description"?(d(),y("span",da,r(m.description),1)):f("",!0),n.key==="memberCount"?(d(),w(v,{key:4,color:"blue"},{default:s(()=>[b(r(m.memberCount),1)]),_:2},1024)):f("",!0)]),emptyText:s(()=>[o(S,{description:t(e)("organization.orgs.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination","custom-row"])),o(R,{open:le.value,"onUpdate:open":a[1]||(a[1]=n=>le.value=n),title:t(e)("organization.orgs.detailTitle",{name:h.value.name||""}),footer:null,width:"640px"},{default:s(()=>[ie.value?(d(),y("div",pa,[o(c)])):(d(),y("div",ca,[o(Ke,{column:1,bordered:"",size:"small",style:{"margin-bottom":"16px"}},{default:s(()=>[o(j,{label:t(e)("organization.orgs.detailLabels.id")},{default:s(()=>[O("span",ma,r(h.value.id),1)]),_:1},8,["label"]),o(j,{label:t(e)("organization.orgs.detailLabels.name")},{default:s(()=>[b(r(h.value.name),1)]),_:1},8,["label"]),o(j,{label:t(e)("organization.orgs.detailLabels.owner")},{default:s(()=>[b(r(h.value.owner),1)]),_:1},8,["label"]),o(j,{label:t(e)("organization.orgs.detailLabels.description")},{default:s(()=>[b(r(h.value.description||"-"),1)]),_:1},8,["label"]),o(j,{label:t(e)("organization.orgs.detailLabels.memberCount")},{default:s(()=>[b(r(h.value.memberCount),1)]),_:1},8,["label"]),h.value.createdAt?(d(),w(j,{key:0,label:t(e)("organization.orgs.detailLabels.createdAt")},{default:s(()=>[b(r(h.value.createdAt),1)]),_:1},8,["label"])):f("",!0)]),_:1}),L.value?(d(),y("pre",ga,r(L.value),1)):f("",!0)]))]),_:1},8,["open","title"]),o(R,{open:D.value,"onUpdate:open":a[4]||(a[4]=n=>D.value=n),title:t(e)("organization.orgs.createTitle"),"confirm-loading":ne.value,onOk:Le,"ok-text":t(e)("organization.orgs.createOk"),"cancel-text":t(e)("common.cancel")},{default:s(()=>[o(ae,{"label-col":{span:4},"wrapper-col":{span:20},style:{"margin-top":"16px"}},{default:s(()=>[o(x,{label:t(e)("organization.orgs.nameLabel"),required:""},{default:s(()=>[o(C,{value:U.value,"onUpdate:value":a[2]||(a[2]=n=>U.value=n),placeholder:t(e)("organization.orgs.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.orgs.descriptionLabel")},{default:s(()=>[o(C,{value:V.value,"onUpdate:value":a[3]||(a[3]=n=>V.value=n),placeholder:t(e)("organization.orgs.descriptionPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),o(fe,{key:"members"},{tab:s(()=>[o(t(we)),b(" "+r(t(e)("organization.tabs.members")),1)]),default:s(()=>[O("div",va,[o(be,{value:_.value,"onUpdate:value":a[5]||(a[5]=n=>_.value=n),placeholder:t(e)("organization.members.selectPlaceholder"),style:{width:"280px"},options:_e.value,onChange:Fe},null,8,["value","placeholder","options"]),o(l,{type:"primary",disabled:!_.value,onClick:a[6]||(a[6]=n=>K.value=!0)},{icon:s(()=>[o(t(we))]),default:s(()=>[b(" "+r(t(e)("organization.members.inviteButton")),1)]),_:1},8,["disabled"])]),se.value?(d(),y("div",ya,[o(c,{size:"large"})])):_.value?(d(),w(ee,{key:1,columns:Ae.value,"data-source":re.value,pagination:{pageSize:20,showTotal:n=>t(e)("organization.totals.rows",{count:n})},size:"small",style:{background:"var(--bg-card)","margin-bottom":"24px"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:n,record:m})=>[n.key==="userId"?(d(),y("span",fa,r(m.userId),1)):f("",!0),n.key==="name"?(d(),y("span",ba,r(m.name),1)):f("",!0),n.key==="role"?(d(),w(v,{key:2,color:Ue(m.role)},{default:s(()=>[b(r(m.role),1)]),_:2},1032,["color"])):f("",!0),n.key==="joinedAt"?(d(),y("span",za,r(m.joinedAt),1)):f("",!0)]),emptyText:s(()=>[o(S,{description:t(e)("organization.members.emptyMembers")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])):(d(),w(S,{key:2,description:t(e)("organization.members.selectFirst"),style:{padding:"60px 0"}},null,8,["description"])),_.value?(d(),y(xe,{key:3},[O("div",_a,[O("h3",xa,r(t(e)("organization.members.teamsTitle")),1),o(l,{size:"small",onClick:a[7]||(a[7]=n=>Q.value=!0)},{icon:s(()=>[o(t(ze))]),default:s(()=>[b(" "+r(t(e)("organization.members.createTeamButton")),1)]),_:1})]),ue.value?(d(),y("div",ka,[o(c)])):(d(),w(ee,{key:1,columns:$e.value,"data-source":de.value,pagination:!1,size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:n,record:m})=>[n.key==="name"?(d(),y("span",wa,r(m.name),1)):f("",!0),n.key==="description"?(d(),y("span",ha,r(m.description),1)):f("",!0),n.key==="lead"?(d(),y("span",Ca,r(m.lead),1)):f("",!0)]),emptyText:s(()=>[o(S,{description:t(e)("organization.members.emptyTeams")},null,8,["description"])]),_:1},8,["columns","data-source"]))],64)):f("",!0),o(R,{open:K.value,"onUpdate:open":a[11]||(a[11]=n=>K.value=n),title:t(e)("organization.members.inviteTitle"),"confirm-loading":pe.value,onOk:Pe,"ok-text":t(e)("organization.members.inviteOk"),"cancel-text":t(e)("common.cancel")},{default:s(()=>[o(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[o(x,{label:t(e)("organization.members.userIdLabel"),required:""},{default:s(()=>[o(C,{value:F.value,"onUpdate:value":a[8]||(a[8]=n=>F.value=n),placeholder:t(e)("organization.members.userIdPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.members.nameLabel")},{default:s(()=>[o(C,{value:W.value,"onUpdate:value":a[9]||(a[9]=n=>W.value=n),placeholder:t(e)("organization.members.namePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.members.roleLabel")},{default:s(()=>[o(be,{value:J.value,"onUpdate:value":a[10]||(a[10]=n=>J.value=n),options:je.value},null,8,["value","options"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),o(R,{open:Q.value,"onUpdate:open":a[15]||(a[15]=n=>Q.value=n),title:t(e)("organization.members.createTeamTitle"),"confirm-loading":ce.value,onOk:Me,"ok-text":t(e)("organization.members.createTeamOk"),"cancel-text":t(e)("common.cancel")},{default:s(()=>[o(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[o(x,{label:t(e)("organization.members.teamNameLabel"),required:""},{default:s(()=>[o(C,{value:q.value,"onUpdate:value":a[12]||(a[12]=n=>q.value=n),placeholder:t(e)("organization.members.teamNamePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.members.teamDescLabel")},{default:s(()=>[o(C,{value:E.value,"onUpdate:value":a[13]||(a[13]=n=>E.value=n),placeholder:t(e)("organization.members.teamDescPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.members.teamLeadLabel")},{default:s(()=>[o(C,{value:G.value,"onUpdate:value":a[14]||(a[14]=n=>G.value=n),placeholder:t(e)("organization.members.teamLeadPlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1}),o(fe,{key:"approvals"},{tab:s(()=>[o(t(ta)),b(" "+r(t(e)("organization.tabs.approvals")),1)]),default:s(()=>[o(p,{style:{"margin-bottom":"16px"}},{default:s(()=>[o(l,{type:"primary",onClick:a[16]||(a[16]=n=>X.value=!0)},{icon:s(()=>[o(t(ze))]),default:s(()=>[b(" "+r(t(e)("organization.approvals.submitButton")),1)]),_:1})]),_:1}),ve.value?(d(),y("div",Oa,[o(c,{size:"large"})])):(d(),w(ee,{key:1,columns:Ne.value,"data-source":H.value,pagination:{pageSize:20,showTotal:n=>t(e)("organization.totals.rows",{count:n})},size:"small",style:{background:"var(--bg-card)"},"row-class-name":()=>"org-row"},{bodyCell:s(({column:n,record:m})=>[n.key==="id"?(d(),y("span",Ia,r(m.id),1)):f("",!0),n.key==="title"?(d(),y("span",La,r(m.title),1)):f("",!0),n.key==="type"?(d(),w(v,{key:2,color:"blue"},{default:s(()=>[b(r(m.type),1)]),_:2},1024)):f("",!0),n.key==="requester"?(d(),y("span",Ta,r(m.requester),1)):f("",!0),n.key==="status"?(d(),w(v,{key:4,color:Se(m.status)},{default:s(()=>[b(r(m.status),1)]),_:2},1032,["color"])):f("",!0),n.key==="actions"?(d(),y(xe,{key:5},[(m.status||"").toLowerCase()==="pending"?(d(),w(p,{key:0},{default:s(()=>[o(l,{type:"primary",size:"small",loading:m._approving,onClick:ke(Qe=>Be(m),["stop"])},{icon:s(()=>[o(t(ea))]),default:s(()=>[b(" "+r(t(e)("organization.approvals.approve")),1)]),_:1},8,["loading","onClick"]),o(l,{danger:"",size:"small",loading:m._rejecting,onClick:ke(Qe=>De(m),["stop"])},{icon:s(()=>[o(t(aa))]),default:s(()=>[b(" "+r(t(e)("organization.approvals.reject")),1)]),_:1},8,["loading","onClick"])]),_:2},1024)):(d(),y("span",ja,"-"))],64)):f("",!0)]),emptyText:s(()=>[o(S,{description:t(e)("organization.approvals.emptyText")},null,8,["description"])]),_:1},8,["columns","data-source","pagination"])),o(R,{open:X.value,"onUpdate:open":a[21]||(a[21]=n=>X.value=n),title:t(e)("organization.approvals.submitTitle"),"confirm-loading":ye.value,onOk:Ve,"ok-text":t(e)("organization.approvals.submitOk"),"cancel-text":t(e)("common.cancel")},{default:s(()=>[o(ae,{"label-col":{span:5},"wrapper-col":{span:19},style:{"margin-top":"16px"}},{default:s(()=>[o(x,{label:t(e)("organization.approvals.orgLabel"),required:""},{default:s(()=>[o(be,{value:P.value,"onUpdate:value":a[17]||(a[17]=n=>P.value=n),placeholder:t(e)("organization.approvals.orgPlaceholder"),options:_e.value},null,8,["value","placeholder","options"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.approvals.titleLabel"),required:""},{default:s(()=>[o(C,{value:M.value,"onUpdate:value":a[18]||(a[18]=n=>M.value=n),placeholder:t(e)("organization.approvals.titlePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.approvals.typeLabel")},{default:s(()=>[o(C,{value:Y.value,"onUpdate:value":a[19]||(a[19]=n=>Y.value=n),placeholder:t(e)("organization.approvals.typePlaceholder")},null,8,["value","placeholder"])]),_:1},8,["label"]),o(x,{label:t(e)("organization.approvals.descLabel")},{default:s(()=>[o(We,{value:Z.value,"onUpdate:value":a[20]||(a[20]=n=>Z.value=n),placeholder:t(e)("organization.approvals.descPlaceholder"),rows:3},null,8,["value","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])]),_:1})]),_:1},8,["activeKey"])])}}},Pa=Ge(Aa,[["__scopeId","data-v-7acab73f"]]);export{Pa as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{P,f as u,i as H,h as D}from"./index-
|
|
1
|
+
import{P,f as u,i as H,h as D}from"./index-CzoKAiyT.js";import{R as ee}from"./index-CTk9gY88.js";import{i as ge,f as c,d as k,p as pe,x as be,c as v,r as he,w as Oe,s as C}from"./vendor-BXcBOG8b.js";const te=Symbol("OverflowContextProviderKey"),X=k({compatConfig:{MODE:3},name:"OverflowContextProvider",inheritAttrs:!1,props:{value:{type:Object}},setup(e,o){let{slots:a}=o;return pe(te,c(()=>e.value)),()=>{var t;return(t=a.default)===null||t===void 0?void 0:t.call(a)}}}),Se=()=>ge(te,c(()=>null));var xe=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const _=void 0,$=k({compatConfig:{MODE:3},name:"Item",props:{prefixCls:String,item:P.any,renderItem:Function,responsive:Boolean,itemKey:{type:[String,Number]},registerSize:Function,display:Boolean,order:Number,component:P.any,invalidate:Boolean},setup(e,o){let{slots:a,expose:t}=o;const n=c(()=>e.responsive&&!e.display),p=he();t({itemNodeRef:p});function b(i){e.registerSize(e.itemKey,i)}return be(()=>{b(null)}),()=>{var i;const{prefixCls:O,invalidate:w,item:m,renderItem:y,responsive:f,registerSize:z,itemKey:R,display:V,order:I,component:M="div"}=e,S=xe(e,["prefixCls","invalidate","item","renderItem","responsive","registerSize","itemKey","display","order","component"]),W=(i=a.default)===null||i===void 0?void 0:i.call(a),T=y&&m!==_?y(m):W;let h;w||(h={opacity:n.value?0:1,height:n.value?0:_,overflowY:n.value?"hidden":_,order:f?I:_,pointerEvents:n.value?"none":_,position:n.value?"absolute":_});const N={};return n.value&&(N["aria-hidden"]=!0),v(ee,{disabled:!f,onResize:E=>{let{offsetWidth:B}=E;b(B)}},{default:()=>v(M,u(u(u({class:H(!w&&O),style:h},N),S),{},{ref:p}),{default:()=>[T]})})}}});var U=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const Ce=k({compatConfig:{MODE:3},name:"RawItem",inheritAttrs:!1,props:{component:P.any,title:P.any,id:String,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},role:String,tabindex:Number},setup(e,o){let{slots:a,attrs:t}=o;const n=Se();return()=>{var p;if(!n.value){const{component:y="div"}=e,f=U(e,["component"]);return v(y,u(u({},f),t),{default:()=>[(p=a.default)===null||p===void 0?void 0:p.call(a)]})}const b=n.value,{className:i}=b,O=U(b,["className"]),{class:w}=t,m=U(t,["class"]);return v(X,{value:null},{default:()=>[v($,u(u(u({class:H(i,w)},O),m),e),a)]})}}});var we=function(e,o){var a={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(a[t]=e[t]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(e);n<t.length;n++)o.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(e,t[n])&&(a[t[n]]=e[t[n]]);return a};const ne="responsive",le="invalidate";function Re(e){return`+ ${e.length} ...`}const Ie=()=>({id:String,prefixCls:String,data:Array,itemKey:[String,Number,Function],itemWidth:{type:Number,default:10},renderItem:Function,renderRawItem:Function,maxCount:[Number,String],renderRest:Function,renderRawRest:Function,suffix:P.any,component:String,itemComponent:P.any,onVisibleChange:Function,ssr:String,onMousedown:Function,role:String}),Y=k({name:"Overflow",inheritAttrs:!1,props:Ie(),emits:["visibleChange"],setup(e,o){let{attrs:a,emit:t,slots:n}=o;const p=c(()=>e.ssr==="full"),b=C(null),i=c(()=>b.value||0),O=C(new Map),w=C(0),m=C(0),y=C(0),f=C(null),z=C(null),R=c(()=>z.value===null&&p.value?Number.MAX_SAFE_INTEGER:z.value||0),V=C(!1),I=c(()=>`${e.prefixCls}-item`),M=c(()=>Math.max(w.value,m.value)),S=c(()=>!!(e.data.length&&e.maxCount===ne)),W=c(()=>e.maxCount===le),T=c(()=>S.value||typeof e.maxCount=="number"&&e.data.length>e.maxCount),h=c(()=>{let l=e.data;return S.value?b.value===null&&p.value?l=e.data:l=e.data.slice(0,Math.min(e.data.length,i.value/e.itemWidth)):typeof e.maxCount=="number"&&(l=e.data.slice(0,e.maxCount)),l}),N=c(()=>S.value?e.data.slice(R.value+1):e.data.slice(h.value.length)),E=(l,r)=>{var s;return typeof e.itemKey=="function"?e.itemKey(l):(s=e.itemKey&&l?.[e.itemKey])!==null&&s!==void 0?s:r},B=c(()=>e.renderItem||(l=>l)),A=(l,r)=>{z.value=l,r||(V.value=l<e.data.length-1,t("visibleChange",l))},ae=(l,r)=>{b.value=r.clientWidth},q=(l,r)=>{const s=new Map(O.value);r===null?s.delete(l):s.set(l,r),O.value=s},re=(l,r)=>{w.value=m.value,m.value=r},oe=(l,r)=>{y.value=r},G=l=>O.value.get(E(h.value[l],l));return Oe([i,O,m,y,()=>e.itemKey,h],()=>{if(i.value&&M.value&&h.value){let l=y.value;const r=h.value.length,s=r-1;if(!r){A(0),f.value=null;return}for(let g=0;g<r;g+=1){const F=G(g);if(F===void 0){A(g-1,!0);break}if(l+=F,s===0&&l<=i.value||g===s-1&&l+G(s)<=i.value){A(s),f.value=null;break}else if(l+M.value>i.value){A(g-1),f.value=l-F-y.value+m.value;break}}e.suffix&&G(0)+y.value>i.value&&(f.value=null)}}),()=>{const l=V.value&&!!N.value.length,{itemComponent:r,renderRawItem:s,renderRawRest:g,renderRest:F,prefixCls:ie="rc-overflow",suffix:J,component:se="div",id:ue,onMousedown:de}=e,{class:ce,style:ve}=a,fe=we(a,["class","style"]);let Q={};f.value!==null&&S.value&&(Q={position:"absolute",left:`${f.value}px`,top:0});const j={prefixCls:I.value,responsive:S.value,component:r,invalidate:W.value},me=s?(d,x)=>{const K=E(d,x);return v(X,{key:K,value:D(D({},j),{order:x,item:d,itemKey:K,registerSize:q,display:x<=R.value})},{default:()=>[s(d,x)]})}:(d,x)=>{const K=E(d,x);return v($,u(u({},j),{},{order:x,key:K,item:d,renderItem:B.value,itemKey:K,registerSize:q,display:x<=R.value}),null)};let L=()=>null;const Z={order:l?R.value:Number.MAX_SAFE_INTEGER,className:`${I.value} ${I.value}-rest`,registerSize:re,display:l};if(g)g&&(L=()=>v(X,{value:D(D({},j),Z)},{default:()=>[g(N.value)]}));else{const d=F||Re;L=()=>v($,u(u({},j),Z),{default:()=>typeof d=="function"?d(N.value):d})}const ye=()=>{var d;return v(se,u({id:ue,class:H(!W.value&&ie,ce),style:ve,onMousedown:de,role:e.role},fe),{default:()=>[h.value.map(me),T.value?L():null,J&&v($,u(u({},j),{},{order:R.value,class:`${I.value}-suffix`,registerSize:oe,display:!0,style:Q}),{default:()=>J}),(d=n.default)===null||d===void 0?void 0:d.call(n)]})};return v(ee,{disabled:!S.value,onResize:ae},{default:ye})}}});Y.Item=Ce;Y.RESPONSIVE=ne;Y.INVALIDATE=le;export{Y as O};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as ve,b as ye,u as me}from"./index-
|
|
1
|
+
import{_ as ve,b as ye,u as me}from"./index-CzoKAiyT.js";import{R as fe,M as _e,am as te,at as ge,q as B}from"./icons-DlxlFL4g.js";import{o as be,M as v,R as d,P as l,u as t,c as a,N as n,r,K as p,L as i,O as y,Q as w,S as m,F as ae,Y as xe,f as he}from"./vendor-BXcBOG8b.js";const ke={style:{display:"flex","align-items":"center","justify-content":"space-between","margin-bottom":"24px"}},we={class:"page-title"},Se={class:"page-sub"},Pe={key:0,style:{"text-align":"center",padding:"30px"}},Ce={key:2,style:{"font-family":"monospace",color:"var(--text-muted)","font-size":"12px"}},Le={key:3,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},ze={key:0,style:{"text-align":"center",padding:"30px"}},Oe={key:0,style:{"margin-top":"16px"}},Me={style:{color:"var(--text-secondary)","font-size":"11px","margin-bottom":"6px"}},Be={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","max-height":"200px","overflow-y":"auto","white-space":"pre-wrap"}},Fe={key:2,style:{"margin-top":"12px",color:"#ff4d4f","font-size":"12px"}},Te={style:{"margin-bottom":"12px",color:"var(--text-secondary)"}},$e={key:0,style:{"margin-top":"12px"}},Ne={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},De={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},Ee={style:{"margin-bottom":"8px",color:"var(--text-secondary)"}},Re={key:0,style:{"margin-top":"12px"}},Ue={style:{background:"var(--bg-base)",border:"1px solid var(--border-color)","border-radius":"6px",padding:"12px",color:"#aaa","font-size":"12px","white-space":"pre-wrap"}},Ve={__name:"P2P",setup(Ie){const{t:e}=ye(),x=me(),F=r(!1),T=r(""),S=r([]),oe=he(()=>[{title:e("p2p.peerColumns.name"),key:"name"},{title:e("p2p.peerColumns.id"),key:"id"},{title:e("p2p.peerColumns.status"),key:"status"},{title:e("p2p.peerColumns.action"),key:"action",width:100}]);async function Y(){F.value=!0,T.value="";try{const{output:o}=await x.execute("p2p peers",15e3);S.value=ne(o)}catch(o){T.value=e("p2p.messages.loadPeersFailed",{err:o.message})}finally{F.value=!1}}function ne(o){if(!o||o.includes("No peers")||o.includes("no peers"))return[];const c=o.split(`
|
|
2
2
|
`).filter(_=>_.trim()),u=[];for(const _ of c){const b=_.match(/^\s*(\S+)\s+(.+?)\s+(connected|online|offline|disconnected)\s*$/i);if(b){u.push({id:b[1],name:b[2].trim(),connected:/connected|online/i.test(b[3])});continue}const k=_.match(/^\s*((?:12D3|Qm)\S{10,})\s*(.*)$/);if(k){const O=k[2].trim();u.push({id:k[1],name:O||k[1].slice(0,12),connected:/connected|online/i.test(O)})}}return u}const E=r(!1),R=r(!1),$=r(""),P=r("");async function G(){if($.value.trim()){R.value=!0,P.value="";try{const{output:o}=await x.execute(`p2p pair "${$.value.trim()}"`,3e4);P.value=o,await Y()}catch(o){P.value=e("p2p.messages.pairFailed",{err:o.message})}finally{R.value=!1}}}const N=r(!1),U=r(!1),C=r(void 0),L=r(""),h=r("");function le(o){C.value=o.id,L.value="",h.value="",N.value=!0}async function H(){if(!(!C.value||!L.value.trim())){U.value=!0,h.value="";try{const{output:o}=await x.execute(`p2p send ${C.value} "${L.value.trim()}"`,15e3);h.value=o||e("p2p.send.messageDefault")}catch(o){h.value=e("p2p.messages.sendFailed",{err:o.message})}finally{U.value=!1}}}const V=r(!1),D=r(""),z=r(!1),I=r(""),Q=r(0),J=r(""),f=r(""),j=r(!1),q=r(!1);async function A(){V.value=!0,D.value="";try{const{output:o}=await x.execute("sync status",15e3);se(o)}catch(o){D.value=e("p2p.messages.loadSyncFailed",{err:o.message})}finally{V.value=!1}}function se(o){if(!o){I.value=e("p2p.sync.unknown");return}z.value=/synced|online|up.to.date/i.test(o),I.value=z.value?e("p2p.sync.synced"):e("p2p.sync.notSynced");const c=o.match(/pending[:\s]+(\d+)/i);Q.value=c?parseInt(c[1]):0;const u=o.match(/last[:\s]+(.+)/i);u&&(J.value=u[1].trim())}async function re(){j.value=!0,f.value="";try{const{output:o}=await x.execute("sync push",3e4);f.value=o||e("p2p.sync.pushDefault"),await A()}catch(o){f.value=e("p2p.messages.pushFailed",{err:o.message})}finally{j.value=!1}}async function ce(){q.value=!0,f.value="";try{const{output:o}=await x.execute("sync pull",3e4);f.value=o||e("p2p.sync.pullDefault"),await A()}catch(o){f.value=e("p2p.messages.pullFailed",{err:o.message})}finally{q.value=!1}}async function X(){await Promise.all([Y(),A()])}return be(X),(o,c)=>{const u=p("a-button"),_=p("a-space"),b=p("a-spin"),k=p("a-empty"),O=p("a-tag"),ie=p("a-table"),M=p("a-card"),K=p("a-statistic"),W=p("a-col"),pe=p("a-row"),Z=p("a-input"),ee=p("a-modal"),ue=p("a-select-option"),de=p("a-select");return i(),v("div",null,[d("div",ke,[d("div",null,[d("h2",we,l(t(e)("p2p.title")),1),d("p",Se,l(t(e)("p2p.subtitle")),1)]),a(u,{type:"primary",ghost:"",loading:F.value,onClick:X},{icon:n(()=>[a(t(fe))]),default:n(()=>[y(" "+l(t(e)("p2p.refresh")),1)]),_:1},8,["loading"])]),a(M,{title:t(e)("p2p.peers.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)","margin-bottom":"20px"}},{extra:n(()=>[a(_,null,{default:n(()=>[a(u,{size:"small",onClick:c[0]||(c[0]=s=>E.value=!0),style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(ge))]),default:n(()=>[y(" "+l(t(e)("p2p.peers.pairButton")),1)]),_:1}),a(u,{size:"small",onClick:c[1]||(c[1]=s=>N.value=!0),disabled:S.value.length===0,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(te))]),default:n(()=>[y(" "+l(t(e)("p2p.peers.sendButton")),1)]),_:1},8,["disabled"])]),_:1})]),default:n(()=>[F.value?(i(),v("div",Pe,[a(b)])):S.value.length===0?(i(),w(k,{key:1,description:t(e)("p2p.peers.emptyText")},null,8,["description"])):(i(),w(ie,{key:2,columns:oe.value,"data-source":S.value,pagination:!1,size:"small","row-key":"id"},{bodyCell:n(({column:s,record:g})=>[s.key==="status"?(i(),w(O,{key:0,color:g.connected?"green":"default"},{default:n(()=>[y(l(g.connected?t(e)("p2p.peers.online"):t(e)("p2p.peers.offline")),1)]),_:2},1032,["color"])):m("",!0),s.key==="name"?(i(),w(_,{key:1},{default:n(()=>[a(t(_e),{style:{color:"var(--text-muted)"}}),d("span",null,l(g.name||g.id),1)]),_:2},1024)):m("",!0),s.key==="id"?(i(),v("span",Ce,l(g.id.length>16?g.id.slice(0,16)+"...":g.id),1)):m("",!0),s.key==="action"?(i(),w(u,{key:3,size:"small",type:"link",onClick:Qe=>le(g)},{default:n(()=>[a(t(te)),y(" "+l(t(e)("p2p.peers.rowSend")),1)]),_:1},8,["onClick"])):m("",!0)]),_:1},8,["columns","data-source"])),T.value?(i(),v("div",Le,l(T.value),1)):m("",!0)]),_:1},8,["title"]),a(M,{title:t(e)("p2p.sync.cardTitle"),style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{extra:n(()=>[a(O,{color:z.value?"green":"default"},{default:n(()=>[y(l(z.value?t(e)("p2p.sync.synced"):t(e)("p2p.sync.notSynced")),1)]),_:1},8,["color"])]),default:n(()=>[V.value?(i(),v("div",ze,[a(b)])):(i(),v(ae,{key:1},[a(pe,{gutter:[16,16],style:{"margin-bottom":"20px"}},{default:n(()=>[a(W,{xs:24,sm:8},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(K,{title:t(e)("p2p.sync.statusLabel"),value:I.value,"value-style":{color:z.value?"#52c41a":"#888",fontSize:"16px"}},{prefix:n(()=>[a(t(B))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(W,{xs:24,sm:8},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(K,{title:t(e)("p2p.sync.pendingLabel"),value:Q.value,"value-style":{color:Q.value>0?"#faad14":"#52c41a",fontSize:"16px"}},{prefix:n(()=>[a(t(B))]),_:1},8,["title","value","value-style"])]),_:1})]),_:1}),a(W,{xs:24,sm:8},{default:n(()=>[a(M,{style:{background:"var(--bg-card)","border-color":"var(--border-color)"}},{default:n(()=>[a(K,{title:t(e)("p2p.sync.lastSyncLabel"),value:J.value||t(e)("p2p.sync.noLastSync"),"value-style":{color:"var(--text-secondary)",fontSize:"16px"}},{prefix:n(()=>[a(t(B))]),_:1},8,["title","value"])]),_:1})]),_:1})]),_:1}),a(_,null,{default:n(()=>[a(u,{loading:j.value,onClick:re,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(B))]),default:n(()=>[y(" "+l(t(e)("p2p.sync.pushButton")),1)]),_:1},8,["loading"]),a(u,{loading:q.value,onClick:ce,style:{background:"var(--bg-card-hover)","border-color":"var(--border-color)"}},{icon:n(()=>[a(t(B))]),default:n(()=>[y(" "+l(t(e)("p2p.sync.pullButton")),1)]),_:1},8,["loading"])]),_:1}),f.value?(i(),v("div",Oe,[d("div",Me,l(t(e)("p2p.sync.outputLabel")),1),d("pre",Be,l(f.value),1)])):m("",!0)],64)),D.value?(i(),v("div",Fe,l(D.value),1)):m("",!0)]),_:1},8,["title"]),a(ee,{open:E.value,"onUpdate:open":c[3]||(c[3]=s=>E.value=s),title:t(e)("p2p.pair.title"),"confirm-loading":R.value,onOk:G,"ok-text":t(e)("p2p.pair.ok"),"cancel-text":t(e)("common.cancel")},{default:n(()=>[d("div",Te,l(t(e)("p2p.pair.intro")),1),a(Z,{value:$.value,"onUpdate:value":c[2]||(c[2]=s=>$.value=s),placeholder:t(e)("p2p.pair.placeholder"),onPressEnter:G},null,8,["value","placeholder"]),P.value?(i(),v("div",$e,[d("pre",Ne,l(P.value),1)])):m("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"]),a(ee,{open:N.value,"onUpdate:open":c[6]||(c[6]=s=>N.value=s),title:t(e)("p2p.send.title"),"confirm-loading":U.value,onOk:H,"ok-text":t(e)("p2p.send.ok"),"cancel-text":t(e)("common.cancel")},{default:n(()=>[d("div",De,l(t(e)("p2p.send.targetLabel")),1),a(de,{value:C.value,"onUpdate:value":c[4]||(c[4]=s=>C.value=s),style:{width:"100%","margin-bottom":"16px"},placeholder:t(e)("p2p.send.targetPlaceholder")},{default:n(()=>[(i(!0),v(ae,null,xe(S.value,s=>(i(),w(ue,{key:s.id,value:s.id},{default:n(()=>[y(l(s.name||s.id),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"]),d("div",Ee,l(t(e)("p2p.send.messageLabel")),1),a(Z,{value:L.value,"onUpdate:value":c[5]||(c[5]=s=>L.value=s),placeholder:t(e)("p2p.send.messagePlaceholder"),onPressEnter:H},null,8,["value","placeholder"]),h.value?(i(),v("div",Re,[d("pre",Ue,l(h.value),1)])):m("",!0)]),_:1},8,["open","title","confirm-loading","ok-text","cancel-text"])])}}},Ke=ve(Ve,[["__scopeId","data-v-832d025d"]]);export{Ke as default};
|