@hienlh/ppm 0.13.53 → 0.13.55

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 (126) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/assets/skills/ppm/SKILL.md +2 -2
  3. package/assets/skills/ppm/references/cli-reference.md +11 -0
  4. package/assets/skills/ppm/references/http-api.md +7 -1
  5. package/dist/web/assets/ai-settings-section-AxLbNnLW.js +1 -0
  6. package/dist/web/assets/{api-settings-C3T95dWg.js → api-settings-BJTjIG4U.js} +1 -1
  7. package/dist/web/assets/architecture-PBZL5I3N-CkdUQjA_.js +1 -0
  8. package/dist/web/assets/arrow-down-D825m4vm.js +1 -0
  9. package/dist/web/assets/{audio-preview-DzlMrjXC.js → audio-preview-B53oeW0y.js} +1 -1
  10. package/dist/web/assets/chat-tab-Clzw7eDP.js +16 -0
  11. package/dist/web/assets/chevron-down-BMo4cBth.js +1 -0
  12. package/dist/web/assets/code-editor-BgU5lFVC.js +8 -0
  13. package/dist/web/assets/{conflict-editor-DsL9J6Ao.js → conflict-editor-C3l3pgtV.js} +3 -3
  14. package/dist/web/assets/csv-parser-D1b_lg2T.js +6 -0
  15. package/dist/web/assets/{csv-preview-B3Dyhgho.js → csv-preview-asMfgR0r.js} +2 -2
  16. package/dist/web/assets/{data-grid-overlay-editor-C1UUm7Ob.js → data-grid-overlay-editor-DGjqvYn6.js} +1 -1
  17. package/dist/web/assets/database-viewer-DNYgu_Jv.js +1 -0
  18. package/dist/web/assets/diff-viewer-Dec4mKgl.js +4 -0
  19. package/dist/web/assets/{esm-DCbn6xno.js → esm-xVTUq__o.js} +1 -1
  20. package/dist/web/assets/{extension-webview-SqqLBksj.js → extension-webview-b7T0yAq2.js} +1 -1
  21. package/dist/web/assets/eye-off-BacF7RVS.js +1 -0
  22. package/dist/web/assets/git-log-panel-CWTTJERX.js +1 -0
  23. package/dist/web/assets/gitGraph-HDMCJU4V-D3UR56AG.js +1 -0
  24. package/dist/web/assets/glide-data-grid-_9gGGfZy.js +136 -0
  25. package/dist/web/assets/{image-preview-CVERB6Hn.js → image-preview-CzXKlWft.js} +1 -1
  26. package/dist/web/assets/index-1_isAfRS.js +27 -0
  27. package/dist/web/assets/index-CDPVPZHJ.css +2 -0
  28. package/dist/web/assets/info-3K5VOQVL-DUhLSKI2.js +1 -0
  29. package/dist/web/assets/{input-_LFQwhzd.js → input-By_lZeCs.js} +1 -1
  30. package/dist/web/assets/keybindings-store-BicDU0b1.js +1 -0
  31. package/dist/web/assets/{markdown-renderer-F5aFyJ-g.js → markdown-renderer-DWIBF9Jg.js} +3 -3
  32. package/dist/web/assets/notification-store-D_2wCv0z.js +1 -0
  33. package/dist/web/assets/{number-overlay-editor-CyEqxXcg.js → number-overlay-editor-DtUBprPW.js} +1 -1
  34. package/dist/web/assets/packet-RMMSAZCW-BIpeVUGW.js +1 -0
  35. package/dist/web/assets/panel-store-C9VAhbZz.js +1 -0
  36. package/dist/web/assets/{pdf-preview-RgwYR2Lj.js → pdf-preview-C51mDesS.js} +1 -1
  37. package/dist/web/assets/pie-UPGHQEXC-CNoizzjb.js +1 -0
  38. package/dist/web/assets/port-forwarding-tab-BmRMiN32.js +1 -0
  39. package/dist/web/assets/{postgres-viewer-Dq2nI9jE.js → postgres-viewer-DuiEoUGK.js} +3 -3
  40. package/dist/web/assets/project-store-DlbHpIq0.js +1 -0
  41. package/dist/web/assets/radar-KQ55EAFF-7dns-ho5.js +1 -0
  42. package/dist/web/assets/{settings-store-8FpQDjEA.js → settings-store-DQUFTPk2.js} +2 -2
  43. package/dist/web/assets/settings-tab-p3lxp6_T.js +1 -0
  44. package/dist/web/assets/{sql-query-editor-CL6O_4eW.js → sql-query-editor-BA80nuKp.js} +1 -1
  45. package/dist/web/assets/{sqlite-viewer-CcJz9Bva.js → sqlite-viewer-Bev2XJe7.js} +1 -1
  46. package/dist/web/assets/system-monitor-tab-DfpsOgL3.js +1 -0
  47. package/dist/web/assets/{tab-store-CNas5Ny8.js → tab-store-CIcbSn0c.js} +1 -1
  48. package/dist/web/assets/{terminal-tab-BlyuDIu5.js → terminal-tab-Ca5kyUS7.js} +2 -2
  49. package/dist/web/assets/treemap-KZPCXAKY-D3DZCLoE.js +1 -0
  50. package/dist/web/assets/{use-blob-url-DB4nNruT.js → use-blob-url-VgTGpely.js} +1 -1
  51. package/dist/web/assets/{use-monaco-theme-DEI-tJAh.js → use-monaco-theme-BLIgarH5.js} +1 -1
  52. package/dist/web/assets/{vendor-mermaid-D2KKkqNs.js → vendor-mermaid-DkqjpqJK.js} +2 -2
  53. package/dist/web/assets/{video-preview-C8s0VXIf.js → video-preview-Bvd0OaYA.js} +1 -1
  54. package/dist/web/assets/wifi-LJEyIdXf.js +1 -0
  55. package/dist/web/index.html +21 -20
  56. package/dist/web/sw.js +1 -1
  57. package/docs/project-changelog.md +38 -1
  58. package/docs/system-architecture.md +2 -1
  59. package/package.json +1 -1
  60. package/packages/ext-git-graph/src/webview-html.ts +29 -8
  61. package/src/cli/commands/db-cmd.ts +30 -4
  62. package/src/server/index.ts +4 -0
  63. package/src/server/middleware/auth.ts +9 -0
  64. package/src/server/routes/resources.ts +61 -0
  65. package/src/services/ppmbot/cli-reference-default.ts +6 -1
  66. package/src/services/resource-monitor-utils.ts +129 -0
  67. package/src/services/resource-monitor.service.ts +122 -0
  68. package/src/web/components/editor/editor-breadcrumb.tsx +8 -1
  69. package/src/web/components/git/git-log-panel.tsx +206 -0
  70. package/src/web/components/git/git-ref-badge.tsx +150 -0
  71. package/src/web/components/git/git-status-panel.tsx +18 -0
  72. package/src/web/components/layout/mobile-nav.tsx +2 -0
  73. package/src/web/components/layout/sidebar.tsx +6 -0
  74. package/src/web/components/layout/tab-bar.tsx +3 -0
  75. package/src/web/components/layout/tab-content.tsx +10 -0
  76. package/src/web/components/layout/tab-pool.tsx +2 -0
  77. package/src/web/components/system/resource-status-bar.tsx +66 -0
  78. package/src/web/components/system/sparkline-canvas.tsx +64 -0
  79. package/src/web/components/system/system-monitor-tab.tsx +194 -0
  80. package/src/web/hooks/use-resource-monitor.ts +114 -0
  81. package/src/web/stores/panel-store.ts +1 -1
  82. package/src/web/stores/tab-store.ts +3 -1
  83. package/templates/skill/SKILL.md.tmpl +1 -1
  84. package/dist/web/assets/ai-settings-section-AuV6Lzz2.js +0 -1
  85. package/dist/web/assets/architecture-PBZL5I3N-fAJMexNi.js +0 -1
  86. package/dist/web/assets/chat-tab-BpP-9jSF.js +0 -16
  87. package/dist/web/assets/code-editor-DUrnjDXe.js +0 -8
  88. package/dist/web/assets/csv-parser-Dly5nqE1.js +0 -6
  89. package/dist/web/assets/database-viewer-BzZ_B08X.js +0 -1
  90. package/dist/web/assets/diff-viewer-BTtOJWuk.js +0 -4
  91. package/dist/web/assets/file-store-DOxcU_7s.js +0 -1
  92. package/dist/web/assets/gitGraph-HDMCJU4V-ClRAoBAn.js +0 -1
  93. package/dist/web/assets/glide-data-grid-YCbGSPc8.js +0 -136
  94. package/dist/web/assets/index-CKKoR3gY.css +0 -2
  95. package/dist/web/assets/index-D3gMHLKc.js +0 -27
  96. package/dist/web/assets/info-3K5VOQVL-D8uyBfC_.js +0 -1
  97. package/dist/web/assets/keybindings-store-BY4JJMPB.js +0 -1
  98. package/dist/web/assets/notification-store-CmFhp1D7.js +0 -1
  99. package/dist/web/assets/packet-RMMSAZCW-BJj3FH_w.js +0 -1
  100. package/dist/web/assets/panel-store-C8wwxBpn.js +0 -1
  101. package/dist/web/assets/pie-UPGHQEXC-BKfHRBz7.js +0 -1
  102. package/dist/web/assets/port-forwarding-tab-CRBTvvYM.js +0 -1
  103. package/dist/web/assets/radar-KQ55EAFF-DkybKTt9.js +0 -1
  104. package/dist/web/assets/scroll-area-BDi_FNzr.js +0 -1
  105. package/dist/web/assets/settings-tab-BrtuPA9W.js +0 -1
  106. package/dist/web/assets/treemap-KZPCXAKY-BvDgIWW9.js +0 -1
  107. /package/dist/web/assets/{api-client-DIhJ5qVW.js → api-client-BK4NPNoY.js} +0 -0
  108. /package/dist/web/assets/{chevron-right-DnHIvvcy.js → chevron-right-CD8e6Aj4.js} +0 -0
  109. /package/dist/web/assets/{code-DGBecc50.js → code-DiNmA3eR.js} +0 -0
  110. /package/dist/web/assets/{data-grid-types-D2cHE8hx.js → data-grid-types-DzL5W2em.js} +0 -0
  111. /package/dist/web/assets/{database-DOWH9-Vv.js → database-Dc8mr-dP.js} +0 -0
  112. /package/dist/web/assets/{dist-BoIkGNC8.js → dist-BM2EHhLH.js} +0 -0
  113. /package/dist/web/assets/{dist-DVk8T0R5.js → dist-CohudVKa.js} +0 -0
  114. /package/dist/web/assets/{file-exclamation-point-BwzaQ50n.js → file-exclamation-point-B__2Hrd6.js} +0 -0
  115. /package/dist/web/assets/{globe-B4Ilypbs.js → globe-CQ8NAYvi.js} +0 -0
  116. /package/dist/web/assets/{katex-C10ndCVt.js → katex-CHaeM9QC.js} +0 -0
  117. /package/dist/web/assets/{lib-C2D8j3K3.js → lib-LPmTkMu4.js} +0 -0
  118. /package/dist/web/assets/{react-DMIOAtcX.js → react-DHBl6KRc.js} +0 -0
  119. /package/dist/web/assets/{refresh-cw-BjrAbUJe.js → refresh-cw-CRD2qr4U.js} +0 -0
  120. /package/dist/web/assets/{search-tM8K5zWU.js → search-D90WJ5fo.js} +0 -0
  121. /package/dist/web/assets/{sparkles-CulWHe4c.js → sparkles-KCOEy7QI.js} +0 -0
  122. /package/dist/web/assets/{table-BzjWcs87.js → table-2wDtM4_B.js} +0 -0
  123. /package/dist/web/assets/{text-wrap-DJz9Bgpa.js → text-wrap-AZErifCu.js} +0 -0
  124. /package/dist/web/assets/{utils-CQux7CsO.js → utils-CSCvNZxE.js} +0 -0
  125. /package/dist/web/assets/{vendor-xterm-D1P36hcr.js → vendor-xterm-vh96p1Au.js} +0 -0
  126. /package/dist/web/assets/{x-BPReZWnP.js → x-ClICkcxR.js} +0 -0
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import{t as r}from"./createLucideIcon-BjHrJDVb.js";import{n as i,t as a}from"./chevron-down-BMo4cBth.js";import{t as o}from"./chevron-right-CD8e6Aj4.js";import{t as s}from"./wifi-LJEyIdXf.js";import"./api-client-BK4NPNoY.js";import{n as c}from"./utils-CSCvNZxE.js";import{X as l,a as u,g as d,q as f,z as p}from"./index-1_isAfRS.js";var m=r(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),h=r(`hammer`,[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`,key:`1hayfq`}],[`path`,{d:`m18 15 4-4`,key:`16gjal`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`,key:`15ts47`}]]),g=e(n(),1),_=t(),v=(0,g.memo)(function({data:e,width:t=120,height:n=24,color:r=`#3b82f6`}){let i=(0,g.useRef)(null),a=(0,g.useRef)(0);return(0,g.useEffect)(()=>{let o=Date.now();if(o-a.current<1e3)return;a.current=o;let s=i.current;if(!s||e.length<2)return;let c=s.getContext(`2d`);if(!c)return;let l=window.devicePixelRatio||1;s.width=t*l,s.height=n*l,c.scale(l,l),c.clearRect(0,0,t,n);let u=Math.max(...e,1),d=t/(e.length-1),f=n-4;c.beginPath(),c.strokeStyle=r,c.lineWidth=1.5,c.lineJoin=`round`;for(let t=0;t<e.length;t++){let n=t*d,r=2+f-e[t]/u*f;t===0?c.moveTo(n,r):c.lineTo(n,r)}c.stroke()},[e,t,n,r]),(0,_.jsx)(`canvas`,{ref:i,style:{width:t,height:n},className:`inline-block`})}),y={server:f,terminal:l,"ai-tool":i,build:h,unknown:m},b=200;function x(e){return e>80?`text-red-500`:e>50?`text-yellow-500`:`text-green-500`}function S(e){return e<1024?`${e.toFixed(0)} MB`:`${(e/1024).toFixed(1)} GB`}var C=(0,g.memo)(function(){let{latest:e,history:t,isConnected:n}=u(),[r,i]=(0,g.useState)(()=>new Set([`server`])),a=d(),o=(0,g.useMemo)(()=>{let e=new Map,n=t.slice(-b);for(let t of n)for(let n of t.groups){let t=`${n.type}:${n.label}`,r=e.get(t)??[];r.push(n.cpu),e.set(t,r)}return e},[t]),l=e=>{i(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})};if(!e)return(0,_.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-subtle text-sm`,children:n?`Waiting for data...`:`Connecting to resource monitor...`});let f=Math.round((Date.now()-e.timestamp)/1e3);return(0,_.jsxs)(`div`,{className:`h-full flex flex-col overflow-hidden`,children:[(0,_.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border shrink-0`,children:[(0,_.jsx)(`h2`,{className:`text-sm font-medium`,children:`System Monitor`}),(0,_.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[10px] text-text-subtle`,children:[n?(0,_.jsx)(s,{className:`size-3 text-green-500`}):(0,_.jsx)(p,{className:`size-3 text-red-500`}),(0,_.jsx)(`span`,{children:n?`Updated ${f}s ago`:`Disconnected`})]})]}),(0,_.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:(0,_.jsxs)(`table`,{className:`w-full text-xs`,children:[(0,_.jsx)(`thead`,{children:(0,_.jsxs)(`tr`,{className:`text-text-subtle border-b border-border`,children:[(0,_.jsx)(`th`,{className:`text-left py-1.5 px-3 font-medium`,children:`Process`}),(0,_.jsx)(`th`,{className:`text-right py-1.5 px-2 font-medium w-16`,children:`CPU`}),(0,_.jsx)(`th`,{className:`text-right py-1.5 px-2 font-medium w-20`,children:`RAM`}),!a&&(0,_.jsx)(`th`,{className:`py-1.5 px-2 font-medium w-[130px]`,children:`Trend`})]})}),(0,_.jsx)(`tbody`,{children:e.groups.map(e=>{let t=`${e.type}:${e.label}`;return(0,_.jsx)(w,{group:e,Icon:y[e.type]??m,isExpanded:r.has(t),sparkData:o.get(t)??[],isMobile:a,onToggle:()=>l(t)},t)})}),(0,_.jsx)(`tfoot`,{children:(0,_.jsxs)(`tr`,{className:`border-t border-border font-medium`,children:[(0,_.jsxs)(`td`,{className:`py-1.5 px-3`,children:[`Total (`,e.total.processCount,` processes)`]}),(0,_.jsxs)(`td`,{className:c(`text-right py-1.5 px-2`,x(e.total.cpu)),children:[e.total.cpu.toFixed(1),`%`]}),(0,_.jsx)(`td`,{className:`text-right py-1.5 px-2 text-text-secondary`,children:S(e.total.ramMB)}),!a&&(0,_.jsx)(`td`,{})]})})]})})]})}),w=(0,g.memo)(function({group:e,Icon:t,isExpanded:n,sparkData:r,isMobile:i,onToggle:s}){return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(`tr`,{className:`hover:bg-surface-hover cursor-pointer transition-colors`,onClick:s,children:[(0,_.jsx)(`td`,{className:`py-1.5 px-3`,children:(0,_.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,_.jsx)(n?a:o,{className:`size-3 text-text-subtle shrink-0`}),(0,_.jsx)(t,{className:`size-3.5 text-text-secondary shrink-0`}),(0,_.jsx)(`span`,{className:`truncate`,children:e.label}),(0,_.jsxs)(`span`,{className:`text-text-subtle`,children:[`(`,e.processes.length,`)`]})]})}),(0,_.jsxs)(`td`,{className:c(`text-right py-1.5 px-2`,x(e.cpu)),children:[e.cpu.toFixed(1),`%`]}),(0,_.jsx)(`td`,{className:`text-right py-1.5 px-2 text-text-secondary`,children:S(e.ramMB)}),!i&&(0,_.jsx)(`td`,{className:`py-1.5 px-2`,children:r.length>1&&(0,_.jsx)(v,{data:r,width:120,height:20})})]}),n&&e.processes.map(e=>(0,_.jsxs)(`tr`,{className:`text-text-subtle`,children:[(0,_.jsxs)(`td`,{className:`py-1 px-3 pl-10`,children:[(0,_.jsx)(`span`,{className:`text-text-subtle mr-1.5`,children:e.pid}),(0,_.jsx)(`span`,{className:`truncate`,children:e.command})]}),(0,_.jsxs)(`td`,{className:`text-right py-1 px-2`,children:[e.cpu.toFixed(1),`%`]}),(0,_.jsx)(`td`,{className:`text-right py-1 px-2`,children:S(e.ramMB)}),!i&&(0,_.jsx)(`td`,{})]},e.pid))]})});export{C as SystemMonitorTab};
@@ -1 +1 @@
1
- import{t as e}from"./react-DMIOAtcX.js";import{a as t,t as n}from"./panel-store-C8wwxBpn.js";var r=e()(()=>({tabs:[],activeTabId:null,tabHistory:[],currentProject:null,switchProject:e=>{n.getState().switchProject(e),i()},openTab:e=>{let t=n.getState().openTab(e);return i(),t},closeTab:e=>{n.getState().closeTab(e),i()},setActiveTab:e=>{n.getState().setActiveTab(e),i()},updateTab:(e,t)=>{n.getState().updateTab(e,t),i()},openNewFile:()=>{let e=n.getState(),r=t(e.panels),a=e.openTab({type:`editor`,title:`Untitled-${r}`,projectId:null,metadata:{isUntitled:!0,untitledNumber:r},closable:!0});return i(),a}}));function i(){let e=n.getState(),t=e.panels[e.focusedPanelId];r.setState({tabs:t?.tabs??[],activeTabId:t?.activeTabId??null,tabHistory:t?.tabHistory??[],currentProject:e.currentProject})}n.subscribe(()=>i());export{r as t};
1
+ import{t as e}from"./react-DHBl6KRc.js";import{a as t,t as n}from"./panel-store-C9VAhbZz.js";var r=e()(()=>({tabs:[],activeTabId:null,tabHistory:[],currentProject:null,switchProject:e=>{n.getState().switchProject(e),i()},openTab:e=>{let t=n.getState().openTab(e);return i(),t},closeTab:e=>{n.getState().closeTab(e),i()},setActiveTab:e=>{n.getState().setActiveTab(e),i()},updateTab:(e,t)=>{n.getState().updateTab(e,t),i()},openNewFile:()=>{let e=n.getState(),r=t(e.panels),a=e.openTab({type:`editor`,title:`Untitled-${r}`,projectId:null,metadata:{isUntitled:!0,untitledNumber:r},closable:!0});return i(),a}}));function i(){let e=n.getState(),t=e.panels[e.focusedPanelId];r.setState({tabs:t?.tabs??[],activeTabId:t?.activeTabId??null,tabHistory:t?.tabHistory??[],currentProject:e.currentProject})}n.subscribe(()=>i());export{r as t};
@@ -1,3 +1,3 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import"./vendor-ui-UXCWAcmi.js";import"./api-client-DIhJ5qVW.js";import{n as r}from"./settings-store-8FpQDjEA.js";import"./vendor-mermaid-D2KKkqNs.js";import{n as i}from"./utils-CQux7CsO.js";import{t as a}from"./panel-store-C8wwxBpn.js";import{F as o,K as s,U as c,nt as l,rt as u}from"./index-D3gMHLKc.js";import{n as d,r as f,t as p}from"./vendor-xterm-D1P36hcr.js";var m=e(n(),1),h={background:`#0f1419`,foreground:`#e5e7eb`,cursor:`#e5e7eb`,selectionBackground:`#3b82f640`,black:`#1a1f2e`,red:`#ef4444`,green:`#10b981`,yellow:`#f59e0b`,blue:`#3b82f6`,magenta:`#a855f7`,cyan:`#06b6d4`,white:`#e5e7eb`,brightBlack:`#6b7280`,brightRed:`#f87171`,brightGreen:`#34d399`,brightYellow:`#fbbf24`,brightBlue:`#60a5fa`,brightMagenta:`#c084fc`,brightCyan:`#22d3ee`,brightWhite:`#f9fafb`},g={background:`#ffffff`,foreground:`#1a1f2e`,cursor:`#1a1f2e`,selectionBackground:`#2563eb30`,black:`#1a1f2e`,red:`#dc2626`,green:`#059669`,yellow:`#d97706`,blue:`#2563eb`,magenta:`#9333ea`,cyan:`#0891b2`,white:`#f8fafc`,brightBlack:`#64748b`,brightRed:`#ef4444`,brightGreen:`#10b981`,brightYellow:`#f59e0b`,brightBlue:`#3b82f6`,brightMagenta:`#a855f7`,brightCyan:`#06b6d4`,brightWhite:`#ffffff`};function _(e){return e===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?h:g:e===`light`?g:h}var v=`RESIZE:`;function y(e){let{sessionId:t,containerRef:n}=e,i=(0,m.useRef)(null),a=(0,m.useRef)(null),o=(0,m.useRef)(null),s=(0,m.useRef)(null),c=(0,m.useRef)(0),[l,u]=(0,m.useState)(!1),[h,g]=(0,m.useState)(!1),[y,b]=(0,m.useState)(!1),x=e.tabId?`ppm:terminal-session:${e.tabId}`:null,S=(0,m.useRef)((()=>{if(x)try{return localStorage.getItem(x)??t}catch{}return t})()),C=(0,m.useRef)(0),w=(0,m.useCallback)(e=>{let t=o.current;t?.readyState===WebSocket.OPEN&&t.send(e)},[]),T=(0,m.useCallback)(()=>i.current?.getSelection()??``,[]),E=(0,m.useCallback)(()=>{let e=i.current;if(!e)return``;let t=e.buffer.active,n=C.current,r=t.baseY+t.cursorY,a=[];for(let e=n;e<=r;e++){let n=t.getLine(e);n&&a.push(n.translateToString(!0))}for(;a.length>0&&a[a.length-1].trim()===``;)a.pop();return a.join(`
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,x as n}from"./vendor-markdown-0Mxgxy0L.js";import"./vendor-ui-UXCWAcmi.js";import"./api-client-BK4NPNoY.js";import{n as r}from"./settings-store-DQUFTPk2.js";import"./vendor-mermaid-DkqjpqJK.js";import{n as i}from"./utils-CSCvNZxE.js";import{t as a}from"./panel-store-C9VAhbZz.js";import{J as o,Q as s,R as c,dt as l,lt as u}from"./index-1_isAfRS.js";import{n as d,r as f,t as p}from"./vendor-xterm-vh96p1Au.js";var m=e(n(),1),h={background:`#0f1419`,foreground:`#e5e7eb`,cursor:`#e5e7eb`,selectionBackground:`#3b82f640`,black:`#1a1f2e`,red:`#ef4444`,green:`#10b981`,yellow:`#f59e0b`,blue:`#3b82f6`,magenta:`#a855f7`,cyan:`#06b6d4`,white:`#e5e7eb`,brightBlack:`#6b7280`,brightRed:`#f87171`,brightGreen:`#34d399`,brightYellow:`#fbbf24`,brightBlue:`#60a5fa`,brightMagenta:`#c084fc`,brightCyan:`#22d3ee`,brightWhite:`#f9fafb`},g={background:`#ffffff`,foreground:`#1a1f2e`,cursor:`#1a1f2e`,selectionBackground:`#2563eb30`,black:`#1a1f2e`,red:`#dc2626`,green:`#059669`,yellow:`#d97706`,blue:`#2563eb`,magenta:`#9333ea`,cyan:`#0891b2`,white:`#f8fafc`,brightBlack:`#64748b`,brightRed:`#ef4444`,brightGreen:`#10b981`,brightYellow:`#f59e0b`,brightBlue:`#3b82f6`,brightMagenta:`#a855f7`,brightCyan:`#06b6d4`,brightWhite:`#ffffff`};function _(e){return e===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?h:g:e===`light`?g:h}var v=`RESIZE:`;function y(e){let{sessionId:t,containerRef:n}=e,i=(0,m.useRef)(null),a=(0,m.useRef)(null),o=(0,m.useRef)(null),s=(0,m.useRef)(null),c=(0,m.useRef)(0),[l,u]=(0,m.useState)(!1),[h,g]=(0,m.useState)(!1),[y,b]=(0,m.useState)(!1),x=e.tabId?`ppm:terminal-session:${e.tabId}`:null,S=(0,m.useRef)((()=>{if(x)try{return localStorage.getItem(x)??t}catch{}return t})()),C=(0,m.useRef)(0),w=(0,m.useCallback)(e=>{let t=o.current;t?.readyState===WebSocket.OPEN&&t.send(e)},[]),T=(0,m.useCallback)(()=>i.current?.getSelection()??``,[]),E=(0,m.useCallback)(()=>{let e=i.current;if(!e)return``;let t=e.buffer.active,n=C.current,r=t.baseY+t.cursorY,a=[];for(let e=n;e<=r;e++){let n=t.getLine(e);n&&a.push(n.translateToString(!0))}for(;a.length>0&&a[a.length-1].trim()===``;)a.pop();return a.join(`
2
2
  `)},[]),D=(0,m.useCallback)(()=>{let e=i.current,t=o.current;e&&t?.readyState===WebSocket.OPEN&&t.send(`${v}${e.cols},${e.rows}`)},[]),O=(0,m.useCallback)(()=>{if(s.current&&clearTimeout(s.current),o.current?.close(),o.current=null,S.current=`new`,x)try{localStorage.removeItem(x)}catch{}c.current=0,b(!1),u(!1),g(!1),setTimeout(()=>k(),0)},[]),k=(0,m.useCallback)(()=>{s.current&&=(clearTimeout(s.current),null),o.current&&=(o.current.onclose=null,o.current.close(),null);let t=i.current;if(!t)return;let n=window.location.protocol===`https:`?`wss:`:`ws:`,r=e.projectName??``,a=S.current,l=`/ws/project/${encodeURIComponent(r)}/terminal/${a}`,d=`${n}//${window.location.host}${l}`,f=new WebSocket(d);o.current=f,f.onopen=()=>{u(!0),g(!1),c.current=0,D()},f.onmessage=e=>{if(typeof e.data==`string`){if(e.data.startsWith(`{`))try{let n=JSON.parse(e.data);if(n.type){if(n.type===`session`&&n.id&&(S.current=n.id,x))try{localStorage.setItem(x,n.id)}catch{}n.type===`error`&&t.write(`\r\n\x1b[31mError: ${n.message}\x1b[0m\r\n`),n.type===`exited`&&b(!0);return}}catch{}t.write(e.data)}},f.onclose=()=>{u(!1),A()},f.onerror=()=>{f.close()}},[D]);function A(){let e=Math.min(1e3*2**c.current,3e4);c.current++,g(!0),s.current=setTimeout(()=>{k()},e)}return(0,m.useEffect)(()=>{let e=n.current;if(!e)return;let t=new f({cursorBlink:!0,fontSize:13,fontFamily:`var(--font-mono)`,theme:_(r.getState().theme)}),c=new d,l=new p;t.loadAddon(c),t.loadAddon(l),t.open(e),c.fit(),i.current=t,a.current=c,t.onData(e=>{if(e.includes(`\r`)||e.includes(`
3
- `)){let e=t.buffer.active;C.current=e.baseY+e.cursorY+1}let n=o.current;n?.readyState===WebSocket.OPEN&&n.send(e)}),k();let u=new ResizeObserver(()=>{try{c.fit(),D()}catch{}});u.observe(e);let m=r.getState().theme,h=r.subscribe(e=>{e.theme!==m&&(m=e.theme,t.options.theme=_(e.theme))});return()=>{h(),u.disconnect(),s.current&&clearTimeout(s.current),o.current?.close(),o.current=null,t.dispose(),i.current=null,a.current=null}},[]),{connected:l,reconnecting:h,exited:y,sendData:w,getSelection:T,getLastCommandOutput:E,restart:O}}var b=t(),x=[{label:`Tab`,value:` `},{label:`Esc`,value:`\x1B`},{label:`Ctrl`,value:null,isModifier:!0},{label:`↑`,value:`\x1B[A`},{label:`↓`,value:`\x1B[B`},{label:`←`,value:`\x1B[D`},{label:`→`,value:`\x1B[C`}],S=(0,m.memo)(function({metadata:e,tabId:t}){let n=e?.sessionId??`new`,r=e?.projectName,d=(0,m.useRef)(null),{connected:f,reconnecting:p,exited:h,sendData:g,getSelection:_,getLastCommandOutput:v,restart:S}=y({sessionId:n,projectName:r,containerRef:d,tabId:t}),[C,w]=(0,m.useState)(!1),[T,E]=(0,m.useState)(null);(0,m.useEffect)(()=>{let e=window.visualViewport;if(!e)return;function t(){e&&E(e.height)}return e.addEventListener(`resize`,t),()=>e.removeEventListener(`resize`,t)},[]);let D=(0,m.useCallback)(()=>{(d.current?.querySelector(`.xterm-helper-textarea`))?.focus()},[]),O=(0,m.useCallback)(e=>{if(D(),C&&e.length===1){let t=e.toLowerCase().charCodeAt(0)-96;t>=1&&t<=26&&g(String.fromCharCode(t)),w(!1);return}g(e)},[C,g,D]),k=(0,m.useCallback)(async()=>{let e=_();e&&await navigator.clipboard.writeText(e)},[_]),A=(0,m.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&(g(e),D())}catch{}},[g,D]),j=(0,m.useCallback)(()=>{let e=_(),t=e||v();if(!t.trim())return;let n="```bash\n"+t+"\n```",i=e?`Terminal selection`:`Terminal output`,s=!1,c=()=>{s=!0};window.addEventListener(`ppm:send-to-chat:ack`,c,{once:!0}),window.dispatchEvent(new CustomEvent(`ppm:send-to-chat`,{detail:{text:n,label:i,projectName:r}})),window.removeEventListener(`ppm:send-to-chat:ack`,c),s?o.success(`Sent to chat`,{duration:1500}):a.getState().openTab({type:`chat`,title:`Chat`,projectId:null,metadata:{projectName:r,pendingMessage:n},closable:!0})},[_,v,r]),M=typeof window<`u`&&`ontouchstart`in window;return(0,b.jsxs)(`div`,{className:`flex flex-col h-full`,style:T?{maxHeight:`${T}px`}:void 0,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1 bg-surface border-b border-border text-xs`,children:[(0,b.jsx)(`span`,{className:i(`size-2 rounded-full`,h?`bg-error`:f?`bg-success`:p?`bg-warning`:`bg-error`)}),(0,b.jsx)(`span`,{className:`text-text-secondary`,children:h?`Process exited`:f?`Connected`:p?`Reconnecting...`:`Disconnected`}),h&&(0,b.jsxs)(`button`,{onClick:S,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-xs bg-surface-elevated text-text-primary hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground transition-colors`,children:[(0,b.jsx)(c,{size:10}),`Restart`]}),(0,b.jsxs)(`button`,{onClick:j,title:`Send to Chat`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-xs bg-surface-elevated text-text-primary hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground transition-colors ml-auto`,children:[(0,b.jsx)(s,{size:10}),`Chat`]}),(0,b.jsx)(`span`,{className:`text-text-subtle font-mono`,children:n})]}),(0,b.jsx)(`div`,{ref:d,className:`flex-1 min-h-0 bg-background p-1`}),M&&(0,b.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 bg-surface border-t border-border overflow-x-auto`,children:[(0,b.jsx)(`button`,{onClick:k,className:`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,children:(0,b.jsx)(l,{size:14})}),(0,b.jsx)(`button`,{onClick:A,className:`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,children:(0,b.jsx)(u,{size:14})}),(0,b.jsx)(`button`,{onClick:j,className:`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,"aria-label":`Send to Chat`,children:(0,b.jsx)(s,{size:14})}),(0,b.jsx)(`div`,{className:`w-px h-5 bg-border mx-0.5`}),x.map(e=>(0,b.jsx)(`button`,{onClick:()=>{e.label===`Ctrl`?w(!C):e.value&&O(e.value)},className:i(`px-3 py-1.5 rounded text-xs font-mono min-w-[36px] min-h-[32px]`,`bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground`,`transition-colors select-none`,e.label===`Ctrl`&&C&&`bg-primary text-primary-foreground`),children:e.label},e.label))]})]})});export{S as TerminalTab};
3
+ `)){let e=t.buffer.active;C.current=e.baseY+e.cursorY+1}let n=o.current;n?.readyState===WebSocket.OPEN&&n.send(e)}),k();let u=new ResizeObserver(()=>{try{c.fit(),D()}catch{}});u.observe(e);let m=r.getState().theme,h=r.subscribe(e=>{e.theme!==m&&(m=e.theme,t.options.theme=_(e.theme))});return()=>{h(),u.disconnect(),s.current&&clearTimeout(s.current),o.current?.close(),o.current=null,t.dispose(),i.current=null,a.current=null}},[]),{connected:l,reconnecting:h,exited:y,sendData:w,getSelection:T,getLastCommandOutput:E,restart:O}}var b=t(),x=[{label:`Tab`,value:` `},{label:`Esc`,value:`\x1B`},{label:`Ctrl`,value:null,isModifier:!0},{label:`↑`,value:`\x1B[A`},{label:`↓`,value:`\x1B[B`},{label:`←`,value:`\x1B[D`},{label:`→`,value:`\x1B[C`}],S=(0,m.memo)(function({metadata:e,tabId:t}){let n=e?.sessionId??`new`,r=e?.projectName,d=(0,m.useRef)(null),{connected:f,reconnecting:p,exited:h,sendData:g,getSelection:_,getLastCommandOutput:v,restart:S}=y({sessionId:n,projectName:r,containerRef:d,tabId:t}),[C,w]=(0,m.useState)(!1),[T,E]=(0,m.useState)(null);(0,m.useEffect)(()=>{let e=window.visualViewport;if(!e)return;function t(){e&&E(e.height)}return e.addEventListener(`resize`,t),()=>e.removeEventListener(`resize`,t)},[]);let D=(0,m.useCallback)(()=>{(d.current?.querySelector(`.xterm-helper-textarea`))?.focus()},[]),O=(0,m.useCallback)(e=>{if(D(),C&&e.length===1){let t=e.toLowerCase().charCodeAt(0)-96;t>=1&&t<=26&&g(String.fromCharCode(t)),w(!1);return}g(e)},[C,g,D]),k=(0,m.useCallback)(async()=>{let e=_();e&&await navigator.clipboard.writeText(e)},[_]),A=(0,m.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&(g(e),D())}catch{}},[g,D]),j=(0,m.useCallback)(()=>{let e=_(),t=e||v();if(!t.trim())return;let n="```bash\n"+t+"\n```",i=e?`Terminal selection`:`Terminal output`,o=!1,s=()=>{o=!0};window.addEventListener(`ppm:send-to-chat:ack`,s,{once:!0}),window.dispatchEvent(new CustomEvent(`ppm:send-to-chat`,{detail:{text:n,label:i,projectName:r}})),window.removeEventListener(`ppm:send-to-chat:ack`,s),o?c.success(`Sent to chat`,{duration:1500}):a.getState().openTab({type:`chat`,title:`Chat`,projectId:null,metadata:{projectName:r,pendingMessage:n},closable:!0})},[_,v,r]),M=typeof window<`u`&&`ontouchstart`in window;return(0,b.jsxs)(`div`,{className:`flex flex-col h-full`,style:T?{maxHeight:`${T}px`}:void 0,children:[(0,b.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1 bg-surface border-b border-border text-xs`,children:[(0,b.jsx)(`span`,{className:i(`size-2 rounded-full`,h?`bg-error`:f?`bg-success`:p?`bg-warning`:`bg-error`)}),(0,b.jsx)(`span`,{className:`text-text-secondary`,children:h?`Process exited`:f?`Connected`:p?`Reconnecting...`:`Disconnected`}),h&&(0,b.jsxs)(`button`,{onClick:S,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-xs bg-surface-elevated text-text-primary hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground transition-colors`,children:[(0,b.jsx)(o,{size:10}),`Restart`]}),(0,b.jsxs)(`button`,{onClick:j,title:`Send to Chat`,className:`flex items-center gap-1 px-1.5 py-0.5 rounded text-xs bg-surface-elevated text-text-primary hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground transition-colors ml-auto`,children:[(0,b.jsx)(s,{size:10}),`Chat`]}),(0,b.jsx)(`span`,{className:`text-text-subtle font-mono`,children:n})]}),(0,b.jsx)(`div`,{ref:d,className:`flex-1 min-h-0 bg-background p-1`}),M&&(0,b.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 bg-surface border-t border-border overflow-x-auto`,children:[(0,b.jsx)(`button`,{onClick:k,className:`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,children:(0,b.jsx)(u,{size:14})}),(0,b.jsx)(`button`,{onClick:A,className:`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,children:(0,b.jsx)(l,{size:14})}),(0,b.jsx)(`button`,{onClick:j,className:`px-2 py-1.5 rounded text-xs min-w-[36px] min-h-[32px] bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground transition-colors select-none`,"aria-label":`Send to Chat`,children:(0,b.jsx)(s,{size:14})}),(0,b.jsx)(`div`,{className:`w-px h-5 bg-border mx-0.5`}),x.map(e=>(0,b.jsx)(`button`,{onClick:()=>{e.label===`Ctrl`?w(!C):e.value&&O(e.value)},className:i(`px-3 py-1.5 rounded text-xs font-mono min-w-[36px] min-h-[32px]`,`bg-surface-elevated text-text-primary active:bg-primary active:text-primary-foreground`,`transition-colors select-none`,e.label===`Ctrl`&&C&&`bg-primary text-primary-foreground`),children:e.label},e.label))]})]})});export{S as TerminalTab};
@@ -0,0 +1 @@
1
+ import{N as e}from"./vendor-mermaid-DkqjpqJK.js";export{e as createTreemapServices};
@@ -1 +1 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{x as t}from"./vendor-markdown-0Mxgxy0L.js";import{i as n,r}from"./api-client-DIhJ5qVW.js";var i=e(t(),1);function a(e,t,a){let[o,s]=(0,i.useState)(null),[c,l]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let i,o=/^(\/|[A-Za-z]:[/\\])/.test(e)?`/api/fs/raw?path=${encodeURIComponent(e)}`:`${n(t)}/files/raw?path=${encodeURIComponent(e)}`,c=r();return fetch(o,{headers:c?{Authorization:`Bearer ${c}`}:{}}).then(e=>{if(!e.ok)throw Error(`Failed`);return e.blob()}).then(e=>{let t=a?new Blob([e],{type:a}):e,n=URL.createObjectURL(t);i=n,s(n)}).catch(()=>l(!0)),()=>{i&&URL.revokeObjectURL(i)}},[e,t,a]),{blobUrl:o,error:c}}export{a as t};
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{x as t}from"./vendor-markdown-0Mxgxy0L.js";import{i as n,r}from"./api-client-BK4NPNoY.js";var i=e(t(),1);function a(e,t,a){let[o,s]=(0,i.useState)(null),[c,l]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{let i,o=/^(\/|[A-Za-z]:[/\\])/.test(e)?`/api/fs/raw?path=${encodeURIComponent(e)}`:`${n(t)}/files/raw?path=${encodeURIComponent(e)}`,c=r();return fetch(o,{headers:c?{Authorization:`Bearer ${c}`}:{}}).then(e=>{if(!e.ok)throw Error(`Failed`);return e.blob()}).then(e=>{let t=a?new Blob([e],{type:a}):e,n=URL.createObjectURL(t);i=n,s(n)}).catch(()=>l(!0)),()=>{i&&URL.revokeObjectURL(i)}},[e,t,a]),{blobUrl:o,error:c}}export{a as t};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{x as t}from"./vendor-markdown-0Mxgxy0L.js";import{n}from"./settings-store-8FpQDjEA.js";function r(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e){if(Array.isArray(e))return e}function a(e,t,n){return(t=m(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function s(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{x as t}from"./vendor-markdown-0Mxgxy0L.js";import{n}from"./settings-store-DQUFTPk2.js";function r(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e){if(Array.isArray(e))return e}function a(e,t,n){return(t=m(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function s(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?c(Object(n),!0).forEach(function(t){a(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function u(e,t){if(e==null)return{};var n,r,i=d(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function d(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function f(e,t){return i(e)||o(e,t)||h(e,t)||s()}function p(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function m(e){var t=p(e,`string`);return typeof t==`symbol`?t:t+``}function h(e,t){if(e){if(typeof e==`string`)return r(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}function g(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?_(Object(n),!0).forEach(function(t){g(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function y(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}}function b(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function x(e){return{}.toString.call(e).includes(`Object`)}function S(e){return!Object.keys(e).length}function C(e){return typeof e==`function`}function w(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function T(e,t){return x(t)||A(`changeType`),Object.keys(t).some(function(t){return!w(e,t)})&&A(`changeField`),t}function E(e){C(e)||A(`selectorType`)}function D(e){C(e)||x(e)||A(`handlerType`),x(e)&&Object.values(e).some(function(e){return!C(e)})&&A(`handlersType`)}function O(e){e||A(`initialIsRequired`),x(e)||A(`initialType`),S(e)&&A(`initialContent`)}function k(e,t){throw Error(e[t]||e.default)}var A=b(k)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),j={changes:T,selector:E,handler:D,initial:O};function ee(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};j.initial(e),j.handler(t);var n={current:e},r=b(P)(n,t),i=b(N)(n),a=b(j.changes)(e),o=b(M)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return j.selector(e),e(n.current)}function c(e){y(r,i,a,o)(e)}return[s,c]}function M(e,t){return C(t)?t(e.current):t}function N(e,t){return e.current=v(v({},e.current),t),t}function P(e,t,n){return C(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var F={create:ee},te={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function ne(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function re(e){return{}.toString.call(e).includes(`Object`)}function ie(e){return e||L(`configIsRequired`),re(e)||L(`configType`),e.urls?(ae(),{paths:{vs:e.urls.monacoBase}}):e}function ae(){console.warn(I.deprecation)}function oe(e,t){throw Error(e[t]||e.default)}var I={configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
3
3
  You are using deprecated way of configuration.
4
4