@bigduu/lotus 2026.6.2 → 2026.6.4

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 (82) hide show
  1. package/README.md +148 -71
  2. package/README.zh-CN.md +184 -0
  3. package/dist/assets/App-DGiMC-bc.js +245 -0
  4. package/dist/assets/{FeatureGuide-WswLwoHO.js → FeatureGuide-CeSU4k2J.js} +1 -1
  5. package/dist/assets/{MetricsService-B6NNBaFU.js → MetricsService-BwJoJM1I.js} +1 -1
  6. package/dist/assets/{SubAgentsPanel-CJmIvsg3.js → SubAgentsPanel-B7tWf8Y_.js} +1 -1
  7. package/dist/assets/{architectureDiagram-3BPJPVTR-B6Aigvp7.js → architectureDiagram-3BPJPVTR-BebuBU7Q.js} +1 -1
  8. package/dist/assets/{blockDiagram-GPEHLZMM-BG4jFash.js → blockDiagram-GPEHLZMM-COwJ0V9U.js} +1 -1
  9. package/dist/assets/{c4Diagram-AAUBKEIU-Bmsq6Nwl.js → c4Diagram-AAUBKEIU-Dzi1f7rv.js} +1 -1
  10. package/dist/assets/{chunk-2J33WTMH-BeBOyD8r.js → chunk-2J33WTMH-gGTSUslI.js} +1 -1
  11. package/dist/assets/{chunk-4BX2VUAB-CvWY7Izk.js → chunk-4BX2VUAB-Ba2pD5h_.js} +1 -1
  12. package/dist/assets/{chunk-55IACEB6-CSRfOrIS.js → chunk-55IACEB6-Bgc2fQut.js} +1 -1
  13. package/dist/assets/{chunk-727SXJPM-k_VOeRRa.js → chunk-727SXJPM-BbDzQZvf.js} +1 -1
  14. package/dist/assets/{chunk-AQP2D5EJ-eCCYzF54.js → chunk-AQP2D5EJ-CNJIXQcJ.js} +1 -1
  15. package/dist/assets/{chunk-FMBD7UC4-B7yGAY4w.js → chunk-FMBD7UC4-DxIxh6Ds.js} +1 -1
  16. package/dist/assets/{chunk-ND2GUHAM-pNlL9ELu.js → chunk-ND2GUHAM-s08Pzboe.js} +1 -1
  17. package/dist/assets/{chunk-QZHKN3VN-C46sDVU5.js → chunk-QZHKN3VN-BAzhPVsB.js} +1 -1
  18. package/dist/assets/classDiagram-4FO5ZUOK-DXcpWQD1.js +1 -0
  19. package/dist/assets/classDiagram-v2-Q7XG4LA2-DXcpWQD1.js +1 -0
  20. package/dist/assets/{cose-bilkent-S5V4N54A-BbJSEGbL.js → cose-bilkent-S5V4N54A-_w_xFpmi.js} +1 -1
  21. package/dist/assets/{dagre-BM42HDAG-DAgnHbAW.js → dagre-BM42HDAG-DBuvyGu5.js} +1 -1
  22. package/dist/assets/{diagram-2AECGRRQ-DvSwTGxM.js → diagram-2AECGRRQ-DBhlnTP6.js} +1 -1
  23. package/dist/assets/{diagram-5GNKFQAL-DEJHaLfu.js → diagram-5GNKFQAL-CfeEom2U.js} +1 -1
  24. package/dist/assets/{diagram-KO2AKTUF-DrqjmP_T.js → diagram-KO2AKTUF-BdVfrz_2.js} +1 -1
  25. package/dist/assets/{diagram-LMA3HP47-Bjo5cwtc.js → diagram-LMA3HP47-CTH2TNUy.js} +1 -1
  26. package/dist/assets/{diagram-OG6HWLK6-Xt8OEUbk.js → diagram-OG6HWLK6-BQM5_eCb.js} +1 -1
  27. package/dist/assets/en-US-BQ4GPQ1L.js +3 -0
  28. package/dist/assets/{erDiagram-TEJ5UH35-CyY6UxKD.js → erDiagram-TEJ5UH35-B-21iS1U.js} +1 -1
  29. package/dist/assets/{flowDiagram-I6XJVG4X-CxYF-4G3.js → flowDiagram-I6XJVG4X-Pvjq-IGZ.js} +1 -1
  30. package/dist/assets/{ganttDiagram-6RSMTGT7-CPOiW77k.js → ganttDiagram-6RSMTGT7-CsT06Nub.js} +1 -1
  31. package/dist/assets/{gitGraphDiagram-PVQCEYII-DrOgkuZM.js → gitGraphDiagram-PVQCEYII-CHvUQAnK.js} +1 -1
  32. package/dist/assets/index-8u7yjQhY.css +1 -0
  33. package/dist/assets/{index-BeXVgYXk.js → index-B2KftsrY.js} +1 -1
  34. package/dist/assets/{index-D6dXobma.js → index-BLvTnbVM.js} +1 -1
  35. package/dist/assets/{index-BjFjcKGZ.js → index-CGPDORYG.js} +1 -1
  36. package/dist/assets/{index-DNS3k4mM.js → index-CWR9aGNs.js} +1 -1
  37. package/dist/assets/index-Czh1rLTB.js +8 -0
  38. package/dist/assets/{index-CoGZNEv_.js → index-DNaudOY7.js} +1 -1
  39. package/dist/assets/{index-DPAR85WM.js → index-DUN61Z32.js} +1 -1
  40. package/dist/assets/{index-CzInZqzj.js → index-DjV_isdj.js} +1 -1
  41. package/dist/assets/{index-BmrwviZb.js → index-DlPD5pVw.js} +1 -1
  42. package/dist/assets/{index-B4T1KHs6.js → index-DsVVUUnV.js} +1 -1
  43. package/dist/assets/index-DtdE5mvd.js +22 -0
  44. package/dist/assets/index-WsBNH02d.js +1 -0
  45. package/dist/assets/{index-2nERrqJS.js → index-qH5MzXB_.js} +1 -1
  46. package/dist/assets/{index.es-BmYnl4eQ.js → index.es-Dg_ifvDP.js} +1 -1
  47. package/dist/assets/{infoDiagram-5YYISTIA-C84arbm7.js → infoDiagram-5YYISTIA-DVnYFnCA.js} +1 -1
  48. package/dist/assets/{ishikawaDiagram-YF4QCWOH-CcecJvgD.js → ishikawaDiagram-YF4QCWOH-BilctuFn.js} +1 -1
  49. package/dist/assets/{journeyDiagram-JHISSGLW-BUqT2Za3.js → journeyDiagram-JHISSGLW-BvpNGUEX.js} +1 -1
  50. package/dist/assets/{kanban-definition-UN3LZRKU-CzZzby99.js → kanban-definition-UN3LZRKU-Dq1kXZPB.js} +1 -1
  51. package/dist/assets/{main-CvPZyRz3.js → main-BNHHYyvu.js} +3 -3
  52. package/dist/assets/{mindmap-definition-RKZ34NQL-CmVDGb3s.js → mindmap-definition-RKZ34NQL-BM5Yg_Wt.js} +1 -1
  53. package/dist/assets/{pieDiagram-4H26LBE5-DH2IiUT-.js → pieDiagram-4H26LBE5-CxzR0EiZ.js} +1 -1
  54. package/dist/assets/{quadrantDiagram-W4KKPZXB--NA0nuaI.js → quadrantDiagram-W4KKPZXB-C6qm5TrW.js} +1 -1
  55. package/dist/assets/{requirementDiagram-4Y6WPE33-DgTgIhBX.js → requirementDiagram-4Y6WPE33-Bfok6_yJ.js} +1 -1
  56. package/dist/assets/{sankeyDiagram-5OEKKPKP-CALJaoqk.js → sankeyDiagram-5OEKKPKP-CO-kBES5.js} +1 -1
  57. package/dist/assets/{sequenceDiagram-3UESZ5HK-BXGdJmYN.js → sequenceDiagram-3UESZ5HK-BA68KNvF.js} +1 -1
  58. package/dist/assets/{stateDiagram-AJRCARHV-CLL4nh4w.js → stateDiagram-AJRCARHV-CPFv6QjH.js} +1 -1
  59. package/dist/assets/stateDiagram-v2-BHNVJYJU-C6FuGkH6.js +1 -0
  60. package/dist/assets/{timeline-definition-PNZ67QCA-BIZqkLkh.js → timeline-definition-PNZ67QCA-DqkH57r5.js} +1 -1
  61. package/dist/assets/{vendor-antd-CKNrd1kL.js → vendor-antd-BV9fXfUG.js} +1 -1
  62. package/dist/assets/{vendor-charts-CRpjYi1a.js → vendor-charts-C2gnH3Bq.js} +1 -1
  63. package/dist/assets/{vendor-markdown-DrYaLZhb.js → vendor-markdown-CR3QKQo2.js} +1 -1
  64. package/dist/assets/{vendor-mermaid-DBtTSFLf.js → vendor-mermaid-EqIWbuOm.js} +4 -4
  65. package/dist/assets/{vendor-pdf-DpZo6MNQ.js → vendor-pdf-BerqhPFN.js} +4 -4
  66. package/dist/assets/{vennDiagram-CIIHVFJN-D1jzM1K8.js → vennDiagram-CIIHVFJN-CakMDBwB.js} +1 -1
  67. package/dist/assets/{wardley-L42UT6IY-Yq8es9jt.js → wardley-L42UT6IY-B1oAtJIM.js} +1 -1
  68. package/dist/assets/{wardleyDiagram-YWT4CUSO-DlhxW9kY.js → wardleyDiagram-YWT4CUSO-CxG6z1Fg.js} +1 -1
  69. package/dist/assets/{xychartDiagram-2RQKCTM6-BipN62gu.js → xychartDiagram-2RQKCTM6-BCpc7XLL.js} +1 -1
  70. package/dist/assets/zh-CN-ClwJHuX0.js +3 -0
  71. package/dist/index.html +4 -4
  72. package/package.json +1 -1
  73. package/dist/assets/App-CiBjfJbZ.js +0 -245
  74. package/dist/assets/classDiagram-4FO5ZUOK-Bt1SwZSt.js +0 -1
  75. package/dist/assets/classDiagram-v2-Q7XG4LA2-Bt1SwZSt.js +0 -1
  76. package/dist/assets/en-US-Bj91Ptrm.js +0 -3
  77. package/dist/assets/index-B6OABT-M.css +0 -1
  78. package/dist/assets/index-BWX57hkV.js +0 -1
  79. package/dist/assets/index-Di8pH-kP.js +0 -8
  80. package/dist/assets/index-DiWM3I28.js +0 -22
  81. package/dist/assets/stateDiagram-v2-BHNVJYJU-CFglal-4.js +0 -1
  82. package/dist/assets/zh-CN-C8K1JeQZ.js +0 -3
