pisper 0.5.39-linux-x64.0 → 0.5.39

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 (318) hide show
  1. package/README.en.md +67 -0
  2. package/README.md +53 -53
  3. package/bin/pisper.mjs +48 -0
  4. package/lib/install.mjs +392 -0
  5. package/lib/npm-platform.mjs +41 -0
  6. package/lib/npm-update.mjs +165 -0
  7. package/lib/platform.mjs +43 -0
  8. package/lib/postinstall.mjs +3 -0
  9. package/package.json +36 -14
  10. package/updater.pubkey +1 -0
  11. package/web/.vite/manifest.json +2606 -0
  12. package/web/assets/AnimatedList-_pbK4tS3.js +1 -0
  13. package/web/assets/AppOverlays-DK_RBSUi.js +1 -0
  14. package/web/assets/AppSelect-v2NUOzRf.js +1 -0
  15. package/web/assets/AppShortcuts-D66c2bOM.js +1 -0
  16. package/web/assets/AssetsPage-DFD-JHLO.js +1 -0
  17. package/web/assets/ChannelsPage-S1iZpd8M.js +1 -0
  18. package/web/assets/ChatDockView-wwQKATRH.js +2 -0
  19. package/web/assets/ChatHistoryPage-BNckgbvE.js +1 -0
  20. package/web/assets/ChatPage-COE_4ulo.js +4 -0
  21. package/web/assets/ClickSpark-BhxL8WOQ.js +1 -0
  22. package/web/assets/ConfigPage-BsLy5y6L.js +1 -0
  23. package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  24. package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  25. package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  26. package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  27. package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  28. package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  29. package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  30. package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  31. package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  32. package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  33. package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  34. package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  35. package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  36. package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  37. package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  38. package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  39. package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  40. package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  41. package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  42. package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  43. package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  44. package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  45. package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  46. package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  47. package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  48. package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  49. package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  50. package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  51. package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  52. package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  53. package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  54. package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  55. package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  56. package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  57. package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  58. package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  59. package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  60. package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  61. package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  62. package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  63. package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  64. package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  65. package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  66. package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  67. package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  68. package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  69. package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  70. package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  71. package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  72. package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  73. package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  74. package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  75. package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  76. package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  77. package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  78. package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  79. package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  80. package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  81. package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  82. package/web/assets/MarkdownMessage-ickiT81L.js +2 -0
  83. package/web/assets/MemoryPage-BryPFpf3.js +1 -0
  84. package/web/assets/MobileViewportStabilizer-CYh5obIv.js +1 -0
  85. package/web/assets/PageHeader-D7ZcsXHZ.js +1 -0
  86. package/web/assets/PluginsPage-By294e2k.js +1 -0
  87. package/web/assets/PreviewPages-gdxrspfV.js +1 -0
  88. package/web/assets/SchedulesPage-S6X-heBQ.js +1 -0
  89. package/web/assets/ShinyText-fuaKxKqJ.js +1 -0
  90. package/web/assets/SkillsPage-nP6Ilb53.js +1 -0
  91. package/web/assets/StarOrbit-BlI6MhVr.js +1 -0
  92. package/web/assets/TerminalPanel-Bb_Kf0kq.js +18 -0
  93. package/web/assets/TerminalPanel-BrP-ENHg.css +1 -0
  94. package/web/assets/Threads-DPFx-jxG.js +1 -0
  95. package/web/assets/WelcomeEffects-C9iQOeK6.js +1 -0
  96. package/web/assets/WorkflowsPage-DlZwTBcP.js +1 -0
  97. package/web/assets/WorkspacePicker-D766UTlt.js +1 -0
  98. package/web/assets/abort-signal-D0GPd1Mw.js +1 -0
  99. package/web/assets/alert-B7D8joCd.js +1 -0
  100. package/web/assets/andromeeda-vGVdxbeo.js +1 -0
  101. package/web/assets/angular-html-17rlCfBS.js +1 -0
  102. package/web/assets/angular-ts-it3MaXWH.js +1 -0
  103. package/web/assets/api-CmPTEiOc.js +3 -0
  104. package/web/assets/arrow-right-KWvgbo3p.js +1 -0
  105. package/web/assets/astro-BEVDzCov.js +1 -0
  106. package/web/assets/aurora-x-CDeNXAV0.js +1 -0
  107. package/web/assets/ayu-dark-DluEY0Gj.js +1 -0
  108. package/web/assets/ayu-light-C3h-C4tm.js +1 -0
  109. package/web/assets/ayu-mirage-Bqwy1Gya.js +1 -0
  110. package/web/assets/blade-B3yUZIOx.js +1 -0
  111. package/web/assets/brand-DIEc3fK8.js +1 -0
  112. package/web/assets/button-XhIEgIsg.js +1 -0
  113. package/web/assets/c-aGSZMVdM.js +1 -0
  114. package/web/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  115. package/web/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  116. package/web/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  117. package/web/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  118. package/web/assets/chat-api-B4XafR63.js +1 -0
  119. package/web/assets/check-jIXqkGKr.js +1 -0
  120. package/web/assets/chevron-down-DT6AXwTP.js +1 -0
  121. package/web/assets/circle-dot-rl11gaty.js +1 -0
  122. package/web/assets/client-store-TRnjrXTz.js +1 -0
  123. package/web/assets/code-xml-Z4K2ea1N.js +1 -0
  124. package/web/assets/coffee-ouOQ86EC.js +1 -0
  125. package/web/assets/collapsible-DjbBeRo0.js +1 -0
  126. package/web/assets/config-search-DdUjL2D7.js +1 -0
  127. package/web/assets/copy-DS-8Hh_R.js +1 -0
  128. package/web/assets/cpp-Bm3vm43L.js +1 -0
  129. package/web/assets/css-CWcS1xXm.js +1 -0
  130. package/web/assets/csv-Dx-8-gkx.js +1 -0
  131. package/web/assets/dark-plus-Cs2F2srj.js +1 -0
  132. package/web/assets/dist-CISIC3_f.js +1 -0
  133. package/web/assets/dist-DOR8kAEV.js +1 -0
  134. package/web/assets/dracula-BHWKrbxM.js +1 -0
  135. package/web/assets/dracula-soft-5eyTD99u.js +1 -0
  136. package/web/assets/earth-DR_clkZ9.js +1 -0
  137. package/web/assets/embedded-D2rqyswH.js +269 -0
  138. package/web/assets/es2015-0VLo_afz.js +41 -0
  139. package/web/assets/everforest-dark-sB-x3p7T.js +1 -0
  140. package/web/assets/everforest-light-Df2xbC6M.js +1 -0
  141. package/web/assets/field-C8yUX8Pf.js +1 -0
  142. package/web/assets/file-C8GNXmhJ.js +1 -0
  143. package/web/assets/file-code-corner-BKkXAMHR.js +1 -0
  144. package/web/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  145. package/web/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  146. package/web/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  147. package/web/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  148. package/web/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  149. package/web/assets/github-dark-C-LZuMrd.js +1 -0
  150. package/web/assets/github-dark-default-DXG-b-1a.js +1 -0
  151. package/web/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
  152. package/web/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
  153. package/web/assets/github-light-EUqPIrTm.js +1 -0
  154. package/web/assets/github-light-default-BXViO-2h.js +1 -0
  155. package/web/assets/github-light-high-contrast-B68TUdTA.js +1 -0
  156. package/web/assets/glsl-TOBAB6bO.js +1 -0
  157. package/web/assets/graphql-BEmIBNve.js +1 -0
  158. package/web/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
  159. package/web/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
  160. package/web/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
  161. package/web/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
  162. package/web/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
  163. package/web/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
  164. package/web/assets/haml-CDWtFtU9.js +1 -0
  165. package/web/assets/handlebars-BNtjo3pL.js +1 -0
  166. package/web/assets/horizon-CE9ld1lL.js +1 -0
  167. package/web/assets/horizon-bright-DSNQnXHK.js +1 -0
  168. package/web/assets/houston-CsvMBhTu.js +1 -0
  169. package/web/assets/html-BVyvp26C.js +1 -0
  170. package/web/assets/html-derivative-BseLpURQ.js +1 -0
  171. package/web/assets/http-CkCfSMV9.js +1 -0
  172. package/web/assets/hurl-syYMt6Rn.js +1 -0
  173. package/web/assets/image-Dh7-wI1d.js +1 -0
  174. package/web/assets/imba-DsUTQ-LC.js +1 -0
  175. package/web/assets/index-BvVJkBr0.js +40 -0
  176. package/web/assets/index-DTit-2OA.css +2 -0
  177. package/web/assets/input-D1QFzNMx.js +1 -0
  178. package/web/assets/java-duG_UTKe.js +1 -0
  179. package/web/assets/javascript-DWVbOe4X.js +1 -0
  180. package/web/assets/jinja-Boj4niAz.js +1 -0
  181. package/web/assets/jison-CHwnC1Pv.js +1 -0
  182. package/web/assets/json-qhed-kSA.js +1 -0
  183. package/web/assets/json5-BR5RXkoi.js +1 -0
  184. package/web/assets/jsonc-CYpm1nAK.js +1 -0
  185. package/web/assets/jsonl-CmCQp5Yx.js +1 -0
  186. package/web/assets/jsx-fcCEM_-L.js +1 -0
  187. package/web/assets/julia-VoF7UKfw.js +1 -0
  188. package/web/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  189. package/web/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  190. package/web/assets/kanagawa-wave-BML5mF2J.js +1 -0
  191. package/web/assets/laserwave-C_8bwKvT.js +1 -0
  192. package/web/assets/less-DVTAwKKz.js +1 -0
  193. package/web/assets/light-plus-DVQuIRkW.js +1 -0
  194. package/web/assets/link-2-CaZP6GWi.js +1 -0
  195. package/web/assets/loader-circle-72TYCcVQ.js +1 -0
  196. package/web/assets/markdown-BYOwaDjH.js +1 -0
  197. package/web/assets/marko-Cupn1xhw.js +1 -0
  198. package/web/assets/material-theme-Bm3Qr25_.js +1 -0
  199. package/web/assets/material-theme-darker-2IIEA8gg.js +1 -0
  200. package/web/assets/material-theme-lighter-uhdI0v04.js +1 -0
  201. package/web/assets/material-theme-ocean-CHQ94UKr.js +1 -0
  202. package/web/assets/material-theme-palenight-B5W6OYN7.js +1 -0
  203. package/web/assets/mdc-4FfK5iWR.js +1 -0
  204. package/web/assets/mdx-DQZ5AkYe.js +1 -0
  205. package/web/assets/message-circle-Bc_EzZop.js +1 -0
  206. package/web/assets/min-dark-BSWPekZh.js +1 -0
  207. package/web/assets/min-light-DDpmG2fV.js +1 -0
  208. package/web/assets/mobile-remote-fallback-JvG4VcPg.js +1 -0
  209. package/web/assets/mobile-runtime-recovery-DBq1Dp1R.js +1 -0
  210. package/web/assets/monokai-B_bV9PQ9.js +1 -0
  211. package/web/assets/night-owl-DhmEMT88.js +1 -0
  212. package/web/assets/night-owl-light-eJ-hLW7d.js +1 -0
  213. package/web/assets/nord-Cb4Vim4T.js +1 -0
  214. package/web/assets/one-dark-pro-CLwyXe_n.js +1 -0
  215. package/web/assets/one-light-D7Lr4KcI.js +1 -0
  216. package/web/assets/panel-left-CVuoi3zo.js +1 -0
  217. package/web/assets/panel-top-CA2GX1Rj.js +1 -0
  218. package/web/assets/paperclip-BMRj9kRG.js +1 -0
  219. package/web/assets/pencil-CxA1IK0x.js +1 -0
  220. package/web/assets/php-CUREQQ7f.js +1 -0
  221. package/web/assets/pick-system-directory-BnIFt85A.js +1 -0
  222. package/web/assets/plastic-DQwYfKfQ.js +1 -0
  223. package/web/assets/play-N6mg4pFl.js +1 -0
  224. package/web/assets/poimandres-DRFjx7u4.js +1 -0
  225. package/web/assets/postcss-BXeXVLqQ.js +1 -0
  226. package/web/assets/progress-493FBtJ4.js +6 -0
  227. package/web/assets/pug-CQyGKZpv.js +1 -0
  228. package/web/assets/python-gzcpVVnB.js +1 -0
  229. package/web/assets/r-C5FwQflr.js +1 -0
  230. package/web/assets/react-bits-DQli9s7O.css +1 -0
  231. package/web/assets/red-DX1BQOs8.js +1 -0
  232. package/web/assets/regexp--aR2_iz7.js +1 -0
  233. package/web/assets/rolldown-runtime-B0Z9INg1.js +1 -0
  234. package/web/assets/rose-pine-aMsaMD1D.js +1 -0
  235. package/web/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  236. package/web/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  237. package/web/assets/sass-DXrisJhu.js +1 -0
  238. package/web/assets/save-CVL5N6eP.js +1 -0
  239. package/web/assets/scroll-area-CrWpxKGa.js +1 -0
  240. package/web/assets/scss-Davl4E3T.js +1 -0
  241. package/web/assets/send-DcLH_sg0.js +1 -0
  242. package/web/assets/separator-COSHUqEJ.js +1 -0
  243. package/web/assets/shellscript-CLZ0U2zV.js +1 -0
  244. package/web/assets/shield-check-BQHFfxVy.js +1 -0
  245. package/web/assets/shortcuts-BIzphxhz.js +1 -0
  246. package/web/assets/slack-dark-DnToyrRv.js +1 -0
  247. package/web/assets/slack-ochin-B2OO5cIa.js +1 -0
  248. package/web/assets/smithy-Dgaz7aur.js +1 -0
  249. package/web/assets/snazzy-light-4G7pJPwS.js +1 -0
  250. package/web/assets/solarized-dark-UdsmMDCL.js +1 -0
  251. package/web/assets/solarized-light-C1IUL_tW.js +1 -0
  252. package/web/assets/speech-session-UGYrCHlP.js +3 -0
  253. package/web/assets/speech-stream-text-Cwsgaoku.js +2 -0
  254. package/web/assets/speech-text-Js_tr4qo.js +1 -0
  255. package/web/assets/sql-b92rrcVl.js +1 -0
  256. package/web/assets/square-BZ3Bi3O-.js +1 -0
  257. package/web/assets/square-terminal-DpCa0gzM.js +1 -0
  258. package/web/assets/storage-BE5DCCG3.js +1 -0
  259. package/web/assets/stylus-B6D30XZt.js +1 -0
  260. package/web/assets/svelte-BfstjgUc.js +1 -0
  261. package/web/assets/synthwave-84-nFMaYfgc.js +1 -0
  262. package/web/assets/tag-Csd134FL.js +1 -0
  263. package/web/assets/tokyo-night-oM2G3aXe.js +1 -0
  264. package/web/assets/tool-labels-BJhLig5u.js +1 -0
  265. package/web/assets/tooltip-BIOYQmnq.js +1 -0
  266. package/web/assets/trash-2-mhzzyC6i.js +1 -0
  267. package/web/assets/ts-tags-Cckpt1jI.js +1 -0
  268. package/web/assets/tsx-JMDX3aQ7.js +1 -0
  269. package/web/assets/typescript-BAz-bF8J.js +1 -0
  270. package/web/assets/use-animation-visibility-C-GENY2Z.js +1 -0
  271. package/web/assets/use-i18n-B2uTAjsJ.js +1 -0
  272. package/web/assets/use-mobile-DikQ1IYz.js +1 -0
  273. package/web/assets/usePagePrimaryAction-Bw0OFTDZ.js +1 -0
  274. package/web/assets/utils-C8uzG5AZ.js +1 -0
  275. package/web/assets/vendor-dockview-D5adAaCg.css +1 -0
  276. package/web/assets/vendor-dockview-yY5mBM3U.js +1 -0
  277. package/web/assets/vendor-markdown-K9KdiImV.js +130 -0
  278. package/web/assets/vendor-markdown-plugins-DEcVZfaU.css +1 -0
  279. package/web/assets/vendor-markdown-plugins-Wv1dLaAO.js +263 -0
  280. package/web/assets/vendor-motion-XxgxfZSY.js +9 -0
  281. package/web/assets/vendor-react-CHuvPdJE.js +9 -0
  282. package/web/assets/vendor-router-Bw2aAdMs.js +4 -0
  283. package/web/assets/vendor-shiki-runtime-CxE5QolQ.js +153 -0
  284. package/web/assets/vendor-state-DE1O_s6m.js +1 -0
  285. package/web/assets/vendor-ui-DvrYggeS.js +1 -0
  286. package/web/assets/vendor-xyflow-CnjXtcyK.js +7 -0
  287. package/web/assets/vendor-xyflow-DLioOiRN.css +1 -0
  288. package/web/assets/vesper-DdrHHSXu.js +1 -0
  289. package/web/assets/vitesse-black-fwtXNY1n.js +1 -0
  290. package/web/assets/vitesse-dark-BZCL-v6S.js +1 -0
  291. package/web/assets/vitesse-light-VbXTXTou.js +1 -0
  292. package/web/assets/vue-3H7P6ncC.js +1 -0
  293. package/web/assets/vue-html-DZGW9MGR.js +1 -0
  294. package/web/assets/vue-vine-BECt67gq.js +1 -0
  295. package/web/assets/wasm-BnjxR4X6.js +1 -0
  296. package/web/assets/wasm-ByWQv1Qj.js +1 -0
  297. package/web/assets/web-preview-panel-Dp5aIwsV.js +556 -0
  298. package/web/assets/welcome-brand-W7Ox3fri.js +1 -0
  299. package/web/assets/wgsl-BsKzXJz4.js +1 -0
  300. package/web/assets/wit-DdvCle-K.js +1 -0
  301. package/web/assets/wrench-BqeVhocX.js +1 -0
  302. package/web/assets/x-bw26XDZM.js +1 -0
  303. package/web/assets/xml-CNfvW5JP.js +1 -0
  304. package/web/assets/yaml-rwi0_p6S.js +1 -0
  305. package/web/assets/zap-CFsp4Y1u.js +1 -0
  306. package/web/favicon.svg +25 -0
  307. package/web/icons.svg +24 -0
  308. package/web/index.html +82 -0
  309. package/web/memory-galaxy-background.webp +0 -0
  310. package/web/mobile-startup.html +322 -0
  311. package/web/notification-sw.js +13 -0
  312. package/web/tauri-pet.css +117 -0
  313. package/web/tauri-pet.html +16 -0
  314. package/web/tauri-pet.js +149 -0
  315. package/components/runtime/Pisper_Runtime_Node_0.5.37_linux_x86_64.tar.gz +0 -0
  316. package/components/runtime/Pisper_Runtime_Node_0.5.37_linux_x86_64.tar.gz.sig +0 -1
  317. package/components/tui/Pisper_TUI_Component_0.5.23_linux_x86_64.tar.gz +0 -0
  318. package/components/tui/Pisper_TUI_Component_0.5.23_linux_x86_64.tar.gz.sig +0 -1
