@alivault/pico 0.1.0

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 (406) hide show
  1. package/.output/nitro.json +17 -0
  2. package/.output/public/apple-touch-icon.png +0 -0
  3. package/.output/public/assets/abap-smLpETzL.js +1 -0
  4. package/.output/public/assets/actionscript-3-o-aRvjY5.js +1 -0
  5. package/.output/public/assets/ada-D5RRX1i4.js +1 -0
  6. package/.output/public/assets/andromeeda-N4z3YzmR.js +1 -0
  7. package/.output/public/assets/angular-html-BZNntD0J.js +1 -0
  8. package/.output/public/assets/angular-ts-SQQMYL2C.js +1 -0
  9. package/.output/public/assets/apache-DttKlSqg.js +1 -0
  10. package/.output/public/assets/apex-DL7j-a2n.js +1 -0
  11. package/.output/public/assets/apl-D5V6uPDr.js +1 -0
  12. package/.output/public/assets/applescript-DCbL_2FX.js +1 -0
  13. package/.output/public/assets/ara-DqheWJCe.js +1 -0
  14. package/.output/public/assets/asciidoc-BH2sf2K4.js +1 -0
  15. package/.output/public/assets/asm-rfjOMz3U.js +1 -0
  16. package/.output/public/assets/astro-DeXKSaFP.js +1 -0
  17. package/.output/public/assets/aurora-x-CND-FqEb.js +1 -0
  18. package/.output/public/assets/awk-CMV5n9Z7.js +1 -0
  19. package/.output/public/assets/ayu-dark-on7xzq_B.js +1 -0
  20. package/.output/public/assets/ayu-light-DnGeGGc2.js +1 -0
  21. package/.output/public/assets/ayu-mirage-DG3LlYC_.js +1 -0
  22. package/.output/public/assets/ballerina-BjMqJjlr.js +1 -0
  23. package/.output/public/assets/bat-BaVbo_qw.js +1 -0
  24. package/.output/public/assets/beancount-DBt5Mbc_.js +1 -0
  25. package/.output/public/assets/berry-Cyjuxiss.js +1 -0
  26. package/.output/public/assets/bibtex-BV_0nsPq.js +1 -0
  27. package/.output/public/assets/bicep-C2gEwu4J.js +1 -0
  28. package/.output/public/assets/bird2-BRyaEJd0.js +1 -0
  29. package/.output/public/assets/blade-Bu5re0Vg.js +1 -0
  30. package/.output/public/assets/bsl-B1qbqNES.js +1 -0
  31. package/.output/public/assets/c-Nc9zJT78.js +1 -0
  32. package/.output/public/assets/c3-DTTbp5N2.js +1 -0
  33. package/.output/public/assets/cadence-CPz83cmI.js +1 -0
  34. package/.output/public/assets/cairo-BDj8wWhy.js +1 -0
  35. package/.output/public/assets/catppuccin-frappe-Dr22sraq.js +1 -0
  36. package/.output/public/assets/catppuccin-latte-C57EeX8c.js +1 -0
  37. package/.output/public/assets/catppuccin-macchiato-CpheI4uD.js +1 -0
  38. package/.output/public/assets/catppuccin-mocha-D8Lmdks_.js +1 -0
  39. package/.output/public/assets/clarity-CFJ2Yc3q.js +1 -0
  40. package/.output/public/assets/clojure-6R01QgJC.js +1 -0
  41. package/.output/public/assets/cmake-D5rSbMir.js +1 -0
  42. package/.output/public/assets/cobol-nvZDS9LT.js +1 -0
  43. package/.output/public/assets/codeowners-_3A-ClkN.js +1 -0
  44. package/.output/public/assets/codeql-DlIhJTR7.js +1 -0
  45. package/.output/public/assets/coffee-BKLOTq4e.js +1 -0
  46. package/.output/public/assets/common-lisp-BvQzz173.js +1 -0
  47. package/.output/public/assets/coq-DTNXReIC.js +1 -0
  48. package/.output/public/assets/cpp-D6g1DVNt.js +1 -0
  49. package/.output/public/assets/crystal-DfoZI57w.js +1 -0
  50. package/.output/public/assets/csharp-BDKQY1K9.js +1 -0
  51. package/.output/public/assets/css-DRmnABqB.js +1 -0
  52. package/.output/public/assets/csv-DNUpVBxl.js +1 -0
  53. package/.output/public/assets/cue-DDdBc2s3.js +1 -0
  54. package/.output/public/assets/cypher-CguaznO2.js +1 -0
  55. package/.output/public/assets/d-CHcoyjv3.js +1 -0
  56. package/.output/public/assets/dark-plus-CqeW_0kH.js +1 -0
  57. package/.output/public/assets/dart-RM3aRphk.js +1 -0
  58. package/.output/public/assets/dax-nbnY1d79.js +1 -0
  59. package/.output/public/assets/desktop-BD76cvxT.js +1 -0
  60. package/.output/public/assets/diff-CdkWtnkL.js +1 -0
  61. package/.output/public/assets/docker-ZyPHc6zB.js +1 -0
  62. package/.output/public/assets/dotenv-BdJZEwA6.js +1 -0
  63. package/.output/public/assets/dracula-CtqCPLGa.js +1 -0
  64. package/.output/public/assets/dracula-soft-DmBpwRAy.js +1 -0
  65. package/.output/public/assets/dream-maker-BJL4qlg3.js +1 -0
  66. package/.output/public/assets/edge-DwocGnOF.js +1 -0
  67. package/.output/public/assets/elixir-Dtbfds1r.js +1 -0
  68. package/.output/public/assets/elm-CpPtm471.js +1 -0
  69. package/.output/public/assets/emacs-lisp-_LyYa2Ky.js +1 -0
  70. package/.output/public/assets/erb--z3IM9Cb.js +1 -0
  71. package/.output/public/assets/erlang-Bc4hQuqa.js +1 -0
  72. package/.output/public/assets/everforest-dark-CrbyKk4n.js +1 -0
  73. package/.output/public/assets/everforest-light-DRbSh8Tm.js +1 -0
  74. package/.output/public/assets/fennel-CC2BkRsS.js +1 -0
  75. package/.output/public/assets/fish-D2ZCzqcE.js +1 -0
  76. package/.output/public/assets/fluent-DKAm3m7q.js +1 -0
  77. package/.output/public/assets/fortran-fixed-form-B02FOYI-.js +1 -0
  78. package/.output/public/assets/fortran-free-form-BPTf0lbT.js +1 -0
  79. package/.output/public/assets/fsharp-DhdR18vN.js +1 -0
  80. package/.output/public/assets/gdresource-DgnrMPIx.js +1 -0
  81. package/.output/public/assets/gdscript-CsadCSaZ.js +1 -0
  82. package/.output/public/assets/gdshader-PfnN_8tR.js +1 -0
  83. package/.output/public/assets/genie-Bj-orPAV.js +1 -0
  84. package/.output/public/assets/gherkin-COVWpJ-Q.js +1 -0
  85. package/.output/public/assets/git-commit-DGJi7qBD.js +1 -0
  86. package/.output/public/assets/git-rebase-Ce47xoa6.js +1 -0
  87. package/.output/public/assets/github-dark-default-DX3IG_X0.js +1 -0
  88. package/.output/public/assets/github-dark-dimmed-CH6p_7ez.js +1 -0
  89. package/.output/public/assets/github-dark-high-contrast-Bg2sSao5.js +1 -0
  90. package/.output/public/assets/github-dark-ipGuFGYC.js +1 -0
  91. package/.output/public/assets/github-light-BxjqOQl0.js +1 -0
  92. package/.output/public/assets/github-light-default-DwpDd1IQ.js +1 -0
  93. package/.output/public/assets/github-light-high-contrast-C0QeixPf.js +1 -0
  94. package/.output/public/assets/gleam-BF2NigGj.js +1 -0
  95. package/.output/public/assets/glimmer-js-C0BuzxQC.js +1 -0
  96. package/.output/public/assets/glimmer-ts-irOZ-cAQ.js +1 -0
  97. package/.output/public/assets/glsl-JAhLUe0P.js +1 -0
  98. package/.output/public/assets/gn-CMIt9roj.js +1 -0
  99. package/.output/public/assets/gnuplot-DgWlRTEj.js +1 -0
  100. package/.output/public/assets/go-DLnOLj8q.js +1 -0
  101. package/.output/public/assets/graphql-D2ba3BkR.js +1 -0
  102. package/.output/public/assets/groovy-B9qLWIkE.js +1 -0
  103. package/.output/public/assets/gruvbox-dark-hard-BIMX9ePb.js +1 -0
  104. package/.output/public/assets/gruvbox-dark-medium-DxuwyVzM.js +1 -0
  105. package/.output/public/assets/gruvbox-dark-soft-ba2fjht0.js +1 -0
  106. package/.output/public/assets/gruvbox-light-hard-DAJK2PqC.js +1 -0
  107. package/.output/public/assets/gruvbox-light-medium-WRifDAJD.js +1 -0
  108. package/.output/public/assets/gruvbox-light-soft-B0dBOoVB.js +1 -0
  109. package/.output/public/assets/hack-CgzUpY8l.js +1 -0
  110. package/.output/public/assets/haml-C-oIZcDo.js +1 -0
  111. package/.output/public/assets/handlebars-CbP-Mhzf.js +1 -0
  112. package/.output/public/assets/haskell-BaGpmm_c.js +1 -0
  113. package/.output/public/assets/haxe-DfXTCEOz.js +1 -0
  114. package/.output/public/assets/hcl-CbCtpSbi.js +1 -0
  115. package/.output/public/assets/hjson-_4-w-pHU.js +1 -0
  116. package/.output/public/assets/hlsl-DpuYn7pp.js +1 -0
  117. package/.output/public/assets/horizon-C5RtD1fY.js +1 -0
  118. package/.output/public/assets/horizon-bright-pEOice34.js +1 -0
  119. package/.output/public/assets/houston-A0zg9vNP.js +1 -0
  120. package/.output/public/assets/html-ddqpqPg0.js +1 -0
  121. package/.output/public/assets/html-derivative-DWGxf_At.js +1 -0
  122. package/.output/public/assets/http-Bg1nG1nG.js +1 -0
  123. package/.output/public/assets/hurl-zm47Pi1n.js +1 -0
  124. package/.output/public/assets/hxml-adC65L_J.js +1 -0
  125. package/.output/public/assets/hy-t9zDXBje.js +1 -0
  126. package/.output/public/assets/imba-Bxu-TDfw.js +1 -0
  127. package/.output/public/assets/index-CthXqlK7.js +53 -0
  128. package/.output/public/assets/ini-D-v34c8N.js +1 -0
  129. package/.output/public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  130. package/.output/public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  131. package/.output/public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  132. package/.output/public/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  133. package/.output/public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  134. package/.output/public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  135. package/.output/public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  136. package/.output/public/assets/java-DVLnIrqC.js +1 -0
  137. package/.output/public/assets/javascript-Cop1kpy_.js +1 -0
  138. package/.output/public/assets/jinja-Bnj4awH5.js +1 -0
  139. package/.output/public/assets/jison-CuCNs9Q3.js +1 -0
  140. package/.output/public/assets/json-CTw4n7kn.js +1 -0
  141. package/.output/public/assets/json5-D0XL1D5m.js +1 -0
  142. package/.output/public/assets/jsonc-BBgf3TX3.js +1 -0
  143. package/.output/public/assets/jsonl-KrKLbtB7.js +1 -0
  144. package/.output/public/assets/jsonnet-B2ZwWMOt.js +1 -0
  145. package/.output/public/assets/jssm-ByRpI9-B.js +1 -0
  146. package/.output/public/assets/jsx-0oMUGqZj.js +1 -0
  147. package/.output/public/assets/julia-DNYHzXlE.js +1 -0
  148. package/.output/public/assets/just-BlWkkmf2.js +1 -0
  149. package/.output/public/assets/kanagawa-dragon-CtPmcCMp.js +1 -0
  150. package/.output/public/assets/kanagawa-lotus-DpOXEGCa.js +1 -0
  151. package/.output/public/assets/kanagawa-wave-CLVCyc-n.js +1 -0
  152. package/.output/public/assets/kdl-6FPPEH4H.js +1 -0
  153. package/.output/public/assets/kotlin-D4L3Nd2D.js +1 -0
  154. package/.output/public/assets/kusto-D-mmc07O.js +1 -0
  155. package/.output/public/assets/laserwave-7fEj4XGb.js +1 -0
  156. package/.output/public/assets/latex-DqPzjMIt.js +1 -0
  157. package/.output/public/assets/lean-BMVMuP2E.js +1 -0
  158. package/.output/public/assets/less-C95PyOu0.js +1 -0
  159. package/.output/public/assets/light-plus-DHI2dh3p.js +1 -0
  160. package/.output/public/assets/liquid-BURJK16h.js +1 -0
  161. package/.output/public/assets/llvm-Dy3qORTl.js +1 -0
  162. package/.output/public/assets/log-BQop7fzg.js +1 -0
  163. package/.output/public/assets/logo-DKtnYmrp.js +1 -0
  164. package/.output/public/assets/lua-31hdJClp.js +1 -0
  165. package/.output/public/assets/luau-Dha4KG0q.js +1 -0
  166. package/.output/public/assets/make-DfmS6buu.js +1 -0
  167. package/.output/public/assets/markdown-BaI9LyM4.js +1 -0
  168. package/.output/public/assets/marko-C2ZcdSLh.js +1 -0
  169. package/.output/public/assets/material-theme-Dm6ETY8i.js +1 -0
  170. package/.output/public/assets/material-theme-darker-BeyjmM5Z.js +1 -0
  171. package/.output/public/assets/material-theme-lighter-CCOYYzKL.js +1 -0
  172. package/.output/public/assets/material-theme-ocean-CUtPiiX3.js +1 -0
  173. package/.output/public/assets/material-theme-palenight-2L4zMwIM.js +1 -0
  174. package/.output/public/assets/matlab-BT79Cq_j.js +1 -0
  175. package/.output/public/assets/mdc-N1ii9pk5.js +1 -0
  176. package/.output/public/assets/mdx-CxGBwLNt.js +1 -0
  177. package/.output/public/assets/mermaid-DLf3axBN.js +1 -0
  178. package/.output/public/assets/min-dark-B8TUPGHg.js +1 -0
  179. package/.output/public/assets/min-light-BDOoBxcA.js +1 -0
  180. package/.output/public/assets/mipsasm-DXuU_0cI.js +1 -0
  181. package/.output/public/assets/mojo-1Omp2pIo.js +1 -0
  182. package/.output/public/assets/monokai-E_VBmXGZ.js +1 -0
  183. package/.output/public/assets/moonbit-DZzq699o.js +1 -0
  184. package/.output/public/assets/move-DxDAOJVd.js +1 -0
  185. package/.output/public/assets/narrat-CxDcPPb9.js +1 -0
  186. package/.output/public/assets/nextflow-JEyYUlIq.js +1 -0
  187. package/.output/public/assets/nextflow-groovy-wvmJO4hi.js +1 -0
  188. package/.output/public/assets/nginx-BuomO0W8.js +1 -0
  189. package/.output/public/assets/night-owl-DefhalNX.js +1 -0
  190. package/.output/public/assets/night-owl-light-byb3AbEn.js +1 -0
  191. package/.output/public/assets/nim-hKoEPsYL.js +1 -0
  192. package/.output/public/assets/nix-DsFTDHWT.js +1 -0
  193. package/.output/public/assets/nord-D5rQzHT-.js +1 -0
  194. package/.output/public/assets/nushell-BQ_rO0AM.js +1 -0
  195. package/.output/public/assets/objective-c-BMq6JT_m.js +1 -0
  196. package/.output/public/assets/objective-cpp-DRwojuGv.js +1 -0
  197. package/.output/public/assets/ocaml-e4_gKO6E.js +1 -0
  198. package/.output/public/assets/odin-mdTPwYOg.js +1 -0
  199. package/.output/public/assets/one-dark-pro-DxXww9jg.js +1 -0
  200. package/.output/public/assets/one-light-D9c03w7t.js +1 -0
  201. package/.output/public/assets/openscad-D2aTdNfr.js +1 -0
  202. package/.output/public/assets/pascal-D4n_G8vj.js +1 -0
  203. package/.output/public/assets/perl-CAGVW6Ra.js +1 -0
  204. package/.output/public/assets/php-BycclmzS.js +1 -0
  205. package/.output/public/assets/pierre-dark-CizZ1Z5z.js +1 -0
  206. package/.output/public/assets/pierre-light-CHMWfAMe.js +1 -0
  207. package/.output/public/assets/pkl-DcjhAp0L.js +1 -0
  208. package/.output/public/assets/plastic-uOsw7z1x.js +1 -0
  209. package/.output/public/assets/plsql-BSy3Ag0J.js +1 -0
  210. package/.output/public/assets/po-Be96RYkA.js +1 -0
  211. package/.output/public/assets/poimandres-CyO4HORD.js +1 -0
  212. package/.output/public/assets/polar-BmhMKWum.js +1 -0
  213. package/.output/public/assets/postcss-BTQso3H9.js +1 -0
  214. package/.output/public/assets/powerquery-DVyQv3M2.js +1 -0
  215. package/.output/public/assets/powershell-BmtCGJVD.js +1 -0
  216. package/.output/public/assets/prisma-CCFA9rEj.js +1 -0
  217. package/.output/public/assets/prolog-DWGEEo78.js +1 -0
  218. package/.output/public/assets/proto-C3eop1kM.js +1 -0
  219. package/.output/public/assets/pug-4maJHz9G.js +1 -0
  220. package/.output/public/assets/puppet-C0_7Nv5A.js +1 -0
  221. package/.output/public/assets/purescript-Bv-B8yRw.js +1 -0
  222. package/.output/public/assets/python-CKg5r0C3.js +1 -0
  223. package/.output/public/assets/qml-JLIQfzyb.js +1 -0
  224. package/.output/public/assets/qmldir-Cqfb4Lox.js +1 -0
  225. package/.output/public/assets/qss-Csho9BH8.js +1 -0
  226. package/.output/public/assets/r-UcxRcvcA.js +1 -0
  227. package/.output/public/assets/racket-D8-uWeQH.js +1 -0
  228. package/.output/public/assets/raku-Cj4JSa8p.js +1 -0
  229. package/.output/public/assets/razor-P8rbooCh.js +1 -0
  230. package/.output/public/assets/red-z4H4llUY.js +1 -0
  231. package/.output/public/assets/reg-DXGFiJSl.js +1 -0
  232. package/.output/public/assets/regexp-3-A0406L.js +1 -0
  233. package/.output/public/assets/rel-CunnVTBK.js +1 -0
  234. package/.output/public/assets/riscv-C8BcOCkS.js +1 -0
  235. package/.output/public/assets/rolldown-runtime-S-ySWqyJ.js +1 -0
  236. package/.output/public/assets/ron-DiDyR9oa.js +1 -0
  237. package/.output/public/assets/rose-pine-BADquuIH.js +1 -0
  238. package/.output/public/assets/rose-pine-dawn-BLcEeBoh.js +1 -0
  239. package/.output/public/assets/rose-pine-moon-BK_tLY1Y.js +1 -0
  240. package/.output/public/assets/rosmsg-CHmL1Uyj.js +1 -0
  241. package/.output/public/assets/routes-Bp0r03R8.js +2147 -0
  242. package/.output/public/assets/rst-C6GHyL-N.js +1 -0
  243. package/.output/public/assets/ruby-Cl8PVkbY.js +1 -0
  244. package/.output/public/assets/rust-DjJFInu3.js +1 -0
  245. package/.output/public/assets/sas-CXoVwlZN.js +1 -0
  246. package/.output/public/assets/sass-D3xZ5o-v.js +1 -0
  247. package/.output/public/assets/scala-B0IRml5w.js +1 -0
  248. package/.output/public/assets/scheme-BhwcV3Av.js +1 -0
  249. package/.output/public/assets/scss-DNczJ95n.js +1 -0
  250. package/.output/public/assets/sdbl-BmWYR-pI.js +1 -0
  251. package/.output/public/assets/shaderlab-DZ3Lsiak.js +1 -0
  252. package/.output/public/assets/shellscript-DaVPunOM.js +1 -0
  253. package/.output/public/assets/shellsession-COm1V40U.js +1 -0
  254. package/.output/public/assets/slack-dark-DOnVms5P.js +1 -0
  255. package/.output/public/assets/slack-ochin-DcRTft4q.js +1 -0
  256. package/.output/public/assets/smalltalk-DVQuUMII.js +1 -0
  257. package/.output/public/assets/snazzy-light-x9CLJ1W9.js +1 -0
  258. package/.output/public/assets/solarized-dark-BB1sh-pe.js +1 -0
  259. package/.output/public/assets/solarized-light-9-RPS998.js +1 -0
  260. package/.output/public/assets/solidity-gQ4WXILB.js +1 -0
  261. package/.output/public/assets/soy-DwewhJ_3.js +1 -0
  262. package/.output/public/assets/sparql-B9c85a_o.js +1 -0
  263. package/.output/public/assets/splunk-OB48_RcD.js +1 -0
  264. package/.output/public/assets/sql-CrTmZCMa.js +1 -0
  265. package/.output/public/assets/ssh-config-DA9YMRGV.js +1 -0
  266. package/.output/public/assets/stata-Bl--TAbZ.js +1 -0
  267. package/.output/public/assets/styles-DEX5mU_p.css +2 -0
  268. package/.output/public/assets/stylus-sKwvsUaC.js +1 -0
  269. package/.output/public/assets/surrealql-BW79EE-U.js +1 -0
  270. package/.output/public/assets/svelte-ziMErdPi.js +1 -0
  271. package/.output/public/assets/swift-C72NbAtg.js +1 -0
  272. package/.output/public/assets/synthwave-84-eJ9uRN_S.js +1 -0
  273. package/.output/public/assets/system-verilog-CnWMF7Nq.js +1 -0
  274. package/.output/public/assets/systemd-DMzItW5N.js +1 -0
  275. package/.output/public/assets/talonscript-DopQCWDL.js +1 -0
  276. package/.output/public/assets/tasl-C28SYKbq.js +1 -0
  277. package/.output/public/assets/tcl-DHq7zmoF.js +1 -0
  278. package/.output/public/assets/templ-C_9I6ncv.js +1 -0
  279. package/.output/public/assets/terraform-CogS1YKX.js +1 -0
  280. package/.output/public/assets/tex-D8LVuLf5.js +1 -0
  281. package/.output/public/assets/tokyo-night-B9N7LyrF.js +1 -0
  282. package/.output/public/assets/toml-BH_iPsgK.js +1 -0
  283. package/.output/public/assets/ts-tags-DKuFCGsc.js +1 -0
  284. package/.output/public/assets/tsv-BIkdBZX1.js +1 -0
  285. package/.output/public/assets/tsx-BjkCKOtw.js +1 -0
  286. package/.output/public/assets/turtle-CqNXyJWZ.js +1 -0
  287. package/.output/public/assets/twig-Bs1kcsO6.js +1 -0
  288. package/.output/public/assets/typescript-BoHeP9q1.js +1 -0
  289. package/.output/public/assets/typespec-CQ9LYD_e.js +1 -0
  290. package/.output/public/assets/typst-T-Fsk-Sv.js +1 -0
  291. package/.output/public/assets/v-BhMEOw9x.js +1 -0
  292. package/.output/public/assets/vala-DzajMnwt.js +1 -0
  293. package/.output/public/assets/vb-7Xr8dEYW.js +1 -0
  294. package/.output/public/assets/verilog-AvXtwZir.js +1 -0
  295. package/.output/public/assets/vesper-CtgQQ2sf.js +1 -0
  296. package/.output/public/assets/vhdl-BHu0zg1P.js +1 -0
  297. package/.output/public/assets/viml-Di0QpLfC.js +1 -0
  298. package/.output/public/assets/vitesse-black-jXdfyqgD.js +1 -0
  299. package/.output/public/assets/vitesse-dark-B88PxG1r.js +1 -0
  300. package/.output/public/assets/vitesse-light-BXxZh2iV.js +1 -0
  301. package/.output/public/assets/vue-Dnf0y5RU.js +1 -0
  302. package/.output/public/assets/vue-html-CRtKS76J.js +1 -0
  303. package/.output/public/assets/vue-vine-BxjPqU7T.js +1 -0
  304. package/.output/public/assets/vyper-C3R5yXgx.js +1 -0
  305. package/.output/public/assets/wasm-CEUrWlVz.js +1 -0
  306. package/.output/public/assets/wasm-Chsuwt1A.js +1 -0
  307. package/.output/public/assets/wenyan-BonVcr2i.js +1 -0
  308. package/.output/public/assets/wgsl-D59WYmNq.js +1 -0
  309. package/.output/public/assets/wikitext-ariTI2Wk.js +1 -0
  310. package/.output/public/assets/wit-EA4fa3Dt.js +1 -0
  311. package/.output/public/assets/wolfram-DDp7LhyU.js +1 -0
  312. package/.output/public/assets/xml-eU7M3iZJ.js +1 -0
  313. package/.output/public/assets/xsl-DSqe4nTO.js +1 -0
  314. package/.output/public/assets/yaml-BTD1XHJG.js +1 -0
  315. package/.output/public/assets/zenscript-4WaROUyc.js +1 -0
  316. package/.output/public/assets/zig-CJoLJGwV.js +1 -0
  317. package/.output/public/favicon.png +0 -0
  318. package/.output/public/favicon.svg +7 -0
  319. package/.output/public/manifest.json +28 -0
  320. package/.output/public/robots.txt +3 -0
  321. package/.output/public/screenshots/pico-workspace-alt.png +0 -0
  322. package/.output/public/screenshots/pico-workspace.png +0 -0
  323. package/.output/public/sounds/session-done.mp3 +0 -0
  324. package/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs +5 -0
  325. package/.output/server/_chunks/ssr-renderer.mjs +15 -0
  326. package/.output/server/_libs/@base-ui/react+[...].mjs +14407 -0
  327. package/.output/server/_libs/@dnd-kit/core+[...].mjs +2748 -0
  328. package/.output/server/_libs/@pierre/diffs+[...].mjs +19074 -0
  329. package/.output/server/_libs/@pierre/trees+[...].mjs +9236 -0
  330. package/.output/server/_libs/@radix-ui/react-dialog+[...].mjs +1789 -0
  331. package/.output/server/_libs/@radix-ui/react-primitive+[...].mjs +136 -0
  332. package/.output/server/_libs/@tanstack/devtools-event-client+[...].mjs +196 -0
  333. package/.output/server/_libs/@tanstack/hotkeys+[...].mjs +1607 -0
  334. package/.output/server/_libs/@tanstack/react-router+[...].mjs +13950 -0
  335. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +90 -0
  336. package/.output/server/_libs/bail.mjs +13 -0
  337. package/.output/server/_libs/character-entities.mjs +2135 -0
  338. package/.output/server/_libs/class-variance-authority+clsx.mjs +69 -0
  339. package/.output/server/_libs/cmdk.mjs +473 -0
  340. package/.output/server/_libs/decode-named-character-reference+[...].mjs +19 -0
  341. package/.output/server/_libs/devlop.mjs +5 -0
  342. package/.output/server/_libs/diff.mjs +732 -0
  343. package/.output/server/_libs/dnd-kit__accessibility.mjs +46 -0
  344. package/.output/server/_libs/dnd-kit__sortable.mjs +400 -0
  345. package/.output/server/_libs/escape-string-regexp.mjs +7 -0
  346. package/.output/server/_libs/estree-util-is-identifier-name.mjs +20 -0
  347. package/.output/server/_libs/extend.mjs +75 -0
  348. package/.output/server/_libs/h3+rou3+srvx.mjs +1210 -0
  349. package/.output/server/_libs/hast-util-to-jsx-runtime+[...].mjs +1244 -0
  350. package/.output/server/_libs/hookable.mjs +41 -0
  351. package/.output/server/_libs/html-url-attributes.mjs +44 -0
  352. package/.output/server/_libs/is-plain-obj.mjs +8 -0
  353. package/.output/server/_libs/longest-streak.mjs +29 -0
  354. package/.output/server/_libs/lucide-react.mjs +632 -0
  355. package/.output/server/_libs/markdown-table.mjs +289 -0
  356. package/.output/server/_libs/mdast-util-find-and-replace+[...].mjs +636 -0
  357. package/.output/server/_libs/mdast-util-from-markdown+[...].mjs +8409 -0
  358. package/.output/server/_libs/mdast-util-gfm+[...].mjs +2346 -0
  359. package/.output/server/_libs/mdast-util-to-hast+[...].mjs +1772 -0
  360. package/.output/server/_libs/micromark-extension-gfm+[...].mjs +2234 -0
  361. package/.output/server/_libs/next-themes.mjs +124 -0
  362. package/.output/server/_libs/pierre__theme.mjs +10 -0
  363. package/.output/server/_libs/radix-ui__primitive.mjs +9 -0
  364. package/.output/server/_libs/radix-ui__react-compose-refs.mjs +30 -0
  365. package/.output/server/_libs/radix-ui__react-context.mjs +88 -0
  366. package/.output/server/_libs/react-markdown+[...].mjs +2316 -0
  367. package/.output/server/_libs/remark-gfm.mjs +34 -0
  368. package/.output/server/_libs/shiki.mjs +16 -0
  369. package/.output/server/_libs/shikijs__langs.mjs +1355 -0
  370. package/.output/server/_libs/shikijs__themes.mjs +262 -0
  371. package/.output/server/_libs/sonner.mjs +908 -0
  372. package/.output/server/_libs/sugar-high.mjs +1036 -0
  373. package/.output/server/_libs/tailwind-merge.mjs +1962 -0
  374. package/.output/server/_libs/tanstack__history.mjs +342 -0
  375. package/.output/server/_libs/tanstack__pacer.mjs +1111 -0
  376. package/.output/server/_libs/tanstack__query-core.mjs +2202 -0
  377. package/.output/server/_libs/tanstack__react-hotkeys.mjs +152 -0
  378. package/.output/server/_libs/tanstack__react-query.mjs +180 -0
  379. package/.output/server/_libs/tanstack__react-store.mjs +39 -0
  380. package/.output/server/_libs/tanstack__router-core.mjs +6 -0
  381. package/.output/server/_libs/tanstack__store.mjs +28 -0
  382. package/.output/server/_libs/ufo.mjs +64 -0
  383. package/.output/server/_libs/unctx.mjs +82 -0
  384. package/.output/server/_libs/ungap__structured-clone.mjs +197 -0
  385. package/.output/server/_libs/vaul.mjs +1250 -0
  386. package/.output/server/_libs/zod.mjs +3341 -0
  387. package/.output/server/_runtime.mjs +35 -0
  388. package/.output/server/_ssr/router-Bz70uQ0p.mjs +7231 -0
  389. package/.output/server/_ssr/routes-C7oV8l68.mjs +21622 -0
  390. package/.output/server/_ssr/routes-DGvt0TQ-.mjs +1275 -0
  391. package/.output/server/_ssr/ssr.mjs +5176 -0
  392. package/.output/server/_ssr/start-C9AjCGlr.mjs +4 -0
  393. package/.output/server/_tanstack-start-manifest_v-D0yEuwRY.mjs +65 -0
  394. package/.output/server/index.mjs +2563 -0
  395. package/.output/server/node_modules/tslib/modules/index.js +70 -0
  396. package/.output/server/node_modules/tslib/modules/package.json +3 -0
  397. package/.output/server/node_modules/tslib/package.json +47 -0
  398. package/.output/server/node_modules/tslib/tslib.js +484 -0
  399. package/.output/server/package.json +9 -0
  400. package/LICENSE +8 -0
  401. package/README.md +111 -0
  402. package/bin/pico.mjs +206 -0
  403. package/package.json +105 -0
  404. package/public/screenshots/pico-workspace-alt.png +0 -0
  405. package/public/screenshots/pico-workspace.png +0 -0
  406. package/scripts/patch-react-jsx-dev-runtime.mjs +93 -0
