coding-tool-x 3.9.9-261027 → 3.9.9-261105

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.
Files changed (120) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/web/assets/AgentsDrawer-DWnAsTH_.js +1 -0
  3. package/dist/web/assets/Analytics-D_WWRO5h.js +1 -0
  4. package/dist/web/assets/AssetPathField-CoIuoSZr.js +1 -0
  5. package/dist/web/assets/ChatHistoryDrawer-B_OnCpxR.js +1 -0
  6. package/dist/web/assets/CollapseItem-DEV7PQ-o.js +1 -0
  7. package/dist/web/assets/CommandsDrawer-gG61nb7a.js +1 -0
  8. package/dist/web/assets/ConfigExportDrawer-BkSzLSuZ.js +1 -0
  9. package/dist/web/assets/ConfigTemplates-DvEDpIso.js +1 -0
  10. package/dist/web/assets/ConfigTemplatesDrawer-DMPO4gjt.js +1 -0
  11. package/dist/web/assets/ConfigTemplatesPanel-BQe31_bq.js +1 -0
  12. package/dist/web/assets/Divider-CEqaZMTW.js +1 -0
  13. package/dist/web/assets/DrawerContent-BYlV968f.js +1 -0
  14. package/dist/web/assets/FavoritesDrawer-Y-MmIIE9.js +1 -0
  15. package/dist/web/assets/{Forward-DLCL7aMY.js → Forward-kgMPT2RI.js} +1 -1
  16. package/dist/web/assets/GatewayConvertDrawer-BvYhzJD6.js +1 -0
  17. package/dist/web/assets/Home-BOwk4kTa.js +1 -0
  18. package/dist/web/assets/MarkdownEditor-Bf9QKKaV.js +1 -0
  19. package/dist/web/assets/McpDrawer-B7cwI24B.js +1 -0
  20. package/dist/web/assets/McpFormDrawer-Djt5CJyE.js +1 -0
  21. package/dist/web/assets/PluginManager-B4J_hR0V.js +1 -0
  22. package/dist/web/assets/PluginsDrawer-Ch4x66-E.js +1 -0
  23. package/dist/web/assets/PluginsPanel-mqXBlKZg.js +1 -0
  24. package/dist/web/assets/ProjectList-DtmQyoPc.css +1 -0
  25. package/dist/web/assets/ProjectList-xToRgLVw.js +1 -0
  26. package/dist/web/assets/PromptsDrawer-VYrlk-F6.js +1 -0
  27. package/dist/web/assets/RecentSessionsDrawer-DCsgGSBu.js +1 -0
  28. package/dist/web/assets/SessionCard-C9n9lC_Y.css +1 -0
  29. package/dist/web/assets/SessionCard-DwzxeSe9.js +1 -0
  30. package/dist/web/assets/{SessionList-qG_XpPBJ.css → SessionList-CCuKp6ib.css} +1 -1
  31. package/dist/web/assets/SessionList-GqzUHgOu.js +1 -0
  32. package/dist/web/assets/SettingsDrawer-Q_aTOBhf.js +1 -0
  33. package/dist/web/assets/SkillManager-B1B58WKe.js +1 -0
  34. package/dist/web/assets/SkillsDrawer-Ch1b1hLn.js +1 -0
  35. package/dist/web/assets/SkillsPanel-B_xxyDpy.js +1 -0
  36. package/dist/web/assets/{Upload-xqorL26i.js → Upload-B6Kn1TvG.js} +1 -1
  37. package/dist/web/assets/WorkspaceDrawer-C3w-Z87U.js +1 -0
  38. package/dist/web/assets/WorkspaceManager-BFzjeEWh.js +1 -0
  39. package/dist/web/assets/WorkspacePanel-DkrwFSLs.js +1 -0
  40. package/dist/web/assets/_plugin-vue_export-helper-DyHLuIR4.js +1 -0
  41. package/dist/web/assets/{client-oU6RT-6I.js → client-B31QOzWk.js} +1 -1
  42. package/dist/web/assets/{dsh-agent-presets-DjJRVMT6.js → dsh-agent-presets-DopJnuAZ.js} +1 -1
  43. package/dist/web/assets/headers-nTUGmJee.js +1 -0
  44. package/dist/web/assets/{icons-B-AzZoeE.js → icons-C6KNTFqo.js} +1 -1
  45. package/dist/web/assets/index-BXWpib7P.js +2 -0
  46. package/dist/web/assets/{index-DjIuAtaS.css → index-CvL_fRpL.css} +1 -1
  47. package/dist/web/assets/light-DeIjG9s_.js +1 -0
  48. package/dist/web/assets/markdown-xLK9ekFg.js +1 -0
  49. package/dist/web/assets/platforms-BdTllxKt.js +1 -0
  50. package/dist/web/assets/{platforms-p9AiybLU.js → platforms-CDltfh5G.js} +1 -1
  51. package/dist/web/assets/{project-config-CzFKBw_m.js → project-config-C16yaWHF.js} +1 -1
  52. package/dist/web/assets/rolldown-runtime-DcNxTHDL.js +1 -0
  53. package/dist/web/assets/sessions-B4RD8wDx.js +1 -0
  54. package/dist/web/assets/{sessions-DJiJJgvg.js → sessions-Xl0HAvhA.js} +1 -1
  55. package/dist/web/assets/use-lock-html-scroll-Bu94jdUB.js +1 -0
  56. package/dist/web/assets/use-message-BYx0IRj1.js +1 -0
  57. package/dist/web/assets/useResponsiveDrawer-Deh7Xdcj.js +1 -0
  58. package/dist/web/assets/vendors-CvGw6U_t.js +1 -0
  59. package/dist/web/assets/vue-vendor-Cr_NLmXY.js +1 -0
  60. package/dist/web/assets/{workspaces-D2yLnT-B.js → workspaces-Y7hS24p2.js} +1 -1
  61. package/dist/web/assets/xml-B78loRzO.js +1 -0
  62. package/dist/web/index.html +13 -12
  63. package/package.json +3 -3
  64. package/src/config/model-metadata.json +30 -4
  65. package/src/platforms/drivers/dsh/api-operations.js +1 -1
  66. package/src/platforms/drivers/dsh/channels-implementation.js +10 -0
  67. package/src/platforms/drivers/dsh/channels.js +10 -0
  68. package/src/platforms/drivers/dsh/proxy-implementation.js +7 -1
  69. package/src/platforms/drivers/dsh/sessions.js +5 -1
  70. package/src/platforms/manifest-schema.js +1 -1
  71. package/src/platforms/manifests/dsh.json +8 -0
  72. package/src/server/services/model-detector.js +22 -3
  73. package/dist/web/assets/AgentsDrawer-CKEf8ie1.js +0 -1
  74. package/dist/web/assets/Analytics-0BCMxQ-o.js +0 -1
  75. package/dist/web/assets/AssetPathField-pfN6L814.js +0 -1
  76. package/dist/web/assets/ChatHistoryDrawer-nuUPRqje.js +0 -1
  77. package/dist/web/assets/CollapseItem-B2SdqQp2.js +0 -1
  78. package/dist/web/assets/CommandsDrawer-D8m0qLzQ.js +0 -1
  79. package/dist/web/assets/ConfigExportDrawer-BlCBLdue.js +0 -1
  80. package/dist/web/assets/ConfigTemplates-CePBARK8.js +0 -1
  81. package/dist/web/assets/ConfigTemplatesDrawer-DbVY4rD1.js +0 -1
  82. package/dist/web/assets/ConfigTemplatesPanel-CwYPLEFV.js +0 -1
  83. package/dist/web/assets/Divider-BLLhMTSt.js +0 -1
  84. package/dist/web/assets/DrawerContent-ChXgZ1Xm.js +0 -1
  85. package/dist/web/assets/FavoritesDrawer-BKAKQNqP.js +0 -1
  86. package/dist/web/assets/GatewayConvertDrawer-D2MFXcqS.js +0 -1
  87. package/dist/web/assets/Home-BmElvXVZ.js +0 -1
  88. package/dist/web/assets/MarkdownEditor-buNC2iDj.js +0 -1
  89. package/dist/web/assets/McpDrawer-NBjAyFU5.js +0 -1
  90. package/dist/web/assets/McpFormDrawer-BUnW9j4A.js +0 -1
  91. package/dist/web/assets/PluginManager-BgHpsF5S.js +0 -1
  92. package/dist/web/assets/PluginsDrawer-CFnmqzV0.js +0 -1
  93. package/dist/web/assets/PluginsPanel-ClSdnSCu.js +0 -1
  94. package/dist/web/assets/ProjectList-CjlHEyU1.js +0 -1
  95. package/dist/web/assets/ProjectList-VbIYSHbH.css +0 -1
  96. package/dist/web/assets/PromptsDrawer-xeSGgpCd.js +0 -1
  97. package/dist/web/assets/RecentSessionsDrawer-DELB6-rU.js +0 -1
  98. package/dist/web/assets/SessionCard-BaH42eOe.js +0 -1
  99. package/dist/web/assets/SessionCard-aM2NHu6i.css +0 -1
  100. package/dist/web/assets/SessionList-BGB9GwYE.js +0 -1
  101. package/dist/web/assets/SettingsDrawer-DdYC8GIa.js +0 -1
  102. package/dist/web/assets/SkillManager-CF7EiSps.js +0 -1
  103. package/dist/web/assets/SkillsDrawer-Bc5zA1bk.js +0 -1
  104. package/dist/web/assets/SkillsPanel-SnzwzqW5.js +0 -1
  105. package/dist/web/assets/WorkspaceDrawer-DBiEnZ7j.js +0 -1
  106. package/dist/web/assets/WorkspaceManager-C1dNfoAy.js +0 -1
  107. package/dist/web/assets/WorkspacePanel-CWNQZjm1.js +0 -1
  108. package/dist/web/assets/_plugin-vue_export-helper-BeLZJZij.js +0 -1
  109. package/dist/web/assets/headers-DbowkmZJ.js +0 -1
  110. package/dist/web/assets/index-BKpL4XdU.js +0 -2
  111. package/dist/web/assets/light-C2X7hegj.js +0 -1
  112. package/dist/web/assets/markdown-u082bbtj.js +0 -1
  113. package/dist/web/assets/platforms-Cq6XDXfy.js +0 -1
  114. package/dist/web/assets/sessions-DSLpMXCq.js +0 -1
  115. package/dist/web/assets/use-lock-html-scroll-DXIqmUW4.js +0 -1
  116. package/dist/web/assets/use-message-DBsCm7FJ.js +0 -1
  117. package/dist/web/assets/useResponsiveDrawer-CTQPBATk.js +0 -1
  118. package/dist/web/assets/vendors-D0c_0KLP.js +0 -1
  119. package/dist/web/assets/vue-vendor-BqZbbXHA.js +0 -1
  120. package/dist/web/assets/xml-CgY3RMlX.js +0 -1