@@ -1 +1 @@
1
- import{j as n}from"./vendor-markdown-DrYaLZhb.js";import{u as V,a as d}from"./vendor-i18n-Dm-c3D_C.js";import{u as h,b as H,c as W,d as B,e as A,f as Q,A as z,g as G,o as Y,i as X}from"./App-CiBjfJbZ.js";import{t as Z,X as J,a4 as ee,Z as te,a5 as se,a6 as ne,a7 as oe,a8 as ae,a9 as ie,aa as le,a2 as re,ab as de,a3 as ce,l as me,I as ue,ac as pe,o as ge}from"./vendor-antd-CKNrd1kL.js";import"./vendor-mermaid-DBtTSFLf.js";import"./main-CvPZyRz3.js";const be=(()=>{let e=null,o=[],a=new Map;return i=>{if(i===e)return o;const p=i.map(c=>{const l=a.get(c.id),g={id:c.id,title:c.title,kind:c.kind,pinned:c.pinned,updatedAt:c.updatedAt,workspacePath:c.config.workspacePath};return l&&l.title===g.title&&l.kind===g.kind&&l.pinned===g.pinned&&l.updatedAt===g.updatedAt&&l.workspacePath===g.workspacePath?l:g}),P=p.length===o.length&&p.every((c,l)=>c===o[l]);return e=i,a=new Map(p.map(c=>[c.id,c])),P?o:(o=p,p)}})(),fe=[{id:"settings-provider",tabKey:"provider",titleKey:"commandPalette.actions.openProviderSettings",fallbackTitle:"Open Provider Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"AI",keywords:["api","key","openai","anthropic","gemini","model"]},{id:"settings-model-limits",tabKey:"model-limits",titleKey:"commandPalette.actions.openModelLimits",fallbackTitle:"Open Model Limits",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"AI",keywords:["token","context","window","budget","limit"]},{id:"settings-prompts",tabKey:"prompts",titleKey:"commandPalette.actions.openPrompts",fallbackTitle:"Open System Prompts",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"AI",keywords:["system","prompt","persona","instruction"]},{id:"settings-skills",tabKey:"skills",titleKey:"commandPalette.actions.openSkills",fallbackTitle:"Open Skills",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["skill","capability","plugin"]},{id:"settings-mcp",tabKey:"mcp",titleKey:"commandPalette.actions.openMcpSettings",fallbackTitle:"Open MCP Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["mcp","server","tool","external"]},{id:"settings-workflows",tabKey:"workflows",titleKey:"commandPalette.actions.openWorkflowSettings",fallbackTitle:"Open Workflow Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["workflow","automation","template"]},{id:"settings-hooks",tabKey:"hooks",titleKey:"commandPalette.actions.openHooks",fallbackTitle:"Open Hooks",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["hook","event","trigger","callback"]},{id:"settings-schedules",tabKey:"schedules",titleKey:"commandPalette.actions.openSchedulesSettings",fallbackTitle:"Open Schedules",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Ops",keywords:["schedule","cron","recurring","timer","automated"]},{id:"settings-sessions",tabKey:"sessions",titleKey:"commandPalette.actions.openSessionsSettings",fallbackTitle:"Open Session Monitor",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Monitor",keywords:["session","monitor","cleanup","history"]},{id:"settings-metrics",tabKey:"metrics",titleKey:"commandPalette.actions.openMetrics",fallbackTitle:"Open Metrics Dashboard",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Monitor",keywords:["metrics","dashboard","analytics","usage","stats"]},{id:"settings-masking",tabKey:"masking",titleKey:"commandPalette.actions.openMasking",fallbackTitle:"Open Keyword Masking",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"Security & privacy",badge:"Security",keywords:["mask","redact","privacy","keyword","sensitive"]},{id:"settings-env",tabKey:"env-vars",titleKey:"commandPalette.actions.openEnvVars",fallbackTitle:"Open Environment Variables",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"System",keywords:["env","environment","variable","config"]},{id:"settings-config",tabKey:"config",titleKey:"commandPalette.actions.openConfig",fallbackTitle:"Open Configuration",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"System",keywords:["config","json","bamboo","data","path"]},{id:"settings-app",tabKey:"app",titleKey:"commandPalette.actions.openAppSettings",fallbackTitle:"Open App Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"System",keywords:["app","application","reset","theme","language"]}],ye=(e,o)=>{const a=[e.title,e.id,e.kind||"root"];return e.pinned&&a.push("pinned","pin"),o&&a.push("running","processing"),e.workspacePath&&a.push(e.workspacePath),e.updatedAt&&a.push(e.updatedAt),a.filter(Boolean)},ke=(e,o,a)=>{const i=[];if(e.kind==="child"?i.push(o):i.push(a),e.workspacePath&&i.push(e.workspacePath),e.updatedAt)try{i.push(new Date(e.updatedAt).toLocaleString())}catch{i.push(e.updatedAt)}return i.join(" • ")},Se=(e,o)=>{const a=o.trim().toLowerCase();return a?e.filter(i=>[i.title,i.subtitle||"",...i.keywords].join(" ").toLowerCase().includes(a)):e},we=e=>{if(!(e instanceof HTMLElement))return!1;const o=e.tagName.toLowerCase();return e.isContentEditable?!0:o==="input"||o==="textarea"||o==="select"},v="__LOTUS_COMMAND_PALETTE_FORCE_OPEN__",ve=()=>{const{t:e}=V(),{token:o}=Z.useToken(),a=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{message:i}=J.useApp(),p=h(t=>be(t.chats)),P=h(t=>t.addChat),c=h(t=>t.lastSelectedPromptId),l=h(t=>t.systemPrompts),g=h(H(t=>Object.entries(t.executionBySession).filter(([,s])=>X(s.phase)).map(([s])=>s).sort())),[b,f]=d.useState(()=>typeof window>"u"?!1:window[v]?(delete window[v],!0):!1),[E,x]=d.useState(""),[k,S]=d.useState(0),j=d.useRef(null),M=d.useRef(null),C=W(t=>t.open),O=B(t=>t.toggleTheme),I=B(t=>t.themeMode),K=A(t=>t.sidebar.collapsed),L=A(t=>t.setSidebarCollapsed),T=Q(t=>t.mode),N=Q(t=>t.toggleMode),R=d.useCallback(async()=>{var $,q;const t=l.find(w=>w.id===c),s=(t==null?void 0:t.id)||(l.length>0?(($=l.find(w=>w.id==="general_assistant"))==null?void 0:$.id)||l[0].id:""),m=await P({title:e("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:s,baseSystemPrompt:(t==null?void 0:t.content)||(l.length>0?((q=l.find(w=>w.id==="general_assistant"))==null?void 0:q.content)||l[0].content:""),lastUsedEnhancedPrompt:null}}),{activeLeafId:r,setLeafSessionId:y,setActiveLeafId:U}=A.getState();y(r,m),U(r)},[P,c,l,e]),_=d.useMemo(()=>{const t=fe.filter(s=>!(T==="simple"&&z.has(s.tabKey))).map(s=>({id:s.id,kind:"action",title:e(s.titleKey,s.fallbackTitle),subtitle:e(s.subtitleKey||"commandPalette.groups.settings",s.fallbackSubtitle||"System settings"),keywords:[s.tabKey,s.badge||"","settings","config",...s.keywords||[]],icon:n.jsx(ee,{}),badge:s.badge,onSelect:()=>{C("chat",s.tabKey)}}));return[{id:"new-session",kind:"action",title:e("commandPalette.actions.newSession","Create New Session"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["new","create","session","chat","conversation"],icon:n.jsx(te,{}),badge:e("commandPalette.badges.quickAction","Action"),onSelect:async()=>{await R()}},{id:"toggle-theme",kind:"action",title:I==="dark"?e("commandPalette.actions.switchToLight","Switch to Light Mode"):e("commandPalette.actions.switchToDark","Switch to Dark Mode"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["theme","dark","light","mode","appearance","toggle","color"],icon:n.jsx(se,{}),badge:I==="dark"?"☀️":"🌙",onSelect:()=>{O()}},{id:"toggle-sidebar",kind:"action",title:K?e("commandPalette.actions.showSidebar","Show Sidebar"):e("commandPalette.actions.hideSidebar","Hide Sidebar"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["sidebar","toggle","hide","show","panel","menu"],icon:K?n.jsx(ne,{}):n.jsx(oe,{}),badge:"Layout",onSelect:()=>{L(!K)}},{id:"split-pane",kind:"action",title:e("commandPalette.actions.splitPane","Split Pane"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["split","pane","multi","dual","side","layout"],icon:n.jsx(ae,{}),badge:"Layout",onSelect:()=>{const{tree:s,activeLeafId:m,splitLeaf:r}=A.getState();G(s).length<4&&r(m,"vertical")}},...t,{id:"toggle-experience-mode",kind:"action",title:T==="simple"?e("commandPalette.actions.switchToAdvanced","Switch to Advanced Mode"):e("commandPalette.actions.switchToSimple","Switch to Simple Mode"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["mode","simple","advanced","beginner","expert","experience","complexity"],icon:n.jsx(ie,{}),badge:T==="simple"?"Simple":"Advanced",onSelect:()=>{N()}}]},[R,C,O,I,K,L,T,N,e]),D=d.useMemo(()=>{if(!b)return[];const t=new Set(g);return p.map(s=>{const m=t.has(s.id);return{id:`session-${s.id}`,kind:"session",title:s.title,subtitle:ke(s,e("commandPalette.badges.childSession","Child session"),e("commandPalette.badges.rootSession","Session")),keywords:ye(s,m),icon:n.jsx(le,{}),badge:s.pinned?e("commandPalette.badges.pinned","Pinned"):m?e("commandPalette.badges.running","Running"):s.kind==="child"?e("commandPalette.badges.child","Child"):void 0,onSelect:()=>{Y(s.id)}}})},[b,g,p,e]),F=d.useMemo(()=>[..._,...D],[_,D]),u=d.useMemo(()=>Se(F,E).slice(0,40),[F,E]);return d.useEffect(()=>{S(t=>u.length===0?0:Math.min(t,u.length-1))},[u.length]),d.useEffect(()=>{if(!b)return;const t=window.setTimeout(()=>{var s,m;(s=j.current)==null||s.focus(),(m=j.current)==null||m.select()},0);return()=>window.clearTimeout(t)},[b]),d.useEffect(()=>{if(typeof window>"u")return;const t=s=>{if((s.metaKey||s.ctrlKey)&&s.key.toLowerCase()==="k"){s.preventDefault(),f(r=>!r);return}if(b){if(s.key==="Escape"){s.preventDefault(),f(!1);return}if(!(we(s.target)&&s.key!=="ArrowUp"&&s.key!=="ArrowDown"&&s.key!=="Enter")){if(s.key==="ArrowDown"){s.preventDefault(),S(r=>u.length===0?0:(r+1)%u.length);return}if(s.key==="ArrowUp"){s.preventDefault(),S(r=>u.length===0?0:r===0?u.length-1:r-1);return}if(s.key==="Enter"){const r=u[k];if(!r)return;s.preventDefault(),(async()=>{try{await r.onSelect(),f(!1),x("")}catch(y){console.error("[CommandPalette] action failed",y),i.error(y instanceof Error?y.message:e("commandPalette.errors.actionFailed","Command failed"))}})()}}}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[u,i,b,k,e]),d.useEffect(()=>{b||(x(""),S(0))},[b]),d.useEffect(()=>{typeof window>"u"||!window[v]||(delete window[v],f(!0))},[]),d.useEffect(()=>{const t=M.current;if(!t)return;const s=t.querySelector(`[data-command-index="${k}"]`);s==null||s.scrollIntoView({block:"nearest"})},[k]),n.jsx(re,{open:b,onCancel:()=>f(!1),footer:null,centered:!0,width:680,destroyOnClose:!0,className:"lotus-command-palette-modal",title:null,closable:!1,styles:{content:{padding:12,borderRadius:o.borderRadiusLG,overflow:"hidden",background:o.colorBgElevated,backdropFilter:a?"none":"blur(18px)",WebkitBackdropFilter:a?"none":"blur(18px)"},body:{padding:0},mask:{backdropFilter:a?"none":"blur(6px)",WebkitBackdropFilter:a?"none":"blur(6px)"}},children:n.jsxs("div",{className:"lotus-command-palette-shell",children:[n.jsxs("div",{className:"lotus-command-palette-search",children:[n.jsx(de,{style:{color:o.colorTextTertiary,fontSize:16}}),n.jsx(ce,{ref:j,value:E,onChange:t=>x(t.target.value),variant:"borderless",placeholder:e("commandPalette.searchPlaceholder","Search sessions, settings, and actions"),"aria-label":e("commandPalette.searchPlaceholder","Search sessions, settings, and actions"),suffix:n.jsx(me.Text,{type:"secondary",style:{fontSize:12},children:"⌘K"})})]}),n.jsxs("div",{className:"lotus-command-palette-hint",children:[n.jsx(ue,{}),n.jsx("span",{children:e("commandPalette.navigationHint","Use ↑↓ to navigate, Enter to open, and Esc to close.")})]}),n.jsx("div",{ref:M,className:"lotus-command-palette-list",role:"listbox",children:u.length===0?n.jsxs("div",{className:"lotus-command-palette-empty",children:[n.jsx(pe,{}),n.jsx("span",{children:e("commandPalette.empty","No matching commands")})]}):u.map((t,s)=>{const m=s===k;return n.jsxs("button",{type:"button",className:`lotus-command-palette-item ${m?"is-selected":""}`,"data-command-index":s,onMouseEnter:()=>S(s),onClick:()=>{(async()=>{try{await t.onSelect(),f(!1),x("")}catch(r){console.error("[CommandPalette] action failed",r),i.error(r instanceof Error?r.message:e("commandPalette.errors.actionFailed","Command failed"))}})()},children:[n.jsx("span",{className:"lotus-command-palette-item-icon",children:t.icon}),n.jsxs("span",{className:"lotus-command-palette-item-content",children:[n.jsxs("span",{className:"lotus-command-palette-item-title-row",children:[n.jsx("span",{className:"lotus-command-palette-item-title",children:t.title}),t.badge?n.jsx(ge,{bordered:!1,children:t.badge}):null]}),t.subtitle?n.jsx("span",{className:"lotus-command-palette-item-subtitle",children:t.subtitle}):null]})]},t.id)})})]})})};export{ve as CommandPalette,ve as default};
1
+ import{j as n}from"./vendor-markdown-CR3QKQo2.js";import{u as V,a as d}from"./vendor-i18n-Dm-c3D_C.js";import{u as h,b as H,c as W,d as B,e as A,f as Q,A as z,g as G,o as Y,i as X}from"./App-DGiMC-bc.js";import{t as Z,X as J,a4 as ee,Z as te,a5 as se,a6 as ne,a7 as oe,a8 as ae,a9 as ie,aa as le,a2 as re,ab as de,a3 as ce,l as me,I as ue,ac as pe,o as ge}from"./vendor-antd-BV9fXfUG.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const be=(()=>{let e=null,o=[],a=new Map;return i=>{if(i===e)return o;const p=i.map(c=>{const l=a.get(c.id),g={id:c.id,title:c.title,kind:c.kind,pinned:c.pinned,updatedAt:c.updatedAt,workspacePath:c.config.workspacePath};return l&&l.title===g.title&&l.kind===g.kind&&l.pinned===g.pinned&&l.updatedAt===g.updatedAt&&l.workspacePath===g.workspacePath?l:g}),P=p.length===o.length&&p.every((c,l)=>c===o[l]);return e=i,a=new Map(p.map(c=>[c.id,c])),P?o:(o=p,p)}})(),fe=[{id:"settings-provider",tabKey:"provider",titleKey:"commandPalette.actions.openProviderSettings",fallbackTitle:"Open Provider Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"AI",keywords:["api","key","openai","anthropic","gemini","model"]},{id:"settings-model-limits",tabKey:"model-limits",titleKey:"commandPalette.actions.openModelLimits",fallbackTitle:"Open Model Limits",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"AI",keywords:["token","context","window","budget","limit"]},{id:"settings-prompts",tabKey:"prompts",titleKey:"commandPalette.actions.openPrompts",fallbackTitle:"Open System Prompts",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"AI",keywords:["system","prompt","persona","instruction"]},{id:"settings-skills",tabKey:"skills",titleKey:"commandPalette.actions.openSkills",fallbackTitle:"Open Skills",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["skill","capability","plugin"]},{id:"settings-mcp",tabKey:"mcp",titleKey:"commandPalette.actions.openMcpSettings",fallbackTitle:"Open MCP Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["mcp","server","tool","external"]},{id:"settings-workflows",tabKey:"workflows",titleKey:"commandPalette.actions.openWorkflowSettings",fallbackTitle:"Open Workflow Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["workflow","automation","template"]},{id:"settings-hooks",tabKey:"hooks",titleKey:"commandPalette.actions.openHooks",fallbackTitle:"Open Hooks",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Tools",keywords:["hook","event","trigger","callback"]},{id:"settings-schedules",tabKey:"schedules",titleKey:"commandPalette.actions.openSchedulesSettings",fallbackTitle:"Open Schedules",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Ops",keywords:["schedule","cron","recurring","timer","automated"]},{id:"settings-sessions",tabKey:"sessions",titleKey:"commandPalette.actions.openSessionsSettings",fallbackTitle:"Open Session Monitor",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Monitor",keywords:["session","monitor","cleanup","history"]},{id:"settings-metrics",tabKey:"metrics",titleKey:"commandPalette.actions.openMetrics",fallbackTitle:"Open Metrics Dashboard",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"Monitor",keywords:["metrics","dashboard","analytics","usage","stats"]},{id:"settings-masking",tabKey:"masking",titleKey:"commandPalette.actions.openMasking",fallbackTitle:"Open Keyword Masking",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"Security & privacy",badge:"Security",keywords:["mask","redact","privacy","keyword","sensitive"]},{id:"settings-env",tabKey:"env-vars",titleKey:"commandPalette.actions.openEnvVars",fallbackTitle:"Open Environment Variables",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"System",keywords:["env","environment","variable","config"]},{id:"settings-config",tabKey:"config",titleKey:"commandPalette.actions.openConfig",fallbackTitle:"Open Configuration",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"System",keywords:["config","json","bamboo","data","path"]},{id:"settings-app",tabKey:"app",titleKey:"commandPalette.actions.openAppSettings",fallbackTitle:"Open App Settings",subtitleKey:"commandPalette.groups.settings",fallbackSubtitle:"System settings",badge:"System",keywords:["app","application","reset","theme","language"]}],ye=(e,o)=>{const a=[e.title,e.id,e.kind||"root"];return e.pinned&&a.push("pinned","pin"),o&&a.push("running","processing"),e.workspacePath&&a.push(e.workspacePath),e.updatedAt&&a.push(e.updatedAt),a.filter(Boolean)},ke=(e,o,a)=>{const i=[];if(e.kind==="child"?i.push(o):i.push(a),e.workspacePath&&i.push(e.workspacePath),e.updatedAt)try{i.push(new Date(e.updatedAt).toLocaleString())}catch{i.push(e.updatedAt)}return i.join(" • ")},Se=(e,o)=>{const a=o.trim().toLowerCase();return a?e.filter(i=>[i.title,i.subtitle||"",...i.keywords].join(" ").toLowerCase().includes(a)):e},we=e=>{if(!(e instanceof HTMLElement))return!1;const o=e.tagName.toLowerCase();return e.isContentEditable?!0:o==="input"||o==="textarea"||o==="select"},v="__LOTUS_COMMAND_PALETTE_FORCE_OPEN__",ve=()=>{const{t:e}=V(),{token:o}=Z.useToken(),a=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{message:i}=J.useApp(),p=h(t=>be(t.chats)),P=h(t=>t.addChat),c=h(t=>t.lastSelectedPromptId),l=h(t=>t.systemPrompts),g=h(H(t=>Object.entries(t.executionBySession).filter(([,s])=>X(s.phase)).map(([s])=>s).sort())),[b,f]=d.useState(()=>typeof window>"u"?!1:window[v]?(delete window[v],!0):!1),[E,x]=d.useState(""),[k,S]=d.useState(0),j=d.useRef(null),M=d.useRef(null),C=W(t=>t.open),O=B(t=>t.toggleTheme),I=B(t=>t.themeMode),K=A(t=>t.sidebar.collapsed),L=A(t=>t.setSidebarCollapsed),T=Q(t=>t.mode),N=Q(t=>t.toggleMode),R=d.useCallback(async()=>{var $,q;const t=l.find(w=>w.id===c),s=(t==null?void 0:t.id)||(l.length>0?(($=l.find(w=>w.id==="general_assistant"))==null?void 0:$.id)||l[0].id:""),m=await P({title:e("chat.sidebar.newSession"),createdAt:Date.now(),messages:[],config:{systemPromptId:s,baseSystemPrompt:(t==null?void 0:t.content)||(l.length>0?((q=l.find(w=>w.id==="general_assistant"))==null?void 0:q.content)||l[0].content:""),lastUsedEnhancedPrompt:null}}),{activeLeafId:r,setLeafSessionId:y,setActiveLeafId:U}=A.getState();y(r,m),U(r)},[P,c,l,e]),_=d.useMemo(()=>{const t=fe.filter(s=>!(T==="simple"&&z.has(s.tabKey))).map(s=>({id:s.id,kind:"action",title:e(s.titleKey,s.fallbackTitle),subtitle:e(s.subtitleKey||"commandPalette.groups.settings",s.fallbackSubtitle||"System settings"),keywords:[s.tabKey,s.badge||"","settings","config",...s.keywords||[]],icon:n.jsx(ee,{}),badge:s.badge,onSelect:()=>{C("chat",s.tabKey)}}));return[{id:"new-session",kind:"action",title:e("commandPalette.actions.newSession","Create New Session"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["new","create","session","chat","conversation"],icon:n.jsx(te,{}),badge:e("commandPalette.badges.quickAction","Action"),onSelect:async()=>{await R()}},{id:"toggle-theme",kind:"action",title:I==="dark"?e("commandPalette.actions.switchToLight","Switch to Light Mode"):e("commandPalette.actions.switchToDark","Switch to Dark Mode"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["theme","dark","light","mode","appearance","toggle","color"],icon:n.jsx(se,{}),badge:I==="dark"?"☀️":"🌙",onSelect:()=>{O()}},{id:"toggle-sidebar",kind:"action",title:K?e("commandPalette.actions.showSidebar","Show Sidebar"):e("commandPalette.actions.hideSidebar","Hide Sidebar"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["sidebar","toggle","hide","show","panel","menu"],icon:K?n.jsx(ne,{}):n.jsx(oe,{}),badge:"Layout",onSelect:()=>{L(!K)}},{id:"split-pane",kind:"action",title:e("commandPalette.actions.splitPane","Split Pane"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["split","pane","multi","dual","side","layout"],icon:n.jsx(ae,{}),badge:"Layout",onSelect:()=>{const{tree:s,activeLeafId:m,splitLeaf:r}=A.getState();G(s).length<4&&r(m,"vertical")}},...t,{id:"toggle-experience-mode",kind:"action",title:T==="simple"?e("commandPalette.actions.switchToAdvanced","Switch to Advanced Mode"):e("commandPalette.actions.switchToSimple","Switch to Simple Mode"),subtitle:e("commandPalette.groups.quickActions","Quick actions"),keywords:["mode","simple","advanced","beginner","expert","experience","complexity"],icon:n.jsx(ie,{}),badge:T==="simple"?"Simple":"Advanced",onSelect:()=>{N()}}]},[R,C,O,I,K,L,T,N,e]),D=d.useMemo(()=>{if(!b)return[];const t=new Set(g);return p.map(s=>{const m=t.has(s.id);return{id:`session-${s.id}`,kind:"session",title:s.title,subtitle:ke(s,e("commandPalette.badges.childSession","Child session"),e("commandPalette.badges.rootSession","Session")),keywords:ye(s,m),icon:n.jsx(le,{}),badge:s.pinned?e("commandPalette.badges.pinned","Pinned"):m?e("commandPalette.badges.running","Running"):s.kind==="child"?e("commandPalette.badges.child","Child"):void 0,onSelect:()=>{Y(s.id)}}})},[b,g,p,e]),F=d.useMemo(()=>[..._,...D],[_,D]),u=d.useMemo(()=>Se(F,E).slice(0,40),[F,E]);return d.useEffect(()=>{S(t=>u.length===0?0:Math.min(t,u.length-1))},[u.length]),d.useEffect(()=>{if(!b)return;const t=window.setTimeout(()=>{var s,m;(s=j.current)==null||s.focus(),(m=j.current)==null||m.select()},0);return()=>window.clearTimeout(t)},[b]),d.useEffect(()=>{if(typeof window>"u")return;const t=s=>{if((s.metaKey||s.ctrlKey)&&s.key.toLowerCase()==="k"){s.preventDefault(),f(r=>!r);return}if(b){if(s.key==="Escape"){s.preventDefault(),f(!1);return}if(!(we(s.target)&&s.key!=="ArrowUp"&&s.key!=="ArrowDown"&&s.key!=="Enter")){if(s.key==="ArrowDown"){s.preventDefault(),S(r=>u.length===0?0:(r+1)%u.length);return}if(s.key==="ArrowUp"){s.preventDefault(),S(r=>u.length===0?0:r===0?u.length-1:r-1);return}if(s.key==="Enter"){const r=u[k];if(!r)return;s.preventDefault(),(async()=>{try{await r.onSelect(),f(!1),x("")}catch(y){console.error("[CommandPalette] action failed",y),i.error(y instanceof Error?y.message:e("commandPalette.errors.actionFailed","Command failed"))}})()}}}};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[u,i,b,k,e]),d.useEffect(()=>{b||(x(""),S(0))},[b]),d.useEffect(()=>{typeof window>"u"||!window[v]||(delete window[v],f(!0))},[]),d.useEffect(()=>{const t=M.current;if(!t)return;const s=t.querySelector(`[data-command-index="${k}"]`);s==null||s.scrollIntoView({block:"nearest"})},[k]),n.jsx(re,{open:b,onCancel:()=>f(!1),footer:null,centered:!0,width:680,destroyOnClose:!0,className:"lotus-command-palette-modal",title:null,closable:!1,styles:{content:{padding:12,borderRadius:o.borderRadiusLG,overflow:"hidden",background:o.colorBgElevated,backdropFilter:a?"none":"blur(18px)",WebkitBackdropFilter:a?"none":"blur(18px)"},body:{padding:0},mask:{backdropFilter:a?"none":"blur(6px)",WebkitBackdropFilter:a?"none":"blur(6px)"}},children:n.jsxs("div",{className:"lotus-command-palette-shell",children:[n.jsxs("div",{className:"lotus-command-palette-search",children:[n.jsx(de,{style:{color:o.colorTextTertiary,fontSize:16}}),n.jsx(ce,{ref:j,value:E,onChange:t=>x(t.target.value),variant:"borderless",placeholder:e("commandPalette.searchPlaceholder","Search sessions, settings, and actions"),"aria-label":e("commandPalette.searchPlaceholder","Search sessions, settings, and actions"),suffix:n.jsx(me.Text,{type:"secondary",style:{fontSize:12},children:"⌘K"})})]}),n.jsxs("div",{className:"lotus-command-palette-hint",children:[n.jsx(ue,{}),n.jsx("span",{children:e("commandPalette.navigationHint","Use ↑↓ to navigate, Enter to open, and Esc to close.")})]}),n.jsx("div",{ref:M,className:"lotus-command-palette-list",role:"listbox",children:u.length===0?n.jsxs("div",{className:"lotus-command-palette-empty",children:[n.jsx(pe,{}),n.jsx("span",{children:e("commandPalette.empty","No matching commands")})]}):u.map((t,s)=>{const m=s===k;return n.jsxs("button",{type:"button",className:`lotus-command-palette-item ${m?"is-selected":""}`,"data-command-index":s,onMouseEnter:()=>S(s),onClick:()=>{(async()=>{try{await t.onSelect(),f(!1),x("")}catch(r){console.error("[CommandPalette] action failed",r),i.error(r instanceof Error?r.message:e("commandPalette.errors.actionFailed","Command failed"))}})()},children:[n.jsx("span",{className:"lotus-command-palette-item-icon",children:t.icon}),n.jsxs("span",{className:"lotus-command-palette-item-content",children:[n.jsxs("span",{className:"lotus-command-palette-item-title-row",children:[n.jsx("span",{className:"lotus-command-palette-item-title",children:t.title}),t.badge?n.jsx(ge,{bordered:!1,children:t.badge}):null]}),t.subtitle?n.jsx("span",{className:"lotus-command-palette-item-subtitle",children:t.subtitle}):null]})]},t.id)})})]})})};export{ve as CommandPalette,ve as default};
@@ -1 +1 @@
1
- import{j as t,M as E,r as F,h as H}from"./vendor-markdown-DrYaLZhb.js";import{i as I,u as G,a as p}from"./vendor-i18n-Dm-c3D_C.js";import{j as y,N as v,G as X,l as B,z as A,ag as Y,o as f,ap as q,aq as N,ar as O,as as Q,a2 as J,Q as K,D as U,t as V}from"./vendor-antd-CKNrd1kL.js";import{z as W,u as z,B as Z}from"./App-CiBjfJbZ.js";import"./vendor-mermaid-DBtTSFLf.js";import"./main-CvPZyRz3.js";const _=({buttons:r,className:e,style:g,size:l="middle",align:n="right"})=>{const h={className:e,style:{width:"100%",justifyContent:n==="left"?"flex-start":n==="center"?"center":"flex-end",...g}};return t.jsx(y,{...h,children:r.map(a=>t.jsx(v,{type:a.type||"default",disabled:a.disabled,loading:a.loading,danger:a.danger,onClick:a.onClick,size:l,icon:a.icon,children:a.text},a.key))})},k=(r,e)=>({key:"cancel",text:e||I.t("common.cancel"),type:"default",onClick:r}),ee=(r,e)=>({key:"ok",text:(e==null?void 0:e.text)||I.t("common.ok"),type:"primary",disabled:e==null?void 0:e.disabled,loading:e==null?void 0:e.loading,onClick:r}),{Text:b,Paragraph:te}=B,re=({content:r,token:e,showGradient:g,onClick:l})=>t.jsx(X,{size:"small",style:{marginLeft:e.marginLG,marginTop:e.marginXS,backgroundColor:e.colorBgLayout,borderColor:e.colorBorderSecondary},styles:{body:{padding:e.paddingMD}},onClick:l,children:t.jsxs("div",{style:{maxHeight:"60vh",overflowY:"auto",position:"relative",paddingRight:e.paddingXS},children:[t.jsx(E,{remarkPlugins:[F],components:{p:({children:n})=>t.jsx(te,{style:{marginBottom:e.marginSM},children:n}),ol:({children:n})=>t.jsx("ol",{style:{marginBottom:e.marginSM,paddingLeft:e.paddingLG},children:n}),ul:({children:n})=>t.jsx("ul",{style:{marginBottom:e.marginSM,paddingLeft:e.paddingLG},children:n}),li:({children:n})=>t.jsx("li",{style:{marginBottom:e.marginXS},children:n}),h1:({children:n})=>t.jsx(b,{strong:!0,style:{fontSize:e.fontSizeHeading3,marginBottom:e.marginSM,display:"block"},children:n}),h2:({children:n})=>t.jsx(b,{strong:!0,style:{fontSize:e.fontSizeHeading4,marginBottom:e.marginSM,display:"block"},children:n}),code:({inline:n,className:h,children:a,...i})=>{const o=/language-(\w+)/.exec(h||"");return n?t.jsx("code",{className:h,style:{backgroundColor:e.colorFillTertiary,padding:"0 4px",borderRadius:e.borderRadiusSM,fontSize:e.fontSizeSM},...i,children:a}):t.jsx(H,{style:W,language:(o==null?void 0:o[1])||"text",PreTag:"div",wrapLongLines:!0,children:String(a).replace(/\n$/,"")})}},children:r||"No content available."}),g?t.jsx("div",{style:{position:"sticky",bottom:0,height:48,background:`linear-gradient(180deg, transparent, ${e.colorBgLayout})`,pointerEvents:"none",marginTop:-48}}):null]})}),{Text:L,Paragraph:se}=B,ne=({prompt:r,token:e,isSelected:g,isExpanded:l,onSelect:n,onToggleExpand:h,onCopy:a})=>{const{t:i}=G(),o=r.content||"",{nonEmptyLineCount:j,wordCount:u,characterCount:P,showGradient:x}=p.useMemo(()=>{const S=(o?o.split(/\r?\n/):[]).filter(w=>w.trim().length>0).length,C=o.trim()?o.trim().split(/\s+/).filter(Boolean).length:0,m=o.length;return{nonEmptyLineCount:S,wordCount:C,characterCount:m,showGradient:!l&&m>600}},[o,l]);return t.jsx(A.Item,{style:{cursor:"pointer",padding:e.paddingMD,borderRadius:e.borderRadius,border:g?`2px solid ${e.colorPrimary}`:`1px solid ${e.colorBorderSecondary}`,marginBottom:e.marginXS,backgroundColor:g?e.colorPrimaryBg:e.colorBgContainer,transition:"all 0.2s ease"},onClick:()=>n(r.id),children:t.jsxs(y,{direction:"vertical",style:{width:"100%"},size:e.marginSM,children:[t.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",width:"100%",gap:e.marginSM},children:[t.jsxs(y,{align:"start",children:[t.jsx(Y,{checked:g,onChange:()=>n(r.id),onClick:c=>c.stopPropagation()}),t.jsxs("div",{children:[t.jsx(L,{strong:!0,children:r.name||r.id}),t.jsx("div",{children:t.jsx(L,{code:!0,style:{fontSize:e.fontSizeSM,color:e.colorTextSecondary},children:r.id})})]}),r.isDefault?t.jsx(f,{color:"warning",children:i("chat.systemPromptSelector.defaultTag")}):null]}),t.jsxs(y,{size:"small",children:[t.jsx(v,{type:"text",size:"small",icon:l?t.jsx(q,{}):t.jsx(N,{}),onClick:c=>{c.stopPropagation(),h(r.id)},children:i(l?"chat.systemPromptSelector.hide":"chat.systemPromptSelector.preview")}),t.jsx(v,{type:"text",size:"small",icon:t.jsx(O,{}),onClick:c=>a(c,r),children:i("chat.systemPromptSelector.copy")})]})]}),r.description?t.jsx(L,{type:"secondary",style:{marginLeft:e.marginLG,fontSize:e.fontSizeSM},children:r.description}):null,t.jsxs(y,{size:"small",wrap:!0,style:{marginLeft:e.marginLG},children:[t.jsx(f,{color:"processing",children:i("chat.systemPromptSelector.lines",{count:j})}),t.jsx(f,{color:"purple",children:i("chat.systemPromptSelector.words",{count:u})}),t.jsx(f,{color:"success",children:i("chat.systemPromptSelector.chars",{count:P})})]}),l?t.jsx(re,{content:o,token:e,showGradient:x,onClick:c=>c.stopPropagation()}):t.jsx(se,{type:"secondary",ellipsis:{rows:3},style:{marginLeft:e.marginLG,marginBottom:0,color:e.colorTextSecondary},children:o||i("chat.systemPromptSelector.noContent")})]})},r.id)},{Text:ae}=B,{useToken:ie}=V,he=({open:r,onClose:e,onSelect:g,prompts:l,title:n,showCancelButton:h=!0})=>{const{t:a}=G(),{token:i}=ie(),[o,j]=Q.useMessage(),u=z(s=>s.lastSelectedPromptId),P=z(s=>s.setLastSelectedPromptId),[x,c]=p.useState(null),[S,C]=p.useState(null),m=p.useMemo(()=>l.filter(s=>s.id&&s.id.trim()!==""),[l]),w=async(s,d)=>{s.stopPropagation();const M=d.content??"";try{await Z(M),o.success(a("success.promptCopied",{name:d.name}))}catch(D){console.error("[SystemPromptSelector] Failed to copy prompt:",D),o.error(a("error.copyPromptFailed"))}},R=n??a("chat.prompt.selectorTitle");p.useEffect(()=>{if(r){const s=m.find(M=>M.isDefault),d=u||(s==null?void 0:s.id)||(m.length>0?m[0].id:null);c(d)}},[r,u,m.length]);const $=s=>{c(s.id),P(s.id),g(s),e()},T=()=>{e()};return t.jsxs(t.Fragment,{children:[j,t.jsxs(J,{title:t.jsxs(y,{children:[t.jsx(U,{}),R]}),open:r,onCancel:T,width:700,footer:t.jsx(_,{buttons:[...h?[k(T)]:[],ee(()=>{const s=m.find(d=>d.id===x);s&&$(s)},{text:a("chat.prompt.createButton"),disabled:!x})]}),styles:{body:{maxHeight:"70vh",overflowY:"auto",padding:i.paddingMD}},children:[t.jsx("div",{style:{marginBottom:i.marginMD},children:t.jsx(ae,{type:"secondary",style:{fontSize:i.fontSizeSM},children:a("chat.prompt.helperText")})}),m.length===0?t.jsx(K,{description:a("chat.prompt.emptyDescription"),style:{margin:i.marginLG}}):t.jsx("div",{children:m.map(s=>t.jsx(ne,{prompt:s,token:i,isSelected:x===s.id,isExpanded:S===s.id,onSelect:d=>c(d),onToggleExpand:d=>C(S===d?null:d),onCopy:w},s.id))})]})]})};export{he as default};
1
+ import{j as t,M as E,r as F,h as H}from"./vendor-markdown-CR3QKQo2.js";import{i as I,u as G,a as p}from"./vendor-i18n-Dm-c3D_C.js";import{j as y,N as v,G as X,l as B,z as A,ag as Y,o as f,ap as q,aq as N,ar as O,as as Q,a2 as J,Q as K,D as U,t as V}from"./vendor-antd-BV9fXfUG.js";import{z as W,u as z,B as Z}from"./App-DGiMC-bc.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const _=({buttons:r,className:e,style:g,size:l="middle",align:n="right"})=>{const h={className:e,style:{width:"100%",justifyContent:n==="left"?"flex-start":n==="center"?"center":"flex-end",...g}};return t.jsx(y,{...h,children:r.map(a=>t.jsx(v,{type:a.type||"default",disabled:a.disabled,loading:a.loading,danger:a.danger,onClick:a.onClick,size:l,icon:a.icon,children:a.text},a.key))})},k=(r,e)=>({key:"cancel",text:e||I.t("common.cancel"),type:"default",onClick:r}),ee=(r,e)=>({key:"ok",text:(e==null?void 0:e.text)||I.t("common.ok"),type:"primary",disabled:e==null?void 0:e.disabled,loading:e==null?void 0:e.loading,onClick:r}),{Text:b,Paragraph:te}=B,re=({content:r,token:e,showGradient:g,onClick:l})=>t.jsx(X,{size:"small",style:{marginLeft:e.marginLG,marginTop:e.marginXS,backgroundColor:e.colorBgLayout,borderColor:e.colorBorderSecondary},styles:{body:{padding:e.paddingMD}},onClick:l,children:t.jsxs("div",{style:{maxHeight:"60vh",overflowY:"auto",position:"relative",paddingRight:e.paddingXS},children:[t.jsx(E,{remarkPlugins:[F],components:{p:({children:n})=>t.jsx(te,{style:{marginBottom:e.marginSM},children:n}),ol:({children:n})=>t.jsx("ol",{style:{marginBottom:e.marginSM,paddingLeft:e.paddingLG},children:n}),ul:({children:n})=>t.jsx("ul",{style:{marginBottom:e.marginSM,paddingLeft:e.paddingLG},children:n}),li:({children:n})=>t.jsx("li",{style:{marginBottom:e.marginXS},children:n}),h1:({children:n})=>t.jsx(b,{strong:!0,style:{fontSize:e.fontSizeHeading3,marginBottom:e.marginSM,display:"block"},children:n}),h2:({children:n})=>t.jsx(b,{strong:!0,style:{fontSize:e.fontSizeHeading4,marginBottom:e.marginSM,display:"block"},children:n}),code:({inline:n,className:h,children:a,...i})=>{const o=/language-(\w+)/.exec(h||"");return n?t.jsx("code",{className:h,style:{backgroundColor:e.colorFillTertiary,padding:"0 4px",borderRadius:e.borderRadiusSM,fontSize:e.fontSizeSM},...i,children:a}):t.jsx(H,{style:W,language:(o==null?void 0:o[1])||"text",PreTag:"div",wrapLongLines:!0,children:String(a).replace(/\n$/,"")})}},children:r||"No content available."}),g?t.jsx("div",{style:{position:"sticky",bottom:0,height:48,background:`linear-gradient(180deg, transparent, ${e.colorBgLayout})`,pointerEvents:"none",marginTop:-48}}):null]})}),{Text:L,Paragraph:se}=B,ne=({prompt:r,token:e,isSelected:g,isExpanded:l,onSelect:n,onToggleExpand:h,onCopy:a})=>{const{t:i}=G(),o=r.content||"",{nonEmptyLineCount:j,wordCount:u,characterCount:P,showGradient:x}=p.useMemo(()=>{const S=(o?o.split(/\r?\n/):[]).filter(w=>w.trim().length>0).length,C=o.trim()?o.trim().split(/\s+/).filter(Boolean).length:0,m=o.length;return{nonEmptyLineCount:S,wordCount:C,characterCount:m,showGradient:!l&&m>600}},[o,l]);return t.jsx(A.Item,{style:{cursor:"pointer",padding:e.paddingMD,borderRadius:e.borderRadius,border:g?`2px solid ${e.colorPrimary}`:`1px solid ${e.colorBorderSecondary}`,marginBottom:e.marginXS,backgroundColor:g?e.colorPrimaryBg:e.colorBgContainer,transition:"all 0.2s ease"},onClick:()=>n(r.id),children:t.jsxs(y,{direction:"vertical",style:{width:"100%"},size:e.marginSM,children:[t.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",width:"100%",gap:e.marginSM},children:[t.jsxs(y,{align:"start",children:[t.jsx(Y,{checked:g,onChange:()=>n(r.id),onClick:c=>c.stopPropagation()}),t.jsxs("div",{children:[t.jsx(L,{strong:!0,children:r.name||r.id}),t.jsx("div",{children:t.jsx(L,{code:!0,style:{fontSize:e.fontSizeSM,color:e.colorTextSecondary},children:r.id})})]}),r.isDefault?t.jsx(f,{color:"warning",children:i("chat.systemPromptSelector.defaultTag")}):null]}),t.jsxs(y,{size:"small",children:[t.jsx(v,{type:"text",size:"small",icon:l?t.jsx(q,{}):t.jsx(N,{}),onClick:c=>{c.stopPropagation(),h(r.id)},children:i(l?"chat.systemPromptSelector.hide":"chat.systemPromptSelector.preview")}),t.jsx(v,{type:"text",size:"small",icon:t.jsx(O,{}),onClick:c=>a(c,r),children:i("chat.systemPromptSelector.copy")})]})]}),r.description?t.jsx(L,{type:"secondary",style:{marginLeft:e.marginLG,fontSize:e.fontSizeSM},children:r.description}):null,t.jsxs(y,{size:"small",wrap:!0,style:{marginLeft:e.marginLG},children:[t.jsx(f,{color:"processing",children:i("chat.systemPromptSelector.lines",{count:j})}),t.jsx(f,{color:"purple",children:i("chat.systemPromptSelector.words",{count:u})}),t.jsx(f,{color:"success",children:i("chat.systemPromptSelector.chars",{count:P})})]}),l?t.jsx(re,{content:o,token:e,showGradient:x,onClick:c=>c.stopPropagation()}):t.jsx(se,{type:"secondary",ellipsis:{rows:3},style:{marginLeft:e.marginLG,marginBottom:0,color:e.colorTextSecondary},children:o||i("chat.systemPromptSelector.noContent")})]})},r.id)},{Text:ae}=B,{useToken:ie}=V,he=({open:r,onClose:e,onSelect:g,prompts:l,title:n,showCancelButton:h=!0})=>{const{t:a}=G(),{token:i}=ie(),[o,j]=Q.useMessage(),u=z(s=>s.lastSelectedPromptId),P=z(s=>s.setLastSelectedPromptId),[x,c]=p.useState(null),[S,C]=p.useState(null),m=p.useMemo(()=>l.filter(s=>s.id&&s.id.trim()!==""),[l]),w=async(s,d)=>{s.stopPropagation();const M=d.content??"";try{await Z(M),o.success(a("success.promptCopied",{name:d.name}))}catch(D){console.error("[SystemPromptSelector] Failed to copy prompt:",D),o.error(a("error.copyPromptFailed"))}},R=n??a("chat.prompt.selectorTitle");p.useEffect(()=>{if(r){const s=m.find(M=>M.isDefault),d=u||(s==null?void 0:s.id)||(m.length>0?m[0].id:null);c(d)}},[r,u,m.length]);const $=s=>{c(s.id),P(s.id),g(s),e()},T=()=>{e()};return t.jsxs(t.Fragment,{children:[j,t.jsxs(J,{title:t.jsxs(y,{children:[t.jsx(U,{}),R]}),open:r,onCancel:T,width:700,footer:t.jsx(_,{buttons:[...h?[k(T)]:[],ee(()=>{const s=m.find(d=>d.id===x);s&&$(s)},{text:a("chat.prompt.createButton"),disabled:!x})]}),styles:{body:{maxHeight:"70vh",overflowY:"auto",padding:i.paddingMD}},children:[t.jsx("div",{style:{marginBottom:i.marginMD},children:t.jsx(ae,{type:"secondary",style:{fontSize:i.fontSizeSM},children:a("chat.prompt.helperText")})}),m.length===0?t.jsx(K,{description:a("chat.prompt.emptyDescription"),style:{margin:i.marginLG}}):t.jsx("div",{children:m.map(s=>t.jsx(ne,{prompt:s,token:i,isSelected:x===s.id,isExpanded:S===s.id,onSelect:d=>c(d),onToggleExpand:d=>C(S===d?null:d),onCopy:w},s.id))})]})]})};export{he as default};
@@ -1 +1 @@
1
- import{j as o}from"./vendor-markdown-DrYaLZhb.js";import{u as G,R as N,a as P}from"./vendor-i18n-Dm-c3D_C.js";import{u as y,I as w}from"./App-CiBjfJbZ.js";import{t as O,j as h,k as Q,l as J,n as v,o as f,B as U,p as F,q as I,u as V,v as Y,w as Z,x as oo,y as X,A as so,P as eo,z as E,D as to,E as no,F as ro,G as lo,H as io,I as ao}from"./vendor-antd-CKNrd1kL.js";import"./vendor-mermaid-DBtTSFLf.js";import"./main-CvPZyRz3.js";const{Text:p}=J,co=a=>({pending:{icon:o.jsx(ao,{}),color:a.colorTextTertiary,textKey:"components.todoList.status.pending",tagColor:"default"},in_progress:{icon:o.jsx(v,{spin:!0}),color:a.colorPrimary,textKey:"components.todoList.status.inProgress",tagColor:"processing"},completed:{icon:o.jsx(F,{}),color:a.colorSuccess,textKey:"components.todoList.status.completed",tagColor:"success"},blocked:{icon:o.jsx(io,{}),color:a.colorError,textKey:"components.todoList.status.blocked",tagColor:"error"}}),fo=({sessionId:a,initialCollapsed:K=!0,compact:t=!1})=>{const{t:n}=G(),{token:e}=O.useToken(),A=N.useMemo(()=>co(e),[e]),g=y(s=>s.chats.find(c=>c.id===a)),j=(g==null?void 0:g.kind)==="child"&&(g.parentSessionId||g.rootSessionId)||a,l=y(s=>s.taskLists[j]),H=y(s=>s.activeItems[j]),x=y(s=>s.evaluationStates[j]),[r,R]=P.useState(K),[i,W]=P.useState(!1),m=(x==null?void 0:x.isEvaluating)||!1,S=(x==null?void 0:x.reasoning)||null,T=l?{session_id:l.session_id,title:l.title,items:l.items,progress:{completed:l.items.filter(s=>s.status==="completed").length,total:l.items.length,percentage:l.items.length>0?Math.round(l.items.filter(s=>s.status==="completed").length/l.items.length*100):0}}:null;if(!T)return null;const C=()=>{i||R(!r)},D=s=>{s.stopPropagation(),W(!i),i||R(!1)},{title:M,items:q,progress:d}=T,L=d.percentage===100,_=o.jsxs(h,{onClick:C,style:{cursor:"pointer",width:"100%"},size:t?6:8,children:[o.jsx(Q,{style:{color:e.colorPrimary}}),o.jsx(p,{strong:!0,style:{fontSize:t?14:15},children:M||n("components.todoList.title")}),m&&(t?o.jsx(w,{nowrap:!0,items:[o.jsxs(o.Fragment,{children:[o.jsx(v,{spin:!0,style:{color:e.colorPrimary,marginRight:4}}),n("components.todoList.evaluating")]})]}):o.jsx(f,{icon:o.jsx(v,{spin:!0}),color:"processing",children:n("components.todoList.evaluating")})),!r&&d.total>0&&o.jsx(U,{count:`${d.completed}/${d.total}`,style:{backgroundColor:L?e.colorSuccess:e.colorPrimary}})]}),k=o.jsxs(h,{size:t?6:8,children:[d.total>0&&r&&o.jsxs(p,{type:"secondary",style:{fontSize:t?12:13},children:[d.completed,"/",d.total,L&&o.jsx(F,{style:{color:e.colorSuccess,marginLeft:4}})]}),o.jsx(I,{title:n(i?"components.todoList.unpin":"components.todoList.pin"),children:o.jsx("span",{onClick:D,style:{cursor:"pointer",color:i?e.colorPrimary:e.colorTextSecondary,fontSize:t?14:16},children:i?o.jsx(V,{}):o.jsx(Y,{})})}),!i&&o.jsx("span",{onClick:C,style:{cursor:"pointer",color:e.colorTextSecondary,fontSize:12,transform:r?"rotate(-90deg)":void 0,transition:"transform 0.2s"},children:r?o.jsx(Z,{}):o.jsx(oo,{})})]}),b=r?null:o.jsxs(o.Fragment,{children:[S?t?o.jsxs(p,{type:"secondary",style:{display:"block",marginBottom:e.marginXS,fontSize:12,paddingLeft:e.paddingXS,borderLeft:`2px solid ${e.colorPrimaryBorder}`,lineHeight:1.45},children:[o.jsx(X,{style:{marginRight:6}}),S]}):o.jsx(so,{icon:o.jsx(X,{}),message:n("components.todoList.llmEvaluation"),description:S,type:"info",showIcon:!0,style:{marginBottom:16}}):null,d.total>0&&o.jsx("div",{style:{marginBottom:t?e.marginXS:16},children:o.jsx(eo,{percent:d.percentage,size:"small",status:L?"success":"active",format:s=>o.jsxs(p,{type:"secondary",children:[s,"%"]})})}),o.jsx(E,{size:"small",split:!1,dataSource:q,renderItem:s=>{var z,B;const c=A[s.status],u=H===s.id,$=n(c.textKey);return o.jsx(E.Item,{style:{padding:t?"6px 0":"12px 0",borderLeft:u?`3px solid ${e.colorPrimary}`:"3px solid transparent",paddingLeft:u?t?8:12:t?10:15,backgroundColor:t?"transparent":u?e.colorPrimaryBg:"transparent",borderRadius:t?0:4,marginBottom:t?0:4},children:o.jsx("div",{style:{width:"100%"},children:o.jsxs(h,{align:"start",style:{width:"100%"},size:t?6:8,children:[o.jsx(I,{title:$,children:o.jsx("span",{style:{color:c.color,fontSize:t?14:16},children:c.icon})}),o.jsxs("div",{style:{flex:1,minWidth:0},children:[o.jsx(p,{style:{textDecoration:s.status==="completed"?"line-through":"none",color:s.status==="completed"?e.colorTextSecondary:e.colorText,fontWeight:u?500:400,fontSize:t?13:void 0},children:s.description}),o.jsx("div",{style:{marginTop:t?3:4},children:t?o.jsx(w,{block:!0,items:[o.jsx("span",{style:{color:c.color},children:$}),s.tool_calls_count!==void 0&&s.tool_calls_count>0?`${s.tool_calls_count} ${n("components.todoList.tools")}`:null,((z=s.depends_on)==null?void 0:z.length)>0?`${s.depends_on.length} ${n("components.todoList.dependencies")}`:null]}):o.jsxs(h,{size:t?6:8,wrap:!0,children:[o.jsx(f,{color:c.tagColor,children:$}),s.tool_calls_count!==void 0&&s.tool_calls_count>0&&o.jsxs(f,{icon:o.jsx(to,{}),color:"processing",children:[s.tool_calls_count," ",n("components.todoList.tools")]}),((B=s.depends_on)==null?void 0:B.length)>0&&o.jsx(I,{title:n("components.todoList.dependsOn",{deps:s.depends_on.join(", ")}),children:o.jsxs(f,{icon:o.jsx(no,{}),children:[s.depends_on.length," ",n("components.todoList.dependencies")]})})]})}),s.status==="completed"&&s.summary&&o.jsx(p,{type:"secondary",style:t?{display:"block",marginTop:4,fontSize:12,paddingLeft:e.paddingXS,borderLeft:`2px solid ${e.colorSuccessBorder}`,color:e.colorSuccess,lineHeight:1.45}:{display:"block",marginTop:6,fontSize:12,padding:"4px 8px",backgroundColor:e.colorSuccessBg,borderRadius:4,color:e.colorSuccess},children:s.summary}),s.notes&&o.jsx(p,{type:"secondary",style:t?{display:"block",marginTop:4,fontSize:12,paddingLeft:e.paddingXS,borderLeft:`2px solid ${e.colorBorderSecondary}`,lineHeight:1.45}:{display:"block",marginTop:6,fontSize:12,padding:"4px 8px",backgroundColor:e.colorFillQuaternary,borderRadius:4},children:s.notes})]})]})})})}})]});return t?o.jsxs("section",{"data-testid":"todo-list-panel",style:{width:"100%",minWidth:0,marginBottom:e.marginXS,overflow:"hidden",opacity:r&&!i?.9:1},children:[o.jsxs(ro,{align:"center",justify:"space-between",gap:e.marginXS,style:{padding:`${e.paddingXXS??2}px 0 ${e.paddingXS}px`,borderBottom:r?void 0:`1px solid ${m?e.colorPrimaryBorder:e.colorBorderSecondary}`},children:[o.jsx("div",{style:{flex:1,minWidth:0},children:_}),o.jsx("div",{style:{flex:"0 0 auto"},children:k})]}),b?o.jsx("div",{style:{padding:`0 0 ${e.paddingXS}px`},children:b}):null]}):o.jsx(lo,{size:"small",className:"lotus-settings-card",style:{marginBottom:16,borderRadius:8,boxShadow:m?`0 0 0 2px ${e.colorPrimaryBorder}`:"0 2px 8px rgba(0, 0, 0, 0.06)",opacity:r&&!i?.9:1},styles:{body:{padding:r?"12px 16px":16}},title:_,extra:k,children:b})};export{fo as TodoList,fo as default};
1
+ import{j as o}from"./vendor-markdown-CR3QKQo2.js";import{u as G,R as N,a as P}from"./vendor-i18n-Dm-c3D_C.js";import{u as y,I as w}from"./App-DGiMC-bc.js";import{t as O,j as h,k as Q,l as J,n as v,o as f,B as U,p as F,q as I,u as V,v as Y,w as Z,x as oo,y as X,A as so,P as eo,z as E,D as to,E as no,F as ro,G as lo,H as io,I as ao}from"./vendor-antd-BV9fXfUG.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const{Text:p}=J,co=a=>({pending:{icon:o.jsx(ao,{}),color:a.colorTextTertiary,textKey:"components.todoList.status.pending",tagColor:"default"},in_progress:{icon:o.jsx(v,{spin:!0}),color:a.colorPrimary,textKey:"components.todoList.status.inProgress",tagColor:"processing"},completed:{icon:o.jsx(F,{}),color:a.colorSuccess,textKey:"components.todoList.status.completed",tagColor:"success"},blocked:{icon:o.jsx(io,{}),color:a.colorError,textKey:"components.todoList.status.blocked",tagColor:"error"}}),fo=({sessionId:a,initialCollapsed:K=!0,compact:t=!1})=>{const{t:n}=G(),{token:e}=O.useToken(),A=N.useMemo(()=>co(e),[e]),g=y(s=>s.chats.find(c=>c.id===a)),j=(g==null?void 0:g.kind)==="child"&&(g.parentSessionId||g.rootSessionId)||a,l=y(s=>s.taskLists[j]),H=y(s=>s.activeItems[j]),x=y(s=>s.evaluationStates[j]),[r,R]=P.useState(K),[i,W]=P.useState(!1),m=(x==null?void 0:x.isEvaluating)||!1,S=(x==null?void 0:x.reasoning)||null,T=l?{session_id:l.session_id,title:l.title,items:l.items,progress:{completed:l.items.filter(s=>s.status==="completed").length,total:l.items.length,percentage:l.items.length>0?Math.round(l.items.filter(s=>s.status==="completed").length/l.items.length*100):0}}:null;if(!T)return null;const C=()=>{i||R(!r)},D=s=>{s.stopPropagation(),W(!i),i||R(!1)},{title:M,items:q,progress:d}=T,L=d.percentage===100,_=o.jsxs(h,{onClick:C,style:{cursor:"pointer",width:"100%"},size:t?6:8,children:[o.jsx(Q,{style:{color:e.colorPrimary}}),o.jsx(p,{strong:!0,style:{fontSize:t?14:15},children:M||n("components.todoList.title")}),m&&(t?o.jsx(w,{nowrap:!0,items:[o.jsxs(o.Fragment,{children:[o.jsx(v,{spin:!0,style:{color:e.colorPrimary,marginRight:4}}),n("components.todoList.evaluating")]})]}):o.jsx(f,{icon:o.jsx(v,{spin:!0}),color:"processing",children:n("components.todoList.evaluating")})),!r&&d.total>0&&o.jsx(U,{count:`${d.completed}/${d.total}`,style:{backgroundColor:L?e.colorSuccess:e.colorPrimary}})]}),k=o.jsxs(h,{size:t?6:8,children:[d.total>0&&r&&o.jsxs(p,{type:"secondary",style:{fontSize:t?12:13},children:[d.completed,"/",d.total,L&&o.jsx(F,{style:{color:e.colorSuccess,marginLeft:4}})]}),o.jsx(I,{title:n(i?"components.todoList.unpin":"components.todoList.pin"),children:o.jsx("span",{onClick:D,style:{cursor:"pointer",color:i?e.colorPrimary:e.colorTextSecondary,fontSize:t?14:16},children:i?o.jsx(V,{}):o.jsx(Y,{})})}),!i&&o.jsx("span",{onClick:C,style:{cursor:"pointer",color:e.colorTextSecondary,fontSize:12,transform:r?"rotate(-90deg)":void 0,transition:"transform 0.2s"},children:r?o.jsx(Z,{}):o.jsx(oo,{})})]}),b=r?null:o.jsxs(o.Fragment,{children:[S?t?o.jsxs(p,{type:"secondary",style:{display:"block",marginBottom:e.marginXS,fontSize:12,paddingLeft:e.paddingXS,borderLeft:`2px solid ${e.colorPrimaryBorder}`,lineHeight:1.45},children:[o.jsx(X,{style:{marginRight:6}}),S]}):o.jsx(so,{icon:o.jsx(X,{}),message:n("components.todoList.llmEvaluation"),description:S,type:"info",showIcon:!0,style:{marginBottom:16}}):null,d.total>0&&o.jsx("div",{style:{marginBottom:t?e.marginXS:16},children:o.jsx(eo,{percent:d.percentage,size:"small",status:L?"success":"active",format:s=>o.jsxs(p,{type:"secondary",children:[s,"%"]})})}),o.jsx(E,{size:"small",split:!1,dataSource:q,renderItem:s=>{var z,B;const c=A[s.status],u=H===s.id,$=n(c.textKey);return o.jsx(E.Item,{style:{padding:t?"6px 0":"12px 0",borderLeft:u?`3px solid ${e.colorPrimary}`:"3px solid transparent",paddingLeft:u?t?8:12:t?10:15,backgroundColor:t?"transparent":u?e.colorPrimaryBg:"transparent",borderRadius:t?0:4,marginBottom:t?0:4},children:o.jsx("div",{style:{width:"100%"},children:o.jsxs(h,{align:"start",style:{width:"100%"},size:t?6:8,children:[o.jsx(I,{title:$,children:o.jsx("span",{style:{color:c.color,fontSize:t?14:16},children:c.icon})}),o.jsxs("div",{style:{flex:1,minWidth:0},children:[o.jsx(p,{style:{textDecoration:s.status==="completed"?"line-through":"none",color:s.status==="completed"?e.colorTextSecondary:e.colorText,fontWeight:u?500:400,fontSize:t?13:void 0},children:s.description}),o.jsx("div",{style:{marginTop:t?3:4},children:t?o.jsx(w,{block:!0,items:[o.jsx("span",{style:{color:c.color},children:$}),s.tool_calls_count!==void 0&&s.tool_calls_count>0?`${s.tool_calls_count} ${n("components.todoList.tools")}`:null,((z=s.depends_on)==null?void 0:z.length)>0?`${s.depends_on.length} ${n("components.todoList.dependencies")}`:null]}):o.jsxs(h,{size:t?6:8,wrap:!0,children:[o.jsx(f,{color:c.tagColor,children:$}),s.tool_calls_count!==void 0&&s.tool_calls_count>0&&o.jsxs(f,{icon:o.jsx(to,{}),color:"processing",children:[s.tool_calls_count," ",n("components.todoList.tools")]}),((B=s.depends_on)==null?void 0:B.length)>0&&o.jsx(I,{title:n("components.todoList.dependsOn",{deps:s.depends_on.join(", ")}),children:o.jsxs(f,{icon:o.jsx(no,{}),children:[s.depends_on.length," ",n("components.todoList.dependencies")]})})]})}),s.status==="completed"&&s.summary&&o.jsx(p,{type:"secondary",style:t?{display:"block",marginTop:4,fontSize:12,paddingLeft:e.paddingXS,borderLeft:`2px solid ${e.colorSuccessBorder}`,color:e.colorSuccess,lineHeight:1.45}:{display:"block",marginTop:6,fontSize:12,padding:"4px 8px",backgroundColor:e.colorSuccessBg,borderRadius:4,color:e.colorSuccess},children:s.summary}),s.notes&&o.jsx(p,{type:"secondary",style:t?{display:"block",marginTop:4,fontSize:12,paddingLeft:e.paddingXS,borderLeft:`2px solid ${e.colorBorderSecondary}`,lineHeight:1.45}:{display:"block",marginTop:6,fontSize:12,padding:"4px 8px",backgroundColor:e.colorFillQuaternary,borderRadius:4},children:s.notes})]})]})})})}})]});return t?o.jsxs("section",{"data-testid":"todo-list-panel",style:{width:"100%",minWidth:0,marginBottom:e.marginXS,overflow:"hidden",opacity:r&&!i?.9:1},children:[o.jsxs(ro,{align:"center",justify:"space-between",gap:e.marginXS,style:{padding:`${e.paddingXXS??2}px 0 ${e.paddingXS}px`,borderBottom:r?void 0:`1px solid ${m?e.colorPrimaryBorder:e.colorBorderSecondary}`},children:[o.jsx("div",{style:{flex:1,minWidth:0},children:_}),o.jsx("div",{style:{flex:"0 0 auto"},children:k})]}),b?o.jsx("div",{style:{padding:`0 0 ${e.paddingXS}px`},children:b}):null]}):o.jsx(lo,{size:"small",className:"lotus-settings-card",style:{marginBottom:16,borderRadius:8,boxShadow:m?`0 0 0 2px ${e.colorPrimaryBorder}`:"0 2px 8px rgba(0, 0, 0, 0.06)",opacity:r&&!i?.9:1},styles:{body:{padding:r?"12px 16px":16}},title:_,extra:k,children:b})};export{fo as TodoList,fo as default};
@@ -0,0 +1,8 @@
1
+ import{j as s}from"./vendor-markdown-CR3QKQo2.js";import{R as ye,u as ve,a as r}from"./vendor-i18n-Dm-c3D_C.js";import{u as j,b as xe,h as Ee,j as he,k as T,r as qe,l as Ce,m as Se,s as Re,a as Y,n as L,C as A}from"./App-DGiMC-bc.js";import{X as we,l as ke,N as Z,x as be,af as je,ag as F,j as ee,$ as Te,t as De}from"./vendor-antd-BV9fXfUG.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const a={questionCard:"qd-questionCard",questionHeader:"qd-questionHeader",headerLeft:"qd-headerLeft",questionIcon:"qd-questionIcon",questionText:"qd-questionText",collapseBtn:"qd-collapseBtn",questionBody:"qd-questionBody",optionsGroup:"qd-optionsGroup",optionItem:"qd-optionItem",customHint:"qd-customHint",questionFooter:"qd-questionFooter"},{Text:D}=ke,{useToken:Ne}=De,Be=n=>{const f=(n||"").replace(/\\r\\n/g,`
2
+ `).replace(/\\n/g,`
3
+ `).replace(/\r\n?/g,`
4
+ `).trim();return f?f.includes(`
5
+ `)?f:f.replace(/\s+(?=\d+[).]\s)/g,`
6
+ `).replace(/\s+(?=[一二三四五六七八九十]+[、.]\s)/g,`
7
+ `).replace(/\s+(?=[-*•]\s)/g,`
8
+ `):""};const te=({sessionId:n,onResponseSubmitted:f,onQuestionAppeared:H})=>{const{t:x}=ve(),{token:E}=Ne(),{message:N}=we.useApp(),[g,q]=r.useState(null),[B,z]=r.useState(!1),[ne,_]=r.useState(!0),[w,k]=r.useState(!1),u=r.useRef(0),p=r.useRef(0),m=r.useRef(null),c=r.useRef(null),h=r.useRef(0),b=r.useRef(H);b.current=H;const C=r.useCallback(()=>{h.current+=1,h.current},[n]),[P,oe]=r.useState(()=>typeof document>"u"?!0:!document.hidden),{markRespondStart:re,markSettleTimeout:G,applyExecutionStarted:le,setPendingQuestion:M,clearPendingQuestion:S,sessionModelRef:y,sessionReasoningEffort:se,inputReasoningEffort:ie,isCurrentSession:I}=j(xe(e=>{var l,i,d,J;const t=n?e.chats.find(ge=>ge.id===n)??null:null;return{markRespondStart:e.markRespondStart,markSettleTimeout:e.markSettleTimeout,applyExecutionStarted:e.applyExecutionStarted,setPendingQuestion:e.setPendingQuestion,clearPendingQuestion:e.clearPendingQuestion,sessionModelRef:((l=t==null?void 0:t.config)==null?void 0:l.model_ref)??null,sessionReasoningEffort:((i=t==null?void 0:t.config)==null?void 0:i.reasoningEffort)??null,inputReasoningEffort:n?((J=(d=e.inputStates)==null?void 0:d[n])==null?void 0:J.reasoningEffort)??null:null,isCurrentSession:e.currentSessionId===n}})),o=j(Ee(n)),R=he(y),O=T(e=>e.currentProvider),$=T(e=>e.providerConfig),V=T(e=>e.providerInstances),ue=r.useMemo(()=>qe($,R,(y==null?void 0:y.provider)??O,V),[R,y==null?void 0:y.provider,$,O,V]),ae=r.useMemo(()=>n?Ce(n):void 0,[n]),ce=Se({sessionEffort:se,inputEffort:ie,persistedEffort:ae,providerDefault:ue}),v=r.useCallback(()=>{var t,l;const e=(t=j.getState().executionBySession)==null?void 0:t[n];return e?{phase:e.phase,generation:e.generation,backendRunId:e.backendRunId??null,backendIsRunning:e.backend.isRunning,hasPendingQuestion:e.interaction.pendingQuestion!=null,pendingQuestionToolCallId:((l=e.interaction.pendingQuestion)==null?void 0:l.toolCallId)??null,tokenCount:e.stream.tokenCount,hasTokens:e.stream.hasTokens,activeReasons:e.activeReasons}:null},[n]),K=j(Re(n)),U=r.useCallback(async()=>{const e=h.current;try{const t=await Y.get(`respond/${n}/pending`);if(e!==h.current)return;if(t.has_pending_question){const l={question:t.question??"",options:t.options??[],allowCustom:t.allow_custom??!0,toolCallId:t.tool_call_id??null},i=L({sessionId:n,...l});if(c.current===i){u.current=0,p.current=0;return}c.current=null,M(n,l),u.current=0,p.current=0}else c.current=null,S(n),m.current=null,u.current+=1,u.current>=6?p.current=2:u.current>=2&&(p.current=1)}catch(t){if(e!==h.current)return;if(t instanceof Error&&t.message.includes("404")){c.current=null,S(n),m.current=null,u.current+=1;return}c.current=null,S(n),m.current=null,u.current+=1,u.current>=6?p.current=2:u.current>=2&&(p.current=1),console.error("Failed to fetch pending question:",t)}finally{if(e!==h.current)return;_(!1)}},[n,M,S]);r.useEffect(()=>{C(),u.current=0,p.current=0,m.current=null,c.current=null,_(!0),q(null),k(!1)},[n,C]),r.useEffect(()=>{if(typeof document>"u")return;const e=()=>{oe(!document.hidden)};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[]),r.useEffect(()=>{var e;if(o){const t=L({sessionId:n,question:o.question,options:o.options,allowCustom:o.allowCustom,toolCallId:o.toolCallId});m.current===t||(q(null),k(!1),(e=b.current)==null||e.call(b)),m.current=t,c.current!==null&&c.current!==t&&(c.current=null)}else m.current=null},[n,o,o==null?void 0:o.allowCustom,o==null?void 0:o.options,o==null?void 0:o.question,o==null?void 0:o.toolCallId]);const W=r.useCallback(()=>{if(o)return null;if(K)return I?P?5e3:15e3:null;if(!I||!P)return null;const e=p.current;return e===0?3e4:e===1?6e4:12e4},[o,K,I,P]);r.useEffect(()=>{if(o){_(!1);return}let e=!1,t=null;const l=async()=>{if(e||B||(await U(),e))return;const i=W();i!==null&&(t=setTimeout(l,i))};return l(),()=>{e=!0,t&&clearTimeout(t)}},[o,U,W,B]),r.useEffect(()=>{if(typeof window>"u")return;const e=t=>{var d;const i=((d=t.detail)==null?void 0:d.sessionId)??null;!i||i!==n||(v(),C(),q(null),m.current=null,u.current=0)};return window.addEventListener(A,e),()=>{window.removeEventListener(A,e)}},[n,C,v]);const de=r.useCallback(e=>{q(e)},[]),fe=async()=>{if(!g||g==="custom"){N.warning(x("components.questionDialog.selectOptionWarning"));return}z(!0),o==null||o.toolCallId,v(),C();const e=re(n,(o==null?void 0:o.toolCallId)??null);v(),await new Promise(t=>setTimeout(t,0));try{const t={};T.getState().isProviderModelRefEnabled()&&R&&(t.model_ref=R,t.provider=R.provider);const l=await Y.post(`respond/${n}`,{response:g,reasoning_effort:ce,...t});v(),N.success(x("components.questionDialog.responseSubmitted")),c.current=o?L({sessionId:n,question:o.question,options:o.options,allowCustom:o.allowCustom,toolCallId:o.toolCallId}):null,q(null),u.current=0,S(n),typeof window<"u"&&window.dispatchEvent(new CustomEvent(A,{detail:{sessionId:n}}));const i=l==null?void 0:l.auto_resume_status,d=l==null?void 0:l.run_id;v(),i==="started"||i==="already_running"?(le(n,d??"",e),v(),void 0):(i==="error"||!i)&&(console.error("[QuestionDialog] Failed to auto-resume agent execution"),G(n)),f==null||f()}catch(t){console.error("Failed to submit response:",t),N.error(t instanceof Error?t.message:x("components.questionDialog.submitFailed")),G(n)}finally{z(!1)}};if(ne||!o)return null;const{question:pe,options:Q,allowCustom:me}=o,X=Be(pe);return s.jsxs("div",{className:a.questionCard,style:{background:E.colorBgContainer,borderColor:E.colorBorderSecondary,border:`1px solid ${E.colorBorderSecondary}`},children:[s.jsxs("div",{className:a.questionHeader,"data-collapsed":w?"true":"false",onClick:()=>k(e=>!e),role:"button",tabIndex:0,onKeyDown:e=>{(e.key==="Enter"||e.key===" ")&&k(t=>!t)},children:[s.jsxs("span",{className:a.headerLeft,children:[s.jsx("span",{className:a.questionIcon,children:"🤔"}),s.jsx(D,{strong:!0,className:a.questionText,style:{color:E.colorPrimary,whiteSpace:"pre-wrap"},title:w?X:void 0,children:X})]}),s.jsx(Z,{type:"text",size:"small",icon:w?s.jsx(be,{}):s.jsx(je,{}),className:a.collapseBtn,tabIndex:-1})]}),!w&&s.jsxs("div",{className:a.questionBody,children:[s.jsx(F.Group,{className:a.optionsGroup,value:g,onChange:e=>de(e.target.value),children:s.jsxs(ee,{direction:"vertical",size:4,style:{width:"100%"},children:[Q==null?void 0:Q.map(e=>s.jsx(F,{value:e,className:a.optionItem,children:s.jsx(D,{style:{color:E.colorText},children:e})},e)),me&&s.jsx(F,{value:"custom",className:a.optionItem,children:s.jsxs(ee,{size:4,children:[s.jsx(Te,{}),s.jsx(D,{style:{color:E.colorText},children:x("components.questionDialog.otherTypeBelow")})]})})]})}),g==="custom"&&s.jsx("div",{className:a.customHint,children:s.jsx(D,{type:"secondary",style:{fontSize:12},children:x("components.questionDialog.customAnswerTip")})}),g&&g!=="custom"&&s.jsx("div",{className:a.questionFooter,children:s.jsx(Z,{type:"primary",size:"small",onClick:fe,loading:B,children:x("components.questionDialog.confirm")})})]})]})};te.displayName="QuestionDialog";const _e=ye.memo(te);_e.displayName="QuestionDialog";export{_e as QuestionDialog,_e as default};
@@ -1 +1 @@
1
- import{j as n}from"./vendor-markdown-DrYaLZhb.js";import{u as d}from"./vendor-i18n-Dm-c3D_C.js";import{j as i,J as c,l as p,q as u,o as x,N as m,O as h,t as y}from"./vendor-antd-CKNrd1kL.js";const{Text:g}=p,{useToken:j}=y,b=({files:o,onRemove:a,onClear:r})=>{const{token:e}=j(),{t:s}=d();return o.length===0?null:n.jsx("div",{style:{marginBottom:e.marginSM,padding:`${e.paddingXXS}px ${e.paddingXS}px`,borderRadius:999,background:e.colorFillSecondary,border:`1px solid ${e.colorBorderSecondary}`},children:n.jsxs(i,{align:"center",size:e.marginXS,style:{width:"100%",justifyContent:"space-between"},children:[n.jsxs(i,{align:"center",wrap:!0,size:e.marginXS,children:[n.jsx(c,{style:{color:e.colorTextSecondary}}),n.jsx(g,{type:"secondary",style:{fontSize:e.fontSizeSM},children:s("chat.filePreview.fileCount",{count:o.length})}),o.map(t=>n.jsx(u,{title:`${t.type||"unknown"} • ${(t.size/1024).toFixed(1)} KB`,children:n.jsx(x,{closable:!0,onClose:l=>{l.preventDefault(),a(t.id)},style:{borderRadius:999,marginInlineEnd:0,maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name})},t.id))]}),r?n.jsx(m,{type:"text",size:"small",icon:n.jsx(h,{}),onClick:r,style:{borderRadius:999},children:s("common.clear")}):null]})})};export{b as default};
1
+ import{j as n}from"./vendor-markdown-CR3QKQo2.js";import{u as d}from"./vendor-i18n-Dm-c3D_C.js";import{j as i,J as c,l as p,q as u,o as x,N as m,O as h,t as y}from"./vendor-antd-BV9fXfUG.js";const{Text:g}=p,{useToken:j}=y,b=({files:o,onRemove:a,onClear:r})=>{const{token:e}=j(),{t:s}=d();return o.length===0?null:n.jsx("div",{style:{marginBottom:e.marginSM,padding:`${e.paddingXXS}px ${e.paddingXS}px`,borderRadius:999,background:e.colorFillSecondary,border:`1px solid ${e.colorBorderSecondary}`},children:n.jsxs(i,{align:"center",size:e.marginXS,style:{width:"100%",justifyContent:"space-between"},children:[n.jsxs(i,{align:"center",wrap:!0,size:e.marginXS,children:[n.jsx(c,{style:{color:e.colorTextSecondary}}),n.jsx(g,{type:"secondary",style:{fontSize:e.fontSizeSM},children:s("chat.filePreview.fileCount",{count:o.length})}),o.map(t=>n.jsx(u,{title:`${t.type||"unknown"} • ${(t.size/1024).toFixed(1)} KB`,children:n.jsx(x,{closable:!0,onClose:l=>{l.preventDefault(),a(t.id)},style:{borderRadius:999,marginInlineEnd:0,maxWidth:220,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.name})},t.id))]}),r?n.jsx(m,{type:"text",size:"small",icon:n.jsx(h,{}),onClick:r,style:{borderRadius:999},children:s("common.clear")}):null]})})};export{b as default};
@@ -1 +1 @@
1
- import{j as a}from"./vendor-markdown-DrYaLZhb.js";import{w as $,x as v,y as B}from"./App-CiBjfJbZ.js";import{a as l,u as E}from"./vendor-i18n-Dm-c3D_C.js";import{W as T,t as M,o as L,an as D,ao as K,ae as F,U as z}from"./vendor-antd-CKNrd1kL.js";import"./vendor-mermaid-DBtTSFLf.js";import"./main-CvPZyRz3.js";const X=({visible:p,searchText:k,onSelect:j,onCancel:g,onAutoComplete:f})=>{const[o,i]=l.useState([]),[c,R]=l.useState([]),[d,u]=l.useState(0),[N,I]=l.useState(!1),S=l.useRef(null),h=l.useRef(null);l.useEffect(()=>{if(!p)return;const s=$.getInstance();(async()=>{I(!0);try{const r=await s.listCommands();v("[CommandSelector]","[CommandSelector] Fetched commands:",r),i(r),u(0)}catch(r){console.error("[CommandSelector] Failed to fetch commands:",r),i([])}finally{I(!1)}})()},[p]),l.useEffect(()=>{const s=o.filter(e=>{var x,y,b,C,w;const r=k.toLowerCase(),n=(e.displayName??"").toLowerCase();return e.name.toLowerCase().includes(r)||n.includes(r)||e.description.toLowerCase().includes(r)||e.type==="mcp"&&[(x=e.metadata)==null?void 0:x.serverId,(y=e.metadata)==null?void 0:y.serverName,(b=e.metadata)==null?void 0:b.originalName].filter(m=>typeof m=="string").some(m=>m.toLowerCase().includes(r))||(((C=e.category)==null?void 0:C.toLowerCase().includes(r))??!1)||(((w=e.tags)==null?void 0:w.some(m=>m.toLowerCase().includes(r)))??!1)});R(s),u(0)},[o,k]),l.useEffect(()=>{if(!h.current||!S.current)return;const s=S.current,e=h.current,r=s.getBoundingClientRect(),n=e.getBoundingClientRect();n.top<r.top?e.scrollIntoView({block:"start",behavior:"smooth"}):n.bottom>r.bottom&&e.scrollIntoView({block:"end",behavior:"smooth"})},[d,c]);const t=l.useCallback(async s=>{try{j({name:s.name,type:s.type,id:s.id})}catch(e){console.error(`[CommandSelector] Failed to select command '${s.name}':`,e)}},[j]);return l.useEffect(()=>{const s=e=>{if(p)switch(e.key){case"ArrowDown":case"n":if(e.key==="n"&&!e.ctrlKey)break;e.preventDefault(),e.stopPropagation(),u(r=>r<c.length-1?r+1:0);break;case"ArrowUp":case"p":if(e.key==="p"&&!e.ctrlKey)break;e.preventDefault(),e.stopPropagation(),u(r=>r>0?r-1:c.length-1);break;case"Enter":e.preventDefault(),e.stopPropagation(),c[d]&&t(c[d]);break;case" ":case"Tab":e.preventDefault(),e.stopPropagation(),c[d]&&f&&f(c[d].name);break;case"Escape":e.preventDefault(),e.stopPropagation(),g();break}};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[p,c,d,g,f,t]),{containerRef:S,selectedItemRef:h,filteredCommands:c,selectedIndex:d,setSelectedIndex:u,isLoading:N,handleCommandSelect:t}},{useToken:P}=M,A={workflow:{color:"blue",icon:a.jsx(z,{}),labelKey:"chat.commandSelector.types.workflow"},skill:{color:"green",icon:a.jsx(F,{}),labelKey:"chat.commandSelector.types.skill"},mcp:{color:"purple",icon:a.jsx(K,{}),labelKey:"chat.commandSelector.types.mcp"},goal:{color:"gold",icon:a.jsx(D,{}),labelKey:"chat.commandSelector.types.goal"}},Q=({visible:p,onSelect:k,onCancel:j,searchText:g,onAutoComplete:f})=>{const{token:o}=P(),{t:i}=E(),{containerRef:c,selectedItemRef:R,filteredCommands:d,selectedIndex:u,setSelectedIndex:N,isLoading:I,handleCommandSelect:S}=X({visible:p,searchText:g,onSelect:k,onCancel:j,onAutoComplete:f});if(!p)return null;if(I)return a.jsxs("div",{style:{position:"absolute",bottom:"100%",left:0,right:0,background:o.colorBgContainer,border:`1px solid ${o.colorBorderSecondary}`,borderRadius:o.borderRadiusSM,boxShadow:o.boxShadowSecondary,padding:`${o.paddingSM}px ${o.paddingMD}px`,zIndex:1e3,marginBottom:o.marginXS,textAlign:"center"},children:[a.jsx(T,{size:"small"})," ",i("chat.commandSelector.loading")]});if(d.length===0)return a.jsx("div",{style:{position:"absolute",bottom:"100%",left:0,right:0,background:o.colorBgContainer,border:`1px solid ${o.colorBorderSecondary}`,borderRadius:o.borderRadiusSM,boxShadow:o.boxShadowSecondary,padding:`${o.paddingSM}px ${o.paddingMD}px`,zIndex:1e3,marginBottom:o.marginXS,textAlign:"center",color:o.colorTextSecondary},children:g?i("chat.commandSelector.emptyWithSearch",{search:g}):i("chat.commandSelector.empty")});const h=(t,s)=>{var b,C,w;const e=A[t.type],r=s===u,n=t.type==="mcp"?B(t.name):null,x=t.type==="mcp"?((b=t.metadata)==null?void 0:b.originalName)||(n==null?void 0:n.toolName)||t.displayName||t.name:null,y=t.type==="mcp"&&(((C=t.metadata)==null?void 0:C.serverName)||((w=t.metadata)==null?void 0:w.serverId)||(n==null?void 0:n.serverId))||null;return a.jsxs("div",{ref:r?R:null,className:`command-selector-item ${r?"selected":""}`,onClick:()=>S(t),onMouseEnter:()=>N(s),children:[a.jsxs("div",{className:"command-selector-item-header",children:[a.jsxs("div",{className:"command-selector-item-name",style:{color:o.colorPrimary},children:["/",t.type==="mcp"&&x?x:t.name]}),a.jsxs("div",{style:{display:"flex",gap:o.marginXS},children:[t.type==="mcp"&&y&&a.jsx(L,{color:"processing",children:y}),a.jsxs(L,{color:e.color,children:[e.icon," ",i(e.labelKey)]})]})]}),a.jsx("div",{className:"command-selector-item-description",style:{color:o.colorTextSecondary},children:t.description}),t.type==="mcp"&&y&&a.jsxs("div",{className:"command-selector-item-category",style:{color:o.colorTextTertiary},children:[i("common.server")," ",y]}),t.category&&a.jsxs("div",{className:"command-selector-item-category",style:{color:o.colorTextTertiary},children:[i("common.category")," ",t.category]}),t.tags&&t.tags.length>0&&a.jsx("div",{className:"command-selector-item-tags",children:t.tags.slice(0,3).map(m=>a.jsx(L,{children:m},m))})]},t.id)};return a.jsxs("div",{ref:c,className:"command-selector-container",style:{background:o.colorBgContainer,border:`1px solid ${o.colorBorderSecondary}`,borderRadius:o.borderRadiusSM,boxShadow:o.boxShadowSecondary},children:[a.jsx("div",{style:{padding:`${o.paddingXXS}px ${o.paddingSM}px`,borderBottom:`1px solid ${o.colorBorderSecondary}`,background:o.colorFillQuaternary,fontSize:o.fontSizeSM,color:o.colorTextTertiary},children:i("chat.commandSelector.navigationHint")}),d.map((t,s)=>h(t,s))]})};export{Q as default};
1
+ import{j as a}from"./vendor-markdown-CR3QKQo2.js";import{w as $,x as v,y as B}from"./App-DGiMC-bc.js";import{a as l,u as E}from"./vendor-i18n-Dm-c3D_C.js";import{W as T,t as M,o as L,an as D,ao as K,ae as F,U as z}from"./vendor-antd-BV9fXfUG.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const X=({visible:p,searchText:k,onSelect:j,onCancel:g,onAutoComplete:f})=>{const[o,i]=l.useState([]),[c,R]=l.useState([]),[d,u]=l.useState(0),[N,I]=l.useState(!1),S=l.useRef(null),h=l.useRef(null);l.useEffect(()=>{if(!p)return;const s=$.getInstance();(async()=>{I(!0);try{const r=await s.listCommands();v("[CommandSelector]","[CommandSelector] Fetched commands:",r),i(r),u(0)}catch(r){console.error("[CommandSelector] Failed to fetch commands:",r),i([])}finally{I(!1)}})()},[p]),l.useEffect(()=>{const s=o.filter(e=>{var x,y,b,C,w;const r=k.toLowerCase(),n=(e.displayName??"").toLowerCase();return e.name.toLowerCase().includes(r)||n.includes(r)||e.description.toLowerCase().includes(r)||e.type==="mcp"&&[(x=e.metadata)==null?void 0:x.serverId,(y=e.metadata)==null?void 0:y.serverName,(b=e.metadata)==null?void 0:b.originalName].filter(m=>typeof m=="string").some(m=>m.toLowerCase().includes(r))||(((C=e.category)==null?void 0:C.toLowerCase().includes(r))??!1)||(((w=e.tags)==null?void 0:w.some(m=>m.toLowerCase().includes(r)))??!1)});R(s),u(0)},[o,k]),l.useEffect(()=>{if(!h.current||!S.current)return;const s=S.current,e=h.current,r=s.getBoundingClientRect(),n=e.getBoundingClientRect();n.top<r.top?e.scrollIntoView({block:"start",behavior:"smooth"}):n.bottom>r.bottom&&e.scrollIntoView({block:"end",behavior:"smooth"})},[d,c]);const t=l.useCallback(async s=>{try{j({name:s.name,type:s.type,id:s.id})}catch(e){console.error(`[CommandSelector] Failed to select command '${s.name}':`,e)}},[j]);return l.useEffect(()=>{const s=e=>{if(p)switch(e.key){case"ArrowDown":case"n":if(e.key==="n"&&!e.ctrlKey)break;e.preventDefault(),e.stopPropagation(),u(r=>r<c.length-1?r+1:0);break;case"ArrowUp":case"p":if(e.key==="p"&&!e.ctrlKey)break;e.preventDefault(),e.stopPropagation(),u(r=>r>0?r-1:c.length-1);break;case"Enter":e.preventDefault(),e.stopPropagation(),c[d]&&t(c[d]);break;case" ":case"Tab":e.preventDefault(),e.stopPropagation(),c[d]&&f&&f(c[d].name);break;case"Escape":e.preventDefault(),e.stopPropagation(),g();break}};return document.addEventListener("keydown",s),()=>document.removeEventListener("keydown",s)},[p,c,d,g,f,t]),{containerRef:S,selectedItemRef:h,filteredCommands:c,selectedIndex:d,setSelectedIndex:u,isLoading:N,handleCommandSelect:t}},{useToken:P}=M,A={workflow:{color:"blue",icon:a.jsx(z,{}),labelKey:"chat.commandSelector.types.workflow"},skill:{color:"green",icon:a.jsx(F,{}),labelKey:"chat.commandSelector.types.skill"},mcp:{color:"purple",icon:a.jsx(K,{}),labelKey:"chat.commandSelector.types.mcp"},goal:{color:"gold",icon:a.jsx(D,{}),labelKey:"chat.commandSelector.types.goal"}},Q=({visible:p,onSelect:k,onCancel:j,searchText:g,onAutoComplete:f})=>{const{token:o}=P(),{t:i}=E(),{containerRef:c,selectedItemRef:R,filteredCommands:d,selectedIndex:u,setSelectedIndex:N,isLoading:I,handleCommandSelect:S}=X({visible:p,searchText:g,onSelect:k,onCancel:j,onAutoComplete:f});if(!p)return null;if(I)return a.jsxs("div",{style:{position:"absolute",bottom:"100%",left:0,right:0,background:o.colorBgContainer,border:`1px solid ${o.colorBorderSecondary}`,borderRadius:o.borderRadiusSM,boxShadow:o.boxShadowSecondary,padding:`${o.paddingSM}px ${o.paddingMD}px`,zIndex:1e3,marginBottom:o.marginXS,textAlign:"center"},children:[a.jsx(T,{size:"small"})," ",i("chat.commandSelector.loading")]});if(d.length===0)return a.jsx("div",{style:{position:"absolute",bottom:"100%",left:0,right:0,background:o.colorBgContainer,border:`1px solid ${o.colorBorderSecondary}`,borderRadius:o.borderRadiusSM,boxShadow:o.boxShadowSecondary,padding:`${o.paddingSM}px ${o.paddingMD}px`,zIndex:1e3,marginBottom:o.marginXS,textAlign:"center",color:o.colorTextSecondary},children:g?i("chat.commandSelector.emptyWithSearch",{search:g}):i("chat.commandSelector.empty")});const h=(t,s)=>{var b,C,w;const e=A[t.type],r=s===u,n=t.type==="mcp"?B(t.name):null,x=t.type==="mcp"?((b=t.metadata)==null?void 0:b.originalName)||(n==null?void 0:n.toolName)||t.displayName||t.name:null,y=t.type==="mcp"&&(((C=t.metadata)==null?void 0:C.serverName)||((w=t.metadata)==null?void 0:w.serverId)||(n==null?void 0:n.serverId))||null;return a.jsxs("div",{ref:r?R:null,className:`command-selector-item ${r?"selected":""}`,onClick:()=>S(t),onMouseEnter:()=>N(s),children:[a.jsxs("div",{className:"command-selector-item-header",children:[a.jsxs("div",{className:"command-selector-item-name",style:{color:o.colorPrimary},children:["/",t.type==="mcp"&&x?x:t.name]}),a.jsxs("div",{style:{display:"flex",gap:o.marginXS},children:[t.type==="mcp"&&y&&a.jsx(L,{color:"processing",children:y}),a.jsxs(L,{color:e.color,children:[e.icon," ",i(e.labelKey)]})]})]}),a.jsx("div",{className:"command-selector-item-description",style:{color:o.colorTextSecondary},children:t.description}),t.type==="mcp"&&y&&a.jsxs("div",{className:"command-selector-item-category",style:{color:o.colorTextTertiary},children:[i("common.server")," ",y]}),t.category&&a.jsxs("div",{className:"command-selector-item-category",style:{color:o.colorTextTertiary},children:[i("common.category")," ",t.category]}),t.tags&&t.tags.length>0&&a.jsx("div",{className:"command-selector-item-tags",children:t.tags.slice(0,3).map(m=>a.jsx(L,{children:m},m))})]},t.id)};return a.jsxs("div",{ref:c,className:"command-selector-container",style:{background:o.colorBgContainer,border:`1px solid ${o.colorBorderSecondary}`,borderRadius:o.borderRadiusSM,boxShadow:o.boxShadowSecondary},children:[a.jsx("div",{style:{padding:`${o.paddingXXS}px ${o.paddingSM}px`,borderBottom:`1px solid ${o.colorBorderSecondary}`,background:o.colorFillQuaternary,fontSize:o.fontSizeSM,color:o.colorTextTertiary},children:i("chat.commandSelector.navigationHint")}),d.map((t,s)=>h(t,s))]})};export{Q as default};
@@ -1 +1 @@
1
- import{j as e}from"./vendor-markdown-DrYaLZhb.js";import{u as I,a}from"./vendor-i18n-Dm-c3D_C.js";import{G as z,A as D,Q as R,z as w,j as y,U as b,J as X,l as M,N as k,V as A,W as L,t as C}from"./vendor-antd-CKNrd1kL.js";const{Text:x}=M,{useToken:$}=C,P=({visible:c,files:l,searchText:d,loading:h,error:g,onSelect:f,onCancel:m,onChangeWorkspace:j})=>{const{token:s}=$(),{t:i}=I(),[n,u]=a.useState(0),E=a.useRef(null),S=a.useRef(null),o=a.useMemo(()=>{const t=d.trim().toLowerCase();return t?l.filter(r=>r.name.toLowerCase().startsWith(t)):l},[l,d]);return a.useEffect(()=>{u(0)},[d,l]),a.useEffect(()=>{if(!c)return;const t=r=>{c&&(r.key==="ArrowDown"||r.key==="n"&&r.ctrlKey?(r.preventDefault(),u(p=>o.length===0?0:(p+1)%o.length)):r.key==="ArrowUp"||r.key==="p"&&r.ctrlKey?(r.preventDefault(),u(p=>o.length===0?0:(p-1+o.length)%o.length)):r.key==="Enter"||r.key==="Tab"?o[n]&&(r.preventDefault(),f(o[n])):r.key==="Escape"&&(r.preventDefault(),m()))};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}},[c,o,n,f,m]),a.useEffect(()=>{if(!c)return;const t=S.current;t&&t.scrollIntoView({block:"nearest"})},[n,c]),c?e.jsx("div",{style:{position:"absolute",bottom:"100%",left:0,right:0,zIndex:1e3,marginBottom:s.marginXS},children:e.jsx(z,{size:"small",style:{borderRadius:s.borderRadius,border:`1px solid ${s.colorBorderSecondary}`,boxShadow:s.boxShadowSecondary},styles:{body:{padding:s.paddingXS,maxHeight:240,overflowY:"auto"}},title:e.jsxs(y,{align:"center",size:s.marginXS,children:[e.jsx(x,{strong:!0,children:i("chat.fileReference.title")}),h&&e.jsx(L,{size:"small"})]}),extra:e.jsxs(y,{size:s.marginXS,children:[j&&e.jsx(k,{type:"text",size:"small",icon:e.jsx(A,{}),onClick:j,children:i("chat.fileReference.setWorkspace")}),e.jsx(k,{type:"text",size:"small",onClick:m,children:i("common.close")})]}),children:g?e.jsx(D,{type:"error",message:g,showIcon:!0}):o.length===0&&!h?e.jsx(R,{image:R.PRESENTED_IMAGE_SIMPLE,description:i(d?"chat.fileReference.noMatches":"chat.fileReference.emptyDirectory")}):e.jsx("div",{ref:E,children:e.jsx(w,{dataSource:o,renderItem:(t,r)=>e.jsx(w.Item,{onMouseEnter:()=>u(r),onClick:()=>f(t),ref:r===n?S:void 0,style:{cursor:"pointer",backgroundColor:r===n?s.colorPrimaryBg:"transparent",borderRadius:s.borderRadiusSM,padding:`${s.paddingXXS}px ${s.paddingXS}px`},children:e.jsxs(y,{size:s.marginXS,align:"center",children:[t.is_directory?e.jsx(b,{}):e.jsx(X,{}),e.jsxs("div",{children:[e.jsx(x,{children:t.name}),e.jsx("div",{children:e.jsx(x,{type:"secondary",style:{fontSize:s.fontSizeSM},children:t.is_directory?i("common.directory"):i("common.file")})})]})]})},t.path)})})})}):null};export{P as default};
1
+ import{j as e}from"./vendor-markdown-CR3QKQo2.js";import{u as I,a}from"./vendor-i18n-Dm-c3D_C.js";import{G as z,A as D,Q as R,z as w,j as y,U as b,J as X,l as M,N as k,V as A,W as L,t as C}from"./vendor-antd-BV9fXfUG.js";const{Text:x}=M,{useToken:$}=C,P=({visible:c,files:l,searchText:d,loading:h,error:g,onSelect:f,onCancel:m,onChangeWorkspace:j})=>{const{token:s}=$(),{t:i}=I(),[n,u]=a.useState(0),E=a.useRef(null),S=a.useRef(null),o=a.useMemo(()=>{const t=d.trim().toLowerCase();return t?l.filter(r=>r.name.toLowerCase().startsWith(t)):l},[l,d]);return a.useEffect(()=>{u(0)},[d,l]),a.useEffect(()=>{if(!c)return;const t=r=>{c&&(r.key==="ArrowDown"||r.key==="n"&&r.ctrlKey?(r.preventDefault(),u(p=>o.length===0?0:(p+1)%o.length)):r.key==="ArrowUp"||r.key==="p"&&r.ctrlKey?(r.preventDefault(),u(p=>o.length===0?0:(p-1+o.length)%o.length)):r.key==="Enter"||r.key==="Tab"?o[n]&&(r.preventDefault(),f(o[n])):r.key==="Escape"&&(r.preventDefault(),m()))};return window.addEventListener("keydown",t),()=>{window.removeEventListener("keydown",t)}},[c,o,n,f,m]),a.useEffect(()=>{if(!c)return;const t=S.current;t&&t.scrollIntoView({block:"nearest"})},[n,c]),c?e.jsx("div",{style:{position:"absolute",bottom:"100%",left:0,right:0,zIndex:1e3,marginBottom:s.marginXS},children:e.jsx(z,{size:"small",style:{borderRadius:s.borderRadius,border:`1px solid ${s.colorBorderSecondary}`,boxShadow:s.boxShadowSecondary},styles:{body:{padding:s.paddingXS,maxHeight:240,overflowY:"auto"}},title:e.jsxs(y,{align:"center",size:s.marginXS,children:[e.jsx(x,{strong:!0,children:i("chat.fileReference.title")}),h&&e.jsx(L,{size:"small"})]}),extra:e.jsxs(y,{size:s.marginXS,children:[j&&e.jsx(k,{type:"text",size:"small",icon:e.jsx(A,{}),onClick:j,children:i("chat.fileReference.setWorkspace")}),e.jsx(k,{type:"text",size:"small",onClick:m,children:i("common.close")})]}),children:g?e.jsx(D,{type:"error",message:g,showIcon:!0}):o.length===0&&!h?e.jsx(R,{image:R.PRESENTED_IMAGE_SIMPLE,description:i(d?"chat.fileReference.noMatches":"chat.fileReference.emptyDirectory")}):e.jsx("div",{ref:E,children:e.jsx(w,{dataSource:o,renderItem:(t,r)=>e.jsx(w.Item,{onMouseEnter:()=>u(r),onClick:()=>f(t),ref:r===n?S:void 0,style:{cursor:"pointer",backgroundColor:r===n?s.colorPrimaryBg:"transparent",borderRadius:s.borderRadiusSM,padding:`${s.paddingXXS}px ${s.paddingXS}px`},children:e.jsxs(y,{size:s.marginXS,align:"center",children:[t.is_directory?e.jsx(b,{}):e.jsx(X,{}),e.jsxs("div",{children:[e.jsx(x,{children:t.name}),e.jsx("div",{children:e.jsx(x,{type:"secondary",style:{fontSize:s.fontSizeSM},children:t.is_directory?i("common.directory"):i("common.file")})})]})]})},t.path)})})})}):null};export{P as default};
@@ -1 +1 @@
1
- import{j as t}from"./vendor-markdown-DrYaLZhb.js";import{u as b,a as x}from"./vendor-i18n-Dm-c3D_C.js";import{u as i}from"./App-CiBjfJbZ.js";import{X as w,Y as n,N as l,Z as T,z as c,o as R,$ as k,a0 as v,a1 as C,a2 as E,a3 as d}from"./vendor-antd-CKNrd1kL.js";import"./vendor-mermaid-DBtTSFLf.js";import"./main-CvPZyRz3.js";const V=()=>{const{t:s}=b(),{message:r}=w.useApp(),f=i(e=>e.systemPrompts),P=i(e=>e.addSystemPrompt),j=i(e=>e.updateSystemPrompt),M=i(e=>e.deleteSystemPrompt),[h,u]=x.useState(!1),[a,p]=x.useState(null),[o]=n.useForm(),g=(e=null)=>{if(e!=null&&e.isDefault){r.warning(s("settings.systemPromptManager.defaultPromptLocked"));return}p(e),o.setFieldsValue(e||{name:"",description:"",content:""}),u(!0)},y=()=>{u(!1),p(null),o.resetFields()},S=async()=>{if(a!=null&&a.isDefault){r.warning(s("settings.systemPromptManager.defaultPromptLocked"));return}try{const e=await o.validateFields();a?(await j({...a,...e}),r.success(s("settings.systemPromptManager.updateSuccess"))):(await P(e),r.success(s("settings.systemPromptManager.addSuccess"))),y()}catch(e){console.error("Failed to save prompt:",e),r.error(e instanceof Error?e.message:s("settings.systemPromptManager.saveError"))}},I=async e=>{try{await M(e),r.success(s("settings.systemPromptManager.deleteSuccess"))}catch(m){console.error("Failed to delete prompt:",m),r.error(m instanceof Error?m.message:s("settings.systemPromptManager.deleteError"))}};return t.jsxs("div",{children:[t.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16},children:[t.jsx("h2",{children:s("settings.systemPromptManager.title")}),t.jsx(l,{type:"primary",icon:t.jsx(T,{}),onClick:()=>g(),children:s("settings.systemPromptManager.addButton")})]}),t.jsx(c,{itemLayout:"horizontal",dataSource:f,renderItem:e=>t.jsxs(c.Item,{actions:[e.isDefault?null:t.jsx(l,{type:"text",icon:t.jsx(k,{}),onClick:()=>g(e)}),e.isDefault?null:t.jsx(v,{title:s("settings.systemPromptManager.deleteConfirm"),onConfirm:()=>I(e.id),okText:s("common.yes"),cancelText:s("common.no"),children:t.jsx(l,{type:"text",danger:!0,icon:t.jsx(C,{}),"aria-label":s("common.delete")})})],children:[t.jsx(c.Item.Meta,{title:e.name,description:e.description||e.content.substring(0,200)+(e.content.length>200?"...":"")}),e.isDefault&&t.jsx(R,{children:s("settings.systemPromptManager.defaultTag")})]})}),t.jsx(E,{title:s(a?"settings.systemPromptManager.editTitle":"settings.systemPromptManager.addTitle"),open:h,onOk:S,onCancel:y,width:"60%",forceRender:!0,children:t.jsxs(n,{form:o,layout:"vertical",name:"system_prompt_form",children:[t.jsx(n.Item,{name:"name",label:s("settings.systemPromptManager.nameLabel"),rules:[{required:!0,message:s("settings.systemPromptManager.nameRequired")}],children:t.jsx(d,{})}),t.jsx(n.Item,{name:"description",label:s("settings.systemPromptManager.descriptionLabel"),rules:[{required:!1,message:s("settings.systemPromptManager.descriptionRequired")}],children:t.jsx(d.TextArea,{rows:3})}),t.jsx(n.Item,{name:"content",label:s("settings.systemPromptManager.contentLabel"),rules:[{required:!0,message:s("settings.systemPromptManager.contentRequired")}],children:t.jsx(d.TextArea,{rows:10})})]})})]})};export{V as default};
1
+ import{j as t}from"./vendor-markdown-CR3QKQo2.js";import{u as b,a as x}from"./vendor-i18n-Dm-c3D_C.js";import{u as i}from"./App-DGiMC-bc.js";import{X as w,Y as n,N as l,Z as T,z as c,o as R,$ as k,a0 as v,a1 as C,a2 as E,a3 as d}from"./vendor-antd-BV9fXfUG.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const V=()=>{const{t:s}=b(),{message:r}=w.useApp(),f=i(e=>e.systemPrompts),P=i(e=>e.addSystemPrompt),j=i(e=>e.updateSystemPrompt),M=i(e=>e.deleteSystemPrompt),[h,u]=x.useState(!1),[a,p]=x.useState(null),[o]=n.useForm(),g=(e=null)=>{if(e!=null&&e.isDefault){r.warning(s("settings.systemPromptManager.defaultPromptLocked"));return}p(e),o.setFieldsValue(e||{name:"",description:"",content:""}),u(!0)},y=()=>{u(!1),p(null),o.resetFields()},S=async()=>{if(a!=null&&a.isDefault){r.warning(s("settings.systemPromptManager.defaultPromptLocked"));return}try{const e=await o.validateFields();a?(await j({...a,...e}),r.success(s("settings.systemPromptManager.updateSuccess"))):(await P(e),r.success(s("settings.systemPromptManager.addSuccess"))),y()}catch(e){console.error("Failed to save prompt:",e),r.error(e instanceof Error?e.message:s("settings.systemPromptManager.saveError"))}},I=async e=>{try{await M(e),r.success(s("settings.systemPromptManager.deleteSuccess"))}catch(m){console.error("Failed to delete prompt:",m),r.error(m instanceof Error?m.message:s("settings.systemPromptManager.deleteError"))}};return t.jsxs("div",{children:[t.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:16},children:[t.jsx("h2",{children:s("settings.systemPromptManager.title")}),t.jsx(l,{type:"primary",icon:t.jsx(T,{}),onClick:()=>g(),children:s("settings.systemPromptManager.addButton")})]}),t.jsx(c,{itemLayout:"horizontal",dataSource:f,renderItem:e=>t.jsxs(c.Item,{actions:[e.isDefault?null:t.jsx(l,{type:"text",icon:t.jsx(k,{}),onClick:()=>g(e)}),e.isDefault?null:t.jsx(v,{title:s("settings.systemPromptManager.deleteConfirm"),onConfirm:()=>I(e.id),okText:s("common.yes"),cancelText:s("common.no"),children:t.jsx(l,{type:"text",danger:!0,icon:t.jsx(C,{}),"aria-label":s("common.delete")})})],children:[t.jsx(c.Item.Meta,{title:e.name,description:e.description||e.content.substring(0,200)+(e.content.length>200?"...":"")}),e.isDefault&&t.jsx(R,{children:s("settings.systemPromptManager.defaultTag")})]})}),t.jsx(E,{title:s(a?"settings.systemPromptManager.editTitle":"settings.systemPromptManager.addTitle"),open:h,onOk:S,onCancel:y,width:"60%",forceRender:!0,children:t.jsxs(n,{form:o,layout:"vertical",name:"system_prompt_form",children:[t.jsx(n.Item,{name:"name",label:s("settings.systemPromptManager.nameLabel"),rules:[{required:!0,message:s("settings.systemPromptManager.nameRequired")}],children:t.jsx(d,{})}),t.jsx(n.Item,{name:"description",label:s("settings.systemPromptManager.descriptionLabel"),rules:[{required:!1,message:s("settings.systemPromptManager.descriptionRequired")}],children:t.jsx(d.TextArea,{rows:3})}),t.jsx(n.Item,{name:"content",label:s("settings.systemPromptManager.contentLabel"),rules:[{required:!0,message:s("settings.systemPromptManager.contentRequired")}],children:t.jsx(d.TextArea,{rows:10})})]})})]})};export{V as default};
@@ -1 +1 @@
1
- import{j as s}from"./vendor-markdown-DrYaLZhb.js";import{u as g,a as c,i as m}from"./vendor-i18n-Dm-c3D_C.js";import{u as p,s as y,E as T}from"./App-CiBjfJbZ.js";import{t as v,ad as S,ae as w,v as R,I as k,U as A,aa as I,o as b,w as M}from"./vendor-antd-CKNrd1kL.js";import"./vendor-mermaid-DBtTSFLf.js";import"./main-CvPZyRz3.js";const C=5,D=5,$=5,E=o=>{if(!o)return"";try{const n=Date.now()-new Date(o).getTime();if(n<0)return"";const t=Math.floor(n/1e3);if(t<60)return m.t("chat.home.justNow");const l=Math.floor(t/60);if(l<60)return m.t("chat.home.minutesAgo",{count:l});const a=Math.floor(l/60);if(a<24)return m.t("chat.home.hoursAgo",{count:a});const r=Math.floor(a/24);return r<30?m.t("chat.home.daysAgo",{count:r}):new Date(o).toLocaleDateString()}catch{return""}},P=(o,n)=>n?"is-running":o.lastRunStatus==="error"?"is-error":o.pinned?"is-pinned":"is-idle",x=({chat:o,onOpen:n,textSecondary:t})=>{const{t:l}=g(),a=p(y(o.id)),r=o.config.workspacePath?o.config.workspacePath.split("/").pop()||o.config.workspacePath:null;return s.jsxs("button",{type:"button",className:"lotus-home-session-item",onClick:()=>n(o.id),children:[s.jsx("span",{className:`lotus-home-session-status ${P(o,a)}`}),s.jsxs("span",{className:"lotus-home-session-content",children:[s.jsx("span",{className:"lotus-home-session-title",children:o.title}),s.jsxs("span",{className:"lotus-home-session-meta",style:{color:t},children:[s.jsx("span",{children:E(o.updatedAt)}),r?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"lotus-home-session-meta-sep"}),s.jsxs("span",{children:[s.jsx(A,{style:{marginRight:3}}),r]})]}):null,o.messageCount!=null?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"lotus-home-session-meta-sep"}),s.jsxs("span",{children:[s.jsx(I,{style:{marginRight:3}}),o.messageCount]})]}):null]})]}),a?s.jsx(b,{color:"green",bordered:!1,style:{margin:0,fontSize:11},children:l("chat.home.running")}):null,s.jsx(M,{className:"lotus-home-session-arrow"})]})},U=({onOpenSession:o})=>{const{t:n}=g(),{token:t}=v.useToken(),l=p(e=>e.chats),a=c.useCallback(e=>y(e)(p.getState()),[]),r=c.useMemo(()=>l.filter(e=>a(e.id)).slice(0,D),[l,a]),d=c.useMemo(()=>l.filter(e=>e.pinned&&!a(e.id)).slice(0,$),[l,a]),j=c.useMemo(()=>{const e=new Set(r.map(i=>i.id)),f=new Set(d.map(i=>i.id));return l.filter(i=>i.kind!=="child"&&!e.has(i.id)&&!f.has(i.id)).sort((i,h)=>{const N=i.updatedAt?new Date(i.updatedAt).getTime():i.createdAt;return(h.updatedAt?new Date(h.updatedAt).getTime():h.createdAt)-N}).slice(0,C)},[l,r,d]),u=c.useCallback(e=>{o(e)},[o]);return s.jsx("div",{className:"lotus-home-dashboard",children:s.jsxs("div",{className:"lotus-home-dashboard-inner",children:[s.jsxs("div",{className:"lotus-home-header",children:[s.jsx("span",{className:"lotus-home-header-icon",style:{background:`${t.colorPrimary}15`,color:t.colorPrimary},children:s.jsx(S,{})}),s.jsxs("div",{className:"lotus-home-header-text",children:[s.jsx("h2",{style:{color:t.colorText},children:n("home.title","Welcome to Bodhi")}),s.jsx("p",{style:{color:t.colorTextSecondary},children:n("home.subtitle","Here's an overview of your workspace.")})]})]}),s.jsx("div",{className:"lotus-home-launcher-shell","data-tour-id":"task-templates",children:s.jsx(T,{embedded:!0,layoutMode:"staggered"})}),s.jsxs("div",{className:"lotus-home-secondary-sections",children:[r.length>0?s.jsxs("div",{className:"lotus-home-section",children:[s.jsxs("div",{className:"lotus-home-section-title",style:{color:t.colorTextSecondary},children:[s.jsx(w,{className:"lotus-home-section-icon",style:{color:t.colorSuccess}}),s.jsx("span",{children:n("home.sections.running","Running Now")})]}),s.jsx("div",{className:"lotus-home-session-list",children:r.map(e=>s.jsx(x,{chat:e,onOpen:u,textSecondary:t.colorTextTertiary},e.id))})]}):null,d.length>0?s.jsxs("div",{className:"lotus-home-section",children:[s.jsxs("div",{className:"lotus-home-section-title",style:{color:t.colorTextSecondary},children:[s.jsx(R,{className:"lotus-home-section-icon",style:{color:"var(--lotus-gold)"}}),s.jsx("span",{children:n("home.sections.pinned","Pinned")})]}),s.jsx("div",{className:"lotus-home-session-list",children:d.map(e=>s.jsx(x,{chat:e,onOpen:u,textSecondary:t.colorTextTertiary},e.id))})]}):null,j.length>0?s.jsxs("div",{className:"lotus-home-section",children:[s.jsxs("div",{className:"lotus-home-section-title",style:{color:t.colorTextSecondary},children:[s.jsx(k,{className:"lotus-home-section-icon"}),s.jsx("span",{children:n("home.sections.recent","Recent Sessions")})]}),s.jsx("div",{className:"lotus-home-session-list",children:j.map(e=>s.jsx(x,{chat:e,onOpen:u,textSecondary:t.colorTextTertiary},e.id))})]}):null,l.length===0?s.jsx("div",{className:"lotus-home-empty-hint",style:{color:t.colorTextTertiary},children:n("home.empty","No sessions yet. Create one to get started!")}):null]})]})})};export{U as HomeDashboard,U as default};
1
+ import{j as s}from"./vendor-markdown-CR3QKQo2.js";import{u as g,a as c,i as m}from"./vendor-i18n-Dm-c3D_C.js";import{u as p,s as y,E as T}from"./App-DGiMC-bc.js";import{t as v,ad as S,ae as w,v as R,I as k,U as A,aa as I,o as b,w as M}from"./vendor-antd-BV9fXfUG.js";import"./vendor-mermaid-EqIWbuOm.js";import"./main-BNHHYyvu.js";const C=5,D=5,$=5,E=o=>{if(!o)return"";try{const n=Date.now()-new Date(o).getTime();if(n<0)return"";const t=Math.floor(n/1e3);if(t<60)return m.t("chat.home.justNow");const l=Math.floor(t/60);if(l<60)return m.t("chat.home.minutesAgo",{count:l});const a=Math.floor(l/60);if(a<24)return m.t("chat.home.hoursAgo",{count:a});const r=Math.floor(a/24);return r<30?m.t("chat.home.daysAgo",{count:r}):new Date(o).toLocaleDateString()}catch{return""}},P=(o,n)=>n?"is-running":o.lastRunStatus==="error"?"is-error":o.pinned?"is-pinned":"is-idle",x=({chat:o,onOpen:n,textSecondary:t})=>{const{t:l}=g(),a=p(y(o.id)),r=o.config.workspacePath?o.config.workspacePath.split("/").pop()||o.config.workspacePath:null;return s.jsxs("button",{type:"button",className:"lotus-home-session-item",onClick:()=>n(o.id),children:[s.jsx("span",{className:`lotus-home-session-status ${P(o,a)}`}),s.jsxs("span",{className:"lotus-home-session-content",children:[s.jsx("span",{className:"lotus-home-session-title",children:o.title}),s.jsxs("span",{className:"lotus-home-session-meta",style:{color:t},children:[s.jsx("span",{children:E(o.updatedAt)}),r?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"lotus-home-session-meta-sep"}),s.jsxs("span",{children:[s.jsx(A,{style:{marginRight:3}}),r]})]}):null,o.messageCount!=null?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"lotus-home-session-meta-sep"}),s.jsxs("span",{children:[s.jsx(I,{style:{marginRight:3}}),o.messageCount]})]}):null]})]}),a?s.jsx(b,{color:"green",bordered:!1,style:{margin:0,fontSize:11},children:l("chat.home.running")}):null,s.jsx(M,{className:"lotus-home-session-arrow"})]})},U=({onOpenSession:o})=>{const{t:n}=g(),{token:t}=v.useToken(),l=p(e=>e.chats),a=c.useCallback(e=>y(e)(p.getState()),[]),r=c.useMemo(()=>l.filter(e=>a(e.id)).slice(0,D),[l,a]),d=c.useMemo(()=>l.filter(e=>e.pinned&&!a(e.id)).slice(0,$),[l,a]),j=c.useMemo(()=>{const e=new Set(r.map(i=>i.id)),f=new Set(d.map(i=>i.id));return l.filter(i=>i.kind!=="child"&&!e.has(i.id)&&!f.has(i.id)).sort((i,h)=>{const N=i.updatedAt?new Date(i.updatedAt).getTime():i.createdAt;return(h.updatedAt?new Date(h.updatedAt).getTime():h.createdAt)-N}).slice(0,C)},[l,r,d]),u=c.useCallback(e=>{o(e)},[o]);return s.jsx("div",{className:"lotus-home-dashboard",children:s.jsxs("div",{className:"lotus-home-dashboard-inner",children:[s.jsxs("div",{className:"lotus-home-header",children:[s.jsx("span",{className:"lotus-home-header-icon",style:{background:`${t.colorPrimary}15`,color:t.colorPrimary},children:s.jsx(S,{})}),s.jsxs("div",{className:"lotus-home-header-text",children:[s.jsx("h2",{style:{color:t.colorText},children:n("home.title","Welcome to Bodhi")}),s.jsx("p",{style:{color:t.colorTextSecondary},children:n("home.subtitle","Here's an overview of your workspace.")})]})]}),s.jsx("div",{className:"lotus-home-launcher-shell","data-tour-id":"task-templates",children:s.jsx(T,{embedded:!0,layoutMode:"staggered"})}),s.jsxs("div",{className:"lotus-home-secondary-sections",children:[r.length>0?s.jsxs("div",{className:"lotus-home-section",children:[s.jsxs("div",{className:"lotus-home-section-title",style:{color:t.colorTextSecondary},children:[s.jsx(w,{className:"lotus-home-section-icon",style:{color:t.colorSuccess}}),s.jsx("span",{children:n("home.sections.running","Running Now")})]}),s.jsx("div",{className:"lotus-home-session-list",children:r.map(e=>s.jsx(x,{chat:e,onOpen:u,textSecondary:t.colorTextTertiary},e.id))})]}):null,d.length>0?s.jsxs("div",{className:"lotus-home-section",children:[s.jsxs("div",{className:"lotus-home-section-title",style:{color:t.colorTextSecondary},children:[s.jsx(R,{className:"lotus-home-section-icon",style:{color:"var(--lotus-gold)"}}),s.jsx("span",{children:n("home.sections.pinned","Pinned")})]}),s.jsx("div",{className:"lotus-home-session-list",children:d.map(e=>s.jsx(x,{chat:e,onOpen:u,textSecondary:t.colorTextTertiary},e.id))})]}):null,j.length>0?s.jsxs("div",{className:"lotus-home-section",children:[s.jsxs("div",{className:"lotus-home-section-title",style:{color:t.colorTextSecondary},children:[s.jsx(k,{className:"lotus-home-section-icon"}),s.jsx("span",{children:n("home.sections.recent","Recent Sessions")})]}),s.jsx("div",{className:"lotus-home-session-list",children:j.map(e=>s.jsx(x,{chat:e,onOpen:u,textSecondary:t.colorTextTertiary},e.id))})]}):null,l.length===0?s.jsx("div",{className:"lotus-home-empty-hint",style:{color:t.colorTextTertiary},children:n("home.empty","No sessions yet. Create one to get started!")}):null]})]})})};export{U as HomeDashboard,U as default};