@bigduu/lotus 2026.7.9 → 2026.7.10

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 (99) hide show
  1. package/dist/assets/ChildApprovalDialog-BACU-UHB.js +1 -0
  2. package/dist/assets/CommandPalette-CoECdAB3.js +1 -0
  3. package/dist/assets/CommandSelector-CxGBTGVP.js +1 -0
  4. package/dist/assets/ContextBar-BQXKOU98.js +1 -0
  5. package/dist/assets/FilePreview-Xwi8sy95.js +1 -0
  6. package/dist/assets/FileReferenceSelector-DNssZZdw.js +1 -0
  7. package/dist/assets/HomeDashboard-BuZGani-.js +1 -0
  8. package/dist/assets/MetricsService-CPTVCb46.css +1 -0
  9. package/dist/assets/MetricsService-ONoKnIh7.js +261 -0
  10. package/dist/assets/{index-EeCSowUv.js → QuestionDialog-MUNyNFrs.js} +2 -2
  11. package/dist/assets/SessionSummaryCard-CDcQXP2r.js +1 -0
  12. package/dist/assets/{SubAgentsPanel-DfcoRpzb.js → SubAgentsPanel-DQ4kaBfC.js} +2 -2
  13. package/dist/assets/SystemPromptSelector-UmpFvZ48.js +1 -0
  14. package/dist/assets/SystemSettingsPage-DttJGoRi.js +22 -0
  15. package/dist/assets/TodoList-DFTVCv59.js +1 -0
  16. package/dist/assets/WorkspacePathModal-Bgc_A_By.js +1 -0
  17. package/dist/assets/{architectureDiagram-3BPJPVTR-zn4WxqxE.js → architectureDiagram-3BPJPVTR-dlYvytEO.js} +1 -1
  18. package/dist/assets/{blockDiagram-GPEHLZMM-Ch0Ziv1n.js → blockDiagram-GPEHLZMM-T3Wj_QR9.js} +2 -2
  19. package/dist/assets/{c4Diagram-AAUBKEIU-E8sZoNMD.js → c4Diagram-AAUBKEIU-Dhxf0vH_.js} +2 -2
  20. package/dist/assets/{chunk-4BX2VUAB-CqoBM7mt.js → chunk-4BX2VUAB-BDgnCZ9s.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN--PEq4c1n.js → chunk-QZHKN3VN-o4cwZNiB.js} +1 -1
  22. package/dist/assets/{chunk-727SXJPM-BBevu2P-.js → classDiagram-v2-Q7XG4LA2-CgnCJBL5.js} +52 -52
  23. package/dist/assets/{cose-bilkent-S5V4N54A-lHdLyyBT.js → cose-bilkent-S5V4N54A-CtngXIYN.js} +1 -1
  24. package/dist/assets/dagre-BM42HDAG-DGzB0HCl.js +4 -0
  25. package/dist/assets/{diagram-2AECGRRQ-BF9kNVCU.js → diagram-2AECGRRQ-BrMDFn9W.js} +1 -1
  26. package/dist/assets/diagram-5GNKFQAL-C0G8sR7p.js +10 -0
  27. package/dist/assets/{diagram-KO2AKTUF-Ca5AJNBH.js → diagram-KO2AKTUF-zN88hV_0.js} +3 -3
  28. package/dist/assets/{diagram-LMA3HP47-amJkFRYA.js → diagram-LMA3HP47-Lo5SPNUT.js} +1 -1
  29. package/dist/assets/diagram-OG6HWLK6-CW9E7Z2C.js +24 -0
  30. package/dist/assets/dist-js-BgoG8Mq6.js +1 -0
  31. package/dist/assets/{erDiagram-TEJ5UH35-BxoOik0u.js → erDiagram-TEJ5UH35-DJzO3nTw.js} +3 -3
  32. package/dist/assets/{flowDiagram-I6XJVG4X-dkeiO2hH.js → flowDiagram-I6XJVG4X-CxHzDR7K.js} +3 -3
  33. package/dist/assets/{ganttDiagram-6RSMTGT7-CswVWiU9.js → ganttDiagram-6RSMTGT7-CB64dkLu.js} +3 -3
  34. package/dist/assets/{gitGraphDiagram-PVQCEYII-Dd6AExxZ.js → gitGraphDiagram-PVQCEYII-CnFqqT1D.js} +3 -3
  35. package/dist/assets/{graph-BlwPajkw.js → graph-D-orRPRH.js} +1 -1
  36. package/dist/assets/index-CmG-lq98.js +1 -0
  37. package/dist/assets/{index.es-C0d2kHgW.js → index.es-DWpZqL6k.js} +1 -1
  38. package/dist/assets/{ishikawaDiagram-YF4QCWOH-DlSHp01F.js → ishikawaDiagram-YF4QCWOH-BRizUtpn.js} +5 -5
  39. package/dist/assets/{journeyDiagram-JHISSGLW-q9U7Sgre.js → journeyDiagram-JHISSGLW-xtP7c6ty.js} +4 -4
  40. package/dist/assets/{kanban-definition-UN3LZRKU-BnNVlM7m.js → kanban-definition-UN3LZRKU-BeUsBt2-.js} +7 -7
  41. package/dist/assets/main-BqC_Exqh.js +12 -0
  42. package/dist/assets/{mindmap-definition-RKZ34NQL-PSaSLfIp.js → mindmap-definition-RKZ34NQL-1zdOUQNR.js} +5 -5
  43. package/dist/assets/{pieDiagram-4H26LBE5-CnXe4K_Q.js → pieDiagram-4H26LBE5-DJ_1FVo5.js} +3 -3
  44. package/dist/assets/{quadrantDiagram-W4KKPZXB-CPY889f9.js → quadrantDiagram-W4KKPZXB-050I5rEb.js} +2 -2
  45. package/dist/assets/{requirementDiagram-4Y6WPE33-2korUSK9.js → requirementDiagram-4Y6WPE33-Cgj2jNdt.js} +3 -3
  46. package/dist/assets/{sankeyDiagram-5OEKKPKP-VqQwHzkn.js → sankeyDiagram-5OEKKPKP-sBdYskej.js} +1 -1
  47. package/dist/assets/{sequenceDiagram-3UESZ5HK-B-UbRHxC.js → sequenceDiagram-3UESZ5HK-uR8MmFTD.js} +4 -4
  48. package/dist/assets/stateDiagram-AJRCARHV-D9bdkqrp.js +1 -0
  49. package/dist/assets/{chunk-AQP2D5EJ-BoimMEmP.js → stateDiagram-v2-BHNVJYJU-CDyO4vdo.js} +4 -4
  50. package/dist/assets/{timeline-definition-PNZ67QCA-CBk63lxT.js → timeline-definition-PNZ67QCA-Cvka5aQz.js} +3 -3
  51. package/dist/assets/{vendor-antd-C-pjKgeW.js → vendor-antd-IzIw5qDM.js} +1 -1
  52. package/dist/assets/{vendor-charts-Bd0YvT0v.js → vendor-charts-C4yz1MTr.js} +1 -1
  53. package/dist/assets/{vendor-markdown-CARODNj-.js → vendor-markdown-Bz_2-zkk.js} +1 -1
  54. package/dist/assets/{vendor-mermaid-RKNJ-cQ7.js → vendor-mermaid-BpMBvNAR.js} +5 -5
  55. package/dist/assets/{vendor-pdf-t6zJ6Yt2.js → vendor-pdf-DICKSNGW.js} +4 -4
  56. package/dist/assets/{vennDiagram-CIIHVFJN-CfuV7x76.js → vennDiagram-CIIHVFJN-BVLbGxeg.js} +4 -4
  57. package/dist/assets/{wardley-L42UT6IY-BNWzkDHh.js → wardley-L42UT6IY-B2hLYWMF.js} +53 -52
  58. package/dist/assets/{wardleyDiagram-YWT4CUSO-CZKpXhFc.js → wardleyDiagram-YWT4CUSO-tYh4fP5I.js} +4 -4
  59. package/dist/assets/{xychartDiagram-2RQKCTM6-D97S91oO.js → xychartDiagram-2RQKCTM6-FXn27YFi.js} +3 -3
  60. package/dist/index.html +16 -5
  61. package/package.json +1 -1
  62. package/dist/assets/App-BbO6pZGu.js +0 -247
  63. package/dist/assets/App-xovo7L2Z.css +0 -1
  64. package/dist/assets/FeatureGuide-C6ZU-khJ.js +0 -1
  65. package/dist/assets/MachineTag-B76KAFbJ.js +0 -1
  66. package/dist/assets/MetricsService-C90ALhMS.js +0 -1
  67. package/dist/assets/chunk-2J33WTMH-Bb08FhRS.js +0 -1
  68. package/dist/assets/chunk-55IACEB6-CuagtSth.js +0 -1
  69. package/dist/assets/chunk-FMBD7UC4-Ds8zFWzV.js +0 -15
  70. package/dist/assets/chunk-ND2GUHAM-CWCqbI2E.js +0 -1
  71. package/dist/assets/classDiagram-4FO5ZUOK-Cb6_vGRW.js +0 -1
  72. package/dist/assets/classDiagram-v2-Q7XG4LA2-Cb6_vGRW.js +0 -1
  73. package/dist/assets/core-Cfh-QHsP.js +0 -1
  74. package/dist/assets/dagre-BM42HDAG-DzbtYvED.js +0 -4
  75. package/dist/assets/diagram-5GNKFQAL-BXcYsUYI.js +0 -10
  76. package/dist/assets/diagram-OG6HWLK6-CaFeFER9.js +0 -24
  77. package/dist/assets/en-US-BrF2u6up.js +0 -3
  78. package/dist/assets/index-B8CHauZa.js +0 -1
  79. package/dist/assets/index-BQ68M6ks.js +0 -1
  80. package/dist/assets/index-BQloTnmU.js +0 -1
  81. package/dist/assets/index-BR_Vstvx.js +0 -22
  82. package/dist/assets/index-BmjFP0ha.js +0 -1
  83. package/dist/assets/index-CA2bZRdR.js +0 -1
  84. package/dist/assets/index-CIy8jvyx.js +0 -1
  85. package/dist/assets/index-D9j5B6hj.js +0 -1
  86. package/dist/assets/index-DCSLre-B.js +0 -1
  87. package/dist/assets/index-Dh4pBGzl.js +0 -1
  88. package/dist/assets/index-Duf3d-S6.js +0 -1
  89. package/dist/assets/index-EgRLn-Uk.js +0 -1
  90. package/dist/assets/index-LBYJ_hLj.js +0 -1
  91. package/dist/assets/index-TahpVE7K.js +0 -1
  92. package/dist/assets/index-_XI0Qq6F.js +0 -1
  93. package/dist/assets/infoDiagram-5YYISTIA-D0lt97Qw.js +0 -2
  94. package/dist/assets/layout-Boy8vhSP.js +0 -1
  95. package/dist/assets/main-Bra_iqhj.js +0 -8
  96. package/dist/assets/onboardingStorage-BVcEpmTy.js +0 -1
  97. package/dist/assets/stateDiagram-AJRCARHV-DFaTkWDQ.js +0 -1
  98. package/dist/assets/stateDiagram-v2-BHNVJYJU-CnbekWW3.js +0 -1
  99. package/dist/assets/zh-CN-CVlaaAdZ.js +0 -3
