sliccy 6.99.7 → 6.99.9

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 (278) hide show
  1. package/dist/node-server/_shared/tray-signaling.d.ts +2 -0
  2. package/dist/node-server/_shared/tray-signaling.d.ts.map +1 -1
  3. package/dist/ui/.vite/manifest.json +390 -615
  4. package/dist/ui/assets/__vite-browser-external-CyeY5rFA.js +1 -0
  5. package/dist/ui/assets/{account-store-y43KgcoW.js → account-store-CYMEkNNe.js} +3 -3
  6. package/dist/ui/assets/{account-store-llwJaGRg.js → account-store-ktNi3pcb.js} +5 -5
  7. package/dist/ui/assets/{adobe-C30ITWqR.js → adobe-B9bqpVA6.js} +1 -1
  8. package/dist/ui/assets/adobe-D2l8vW4Z.js +2 -0
  9. package/dist/ui/assets/agent-panels-BFjOOqNh.js +1 -0
  10. package/dist/ui/assets/{anthropic-messages-DbPJ2ji9.js → anthropic-messages-B7p0objs.js} +1 -1
  11. package/dist/ui/assets/{anthropic-messages-CpSojOI8.js → anthropic-messages-JQYJ-RUq.js} +1 -1
  12. package/dist/ui/assets/{apply-layout-CyFMgsCH.js → apply-layout-C9atHx_R.js} +1 -1
  13. package/dist/ui/assets/{apps-BaBqMpf9.js → apps-bxajdBmb.js} +1 -1
  14. package/dist/ui/assets/azure-openai-B7WXqTuL.js +18 -0
  15. package/dist/ui/assets/azure-openai-DbxXj8zK.js +18 -0
  16. package/dist/ui/assets/{azure-openai-responses-DUMDrZ29.js → azure-openai-responses-BNbgkULn.js} +1 -1
  17. package/dist/ui/assets/{azure-openai-responses-BcoOaRCx.js → azure-openai-responses-BULcSJeo.js} +1 -1
  18. package/dist/ui/assets/{bedrock-camp-LeceEQbU.js → bedrock-camp-9Mg_YE1C.js} +1 -1
  19. package/dist/ui/assets/{bedrock-camp-BcJEC3Pg.js → bedrock-camp-DP3Gfbz7.js} +1 -1
  20. package/dist/ui/assets/{browser-DdY1FBRp.js → browser-DGwroBSO.js} +3 -3
  21. package/dist/ui/assets/{bsh-watchdog-GrjFkpDG.js → bsh-watchdog--Df_ThJG.js} +1 -1
  22. package/dist/ui/assets/{cdp-ByIHQG_1.js → cdp-BzUC7d2h.js} +1 -1
  23. package/dist/ui/assets/{cerebras-Oyxkgl8K.js → cerebras-CUwJMnYY.js} +1 -1
  24. package/dist/ui/assets/{cerebras-DCOB1GIn.js → cerebras-CfOSdVHz.js} +1 -1
  25. package/dist/ui/assets/{claude-model-version-Csn7RPVg.js → claude-model-version-BXR93nLt.js} +1 -1
  26. package/dist/ui/assets/claude-model-version-D6lCh6G7.js +2 -0
  27. package/dist/ui/assets/{composer-speech-Bqp4MnUW.js → composer-speech-Byuwd2QJ.js} +1 -1
  28. package/dist/ui/assets/{connect-surface-N7OhnOjG.js → connect-surface-BIhkXU-D.js} +1 -1
  29. package/dist/ui/assets/{cost-command-BQWpaecs.js → cost-command-CwOkolbd.js} +57 -57
  30. package/dist/ui/assets/{dist-_7dnux20.js → dist-BmTb9jmr.js} +1 -1
  31. package/dist/ui/assets/{dist-D7yTTAcb.js → dist-BnDrtqYs.js} +1 -1
  32. package/dist/ui/assets/dist-CMD3ZuiV.js +1 -0
  33. package/dist/ui/assets/{dist-DTAqvnM4.js → dist-CV-6KpFS.js} +1 -1
  34. package/dist/ui/assets/dist-CWHNqkcj.js +1 -0
  35. package/dist/ui/assets/dist-CrVgSn_b.js +6 -0
  36. package/dist/ui/assets/dist-DkG8wgj1.js +23 -0
  37. package/dist/ui/assets/dist-N1MMHRNk.js +18 -0
  38. package/dist/ui/assets/dist-RekgwRC0.js +12 -0
  39. package/dist/ui/assets/{dist-B4LJzMVB.js → dist-kBT87Ea7.js} +11 -11
  40. package/dist/ui/assets/{ensure-speech-assets-CO3wuKjp.js → ensure-speech-assets-Hv5Jwof_.js} +1 -1
  41. package/dist/ui/assets/{es-BDNIRkLU.js → es-BLFevQz4.js} +5 -5
  42. package/dist/ui/assets/{esbuild-wasm-DUOZmSly.js → esbuild-wasm-Dl3vgXvq.js} +2 -2
  43. package/dist/ui/assets/esp8266-1y0C3qJ1.js +1 -0
  44. package/dist/ui/assets/esptool-operations-CiccBbBW.js +12 -0
  45. package/dist/ui/assets/esptool-operations-lUvXx3gs.js +13 -0
  46. package/dist/ui/assets/{follower-navigate-watcher-Dd46El3D.js → follower-navigate-watcher-DRFF6ll0.js} +1 -1
  47. package/dist/ui/assets/fs-CvM7tq2t.js +2 -0
  48. package/dist/ui/assets/{fs-BNz_JyUR.js → fs-DUneCuZW.js} +1 -1
  49. package/dist/ui/assets/git-config-Bdgu8kD2.js +7 -0
  50. package/dist/ui/assets/git-config-D2u6LGfT.js +5 -0
  51. package/dist/ui/assets/github-CHdABf-3.js +2 -0
  52. package/dist/ui/assets/github-DvD4qs-U.js +1 -0
  53. package/dist/ui/assets/github-copilot-BB3QwaLu.js +2 -0
  54. package/dist/ui/assets/{github-copilot-DiPxhMir.js → github-copilot-K0sRIoSq.js} +1 -1
  55. package/dist/ui/assets/{github-install-CZSoNGFR.js → github-install-vA3zHPFd.js} +1 -1
  56. package/dist/ui/assets/{github-zip-CrdkhxjH.js → github-zip-C7KlmYg5.js} +1 -1
  57. package/dist/ui/assets/{google-generative-ai-Rjh7hNBV.js → google-generative-ai-DEMR2Ygt.js} +1 -1
  58. package/dist/ui/assets/{google-generative-ai-Dxo91M3n.js → google-generative-ai-ZQ9beFyW.js} +1 -1
  59. package/dist/ui/assets/{google-shared-DQJPCU3d.js → google-shared-B7H0ZrH8.js} +6 -6
  60. package/dist/ui/assets/google-shared-REamLvEm.js +11 -0
  61. package/dist/ui/assets/{google-vertex-DEwkNZJm.js → google-vertex-0C6GT5h4.js} +1 -1
  62. package/dist/ui/assets/{google-vertex-61Jj0dk6.js → google-vertex-DsErHx7o.js} +1 -1
  63. package/dist/ui/assets/handoff-link-BObMRgsx.js +1 -0
  64. package/dist/ui/assets/{hear-Co4TqejW.js → hear-zfLnACrB.js} +1 -1
  65. package/dist/ui/assets/{installer-CufDPCfO.js → installer-VcJEC2uC.js} +1 -1
  66. package/dist/ui/assets/{isomorphic-git-BAj-fLD-.js → isomorphic-git-WdgG3efW.js} +6 -6
  67. package/dist/ui/assets/js-realm-worker-CJBsByLD.js +40 -0
  68. package/dist/ui/assets/{kernel-worker-DyoLnIZO.js → kernel-worker-DL4H-NBi.js} +421 -428
  69. package/dist/ui/assets/kokoro-BkJ3NLgd.js +4 -0
  70. package/dist/ui/assets/{legacy-api-aliases-oJPAvhVV.js → legacy-api-aliases-BYDhiWyY.js} +1 -1
  71. package/dist/ui/assets/{legacy-api-aliases-BnRqMAef.js → legacy-api-aliases-Dh4ciP2O.js} +1 -1
  72. package/dist/ui/assets/{libesm-BI4UHVqp.js → libesm-BypnjKEL.js} +1 -1
  73. package/dist/ui/assets/{libesm-zfj8k-QN.js → libesm-CSMdpGMF.js} +1 -1
  74. package/dist/ui/assets/lick-manager-CYlek4qq.js +2 -0
  75. package/dist/ui/assets/{lick-ws-bridge-yklVm5en.js → lick-ws-bridge-CdCpPLQn.js} +1 -1
  76. package/dist/ui/assets/{local-llm-DOnsCe6c.js → local-llm-BxbXSRY1.js} +1 -1
  77. package/dist/ui/assets/{local-llm-DNFbzXTw.js → local-llm-DFV3ffPY.js} +1 -1
  78. package/dist/ui/assets/magick-wasm-266b8ntc.js +43 -0
  79. package/dist/ui/assets/main-B6Og2ks7.js +22 -0
  80. package/dist/ui/assets/{main-cherry-3UVAQhqV.js → main-cherry-C6fqCnLL.js} +1 -1
  81. package/dist/ui/assets/mount-CqTvny3n.js +2 -0
  82. package/dist/ui/assets/{mount-DhhlMZMN.js → mount-iK3BWJwS.js} +1 -1
  83. package/dist/ui/assets/{mount-recovery-Dbd9EVjz.js → mount-recovery-BNtMtfx7.js} +1 -1
  84. package/dist/ui/assets/{navigation-watcher-OPbGCby9.js → navigation-watcher-DrWMx-B4.js} +1 -1
  85. package/dist/ui/assets/new-session-Dq10ablA.js +2 -0
  86. package/dist/ui/assets/oauth-bootstrap-BriIqrT5.js +2 -0
  87. package/dist/ui/assets/onboarding-orchestrator-Cd0lVIve.js +1 -0
  88. package/dist/ui/assets/openai-BKEGagiR.js +17 -0
  89. package/dist/ui/assets/openai-Bgt_f1Dp.js +17 -0
  90. package/dist/ui/assets/openai-codex-CrPEnCvZ.js +1 -0
  91. package/dist/ui/assets/{openai-codex-BI5-lt7L.js → openai-codex-D50qgZ4K.js} +1 -1
  92. package/dist/ui/assets/{openai-codex-responses-CPOJeFUY.js → openai-codex-responses-C-nzMgox.js} +1 -1
  93. package/dist/ui/assets/{openai-codex-responses-jQR19NyX.js → openai-codex-responses-CG4v_H6T.js} +1 -1
  94. package/dist/ui/assets/{openai-completions-DGOcowq8.js → openai-completions-CIRx7G9l.js} +2 -2
  95. package/dist/ui/assets/{openai-completions-DGZFJo5D.js → openai-completions-ojba8VM0.js} +2 -2
  96. package/dist/ui/assets/{openai-responses-CDTdSIhv.js → openai-responses-BDRcKCF5.js} +1 -1
  97. package/dist/ui/assets/{openai-responses-bnETPgx9.js → openai-responses-DzwaJ-X-.js} +1 -1
  98. package/dist/ui/assets/openai-responses-shared-BjAQ1eIE.js +10 -0
  99. package/dist/ui/assets/openai-responses-shared-Dg_yfxea.js +10 -0
  100. package/dist/ui/assets/openrouter-0FxeBdE5.js +1 -0
  101. package/dist/ui/assets/{openrouter-DZhpGJA4.js → openrouter-Dhsi_ko9.js} +1 -1
  102. package/dist/ui/assets/{openrouter-images-C93KT7V_.js → openrouter-images-BAtqv3Im.js} +1 -1
  103. package/dist/ui/assets/{openrouter-images-CiM-JPBO.js → openrouter-images-Du3tMEQa.js} +1 -1
  104. package/dist/ui/assets/{openrouter-oauth-iFmYGgcr.js → openrouter-oauth-CIzZhpZg.js} +1 -1
  105. package/dist/ui/assets/openrouter-oauth-CpKt1MA8.js +1 -0
  106. package/dist/ui/assets/panel-rpc-handlers-DRmkHDcC.js +2 -0
  107. package/dist/ui/assets/panelize-shell-B1SCUwME.js +4 -0
  108. package/dist/ui/assets/pdfjs-DAWky37A.js +100 -0
  109. package/dist/ui/assets/{provider-CauMmJra.js → provider-CHFkYrg5.js} +1 -1
  110. package/dist/ui/assets/provider-DR7pS55u.js +2 -0
  111. package/dist/ui/assets/{provider-settings-CDR9tmFe.js → provider-settings-QhXeD8p1.js} +1 -1
  112. package/dist/ui/assets/provider-store-access-BWBUxNsZ.js +1 -0
  113. package/dist/ui/assets/provider-store-access-WTMg_H8y.js +1 -0
  114. package/dist/ui/assets/{providers-DS7U7ou8.js → providers-CMHd9MFS.js} +1 -1
  115. package/dist/ui/assets/providers-D-6LGcDk.js +2 -0
  116. package/dist/ui/assets/{py-realm-worker-B2OTI7Xc.js → py-realm-worker-D1gqcTkl.js} +2 -2
  117. package/dist/ui/assets/{pyodide-CkJHMMSo.js → pyodide-D43YUXvd.js} +2 -2
  118. package/dist/ui/assets/{quick-llm-DSQHsD_0.js → quick-llm-CPywyeCK.js} +1 -1
  119. package/dist/ui/assets/{recovery-screen-dGlemlkP.js → recovery-screen-CmRYQ0rB.js} +1 -1
  120. package/dist/ui/assets/{redirect-uri-BOpxbXbd.js → redirect-uri-C8-Woku_.js} +1 -1
  121. package/dist/ui/assets/remote-cdp-transport-DeDqT7I4.js +1 -0
  122. package/dist/ui/assets/remote-sprinkle-vfs-CawR6gXx.js +1 -0
  123. package/dist/ui/assets/{remote-terminal-view-BNWZWMBC.js → remote-terminal-view-D2bRNJcS.js} +2 -2
  124. package/dist/ui/assets/{run-Cll4MnAK.js → run-CxkS2v3b.js} +1 -1
  125. package/dist/ui/assets/safe-buffer-OLJ0qaLt.js +12 -0
  126. package/dist/ui/assets/safe-buffer-iah92gQe.js +1 -0
  127. package/dist/ui/assets/{setup-feature-flags-remote-rcKrPHk7.js → setup-feature-flags-remote-bBB7gD8w.js} +1 -1
  128. package/dist/ui/assets/shared-B9N4MZd0.js +1 -0
  129. package/dist/ui/assets/shared-CPVZc-MN.js +4 -0
  130. package/dist/ui/assets/sidecar-repair-CwI_pMMe.js +1 -0
  131. package/dist/ui/assets/{skills-0Do2e7wj.js → skills-D0atjE-P.js} +1 -1
  132. package/dist/ui/assets/{slicc-diff-DhGIKKqP.js → slicc-diff-DRjxoBYz.js} +1 -1
  133. package/dist/ui/assets/slicc-editor-D-eO_pjd.js +23 -0
  134. package/dist/ui/assets/slicc-editor-Sdfe-_x_.js +1 -0
  135. package/dist/ui/assets/slicc-version-Bc9r0Wca.js +1 -0
  136. package/dist/ui/assets/speak-BsVaFA0Z.js +3 -0
  137. package/dist/ui/assets/{sprinkle-bridge-C4qw-DTw.js → sprinkle-bridge-e00Na2NA.js} +1 -1
  138. package/dist/ui/assets/{sprinkle-manager-B5T2quSt.js → sprinkle-manager-BqdBktzt.js} +1 -1
  139. package/dist/ui/assets/{sprinkle-renderer-D64E-W2o.js → sprinkle-renderer-C9L5ZRvl.js} +2 -2
  140. package/dist/ui/assets/{sql-wasm-DO685FZu.js → sql-wasm-B7K7OCuB.js} +1 -1
  141. package/dist/ui/assets/{state-BrCP8Eff.js → state-o12tamuF.js} +1 -1
  142. package/dist/ui/assets/{store-C2gM1M-9.js → store-BT0FKeS5.js} +1 -1
  143. package/dist/ui/assets/{store-bEWnkux0.js → store-BUjz66P2.js} +1 -1
  144. package/dist/ui/assets/{sudo-D0ZG1KJr.js → sudo-Cb_jI2eu.js} +1 -1
  145. package/dist/ui/assets/sync-dialog-CV7-2aVT.js +1 -0
  146. package/dist/ui/assets/{temperature-support-B4x2xaWY.js → temperature-support-BVrwHxWv.js} +1 -1
  147. package/dist/ui/assets/{temperature-support-Cpml9LfI.js → temperature-support-LrmsX3ix.js} +1 -1
  148. package/dist/ui/assets/{transformers-env-HIDS8utb.js → transformers-env-_JNZLFlo.js} +1 -1
  149. package/dist/ui/assets/transformers.web-B0gi9Hor.js +39 -0
  150. package/dist/ui/assets/tray-leader-Mq6HIneb.js +1 -0
  151. package/dist/ui/assets/{upgrade-detection-Ckesn3Ns.js → upgrade-detection-CNu3KNsM.js} +1 -1
  152. package/dist/ui/assets/voice-reply-BFImQhAG.js +1 -0
  153. package/dist/ui/assets/wc-attach-d-lHwJPz.js +13 -0
  154. package/dist/ui/assets/wc-extension-p4la3vtz.js +2 -0
  155. package/dist/ui/assets/wc-float-label-Dtx9Io98.js +1 -0
  156. package/dist/ui/assets/{wc-floatbar-online-tsTifrU7.js → wc-floatbar-online-pmlV024x.js} +1 -1
  157. package/dist/ui/assets/wc-follower-2DQ7Q3wG.js +17 -0
  158. package/dist/ui/assets/wc-follower-oauth-BXi7U3s5.js +5 -0
  159. package/dist/ui/assets/wc-live-BfpVK1Kd.js +399 -0
  160. package/dist/ui/assets/wc-nav-BNZDsOwH.js +2 -0
  161. package/dist/ui/assets/wc-onboarding-BinmjNb5.js +2 -0
  162. package/dist/ui/assets/{wc-permissions-CEmFmdBe.js → wc-permissions-WjSZrbPa.js} +2 -2
  163. package/dist/ui/assets/{wc-placeholder-C1LDJQR7.js → wc-placeholder-CPP2DyEf.js} +3 -3
  164. package/dist/ui/assets/{wc-settings-PtFpnkee.js → wc-settings-ChigIGe8.js} +3 -3
  165. package/dist/ui/assets/{src-B-encLtu.js → wc-shell-C8rORiLz.js} +304 -161
  166. package/dist/ui/assets/{wc-shortcut-config-w6fJ0bVB.js → wc-shortcut-config-CsiYOxaR.js} +2 -2
  167. package/dist/ui/assets/{wc-sprinkles-CeAUkWME.js → wc-sprinkles-DwSBE-SU.js} +2 -2
  168. package/dist/ui/assets/wc-transcript-export-CjvhPpom.js +2 -0
  169. package/dist/ui/assets/wc-tray-g89TbAbd.js +2 -0
  170. package/dist/ui/assets/welcome-detection-BHAB2hpt.js +1 -0
  171. package/dist/ui/assets/{whisper-session-DzV9Jmfi.js → whisper-session-Ba-J0yyJ.js} +2 -2
  172. package/dist/ui/assets/{xai-grok-DRbKtbML.js → xai-grok-CaAyB00w.js} +1 -1
  173. package/dist/ui/assets/xai-grok-FS5CaRb2.js +1 -0
  174. package/dist/ui/assets/xterm-B5LH8GIb.css +1 -0
  175. package/dist/ui/assets/xterm-C3BHN0de.js +16 -0
  176. package/dist/ui/index.html +8 -11
  177. package/dist/ui/packages/webapp/index.html +8 -11
  178. package/dist/ui/slicc-diff.js +1 -1
  179. package/dist/ui/slicc-editor.js +1 -1
  180. package/package.json +2 -2
  181. package/dist/ui/assets/__vite-browser-external-CwfFUl-x.js +0 -1
  182. package/dist/ui/assets/adobe-DeM_oCMe.js +0 -2
  183. package/dist/ui/assets/agent-message-to-chat-_cvF5A5g.js +0 -1
  184. package/dist/ui/assets/agent-panels-B92KQapO.js +0 -1
  185. package/dist/ui/assets/azure-openai-B2VLKBwJ.js +0 -18
  186. package/dist/ui/assets/azure-openai-tc52REpx.js +0 -18
  187. package/dist/ui/assets/backend-local-1YuE96fx.js +0 -1
  188. package/dist/ui/assets/chat-session-store-pWb1-jNp.js +0 -1
  189. package/dist/ui/assets/claude-model-version-DoVrYsKi.js +0 -2
  190. package/dist/ui/assets/db-cKsBsMMN.js +0 -1
  191. package/dist/ui/assets/dictation-priming-CNllGgNq.js +0 -1
  192. package/dist/ui/assets/dip-rCM_6Bc6.js +0 -233
  193. package/dist/ui/assets/dist-B6HZAA0r.js +0 -1
  194. package/dist/ui/assets/dist-BHvDPTv0.js +0 -1
  195. package/dist/ui/assets/dist-C56QxoYU.js +0 -18
  196. package/dist/ui/assets/dist-COLaZOxM.js +0 -23
  197. package/dist/ui/assets/dist-CPNmKU6m.js +0 -12
  198. package/dist/ui/assets/dist-Cew647MY.js +0 -12
  199. package/dist/ui/assets/dist-mxmkfALf.js +0 -6
  200. package/dist/ui/assets/esptool-operations-BmdosN6N.js +0 -13
  201. package/dist/ui/assets/esptool-operations-CbgLIJzi.js +0 -12
  202. package/dist/ui/assets/export-provider-BEHTjSYw.js +0 -1
  203. package/dist/ui/assets/follower-presentation-DqBw0YiV.js +0 -1
  204. package/dist/ui/assets/fs-C6heN6Io.js +0 -2
  205. package/dist/ui/assets/git-config-DA8M5e8O.js +0 -7
  206. package/dist/ui/assets/git-config-DLJIrKjL.js +0 -5
  207. package/dist/ui/assets/github-BES17MG4.js +0 -2
  208. package/dist/ui/assets/github-BnrwrtRn.js +0 -1
  209. package/dist/ui/assets/github-copilot-CzZSdNg_.js +0 -2
  210. package/dist/ui/assets/google-shared-CzJgTu-P.js +0 -11
  211. package/dist/ui/assets/handoff-link-BM4ctkE8.js +0 -1
  212. package/dist/ui/assets/host-command-zx0pt9Np.js +0 -1
  213. package/dist/ui/assets/js-realm-worker-D_8dhTFA.js +0 -40
  214. package/dist/ui/assets/kokoro-Bs5vU5OU.js +0 -4
  215. package/dist/ui/assets/layout-schema-m9_VAwOw.js +0 -1
  216. package/dist/ui/assets/leader-session-events-Iq9N1w56.js +0 -1
  217. package/dist/ui/assets/lick-manager-DFmMezV-.js +0 -2
  218. package/dist/ui/assets/magick-wasm-BpzBj-21.js +0 -43
  219. package/dist/ui/assets/main-CPLi98yu.js +0 -22
  220. package/dist/ui/assets/mount-CvVyowQ-.js +0 -2
  221. package/dist/ui/assets/new-session-BUxTN19q.js +0 -2
  222. package/dist/ui/assets/oauth-bootstrap-BnctKs3I.js +0 -2
  223. package/dist/ui/assets/onboarding-orchestrator-BF4m_3Ig.js +0 -1
  224. package/dist/ui/assets/openai-CjBvzZcB.js +0 -17
  225. package/dist/ui/assets/openai-ZcrxEOGB.js +0 -17
  226. package/dist/ui/assets/openai-codex-ad3likLF.js +0 -1
  227. package/dist/ui/assets/openai-responses-shared-ChgvRZ74.js +0 -10
  228. package/dist/ui/assets/openai-responses-shared-DqJbHrek.js +0 -10
  229. package/dist/ui/assets/openrouter-BfwBtJ0a.js +0 -1
  230. package/dist/ui/assets/openrouter-oauth-D1ocgCDw.js +0 -1
  231. package/dist/ui/assets/panel-registry-CJdOibpf.js +0 -1
  232. package/dist/ui/assets/panel-rpc-handlers-Dj-UnwwI.js +0 -2
  233. package/dist/ui/assets/panelize-shell-Dfx0Qk97.js +0 -4
  234. package/dist/ui/assets/pdfjs-BspLIDsM.js +0 -100
  235. package/dist/ui/assets/provider-3zYFx7pL.js +0 -2
  236. package/dist/ui/assets/provider-settings-CZ97KB3C.js +0 -2
  237. package/dist/ui/assets/provider-store-access-DvHfXiAa.js +0 -2
  238. package/dist/ui/assets/provider-store-access-escWLliN.js +0 -1
  239. package/dist/ui/assets/providers-DJA67z1N.js +0 -2
  240. package/dist/ui/assets/remote-cdp-transport-CgOXLjZ8.js +0 -1
  241. package/dist/ui/assets/remote-sprinkle-vfs-e81pZJKo.js +0 -1
  242. package/dist/ui/assets/safe-buffer-B2wnAhUx.js +0 -12
  243. package/dist/ui/assets/safe-buffer-BwTVRVVo.js +0 -1
  244. package/dist/ui/assets/session-freezer-BgO7tLUp.js +0 -162
  245. package/dist/ui/assets/setup-standalone-prelude-50scBzpK.js +0 -2
  246. package/dist/ui/assets/setup-sudo-Ce_APR8D.js +0 -2
  247. package/dist/ui/assets/shared-6HJLEwgI.js +0 -1
  248. package/dist/ui/assets/shared-BzvvjAZt.js +0 -4
  249. package/dist/ui/assets/sidecar-repair-431vRT2V.js +0 -1
  250. package/dist/ui/assets/slicc-editor-CVftccS9.js +0 -1
  251. package/dist/ui/assets/slicc-editor-DsHp_in-.js +0 -12
  252. package/dist/ui/assets/slicc-version-qJjMq-6R.js +0 -1
  253. package/dist/ui/assets/speak-KEFd3n_I.js +0 -3
  254. package/dist/ui/assets/sync-dialog-ACgl0n-p.js +0 -1
  255. package/dist/ui/assets/timestamp-preference-sKwBl5I8.js +0 -2
  256. package/dist/ui/assets/transformers.web-Cg_-cFJu.js +0 -39
  257. package/dist/ui/assets/tray-leader-iVJTGwuf.js +0 -1
  258. package/dist/ui/assets/tray-sync-protocol-BZ5yhJH9.js +0 -1
  259. package/dist/ui/assets/tray-sync-protocol-DV_QG_Ey.js +0 -1
  260. package/dist/ui/assets/trusted-layer-ghPA1ENf.js +0 -1
  261. package/dist/ui/assets/voice-reply-DaVk8H0o.js +0 -1
  262. package/dist/ui/assets/wc-attach-3I9pOCPA.js +0 -13
  263. package/dist/ui/assets/wc-extension-D1gzObu-.js +0 -2
  264. package/dist/ui/assets/wc-float-label-CCMo81Ds.js +0 -1
  265. package/dist/ui/assets/wc-follower-DrCJN-aK.js +0 -17
  266. package/dist/ui/assets/wc-follower-oauth-Dw0qOLsI.js +0 -5
  267. package/dist/ui/assets/wc-live-qc9mrCs3.js +0 -8
  268. package/dist/ui/assets/wc-nav-CysORJLz.js +0 -2
  269. package/dist/ui/assets/wc-onboarding-COhEMI0E.js +0 -2
  270. package/dist/ui/assets/wc-scoop-color-ShF3p7L9.js +0 -1
  271. package/dist/ui/assets/wc-shell-lFwQe30J.js +0 -119
  272. package/dist/ui/assets/wc-shortcuts-GiPteshM.js +0 -26
  273. package/dist/ui/assets/wc-transcript-export-DKIleW7-.js +0 -2
  274. package/dist/ui/assets/wc-tray-_dof-pAl.js +0 -2
  275. package/dist/ui/assets/welcome-detection-iVN_xL76.js +0 -1
  276. package/dist/ui/assets/xai-grok-BnSpWJjV.js +0 -1
  277. package/dist/ui/assets/xterm-BSL5rRqA.js +0 -18
  278. package/dist/ui/assets/xterm-BmfB5bmM.css +0 -1
