@hienlh/ppm 0.18.13 → 0.18.14

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 (425) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/assets/skills/ppm/SKILL.md +1 -1
  3. package/assets/skills/ppm/references/cli-reference.md +4 -4
  4. package/assets/skills/ppm/references/http-api.md +1 -1
  5. package/dist/web/assets/{adaptive-context-menu-CbgPYQmj.js → adaptive-context-menu-DCZtgOL7.js} +1 -1
  6. package/dist/web/assets/{ai-resource-editor-unM2HNmg.js → ai-resource-editor-D5CPBg06.js} +1 -1
  7. package/dist/web/assets/{ai-settings-section-CdktdrwF.js → ai-settings-section-DY-t1bK8.js} +1 -1
  8. package/dist/web/assets/{angular-html-DcpbdcNG.js → angular-html-CTvM4ulF.js} +1 -1
  9. package/dist/web/assets/{angular-ts-Bv_WIk34.js → angular-ts-B_vSkjco.js} +1 -1
  10. package/dist/web/assets/{api-settings-DfXViPKz.js → api-settings-DRF9oYkn.js} +1 -1
  11. package/dist/web/assets/{apl-D5_lLszu.js → apl-DywzTry0.js} +1 -1
  12. package/dist/web/assets/architecture-PBZL5I3N-nw5-j_I_.js +1 -0
  13. package/dist/web/assets/{astro-CBHwddYL.js → astro-1JaRgaSb.js} +1 -1
  14. package/dist/web/assets/{audio-preview-BD1iDovf.js → audio-preview-DAuGvOiK.js} +1 -1
  15. package/dist/web/assets/{blade-DGe1d2Pq.js → blade-CDeeJWBb.js} +1 -1
  16. package/dist/web/assets/{bsl-2lyAzRJA.js → bsl-BfgoPVYR.js} +1 -1
  17. package/dist/web/assets/{cairo-DjzZeJrq.js → cairo-C26gNwWW.js} +1 -1
  18. package/dist/web/assets/chat-tab-IcnU3nqQ.js +15 -0
  19. package/dist/web/assets/{cobol-cC3XIuAJ.js → cobol-D92nBnON.js} +1 -1
  20. package/dist/web/assets/code-editor-Dno5Srkm.js +10 -0
  21. package/dist/web/assets/{coffee-4eGboVoU.js → coffee-CIWH40R1.js} +1 -1
  22. package/dist/web/assets/{conflict-editor-DdJag4QK.js → conflict-editor-CDp0I3mD.js} +1 -1
  23. package/dist/web/assets/{cpp-DF9_G-OU.js → cpp-DOrBqXCn.js} +1 -1
  24. package/dist/web/assets/{crystal-OavZlzcm.js → crystal-BNKqmHux.js} +1 -1
  25. package/dist/web/assets/{csv-preview-DnXwouF3.js → csv-preview-D4svNDAq.js} +1 -1
  26. package/dist/web/assets/{data-grid-overlay-editor-B9Gpjm3l.js → data-grid-overlay-editor-BqV0AxZg.js} +1 -1
  27. package/dist/web/assets/{database-viewer-Dk8oGyZx.js → database-viewer-BCvv_Bwf.js} +1 -1
  28. package/dist/web/assets/{dialog-B-l2ZxVm.js → dialog-DcLGDwaX.js} +1 -1
  29. package/dist/web/assets/diff-viewer-D41fCFAi.js +4 -0
  30. package/dist/web/assets/{edge-TzYh8OlN.js → edge-Dbjp42Pt.js} +1 -1
  31. package/dist/web/assets/{edit-diff-preview-DlwP3UIU.js → edit-diff-preview-BqcUuFCc.js} +1 -1
  32. package/dist/web/assets/{elixir-Cy3RhKKH.js → elixir-na3b1pYy.js} +1 -1
  33. package/dist/web/assets/{elm-BTBZdweK.js → elm-_Nalil1R.js} +1 -1
  34. package/dist/web/assets/{erb-dv1mI0y4.js → erb-CW_7dubf.js} +1 -1
  35. package/dist/web/assets/{erlang-DjeiDrkl.js → erlang-DmZ7Zzb0.js} +1 -1
  36. package/dist/web/assets/{esm-FRwvcesu.js → esm-CwyBetO1.js} +1 -1
  37. package/dist/web/assets/{explorer-body-DkCkSVrN.js → explorer-body-DB1L30pa.js} +2 -2
  38. package/dist/web/assets/explorer-window-content-Cwlt3C3I.js +1 -0
  39. package/dist/web/assets/{fortran-fixed-form-BCH9DAIJ.js → fortran-fixed-form-DB2A8L4-.js} +1 -1
  40. package/dist/web/assets/{fsharp-C93NYKYD.js → fsharp-BYHrti7z.js} +1 -1
  41. package/dist/web/assets/{gdresource-BcIEE2eX.js → gdresource-D5GBin40.js} +1 -1
  42. package/dist/web/assets/{git-commit-BVjlXEy8.js → git-commit-CUiOBoIL.js} +1 -1
  43. package/dist/web/assets/{git-log-panel-2_4HuP47.js → git-log-panel-C1QDkmgl.js} +1 -1
  44. package/dist/web/assets/{git-rebase-Bj_21B1V.js → git-rebase-DOxGnpdw.js} +1 -1
  45. package/dist/web/assets/gitGraph-HDMCJU4V-C1xf87gN.js +1 -0
  46. package/dist/web/assets/{glide-data-grid-B0IY6n_Q.js → glide-data-grid-Dz8lx6n2.js} +4 -4
  47. package/dist/web/assets/{glimmer-js-C20yj4Zv.js → glimmer-js-Begy4UT7.js} +1 -1
  48. package/dist/web/assets/{glimmer-ts-ipbYC7kh.js → glimmer-ts-rPApRY8N.js} +1 -1
  49. package/dist/web/assets/{glsl-Dovazu3t.js → glsl-wrbPvrBL.js} +1 -1
  50. package/dist/web/assets/{graphql-DpMlM7hC.js → graphql-Cu4-NR__.js} +1 -1
  51. package/dist/web/assets/group-chat-tab-DFwr-pig.js +1 -0
  52. package/dist/web/assets/{hack-gc7LCBuV.js → hack-Ddo93XKD.js} +1 -1
  53. package/dist/web/assets/{haml-vtlFm9gm.js → haml-BFX_1i8j.js} +1 -1
  54. package/dist/web/assets/{handlebars-DGKhpCji.js → handlebars-5gFKA4H5.js} +1 -1
  55. package/dist/web/assets/{html-DvfhQbXb.js → html-C06I-zeO.js} +1 -1
  56. package/dist/web/assets/{html-derivative-C3oTSSCN.js → html-derivative-e5JLAFZF.js} +1 -1
  57. package/dist/web/assets/{http-SG6zLTo7.js → http-CrAAhSU7.js} +1 -1
  58. package/dist/web/assets/{hurl-BWXsYlqW.js → hurl-T1V3SX9T.js} +1 -1
  59. package/dist/web/assets/{hxml-DUdMzaoh.js → hxml-B056LLKN.js} +1 -1
  60. package/dist/web/assets/{image-preview-DxgFOV1T.js → image-preview-DWyuCYT3.js} +1 -1
  61. package/dist/web/assets/index-oUKV5nIA.js +52 -0
  62. package/dist/web/assets/info-3K5VOQVL-C2z7FTDe.js +1 -0
  63. package/dist/web/assets/{jinja-955w9RKM.js → jinja-DGdtRh43.js} +1 -1
  64. package/dist/web/assets/{jison-WWfqPo50.js → jison-Ah6QobPS.js} +1 -1
  65. package/dist/web/assets/{julia-BFrfnaNl.js → julia-BJeGOK0K.js} +1 -1
  66. package/dist/web/assets/{just-BrZdyR_I.js → just-iw9oRs7j.js} +1 -1
  67. package/dist/web/assets/{latex-CwtPPASD.js → latex-DHjj5hyN.js} +1 -1
  68. package/dist/web/assets/{liquid-CYZuvDDd.js → liquid-B-FFecDc.js} +1 -1
  69. package/dist/web/assets/{lua-BV095ZyY.js → lua-DDianJp_.js} +1 -1
  70. package/dist/web/assets/{markdown-renderer-CnRcKK3d.js → markdown-renderer-BHiUhQN8.js} +3 -3
  71. package/dist/web/assets/{markdown-renderer-BTS8ifdu.js → markdown-renderer-CnE36_gd.js} +1 -1
  72. package/dist/web/assets/{marko-CNeljZ1C.js → marko-BW5SBVng.js} +1 -1
  73. package/dist/web/assets/{mdc-JfGapShy.js → mdc-B9gL9bjl.js} +1 -1
  74. package/dist/web/assets/mobile-explorer-sheet-BzjlS1Xn.js +1 -0
  75. package/dist/web/assets/{nextflow-DD5C8nqX.js → nextflow-dTluY6qy.js} +1 -1
  76. package/dist/web/assets/{nginx-Ca7B__x_.js → nginx-DlwghGI-.js} +1 -1
  77. package/dist/web/assets/{nim-B8FogsDw.js → nim-N9jddb5D.js} +1 -1
  78. package/dist/web/assets/{notification-store-Yvy1I8gd.js → notification-store-C7UBqxYP.js} +1 -1
  79. package/dist/web/assets/{number-overlay-editor-DG9xJwEG.js → number-overlay-editor-BVXM7aAs.js} +1 -1
  80. package/dist/web/assets/{overview-panel-s53bnl0q.js → overview-panel-DCCDmtCQ.js} +1 -1
  81. package/dist/web/assets/packet-RMMSAZCW-DQUxN0wU.js +1 -0
  82. package/dist/web/assets/{perl-BR78hS8R.js → perl-CkmpYKa_.js} +1 -1
  83. package/dist/web/assets/{php-DXBOMC9z.js → php-BwZ3KDPo.js} +1 -1
  84. package/dist/web/assets/pie-UPGHQEXC-BOr9ek4Q.js +1 -0
  85. package/dist/web/assets/{postgres-viewer-BvoWSuoZ.js → postgres-viewer--CRN1fvO.js} +3 -3
  86. package/dist/web/assets/{process-table-BYwKigiD.js → process-table-CXC10GSy.js} +1 -1
  87. package/dist/web/assets/{pug-CvTwVVKV.js → pug-B3rBPqQo.js} +1 -1
  88. package/dist/web/assets/{qml-CPSoZ1-B.js → qml-BfDbWFmg.js} +1 -1
  89. package/dist/web/assets/radar-KQ55EAFF-DSErxZFb.js +1 -0
  90. package/dist/web/assets/{razor-BUA1YKtF.js → razor-B1ww1r38.js} +1 -1
  91. package/dist/web/assets/{rst-BJsq7ISz.js → rst-C0MSq6m-.js} +1 -1
  92. package/dist/web/assets/{ruby-DSDMeYf5.js → ruby-ClIZ1wb3.js} +1 -1
  93. package/dist/web/assets/{sas-B1nJOjbN.js → sas-DR0j3o4_.js} +1 -1
  94. package/dist/web/assets/{scss-BZFyRiQn.js → scss-Vh3JLayR.js} +1 -1
  95. package/dist/web/assets/{settings-store-GV5pkkke.js → settings-store-OLJE7dPH.js} +2 -2
  96. package/dist/web/assets/{settings-tab-BePvIcjd.js → settings-tab-B1rvHFc6.js} +1 -1
  97. package/dist/web/assets/settings-tab-BUlmPJ2w.js +1 -0
  98. package/dist/web/assets/{shaderlab-laINRXBo.js → shaderlab-0rHRnQ18.js} +1 -1
  99. package/dist/web/assets/{shellsession-BpOOvWVR.js → shellsession-Dxdw6D8c.js} +1 -1
  100. package/dist/web/assets/{soy-BW4d91Sa.js → soy-BHlSNj1y.js} +1 -1
  101. package/dist/web/assets/{sparql-BsvvyoHn.js → sparql-B2QaPpni.js} +1 -1
  102. package/dist/web/assets/{sql-query-editor-qQce5QJ6.js → sql-query-editor-R_iKjPP9.js} +1 -1
  103. package/dist/web/assets/{sqlite-viewer-yhc0YNvu.js → sqlite-viewer-b2onA0SP.js} +1 -1
  104. package/dist/web/assets/{stata-K-dZInUt.js → stata-CwIxjsEJ.js} +1 -1
  105. package/dist/web/assets/{surrealql-CpNp2sgf.js → surrealql-C6vo-rp-.js} +1 -1
  106. package/dist/web/assets/{svelte-BG6iBA8R.js → svelte-LLdJ6rlH.js} +1 -1
  107. package/dist/web/assets/system-monitor-body-DPYQlBEt.js +2 -0
  108. package/dist/web/assets/system-monitor-tab-CPQdWv27.js +1 -0
  109. package/dist/web/assets/{system-monitor-window-content-CaOhD0AU.js → system-monitor-window-content-BPif0azo.js} +1 -1
  110. package/dist/web/assets/tab-host-window-content-BnAN6m4K.js +1 -0
  111. package/dist/web/assets/team-member-sheet-Bu2wG1sm.js +2 -0
  112. package/dist/web/assets/{team-member-window-content-B1jkKkDi.js → team-member-window-content-BSyU-5Uc.js} +1 -1
  113. package/dist/web/assets/{templ-gxNKXmt3.js → templ-CJGvhEP5.js} +1 -1
  114. package/dist/web/assets/{terminal-tab-UvwM0sty.js → terminal-tab-Ncor0Rfu.js} +3 -3
  115. package/dist/web/assets/{tex-C0ON27g5.js → tex-psXWhc4t.js} +1 -1
  116. package/dist/web/assets/{tool-cards-jB7GT-wj.js → tool-cards-DdVP1wrD.js} +3 -3
  117. package/dist/web/assets/treemap-KZPCXAKY-C17p0LQw.js +1 -0
  118. package/dist/web/assets/{ts-tags-BX_CTVgQ.js → ts-tags-D5Ar_ZCO.js} +1 -1
  119. package/dist/web/assets/{twig-CwL7XnU0.js → twig-vJgGC-qY.js} +1 -1
  120. package/dist/web/assets/use-monaco-theme-BshnLXoY.js +1 -0
  121. package/dist/web/assets/{use-open-team-member-1hRsHLKg.js → use-open-team-member-CY3wOdWL.js} +1 -1
  122. package/dist/web/assets/{use-websocket-rxJLbFqy.js → use-websocket-B7xjNsyD.js} +1 -1
  123. package/dist/web/assets/{vendor-mermaid-CHTa6D69.js → vendor-mermaid-999ksD45.js} +1 -1
  124. package/dist/web/assets/{video-preview-DMhnf2Gi.js → video-preview-7F72sRwf.js} +1 -1
  125. package/dist/web/assets/{vue-Bykm6wSS.js → vue-BWngFyav.js} +1 -1
  126. package/dist/web/assets/{vue-html-CETdK_iV.js → vue-html-BN5ZLu-H.js} +1 -1
  127. package/dist/web/assets/{vue-vine-DiJb6fO5.js → vue-vine-BZHnO8yV.js} +1 -1
  128. package/dist/web/assets/window-pip-registry-BnYU83LE.js +1 -0
  129. package/dist/web/assets/{xml-BNw8J5YW.js → xml-DS2beZHp.js} +1 -1
  130. package/dist/web/assets/{xsl-CsG9L31b.js → xsl-Ciiku1Bq.js} +1 -1
  131. package/dist/web/index.html +19 -18
  132. package/dist/web/sw.js +1 -1
  133. package/docs/architecture/workspace-and-ui.md +8 -0
  134. package/docs/design-guidelines.md +3 -2
  135. package/package.json +1 -1
  136. package/src/services/edge-forwarder.ts +191 -191
  137. package/src/services/windows-process-tree.ts +351 -351
  138. package/src/web/components/floating-window/floating-window.tsx +8 -1
  139. package/src/web/components/floating-window/open-tab-in-pip.ts +78 -0
  140. package/src/web/components/floating-window/window-pip-registry.ts +46 -0
  141. package/src/web/components/layout/tab-pop-out-menu-item.tsx +25 -2
  142. package/dist/web/assets/architecture-PBZL5I3N-BzFm9ELu.js +0 -1
  143. package/dist/web/assets/chat-tab-DzK8LGti.js +0 -15
  144. package/dist/web/assets/code-editor-CuMfPN9X.js +0 -10
  145. package/dist/web/assets/diff-viewer-eaUBjLCH.js +0 -4
  146. package/dist/web/assets/explorer-window-content-MsnTVngu.js +0 -1
  147. package/dist/web/assets/gitGraph-HDMCJU4V-B72vcb2r.js +0 -1
  148. package/dist/web/assets/group-chat-tab-DRLDHOp6.js +0 -1
  149. package/dist/web/assets/index-CBn4SOoT.js +0 -52
  150. package/dist/web/assets/info-3K5VOQVL-3irPxRK_.js +0 -1
  151. package/dist/web/assets/mobile-explorer-sheet-BqK2-WuN.js +0 -1
  152. package/dist/web/assets/packet-RMMSAZCW-Z5jWjFCV.js +0 -1
  153. package/dist/web/assets/pie-UPGHQEXC-Bq7UMi8P.js +0 -1
  154. package/dist/web/assets/radar-KQ55EAFF-BLo4BOTD.js +0 -1
  155. package/dist/web/assets/settings-tab-Br-lJSPa.js +0 -1
  156. package/dist/web/assets/system-monitor-body-D8Z5QXBB.js +0 -2
  157. package/dist/web/assets/system-monitor-tab-BclYXFTe.js +0 -1
  158. package/dist/web/assets/tab-host-window-content-f_Rc5rJK.js +0 -1
  159. package/dist/web/assets/team-member-sheet-QDHoYCs0.js +0 -2
  160. package/dist/web/assets/treemap-KZPCXAKY-dyrE6SW2.js +0 -1
  161. package/dist/web/assets/use-monaco-theme--9tOOkDA.js +0 -1
  162. package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
  163. package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
  164. package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
  165. package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
  166. /package/dist/web/assets/{abap-DGlrX_8G.js → abap-CjzrhAS2.js} +0 -0
  167. /package/dist/web/assets/{actionscript-3-CUqRtUJE.js → actionscript-3-B59Kbl-9.js} +0 -0
  168. /package/dist/web/assets/{ada-CY3Spa33.js → ada-B7gItKAE.js} +0 -0
  169. /package/dist/web/assets/{andromeeda-Lxs2TJn7.js → andromeeda-Dy5zcy0Q.js} +0 -0
  170. /package/dist/web/assets/{apache-DfxgGdgM.js → apache-B6T9jrc0.js} +0 -0
  171. /package/dist/web/assets/{apex-QVDF1dnI.js → apex-CTsIxDQw.js} +0 -0
  172. /package/dist/web/assets/{api-settings-BdCtex9i.js → api-settings-B2iNXQ0c.js} +0 -0
  173. /package/dist/web/assets/{api-themes-pRRoLvgD.js → api-themes-DrWnJbhs.js} +0 -0
  174. /package/dist/web/assets/{applescript-pwJ8QXh-.js → applescript-DuycKmmb.js} +0 -0
  175. /package/dist/web/assets/{apply-theme-B_bMVL6a.js → apply-theme-r8tKDrCR.js} +0 -0
  176. /package/dist/web/assets/{ara-mPjeX5YX.js → ara-CISL3599.js} +0 -0
  177. /package/dist/web/assets/{asciidoc-Bf7LsDkI.js → asciidoc-BXyE2Lpr.js} +0 -0
  178. /package/dist/web/assets/{asm-rRKC1OUx.js → asm-y258phtP.js} +0 -0
  179. /package/dist/web/assets/{aurora-x-DwQr0DkG.js → aurora-x-Dq3Jc78M.js} +0 -0
  180. /package/dist/web/assets/{awk-Bpt768fN.js → awk-DxL6XSJv.js} +0 -0
  181. /package/dist/web/assets/{ayu-dark-D9lwQHMs.js → ayu-dark-DjoK6Evo.js} +0 -0
  182. /package/dist/web/assets/{ayu-light-B4-ptrU5.js → ayu-light-CKKXBLMI.js} +0 -0
  183. /package/dist/web/assets/{ayu-mirage-DAyRzH5Q.js → ayu-mirage-DGXSrrXB.js} +0 -0
  184. /package/dist/web/assets/{ballerina-Cgdpj1HC.js → ballerina-DZSXFmUf.js} +0 -0
  185. /package/dist/web/assets/{bat-4FrN36S2.js → bat-BNsZk6nY.js} +0 -0
  186. /package/dist/web/assets/{beancount-DkcxQER3.js → beancount-cPl4gJct.js} +0 -0
  187. /package/dist/web/assets/{berry-Dnuut-Ml.js → berry-DGAodERk.js} +0 -0
  188. /package/dist/web/assets/{bibtex-CCDwmbuA.js → bibtex-DftVoRif.js} +0 -0
  189. /package/dist/web/assets/{bicep-BC0ryoGM.js → bicep-Suioyyzh.js} +0 -0
  190. /package/dist/web/assets/{bird2-C50V_A-0.js → bird2-DjU24I2P.js} +0 -0
  191. /package/dist/web/assets/{button-2WCAS8dI.js → button-tNy0ba3y.js} +0 -0
  192. /package/dist/web/assets/{c-Ddorhq0U.js → c-DFi8Y_nN.js} +0 -0
  193. /package/dist/web/assets/{c3-DdIf5r9E.js → c3-1eSHnH5V.js} +0 -0
  194. /package/dist/web/assets/{cadence-s9pd1Wng.js → cadence-DLLsFwQP.js} +0 -0
  195. /package/dist/web/assets/{can-open-in-ppm-C6hZV1OP.js → can-open-in-ppm-in727eFQ.js} +0 -0
  196. /package/dist/web/assets/{catppuccin-frappe-CzJNTyu-.js → catppuccin-frappe-DDj0JEiY.js} +0 -0
  197. /package/dist/web/assets/{catppuccin-latte-BNpt-m7s.js → catppuccin-latte-DPyANHyR.js} +0 -0
  198. /package/dist/web/assets/{catppuccin-macchiato-FYGkfsJ5.js → catppuccin-macchiato-CO-h8VTT.js} +0 -0
  199. /package/dist/web/assets/{catppuccin-mocha-it2g5D1q.js → catppuccin-mocha-BCmbN2IZ.js} +0 -0
  200. /package/dist/web/assets/{clarity-BVFBTjMe.js → clarity-C0pYsZjs.js} +0 -0
  201. /package/dist/web/assets/{clipboard-BWznymz7.js → clipboard-DBLGKMrH.js} +0 -0
  202. /package/dist/web/assets/{clojure-BSYvXMI8.js → clojure-JFr6s8iZ.js} +0 -0
  203. /package/dist/web/assets/{cmake-DGEqH-Np.js → cmake-EEcLEgVy.js} +0 -0
  204. /package/dist/web/assets/{codeowners-D8FCOxWg.js → codeowners-Deh3Lx0u.js} +0 -0
  205. /package/dist/web/assets/{codeql-COV0eluG.js → codeql-C317igT5.js} +0 -0
  206. /package/dist/web/assets/{common-lisp-xHnZUlgt.js → common-lisp-DepbATZs.js} +0 -0
  207. /package/dist/web/assets/{coq-Cs_2i3Xg.js → coq-MxgxU5ya.js} +0 -0
  208. /package/dist/web/assets/{csharp-B1ONB4PT.js → csharp-eEFXdsAq.js} +0 -0
  209. /package/dist/web/assets/{css-BgGQbvrZ.js → css-Db-syWW9.js} +0 -0
  210. /package/dist/web/assets/{csv-CNHmQBzs.js → csv-DHeYcbaq.js} +0 -0
  211. /package/dist/web/assets/{csv-parser-DWR24J17.js → csv-parser-_JWMLGl3.js} +0 -0
  212. /package/dist/web/assets/{cue-ZXAKzwIy.js → cue-BmUNowrt.js} +0 -0
  213. /package/dist/web/assets/{cypher-4PL5bmT5.js → cypher-XjXHgCNS.js} +0 -0
  214. /package/dist/web/assets/{d-CEsV3RT2.js → d-BWJnZtig.js} +0 -0
  215. /package/dist/web/assets/{dark-plus-NtFnYSDz.js → dark-plus-Db7umas1.js} +0 -0
  216. /package/dist/web/assets/{dart-CKHn4mDf.js → dart-DSI4HYh1.js} +0 -0
  217. /package/dist/web/assets/{data-grid-types-CxU8oo-j.js → data-grid-types-CfVHh9gv.js} +0 -0
  218. /package/dist/web/assets/{dax-Cmkj1I_M.js → dax-yw1JsAni.js} +0 -0
  219. /package/dist/web/assets/{desktop-DJLalvPQ.js → desktop-C2QO4RvD.js} +0 -0
  220. /package/dist/web/assets/{diff-BnS2wpj6.js → diff-Drt8aEyp.js} +0 -0
  221. /package/dist/web/assets/{dist-uYjs3Wv6.js → dist-DNRvhVdz.js} +0 -0
  222. /package/dist/web/assets/{dist-CuIdRyUB.js → dist-VBxOHLmN.js} +0 -0
  223. /package/dist/web/assets/{docker-CovNy7ml.js → docker-ByDKbmLl.js} +0 -0
  224. /package/dist/web/assets/{docx-preview-DAdHPlhZ.js → docx-preview-DfaQn9v7.js} +0 -0
  225. /package/dist/web/assets/{dotenv-Gh4w3I6B.js → dotenv-BkfOLytR.js} +0 -0
  226. /package/dist/web/assets/{dracula-NF0tAHXl.js → dracula-DAmrm-Un.js} +0 -0
  227. /package/dist/web/assets/{dracula-soft-Cj_qBurK.js → dracula-soft-BUOEnKqR.js} +0 -0
  228. /package/dist/web/assets/{dream-maker-CRuZPcl7.js → dream-maker-DQBIfSiO.js} +0 -0
  229. /package/dist/web/assets/{emacs-lisp-BACmC9qj.js → emacs-lisp-Blh5kBD3.js} +0 -0
  230. /package/dist/web/assets/{everforest-dark-Dd9av4QG.js → everforest-dark-CEzhDxHq.js} +0 -0
  231. /package/dist/web/assets/{everforest-light-C-jsss-B.js → everforest-light-CPk_5Khm.js} +0 -0
  232. /package/dist/web/assets/{extension-webview-W0qRfaAU.js → extension-webview-BW_mccb3.js} +0 -0
  233. /package/dist/web/assets/{fennel-BJA9XnL8.js → fennel-B1MT_EBZ.js} +0 -0
  234. /package/dist/web/assets/{fish-CKlhNSc2.js → fish-C_HGcewt.js} +0 -0
  235. /package/dist/web/assets/{fluent-wfglRk5D.js → fluent-Dp1Iclmx.js} +0 -0
  236. /package/dist/web/assets/{format-bytes-utwHMTry.js → format-bytes-53WBtyi2.js} +0 -0
  237. /package/dist/web/assets/{fortran-free-form-BlXCdid3.js → fortran-free-form-B_-UA4XC.js} +0 -0
  238. /package/dist/web/assets/{gdscript-BwAVG6Et.js → gdscript-Bm_JpjS_.js} +0 -0
  239. /package/dist/web/assets/{gdshader-DPc_T7ib.js → gdshader-C_PNmfYU.js} +0 -0
  240. /package/dist/web/assets/{genie-B-zZSLCX.js → genie-B5rmR2TF.js} +0 -0
  241. /package/dist/web/assets/{gherkin-CJ0ajpGs.js → gherkin-BTJ34TJ9.js} +0 -0
  242. /package/dist/web/assets/{github-dark-Dz8ZkzSP.js → github-dark-DOkNVj9H.js} +0 -0
  243. /package/dist/web/assets/{github-dark-default-CNUYo_kp.js → github-dark-default-DTsmiyVo.js} +0 -0
  244. /package/dist/web/assets/{github-dark-dimmed-241z_Ycx.js → github-dark-dimmed-CjbxAe9s.js} +0 -0
  245. /package/dist/web/assets/{github-dark-high-contrast-7r6yZZYH.js → github-dark-high-contrast-r_M8F_k7.js} +0 -0
  246. /package/dist/web/assets/{github-light-C8gmZn-D.js → github-light-BzfxyMyb.js} +0 -0
  247. /package/dist/web/assets/{github-light-default-GAEgq1eA.js → github-light-default-BOqiBIy5.js} +0 -0
  248. /package/dist/web/assets/{github-light-high-contrast-3z91352E.js → github-light-high-contrast-DQzBrDM4.js} +0 -0
  249. /package/dist/web/assets/{gleam-C7vxW5zd.js → gleam-BWmuAtD8.js} +0 -0
  250. /package/dist/web/assets/{gn-CyJIXwHP.js → gn-CNQPjiZW.js} +0 -0
  251. /package/dist/web/assets/{gnuplot-CqLbGgPd.js → gnuplot-BlHjcPMe.js} +0 -0
  252. /package/dist/web/assets/{go-DdDcK9aX.js → go-Bn8Ba9uz.js} +0 -0
  253. /package/dist/web/assets/{groovy-UYHggEqH.js → groovy-C1Y1_F4V.js} +0 -0
  254. /package/dist/web/assets/{gruvbox-dark-hard-B4ierkJn.js → gruvbox-dark-hard-DueOsHav.js} +0 -0
  255. /package/dist/web/assets/{gruvbox-dark-medium-DYwkDSZ6.js → gruvbox-dark-medium-DaQjD538.js} +0 -0
  256. /package/dist/web/assets/{gruvbox-dark-soft-CVL4P-Lz.js → gruvbox-dark-soft-CbbX2WOm.js} +0 -0
  257. /package/dist/web/assets/{gruvbox-light-hard-BJ0LewUZ.js → gruvbox-light-hard-E2M70ljZ.js} +0 -0
  258. /package/dist/web/assets/{gruvbox-light-medium-CaqqjeGJ.js → gruvbox-light-medium-B_DDLY6h.js} +0 -0
  259. /package/dist/web/assets/{gruvbox-light-soft-ByKMoVNr.js → gruvbox-light-soft-2SZmyC1F.js} +0 -0
  260. /package/dist/web/assets/{haskell-BilYRVPp.js → haskell-D8DeoXtG.js} +0 -0
  261. /package/dist/web/assets/{haxe-Brs9Bj1s.js → haxe-BmZm7B0W.js} +0 -0
  262. /package/dist/web/assets/{hcl-ClrZpol-.js → hcl-CKnBM3ng.js} +0 -0
  263. /package/dist/web/assets/{hjson-9PvHnYMX.js → hjson-Ct9t4-ci.js} +0 -0
  264. /package/dist/web/assets/{hlsl-BbBk4vqV.js → hlsl-BZSASBqS.js} +0 -0
  265. /package/dist/web/assets/{horizon-E5Py0cny.js → horizon-CzX1AZ08.js} +0 -0
  266. /package/dist/web/assets/{horizon-bright-DVCsNGEk.js → horizon-bright-CCVNeRIP.js} +0 -0
  267. /package/dist/web/assets/{houston-JdFEax9Y.js → houston-DBlJN7xc.js} +0 -0
  268. /package/dist/web/assets/{hy-W_W3tLKT.js → hy-Dyc6h6Xb.js} +0 -0
  269. /package/dist/web/assets/{image-gallery-5IURd6db.js → image-gallery-DujlrjOC.js} +0 -0
  270. /package/dist/web/assets/{imba-CfAqJz7T.js → imba-Bauru7s2.js} +0 -0
  271. /package/dist/web/assets/{ini-C_3gvKWs.js → ini-SjdwtaTp.js} +0 -0
  272. /package/dist/web/assets/{input-DuAF-Stj.js → input-DouJ9Zvt.js} +0 -0
  273. /package/dist/web/assets/{java-CKqtXZ-j.js → java-D2r0ocpf.js} +0 -0
  274. /package/dist/web/assets/{javascript-C7gSEfae.js → javascript-y-lof7iP.js} +0 -0
  275. /package/dist/web/assets/{json-BoN6e11T.js → json-DO4LSx5A.js} +0 -0
  276. /package/dist/web/assets/{json5-CgE7C8HW.js → json5-BEwWf-W3.js} +0 -0
  277. /package/dist/web/assets/{jsonc-DjyoattY.js → jsonc-OBEFv7gP.js} +0 -0
  278. /package/dist/web/assets/{jsonl-lI82wGSw.js → jsonl-DOyW4Mg3.js} +0 -0
  279. /package/dist/web/assets/{jsonnet-CszEI8va.js → jsonnet-BL5R2CpP.js} +0 -0
  280. /package/dist/web/assets/{jssm-CZXDlszb.js → jssm-ksPusAyg.js} +0 -0
  281. /package/dist/web/assets/{jsx-BeRz0eEz.js → jsx-B6XEu6O-.js} +0 -0
  282. /package/dist/web/assets/{kanagawa-dragon-BOmnUiyd.js → kanagawa-dragon-JBVe_ji_.js} +0 -0
  283. /package/dist/web/assets/{kanagawa-lotus-ffU_P5w-.js → kanagawa-lotus-ChprO68_.js} +0 -0
  284. /package/dist/web/assets/{kanagawa-wave-DKTJZrMu.js → kanagawa-wave-D_uB_R0Q.js} +0 -0
  285. /package/dist/web/assets/{kdl-BWECJveH.js → kdl-pf5B8N_m.js} +0 -0
  286. /package/dist/web/assets/{kotlin-DpVwBCSt.js → kotlin-BdF0METC.js} +0 -0
  287. /package/dist/web/assets/{kusto-BgVqjUZA.js → kusto-BneVP-OU.js} +0 -0
  288. /package/dist/web/assets/{laserwave-CEVCi8em.js → laserwave-C4-UPIyG.js} +0 -0
  289. /package/dist/web/assets/{lean-CGyfRhLJ.js → lean-BN6Jdymq.js} +0 -0
  290. /package/dist/web/assets/{less-B0_H10Ku.js → less-Cx-fdlDC.js} +0 -0
  291. /package/dist/web/assets/{lib-hrC3bruJ.js → lib-CMuBa85c.js} +0 -0
  292. /package/dist/web/assets/{libesm-DVpFmwJu.js → libesm-BB74PRsH.js} +0 -0
  293. /package/dist/web/assets/{light-plus-DqzMqPID.js → light-plus-DFnnn_iL.js} +0 -0
  294. /package/dist/web/assets/{llvm-9ucnfNiF.js → llvm-BGxtW0Nw.js} +0 -0
  295. /package/dist/web/assets/{log-m6A2dOSj.js → log-kQb4eJnj.js} +0 -0
  296. /package/dist/web/assets/{logo-ByPcsC9P.js → logo-DqAzaq7s.js} +0 -0
  297. /package/dist/web/assets/{luau-DFCo8nBn.js → luau-Dc2cp-zS.js} +0 -0
  298. /package/dist/web/assets/{make-C90w3MeA.js → make-DYg9dwaJ.js} +0 -0
  299. /package/dist/web/assets/{markdown-DT0uywZG.js → markdown-O4EPpS3K.js} +0 -0
  300. /package/dist/web/assets/{material-theme-BVUO93tJ.js → material-theme-ClP8yfQ2.js} +0 -0
  301. /package/dist/web/assets/{material-theme-darker-xXgGDwnF.js → material-theme-darker-LOK55hGu.js} +0 -0
  302. /package/dist/web/assets/{material-theme-lighter-BjStPzWB.js → material-theme-lighter-j72tzZqi.js} +0 -0
  303. /package/dist/web/assets/{material-theme-ocean-wFmSiKjy.js → material-theme-ocean-C19LKClA.js} +0 -0
  304. /package/dist/web/assets/{material-theme-palenight-e-0CtRoe.js → material-theme-palenight-DJ5tN2ax.js} +0 -0
  305. /package/dist/web/assets/{matlab-BNaNQAUH.js → matlab-DQNZ_NU8.js} +0 -0
  306. /package/dist/web/assets/{mdx-DfpVWAqO.js → mdx-CJayB7XK.js} +0 -0
  307. /package/dist/web/assets/{media-url-Bm4PsduE.js → media-url-DUK-k0bB.js} +0 -0
  308. /package/dist/web/assets/{mermaid-Bpq7wFCP.js → mermaid-Cb0TRX92.js} +0 -0
  309. /package/dist/web/assets/{min-dark-CL2Y0WH6.js → min-dark-CWM8Bo-m.js} +0 -0
  310. /package/dist/web/assets/{min-light-DOgr_IdP.js → min-light-BBR1sjS2.js} +0 -0
  311. /package/dist/web/assets/{mipsasm-C9ie2zlB.js → mipsasm-Jc7u7YSS.js} +0 -0
  312. /package/dist/web/assets/{mobile-bottom-sheet-M5iZDX7y.js → mobile-bottom-sheet-CJ7ApOkI.js} +0 -0
  313. /package/dist/web/assets/{mojo-Md2A2sJy.js → mojo-CTB0cutd.js} +0 -0
  314. /package/dist/web/assets/{monokai-nbXIEySB.js → monokai-CvM_YNKx.js} +0 -0
  315. /package/dist/web/assets/{moonbit-CJ-T-s4A.js → moonbit-CbFEfYYM.js} +0 -0
  316. /package/dist/web/assets/{move-DwEehLIK.js → move-BT38p0kT.js} +0 -0
  317. /package/dist/web/assets/{narrat-CuF4sIKr.js → narrat-55QZ_kOG.js} +0 -0
  318. /package/dist/web/assets/{nextflow-groovy-1dYhfPfq.js → nextflow-groovy-Bg8peyqg.js} +0 -0
  319. /package/dist/web/assets/{night-owl-gZS5mfzY.js → night-owl-DzS77iPK.js} +0 -0
  320. /package/dist/web/assets/{night-owl-light-DDAster5.js → night-owl-light-DER7fGnx.js} +0 -0
  321. /package/dist/web/assets/{nix-BlbEYs2c.js → nix-BSI8YesN.js} +0 -0
  322. /package/dist/web/assets/{nord-BRiPb8Vy.js → nord-9bn7iNWo.js} +0 -0
  323. /package/dist/web/assets/{nushell-DgWicB1i.js → nushell-qDVZn_lw.js} +0 -0
  324. /package/dist/web/assets/{objective-c-D8mPZ42Y.js → objective-c-Blf-ATos.js} +0 -0
  325. /package/dist/web/assets/{objective-cpp-B0pNXzuj.js → objective-cpp-Bz8bAq47.js} +0 -0
  326. /package/dist/web/assets/{ocaml-lQd7aK5d.js → ocaml-B9heAsc3.js} +0 -0
  327. /package/dist/web/assets/{odin-CxtIOBjm.js → odin-BaFYnOwO.js} +0 -0
  328. /package/dist/web/assets/{one-dark-pro-T_UFnWfe.js → one-dark-pro-D6B_hSe-.js} +0 -0
  329. /package/dist/web/assets/{one-light-LBVqwyV-.js → one-light-Ba-f0wyk.js} +0 -0
  330. /package/dist/web/assets/{openscad-C5dnS6J7.js → openscad-UvYyL2MK.js} +0 -0
  331. /package/dist/web/assets/{pascal-CmWCWQML.js → pascal-B4-qvEoG.js} +0 -0
  332. /package/dist/web/assets/{pdf-preview-DYt3aBzM.js → pdf-preview-D7yLmAZW.js} +0 -0
  333. /package/dist/web/assets/{pkl-BWWOtDQk.js → pkl-B146nqGx.js} +0 -0
  334. /package/dist/web/assets/{plastic-ekhupckF.js → plastic-L38t-Id3.js} +0 -0
  335. /package/dist/web/assets/{plsql-BPsDHXx4.js → plsql-ItOG5Cca.js} +0 -0
  336. /package/dist/web/assets/{po-BX2FiuW2.js → po-imiCTaNX.js} +0 -0
  337. /package/dist/web/assets/{poimandres-DzXOdZcN.js → poimandres-Bu6sIba9.js} +0 -0
  338. /package/dist/web/assets/{polar-DDRXgJzG.js → polar-CTeGoFxV.js} +0 -0
  339. /package/dist/web/assets/{postcss-BHW6XBhx.js → postcss-jvFe6GNE.js} +0 -0
  340. /package/dist/web/assets/{powerquery-B89c2NBb.js → powerquery-D9Dw1hJp.js} +0 -0
  341. /package/dist/web/assets/{powershell-Dvxrd3Tu.js → powershell-CZqvYQtg.js} +0 -0
  342. /package/dist/web/assets/{prisma-lMK8EFLU.js → prisma-B4D2nO_7.js} +0 -0
  343. /package/dist/web/assets/{prolog-D0YrtMG4.js → prolog-CQbyUcCF.js} +0 -0
  344. /package/dist/web/assets/{proto-J0mM25aw.js → proto-Cwpo0cW1.js} +0 -0
  345. /package/dist/web/assets/{puppet-CUT0xkhh.js → puppet-CKxCwBod.js} +0 -0
  346. /package/dist/web/assets/{purescript-CoJWSGRp.js → purescript-B-MyXMMp.js} +0 -0
  347. /package/dist/web/assets/{python-BBrmuz6P.js → python-D6QbSR2S.js} +0 -0
  348. /package/dist/web/assets/{qmldir-CUtzs4Q7.js → qmldir-BpTSVcw_.js} +0 -0
  349. /package/dist/web/assets/{qss-Dm1RZ8aL.js → qss-DBc4gbpe.js} +0 -0
  350. /package/dist/web/assets/{r-BGP7qZTe.js → r-i9jMMi0s.js} +0 -0
  351. /package/dist/web/assets/{racket-K_6U1lqJ.js → racket-BWNaxU7C.js} +0 -0
  352. /package/dist/web/assets/{raku-bNSiZeW_.js → raku-fqTZLn7L.js} +0 -0
  353. /package/dist/web/assets/{red-uVeIEF0f.js → red-D-JEcuzA.js} +0 -0
  354. /package/dist/web/assets/{reg-DSm9GWjh.js → reg-BbirlU1S.js} +0 -0
  355. /package/dist/web/assets/{regexp-CljRm_j_.js → regexp-D8VTFrtg.js} +0 -0
  356. /package/dist/web/assets/{rel-d3JcopZg.js → rel-ByQGKiNM.js} +0 -0
  357. /package/dist/web/assets/{resolve-theme-DLKmm-lE.js → resolve-theme-Cqb9zWYc.js} +0 -0
  358. /package/dist/web/assets/{riscv-CJmaELjT.js → riscv-B5nqCfLE.js} +0 -0
  359. /package/dist/web/assets/{ron-D0g9B1rW.js → ron-DOVh_iZR.js} +0 -0
  360. /package/dist/web/assets/{rose-pine-dawn-CzZQ-LCF.js → rose-pine-dawn-B7hkmmWy.js} +0 -0
  361. /package/dist/web/assets/{rose-pine-DOrD2BSH.js → rose-pine-jp51ZUzi.js} +0 -0
  362. /package/dist/web/assets/{rose-pine-moon-CdmsYp7C.js → rose-pine-moon-Ff063yLj.js} +0 -0
  363. /package/dist/web/assets/{rosmsg-CmDth6pO.js → rosmsg-Cyk7Il8z.js} +0 -0
  364. /package/dist/web/assets/{run-in-terminal-C9xpskFn.js → run-in-terminal-4efbW2Xv.js} +0 -0
  365. /package/dist/web/assets/{rust-DGdP6jiR.js → rust-DRNM5epF.js} +0 -0
  366. /package/dist/web/assets/{sass-Dkgt2FKZ.js → sass-D_cB0-M1.js} +0 -0
  367. /package/dist/web/assets/{scala-BQLTON6C.js → scala-Crl-1kKS.js} +0 -0
  368. /package/dist/web/assets/{scheme-DKlxUGCi.js → scheme-DCaWyEJ0.js} +0 -0
  369. /package/dist/web/assets/{scroll-area-DBcG1fQo.js → scroll-area-ZP8wcwTI.js} +0 -0
  370. /package/dist/web/assets/{sdbl-C3iZJQeZ.js → sdbl-BbXNqwtX.js} +0 -0
  371. /package/dist/web/assets/{send-to-chat-BIg70MUZ.js → send-to-chat-BNrEpAyC.js} +0 -0
  372. /package/dist/web/assets/{shallow-jwPzEunk.js → shallow-4zAfs2KW.js} +0 -0
  373. /package/dist/web/assets/{shellscript-BRu-ZQAx.js → shellscript-BAgksBhW.js} +0 -0
  374. /package/dist/web/assets/{slack-dark-qkm_u2zz.js → slack-dark-GB-ElUW_.js} +0 -0
  375. /package/dist/web/assets/{slack-ochin-BP8_8e4m.js → slack-ochin-tU6CFD3S.js} +0 -0
  376. /package/dist/web/assets/{smalltalk-Bnz4gt07.js → smalltalk-DSVGUbtL.js} +0 -0
  377. /package/dist/web/assets/{snazzy-light-fbPZg5io.js → snazzy-light-DZhi3PoS.js} +0 -0
  378. /package/dist/web/assets/{solarized-dark-CM0vTRoi.js → solarized-dark-D6AMCco7.js} +0 -0
  379. /package/dist/web/assets/{solarized-light-C4_W9mvs.js → solarized-light-DepuTWSE.js} +0 -0
  380. /package/dist/web/assets/{solidity-Bz6v1PoD.js → solidity-CsxN618l.js} +0 -0
  381. /package/dist/web/assets/{splunk-DyNxu-0i.js → splunk-CF1m0Kkv.js} +0 -0
  382. /package/dist/web/assets/{sql-DXRL1gw1.js → sql-DvyMDgrB.js} +0 -0
  383. /package/dist/web/assets/{ssh-config-2z1QHuOG.js → ssh-config-a8sDo-Q8.js} +0 -0
  384. /package/dist/web/assets/{stylus-D4I-VaeY.js → stylus-DCJ-6AjT.js} +0 -0
  385. /package/dist/web/assets/{swift-C_2G-tIc.js → swift-c-ZFxyPP.js} +0 -0
  386. /package/dist/web/assets/{switch-_NcrktLe.js → switch-DV-BDjyk.js} +0 -0
  387. /package/dist/web/assets/{synthwave-84-osBjChRP.js → synthwave-84-9NPgBcuv.js} +0 -0
  388. /package/dist/web/assets/{system-verilog-zQP2qPNU.js → system-verilog-DPD02IOo.js} +0 -0
  389. /package/dist/web/assets/{systemd-UGfjRSBM.js → systemd-BUr5HRtU.js} +0 -0
  390. /package/dist/web/assets/{talonscript-C1XrFPwo.js → talonscript-BNBQV5YJ.js} +0 -0
  391. /package/dist/web/assets/{tasl-B5raVn43.js → tasl-BETjpSyu.js} +0 -0
  392. /package/dist/web/assets/{tcl-3-vbeMIc.js → tcl-Clp_AZiC.js} +0 -0
  393. /package/dist/web/assets/{terraform-a8VXZDm9.js → terraform-B0kZ0lim.js} +0 -0
  394. /package/dist/web/assets/{tokyo-night-4SRhf-Hz.js → tokyo-night-oOJ0a7Dk.js} +0 -0
  395. /package/dist/web/assets/{toml-B4N0i8wT.js → toml-DOPCSumy.js} +0 -0
  396. /package/dist/web/assets/{tsv-DA5k9Lvw.js → tsv-D6qUGf84.js} +0 -0
  397. /package/dist/web/assets/{tsx-D9SZ8owC.js → tsx-B6qYhT6O.js} +0 -0
  398. /package/dist/web/assets/{turtle-BTHTvyY_.js → turtle-C0Rjzw73.js} +0 -0
  399. /package/dist/web/assets/{typescript-DYzV9p5L.js → typescript-BiydShEu.js} +0 -0
  400. /package/dist/web/assets/{typespec-BC15eh7F.js → typespec-DjmF6Aww.js} +0 -0
  401. /package/dist/web/assets/{typst-BJUqzA6D.js → typst-CPuscfcL.js} +0 -0
  402. /package/dist/web/assets/{use-blob-url-DcRcjNTE.js → use-blob-url-BOVGWg9F.js} +0 -0
  403. /package/dist/web/assets/{use-is-mobile-DFWViA4S.js → use-is-mobile-b94q8RvF.js} +0 -0
  404. /package/dist/web/assets/{v-50Lps6oA.js → v-DE4vpLLQ.js} +0 -0
  405. /package/dist/web/assets/{vala-8wiUvvrD.js → vala-CmUF2pS5.js} +0 -0
  406. /package/dist/web/assets/{vb-BlgPLt6B.js → vb-BvcRoX4b.js} +0 -0
  407. /package/dist/web/assets/{vendor-xterm-BZOrwF_F.js → vendor-xterm-K8kpLxdb.js} +0 -0
  408. /package/dist/web/assets/{verilog-CD9pVW5p.js → verilog-BGIzyH3R.js} +0 -0
  409. /package/dist/web/assets/{vesper-BrivW4PT.js → vesper-CG7IrHQQ.js} +0 -0
  410. /package/dist/web/assets/{vhdl-Bunxfa7N.js → vhdl-DMSumomw.js} +0 -0
  411. /package/dist/web/assets/{viml-DndUb2qM.js → viml-Drt7AEmU.js} +0 -0
  412. /package/dist/web/assets/{vitesse-black-BurZSkxW.js → vitesse-black-DmsjfN0b.js} +0 -0
  413. /package/dist/web/assets/{vitesse-dark-8UShspzC.js → vitesse-dark-Dl55_WeJ.js} +0 -0
  414. /package/dist/web/assets/{vitesse-light-DghCAZ90.js → vitesse-light-Crbv9aGg.js} +0 -0
  415. /package/dist/web/assets/{vyper-b-Clr-8u.js → vyper-CB7psEJj.js} +0 -0
  416. /package/dist/web/assets/{wasm-C5v2T06Y.js → wasm-BY1tuM5m.js} +0 -0
  417. /package/dist/web/assets/{wasm-CpcKStkw.js → wasm-Dck8KPgP.js} +0 -0
  418. /package/dist/web/assets/{wenyan-Dz2srLZR.js → wenyan-DhewQ68b.js} +0 -0
  419. /package/dist/web/assets/{wgsl-CeD1-dRb.js → wgsl-DlmiP456.js} +0 -0
  420. /package/dist/web/assets/{wikitext-CyeS-9FH.js → wikitext-cQCnqNgE.js} +0 -0
  421. /package/dist/web/assets/{wit-Kr-q-qBQ.js → wit-S5MaCngB.js} +0 -0
  422. /package/dist/web/assets/{wolfram-BKm8bmln.js → wolfram-Bh8n_9zr.js} +0 -0
  423. /package/dist/web/assets/{yaml-2XSxomjM.js → yaml-BoK_17l9.js} +0 -0
  424. /package/dist/web/assets/{zenscript-CKIS34vf.js → zenscript-DB3ZFwNJ.js} +0 -0
  425. /package/dist/web/assets/{zig-DdHGNllX.js → zig-Bv1BWmfT.js} +0 -0
