@hienlh/ppm 0.17.14 → 0.17.16

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 (427) hide show
  1. package/CHANGELOG.md +14 -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/{ai-resource-editor-DfCN7LjR.js → ai-resource-editor-CsossqDO.js} +1 -1
  6. package/dist/web/assets/{angular-html-DkR4iCth.js → angular-html-CkxY2iBQ.js} +1 -1
  7. package/dist/web/assets/{angular-ts-DcyL4Chx.js → angular-ts-BePeGkkC.js} +1 -1
  8. package/dist/web/assets/{apl-BVlrVtjt.js → apl-DBS7PWvB.js} +1 -1
  9. package/dist/web/assets/architecture-PBZL5I3N-NAS99xy0.js +1 -0
  10. package/dist/web/assets/{astro-MjJlozLj.js → astro-Clbk1k4h.js} +1 -1
  11. package/dist/web/assets/{audio-preview-DbFUkIzm.js → audio-preview-DIkokvPM.js} +1 -1
  12. package/dist/web/assets/{blade-DnJWi1fz.js → blade-BeBsBuGS.js} +1 -1
  13. package/dist/web/assets/{bsl-DCmJxSIz.js → bsl-DYigT3JZ.js} +1 -1
  14. package/dist/web/assets/{cairo-C8dDenub.js → cairo-BjpO78wI.js} +1 -1
  15. package/dist/web/assets/chat-tab-Bh6l253v.js +18 -0
  16. package/dist/web/assets/click-outside-container-DXZVmhaX.js +1 -0
  17. package/dist/web/assets/{cobol-DPx_nifl.js → cobol-CpuUx69s.js} +1 -1
  18. package/dist/web/assets/code-editor-B7F-d4DK.js +10 -0
  19. package/dist/web/assets/{coffee-DvFzqhgN.js → coffee-FoFd2Cxo.js} +1 -1
  20. package/dist/web/assets/{conflict-editor-BAAffNdj.js → conflict-editor-Dqm1bkyL.js} +3 -3
  21. package/dist/web/assets/{cpp-BLJN0umi.js → cpp-CO_nPfdr.js} +1 -1
  22. package/dist/web/assets/{crystal-BXR-9fGw.js → crystal-D-UygAAF.js} +1 -1
  23. package/dist/web/assets/{csv-preview-DzhSC0fd.js → csv-preview-CvP4xzug.js} +1 -1
  24. package/dist/web/assets/data-grid-overlay-editor-CUlFsD-D.js +1 -0
  25. package/dist/web/assets/database-viewer-5oNTPgjF.js +1 -0
  26. package/dist/web/assets/{diff-viewer-DvXxlk47.js → diff-viewer-BfWixe_z.js} +1 -1
  27. package/dist/web/assets/dist-BsziT-tR.js +11 -0
  28. package/dist/web/assets/{docx-preview-DfjH-dIr.js → docx-preview-CguUoTKe.js} +1 -1
  29. package/dist/web/assets/{edge-rWOlCmXT.js → edge-BSzxzX11.js} +1 -1
  30. package/dist/web/assets/{elixir-E7Y82okW.js → elixir-DH1-Mrep.js} +1 -1
  31. package/dist/web/assets/{elm-DTPGbc-w.js → elm-B0ln5J70.js} +1 -1
  32. package/dist/web/assets/{erb-DHqLHrE6.js → erb-GIz6NnlZ.js} +1 -1
  33. package/dist/web/assets/{erlang-Byg0nNiV.js → erlang-B8MgYhib.js} +1 -1
  34. package/dist/web/assets/esm-CjVeOTNQ.js +2 -0
  35. package/dist/web/assets/{extension-webview-wuMQ8pD7.js → extension-webview-DTpFt1eL.js} +1 -1
  36. package/dist/web/assets/{fortran-fixed-form-CY1n0Xf6.js → fortran-fixed-form-D_-TrK6U.js} +1 -1
  37. package/dist/web/assets/{fsharp-_vEDSCJz.js → fsharp-C9cLCk2b.js} +1 -1
  38. package/dist/web/assets/{gdresource-B6XT0wAC.js → gdresource-CsZ3lXwY.js} +1 -1
  39. package/dist/web/assets/{git-commit-Wk9ovq59.js → git-commit-xmq0KqrA.js} +1 -1
  40. package/dist/web/assets/{git-log-panel-SPPYmbCr.js → git-log-panel-DUX7N5tN.js} +1 -1
  41. package/dist/web/assets/{git-rebase-DSarGPvK.js → git-rebase-D3O-jsSX.js} +1 -1
  42. package/dist/web/assets/gitGraph-HDMCJU4V-B4I3L4Sf.js +1 -0
  43. package/dist/web/assets/glide-data-grid-7vB1SNne.js +138 -0
  44. package/dist/web/assets/{glimmer-js-CkYI35_P.js → glimmer-js-g74gESrC.js} +1 -1
  45. package/dist/web/assets/{glimmer-ts-BqmIZcds.js → glimmer-ts-DF4aDWHT.js} +1 -1
  46. package/dist/web/assets/{glsl-Be-yBCF5.js → glsl-D5LmfW7l.js} +1 -1
  47. package/dist/web/assets/{graphql-a5DrENHY.js → graphql-_KI4RuXL.js} +1 -1
  48. package/dist/web/assets/group-chat-tab-CNECY-zg.js +1 -0
  49. package/dist/web/assets/{hack-BLAg20aD.js → hack-B1NaTC39.js} +1 -1
  50. package/dist/web/assets/{haml-Dj6bGOQH.js → haml-DDFXadZ4.js} +1 -1
  51. package/dist/web/assets/{handlebars-dmEa36Oh.js → handlebars-Bp-Jq3K9.js} +1 -1
  52. package/dist/web/assets/{html-yacZYzSE.js → html-DyB9_5Tj.js} +1 -1
  53. package/dist/web/assets/{html-derivative-lLi3-RNT.js → html-derivative-CC60wi-3.js} +1 -1
  54. package/dist/web/assets/{http-1KaxcE4e.js → http-C-9qngH4.js} +1 -1
  55. package/dist/web/assets/{hurl-ST-dEEZR.js → hurl-BtxgpNDs.js} +1 -1
  56. package/dist/web/assets/{hxml-CpDtuq__.js → hxml-DOoOS9op.js} +1 -1
  57. package/dist/web/assets/{image-preview-D_8o6OLx.js → image-preview-CZg6FQ3w.js} +1 -1
  58. package/dist/web/assets/{index-C1Q59prB.js → index-D2G6kmTs.js} +7 -7
  59. package/dist/web/assets/index-DCmrZnq0.css +2 -0
  60. package/dist/web/assets/info-3K5VOQVL-CBbbOe3C.js +1 -0
  61. package/dist/web/assets/{jinja-Cjw-evAn.js → jinja-cN-150ao.js} +1 -1
  62. package/dist/web/assets/{jison-DfATMYoY.js → jison-CqjsqPq5.js} +1 -1
  63. package/dist/web/assets/{julia-DDCaxiqT.js → julia-C-I5m8W4.js} +1 -1
  64. package/dist/web/assets/{just-CJL529u6.js → just-CgsSW9zs.js} +1 -1
  65. package/dist/web/assets/keybindings-store-D8Cppv4w.js +1 -0
  66. package/dist/web/assets/{latex-Zc4EpLpW.js → latex-BFzR9N2d.js} +1 -1
  67. package/dist/web/assets/{liquid-B_6KMNYS.js → liquid-BWfr-_iC.js} +1 -1
  68. package/dist/web/assets/{lua-BtS2idK7.js → lua-DsXVun6g.js} +1 -1
  69. package/dist/web/assets/{markdown-renderer-DVVx3WCU.js → markdown-renderer-CiQkvWP_.js} +3 -3
  70. package/dist/web/assets/{marko-Wk6LBnck.js → marko-DWBbo09n.js} +1 -1
  71. package/dist/web/assets/{mdc-cRaXBrzL.js → mdc-CUMe9LOG.js} +1 -1
  72. package/dist/web/assets/{nextflow-Bos2wvDV.js → nextflow-CoYbADOm.js} +1 -1
  73. package/dist/web/assets/{nginx-DMlOwzdr.js → nginx-z-JRZREw.js} +1 -1
  74. package/dist/web/assets/{nim-D2dZQA88.js → nim-Ci4LHyBm.js} +1 -1
  75. package/dist/web/assets/notification-store-DOGxkWih.js +1 -0
  76. package/dist/web/assets/{number-overlay-editor-Du_UgiD3.js → number-overlay-editor-lnnuUpPI.js} +1 -1
  77. package/dist/web/assets/packet-RMMSAZCW-fr8-QSTF.js +1 -0
  78. package/dist/web/assets/{pdf-preview-HTC73FyK.js → pdf-preview-B6ZqANpw.js} +1 -1
  79. package/dist/web/assets/{perl-C5-Z6fPn.js → perl-pbDimKOO.js} +1 -1
  80. package/dist/web/assets/{php-BXNNhkMH.js → php-B003E5v7.js} +1 -1
  81. package/dist/web/assets/pie-UPGHQEXC-Biu7_Pbb.js +1 -0
  82. package/dist/web/assets/postgres-viewer-B23xTCSs.js +3 -0
  83. package/dist/web/assets/{pug-C1zf1yWy.js → pug-AoueAWJo.js} +1 -1
  84. package/dist/web/assets/{qml-OW58jGpD.js → qml-CepxioQA.js} +1 -1
  85. package/dist/web/assets/radar-KQ55EAFF-CMtNRpK6.js +1 -0
  86. package/dist/web/assets/{razor-DzjSaobM.js → razor-lIvU-Gu-.js} +1 -1
  87. package/dist/web/assets/{rst-RfuihOUW.js → rst-Dn-dwElE.js} +1 -1
  88. package/dist/web/assets/{ruby-CNO3pli1.js → ruby-DmsD1Iz5.js} +1 -1
  89. package/dist/web/assets/{sas-DZY5BtXx.js → sas-6IM2P4YP.js} +1 -1
  90. package/dist/web/assets/{scss--4g-REcN.js → scss-RgYEZQqh.js} +1 -1
  91. package/dist/web/assets/{settings-store-mWnY4Kt0.js → settings-store-BkSf4SPQ.js} +2 -2
  92. package/dist/web/assets/settings-tab-D5hAA1bY.js +1 -0
  93. package/dist/web/assets/{shaderlab-Cu4sBiVn.js → shaderlab-B0MNEwt4.js} +1 -1
  94. package/dist/web/assets/{shellsession-DWzJfEv7.js → shellsession-F8S4LrQI.js} +1 -1
  95. package/dist/web/assets/{soy-BnqE-5Ff.js → soy-DDlMbX7u.js} +1 -1
  96. package/dist/web/assets/{sparql-Ctg__NhZ.js → sparql-kthmGAAe.js} +1 -1
  97. package/dist/web/assets/{sql-query-editor-CJdpO95g.js → sql-query-editor-BYNM0RRl.js} +1 -1
  98. package/dist/web/assets/sqlite-viewer-DW9f2Hqj.js +1 -0
  99. package/dist/web/assets/{stata-Qk2h66XW.js → stata-Tfbew8La.js} +1 -1
  100. package/dist/web/assets/{surrealql-8QEX7EfH.js → surrealql-C0LIGqRx.js} +1 -1
  101. package/dist/web/assets/{svelte-D_mubC5-.js → svelte-CfTy8CGF.js} +1 -1
  102. package/dist/web/assets/{system-monitor-tab-BA9gqJRW.js → system-monitor-tab-B5f4pgdX.js} +1 -1
  103. package/dist/web/assets/{templ-C1jV0fsO.js → templ-V5H1Sbfy.js} +1 -1
  104. package/dist/web/assets/{terminal-tab-DWncjHEA.js → terminal-tab-CK3lX-0Y.js} +2 -2
  105. package/dist/web/assets/{tex-D_StFXy_.js → tex-C3H3uMZf.js} +1 -1
  106. package/dist/web/assets/treemap-KZPCXAKY-ZYVFjoaN.js +1 -0
  107. package/dist/web/assets/{ts-tags-B5m47rEm.js → ts-tags-7AXgG5YS.js} +1 -1
  108. package/dist/web/assets/{twig-C_br6GIl.js → twig-BSyS38T3.js} +1 -1
  109. package/dist/web/assets/{use-monaco-theme-Ch2jRiGj.js → use-monaco-theme-Jj2OxkAE.js} +1 -1
  110. package/dist/web/assets/{use-websocket-MvxbuTdy.js → use-websocket-DrDBgIWU.js} +1 -1
  111. package/dist/web/assets/{vendor-mermaid-DP1CEcGn.js → vendor-mermaid-DGOXKrJC.js} +193 -193
  112. package/dist/web/assets/{video-preview-rWrNCfZX.js → video-preview-BOHxkwKG.js} +1 -1
  113. package/dist/web/assets/{vue-DQwCnLdr.js → vue-C4d_br9u.js} +1 -1
  114. package/dist/web/assets/{vue-html-T_EoGpPJ.js → vue-html-CGdoz4vW.js} +1 -1
  115. package/dist/web/assets/{vue-vine-DmxLqX50.js → vue-vine-CqNolQlN.js} +1 -1
  116. package/dist/web/assets/{xml-Bs6Bw8is.js → xml-UmCmu-Od.js} +1 -1
  117. package/dist/web/assets/{xsl-f5ZNhRCc.js → xsl-DJG6USGh.js} +1 -1
  118. package/dist/web/index.html +14 -14
  119. package/dist/web/monacoeditorwork/css.worker.bundle.js +122 -122
  120. package/dist/web/monacoeditorwork/editor.worker.bundle.js +78 -78
  121. package/dist/web/monacoeditorwork/html.worker.bundle.js +110 -110
  122. package/dist/web/monacoeditorwork/json.worker.bundle.js +108 -108
  123. package/dist/web/monacoeditorwork/ts.worker.bundle.js +81 -81
  124. package/dist/web/sw.js +1 -1
  125. package/package.json +1 -1
  126. package/schemas/ppm-config.schema.json +3 -3
  127. package/src/cli/commands/init.ts +8 -5
  128. package/src/providers/claude-agent-sdk-query-options.ts +57 -0
  129. package/src/providers/claude-agent-sdk.ts +21 -9
  130. package/src/server/ws/chat.ts +91 -10
  131. package/src/services/account.service.ts +13 -7
  132. package/src/services/db.service.ts +31 -1
  133. package/src/types/api.ts +4 -2
  134. package/src/types/chat.ts +8 -0
  135. package/src/types/config.ts +4 -9
  136. package/src/web/components/chat/chat-tab.tsx +8 -0
  137. package/src/web/components/chat/message-input.tsx +27 -7
  138. package/src/web/components/chat/message-list.tsx +48 -3
  139. package/src/web/components/chat/model-thinking-selector-helpers.ts +33 -0
  140. package/src/web/components/chat/model-thinking-selector.tsx +189 -0
  141. package/src/web/components/settings/ai-settings-section.tsx +2 -0
  142. package/src/web/components/settings/proxy-test-section.tsx +3 -1
  143. package/src/web/hooks/use-chat.ts +45 -0
  144. package/C:/Users/PC/AppData/Local/Temp/ppmbuild/index.js +0 -118043
  145. package/dist/web/assets/architecture-PBZL5I3N-CqTF9Xn6.js +0 -1
  146. package/dist/web/assets/chat-tab-C6nMDb9l.js +0 -18
  147. package/dist/web/assets/code-editor-C38IIs_y.js +0 -10
  148. package/dist/web/assets/data-grid-overlay-editor-cOzDcGkl.js +0 -1
  149. package/dist/web/assets/data-grid-types-CWHnFOc-.js +0 -1
  150. package/dist/web/assets/database-viewer-DxmL2veb.js +0 -1
  151. package/dist/web/assets/dist-B5ErTtYs.js +0 -11
  152. package/dist/web/assets/esm-DU7axMjq.js +0 -2
  153. package/dist/web/assets/gitGraph-HDMCJU4V-X12vfQ3i.js +0 -1
  154. package/dist/web/assets/glide-data-grid-BC0AHzMn.js +0 -138
  155. package/dist/web/assets/group-chat-tab-D20bF8q5.js +0 -1
  156. package/dist/web/assets/index-CMJ6whqq.css +0 -2
  157. package/dist/web/assets/info-3K5VOQVL-Bcz-Qhua.js +0 -1
  158. package/dist/web/assets/keybindings-store-TINaziU9.js +0 -1
  159. package/dist/web/assets/notification-store-DN8oDV7o.js +0 -1
  160. package/dist/web/assets/packet-RMMSAZCW-BTwjB70W.js +0 -1
  161. package/dist/web/assets/pie-UPGHQEXC-Cn-lrQYZ.js +0 -1
  162. package/dist/web/assets/postgres-viewer-pWjwP3GD.js +0 -3
  163. package/dist/web/assets/radar-KQ55EAFF-Cmppm_Ia.js +0 -1
  164. package/dist/web/assets/settings-tab-BoRuss3O.js +0 -1
  165. package/dist/web/assets/sqlite-viewer-BgewX3tM.js +0 -1
  166. package/dist/web/assets/treemap-KZPCXAKY-BLWus1wm.js +0 -1
  167. package/docs/journal/binary-self-upgrade-260724.md +0 -66
  168. package/nul/docs/claude-agent-sdk-reference.md +0 -780
  169. package/nul/docs/code-standards.md +0 -1080
  170. package/nul/docs/codebase-summary.md +0 -916
  171. package/nul/docs/deployment-guide.md +0 -702
  172. package/nul/docs/design-guidelines.md +0 -767
  173. package/nul/docs/extension-development-guide.md +0 -629
  174. package/nul/docs/journals/260414-1400-ext-git-graph-port-complete.md +0 -147
  175. package/nul/docs/journals/260414-1452-git-graph-faithful-port.md +0 -144
  176. package/nul/docs/journals/260414-1810-git-graph-ui-improvements-complete.md +0 -261
  177. package/nul/docs/journals/260414-2001-bundled-extensions.md +0 -219
  178. package/nul/docs/journals/260415-frontend-memory-optimization.md +0 -73
  179. package/nul/docs/lessons-learned.md +0 -70
  180. package/nul/docs/project-changelog.md +0 -574
  181. package/nul/docs/project-overview-pdr.md +0 -205
  182. package/nul/docs/project-roadmap.md +0 -222
  183. package/nul/docs/system-architecture.md +0 -1961
  184. package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
  185. package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
  186. package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
  187. package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
  188. package/spike-group-channel.mjs +0 -156
  189. package/spike-group-chat.mjs +0 -181
  190. /package/dist/web/assets/{abap-tkptwpsK.js → abap-BZ3J5hF3.js} +0 -0
  191. /package/dist/web/assets/{actionscript-3-Di9TMGwg.js → actionscript-3-CkyGfT-8.js} +0 -0
  192. /package/dist/web/assets/{ada-CB9F079D.js → ada-CxNLBoe7.js} +0 -0
  193. /package/dist/web/assets/{andromeeda-Dcl8jpb7.js → andromeeda-BPN5rsDz.js} +0 -0
  194. /package/dist/web/assets/{apache-D0Nk0qsH.js → apache-C1F5wHL6.js} +0 -0
  195. /package/dist/web/assets/{apex-mQIoWncD.js → apex-BaNixdO-.js} +0 -0
  196. /package/dist/web/assets/{api-themes-BdQCjXQk.js → api-themes-84MT-XqR.js} +0 -0
  197. /package/dist/web/assets/{applescript-C6ljbcsI.js → applescript-Cl_pdcch.js} +0 -0
  198. /package/dist/web/assets/{ara-WFqRPGPe.js → ara-B6UAE7M2.js} +0 -0
  199. /package/dist/web/assets/{asciidoc-bNd8w4nf.js → asciidoc-D9c9Twki.js} +0 -0
  200. /package/dist/web/assets/{asm-BQ1_F580.js → asm-CNmtv7Y9.js} +0 -0
  201. /package/dist/web/assets/{aurora-x-Ciqs_Dbu.js → aurora-x-C9z-NyzR.js} +0 -0
  202. /package/dist/web/assets/{awk-GCR-6KZV.js → awk-BfLHEnKa.js} +0 -0
  203. /package/dist/web/assets/{ayu-dark-DxJXuj99.js → ayu-dark-Bn7trkt_.js} +0 -0
  204. /package/dist/web/assets/{ayu-light-jvSyJWDV.js → ayu-light-Dpya9hPf.js} +0 -0
  205. /package/dist/web/assets/{ayu-mirage-Cg3BPO6H.js → ayu-mirage-Cc0jfABD.js} +0 -0
  206. /package/dist/web/assets/{ballerina-BPz4CrX6.js → ballerina-BtiCmN7T.js} +0 -0
  207. /package/dist/web/assets/{bat-CSTs2hIG.js → bat-tmFM76zR.js} +0 -0
  208. /package/dist/web/assets/{beancount-DMateAZX.js → beancount-BjPqRrcH.js} +0 -0
  209. /package/dist/web/assets/{berry-9lXg0GRM.js → berry-D0SQBxN2.js} +0 -0
  210. /package/dist/web/assets/{bibtex-DIbqmvFg.js → bibtex-CkjRWQKr.js} +0 -0
  211. /package/dist/web/assets/{bicep-02WGsoJ8.js → bicep-Bhq28Cxc.js} +0 -0
  212. /package/dist/web/assets/{bird2-BY0tbu3k.js → bird2-DFGInYb3.js} +0 -0
  213. /package/dist/web/assets/{c-jMBX_9Je.js → c-CP8cB4k_.js} +0 -0
  214. /package/dist/web/assets/{c3-B8JVbNjW.js → c3-oRytyeWo.js} +0 -0
  215. /package/dist/web/assets/{cadence-DUIf1tvL.js → cadence-Inf1rGb7.js} +0 -0
  216. /package/dist/web/assets/{catppuccin-frappe-FhUCVxex.js → catppuccin-frappe-DAzribQo.js} +0 -0
  217. /package/dist/web/assets/{catppuccin-latte-CzfrtmgL.js → catppuccin-latte-B6Y_mCCQ.js} +0 -0
  218. /package/dist/web/assets/{catppuccin-macchiato-6xL0lOtj.js → catppuccin-macchiato-COLbYqVL.js} +0 -0
  219. /package/dist/web/assets/{catppuccin-mocha-D39-xS3P.js → catppuccin-mocha-DKWaML1B.js} +0 -0
  220. /package/dist/web/assets/{clarity-D8TeGvoT.js → clarity-_ZLLrrsX.js} +0 -0
  221. /package/dist/web/assets/{clojure-Dx_acSX7.js → clojure-DWGVCg_P.js} +0 -0
  222. /package/dist/web/assets/{cmake-CyeYPq8o.js → cmake-Cwh3mug7.js} +0 -0
  223. /package/dist/web/assets/{codeowners-DrTI0lmI.js → codeowners-BdV6CFYi.js} +0 -0
  224. /package/dist/web/assets/{codeql-CPkFxVW-.js → codeql-NvupDIDf.js} +0 -0
  225. /package/dist/web/assets/{common-lisp-B0k-3LTj.js → common-lisp-B-vtBh5k.js} +0 -0
  226. /package/dist/web/assets/{coq-uygpo7to.js → coq-M8-FTfiZ.js} +0 -0
  227. /package/dist/web/assets/{csharp-DKUYGfSp.js → csharp-B7Ugdtd-.js} +0 -0
  228. /package/dist/web/assets/{css-DoOUp7v4.js → css-86k3Z-YA.js} +0 -0
  229. /package/dist/web/assets/{csv-B3YE13gi.js → csv-BX5XYhfH.js} +0 -0
  230. /package/dist/web/assets/{csv-parser-CB6bK93y.js → csv-parser-d56Fzpwc.js} +0 -0
  231. /package/dist/web/assets/{cue-DViO2wvn.js → cue-B7099gQa.js} +0 -0
  232. /package/dist/web/assets/{cypher-4BMCIW5N.js → cypher-D99mWVIu.js} +0 -0
  233. /package/dist/web/assets/{d-BT_sTHas.js → d-CFE8oQwh.js} +0 -0
  234. /package/dist/web/assets/{dark-plus-DVVXu-1N.js → dark-plus-BEeeDwdg.js} +0 -0
  235. /package/dist/web/assets/{dart-DHz6f6_6.js → dart-HVSWGnI5.js} +0 -0
  236. /package/dist/web/assets/{dax-ChYCjweK.js → dax-DjDgSJkh.js} +0 -0
  237. /package/dist/web/assets/{desktop-D6Lt4p04.js → desktop-B5A3i7J1.js} +0 -0
  238. /package/dist/web/assets/{diff-D8TDe4hP.js → diff-CpTrlaE9.js} +0 -0
  239. /package/dist/web/assets/{dist-D1CjMuoa.js → dist-BSCgJs-V.js} +0 -0
  240. /package/dist/web/assets/{docker-Bsp0YbPx.js → docker-xBhmJeHj.js} +0 -0
  241. /package/dist/web/assets/{dotenv-B_7giSY_.js → dotenv-DKKhLEv5.js} +0 -0
  242. /package/dist/web/assets/{dracula-TrQL2iB5.js → dracula-CVwQuzra.js} +0 -0
  243. /package/dist/web/assets/{dracula-soft-n2XOlgh-.js → dracula-soft-CG6mB-lf.js} +0 -0
  244. /package/dist/web/assets/{dream-maker-CdIEdhpT.js → dream-maker-SC-IdYY3.js} +0 -0
  245. /package/dist/web/assets/{edit-diff-preview-Cj6-iplb.js → edit-diff-preview-C50i1H63.js} +0 -0
  246. /package/dist/web/assets/{emacs-lisp-CSbixs6u.js → emacs-lisp-CIBFq6W8.js} +0 -0
  247. /package/dist/web/assets/{everforest-dark-BuZahZYp.js → everforest-dark-odRT_lec.js} +0 -0
  248. /package/dist/web/assets/{everforest-light-DPH53z5H.js → everforest-light-or1Voqjl.js} +0 -0
  249. /package/dist/web/assets/{fennel-B1-K_hlJ.js → fennel-tQd1z3iu.js} +0 -0
  250. /package/dist/web/assets/{fish-Cy12Dbua.js → fish-DSuZQG0k.js} +0 -0
  251. /package/dist/web/assets/{fluent-B_82ys8E.js → fluent-D7xI8a8e.js} +0 -0
  252. /package/dist/web/assets/{fortran-free-form-BRQdNzZF.js → fortran-free-form-BlAtcPd3.js} +0 -0
  253. /package/dist/web/assets/{gdscript-XBDmLUm9.js → gdscript-VsEQXBPm.js} +0 -0
  254. /package/dist/web/assets/{gdshader-DhVfB3u4.js → gdshader-iqHMOdwW.js} +0 -0
  255. /package/dist/web/assets/{genie-X3K29Y49.js → genie-C4XU4g1a.js} +0 -0
  256. /package/dist/web/assets/{gherkin-DKIx-6cX.js → gherkin-C4nfQzAB.js} +0 -0
  257. /package/dist/web/assets/{github-dark-Bf7zdp5s.js → github-dark-B_pbG3CC.js} +0 -0
  258. /package/dist/web/assets/{github-dark-default-DqsBBV11.js → github-dark-default-kFbx7C95.js} +0 -0
  259. /package/dist/web/assets/{github-dark-dimmed-X2gqRz6w.js → github-dark-dimmed-CpVfQEqs.js} +0 -0
  260. /package/dist/web/assets/{github-dark-high-contrast-Z7tvbGX4.js → github-dark-high-contrast-DYKqQwZh.js} +0 -0
  261. /package/dist/web/assets/{github-light-default-B0liF4d4.js → github-light-default-DVHfMPQ2.js} +0 -0
  262. /package/dist/web/assets/{github-light-BKxt-7zZ.js → github-light-gEYBmKaj.js} +0 -0
  263. /package/dist/web/assets/{github-light-high-contrast-F4encJwr.js → github-light-high-contrast-ClVJDu-q.js} +0 -0
  264. /package/dist/web/assets/{gleam-Pz2bHgBB.js → gleam-BLaPu7ft.js} +0 -0
  265. /package/dist/web/assets/{gn-CgmdNsPU.js → gn-BKgerUyI.js} +0 -0
  266. /package/dist/web/assets/{gnuplot-qLNF5yZ9.js → gnuplot-cqJuEFb-.js} +0 -0
  267. /package/dist/web/assets/{go-CSDUNhE7.js → go-B2EHdyD8.js} +0 -0
  268. /package/dist/web/assets/{groovy-B3NEnOHF.js → groovy-DdImoj8s.js} +0 -0
  269. /package/dist/web/assets/{gruvbox-dark-hard-DcoftiUX.js → gruvbox-dark-hard-DlwstAds.js} +0 -0
  270. /package/dist/web/assets/{gruvbox-dark-medium-D1wVSuD8.js → gruvbox-dark-medium-CiYEd1vd.js} +0 -0
  271. /package/dist/web/assets/{gruvbox-dark-soft-DWpunymH.js → gruvbox-dark-soft-C-wEa4h4.js} +0 -0
  272. /package/dist/web/assets/{gruvbox-light-hard-rHMvyUdS.js → gruvbox-light-hard-BqYmfna-.js} +0 -0
  273. /package/dist/web/assets/{gruvbox-light-medium-3O2KiXO7.js → gruvbox-light-medium-CxmfalT2.js} +0 -0
  274. /package/dist/web/assets/{gruvbox-light-soft-lNlXJPwH.js → gruvbox-light-soft-DGWXXMCB.js} +0 -0
  275. /package/dist/web/assets/{haskell-aaG3aC0h.js → haskell-H_C_IuVb.js} +0 -0
  276. /package/dist/web/assets/{haxe-CPcHhUDd.js → haxe-CGNSMpeZ.js} +0 -0
  277. /package/dist/web/assets/{hcl-CMQNlR_4.js → hcl-B7bSTSQf.js} +0 -0
  278. /package/dist/web/assets/{hjson-DeuklPFj.js → hjson-DlJ-glQZ.js} +0 -0
  279. /package/dist/web/assets/{hlsl-BI3hlsaM.js → hlsl-CehW5SJN.js} +0 -0
  280. /package/dist/web/assets/{horizon-C7-gOcjs.js → horizon-Beabcz2d.js} +0 -0
  281. /package/dist/web/assets/{horizon-bright-Cxt9bRW7.js → horizon-bright-BC87RXPa.js} +0 -0
  282. /package/dist/web/assets/{houston-DbF2G7iD.js → houston-Da7RFwUy.js} +0 -0
  283. /package/dist/web/assets/{hy-DRG6Hs2I.js → hy-m1H70w19.js} +0 -0
  284. /package/dist/web/assets/{imba-CxKv_2TW.js → imba-MExFsdAA.js} +0 -0
  285. /package/dist/web/assets/{ini-BiHsyCdO.js → ini-CJy_zmwy.js} +0 -0
  286. /package/dist/web/assets/{java-D3RZzgDB.js → java-DqDFvJBH.js} +0 -0
  287. /package/dist/web/assets/{javascript-4FmSqG-T.js → javascript-C3Wyv22X.js} +0 -0
  288. /package/dist/web/assets/{json-CjB236_E.js → json-DnGBw_DZ.js} +0 -0
  289. /package/dist/web/assets/{json5-bkfO-Rco.js → json5-CRN-zoN4.js} +0 -0
  290. /package/dist/web/assets/{jsonc-BwaTeLyv.js → jsonc-CKRUZNRo.js} +0 -0
  291. /package/dist/web/assets/{jsonl-CfxNSwGd.js → jsonl-CGfD6FrH.js} +0 -0
  292. /package/dist/web/assets/{jsonnet-CQETCYrp.js → jsonnet-nbFuDj0o.js} +0 -0
  293. /package/dist/web/assets/{jssm-D5o3Zzdz.js → jssm-D0ShzIqD.js} +0 -0
  294. /package/dist/web/assets/{jsx-BAMILPLo.js → jsx-D27hbRbs.js} +0 -0
  295. /package/dist/web/assets/{kanagawa-dragon-BhGVxu3R.js → kanagawa-dragon-Ov3f8K0T.js} +0 -0
  296. /package/dist/web/assets/{kanagawa-lotus-FH4Y59ro.js → kanagawa-lotus-CLyOqh-g.js} +0 -0
  297. /package/dist/web/assets/{kanagawa-wave-eilvP9MB.js → kanagawa-wave-Kj3dzabH.js} +0 -0
  298. /package/dist/web/assets/{kdl-BQ-yvXUK.js → kdl-DFF58Gu4.js} +0 -0
  299. /package/dist/web/assets/{kotlin-BuCx0-VT.js → kotlin-BM4PKaB4.js} +0 -0
  300. /package/dist/web/assets/{kusto-DAN_n_Cy.js → kusto-DrvHLCv5.js} +0 -0
  301. /package/dist/web/assets/{laserwave-Cq2BlxrT.js → laserwave-Db6i6ZkO.js} +0 -0
  302. /package/dist/web/assets/{lean-Dhq7uXKw.js → lean-D0hEjzwk.js} +0 -0
  303. /package/dist/web/assets/{less-CxaMQb8j.js → less-BEj4npGG.js} +0 -0
  304. /package/dist/web/assets/{lib-MIEszzkI.js → lib-CBdlQ75W.js} +0 -0
  305. /package/dist/web/assets/{light-plus-B4sMAend.js → light-plus-DLIIbDea.js} +0 -0
  306. /package/dist/web/assets/{llvm-DQ6-B_6Y.js → llvm-DMt6umsO.js} +0 -0
  307. /package/dist/web/assets/{log-Bb_vqvu7.js → log-BopvdtPW.js} +0 -0
  308. /package/dist/web/assets/{logo-BzfYv3A_.js → logo-CYSUFPFR.js} +0 -0
  309. /package/dist/web/assets/{luau-BnAeNR77.js → luau-XC611HNO.js} +0 -0
  310. /package/dist/web/assets/{make-B6IFuxpC.js → make-BMYZIfBj.js} +0 -0
  311. /package/dist/web/assets/{markdown-Z0xi77Fn.js → markdown-BLza5nvF.js} +0 -0
  312. /package/dist/web/assets/{material-theme-1scy1SYn.js → material-theme-Uw27UfJW.js} +0 -0
  313. /package/dist/web/assets/{material-theme-darker-G-JykXQP.js → material-theme-darker-dfqt8XBY.js} +0 -0
  314. /package/dist/web/assets/{material-theme-lighter-BtKkCMVq.js → material-theme-lighter-CPtBTblV.js} +0 -0
  315. /package/dist/web/assets/{material-theme-ocean-irrDC89L.js → material-theme-ocean-BfZgVqC-.js} +0 -0
  316. /package/dist/web/assets/{material-theme-palenight-Eq5_K4LM.js → material-theme-palenight-DAZoVYg8.js} +0 -0
  317. /package/dist/web/assets/{matlab-BE3oCXZC.js → matlab-cSzmquiW.js} +0 -0
  318. /package/dist/web/assets/{mdx-DYiuFTGw.js → mdx-Dq0kW5VM.js} +0 -0
  319. /package/dist/web/assets/{mermaid-DVlaEvtw.js → mermaid-DoIKF0yS.js} +0 -0
  320. /package/dist/web/assets/{min-dark-DSkeTpQa.js → min-dark-DyraimDU.js} +0 -0
  321. /package/dist/web/assets/{min-light-CFv2Q0uF.js → min-light-Co9cbcUv.js} +0 -0
  322. /package/dist/web/assets/{mipsasm-CiAFuZQ2.js → mipsasm-ph6cKgHn.js} +0 -0
  323. /package/dist/web/assets/{mojo-ARshcaSQ.js → mojo-BBT0XwmY.js} +0 -0
  324. /package/dist/web/assets/{monokai-CPTV-SOg.js → monokai-IP0T5Rtg.js} +0 -0
  325. /package/dist/web/assets/{moonbit-D57B0dZr.js → moonbit-B8cogNXl.js} +0 -0
  326. /package/dist/web/assets/{move-qgy3G_o9.js → move-DkY26NtM.js} +0 -0
  327. /package/dist/web/assets/{narrat-CZ3rC-oc.js → narrat-rBs3byG0.js} +0 -0
  328. /package/dist/web/assets/{nextflow-groovy-BxxIOcI4.js → nextflow-groovy-DkO9wMLP.js} +0 -0
  329. /package/dist/web/assets/{night-owl-B1ryGCda.js → night-owl-jVR4lFji.js} +0 -0
  330. /package/dist/web/assets/{night-owl-light-BZvNnvMF.js → night-owl-light-fBYJ7s3U.js} +0 -0
  331. /package/dist/web/assets/{nix-BVBQi8yv.js → nix-WX9oavu6.js} +0 -0
  332. /package/dist/web/assets/{nord-3NXw613h.js → nord-Cf7G21Pu.js} +0 -0
  333. /package/dist/web/assets/{nushell-BMOLRalb.js → nushell-DQdzcJ1H.js} +0 -0
  334. /package/dist/web/assets/{objective-c-AxruEUgh.js → objective-c-JSO2uvZ-.js} +0 -0
  335. /package/dist/web/assets/{objective-cpp-cFT0qRsD.js → objective-cpp-CZMGJ9Fb.js} +0 -0
  336. /package/dist/web/assets/{ocaml-_8JH6O8J.js → ocaml-C4S4NSDo.js} +0 -0
  337. /package/dist/web/assets/{odin-nwYvR0O6.js → odin-Y2jXCgVq.js} +0 -0
  338. /package/dist/web/assets/{one-dark-pro-C1LaYJaH.js → one-dark-pro-dVIxuoJY.js} +0 -0
  339. /package/dist/web/assets/{one-light-B7rMc__c.js → one-light-BQ1IKfD1.js} +0 -0
  340. /package/dist/web/assets/{openscad-Cwes8bKO.js → openscad-Bddw4I3z.js} +0 -0
  341. /package/dist/web/assets/{pascal-DMt-6tdZ.js → pascal-BKVXrzC1.js} +0 -0
  342. /package/dist/web/assets/{pkl-QBTyYQmB.js → pkl-BTd-YRsO.js} +0 -0
  343. /package/dist/web/assets/{plastic-BTSUp8Fk.js → plastic-eiGvBIxV.js} +0 -0
  344. /package/dist/web/assets/{plsql-DQv3IFXP.js → plsql-C290tieP.js} +0 -0
  345. /package/dist/web/assets/{po-CNwZx4tW.js → po-DyDwh0tx.js} +0 -0
  346. /package/dist/web/assets/{poimandres-8Os7Qequ.js → poimandres-B87zc_g-.js} +0 -0
  347. /package/dist/web/assets/{polar-b4yK8oD8.js → polar-Cdub1YMT.js} +0 -0
  348. /package/dist/web/assets/{postcss-sFctwpxx.js → postcss-BcI_3K0v.js} +0 -0
  349. /package/dist/web/assets/{powerquery-Cg_WrtuN.js → powerquery-OdMrkJSe.js} +0 -0
  350. /package/dist/web/assets/{powershell-C7Ifz95h.js → powershell-C8auT6xg.js} +0 -0
  351. /package/dist/web/assets/{prisma-Z52HUJzQ.js → prisma-DIbVv8PA.js} +0 -0
  352. /package/dist/web/assets/{prolog-DLqW-zR1.js → prolog-DbTOH3Ld.js} +0 -0
  353. /package/dist/web/assets/{proto-BOIzxCCJ.js → proto-C4Cq2dCD.js} +0 -0
  354. /package/dist/web/assets/{puppet-De7TjZIf.js → puppet-DJp3uqum.js} +0 -0
  355. /package/dist/web/assets/{purescript-R76ou1WT.js → purescript-CLsV4rPU.js} +0 -0
  356. /package/dist/web/assets/{python-Dprm0tNP.js → python-2gBtEza2.js} +0 -0
  357. /package/dist/web/assets/{qmldir-Clp_jpNw.js → qmldir-DfhULcua.js} +0 -0
  358. /package/dist/web/assets/{qss-eQPYYzSo.js → qss-DK--VTTV.js} +0 -0
  359. /package/dist/web/assets/{r-CCcRHIf5.js → r-BArBO2Sa.js} +0 -0
  360. /package/dist/web/assets/{racket-CzE472yp.js → racket-5mijHsVy.js} +0 -0
  361. /package/dist/web/assets/{raku-DQwXrTSi.js → raku-ir0suElk.js} +0 -0
  362. /package/dist/web/assets/{red-KCS6wyop.js → red-DSecpIOT.js} +0 -0
  363. /package/dist/web/assets/{reg-CcrAddUh.js → reg-Dp30FusS.js} +0 -0
  364. /package/dist/web/assets/{regexp-DDbud-Ri.js → regexp-DXJnEM_6.js} +0 -0
  365. /package/dist/web/assets/{rel-99GDgaHp.js → rel-Dr483ozj.js} +0 -0
  366. /package/dist/web/assets/{riscv-Dm2eNv0R.js → riscv-ZfBy5IA1.js} +0 -0
  367. /package/dist/web/assets/{ron-CzFt0ygH.js → ron-ZJ_CljGP.js} +0 -0
  368. /package/dist/web/assets/{rose-pine-Ck6lCrCP.js → rose-pine-CcW_eJ6G.js} +0 -0
  369. /package/dist/web/assets/{rose-pine-dawn-vtALRJNj.js → rose-pine-dawn-v2l_UF-j.js} +0 -0
  370. /package/dist/web/assets/{rose-pine-moon-DPto8qXw.js → rose-pine-moon-CNXkwf3D.js} +0 -0
  371. /package/dist/web/assets/{rosmsg-NtS6429H.js → rosmsg-BMYMVW84.js} +0 -0
  372. /package/dist/web/assets/{rust-BjIXvF9h.js → rust-BR-zJh5q.js} +0 -0
  373. /package/dist/web/assets/{sass-CQ23wf5E.js → sass-BukPOBFz.js} +0 -0
  374. /package/dist/web/assets/{scala-LfKLM143.js → scala-DUFY7D6D.js} +0 -0
  375. /package/dist/web/assets/{scheme-D3SLBXlF.js → scheme-Dl-dNNxQ.js} +0 -0
  376. /package/dist/web/assets/{sdbl-ODRd2rGN.js → sdbl-DdmlQhia.js} +0 -0
  377. /package/dist/web/assets/{shellscript-3KB1G_oA.js → shellscript-UyhrvGcd.js} +0 -0
  378. /package/dist/web/assets/{slack-dark-DTtyWmIy.js → slack-dark-Cv6Szr-q.js} +0 -0
  379. /package/dist/web/assets/{slack-ochin-Bu0PApk3.js → slack-ochin-V6Ii3lAm.js} +0 -0
  380. /package/dist/web/assets/{smalltalk-haMT-Sbe.js → smalltalk-BUCv5G91.js} +0 -0
  381. /package/dist/web/assets/{snazzy-light-DXJzefE9.js → snazzy-light-B67a78qi.js} +0 -0
  382. /package/dist/web/assets/{solarized-dark-B6LyYa18.js → solarized-dark-ccWnfYyA.js} +0 -0
  383. /package/dist/web/assets/{solarized-light-QLADebkv.js → solarized-light-C3WyRO5I.js} +0 -0
  384. /package/dist/web/assets/{solidity-mzfq1aDc.js → solidity-BFbRPNi_.js} +0 -0
  385. /package/dist/web/assets/{splunk-CyH4RWBp.js → splunk-zdpwCJLE.js} +0 -0
  386. /package/dist/web/assets/{sql-CWVlT5D3.js → sql-B2IPUsfz.js} +0 -0
  387. /package/dist/web/assets/{ssh-config-DNvQJ1Qx.js → ssh-config-Co4cXifq.js} +0 -0
  388. /package/dist/web/assets/{stylus-ByQQdtmf.js → stylus-CmI75XY8.js} +0 -0
  389. /package/dist/web/assets/{swift-D1cpY4ow.js → swift-Dfks9YQI.js} +0 -0
  390. /package/dist/web/assets/{synthwave-84-BDF_-QiW.js → synthwave-84-B3LERzNS.js} +0 -0
  391. /package/dist/web/assets/{system-verilog-BYrkMydC.js → system-verilog-BFvldiwl.js} +0 -0
  392. /package/dist/web/assets/{systemd-CQm3zyK0.js → systemd-Cu4Vvgbu.js} +0 -0
  393. /package/dist/web/assets/{talonscript-DMW5CzE1.js → talonscript-Bnq32pUB.js} +0 -0
  394. /package/dist/web/assets/{tasl-BhFzMCr2.js → tasl-Nwe2K3J1.js} +0 -0
  395. /package/dist/web/assets/{tcl-D7VEAF-9.js → tcl-zOnpywrl.js} +0 -0
  396. /package/dist/web/assets/{terraform-DdT5A0Vy.js → terraform-Bc9Vj-n3.js} +0 -0
  397. /package/dist/web/assets/{tokyo-night-WGLMM6Q9.js → tokyo-night-9_KyM8M2.js} +0 -0
  398. /package/dist/web/assets/{toml-CZ7ipXHZ.js → toml-ByH-fxOY.js} +0 -0
  399. /package/dist/web/assets/{tsv-B1zVvoTr.js → tsv-DrCnDClP.js} +0 -0
  400. /package/dist/web/assets/{tsx-D4HwRUBq.js → tsx-B8LafSYr.js} +0 -0
  401. /package/dist/web/assets/{turtle-B4r8KEJH.js → turtle-DuyP_QCJ.js} +0 -0
  402. /package/dist/web/assets/{typescript-BnHhxMtp.js → typescript-BTBJb5RD.js} +0 -0
  403. /package/dist/web/assets/{typespec-DP2q46GT.js → typespec-DdOFo7M5.js} +0 -0
  404. /package/dist/web/assets/{typst-DFsD_yaD.js → typst-LYvnBWQu.js} +0 -0
  405. /package/dist/web/assets/{use-blob-url-DpDVcTeK.js → use-blob-url-CpyRr7Cx.js} +0 -0
  406. /package/dist/web/assets/{v-Bji8hSVT.js → v-BuBYA1_x.js} +0 -0
  407. /package/dist/web/assets/{vala-D3TIgGmU.js → vala-vRIBYYe3.js} +0 -0
  408. /package/dist/web/assets/{vb-DvcxFS2q.js → vb-DwGi-IYM.js} +0 -0
  409. /package/dist/web/assets/{vendor-xterm-DfNMj6xt.js → vendor-xterm-i6SHFTfU.js} +0 -0
  410. /package/dist/web/assets/{verilog-Dy7cF35d.js → verilog-6B1X4G2-.js} +0 -0
  411. /package/dist/web/assets/{vesper-BzjwUv9J.js → vesper-Dw1y_Ae7.js} +0 -0
  412. /package/dist/web/assets/{vhdl-DuFnFNmW.js → vhdl-DK8JwBzJ.js} +0 -0
  413. /package/dist/web/assets/{viml-yAPgKlbz.js → viml-BTKIEIqm.js} +0 -0
  414. /package/dist/web/assets/{vitesse-black-oSSQdyIZ.js → vitesse-black-BqqolhEg.js} +0 -0
  415. /package/dist/web/assets/{vitesse-dark-BZxwPihB.js → vitesse-dark-B9JL5WQA.js} +0 -0
  416. /package/dist/web/assets/{vitesse-light-uIigycvt.js → vitesse-light-DYJKj2se.js} +0 -0
  417. /package/dist/web/assets/{vyper-CX3NAxm5.js → vyper-D-jDI3WH.js} +0 -0
  418. /package/dist/web/assets/{wasm-Coen1MOg.js → wasm-1-GlNdpk.js} +0 -0
  419. /package/dist/web/assets/{wasm-D9td37qO.js → wasm-BBW4WmT2.js} +0 -0
  420. /package/dist/web/assets/{wenyan-lwNIHgk6.js → wenyan-B6cM7sDO.js} +0 -0
  421. /package/dist/web/assets/{wgsl-DQAzCfog.js → wgsl-FaHGQgko.js} +0 -0
  422. /package/dist/web/assets/{wikitext-DTXmt5NE.js → wikitext-DtIyPUrk.js} +0 -0
  423. /package/dist/web/assets/{wit-Bdw_7WDH.js → wit-BMVRif5Y.js} +0 -0
  424. /package/dist/web/assets/{wolfram-DqyHDZ07.js → wolfram-DQsCGohn.js} +0 -0
  425. /package/dist/web/assets/{yaml-CPXhdByd.js → yaml-C-Va56Gt.js} +0 -0
  426. /package/dist/web/assets/{zenscript-6s_i5zek.js → zenscript-DdobKGI-.js} +0 -0
  427. /package/dist/web/assets/{zig-B2htezJ_.js → zig-vqDFwj6q.js} +0 -0
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{b as t,y as n}from"./vendor-markdown-CKTlmXbz.js";import"./vendor-ui-DMRGWRuc.js";import{t as r}from"./database-BLht7BVM.js";import{t as i}from"./glide-data-grid-BC0AHzMn.js";import{t as a}from"./table-CAVmgQMT.js";import{i as o,t as s}from"./api-client-Dvzcc_EO.js";import"./vendor-mermaid-DP1CEcGn.js";import"./settings-store-mWnY4Kt0.js";import"./panel-store-D6RV_ztx.js";import"./tab-store-CcLQfu8H.js";import{Jt as c,fn as l,zt as u}from"./index-C1Q59prB.js";import"./data-grid-types-CWHnFOc-.js";import"./use-monaco-theme-Ch2jRiGj.js";import{t as d}from"./sql-query-editor-CJdpO95g.js";var f=e(t(),1);function p(e,t,n){let[r,i]=(0,f.useState)([]),[a,c]=(0,f.useState)(null),[l,u]=(0,f.useState)(null),[d,p]=(0,f.useState)([]),[m,h]=(0,f.useState)(!1),[g,_]=(0,f.useState)(null),[v,y]=(0,f.useState)(1),[b,x]=(0,f.useState)(null),[S,C]=(0,f.useState)(null),[w,T]=(0,f.useState)(!1),E=n?`/api/db/connections/${n}`:null,D=E??`${o(e)}/sqlite`,O=E?``:`path=${encodeURIComponent(t)}`,k=(0,f.useCallback)(async()=>{h(!0),_(null);try{let e=E?`?cached=1`:O?`?${O}`:``,t=await s.get(`${D}/tables${e}`);i(t),!E&&t.length>0&&!a&&c(t[0].name)}catch(e){_(e.message)}finally{h(!1)}},[D,O,E]);(0,f.useEffect)(()=>{k()},[k]);let A=(0,f.useCallback)(async()=>{if(a){h(!0);try{let e=O?`${O}&`:``,[t,n]=await Promise.all([s.get(`${D}/data?${e}table=${encodeURIComponent(a)}&page=${v}&limit=100`),s.get(`${D}/schema?${e}table=${encodeURIComponent(a)}`)]);u(t),p(n)}catch(e){_(e.message)}finally{h(!1)}}},[D,O,a,v]);return(0,f.useEffect)(()=>{A()},[A]),{tables:r,selectedTable:a,selectTable:(0,f.useCallback)(e=>{c(e),y(1),x(null)},[]),tableData:l,schema:d,loading:m,error:g,page:v,setPage:y,queryResult:b,queryError:S,queryLoading:w,executeQuery:(0,f.useCallback)(async e=>{T(!0),C(null);try{let n=E?{sql:e}:{path:t,sql:e},r=await s.post(`${D}/query`,n);x(r),r.changeType===`modify`&&A()}catch(e){C(e.message)}finally{T(!1)}},[D,E,t,A]),updateCell:(0,f.useCallback)(async(e,n,r)=>{if(a)try{E?await s.put(`${D}/cell`,{table:a,pkColumn:`rowid`,pkValue:e,column:n,value:r}):await s.put(`${D}/cell`,{path:t,table:a,rowid:e,column:n,value:r}),A()}catch(e){_(e.message)}},[D,E,t,a,A]),deleteRow:(0,f.useCallback)(async e=>{if(a)try{E?await s.del(`${D}/row`,{table:a,pkColumn:`rowid`,pkValue:e}):await s.del(`${D}/row`,{path:t,table:a,rowid:e}),A(),k()}catch(e){_(e.message)}},[D,E,t,a,A,k]),refreshTables:k,refreshData:A}}var m=n();function h({tables:e,selectedTable:t,onSelect:n,onRefresh:r}){return(0,m.jsxs)(`div`,{className:`w-48 shrink-0 flex flex-col bg-background overflow-hidden`,children:[(0,m.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,m.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Tables`}),(0,m.jsx)(`button`,{type:`button`,onClick:r,className:`text-muted-foreground hover:text-foreground transition-colors`,title:`Refresh tables`,children:(0,m.jsx)(u,{className:`size-3`})})]}),(0,m.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[e.map(e=>(0,m.jsxs)(`button`,{type:`button`,onClick:()=>n(e.name),className:`w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors ${t===e.name?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/50 hover:text-foreground`}`,children:[(0,m.jsx)(a,{className:`size-3 shrink-0`}),(0,m.jsx)(`span`,{className:`truncate flex-1`,children:e.name}),(0,m.jsx)(`span`,{className:`text-[10px] opacity-60`,children:e.rowCount})]},e.name)),e.length===0&&(0,m.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No tables found`})]})]})}function g({onExecute:e,loading:t}){return(0,m.jsx)(d,{onExecute:e,loading:t})}function _({metadata:e}){let t=e?.filePath,n=e?.projectName,i=e?.connectionId,a=e?.tableName,[o,s]=(0,f.useState)(!1);return i?(0,m.jsx)(v,{projectName:``,dbPath:``,connectionId:i,connectionName:e?.connectionName,initialTable:a,queryPanelOpen:o,onToggleQueryPanel:()=>s(e=>!e),hideTableList:!0}):!t||!n?(0,m.jsxs)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:[(0,m.jsx)(r,{className:`size-5 mr-2`}),` No database file selected.`]}):(0,m.jsx)(v,{projectName:n,dbPath:t,queryPanelOpen:o,onToggleQueryPanel:()=>s(e=>!e)})}function v({projectName:e,dbPath:t,connectionId:n,connectionName:a,initialTable:o,queryPanelOpen:s,onToggleQueryPanel:u,hideTableList:d}){let _=p(e,t,n),v=(0,f.useRef)(!1);return(0,f.useEffect)(()=>{o&&!v.current&&_.tables.length>0&&(v.current=!0,_.selectTable(o))},[o,_.tables]),_.error&&_.tables.length===0?(0,m.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,m.jsx)(l,{className:`size-10 text-destructive`}),(0,m.jsx)(`p`,{className:`text-sm`,children:_.error})]}):_.loading&&_.tables.length===0?(0,m.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-text-secondary`,children:[(0,m.jsx)(c,{className:`size-5 animate-spin`}),(0,m.jsx)(`span`,{className:`text-sm`,children:`Loading database...`})]}):(0,m.jsxs)(`div`,{className:`flex h-full w-full overflow-hidden`,children:[!d&&(0,m.jsx)(h,{tables:_.tables,selectedTable:_.selectedTable,onSelect:_.selectTable,onRefresh:_.refreshTables}),(0,m.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden ${d?``:`border-l border-border`}`,children:[(0,m.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,m.jsx)(r,{className:`size-3.5 text-muted-foreground`}),(0,m.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:a??t}),(0,m.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:_.selectedTable&&`/ ${_.selectedTable}`}),(0,m.jsx)(`div`,{className:`ml-auto`,children:(0,m.jsx)(`button`,{type:`button`,onClick:u,className:`px-2 py-1 rounded text-xs transition-colors ${s?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:`SQL`})})]}),(0,m.jsx)(`div`,{className:`flex-1 overflow-hidden ${s?`max-h-[60%]`:``}`,children:_.tableData?(0,m.jsx)(i,{columns:_.tableData.columns,rows:_.tableData.rows,total:_.tableData.total,limit:_.tableData.limit,schema:_.schema.map(e=>({name:e.name,type:e.type,nullable:!e.notnull,pk:!!e.pk,defaultValue:e.dflt_value,fk:e.fk??null})),loading:_.loading,page:_.page,onPageChange:_.setPage,onCellUpdate:(e,t,n,r)=>_.updateCell(t,n,r),onRowDelete:(e,t)=>_.deleteRow(t)}):(0,m.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:_.loading?(0,m.jsx)(c,{className:`size-4 animate-spin`}):`Select a table`})}),s&&(0,m.jsx)(`div`,{className:`border-t border-border h-[40%] shrink-0`,children:(0,m.jsx)(g,{onExecute:_.executeQuery,loading:_.queryLoading})})]})]})}export{_ as SqliteViewer};
@@ -1 +0,0 @@
1
- import{P as e}from"./vendor-mermaid-DP1CEcGn.js";export{e as createTreemapServices};
@@ -1,66 +0,0 @@
1
- # Binary Self-Upgrade: Ship Without Landing on Your Feet
2
-
3
- **Date**: 2026-07-24 17:00
4
- **Severity**: Medium
5
- **Component**: Upgrade Service, Binary Distribution, Cross-Platform
6
- **Status**: Resolved
7
-
8
- ## What Happened
9
-
10
- Shipped in-app self-upgrade for binary-installed PPM (GitHub release archives on Linux/macOS/Windows). Previously `applyUpgrade()` hard-blocked non-npm installs with "binary installs cannot self-upgrade." Now they can — full end-to-end: detect → download → verify → extract → swap → restart.
11
-
12
- Commit `224efc8`. 61 tests (Docker-based; host Bun segfaults on `bun test`). Added 5 new service modules + release.sh SHA-256 generation.
13
-
14
- ## The Brutal Truth
15
-
16
- This is a relief because "binary installs can't upgrade themselves" was a shipping blocker for the standalone binary feature. But it's also loaded with cross-platform landmines: Windows file locking, atomic swaps, the joy of tar.gz vs. zip layouts, and the fact that if the swap fails partway through, you can be left with no executable at all.
17
-
18
- The code is defensive—lots of try/finally and explicit rollback on Windows—but that defensiveness exists *because we almost shipped without it*. Initial code review flagged: "web/ swap should precede binary swap so a web failure never orphans the binary." Caught it. Would've been awful in the field.
19
-
20
- ## Technical Details
21
-
22
- **DI Seam to Break a Cycle**
23
-
24
- `applyBinaryUpgrade()` injects `checkFn` rather than importing `checkForUpdate` from `upgrade.service.ts`. This is pure DI discipline: avoid circular imports by inverting the dependency. The other functions (`headCheckFn`, `downloadFn`, `swapFn`) are also optional overrides—testable without real network/filesystem ops.
25
-
26
- **Mandatory SHA-256 Verification**
27
-
28
- Download verifies against a published `SHA256SUMS` manifest **before extraction**. No fallback for missing checksums—it's fatal. `release.sh` now generates and uploads the manifest alongside binaries. Trade-off: users upgrading FROM a pre-checksum release will need a one-time manual reinstall.
29
-
30
- **Cross-Platform Atomic Swap**
31
-
32
- - **Unix**: Overwrite the running binary in place. The process keeps its open inode; re-spawn loads the new file. Simple. chmod 0o755 the new binary.
33
- - **Windows**: The running `.exe` is locked. Rename it to `.old`, drop the new one in place, and if that fails, restore the `.old` one so you never leave no executable. Supervisor cleanup removes `.old` files at boot.
34
-
35
- Also: tar.gz extracts flat (`./ppm`, `./web`), but Windows zip has a top-level dir (`ppm-windows-x64/ppm.exe`). Solved with a depth-≤1 payload-root search rather than assuming extract layout.
36
-
37
- **Fetch Timeouts Added**
38
-
39
- 10s for HEAD checks (verify asset exists), 120s for archive download (large files on slow connections). Guards against stalled downloads hanging the process while holding the in-progress lock.
40
-
41
- ## What We Tried
42
-
43
- Initial implementation didn't swap `web/` before the binary. Code review flagged: "web failure will orphan the binary." Reordered. Added Windows rollback: if `renameSync(newBinary, execPath)` fails, restore the old binary before throwing. Tests validate both Unix and Windows paths via injected `platform` param.
44
-
45
- ## Root Cause Analysis
46
-
47
- Why this took 5 modules instead of 1? The domains are genuinely separate:
48
- - **Artifact**: platform/arch → GitHub release asset naming
49
- - **Download**: HTTP + SHA-256 verification
50
- - **Swap**: atomic rename + platform-specific locking behavior
51
- - **Apply**: orchestrate the above + cleanup
52
-
53
- Bundling them would've hidden the fact that swap is *dramatically* different on Windows (rename-aside + rollback) vs. Unix (in-place overwrite). Keeping them separate made the asymmetry explicit.
54
-
55
- ## Lessons Learned
56
-
57
- 1. **DI for cyclic dependencies saves refactor debt.** Don't reach for "just import both ways" when you can inject one side. Costs nothing now, saves a refactor later.
58
- 2. **Cross-platform atomicity is not symmetric.** Don't assume Unix patterns work on Windows. File locking, in-place overwrites, and cleanup strategy all flip. Document the asymmetry in code comments.
59
- 3. **"Never leave a broken state" is not free.** The Windows rollback adds code. The reordering (web before binary) adds subtle ordering logic. But the alternative—a binary install with no executable—is unrecoverable in the field. Worth the cost.
60
- 4. **Test via Docker when host tools break.** Bun segfaults on `bun test`. Rather than debug the segfault, run the suite in `oven/bun:1.2`. All 61 tests pass. Move on.
61
-
62
- ## Next Steps
63
-
64
- - Ship feedback cycle: monitor for upgrade-related crashes on binary installs (GitHub issues, telemetry).
65
- - If a pre-checksum release user reports "upgrade stuck," confirm they need a manual reinstall; document the one-time migration path.
66
- - Future: Consider a transparent migration helper that auto-invokes after detecting a stale pre-checksum binary.