@@ -0,0 +1 @@
1
+ import{s as e}from"./slicc-editor-D-eO_pjd.js";window.__SLICC_CM6__={StreamLanguage:e};
@@ -0,0 +1 @@
1
+ function e(){return{version:`6.99.9`,releasedAt:`2026-08-27T09:42:03Z`,buildId:`6.99.9-mtbc33lg`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/transformers.web-B0gi9Hor.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/kokoro-BkJ3NLgd.js","assets/__vite-browser-external-5eBdwsFd.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{n}from"./runtime-env-Dlaokqg1.js";import"./runtime-env-CgsZ7LTp.js";import{t as r}from"./speech-assets-bridge-CFYafE89.js";import{i,n as a,o,r as s,t as c}from"./transformers-env-_JNZLFlo.js";var l=t(`speech:espeak`),u=`/workspace/node_modules/espeak-ng/dist/`,d=`espeak-ng.js`,f=`espeak-ng.wasm`;async function p(e,t,n,r){let i=`phonemes.txt`;return(await e({arguments:[`-q`,`-b=1`,`--ipa`,`-v`,n,`--phonout`,i,t],...r?{locateFile:r}:{}})).FS.readFile(i,{encoding:`utf8`}).split(`
3
+ `).map(e=>e.trim()).filter(e=>e.length>0)}function ee(e,t){return async n=>{let r=URL.createObjectURL(new Blob([new Uint8Array(t)],{type:`application/wasm`}));try{let t=e=>e.endsWith(`.wasm`)?r:n.locateFile?.(e)??e;return await e({...n,locateFile:t})}finally{URL.revokeObjectURL(r)}}}function m(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable`));let t=new BroadcastChannel(`preview-vfs`),n=`espeak-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,c),t.close(),e()},o,s=()=>{clearTimeout(o),o=setTimeout(()=>a(()=>i(Error(`ENOENT: ${e} (timed out)`))),3e4)};s();let c=t=>{let c=t.data;if(!(!c||c.id!==n)){if(c.type===`preview-vfs-start`){s();return}if(c.type===`preview-vfs-response`){if(clearTimeout(o),typeof c.error==`string`)a(()=>i(Error(c.error)));else if(c.content instanceof Uint8Array){let e=c.content;a(()=>r(e))}else if(typeof c.content==`string`){let e=c.content;a(()=>r(new TextEncoder().encode(e)))}else a(()=>i(Error(`Empty preview-vfs response for ${e}`)))}}};t.addEventListener(`message`,c),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}async function te(){let[t,n]=await Promise.all([m(`${u}${d}`),m(`${u}${f}`)]),r=URL.createObjectURL(new Blob([new Uint8Array(t)],{type:`text/javascript`}));try{return{factory:ee((await e(()=>import(r),[])).default,n)}}finally{URL.revokeObjectURL(r)}}var ne=te,h=null;function g(){return h||=ne().then(({factory:e,locateFile:t})=>(l.info(`espeak-ng multilingual phonemizer loaded`),(n,r)=>p(e,n,r,t)),e=>{throw h=null,l.error(`espeak-ng load failed`,e),e}),h}var re=Object.freeze({e:`es`,f:`fr-fr`,i:`it`,h:`hi`,p:`pt-br`});function _(e){return re[e[0]]??null}var ie=Object.freeze({a:`en-us`,b:`en-gb`});function ae(e){return ie[e[0]]??null}function oe(e){let t=e instanceof Error?e.message:String(e);return/Invalid language identifier/i.test(t)&&/Should be one of:\s*\.?\s*$/i.test(t)}var se=RegExp(`(\\s*[${`;:,.!?¡¿—…"«»“”(){}[]`.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}]+\\s*)+`,`g`);function ce(e){let t=[],n=0;for(let r of e.matchAll(se)){let i=r[0],a=r.index??0;n<a&&t.push({punct:!1,text:e.slice(n,a)}),i.length>0&&t.push({punct:!0,text:i}),n=a+i.length}return n<e.length&&t.push({punct:!1,text:e.slice(n)}),t}function le(e){return e.replace(/kəkˈoːɹoʊ/g,`kˈoʊkəɹoʊ`).replace(/kəkˈɔːɹəʊ/g,`kˈəʊkəɹəʊ`).replace(/(?<=[a-zɹrː])(?=hˈʌndɹɪd)/g,` `).replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,`z`).trim()}async function ue(e,t,n){let r=ce(e);return le((await Promise.all(r.map(async e=>e.punct?e.text:(await n(e.text,t)).join(` `)))).join(``))}var v=t(`speech:kokoro`),y={a:`en-US`,b:`en-GB`,e:`es-ES`,f:`fr-FR`,i:`it-IT`,h:`hi-IN`,p:`pt-BR`,j:`ja-JP`,z:`zh-CN`},b=new Set([`en-US`,`en-GB`,`es-ES`,`fr-FR`,`it-IT`,`hi-IN`,`pt-BR`]);function x(e){let[t,n]=e.split(`-`);return n?`${t.toLowerCase()}-${n.toUpperCase()}`:t.toLowerCase()}function S(e,t){if(!t)return!1;if(b.has(t))return!0;if(t.includes(`-`))return!1;let n=y[e[0]];return n!==void 0&&b.has(n)&&n.split(`-`)[0].toLowerCase()===t}function de(e){return Object.entries(e).map(([e,t])=>{let n=t.language?x(t.language):y[e[0]];return{id:e,name:t.name||e,lang:n??`en-US`,onDevice:S(e,n),...t.gender?{gender:t.gender}:{}}})}var fe=Object.freeze({ef_dora:{name:`Dora`,gender:`Female`},em_alex:{name:`Alex`,gender:`Male`},em_santa:{name:`Santa`,gender:`Male`},ff_siwis:{name:`Siwis`,gender:`Female`},hf_alpha:{name:`Alpha`,gender:`Female`},hf_beta:{name:`Beta`,gender:`Female`},hm_omega:{name:`Omega`,gender:`Male`},hm_psi:{name:`Psi`,gender:`Male`},if_sara:{name:`Sara`,gender:`Female`},im_nicola:{name:`Nicola`,gender:`Male`},pf_dora:{name:`Dora`,gender:`Female`},pm_alex:{name:`Alex`,gender:`Male`},pm_santa:{name:`Santa`,gender:`Male`},jf_alpha:{name:`Alpha`,gender:`Female`},jf_gongitsune:{name:`Gongitsune`,gender:`Female`},jf_nezumi:{name:`Nezumi`,gender:`Female`},jf_tebukuro:{name:`Tebukuro`,gender:`Female`},jm_kumo:{name:`Kumo`,gender:`Male`},zf_xiaobei:{name:`Xiaobei`,gender:`Female`},zf_xiaoni:{name:`Xiaoni`,gender:`Female`},zf_xiaoxiao:{name:`Xiaoxiao`,gender:`Female`},zf_xiaoyi:{name:`Xiaoyi`,gender:`Female`},zm_yunjian:{name:`Yunjian`,gender:`Male`},zm_yunxi:{name:`Yunxi`,gender:`Male`},zm_yunxia:{name:`Yunxia`,gender:`Male`},zm_yunyang:{name:`Yunyang`,gender:`Male`}});function C(e){let t={...e};for(let[e,n]of Object.entries(fe))e in t||(t[e]=n);return de(t)}var w=`style_text_to_speech_2`,T=`StyleTextToSpeech2Model`;function pe(e){return e?.model_type===w&&(!Array.isArray(e.architectures)||e.architectures.length===0)&&(e.architectures=[T]),e}var E=Symbol.for(`slicc.kokoro.style-tts2-arch-shim`);function me(e){let t=e?.AutoConfig,n=t?.from_pretrained;if(!t||typeof n!=`function`){v.debug(`style_text_to_speech_2 shim skipped: AutoConfig.from_pretrained unavailable`);return}if(n[E])return;let r=async(...e)=>{let r=await n.apply(t,e),i=r?.model_type===w&&(!Array.isArray(r.architectures)||r.architectures.length===0);return pe(r),i&&v.debug(`style_text_to_speech_2 architectures injected for "${String(e[0])}": [${T}]`),r};r[E]=!0,t.from_pretrained=r,v.debug(`style_text_to_speech_2 architecture shim installed on AutoConfig.from_pretrained`)}async function D(e,t,n,r,i,a){let o=await ue(t,n,a),s=e.tokenizer,{input_ids:c}=s(o,{truncation:!0}),l=await e.generate_from_ids(c,{voice:r,...i?{speed:i}:{}});return{audio:l.audio,sampleRate:l.sampling_rate}}var he=/(?<=[.!?。!?…])\s+|\n{2,}/u;function O(e,t){let n=t??he,r=e.split(n).map(e=>e.trim()).filter(e=>e.length>0),i=e.trim();return r.length>0?r:i?[i]:[]}var k=null,A=`idle`,j=null,M=null;function N(){return A}function P(){return j}function F(){return M}function I(e){return k||=(A=`loading`,L(e).then(e=>(A=`ready`,M=e,e),e=>{throw A=`failed`,k=null,v.error(`kokoro load failed`,e),e})),k}async function L(t){let n=await e(()=>import(`./transformers.web-B0gi9Hor.js`),__vite__mapDeps([0,1,2]));a(n.env),me(n),await c(i),await s();let{KokoroTTS:r,TextSplitterStream:l}=await e(async()=>{let{KokoroTTS:e,TextSplitterStream:t}=await import(`./kokoro-BkJ3NLgd.js`);return{KokoroTTS:e,TextSplitterStream:t}},__vite__mapDeps([3,1,4,0,2])),u=o(),d=typeof navigator<`u`&&`gpu`in navigator,f=await r.from_pretrained(i,{device:d?`webgpu`:`wasm`,dtype:d?`fp32`:`q8`,progress_callback:e=>{if(e?.file){if(e.status===`progress`)u.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)u.complete(e.file);else return;j=u.snapshot(),t?.(j)}}});v.info(`kokoro ready`,{model:i,device:d?`webgpu`:`wasm`});let p=C(f.voices);return{async synthesize(e,t){let r=t?.voice??`af_heart`,i=_(r);if(i){let n=await g();return D(f,e,i,r,t?.speed,n)}try{let r=performance.now(),i=await f.generate(e,{...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}}),a=i.audio;return v.info(`kokoro synthesize`,{elapsedMs:Math.round(performance.now()-r),chars:e.length,audioSeconds:Math.round(a.length/i.sampling_rate*100)/100,numThreads:n.env.backends?.onnx?.wasm?.numThreads}),{audio:a,sampleRate:i.sampling_rate}}catch(n){let i=await R(n,r);if(!i)throw n;return D(f,e,i.lang,r,t?.speed,i.phonemize)}},async*synthesizeStream(e,t){let r=t?.voice??`af_heart`,i=_(r);if(i){let n=await g();for(let a of O(e,t?.splitPattern))yield await D(f,a,i,r,t?.speed,n);return}let a={...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}},o=new l;if(t?.splitPattern){let n=e.split(t.splitPattern).map(e=>e.trim()).filter(e=>e.length>0);o.push(...n)}else o.push(e);o.close();try{let t=performance.now(),r=0,i=0,s=0;for await(let e of f.stream(o,a)){let t=e.audio.audio;r+=1,i+=t.length,s=e.audio.sampling_rate,yield{audio:t,sampleRate:s}}v.info(`kokoro synthesizeStream`,{elapsedMs:Math.round(performance.now()-t),chunks:r,chars:e.length,audioSeconds:s?Math.round(i/s*100)/100:0,numThreads:n.env.backends?.onnx?.wasm?.numThreads})}catch(n){let i=await R(n,r);if(!i)throw n;for(let n of O(e,t?.splitPattern))yield await D(f,n,i.lang,r,t?.speed,i.phonemize)}},voices:()=>p}}async function R(e,t){if(!oe(e))return null;let n=ae(t);if(!n)return null;try{let e=await g();return v.warn(`kokoro bundled phonemizer reported no languages; phonemizing English with the staged espeak-ng`,{voiceId:t,lang:n}),{lang:n,phonemize:e}}catch(e){return v.warn(`staged espeak-ng unavailable, cannot recover English synthesis`,{error:String(e)}),null}}var z=44,B=16,V=1,H=B/8;function U(e,t,n){for(let r=0;r<n.length;r++)e.setUint8(t+r,n.charCodeAt(r))}function ge(e){let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)}function _e(e){if(e.length===0)throw Error(`wav-encode: at least one PCM chunk is required`);let t=e[0].sampleRate;if(!Number.isFinite(t)||t<=0)throw Error(`wav-encode: invalid sample rate ${t}`);let n=0;for(let r of e){if(r.sampleRate!==t)throw Error(`wav-encode: mixed sample rates (${r.sampleRate} vs ${t}) — resample upstream`);n+=r.audio.length}let r=n*V*H,i=new ArrayBuffer(z+r),a=new DataView(i);U(a,0,`RIFF`),a.setUint32(4,36+r,!0),U(a,8,`WAVE`),U(a,12,`fmt `),a.setUint32(16,16,!0),a.setUint16(20,1,!0),a.setUint16(22,V,!0),a.setUint32(24,t,!0),a.setUint32(28,t*V*H,!0),a.setUint16(32,2,!0),a.setUint16(34,B,!0),U(a,36,`data`),a.setUint32(40,r,!0);let o=z;for(let t of e)for(let e=0;e<t.audio.length;e++)a.setInt16(o,ge(t.audio[e]),!0),o+=H;return new Uint8Array(i)}var W=t(`speech:speak`),G=2e4;function K(e){return e.toLowerCase().startsWith(`en`)}function ve(e,t){if(!t.ready)return`webspeech`;let n=e=>e.onDevice&&(K(e.lang)||t.nonEnglishOnDevice);if(e.voice){let r=t.voices.find(t=>t.id===e.voice);return r&&n(r)?`kokoro`:`webspeech`}let r=(e.lang?e.lang.split(`-`)[0]:`en`).toLowerCase();return t.voices.some(e=>e.lang.split(`-`)[0].toLowerCase()===r&&n(e))?`kokoro`:`webspeech`}function ye(e,t){if(!e||K(e))return;let n=e.split(`-`)[0].toLowerCase();return t.find(e=>e.onDevice&&e.lang.split(`-`)[0].toLowerCase()===n)?.id}var be=48;function xe(e){let t=e;return t=t.replace(/```[\s\S]*?```/g,` `),t=t.replace(/~~~[\s\S]*?~~~/g,` `),t=t.replace(/(?:```|~~~)[\s\S]*$/,` `),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`),t=t.replace(/`([^`]*)`/g,(e,t)=>t.length>be?` `:t),t=t.replace(/<[^>\n]+>/g,` `),t=t.replace(/^[ \t]{0,3}#{1,6}[ \t]+/gm,``),t=t.replace(/^[ \t]*>[ \t]?/gm,``),t=t.replace(/^[ \t]*(?:[-*+]|\d+[.)])[ \t]+/gm,``),t=t.replace(/[*_~]{1,3}([^*_~]+)[*_~]{1,3}/g,`$1`),t=t.replace(/\s+/g,` `).trim(),t.length>G&&(t=`${t.slice(0,G).replace(/\s+\S*$/,``)}…`),t}var q=n;function Se(e){return e.onDevice&&(K(e.lang)||!q())}function J(){return F()?.voices().map(e=>({...e,onDevice:Se(e)}))??[]}async function Y(){if(typeof speechSynthesis>`u`)return[];let e=speechSynthesis.getVoices();return e.length>0||typeof speechSynthesis.addEventListener!=`function`?e:new Promise(e=>{let t=()=>{clearTimeout(r),speechSynthesis.removeEventListener(`voiceschanged`,n),e(speechSynthesis.getVoices())},n=()=>t(),r=setTimeout(t,2e3);speechSynthesis.addEventListener(`voiceschanged`,n)})}async function Ce(e){let t=e.split(`-`)[0]?.toLowerCase();return t?J().some(e=>e.onDevice&&e.lang.split(`-`)[0].toLowerCase()===t)?!0:(await Y()).some(e=>e.lang.split(`-`)[0].toLowerCase()===t):!1}var X;function we(e){X=e}function Z(){let e=P();return{state:N(),...e?{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}:{}}}async function Te(){try{q()||await r({instanceId:X})}catch(e){W.warn(`kokoro asset staging failed; trying already-present weights`,e)}try{await I()}catch(e){W.warn(`kokoro warmup load failed`,e)}}function Q(){return Te(),Z()}var $=null;function Ee(){return(!$||$.state===`closed`)&&($=new AudioContext),$}async function De(e,t,n=1){let r=Ee();r.state===`suspended`&&await r.resume();let i=r.createBuffer(1,e.length,t);i.copyToChannel(new Float32Array(e),0);let a=r.createBufferSource();a.buffer=i;let o=r.createGain();o.gain.value=n,a.connect(o),o.connect(r.destination),await new Promise(e=>{a.onended=()=>e(),a.start()})}async function Oe(e){if(typeof speechSynthesis>`u`)throw Error(`speechSynthesis is unavailable in this realm`);let t=await Y();return new Promise((n,r)=>{let i=new SpeechSynthesisUtterance(e.text);if(e.lang!==void 0&&(i.lang=e.lang),e.rate!==void 0&&(i.rate=e.rate),e.pitch!==void 0&&(i.pitch=e.pitch),e.volume!==void 0&&(i.volume=e.volume),e.voice){let n=t.find(t=>t.name===e.voice);n&&(i.voice=n)}else if(e.lang){let n=e.lang.split(`-`)[0].toLowerCase(),r=t.find(e=>e.lang.split(`-`)[0].toLowerCase()===n);r&&(i.voice=r)}i.onend=()=>n(),i.onerror=e=>r(Error(`speak: ${e.error||`utterance failed`}`)),speechSynthesis.speak(i)})}async function ke(e){let t=F(),n=t?.voices()??[];if(ve(e,{ready:t!==null,voices:n,nonEnglishOnDevice:!q()})===`kokoro`&&t){let r=e.voice??ye(e.lang,n),i=0;try{let n=t.synthesizeStream(e.text,{...r?{voice:r}:{},...e.rate?{speed:e.rate}:{}});for await(let t of n)await De(t.audio,t.sampleRate,e.volume),i++;return{engine:`kokoro`}}catch(e){if(i>0)return W.warn(`kokoro stream failed mid-playback; stopping`,e),{engine:`kokoro`};W.warn(`kokoro synthesis failed; falling back to webspeech`,e)}}return await Oe(e),{engine:`webspeech`}}async function Ae(e){let t=F();if(!t)throw Error(`on-device voice not ready — run say --warmup and retry once it reports ready`);if(e.lang&&!e.lang.toLowerCase().startsWith(`en`))throw Error(`-o writes WAV via the on-device voice, which is English-only (got ${e.lang})`);if(e.voice&&!t.voices().map(e=>e.id).includes(e.voice))throw Error(`-o writes WAV via the on-device voice; "${e.voice}" is a Web Speech voice. Pick a kokoro voice (e.g. af_heart) or omit -v.`);let n=[],r=t.synthesizeStream(e.text,{...e.voice?{voice:e.voice}:{},...e.rate?{speed:e.rate}:{}});for await(let e of r)n.push({audio:e.audio,sampleRate:e.sampleRate});if(n.length===0)throw Error(`kokoro produced no audio (text is empty after sentence split?)`);return _e(n)}export{Ce as hasVoiceForLang,Z as kokoroStatus,J as kokoroVoicesIfReady,Q as kokoroWarmup,we as setSpeakAssetsInstanceId,ke as speak,xe as speechTextFromMarkdown,Ae as synthesizeToWav};
@@ -1,2 +1,2 @@
1
- import{n as e,r as t}from"./hid-device-registry-B2R-0rNt.js";import{a as n,i as r}from"./serial-port-registry-CCqklAEr.js";import{C as i,D as a,E as o,S as s,_ as c,a as l,g as u,h as d,k as f,l as p,m,n as h,o as g,s as _,w as v,x as y,y as b}from"./usb-operations-BBXJ4GF8.js";import{i as x,r as S}from"./usb-device-registry-CRsCisej.js";import{n as C}from"./shared-6HJLEwgI.js";var w=`slicc-sprinkle-routes`;function T(){try{let e=localStorage.getItem(w);return e?JSON.parse(e):{}}catch{return{}}}function E(e){return T()[e]}var D=`SLICCJSH`;function O(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function k(e,t){return`var REQ=${JSON.stringify({op:e,args:t})};var P=${JSON.stringify(D)};function emit(o){process.stdout.write(P+JSON.stringify(o));}try{var op=REQ.op,a=REQ.args||[],out;if(op==='fetch'){var r=await fetch(a[0],a[1]||undefined);var h={};r.headers.forEach(function(v,k){h[k]=v;});var u=new Uint8Array(await r.arrayBuffer());var bin="",C=0x8000;for(var i=0;i<u.length;i+=C){bin+=String.fromCharCode.apply(null,u.subarray(i,i+C));}out={ok:r.ok,status:r.status,statusText:r.statusText,url:r.url,headers:h,bodyBase64:btoa(bin)};}else if(op==='http'){var c=http.client(a[0]||{});var res=await c[a[1]](a[2],Object.assign({},a[3]||{},{raw:true}));out={status:res.status,headers:res.headers,body:res.body};}else if(op==='browser'){var m=a[0];if(typeof browser[m]!=="function")throw new Error("browser."+m+" is not available over the sprinkle bridge");out=await browser[m].apply(browser,a.slice(1));}else if(op==='spawn'){out=await exec.spawn(a[0]);}else if(op==='fetchToFile'){out=await fs.fetchToFile(a[0],a[1]);}else{throw new Error("unknown jsh op: "+op);}emit({ok:true,value:out});}catch(e){emit({ok:false,error:(e&&e.message)?e.message:String(e)});}`}function A(e,t){return`node -e ${O(k(e,t))}`}function j(e){let t=e.stdout.lastIndexOf(D);if(t===-1){let t=e.stderr.trim()||e.stdout.trim()||`exit code ${e.exitCode}`;throw Error(`jsh bridge: no result (${t})`)}let n;try{n=JSON.parse(e.stdout.slice(t+10))}catch{throw Error(`jsh bridge: malformed result`)}if(!n.ok)throw Error(n.error||`jsh bridge error`);return n.value}async function M(e,t,n){return j(await e(A(t,n)))}function N(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,r+n));return btoa(t)}function P(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function F(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}var I=new Set([101,103,204,205,304]);function L(e){let t=P(e.bodyBase64),n=I.has(e.status)?null:t,r=new Headers(e.headers),i;try{return i=new Response(n,{status:e.status,statusText:e.statusText,headers:r}),Object.defineProperty(i,"url",{value:e.url,configurable:!0}),i}catch{i=new Response(n,{headers:r});let t=e.status>=200&&e.status<300;return Object.defineProperty(i,"status",{value:e.status,configurable:!0}),Object.defineProperty(i,"statusText",{value:e.statusText,configurable:!0}),Object.defineProperty(i,"ok",{value:t,configurable:!0}),Object.defineProperty(i,"url",{value:e.url,configurable:!0}),i}}function R(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}var z=class{listeners=new Map;lickHandler;fs;closeHandler;minimizeHandler;stopConeHandler;attachImageHandler;captureScreenHandler;execHandler;hidSubs=new Map;iframePusher;constructor(e,t,n,r,i,a,o,s,c){this.fs=e,this.lickHandler=t,this.closeHandler=n,this.minimizeHandler=r,this.stopConeHandler=i,this.attachImageHandler=a,this.captureScreenHandler=o,this.execHandler=s,this.iframePusher=c}setIframePusher(e){this.iframePusher=e}async hidOp(n,r,i){let a=t();switch(r){case`list`:{let t=e();if(!t)throw Error(`WebHID is unavailable in this browser`);return u(a,t)}case`request`:{let t=e();if(!t)throw Error(`WebHID is unavailable in this browser`);return b(a,t,i[0]??[])}case`info`:return d(a,i[0]);case`open`:{let e=i[0];return await c(a,e),await this.attachHidInputReports(n,e),{ok:!0}}case`close`:{let e=i[0];return await this.detachHidInputReports(n,e),await m(a,e),{ok:!0}}case`sendReport`:{let e=i[0],t=i[1],n=F(i[2]),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);return await y(a,e,t,r),{ok:!0}}default:throw Error(`hid: unknown op '${r}'`)}}async serialOp(e,t,s){let c=n();switch(t){case`list`:{let e=r();if(!e)throw Error(`Web Serial is unavailable in this browser`);return o(c,e)}case`request`:{let e=r();if(!e)throw Error(`Web Serial is unavailable in this browser`);return f(c,e,s[0]??[])}case`info`:return v(c,s[0]);case`open`:{let e=s[0],t=s[1]??{baudRate:9600};return await a(c,e,t),{ok:!0}}case`close`:{let e=s[0];return await i(c,e),{ok:!0}}default:throw Error(`serial: unknown op '${t}'`)}}async usbOp(e,t,n){let r=x();switch(t){case`list`:{let e=S();if(!e)throw Error(`WebUSB is unavailable in this browser`);return g(r,e)}case`request`:{let e=S();if(!e)throw Error(`WebUSB is unavailable in this browser`);return p(r,e,n[0]??[])}case`info`:return l(r,n[0]);case`open`:return await _(r,n[0]),{ok:!0};case`close`:return await h(r,n[0]),{ok:!0};default:throw Error(`usb: unknown op '${t}'`)}}async deviceOp(e,t,n,r){if(t===`hid`)return this.hidOp(e,n,r);if(t===`serial`)return this.serialOp(e,n,r);if(t===`usb`)return this.usbOp(e,n,r);throw Error(`unknown device channel '${t}'`)}async attachHidInputReports(e,n){let r=this.hidSubs.get(e);if(r||(r=new Map,this.hidSubs.set(e,r)),r.has(n))return;let i=await s(t(),n,t=>{let r=t.bytes instanceof Uint8Array?t.bytes:new Uint8Array(t.bytes);this.deliverHidInputReport(e,{handle:n,reportId:t.reportId,data:r})});r.set(n,i)}async detachHidInputReports(e,t){let n=this.hidSubs.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&this.hidSubs.delete(e)}deliverHidInputReport(e,t){let n=this.listeners.get(`${e}:hid:inputreport`);if(n)for(let e of n){let r=n;setTimeout(()=>{if(r.has(e))try{e(t)}catch{}},0)}try{this.iframePusher?.(e,`hid:inputreport`,t)}catch{}}async runExec(e){if(!this.execHandler)return{stdout:``,stderr:`exec: shell bridge not available
1
+ import{n as e,r as t}from"./hid-device-registry-B2R-0rNt.js";import{a as n,i as r}from"./serial-port-registry-CCqklAEr.js";import{C as i,D as a,E as o,S as s,_ as c,a as l,g as u,h as d,k as f,l as p,m,n as h,o as g,s as _,w as v,x as y,y as b}from"./usb-operations-BBXJ4GF8.js";import{i as x,r as S}from"./usb-device-registry-CRsCisej.js";import{n as C}from"./shared-B9N4MZd0.js";var w=`slicc-sprinkle-routes`;function T(){try{let e=localStorage.getItem(w);return e?JSON.parse(e):{}}catch{return{}}}function E(e){return T()[e]}var D=`SLICCJSH`;function O(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}function k(e,t){return`var REQ=${JSON.stringify({op:e,args:t})};var P=${JSON.stringify(D)};function emit(o){process.stdout.write(P+JSON.stringify(o));}try{var op=REQ.op,a=REQ.args||[],out;if(op==='fetch'){var r=await fetch(a[0],a[1]||undefined);var h={};r.headers.forEach(function(v,k){h[k]=v;});var u=new Uint8Array(await r.arrayBuffer());var bin="",C=0x8000;for(var i=0;i<u.length;i+=C){bin+=String.fromCharCode.apply(null,u.subarray(i,i+C));}out={ok:r.ok,status:r.status,statusText:r.statusText,url:r.url,headers:h,bodyBase64:btoa(bin)};}else if(op==='http'){var c=http.client(a[0]||{});var res=await c[a[1]](a[2],Object.assign({},a[3]||{},{raw:true}));out={status:res.status,headers:res.headers,body:res.body};}else if(op==='browser'){var m=a[0];if(typeof browser[m]!=="function")throw new Error("browser."+m+" is not available over the sprinkle bridge");out=await browser[m].apply(browser,a.slice(1));}else if(op==='spawn'){out=await exec.spawn(a[0]);}else if(op==='fetchToFile'){out=await fs.fetchToFile(a[0],a[1]);}else{throw new Error("unknown jsh op: "+op);}emit({ok:true,value:out});}catch(e){emit({ok:false,error:(e&&e.message)?e.message:String(e)});}`}function A(e,t){return`node -e ${O(k(e,t))}`}function j(e){let t=e.stdout.lastIndexOf(D);if(t===-1){let t=e.stderr.trim()||e.stdout.trim()||`exit code ${e.exitCode}`;throw Error(`jsh bridge: no result (${t})`)}let n;try{n=JSON.parse(e.stdout.slice(t+10))}catch{throw Error(`jsh bridge: malformed result`)}if(!n.ok)throw Error(n.error||`jsh bridge error`);return n.value}async function M(e,t,n){return j(await e(A(t,n)))}function N(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...e.subarray(r,r+n));return btoa(t)}function P(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function F(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e)){let t=e;return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}if(Array.isArray(e))return new Uint8Array(e);throw Error(`expected Uint8Array, ArrayBuffer, or number[]`)}var I=new Set([101,103,204,205,304]);function L(e){let t=P(e.bodyBase64),n=I.has(e.status)?null:t,r=new Headers(e.headers),i;try{return i=new Response(n,{status:e.status,statusText:e.statusText,headers:r}),Object.defineProperty(i,"url",{value:e.url,configurable:!0}),i}catch{i=new Response(n,{headers:r});let t=e.status>=200&&e.status<300;return Object.defineProperty(i,"status",{value:e.status,configurable:!0}),Object.defineProperty(i,"statusText",{value:e.statusText,configurable:!0}),Object.defineProperty(i,"ok",{value:t,configurable:!0}),Object.defineProperty(i,"url",{value:e.url,configurable:!0}),i}}function R(e){return e.length===0?`''`:`'${e.replace(/'/g,`'\\''`)}'`}var z=class{listeners=new Map;lickHandler;fs;closeHandler;minimizeHandler;stopConeHandler;attachImageHandler;captureScreenHandler;execHandler;hidSubs=new Map;iframePusher;constructor(e,t,n,r,i,a,o,s,c){this.fs=e,this.lickHandler=t,this.closeHandler=n,this.minimizeHandler=r,this.stopConeHandler=i,this.attachImageHandler=a,this.captureScreenHandler=o,this.execHandler=s,this.iframePusher=c}setIframePusher(e){this.iframePusher=e}async hidOp(n,r,i){let a=t();switch(r){case`list`:{let t=e();if(!t)throw Error(`WebHID is unavailable in this browser`);return u(a,t)}case`request`:{let t=e();if(!t)throw Error(`WebHID is unavailable in this browser`);return b(a,t,i[0]??[])}case`info`:return d(a,i[0]);case`open`:{let e=i[0];return await c(a,e),await this.attachHidInputReports(n,e),{ok:!0}}case`close`:{let e=i[0];return await this.detachHidInputReports(n,e),await m(a,e),{ok:!0}}case`sendReport`:{let e=i[0],t=i[1],n=F(i[2]),r=n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength);return await y(a,e,t,r),{ok:!0}}default:throw Error(`hid: unknown op '${r}'`)}}async serialOp(e,t,s){let c=n();switch(t){case`list`:{let e=r();if(!e)throw Error(`Web Serial is unavailable in this browser`);return o(c,e)}case`request`:{let e=r();if(!e)throw Error(`Web Serial is unavailable in this browser`);return f(c,e,s[0]??[])}case`info`:return v(c,s[0]);case`open`:{let e=s[0],t=s[1]??{baudRate:9600};return await a(c,e,t),{ok:!0}}case`close`:{let e=s[0];return await i(c,e),{ok:!0}}default:throw Error(`serial: unknown op '${t}'`)}}async usbOp(e,t,n){let r=x();switch(t){case`list`:{let e=S();if(!e)throw Error(`WebUSB is unavailable in this browser`);return g(r,e)}case`request`:{let e=S();if(!e)throw Error(`WebUSB is unavailable in this browser`);return p(r,e,n[0]??[])}case`info`:return l(r,n[0]);case`open`:return await _(r,n[0]),{ok:!0};case`close`:return await h(r,n[0]),{ok:!0};default:throw Error(`usb: unknown op '${t}'`)}}async deviceOp(e,t,n,r){if(t===`hid`)return this.hidOp(e,n,r);if(t===`serial`)return this.serialOp(e,n,r);if(t===`usb`)return this.usbOp(e,n,r);throw Error(`unknown device channel '${t}'`)}async attachHidInputReports(e,n){let r=this.hidSubs.get(e);if(r||(r=new Map,this.hidSubs.set(e,r)),r.has(n))return;let i=await s(t(),n,t=>{let r=t.bytes instanceof Uint8Array?t.bytes:new Uint8Array(t.bytes);this.deliverHidInputReport(e,{handle:n,reportId:t.reportId,data:r})});r.set(n,i)}async detachHidInputReports(e,t){let n=this.hidSubs.get(e);if(!n)return;let r=n.get(t);if(r){n.delete(t);try{await Promise.resolve(r())}catch{}}n.size===0&&this.hidSubs.delete(e)}deliverHidInputReport(e,t){let n=this.listeners.get(`${e}:hid:inputreport`);if(n)for(let e of n){let r=n;setTimeout(()=>{if(r.has(e))try{e(t)}catch{}},0)}try{this.iframePusher?.(e,`hid:inputreport`,t)}catch{}}async runExec(e){if(!this.execHandler)return{stdout:``,stderr:`exec: shell bridge not available
2
2
  `,exitCode:127};try{return await this.execHandler(e)}catch(e){return{stdout:``,stderr:`exec: ${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}}async jshDispatch(e,t){if(e===`readFileBinary`)return{base64:N(await this.fs.readFile(t[0],{encoding:`binary`}))};if(e===`writeFileBinary`)return await this.fs.writeFile(t[0],P(t[1])),!0;let n=await M(e=>this.runExec(e),e,t);return e===`fetch`?L(n):n}createLickHandler(e){return t=>{let n=typeof t==`string`?t:t.action,r=typeof t==`string`?void 0:t.data,i={type:`sprinkle`,sprinkleName:e,targetScoop:E(e),timestamp:new Date().toISOString(),body:{action:n,data:r}};this.lickHandler(i)}}createScreenshotHandler(e){return async t=>{if(!e)return``;let n=t?e.querySelector(t):e;if(!n)throw Error(`Element not found: `+(t||`container`));let r=n.getBoundingClientRect(),i=Math.ceil(r.width),a=Math.ceil(r.height);if(i===0||a===0)throw Error(`Element has zero dimensions`);let o=document.createElement(`canvas`),s=window.devicePixelRatio||1;o.width=i*s,o.height=a*s;let c=o.getContext(`2d`);c.scale(s,s);let l=n.cloneNode(!0),u=`<svg xmlns="http://www.w3.org/2000/svg" width="${i}" height="${a}"><foreignObject width="100%" height="100%">${new XMLSerializer().serializeToString(l)}</foreignObject></svg>`;return new Promise((e,t)=>{let n=new Image;n.onload=()=>{c.drawImage(n,0,0),e(o.toDataURL(`image/png`))},n.onerror=()=>t(Error(`Screenshot rendering failed`)),n.src=`data:image/svg+xml;charset=utf-8,`+encodeURIComponent(u)})}}createAgentHandler(){return async(e,t)=>{let n=t?.cwd??`.`,r=t?.allowedCommands??`*`,i=[`agent`];t?.model&&i.push(`--model`,R(t.model)),t?.thinking&&i.push(`--thinking`,R(t.thinking)),t?.readOnly&&i.push(`--read-only`,R(t.readOnly)),i.push(R(n),R(r),R(e));let a=await this.runExec(i.join(` `));return{stdout:a.stdout||a.stderr,exitCode:a.exitCode}}}createHidApi(e){return{list:()=>this.hidOp(e,`list`,[]),request:t=>this.hidOp(e,`request`,[t??[]]),open:async t=>{await this.hidOp(e,`open`,[t])},close:async t=>{await this.hidOp(e,`close`,[t])},sendReport:async(t,n,r)=>{await this.hidOp(e,`sendReport`,[t,n,r])},on:(t,n)=>{if(t!==`inputreport`)return;let r=`${e}:hid:inputreport`,i=this.listeners.get(r);i||(i=new Set,this.listeners.set(r,i)),i.add(n)},off:(t,n)=>{t===`inputreport`&&this.listeners.get(`${e}:hid:inputreport`)?.delete(n)}}}createSerialApi(e){return{list:()=>this.serialOp(e,`list`,[]),request:t=>this.serialOp(e,`request`,[t??[]]),open:async(t,n)=>{await this.serialOp(e,`open`,[t,n])},close:async t=>{await this.serialOp(e,`close`,[t])}}}createUsbApi(e){return{list:()=>this.usbOp(e,`list`,[]),request:t=>this.usbOp(e,`request`,[t??[]]),open:async t=>{await this.usbOp(e,`open`,[t])},close:async t=>{await this.usbOp(e,`close`,[t])}}}createHttpClient(e){let t=t=>(n,r)=>this.jshDispatch(`http`,[e,t,n,r??null]);return{get:t(`get`),post:t(`post`),put:t(`put`),patch:t(`patch`),delete:t(`delete`)}}createAPI(e){let t={name:e,lick:this.createLickHandler(e),on:(t,n)=>{let r=`${e}:${t}`,i=this.listeners.get(r);i||(i=new Set,this.listeners.set(r,i)),i.add(n)},off:(t,n)=>{let r=`${e}:${t}`;this.listeners.get(r)?.delete(n)},readFile:async e=>await this.fs.readFile(e,{encoding:`utf-8`}),writeFile:async(e,t)=>{await this.fs.writeFile(e,t)},readDir:async e=>(await this.fs.readDir(e)).map(e=>({name:e.name,type:e.type})),exists:async e=>this.fs.exists(e),stat:async e=>{let t=await this.fs.stat(e);return{type:t.type,size:t.size}},mkdir:async e=>{await this.fs.mkdir(e,{recursive:!0})},rm:async e=>{await this.fs.rm(e)},screenshot:e=>this.createScreenshotHandler(t._container)(e),setState:t=>{try{localStorage.setItem(`slicc-sprinkle-state:${e}`,JSON.stringify(t))}catch{}},getState:()=>{try{let t=localStorage.getItem(`slicc-sprinkle-state:${e}`);return t?JSON.parse(t):null}catch{return null}},open:e=>{let t=/^https?:|^chrome-extension:/.test(e)?e:C(e);window.open(t,`_blank`)},close:()=>this.closeHandler(e),minimize:()=>this.minimizeHandler(e),stopCone:()=>this.stopConeHandler(),attachImage:(e,t,n)=>this.attachImageHandler(e,t,n),captureScreen:()=>this.captureScreenHandler(),exec:Object.assign(e=>this.runExec(e),{spawn:e=>this.jshDispatch(`spawn`,[e])}),fetch:(e,t)=>this.jshDispatch(`fetch`,[e,t??null]),http:{client:e=>this.createHttpClient(e)},browser:{findTab:e=>this.jshDispatch(`browser`,[`findTab`,e]),ensureTab:(e,t)=>this.jshDispatch(`browser`,[`ensureTab`,e,t??{}]),eval:(e,t)=>this.jshDispatch(`browser`,[`eval`,e,t]),evalAsync:(e,t)=>this.jshDispatch(`browser`,[`evalAsync`,e,t]),cookie:(e,t)=>this.jshDispatch(`browser`,[`cookie`,e,t]),localStorage:(e,t)=>this.jshDispatch(`browser`,[`localStorage`,e,t]),fetch:(e,t,n)=>this.jshDispatch(`browser`,[`fetch`,e,t,n??{}])},hid:this.createHidApi(e),serial:this.createSerialApi(e),usb:this.createUsbApi(e),readFileBinary:async e=>P((await this.jshDispatch(`readFileBinary`,[e])).base64),writeFileBinary:async(e,t)=>{await this.jshDispatch(`writeFileBinary`,[e,N(t)])},fetchToFile:(e,t)=>this.jshDispatch(`fetchToFile`,[e,t]),_jsh:(e,t)=>this.jshDispatch(e,t),_device:(t,n,r)=>this.deviceOp(e,t,n,r),agent:this.createAgentHandler()};return t}pushUpdate(e,t){let n=`${e}:update`,r=this.listeners.get(n);if(r)for(let e of r){let n=r;setTimeout(()=>{if(n.has(e))try{e(t)}catch{}},0)}}removeSprinkle(e){for(let t of this.listeners.keys())t.startsWith(`${e}:`)&&this.listeners.delete(t);let t=this.hidSubs.get(e);if(t){for(let e of t.values())try{Promise.resolve(e()).catch(()=>{})}catch{}this.hidSubs.delete(e)}}};export{M as n,z as t};