@@ -1 +0,0 @@
1
- import{i as a}from"./core-Cfh-QHsP.js";async function r(e={}){return typeof e=="object"&&Object.freeze(e),await a("plugin:dialog|save",{options:e})}export{r as save};
@@ -1 +0,0 @@
1
- import{j as t}from"./vendor-markdown-CARODNj-.js";import{u as P,a as T}from"./vendor-i18n-Dm-c3D_C.js";import{u as y,w as V,y as k,x as v}from"./App-BbO6pZGu.js";import{M as w}from"./MachineTag-B76KAFbJ.js";import{Q as I,D as n,x as c,a1 as R,ap as S,an as C,aq as $,ak as E,t as M}from"./vendor-antd-C-pjKgeW.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.js";const{useToken:F}=M,O=l=>{const o=l.replace(/\/$/,"").split("/").filter(Boolean);return o.length<=2?l:`~/${o.slice(-2).join("/")}`},J=({sessionId:l})=>{const{t:o}=P(),{token:x}=F(),e=y(V(l)),f=y(a=>a.systemPrompts),r=e==null?void 0:e.config.workspacePath,i=e==null?void 0:e.config.systemPromptId,s=e==null?void 0:e.config.tokenUsage,B=(e==null?void 0:e.config.compressionEvents)??[],h=(e==null?void 0:e.placement)??null,m=T.useMemo(()=>{if(!i)return null;const a=f.find(N=>N.id===i);return(a==null?void 0:a.name)||i},[i,f]),p=T.useMemo(()=>e!=null&&e.messages?e.messages.filter(a=>a.role==="user"&&"type"in a&&a.type==="file_reference").length:0,[e==null?void 0:e.messages]);if(!e)return null;const g=(s==null?void 0:s.summaryTokens)??0,b=B.length,d=(s==null?void 0:s.promptCachedToolOutputs)??0,u=(s==null?void 0:s.promptCachedToolTokensSaved)??0,j=g>0||b>0,_=d>0||u>0;return h||r||m||p>0||j||_?t.jsx("div",{className:"lotus-context-bar",style:{borderBottomColor:x.colorBorderSecondary,backgroundColor:x.colorBgContainer},children:t.jsxs(I,{align:"center",gap:6,wrap:"wrap",className:"lotus-context-bar__content",children:[t.jsx(w,{placement:h}),r&&t.jsx(n,{title:o("chat.contextBar.workspaceTooltip",{path:r,defaultValue:"Workspace context: {{path}}"}),children:t.jsxs(c,{className:"lotus-context-bar__tag",icon:t.jsx(R,{}),bordered:!1,children:[t.jsx("span",{className:"lotus-context-bar__tag-label",children:o("chat.contextBar.workspace",{defaultValue:"Workspace"})}),O(r)]})}),p>0&&t.jsx(n,{title:o("chat.contextBar.fileRefsTooltip",{count:p,defaultValue:"{{count}} file reference(s) in this session"}),children:t.jsxs(c,{className:"lotus-context-bar__tag",icon:t.jsx(S,{}),bordered:!1,children:[t.jsx("span",{className:"lotus-context-bar__tag-label",children:o("chat.contextBar.files",{defaultValue:"Files"})}),p]})}),m&&t.jsx(n,{title:o("chat.contextBar.promptTooltip",{name:m,defaultValue:"System prompt: {{name}}"}),children:t.jsxs(c,{className:"lotus-context-bar__tag",icon:t.jsx(C,{}),bordered:!1,children:[t.jsx("span",{className:"lotus-context-bar__tag-label",children:o("chat.contextBar.prompt",{defaultValue:"Prompt"})}),m]})}),j&&t.jsx(n,{title:o("chat.contextBar.summaryTooltip",{tokens:k(g),count:b,defaultValue:"Conversation summary contributes {{tokens}} tokens. {{count}} compression event(s) archived older messages."}),children:t.jsx(c,{className:"lotus-context-bar__tag lotus-context-bar__tag--signal",icon:t.jsx($,{}),bordered:!1,color:"gold",children:o("chat.contextBar.summary",{defaultValue:"Summary"})})}),_&&t.jsx(n,{title:o("chat.contextBar.promptCacheTooltip",{count:d,tokens:k(u),defaultValue:"{{count}} tool output(s) were compacted into prompt-side cache notes, saving {{tokens}} tokens."}),children:t.jsxs(c,{className:"lotus-context-bar__tag lotus-context-bar__tag--signal",icon:t.jsx(E,{}),bordered:!1,color:"green",children:[t.jsx("span",{className:"lotus-context-bar__tag-label",children:o("chat.contextBar.promptCache",{defaultValue:"Prompt cache"})}),u>0?v(u):d]})})]})}):null};export{J as ContextBar,J as default};
@@ -1 +0,0 @@
1
- import{j as e}from"./vendor-markdown-CARODNj-.js";import{R as A,u as S,a as N}from"./vendor-i18n-Dm-c3D_C.js";import{u as g,i as T,j as w,k as B}from"./App-BbO6pZGu.js";/* empty css */import{A as $,j as b,o as k,B as y,q as F,u as I,t as R}from"./vendor-antd-C-pjKgeW.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.js";const s={questionCard:"qd-questionCard",questionHeader:"qd-questionHeader",headerLeft:"qd-headerLeft",questionIcon:"qd-questionIcon",questionText:"qd-questionText",questionBody:"qd-questionBody",questionFooter:"qd-questionFooter"},{Text:c}=b,{useToken:z}=R,j=({sessionId:a})=>{const{t:o}=S(),{token:r}=z(),{message:i}=$.useApp(),[n,d]=N.useState(!1),m=g(T(a)),l=g(p=>p.clearPendingChildApproval);if(!m)return null;const{childSessionId:f,requestId:C,toolName:u,permission:h,resource:v}=m,q=async p=>{d(!0);try{(await w.respondToChildApproval(f,C,p)).delivered||i.warning(o("components.approval.childGone")),l(a)}catch(t){console.error("Failed to respond to child approval:",t),B(t)&&t.status===404?(i.warning(o("components.approval.childGone")),l(a)):i.error(o("components.approval.deliverFailed"))}finally{d(!1)}},x=[u?`${o("components.approval.toolName")}: ${u}`:null,h?`${o("components.approval.permission")}: ${h}`:null,v?`${o("components.approval.target")}: ${v}`:null].filter(Boolean).join(" · ");return e.jsxs("div",{className:s.questionCard,style:{background:r.colorBgContainer,borderColor:r.colorBorderSecondary,border:`1px solid ${r.colorBorderSecondary}`},children:[e.jsx("div",{className:s.questionHeader,children:e.jsxs("span",{className:s.headerLeft,children:[e.jsx("span",{className:s.questionIcon,children:"🛡️"}),e.jsx(c,{strong:!0,className:s.questionText,style:{color:r.colorPrimary,whiteSpace:"pre-wrap"},children:o("components.approval.childTitle")})]})}),e.jsxs("div",{className:s.questionBody,children:[e.jsx(c,{style:{color:r.colorText,whiteSpace:"pre-wrap"},children:o("components.approval.childQuestion")}),x&&e.jsx("div",{style:{marginTop:r.marginXXS},children:e.jsx(c,{type:"secondary",style:{fontSize:12,whiteSpace:"pre-wrap"},children:x})}),e.jsx("div",{className:s.questionFooter,children:e.jsxs(k,{size:8,children:[e.jsx(y,{type:"primary",size:"small",icon:e.jsx(F,{}),onClick:()=>void q(!0),loading:n,disabled:n,children:o("components.approval.approve")}),e.jsx(y,{danger:!0,size:"small",icon:e.jsx(I,{}),onClick:()=>void q(!1),loading:n,disabled:n,children:o("components.approval.deny")})]})})]})]})};j.displayName="ChildApprovalDialog";const D=A.memo(j);D.displayName="ChildApprovalDialog";export{D as ChildApprovalDialog,D as default};
@@ -1 +0,0 @@
1
- import{j as e}from"./vendor-markdown-CARODNj-.js";import{u as I,a}from"./vendor-i18n-Dm-c3D_C.js";import{U as z,I as D,a0 as R,J as w,o as y,a1 as b,$ as X,j as M,B as k,a2 as L,a3 as $,t as A}from"./vendor-antd-C-pjKgeW.js";const{Text:x}=M,{useToken:B}=A,P=({visible:c,files:l,searchText:d,loading:h,error:g,onSelect:f,onCancel:m,onChangeWorkspace:j})=>{const{token:s}=B(),{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($,{size:"small"})]}),extra:e.jsxs(y,{size:s.marginXS,children:[j&&e.jsx(k,{type:"text",size:"small",icon:e.jsx(L,{}),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 +0,0 @@
1
- import{j as n}from"./vendor-markdown-CARODNj-.js";import{u as V,a as d}from"./vendor-i18n-Dm-c3D_C.js";import{u as h,b as H,l as W,m as B,n as T,o as Q,A as z,p as G,q as Y,t as J}from"./App-BbO6pZGu.js";import{t as X,A as Z,aa as ee,a5 as te,ab as se,ac as ne,ad as oe,ae,af as ie,ag as le,a8 as re,ah as de,a9 as ce,j as me,W as ue,ai as pe,x as ge}from"./vendor-antd-C-pjKgeW.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.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}=X.useToken(),a=typeof document<"u"&&document.body.getAttribute("data-vdi-safe")==="true",{message:i}=Z.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])=>J(s.phase)).map(([s])=>s).sort())),[b,f]=d.useState(()=>typeof window>"u"?!1:window[v]?(delete window[v],!0):!1),[j,x]=d.useState(""),[k,S]=d.useState(0),E=d.useRef(null),M=d.useRef(null),C=W(t=>t.open),O=B(t=>t.toggleTheme),I=B(t=>t.themeMode),K=T(t=>t.sidebar.collapsed),L=T(t=>t.setSidebarCollapsed),A=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}=T.getState();y(r,m),U(r)},[P,c,l,e]),_=d.useMemo(()=>{const t=fe.filter(s=>!(A==="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}=T.getState();G(s).length<4&&r(m,"vertical")}},...t,{id:"toggle-experience-mode",kind:"action",title:A==="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:A==="simple"?"Simple":"Advanced",onSelect:()=>{N()}}]},[R,C,O,I,K,L,A,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,j).slice(0,40),[F,j]);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=E.current)==null||s.focus(),(m=E.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:E,value:j,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 +0,0 @@
1
- import{j as t,M as E,r as F,h as H}from"./vendor-markdown-CARODNj-.js";import{i as I,u as G,a as p}from"./vendor-i18n-Dm-c3D_C.js";import{o as y,B as L,U as X,j as B,J as A,n as Y,x as f,at as J,au as N,av as O,aw as U,a8 as q,a0 as K,N as Q,t as V}from"./vendor-antd-C-pjKgeW.js";import{F as W,u as z,G as Z}from"./App-BbO6pZGu.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.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(L,{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:v,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(v,{strong:!0,children:r.name||r.id}),t.jsx("div",{children:t.jsx(v,{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(L,{type:"text",size:"small",icon:l?t.jsx(J,{}):t.jsx(N,{}),onClick:c=>{c.stopPropagation(),h(r.id)},children:i(l?"chat.systemPromptSelector.hide":"chat.systemPromptSelector.preview")}),t.jsx(L,{type:"text",size:"small",icon:t.jsx(O,{}),onClick:c=>a(c,r),children:i("chat.systemPromptSelector.copy")})]})]}),r.description?t.jsx(v,{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]=U.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(q,{title:t.jsxs(y,{children:[t.jsx(Q,{}),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 +0,0 @@
1
- var te=Object.defineProperty;var se=(i,t,s)=>t in i?te(i,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[t]=s;var D=(i,t,s)=>se(i,typeof t!="symbol"?t+"":t,s);import{j as e}from"./vendor-markdown-CARODNj-.js";import{u as C,a as o,i as J}from"./vendor-i18n-Dm-c3D_C.js";import{S as L,H as ae}from"./App-BbO6pZGu.js";import{A as O,t as Y,j as V,a8 as N,o as k,B as T,aB as Z,aC as re,q as ie,aD as Q,U as ne,a3 as q,a0 as B,J as W,a1 as E,Q as M,aE as K,aF as ce,z as oe,V as le,I as $,a9 as de,aG as he}from"./vendor-antd-C-pjKgeW.js";import"./main-Bra_iqhj.js";import"./vendor-mermaid-RKNJ-cQ7.js";const pe=({visible:i,onClose:t,onSelect:s})=>{const{t:c}=C(),{message:r}=O.useApp(),{token:a}=Y.useToken(),{Text:n}=V,[u,j]=o.useState(!1),[l,m]=o.useState(""),[g,I]=o.useState(),[b,w]=o.useState([]),[v,f]=o.useState([]);o.useEffect(()=>{i&&y()},[i]);const y=async d=>{j(!0);try{const p=await L.browseFolder(d);m(p.current_path),I(p.parent_path),w(p.folders)}catch(p){console.error(c("chat.folderBrowser.readFolderError"),p),r.error(c("chat.folderBrowser.readFolderError"))}finally{j(!1)}},x=d=>{f([...v,l]),y(d.path)},F=()=>{g&&(f(v.slice(0,-1)),y(g))},R=()=>{f([]),y()},P=()=>{s(l),t()},S=()=>{if(!l)return[];const d=l.split(/[/\\]/).filter(Boolean);return l.startsWith("/")&&d.unshift("/"),d},_=d=>{const A=S().slice(0,d+1).join("/"),H=(l.startsWith("/"),A);y(H)};return e.jsx(N,{title:c("chat.folderBrowser.title"),open:i,onCancel:t,width:700,footer:null,children:e.jsxs(k,{direction:"vertical",size:"middle",style:{width:"100%"},children:[e.jsxs(k,{children:[e.jsx(T,{icon:e.jsx(Z,{}),onClick:R,size:"small",children:c("common.home")}),e.jsx(T,{icon:e.jsx(re,{}),onClick:F,disabled:!g,size:"small",children:c("common.parentDirectory")}),e.jsx(T,{type:"primary",icon:e.jsx(ie,{}),onClick:P,size:"small",children:c("chat.folderBrowser.selectCurrent")})]}),e.jsx(Q,{children:S().map((d,p)=>e.jsx(Q.Item,{children:e.jsx(T,{type:"link",size:"small",onClick:()=>_(p),style:{padding:0},children:d==="/"?e.jsx(Z,{}):d})},S().slice(0,p+1).join("/")))}),e.jsxs(ne,{size:"small",styles:{body:{padding:a.paddingXS}},children:[e.jsx(n,{type:"secondary",style:{fontSize:12},children:c("common.currentPath")})," ",e.jsx(n,{code:!0,children:l})]}),e.jsx(q,{spinning:u,children:b.length===0&&!u?e.jsx(B,{image:B.PRESENTED_IMAGE_SIMPLE,description:e.jsx(n,{type:"secondary",children:c("chat.folderBrowser.emptyFolder")})}):e.jsx(W,{dataSource:b,style:{maxHeight:400,overflowY:"auto"},renderItem:d=>e.jsx(W.Item,{style:{padding:0},children:e.jsx(T,{type:"text",icon:e.jsx(E,{}),onClick:()=>x(d),style:{width:"100%",textAlign:"left",padding:`${a.paddingXS}px ${a.paddingSM}px`},children:d.name})})})}),e.jsx(n,{type:"secondary",style:{fontSize:12},children:c("chat.folderBrowser.tip")})]})})};class ue{constructor(t={}){D(this,"cache",new Map);D(this,"pendingValidations",new Map);D(this,"options");this.options={debounceMs:t.debounceMs??300,cacheTimeoutMs:t.cacheTimeoutMs??5*60*1e3,maxRetries:t.maxRetries??3}}async validateWorkspace(t){if(!t||t.trim().length===0)return{path:"",is_valid:!1,error_message:J.t("chat.workspace.errorEnterPath")};const s=t.trim(),c=this.getCachedResult(s);if(c)return c;const r=this.pendingValidations.get(s);if(r)return r;const a=this.performValidation(s);this.pendingValidations.set(s,a);try{const n=await a;return this.setCachedResult(s,n),n}finally{this.pendingValidations.delete(s)}}validateWorkspaceDebounced(t,s){const r=setTimeout(async()=>{try{const a=await this.validateWorkspace(t);s(a)}catch(a){const n={path:t,is_valid:!1,error_message:a instanceof Error?a.message:J.t("chat.workspace.checkDescription")};s(n)}},this.options.debounceMs);return()=>{clearTimeout(r)}}clearCache(){this.cache.clear()}getCachedResult(t){const s=this.cache.get(t);return s?Date.now()-s.timestamp>this.options.cacheTimeoutMs?(this.cache.delete(t),null):s.result:null}setCachedResult(t,s){this.cache.set(t,{result:s,timestamp:Date.now()})}async performValidation(t,s=0){try{return await ae.post("workspace/validate",{path:t})}catch(c){if(s<this.options.maxRetries&&this.isRetryableError(c))return await this.delay(Math.pow(2,s)*1e3),this.performValidation(t,s+1);throw c}}isRetryableError(t){return t instanceof Error?t.message.includes("Failed to fetch")||t.message.includes("HTTP error! status: 5"):!1}delay(t){return new Promise(s=>setTimeout(s,t))}async validateMultiplePaths(t){const c=[];for(let r=0;r<t.length;r+=5){const a=t.slice(r,r+5),n=await Promise.all(a.map(u=>this.validateWorkspace(u)));c.push(...n),r+5<t.length&&await this.delay(100)}return c}}const ge=new ue,me=({value:i="",onChange:t,showRecentWorkspaces:s,showSuggestions:c,onValidationChange:r})=>{const{message:a}=O.useApp(),{t:n}=C(),[u,j]=o.useState(i),[l,m]=o.useState({isValidating:!1,result:null}),[g,I]=o.useState([]),[b,w]=o.useState(!1),[v,f]=o.useState([]),[y,x]=o.useState(!1),[F,R]=o.useState(!1),P=o.useRef(null),S=o.useRef(null);o.useEffect(()=>{j(i)},[i]);const _=o.useCallback(async()=>{x(!0);try{const h=await L.getRecentWorkspaces();I(h.slice(0,5))}catch(h){console.error("Failed to load recent workspaces:",h),I([])}finally{x(!1)}},[]),d=o.useCallback(async()=>{R(!0);try{const h=await L.getPathSuggestions();f(h.suggestions.slice(0,8))}catch(h){console.error("Failed to load suggestions:",h),f([])}finally{R(!1)}},[]);o.useEffect(()=>{s&&_(),c&&d();const h=P.current,z=S.current;return()=>{h&&h.abort(),z&&z()}},[s,c,_,d]);const p=o.useCallback(h=>{j(h),t&&t(h),P.current&&P.current.abort(),S.current&&S.current(),h.trim()?(m({isValidating:!0,result:null}),S.current=ge.validateWorkspaceDebounced(h.trim(),z=>{m({isValidating:!1,result:z}),r&&r(z)})):(m({isValidating:!1,result:null}),r&&r(null))},[t,r]),A=o.useCallback(()=>{w(!0)},[]),H=o.useCallback(h=>{p(h),a.success(n("chat.workspace.folderSelected"))},[p,a,n]),ee=o.useCallback(h=>{p(h)},[p]);return{path:u,validationStatus:l,recentWorkspaces:g,suggestions:v,isLoadingRecent:y,isLoadingSuggestions:F,folderBrowserVisible:b,setFolderBrowserVisible:w,handlePathChange:p,handleBrowseClick:A,handleFolderSelect:H,handleWorkspaceSelect:ee}},{Text:X}=V,xe=({show:i,isLoading:t,recentWorkspaces:s,onSelect:c,token:r})=>{const{t:a}=C();return i?e.jsxs(M,{vertical:!0,gap:r.marginXS,style:{marginTop:r.marginMD},children:[e.jsxs(k,{style:{paddingInline:r.paddingSM},children:[e.jsx(K,{}),e.jsx(X,{strong:!0,children:a("chat.workspace.recentTitle")})]}),t?e.jsx(M,{justify:"center",style:{padding:r.paddingSM},children:e.jsx(q,{size:"small"})}):s.length===0?e.jsx(B,{description:a("chat.workspace.noRecentWorkspaces"),image:B.PRESENTED_IMAGE_SIMPLE,style:{padding:r.paddingSM}}):e.jsx(W,{size:"small",dataSource:s,style:{paddingInline:r.paddingSM},renderItem:n=>e.jsx(W.Item,{style:{padding:0},children:e.jsx(T,{type:"text",onClick:()=>c(n.path),style:{width:"100%",textAlign:"left",padding:`${r.paddingXS}px 0`,height:"auto"},children:e.jsxs(M,{justify:"space-between",align:"center",style:{width:"100%"},children:[e.jsxs(k,{children:[e.jsx(E,{style:{color:r.colorWarning}}),e.jsx(X,{strong:!0,children:n.workspace_name||n.path.split("/").pop()||a("chat.workspace.defaultWorkspaceName")})]}),e.jsx(X,{type:"secondary",ellipsis:{tooltip:n.path},style:{fontSize:12,maxWidth:"55%",textAlign:"right"},children:n.path})]})})})})]}):null},{Text:G}=V,fe=(i,t)=>{switch(i.suggestion_type){case"home":return e.jsx(Z,{style:{color:t.colorPrimary}});case"documents":case"desktop":case"downloads":return e.jsx(E,{style:{color:t.colorSuccess}});case"recent":return e.jsx(K,{style:{color:t.colorWarning}});default:return e.jsx(E,{})}},ye=({show:i,isLoading:t,suggestions:s,onSelect:c,token:r})=>{const{t:a}=C();return i?e.jsxs(M,{vertical:!0,gap:r.marginXS,style:{marginTop:r.marginMD},children:[e.jsxs(k,{style:{paddingInline:r.paddingSM},children:[e.jsx(E,{}),e.jsx(G,{strong:!0,children:a("chat.workspace.suggestedTitle")})]}),t?e.jsx(M,{justify:"center",style:{padding:r.paddingSM},children:e.jsx(q,{size:"small"})}):s.length===0?e.jsx(B,{description:a("chat.workspace.noSuggestions"),image:B.PRESENTED_IMAGE_SIMPLE,style:{padding:r.paddingSM}}):e.jsx(W,{size:"small",dataSource:s,style:{paddingInline:r.paddingSM},renderItem:n=>e.jsx(W.Item,{style:{padding:0},children:e.jsx(T,{type:"text",onClick:()=>c(n.path),style:{width:"100%",textAlign:"left",padding:`${r.paddingXS}px 0`,height:"auto"},children:e.jsxs(M,{justify:"space-between",align:"center",style:{width:"100%"},children:[e.jsxs(k,{children:[fe(n,r),e.jsx(G,{strong:!0,children:n.name})]}),e.jsx(G,{type:"secondary",ellipsis:{tooltip:n.path},style:{fontSize:12,maxWidth:"55%",textAlign:"right"},children:n.path})]})})})})]}):null},je=({isValidating:i,result:t,token:s})=>i?e.jsx(ce,{style:{color:s.colorPrimary}}):t?t.is_valid?e.jsx(oe,{style:{color:s.colorSuccess}}):e.jsx(le,{style:{color:s.colorError}}):null,{Text:U}=V,we=({result:i,token:t})=>{const{t:s}=C();return i?e.jsx("div",{style:{marginTop:t.marginXS},children:i.is_valid?e.jsx($,{type:"success",message:e.jsxs(k,{children:[e.jsx("span",{children:s("chat.workspace.validWorkspace")}),i.workspace_name&&e.jsxs(U,{type:"secondary",children:["(",i.workspace_name,")"]}),i.file_count!==void 0&&e.jsx(U,{type:"secondary",children:s("chat.workspace.fileCount",{count:i.file_count})})]}),showIcon:!0}):e.jsx($,{type:"error",message:i.error_message||s("validation.invalidPath"),showIcon:!0})}):null},{Text:Se}=V,ke=({value:i="",onChange:t,placeholder:s,disabled:c=!1,allowBrowse:r=!0,showRecentWorkspaces:a=!0,showSuggestions:n=!0,onValidationChange:u,className:j,style:l})=>{const{t:m}=C(),{token:g}=Y.useToken(),I=s??m("chat.workspace.placeholder"),{path:b,validationStatus:w,recentWorkspaces:v,suggestions:f,isLoadingRecent:y,isLoadingSuggestions:x,folderBrowserVisible:F,setFolderBrowserVisible:R,handlePathChange:P,handleBrowseClick:S,handleFolderSelect:_,handleWorkspaceSelect:d}=me({value:i,onChange:t,showRecentWorkspaces:a,showSuggestions:n,onValidationChange:u});return e.jsxs("div",{className:j,style:l,children:[e.jsx(de,{value:b,onChange:p=>P(p.target.value),placeholder:I,disabled:c,size:"middle",style:{width:"100%"},suffix:e.jsx(je,{isValidating:w.isValidating,result:w.result,token:g}),addonBefore:e.jsxs(k,{children:[e.jsx(E,{}),e.jsx(Se,{children:m("chat.workspace.label")})]}),addonAfter:r?e.jsx(T,{"aria-label":m("chat.workspace.browseFolder"),title:m("chat.workspace.browseFolder"),icon:e.jsx(E,{}),onClick:S,disabled:c,type:"text",size:"middle",style:{display:"inline-flex",alignItems:"center"}}):void 0}),e.jsx(we,{result:w.result,token:g}),(a||n)&&e.jsxs(e.Fragment,{children:[e.jsx(he,{style:{margin:"16px 0 12px 0"}}),e.jsx(xe,{show:a,isLoading:y,recentWorkspaces:v,onSelect:d,token:g}),e.jsx(ye,{show:n,isLoading:x,suggestions:f,onSelect:d,token:g})]}),e.jsx(pe,{visible:F,onClose:()=>R(!1),onSelect:_})]})},{Title:Ie}=V,_e=({open:i,initialPath:t="",loading:s=!1,onSubmit:c,onCancel:r})=>{const{t:a}=C(),{message:n}=O.useApp(),[u,j]=o.useState(t),[l,m]=o.useState(null),[g,I]=o.useState(!1);o.useEffect(()=>{i&&(j(t),m(null))},[i,t]);const b=x=>{j(x)},w=x=>{m(x)},v=async()=>{if(!u.trim()){n.error(a("chat.workspace.errorEnterPath"));return}l&&!l.is_valid?N.confirm({title:a("chat.workspace.invalidTitle"),content:e.jsxs("div",{children:[e.jsx("p",{children:a("chat.workspace.issuesDetected")}),e.jsx("p",{children:l.error_message||a("chat.workspace.invalidTitle")}),e.jsx("p",{children:a("chat.workspace.confirmSaveInvalid")})]}),okText:a("common.saveAnyway"),cancelText:a("common.cancel"),onOk:()=>f()}):f()},f=async()=>{I(!0);try{l!=null&&l.is_valid&&await L.addRecentWorkspace(u.trim(),{workspace_name:l.workspace_name}),c(u.trim())}catch(x){console.error("Failed to save workspace path:",x),n.error(a("chat.workspace.errorSaveFailed"))}finally{I(!1)}},y=!u.trim()||s||g;return e.jsx(N,{open:i,title:e.jsx(k,{children:e.jsx(Ie,{level:4,style:{margin:0},children:a("chat.workspace.modalTitle")})}),okText:a("common.save"),cancelText:a("common.cancel"),onOk:v,onCancel:r,okButtonProps:{disabled:y,loading:g||s},width:600,destroyOnClose:!0,children:e.jsxs(k,{direction:"vertical",size:"middle",style:{width:"100%"},children:[e.jsx($,{message:a("chat.workspace.descriptionTitle"),description:e.jsxs("div",{children:[e.jsx("p",{children:a("chat.workspace.descriptionP1")}),e.jsx("p",{children:a("chat.workspace.descriptionP2")})]}),type:"info",showIcon:!0}),e.jsx(ke,{value:u,onChange:b,onValidationChange:w,placeholder:a("chat.workspace.placeholder"),disabled:g,allowBrowse:!0,showRecentWorkspaces:!0,showSuggestions:!0}),l&&!l.is_valid&&e.jsx($,{message:a("chat.workspace.checkTitle"),description:l.error_message||a("chat.workspace.checkDescription"),type:"warning",showIcon:!0})]})})};export{_e as default};
@@ -1 +0,0 @@
1
- import{j as o}from"./vendor-markdown-CARODNj-.js";import{u as O,R as Q,a as B}from"./vendor-i18n-Dm-c3D_C.js";import{u as y,I as w}from"./App-BbO6pZGu.js";import{t as G,o as h,v as J,j as U,w as v,x as f,y as V,z as F,D as I,E as q,F as Y,G as Z,k as oo,H as X,I as so,P as eo,J as E,N as to,O as no,Q as ro,U as lo,V as io,W as ao}from"./vendor-antd-C-pjKgeW.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.js";const{Text:p}=U,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}=O(),{token:e}=G.useToken(),W=Q.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]=B.useState(K),[i,A]=B.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(),A(!i),i||R(!1)},{title:M,items:N,progress:d}=T,L=d.percentage===100,_=o.jsxs(h,{onClick:C,style:{cursor:"pointer",width:"100%"},size:t?6:8,children:[o.jsx(J,{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(V,{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(q,{}):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:N,renderItem:s=>{var z,P;const c=W[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")]}),((P=s.depends_on)==null?void 0:P.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 +0,0 @@
1
- import{j as s}from"./vendor-markdown-CARODNj-.js";import{u as M,a as S}from"./vendor-i18n-Dm-c3D_C.js";import{u as w,w as I,x as b,y as T,I as W}from"./App-BbO6pZGu.js";import{m as A}from"./MetricsService-C90ALhMS.js";import{t as B,al as D,ag as $,am as R,$ as _,D as v,an as k,k as F,ao as L,W as z,x as O}from"./vendor-antd-C-pjKgeW.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.js";const N=new Map,P=new Set(["Write","Edit","apply_patch","NotebookEdit"]),H=l=>{const n=l.match(/(?:file_path|Wrote file|Edited file)[:\s]*["']?([^\s"',]+)/i);if(n){const o=n[1];return o.split("/").pop()||o}return null},K=(l,n)=>{const o=n-l;if(o<0)return"";const e=Math.floor(o/1e3);if(e<60)return`${e}s`;const i=Math.floor(e/60);return i<60?`${i}m ${e%60}s`:`${Math.floor(i/60)}h ${i%60}m`},U=l=>{var p,j;let n=0,o=0,e=0,i=0,y=!1,x=0,d="";const h=new Set;let u=0,t=0;for(const a of l){const c=a.createdAt?new Date(a.createdAt).getTime():0;if(c>0&&(u===0||c<u)&&(u=c),c>t&&(t=c),a.isCompressed){y=!0,x++;continue}if(a.role==="user"&&!("type"in a&&a.type==="file_reference")&&n++,a.role==="assistant"){if("type"in a&&a.type==="tool_call"&&(e+=((p=a.toolCalls)==null?void 0:p.length)??0),"type"in a&&a.type==="tool_result"){const m=a;if(m.isError&&i++,P.has(m.toolName)){const f=H(((j=m.result)==null?void 0:j.result)??"");f&&h.add(f)}}if("type"in a&&a.type==="text"){o++;const m=a.content||"";m.length>0&&m.length>30&&(d=m.slice(0,300))}}}return{messageCount:l.length,userMessageCount:n,assistantMessageCount:o,toolCallCount:e,toolErrorCount:i,fileChanges:Array.from(h).slice(0,10),lastAssistantExcerpt:d,hasCompression:y,compressionCount:x,duration:u>0&&t>u?K(u,t):""}},Z=({sessionId:l,compact:n=!1})=>{const{t:o}=M(),{token:e}=B.useToken(),[i,y]=S.useState(!1),[x,d]=S.useState(()=>N.get(l)),h=w(I(l)),u=h==null?void 0:h.messages,t=S.useMemo(()=>!u||u.length===0?null:U(u),[u]);if(S.useEffect(()=>{let r=!1;const g=N.get(l);return g!==void 0?(d(g),()=>{r=!0}):(d(void 0),A.getSessionDetail(l).then(C=>{if(r)return;const E=(C==null?void 0:C.session)??null;N.set(l,E),d(E)},()=>{r||(N.set(l,null),d(null))}),()=>{r=!0})},[l]),!t||t.messageCount<3)return null;const p=t.fileChanges.length>0,j=t.lastAssistantExcerpt.length>0,a=n&&p?t.fileChanges:[],c=x==null?void 0:x.total_token_usage,m=c?b(c.total_tokens):null,f=c?s.jsxs("div",{style:{minWidth:180},children:[s.jsx("div",{style:{fontWeight:600,marginBottom:4},children:o("sessionSummary.totalTokens","Total tokens")}),s.jsxs("div",{children:[o("sessionSummary.promptTokens","Prompt"),":"," ",T(c.prompt_tokens)]}),s.jsxs("div",{children:[o("sessionSummary.completionTokens","Completion"),":"," ",T(c.completion_tokens)]}),s.jsxs("div",{children:[o("sessionSummary.totalTokens","Total tokens"),":"," ",T(c.total_tokens)]})]}):null;return s.jsxs("div",{className:`lotus-session-summary ${n?"lotus-session-summary--compact":""}`,style:{borderColor:e.colorBorderSecondary,background:`${e.colorBgElevated}`},children:[s.jsxs("div",{className:"lotus-session-summary-header",onClick:()=>y(r=>!r),role:"button",tabIndex:0,onKeyDown:r=>{(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),y(g=>!g))},"aria-expanded":i,children:[s.jsx("span",{className:"lotus-session-summary-header-icon",style:{color:e.colorPrimary},children:s.jsx(D,{})}),s.jsx("span",{className:"lotus-session-summary-header-title",style:{color:e.colorText},children:o("sessionSummary.title","Session Summary")}),!i&&s.jsxs("span",{className:"lotus-session-summary-stats",children:[s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx($,{className:"lotus-session-summary-stat-icon"}),s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.messageCount})]}),t.toolCallCount>0&&s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(R,{className:"lotus-session-summary-stat-icon"}),s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.toolCallCount})]}),p&&s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(_,{className:"lotus-session-summary-stat-icon"}),s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.fileChanges.length})]}),m&&s.jsx(v,{title:f,children:s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(k,{className:"lotus-session-summary-stat-icon"}),s.jsx("span",{className:"lotus-session-summary-stat-value",children:m})]})})]}),s.jsx("span",{className:`lotus-session-summary-toggle ${i?"is-expanded":""}`,style:{color:e.colorTextTertiary},children:s.jsx(F,{})})]}),i&&s.jsxs("div",{className:"lotus-session-summary-body",children:[s.jsxs("div",{className:"lotus-session-summary-stats",children:[s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx($,{className:"lotus-session-summary-stat-icon"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.messageCount})," ",o("sessionSummary.messages","messages")]})]}),s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx("span",{className:"lotus-session-summary-stat-icon",children:"👤"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.userMessageCount})," ",o("sessionSummary.userTurns","user")]})]}),s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx("span",{className:"lotus-session-summary-stat-icon",children:"🤖"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.assistantMessageCount})," ",o("sessionSummary.assistantTurns","assistant")]})]}),t.toolCallCount>0&&s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(R,{className:"lotus-session-summary-stat-icon"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.toolCallCount})," ",o("sessionSummary.toolCalls","tool calls")]})]}),t.toolErrorCount>0&&s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:"#ff4d4f"},children:[s.jsx(L,{className:"lotus-session-summary-stat-icon"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.toolErrorCount})," ",o("sessionSummary.errors","errors")]})]}),t.duration&&s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(z,{className:"lotus-session-summary-stat-icon"}),s.jsx("span",{children:t.duration})]}),t.hasCompression&&s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(k,{className:"lotus-session-summary-stat-icon"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:t.compressionCount})," ",o("sessionSummary.compressions","compressions")]})]}),m&&s.jsx(v,{title:f,children:s.jsxs("span",{className:"lotus-session-summary-stat",style:{color:e.colorTextSecondary},children:[s.jsx(k,{className:"lotus-session-summary-stat-icon"}),s.jsxs("span",{children:[s.jsx("span",{className:"lotus-session-summary-stat-value",children:m})," ",o("sessionSummary.totalTokens","total tokens")]})]})})]}),p&&s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:n?10:11,fontWeight:600,color:e.colorTextSecondary,marginBottom:n?2:4,textTransform:"uppercase",letterSpacing:.3},children:o("sessionSummary.filesChanged","Files Changed")}),n?s.jsx(W,{items:a,style:{lineHeight:1.4,wordBreak:"break-word",whiteSpace:"normal"}}):s.jsx("div",{className:"lotus-session-summary-files",children:t.fileChanges.map(r=>s.jsx(v,{title:r,children:s.jsxs(O,{bordered:!1,className:"lotus-session-summary-file-tag",children:[s.jsx(_,{style:{marginRight:4}}),r]})},r))})]}),j&&s.jsxs("div",{children:[s.jsx("div",{style:{fontSize:n?10:11,fontWeight:600,color:e.colorTextSecondary,marginBottom:n?2:4,textTransform:"uppercase",letterSpacing:.3},children:o("sessionSummary.lastResponse","Latest Response")}),s.jsx("div",{className:"lotus-session-summary-conclusion",style:{color:e.colorTextSecondary},children:t.lastAssistantExcerpt})]})]})]})};export{Z as SessionSummaryCard,Z as default};
@@ -1 +0,0 @@
1
- import{j as s}from"./vendor-markdown-CARODNj-.js";import{u as g,a as c,i as d}from"./vendor-i18n-Dm-c3D_C.js";import{u as p,g as y,E as T}from"./App-BbO6pZGu.js";import{t as v,aj as S,ak as R,F as w,W as k,a1 as A,ag as I,x as b,G as M}from"./vendor-antd-C-pjKgeW.js";import"./vendor-mermaid-RKNJ-cQ7.js";import"./main-Bra_iqhj.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 d.t("chat.home.justNow");const l=Math.floor(t/60);if(l<60)return d.t("chat.home.minutesAgo",{count:l});const a=Math.floor(l/60);if(a<24)return d.t("chat.home.hoursAgo",{count:a});const r=Math.floor(a/24);return r<30?d.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"})]})},L=({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]),m=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(m.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,m]),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(R,{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,m.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:"var(--lotus-gold)"}}),s.jsx("span",{children:n("home.sections.pinned","Pinned")})]}),s.jsx("div",{className:"lotus-home-session-list",children:m.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{L as HomeDashboard,L as default};
@@ -1 +0,0 @@
1
- import{i as o,R as d}from"./core-Cfh-QHsP.js";var u;(function(n){n[n.Audio=1]="Audio",n[n.Cache=2]="Cache",n[n.Config=3]="Config",n[n.Data=4]="Data",n[n.LocalData=5]="LocalData",n[n.Document=6]="Document",n[n.Download=7]="Download",n[n.Picture=8]="Picture",n[n.Public=9]="Public",n[n.Video=10]="Video",n[n.Resource=11]="Resource",n[n.Temp=12]="Temp",n[n.AppConfig=13]="AppConfig",n[n.AppData=14]="AppData",n[n.AppLocalData=15]="AppLocalData",n[n.AppCache=16]="AppCache",n[n.AppLog=17]="AppLog",n[n.Desktop=18]="Desktop",n[n.Executable=19]="Executable",n[n.Font=20]="Font",n[n.Home=21]="Home",n[n.Runtime=22]="Runtime",n[n.Template=23]="Template"})(u||(u={}));var f;(function(n){n[n.Start=0]="Start",n[n.Current=1]="Current",n[n.End=2]="End"})(f||(f={}));function p(n){return{isFile:n.isFile,isDirectory:n.isDirectory,isSymlink:n.isSymlink,size:n.size,mtime:n.mtime!==null?new Date(n.mtime):null,atime:n.atime!==null?new Date(n.atime):null,birthtime:n.birthtime!==null?new Date(n.birthtime):null,readonly:n.readonly,fileAttributes:n.fileAttributes,dev:n.dev,ino:n.ino,mode:n.mode,nlink:n.nlink,uid:n.uid,gid:n.gid,rdev:n.rdev,blksize:n.blksize,blocks:n.blocks}}function w(n){const t=new Uint8ClampedArray(n),i=t.byteLength;let e=0;for(let l=0;l<i;l++){const a=t[l];e*=256,e+=a}return e}class m extends d{async read(t){if(t.byteLength===0)return 0;const i=await o("plugin:fs|read",{rid:this.rid,len:t.byteLength}),e=w(i.slice(-8)),l=i instanceof ArrayBuffer?new Uint8Array(i):i;return t.set(l.slice(0,l.length-8)),e===0?null:e}async seek(t,i){return await o("plugin:fs|seek",{rid:this.rid,offset:t,whence:i})}async stat(){const t=await o("plugin:fs|fstat",{rid:this.rid});return p(t)}async truncate(t){await o("plugin:fs|ftruncate",{rid:this.rid,len:t})}async write(t){return await o("plugin:fs|write",{rid:this.rid,data:t})}}async function c(n,t){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const i=await o("plugin:fs|open",{path:n instanceof URL?n.toString():n,options:t});return new m(i)}async function b(n,t,i){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");if(t instanceof ReadableStream){const e=await c(n,i),l=t.getReader();try{for(;;){const{done:a,value:s}=await l.read();if(a)break;await e.write(s)}}finally{l.releaseLock(),await e.close()}}else await o("plugin:fs|write_file",t,{headers:{path:encodeURIComponent(n instanceof URL?n.toString():n),options:JSON.stringify(i)}})}async function L(n,t,i){if(n instanceof URL&&n.protocol!=="file:")throw new TypeError("Must be a file URL.");const e=new TextEncoder;await o("plugin:fs|write_text_file",e.encode(t),{headers:{path:encodeURIComponent(n instanceof URL?n.toString():n),options:JSON.stringify(i)}})}export{u as BaseDirectory,m as FileHandle,f as SeekMode,c as open,b as writeFile,L as writeTextFile};
@@ -1,2 +0,0 @@
1
- import{a8 as e,ab as s,aF as n,ac as i}from"./vendor-mermaid-RKNJ-cQ7.js";import{p}from"./wardley-L42UT6IY-BNWzkDHh.js";import"./vendor-antd-C-pjKgeW.js";import"./vendor-i18n-Dm-c3D_C.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},v={version:"11.15.0"},d=e(()=>v.version,"getVersion"),m={getVersion:d},c=e((r,a,o)=>{s.debug(`rendering info diagram
2
- `+r);const t=n(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),f={draw:c},w={parser:g,db:m,renderer:f};export{w as diagram};
@@ -1 +0,0 @@
1
- import{a as Y,b as O,d as Ee,e as q,c as K,f as Ke,g as fe,h as Xe,j as jn,k as He,s as Mn,o as Rn,l as $n,m as de,n as Fn,p as se,r as Bn,q as ze,t as Gn,u as Dn,v as Yn,U as Te,S as Pe,w as ce,x as le,y as U,z as Je,A as Ze,B as Un,C as N,D as Vn,E as Wn,F as qn,H as Le,I as Kn,J as Qe,K as C,L as Xn,M as Hn,N as B,O as en,P as nn,Q as zn,R as he,T as rn,V as Jn,W as tn,X as Zn,Y as Qn,G as E,Z as c,_ as er,i as x,$ as R,a0 as I,a1 as X}from"./graph-BlwPajkw.js";var nr=/\s/;function rr(e){for(var n=e.length;n--&&nr.test(e.charAt(n)););return n}var tr=/^\s+/;function ir(e){return e&&e.slice(0,rr(e)+1).replace(tr,"")}var Ne=NaN,ar=/^[-+]0x[0-9a-f]+$/i,or=/^0b[01]+$/i,ur=/^0o[0-7]+$/i,fr=parseInt;function dr(e){if(typeof e=="number")return e;if(Y(e))return Ne;if(O(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=O(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=ir(e);var r=or.test(e);return r||ur.test(e)?fr(e.slice(2),r?2:8):ar.test(e)?Ne:+e}var Ie=1/0,sr=17976931348623157e292;function G(e){if(!e)return e===0?e:0;if(e=dr(e),e===Ie||e===-Ie){var n=e<0?-1:1;return n*sr}return e===e?e:0}function cr(e){var n=G(e),r=n%1;return n===n?r?n-r:n:0}var _e=Object.create,lr=function(){function e(){}return function(n){if(!O(n))return{};if(_e)return _e(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}}();function an(e,n){var r=-1,t=e.length;for(n||(n=Array(t));++r<t;)n[r]=e[r];return n}function H(e,n,r){n=="__proto__"&&Ee?Ee(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}var hr=Object.prototype,vr=hr.hasOwnProperty;function z(e,n,r){var t=e[n];(!(vr.call(e,n)&&q(t,r))||r===void 0&&!(n in e))&&H(e,n,r)}function $(e,n,r,t){var i=!r;r||(r={});for(var o=-1,a=n.length;++o<a;){var u=n[o],f=void 0;f===void 0&&(f=e[u]),i?H(r,u,f):z(r,u,f)}return r}function S(e,n,r){if(!O(r))return!1;var t=typeof n;return(t=="number"?K(r)&&Ke(n,r.length):t=="string"&&n in r)?q(r[n],e):!1}function pr(e){return fe(function(n,r){var t=-1,i=r.length,o=i>1?r[i-1]:void 0,a=i>2?r[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,a&&S(r[0],r[1],a)&&(o=i<3?void 0:o,i=1),n=Object(n);++t<i;){var u=r[t];u&&e(n,u,t,o)}return n})}function br(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var wr=Object.prototype,gr=wr.hasOwnProperty;function mr(e){if(!O(e))return br(e);var n=Xe(e),r=[];for(var t in e)t=="constructor"&&(n||!gr.call(e,t))||r.push(t);return r}function P(e){return K(e)?jn(e,!0):mr(e)}function A(e){var n=e==null?0:e.length;return n?He(e):[]}function yr(e){return Mn(Rn(e,void 0,A),e+"")}var ve=$n(Object.getPrototypeOf,Object),xr="[object Object]",Or=Function.prototype,Er=Object.prototype,on=Or.toString,Tr=Er.hasOwnProperty,Pr=on.call(Object);function Lr(e){if(!de(e)||Fn(e)!=xr)return!1;var n=ve(e);if(n===null)return!0;var r=Tr.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&on.call(r)==Pr}function Nr(e,n){return e&&$(n,se(n),e)}function Ir(e,n){return e&&$(n,P(n),e)}var un=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ce=un&&typeof module=="object"&&module&&!module.nodeType&&module,_r=Ce&&Ce.exports===un,Ae=_r?Bn.Buffer:void 0,ke=Ae?Ae.allocUnsafe:void 0;function fn(e,n){if(n)return e.slice();var r=e.length,t=ke?ke(r):new e.constructor(r);return e.copy(t),t}function Cr(e,n){return $(e,ze(e),n)}var Ar=Object.getOwnPropertySymbols,dn=Ar?function(e){for(var n=[];e;)Dn(n,ze(e)),e=ve(e);return n}:Gn;function kr(e,n){return $(e,dn(e),n)}function Sr(e){return Yn(e,P,dn)}var jr=Object.prototype,Mr=jr.hasOwnProperty;function Rr(e){var n=e.length,r=new e.constructor(n);return n&&typeof e[0]=="string"&&Mr.call(e,"index")&&(r.index=e.index,r.input=e.input),r}function pe(e){var n=new e.constructor(e.byteLength);return new Te(n).set(new Te(e)),n}function $r(e,n){var r=n?pe(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var Fr=/\w*$/;function Br(e){var n=new e.constructor(e.source,Fr.exec(e));return n.lastIndex=e.lastIndex,n}var Se=Pe?Pe.prototype:void 0,je=Se?Se.valueOf:void 0;function Gr(e){return je?Object(je.call(e)):{}}function sn(e,n){var r=n?pe(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var Dr="[object Boolean]",Yr="[object Date]",Ur="[object Map]",Vr="[object Number]",Wr="[object RegExp]",qr="[object Set]",Kr="[object String]",Xr="[object Symbol]",Hr="[object ArrayBuffer]",zr="[object DataView]",Jr="[object Float32Array]",Zr="[object Float64Array]",Qr="[object Int8Array]",et="[object Int16Array]",nt="[object Int32Array]",rt="[object Uint8Array]",tt="[object Uint8ClampedArray]",it="[object Uint16Array]",at="[object Uint32Array]";function ot(e,n,r){var t=e.constructor;switch(n){case Hr:return pe(e);case Dr:case Yr:return new t(+e);case zr:return $r(e,r);case Jr:case Zr:case Qr:case et:case nt:case rt:case tt:case it:case at:return sn(e,r);case Ur:return new t;case Vr:case Kr:return new t(e);case Wr:return Br(e);case qr:return new t;case Xr:return Gr(e)}}function cn(e){return typeof e.constructor=="function"&&!Xe(e)?lr(ve(e)):{}}var ut="[object Map]";function ft(e){return de(e)&&ce(e)==ut}var Me=U&&U.isMap,dt=Me?le(Me):ft,st="[object Set]";function ct(e){return de(e)&&ce(e)==st}var Re=U&&U.isSet,lt=Re?le(Re):ct,ht=1,vt=2,pt=4,ln="[object Arguments]",bt="[object Array]",wt="[object Boolean]",gt="[object Date]",mt="[object Error]",hn="[object Function]",yt="[object GeneratorFunction]",xt="[object Map]",Ot="[object Number]",vn="[object Object]",Et="[object RegExp]",Tt="[object Set]",Pt="[object String]",Lt="[object Symbol]",Nt="[object WeakMap]",It="[object ArrayBuffer]",_t="[object DataView]",Ct="[object Float32Array]",At="[object Float64Array]",kt="[object Int8Array]",St="[object Int16Array]",jt="[object Int32Array]",Mt="[object Uint8Array]",Rt="[object Uint8ClampedArray]",$t="[object Uint16Array]",Ft="[object Uint32Array]",b={};b[ln]=b[bt]=b[It]=b[_t]=b[wt]=b[gt]=b[Ct]=b[At]=b[kt]=b[St]=b[jt]=b[xt]=b[Ot]=b[vn]=b[Et]=b[Tt]=b[Pt]=b[Lt]=b[Mt]=b[Rt]=b[$t]=b[Ft]=!0;b[mt]=b[hn]=b[Nt]=!1;function D(e,n,r,t,i,o){var a,u=n&ht,f=n&vt,d=n&pt;if(a!==void 0)return a;if(!O(e))return e;var s=N(e);if(s){if(a=Rr(e),!u)return an(e,a)}else{var l=ce(e),h=l==hn||l==yt;if(Je(e))return fn(e,u);if(l==vn||l==ln||h&&!i){if(a=f||h?{}:cn(e),!u)return f?kr(e,Ir(a,e)):Cr(e,Nr(a,e))}else{if(!b[l])return i?e:{};a=ot(e,l,u)}}o||(o=new Ze);var v=o.get(e);if(v)return v;o.set(e,a),lt(e)?e.forEach(function(m){a.add(D(m,n,r,m,e,o))}):dt(e)&&e.forEach(function(m,y){a.set(y,D(m,n,r,y,e,o))});var p=d?f?Sr:Vn:f?P:se,w=s?void 0:p(e);return Un(w||e,function(m,y){w&&(y=m,m=e[y]),z(a,y,D(m,n,r,y,e,o))}),a}var Bt=1,Gt=4;function Dt(e){return D(e,Bt|Gt)}var pn=Object.prototype,Yt=pn.hasOwnProperty,Ut=fe(function(e,n){e=Object(e);var r=-1,t=n.length,i=t>2?n[2]:void 0;for(i&&S(n[0],n[1],i)&&(t=1);++r<t;)for(var o=n[r],a=P(o),u=-1,f=a.length;++u<f;){var d=a[u],s=e[d];(s===void 0||q(s,pn[d])&&!Yt.call(e,d))&&(e[d]=o[d])}return e});function ie(e,n,r){(r!==void 0&&!q(e[n],r)||r===void 0&&!(n in e))&&H(e,n,r)}function ae(e,n){if(!(n==="constructor"&&typeof e[n]=="function")&&n!="__proto__")return e[n]}function Vt(e){return $(e,P(e))}function Wt(e,n,r,t,i,o,a){var u=ae(e,r),f=ae(n,r),d=a.get(f);if(d){ie(e,r,d);return}var s=o?o(u,f,r+"",e,n,a):void 0,l=s===void 0;if(l){var h=N(f),v=!h&&Je(f),p=!h&&!v&&Wn(f);s=f,h||v||p?N(u)?s=u:qn(u)?s=an(u):v?(l=!1,s=fn(f,!0)):p?(l=!1,s=sn(f,!0)):s=[]:Lr(f)||Le(f)?(s=u,Le(u)?s=Vt(u):(!O(u)||Kn(u))&&(s=cn(f))):l=!1}l&&(a.set(f,s),i(s,f,t,o,a),a.delete(f)),ie(e,r,s)}function bn(e,n,r,t,i){e!==n&&Qe(n,function(o,a){if(i||(i=new Ze),O(o))Wt(e,n,a,r,bn,t,i);else{var u=t?t(ae(e,a),o,a+"",e,n,i):void 0;u===void 0&&(u=o),ie(e,a,u)}},P)}function V(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function qt(e){return function(n,r,t){var i=Object(n);if(!K(n)){var o=C(r);n=se(n),r=function(u){return o(i[u],u,i)}}var a=e(n,r,t);return a>-1?i[o?n[a]:a]:void 0}}var Kt=Math.max;function Xt(e,n,r){var t=e==null?0:e.length;if(!t)return-1;var i=r==null?0:cr(r);return i<0&&(i=Kt(t+i,0)),Xn(e,C(n),i)}var be=qt(Xt);function wn(e,n){var r=-1,t=K(e)?Array(e.length):[];return Hn(e,function(i,o,a){t[++r]=n(i,o,a)}),t}function g(e,n){var r=N(e)?B:wn;return r(e,C(n))}function Ht(e,n){return e==null?e:Qe(e,en(n),P)}function zt(e,n){return e&&nn(e,en(n))}function Jt(e,n){return e>n}var Zt=Object.prototype,Qt=Zt.hasOwnProperty;function ei(e,n){return e!=null&&Qt.call(e,n)}function gn(e,n){return e!=null&&zn(e,n,ei)}function mn(e,n){return e<n}function J(e,n){var r={};return n=C(n),nn(e,function(t,i,o){H(r,i,n(t,i,o))}),r}function we(e,n,r){for(var t=-1,i=e.length;++t<i;){var o=e[t],a=n(o);if(a!=null&&(u===void 0?a===a&&!Y(a):r(a,u)))var u=a,f=o}return f}function T(e){return e&&e.length?we(e,he,Jt):void 0}var oe=pr(function(e,n,r){bn(e,n,r)});function j(e){return e&&e.length?we(e,he,mn):void 0}function ge(e,n){return e&&e.length?we(e,C(n),mn):void 0}function ni(e,n,r,t){if(!O(e))return e;n=rn(n,e);for(var i=-1,o=n.length,a=o-1,u=e;u!=null&&++i<o;){var f=Jn(n[i]),d=r;if(f==="__proto__"||f==="constructor"||f==="prototype")return e;if(i!=a){var s=u[f];d=void 0,d===void 0&&(d=O(s)?s:Ke(n[i+1])?[]:{})}z(u,f,d),u=u[f]}return e}function ri(e,n,r){for(var t=-1,i=n.length,o={};++t<i;){var a=n[t],u=tn(e,a);r(u,a)&&ni(o,rn(a,e),u)}return o}function ti(e,n){var r=e.length;for(e.sort(n);r--;)e[r]=e[r].value;return e}function ii(e,n){if(e!==n){var r=e!==void 0,t=e===null,i=e===e,o=Y(e),a=n!==void 0,u=n===null,f=n===n,d=Y(n);if(!u&&!d&&!o&&e>n||o&&a&&f&&!u&&!d||t&&a&&f||!r&&f||!i)return 1;if(!t&&!o&&!d&&e<n||d&&r&&i&&!t&&!o||u&&r&&i||!a&&i||!f)return-1}return 0}function ai(e,n,r){for(var t=-1,i=e.criteria,o=n.criteria,a=i.length,u=r.length;++t<a;){var f=ii(i[t],o[t]);if(f){if(t>=u)return f;var d=r[t];return f*(d=="desc"?-1:1)}}return e.index-n.index}function oi(e,n,r){n.length?n=B(n,function(o){return N(o)?function(a){return tn(a,o.length===1?o[0]:o)}:o}):n=[he];var t=-1;n=B(n,le(C));var i=wn(e,function(o,a,u){var f=B(n,function(d){return d(o)});return{criteria:f,index:++t,value:o}});return ti(i,function(o,a){return ai(o,a,r)})}function ui(e,n){return ri(e,n,function(r,t){return Zn(e,t)})}var W=yr(function(e,n){return e==null?{}:ui(e,n)}),fi=Math.ceil,di=Math.max;function si(e,n,r,t){for(var i=-1,o=di(fi((n-e)/(r||1)),0),a=Array(o);o--;)a[++i]=e,e+=r;return a}function ci(e){return function(n,r,t){return t&&typeof t!="number"&&S(n,r,t)&&(r=t=void 0),n=G(n),r===void 0?(r=n,n=0):r=G(r),t=t===void 0?n<r?1:-1:G(t),si(n,r,t)}}var _=ci(),F=fe(function(e,n){if(e==null)return[];var r=n.length;return r>1&&S(e,n[0],n[1])?n=[]:r>2&&S(n[0],n[1],n[2])&&(n=[n[0]]),oi(e,He(n),[])}),li=0;function me(e){var n=++li;return Qn(e)+n}function hi(e,n,r){for(var t=-1,i=e.length,o=n.length,a={};++t<i;){var u=t<o?n[t]:void 0;r(a,e[t],u)}return a}function vi(e,n){return hi(e||[],n||[],z)}class pi{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,r=n._prev;if(r!==n)return $e(r),r}enqueue(n){var r=this._sentinel;n._prev&&n._next&&$e(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){for(var n=[],r=this._sentinel,t=r._prev;t!==r;)n.push(JSON.stringify(t,bi)),t=t._prev;return"["+n.join(", ")+"]"}}function $e(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function bi(e,n){if(e!=="_next"&&e!=="_prev")return n}var wi=er(1);function gi(e,n){if(e.nodeCount()<=1)return[];var r=yi(e,n||wi),t=mi(r.graph,r.buckets,r.zeroIdx);return A(g(t,function(i){return e.outEdges(i.v,i.w)}))}function mi(e,n,r){for(var t=[],i=n[n.length-1],o=n[0],a;e.nodeCount();){for(;a=o.dequeue();)Q(e,n,r,a);for(;a=i.dequeue();)Q(e,n,r,a);if(e.nodeCount()){for(var u=n.length-2;u>0;--u)if(a=n[u].dequeue(),a){t=t.concat(Q(e,n,r,a,!0));break}}}return t}function Q(e,n,r,t,i){var o=i?[]:void 0;return c(e.inEdges(t.v),function(a){var u=e.edge(a),f=e.node(a.v);i&&o.push({v:a.v,w:a.w}),f.out-=u,ue(n,r,f)}),c(e.outEdges(t.v),function(a){var u=e.edge(a),f=a.w,d=e.node(f);d.in-=u,ue(n,r,d)}),e.removeNode(t.v),o}function yi(e,n){var r=new E,t=0,i=0;c(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),c(e.edges(),function(u){var f=r.edge(u.v,u.w)||0,d=n(u),s=f+d;r.setEdge(u.v,u.w,s),i=Math.max(i,r.node(u.v).out+=d),t=Math.max(t,r.node(u.w).in+=d)});var o=_(i+t+3).map(function(){return new pi}),a=t+1;return c(r.nodes(),function(u){ue(o,a,r.node(u))}),{graph:r,buckets:o,zeroIdx:a}}function ue(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function xi(e){var n=e.graph().acyclicer==="greedy"?gi(e,r(e)):Oi(e);c(n,function(t){var i=e.edge(t);e.removeEdge(t),i.forwardName=t.name,i.reversed=!0,e.setEdge(t.w,t.v,i,me("rev"))});function r(t){return function(i){return t.edge(i).weight}}}function Oi(e){var n=[],r={},t={};function i(o){Object.prototype.hasOwnProperty.call(t,o)||(t[o]=!0,r[o]=!0,c(e.outEdges(o),function(a){Object.prototype.hasOwnProperty.call(r,a.w)?n.push(a):i(a.w)}),delete r[o])}return c(e.nodes(),i),n}function Ei(e){c(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var t=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,t)}})}function k(e,n,r,t){var i;do i=me(t);while(e.hasNode(i));return r.dummy=n,e.setNode(i,r),i}function Ti(e){var n=new E().setGraph(e.graph());return c(e.nodes(),function(r){n.setNode(r,e.node(r))}),c(e.edges(),function(r){var t=n.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);n.setEdge(r.v,r.w,{weight:t.weight+i.weight,minlen:Math.max(t.minlen,i.minlen)})}),n}function yn(e){var n=new E({multigraph:e.isMultigraph()}).setGraph(e.graph());return c(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),c(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function Fe(e,n){var r=e.x,t=e.y,i=n.x-r,o=n.y-t,a=e.width/2,u=e.height/2;if(!i&&!o)throw new Error("Not possible to find intersection inside of the rectangle");var f,d;return Math.abs(o)*a>Math.abs(i)*u?(o<0&&(u=-u),f=u*i/o,d=u):(i<0&&(a=-a),f=a,d=a*o/i),{x:r+f,y:t+d}}function Z(e){var n=g(_(xn(e)+1),function(){return[]});return c(e.nodes(),function(r){var t=e.node(r),i=t.rank;x(i)||(n[i][t.order]=r)}),n}function Pi(e){var n=j(g(e.nodes(),function(r){return e.node(r).rank}));c(e.nodes(),function(r){var t=e.node(r);gn(t,"rank")&&(t.rank-=n)})}function Li(e){var n=j(g(e.nodes(),function(o){return e.node(o).rank})),r=[];c(e.nodes(),function(o){var a=e.node(o).rank-n;r[a]||(r[a]=[]),r[a].push(o)});var t=0,i=e.graph().nodeRankFactor;c(r,function(o,a){x(o)&&a%i!==0?--t:t&&c(o,function(u){e.node(u).rank+=t})})}function Be(e,n,r,t){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=t),k(e,"border",i,n)}function xn(e){return T(g(e.nodes(),function(n){var r=e.node(n).rank;if(!x(r))return r}))}function Ni(e,n){var r={lhs:[],rhs:[]};return c(e,function(t){n(t)?r.lhs.push(t):r.rhs.push(t)}),r}function Ii(e,n){return n()}function _i(e){function n(r){var t=e.children(r),i=e.node(r);if(t.length&&c(t,n),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var o=i.minRank,a=i.maxRank+1;o<a;++o)Ge(e,"borderLeft","_bl",r,i,o),Ge(e,"borderRight","_br",r,i,o)}}c(e.children(),n)}function Ge(e,n,r,t,i,o){var a={width:0,height:0,rank:o,borderType:n},u=i[n][o-1],f=k(e,"border",a,r);i[n][o]=f,e.setParent(f,t),u&&e.setEdge(u,f,{weight:1})}function Ci(e){var n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&On(e)}function Ai(e){var n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&ki(e),(n==="lr"||n==="rl")&&(Si(e),On(e))}function On(e){c(e.nodes(),function(n){De(e.node(n))}),c(e.edges(),function(n){De(e.edge(n))})}function De(e){var n=e.width;e.width=e.height,e.height=n}function ki(e){c(e.nodes(),function(n){ee(e.node(n))}),c(e.edges(),function(n){var r=e.edge(n);c(r.points,ee),Object.prototype.hasOwnProperty.call(r,"y")&&ee(r)})}function ee(e){e.y=-e.y}function Si(e){c(e.nodes(),function(n){ne(e.node(n))}),c(e.edges(),function(n){var r=e.edge(n);c(r.points,ne),Object.prototype.hasOwnProperty.call(r,"x")&&ne(r)})}function ne(e){var n=e.x;e.x=e.y,e.y=n}function ji(e){e.graph().dummyChains=[],c(e.edges(),function(n){Mi(e,n)})}function Mi(e,n){var r=n.v,t=e.node(r).rank,i=n.w,o=e.node(i).rank,a=n.name,u=e.edge(n),f=u.labelRank;if(o!==t+1){e.removeEdge(n);var d=void 0,s,l;for(l=0,++t;t<o;++l,++t)u.points=[],d={width:0,height:0,edgeLabel:u,edgeObj:n,rank:t},s=k(e,"edge",d,"_d"),t===f&&(d.width=u.width,d.height=u.height,d.dummy="edge-label",d.labelpos=u.labelpos),e.setEdge(r,s,{weight:u.weight},a),l===0&&e.graph().dummyChains.push(s),r=s;e.setEdge(r,i,{weight:u.weight},a)}}function Ri(e){c(e.graph().dummyChains,function(n){var r=e.node(n),t=r.edgeLabel,i;for(e.setEdge(r.edgeObj,t);r.dummy;)i=e.successors(n)[0],e.removeNode(n),t.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(t.x=r.x,t.y=r.y,t.width=r.width,t.height=r.height),n=i,r=e.node(n)})}function ye(e){var n={};function r(t){var i=e.node(t);if(Object.prototype.hasOwnProperty.call(n,t))return i.rank;n[t]=!0;var o=j(g(e.outEdges(t),function(a){return r(a.w)-e.edge(a).minlen}));return(o===Number.POSITIVE_INFINITY||o===void 0||o===null)&&(o=0),i.rank=o}c(e.sources(),r)}function M(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function En(e){var n=new E({directed:!1}),r=e.nodes()[0],t=e.nodeCount();n.setNode(r,{});for(var i,o;$i(n,e)<t;)i=Fi(n,e),o=n.hasNode(i.v)?M(e,i):-M(e,i),Bi(n,e,o);return n}function $i(e,n){function r(t){c(n.nodeEdges(t),function(i){var o=i.v,a=t===o?i.w:o;!e.hasNode(a)&&!M(n,i)&&(e.setNode(a,{}),e.setEdge(t,a,{}),r(a))})}return c(e.nodes(),r),e.nodeCount()}function Fi(e,n){return ge(n.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return M(n,r)})}function Bi(e,n,r){c(e.nodes(),function(t){n.node(t).rank+=r})}function Gi(){}Gi.prototype=new Error;function Tn(e,n,r){N(n)||(n=[n]);var t=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],o={};return c(n,function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);Pn(e,a,r==="post",o,t,i)}),i}function Pn(e,n,r,t,i,o){Object.prototype.hasOwnProperty.call(t,n)||(t[n]=!0,r||o.push(n),c(i(n),function(a){Pn(e,a,r,t,i,o)}),r&&o.push(n))}function Di(e,n){return Tn(e,n,"post")}function Yi(e,n){return Tn(e,n,"pre")}L.initLowLimValues=Oe;L.initCutValues=xe;L.calcCutValue=Ln;L.leaveEdge=In;L.enterEdge=_n;L.exchangeEdges=Cn;function L(e){e=Ti(e),ye(e);var n=En(e);Oe(n),xe(n,e);for(var r,t;r=In(n);)t=_n(n,e,r),Cn(n,e,r,t)}function xe(e,n){var r=Di(e,e.nodes());r=r.slice(0,r.length-1),c(r,function(t){Ui(e,n,t)})}function Ui(e,n,r){var t=e.node(r),i=t.parent;e.edge(r,i).cutvalue=Ln(e,n,r)}function Ln(e,n,r){var t=e.node(r),i=t.parent,o=!0,a=n.edge(r,i),u=0;return a||(o=!1,a=n.edge(i,r)),u=a.weight,c(n.nodeEdges(r),function(f){var d=f.v===r,s=d?f.w:f.v;if(s!==i){var l=d===o,h=n.edge(f).weight;if(u+=l?h:-h,Wi(e,r,s)){var v=e.edge(r,s).cutvalue;u+=l?-v:v}}}),u}function Oe(e,n){arguments.length<2&&(n=e.nodes()[0]),Nn(e,{},1,n)}function Nn(e,n,r,t,i){var o=r,a=e.node(t);return n[t]=!0,c(e.neighbors(t),function(u){Object.prototype.hasOwnProperty.call(n,u)||(r=Nn(e,n,r,u,t))}),a.low=o,a.lim=r++,i?a.parent=i:delete a.parent,r}function In(e){return be(e.edges(),function(n){return e.edge(n).cutvalue<0})}function _n(e,n,r){var t=r.v,i=r.w;n.hasEdge(t,i)||(t=r.w,i=r.v);var o=e.node(t),a=e.node(i),u=o,f=!1;o.lim>a.lim&&(u=a,f=!0);var d=R(n.edges(),function(s){return f===Ye(e,e.node(s.v),u)&&f!==Ye(e,e.node(s.w),u)});return ge(d,function(s){return M(n,s)})}function Cn(e,n,r,t){var i=r.v,o=r.w;e.removeEdge(i,o),e.setEdge(t.v,t.w,{}),Oe(e),xe(e,n),Vi(e,n)}function Vi(e,n){var r=be(e.nodes(),function(i){return!n.node(i).parent}),t=Yi(e,r);t=t.slice(1),c(t,function(i){var o=e.node(i).parent,a=n.edge(i,o),u=!1;a||(a=n.edge(o,i),u=!0),n.node(i).rank=n.node(o).rank+(u?a.minlen:-a.minlen)})}function Wi(e,n,r){return e.hasEdge(n,r)}function Ye(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function qi(e){switch(e.graph().ranker){case"network-simplex":Ue(e);break;case"tight-tree":Xi(e);break;case"longest-path":Ki(e);break;default:Ue(e)}}var Ki=ye;function Xi(e){ye(e),En(e)}function Ue(e){L(e)}function Hi(e){var n=k(e,"root",{},"_root"),r=zi(e),t=T(I(r))-1,i=2*t+1;e.graph().nestingRoot=n,c(e.edges(),function(a){e.edge(a).minlen*=i});var o=Ji(e)+1;c(e.children(),function(a){An(e,n,i,o,t,r,a)}),e.graph().nodeRankFactor=i}function An(e,n,r,t,i,o,a){var u=e.children(a);if(!u.length){a!==n&&e.setEdge(n,a,{weight:0,minlen:r});return}var f=Be(e,"_bt"),d=Be(e,"_bb"),s=e.node(a);e.setParent(f,a),s.borderTop=f,e.setParent(d,a),s.borderBottom=d,c(u,function(l){An(e,n,r,t,i,o,l);var h=e.node(l),v=h.borderTop?h.borderTop:l,p=h.borderBottom?h.borderBottom:l,w=h.borderTop?t:2*t,m=v!==p?1:i-o[a]+1;e.setEdge(f,v,{weight:w,minlen:m,nestingEdge:!0}),e.setEdge(p,d,{weight:w,minlen:m,nestingEdge:!0})}),e.parent(a)||e.setEdge(n,f,{weight:0,minlen:i+o[a]})}function zi(e){var n={};function r(t,i){var o=e.children(t);o&&o.length&&c(o,function(a){r(a,i+1)}),n[t]=i}return c(e.children(),function(t){r(t,1)}),n}function Ji(e){return X(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function Zi(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,c(e.edges(),function(r){var t=e.edge(r);t.nestingEdge&&e.removeEdge(r)})}function Qi(e,n,r){var t={},i;c(r,function(o){for(var a=e.parent(o),u,f;a;){if(u=e.parent(a),u?(f=t[u],t[u]=a):(f=i,i=a),f&&f!==a){n.setEdge(f,a);return}a=u}})}function ea(e,n,r){var t=na(e),i=new E({compound:!0}).setGraph({root:t}).setDefaultNodeLabel(function(o){return e.node(o)});return c(e.nodes(),function(o){var a=e.node(o),u=e.parent(o);(a.rank===n||a.minRank<=n&&n<=a.maxRank)&&(i.setNode(o),i.setParent(o,u||t),c(e[r](o),function(f){var d=f.v===o?f.w:f.v,s=i.edge(d,o),l=x(s)?0:s.weight;i.setEdge(d,o,{weight:e.edge(f).weight+l})}),Object.prototype.hasOwnProperty.call(a,"minRank")&&i.setNode(o,{borderLeft:a.borderLeft[n],borderRight:a.borderRight[n]}))}),i}function na(e){for(var n;e.hasNode(n=me("_root")););return n}function ra(e,n){for(var r=0,t=1;t<n.length;++t)r+=ta(e,n[t-1],n[t]);return r}function ta(e,n,r){for(var t=vi(r,g(r,function(d,s){return s})),i=A(g(n,function(d){return F(g(e.outEdges(d),function(s){return{pos:t[s.w],weight:e.edge(s).weight}}),"pos")})),o=1;o<r.length;)o<<=1;var a=2*o-1;o-=1;var u=g(new Array(a),function(){return 0}),f=0;return c(i.forEach(function(d){var s=d.pos+o;u[s]+=d.weight;for(var l=0;s>0;)s%2&&(l+=u[s+1]),s=s-1>>1,u[s]+=d.weight;f+=d.weight*l})),f}function ia(e){var n={},r=R(e.nodes(),function(u){return!e.children(u).length}),t=T(g(r,function(u){return e.node(u).rank})),i=g(_(t+1),function(){return[]});function o(u){if(!gn(n,u)){n[u]=!0;var f=e.node(u);i[f.rank].push(u),c(e.successors(u),o)}}var a=F(r,function(u){return e.node(u).rank});return c(a,o),i}function aa(e,n){return g(n,function(r){var t=e.inEdges(r);if(t.length){var i=X(t,function(o,a){var u=e.edge(a),f=e.node(a.v);return{sum:o.sum+u.weight*f.order,weight:o.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function oa(e,n){var r={};c(e,function(i,o){var a=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:o};x(i.barycenter)||(a.barycenter=i.barycenter,a.weight=i.weight)}),c(n.edges(),function(i){var o=r[i.v],a=r[i.w];!x(o)&&!x(a)&&(a.indegree++,o.out.push(r[i.w]))});var t=R(r,function(i){return!i.indegree});return ua(t)}function ua(e){var n=[];function r(o){return function(a){a.merged||(x(a.barycenter)||x(o.barycenter)||a.barycenter>=o.barycenter)&&fa(o,a)}}function t(o){return function(a){a.in.push(o),--a.indegree===0&&e.push(a)}}for(;e.length;){var i=e.pop();n.push(i),c(i.in.reverse(),r(i)),c(i.out,t(i))}return g(R(n,function(o){return!o.merged}),function(o){return W(o,["vs","i","barycenter","weight"])})}function fa(e,n){var r=0,t=0;e.weight&&(r+=e.barycenter*e.weight,t+=e.weight),n.weight&&(r+=n.barycenter*n.weight,t+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/t,e.weight=t,e.i=Math.min(n.i,e.i),n.merged=!0}function da(e,n){var r=Ni(e,function(s){return Object.prototype.hasOwnProperty.call(s,"barycenter")}),t=r.lhs,i=F(r.rhs,function(s){return-s.i}),o=[],a=0,u=0,f=0;t.sort(sa(!!n)),f=Ve(o,i,f),c(t,function(s){f+=s.vs.length,o.push(s.vs),a+=s.barycenter*s.weight,u+=s.weight,f=Ve(o,i,f)});var d={vs:A(o)};return u&&(d.barycenter=a/u,d.weight=u),d}function Ve(e,n,r){for(var t;n.length&&(t=V(n)).i<=r;)n.pop(),e.push(t.vs),r++;return r}function sa(e){return function(n,r){return n.barycenter<r.barycenter?-1:n.barycenter>r.barycenter?1:e?r.i-n.i:n.i-r.i}}function kn(e,n,r,t){var i=e.children(n),o=e.node(n),a=o?o.borderLeft:void 0,u=o?o.borderRight:void 0,f={};a&&(i=R(i,function(p){return p!==a&&p!==u}));var d=aa(e,i);c(d,function(p){if(e.children(p.v).length){var w=kn(e,p.v,r,t);f[p.v]=w,Object.prototype.hasOwnProperty.call(w,"barycenter")&&la(p,w)}});var s=oa(d,r);ca(s,f);var l=da(s,t);if(a&&(l.vs=A([a,l.vs,u]),e.predecessors(a).length)){var h=e.node(e.predecessors(a)[0]),v=e.node(e.predecessors(u)[0]);Object.prototype.hasOwnProperty.call(l,"barycenter")||(l.barycenter=0,l.weight=0),l.barycenter=(l.barycenter*l.weight+h.order+v.order)/(l.weight+2),l.weight+=2}return l}function ca(e,n){c(e,function(r){r.vs=A(r.vs.map(function(t){return n[t]?n[t].vs:t}))})}function la(e,n){x(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function ha(e){var n=xn(e),r=We(e,_(1,n+1),"inEdges"),t=We(e,_(n-1,-1,-1),"outEdges"),i=ia(e);qe(e,i);for(var o=Number.POSITIVE_INFINITY,a,u=0,f=0;f<4;++u,++f){va(u%2?r:t,u%4>=2),i=Z(e);var d=ra(e,i);d<o&&(f=0,a=Dt(i),o=d)}qe(e,a)}function We(e,n,r){return g(n,function(t){return ea(e,t,r)})}function va(e,n){var r=new E;c(e,function(t){var i=t.graph().root,o=kn(t,i,r,n);c(o.vs,function(a,u){t.node(a).order=u}),Qi(t,r,o.vs)})}function qe(e,n){c(n,function(r){c(r,function(t,i){e.node(t).order=i})})}function pa(e){var n=wa(e);c(e.graph().dummyChains,function(r){for(var t=e.node(r),i=t.edgeObj,o=ba(e,n,i.v,i.w),a=o.path,u=o.lca,f=0,d=a[f],s=!0;r!==i.w;){if(t=e.node(r),s){for(;(d=a[f])!==u&&e.node(d).maxRank<t.rank;)f++;d===u&&(s=!1)}if(!s){for(;f<a.length-1&&e.node(d=a[f+1]).minRank<=t.rank;)f++;d=a[f]}e.setParent(r,d),r=e.successors(r)[0]}})}function ba(e,n,r,t){var i=[],o=[],a=Math.min(n[r].low,n[t].low),u=Math.max(n[r].lim,n[t].lim),f,d;f=r;do f=e.parent(f),i.push(f);while(f&&(n[f].low>a||u>n[f].lim));for(d=f,f=t;(f=e.parent(f))!==d;)o.push(f);return{path:i.concat(o.reverse()),lca:d}}function wa(e){var n={},r=0;function t(i){var o=r;c(e.children(i),t),n[i]={low:o,lim:r++}}return c(e.children(),t),n}function ga(e,n){var r={};function t(i,o){var a=0,u=0,f=i.length,d=V(o);return c(o,function(s,l){var h=ya(e,s),v=h?e.node(h).order:f;(h||s===d)&&(c(o.slice(u,l+1),function(p){c(e.predecessors(p),function(w){var m=e.node(w),y=m.order;(y<a||v<y)&&!(m.dummy&&e.node(p).dummy)&&Sn(r,w,p)})}),u=l+1,a=v)}),o}return X(n,t),r}function ma(e,n){var r={};function t(o,a,u,f,d){var s;c(_(a,u),function(l){s=o[l],e.node(s).dummy&&c(e.predecessors(s),function(h){var v=e.node(h);v.dummy&&(v.order<f||v.order>d)&&Sn(r,h,s)})})}function i(o,a){var u=-1,f,d=0;return c(a,function(s,l){if(e.node(s).dummy==="border"){var h=e.predecessors(s);h.length&&(f=e.node(h[0]).order,t(a,d,l,u,f),d=l,u=f)}t(a,d,a.length,f,o.length)}),a}return X(n,i),r}function ya(e,n){if(e.node(n).dummy)return be(e.predecessors(n),function(r){return e.node(r).dummy})}function Sn(e,n,r){if(n>r){var t=n;n=r,r=t}Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=e[n];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function xa(e,n,r){if(n>r){var t=n;n=r,r=t}return!!e[n]&&Object.prototype.hasOwnProperty.call(e[n],r)}function Oa(e,n,r,t){var i={},o={},a={};return c(n,function(u){c(u,function(f,d){i[f]=f,o[f]=f,a[f]=d})}),c(n,function(u){var f=-1;c(u,function(d){var s=t(d);if(s.length){s=F(s,function(w){return a[w]});for(var l=(s.length-1)/2,h=Math.floor(l),v=Math.ceil(l);h<=v;++h){var p=s[h];o[d]===d&&f<a[p]&&!xa(r,d,p)&&(o[p]=d,o[d]=i[d]=i[p],f=a[p])}}})}),{root:i,align:o}}function Ea(e,n,r,t,i){var o={},a=Ta(e,n,r,i),u=i?"borderLeft":"borderRight";function f(l,h){for(var v=a.nodes(),p=v.pop(),w={};p;)w[p]?l(p):(w[p]=!0,v.push(p),v=v.concat(h(p))),p=v.pop()}function d(l){o[l]=a.inEdges(l).reduce(function(h,v){return Math.max(h,o[v.v]+a.edge(v))},0)}function s(l){var h=a.outEdges(l).reduce(function(p,w){return Math.min(p,o[w.w]-a.edge(w))},Number.POSITIVE_INFINITY),v=e.node(l);h!==Number.POSITIVE_INFINITY&&v.borderType!==u&&(o[l]=Math.max(o[l],h))}return f(d,a.predecessors.bind(a)),f(s,a.successors.bind(a)),c(t,function(l){o[l]=o[r[l]]}),o}function Ta(e,n,r,t){var i=new E,o=e.graph(),a=_a(o.nodesep,o.edgesep,t);return c(n,function(u){var f;c(u,function(d){var s=r[d];if(i.setNode(s),f){var l=r[f],h=i.edge(l,s);i.setEdge(l,s,Math.max(a(e,d,f),h||0))}f=d})}),i}function Pa(e,n){return ge(I(n),function(r){var t=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return Ht(r,function(o,a){var u=Ca(e,a)/2;t=Math.max(o+u,t),i=Math.min(o-u,i)}),t-i})}function La(e,n){var r=I(n),t=j(r),i=T(r);c(["u","d"],function(o){c(["l","r"],function(a){var u=o+a,f=e[u],d;if(f!==n){var s=I(f);d=a==="l"?t-j(s):i-T(s),d&&(e[u]=J(f,function(l){return l+d}))}})})}function Na(e,n){return J(e.ul,function(r,t){if(n)return e[n.toLowerCase()][t];var i=F(g(e,t));return(i[1]+i[2])/2})}function Ia(e){var n=Z(e),r=oe(ga(e,n),ma(e,n)),t={},i;c(["u","d"],function(a){i=a==="u"?n:I(n).reverse(),c(["l","r"],function(u){u==="r"&&(i=g(i,function(l){return I(l).reverse()}));var f=(a==="u"?e.predecessors:e.successors).bind(e),d=Oa(e,i,r,f),s=Ea(e,i,d.root,d.align,u==="r");u==="r"&&(s=J(s,function(l){return-l})),t[a+u]=s})});var o=Pa(e,t);return La(t,o),Na(t,e.graph().align)}function _a(e,n,r){return function(t,i,o){var a=t.node(i),u=t.node(o),f=0,d;if(f+=a.width/2,Object.prototype.hasOwnProperty.call(a,"labelpos"))switch(a.labelpos.toLowerCase()){case"l":d=-a.width/2;break;case"r":d=a.width/2;break}if(d&&(f+=r?d:-d),d=0,f+=(a.dummy?n:e)/2,f+=(u.dummy?n:e)/2,f+=u.width/2,Object.prototype.hasOwnProperty.call(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":d=u.width/2;break;case"r":d=-u.width/2;break}return d&&(f+=r?d:-d),d=0,f}}function Ca(e,n){return e.node(n).width}function Aa(e){e=yn(e),ka(e),zt(Ia(e),function(n,r){e.node(r).x=n})}function ka(e){var n=Z(e),r=e.graph().ranksep,t=0;c(n,function(i){var o=T(g(i,function(a){return e.node(a).height}));c(i,function(a){e.node(a).y=t+o/2}),t+=o+r})}function to(e,n){var r=Ii;r("layout",()=>{var t=r(" buildLayoutGraph",()=>Ua(e));r(" runLayout",()=>Sa(t,r)),r(" updateInputGraph",()=>ja(e,t))})}function Sa(e,n){n(" makeSpaceForEdgeLabels",()=>Va(e)),n(" removeSelfEdges",()=>Qa(e)),n(" acyclic",()=>xi(e)),n(" nestingGraph.run",()=>Hi(e)),n(" rank",()=>qi(yn(e))),n(" injectEdgeLabelProxies",()=>Wa(e)),n(" removeEmptyRanks",()=>Li(e)),n(" nestingGraph.cleanup",()=>Zi(e)),n(" normalizeRanks",()=>Pi(e)),n(" assignRankMinMax",()=>qa(e)),n(" removeEdgeLabelProxies",()=>Ka(e)),n(" normalize.run",()=>ji(e)),n(" parentDummyChains",()=>pa(e)),n(" addBorderSegments",()=>_i(e)),n(" order",()=>ha(e)),n(" insertSelfEdges",()=>eo(e)),n(" adjustCoordinateSystem",()=>Ci(e)),n(" position",()=>Aa(e)),n(" positionSelfEdges",()=>no(e)),n(" removeBorderNodes",()=>Za(e)),n(" normalize.undo",()=>Ri(e)),n(" fixupEdgeLabelCoords",()=>za(e)),n(" undoCoordinateSystem",()=>Ai(e)),n(" translateGraph",()=>Xa(e)),n(" assignNodeIntersects",()=>Ha(e)),n(" reversePoints",()=>Ja(e)),n(" acyclic.undo",()=>Ei(e))}function ja(e,n){c(e.nodes(),function(r){var t=e.node(r),i=n.node(r);t&&(t.x=i.x,t.y=i.y,n.children(r).length&&(t.width=i.width,t.height=i.height))}),c(e.edges(),function(r){var t=e.edge(r),i=n.edge(r);t.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(t.x=i.x,t.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var Ma=["nodesep","edgesep","ranksep","marginx","marginy"],Ra={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},$a=["acyclicer","ranker","rankdir","align"],Fa=["width","height"],Ba={width:0,height:0},Ga=["minlen","weight","width","height","labeloffset"],Da={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ya=["labelpos"];function Ua(e){var n=new E({multigraph:!0,compound:!0}),r=te(e.graph());return n.setGraph(oe({},Ra,re(r,Ma),W(r,$a))),c(e.nodes(),function(t){var i=te(e.node(t));n.setNode(t,Ut(re(i,Fa),Ba)),n.setParent(t,e.parent(t))}),c(e.edges(),function(t){var i=te(e.edge(t));n.setEdge(t,oe({},Da,re(i,Ga),W(i,Ya)))}),n}function Va(e){var n=e.graph();n.ranksep/=2,c(e.edges(),function(r){var t=e.edge(r);t.minlen*=2,t.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?t.width+=t.labeloffset:t.height+=t.labeloffset)})}function Wa(e){c(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var t=e.node(n.v),i=e.node(n.w),o={rank:(i.rank-t.rank)/2+t.rank,e:n};k(e,"edge-proxy",o,"_ep")}})}function qa(e){var n=0;c(e.nodes(),function(r){var t=e.node(r);t.borderTop&&(t.minRank=e.node(t.borderTop).rank,t.maxRank=e.node(t.borderBottom).rank,n=T(n,t.maxRank))}),e.graph().maxRank=n}function Ka(e){c(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function Xa(e){var n=Number.POSITIVE_INFINITY,r=0,t=Number.POSITIVE_INFINITY,i=0,o=e.graph(),a=o.marginx||0,u=o.marginy||0;function f(d){var s=d.x,l=d.y,h=d.width,v=d.height;n=Math.min(n,s-h/2),r=Math.max(r,s+h/2),t=Math.min(t,l-v/2),i=Math.max(i,l+v/2)}c(e.nodes(),function(d){f(e.node(d))}),c(e.edges(),function(d){var s=e.edge(d);Object.prototype.hasOwnProperty.call(s,"x")&&f(s)}),n-=a,t-=u,c(e.nodes(),function(d){var s=e.node(d);s.x-=n,s.y-=t}),c(e.edges(),function(d){var s=e.edge(d);c(s.points,function(l){l.x-=n,l.y-=t}),Object.prototype.hasOwnProperty.call(s,"x")&&(s.x-=n),Object.prototype.hasOwnProperty.call(s,"y")&&(s.y-=t)}),o.width=r-n+a,o.height=i-t+u}function Ha(e){c(e.edges(),function(n){var r=e.edge(n),t=e.node(n.v),i=e.node(n.w),o,a;r.points?(o=r.points[0],a=r.points[r.points.length-1]):(r.points=[],o=i,a=t),r.points.unshift(Fe(t,o)),r.points.push(Fe(i,a))})}function za(e){c(e.edges(),function(n){var r=e.edge(n);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function Ja(e){c(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Za(e){c(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),t=e.node(r.borderTop),i=e.node(r.borderBottom),o=e.node(V(r.borderLeft)),a=e.node(V(r.borderRight));r.width=Math.abs(a.x-o.x),r.height=Math.abs(i.y-t.y),r.x=o.x+r.width/2,r.y=t.y+r.height/2}}),c(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Qa(e){c(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function eo(e){var n=Z(e);c(n,function(r){var t=0;c(r,function(i,o){var a=e.node(i);a.order=o+t,c(a.selfEdges,function(u){k(e,"selfedge",{width:u.label.width,height:u.label.height,rank:a.rank,order:o+ ++t,e:u.e,label:u.label},"_se")}),delete a.selfEdges})})}function no(e){c(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var t=e.node(r.e.v),i=t.x+t.width/2,o=t.y,a=r.x-i,u=t.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:i+2*a/3,y:o-u},{x:i+5*a/6,y:o-u},{x:i+a,y:o},{x:i+5*a/6,y:o+u},{x:i+2*a/3,y:o+u}],r.label.x=r.x,r.label.y=r.y}})}function re(e,n){return J(W(e,n),Number)}function te(e){var n={};return c(e,function(r,t){n[t.toLowerCase()]=r}),n}export{D as b,to as l,g as m};