zl-code 0.0.28

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 (415) hide show
  1. package/LICENSE +4364 -0
  2. package/dist/BunPtyAdapter-Dv4TIbHu.mjs +120 -0
  3. package/dist/NodePtyAdapter-BD2yuv0S.mjs +116 -0
  4. package/dist/NodeSqliteClient-Di95o_wK.mjs +190 -0
  5. package/dist/PtyAdapter-CuvX_Afe.mjs +43 -0
  6. package/dist/bin.mjs +92934 -0
  7. package/dist/client/apple-touch-icon.png +0 -0
  8. package/dist/client/assets/DiffPanel-B4RSrZzS.js +97 -0
  9. package/dist/client/assets/FilePreviewPanel-DChPJ7tF.js +1777 -0
  10. package/dist/client/assets/PreviewPanel-Cy2rgpmd.js +1 -0
  11. package/dist/client/assets/abap-CLvhMVsD.js +1 -0
  12. package/dist/client/assets/actionscript-3--17pq3dv.js +1 -0
  13. package/dist/client/assets/ada-C5qYipkI.js +1 -0
  14. package/dist/client/assets/andromeeda-WkhI09AS.js +1 -0
  15. package/dist/client/assets/andromeeda-vGVdxbeo.js +1 -0
  16. package/dist/client/assets/angular-html-B1bl_mez.js +1 -0
  17. package/dist/client/assets/angular-ts-C7BaZv2O.js +1 -0
  18. package/dist/client/assets/apache-U0d_L8uA.js +1 -0
  19. package/dist/client/assets/apex-VAyPSnFM.js +1 -0
  20. package/dist/client/assets/apl-Blk1YK3R.js +1 -0
  21. package/dist/client/assets/applescript-CCn79oCD.js +1 -0
  22. package/dist/client/assets/ara-4CJ0cIlV.js +1 -0
  23. package/dist/client/assets/asciidoc-DE70LPWp.js +1 -0
  24. package/dist/client/assets/asm-Cmm7eHzH.js +1 -0
  25. package/dist/client/assets/astro-CkkDzAx2.js +1 -0
  26. package/dist/client/assets/aurora-x-C7CFqhAd.js +1 -0
  27. package/dist/client/assets/aurora-x-CDeNXAV0.js +1 -0
  28. package/dist/client/assets/awk-BWXHIvNe.js +1 -0
  29. package/dist/client/assets/ayu-dark-CRu61w6_.js +1 -0
  30. package/dist/client/assets/ayu-dark-DluEY0Gj.js +1 -0
  31. package/dist/client/assets/ayu-light-C3h-C4tm.js +1 -0
  32. package/dist/client/assets/ayu-light-Dn6O_aYR.js +1 -0
  33. package/dist/client/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  34. package/dist/client/assets/ayu-mirage-CTjYAbs-.js +1 -0
  35. package/dist/client/assets/ballerina-B7ZEbQpA.js +1 -0
  36. package/dist/client/assets/bat-Bo4NYOV-.js +1 -0
  37. package/dist/client/assets/beancount-D-usSTwE.js +1 -0
  38. package/dist/client/assets/berry-DKpUyyne.js +1 -0
  39. package/dist/client/assets/bibtex-Ci_nEsc7.js +1 -0
  40. package/dist/client/assets/bicep-CUHmPFLl.js +1 -0
  41. package/dist/client/assets/bird2-C6vDhewU.js +1 -0
  42. package/dist/client/assets/blade-DgQlyuaS.js +1 -0
  43. package/dist/client/assets/bsl-BkkzgIyY.js +1 -0
  44. package/dist/client/assets/c-B6S4BMb9.js +1 -0
  45. package/dist/client/assets/c3-BFHwR3_K.js +1 -0
  46. package/dist/client/assets/cadence-CQ2zXKGN.js +1 -0
  47. package/dist/client/assets/cairo-DLTphjLi.js +1 -0
  48. package/dist/client/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
  49. package/dist/client/assets/catppuccin-frappe-DFlFW5gh.js +1 -0
  50. package/dist/client/assets/catppuccin-latte-CpxdcXpJ.js +1 -0
  51. package/dist/client/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
  52. package/dist/client/assets/catppuccin-macchiato-DIdIQ04K.js +1 -0
  53. package/dist/client/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
  54. package/dist/client/assets/catppuccin-mocha-Co3Xjl64.js +1 -0
  55. package/dist/client/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
  56. package/dist/client/assets/clarity-SemFz856.js +1 -0
  57. package/dist/client/assets/clojure-DqKBuwfJ.js +1 -0
  58. package/dist/client/assets/cmake-Bj61d0ZC.js +1 -0
  59. package/dist/client/assets/cobol-DWYE6sxd.js +1 -0
  60. package/dist/client/assets/codeowners-C8r90Shi.js +1 -0
  61. package/dist/client/assets/codeql-oeQT6MSM.js +1 -0
  62. package/dist/client/assets/coffee-C4kN6t4N.js +1 -0
  63. package/dist/client/assets/common-lisp-Cv5bFMCO.js +1 -0
  64. package/dist/client/assets/coq-BrsZFFmf.js +1 -0
  65. package/dist/client/assets/cpp-Dplu-MWO.js +1 -0
  66. package/dist/client/assets/crystal-CHQAArp6.js +1 -0
  67. package/dist/client/assets/csharp-oqKa8noW.js +1 -0
  68. package/dist/client/assets/css-D2hCWIkm.js +1 -0
  69. package/dist/client/assets/csv-Dx-8-gkx.js +1 -0
  70. package/dist/client/assets/cue-CE9AQfxI.js +1 -0
  71. package/dist/client/assets/cypher-ClKdZ_lG.js +1 -0
  72. package/dist/client/assets/d-qD-0Kul2.js +1 -0
  73. package/dist/client/assets/dark-plus-Cs2F2srj.js +1 -0
  74. package/dist/client/assets/dark-plus-GAt2ZgX8.js +1 -0
  75. package/dist/client/assets/dart-CnvKMtbv.js +1 -0
  76. package/dist/client/assets/dax-BkyTk9wS.js +1 -0
  77. package/dist/client/assets/desktop-Dlh5hvp9.js +1 -0
  78. package/dist/client/assets/diff-woXpYk--.js +1 -0
  79. package/dist/client/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2 +0 -0
  80. package/dist/client/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2 +0 -0
  81. package/dist/client/assets/docker-IyjqRm3v.js +1 -0
  82. package/dist/client/assets/dotenv-_5a1GRtc.js +1 -0
  83. package/dist/client/assets/dracula-BHWKrbxM.js +1 -0
  84. package/dist/client/assets/dracula-C2uKkzgK.js +1 -0
  85. package/dist/client/assets/dracula-soft-5eyTD99u.js +1 -0
  86. package/dist/client/assets/dracula-soft-D1bVjxWZ.js +1 -0
  87. package/dist/client/assets/dream-maker-DW3nJb8Q.js +1 -0
  88. package/dist/client/assets/edge-Dk_H1aHC.js +1 -0
  89. package/dist/client/assets/elixir-B5fytRcb.js +1 -0
  90. package/dist/client/assets/elm-DImvblX6.js +1 -0
  91. package/dist/client/assets/emacs-lisp-B4R74twV.js +1 -0
  92. package/dist/client/assets/erb-CYhRZJbQ.js +1 -0
  93. package/dist/client/assets/erlang-Cphh6RMH.js +1 -0
  94. package/dist/client/assets/everforest-dark-D-DlICQR.js +1 -0
  95. package/dist/client/assets/everforest-dark-sB-x3p7T.js +1 -0
  96. package/dist/client/assets/everforest-light-CeVdGHYG.js +1 -0
  97. package/dist/client/assets/everforest-light-Df2xbC6M.js +1 -0
  98. package/dist/client/assets/fennel-DQxkIbk2.js +1 -0
  99. package/dist/client/assets/fileCommentAnnotations-vr5n8hW8.js +1 -0
  100. package/dist/client/assets/fish-BJitypiv.js +1 -0
  101. package/dist/client/assets/fluent-C03EYrpw.js +1 -0
  102. package/dist/client/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
  103. package/dist/client/assets/fortran-free-form-CYNrtFtB.js +1 -0
  104. package/dist/client/assets/fsharp-D13ZGOAj.js +1 -0
  105. package/dist/client/assets/gdresource-C0sCabJj.js +1 -0
  106. package/dist/client/assets/gdscript-Cp2uCuqX.js +1 -0
  107. package/dist/client/assets/gdshader-CBce3t8t.js +1 -0
  108. package/dist/client/assets/genie-CV2tkWYe.js +1 -0
  109. package/dist/client/assets/gherkin-DExj1W_8.js +1 -0
  110. package/dist/client/assets/git-commit-BSykSTBG.js +1 -0
  111. package/dist/client/assets/git-rebase-CJCDNFVy.js +1 -0
  112. package/dist/client/assets/github-dark-C-LZuMrd.js +1 -0
  113. package/dist/client/assets/github-dark-DwbbXv51.js +1 -0
  114. package/dist/client/assets/github-dark-default-CxjRwzl6.js +1 -0
  115. package/dist/client/assets/github-dark-default-DXG-b-1a.js +1 -0
  116. package/dist/client/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  117. package/dist/client/assets/github-dark-dimmed-Cr1oaoul.js +1 -0
  118. package/dist/client/assets/github-dark-high-contrast-B4qJZLZa.js +1 -0
  119. package/dist/client/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  120. package/dist/client/assets/github-light-CsVXhIlR.js +1 -0
  121. package/dist/client/assets/github-light-EUqPIrTm.js +1 -0
  122. package/dist/client/assets/github-light-default-BXViO-2h.js +1 -0
  123. package/dist/client/assets/github-light-default-DB_IwZa6.js +1 -0
  124. package/dist/client/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  125. package/dist/client/assets/github-light-high-contrast-DLgVeSB-.js +1 -0
  126. package/dist/client/assets/gleam-CSRkHgEL.js +1 -0
  127. package/dist/client/assets/glimmer-js-CX6nPbiA.js +1 -0
  128. package/dist/client/assets/glimmer-ts-B9m-2HQ0.js +1 -0
  129. package/dist/client/assets/glsl-CBhpvhdC.js +1 -0
  130. package/dist/client/assets/gn-ilITqXS6.js +1 -0
  131. package/dist/client/assets/gnuplot-7GGW24-e.js +1 -0
  132. package/dist/client/assets/go-rLFTqkRN.js +1 -0
  133. package/dist/client/assets/graphql-Br1-GroV.js +1 -0
  134. package/dist/client/assets/groovy-CacY0gHj.js +1 -0
  135. package/dist/client/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  136. package/dist/client/assets/gruvbox-dark-hard-DXm60lX3.js +1 -0
  137. package/dist/client/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  138. package/dist/client/assets/gruvbox-dark-medium-GE2thSmD.js +1 -0
  139. package/dist/client/assets/gruvbox-dark-soft-04Cj-4VZ.js +1 -0
  140. package/dist/client/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  141. package/dist/client/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  142. package/dist/client/assets/gruvbox-light-hard-K6wSn29D.js +1 -0
  143. package/dist/client/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  144. package/dist/client/assets/gruvbox-light-medium-CVy3aSlc.js +1 -0
  145. package/dist/client/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  146. package/dist/client/assets/gruvbox-light-soft-DNgJjaY0.js +1 -0
  147. package/dist/client/assets/hack-DZ1OQIy5.js +1 -0
  148. package/dist/client/assets/haml-DnkBTUe0.js +1 -0
  149. package/dist/client/assets/handlebars-C2KrFTp2.js +1 -0
  150. package/dist/client/assets/haskell-D8IpX4py.js +1 -0
  151. package/dist/client/assets/haxe-OTjmBuCE.js +1 -0
  152. package/dist/client/assets/hcl-Dh228itO.js +1 -0
  153. package/dist/client/assets/hjson-CxZEssPk.js +1 -0
  154. package/dist/client/assets/hlsl-Cvrh5tZx.js +1 -0
  155. package/dist/client/assets/horizon-0-RkHfro.js +1 -0
  156. package/dist/client/assets/horizon-CE9ld1lL.js +1 -0
  157. package/dist/client/assets/horizon-bright-BgL2X9oq.js +1 -0
  158. package/dist/client/assets/horizon-bright-DSNQnXHK.js +1 -0
  159. package/dist/client/assets/houston-CsvMBhTu.js +1 -0
  160. package/dist/client/assets/houston-KyjWKfuY.js +1 -0
  161. package/dist/client/assets/html-CMkuhdXz.js +1 -0
  162. package/dist/client/assets/html-derivative-x0jdXlzV.js +1 -0
  163. package/dist/client/assets/http-DmnkYnYn.js +1 -0
  164. package/dist/client/assets/hurl-D4vx_Fqc.js +1 -0
  165. package/dist/client/assets/hxml-B0Qn7Nwc.js +1 -0
  166. package/dist/client/assets/hy-CZbG8q4J.js +1 -0
  167. package/dist/client/assets/imba-DsUTQ-LC.js +1 -0
  168. package/dist/client/assets/index-Bv8spXkZ.css +1 -0
  169. package/dist/client/assets/index-D0fBCQfu.js +577 -0
  170. package/dist/client/assets/ini-B5eOa1yu.js +1 -0
  171. package/dist/client/assets/java-BIX8UYqM.js +1 -0
  172. package/dist/client/assets/javascript-Itc1CXRo.js +1 -0
  173. package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  174. package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  175. package/dist/client/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff +0 -0
  176. package/dist/client/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2 +0 -0
  177. package/dist/client/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  178. package/dist/client/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  179. package/dist/client/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff +0 -0
  180. package/dist/client/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2 +0 -0
  181. package/dist/client/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  182. package/dist/client/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  183. package/dist/client/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  184. package/dist/client/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  185. package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  186. package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  187. package/dist/client/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2 +0 -0
  188. package/dist/client/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff +0 -0
  189. package/dist/client/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  190. package/dist/client/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff +0 -0
  191. package/dist/client/assets/jinja-D-Nrc0OY.js +1 -0
  192. package/dist/client/assets/jison-DszTAzg9.js +1 -0
  193. package/dist/client/assets/json-Dmpy7l_7.js +1 -0
  194. package/dist/client/assets/json5-BR5RXkoi.js +1 -0
  195. package/dist/client/assets/jsonc-CYpm1nAK.js +1 -0
  196. package/dist/client/assets/jsonl-CmCQp5Yx.js +1 -0
  197. package/dist/client/assets/jsonnet-CJTPZ8u_.js +1 -0
  198. package/dist/client/assets/jssm-DXw9l8Rf.js +1 -0
  199. package/dist/client/assets/jsx-BqcN7G1H.js +1 -0
  200. package/dist/client/assets/julia-Fk6QscNP.js +1 -0
  201. package/dist/client/assets/just-Cjum5CtH.js +1 -0
  202. package/dist/client/assets/kanagawa-dragon-7TqgsUPC.js +1 -0
  203. package/dist/client/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
  204. package/dist/client/assets/kanagawa-lotus-BN08jTvb.js +1 -0
  205. package/dist/client/assets/kanagawa-lotus-CqxMQulh.js +1 -0
  206. package/dist/client/assets/kanagawa-wave-CTweb8Dz.js +1 -0
  207. package/dist/client/assets/kanagawa-wave-D8CNn6T_.js +1 -0
  208. package/dist/client/assets/kdl-CsD5j6eV.js +1 -0
  209. package/dist/client/assets/kotlin-DhhofPvG.js +1 -0
  210. package/dist/client/assets/kusto-C7mF5XQf.js +1 -0
  211. package/dist/client/assets/laserwave-CQkdhozh.js +1 -0
  212. package/dist/client/assets/laserwave-C_8bwKvT.js +1 -0
  213. package/dist/client/assets/latex-C1fWK8m1.js +1 -0
  214. package/dist/client/assets/lean-CewbzKMR.js +1 -0
  215. package/dist/client/assets/less-DVTAwKKz.js +1 -0
  216. package/dist/client/assets/light-plus-CNQ8_7Y0.js +1 -0
  217. package/dist/client/assets/light-plus-DVQuIRkW.js +1 -0
  218. package/dist/client/assets/liquid-CExQify-.js +1 -0
  219. package/dist/client/assets/llvm-Cm23YOpf.js +1 -0
  220. package/dist/client/assets/log-BNLmms1o.js +1 -0
  221. package/dist/client/assets/logo-Cluzi2Zq.js +1 -0
  222. package/dist/client/assets/lua-vWihEjkA.js +1 -0
  223. package/dist/client/assets/luau-FMPmPwt6.js +1 -0
  224. package/dist/client/assets/make-Dixweg8N.js +1 -0
  225. package/dist/client/assets/markdown-BYOwaDjH.js +1 -0
  226. package/dist/client/assets/marko-Ct706lRZ.js +1 -0
  227. package/dist/client/assets/material-theme-Bm3Qr25_.js +1 -0
  228. package/dist/client/assets/material-theme-CAtLaHa3.js +1 -0
  229. package/dist/client/assets/material-theme-darker-2IIEA8gg.js +1 -0
  230. package/dist/client/assets/material-theme-darker-k-s5Bc6K.js +1 -0
  231. package/dist/client/assets/material-theme-lighter-CD6a-c4d.js +1 -0
  232. package/dist/client/assets/material-theme-lighter-uhdI0v04.js +1 -0
  233. package/dist/client/assets/material-theme-ocean-B3mraInd.js +1 -0
  234. package/dist/client/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  235. package/dist/client/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  236. package/dist/client/assets/material-theme-palenight-DEhAARHw.js +1 -0
  237. package/dist/client/assets/matlab-D7qyCx1q.js +1 -0
  238. package/dist/client/assets/mdc-CEa7533U.js +1 -0
  239. package/dist/client/assets/mdx-DQZ5AkYe.js +1 -0
  240. package/dist/client/assets/mermaid-Bk4SNUv9.js +1 -0
  241. package/dist/client/assets/min-dark-BFqTAwCr.js +1 -0
  242. package/dist/client/assets/min-dark-BSWPekZh.js +1 -0
  243. package/dist/client/assets/min-light-DDpmG2fV.js +1 -0
  244. package/dist/client/assets/min-light-O7UdaaxX.js +1 -0
  245. package/dist/client/assets/mipsasm-BMqwQI7S.js +1 -0
  246. package/dist/client/assets/mojo-BgCJLMeH.js +1 -0
  247. package/dist/client/assets/monokai-C0p7Qecz.js +1 -0
  248. package/dist/client/assets/monokai-CdkpiU2Y.js +1 -0
  249. package/dist/client/assets/moonbit-CaWjb8XO.js +1 -0
  250. package/dist/client/assets/move-B1IS1UjX.js +1 -0
  251. package/dist/client/assets/narrat-_X_XdTYD.js +1 -0
  252. package/dist/client/assets/nextflow-BJtWHP5T.js +1 -0
  253. package/dist/client/assets/nextflow-groovy-DJMQeKeT.js +1 -0
  254. package/dist/client/assets/nginx-Co_l6tY0.js +1 -0
  255. package/dist/client/assets/night-owl-BsnCLAKc.js +1 -0
  256. package/dist/client/assets/night-owl-DhmEMT88.js +1 -0
  257. package/dist/client/assets/night-owl-light-BODRhcTU.js +1 -0
  258. package/dist/client/assets/night-owl-light-eJ-hLW7d.js +1 -0
  259. package/dist/client/assets/nim-coXfXfVy.js +1 -0
  260. package/dist/client/assets/nix-IvuFDN5E.js +1 -0
  261. package/dist/client/assets/nord-Cb4Vim4T.js +1 -0
  262. package/dist/client/assets/nord-Cd-F4txO.js +1 -0
  263. package/dist/client/assets/nushell-DcLAeLz5.js +1 -0
  264. package/dist/client/assets/objective-c-D1A_Heim.js +1 -0
  265. package/dist/client/assets/objective-cpp-BsSzOQcm.js +1 -0
  266. package/dist/client/assets/ocaml-O90oeIOV.js +1 -0
  267. package/dist/client/assets/odin-B1RWQWA5.js +1 -0
  268. package/dist/client/assets/one-dark-pro-CLwyXe_n.js +1 -0
  269. package/dist/client/assets/one-dark-pro-DUS_IGRK.js +1 -0
  270. package/dist/client/assets/one-light-CVUd7yD5.js +1 -0
  271. package/dist/client/assets/one-light-D7Lr4KcI.js +1 -0
  272. package/dist/client/assets/openscad-BUDT5pXO.js +1 -0
  273. package/dist/client/assets/pascal-4ZHwLPI5.js +1 -0
  274. package/dist/client/assets/perl-C89XbEUv.js +1 -0
  275. package/dist/client/assets/php-fLXnzGIF.js +1 -0
  276. package/dist/client/assets/pierre-dark-sU4Zdns8.js +1 -0
  277. package/dist/client/assets/pierre-dark-soft-HXgun5vs.js +1 -0
  278. package/dist/client/assets/pierre-dark-vibrant-D4RhcSIK.js +1 -0
  279. package/dist/client/assets/pierre-light-DWBk51d8.js +1 -0
  280. package/dist/client/assets/pierre-light-soft-CodEzPxf.js +1 -0
  281. package/dist/client/assets/pierre-light-vibrant-B76X7i5Y.js +1 -0
  282. package/dist/client/assets/pkl-ot-7Btpt.js +1 -0
  283. package/dist/client/assets/plastic-CF8VZTnn.js +1 -0
  284. package/dist/client/assets/plastic-DQwYfKfQ.js +1 -0
  285. package/dist/client/assets/plsql-DGHpHOYJ.js +1 -0
  286. package/dist/client/assets/po-BiJDBrnU.js +1 -0
  287. package/dist/client/assets/poimandres-BX2TyY6j.js +1 -0
  288. package/dist/client/assets/poimandres-DRFjx7u4.js +1 -0
  289. package/dist/client/assets/polar-C7UOKdEL.js +1 -0
  290. package/dist/client/assets/postcss-BXeXVLqQ.js +1 -0
  291. package/dist/client/assets/powerquery-DNMTfnFr.js +1 -0
  292. package/dist/client/assets/powershell-DshXNtvi.js +1 -0
  293. package/dist/client/assets/prisma-BsRQq5mF.js +1 -0
  294. package/dist/client/assets/prolog-iXnhIJG7.js +1 -0
  295. package/dist/client/assets/proto-DB4EqR-F.js +1 -0
  296. package/dist/client/assets/pug-CuRm4s2z.js +1 -0
  297. package/dist/client/assets/puppet-CDv2pdJW.js +1 -0
  298. package/dist/client/assets/purescript-9MfHhQsQ.js +1 -0
  299. package/dist/client/assets/python-gzcpVVnB.js +1 -0
  300. package/dist/client/assets/qml-BFFk69Qq.js +1 -0
  301. package/dist/client/assets/qmldir-DCQb3MpD.js +1 -0
  302. package/dist/client/assets/qss-Fe1Jh2GI.js +1 -0
  303. package/dist/client/assets/r-uCGTvVik.js +1 -0
  304. package/dist/client/assets/racket-DcIDlBhZ.js +1 -0
  305. package/dist/client/assets/raku-B3gFvitq.js +1 -0
  306. package/dist/client/assets/razor-D_z0wSiq.js +1 -0
  307. package/dist/client/assets/red-7ga_dcKu.js +1 -0
  308. package/dist/client/assets/red-CJ3rzSJv.js +1 -0
  309. package/dist/client/assets/reg-CRGYupPL.js +1 -0
  310. package/dist/client/assets/regexp-DhKVCizZ.js +1 -0
  311. package/dist/client/assets/rel-BtDbiS_P.js +1 -0
  312. package/dist/client/assets/riscv-Ckw8ddFX.js +1 -0
  313. package/dist/client/assets/ron-VUp2lXgN.js +1 -0
  314. package/dist/client/assets/rose-pine-BthvhNj6.js +1 -0
  315. package/dist/client/assets/rose-pine-dawn-DSuRaP6u.js +1 -0
  316. package/dist/client/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
  317. package/dist/client/assets/rose-pine-moon-DdHjCvFQ.js +1 -0
  318. package/dist/client/assets/rose-pine-moon-hon4tzzS.js +1 -0
  319. package/dist/client/assets/rose-pine-rh6ipraJ.js +1 -0
  320. package/dist/client/assets/rosmsg-CAekHB0j.js +1 -0
  321. package/dist/client/assets/rst-F45CKNEI.js +1 -0
  322. package/dist/client/assets/ruby-CVKWxnNz.js +1 -0
  323. package/dist/client/assets/rust-Cfkwpbl8.js +1 -0
  324. package/dist/client/assets/sas-czv76DEy.js +1 -0
  325. package/dist/client/assets/sass-DXrisJhu.js +1 -0
  326. package/dist/client/assets/scala-DKOlJaKm.js +1 -0
  327. package/dist/client/assets/scheme-DQCgrYNe.js +1 -0
  328. package/dist/client/assets/scss-QyS4wfs9.js +1 -0
  329. package/dist/client/assets/sdbl-bTVj8UrX.js +1 -0
  330. package/dist/client/assets/shaderlab-TOUzSsQk.js +1 -0
  331. package/dist/client/assets/shellscript-CDkKKY2R.js +1 -0
  332. package/dist/client/assets/shellsession-B8cMWj_h.js +1 -0
  333. package/dist/client/assets/slack-dark-DYvUXyrP.js +1 -0
  334. package/dist/client/assets/slack-dark-DnToyrRv.js +1 -0
  335. package/dist/client/assets/slack-ochin-B2OO5cIa.js +1 -0
  336. package/dist/client/assets/slack-ochin-bqtMVDfH.js +1 -0
  337. package/dist/client/assets/smalltalk-B16xEiuN.js +1 -0
  338. package/dist/client/assets/snazzy-light-4G7pJPwS.js +1 -0
  339. package/dist/client/assets/snazzy-light-D8dzFmq5.js +1 -0
  340. package/dist/client/assets/solarized-dark-BQwPDzxK.js +1 -0
  341. package/dist/client/assets/solarized-dark-DV17i1UV.js +1 -0
  342. package/dist/client/assets/solarized-light-BLaijb3X.js +1 -0
  343. package/dist/client/assets/solarized-light-DSh2HLQt.js +1 -0
  344. package/dist/client/assets/solidity-CKzVLygQ.js +1 -0
  345. package/dist/client/assets/soy-C9PrVwHk.js +1 -0
  346. package/dist/client/assets/sparql-D_iOobhT.js +1 -0
  347. package/dist/client/assets/splunk-BC2Px7Mm.js +1 -0
  348. package/dist/client/assets/sql-CMyt-gNo.js +1 -0
  349. package/dist/client/assets/ssh-config-BgfXC-Er.js +1 -0
  350. package/dist/client/assets/stata-DMLJq-wA.js +1 -0
  351. package/dist/client/assets/stylus-B6D30XZt.js +1 -0
  352. package/dist/client/assets/surrealql-u16qHYKa.js +1 -0
  353. package/dist/client/assets/svelte-DsJx8ZCy.js +1 -0
  354. package/dist/client/assets/swift-DonLKvLd.js +1 -0
  355. package/dist/client/assets/synthwave-84-CIknw8y7.js +1 -0
  356. package/dist/client/assets/synthwave-84-nFMaYfgc.js +1 -0
  357. package/dist/client/assets/system-verilog-DJ5XKQeo.js +1 -0
  358. package/dist/client/assets/systemd-BxMlprV5.js +1 -0
  359. package/dist/client/assets/talonscript-CohzipZa.js +1 -0
  360. package/dist/client/assets/tasl-DMoTqEGO.js +1 -0
  361. package/dist/client/assets/tcl-CZd0xW_V.js +1 -0
  362. package/dist/client/assets/templ-Qiu_0qpt.js +1 -0
  363. package/dist/client/assets/terraform-DswuEJGm.js +1 -0
  364. package/dist/client/assets/tex-zOJoIY_H.js +1 -0
  365. package/dist/client/assets/textarea-DPgV-teI.js +44 -0
  366. package/dist/client/assets/tokyo-night-iIspnLcq.js +1 -0
  367. package/dist/client/assets/tokyo-night-oM2G3aXe.js +1 -0
  368. package/dist/client/assets/toml-CcmNWLt0.js +1 -0
  369. package/dist/client/assets/ts-tags-Dmdvk4-M.js +1 -0
  370. package/dist/client/assets/tsv-sltzmVWM.js +1 -0
  371. package/dist/client/assets/tsx-iYVCeT3I.js +1 -0
  372. package/dist/client/assets/turtle-ByJddavk.js +1 -0
  373. package/dist/client/assets/twig-BvUAyRvi.js +1 -0
  374. package/dist/client/assets/typescript-D8d9qhD1.js +1 -0
  375. package/dist/client/assets/typespec-BRdr0IET.js +1 -0
  376. package/dist/client/assets/typst-DI99ib-x.js +1 -0
  377. package/dist/client/assets/v-DETTlOr0.js +1 -0
  378. package/dist/client/assets/vala-zf12oZj6.js +1 -0
  379. package/dist/client/assets/vb-Djn5o6TS.js +1 -0
  380. package/dist/client/assets/verilog-CiiDBU1e.js +1 -0
  381. package/dist/client/assets/vesper-BIFK_oDq.js +1 -0
  382. package/dist/client/assets/vesper-DdrHHSXu.js +1 -0
  383. package/dist/client/assets/vhdl-BroJfC0k.js +1 -0
  384. package/dist/client/assets/viml-DvXPmvsu.js +1 -0
  385. package/dist/client/assets/vitesse-black-D082JcaE.js +1 -0
  386. package/dist/client/assets/vitesse-black-fwtXNY1n.js +1 -0
  387. package/dist/client/assets/vitesse-dark-BZCL-v6S.js +1 -0
  388. package/dist/client/assets/vitesse-dark-z-nr_5O8.js +1 -0
  389. package/dist/client/assets/vitesse-light-VbXTXTou.js +1 -0
  390. package/dist/client/assets/vitesse-light-ojz42ZLy.js +1 -0
  391. package/dist/client/assets/vue-R2NiYYJG.js +1 -0
  392. package/dist/client/assets/vue-html-CHgSv8Qw.js +1 -0
  393. package/dist/client/assets/vue-vine-BvMcYLMT.js +1 -0
  394. package/dist/client/assets/vyper-CgoNMtux.js +1 -0
  395. package/dist/client/assets/wasm-BnjxR4X6.js +1 -0
  396. package/dist/client/assets/wasm-ByWQv1Qj.js +1 -0
  397. package/dist/client/assets/wenyan-C8pVoKbM.js +1 -0
  398. package/dist/client/assets/wgsl-BsKzXJz4.js +1 -0
  399. package/dist/client/assets/wikitext-ClFFjSW2.js +1 -0
  400. package/dist/client/assets/wit-DdvCle-K.js +1 -0
  401. package/dist/client/assets/wolfram-DLL8P-h_.js +1 -0
  402. package/dist/client/assets/worker-aIZfs-9q.js +158 -0
  403. package/dist/client/assets/xml-8KzqdUcc.js +1 -0
  404. package/dist/client/assets/xsl-C8lfRQsv.js +1 -0
  405. package/dist/client/assets/yaml-CnELwg0m.js +1 -0
  406. package/dist/client/assets/zenscript-BnlCZFoB.js +1 -0
  407. package/dist/client/assets/zig-CMLA9XwU.js +1 -0
  408. package/dist/client/favicon-16x16.png +0 -0
  409. package/dist/client/favicon-32x32.png +0 -0
  410. package/dist/client/favicon.ico +0 -0
  411. package/dist/client/index.html +106 -0
  412. package/dist/client/sidebar-brand-motes-light.svg +45 -0
  413. package/dist/client/sidebar-brand-motes.svg +45 -0
  414. package/dist/client/zettai-labs-mark.svg +22 -0
  415. package/package.json +33 -0