@@ -1 +1 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import{s as t}from"./telemetry-BVzuNdvW.js";import{n,t as r}from"./panel-rpc-B3MSVImO.js";import{t as i}from"./sprinkle-renderer-D64E-W2o.js";import{t as a}from"./sprinkle-bridge-C4qw-DTw.js";import"./sprinkle-instances-B8n7h-oP.js";var o=[`/shared/sprinkles`],s=new Set([`welcome`,`connect-llm`]);async function c(e){let t=new Map;for(let n of o)await e.exists(n)&&await l(e,n,t);return await l(e,`/`,t),t}async function l(e,t,n){for await(let r of e.walk(t)){if(!r.endsWith(`.shtml`))continue;let t=u(r);if(!s.has(t)&&!n.has(t)){let i;try{i=await e.readFile(r,{encoding:`utf-8`})??``}catch{i=``}n.set(t,{name:t,path:r,title:d(i,t),autoOpen:f(i),icon:p(i)})}}}function u(e){let t=e.split(`/`).pop()??e;return t.endsWith(`.shtml`)?t.slice(0,-6):t}function d(e,t){let n=e.match(/data-sprinkle-title=["']([^"']+)["']/);if(n)return n[1];let r=e.match(/<title>([^<]+)<\/title>/i);return r?r[1].trim():t}function f(e){return/data-sprinkle-autoopen\b/.test(e)}function p(e){let t=/<link\b/gi,n;for(;(n=t.exec(e))!==null;){let t=n.index+n[0].length,r=m(e,t);if(r<0)continue;let i=e.slice(t,r);if(!/\brel\s*=\s*("|')\s*(?:shortcut\s+)?icon\s*\1/i.test(i))continue;let a=h(i,`href`);if(a!==void 0)return a.trim()}let r=h(e,`data-sprinkle-icon`);if(r!==void 0)return r.trim()}function m(e,t){let n=!1,r=!1;for(let i=t;i<e.length;i++){let t=e.charCodeAt(i);if(n)t===34&&(n=!1);else if(r)t===39&&(r=!1);else if(t===34)n=!0;else if(t===39)r=!0;else if(t===62)return i}return-1}function h(e,t){let n=RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`,`i`),r=e.match(n);if(r)return r[1]??r[2]??void 0}var g=e(`sprinkle-manager`),_=`slicc-open-sprinkles`,v=`sprinkles`;function y(){try{if(typeof window>`u`||!window.location)return null;let e=new URLSearchParams(window.location.search).get(v);return e===null?null:e===``?[]:e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}catch{return null}}function b(e){try{if(typeof window>`u`||!window.location||typeof history>`u`||typeof history.replaceState!=`function`)return;let t=new URL(window.location.href);e.length===0?t.searchParams.delete(v):t.searchParams.set(v,e.join(`,`));let n=t.pathname+t.search+t.hash;history.replaceState(history.state??null,``,n)}catch{}}var x=`slicc-known-sprinkles`;function S(e){try{let t=new Set(e),n=C().filter(e=>t.has(e));localStorage.setItem(x,JSON.stringify(n))}catch{}}function C(){try{let e=localStorage.getItem(x);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}var w=`slicc-autoopened-once`,T=[`/workspace`,`/shared`,`/scoops`],E=250,D=class{fs;bridge;callbacks;availableSprinkles=new Map;watcherUnsub;openSprinkles=new Map;attentionOnly=new Set;inflightRefresh=null;lastRefreshAt=0;autoOpenBehavior;onSendToSprinkle;onSprinkleReloaded;registeredSprinkles=new Set;inlineSprinkles;changeListeners=new Set;changeNotifyScheduled=!1;urlWriteScheduled=!1;constructor(e,t,i,o,s={}){this.fs=e;let c=async()=>{let e=`image/png`,t=n(),i=r();if(!t&&!i)throw Error(`Screen capture unavailable in this environment`);if(t&&!navigator.mediaDevices?.getDisplayMedia)throw Error(`Screen capture not supported in this browser`);let a,o,s;if(t){let t=await navigator.mediaDevices.getDisplayMedia({video:!0,audio:!1});try{let n=document.createElement(`video`);n.srcObject=t,n.muted=!0,n.playsInline=!0,await new Promise((e,t)=>{n.onloadedmetadata=()=>n.play().then(()=>e()).catch(t),n.onerror=()=>t(Error(`Failed to load video stream`))}),await new Promise(e=>setTimeout(e,100)),o=n.videoWidth,s=n.videoHeight;let r=document.createElement(`canvas`);r.width=o,r.height=s;let i=r.getContext(`2d`);if(!i)throw Error(`Failed to get canvas context`);i.drawImage(n,0,0,o,s),a=await(await new Promise((t,n)=>{r.toBlob(e=>e?t(e):n(Error(`Failed to create image blob`)),e,1)})).arrayBuffer()}finally{for(let e of t.getTracks())e.stop()}}else{let t=await i.call(`screencapture`,{mimeType:e,quality:1},{timeoutMs:3e5});a=t.bytes,o=t.width,s=t.height}let c=new Uint8Array(a),l=[],u=8192;for(let e=0;e<c.length;e+=u)l.push(String.fromCharCode(...c.subarray(e,e+u)));return{base64:btoa(l.join(``)),width:o,height:s,mimeType:e}};this.bridge=new a(e,t,e=>this.close(e),e=>this.minimize(e),o,s.onAttachImage??(()=>{}),c,s.execHandler,(e,t,n)=>{this.openSprinkles.get(e)?.renderer.pushDeviceEvent(t,n)}),this.callbacks=i,this.autoOpenBehavior=s.autoOpenBehavior??`activate`,this.onSendToSprinkle=s.onSendToSprinkle,this.onSprinkleReloaded=s.onSprinkleReloaded,this.inlineSprinkles=s.inlineSprinkles??new Set}setSendToSprinkleHook(e){this.onSendToSprinkle&&!e&&g.error(`SprinkleManager broadcast hook detached`),this.onSendToSprinkle=e}setReloadHook(e){this.onSprinkleReloaded=e}async reload(e){let t=this.openSprinkles.get(e);if(!t){g.info(`Cannot reload closed sprinkle`,{name:e});return}let n=this.availableSprinkles.get(e);if(n||=(await this.refresh(),this.availableSprinkles.get(e)),!n){g.warn(`Sprinkle not found during reload`,{name:e});return}let r=await this.fs.readFile(n.path,{encoding:`utf-8`});if(r==null){g.warn(`Failed to read sprinkle content during reload`,{name:e});return}let a=typeof r==`string`?r:new TextDecoder(`utf-8`).decode(r);t.renderer?.dispose(),this.bridge.removeSprinkle(e);let o=this.bridge.createAPI(e),s=new i(t.container,o);if(await s.render(a,e),!this.openSprinkles.has(e)){s.dispose();return}if(t.renderer=s,s.activateBridgeLifecycle(),this.openSprinkles.has(e)&&(g.info(`Sprinkle reloaded`,{name:e}),this.notifyChange(),this.onSprinkleReloaded))try{this.onSprinkleReloaded(e)}catch(t){g.error(`onSprinkleReloaded hook threw`,{name:e,error:t instanceof Error?t.message:String(t)})}}async restoreOpenSprinkles(){try{let e=y();if(e!==null){await this.reopenInBackground(e);return}let t=localStorage.getItem(_);t?await this.restoreFromLegacyStorage(t):await this.autoOpenFirstRun()}catch{}await this.surfaceUnseenSprinkles()}async reopenInBackground(e){for(let t of e)try{await this.open(t,void 0,{background:!0})}catch{g.warn(`Failed to restore sprinkle`,{name:t})}}async restoreFromLegacyStorage(e){try{await this.reopenInBackground(JSON.parse(e))}finally{try{localStorage.removeItem(_)}catch{}}}async autoOpenFirstRun(){let e=this.autoOpenBehavior===`attention`,t=this.loadAutoOpenedOnce(),n=new Set;for(let r of this.availableSprinkles.values())if(!(!r.autoOpen||t.has(r.name)))try{await this.open(r.name,void 0,{attention:e}),n.add(r.name)}catch{g.warn(`Failed to auto-open sprinkle`,{name:r.name})}n.size>0&&this.persistAutoOpenedOnce(n)}async surfaceUnseenSprinkles(){let e=this.loadKnownSprinkles(),t=this.loadAutoOpenedOnce(),n=this.autoOpenBehavior===`attention`,r=new Set;for(let i of this.availableSprinkles.values())if(!e.has(i.name)&&!this.openSprinkles.has(i.name)&&!(i.autoOpen&&t.has(i.name)))try{await this.open(i.name,void 0,{attention:!i.autoOpen||n}),i.autoOpen&&r.add(i.name),g.info(`Surfaced previously-unseen sprinkle`,{name:i.name})}catch{g.warn(`Failed to surface unseen sprinkle`,{name:i.name})}this.persistKnownSprinkles(new Set(this.availableSprinkles.keys())),r.size>0&&this.persistAutoOpenedOnce(r)}loadKnownSprinkles(){return new Set(C())}persistKnownSprinkles(e){try{let t=new Set([...this.loadKnownSprinkles(),...e]);localStorage.setItem(x,JSON.stringify([...t]))}catch{}}loadAutoOpenedOnce(){try{let e=localStorage.getItem(w);if(!e)return new Set;let t=JSON.parse(e);return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}persistAutoOpenedOnce(e){try{let t=new Set([...this.loadAutoOpenedOnce(),...e]);localStorage.setItem(w,JSON.stringify([...t]))}catch{}}persistOpenSprinkles(){try{let e=[...this.openSprinkles.keys()].filter(e=>!this.attentionOnly.has(e));localStorage.setItem(_,JSON.stringify(e))}catch{}this.schedulePersistOpenSprinklesToUrl()}schedulePersistOpenSprinklesToUrl(){this.urlWriteScheduled||(this.urlWriteScheduled=!0,queueMicrotask(()=>{this.urlWriteScheduled=!1,b([...this.openSprinkles.keys()].filter(e=>!this.attentionOnly.has(e)))}))}async openNewAutoOpenSprinkles(){if(this.inflightRefresh!==null)return this.inflightRefresh;if(!(Date.now()-this.lastRefreshAt<E))return this.inflightRefresh=this.runOpenNewAutoOpenSprinkles().finally(()=>{this.lastRefreshAt=Date.now(),this.inflightRefresh=null}),this.inflightRefresh}async runOpenNewAutoOpenSprinkles(){let e=new Set(this.availableSprinkles.keys());await this.refresh();let t=this.autoOpenBehavior===`attention`,n=this.loadAutoOpenedOnce(),r=new Set,i=!1;for(let a of this.availableSprinkles.values())if(!this.openSprinkles.has(a.name)&&!e.has(a.name))if(i=!0,a.autoOpen){if(n.has(a.name)){g.info(`Skipped one-shot auto-open for previously-consumed sprinkle`,{name:a.name});continue}try{await this.open(a.name,void 0,{attention:t}),r.add(a.name),g.info(`Auto-opened new sprinkle after install`,{name:a.name,attention:t})}catch{g.warn(`Failed to auto-open new sprinkle`,{name:a.name})}}else try{await this.open(a.name,void 0,{attention:!0}),g.info(`Surfaced newly-installed sprinkle in rail`,{name:a.name})}catch{g.warn(`Failed to surface newly-installed sprinkle`,{name:a.name})}i&&this.persistKnownSprinkles(new Set(this.availableSprinkles.keys())),r.size>0&&this.persistAutoOpenedOnce(r)}async refresh(){this.availableSprinkles=await c(this.fs),g.info(`Discovered sprinkles`,{count:this.availableSprinkles.size}),this.syncRegisteredIcons(),this.notifyChange()}syncRegisteredIcons(){if(!this.callbacks.registerSprinkle)return;let e=new Set;for(let t of this.availableSprinkles.values())this.inlineSprinkles.has(t.name)||e.add(t.name);for(let t of this.availableSprinkles.values())if(e.has(t.name)&&!this.registeredSprinkles.has(t.name))try{this.callbacks.registerSprinkle(t.name,t.title,{icon:t.icon}),this.registeredSprinkles.add(t.name)}catch(e){g.warn(`registerSprinkle callback threw`,{name:t.name,error:e instanceof Error?e.message:String(e)})}for(let t of[...this.registeredSprinkles])if(!e.has(t)){this.openSprinkles.has(t)&&this.close(t);try{this.callbacks.unregisterSprinkle?.(t)}catch(e){g.warn(`unregisterSprinkle callback threw`,{name:t,error:e instanceof Error?e.message:String(e)})}this.registeredSprinkles.delete(t)}}onChange(e){return this.changeListeners.add(e),()=>{this.changeListeners.delete(e)}}notifyChange(){this.changeNotifyScheduled||(this.changeNotifyScheduled=!0,queueMicrotask(()=>{this.changeNotifyScheduled=!1;for(let e of this.changeListeners)try{e()}catch(e){g.error(`SprinkleManager.onChange handler threw`,{error:e instanceof Error?e.message:String(e)})}}))}async open(e,n,r={}){if(this.openSprinkles.has(e)){g.info(`Sprinkle already open`,{name:e});return}let a=this.availableSprinkles.get(e);if(a||=(await this.refresh(),this.availableSprinkles.get(e)),!a)throw Error(`Sprinkle not found: ${e}`);let o=await this.fs.readFile(a.path,{encoding:`utf-8`});if(o==null)throw Error(`Failed to read sprinkle content: ${a.path} (file may be corrupted or missing)`);let s=typeof o==`string`?o:new TextDecoder(`utf-8`).decode(o),c=document.createElement(`div`);c.className=`sprinkle-panel`,c.style.cssText=`width: 100%; height: 100%; display: flex; flex-direction: column; overflow-y: auto;`,c.dataset.sprinkle=e,this.openSprinkles.set(e,{renderer:null,container:c}),r.attention?this.attentionOnly.add(e):this.attentionOnly.delete(e),this.callbacks.addSprinkle(e,a.title,c,n,{...r,icon:a.icon});let l=this.bridge.createAPI(e),u=new i(c,l);await u.render(s,e);let d=this.openSprinkles.get(e);if(!d){u.dispose();return}d.renderer=u,u.activateBridgeLifecycle(),this.openSprinkles.has(e)&&(this.persistOpenSprinkles(),t(e),g.info(`Sprinkle opened`,{name:e,title:a.title}),this.notifyChange())}markActivated(e){this.attentionOnly.has(e)&&(this.attentionOnly.delete(e),this.persistOpenSprinkles(),g.info(`Sprinkle promoted from attention to user-opened`,{name:e}),this.notifyChange())}async activate(e,t){if(this.attentionOnly.has(e)){this.markActivated(e);return}let n=this.openSprinkles.get(e);if(!n){try{await this.open(e,t)}catch(t){g.warn(`Failed to open sprinkle from rail-icon click`,{name:e,error:t instanceof Error?t.message:String(t)})}return}let r=this.availableSprinkles.get(e);this.callbacks.addSprinkle(e,r?.title??e,n.container,t,{icon:r?.icon})}close(e){let t=this.openSprinkles.get(e);t&&(t.renderer?.dispose(),t.container.remove(),this.bridge.removeSprinkle(e),this.openSprinkles.delete(e),this.attentionOnly.delete(e),this.callbacks.closeSprinkleContent?this.callbacks.closeSprinkleContent(e):this.callbacks.removeSprinkle(e),this.persistOpenSprinkles(),g.info(`Sprinkle closed`,{name:e}),this.notifyChange())}minimize(e){this.openSprinkles.has(e)&&(this.callbacks.minimizeSprinkle(e),g.info(`Sprinkle minimized`,{name:e}))}available(){return Array.from(this.availableSprinkles.values())}opened(){return Array.from(this.openSprinkles.keys())}setupWatcher(e){let t=null,n=new Map,r=e=>{let r=!1;for(let t of e){let e=this.findOpenSprinkleByPath(t.path);if(e){let t=n.get(e);t&&clearTimeout(t),n.set(e,setTimeout(()=>{n.delete(e),this.reload(e).catch(t=>{g.warn(`Sprinkle reload on watcher event failed`,{name:e,error:t instanceof Error?t.message:String(t)})})},300))}else r=!0}r&&!t&&(t=setTimeout(()=>{t=null,this.openNewAutoOpenSprinkles().catch(e=>{g.warn(`Sprinkle refresh on watcher event failed`,{error:e instanceof Error?e.message:String(e)})})},150))},i=T.map(t=>e.watch(t,e=>e.endsWith(`.shtml`),r));this.watcherUnsub=()=>{for(let e of i)e();t&&=(clearTimeout(t),null);for(let e of n.values())clearTimeout(e);n.clear()}}findOpenSprinkleByPath(e){for(let[t]of this.openSprinkles){let n=this.availableSprinkles.get(t);if(n&&n.path===e)return t}return null}dispose(){this.watcherUnsub?.()}sendToSprinkle(e,t,n){let r=!n?.runtime||n.runtime===`leader`,i=!n?.runtime||n.runtime!==`leader`,a={leader:!1,followers:[]};if(r){let n=this.openSprinkles.get(e);n?(this.bridge.pushUpdate(e,t),n.renderer.pushUpdate(t),a.leader=!0):g.warn(`Cannot send to closed sprinkle`,{name:e})}if(i&&this.onSendToSprinkle)try{let r=this.onSendToSprinkle(e,t,n);r&&(a.followers=r.followers,r.unknownRuntime&&(a.unknownRuntime=r.unknownRuntime))}catch(t){g.error(`onSendToSprinkle hook threw`,{name:e,error:t instanceof Error?t.message:String(t)})}return a}};export{D as SprinkleManager,S as pruneKnownSprinkleNames,C as readKnownSprinkleNames};
1
+ import{t as e}from"./logger-DDBAeTLF.js";import{s as t}from"./telemetry-BVzuNdvW.js";import{n,t as r}from"./panel-rpc-B3MSVImO.js";import{t as i}from"./sprinkle-renderer-C9L5ZRvl.js";import{t as a}from"./sprinkle-bridge-e00Na2NA.js";import"./sprinkle-instances-B8n7h-oP.js";var o=[`/shared/sprinkles`],s=new Set([`welcome`,`connect-llm`]);async function c(e){let t=new Map;for(let n of o)await e.exists(n)&&await l(e,n,t);return await l(e,`/`,t),t}async function l(e,t,n){for await(let r of e.walk(t)){if(!r.endsWith(`.shtml`))continue;let t=u(r);if(!s.has(t)&&!n.has(t)){let i;try{i=await e.readFile(r,{encoding:`utf-8`})??``}catch{i=``}n.set(t,{name:t,path:r,title:d(i,t),autoOpen:f(i),icon:p(i)})}}}function u(e){let t=e.split(`/`).pop()??e;return t.endsWith(`.shtml`)?t.slice(0,-6):t}function d(e,t){let n=e.match(/data-sprinkle-title=["']([^"']+)["']/);if(n)return n[1];let r=e.match(/<title>([^<]+)<\/title>/i);return r?r[1].trim():t}function f(e){return/data-sprinkle-autoopen\b/.test(e)}function p(e){let t=/<link\b/gi,n;for(;(n=t.exec(e))!==null;){let t=n.index+n[0].length,r=m(e,t);if(r<0)continue;let i=e.slice(t,r);if(!/\brel\s*=\s*("|')\s*(?:shortcut\s+)?icon\s*\1/i.test(i))continue;let a=h(i,`href`);if(a!==void 0)return a.trim()}let r=h(e,`data-sprinkle-icon`);if(r!==void 0)return r.trim()}function m(e,t){let n=!1,r=!1;for(let i=t;i<e.length;i++){let t=e.charCodeAt(i);if(n)t===34&&(n=!1);else if(r)t===39&&(r=!1);else if(t===34)n=!0;else if(t===39)r=!0;else if(t===62)return i}return-1}function h(e,t){let n=RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)')`,`i`),r=e.match(n);if(r)return r[1]??r[2]??void 0}var g=e(`sprinkle-manager`),_=`slicc-open-sprinkles`,v=`sprinkles`;function y(){try{if(typeof window>`u`||!window.location)return null;let e=new URLSearchParams(window.location.search).get(v);return e===null?null:e===``?[]:e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}catch{return null}}function b(e){try{if(typeof window>`u`||!window.location||typeof history>`u`||typeof history.replaceState!=`function`)return;let t=new URL(window.location.href);e.length===0?t.searchParams.delete(v):t.searchParams.set(v,e.join(`,`));let n=t.pathname+t.search+t.hash;history.replaceState(history.state??null,``,n)}catch{}}var x=`slicc-known-sprinkles`;function S(e){try{let t=new Set(e),n=C().filter(e=>t.has(e));localStorage.setItem(x,JSON.stringify(n))}catch{}}function C(){try{let e=localStorage.getItem(x);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}var w=`slicc-autoopened-once`,T=[`/workspace`,`/shared`,`/scoops`],E=250,D=class{fs;bridge;callbacks;availableSprinkles=new Map;watcherUnsub;openSprinkles=new Map;attentionOnly=new Set;inflightRefresh=null;lastRefreshAt=0;autoOpenBehavior;onSendToSprinkle;onSprinkleReloaded;registeredSprinkles=new Set;inlineSprinkles;changeListeners=new Set;changeNotifyScheduled=!1;urlWriteScheduled=!1;constructor(e,t,i,o,s={}){this.fs=e;let c=async()=>{let e=`image/png`,t=n(),i=r();if(!t&&!i)throw Error(`Screen capture unavailable in this environment`);if(t&&!navigator.mediaDevices?.getDisplayMedia)throw Error(`Screen capture not supported in this browser`);let a,o,s;if(t){let t=await navigator.mediaDevices.getDisplayMedia({video:!0,audio:!1});try{let n=document.createElement(`video`);n.srcObject=t,n.muted=!0,n.playsInline=!0,await new Promise((e,t)=>{n.onloadedmetadata=()=>n.play().then(()=>e()).catch(t),n.onerror=()=>t(Error(`Failed to load video stream`))}),await new Promise(e=>setTimeout(e,100)),o=n.videoWidth,s=n.videoHeight;let r=document.createElement(`canvas`);r.width=o,r.height=s;let i=r.getContext(`2d`);if(!i)throw Error(`Failed to get canvas context`);i.drawImage(n,0,0,o,s),a=await(await new Promise((t,n)=>{r.toBlob(e=>e?t(e):n(Error(`Failed to create image blob`)),e,1)})).arrayBuffer()}finally{for(let e of t.getTracks())e.stop()}}else{let t=await i.call(`screencapture`,{mimeType:e,quality:1},{timeoutMs:3e5});a=t.bytes,o=t.width,s=t.height}let c=new Uint8Array(a),l=[],u=8192;for(let e=0;e<c.length;e+=u)l.push(String.fromCharCode(...c.subarray(e,e+u)));return{base64:btoa(l.join(``)),width:o,height:s,mimeType:e}};this.bridge=new a(e,t,e=>this.close(e),e=>this.minimize(e),o,s.onAttachImage??(()=>{}),c,s.execHandler,(e,t,n)=>{this.openSprinkles.get(e)?.renderer.pushDeviceEvent(t,n)}),this.callbacks=i,this.autoOpenBehavior=s.autoOpenBehavior??`activate`,this.onSendToSprinkle=s.onSendToSprinkle,this.onSprinkleReloaded=s.onSprinkleReloaded,this.inlineSprinkles=s.inlineSprinkles??new Set}setSendToSprinkleHook(e){this.onSendToSprinkle&&!e&&g.error(`SprinkleManager broadcast hook detached`),this.onSendToSprinkle=e}setReloadHook(e){this.onSprinkleReloaded=e}async reload(e){let t=this.openSprinkles.get(e);if(!t){g.info(`Cannot reload closed sprinkle`,{name:e});return}let n=this.availableSprinkles.get(e);if(n||=(await this.refresh(),this.availableSprinkles.get(e)),!n){g.warn(`Sprinkle not found during reload`,{name:e});return}let r=await this.fs.readFile(n.path,{encoding:`utf-8`});if(r==null){g.warn(`Failed to read sprinkle content during reload`,{name:e});return}let a=typeof r==`string`?r:new TextDecoder(`utf-8`).decode(r);t.renderer?.dispose(),this.bridge.removeSprinkle(e);let o=this.bridge.createAPI(e),s=new i(t.container,o);if(await s.render(a,e),!this.openSprinkles.has(e)){s.dispose();return}if(t.renderer=s,s.activateBridgeLifecycle(),this.openSprinkles.has(e)&&(g.info(`Sprinkle reloaded`,{name:e}),this.notifyChange(),this.onSprinkleReloaded))try{this.onSprinkleReloaded(e)}catch(t){g.error(`onSprinkleReloaded hook threw`,{name:e,error:t instanceof Error?t.message:String(t)})}}async restoreOpenSprinkles(){try{let e=y();if(e!==null){await this.reopenInBackground(e);return}let t=localStorage.getItem(_);t?await this.restoreFromLegacyStorage(t):await this.autoOpenFirstRun()}catch{}await this.surfaceUnseenSprinkles()}async reopenInBackground(e){for(let t of e)try{await this.open(t,void 0,{background:!0})}catch{g.warn(`Failed to restore sprinkle`,{name:t})}}async restoreFromLegacyStorage(e){try{await this.reopenInBackground(JSON.parse(e))}finally{try{localStorage.removeItem(_)}catch{}}}async autoOpenFirstRun(){let e=this.autoOpenBehavior===`attention`,t=this.loadAutoOpenedOnce(),n=new Set;for(let r of this.availableSprinkles.values())if(!(!r.autoOpen||t.has(r.name)))try{await this.open(r.name,void 0,{attention:e}),n.add(r.name)}catch{g.warn(`Failed to auto-open sprinkle`,{name:r.name})}n.size>0&&this.persistAutoOpenedOnce(n)}async surfaceUnseenSprinkles(){let e=this.loadKnownSprinkles(),t=this.loadAutoOpenedOnce(),n=this.autoOpenBehavior===`attention`,r=new Set;for(let i of this.availableSprinkles.values())if(!e.has(i.name)&&!this.openSprinkles.has(i.name)&&!(i.autoOpen&&t.has(i.name)))try{await this.open(i.name,void 0,{attention:!i.autoOpen||n}),i.autoOpen&&r.add(i.name),g.info(`Surfaced previously-unseen sprinkle`,{name:i.name})}catch{g.warn(`Failed to surface unseen sprinkle`,{name:i.name})}this.persistKnownSprinkles(new Set(this.availableSprinkles.keys())),r.size>0&&this.persistAutoOpenedOnce(r)}loadKnownSprinkles(){return new Set(C())}persistKnownSprinkles(e){try{let t=new Set([...this.loadKnownSprinkles(),...e]);localStorage.setItem(x,JSON.stringify([...t]))}catch{}}loadAutoOpenedOnce(){try{let e=localStorage.getItem(w);if(!e)return new Set;let t=JSON.parse(e);return Array.isArray(t)?new Set(t.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}persistAutoOpenedOnce(e){try{let t=new Set([...this.loadAutoOpenedOnce(),...e]);localStorage.setItem(w,JSON.stringify([...t]))}catch{}}persistOpenSprinkles(){try{let e=[...this.openSprinkles.keys()].filter(e=>!this.attentionOnly.has(e));localStorage.setItem(_,JSON.stringify(e))}catch{}this.schedulePersistOpenSprinklesToUrl()}schedulePersistOpenSprinklesToUrl(){this.urlWriteScheduled||(this.urlWriteScheduled=!0,queueMicrotask(()=>{this.urlWriteScheduled=!1,b([...this.openSprinkles.keys()].filter(e=>!this.attentionOnly.has(e)))}))}async openNewAutoOpenSprinkles(){if(this.inflightRefresh!==null)return this.inflightRefresh;if(!(Date.now()-this.lastRefreshAt<E))return this.inflightRefresh=this.runOpenNewAutoOpenSprinkles().finally(()=>{this.lastRefreshAt=Date.now(),this.inflightRefresh=null}),this.inflightRefresh}async runOpenNewAutoOpenSprinkles(){let e=new Set(this.availableSprinkles.keys());await this.refresh();let t=this.autoOpenBehavior===`attention`,n=this.loadAutoOpenedOnce(),r=new Set,i=!1;for(let a of this.availableSprinkles.values())if(!this.openSprinkles.has(a.name)&&!e.has(a.name)){if(i=!0,a.autoOpen){if(n.has(a.name)){g.info(`Skipped one-shot auto-open for previously-consumed sprinkle`,{name:a.name});continue}try{await this.open(a.name,void 0,{attention:t}),r.add(a.name),g.info(`Auto-opened new sprinkle after install`,{name:a.name,attention:t})}catch{g.warn(`Failed to auto-open new sprinkle`,{name:a.name})}}else try{await this.open(a.name,void 0,{attention:!0}),g.info(`Surfaced newly-installed sprinkle in rail`,{name:a.name})}catch{g.warn(`Failed to surface newly-installed sprinkle`,{name:a.name})}}i&&this.persistKnownSprinkles(new Set(this.availableSprinkles.keys())),r.size>0&&this.persistAutoOpenedOnce(r)}async refresh(){this.availableSprinkles=await c(this.fs),g.info(`Discovered sprinkles`,{count:this.availableSprinkles.size}),this.syncRegisteredIcons(),this.notifyChange()}syncRegisteredIcons(){if(!this.callbacks.registerSprinkle)return;let e=new Set;for(let t of this.availableSprinkles.values())this.inlineSprinkles.has(t.name)||e.add(t.name);for(let t of this.availableSprinkles.values())if(e.has(t.name)&&!this.registeredSprinkles.has(t.name))try{this.callbacks.registerSprinkle(t.name,t.title,{icon:t.icon}),this.registeredSprinkles.add(t.name)}catch(e){g.warn(`registerSprinkle callback threw`,{name:t.name,error:e instanceof Error?e.message:String(e)})}for(let t of[...this.registeredSprinkles])if(!e.has(t)){this.openSprinkles.has(t)&&this.close(t);try{this.callbacks.unregisterSprinkle?.(t)}catch(e){g.warn(`unregisterSprinkle callback threw`,{name:t,error:e instanceof Error?e.message:String(e)})}this.registeredSprinkles.delete(t)}}onChange(e){return this.changeListeners.add(e),()=>{this.changeListeners.delete(e)}}notifyChange(){this.changeNotifyScheduled||(this.changeNotifyScheduled=!0,queueMicrotask(()=>{this.changeNotifyScheduled=!1;for(let e of this.changeListeners)try{e()}catch(e){g.error(`SprinkleManager.onChange handler threw`,{error:e instanceof Error?e.message:String(e)})}}))}async open(e,n,r={}){if(this.openSprinkles.has(e)){g.info(`Sprinkle already open`,{name:e});return}let a=this.availableSprinkles.get(e);if(a||=(await this.refresh(),this.availableSprinkles.get(e)),!a)throw Error(`Sprinkle not found: ${e}`);let o=await this.fs.readFile(a.path,{encoding:`utf-8`});if(o==null)throw Error(`Failed to read sprinkle content: ${a.path} (file may be corrupted or missing)`);let s=typeof o==`string`?o:new TextDecoder(`utf-8`).decode(o),c=document.createElement(`div`);c.className=`sprinkle-panel`,c.style.cssText=`width: 100%; height: 100%; display: flex; flex-direction: column; overflow-y: auto;`,c.dataset.sprinkle=e,this.openSprinkles.set(e,{renderer:null,container:c}),r.attention?this.attentionOnly.add(e):this.attentionOnly.delete(e),this.callbacks.addSprinkle(e,a.title,c,n,{...r,icon:a.icon});let l=this.bridge.createAPI(e),u=new i(c,l);await u.render(s,e);let d=this.openSprinkles.get(e);if(!d){u.dispose();return}d.renderer=u,u.activateBridgeLifecycle(),this.openSprinkles.has(e)&&(this.persistOpenSprinkles(),t(e),g.info(`Sprinkle opened`,{name:e,title:a.title}),this.notifyChange())}markActivated(e){this.attentionOnly.has(e)&&(this.attentionOnly.delete(e),this.persistOpenSprinkles(),g.info(`Sprinkle promoted from attention to user-opened`,{name:e}),this.notifyChange())}async activate(e,t){if(this.attentionOnly.has(e)){this.markActivated(e);return}let n=this.openSprinkles.get(e);if(!n){try{await this.open(e,t)}catch(t){g.warn(`Failed to open sprinkle from rail-icon click`,{name:e,error:t instanceof Error?t.message:String(t)})}return}let r=this.availableSprinkles.get(e);this.callbacks.addSprinkle(e,r?.title??e,n.container,t,{icon:r?.icon})}close(e){let t=this.openSprinkles.get(e);t&&(t.renderer?.dispose(),t.container.remove(),this.bridge.removeSprinkle(e),this.openSprinkles.delete(e),this.attentionOnly.delete(e),this.callbacks.closeSprinkleContent?this.callbacks.closeSprinkleContent(e):this.callbacks.removeSprinkle(e),this.persistOpenSprinkles(),g.info(`Sprinkle closed`,{name:e}),this.notifyChange())}minimize(e){this.openSprinkles.has(e)&&(this.callbacks.minimizeSprinkle(e),g.info(`Sprinkle minimized`,{name:e}))}available(){return Array.from(this.availableSprinkles.values())}opened(){return Array.from(this.openSprinkles.keys())}setupWatcher(e){let t=null,n=new Map,r=e=>{let r=!1;for(let t of e){let e=this.findOpenSprinkleByPath(t.path);if(e){let t=n.get(e);t&&clearTimeout(t),n.set(e,setTimeout(()=>{n.delete(e),this.reload(e).catch(t=>{g.warn(`Sprinkle reload on watcher event failed`,{name:e,error:t instanceof Error?t.message:String(t)})})},300))}else r=!0}r&&!t&&(t=setTimeout(()=>{t=null,this.openNewAutoOpenSprinkles().catch(e=>{g.warn(`Sprinkle refresh on watcher event failed`,{error:e instanceof Error?e.message:String(e)})})},150))},i=T.map(t=>e.watch(t,e=>e.endsWith(`.shtml`),r));this.watcherUnsub=()=>{for(let e of i)e();t&&=(clearTimeout(t),null);for(let e of n.values())clearTimeout(e);n.clear()}}findOpenSprinkleByPath(e){for(let[t]of this.openSprinkles){let n=this.availableSprinkles.get(t);if(n&&n.path===e)return t}return null}dispose(){this.watcherUnsub?.()}sendToSprinkle(e,t,n){let r=!n?.runtime||n.runtime===`leader`,i=!n?.runtime||n.runtime!==`leader`,a={leader:!1,followers:[]};if(r){let n=this.openSprinkles.get(e);n?(this.bridge.pushUpdate(e,t),n.renderer.pushUpdate(t),a.leader=!0):g.warn(`Cannot send to closed sprinkle`,{name:e})}if(i&&this.onSendToSprinkle)try{let r=this.onSendToSprinkle(e,t,n);r&&(a.followers=r.followers,r.unknownRuntime&&(a.unknownRuntime=r.unknownRuntime))}catch(t){g.error(`onSendToSprinkle hook threw`,{name:e,error:t instanceof Error?t.message:String(t)})}return a}};export{D as SprinkleManager,S as pruneKnownSprinkleNames,C as readKnownSprinkleNames};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/slicc-editor-DsHp_in-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/dist-CPNmKU6m.js","assets/upgrade-own-properties-DI0JKxGt.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t,n,r}from"./theme-CXRqxpw6.js";function i(){try{return window.self!==window.top}catch{return!0}}var a=new WeakSet;function o(e,t){if(a.has(e)){t?.();return}let n=!1;s(e,t,()=>{n=!0}),setTimeout(()=>{n||e.isConnected&&s(e)},500)}function s(e,t,n){if(a.has(e)){t?.();return}a.add(e);let r=e.style.display;e.style.display=`none`;let i=!1,o=o=>{i||(i=!0,e.style.display=r,a.delete(e),o&&n?.(),t?.())};typeof requestAnimationFrame==`function`&&requestAnimationFrame(()=>{requestAnimationFrame(()=>o(!0))}),setTimeout(()=>o(!1),100)}function c(e){let t=e.trimStart().toLowerCase();return t.startsWith(`<!doctype`)||t.startsWith(`<html`)}function l(e,t,n,r={}){e.contentWindow?.postMessage({type:t,id:n,...r},`*`)}function u(e,t,n,r,i){r.then(r=>l(e,t,n,i(r)),r=>l(e,t,n,{error:r instanceof Error?r.message:String(r)}))}function d(e){return{"sprinkle-lick":(t,n)=>e.lick({action:n.action,data:n.data}),"sprinkle-set-state":(t,n)=>e.setState(n.data),"sprinkle-close":()=>e.close(),"sprinkle-minimize":()=>e.minimize(),"sprinkle-stop-cone":()=>e.stopCone(),"sprinkle-attach-image":(t,n)=>e.attachImage(n.base64,n.name,n.mimeType),"sprinkle-readfile":(t,n)=>u(t,`sprinkle-readfile-response`,n.id,e.readFile(n.path),e=>({content:e})),"sprinkle-writefile":(t,n)=>u(t,`sprinkle-writefile-response`,n.id,e.writeFile(n.path,n.content),()=>({})),"sprinkle-readdir":(t,n)=>u(t,`sprinkle-readdir-response`,n.id,e.readDir(n.path),e=>({entries:e})),"sprinkle-exists":(t,n)=>u(t,`sprinkle-exists-response`,n.id,e.exists(n.path),e=>({exists:e})),"sprinkle-stat":(t,n)=>u(t,`sprinkle-stat-response`,n.id,e.stat(n.path),e=>({stat:e})),"sprinkle-mkdir":(t,n)=>u(t,`sprinkle-mkdir-response`,n.id,e.mkdir(n.path),()=>({})),"sprinkle-rm":(t,n)=>u(t,`sprinkle-rm-response`,n.id,e.rm(n.path),()=>({})),"sprinkle-capture-screen":(t,n)=>u(t,`sprinkle-capture-screen-response`,n.id,e.captureScreen(),e=>({base64:e.base64,width:e.width,height:e.height,mimeType:e.mimeType})),"sprinkle-exec":(t,n)=>u(t,`sprinkle-exec-response`,n.id,e.exec(n.cmd),e=>({result:e})),"sprinkle-agent":(t,n)=>u(t,`sprinkle-agent-response`,n.id,e.agent(n.prompt,n.opts),e=>({result:e})),"sprinkle-jsh":(t,n)=>u(t,`sprinkle-jsh-response`,n.id,e._jsh(n.op,n.args),e=>({result:e})),"sprinkle-device-op":(t,n)=>u(t,`sprinkle-device-op-response`,n.id,e._device(n.channel,n.op,n.args??[]),e=>({result:e}))}}function f(e,t){return n=>{if(n.source!==e.contentWindow)return;let r=n.data;r?.type&&t[r.type]?.(e,r)}}function p(t){if(t.includes(`<slicc-editor`)&&!customElements.get(`slicc-editor`)&&e(()=>import(`./slicc-editor-DsHp_in-.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4])),t.includes(`<slicc-diff`)&&!customElements.get(`slicc-diff`)){let e=document.createElement(`script`);e.src=`/slicc-diff.js`,document.head.appendChild(e)}}function m(e){for(let t of e.querySelectorAll(`.fill[data-value]`)){let e=parseFloat(t.dataset.value||`0`);e>=0&&e<=100&&(t.style.width=`${e}%`)}}function h(e,t){let n=`window.__slicc_sprinkles[${JSON.stringify(t)}]`;for(let t of e.querySelectorAll(`[onclick]`)){let e=t.getAttribute(`onclick`)||``;/\b(slicc|bridge)\b/.test(e)&&t.setAttribute(`onclick`,e.replace(/\b(slicc|bridge)\b/g,n))}return n}function g(e){let t=new Set;for(let n of e.querySelectorAll(`[onclick]`)){let e=n.getAttribute(`onclick`)||``;for(let n of e.matchAll(/\b(\w+)\s*\(/g)){let e=n[1];[`slicc`,`bridge`,`lick`,`close`,`exec`,`agent`].includes(e)||t.add(e)}}return t}function _(e,t){let n=[];for(let r of Array.from(e.querySelectorAll(`script`))){r.remove();let i=document.createElement(`script`);for(let e of r.attributes)i.setAttribute(e.name,e.value);if(!r.src){let n=[...g(e)].map(e=>`if (typeof ${e} === 'function') window.${e} = ${e};`).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/slicc-editor-D-eO_pjd.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/upgrade-own-properties-DI0JKxGt.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t,n,r}from"./theme-CXRqxpw6.js";function i(){try{return window.self!==window.top}catch{return!0}}var a=new WeakSet;function o(e,t){if(a.has(e)){t?.();return}let n=!1;s(e,t,()=>{n=!0}),setTimeout(()=>{n||e.isConnected&&s(e)},500)}function s(e,t,n){if(a.has(e)){t?.();return}a.add(e);let r=e.style.display;e.style.display=`none`;let i=!1,o=o=>{i||(i=!0,e.style.display=r,a.delete(e),o&&n?.(),t?.())};typeof requestAnimationFrame==`function`&&requestAnimationFrame(()=>{requestAnimationFrame(()=>o(!0))}),setTimeout(()=>o(!1),100)}function c(e){let t=e.trimStart().toLowerCase();return t.startsWith(`<!doctype`)||t.startsWith(`<html`)}function l(e,t,n,r={}){e.contentWindow?.postMessage({type:t,id:n,...r},`*`)}function u(e,t,n,r,i){r.then(r=>l(e,t,n,i(r)),r=>l(e,t,n,{error:r instanceof Error?r.message:String(r)}))}function d(e){return{"sprinkle-lick":(t,n)=>e.lick({action:n.action,data:n.data}),"sprinkle-set-state":(t,n)=>e.setState(n.data),"sprinkle-close":()=>e.close(),"sprinkle-minimize":()=>e.minimize(),"sprinkle-stop-cone":()=>e.stopCone(),"sprinkle-attach-image":(t,n)=>e.attachImage(n.base64,n.name,n.mimeType),"sprinkle-readfile":(t,n)=>u(t,`sprinkle-readfile-response`,n.id,e.readFile(n.path),e=>({content:e})),"sprinkle-writefile":(t,n)=>u(t,`sprinkle-writefile-response`,n.id,e.writeFile(n.path,n.content),()=>({})),"sprinkle-readdir":(t,n)=>u(t,`sprinkle-readdir-response`,n.id,e.readDir(n.path),e=>({entries:e})),"sprinkle-exists":(t,n)=>u(t,`sprinkle-exists-response`,n.id,e.exists(n.path),e=>({exists:e})),"sprinkle-stat":(t,n)=>u(t,`sprinkle-stat-response`,n.id,e.stat(n.path),e=>({stat:e})),"sprinkle-mkdir":(t,n)=>u(t,`sprinkle-mkdir-response`,n.id,e.mkdir(n.path),()=>({})),"sprinkle-rm":(t,n)=>u(t,`sprinkle-rm-response`,n.id,e.rm(n.path),()=>({})),"sprinkle-capture-screen":(t,n)=>u(t,`sprinkle-capture-screen-response`,n.id,e.captureScreen(),e=>({base64:e.base64,width:e.width,height:e.height,mimeType:e.mimeType})),"sprinkle-exec":(t,n)=>u(t,`sprinkle-exec-response`,n.id,e.exec(n.cmd),e=>({result:e})),"sprinkle-agent":(t,n)=>u(t,`sprinkle-agent-response`,n.id,e.agent(n.prompt,n.opts),e=>({result:e})),"sprinkle-jsh":(t,n)=>u(t,`sprinkle-jsh-response`,n.id,e._jsh(n.op,n.args),e=>({result:e})),"sprinkle-device-op":(t,n)=>u(t,`sprinkle-device-op-response`,n.id,e._device(n.channel,n.op,n.args??[]),e=>({result:e}))}}function f(e,t){return n=>{if(n.source!==e.contentWindow)return;let r=n.data;r?.type&&t[r.type]?.(e,r)}}function p(t){if(t.includes(`<slicc-editor`)&&!customElements.get(`slicc-editor`)&&e(()=>import(`./slicc-editor-D-eO_pjd.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3])),t.includes(`<slicc-diff`)&&!customElements.get(`slicc-diff`)){let e=document.createElement(`script`);e.src=`/slicc-diff.js`,document.head.appendChild(e)}}function m(e){for(let t of e.querySelectorAll(`.fill[data-value]`)){let e=parseFloat(t.dataset.value||`0`);e>=0&&e<=100&&(t.style.width=`${e}%`)}}function h(e,t){let n=`window.__slicc_sprinkles[${JSON.stringify(t)}]`;for(let t of e.querySelectorAll(`[onclick]`)){let e=t.getAttribute(`onclick`)||``;/\b(slicc|bridge)\b/.test(e)&&t.setAttribute(`onclick`,e.replace(/\b(slicc|bridge)\b/g,n))}return n}function g(e){let t=new Set;for(let n of e.querySelectorAll(`[onclick]`)){let e=n.getAttribute(`onclick`)||``;for(let n of e.matchAll(/\b(\w+)\s*\(/g)){let e=n[1];[`slicc`,`bridge`,`lick`,`close`,`exec`,`agent`].includes(e)||t.add(e)}}return t}function _(e,t){let n=[];for(let r of Array.from(e.querySelectorAll(`script`))){r.remove();let i=document.createElement(`script`);for(let e of r.attributes)i.setAttribute(e.name,e.value);if(!r.src){let n=[...g(e)].map(e=>`if (typeof ${e} === 'function') window.${e} = ${e};`).join(`
3
3
  `);i.textContent=`(function() { var slicc = ${t}; var bridge = slicc;\n`+r.textContent+(n?`
4
4
  `+n:``)+`
5
5
  })();`}e.appendChild(i),n.push(i)}return n}var v=class{container;bridge;scripts=[];iframe=null;messageHandler=null;visibilityObserver=null;bridgeLifecycleReady=!1;pendingBridgeLifecycle=[];constructor(e,t){this.container=e,this.bridge=t}async render(e,t){if(this.dispose(),c(e))try{await this.renderFullDoc(e,t)}catch(e){throw this.dispose(),e}else this.renderInline(e,t)}activateBridgeLifecycle(){for(this.bridgeLifecycleReady=!0;this.bridgeLifecycleReady&&this.pendingBridgeLifecycle.length>0;)this.pendingBridgeLifecycle.shift()()}pushUpdate(e){this.iframe?.contentWindow&&this.iframe.contentWindow.postMessage({type:`sprinkle-update`,data:e},`*`)}pushDeviceEvent(e,t){this.iframe?.contentWindow&&this.iframe.contentWindow.postMessage({type:`sprinkle-device-event`,channel:e,payload:t},`*`)}collectThemeCSS(){return b()}generateBridgeScript(){return`(function() {
@@ -1,2 +1,2 @@
1
1
  import{t as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./__vite-browser-external-5eBdwsFd.js";var n=e(((e,n)=>{var r=void 0,i=function(e){return r||(r=new Promise(function(r,i){var a=e===void 0?{}:e,o=a.onAbort;a.onAbort=function(e){i(Error(e)),o&&o(e)},a.postRun=a.postRun||[],a.postRun.push(function(){r(a)}),n=void 0;var s;s||=a===void 0?{}:a;var c=!!globalThis.window,l=!!globalThis.WorkerGlobalScope,u=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;s.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case`boolean`:_e(e,+!!t);break;case`number`:he(e,t);break;case`string`:E(e,t,-1,-1);break;case`object`:if(t===null)ge(e);else if(t.length!=null){var n=Ft(t.length);y.set(t,n),D(e,n,t.length,-1),Z(n)}else A(e,`Wrong API use : tried to return a value of an unknown type (`+t+`).`,-1);break;default:ge(e)}}function t(e,t){for(var n=[],r=0;r<e;r+=1){var i=O(t+4*r,`i32`),a=ue(i);if(a===1||a===2)i=me(i);else if(a===3)i=fe(i);else if(a===4){a=i,i=de(a),a=pe(a);for(var o=new Uint8Array(i),s=0;s<i;s+=1)o[s]=y[a+s];i=o}else i=null;n.push(i)}return n}function n(e,t){this.Qa=e,this.db=t,this.Oa=1,this.mb=[]}function r(e,t){if(this.db=t,this.fb=kt(e),this.fb===null)throw Error(`Unable to allocate memory for the SQL string`);this.lb=this.fb,this.$a=this.sb=null}function i(e){if(this.filename=`dbfile_`+(4294967295*Math.random()>>>0),e!=null){var t=this.filename,n=`/`,r=t;if(n&&(n=typeof n==`string`?n:Ve(n),r=t?be(n+`/`+t):n),t=Me(!0,!0),r=nt(r,t),e){if(typeof e==`string`){n=Array(e.length);for(var i=0,o=e.length;i<o;++i)n[i]=e.charCodeAt(i);e=n}lt(r,t|146),n=G(r,577),mt(n,e,0,e.length,0),dt(n),lt(r,t)}}this.handleError(c(this.filename,a)),this.db=O(a,`i32`),ye(this.db),this.gb={},this.Sa={}}var a=Q(4),o=s.cwrap,c=o(`sqlite3_open`,`number`,[`string`,`number`]),l=o(`sqlite3_close_v2`,`number`,[`number`]),u=o(`sqlite3_exec`,`number`,[`number`,`string`,`number`,`number`,`number`]),d=o(`sqlite3_changes`,`number`,[`number`]),f=o(`sqlite3_prepare_v2`,`number`,[`number`,`string`,`number`,`number`,`number`]),ee=o(`sqlite3_sql`,`string`,[`number`]),p=o(`sqlite3_normalized_sql`,`string`,[`number`]),m=o(`sqlite3_prepare_v2`,`number`,[`number`,`number`,`number`,`number`,`number`]),h=o(`sqlite3_bind_text`,`number`,[`number`,`number`,`number`,`number`,`number`]),g=o(`sqlite3_bind_blob`,`number`,[`number`,`number`,`number`,`number`,`number`]),te=o(`sqlite3_bind_double`,`number`,[`number`,`number`,`number`]),_=o(`sqlite3_bind_int`,`number`,[`number`,`number`,`number`]),v=o(`sqlite3_bind_parameter_index`,`number`,[`number`,`string`]),ne=o(`sqlite3_step`,`number`,[`number`]),re=o(`sqlite3_errmsg`,`string`,[`number`]),ie=o(`sqlite3_column_count`,`number`,[`number`]),b=o(`sqlite3_data_count`,`number`,[`number`]),x=o(`sqlite3_column_double`,`number`,[`number`,`number`]),S=o(`sqlite3_column_text`,`string`,[`number`,`number`]),C=o(`sqlite3_column_blob`,`number`,[`number`,`number`]),ae=o(`sqlite3_column_bytes`,`number`,[`number`,`number`]),oe=o(`sqlite3_column_type`,`number`,[`number`,`number`]),w=o(`sqlite3_column_name`,`string`,[`number`,`number`]),se=o(`sqlite3_reset`,`number`,[`number`]),T=o(`sqlite3_clear_bindings`,`number`,[`number`]),ce=o(`sqlite3_finalize`,`number`,[`number`]),le=o(`sqlite3_create_function_v2`,`number`,`number string number number number number number number number`.split(` `)),ue=o(`sqlite3_value_type`,`number`,[`number`]),de=o(`sqlite3_value_bytes`,`number`,[`number`]),fe=o(`sqlite3_value_text`,`string`,[`number`]),pe=o(`sqlite3_value_blob`,`number`,[`number`]),me=o(`sqlite3_value_double`,`number`,[`number`]),he=o(`sqlite3_result_double`,``,[`number`,`number`]),ge=o(`sqlite3_result_null`,``,[`number`]),E=o(`sqlite3_result_text`,``,[`number`,`string`,`number`,`number`]),D=o(`sqlite3_result_blob`,``,[`number`,`number`,`number`,`number`]),_e=o(`sqlite3_result_int`,``,[`number`,`number`]),A=o(`sqlite3_result_error`,``,[`number`,`string`,`number`]),ve=o(`sqlite3_aggregate_context`,`number`,[`number`,`number`]),ye=o(`RegisterExtensionFunctions`,`number`,[`number`]),xe=o(`sqlite3_update_hook`,`number`,[`number`,`number`,`number`]);n.prototype.bind=function(e){if(!this.Qa)throw`Statement closed`;return this.reset(),Array.isArray(e)?this.Gb(e):typeof e==`object`&&e?this.Hb(e):!0},n.prototype.step=function(){if(!this.Qa)throw`Statement closed`;this.Oa=1;var e=ne(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},n.prototype.Ab=function(e){return e??(e=this.Oa,this.Oa+=1),x(this.Qa,e)},n.prototype.Ob=function(e){if(e??(e=this.Oa,this.Oa+=1),e=S(this.Qa,e),typeof BigInt!=`function`)throw Error(`BigInt is not supported`);return BigInt(e)},n.prototype.Tb=function(e){return e??(e=this.Oa,this.Oa+=1),S(this.Qa,e)},n.prototype.getBlob=function(e){e??(e=this.Oa,this.Oa+=1);var t=ae(this.Qa,e);e=C(this.Qa,e);for(var n=new Uint8Array(t),r=0;r<t;r+=1)n[r]=y[e+r];return n},n.prototype.get=function(e,t){t||={},e!=null&&this.bind(e)&&this.step(),e=[];for(var n=b(this.Qa),r=0;r<n;r+=1)switch(oe(this.Qa,r)){case 1:var i=t.useBigInt?this.Ob(r):this.Ab(r);e.push(i);break;case 2:e.push(this.Ab(r));break;case 3:e.push(this.Tb(r));break;case 4:e.push(this.getBlob(r));break;default:e.push(null)}return e},n.prototype.qb=function(){for(var e=[],t=ie(this.Qa),n=0;n<t;n+=1)e.push(w(this.Qa,n));return e},n.prototype.zb=function(e,t){e=this.get(e,t),t=this.qb();for(var n={},r=0;r<t.length;r+=1)n[t[r]]=e[r];return n},n.prototype.Sb=function(){return ee(this.Qa)},n.prototype.Pb=function(){return p(this.Qa)},n.prototype.run=function(e){return e!=null&&this.bind(e),this.step(),this.reset()},n.prototype.wb=function(e,t){t??(t=this.Oa,this.Oa+=1),e=kt(e),this.mb.push(e),this.db.handleError(h(this.Qa,t,e,-1,0))},n.prototype.Fb=function(e,t){t??(t=this.Oa,this.Oa+=1);var n=Ft(e.length);y.set(e,n),this.mb.push(n),this.db.handleError(g(this.Qa,t,n,e.length,0))},n.prototype.vb=function(e,t){t??(t=this.Oa,this.Oa+=1),this.db.handleError((e===(e|0)?_:te)(this.Qa,t,e))},n.prototype.Ib=function(e){e??(e=this.Oa,this.Oa+=1),g(this.Qa,e,0,0,0)},n.prototype.xb=function(e,t){switch(t??(t=this.Oa,this.Oa+=1),typeof e){case`string`:this.wb(e,t);return;case`number`:this.vb(e,t);return;case`bigint`:this.wb(e.toString(),t);return;case`boolean`:this.vb(e+0,t);return;case`object`:if(e===null){this.Ib(t);return}if(e.length!=null){this.Fb(e,t);return}}throw`Wrong API use : tried to bind a value of an unknown type (`+e+`).`},n.prototype.Hb=function(e){var t=this;return Object.keys(e).forEach(function(n){var r=v(t.Qa,n);r!==0&&t.xb(e[n],r)}),!0},n.prototype.Gb=function(e){for(var t=0;t<e.length;t+=1)this.xb(e[t],t+1);return!0},n.prototype.reset=function(){return this.freemem(),T(this.Qa)===0&&se(this.Qa)===0},n.prototype.freemem=function(){for(var e;(e=this.mb.pop())!==void 0;)Z(e)},n.prototype.Ya=function(){this.freemem();var e=ce(this.Qa)===0;return delete this.db.gb[this.Qa],this.Qa=0,e},r.prototype.next=function(){if(this.fb===null)return{done:!0};if(this.$a!==null&&(this.$a.Ya(),this.$a=null),!this.db.db)throw this.ob(),Error(`Database closed`);var e=zt(),t=Q(4);k(a),k(t);try{this.db.handleError(m(this.db.db,this.lb,-1,a,t)),this.lb=O(t,`i32`);var r=O(a,`i32`);return r===0?(this.ob(),{done:!0}):(this.$a=new n(r,this.db),this.db.gb[r]=this.$a,{value:this.$a,done:!1})}catch(e){throw this.sb=j(this.lb),this.ob(),e}finally{Rt(e)}},r.prototype.ob=function(){Z(this.fb),this.fb=null},r.prototype.Qb=function(){return this.sb===null?j(this.lb):this.sb},typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`&&(r.prototype[Symbol.iterator]=function(){return this}),i.prototype.run=function(e,t){if(!this.db)throw`Database closed`;if(t){e=this.tb(e,t);try{e.step()}finally{e.Ya()}}else this.handleError(u(this.db,e,0,0,a));return this},i.prototype.exec=function(e,t,r){if(!this.db)throw`Database closed`;var i=zt(),o=null,s=null,c=null;try{c=s=kt(e);var l=Q(4);for(e=[];O(c,`i8`)!==0;){k(a),k(l),this.handleError(m(this.db,c,-1,a,l));var u=O(a,`i32`);if(c=O(l,`i32`),u!==0){var d=null;for(o=new n(u,this),t!=null&&o.bind(t);o.step();)d===null&&(d={columns:o.qb(),values:[]},e.push(d)),d.values.push(o.get(null,r));o.Ya()}}return e}catch(e){throw o&&o.Ya(),e}finally{s&&Z(s),Rt(i)}},i.prototype.Mb=function(e,t,n,r,i){typeof t==`function`&&(r=n,n=t,t=void 0),e=this.tb(e,t);try{for(;e.step();)n(e.zb(null,i))}finally{e.Ya()}if(typeof r==`function`)return r()},i.prototype.tb=function(e,t){if(k(a),this.handleError(f(this.db,e,-1,a,0)),e=O(a,`i32`),e===0)throw`Nothing to prepare`;var r=new n(e,this);return t!=null&&r.bind(t),this.gb[e]=r},i.prototype.Ub=function(e){return new r(e,this)},i.prototype.Nb=function(){Object.values(this.gb).forEach(function(e){e.Ya()}),Object.values(this.Sa).forEach(X),this.Sa={},this.handleError(l(this.db));var e=ht(this.filename);return this.handleError(c(this.filename,a)),this.db=O(a,`i32`),ye(this.db),e},i.prototype.close=function(){this.db!==null&&(Object.values(this.gb).forEach(function(e){e.Ya()}),Object.values(this.Sa).forEach(X),this.Sa={},this.Za&&=(X(this.Za),void 0),this.handleError(l(this.db)),ot(`/`+this.filename),this.db=null)},i.prototype.handleError=function(e){if(e===0)return null;throw e=re(this.db),Error(e)},i.prototype.Rb=function(){return d(this.db)},i.prototype.Kb=function(n,r){Object.prototype.hasOwnProperty.call(this.Sa,n)&&(X(this.Sa[n]),delete this.Sa[n]);var i=Pt(function(n,i,a){i=t(i,a);try{var o=r.apply(null,i)}catch(e){A(n,e,-1);return}e(n,o)},`viii`);return this.Sa[n]=i,this.handleError(le(this.db,n,r.length,1,0,i,0,0,0)),this},i.prototype.Jb=function(n,r){var i=r.init||function(){return null},a=r.finalize||function(e){return e},o=r.step;if(!o)throw`An aggregate function must have a step function in `+n;var s={};Object.hasOwnProperty.call(this.Sa,n)&&(X(this.Sa[n]),delete this.Sa[n]),r=n+`__finalize`,Object.hasOwnProperty.call(this.Sa,r)&&(X(this.Sa[r]),delete this.Sa[r]);var c=Pt(function(e,n,r){var a=ve(e,1);Object.hasOwnProperty.call(s,a)||(s[a]=i()),n=t(n,r),n=[s[a]].concat(n);try{s[a]=o.apply(null,n)}catch(t){delete s[a],A(e,t,-1)}},`viii`),l=Pt(function(t){var n=ve(t,1);try{var r=a(s[n])}catch(e){delete s[n],A(t,e,-1);return}e(t,r),delete s[n]},`vi`);return this.Sa[n]=c,this.Sa[r]=l,this.handleError(le(this.db,n,o.length-1,1,0,0,c,l,0)),this},i.prototype.Zb=function(e){return this.Za&&=(xe(this.db,0,0),X(this.Za),void 0),e?(this.Za=Pt(function(t,n,r,i,a){switch(n){case 18:t=`insert`;break;case 23:t=`update`;break;case 9:t=`delete`;break;default:throw`unknown operationCode in updateHook callback: `+n}if(r=j(r),i=j(i),a>2**53-1)throw`rowId too big to fit inside a Number`;e(t,r,i,Number(a))},`viiiij`),xe(this.db,this.Za,0),this):this},n.prototype.bind=n.prototype.bind,n.prototype.step=n.prototype.step,n.prototype.get=n.prototype.get,n.prototype.getColumnNames=n.prototype.qb,n.prototype.getAsObject=n.prototype.zb,n.prototype.getSQL=n.prototype.Sb,n.prototype.getNormalizedSQL=n.prototype.Pb,n.prototype.run=n.prototype.run,n.prototype.reset=n.prototype.reset,n.prototype.freemem=n.prototype.freemem,n.prototype.free=n.prototype.Ya,r.prototype.next=r.prototype.next,r.prototype.getRemainingSQL=r.prototype.Qb,i.prototype.run=i.prototype.run,i.prototype.exec=i.prototype.exec,i.prototype.each=i.prototype.Mb,i.prototype.prepare=i.prototype.tb,i.prototype.iterateStatements=i.prototype.Ub,i.prototype.export=i.prototype.Nb,i.prototype.close=i.prototype.close,i.prototype.handleError=i.prototype.handleError,i.prototype.getRowsModified=i.prototype.Rb,i.prototype.create_function=i.prototype.Kb,i.prototype.create_aggregate=i.prototype.Jb,i.prototype.updateHook=i.prototype.Zb,s.Database=i};var d=`./this.program`,f=(e,t)=>{throw t},ee=globalThis.document?.currentScript?.src;typeof __filename<`u`?ee=__filename:l&&(ee=self.location.href);var p=``,m,h;if(u){var g=t();p=__dirname+`/`,h=e=>(e=ie(e)?new URL(e):e,g.readFileSync(e)),m=async e=>(e=ie(e)?new URL(e):e,g.readFileSync(e,void 0)),1<process.argv.length&&(d=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),n!==void 0&&(n.exports=s),f=(e,t)=>{throw process.exitCode=e,t}}else if(c||l){try{p=new URL(`.`,ee).href}catch{}l&&(h=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),m=async e=>{if(ie(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var te=console.log.bind(console),_=console.error.bind(console),v,ne=!1,re,ie=e=>e.startsWith(`file://`),y,b,x,S,C,ae,oe,w;function se(){var e=Bt.buffer;y=new Int8Array(e),x=new Int16Array(e),b=new Uint8Array(e),new Uint16Array(e),S=new Int32Array(e),C=new Uint32Array(e),ae=new Float32Array(e),oe=new Float64Array(e),w=new BigInt64Array(e),new BigUint64Array(e)}function T(e){throw s.onAbort?.(e),e=`Aborted(`+e+`)`,_(e),ne=!0,new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`)}var ce;async function le(e){if(!v)try{var t=await m(e);return new Uint8Array(t)}catch{}if(e==ce&&v)e=new Uint8Array(v);else if(h)e=h(e);else throw`both async and sync fetching of the wasm failed`;return e}async function ue(e,t){try{var n=await le(e);return await WebAssembly.instantiate(n,t)}catch(e){_(`failed to asynchronously prepare wasm: ${e}`),T(e)}}async function de(e){var t=ce;if(!v&&!ie(t)&&!u)try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){_(`wasm streaming compile failed: ${e}`),_(`falling back to ArrayBuffer instantiation`)}return ue(t,e)}class fe{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var pe=e=>{for(;0<e.length;)e.shift()(s)},me=[],he=[],ge=()=>{var e=s.preRun.shift();he.push(e)},E=0,D=null;function O(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return y[e];case`i8`:return y[e];case`i16`:return x[e>>1];case`i32`:return S[e>>2];case`i64`:return w[e>>3];case`float`:return ae[e>>2];case`double`:return oe[e>>3];case`*`:return C[e>>2];default:T(`invalid type for getValue: ${t}`)}}var _e=!0;function k(e){var t=`i32`;switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:y[e]=0;break;case`i8`:y[e]=0;break;case`i16`:x[e>>1]=0;break;case`i32`:S[e>>2]=0;break;case`i64`:w[e>>3]=BigInt(0);break;case`float`:ae[e>>2]=0;break;case`double`:oe[e>>3]=0;break;case`*`:C[e>>2]=0;break;default:T(`invalid type for setValue: ${t}`)}}var A=new TextDecoder,ve=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},j=(e,t,n)=>e?A.decode(b.subarray(e,ve(b,e,t,n))):``,ye=(e,t)=>{for(var n=0,r=e.length-1;0<=r;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},be=e=>{var t=e.charAt(0)===`/`,n=e.slice(-1)===`/`;return(e=ye(e.split(`/`).filter(e=>!!e),!t).join(`/`))||t||(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},xe=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],!e&&!t?`.`:(t&&=t.slice(0,-1),e+t)},Se=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],Ce=()=>{if(u){var e=t();return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)},we=e=>{(we=Ce())(e)},Te=(...e)=>{for(var t=``,n=!1,r=e.length-1;-1<=r&&!n;r--){if(n=0<=r?e[r]:`/`,typeof n!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!n)return``;t=n+`/`+t,n=n.charAt(0)===`/`}return t=ye(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},M=e=>{var t=ve(e,0);return A.decode(e.buffer?e.subarray(0,t):new Uint8Array(e.slice(0,t)))},Ee=[],N=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},P=(e,t,n,r)=>{if(!(0<r))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(127>=o){if(n>=r)break;t[n++]=o}else if(2047>=o){if(n+1>=r)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(65535>=o){if(n+2>=r)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63,a++}}return t[n]=0,n-i},De=[];function Oe(e,t){De[e]={input:[],output:[],eb:t},$e(e,ke)}var ke={open(e){var t=De[e.node.rdev];if(!t)throw new R(43);e.tty=t,e.seekable=!1},close(e){e.tty.eb.fsync(e.tty)},fsync(e){e.tty.eb.fsync(e.tty)},read(e,t,n,r){if(!e.tty||!e.tty.eb.Bb)throw new R(60);for(var i=0,a=0;a<r;a++){try{var o=e.tty.eb.Bb(e.tty)}catch{throw new R(29)}if(o===void 0&&i===0)throw new R(6);if(o==null)break;i++,t[n+a]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,n,r){if(!e.tty||!e.tty.eb.ub)throw new R(60);try{for(var i=0;i<r;i++)e.tty.eb.ub(e.tty,t[n+i])}catch{throw new R(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),i}},Ae={Bb(){a:{if(!Ee.length){var e=null;if(u){var t=Buffer.alloc(256),n=0,r=process.stdin.fd;try{n=g.readSync(r,t,0,256)}catch(e){if(e.toString().includes(`EOF`))n=0;else throw e}0<n&&(e=t.slice(0,n).toString(`utf-8`))}else globalThis.window?.prompt&&(e=window.prompt(`Input: `),e!==null&&(e+=`
2
- `));if(!e){e=null;break a}t=Array(N(e)+1),e=P(e,t,0,t.length),t.length=e,Ee=t}e=Ee.shift()}return e},ub(e,t){t===null||t===10?(te(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(te(M(e.output)),e.output=[])},hc(){return{bc:25856,dc:5,ac:191,cc:35387,$b:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ic(){return 0},jc(){return[24,80]}},je={ub(e,t){t===null||t===10?(_(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(_(M(e.output)),e.output=[])}},F={Wa:null,Xa(){return F.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if((n&61440)==24576||(n&61440)==4096)throw new R(63);return F.Wa||={dir:{node:{Ta:F.La.Ta,Ua:F.La.Ua,lookup:F.La.lookup,ib:F.La.ib,rename:F.La.rename,unlink:F.La.unlink,rmdir:F.La.rmdir,readdir:F.La.readdir,symlink:F.La.symlink},stream:{Va:F.Ma.Va}},file:{node:{Ta:F.La.Ta,Ua:F.La.Ua},stream:{Va:F.Ma.Va,read:F.Ma.read,write:F.Ma.write,jb:F.Ma.jb,kb:F.Ma.kb}},link:{node:{Ta:F.La.Ta,Ua:F.La.Ua,readlink:F.La.readlink},stream:{}},yb:{node:{Ta:F.La.Ta,Ua:F.La.Ua},stream:Qe}},n=We(e,t,n,r),V(n.mode)?(n.La=F.Wa.dir.node,n.Ma=F.Wa.dir.stream,n.Na={}):(n.mode&61440)==32768?(n.La=F.Wa.file.node,n.Ma=F.Wa.file.stream,n.Ra=0,n.Na=null):(n.mode&61440)==40960?(n.La=F.Wa.link.node,n.Ma=F.Wa.link.stream):(n.mode&61440)==8192&&(n.La=F.Wa.yb.node,n.Ma=F.Wa.yb.stream),n.atime=n.mtime=n.ctime=Date.now(),e&&(e.Na[t]=n,e.atime=e.mtime=e.ctime=n.atime),n},fc(e){return e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array},La:{Ta(e){var t={};return t.dev=(e.mode&61440)==8192?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=V(e.mode)?4096:(e.mode&61440)==32768?e.Ra:(e.mode&61440)==40960?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&(t=t.size,e.Ra!=t&&(t==0?(e.Na=null,e.Ra=0):(n=e.Na,e.Na=new Uint8Array(t),n&&e.Na.set(n.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw F.nb||(F.nb=new R(44),F.nb.stack=`<generic error, no stack>`),F.nb},ib(e,t,n,r){return F.createNode(e,t,n,r)},rename(e,t,n){try{var r=B(t,n)}catch{}if(r){if(V(e.mode))for(var i in r.Na)throw new R(55);Ue(r)}delete e.parent.Na[e.name],t.Na[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var n=B(e,t),r;for(r in n.Na)throw new R(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.Na)]},symlink(e,t,n){return e=F.createNode(e,t,41471,0),e.link=n,e},readlink(e){if((e.mode&61440)!=40960)throw new R(28);return e.link}},Ma:{read(e,t,n,r,i){var a=e.node.Na;if(i>=e.node.Ra)return 0;if(e=Math.min(e.node.Ra-i,r),8<e&&a.subarray)t.set(a.subarray(i,i+e),n);else for(r=0;r<e;r++)t[n+r]=a[i+r];return e},write(e,t,n,r,i,a){if(t.buffer===y.buffer&&(a=!1),!r)return 0;if(e=e.node,e.mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(a)return e.Na=t.subarray(n,n+r),e.Ra=r;if(e.Ra===0&&i===0)return e.Na=t.slice(n,n+r),e.Ra=r;if(i+r<=e.Ra)return e.Na.set(t.subarray(n,n+r),i),r}a=i+r;var o=e.Na?e.Na.length:0;if(o>=a||(a=Math.max(a,o*(1048576>o?2:1.125)>>>0),o!=0&&(a=Math.max(a,256)),o=e.Na,e.Na=new Uint8Array(a),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(n,n+r),i);else for(a=0;a<r;a++)e.Na[i+a]=t[n+a];return e.Ra=Math.max(e.Ra,i+r),r},Va(e,t,n){if(n===1?t+=e.position:n===2&&(e.node.mode&61440)==32768&&(t+=e.node.Ra),0>t)throw new R(28);return t},jb(e,t,n,r,i){if((e.node.mode&61440)!=32768)throw new R(43);if(e=e.node.Na,i&2||!e||e.buffer!==y.buffer){i=!0,r=65536*Math.ceil(t/65536);var a=It(65536,r);if(a&&b.fill(0,a,a+r),r=a,!r)throw new R(48);e&&((0<n||n+t<e.length)&&(e=e.subarray?e.subarray(n,n+t):Array.prototype.slice.call(e,n,n+t)),y.set(e,r))}else i=!1,r=e.byteOffset;return{Xb:r,Eb:i}},kb(e,t,n,r){return F.Ma.write(e,t,0,r,n,!1),0}}},Me=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},Ne=null,Pe={},I=[],Fe=1,L=null,Ie=!1,Le=!0,Re={},R=class{name=`ErrnoError`;constructor(e){this.Pa=e}},ze=class{hb={};node=null;get flags(){return this.hb.flags}set flags(e){this.hb.flags=e}get position(){return this.hb.position}set position(e){this.hb.position=e}},Be=class{La={};Ma={};bb=null;constructor(e,t,n,r){e||=this,this.parent=e,this.Xa=e.Xa,this.id=Fe++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&365)==365}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)==146}set write(e){e?this.mode|=146:this.mode&=-147}};function z(e,t={}){if(!e)throw new R(44);t.pb??=!0,e.charAt(0)===`/`||(e=`//`+e);var n=0;a:for(;40>n;n++){e=e.split(`/`).filter(e=>!!e);for(var r=Ne,i=`/`,a=0;a<e.length;a++){var o=a===e.length-1;if(o&&t.parent)break;if(e[a]!==`.`)if(e[a]===`..`)if(i=xe(i),r===r.parent){e=i+`/`+e.slice(a+1).join(`/`),n--;continue a}else r=r.parent;else{i=be(i+`/`+e[a]);try{r=B(r,e[a])}catch(e){if(e?.Pa===44&&o&&t.Wb)return{path:i};throw e}if(!r.bb||o&&!t.pb||(r=r.bb.root),(r.mode&61440)==40960&&(!o||t.ab)){if(!r.La.readlink)throw new R(52);r=r.La.readlink(r),r.charAt(0)===`/`||(r=xe(i)+`/`+r),e=r+`/`+e.slice(a+1).join(`/`);continue a}}}return{path:i,node:r}}throw new R(32)}function Ve(e){for(var t;;){if(e===e.parent)return e=e.Xa.Db,t?e[e.length-1]===`/`?e+t:`${e}/${t}`:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function He(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%L.length}function Ue(e){var t=He(e.parent.id,e.name);if(L[t]===e)L[t]=e.cb;else for(t=L[t];t;){if(t.cb===e){t.cb=e.cb;break}t=t.cb}}function B(e,t){var n=V(e.mode)?(n=H(e,`x`))?n:e.La.lookup?0:2:54;if(n)throw new R(n);for(n=L[He(e.id,t)];n;n=n.cb){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return e.La.lookup(e,t)}function We(e,t,n,r){return e=new Be(e,t,n,r),t=He(e.parent.id,e.name),e.cb=L[t],L[t]=e}function V(e){return(e&61440)==16384}function Ge(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t}function H(e,t){if(Le)return 0;if(!t.includes(`r`)||e.mode&292){if(t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73))return 2}else return 2;return 0}function Ke(e,t){if(!V(e.mode))return 54;try{return B(e,t),20}catch{}return H(e,`wx`)}function qe(e,t,n){try{var r=B(e,t)}catch(e){return e.Pa}if(e=H(e,`wx`))return e;if(n){if(!V(r.mode))return 54;if(r===r.parent||Ve(r)===`/`)return 10}else if(V(r.mode))return 31;return 0}function Je(e){if(!e)throw new R(63);return e}function U(e){if(e=I[e],!e)throw new R(8);return e}function Ye(e,t=-1){if(e=Object.assign(new ze,e),t==-1)a:{for(t=0;4096>=t;t++)if(!I[t])break a;throw new R(33)}return e.fd=t,I[t]=e}function Xe(e,t=-1){return e=Ye(e,t),e.Ma?.ec?.(e),e}function Ze(e,t,n){var r=e?.Ma.Ua;e=r?e:t,r??=t.La.Ua,Je(r),r(e,n)}var Qe={open(e){e.Ma=Pe[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new R(70)}};function $e(e,t){Pe[e]={Ma:t}}function et(e,t){var n=t===`/`;if(n&&Ne)throw new R(10);if(!n&&t){var r=z(t,{pb:!1});if(t=r.path,r=r.node,r.bb)throw new R(10);if(!V(r.mode))throw new R(54)}t={type:e,kc:{},Db:t,Vb:[]},e=e.Xa(t),e.Xa=t,t.root=e,n?Ne=e:r&&(r.bb=t,r.Xa&&r.Xa.Vb.push(t))}function tt(e,t,n){var r=z(e,{parent:!0}).node;if(e=Se(e),!e)throw new R(28);if(e===`.`||e===`..`)throw new R(20);var i=Ke(r,e);if(i)throw new R(i);if(!r.La.ib)throw new R(63);return r.La.ib(r,e,t,n)}function nt(e,t=438){return tt(e,t&4095|32768,0)}function W(e,t=511){return tt(e,t&1023|16384,0)}function rt(e,t,n){n===void 0&&(n=t,t=438),tt(e,t|8192,n)}function it(e,t){if(!Te(e))throw new R(44);var n=z(t,{parent:!0}).node;if(!n)throw new R(44);t=Se(t);var r=Ke(n,t);if(r)throw new R(r);if(!n.La.symlink)throw new R(63);n.La.symlink(n,t,e)}function at(e){var t=z(e,{parent:!0}).node;e=Se(e);var n=B(t,e),r=qe(t,e,!0);if(r)throw new R(r);if(!t.La.rmdir)throw new R(63);if(n.bb)throw new R(10);t.La.rmdir(t,e),Ue(n)}function ot(e){var t=z(e,{parent:!0}).node;if(!t)throw new R(44);e=Se(e);var n=B(t,e),r=qe(t,e,!1);if(r)throw new R(r);if(!t.La.unlink)throw new R(63);if(n.bb)throw new R(10);t.La.unlink(t,e),Ue(n)}function st(e,t){return e=z(e,{ab:!t}).node,Je(e.La.Ta)(e)}function ct(e,t,n,r){Ze(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),Lb:r})}function lt(e,t){e=typeof e==`string`?z(e,{ab:!0}).node:e,ct(null,e,t)}function ut(e,t,n){if(V(t.mode))throw new R(31);if((t.mode&61440)!=32768)throw new R(28);var r=H(t,`w`);if(r)throw new R(r);Ze(e,t,{size:n,timestamp:Date.now()})}function G(e,t,n=438){if(e===``)throw new R(44);if(typeof t==`string`){var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(r===void 0)throw Error(`Unknown file open mode: ${t}`);t=r}if(n=t&64?n&4095|32768:0,typeof e==`object`)r=e;else{var i=e.endsWith(`/`);e=z(e,{ab:!(t&131072),Wb:!0}),r=e.node,e=e.path}var a=!1;if(t&64)if(r){if(t&128)throw new R(20)}else{if(i)throw new R(31);r=tt(e,n|511,0),a=!0}if(!r)throw new R(44);if((r.mode&61440)==8192&&(t&=-513),t&65536&&!V(r.mode))throw new R(54);if(!a&&(i=r?(r.mode&61440)==40960?32:V(r.mode)&&(Ge(t)!==`r`||t&576)?31:H(r,Ge(t)):44))throw new R(i);return t&512&&!a&&(i=r,i=typeof i==`string`?z(i,{ab:!0}).node:i,ut(null,i,0)),t&=-131713,i=Ye({node:r,path:Ve(r),flags:t,seekable:!0,position:0,Ma:r.Ma,Yb:[],error:!1}),i.Ma.open&&i.Ma.open(i),a&&lt(r,n&511),!s.logReadFiles||t&1||e in Re||(Re[e]=1),i}function dt(e){if(e.fd===null)throw new R(8);e.rb&&=null;try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{I[e.fd]=null}e.fd=null}function ft(e,t,n){if(e.fd===null)throw new R(8);if(!e.seekable||!e.Ma.Va)throw new R(70);if(n!=0&&n!=1&&n!=2)throw new R(28);e.position=e.Ma.Va(e,t,n),e.Yb=[]}function pt(e,t,n,r,i){if(0>r||0>i)throw new R(28);if(e.fd===null||(e.flags&2097155)==1)throw new R(8);if(V(e.node.mode))throw new R(31);if(!e.Ma.read)throw new R(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R(70);return t=e.Ma.read(e,t,n,r,i),a||(e.position+=t),t}function mt(e,t,n,r,i){if(0>r||0>i)throw new R(28);if(e.fd===null||!(e.flags&2097155))throw new R(8);if(V(e.node.mode))throw new R(31);if(!e.Ma.write)throw new R(28);e.seekable&&e.flags&1024&&ft(e,0,2);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R(70);return t=e.Ma.write(e,t,n,r,i,void 0),a||(e.position+=t),t}function ht(e){var t=t||0,n=`binary`;n!==`utf8`&&n!==`binary`&&T(`Invalid encoding type "${n}"`),t=G(e,t),e=st(e).size;var r=new Uint8Array(e);return pt(t,r,0,e,0),n===`utf8`&&(r=M(r)),dt(t),r}function K(e,t,n){e=be(`/dev/`+e);var r=Me(!!t,!!n);K.Cb??=64;var i=K.Cb++<<8|0;$e(i,{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,n,r,i){for(var a=0,o=0;o<i;o++){try{var s=t()}catch{throw new R(29)}if(s===void 0&&a===0)throw new R(6);if(s==null)break;a++,n[r+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,r,i){for(var a=0;a<i;a++)try{n(t[r+a])}catch{throw new R(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),a}}),rt(e,r,i)}var q={};function J(e,t,n){if(t.charAt(0)===`/`)return t;if(e=e===-100?`/`:U(e).path,t.length==0){if(!n)throw new R(44);return e}return e+`/`+t}function gt(e,t){C[e>>2]=t.dev,C[e+4>>2]=t.mode,C[e+8>>2]=t.nlink,C[e+12>>2]=t.uid,C[e+16>>2]=t.gid,C[e+20>>2]=t.rdev,w[e+24>>3]=BigInt(t.size),S[e+32>>2]=4096,S[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return w[e+40>>3]=BigInt(Math.floor(n/1e3)),C[e+48>>2]=n%1e3*1e6,w[e+56>>3]=BigInt(Math.floor(r/1e3)),C[e+64>>2]=r%1e3*1e6,w[e+72>>3]=BigInt(Math.floor(i/1e3)),C[e+80>>2]=i%1e3*1e6,w[e+88>>3]=BigInt(t.ino),0}var _t=void 0,vt=()=>{var e=S[_t>>2];return _t+=4,e},yt=0,bt=[0,31,60,91,121,152,182,213,244,274,305,335],xt=[0,31,59,90,120,151,181,212,243,273,304,334],St={},Ct=e=>{re=e,_e||0<yt||(s.onExit?.(e),ne=!0),f(e,new fe(e))},wt=e=>{if(!ne)try{e()}catch(e){e instanceof fe||e==`unwind`||f(1,e)}finally{if(!(_e||0<yt))try{re=e=re,Ct(e)}catch(e){e instanceof fe||e==`unwind`||f(1,e)}}},Tt={},Et=()=>{if(!Dt){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:d||`./this.program`},t;for(t in Tt)Tt[t]===void 0?delete e[t]:e[t]=Tt[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);Dt=n}return Dt},Dt,Ot=(e,t,n,r)=>{var i={string:e=>{var t=0;if(e!=null&&e!==0){t=N(e)+1;var n=Q(t);P(e,b,n,t),t=n}return t},array:e=>{var t=Q(e.length);return y.set(e,t),t}};e=s[`_`+e];var a=[],o=0;if(r)for(var c=0;c<r.length;c++){var l=i[n[c]];l?(o===0&&(o=zt()),a[c]=l(r[c])):a[c]=r[c]}return n=e(...a),n=function(e){return o!==0&&Rt(o),t===`string`?j(e):t===`boolean`?!!e:e}(n)},kt=e=>{var t=N(e)+1,n=Ft(t);return n&&P(e,b,n,t),n},Y,At=[],X=e=>{Y.delete($.get(e)),$.set(e,null),At.push(e)},jt=e=>{let t=e.length;return[t%128|128,t>>7,...e]},Mt={i:127,p:127,j:126,f:125,d:124,e:111},Nt=e=>jt(Array.from(e,e=>Mt[e])),Pt=(e,t)=>{if(!Y){Y=new WeakMap;var n=$.length;if(Y)for(var r=0;r<0+n;r++){var i=$.get(r);i&&Y.set(i,r)}}if(n=Y.get(e)||0)return n;n=At.length?At.pop():$.grow(1);try{$.set(n,e)}catch(r){if(!(r instanceof TypeError))throw r;t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...jt([1,96,...Nt(t.slice(1)),...Nt(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(t),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f,$.set(n,t)}return Y.set(e,n),n};if(L=Array(4096),et(F,`/`),W(`/tmp`),W(`/home`),W(`/home/web_user`),(function(){W(`/dev`),$e(259,{read:()=>0,write:(e,t,n,r)=>r,Va:()=>0}),rt(`/dev/null`,259),Oe(1280,Ae),Oe(1536,je),rt(`/dev/tty`,1280),rt(`/dev/tty1`,1536);var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(we(e),t=e.byteLength),e[--t]);K(`random`,n),K(`urandom`,n),W(`/dev/shm`),W(`/dev/shm/tmp`)})(),(function(){W(`/proc`);var e=W(`/proc/self`);W(`/proc/self/fd`),et({Xa(){var t=We(e,`fd`,16895,73);return t.Ma={Va:F.Ma.Va},t.La={lookup(e,t){e=+t;var n=U(e);return e={parent:null,Xa:{Db:`fake`},La:{readlink:()=>n.path},id:e+1},e.parent=e},readdir(){return Array.from(I.entries()).filter(([,e])=>e).map(([e])=>e.toString())}},t}},`/proc/self/fd`)})(),s.noExitRuntime&&(_e=s.noExitRuntime),s.print&&(te=s.print),s.printErr&&(_=s.printErr),s.wasmBinary&&(v=s.wasmBinary),s.thisProgram&&(d=s.thisProgram),s.preInit)for(typeof s.preInit==`function`&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.shift()();s.stackSave=()=>zt(),s.stackRestore=e=>Rt(e),s.stackAlloc=e=>Q(e),s.cwrap=(e,t,n,r)=>{var i=!n||n.every(e=>e===`number`||e===`boolean`);return t!==`string`&&i&&!r?s[`_`+e]:(...r)=>Ot(e,t,n,r)},s.addFunction=Pt,s.removeFunction=X,s.UTF8ToString=j,s.stringToNewUTF8=kt,s.writeArrayToMemory=(e,t)=>{y.set(e,t)};var Ft,Z,It,Lt,Rt,Q,zt,Bt,$,Vt={a:(e,t,n,r)=>T(`Assertion failed: ${j(e)}, at: `+[t?j(t):`unknown filename`,n,r?j(r):`unknown function`]),i:function(e,t){try{return e=j(e),lt(e,t),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},L:function(e,t,n){try{if(t=j(t),t=J(e,t),n&-8)return-28;var r=z(t,{ab:!0}).node;return r?(e=``,n&4&&(e+=`r`),n&2&&(e+=`w`),n&1&&(e+=`x`),e&&H(r,e)?-2:0):-44}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},j:function(e,t){try{var n=U(e);return ct(n,n.node,t,!1),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},h:function(e){try{var t=U(e);return Ze(t,t.node,{timestamp:Date.now(),Lb:!1}),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},b:function(e,t,n){_t=n;try{var r=U(e);switch(t){case 0:var i=vt();if(0>i)break;for(;I[i];)i++;return Xe(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:return i=vt(),r.flags|=i,0;case 12:return i=vt(),x[i+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},g:function(e,t){try{var n=U(e),r=n.node,i=n.Ma.Ta;return e=i?n:r,i??=r.La.Ta,Je(i),gt(t,i(e))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},H:function(e,t){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return-61;var n=U(e);if(0>t||!(n.flags&2097155))throw new R(28);return ut(n,n.node,t),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},G:function(e,t){try{if(t===0)return-28;var n=N(`/`)+1;return t<n?-68:(P(`/`,b,e,t),n)}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},K:function(e,t){try{return e=j(e),gt(t,st(e,!0))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},C:function(e,t,n){try{return t=j(t),t=J(e,t),W(t,n),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},J:function(e,t,n,r){try{t=j(t);var i=r&256;return t=J(e,t,r&4096),gt(n,i?st(t,!0):st(t))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},x:function(e,t,n,r){_t=r;try{t=j(t),t=J(e,t);var i=r?vt():0;return G(t,n,i).fd}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},v:function(e,t,n,r){try{if(t=j(t),t=J(e,t),0>=r)return-28;var i=z(t).node;if(!i)throw new R(44);if(!i.La.readlink)throw new R(28);var a=i.La.readlink(i),o=Math.min(r,N(a)),s=y[n+o];return P(a,b,n,r+1),y[n+o]=s,o}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},u:function(e){try{return e=j(e),at(e),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},f:function(e,t){try{return e=j(e),gt(t,st(e))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},r:function(e,t,n){try{if(t=j(t),t=J(e,t),n)if(n===512)at(t);else return-28;else ot(t);return 0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},q:function(e,t,n){try{t=j(t),t=J(e,t,!0);var r=Date.now(),i,a;if(n){var o=C[n>>2]+4294967296*S[n+4>>2],s=S[n+8>>2];i=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6,n+=16,o=C[n>>2]+4294967296*S[n+4>>2],s=S[n+8>>2],a=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6}else a=i=r;if((a??i)!==null){e=i;var c=z(t,{ab:!0}).node;Je(c.La.Ua)(c,{atime:e,mtime:a})}return 0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},m:()=>T(``),l:()=>{_e=!1,yt=0},A:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),S[t>>2]=e.getSeconds(),S[t+4>>2]=e.getMinutes(),S[t+8>>2]=e.getHours(),S[t+12>>2]=e.getDate(),S[t+16>>2]=e.getMonth(),S[t+20>>2]=e.getFullYear()-1900,S[t+24>>2]=e.getDay();var n=e.getFullYear();S[t+28>>2]=(n%4!=0||n%100==0&&n%400!=0?xt:bt)[e.getMonth()]+e.getDate()-1|0,S[t+36>>2]=-(60*e.getTimezoneOffset()),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();S[t+32>>2]=(n!=r&&e.getTimezoneOffset()==Math.min(r,n))|0},y:function(e,t,n,r,i,a,o){i=-9007199254740992>i||9007199254740992<i?NaN:Number(i);try{var s=U(r);if(t&2&&!(n&2)&&(s.flags&2097155)!=2||(s.flags&2097155)==1)throw new R(2);if(!s.Ma.jb)throw new R(43);if(!e)throw new R(28);var c=s.Ma.jb(s,e,i,t,n),l=c.Xb;return S[a>>2]=c.Eb,C[o>>2]=l,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},z:function(e,t,n,r,i,a){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);try{var o=U(i);if(n&2){if(n=a,(o.node.mode&61440)!=32768)throw new R(43);if(!(r&2)){var s=b.slice(e,e+t);o.Ma.kb&&o.Ma.kb(o,s,n,t,r)}}}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},n:(e,t)=>(St[e]&&(clearTimeout(St[e].id),delete St[e]),t&&(St[e]={id:setTimeout(()=>{delete St[e],wt(()=>Lt(e,performance.now()))},t),lc:t}),0),B:(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset(),C[e>>2]=60*Math.max(a,i),S[t>>2]=Number(a!=i),t=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`},e=t(a),t=t(i),i<a?(P(e,b,n,17),P(t,b,r,17)):(P(e,b,r,17),P(t,b,n,17))},d:()=>Date.now(),s:()=>2147483648,c:()=>performance.now(),o:e=>{var t=b.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);a:{r=(Math.min(2147483648,65536*Math.ceil(Math.max(e,r)/65536))-Bt.buffer.byteLength+65535)/65536|0;try{Bt.grow(r),se();var i=1;break a}catch{}i=void 0}if(i)return!0}return!1},E:(e,t)=>{var n=0,r=0,i;for(i of Et()){var a=t+n;C[e+r>>2]=a,n+=P(i,b,a,1/0)+1,r+=4}return 0},F:(e,t)=>{var n=Et();C[e>>2]=n.length,e=0;for(var r of n)e+=N(r)+1;return C[t>>2]=e,0},e:function(e){try{return dt(U(e)),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},p:function(e,t){try{var n=U(e);return y[t]=n.tty?2:V(n.mode)?3:(n.mode&61440)==40960?7:4,x[t+2>>1]=0,w[t+8>>3]=BigInt(0),w[t+16>>3]=BigInt(0),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},w:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=C[e>>2],c=C[e+4>>2];e+=8;var l=pt(i,y,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return C[r>>2]=u,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},D:function(e,t,n,r){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var i=U(e);return ft(i,t,n),w[r>>3]=BigInt(i.position),i.rb&&t===0&&n===0&&(i.rb=null),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},I:function(e){try{var t=U(e);return t.Ma?.fsync?.(t)}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},t:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=C[e>>2],c=C[e+4>>2];e+=8;var l=mt(i,y,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return C[r>>2]=u,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},k:Ct};function Ht(){function e(){if(s.calledRun=!0,!ne){if(!s.noFSInit&&!Ie){var e,t;Ie=!0,e??=s.stdin,t??=s.stdout,n??=s.stderr,e?K(`stdin`,e):it(`/dev/tty`,`/dev/stdin`),t?K(`stdout`,null,t):it(`/dev/tty`,`/dev/stdout`),n?K(`stderr`,null,n):it(`/dev/tty1`,`/dev/stderr`),G(`/dev/stdin`,0),G(`/dev/stdout`,1),G(`/dev/stderr`,1)}if(Ut.N(),Le=!1,s.onRuntimeInitialized?.(),s.postRun)for(typeof s.postRun==`function`&&(s.postRun=[s.postRun]);s.postRun.length;){var n=s.postRun.shift();me.push(n)}pe(me)}}if(0<E)D=Ht;else{if(s.preRun)for(typeof s.preRun==`function`&&(s.preRun=[s.preRun]);s.preRun.length;)ge();pe(he),0<E?D=Ht:s.setStatus?(s.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>s.setStatus(``),1),e()},1)):e()}}var Ut;return(async function(){function e(e){return e=Ut=e.exports,s._sqlite3_free=e.P,s._sqlite3_value_text=e.Q,s._sqlite3_prepare_v2=e.R,s._sqlite3_step=e.S,s._sqlite3_reset=e.T,s._sqlite3_exec=e.U,s._sqlite3_finalize=e.V,s._sqlite3_column_name=e.W,s._sqlite3_column_text=e.X,s._sqlite3_column_type=e.Y,s._sqlite3_errmsg=e.Z,s._sqlite3_clear_bindings=e._,s._sqlite3_value_blob=e.$,s._sqlite3_value_bytes=e.aa,s._sqlite3_value_double=e.ba,s._sqlite3_value_int=e.ca,s._sqlite3_value_type=e.da,s._sqlite3_result_blob=e.ea,s._sqlite3_result_double=e.fa,s._sqlite3_result_error=e.ga,s._sqlite3_result_int=e.ha,s._sqlite3_result_int64=e.ia,s._sqlite3_result_null=e.ja,s._sqlite3_result_text=e.ka,s._sqlite3_aggregate_context=e.la,s._sqlite3_column_count=e.ma,s._sqlite3_data_count=e.na,s._sqlite3_column_blob=e.oa,s._sqlite3_column_bytes=e.pa,s._sqlite3_column_double=e.qa,s._sqlite3_bind_blob=e.ra,s._sqlite3_bind_double=e.sa,s._sqlite3_bind_int=e.ta,s._sqlite3_bind_text=e.ua,s._sqlite3_bind_parameter_index=e.va,s._sqlite3_sql=e.wa,s._sqlite3_normalized_sql=e.xa,s._sqlite3_changes=e.ya,s._sqlite3_close_v2=e.za,s._sqlite3_create_function_v2=e.Aa,s._sqlite3_update_hook=e.Ba,s._sqlite3_open=e.Ca,Ft=s._malloc=e.Da,Z=s._free=e.Ea,s._RegisterExtensionFunctions=e.Fa,It=e.Ga,Lt=e.Ha,Rt=e.Ia,Q=e.Ja,zt=e.Ka,Bt=e.M,$=e.O,se(),E--,s.monitorRunDependencies?.(E),E==0&&D&&(e=D,D=null,e()),Ut}E++,s.monitorRunDependencies?.(E);var t={a:Vt};return s.instantiateWasm?new Promise(n=>{s.instantiateWasm(t,(t,r)=>{n(e(t,r))})}):(ce??=s.locateFile?s.locateFile(`sql-wasm.wasm`,p):p+`sql-wasm.wasm`,e((await de(t)).instance))})(),Ht(),a}),r)};typeof e==`object`&&typeof n==`object`?(n.exports=i,n.exports.default=i):typeof define==`function`&&define.amd?define([],function(){return i}):typeof e==`object`&&(e.Module=i)}));export default n();
2
+ `));if(!e){e=null;break a}t=Array(N(e)+1),e=P(e,t,0,t.length),t.length=e,Ee=t}e=Ee.shift()}return e},ub(e,t){t===null||t===10?(te(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(te(M(e.output)),e.output=[])},hc(){return{bc:25856,dc:5,ac:191,cc:35387,$b:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ic(){return 0},jc(){return[24,80]}},je={ub(e,t){t===null||t===10?(_(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(_(M(e.output)),e.output=[])}},F={Wa:null,Xa(){return F.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if((n&61440)==24576||(n&61440)==4096)throw new R(63);return F.Wa||={dir:{node:{Ta:F.La.Ta,Ua:F.La.Ua,lookup:F.La.lookup,ib:F.La.ib,rename:F.La.rename,unlink:F.La.unlink,rmdir:F.La.rmdir,readdir:F.La.readdir,symlink:F.La.symlink},stream:{Va:F.Ma.Va}},file:{node:{Ta:F.La.Ta,Ua:F.La.Ua},stream:{Va:F.Ma.Va,read:F.Ma.read,write:F.Ma.write,jb:F.Ma.jb,kb:F.Ma.kb}},link:{node:{Ta:F.La.Ta,Ua:F.La.Ua,readlink:F.La.readlink},stream:{}},yb:{node:{Ta:F.La.Ta,Ua:F.La.Ua},stream:Qe}},n=We(e,t,n,r),V(n.mode)?(n.La=F.Wa.dir.node,n.Ma=F.Wa.dir.stream,n.Na={}):(n.mode&61440)==32768?(n.La=F.Wa.file.node,n.Ma=F.Wa.file.stream,n.Ra=0,n.Na=null):(n.mode&61440)==40960?(n.La=F.Wa.link.node,n.Ma=F.Wa.link.stream):(n.mode&61440)==8192&&(n.La=F.Wa.yb.node,n.Ma=F.Wa.yb.stream),n.atime=n.mtime=n.ctime=Date.now(),e&&(e.Na[t]=n,e.atime=e.mtime=e.ctime=n.atime),n},fc(e){return e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array},La:{Ta(e){var t={};return t.dev=(e.mode&61440)==8192?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=V(e.mode)?4096:(e.mode&61440)==32768?e.Ra:(e.mode&61440)==40960?e.link.length:0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&(t=t.size,e.Ra!=t&&(t==0?(e.Na=null,e.Ra=0):(n=e.Na,e.Na=new Uint8Array(t),n&&e.Na.set(n.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw F.nb||(F.nb=new R(44),F.nb.stack=`<generic error, no stack>`),F.nb},ib(e,t,n,r){return F.createNode(e,t,n,r)},rename(e,t,n){try{var r=B(t,n)}catch{}if(r){if(V(e.mode))for(var i in r.Na)throw new R(55);Ue(r)}delete e.parent.Na[e.name],t.Na[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var n=B(e,t),r;for(r in n.Na)throw new R(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.Na)]},symlink(e,t,n){return e=F.createNode(e,t,41471,0),e.link=n,e},readlink(e){if((e.mode&61440)!=40960)throw new R(28);return e.link}},Ma:{read(e,t,n,r,i){var a=e.node.Na;if(i>=e.node.Ra)return 0;if(e=Math.min(e.node.Ra-i,r),8<e&&a.subarray)t.set(a.subarray(i,i+e),n);else for(r=0;r<e;r++)t[n+r]=a[i+r];return e},write(e,t,n,r,i,a){if(t.buffer===y.buffer&&(a=!1),!r)return 0;if(e=e.node,e.mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(a)return e.Na=t.subarray(n,n+r),e.Ra=r;if(e.Ra===0&&i===0)return e.Na=t.slice(n,n+r),e.Ra=r;if(i+r<=e.Ra)return e.Na.set(t.subarray(n,n+r),i),r}a=i+r;var o=e.Na?e.Na.length:0;if(o>=a||(a=Math.max(a,o*(1048576>o?2:1.125)>>>0),o!=0&&(a=Math.max(a,256)),o=e.Na,e.Na=new Uint8Array(a),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(n,n+r),i);else for(a=0;a<r;a++)e.Na[i+a]=t[n+a];return e.Ra=Math.max(e.Ra,i+r),r},Va(e,t,n){if(n===1?t+=e.position:n===2&&(e.node.mode&61440)==32768&&(t+=e.node.Ra),0>t)throw new R(28);return t},jb(e,t,n,r,i){if((e.node.mode&61440)!=32768)throw new R(43);if(e=e.node.Na,i&2||!e||e.buffer!==y.buffer){i=!0,r=65536*Math.ceil(t/65536);var a=It(65536,r);if(a&&b.fill(0,a,a+r),r=a,!r)throw new R(48);e&&((0<n||n+t<e.length)&&(e=e.subarray?e.subarray(n,n+t):Array.prototype.slice.call(e,n,n+t)),y.set(e,r))}else i=!1,r=e.byteOffset;return{Xb:r,Eb:i}},kb(e,t,n,r){return F.Ma.write(e,t,0,r,n,!1),0}}},Me=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},Ne=null,Pe={},I=[],Fe=1,L=null,Ie=!1,Le=!0,Re={},R=class{name=`ErrnoError`;constructor(e){this.Pa=e}},ze=class{hb={};node=null;get flags(){return this.hb.flags}set flags(e){this.hb.flags=e}get position(){return this.hb.position}set position(e){this.hb.position=e}},Be=class{La={};Ma={};bb=null;constructor(e,t,n,r){e||=this,this.parent=e,this.Xa=e.Xa,this.id=Fe++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&365)==365}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)==146}set write(e){e?this.mode|=146:this.mode&=-147}};function z(e,t={}){if(!e)throw new R(44);t.pb??=!0,e.charAt(0)===`/`||(e=`//`+e);var n=0;a:for(;40>n;n++){e=e.split(`/`).filter(e=>!!e);for(var r=Ne,i=`/`,a=0;a<e.length;a++){var o=a===e.length-1;if(o&&t.parent)break;if(e[a]!==`.`){if(e[a]===`..`){if(i=xe(i),r===r.parent){e=i+`/`+e.slice(a+1).join(`/`),n--;continue a}r=r.parent}else{i=be(i+`/`+e[a]);try{r=B(r,e[a])}catch(e){if(e?.Pa===44&&o&&t.Wb)return{path:i};throw e}if(!r.bb||o&&!t.pb||(r=r.bb.root),(r.mode&61440)==40960&&(!o||t.ab)){if(!r.La.readlink)throw new R(52);r=r.La.readlink(r),r.charAt(0)===`/`||(r=xe(i)+`/`+r),e=r+`/`+e.slice(a+1).join(`/`);continue a}}}}return{path:i,node:r}}throw new R(32)}function Ve(e){for(var t;;){if(e===e.parent)return e=e.Xa.Db,t?e[e.length-1]===`/`?e+t:`${e}/${t}`:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function He(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%L.length}function Ue(e){var t=He(e.parent.id,e.name);if(L[t]===e)L[t]=e.cb;else for(t=L[t];t;){if(t.cb===e){t.cb=e.cb;break}t=t.cb}}function B(e,t){var n=V(e.mode)?(n=H(e,`x`))?n:e.La.lookup?0:2:54;if(n)throw new R(n);for(n=L[He(e.id,t)];n;n=n.cb){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return e.La.lookup(e,t)}function We(e,t,n,r){return e=new Be(e,t,n,r),t=He(e.parent.id,e.name),e.cb=L[t],L[t]=e}function V(e){return(e&61440)==16384}function Ge(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t}function H(e,t){if(Le)return 0;if(!t.includes(`r`)||e.mode&292){if(t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73))return 2}else return 2;return 0}function Ke(e,t){if(!V(e.mode))return 54;try{return B(e,t),20}catch{}return H(e,`wx`)}function qe(e,t,n){try{var r=B(e,t)}catch(e){return e.Pa}if(e=H(e,`wx`))return e;if(n){if(!V(r.mode))return 54;if(r===r.parent||Ve(r)===`/`)return 10}else if(V(r.mode))return 31;return 0}function Je(e){if(!e)throw new R(63);return e}function U(e){if(e=I[e],!e)throw new R(8);return e}function Ye(e,t=-1){if(e=Object.assign(new ze,e),t==-1)a:{for(t=0;4096>=t;t++)if(!I[t])break a;throw new R(33)}return e.fd=t,I[t]=e}function Xe(e,t=-1){return e=Ye(e,t),e.Ma?.ec?.(e),e}function Ze(e,t,n){var r=e?.Ma.Ua;e=r?e:t,r??=t.La.Ua,Je(r),r(e,n)}var Qe={open(e){e.Ma=Pe[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new R(70)}};function $e(e,t){Pe[e]={Ma:t}}function et(e,t){var n=t===`/`;if(n&&Ne)throw new R(10);if(!n&&t){var r=z(t,{pb:!1});if(t=r.path,r=r.node,r.bb)throw new R(10);if(!V(r.mode))throw new R(54)}t={type:e,kc:{},Db:t,Vb:[]},e=e.Xa(t),e.Xa=t,t.root=e,n?Ne=e:r&&(r.bb=t,r.Xa&&r.Xa.Vb.push(t))}function tt(e,t,n){var r=z(e,{parent:!0}).node;if(e=Se(e),!e)throw new R(28);if(e===`.`||e===`..`)throw new R(20);var i=Ke(r,e);if(i)throw new R(i);if(!r.La.ib)throw new R(63);return r.La.ib(r,e,t,n)}function nt(e,t=438){return tt(e,t&4095|32768,0)}function W(e,t=511){return tt(e,t&1023|16384,0)}function rt(e,t,n){n===void 0&&(n=t,t=438),tt(e,t|8192,n)}function it(e,t){if(!Te(e))throw new R(44);var n=z(t,{parent:!0}).node;if(!n)throw new R(44);t=Se(t);var r=Ke(n,t);if(r)throw new R(r);if(!n.La.symlink)throw new R(63);n.La.symlink(n,t,e)}function at(e){var t=z(e,{parent:!0}).node;e=Se(e);var n=B(t,e),r=qe(t,e,!0);if(r)throw new R(r);if(!t.La.rmdir)throw new R(63);if(n.bb)throw new R(10);t.La.rmdir(t,e),Ue(n)}function ot(e){var t=z(e,{parent:!0}).node;if(!t)throw new R(44);e=Se(e);var n=B(t,e),r=qe(t,e,!1);if(r)throw new R(r);if(!t.La.unlink)throw new R(63);if(n.bb)throw new R(10);t.La.unlink(t,e),Ue(n)}function st(e,t){return e=z(e,{ab:!t}).node,Je(e.La.Ta)(e)}function ct(e,t,n,r){Ze(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),Lb:r})}function lt(e,t){e=typeof e==`string`?z(e,{ab:!0}).node:e,ct(null,e,t)}function ut(e,t,n){if(V(t.mode))throw new R(31);if((t.mode&61440)!=32768)throw new R(28);var r=H(t,`w`);if(r)throw new R(r);Ze(e,t,{size:n,timestamp:Date.now()})}function G(e,t,n=438){if(e===``)throw new R(44);if(typeof t==`string`){var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(r===void 0)throw Error(`Unknown file open mode: ${t}`);t=r}if(n=t&64?n&4095|32768:0,typeof e==`object`)r=e;else{var i=e.endsWith(`/`);e=z(e,{ab:!(t&131072),Wb:!0}),r=e.node,e=e.path}var a=!1;if(t&64){if(r){if(t&128)throw new R(20)}else{if(i)throw new R(31);r=tt(e,n|511,0),a=!0}}if(!r)throw new R(44);if((r.mode&61440)==8192&&(t&=-513),t&65536&&!V(r.mode))throw new R(54);if(!a&&(i=r?(r.mode&61440)==40960?32:V(r.mode)&&(Ge(t)!==`r`||t&576)?31:H(r,Ge(t)):44))throw new R(i);return t&512&&!a&&(i=r,i=typeof i==`string`?z(i,{ab:!0}).node:i,ut(null,i,0)),t&=-131713,i=Ye({node:r,path:Ve(r),flags:t,seekable:!0,position:0,Ma:r.Ma,Yb:[],error:!1}),i.Ma.open&&i.Ma.open(i),a&&lt(r,n&511),!s.logReadFiles||t&1||e in Re||(Re[e]=1),i}function dt(e){if(e.fd===null)throw new R(8);e.rb&&=null;try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{I[e.fd]=null}e.fd=null}function ft(e,t,n){if(e.fd===null)throw new R(8);if(!e.seekable||!e.Ma.Va)throw new R(70);if(n!=0&&n!=1&&n!=2)throw new R(28);e.position=e.Ma.Va(e,t,n),e.Yb=[]}function pt(e,t,n,r,i){if(0>r||0>i)throw new R(28);if(e.fd===null||(e.flags&2097155)==1)throw new R(8);if(V(e.node.mode))throw new R(31);if(!e.Ma.read)throw new R(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R(70);return t=e.Ma.read(e,t,n,r,i),a||(e.position+=t),t}function mt(e,t,n,r,i){if(0>r||0>i)throw new R(28);if(e.fd===null||!(e.flags&2097155))throw new R(8);if(V(e.node.mode))throw new R(31);if(!e.Ma.write)throw new R(28);e.seekable&&e.flags&1024&&ft(e,0,2);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R(70);return t=e.Ma.write(e,t,n,r,i,void 0),a||(e.position+=t),t}function ht(e){var t=t||0,n=`binary`;n!==`utf8`&&n!==`binary`&&T(`Invalid encoding type "${n}"`),t=G(e,t),e=st(e).size;var r=new Uint8Array(e);return pt(t,r,0,e,0),n===`utf8`&&(r=M(r)),dt(t),r}function K(e,t,n){e=be(`/dev/`+e);var r=Me(!!t,!!n);K.Cb??=64;var i=K.Cb++<<8|0;$e(i,{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,n,r,i){for(var a=0,o=0;o<i;o++){try{var s=t()}catch{throw new R(29)}if(s===void 0&&a===0)throw new R(6);if(s==null)break;a++,n[r+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,r,i){for(var a=0;a<i;a++)try{n(t[r+a])}catch{throw new R(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),a}}),rt(e,r,i)}var q={};function J(e,t,n){if(t.charAt(0)===`/`)return t;if(e=e===-100?`/`:U(e).path,t.length==0){if(!n)throw new R(44);return e}return e+`/`+t}function gt(e,t){C[e>>2]=t.dev,C[e+4>>2]=t.mode,C[e+8>>2]=t.nlink,C[e+12>>2]=t.uid,C[e+16>>2]=t.gid,C[e+20>>2]=t.rdev,w[e+24>>3]=BigInt(t.size),S[e+32>>2]=4096,S[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return w[e+40>>3]=BigInt(Math.floor(n/1e3)),C[e+48>>2]=n%1e3*1e6,w[e+56>>3]=BigInt(Math.floor(r/1e3)),C[e+64>>2]=r%1e3*1e6,w[e+72>>3]=BigInt(Math.floor(i/1e3)),C[e+80>>2]=i%1e3*1e6,w[e+88>>3]=BigInt(t.ino),0}var _t=void 0,vt=()=>{var e=S[_t>>2];return _t+=4,e},yt=0,bt=[0,31,60,91,121,152,182,213,244,274,305,335],xt=[0,31,59,90,120,151,181,212,243,273,304,334],St={},Ct=e=>{re=e,_e||0<yt||(s.onExit?.(e),ne=!0),f(e,new fe(e))},wt=e=>{if(!ne)try{e()}catch(e){e instanceof fe||e==`unwind`||f(1,e)}finally{if(!(_e||0<yt))try{re=e=re,Ct(e)}catch(e){e instanceof fe||e==`unwind`||f(1,e)}}},Tt={},Et=()=>{if(!Dt){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:d||`./this.program`},t;for(t in Tt)Tt[t]===void 0?delete e[t]:e[t]=Tt[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);Dt=n}return Dt},Dt,Ot=(e,t,n,r)=>{var i={string:e=>{var t=0;if(e!=null&&e!==0){t=N(e)+1;var n=Q(t);P(e,b,n,t),t=n}return t},array:e=>{var t=Q(e.length);return y.set(e,t),t}};e=s[`_`+e];var a=[],o=0;if(r)for(var c=0;c<r.length;c++){var l=i[n[c]];l?(o===0&&(o=zt()),a[c]=l(r[c])):a[c]=r[c]}return n=e(...a),n=function(e){return o!==0&&Rt(o),t===`string`?j(e):t===`boolean`?!!e:e}(n)},kt=e=>{var t=N(e)+1,n=Ft(t);return n&&P(e,b,n,t),n},Y,At=[],X=e=>{Y.delete($.get(e)),$.set(e,null),At.push(e)},jt=e=>{let t=e.length;return[t%128|128,t>>7,...e]},Mt={i:127,p:127,j:126,f:125,d:124,e:111},Nt=e=>jt(Array.from(e,e=>Mt[e])),Pt=(e,t)=>{if(!Y){Y=new WeakMap;var n=$.length;if(Y)for(var r=0;r<0+n;r++){var i=$.get(r);i&&Y.set(i,r)}}if(n=Y.get(e)||0)return n;n=At.length?At.pop():$.grow(1);try{$.set(n,e)}catch(r){if(!(r instanceof TypeError))throw r;t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...jt([1,96,...Nt(t.slice(1)),...Nt(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(t),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f,$.set(n,t)}return Y.set(e,n),n};if(L=Array(4096),et(F,`/`),W(`/tmp`),W(`/home`),W(`/home/web_user`),(function(){W(`/dev`),$e(259,{read:()=>0,write:(e,t,n,r)=>r,Va:()=>0}),rt(`/dev/null`,259),Oe(1280,Ae),Oe(1536,je),rt(`/dev/tty`,1280),rt(`/dev/tty1`,1536);var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(we(e),t=e.byteLength),e[--t]);K(`random`,n),K(`urandom`,n),W(`/dev/shm`),W(`/dev/shm/tmp`)})(),(function(){W(`/proc`);var e=W(`/proc/self`);W(`/proc/self/fd`),et({Xa(){var t=We(e,`fd`,16895,73);return t.Ma={Va:F.Ma.Va},t.La={lookup(e,t){e=+t;var n=U(e);return e={parent:null,Xa:{Db:`fake`},La:{readlink:()=>n.path},id:e+1},e.parent=e},readdir(){return Array.from(I.entries()).filter(([,e])=>e).map(([e])=>e.toString())}},t}},`/proc/self/fd`)})(),s.noExitRuntime&&(_e=s.noExitRuntime),s.print&&(te=s.print),s.printErr&&(_=s.printErr),s.wasmBinary&&(v=s.wasmBinary),s.thisProgram&&(d=s.thisProgram),s.preInit)for(typeof s.preInit==`function`&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.shift()();s.stackSave=()=>zt(),s.stackRestore=e=>Rt(e),s.stackAlloc=e=>Q(e),s.cwrap=(e,t,n,r)=>{var i=!n||n.every(e=>e===`number`||e===`boolean`);return t!==`string`&&i&&!r?s[`_`+e]:(...r)=>Ot(e,t,n,r)},s.addFunction=Pt,s.removeFunction=X,s.UTF8ToString=j,s.stringToNewUTF8=kt,s.writeArrayToMemory=(e,t)=>{y.set(e,t)};var Ft,Z,It,Lt,Rt,Q,zt,Bt,$,Vt={a:(e,t,n,r)=>T(`Assertion failed: ${j(e)}, at: `+[t?j(t):`unknown filename`,n,r?j(r):`unknown function`]),i:function(e,t){try{return e=j(e),lt(e,t),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},L:function(e,t,n){try{if(t=j(t),t=J(e,t),n&-8)return-28;var r=z(t,{ab:!0}).node;return r?(e=``,n&4&&(e+=`r`),n&2&&(e+=`w`),n&1&&(e+=`x`),e&&H(r,e)?-2:0):-44}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},j:function(e,t){try{var n=U(e);return ct(n,n.node,t,!1),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},h:function(e){try{var t=U(e);return Ze(t,t.node,{timestamp:Date.now(),Lb:!1}),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},b:function(e,t,n){_t=n;try{var r=U(e);switch(t){case 0:var i=vt();if(0>i)break;for(;I[i];)i++;return Xe(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:return i=vt(),r.flags|=i,0;case 12:return i=vt(),x[i+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},g:function(e,t){try{var n=U(e),r=n.node,i=n.Ma.Ta;return e=i?n:r,i??=r.La.Ta,Je(i),gt(t,i(e))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},H:function(e,t){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return-61;var n=U(e);if(0>t||!(n.flags&2097155))throw new R(28);return ut(n,n.node,t),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},G:function(e,t){try{if(t===0)return-28;var n=N(`/`)+1;return t<n?-68:(P(`/`,b,e,t),n)}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},K:function(e,t){try{return e=j(e),gt(t,st(e,!0))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},C:function(e,t,n){try{return t=j(t),t=J(e,t),W(t,n),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},J:function(e,t,n,r){try{t=j(t);var i=r&256;return t=J(e,t,r&4096),gt(n,i?st(t,!0):st(t))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},x:function(e,t,n,r){_t=r;try{t=j(t),t=J(e,t);var i=r?vt():0;return G(t,n,i).fd}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},v:function(e,t,n,r){try{if(t=j(t),t=J(e,t),0>=r)return-28;var i=z(t).node;if(!i)throw new R(44);if(!i.La.readlink)throw new R(28);var a=i.La.readlink(i),o=Math.min(r,N(a)),s=y[n+o];return P(a,b,n,r+1),y[n+o]=s,o}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},u:function(e){try{return e=j(e),at(e),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},f:function(e,t){try{return e=j(e),gt(t,st(e))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},r:function(e,t,n){try{if(t=j(t),t=J(e,t),n){if(n===512)at(t);else return-28}else ot(t);return 0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},q:function(e,t,n){try{t=j(t),t=J(e,t,!0);var r=Date.now(),i,a;if(n){var o=C[n>>2]+4294967296*S[n+4>>2],s=S[n+8>>2];i=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6,n+=16,o=C[n>>2]+4294967296*S[n+4>>2],s=S[n+8>>2],a=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6}else a=i=r;if((a??i)!==null){e=i;var c=z(t,{ab:!0}).node;Je(c.La.Ua)(c,{atime:e,mtime:a})}return 0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},m:()=>T(``),l:()=>{_e=!1,yt=0},A:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),S[t>>2]=e.getSeconds(),S[t+4>>2]=e.getMinutes(),S[t+8>>2]=e.getHours(),S[t+12>>2]=e.getDate(),S[t+16>>2]=e.getMonth(),S[t+20>>2]=e.getFullYear()-1900,S[t+24>>2]=e.getDay();var n=e.getFullYear();S[t+28>>2]=(n%4!=0||n%100==0&&n%400!=0?xt:bt)[e.getMonth()]+e.getDate()-1|0,S[t+36>>2]=-(60*e.getTimezoneOffset()),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();S[t+32>>2]=(n!=r&&e.getTimezoneOffset()==Math.min(r,n))|0},y:function(e,t,n,r,i,a,o){i=-9007199254740992>i||9007199254740992<i?NaN:Number(i);try{var s=U(r);if(t&2&&!(n&2)&&(s.flags&2097155)!=2||(s.flags&2097155)==1)throw new R(2);if(!s.Ma.jb)throw new R(43);if(!e)throw new R(28);var c=s.Ma.jb(s,e,i,t,n),l=c.Xb;return S[a>>2]=c.Eb,C[o>>2]=l,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},z:function(e,t,n,r,i,a){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);try{var o=U(i);if(n&2){if(n=a,(o.node.mode&61440)!=32768)throw new R(43);if(!(r&2)){var s=b.slice(e,e+t);o.Ma.kb&&o.Ma.kb(o,s,n,t,r)}}}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},n:(e,t)=>(St[e]&&(clearTimeout(St[e].id),delete St[e]),t&&(St[e]={id:setTimeout(()=>{delete St[e],wt(()=>Lt(e,performance.now()))},t),lc:t}),0),B:(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset(),C[e>>2]=60*Math.max(a,i),S[t>>2]=Number(a!=i),t=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`},e=t(a),t=t(i),i<a?(P(e,b,n,17),P(t,b,r,17)):(P(e,b,r,17),P(t,b,n,17))},d:()=>Date.now(),s:()=>2147483648,c:()=>performance.now(),o:e=>{var t=b.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);a:{r=(Math.min(2147483648,65536*Math.ceil(Math.max(e,r)/65536))-Bt.buffer.byteLength+65535)/65536|0;try{Bt.grow(r),se();var i=1;break a}catch{}i=void 0}if(i)return!0}return!1},E:(e,t)=>{var n=0,r=0,i;for(i of Et()){var a=t+n;C[e+r>>2]=a,n+=P(i,b,a,1/0)+1,r+=4}return 0},F:(e,t)=>{var n=Et();C[e>>2]=n.length,e=0;for(var r of n)e+=N(r)+1;return C[t>>2]=e,0},e:function(e){try{return dt(U(e)),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},p:function(e,t){try{var n=U(e);return y[t]=n.tty?2:V(n.mode)?3:(n.mode&61440)==40960?7:4,x[t+2>>1]=0,w[t+8>>3]=BigInt(0),w[t+16>>3]=BigInt(0),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},w:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=C[e>>2],c=C[e+4>>2];e+=8;var l=pt(i,y,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return C[r>>2]=u,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},D:function(e,t,n,r){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var i=U(e);return ft(i,t,n),w[r>>3]=BigInt(i.position),i.rb&&t===0&&n===0&&(i.rb=null),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},I:function(e){try{var t=U(e);return t.Ma?.fsync?.(t)}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},t:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=C[e>>2],c=C[e+4>>2];e+=8;var l=mt(i,y,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return C[r>>2]=u,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},k:Ct};function Ht(){function e(){if(s.calledRun=!0,!ne){if(!s.noFSInit&&!Ie){var e,t;Ie=!0,e??=s.stdin,t??=s.stdout,n??=s.stderr,e?K(`stdin`,e):it(`/dev/tty`,`/dev/stdin`),t?K(`stdout`,null,t):it(`/dev/tty`,`/dev/stdout`),n?K(`stderr`,null,n):it(`/dev/tty1`,`/dev/stderr`),G(`/dev/stdin`,0),G(`/dev/stdout`,1),G(`/dev/stderr`,1)}if(Ut.N(),Le=!1,s.onRuntimeInitialized?.(),s.postRun)for(typeof s.postRun==`function`&&(s.postRun=[s.postRun]);s.postRun.length;){var n=s.postRun.shift();me.push(n)}pe(me)}}if(0<E)D=Ht;else{if(s.preRun)for(typeof s.preRun==`function`&&(s.preRun=[s.preRun]);s.preRun.length;)ge();pe(he),0<E?D=Ht:s.setStatus?(s.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>s.setStatus(``),1),e()},1)):e()}}var Ut;return(async function(){function e(e){return e=Ut=e.exports,s._sqlite3_free=e.P,s._sqlite3_value_text=e.Q,s._sqlite3_prepare_v2=e.R,s._sqlite3_step=e.S,s._sqlite3_reset=e.T,s._sqlite3_exec=e.U,s._sqlite3_finalize=e.V,s._sqlite3_column_name=e.W,s._sqlite3_column_text=e.X,s._sqlite3_column_type=e.Y,s._sqlite3_errmsg=e.Z,s._sqlite3_clear_bindings=e._,s._sqlite3_value_blob=e.$,s._sqlite3_value_bytes=e.aa,s._sqlite3_value_double=e.ba,s._sqlite3_value_int=e.ca,s._sqlite3_value_type=e.da,s._sqlite3_result_blob=e.ea,s._sqlite3_result_double=e.fa,s._sqlite3_result_error=e.ga,s._sqlite3_result_int=e.ha,s._sqlite3_result_int64=e.ia,s._sqlite3_result_null=e.ja,s._sqlite3_result_text=e.ka,s._sqlite3_aggregate_context=e.la,s._sqlite3_column_count=e.ma,s._sqlite3_data_count=e.na,s._sqlite3_column_blob=e.oa,s._sqlite3_column_bytes=e.pa,s._sqlite3_column_double=e.qa,s._sqlite3_bind_blob=e.ra,s._sqlite3_bind_double=e.sa,s._sqlite3_bind_int=e.ta,s._sqlite3_bind_text=e.ua,s._sqlite3_bind_parameter_index=e.va,s._sqlite3_sql=e.wa,s._sqlite3_normalized_sql=e.xa,s._sqlite3_changes=e.ya,s._sqlite3_close_v2=e.za,s._sqlite3_create_function_v2=e.Aa,s._sqlite3_update_hook=e.Ba,s._sqlite3_open=e.Ca,Ft=s._malloc=e.Da,Z=s._free=e.Ea,s._RegisterExtensionFunctions=e.Fa,It=e.Ga,Lt=e.Ha,Rt=e.Ia,Q=e.Ja,zt=e.Ka,Bt=e.M,$=e.O,se(),E--,s.monitorRunDependencies?.(E),E==0&&D&&(e=D,D=null,e()),Ut}E++,s.monitorRunDependencies?.(E);var t={a:Vt};return s.instantiateWasm?new Promise(n=>{s.instantiateWasm(t,(t,r)=>{n(e(t,r))})}):(ce??=s.locateFile?s.locateFile(`sql-wasm.wasm`,p):p+`sql-wasm.wasm`,e((await de(t)).instance))})(),Ht(),a}),r)};typeof e==`object`&&typeof n==`object`?(n.exports=i,n.exports.default=i):typeof define==`function`&&define.amd?define([],function(){return i}):typeof e==`object`&&(e.Module=i)}));export default n();
@@ -1,4 +1,4 @@
1
- import{t as e}from"./logger-LESFN7Hj.js";import"./logger-DQgFbfwx.js";import{n as t}from"./panel-rpc-BPwAqRch.js";import{a as n}from"./proxied-fetch-Co-pb0x0.js";import"./src-CcFD5QfS.js";import{t as r}from"./types-idfTVsM8.js";import"./tray-runtime-config-CVoPQrT2.js";import"./fs-BNz_JyUR.js";function i(e){return e==null?[]:Array.isArray(e)?e:[e]}function a(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}function o(e,t){e||=[],t||={};var n,r,o,s,c,l={_:[]},u=0,d=0,f=0,p=e.length;let m=t.alias!==void 0,h=t.unknown!==void 0,g=t.default!==void 0;if(t.alias=t.alias||{},t.string=i(t.string),t.boolean=i(t.boolean),m)for(n in t.alias)for(r=t.alias[n]=i(t.alias[n]),u=0;u<r.length;u++)(t.alias[r[u]]=r.concat(n)).splice(u,1);for(u=t.boolean.length;u-->0;)for(r=t.alias[t.boolean[u]]||[],d=r.length;d-->0;)t.boolean.push(r[d]);for(u=t.string.length;u-->0;)for(r=t.alias[t.string[u]]||[],d=r.length;d-->0;)t.string.push(r[d]);if(g){for(n in t.default)if(s=typeof t.default[n],r=t.alias[n]=t.alias[n]||[],t[s]!==void 0)for(t[s].push(n),u=0;u<r.length;u++)t[s].push(r[u])}let _=h?Object.keys(t.alias):[];for(u=0;u<p;u++){if(o=e[u],o===`--`){l._=l._.concat(e.slice(++u));break}for(d=0;d<o.length&&o.charCodeAt(d)===45;d++);if(d===0)l._.push(o);else if(o.substring(d,d+3)===`no-`){if(s=o.substring(d+3),h&&!~_.indexOf(s))return t.unknown(o);l[s]=!1}else{for(f=d+1;f<o.length&&o.charCodeAt(f)!==61;f++);for(s=o.substring(d,f),c=o.substring(++f)||u+1===p||(``+e[u+1]).charCodeAt(0)===45||e[++u],r=d===2?[s]:s,f=0;f<r.length;f++){if(s=r[f],h&&!~_.indexOf(s))return t.unknown(`-`.repeat(d)+s);a(l,s,f+1<r.length||c,t)}}}if(g)for(n in t.default)l[n]===void 0&&(l[n]=t.default[n]);if(m)for(n in l)for(r=t.alias[n]||[];r.length>0;)l[r.shift()]=l[n];return l}function s(e,t){let n=[],r=new Map,i=new Set;for(let a=0;a<e.length;a++){let o=e[a];o.startsWith(`-`)?t.has(o)?r.set(o,e[++a]??``):i.add(o):n.push(o)}return{positionals:n,flags:r,bools:i}}function c(e){let t=new Set(e.string??[]),n=e.alias??{};for(let[e,r]of Object.entries(n)){let n=[e,...Array.isArray(r)?r:[r]];if(n.some(e=>t.has(e)))for(let e of n)t.add(e)}return t}const l=/^(--?)([^=]+)(=.*)?$/;function u(e){let t=new Set(e.string??[]);for(let n of e.boolean??[])t.add(n),t.add(`no-${n}`);for(let[n,r]of Object.entries(e.alias??{})){t.add(n);for(let e of Array.isArray(r)?r:[r])t.add(e)}return t}function d(e,t,n){let r=0;for(;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)||i===`-`)break;let a=l.exec(i);if(!a||!n.has(a[2]))break;!a[3]&&t.has(a[2])&&r+1<e.length&&r++}return r}function f(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=l.exec(i);a&&!a[3]&&t.has(a[2])&&r+1<e.length?(n.push(`${i}=${e[r+1]}`),r++):n.push(i)}return n}function p(e,t={}){let n=e,r=[];if(t[`--`]){let t=e.indexOf(`--`);t!==-1&&(n=e.slice(0,t),r=e.slice(t+1))}let i=c(t),a=n,s=[];if(t.stopEarly){let e=d(n,i,u(t));a=n.slice(0,e),s=n.slice(e)}let{_:l,...p}=o(f(a,i),{string:t.string?[...t.string]:void 0,boolean:t.boolean?[...t.boolean]:void 0,alias:t.alias,default:t.default}),m=t.stopEarly?s:l;return{_:m,positionals:m,flags:p,doubleDashRest:r}}function m(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...Array.from(e.subarray(r,r+n)));return btoa(t)}async function h(e){let t=[];for(let[n,r]of e.entries()){if(typeof r==`string`){t.push({name:n,value:r});continue}let e=new Uint8Array(await r.arrayBuffer());t.push({name:n,file:{data:m(e),filename:typeof r.name==`string`?r.name:`blob`,type:r.type||``}})}return{kind:`formdata`,entries:t}}async function g(e,t){let n=()=>Object.keys(t).some(e=>e.toLowerCase()===`content-type`);return typeof e==`string`?{body:e}:e instanceof URLSearchParams?(n()||(t[`Content-Type`]=`application/x-www-form-urlencoded;charset=UTF-8`),{body:e.toString()}):e instanceof Blob?{descriptor:{kind:`blob`,data:m(new Uint8Array(await e.arrayBuffer())),type:e.type||``}}:e instanceof ArrayBuffer?{descriptor:{kind:`bytes`,data:m(new Uint8Array(e))}}:ArrayBuffer.isView(e)?{descriptor:{kind:`bytes`,data:m(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}:e instanceof FormData?{descriptor:await h(e)}:(n()||(t[`Content-Type`]=`application/json`),{body:JSON.stringify(e)})}function _(e){return e?`const __b64 = (s) => { const bin = atob(s); const n = bin.length; const u = new Uint8Array(n); for (let i = 0; i < n; i++) u[i] = bin.charCodeAt(i); return u; };const __body = `+JSON.stringify(e)+`;if (__body.kind === 'bytes') { __init.body = __b64(__body.data); }else if (__body.kind === 'blob') { __init.body = new Blob([__b64(__body.data)], { type: __body.type }); }else if (__body.kind === 'formdata') { const __fd = new FormData(); for (const e of __body.entries) { if (e.file) { __fd.append(e.name, new Blob([__b64(e.file.data)], { type: e.file.type }), e.file.filename); } else { __fd.append(e.name, e.value); } } __init.body = __fd; }`:``}function v(e){return`const h = {};r.headers.forEach((v, k) => { h[k] = v; });const ct = r.headers.get('content-type') || '';const __rt = `+JSON.stringify(e??null)+`;const __ctl = ct.toLowerCase();const __binPrefixes = ['image/','audio/','video/','application/octet-stream','application/pdf','application/protobuf','application/x-protobuf','application/wasm','application/zip'];const __isXml = __ctl.indexOf('+xml') !== -1 || __ctl.indexOf('application/xml') === 0 || __ctl.indexOf('text/xml') === 0;const __isBinary = __rt === 'binary' || (__rt !== 'text' && __rt !== 'json' && !__isXml && __binPrefixes.some((p) => __ctl.indexOf(p) === 0));const __meta = { ok: r.ok, status: r.status, statusText: r.statusText, url: r.url, redirected: !!r.redirected, headers: h };if (__isBinary) {const __u = new Uint8Array(await r.arrayBuffer());let __s = ''; const __cs = 0x8000;for (let __i = 0; __i < __u.length; __i += __cs) { __s += String.fromCharCode.apply(null, __u.subarray(__i, __i + __cs)); }return Object.assign(__meta, { body: btoa(__s), bodyEncoding: 'base64' });}const t = await r.text();let b;const __jsonWanted = __rt === 'json' || (__rt !== 'text' && ct.indexOf('application/json') !== -1);if (__jsonWanted) { if (!t) { b = null; } else { try { b = JSON.parse(t); } catch (e) { b = t; } } }else { b = t; }return Object.assign(__meta, { body: b });`}async function y(e,t={}){let n={},r=t.headers??{};for(let[e,t]of Object.entries(r))typeof t==`string`&&(n[e]=t);let i=typeof t.method==`string`?t.method:`GET`,a=t.credentials===`same-origin`||t.credentials===`omit`?t.credentials:`include`,o=t.body,{body:s,descriptor:c}=o==null?{}:await g(o,n),l={method:i,credentials:a,headers:n};s!==void 0&&(l.body=s),t.mode!==void 0&&(l.mode=t.mode),t.cache!==void 0&&(l.cache=t.cache),t.redirect!==void 0&&(l.redirect=t.redirect),t.referrer!==void 0&&(l.referrer=t.referrer),t.referrerPolicy!==void 0&&(l.referrerPolicy=t.referrerPolicy),t.integrity!==void 0&&(l.integrity=t.integrity),t.keepalive!==void 0&&(l.keepalive=t.keepalive);let u=_(c),d=v(t.responseType),f=typeof t.timeoutMs==`number`&&Number.isFinite(t.timeoutMs)&&t.timeoutMs>0?Math.round(t.timeoutMs):0,p=f>0?`__init.signal = AbortSignal.timeout(${f});`:``;return`(async () => {const __init = `+JSON.stringify(l)+`;`+p+u+`const r = await fetch(`+JSON.stringify(e)+`, __init);`+d+`})()`}const b=[`playwright-cli`,`playwright`,`puppeteer`],x=new WeakMap,S=e(`playwright`);function C(e,t){let n=x.get(e);n||(n=new WeakMap,x.set(e,n));let r=n.get(t);return r||(r={snapshots:new Map,appTabId:null,harRecorder:null,sessionDirsCreated:!1,teleportWatchers:new Map,consoleMessages:new Map,consoleCleanup:new Map,networkRequests:new Map,networkRequestIndex:new Map,networkCleanup:new Map,routes:new Map,routeCleanup:new Map,lastMousePosition:new Map},n.set(t,r)),r}function w(e){let t=e.match(/^(f[0-9]+)(e[0-9]+)$/);return t?{framePrefix:t[1],isIframe:!0}:{framePrefix:``,isIframe:!1}}const T=n,E=new Set([`click`,`dblclick`,`fill`,`type`,`press`,`goto`,`navigate`,`select`,`check`,`uncheck`,`drag`,`dialog-accept`,`dialog-dismiss`,`drop`]);function D(e){return e.toISOString().replace(/:/g,`-`)}function O(e){return e instanceof r||typeof e==`object`&&e&&`code`in e?e.code===`EEXIST`:e instanceof Error&&e.message.includes(`EEXIST`)}const k=`function(text) {
1
+ import{t as e}from"./logger-LESFN7Hj.js";import"./logger-DQgFbfwx.js";import{n as t}from"./panel-rpc-BPwAqRch.js";import{a as n}from"./proxied-fetch-Co-pb0x0.js";import"./src-CcFD5QfS.js";import{t as r}from"./types-idfTVsM8.js";import"./tray-runtime-config-CVoPQrT2.js";import"./fs-DUneCuZW.js";function i(e){return e==null?[]:Array.isArray(e)?e:[e]}function a(e,t,n,r){var i,a=e[t],o=~r.string.indexOf(t)?n==null||n===!0?``:String(n):typeof n==`boolean`?n:~r.boolean.indexOf(t)?n===`false`?!1:n===`true`||(e._.push((i=+n,i*0==0?i:n)),!!n):(i=+n,i*0==0?i:n);e[t]=a==null?o:Array.isArray(a)?a.concat(o):[a,o]}function o(e,t){e||=[],t||={};var n,r,o,s,c,l={_:[]},u=0,d=0,f=0,p=e.length;let m=t.alias!==void 0,h=t.unknown!==void 0,g=t.default!==void 0;if(t.alias=t.alias||{},t.string=i(t.string),t.boolean=i(t.boolean),m)for(n in t.alias)for(r=t.alias[n]=i(t.alias[n]),u=0;u<r.length;u++)(t.alias[r[u]]=r.concat(n)).splice(u,1);for(u=t.boolean.length;u-->0;)for(r=t.alias[t.boolean[u]]||[],d=r.length;d-->0;)t.boolean.push(r[d]);for(u=t.string.length;u-->0;)for(r=t.alias[t.string[u]]||[],d=r.length;d-->0;)t.string.push(r[d]);if(g){for(n in t.default)if(s=typeof t.default[n],r=t.alias[n]=t.alias[n]||[],t[s]!==void 0)for(t[s].push(n),u=0;u<r.length;u++)t[s].push(r[u])}let _=h?Object.keys(t.alias):[];for(u=0;u<p;u++){if(o=e[u],o===`--`){l._=l._.concat(e.slice(++u));break}for(d=0;d<o.length&&o.charCodeAt(d)===45;d++);if(d===0)l._.push(o);else if(o.substring(d,d+3)===`no-`){if(s=o.substring(d+3),h&&!~_.indexOf(s))return t.unknown(o);l[s]=!1}else{for(f=d+1;f<o.length&&o.charCodeAt(f)!==61;f++);for(s=o.substring(d,f),c=o.substring(++f)||u+1===p||(``+e[u+1]).charCodeAt(0)===45||e[++u],r=d===2?[s]:s,f=0;f<r.length;f++){if(s=r[f],h&&!~_.indexOf(s))return t.unknown(`-`.repeat(d)+s);a(l,s,f+1<r.length||c,t)}}}if(g)for(n in t.default)l[n]===void 0&&(l[n]=t.default[n]);if(m)for(n in l)for(r=t.alias[n]||[];r.length>0;)l[r.shift()]=l[n];return l}function s(e,t){let n=[],r=new Map,i=new Set;for(let a=0;a<e.length;a++){let o=e[a];o.startsWith(`-`)?t.has(o)?r.set(o,e[++a]??``):i.add(o):n.push(o)}return{positionals:n,flags:r,bools:i}}function c(e){let t=new Set(e.string??[]),n=e.alias??{};for(let[e,r]of Object.entries(n)){let n=[e,...Array.isArray(r)?r:[r]];if(n.some(e=>t.has(e)))for(let e of n)t.add(e)}return t}const l=/^(--?)([^=]+)(=.*)?$/;function u(e){let t=new Set(e.string??[]);for(let n of e.boolean??[])t.add(n),t.add(`no-${n}`);for(let[n,r]of Object.entries(e.alias??{})){t.add(n);for(let e of Array.isArray(r)?r:[r])t.add(e)}return t}function d(e,t,n){let r=0;for(;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)||i===`-`)break;let a=l.exec(i);if(!a||!n.has(a[2]))break;!a[3]&&t.has(a[2])&&r+1<e.length&&r++}return r}function f(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=l.exec(i);a&&!a[3]&&t.has(a[2])&&r+1<e.length?(n.push(`${i}=${e[r+1]}`),r++):n.push(i)}return n}function p(e,t={}){let n=e,r=[];if(t[`--`]){let t=e.indexOf(`--`);t!==-1&&(n=e.slice(0,t),r=e.slice(t+1))}let i=c(t),a=n,s=[];if(t.stopEarly){let e=d(n,i,u(t));a=n.slice(0,e),s=n.slice(e)}let{_:l,...p}=o(f(a,i),{string:t.string?[...t.string]:void 0,boolean:t.boolean?[...t.boolean]:void 0,alias:t.alias,default:t.default}),m=t.stopEarly?s:l;return{_:m,positionals:m,flags:p,doubleDashRest:r}}function m(e){let t=``,n=32768;for(let r=0;r<e.length;r+=n)t+=String.fromCharCode(...Array.from(e.subarray(r,r+n)));return btoa(t)}async function h(e){let t=[];for(let[n,r]of e.entries()){if(typeof r==`string`){t.push({name:n,value:r});continue}let e=new Uint8Array(await r.arrayBuffer());t.push({name:n,file:{data:m(e),filename:typeof r.name==`string`?r.name:`blob`,type:r.type||``}})}return{kind:`formdata`,entries:t}}async function g(e,t){let n=()=>Object.keys(t).some(e=>e.toLowerCase()===`content-type`);return typeof e==`string`?{body:e}:e instanceof URLSearchParams?(n()||(t[`Content-Type`]=`application/x-www-form-urlencoded;charset=UTF-8`),{body:e.toString()}):e instanceof Blob?{descriptor:{kind:`blob`,data:m(new Uint8Array(await e.arrayBuffer())),type:e.type||``}}:e instanceof ArrayBuffer?{descriptor:{kind:`bytes`,data:m(new Uint8Array(e))}}:ArrayBuffer.isView(e)?{descriptor:{kind:`bytes`,data:m(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}:e instanceof FormData?{descriptor:await h(e)}:(n()||(t[`Content-Type`]=`application/json`),{body:JSON.stringify(e)})}function _(e){return e?`const __b64 = (s) => { const bin = atob(s); const n = bin.length; const u = new Uint8Array(n); for (let i = 0; i < n; i++) u[i] = bin.charCodeAt(i); return u; };const __body = `+JSON.stringify(e)+`;if (__body.kind === 'bytes') { __init.body = __b64(__body.data); }else if (__body.kind === 'blob') { __init.body = new Blob([__b64(__body.data)], { type: __body.type }); }else if (__body.kind === 'formdata') { const __fd = new FormData(); for (const e of __body.entries) { if (e.file) { __fd.append(e.name, new Blob([__b64(e.file.data)], { type: e.file.type }), e.file.filename); } else { __fd.append(e.name, e.value); } } __init.body = __fd; }`:``}function v(e){return`const h = {};r.headers.forEach((v, k) => { h[k] = v; });const ct = r.headers.get('content-type') || '';const __rt = `+JSON.stringify(e??null)+`;const __ctl = ct.toLowerCase();const __binPrefixes = ['image/','audio/','video/','application/octet-stream','application/pdf','application/protobuf','application/x-protobuf','application/wasm','application/zip'];const __isXml = __ctl.indexOf('+xml') !== -1 || __ctl.indexOf('application/xml') === 0 || __ctl.indexOf('text/xml') === 0;const __isBinary = __rt === 'binary' || (__rt !== 'text' && __rt !== 'json' && !__isXml && __binPrefixes.some((p) => __ctl.indexOf(p) === 0));const __meta = { ok: r.ok, status: r.status, statusText: r.statusText, url: r.url, redirected: !!r.redirected, headers: h };if (__isBinary) {const __u = new Uint8Array(await r.arrayBuffer());let __s = ''; const __cs = 0x8000;for (let __i = 0; __i < __u.length; __i += __cs) { __s += String.fromCharCode.apply(null, __u.subarray(__i, __i + __cs)); }return Object.assign(__meta, { body: btoa(__s), bodyEncoding: 'base64' });}const t = await r.text();let b;const __jsonWanted = __rt === 'json' || (__rt !== 'text' && ct.indexOf('application/json') !== -1);if (__jsonWanted) { if (!t) { b = null; } else { try { b = JSON.parse(t); } catch (e) { b = t; } } }else { b = t; }return Object.assign(__meta, { body: b });`}async function y(e,t={}){let n={},r=t.headers??{};for(let[e,t]of Object.entries(r))typeof t==`string`&&(n[e]=t);let i=typeof t.method==`string`?t.method:`GET`,a=t.credentials===`same-origin`||t.credentials===`omit`?t.credentials:`include`,o=t.body,{body:s,descriptor:c}=o==null?{}:await g(o,n),l={method:i,credentials:a,headers:n};s!==void 0&&(l.body=s),t.mode!==void 0&&(l.mode=t.mode),t.cache!==void 0&&(l.cache=t.cache),t.redirect!==void 0&&(l.redirect=t.redirect),t.referrer!==void 0&&(l.referrer=t.referrer),t.referrerPolicy!==void 0&&(l.referrerPolicy=t.referrerPolicy),t.integrity!==void 0&&(l.integrity=t.integrity),t.keepalive!==void 0&&(l.keepalive=t.keepalive);let u=_(c),d=v(t.responseType),f=typeof t.timeoutMs==`number`&&Number.isFinite(t.timeoutMs)&&t.timeoutMs>0?Math.round(t.timeoutMs):0,p=f>0?`__init.signal = AbortSignal.timeout(${f});`:``;return`(async () => {const __init = `+JSON.stringify(l)+`;`+p+u+`const r = await fetch(`+JSON.stringify(e)+`, __init);`+d+`})()`}const b=[`playwright-cli`,`playwright`,`puppeteer`],x=new WeakMap,S=e(`playwright`);function C(e,t){let n=x.get(e);n||(n=new WeakMap,x.set(e,n));let r=n.get(t);return r||(r={snapshots:new Map,appTabId:null,harRecorder:null,sessionDirsCreated:!1,teleportWatchers:new Map,consoleMessages:new Map,consoleCleanup:new Map,networkRequests:new Map,networkRequestIndex:new Map,networkCleanup:new Map,routes:new Map,routeCleanup:new Map,lastMousePosition:new Map},n.set(t,r)),r}function w(e){let t=e.match(/^(f[0-9]+)(e[0-9]+)$/);return t?{framePrefix:t[1],isIframe:!0}:{framePrefix:``,isIframe:!1}}const T=n,E=new Set([`click`,`dblclick`,`fill`,`type`,`press`,`goto`,`navigate`,`select`,`check`,`uncheck`,`drag`,`dialog-accept`,`dialog-dismiss`,`drop`]);function D(e){return e.toISOString().replace(/:/g,`-`)}function O(e){return e instanceof r||typeof e==`object`&&e&&`code`in e?e.code===`EEXIST`:e instanceof Error&&e.message.includes(`EEXIST`)}const k=`function(text) {
2
2
  const el = this;
3
3
  const tag = el.tagName;
4
4
  const proto = tag === 'TEXTAREA' ? window.HTMLTextAreaElement.prototype : window.HTMLInputElement.prototype;
@@ -1 +1 @@
1
- import{t as e}from"./types-idfTVsM8.js";import{t}from"./global-db-DJXlpNui.js";const n=`/workspace/.plugins/plugins.json`;let r=null;async function i(e){if(e)return e;if(r&&r.dbName===`slicc-fs-global`)return r.instance;let{VirtualFS:n}=await import(`./fs-BNz_JyUR.js`).then(e=>e.t),i=await n.create({dbName:t});return r={instance:i,dbName:t},i}function a(){return{version:1,plugins:{}}}function o(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.root==`string`?t:null}function s(e){if(!e||typeof e!=`object`)return a();let t=e,n=typeof t.version==`number`?t.version:1,r={};if(t.plugins&&typeof t.plugins==`object`)for(let[e,n]of Object.entries(t.plugins)){let t=o(n);t&&(r[e]=t)}return{version:n,plugins:r}}async function c(t){try{let e=await(await i(t)).readFile(n,{encoding:`utf-8`});try{return s(JSON.parse(e))}catch{return a()}}catch(t){return t instanceof e&&t.code,a()}}async function l(e,t){let r=await i(t);await r.mkdir(`/workspace/.plugins`,{recursive:!0});let a=s({version:e.version||1,plugins:e.plugins??{}});await r.writeFile(n,JSON.stringify(a,null,2))}async function u(e,t){return(await c(t)).plugins[e]??null}async function d(e,t,n){let r=await c(n);r.plugins[e]=t,await l(r,n)}async function f(e,t){let n=await c(t);return e in n.plugins&&(delete n.plugins[e],await l(n,t),!0)}async function p(e){return(await c(e)).plugins}export{f as deleteInstalledPlugin,u as getInstalledPlugin,p as listInstalledPlugins,d as setInstalledPlugin};
1
+ import{t as e}from"./types-idfTVsM8.js";import{t}from"./global-db-DJXlpNui.js";const n=`/workspace/.plugins/plugins.json`;let r=null;async function i(e){if(e)return e;if(r&&r.dbName===`slicc-fs-global`)return r.instance;let{VirtualFS:n}=await import(`./fs-DUneCuZW.js`).then(e=>e.t),i=await n.create({dbName:t});return r={instance:i,dbName:t},i}function a(){return{version:1,plugins:{}}}function o(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.root==`string`?t:null}function s(e){if(!e||typeof e!=`object`)return a();let t=e,n=typeof t.version==`number`?t.version:1,r={};if(t.plugins&&typeof t.plugins==`object`)for(let[e,n]of Object.entries(t.plugins)){let t=o(n);t&&(r[e]=t)}return{version:n,plugins:r}}async function c(t){try{let e=await(await i(t)).readFile(n,{encoding:`utf-8`});try{return s(JSON.parse(e))}catch{return a()}}catch(t){return t instanceof e&&t.code,a()}}async function l(e,t){let r=await i(t);await r.mkdir(`/workspace/.plugins`,{recursive:!0});let a=s({version:e.version||1,plugins:e.plugins??{}});await r.writeFile(n,JSON.stringify(a,null,2))}async function u(e,t){return(await c(t)).plugins[e]??null}async function d(e,t,n){let r=await c(n);r.plugins[e]=t,await l(r,n)}async function f(e,t){let n=await c(t);return e in n.plugins&&(delete n.plugins[e],await l(n,t),!0)}async function p(e){return(await c(e)).plugins}export{f as deleteInstalledPlugin,u as getInstalledPlugin,p as listInstalledPlugins,d as setInstalledPlugin};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import{t as n}from"./types-idfTVsM8.js";import{t as r}from"./global-db-DJXlpNui.js";var i=e({MCP_STORE_PATH:()=>o,deleteServer:()=>v,getServer:()=>g,listServers:()=>y,readMcpAuthEntries:()=>x,readMcpAuthEntry:()=>b,readServersFile:()=>m,setServer:()=>_,writeServersFile:()=>h});const a=t(`mcp-store`),o=`/workspace/.mcp/servers.json`;let s=null,c=null;async function l(){return s||=await import(`./fs-BNz_JyUR.js`).then(e=>e.t),s}async function u(e){if(e)return e;if(c&&c.dbName===`slicc-fs-global`)return c.instance;let{VirtualFS:t}=await l(),n=await t.create({dbName:r});return c={instance:n,dbName:r},n}function d(){return{version:1,servers:{}}}function f(e){if(!e||typeof e!=`object`)return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function p(e){if(!e||typeof e!=`object`)return d();let t=e,n=typeof t.version==`number`?t.version:1,r={};if(t.servers&&typeof t.servers==`object`)for(let[e,n]of Object.entries(t.servers)){let t=f(n);t&&(r[e]=t)}return{version:n,servers:r}}async function m(e){try{let t=await(await u(e)).readFile(o,{encoding:`utf-8`});try{return p(JSON.parse(t))}catch(e){return a.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),d()}}catch(e){return e instanceof n&&e.code===`ENOENT`||a.warn(`Failed to read servers.json`,{error:e instanceof Error?e.message:String(e)}),d()}}async function h(e,t){let n=await u(t);await n.mkdir(`/workspace/.mcp`,{recursive:!0});let r=p({version:e.version||1,servers:e.servers??{}});await n.writeFile(o,JSON.stringify(r,null,2))}async function g(e,t){return(await m(t)).servers[e]??null}async function _(e,t,n){let r=await m(n),i=f({...r.servers[e],...t});if(!i)throw Error(`MCP server entry requires a URL`);return r.servers[e]=i,await h(r,n),i}async function v(e,t){let n=await m(t);return e in n.servers&&(delete n.servers[e],await h(n,t),!0)}async function y(e){return(await m(e)).servers}async function b(e){let t=await g(e);return!t?.url||!t.auth?.clientId?null:{name:e,serverUrl:t.url,auth:t.auth}}async function x(){let e=await y(),t=[];for(let[n,r]of Object.entries(e))!r?.url||!r.auth?.clientId||t.push({name:n,serverUrl:r.url,auth:r.auth});return t}export{b as n,i as r,x as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import{t as n}from"./types-idfTVsM8.js";import{t as r}from"./global-db-DJXlpNui.js";var i=e({MCP_STORE_PATH:()=>o,deleteServer:()=>v,getServer:()=>g,listServers:()=>y,readMcpAuthEntries:()=>x,readMcpAuthEntry:()=>b,readServersFile:()=>m,setServer:()=>_,writeServersFile:()=>h});const a=t(`mcp-store`),o=`/workspace/.mcp/servers.json`;let s=null,c=null;async function l(){return s||=await import(`./fs-DUneCuZW.js`).then(e=>e.t),s}async function u(e){if(e)return e;if(c&&c.dbName===`slicc-fs-global`)return c.instance;let{VirtualFS:t}=await l(),n=await t.create({dbName:r});return c={instance:n,dbName:r},n}function d(){return{version:1,servers:{}}}function f(e){if(!e||typeof e!=`object`)return null;let t={...e};return typeof t.url==`string`?(delete t.sessionId,t):null}function p(e){if(!e||typeof e!=`object`)return d();let t=e,n=typeof t.version==`number`?t.version:1,r={};if(t.servers&&typeof t.servers==`object`)for(let[e,n]of Object.entries(t.servers)){let t=f(n);t&&(r[e]=t)}return{version:n,servers:r}}async function m(e){try{let t=await(await u(e)).readFile(o,{encoding:`utf-8`});try{return p(JSON.parse(t))}catch(e){return a.warn(`servers.json is not valid JSON; treating as empty`,{error:e instanceof Error?e.message:String(e)}),d()}}catch(e){return e instanceof n&&e.code===`ENOENT`||a.warn(`Failed to read servers.json`,{error:e instanceof Error?e.message:String(e)}),d()}}async function h(e,t){let n=await u(t);await n.mkdir(`/workspace/.mcp`,{recursive:!0});let r=p({version:e.version||1,servers:e.servers??{}});await n.writeFile(o,JSON.stringify(r,null,2))}async function g(e,t){return(await m(t)).servers[e]??null}async function _(e,t,n){let r=await m(n),i=f({...r.servers[e],...t});if(!i)throw Error(`MCP server entry requires a URL`);return r.servers[e]=i,await h(r,n),i}async function v(e,t){let n=await m(t);return e in n.servers&&(delete n.servers[e],await h(n,t),!0)}async function y(e){return(await m(e)).servers}async function b(e){let t=await g(e);return!t?.url||!t.auth?.clientId?null:{name:e,serverUrl:t.url,auth:t.auth}}async function x(){let e=await y(),t=[];for(let[n,r]of Object.entries(e))!r?.url||!r.auth?.clientId||t.push({name:n,serverUrl:r.url,auth:r.auth});return t}export{b as n,i as r,x as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-B3MSVImO.js","assets/rolldown-runtime-Dd_uD5pT.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import"./proxied-fetch-BGeNrvQ4.js";import{n}from"./runtime-env-Dlaokqg1.js";import{i as r,n as i,t as a}from"./api-endpoint-GRCyib6X.js";import"./runtime-env-CgsZ7LTp.js";import{t as o}from"./quick-llm-DSQHsD_0.js";import{i as s,t as c}from"./page-approval-service-BsXoPdFJ.js";var l=t(`sudo:timeout`);function u(e=`user-timeout`){return{decision:`deny`,reason:e}}function d(e,t={}){let n=t.timeoutMs??3e5;if(!Number.isFinite(n)||n<=0)return e;let r=t.setTimer??((e,t)=>setTimeout(e,t)),i=t.clearTimer??(e=>clearTimeout(e));return{requestApproval(t,a){return new Promise(o=>{let s=new AbortController,c=()=>s.abort();a?.signal?.addEventListener(`abort`,c,{once:!0});let d=!1,f=e=>{d=!0,a?.signal?.removeEventListener(`abort`,c),o(e)},p=r(()=>{d||(l.warn(`sudo approval timed out — failing closed`,{kind:t.kind,detail:t.detail,timeoutMs:n}),s.abort(),f(u(`user-timeout`)))},n),m=e=>{if(d){l.warn(`sudo decision arrived after timeout — discarded`,{kind:t.kind,detail:t.detail,decision:e.decision});return}i(p),f(e)};e.requestApproval(t,{signal:s.signal}).then(m,e=>{l.warn(`sudo broker threw — denying`,{error:e instanceof Error?e.message:String(e)}),m({decision:`deny`})})})}}}var f=t(`sudo-suggest`),p=[`You generalize a single shell command into a minimal glob pattern for an`,`allow-list rule. Output ONLY the pattern on one line — no prose, no quotes,`,`no backticks. Keep the leading command/sub-command verbatim and replace only`,`the volatile tail (args, paths, refs) with a single trailing "*".`,`Examples:`,` git push origin main -> git push*`,` rm -rf build/cache -> rm -rf*`,` npm install left-pad -> npm install*`].join(`
2
+ import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import"./proxied-fetch-BGeNrvQ4.js";import{n}from"./runtime-env-Dlaokqg1.js";import{i as r,n as i,t as a}from"./api-endpoint-GRCyib6X.js";import"./runtime-env-CgsZ7LTp.js";import{t as o}from"./quick-llm-CPywyeCK.js";import{i as s,t as c}from"./page-approval-service-BsXoPdFJ.js";var l=t(`sudo:timeout`);function u(e=`user-timeout`){return{decision:`deny`,reason:e}}function d(e,t={}){let n=t.timeoutMs??3e5;if(!Number.isFinite(n)||n<=0)return e;let r=t.setTimer??((e,t)=>setTimeout(e,t)),i=t.clearTimer??(e=>clearTimeout(e));return{requestApproval(t,a){return new Promise(o=>{let s=new AbortController,c=()=>s.abort();a?.signal?.addEventListener(`abort`,c,{once:!0});let d=!1,f=e=>{d=!0,a?.signal?.removeEventListener(`abort`,c),o(e)},p=r(()=>{d||(l.warn(`sudo approval timed out — failing closed`,{kind:t.kind,detail:t.detail,timeoutMs:n}),s.abort(),f(u(`user-timeout`)))},n),m=e=>{if(d){l.warn(`sudo decision arrived after timeout — discarded`,{kind:t.kind,detail:t.detail,decision:e.decision});return}i(p),f(e)};e.requestApproval(t,{signal:s.signal}).then(m,e=>{l.warn(`sudo broker threw — denying`,{error:e instanceof Error?e.message:String(e)}),m({decision:`deny`})})})}}}var f=t(`sudo-suggest`),p=[`You generalize a single shell command into a minimal glob pattern for an`,`allow-list rule. Output ONLY the pattern on one line — no prose, no quotes,`,`no backticks. Keep the leading command/sub-command verbatim and replace only`,`the volatile tail (args, paths, refs) with a single trailing "*".`,`Examples:`,` git push origin main -> git push*`,` rm -rf build/cache -> rm -rf*`,` npm install left-pad -> npm install*`].join(`
3
3
  `),m=[`You generalize a single filesystem path into a minimal glob pattern for an`,`allow-list rule. Output ONLY the pattern on one line — no prose, no quotes,`,`no backticks. Keep the meaningful directory prefix and replace the volatile`,`leaf (and below) with "**". Examples:`,` /workspace/.git/config -> /workspace/.git/**`,` /shared/secrets/openai.key -> /shared/secrets/**`,` /workspace/src/app/main.ts -> /workspace/src/**`].join(`
4
4
  `);async function h(e,t){if(e.suggestedPattern&&e.suggestedPattern.trim().length>0)return e.suggestedPattern.trim();let n=e.detail.trim(),r=e.kind===`command`?p:m,i=null;try{i=await o({prompt:n,system:r,maxTokens:40,temperature:0,signal:t})}catch(e){f.debug(`suggestPattern: quickLabel threw`,{error:e instanceof Error?e.message:String(e)}),i=null}return g(i)||n}function g(e){if(!e)return null;let t=(e.split(`
5
5
  `,1)[0]?.trim()??``).replace(/^`+/,``).replace(/`+$/,``).replace(/^["']/,``).replace(/["']$/,``).trim();return t.length===0?null:t}var _=t(`sudo-ext`);function v(e={}){let t=e.suggest??h;return{async requestApproval(e,n){let r=n?.signal,i;try{i=await t(e,r)}catch{i=e.detail}return r?.aborted?(_.warn(`sudo approval aborted before prompting — denying`,{detail:e.detail}),{decision:`deny`}):y({...e,suggestedPattern:i})}}}function y(e){return new Promise(t=>{let n=globalThis.chrome?.runtime;if(!n||typeof n.sendMessage!=`function`){_.warn(`chrome.runtime.sendMessage unavailable — denying`),t({decision:`deny`});return}let r=r=>{let i=n.lastError;if(i){_.warn(`sudo relay lastError — denying`,{error:i.message}),t({decision:`deny`});return}if(!r||typeof r!=`object`){_.warn(`sudo relay empty response — denying`),t({decision:`deny`});return}let a=r;if(!a.ok||!a.decision){_.warn(`sudo relay error response — denying`,{error:a.error}),t({decision:`deny`});return}t(b(a.decision,e.suggestedPattern??e.detail))};try{n.sendMessage({source:`offscreen`,payload:{type:s,request:e}},r)}catch(e){_.warn(`sudo relay threw — denying`,{error:e instanceof Error?e.message:String(e)}),t({decision:`deny`})}})}function b(e,t){return e.decision===`allow`?{decision:`allow`}:e.decision===`always`?{decision:`always`,pattern:typeof e.pattern==`string`&&e.pattern.trim().length>0?e.pattern.trim():t}:{decision:`deny`}}var x=t(`sudo-http`);function S(e={}){let t=e.fetchImpl??globalThis.fetch.bind(globalThis),n=e.path??`/api/sudo-approve`,i=e.suggest??h;return{async requestApproval(e,o){let s=o?.signal,c;if(e.suggestedPattern)c=e.suggestedPattern;else try{c=await i(e,s)}catch{c=e.detail}if(s?.aborted)return x.warn(`sudo approval aborted before prompting — denying`,{detail:e.detail}),{decision:`deny`};try{let i=await t(r(n),{method:`POST`,headers:a({"Content-Type":`application/json`}),body:JSON.stringify({kind:e.kind,detail:e.detail,suggestedPattern:c}),signal:s});return i.ok?C(await i.json(),c):(x.warn(`sudo endpoint returned non-OK status — denying`,{status:i.status}),{decision:`deny`})}catch(e){return x.warn(`sudo endpoint request failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function C(e,t){if(!e||typeof e!=`object`)return{decision:`deny`};let n=e.decision;if(n===`allow`)return{decision:`allow`};if(n===`always`){let n=e.pattern;return{decision:`always`,pattern:typeof n==`string`&&n.trim().length>0?n.trim():t}}return{decision:`deny`}}var w=t(`sudo-panel-rpc`),T=6e5;function E(t={}){let n=t.suggest??h,r=t.timeoutMs??T,i=t.getClient??(async()=>{let{getPanelRpcClient:t}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-B3MSVImO.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1]));return t()});return{async requestApproval(e,t){let a=t?.signal,o;try{o=await n(e,a)}catch{o=e.detail}let s={...e,suggestedPattern:o},c;try{c=await i()}catch(e){return w.warn(`panel-RPC client lookup threw — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}if(!c)return w.warn(`panel-RPC client unavailable in worker realm — denying`),{decision:`deny`};if(a?.aborted)return w.warn(`sudo approval aborted before prompting — denying`,{detail:e.detail}),{decision:`deny`};try{let{decision:e}=await c.call(`sudo-request`,{request:s},{timeoutMs:r});return D(e,o)}catch(e){return w.warn(`sudo panel-RPC relay failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function D(e,t){if(!e||typeof e!=`object`)return{decision:`deny`};let n=e.decision;if(n===`allow`)return{decision:`allow`};if(n===`always`){let n=e.pattern;return{decision:`always`,pattern:typeof n==`string`&&n.trim().length>0?n.trim():t}}return{decision:`deny`}}var O=t(`sudo:tray-first`),k=6e5;function A(t,n={}){let r=n.suggest??h,i=n.timeoutMs??k,a=n.getClient??(async()=>{let{getPanelRpcClient:t}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-B3MSVImO.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1]));return t()});return{async requestApproval(e,n){if(n?.signal?.aborted)return{decision:`deny`};let o=e.suggestedPattern;if(!o)try{o=await r(e,n?.signal)}catch{o=e.detail}let s={...e,suggestedPattern:o},c=null;try{c=await a()}catch(e){O.debug?.(`panel-RPC client lookup threw — using native broker`,{error:e instanceof Error?e.message:String(e)})}if(c)try{let e=await c.call(`sudo-request`,{request:s,mode:`tray-first`},{timeoutMs:i});if(e?.handled!==!1)return j(e?.decision,o)}catch(e){O.warn(`tray-first sudo probe failed — using native broker`,{error:e instanceof Error?e.message:String(e)})}return t.requestApproval(s,n)}}}function j(e,t){if(!e||typeof e!=`object`)return{decision:`deny`};let n=e,r=n.attestation===`biometric`||n.attestation===`passcode`||n.attestation===`none`?n.attestation:void 0;return n.decision===`allow`?{decision:`allow`,...r?{attestation:r}:{}}:n.decision===`always`?{decision:`always`,pattern:typeof n.pattern==`string`&&n.pattern.trim().length>0?n.pattern.trim():t,...r?{attestation:r}:{}}:{decision:`deny`}}var M=t(`sudo`),N=`__slicc_sudo`;function P(){return n()}function F(){return typeof chrome>`u`&&i()!==null}function I(){return d(L())}function L(){return P()?v():F()?E():A(S())}function R(e=I()){let t={requestApproval:t=>e.requestApproval(t)};return globalThis[N]=t,M.info(`sudo broker test hook published on globalThis.__slicc_sudo`),t}export{c as installPanelSudoResponder,R as installSudoTestHook};
@@ -0,0 +1 @@
1
+ import{l as e}from"./src-CAWTvdAa.js";import{C as t,E as n,S as r,T as i,b as a,w as o,x as s}from"./wc-live-BfpVK1Kd.js";import{n as c}from"./clipboard-eqmn97SP.js";import{n as l}from"./icons-ZLR7gmJ4.js";function u(e){let t=[{id:`browser`,label:`Browser`},{id:`iphone`,label:`iPhone`},{id:`terminal`,label:`Terminal`}];return e>0&&t.unshift({id:`status`,label:`Status`,badge:e}),t}function d(e){return e>0?`status`:`browser`}function f(e){let t;try{t=new URL(e)}catch{return e}let n=t.pathname.split(`/`),r=n.lastIndexOf(`join`)+1;return r===0||r>=n.length||!n[r]?e:(n[r]=`•`.repeat(8),`${t.origin}${n.join(`/`)}${t.search}${t.hash}`)}function p(e){return`slicc ${e} follow bash -c`}var m=e;function h(e){try{return new URL(e).origin}catch{return m}}function g(e){return`curl -fsSL ${h(e)}/install-cli | sh`}function _(e){return`irm ${h(e)}/install-cli.ps1 | iex`}function v(e){switch(e){case`browser`:return[`Open Sliccy in the other browser, click the avatar, and choose “Connect to another browser”.`,`Paste the join link there.`];case`iphone`:return[`In the Sliccy app, paste the join link into Settings → Join link.`,`Signed in to the same iCloud account? The session is already listed under iCloud Sessions — no link needed.`];case`terminal`:return[`Lend a machine to this session — run these in its terminal:`,`The agent can then run commands on that machine as you.`]}}function y(e){return e===0?`Nothing connected yet.`:`${e} ${e===1?`device is`:`devices are`} connected.`}function b(e){return e===0?`Revoke link? The old link stops working.`:`Revoke link? ${e} connected ${e===1?`device`:`devices`} will be disconnected.`}var x=`font-family: var(--s2-font-mono); font-size: 11px; color: var(--s2-content-default); word-break: break-all; padding: 8px 12px; background: var(--s2-bg-sunken); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle);`,S=`font-size: 11px; color: var(--s2-content-secondary);`,C=`font-size: 12px; color: var(--s2-content-default);`,w=`flex: 0 0 auto; width: auto; padding: 8px 14px;`;function T(e,t,n){let r=document.createElement(e);return t&&(r.style.cssText=t),n!=null&&(r.textContent=n),r}function E(e,t,n=`normal`){e.statusEl.textContent=t,e.statusEl.style.color=n===`error`?`var(--slicc-cone)`:`var(--s2-content-secondary)`}async function D(e,t,n){await c(t)?E(e,n):E(e,`Couldn’t copy. Select the text and copy it manually.`,`error`)}async function O(e){let{onReset:t}=e.options,n=e.revokeBtn;if(!(!t||!n)){if(!e.revokeArmed){e.revokeArmed=!0,n.textContent=b(e.followers.length),k(n,!0);return}n.disabled=!0,e.doneBtn.disabled=!0,E(e,`Revoking the join link…`);try{await t(),E(e,`Join link revoked. Enable sharing from the avatar menu to get a new one.`),e.urlRevealed=!1,n.textContent=`Revoked`,e.doneBtn.disabled=!1,L(e)}catch(t){E(e,`Revoke failed: ${t instanceof Error?t.message:String(t)}`,`error`),e.revokeArmed=!1,n.textContent=`Revoke link`,k(n,!1),n.disabled=!1,e.doneBtn.disabled=!1}}}function k(e,t){e.dataset.armed=t?`1`:`0`,e.style.background=t?`var(--s2-negative)`:``,e.style.borderColor=t?`transparent`:``,e.style.color=t?`#fff`:``}function A(e){let t=T(`div`),n=T(`button`,`margin-bottom: 8px;`,`Copy join link`);n.className=`dialog__btn dialog__btn--secondary`,n.dataset.action=`copy-link`,n.addEventListener(`click`,()=>{D(e,e.options.joinUrl,`Join link copied.`)}),t.appendChild(n);let r=T(`div`,`display: flex; align-items: center; gap: 8px;`),i=T(`div`,`${x} flex: 1 1 auto; min-width: 0; color: var(--s2-content-secondary);`);i.dataset.joinUrl=`1`,i.textContent=e.urlRevealed?e.options.joinUrl:f(e.options.joinUrl);let a=T(`button`,`${w}`,e.urlRevealed?`Hide`:`Show`);return a.className=`dialog__btn dialog__btn--secondary`,a.dataset.action=`toggle-url`,a.addEventListener(`click`,()=>{e.urlRevealed=!e.urlRevealed,L(e)}),r.append(i,a),t.appendChild(r),t.appendChild(T(`div`,`${S} margin-top: 8px;`,`Anyone with this link can drive this session.`)),t}function j(e,t){let n=T(`div`,`margin-bottom: 10px;`);n.appendChild(T(`div`,`${S} margin-bottom: 4px;`,t.caption));let r=T(`div`,`${x} margin-bottom: 6px;`,t.command);r.dataset.command=t.action,n.appendChild(r);let i=T(`button`,`margin-bottom: 0;`,t.copyLabel);return i.className=`dialog__btn dialog__btn--secondary`,i.dataset.action=t.action,i.addEventListener(`click`,()=>{D(e,t.copyValue??t.command,t.okMessage)}),n.appendChild(i),n}function M(e,t){let n=T(`div`),{joinUrl:r}=e.options,i=p(r),a=e.urlRevealed?i:p(f(r));n.appendChild(j(e,{caption:`1. Install the slicc CLI (skip if you already have it):`,command:g(r),action:`copy-install`,copyLabel:`Copy install command`,okMessage:`Install command copied.`})),n.appendChild(T(`div`,`${S} margin: -6px 0 12px;`,`Windows: ${_(r)}`)),n.appendChild(j(e,{caption:`2. Connect that machine to this session:`,command:a,copyValue:i,action:`copy-command`,copyLabel:`Copy command`,okMessage:`Command copied.`}));let o=T(`button`,`${w} margin-bottom: 8px;`,e.urlRevealed?`Hide link`:`Show link`);return o.className=`dialog__btn dialog__btn--secondary`,o.dataset.action=`toggle-url`,o.addEventListener(`click`,()=>{e.urlRevealed=!e.urlRevealed,L(e)}),n.appendChild(o),n.appendChild(T(`div`,`${S} margin-bottom: 0;`,`\u26a0 ${t}`)),n}function N(e,t){let n=T(`div`),[r,i]=v(t);return n.appendChild(T(`div`,`${C} line-height: 1.5; margin-bottom: 6px;`,r)),t===`terminal`?(n.appendChild(M(e,i)),n):(n.appendChild(T(`div`,`${S} margin-bottom: 10px;`,i)),n.appendChild(A(e)),n)}function P(e){let a=T(`div`,`display: grid; grid-template-columns: 16px 1fr auto; gap: 8px; align-items: start;`);a.dataset.follower=e.runtimeId;let c=T(`span`,`display: flex; margin-top: 2px; color: var(--s2-content-secondary);`);c.appendChild(l(t(e),{size:14})),a.appendChild(c);let u=T(`div`,`display: flex; flex-direction: column; gap: 2px; min-width: 0;`);u.appendChild(T(`div`,`${C} font-weight: 500;`,n(e)));let d=r(e);d&&u.appendChild(T(`div`,`${S} overflow-wrap: anywhere;`,d));let f=s(e);if(f.length>0){let e=T(`div`,`display: flex; gap: 4px; flex-wrap: wrap; margin-top: 2px;`);for(let t of f)e.appendChild(T(`span`,`padding: 1px 6px; border-radius: 9999px; background: var(--s2-bg-layer-1); border: 1px solid var(--s2-border-subtle); font-size: 10px; font-weight: 600; color: var(--s2-content-secondary);`,t));u.appendChild(e)}a.appendChild(u);let p=i(e),m=p===`active`?`var(--s2-positive)`:p===`warn`?`var(--s2-notice)`:`var(--s2-content-tertiary)`,h=T(`div`,`display: flex; align-items: center; gap: 5px; ${S} white-space: nowrap;`);return h.appendChild(T(`span`,`width: 6px; height: 6px; border-radius: 50%; flex: 0 0 auto; background: ${m};`)),h.appendChild(T(`span`,void 0,o(e))),a.appendChild(h),a}function F(e){let t=T(`div`,`display: flex; flex-direction: column; gap: 10px;`);for(let n of e.followers)t.appendChild(P(n));return e.followers.length===0&&t.appendChild(T(`div`,`font-size: 12px; color: var(--s2-content-secondary);`,`Nothing connected right now.`)),t}function I(e,t,n){let r=t===e.activeTab,i=T(`button`,`flex: 0 0 auto; padding: 4px 10px; border-radius: 9999px; font-size: 12px; cursor: pointer; border: 1px solid ${r?`var(--s2-border-subtle)`:`transparent`}; background: ${r?`var(--s2-bg-layer-1)`:`transparent`}; color: ${r?`var(--s2-content-default)`:`var(--s2-content-secondary)`};`,n);return i.type=`button`,i.setAttribute(`role`,`tab`),i.setAttribute(`aria-selected`,String(r)),i.dataset.tab=t,i.addEventListener(`click`,()=>{e.activeTab=t,L(e)}),i}function L(e){let t=u(e.followers.length);t.some(t=>t.id===e.activeTab)||(e.activeTab=d(0)),e.tabsRow.replaceChildren(...t.map(t=>I(e,t.id,t.badge==null?t.label:`${t.label} · ${t.badge}`))),e.body.replaceChildren(e.activeTab===`status`?F(e):N(e,e.activeTab)),e.summaryEl.textContent=y(e.followers.length),e.revokeBtn&&!e.revokeArmed&&e.revokeBtn.textContent!==`Revoked`&&(e.revokeBtn.textContent=`Revoke link`,k(e.revokeBtn,!1))}function R(e){let t=T(`div`);t.className=`dialog-overlay`,t.dataset.syncDialog=`1`;let n=T(`div`);n.className=`dialog`,n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-modal`,`true`),n.setAttribute(`aria-label`,`Session sharing`),t.appendChild(n);let r=T(`div`,void 0,`Session sharing`);r.className=`dialog__title`;let i=T(`div`,`display: flex; gap: 4px; margin-bottom: 12px; flex-wrap: wrap;`);i.setAttribute(`role`,`tablist`);let a=T(`div`,`margin-bottom: 12px;`);a.setAttribute(`role`,`tabpanel`);let o=T(`div`,`font-size: 12px; margin-bottom: 8px; min-height: 16px;`);o.setAttribute(`role`,`status`),o.setAttribute(`aria-live`,`polite`);let s=T(`div`,`${S} margin-bottom: 8px;`),c=T(`button`,void 0,`Done`);c.className=`dialog__btn`,n.append(r,i,a,o,s,c);let l=e.followers??[];return{options:e,followers:l,activeTab:e.initialTab??d(l.length),urlRevealed:!1,revokeArmed:!1,overlay:t,tabsRow:i,body:a,statusEl:o,summaryEl:s,doneBtn:c,revokeBtn:null}}var z=null;function B(e){z?.(),document.querySelectorAll(`.dialog-overlay[data-sync-dialog]`).forEach(e=>{e.remove()});let t=R(e),n=t.overlay.firstElementChild;if(e.onReset){let e=T(`button`,`margin-top: 8px;`,`Revoke link`);e.className=`dialog__btn dialog__btn--secondary`,e.dataset.action=`revoke`,e.addEventListener(`click`,()=>{O(t)}),n.appendChild(e),t.revokeBtn=e}let r=e=>{t.followers=e.detail?.followers??[],L(t)},i=e=>{e.key===`Escape`&&o()};function o(){window.removeEventListener(a,r),document.removeEventListener(`keydown`,i),t.overlay.remove(),z===o&&(z=null)}t.doneBtn.addEventListener(`click`,()=>o()),t.overlay.addEventListener(`click`,e=>{e.target===t.overlay&&o()}),window.addEventListener(a,r),document.addEventListener(`keydown`,i),z=o,e.copied&&E(t,`Join link copied to clipboard.`),L(t),document.body.appendChild(t.overlay)}export{B as showSyncEnabledDialog};
@@ -1 +1 @@
1
- import{t as e}from"./claude-model-version-Csn7RPVg.js";function t(t,n){return!e(t,n)}function n(e,n,r){if(r.temperature===void 0||t(e,n))return r;let{temperature:i,...a}=r;return a}export{n,t};
1
+ import{t as e}from"./claude-model-version-BXR93nLt.js";function t(t,n){return!e(t,n)}function n(e,n,r){if(r.temperature===void 0||t(e,n))return r;let{temperature:i,...a}=r;return a}export{n,t};
@@ -1 +1 @@
1
- import{t as e}from"./claude-model-version-DoVrYsKi.js";function t(t,n){return!e(t,n)}function n(e,n,r){if(r.temperature===void 0||t(e,n))return r;let{temperature:i,...a}=r;return a}export{n,t};
1
+ import{t as e}from"./claude-model-version-D6lCh6G7.js";function t(t,n){return!e(t,n)}function n(e,n,r){if(r.temperature===void 0||t(e,n))return r;let{temperature:i,...a}=r;return a}export{n,t};
@@ -1 +1 @@
1
- import"./proxied-fetch-BGeNrvQ4.js";import{n as e}from"./runtime-env-Dlaokqg1.js";import{i as t,t as n}from"./api-endpoint-GRCyib6X.js";import"./runtime-env-CgsZ7LTp.js";import{n as r,t as i}from"./shared-6HJLEwgI.js";var a=1e3;function o(e=()=>Date.now()){let t=new Map,n=null,r=0,i=()=>{let e=0,n=0;for(let r of t.values())e+=r.loaded,n+=r.total;return{loaded:e,total:n}};return{update(a,o,s){t.set(a,{loaded:Math.max(0,o),total:Math.max(t.get(a)?.total??0,s,o)}),n===null&&(n=e(),r=i().loaded)},complete(e){let n=t.get(e);n&&(n.loaded=n.total)},snapshot(){let{loaded:t,total:o}=i(),s=null;if(n!==null&&o>0&&t<o){let i=e()-n,c=t-r;if(i>=a&&c>0){let e=c/i;s=(o-t)/e/1e3}}return o>0&&t>=o&&(s=0),{loaded:t,total:o,etaSeconds:s}}}}var s=`onnx-community/whisper-tiny`,c=`onnx-community/Kokoro-82M-v1.0-ONNX`,l=Symbol.for(`slicc.transformers-env.fetch-wrapped`),u=e,d=`/workspace/node_modules/onnxruntime-web/dist/`,f=`/workspace/models/`;function p(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function m(e){let t=p(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function h(){return globalThis.location?.origin??null}function g(e){let t=h();if(!t)return!1;try{return new URL(p(e)).origin===t}catch{return!1}}async function _(e,r){let i=p(e),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=n({...a,"X-Target-URL":i}),s=(r?.method??`GET`).toUpperCase(),c={method:s,headers:o,cache:`no-store`};return r?.body&&s!==`GET`&&s!==`HEAD`&&(c.body=r.body),fetch(t(`/api/fetch-proxy`),c)}var v=3e4,y=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.asyncify.wasm`],b=Symbol.for(`slicc.transformers-env.vfs-enoent`);function x(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable in this realm`));let t=new BroadcastChannel(`preview-vfs`),n=`tfx-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,c),t.close(),e()},o,s=()=>{clearTimeout(o),o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[b]=!0,a(()=>i(t))},v)};s();let c=t=>{let c=t.data;if(!c||c.id!==n)return;if(c.type===`preview-vfs-start`){s();return}if(c.type!==`preview-vfs-response`)return;if(clearTimeout(o),typeof c.error==`string`){let e=Error(c.error);c.error.includes(`ENOENT`)&&(e[b]=!0),a(()=>i(e));return}let l=c.content;if(l instanceof Uint8Array){a(()=>r(l));return}if(typeof l==`string`){a(()=>r(new TextEncoder().encode(l)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,c),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function S(e){return!!e?.[b]}function C(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function w(e,t){return!t||!e.startsWith(t)?null:`${f}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function T(e,t){let n;try{n=await x(e)}catch(t){if(S(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let r=i(e);return(t?.headers?new Headers(t.headers).get(`range`):null)===`bytes=0-0`?new Response(null,{status:206,headers:{"Content-Type":r,"Content-Length":String(n.byteLength),"Content-Range":`bytes 0-0/${n.byteLength}`}}):new Response(C(n),{status:200,headers:{"Content-Type":r,"Content-Length":String(n.byteLength)}})}var E=null;async function D(){if(typeof URL>`u`||typeof URL.createObjectURL!=`function`)throw Error(`onnxruntime-web blob URLs require URL.createObjectURL (browser realm only)`);let e={};if(await Promise.all(y.map(async t=>{try{let n=await x(`${d}${t}`),r=new Blob([C(n)],{type:i(t)});e[t]=URL.createObjectURL(r)}catch(e){if(!S(e))throw e}})),Object.keys(e).length===0)throw Error("onnxruntime-web is not installed — run `ipk add onnxruntime-web` to stage the wasm runtime in /workspace/node_modules/.");return e}function O(){return E||=D(),E}var k=`slicc_ort_num_threads`;function A(e){if(!e.isolated)return 1;let t=e.hardwareConcurrency,n=typeof t==`number`&&Number.isFinite(t)&&t>=1,r=n?Math.min(4,Math.floor(t)):4,i=e.override==null?NaN:Number.parseInt(e.override,10);return Number.isFinite(i)&&i>=1?Math.max(1,Math.min(r,i)):n?Math.max(1,r):1}function j(){let e=null;try{e=globalThis.localStorage?.getItem(`slicc_ort_num_threads`)??null}catch{}let t={isolated:globalThis.crossOriginIsolated===!0,hardwareConcurrency:globalThis.navigator?.hardwareConcurrency,override:e},n=A(t);return e!=null&&t.isolated&&console.warn(`[speech] ort-web numThreads=${n} forced by localStorage.${k}=${JSON.stringify(e)} — this persists until removed`),n}function M(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=r(d),t.numThreads=j()),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=r(f),u())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&O().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[l])return;let i=n,a=e.localModelPath,o=async(e,t)=>{let n=w(p(e),a);return n===null?!m(e)||g(e)?i?i(e,t):fetch(e,t):_(e,t):T(n,t)};o[l]=!0,e.fetch=o}async function N(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await x(`${f}${e}/config.json`)}catch(e){if(S(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{s as a,c as i,M as n,o,O as r,N as t};
1
+ import"./proxied-fetch-BGeNrvQ4.js";import{n as e}from"./runtime-env-Dlaokqg1.js";import{i as t,t as n}from"./api-endpoint-GRCyib6X.js";import"./runtime-env-CgsZ7LTp.js";import{n as r,t as i}from"./shared-B9N4MZd0.js";var a=1e3;function o(e=()=>Date.now()){let t=new Map,n=null,r=0,i=()=>{let e=0,n=0;for(let r of t.values())e+=r.loaded,n+=r.total;return{loaded:e,total:n}};return{update(a,o,s){t.set(a,{loaded:Math.max(0,o),total:Math.max(t.get(a)?.total??0,s,o)}),n===null&&(n=e(),r=i().loaded)},complete(e){let n=t.get(e);n&&(n.loaded=n.total)},snapshot(){let{loaded:t,total:o}=i(),s=null;if(n!==null&&o>0&&t<o){let i=e()-n,c=t-r;if(i>=a&&c>0){let e=c/i;s=(o-t)/e/1e3}}return o>0&&t>=o&&(s=0),{loaded:t,total:o,etaSeconds:s}}}}var s=`onnx-community/whisper-tiny`,c=`onnx-community/Kokoro-82M-v1.0-ONNX`,l=Symbol.for(`slicc.transformers-env.fetch-wrapped`),u=e,d=`/workspace/node_modules/onnxruntime-web/dist/`,f=`/workspace/models/`;function p(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function m(e){let t=p(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function h(){return globalThis.location?.origin??null}function g(e){let t=h();if(!t)return!1;try{return new URL(p(e)).origin===t}catch{return!1}}async function _(e,r){let i=p(e),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=n({...a,"X-Target-URL":i}),s=(r?.method??`GET`).toUpperCase(),c={method:s,headers:o,cache:`no-store`};return r?.body&&s!==`GET`&&s!==`HEAD`&&(c.body=r.body),fetch(t(`/api/fetch-proxy`),c)}var v=3e4,y=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.asyncify.wasm`],b=Symbol.for(`slicc.transformers-env.vfs-enoent`);function x(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable in this realm`));let t=new BroadcastChannel(`preview-vfs`),n=`tfx-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,c),t.close(),e()},o,s=()=>{clearTimeout(o),o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[b]=!0,a(()=>i(t))},v)};s();let c=t=>{let c=t.data;if(!c||c.id!==n)return;if(c.type===`preview-vfs-start`){s();return}if(c.type!==`preview-vfs-response`)return;if(clearTimeout(o),typeof c.error==`string`){let e=Error(c.error);c.error.includes(`ENOENT`)&&(e[b]=!0),a(()=>i(e));return}let l=c.content;if(l instanceof Uint8Array){a(()=>r(l));return}if(typeof l==`string`){a(()=>r(new TextEncoder().encode(l)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,c),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function S(e){return!!e?.[b]}function C(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function w(e,t){return!t||!e.startsWith(t)?null:`${f}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function T(e,t){let n;try{n=await x(e)}catch(t){if(S(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let r=i(e);return(t?.headers?new Headers(t.headers).get(`range`):null)===`bytes=0-0`?new Response(null,{status:206,headers:{"Content-Type":r,"Content-Length":String(n.byteLength),"Content-Range":`bytes 0-0/${n.byteLength}`}}):new Response(C(n),{status:200,headers:{"Content-Type":r,"Content-Length":String(n.byteLength)}})}var E=null;async function D(){if(typeof URL>`u`||typeof URL.createObjectURL!=`function`)throw Error(`onnxruntime-web blob URLs require URL.createObjectURL (browser realm only)`);let e={};if(await Promise.all(y.map(async t=>{try{let n=await x(`${d}${t}`),r=new Blob([C(n)],{type:i(t)});e[t]=URL.createObjectURL(r)}catch(e){if(!S(e))throw e}})),Object.keys(e).length===0)throw Error("onnxruntime-web is not installed — run `ipk add onnxruntime-web` to stage the wasm runtime in /workspace/node_modules/.");return e}function O(){return E||=D(),E}var k=`slicc_ort_num_threads`;function A(e){if(!e.isolated)return 1;let t=e.hardwareConcurrency,n=typeof t==`number`&&Number.isFinite(t)&&t>=1,r=n?Math.min(4,Math.floor(t)):4,i=e.override==null?NaN:Number.parseInt(e.override,10);return Number.isFinite(i)&&i>=1?Math.max(1,Math.min(r,i)):n?Math.max(1,r):1}function j(){let e=null;try{e=globalThis.localStorage?.getItem(`slicc_ort_num_threads`)??null}catch{}let t={isolated:globalThis.crossOriginIsolated===!0,hardwareConcurrency:globalThis.navigator?.hardwareConcurrency,override:e},n=A(t);return e!=null&&t.isolated&&console.warn(`[speech] ort-web numThreads=${n} forced by localStorage.${k}=${JSON.stringify(e)} — this persists until removed`),n}function M(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=r(d),t.numThreads=j()),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=r(f),u())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&O().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[l])return;let i=n,a=e.localModelPath,o=async(e,t)=>{let n=w(p(e),a);return n===null?!m(e)||g(e)?i?i(e,t):fetch(e,t):_(e,t):T(n,t)};o[l]=!0,e.fetch=o}async function N(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await x(`${f}${e}/config.json`)}catch(e){if(S(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{s as a,c as i,M as n,o,O as r,N as t};