@@ -0,0 +1 @@
1
+ import{A as e,C as t,D as n,F as a,G as r,I as o,M as i,N as s,O as l,Q as d,V as b,W as c,Z as p,_t as f,b as u,dt as v,et as g,f as h,g as x,m,mt as y,st as w,tt as $,u as C,w as z,x as R,y as S}from"./vue-vendor-Cr_NLmXY.js";import{t as T}from"./client-B31QOzWk.js";import{$ as P,rt as W}from"./icons-C6KNTFqo.js";import{Ct as _,D as j,Dt as L,Lt as A,N as k,Pt as B,Qt as E,Tt as N,Xt as O,Yt as H,bn as D,dn as F,dt as I,gn as V,gt as M,hn as X,ht as U,i as Y,it as q,j as G,ln as Q,s as Z,st as J,vn as K,xn as ee,yn as te}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{C as ne,E as ae,M as re,T as oe,b as ie}from"./use-message-BYx0IRj1.js";import{B as se,T as le,Y as de,_t as be,k as ce,vt as pe,w as fe}from"./index-BXWpib7P.js";import{t as ue}from"./clipboard-B46yyoz_.js";var ve=oe(".v-x-scroll",{overflow:"auto",scrollbarWidth:"none"},[oe("&::-webkit-scrollbar",{width:0,height:0})]),ge=e({name:"XScroll",props:{disabled:Boolean,onScroll:Function},setup(){const e=w(null);const t=A();return ve.mount({id:"vueuc/x-scroll",head:!0,anchorMetaName:ae,ssr:t}),Object.assign({selfRef:e,handleWheel:function(e){e.currentTarget.offsetWidth<e.currentTarget.scrollWidth&&0!==e.deltaY&&(e.currentTarget.scrollLeft+=e.deltaY+e.deltaX,e.preventDefault())}},{scrollTo(...t){var n;null===(n=e.value)||void 0===n||n.scrollTo(...t)}})},render(){return i("div",{ref:"selfRef",onScroll:this.onScroll,onWheel:this.disabled?void 0:this.handleWheel,class:"v-x-scroll"},this.$slots)}}),he=/\s/;var xe=/^\s+/;function me(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&he.test(e.charAt(t)););return t}(e)+1).replace(xe,""):e}var ye=/^[-+]0x[0-9a-f]+$/i,we=/^0b[01]+$/i,$e=/^0o[0-7]+$/i,Ce=parseInt;function ze(e){if("number"==typeof e)return e;if(J(e))return NaN;if(q(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=q(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=me(e);var n=we.test(e);return n||$e.test(e)?Ce(e.slice(2),n?2:8):ye.test(e)?NaN:+e}var Re=function(){return I.Date.now()},Se=Math.max,Te=Math.min;function Pe(e,t,n){var a,r,o,i,s,l,d=0,b=!1,c=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function f(t){var n=a,o=r;return a=r=void 0,d=t,i=e.apply(o,n)}function u(e){var n=e-l;return void 0===l||n>=t||n<0||c&&e-d>=o}function v(){var e=Re();if(u(e))return g(e);s=setTimeout(v,function(e){var n=t-(e-l);return c?Te(n,o-(e-d)):n}(e))}function g(e){return s=void 0,p&&a?f(e):(a=r=void 0,i)}function h(){var e=Re(),n=u(e);if(a=arguments,r=this,l=e,n){if(void 0===s)return function(e){return d=e,s=setTimeout(v,t),b?f(e):i}(l);if(c)return clearTimeout(s),s=setTimeout(v,t),f(l)}return void 0===s&&(s=setTimeout(v,t)),i}return t=ze(t)||0,q(n)&&(b=!!n.leading,o=(c="maxWait"in n)?Se(ze(n.maxWait)||0,t):o,p="trailing"in n?!!n.trailing:p),h.cancel=function(){void 0!==s&&clearTimeout(s),d=0,a=l=r=s=void 0},h.flush=function(){return void 0===s?i:g(Re())},h}var We=H("n-tabs"),_e={tab:[String,Number,Object,Function],name:{type:[String,Number],required:!0},disabled:Boolean,displayDirective:{type:String,default:"if"},closable:{type:Boolean,default:void 0},tabProps:Object,label:[String,Number,Object,Function]},je=e({__TAB_PANE__:!0,name:"TabPane",alias:["TabPanel"],props:_e,slots:Object,setup(e){const t=s(We,null);return t||L("tab-pane","`n-tab-pane` must be placed inside `n-tabs`."),{style:t.paneStyleRef,class:t.paneClassRef,mergedClsPrefix:t.mergedClsPrefixRef}},render(){return i("div",{class:[`${this.mergedClsPrefix}-tab-pane`,this.class],style:this.style},this.$slots)}}),Le=e({__TAB__:!0,inheritAttrs:!1,name:"Tab",props:Object.assign({internalLeftPadded:Boolean,internalAddable:Boolean,internalCreatedByPane:Boolean},pe(_e,["displayDirective"])),setup(e){const{mergedClsPrefixRef:t,valueRef:n,typeRef:a,closableRef:r,tabStyleRef:o,addTabStyleRef:i,tabClassRef:l,addTabClassRef:d,tabChangeIdRef:b,onBeforeLeaveRef:c,triggerRef:p,handleAdd:f,activateTab:v,handleClose:g}=s(We);return{trigger:p,mergedClosable:u(()=>{if(e.internalAddable)return!1;const{closable:t}=e;return void 0===t?r.value:t}),style:o,addStyle:i,tabClass:l,addTabClass:d,clsPrefix:t,value:n,type:a,handleClose(t){t.stopPropagation(),e.disabled||g(e.name)},activateTab(){if(e.disabled)return;if(e.internalAddable)return void f();const{name:t}=e,a=++b.id;if(t!==n.value){const{value:r}=c;r?Promise.resolve(r(e.name,n.value)).then(e=>{e&&b.id===a&&v(t)}):v(t)}}}},render(){const{internalAddable:e,clsPrefix:t,name:n,disabled:r,label:o,tab:s,value:l,mergedClosable:d,trigger:b,$slots:{default:c}}=this,p=null!=o?o:s;return i("div",{class:`${t}-tabs-tab-wrapper`},this.internalLeftPadded?i("div",{class:`${t}-tabs-tab-pad`}):null,i("div",Object.assign({key:n,"data-name":n,"data-disabled":!!r||void 0},a({class:[`${t}-tabs-tab`,l===n&&`${t}-tabs-tab--active`,r&&`${t}-tabs-tab--disabled`,d&&`${t}-tabs-tab--closable`,e&&`${t}-tabs-tab--addable`,e?this.addTabClass:this.tabClass],onClick:"click"===b?this.activateTab:void 0,onMouseenter:"hover"===b?this.activateTab:void 0,style:e?this.addStyle:this.style},this.internalCreatedByPane?this.tabProps||{}:this.$attrs)),i("span",{class:`${t}-tabs-tab__label`},e?i(x,null,i("div",{class:`${t}-tabs-tab__height-placeholder`}," "),i(G,{clsPrefix:t},{default:()=>i(be,null)})):c?c():"object"==typeof p?p:ie(null!=p?p:n)),d&&"card"===this.type?i(j,{clsPrefix:t,class:`${t}-tabs-tab__close`,onClick:this.handleClose,disabled:r}):null))}}),Ae=V("tabs","\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-direction: column;\n transition:\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n",[te("segment-type",[V("tabs-rail",[X("&.transition-disabled",[V("tabs-capsule","\n transition: none;\n ")])])]),te("top",[V("tab-pane","\n padding: var(--n-pane-padding-top) var(--n-pane-padding-right) var(--n-pane-padding-bottom) var(--n-pane-padding-left);\n ")]),te("left",[V("tab-pane","\n padding: var(--n-pane-padding-right) var(--n-pane-padding-bottom) var(--n-pane-padding-left) var(--n-pane-padding-top);\n ")]),te("left, right","\n flex-direction: row;\n ",[V("tabs-bar","\n width: 2px;\n right: 0;\n transition:\n top .2s var(--n-bezier),\n max-height .2s var(--n-bezier),\n background-color .3s var(--n-bezier);\n "),V("tabs-tab","\n padding: var(--n-tab-padding-vertical); \n ")]),te("right","\n flex-direction: row-reverse;\n ",[V("tab-pane","\n padding: var(--n-pane-padding-left) var(--n-pane-padding-top) var(--n-pane-padding-right) var(--n-pane-padding-bottom);\n "),V("tabs-bar","\n left: 0;\n ")]),te("bottom","\n flex-direction: column-reverse;\n justify-content: flex-end;\n ",[V("tab-pane","\n padding: var(--n-pane-padding-bottom) var(--n-pane-padding-right) var(--n-pane-padding-top) var(--n-pane-padding-left);\n "),V("tabs-bar","\n top: 0;\n ")]),V("tabs-rail","\n position: relative;\n padding: 3px;\n border-radius: var(--n-tab-border-radius);\n width: 100%;\n background-color: var(--n-color-segment);\n transition: background-color .3s var(--n-bezier);\n display: flex;\n align-items: center;\n ",[V("tabs-capsule","\n border-radius: var(--n-tab-border-radius);\n position: absolute;\n pointer-events: none;\n background-color: var(--n-tab-color-segment);\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08);\n transition: transform 0.3s var(--n-bezier);\n "),V("tabs-tab-wrapper","\n flex-basis: 0;\n flex-grow: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n ",[V("tabs-tab","\n overflow: hidden;\n border-radius: var(--n-tab-border-radius);\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n ",[te("active","\n font-weight: var(--n-font-weight-strong);\n color: var(--n-tab-text-color-active);\n "),X("&:hover","\n color: var(--n-tab-text-color-hover);\n ")])])]),te("flex",[V("tabs-nav","\n width: 100%;\n position: relative;\n ",[V("tabs-wrapper","\n width: 100%;\n ",[V("tabs-tab","\n margin-right: 0;\n ")])])]),V("tabs-nav","\n box-sizing: border-box;\n line-height: 1.5;\n display: flex;\n transition: border-color .3s var(--n-bezier);\n ",[K("prefix, suffix","\n display: flex;\n align-items: center;\n "),K("prefix","padding-right: 16px;"),K("suffix","padding-left: 16px;")]),te("top, bottom",[X(">",[V("tabs-nav",[V("tabs-nav-scroll-wrapper",[X("&::before","\n top: 0;\n bottom: 0;\n left: 0;\n width: 20px;\n "),X("&::after","\n top: 0;\n bottom: 0;\n right: 0;\n width: 20px;\n "),te("shadow-start",[X("&::before","\n box-shadow: inset 10px 0 8px -8px rgba(0, 0, 0, .12);\n ")]),te("shadow-end",[X("&::after","\n box-shadow: inset -10px 0 8px -8px rgba(0, 0, 0, .12);\n ")])])])])]),te("left, right",[V("tabs-nav-scroll-content","\n flex-direction: column;\n "),X(">",[V("tabs-nav",[V("tabs-nav-scroll-wrapper",[X("&::before","\n top: 0;\n left: 0;\n right: 0;\n height: 20px;\n "),X("&::after","\n bottom: 0;\n left: 0;\n right: 0;\n height: 20px;\n "),te("shadow-start",[X("&::before","\n box-shadow: inset 0 10px 8px -8px rgba(0, 0, 0, .12);\n ")]),te("shadow-end",[X("&::after","\n box-shadow: inset 0 -10px 8px -8px rgba(0, 0, 0, .12);\n ")])])])])]),V("tabs-nav-scroll-wrapper","\n flex: 1;\n position: relative;\n overflow: hidden;\n ",[V("tabs-nav-y-scroll","\n height: 100%;\n width: 100%;\n overflow-y: auto; \n scrollbar-width: none;\n ",[X("&::-webkit-scrollbar, &::-webkit-scrollbar-track-piece, &::-webkit-scrollbar-thumb","\n width: 0;\n height: 0;\n display: none;\n ")]),X("&::before, &::after",'\n transition: box-shadow .3s var(--n-bezier);\n pointer-events: none;\n content: "";\n position: absolute;\n z-index: 1;\n ')]),V("tabs-nav-scroll-content","\n display: flex;\n position: relative;\n min-width: 100%;\n min-height: 100%;\n width: fit-content;\n box-sizing: border-box;\n "),V("tabs-wrapper","\n display: inline-flex;\n flex-wrap: nowrap;\n position: relative;\n "),V("tabs-tab-wrapper","\n display: flex;\n flex-wrap: nowrap;\n flex-shrink: 0;\n flex-grow: 0;\n "),V("tabs-tab","\n cursor: pointer;\n white-space: nowrap;\n flex-wrap: nowrap;\n display: inline-flex;\n align-items: center;\n color: var(--n-tab-text-color);\n font-size: var(--n-tab-font-size);\n background-clip: padding-box;\n padding: var(--n-tab-padding);\n transition:\n box-shadow .3s var(--n-bezier),\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n ",[te("disabled",{cursor:"not-allowed"}),K("close","\n margin-left: 6px;\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n "),K("label","\n display: flex;\n align-items: center;\n z-index: 1;\n ")]),V("tabs-bar","\n position: absolute;\n bottom: 0;\n height: 2px;\n border-radius: 1px;\n background-color: var(--n-bar-color);\n transition:\n left .2s var(--n-bezier),\n max-width .2s var(--n-bezier),\n opacity .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n ",[X("&.transition-disabled","\n transition: none;\n "),te("disabled","\n background-color: var(--n-tab-text-color-disabled)\n ")]),V("tabs-pane-wrapper","\n position: relative;\n overflow: hidden;\n transition: max-height .2s var(--n-bezier);\n "),V("tab-pane","\n color: var(--n-pane-text-color);\n width: 100%;\n transition:\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n opacity .2s var(--n-bezier);\n left: 0;\n right: 0;\n top: 0;\n ",[X("&.next-transition-leave-active, &.prev-transition-leave-active, &.next-transition-enter-active, &.prev-transition-enter-active","\n transition:\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n transform .2s var(--n-bezier),\n opacity .2s var(--n-bezier);\n "),X("&.next-transition-leave-active, &.prev-transition-leave-active","\n position: absolute;\n "),X("&.next-transition-enter-from, &.prev-transition-leave-to","\n transform: translateX(32px);\n opacity: 0;\n "),X("&.next-transition-leave-to, &.prev-transition-enter-from","\n transform: translateX(-32px);\n opacity: 0;\n "),X("&.next-transition-leave-from, &.next-transition-enter-to, &.prev-transition-leave-from, &.prev-transition-enter-to","\n transform: translateX(0);\n opacity: 1;\n ")]),V("tabs-tab-pad","\n box-sizing: border-box;\n width: var(--n-tab-gap);\n flex-grow: 0;\n flex-shrink: 0;\n "),te("line-type, bar-type",[V("tabs-tab","\n font-weight: var(--n-tab-font-weight);\n box-sizing: border-box;\n vertical-align: bottom;\n ",[X("&:hover",{color:"var(--n-tab-text-color-hover)"}),te("active","\n color: var(--n-tab-text-color-active);\n font-weight: var(--n-tab-font-weight-active);\n "),te("disabled",{color:"var(--n-tab-text-color-disabled)"})])]),V("tabs-nav",[te("line-type",[te("top",[K("prefix, suffix","\n border-bottom: 1px solid var(--n-tab-border-color);\n "),V("tabs-nav-scroll-content","\n border-bottom: 1px solid var(--n-tab-border-color);\n "),V("tabs-bar","\n bottom: -1px;\n ")]),te("left",[K("prefix, suffix","\n border-right: 1px solid var(--n-tab-border-color);\n "),V("tabs-nav-scroll-content","\n border-right: 1px solid var(--n-tab-border-color);\n "),V("tabs-bar","\n right: -1px;\n ")]),te("right",[K("prefix, suffix","\n border-left: 1px solid var(--n-tab-border-color);\n "),V("tabs-nav-scroll-content","\n border-left: 1px solid var(--n-tab-border-color);\n "),V("tabs-bar","\n left: -1px;\n ")]),te("bottom",[K("prefix, suffix","\n border-top: 1px solid var(--n-tab-border-color);\n "),V("tabs-nav-scroll-content","\n border-top: 1px solid var(--n-tab-border-color);\n "),V("tabs-bar","\n top: -1px;\n ")]),K("prefix, suffix","\n transition: border-color .3s var(--n-bezier);\n "),V("tabs-nav-scroll-content","\n transition: border-color .3s var(--n-bezier);\n "),V("tabs-bar","\n border-radius: 0;\n ")]),te("card-type",[K("prefix, suffix","\n transition: border-color .3s var(--n-bezier);\n "),V("tabs-pad","\n flex-grow: 1;\n transition: border-color .3s var(--n-bezier);\n "),V("tabs-tab-pad","\n transition: border-color .3s var(--n-bezier);\n "),V("tabs-tab","\n font-weight: var(--n-tab-font-weight);\n border: 1px solid var(--n-tab-border-color);\n background-color: var(--n-tab-color);\n box-sizing: border-box;\n position: relative;\n vertical-align: bottom;\n display: flex;\n justify-content: space-between;\n font-size: var(--n-tab-font-size);\n color: var(--n-tab-text-color);\n ",[te("addable","\n padding-left: 8px;\n padding-right: 8px;\n font-size: 16px;\n justify-content: center;\n ",[K("height-placeholder","\n width: 0;\n font-size: var(--n-tab-font-size);\n "),D("disabled",[X("&:hover","\n color: var(--n-tab-text-color-hover);\n ")])]),te("closable","padding-right: 8px;"),te("active","\n background-color: #0000;\n font-weight: var(--n-tab-font-weight-active);\n color: var(--n-tab-text-color-active);\n "),te("disabled","color: var(--n-tab-text-color-disabled);")])]),te("left, right","\n flex-direction: column; \n ",[K("prefix, suffix","\n padding: var(--n-tab-padding-vertical);\n "),V("tabs-wrapper","\n flex-direction: column;\n "),V("tabs-tab-wrapper","\n flex-direction: column;\n ",[V("tabs-tab-pad","\n height: var(--n-tab-gap-vertical);\n width: 100%;\n ")])]),te("top",[te("card-type",[V("tabs-scroll-padding","border-bottom: 1px solid var(--n-tab-border-color);"),K("prefix, suffix","\n border-bottom: 1px solid var(--n-tab-border-color);\n "),V("tabs-tab","\n border-top-left-radius: var(--n-tab-border-radius);\n border-top-right-radius: var(--n-tab-border-radius);\n ",[te("active","\n border-bottom: 1px solid #0000;\n ")]),V("tabs-tab-pad","\n border-bottom: 1px solid var(--n-tab-border-color);\n "),V("tabs-pad","\n border-bottom: 1px solid var(--n-tab-border-color);\n ")])]),te("left",[te("card-type",[V("tabs-scroll-padding","border-right: 1px solid var(--n-tab-border-color);"),K("prefix, suffix","\n border-right: 1px solid var(--n-tab-border-color);\n "),V("tabs-tab","\n border-top-left-radius: var(--n-tab-border-radius);\n border-bottom-left-radius: var(--n-tab-border-radius);\n ",[te("active","\n border-right: 1px solid #0000;\n ")]),V("tabs-tab-pad","\n border-right: 1px solid var(--n-tab-border-color);\n "),V("tabs-pad","\n border-right: 1px solid var(--n-tab-border-color);\n ")])]),te("right",[te("card-type",[V("tabs-scroll-padding","border-left: 1px solid var(--n-tab-border-color);"),K("prefix, suffix","\n border-left: 1px solid var(--n-tab-border-color);\n "),V("tabs-tab","\n border-top-right-radius: var(--n-tab-border-radius);\n border-bottom-right-radius: var(--n-tab-border-radius);\n ",[te("active","\n border-left: 1px solid #0000;\n ")]),V("tabs-tab-pad","\n border-left: 1px solid var(--n-tab-border-color);\n "),V("tabs-pad","\n border-left: 1px solid var(--n-tab-border-color);\n ")])]),te("bottom",[te("card-type",[V("tabs-scroll-padding","border-top: 1px solid var(--n-tab-border-color);"),K("prefix, suffix","\n border-top: 1px solid var(--n-tab-border-color);\n "),V("tabs-tab","\n border-bottom-left-radius: var(--n-tab-border-radius);\n border-bottom-right-radius: var(--n-tab-border-radius);\n ",[te("active","\n border-top: 1px solid #0000;\n ")]),V("tabs-tab-pad","\n border-top: 1px solid var(--n-tab-border-color);\n "),V("tabs-pad","\n border-top: 1px solid var(--n-tab-border-color);\n ")])])])]),ke=function(e,t,n){var a=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return q(n)&&(a="leading"in n?!!n.leading:a,r="trailing"in n?!!n.trailing:r),Pe(e,t,{leading:a,maxWait:t,trailing:r})},Be=e({name:"Tabs",props:Object.assign(Object.assign({},k.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:"click"},type:{type:String,default:"bar"},closable:Boolean,justifyContent:String,size:{type:String,default:"medium"},placement:{type:String,default:"top"},tabStyle:[String,Object],tabClass:String,addTabStyle:[String,Object],addTabClass:String,barWidth:Number,paneClass:String,paneStyle:[String,Object],paneWrapperClass:String,paneWrapperStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),slots:Object,setup(e,{slots:t}){var n,a,i,s;const{mergedClsPrefixRef:l,inlineThemeDisabled:c}=M(e),f=k("Tabs","-tabs",Ae,se,e,l),g=w(null),h=w(null),x=w(null),m=w(null),y=w(null),$=w(null),C=w(!0),z=w(!0),R=O(e,["labelSize","size"]),S=O(e,["activeName","value"]),T=w(null!==(a=null!==(n=S.value)&&void 0!==n?n:e.defaultValue)&&void 0!==a?a:t.default?null===(s=null===(i=ne(t.default())[0])||void 0===i?void 0:i.props)||void 0===s?void 0:s.name:null),P=E(S,T),W={id:0},_=u(()=>{if(e.justifyContent&&"card"!==e.type)return{display:"flex",justifyContent:e.justifyContent}});function j(){var e;const{value:t}=P;return null===t?null:null===(e=g.value)||void 0===e?void 0:e.querySelector(`[data-name="${t}"]`)}function L(e){const{value:t}=h;if(t)for(const n of e)t.style[n]=""}function A(){if("card"===e.type)return;const t=j();t?function(t){if("card"===e.type)return;const{value:n}=h;if(!n)return;const a="0"===n.style.opacity;if(t){const r=`${l.value}-tabs-bar--disabled`,{barWidth:o,placement:i}=e;if("true"===t.dataset.disabled?n.classList.add(r):n.classList.remove(r),["top","bottom"].includes(i)){if(L(["top","maxHeight","height"]),"number"==typeof o&&t.offsetWidth>=o){const e=Math.floor((t.offsetWidth-o)/2)+t.offsetLeft;n.style.left=`${e}px`,n.style.maxWidth=`${o}px`}else n.style.left=`${t.offsetLeft}px`,n.style.maxWidth=`${t.offsetWidth}px`;n.style.width="8192px",a&&(n.style.transition="none"),n.offsetWidth,a&&(n.style.transition="",n.style.opacity="1")}else{if(L(["left","maxWidth","width"]),"number"==typeof o&&t.offsetHeight>=o){const e=Math.floor((t.offsetHeight-o)/2)+t.offsetTop;n.style.top=`${e}px`,n.style.maxHeight=`${o}px`}else n.style.top=`${t.offsetTop}px`,n.style.maxHeight=`${t.offsetHeight}px`;n.style.height="8192px",a&&(n.style.transition="none"),n.offsetHeight,a&&(n.style.transition="",n.style.opacity="1")}}}(t):function(){if("card"===e.type)return;const{value:t}=h;t&&(t.style.opacity="0")}()}function B(){var e;const t=null===(e=y.value)||void 0===e?void 0:e.$el;if(!t)return;const n=j();if(!n)return;const{scrollLeft:a,offsetWidth:r}=t,{offsetLeft:o,offsetWidth:i}=n;a>o?t.scrollTo({top:0,left:o,behavior:"smooth"}):o+i>a+r&&t.scrollTo({top:0,left:o+i-r,behavior:"smooth"})}p(P,()=>{W.id=0,A(),B()});const H=w(null);let D=0,I=null;const V={value:[]},X=w("next");let Y=!0;function q(){const{value:e}=h;if(!e)return;Y||(Y=!1);const t="transition-disabled";e.classList.add(t),A(),e.classList.remove(t)}const G=w(null);function Z({transitionDisabled:e}){const t=g.value;if(!t)return;e&&t.classList.add("transition-disabled");const n=j();n&&G.value&&(G.value.style.width=`${n.offsetWidth}px`,G.value.style.height=`${n.offsetHeight}px`,G.value.style.transform=`translateX(${n.offsetLeft-Q(getComputedStyle(t).paddingLeft)}px)`,e&&G.value.offsetWidth),e&&t.classList.remove("transition-disabled")}p([P],()=>{"segment"===e.type&&o(()=>{Z({transitionDisabled:!1})})}),b(()=>{"segment"===e.type&&Z({transitionDisabled:!0})});let J=0;const K=ke(function(t){var n,a;if(0===t.contentRect.width&&0===t.contentRect.height)return;if(J===t.contentRect.width)return;J=t.contentRect.width;const{type:r}=e;if("line"!==r&&"bar"!==r||(Y||(null===(n=e.justifyContent)||void 0===n?void 0:n.startsWith("space")))&&q(),"segment"!==r){const{placement:t}=e;oe(("top"===t||"bottom"===t?null===(a=y.value)||void 0===a?void 0:a.$el:$.value)||null)}},64);p([()=>e.justifyContent,()=>e.size],()=>{o(()=>{const{type:t}=e;"line"!==t&&"bar"!==t||q()})});const te=w(!1);const ae=ke(function(t){var n;const{target:a,contentRect:{width:r,height:o}}=t,i=a.parentElement.parentElement.offsetWidth,s=a.parentElement.parentElement.offsetHeight,{placement:l}=e;if(te.value){const{value:e}=m;if(!e)return;"top"===l||"bottom"===l?i-r>e.$el.offsetWidth&&(te.value=!1):s-o>e.$el.offsetHeight&&(te.value=!1)}else"top"===l||"bottom"===l?i<r&&(te.value=!0):s<o&&(te.value=!0);oe((null===(n=y.value)||void 0===n?void 0:n.$el)||null)},64);function oe(t){if(!t)return;const{placement:n}=e;if("top"===n||"bottom"===n){const{scrollLeft:e,scrollWidth:n,offsetWidth:a}=t;C.value=e<=0,z.value=e+a>=n}else{const{scrollTop:e,scrollHeight:n,offsetHeight:a}=t;C.value=e<=0,z.value=e+a>=n}}const ie=ke(e=>{oe(e.target)},64);r(We,{triggerRef:v(e,"trigger"),tabStyleRef:v(e,"tabStyle"),tabClassRef:v(e,"tabClass"),addTabStyleRef:v(e,"addTabStyle"),addTabClassRef:v(e,"addTabClass"),paneClassRef:v(e,"paneClass"),paneStyleRef:v(e,"paneStyle"),mergedClsPrefixRef:l,typeRef:v(e,"type"),closableRef:v(e,"closable"),valueRef:P,tabChangeIdRef:W,onBeforeLeaveRef:v(e,"onBeforeLeave"),activateTab:function(t){const n=P.value;let a="next";for(const e of V.value){if(e===n)break;if(e===t){a="prev";break}}X.value=a,function(t){const{onActiveNameChange:n,onUpdateValue:a,"onUpdate:value":r}=e;n&&N(n,t);a&&N(a,t);r&&N(r,t);T.value=t}(t)},handleClose:function(t){const{onClose:n}=e;n&&N(n,t)},handleAdd:function(){const{onAdd:t}=e;t&&t(),o(()=>{const e=j(),{value:t}=y;e&&t&&t.scrollTo({left:e.offsetLeft,top:0,behavior:"smooth"})})}}),re(()=>{A(),B()}),d(()=>{const{value:e}=x;if(!e)return;const{value:t}=l,n=`${t}-tabs-nav-scroll-wrapper--shadow-start`,a=`${t}-tabs-nav-scroll-wrapper--shadow-end`;C.value?e.classList.remove(n):e.classList.add(n),z.value?e.classList.remove(a):e.classList.add(a)});const le={syncBarPosition:()=>{A()}},de=u(()=>{const{value:t}=R,{type:n}=e,a=`${t}${{card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[n]}`,{self:{barColor:r,closeIconColor:o,closeIconColorHover:i,closeIconColorPressed:s,tabColor:l,tabBorderColor:d,paneTextColor:b,tabFontWeight:c,tabBorderRadius:p,tabFontWeightActive:u,colorSegment:v,fontWeightStrong:g,tabColorSegment:h,closeSize:x,closeIconSize:m,closeColorHover:y,closeColorPressed:w,closeBorderRadius:$,[ee("panePadding",t)]:C,[ee("tabPadding",a)]:z,[ee("tabPaddingVertical",a)]:S,[ee("tabGap",a)]:T,[ee("tabGap",`${a}Vertical`)]:P,[ee("tabTextColor",n)]:W,[ee("tabTextColorActive",n)]:_,[ee("tabTextColorHover",n)]:j,[ee("tabTextColorDisabled",n)]:L,[ee("tabFontSize",t)]:A},common:{cubicBezierEaseInOut:k}}=f.value;return{"--n-bezier":k,"--n-color-segment":v,"--n-bar-color":r,"--n-tab-font-size":A,"--n-tab-text-color":W,"--n-tab-text-color-active":_,"--n-tab-text-color-disabled":L,"--n-tab-text-color-hover":j,"--n-pane-text-color":b,"--n-tab-border-color":d,"--n-tab-border-radius":p,"--n-close-size":x,"--n-close-icon-size":m,"--n-close-color-hover":y,"--n-close-color-pressed":w,"--n-close-border-radius":$,"--n-close-icon-color":o,"--n-close-icon-color-hover":i,"--n-close-icon-color-pressed":s,"--n-tab-color":l,"--n-tab-font-weight":c,"--n-tab-font-weight-active":u,"--n-tab-padding":z,"--n-tab-padding-vertical":S,"--n-tab-gap":T,"--n-tab-gap-vertical":P,"--n-pane-padding-left":F(C,"left"),"--n-pane-padding-right":F(C,"right"),"--n-pane-padding-top":F(C,"top"),"--n-pane-padding-bottom":F(C,"bottom"),"--n-font-weight-strong":g,"--n-tab-color-segment":h}}),be=c?U("tabs",u(()=>`${R.value[0]}${e.type[0]}`),de,e):void 0;return Object.assign({mergedClsPrefix:l,mergedValue:P,renderedNames:new Set,segmentCapsuleElRef:G,tabsPaneWrapperRef:H,tabsElRef:g,barElRef:h,addTabInstRef:m,xScrollInstRef:y,scrollWrapperElRef:x,addTabFixed:te,tabWrapperStyle:_,handleNavResize:K,mergedSize:R,handleScroll:ie,handleTabsResize:ae,cssVars:c?void 0:de,themeClass:null==be?void 0:be.themeClass,animationDirection:X,renderNameListRef:V,yScrollElRef:$,handleSegmentResize:()=>{Z({transitionDisabled:!0})},onAnimationBeforeLeave:function(e){const t=H.value;if(t){D=e.getBoundingClientRect().height;const n=`${D}px`,a=()=>{t.style.height=n,t.style.maxHeight=n};I?(a(),I(),I=null):I=a}},onAnimationEnter:function(e){const t=H.value;if(t){const n=e.getBoundingClientRect().height,a=()=>{document.body.offsetHeight,t.style.maxHeight=`${n}px`,t.style.height=`${Math.max(D,n)}px`};I?(I(),I=null,a()):I=a}},onAnimationAfterEnter:function(){const t=H.value;if(t){t.style.maxHeight="",t.style.height="";const{paneWrapperStyle:n}=e;if("string"==typeof n)t.style.cssText=n;else if(n){const{maxHeight:e,height:a}=n;void 0!==e&&(t.style.maxHeight=e),void 0!==a&&(t.style.height=a)}}},onRender:null==be?void 0:be.onRender},le)},render(){const{mergedClsPrefix:e,type:t,placement:n,addTabFixed:a,addable:r,mergedSize:o,renderNameListRef:s,onRender:l,paneWrapperClass:d,paneWrapperStyle:b,$slots:{default:c,prefix:p,suffix:f}}=this;null==l||l();const u=c?ne(c()).filter(e=>!0===e.type.__TAB_PANE__):[],v=c?ne(c()).filter(e=>!0===e.type.__TAB__):[],g=!v.length,h="card"===t,x="segment"===t,m=!h&&!x&&this.justifyContent;s.value=[];const y=()=>{const t=i("div",{style:this.tabWrapperStyle,class:`${e}-tabs-wrapper`},m?null:i("div",{class:`${e}-tabs-scroll-padding`,style:"top"===n||"bottom"===n?{width:`${this.tabsPadding}px`}:{height:`${this.tabsPadding}px`}}),g?u.map((e,t)=>(s.value.push(e.props.name),He(i(Le,Object.assign({},e.props,{internalCreatedByPane:!0,internalLeftPadded:0!==t&&(!m||"center"===m||"start"===m||"end"===m)}),e.children?{default:e.children.tab}:void 0)))):v.map((e,t)=>(s.value.push(e.props.name),He(0===t||m?e:Oe(e)))),!a&&r&&h?Ne(r,0!==(g?u.length:v.length)):null,m?null:i("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return i("div",{ref:"tabsElRef",class:`${e}-tabs-nav-scroll-content`},h&&r?i(B,{onResize:this.handleTabsResize},{default:()=>t}):t,h?i("div",{class:`${e}-tabs-pad`}):null,h?null:i("div",{ref:"barElRef",class:`${e}-tabs-bar`}))},w=x?"top":n;return i("div",{class:[`${e}-tabs`,this.themeClass,`${e}-tabs--${t}-type`,`${e}-tabs--${o}-size`,m&&`${e}-tabs--flex`,`${e}-tabs--${w}`],style:this.cssVars},i("div",{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${w}`,`${e}-tabs-nav`]},_(p,t=>t&&i("div",{class:`${e}-tabs-nav__prefix`},t)),x?i(B,{onResize:this.handleSegmentResize},{default:()=>i("div",{class:`${e}-tabs-rail`,ref:"tabsElRef"},i("div",{class:`${e}-tabs-capsule`,ref:"segmentCapsuleElRef"},i("div",{class:`${e}-tabs-wrapper`},i("div",{class:`${e}-tabs-tab`}))),g?u.map((e,t)=>(s.value.push(e.props.name),i(Le,Object.assign({},e.props,{internalCreatedByPane:!0,internalLeftPadded:0!==t}),e.children?{default:e.children.tab}:void 0))):v.map((e,t)=>(s.value.push(e.props.name),0===t?e:Oe(e))))}):i(B,{onResize:this.handleNavResize},{default:()=>i("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes(w)?i(ge,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:y}):i("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},y()))}),a&&r&&h?Ne(r,!0):null,_(f,t=>t&&i("div",{class:`${e}-tabs-nav__suffix`},t))),g&&(!this.animated||"top"!==w&&"bottom"!==w?Ee(u,this.mergedValue,this.renderedNames):i("div",{ref:"tabsPaneWrapperRef",style:b,class:[`${e}-tabs-pane-wrapper`,d]},Ee(u,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection))))}});function Ee(e,t,n,a,r,o,s){const l=[];return e.forEach(e=>{const{name:a,displayDirective:r,"display-directive":o}=e.props,i=e=>r===e||o===e,s=t===a;if(void 0!==e.key&&(e.key=a),s||i("show")||i("show:lazy")&&n.has(a)){n.has(a)||n.add(a);const t=!i("if");l.push(t?$(e,[[h,s]]):e)}}),s?i(C,{name:`${s}-transition`,onBeforeLeave:a,onEnter:r,onAfterEnter:o},{default:()=>l}):l}function Ne(e,t){return i(Le,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:"object"==typeof e&&e.disabled})}function Oe(e){const t=S(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function He(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes("internalLeftPadded")||e.dynamicProps.push("internalLeftPadded"):e.dynamicProps=["internalLeftPadded"],e}function De(e,t={}){const n=t.platform||"",a=t.projectPath||"",r=fe(`config-registry:${e}`,n,t.scope||"",a);return le(r,t=>T.get(`/config-registry/${e}`,{signal:t}).then(e=>e.data),`config-registry:${e}`,`config-registry:${e}:${n}`)}async function Fe(e){return(await T.post(`/config-registry/${e}/import`)).data}async function Ie(e,t,n){const a=encodeURIComponent(t);return(await T.put(`/config-registry/${e}/${a}/toggle`,{enabled:n})).data}async function Ve(e,t,n,a){const r=encodeURIComponent(t);return(await T.put(`/config-registry/${e}/${r}/platform/${n}`,{enabled:a})).data}async function Me(e){return(await T.post(`/config-registry/${e}/sync`)).data}var Xe={key:0,class:"asset-detail-info-section"},Ue={class:"asset-detail-section-title"},Ye={class:"asset-detail-box asset-detail-path-box"},qe={class:"asset-detail-path-text"},Ge={__name:"AssetPathField",props:{path:{type:String,default:""},title:{type:String,default:"路径"}},setup(e){const a=e,r=u(()=>String(a.path||"").trim());async function o(){if(r.value)try{if("manual"===(await ue(r.value))?.method)return void ce.warning("自动复制失败,已弹出手动复制框");ce.success("已复制路径")}catch{ce.error("复制路径失败")}}return(a,i)=>r.value?(c(),z("div",Xe,[R("h3",Ue,f(e.title),1),R("div",Ye,[l(y(Y),{size:16,class:"asset-detail-path-icon"},{default:g(()=>[l(y(P))]),_:1}),R("code",qe,f(r.value),1),l(y(de),{trigger:"hover"},{trigger:g(()=>[l(y(Z),{circle:"",quaternary:"",size:"tiny",class:"asset-detail-path-copy","aria-label":"复制路径",onClick:m(o,["stop"])},{icon:g(()=>[l(y(Y),null,{default:g(()=>[l(y(W))]),_:1})]),_:1})]),default:g(()=>[i[0]||(i[0]=n(" 复制路径 ",-1))]),_:1})])])):t("",!0)}};export{Ie as a,je as c,Me as i,Fe as n,Ve as o,De as r,Be as s,Ge as t};
@@ -0,0 +1 @@
1
+ import{C as e,D as s,I as a,K as t,O as n,S as l,W as r,Z as o,_t as u,b as i,et as c,g,ht as m,mt as v,st as p,w as d,x as f,z as h}from"./vue-vendor-Cr_NLmXY.js";import{n as y,t as b}from"./useResponsiveDrawer-Deh7Xdcj.js";import{i as k,s as I,t as M}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{M as w,ft as N,ut as x}from"./index-BXWpib7P.js";import{St as j,W as S,gt as _,it as z,k as C,kt as H,mt as A,z as L}from"./icons-C6KNTFqo.js";import{t as T}from"./markdown-xLK9ekFg.js";import{a as $,c as O,i as B,n as q,o as D,r as F,s as P,t as R}from"./xml-B78loRzO.js";import{t as W}from"./clipboard-B46yyoz_.js";import{c as E,l as J,s as K}from"./sessions-B4RD8wDx.js";var U=["id"],Z={class:"message-header"},G={key:0,class:"message-model"},Q={class:"message-time"},V={class:"message-time"},X={key:0,class:"user-content"},Y={key:0},ee={key:1,class:"image-item"},se=["src"],ae=["innerHTML"],te=500,ne=M({__name:"ChatMessage",props:{message:{type:Object,required:!0},messageAnchorId:{type:String,default:""}},setup(a){O.registerLanguage("javascript",P),O.registerLanguage("python",F),O.registerLanguage("bash",B),O.registerLanguage("json",$),O.registerLanguage("typescript",D),O.registerLanguage("css",q),O.registerLanguage("xml",R),O.registerLanguage("html",R);const l=a,o=p(!1),c=i(()=>{const e=l.message.content;return"string"==typeof e&&e.length>te}),h=i(()=>{const e=l.message.content;return"string"==typeof e&&e.length>te?e.substring(0,te)+"...":e});T.setOptions({highlight:(e,s)=>{if(s&&O.getLanguage(s))try{return O.highlight(e,{language:s}).value}catch(a){}return O.highlightAuto(e).value},breaks:!0,gfm:!0});const y=i(()=>{if("assistant"===l.message.type&&l.message.content)try{return T.parse(l.message.content)}catch(e){return l.message.content}return""}),b=i(()=>{if("assistant"===l.message.type&&l.message.content)try{const e=l.message.content,s=e.length>te?e.substring(0,te)+"...":e;return T.parse(s)}catch(e){return l.message.content.substring(0,te)+"..."}return""});function I(e){return e?new Date(e).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):""}async function M(){const e="string"==typeof l.message.content?l.message.content:JSON.stringify(l.message.content);try{await W(e,{manualFallback:!1})}catch{}}function w(e){return e?"base64"===e.source?.type&&e.source?.data?`data:${e.source.media_type||"image/png"};base64,${e.source.data}`:"url"===e.source?.type&&e.source?.url?e.source.url:e.url?e.url:null:null}return(l,i)=>(r(),d("div",{id:a.messageAnchorId||void 0,class:m(["chat-message",[`message-${a.message.type}`]])},[f("div",Z,["assistant"===a.message.type?(r(),d(g,{key:0},[n(v(k),{size:16,component:v(j),class:"role-icon"},null,8,["component"]),i[1]||(i[1]=f("span",{class:"message-role"},"AI",-1)),a.message.model?(r(),d("span",G,u(a.message.model),1)):e("",!0),f("span",Q,u(a.message.timestamp?I(a.message.timestamp):""),1),i[2]||(i[2]=f("span",{class:"spacer"},null,-1)),f("span",{class:"copy-btn",onClick:M,title:"复制"},[n(v(k),{size:14,component:v(z)},null,8,["component"])])],64)):(r(),d(g,{key:1},[f("span",{class:"copy-btn",onClick:M,title:"复制"},[n(v(k),{size:14,component:v(z)},null,8,["component"])]),i[3]||(i[3]=f("span",{class:"spacer"},null,-1)),f("span",V,u(a.message.timestamp?I(a.message.timestamp):""),1),i[4]||(i[4]=f("span",{class:"message-role"},"用户",-1)),n(v(k),{size:16,component:v(C),class:"role-icon"},null,8,["component"])],64))]),f("div",{class:m(["message-content",{collapsed:!o.value&&c.value}])},["user"===a.message.type?(r(),d("div",X,["string"==typeof a.message.content?(r(),d(g,{key:0},[s(u(o.value?a.message.content:h.value),1)],64)):Array.isArray(a.message.content)?(r(!0),d(g,{key:1},t(a.message.content,(s,a)=>(r(),d("div",{key:a,class:"content-item"},["text"===s.type?(r(),d("div",Y,u(s.text),1)):"image"===s.type?(r(),d("div",ee,[w(s)?(r(),d("img",{key:0,src:w(s),alt:"会话图片",loading:"lazy"},null,8,se)):(r(),d(g,{key:1},[n(v(k),{size:20,component:v(L)},null,8,["component"]),i[5]||(i[5]=f("span",null,"图片内容",-1))],64))])):e("",!0)]))),128)):e("",!0)])):"assistant"===a.message.type?(r(),d("div",{key:1,class:"assistant-content markdown-body",innerHTML:o.value?y.value:b.value},null,8,ae)):e("",!0)],2),c.value?(r(),d("div",{key:0,class:"expand-btn",onClick:i[0]||(i[0]=e=>o.value=!o.value)},u(o.value?"收起":"展开全部"),1)):e("",!0)],10,U))}},[["__scopeId","data-v-35aebdef"]]),le={class:"drawer-wrapper"},re={class:"header-row"},oe={class:"session-name"},ue={key:0,class:"session-summary"},ie={class:"drawer-body"},ce={key:0,class:"loading-container"},ge={key:1,class:"empty-container"},me={key:2,class:"history-layout"},ve={class:"mobile-toc-toggle"},pe={class:"toc-header"},de={key:0,class:"toc-header-hint"},fe={key:0,class:"toc-empty"},he={key:1,class:"toc-empty"},ye={key:2,class:"toc-list"},be=["onClick"],ke={class:"toc-order"},Ie={class:"toc-preview"},Me={class:"toc-time"},we={class:"messages-pane"},Ne={key:0,class:"load-more-top"},xe={class:"messages-list"},je=20,Se=M({__name:"ChatHistoryDrawer",props:{show:{type:Boolean,default:!1},projectName:{type:String,required:!0},sessionId:{type:String,required:!0},sessionAlias:{type:String,default:""},channel:{type:String,default:"claude"}},emits:["update:show","error"],setup(M,{expose:z,emit:C}){const L=M,T=C,{drawerWidth:$}=b(960,840),O=i({get:()=>L.show,set:e=>T("update:show",e)}),B=p(!1),q=p(!1),D=p([]),F=p([]),P=p({}),R=p(1),W=p(0),U=p(!1),Z=p(null),G=p(null),Q=p(!1),V=p(null),X=p(!1),Y=p(null);let ee=0,se=null,ae="";const te=i(()=>Ke(L.sessionId).slice(0,16)||"session"),Se=i(()=>{const e=new Map;return D.value.map((s,a)=>{const t=function(e,s){const a=Je(e);if(a)return`msg-${te.value}-${Ke(a)}`;const t=e?.timestamp?String(e.timestamp):"",n=e?.type?String(e.type):"unknown",l=function(e){let s=0;for(let a=0;a<e.length;a+=1)s=(s<<5)-s+e.charCodeAt(a),s|=0;return Math.abs(s).toString(36)}(`${n}|${t}|${function(e){const s=e?.content;if("string"==typeof s)return s.slice(0,240);if(Array.isArray(s))try{return JSON.stringify(s).slice(0,240)}catch{return String(s)}return null==s?"":String(s).slice(0,240)}(e)}`),r=t?Ke(t):`idx${s}`;return`msg-${te.value}-${n}-${r}-${l}`}(s,a),n=e.get(t)||0;return e.set(t,n+1),0===n?t:`${t}-${n+1}`})}),_e=i(()=>{const e=new Map;return D.value.forEach((s,a)=>{!s.anchorOnly&&"user"===s.type&&s.userMessageNumber&&e.set(s.userMessageNumber,Se.value[a])}),e}),ze=i(()=>D.value.map((e,s)=>({message:e,index:s})).filter(({message:e})=>!e.anchorOnly)),Ce=i(()=>F.value);function He(e={}){return[e.lastModified||"",e.size||0].join(":")}async function Ae(){try{q.value=!0;const e=await E(L.projectName,L.sessionId,L.channel);F.value=Array.isArray(e?.items)?e.items:[]}catch(e){}finally{q.value=!1}}async function Le(){const e=await J(L.projectName,L.sessionId,L.channel);return ae=He(e),e}async function Te(e=1,s={}){if(B.value)return;const{skipFirstPageScroll:t=!1,limitOverride:n=je}=s;try{B.value=!0;const{messages:s,metadata:l,pagination:r}=await K(L.projectName,L.sessionId,e,n,"desc",L.channel);1===e?(D.value=s.reverse(),P.value=l):D.value=[...s.reverse(),...D.value],R.value=r.page,W.value=r.total,U.value=r.hasMore,1===e&&a(async()=>{Y.value?await Fe(Y.value,{allowLoadMore:!0}):t||Oe(!1),qe()})}catch(l){const e="加载聊天记录失败: "+(l.response?.data?.error||l.message);T("error",e)}finally{B.value=!1}}function $e(){if(!U.value||B.value)return;const e=Z.value,s=e?.scrollHeight||0;Te(R.value+1).then(()=>{a(()=>{if(e){const a=e.scrollHeight;e.scrollTop=a-s,qe()}})})}function Oe(e=!0){a(()=>{const s=Z.value;s&&(s.scrollTo({top:s.scrollHeight,behavior:e?"smooth":"auto"}),qe())})}function Be(e){const s=e.target;if(!s)return;const{scrollTop:a,scrollHeight:t,clientHeight:n}=s;Q.value=t-a-n>200,a<100&&U.value&&!B.value&&$e(),qe()}function qe(){ee||(ee=requestAnimationFrame(()=>{ee=0,function(){const e=Z.value;if(!e||0===Ce.value.length)return void(V.value=null);const s=Array.from(_e.value.keys()).sort((e,s)=>e-s);if(!s.length)return void(V.value=Ce.value[Ce.value.length-1]?.userMessageNumber||null);const a=Math.max(0,e.scrollHeight-e.clientHeight);if(a>0&&a-e.scrollTop<=6)return void(V.value=s[s.length-1]);const t=e.scrollTop,n=t+e.clientHeight,l=t+Ge();let r=null,o=null;for(const i of Ce.value){const s=Ue(_e.value.get(i.userMessageNumber));if(!s)continue;const a=Ze(s,e),u=a+s.offsetHeight;a<=l+1&&(o=i),!r&&u>t&&a<n&&(r=i)}const u=o?.userMessageNumber||r?.userMessageNumber||s[0]||Ce.value[0].userMessageNumber;u&&(V.value=u)}()}))}function De(e,s=!0){const a=Z.value;if(!a||!e)return!1;const t=Ue(e);if(!t)return!1;const n=Ze(t,a),l=Math.max(0,a.scrollHeight-a.clientHeight),r=Ve(n-Ge(),0,l);return a.scrollTo({top:r,behavior:s?"smooth":"auto"}),qe(),!0}async function Fe(e,s={}){if(!e)return!1;const{allowLoadMore:a=!1}=s;let t=0;for(;t<50;){t+=1;const s=Pe(e);if(s&&De(s,!0))return Number.isInteger(e.userMessageNumber)&&(V.value=e.userMessageNumber),Y.value=null,!0;if(!a||!U.value||B.value)break;const n=R.value;if(await Te(R.value+1),R.value===n)break}return Y.value=null,qe(),!1}function Pe(e){if(e.anchorId&&"string"==typeof e.anchorId)return e.anchorId;if(Number.isInteger(e.userMessageNumber))return _e.value.get(e.userMessageNumber)||"";if("number"==typeof e.messageIndex&&e.messageIndex>=0)return Se.value[e.messageIndex]||"";if(e.messageId){const s=String(e.messageId),a=D.value.findIndex(e=>Je(e)===s);if(a>=0)return Se.value[a]}return""}async function Re(){if(B.value)return;const e=Z.value,s=!e||e.scrollHeight-e.scrollTop-e.clientHeight<=40,t=e?.scrollTop||0,n=Math.max(R.value,1);try{B.value=!0;const e=[];for(let a=1;a<=n;a+=1)e.push(await K(L.projectName,L.sessionId,a,je,"desc",L.channel));const s=[];for(let a=e.length-1;a>=0;a-=1){const t=e[a],n=Array.isArray(t?.messages)?t.messages:[];s.push(...n.slice().reverse())}D.value=s,P.value=e[0]?.metadata||P.value,W.value=e[0]?.pagination?.total||s.length,R.value=n,U.value=n*je<W.value}finally{B.value=!1}await a(),e&&(s?Oe(!1):(e.scrollTop=Ve(t,0,Math.max(0,e.scrollHeight-e.clientHeight)),qe()))}function We(){se&&(clearInterval(se),se=null)}function Ee(){We(),se=setInterval(()=>{O.value&&async function(){try{const e=He(await J(L.projectName,L.sessionId,L.channel));if(!e)return;if(ae&&e!==ae)return ae=e,void(await Promise.all([Ae(),Re()]));ae=e}catch(e){}}()},3e3)}function Je(e){return e&&"object"==typeof e?String(e.messageId||e.id||e.uuid||e.turnId||""):""}function Ke(e){return String(e||"").toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,48)}function Ue(e){const s=Z.value;if(!s||!e)return null;const a=document.getElementById(e);return a&&s.contains(a)?a:null}function Ze(e,s){const a=s.getBoundingClientRect(),t=e.getBoundingClientRect();return s.scrollTop+(t.top-a.top)}function Ge(){return(G.value?.offsetHeight||0)+12}function Qe(e){if(!e)return"";const s=new Date(e);return Number.isNaN(s.getTime())?"":s.toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}function Ve(e,s,a){return Math.min(Math.max(e,s),a)}return o(Ce,()=>{Ce.value.length?(Ce.value.some(e=>e.userMessageNumber===V.value)||(V.value=Ce.value[0].userMessageNumber),qe()):V.value=null},{deep:!0}),o(O,e=>{e?a(()=>{qe()}):We()}),h(()=>{ee&&(cancelAnimationFrame(ee),ee=0),We()}),z({open:function(e){We(),Y.value=function(e){if(!e||"object"!=typeof e)return null;const s=e.jumpTo&&"object"==typeof e.jumpTo?e.jumpTo:e,a={anchorId:"string"==typeof s.anchorId?s.anchorId:"",messageId:s.messageId||s.id||"",messageIndex:Number.isInteger(s.messageIndex)?s.messageIndex:null,userMessageNumber:Number.isInteger(s.userMessageNumber)?s.userMessageNumber:null};return a.anchorId||a.messageId||null!==a.messageIndex||null!==a.userMessageNumber?a:null}(e),X.value=!1,D.value=[],F.value=[],P.value={},R.value=1,W.value=0,U.value=!1,Q.value=!1,V.value=null,ae="",Promise.all([Ae(),Te(1,{skipFirstPageScroll:Boolean(Y.value)}),Le()]).then(()=>{O.value&&Ee()}).catch(()=>{})}}),(a,o)=>(r(),l(v(y),{show:O.value,"onUpdate:show":o[2]||(o[2]=e=>O.value=e),width:v($),placement:"right","auto-focus":!1,"trap-focus":!1,"block-scroll":!1},{default:c(()=>[f("div",le,[f("div",{ref_key:"headerRef",ref:G,class:"drawer-header"},[f("div",re,[n(v(k),{size:18,component:v(j)},null,8,["component"]),f("span",oe,u(M.sessionAlias||M.sessionId.substring(0,8))+" ("+u(W.value)+")",1),P.value.gitBranch?(r(),l(v(x),{key:0,size:"small",type:"info"},{icon:c(()=>[n(v(k),{component:v(S)},null,8,["component"])]),default:c(()=>[s(" "+u(P.value.gitBranch),1)]),_:1})):e("",!0),o[3]||(o[3]=f("span",{class:"spacer"},null,-1)),n(v(k),{size:20,component:v(A),class:"close-btn",onClick:o[0]||(o[0]=e=>O.value=!1)},null,8,["component"])]),P.value.summary?(r(),d("div",ue,u(P.value.summary),1)):e("",!0)],512),f("div",ie,[B.value&&0===D.value.length?(r(),d("div",ce,[n(v(w),{size:"medium"},{description:c(()=>[...o[4]||(o[4]=[s("加载聊天记录...",-1)])]),_:1})])):B.value||0!==D.value.length?(r(),d("div",me,[f("div",ve,[n(v(I),{tertiary:"",size:"small",onClick:o[1]||(o[1]=e=>X.value=!X.value)},{default:c(()=>[s(u(X.value?"展开用户目录":"收起用户目录"),1)]),_:1})]),f("aside",{class:m(["toc-rail",{"mobile-collapsed":X.value}])},[f("div",pe,[o[5]||(o[5]=s(" 用户目录 ",-1)),q.value?(r(),d("span",de,"加载中...")):e("",!0)]),q.value&&0===Ce.value.length?(r(),d("div",fe,"目录加载中...")):0===Ce.value.length?(r(),d("div",he,"暂无用户消息")):(r(),d("div",ye,[(r(!0),d(g,null,t(Ce.value,e=>(r(),d("button",{key:e.userMessageNumber,type:"button",class:m(["toc-item",{active:V.value===e.userMessageNumber}]),onClick:s=>function(e){e?.userMessageNumber&&(V.value=e.userMessageNumber,Fe({userMessageNumber:e.userMessageNumber},{allowLoadMore:!0}))}(e)},[f("span",ke,"#"+u(e.userMessageNumber),1),f("span",Ie,u(e.preview),1),f("span",Me,u(Qe(e.timestamp)),1)],10,be))),128))]))],2),f("div",we,[f("div",{class:"messages-container",ref_key:"messagesContainer",ref:Z,onScroll:Be},[U.value?(r(),d("div",Ne,[n(v(I),{loading:B.value,onClick:$e,size:"small",secondary:""},{icon:c(()=>[n(v(k),{component:v(_)},null,8,["component"])]),default:c(()=>[o[6]||(o[6]=s(" 加载更早的消息 ",-1))]),_:1},8,["loading"])])):e("",!0),f("div",xe,[(r(!0),d(g,null,t(ze.value,({message:e,index:s})=>(r(),l(ne,{key:Se.value[s]||s,message:e,"message-anchor-id":Se.value[s]},null,8,["message","message-anchor-id"]))),128))])],544),Q.value?(r(),d("div",{key:0,class:"scroll-btn",onClick:Oe},[n(v(k),{size:18,component:v(H)},null,8,["component"])])):e("",!0)])])):(r(),d("div",ge,[n(v(N),{description:"暂无聊天记录"})]))])])]),_:1},8,["show","width"]))}},[["__scopeId","data-v-a3f56791"]]);export{Se as default};
@@ -0,0 +1 @@
1
+ import{$t as e,Dt as r,E as a,I as t,N as n,Qt as l,St as i,Tt as o,Yt as s,bn as d,en as c,gn as p,gt as m,hn as g,ht as v,j as f,rn as h,vn as u,wt as x,yn as w}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{Tt as C,gt as b,lt as y,nt as $}from"./index-BXWpib7P.js";import{A as z,G as A,M as P,N,b as D,dt as S,f as _,st as E,tt as R}from"./vue-vendor-Cr_NLmXY.js";var I=z({name:"ChevronLeft",render:()=>P("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},P("path",{d:"M10.3536 3.14645C10.5488 3.34171 10.5488 3.65829 10.3536 3.85355L6.20711 8L10.3536 12.1464C10.5488 12.3417 10.5488 12.6583 10.3536 12.8536C10.1583 13.0488 9.84171 13.0488 9.64645 12.8536L5.14645 8.35355C4.95118 8.15829 4.95118 7.84171 5.14645 7.64645L9.64645 3.14645C9.84171 2.95118 10.1583 2.95118 10.3536 3.14645Z",fill:"currentColor"}))}),k=p("collapse","width: 100%;",[p("collapse-item","\n font-size: var(--n-font-size);\n color: var(--n-text-color);\n transition:\n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n margin: var(--n-item-margin);\n ",[w("disabled",[u("header","cursor: not-allowed;",[u("header-main","\n color: var(--n-title-text-color-disabled);\n "),p("collapse-item-arrow","\n color: var(--n-arrow-color-disabled);\n ")])]),p("collapse-item","margin-left: 32px;"),g("&:first-child","margin-top: 0;"),g("&:first-child >",[u("header","padding-top: 0;")]),w("left-arrow-placement",[u("header",[p("collapse-item-arrow","margin-right: 4px;")])]),w("right-arrow-placement",[u("header",[p("collapse-item-arrow","margin-left: 4px;")])]),u("content-wrapper",[u("content-inner","padding-top: 16px;"),y({duration:"0.15s"})]),w("active",[u("header",[w("active",[p("collapse-item-arrow","transform: rotate(90deg);")])])]),g("&:not(:first-child)","border-top: 1px solid var(--n-divider-color);"),d("disabled",[w("trigger-area-main",[u("header",[u("header-main","cursor: pointer;"),p("collapse-item-arrow","cursor: default;")])]),w("trigger-area-arrow",[u("header",[p("collapse-item-arrow","cursor: pointer;")])]),w("trigger-area-extra",[u("header",[u("header-extra","cursor: pointer;")])])]),u("header","\n font-size: var(--n-title-font-size);\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n transition: color .3s var(--n-bezier);\n position: relative;\n padding: var(--n-title-padding);\n color: var(--n-title-text-color);\n ",[u("header-main","\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n font-weight: var(--n-title-font-weight);\n transition: color .3s var(--n-bezier);\n flex: 1;\n color: var(--n-title-text-color);\n "),u("header-extra","\n display: flex;\n align-items: center;\n transition: color .3s var(--n-bezier);\n color: var(--n-text-color);\n "),p("collapse-item-arrow","\n display: flex;\n transition:\n transform .15s var(--n-bezier),\n color .3s var(--n-bezier);\n font-size: 18px;\n color: var(--n-arrow-color);\n ")])])]),T=Object.assign(Object.assign({},n.props),{defaultExpandedNames:{type:[Array,String],default:null},expandedNames:[Array,String],arrowPlacement:{type:String,default:"left"},accordion:{type:Boolean,default:!1},displayDirective:{type:String,default:"if"},triggerAreas:{type:Array,default:()=>["main","extra","arrow"]},onItemHeaderClick:[Function,Array],"onUpdate:expandedNames":[Function,Array],onUpdateExpandedNames:[Function,Array],onExpandedNamesChange:{type:[Function,Array],validator:()=>!0,default:void 0}}),j=s("n-collapse"),F=z({name:"Collapse",props:T,slots:Object,setup(e,{slots:r}){const{mergedClsPrefixRef:a,inlineThemeDisabled:i,mergedRtlRef:s}=m(e),d=E(e.defaultExpandedNames),c=D(()=>e.expandedNames),p=l(c,d),g=n("Collapse","-collapse",k,$,e,a);function f(r){const{"onUpdate:expandedNames":a,onUpdateExpandedNames:t,onExpandedNamesChange:n}=e;t&&o(t,r),a&&o(a,r),n&&o(n,r),d.value=r}function h(r){const{onItemHeaderClick:a}=e;a&&o(a,r)}A(j,{props:e,mergedClsPrefixRef:a,expandedNamesRef:p,slots:r,toggleItem:function(r,a,t){const{accordion:n}=e,{value:l}=p;if(n)r?(f([a]),h({name:a,expanded:!0,event:t})):(f([]),h({name:a,expanded:!1,event:t}));else if(Array.isArray(l)){const e=l.slice(),r=e.findIndex(e=>a===e);~r?(e.splice(r,1),f(e),h({name:a,expanded:!1,event:t})):(e.push(a),f(e),h({name:a,expanded:!0,event:t}))}else f([a]),h({name:a,expanded:!0,event:t})}});const u=t("Collapse",s,a),x=D(()=>{const{common:{cubicBezierEaseInOut:e},self:{titleFontWeight:r,dividerColor:a,titlePadding:t,titleTextColor:n,titleTextColorDisabled:l,textColor:i,arrowColor:o,fontSize:s,titleFontSize:d,arrowColorDisabled:c,itemMargin:p}}=g.value;return{"--n-font-size":s,"--n-bezier":e,"--n-text-color":i,"--n-divider-color":a,"--n-title-padding":t,"--n-title-font-size":d,"--n-title-text-color":n,"--n-title-text-color-disabled":l,"--n-title-font-weight":r,"--n-arrow-color":o,"--n-arrow-color-disabled":c,"--n-item-margin":p}}),w=i?v("collapse",void 0,x,e):void 0;return{rtlEnabled:u,mergedTheme:g,mergedClsPrefix:a,cssVars:i?void 0:x,themeClass:null==w?void 0:w.themeClass,onRender:null==w?void 0:w.onRender}},render(){var e;return null===(e=this.onRender)||void 0===e||e.call(this),P("div",{class:[`${this.mergedClsPrefix}-collapse`,this.rtlEnabled&&`${this.mergedClsPrefix}-collapse--rtl`,this.themeClass],style:this.cssVars},this.$slots)}}),B=z({name:"CollapseItemContent",props:{displayDirective:{type:String,required:!0},show:Boolean,clsPrefix:{type:String,required:!0}},setup:e=>({onceTrue:c(S(e,"show"))}),render(){return P(a,null,{default:()=>{const{show:e,displayDirective:r,onceTrue:a,clsPrefix:t}=this,n="show"===r&&a,l=P("div",{class:`${t}-collapse-item__content-wrapper`},P("div",{class:`${t}-collapse-item__content-inner`},this.$slots));return n?R(l,[[_,e]]):e?l:null}})}}),L=z({name:"CollapseItem",props:{title:String,name:[String,Number],disabled:Boolean,displayDirective:String},setup(a){const{mergedRtlRef:n}=m(a),l=h(),i=e(()=>{var e;return null!==(e=a.name)&&void 0!==e?e:l}),o=N(j);o||r("collapse-item","`n-collapse-item` must be placed inside `n-collapse`.");const{expandedNamesRef:s,props:d,mergedClsPrefixRef:c,slots:p}=o,g=D(()=>{const{value:e}=s;if(Array.isArray(e)){const{value:r}=i;return!~e.findIndex(e=>e===r)}if(e){const{value:r}=i;return r!==e}return!0});return{rtlEnabled:t("Collapse",n,c),collapseSlots:p,randomName:l,mergedClsPrefix:c,collapsed:g,triggerAreas:S(d,"triggerAreas"),mergedDisplayDirective:D(()=>{const{displayDirective:e}=a;return e||d.displayDirective}),arrowPlacement:D(()=>d.arrowPlacement),handleClick(e){let r="main";C(e,"arrow")&&(r="arrow"),C(e,"extra")&&(r="extra"),d.triggerAreas.includes(r)&&o&&!a.disabled&&o.toggleItem(g.value,i.value,e)}}},render(){const{collapseSlots:e,$slots:r,arrowPlacement:a,collapsed:t,mergedDisplayDirective:n,mergedClsPrefix:l,disabled:o,triggerAreas:s}=this,d=i(r.header,{collapsed:t},()=>[this.title]),c=r["header-extra"]||e["header-extra"],p=r.arrow||e.arrow;return P("div",{class:[`${l}-collapse-item`,`${l}-collapse-item--${a}-arrow-placement`,o&&`${l}-collapse-item--disabled`,!t&&`${l}-collapse-item--active`,s.map(e=>`${l}-collapse-item--trigger-area-${e}`)]},P("div",{class:[`${l}-collapse-item__header`,!t&&`${l}-collapse-item__header--active`]},P("div",{class:`${l}-collapse-item__header-main`,onClick:this.handleClick},"right"===a&&d,P("div",{class:`${l}-collapse-item-arrow`,key:this.rtlEnabled?0:1,"data-arrow":!0},i(p,{collapsed:t},()=>[P(f,{clsPrefix:l},{default:()=>this.rtlEnabled?P(I,null):P(b,null)})])),"left"===a&&d),x(c,{collapsed:t},e=>P("div",{class:`${l}-collapse-item__header-extra`,onClick:this.handleClick,"data-extra":!0},e))),P(B,{clsPrefix:l,displayDirective:n,show:!t},r))}});export{F as n,L as t};
@@ -0,0 +1 @@
1
+ import{C as a,D as e,K as s,O as l,S as t,V as n,W as o,Y as i,Z as c,_t as d,b as u,et as m,g as r,ht as p,m as v,mt as f,r as g,st as y,w as b,x as h}from"./vue-vendor-Cr_NLmXY.js";import{n as w,t as k}from"./useResponsiveDrawer-Deh7Xdcj.js";import{t as _}from"./DrawerContent-BYlV968f.js";import{i as j,s as C,t as x}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{$ as z,Et as $,I as P,L as I,M as T,T as U,X as S,Y as H,Z as B,ft as D,j as O,k as L,st as M,ut as R,w as E}from"./index-BXWpib7P.js";import{$ as q,At as A,Nt as V,R as F,S as G,V as N,_ as W,ct as Y,g as Z,i as K,j as X,m as J,st as Q}from"./icons-C6KNTFqo.js";import{t as aa}from"./client-B31QOzWk.js";import{a as ea,c as sa,i as la,o as ta,r as na,s as oa,t as ia}from"./AssetPathField-CoIuoSZr.js";import{c as ca,i as da,t as ua}from"./platforms-BdTllxKt.js";import{l as ma}from"./light-DeIjG9s_.js";import{t as ra}from"./MarkdownEditor-Bf9QKKaV.js";async function pa(a=null,e="claude",s={}){const l=E("commands",e,s.scope||"",a||"");return U(l,s=>aa.get("/commands",{params:a?{projectPath:a,platform:e}:{platform:e},signal:s}).then(a=>a.data),"commands",`commands:${e}`)}var va={class:"asset-card-main"},fa={class:"asset-card-top"},ga={class:"asset-card-title-stack"},ya={class:"asset-card-title-row"},ba={class:"asset-name mono"},ha={class:"asset-tags"},wa={key:0,class:"asset-description"},ka={class:"asset-meta"},_a={key:0,class:"asset-meta-item"},ja={key:1,class:"asset-meta-item"},Ca={class:"asset-card-actions"},xa={class:"asset-platform-strip"},za=["onClick"],$a=x({__name:"CommandCard",props:{command:{type:Object,required:!0},deleting:{type:Boolean,default:!1},registryInfo:{type:Object,default:null},toggling:{type:Boolean,default:!1}},emits:["click","edit","delete","toggle-enabled","toggle-platform"],setup(n,{emit:c}){const g=n,y=c,{byCapability:w}=$(),k=u(()=>w("commands"));return(c,u)=>{return o(),b("div",{class:p(["command-card asset-card",{"is-project":"project"===n.command.scope,"is-managed":n.registryInfo}]),onClick:u[4]||(u[4]=a=>y("click",n.command))},[h("div",va,[h("div",fa,[h("div",ga,[h("div",ya,[h("span",{class:p(["asset-status-dot",{active:n.registryInfo?.enabled||"project"===n.command.scope}])},null,2),h("span",ba,"/"+d(n.command.name),1)]),h("div",ha,[l(f(R),{type:"user"===n.command.scope?"info":"success",size:"tiny",bordered:!1},{default:m(()=>[e(d("user"===n.command.scope?"用户级":"项目级"),1)]),_:1},8,["type"]),n.registryInfo?(o(),t(f(R),{key:0,type:"success",size:"tiny",bordered:!1},{default:m(()=>[...u[5]||(u[5]=[e("托管",-1)])]),_:1})):a("",!0),n.command.namespace?(o(),t(f(R),{key:1,type:"warning",size:"tiny",bordered:!1},{default:m(()=>[e(d(n.command.namespace),1)]),_:1})):a("",!0)])])]),n.command.description?(o(),b("div",wa,d((w=n.command.description,w?w.length>80?w.slice(0,80)+"...":w:"")),1)):a("",!0),h("div",ka,[n.command.allowedTools?(o(),b("span",_a,[l(f(j),{size:"12"},{default:m(()=>[l(f(N))]),_:1}),e(" "+d(n.command.allowedTools),1)])):a("",!0),n.command.argumentHint?(o(),b("span",ja,[l(f(j),{size:"12"},{default:m(()=>[l(f(Y))]),_:1}),e(" "+d(n.command.argumentHint),1)])):a("",!0)])]),h("div",Ca,[n.registryInfo?(o(),b(r,{key:0},[l(f(H),{trigger:"hover"},{trigger:m(()=>[l(f(O),{value:n.registryInfo.enabled,size:"small",loading:n.toggling,"onUpdate:value":u[0]||(u[0]=a=>y("toggle-enabled",n.command,a)),onClick:u[1]||(u[1]=v(()=>{},["stop"]))},null,8,["value","loading"])]),default:m(()=>[e(" "+d(n.registryInfo.enabled?"已启用":"已禁用"),1)]),_:1}),h("div",xa,[(o(!0),b(r,null,s(k.value,a=>(o(),t(f(H),{key:a.key,trigger:"hover"},{trigger:m(()=>[h("span",{class:p(["asset-platform-icon",{active:n.registryInfo.platforms?.[a.key]}]),onClick:v(e=>y("toggle-platform",n.command,a.key,!n.registryInfo.platforms?.[a.key]),["stop"])},[l(f(j),{size:"14"},{default:m(()=>[(o(),t(i(a.icon)))]),_:2},1024)],10,za)]),default:m(()=>[e(" "+d(a.label||a.title||a.key)+" "+d(n.registryInfo.platforms?.[a.key]?"已启用":"未启用"),1)]),_:2},1024))),128))])],64)):(o(),b(r,{key:1},[l(f(C),{size:"tiny",tertiary:"",onClick:u[2]||(u[2]=v(a=>y("edit",n.command),["stop"]))},{default:m(()=>[...u[6]||(u[6]=[e(" 编辑 ",-1)])]),_:1}),l(f(C),{size:"tiny",tertiary:"",type:"error",loading:g.deleting,onClick:u[3]||(u[3]=v(a=>y("delete",n.command),["stop"]))},{default:m(()=>[...u[7]||(u[7]=[e(" 删除 ",-1)])]),_:1},8,["loading"])],64))])],2);var w}}},[["__scopeId","data-v-7ffa5383"]]),Pa={class:"asset-detail-drawer-header"},Ia={class:"asset-detail-identity"},Ta={class:"asset-detail-heading"},Ua={class:"asset-detail-name mono"},Sa={class:"asset-detail-meta"},Ha={key:2,class:"asset-detail-subtle"},Ba={class:"asset-detail-body"},Da={class:"asset-detail-container"},Oa={class:"asset-detail-info-section"},La={class:"asset-detail-description"},Ma={class:"asset-detail-info-section"},Ra={class:"asset-detail-list"},Ea={class:"asset-detail-row"},qa={class:"asset-detail-value"},Aa={key:0,class:"asset-detail-row"},Va={class:"asset-detail-value"},Fa={key:1,class:"asset-detail-row"},Ga={class:"asset-detail-value"},Na={key:2,class:"asset-detail-row"},Wa={class:"asset-detail-value"},Ya={key:3,class:"asset-detail-row"},Za={class:"asset-detail-value"},Ka={key:4,class:"asset-detail-row"},Xa={class:"asset-detail-value"},Ja={key:0,class:"asset-detail-info-section"},Qa={class:"asset-detail-box"},ae={class:"asset-detail-code"},ee={key:1,class:"asset-detail-empty"},se={__name:"CommandDetailDrawer",props:{visible:{type:Boolean,default:!1},command:{type:Object,default:null},platform:{type:String,default:"claude"}},emits:["update:visible"],setup(s,{emit:n}){const i=ua(),{drawerWidth:c}=k(600),r=s,p=n,v=u({get:()=>r.visible,set:a=>p("update:visible",a)}),g={height:"100%",minHeight:0,overflow:"hidden"},y=u(()=>{const a=i.get(r.platform)||ca(r.platform);return a.label||a.title||""}),C=u(()=>r.command?.fullPath||r.command?.path||"");function x(a){return"project"===a?"项目级":"用户级"}return(n,i)=>(o(),t(f(w),{show:v.value,"onUpdate:show":i[0]||(i[0]=a=>v.value=a),width:f(c),placement:"right","show-mask":!0},{default:m(()=>[l(f(_),{closable:"","native-scrollbar":!1,"body-content-style":g},{header:m(()=>[h("div",Pa,[h("div",Ia,[l(f(j),{size:20,class:"asset-detail-icon"},{default:m(()=>[l(f(K))]),_:1}),h("div",Ta,[h("span",Ua,d(s.command?.name?`/${s.command.name}`:"命令详情"),1),h("div",Sa,[s.command?.scope?(o(),t(f(R),{key:0,type:"project"===s.command.scope?"success":"info",size:"tiny",bordered:!1},{default:m(()=>[e(d(x(s.command.scope)),1)]),_:1},8,["type"])):a("",!0),s.command?.namespace?(o(),t(f(R),{key:1,type:"warning",size:"tiny",bordered:!1},{default:m(()=>[e(d(s.command.namespace),1)]),_:1})):a("",!0),y.value?(o(),b("span",Ha,d(y.value),1)):a("",!0)])])])])]),default:m(()=>[h("div",Ba,[s.command?(o(),t(f(oa),{key:0,type:"line",animated:"",class:"asset-detail-tabs"},{default:m(()=>[l(f(sa),{name:"overview",tab:"概览"},{default:m(()=>[h("div",Da,[h("div",Oa,[i[1]||(i[1]=h("h3",{class:"asset-detail-section-title"},"描述",-1)),h("p",La,d(s.command.description||"暂无描述"),1)]),h("div",Ma,[i[8]||(i[8]=h("h3",{class:"asset-detail-section-title"},"基础信息",-1)),h("div",Ra,[h("div",Ea,[i[2]||(i[2]=h("span",{class:"asset-detail-label"},"作用域",-1)),h("span",qa,d(x(s.command.scope)),1)]),s.command.namespace?(o(),b("div",Aa,[i[3]||(i[3]=h("span",{class:"asset-detail-label"},"命名空间",-1)),h("span",Va,d(s.command.namespace),1)])):a("",!0),s.command.argumentHint?(o(),b("div",Fa,[i[4]||(i[4]=h("span",{class:"asset-detail-label"},"参数提示",-1)),h("span",Ga,d(s.command.argumentHint),1)])):a("",!0),s.command.model?(o(),b("div",Na,[i[5]||(i[5]=h("span",{class:"asset-detail-label"},"模型",-1)),h("span",Wa,d(s.command.model),1)])):a("",!0),s.command.agent?(o(),b("div",Ya,[i[6]||(i[6]=h("span",{class:"asset-detail-label"},"Agent",-1)),h("span",Za,d(s.command.agent),1)])):a("",!0),""!==s.command.subtask&&void 0!==s.command.subtask&&null!==s.command.subtask?(o(),b("div",Ka,[i[7]||(i[7]=h("span",{class:"asset-detail-label"},"Subtask",-1)),h("span",Xa,d(String(s.command.subtask)),1)])):a("",!0)])]),s.command.allowedTools?(o(),b("div",Ja,[i[9]||(i[9]=h("h3",{class:"asset-detail-section-title"},"允许的工具",-1)),h("div",Qa,[l(f(j),{size:16},{default:m(()=>[l(f(N))]),_:1}),h("code",null,d(s.command.allowedTools),1)])])):a("",!0),l(ia,{path:C.value},null,8,["path"])])]),_:1}),l(f(sa),{name:"content",tab:"内容"},{default:m(()=>[h("pre",ae,d(s.command.body||"(无内容)"),1)]),_:1})]),_:1})):(o(),b("div",ee,[l(f(j),{size:44,class:"asset-detail-empty-icon"},{default:m(()=>[l(f(q))]),_:1}),i[10]||(i[10]=h("p",null,"未选择命令",-1))]))])]),_:1})]),_:1},8,["show","width"]))}},le={class:"config-edit-header"},te={class:"config-edit-identity"},ne={class:"config-edit-icon"},oe={class:"config-edit-title-stack"},ie={class:"config-edit-kicker"},ce={class:"config-edit-title"},de={class:"config-edit-badges"},ue={class:"command-workbench"},me={class:"command-sidebar"},re={class:"config-edit-section"},pe={class:"section-heading"},ve={class:"field-grid"},fe={class:"scope-option"},ge={class:"scope-path"},ye={class:"scope-option"},be={class:"scope-path"},he={class:"config-edit-section"},we={class:"section-heading"},ke={key:1,class:"platform-note"},_e={class:"config-edit-section token-section"},je={class:"section-heading"},Ce={class:"command-token-box"},xe={key:0,class:"token-row"},ze={key:1,class:"token-row"},$e={class:"config-edit-section content-section"},Pe={class:"section-heading"},Ie={class:"modal-footer"},Te=x({__name:"CommandFormModal",props:{visible:{type:Boolean,default:!1},command:{type:Object,default:null},projectPath:{type:String,default:null},platform:{type:String,default:"claude"}},emits:["update:visible","saved"],setup(s,{emit:n}){const i=ua(),p=s,v=n,g=u({get:()=>p.visible,set:a=>v("update:visible",a)}),w=u(()=>!!p.command),k=u(()=>w.value?"编辑命令":"创建命令"),_=u(()=>{const a=i.get(p.platform)||ca(p.platform);return a.label||a.title||"Claude Code"}),x=u(()=>"opencode"===p.platform?"~/.config/opencode/commands/":"gemini"===p.platform?"~/.gemini/commands/":"omp"===p.platform?"~/.omp/agent/commands/":"codex"===p.platform?"~/.codex/commands/":"~/.claude/commands/"),z=u(()=>"opencode"===p.platform?".opencode/commands/":"gemini"===p.platform?".gemini/commands/":"omp"===p.platform?".omp/commands/":"codex"===p.platform?".codex/commands/":".claude/commands/"),$=u(()=>"opencode"!==p.platform&&"gemini"!==p.platform&&"omp"!==p.platform),T=u(()=>"project"===A.value.scope?"项目级":"用户级"),U=u(()=>A.value.name?`/${A.value.name}`:"编辑命令"),H=u(()=>"gemini"===p.platform?"TOML":"Markdown"),D=y(null),O=y(!1),E={maxHeight:"calc(92vh - 134px)",overflowY:"auto",paddingBottom:"18px"},A=y({name:"",scope:"user",namespace:"",description:"",allowedTools:"",argumentHint:"",body:""}),V={name:{required:!0,message:"请输入命令名",trigger:"blur"},scope:{required:!0,message:"请选择作用域",trigger:"change"}};function G(){A.value={name:"",scope:"user",namespace:"",description:"",allowedTools:"",argumentHint:"",body:""}}function N(){g.value=!1,G()}async function Y(){try{await(D.value?.validate())}catch{return}O.value=!0;try{const a={...A.value,projectPath:p.projectPath};w.value?(await async function(a,e,s,l="claude"){return(await aa.put(`/commands/${e}/${a}`,{...s,platform:l})).data}(A.value.name,A.value.scope,a,p.platform),L.success("命令更新成功")):(await async function(a,e="claude"){return(await aa.post("/commands",{...a,platform:e})).data}(a,p.platform),L.success("命令创建成功")),v("saved"),g.value=!1,G()}catch(a){L.error("操作失败: "+a.message)}finally{O.value=!1}}return c(()=>p.command,a=>{a?A.value={name:a.name||"",scope:a.scope||"user",namespace:a.namespace||"",description:a.description||"",allowedTools:a.allowedTools||"",argumentHint:a.argumentHint||"",body:a.body||""}:G()},{immediate:!0}),(s,n)=>(o(),t(f(ma),{show:g.value,"onUpdate:show":n[7]||(n[7]=a=>g.value=a),preset:"card",title:k.value,style:{width:"min(940px, 96vw)","max-height":"92vh"},"content-style":E,"mask-closable":!1,class:"config-edit-modal"},{footer:m(()=>[h("div",Ie,[l(f(C),{onClick:N},{default:m(()=>[...n[19]||(n[19]=[e("取消",-1)])]),_:1}),l(f(C),{type:"primary",loading:O.value,onClick:Y},{icon:m(()=>[l(f(j),null,{default:m(()=>[l(f(W))]),_:1})]),default:m(()=>[e(" "+d(w.value?"保存":"创建"),1)]),_:1},8,["loading"])])]),default:m(()=>[h("div",le,[h("div",te,[h("span",ne,[l(f(j),{size:22},{default:m(()=>[l(f(K))]),_:1})]),h("div",oe,[h("span",ie,d(_.value),1),h("span",ce,d(w.value?U.value:"创建新命令"),1)])]),h("div",de,[l(f(R),{size:"small",bordered:!1,type:"info"},{default:m(()=>[e(d(T.value),1)]),_:1}),A.value.namespace?(o(),t(f(R),{key:0,size:"small",bordered:!1,type:"warning"},{default:m(()=>[e(d(A.value.namespace),1)]),_:1})):a("",!0),l(f(R),{size:"small",bordered:!1,type:"success"},{default:m(()=>[e(d(H.value),1)]),_:1})])]),l(f(I),{ref_key:"formRef",ref:D,model:A.value,rules:V,"label-placement":"top","require-mark-placement":"right-hanging",class:"config-edit-form"},{default:m(()=>[h("div",ue,[h("div",me,[h("section",re,[h("div",pe,[l(f(j),{size:16},{default:m(()=>[l(f(X))]),_:1}),n[8]||(n[8]=h("span",null,"命令入口",-1))]),h("div",ve,[l(f(P),{label:"命令名",path:"name"},{default:m(()=>[l(f(M),{value:A.value.name,"onUpdate:value":n[0]||(n[0]=a=>A.value.name=a),disabled:w.value,placeholder:"review"},{prefix:m(()=>[...n[9]||(n[9]=[e("/",-1)])]),_:1},8,["value","disabled"])]),_:1}),l(f(P),{label:"命名空间",path:"namespace"},{default:m(()=>[l(f(M),{value:A.value.namespace,"onUpdate:value":n[1]||(n[1]=a=>A.value.namespace=a),disabled:w.value,placeholder:"frontend"},null,8,["value","disabled"])]),_:1})]),l(f(P),{label:"作用域",path:"scope"},{default:m(()=>[l(f(S),{value:A.value.scope,"onUpdate:value":n[2]||(n[2]=a=>A.value.scope=a),disabled:w.value,class:"scope-picker"},{default:m(()=>[l(f(B),{value:"user"},{default:m(()=>[h("span",fe,[n[10]||(n[10]=h("span",{class:"scope-title"},"用户级",-1)),h("span",ge,d(x.value),1)])]),_:1}),l(f(B),{value:"project"},{default:m(()=>[h("span",ye,[n[11]||(n[11]=h("span",{class:"scope-title"},"项目级",-1)),h("span",be,d(z.value),1)])]),_:1})]),_:1},8,["value","disabled"])]),_:1}),l(f(P),{label:"描述",path:"description"},{default:m(()=>[l(f(M),{value:A.value.description,"onUpdate:value":n[3]||(n[3]=a=>A.value.description=a),type:"textarea",autosize:{minRows:3,maxRows:5},placeholder:"一句话说明这个 slash command 的用途"},null,8,["value"])]),_:1})]),h("section",he,[h("div",we,[l(f(j),{size:16},{default:m(()=>[l(f(J))]),_:1}),n[12]||(n[12]=h("span",null,"Frontmatter",-1))]),$.value?(o(),b(r,{key:0},[l(f(P),{label:"允许的工具",path:"allowedTools"},{default:m(()=>[l(f(M),{value:A.value.allowedTools,"onUpdate:value":n[4]||(n[4]=a=>A.value.allowedTools=a),placeholder:"Bash, Edit, Read"},null,8,["value"])]),_:1}),l(f(P),{label:"参数提示",path:"argumentHint"},{default:m(()=>[l(f(M),{value:A.value.argumentHint,"onUpdate:value":n[5]||(n[5]=a=>A.value.argumentHint=a),placeholder:"add [id] | remove [id]"},null,8,["value"])]),_:1})],64)):(o(),b("div",ke,[l(f(j),{size:16},{default:m(()=>[l(f(F))]),_:1}),h("span",null,d(_.value)+" commands 会按平台原生格式保存,当前平台不写入 Claude/Codex 风格的工具和参数 frontmatter。",1)]))]),h("section",_e,[h("div",je,[l(f(j),{size:16},{default:m(()=>[l(f(Q))]),_:1}),n[13]||(n[13]=h("span",null,"可用变量",-1))]),h("div",Ce,[n[16]||(n[16]=h("div",{class:"token-row"},[h("code",null,"$ARGUMENTS"),h("span",null,"完整参数")],-1)),n[17]||(n[17]=h("div",{class:"token-row"},[h("code",null,"$1"),h("span",null,"第一个参数")],-1)),$.value?(o(),b("div",xe,[...n[14]||(n[14]=[h("code",null,"!",-1),h("span",null,"执行 shell 行",-1)])])):a("",!0),$.value?(o(),b("div",ze,[...n[15]||(n[15]=[h("code",null,"@",-1),h("span",null,"引用文件",-1)])])):a("",!0)])])]),h("section",$e,[h("div",Pe,[l(f(j),{size:16},{default:m(()=>[l(f(q))]),_:1}),n[18]||(n[18]=h("span",null,"命令内容",-1))]),l(f(P),{path:"body","show-label":!1,class:"editor-form-item"},{default:m(()=>[l(ra,{modelValue:A.value.body,"onUpdate:modelValue":n[6]||(n[6]=a=>A.value.body=a),rows:12,"min-height":280,placeholder:"写下命令提示词。可以使用 $ARGUMENTS、$1、$2 等变量。","default-editing":!w.value},null,8,["modelValue","default-editing"])]),_:1})])])]),_:1},8,["model"])]),_:1},8,["show","title"]))}},[["__scopeId","data-v-1ab931be"]]),Ue={key:0,class:"asset-panel-header"},Se={class:"asset-title-group"},He={class:"asset-heading"},Be={class:"asset-title-row"},De={class:"asset-platform-pill"},Oe={key:0,class:"asset-action-row"},Le={key:1,class:"asset-drawer-toolbar"},Me={key:0,class:"asset-action-row"},Re={class:"asset-summary"},Ee={class:"asset-summary-item"},qe={class:"asset-summary-value"},Ae={class:"asset-summary-item"},Ve={class:"asset-summary-value"},Fe={class:"asset-summary-item"},Ge={class:"asset-summary-value"},Ne={class:"asset-summary-item"},We={class:"asset-summary-value"},Ye={class:"asset-filter-bar"},Ze={class:"asset-panel-content"},Ke={key:0,class:"asset-empty"},Xe={key:1,class:"asset-list"},Je={class:"asset-footer"},Qe=x({__name:"CommandsPanel",props:{hideBack:{type:Boolean,default:!1},inDrawer:{type:Boolean,default:!1},projectPath:{type:String,default:null},platform:{type:String,default:""}},emits:["back","updated"],setup(i,{emit:v}){const w=i,k=v,_=ua(),x=g(),P=y([]),I=y(!1),S=y(""),H=y("all"),B=y(!1),O=y(!1),R=y(null),q=y(null),N=y({}),W=y({}),Y=y({});let X=0;const{byCapability:J}=$(),Q=u(()=>J("commands").map(a=>a.key)),sa=u(()=>Q.value.includes(oa.value)),oa=u(()=>String(w.platform||da(x)||"").trim().toLowerCase()),ia=u(()=>"opencode"===oa.value?"使用 /命令名 在 OpenCode 中调用":"omp"===oa.value?"使用 OMP slash command 调用":"gemini"===oa.value?"使用 /命令名 在 Gemini CLI 中调用":"codex"===oa.value?"使用 /命令名 在 Codex CLI 中调用":"使用 /命令名 在 Claude Code 中调用"),ma=u(()=>{const a=_.get(oa.value)||ca(oa.value);return a.label||a.title||"Claude Code"}),ra=[{label:"全部",value:"all"},{label:"用户级",value:"user"},{label:"项目级",value:"project"},{label:"已托管",value:"managed"}],va=u(()=>P.value.filter(a=>"user"===a.scope).length),fa=u(()=>P.value.filter(a=>"project"===a.scope).length),ga=u(()=>Object.keys(W.value).length),ya=u(()=>{let a=P.value;if("user"===H.value?a=a.filter(a=>"user"===a.scope):"project"===H.value?a=a.filter(a=>"project"===a.scope):"managed"===H.value&&(a=a.filter(a=>W.value[a.name])),S.value.trim()){const e=S.value.toLowerCase();a=a.filter(a=>a.name?.toLowerCase().includes(e)||a.description?.toLowerCase().includes(e)||a.namespace?.toLowerCase().includes(e))}return a}),ba=u(()=>S.value?"没有匹配的命令":"user"===H.value?"暂无用户级命令":"project"===H.value?"暂无项目级命令":"managed"===H.value?"暂无托管的命令":sa.value?"暂无自定义命令":`${ma.value} 暂未提供 Commands 能力`);async function ha(){if(!sa.value)return P.value=[],W.value={},void(I.value=!1);I.value=!0;try{const[a,e]=await Promise.all([pa(w.projectPath,oa.value),na("commands",{platform:oa.value,projectPath:w.projectPath})]);if(a.success&&(P.value=a.commands||[]),e.success){W.value={};for(const[a,s]of Object.entries(e.items||{}))W.value[a]=s}}catch(a){L.error("加载命令列表失败: "+a.message)}finally{I.value=!1}}async function wa(a,e){Y.value[a.name]=!0;try{(await ea("commands",a.name,e)).success&&(L.success(e?"已启用":"已禁用"),await ha())}catch(s){L.error("切换失败: "+s.message)}finally{delete Y.value[a.name]}}async function ka(a,e,s){Y.value[a.name]=!0;try{(await ta("commands",a.name,e,s)).success&&(L.success(`${e} ${s?"已启用":"已禁用"}`),await ha())}catch(l){L.error("切换失败: "+l.message)}finally{delete Y.value[a.name]}}async function _a(){I.value=!0;try{const a=await la("commands");a?.success||L.warning(a?.message||"同步失败,已继续刷新列表")}catch(a){L.warning("同步失败,已继续刷新列表: "+a.message)}await ha()}async function ja(a,e=!1){if(!a)return;const s=++X;e||(R.value=null,O.value=!0);try{const l=await async function(a,e,s=null,l=null,t="claude"){const n={};t&&(n.platform=t),s&&(n.projectPath=s),l&&(n.namespace=l);const o=E(`command-detail:${a}:${l||""}`,t,e||"",s||"");return U(o,s=>aa.get(`/commands/${e}/${a}`,{params:n,signal:s}).then(a=>a.data),"command-detail",`command-detail:${t}`)}(a.name,a.scope,w.projectPath,a.namespace,oa.value);if(s!==X)return;const t=l?.command||a;e?(q.value=t,B.value=!0):R.value=t}catch(l){if(s!==X)return;L.error("加载命令详情失败: "+l.message),e?(q.value=a,B.value=!0):R.value=a}}function Ca(a){ja(a,!0)}async function xa(a){const e=a.path;N.value[e]=!0;try{(await async function(a,e,s=null,l=null,t="claude"){const n={};return t&&(n.platform=t),s&&(n.projectPath=s),l&&(n.namespace=l),(await aa.delete(`/commands/${e}/${a}`,{params:n})).data}(a.name,a.scope,w.projectPath,a.namespace,oa.value)).success&&(L.success("命令已删除"),await ha(),k("updated"))}catch(s){L.error("删除失败: "+s.message)}finally{delete N.value[e]}}function za(a){ja(a,!1)}function Pa(){q.value=null,ha(),k("updated")}function Ia(){k("back")}return n(()=>{ha()}),c(oa,()=>{X+=1,R.value=null,ha()}),(n,c)=>(o(),b("div",{class:p(["commands-panel asset-panel",{"in-drawer":w.inDrawer}])},[w.inDrawer?a("",!0):(o(),b("div",Ue,[h("div",Se,[w.hideBack?a("",!0):(o(),t(f(C),{key:0,text:"",onClick:Ia,class:"back-btn"},{icon:m(()=>[l(f(j),null,{default:m(()=>[l(f(A))]),_:1})]),_:1})),h("div",He,[h("div",Be,[c[7]||(c[7]=h("span",{class:"asset-title"},"命令管理",-1)),h("span",De,d(ma.value),1)]),c[8]||(c[8]=h("div",{class:"asset-subtitle"},"维护 slash commands、作用域和跨平台启用状态",-1))])]),sa.value?(o(),b("div",Oe,[l(f(C),{text:"",onClick:c[0]||(c[0]=a=>B.value=!0),class:"action-btn"},{icon:m(()=>[l(f(j),null,{default:m(()=>[l(f(V))]),_:1})]),default:m(()=>[c[9]||(c[9]=e(" 创建 ",-1))]),_:1}),l(f(C),{text:"",onClick:_a,loading:I.value,class:"action-btn"},{icon:m(()=>[l(f(j),null,{default:m(()=>[l(f(G))]),_:1})]),default:m(()=>[c[10]||(c[10]=e(" 刷新 ",-1))]),_:1},8,["loading"])])):a("",!0)])),w.inDrawer?(o(),b("div",Le,[sa.value?(o(),b("div",Me,[l(f(C),{text:"",onClick:c[1]||(c[1]=a=>B.value=!0),class:"action-btn"},{icon:m(()=>[l(f(j),null,{default:m(()=>[l(f(V))]),_:1})]),default:m(()=>[c[11]||(c[11]=e(" 创建 ",-1))]),_:1}),l(f(C),{text:"",onClick:_a,loading:I.value,class:"action-btn"},{icon:m(()=>[l(f(j),null,{default:m(()=>[l(f(G))]),_:1})]),default:m(()=>[c[12]||(c[12]=e(" 刷新 ",-1))]),_:1},8,["loading"])])):a("",!0)])):a("",!0),h("div",Re,[h("span",Ee,[c[13]||(c[13]=h("span",{class:"asset-summary-label"},"全部",-1)),h("span",qe,d(P.value.length),1)]),h("span",Ae,[c[14]||(c[14]=h("span",{class:"asset-summary-label"},"用户级",-1)),h("span",Ve,d(va.value),1)]),h("span",Fe,[c[15]||(c[15]=h("span",{class:"asset-summary-label"},"项目级",-1)),h("span",Ge,d(fa.value),1)]),h("span",Ne,[c[16]||(c[16]=h("span",{class:"asset-summary-label"},"托管",-1)),h("span",We,d(ga.value),1)])]),h("div",Ye,[l(f(M),{value:S.value,"onUpdate:value":c[2]||(c[2]=a=>S.value=a),placeholder:"搜索命令、描述或命名空间",clearable:"",size:"small",class:"asset-search"},{prefix:m(()=>[l(f(j),null,{default:m(()=>[l(f(Z))]),_:1})]),_:1},8,["value"]),l(f(z),{value:H.value,"onUpdate:value":c[3]||(c[3]=a=>H.value=a),options:ra,size:"small",class:"asset-filter"},null,8,["value"])]),h("div",Ze,[l(f(T),{show:I.value},{default:m(()=>[0!==ya.value.length||I.value?(o(),b("div",Xe,[(o(!0),b(r,null,s(ya.value,a=>(o(),t($a,{key:a.path,command:a,deleting:!!N.value[a.path],"registry-info":W.value[a.name],toggling:!!Y.value[a.name],onEdit:Ca,onDelete:xa,onClick:za,onToggleEnabled:wa,onTogglePlatform:ka},null,8,["command","deleting","registry-info","toggling"]))),128))])):(o(),b("div",Ke,[l(f(D),{description:ba.value},{icon:m(()=>[l(f(j),{size:"48",color:"var(--text-quaternary)"},{default:m(()=>[l(f(K))]),_:1})]),extra:m(()=>[sa.value?(o(),t(f(C),{key:0,size:"small",onClick:c[4]||(c[4]=a=>B.value=!0)},{default:m(()=>[...c[17]||(c[17]=[e(" 创建第一个命令 ",-1)])]),_:1})):a("",!0)]),_:1},8,["description"])]))]),_:1},8,["show"])]),h("div",Je,[l(f(j),{size:"14",class:"asset-info-icon"},{default:m(()=>[l(f(F))]),_:1}),h("span",null,d(ia.value),1)]),l(Te,{visible:B.value,"onUpdate:visible":c[5]||(c[5]=a=>B.value=a),command:q.value,"project-path":i.projectPath,platform:oa.value,onSaved:Pa},null,8,["visible","command","project-path","platform"]),l(se,{visible:O.value,"onUpdate:visible":c[6]||(c[6]=a=>O.value=a),command:R.value,platform:oa.value},null,8,["visible","command","platform"])],2))}},[["__scopeId","data-v-5e3c90d3"]]),as=x({__name:"CommandsDrawer",props:{visible:Boolean,platform:{type:String,default:""}},emits:["update:visible"],setup(a,{emit:e}){const s=a,n=e,{drawerWidth:i}=k(720),c=u({get:()=>s.visible,set:a=>n("update:visible",a)}),d={padding:0,display:"flex",flexDirection:"column",overflow:"hidden"};return(a,e)=>(o(),t(f(w),{show:c.value,"onUpdate:show":e[1]||(e[1]=a=>c.value=a),width:f(i),placement:"right","mask-closable":!0},{default:m(()=>[l(f(_),{closable:"","native-scrollbar":!1,"body-content-style":d},{header:m(()=>[...e[2]||(e[2]=[h("div",{class:"drawer-header"},[h("span",null,"命令管理")],-1)])]),default:m(()=>[l(Qe,{onBack:e[0]||(e[0]=a=>c.value=!1),"hide-back":!0,"in-drawer":!0,platform:s.platform},null,8,["platform"])]),_:1})]),_:1},8,["show","width"]))}},[["__scopeId","data-v-bfb32ef8"]]);export{as as default};
@@ -0,0 +1 @@
1
+ import{C as e,D as a,O as t,S as s,W as l,_t as i,b as n,et as o,mt as r,st as u,w as c,x as d}from"./vue-vendor-Cr_NLmXY.js";import{n as p,t as f}from"./useResponsiveDrawer-Deh7Xdcj.js";import{t as v}from"./DrawerContent-BYlV968f.js";import{i as m,s as w,t as g}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{A as h,H as y,k as _,rt as x}from"./index-BXWpib7P.js";import{t as z}from"./Divider-CEqaZMTW.js";import{t as b}from"./Upload-B6Kn1TvG.js";import{Q as j,lt as k,ut as C}from"./icons-C6KNTFqo.js";import{t as U}from"./client-B31QOzWk.js";var D={class:"drawer-header"},I={class:"export-import-container"},O={class:"section"},S={class:"section-header"},L={class:"section"},R={class:"section-header"},T={key:0,class:"import-preview"},P={class:"preview-stats"},Z={class:"stat-item"},B={class:"stat-item"},W={class:"stat-item"},$=g({__name:"ConfigExportDrawer",props:{visible:{type:Boolean,default:!1}},emits:["update:visible"],setup(g,{emit:$}){const A=g,E=$,{drawerWidth:J}=f(520,480),N=n({get:()=>A.visible,set:e=>E("update:visible",e)}),q=u(!1),H=u(!1),Q=u(null),F=u(null),G=u(null),K=u(null),M=u(!1);async function V(){q.value=!0;try{const e=await async function(e="zip"){return(await U.get(`/config-export?format=${e}`,{responseType:"blob"})).data}("zip"),a=window.URL.createObjectURL(e),t=document.createElement("a");t.href=a,t.download=`ctx-config-${(new Date).toISOString().split("T")[0]}.zip`,document.body.appendChild(t),t.click(),document.body.removeChild(t),window.URL.revokeObjectURL(a),_.success("配置导出成功")}catch(e){_.error("导出失败: "+e.message)}finally{q.value=!1}}async function X({file:e}){try{if(Q.value=null,F.value=null,G.value=null,K.value=null,(e.file.name||"").toLowerCase().endsWith(".zip")){const a=await async function(e){const a=await e.arrayBuffer();return(await U.post("/config-export/preview-zip",a,{headers:{"Content-Type":"application/zip"}})).data}(e.file);return void(a.success?(Q.value=a.data,G.value=e.file,F.value=null,K.value="zip",_.success("ZIP 配置解析成功")):_.error("ZIP 配置格式错误: "+a.message))}const a=await e.file.text(),t=JSON.parse(a),s=await async function(e){return(await U.post("/config-export/preview",{data:e})).data}(t);s.success?(Q.value=s.data,F.value=t,G.value=null,K.value="json",_.success("配置文件解析成功")):_.error("配置文件格式错误: "+s.message)}catch(a){_.error("文件解析失败: "+a.message)}}async function Y(){if(F.value||G.value){H.value=!0;try{const e="zip"===K.value?await async function(e,a=!1){const t=await e.arrayBuffer();return(await U.post(`/config-export/import-zip?overwrite=${a}`,t,{headers:{"Content-Type":"application/zip"}})).data}(G.value,M.value):await async function(e,a=!1){return(await U.post("/config-export/import",{data:e,overwrite:a})).data}(F.value,M.value);e.success?(_.success("配置导入成功: "+e.message),ee()):_.error("配置导入失败: "+e.message)}catch(e){_.error("导入失败: "+e.message)}finally{H.value=!1}}}function ee(){Q.value=null,F.value=null,G.value=null,K.value=null,M.value=!1}return(n,u)=>(l(),s(r(p),{show:N.value,"onUpdate:show":u[1]||(u[1]=e=>N.value=e),width:r(J),placement:"right","mask-closable":!0},{default:o(()=>[t(r(v),{closable:"","native-scrollbar":!1},{header:o(()=>[d("div",D,[t(r(m),{size:20,color:"#18a058"},{default:o(()=>[t(r(C))]),_:1}),u[2]||(u[2]=d("span",null,"配置导出/导入",-1))])]),default:o(()=>[d("div",I,[d("div",O,[d("div",S,[t(r(h),{strong:""},{default:o(()=>[...u[3]||(u[3]=[a("导出配置",-1)])]),_:1}),t(r(h),{depth:"3",style:{"font-size":"12px"}},{default:o(()=>[...u[4]||(u[4]=[a(" 导出多平台配置为 ZIP(含渠道、Agents/Skills/Commands、原生配置等) ",-1)])]),_:1})]),t(r(w),{type:"primary",loading:q.value,onClick:V},{icon:o(()=>[t(r(m),null,{default:o(()=>[t(r(j))]),_:1})]),default:o(()=>[u[5]||(u[5]=a(" 导出配置 ",-1))]),_:1},8,["loading"])]),t(r(z)),d("div",L,[d("div",R,[t(r(h),{strong:""},{default:o(()=>[...u[6]||(u[6]=[a("导入配置",-1)])]),_:1}),t(r(h),{depth:"3",style:{"font-size":"12px"}},{default:o(()=>[...u[7]||(u[7]=[a(" 从 JSON 或 ZIP 文件导入配置(支持覆盖已有配置) ",-1)])]),_:1})]),t(r(b),{"custom-request":X,"show-file-list":!1,accept:".json,.zip"},{default:o(()=>[t(r(w),null,{icon:o(()=>[t(r(m),null,{default:o(()=>[t(r(k))]),_:1})]),default:o(()=>[u[8]||(u[8]=a(" 选择配置文件 ",-1))]),_:1})]),_:1}),Q.value?(l(),c("div",T,[t(r(h),{strong:"",style:{"font-size":"14px"}},{default:o(()=>[...u[9]||(u[9]=[a("导入预览",-1)])]),_:1}),d("div",P,[d("div",Z,[t(r(h),{depth:"3"},{default:o(()=>[...u[10]||(u[10]=[a("配置模板:",-1)])]),_:1}),t(r(h),null,{default:o(()=>[a(i(Q.value.counts.configTemplates),1)]),_:1})]),d("div",B,[t(r(h),{depth:"3"},{default:o(()=>[...u[11]||(u[11]=[a("渠道总数:",-1)])]),_:1}),t(r(h),null,{default:o(()=>[a(i(Q.value.counts.channels),1)]),_:1})]),d("div",W,[t(r(h),{depth:"3"},{default:o(()=>[...u[12]||(u[12]=[a("插件:",-1)])]),_:1}),t(r(h),null,{default:o(()=>[a(i(Q.value.counts.plugins||0),1)]),_:1})])]),t(r(x),{checked:M.value,"onUpdate:checked":u[0]||(u[0]=e=>M.value=e),style:{"margin-top":"12px"}},{default:o(()=>[...u[13]||(u[13]=[a(" 覆盖已有配置 ",-1)])]),_:1},8,["checked"]),t(r(y),{style:{"margin-top":"16px"}},{default:o(()=>[t(r(w),{type:"primary",loading:H.value,onClick:Y},{default:o(()=>[...u[14]||(u[14]=[a(" 确认导入 ",-1)])]),_:1},8,["loading"]),t(r(w),{onClick:ee},{default:o(()=>[...u[15]||(u[15]=[a("取消",-1)])]),_:1})]),_:1})])):e("",!0)])])]),_:1})]),_:1},8,["show","width"]))}},[["__scopeId","data-v-d8c9eada"]]);export{$ as default};
@@ -0,0 +1 @@
1
+ import{O as e,W as a,et as t,mt as s,w as r}from"./vue-vendor-Cr_NLmXY.js";import{O as o}from"./light-DeIjG9s_.js";import{t as i}from"./ConfigTemplatesPanel-BQe31_bq.js";import{t as p}from"./_plugin-vue_export-helper-DyHLuIR4.js";var m={class:"config-templates-page"},l=p({__name:"ConfigTemplates",setup:p=>(p,l)=>(a(),r("div",m,[e(s(o),{title:"配置模版管理",bordered:!1},{default:t(()=>[e(i,{"in-drawer":!1,"hide-back":!0})]),_:1})]))},[["__scopeId","data-v-a6c39fe5"]]);export{l as default};
@@ -0,0 +1 @@
1
+ import{O as e,S as a,W as s,b as t,et as r,mt as i,x as l}from"./vue-vendor-Cr_NLmXY.js";import{n as o,t as d}from"./useResponsiveDrawer-Deh7Xdcj.js";import{t as n}from"./DrawerContent-BYlV968f.js";import{t as p}from"./ConfigTemplatesPanel-BQe31_bq.js";import{t as m}from"./_plugin-vue_export-helper-DyHLuIR4.js";var v=m({__name:"ConfigTemplatesDrawer",props:{visible:{type:Boolean,default:!1}},emits:["update:visible"],setup(m,{emit:v}){const u=m,f=v,{drawerWidth:w}=d(720),c=t({get:()=>u.visible,set:e=>f("update:visible",e)}),b={padding:0,display:"flex",flexDirection:"column",overflow:"hidden"};return(t,d)=>(s(),a(i(o),{show:c.value,"onUpdate:show":d[1]||(d[1]=e=>c.value=e),width:i(w),placement:"right","mask-closable":!0},{default:r(()=>[e(i(n),{closable:"","native-scrollbar":!1,"body-content-style":b},{header:r(()=>[...d[2]||(d[2]=[l("div",{class:"drawer-header"},"配置模版管理",-1)])]),default:r(()=>[e(p,{"in-drawer":!0,"hide-back":!0,"drawer-visible":c.value,onBack:d[0]||(d[0]=e=>c.value=!1)},null,8,["drawer-visible"])]),_:1})]),_:1},8,["show","width"]))}},[["__scopeId","data-v-c337d3e9"]]);export{v as default};
@@ -0,0 +1 @@
1
+ import{A as e,C as l,D as a,F as t,G as n,J as s,K as r,M as i,N as o,O as d,S as u,V as c,W as m,Z as p,_t as v,b as f,dt as g,et as h,g as b,ht as y,m as C,mt as k,st as x,w as _,x as S}from"./vue-vendor-Cr_NLmXY.js";import{$t as w,D as T,E as z,I as P,L as R,N as A,Qt as $,Tt as O,Yt as U,Zt as L,bn as M,gn as F,gt as B,hn as N,ht as V,i as j,j as E,ln as I,mt as D,s as G,t as q,vn as H,xn as Y,y as W,yn as Z}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{$ as J,A as K,Ct as Q,H as X,I as ee,L as le,M as ae,N as te,St as ne,ct as se,ft as re,it as ie,j as oe,lt as de,rt as ue,st as ce,tt as me,ut as pe,z as ve}from"./index-BXWpib7P.js";import{t as fe}from"./use-message-BYx0IRj1.js";import{O as ge,S as he,l as be,n as ye}from"./light-DeIjG9s_.js";import{$ as Ce,A as ke,At as xe,Nt as _e,R as Se,S as we,Y as Te,et as ze,g as Pe,h as Re,i as Ae}from"./icons-C6KNTFqo.js";import{a as $e,d as Oe,f as Ue,g as Le,h as Me,m as Fe,p as Be,u as Ne}from"./workspaces-Y7hS24p2.js";import{t as Ve}from"./MarkdownEditor-Bf9QKKaV.js";import{n as je}from"./markdown-xLK9ekFg.js";import{a as Ee,c as Ie,i as De,n as Ge,o as qe,r as He,s as Ye,t as We}from"./xml-B78loRzO.js";import{t as Ze}from"./Divider-CEqaZMTW.js";import{n as Je,t as Ke}from"./CollapseItem-DEV7PQ-o.js";var Qe=e({name:"Search",render:()=>i("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",style:"enable-background: new 0 0 512 512"},i("path",{d:"M443.5,420.2L336.7,312.4c20.9-26.2,33.5-59.4,33.5-95.5c0-84.5-68.5-153-153.1-153S64,132.5,64,217s68.5,153,153.1,153\n c36.6,0,70.1-12.8,96.5-34.2l106.1,107.1c3.2,3.4,7.6,5.1,11.9,5.1c4.1,0,8.2-1.5,11.3-4.5C449.5,437.2,449.7,426.8,443.5,420.2z\n M217.1,337.1c-32.1,0-62.3-12.5-85-35.2c-22.7-22.7-35.2-52.9-35.2-84.9c0-32.1,12.5-62.3,35.2-84.9c22.7-22.7,52.9-35.2,85-35.2\n c32.1,0,62.3,12.5,85,35.2c22.7,22.7,35.2,52.9,35.2,84.9c0,32.1-12.5,62.3-35.2,84.9C279.4,324.6,249.2,337.1,217.1,337.1z"}))}),Xe=F("collapse-transition",{width:"100%"},[de()]),el=e({name:"CollapseTransition",props:Object.assign(Object.assign({},A.props),{show:{type:Boolean,default:!0},appear:Boolean,collapsed:{type:Boolean,default:void 0}}),inheritAttrs:!1,setup(e){const{mergedClsPrefixRef:l,inlineThemeDisabled:a,mergedRtlRef:t}=B(e),n=A("CollapseTransition","-collapse-transition",Xe,me,e,l),s=P("CollapseTransition",t,l),r=f(()=>void 0!==e.collapsed?e.collapsed:e.show),i=f(()=>{const{self:{bezier:e}}=n.value;return{"--n-bezier":e}}),o=a?V("collapse-transition",void 0,i,e):void 0;return{rtlEnabled:s,mergedShow:r,mergedClsPrefix:l,cssVars:a?void 0:i,themeClass:null==o?void 0:o.themeClass,onRender:null==o?void 0:o.onRender}},render(){return i(z,{appear:this.appear},{default:()=>{var e;if(this.mergedShow)return null===(e=this.onRender)||void 0===e||e.call(this),i("div",t({class:[`${this.mergedClsPrefix}-collapse-transition`,this.rtlEnabled&&`${this.mergedClsPrefix}-collapse-transition--rtl`,this.themeClass],style:this.cssVars},this.$attrs),this.$slots)}})}}),ll=U("n-transfer"),al=F("transfer","\n width: 100%;\n font-size: var(--n-font-size);\n height: 300px;\n display: flex;\n flex-wrap: nowrap;\n word-break: break-word;\n",[Z("disabled",[F("transfer-list",[F("transfer-list-header",[H("title","\n color: var(--n-header-text-color-disabled);\n "),H("extra","\n color: var(--n-header-extra-text-color-disabled);\n ")])])]),F("transfer-list","\n flex: 1;\n min-width: 0;\n height: inherit;\n display: flex;\n flex-direction: column;\n background-clip: padding-box;\n position: relative;\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-list-color);\n ",[Z("source","\n border-top-left-radius: var(--n-border-radius);\n border-bottom-left-radius: var(--n-border-radius);\n ",[H("border","border-right: 1px solid var(--n-divider-color);")]),Z("target","\n border-top-right-radius: var(--n-border-radius);\n border-bottom-right-radius: var(--n-border-radius);\n ",[H("border","border-left: none;")]),H("border","\n padding: 0 12px;\n border: 1px solid var(--n-border-color);\n transition: border-color .3s var(--n-bezier);\n pointer-events: none;\n border-radius: inherit;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n "),F("transfer-list-header","\n min-height: var(--n-header-height);\n box-sizing: border-box;\n display: flex;\n padding: 12px 12px 10px 12px;\n align-items: center;\n background-clip: padding-box;\n border-radius: inherit;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n line-height: 1.5;\n transition:\n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n ",[N("> *:not(:first-child)","\n margin-left: 8px;\n "),H("title","\n flex: 1;\n min-width: 0;\n line-height: 1.5;\n font-size: var(--n-header-font-size);\n font-weight: var(--n-header-font-weight);\n transition: color .3s var(--n-bezier);\n color: var(--n-header-text-color);\n "),H("button","\n position: relative;\n "),H("extra","\n transition: color .3s var(--n-bezier);\n font-size: var(--n-extra-font-size);\n margin-right: 0;\n white-space: nowrap;\n color: var(--n-header-extra-text-color);\n ")]),F("transfer-list-body","\n flex-basis: 0;\n flex-grow: 1;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: inherit;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n ",[F("transfer-filter","\n padding: 4px 12px 8px 12px;\n box-sizing: border-box;\n transition:\n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n "),F("transfer-list-flex-container","\n flex: 1;\n position: relative;\n ",[F("scrollbar","\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n height: unset;\n "),F("empty","\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateY(-50%) translateX(-50%);\n "),F("transfer-list-content","\n padding: 0;\n margin: 0;\n position: relative;\n ",[F("transfer-list-item","\n padding: 0 12px;\n min-height: var(--n-item-height);\n display: flex;\n align-items: center;\n color: var(--n-item-text-color);\n position: relative;\n transition: color .3s var(--n-bezier);\n ",[H("background","\n position: absolute;\n left: 4px;\n right: 4px;\n top: 0;\n bottom: 0;\n border-radius: var(--n-border-radius);\n transition: background-color .3s var(--n-bezier);\n "),H("checkbox","\n position: relative;\n margin-right: 8px;\n "),H("close","\n opacity: 0;\n pointer-events: none;\n position: relative;\n transition:\n opacity .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n "),H("label","\n position: relative;\n min-width: 0;\n flex-grow: 1;\n "),Z("source","cursor: pointer;"),Z("disabled","\n cursor: not-allowed;\n color: var(--n-item-text-color-disabled);\n "),M("disabled",[N("&:hover",[H("background","background-color: var(--n-item-color-pending);"),H("close","\n opacity: 1;\n pointer-events: all;\n ")])])])])])])])]),tl=e({name:"TransferFilter",props:{value:String,placeholder:String,disabled:Boolean,onUpdateValue:{type:Function,required:!0}},setup(){const{mergedThemeRef:e,mergedClsPrefixRef:l}=o(ll);return{mergedClsPrefix:l,mergedTheme:e}},render(){const{mergedTheme:e,mergedClsPrefix:l}=this;return i("div",{class:`${l}-transfer-filter`},i(ce,{value:this.value,onUpdateValue:this.onUpdateValue,disabled:this.disabled,placeholder:this.placeholder,theme:e.peers.Input,themeOverrides:e.peerOverrides.Input,clearable:!0,size:"small"},{"clear-icon-placeholder":()=>i(E,{clsPrefix:l},{default:()=>i(Qe,null)})}))}}),nl=e({name:"TransferHeader",props:{size:{type:String,required:!0},selectAllText:String,clearText:String,source:Boolean,onCheckedAll:Function,onClearAll:Function,title:[String,Function]},setup(e){const{targetOptionsRef:l,canNotSelectAnythingRef:a,canBeClearedRef:t,allCheckedRef:n,mergedThemeRef:s,disabledRef:r,mergedClsPrefixRef:d,srcOptionsLengthRef:u}=o(ll),{localeRef:c}=R("Transfer");return()=>{const{source:o,onClearAll:m,onCheckedAll:p,selectAllText:v,clearText:f}=e,{value:g}=s,{value:h}=d,{value:b}=c,y="large"===e.size?"small":"tiny",{title:C}=e;return i("div",{class:`${h}-transfer-list-header`},C&&i("div",{class:`${h}-transfer-list-header__title`},"function"==typeof C?C():C),o&&i(G,{class:`${h}-transfer-list-header__button`,theme:g.peers.Button,themeOverrides:g.peerOverrides.Button,size:y,tertiary:!0,onClick:n.value?m:p,disabled:a.value||r.value},{default:()=>n.value?f||b.unselectAll:v||b.selectAll}),!o&&t.value&&i(G,{class:`${h}-transfer-list-header__button`,theme:g.peers.Button,themeOverrides:g.peerOverrides.Button,size:y,tertiary:!0,onClick:m,disabled:r.value},{default:()=>b.clearAll}),i("div",{class:`${h}-transfer-list-header__extra`},o?b.total(u.value):b.selected(l.value.length)))}}}),sl=e({name:"NTransferListItem",props:{source:Boolean,label:{type:String,required:!0},value:{type:[String,Number],required:!0},disabled:Boolean,option:{type:Object,required:!0}},setup(e){const{targetValueSetRef:l,mergedClsPrefixRef:a,mergedThemeRef:t,handleItemCheck:n,renderSourceLabelRef:s,renderTargetLabelRef:r,showSelectedRef:i}=o(ll),d=w(()=>l.value.has(e.value));return{mergedClsPrefix:a,mergedTheme:t,checked:d,showSelected:i,renderSourceLabel:s,renderTargetLabel:r,handleClick:function(){e.disabled||n(!d.value,e.value)}}},render(){const{disabled:e,mergedTheme:l,mergedClsPrefix:a,label:t,checked:n,source:s,renderSourceLabel:r,renderTargetLabel:o}=this;return i("div",{class:[`${a}-transfer-list-item`,e&&`${a}-transfer-list-item--disabled`,s?`${a}-transfer-list-item--source`:`${a}-transfer-list-item--target`],onClick:s?this.handleClick:void 0},i("div",{class:`${a}-transfer-list-item__background`}),s&&this.showSelected&&i("div",{class:`${a}-transfer-list-item__checkbox`},i(ue,{theme:l.peers.Checkbox,themeOverrides:l.peerOverrides.Checkbox,disabled:e,checked:n})),i("div",{class:`${a}-transfer-list-item__label`,title:ne(t)},s?r?r({option:this.option}):t:o?o({option:this.option}):t),!s&&!e&&i(T,{focusable:!1,class:`${a}-transfer-list-item__close`,clsPrefix:a,onClick:this.handleClick}))}}),rl=e({name:"TransferList",props:{virtualScroll:{type:Boolean,required:!0},itemSize:{type:Number,required:!0},options:{type:Array,required:!0},disabled:{type:Boolean,required:!0},source:Boolean},setup(){const{mergedThemeRef:e,mergedClsPrefixRef:l}=o(ll),a=x(null),t=x(null);return{mergedTheme:e,mergedClsPrefix:l,scrollerInstRef:a,vlInstRef:t,syncVLScroller:function(){var e;null===(e=a.value)||void 0===e||e.sync()},scrollContainer:function(){const{value:e}=t;if(!e)return null;const{listElRef:l}=e;return l},scrollContent:function(){const{value:e}=t;if(!e)return null;const{itemsElRef:l}=e;return l}}},render(){const{mergedTheme:e,options:l}=this;if(0===l.length)return i(re,{theme:e.peers.Empty,themeOverrides:e.peerOverrides.Empty});const{mergedClsPrefix:a,virtualScroll:t,source:n,disabled:s,syncVLScroller:r}=this;return i(W,{ref:"scrollerInstRef",theme:e.peers.Scrollbar,themeOverrides:e.peerOverrides.Scrollbar,container:t?this.scrollContainer:void 0,content:t?this.scrollContent:void 0},{default:()=>t?i(Q,{ref:"vlInstRef",style:{height:"100%"},class:`${a}-transfer-list-content`,items:this.options,itemSize:this.itemSize,showScrollbar:!1,onResize:r,onScroll:r,keyField:"value"},{default:({item:e})=>{const{source:l,disabled:a}=this;return i(sl,{source:l,key:e.value,value:e.value,disabled:e.disabled||a,label:e.label,option:e})}}):i("div",{class:`${a}-transfer-list-content`},l.map(e=>i(sl,{source:n,key:e.value,value:e.value,disabled:e.disabled||s,label:e.label,option:e})))})}});var il=e({name:"Transfer",props:Object.assign(Object.assign({},A.props),{value:Array,defaultValue:{type:Array,default:null},options:{type:Array,default:()=>[]},disabled:{type:Boolean,default:void 0},virtualScroll:Boolean,sourceTitle:[String,Function],selectAllText:String,clearText:String,targetTitle:[String,Function],filterable:{type:Boolean,default:void 0},sourceFilterable:Boolean,targetFilterable:Boolean,showSelected:{type:Boolean,default:!0},sourceFilterPlaceholder:String,targetFilterPlaceholder:String,filter:{type:Function,default:(e,l)=>!e||~`${l.label}`.toLowerCase().indexOf(`${e}`.toLowerCase())},size:String,renderSourceLabel:Function,renderTargetLabel:Function,renderSourceList:Function,renderTargetList:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onChange:[Function,Array]}),setup(e){const{mergedClsPrefixRef:l}=B(e),a=A("Transfer","-transfer",al,ve,e,l),t=D(e),{mergedSizeRef:s,mergedDisabledRef:r}=t,i=f(()=>{const{value:e}=s,{self:{[Y("itemHeight",e)]:l}}=a.value;return I(l)}),{uncontrolledValueRef:o,mergedValueRef:d,targetValueSetRef:u,valueSetForCheckAllRef:c,valueSetForUncheckAllRef:m,valueSetForClearRef:p,filteredTgtOptionsRef:v,filteredSrcOptionsRef:h,targetOptionsRef:b,canNotSelectAnythingRef:y,canBeClearedRef:C,allCheckedRef:k,srcPatternRef:_,tgtPatternRef:S,mergedSrcFilterableRef:w,handleSrcFilterUpdateValue:T,handleTgtFilterUpdateValue:z}=function(e){const l=x(e.defaultValue),a=$(g(e,"value"),l),t=f(()=>{const l=new Map;return(e.options||[]).forEach(e=>l.set(e.value,e)),l}),n=f(()=>new Set(a.value||[])),s=f(()=>{const e=t.value,l=[];return(a.value||[]).forEach(a=>{const t=e.get(a);t&&l.push(t)}),l}),r=x(""),i=x(""),o=f(()=>e.sourceFilterable||!!e.filterable),d=f(()=>{const{showSelected:l,options:a,filter:t}=e;return o.value?a.filter(e=>t(r.value,e,"source")&&(l||!n.value.has(e.value))):l?a:a.filter(e=>!n.value.has(e.value))}),u=f(()=>{if(!e.targetFilterable)return s.value;const{filter:l}=e;return s.value.filter(e=>l(i.value,e,"target"))}),c=f(()=>{const{value:e}=a;return null===e?new Set:new Set(e)}),m=f(()=>{const e=new Set(c.value);return d.value.forEach(l=>{l.disabled||e.has(l.value)||e.add(l.value)}),e}),p=f(()=>{const e=new Set(c.value);return d.value.forEach(l=>{!l.disabled&&e.has(l.value)&&e.delete(l.value)}),e}),v=f(()=>{const e=new Set(c.value);return u.value.forEach(l=>{l.disabled||e.delete(l.value)}),e}),h=f(()=>d.value.every(e=>e.disabled)),b=f(()=>{if(!d.value.length)return!1;const e=c.value;return d.value.every(l=>l.disabled||e.has(l.value))}),y=f(()=>u.value.some(e=>!e.disabled));return{uncontrolledValueRef:l,mergedValueRef:a,targetValueSetRef:n,valueSetForCheckAllRef:m,valueSetForUncheckAllRef:p,valueSetForClearRef:v,filteredTgtOptionsRef:u,filteredSrcOptionsRef:d,targetOptionsRef:s,canNotSelectAnythingRef:h,canBeClearedRef:y,allCheckedRef:b,srcPatternRef:r,tgtPatternRef:i,mergedSrcFilterableRef:o,handleSrcFilterUpdateValue:function(e){r.value=null!=e?e:""},handleTgtFilterUpdateValue:function(e){i.value=null!=e?e:""}}}(e);function P(l){const{onUpdateValue:a,"onUpdate:value":n,onChange:s}=e,{nTriggerFormInput:r,nTriggerFormChange:i}=t;a&&O(a,l),n&&O(n,l),s&&O(s,l),o.value=l,r(),i()}function R(e,l){P(e?(d.value||[]).concat(l):(d.value||[]).filter(e=>e!==l))}return n(ll,{targetValueSetRef:u,mergedClsPrefixRef:l,disabledRef:r,mergedThemeRef:a,targetOptionsRef:b,canNotSelectAnythingRef:y,canBeClearedRef:C,allCheckedRef:k,srcOptionsLengthRef:f(()=>e.options.length),handleItemCheck:R,renderSourceLabelRef:g(e,"renderSourceLabel"),renderTargetLabelRef:g(e,"renderTargetLabel"),showSelectedRef:g(e,"showSelected")}),{mergedClsPrefix:l,mergedDisabled:r,itemSize:i,isMounted:L(),mergedTheme:a,filteredSrcOpts:h,filteredTgtOpts:v,srcPattern:_,tgtPattern:S,mergedSize:s,mergedSrcFilterable:w,handleSrcFilterUpdateValue:T,handleTgtFilterUpdateValue:z,handleSourceCheckAll:function(){P([...c.value])},handleSourceUncheckAll:function(){P([...m.value])},handleTargetClearAll:function(){P([...p.value])},handleItemCheck:R,handleChecked:function(e){P(e)},cssVars:f(()=>{const{value:e}=s,{common:{cubicBezierEaseInOut:l},self:{borderRadius:t,borderColor:n,listColor:r,titleTextColor:i,titleTextColorDisabled:o,extraTextColor:d,itemTextColor:u,itemColorPending:c,itemTextColorDisabled:m,titleFontWeight:p,closeColorHover:v,closeColorPressed:f,closeIconColor:g,closeIconColorHover:h,closeIconColorPressed:b,closeIconSize:y,closeSize:C,dividerColor:k,extraTextColorDisabled:x,[Y("extraFontSize",e)]:_,[Y("fontSize",e)]:S,[Y("titleFontSize",e)]:w,[Y("itemHeight",e)]:T,[Y("headerHeight",e)]:z}}=a.value;return{"--n-bezier":l,"--n-border-color":n,"--n-border-radius":t,"--n-extra-font-size":_,"--n-font-size":S,"--n-header-font-size":w,"--n-header-extra-text-color":d,"--n-header-extra-text-color-disabled":x,"--n-header-font-weight":p,"--n-header-text-color":i,"--n-header-text-color-disabled":o,"--n-item-color-pending":c,"--n-item-height":T,"--n-item-text-color":u,"--n-item-text-color-disabled":m,"--n-list-color":r,"--n-header-height":z,"--n-close-size":C,"--n-close-icon-size":y,"--n-close-color-hover":v,"--n-close-color-pressed":f,"--n-close-icon-color":g,"--n-close-icon-color-hover":h,"--n-close-icon-color-pressed":b,"--n-divider-color":k}})}},render(){const{mergedClsPrefix:e,renderSourceList:l,renderTargetList:a,mergedTheme:t,mergedSrcFilterable:n,targetFilterable:s}=this;return i("div",{class:[`${e}-transfer`,this.mergedDisabled&&`${e}-transfer--disabled`],style:this.cssVars},i("div",{class:`${e}-transfer-list ${e}-transfer-list--source`},i(nl,{source:!0,selectAllText:this.selectAllText,clearText:this.clearText,title:this.sourceTitle,onCheckedAll:this.handleSourceCheckAll,onClearAll:this.handleSourceUncheckAll,size:this.mergedSize}),i("div",{class:`${e}-transfer-list-body`},n?i(tl,{onUpdateValue:this.handleSrcFilterUpdateValue,value:this.srcPattern,disabled:this.mergedDisabled,placeholder:this.sourceFilterPlaceholder}):null,i("div",{class:`${e}-transfer-list-flex-container`},l?i(W,{theme:t.peers.Scrollbar,themeOverrides:t.peerOverrides.Scrollbar},{default:()=>l({onCheck:this.handleChecked,checkedOptions:this.filteredTgtOpts,pattern:this.srcPattern})}):i(rl,{source:!0,options:this.filteredSrcOpts,disabled:this.mergedDisabled,virtualScroll:this.virtualScroll,itemSize:this.itemSize}))),i("div",{class:`${e}-transfer-list__border`})),i("div",{class:`${e}-transfer-list ${e}-transfer-list--target`},i(nl,{onClearAll:this.handleTargetClearAll,size:this.mergedSize,title:this.targetTitle}),i("div",{class:`${e}-transfer-list-body`},s?i(tl,{onUpdateValue:this.handleTgtFilterUpdateValue,value:this.tgtPattern,disabled:this.mergedDisabled,placeholder:this.sourceFilterPlaceholder}):null,i("div",{class:`${e}-transfer-list-flex-container`},a?i(W,{theme:t.peers.Scrollbar,themeOverrides:t.peerOverrides.Scrollbar},{default:()=>a({onCheck:this.handleChecked,checkedOptions:this.filteredTgtOpts,pattern:this.tgtPattern})}):i(rl,{options:this.filteredTgtOpts,disabled:this.mergedDisabled,virtualScroll:this.virtualScroll,itemSize:this.itemSize}))),i("div",{class:`${e}-transfer-list__border`})))}}),ol=e({name:"Li",render(){return i("li",null,this.$slots)}}),dl=N("li",{transition:"color .3s var(--n-bezier)",lineHeight:"var(--n-line-height)",margin:"var(--n-li-margin)",marginBottom:0,color:"var(--n-text-color)"}),ul=[N("&:first-child","\n margin-top: 0;\n "),N("&:last-child","\n margin-bottom: 0;\n ")],cl=N([F("ol",{fontSize:"var(--n-font-size)",padding:"var(--n-ol-padding)"},[Z("align-text",{paddingLeft:0}),dl,ul]),F("ul",{fontSize:"var(--n-font-size)",padding:"var(--n-ul-padding)"},[Z("align-text",{paddingLeft:0}),dl,ul])]),ml=e({name:"Ul",props:Object.assign(Object.assign({},A.props),{alignText:Boolean}),setup(e){const{mergedClsPrefixRef:l,inlineThemeDisabled:a}=B(e),t=A("Typography","-xl",cl,ye,e,l),n=f(()=>{const{common:{cubicBezierEaseInOut:e},self:{olPadding:l,ulPadding:a,liMargin:n,liTextColor:s,liLineHeight:r,liFontSize:i}}=t.value;return{"--n-bezier":e,"--n-font-size":i,"--n-line-height":r,"--n-text-color":s,"--n-li-margin":n,"--n-ol-padding":l,"--n-ul-padding":a}}),s=a?V("ul",void 0,n,e):void 0;return{mergedClsPrefix:l,cssVars:a?void 0:n,themeClass:null==s?void 0:s.themeClass,onRender:null==s?void 0:s.onRender}},render(){var e;const{mergedClsPrefix:l}=this;return null===(e=this.onRender)||void 0===e||e.call(this),i("ul",{class:[`${l}-ul`,this.themeClass,this.alignText&&`${l}-ul--align-text`],style:this.cssVars},this.$slots)}}),pl={class:"card-header"},vl={class:"card-title"},fl={class:"name"},gl={class:"card-body"},hl={key:0,class:"description"},bl={class:"stats"},yl={key:0},Cl={key:1},kl={key:2},xl={key:3},_l={key:4},Sl=q({__name:"ConfigTemplateCard",props:{template:{type:Object,required:!0},deleting:{type:Boolean,default:!1}},emits:["click","apply","preview","edit","delete"],setup(e){const t=e;const n={claude:{label:"Claude",color:"#cc785c",textColor:"#fff",borderColor:"#cc785c"},codex:{label:"Codex",color:"#10a37f",textColor:"#fff",borderColor:"#10a37f"},gemini:{label:"Gemini",color:"#4285f4",textColor:"#fff",borderColor:"#4285f4"},opencode:{label:"OpenCode",color:"#ff6b35",textColor:"#fff",borderColor:"#ff6b35"},omp:{label:"OMP",color:"#0f9f9a",textColor:"#fff",borderColor:"#0f9f9a"}},s={claude:"CLAUDE.md",codex:"AGENTS.md",gemini:"GEMINI.md",opencode:".opencode/AGENTS.md",omp:".omp/commands"};function r(e){const l=n[e];return l?{color:l.color,textColor:l.textColor,borderColor:l.borderColor}:{}}const i=f(()=>{const e=t.template,l=e?.cliType;return l&&"all"!==l?"omp"===l&&e?.commands?.length?s.omp:(e?.aiConfigs?.[l])?.enabled?s[l]||null:"claude"===l&&e?.claudeMd?.enabled?"CLAUDE.md":null:null});return(t,s)=>{return m(),_("div",{class:"template-card",onClick:s[5]||(s[5]=l=>t.$emit("click",e.template))},[S("div",pl,[S("div",vl,[S("span",fl,v(e.template.name),1),e.template.cliType?(m(),u(k(pe),{key:0,size:"small",color:r(e.template.cliType),round:""},{default:h(()=>{return[a(v((l=e.template.cliType,n[l]?.label||l)),1)];var l}),_:1},8,["color"])):l("",!0)]),S("div",{class:"card-actions",onClick:s[4]||(s[4]=C(()=>{},["stop"]))},[d(k(G),{size:"small",type:"primary",onClick:s[0]||(s[0]=l=>t.$emit("apply",e.template))},{default:h(()=>[...s[6]||(s[6]=[a("应用",-1)])]),_:1}),d(k(G),{size:"small",onClick:s[1]||(s[1]=l=>t.$emit("preview",e.template))},{default:h(()=>[...s[7]||(s[7]=[a("预览",-1)])]),_:1}),d(k(G),{size:"small",onClick:s[2]||(s[2]=l=>t.$emit("edit",e.template))},{default:h(()=>[...s[8]||(s[8]=[a("编辑",-1)])]),_:1}),d(k(G),{size:"small",type:"error",loading:e.deleting,onClick:s[3]||(s[3]=l=>t.$emit("delete",e.template))},{default:h(()=>[...s[9]||(s[9]=[a("删除",-1)])]),_:1},8,["loading"])])]),S("div",gl,[e.template.description?(m(),_("div",hl,v((o=e.template.description,c=80,o?.length>c?o.slice(0,c)+"...":o)),1)):l("",!0),S("div",bl,[i.value?(m(),_("span",yl,v(i.value),1)):l("",!0),e.template.skills?.length?(m(),_("span",Cl,v(e.template.skills.length)+" Skills",1)):l("",!0),e.template.agents?.length?(m(),_("span",kl,v(e.template.agents.length)+" Agents",1)):l("",!0),e.template.commands?.length?(m(),_("span",xl,v(e.template.commands.length)+" Commands",1)):l("",!0),e.template.mcpServers?.length?(m(),_("span",_l,v(e.template.mcpServers.length)+" MCP",1)):l("",!0)])])]);var o,c}}},[["__scopeId","data-v-0bfacefb"]]),wl=["innerHTML"],Tl=q({__name:"MarkdownViewer",props:{content:{type:String,default:""}},setup(e){const l=e;function a(e,l){Ie.getLanguage(e)||Ie.registerLanguage(e,l)}a("javascript",Ye),a("typescript",qe),a("json",Ee),a("bash",De),a("shell",De),a("sh",De),a("python",He),a("css",Ge),a("xml",We),a("html",We);const t=new je({html:!0,linkify:!0,typographer:!0,highlight:function(e,l){if(l&&Ie.getLanguage(l))try{return'<pre class="hljs"><code>'+Ie.highlight(e,{language:l,ignoreIllegals:!0}).value+"</code></pre>"}catch(a){}return'<pre class="hljs"><code>'+t.utils.escapeHtml(e)+"</code></pre>"}}),n=f(()=>t.render(l.content||""));return(e,l)=>(m(),_("div",{class:"markdown-viewer",innerHTML:n.value},null,8,wl))}},[["__scopeId","data-v-9e29f753"]]),zl={class:"ai-config-header"},Pl={key:0,class:"prompt-preview"},Rl={class:"ai-config-header"},Al={class:"ai-config-header"},$l={class:"ai-config-header"},Ol={class:"ai-config-header"},Ul={__name:"ConfigTemplateFormModal",props:{show:Boolean,template:Object,availableConfigs:{type:Object,default:()=>({})}},emits:["update:show","success"],setup(e,{emit:t}){const n=e,r=t,i=fe(),o=x(null),c=x(!1),g=f(()=>{const e=n.availableConfigs?.platforms;return Array.isArray(e)?e:[]});function y(e=[]){const l=[...g.value.map(e=>e.key),...Object.keys(n.availableConfigs?.skillsByPlatform||{}),...Object.keys(n.availableConfigs?.agentsByPlatform||{}),...Object.keys(n.availableConfigs?.commandsByPlatform||{}),...e];return[...new Set(l.filter(e=>"string"==typeof e&&e.trim()))]}const C=f(()=>g.value.map(e=>({label:e.label||e.title||e.key,value:e.key}))),w=f(()=>g.value.find(e=>e.key===$.value.cliType)),T=f(()=>w.value?.label||w.value?.title||$.value.cliType),z=f(()=>w.value?.promptFile||"");function P(e){const l=w.value?.projectResources?.[e];return l?.canonicalRoot||l?.path||""}const R=f(()=>Boolean($.value.cliType&&w.value&&!["claude","codex","gemini","opencode","omp"].includes($.value.cliType))),A=f(()=>!!n.template?.id),$=x(O());function O(){return{name:"",description:"",cliType:"",aiConfigs:Object.fromEntries(y().map(e=>[e,{enabled:!1,content:""}])),claudeMd:{enabled:!1,content:""},skills:[],agents:[],commands:[],mcpServers:[]}}p(g,e=>{for(const l of e)$.value.aiConfigs[l.key]||($.value.aiConfigs[l.key]={enabled:!1,content:""})},{deep:!0,immediate:!0});const U={name:{required:!0,message:"请输入模版名称",trigger:"blur"},cliType:{required:!0,message:"请选择 CLI 工具类型",trigger:"change"}},L=f(()=>{const e=$.value.cliType,l=n.availableConfigs?.skillsByPlatform||{};return(e&&l[e]?l[e]:[]).map(e=>({value:e.directory,label:e.name?`${e.name} (${e.directory})`:e.directory,disabled:!1}))}),M=f(()=>{const e=$.value.cliType,l=n.availableConfigs?.agentsByPlatform||{};return(e&&l[e]?l[e]:n.availableConfigs?.agents||[]).map(e=>({value:e.fileName,label:e.name||e.fileName,disabled:!1}))}),F=f(()=>{const e=$.value.cliType,l=n.availableConfigs?.commandsByPlatform||{};return(e&&l[e]?l[e]:n.availableConfigs?.commands||[]).map(e=>({value:e.namespace?`${e.namespace}/${e.name}`:e.name,label:e.namespace?`${e.namespace}/${e.name}`:e.name,disabled:!1}))}),B=f(()=>{const e=n.availableConfigs?.mcpServers||[],l=n.availableConfigs?.mcpPresets||[],a=[...e.map(e=>({value:e.id,label:e.name||e.id})),...l.map(e=>({value:e.id,label:`${e.name} (预设)`}))],t=new Set;return a.filter(e=>!t.has(e.value)&&(t.add(e.value),!0))}),N=x(null),V=f(()=>(n.availableConfigs?.prompts||[]).map(e=>({value:e.id,label:e.isBuiltin?`[内置] ${e.name}`:e.name,description:e.description}))),j=f({get:()=>$.value.skills.map(e=>e.directory),set:e=>{const l=$.value.cliType,a=n.availableConfigs?.skillsByPlatform||{},t=l&&a[l]?a[l]:[];$.value.skills=e.map(e=>{const l=t.find(l=>l.directory===e);return l?{...l}:{directory:e,name:e}})}}),E=f({get:()=>$.value.agents.map(e=>e.fileName),set:e=>{const l=$.value.cliType,a=n.availableConfigs?.agentsByPlatform||{},t=l&&a[l]?a[l]:n.availableConfigs?.agents||[];$.value.agents=e.map(e=>{const l=t.find(l=>l.fileName===e);return l?{...l}:{fileName:e}})}}),I=f({get:()=>$.value.commands.map(e=>e.namespace?`${e.namespace}/${e.name}`:e.name),set:e=>{const l=$.value.cliType,a=n.availableConfigs?.commandsByPlatform||{},t=l&&a[l]?a[l]:n.availableConfigs?.commands||[];$.value.commands=e.map(e=>{const l=t.find(l=>(l.namespace?`${l.namespace}/${l.name}`:l.name)===e);return l?{...l}:{name:e}})}});function D(e){if(!e)return void($.value.aiConfigs.claude.content="");const l=(n.availableConfigs?.prompts||[]).find(l=>l.id===e);l&&($.value.aiConfigs.claude.enabled=!0,$.value.aiConfigs.claude.content=l.content)}async function q(){try{await(o.value?.validate())}catch{return}c.value=!0;try{const e={...$.value};let l;l=A.value?await Le(n.template.id,e):await Oe(e),l.success?(i.success(A.value?"保存成功":"创建成功"),r("success")):i.error(l.message||"操作失败")}catch(e){i.error("操作失败: "+e.message)}finally{c.value=!1}}return p(()=>n.show,e=>{if(e)if(N.value=null,n.template){const e=Object.keys(n.template.aiConfigs||{}),l=Object.fromEntries(y(e).map(e=>[e,{enabled:!1,content:""}]));if(n.template.aiConfigs)for(const a of y(Object.keys(n.template.aiConfigs)))n.template.aiConfigs[a]&&(l[a]={...n.template.aiConfigs[a]});else n.template.claudeMd&&(l.claude||(l.claude={enabled:!1,content:""}),l.claude={...n.template.claudeMd});$.value={name:n.template.name||"",description:n.template.description||"",cliType:n.template.cliType||"",aiConfigs:l,claudeMd:n.template.claudeMd?{...n.template.claudeMd}:{enabled:!1,content:""},skills:n.template.skills?[...n.template.skills]:[],agents:n.template.agents?[...n.template.agents]:[],commands:n.template.commands?[...n.template.commands]:[],mcpServers:n.template.mcpServers?[...n.template.mcpServers]:[]}}else $.value=O()}),p(()=>$.value.cliType,e=>{const l=g.value.find(l=>l.key===e)?.resourceTypes;l&&(l.skills||($.value.skills=[]),l.agents||($.value.agents=[]),l.commands||($.value.commands=[]))}),(t,n)=>{const i=s("n-text");return m(),u(k(be),{show:e.show,preset:"card",title:A.value?"编辑配置模版":"创建配置模版",style:{width:"850px","max-height":"90vh"},"mask-closable":!1,"onUpdate:show":n[30]||(n[30]=e=>r("update:show",e))},{footer:h(()=>[d(k(X),{justify:"end"},{default:h(()=>[d(k(G),{onClick:n[29]||(n[29]=e=>r("update:show",!1))},{default:h(()=>[...n[35]||(n[35]=[a("取消",-1)])]),_:1}),d(k(G),{type:"primary",loading:c.value,onClick:q},{default:h(()=>[a(v(A.value?"保存":"创建"),1)]),_:1},8,["loading"])]),_:1})]),default:h(()=>[d(k(te),{style:{"max-height":"calc(90vh - 140px)"}},{default:h(()=>[d(k(le),{ref_key:"formRef",ref:o,model:$.value,rules:U,"label-placement":"left","label-width":"100"},{default:h(()=>[d(k(ge),{title:"基本信息",size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[d(k(ee),{label:"模版名称",path:"name"},{default:h(()=>[d(k(ce),{value:$.value.name,"onUpdate:value":n[0]||(n[0]=e=>$.value.name=e),placeholder:"输入模版名称"},null,8,["value"])]),_:1}),d(k(ee),{label:"描述",path:"description"},{default:h(()=>[d(k(ce),{value:$.value.description,"onUpdate:value":n[1]||(n[1]=e=>$.value.description=e),type:"textarea",rows:2,placeholder:"输入模版描述"},null,8,["value"])]),_:1}),d(k(ee),{label:"CLI 工具",path:"cliType"},{default:h(()=>[d(k(J),{value:$.value.cliType,"onUpdate:value":n[2]||(n[2]=e=>$.value.cliType=e),options:C.value,placeholder:"选择 CLI 工具类型"},null,8,["value","options"])]),_:1})]),_:1}),$.value.cliType?l("",!0):(m(),u(k(ge),{key:0,size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[d(k(re),{description:"请先选择 CLI 工具类型以显示配置项"})]),_:1})),"claude"===$.value.cliType?(m(),_(b,{key:1},[d(k(ge),{title:"CLAUDE.md",size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[S("div",zl,[d(k(X),{align:"center"},{default:h(()=>[d(k(oe),{value:$.value.aiConfigs.claude.enabled,"onUpdate:value":n[3]||(n[3]=e=>$.value.aiConfigs.claude.enabled=e)},null,8,["value"]),d(i,{depth:$.value.aiConfigs.claude.enabled?1:3},{default:h(()=>[...n[31]||(n[31]=[a("启用 CLAUDE.md",-1)])]),_:1},8,["depth"])]),_:1})]),d(k(el),{show:$.value.aiConfigs.claude.enabled},{default:h(()=>[d(k(J),{value:N.value,"onUpdate:value":[n[4]||(n[4]=e=>N.value=e),D],options:V.value,placeholder:"选择 Prompt 预设作为 CLAUDE.md 内容",clearable:"",style:{"margin-bottom":"10px"}},null,8,["value","options"]),$.value.aiConfigs.claude.content?(m(),_("div",Pl,[d(Tl,{content:$.value.aiConfigs.claude.content},null,8,["content"])])):(m(),u(k(re),{key:1,description:"可选择 Prompt 预设,或留空",style:{padding:"24px 0"}}))]),_:1},8,["show"])]),_:1}),d(k(ge),{title:"Skills",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.skills.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:j.value,"onUpdate:value":n[5]||(n[5]=e=>j.value=e),options:L.value,"source-title":"可用 Skills","target-title":"已选 Skills"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Agents",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.agents.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:E.value,"onUpdate:value":n[6]||(n[6]=e=>E.value=e),options:M.value,"source-title":"可用 Agents","target-title":"已选 Agents"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Commands",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.commands.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:I.value,"onUpdate:value":n[7]||(n[7]=e=>I.value=e),options:F.value,"source-title":"可用 Commands","target-title":"已选 Commands"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"MCP Servers",size:"small"},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.mcpServers.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:$.value.mcpServers,"onUpdate:value":n[8]||(n[8]=e=>$.value.mcpServers=e),options:B.value,"source-title":"可用 MCP Servers","target-title":"已选 MCP Servers"},null,8,["value","options"])]),_:1})],64)):l("",!0),"codex"===$.value.cliType?(m(),_(b,{key:2},[d(k(ge),{title:"AGENTS.md",size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[S("div",Rl,[d(k(X),{align:"center"},{default:h(()=>[d(k(oe),{value:$.value.aiConfigs.codex.enabled,"onUpdate:value":n[9]||(n[9]=e=>$.value.aiConfigs.codex.enabled=e)},null,8,["value"]),d(i,{depth:$.value.aiConfigs.codex.enabled?1:3},{default:h(()=>[...n[32]||(n[32]=[a("启用 AGENTS.md",-1)])]),_:1},8,["depth"])]),_:1})]),d(k(el),{show:$.value.aiConfigs.codex.enabled},{default:h(()=>[d(Ve,{modelValue:$.value.aiConfigs.codex.content,"onUpdate:modelValue":n[10]||(n[10]=e=>$.value.aiConfigs.codex.content=e),rows:10,"min-height":220,placeholder:"输入 AGENTS.md 内容"},null,8,["modelValue"])]),_:1},8,["show"])]),_:1}),d(k(ge),{title:"Skills",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.skills.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:j.value,"onUpdate:value":n[11]||(n[11]=e=>j.value=e),options:L.value,"source-title":"可用 Skills","target-title":"已选 Skills"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Agents",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.agents.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:E.value,"onUpdate:value":n[12]||(n[12]=e=>E.value=e),options:M.value,"source-title":"可用 Agents","target-title":"已选 Agents"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Commands",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.commands.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:I.value,"onUpdate:value":n[13]||(n[13]=e=>I.value=e),options:F.value,"source-title":"可用 Commands","target-title":"已选 Commands"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"MCP Servers",size:"small"},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.mcpServers.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:$.value.mcpServers,"onUpdate:value":n[14]||(n[14]=e=>$.value.mcpServers=e),options:B.value,"source-title":"可用 MCP Servers","target-title":"已选 MCP Servers"},null,8,["value","options"])]),_:1})],64)):l("",!0),"gemini"===$.value.cliType?(m(),_(b,{key:3},[d(k(ge),{title:"GEMINI.md",size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[S("div",Al,[d(k(X),{align:"center"},{default:h(()=>[d(k(oe),{value:$.value.aiConfigs.gemini.enabled,"onUpdate:value":n[15]||(n[15]=e=>$.value.aiConfigs.gemini.enabled=e)},null,8,["value"]),d(i,{depth:$.value.aiConfigs.gemini.enabled?1:3},{default:h(()=>[...n[33]||(n[33]=[a("启用 GEMINI.md",-1)])]),_:1},8,["depth"])]),_:1})]),d(k(el),{show:$.value.aiConfigs.gemini.enabled},{default:h(()=>[d(Ve,{modelValue:$.value.aiConfigs.gemini.content,"onUpdate:modelValue":n[16]||(n[16]=e=>$.value.aiConfigs.gemini.content=e),rows:10,"min-height":220,placeholder:"输入 GEMINI.md 内容"},null,8,["modelValue"])]),_:1},8,["show"])]),_:1}),d(k(ge),{title:"Skills",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.skills.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:j.value,"onUpdate:value":n[17]||(n[17]=e=>j.value=e),options:L.value,"source-title":"可用 Skills","target-title":"已选 Skills"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"MCP Servers",size:"small"},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.mcpServers.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:$.value.mcpServers,"onUpdate:value":n[18]||(n[18]=e=>$.value.mcpServers=e),options:B.value,"source-title":"可用 MCP Servers","target-title":"已选 MCP Servers"},null,8,["value","options"])]),_:1})],64)):l("",!0),"opencode"===$.value.cliType?(m(),_(b,{key:4},[d(k(ge),{title:".opencode/AGENTS.md",size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[S("div",$l,[d(k(X),{align:"center"},{default:h(()=>[d(k(oe),{value:$.value.aiConfigs.opencode.enabled,"onUpdate:value":n[19]||(n[19]=e=>$.value.aiConfigs.opencode.enabled=e)},null,8,["value"]),d(i,{depth:$.value.aiConfigs.opencode.enabled?1:3},{default:h(()=>[...n[34]||(n[34]=[a("启用 .opencode/AGENTS.md",-1)])]),_:1},8,["depth"])]),_:1})]),d(k(el),{show:$.value.aiConfigs.opencode.enabled},{default:h(()=>[d(Ve,{modelValue:$.value.aiConfigs.opencode.content,"onUpdate:modelValue":n[20]||(n[20]=e=>$.value.aiConfigs.opencode.content=e),rows:10,"min-height":220,placeholder:"输入 .opencode/AGENTS.md 内容"},null,8,["modelValue"])]),_:1},8,["show"])]),_:1}),d(k(ge),{title:"Skills",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.skills.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:j.value,"onUpdate:value":n[21]||(n[21]=e=>j.value=e),options:L.value,"source-title":"可用 Skills","target-title":"已选 Skills"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Agents",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.agents.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:E.value,"onUpdate:value":n[22]||(n[22]=e=>E.value=e),options:M.value,"source-title":"可用 Agents","target-title":"已选 Agents"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Commands",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.commands.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:I.value,"onUpdate:value":n[23]||(n[23]=e=>I.value=e),options:F.value,"source-title":"可用 Commands","target-title":"已选 Commands"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"MCP Servers",size:"small"},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.mcpServers.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:$.value.mcpServers,"onUpdate:value":n[24]||(n[24]=e=>$.value.mcpServers=e),options:B.value,"source-title":"可用 MCP Servers","target-title":"已选 MCP Servers"},null,8,["value","options"])]),_:1})],64)):l("",!0),"omp"===$.value.cliType?(m(),_(b,{key:5},[d(k(ge),{title:"OMP Commands",size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[d(k(pe),{size:"small",type:"success"},{default:h(()=>[a(v(P("commands")||"Commands"),1)]),_:1})]),_:1}),d(k(ge),{title:"Skills",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.skills.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:j.value,"onUpdate:value":n[25]||(n[25]=e=>j.value=e),options:L.value,"source-title":"可用 Skills","target-title":"已选 Skills"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"Commands",size:"small",style:{"margin-bottom":"16px"}},{"header-extra":h(()=>[d(k(pe),{size:"small"},{default:h(()=>[a("已选 "+v($.value.commands.length),1)]),_:1})]),default:h(()=>[d(k(il),{value:I.value,"onUpdate:value":n[26]||(n[26]=e=>I.value=e),options:F.value,"source-title":"可用 Commands","target-title":"已选 Commands"},null,8,["value","options"])]),_:1}),d(k(ge),{title:"MCP Servers",size:"small"},{default:h(()=>[d(k(pe),{size:"small",type:"default"},{default:h(()=>[a(v(P("plugins")||"packages/extensions"),1)]),_:1})]),_:1})],64)):l("",!0),R.value?(m(),u(k(ge),{key:6,title:`${T.value} 配置`,size:"small",style:{"margin-bottom":"16px"}},{default:h(()=>[S("div",Ol,[d(k(X),{align:"center"},{default:h(()=>[d(k(oe),{value:$.value.aiConfigs[$.value.cliType].enabled,"onUpdate:value":n[27]||(n[27]=e=>$.value.aiConfigs[$.value.cliType].enabled=e)},null,8,["value"]),d(i,{depth:$.value.aiConfigs[$.value.cliType].enabled?1:3},{default:h(()=>[a(" 启用 "+v(z.value||`${T.value} 配置`),1)]),_:1},8,["depth"])]),_:1})]),d(k(el),{show:$.value.aiConfigs[$.value.cliType].enabled},{default:h(()=>[d(Ve,{modelValue:$.value.aiConfigs[$.value.cliType].content,"onUpdate:modelValue":n[28]||(n[28]=e=>$.value.aiConfigs[$.value.cliType].content=e),rows:10,"min-height":220,placeholder:`输入 ${z.value||T.value} 内容`},null,8,["modelValue","placeholder"])]),_:1},8,["show"])]),_:1},8,["title"])):l("",!0)]),_:1},8,["model"])]),_:1})]),_:1},8,["show","title"])}}},Ll=q(Ul,[["__scopeId","data-v-0d81f984"]]),Ml={key:0},Fl={key:1},Bl={key:2},Nl={key:4},Vl={__name:"ConfigApplyModal",props:{show:Boolean,template:Object},emits:["update:show","success"],setup(e,{emit:t}){const n=e,s=t,i=fe(),o=x(null),c=x(!1),g=x(!1),y=x(null),C=x(!1),w=x([]),T=x(null),z={claude:{key:"claude",name:"Claude",fileName:"CLAUDE.md",color:"#cc785c"},codex:{key:"codex",name:"Codex",fileName:"AGENTS.md",color:"#10a37f"},gemini:{key:"gemini",name:"Gemini",fileName:"GEMINI.md",color:"#4285f4"},opencode:{key:"opencode",name:"OpenCode",fileName:".opencode/AGENTS.md",color:"#ff6b35"},omp:{key:"omp",name:"OMP command templates",fileName:".omp/commands",color:"#0f9f9a"}},P=f(()=>{const e=n.template?.aiConfigs||{},l=n.template?.cliType;if("omp"===l&&z.omp)return[z.omp];const a=Object.entries(e).filter(([,e])=>e?.enabled&&e?.content).map(([e])=>z[e]).filter(Boolean);if(l&&"all"!==l){const a=e[l];if(a?.enabled&&a?.content&&z[l])return[z[l]]}return a});function R(){return P.value.map(e=>e.key)}const A=x({targetPath:"",aiConfigTypes:[]}),$={targetPath:{required:!0,message:"请输入目标路径",trigger:"blur"}},O=f(()=>{const e=new Set,l=[];for(const a of w.value){const t=a.fullPath||a.path||a.name;t&&!e.has(t)&&(e.add(t),l.push({label:`${a.displayName||a.name} (${a.channel})`,value:t}))}return l});function U(e){e&&(A.value.targetPath=e)}async function L(){if(A.value.targetPath&&n.template&&0!==A.value.aiConfigTypes.length){c.value=!0;try{const e=await Me(n.template.id,A.value.targetPath,A.value.aiConfigTypes);e.success?y.value=e.data:i.error(e.message||"预览失败")}catch(e){i.error("预览失败: "+e.message)}finally{c.value=!1}}}async function M(){try{await(o.value?.validate())}catch{return}if(n.template&&0!==A.value.aiConfigTypes.length){g.value=!0;try{const e=await Ne(n.template.id,A.value.targetPath,A.value.aiConfigTypes);if(e.success){const l=e.data?.results?.skipped||[];l.length>0?i.warning(`模版已部分应用,${l.length} 项已跳过`):i.success("模版应用成功"),s("success",e.data||null)}else i.error(e.message||"应用失败")}catch(e){i.error("应用失败: "+e.message)}finally{g.value=!1}}}return p(()=>n.show,e=>{e&&(A.value.targetPath="",A.value.aiConfigTypes=R(),y.value=null,T.value=null,async function(){C.value=!0;try{const e=await $e();e.success?w.value=Array.isArray(e.data)?e.data:[]:w.value=[]}catch(e){w.value=[]}finally{C.value=!1}}())}),p(()=>n.template,()=>{A.value.aiConfigTypes=R()}),(t,n)=>(m(),u(k(be),{show:e.show,preset:"card",title:`应用模版: ${e.template?.name||""}`,style:{width:"650px"},"mask-closable":!1,"onUpdate:show":n[4]||(n[4]=e=>s("update:show",e))},{footer:h(()=>[d(k(X),{justify:"end"},{default:h(()=>[d(k(G),{onClick:n[3]||(n[3]=e=>s("update:show",!1))},{default:h(()=>[...n[14]||(n[14]=[a("取消",-1)])]),_:1}),d(k(G),{type:"primary",loading:g.value,disabled:!A.value.targetPath||0===A.value.aiConfigTypes.length,onClick:M},{default:h(()=>[...n[15]||(n[15]=[a(" 确认应用 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),default:h(()=>[d(k(le),{ref_key:"formRef",ref:o,model:A.value,rules:$},{default:h(()=>[d(k(ee),{label:"选择已有项目"},{default:h(()=>[d(k(J),{value:T.value,"onUpdate:value":[n[0]||(n[0]=e=>T.value=e),U],options:O.value,loading:C.value,placeholder:"选择已有项目路径",filterable:"",clearable:""},null,8,["value","options","loading"])]),_:1}),d(k(ee),{label:"目标项目路径",path:"targetPath"},{default:h(()=>[d(k(ce),{value:A.value.targetPath,"onUpdate:value":n[1]||(n[1]=e=>A.value.targetPath=e),placeholder:"输入项目目录路径,如 /path/to/project"},null,8,["value"])]),_:1}),P.value.length>0?(m(),u(k(ee),{key:0,label:"生成配置文件"},{default:h(()=>[d(k(ie),{value:A.value.aiConfigTypes,"onUpdate:value":n[2]||(n[2]=e=>A.value.aiConfigTypes=e)},{default:h(()=>[d(k(X),null,{default:h(()=>[(m(!0),_(b,null,r(P.value,e=>(m(),u(k(ue),{key:e.key,value:e.key},{default:h(()=>[d(k(X),{align:"center",size:4},{default:h(()=>[d(k(j),{size:16,color:e.color},{default:h(()=>[d(k(Ce))]),_:1},8,["color"]),S("span",null,v(e.name),1),d(k(K),{depth:"3",style:{"font-size":"12px"}},{default:h(()=>[a("("+v(e.fileName||e.name)+")",1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["value"]),d(k(K),{depth:"3",style:{"font-size":"12px","margin-top":"4px",display:"block"}},{default:h(()=>[...n[5]||(n[5]=[a(" 可同时选择多个 CLI 配置文件 ",-1)])]),_:1})]),_:1})):l("",!0)]),_:1},8,["model"]),d(k(X),{style:{"margin-bottom":"16px"}},{default:h(()=>[d(k(G),{onClick:L,loading:c.value,disabled:!A.value.targetPath||0===A.value.aiConfigTypes.length},{default:h(()=>[...n[6]||(n[6]=[a(" 预览应用效果 ",-1)])]),_:1},8,["loading","disabled"])]),_:1}),y.value?(m(),u(k(ge),{key:0,size:"small",title:"应用预览"},{default:h(()=>[d(k(X),{vertical:""},{default:h(()=>[y.value.summary?(m(),_("div",Ml,[d(k(K),{depth:"3"},{default:h(()=>[...n[7]||(n[7]=[a("将应用:",-1)])]),_:1}),d(k(X),{style:{"margin-top":"8px"},wrap:""},{default:h(()=>[(m(!0),_(b,null,r(y.value.summary.aiConfigs,e=>{return m(),u(k(pe),{key:e.type,type:(l=e.type,{claude:"warning",codex:"success",gemini:"info",opencode:"error",omp:"success"}[l]||"default"),size:"small"},{default:h(()=>[a(v(e.fileName||e.name),1)]),_:2},1032,["type"]);var l}),128)),y.value.summary.skills?(m(),u(k(pe),{key:0,type:"info",size:"small"},{default:h(()=>[a(v(y.value.summary.skills)+" Skills",1)]),_:1})):l("",!0),y.value.summary.agents?(m(),u(k(pe),{key:1,type:"info",size:"small"},{default:h(()=>[a(v(y.value.summary.agents)+" Agents",1)]),_:1})):l("",!0),y.value.summary.commands?(m(),u(k(pe),{key:2,type:"info",size:"small"},{default:h(()=>[a(v(y.value.summary.commands)+" Commands",1)]),_:1})):l("",!0),y.value.summary.plugins?(m(),u(k(pe),{key:3,type:"warning",size:"small"},{default:h(()=>[a(v(y.value.summary.plugins)+" Plugins",1)]),_:1})):l("",!0),y.value.summary.mcpServers?(m(),u(k(pe),{key:4,type:"warning",size:"small"},{default:h(()=>[a(v(y.value.summary.mcpServers)+" MCP",1)]),_:1})):l("",!0),y.value.summary.skipped?(m(),u(k(pe),{key:5,type:"error",size:"small"},{default:h(()=>[a(v(y.value.summary.skipped)+" Skipped",1)]),_:1})):l("",!0)]),_:1})])):l("",!0),d(k(Ze),{style:{margin:"12px 0"}}),y.value.willCreate?.length?(m(),_("div",Fl,[d(k(K),{type:"success"},{default:h(()=>[...n[8]||(n[8]=[a("将创建:",-1)])]),_:1}),d(k(ml),{style:{margin:"4px 0"}},{default:h(()=>[(m(!0),_(b,null,r(y.value.willCreate,e=>(m(),u(k(ol),{key:e},{default:h(()=>[d(k(K),{code:""},{default:h(()=>[a(v(e),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):l("",!0),y.value.willOverwrite?.length?(m(),_("div",Bl,[d(k(K),{type:"warning"},{default:h(()=>[...n[9]||(n[9]=[a("将覆盖:",-1)])]),_:1}),d(k(ml),{style:{margin:"4px 0"}},{default:h(()=>[(m(!0),_(b,null,r(y.value.willOverwrite,e=>(m(),u(k(ol),{key:e},{default:h(()=>[d(k(K),{code:""},{default:h(()=>[a(v(e),1)]),_:2},1024),d(k(pe),{type:"warning",size:"tiny",style:{"margin-left":"8px"}},{default:h(()=>[...n[10]||(n[10]=[a("已存在",-1)])]),_:1})]),_:2},1024))),128))]),_:1})])):l("",!0),y.value.willOverwrite?.length?(m(),u(k(se),{key:3,type:"warning",style:{"margin-top":"8px"}},{default:h(()=>[...n[11]||(n[11]=[a(" 以上文件将被覆盖,请确认后再应用 ",-1)])]),_:1})):l("",!0),y.value.skipped?.length?(m(),_("div",Nl,[d(k(K),{type:"error"},{default:h(()=>[...n[12]||(n[12]=[a("将跳过:",-1)])]),_:1}),d(k(ml),{style:{margin:"4px 0"}},{default:h(()=>[(m(!0),_(b,null,r(y.value.skipped,(e,l)=>(m(),u(k(ol),{key:`${e.type}-${e.item}-${l}`},{default:h(()=>[d(k(K),null,{default:h(()=>[a(v(e.type)+": ",1)]),_:2},1024),d(k(K),{code:""},{default:h(()=>[a(v(e.item),1)]),_:2},1024),d(k(K),{depth:"3"},{default:h(()=>[a(" - "+v(e.reason),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):l("",!0),y.value.skipped?.length?(m(),u(k(se),{key:5,type:"info",style:{"margin-top":"8px"}},{default:h(()=>[...n[13]||(n[13]=[a(" 本次将进行部分应用,以上项会被跳过。 ",-1)])]),_:1})):l("",!0)]),_:1})]),_:1})):l("",!0)]),_:1},8,["show","title"]))}},jl={key:0,class:"preview-content"},El={class:"info-section"},Il={class:"info-row"},Dl={class:"value"},Gl={key:0,class:"info-row"},ql={class:"value"},Hl={key:1,class:"info-row"},Yl={class:"stats-section"},Wl={class:"stats-grid"},Zl={key:1,class:"stat-item"},Jl={key:2,class:"stat-item"},Kl={key:3,class:"stat-item"},Ql={key:4,class:"stat-item"},Xl={key:5,class:"stat-item"},ea={class:"markdown-content"},la={class:"markdown-content"},aa={class:"list-items"},ta={class:"list-items"},na={class:"list-items"},sa={key:0,class:"list-note"},ra={class:"list-items"},ia=q({__name:"ConfigPreviewModal",props:{show:Boolean,template:Object},emits:["update:show","apply"],setup(e,{emit:t}){const n=e,s=t,i={claude:{key:"claude",name:"Claude",fileName:"CLAUDE.md",color:"#cc785c"},codex:{key:"codex",name:"Codex",fileName:"AGENTS.md",color:"#10a37f"},gemini:{key:"gemini",name:"Gemini",fileName:"GEMINI.md",color:"#4285f4"},opencode:{key:"opencode",name:"OpenCode",fileName:".opencode/AGENTS.md",color:"#ff6b35"},omp:{key:"omp",name:"OMP command templates",fileName:".omp/commands",color:"#0f9f9a"}},o=f(()=>{const e=n.template?.aiConfigs||{},l=Object.entries(e).filter(([,e])=>e?.enabled&&e?.content).map(([e,l])=>({...i[e],content:l.content})).filter(e=>e.key),a=n.template?.cliType;if("omp"===a&&n.template?.commands?.length)return[{...i.omp,content:n.template.commands.map(e=>`- ${e.namespace?`${e.namespace}/`:""}${e.name||e}`).join("\n")}];if(a&&"all"!==a){const l=e[a];if(l?.enabled&&l?.content&&i[a])return[{...i[a],content:l.content}]}return l}),c=f(()=>o.value.length>0),p=f(()=>{const e=n.template;return!!e&&(c.value||e.claudeMd?.content||e.skills?.length||e.agents?.length||e.commands?.length||e.mcpServers?.length)}),g={claude:{label:"Claude",color:"#cc785c",textColor:"#fff",borderColor:"#cc785c"},codex:{label:"Codex",color:"#10a37f",textColor:"#fff",borderColor:"#10a37f"},gemini:{label:"Gemini",color:"#4285f4",textColor:"#fff",borderColor:"#4285f4"},opencode:{label:"OpenCode",color:"#ff6b35",textColor:"#fff",borderColor:"#ff6b35"},omp:{label:"OMP",color:"#0f9f9a",textColor:"#fff",borderColor:"#0f9f9a"}};function y(e){const l=g[e];return l?{color:l.color,textColor:l.textColor,borderColor:l.borderColor}:{}}function C(){s("apply",n.template)}return(t,n)=>(m(),u(k(be),{show:e.show,preset:"card",title:`模版预览: ${e.template?.name||""}`,style:{width:"750px","max-height":"80vh"},"mask-closable":!0,"onUpdate:show":n[1]||(n[1]=e=>s("update:show",e))},{footer:h(()=>[d(k(X),{justify:"end"},{default:h(()=>[d(k(G),{onClick:n[0]||(n[0]=e=>s("update:show",!1))},{default:h(()=>[...n[7]||(n[7]=[a("关闭",-1)])]),_:1}),d(k(G),{type:"primary",onClick:C},{default:h(()=>[...n[8]||(n[8]=[a("应用此模版",-1)])]),_:1})]),_:1})]),default:h(()=>[e.template?(m(),_("div",jl,[S("div",El,[S("div",Il,[n[2]||(n[2]=S("span",{class:"label"},"名称:",-1)),S("span",Dl,v(e.template.name),1)]),e.template.description?(m(),_("div",Gl,[n[3]||(n[3]=S("span",{class:"label"},"描述:",-1)),S("span",ql,v(e.template.description),1)])):l("",!0),e.template.cliType?(m(),_("div",Hl,[n[4]||(n[4]=S("span",{class:"label"},"CLI 工具:",-1)),d(k(pe),{size:"small",color:y(e.template.cliType),round:""},{default:h(()=>{return[a(v((l=e.template.cliType,g[l]?.label||l)),1)];var l}),_:1},8,["color"])])):l("",!0)]),S("div",Yl,[n[6]||(n[6]=S("div",{class:"section-title"},"包含配置",-1)),S("div",Wl,[c.value?(m(!0),_(b,{key:0},r(o.value,e=>(m(),_("div",{class:"stat-item",key:e.key},[d(k(j),{size:"20",color:e.color},{default:h(()=>[d(k(Ce))]),_:1},8,["color"]),S("span",null,v(e.fileName||e.name),1)]))),128)):e.template.claudeMd?.enabled?(m(),_("div",Zl,[d(k(j),{size:"20"},{default:h(()=>[d(k(Ce))]),_:1}),n[5]||(n[5]=S("span",null,"CLAUDE.md",-1))])):l("",!0),e.template.skills?.length?(m(),_("div",Jl,[d(k(j),{size:"20"},{default:h(()=>[d(k(Te))]),_:1}),S("span",null,v(e.template.skills.length)+" Skills",1)])):l("",!0),e.template.agents?.length?(m(),_("div",Kl,[d(k(j),{size:"20"},{default:h(()=>[d(k(ke))]),_:1}),S("span",null,v(e.template.agents.length)+" Agents",1)])):l("",!0),e.template.commands?.length?(m(),_("div",Ql,[d(k(j),{size:"20"},{default:h(()=>[d(k(Ae))]),_:1}),S("span",null,v(e.template.commands.length)+" Commands",1)])):l("",!0),e.template.mcpServers?.length?(m(),_("div",Xl,[d(k(j),{size:"20"},{default:h(()=>[d(k(Re))]),_:1}),S("span",null,v(e.template.mcpServers.length)+" MCP Servers",1)])):l("",!0)])]),p.value?(m(),u(k(Je),{key:0,class:"details-section"},{default:h(()=>[(m(!0),_(b,null,r(o.value,e=>(m(),u(k(Ke),{key:e.key,title:`${e.name} 配置 (${e.fileName||e.name})`,name:e.key},{default:h(()=>[S("div",ea,[d(Tl,{content:e.content},null,8,["content"])])]),_:2},1032,["title","name"]))),128)),!c.value&&e.template.claudeMd?.content?(m(),u(k(Ke),{key:0,title:"CLAUDE.md 内容",name:"claudeMd"},{default:h(()=>[S("div",la,[d(Tl,{content:e.template.claudeMd.content},null,8,["content"])])]),_:1})):l("",!0),e.template.skills?.length?(m(),u(k(Ke),{key:1,title:"Skills 列表",name:"skills"},{default:h(()=>[S("div",aa,[(m(!0),_(b,null,r(e.template.skills,(e,l)=>(m(),_("div",{key:l,class:"list-item"},v(e.name||e),1))),128))])]),_:1})):l("",!0),e.template.agents?.length?(m(),u(k(Ke),{key:2,title:"Agents 列表",name:"agents"},{default:h(()=>[S("div",ta,[(m(!0),_(b,null,r(e.template.agents,(e,l)=>(m(),_("div",{key:l,class:"list-item"},v(e.name||e),1))),128))])]),_:1})):l("",!0),e.template.commands?.length?(m(),u(k(Ke),{key:3,title:"Commands 列表",name:"commands"},{default:h(()=>[S("div",na,["omp"===e.template.cliType?(m(),_("div",sa," 将写入 .omp/commands,作为 OMP commands 使用。 ")):l("",!0),(m(!0),_(b,null,r(e.template.commands,(e,l)=>(m(),_("div",{key:l,class:"list-item"},v(e.name||e),1))),128))])]),_:1})):l("",!0),e.template.mcpServers?.length?(m(),u(k(Ke),{key:4,title:"MCP Servers",name:"mcpServers"},{default:h(()=>[S("div",ra,[(m(!0),_(b,null,r(e.template.mcpServers,(e,l)=>(m(),_("div",{key:l,class:"list-item"},v(e.name||e),1))),128))])]),_:1})):l("",!0)]),_:1})):l("",!0)])):l("",!0)]),_:1},8,["show","title"]))}},[["__scopeId","data-v-27b692bd"]]),oa={key:0,class:"panel-header"},da={class:"header-left"},ua={class:"header-right"},ca={key:1,class:"drawer-header-bar"},ma={class:"header-right"},pa={class:"stats-bar"},va={class:"stats-text"},fa={class:"filter-bar"},ga={class:"panel-content"},ha={key:0,class:"empty-state"},ba={key:1,class:"card-list"},ya={class:"panel-footer"},Ca={__name:"ConfigTemplatesPanel",props:{inDrawer:{type:Boolean,default:!1},hideBack:{type:Boolean,default:!1},drawerVisible:{type:Boolean,default:!1}},emits:["back","updated"],setup(e){const t=e,n=fe(),s=he(),i=x(!1),o=x([]),g=x({}),C=x(""),w=x(""),T=f(()=>{const e=Array.isArray(g.value?.platforms)?g.value.platforms:[],l=o.value.map(e=>e.cliType).filter(Boolean).map(e=>({key:e,label:e})),a=new Set,t=[{label:"全部 CLI",value:""}];for(const n of[...e,...l]){const e=String(n?.key||"").trim().toLowerCase();e&&!a.has(e)&&(a.add(e),t.push({label:n.label||n.title||e,value:e}))}return t}),z=x(null),P=x(!1),R=x(!1),A=x(!1),$=x(null),O=x(null),U=x(null),L=f(()=>{let e=o.value;if(w.value&&(e=e.filter(e=>e.cliType===w.value)),C.value.trim()){const l=C.value.toLowerCase();e=e.filter(e=>e.name?.toLowerCase().includes(l)||e.description?.toLowerCase().includes(l))}return e});async function M(){i.value=!0;try{const[e,l]=await Promise.all([Be(),Fe()]);e.success&&(o.value=e.data||[]),l.success&&(g.value=l.data||{})}catch(e){n.error("加载数据失败: "+e.message)}finally{i.value=!1}}function F(){$.value=null,P.value=!0}function B(e){$.value={...e},P.value=!0}function N(e){U.value=e,A.value=!0}function V(e){O.value=e,A.value=!1,R.value=!0}function E(e){s.warning({title:"确认删除",content:`确定要删除模版 "${e.name}" 吗?`,positiveText:"删除",negativeText:"取消",onPositiveClick:async()=>{z.value=e.id;try{const l=await Ue(e.id);l.success?(n.success("删除成功"),M()):n.error(l.message||"删除失败")}catch(l){n.error("删除失败: "+l.message)}finally{z.value=null}}})}function I(){P.value=!1,M()}function D(){R.value=!1,M()}return c(()=>M()),p(()=>t.drawerVisible,e=>{e&&M()}),(t,n)=>(m(),_("div",{class:y(["templates-panel",{"in-drawer":e.inDrawer}])},[e.inDrawer?l("",!0):(m(),_("div",oa,[S("div",da,[e.hideBack?l("",!0):(m(),u(k(G),{key:0,text:"",onClick:n[0]||(n[0]=e=>t.$emit("back")),class:"back-btn"},{icon:h(()=>[d(k(j),null,{default:h(()=>[d(k(xe))]),_:1})]),_:1})),n[6]||(n[6]=S("span",{class:"panel-title"},"配置模版管理",-1))]),S("div",ua,[d(k(G),{text:"",onClick:F,class:"action-btn"},{icon:h(()=>[d(k(j),null,{default:h(()=>[d(k(_e))]),_:1})]),default:h(()=>[n[7]||(n[7]=a(" 创建 ",-1))]),_:1}),d(k(G),{text:"",onClick:M,loading:i.value,class:"action-btn"},{icon:h(()=>[d(k(j),null,{default:h(()=>[d(k(we))]),_:1})]),default:h(()=>[n[8]||(n[8]=a(" 刷新 ",-1))]),_:1},8,["loading"])])])),e.inDrawer?(m(),_("div",ca,[S("div",ma,[d(k(G),{text:"",onClick:F,class:"action-btn"},{icon:h(()=>[d(k(j),null,{default:h(()=>[d(k(_e))]),_:1})]),default:h(()=>[n[9]||(n[9]=a(" 创建 ",-1))]),_:1}),d(k(G),{text:"",onClick:M,loading:i.value,class:"action-btn"},{icon:h(()=>[d(k(j),null,{default:h(()=>[d(k(we))]),_:1})]),default:h(()=>[n[10]||(n[10]=a(" 刷新 ",-1))]),_:1},8,["loading"])])])):l("",!0),S("div",pa,[S("span",va," 共 "+v(o.value.length)+" 个模版 ",1)]),S("div",fa,[d(k(ce),{value:C.value,"onUpdate:value":n[1]||(n[1]=e=>C.value=e),placeholder:"搜索模版...",clearable:"",size:"small",class:"search-input"},{prefix:h(()=>[d(k(j),null,{default:h(()=>[d(k(Pe))]),_:1})]),_:1},8,["value"]),d(k(J),{value:w.value,"onUpdate:value":n[2]||(n[2]=e=>w.value=e),options:T.value,size:"small",class:"filter-select"},null,8,["value","options"])]),S("div",ga,[d(k(ae),{show:i.value},{default:h(()=>[0!==L.value.length||i.value?(m(),_("div",ba,[(m(!0),_(b,null,r(L.value,e=>(m(),u(Sl,{key:e.id,template:e,deleting:z.value===e.id,onClick:N,onPreview:N,onEdit:B,onDelete:E,onApply:V},null,8,["template","deleting"]))),128))])):(m(),_("div",ha,[d(k(re),{description:"暂无配置模版"},{icon:h(()=>[d(k(j),{size:"48",color:"var(--text-quaternary)"},{default:h(()=>[d(k(ze))]),_:1})]),extra:h(()=>[d(k(G),{size:"small",onClick:F},{default:h(()=>[...n[11]||(n[11]=[a("创建第一个模版",-1)])]),_:1})]),_:1})]))]),_:1},8,["show"])]),S("div",ya,[d(k(j),{size:"14",class:"info-icon"},{default:h(()=>[d(k(Se))]),_:1}),n[12]||(n[12]=S("span",null,"配置模版可快速应用到工作区",-1))]),d(Ll,{show:P.value,"onUpdate:show":n[3]||(n[3]=e=>P.value=e),template:$.value,"available-configs":g.value,onSuccess:I},null,8,["show","template","available-configs"]),d(Vl,{show:R.value,"onUpdate:show":n[4]||(n[4]=e=>R.value=e),template:O.value,onSuccess:D},null,8,["show","template"]),d(ia,{show:A.value,"onUpdate:show":n[5]||(n[5]=e=>A.value=e),template:U.value,onApply:V},null,8,["show","template"])],2))}},ka=q(Ca,[["__scopeId","data-v-96aa6e1d"]]);export{ka as t};
@@ -0,0 +1 @@
1
+ import{A as e,M as i,b as n,g as r}from"./vue-vendor-Cr_NLmXY.js";import{N as t,bn as l,gn as o,gt as s,ht as d,vn as a,yn as v}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{s as c}from"./light-DeIjG9s_.js";var h=o("divider","\n position: relative;\n display: flex;\n width: 100%;\n box-sizing: border-box;\n font-size: 16px;\n color: var(--n-text-color);\n transition:\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n",[l("vertical","\n margin-top: 24px;\n margin-bottom: 24px;\n ",[l("no-title","\n display: flex;\n align-items: center;\n ")]),a("title","\n display: flex;\n align-items: center;\n margin-left: 12px;\n margin-right: 12px;\n white-space: nowrap;\n font-weight: var(--n-font-weight);\n "),v("title-position-left",[a("line",[v("left",{width:"28px"})])]),v("title-position-right",[a("line",[v("right",{width:"28px"})])]),v("dashed",[a("line","\n background-color: #0000;\n height: 0px;\n width: 100%;\n border-style: dashed;\n border-width: 1px 0 0;\n ")]),v("vertical","\n display: inline-block;\n height: 1em;\n margin: 0 8px;\n vertical-align: middle;\n width: 1px;\n "),a("line","\n border: none;\n transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier);\n height: 1px;\n width: 100%;\n margin: 0;\n "),l("dashed",[a("line",{backgroundColor:"var(--n-color)"})]),v("dashed",[a("line",{borderColor:"var(--n-color)"})]),v("vertical",{backgroundColor:"var(--n-color)"})]),g=e({name:"Divider",props:Object.assign(Object.assign({},t.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),setup(e){const{mergedClsPrefixRef:i,inlineThemeDisabled:r}=s(e),l=t("Divider","-divider",h,c,e,i),o=n(()=>{const{common:{cubicBezierEaseInOut:e},self:{color:i,textColor:n,fontWeight:r}}=l.value;return{"--n-bezier":e,"--n-color":i,"--n-text-color":n,"--n-font-weight":r}}),a=r?d("divider",void 0,o,e):void 0;return{mergedClsPrefix:i,cssVars:r?void 0:o,themeClass:null==a?void 0:a.themeClass,onRender:null==a?void 0:a.onRender}},render(){var e;const{$slots:n,titlePlacement:t,vertical:l,dashed:o,cssVars:s,mergedClsPrefix:d}=this;return null===(e=this.onRender)||void 0===e||e.call(this),i("div",{role:"separator",class:[`${d}-divider`,this.themeClass,{[`${d}-divider--vertical`]:l,[`${d}-divider--no-title`]:!n.default,[`${d}-divider--dashed`]:o,[`${d}-divider--title-position-${t}`]:n.default&&t}],style:s},l?null:i("div",{class:`${d}-divider__line ${d}-divider__line--left`}),!l&&n.default?i(r,null,i("div",{class:`${d}-divider__title`},this.$slots),i("div",{class:`${d}-divider__line ${d}-divider__line--right`})):null)}});export{g as t};
@@ -0,0 +1 @@
1
+ import{A as e,M as r,N as t}from"./vue-vendor-Cr_NLmXY.js";import{D as o,Dt as l,Jt as s,y as a}from"./_plugin-vue_export-helper-DyHLuIR4.js";var n=e({name:"DrawerContent",props:{title:String,headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],bodyClass:String,bodyStyle:[Object,String],bodyContentClass:String,bodyContentStyle:[Object,String],nativeScrollbar:{type:Boolean,default:!0},scrollbarProps:Object,closable:Boolean},slots:Object,setup(){const e=t(s,null);e||l("drawer-content","`n-drawer-content` must be placed inside `n-drawer`.");const{doUpdateShow:r}=e;return{handleCloseClick:function(){r(!1)},mergedTheme:e.mergedThemeRef,mergedClsPrefix:e.mergedClsPrefixRef}},render(){const{title:e,mergedClsPrefix:t,nativeScrollbar:l,mergedTheme:s,bodyClass:n,bodyStyle:d,bodyContentClass:c,bodyContentStyle:i,headerClass:b,headerStyle:y,footerClass:S,footerStyle:h,scrollbarProps:C,closable:p,$slots:g}=this;return r("div",{role:"none",class:[`${t}-drawer-content`,l&&`${t}-drawer-content--native-scrollbar`]},g.header||e||p?r("div",{class:[`${t}-drawer-header`,b],style:y,role:"none"},r("div",{class:`${t}-drawer-header__main`,role:"heading","aria-level":"1"},void 0!==g.header?g.header():e),p&&r(o,{onClick:this.handleCloseClick,clsPrefix:t,class:`${t}-drawer-header__close`,absolute:!0})):null,l?r("div",{class:[`${t}-drawer-body`,n],style:d,role:"none"},r("div",{class:[`${t}-drawer-body-content-wrapper`,c],style:i,role:"none"},g)):r(a,Object.assign({themeOverrides:s.peerOverrides.Scrollbar,theme:s.peers.Scrollbar},C,{class:`${t}-drawer-body`,contentClass:[`${t}-drawer-body-content-wrapper`,c],contentStyle:i}),g),g.footer?r("div",{class:[`${t}-drawer-footer`,S],style:h,role:"none"},g.footer()):null)}});export{n as t};
@@ -0,0 +1 @@
1
+ import{C as e,D as s,K as a,O as i,S as l,W as t,_t as o,b as n,et as c,g as r,m as u,mt as d,p as v,st as m,w as p,x as h}from"./vue-vendor-Cr_NLmXY.js";import{n as f,t as _}from"./useResponsiveDrawer-Deh7Xdcj.js";import{t as y}from"./DrawerContent-BYlV968f.js";import{A as k,H as g,_ as j,ft as w,k as C,st as x,ut as b}from"./index-BXWpib7P.js";import{i as I,s as N,t as z}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{l as $}from"./light-DeIjG9s_.js";import{Tt as A,c as L,d as S,r as D,st as F}from"./icons-C6KNTFqo.js";import{t as U}from"./SessionCard-DwzxeSe9.js";import{t as B}from"./sessions-Xl0HAvhA.js";import{t as K}from"./sessions-B4RD8wDx.js";var R={class:"favorites-container"},W={key:0,class:"favorites-section"},G={class:"section-header claude-header"},H={class:"sessions-list"},O={key:1,class:"favorites-section"},T={class:"section-header codex-header"},q={class:"sessions-list"},E={key:2,class:"favorites-section"},J={class:"section-header gemini-header"},M={class:"sessions-list"},P=z({__name:"FavoritesDrawer",props:{visible:{type:Boolean,default:!1}},emits:["update:visible","view-history"],setup(z,{emit:P}){const{drawerWidth:Q}=_(720),V=z,X=P,Y=n({get:()=>V.visible,set:e=>X("update:visible",e)}),{getFavorites:Z,removeFavorite:ee,getAllFavorites:se}=j(),ae=B(),ie=n(()=>Z("claude")),le=n(()=>Z("codex")),te=n(()=>Z("gemini")),oe=m(!1),ne=m(null),ce=m(""),re=m("");function ue(e){let s="claude";le.value.some(s=>s.sessionId===e.sessionId&&s.projectName===e.projectName)?s="codex":te.value.some(s=>s.sessionId===e.sessionId&&s.projectName===e.projectName)&&(s="gemini"),ne.value=e,ce.value=e.alias||"",re.value=s,oe.value=!0}async function de(){if(ne.value)try{ae.setChannel(re.value);const e=ne.value.sessionId;if(ce.value){await ae.setAlias(e,ce.value),C.success("别名设置成功");const s=se()[re.value]?.find(s=>s.sessionId===e&&s.projectName===ne.value.projectName);s&&(s.alias=ce.value)}else{await ae.deleteAlias(e),C.success("别名已删除");const s=se()[re.value]?.find(s=>s.sessionId===e&&s.projectName===ne.value.projectName);s&&(s.alias="")}oe.value=!1,ne.value=null,ce.value=""}catch(e){C.error("操作失败: "+e.message)}}async function ve(e,s){try{const{copyResult:a}=await K(s.projectName,s.sessionId,e);if("manual"===a?.method)return void C.warning("自动复制失败,已弹出手动复制框");C.success("启动命令已复制到剪贴板")}catch(a){C.error("复制失败: "+a.message)}}async function me(e,s){try{await ee(e,s.projectName,s.sessionId),C.success("已移除收藏")}catch(a){C.error("移除失败: "+a.message)}}return(n,m)=>(t(),l(d(f),{show:Y.value,"onUpdate:show":m[3]||(m[3]=e=>Y.value=e),width:d(Q),placement:"right"},{default:c(()=>[i(d(y),{title:"我的收藏",closable:""},{default:c(()=>[h("div",R,[ie.value.length>0?(t(),p("div",W,[h("div",G,[i(d(I),{size:20},{default:c(()=>[i(d(A))]),_:1}),m[4]||(m[4]=h("h3",{class:"section-title"},"Claude",-1)),i(d(b),{size:"small",bordered:!1,type:"success"},{default:c(()=>[s(o(ie.value.length),1)]),_:1})]),h("div",H,[(t(!0),p(r,null,a(ie.value,e=>(t(),l(U,{key:`claude-${e.projectName}-${e.sessionId}`,session:e,channel:"claude","show-project":!0,"hide-fork":"","hide-delete":"",class:"clickable-session",onClick:s=>n.$emit("view-history",{session:e,channel:"claude"}),onSetAlias:ue,onLaunch:s=>ve("claude",e)},{"actions-extra":c(()=>[i(d(N),{size:"small",type:"error",onClick:u(s=>me("claude",e),["stop"])},{icon:c(()=>[i(d(I),null,{default:c(()=>[i(d(D))]),_:1})]),default:c(()=>[m[5]||(m[5]=s(" 移除 ",-1))]),_:1},8,["onClick"])]),_:2},1032,["session","onClick","onLaunch"]))),128))])])):e("",!0),le.value.length>0?(t(),p("div",O,[h("div",T,[i(d(I),{size:20},{default:c(()=>[i(d(F))]),_:1}),m[6]||(m[6]=h("h3",{class:"section-title"},"Codex",-1)),i(d(b),{size:"small",bordered:!1,type:"info"},{default:c(()=>[s(o(le.value.length),1)]),_:1})]),h("div",q,[(t(!0),p(r,null,a(le.value,e=>(t(),l(U,{key:`codex-${e.projectName}-${e.sessionId}`,session:e,channel:"codex","show-project":!0,"hide-fork":"","hide-delete":"",class:"clickable-session",onClick:s=>n.$emit("view-history",{session:e,channel:"codex"}),onSetAlias:ue,onLaunch:s=>ve("codex",e)},{"actions-extra":c(()=>[i(d(N),{size:"small",type:"error",onClick:u(s=>me("codex",e),["stop"])},{icon:c(()=>[i(d(I),null,{default:c(()=>[i(d(D))]),_:1})]),default:c(()=>[m[7]||(m[7]=s(" 移除 ",-1))]),_:1},8,["onClick"])]),_:2},1032,["session","onClick","onLaunch"]))),128))])])):e("",!0),te.value.length>0?(t(),p("div",E,[h("div",J,[i(d(I),{size:20},{default:c(()=>[i(d(S))]),_:1}),m[8]||(m[8]=h("h3",{class:"section-title"},"Gemini",-1)),i(d(b),{size:"small",bordered:!1,type:"warning"},{default:c(()=>[s(o(te.value.length),1)]),_:1})]),h("div",M,[(t(!0),p(r,null,a(te.value,e=>(t(),l(U,{key:`gemini-${e.projectName}-${e.sessionId}`,session:e,channel:"gemini","show-project":!0,"hide-fork":"","hide-delete":"",class:"clickable-session",onClick:s=>n.$emit("view-history",{session:e,channel:"gemini"}),onSetAlias:ue,onLaunch:s=>ve("gemini",e)},{"actions-extra":c(()=>[i(d(N),{size:"small",type:"error",onClick:u(s=>me("gemini",e),["stop"])},{icon:c(()=>[i(d(I),null,{default:c(()=>[i(d(D))]),_:1})]),default:c(()=>[m[9]||(m[9]=s(" 移除 ",-1))]),_:1},8,["onClick"])]),_:2},1032,["session","onClick","onLaunch"]))),128))])])):e("",!0),0===n.totalCount?(t(),l(d(w),{key:3,description:"暂无收藏",style:{"margin-top":"80px"}},{icon:c(()=>[i(d(I),{size:48},{default:c(()=>[i(d(L))]),_:1})]),extra:c(()=>[i(d(k),{depth:"3",style:{"font-size":"13px"}},{default:c(()=>[...m[10]||(m[10]=[s(' 在会话列表中点击"收藏"按钮添加收藏 ',-1)])]),_:1})]),_:1})):e("",!0)]),i(d($),{show:oe.value,"onUpdate:show":m[2]||(m[2]=e=>oe.value=e),preset:"dialog",title:"设置别名"},{action:c(()=>[i(d(g),null,{default:c(()=>[i(d(N),{onClick:m[1]||(m[1]=e=>oe.value=!1)},{default:c(()=>[...m[11]||(m[11]=[s("取消",-1)])]),_:1}),i(d(N),{type:"primary",onClick:de},{default:c(()=>[...m[12]||(m[12]=[s("确定",-1)])]),_:1})]),_:1})]),default:c(()=>[i(d(x),{value:ce.value,"onUpdate:value":m[0]||(m[0]=e=>ce.value=e),placeholder:"输入别名(留空删除)",onKeyup:v(de,["enter"])},null,8,["value"])]),_:1},8,["show"])]),_:1})]),_:1},8,["show","width"]))}},[["__scopeId","data-v-56e896bc"]]);export{P as default};
@@ -1 +1 @@
1
- import{A as r,M as e}from"./vue-vendor-BqZbbXHA.js";var o=r({name:"Backward",render:()=>e("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}),n=r({name:"FastBackward",render:()=>e("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},e("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},e("g",{fill:"currentColor","fill-rule":"nonzero"},e("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}),l=r({name:"FastForward",render:()=>e("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},e("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},e("g",{fill:"currentColor","fill-rule":"nonzero"},e("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}),C=r({name:"Forward",render:()=>e("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))});export{o as i,l as n,n as r,C as t};
1
+ import{A as r,M as e}from"./vue-vendor-Cr_NLmXY.js";var o=r({name:"Backward",render:()=>e("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z",fill:"currentColor"}))}),n=r({name:"FastBackward",render:()=>e("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},e("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},e("g",{fill:"currentColor","fill-rule":"nonzero"},e("path",{d:"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z"}))))}),l=r({name:"FastForward",render:()=>e("svg",{viewBox:"0 0 20 20",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},e("g",{stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},e("g",{fill:"currentColor","fill-rule":"nonzero"},e("path",{d:"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z"}))))}),C=r({name:"Forward",render:()=>e("svg",{viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z",fill:"currentColor"}))});export{o as i,l as n,n as r,C as t};
@@ -0,0 +1 @@
1
+ import{C as e,D as a,K as t,O as l,S as s,W as o,Z as n,_t as u,b as r,et as i,g as v,mt as d,st as p,w as c,x as m}from"./vue-vendor-Cr_NLmXY.js";import{n as y,t as g}from"./useResponsiveDrawer-Deh7Xdcj.js";import{t as f}from"./DrawerContent-BYlV968f.js";import{i as w,s as h,t as b}from"./_plugin-vue_export-helper-DyHLuIR4.js";import{$ as _,H as x,I as C,L as O,ct as A,k,st as S,ut as R}from"./index-BXWpib7P.js";import{H as I}from"./icons-C6KNTFqo.js";import{n as T}from"./vendors-CvGw6U_t.js";var J="http://localhost:19999";var N={class:"drawer-header"},j={class:"header-icon-wrapper"},q={class:"convert-container"},z={class:"action-row"},L={key:2,class:"result-section"},U={class:"result-meta"},P={class:"meta-row"},B={class:"meta-row"},E={class:"meta-row"},H={class:"warning-list"},$={class:"action-row"},D=b({__name:"GatewayConvertDrawer",props:{target:{type:String,default:"opencode"},visible:{type:Boolean,default:!1}},emits:["update:visible"],setup(b,{emit:D}){const{drawerWidth:G}=g(620,520),Y=b,M=D,Q=r({get:()=>Y.visible,set:e=>M("update:visible",e)}),W=p([{label:"Claude Code",value:"claude"},{label:"Codex",value:"codex"},{label:"Gemini",value:"gemini"}]),K=p([{label:"Responses API (/v1/responses)",value:"responses"},{label:"Chat Completions (/v1/chat/completions)",value:"chat.completions"}]),Z=p("claude"),F=r(()=>"omp"===Y.target?"OMP":"OpenCode"),V=p("responses"),X=p(""),ee=p(!1),ae=p(null),te=p(""),le=p(!1),se=p(""),oe={claude:{model:"claude-sonnet-4-5",system:[{type:"text",text:"You are a concise assistant."}],messages:[{role:"user",content:[{type:"text",text:"请用三点总结这个需求。"}]}],max_tokens:256,stream:!1},codex:{model:"gpt-5-codex",instructions:"You are Codex.",input:[{type:"message",role:"user",content:[{type:"input_text",text:"ping"}]}],stream:!1,store:!1},gemini:{model:"gemini-2.5-pro",system_instruction:{parts:[{text:"You are a concise assistant."}]},contents:[{role:"user",parts:[{text:"请将以下文本转换为要点列表。"}]}],generationConfig:{maxOutputTokens:256,temperature:.2}}},ne=r(()=>ae.value?.requestBody?JSON.stringify(ae.value.requestBody,null,2):""),ue=r(()=>{const e=ae.value?.requestHeaders;return e&&Object.keys(e).length>0?JSON.stringify(e,null,2):""});function re(){const e=oe[Z.value]||oe.claude;X.value=JSON.stringify(e,null,2)}async function ie(){if(!le.value||se.value!==Y.target)try{const e=await async function(e){return(await T.get(`${J}/api/convert/${encodeURIComponent(e)}/formats`)).data}(Y.target);Array.isArray(e.sourceTypes)&&e.sourceTypes.length>0&&(W.value=e.sourceTypes.map(e=>({label:e.name||e.id,value:e.id}))),Array.isArray(e.targetApis)&&(K.value=e.targetApis.map(e=>"chat.completions"===e?{label:"Chat Completions (/v1/chat/completions)",value:e}:{label:"Responses API (/v1/responses)",value:e})),e.defaultTargetApi?V.value=e.defaultTargetApi:K.value.some(e=>e.value===V.value)||(V.value=K.value[0]?.value||null),le.value=!0,se.value=Y.target}catch(e){}}function ve(){te.value="",ae.value=null}async function de(){let e;te.value="",ae.value=null;try{e=JSON.parse(X.value||"{}")}catch(a){return void(te.value="原始请求 JSON 解析失败,请检查格式")}ee.value=!0;try{const a=await async function(e,a){return(await T.post(`${J}/api/convert/${encodeURIComponent(e)}`,a)).data}(Y.target,{sourceType:Z.value,payload:e,options:{targetApi:V.value}});if(!1===a.success)throw new Error(a.error||"转换失败");ae.value=a,k.success("转换完成")}catch(a){const e=a.response?.data?.error||a.message||"转换失败";te.value=e}finally{ee.value=!1}}async function pe(){if(!ae.value)return;const e={endpoint:ae.value.endpoint,requestBody:ae.value.requestBody,requestHeaders:ae.value.requestHeaders||{}};try{await navigator.clipboard.writeText(JSON.stringify(e,null,2)),k.success("已复制转换结果")}catch(a){k.error("复制失败,请手动复制")}}return n(()=>Z.value,()=>{re()}),n(()=>[Y.visible,Y.target],async([e,a],t)=>{t&&t[1]!==a&&(ae.value=null,te.value=""),e&&(await ie(),X.value||re())},{immediate:!0}),(n,r)=>(o(),s(d(y),{show:Q.value,"onUpdate:show":r[3]||(r[3]=e=>Q.value=e),width:d(G),placement:"right","show-mask":!0},{default:i(()=>[l(d(f),{closable:"","native-scrollbar":!1},{header:i(()=>[m("div",N,[m("div",j,[l(d(w),{size:18},{default:i(()=>[l(d(I))]),_:1})]),m("span",null,u(F.value)+" 请求转换",1)])]),default:i(()=>[m("div",q,[l(d(O),{"label-placement":"top"},{default:i(()=>[l(d(C),{label:"来源 CLI"},{default:i(()=>[l(d(_),{value:Z.value,"onUpdate:value":r[0]||(r[0]=e=>Z.value=e),options:W.value,placeholder:"选择来源渠道"},null,8,["value","options"])]),_:1}),l(d(C),{label:"目标 API"},{default:i(()=>[l(d(_),{value:V.value,"onUpdate:value":r[1]||(r[1]=e=>V.value=e),options:K.value,disabled:0===K.value.length,placeholder:"选择目标 API"},null,8,["value","options","disabled"])]),_:1}),l(d(C),{label:"原始请求 JSON"},{default:i(()=>[l(d(S),{value:X.value,"onUpdate:value":r[2]||(r[2]=e=>X.value=e),type:"textarea",autosize:{minRows:10,maxRows:18},placeholder:"粘贴原始请求 JSON"},null,8,["value"])]),_:1})]),_:1}),"omp"===b.target&&0===K.value.length?(o(),s(d(A),{key:0,type:"info","show-icon":!0,style:{"margin-bottom":"12px"}},{default:i(()=>[...r[4]||(r[4]=[a(" 暂无可用于转换的 OMP 协议日志。请先通过 OpenAI 兼容渠道发起一次请求,并启用 CC_TOOL_LOG_REQUESTS。 ",-1)])]),_:1})):e("",!0),m("div",z,[l(d(h),{quaternary:"",onClick:re},{default:i(()=>[...r[5]||(r[5]=[a("填充示例",-1)])]),_:1}),l(d(x),null,{default:i(()=>[l(d(h),{onClick:ve},{default:i(()=>[...r[6]||(r[6]=[a("清空结果",-1)])]),_:1}),l(d(h),{type:"primary",loading:ee.value,disabled:0===K.value.length,onClick:de},{default:i(()=>[...r[7]||(r[7]=[a("开始转换",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),te.value?(o(),s(d(A),{key:1,type:"error","show-icon":!0,style:{"margin-top":"12px"}},{default:i(()=>[a(u(te.value),1)]),_:1})):e("",!0),ae.value?(o(),c("div",L,[m("div",U,[m("div",P,[r[8]||(r[8]=m("span",{class:"meta-label"},"转换端点",-1)),l(d(R),{type:"success",size:"small",bordered:!1},{default:i(()=>[a(u(ae.value.endpoint),1)]),_:1})]),m("div",B,[r[9]||(r[9]=m("span",{class:"meta-label"},"目标协议",-1)),l(d(R),{type:"info",size:"small",bordered:!1},{default:i(()=>[a(u(ae.value.targetApi),1)]),_:1})]),m("div",E,[r[10]||(r[10]=m("span",{class:"meta-label"},"消息数量",-1)),l(d(R),{size:"small",bordered:!1},{default:i(()=>[a(u(ae.value.meta?.messageCount??0),1)]),_:1})])]),Array.isArray(ae.value.warnings)&&ae.value.warnings.length>0?(o(),s(d(A),{key:0,type:"warning","show-icon":!0,style:{"margin-top":"12px"}},{default:i(()=>[r[11]||(r[11]=m("div",{class:"warning-title"},"转换警告",-1)),m("ul",H,[(o(!0),c(v,null,t(ae.value.warnings,(e,a)=>(o(),c("li",{key:a},u(e),1))),128))])]),_:1})):e("",!0),l(d(C),{label:"转换后请求 JSON",style:{"margin-top":"12px"}},{default:i(()=>[l(d(S),{value:ne.value,type:"textarea",readonly:"",autosize:{minRows:10,maxRows:18}},null,8,["value"])]),_:1}),l(d(C),{label:"目标 CLI 请求头(来自最近一次请求日志)"},{default:i(()=>[l(d(S),{value:ue.value,type:"textarea",readonly:"",autosize:{minRows:4,maxRows:10},placeholder:"尚无请求快照;启用 CC_TOOL_LOG_REQUESTS 后重新发起一次目标 CLI 请求"},null,8,["value"])]),_:1}),m("div",$,[r[13]||(r[13]=m("div",null,null,-1)),l(d(h),{size:"small",onClick:pe},{default:i(()=>[...r[12]||(r[12]=[a("复制转换结果",-1)])]),_:1})])])):e("",!0)])]),_:1})]),_:1},8,["show","width"]))}},[["__scopeId","data-v-d468b635"]]);export{D as default};