@@ -19,6 +19,7 @@ import { PortalContainerProvider } from "@/components/ui/portal-container-contex
19
19
  import { TITLEBAR_HEIGHT } from "./window-chrome-contract";
20
20
  import { useWindowBodyElement } from "./use-window-body-element";
21
21
  import { WindowPipPlaceholder } from "./window-pip-placeholder";
22
+ import { isPipOnlyWindow } from "./window-pip-registry";
22
23
  import { WindowSkinChrome } from "./window-skin-chrome";
23
24
  import { windowZIndex, type Bounds, type Rect } from "./window-geometry";
24
25
  import { useWindowStore, type WindowRuntimeState } from "./window-store";
@@ -120,6 +121,8 @@ export function FloatingWindow({
120
121
  movable: !maximized,
121
122
  });
122
123
 
124
+ const hiddenHost = Boolean(pip) && isPipOnlyWindow(win.id);
125
+
123
126
  return (
124
127
  <div
125
128
  ref={rootRef}
@@ -135,6 +138,10 @@ export function FloatingWindow({
135
138
  focused ? "shadow-2xl shadow-black/40" : "shadow-lg shadow-black/20",
136
139
  // Transitions are for maximize/restore only; during a gesture they would lag the pointer.
137
140
  gesturing ? "transition-none" : "transition-[transform,width,height] duration-150 motion-reduce:transition-none",
141
+ // A window opened only to carry a tab into PiP is never shown: the user asked for a
142
+ // PiP, not a window. `hidden` and not an unmount — the body must stay connected, or
143
+ // the PiP host has nowhere to put the tab back.
144
+ hiddenHost && "hidden",
138
145
  )}
139
146
  >
140
147
  <WindowSkinChrome
@@ -158,7 +165,7 @@ export function FloatingWindow({
158
165
  onClose={close}
159
166
  />
160
167
 
161
- {pip && <WindowPipPlaceholder pip={pip} minimized={minimized} />}
168
+ {pip && !hiddenHost && <WindowPipPlaceholder pip={pip} minimized={minimized} />}
162
169
 
163
170
  {!maximized && !minimized && (
164
171
  <WindowResizeHandles bind={(handle) => bindResize(handle) as Record<string, unknown>} />
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Send a tab straight into picture-in-picture, without the user ever seeing a window.
3
+ *
4
+ * A PiP window can only adopt an element that is already in the page, and it needs somewhere
5
+ * to put it back. The floating window is that element and that home — so one still opens
6
+ * here, it is simply never shown: the frame keeps a pip-only window off screen, and closing
7
+ * PiP closes it, which re-docks the tab into the panel it came from.
8
+ */
9
+
10
+ import { usePanelStore } from "@/stores/panel-store";
11
+ import { focusPipDocument } from "./pip/pip-focus-target";
12
+ import { attachPipHost } from "./pip/pip-host";
13
+ import { TITLEBAR_HEIGHT } from "./window-chrome-contract";
14
+ import {
15
+ clearPipOnlyWindow,
16
+ markPipOnlyWindow,
17
+ setWindowPip,
18
+ whenWindowSlot,
19
+ } from "./window-pip-registry";
20
+ import { useWindowStore } from "./window-store";
21
+
22
+ export type OpenTabInPipResult = "opened" | "window-cap" | "cancelled";
23
+
24
+ /** Drop the host window; its own teardown hands the tab back to the panel it came from. */
25
+ function discard(windowId: string): void {
26
+ clearPipOnlyWindow(windowId);
27
+ useWindowStore.getState().close(windowId);
28
+ }
29
+
30
+ /**
31
+ * Detach a tab into a hidden window and adopt it into a PiP window.
32
+ *
33
+ * Rejects when the browser refuses the request (no support, or the click's activation was
34
+ * already spent); the caller reports that. Call it from a click handler with nothing awaited
35
+ * before it — the one await inside is a React commit, which leaves the activation valid.
36
+ */
37
+ export async function openTabInPip(tabId: string, panelId: string): Promise<OpenTabInPipResult> {
38
+ const windowId = usePanelStore.getState().popOutTab(tabId, panelId);
39
+ if (!windowId) return "window-cap";
40
+ markPipOnlyWindow(windowId);
41
+
42
+ // The window exists in the store, but its body is created by the frame's layout effect —
43
+ // one commit away.
44
+ const slot = await whenWindowSlot(windowId);
45
+ if (!slot) {
46
+ discard(windowId);
47
+ return "cancelled";
48
+ }
49
+
50
+ const rect = useWindowStore.getState().windows[windowId]?.rect;
51
+ let handle;
52
+ try {
53
+ handle = await attachPipHost(slot, {
54
+ // A zero falls through to the host's minimum size rather than a magic default.
55
+ width: rect?.w ?? 0,
56
+ height: rect ? rect.h - TITLEBAR_HEIGHT : 0,
57
+ onDetach: () => {
58
+ setWindowPip(windowId, null);
59
+ // Closing PiP means "done with this tab out here", not "give me a window instead":
60
+ // the tab goes back to its strip.
61
+ discard(windowId);
62
+ },
63
+ });
64
+ } catch (err) {
65
+ discard(windowId);
66
+ throw err;
67
+ }
68
+
69
+ // Null means the window went away while the request was in flight; the host already
70
+ // restored what it had and called onDetach.
71
+ if (!handle) return "cancelled";
72
+
73
+ setWindowPip(windowId, handle);
74
+ // A DOM move carries no focus with it: without this the tab is visible in PiP but swallows
75
+ // nothing until the user clicks it.
76
+ focusPipDocument(handle.pipWindow.document);
77
+ return "opened";
78
+ }
@@ -24,6 +24,52 @@ const listeners = new Set<() => void>();
24
24
  export function publishWindowSlot(windowId: string, el: HTMLElement | null): void {
25
25
  if (el) slots.set(windowId, el);
26
26
  else slots.delete(windowId);
27
+ for (const notify of listeners) notify();
28
+ }
29
+
30
+ /**
31
+ * Resolve once a window has published its body, or `null` if it never does.
32
+ *
33
+ * A window opened to host a picture-in-picture request exists in the store before React has
34
+ * mounted its frame, so the element the PiP host needs does not exist yet in the click
35
+ * handler that created it. Waiting is safe: transient activation survives a commit, it is
36
+ * consuming it twice that the browser refuses.
37
+ */
38
+ export function whenWindowSlot(windowId: string, timeoutMs = 2000): Promise<HTMLElement | null> {
39
+ const existing = windowSlot(windowId);
40
+ if (existing) return Promise.resolve(existing);
41
+ return new Promise((resolve) => {
42
+ const settle = (el: HTMLElement | null) => {
43
+ listeners.delete(check);
44
+ clearTimeout(timer);
45
+ resolve(el);
46
+ };
47
+ const check = () => {
48
+ const el = windowSlot(windowId);
49
+ if (el) settle(el);
50
+ };
51
+ const timer = setTimeout(() => settle(null), timeoutMs);
52
+ listeners.add(check);
53
+ });
54
+ }
55
+
56
+ /**
57
+ * Windows that exist only to carry a tab into picture-in-picture: the frame keeps them off
58
+ * screen while PiP is up, and closing PiP closes the window, so the tab goes straight back
59
+ * to its tab strip instead of stranding an empty window the user never asked for.
60
+ */
61
+ const pipOnly = new Set<string>();
62
+
63
+ export function markPipOnlyWindow(windowId: string): void {
64
+ pipOnly.add(windowId);
65
+ }
66
+
67
+ export function isPipOnlyWindow(windowId: string): boolean {
68
+ return pipOnly.has(windowId);
69
+ }
70
+
71
+ export function clearPipOnlyWindow(windowId: string): void {
72
+ pipOnly.delete(windowId);
27
73
  }
28
74
 
29
75
  /** The body element of a mounted window, or null. */
@@ -1,12 +1,17 @@
1
1
  /**
2
- * "Open in window" — detaches a tab into a floating window, keeping it live.
2
+ * "Open in window" / "Open in picture-in-picture" — detaches a tab, keeping it live.
3
+ *
4
+ * The PiP route skips the window entirely from the user's point of view: a host window is
5
+ * opened and hidden, and closing PiP closes it, so the tab lands back in this strip.
3
6
  *
4
7
  * Desktop only: the window layer renders nothing below the md breakpoint, so on a phone
5
8
  * the item would move a tab somewhere the user cannot see (a scaled-down window is never
6
9
  * the answer — see the mobile-first UI rules).
7
10
  */
8
- import { ExternalLink } from "lucide-react";
11
+ import { ExternalLink, PictureInPicture2 } from "lucide-react";
9
12
  import { toast } from "sonner";
13
+ import { openTabInPip } from "@/components/floating-window/open-tab-in-pip";
14
+ import { isDocumentPipSupported } from "@/components/floating-window/pip/pip-support";
10
15
  import { ContextMenuItem, ContextMenuSeparator } from "@/components/ui/context-menu";
11
16
  import { useIsMobile } from "@/hooks/use-is-mobile";
12
17
  import { usePanelStore } from "@/stores/panel-store";
@@ -36,6 +41,24 @@ export function TabPopOutMenuItem({ tab, panelId }: TabPopOutMenuItemProps) {
36
41
  <ExternalLink className="size-3.5 mr-2" />
37
42
  Open in window
38
43
  </ContextMenuItem>
44
+ {isDocumentPipSupported() && (
45
+ <ContextMenuItem
46
+ onClick={() => {
47
+ // Nothing awaited before this call: it spends the click's activation on the PiP
48
+ // request, and the browser grants that only to a live gesture.
49
+ void openTabInPip(tab.id, panelId)
50
+ .then((result) => {
51
+ if (result === "window-cap") toast.error("Too many windows open — close one first");
52
+ })
53
+ .catch(() => {
54
+ toast.error("Could not open the picture-in-picture window");
55
+ });
56
+ }}
57
+ >
58
+ <PictureInPicture2 className="size-3.5 mr-2" />
59
+ Open in picture-in-picture
60
+ </ContextMenuItem>
61
+ )}
39
62
  <ContextMenuSeparator />
40
63
  </>
41
64
  );
@@ -1 +0,0 @@
1
- import{K as e}from"./vendor-mermaid-CHTa6D69.js";export{e as createArchitectureServices};