package/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # Pico
2
+
3
+ Pico is a local, keyboard-friendly browser workspace for Pi coding-agent sessions.
4
+
5
+ It gives you a persistent session browser, a live conversation shell, git tools, and project-aware prompt helpers in one app.
6
+
7
+ ![Pico workspace showing the session browser, conversation shell, composer, and git tools](./public/screenshots/pico-workspace.png)
8
+
9
+ ![Pico workspace showing project-aware context and coding-agent workflow](./public/screenshots/pico-workspace-alt.png)
10
+
11
+ ## What Pico gives you
12
+
13
+ - A fast conversation shell for Pi sessions
14
+ - Directory-organized session browsing
15
+ - Session search, rename, delete, fork, and tree navigation
16
+ - Streaming responses with abort, steer, and queued follow-ups
17
+ - Prompt drafts, image attachments, slash commands, path completions, and `@file` references
18
+ - Model and thinking-level controls
19
+ - Optional hiding of thinking/tool output
20
+ - Git status, changed files, commits, branches, pull, push, and commit flows
21
+ - Desktop notifications, sound, and unread/live session indicators
22
+ - Settings for theme, display, auth, and completion notifications
23
+
24
+ ## Built on Pi
25
+
26
+ Pico runs Pi locally through the bundled `@mariozechner/pi-coding-agent` SDK dependency, pinned to `0.73.1` for reproducible installs. You do not need a separate global Pi install for normal use.
27
+
28
+ If you intentionally want to test Pico against a different Pi SDK checkout or install, set:
29
+
30
+ ```bash
31
+ PI_REMOTE_PI_SDK_DIR=/path/to/pi-coding-agent
32
+ ```
33
+
34
+ To update the bundled Pi SDK dependency:
35
+
36
+ ```bash
37
+ pnpm update:pi
38
+ ```
39
+
40
+ ## Getting started
41
+
42
+ Run Pico without cloning the repo:
43
+
44
+ ```bash
45
+ npx @alivault/pico
46
+ ```
47
+
48
+ Or install it globally:
49
+
50
+ ```bash
51
+ npm install -g @alivault/pico
52
+ pico-app
53
+ ```
54
+
55
+ Pico starts locally and opens:
56
+
57
+ ```text
58
+ http://localhost:3141
59
+ ```
60
+
61
+ You can choose a different port with:
62
+
63
+ ```bash
64
+ pico-app --port 3000
65
+ ```
66
+
67
+ ## Developing from source
68
+
69
+ Install dependencies:
70
+
71
+ ```bash
72
+ pnpm install
73
+ ```
74
+
75
+ Start Pico in development mode:
76
+
77
+ ```bash
78
+ pnpm dev
79
+ ```
80
+
81
+ Then open:
82
+
83
+ ```text
84
+ http://localhost:3141
85
+ ```
86
+
87
+ ## Development commands
88
+
89
+ ```bash
90
+ pnpm dev # start the dev server
91
+ pnpm build # build for production
92
+ pnpm preview # preview the production build
93
+ pnpm check # format/lint/typecheck
94
+ pnpm check:fix # format/lint/typecheck with fixes
95
+ ```
96
+
97
+ ## Tech stack
98
+
99
+ Pico is built with:
100
+
101
+ - TanStack Start, Router, Query, Store, Hotkeys, and Pacer
102
+ - React 19
103
+ - TypeScript
104
+ - Vite+ and Nitro
105
+ - Tailwind CSS v4
106
+ - Base UI / shadcn-style components
107
+ - Pi SDK
108
+
109
+ ## License
110
+
111
+ Pico is licensed under AGPL-3.0-only. See [LICENSE](./LICENSE).
package/bin/pico.mjs ADDED
@@ -0,0 +1,206 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { spawn } from "node:child_process"
4
+ import { existsSync, readFileSync } from "node:fs"
5
+ import process from "node:process"
6
+ import { dirname, join } from "node:path"
7
+ import { fileURLToPath } from "node:url"
8
+
9
+ const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)))
10
+ const packageJsonPath = join(packageRoot, "package.json")
11
+ const serverEntry = join(packageRoot, ".output", "server", "index.mjs")
12
+
13
+ function readPackageVersion() {
14
+ try {
15
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"))
16
+ return typeof packageJson.version === "string"
17
+ ? packageJson.version
18
+ : "0.0.0"
19
+ } catch {
20
+ return "0.0.0"
21
+ }
22
+ }
23
+
24
+ function printHelp() {
25
+ console.log(`Pico - local browser workspace for Pi coding-agent sessions
26
+
27
+ Usage:
28
+ pico-app [options]
29
+
30
+ Options:
31
+ --port <port> Port to listen on (default: 3141)
32
+ --host <host> Host to bind to
33
+ --open Open Pico in your browser (default)
34
+ --no-open Do not open a browser window
35
+ --version Print the Pico version
36
+ --help Show this help message
37
+
38
+ Environment:
39
+ PICO_PORT Port to listen on
40
+ PICO_HOST Host to bind to
41
+ PORT Fallback port used by the server
42
+ HOST Fallback host used by the server
43
+ `)
44
+ }
45
+
46
+ function readOptionValue(args, index, name) {
47
+ const value = args[index + 1]
48
+ if (!value || value.startsWith("-")) {
49
+ console.error(`Missing value for ${name}`)
50
+ process.exit(1)
51
+ }
52
+ return value
53
+ }
54
+
55
+ function parseArgs(args) {
56
+ const options = {
57
+ open: process.env.PICO_OPEN !== "0",
58
+ port: process.env.PICO_PORT || process.env.PORT || "3141",
59
+ host: process.env.PICO_HOST || process.env.HOST || undefined,
60
+ }
61
+
62
+ for (let index = 0; index < args.length; index += 1) {
63
+ const arg = args[index]
64
+
65
+ if (arg === "--help") {
66
+ printHelp()
67
+ process.exit(0)
68
+ }
69
+
70
+ if (arg === "--version") {
71
+ console.log(readPackageVersion())
72
+ process.exit(0)
73
+ }
74
+
75
+ if (arg === "--open") {
76
+ options.open = true
77
+ continue
78
+ }
79
+
80
+ if (arg === "--no-open") {
81
+ options.open = false
82
+ continue
83
+ }
84
+
85
+ if (arg === "--port") {
86
+ options.port = readOptionValue(args, index, "--port")
87
+ index += 1
88
+ continue
89
+ }
90
+
91
+ if (arg.startsWith("--port=")) {
92
+ options.port = arg.slice("--port=".length)
93
+ continue
94
+ }
95
+
96
+ if (arg === "--host") {
97
+ options.host = readOptionValue(args, index, "--host")
98
+ index += 1
99
+ continue
100
+ }
101
+
102
+ if (arg.startsWith("--host=")) {
103
+ options.host = arg.slice("--host=".length)
104
+ continue
105
+ }
106
+
107
+ console.error(`Unknown option: ${arg}`)
108
+ console.error("Run `pico-app --help` for usage.")
109
+ process.exit(1)
110
+ }
111
+
112
+ return options
113
+ }
114
+
115
+ function browserHostFor(host) {
116
+ if (!host || host === "0.0.0.0" || host === "::") {
117
+ return "localhost"
118
+ }
119
+ return host
120
+ }
121
+
122
+ async function waitForServer(url, timeoutMs = 15_000) {
123
+ const startedAt = Date.now()
124
+
125
+ while (Date.now() - startedAt < timeoutMs) {
126
+ try {
127
+ const response = await fetch(url, { method: "HEAD" })
128
+ if (response.status < 500) return true
129
+ } catch {
130
+ // Server is not ready yet.
131
+ }
132
+
133
+ await new Promise((resolve) => setTimeout(resolve, 250))
134
+ }
135
+
136
+ return false
137
+ }
138
+
139
+ function openBrowser(url) {
140
+ const opener = (() => {
141
+ if (process.platform === "darwin") return ["open", [url]]
142
+ if (process.platform === "win32") return ["cmd", ["/c", "start", "", url]]
143
+ return ["xdg-open", [url]]
144
+ })()
145
+
146
+ const child = spawn(opener[0], opener[1], {
147
+ detached: true,
148
+ stdio: "ignore",
149
+ })
150
+ child.unref()
151
+ }
152
+
153
+ const options = parseArgs(process.argv.slice(2))
154
+
155
+ if (!existsSync(serverEntry)) {
156
+ console.error("Pico server build was not found in this package.")
157
+ console.error("If you are developing Pico locally, run `pnpm build` first.")
158
+ process.exit(1)
159
+ }
160
+
161
+ const url = `http://${browserHostFor(options.host)}:${options.port}`
162
+
163
+ console.log(`Starting Pico at ${url}`)
164
+ console.log("Press Ctrl+C to stop.")
165
+
166
+ const server = spawn(process.execPath, [serverEntry], {
167
+ stdio: "inherit",
168
+ env: {
169
+ ...process.env,
170
+ PORT: options.port,
171
+ NITRO_PORT: options.port,
172
+ ...(options.host
173
+ ? {
174
+ HOST: options.host,
175
+ NITRO_HOST: options.host,
176
+ }
177
+ : {}),
178
+ },
179
+ })
180
+
181
+ if (options.open) {
182
+ void waitForServer(url).then((isReady) => {
183
+ if (isReady) openBrowser(url)
184
+ })
185
+ }
186
+
187
+ for (const signal of ["SIGINT", "SIGTERM"]) {
188
+ process.once(signal, () => {
189
+ if (!server.killed) {
190
+ server.kill(signal)
191
+ setTimeout(() => process.exit(1), 5_000).unref()
192
+ return
193
+ }
194
+
195
+ process.exit(1)
196
+ })
197
+ }
198
+
199
+ server.on("exit", (code, signal) => {
200
+ if (signal) {
201
+ process.kill(process.pid, signal)
202
+ return
203
+ }
204
+
205
+ process.exit(code ?? 0)
206
+ })
package/package.json ADDED
@@ -0,0 +1,105 @@
1
+ {
2
+ "name": "@alivault/pico",
3
+ "version": "0.1.0",
4
+ "description": "A local, keyboard-friendly browser workspace for Pi coding-agent sessions.",
5
+ "license": "AGPL-3.0-only",
6
+ "type": "module",
7
+ "bin": {
8
+ "pico-app": "bin/pico.mjs"
9
+ },
10
+ "files": [
11
+ ".output",
12
+ "bin",
13
+ "scripts/patch-react-jsx-dev-runtime.mjs",
14
+ "public/screenshots",
15
+ "README.md",
16
+ "LICENSE"
17
+ ],
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/alivault/pico.git"
21
+ },
22
+ "homepage": "https://github.com/alivault/pico#readme",
23
+ "bugs": {
24
+ "url": "https://github.com/alivault/pico/issues"
25
+ },
26
+ "engines": {
27
+ "node": ">=20.6.0"
28
+ },
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "scripts": {
33
+ "dev": "vp dev",
34
+ "build": "vp build && node ./scripts/patch-react-jsx-dev-runtime.mjs",
35
+ "start": "node ./bin/pico.mjs",
36
+ "prepack": "pnpm build",
37
+ "preview": "vp preview",
38
+ "lint": "vp lint",
39
+ "format": "vp fmt",
40
+ "check": "vp check",
41
+ "check:fix": "vp check --fix",
42
+ "update:pi": "pnpm update @mariozechner/pi-coding-agent --latest"
43
+ },
44
+ "dependencies": {
45
+ "@base-ui/react": "^1.4.0",
46
+ "@dnd-kit/core": "^6.3.1",
47
+ "@dnd-kit/sortable": "^10.0.0",
48
+ "@dnd-kit/utilities": "^3.2.2",
49
+ "@fontsource-variable/inter": "^5.2.8",
50
+ "@mariozechner/pi-coding-agent": "0.73.1",
51
+ "@pierre/diffs": "^1.1.20",
52
+ "@pierre/trees": "1.0.0-beta.3",
53
+ "@tailwindcss/vite": "^4.2.1",
54
+ "@tanstack/pacer": "^0.21.0",
55
+ "@tanstack/react-devtools": "^0.10.0",
56
+ "@tanstack/react-hotkeys": "^0.10.0",
57
+ "@tanstack/react-query": "^5.99.0",
58
+ "@tanstack/react-router": "^1.167.4",
59
+ "@tanstack/react-router-devtools": "^1.166.9",
60
+ "@tanstack/react-router-ssr-query": "^1.166.9",
61
+ "@tanstack/react-start": "^1.166.15",
62
+ "@tanstack/react-store": "^0.11.0",
63
+ "@tanstack/router-plugin": "^1.166.13",
64
+ "@tanstack/store": "^0.11.0",
65
+ "class-variance-authority": "^0.7.1",
66
+ "clsx": "^2.1.1",
67
+ "cmdk": "^1.1.1",
68
+ "date-fns": "^4.1.0",
69
+ "diff": "^9.0.0",
70
+ "lucide-react": "^1.8.0",
71
+ "next-themes": "^0.4.6",
72
+ "nitro": "latest",
73
+ "react": "^19.2.4",
74
+ "react-dom": "^19.2.4",
75
+ "react-markdown": "^10.1.0",
76
+ "react-resizable-panels": "^4.10.0",
77
+ "remark-gfm": "^4.0.1",
78
+ "shadcn": "^4.3.0",
79
+ "sonner": "^2.0.7",
80
+ "sugar-high": "^1.1.0",
81
+ "tailwind-merge": "^3.5.0",
82
+ "tailwindcss": "^4.2.1",
83
+ "tslib": "^2.8.1",
84
+ "tw-animate-css": "^1.4.0",
85
+ "vaul": "^1.1.2",
86
+ "vite-tsconfig-paths": "^5.1.4",
87
+ "zod": "^4.3.6"
88
+ },
89
+ "devDependencies": {
90
+ "@rolldown/plugin-babel": "^0.2.3",
91
+ "@tailwindcss/typography": "^0.5.19",
92
+ "@tanstack/devtools-vite": "^0.6.0",
93
+ "@types/node": "^22.19.15",
94
+ "@types/react": "^19.2.14",
95
+ "@types/react-dom": "^19.2.3",
96
+ "@vitejs/plugin-react": "^6.0.1",
97
+ "babel-plugin-react-compiler": "^1.0.0",
98
+ "react-scan": "^0.5.3",
99
+ "typescript": "^5.9.3",
100
+ "vite": "catalog:",
101
+ "vite-plus": "catalog:",
102
+ "web-vitals": "^5.1.0"
103
+ },
104
+ "packageManager": "pnpm@10.33.0"
105
+ }
@@ -0,0 +1,93 @@
1
+ import { existsSync, readFileSync, readdirSync, writeFileSync } from "node:fs"
2
+ import { join } from "node:path"
3
+ import process from "node:process"
4
+
5
+ const reactRuntimePath = join(
6
+ process.cwd(),
7
+ ".output",
8
+ "server",
9
+ "_libs",
10
+ "react.mjs"
11
+ )
12
+
13
+ if (!existsSync(reactRuntimePath)) {
14
+ console.warn(
15
+ "Pico postbuild: React runtime bundle not found, skipping patch."
16
+ )
17
+ process.exit(0)
18
+ }
19
+
20
+ const source = readFileSync(reactRuntimePath, "utf8")
21
+ const oldRuntime = `var require_react_jsx_dev_runtime_production = /* @__PURE__ */ __commonJSMin(((exports) => {
22
+ \texports.Fragment = Symbol.for("react.fragment");
23
+ \texports.jsxDEV = void 0;
24
+ }));`
25
+
26
+ const patchedRuntime = `var require_react_jsx_dev_runtime_production = /* @__PURE__ */ __commonJSMin(((exports) => {
27
+ \tvar REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
28
+ \tfunction jsxProd(type, config, maybeKey) {
29
+ \t\tvar key = null, propName, props;
30
+ \t\tvoid 0 !== maybeKey && (key = "" + maybeKey);
31
+ \t\tconfig == null && (config = {});
32
+ \t\tvoid 0 !== config.key && (key = "" + config.key);
33
+ \t\tif ("key" in config) {
34
+ \t\t\tprops = {};
35
+ \t\t\tfor (propName in config) "key" !== propName && (props[propName] = config[propName]);
36
+ \t\t} else props = config;
37
+ \t\tconfig = props.ref;
38
+ \t\treturn {
39
+ \t\t\t$$typeof: REACT_ELEMENT_TYPE,
40
+ \t\t\ttype: type,
41
+ \t\t\tkey: key,
42
+ \t\t\tref: void 0 !== config ? config : null,
43
+ \t\t\tprops: props
44
+ \t\t};
45
+ \t}
46
+ \texports.Fragment = REACT_FRAGMENT_TYPE;
47
+ \texports.jsxDEV = jsxProd;
48
+ }));`
49
+
50
+ if (!source.includes(oldRuntime)) {
51
+ console.warn(
52
+ "Pico postbuild: React jsxDEV runtime did not match, skipping patch."
53
+ )
54
+ process.exit(0)
55
+ }
56
+
57
+ writeFileSync(
58
+ reactRuntimePath,
59
+ source.replace(oldRuntime, () => patchedRuntime)
60
+ )
61
+ console.log("Pico postbuild: patched React jsxDEV runtime for SSR.")
62
+
63
+ const ssrDir = join(process.cwd(), ".output", "server", "_ssr")
64
+ let patchedVoidCalls = 0
65
+
66
+ if (existsSync(ssrDir)) {
67
+ for (const entry of readdirSync(ssrDir)) {
68
+ if (!entry.endsWith(".mjs")) continue
69
+
70
+ const filePath = join(ssrDir, entry)
71
+ const chunk = readFileSync(filePath, "utf8")
72
+ if (
73
+ !chunk.includes("var import_jsx_dev_runtime = require_jsx_dev_runtime();")
74
+ ) {
75
+ continue
76
+ }
77
+
78
+ const nextChunk = chunk.replaceAll(
79
+ "(void 0)(",
80
+ "(0, import_jsx_dev_runtime.jsxDEV)("
81
+ )
82
+ if (nextChunk === chunk) continue
83
+
84
+ writeFileSync(filePath, nextChunk)
85
+ patchedVoidCalls += 1
86
+ }
87
+ }
88
+
89
+ if (patchedVoidCalls > 0) {
90
+ console.log(
91
+ `Pico postbuild: patched ${patchedVoidCalls} SSR chunk(s) with jsxDEV calls.`
92
+ )
93
+ }