@theruansilva/omp-web 2.2.1 → 2.2.2

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 (74) hide show
  1. package/dist/client/assets/{CodeViewer-B61IQaP0.js → CodeViewer-DFvO6hY8.js} +1 -1
  2. package/dist/client/assets/{TerminalPanel-BcxMZQKk.js → TerminalPanel-zgTnfKO5.js} +1 -1
  3. package/dist/client/assets/{UnifiedDiffViewer-BnFQlZDg.js → UnifiedDiffViewer-BjuD29RQ.js} +1 -1
  4. package/dist/client/assets/_basePickBy-vr4256UX.js +1 -0
  5. package/dist/client/assets/_baseUniq-CHc60b6y.js +1 -0
  6. package/dist/client/assets/{abnfDiagram-O67JEVCF-BCWHgm_-.js → abnfDiagram-O67JEVCF-SLRtz9OB.js} +1 -1
  7. package/dist/client/assets/{arc-BUpZciy9.js → arc-CUNKbxyw.js} +1 -1
  8. package/dist/client/assets/{architectureDiagram-NJMV4G6O-CVWCwiqh.js → architectureDiagram-NJMV4G6O-Cg80o9g4.js} +1 -1
  9. package/dist/client/assets/{blockDiagram-BEXU5L5S-W5WSJa_J.js → blockDiagram-BEXU5L5S-nZRhUgoO.js} +2 -2
  10. package/dist/client/assets/{c4Diagram-YGBWAQC7-BWpacECA.js → c4Diagram-YGBWAQC7-B2q8gSrU.js} +1 -1
  11. package/dist/client/assets/channel-CI4_doFA.js +1 -0
  12. package/dist/client/assets/{chunk-2Q5K7J3B-D0TV4T28.js → chunk-2Q5K7J3B-flkpXKt7.js} +1 -1
  13. package/dist/client/assets/{chunk-3FUC2YCW-BlkJ2B9v.js → chunk-3FUC2YCW-kMKg81Pk.js} +2 -2
  14. package/dist/client/assets/{chunk-5VM5RSS4-LRh3HbZr.js → chunk-5VM5RSS4-3Lib-uGP.js} +1 -1
  15. package/dist/client/assets/{chunk-GTNCS2PH-CBiTovUf.js → chunk-GTNCS2PH-CdX8cblt.js} +1 -1
  16. package/dist/client/assets/{chunk-GWA4HPMP-Dnu3R9yI.js → chunk-GWA4HPMP-CwHQm4wS.js} +1 -1
  17. package/dist/client/assets/{chunk-JWPE2WC7-C2yjQs6c.js → chunk-JWPE2WC7-BsqVo0Tf.js} +1 -1
  18. package/dist/client/assets/{chunk-NETBCI7D-Dxos4L3P.js → chunk-NETBCI7D-p3q1dAb3.js} +1 -1
  19. package/dist/client/assets/{chunk-WEXAMYUT-DrLvxPom.js → chunk-WEXAMYUT-Bv_MfOEM.js} +1 -1
  20. package/dist/client/assets/{chunk-XXDRQBXY-Cub_nego.js → chunk-XXDRQBXY-w71UKmME.js} +1 -1
  21. package/dist/client/assets/{classDiagram-v2-NBCMYWYE-CIe2lhk7.js → classDiagram-v2-NBCMYWYE-Ch9Lx94A.js} +1 -1
  22. package/dist/client/assets/{cose-bilkent-JH36ORCC-DOGZoTZg.js → cose-bilkent-JH36ORCC-BrpIQScu.js} +1 -1
  23. package/dist/client/assets/{cynefin-OW5HDTMX-DXF0a63d.js → cynefin-OW5HDTMX-CRiWF9ki.js} +1 -1
  24. package/dist/client/assets/{cynefinDiagram-VND7K2PF-C_Qmhc8V.js → cynefinDiagram-VND7K2PF-qbMIgfpH.js} +1 -1
  25. package/dist/client/assets/dagre-6A5THRUB-CNLq2-K8.js +4 -0
  26. package/dist/client/assets/{diagram-22UHCM2B-CgN81sDZ.js → diagram-22UHCM2B-B8hKRE_o.js} +1 -1
  27. package/dist/client/assets/{diagram-3UASUU5V-Dk1gOSew.js → diagram-3UASUU5V-B4uZ3GNA.js} +1 -1
  28. package/dist/client/assets/{diagram-ATOU4E4O-C_tcqhr3.js → diagram-ATOU4E4O-CzGwlb-Y.js} +1 -1
  29. package/dist/client/assets/{diagram-CDSNMT55-Dj-WM3vk.js → diagram-CDSNMT55-BXiuQ_UO.js} +1 -1
  30. package/dist/client/assets/{diagram-MLGK6HIB-CDowox_d.js → diagram-MLGK6HIB-Dsw8Iqaq.js} +1 -1
  31. package/dist/client/assets/{diagram-MPIPVDR6-CaThzNCZ.js → diagram-MPIPVDR6-T4zPzapt.js} +1 -1
  32. package/dist/client/assets/{ebnfDiagram-ZINNZB2B-BZbLdwcz.js → ebnfDiagram-ZINNZB2B-CnvJApL-.js} +1 -1
  33. package/dist/client/assets/{elk-276RUBZZ-DGku1nk-.js → elk-276RUBZZ-C0qbqSzX.js} +3 -3
  34. package/dist/client/assets/{erDiagram-OPXOYQCR-D0nJ53i7.js → erDiagram-OPXOYQCR-CPCRCRVW.js} +1 -1
  35. package/dist/client/assets/{flowDiagram-KWPJA3E3-DeB8-O7Y.js → flowDiagram-KWPJA3E3-CRR5EuoG.js} +1 -1
  36. package/dist/client/assets/{ganttDiagram-FUAMR5RP-CBcW8sXy.js → ganttDiagram-FUAMR5RP-CCJy4INc.js} +1 -1
  37. package/dist/client/assets/{gitGraphDiagram-X574FWY7-CC-b8FLq.js → gitGraphDiagram-X574FWY7-BiGivFUj.js} +1 -1
  38. package/dist/client/assets/graph-C2De1HlQ.js +1 -0
  39. package/dist/client/assets/{index-CyN73uMY.js → index-DqFyJdiT.js} +5 -5
  40. package/dist/client/assets/{infoDiagram-VRGFBTTK-DL3QMN01.js → infoDiagram-VRGFBTTK-BdSqUdzZ.js} +1 -1
  41. package/dist/client/assets/{ishikawaDiagram-OU5B5YK6-Brt56LtP.js → ishikawaDiagram-OU5B5YK6-Bto15O_-.js} +1 -1
  42. package/dist/client/assets/{journeyDiagram-ZHPQQLJL-Df8VwbDr.js → journeyDiagram-ZHPQQLJL-C1FkG7_Y.js} +1 -1
  43. package/dist/client/assets/{kanban-definition-PNTS6WVX-cVbdWfVg.js → kanban-definition-PNTS6WVX-7Og64Ylp.js} +1 -1
  44. package/dist/client/assets/{linear-DugbH7BO.js → linear-CYEx6yMl.js} +1 -1
  45. package/dist/client/assets/{mindmap-definition-NLK3R4M7-BDqwqJMJ.js → mindmap-definition-NLK3R4M7-BDi04G8P.js} +1 -1
  46. package/dist/client/assets/{pegDiagram-GJSIUBJH-w6CrSKt0.js → pegDiagram-GJSIUBJH-niwxJYhI.js} +1 -1
  47. package/dist/client/assets/{pieDiagram-5QR66LMP-D0utByOI.js → pieDiagram-5QR66LMP-DUKBH1DT.js} +1 -1
  48. package/dist/client/assets/{quadrantDiagram-O4NWA36T-DIAIplx2.js → quadrantDiagram-O4NWA36T-DA4vON7R.js} +1 -1
  49. package/dist/client/assets/{railroadDiagram-XR7U4H2S-BX9P-jy7.js → railroadDiagram-XR7U4H2S-CHDT9c0L.js} +1 -1
  50. package/dist/client/assets/{requirementDiagram-PLB6GJNP-C55JlmRI.js → requirementDiagram-PLB6GJNP-D8QwjsX7.js} +1 -1
  51. package/dist/client/assets/{sankeyDiagram-IPEJSGJF-VeHnKI-a.js → sankeyDiagram-IPEJSGJF-DWGxFQm3.js} +1 -1
  52. package/dist/client/assets/{sequenceDiagram-PO4LG4MO-CTUoXviF.js → sequenceDiagram-PO4LG4MO-_ejeE6EX.js} +1 -1
  53. package/dist/client/assets/{sizeCapture-INFHLROL-DBKjJDUZ.js → sizeCapture-INFHLROL-QLEMuHkm.js} +1 -1
  54. package/dist/client/assets/{stateDiagram-v2-GCMORJYK-DzonJh3D.js → stateDiagram-v2-GCMORJYK-Gd_SeXN9.js} +1 -1
  55. package/dist/client/assets/swimlanes-2SLR337P-BOtWDtXR.js +1 -0
  56. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-CMZDG2D-.js +8 -0
  57. package/dist/client/assets/{timeline-definition-EJHVYXUP-C9nhaxck.js → timeline-definition-EJHVYXUP-DYl9dUjO.js} +1 -1
  58. package/dist/client/assets/usecaseDiagram-POWQR4AR-B_DlB3UM.js +370 -0
  59. package/dist/client/assets/{vennDiagram-UO4OBE2U-BigR6haV.js → vennDiagram-UO4OBE2U-Ded7JPVG.js} +1 -1
  60. package/dist/client/assets/{wardleyDiagram-VNRHLVJA-BXJexKTM.js → wardleyDiagram-VNRHLVJA-losDIeQr.js} +1 -1
  61. package/dist/client/assets/{xychartDiagram-PMCCYNJV-HL5cuxsZ.js → xychartDiagram-PMCCYNJV-B7_BBfaW.js} +1 -1
  62. package/dist/client/index.html +1 -1
  63. package/dist/omp-web-plugins/updates/updatesLogic.js +2 -2
  64. package/dist/server/sessions/generativeUiPrompt.js +44 -0
  65. package/dist/server/sessions/generativeUiPrompt.js.map +1 -0
  66. package/dist/server/sessions/piSessionService.js +3 -1
  67. package/dist/server/sessions/piSessionService.js.map +1 -1
  68. package/package.json +1 -1
  69. package/dist/client/assets/channel-ChkqWR3Z.js +0 -1
  70. package/dist/client/assets/dagre-6A5THRUB-CEhDrD4X.js +0 -4
  71. package/dist/client/assets/graph-D8UmR1vK.js +0 -1
  72. package/dist/client/assets/swimlanes-2SLR337P-Cnsd5mvJ.js +0 -1
  73. package/dist/client/assets/swimlanesDiagram-TC7HE7FX-iyBCc4Xc.js +0 -8
  74. package/dist/client/assets/usecaseDiagram-POWQR4AR-jfXBWSzR.js +0 -370
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/elk-276RUBZZ-DGku1nk-.js","assets/chunk-NETBCI7D-Dxos4L3P.js","assets/chunk-3FUC2YCW-BlkJ2B9v.js","assets/graph-D8UmR1vK.js","assets/vendor-editor-core-D-5q2tVX.js","assets/vendor-editor-languages-B6WRt0aC.js","assets/dagre-6A5THRUB-CEhDrD4X.js","assets/swimlanes-2SLR337P-Cnsd5mvJ.js","assets/cose-bilkent-JH36ORCC-DOGZoTZg.js","assets/cytoscape.esm-BB4DxJjf.js","assets/c4Diagram-YGBWAQC7-BWpacECA.js","assets/chunk-GWA4HPMP-Dnu3R9yI.js","assets/flowDiagram-KWPJA3E3-DeB8-O7Y.js","assets/chunk-5VM5RSS4-LRh3HbZr.js","assets/chunk-XXDRQBXY-Cub_nego.js","assets/chunk-WEXAMYUT-DrLvxPom.js","assets/channel-ChkqWR3Z.js","assets/diagram-22UHCM2B-CgN81sDZ.js","assets/swimlanesDiagram-TC7HE7FX-iyBCc4Xc.js","assets/erDiagram-OPXOYQCR-D0nJ53i7.js","assets/gitGraphDiagram-X574FWY7-CC-b8FLq.js","assets/chunk-2Q5K7J3B-D0TV4T28.js","assets/chunk-JWPE2WC7-C2yjQs6c.js","assets/cynefin-OW5HDTMX-DXF0a63d.js","assets/ganttDiagram-FUAMR5RP-CBcW8sXy.js","assets/linear-DugbH7BO.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-VRGFBTTK-DL3QMN01.js","assets/pieDiagram-5QR66LMP-D0utByOI.js","assets/arc-BUpZciy9.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-O4NWA36T-DIAIplx2.js","assets/xychartDiagram-PMCCYNJV-HL5cuxsZ.js","assets/requirementDiagram-PLB6GJNP-C55JlmRI.js","assets/sequenceDiagram-PO4LG4MO-CTUoXviF.js","assets/classDiagram-v2-NBCMYWYE-CIe2lhk7.js","assets/stateDiagram-v2-GCMORJYK-DzonJh3D.js","assets/journeyDiagram-ZHPQQLJL-Df8VwbDr.js","assets/timeline-definition-EJHVYXUP-C9nhaxck.js","assets/mindmap-definition-NLK3R4M7-BDqwqJMJ.js","assets/kanban-definition-PNTS6WVX-cVbdWfVg.js","assets/sankeyDiagram-IPEJSGJF-VeHnKI-a.js","assets/diagram-MLGK6HIB-CDowox_d.js","assets/diagram-MPIPVDR6-CaThzNCZ.js","assets/blockDiagram-BEXU5L5S-W5WSJa_J.js","assets/diagram-CDSNMT55-Dj-WM3vk.js","assets/architectureDiagram-NJMV4G6O-CVWCwiqh.js","assets/diagram-ATOU4E4O-C_tcqhr3.js","assets/ishikawaDiagram-OU5B5YK6-Brt56LtP.js","assets/vennDiagram-UO4OBE2U-BigR6haV.js","assets/diagram-3UASUU5V-Dk1gOSew.js","assets/usecaseDiagram-POWQR4AR-jfXBWSzR.js","assets/wardleyDiagram-VNRHLVJA-BXJexKTM.js","assets/cynefinDiagram-VND7K2PF-C_Qmhc8V.js","assets/railroadDiagram-XR7U4H2S-BX9P-jy7.js","assets/chunk-GTNCS2PH-CBiTovUf.js","assets/ebnfDiagram-ZINNZB2B-BZbLdwcz.js","assets/abnfDiagram-O67JEVCF-BCWHgm_-.js","assets/pegDiagram-GJSIUBJH-w6CrSKt0.js","assets/CodeViewer-B61IQaP0.js","assets/UnifiedDiffViewer-BnFQlZDg.js","assets/TerminalPanel-BcxMZQKk.js","assets/vendor-terminal-DjQ08hXu.js","assets/vendor-terminal-DDGTF8rc.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/elk-276RUBZZ-C0qbqSzX.js","assets/chunk-NETBCI7D-p3q1dAb3.js","assets/chunk-3FUC2YCW-kMKg81Pk.js","assets/graph-C2De1HlQ.js","assets/_baseUniq-CHc60b6y.js","assets/vendor-editor-core-D-5q2tVX.js","assets/vendor-editor-languages-B6WRt0aC.js","assets/dagre-6A5THRUB-CNLq2-K8.js","assets/_basePickBy-vr4256UX.js","assets/swimlanes-2SLR337P-BOtWDtXR.js","assets/cose-bilkent-JH36ORCC-BrpIQScu.js","assets/cytoscape.esm-BB4DxJjf.js","assets/c4Diagram-YGBWAQC7-B2q8gSrU.js","assets/chunk-GWA4HPMP-CwHQm4wS.js","assets/flowDiagram-KWPJA3E3-CRR5EuoG.js","assets/chunk-5VM5RSS4-3Lib-uGP.js","assets/chunk-XXDRQBXY-w71UKmME.js","assets/chunk-WEXAMYUT-Bv_MfOEM.js","assets/channel-CI4_doFA.js","assets/diagram-22UHCM2B-B8hKRE_o.js","assets/swimlanesDiagram-TC7HE7FX-CMZDG2D-.js","assets/erDiagram-OPXOYQCR-CPCRCRVW.js","assets/gitGraphDiagram-X574FWY7-BiGivFUj.js","assets/chunk-2Q5K7J3B-flkpXKt7.js","assets/chunk-JWPE2WC7-BsqVo0Tf.js","assets/cynefin-OW5HDTMX-CRiWF9ki.js","assets/ganttDiagram-FUAMR5RP-CCJy4INc.js","assets/linear-CYEx6yMl.js","assets/init-Gi6I4Gst.js","assets/defaultLocale-DX6XiGOO.js","assets/infoDiagram-VRGFBTTK-BdSqUdzZ.js","assets/pieDiagram-5QR66LMP-DUKBH1DT.js","assets/arc-CUNKbxyw.js","assets/ordinal-Cboi1Yqb.js","assets/quadrantDiagram-O4NWA36T-DA4vON7R.js","assets/xychartDiagram-PMCCYNJV-B7_BBfaW.js","assets/requirementDiagram-PLB6GJNP-D8QwjsX7.js","assets/sequenceDiagram-PO4LG4MO-_ejeE6EX.js","assets/classDiagram-v2-NBCMYWYE-Ch9Lx94A.js","assets/stateDiagram-v2-GCMORJYK-Gd_SeXN9.js","assets/journeyDiagram-ZHPQQLJL-C1FkG7_Y.js","assets/timeline-definition-EJHVYXUP-DYl9dUjO.js","assets/mindmap-definition-NLK3R4M7-BDi04G8P.js","assets/kanban-definition-PNTS6WVX-7Og64Ylp.js","assets/sankeyDiagram-IPEJSGJF-DWGxFQm3.js","assets/diagram-MLGK6HIB-Dsw8Iqaq.js","assets/diagram-MPIPVDR6-T4zPzapt.js","assets/blockDiagram-BEXU5L5S-nZRhUgoO.js","assets/diagram-CDSNMT55-BXiuQ_UO.js","assets/architectureDiagram-NJMV4G6O-Cg80o9g4.js","assets/diagram-ATOU4E4O-CzGwlb-Y.js","assets/ishikawaDiagram-OU5B5YK6-Bto15O_-.js","assets/vennDiagram-UO4OBE2U-Ded7JPVG.js","assets/diagram-3UASUU5V-B4uZ3GNA.js","assets/usecaseDiagram-POWQR4AR-B_DlB3UM.js","assets/wardleyDiagram-VNRHLVJA-losDIeQr.js","assets/cynefinDiagram-VND7K2PF-qbMIgfpH.js","assets/railroadDiagram-XR7U4H2S-CHDT9c0L.js","assets/chunk-GTNCS2PH-CdX8cblt.js","assets/ebnfDiagram-ZINNZB2B-CnvJApL-.js","assets/abnfDiagram-O67JEVCF-SLRtz9OB.js","assets/pegDiagram-GJSIUBJH-niwxJYhI.js","assets/CodeViewer-DFvO6hY8.js","assets/UnifiedDiffViewer-BjuD29RQ.js","assets/TerminalPanel-zgTnfKO5.js","assets/vendor-terminal-DjQ08hXu.js","assets/vendor-terminal-DDGTF8rc.css"])))=>i.map(i=>d[i]);
2
2
  import{V as kp,w as Ho,J as Sp,W as xb,X as vb,Y as M7,Z as A7,G as B7,S as _7,_ as L7,A as P7,$ as E7,R as R7,x as wb,a0 as kb,a1 as I7,U as z7}from"./vendor-editor-core-D-5q2tVX.js";import{m as D7,d as F7,i as O7}from"./vendor-editor-languages-B6WRt0aC.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function i(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=i(s);fetch(s.href,o)}})();const Gh=globalThis,Ig=Gh.ShadowRoot&&(Gh.ShadyCSS===void 0||Gh.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,zg=Symbol(),Sb=new WeakMap;let Zw=class{constructor(t,i,r){if(this._$cssResult$=!0,r!==zg)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=i}get styleSheet(){let t=this.o;const i=this.t;if(Ig&&t===void 0){const r=i!==void 0&&i.length===1;r&&(t=Sb.get(i)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&Sb.set(i,t))}return t}toString(){return this.cssText}};const Qw=e=>new Zw(typeof e=="string"?e:e+"",void 0,zg),_e=(e,...t)=>{const i=e.length===1?e[0]:t.reduce((r,s,o)=>r+(a=>{if(a._$cssResult$===!0)return a.cssText;if(typeof a=="number")return a;throw Error("Value passed to 'css' function must be a 'css' function result: "+a+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+e[o+1],e[0]);return new Zw(i,e,zg)},N7=(e,t)=>{if(Ig)e.adoptedStyleSheets=t.map(i=>i instanceof CSSStyleSheet?i:i.styleSheet);else for(const i of t){const r=document.createElement("style"),s=Gh.litNonce;s!==void 0&&r.setAttribute("nonce",s),r.textContent=i.cssText,e.appendChild(r)}},Cb=Ig?e=>e:e=>e instanceof CSSStyleSheet?(t=>{let i="";for(const r of t.cssRules)i+=r.cssText;return Qw(i)})(e):e;const{is:W7,defineProperty:q7,getOwnPropertyDescriptor:H7,getOwnPropertyNames:j7,getOwnPropertySymbols:U7,getPrototypeOf:Y7}=Object,yu=globalThis,Tb=yu.trustedTypes,G7=Tb?Tb.emptyScript:"",X7=yu.reactiveElementPolyfillSupport,lc=(e,t)=>e,bd={toAttribute(e,t){switch(t){case Boolean:e=e?G7:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=e!==null;break;case Number:i=e===null?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch{i=null}}return i}},Dg=(e,t)=>!W7(e,t),$b={attribute:!0,type:String,converter:bd,reflect:!1,useDefault:!1,hasChanged:Dg};Symbol.metadata??=Symbol("metadata"),yu.litPropertyMetadata??=new WeakMap;let wn=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,i=$b){if(i.state&&(i.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((i=Object.create(i)).wrapped=!0),this.elementProperties.set(t,i),!i.noAccessor){const r=Symbol(),s=this.getPropertyDescriptor(t,r,i);s!==void 0&&q7(this.prototype,t,s)}}static getPropertyDescriptor(t,i,r){const{get:s,set:o}=H7(this.prototype,t)??{get(){return this[i]},set(a){this[i]=a}};return{get:s,set(a){const n=s?.call(this);o?.call(this,a),this.requestUpdate(t,n,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??$b}static _$Ei(){if(this.hasOwnProperty(lc("elementProperties")))return;const t=Y7(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(lc("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(lc("properties"))){const i=this.properties,r=[...j7(i),...U7(i)];for(const s of r)this.createProperty(s,i[s])}const t=this[Symbol.metadata];if(t!==null){const i=litPropertyMetadata.get(t);if(i!==void 0)for(const[r,s]of i)this.elementProperties.set(r,s)}this._$Eh=new Map;for(const[i,r]of this.elementProperties){const s=this._$Eu(i,r);s!==void 0&&this._$Eh.set(s,i)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const i=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const s of r)i.unshift(Cb(s))}else t!==void 0&&i.push(Cb(t));return i}static _$Eu(t,i){const r=i.attribute;return r===!1?void 0:typeof r=="string"?r:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,i=this.constructor.elementProperties;for(const r of i.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return N7(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,i,r){this._$AK(t,r)}_$ET(t,i){const r=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,r);if(s!==void 0&&r.reflect===!0){const o=(r.converter?.toAttribute!==void 0?r.converter:bd).toAttribute(i,r.type);this._$Em=t,o==null?this.removeAttribute(s):this.setAttribute(s,o),this._$Em=null}}_$AK(t,i){const r=this.constructor,s=r._$Eh.get(t);if(s!==void 0&&this._$Em!==s){const o=r.getPropertyOptions(s),a=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:bd;this._$Em=s;const n=a.fromAttribute(i,o.type);this[s]=n??this._$Ej?.get(s)??n,this._$Em=null}}requestUpdate(t,i,r,s=!1,o){if(t!==void 0){const a=this.constructor;if(s===!1&&(o=this[t]),r??=a.getPropertyOptions(t),!((r.hasChanged??Dg)(o,i)||r.useDefault&&r.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(a._$Eu(t,r))))return;this.C(t,i,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,i,{useDefault:r,reflect:s,wrapped:o},a){r&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,a??i??this[t]),o!==!0||a!==void 0)||(this._$AL.has(t)||(this.hasUpdated||r||(i=void 0),this._$AL.set(t,i)),s===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(i){Promise.reject(i)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[s,o]of this._$Ep)this[s]=o;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[s,o]of r){const{wrapped:a}=o,n=this[s];a!==!0||this._$AL.has(s)||n===void 0||this.C(s,void 0,o,n)}}let t=!1;const i=this._$AL;try{t=this.shouldUpdate(i),t?(this.willUpdate(i),this._$EO?.forEach(r=>r.hostUpdate?.()),this.update(i)):this._$EM()}catch(r){throw t=!1,this._$EM(),r}t&&this._$AE(i)}willUpdate(t){}_$AE(t){this._$EO?.forEach(i=>i.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(i=>this._$ET(i,this[i])),this._$EM()}updated(t){}firstUpdated(t){}};wn.elementStyles=[],wn.shadowRootOptions={mode:"open"},wn[lc("elementProperties")]=new Map,wn[lc("finalized")]=new Map,X7?.({ReactiveElement:wn}),(yu.reactiveElementVersions??=[]).push("2.1.2");const Fg=globalThis,Mb=e=>e,yd=Fg.trustedTypes,Ab=yd?yd.createPolicy("lit-html",{createHTML:e=>e}):void 0,Jw="$lit$",ta=`lit$${Math.random().toFixed(9).slice(2)}$`,tk="?"+ta,V7=`<${tk}>`,Ya=document,xc=()=>Ya.createComment(""),vc=e=>e===null||typeof e!="object"&&typeof e!="function",Og=Array.isArray,K7=e=>Og(e)||typeof e?.[Symbol.iterator]=="function",Cp=`[
3
3
  \f\r]`,Ml=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Bb=/-->/g,_b=/>/g,Ca=RegExp(`>|${Cp}(?:([^\\s"'>=/]+)(${Cp}*=${Cp}*(?:[^
4
4
  \f\r"'\`<>=]|("|')|))|$)`,"g"),Lb=/'/g,Pb=/"/g,ek=/^(?:script|style|textarea|title)$/i,ik=e=>(t,...i)=>({_$litType$:e,strings:t,values:i}),T=ik(1),Dr=ik(2),aa=Symbol.for("lit-noChange"),Qe=Symbol.for("lit-nothing"),Eb=new WeakMap,Da=Ya.createTreeWalker(Ya,129);function rk(e,t){if(!Og(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ab!==void 0?Ab.createHTML(t):t}const Z7=(e,t)=>{const i=e.length-1,r=[];let s,o=t===2?"<svg>":t===3?"<math>":"",a=Ml;for(let n=0;n<i;n++){const l=e[n];let c,h,d=-1,u=0;for(;u<l.length&&(a.lastIndex=u,h=a.exec(l),h!==null);)u=a.lastIndex,a===Ml?h[1]==="!--"?a=Bb:h[1]!==void 0?a=_b:h[2]!==void 0?(ek.test(h[2])&&(s=RegExp("</"+h[2],"g")),a=Ca):h[3]!==void 0&&(a=Ca):a===Ca?h[0]===">"?(a=s??Ml,d=-1):h[1]===void 0?d=-2:(d=a.lastIndex-h[2].length,c=h[1],a=h[3]===void 0?Ca:h[3]==='"'?Pb:Lb):a===Pb||a===Lb?a=Ca:a===Bb||a===_b?a=Ml:(a=Ca,s=void 0);const p=a===Ca&&e[n+1].startsWith("/>")?" ":"";o+=a===Ml?l+V7:d>=0?(r.push(c),l.slice(0,d)+Jw+l.slice(d)+ta+p):l+ta+(d===-2?n:p)}return[rk(e,o+(e[i]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]};let lf=class sk{constructor({strings:t,_$litType$:i},r){let s;this.parts=[];let o=0,a=0;const n=t.length-1,l=this.parts,[c,h]=Z7(t,i);if(this.el=sk.createElement(c,r),Da.currentNode=this.el.content,i===2||i===3){const d=this.el.content.firstChild;d.replaceWith(...d.childNodes)}for(;(s=Da.nextNode())!==null&&l.length<n;){if(s.nodeType===1){if(s.hasAttributes())for(const d of s.getAttributeNames())if(d.endsWith(Jw)){const u=h[a++],p=s.getAttribute(d).split(ta),f=/([.?@])?(.*)/.exec(u);l.push({type:1,index:o,name:f[2],strings:p,ctor:f[1]==="."?J7:f[1]==="?"?tT:f[1]==="@"?eT:vu}),s.removeAttribute(d)}else d.startsWith(ta)&&(l.push({type:6,index:o}),s.removeAttribute(d));if(ek.test(s.tagName)){const d=s.textContent.split(ta),u=d.length-1;if(u>0){s.textContent=yd?yd.emptyScript:"";for(let p=0;p<u;p++)s.append(d[p],xc()),Da.nextNode(),l.push({type:2,index:++o});s.append(d[u],xc())}}}else if(s.nodeType===8)if(s.data===tk)l.push({type:2,index:o});else{let d=-1;for(;(d=s.data.indexOf(ta,d+1))!==-1;)l.push({type:7,index:o}),d+=ta.length-1}o++}}static createElement(t,i){const r=Ya.createElement("template");return r.innerHTML=t,r}};function Qn(e,t,i=e,r){if(t===aa)return t;let s=r!==void 0?i._$Co?.[r]:i._$Cl;const o=vc(t)?void 0:t._$litDirective$;return s?.constructor!==o&&(s?._$AO?.(!1),o===void 0?s=void 0:(s=new o(e),s._$AT(e,i,r)),r!==void 0?(i._$Co??=[])[r]=s:i._$Cl=s),s!==void 0&&(t=Qn(e,s._$AS(e,t.values),s,r)),t}let Q7=class{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:r}=this._$AD,s=(t?.creationScope??Ya).importNode(i,!0);Da.currentNode=s;let o=Da.nextNode(),a=0,n=0,l=r[0];for(;l!==void 0;){if(a===l.index){let c;l.type===2?c=new xu(o,o.nextSibling,this,t):l.type===1?c=new l.ctor(o,l.name,l.strings,this,t):l.type===6&&(c=new iT(o,this,t)),this._$AV.push(c),l=r[++n]}a!==l?.index&&(o=Da.nextNode(),a++)}return Da.currentNode=Ya,s}p(t){let i=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,i),i+=r.strings.length-2):r._$AI(t[i])),i++}},xu=class ok{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,r,s){this.type=2,this._$AH=Qe,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=r,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return i!==void 0&&t?.nodeType===11&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=Qn(this,t,i),vc(t)?t===Qe||t==null||t===""?(this._$AH!==Qe&&this._$AR(),this._$AH=Qe):t!==this._$AH&&t!==aa&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):K7(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==Qe&&vc(this._$AH)?this._$AA.nextSibling.data=t:this.T(Ya.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:r}=t,s=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=lf.createElement(rk(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===s)this._$AH.p(i);else{const o=new Q7(s,this),a=o.u(this.options);o.p(i),this.T(a),this._$AH=o}}_$AC(t){let i=Eb.get(t.strings);return i===void 0&&Eb.set(t.strings,i=new lf(t)),i}k(t){Og(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let r,s=0;for(const o of t)s===i.length?i.push(r=new ok(this.O(xc()),this.O(xc()),this,this.options)):r=i[s],r._$AI(o),s++;s<i.length&&(this._$AR(r&&r._$AB.nextSibling,s),i.length=s)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const r=Mb(t).nextSibling;Mb(t).remove(),t=r}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}},vu=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,r,s,o){this.type=1,this._$AH=Qe,this._$AN=void 0,this.element=t,this.name=i,this._$AM=s,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=Qe}_$AI(t,i=this,r,s){const o=this.strings;let a=!1;if(o===void 0)t=Qn(this,t,i,0),a=!vc(t)||t!==this._$AH&&t!==aa,a&&(this._$AH=t);else{const n=t;let l,c;for(t=o[0],l=0;l<o.length-1;l++)c=Qn(this,n[r+l],i,l),c===aa&&(c=this._$AH[l]),a||=!vc(c)||c!==this._$AH[l],c===Qe?t=Qe:t!==Qe&&(t+=(c??"")+o[l+1]),this._$AH[l]=c}a&&!s&&this.j(t)}j(t){t===Qe?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}},J7=class extends vu{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===Qe?void 0:t}},tT=class extends vu{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==Qe)}},eT=class extends vu{constructor(t,i,r,s,o){super(t,i,r,s,o),this.type=5}_$AI(t,i=this){if((t=Qn(this,t,i,0)??Qe)===aa)return;const r=this._$AH,s=t===Qe&&r!==Qe||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,o=t!==Qe&&(r===Qe||s);s&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}},iT=class{constructor(t,i,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){Qn(this,t)}};const rT={I:xu},sT=Fg.litHtmlPolyfillSupport;sT?.(lf,xu),(Fg.litHtmlVersions??=[]).push("3.3.3");const oT=(e,t,i)=>{const r=i?.renderBefore??t;let s=r._$litPart$;if(s===void 0){const o=i?.renderBefore??null;r._$litPart$=s=new xu(t.insertBefore(xc(),o),o,void 0,i??{})}return s._$AI(e),s};const Ng=globalThis;let we=class extends wn{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const i=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=oT(i,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return aa}};we._$litElement$=!0,we.finalized=!0,Ng.litElementHydrateSupport?.({LitElement:we});const aT=Ng.litElementPolyfillSupport;aT?.({LitElement:we});(Ng.litElementVersions??=[]).push("4.2.2");function ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Je(e){return e instanceof Error?e.message:String(e)}const Ae=e=>(t,i)=>{i!==void 0?i.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)};const nT={attribute:!0,type:String,converter:bd,reflect:!1,hasChanged:Dg},lT=(e=nT,t,i)=>{const{kind:r,metadata:s}=i;let o=globalThis.litPropertyMetadata.get(s);if(o===void 0&&globalThis.litPropertyMetadata.set(s,o=new Map),r==="setter"&&((e=Object.create(e)).wrapped=!0),o.set(i.name,e),r==="accessor"){const{name:a}=i;return{set(n){const l=t.get.call(this);t.set.call(this,n),this.requestUpdate(a,l,e,!0,n)},init(n){return n!==void 0&&this.C(a,void 0,e,n),n}}}if(r==="setter"){const{name:a}=i;return function(n){const l=this[a];t.call(this,n),this.requestUpdate(a,l,e,!0,n)}}throw Error("Unsupported decorator location: "+r)};function P(e){return(t,i)=>typeof i=="object"?lT(e,t,i):((r,s,o)=>{const a=s.hasOwnProperty(o);return s.constructor.createProperty(o,r),a?Object.getOwnPropertyDescriptor(s,o):void 0})(e,t,i)}function Ct(e){return P({...e,state:!0,attribute:!1})}const cT=(e,t,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(e,t,i),i);function ui(e,t){return(i,r,s)=>{const o=a=>a.renderRoot?.querySelector(e)??null;return cT(i,r,{get(){return o(this)}})}}async function Ut(e,t){const i=new Headers(t?.headers);t?.body!==void 0&&!i.has("content-type")&&i.set("content-type","application/json");const r=await fetch(e,{...t,headers:i});if(!r.ok){const s=await r.json().catch(()=>({}));throw new Error(hT(s)??r.statusText)}return await r.json()}function hT(e){if(ki(e))return typeof e.error=="string"?e.error:void 0}function dT(e){return typeof e=="string"?e:e.id}function uT(e){return typeof e=="string"?void 0:e.cwd}function pT(e,t,i,r){const s=new URLSearchParams;r?.path!==void 0&&s.set("path",r.path),r?.staged===!0&&s.set("staged","true");const o=s.toString();return`/api/machines/${encodeURIComponent(e)}/projects/${encodeURIComponent(t)}/workspaces/${encodeURIComponent(i)}/git/diff${o?`?${o}`:""}`}function fT(e,t,i="local"){const r=new URLSearchParams,s=uT(e);s!==void 0&&s!==""&&r.set("cwd",s),t?.limit!==void 0&&r.set("limit",String(t.limit)),t?.before!==void 0&&r.set("before",String(t.before));const o=r.toString();return`/api/machines/${encodeURIComponent(i)}/sessions/${encodeURIComponent(dT(e))}/messages${o===""?"":`?${o}`}`}function gT(e,t,i,r){const s=new URLSearchParams({path:i});return r?.createDirs===!1&&s.set("createDirs","false"),r?.overwrite===!1&&s.set("overwrite","false"),`${`/api/machines/${encodeURIComponent(r?.machineId??"local")}`}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${s.toString()}`}function Rb(e,t,i,r){const s=new URLSearchParams;return s.set("path",i),r?.modifiedAt!==void 0&&s.set("v",r.modifiedAt),`${`/api/machines/${encodeURIComponent(r?.machineId??"local")}`}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/preview?${s.toString()}`}function Ib(e,t,i,r){const s=new URLSearchParams({path:i});return`${`/api/machines/${encodeURIComponent(r?.machineId??"local")}`}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/raw?${s.toString()}`}const ve=(e="local")=>`/api/machines/${encodeURIComponent(e)}`;function ak(e){return typeof e=="string"?e:e.id}function Wg(e){return typeof e=="string"?void 0:e.cwd}function nk(e,t="local"){return`${ve(t)}/sessions/${encodeURIComponent(ak(e))}`}function Ri(e,t,i="local"){return`${nk(e,i)}/${t}`}function hh(e,t,i="local"){return`${Ri(e,t,i)}${lk(e)}`}function mT(e,t="local"){return`${nk(e,t)}${lk(e)}`}function lk(e){const t=Wg(e);return t===void 0||t===""?"":`?${new URLSearchParams({cwd:t}).toString()}`}function qi(e,t={}){const i=Wg(e);return JSON.stringify(i===void 0||i===""?t:{cwd:i,...t})}function zb(e){return JSON.stringify({sessions:e.map(bT)})}function bT(e){const t=ak(e),i=Wg(e);return i===void 0||i===""?{id:t}:{id:t,cwd:i}}const ck={ompWebStatus:(e="local")=>Ut(e==="local"?"/api/omp-web/status":`${ve(e)}/omp-web/status`),ompWebRuntime:()=>Ut("/api/omp-web/runtime")},yT={machines:async()=>{const e=await Ut("/api/machines");return Array.isArray(e)?e:e.machines??[]},addMachine:e=>Ut("/api/machines",{method:"POST",body:JSON.stringify(e)}),deleteMachine:e=>Ut(`/api/machines/${encodeURIComponent(e)}`,{method:"DELETE"}),health:e=>Ut(`/api/machines/${encodeURIComponent(e)}/health`),runtime:e=>Ut(`/api/machines/${encodeURIComponent(e)}/runtime`)};function Db(e){return e===void 0?"/api/config":`${ve(e)}/config`}function xT(e){return e===void 0?"/api/plugins":`${ve(e)}/plugins`}const zs={config:e=>Ut(Db(e)),saveConfig:(e,t)=>Ut(Db(t),{method:"PUT",body:JSON.stringify({config:e})})},Ul={plugins:e=>Ut(xT(e))};function dh(e="",t){const i=t===void 0?"/api/pi-packages":`${ve(t)}/pi-packages`;return e===""?i:`${i}/${e}`}const Yl={packages:e=>Ut(dh("",e)),install:(e,t)=>{const i={source:e};return Ut(dh("install",t),{method:"POST",body:JSON.stringify(i)})},remove:(e,t,i)=>{const r=t===void 0?{source:e}:{source:e,scope:t};return Ut(dh("remove",i),{method:"POST",body:JSON.stringify(r)})},update:(e,t)=>{const i=e===void 0?void 0:{source:e};return Ut(dh("update",t),{method:"POST",...i===void 0?{}:{body:JSON.stringify(i)}})}},hk={workspaceActivity:(e="local")=>Ut(`${ve(e)}/activity`)},vT={projects:(e="local")=>Ut(`${ve(e)}/projects`),addProject:(e,t,i,r="local")=>Ut(`${ve(r)}/projects`,{method:"POST",body:JSON.stringify({path:e,name:t,create:i})}),closeProject:(e,t="local")=>Ut(`${ve(t)}/projects/${encodeURIComponent(e)}`,{method:"DELETE"}),projectDirectories:(e,t="local")=>Ut(`${ve(t)}/project-directories?q=${encodeURIComponent(e)}`)},kn={workspaces:(e,t="local")=>Ut(`${ve(t)}/projects/${e}/workspaces`),deleteWorkspace:(e,t,i="local")=>Ut(`${ve(i)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}`,{method:"DELETE"}),workspaceTree:(e,t,i="",r="local")=>Ut(`${ve(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/tree?path=${encodeURIComponent(i)}`),workspaceFile:(e,t,i,r="local")=>Ut(`${ve(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?path=${encodeURIComponent(i)}`),writeWorkspaceFile:(e,t,i,r,s,o="local")=>{const a=new URLSearchParams({path:i});s?.createDirs===!1&&a.set("createDirs","false"),s?.overwrite===!1&&a.set("overwrite","false");const n=r instanceof Uint8Array,l=n?new Uint8Array(r):new TextEncoder().encode(r);return Ut(`${ve(o)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${a.toString()}`,{method:"PUT",body:l,headers:{"Content-Type":n?"application/octet-stream":"text/plain"}})},deleteWorkspaceFile:(e,t,i,r="local")=>{const s=new URLSearchParams({path:i});return Ut(`${ve(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file?${s.toString()}`,{method:"DELETE"})},moveWorkspaceFile:(e,t,i,r,s,o="local")=>{const a=new URLSearchParams({fromPath:i,toPath:r});return s?.createDirs===!1&&a.set("createDirs","false"),s?.overwrite===!0&&a.set("overwrite","true"),Ut(`${ve(o)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/file/move?${a.toString()}`,{method:"POST"})}},cf={sessions:(e,t="local")=>Ut(`${ve(t)}/sessions?cwd=${encodeURIComponent(e)}`),startSession:(e,t="local")=>Ut(`${ve(t)}/sessions`,{method:"POST",body:JSON.stringify({cwd:e})}),cleanupPreview:(e,t="local")=>Ut(`${ve(t)}/sessions/cleanup/preview`,{method:"POST",body:JSON.stringify(e)}),cleanup:(e,t="local")=>Ut(`${ve(t)}/sessions/cleanup`,{method:"POST",body:JSON.stringify(e)}),archiveMany:(e,t="local")=>Ut(`${ve(t)}/sessions/bulk/archive`,{method:"POST",body:zb(e)}),deleteArchivedMany:(e,t="local")=>Ut(`${ve(t)}/sessions/bulk/delete-archived`,{method:"POST",body:zb(e)}),messages:(e,t,i="local")=>Ut(fT(e,t,i)),status:(e,t="local")=>Ut(hh(e,"status",t)),models:(e,t="local")=>Ut(hh(e,"models",t)),setModel:(e,t,i,r,s)=>{const o=typeof r=="boolean"?r:void 0;return Ut(Ri(e,"model",typeof r=="string"?r:s??"local"),{method:"POST",body:qi(e,{provider:t,modelId:i,...o===!0?{persist:!0}:{}})})},cycleModel:(e,t,i="local")=>Ut(Ri(e,"model/cycle",i),{method:"POST",body:qi(e,{direction:t})}),thinkingLevels:(e,t="local")=>Ut(hh(e,"thinking-levels",t)),setThinkingLevel:(e,t,i="local")=>Ut(Ri(e,"thinking-level",i),{method:"POST",body:qi(e,{level:t})}),cycleThinkingLevel:(e,t="local")=>Ut(Ri(e,"thinking-level/cycle",t),{method:"POST",body:qi(e)}),commands:(e,t="local")=>Ut(hh(e,"commands",t)),prompt:(e,t,i,r="local",s)=>Ut(Ri(e,"prompt",r),{method:"POST",body:qi(e,{text:t,...i===void 0?{}:{streamingBehavior:i},...s!==void 0&&s.length>0?{attachments:s}:{}})}),saveAttachments:(e,t,i="local",r)=>Ut(Ri(e,"attachments",i),{method:"POST",body:qi(e,{attachments:t,...r===void 0?{}:{folder:r}})}),shell:(e,t,i="local")=>Ut(Ri(e,"shell",i),{method:"POST",body:qi(e,{text:t})}),runCommand:(e,t,i="local")=>Ut(Ri(e,"commands/run",i),{method:"POST",body:qi(e,{text:t})}),respondToCommand:(e,t,i,r="local")=>Ut(Ri(e,"commands/respond",r),{method:"POST",body:qi(e,{requestId:t,value:i})}),respondToAsk:(e,t,i,r="local")=>Ut(Ri(e,"ask/respond",r),{method:"POST",body:qi(e,{requestId:t,result:i})}),abort:(e,t="local")=>Ut(Ri(e,"abort",t),{method:"POST",body:qi(e)}),stop:(e,t="local")=>Ut(Ri(e,"stop",t),{method:"POST",body:qi(e)}),archive:(e,t="local")=>Ut(Ri(e,"archive",t),{method:"POST",body:qi(e)}),archiveWithDescendants:(e,t="local")=>Ut(Ri(e,"archive-tree",t),{method:"POST",body:qi(e)}),restore:(e,t="local")=>Ut(Ri(e,"restore",t),{method:"POST",body:qi(e)}),deleteArchived:(e,t="local")=>Ut(mT(e,t),{method:"DELETE"}),detachParent:(e,t="local")=>Ut(Ri(e,"detach-parent",t),{method:"POST",body:qi(e)}),reloadSession:(e,t="local")=>Ut(Ri(e,"reload",t),{method:"POST",body:qi(e)}),authProviders:e=>{const t=new URLSearchParams;e?.mode!==void 0&&t.set("mode",e.mode),e?.authType!==void 0&&t.set("authType",e.authType);const i=t.toString();return Ut(`${ve(e?.machineId)}/auth/providers${i===""?"":`?${i}`}`)},saveApiKey:(e,t,i="local")=>Ut(`${ve(i)}/auth/api-key`,{method:"POST",body:JSON.stringify({providerId:e,key:t})}),logoutProvider:(e,t="local")=>Ut(`${ve(t)}/auth/logout`,{method:"POST",body:JSON.stringify({providerId:e})}),startOAuthLogin:(e,t="local")=>Ut(`${ve(t)}/auth/oauth`,{method:"POST",body:JSON.stringify({providerId:e})}),oauthFlow:(e,t="local")=>Ut(`${ve(t)}/auth/oauth/${encodeURIComponent(e)}`),respondOAuthFlow:(e,t,i,r="local")=>Ut(`${ve(r)}/auth/oauth/${encodeURIComponent(e)}/respond`,{method:"POST",body:JSON.stringify({requestId:t,value:i})}),cancelOAuthFlow:(e,t="local")=>Ut(`${ve(t)}/auth/oauth/${encodeURIComponent(e)}/cancel`,{method:"POST"})},An={terminals:(e,t,i="local")=>Ut(`${ve(i)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/terminals`),startTerminal:(e,t,i,r="local")=>Ut(`${ve(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/terminals`,{method:"POST",body:JSON.stringify(i??{})}),closeWorkspaceTerminals:(e,t,i="local")=>Ut(`${ve(i)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/terminals`,{method:"DELETE"}),closeTerminal:(e,t,i,r="local")=>Ut(`${ve(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/terminals/${encodeURIComponent(i)}`,{method:"DELETE"}),continueTerminal:(e,t,i,r="local")=>Ut(`${ve(r)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/terminals/${encodeURIComponent(i)}/continue`,{method:"POST"}),runTerminalCommand:(e,t,i="local")=>Ut(`${ve(i)}/projects/${encodeURIComponent(t.workspace.projectId)}/workspaces/${encodeURIComponent(t.workspace.id)}/terminal-command-runs`,{method:"POST",body:JSON.stringify({origin:e,title:t.title,command:t.command,metadata:t.metadata??{}})}),listCommandRuns:(e,t="local")=>Ut(`${ve(t)}/terminal-command-runs${kT(e)}`),getCommandRun:(e,t="local")=>wT(e,t),cancelCommandRun:(e,t="local")=>Ut(`${ve(t)}/terminal-command-runs/${encodeURIComponent(e)}/cancel`,{method:"POST"})};async function wT(e,t){const i=await fetch(`${ve(t)}/terminal-command-runs/${encodeURIComponent(e)}`);if(i.status!==404){if(!i.ok){const r=await i.json().catch(()=>({}));throw new Error(ST(r)??i.statusText)}return await i.json()}}function kT(e){if(e===void 0)return"";const t=new URLSearchParams;e.projectId!==void 0&&t.set("projectId",e.projectId),e.workspaceId!==void 0&&t.set("workspaceId",e.workspaceId),e.terminalId!==void 0&&t.set("terminalId",e.terminalId),e.statuses!==void 0&&e.statuses.length>0&&t.set("statuses",e.statuses.join(",")),e.metadata!==void 0&&Object.keys(e.metadata).length>0&&t.set("metadata",JSON.stringify(e.metadata));const i=t.toString();return i===""?"":`?${i}`}function ST(e){if(!ki(e))return;const t=e.error;return typeof t=="string"?t:void 0}const CT={files:(e,t,i={})=>{const r=new URLSearchParams({q:t});return i.kind!==void 0&&r.set("kind",i.kind),i.mode!==void 0&&r.set("mode",i.mode),i.scope!==void 0&&r.set("scope",i.scope),i.workspaceScoped===!0&&i.projectId!==void 0&&i.workspaceId!==void 0?Ut(`${ve(i.machineId)}/projects/${encodeURIComponent(i.projectId)}/workspaces/${encodeURIComponent(i.workspaceId)}/files?${r.toString()}`):(r.set("cwd",e),Ut(`${ve(i.machineId)}/files?${r.toString()}`))}},TT={gitStatus:(e,t,i="local")=>Ut(`${ve(i)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/git/status`),gitDiff:(e,t,i,r="local")=>Ut(pT(r,e,t,i))},gi={...ck,...yT,...zs,...Ul,...Yl,...hk,...vT,...kn,...cf,...An,...CT,...TT};function $T(e,t="local"){const i=typeof e=="string"?void 0:e.cwd,r=i===void 0||i===""?"":`?${new URLSearchParams({cwd:i}).toString()}`,s=typeof e=="string"?e:e.id;return new WebSocket(`${Hg()}${qg(t)}/sessions/${encodeURIComponent(s)}/events${r}`)}function Ptt(e,t,i,r,s="local"){const o=r===void 0?"":`?cols=${encodeURIComponent(String(r.cols))}&rows=${encodeURIComponent(String(r.rows))}`;return new WebSocket(`${Hg()}${qg(s)}/projects/${encodeURIComponent(e)}/workspaces/${encodeURIComponent(t)}/terminals/${encodeURIComponent(i)}/socket${o}`)}function MT(e="local"){return new WebSocket(`${Hg()}${qg(e)}/events`)}function qg(e){return`/api/machines/${encodeURIComponent(e)}`}function Hg(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}`}const cc=".omp-web/uploads";class wu extends Error{constructor(t="Workspace upload cancelled"){super(t),this.name="WorkspaceUploadCancelledError"}}class dk extends Error{constructor(t,i){super(IT(t)),this.name="WorkspaceUploadBatchError",this.failures=t.map(r=>({...r})),this.responses=i.map(r=>({...r}))}}function Fb(e){return e?.uploads?.defaultFolder??cc}function AT(e,t){return e?.uploads?.defaultFolder??t}function jg(e,t){const i=Ob(e,"upload destination",{allowEmpty:!0}),r=Ob(t,"upload file name",{allowEmpty:!1});return i===""?r:`${i}/${r}`}function BT(e,t,i,r={}){const s=r.xhrFactory?.()??new XMLHttpRequest;let o=!1,a=!1;return{promise:new Promise((l,c)=>{const h=u=>{o||(o=!0,c(u))},d=u=>{o||(o=!0,l(u))};s.open("PUT",gT(e,t,i.path,PT(r)),!0),s.responseType="json",s.setRequestHeader("Content-Type",(i.contentType??i.file.type)||"application/octet-stream"),s.upload.onprogress=u=>{r.onProgress?.(ET(u,i.file.size))},s.onload=()=>{if(s.status>=200&&s.status<300){try{r.onProgress?.({loaded:i.file.size,total:i.file.size,percent:1,lengthComputable:!0}),d(uk(s))}catch(u){h(u instanceof Error?u:new Error(String(u)))}return}h(new Error(FT(s)))},s.onerror=()=>{h(new Error("Workspace upload failed"))},s.onabort=()=>{h(new wu(a?void 0:"Workspace upload aborted"))},s.send(i.file)}),cancel:()=>{o||(a=!0,s.abort())}}}function _T(e,t,i,r={}){const s=r.destinationFolder??cc,o=i.map((d,u)=>({index:u,name:d.name,path:jg(s,d.name),loaded:0,total:d.size,percent:Ug(0,d.size),lengthComputable:!0,done:!1}));let a,n=0;const l={requested:!1},c=()=>{r.onProgress?.(RT(o,n,o.every(d=>d.done)))};return{promise:(async()=>{const d=[],u=[];for(let p=0;p<i.length;p+=1){if(l.requested)throw new wu;n=p;const f=i[p],g=o[p];if(!(f===void 0||g===void 0)){a=BT(e,t,{path:g.path,file:f},{...LT(r),onProgress:m=>{g.total=m.total,g.loaded=Math.min(m.loaded,g.total),g.percent=m.percent,g.lengthComputable=m.lengthComputable,c()}});try{const m=await a.promise;g.loaded=g.total,g.percent=1,g.lengthComputable=!0,g.done=!0,d.push(m),c()}catch(m){if(zT(m,l))throw m;const x=Je(m);g.loaded=g.total,g.percent=1,g.lengthComputable=!0,g.done=!0,g.error=x,u.push({index:p,name:f.name,path:g.path,error:x}),c()}finally{a=void 0}}}if(u.length>0)throw new dk(u,d);return d})(),cancel:()=>{l.requested=!0,a?.cancel()}}}function LT(e){return{...e.createDirs===void 0?{}:{createDirs:e.createDirs},...e.overwrite===void 0?{}:{overwrite:e.overwrite},...e.machineId===void 0?{}:{machineId:e.machineId},...e.xhrFactory===void 0?{}:{xhrFactory:e.xhrFactory}}}function PT(e){return{...e.createDirs===void 0?{}:{createDirs:e.createDirs},...e.overwrite===void 0?{}:{overwrite:e.overwrite},...e.machineId===void 0?{}:{machineId:e.machineId}}}function ET(e,t){const i=e.lengthComputable?e.total:t;return{loaded:e.loaded,total:i,percent:Ug(e.loaded,i),lengthComputable:e.lengthComputable}}function RT(e,t,i){const r=e.reduce((o,a)=>o+a.total,0),s=e.reduce((o,a)=>o+a.loaded,0);return{currentFileIndex:t,files:e.map(o=>({...o})),loaded:s,total:r,percent:Ug(s,r),done:i}}function Ug(e,t){return t<=0?e<=0?0:1:Math.max(0,Math.min(1,e/t))}function IT(e){return e.length===1?e[0]?.error??"Workspace upload failed":`${String(e.length)} files failed to upload`}function zT(e,t){return t.requested||e instanceof wu}function Ob(e,t,i){const r=e.trim();if(r===""){if(i.allowEmpty)return"";throw new Error(`${t} must not be empty`)}if(DT(r))throw new Error(`${t} must be workspace-relative`);const s=r.split(/[\\/]+/u).filter(o=>o!==""&&o!==".");if(s.length===0){if(i.allowEmpty)return"";throw new Error(`${t} must not be empty`)}if(s.some(o=>o===".."))throw new Error(`${t} must not contain path traversal`);return s.join("/")}function DT(e){const t=e.replace(/\\/g,"/");return t.startsWith("/")||/^[A-Za-z]:\//u.test(t)}function uk(e){return e.response!==void 0&&e.response!==null&&e.response!==""?e.response:e.responseText===""?{}:JSON.parse(e.responseText)}function FT(e){const t=OT(e);return ki(t)&&typeof t.error=="string"?t.error:e.statusText||`HTTP ${String(e.status)}`}function OT(e){try{return uk(e)}catch{return}}function Xh(){return{sessions:[],clientQueuedSessionMessages:{},startingSessionCount:0,fileTree:[],expandedDirs:{},selectedFilePath:void 0,selectedFileContent:void 0,fileTreeStale:!1,gitStatus:void 0,selectedDiffPath:void 0,selectedDiff:void 0,selectedStagedDiff:void 0,gitStale:!1,selectedTerminalId:void 0,error:""}}function NT(){return{machines:[],selectedMachine:void 0,isLoadingMachines:!1,machineStatuses:{},machineRuntimes:{},projects:[],workspaces:[],sessions:[],messages:[],messagePageStart:0,messagePageEnd:0,messagePageTotal:0,isLoadingEarlierMessages:!1,sendingPrompts:{},clientQueuedSessionMessages:{},startingSessionCount:0,isLoadingProjects:!1,isLoadingWorkspaces:!1,selectedProject:void 0,selectedWorkspace:void 0,selectedSession:void 0,status:void 0,activity:void 0,availableThinkingLevels:[],sessionStatuses:{},sessionActivities:{},workspaceActivities:{},machineActivities:{},workspacesByProjectId:{},workspaceDeletionRuns:{},commandDialog:void 0,planReviewDialog:void 0,askDialog:void 0,btwState:void 0,modelDialog:void 0,modelActionDialog:void 0,thinkingDialog:void 0,themeDialog:void 0,authDialog:void 0,actionPaletteOpen:!1,projectDialogOpen:!1,machineDialogOpen:!1,workspaceTool:"core:workspace.files",mainView:"chat",fileTree:[],expandedDirs:{},selectedFilePath:void 0,selectedFileContent:void 0,fileTreeStale:!1,workspaceUploadBatches:{},gitStatus:void 0,selectedDiffPath:void 0,selectedDiff:void 0,selectedStagedDiff:void 0,gitStale:!1,activeTerminalCount:0,selectedTerminalId:void 0,ompWebStatus:void 0,error:""}}const Kr={sessionsDeleteArchived:"sessions.deleteArchived",sessionsBulkMutations:"sessions.bulkMutations",sessionsCleanup:"sessions.cleanup",sessionsReload:"sessions.reload",promptAttachments:"prompt.attachments",workspaceFileSuggestions:"workspace.fileSuggestions",piPackagesManage:"piPackages.manage",selectedMachineSettings:"settings.selectedMachine"},WT=Object.values(Kr);new Set(WT);function vs(e,t){return e?.capabilities?.includes(t)===!0}function na(e,t){return t?.phase==="active"||e?.isStreaming===!0||e?.isBashRunning===!0||e?.isCompacting===!0||(e?.pendingMessageCount??0)>0}function pk(e){return e!==void 0&&(e.hasSessionActivity||e.hasTerminalActivity)}const fk="local";function Tp(e,t){return`${e}:${t}`}function gk(e,t){return`${e}:${t}`}function wt(e){return e.selectedMachine?.id??fk}class qT{constructor(t,i,r={}){this.getState=t,this.setState=i,this.api=r.api??hk}async refresh(t=wt(this.getState())){this.applyMachineActivitySnapshot(t,HT(await this.api.workspaceActivity(t)))}applyWorkspaceActivity(t,i=wt(this.getState())){const r=this.getState(),s=wt(r)===i,o=r.machineActivities[i]??(s?r.workspaceActivities:{}),a=jT(o,t);this.setState({machineActivities:{...r.machineActivities,[i]:a},...s?{workspaceActivities:a}:{}})}applyMachineActivitySnapshot(t,i){const r=this.getState();this.setState({machineActivities:{...r.machineActivities,[t]:i},...wt(r)===t?{workspaceActivities:i}:{}})}}function HT(e){const t={};for(const i of e.workspaces)pk(i)&&(t[i.cwd]=i);return t}function jT(e,t){const i={...e};return pk(t)?(i[t.cwd]=t,i):Object.fromEntries(Object.entries(i).filter(([r])=>r!==t.cwd))}class UT{constructor(t,i,r,s={}){this.getState=t,this.setState=i,this.applyStatus=r,this.api=s.api??gi,this.pollIntervalMs=s.pollIntervalMs??1e3}dispose(){this.stopPolling()}handleSlashCommand(t){const i=YT(t);return i===void 0?!1:(i.command==="login"?this.openLogin(i.providerId):this.openLogout(i.providerId),!0)}async openLogin(t){if(t!==void 0&&t!==""){await this.openLoginProvider(t);return}this.setState({authDialog:{step:"method"}})}async chooseLoginMethod(t){try{const{providers:i}=await this.api.authProviders({mode:"login",authType:t,machineId:wt(this.getState())});this.setState({authDialog:{step:"providers",mode:"login",authType:t,providers:i}})}catch(i){this.setState({error:String(i)})}}async selectLoginProvider(t,i){const r=this.getState().authDialog;if(r?.step!=="providers")return;const s=r.providers.find(o=>o.id===t&&(i===void 0||o.authType===i));s!==void 0&&(s.authType==="oauth"?await this.startOAuth(s):this.setState({authDialog:{step:"apiKey",provider:s,value:""}}))}updateApiKey(t){const i=this.getState().authDialog;if(i?.step!=="apiKey")return;const r={...i};delete r.error,this.setState({authDialog:{...r,value:t}})}async saveApiKey(){const t=this.getState().authDialog;if(t?.step!=="apiKey")return;const i=t.value.trim();if(i===""){this.setState({authDialog:{...t,error:"API key is required"}});return}const r={...t};delete r.error,this.setState({authDialog:{...r,saving:!0}});try{await this.api.saveApiKey(t.provider.id,i,wt(this.getState())),this.closeDialog(),this.refreshStatus()}catch(s){this.setState({authDialog:{...t,saving:!1,error:String(s)}})}}async openLogout(t){try{const{providers:i}=await this.api.authProviders({mode:"logout",machineId:wt(this.getState())});if(t!==void 0&&t!==""){const r=i.find(s=>s.id===t);r!==void 0&&!this.rejectRemoteOAuth("logout",r)?await this.logoutProvider(r.id):r===void 0&&this.setState({error:`No stored credentials for ${t}`});return}this.setState({authDialog:{step:"logout",providers:i}})}catch(i){this.setState({error:String(i)})}}async logoutProvider(t){const i=this.getState().authDialog,r=i?.step==="logout"?i.providers.find(s=>s.id===t):void 0;if(!(r!==void 0&&this.rejectRemoteOAuth("logout",r)))try{await this.api.logoutProvider(t,wt(this.getState())),this.closeDialog(),this.refreshStatus()}catch(s){this.setState({error:String(s)})}}updateOAuthInput(t){const i=this.getState().authDialog;if(i?.step!=="oauth")return;const r={...i};delete r.error,this.setState({authDialog:{...r,inputValue:t}})}async respondOAuth(t){const i=this.getState().authDialog;if(i?.step!=="oauth")return;const r=i.flow.prompt??i.flow.select;if(r===void 0)return;const s=t??i.inputValue??"",o={...i};delete o.error,this.setState({authDialog:{...o,responding:!0}});try{const a=await this.api.respondOAuthFlow(i.flow.flowId,r.requestId,s,wt(this.getState()));this.updateOAuthFlow(a)}catch(a){this.setState({authDialog:{...i,responding:!1,error:String(a)}})}}async cancelOAuth(){const t=this.getState().authDialog;if(t?.step!=="oauth"){this.closeDialog();return}this.stopPolling();try{await this.api.cancelOAuthFlow(t.flow.flowId,wt(this.getState()))}catch{}this.closeDialog()}closeDialog(){this.stopPolling(),this.setState({authDialog:void 0})}async openLoginProvider(t){try{const{providers:i}=await this.api.authProviders({mode:"login",machineId:wt(this.getState())}),r=i.filter(o=>o.id===t);if(r.length===0){this.setState({error:`Auth provider not found: ${t}`});return}if(r.length>1){this.setState({authDialog:{step:"providers",mode:"login",providers:r}});return}const s=r[0];if(s===void 0)return;s.authType==="oauth"?await this.startOAuth(s):this.setState({authDialog:{step:"apiKey",provider:s,value:""}})}catch(i){this.setState({error:String(i)})}}async startOAuth(t){if(!this.rejectRemoteOAuth("login",t))try{const i=await this.api.startOAuthLogin(t.id,wt(this.getState()));this.updateOAuthFlow(i),this.startPolling(i.flowId)}catch(i){this.setState({error:String(i)})}}rejectRemoteOAuth(t,i){const r=this.getState().selectedMachine;if(i.authType!=="oauth"||r?.kind!=="remote")return!1;const s=r.baseUrl??"that remote PI WEB instance";return this.setState({error:`OAuth ${t} for remote machines must be configured directly on ${s}.`}),!0}updateOAuthFlow(t){if(t.status==="complete"){this.stopPolling(),this.closeDialog(),this.refreshStatus();return}(t.status==="error"||t.status==="cancelled")&&this.stopPolling();const i=this.getState().authDialog,r=i?.step==="oauth"&&i.flow.flowId===t.flowId?i.inputValue??"":"",s=i?.step==="oauth"?i.flow.prompt?.requestId??i.flow.select?.requestId:void 0,o=t.prompt?.requestId??t.select?.requestId,a=s!==void 0&&s===o,n=a?r:"",l=a&&i?.step==="oauth"?i.responding===!0:!1;this.setState({authDialog:{step:"oauth",flow:t,inputValue:n,responding:l}})}startPolling(t){this.stopPolling(),this.pollTimer=window.setInterval(()=>{this.poll(t)},this.pollIntervalMs)}stopPolling(){this.pollTimer!==void 0&&(window.clearInterval(this.pollTimer),this.pollTimer=void 0)}async poll(t){const i=this.getState().authDialog;if(i?.step!=="oauth"||i.flow.flowId!==t){this.stopPolling();return}try{this.updateOAuthFlow(await this.api.oauthFlow(t,wt(this.getState())))}catch(r){this.stopPolling(),this.setState({authDialog:{...i,error:String(r)}})}}async refreshStatus(){const t=this.session();if(t!==void 0)try{this.applyStatus(await this.api.status(t,wt(this.getState())))}catch{}}session(){const t=this.getState().selectedSession;if(!(t===void 0||t.archived===!0))return t}}function YT(e){const t=e.trim(),i=/^\/(login|logout)(?:\s+(\S+))?\s*$/u.exec(t);if(i===null)return;const r=i[1];if(r!=="login"&&r!=="logout")return;const s=i[2];return s===void 0||s===""?{command:r}:{command:r,providerId:s}}function zc(e){return e.replaceAll(":",".")}function GT(e){const t=new URLSearchParams(window.location.search),i=`${e}--`,r={};for(const[s,o]of t.entries()){if(!s.startsWith(i))continue;const a=s.slice(i.length),n=r[a];n===void 0?r[a]=o:Array.isArray(n)?n.push(o):r[a]=[n,o]}return r}function $p(e,t){const i=GT(e)[t];return Array.isArray(i)?i[0]:i===""?void 0:i}function ps(e,t,i,r){const s=new URL(window.location.href),o=`${e}--${t}`;if(s.searchParams.delete(o),i!=null&&i!=="")if(Array.isArray(i))for(const a of i)s.searchParams.append(o,String(a));else s.searchParams.set(o,String(i));XT(s,r)}function XT(e,t){const i=`${e.pathname}${e.search}${e.hash}`,r=`${window.location.pathname}${window.location.search}${window.location.hash}`;i!==r&&(t?.replace===!0?window.history.replaceState({},"",e):window.history.pushState({},"",e))}function VT(e){const t=e.files.map((r,s)=>{const o=r.size;return{index:s,name:r.name,path:jg(e.destinationFolder,r.name),size:r.size,loaded:0,total:o,percent:Wb(0,o),lengthComputable:!0,status:s===0?"uploading":"pending"}}),i=t.reduce((r,s)=>r+s.total,0);return{id:e.id,projectId:e.projectId,workspaceId:e.workspaceId,machineId:e.machineId,destinationFolder:e.destinationFolder,overwrite:e.overwrite,createDirs:e.createDirs,files:t,currentFileIndex:t.length===0?-1:0,loaded:0,total:i,percent:Wb(0,i),status:"uploading",startedAt:e.startedAt}}function KT(e,t){const i=new Map(t.files.map(s=>[s.index,s])),r=e.files.map(s=>{const o=i.get(s.index);if(o===void 0)return s;const a={...s,path:o.path,loaded:o.loaded,total:o.total,percent:o.percent,lengthComputable:o.lengthComputable,status:o.error!==void 0?"error":o.done?"completed":t.currentFileIndex===s.index?"uploading":s.status};return o.error===void 0?delete a.error:a.error=o.error,a});return{...e,files:r,currentFileIndex:t.currentFileIndex,loaded:t.loaded,total:t.total,percent:t.percent}}function ZT(e,t,i){const r=e.files.map((o,a)=>{const n=t[a];return{...o,...n===void 0?{}:{path:n.path,response:n},loaded:o.total,percent:1,lengthComputable:!0,status:"completed"}}),s=Yg(r);return{...e,files:r,currentFileIndex:r.length===0?-1:r.length-1,...s,status:"completed",completedAt:i}}function QT(e,t,i){const r=e.files.map(s=>s.status==="completed"||s.status==="error"?s:s.status==="uploading"||s.index===e.currentFileIndex?{...s,status:"error",error:t}:{...s,status:"cancelled",error:"Not uploaded because an earlier file failed."});return{...e,files:r,...Yg(r),status:"error",error:t,completedAt:i}}function Nb(e,t){const i="Upload cancelled",r=e.files.map(s=>s.status==="completed"||s.status==="error"?s:{...s,status:"cancelled",error:i});return{...e,files:r,...Yg(r),status:"cancelled",error:i,completedAt:t}}function Yg(e){const t=e.reduce((i,r)=>i+r.total,0);return{loaded:t,total:t,percent:e.length===0?0:1}}function Wb(e,t){return t<=0?e<=0?0:1:Math.max(0,Math.min(1,e/t))}const qb=zc("core:workspace.files");class JT{constructor(t,i,r,s={}){this.getState=t,this.setState=i,this.updateUrl=r,this.uploadTasks=new Map,this.uploadBatchSequence=0,this.api=s.api??gi,this.uploadWorkspaceFiles=s.uploadWorkspaceFiles??_T,this.createUploadBatchId=s.createUploadBatchId??(()=>(this.uploadBatchSequence+=1,`workspace-upload-${String(this.uploadBatchSequence)}`)),this.now=s.now??(()=>new Date().toISOString())}async refreshFiles(){const t=this.getState().selectedProject,i=this.getState().selectedWorkspace;if(!(t===void 0||i===void 0))try{const r=wt(this.getState()),s=await this.api.workspaceTree(t.id,i.id,"",r),o={...this.getState().expandedDirs};await Promise.all(Object.keys(o).map(async a=>{o[a]=(await this.api.workspaceTree(t.id,i.id,a,r)).entries})),this.setState({fileTree:s.entries,expandedDirs:o,fileTreeStale:!1,error:""})}catch(r){this.setState({error:String(r)})}}async expandDir(t){const i=this.getState().selectedProject,r=this.getState().selectedWorkspace;if(!(i===void 0||r===void 0)){if(this.getState().expandedDirs[t]!==void 0){this.setState({expandedDirs:Hb(this.getState().expandedDirs,t)});return}try{const s=await this.api.workspaceTree(i.id,r.id,t,wt(this.getState()));this.setState({expandedDirs:{...this.getState().expandedDirs,[t]:s.entries},error:""})}catch(s){this.setState({error:String(s)})}}}async selectFile(t){this.setState({selectedFilePath:t,selectedFileContent:void 0,workspaceTool:"core:workspace.files",mainView:this.getState().mainView==="chat"?"chat":"core:workspace.files"}),ps(qb,"file",t),this.updateUrl({replace:!0}),await this.restoreFile(t)}async restoreFile(t){const i=this.getState().selectedProject,r=this.getState().selectedWorkspace;if(!(i===void 0||r===void 0)){this.setState({selectedFilePath:t,selectedFileContent:void 0});try{const s=await this.api.workspaceFile(i.id,r.id,t,wt(this.getState()));this.getState().selectedFilePath===t&&this.setState({selectedFileContent:s,error:""})}catch(s){if(this.getState().selectedFilePath!==t)return;if(t$(s)){this.setState({selectedFilePath:void 0,selectedFileContent:void 0,error:""}),ps(qb,"file",void 0,{replace:!0}),this.updateUrl({replace:!0});return}this.setState({error:String(s)})}}}startWorkspaceUpload(t,i){const r=this.getState().selectedProject,s=this.getState().selectedWorkspace;if(r===void 0||s===void 0){this.setState({error:"Select a workspace before uploading files."});return}if(t.length===0)return;const o=wt(this.getState()),a=i.overwrite??!1,n=i.createDirs??!0;let l;try{l=VT({id:this.createUploadBatchId(),projectId:r.id,workspaceId:s.id,machineId:o,destinationFolder:i.destinationFolder,overwrite:a,createDirs:n,files:t,startedAt:this.now()})}catch(d){this.setState({error:String(d)});return}this.setUploadBatch(l);let c;try{c=this.uploadWorkspaceFiles(r.id,s.id,t,{destinationFolder:i.destinationFolder,machineId:o,overwrite:a,createDirs:n,onProgress:d=>{this.updateUploadProgress(l.id,d)}})}catch(d){return this.failUploadBatch(l.id,d),{batchId:l.id,done:Promise.resolve()}}this.uploadTasks.set(l.id,c);const h=c.promise.then(async d=>{await this.completeUploadBatch(l.id,d,i)}).catch(async d=>{await this.handleUploadFailure(l.id,d,i)}).finally(()=>{this.uploadTasks.delete(l.id)});return{batchId:l.id,done:h}}cancelWorkspaceUpload(t){const i=this.getUploadBatch(t);i?.status==="uploading"&&(this.setUploadBatch(Nb(i,this.now())),this.uploadTasks.get(t)?.cancel())}clearWorkspaceUpload(t){this.uploadTasks.get(t)?.cancel(),this.uploadTasks.delete(t),this.setState({workspaceUploadBatches:Hb(this.getState().workspaceUploadBatches,t)})}updateUploadProgress(t,i){const r=this.getUploadBatch(t);r?.status==="uploading"&&this.setUploadBatch(KT(r,i))}async completeUploadBatch(t,i,r){const s=this.getUploadBatch(t);if(s?.status!=="uploading"||(this.setUploadBatch(ZT(s,i,this.now()),{error:""}),!this.isCurrentWorkspaceBatch(s)))return;await this.refreshFiles();const o=i[0]?.path;r.selectUploadedFile!==!1&&o!==void 0&&this.isCurrentWorkspaceBatch(s)&&await this.selectFile(o)}async handleUploadFailure(t,i,r){const s=this.failUploadBatch(t,i);if(!(i instanceof dk)||i.responses.length===0||s===void 0||!this.isCurrentWorkspaceBatch(s))return;await this.refreshFiles();const o=i.responses[0]?.path;r.selectUploadedFile!==!1&&o!==void 0&&this.isCurrentWorkspaceBatch(s)&&await this.selectFile(o)}failUploadBatch(t,i){const r=this.getUploadBatch(t);if(r?.status!=="uploading")return;if(e$(i)){const a=Nb(r,this.now());return this.setUploadBatch(a),a}const s=Je(i),o=QT(r,s,this.now());return this.setUploadBatch(o,{error:s}),o}getUploadBatch(t){return this.getState().workspaceUploadBatches[t]}setUploadBatch(t,i={}){this.setState({workspaceUploadBatches:{...this.getState().workspaceUploadBatches,[t.id]:t},...i})}isCurrentWorkspaceBatch(t){const i=this.getState();return i.selectedProject?.id===t.projectId&&i.selectedWorkspace?.id===t.workspaceId&&wt(i)===t.machineId}}function t$(e){const t=String(e);return t.includes("Path does not exist")||t.includes("ENOENT")||t.includes("no such file or directory")}function e$(e){return e instanceof wu}function Hb(e,t){return Object.fromEntries(Object.entries(e).filter(([i])=>i!==t))}const jb=zc("core:workspace.git");class i${constructor(t,i,r){this.getState=t,this.setState=i,this.updateUrl=r}dispose(){this.pollTimer!==void 0&&window.clearInterval(this.pollTimer),this.pollTimer=void 0}async refreshGit(){const t=this.getState().selectedProject,i=this.getState().selectedWorkspace;if(!(t===void 0||i===void 0))try{const r=await gi.gitStatus(t.id,i.id,wt(this.getState()));this.setState({gitStatus:r,gitStale:!1,error:""});const s=this.getState().selectedDiffPath;s!==void 0&&(r.files.some(o=>o.path===s)?await this.refreshDiff(s):(this.setState({selectedDiffPath:void 0,selectedDiff:void 0,selectedStagedDiff:void 0}),ps(jb,"diff",void 0,{replace:!0})))}catch(r){this.setState({error:String(r)})}}async selectDiff(t){this.setState({selectedDiffPath:t,selectedDiff:void 0,selectedStagedDiff:void 0,workspaceTool:"core:workspace.git",mainView:this.getState().mainView==="chat"?"chat":"core:workspace.git"}),ps(jb,"diff",t),this.updateUrl({replace:!0}),await this.refreshDiff(t)}async restoreDiff(t){this.setState({selectedDiffPath:t,selectedDiff:void 0,selectedStagedDiff:void 0}),await this.refreshDiff(t)}async refreshDiff(t){const i=this.getState().selectedProject,r=this.getState().selectedWorkspace;if(!(i===void 0||r===void 0))try{const[s,o]=await Promise.all([gi.gitDiff(i.id,r.id,{path:t},wt(this.getState())),gi.gitDiff(i.id,r.id,{path:t,staged:!0},wt(this.getState()))]);this.setState({selectedDiff:s,selectedStagedDiff:o,error:""})}catch(s){this.setState({error:String(s)})}}updatePolling(){this.dispose();const t=this.getState();(t.workspaceTool==="core:workspace.git"||t.mainView==="core:workspace.git")&&(this.pollTimer=window.setInterval(()=>{this.refreshGit()},8e3))}}class r${constructor(t,i,r,s){this.getState=t,this.setState=i,this.updateUrl=r,this.projects=s}async loadMachines(t){this.setState({error:"",isLoadingMachines:!0});try{const i=await gi.machines(),r=await this.selectInitialMachine(i,t),s=new Set(i.map(o=>o.id));this.setState({machines:i,selectedMachine:r,machineActivities:Ub(this.getState().machineActivities,s),machineRuntimes:Ub(this.getState().machineRuntimes,s)}),this.refreshMachineHealthFor(i),this.refreshMachineRuntimeFor(i)}catch(i){this.setState({error:String(i)})}finally{this.setState({isLoadingMachines:!1})}}async selectMachine(t,i={}){this.getState().selectedMachine?.id!==t.id&&(this.setState({selectedMachine:t,projects:[],workspaces:[],isLoadingWorkspaces:!1,selectedProject:void 0,selectedWorkspace:void 0,selectedSession:void 0,messages:[],messagePageStart:0,messagePageTotal:0,status:void 0,activity:void 0,sessionStatuses:{},sessionActivities:{},sendingPrompts:{},workspaceActivities:{},workspacesByProjectId:{},workspaceDeletionRuns:{},activeTerminalCount:0,...Xh()}),i.updateUrl!==!1&&this.updateUrl(),await this.projects.loadProjects(),this.refreshMachineHealth(t.id),this.refreshMachineRuntime(t.id))}async addMachine(t){this.setState({error:""});try{const i=await gi.addMachine(t);return this.setState({machines:[...this.getState().machines.filter(r=>r.id!==i.id),i]}),await this.selectMachine(i),i}catch(i){this.setState({error:String(i)});return}}async deleteMachine(t=this.getState().selectedMachine,i={}){if(t!==void 0){if(t.kind==="local"){this.setState({error:"The local machine cannot be removed."});return}try{const r=this.getState().selectedMachine?.id===t.id;await gi.deleteMachine(t.id);const s=this.getState().machines.filter(a=>a.id!==t.id),o=s.find(a=>a.id==="local")??s[0];return this.setState({machines:s,machineStatuses:Mp(this.getState().machineStatuses,t.id),machineRuntimes:Mp(this.getState().machineRuntimes,t.id),machineActivities:Mp(this.getState().machineActivities,t.id)}),r&&o!==void 0?(i.selectFallback===!1||await this.selectMachine(o),o):void 0}catch(r){this.setState({error:String(r)});return}}}async refreshMachineHealth(t=this.getState().selectedMachine?.id??"local"){try{const i=await gi.health(t);return this.setState({machineStatuses:{...this.getState().machineStatuses,[i.machineId]:i}}),i}catch(i){this.setState({error:String(i)});return}}async refreshMachineRuntime(t=this.getState().selectedMachine?.id??"local"){try{const i=await gi.runtime(t);this.setState({machineRuntimes:{...this.getState().machineRuntimes,[i.machineId]:i}})}catch(i){this.setState({error:String(i)})}}async selectInitialMachine(t,i){const r=t.find(o=>o.id===(i??"local"));if(r===void 0)return this.localMachine(t);if(r.kind!=="remote")return r;const s=await this.safeRemoteHealth(r);return this.setState({machineStatuses:{...this.getState().machineStatuses,[s.machineId]:s},...s.ok?{}:{error:`${r.name} is unavailable; reconnecting…`}}),r}async safeRemoteHealth(t){try{return await gi.health(t.id)}catch(i){return{machineId:t.id,ok:!1,checkedAt:new Date().toISOString(),status:"offline",error:i instanceof Error?i.message:String(i)}}}localMachine(t){return t.find(i=>i.id==="local")??t[0]}async refreshMachineHealthFor(t){const i=await Promise.allSettled(t.map(s=>gi.health(s.id))),r=Object.fromEntries(i.flatMap(s=>s.status==="fulfilled"?[[s.value.machineId,s.value]]:[]));Object.keys(r).length>0&&this.setState({machineStatuses:{...this.getState().machineStatuses,...r}})}async refreshMachineRuntimeFor(t){const i=await Promise.allSettled(t.map(s=>gi.runtime(s.id))),r=Object.fromEntries(i.flatMap(s=>s.status==="fulfilled"?[[s.value.machineId,s.value]]:[]));Object.keys(r).length>0&&this.setState({machineRuntimes:{...this.getState().machineRuntimes,...r}})}}function Mp(e,t){return Object.fromEntries(Object.entries(e).filter(([i])=>i!==t))}function Ub(e,t){return Object.fromEntries(Object.entries(e).filter(([i])=>t.has(i)))}class s${constructor(t,i,r){this.getState=t,this.setState=i,this.workspaces=r}async loadProjects(){const t=wt(this.getState());this.setState({error:"",isLoadingProjects:!0});try{const i=await gi.projects(t);if(wt(this.getState())!==t)return;const r=new Set(i.map(o=>o.id)),s=Object.fromEntries(Object.entries(this.getState().workspacesByProjectId).filter(([o])=>r.has(o)));this.setState({projects:i,workspacesByProjectId:s})}catch(i){wt(this.getState())===t&&this.setState({error:String(i)})}finally{wt(this.getState())===t&&this.setState({isLoadingProjects:!1})}}async addProject(t,i){if(t.trim()!=="")try{const r=await gi.addProject(t.trim(),void 0,i,wt(this.getState())),s=this.getState().projects;this.setState({projects:[...s.filter(o=>o.id!==r.id),r],projectDialogOpen:!1}),await this.workspaces.selectProject(r)}catch(r){this.setState({error:String(r)})}}async closeProject(t){try{await gi.closeProject(t,wt(this.getState())),this.workspaces.forgetProject(t);const i=this.getState();this.setState({projects:i.projects.filter(r=>r.id!==t)}),i.selectedProject?.id===t&&this.workspaces.clearSelection()}catch(i){this.setState({error:String(i)})}}}const hf="omp-web:cached-new-sessions:v1",o$="browserCachedNew",ul="local";function Dc(){try{return typeof localStorage>"u"?void 0:localStorage}catch{return}}function Yb(e,t=ul,i=Dc()){if(e.messageCount!==0||e.archived===!0)return;const r=Gg(i).filter(s=>s.id!==e.id||s.machineId!==t);Xg([df(e,t),...r],i)}function df(e,t=ul){return{...e,browserCachedNew:!0,machineId:t}}function Gb(e,t=ul,i=Dc()){const r=Gg(i).filter(s=>s.id!==e||s.machineId!==t);Xg(r,i)}function mk(e,t,i=ul,r=Dc()){const s=new Set(t.map(l=>l.id)),o=Gg(r),a=o.filter(l=>l.machineId!==i||!s.has(l.id));return a.length!==o.length&&Xg(a,r),[...a.filter(l=>l.machineId===i&&l.cwd===e),...t]}function xd(e){return e===void 0?!1:l$(e)&&e.browserCachedNew===!0}function a$(e){return{id:e.id,path:e.path,cwd:e.cwd,...e.persisted===void 0?{}:{persisted:e.persisted},...e.name===void 0?{}:{name:e.name},created:e.created,modified:e.modified,messageCount:e.messageCount,firstMessage:e.firstMessage,...e.parentSessionPath===void 0?{}:{parentSessionPath:e.parentSessionPath},..."machineId"in e&&typeof e.machineId=="string"?{machineId:e.machineId}:{machineId:ul},...e.archived===!0?{archived:!0}:{},...e.archivedAt===void 0?{}:{archivedAt:e.archivedAt}}}function Gg(e=Dc()){try{const t=e?.getItem(hf);if(t==null||t==="")return[];const i=JSON.parse(t);return Array.isArray(i)?i.flatMap(r=>n$(r)):[]}catch{return[]}}function Xg(e,t=Dc()){try{e.length===0?t?.removeItem(hf):t?.setItem(hf,JSON.stringify(e))}catch{}}function n$(e){if(!ki(e))return[];const t=ln(e,"id"),i=ln(e,"path"),r=ln(e,"cwd"),s=ln(e,"created"),o=ln(e,"modified"),a=ln(e,"firstMessage"),n=c$(e,"messageCount");if(t===void 0||i===void 0||r===void 0||s===void 0||o===void 0||a===void 0||n!==0)return[];const l=Ap(e,"name"),c=Ap(e,"parentSessionPath"),h=Ap(e,"machineId")??ul;return[{id:t,path:i,cwd:r,...l===void 0?{}:{name:l},created:s,modified:o,messageCount:n,firstMessage:a,...c===void 0?{}:{parentSessionPath:c},machineId:h,browserCachedNew:!0}]}function l$(e){return o$ in e}function ln(e,t){const i=e[t];return typeof i=="string"?i:void 0}function Ap(e,t){const i=e[t];return i===void 0||typeof i!="string"?void 0:i}function c$(e,t){const i=e[t];return typeof i=="number"?i:void 0}function h$(e){return M$(e.flatMap(Vg)).filter(t=>t.parts.length>0)}function Ns(e,t){return{role:e,parts:[{type:"text",text:t}]}}function cn(e,t){const i=x$(t);return i===void 0?e:{...e,meta:i}}function d$(e,t,i,r){if(i===""&&r===void 0)return e;const s=e.at(-1),o=s?.parts.at(-1);if(s?.role===t&&o?.type==="text"){const n=r!==void 0?r.length>=o.text.length?r:o.text:o.text+i;return n===o.text?e:[...e.slice(0,-1),{...s,parts:[...s.parts.slice(0,-1),{...o,text:n}]}]}const a=r!==void 0?r:i;return s?.role===t?[...e.slice(0,-1),{...s,parts:[...s.parts,{type:"text",text:a}]}]:[...e,Ns(t,a)]}function u$(e,t,i){if(t===""&&i===void 0)return e;const r=e.at(-1),s=r?.parts.at(-1);if(r?.role==="assistant"&&s?.type==="thinking"){const a=i!==void 0?i.length>=s.text.length?i:s.text:s.text+t;return a===s.text?e:[...e.slice(0,-1),{...r,parts:[...r.parts.slice(0,-1),{...s,text:a}]}]}const o=i!==void 0?i:t;return r?.role==="assistant"?[...e.slice(0,-1),{...r,parts:[...r.parts,{type:"thinking",text:o}]}]:[...e,{role:"assistant",parts:[{type:"thinking",text:o}]}]}function Vg(e){if(f$(e))return[e];if(Ie(e,"role")==="bashExecution")return[cn(k$(e),e)];const t=m$(e);if(t!==void 0)return t.map(h=>cn(h,e));const i=S$(Ie(e,"role")),r=C$(ts(e,"content"),e),s=i==="user"?g$(r):void 0;if(s!==void 0)return s.map(h=>cn(h,e));const o=y$(e);if(i==="tool")return[cn({role:i,parts:r,...o===void 0?{}:{source:o}},e)];const a=r.filter(h=>h.type!=="empty"),n=i==="assistant"&&a.length>0&&a.every(h=>h.type==="skillRead")?"skill":i,l=a.length>0?[cn({role:n,parts:a,...o===void 0?{}:{source:o}},e)]:[],c=p$(e);return c===void 0?l:[...l,cn(c,e)]}function p$(e){if(Ie(e,"role")!=="assistant"||Ie(e,"stopReason")!=="error")return;const t=Ie(e,"errorMessage")?.trim();return Ns("system",`Model response failed: ${t===void 0||t===""?"The model returned an error.":t}`)}function f$(e){const t=Ie(e,"role");return(t==="user"||t==="assistant"||t==="tool"||t==="system"||t==="bash"||t==="skill")&&Array.isArray(ts(e,"parts"))}function g$(e){if(e.length!==1||e[0]?.type!=="text")return;const t=b$(e[0].text);if(t!==void 0)return[{role:"user",parts:[{type:"skillInvocation",name:t.name,location:t.location,content:t.content}]},...t.userMessage===void 0?[]:[{role:"user",parts:[{type:"text",text:t.userMessage}]}]]}function m$(e){if(!ki(e)||e.customType!=="skill-prompt")return;const t=ki(e.details)?e.details:void 0,i=typeof t?.name=="string"?t.name:"skill",r=typeof t?.path=="string"?t.path:"",s=typeof e.content=="string"?e.content:"",o=typeof t?.args=="string"&&t.args.trim()!==""?t.args.trim():void 0;return[{role:"user",parts:[{type:"skillInvocation",name:i,location:r,content:s},...o!==void 0?[{type:"text",text:o}]:[]]}]}function b$(e){const t=/^<skill name="([^"]+)" location="([^"]+)">\n([\s\S]*?)\n<\/skill>(?:\n\n([\s\S]+))?$/.exec(e);if(t!==null){const r=t[4]?.trim();return{name:t[1]??"skill",location:t[2]??"",content:t[3]??"",...r===void 0||r===""?{}:{userMessage:r}}}const i=/^\[IMPORTANT: User invoked the "([^"]+)" skill; follow its instructions\. Full skill below\.\]\n\n([\s\S]*?)(?:\n\n---\n\n\[Skill directory: ([^\]]+)\][\s\S]*?(?:\nUser: ([\s\S]+))?)?$/.exec(e);if(i!==null){const r=i[4]?.trim();return{name:i[1]??"skill",location:i[3]??"",content:i[2]??"",...r===void 0||r===""?{}:{userMessage:r}}}}function y$(e){const t=Ie(e,"source");if(t==="compaction"||t==="branch_summary")return t}function x$(e){const t=v$(ts(e,"timestamp")),i=w$(e);if(!(t===void 0&&i===void 0))return{...t===void 0?{}:{timestamp:t},...i===void 0?{}:{model:i}}}function v$(e){if(typeof e=="number"&&Number.isFinite(e))return new Date(e).toISOString();if(typeof e!="string"||e==="")return;const t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():void 0}function w$(e){if(Ie(e,"role")!=="assistant")return;const t=Ie(e,"provider"),i=Ie(e,"model"),r=Ie(e,"responseModel");if(!((t===void 0||t==="")&&(i===void 0||i==="")&&(r===void 0||r==="")))return{...t===void 0||t===""?{}:{provider:t},...i===void 0||i===""?{}:{id:i},...r===void 0||r===""?{}:{responseId:r}}}function k$(e){const t=Ie(e,"command")??"",i=Vh(e,"excludeFromContext")===!0?["excluded from context","",`$ ${t}`]:[`$ ${t}`],r=ts(e,"output");r!=null&&i.push("",wd(r));const s=ts(e,"exitCode");s!=null&&i.push("",`exit ${wd(s)}`),Vh(e,"cancelled")===!0&&i.push("","cancelled"),Vh(e,"truncated")===!0&&i.push("","output truncated");const o=Ie(e,"fullOutputPath");return o!==void 0&&o!==""&&i.push("",`full output: ${o}`),{role:"bash",parts:[{type:"text",text:i.join(`
@@ -1668,8 +1668,8 @@ ${o.join(`
1668
1668
  L0,20`)},"requirement_arrow"),xN=b((e,t,i)=>{const r=ei(),{themeVariables:s}=r,{strokeWidth:o}=s;e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${o}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
1669
1669
  L20,10
1670
1670
  M20,10
1671
- L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),vN=b((e,t,i)=>{const r=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");r.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),r.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),r.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),wN=b((e,t,i)=>{const r=ei(),{themeVariables:s}=r,{strokeWidth:o}=s,a=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${o}`)},"requirement_contains_neo"),kN=b((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-hierarchyEnd").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),e.append("marker").attr("id",i+"_"+t+"-hierarchyStart").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),SN={extension:tN,composition:eN,aggregation:iN,dependency:rN,lollipop:sN,point:oN,circle:aN,cross:nN,barb:lN,barbNeo:cN,hierarchy:kN,only_one:hN,zero_or_one:dN,one_or_more:uN,zero_or_more:pN,only_one_neo:fN,zero_or_one_neo:gN,one_or_more_neo:mN,zero_or_more_neo:bN,requirement_arrow:yN,requirement_contains:vN,requirement_arrow_neo:xN,requirement_contains_neo:wN},CN=JO,TN={common:Hc,getConfig:ei,insertCluster:OO,insertEdge:QO,insertEdgeLabel:UO,insertMarkers:CN,insertNode:l3,interpolateToCurve:Qm,labelHelper:ee,log:vt,positionEdgeLabel:YO},$N=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],Bc=Object.create(null),f3=b(e=>{for(const t of e)Bc[t.name]=t},"registerLayoutLoaders"),MN=b(()=>{const e=b(async()=>await xe(()=>import("./elk-276RUBZZ-DGku1nk-.js"),__vite__mapDeps([0,1,2,3,4,5])),"loader");return[{name:"elk",loader:e,algorithm:"elk.layered"},...$N.map(t=>({name:t,loader:e,algorithm:t}))]},"elkLayoutLoaders"),AN=b(()=>{f3([{name:"dagre",loader:b(async()=>await xe(()=>import("./dagre-6A5THRUB-CEhDrD4X.js"),__vite__mapDeps([6,2,3,4,5])),"loader")},{name:"swimlane",loader:b(async()=>await xe(()=>import("./swimlanes-2SLR337P-Cnsd5mvJ.js"),__vite__mapDeps([7,1,2,3,4,5])),"loader")},{name:"cose-bilkent",loader:b(async()=>await xe(()=>import("./cose-bilkent-JH36ORCC-DOGZoTZg.js"),__vite__mapDeps([8,9,4,5])),"loader")},...MN()])},"registerDefaultLayoutLoaders");AN();var Det=b(async(e,t)=>{if(!Object.hasOwn(Bc,e.layoutAlgorithm))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const s of e.nodes){const o=s.domId||s.id;s.domId=`${e.diagramId}-${o}`}const i=Bc[e.layoutAlgorithm],r=await i.loader();return rz(t,e.config),r.render(e,t,TN,{algorithm:i.algorithm})},"render"),B0="dagre",Fet=b((e="",{fallback:t=B0}={})=>{if(Object.hasOwn(Bc,e))return e;for(const i of[t,B0])if(Object.hasOwn(Bc,i))return vt.warn(`Layout algorithm ${e} is not registered. Using ${i} as fallback.`),i;throw new Error(`Neither layout algorithm ${e}, ${t}, nor ${B0} is registered.`)},"getRegisteredLayoutAlgorithm"),S1="comm",g3="rule",m3="decl",BN="@media",_N="@import",LN="@supports",PN="@namespace",eg="@keyframes",b3="@layer",EN="@scope",RN=Math.abs,mc=String.fromCharCode;function y3(e){return e.trim()}function ig(e,t,i){return e.replace(t,i)}function Rn(e,t){return e.charCodeAt(t)|0}function rl(e,t,i){return e.slice(t,i)}function Ds(e){return e.length}function x3(e){return e.length}function $h(e,t){return t.push(e),e}var Gu=1,sl=1,v3=0,is=0,bi=0,yl="";function C1(e,t,i,r,s,o,a,n){return{value:e,root:t,parent:i,type:r,props:s,children:o,line:Gu,column:sl,length:a,return:"",siblings:n}}function IN(){return bi}function zN(){return bi=is>0?Rn(yl,--is):0,sl--,bi===10&&(sl=1,Gu--),bi}function ws(){return bi=is<v3?Rn(yl,is++):0,sl++,bi===10&&(sl=1,Gu++),bi}function ia(){return Rn(yl,is)}function cd(){return is}function Xu(e,t){return rl(yl,e,t)}function _c(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function DN(e){return Gu=sl=1,v3=Ds(yl=e),is=0,[]}function FN(e){return yl="",e}function _0(e){return y3(Xu(is-1,rg(e===91?e+2:e===40?e+1:e)))}function ON(e){for(;(bi=ia())&&bi<33;)ws();return _c(e)>2||_c(bi)>3?"":" "}function NN(e,t){for(;--t&&ws()&&!(bi<48||bi>102||bi>57&&bi<65||bi>70&&bi<97););return Xu(e,cd()+(t<6&&ia()==32&&ws()==32))}function rg(e){for(;ws();)switch(bi){case e:return is;case 34:case 39:e!==34&&e!==39&&rg(bi);break;case 40:e===41&&rg(e);break;case 92:ws();break}return is}function WN(e,t){for(;ws()&&e+bi!==57;)if(e+bi===84&&ia()===47)break;return"/*"+Xu(t,is-1)+"*"+mc(e===47?e:ws())}function qN(e){for(;!_c(ia());)ws();return Xu(e,is)}function HN(e){return FN(hd("",null,null,null,[""],e=DN(e),0,[0],e))}function hd(e,t,i,r,s,o,a,n,l){for(var c=0,h=0,d=a,u=0,p=0,f=0,g=1,m=1,x=1,w=0,S=0,A="",C=s,E=o,z=r,R=A;m;)switch(f=S,S=ws()){case 40:f!=108&&Rn(R,d-1)==58?(w++,R+="("):R+=_0(S);break;case 41:w--,R+=")";break;case 34:case 39:case 91:R+=_0(S);break;case 9:case 10:case 13:case 32:if(w>0){R+=mc(S);break}R+=ON(f);break;case 92:R+=NN(cd()-1,7);continue;case 47:switch(ia()){case 42:case 47:$h(jN(WN(ws(),cd()),t,i,l),l),(_c(f||1)==5||_c(ia()||1)==5)&&Ds(R)&&rl(R,-1,void 0)!==" "&&(R+=" ");break;default:R+="/"}break;case 123*g:n[c++]=Ds(R)*x;case 125*g:case 59:case 0:if(w>0&&S){R+=mc(S);break}switch(S){case 0:case 125:m=0;case 59+h:x==-1&&(R=ig(R,/\f/g,"")),p>0&&(Ds(R)-d||g===0)&&$h(p>32?i2(R+";",r,i,d-1,l):i2(ig(R," ","")+";",r,i,d-2,l),l);break;case 59:R+=";";default:if($h(z=e2(R,t,i,c,h,s,n,A,C=[],E=[],d,o),o),S===123)if(h===0)hd(R,t,z,z,C,o,d,n,E);else{switch(u){case 99:if(Rn(R,3)===110)break;case 108:if(Rn(R,2)===97)break;default:h=0;case 100:case 109:case 115:}h?hd(e,z,z,r&&$h(e2(e,z,z,0,0,s,n,A,s,C=[],d,E),E),s,E,d,n,r?C:E):hd(R,z,z,z,[""],E,0,n,E)}}c=h=p=0,g=x=1,A=R="",d=a;break;case 58:d=1+Ds(R),p=f;default:if(g<1){if(S==123)--g;else if(S==125&&g++==0&&zN()==125)continue}switch(R+=mc(S),S*g){case 38:x=h>0?1:(R+="\f",-1);break;case 44:if(w>0)break;n[c++]=(Ds(R)-1)*x,x=1;break;case 64:ia()===45&&(R+=_0(ws())),u=ia(),h=d=Ds(A=R+=qN(cd())),S++;break;case 45:f===45&&Ds(R)==2&&(g=0)}}return o}function e2(e,t,i,r,s,o,a,n,l,c,h,d){for(var u=s-1,p=s===0?o:[""],f=x3(p),g=0,m=0,x=0;g<r;++g)for(var w=0,S=rl(e,u+1,u=RN(m=a[g])),A=e;w<f;++w)(A=y3(m>0?p[w]+" "+S:ig(S,/&\f/g,p[w])))&&(l[x++]=A);return C1(e,t,i,s===0?g3:n,l,c,h,d)}function jN(e,t,i,r){return C1(e,t,i,S1,mc(IN()),rl(e,2,-2),0,r)}function i2(e,t,i,r,s){return C1(e,t,i,m3,rl(e,0,r),rl(e,r+1,-1),r,s)}function sg(e,t){for(var i="",r=0;r<e.length;r++)i+=t(e[r],r,e,t)||"";return i}function UN(e,t,i,r){switch(e.type){case b3:if(e.children.length)break;case _N:case PN:case m3:return e.return=e.return||e.value;case S1:return"";case eg:return e.return=e.value+"{"+sg(e.children,r)+"}";case g3:if(!Ds(e.value=e.props.join(",")))return""}return Ds(i=sg(e.children,r))?e.return=e.value+"{"+i+"}":""}function YN(e){var t=x3(e);return function(i,r,s,o){for(var a="",n=0;n<t;n++)a+=e[n](i,r,s,o)||"";return a}}var w3="c4",GN=b(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),XN=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./c4Diagram-YGBWAQC7-BWpacECA.js");return{diagram:t}},__vite__mapDeps([10,11,4,5]));return{id:w3,diagram:e}},"loader"),VN={id:w3,detector:GN,loader:XN},KN=VN,k3="flowchart-v2",ZN=b(e=>/^\s*(graph|flowchart)/.test(e),"detector"),QN=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./flowDiagram-KWPJA3E3-DeB8-O7Y.js").then(i=>i.f);return{diagram:t}},__vite__mapDeps([12,13,14,15,11,16]));return{id:k3,diagram:e}},"loader"),JN={id:k3,detector:ZN,loader:QN},tW=JN,S3="agentflow",eW=b(e=>/^\s*agentflow-beta\b/.test(e),"detector"),iW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-22UHCM2B-CgN81sDZ.js");return{diagram:t}},__vite__mapDeps([17,13,14,15,11,16,4,5]));return{id:S3,diagram:e}},"loader"),rW={id:S3,detector:eW,loader:iW},sW=rW,C3="swimlane",oW=b(e=>/^\s*swimlane-beta\b/.test(e),"detector"),aW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./swimlanesDiagram-TC7HE7FX-iyBCc4Xc.js");return{diagram:t}},__vite__mapDeps([18,12,13,14,15,11,16,4,5]));return{id:C3,diagram:e}},"loader"),nW={id:C3,detector:oW,loader:aW},lW=nW,T3="er",cW=b(e=>/^\s*erDiagram/.test(e),"detector"),hW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./erDiagram-OPXOYQCR-D0nJ53i7.js");return{diagram:t}},__vite__mapDeps([19,14,15,16,4,5]));return{id:T3,diagram:e}},"loader"),dW={id:T3,detector:cW,loader:hW},uW=dW,$3="gitGraph",pW=b(e=>/^\s*gitGraph/.test(e),"detector"),fW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./gitGraphDiagram-X574FWY7-CC-b8FLq.js");return{diagram:t}},__vite__mapDeps([20,21,22,23,4,5]));return{id:$3,diagram:e}},"loader"),gW={id:$3,detector:pW,loader:fW},mW=gW,M3="gantt",bW=b(e=>/^\s*gantt/.test(e),"detector"),yW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./ganttDiagram-FUAMR5RP-CBcW8sXy.js");return{diagram:t}},__vite__mapDeps([24,25,26,27,4,5]));return{id:M3,diagram:e}},"loader"),xW={id:M3,detector:bW,loader:yW},vW=xW,A3="info",wW=b(e=>/^\s*info/.test(e),"detector"),kW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./infoDiagram-VRGFBTTK-DL3QMN01.js");return{diagram:t}},__vite__mapDeps([28,23,4,5]));return{id:A3,diagram:e}},"loader"),SW={id:A3,detector:wW,loader:kW},B3="pie",CW=b(e=>/^\s*pie/.test(e),"detector"),TW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./pieDiagram-5QR66LMP-D0utByOI.js");return{diagram:t}},__vite__mapDeps([29,22,23,30,31,26,4,5]));return{id:B3,diagram:e}},"loader"),$W={id:B3,detector:CW,loader:TW},_3="quadrantChart",MW=b(e=>/^\s*quadrantChart/.test(e),"detector"),AW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./quadrantDiagram-O4NWA36T-DIAIplx2.js");return{diagram:t}},__vite__mapDeps([32,25,26,27,4,5]));return{id:_3,diagram:e}},"loader"),BW={id:_3,detector:MW,loader:AW},_W=BW,L3="xychart",LW=b(e=>/^\s*xychart(-beta)?/.test(e),"detector"),PW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./xychartDiagram-PMCCYNJV-HL5cuxsZ.js");return{diagram:t}},__vite__mapDeps([33,26,31,25,27,4,5]));return{id:L3,diagram:e}},"loader"),EW={id:L3,detector:LW,loader:PW},RW=EW,P3="requirement",IW=b(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),zW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./requirementDiagram-PLB6GJNP-C55JlmRI.js");return{diagram:t}},__vite__mapDeps([34,14,15,4,5]));return{id:P3,diagram:e}},"loader"),DW={id:P3,detector:IW,loader:zW},FW=DW,E3="sequence",OW=b(e=>/^\s*sequenceDiagram/.test(e),"detector"),NW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./sequenceDiagram-PO4LG4MO-CTUoXviF.js");return{diagram:t}},__vite__mapDeps([35,21,11,4,5]));return{id:E3,diagram:e}},"loader"),WW={id:E3,detector:OW,loader:NW},qW=WW,R3="classDiagram",HW=b(e=>/^\s*classDiagram/.test(e),"detector"),jW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./classDiagram-v2-NBCMYWYE-CIe2lhk7.js");return{diagram:t}},__vite__mapDeps([36,13,14,15,11,4,5]));return{id:R3,diagram:e}},"loader"),UW={id:R3,detector:HW,loader:jW},YW=UW,I3="stateDiagram",GW=b(e=>/^\s*stateDiagram/.test(e),"detector"),XW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./stateDiagram-v2-GCMORJYK-DzonJh3D.js");return{diagram:t}},__vite__mapDeps([37,14,15,11,4,5]));return{id:I3,diagram:e}},"loader"),VW={id:I3,detector:GW,loader:XW},KW=VW,z3="journey",ZW=b(e=>/^\s*journey/.test(e),"detector"),QW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./journeyDiagram-ZHPQQLJL-Df8VwbDr.js");return{diagram:t}},__vite__mapDeps([38,13,11,30,4,5]));return{id:z3,diagram:e}},"loader"),JW={id:z3,detector:ZW,loader:QW},tq=JW,eq=b((e,t,i)=>{vt.debug(`rendering svg for syntax error
1672
- `);const r=QI(t),s=r.append("g");r.attr("viewBox","0 0 2412 512"),M4(r,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},"draw"),D3={draw:eq},iq=D3,rq={db:{},renderer:D3,parser:{parse:b(()=>{},"parse")}},sq=rq,F3="flowchart-elk",oq=b((e,t={})=>/^\s*flowchart-elk/.test(e)?(t.layout="elk",!0):!1,"detector"),aq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./flowDiagram-KWPJA3E3-DeB8-O7Y.js").then(i=>i.f);return{diagram:t}},__vite__mapDeps([12,13,14,15,11,16]));return{id:F3,diagram:e}},"loader"),nq={id:F3,detector:oq,loader:aq},lq=nq,O3="timeline",cq=b(e=>/^\s*timeline/.test(e),"detector"),hq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./timeline-definition-EJHVYXUP-C9nhaxck.js");return{diagram:t}},__vite__mapDeps([39,30,4,5]));return{id:O3,diagram:e}},"loader"),dq={id:O3,detector:cq,loader:hq},uq=dq,N3="mindmap",pq=b(e=>/^\s*mindmap/.test(e),"detector"),fq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./mindmap-definition-NLK3R4M7-BDqwqJMJ.js");return{diagram:t}},__vite__mapDeps([40,14,15,4,5]));return{id:N3,diagram:e}},"loader"),gq={id:N3,detector:pq,loader:fq},mq=gq,W3="kanban",bq=b(e=>/^\s*kanban/.test(e),"detector"),yq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./kanban-definition-PNTS6WVX-cVbdWfVg.js");return{diagram:t}},__vite__mapDeps([41,13,4,5]));return{id:W3,diagram:e}},"loader"),xq={id:W3,detector:bq,loader:yq},vq=xq,q3="sankey",wq=b(e=>/^\s*sankey(-beta)?/.test(e),"detector"),kq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./sankeyDiagram-IPEJSGJF-VeHnKI-a.js");return{diagram:t}},__vite__mapDeps([42,31,26,4,5]));return{id:q3,diagram:e}},"loader"),Sq={id:q3,detector:wq,loader:kq},Cq=Sq,H3="packet",Tq=b(e=>/^\s*packet(-beta)?/.test(e),"detector"),$q=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-MLGK6HIB-CDowox_d.js");return{diagram:t}},__vite__mapDeps([43,22,23,4,5]));return{id:H3,diagram:e}},"loader"),Mq={id:H3,detector:Tq,loader:$q},j3="radar",Aq=b(e=>/^\s*radar-beta/.test(e),"detector"),Bq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-MPIPVDR6-CaThzNCZ.js");return{diagram:t}},__vite__mapDeps([44,22,23,4,5]));return{id:j3,diagram:e}},"loader"),_q={id:j3,detector:Aq,loader:Bq},U3="block",Lq=b(e=>/^\s*block(-beta)?/.test(e),"detector"),Pq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./blockDiagram-BEXU5L5S-W5WSJa_J.js");return{diagram:t}},__vite__mapDeps([45,13,3,16,4,5]));return{id:U3,diagram:e}},"loader"),Eq={id:U3,detector:Lq,loader:Pq},Rq=Eq,Y3="treeView",Iq=b(e=>/^\s*treeView-beta/.test(e),"detector"),zq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-CDSNMT55-Dj-WM3vk.js");return{diagram:t}},__vite__mapDeps([46,21,22,23,4,5]));return{id:Y3,diagram:e}},"loader"),Dq={id:Y3,detector:Iq,loader:zq},Fq=Dq,G3="architecture",Oq=b(e=>/^\s*architecture/.test(e),"detector"),Nq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./architectureDiagram-NJMV4G6O-CVWCwiqh.js");return{diagram:t}},__vite__mapDeps([47,22,23,9,4,5]));return{id:G3,diagram:e}},"loader"),Wq={id:G3,detector:Oq,loader:Nq},qq=Wq,X3="eventmodeling",Hq=b(e=>/^\s*eventmodeling/.test(e),"detector"),jq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-ATOU4E4O-C_tcqhr3.js");return{diagram:t}},__vite__mapDeps([48,22,23,4,5]));return{id:X3,diagram:e}},"loader"),Uq={id:X3,detector:Hq,loader:jq},Yq=Uq,V3="ishikawa",Gq=b(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),Xq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./ishikawaDiagram-OU5B5YK6-Brt56LtP.js");return{diagram:t}},__vite__mapDeps([49,4,5]));return{id:V3,diagram:e}},"loader"),Vq={id:V3,detector:Gq,loader:Xq},K3="venn",Kq=b(e=>/^\s*venn-beta/.test(e),"detector"),Zq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./vennDiagram-UO4OBE2U-BigR6haV.js");return{diagram:t}},__vite__mapDeps([50,4,5]));return{id:K3,diagram:e}},"loader"),Qq={id:K3,detector:Kq,loader:Zq},Jq=Qq,Z3="treemap",tH=b(e=>/^\s*treemap/.test(e),"detector"),eH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-3UASUU5V-Dk1gOSew.js");return{diagram:t}},__vite__mapDeps([51,22,15,23,27,31,26,4,5]));return{id:Z3,diagram:e}},"loader"),iH={id:Z3,detector:tH,loader:eH},Q3="usecase",rH=b(e=>/^\s*usecase-beta(?:\s|$)/.test(e),"detector"),sH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./usecaseDiagram-POWQR4AR-jfXBWSzR.js");return{diagram:t}},__vite__mapDeps([52,14,15,4,5]));return{id:Q3,diagram:e}},"loader"),oH={id:Q3,detector:rH,loader:sH},J3="wardley",aH=b(e=>/^\s*wardley-beta/i.test(e),"detector"),nH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./wardleyDiagram-VNRHLVJA-BXJexKTM.js");return{diagram:t}},__vite__mapDeps([53,22,23,4,5]));return{id:J3,diagram:e}},"loader"),lH={id:J3,detector:aH,loader:nH},cH=lH,t6="cynefin",hH=b(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),dH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./cynefinDiagram-VND7K2PF-C_Qmhc8V.js");return{diagram:t}},__vite__mapDeps([54,22,23,4,5]));return{id:t6,diagram:e}},"loader"),uH={id:t6,detector:hH,loader:dH},e6="railroad",pH=b(e=>/^\s*railroad-beta/i.test(e),"detector"),fH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./railroadDiagram-XR7U4H2S-BX9P-jy7.js");return{diagram:t}},__vite__mapDeps([55,56,22,23,4,5]));return{id:e6,diagram:e}},"loader"),gH={id:e6,detector:pH,loader:fH},i6="railroadEbnf",mH=b(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),bH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./ebnfDiagram-ZINNZB2B-BZbLdwcz.js");return{diagram:t}},__vite__mapDeps([57,56,22,23,4,5]));return{id:i6,diagram:e}},"loader"),yH={id:i6,detector:mH,loader:bH},r6="railroadAbnf",xH=b(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),vH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./abnfDiagram-O67JEVCF-BCWHgm_-.js");return{diagram:t}},__vite__mapDeps([58,56,22,23,4,5]));return{id:r6,diagram:e}},"loader"),wH={id:r6,detector:xH,loader:vH},s6="railroadPeg",kH=b(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),SH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./pegDiagram-GJSIUBJH-w6CrSKt0.js");return{diagram:t}},__vite__mapDeps([59,56,22,23,4,5]));return{id:s6,diagram:e}},"loader"),CH={id:s6,detector:kH,loader:SH},r2=!1,Vu=b(()=>{r2||(r2=!0,zd("error",sq,e=>e.toLowerCase().trim()==="error"),zd("---",{db:{clear:b(()=>{},"clear")},styles:{},renderer:{draw:b(()=>{},"draw")},parser:{parse:b(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:b(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),wf(lq,mq,qq),wf(sW,KN,vq,YW,uW,vW,SW,$W,FW,qW,lW,tW,uq,mW,KW,tq,_W,Cq,Mq,RW,Rq,Yq,Fq,_q,Vq,iH,gH,yH,wH,CH,Jq,cH,uH,oH))},"addDiagrams"),TH=b(async()=>{vt.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(Ga).map(async([i,{detector:r,loader:s}])=>{if(s)try{$f(i)}catch{try{const{diagram:o,id:a}=await s();zd(a,o,r)}catch(o){throw vt.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Ga[i],o}}}))).filter(i=>i.status==="rejected");if(t.length>0){vt.error(`Failed to load ${t.length} external diagrams`);for(const i of t)vt.error(i);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),$H="graphics-document document";function o6(e,t){e.attr("role",$H),t!==""&&e.attr("aria-roledescription",t)}b(o6,"setA11yDiagramInfo");function a6(e,t,i,r){if(e.insert!==void 0){if(i){const s=`chart-desc-${r}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(i)}if(t){const s=`chart-title-${r}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}b(a6,"addSVGa11yTitleDescription");var Ua,iu=(Ua=class{constructor(t,i,r,s,o){this.type=t,this.text=i,this.db=r,this.parser=s,this.renderer=o}static async fromText(t,i={}){const r=typeof t=="string"?{cleaned:t}:t,s=ei(),o=Eu(r.cleaned,s);try{$f(o)}catch{const u=nL(o);if(!u)throw new f4(`Diagram ${o} not found.`);const{id:p,diagram:f}=await u();zd(p,f)}const{db:a,parser:n,renderer:l,init:c}=$f(o);n.parser&&(n.parser.yy=a),a.clear?.(),c?.(s),i.title&&a.setDiagramTitle?.(i.title);let h=r.cleaned;if(a.preserveCommentsWhenParsing&&r.withComments){const u=s.maxTextSize??um.maxTextSize;r.withComments.length>u?vt.warn(`Comment-preserving source exceeds maxTextSize (${r.withComments.length} > ${u}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`):h=r.withComments}const d=CD(h)+`
1671
+ L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),vN=b((e,t,i)=>{const r=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");r.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),r.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),r.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),wN=b((e,t,i)=>{const r=ei(),{themeVariables:s}=r,{strokeWidth:o}=s,a=e.append("defs").append("marker").attr("id",i+"_"+t+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");a.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),a.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),a.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),a.selectAll("*").attr("stroke-width",`${o}`)},"requirement_contains_neo"),kN=b((e,t,i)=>{e.append("marker").attr("id",i+"_"+t+"-hierarchyEnd").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",10).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 0 0 L 6 5 L 0 10 M 4 0 L 10 5 L 4 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none"),e.append("marker").attr("id",i+"_"+t+"-hierarchyStart").attr("class","marker hierarchy "+t).attr("viewBox","0 0 12 10").attr("refX",2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",10).attr("orient","auto").append("path").attr("d","M 12 0 L 6 5 L 12 10 M 8 0 L 2 5 L 8 10").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0").style("fill","none")},"hierarchy"),SN={extension:tN,composition:eN,aggregation:iN,dependency:rN,lollipop:sN,point:oN,circle:aN,cross:nN,barb:lN,barbNeo:cN,hierarchy:kN,only_one:hN,zero_or_one:dN,one_or_more:uN,zero_or_more:pN,only_one_neo:fN,zero_or_one_neo:gN,one_or_more_neo:mN,zero_or_more_neo:bN,requirement_arrow:yN,requirement_contains:vN,requirement_arrow_neo:xN,requirement_contains_neo:wN},CN=JO,TN={common:Hc,getConfig:ei,insertCluster:OO,insertEdge:QO,insertEdgeLabel:UO,insertMarkers:CN,insertNode:l3,interpolateToCurve:Qm,labelHelper:ee,log:vt,positionEdgeLabel:YO},$N=["elk.stress","elk.force","elk.mrtree","elk.sporeOverlap","elk.box","elk.rectpacking"],Bc=Object.create(null),f3=b(e=>{for(const t of e)Bc[t.name]=t},"registerLayoutLoaders"),MN=b(()=>{const e=b(async()=>await xe(()=>import("./elk-276RUBZZ-C0qbqSzX.js"),__vite__mapDeps([0,1,2,3,4,5,6])),"loader");return[{name:"elk",loader:e,algorithm:"elk.layered"},...$N.map(t=>({name:t,loader:e,algorithm:t}))]},"elkLayoutLoaders"),AN=b(()=>{f3([{name:"dagre",loader:b(async()=>await xe(()=>import("./dagre-6A5THRUB-CNLq2-K8.js"),__vite__mapDeps([7,2,3,4,8,5,6])),"loader")},{name:"swimlane",loader:b(async()=>await xe(()=>import("./swimlanes-2SLR337P-BOtWDtXR.js"),__vite__mapDeps([9,1,2,3,4,5,6])),"loader")},{name:"cose-bilkent",loader:b(async()=>await xe(()=>import("./cose-bilkent-JH36ORCC-BrpIQScu.js"),__vite__mapDeps([10,11,5,6])),"loader")},...MN()])},"registerDefaultLayoutLoaders");AN();var Det=b(async(e,t)=>{if(!Object.hasOwn(Bc,e.layoutAlgorithm))throw new Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(const s of e.nodes){const o=s.domId||s.id;s.domId=`${e.diagramId}-${o}`}const i=Bc[e.layoutAlgorithm],r=await i.loader();return rz(t,e.config),r.render(e,t,TN,{algorithm:i.algorithm})},"render"),B0="dagre",Fet=b((e="",{fallback:t=B0}={})=>{if(Object.hasOwn(Bc,e))return e;for(const i of[t,B0])if(Object.hasOwn(Bc,i))return vt.warn(`Layout algorithm ${e} is not registered. Using ${i} as fallback.`),i;throw new Error(`Neither layout algorithm ${e}, ${t}, nor ${B0} is registered.`)},"getRegisteredLayoutAlgorithm"),S1="comm",g3="rule",m3="decl",BN="@media",_N="@import",LN="@supports",PN="@namespace",eg="@keyframes",b3="@layer",EN="@scope",RN=Math.abs,mc=String.fromCharCode;function y3(e){return e.trim()}function ig(e,t,i){return e.replace(t,i)}function Rn(e,t){return e.charCodeAt(t)|0}function rl(e,t,i){return e.slice(t,i)}function Ds(e){return e.length}function x3(e){return e.length}function $h(e,t){return t.push(e),e}var Gu=1,sl=1,v3=0,is=0,bi=0,yl="";function C1(e,t,i,r,s,o,a,n){return{value:e,root:t,parent:i,type:r,props:s,children:o,line:Gu,column:sl,length:a,return:"",siblings:n}}function IN(){return bi}function zN(){return bi=is>0?Rn(yl,--is):0,sl--,bi===10&&(sl=1,Gu--),bi}function ws(){return bi=is<v3?Rn(yl,is++):0,sl++,bi===10&&(sl=1,Gu++),bi}function ia(){return Rn(yl,is)}function cd(){return is}function Xu(e,t){return rl(yl,e,t)}function _c(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function DN(e){return Gu=sl=1,v3=Ds(yl=e),is=0,[]}function FN(e){return yl="",e}function _0(e){return y3(Xu(is-1,rg(e===91?e+2:e===40?e+1:e)))}function ON(e){for(;(bi=ia())&&bi<33;)ws();return _c(e)>2||_c(bi)>3?"":" "}function NN(e,t){for(;--t&&ws()&&!(bi<48||bi>102||bi>57&&bi<65||bi>70&&bi<97););return Xu(e,cd()+(t<6&&ia()==32&&ws()==32))}function rg(e){for(;ws();)switch(bi){case e:return is;case 34:case 39:e!==34&&e!==39&&rg(bi);break;case 40:e===41&&rg(e);break;case 92:ws();break}return is}function WN(e,t){for(;ws()&&e+bi!==57;)if(e+bi===84&&ia()===47)break;return"/*"+Xu(t,is-1)+"*"+mc(e===47?e:ws())}function qN(e){for(;!_c(ia());)ws();return Xu(e,is)}function HN(e){return FN(hd("",null,null,null,[""],e=DN(e),0,[0],e))}function hd(e,t,i,r,s,o,a,n,l){for(var c=0,h=0,d=a,u=0,p=0,f=0,g=1,m=1,x=1,w=0,S=0,A="",C=s,E=o,z=r,R=A;m;)switch(f=S,S=ws()){case 40:f!=108&&Rn(R,d-1)==58?(w++,R+="("):R+=_0(S);break;case 41:w--,R+=")";break;case 34:case 39:case 91:R+=_0(S);break;case 9:case 10:case 13:case 32:if(w>0){R+=mc(S);break}R+=ON(f);break;case 92:R+=NN(cd()-1,7);continue;case 47:switch(ia()){case 42:case 47:$h(jN(WN(ws(),cd()),t,i,l),l),(_c(f||1)==5||_c(ia()||1)==5)&&Ds(R)&&rl(R,-1,void 0)!==" "&&(R+=" ");break;default:R+="/"}break;case 123*g:n[c++]=Ds(R)*x;case 125*g:case 59:case 0:if(w>0&&S){R+=mc(S);break}switch(S){case 0:case 125:m=0;case 59+h:x==-1&&(R=ig(R,/\f/g,"")),p>0&&(Ds(R)-d||g===0)&&$h(p>32?i2(R+";",r,i,d-1,l):i2(ig(R," ","")+";",r,i,d-2,l),l);break;case 59:R+=";";default:if($h(z=e2(R,t,i,c,h,s,n,A,C=[],E=[],d,o),o),S===123)if(h===0)hd(R,t,z,z,C,o,d,n,E);else{switch(u){case 99:if(Rn(R,3)===110)break;case 108:if(Rn(R,2)===97)break;default:h=0;case 100:case 109:case 115:}h?hd(e,z,z,r&&$h(e2(e,z,z,0,0,s,n,A,s,C=[],d,E),E),s,E,d,n,r?C:E):hd(R,z,z,z,[""],E,0,n,E)}}c=h=p=0,g=x=1,A=R="",d=a;break;case 58:d=1+Ds(R),p=f;default:if(g<1){if(S==123)--g;else if(S==125&&g++==0&&zN()==125)continue}switch(R+=mc(S),S*g){case 38:x=h>0?1:(R+="\f",-1);break;case 44:if(w>0)break;n[c++]=(Ds(R)-1)*x,x=1;break;case 64:ia()===45&&(R+=_0(ws())),u=ia(),h=d=Ds(A=R+=qN(cd())),S++;break;case 45:f===45&&Ds(R)==2&&(g=0)}}return o}function e2(e,t,i,r,s,o,a,n,l,c,h,d){for(var u=s-1,p=s===0?o:[""],f=x3(p),g=0,m=0,x=0;g<r;++g)for(var w=0,S=rl(e,u+1,u=RN(m=a[g])),A=e;w<f;++w)(A=y3(m>0?p[w]+" "+S:ig(S,/&\f/g,p[w])))&&(l[x++]=A);return C1(e,t,i,s===0?g3:n,l,c,h,d)}function jN(e,t,i,r){return C1(e,t,i,S1,mc(IN()),rl(e,2,-2),0,r)}function i2(e,t,i,r,s){return C1(e,t,i,m3,rl(e,0,r),rl(e,r+1,-1),r,s)}function sg(e,t){for(var i="",r=0;r<e.length;r++)i+=t(e[r],r,e,t)||"";return i}function UN(e,t,i,r){switch(e.type){case b3:if(e.children.length)break;case _N:case PN:case m3:return e.return=e.return||e.value;case S1:return"";case eg:return e.return=e.value+"{"+sg(e.children,r)+"}";case g3:if(!Ds(e.value=e.props.join(",")))return""}return Ds(i=sg(e.children,r))?e.return=e.value+"{"+i+"}":""}function YN(e){var t=x3(e);return function(i,r,s,o){for(var a="",n=0;n<t;n++)a+=e[n](i,r,s,o)||"";return a}}var w3="c4",GN=b(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),XN=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./c4Diagram-YGBWAQC7-B2q8gSrU.js");return{diagram:t}},__vite__mapDeps([12,13,5,6]));return{id:w3,diagram:e}},"loader"),VN={id:w3,detector:GN,loader:XN},KN=VN,k3="flowchart-v2",ZN=b(e=>/^\s*(graph|flowchart)/.test(e),"detector"),QN=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./flowDiagram-KWPJA3E3-CRR5EuoG.js").then(i=>i.f);return{diagram:t}},__vite__mapDeps([14,15,16,17,13,18]));return{id:k3,diagram:e}},"loader"),JN={id:k3,detector:ZN,loader:QN},tW=JN,S3="agentflow",eW=b(e=>/^\s*agentflow-beta\b/.test(e),"detector"),iW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-22UHCM2B-B8hKRE_o.js");return{diagram:t}},__vite__mapDeps([19,15,16,17,13,18,5,6]));return{id:S3,diagram:e}},"loader"),rW={id:S3,detector:eW,loader:iW},sW=rW,C3="swimlane",oW=b(e=>/^\s*swimlane-beta\b/.test(e),"detector"),aW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./swimlanesDiagram-TC7HE7FX-CMZDG2D-.js");return{diagram:t}},__vite__mapDeps([20,14,15,16,17,13,18,5,6]));return{id:C3,diagram:e}},"loader"),nW={id:C3,detector:oW,loader:aW},lW=nW,T3="er",cW=b(e=>/^\s*erDiagram/.test(e),"detector"),hW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./erDiagram-OPXOYQCR-CPCRCRVW.js");return{diagram:t}},__vite__mapDeps([21,16,17,18,5,6]));return{id:T3,diagram:e}},"loader"),dW={id:T3,detector:cW,loader:hW},uW=dW,$3="gitGraph",pW=b(e=>/^\s*gitGraph/.test(e),"detector"),fW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./gitGraphDiagram-X574FWY7-BiGivFUj.js");return{diagram:t}},__vite__mapDeps([22,23,24,25,5,6]));return{id:$3,diagram:e}},"loader"),gW={id:$3,detector:pW,loader:fW},mW=gW,M3="gantt",bW=b(e=>/^\s*gantt/.test(e),"detector"),yW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./ganttDiagram-FUAMR5RP-CCJy4INc.js");return{diagram:t}},__vite__mapDeps([26,27,28,29,5,6]));return{id:M3,diagram:e}},"loader"),xW={id:M3,detector:bW,loader:yW},vW=xW,A3="info",wW=b(e=>/^\s*info/.test(e),"detector"),kW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./infoDiagram-VRGFBTTK-BdSqUdzZ.js");return{diagram:t}},__vite__mapDeps([30,25,5,6]));return{id:A3,diagram:e}},"loader"),SW={id:A3,detector:wW,loader:kW},B3="pie",CW=b(e=>/^\s*pie/.test(e),"detector"),TW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./pieDiagram-5QR66LMP-DUKBH1DT.js");return{diagram:t}},__vite__mapDeps([31,24,25,32,33,28,5,6]));return{id:B3,diagram:e}},"loader"),$W={id:B3,detector:CW,loader:TW},_3="quadrantChart",MW=b(e=>/^\s*quadrantChart/.test(e),"detector"),AW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./quadrantDiagram-O4NWA36T-DA4vON7R.js");return{diagram:t}},__vite__mapDeps([34,27,28,29,5,6]));return{id:_3,diagram:e}},"loader"),BW={id:_3,detector:MW,loader:AW},_W=BW,L3="xychart",LW=b(e=>/^\s*xychart(-beta)?/.test(e),"detector"),PW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./xychartDiagram-PMCCYNJV-B7_BBfaW.js");return{diagram:t}},__vite__mapDeps([35,28,33,27,29,5,6]));return{id:L3,diagram:e}},"loader"),EW={id:L3,detector:LW,loader:PW},RW=EW,P3="requirement",IW=b(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),zW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./requirementDiagram-PLB6GJNP-D8QwjsX7.js");return{diagram:t}},__vite__mapDeps([36,16,17,5,6]));return{id:P3,diagram:e}},"loader"),DW={id:P3,detector:IW,loader:zW},FW=DW,E3="sequence",OW=b(e=>/^\s*sequenceDiagram/.test(e),"detector"),NW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./sequenceDiagram-PO4LG4MO-_ejeE6EX.js");return{diagram:t}},__vite__mapDeps([37,23,13,5,6]));return{id:E3,diagram:e}},"loader"),WW={id:E3,detector:OW,loader:NW},qW=WW,R3="classDiagram",HW=b(e=>/^\s*classDiagram/.test(e),"detector"),jW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./classDiagram-v2-NBCMYWYE-Ch9Lx94A.js");return{diagram:t}},__vite__mapDeps([38,15,16,17,13,5,6]));return{id:R3,diagram:e}},"loader"),UW={id:R3,detector:HW,loader:jW},YW=UW,I3="stateDiagram",GW=b(e=>/^\s*stateDiagram/.test(e),"detector"),XW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./stateDiagram-v2-GCMORJYK-Gd_SeXN9.js");return{diagram:t}},__vite__mapDeps([39,16,17,13,5,6]));return{id:I3,diagram:e}},"loader"),VW={id:I3,detector:GW,loader:XW},KW=VW,z3="journey",ZW=b(e=>/^\s*journey/.test(e),"detector"),QW=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./journeyDiagram-ZHPQQLJL-C1FkG7_Y.js");return{diagram:t}},__vite__mapDeps([40,15,13,32,5,6]));return{id:z3,diagram:e}},"loader"),JW={id:z3,detector:ZW,loader:QW},tq=JW,eq=b((e,t,i)=>{vt.debug(`rendering svg for syntax error
1672
+ `);const r=QI(t),s=r.append("g");r.attr("viewBox","0 0 2412 512"),M4(r,100,512,!0),s.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),s.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),s.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),s.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),s.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),s.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),s.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),s.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},"draw"),D3={draw:eq},iq=D3,rq={db:{},renderer:D3,parser:{parse:b(()=>{},"parse")}},sq=rq,F3="flowchart-elk",oq=b((e,t={})=>/^\s*flowchart-elk/.test(e)?(t.layout="elk",!0):!1,"detector"),aq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./flowDiagram-KWPJA3E3-CRR5EuoG.js").then(i=>i.f);return{diagram:t}},__vite__mapDeps([14,15,16,17,13,18]));return{id:F3,diagram:e}},"loader"),nq={id:F3,detector:oq,loader:aq},lq=nq,O3="timeline",cq=b(e=>/^\s*timeline/.test(e),"detector"),hq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./timeline-definition-EJHVYXUP-DYl9dUjO.js");return{diagram:t}},__vite__mapDeps([41,32,5,6]));return{id:O3,diagram:e}},"loader"),dq={id:O3,detector:cq,loader:hq},uq=dq,N3="mindmap",pq=b(e=>/^\s*mindmap/.test(e),"detector"),fq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./mindmap-definition-NLK3R4M7-BDi04G8P.js");return{diagram:t}},__vite__mapDeps([42,16,17,5,6]));return{id:N3,diagram:e}},"loader"),gq={id:N3,detector:pq,loader:fq},mq=gq,W3="kanban",bq=b(e=>/^\s*kanban/.test(e),"detector"),yq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./kanban-definition-PNTS6WVX-7Og64Ylp.js");return{diagram:t}},__vite__mapDeps([43,15,5,6]));return{id:W3,diagram:e}},"loader"),xq={id:W3,detector:bq,loader:yq},vq=xq,q3="sankey",wq=b(e=>/^\s*sankey(-beta)?/.test(e),"detector"),kq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./sankeyDiagram-IPEJSGJF-DWGxFQm3.js");return{diagram:t}},__vite__mapDeps([44,33,28,5,6]));return{id:q3,diagram:e}},"loader"),Sq={id:q3,detector:wq,loader:kq},Cq=Sq,H3="packet",Tq=b(e=>/^\s*packet(-beta)?/.test(e),"detector"),$q=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-MLGK6HIB-Dsw8Iqaq.js");return{diagram:t}},__vite__mapDeps([45,24,25,5,6]));return{id:H3,diagram:e}},"loader"),Mq={id:H3,detector:Tq,loader:$q},j3="radar",Aq=b(e=>/^\s*radar-beta/.test(e),"detector"),Bq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-MPIPVDR6-T4zPzapt.js");return{diagram:t}},__vite__mapDeps([46,24,25,5,6]));return{id:j3,diagram:e}},"loader"),_q={id:j3,detector:Aq,loader:Bq},U3="block",Lq=b(e=>/^\s*block(-beta)?/.test(e),"detector"),Pq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./blockDiagram-BEXU5L5S-nZRhUgoO.js");return{diagram:t}},__vite__mapDeps([47,15,3,4,18,5,6]));return{id:U3,diagram:e}},"loader"),Eq={id:U3,detector:Lq,loader:Pq},Rq=Eq,Y3="treeView",Iq=b(e=>/^\s*treeView-beta/.test(e),"detector"),zq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-CDSNMT55-BXiuQ_UO.js");return{diagram:t}},__vite__mapDeps([48,23,24,25,5,6]));return{id:Y3,diagram:e}},"loader"),Dq={id:Y3,detector:Iq,loader:zq},Fq=Dq,G3="architecture",Oq=b(e=>/^\s*architecture/.test(e),"detector"),Nq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./architectureDiagram-NJMV4G6O-Cg80o9g4.js");return{diagram:t}},__vite__mapDeps([49,24,25,11,5,6]));return{id:G3,diagram:e}},"loader"),Wq={id:G3,detector:Oq,loader:Nq},qq=Wq,X3="eventmodeling",Hq=b(e=>/^\s*eventmodeling/.test(e),"detector"),jq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-ATOU4E4O-CzGwlb-Y.js");return{diagram:t}},__vite__mapDeps([50,24,25,5,6]));return{id:X3,diagram:e}},"loader"),Uq={id:X3,detector:Hq,loader:jq},Yq=Uq,V3="ishikawa",Gq=b(e=>/^\s*ishikawa(-beta)?\b/i.test(e),"detector"),Xq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./ishikawaDiagram-OU5B5YK6-Bto15O_-.js");return{diagram:t}},__vite__mapDeps([51,5,6]));return{id:V3,diagram:e}},"loader"),Vq={id:V3,detector:Gq,loader:Xq},K3="venn",Kq=b(e=>/^\s*venn-beta/.test(e),"detector"),Zq=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./vennDiagram-UO4OBE2U-Ded7JPVG.js");return{diagram:t}},__vite__mapDeps([52,5,6]));return{id:K3,diagram:e}},"loader"),Qq={id:K3,detector:Kq,loader:Zq},Jq=Qq,Z3="treemap",tH=b(e=>/^\s*treemap/.test(e),"detector"),eH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./diagram-3UASUU5V-B4uZ3GNA.js");return{diagram:t}},__vite__mapDeps([53,24,17,25,29,33,28,5,6]));return{id:Z3,diagram:e}},"loader"),iH={id:Z3,detector:tH,loader:eH},Q3="usecase",rH=b(e=>/^\s*usecase-beta(?:\s|$)/.test(e),"detector"),sH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./usecaseDiagram-POWQR4AR-B_DlB3UM.js");return{diagram:t}},__vite__mapDeps([54,16,17,8,4,5,6]));return{id:Q3,diagram:e}},"loader"),oH={id:Q3,detector:rH,loader:sH},J3="wardley",aH=b(e=>/^\s*wardley-beta/i.test(e),"detector"),nH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./wardleyDiagram-VNRHLVJA-losDIeQr.js");return{diagram:t}},__vite__mapDeps([55,24,25,5,6]));return{id:J3,diagram:e}},"loader"),lH={id:J3,detector:aH,loader:nH},cH=lH,t6="cynefin",hH=b(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),"detector"),dH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./cynefinDiagram-VND7K2PF-qbMIgfpH.js");return{diagram:t}},__vite__mapDeps([56,24,25,5,6]));return{id:t6,diagram:e}},"loader"),uH={id:t6,detector:hH,loader:dH},e6="railroad",pH=b(e=>/^\s*railroad-beta/i.test(e),"detector"),fH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./railroadDiagram-XR7U4H2S-CHDT9c0L.js");return{diagram:t}},__vite__mapDeps([57,58,24,25,5,6]));return{id:e6,diagram:e}},"loader"),gH={id:e6,detector:pH,loader:fH},i6="railroadEbnf",mH=b(e=>/^\s*railroad-ebnf-beta/i.test(e),"detector"),bH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./ebnfDiagram-ZINNZB2B-CnvJApL-.js");return{diagram:t}},__vite__mapDeps([59,58,24,25,5,6]));return{id:i6,diagram:e}},"loader"),yH={id:i6,detector:mH,loader:bH},r6="railroadAbnf",xH=b(e=>/^\s*railroad-abnf-beta/i.test(e),"detector"),vH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./abnfDiagram-O67JEVCF-SLRtz9OB.js");return{diagram:t}},__vite__mapDeps([60,58,24,25,5,6]));return{id:r6,diagram:e}},"loader"),wH={id:r6,detector:xH,loader:vH},s6="railroadPeg",kH=b(e=>/^\s*railroad-peg-beta/i.test(e),"detector"),SH=b(async()=>{const{diagram:e}=await xe(async()=>{const{diagram:t}=await import("./pegDiagram-GJSIUBJH-niwxJYhI.js");return{diagram:t}},__vite__mapDeps([61,58,24,25,5,6]));return{id:s6,diagram:e}},"loader"),CH={id:s6,detector:kH,loader:SH},r2=!1,Vu=b(()=>{r2||(r2=!0,zd("error",sq,e=>e.toLowerCase().trim()==="error"),zd("---",{db:{clear:b(()=>{},"clear")},styles:{},renderer:{draw:b(()=>{},"draw")},parser:{parse:b(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:b(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),wf(lq,mq,qq),wf(sW,KN,vq,YW,uW,vW,SW,$W,FW,qW,lW,tW,uq,mW,KW,tq,_W,Cq,Mq,RW,Rq,Yq,Fq,_q,Vq,iH,gH,yH,wH,CH,Jq,cH,uH,oH))},"addDiagrams"),TH=b(async()=>{vt.debug("Loading registered diagrams");const t=(await Promise.allSettled(Object.entries(Ga).map(async([i,{detector:r,loader:s}])=>{if(s)try{$f(i)}catch{try{const{diagram:o,id:a}=await s();zd(a,o,r)}catch(o){throw vt.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Ga[i],o}}}))).filter(i=>i.status==="rejected");if(t.length>0){vt.error(`Failed to load ${t.length} external diagrams`);for(const i of t)vt.error(i);throw new Error(`Failed to load ${t.length} external diagrams`)}},"loadRegisteredDiagrams"),$H="graphics-document document";function o6(e,t){e.attr("role",$H),t!==""&&e.attr("aria-roledescription",t)}b(o6,"setA11yDiagramInfo");function a6(e,t,i,r){if(e.insert!==void 0){if(i){const s=`chart-desc-${r}`;e.attr("aria-describedby",s),e.insert("desc",":first-child").attr("id",s).text(i)}if(t){const s=`chart-title-${r}`;e.attr("aria-labelledby",s),e.insert("title",":first-child").attr("id",s).text(t)}}}b(a6,"addSVGa11yTitleDescription");var Ua,iu=(Ua=class{constructor(t,i,r,s,o){this.type=t,this.text=i,this.db=r,this.parser=s,this.renderer=o}static async fromText(t,i={}){const r=typeof t=="string"?{cleaned:t}:t,s=ei(),o=Eu(r.cleaned,s);try{$f(o)}catch{const u=nL(o);if(!u)throw new f4(`Diagram ${o} not found.`);const{id:p,diagram:f}=await u();zd(p,f)}const{db:a,parser:n,renderer:l,init:c}=$f(o);n.parser&&(n.parser.yy=a),a.clear?.(),c?.(s),i.title&&a.setDiagramTitle?.(i.title);let h=r.cleaned;if(a.preserveCommentsWhenParsing&&r.withComments){const u=s.maxTextSize??um.maxTextSize;r.withComments.length>u?vt.warn(`Comment-preserving source exceeds maxTextSize (${r.withComments.length} > ${u}); parsing the comment-stripped text instead. Reported source positions will not account for comment lines.`):h=r.withComments}const d=CD(h)+`
1673
1673
  `;return r.frontmatterLineOffset&&a.setFrontmatterLineOffset?.(r.frontmatterLineOffset),await n.parse(d),new Ua(o,d,a,n,l)}async render(t,i){await this.renderer.draw(this.text,t,i,this)}getParser(){return this.parser}getType(){return this.type}},b(Ua,"Diagram"),Ua),s2=[],MH=b(()=>{s2.forEach(e=>{e()}),s2=[]},"attachFunctions"),AH=b(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function n6(e){const t=e.match(p4);if(!t)return{text:e,metadata:{}};const i=t[1],r=i?t[2].split(`
1674
1674
  `).map(a=>a.startsWith(i)?a.slice(i.length):a).join(`
1675
1675
  `):t[2];let s=iz(r,{schema:ez})??{};s=typeof s=="object"&&!Array.isArray(s)?s:{};const o={};return s.displayMode&&(o.displayMode=s.displayMode.toString()),s.title&&(o.title=s.title.toString()),s.config&&(o.config=s.config),{text:e.slice(t[0].length),metadata:o}}b(n6,"extractFrontMatter");var BH=b(e=>e.replace(/\r\n?/g,`
@@ -5360,7 +5360,7 @@ ${e}`:e;this.editor.dispatch({changes:{from:0,to:this.editor.state.doc.length,in
5360
5360
  gap: 12px;
5361
5361
  }
5362
5362
  .binary-file-view p { margin: 0; }
5363
- `];No([P({attribute:!1})],Ms.prototype,"context",2);No([ui("#workspace-upload-input")],Ms.prototype,"uploadInput",2);No([Ct()],Ms.prototype,"pendingUpload",2);No([Ct()],Ms.prototype,"destinationFolder",2);No([Ct()],Ms.prototype,"overwrite",2);No([Ct()],Ms.prototype,"createDirs",2);No([Ct()],Ms.prototype,"formError",2);No([Ct()],Ms.prototype,"dragActive",2);Ms=No([Ae("workspace-files-panel")],Ms);function MJ(e,t){return Object.values(e).filter(i=>i.projectId===t.projectId&&i.workspaceId===t.workspaceId&&i.machineId===t.machineId).sort((i,r)=>r.startedAt.localeCompare(i.startedAt))}function AJ(e,t){if(e.length===0)return"Choose at least one file to upload.";for(const i of e)try{jg(t,i.name)}catch(r){return r instanceof Error?r.message:String(r)}}function BJ(e){return{destinationFolder:e,createDirs:!0,overwrite:!1}}function _J(e,t){if(t.length!==0)return e.onStartWorkspaceUpload(t,{destinationFolder:e.workspaceUploadDefaultFolder,createDirs:!0,overwrite:!1,selectUploadedFile:!0})}function qw(e){return`${e.machine.id}:${e.workspace.projectId}:${e.workspace.id}`}function jh(e){return Array.from(e.dataTransfer?.types??[]).includes("Files")}function LJ(e){const t=e.filter(i=>i.status==="uploading").length;return t===0?`${String(e.length)} recent`:`${String(t)} uploading`}function PJ(e){const t=e.files.length,i=t===1?"file":"files";switch(e.status){case"completed":return`Uploaded ${String(t)} ${i}`;case"error":return`Upload failed for ${String(t)} ${i}`;case"cancelled":return`Upload cancelled for ${String(t)} ${i}`;case"uploading":return`Uploading ${String(t)} ${i}`}}function EJ(e){switch(e.status){case"completed":return"Done";case"error":return"Failed";case"cancelled":return"Cancelled";case"uploading":return l7(e.percent)}}function RJ(e){return e.status==="uploading"?e.percent:1}function IJ(e){switch(e.status){case"pending":return"Pending";case"uploading":return l7(e.percent);case"completed":return"Done";case"error":return"Error";case"cancelled":return"Cancelled"}}function zJ(e){return e.error!==void 0?e.error:e.response!==void 0?`Wrote ${e.response.path}`:`${e.path} · ${Jo(e.loaded)} / ${Jo(e.total)}`}function l7(e){return`${String(Math.round(Math.max(0,Math.min(1,e))*100))}%`}function DJ(){xe(()=>import("./CodeViewer-B61IQaP0.js"),__vite__mapDeps([60,4,5]))}function Jo(e){if(!Number.isFinite(e)||e<0)return"0 B";if(e<1024)return`${String(e)} B`;const t=e/1024;if(t<1024)return`${rf(t)} KB`;const i=t/1024;return i<1024?`${rf(i)} MB`:`${rf(i/1024)} GB`}function rf(e){return e>=10?String(Math.round(e)):e.toFixed(1)}var FJ=Object.defineProperty,OJ=Object.getOwnPropertyDescriptor,c7=(e,t,i,r)=>{for(var s=r>1?void 0:r?OJ(t,i):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(s=(r?a(t,i,s):a(s))||s);return r&&s&&FJ(t,i,s),s};let bu=class extends we{get executions(){if(!this.context)return[];const e=this.context.state.messages;if(e.length===0)return[];const t=[];for(const i of e)for(const r of i.parts)r.type==="toolExecution"&&(r.toolName==="task"||r.toolName==="todo")&&t.push(r);return t}render(){const e=this.executions;return e.length===0?T`
5363
+ `];No([P({attribute:!1})],Ms.prototype,"context",2);No([ui("#workspace-upload-input")],Ms.prototype,"uploadInput",2);No([Ct()],Ms.prototype,"pendingUpload",2);No([Ct()],Ms.prototype,"destinationFolder",2);No([Ct()],Ms.prototype,"overwrite",2);No([Ct()],Ms.prototype,"createDirs",2);No([Ct()],Ms.prototype,"formError",2);No([Ct()],Ms.prototype,"dragActive",2);Ms=No([Ae("workspace-files-panel")],Ms);function MJ(e,t){return Object.values(e).filter(i=>i.projectId===t.projectId&&i.workspaceId===t.workspaceId&&i.machineId===t.machineId).sort((i,r)=>r.startedAt.localeCompare(i.startedAt))}function AJ(e,t){if(e.length===0)return"Choose at least one file to upload.";for(const i of e)try{jg(t,i.name)}catch(r){return r instanceof Error?r.message:String(r)}}function BJ(e){return{destinationFolder:e,createDirs:!0,overwrite:!1}}function _J(e,t){if(t.length!==0)return e.onStartWorkspaceUpload(t,{destinationFolder:e.workspaceUploadDefaultFolder,createDirs:!0,overwrite:!1,selectUploadedFile:!0})}function qw(e){return`${e.machine.id}:${e.workspace.projectId}:${e.workspace.id}`}function jh(e){return Array.from(e.dataTransfer?.types??[]).includes("Files")}function LJ(e){const t=e.filter(i=>i.status==="uploading").length;return t===0?`${String(e.length)} recent`:`${String(t)} uploading`}function PJ(e){const t=e.files.length,i=t===1?"file":"files";switch(e.status){case"completed":return`Uploaded ${String(t)} ${i}`;case"error":return`Upload failed for ${String(t)} ${i}`;case"cancelled":return`Upload cancelled for ${String(t)} ${i}`;case"uploading":return`Uploading ${String(t)} ${i}`}}function EJ(e){switch(e.status){case"completed":return"Done";case"error":return"Failed";case"cancelled":return"Cancelled";case"uploading":return l7(e.percent)}}function RJ(e){return e.status==="uploading"?e.percent:1}function IJ(e){switch(e.status){case"pending":return"Pending";case"uploading":return l7(e.percent);case"completed":return"Done";case"error":return"Error";case"cancelled":return"Cancelled"}}function zJ(e){return e.error!==void 0?e.error:e.response!==void 0?`Wrote ${e.response.path}`:`${e.path} · ${Jo(e.loaded)} / ${Jo(e.total)}`}function l7(e){return`${String(Math.round(Math.max(0,Math.min(1,e))*100))}%`}function DJ(){xe(()=>import("./CodeViewer-DFvO6hY8.js"),__vite__mapDeps([62,5,6]))}function Jo(e){if(!Number.isFinite(e)||e<0)return"0 B";if(e<1024)return`${String(e)} B`;const t=e/1024;if(t<1024)return`${rf(t)} KB`;const i=t/1024;return i<1024?`${rf(i)} MB`:`${rf(i/1024)} GB`}function rf(e){return e>=10?String(Math.round(e)):e.toFixed(1)}var FJ=Object.defineProperty,OJ=Object.getOwnPropertyDescriptor,c7=(e,t,i,r)=>{for(var s=r>1?void 0:r?OJ(t,i):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(s=(r?a(t,i,s):a(s))||s);return r&&s&&FJ(t,i,s),s};let bu=class extends we{get executions(){if(!this.context)return[];const e=this.context.state.messages;if(e.length===0)return[];const t=[];for(const i of e)for(const r of i.parts)r.type==="toolExecution"&&(r.toolName==="task"||r.toolName==="todo")&&t.push(r);return t}render(){const e=this.executions;return e.length===0?T`
5364
5364
  <section class="panel-content">
5365
5365
  <div class="empty-state" role="status">
5366
5366
  <h2>No tasks</h2>
@@ -5488,7 +5488,7 @@ ${e}`:e;this.editor.dispatch({changes:{from:0,to:this.editor.state.doc.length,in
5488
5488
  <div class="viewer-header"><strong>${e.path??"diff"}</strong><small>${e.staged?"staged":"unstaged"}${e.truncated?" · truncated":""}</small></div>
5489
5489
  <unified-diff-viewer .diff=${e.diff}></unified-diff-viewer>
5490
5490
  </section>
5491
- `}function XJ(){xe(()=>import("./UnifiedDiffViewer-BnFQlZDg.js"),__vite__mapDeps([61,4,5]))}function VJ(){xe(()=>import("./TerminalPanel-BcxMZQKk.js"),__vite__mapDeps([62,63,64,4,5]))}function KJ(e){return T`<workspace-tasks-panel .context=${e}></workspace-tasks-panel>`}function ZJ(e){const t=e.branch??"detached",i=e.ahead??0,r=e.behind??0;return i===0&&r===0?t:`${t} · ↑${String(i)} ↓${String(r)}`}function QJ(e,t){return(t!=="unmodified"?t:e).slice(0,1).toUpperCase()}const JJ={apiVersion:1,name:"PI WEB Core",activate:()=>({contributions:{actions:mJ(),workspacePanels:qJ()}})},ttt={"--pi-bg":"#0d1117","--pi-surface":"#161b22","--pi-surface-hover":"#21262d","--pi-terminal-bg":"#05070a","--pi-terminal-text":"#e6edf3","--pi-border":"#30363d","--pi-border-muted":"#21262d","--pi-text":"#e6edf3","--pi-text-secondary":"#c9d1d9","--pi-text-bright":"#f0f6fc","--pi-muted":"#8b949e","--pi-dim":"#6e7681","--pi-accent":"#58a6ff","--pi-accent-border":"#2f81f7","--pi-selection-bg":"#0d2847","--pi-success":"#3fb950","--pi-success-border":"#238636","--pi-success-bg":"#0f1b12","--pi-success-surface":"#0f2a16","--pi-success-ring":"#3fb95055","--pi-warning":"#d29922","--pi-warning-border":"#6e5200","--pi-warning-surface":"#1f1a10","--pi-danger":"#ff7b72","--pi-purple":"#d2a8ff","--pi-purple-border":"#a371f7","--pi-purple-surface":"#21132f","--pi-overlay":"#0008","--pi-shadow-soft":"#0006","--pi-shadow":"#0008","--pi-shadow-strong":"#000b","--pi-bg-overlay-soft":"#0d1117dd","--pi-bg-overlay":"#0d1117e6","--pi-success-bg-overlay":"#0f1b12ee","--pi-terminal-selection":"#264f78"},ett={"--pi-bg":"#070912","--pi-surface":"#101527","--pi-surface-hover":"#151b31","--pi-terminal-bg":"#050710","--pi-terminal-text":"#f7f4ff","--pi-border":"#26304f","--pi-border-muted":"#26304f","--pi-text":"#f7f4ff","--pi-text-secondary":"#aaa4bd","--pi-text-bright":"#ffffff","--pi-muted":"#aaa4bd","--pi-dim":"#817a99","--pi-accent":"#7c3cff","--pi-accent-border":"#5a47b0","--pi-selection-bg":"#1d2547","--pi-success":"#00f0d8","--pi-success-border":"#00f0d8","--pi-success-bg":"#071e22","--pi-success-surface":"#092d31","--pi-success-ring":"#00f0d855","--pi-warning":"#ffb000","--pi-warning-border":"#ffb000","--pi-warning-surface":"#16140d","--pi-danger":"#ff4f7b","--pi-purple":"#b7a2ff","--pi-purple-border":"#7c3cff","--pi-purple-surface":"#181026","--pi-overlay":"#0008","--pi-shadow-soft":"#0006","--pi-shadow":"#0008","--pi-shadow-strong":"#000b","--pi-bg-overlay-soft":"#070912dd","--pi-bg-overlay":"#070912e6","--pi-success-bg-overlay":"#071e22ee","--pi-terminal-selection":"#3d4a78"},itt={"--pi-bg":"#f7f1e6","--pi-surface":"#fff9ee","--pi-surface-hover":"#f0e6d6","--pi-terminal-bg":"#15131b","--pi-terminal-text":"#fff9ee","--pi-border":"#c9bca8","--pi-border-muted":"#d8cdbc","--pi-text":"#15131b","--pi-text-secondary":"#15131b","--pi-text-bright":"#15131b","--pi-muted":"#5f586a","--pi-dim":"#766f7e","--pi-accent":"#6430d8","--pi-accent-border":"#6430d8","--pi-selection-bg":"#eadff8","--pi-success":"#008c82","--pi-success-border":"#008c82","--pi-success-bg":"#e1f4ef","--pi-success-surface":"#d7f0ec","--pi-success-ring":"#008c8255","--pi-warning":"#b05f00","--pi-warning-border":"#b05f00","--pi-warning-surface":"#fff2d2","--pi-danger":"#b51d49","--pi-purple":"#6430d8","--pi-purple-border":"#6430d8","--pi-purple-surface":"#eadff8","--pi-overlay":"#15131b66","--pi-shadow-soft":"#15131b22","--pi-shadow":"#15131b33","--pi-shadow-strong":"#15131b44","--pi-bg-overlay-soft":"#f7f1e6dd","--pi-bg-overlay":"#f7f1e6e6","--pi-success-bg-overlay":"#e1f4efee","--pi-terminal-selection":"#8d7b64"},rtt={apiVersion:1,name:"PI WEB Themes",activate:()=>({contributions:{themes:[{id:"omp-web-dark",name:"PI WEB Dark",description:"Dark PI WEB palette.",order:10,colorScheme:"dark",tokens:ett},{id:"omp-web-light",name:"PI WEB Light",description:"Light PI WEB palette.",order:20,colorScheme:"light",tokens:itt},{id:"classic",name:"PI WEB Classic",description:"The original PI WEB dark palette.",order:30,colorScheme:"dark",tokens:ttt}],themePairs:[{id:"omp-web",name:"PI WEB",description:"Follow the system light/dark preference with PI WEB themes.",order:10,light:"omp-web-light",dark:"omp-web-dark"}]}})},jw=[1e3,3e3,8e3,15e3,3e4];function stt(){const e=new UM;return e.register({id:"core",plugin:JJ}),e.register({id:"themes",plugin:rtt}),e}function Uw(e){const t=e.selectedMachine;return t!==void 0?{id:t.id,name:t.name,kind:t.kind}:{id:"local",name:"local",kind:"local"}}function ott(e,t){return e.machines!==t.machines||e.machineStatuses!==t.machineStatuses||(e.selectedMachine?.id??"local")!==(t.selectedMachine?.id??"local")}function att(e,t){return h7(e,t)}function h7(e,t){if(e.kind==="local")return!0;const i=t?.status??e.status;return i===void 0||i==="unknown"||i==="online"}function ntt(e,t){return Object.entries(t).some(([i,r])=>Reflect.get(e,i)!==r)}function Yw(e){return na(e.status,e.activity)}function ltt(e){return e.type==="terminal.created"||e.type==="terminal.exited"||e.type==="terminal.closed"}function Gw(){return{}}function Xw(e,t){return JSON.stringify([e,t])}function ctt(e){const t=Math.min(e,jw.length-1);return jw[t]??3e4}function htt(e,t){return Object.fromEntries(Object.entries(e).filter(([i])=>i!==t))}function sf(){return new Promise(e=>requestAnimationFrame(()=>{e()}))}function dtt(e){switch(e){case"off":return"No reasoning";case"minimal":return"Very brief reasoning (~1k tokens)";case"low":return"Light reasoning (~2k tokens)";case"medium":return"Moderate reasoning (~8k tokens)";case"high":return"Deep reasoning (~16k tokens)";case"xhigh":return"Maximum reasoning (~32k tokens)";default:return}}var utt=Object.defineProperty,ptt=Object.getOwnPropertyDescriptor,Pr=(e,t,i,r)=>{for(var s=r>1?void 0:r?ptt(t,i):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(s=(r?a(t,i,s):a(s))||s);return r&&s&&utt(t,i,s),s};const ftt=900*1e3,gtt=750,mtt=[1e3,3e3,8e3,15e3,3e4],Vw={capture:!0},of="auto:on",Kw="auto:off",Uh="theme:",af=zc("core:workspace.files"),nf=zc("core:workspace.git"),Yh=zc("core:workspace.terminal"),btt=320,ytt=2,xtt="(min-width: 1181px)";let sr=class extends we{constructor(){super(...arguments),this.state=NT(),this.chatPreferences=$r(),this.handleChatPreferencesChanged=e=>{if(e instanceof CustomEvent&&Cu(e.detail)?this.chatPreferences=e.detail:this.chatPreferences=$r(),this.chatPreferences.hideWorkspaces&&this.state.workspaces.length>0&&this.state.selectedWorkspace?.id!==this.state.workspaces[0]?.id){const t=this.state.workspaces[0];t!==void 0&&this.workspaces.selectWorkspace(t)}this.requestUpdate()},this.sessions=new I9(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()},new B9),this.activity=new qT(()=>this.state,e=>{this.setState(e)}),this.auth=new UT(()=>this.state,e=>{this.setState(e)},e=>{this.sessions.applySessionStatus(e)}),this.workspaces=new X9(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()},this.sessions,new H9),this.projects=new s$(()=>this.state,e=>{this.setState(e)},this.workspaces),this.machines=new r$(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()},this.projects),this.files=new JT(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()}),this.git=new i$(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()}),this.keyboard=new nM,this.realtime=new ty,this.machineActivitySockets=new Map,this.activeTerminalIds=new Set,this.machineNavigation=new Q9,this.terminalSelection=new oM,this.appShell=new aA(this),this.panelCollapse=new bA(this),this.panelResize=new xA(this),this.navigationSections=new fA(this,()=>this.state,()=>this.appShell.isMobileNavigationLayout),this.systemLightThemeMedia=typeof window<"u"&&"matchMedia"in window?window.matchMedia("(prefers-color-scheme: light)"):void 0,this.refreshingWorkspaceDeletionRuns=!1,this.handledWorkspaceDeletionRunIds=new Set,this.terminalCommandRunRuntimes=new Map,this.machineNavigationRestoreSeq=0,this.navigationSelectionSeq=0,this.routeRestoreSeq=0,this.routeRestoreDepth=0,this.remoteRouteRestoreAttempt=0,this.remoteRouteRestoreInProgress=!1,this.plugins=stt(),this.loadedMachinePluginIds=new Set,this.machinePluginLoadPromises=new Map,this.themePreference=$M()??SM,this.activeThemeId=em,this.isRefreshingApp=!1,this.settingsSection=Ty(),this.shortcutConfig={},this.workspaceUploadDefaultFolder=Fb(void 0),this.onPopState=()=>{this.withChatScrollTransition(async()=>{this.restoreSettingsRoute(),await this.restoreRoute(!1)})},this.onPageShow=()=>{this.appShell.repairViewportPosition(),this.retryPendingRemoteRouteRestoreSoon()},this.onFocus=()=>{this.appShell.repairViewportPosition(),this.sessions.refreshSelectedSession(),this.scheduleOmpWebStatusRefresh(),this.refreshMachineActivities(),this.refreshWorkspaceDeletionRuns(),this.retryPendingRemoteRouteRestoreSoon()},this.onVisibilityChange=()=>{document.visibilityState==="visible"&&(this.appShell.repairViewportPosition(),this.sessions.refreshSelectedSession(),this.scheduleOmpWebStatusRefresh(),this.refreshMachineActivities(),this.refreshWorkspaceDeletionRuns(),this.retryPendingRemoteRouteRestoreSoon())},this.onSystemLightThemeChange=()=>{this.themePreference.auto&&this.applyPreferredTheme(!1)},this.onKeyDown=e=>{this.settingsSection===void 0&&this.keyboard.handle(e,this.getDefaultActions(),{shortcuts:this.shortcutConfig})&&(e.preventDefault(),e.stopPropagation())},this.onWindowMouseMove=e=>{const t=e.clientX,i=e.clientY,r=t<=40,s=t<=80&&i<=80,o=t<=80&&i>=window.innerHeight-80;if(!(!r&&!s&&!o)){if(this.appShell.isMobileNavigationLayout){this.state.mainView!=="navigation"&&this.selectMainView("navigation");return}(this.panelCollapse.navigationPanelCollapsed||this.panelResize.panelWidth("navigation")<50)&&(this.panelCollapse.expandNavigationPanel(),this.panelResize.panelWidth("navigation")<180&&this.panelResize.resizePanel("navigation",340),this.requestUpdate())}},this.handleSendPrompt=(e,t,i,r)=>{this.sendPrompt(e,t,i,r)},this.handleStopActiveWork=()=>{this.sessions.stopActiveWork()},this.handleSelectModel=()=>{this.openModelDialog()},this.handleSelectThinking=()=>{this.openThinkingDialog()},this.handlePromptEscape=()=>{this.chatView?.focusConversation()}}get routeRestoreInProgress(){return this.routeRestoreDepth>0}willUpdate(){this.toggleAttribute("pwa-display-mode",this.appShell.isPwaDisplayMode)}connectedCallback(){super.connectedCallback(),this.chatPreferences=$r(),Us()?.addEventListener(js,this.handleChatPreferencesChanged),window.addEventListener("popstate",this.onPopState),window.addEventListener("pageshow",this.onPageShow),window.addEventListener("focus",this.onFocus),document.addEventListener("visibilitychange",this.onVisibilityChange),window.addEventListener("keydown",this.onKeyDown,Vw),this.systemLightThemeMedia?.addEventListener("change",this.onSystemLightThemeChange),this.applyPreferredTheme(!1),window.addEventListener("mousemove",this.onWindowMouseMove,{passive:!0,capture:!0}),document.addEventListener("pointermove",this.onWindowMouseMove,{passive:!0,capture:!0}),this.connectRealtime(),this.ompWebStatusTimer=window.setInterval(()=>{this.scheduleOmpWebStatusRefresh()},ftt),this.refreshWorkspaceActivity(),this.loadClientConfig(),this.ensureGatewayPluginsLoaded(),this.loadProjectsAndRestoreRoute().finally(()=>{this.scheduleOmpWebStatusRefresh()})}disconnectedCallback(){window.removeEventListener("popstate",this.onPopState),window.removeEventListener("pageshow",this.onPageShow),window.removeEventListener("focus",this.onFocus),document.removeEventListener("visibilitychange",this.onVisibilityChange),window.removeEventListener("keydown",this.onKeyDown,Vw),this.systemLightThemeMedia?.removeEventListener("change",this.onSystemLightThemeChange),Us()?.removeEventListener(js,this.handleChatPreferencesChanged),this.keyboard.reset(),this.auth.dispose(),this.sessions.dispose(),this.realtime.close(),this.closeMachineActivitySockets(),this.git.dispose(),this.ompWebStatusTimer!==void 0&&window.clearInterval(this.ompWebStatusTimer),this.ompWebStatusTimer=void 0,this.clearScheduledOmpWebStatusRefresh(),this.workspaceDeletionPollTimer!==void 0&&window.clearInterval(this.workspaceDeletionPollTimer),this.workspaceDeletionPollTimer=void 0,window.removeEventListener("mousemove",this.onWindowMouseMove,{capture:!0}),document.removeEventListener("pointermove",this.onWindowMouseMove,{capture:!0}),this.clearPendingRemoteRouteRestore(),super.disconnectedCallback()}setState(e){if(!ntt(this.state,e))return;const t=this.state;this.state={...this.state,...e},this.handleActivityTransition(t,this.state),this.handleWorkspaceChange(t,this.state),this.handleMachineChange(t,this.state),ott(t,this.state)&&this.syncMachineActivitySubscriptions()}async loadProjectsAndRestoreRoute(){this.restoreSettingsRoute();const e=Cy();await this.machines.loadMachines(e.machineId);const t=this.routeForSelectedMachine(e),i=this.state.machineStatuses[t.machineId??"local"];t!==e&&this.replaceRouteAndClearWorkspaceQuery(t),await this.projects.loadProjects(),await this.withChatScrollTransition(()=>this.restoreRouteFor(t,!1)),this.shouldDeferRemoteRouteRestore(t,i)?this.deferRemoteRouteRestore(t):(this.clearPendingRemoteRouteRestore(),this.rememberCurrentMachineNavigation()),await this.refreshWorkspaceDeletionRuns()}scheduleOmpWebStatusRefresh(e=gtt){this.clearScheduledOmpWebStatusRefresh(),this.ompWebStatusDeferredTimer=window.setTimeout(()=>{this.ompWebStatusDeferredTimer=void 0,this.refreshOmpWebStatus()},e)}clearScheduledOmpWebStatusRefresh(){this.ompWebStatusDeferredTimer!==void 0&&(window.clearTimeout(this.ompWebStatusDeferredTimer),this.ompWebStatusDeferredTimer=void 0)}async refreshOmpWebStatus(){const e=wt(this.state);try{const t=await ck.ompWebStatus(e);wt(this.state)===e&&this.setState({ompWebStatus:t})}catch(t){wt(this.state)===e&&this.setState({ompWebStatus:void 0}),console.warn(`Failed to refresh PI WEB status for ${e}`,t)}}async refreshWorkspaceActivity(e=wt(this.state)){try{await this.activity.refresh(e)}catch(t){console.warn(`Failed to refresh workspace activity for ${e}`,t)}}async refreshMachineActivities(){const e=this.state.machines.length===0?[wt(this.state)]:this.state.machines.filter(t=>h7(t,this.state.machineStatuses[t.id])).map(t=>t.id);await Promise.all(e.map(t=>this.refreshWorkspaceActivity(t)))}async loadClientConfig(){try{this.applyClientConfig((await zs.config()).effectiveConfig)}catch(e){console.warn("Failed to load PI WEB config",e)}}applyClientConfig(e){this.shortcutConfig=e.shortcuts??{},this.workspaceUploadDefaultFolder=Fb(e),Y9({vimMode:e.vimMode??!1})}async refreshAppData(){if(!this.isRefreshingApp){this.isRefreshingApp=!0;try{await Promise.all([this.sessions.refreshSelectedSession(),this.refreshMachineActivities(),this.loadClientConfig(),this.refreshWorkspaceDeletionRuns(),this.refreshCurrentWorkspaceSurface()]),this.scheduleOmpWebStatusRefresh()}finally{this.isRefreshingApp=!1}}}async refreshCurrentWorkspaceSurface(){const e=this.state.selectedWorkspace,t=this.state.mainView!=="chat"&&this.state.mainView!=="navigation"?this.state.mainView:this.state.workspaceTool;t==="core:workspace.files"?await this.files.refreshFiles():t==="core:workspace.git"?await this.git.refreshGit():t==="core:workspace.terminal"&&e!==void 0&&await this.refreshActiveTerminals(e)}hardReloadApp(){window.location.reload()}async restoreRoute(e){await this.restoreRouteFor(Cy(),e),this.rememberCurrentMachineNavigation()}async restoreRouteFor(e,t,i=this.readWorkspaceRouteSurface(e),r){const s=wt(this.state),o=e.projectId===void 0||e.projectId===""?Gw():i,a=++this.routeRestoreSeq;this.routeRestoreDepth+=1,this.restoringRouteTerminalId=o.selectedTerminalId;try{await this.restoreRouteMachine(e,!1);const n=this.loadPluginsForSelectedMachine();if(e.tool?.startsWith("machine.")===!0&&await n,!this.isCurrentRouteRestore(a))return;if(this.setState({workspaceTool:e.tool??this.state.workspaceTool,mainView:r??e.view??this.defaultRouteView(),selectedFilePath:o.selectedFilePath,selectedDiffPath:o.selectedDiffPath,selectedTerminalId:o.selectedTerminalId}),e.projectId===void 0||e.projectId===""){t&&this.updateUrl();return}if(this.routeMatchesCurrentSelection(e)){o.selectedTerminalId!==void 0&&this.rememberSelectedTerminal(o.selectedTerminalId),await this.refreshRestoredWorkspaceTool(e.tool,o.selectedFilePath),this.git.updatePolling(),t&&this.updateUrl();return}const l=this.state.projects.find(c=>c.id===e.projectId);if(!l){this.setState({selectedFilePath:void 0,selectedDiffPath:void 0,selectedTerminalId:void 0}),t&&this.updateUrl();return}if(await this.workspaces.selectProject(l,{workspaceId:e.workspaceId,sessionId:e.sessionId,updateUrl:!1}),!this.isCurrentRouteRestore(a))return;this.setState({selectedFilePath:o.selectedFilePath,selectedDiffPath:o.selectedDiffPath,selectedTerminalId:o.selectedTerminalId}),o.selectedTerminalId!==void 0&&this.rememberSelectedTerminal(o.selectedTerminalId),await this.refreshRestoredWorkspaceTool(e.tool,o.selectedFilePath),this.git.updatePolling(),t&&this.updateUrl()}finally{this.routeRestoreDepth=Math.max(0,this.routeRestoreDepth-1),this.routeRestoreDepth===0&&(this.restoringRouteTerminalId=void 0),wt(this.state)!==s&&this.scheduleOmpWebStatusRefresh()}}isCurrentRouteRestore(e){return e===this.routeRestoreSeq}readWorkspaceRouteSurface(e){return e.projectId===void 0||e.projectId===""?Gw():{selectedFilePath:$p(af,"file"),selectedDiffPath:$p(nf,"diff"),selectedTerminalId:$p(Yh,"terminal")}}routeForSelectedMachine(e){const t=this.state.selectedMachine?.id??"local";return(e.machineId??"local")===t?e:{machineId:t,projectId:void 0,workspaceId:void 0,sessionId:void 0,tool:void 0,view:void 0}}replaceRouteAndClearWorkspaceQuery(e){Lp(e,{replace:!0}),ps(af,"file",void 0,{replace:!0}),ps(nf,"diff",void 0,{replace:!0}),ps(Yh,"terminal",void 0,{replace:!0})}shouldDeferRemoteRouteRestore(e,t=this.state.machineStatuses[e.machineId??"local"]){const i=e.machineId??"local",r=this.state.selectedMachine;return i==="local"||r?.id!==i||r.kind!=="remote"||t?.ok!==!1?!1:e.projectId===void 0||e.projectId===""?this.state.projects.length===0:this.state.selectedProject?.id!==e.projectId}deferRemoteRouteRestore(e){this.pendingRemoteRouteRestore=e,this.remoteRouteRestoreAttempt=0,this.setRemoteRouteRestoreMessage(e),this.schedulePendingRemoteRouteRestore()}retryPendingRemoteRouteRestoreSoon(){this.pendingRemoteRouteRestore!==void 0&&this.schedulePendingRemoteRouteRestore(0)}schedulePendingRemoteRouteRestore(e=ctt(this.remoteRouteRestoreAttempt)){this.pendingRemoteRouteRestore!==void 0&&(this.clearPendingRemoteRouteRestoreTimer(),this.remoteRouteRestoreTimer=window.setTimeout(()=>{this.remoteRouteRestoreTimer=void 0,this.retryPendingRemoteRouteRestore()},e))}async retryPendingRemoteRouteRestore(){if(this.remoteRouteRestoreInProgress)return;const e=this.pendingRemoteRouteRestore;if(e!==void 0){if(!this.pendingRemoteRouteRestoreStillCurrent(e)){this.clearPendingRemoteRouteRestore();return}this.remoteRouteRestoreInProgress=!0;try{const t=e.machineId??"local",i=await this.machines.refreshMachineHealth(t);if(!this.pendingRemoteRouteRestoreStillCurrent(e))return;if(i?.ok!==!0){this.scheduleNextRemoteRouteRestoreAttempt(e);return}if(await this.machines.refreshMachineRuntime(t),!this.pendingRemoteRouteRestoreStillCurrent(e)||(await this.projects.loadProjects(),!this.pendingRemoteRouteRestoreStillCurrent(e)))return;if(this.state.error!==""){this.scheduleNextRemoteRouteRestoreAttempt(e);return}if(await this.withChatScrollTransition(()=>this.restoreRouteFor(e,!1)),!this.pendingRemoteRouteRestoreStillCurrent(e))return;this.clearPendingRemoteRouteRestore(),this.rememberCurrentMachineNavigation(),await this.refreshWorkspaceDeletionRuns()}finally{this.remoteRouteRestoreInProgress=!1}}}scheduleNextRemoteRouteRestoreAttempt(e){if(this.remoteRouteRestoreAttempt+=1,this.remoteRouteRestoreAttempt>=mtt.length){this.setRemoteRouteRestoreMessage(e,{exhausted:!0}),this.clearPendingRemoteRouteRestore();return}this.setRemoteRouteRestoreMessage(e),this.schedulePendingRemoteRouteRestore()}setRemoteRouteRestoreMessage(e,t={}){const i=e.machineId??"local",r=this.state.machines.find(n=>n.id===i)?.name??this.state.selectedMachine?.name??"Remote machine",o=this.state.machineStatuses[i]?.error??(this.state.error===""?void 0:this.state.error),a=t.exhausted===!0?`${r} is still unavailable.`:`${r} is unavailable; reconnecting…`;this.setState({error:`${a}${o===void 0?"":` ${o}`}`})}pendingRemoteRouteRestoreStillCurrent(e){const t=e.machineId??"local";return t!=="local"&&this.pendingRemoteRouteRestore===e&&this.state.selectedMachine?.id===t&&this.state.machines.some(i=>i.id===t)}clearPendingRemoteRouteRestore(){this.clearPendingRemoteRouteRestoreTimer(),this.pendingRemoteRouteRestore=void 0,this.remoteRouteRestoreAttempt=0}clearPendingRemoteRouteRestoreTimer(){this.remoteRouteRestoreTimer!==void 0&&(window.clearTimeout(this.remoteRouteRestoreTimer),this.remoteRouteRestoreTimer=void 0)}async restoreRouteMachine(e,t){const i=e.machineId??"local";if(this.state.selectedMachine?.id===i)return;const r=this.state.machines.find(s=>s.id===i);r!==void 0&&await this.machines.selectMachine(r,{updateUrl:t})}routeMatchesCurrentSelection(e){return(e.machineId??"local")===(this.state.selectedMachine?.id??"local")&&e.workspaceId!==void 0&&e.workspaceId!==""&&this.state.selectedProject?.id===e.projectId&&this.state.selectedWorkspace?.id===e.workspaceId&&this.state.selectedSession?.id===e.sessionId}async refreshRestoredWorkspaceTool(e,t){e==="core:workspace.files"&&await this.files.refreshFiles(),e==="core:workspace.files"&&t!==void 0&&await this.files.restoreFile(t),e==="core:workspace.git"&&await this.git.refreshGit()}async withChatScrollTransition(e,t=()=>!0){this.chatView?.saveScrollPosition(),await e(),t()&&(await this.updateComplete,t()&&(await this.chatView?.updateComplete,t()&&(await sf(),t()&&(this.chatView?.restoreScrollPosition(),this.chatView?.focusConversation()))))}shouldAutoFocusPrompt(){return this.appShell.shouldAutoFocusPrompt()}async withChatPrependTransition(e){await e(),await this.updateComplete,await this.chatView?.updateComplete}defaultRouteView(){return this.appShell.defaultRouteView()}updateUrl(e){this.rememberCurrentMachineNavigation(),Lp({machineId:this.state.selectedMachine?.id,projectId:this.state.selectedProject?.id,workspaceId:this.state.selectedWorkspace?.id,sessionId:this.state.selectedSession?.id,tool:this.state.workspaceTool,view:this.state.mainView==="navigation"?void 0:this.state.mainView},e),this.syncWorkspaceRouteSurfaceToUrl()}rememberCurrentMachineNavigation(){this.machineNavigation.remember(cy(this.state))}syncWorkspaceRouteSurfaceToUrl(){this.writeWorkspaceRouteSurfaceToUrl(cy(this.state).surface)}writeMachineNavigationSnapshotToUrl(e,t){Lp(hy(e),t),this.writeWorkspaceRouteSurfaceToUrl(e.surface)}writeWorkspaceRouteSurfaceToUrl(e){ps(af,"file",e.selectedFilePath,{replace:!0}),ps(nf,"diff",e.selectedDiffPath,{replace:!0}),ps(Yh,"terminal",e.selectedTerminalId,{replace:!0})}async selectMachineWithMemory(e,t={}){if(this.state.selectedMachine?.id===e.id)return;t.rememberCurrent!==!1&&!this.routeRestoreInProgress&&this.rememberCurrentMachineNavigation();const i=++this.machineNavigationRestoreSeq,r=this.machineNavigation.latest(e.id)??J9(e.id);if(await this.restoreRouteFor(hy(r),!1,r.surface,r.view),!(i!==this.machineNavigationRestoreSeq||this.state.selectedMachine?.id!==e.id)){if(this.shouldPreserveUnrestoredMachineNavigation(r)){this.machineNavigation.remember(r),this.writeMachineNavigationSnapshotToUrl(r);return}this.updateUrl()}}shouldPreserveUnrestoredMachineNavigation(e){return e.projectId!==void 0&&this.state.selectedProject?.id!==e.projectId&&this.state.error!==""}openWorkspaceTool(e){e==="core:workspace.terminal"&&(this.terminalAutoStartWorkspaceId=this.state.selectedWorkspace?.id),this.setState({workspaceTool:e,mainView:e}),this.updateUrl(),this.refreshSelectedWorkspaceTool(e),this.git.updatePolling()}openTerminal(e){e?.terminalId!==void 0&&this.selectTerminal(e.terminalId,{replace:!0}),this.openWorkspaceTool("core:workspace.terminal")}terminalCommandRunsForOrigin(e,t=wt(this.state)){const i=Xw(t,e),r=this.terminalCommandRunRuntimes.get(i);if(r!==void 0)return r;const s=IA(e,{api:{runTerminalCommand:(o,a)=>An.runTerminalCommand(o,a,t),listCommandRuns:o=>An.listCommandRuns(o,t),getCommandRun:o=>An.getCommandRun(o,t)},openTerminal:(o,a)=>{this.openRuntimeTerminal(t,o,a)}});return this.terminalCommandRunRuntimes.set(i,s),s}async openRuntimeTerminal(e,t,i){if((wt(this.state)!==e||t!==void 0&&(this.state.selectedWorkspace?.id!==t.id||this.state.selectedProject?.id!==t.projectId))&&(this.routeRestoreInProgress||this.rememberCurrentMachineNavigation(),await this.restoreRouteFor({machineId:e,projectId:t?.projectId,workspaceId:t?.id,sessionId:void 0,tool:"core:workspace.terminal",view:"core:workspace.terminal"},!1,{selectedTerminalId:i?.terminalId},"core:workspace.terminal"),wt(this.state)!==e)){this.setState({error:"Machine not found for terminal command run"});return}this.openTerminal(i)}selectTerminal(e,t){this.rememberSelectedTerminal(e),this.setState({selectedTerminalId:e}),this.rememberCurrentMachineNavigation(),this.writeSelectedTerminalToUrl(e,t)}rememberSelectedTerminal(e){const t=this.state.selectedWorkspace;t!==void 0&&(e===void 0?this.terminalSelection.forgetWorkspace(this.terminalWorkspaceKey(t)):this.terminalSelection.rememberTerminal(this.terminalWorkspaceKey(t),e))}writeSelectedTerminalToUrl(e,t){ps(Yh,"terminal",e,t)}terminalWorkspaceKey(e){return`${wt(this.state)}:${e.path}`}selectMainView(e){if(e!=="navigation"&&e!=="chat"){this.openWorkspaceTool(e);return}this.setState({mainView:e}),this.updateUrl(),this.git.updatePolling()}openSettings(e="general"){this.settingsSection=e,Pp(e)}closeSettings(){this.settingsSection=void 0,Pp(void 0)}navigateSettings(e){this.settingsSection=e,Pp(e)}restoreSettingsRoute(){this.settingsSection=Ty()}handleWorkspaceChange(e,t){if(e.selectedWorkspace?.id===t.selectedWorkspace?.id)return;this.terminalAutoStartWorkspaceId=void 0,this.activeTerminalIds.clear();const i=this.routeRestoreInProgress?this.restoringRouteTerminalId:t.selectedWorkspace===void 0?void 0:this.terminalSelection.latestTerminalId(this.terminalWorkspaceKey(t.selectedWorkspace));this.setState({activeTerminalCount:0,selectedTerminalId:i}),this.routeRestoreInProgress||(this.rememberCurrentMachineNavigation(),this.writeSelectedTerminalToUrl(i,{replace:!0})),t.selectedWorkspace!==void 0&&(this.refreshActiveTerminals(t.selectedWorkspace),this.refreshWorkspaceDeletionRuns(),this.refreshSelectedWorkspaceTool(t.workspaceTool),this.git.updatePolling())}connectRealtime(){this.realtime.connect(e=>{this.handleRealtimeEvent(e)},()=>{const e=this.state.selectedWorkspace;e!==void 0&&this.refreshActiveTerminals(e),this.refreshWorkspaceActivity()},wt(this.state))}syncMachineActivitySubscriptions(){const e=this.machineActivitySubscriptionIds();for(const[t,i]of this.machineActivitySockets.entries())e.has(t)||(i.close(),this.machineActivitySockets.delete(t));for(const t of e){if(this.machineActivitySockets.has(t))continue;const i=new ty;i.connect(r=>{this.handleMachineActivityEvent(t,r)},()=>{this.refreshWorkspaceActivity(t)},t),this.machineActivitySockets.set(t,i)}}closeMachineActivitySockets(){for(const e of this.machineActivitySockets.values())e.close();this.machineActivitySockets.clear()}machineActivitySubscriptionIds(){const e=wt(this.state);return new Set(this.state.machines.filter(t=>t.id!==e).filter(t=>att(t,this.state.machineStatuses[t.id])).map(t=>t.id))}handleMachineActivityEvent(e,t){t.type==="workspace.activity"&&this.activity.applyWorkspaceActivity(t.activity,e)}handleRealtimeEvent(e){e.type==="workspace.activity"?this.activity.applyWorkspaceActivity(e.activity):ltt(e)?(this.applyTerminalEvent(e),e.type==="terminal.exited"&&this.refreshWorkspaceDeletionRuns()):this.sessions.applyGlobalEvent(e)}applyTerminalEvent(e){const t=this.state.selectedWorkspace;t===void 0||(e.type==="terminal.closed"?e.cwd:e.terminal.cwd)!==t.path||(e.type==="terminal.created"&&!e.terminal.exited?this.activeTerminalIds.add(e.terminal.id):this.activeTerminalIds.delete(e.type==="terminal.closed"?e.terminalId:e.terminal.id),e.type==="terminal.closed"&&(this.terminalSelection.forgetTerminal(e.terminalId),this.state.selectedTerminalId===e.terminalId&&this.selectTerminal(void 0,{replace:!0})),this.setState({activeTerminalCount:this.activeTerminalIds.size}))}async refreshActiveTerminals(e){const t=wt(this.state);try{const i=await An.terminals(e.projectId,e.id,t);if(wt(this.state)!==t||this.state.selectedWorkspace?.id!==e.id)return;this.activeTerminalIds.clear();for(const r of i)r.exited||this.activeTerminalIds.add(r.id);this.setState({activeTerminalCount:this.activeTerminalIds.size})}catch(i){this.setState({error:String(i)})}}handleActivityTransition(e,t){const i=Yw(e),r=Yw(t);i&&!r&&(this.setState({fileTreeStale:!0,gitStale:!0}),this.refreshSelectedWorkspaceTool(this.state.workspaceTool))}handleMachineChange(e,t){if((e.selectedMachine?.id??"local")===(t.selectedMachine?.id??"local"))return;(this.pendingRemoteRouteRestore?.machineId??"local")!==(t.selectedMachine?.id??"local")&&this.clearPendingRemoteRouteRestore(),this.sessions.clearActiveSession(),this.realtime.close(),window.addEventListener("mousemove",this.onWindowMouseMove,{passive:!0,capture:!0}),document.addEventListener("pointermove",this.onWindowMouseMove,{passive:!0,capture:!0}),this.connectRealtime(),this.activeTerminalIds.clear(),this.sessionCleanupDialog=void 0,this.setState({ompWebStatus:void 0}),this.git.updatePolling(),this.loadPluginsForSelectedMachine()}refreshSelectedWorkspaceTool(e){e==="core:workspace.files"&&this.files.refreshFiles(),e==="core:workspace.git"&&this.git.refreshGit()}renderWorkspacePanel(){const e=this.state.selectedWorkspace,t=e===void 0?void 0:this.createWorkspacePanelContext(e),i=e===void 0?this.workspacePanelEmptyState():void 0;return T`
5491
+ `}function XJ(){xe(()=>import("./UnifiedDiffViewer-BjuD29RQ.js"),__vite__mapDeps([63,5,6]))}function VJ(){xe(()=>import("./TerminalPanel-zgTnfKO5.js"),__vite__mapDeps([64,65,66,5,6]))}function KJ(e){return T`<workspace-tasks-panel .context=${e}></workspace-tasks-panel>`}function ZJ(e){const t=e.branch??"detached",i=e.ahead??0,r=e.behind??0;return i===0&&r===0?t:`${t} · ↑${String(i)} ↓${String(r)}`}function QJ(e,t){return(t!=="unmodified"?t:e).slice(0,1).toUpperCase()}const JJ={apiVersion:1,name:"PI WEB Core",activate:()=>({contributions:{actions:mJ(),workspacePanels:qJ()}})},ttt={"--pi-bg":"#0d1117","--pi-surface":"#161b22","--pi-surface-hover":"#21262d","--pi-terminal-bg":"#05070a","--pi-terminal-text":"#e6edf3","--pi-border":"#30363d","--pi-border-muted":"#21262d","--pi-text":"#e6edf3","--pi-text-secondary":"#c9d1d9","--pi-text-bright":"#f0f6fc","--pi-muted":"#8b949e","--pi-dim":"#6e7681","--pi-accent":"#58a6ff","--pi-accent-border":"#2f81f7","--pi-selection-bg":"#0d2847","--pi-success":"#3fb950","--pi-success-border":"#238636","--pi-success-bg":"#0f1b12","--pi-success-surface":"#0f2a16","--pi-success-ring":"#3fb95055","--pi-warning":"#d29922","--pi-warning-border":"#6e5200","--pi-warning-surface":"#1f1a10","--pi-danger":"#ff7b72","--pi-purple":"#d2a8ff","--pi-purple-border":"#a371f7","--pi-purple-surface":"#21132f","--pi-overlay":"#0008","--pi-shadow-soft":"#0006","--pi-shadow":"#0008","--pi-shadow-strong":"#000b","--pi-bg-overlay-soft":"#0d1117dd","--pi-bg-overlay":"#0d1117e6","--pi-success-bg-overlay":"#0f1b12ee","--pi-terminal-selection":"#264f78"},ett={"--pi-bg":"#070912","--pi-surface":"#101527","--pi-surface-hover":"#151b31","--pi-terminal-bg":"#050710","--pi-terminal-text":"#f7f4ff","--pi-border":"#26304f","--pi-border-muted":"#26304f","--pi-text":"#f7f4ff","--pi-text-secondary":"#aaa4bd","--pi-text-bright":"#ffffff","--pi-muted":"#aaa4bd","--pi-dim":"#817a99","--pi-accent":"#7c3cff","--pi-accent-border":"#5a47b0","--pi-selection-bg":"#1d2547","--pi-success":"#00f0d8","--pi-success-border":"#00f0d8","--pi-success-bg":"#071e22","--pi-success-surface":"#092d31","--pi-success-ring":"#00f0d855","--pi-warning":"#ffb000","--pi-warning-border":"#ffb000","--pi-warning-surface":"#16140d","--pi-danger":"#ff4f7b","--pi-purple":"#b7a2ff","--pi-purple-border":"#7c3cff","--pi-purple-surface":"#181026","--pi-overlay":"#0008","--pi-shadow-soft":"#0006","--pi-shadow":"#0008","--pi-shadow-strong":"#000b","--pi-bg-overlay-soft":"#070912dd","--pi-bg-overlay":"#070912e6","--pi-success-bg-overlay":"#071e22ee","--pi-terminal-selection":"#3d4a78"},itt={"--pi-bg":"#f7f1e6","--pi-surface":"#fff9ee","--pi-surface-hover":"#f0e6d6","--pi-terminal-bg":"#15131b","--pi-terminal-text":"#fff9ee","--pi-border":"#c9bca8","--pi-border-muted":"#d8cdbc","--pi-text":"#15131b","--pi-text-secondary":"#15131b","--pi-text-bright":"#15131b","--pi-muted":"#5f586a","--pi-dim":"#766f7e","--pi-accent":"#6430d8","--pi-accent-border":"#6430d8","--pi-selection-bg":"#eadff8","--pi-success":"#008c82","--pi-success-border":"#008c82","--pi-success-bg":"#e1f4ef","--pi-success-surface":"#d7f0ec","--pi-success-ring":"#008c8255","--pi-warning":"#b05f00","--pi-warning-border":"#b05f00","--pi-warning-surface":"#fff2d2","--pi-danger":"#b51d49","--pi-purple":"#6430d8","--pi-purple-border":"#6430d8","--pi-purple-surface":"#eadff8","--pi-overlay":"#15131b66","--pi-shadow-soft":"#15131b22","--pi-shadow":"#15131b33","--pi-shadow-strong":"#15131b44","--pi-bg-overlay-soft":"#f7f1e6dd","--pi-bg-overlay":"#f7f1e6e6","--pi-success-bg-overlay":"#e1f4efee","--pi-terminal-selection":"#8d7b64"},rtt={apiVersion:1,name:"PI WEB Themes",activate:()=>({contributions:{themes:[{id:"omp-web-dark",name:"PI WEB Dark",description:"Dark PI WEB palette.",order:10,colorScheme:"dark",tokens:ett},{id:"omp-web-light",name:"PI WEB Light",description:"Light PI WEB palette.",order:20,colorScheme:"light",tokens:itt},{id:"classic",name:"PI WEB Classic",description:"The original PI WEB dark palette.",order:30,colorScheme:"dark",tokens:ttt}],themePairs:[{id:"omp-web",name:"PI WEB",description:"Follow the system light/dark preference with PI WEB themes.",order:10,light:"omp-web-light",dark:"omp-web-dark"}]}})},jw=[1e3,3e3,8e3,15e3,3e4];function stt(){const e=new UM;return e.register({id:"core",plugin:JJ}),e.register({id:"themes",plugin:rtt}),e}function Uw(e){const t=e.selectedMachine;return t!==void 0?{id:t.id,name:t.name,kind:t.kind}:{id:"local",name:"local",kind:"local"}}function ott(e,t){return e.machines!==t.machines||e.machineStatuses!==t.machineStatuses||(e.selectedMachine?.id??"local")!==(t.selectedMachine?.id??"local")}function att(e,t){return h7(e,t)}function h7(e,t){if(e.kind==="local")return!0;const i=t?.status??e.status;return i===void 0||i==="unknown"||i==="online"}function ntt(e,t){return Object.entries(t).some(([i,r])=>Reflect.get(e,i)!==r)}function Yw(e){return na(e.status,e.activity)}function ltt(e){return e.type==="terminal.created"||e.type==="terminal.exited"||e.type==="terminal.closed"}function Gw(){return{}}function Xw(e,t){return JSON.stringify([e,t])}function ctt(e){const t=Math.min(e,jw.length-1);return jw[t]??3e4}function htt(e,t){return Object.fromEntries(Object.entries(e).filter(([i])=>i!==t))}function sf(){return new Promise(e=>requestAnimationFrame(()=>{e()}))}function dtt(e){switch(e){case"off":return"No reasoning";case"minimal":return"Very brief reasoning (~1k tokens)";case"low":return"Light reasoning (~2k tokens)";case"medium":return"Moderate reasoning (~8k tokens)";case"high":return"Deep reasoning (~16k tokens)";case"xhigh":return"Maximum reasoning (~32k tokens)";default:return}}var utt=Object.defineProperty,ptt=Object.getOwnPropertyDescriptor,Pr=(e,t,i,r)=>{for(var s=r>1?void 0:r?ptt(t,i):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(s=(r?a(t,i,s):a(s))||s);return r&&s&&utt(t,i,s),s};const ftt=900*1e3,gtt=750,mtt=[1e3,3e3,8e3,15e3,3e4],Vw={capture:!0},of="auto:on",Kw="auto:off",Uh="theme:",af=zc("core:workspace.files"),nf=zc("core:workspace.git"),Yh=zc("core:workspace.terminal"),btt=320,ytt=2,xtt="(min-width: 1181px)";let sr=class extends we{constructor(){super(...arguments),this.state=NT(),this.chatPreferences=$r(),this.handleChatPreferencesChanged=e=>{if(e instanceof CustomEvent&&Cu(e.detail)?this.chatPreferences=e.detail:this.chatPreferences=$r(),this.chatPreferences.hideWorkspaces&&this.state.workspaces.length>0&&this.state.selectedWorkspace?.id!==this.state.workspaces[0]?.id){const t=this.state.workspaces[0];t!==void 0&&this.workspaces.selectWorkspace(t)}this.requestUpdate()},this.sessions=new I9(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()},new B9),this.activity=new qT(()=>this.state,e=>{this.setState(e)}),this.auth=new UT(()=>this.state,e=>{this.setState(e)},e=>{this.sessions.applySessionStatus(e)}),this.workspaces=new X9(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()},this.sessions,new H9),this.projects=new s$(()=>this.state,e=>{this.setState(e)},this.workspaces),this.machines=new r$(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()},this.projects),this.files=new JT(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()}),this.git=new i$(()=>this.state,e=>{this.setState(e)},()=>{this.updateUrl()}),this.keyboard=new nM,this.realtime=new ty,this.machineActivitySockets=new Map,this.activeTerminalIds=new Set,this.machineNavigation=new Q9,this.terminalSelection=new oM,this.appShell=new aA(this),this.panelCollapse=new bA(this),this.panelResize=new xA(this),this.navigationSections=new fA(this,()=>this.state,()=>this.appShell.isMobileNavigationLayout),this.systemLightThemeMedia=typeof window<"u"&&"matchMedia"in window?window.matchMedia("(prefers-color-scheme: light)"):void 0,this.refreshingWorkspaceDeletionRuns=!1,this.handledWorkspaceDeletionRunIds=new Set,this.terminalCommandRunRuntimes=new Map,this.machineNavigationRestoreSeq=0,this.navigationSelectionSeq=0,this.routeRestoreSeq=0,this.routeRestoreDepth=0,this.remoteRouteRestoreAttempt=0,this.remoteRouteRestoreInProgress=!1,this.plugins=stt(),this.loadedMachinePluginIds=new Set,this.machinePluginLoadPromises=new Map,this.themePreference=$M()??SM,this.activeThemeId=em,this.isRefreshingApp=!1,this.settingsSection=Ty(),this.shortcutConfig={},this.workspaceUploadDefaultFolder=Fb(void 0),this.onPopState=()=>{this.withChatScrollTransition(async()=>{this.restoreSettingsRoute(),await this.restoreRoute(!1)})},this.onPageShow=()=>{this.appShell.repairViewportPosition(),this.retryPendingRemoteRouteRestoreSoon()},this.onFocus=()=>{this.appShell.repairViewportPosition(),this.sessions.refreshSelectedSession(),this.scheduleOmpWebStatusRefresh(),this.refreshMachineActivities(),this.refreshWorkspaceDeletionRuns(),this.retryPendingRemoteRouteRestoreSoon()},this.onVisibilityChange=()=>{document.visibilityState==="visible"&&(this.appShell.repairViewportPosition(),this.sessions.refreshSelectedSession(),this.scheduleOmpWebStatusRefresh(),this.refreshMachineActivities(),this.refreshWorkspaceDeletionRuns(),this.retryPendingRemoteRouteRestoreSoon())},this.onSystemLightThemeChange=()=>{this.themePreference.auto&&this.applyPreferredTheme(!1)},this.onKeyDown=e=>{this.settingsSection===void 0&&this.keyboard.handle(e,this.getDefaultActions(),{shortcuts:this.shortcutConfig})&&(e.preventDefault(),e.stopPropagation())},this.onWindowMouseMove=e=>{const t=e.clientX,i=e.clientY,r=t<=40,s=t<=80&&i<=80,o=t<=80&&i>=window.innerHeight-80;if(!(!r&&!s&&!o)){if(this.appShell.isMobileNavigationLayout){this.state.mainView!=="navigation"&&this.selectMainView("navigation");return}(this.panelCollapse.navigationPanelCollapsed||this.panelResize.panelWidth("navigation")<50)&&(this.panelCollapse.expandNavigationPanel(),this.panelResize.panelWidth("navigation")<180&&this.panelResize.resizePanel("navigation",340),this.requestUpdate())}},this.handleSendPrompt=(e,t,i,r)=>{this.sendPrompt(e,t,i,r)},this.handleStopActiveWork=()=>{this.sessions.stopActiveWork()},this.handleSelectModel=()=>{this.openModelDialog()},this.handleSelectThinking=()=>{this.openThinkingDialog()},this.handlePromptEscape=()=>{this.chatView?.focusConversation()}}get routeRestoreInProgress(){return this.routeRestoreDepth>0}willUpdate(){this.toggleAttribute("pwa-display-mode",this.appShell.isPwaDisplayMode)}connectedCallback(){super.connectedCallback(),this.chatPreferences=$r(),Us()?.addEventListener(js,this.handleChatPreferencesChanged),window.addEventListener("popstate",this.onPopState),window.addEventListener("pageshow",this.onPageShow),window.addEventListener("focus",this.onFocus),document.addEventListener("visibilitychange",this.onVisibilityChange),window.addEventListener("keydown",this.onKeyDown,Vw),this.systemLightThemeMedia?.addEventListener("change",this.onSystemLightThemeChange),this.applyPreferredTheme(!1),window.addEventListener("mousemove",this.onWindowMouseMove,{passive:!0,capture:!0}),document.addEventListener("pointermove",this.onWindowMouseMove,{passive:!0,capture:!0}),this.connectRealtime(),this.ompWebStatusTimer=window.setInterval(()=>{this.scheduleOmpWebStatusRefresh()},ftt),this.refreshWorkspaceActivity(),this.loadClientConfig(),this.ensureGatewayPluginsLoaded(),this.loadProjectsAndRestoreRoute().finally(()=>{this.scheduleOmpWebStatusRefresh()})}disconnectedCallback(){window.removeEventListener("popstate",this.onPopState),window.removeEventListener("pageshow",this.onPageShow),window.removeEventListener("focus",this.onFocus),document.removeEventListener("visibilitychange",this.onVisibilityChange),window.removeEventListener("keydown",this.onKeyDown,Vw),this.systemLightThemeMedia?.removeEventListener("change",this.onSystemLightThemeChange),Us()?.removeEventListener(js,this.handleChatPreferencesChanged),this.keyboard.reset(),this.auth.dispose(),this.sessions.dispose(),this.realtime.close(),this.closeMachineActivitySockets(),this.git.dispose(),this.ompWebStatusTimer!==void 0&&window.clearInterval(this.ompWebStatusTimer),this.ompWebStatusTimer=void 0,this.clearScheduledOmpWebStatusRefresh(),this.workspaceDeletionPollTimer!==void 0&&window.clearInterval(this.workspaceDeletionPollTimer),this.workspaceDeletionPollTimer=void 0,window.removeEventListener("mousemove",this.onWindowMouseMove,{capture:!0}),document.removeEventListener("pointermove",this.onWindowMouseMove,{capture:!0}),this.clearPendingRemoteRouteRestore(),super.disconnectedCallback()}setState(e){if(!ntt(this.state,e))return;const t=this.state;this.state={...this.state,...e},this.handleActivityTransition(t,this.state),this.handleWorkspaceChange(t,this.state),this.handleMachineChange(t,this.state),ott(t,this.state)&&this.syncMachineActivitySubscriptions()}async loadProjectsAndRestoreRoute(){this.restoreSettingsRoute();const e=Cy();await this.machines.loadMachines(e.machineId);const t=this.routeForSelectedMachine(e),i=this.state.machineStatuses[t.machineId??"local"];t!==e&&this.replaceRouteAndClearWorkspaceQuery(t),await this.projects.loadProjects(),await this.withChatScrollTransition(()=>this.restoreRouteFor(t,!1)),this.shouldDeferRemoteRouteRestore(t,i)?this.deferRemoteRouteRestore(t):(this.clearPendingRemoteRouteRestore(),this.rememberCurrentMachineNavigation()),await this.refreshWorkspaceDeletionRuns()}scheduleOmpWebStatusRefresh(e=gtt){this.clearScheduledOmpWebStatusRefresh(),this.ompWebStatusDeferredTimer=window.setTimeout(()=>{this.ompWebStatusDeferredTimer=void 0,this.refreshOmpWebStatus()},e)}clearScheduledOmpWebStatusRefresh(){this.ompWebStatusDeferredTimer!==void 0&&(window.clearTimeout(this.ompWebStatusDeferredTimer),this.ompWebStatusDeferredTimer=void 0)}async refreshOmpWebStatus(){const e=wt(this.state);try{const t=await ck.ompWebStatus(e);wt(this.state)===e&&this.setState({ompWebStatus:t})}catch(t){wt(this.state)===e&&this.setState({ompWebStatus:void 0}),console.warn(`Failed to refresh PI WEB status for ${e}`,t)}}async refreshWorkspaceActivity(e=wt(this.state)){try{await this.activity.refresh(e)}catch(t){console.warn(`Failed to refresh workspace activity for ${e}`,t)}}async refreshMachineActivities(){const e=this.state.machines.length===0?[wt(this.state)]:this.state.machines.filter(t=>h7(t,this.state.machineStatuses[t.id])).map(t=>t.id);await Promise.all(e.map(t=>this.refreshWorkspaceActivity(t)))}async loadClientConfig(){try{this.applyClientConfig((await zs.config()).effectiveConfig)}catch(e){console.warn("Failed to load PI WEB config",e)}}applyClientConfig(e){this.shortcutConfig=e.shortcuts??{},this.workspaceUploadDefaultFolder=Fb(e),Y9({vimMode:e.vimMode??!1})}async refreshAppData(){if(!this.isRefreshingApp){this.isRefreshingApp=!0;try{await Promise.all([this.sessions.refreshSelectedSession(),this.refreshMachineActivities(),this.loadClientConfig(),this.refreshWorkspaceDeletionRuns(),this.refreshCurrentWorkspaceSurface()]),this.scheduleOmpWebStatusRefresh()}finally{this.isRefreshingApp=!1}}}async refreshCurrentWorkspaceSurface(){const e=this.state.selectedWorkspace,t=this.state.mainView!=="chat"&&this.state.mainView!=="navigation"?this.state.mainView:this.state.workspaceTool;t==="core:workspace.files"?await this.files.refreshFiles():t==="core:workspace.git"?await this.git.refreshGit():t==="core:workspace.terminal"&&e!==void 0&&await this.refreshActiveTerminals(e)}hardReloadApp(){window.location.reload()}async restoreRoute(e){await this.restoreRouteFor(Cy(),e),this.rememberCurrentMachineNavigation()}async restoreRouteFor(e,t,i=this.readWorkspaceRouteSurface(e),r){const s=wt(this.state),o=e.projectId===void 0||e.projectId===""?Gw():i,a=++this.routeRestoreSeq;this.routeRestoreDepth+=1,this.restoringRouteTerminalId=o.selectedTerminalId;try{await this.restoreRouteMachine(e,!1);const n=this.loadPluginsForSelectedMachine();if(e.tool?.startsWith("machine.")===!0&&await n,!this.isCurrentRouteRestore(a))return;if(this.setState({workspaceTool:e.tool??this.state.workspaceTool,mainView:r??e.view??this.defaultRouteView(),selectedFilePath:o.selectedFilePath,selectedDiffPath:o.selectedDiffPath,selectedTerminalId:o.selectedTerminalId}),e.projectId===void 0||e.projectId===""){t&&this.updateUrl();return}if(this.routeMatchesCurrentSelection(e)){o.selectedTerminalId!==void 0&&this.rememberSelectedTerminal(o.selectedTerminalId),await this.refreshRestoredWorkspaceTool(e.tool,o.selectedFilePath),this.git.updatePolling(),t&&this.updateUrl();return}const l=this.state.projects.find(c=>c.id===e.projectId);if(!l){this.setState({selectedFilePath:void 0,selectedDiffPath:void 0,selectedTerminalId:void 0}),t&&this.updateUrl();return}if(await this.workspaces.selectProject(l,{workspaceId:e.workspaceId,sessionId:e.sessionId,updateUrl:!1}),!this.isCurrentRouteRestore(a))return;this.setState({selectedFilePath:o.selectedFilePath,selectedDiffPath:o.selectedDiffPath,selectedTerminalId:o.selectedTerminalId}),o.selectedTerminalId!==void 0&&this.rememberSelectedTerminal(o.selectedTerminalId),await this.refreshRestoredWorkspaceTool(e.tool,o.selectedFilePath),this.git.updatePolling(),t&&this.updateUrl()}finally{this.routeRestoreDepth=Math.max(0,this.routeRestoreDepth-1),this.routeRestoreDepth===0&&(this.restoringRouteTerminalId=void 0),wt(this.state)!==s&&this.scheduleOmpWebStatusRefresh()}}isCurrentRouteRestore(e){return e===this.routeRestoreSeq}readWorkspaceRouteSurface(e){return e.projectId===void 0||e.projectId===""?Gw():{selectedFilePath:$p(af,"file"),selectedDiffPath:$p(nf,"diff"),selectedTerminalId:$p(Yh,"terminal")}}routeForSelectedMachine(e){const t=this.state.selectedMachine?.id??"local";return(e.machineId??"local")===t?e:{machineId:t,projectId:void 0,workspaceId:void 0,sessionId:void 0,tool:void 0,view:void 0}}replaceRouteAndClearWorkspaceQuery(e){Lp(e,{replace:!0}),ps(af,"file",void 0,{replace:!0}),ps(nf,"diff",void 0,{replace:!0}),ps(Yh,"terminal",void 0,{replace:!0})}shouldDeferRemoteRouteRestore(e,t=this.state.machineStatuses[e.machineId??"local"]){const i=e.machineId??"local",r=this.state.selectedMachine;return i==="local"||r?.id!==i||r.kind!=="remote"||t?.ok!==!1?!1:e.projectId===void 0||e.projectId===""?this.state.projects.length===0:this.state.selectedProject?.id!==e.projectId}deferRemoteRouteRestore(e){this.pendingRemoteRouteRestore=e,this.remoteRouteRestoreAttempt=0,this.setRemoteRouteRestoreMessage(e),this.schedulePendingRemoteRouteRestore()}retryPendingRemoteRouteRestoreSoon(){this.pendingRemoteRouteRestore!==void 0&&this.schedulePendingRemoteRouteRestore(0)}schedulePendingRemoteRouteRestore(e=ctt(this.remoteRouteRestoreAttempt)){this.pendingRemoteRouteRestore!==void 0&&(this.clearPendingRemoteRouteRestoreTimer(),this.remoteRouteRestoreTimer=window.setTimeout(()=>{this.remoteRouteRestoreTimer=void 0,this.retryPendingRemoteRouteRestore()},e))}async retryPendingRemoteRouteRestore(){if(this.remoteRouteRestoreInProgress)return;const e=this.pendingRemoteRouteRestore;if(e!==void 0){if(!this.pendingRemoteRouteRestoreStillCurrent(e)){this.clearPendingRemoteRouteRestore();return}this.remoteRouteRestoreInProgress=!0;try{const t=e.machineId??"local",i=await this.machines.refreshMachineHealth(t);if(!this.pendingRemoteRouteRestoreStillCurrent(e))return;if(i?.ok!==!0){this.scheduleNextRemoteRouteRestoreAttempt(e);return}if(await this.machines.refreshMachineRuntime(t),!this.pendingRemoteRouteRestoreStillCurrent(e)||(await this.projects.loadProjects(),!this.pendingRemoteRouteRestoreStillCurrent(e)))return;if(this.state.error!==""){this.scheduleNextRemoteRouteRestoreAttempt(e);return}if(await this.withChatScrollTransition(()=>this.restoreRouteFor(e,!1)),!this.pendingRemoteRouteRestoreStillCurrent(e))return;this.clearPendingRemoteRouteRestore(),this.rememberCurrentMachineNavigation(),await this.refreshWorkspaceDeletionRuns()}finally{this.remoteRouteRestoreInProgress=!1}}}scheduleNextRemoteRouteRestoreAttempt(e){if(this.remoteRouteRestoreAttempt+=1,this.remoteRouteRestoreAttempt>=mtt.length){this.setRemoteRouteRestoreMessage(e,{exhausted:!0}),this.clearPendingRemoteRouteRestore();return}this.setRemoteRouteRestoreMessage(e),this.schedulePendingRemoteRouteRestore()}setRemoteRouteRestoreMessage(e,t={}){const i=e.machineId??"local",r=this.state.machines.find(n=>n.id===i)?.name??this.state.selectedMachine?.name??"Remote machine",o=this.state.machineStatuses[i]?.error??(this.state.error===""?void 0:this.state.error),a=t.exhausted===!0?`${r} is still unavailable.`:`${r} is unavailable; reconnecting…`;this.setState({error:`${a}${o===void 0?"":` ${o}`}`})}pendingRemoteRouteRestoreStillCurrent(e){const t=e.machineId??"local";return t!=="local"&&this.pendingRemoteRouteRestore===e&&this.state.selectedMachine?.id===t&&this.state.machines.some(i=>i.id===t)}clearPendingRemoteRouteRestore(){this.clearPendingRemoteRouteRestoreTimer(),this.pendingRemoteRouteRestore=void 0,this.remoteRouteRestoreAttempt=0}clearPendingRemoteRouteRestoreTimer(){this.remoteRouteRestoreTimer!==void 0&&(window.clearTimeout(this.remoteRouteRestoreTimer),this.remoteRouteRestoreTimer=void 0)}async restoreRouteMachine(e,t){const i=e.machineId??"local";if(this.state.selectedMachine?.id===i)return;const r=this.state.machines.find(s=>s.id===i);r!==void 0&&await this.machines.selectMachine(r,{updateUrl:t})}routeMatchesCurrentSelection(e){return(e.machineId??"local")===(this.state.selectedMachine?.id??"local")&&e.workspaceId!==void 0&&e.workspaceId!==""&&this.state.selectedProject?.id===e.projectId&&this.state.selectedWorkspace?.id===e.workspaceId&&this.state.selectedSession?.id===e.sessionId}async refreshRestoredWorkspaceTool(e,t){e==="core:workspace.files"&&await this.files.refreshFiles(),e==="core:workspace.files"&&t!==void 0&&await this.files.restoreFile(t),e==="core:workspace.git"&&await this.git.refreshGit()}async withChatScrollTransition(e,t=()=>!0){this.chatView?.saveScrollPosition(),await e(),t()&&(await this.updateComplete,t()&&(await this.chatView?.updateComplete,t()&&(await sf(),t()&&(this.chatView?.restoreScrollPosition(),this.chatView?.focusConversation()))))}shouldAutoFocusPrompt(){return this.appShell.shouldAutoFocusPrompt()}async withChatPrependTransition(e){await e(),await this.updateComplete,await this.chatView?.updateComplete}defaultRouteView(){return this.appShell.defaultRouteView()}updateUrl(e){this.rememberCurrentMachineNavigation(),Lp({machineId:this.state.selectedMachine?.id,projectId:this.state.selectedProject?.id,workspaceId:this.state.selectedWorkspace?.id,sessionId:this.state.selectedSession?.id,tool:this.state.workspaceTool,view:this.state.mainView==="navigation"?void 0:this.state.mainView},e),this.syncWorkspaceRouteSurfaceToUrl()}rememberCurrentMachineNavigation(){this.machineNavigation.remember(cy(this.state))}syncWorkspaceRouteSurfaceToUrl(){this.writeWorkspaceRouteSurfaceToUrl(cy(this.state).surface)}writeMachineNavigationSnapshotToUrl(e,t){Lp(hy(e),t),this.writeWorkspaceRouteSurfaceToUrl(e.surface)}writeWorkspaceRouteSurfaceToUrl(e){ps(af,"file",e.selectedFilePath,{replace:!0}),ps(nf,"diff",e.selectedDiffPath,{replace:!0}),ps(Yh,"terminal",e.selectedTerminalId,{replace:!0})}async selectMachineWithMemory(e,t={}){if(this.state.selectedMachine?.id===e.id)return;t.rememberCurrent!==!1&&!this.routeRestoreInProgress&&this.rememberCurrentMachineNavigation();const i=++this.machineNavigationRestoreSeq,r=this.machineNavigation.latest(e.id)??J9(e.id);if(await this.restoreRouteFor(hy(r),!1,r.surface,r.view),!(i!==this.machineNavigationRestoreSeq||this.state.selectedMachine?.id!==e.id)){if(this.shouldPreserveUnrestoredMachineNavigation(r)){this.machineNavigation.remember(r),this.writeMachineNavigationSnapshotToUrl(r);return}this.updateUrl()}}shouldPreserveUnrestoredMachineNavigation(e){return e.projectId!==void 0&&this.state.selectedProject?.id!==e.projectId&&this.state.error!==""}openWorkspaceTool(e){e==="core:workspace.terminal"&&(this.terminalAutoStartWorkspaceId=this.state.selectedWorkspace?.id),this.setState({workspaceTool:e,mainView:e}),this.updateUrl(),this.refreshSelectedWorkspaceTool(e),this.git.updatePolling()}openTerminal(e){e?.terminalId!==void 0&&this.selectTerminal(e.terminalId,{replace:!0}),this.openWorkspaceTool("core:workspace.terminal")}terminalCommandRunsForOrigin(e,t=wt(this.state)){const i=Xw(t,e),r=this.terminalCommandRunRuntimes.get(i);if(r!==void 0)return r;const s=IA(e,{api:{runTerminalCommand:(o,a)=>An.runTerminalCommand(o,a,t),listCommandRuns:o=>An.listCommandRuns(o,t),getCommandRun:o=>An.getCommandRun(o,t)},openTerminal:(o,a)=>{this.openRuntimeTerminal(t,o,a)}});return this.terminalCommandRunRuntimes.set(i,s),s}async openRuntimeTerminal(e,t,i){if((wt(this.state)!==e||t!==void 0&&(this.state.selectedWorkspace?.id!==t.id||this.state.selectedProject?.id!==t.projectId))&&(this.routeRestoreInProgress||this.rememberCurrentMachineNavigation(),await this.restoreRouteFor({machineId:e,projectId:t?.projectId,workspaceId:t?.id,sessionId:void 0,tool:"core:workspace.terminal",view:"core:workspace.terminal"},!1,{selectedTerminalId:i?.terminalId},"core:workspace.terminal"),wt(this.state)!==e)){this.setState({error:"Machine not found for terminal command run"});return}this.openTerminal(i)}selectTerminal(e,t){this.rememberSelectedTerminal(e),this.setState({selectedTerminalId:e}),this.rememberCurrentMachineNavigation(),this.writeSelectedTerminalToUrl(e,t)}rememberSelectedTerminal(e){const t=this.state.selectedWorkspace;t!==void 0&&(e===void 0?this.terminalSelection.forgetWorkspace(this.terminalWorkspaceKey(t)):this.terminalSelection.rememberTerminal(this.terminalWorkspaceKey(t),e))}writeSelectedTerminalToUrl(e,t){ps(Yh,"terminal",e,t)}terminalWorkspaceKey(e){return`${wt(this.state)}:${e.path}`}selectMainView(e){if(e!=="navigation"&&e!=="chat"){this.openWorkspaceTool(e);return}this.setState({mainView:e}),this.updateUrl(),this.git.updatePolling()}openSettings(e="general"){this.settingsSection=e,Pp(e)}closeSettings(){this.settingsSection=void 0,Pp(void 0)}navigateSettings(e){this.settingsSection=e,Pp(e)}restoreSettingsRoute(){this.settingsSection=Ty()}handleWorkspaceChange(e,t){if(e.selectedWorkspace?.id===t.selectedWorkspace?.id)return;this.terminalAutoStartWorkspaceId=void 0,this.activeTerminalIds.clear();const i=this.routeRestoreInProgress?this.restoringRouteTerminalId:t.selectedWorkspace===void 0?void 0:this.terminalSelection.latestTerminalId(this.terminalWorkspaceKey(t.selectedWorkspace));this.setState({activeTerminalCount:0,selectedTerminalId:i}),this.routeRestoreInProgress||(this.rememberCurrentMachineNavigation(),this.writeSelectedTerminalToUrl(i,{replace:!0})),t.selectedWorkspace!==void 0&&(this.refreshActiveTerminals(t.selectedWorkspace),this.refreshWorkspaceDeletionRuns(),this.refreshSelectedWorkspaceTool(t.workspaceTool),this.git.updatePolling())}connectRealtime(){this.realtime.connect(e=>{this.handleRealtimeEvent(e)},()=>{const e=this.state.selectedWorkspace;e!==void 0&&this.refreshActiveTerminals(e),this.refreshWorkspaceActivity()},wt(this.state))}syncMachineActivitySubscriptions(){const e=this.machineActivitySubscriptionIds();for(const[t,i]of this.machineActivitySockets.entries())e.has(t)||(i.close(),this.machineActivitySockets.delete(t));for(const t of e){if(this.machineActivitySockets.has(t))continue;const i=new ty;i.connect(r=>{this.handleMachineActivityEvent(t,r)},()=>{this.refreshWorkspaceActivity(t)},t),this.machineActivitySockets.set(t,i)}}closeMachineActivitySockets(){for(const e of this.machineActivitySockets.values())e.close();this.machineActivitySockets.clear()}machineActivitySubscriptionIds(){const e=wt(this.state);return new Set(this.state.machines.filter(t=>t.id!==e).filter(t=>att(t,this.state.machineStatuses[t.id])).map(t=>t.id))}handleMachineActivityEvent(e,t){t.type==="workspace.activity"&&this.activity.applyWorkspaceActivity(t.activity,e)}handleRealtimeEvent(e){e.type==="workspace.activity"?this.activity.applyWorkspaceActivity(e.activity):ltt(e)?(this.applyTerminalEvent(e),e.type==="terminal.exited"&&this.refreshWorkspaceDeletionRuns()):this.sessions.applyGlobalEvent(e)}applyTerminalEvent(e){const t=this.state.selectedWorkspace;t===void 0||(e.type==="terminal.closed"?e.cwd:e.terminal.cwd)!==t.path||(e.type==="terminal.created"&&!e.terminal.exited?this.activeTerminalIds.add(e.terminal.id):this.activeTerminalIds.delete(e.type==="terminal.closed"?e.terminalId:e.terminal.id),e.type==="terminal.closed"&&(this.terminalSelection.forgetTerminal(e.terminalId),this.state.selectedTerminalId===e.terminalId&&this.selectTerminal(void 0,{replace:!0})),this.setState({activeTerminalCount:this.activeTerminalIds.size}))}async refreshActiveTerminals(e){const t=wt(this.state);try{const i=await An.terminals(e.projectId,e.id,t);if(wt(this.state)!==t||this.state.selectedWorkspace?.id!==e.id)return;this.activeTerminalIds.clear();for(const r of i)r.exited||this.activeTerminalIds.add(r.id);this.setState({activeTerminalCount:this.activeTerminalIds.size})}catch(i){this.setState({error:String(i)})}}handleActivityTransition(e,t){const i=Yw(e),r=Yw(t);i&&!r&&(this.setState({fileTreeStale:!0,gitStale:!0}),this.refreshSelectedWorkspaceTool(this.state.workspaceTool))}handleMachineChange(e,t){if((e.selectedMachine?.id??"local")===(t.selectedMachine?.id??"local"))return;(this.pendingRemoteRouteRestore?.machineId??"local")!==(t.selectedMachine?.id??"local")&&this.clearPendingRemoteRouteRestore(),this.sessions.clearActiveSession(),this.realtime.close(),window.addEventListener("mousemove",this.onWindowMouseMove,{passive:!0,capture:!0}),document.addEventListener("pointermove",this.onWindowMouseMove,{passive:!0,capture:!0}),this.connectRealtime(),this.activeTerminalIds.clear(),this.sessionCleanupDialog=void 0,this.setState({ompWebStatus:void 0}),this.git.updatePolling(),this.loadPluginsForSelectedMachine()}refreshSelectedWorkspaceTool(e){e==="core:workspace.files"&&this.files.refreshFiles(),e==="core:workspace.git"&&this.git.refreshGit()}renderWorkspacePanel(){const e=this.state.selectedWorkspace,t=e===void 0?void 0:this.createWorkspacePanelContext(e),i=e===void 0?this.workspacePanelEmptyState():void 0;return T`
5492
5492
  <workspace-panel
5493
5493
  id="workspace-panel"
5494
5494
  .workspace=${e}
@@ -1,2 +1,2 @@
1
- import{_ as e,l as s,Q as n,d as i}from"./index-CyN73uMY.js";import{p}from"./cynefin-OW5HDTMX-DXF0a63d.js";import"./vendor-editor-core-D-5q2tVX.js";import"./vendor-editor-languages-B6WRt0aC.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"12.0.0"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram
1
+ import{_ as e,l as s,Q as n,d as i}from"./index-DqFyJdiT.js";import{p}from"./cynefin-OW5HDTMX-CRiWF9ki.js";import"./vendor-editor-core-D-5q2tVX.js";import"./vendor-editor-languages-B6WRt0aC.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"12.0.0"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram
2
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"),l={draw:c},w={parser:g,db:m,renderer:l};export{w as diagram};
@@ -1,4 +1,4 @@
1
- import{_ as o,c as ot,V as ut,Q as dt,at as yt,A as ft,m as pt,q as it,a as gt,b as kt,g as mt,s as wt,t as _t,d as bt}from"./index-CyN73uMY.js";import"./vendor-editor-core-D-5q2tVX.js";import"./vendor-editor-languages-B6WRt0aC.js";var J=(function(){var e=o(function(T,t,s,i){for(s=s||{},i=T.length;i--;s[T[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],u=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],D={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,c,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return c;case 15:c.addNode(n[w-1].length,n[w].trim());break;case 16:c.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(u,[2,18],{14:[1,21]}),e(u,[2,16]),e(u,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(u,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],c=[],p=[null],n=[],v=this.table,w="",I=0,$=0,L=2,A=1,V=n.slice.call(arguments,1),b=Object.create(this.lexer),S={yy:{}};for(var P in this.yy)Object.prototype.hasOwnProperty.call(this.yy,P)&&(S.yy[P]=this.yy[P]);b.setInput(t,S.yy),S.yy.lexer=b,S.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var R=b.yylloc;n.push(R);var G=b.options&&b.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(B){i.length=i.length-2*B,p.length=p.length-B,n.length=n.length-B}o(Y,"popStack");function tt(){var B;return B=c.pop()||b.lex()||A,typeof B!="number"&&(B instanceof Array&&(c=B,B=c.pop()),B=s.symbols_[B]||B),B}o(tt,"lex");for(var M,W,N,q,F={},U,C,et,Z;;){if(W=i[i.length-1],this.defaultActions[W]?N=this.defaultActions[W]:((M===null||typeof M>"u")&&(M=tt()),N=v[W]&&v[W][M]),typeof N>"u"||!N.length||!N[0]){var K="";Z=[];for(U in v[W])this.terminals_[U]&&U>L&&Z.push("'"+this.terminals_[U]+"'");b.showPosition?K="Parse error on line "+(I+1)+`:
1
+ import{_ as o,c as ot,V as ut,Q as dt,at as yt,A as ft,m as pt,q as it,a as gt,b as kt,g as mt,s as wt,t as _t,d as bt}from"./index-DqFyJdiT.js";import"./vendor-editor-core-D-5q2tVX.js";import"./vendor-editor-languages-B6WRt0aC.js";var J=(function(){var e=o(function(T,t,s,i){for(s=s||{},i=T.length;i--;s[T[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],u=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],D={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,c,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return c;case 15:c.addNode(n[w-1].length,n[w].trim());break;case 16:c.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(u,[2,18],{14:[1,21]}),e(u,[2,16]),e(u,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(u,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],c=[],p=[null],n=[],v=this.table,w="",I=0,$=0,L=2,A=1,V=n.slice.call(arguments,1),b=Object.create(this.lexer),S={yy:{}};for(var P in this.yy)Object.prototype.hasOwnProperty.call(this.yy,P)&&(S.yy[P]=this.yy[P]);b.setInput(t,S.yy),S.yy.lexer=b,S.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var R=b.yylloc;n.push(R);var G=b.options&&b.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Y(B){i.length=i.length-2*B,p.length=p.length-B,n.length=n.length-B}o(Y,"popStack");function tt(){var B;return B=c.pop()||b.lex()||A,typeof B!="number"&&(B instanceof Array&&(c=B,B=c.pop()),B=s.symbols_[B]||B),B}o(tt,"lex");for(var M,W,N,q,F={},U,C,et,Z;;){if(W=i[i.length-1],this.defaultActions[W]?N=this.defaultActions[W]:((M===null||typeof M>"u")&&(M=tt()),N=v[W]&&v[W][M]),typeof N>"u"||!N.length||!N[0]){var K="";Z=[];for(U in v[W])this.terminals_[U]&&U>L&&Z.push("'"+this.terminals_[U]+"'");b.showPosition?K="Parse error on line "+(I+1)+`:
2
2
  `+b.showPosition()+`
3
3
  Expecting `+Z.join(", ")+", got '"+(this.terminals_[M]||M)+"'":K="Parse error on line "+(I+1)+": Unexpected "+(M==A?"end of input":"'"+(this.terminals_[M]||M)+"'"),this.parseError(K,{text:b.match,token:this.terminals_[M]||M,line:b.yylineno,loc:R,expected:Z})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+M);switch(N[0]){case 1:i.push(M),p.push(b.yytext),n.push(b.yylloc),i.push(N[1]),M=null,$=b.yyleng,w=b.yytext,I=b.yylineno,R=b.yylloc;break;case 2:if(C=this.productions_[N[1]][1],F.$=p[p.length-C],F._$={first_line:n[n.length-(C||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(C||1)].first_column,last_column:n[n.length-1].last_column},G&&(F._$.range=[n[n.length-(C||1)].range[0],n[n.length-1].range[1]]),q=this.performAction.apply(F,[w,$,I,S.yy,N[1],p,n].concat(V)),typeof q<"u")return q;C&&(i=i.slice(0,-1*C*2),p=p.slice(0,-1*C),n=n.slice(0,-1*C)),i.push(this.productions_[N[1]][0]),p.push(F.$),n.push(F._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=(function(){var T={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===c.length?this.yylloc.first_column:0)+c[c.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`