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,13 @@
1
+ self.addEventListener('notificationclick', (event) => {
2
+ event.notification.close()
3
+ const targetUrl = new URL(event.notification.data?.url || '/', self.location.origin).href
4
+ event.waitUntil((async () => {
5
+ const windows = await self.clients.matchAll({ type: 'window', includeUncontrolled: true })
6
+ const existing = windows.find((client) => new URL(client.url).origin === self.location.origin)
7
+ if (existing) {
8
+ if ('navigate' in existing && existing.url !== targetUrl) await existing.navigate(targetUrl)
9
+ return existing.focus()
10
+ }
11
+ return self.clients.openWindow(targetUrl)
12
+ })())
13
+ })
@@ -0,0 +1,117 @@
1
+ :root {
2
+ color-scheme: light dark;
3
+ font-family: "Microsoft YaHei UI", "PingFang SC", system-ui, sans-serif;
4
+ background: transparent;
5
+ }
6
+
7
+ * {
8
+ box-sizing: border-box;
9
+ user-select: none;
10
+ -webkit-user-select: none;
11
+ }
12
+
13
+ html,
14
+ body {
15
+ width: 192px;
16
+ height: 288px;
17
+ margin: 0;
18
+ overflow: hidden;
19
+ background: transparent;
20
+ }
21
+
22
+ body {
23
+ cursor: grab;
24
+ }
25
+
26
+ body.dragging {
27
+ cursor: grabbing;
28
+ }
29
+
30
+ #pet {
31
+ position: relative;
32
+ width: 192px;
33
+ height: 288px;
34
+ opacity: 0;
35
+ transition: opacity 120ms ease;
36
+ }
37
+
38
+ #pet.visible {
39
+ opacity: var(--pet-opacity, 1);
40
+ }
41
+
42
+ #sprite {
43
+ position: absolute;
44
+ right: 0;
45
+ bottom: 0;
46
+ width: 192px;
47
+ height: 208px;
48
+ background-image: var(--pet-sprite-url);
49
+ background-repeat: no-repeat;
50
+ background-size: var(--pet-sheet-width) var(--pet-sheet-height);
51
+ background-position-y: calc(var(--pet-row) * -208px);
52
+ image-rendering: pixelated;
53
+ filter: drop-shadow(0 8px 9px rgb(0 0 0 / 0.2));
54
+ animation: pet-frames var(--pet-duration) steps(var(--pet-frames)) infinite;
55
+ }
56
+
57
+ #bubble {
58
+ position: absolute;
59
+ top: 11px;
60
+ right: 8px;
61
+ z-index: 2;
62
+ max-width: 172px;
63
+ min-height: 32px;
64
+ padding: 7px 10px;
65
+ border: 1px solid rgb(120 120 130 / 0.24);
66
+ border-radius: 7px;
67
+ background: rgb(255 255 255 / 0.94);
68
+ color: #18181b;
69
+ font-size: 12px;
70
+ line-height: 1.35;
71
+ opacity: 0;
72
+ transform: translateY(3px);
73
+ transition:
74
+ opacity 140ms ease,
75
+ transform 140ms ease;
76
+ box-shadow: 0 5px 16px rgb(0 0 0 / 0.14);
77
+ }
78
+
79
+ #bubble.visible {
80
+ opacity: 1;
81
+ transform: translateY(0);
82
+ }
83
+
84
+ #bubble::after {
85
+ position: absolute;
86
+ right: 23px;
87
+ bottom: -6px;
88
+ width: 10px;
89
+ height: 10px;
90
+ border-right: 1px solid rgb(120 120 130 / 0.24);
91
+ border-bottom: 1px solid rgb(120 120 130 / 0.24);
92
+ background: inherit;
93
+ content: "";
94
+ transform: rotate(45deg);
95
+ }
96
+
97
+ @media (prefers-color-scheme: dark) {
98
+ #bubble {
99
+ border-color: rgb(255 255 255 / 0.14);
100
+ background: rgb(24 24 27 / 0.94);
101
+ color: #fafafa;
102
+ }
103
+
104
+ #bubble::after {
105
+ border-color: rgb(255 255 255 / 0.14);
106
+ }
107
+ }
108
+
109
+ @keyframes pet-frames {
110
+ from {
111
+ background-position-x: 0;
112
+ }
113
+
114
+ to {
115
+ background-position-x: calc(var(--pet-frames) * -192px);
116
+ }
117
+ }
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>Pisper Pet</title>
7
+ <link rel="stylesheet" href="/tauri-pet.css" />
8
+ </head>
9
+ <body>
10
+ <main id="pet" aria-label="Pisper Pet">
11
+ <div id="bubble" role="status"></div>
12
+ <div id="sprite" role="img"></div>
13
+ </main>
14
+ <script src="/tauri-pet.js"></script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,149 @@
1
+ (() => {
2
+ const STATES = {
3
+ idle: { row: 0, frames: 6, durationMs: 1100 },
4
+ waving: { row: 3, frames: 4, durationMs: 700 },
5
+ jumping: { row: 4, frames: 5, durationMs: 840 },
6
+ failed: { row: 5, frames: 8, durationMs: 1220 },
7
+ waiting: { row: 6, frames: 6, durationMs: 1010 },
8
+ running: { row: 7, frames: 6, durationMs: 820 },
9
+ review: { row: 8, frames: 6, durationMs: 1030 },
10
+ }
11
+ const BUBBLES = {
12
+ 'zh-CN': {
13
+ review: '正在思考...',
14
+ running: '正在工作...',
15
+ waiting: '正在组织回复...',
16
+ waving: '完成了',
17
+ failed: '需要看一下',
18
+ jumping: '你好',
19
+ },
20
+ 'en-US': {
21
+ review: 'Thinking...',
22
+ running: 'Working...',
23
+ waiting: 'Preparing a reply...',
24
+ waving: 'Done',
25
+ failed: 'Needs attention',
26
+ jumping: 'Hello',
27
+ },
28
+ }
29
+ const pet = document.querySelector('#pet')
30
+ const sprite = document.querySelector('#sprite')
31
+ const bubble = document.querySelector('#bubble')
32
+ let status = null
33
+ let interaction = ''
34
+ let interactionTimer = 0
35
+ let windowVisibility = null
36
+ let lastRenderKey = ''
37
+ let refreshInFlight = false
38
+ let refreshTimer = 0
39
+
40
+ const invoke = (command, args) => window.__TAURI_INTERNALS__?.invoke(command, args)
41
+ const language = () => localStorage.getItem('pisper-language') || 'zh-CN'
42
+ const stateName = () => (interaction && STATES[interaction] ? interaction : STATES[status?.state] ? status.state : 'idle')
43
+
44
+ function syncWindowVisibility(visible) {
45
+ if (windowVisibility === visible) return
46
+ windowVisibility = visible
47
+ Promise.resolve(invoke('desktop_pet_set_visible', { visible })).catch(() => {
48
+ // IPC 失败时允许下一次状态刷新重试显隐,避免桌宠永久停留在错误状态。
49
+ if (windowVisibility === visible) windowVisibility = null
50
+ })
51
+ }
52
+
53
+ function render() {
54
+ const running = Boolean(status?.running && status?.spriteUrl)
55
+ syncWindowVisibility(running)
56
+ const name = stateName()
57
+ const renderKey = JSON.stringify([
58
+ running,
59
+ name,
60
+ interaction,
61
+ status?.opacity,
62
+ status?.spriteUrl,
63
+ status?.sheetWidth,
64
+ status?.sheetHeight,
65
+ status?.selectedName,
66
+ status?.selectedSlug,
67
+ language(),
68
+ ])
69
+ if (renderKey === lastRenderKey) return
70
+ lastRenderKey = renderKey
71
+ if (!running) {
72
+ pet.classList.remove('visible')
73
+ return
74
+ }
75
+ const animation = STATES[name]
76
+ const message = BUBBLES[language()]?.[name] || BUBBLES['zh-CN'][name] || ''
77
+ pet.style.setProperty('--pet-opacity', String(status.opacity ?? 1))
78
+ sprite.style.setProperty('--pet-sprite-url', `url("${status.spriteUrl}")`)
79
+ sprite.style.setProperty('--pet-sheet-width', `${status.sheetWidth || 1536}px`)
80
+ sprite.style.setProperty('--pet-sheet-height', `${status.sheetHeight || 1872}px`)
81
+ sprite.style.setProperty('--pet-row', String(animation.row))
82
+ sprite.style.setProperty('--pet-frames', String(animation.frames))
83
+ sprite.style.setProperty('--pet-duration', `${animation.durationMs}ms`)
84
+ bubble.textContent = message
85
+ bubble.classList.toggle('visible', Boolean(message))
86
+ pet.setAttribute('aria-label', status.selectedName || status.selectedSlug || 'Pisper Pet')
87
+ pet.classList.add('visible')
88
+ }
89
+
90
+ async function setEnabled(enabled) {
91
+ try {
92
+ const response = await fetch('/api/desktop-pet/enabled', {
93
+ method: 'POST',
94
+ headers: { 'content-type': 'application/json' },
95
+ body: JSON.stringify({ enabled }),
96
+ })
97
+ if (!response.ok) return
98
+ status = await response.json()
99
+ await invoke('desktop_pet_sync_menu', { enabled: Boolean(status?.enabled) })
100
+ await invoke('desktop_pet_apply_enabled', { enabled: Boolean(status?.running) })
101
+ render()
102
+ } catch {
103
+ // A failed preference update leaves the last durable desktop-pet state in place.
104
+ }
105
+ }
106
+
107
+ async function refresh() {
108
+ if (refreshInFlight) return
109
+ refreshInFlight = true
110
+ try {
111
+ const response = await fetch('/api/desktop-pet', { cache: 'no-store' })
112
+ if (!response.ok) return
113
+ status = await response.json()
114
+ await invoke('desktop_pet_sync_menu', { enabled: Boolean(status?.enabled) })
115
+ render()
116
+ } catch {
117
+ // The sidecar owns retry and lifecycle; a transient poll failure only hides stale state.
118
+ } finally {
119
+ refreshInFlight = false
120
+ window.clearTimeout(refreshTimer)
121
+ refreshTimer = window.setTimeout(refresh, 1200)
122
+ }
123
+ }
124
+
125
+ window.__PISPER_DESKTOP_PET_SET_ENABLED = (enabled) => void setEnabled(Boolean(enabled))
126
+
127
+ document.addEventListener('pointerdown', (event) => {
128
+ if (event.button !== 0) return
129
+ document.body.classList.add('dragging')
130
+ void invoke('desktop_pet_start_dragging')
131
+ })
132
+ document.addEventListener('pointerup', () => document.body.classList.remove('dragging'))
133
+ document.addEventListener('dblclick', () => void invoke('desktop_show_main_window'))
134
+ document.addEventListener('contextmenu', (event) => {
135
+ event.preventDefault()
136
+ void invoke('desktop_pet_show_context_menu')
137
+ })
138
+ document.addEventListener('click', () => {
139
+ interaction = 'jumping'
140
+ window.clearTimeout(interactionTimer)
141
+ interactionTimer = window.setTimeout(() => {
142
+ interaction = ''
143
+ render()
144
+ }, 900)
145
+ render()
146
+ })
147
+
148
+ void refresh()
149
+ })()
@@ -1 +0,0 @@
1
- dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTa3p5NWdvVExsOE82eGFFQ1pVempYcERyN2c1LzhQaUprR082MGV5b3V6dWg0cFI4ZUNzc2lrMnZ2L2Q2aktDZjRZMm80QW1CNjV1b0dIOUw3K1YwZGxEY05vN21FUlFrPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg4NzQ5NjUwCWZpbGU6UGlzcGVyX1J1bnRpbWVfTm9kZV8wLjUuMzdfbGludXhfeDg2XzY0LnRhci5negpxOUQ1OThQTEVTa3kvb1lsM2hCeUlQZDNnUEF3M2VxUEFxcjY2QU5WcVUvV3I0amdZV0NJK0hzejQvdXc1RGVvaTZKRnpBTDRYazhOdFh0dklMaXRCdz09Cg==
@@ -1 +0,0 @@
1
- dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTa3p5NWdvVExsOEs0WGdBWTF1eUFLL0s4bE50d1hIOEhiSDJiZWdCTU11TkxuZGdQbmlDWHhPRzYvRERkd0h4ZHlvYncvc29NWHBoZUZSK3l2QjVObGpCNmRQMWNRNndvPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg4NzQ4OTM4CWZpbGU6UGlzcGVyX1RVSV9Db21wb25lbnRfMC41LjIzX2xpbnV4X3g4Nl82NC50YXIuZ3oKVkkvVW9LbVQ0NGhJZEFCZUlGZCtJTkozYVZxa3ZhNnk0ZklKVkJrVE0rRmF5R2dLbnpFNWIveFpDM0RsU3YzS1VFblF3dlNvQko5cDl1cmFkaUpEQ2c9PQo=