@@ -0,0 +1,120 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { n as PtySpawnError, o as HostProcessPlatform, t as PtyAdapter } from "./PtyAdapter-CuvX_Afe.mjs";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Schema from "effect/Schema";
7
+ //#region src/terminal/BunPtyAdapter.ts
8
+ var BunPtyUnsupportedPlatformError = class extends Schema.TaggedErrorClass()("BunPtyUnsupportedPlatformError", { platform: Schema.Literal("win32") }) {
9
+ get message() {
10
+ return `Bun PTY terminal support is unavailable on ${this.platform}. Please use Node.js (e.g. by running \`npx zl-code\`) instead.`;
11
+ }
12
+ };
13
+ var BunPtyOperationUnavailableError = class extends Schema.TaggedErrorClass()("BunPtyOperationUnavailableError", {
14
+ operation: Schema.Literals(["write", "resize"]),
15
+ pid: Schema.Number
16
+ }) {
17
+ get message() {
18
+ return `Bun PTY ${this.operation} is unavailable for process ${this.pid}.`;
19
+ }
20
+ };
21
+ var BunPtyProcess = class {
22
+ dataListeners = /* @__PURE__ */ new Set();
23
+ exitListeners = /* @__PURE__ */ new Set();
24
+ decoder = new TextDecoder();
25
+ process;
26
+ didExit = false;
27
+ constructor(process) {
28
+ this.process = process;
29
+ this.process.exited.then((exitCode) => {
30
+ this.emitExit({
31
+ exitCode: Number.isInteger(exitCode) ? exitCode : 0,
32
+ signal: typeof this.process.signalCode === "number" ? this.process.signalCode : null
33
+ });
34
+ }).catch(() => {
35
+ this.emitExit({
36
+ exitCode: 1,
37
+ signal: null
38
+ });
39
+ });
40
+ }
41
+ get pid() {
42
+ return this.process.pid;
43
+ }
44
+ write(data) {
45
+ if (!this.process.terminal) throw new BunPtyOperationUnavailableError({
46
+ operation: "write",
47
+ pid: this.pid
48
+ });
49
+ this.process.terminal.write(data);
50
+ }
51
+ resize(cols, rows) {
52
+ if (!this.process.terminal?.resize) throw new BunPtyOperationUnavailableError({
53
+ operation: "resize",
54
+ pid: this.pid
55
+ });
56
+ this.process.terminal.resize(cols, rows);
57
+ }
58
+ kill(signal) {
59
+ if (!signal) {
60
+ this.process.kill();
61
+ return;
62
+ }
63
+ this.process.kill(signal);
64
+ }
65
+ onData(callback) {
66
+ this.dataListeners.add(callback);
67
+ return () => {
68
+ this.dataListeners.delete(callback);
69
+ };
70
+ }
71
+ onExit(callback) {
72
+ this.exitListeners.add(callback);
73
+ return () => {
74
+ this.exitListeners.delete(callback);
75
+ };
76
+ }
77
+ emitData(data) {
78
+ if (this.didExit) return;
79
+ const text = this.decoder.decode(data, { stream: true });
80
+ if (text.length === 0) return;
81
+ for (const listener of this.dataListeners) listener(text);
82
+ }
83
+ emitExit(event) {
84
+ if (this.didExit) return;
85
+ this.didExit = true;
86
+ const remainder = this.decoder.decode();
87
+ if (remainder.length > 0) for (const listener of this.dataListeners) listener(remainder);
88
+ for (const listener of this.exitListeners) listener(event);
89
+ }
90
+ };
91
+ const make = Effect.fn("BunPtyAdapter.make")(function* () {
92
+ const platform = yield* HostProcessPlatform;
93
+ if (platform === "win32") return yield* Effect.die(new BunPtyUnsupportedPlatformError({ platform }));
94
+ return PtyAdapter.of({ spawn: (input) => Effect.try({
95
+ try: () => {
96
+ let processHandle = null;
97
+ const command = [input.shell, ...input.args ?? []];
98
+ processHandle = new BunPtyProcess(Bun.spawn(command, {
99
+ cwd: input.cwd,
100
+ env: input.env,
101
+ terminal: {
102
+ cols: input.cols,
103
+ rows: input.rows,
104
+ data: (_terminal, data) => {
105
+ processHandle?.emitData(data);
106
+ }
107
+ }
108
+ }));
109
+ return processHandle;
110
+ },
111
+ catch: (cause) => new PtySpawnError({
112
+ adapter: "bun",
113
+ shell: input.shell,
114
+ cause
115
+ })
116
+ }) });
117
+ });
118
+ const layer = Layer.effect(PtyAdapter, make());
119
+ //#endregion
120
+ export { BunPtyOperationUnavailableError, BunPtyUnsupportedPlatformError, layer, make };
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { n as PtySpawnError, o as HostProcessPlatform, r as HostProcessArchitecture, t as PtyAdapter } from "./PtyAdapter-CuvX_Afe.mjs";
4
+ import * as NodeModule from "node:module";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Layer from "effect/Layer";
7
+ import * as Schema from "effect/Schema";
8
+ import * as FileSystem from "effect/FileSystem";
9
+ import * as Path from "effect/Path";
10
+ //#region src/terminal/NodePtyAdapter.ts
11
+ var NodePtyModuleLoadError = class extends Schema.TaggedErrorClass()("NodePtyModuleLoadError", {
12
+ platform: Schema.String,
13
+ architecture: Schema.String,
14
+ cause: Schema.Defect()
15
+ }) {
16
+ get message() {
17
+ return `Failed to load node-pty for ${this.platform}-${this.architecture}.`;
18
+ }
19
+ };
20
+ let didEnsureSpawnHelperExecutable = false;
21
+ const resolveNodePtySpawnHelperPath = Effect.gen(function* () {
22
+ const requireForNodePty = NodeModule.createRequire(import.meta.url);
23
+ const path = yield* Path.Path;
24
+ const fs = yield* FileSystem.FileSystem;
25
+ const platform = yield* HostProcessPlatform;
26
+ const architecture = yield* HostProcessArchitecture;
27
+ const packageJsonPath = requireForNodePty.resolve("node-pty/package.json");
28
+ const packageDir = path.dirname(packageJsonPath);
29
+ const candidates = [
30
+ path.join(packageDir, "build", "Release", "spawn-helper"),
31
+ path.join(packageDir, "build", "Debug", "spawn-helper"),
32
+ path.join(packageDir, "prebuilds", `${platform}-${architecture}`, "spawn-helper")
33
+ ];
34
+ for (const candidate of candidates) if (yield* fs.exists(candidate)) return candidate;
35
+ return null;
36
+ }).pipe(Effect.orElseSucceed(() => null));
37
+ const ensureNodePtySpawnHelperExecutable = Effect.fn(function* () {
38
+ const fs = yield* FileSystem.FileSystem;
39
+ if ((yield* HostProcessPlatform) === "win32") return;
40
+ if (didEnsureSpawnHelperExecutable) return;
41
+ const helperPath = yield* resolveNodePtySpawnHelperPath;
42
+ if (!helperPath) return;
43
+ didEnsureSpawnHelperExecutable = true;
44
+ if (!(yield* fs.exists(helperPath))) return;
45
+ yield* fs.chmod(helperPath, 493).pipe(Effect.orElseSucceed(() => void 0));
46
+ });
47
+ var NodePtyProcess = class {
48
+ process;
49
+ constructor(process) {
50
+ this.process = process;
51
+ }
52
+ get pid() {
53
+ return this.process.pid;
54
+ }
55
+ write(data) {
56
+ this.process.write(data);
57
+ }
58
+ resize(cols, rows) {
59
+ this.process.resize(cols, rows);
60
+ }
61
+ kill(signal) {
62
+ this.process.kill(signal);
63
+ }
64
+ onData(callback) {
65
+ const disposable = this.process.onData(callback);
66
+ return () => {
67
+ disposable.dispose();
68
+ };
69
+ }
70
+ onExit(callback) {
71
+ const disposable = this.process.onExit((event) => {
72
+ callback({
73
+ exitCode: event.exitCode,
74
+ signal: event.signal ?? null
75
+ });
76
+ });
77
+ return () => {
78
+ disposable.dispose();
79
+ };
80
+ }
81
+ };
82
+ const make = Effect.fn("NodePtyAdapter.make")(function* (loadNodePtyModule = () => import("node-pty")) {
83
+ const fs = yield* FileSystem.FileSystem;
84
+ const path = yield* Path.Path;
85
+ const platform = yield* HostProcessPlatform;
86
+ const architecture = yield* HostProcessArchitecture;
87
+ const nodePty = yield* Effect.tryPromise({
88
+ try: loadNodePtyModule,
89
+ catch: (cause) => new NodePtyModuleLoadError({
90
+ platform,
91
+ architecture,
92
+ cause
93
+ })
94
+ }).pipe(Effect.orDie);
95
+ const ensureNodePtySpawnHelperExecutableCached = yield* Effect.cached(ensureNodePtySpawnHelperExecutable().pipe(Effect.provideService(FileSystem.FileSystem, fs), Effect.provideService(Path.Path, path), Effect.provideService(HostProcessPlatform, platform), Effect.provideService(HostProcessArchitecture, architecture), Effect.orElseSucceed(() => void 0)));
96
+ return PtyAdapter.of({ spawn: Effect.fn("NodePtyAdapter.spawn")(function* (input) {
97
+ yield* ensureNodePtySpawnHelperExecutableCached;
98
+ return new NodePtyProcess(yield* Effect.try({
99
+ try: () => nodePty.spawn(input.shell, input.args ?? [], {
100
+ cwd: input.cwd,
101
+ cols: input.cols,
102
+ rows: input.rows,
103
+ env: input.env,
104
+ name: platform === "win32" ? "xterm-color" : "xterm-256color"
105
+ }),
106
+ catch: (cause) => new PtySpawnError({
107
+ adapter: "node-pty",
108
+ shell: input.shell,
109
+ cause
110
+ })
111
+ }));
112
+ }) });
113
+ });
114
+ const layer = Layer.effect(PtyAdapter, make());
115
+ //#endregion
116
+ export { NodePtyModuleLoadError, layer, make };
@@ -0,0 +1,190 @@
1
+ #!/usr/bin/env node
2
+
3
+ import * as Effect from "effect/Effect";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Context from "effect/Context";
6
+ import * as Schema from "effect/Schema";
7
+ import * as Duration from "effect/Duration";
8
+ import * as Config from "effect/Config";
9
+ import * as Stream from "effect/Stream";
10
+ import * as Client from "effect/unstable/sql/SqlClient";
11
+ import * as Semaphore from "effect/Semaphore";
12
+ import * as Scope from "effect/Scope";
13
+ import { identity } from "effect/Function";
14
+ import * as Cache from "effect/Cache";
15
+ import * as Fiber from "effect/Fiber";
16
+ import * as NodeSqlite from "node:sqlite";
17
+ import * as Reactivity from "effect/unstable/reactivity/Reactivity";
18
+ import { SqlError, classifySqliteError } from "effect/unstable/sql/SqlError";
19
+ import * as Statement from "effect/unstable/sql/Statement";
20
+ //#region src/persistence/NodeSqliteClient.ts
21
+ /**
22
+ * Port of `@effect/sql-sqlite-node` that uses the native `node:sqlite`
23
+ * bindings instead of `better-sqlite3`.
24
+ *
25
+ * @module SqliteClient
26
+ */
27
+ const ATTR_DB_SYSTEM_NAME = "db.system.name";
28
+ const TypeId = "~local/sqlite-node/SqliteClient";
29
+ var UnsupportedNodeSqliteVersionError = class extends Schema.TaggedErrorClass()("UnsupportedNodeSqliteVersionError", {
30
+ nodeVersion: Schema.String,
31
+ requirement: Schema.String
32
+ }) {
33
+ get message() {
34
+ return `Node.js ${this.nodeVersion} is missing required node:sqlite APIs. Upgrade to ${this.requirement}.`;
35
+ }
36
+ };
37
+ var UnsupportedNodeSqliteOperationError = class extends Schema.TaggedErrorClass()("UnsupportedNodeSqliteOperationError", {}) {
38
+ get message() {
39
+ return "Node SQLite does not support executeStream.";
40
+ }
41
+ };
42
+ /**
43
+ * Verify that the current Node.js version includes the `node:sqlite` APIs
44
+ * used by `NodeSqliteClient` — specifically `StatementSync.columns()` (added
45
+ * in Node 22.16.0 / 23.11.0).
46
+ *
47
+ * @see https://github.com/nodejs/node/pull/57490
48
+ */
49
+ const checkNodeSqliteCompat = () => {
50
+ const parts = process.versions.node.split(".").map(Number);
51
+ const major = parts[0] ?? 0;
52
+ const minor = parts[1] ?? 0;
53
+ if (!(major === 22 && minor >= 16 || major === 23 && minor >= 11 || major >= 24)) return Effect.die(new UnsupportedNodeSqliteVersionError({
54
+ nodeVersion: process.versions.node,
55
+ requirement: "Node.js >=22.16, >=23.11, or >=24"
56
+ }));
57
+ return Effect.void;
58
+ };
59
+ const makeWithDatabase = Effect.fn("makeWithDatabase")(function* (options, openDatabase) {
60
+ yield* checkNodeSqliteCompat();
61
+ const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
62
+ const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : void 0;
63
+ const makeConnection = Effect.gen(function* () {
64
+ const scope = yield* Effect.scope;
65
+ const db = yield* Effect.try({
66
+ try: openDatabase,
67
+ catch: (cause) => new SqlError({ reason: classifySqliteError(cause, {
68
+ message: "Failed to open database",
69
+ operation: "open"
70
+ }) })
71
+ });
72
+ yield* Scope.addFinalizer(scope, Effect.try({
73
+ try: () => db.close(),
74
+ catch: (cause) => new SqlError({ reason: classifySqliteError(cause, {
75
+ message: "Failed to close database",
76
+ operation: "close"
77
+ }) })
78
+ }).pipe(Effect.orDie));
79
+ const statementReaderCache = /* @__PURE__ */ new WeakMap();
80
+ const hasRows = (statement) => {
81
+ const cached = statementReaderCache.get(statement);
82
+ if (cached !== void 0) return cached;
83
+ const value = statement.columns().length > 0;
84
+ statementReaderCache.set(statement, value);
85
+ return value;
86
+ };
87
+ const prepareCache = yield* Cache.make({
88
+ capacity: options.prepareCacheSize ?? 200,
89
+ timeToLive: options.prepareCacheTTL ?? Duration.minutes(10),
90
+ lookup: (sql) => Effect.try({
91
+ try: () => db.prepare(sql),
92
+ catch: (cause) => new SqlError({ reason: classifySqliteError(cause, {
93
+ message: "Failed to prepare statement",
94
+ operation: "prepare"
95
+ }) })
96
+ })
97
+ });
98
+ const runStatement = (statement, params, raw) => Effect.withFiber((fiber) => {
99
+ try {
100
+ statement.setReadBigInts(Boolean(Context.get(fiber.context, Client.SafeIntegers)));
101
+ if (hasRows(statement)) return Effect.succeed(statement.all(...params));
102
+ const result = statement.run(...params);
103
+ return Effect.succeed(raw ? result : []);
104
+ } catch (cause) {
105
+ return Effect.fail(new SqlError({ reason: classifySqliteError(cause, {
106
+ message: "Failed to execute statement",
107
+ operation: "execute"
108
+ }) }));
109
+ }
110
+ });
111
+ const run = (sql, params, raw = false) => Effect.flatMap(Cache.get(prepareCache, sql), (s) => runStatement(s, params, raw));
112
+ const runValues = (sql, params) => Effect.acquireUseRelease(Cache.get(prepareCache, sql), (statement) => Effect.try({
113
+ try: () => {
114
+ if (hasRows(statement)) {
115
+ statement.setReturnArrays(true);
116
+ return statement.all(...params);
117
+ }
118
+ statement.run(...params);
119
+ return [];
120
+ },
121
+ catch: (cause) => new SqlError({ reason: classifySqliteError(cause, {
122
+ message: "Failed to execute statement",
123
+ operation: "execute"
124
+ }) })
125
+ }), (statement) => Effect.try({
126
+ try: () => {
127
+ if (hasRows(statement)) statement.setReturnArrays(false);
128
+ },
129
+ catch: (cause) => new SqlError({ reason: classifySqliteError(cause, {
130
+ message: "Failed to reset statement result mode",
131
+ operation: "resetResultMode"
132
+ }) })
133
+ }).pipe(Effect.orDie));
134
+ return identity({
135
+ execute(sql, params, rowTransform) {
136
+ return rowTransform ? Effect.map(run(sql, params), rowTransform) : run(sql, params);
137
+ },
138
+ executeRaw(sql, params) {
139
+ return run(sql, params, true);
140
+ },
141
+ executeValues(sql, params) {
142
+ return runValues(sql, params);
143
+ },
144
+ executeUnprepared(sql, params, rowTransform) {
145
+ const effect = Effect.try({
146
+ try: () => db.prepare(sql),
147
+ catch: (cause) => new SqlError({ reason: classifySqliteError(cause, {
148
+ message: "Failed to prepare statement",
149
+ operation: "prepare"
150
+ }) })
151
+ }).pipe(Effect.flatMap((statement) => runStatement(statement, params ?? [], false)));
152
+ return rowTransform ? Effect.map(effect, rowTransform) : effect;
153
+ },
154
+ executeStream(_sql, _params) {
155
+ return Stream.die(new UnsupportedNodeSqliteOperationError());
156
+ }
157
+ });
158
+ });
159
+ const semaphore = yield* Semaphore.make(1);
160
+ const connection = yield* makeConnection;
161
+ const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));
162
+ const transactionAcquirer = Effect.uninterruptibleMask((restore) => {
163
+ const fiber = Fiber.getCurrent();
164
+ const scope = Context.getUnsafe(fiber.context, Scope.Scope);
165
+ return Effect.as(Effect.tap(restore(semaphore.take(1)), () => Scope.addFinalizer(scope, semaphore.release(1))), connection);
166
+ });
167
+ return yield* Client.make({
168
+ acquirer,
169
+ compiler,
170
+ transactionAcquirer,
171
+ spanAttributes: [...options.spanAttributes ? Object.entries(options.spanAttributes) : [], [ATTR_DB_SYSTEM_NAME, "sqlite"]],
172
+ transformRows
173
+ });
174
+ });
175
+ const make = (options) => makeWithDatabase(options, () => new NodeSqlite.DatabaseSync(options.filename, {
176
+ readOnly: options.readonly ?? false,
177
+ allowExtension: options.allowExtension ?? false
178
+ }));
179
+ const makeMemory = (config = {}) => makeWithDatabase({
180
+ ...config,
181
+ filename: ":memory:",
182
+ readonly: false
183
+ }, () => {
184
+ return new NodeSqlite.DatabaseSync(":memory:", { allowExtension: config.allowExtension ?? false });
185
+ });
186
+ const layerConfig = (config) => Layer.effect(Client.SqlClient, Config.unwrap(config).pipe(Effect.flatMap(make))).pipe(Layer.provide(Reactivity.layer));
187
+ const layer = (config) => Layer.effect(Client.SqlClient, make(config)).pipe(Layer.provide(Reactivity.layer));
188
+ const layerMemory = (config = {}) => Layer.effect(Client.SqlClient, makeMemory(config)).pipe(Layer.provide(Reactivity.layer));
189
+ //#endregion
190
+ export { TypeId, UnsupportedNodeSqliteOperationError, UnsupportedNodeSqliteVersionError, layer, layerConfig, layerMemory };
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env node
2
+
3
+ import * as Effect from "effect/Effect";
4
+ import * as Context from "effect/Context";
5
+ import * as Schema from "effect/Schema";
6
+ import * as NodeOS from "node:os";
7
+ //#region ../../packages/shared/src/hostProcess.ts
8
+ const HostProcessPlatform = Context.Reference("@zl-tools/shared/hostProcess/HostProcessPlatform", { defaultValue: () => process.platform });
9
+ const HostProcessArchitecture = Context.Reference("@zl-tools/shared/hostProcess/HostProcessArchitecture", { defaultValue: () => process.arch });
10
+ const HostProcessHostname = Context.Reference("@zl-tools/shared/hostProcess/HostProcessHostname", { defaultValue: () => NodeOS.hostname() });
11
+ const HostProcessEnvironment = Context.Reference("@zl-tools/shared/hostProcess/HostProcessEnvironment", { defaultValue: () => process.env });
12
+ Effect.map(HostProcessPlatform, (platform) => platform === "win32");
13
+ //#endregion
14
+ //#region src/terminal/PtyAdapter.ts
15
+ /**
16
+ * PtyAdapter - Terminal PTY adapter service contract.
17
+ *
18
+ * Defines the process primitives required by terminal session management
19
+ * without binding to a specific PTY implementation.
20
+ *
21
+ * @module PtyAdapter
22
+ */
23
+ /**
24
+ * PtySpawnError - Error type for PTY spawn failures.
25
+ */
26
+ var PtySpawnError = class extends Schema.TaggedErrorClass()("PtySpawnError", {
27
+ adapter: Schema.String,
28
+ shell: Schema.optional(Schema.String),
29
+ attemptedShells: Schema.optional(Schema.Array(Schema.String)),
30
+ cause: Schema.optional(Schema.Defect())
31
+ }) {
32
+ get message() {
33
+ const shell = this.shell === void 0 ? "" : ` '${this.shell}'`;
34
+ const attemptedShells = this.attemptedShells === void 0 || this.attemptedShells.length === 0 ? "" : ` Tried shells: ${this.attemptedShells.join(", ")}.`;
35
+ return `Failed to spawn PTY process${shell} with ${this.adapter}.${attemptedShells}`;
36
+ }
37
+ };
38
+ /**
39
+ * PtyAdapter - Service tag for PTY process integration.
40
+ */
41
+ var PtyAdapter = class extends Context.Service()("@zl-tools/server/terminal/PtyAdapter") {};
42
+ //#endregion
43
+ export { HostProcessHostname as a, HostProcessEnvironment as i, PtySpawnError as n, HostProcessPlatform as o, HostProcessArchitecture as r, PtyAdapter as t };