@@ -0,0 +1,41 @@
1
+ import process from 'node:process'
2
+
3
+ export const NPM_PLATFORM_TARGETS = Object.freeze([
4
+ Object.freeze({ platform: 'win32', arch: 'x64', release: 'windows_x86_64', slug: 'win32-x64' }),
5
+ Object.freeze({ platform: 'darwin', arch: 'x64', release: 'darwin_x86_64', slug: 'darwin-x64' }),
6
+ Object.freeze({
7
+ platform: 'darwin',
8
+ arch: 'arm64',
9
+ release: 'darwin_aarch64',
10
+ slug: 'darwin-arm64',
11
+ }),
12
+ Object.freeze({ platform: 'linux', arch: 'x64', release: 'linux_x86_64', slug: 'linux-x64' }),
13
+ ])
14
+
15
+ export function npmPlatformTarget(platform = process.platform, arch = process.arch) {
16
+ const target = NPM_PLATFORM_TARGETS.find(
17
+ (candidate) => candidate.platform === platform && candidate.arch === arch,
18
+ )
19
+ if (!target) throw new Error(`Pisper does not publish an npm package for ${platform}-${arch}`)
20
+ return target
21
+ }
22
+
23
+ export function npmPlatformAlias(platform = process.platform, arch = process.arch) {
24
+ return `pisper-binary-${npmPlatformTarget(platform, arch).slug}`
25
+ }
26
+
27
+ export function npmPlatformVersion(version, platform = process.platform, arch = process.arch) {
28
+ if (!/^\d+\.\d+\.\d+$/.test(version || '')) {
29
+ throw new Error(`invalid Pisper npm version: ${version}`)
30
+ }
31
+ return `${version}-${npmPlatformTarget(platform, arch).slug}.0`
32
+ }
33
+
34
+ export function npmPlatformOptionalDependencies(version) {
35
+ return Object.fromEntries(
36
+ NPM_PLATFORM_TARGETS.map(({ platform, arch }) => [
37
+ npmPlatformAlias(platform, arch),
38
+ `npm:pisper@${npmPlatformVersion(version, platform, arch)}`,
39
+ ]),
40
+ )
41
+ }
@@ -0,0 +1,165 @@
1
+ import { execFile, spawn } from 'node:child_process'
2
+ import { readFile } from 'node:fs/promises'
3
+ import { join } from 'node:path'
4
+ import process from 'node:process'
5
+ import { promisify } from 'node:util'
6
+ import { fileURLToPath } from 'node:url'
7
+
8
+ const execFileAsync = promisify(execFile)
9
+ const packageRoot = fileURLToPath(new URL('..', import.meta.url))
10
+ const packageManifest = JSON.parse(await readFile(join(packageRoot, 'package.json'), 'utf8'))
11
+
12
+ function compareVersions(left, right) {
13
+ const a = left.split('.').map(Number)
14
+ const b = right.split('.').map(Number)
15
+ for (let index = 0; index < 3; index += 1) {
16
+ if (a[index] !== b[index]) return a[index] - b[index]
17
+ }
18
+ return 0
19
+ }
20
+
21
+ function npmInvocation(arguments_) {
22
+ if (process.platform === 'win32') {
23
+ return {
24
+ command: process.env.ComSpec || 'cmd.exe',
25
+ arguments: ['/d', '/s', '/c', 'npm.cmd', ...arguments_],
26
+ }
27
+ }
28
+ return { command: 'npm', arguments: arguments_ }
29
+ }
30
+
31
+ const NPM_CLI_HELP = `Pisper CLI
32
+
33
+ Start a coding session in your terminal.
34
+
35
+ Usage:
36
+ pisper [OPTIONS]
37
+ pisper resume [OPTIONS]
38
+ pisper doctor [OPTIONS]
39
+ pisper web [OPTIONS]
40
+ pisper update [--check]
41
+ pisper help [COMMAND]
42
+
43
+ Commands:
44
+ resume Choose and resume a conversation from any workspace
45
+ doctor Check the TUI, Runtime connection, and capability catalogs
46
+ web Open the bundled Web UI and Provider settings in your browser
47
+ update Update the complete Pisper distribution through npm
48
+ help Print this help or help for a command
49
+
50
+ Options:
51
+ --cwd <directory> Use a specific workspace (default: current directory)
52
+ -h, --help Print help
53
+ -V, --version Print the installed TUI version
54
+
55
+ Getting started:
56
+ 1. Change to your project directory.
57
+ 2. Run \`pisper\`. Use \`/provider\` to choose a Provider and save its API Key.
58
+ 3. Type a request and press Enter. Type \`/\` to browse commands.
59
+ 4. Run \`pisper web\` for the bundled visual settings and workspace UI.
60
+ 5. Run \`pisper update\` to update through the configured npm registry.`
61
+
62
+ export function parseNpmHelpRequest(arguments_) {
63
+ if (arguments_.length === 1 && ['help', '--help', '-h'].includes(arguments_[0])) return true
64
+ return false
65
+ }
66
+
67
+ export function parseNpmUpdateRequest(arguments_) {
68
+ if (arguments_[0] === 'help' && arguments_[1] === 'update' && arguments_.length === 2) {
69
+ return { checkOnly: false, help: true }
70
+ }
71
+ if (arguments_[0] !== 'update') return null
72
+ let checkOnly = false
73
+ let help = false
74
+ for (const argument of arguments_.slice(1)) {
75
+ if (argument === '--check') {
76
+ checkOnly = true
77
+ } else if (argument === '--help' || argument === '-h') {
78
+ help = true
79
+ } else {
80
+ throw new Error('npm updates do not accept component names; run `pisper update`')
81
+ }
82
+ }
83
+ return { checkOnly, help }
84
+ }
85
+
86
+ async function queryLatestVersion() {
87
+ const invocation = npmInvocation(['view', 'pisper@latest', 'version', '--json'])
88
+ const { stdout } = await execFileAsync(invocation.command, invocation.arguments, {
89
+ encoding: 'utf8',
90
+ windowsHide: true,
91
+ })
92
+ const version = JSON.parse(stdout)
93
+ if (!/^\d+\.\d+\.\d+$/.test(version || '')) {
94
+ throw new Error('npm registry returned an invalid pisper version')
95
+ }
96
+ return version
97
+ }
98
+
99
+ async function installLatestVersion() {
100
+ await new Promise((resolve, reject) => {
101
+ const invocation = npmInvocation([
102
+ 'install',
103
+ '--global',
104
+ 'pisper@latest',
105
+ '--progress=true',
106
+ '--foreground-scripts',
107
+ ])
108
+ const child = spawn(invocation.command, invocation.arguments, {
109
+ stdio: 'inherit',
110
+ windowsHide: false,
111
+ })
112
+ child.once('error', reject)
113
+ child.once('exit', (code, signal) => {
114
+ if (signal) {
115
+ reject(new Error(`npm update was terminated by ${signal}`))
116
+ } else if (code !== 0) {
117
+ reject(new Error(`npm update failed with exit code ${code ?? 1}`))
118
+ } else {
119
+ resolve()
120
+ }
121
+ })
122
+ })
123
+ }
124
+
125
+ export function handleNpmHelp(arguments_, { log = console.log } = {}) {
126
+ if (!parseNpmHelpRequest(arguments_)) return false
127
+ log(NPM_CLI_HELP)
128
+ return true
129
+ }
130
+
131
+ export async function handleNpmUpdate(
132
+ arguments_,
133
+ {
134
+ currentVersion = packageManifest.version,
135
+ queryLatest = queryLatestVersion,
136
+ installLatest = installLatestVersion,
137
+ log = console.log,
138
+ } = {},
139
+ ) {
140
+ const request = parseNpmUpdateRequest(arguments_)
141
+ if (!request) return false
142
+
143
+ if (request.help) {
144
+ log(`Pisper npm update
145
+
146
+ Usage:
147
+ pisper update [--check]
148
+
149
+ Options:
150
+ --check Check the configured npm registry without installing
151
+ -h, --help Print update help`)
152
+ return true
153
+ }
154
+
155
+ const latest = await queryLatest()
156
+ if (compareVersions(currentVersion, latest) >= 0) {
157
+ log(`pisper: npm package ${currentVersion} is current`)
158
+ return true
159
+ }
160
+ log(`pisper: npm package update ${currentVersion} -> ${latest}`)
161
+ if (request.checkOnly) return true
162
+ await installLatest()
163
+ log(`pisper: npm package ${latest} is ready`)
164
+ return true
165
+ }
@@ -0,0 +1,43 @@
1
+ import { homedir } from 'node:os'
2
+ import { join } from 'node:path'
3
+ import process from 'node:process'
4
+
5
+ export function releasePlatform(platform = process.platform) {
6
+ if (platform === 'win32') return 'windows'
7
+ if (platform === 'darwin') return 'darwin'
8
+ if (platform === 'linux') return 'linux'
9
+ throw new Error(`unsupported operating system: ${platform}`)
10
+ }
11
+
12
+ export function releaseArchitecture(arch = process.arch) {
13
+ if (arch === 'x64') return 'x86_64'
14
+ if (arch === 'arm64') return 'aarch64'
15
+ throw new Error(`unsupported CPU architecture: ${arch}`)
16
+ }
17
+
18
+ export function supportedTarget(platform = process.platform, arch = process.arch) {
19
+ const target = `${releasePlatform(platform)}_${releaseArchitecture(arch)}`
20
+ const supported = new Set(['windows_x86_64', 'darwin_x86_64', 'darwin_aarch64', 'linux_x86_64'])
21
+ if (!supported.has(target)) {
22
+ throw new Error(`Pisper does not publish a TUI package for ${target}`)
23
+ }
24
+ return target
25
+ }
26
+
27
+ export function executableName(platform = process.platform) {
28
+ return platform === 'win32' ? 'pisper.exe' : 'pisper'
29
+ }
30
+
31
+ export function localDataDirectory(platform = process.platform, env = process.env) {
32
+ if (env.PISPER_NPM_INSTALL_DIR) return env.PISPER_NPM_INSTALL_DIR
33
+ if (platform === 'win32') {
34
+ if (!env.LOCALAPPDATA) throw new Error('LOCALAPPDATA is unavailable')
35
+ return env.LOCALAPPDATA
36
+ }
37
+ if (platform === 'darwin') return join(homedir(), 'Library', 'Application Support')
38
+ return env.XDG_DATA_HOME || join(homedir(), '.local', 'share')
39
+ }
40
+
41
+ export function componentsRoot(platform = process.platform, env = process.env) {
42
+ return join(localDataDirectory(platform, env), 'com.lingkongran.pisper', 'components')
43
+ }
@@ -0,0 +1,3 @@
1
+ import { ensurePisperInstallation } from './install.mjs'
2
+
3
+ await ensurePisperInstallation()
package/package.json CHANGED
@@ -1,35 +1,57 @@
1
1
  {
2
2
  "name": "pisper",
3
- "version": "0.5.39-linux-x64.0",
4
- "description": "Pisper signed TUI and Node Runtime bundle for linux-x64.",
3
+ "version": "0.5.39",
4
+ "description": "Pisper CLI.",
5
5
  "license": "MIT",
6
6
  "author": {
7
7
  "name": "ling-kong-ran",
8
8
  "email": "65328093+ling-kong-ran@users.noreply.github.com",
9
9
  "url": "https://github.com/ling-kong-ran"
10
10
  },
11
+ "type": "module",
12
+ "homepage": "https://github.com/ling-kong-ran/pisper#readme",
11
13
  "repository": {
12
14
  "type": "git",
13
15
  "url": "git+https://github.com/ling-kong-ran/pisper.git"
14
16
  },
15
- "os": [
16
- "linux"
17
- ],
18
- "cpu": [
19
- "x64"
20
- ],
17
+ "bugs": {
18
+ "url": "https://github.com/ling-kong-ran/pisper/issues"
19
+ },
20
+ "engines": {
21
+ "node": ">=20"
22
+ },
23
+ "bin": {
24
+ "pisper": "bin/pisper.mjs"
25
+ },
26
+ "scripts": {
27
+ "postinstall": "node lib/postinstall.mjs"
28
+ },
21
29
  "files": [
22
- "components/",
30
+ "bin/",
31
+ "lib/",
32
+ "web/",
33
+ "updater.pubkey",
23
34
  "README.md",
35
+ "README.en.md",
24
36
  "LICENSE"
25
37
  ],
26
- "publishConfig": {
27
- "access": "public",
28
- "provenance": true
38
+ "dependencies": {
39
+ "@threema/wasm-minisign-verify": "0.1.3",
40
+ "tar": "7.5.22"
29
41
  },
30
- "pisperBundle": {
31
- "target": "linux_x86_64",
42
+ "pisper": {
43
+ "repository": "ling-kong-ran/pisper",
32
44
  "tuiVersion": "0.5.23",
33
45
  "runtimeVersion": "0.5.37"
46
+ },
47
+ "optionalDependencies": {
48
+ "pisper-binary-win32-x64": "npm:pisper@0.5.39-win32-x64.0",
49
+ "pisper-binary-darwin-x64": "npm:pisper@0.5.39-darwin-x64.0",
50
+ "pisper-binary-darwin-arm64": "npm:pisper@0.5.39-darwin-arm64.0",
51
+ "pisper-binary-linux-x64": "npm:pisper@0.5.39-linux-x64.0"
52
+ },
53
+ "publishConfig": {
54
+ "access": "public",
55
+ "provenance": true
34
56
  }
35
57
  }
package/updater.pubkey ADDED
@@ -0,0 +1 @@
1
+ dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IEYwRTUzMkExNjAyRUNGQTQKUldTa3p5NWdvVExsOEQ5TElOa3BVcUxZQ2I1RlNieHJHeFQ3YVdqeTRMK0VKS2dWSlZsMXRNazQK