sliccy 6.29.0 → 6.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/dist/ui/assets/__vite-browser-external-5eBdwsFd.js +1 -0
  2. package/dist/ui/assets/__vite-browser-external-CjLuCwpB.js +1 -0
  3. package/dist/ui/assets/account-store-83ArXgcG.js +42 -0
  4. package/dist/ui/assets/{account-store-DSnxgLNJ.js → account-store-kT7dgbK1.js} +29 -30
  5. package/dist/ui/assets/{adobe-aVpBhLYj.js → adobe-DNQ-ZwRM.js} +1 -1
  6. package/dist/ui/assets/{adobe-B4F29JMY.js → adobe-zuiYZmoY.js} +2 -2
  7. package/dist/ui/assets/{agent-message-to-chat-ri8Fr4Sv.js → agent-message-to-chat-BiQK7aJN.js} +1 -1
  8. package/dist/ui/assets/{anthropic-messages-BqlIV27l.js → anthropic-messages-CwKCE8PD.js} +5 -5
  9. package/dist/ui/assets/{anthropic-messages-BbI5c8JA.js → anthropic-messages-DPd961JX.js} +5 -5
  10. package/dist/ui/assets/{apply-layout-CL9CFQ5a.js → apply-layout-C2kPr85z.js} +1 -1
  11. package/dist/ui/assets/{apps-BNY-jyyh.js → apps-9Wc94FyY.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-CuHIvNwE.js → azure-openai-B_GFx6XQ.js} +1 -1
  13. package/dist/ui/assets/{azure-openai-TFQRhgO4.js → azure-openai-BgLRuXUh.js} +1 -1
  14. package/dist/ui/assets/{azure-openai-responses-DOqakjfa.js → azure-openai-responses-CtOKUN00.js} +1 -1
  15. package/dist/ui/assets/{azure-openai-responses-C1EEdmtw.js → azure-openai-responses-oRGXQA3K.js} +1 -1
  16. package/dist/ui/assets/backend-local-Btkv66jT.js +1 -0
  17. package/dist/ui/assets/{bedrock-camp-CVX95quY.js → bedrock-camp-BDCjQMZx.js} +1 -1
  18. package/dist/ui/assets/{bedrock-camp-CHi38ceE.js → bedrock-camp-CFmElpzZ.js} +1 -1
  19. package/dist/ui/assets/{bridge-launch-params-BUV5qlt9.js → bridge-launch-params-B8x2eq4a.js} +1 -1
  20. package/dist/ui/assets/browser-BCEjSsoK.js +507 -0
  21. package/dist/ui/assets/{bsh-watchdog-BTqRxbnH.js → bsh-watchdog-BWoQ4vxy.js} +1 -1
  22. package/dist/ui/assets/{cdp-Cq-O2ziO.js → cdp-CUhn-e9o.js} +2 -2
  23. package/dist/ui/assets/{cerebras-BElG8qkN.js → cerebras-ClJjxDeF.js} +1 -1
  24. package/dist/ui/assets/{cerebras-CD6QquBf.js → cerebras-Dfkzn36I.js} +1 -1
  25. package/dist/ui/assets/{chat-session-store-DQztDoVa.js → chat-session-store-pWb1-jNp.js} +1 -1
  26. package/dist/ui/assets/{client-CAAAFAry.js → client-6mRSLafV.js} +2 -2
  27. package/dist/ui/assets/{clipboard-Bd1Wp2vH.js → clipboard-CknViQHB.js} +1 -1
  28. package/dist/ui/assets/{clipboard-DuHpK59o.js → clipboard-eqmn97SP.js} +1 -1
  29. package/dist/ui/assets/cloud--vyq2RIF.js +1 -0
  30. package/dist/ui/assets/{compat-BhgG-Qr-.js → compat-Bn8HnC3L.js} +2 -2
  31. package/dist/ui/assets/completionchunk-CVTjxyMe.js +65 -0
  32. package/dist/ui/assets/completionchunk-CksvMkXE.js +65 -0
  33. package/dist/ui/assets/{composer-speech-RdAxri_8.js → composer-speech-Dra2KNlH.js} +1 -1
  34. package/dist/ui/assets/{connect-surface-DKvZ8P01.js → connect-surface-KToYOy7V.js} +1 -1
  35. package/dist/ui/assets/{context-compaction-gzCxn8vG.js → context-compaction-DDaM9TWa.js} +1 -1
  36. package/dist/ui/assets/{cost-command-_BMgmnMI.js → cost-command-C9faxPNJ.js} +89 -89
  37. package/dist/ui/assets/{db-ysOO0kLr.js → db-C7OEVMWU.js} +1 -1
  38. package/dist/ui/assets/{dictation-priming-DGpw1lUV.js → dictation-priming-CNllGgNq.js} +1 -1
  39. package/dist/ui/assets/{dip-ByAv1QK8.js → dip-rdFXauwM.js} +3 -3
  40. package/dist/ui/assets/{discovery-preference-iXjdZZE6.js → discovery-preference-yvSQLIqD.js} +1 -1
  41. package/dist/ui/assets/{dist-d2CXjMIs.js → dist-5RJPBUGc.js} +3 -3
  42. package/dist/ui/assets/dist-B6I69VMa.js +12 -0
  43. package/dist/ui/assets/{dist-DB-MlM2G.js → dist-BoNLlUTL.js} +1 -1
  44. package/dist/ui/assets/{dist-Cc2eS9kS.js → dist-CZvQ4trc.js} +1 -1
  45. package/dist/ui/assets/dist-CxSRk4im.js +12 -0
  46. package/dist/ui/assets/dist-DMHgMRaU.js +23 -0
  47. package/dist/ui/assets/dist-DZD_Ug0d.js +18 -0
  48. package/dist/ui/assets/dist-DdMcRgpc.js +1 -0
  49. package/dist/ui/assets/dist-DeB2d2N0.js +2 -0
  50. package/dist/ui/assets/dist-DwW10w3V.js +2 -0
  51. package/dist/ui/assets/{ensure-speech-assets-DNIhbHym.js → ensure-speech-assets-B1XhikvN.js} +1 -1
  52. package/dist/ui/assets/es-D8T2ybXa.js +53 -0
  53. package/dist/ui/assets/{esbuild-wasm-CUz5LFrh.js → esbuild-wasm-CpCoMVKF.js} +3 -3
  54. package/dist/ui/assets/{esp32-D9ZurRwV.js → esp32-CoFXh-8H.js} +1 -1
  55. package/dist/ui/assets/{esp32c2-F0yCL7ES.js → esp32c2-UqsEoF9x.js} +1 -1
  56. package/dist/ui/assets/{esp32c3-wVAODszM.js → esp32c3-mMBDP9Jj.js} +1 -1
  57. package/dist/ui/assets/{esp32c5-ChTI-uFN.js → esp32c5-Bab14vpV.js} +1 -1
  58. package/dist/ui/assets/{esp32c6-IwoGEmKl.js → esp32c6-CCFSaC3T.js} +1 -1
  59. package/dist/ui/assets/{esp32c61-BJScMw70.js → esp32c61-Cy6rcWHq.js} +1 -1
  60. package/dist/ui/assets/{esp32h2-YosZEx9u.js → esp32h2-Cru1Ipjy.js} +1 -1
  61. package/dist/ui/assets/{esp32p4-BSe822vW.js → esp32p4-BGRZ91N9.js} +1 -1
  62. package/dist/ui/assets/{esp32s2-Dhlhu16A.js → esp32s2-7_BqiXe-.js} +1 -1
  63. package/dist/ui/assets/{esp32s3-PqxbnxPZ.js → esp32s3-C4XCo2Gh.js} +1 -1
  64. package/dist/ui/assets/{esp8266-CkAPDkuz.js → esp8266-BN3fFVWu.js} +1 -1
  65. package/dist/ui/assets/esptool-operations-3FBbK-fD.js +13 -0
  66. package/dist/ui/assets/esptool-operations-CDJhOTdU.js +12 -0
  67. package/dist/ui/assets/export-provider-BEHTjSYw.js +1 -0
  68. package/dist/ui/assets/{export-spool-Crzaptz9.js → export-spool-D9AiwWeo.js} +1 -1
  69. package/dist/ui/assets/{extension-bridge-transport-CR4Zp6Gm.js → extension-bridge-transport-D3PItLFo.js} +1 -1
  70. package/dist/ui/assets/{follower-navigate-watcher-DiTsLLuL.js → follower-navigate-watcher-DZpXL_9_.js} +1 -1
  71. package/dist/ui/assets/{frozen-archive-format-CqpMlNNW.js → frozen-archive-format--7sONywg.js} +1 -1
  72. package/dist/ui/assets/fs-DFJ4DSye.js +2 -0
  73. package/dist/ui/assets/fs-DxtSbYUW.js +1 -0
  74. package/dist/ui/assets/{git-config-Lj0BT7Oc.js → git-config-DA8M5e8O.js} +1 -1
  75. package/dist/ui/assets/{github-BJpGp9-C.js → github-BBloGIFx.js} +1 -1
  76. package/dist/ui/assets/{github-DC0sZ4bk.js → github-C_GVZ6np.js} +2 -2
  77. package/dist/ui/assets/github-copilot-BNWLcrkC.js +2 -0
  78. package/dist/ui/assets/github-copilot-D32KFpVZ.js +1 -0
  79. package/dist/ui/assets/global-db-DJXlpNui.js +1 -0
  80. package/dist/ui/assets/{google-generative-ai-BjzUffX7.js → google-generative-ai-BL_SqY5W.js} +1 -1
  81. package/dist/ui/assets/{google-generative-ai-CUyKfom8.js → google-generative-ai-DDF2tpZq.js} +1 -1
  82. package/dist/ui/assets/google-shared-DPuPo5mO.js +11 -0
  83. package/dist/ui/assets/{google-shared-Bvf-cbUv.js → google-shared-biiFuSpC.js} +11 -11
  84. package/dist/ui/assets/{google-vertex-Dc8m8x5E.js → google-vertex-CobhNXpX.js} +1 -1
  85. package/dist/ui/assets/{google-vertex-Bf_2YfBL.js → google-vertex-VXUUgM7o.js} +1 -1
  86. package/dist/ui/assets/{handoff-link-Da4o0fy_.js → handoff-link-BM4ctkE8.js} +1 -1
  87. package/dist/ui/assets/{hear-DvsWQaq8.js → hear-D4UPc-6X.js} +1 -1
  88. package/dist/ui/assets/{hear-Sb2Ceuh0.js → hear-RuX7zwTc.js} +1 -1
  89. package/dist/ui/assets/{hid-device-registry-DboUgvzI.js → hid-device-registry-B2R-0rNt.js} +1 -1
  90. package/dist/ui/assets/{icons-CXqRAmcw.js → icons-DtQGhvkp.js} +1 -1
  91. package/dist/ui/assets/installer-gqTicFFT.js +3 -0
  92. package/dist/ui/assets/{intercepted-oauth-CaCw-rJ5.js → intercepted-oauth-BIKnTjZm.js} +1 -1
  93. package/dist/ui/assets/js-realm-worker-BxtK9KWr.js +48 -0
  94. package/dist/ui/assets/{json-parse-rb7sUwcH.js → json-parse-CgFfIg4Q.js} +1 -1
  95. package/dist/ui/assets/{json-parse-CpLf0aqK.js → json-parse-ClXMvBdK.js} +1 -1
  96. package/dist/ui/assets/{kernel-worker-Dt7EHlGw.js → kernel-worker-j7zGoPh1.js} +333 -333
  97. package/dist/ui/assets/{kokoro-D3TYeL2z.js → kokoro-Bs5vU5OU.js} +2 -2
  98. package/dist/ui/assets/{kokoro-CGDCwNNA.js → kokoro-CZ21zrzj.js} +2 -2
  99. package/dist/ui/assets/kokoro-engine-tWznaclV.js +2 -0
  100. package/dist/ui/assets/{layout-schema-UznNUt3s.js → layout-schema-m9_VAwOw.js} +1 -1
  101. package/dist/ui/assets/{legacy-api-aliases-MR6kosFL.js → legacy-api-aliases-BVP0Ho8x.js} +1 -1
  102. package/dist/ui/assets/{legacy-api-aliases-DrEKVikN.js → legacy-api-aliases-DAkrHYf9.js} +1 -1
  103. package/dist/ui/assets/lick-manager-GJgyahla.js +2 -0
  104. package/dist/ui/assets/{lick-manager-proxy-DCbHSHHW.js → lick-manager-proxy-Bhx3Yzp_.js} +1 -1
  105. package/dist/ui/assets/{lick-ws-bridge-B21s2Gwz.js → lick-ws-bridge-BBdRwJ-f.js} +1 -1
  106. package/dist/ui/assets/{lick-ws-bridge-CCkYp7oZ.js → lick-ws-bridge-D_e6wRPA.js} +1 -1
  107. package/dist/ui/assets/{local-llm-BMxjY1yj.js → local-llm-94vIZ8EZ.js} +1 -1
  108. package/dist/ui/assets/{local-llm-B5AVGYUF.js → local-llm-BjVTQ79x.js} +1 -1
  109. package/dist/ui/assets/magick-wasm-7Gy4Vlf5.js +43 -0
  110. package/dist/ui/assets/{main-BSRWdc5y.js → main-BnxdqsG0.js} +3 -3
  111. package/dist/ui/assets/{main-cherry-cNBZXAMR.js → main-cherry-B3C0ufyv.js} +1 -1
  112. package/dist/ui/assets/mistral-conversations-Cyp2kssI.js +7 -0
  113. package/dist/ui/assets/mistral-conversations-gFwkX5N9.js +8 -0
  114. package/dist/ui/assets/models-DgdVqaw5.js +1 -0
  115. package/dist/ui/assets/{modulepreload-polyfill-Dezn_h7o.js → modulepreload-polyfill-P2Xu9kJm.js} +1 -1
  116. package/dist/ui/assets/{mount-CtYCS7Kp.js → mount-C3IXcaX8.js} +1 -1
  117. package/dist/ui/assets/mount-DrM3EVg_.js +2 -0
  118. package/dist/ui/assets/{mount-bridge-client-CKo6gJ0u.js → mount-bridge-client-DkyfUm3y.js} +1 -1
  119. package/dist/ui/assets/{mount-picker-popup-Bs1o43Z5.js → mount-picker-popup-CSSC05JS.js} +1 -1
  120. package/dist/ui/assets/{mount-recovery-CVPqfGPu.js → mount-recovery-Clm4-rrM.js} +1 -1
  121. package/dist/ui/assets/{mount-table-store-CTrzlrNn.js → mount-table-store-DrF_Ifaz.js} +1 -1
  122. package/dist/ui/assets/{mount-table-store-CfQUN_2R.js → mount-table-store-dY2IfQ5S.js} +1 -1
  123. package/dist/ui/assets/{navigation-watcher-murqPsVd.js → navigation-watcher-CcKsLKw9.js} +1 -1
  124. package/dist/ui/assets/{new-session-BRFuxbD1.js → new-session-ijH03Ean.js} +2 -2
  125. package/dist/ui/assets/{oauth-bootstrap-DIOIJH9f.js → oauth-bootstrap-bjPfgAcZ.js} +2 -2
  126. package/dist/ui/assets/oauth-service-CZJntwco.js +1 -0
  127. package/dist/ui/assets/{oauth-service-D0NOHMOb.js → oauth-service-CeFviz7O.js} +1 -1
  128. package/dist/ui/assets/{onboarding-orchestrator-cZ36aqC6.js → onboarding-orchestrator-CfHysx6n.js} +1 -1
  129. package/dist/ui/assets/{openai-BxFF4GUL.js → openai-DQxsE__c.js} +2 -2
  130. package/dist/ui/assets/{openai-CmTnPr9N.js → openai-DehfWK3N.js} +2 -2
  131. package/dist/ui/assets/{openai-codex-D4ja7gqs.js → openai-codex-Cm4CJsUN.js} +1 -1
  132. package/dist/ui/assets/{openai-codex-CI5IjhwE.js → openai-codex-Cxt9UfIy.js} +1 -1
  133. package/dist/ui/assets/{openai-codex-responses-CLGX-aTS.js → openai-codex-responses-BJOy6BEd.js} +2 -2
  134. package/dist/ui/assets/{openai-codex-responses-BdgEOEuS.js → openai-codex-responses-BfT5s3yO.js} +1 -1
  135. package/dist/ui/assets/{openai-completions-BnbrI3UF.js → openai-completions-CmslRX3-.js} +2 -2
  136. package/dist/ui/assets/{openai-completions-DgBXkZQB.js → openai-completions-DDas47cy.js} +2 -2
  137. package/dist/ui/assets/{openai-responses-ltU_A4Wo.js → openai-responses-CHXkcom_.js} +1 -1
  138. package/dist/ui/assets/{openai-responses-BCmB_39F.js → openai-responses-DWlnQ-B0.js} +1 -1
  139. package/dist/ui/assets/{openai-responses-shared-BhTvPbKN.js → openai-responses-shared-DajOm-sC.js} +1 -1
  140. package/dist/ui/assets/{openai-responses-shared-ULQmXcCD.js → openai-responses-shared-uSSusU2w.js} +1 -1
  141. package/dist/ui/assets/{openrouter-pYhQBFuU.js → openrouter-D6y7V9p0.js} +1 -1
  142. package/dist/ui/assets/{openrouter-images-HP0r87fI.js → openrouter-images-7cFnqg4_.js} +1 -1
  143. package/dist/ui/assets/{openrouter-images-1178rM_U.js → openrouter-images-eEy7Fej8.js} +1 -1
  144. package/dist/ui/assets/{openrouter-oauth-BfOn7a34.js → openrouter-oauth-DY8uKhfy.js} +1 -1
  145. package/dist/ui/assets/{openrouter-oauth-Cfl_HRtC.js → openrouter-oauth-y_6J1_DN.js} +1 -1
  146. package/dist/ui/assets/{openrouter-5QNOix7C.js → openrouter-rQ2VoktS.js} +1 -1
  147. package/dist/ui/assets/{otel-BJT2f71U.js → otel-BVv11zKU.js} +1 -1
  148. package/dist/ui/assets/{otel-DHVJhmnv.js → otel-BZA5WuO2.js} +1 -1
  149. package/dist/ui/assets/{panel-rpc-DmJSNs0I.js → panel-rpc-B3MSVImO.js} +1 -1
  150. package/dist/ui/assets/{panel-rpc-CjFVE0nK.js → panel-rpc-BPwAqRch.js} +1 -1
  151. package/dist/ui/assets/{panel-rpc-handlers-CigsG2O9.js → panel-rpc-handlers-PM8PHRH-.js} +2 -2
  152. package/dist/ui/assets/{panelize-shell-irQskG_h.js → panelize-shell-CgDNoGLr.js} +2 -2
  153. package/dist/ui/assets/{path-utils-DU6QhF_k.js → path-utils-Rm3AltuN.js} +1 -1
  154. package/dist/ui/assets/{pdfjs-B1saeD0h.js → pdfjs-CRuE4vGw.js} +6 -6
  155. package/dist/ui/assets/{pi-messages-CrwvmK0e.js → pi-messages-BBQ5JcSR.js} +1 -1
  156. package/dist/ui/assets/{pi-messages-BcCsdrH5.js → pi-messages-t5nvJxiW.js} +1 -1
  157. package/dist/ui/assets/{port-bridge-client-DXYvHFiB.js → port-bridge-client-74e4m7Ur.js} +1 -1
  158. package/dist/ui/assets/{port-bridge-client-B64OCgRQ.js → port-bridge-client-Bg6_jjLD.js} +2 -2
  159. package/dist/ui/assets/process-manager-unCzdHp3.js +1 -0
  160. package/dist/ui/assets/{provider-CkMg-hGa.js → provider-B8Mkh-VX.js} +2 -2
  161. package/dist/ui/assets/provider-CA0u-FlI.js +1 -0
  162. package/dist/ui/assets/{provider-env-D37PhSJu.js → provider-env-CILujRmO.js} +1 -1
  163. package/dist/ui/assets/{provider-env-DwY8YuMk.js → provider-env-CTOcDKrQ.js} +1 -1
  164. package/dist/ui/assets/provider-settings-CY15hvGv.js +2 -0
  165. package/dist/ui/assets/{provider-settings-BgRoRncG.js → provider-settings-x1DCmyHF.js} +1 -1
  166. package/dist/ui/assets/{provider-store-access-BnjM-WlQ.js → provider-store-access-BWbARrZ_.js} +2 -2
  167. package/dist/ui/assets/provider-store-access-Bwt56dfX.js +1 -0
  168. package/dist/ui/assets/providers-B98ueIFT.js +2 -0
  169. package/dist/ui/assets/{providers-Cq_dXOsh.js → providers-C0_DGG8n.js} +1 -1
  170. package/dist/ui/assets/{proxied-fetch-GabK83LB.js → proxied-fetch-CSNzus3d.js} +1 -1
  171. package/dist/ui/assets/proxied-fetch-ULPrH97b.js +2 -0
  172. package/dist/ui/assets/py-realm-worker-2nn9AS1F.js +244 -0
  173. package/dist/ui/assets/pyodide-BlzOFu7J.js +3 -0
  174. package/dist/ui/assets/pyodide-X83yixXc.js +3 -0
  175. package/dist/ui/assets/{quick-llm-BizzQ33P.js → quick-llm-AzvUPDDm.js} +1 -1
  176. package/dist/ui/assets/readline-BOCWRKSR.js +26 -0
  177. package/dist/ui/assets/{redirect-uri-wvtO7KeZ.js → redirect-uri-BPox4xEV.js} +1 -1
  178. package/dist/ui/assets/{remote-cache-D59F5FOx.js → remote-cache-JAv9sQH_.js} +1 -1
  179. package/dist/ui/assets/{remote-cdp-transport-CCzSSZwF.js → remote-cdp-transport-CgOXLjZ8.js} +1 -1
  180. package/dist/ui/assets/{remote-terminal-view-SZ2_MbCZ.js → remote-terminal-view-DqYuVTcF.js} +2 -2
  181. package/dist/ui/assets/{remote-vfs-client-Z2qM01yP.js → remote-vfs-client-5faRBsEi.js} +1 -1
  182. package/dist/ui/assets/rolldown-runtime-Dd_uD5pT.js +1 -0
  183. package/dist/ui/assets/runtime-mode-BgSVO5sw.js +1 -0
  184. package/dist/ui/assets/{runtime-mode-jkSDrVfl.js → runtime-mode-OGvKsBi_.js} +1 -1
  185. package/dist/ui/assets/{safe-buffer-C0pSmFaz.js → safe-buffer-B2wnAhUx.js} +2 -2
  186. package/dist/ui/assets/{script-catalog-BYXhqRAc.js → script-catalog-e0GUPxAf.js} +1 -1
  187. package/dist/ui/assets/{secret-env-Cd-AGGPM.js → secret-env-IgYMwYRy.js} +1 -1
  188. package/dist/ui/assets/{secret-topology-CKyE_tTD.js → secret-topology-DCQNOMWj.js} +1 -1
  189. package/dist/ui/assets/{secrets-bridge-client-CUeSRcdV.js → secrets-bridge-client-BZMh3a0J.js} +1 -1
  190. package/dist/ui/assets/{serial-port-registry-DsPZvGpT.js → serial-port-registry-B3LG5UIy.js} +1 -1
  191. package/dist/ui/assets/{session-freezer-CJhLDR-c.js → session-freezer-z4DJm3zA.js} +3 -3
  192. package/dist/ui/assets/{setup-feature-flags-remote-D1fJErV0.js → setup-feature-flags-remote-qaXVkshz.js} +1 -1
  193. package/dist/ui/assets/{setup-sprinkle-exec-CEx4I2ll.js → setup-sprinkle-exec-BX_Qq-Su.js} +2 -2
  194. package/dist/ui/assets/setup-standalone-prelude-DGfC07wR.js +2 -0
  195. package/dist/ui/assets/setup-sudo-DfUZKZqy.js +2 -0
  196. package/dist/ui/assets/{sha256-DmK25X5D.js → sha256-CHfIPo1C.js} +1 -1
  197. package/dist/ui/assets/shared-D4Q0n73P.js +4 -0
  198. package/dist/ui/assets/shared-Y4VMjBcs.js +1 -0
  199. package/dist/ui/assets/{silent-renew-backoff-Chq7fPuc.js → silent-renew-backoff-BrAZcbzt.js} +1 -1
  200. package/dist/ui/assets/{silent-renew-backoff-HDNNYx7x.js → silent-renew-backoff-tbYCpSw6.js} +1 -1
  201. package/dist/ui/assets/{skills-9LWceM3i.js → skills-DMzV8gyG.js} +1 -1
  202. package/dist/ui/assets/slicc-editor-BftG41yg.js +12 -0
  203. package/dist/ui/assets/speak-DFbF2xgr.js +3 -0
  204. package/dist/ui/assets/speak-DnN2sfVI.js +1 -0
  205. package/dist/ui/assets/{sprinkle-bridge-DziYRsuS.js → sprinkle-bridge-RIIOK3yH.js} +1 -1
  206. package/dist/ui/assets/sprinkle-manager-7WNxOLFK.js +1 -0
  207. package/dist/ui/assets/sprinkle-op-handler-Bkvm_zYI.js +1 -0
  208. package/dist/ui/assets/{sprinkle-renderer-DZ_7mdV4.js → sprinkle-renderer-CMk2ghMi.js} +2 -2
  209. package/dist/ui/assets/sql-wasm-BJoHkdU1.js +2 -0
  210. package/dist/ui/assets/{src-BStYtmHq.js → src-CAWTvdAa.js} +1 -1
  211. package/dist/ui/assets/{src-BcePBv4G.js → src-CcFD5QfS.js} +1 -1
  212. package/dist/ui/assets/{src-C6xNlS_2.js → src-scK1LFrC.js} +88 -88
  213. package/dist/ui/assets/{store-vg7fWz1Q.js → store-CmbiPzTQ.js} +1 -1
  214. package/dist/ui/assets/{sudo-D2Na1qHN.js → sudo-i4DiWMNU.js} +3 -3
  215. package/dist/ui/assets/{sync-dialog-Ie_5SqoO.js → sync-dialog-BXI-Z0QC.js} +1 -1
  216. package/dist/ui/assets/{terminal-session-client-BZLoutc3.js → terminal-session-client-ADzaWGFd.js} +1 -1
  217. package/dist/ui/assets/{theme-BOdTMzQ7.js → theme-CXRqxpw6.js} +1 -1
  218. package/dist/ui/assets/{theme-engine-BMhxbTGC.js → theme-engine-By4GU_Wc.js} +1 -1
  219. package/dist/ui/assets/{timestamp-preference-DgrTvVNx.js → timestamp-preference-sKwBl5I8.js} +1 -1
  220. package/dist/ui/assets/{tool-result-images-DwRGZUe_.js → tool-result-images-D8kQ0hH0.js} +1 -1
  221. package/dist/ui/assets/tool-result-images-Dw3zBAjg.js +1 -0
  222. package/dist/ui/assets/transcript-limits-Ne0pE4Ui.js +1 -0
  223. package/dist/ui/assets/{transformers-env-jJU-CdDZ.js → transformers-env-CB72W87T.js} +1 -1
  224. package/dist/ui/assets/{transformers-env-3dg4iXrc.js → transformers-env-CflaNVb-.js} +1 -1
  225. package/dist/ui/assets/transformers.web-Cg_-cFJu.js +39 -0
  226. package/dist/ui/assets/transformers.web-DD4-hssb.js +45 -0
  227. package/dist/ui/assets/{tray-leader-Btq_ccHy.js → tray-leader-BIbpF_6U.js} +1 -1
  228. package/dist/ui/assets/{tray-leave-runtime-DyiGVnUI.js → tray-leave-runtime-Bk54j6on.js} +1 -1
  229. package/dist/ui/assets/{tray-runtime-config-BxjVzwAJ.js → tray-runtime-config-C82czC62.js} +1 -1
  230. package/dist/ui/assets/{tray-runtime-config-kGqQt9_W.js → tray-runtime-config-qqz7WGyF.js} +1 -1
  231. package/dist/ui/assets/tray-sync-protocol-BZ5yhJH9.js +1 -0
  232. package/dist/ui/assets/tray-sync-protocol-BoMM1sx5.js +1 -0
  233. package/dist/ui/assets/{upgrade-detection-NB58Ti1o.js → upgrade-detection-BWJcWnqA.js} +1 -1
  234. package/dist/ui/assets/{usb-device-registry-BOGfZXgp.js → usb-device-registry-CRsCisej.js} +1 -1
  235. package/dist/ui/assets/{usb-operations-BQbhk96u.js → usb-operations-Cgk-otz-.js} +1 -1
  236. package/dist/ui/assets/{voice-reply-vgvKOdr1.js → voice-reply-AKp1x2Pa.js} +1 -1
  237. package/dist/ui/assets/{wc-attach-Cqm1S-Dt.js → wc-attach-GJkf0zy_.js} +3 -3
  238. package/dist/ui/assets/{wc-extension-AsJb1Fvl.js → wc-extension-8-BmnJQe.js} +2 -2
  239. package/dist/ui/assets/{wc-float-label-hGSM71eZ.js → wc-float-label-tSpScI6q.js} +1 -1
  240. package/dist/ui/assets/wc-follower-BiiKhzHS.js +17 -0
  241. package/dist/ui/assets/{wc-follower-model-surface-DJRncbD2.js → wc-follower-model-surface-B3z6dlpJ.js} +1 -1
  242. package/dist/ui/assets/wc-live-CaE_NPFb.js +8 -0
  243. package/dist/ui/assets/{wc-nav-DqrCih7F.js → wc-nav-CF8SpfT6.js} +2 -2
  244. package/dist/ui/assets/{wc-onboarding-CsA3_2-I.js → wc-onboarding-SQURNptm.js} +2 -2
  245. package/dist/ui/assets/{wc-permissions-DQ4ENBhU.js → wc-permissions-8LUp20Jr.js} +3 -3
  246. package/dist/ui/assets/{wc-permissions-providers-DMTDytlu.js → wc-permissions-providers-DpoCXfAQ.js} +2 -2
  247. package/dist/ui/assets/{wc-permissions-registry-Blyunq37.js → wc-permissions-registry-DHel9S61.js} +1 -1
  248. package/dist/ui/assets/wc-permissions-registry-Dcdmzs0U.js +1 -0
  249. package/dist/ui/assets/{wc-placeholder-CyqpFwlr.js → wc-placeholder-C1J1HGBa.js} +3 -3
  250. package/dist/ui/assets/{wc-settings-DQlViRqJ.js → wc-settings-DLReg83a.js} +3 -3
  251. package/dist/ui/assets/{wc-shell-DYAavWIZ.js → wc-shell-Djy773Zo.js} +7 -7
  252. package/dist/ui/assets/{wc-sprinkles-3JtSDzFR.js → wc-sprinkles-CcifX3Sy.js} +2 -2
  253. package/dist/ui/assets/{wc-transcript-export-C4O9AKQ6.js → wc-transcript-export-Bx9ecGAa.js} +2 -2
  254. package/dist/ui/assets/wc-tray-DgeXvaCs.js +2 -0
  255. package/dist/ui/assets/wc-tray-scoops-CwSRVd7s.js +5 -0
  256. package/dist/ui/assets/{welcome-detection-CQY88hjL.js → welcome-detection-sLx_L_gP.js} +1 -1
  257. package/dist/ui/assets/{whisper-engine-COt17pKd.js → whisper-engine-bquhJqdU.js} +1 -1
  258. package/dist/ui/assets/{whisper-session-D-oegf5G.js → whisper-session-DoSxCWUe.js} +2 -2
  259. package/dist/ui/assets/{writable-vfs-client-Cb6FWsgc.js → writable-vfs-client-Dqrpx9iK.js} +1 -1
  260. package/dist/ui/assets/{ws-subscribers-Dzuxa2F7.js → ws-subscribers-ZoJOTa93.js} +1 -1
  261. package/dist/ui/assets/{xai-grok-CnlmvtxV.js → xai-grok-B3LQ35Ig.js} +1 -1
  262. package/dist/ui/assets/{xai-grok-CQ2y4q0K.js → xai-grok-CsonM4jH.js} +1 -1
  263. package/dist/ui/assets/xterm-BSL5rRqA.js +18 -0
  264. package/dist/ui/assets/xterm-Diiics17.js +30 -0
  265. package/dist/ui/index.html +25 -25
  266. package/dist/ui/packages/webapp/cloud/index.html +2 -2
  267. package/dist/ui/packages/webapp/index.html +25 -25
  268. package/package.json +4 -4
  269. package/dist/ui/assets/__vite-browser-external-Db26C5vr.js +0 -1
  270. package/dist/ui/assets/__vite-browser-external-SwrSgYTf.js +0 -1
  271. package/dist/ui/assets/account-store-3ZeQvsHg.js +0 -43
  272. package/dist/ui/assets/backend-local-smcj-_Ox.js +0 -1
  273. package/dist/ui/assets/browser-COVn7LPD.js +0 -569
  274. package/dist/ui/assets/cloud-DhBwfVPK.js +0 -1
  275. package/dist/ui/assets/completionchunk-CP7I4h3f.js +0 -65
  276. package/dist/ui/assets/completionchunk-JDMithrI.js +0 -65
  277. package/dist/ui/assets/dist-0FRaZO2z.js +0 -12
  278. package/dist/ui/assets/dist-BlzIXVXL.js +0 -2
  279. package/dist/ui/assets/dist-Bq5i9FMJ.js +0 -12
  280. package/dist/ui/assets/dist-CJ6ilPeJ.js +0 -18
  281. package/dist/ui/assets/dist-DIYpvNeF.js +0 -2
  282. package/dist/ui/assets/dist-DuLHpm2f.js +0 -1
  283. package/dist/ui/assets/dist-DvjiIrEx.js +0 -23
  284. package/dist/ui/assets/es-CP2z28j0.js +0 -53
  285. package/dist/ui/assets/esptool-operations-C0DUkD34.js +0 -13
  286. package/dist/ui/assets/esptool-operations-iCYPdIRA.js +0 -12
  287. package/dist/ui/assets/export-provider-CBnhvTR9.js +0 -1
  288. package/dist/ui/assets/fs-B_EoFRY0.js +0 -2
  289. package/dist/ui/assets/fs-DAUqRBvb.js +0 -1
  290. package/dist/ui/assets/github-copilot-CUWzfkgl.js +0 -2
  291. package/dist/ui/assets/github-copilot-Dz-Ywiz6.js +0 -1
  292. package/dist/ui/assets/global-db-DvmmimLY.js +0 -1
  293. package/dist/ui/assets/google-shared-Dh_qL7z7.js +0 -11
  294. package/dist/ui/assets/installer-DuGbDCC9.js +0 -3
  295. package/dist/ui/assets/js-realm-worker-dP0mvoSB.js +0 -48
  296. package/dist/ui/assets/kokoro-engine-DKoaJW2G.js +0 -2
  297. package/dist/ui/assets/lick-manager-Ce_d4NxJ.js +0 -2
  298. package/dist/ui/assets/magick-wasm-f6c6OoOu.js +0 -43
  299. package/dist/ui/assets/mistral-conversations-CkIx9cg4.js +0 -8
  300. package/dist/ui/assets/mistral-conversations-Ct4-30zw.js +0 -7
  301. package/dist/ui/assets/models-DmWu8BeM.js +0 -1
  302. package/dist/ui/assets/mount-DdEqx8Ye.js +0 -2
  303. package/dist/ui/assets/oauth-service-bKcyWLK0.js +0 -1
  304. package/dist/ui/assets/process-manager-B5dz0PkO.js +0 -1
  305. package/dist/ui/assets/provider-settings-CMPKOsv9.js +0 -2
  306. package/dist/ui/assets/provider-store-access-BIeLrSCN.js +0 -1
  307. package/dist/ui/assets/provider-w_-ysFRD.js +0 -1
  308. package/dist/ui/assets/providers-U-BMssjK.js +0 -2
  309. package/dist/ui/assets/proxied-fetch-A48etSCh.js +0 -2
  310. package/dist/ui/assets/py-realm-worker-XDviaRpn.js +0 -244
  311. package/dist/ui/assets/pyodide-CcJEvbeU.js +0 -3
  312. package/dist/ui/assets/pyodide-DvIxh2Rb.js +0 -3
  313. package/dist/ui/assets/readline-0OE_8qoR.js +0 -26
  314. package/dist/ui/assets/rolldown-runtime-aKtaBQYM.js +0 -1
  315. package/dist/ui/assets/runtime-mode-B91km6KC.js +0 -1
  316. package/dist/ui/assets/setup-standalone-prelude-bzPDtbad.js +0 -2
  317. package/dist/ui/assets/setup-sudo-RE__qVVO.js +0 -2
  318. package/dist/ui/assets/shared-BYVJAPbn.js +0 -1
  319. package/dist/ui/assets/shared-SS_FwfdN.js +0 -4
  320. package/dist/ui/assets/slicc-editor-BoIEeofq.js +0 -12
  321. package/dist/ui/assets/speak-CIzzz0pF.js +0 -3
  322. package/dist/ui/assets/speak-CrTN7B3e.js +0 -1
  323. package/dist/ui/assets/sprinkle-manager-DbCWJGba.js +0 -1
  324. package/dist/ui/assets/sprinkle-op-handler-Dta4p7Tc.js +0 -1
  325. package/dist/ui/assets/sql-wasm-JpZkOS2Q.js +0 -2
  326. package/dist/ui/assets/tool-result-images-DlFhKgpw.js +0 -1
  327. package/dist/ui/assets/transcript-limits-B8212Rg9.js +0 -1
  328. package/dist/ui/assets/transformers.web-CrioJkWG.js +0 -45
  329. package/dist/ui/assets/transformers.web-D6viRW2X.js +0 -39
  330. package/dist/ui/assets/tray-sync-protocol-DtsNjc_8.js +0 -1
  331. package/dist/ui/assets/tray-sync-protocol-bvejwfjH.js +0 -1
  332. package/dist/ui/assets/wc-follower-_xrDG9l_.js +0 -17
  333. package/dist/ui/assets/wc-live-xoWVIMuu.js +0 -8
  334. package/dist/ui/assets/wc-permissions-registry-C7PhTX3c.js +0 -1
  335. package/dist/ui/assets/wc-tray-4dIiwvc9.js +0 -2
  336. package/dist/ui/assets/wc-tray-scoops-Ci8IRu3W.js +0 -5
  337. package/dist/ui/assets/xterm-DX7Hb5S-.js +0 -47
  338. package/dist/ui/assets/xterm-U4TA8lIC.js +0 -35
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./logger-LESFN7Hj.js";import{t as n}from"./types-idfTVsM8.js";import{t as r}from"./global-db-DvmmimLY.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-DAUqRBvb.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):!1}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-DxtSbYUW.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
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-DmJSNs0I.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{o as n,r,t as i}from"./proxied-fetch-A48etSCh.js";import{n as a}from"./runtime-env-DH4NDw4t.js";import{t as o}from"./quick-llm-BizzQ33P.js";import{installPanelSudoResponder as s,n as c}from"./panel-responder-B6PI12mV.js";var l=t(`sudo-suggest`),u=[`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(`
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{o as n,r,t as i}from"./proxied-fetch-ULPrH97b.js";import{n as a}from"./runtime-env-DH4NDw4t.js";import{t as o}from"./quick-llm-AzvUPDDm.js";import{installPanelSudoResponder as s,n as c}from"./panel-responder-B6PI12mV.js";var l=t(`sudo-suggest`),u=[`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
  `),d=[`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 f(e,t){if(e.suggestedPattern&&e.suggestedPattern.trim().length>0)return e.suggestedPattern.trim();let n=e.detail.trim(),r=e.kind===`command`?u:d,i=null;try{i=await o({prompt:n,system:r,maxTokens:40,temperature:0,signal:t})}catch(e){l.debug(`suggestPattern: quickLabel threw`,{error:e instanceof Error?e.message:String(e)}),i=null}return p(i)||n}function p(e){if(!e)return null;let t=(e.split(`
5
- `,1)[0]?.trim()??``).replace(/^`+/,``).replace(/`+$/,``).replace(/^["']/,``).replace(/["']$/,``).trim();return t.length===0?null:t}var m=t(`sudo-ext`);function h(e={}){let t=e.suggest??f;return{async requestApproval(e){let n;try{n=await t(e)}catch{n=e.detail}return g({...e,suggestedPattern:n})}}}function g(e){return new Promise(t=>{let n=globalThis.chrome?.runtime;if(!n||typeof n.sendMessage!=`function`){m.warn(`chrome.runtime.sendMessage unavailable — denying`),t({decision:`deny`});return}let r=r=>{let i=n.lastError;if(i){m.warn(`sudo relay lastError — denying`,{error:i.message}),t({decision:`deny`});return}if(!r||typeof r!=`object`){m.warn(`sudo relay empty response — denying`),t({decision:`deny`});return}let a=r;if(!a.ok||!a.decision){m.warn(`sudo relay error response — denying`,{error:a.error}),t({decision:`deny`});return}t(_(a.decision,e.suggestedPattern??e.detail))};try{n.sendMessage({source:`offscreen`,payload:{type:c,request:e}},r)}catch(e){m.warn(`sudo relay threw — denying`,{error:e instanceof Error?e.message:String(e)}),t({decision:`deny`})}})}function _(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 v=t(`sudo-http`);function y(e={}){let t=e.fetchImpl??globalThis.fetch.bind(globalThis),r=e.path??`/api/sudo-approve`,a=e.suggest??f;return{async requestApproval(e){let o;try{o=await a(e)}catch{o=e.detail}try{let a=await t(n(r),{method:`POST`,headers:i({"Content-Type":`application/json`}),body:JSON.stringify({kind:e.kind,detail:e.detail,suggestedPattern:o})});return a.ok?b(await a.json(),o):(v.warn(`sudo endpoint returned non-OK status — denying`,{status:a.status}),{decision:`deny`})}catch(e){return v.warn(`sudo endpoint request failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function b(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 x=t(`sudo-panel-rpc`),S=6e5;function C(t={}){let n=t.suggest??f,r=t.timeoutMs??S,i=t.getClient??(async()=>{let{getPanelRpcClient:t}=await e(async()=>{let{getPanelRpcClient:e}=await import(`./panel-rpc-DmJSNs0I.js`).then(e=>e.i);return{getPanelRpcClient:e}},__vite__mapDeps([0,1]));return t()});return{async requestApproval(e){let t;try{t=await n(e)}catch{t=e.detail}let a={...e,suggestedPattern:t},o;try{o=await i()}catch(e){return x.warn(`panel-RPC client lookup threw — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}if(!o)return x.warn(`panel-RPC client unavailable in worker realm — denying`),{decision:`deny`};try{let{decision:e}=await o.call(`sudo-request`,{request:a},{timeoutMs:r});return w(e,t)}catch(e){return x.warn(`sudo panel-RPC relay failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function w(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 T=t(`sudo`),E=`__slicc_sudo`;function D(){return a()}function O(){return typeof chrome>`u`&&r()!==null}function k(){return D()?h():O()?C():y()}function A(e=k()){let t={requestApproval:t=>e.requestApproval(t)};return globalThis[E]=t,T.info(`sudo broker test hook published on globalThis.__slicc_sudo`),t}export{s as installPanelSudoResponder,A as installSudoTestHook};
5
+ `,1)[0]?.trim()??``).replace(/^`+/,``).replace(/`+$/,``).replace(/^["']/,``).replace(/["']$/,``).trim();return t.length===0?null:t}var m=t(`sudo-ext`);function h(e={}){let t=e.suggest??f;return{async requestApproval(e){let n;try{n=await t(e)}catch{n=e.detail}return g({...e,suggestedPattern:n})}}}function g(e){return new Promise(t=>{let n=globalThis.chrome?.runtime;if(!n||typeof n.sendMessage!=`function`){m.warn(`chrome.runtime.sendMessage unavailable — denying`),t({decision:`deny`});return}let r=r=>{let i=n.lastError;if(i){m.warn(`sudo relay lastError — denying`,{error:i.message}),t({decision:`deny`});return}if(!r||typeof r!=`object`){m.warn(`sudo relay empty response — denying`),t({decision:`deny`});return}let a=r;if(!a.ok||!a.decision){m.warn(`sudo relay error response — denying`,{error:a.error}),t({decision:`deny`});return}t(_(a.decision,e.suggestedPattern??e.detail))};try{n.sendMessage({source:`offscreen`,payload:{type:c,request:e}},r)}catch(e){m.warn(`sudo relay threw — denying`,{error:e instanceof Error?e.message:String(e)}),t({decision:`deny`})}})}function _(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 v=t(`sudo-http`);function y(e={}){let t=e.fetchImpl??globalThis.fetch.bind(globalThis),r=e.path??`/api/sudo-approve`,a=e.suggest??f;return{async requestApproval(e){let o;try{o=await a(e)}catch{o=e.detail}try{let a=await t(n(r),{method:`POST`,headers:i({"Content-Type":`application/json`}),body:JSON.stringify({kind:e.kind,detail:e.detail,suggestedPattern:o})});return a.ok?b(await a.json(),o):(v.warn(`sudo endpoint returned non-OK status — denying`,{status:a.status}),{decision:`deny`})}catch(e){return v.warn(`sudo endpoint request failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function b(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 x=t(`sudo-panel-rpc`),S=6e5;function C(t={}){let n=t.suggest??f,r=t.timeoutMs??S,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){let t;try{t=await n(e)}catch{t=e.detail}let a={...e,suggestedPattern:t},o;try{o=await i()}catch(e){return x.warn(`panel-RPC client lookup threw — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}if(!o)return x.warn(`panel-RPC client unavailable in worker realm — denying`),{decision:`deny`};try{let{decision:e}=await o.call(`sudo-request`,{request:a},{timeoutMs:r});return w(e,t)}catch(e){return x.warn(`sudo panel-RPC relay failed — denying`,{error:e instanceof Error?e.message:String(e)}),{decision:`deny`}}}}}function w(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 T=t(`sudo`),E=`__slicc_sudo`;function D(){return a()}function O(){return typeof chrome>`u`&&r()!==null}function k(){return D()?h():O()?C():y()}function A(e=k()){let t={requestApproval:t=>e.requestApproval(t)};return globalThis[E]=t,T.info(`sudo broker test hook published on globalThis.__slicc_sudo`),t}export{s as installPanelSudoResponder,A as installSudoTestHook};
@@ -1 +1 @@
1
- import{n as e}from"./clipboard-DuHpK59o.js";function t(t){document.querySelectorAll(`.dialog-overlay[data-sync-dialog]`).forEach(e=>{e.remove()});let n=document.createElement(`div`);n.className=`dialog-overlay`,n.dataset.syncDialog=`1`;let r=document.createElement(`div`);r.className=`dialog`,n.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__title`,i.textContent=`Multi-browser sync is on`,r.appendChild(i);let a=document.createElement(`div`);a.className=`dialog__desc`,a.textContent=t.copied?`The sync URL is copied to your clipboard. Paste it into another SLICC browser to mirror this one.`:`Couldn’t copy automatically. Use the button below to copy the sync URL, then paste it into another SLICC browser.`,r.appendChild(a);let o=document.createElement(`div`);o.style.cssText=`margin-bottom: 12px; padding: 10px 12px; background: var(--s2-bg-layer-1); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle); line-height: 1.5; font-size: 12px; color: var(--s2-content-secondary);`;let s=document.createElement(`ol`);s.style.cssText=`margin: 0; padding-left: 20px;`;for(let e of[`Open SLICC in another browser.`,`Click the avatar (top right) → “Connect to another browser”.`,`Paste the URL there. Both browsers must be on the same SLICC version.`]){let t=document.createElement(`li`);t.textContent=e,s.appendChild(t)}o.appendChild(s),r.appendChild(o);let c=document.createElement(`div`);c.style.cssText=`font-family: var(--s2-font-mono); font-size: 11px; color: var(--s2-content-secondary); word-break: break-all; margin-bottom: 12px; padding: 8px 12px; background: var(--s2-bg-sunken); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle);`,c.textContent=t.joinUrl,r.appendChild(c);let l=document.createElement(`div`);l.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`,r.appendChild(l),t.copied&&(l.textContent=`URL copied to clipboard.`,l.style.display=``);let u=document.createElement(`button`);u.className=`dialog__btn dialog__btn--secondary`,u.style.marginBottom=`8px`,u.textContent=t.copied?`Copy again`:`Copy URL`,u.addEventListener(`click`,async()=>{let n=await e(t.joinUrl);l.textContent=n?`URL copied to clipboard.`:`Couldn’t copy. Select and copy manually.`,l.style.color=n?`var(--s2-content-secondary)`:`var(--slicc-cone)`,l.style.display=``}),r.appendChild(u);let d=document.createElement(`button`);if(d.className=`dialog__btn`,d.textContent=`Done`,d.addEventListener(`click`,()=>n.remove()),r.appendChild(d),t.onReset){let e=document.createElement(`button`);e.className=`dialog__btn dialog__btn--secondary`,e.style.marginTop=`8px`,e.textContent=`Reset URL (disconnect connected browsers)`,e.addEventListener(`click`,async()=>{e.disabled=!0,d.disabled=!0,u.disabled=!0,l.textContent=`Resetting sync URL…`,l.style.color=`var(--s2-content-secondary)`,l.style.display=``;try{await t.onReset(),l.textContent=`Sync URL reset. Reopen this dialog from the avatar to share the new URL.`,l.style.color=`var(--s2-content-secondary)`,c.textContent=`—`,u.disabled=!0}catch(t){l.textContent=`Reset failed: ${t instanceof Error?t.message:String(t)}`,l.style.color=`var(--slicc-cone)`,e.disabled=!1,d.disabled=!1,u.disabled=!1}}),r.appendChild(e)}n.addEventListener(`click`,e=>{e.target===n&&n.remove()}),document.body.appendChild(n)}export{t as showSyncEnabledDialog};
1
+ import{n as e}from"./clipboard-eqmn97SP.js";function t(t){document.querySelectorAll(`.dialog-overlay[data-sync-dialog]`).forEach(e=>{e.remove()});let n=document.createElement(`div`);n.className=`dialog-overlay`,n.dataset.syncDialog=`1`;let r=document.createElement(`div`);r.className=`dialog`,n.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__title`,i.textContent=`Multi-browser sync is on`,r.appendChild(i);let a=document.createElement(`div`);a.className=`dialog__desc`,a.textContent=t.copied?`The sync URL is copied to your clipboard. Paste it into another SLICC browser to mirror this one.`:`Couldn’t copy automatically. Use the button below to copy the sync URL, then paste it into another SLICC browser.`,r.appendChild(a);let o=document.createElement(`div`);o.style.cssText=`margin-bottom: 12px; padding: 10px 12px; background: var(--s2-bg-layer-1); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle); line-height: 1.5; font-size: 12px; color: var(--s2-content-secondary);`;let s=document.createElement(`ol`);s.style.cssText=`margin: 0; padding-left: 20px;`;for(let e of[`Open SLICC in another browser.`,`Click the avatar (top right) → “Connect to another browser”.`,`Paste the URL there. Both browsers must be on the same SLICC version.`]){let t=document.createElement(`li`);t.textContent=e,s.appendChild(t)}o.appendChild(s),r.appendChild(o);let c=document.createElement(`div`);c.style.cssText=`font-family: var(--s2-font-mono); font-size: 11px; color: var(--s2-content-secondary); word-break: break-all; margin-bottom: 12px; padding: 8px 12px; background: var(--s2-bg-sunken); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle);`,c.textContent=t.joinUrl,r.appendChild(c);let l=document.createElement(`div`);l.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`,r.appendChild(l),t.copied&&(l.textContent=`URL copied to clipboard.`,l.style.display=``);let u=document.createElement(`button`);u.className=`dialog__btn dialog__btn--secondary`,u.style.marginBottom=`8px`,u.textContent=t.copied?`Copy again`:`Copy URL`,u.addEventListener(`click`,async()=>{let n=await e(t.joinUrl);l.textContent=n?`URL copied to clipboard.`:`Couldn’t copy. Select and copy manually.`,l.style.color=n?`var(--s2-content-secondary)`:`var(--slicc-cone)`,l.style.display=``}),r.appendChild(u);let d=document.createElement(`button`);if(d.className=`dialog__btn`,d.textContent=`Done`,d.addEventListener(`click`,()=>n.remove()),r.appendChild(d),t.onReset){let e=document.createElement(`button`);e.className=`dialog__btn dialog__btn--secondary`,e.style.marginTop=`8px`,e.textContent=`Reset URL (disconnect connected browsers)`,e.addEventListener(`click`,async()=>{e.disabled=!0,d.disabled=!0,u.disabled=!0,l.textContent=`Resetting sync URL…`,l.style.color=`var(--s2-content-secondary)`,l.style.display=``;try{await t.onReset(),l.textContent=`Sync URL reset. Reopen this dialog from the avatar to share the new URL.`,l.style.color=`var(--s2-content-secondary)`,c.textContent=`—`,u.disabled=!0}catch(t){l.textContent=`Reset failed: ${t instanceof Error?t.message:String(t)}`,l.style.color=`var(--slicc-cone)`,e.disabled=!1,d.disabled=!1,u.disabled=!1}}),r.appendChild(e)}n.addEventListener(`click`,e=>{e.target===n&&n.remove()}),document.body.appendChild(n)}export{t as showSyncEnabledDialog};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";var t=e({TerminalSessionClient:()=>n}),n=class{client;sid;onEvent;nextExecId=1;pending=new Map;buffers=new Map;opened=!1;openWaiters=[];unsubscribe=null;openRetryTimer=null;openTimeoutTimer=null;constructor(e){this.client=e.client,this.sid=e.sid,this.onEvent=e.onEvent??null,this.unsubscribe=this.subscribeToEvents()}open(e={}){if(this.opened)return Promise.resolve();let t=e.retryMs??500,n=e.timeoutMs??1e4,r={type:`terminal-open`,sid:this.sid,cwd:e.cwd,env:e.env};return new Promise((e,i)=>{this.openWaiters.push(t=>{this.clearOpenTimers(),t?i(t):e()}),this.send(r),this.openRetryTimer=setInterval(()=>{if(this.opened||this.openWaiters.length===0){this.clearOpenTimers();return}this.send(r)},t),this.openTimeoutTimer=setTimeout(()=>{if(this.opened||this.openWaiters.length===0)return;let e=Error(`terminal-open timed out after ${n}ms`),t=this.openWaiters;this.openWaiters=[],this.clearOpenTimers();for(let n of t)n(e)},n)})}clearOpenTimers(){this.openRetryTimer&&=(clearInterval(this.openRetryTimer),null),this.openTimeoutTimer&&=(clearTimeout(this.openTimeoutTimer),null)}exec(e,t={}){let n=`e${this.nextExecId++}`,{discardCapturedOutput:r=!1,...i}=t;return new Promise(t=>{this.pending.set(n,t),r||this.buffers.set(n,{stdout:``,stderr:``}),this.send({type:`terminal-exec`,sid:this.sid,execId:n,command:e,...i})})}signal(e){this.send({type:`terminal-signal`,sid:this.sid,signal:e})}resize(e,t){this.send({type:`terminal-resize`,sid:this.sid,cols:e,rows:t})}close(){let e=this.openWaiters.length>0;if(!this.opened&&!e){this.clearOpenTimers();return}(this.opened||e)&&this.send({type:`terminal-close`,sid:this.sid}),this.opened=!1;let t=this.openWaiters;this.openWaiters=[],this.clearOpenTimers();for(let e of t)e(Error(`terminal session closed`));for(let[e,t]of this.pending){let n=this.buffers.get(e)??{stdout:``,stderr:``};t({stdout:n.stdout,stderr:n.stderr,exitCode:130})}this.pending.clear(),this.buffers.clear()}dispose(){this.close(),this.unsubscribe?.(),this.unsubscribe=null}send(e){this.client.sendRaw(e)}subscribeToEvents(){return this.client.onTerminalEvent(e=>{e.sid===this.sid&&this.handleEvent(e)})}handleEvent(e){switch(this.onEvent?.(e),e.type){case`terminal-status`:this.handleStatusEvent(e);return;case`terminal-output`:this.handleOutputEvent(e);return;case`terminal-exit`:this.handleExitEvent(e);return;case`terminal-cleared`:case`terminal-media-preview`:return}}handleStatusEvent(e){e.state===`opened`?(this.opened=!0,this.flushOpenWaiters()):e.state===`closed`?this.opened=!1:e.state===`error`&&(this.opened=!1,this.flushOpenWaiters(Error(e.error??`terminal session error`)))}flushOpenWaiters(e){let t=this.openWaiters;this.openWaiters=[],this.clearOpenTimers();for(let n of t)n(e)}handleOutputEvent(e){if(e.execId!==void 0){let t=this.buffers.get(e.execId);t&&r(t,e);return}for(let t of this.buffers.values())r(t,e)}handleExitEvent(e){let t=this.pending.get(e.execId),n=this.buffers.get(e.execId);this.pending.delete(e.execId),this.buffers.delete(e.execId),t&&t({stdout:n?.stdout??``,stderr:n?.stderr??``,exitCode:e.exitCode})}};function r(e,t){t.stream===`stdout`?e.stdout+=t.data:e.stderr+=t.data}export{t as n,n as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t=e({TerminalSessionClient:()=>n}),n=class{client;sid;onEvent;nextExecId=1;pending=new Map;buffers=new Map;opened=!1;openWaiters=[];unsubscribe=null;openRetryTimer=null;openTimeoutTimer=null;constructor(e){this.client=e.client,this.sid=e.sid,this.onEvent=e.onEvent??null,this.unsubscribe=this.subscribeToEvents()}open(e={}){if(this.opened)return Promise.resolve();let t=e.retryMs??500,n=e.timeoutMs??1e4,r={type:`terminal-open`,sid:this.sid,cwd:e.cwd,env:e.env};return new Promise((e,i)=>{this.openWaiters.push(t=>{this.clearOpenTimers(),t?i(t):e()}),this.send(r),this.openRetryTimer=setInterval(()=>{if(this.opened||this.openWaiters.length===0){this.clearOpenTimers();return}this.send(r)},t),this.openTimeoutTimer=setTimeout(()=>{if(this.opened||this.openWaiters.length===0)return;let e=Error(`terminal-open timed out after ${n}ms`),t=this.openWaiters;this.openWaiters=[],this.clearOpenTimers();for(let n of t)n(e)},n)})}clearOpenTimers(){this.openRetryTimer&&=(clearInterval(this.openRetryTimer),null),this.openTimeoutTimer&&=(clearTimeout(this.openTimeoutTimer),null)}exec(e,t={}){let n=`e${this.nextExecId++}`,{discardCapturedOutput:r=!1,...i}=t;return new Promise(t=>{this.pending.set(n,t),r||this.buffers.set(n,{stdout:``,stderr:``}),this.send({type:`terminal-exec`,sid:this.sid,execId:n,command:e,...i})})}signal(e){this.send({type:`terminal-signal`,sid:this.sid,signal:e})}resize(e,t){this.send({type:`terminal-resize`,sid:this.sid,cols:e,rows:t})}close(){let e=this.openWaiters.length>0;if(!this.opened&&!e){this.clearOpenTimers();return}(this.opened||e)&&this.send({type:`terminal-close`,sid:this.sid}),this.opened=!1;let t=this.openWaiters;this.openWaiters=[],this.clearOpenTimers();for(let e of t)e(Error(`terminal session closed`));for(let[e,t]of this.pending){let n=this.buffers.get(e)??{stdout:``,stderr:``};t({stdout:n.stdout,stderr:n.stderr,exitCode:130})}this.pending.clear(),this.buffers.clear()}dispose(){this.close(),this.unsubscribe?.(),this.unsubscribe=null}send(e){this.client.sendRaw(e)}subscribeToEvents(){return this.client.onTerminalEvent(e=>{e.sid===this.sid&&this.handleEvent(e)})}handleEvent(e){switch(this.onEvent?.(e),e.type){case`terminal-status`:this.handleStatusEvent(e);return;case`terminal-output`:this.handleOutputEvent(e);return;case`terminal-exit`:this.handleExitEvent(e);return;case`terminal-cleared`:case`terminal-media-preview`:return}}handleStatusEvent(e){e.state===`opened`?(this.opened=!0,this.flushOpenWaiters()):e.state===`closed`?this.opened=!1:e.state===`error`&&(this.opened=!1,this.flushOpenWaiters(Error(e.error??`terminal session error`)))}flushOpenWaiters(e){let t=this.openWaiters;this.openWaiters=[],this.clearOpenTimers();for(let n of t)n(e)}handleOutputEvent(e){if(e.execId!==void 0){let t=this.buffers.get(e.execId);t&&r(t,e);return}for(let t of this.buffers.values())r(t,e)}handleExitEvent(e){let t=this.pending.get(e.execId),n=this.buffers.get(e.execId);this.pending.delete(e.execId),this.buffers.delete(e.execId),t&&t({stdout:n?.stdout??``,stderr:n?.stderr??``,exitCode:e.exitCode})}};function r(e,t){t.stream===`stdout`?e.stdout+=t.data:e.stderr+=t.data}export{t as n,n as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{c as t,l as n,m as r,r as i}from"./theme-engine-BMhxbTGC.js";var a=e({applyTheme:()=>h,getThemePreference:()=>c,isThemeLight:()=>l,registerSprinkleWindow:()=>d,unregisterSprinkleWindow:()=>f,watchSprinkleThemeBroadcast:()=>_}),o=`slicc-theme`,s=new Set([`dark`,`light`,`system`]);function c(){let e=localStorage.getItem(o);return e&&s.has(e)?e:`system`}function l(){if(document.documentElement.classList.contains(`theme-light`))return!0;let e=document.body;if(e){if(e.classList.contains(`dark`)||e.getAttribute(`data-theme`)===`dark`)return!1;if(e.getAttribute(`data-theme`)===`light`)return!0}return window.matchMedia?.(`(prefers-color-scheme: light)`).matches??!1}var u=new Set;function d(e){e&&u.add(e)}function f(e){e&&u.delete(e)}function p(){let e=t();return e?(r.find(t=>t.id===e)??n().find(t=>t.id===e))?.tokens??null:null}function m(){let e=l(),t=p();for(let n of u)try{n.postMessage({type:`slicc-theme`,isLight:e,overrides:t},`*`)}catch{u.delete(n)}}function h(){let e=c(),t=e===`light`;e===`system`&&(t=window.matchMedia?.(`(prefers-color-scheme: light)`).matches??!1),document.documentElement.classList.toggle(`theme-light`,t),i(),m()}var g=!1;function _(){g||(g=!0,typeof MutationObserver<`u`&&document.body&&new MutationObserver(()=>m()).observe(document.body,{attributes:!0,attributeFilter:[`class`,`data-theme`]}),window.matchMedia?.(`(prefers-color-scheme: dark)`)?.addEventListener?.(`change`,()=>m()))}export{f as a,a as i,l as n,d as r,h as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{c as t,l as n,m as r,r as i}from"./theme-engine-By4GU_Wc.js";var a=e({applyTheme:()=>h,getThemePreference:()=>c,isThemeLight:()=>l,registerSprinkleWindow:()=>d,unregisterSprinkleWindow:()=>f,watchSprinkleThemeBroadcast:()=>_}),o=`slicc-theme`,s=new Set([`dark`,`light`,`system`]);function c(){let e=localStorage.getItem(o);return e&&s.has(e)?e:`system`}function l(){if(document.documentElement.classList.contains(`theme-light`))return!0;let e=document.body;if(e){if(e.classList.contains(`dark`)||e.getAttribute(`data-theme`)===`dark`)return!1;if(e.getAttribute(`data-theme`)===`light`)return!0}return window.matchMedia?.(`(prefers-color-scheme: light)`).matches??!1}var u=new Set;function d(e){e&&u.add(e)}function f(e){e&&u.delete(e)}function p(){let e=t();return e?(r.find(t=>t.id===e)??n().find(t=>t.id===e))?.tokens??null:null}function m(){let e=l(),t=p();for(let n of u)try{n.postMessage({type:`slicc-theme`,isLight:e,overrides:t},`*`)}catch{u.delete(n)}}function h(){let e=c(),t=e===`light`;e===`system`&&(t=window.matchMedia?.(`(prefers-color-scheme: light)`).matches??!1),document.documentElement.classList.toggle(`theme-light`,t),i(),m()}var g=!1;function _(){g||(g=!0,typeof MutationObserver<`u`&&document.body&&new MutationObserver(()=>m()).observe(document.body,{attributes:!0,attributeFilter:[`class`,`data-theme`]}),window.matchMedia?.(`(prefers-color-scheme: dark)`)?.addEventListener?.(`change`,()=>m()))}export{f as a,a as i,l as n,d as r,h as t};
@@ -1,3 +1,3 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./logger-DDBAeTLF.js";var n=[{id:`vanilla`,name:`Vanilla`,base:`light`,disableShader:!0,tokens:{"--s2-gray-25":`#fffdf8`,"--s2-gray-50":`#faf6f0`,"--s2-gray-75":`#f5f0e8`,"--s2-gray-100":`#ede7dc`,"--s2-gray-200":`#e0d8cc`,"--s2-gray-300":`#d4cbbf`,"--s2-gray-400":`#b8ad9e`,"--s2-gray-500":`#8c7f6f`,"--s2-gray-600":`#6b5f50`,"--s2-gray-700":`#4d4235`,"--s2-gray-800":`#2e2418`,"--s2-gray-900":`#1a1008`,"--s2-gray-1000":`#000000`,"--s2-bg-base":`#fffdf8`,"--s2-bg-layer-1":`#faf6f0`,"--s2-bg-layer-2":`#f5f0e8`,"--s2-bg-elevated":`#ede7dc`,"--s2-bg-sunken":`#f5f0e8`,"--s2-accent":`#a0522d`,"--s2-accent-hover":`#8b4513`,"--s2-accent-down":`#6b3410`,"--slicc-cone":`#d2691e`,"--s2-border-default":`#d4cbbf`,"--s2-border-subtle":`#e0d8cc`,"--canvas":`#fffdf8`,"--bg":`#f5f0e8`,"--ghost":`#f5f0e8`,"--desk":`#f5f0e8`,"--ink":`#1a1008`,"--deep":`#1a1008`,"--txt-2":`#6b5f50`,"--txt-3":`#8c7f6f`,"--line":`#d4cbbf`,"--ctx":`#a0522d`,"--shaderbg":`#fffdf8`}},{id:`midnight-scoop`,name:`Midnight Scoop`,base:`dark`,disableShader:!0,tokens:{"--s2-gray-25":`#0d1117`,"--s2-gray-50":`#131a24`,"--s2-gray-75":`#1a2332`,"--s2-gray-100":`#212d40`,"--s2-gray-200":`#2d3b50`,"--s2-gray-300":`#3a4a63`,"--s2-gray-400":`#4d5f7a`,"--s2-gray-500":`#6b7f99`,"--s2-gray-600":`#8899b3`,"--s2-gray-700":`#a8b8d0`,"--s2-gray-800":`#cdd8e8`,"--s2-gray-900":`#e8eef5`,"--s2-gray-1000":`#ffffff`,"--s2-bg-base":`#0d1117`,"--s2-bg-layer-1":`#131a24`,"--s2-bg-layer-2":`#1a2332`,"--s2-bg-elevated":`#212d40`,"--s2-bg-sunken":`#080c12`,"--s2-accent":`#58a6ff`,"--s2-accent-hover":`#79b8ff`,"--s2-accent-down":`#3d8bda`,"--slicc-cone":`#f0883e`,"--s2-border-default":`#3a4a63`,"--s2-border-subtle":`#2d3b50`,"--canvas":`#0d1117`,"--bg":`#080c12`,"--ghost":`#1a2332`,"--desk":`#1a2332`,"--ink":`#e8eef5`,"--deep":`#e8eef5`,"--txt-2":`#8899b3`,"--txt-3":`#6b7f99`,"--line":`#3a4a63`,"--ctx":`#58a6ff`,"--shaderbg":`#0d1117`}},{id:`matcha-float`,name:`Matcha Float`,base:`dark`,disableShader:!0,tokens:{"--s2-gray-25":`#0f1a14`,"--s2-gray-50":`#14221b`,"--s2-gray-75":`#1a2d23`,"--s2-gray-100":`#21382c`,"--s2-gray-200":`#2d4a3a`,"--s2-gray-300":`#3a5c48`,"--s2-gray-400":`#4d7360`,"--s2-gray-500":`#6b9480`,"--s2-gray-600":`#88b09c`,"--s2-gray-700":`#a8c8b8`,"--s2-gray-800":`#cce0d5`,"--s2-gray-900":`#e8f2ec`,"--s2-gray-1000":`#ffffff`,"--s2-bg-base":`#0f1a14`,"--s2-bg-layer-1":`#14221b`,"--s2-bg-layer-2":`#1a2d23`,"--s2-bg-elevated":`#21382c`,"--s2-bg-sunken":`#0a120e`,"--s2-accent":`#6bce9a`,"--s2-accent-hover":`#88dbb0`,"--s2-accent-down":`#4fb882`,"--slicc-cone":`#a8d86c`,"--s2-border-default":`#3a5c48`,"--s2-border-subtle":`#2d4a3a`,"--canvas":`#0f1a14`,"--bg":`#0a120e`,"--ghost":`#1a2d23`,"--desk":`#1a2d23`,"--ink":`#e8f2ec`,"--deep":`#e8f2ec`,"--txt-2":`#88b09c`,"--txt-3":`#6b9480`,"--line":`#3a5c48`,"--ctx":`#6bce9a`,"--shaderbg":`#0f1a14`}},{id:`berry-cone`,name:`Berry Cone`,base:`dark`,disableShader:!0,tokens:{"--s2-gray-25":`#150a1a`,"--s2-gray-50":`#1e1024`,"--s2-gray-75":`#281830`,"--s2-gray-100":`#33203d`,"--s2-gray-200":`#44304f`,"--s2-gray-300":`#574063`,"--s2-gray-400":`#6e5580`,"--s2-gray-500":`#8c7099`,"--s2-gray-600":`#a88cb3`,"--s2-gray-700":`#c0a8cc`,"--s2-gray-800":`#d8c8e0`,"--s2-gray-900":`#f0e8f4`,"--s2-gray-1000":`#ffffff`,"--s2-bg-base":`#150a1a`,"--s2-bg-layer-1":`#1e1024`,"--s2-bg-layer-2":`#281830`,"--s2-bg-elevated":`#33203d`,"--s2-bg-sunken":`#0f0614`,"--s2-accent":`#e06be0`,"--s2-accent-hover":`#e88ae8`,"--s2-accent-down":`#c84ec8`,"--slicc-cone":`#ff6b9d`,"--s2-border-default":`#574063`,"--s2-border-subtle":`#44304f`,"--canvas":`#150a1a`,"--bg":`#0f0614`,"--ghost":`#281830`,"--desk":`#281830`,"--ink":`#f0e8f4`,"--deep":`#f0e8f4`,"--txt-2":`#a88cb3`,"--txt-3":`#8c7099`,"--line":`#574063`,"--ctx":`#e06be0`,"--shaderbg":`#150a1a`}},{id:`caramel-swirl`,name:`Caramel Swirl`,base:`light`,disableShader:!0,tokens:{"--s2-gray-25":`#fdf9f3`,"--s2-gray-50":`#f8f2e8`,"--s2-gray-75":`#f2eadd`,"--s2-gray-100":`#e8dfd0`,"--s2-gray-200":`#ddd2c0`,"--s2-gray-300":`#d0c3b0`,"--s2-gray-400":`#b8a890`,"--s2-gray-500":`#8f7a60`,"--s2-gray-600":`#6b5a42`,"--s2-gray-700":`#4d3f2a`,"--s2-gray-800":`#2e2515`,"--s2-gray-900":`#1a1408`,"--s2-gray-1000":`#000000`,"--s2-bg-base":`#fdf9f3`,"--s2-bg-layer-1":`#f8f2e8`,"--s2-bg-layer-2":`#f2eadd`,"--s2-bg-elevated":`#e8dfd0`,"--s2-bg-sunken":`#f2eadd`,"--s2-accent":`#c87830`,"--s2-accent-hover":`#b06828`,"--s2-accent-down":`#985820`,"--slicc-cone":`#e89040`,"--s2-border-default":`#d0c3b0`,"--s2-border-subtle":`#ddd2c0`,"--canvas":`#fdf9f3`,"--bg":`#f2eadd`,"--ghost":`#f2eadd`,"--desk":`#f2eadd`,"--ink":`#1a1408`,"--deep":`#1a1408`,"--txt-2":`#6b5a42`,"--txt-3":`#8f7a60`,"--line":`#d0c3b0`,"--ctx":`#c87830`,"--shaderbg":`#fdf9f3`}},{id:`sorbet`,name:`Sorbet`,base:`light`,disableShader:!0,tokens:{"--s2-gray-25":`#fff8f6`,"--s2-gray-50":`#fef0ed`,"--s2-gray-75":`#fce8e3`,"--s2-gray-100":`#f8ddd6`,"--s2-gray-200":`#f0d0c8`,"--s2-gray-300":`#e8c0b8`,"--s2-gray-400":`#d4a89e`,"--s2-gray-500":`#a8807a`,"--s2-gray-600":`#80605c`,"--s2-gray-700":`#5c4240`,"--s2-gray-800":`#3a2826`,"--s2-gray-900":`#1e1412`,"--s2-gray-1000":`#000000`,"--s2-bg-base":`#fff8f6`,"--s2-bg-layer-1":`#fef0ed`,"--s2-bg-layer-2":`#fce8e3`,"--s2-bg-elevated":`#f8ddd6`,"--s2-bg-sunken":`#fce8e3`,"--s2-accent":`#e86050`,"--s2-accent-hover":`#d04840`,"--s2-accent-down":`#b83830`,"--slicc-cone":`#ff7860`,"--s2-border-default":`#e8c0b8`,"--s2-border-subtle":`#f0d0c8`,"--canvas":`#fff8f6`,"--bg":`#fce8e3`,"--ghost":`#fce8e3`,"--desk":`#fce8e3`,"--ink":`#1e1412`,"--deep":`#1e1412`,"--txt-2":`#80605c`,"--txt-3":`#a8807a`,"--line":`#e8c0b8`,"--ctx":`#e86050`,"--shaderbg":`#fff8f6`}}],r=e({adjustLightness:()=>v,adjustSaturation:()=>y,applyCherryTheme:()=>J,applyThemeOverrides:()=>V,clearActiveTheme:()=>D,deleteCustomTheme:()=>A,deriveTokens:()=>b,exportTheme:()=>q,getActiveThemeId:()=>T,getActiveThemeJson:()=>M,getCustomThemes:()=>O,hexToHsl:()=>g,hslToHex:()=>_,importTheme:()=>Y,saveCustomTheme:()=>k,setActiveTheme:()=>E,setThemeChangeListener:()=>P}),i=t(`theme-engine`),a=/url\s*\(|@import|expression\s*\(|javascript:|[<>]/i,o=/^[a-zA-Z0-9#%.,()\-\s]*$/,s=/([a-zA-Z-]+)\s*\(/g,c=new Set([`rgb`,`rgba`,`hsl`,`hsla`,`hwb`,`var`,`calc`,`clamp`,`min`,`max`,`linear-gradient`,`radial-gradient`,`conic-gradient`]);function l(e){if(typeof e!=`string`||e.length===0||e.length>200||a.test(e)||!o.test(e))return!1;for(let t of e.matchAll(s))if(!c.has(t[1].toLowerCase()))return!1;return!0}function u(e){let t={};for(let[n,r]of Object.entries(e)){let e=n.startsWith(`--`)?n:`--${n}`;l(r)?t[e]=r:i.warn(`dropping unsafe theme token value`,{key:n})}return t}var d=/^[a-zA-Z0-9\s,'"-]{1,200}$/;function f(e){let t={};for(let[n,r]of Object.entries(e))(n===`fontFamily`?d.test(r):l(r))?t[n]=r:i.warn(`dropping unsafe theme component property`,{key:n});return t}function p(e){let t={};for(let[n,r]of Object.entries(e))r&&(t[n]=f(r));return t}function m(e){if(e){if(a.test(e)){i.warn(`dropping theme.css — contains url()/@import/expression()/javascript: or angle brackets`);return}return e}}function h(e){return{...e,tokens:u(e.tokens),css:m(e.css),components:e.components?p(e.components):void 0}}function g(e){let t=parseInt(e.slice(1,3),16)/255,n=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2;if(i===a)return[0,0,o];let s=i-a,c=o>.5?s/(2-i-a):s/(i+a),l;return l=i===t?((n-r)/s+(n<r?6:0))*60:i===n?((r-t)/s+2)*60:((t-n)/s+4)*60,[l,c,o]}function _(e,t,n){let r=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),i,a,o;if(t===0)i=a=o=n;else{let s=n<.5?n*(1+t):n+t-n*t,c=2*n-s,l=e/360;i=r(c,s,l+1/3),a=r(c,s,l),o=r(c,s,l-1/3)}let s=e=>Math.round(e*255).toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function v(e,t){let[n,r,i]=g(e);return _(n,r,Math.max(0,Math.min(1,i+t)))}function y(e,t){let[n,r,i]=g(e);return _(n,Math.max(0,Math.min(1,r+t)),i)}function b(e,t){let n=t===`dark`,r=n?.03:-.02,i={};i[`--s2-gray-25`]=e.background,i[`--s2-bg-base`]=e.background,i[`--s2-gray-50`]=v(e.background,r),i[`--s2-gray-75`]=v(e.background,r*2),i[`--s2-gray-100`]=v(e.background,r*3),i[`--s2-gray-200`]=v(e.background,r*5),i[`--s2-bg-sunken`]=v(e.background,n?-.02:.02),i[`--s2-bg-layer-1`]=v(e.background,r),i[`--s2-bg-layer-2`]=v(e.background,r*2),i[`--s2-bg-elevated`]=v(e.background,r*3),i[`--s2-gray-300`]=e.surface,i[`--s2-gray-900`]=e.text,i[`--s2-gray-1000`]=n?`#ffffff`:`#000000`,i[`--s2-gray-800`]=v(e.text,n?-.05:.05),i[`--s2-content-default`]=e.text,i[`--s2-content-secondary`]=v(e.text,n?-.1:.1),i[`--s2-content-tertiary`]=v(e.text,n?-.2:.2),i[`--s2-content-disabled`]=v(e.text,n?-.3:.3),i[`--s2-accent`]=e.accent,i[`--s2-accent-hover`]=v(e.accent,n?.08:-.06),i[`--s2-accent-down`]=v(e.accent,n?-.06:.08),i[`--slicc-accent`]=e.accent,i[`--slicc-cone`]=e.accent,i[`--slicc-scoop-blue`]=y(e.accent,.1),i[`--slicc-scoop-purple`]=v(e.accent,.05),i[`--slicc-scoop-teal`]=v(e.accent,-.05),i[`--s2-positive`]=e.success,i[`--s2-negative`]=e.error,i[`--s2-informative`]=e.accent,i[`--s2-notice`]=v(e.accent,n?.1:-.1),i[`--s2-border-default`]=e.border,i[`--s2-border-subtle`]=v(e.border,n?-.03:.03),i[`--s2-border-focus`]=e.accent,i[`--s2-shadow-elevated`]=n?`rgba(0, 0, 0, 0.4)`:`rgba(0, 0, 0, 0.1)`,i[`--s2-shadow-container`]=n?`rgba(0, 0, 0, 0.2)`:`rgba(0, 0, 0, 0.05)`,i[`--canvas`]=e.background,i[`--bg`]=v(e.background,n?-.02:.02),i[`--ghost`]=v(e.background,r*2),i[`--desk`]=v(e.background,r*2),i[`--ink`]=e.text,i[`--deep`]=e.text,i[`--txt-2`]=v(e.text,n?-.2:.2),i[`--txt-3`]=v(e.text,n?-.35:.35),i[`--line`]=e.border,i[`--ctx`]=e.accent,i[`--waffle`]=e.accent,i[`--shaderbg`]=e.background,i[`--amber`]=e.accent,i[`--violet`]=v(e.accent,n?.08:-.06),i[`--cyan`]=v(e.accent,n?-.06:.08),i[`--rose`]=y(e.accent,.1);let a=v(e.accent,n?-.06:.04),o=v(e.accent,n?.1:-.08);return i[`--rainbow`]=`linear-gradient(90deg, ${a} 0%, ${e.accent} 50%, ${o} 100%)`,i}var x=`slicc-themes`,S=`slicc-active-theme`,C=`slicc-theme-overrides`;function w(){try{return typeof localStorage<`u`&&typeof localStorage.getItem==`function`?localStorage:null}catch{return null}}function T(){return w()?.getItem(S)||null}function E(e){w()?.setItem(S,e)}function D(){w()?.removeItem(S)}function O(){try{return JSON.parse(w()?.getItem(x)||`[]`)}catch{return[]}}function k(e){let t=O().filter(t=>t.id!==e.id);t.push(e),w()?.setItem(x,JSON.stringify(t))}function A(e){let t=O().filter(t=>t.id!==e);w()?.setItem(x,JSON.stringify(t)),T()===e&&D()}function j(e){return n.find(t=>t.id===e)??O().find(t=>t.id===e)}function M(){let e=T();if(!e||e===`__preview`)return null;let t=j(e);return t?q(t):null}var N=null;function P(e){N=e}function F(e){N&&N(e?q(e):null)}function I(e){let t=[];return e.background&&t.push(`background:${e.background}`),e.text&&t.push(`color:${e.text}`),e.border&&t.push(`border:1px solid ${e.border}`),e.radius&&t.push(`border-radius:${e.radius}`),e.padding&&t.push(`padding:${e.padding}`),e.fontSize&&t.push(`font-size:${e.fontSize}`),e.fontFamily&&t.push(`font-family:${e.fontFamily}`),e.shadow&&t.push(`box-shadow:${e.shadow}`),e.blur&&t.push(`backdrop-filter:blur(${e.blur})`),e.height&&t.push(`height:${e.height}`),e.opacity&&t.push(`opacity:${e.opacity}`),t.map(e=>`${e}!important`).join(`;`)}var L={userBubble:[`slicc-user-message::part(bubble)`],assistantMessage:[`slicc-agent-message`,`slicc-agent-message .body`],codeBlock:[`slicc-agent-message pre`,`slicc-agent-message code`],nav:[`.slicc-nav`],composer:[`slicc-input-card > .slicc-input-card__card`],sidebar:[`.wcui-rail`,`.wcui-sidebar`],dialog:[`slicc-dialog::part(dialog)`]};function R(e){let t=[];for(let[n,r]of Object.entries(e)){if(!r)continue;let e=L[n];if(!e)continue;let i=I(r);i&&t.push(`${e.join(`,`)}{${i}}`)}return t.join(`
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-DDBAeTLF.js";var n=[{id:`vanilla`,name:`Vanilla`,base:`light`,disableShader:!0,tokens:{"--s2-gray-25":`#fffdf8`,"--s2-gray-50":`#faf6f0`,"--s2-gray-75":`#f5f0e8`,"--s2-gray-100":`#ede7dc`,"--s2-gray-200":`#e0d8cc`,"--s2-gray-300":`#d4cbbf`,"--s2-gray-400":`#b8ad9e`,"--s2-gray-500":`#8c7f6f`,"--s2-gray-600":`#6b5f50`,"--s2-gray-700":`#4d4235`,"--s2-gray-800":`#2e2418`,"--s2-gray-900":`#1a1008`,"--s2-gray-1000":`#000000`,"--s2-bg-base":`#fffdf8`,"--s2-bg-layer-1":`#faf6f0`,"--s2-bg-layer-2":`#f5f0e8`,"--s2-bg-elevated":`#ede7dc`,"--s2-bg-sunken":`#f5f0e8`,"--s2-accent":`#a0522d`,"--s2-accent-hover":`#8b4513`,"--s2-accent-down":`#6b3410`,"--slicc-cone":`#d2691e`,"--s2-border-default":`#d4cbbf`,"--s2-border-subtle":`#e0d8cc`,"--canvas":`#fffdf8`,"--bg":`#f5f0e8`,"--ghost":`#f5f0e8`,"--desk":`#f5f0e8`,"--ink":`#1a1008`,"--deep":`#1a1008`,"--txt-2":`#6b5f50`,"--txt-3":`#8c7f6f`,"--line":`#d4cbbf`,"--ctx":`#a0522d`,"--shaderbg":`#fffdf8`}},{id:`midnight-scoop`,name:`Midnight Scoop`,base:`dark`,disableShader:!0,tokens:{"--s2-gray-25":`#0d1117`,"--s2-gray-50":`#131a24`,"--s2-gray-75":`#1a2332`,"--s2-gray-100":`#212d40`,"--s2-gray-200":`#2d3b50`,"--s2-gray-300":`#3a4a63`,"--s2-gray-400":`#4d5f7a`,"--s2-gray-500":`#6b7f99`,"--s2-gray-600":`#8899b3`,"--s2-gray-700":`#a8b8d0`,"--s2-gray-800":`#cdd8e8`,"--s2-gray-900":`#e8eef5`,"--s2-gray-1000":`#ffffff`,"--s2-bg-base":`#0d1117`,"--s2-bg-layer-1":`#131a24`,"--s2-bg-layer-2":`#1a2332`,"--s2-bg-elevated":`#212d40`,"--s2-bg-sunken":`#080c12`,"--s2-accent":`#58a6ff`,"--s2-accent-hover":`#79b8ff`,"--s2-accent-down":`#3d8bda`,"--slicc-cone":`#f0883e`,"--s2-border-default":`#3a4a63`,"--s2-border-subtle":`#2d3b50`,"--canvas":`#0d1117`,"--bg":`#080c12`,"--ghost":`#1a2332`,"--desk":`#1a2332`,"--ink":`#e8eef5`,"--deep":`#e8eef5`,"--txt-2":`#8899b3`,"--txt-3":`#6b7f99`,"--line":`#3a4a63`,"--ctx":`#58a6ff`,"--shaderbg":`#0d1117`}},{id:`matcha-float`,name:`Matcha Float`,base:`dark`,disableShader:!0,tokens:{"--s2-gray-25":`#0f1a14`,"--s2-gray-50":`#14221b`,"--s2-gray-75":`#1a2d23`,"--s2-gray-100":`#21382c`,"--s2-gray-200":`#2d4a3a`,"--s2-gray-300":`#3a5c48`,"--s2-gray-400":`#4d7360`,"--s2-gray-500":`#6b9480`,"--s2-gray-600":`#88b09c`,"--s2-gray-700":`#a8c8b8`,"--s2-gray-800":`#cce0d5`,"--s2-gray-900":`#e8f2ec`,"--s2-gray-1000":`#ffffff`,"--s2-bg-base":`#0f1a14`,"--s2-bg-layer-1":`#14221b`,"--s2-bg-layer-2":`#1a2d23`,"--s2-bg-elevated":`#21382c`,"--s2-bg-sunken":`#0a120e`,"--s2-accent":`#6bce9a`,"--s2-accent-hover":`#88dbb0`,"--s2-accent-down":`#4fb882`,"--slicc-cone":`#a8d86c`,"--s2-border-default":`#3a5c48`,"--s2-border-subtle":`#2d4a3a`,"--canvas":`#0f1a14`,"--bg":`#0a120e`,"--ghost":`#1a2d23`,"--desk":`#1a2d23`,"--ink":`#e8f2ec`,"--deep":`#e8f2ec`,"--txt-2":`#88b09c`,"--txt-3":`#6b9480`,"--line":`#3a5c48`,"--ctx":`#6bce9a`,"--shaderbg":`#0f1a14`}},{id:`berry-cone`,name:`Berry Cone`,base:`dark`,disableShader:!0,tokens:{"--s2-gray-25":`#150a1a`,"--s2-gray-50":`#1e1024`,"--s2-gray-75":`#281830`,"--s2-gray-100":`#33203d`,"--s2-gray-200":`#44304f`,"--s2-gray-300":`#574063`,"--s2-gray-400":`#6e5580`,"--s2-gray-500":`#8c7099`,"--s2-gray-600":`#a88cb3`,"--s2-gray-700":`#c0a8cc`,"--s2-gray-800":`#d8c8e0`,"--s2-gray-900":`#f0e8f4`,"--s2-gray-1000":`#ffffff`,"--s2-bg-base":`#150a1a`,"--s2-bg-layer-1":`#1e1024`,"--s2-bg-layer-2":`#281830`,"--s2-bg-elevated":`#33203d`,"--s2-bg-sunken":`#0f0614`,"--s2-accent":`#e06be0`,"--s2-accent-hover":`#e88ae8`,"--s2-accent-down":`#c84ec8`,"--slicc-cone":`#ff6b9d`,"--s2-border-default":`#574063`,"--s2-border-subtle":`#44304f`,"--canvas":`#150a1a`,"--bg":`#0f0614`,"--ghost":`#281830`,"--desk":`#281830`,"--ink":`#f0e8f4`,"--deep":`#f0e8f4`,"--txt-2":`#a88cb3`,"--txt-3":`#8c7099`,"--line":`#574063`,"--ctx":`#e06be0`,"--shaderbg":`#150a1a`}},{id:`caramel-swirl`,name:`Caramel Swirl`,base:`light`,disableShader:!0,tokens:{"--s2-gray-25":`#fdf9f3`,"--s2-gray-50":`#f8f2e8`,"--s2-gray-75":`#f2eadd`,"--s2-gray-100":`#e8dfd0`,"--s2-gray-200":`#ddd2c0`,"--s2-gray-300":`#d0c3b0`,"--s2-gray-400":`#b8a890`,"--s2-gray-500":`#8f7a60`,"--s2-gray-600":`#6b5a42`,"--s2-gray-700":`#4d3f2a`,"--s2-gray-800":`#2e2515`,"--s2-gray-900":`#1a1408`,"--s2-gray-1000":`#000000`,"--s2-bg-base":`#fdf9f3`,"--s2-bg-layer-1":`#f8f2e8`,"--s2-bg-layer-2":`#f2eadd`,"--s2-bg-elevated":`#e8dfd0`,"--s2-bg-sunken":`#f2eadd`,"--s2-accent":`#c87830`,"--s2-accent-hover":`#b06828`,"--s2-accent-down":`#985820`,"--slicc-cone":`#e89040`,"--s2-border-default":`#d0c3b0`,"--s2-border-subtle":`#ddd2c0`,"--canvas":`#fdf9f3`,"--bg":`#f2eadd`,"--ghost":`#f2eadd`,"--desk":`#f2eadd`,"--ink":`#1a1408`,"--deep":`#1a1408`,"--txt-2":`#6b5a42`,"--txt-3":`#8f7a60`,"--line":`#d0c3b0`,"--ctx":`#c87830`,"--shaderbg":`#fdf9f3`}},{id:`sorbet`,name:`Sorbet`,base:`light`,disableShader:!0,tokens:{"--s2-gray-25":`#fff8f6`,"--s2-gray-50":`#fef0ed`,"--s2-gray-75":`#fce8e3`,"--s2-gray-100":`#f8ddd6`,"--s2-gray-200":`#f0d0c8`,"--s2-gray-300":`#e8c0b8`,"--s2-gray-400":`#d4a89e`,"--s2-gray-500":`#a8807a`,"--s2-gray-600":`#80605c`,"--s2-gray-700":`#5c4240`,"--s2-gray-800":`#3a2826`,"--s2-gray-900":`#1e1412`,"--s2-gray-1000":`#000000`,"--s2-bg-base":`#fff8f6`,"--s2-bg-layer-1":`#fef0ed`,"--s2-bg-layer-2":`#fce8e3`,"--s2-bg-elevated":`#f8ddd6`,"--s2-bg-sunken":`#fce8e3`,"--s2-accent":`#e86050`,"--s2-accent-hover":`#d04840`,"--s2-accent-down":`#b83830`,"--slicc-cone":`#ff7860`,"--s2-border-default":`#e8c0b8`,"--s2-border-subtle":`#f0d0c8`,"--canvas":`#fff8f6`,"--bg":`#fce8e3`,"--ghost":`#fce8e3`,"--desk":`#fce8e3`,"--ink":`#1e1412`,"--deep":`#1e1412`,"--txt-2":`#80605c`,"--txt-3":`#a8807a`,"--line":`#e8c0b8`,"--ctx":`#e86050`,"--shaderbg":`#fff8f6`}}],r=e({adjustLightness:()=>v,adjustSaturation:()=>y,applyCherryTheme:()=>J,applyThemeOverrides:()=>V,clearActiveTheme:()=>D,deleteCustomTheme:()=>A,deriveTokens:()=>b,exportTheme:()=>q,getActiveThemeId:()=>T,getActiveThemeJson:()=>M,getCustomThemes:()=>O,hexToHsl:()=>g,hslToHex:()=>_,importTheme:()=>Y,saveCustomTheme:()=>k,setActiveTheme:()=>E,setThemeChangeListener:()=>P}),i=t(`theme-engine`),a=/url\s*\(|@import|expression\s*\(|javascript:|[<>]/i,o=/^[a-zA-Z0-9#%.,()\-\s]*$/,s=/([a-zA-Z-]+)\s*\(/g,c=new Set([`rgb`,`rgba`,`hsl`,`hsla`,`hwb`,`var`,`calc`,`clamp`,`min`,`max`,`linear-gradient`,`radial-gradient`,`conic-gradient`]);function l(e){if(typeof e!=`string`||e.length===0||e.length>200||a.test(e)||!o.test(e))return!1;for(let t of e.matchAll(s))if(!c.has(t[1].toLowerCase()))return!1;return!0}function u(e){let t={};for(let[n,r]of Object.entries(e)){let e=n.startsWith(`--`)?n:`--${n}`;l(r)?t[e]=r:i.warn(`dropping unsafe theme token value`,{key:n})}return t}var d=/^[a-zA-Z0-9\s,'"-]{1,200}$/;function f(e){let t={};for(let[n,r]of Object.entries(e))(n===`fontFamily`?d.test(r):l(r))?t[n]=r:i.warn(`dropping unsafe theme component property`,{key:n});return t}function p(e){let t={};for(let[n,r]of Object.entries(e))r&&(t[n]=f(r));return t}function m(e){if(e){if(a.test(e)){i.warn(`dropping theme.css — contains url()/@import/expression()/javascript: or angle brackets`);return}return e}}function h(e){return{...e,tokens:u(e.tokens),css:m(e.css),components:e.components?p(e.components):void 0}}function g(e){let t=parseInt(e.slice(1,3),16)/255,n=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2;if(i===a)return[0,0,o];let s=i-a,c=o>.5?s/(2-i-a):s/(i+a),l;return l=i===t?((n-r)/s+(n<r?6:0))*60:i===n?((r-t)/s+2)*60:((t-n)/s+4)*60,[l,c,o]}function _(e,t,n){let r=(e,t,n)=>(n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e),i,a,o;if(t===0)i=a=o=n;else{let s=n<.5?n*(1+t):n+t-n*t,c=2*n-s,l=e/360;i=r(c,s,l+1/3),a=r(c,s,l),o=r(c,s,l-1/3)}let s=e=>Math.round(e*255).toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function v(e,t){let[n,r,i]=g(e);return _(n,r,Math.max(0,Math.min(1,i+t)))}function y(e,t){let[n,r,i]=g(e);return _(n,Math.max(0,Math.min(1,r+t)),i)}function b(e,t){let n=t===`dark`,r=n?.03:-.02,i={};i[`--s2-gray-25`]=e.background,i[`--s2-bg-base`]=e.background,i[`--s2-gray-50`]=v(e.background,r),i[`--s2-gray-75`]=v(e.background,r*2),i[`--s2-gray-100`]=v(e.background,r*3),i[`--s2-gray-200`]=v(e.background,r*5),i[`--s2-bg-sunken`]=v(e.background,n?-.02:.02),i[`--s2-bg-layer-1`]=v(e.background,r),i[`--s2-bg-layer-2`]=v(e.background,r*2),i[`--s2-bg-elevated`]=v(e.background,r*3),i[`--s2-gray-300`]=e.surface,i[`--s2-gray-900`]=e.text,i[`--s2-gray-1000`]=n?`#ffffff`:`#000000`,i[`--s2-gray-800`]=v(e.text,n?-.05:.05),i[`--s2-content-default`]=e.text,i[`--s2-content-secondary`]=v(e.text,n?-.1:.1),i[`--s2-content-tertiary`]=v(e.text,n?-.2:.2),i[`--s2-content-disabled`]=v(e.text,n?-.3:.3),i[`--s2-accent`]=e.accent,i[`--s2-accent-hover`]=v(e.accent,n?.08:-.06),i[`--s2-accent-down`]=v(e.accent,n?-.06:.08),i[`--slicc-accent`]=e.accent,i[`--slicc-cone`]=e.accent,i[`--slicc-scoop-blue`]=y(e.accent,.1),i[`--slicc-scoop-purple`]=v(e.accent,.05),i[`--slicc-scoop-teal`]=v(e.accent,-.05),i[`--s2-positive`]=e.success,i[`--s2-negative`]=e.error,i[`--s2-informative`]=e.accent,i[`--s2-notice`]=v(e.accent,n?.1:-.1),i[`--s2-border-default`]=e.border,i[`--s2-border-subtle`]=v(e.border,n?-.03:.03),i[`--s2-border-focus`]=e.accent,i[`--s2-shadow-elevated`]=n?`rgba(0, 0, 0, 0.4)`:`rgba(0, 0, 0, 0.1)`,i[`--s2-shadow-container`]=n?`rgba(0, 0, 0, 0.2)`:`rgba(0, 0, 0, 0.05)`,i[`--canvas`]=e.background,i[`--bg`]=v(e.background,n?-.02:.02),i[`--ghost`]=v(e.background,r*2),i[`--desk`]=v(e.background,r*2),i[`--ink`]=e.text,i[`--deep`]=e.text,i[`--txt-2`]=v(e.text,n?-.2:.2),i[`--txt-3`]=v(e.text,n?-.35:.35),i[`--line`]=e.border,i[`--ctx`]=e.accent,i[`--waffle`]=e.accent,i[`--shaderbg`]=e.background,i[`--amber`]=e.accent,i[`--violet`]=v(e.accent,n?.08:-.06),i[`--cyan`]=v(e.accent,n?-.06:.08),i[`--rose`]=y(e.accent,.1);let a=v(e.accent,n?-.06:.04),o=v(e.accent,n?.1:-.08);return i[`--rainbow`]=`linear-gradient(90deg, ${a} 0%, ${e.accent} 50%, ${o} 100%)`,i}var x=`slicc-themes`,S=`slicc-active-theme`,C=`slicc-theme-overrides`;function w(){try{return typeof localStorage<`u`&&typeof localStorage.getItem==`function`?localStorage:null}catch{return null}}function T(){return w()?.getItem(S)||null}function E(e){w()?.setItem(S,e)}function D(){w()?.removeItem(S)}function O(){try{return JSON.parse(w()?.getItem(x)||`[]`)}catch{return[]}}function k(e){let t=O().filter(t=>t.id!==e.id);t.push(e),w()?.setItem(x,JSON.stringify(t))}function A(e){let t=O().filter(t=>t.id!==e);w()?.setItem(x,JSON.stringify(t)),T()===e&&D()}function j(e){return n.find(t=>t.id===e)??O().find(t=>t.id===e)}function M(){let e=T();if(!e||e===`__preview`)return null;let t=j(e);return t?q(t):null}var N=null;function P(e){N=e}function F(e){N&&N(e?q(e):null)}function I(e){let t=[];return e.background&&t.push(`background:${e.background}`),e.text&&t.push(`color:${e.text}`),e.border&&t.push(`border:1px solid ${e.border}`),e.radius&&t.push(`border-radius:${e.radius}`),e.padding&&t.push(`padding:${e.padding}`),e.fontSize&&t.push(`font-size:${e.fontSize}`),e.fontFamily&&t.push(`font-family:${e.fontFamily}`),e.shadow&&t.push(`box-shadow:${e.shadow}`),e.blur&&t.push(`backdrop-filter:blur(${e.blur})`),e.height&&t.push(`height:${e.height}`),e.opacity&&t.push(`opacity:${e.opacity}`),t.map(e=>`${e}!important`).join(`;`)}var L={userBubble:[`slicc-user-message::part(bubble)`],assistantMessage:[`slicc-agent-message`,`slicc-agent-message .body`],codeBlock:[`slicc-agent-message pre`,`slicc-agent-message code`],nav:[`.slicc-nav`],composer:[`slicc-input-card > .slicc-input-card__card`],sidebar:[`.wcui-rail`,`.wcui-sidebar`],dialog:[`slicc-dialog::part(dialog)`]};function R(e){let t=[];for(let[n,r]of Object.entries(e)){if(!r)continue;let e=L[n];if(!e)continue;let i=I(r);i&&t.push(`${e.join(`,`)}{${i}}`)}return t.join(`
2
2
  `)}function z(e){let t=h(e),n=Object.entries(t.tokens).map(([e,t])=>` ${e}: ${t};`).join(`
3
3
  `);return`:root {\n${n}\n}\n.dark, [data-theme="dark"] {\n${n}\n}${t.disableShader?`\n.wcui-shader{display:none!important;}\nbody{background:${t.tokens[`--canvas`]||t.tokens[`--s2-gray-25`]||`var(--canvas)`}!important;}`:``}${t.components?`\n${R(t.components)}`:``}${t.css?`\n${t.css}`:``}`}function B(e){let t=document.getElementById(C);if(t)t.textContent=e;else{let t=document.createElement(`style`);t.id=C,t.textContent=e,document.head.appendChild(t)}}function V(){if(typeof document>`u`||!document.getElementById)return;let e=T(),t=document.getElementById(C);if(!e){t?.remove(),H(!0),K(void 0),U(),G(),F(void 0);return}let n=j(e);if(!n||Object.keys(n.tokens).length===0){t?.remove(),H(!0),K(void 0),U(),G(),F(void 0);return}B(z(n)),H(!n.disableShader),K(n),W(n.base),G(),F(n)}function H(e){let t=document.querySelector(`.wcui-shader`);t&&(t.style.display=e?``:`none`)}function U(){let e=document.body;e&&(window.matchMedia?.(`(prefers-color-scheme: dark)`).matches??!0?(e.classList.add(`dark`),e.setAttribute(`data-theme`,`dark`)):(e.classList.remove(`dark`),e.setAttribute(`data-theme`,`light`)))}function W(e){let t=document.body;t&&(e===`dark`?(t.classList.add(`dark`),t.setAttribute(`data-theme`,`dark`)):(t.classList.remove(`dark`),t.setAttribute(`data-theme`,`light`)))}function G(){document.documentElement.classList.toggle(`slicc-theme-applied`)}function K(e){let t=document.querySelector(`.slicc-nav`);t&&(e?t.style.setProperty(`--ctx`,e.tokens[`--ctx`]||e.tokens[`--waffle`]||``):t.style.setProperty(`--ctx`,`var(--waffle)`))}function q(e){return JSON.stringify(e,null,2)}function J(e){if(typeof document>`u`)return;let t;try{t=Y(e)}catch(e){i.warn(`ignoring malformed cherry theme`,{error:e instanceof Error?e.message:String(e)});return}Object.keys(t.tokens).length!==0&&(B(z(t)),H(!t.disableShader),K(t),W(t.base),G())}function Y(e){let t;try{t=JSON.parse(e)}catch{throw Error(`Invalid JSON`)}if(!t||typeof t!=`object`||!(`id`in t)||!(`name`in t)||!(`base`in t)||!(`tokens`in t))throw Error(`Invalid theme: missing required fields (id, name, base, tokens)`);let n=t;if(n.base!==`dark`&&n.base!==`light`)throw Error(`Invalid theme: base must be "dark" or "light"`);if(typeof n.tokens!=`object`||n.tokens===null)throw Error(`Invalid theme: tokens must be an object`);return n}export{A as a,T as c,k as d,E as f,D as i,O as l,n as m,J as n,b as o,r as p,V as r,q as s,v as t,Y as u};
@@ -1,2 +1,2 @@
1
- import{n as e}from"./rolldown-runtime-aKtaBQYM.js";var t=e({applyTimestampVisibility:()=>l,formatMessageTimestamp:()=>d,getShowTimestamps:()=>s,initTimestampPreference:()=>u,setShowTimestamps:()=>c}),n=`slicc_show_timestamps`,r=`slicc-show-timestamps`,i=`slicc-timestamp-visibility`,a=!1;function o(e){if(e.getElementById(i))return;let t=e.createElement(`style`);t.id=i,t.textContent=[`slicc-user-message::part(timestamp),`,`slicc-agent-message .msg-ts {`,` display: none;`,`}`,`.${r} slicc-user-message::part(timestamp),`,`.${r} slicc-agent-message .msg-ts {`,` display: block;`,`}`].join(`
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";var t=e({applyTimestampVisibility:()=>l,formatMessageTimestamp:()=>d,getShowTimestamps:()=>s,initTimestampPreference:()=>u,setShowTimestamps:()=>c}),n=`slicc_show_timestamps`,r=`slicc-show-timestamps`,i=`slicc-timestamp-visibility`,a=!1;function o(e){if(e.getElementById(i))return;let t=e.createElement(`style`);t.id=i,t.textContent=[`slicc-user-message::part(timestamp),`,`slicc-agent-message .msg-ts {`,` display: none;`,`}`,`.${r} slicc-user-message::part(timestamp),`,`.${r} slicc-agent-message .msg-ts {`,` display: block;`,`}`].join(`
2
2
  `),e.head.appendChild(t)}function s(){if(typeof localStorage>`u`||typeof localStorage?.getItem!=`function`)return!0;let e=localStorage.getItem(n);return e===null||e===`true`}function c(e){typeof localStorage<`u`&&typeof localStorage?.setItem==`function`&&localStorage.setItem(n,String(e)),l()}function l(e){if(typeof document>`u`)return;o(document);let t=e===void 0?s():e;document.documentElement.classList.toggle(r,t),a=!0}function u(){a||l()}function d(e){return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):null}export{t as a,c as i,s as n,u as r,d as t};
@@ -1 +1 @@
1
- import{t as e}from"./logger-DDBAeTLF.js";import"./src-BStYtmHq.js";e(`image-processor`);var t=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function n(e){return t.has(e)}var r=String.raw`<img:data:image\/[^>]+>`,i=`<img:`,a=`;base64,`;function o(){return new RegExp(r,`g`)}function s(e){if(!e.startsWith(i)||!e.endsWith(`>`))return null;let t=e.slice(5,-1),n=t.indexOf(a);if(n<0)return null;let r=t.slice(5,n),o=t.slice(n+8);return!t.startsWith(`data:image/`)||r.length===6||r.includes(`;`)||!o?null:{dataUrl:t,mimeType:r,data:o}}function c(e){let t=e.replace(/[\t\n\f\r ]/g,``);if(!/^[A-Za-z0-9+/]+={0,2}$/.test(t))return null;let n=t.indexOf(`=`);return n>=0&&n<t.length-(t.endsWith(`==`)?2:1)||(n<0?t.length:n)%4==1||n>=0&&t.length%4!=0?null:t}function l(e){let t=[],r=0;for(let i of e.matchAll(o())){let a=i[0],o=s(a),l=o?c(o.data):null;if(!o||!l||!n(o.mimeType))continue;let u=i.index??0;u>r&&t.push({type:`text`,text:e.slice(r,u)}),t.push({type:`image`,marker:a,mimeType:o.mimeType,data:l,dataUrl:`data:${o.mimeType};base64,${l}`}),r=u+a.length}return(r<e.length||t.length===0)&&t.push({type:`text`,text:e.slice(r)}),t}export{l as t};
1
+ import{t as e}from"./logger-DDBAeTLF.js";import"./src-CAWTvdAa.js";e(`image-processor`);var t=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function n(e){return t.has(e)}var r=String.raw`<img:data:image\/[^>]+>`,i=`<img:`,a=`;base64,`;function o(){return new RegExp(r,`g`)}function s(e){if(!e.startsWith(i)||!e.endsWith(`>`))return null;let t=e.slice(5,-1),n=t.indexOf(a);if(n<0)return null;let r=t.slice(5,n),o=t.slice(n+8);return!t.startsWith(`data:image/`)||r.length===6||r.includes(`;`)||!o?null:{dataUrl:t,mimeType:r,data:o}}function c(e){let t=e.replace(/[\t\n\f\r ]/g,``);if(!/^[A-Za-z0-9+/]+={0,2}$/.test(t))return null;let n=t.indexOf(`=`);return n>=0&&n<t.length-(t.endsWith(`==`)?2:1)||(n<0?t.length:n)%4==1||n>=0&&t.length%4!=0?null:t}function l(e){let t=[],r=0;for(let i of e.matchAll(o())){let a=i[0],o=s(a),l=o?c(o.data):null;if(!o||!l||!n(o.mimeType))continue;let u=i.index??0;u>r&&t.push({type:`text`,text:e.slice(r,u)}),t.push({type:`image`,marker:a,mimeType:o.mimeType,data:l,dataUrl:`data:${o.mimeType};base64,${l}`}),r=u+a.length}return(r<e.length||t.length===0)&&t.push({type:`text`,text:e.slice(r)}),t}export{l as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./logger-LESFN7Hj.js";import{n as t,t as n}from"./base64-Ba7QB87Z.js";import"./src-CcFD5QfS.js";const r=e(`image-processor`),i=3932160,a=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function o(e){return a.has(e)}function s(e){let t=e.replace(/[\t\n\f\r ]/g,``),n=t.length%4;return n===2?`${t}==`:n===3?`${t}=`:t}function c(e,t){let r=n(s(e.slice(0,t)));return new DataView(r.buffer,r.byteOffset,r.byteLength)}function l(e,t){return e>0&&t>0?{width:e,height:t}:null}function u(e){if(e.length<32)return null;let t=c(e,32);return l(t.getUint32(16,!1),t.getUint32(20,!1))}function d(e){if(e.length<16)return null;let t=c(e,16);return l(t.getUint16(6,!0),t.getUint16(8,!0))}function f(e){let t=c(e,Math.min(87384,e.length));for(let e=0;e<t.byteLength-8;e++){if(t.getUint8(e)!==255)continue;let n=t.getUint8(e+1);if(n===192||n===194)return l(t.getUint16(e+7,!1),t.getUint16(e+5,!1))}return null}function p(e,t){try{let n=s(e);if(t===`image/png`)return u(n);if(t===`image/gif`)return d(n);if(t===`image/jpeg`)return f(n)}catch{}return null}async function m(e){if(!o(e.mimeType))return r.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let a=e.data.length,c=p(e.data,e.mimeType);if(!(a>5242880||c!==null&&(c.width>8e3||c.height>8e3)||c!==null&&Math.max(c.width,c.height)>1568))return e;r.info(`Image needs processing`,{base64Size:a,dimensions:c?`${c.width}x${c.height}`:`unknown`,reason:a>5242880?`size`:`dimensions`});let l,u;try{let e=await import(`./magick-wasm-7Gy4Vlf5.js`).then(e=>e.r);l=e.getMagick,u=e.MIME_TO_MAGICK_FORMAT}catch(e){return r.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let d;try{d=await l()}catch(e){return r.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let o=n(s(e.data)),c={data:null,mime:e.mimeType};if(await d.ImageMagick.read(o,async t=>{let n=t.width,a=t.height,o=Math.max(n,a);if(o>1568){let e=1568/o,i=Math.round(n*e),s=Math.round(a*e);t.resize(i,s),r.info(`Resized image`,{from:`${n}x${a}`,to:`${i}x${s}`})}let s=u[e.mimeType]||`JPEG`;t.write(s,e=>{c.data=new Uint8Array(e)}),c.data&&c.data.length>i&&s!==`JPEG`?(r.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{c.data=new Uint8Array(e)}),c.mime=`image/jpeg`):c.data&&c.data.length>i&&(r.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{c.data=new Uint8Array(e)}))}),!c.data)return r.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(c.data.length>i)return r.warn(`Image still over 5MB after resize+compress`,{size:c.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(c.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let l=t(c.data);return r.info(`Image processed successfully`,{originalBase64:a,newBase64:l.length,mimeType:c.mime}),{type:`image`,data:l,mimeType:c.mime}}catch(t){return r.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:a,error:t instanceof Error?t.message:String(t)}),{type:`text`,text:`[Image removed: image data could not be processed (${t instanceof Error?t.message:`corrupt or unreadable`})]`}}}const h=String.raw`<img:data:image\/[^>]+>`;function g(){return new RegExp(h,`g`)}function _(e){if(!e.startsWith(`<img:`)||!e.endsWith(`>`))return null;let t=e.slice(5,-1),n=t.indexOf(`;base64,`);if(n<0)return null;let r=t.slice(5,n),i=t.slice(n+8);return!t.startsWith(`data:image/`)||r.length===6||r.includes(`;`)||!i?null:{dataUrl:t,mimeType:r,data:i}}export{_ as n,m as r,g as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./tool-result-images-Dw3zBAjg.js";const t=new Set([`send_message`,`list_scoops`,`list_tasks`,`sudo_request`,`list_sudo_requests`,`lick_confirm`,`lick_dismiss`]),n=65536;function r(e,t=n){return e.length<=t?e:`${e.slice(0,t)}\n… [tool output truncated for the chat transcript: showing ${s(t)} of ${s(e.length)} — the agent received the full output]`}function i(e,t=n,a=4){if(typeof e==`string`)return r(e,t);if(typeof e!=`object`||!e||a<=0)return e;if(Array.isArray(e)){let n=null;for(let r=0;r<e.length;r++){let o=i(e[r],t,a-1);o!==e[r]&&(n??=[...e],n[r]=o)}return n??e}let o=null;for(let[n,r]of Object.entries(e)){let s=i(r,t,a-1);s!==r&&(o??={...e},o[n]=s)}return o??e}function a(t,i=n){if(!t)return t;if(!e().test(t))return r(t,i);let a=r(t.replace(e(),``).trim(),i);return a.length>0?`${a}\n[screenshot omitted from transcript]`:`[screenshot]`}function o(t,i=n){if(t.length<=i)return t;if(!e().test(t))return r(t,i);let a=[],o=0;for(let n of t.matchAll(e()))a.push(r(t.slice(o,n.index),i)),a.push(n[0]),o=(n.index??0)+n[0].length;return a.push(r(t.slice(o),i)),a.join(``)}function s(e){return e>=1048576?`${(e/1048576).toFixed(1)} MB`:`${Math.round(e/1024)} KB`}export{t as a,o as i,i as n,a as r,r as t};
@@ -1 +1 @@
1
- import{s as e,t}from"./proxied-fetch-GabK83LB.js";import{t as n}from"./runtime-env-byAg9ij-.js";import{i as r,y as i}from"./shared-SS_FwfdN.js";function a(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:a}=i(),o=null;if(n!==null&&a>0&&t<a){let i=e()-n,s=t-r;if(i>=1e3&&s>0){let e=s/i;o=(a-t)/e/1e3}}return a>0&&t>=a&&(o=0),{loaded:t,total:a,etaSeconds:o}}}}const o=Symbol.for(`slicc.transformers-env.fetch-wrapped`),s=n,c=`/workspace/node_modules/onnxruntime-web/dist/`,l=`/workspace/models/`;function u(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function d(e){let t=u(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function f(){return globalThis.location?.origin??null}function p(e){let t=f();if(!t)return!1;try{return new URL(u(e)).origin===t}catch{return!1}}async function m(n,r){let i=u(n),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=t({...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(e(`/api/fetch-proxy`),c)}const h=[`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`],g=Symbol.for(`slicc.transformers-env.vfs-enoent`);function _(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`,s),t.close(),e()},o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[g]=!0,a(()=>i(t))},3e4),s=t=>{let s=t.data;if(s?.type!==`preview-vfs-response`||s.id!==n)return;if(clearTimeout(o),typeof s.error==`string`){let e=Error(s.error);s.error.includes(`ENOENT`)&&(e[g]=!0),a(()=>i(e));return}let c=s.content;if(c instanceof Uint8Array){a(()=>r(c));return}if(typeof c==`string`){a(()=>r(new TextEncoder().encode(c)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function v(e){return!!e?.[g]}function y(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function b(e,t){if(!t||!e.startsWith(t))return null;let n=e.slice(t.length).split(`?`)[0].split(`#`)[0];return`${l}${n}`}async function x(e,t){let n;try{n=await _(e)}catch(t){if(v(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let i=r(e);return(t?.headers?new Headers(t.headers).get(`range`):null)===`bytes=0-0`?new Response(null,{status:206,headers:{"Content-Type":i,"Content-Length":String(n.byteLength),"Content-Range":`bytes 0-0/${n.byteLength}`}}):new Response(y(n),{status:200,headers:{"Content-Type":i,"Content-Length":String(n.byteLength)}})}let S=null;async function C(){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(h.map(async t=>{try{let n=await _(`${c}${t}`),i=new Blob([y(n)],{type:r(t)});e[t]=URL.createObjectURL(i)}catch(e){if(!v(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 w(){return S||=C(),S}function T(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=i(c)),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=i(l),s())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&w().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[o])return;let r=n,a=e.localModelPath,f=async(e,t)=>{let n=b(u(e),a);return n===null?!d(e)||p(e)?r?r(e,t):fetch(e,t):m(e,t):x(n,t)};f[o]=!0,e.fetch=f}async function E(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await _(`${l}${e}/config.json`)}catch(e){if(v(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{w as a,T as i,h as n,a as o,E as r,c as t};
1
+ import{s as e,t}from"./proxied-fetch-CSNzus3d.js";import{t as n}from"./runtime-env-byAg9ij-.js";import{i as r,y as i}from"./shared-D4Q0n73P.js";function a(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:a}=i(),o=null;if(n!==null&&a>0&&t<a){let i=e()-n,s=t-r;if(i>=1e3&&s>0){let e=s/i;o=(a-t)/e/1e3}}return a>0&&t>=a&&(o=0),{loaded:t,total:a,etaSeconds:o}}}}const o=Symbol.for(`slicc.transformers-env.fetch-wrapped`),s=n,c=`/workspace/node_modules/onnxruntime-web/dist/`,l=`/workspace/models/`;function u(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function d(e){let t=u(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function f(){return globalThis.location?.origin??null}function p(e){let t=f();if(!t)return!1;try{return new URL(u(e)).origin===t}catch{return!1}}async function m(n,r){let i=u(n),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=t({...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(e(`/api/fetch-proxy`),c)}const h=[`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`],g=Symbol.for(`slicc.transformers-env.vfs-enoent`);function _(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`,s),t.close(),e()},o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[g]=!0,a(()=>i(t))},3e4),s=t=>{let s=t.data;if(s?.type!==`preview-vfs-response`||s.id!==n)return;if(clearTimeout(o),typeof s.error==`string`){let e=Error(s.error);s.error.includes(`ENOENT`)&&(e[g]=!0),a(()=>i(e));return}let c=s.content;if(c instanceof Uint8Array){a(()=>r(c));return}if(typeof c==`string`){a(()=>r(new TextEncoder().encode(c)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function v(e){return!!e?.[g]}function y(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function b(e,t){if(!t||!e.startsWith(t))return null;let n=e.slice(t.length).split(`?`)[0].split(`#`)[0];return`${l}${n}`}async function x(e,t){let n;try{n=await _(e)}catch(t){if(v(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let i=r(e);return(t?.headers?new Headers(t.headers).get(`range`):null)===`bytes=0-0`?new Response(null,{status:206,headers:{"Content-Type":i,"Content-Length":String(n.byteLength),"Content-Range":`bytes 0-0/${n.byteLength}`}}):new Response(y(n),{status:200,headers:{"Content-Type":i,"Content-Length":String(n.byteLength)}})}let S=null;async function C(){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(h.map(async t=>{try{let n=await _(`${c}${t}`),i=new Blob([y(n)],{type:r(t)});e[t]=URL.createObjectURL(i)}catch(e){if(!v(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 w(){return S||=C(),S}function T(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=i(c)),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=i(l),s())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&w().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[o])return;let r=n,a=e.localModelPath,f=async(e,t)=>{let n=b(u(e),a);return n===null?!d(e)||p(e)?r?r(e,t):fetch(e,t):m(e,t):x(n,t)};f[o]=!0,e.fetch=f}async function E(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await _(`${l}${e}/config.json`)}catch(e){if(v(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{w as a,T as i,h as n,a as o,E as r,c as t};
@@ -1 +1 @@
1
- import{o as e,t}from"./proxied-fetch-A48etSCh.js";import{n}from"./runtime-env-DH4NDw4t.js";import{n as r,t as i}from"./shared-BYVJAPbn.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=Symbol.for(`slicc.transformers-env.fetch-wrapped`),c=n,l=`/workspace/node_modules/onnxruntime-web/dist/`,u=`/workspace/models/`;function d(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function f(e){let t=d(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function p(){return globalThis.location?.origin??null}function m(e){let t=p();if(!t)return!1;try{return new URL(d(e)).origin===t}catch{return!1}}async function h(n,r){let i=d(n),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=t({...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(e(`/api/fetch-proxy`),c)}var g=3e4,_=[`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`],v=Symbol.for(`slicc.transformers-env.vfs-enoent`);function y(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`,s),t.close(),e()},o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[v]=!0,a(()=>i(t))},g),s=t=>{let s=t.data;if(s?.type!==`preview-vfs-response`||s.id!==n)return;if(clearTimeout(o),typeof s.error==`string`){let e=Error(s.error);s.error.includes(`ENOENT`)&&(e[v]=!0),a(()=>i(e));return}let c=s.content;if(c instanceof Uint8Array){a(()=>r(c));return}if(typeof c==`string`){a(()=>r(new TextEncoder().encode(c)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function b(e){return!!e?.[v]}function x(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function S(e,t){return!t||!e.startsWith(t)?null:`${u}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function C(e,t){let n;try{n=await y(e)}catch(t){if(b(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(x(n),{status:200,headers:{"Content-Type":r,"Content-Length":String(n.byteLength)}})}var w=null;async function T(){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(_.map(async t=>{try{let n=await y(`${l}${t}`),r=new Blob([x(n)],{type:i(t)});e[t]=URL.createObjectURL(r)}catch(e){if(!b(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 E(){return w||=T(),w}function D(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=r(l)),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=r(u),c())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&E().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[s])return;let i=n,a=e.localModelPath,o=async(e,t)=>{let n=S(d(e),a);return n===null?!f(e)||m(e)?i?i(e,t):fetch(e,t):h(e,t):C(n,t)};o[s]=!0,e.fetch=o}async function O(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await y(`${u}${e}/config.json`)}catch(e){if(b(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{o as i,D as n,E as r,O as t};
1
+ import{o as e,t}from"./proxied-fetch-ULPrH97b.js";import{n}from"./runtime-env-DH4NDw4t.js";import{n as r,t as i}from"./shared-Y4VMjBcs.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=Symbol.for(`slicc.transformers-env.fetch-wrapped`),c=n,l=`/workspace/node_modules/onnxruntime-web/dist/`,u=`/workspace/models/`;function d(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function f(e){let t=d(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function p(){return globalThis.location?.origin??null}function m(e){let t=p();if(!t)return!1;try{return new URL(d(e)).origin===t}catch{return!1}}async function h(n,r){let i=d(n),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=t({...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(e(`/api/fetch-proxy`),c)}var g=3e4,_=[`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`],v=Symbol.for(`slicc.transformers-env.vfs-enoent`);function y(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`,s),t.close(),e()},o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[v]=!0,a(()=>i(t))},g),s=t=>{let s=t.data;if(s?.type!==`preview-vfs-response`||s.id!==n)return;if(clearTimeout(o),typeof s.error==`string`){let e=Error(s.error);s.error.includes(`ENOENT`)&&(e[v]=!0),a(()=>i(e));return}let c=s.content;if(c instanceof Uint8Array){a(()=>r(c));return}if(typeof c==`string`){a(()=>r(new TextEncoder().encode(c)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function b(e){return!!e?.[v]}function x(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function S(e,t){return!t||!e.startsWith(t)?null:`${u}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function C(e,t){let n;try{n=await y(e)}catch(t){if(b(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(x(n),{status:200,headers:{"Content-Type":r,"Content-Length":String(n.byteLength)}})}var w=null;async function T(){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(_.map(async t=>{try{let n=await y(`${l}${t}`),r=new Blob([x(n)],{type:i(t)});e[t]=URL.createObjectURL(r)}catch(e){if(!b(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 E(){return w||=T(),w}function D(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=r(l)),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=r(u),c())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&E().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[s])return;let i=n,a=e.localModelPath,o=async(e,t)=>{let n=S(d(e),a);return n===null?!f(e)||m(e)?i?i(e,t):fetch(e,t):h(e,t):C(n,t)};o[s]=!0,e.fetch=o}async function O(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await y(`${u}${e}/config.json`)}catch(e){if(b(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{o as i,D as n,E as r,O as t};