coding-tool-x 3.7.4 → 3.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{Analytics-BmPIW7oK.js → Analytics-wCRLv26m.js} +1 -1
- package/dist/web/assets/{ConfigTemplates-CG4j4ua4.js → ConfigTemplates-aa1blEHh.js} +1 -1
- package/dist/web/assets/Home-CqnBXFxj.css +1 -0
- package/dist/web/assets/Home-eIxO50-k.js +1 -0
- package/dist/web/assets/{PluginManager-CCJ7mo35.js → PluginManager-BAwGFNjN.js} +1 -1
- package/dist/web/assets/ProjectList-CRiAEixW.js +1 -0
- package/dist/web/assets/ProjectList-Dw2omgOH.css +1 -0
- package/dist/web/assets/SessionList-BQ0FW6Gd.js +1 -0
- package/dist/web/assets/SessionList-kYJ6-Ies.css +1 -0
- package/dist/web/assets/{SkillManager-DmOTHcQ7.js → SkillManager-Bhzs1O5S.js} +1 -1
- package/dist/web/assets/{WorkspaceManager-DLVj0zlu.js → WorkspaceManager-CLdX-pTT.js} +1 -1
- package/dist/web/assets/index-B_nFqixU.css +1 -0
- package/dist/web/assets/index-ClMNA9Hf.js +2 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/server/api/codex-projects.js +7 -11
- package/src/server/api/codex-sessions.js +30 -21
- package/src/server/api/dashboard.js +24 -36
- package/src/server/api/gemini-projects.js +7 -11
- package/src/server/api/gemini-sessions.js +28 -26
- package/src/server/api/omp-channels.js +50 -7
- package/src/server/api/omp-projects.js +6 -11
- package/src/server/api/omp-sessions.js +31 -17
- package/src/server/api/opencode-projects.js +6 -11
- package/src/server/api/opencode-sessions.js +28 -21
- package/src/server/api/projects.js +7 -28
- package/src/server/api/sessions.js +32 -16
- package/src/server/services/channel-balance.js +2 -1
- package/src/server/services/codex-sessions.js +23 -10
- package/src/server/services/dashboard-snapshot-worker.js +216 -0
- package/src/server/services/gemini-sessions.js +15 -3
- package/src/server/services/native-oauth-adapters.js +2 -1
- package/src/server/services/omp-auth-provider-worker.js +29 -0
- package/src/server/services/omp-auth-providers.js +137 -11
- package/src/server/services/omp-config.js +7 -4
- package/src/server/services/omp-sessions.js +38 -14
- package/src/server/services/opencode-sessions.js +9 -6
- package/src/server/services/plugins-service.js +2 -1
- package/src/server/services/project-snapshots.js +8 -1
- package/src/server/services/session-snapshot-worker.js +158 -0
- package/src/server/services/session-snapshots.js +145 -0
- package/src/server/services/sessions.js +6 -4
- package/src/server/services/snapshot-cache.js +123 -13
- package/dist/web/assets/Home-B9yAAZrD.js +0 -1
- package/dist/web/assets/Home-DSTUSxrT.css +0 -1
- package/dist/web/assets/ProjectList-D3a0oRum.css +0 -1
- package/dist/web/assets/ProjectList-DVUs3o8x.js +0 -1
- package/dist/web/assets/SessionList-D12muXvx.css +0 -1
- package/dist/web/assets/SessionList-DwssBydw.js +0 -1
- package/dist/web/assets/index-BjdNYwSs.js +0 -2
- package/dist/web/assets/index-kQCC5dlu.css +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a8 as e,a5 as a,f as s,r as l,w as t,h as n,K as i,c as o,o as u,a as r,X as d,a0 as c,W as v,Y as f,N as p,p as m,_ as h,F as y,a6 as g,L as k,Z as _,s as w,G as b,y as I,$ as C,v as j}from"./vue-vendor-B5RqjEjQ.js";import{d as z}from"./vendors-DQA4Hw9v.js";import{_ as x,k as N,r as F,C as S,t as $,m as M,o as B,v as U,q as L}from"./index-BjdNYwSs.js";import{Z as P,T,ad as A,ay as q,k as E,G as K,a3 as G,az as H,q as O,h as R,Y as V}from"./icons-nGdSKQn2.js";import{N as D,B as W,_ as Y,c as Z,a as X,G as J,q as Q,g as ee,x as ae,s as se,m as le,h as te,p as ne,k as ie}from"./naive-ui-CVyvdmg1.js";import"./markdown-BNJfEgCA.js";const oe={class:"session-list-container"},ue={class:"header"},re={class:"title-bar"},de={class:"title-section"},ce={class:"title-with-count"},ve={class:"header-actions"},fe={key:0,class:"loading-container"},pe=["onMouseenter","onClick"],me={key:0,class:"drag-handle"},he={class:"session-left"},ye={class:"session-icon"},ge={class:"session-info"},ke={class:"session-header"},_e={class:"session-title-row"},we={class:"session-title"},be={class:"session-meta"},Ie={class:"session-right"},Ce={class:"session-tags-area"},je={key:0,class:"session-actions"},ze={key:0,style:{"max-height":"70vh","overflow-y":"auto"}},xe={class:"search-result-header"},Ne={class:"search-result-title"},Fe="__full__",Se=x({__name:"SessionList",props:{projectName:{type:String,required:!0}},setup(x){const Se=x,$e=e(),Me=a(),Be=N(),{addFavorite:Ue,removeFavorite:Le,isFavorite:Pe}=F(),Te=s(()=>Me.meta.channel||"claude"),Ae=l(Se.projectName),qe=s(()=>Ae.value||Se.projectName),Ee=l(""),Ke=l(!1),Ge=l(null),He=l(""),Oe=l(null),Re=l([]),Ve=l(null),De=l(!1),We=l(null),Ye=l(!1),Ze=l(!1),Xe=l([]),Je=l(!1),Qe=l(!1),ea=l(null),aa=l(""),sa=l(Fe),la=l(!1),ta=l(!1),na=l([]),ia=l(!1),oa=l(""),ua=l(""),ra=l(null),da={group:{name:`${Te.value}-sessions`,pull:!1,put:!1},forceFallback:!0,fallbackOnBody:!1,fallbackTolerance:4,scroll:!0},ca=s(()=>{var e;return(null==(e=Be.currentProjectInfo)?void 0:e.displayName)||Se.projectName}),va=s(()=>{var e;return(null==(e=Be.currentProjectInfo)?void 0:e.fullPath)||qe.value}),fa=s(()=>new Set(Xe.value)),pa=s(()=>Xe.value.length),ma=s(()=>Re.value.length>0&&Re.value.every(e=>fa.value.has(e.sessionId))),ha=s(()=>pa.value>0&&!ma.value);async function ya(){const e=await async function(){Be.projects.length||await Be.fetchProjects();const e=Be.projects.find(e=>e.name===Se.projectName);if(e)return Ae.value=e.name,e.name;const a=Be.projects.find(e=>e.displayName===Se.projectName||e.fullPath===Se.projectName);return a?(Ae.value=a.name,a.name!==Se.projectName&&await $e.replace({name:`${Te.value}-sessions`,params:{projectName:a.name}}),a.name):(Ae.value=Se.projectName,Se.projectName)}();await Be.fetchSessions(e)}t(()=>Be.sessionsWithAlias,e=>{Re.value=[...e];const a=new Set(e.map(e=>e.sessionId));Xe.value=Xe.value.filter(e=>a.has(e)),Ze.value&&0===e.length&&Ia()},{immediate:!0});const ga=s(()=>{if(!Ee.value)return Re.value;const e=Ee.value.toLowerCase();return Re.value.filter(a=>a.sessionId.toLowerCase().includes(e)||a.alias&&a.alias.toLowerCase().includes(e)||a.firstMessage&&a.firstMessage.toLowerCase().includes(e)||a.gitBranch&&a.gitBranch.toLowerCase().includes(e))});function ka(){const e=Me.meta.channel||"claude";$e.push({name:`${e}-projects`})}async function _a(){if(Ee.value){Ye.value=!0;try{const e=await $(qe.value,Ee.value,35,Te.value);Ve.value=e,De.value=!0}catch(e){M.error("搜索失败: "+e.message)}finally{Ye.value=!1}}}async function wa(){const e=Re.value.map(e=>e.sessionId);await Be.saveSessionOrder(e)}function ba(){Ze.value=!0,Oe.value=null}function Ia(){Ze.value=!1,Xe.value=[],Oe.value=null}function Ca(e){return fa.value.has(e)}function ja(e,a=!Ca(e)){const s=new Set(Xe.value);a?s.add(e):s.delete(e),Xe.value=Array.from(s)}function za(e){Xe.value=e?Re.value.map(e=>e.sessionId):[]}function xa(e){Ze.value?ja(e.sessionId):function(e){oa.value=e.sessionId,ua.value=e.alias||"",ia.value=!0,j(()=>{var e;null==(e=ra.value)||e.open()})}(e)}async function Na(){if(Ge.value)try{const e=Ge.value.sessionId;He.value?(await Be.setAlias(e,He.value),M.success("别名设置成功")):(await Be.deleteAlias(e),M.success("别名已删除")),Ke.value=!1,Ge.value=null,He.value=""}catch(e){M.error("操作失败: "+e.message)}}function Fa(){Qe.value=!1,ea.value=null,aa.value="",sa.value=Fe,na.value=[],la.value=!1,ta.value=!1}async function Sa(){var e;if(ea.value)try{ta.value=!0,await Be.forkSession(ea.value.sessionId,{afterUserMessageNumber:sa.value===Fe?null:sa.value,alias:(null==(e=aa.value)?void 0:e.trim())||void 0}),M.success("Fork 成功!"),Fa()}catch(a){M.error("Fork 失败: "+a.message)}finally{ta.value=!1}}function $a(e){M.error(e)}function Ma(e){const a=new Set((e||[]).filter(Boolean));0!==a.size&&(Xe.value=Xe.value.filter(e=>!a.has(e)),oa.value&&a.has(oa.value)&&(ia.value=!1,oa.value="",ua.value=""))}async function Ba(e){try{const{copyResult:a}=await L(qe.value,e,Te.value);if("manual"===(null==a?void 0:a.method))return void M.warning("自动复制失败,已弹出手动复制框");M.success("启动命令已复制到剪贴板")}catch(a){M.error("复制失败: "+a.message)}}function Ua(){if(0===pa.value)return void M.warning("请先选择要删除的会话");const e=[...Xe.value];B.warning({title:"批量删除会话",content:`确定要删除选中的 ${e.length} 个会话吗?此操作不可恢复!`,positiveText:"确定删除",negativeText:"取消",onPositiveClick:async()=>{Je.value=!0;try{const a=await Be.deleteSessions(e);if(Ma(a.deletedSessionIds),0===a.failed.length)return M.success(`已删除 ${a.deletedSessionIds.length} 个会话`),void Ia();Xe.value=a.failed.map(e=>e.sessionId),a.deletedSessionIds.length>0?M.warning(`已删除 ${a.deletedSessionIds.length} 个会话,${a.failed.length} 个删除失败`):M.error(`删除失败: ${a.failed[0].error.message}`)}finally{Je.value=!1}}})}function La(e){if(!e)return"";return new Date(e).toLocaleString("zh-CN")}function Pa(e){if(!e)return"0 B";const a=1024;return e<a?e+" B":e<a*a?(e/a).toFixed(1)+" KB":(e/a/a).toFixed(1)+" MB"}function Ta(e,a){if(!a||!e)return e;const s=new RegExp(`(${a})`,"gi");return e.replace(s,'<mark style="background-color: #ffd700; padding: 2px 4px; border-radius: 2px; font-weight: 600;">$1</mark>')}function Aa(e,a=80){return e?e.length>a?e.substring(0,a)+"...":e:""}return t([Te,()=>Se.projectName],([e])=>{Ia(),Be.setChannel(e),ya()},{immediate:!0}),n(()=>{}),i(()=>{}),(e,a)=>(u(),o("div",oe,[r("div",ue,[r("div",re,[d(p(W),{size:"small",onClick:ka,class:"back-button"},{icon:f(()=>[d(p(D),{size:"18"},{default:f(()=>[d(p(P))]),_:1})]),_:1}),r("div",de,[r("div",ce,[d(p(Y),null,{default:f(()=>[m(h(ca.value),1)]),_:1}),d(p(Z),{depth:"3",class:"session-count"},{default:f(()=>[m("("+h(p(Be).sessions.length)+" 个对话)",1)]),_:1}),d(p(X),{size:"small",bordered:!1,type:"info",class:"total-size-tag"},{default:f(()=>[m(h(Pa(p(Be).totalSize)),1)]),_:1}),r("div",ve,[Ze.value?(u(),o(y,{key:0},[d(p(J),{checked:ma.value,indeterminate:ha.value,disabled:0===Re.value.length||Je.value,"onUpdate:checked":za},{default:f(()=>[...a[12]||(a[12]=[m(" 全选 ",-1)])]),_:1},8,["checked","indeterminate","disabled"]),d(p(Z),{depth:"3"},{default:f(()=>[m("已选 "+h(pa.value)+" 个",1)]),_:1}),d(p(W),{size:"small",type:"error",disabled:0===pa.value,loading:Je.value,onClick:Ua},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(T))]),_:1})]),default:f(()=>[a[13]||(a[13]=m(" 删除 ",-1))]),_:1},8,["disabled","loading"]),d(p(W),{size:"small",disabled:Je.value,onClick:Ia},{default:f(()=>[...a[14]||(a[14]=[m(" 完成 ",-1)])]),_:1},8,["disabled"])],64)):(u(),c(p(W),{key:1,size:"small",type:"error",secondary:"",onClick:ba},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(T))]),_:1})]),default:f(()=>[a[15]||(a[15]=m(" 管理 ",-1))]),_:1}))])]),d(p(Z),{depth:"3",class:"project-path"},{default:f(()=>[m(h(va.value),1)]),_:1})]),d(p(Q),{value:Ee.value,"onUpdate:value":a[0]||(a[0]=e=>Ee.value=e),placeholder:"搜索会话...",clearable:"",class:"search-input",onKeyup:g(_a,["enter"]),disabled:Ye.value},{prefix:f(()=>[d(p(D),null,{default:f(()=>[d(p(A))]),_:1})]),suffix:f(()=>[d(p(W),{text:"",onClick:_a,disabled:!Ee.value||Ye.value,loading:Ye.value},{default:f(()=>[...a[16]||(a[16]=[m(" 搜索 ",-1)])]),_:1},8,["disabled","loading"])]),_:1},8,["value","disabled"])])]),r("div",{class:"content",ref_key:"contentEl",ref:We},[p(Be).loading?(u(),o("div",fe,[d(p(ee),{size:"large"},{description:f(()=>[...a[17]||(a[17]=[m(" 加载会话列表... ",-1)])]),_:1})])):p(Be).error?(u(),c(p(ae),{key:1,type:"error",title:"加载失败",style:{"margin-bottom":"16px"}},{default:f(()=>[m(h(p(Be).error),1)]),_:1})):ga.value.length>0?(u(),c(p(z),I({key:2,modelValue:Re.value,"onUpdate:modelValue":a[3]||(a[3]=e=>Re.value=e),"item-key":"sessionId",class:"sessions-list",handle:".drag-handle",disabled:Ze.value||Je.value},da,{"ghost-class":"ghost","chosen-class":"chosen",animation:"200",onEnd:wa}),{item:f(({element:e})=>[r("div",{class:k(["session-item",{"session-item-selected":Ca(e.sessionId),"session-item-selection-mode":Ze.value}]),onMouseenter:a=>Oe.value=e.sessionId,onMouseleave:a[2]||(a[2]=e=>Oe.value=null),onClick:a=>xa(e)},[Ze.value?(u(),o("div",{key:1,class:"selection-checkbox",onClick:a[1]||(a[1]=_(()=>{},["stop"]))},[d(p(J),{checked:Ca(e.sessionId),"onUpdate:checked":a=>ja(e.sessionId,a)},null,8,["checked","onUpdate:checked"])])):(u(),o("div",me,[d(p(D),{size:"16",color:"#999"},{default:f(()=>[d(p(q))]),_:1})])),r("div",he,[r("div",ye,[d(p(D),{size:"24",color:"#18a058"},{default:f(()=>[d(p(E))]),_:1})]),r("div",ge,[r("div",ke,[r("div",_e,[r("span",we,h(e.alias?`${e.alias} (${e.sessionId.substring(0,8)})`:e.sessionId),1),e.forkedFrom?(u(),c(p(se),{key:0,placement:"top"},{trigger:f(()=>[d(p(X),{size:"small",type:"warning",bordered:!1,style:{"margin-left":"8px",cursor:"help"}},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(K))]),_:1})]),default:f(()=>[a[18]||(a[18]=m(" Fork ",-1))]),_:1})]),default:f(()=>[m(" Fork 自: "+h(e.forkedFrom),1)]),_:2},1024)):v("",!0)])]),r("div",be,[d(p(Z),{depth:"3"},{default:f(()=>[m(h(La(e.mtime)),1)]),_:2},1024),d(p(Z),{depth:"3"},{default:f(()=>[...a[19]||(a[19]=[m("•",-1)])]),_:1}),d(p(X),{size:"small",bordered:!1},{default:f(()=>[m(h(Pa(e.size)),1)]),_:2},1024)]),e.firstMessage?(u(),c(p(Z),{key:0,depth:"3",class:"session-message"},{default:f(()=>[m(h(Aa(e.firstMessage,80)),1)]),_:2},1024)):e.gitBranch||e.summary?v("",!0):(u(),c(p(Z),{key:1,depth:"3",class:"session-message session-message-empty"},{default:f(()=>[...a[20]||(a[20]=[m(" 暂未读取到对话内容 ",-1)])]),_:1}))])]),r("div",Ie,[r("div",Ce,[e.gitBranch?(u(),c(p(X),{key:0,size:"small",type:"info",bordered:!1},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(K))]),_:1})]),default:f(()=>[m(" "+h(e.gitBranch),1)]),_:2},1024)):v("",!0)]),Ze.value?v("",!0):(u(),o("div",je,[d(p(le),null,{default:f(()=>[w(d(p(W),{size:"small",type:"error",onClick:_(a=>{return s=e.sessionId,void B.warning({title:"删除会话",content:"确定要删除这个会话吗?此操作不可恢复!",positiveText:"确定删除",negativeText:"取消",onPositiveClick:async()=>{try{await Be.deleteSession(s),Ma([s]),M.success("会话已删除")}catch(e){M.error("删除失败: "+e.message)}}});var s},["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(T))]),_:1})]),default:f(()=>[a[21]||(a[21]=m(" 删除 ",-1))]),_:1},8,["onClick"]),[[b,Oe.value===e.sessionId]]),d(p(W),{size:"small",onClick:_(a=>function(e){Ge.value=e,He.value=e.alias||"",Ke.value=!0}(e),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(G))]),_:1})]),default:f(()=>[a[22]||(a[22]=m(" 别名 ",-1))]),_:1},8,["onClick"]),d(p(W),{size:"small",type:p(Pe)(Te.value,qe.value,e.sessionId)?"warning":"default",onClick:_(a=>async function(e){const a=Te.value,s=Pe(a,qe.value,e.sessionId);try{if(s)await Le(a,qe.value,e.sessionId),M.success("已取消收藏");else{const s={sessionId:e.sessionId,projectName:qe.value,projectDisplayName:ca.value,projectFullPath:va.value,alias:e.alias||"",firstMessage:e.firstMessage||"",mtime:e.mtime,size:e.size,gitBranch:e.gitBranch||"",forkedFrom:e.forkedFrom||""};await Ue(a,s),M.success("已添加到收藏")}}catch(l){M.error("操作失败: "+l.message)}}(e),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[p(Pe)(Te.value,qe.value,e.sessionId)?(u(),c(p(H),{key:0})):(u(),c(p(O),{key:1}))]),_:2},1024)]),default:f(()=>[m(" "+h(p(Pe)(Te.value,qe.value,e.sessionId)?"已收藏":"收藏"),1)]),_:2},1032,["type","onClick"]),"opencode"!==Te.value?(u(),c(p(W),{key:0,size:"small",onClick:_(a=>async function(e){if("opencode"!==Te.value)try{const a=Re.value.find(a=>a.sessionId===e);ea.value=a||{sessionId:e},aa.value="",sa.value=Fe,na.value=[{label:"完整会话末尾(保留全部消息)",value:Fe}],Qe.value=!0,la.value=!0;const s=await U(qe.value,e,Te.value),l=Array.isArray(null==s?void 0:s.items)?s.items:[];na.value=[{label:"完整会话末尾(保留全部消息)",value:Fe},...l.map(e=>({label:`保留到第 ${e.userMessageNumber} 条用户消息这一轮 · ${e.preview}`,value:e.userMessageNumber}))]}catch(a){M.error("加载 Fork 位置失败: "+a.message),Fa()}finally{la.value=!1}else M.warning("OpenCode 当前不支持该 Fork 操作")}(e.sessionId),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(K))]),_:1})]),default:f(()=>[a[23]||(a[23]=m(" Fork ",-1))]),_:1},8,["onClick"])):v("",!0),d(p(W),{size:"small",type:"primary",onClick:_(a=>Ba(e.sessionId),["stop"])},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(R))]),_:1})]),default:f(()=>[a[24]||(a[24]=m(" 使用对话 ",-1))]),_:1},8,["onClick"])]),_:2},1024)]))])],42,pe)]),_:1},16,["modelValue","disabled"])):(u(),c(p(te),{key:3,description:"没有找到会话",style:{"margin-top":"60px"}},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(V))]),_:1})]),_:1}))],512),d(p(ne),{show:Ke.value,"onUpdate:show":a[6]||(a[6]=e=>Ke.value=e),preset:"dialog",title:"设置别名"},{action:f(()=>[d(p(le),null,{default:f(()=>[d(p(W),{onClick:a[5]||(a[5]=e=>Ke.value=!1)},{default:f(()=>[...a[25]||(a[25]=[m("取消",-1)])]),_:1}),d(p(W),{type:"primary",onClick:Na},{default:f(()=>[...a[26]||(a[26]=[m("确定",-1)])]),_:1})]),_:1})]),default:f(()=>[d(p(Q),{value:He.value,"onUpdate:value":a[4]||(a[4]=e=>He.value=e),placeholder:"输入别名(留空删除)",onKeyup:g(Na,["enter"])},null,8,["value"])]),_:1},8,["show"]),d(p(ne),{show:Qe.value,"onUpdate:show":a[9]||(a[9]=e=>Qe.value=e),preset:"dialog",title:"Fork 对话"},{action:f(()=>[d(p(le),null,{default:f(()=>[d(p(W),{disabled:ta.value,onClick:Fa},{default:f(()=>[...a[28]||(a[28]=[m("取消",-1)])]),_:1},8,["disabled"]),d(p(W),{type:"primary",loading:ta.value,onClick:Sa},{default:f(()=>[...a[29]||(a[29]=[m(" 确认 Fork ",-1)])]),_:1},8,["loading"])]),_:1})]),default:f(()=>[d(p(le),{vertical:"",size:14},{default:f(()=>[d(p(Z),{depth:"3"},{default:f(()=>[...a[27]||(a[27]=[m(" 可选择保留到第几条用户消息所在轮次;会包含这条消息后 AI 的完整输出。 ",-1)])]),_:1}),d(p(ie),{value:sa.value,"onUpdate:value":a[7]||(a[7]=e=>sa.value=e),options:na.value,loading:la.value,clearable:"",placeholder:"选择保留到哪一轮(默认完整会话)"},null,8,["value","options","loading"]),d(p(Q),{value:aa.value,"onUpdate:value":a[8]||(a[8]=e=>aa.value=e),placeholder:"输入新会话别名(可选)",maxlength:"120"},null,8,["value"])]),_:1})]),_:1},8,["show"]),d(p(ne),{show:De.value,"onUpdate:show":a[10]||(a[10]=e=>De.value=e),preset:"card",title:"搜索结果",style:{width:"1200px"}},{default:f(()=>[Ve.value?(u(),o("div",ze,[d(p(ae),{type:"info",style:{"margin-bottom":"16px"}},{default:f(()=>[m(' 关键词 "'+h(Ve.value.keyword)+'" 共找到 '+h(Ve.value.totalMatches)+" 处匹配 ",1)]),_:1}),(u(!0),o(y,null,C(Ve.value.sessions,e=>(u(),o("div",{key:e.sessionId,class:"search-result-item"},[r("div",xe,[r("div",Ne,[d(p(Z),{strong:""},{default:f(()=>[m(h(e.alias?`${e.alias} (${e.sessionId.substring(0,8)})`:e.sessionId.substring(0,8)),1)]),_:2},1024),d(p(X),{size:"small",bordered:!1},{default:f(()=>[m(h(e.matchCount)+" 个匹配",1)]),_:2},1024)]),d(p(W),{size:"small",type:"primary",onClick:a=>Ba(e.sessionId)},{icon:f(()=>[d(p(D),null,{default:f(()=>[d(p(R))]),_:1})]),default:f(()=>[a[30]||(a[30]=m(" 使用对话 ",-1))]),_:1},8,["onClick"])]),(u(!0),o(y,null,C(e.matches,(e,a)=>(u(),o("div",{key:a,class:"search-match"},[d(p(X),{size:"tiny",type:"user"===e.role?"info":"success",bordered:!1},{default:f(()=>[m(h("user"===e.role?"用户":"助手"),1)]),_:2},1032,["type"]),d(p(Z),{depth:"3",class:"search-match-text",innerHTML:Ta(e.context,Ve.value.keyword)},null,8,["innerHTML"])]))),128))]))),128)),0===Ve.value.sessions.length?(u(),c(p(te),{key:0,description:"没有找到匹配的内容"})):v("",!0)])):v("",!0)]),_:1},8,["show"]),oa.value?(u(),c(S,{key:0,ref_key:"chatHistoryRef",ref:ra,show:ia.value,"onUpdate:show":a[11]||(a[11]=e=>ia.value=e),"project-name":qe.value,"session-id":oa.value,"session-alias":ua.value,channel:Te.value,onError:$a},null,8,["show","project-name","session-id","session-alias","channel"])):v("",!0)]))}},[["__scopeId","data-v-528553dd"]]);export{Se as default};
|