sliccy 5.73.3 → 5.74.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.
- package/README.md +1 -0
- package/dist/node-server/_shared/index.d.ts +2 -0
- package/dist/node-server/_shared/index.d.ts.map +1 -1
- package/dist/node-server/_shared/index.js +2 -0
- package/dist/node-server/_shared/index.js.map +1 -1
- package/dist/node-server/_shared/secrets-pipeline.d.ts +22 -0
- package/dist/node-server/_shared/secrets-pipeline.d.ts.map +1 -1
- package/dist/node-server/_shared/secrets-pipeline.js +50 -0
- package/dist/node-server/_shared/secrets-pipeline.js.map +1 -1
- package/dist/node-server/_shared/transcript-export.d.ts +161 -0
- package/dist/node-server/_shared/transcript-export.d.ts.map +1 -0
- package/dist/node-server/_shared/transcript-export.js +804 -0
- package/dist/node-server/_shared/transcript-export.js.map +1 -0
- package/dist/node-server/_shared/transcript-redaction.d.ts +25 -0
- package/dist/node-server/_shared/transcript-redaction.d.ts.map +1 -0
- package/dist/node-server/_shared/transcript-redaction.js +107 -0
- package/dist/node-server/_shared/transcript-redaction.js.map +1 -0
- package/dist/node-server/_shared/tray-sync-protocol.d.ts +56 -1
- package/dist/node-server/_shared/tray-sync-protocol.d.ts.map +1 -1
- package/dist/node-server/_shared/tray-sync-protocol.js +1 -1
- package/dist/node-server/_shared/tray-sync-protocol.js.map +1 -1
- package/dist/node-server/routes/secrets.js +52 -22
- package/dist/ui/assets/account-store-CJqBAm1f.js +43 -0
- package/dist/ui/assets/account-store-CxSwSaS8.js +101 -0
- package/dist/ui/assets/{adobe-lCsH7Lwq.js → adobe-j3AP8U12.js} +2 -2
- package/dist/ui/assets/{adobe-ufabHIuG.js → adobe-lvezht3s.js} +1 -1
- package/dist/ui/assets/anthropic-messages-BFic5zKY.js +39 -0
- package/dist/ui/assets/anthropic-messages-C8dDJE2X.js +39 -0
- package/dist/ui/assets/{apps-Cz0oexXD.js → apps-D8IGKFP6.js} +1 -1
- package/dist/ui/assets/{azure-openai-DjIwn0QF.js → azure-openai-BD60xdeq.js} +1 -1
- package/dist/ui/assets/{azure-openai-CMEdXGgc.js → azure-openai-DyqeeHYG.js} +1 -1
- package/dist/ui/assets/azure-openai-responses-B_twhN44.js +1 -0
- package/dist/ui/assets/azure-openai-responses-CzG7X9qb.js +1 -0
- package/dist/ui/assets/bedrock-camp-BO4bvAKs.js +1 -0
- package/dist/ui/assets/{bedrock-camp-PMQ4Iu6f.js → bedrock-camp-CVignIdH.js} +1 -1
- package/dist/ui/assets/{bridge-launch-params-jegYRGJ6.js → bridge-launch-params-QY3l_LbM.js} +1 -1
- package/dist/ui/assets/{cdp-7evcrxxP.js → cdp-D9eDDEuA.js} +1 -1
- package/dist/ui/assets/{cerebras-VrdMK4Tc.js → cerebras-B0L70LLb.js} +1 -1
- package/dist/ui/assets/{cerebras-BvFtCskg.js → cerebras-Di6jTcHx.js} +1 -1
- package/dist/ui/assets/{client-BliYDaDA.js → client-BxYB_ioq.js} +1 -1
- package/dist/ui/assets/compat-aVSWLlYQ.js +2 -0
- package/dist/ui/assets/{composer-speech-BSy_wbJC.js → composer-speech-FeteaFpi.js} +1 -1
- package/dist/ui/assets/{connect-surface-ETqeSANr.js → connect-surface-CAwJVqDK.js} +1 -1
- package/dist/ui/assets/constrained-sampling-DafcjXU6.js +1 -0
- package/dist/ui/assets/{context-compaction-CW5AQ9bv.js → context-compaction-_UkD06XB.js} +1 -1
- package/dist/ui/assets/{discovery-preference-CUhsI-AU.js → discovery-preference-C0L_79z7.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-8cWrra0n.js → ensure-speech-assets-DGq5bX3t.js} +1 -1
- package/dist/ui/assets/export-provider-B6K_eHX_.js +1 -0
- package/dist/ui/assets/export-spool-DCxGPg43.js +1 -0
- package/dist/ui/assets/{follower-navigate-watcher-UN0jo7Ge.js → follower-navigate-watcher-DgusZOpY.js} +1 -1
- package/dist/ui/assets/{fs-CgX9Ebib.js → fs-BI3-y-dt.js} +2 -2
- package/dist/ui/assets/{fs-C5GhaBCZ.js → fs-DUi6CyVs.js} +1 -1
- package/dist/ui/assets/{github-DMFLbpJz.js → github-CsLyOpIY.js} +1 -1
- package/dist/ui/assets/{github-B85TuvhV.js → github-DdtaZi7X.js} +2 -2
- package/dist/ui/assets/{github-copilot-kOORCU_n.js → github-copilot-B3YCnypU.js} +1 -1
- package/dist/ui/assets/{github-copilot-CXnNPGCI.js → github-copilot-CLH7n3QY.js} +1 -1
- package/dist/ui/assets/google-generative-ai-4YtIu_sJ.js +1 -0
- package/dist/ui/assets/google-generative-ai-DzD1vsXe.js +1 -0
- package/dist/ui/assets/google-shared-BAKd3aSn.js +371 -0
- package/dist/ui/assets/google-shared-CCLlnqMF.js +11 -0
- package/dist/ui/assets/google-vertex-8lUayXF0.js +1 -0
- package/dist/ui/assets/google-vertex-oQOD3HKr.js +1 -0
- package/dist/ui/assets/{handoff-link-CfgH86mb.js → handoff-link-Dmaaww5x.js} +1 -1
- package/dist/ui/assets/{hear-B5lURJtR.js → hear-CRBq5mEX.js} +1 -1
- package/dist/ui/assets/{hear-DI5vlKdf.js → hear-v5qXSZw8.js} +1 -1
- package/dist/ui/assets/{kernel-worker-HuBcjkoV.js → kernel-worker-BL7ADt6y.js} +727 -599
- package/dist/ui/assets/{kokoro-engine-DX7VicqD.js → kokoro-engine-CogHLlSk.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-CRTuRAqQ.js → legacy-api-aliases-IllWZ-uu.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-CdGTJw-r.js → legacy-api-aliases-sqlB2uHc.js} +1 -1
- package/dist/ui/assets/{lick-manager-Ct3WOtut.js → lick-manager-wU1FKkH8.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-D5zKuunw.js → lick-ws-bridge-CFKIh9aE.js} +1 -1
- package/dist/ui/assets/lick-ws-bridge-yMljNHwr.js +1 -0
- package/dist/ui/assets/{local-llm-DuNuGkgI.js → local-llm-BdGGSRtU.js} +2 -2
- package/dist/ui/assets/{local-llm-qHC_HYck.js → local-llm-Cys4QAHg.js} +1 -1
- package/dist/ui/assets/main-BZzNeGKC.js +22 -0
- package/dist/ui/assets/main-cherry-D_hgi0by.js +1 -0
- package/dist/ui/assets/mistral-conversations-C57IiFrP.js +8 -0
- package/dist/ui/assets/mistral-conversations-CzEm7KNl.js +7 -0
- package/dist/ui/assets/{mount-Dh0O4orp.js → mount-Dk-I5R7K.js} +1 -1
- package/dist/ui/assets/{mount-CpyDRxP6.js → mount-GBkZgZPI.js} +2 -2
- package/dist/ui/assets/{mount-bridge-client-DHGevTQu.js → mount-bridge-client-BWPRzAQ5.js} +1 -1
- package/dist/ui/assets/{mount-recovery-D687TLZv.js → mount-recovery-DO04oIYN.js} +1 -1
- package/dist/ui/assets/{navigation-watcher-BoJS9hdc.js → navigation-watcher-DkN9hU8i.js} +1 -1
- package/dist/ui/assets/new-session-DDu0IRGc.js +2 -0
- package/dist/ui/assets/oauth-bootstrap-DfSYlub_.js +2 -0
- package/dist/ui/assets/{oauth-service-foejPYvF.js → oauth-service-BuEH8BXq.js} +1 -1
- package/dist/ui/assets/{oauth-service-lE9AyywH.js → oauth-service-Dk3L2UWh.js} +1 -1
- package/dist/ui/assets/{openai-codex-jK5ybbFx.js → openai-codex-DuyyDpZA.js} +1 -1
- package/dist/ui/assets/openai-codex-responses-DRR6raXn.js +7 -0
- package/dist/ui/assets/openai-codex-responses-DU5CHdDQ.js +7 -0
- package/dist/ui/assets/openai-codex-rpYkFAL8.js +1 -0
- package/dist/ui/assets/openai-completions-B9S6450Q.js +5 -0
- package/dist/ui/assets/openai-completions-DhKgaAgM.js +5 -0
- package/dist/ui/assets/openai-responses-C4_jiYtu.js +1 -0
- package/dist/ui/assets/openai-responses-DmKhLxzV.js +1 -0
- package/dist/ui/assets/openai-responses-shared-CiIL52L-.js +10 -0
- package/dist/ui/assets/openai-responses-shared-IJFiSqdz.js +10 -0
- package/dist/ui/assets/{openrouter-C_pGnoz1.js → openrouter-BcPlZu_G.js} +1 -1
- package/dist/ui/assets/{openrouter-DVFBhELg.js → openrouter-DHTAGWtd.js} +1 -1
- package/dist/ui/assets/openrouter-images-6_MxZkJZ.js +1 -0
- package/dist/ui/assets/openrouter-images-BixC5B6a.js +1 -0
- package/dist/ui/assets/{openrouter-models-DM9v24kQ.js → openrouter-models-Bu1Cy5AD.js} +1 -1
- package/dist/ui/assets/{openrouter-models-B8MWxzTa.js → openrouter-models-CfnkMx5-.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CukjxICV.js → openrouter-oauth-CTIG_xj5.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DdKdfU0P.js → openrouter-oauth-iVwMGpbk.js} +1 -1
- package/dist/ui/assets/openrouter.models-DS1_VkCm.js +1 -0
- package/dist/ui/assets/openrouter.models-HnnH-abS.js +1 -0
- package/dist/ui/assets/page-follower-tray-M061L6UY.js +5 -0
- package/dist/ui/assets/{panel-rpc-handlers-UyWgyt3z.js → panel-rpc-handlers-CkC-CpDZ.js} +2 -2
- package/dist/ui/assets/{port-bridge-client-CoFZLSYm.js → port-bridge-client-DdolH4cw.js} +1 -1
- package/dist/ui/assets/{port-bridge-client-BC810skI.js → port-bridge-client-f_6YKEkm.js} +1 -1
- package/dist/ui/assets/{provider-B4WqwJf8.js → provider-Db5o_XYj.js} +2 -2
- package/dist/ui/assets/{provider-C-y-cI9Y.js → provider-DiWogq8f.js} +1 -1
- package/dist/ui/assets/provider-retry-C8PJzY_l.js +1 -0
- package/dist/ui/assets/{provider-settings-C5o54NBg.js → provider-settings-CSt8YEx4.js} +1 -1
- package/dist/ui/assets/provider-settings-DnRChWz9.js +2 -0
- package/dist/ui/assets/provider-store-access-Bo--BwLf.js +1 -0
- package/dist/ui/assets/{provider-store-access-B-0tnW1p.js → provider-store-access-DQypuwRG.js} +2 -2
- package/dist/ui/assets/{providers-BVNM94x0.js → providers-Bchg39l1.js} +1 -1
- package/dist/ui/assets/providers-DpzUvgPJ.js +2 -0
- package/dist/ui/assets/{proxied-fetch-D5h5REZy.js → proxied-fetch-CfcFb0B0.js} +1 -1
- package/dist/ui/assets/{proxied-fetch-ldIfAeIb.js → proxied-fetch-D8ebvbVd.js} +1 -1
- package/dist/ui/assets/quick-llm-CuKruUki.js +1 -0
- package/dist/ui/assets/{remote-cdp-transport-DOoXIxy3.js → remote-cdp-transport-Dmg2NdTA.js} +1 -1
- package/dist/ui/assets/{runtime-mode-BVHOImD_.js → runtime-mode-B8Tqab3Z.js} +1 -1
- package/dist/ui/assets/runtime-mode-BweZnYql.js +1 -0
- package/dist/ui/assets/{secret-env-dQA8rL_1.js → secret-env-Cn-GSA1R.js} +1 -1
- package/dist/ui/assets/{secret-topology-CptRwAX3.js → secret-topology-Baeul5rD.js} +1 -1
- package/dist/ui/assets/{secrets-bridge-client-D6nwnBvr.js → secrets-bridge-client-CLRo0NLf.js} +1 -1
- package/dist/ui/assets/session-freezer-DGs88nTW.js +21 -0
- package/dist/ui/assets/session-store-DQztDoVa.js +1 -0
- package/dist/ui/assets/setup-standalone-prelude-DJUR-Jx-.js +2 -0
- package/dist/ui/assets/setup-sudo-Cc-d6eO1.js +2 -0
- package/dist/ui/assets/sha256-DmK25X5D.js +1 -0
- package/dist/ui/assets/{silent-renew-backoff-DyzFsWYC.js → silent-renew-backoff-Chq7fPuc.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-Dzkpjjro.js → silent-renew-backoff-CqD4WRin.js} +1 -1
- package/dist/ui/assets/{skills-XOQZdId1.js → skills-gGjRrQeq.js} +1 -1
- package/dist/ui/assets/{speak-aEIq7SEP.js → speak-DZhfxcQp.js} +1 -1
- package/dist/ui/assets/{speak-B4wyr-p6.js → speak-wEvzUJ_4.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-354rS3Fe.js → sprinkle-manager-BYlc7AHg.js} +1 -1
- package/dist/ui/assets/src-BcePBv4G.js +1 -0
- package/dist/ui/assets/src-C9oNvq2b2.js +2 -0
- package/dist/ui/assets/src-DoFhVmQT.js +1 -0
- package/dist/ui/assets/{store-BifrdU3S.js → store-ByY8CO32.js} +1 -1
- package/dist/ui/assets/{sudo-CdCTvp3_.js → sudo-DsN_KTcg.js} +1 -1
- package/dist/ui/assets/{telemetry-C8rZr13D.js → telemetry-Dxrv_mDE.js} +1 -1
- package/dist/ui/assets/{transformers-env-DZtq7i0I.js → transformers-env-Cr03eE3X.js} +1 -1
- package/dist/ui/assets/{transformers-env-CeJN6XlP.js → transformers-env-DKadceXA.js} +1 -1
- package/dist/ui/assets/{tray-leader-DicSB8Dn.js → tray-leader-BDMuV-1a.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-BI5IM82V.js → tray-leave-runtime-DuZ41JQ-.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-DquE2Rx9.js → tray-runtime-config-9kTxza5l.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-8-BCHO27.js → tray-runtime-config-GgP0BHji.js} +1 -1
- package/dist/ui/assets/{tray-sync-protocol-CVdiCvfU.js → tray-sync-protocol-CxWJ329c.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-B3uBpES8.js → upgrade-detection-BjD6M6tx.js} +1 -1
- package/dist/ui/assets/{voice-reply-6cMxpz9H.js → voice-reply-CkYr1oSF.js} +1 -1
- package/dist/ui/assets/{wc-attach-DU0svqb7.js → wc-attach-CYMk5mBA.js} +1 -1
- package/dist/ui/assets/wc-extension-WOxllVQv.js +2 -0
- package/dist/ui/assets/{wc-float-label-2tniyRvt.js → wc-float-label-yV3hzRXJ.js} +1 -1
- package/dist/ui/assets/wc-follower-CqNUhals.js +17 -0
- package/dist/ui/assets/wc-live-DN4iNS1F.js +8 -0
- package/dist/ui/assets/wc-nav-DdL1jc0a.js +2 -0
- package/dist/ui/assets/{wc-onboarding-DMsV9vuN.js → wc-onboarding-Bzxu5Ii4.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-CNOsszW8.js → wc-placeholder-5zeCfEVA.js} +2 -2
- package/dist/ui/assets/{wc-settings-QlugO7SB.js → wc-settings-CrG7sAlG.js} +3 -3
- package/dist/ui/assets/{wc-shell-DZD-3K-u.js → wc-shell-DL44I68b.js} +3 -3
- package/dist/ui/assets/{wc-sprinkles-D38PuO87.js → wc-sprinkles-D52GEpi0.js} +2 -2
- package/dist/ui/assets/wc-transcript-export-5Pmfejur.js +2 -0
- package/dist/ui/assets/wc-tray-jp0YtxQG.js +2 -0
- package/dist/ui/assets/{whisper-engine-G1YfvaDM.js → whisper-engine-CHKYCaAu.js} +1 -1
- package/dist/ui/assets/{whisper-session-Ds5v74N9.js → whisper-session-W-6_Qa-h.js} +2 -2
- package/dist/ui/assets/{xai-grok-BujeRcN4.js → xai-grok-BuiKJ83J.js} +1 -1
- package/dist/ui/assets/xai-grok-BxZVhpe_.js +1 -0
- package/dist/ui/index.html +20 -18
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +20 -18
- package/package.json +1 -1
- package/dist/ui/assets/account-store-Dz-pna2J.js +0 -38
- package/dist/ui/assets/account-store-yyyfGfoQ.js +0 -94
- package/dist/ui/assets/amazon-bedrock-Cg62P8pR.json +0 -1
- package/dist/ui/assets/anthropic-4_qTN2Mu.json +0 -1
- package/dist/ui/assets/anthropic-messages-6XWFkWWy.js +0 -39
- package/dist/ui/assets/anthropic-messages-D42B1WVl.js +0 -39
- package/dist/ui/assets/azure-openai-responses-BvEv9lZE.js +0 -1
- package/dist/ui/assets/azure-openai-responses-DE9sINqp.json +0 -1
- package/dist/ui/assets/azure-openai-responses-DRSA640t.js +0 -1
- package/dist/ui/assets/bedrock-camp-D_7EbOFH.js +0 -1
- package/dist/ui/assets/cloudflare-ai-gateway-DDb7hKDm.json +0 -1
- package/dist/ui/assets/cloudflare-workers-ai-hYVOS3es.json +0 -1
- package/dist/ui/assets/compat-Spvv5tCW.js +0 -2
- package/dist/ui/assets/fireworks-B7kEGNCU.json +0 -1
- package/dist/ui/assets/github-copilot-K9C_HNHm.json +0 -1
- package/dist/ui/assets/google-F4XgvJ1y.json +0 -1
- package/dist/ui/assets/google-generative-ai-BqEHWDKc.js +0 -1
- package/dist/ui/assets/google-generative-ai-DOAY2Bef.js +0 -1
- package/dist/ui/assets/google-shared-2WQG4pNx.js +0 -11
- package/dist/ui/assets/google-shared-CGD-JGZx.js +0 -371
- package/dist/ui/assets/google-vertex-C-dQj0iH.js +0 -1
- package/dist/ui/assets/google-vertex-CiTExP0E.js +0 -1
- package/dist/ui/assets/huggingface-BjNadu0v.json +0 -1
- package/dist/ui/assets/lick-ws-bridge-BX-cBxCM.js +0 -1
- package/dist/ui/assets/main-BwSf9XOe.js +0 -22
- package/dist/ui/assets/main-cherry-9qp2ecC4.js +0 -1
- package/dist/ui/assets/mistral-CLEcIOtP.json +0 -1
- package/dist/ui/assets/mistral-conversations-BIHTMTfL.js +0 -7
- package/dist/ui/assets/mistral-conversations-CFKNSaPt.js +0 -8
- package/dist/ui/assets/moonshotai-8QShYhhE.json +0 -1
- package/dist/ui/assets/moonshotai-cn-7hHZff5z.json +0 -1
- package/dist/ui/assets/new-session-EfIhjpHZ.js +0 -2
- package/dist/ui/assets/nvidia-dA6GzUPm.json +0 -1
- package/dist/ui/assets/oauth-bootstrap-DFYztLmR.js +0 -2
- package/dist/ui/assets/openai-BehvdaXx.json +0 -1
- package/dist/ui/assets/openai-codex-XS4icMCX.js +0 -1
- package/dist/ui/assets/openai-codex-responses-B7cFMjWk.js +0 -7
- package/dist/ui/assets/openai-codex-responses-DqxoDEwc.js +0 -7
- package/dist/ui/assets/openai-completions-Z1aRkqWe.js +0 -5
- package/dist/ui/assets/openai-completions-o78dOizF.js +0 -5
- package/dist/ui/assets/openai-responses-SPfzkTJm.js +0 -1
- package/dist/ui/assets/openai-responses-shared-BHsJFKuB.js +0 -10
- package/dist/ui/assets/openai-responses-shared-Dg5Ojqlw.js +0 -10
- package/dist/ui/assets/openai-responses-xSdsW9lw.js +0 -1
- package/dist/ui/assets/opencode-4chvZrBR.json +0 -1
- package/dist/ui/assets/opencode-go-Chp1OOUx.json +0 -1
- package/dist/ui/assets/openrouter-ZLTwKIjA.json +0 -1
- package/dist/ui/assets/openrouter-images-BrQDTa3_.js +0 -1
- package/dist/ui/assets/openrouter-images-DtvjLeGK.js +0 -1
- package/dist/ui/assets/openrouter.models-Bi9GV7Zn.js +0 -1
- package/dist/ui/assets/openrouter.models-D41M1z_D.js +0 -1
- package/dist/ui/assets/page-follower-tray-Cm9cuA-m.js +0 -5
- package/dist/ui/assets/provider-settings-Bf4riFFt.js +0 -2
- package/dist/ui/assets/provider-store-access-DQ3Xz22u.js +0 -1
- package/dist/ui/assets/providers-BZHUuJkX.js +0 -2
- package/dist/ui/assets/quick-llm-CTddYx3-.js +0 -1
- package/dist/ui/assets/qwen-token-plan-BpxmzamU.json +0 -1
- package/dist/ui/assets/qwen-token-plan-cn-CPhDR0u_.json +0 -1
- package/dist/ui/assets/session-freezer-CVXiE5lj.js +0 -21
- package/dist/ui/assets/session-store-DAM8GRJ0.js +0 -1
- package/dist/ui/assets/setup-sudo-C8hl5UHa.js +0 -2
- package/dist/ui/assets/src-CS5gSDhT.js +0 -1
- package/dist/ui/assets/src-Dk1QVJRd.js +0 -1
- package/dist/ui/assets/together-CYZ-lBBF.json +0 -1
- package/dist/ui/assets/vercel-ai-gateway-ZtkcQH_C.json +0 -1
- package/dist/ui/assets/wc-extension-Dnbc6pqX.js +0 -2
- package/dist/ui/assets/wc-follower-DgOR4hQ4.js +0 -17
- package/dist/ui/assets/wc-live-DZ6Z4ggE.js +0 -8
- package/dist/ui/assets/wc-nav-CpXNlZRT.js +0 -2
- package/dist/ui/assets/wc-tray-MAH8ntv2.js +0 -2
- package/dist/ui/assets/xai-grok-CgCHECRn.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t,c as n,d as r,f as i,i as a,l as o,m as s,o as c,s as l,t as u,u as d}from"./theme-engine-jfuTMXZM.js";import{t as f}from"./theme-C8b_iQ_9.js";import{n as p,t as m}from"./discovery-preference-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-Dk3L2UWh.js","assets/preload-helper-Czpn1I53.js","assets/proxied-fetch-CfcFb0B0.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-DoFhVmQT.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/panel-rpc-DmJSNs0I.js","assets/wc-permissions-registry-Blyunq37.js","assets/provider-settings-DnRChWz9.js","assets/account-store-CJqBAm1f.js","assets/compat-aVSWLlYQ.js","assets/models-Bnh9VDA1.js","assets/event-stream-qbAZIAKV.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/openrouter.models-DS1_VkCm.js","assets/context-compaction-_UkD06XB.js","assets/logger-DDBAeTLF.js","assets/secret-topology-Baeul5rD.js","assets/secrets-bridge-client-CLRo0NLf.js","assets/port-bridge-client-DdolH4cw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DpzUvgPJ.js","assets/bedrock-camp-CVignIdH.js","assets/transform-messages-wECJwtH0.js","assets/tray-runtime-config-9kTxza5l.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-CyJIKXH4.js","assets/clipboard-DuHpK59o.js","assets/telemetry-Dxrv_mDE.js","assets/tray-join-url-BIvzbiFR.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{a as t,c as n,d as r,f as i,i as a,l as o,m as s,o as c,s as l,t as u,u as d}from"./theme-engine-jfuTMXZM.js";import{t as f}from"./theme-C8b_iQ_9.js";import{n as p,t as m}from"./discovery-preference-C0L_79z7.js";import{i as h,n as g}from"./timestamp-preference-DgrTvVNx.js";var _={surfaces:[`--s2-gray-25`,`--s2-gray-50`,`--s2-gray-75`,`--s2-gray-100`,`--s2-gray-200`,`--s2-bg-base`,`--s2-bg-layer-1`,`--s2-bg-layer-2`,`--s2-bg-elevated`,`--s2-bg-sunken`],text:[`--s2-gray-800`,`--s2-gray-900`,`--s2-gray-1000`,`--s2-content-default`,`--s2-content-secondary`,`--s2-content-tertiary`,`--s2-content-disabled`],accents:[`--slicc-cone`,`--slicc-scoop-blue`,`--slicc-scoop-purple`,`--slicc-scoop-teal`,`--slicc-accent`,`--s2-accent`,`--s2-accent-hover`,`--s2-accent-down`],semantic:[`--s2-negative`,`--s2-positive`,`--s2-informative`,`--s2-notice`],chrome:[`--s2-border-default`,`--s2-border-subtle`,`--s2-border-focus`,`--s2-shadow-elevated`,`--s2-shadow-container`]},v=`slicc-wc-settings-style`,y=`
|
|
3
3
|
/* Width is owned by the dialog card (via ::part) — a min-width on the body
|
|
4
4
|
used to overflow the card's content box and clip the row borders. */
|
|
5
5
|
slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
|
|
@@ -48,4 +48,4 @@ slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
|
|
|
48
48
|
.wcset__toggle-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--canvas);}
|
|
49
49
|
.wcset__toggle-row label{font-size:13px;font-weight:500;color:var(--ink);}
|
|
50
50
|
.wcset__toggle-row input[type="checkbox"]{width:16px;height:16px;accent-color:var(--ctx);}
|
|
51
|
-
`;function b(e){if(e.getElementById(v))return;let t=e.createElement(`style`);t.id=v,t.textContent=y,e.head.appendChild(t)}function x(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function S(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function C(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function w(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:C(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function T(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-lE9AyywH.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-lE9AyywH.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function E(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=x(`wcset__row`),c=x(`wcset__info`);if(c.append(x(`wcset__name`,t.name),x(`wcset__detail`,w(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(S(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?T(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),a(`Logout failed.`,!0)})}))}return s.append(S(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),a(`Remove failed.`,!0)})})),s}function D(e){let{ps:t,setStatus:n}=e,r=x(`wcset__add`);r.append(x(`wcset__label`,`Add account`));let i=document.createElement(`select`);i.className=`wcset__select`;let a=document.createElement(`option`);a.value=``,a.textContent=`Choose a provider…`,i.append(a);let o=new Set(t.getAccounts().map(e=>e.providerId)),s=t.getAvailableProviders().filter(e=>!o.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of s){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,i.append(n)}r.append(i);let c=x(`wcset__controls`);return c.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(c),i.addEventListener(`change`,()=>{c.replaceChildren(),n(``);let r=i.value;if(!r)return;let a=t.getProviderConfig(r),o=document.createElement(`input`);if(o.className=`wcset__input`,o.placeholder=a.baseUrlPlaceholder??`Base URL`,o.value=t.getBaseUrlForProvider(r)??``,a.requiresBaseUrl&&c.append(o),a.isOAuth){c.append(S(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{T(r,o.value,e)}));return}let s=document.createElement(`input`);s.className=`wcset__input`,s.placeholder=a.deploymentPlaceholder??`Model IDs (comma-separated)`,s.value=t.getDeploymentForProvider(r)??``,a.requiresDeployment&&c.append(s);let l=document.createElement(`input`);l.className=`wcset__input`,l.type=`password`,l.placeholder=a.apiKeyPlaceholder??`API key`,l.setAttribute(`data-testid`,`wcset-api-key`),(a.requiresApiKey||a.optionalApiKey)&&c.append(l),c.append(S(`wcset__btn wcset__btn--primary`,`Save`,()=>{let i=l.value.trim();if(a.requiresApiKey&&!i){n(`An API key is required.`,!0),l.focus();return}if(a.requiresBaseUrl&&!o.value.trim()){n(`Base URL is required.`,!0),o.focus();return}if(a.requiresDeployment&&!s.value.trim()){n(`Model IDs are required.`,!0),s.focus();return}t.addAccount(r,i,o.value.trim()||void 0,s.value.trim()||void 0),l.value=``,n(`${a.name} connected.`),e.renderList()}))}),r}function O(){let e=x(`wcset__add`);e.append(x(`wcset__section-label`,`Chat`));let t=x(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Show timestamps`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=g(),r.addEventListener(`change`,()=>h(r.checked)),t.append(n,r),e.append(t),e}function k(){let e=x(`wcset__add`);e.append(x(`wcset__section-label`,`Browsing`));let t=x(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=m(),r.addEventListener(`change`,()=>p(r.checked)),t.append(n,r),e.append(t),e}function A(e){let c=x(`wcset__appearance`);c.append(x(`wcset__section-label`,`Appearance`));let u=n(),p=x(`wcset__preset-grid`),m=document.createElement(`div`);m.className=`wcset__preset-swatch${u?``:` wcset__preset-swatch--active`}`,m.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,m.addEventListener(`click`,()=>{a(),f(),v()}),p.append(m);for(let e of s){let t=document.createElement(`div`);t.className=`wcset__preset-swatch${u===e.id?` wcset__preset-swatch--active`:``}`,t.innerHTML=`<div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-25`]||`#1a1a1a`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-100`]||`#2c2c2c`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-accent`]||`#3562ff`}"></div><div class="wcset__preset-name">${e.name}</div>`,t.addEventListener(`click`,()=>{i(e.id),f(),v()}),p.append(t)}c.append(p);let h=o().filter(e=>e.id!==`__preview`);if(h.length>0){let e=x(`wcset__custom-themes`);e.append(x(`wcset__section-label`,`My Themes`));for(let n of h){let r=x(`wcset__custom-row`),a=x(`wcset__custom-row__name`,n.name);u===n.id&&(a.style.fontWeight=`700`),r.append(a),r.append(S(`wcset__btn`,`Use`,()=>{i(n.id),f(),v()})),r.append(S(`wcset__btn`,`Edit`,()=>{y(n)})),r.append(S(`wcset__btn`,`Export`,()=>{let e=new Blob([l(n)],{type:`application/json`}),t=URL.createObjectURL(e),r=document.createElement(`a`);r.href=t,r.download=`${n.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(t)})),r.append(S(`wcset__btn wcset__btn--danger`,`×`,()=>{t(n.id),f(),v()})),e.append(r)}c.append(e)}let g=x(``);g.style.cssText=`display:flex;gap:8px;`,g.append(S(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{y(null)})),g.append(S(`wcset__btn`,`Import Theme…`,()=>{let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.addEventListener(`change`,()=>{let n=t.files?.[0];n&&n.text().then(t=>{try{let n=d(t);r(n),e.setStatus(`Imported "${n.name}".`),v()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),c.append(g);let _=x(``);c.append(_);function v(){let t=c.parentElement;if(!t)return;let n=A(e);t.replaceChild(n,c)}function y(t){_.replaceChildren(L(t,e,v))}return c}function j(e,t,n,r){let i=[],a=c(e,t);for(let[e,t]of Object.entries(_)){i.push(x(`wcset__section-label`,e));let o=x(`wcset__advanced-grid`);for(let e of t){let t=x(`wcset__advanced-token`),i=document.createElement(`input`);i.type=`color`;let s=n[e]||a[e]||`#000000`;i.value=s.startsWith(`#`)?s:`#000000`,i.addEventListener(`input`,()=>{n[e]=i.value,r()});let c=document.createElement(`span`);c.textContent=e.replace(`--s2-`,``).replace(`--slicc-`,``),t.append(i,c),o.append(t)}i.push(o)}return i}function M(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=x(`wcset__builder-row`),c=document.createElement(`label`);c.textContent=o;let l=document.createElement(`input`);l.type=`color`,l.value=e[r],l.addEventListener(`input`,()=>{e[r]=l.value,i()});let u=document.createElement(`input`);if(u.type=`range`,u.min=`0`,u.max=`100`,u.value=String(Math.round((t[r]??1)*100)),u.style.cssText=`width:60px;margin-left:6px;`,u.title=`Opacity`,u.addEventListener(`input`,()=>{t[r]=Number(u.value)/100,i()}),s.append(c,l,u),r===`background`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=n.disabled,e.style.cssText=`width:auto;margin:0 0 0 8px;`,e.title=`Hide animated background`,e.addEventListener(`change`,()=>{n.disabled=e.checked,i()});let t=document.createElement(`span`);t.textContent=`Static`,t.style.cssText=`font-size:10px;color:var(--txt-3);`,s.append(e,t)}a.push(s)}a.push(x(`wcset__section-label`,`Components`));for(let[e,t]of[[`bubbleBg`,`User bubble bg`],[`bubbleText`,`User bubble text`],[`navBg`,`Nav bar`],[`composerBg`,`Input box`]]){let n=x(`wcset__builder-row`),o=document.createElement(`label`);o.textContent=t;let s=document.createElement(`input`);s.type=`color`,s.value=r[e]||`#000000`,s.addEventListener(`input`,()=>{r[e]=s.value,i()}),n.append(o,s),a.push(n)}return a}function N(e,t){let n=x(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=x(`wcset__base-toggle`);for(let n of[`dark`,`light`]){let r=document.createElement(`button`);r.textContent=n.charAt(0).toUpperCase()+n.slice(1),r.className=e===n?`active`:``,r.addEventListener(`click`,()=>t(n)),i.append(r)}return n.append(r,i),n}function P(e,t){let n=x(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(S(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(S(`wcset__btn`,`Cancel`,t)),n}function F(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function I(e,t){let n=t===`dark`;return{bubbleBg:e?.components?.userBubble?.background||(n?`#f5f5f2`:`#0a0a0a`),bubbleText:e?.components?.userBubble?.text||(n?`#0a0a0a`:`#ffffff`),navBg:e?.components?.nav?.background||(n?`#161618`:`#ffffff`),composerBg:e?.components?.composer?.background||(n?`#161618`:`#ffffff`)}}function L(e,n,o){let s=x(`wcset__builder`),l=e?.base??`dark`,d=e?.disableShader??!1,p=!1,m={background:e?.tokens[`--s2-gray-25`]||(l===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(l===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},h={background:1,text:1,accent:1},g=I(e,l),_={},v=document.createElement(`input`);v.className=`wcset__input`,v.placeholder=`Theme name`,v.value=e?.name??``;function y(){return v.value.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)||`custom-${Date.now()}`}function b(){let e=l===`dark`;m.surface=u(m.background,e?.1:-.08),m.border=u(m.background,e?.15:-.12),m.success=`#2d9d78`,m.error=`#e34850`}function S(){b();let e={...c(m,l),..._};for(let[t,n]of Object.entries(h))if(n<1&&m[t]){let r=m[t],i=Math.round(n*255).toString(16).padStart(2,`0`);for(let n of{background:[`--canvas`,`--s2-gray-25`,`--s2-bg-base`,`--shaderbg`],text:[`--ink`,`--s2-content-default`,`--s2-gray-900`],accent:[`--ctx`,`--waffle`,`--s2-accent`]}[t]||[])e[n]&&(e[n]=`${r}${i}`)}r({id:`__preview`,name:`Preview`,base:l,tokens:e,disableShader:d,components:F(g)}),i(`__preview`),f()}function C(){s.replaceChildren();let u=x(`wcset__builder-row`),w=document.createElement(`label`);w.textContent=`Name`,u.append(w,v),s.append(u),s.append(N(l,e=>{l=e,C(),S()}));let T={disabled:d};for(let e of M(m,h,T,g,()=>{d=T.disabled,S()}))s.append(e);let E=document.createElement(`button`);if(E.className=`wcset__advanced-toggle`,E.textContent=p?`Hide advanced`:`Show advanced`,E.addEventListener(`click`,()=>{p=!p,C()}),s.append(E),p)for(let e of j(m,l,_,S))s.append(e);s.append(P(()=>{let a=v.value.trim();if(!a){n.setStatus(`Name is required.`,!0);return}b();let s={...c(m,l),..._},u=e?.id??y(),p={id:u,name:a,base:l,tokens:s,disableShader:d,components:F(g)};t(`__preview`),r(p),i(u),f(),n.setStatus(`Saved "${a}".`),o()},()=>{t(`__preview`),e?i(e.id):a(),f(),o()}))}return C(),S(),s}async function R(t){let n=await e(()=>import(`./provider-settings-Bf4riFFt.js`).then(e=>e.t),__vite__mapDeps([10,3,1,11,12,13,14,15,16,17,18,19,5,2,4,6,7,20,21,22,23,24,8,25,26,27,28,29,30,31,32]));b(document);let r=JSON.stringify(n.getAccounts());return new Promise(e=>{let i=document.createElement(`slicc-dialog`);i.classList.add(`wcset-dialog`),i.setAttribute(`heading`,`Accounts`);let a=x(`wcset`),o=x(`wcset__list`),s=x(`wcset__status`),c=(e,t=!1)=>{s.textContent=e,s.toggleAttribute(`data-error`,t)},l=r,u=()=>{let e=JSON.stringify(n.getAccounts());e!==l&&(l=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},d=x(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(x(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(E(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(D(f))}};f.renderList(),a.append(o,d,s),i.append(a);let p=S(`wcset__btn wcset__btn--primary`,`Done`,()=>{i.hide?.()});p.setAttribute(`slot`,`footer`),i.append(p),i.addEventListener(`slicc-dialog-close`,()=>{i.remove(),e(JSON.stringify(n.getAccounts())!==r)}),document.body.append(i),i.show?.()})}async function z(e){return b(document),t(`__preview`),new Promise(r=>{let o=document.createElement(`slicc-dialog`);o.classList.add(`wcset-dialog`),o.setAttribute(`heading`,`Theme`);let s=x(`wcset`),c=x(`wcset__status`),l=A({ps:null,log:e,setStatus:(e,t=!1)=>{c.textContent=e,c.toggleAttribute(`data-error`,t)},renderList:()=>{}}),u=O(),d=k();s.append(l,u,d,c),o.append(s);let p=S(`wcset__btn wcset__btn--primary`,`Done`,()=>{o.hide?.()});p.setAttribute(`slot`,`footer`),o.append(p);let m=n();o.addEventListener(`slicc-dialog-close`,()=>{n()===`__preview`&&(t(`__preview`),m&&m!==`__preview`?i(m):a(),f()),o.remove(),r()}),document.body.append(o),o.show?.()})}export{z as showThemeSettings,R as showWcSettings};
|
|
51
|
+
`;function b(e){if(e.getElementById(v))return;let t=e.createElement(`style`);t.id=v,t.textContent=y,e.head.appendChild(t)}function x(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function S(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function C(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function w(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:C(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function T(t,n,r){let{ps:i,log:a,setStatus:o,renderList:s}=r,c=i.getProviderConfig(t),l=i.getAccounts().some(e=>e.providerId===t);if(c.requiresBaseUrl){if(!n.trim()&&!i.getBaseUrlForProvider(t)){o(`Base URL is required.`,!0);return}n.trim()&&i.addAccount(t,``,n.trim())}o(`Opening login window…`);let u=()=>{o(``),s()};try{if(c.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:t}=await e(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-Dk3L2UWh.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),n=await t();if(!n)throw Error(`No controlled-browser CDP transport available — open SLICC in standalone mode or the Chrome extension.`);await c.onOAuthLoginIntercepted(n,u)}else if(c.onOAuthLogin){let{createOAuthLauncher:t}=await e(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-Dk3L2UWh.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await c.onOAuthLogin(t(),u)}else throw Error(`${c.name} does not support interactive login.`)}catch(e){l||await i.removeAccount(t).catch(()=>void 0),a.error(`WC settings OAuth login failed`,{providerId:t,err:e}),o(`Login failed: ${e instanceof Error?e.message:String(e)}`,!0)}}function E(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=x(`wcset__row`),c=x(`wcset__info`);if(c.append(x(`wcset__name`,t.name),x(`wcset__detail`,w(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(S(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?T(e.providerId,``,n):r.logoutOAuthAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings logout failed`,{providerId:e.providerId,err:t}),a(`Logout failed.`,!0)})}))}return s.append(S(`wcset__btn wcset__btn--danger`,`Remove`,()=>{r.removeAccount(e.providerId).then(o).catch(t=>{i.error(`WC settings remove failed`,{providerId:e.providerId,err:t}),a(`Remove failed.`,!0)})})),s}function D(e){let{ps:t,setStatus:n}=e,r=x(`wcset__add`);r.append(x(`wcset__label`,`Add account`));let i=document.createElement(`select`);i.className=`wcset__select`;let a=document.createElement(`option`);a.value=``,a.textContent=`Choose a provider…`,i.append(a);let o=new Set(t.getAccounts().map(e=>e.providerId)),s=t.getAvailableProviders().filter(e=>!o.has(e)&&t.providerOffersLlmModels(e)).sort((e,n)=>t.getProviderConfig(e).name.localeCompare(t.getProviderConfig(n).name));for(let e of s){let n=document.createElement(`option`);n.value=e,n.textContent=t.getProviderConfig(e).name,i.append(n)}r.append(i);let c=x(`wcset__controls`);return c.style.cssText=`display:flex;flex-direction:column;gap:8px;`,r.append(c),i.addEventListener(`change`,()=>{c.replaceChildren(),n(``);let r=i.value;if(!r)return;let a=t.getProviderConfig(r),o=document.createElement(`input`);if(o.className=`wcset__input`,o.placeholder=a.baseUrlPlaceholder??`Base URL`,o.value=t.getBaseUrlForProvider(r)??``,a.requiresBaseUrl&&c.append(o),a.isOAuth){c.append(S(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{T(r,o.value,e)}));return}let s=document.createElement(`input`);s.className=`wcset__input`,s.placeholder=a.deploymentPlaceholder??`Model IDs (comma-separated)`,s.value=t.getDeploymentForProvider(r)??``,a.requiresDeployment&&c.append(s);let l=document.createElement(`input`);l.className=`wcset__input`,l.type=`password`,l.placeholder=a.apiKeyPlaceholder??`API key`,l.setAttribute(`data-testid`,`wcset-api-key`),(a.requiresApiKey||a.optionalApiKey)&&c.append(l),c.append(S(`wcset__btn wcset__btn--primary`,`Save`,()=>{let i=l.value.trim();if(a.requiresApiKey&&!i){n(`An API key is required.`,!0),l.focus();return}if(a.requiresBaseUrl&&!o.value.trim()){n(`Base URL is required.`,!0),o.focus();return}if(a.requiresDeployment&&!s.value.trim()){n(`Model IDs are required.`,!0),s.focus();return}t.addAccount(r,i,o.value.trim()||void 0,s.value.trim()||void 0),l.value=``,n(`${a.name} connected.`),e.renderList()}))}),r}function O(){let e=x(`wcset__add`);e.append(x(`wcset__section-label`,`Chat`));let t=x(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Show timestamps`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=g(),r.addEventListener(`change`,()=>h(r.checked)),t.append(n,r),e.append(t),e}function k(){let e=x(`wcset__add`);e.append(x(`wcset__section-label`,`Browsing`));let t=x(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=m(),r.addEventListener(`change`,()=>p(r.checked)),t.append(n,r),e.append(t),e}function A(e){let c=x(`wcset__appearance`);c.append(x(`wcset__section-label`,`Appearance`));let u=n(),p=x(`wcset__preset-grid`),m=document.createElement(`div`);m.className=`wcset__preset-swatch${u?``:` wcset__preset-swatch--active`}`,m.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,m.addEventListener(`click`,()=>{a(),f(),v()}),p.append(m);for(let e of s){let t=document.createElement(`div`);t.className=`wcset__preset-swatch${u===e.id?` wcset__preset-swatch--active`:``}`,t.innerHTML=`<div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-25`]||`#1a1a1a`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-gray-100`]||`#2c2c2c`}"></div><div class="wcset__preset-swatch__stripe" style="background:${e.tokens[`--s2-accent`]||`#3562ff`}"></div><div class="wcset__preset-name">${e.name}</div>`,t.addEventListener(`click`,()=>{i(e.id),f(),v()}),p.append(t)}c.append(p);let h=o().filter(e=>e.id!==`__preview`);if(h.length>0){let e=x(`wcset__custom-themes`);e.append(x(`wcset__section-label`,`My Themes`));for(let n of h){let r=x(`wcset__custom-row`),a=x(`wcset__custom-row__name`,n.name);u===n.id&&(a.style.fontWeight=`700`),r.append(a),r.append(S(`wcset__btn`,`Use`,()=>{i(n.id),f(),v()})),r.append(S(`wcset__btn`,`Edit`,()=>{y(n)})),r.append(S(`wcset__btn`,`Export`,()=>{let e=new Blob([l(n)],{type:`application/json`}),t=URL.createObjectURL(e),r=document.createElement(`a`);r.href=t,r.download=`${n.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(t)})),r.append(S(`wcset__btn wcset__btn--danger`,`×`,()=>{t(n.id),f(),v()})),e.append(r)}c.append(e)}let g=x(``);g.style.cssText=`display:flex;gap:8px;`,g.append(S(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{y(null)})),g.append(S(`wcset__btn`,`Import Theme…`,()=>{let t=document.createElement(`input`);t.type=`file`,t.accept=`.json`,t.addEventListener(`change`,()=>{let n=t.files?.[0];n&&n.text().then(t=>{try{let n=d(t);r(n),e.setStatus(`Imported "${n.name}".`),v()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),c.append(g);let _=x(``);c.append(_);function v(){let t=c.parentElement;if(!t)return;let n=A(e);t.replaceChild(n,c)}function y(t){_.replaceChildren(L(t,e,v))}return c}function j(e,t,n,r){let i=[],a=c(e,t);for(let[e,t]of Object.entries(_)){i.push(x(`wcset__section-label`,e));let o=x(`wcset__advanced-grid`);for(let e of t){let t=x(`wcset__advanced-token`),i=document.createElement(`input`);i.type=`color`;let s=n[e]||a[e]||`#000000`;i.value=s.startsWith(`#`)?s:`#000000`,i.addEventListener(`input`,()=>{n[e]=i.value,r()});let c=document.createElement(`span`);c.textContent=e.replace(`--s2-`,``).replace(`--slicc-`,``),t.append(i,c),o.append(t)}i.push(o)}return i}function M(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=x(`wcset__builder-row`),c=document.createElement(`label`);c.textContent=o;let l=document.createElement(`input`);l.type=`color`,l.value=e[r],l.addEventListener(`input`,()=>{e[r]=l.value,i()});let u=document.createElement(`input`);if(u.type=`range`,u.min=`0`,u.max=`100`,u.value=String(Math.round((t[r]??1)*100)),u.style.cssText=`width:60px;margin-left:6px;`,u.title=`Opacity`,u.addEventListener(`input`,()=>{t[r]=Number(u.value)/100,i()}),s.append(c,l,u),r===`background`){let e=document.createElement(`input`);e.type=`checkbox`,e.checked=n.disabled,e.style.cssText=`width:auto;margin:0 0 0 8px;`,e.title=`Hide animated background`,e.addEventListener(`change`,()=>{n.disabled=e.checked,i()});let t=document.createElement(`span`);t.textContent=`Static`,t.style.cssText=`font-size:10px;color:var(--txt-3);`,s.append(e,t)}a.push(s)}a.push(x(`wcset__section-label`,`Components`));for(let[e,t]of[[`bubbleBg`,`User bubble bg`],[`bubbleText`,`User bubble text`],[`navBg`,`Nav bar`],[`composerBg`,`Input box`]]){let n=x(`wcset__builder-row`),o=document.createElement(`label`);o.textContent=t;let s=document.createElement(`input`);s.type=`color`,s.value=r[e]||`#000000`,s.addEventListener(`input`,()=>{r[e]=s.value,i()}),n.append(o,s),a.push(n)}return a}function N(e,t){let n=x(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=x(`wcset__base-toggle`);for(let n of[`dark`,`light`]){let r=document.createElement(`button`);r.textContent=n.charAt(0).toUpperCase()+n.slice(1),r.className=e===n?`active`:``,r.addEventListener(`click`,()=>t(n)),i.append(r)}return n.append(r,i),n}function P(e,t){let n=x(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(S(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(S(`wcset__btn`,`Cancel`,t)),n}function F(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function I(e,t){let n=t===`dark`;return{bubbleBg:e?.components?.userBubble?.background||(n?`#f5f5f2`:`#0a0a0a`),bubbleText:e?.components?.userBubble?.text||(n?`#0a0a0a`:`#ffffff`),navBg:e?.components?.nav?.background||(n?`#161618`:`#ffffff`),composerBg:e?.components?.composer?.background||(n?`#161618`:`#ffffff`)}}function L(e,n,o){let s=x(`wcset__builder`),l=e?.base??`dark`,d=e?.disableShader??!1,p=!1,m={background:e?.tokens[`--s2-gray-25`]||(l===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(l===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},h={background:1,text:1,accent:1},g=I(e,l),_={},v=document.createElement(`input`);v.className=`wcset__input`,v.placeholder=`Theme name`,v.value=e?.name??``;function y(){return v.value.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)||`custom-${Date.now()}`}function b(){let e=l===`dark`;m.surface=u(m.background,e?.1:-.08),m.border=u(m.background,e?.15:-.12),m.success=`#2d9d78`,m.error=`#e34850`}function S(){b();let e={...c(m,l),..._};for(let[t,n]of Object.entries(h))if(n<1&&m[t]){let r=m[t],i=Math.round(n*255).toString(16).padStart(2,`0`);for(let n of{background:[`--canvas`,`--s2-gray-25`,`--s2-bg-base`,`--shaderbg`],text:[`--ink`,`--s2-content-default`,`--s2-gray-900`],accent:[`--ctx`,`--waffle`,`--s2-accent`]}[t]||[])e[n]&&(e[n]=`${r}${i}`)}r({id:`__preview`,name:`Preview`,base:l,tokens:e,disableShader:d,components:F(g)}),i(`__preview`),f()}function C(){s.replaceChildren();let u=x(`wcset__builder-row`),w=document.createElement(`label`);w.textContent=`Name`,u.append(w,v),s.append(u),s.append(N(l,e=>{l=e,C(),S()}));let T={disabled:d};for(let e of M(m,h,T,g,()=>{d=T.disabled,S()}))s.append(e);let E=document.createElement(`button`);if(E.className=`wcset__advanced-toggle`,E.textContent=p?`Hide advanced`:`Show advanced`,E.addEventListener(`click`,()=>{p=!p,C()}),s.append(E),p)for(let e of j(m,l,_,S))s.append(e);s.append(P(()=>{let a=v.value.trim();if(!a){n.setStatus(`Name is required.`,!0);return}b();let s={...c(m,l),..._},u=e?.id??y(),p={id:u,name:a,base:l,tokens:s,disableShader:d,components:F(g)};t(`__preview`),r(p),i(u),f(),n.setStatus(`Saved "${a}".`),o()},()=>{t(`__preview`),e?i(e.id):a(),f(),o()}))}return C(),S(),s}async function R(t){let n=await e(()=>import(`./provider-settings-DnRChWz9.js`).then(e=>e.t),__vite__mapDeps([10,3,11,1,12,13,14,15,16,17,18,19,5,2,4,6,7,20,21,22,23,24,8,25,26,27,28,29,30,31,32]));b(document);let r=JSON.stringify(n.getAccounts());return new Promise(e=>{let i=document.createElement(`slicc-dialog`);i.classList.add(`wcset-dialog`),i.setAttribute(`heading`,`Accounts`);let a=x(`wcset`),o=x(`wcset__list`),s=x(`wcset__status`),c=(e,t=!1)=>{s.textContent=e,s.toggleAttribute(`data-error`,t)},l=r,u=()=>{let e=JSON.stringify(n.getAccounts());e!==l&&(l=e,window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`)))},d=x(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(x(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(E(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(D(f))}};f.renderList(),a.append(o,d,s),i.append(a);let p=S(`wcset__btn wcset__btn--primary`,`Done`,()=>{i.hide?.()});p.setAttribute(`slot`,`footer`),i.append(p),i.addEventListener(`slicc-dialog-close`,()=>{i.remove(),e(JSON.stringify(n.getAccounts())!==r)}),document.body.append(i),i.show?.()})}async function z(e){return b(document),t(`__preview`),new Promise(r=>{let o=document.createElement(`slicc-dialog`);o.classList.add(`wcset-dialog`),o.setAttribute(`heading`,`Theme`);let s=x(`wcset`),c=x(`wcset__status`),l=A({ps:null,log:e,setStatus:(e,t=!1)=>{c.textContent=e,c.toggleAttribute(`data-error`,t)},renderList:()=>{}}),u=O(),d=k();s.append(l,u,d,c),o.append(s);let p=S(`wcset__btn wcset__btn--primary`,`Done`,()=>{o.hide?.()});p.setAttribute(`slot`,`footer`),o.append(p);let m=n();o.addEventListener(`slicc-dialog-close`,()=>{n()===`__preview`&&(t(`__preview`),m&&m!==`__preview`?i(m):a(),f()),o.remove(),r()}),document.body.append(o),o.show?.()})}export{z as showThemeSettings,R as showWcSettings};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-
|
|
2
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";import{i as n}from"./src-CS5gSDhT.js";import{c as r,i,l as a,s as o}from"./telemetry-C8rZr13D.js";import{t as s}from"./icons-C5g936Qd.js";import{a as c,o as l}from"./dictation-priming-DGpw1lUV.js";import{r as u,t as d}from"./timestamp-preference-DgrTvVNx.js";import{n as ee,r as f}from"./src-6TqoULh8.js";import{t as p}from"./wc-scoop-color-CByZNEJo.js";var te=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`discovery`,`upgrade`,`workflow`,`scoop-notify`,`scoop-idle`,`scoop-wait`,`sudo-request`]);function ne(e){return e!=null&&te.has(e)}var re=`\x1B`,ie=[`#0c0c0e`,`#f43f5e`,`#5bd17b`,`#f59e0b`,`#3b82f6`,`#8b5cf6`,`#06b6d4`,`#e7e7ea`],m=[`#8a8a93`,`#fb7185`,`#86efac`,`#fbbf24`,`#60a5fa`,`#a78bfa`,`#22d3ee`,`#ffffff`],h=[0,95,135,175,215,255];function g(){return{bold:!1,dim:!1,italic:!1,underline:!1,fg:null,bg:null}}function ae(e){return!e.bold&&!e.dim&&!e.italic&&!e.underline&&e.fg===null&&e.bg===null}function oe(e){return Math.max(0,Math.min(255,Math.round(e)))}function se(e){if(e<0)return null;if(e<16)return[...ie,...m][e]??null;if(e<232){let t=e-16;return`rgb(${h[Math.floor(t/36)]}, ${h[Math.floor(t%36/6)]}, ${h[t%6]})`}if(e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}return null}function ce(e,t){let n=e[t+1];if(n===5){let n=se(e[t+2]??NaN);return n?{color:n,next:t+2}:null}if(n===2){let[n,r,i]=[e[t+2],e[t+3],e[t+4]];return[n,r,i].some(e=>typeof e!=`number`||Number.isNaN(e))?null:{color:`rgb(${oe(n)}, ${oe(r)}, ${oe(i)})`,next:t+4}}return null}var le={0:e=>Object.assign(e,g()),1:e=>{e.bold=!0},2:e=>{e.dim=!0},3:e=>{e.italic=!0},4:e=>{e.underline=!0},22:e=>{e.bold=e.dim=!1},23:e=>{e.italic=!1},24:e=>{e.underline=!1},39:e=>{e.fg=null},49:e=>{e.bg=null}};function _(e,t){if(t>=30&&t<=37)e.fg=ie[t-30];else if(t>=40&&t<=47)e.bg=ie[t-40];else if(t>=90&&t<=97)e.fg=m[t-90];else if(t>=100&&t<=107)e.bg=m[t-100];else return!1;return!0}function ue(e,t){let n=(t===``?`0`:t).split(`;`).map(e=>e===``?0:parseInt(e,10));for(let t=0;t<n.length;t++){let r=n[t];if(Number.isNaN(r))continue;let i=le[r];if(i)i(e);else if(r===38||r===48){let i=ce(n,t);i&&(r===38?e.fg=i.color:e.bg=i.color,t=i.next)}else _(e,r)}}function de(e,t){if(ae(t))return document.createTextNode(e);let n=document.createElement(`span`);n.textContent=e;let r=n.style;return t.fg&&(r.color=t.fg),t.bg&&(r.backgroundColor=t.bg),t.bold&&(r.fontWeight=`bold`),t.dim&&(r.opacity=`0.6`),t.italic&&(r.fontStyle=`italic`),t.underline&&(r.textDecoration=`underline`),n}function fe(e,t){let n=e.length,r=e[t+1];if(r===`[`){let r=t+2;for(;r<n&&e.charCodeAt(r)>=48&&e.charCodeAt(r)<=63;)r++;for(;r<n&&e.charCodeAt(r)>=32&&e.charCodeAt(r)<=47;)r++;return r<n&&e[r]===`m`?{next:r+1,sgr:e.slice(t+2,r)}:{next:r<n?r+1:n,sgr:null}}if(r===`]`){let r=t+2;for(;r<n&&e.charCodeAt(r)!==7&&!(e[r]===re&&e[r+1]===`\\`);)r++;return{next:r<n&&e[r]===re?r+2:r+1,sgr:null}}let i=t+1;for(;i<n&&e.charCodeAt(i)>=32&&e.charCodeAt(i)<=47;)i++;return{next:i<n?i+1:n,sgr:null}}function pe(e){if(!e.includes(re))return document.createTextNode(e);let t=document.createDocumentFragment(),n=g(),r=``,i=()=>{r&&t.appendChild(de(r,n)),r=``},a=e.length,o=0;for(;o<a;){if(e[o]!==re){r+=e[o],o++;continue}let{next:t,sgr:a}=fe(e,o);a!==null&&(i(),ue(n,a)),o=t}return i(),t}var{entries:me,setPrototypeOf:he,isFrozen:ge,getPrototypeOf:_e,getOwnPropertyDescriptor:ve}=Object,{freeze:v,seal:y,create:ye}=Object,{apply:b,construct:be}=typeof Reflect<`u`&&Reflect;v||=function(e){return e},y||=function(e){return e},b||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},be||=function(e){return new e(...[...arguments].slice(1))};var xe=C(Array.prototype.forEach),Se=C(Array.prototype.lastIndexOf),Ce=C(Array.prototype.pop),we=C(Array.prototype.push),Te=C(Array.prototype.splice),Ee=C(String.prototype.toLowerCase),De=C(String.prototype.toString),Oe=C(String.prototype.match),ke=C(String.prototype.replace),Ae=C(String.prototype.indexOf),je=C(String.prototype.trim),x=C(Object.prototype.hasOwnProperty),S=C(RegExp.prototype.test),Me=Ne(TypeError);function C(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return b(e,t,n)}}function Ne(e){return function(){return be(e,[...arguments])}}function w(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ee;he&&he(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(ge(t)||(t[r]=e),i=e)}e[i]=!0}return e}function T(e){for(let t=0;t<e.length;t++)x(e,t)||(e[t]=null);return e}function E(e){let t=ye(null);for(let[n,r]of me(e))x(e,n)&&(Array.isArray(r)?t[n]=T(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=E(r):t[n]=r);return t}function Pe(e,t){for(;e!==null;){let n=ve(e,t);if(n){if(n.get)return C(n.get);if(typeof n.value==`function`)return C(n.value)}e=_e(e)}function n(){return null}return n}var Fe=v(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ie=v(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Le=v([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Re=v([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),ze=v(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Be=v([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Ve=v([`#text`]),He=v(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),Ue=v(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),We=v(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Ge=v([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Ke=y(/\{\{[\w\W]*|[\w\W]*\}\}/gm),qe=y(/<%[\w\W]*|[\w\W]*%>/gm),D=y(/\$\{[\w\W]*/gm),Je=y(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ye=y(/^aria-[\-\w]+$/),Xe=y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ze=y(/^(?:\w+script|data):/i),Qe=y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),$e=y(/^html$/i),et=y(/^[a-z][.\w]*(-[.\w]+)+$/i),tt=Object.freeze({__proto__:null,ARIA_ATTR:Ye,ATTR_WHITESPACE:Qe,CUSTOM_ELEMENT:et,DATA_ATTR:Je,DOCTYPE_NAME:$e,ERB_EXPR:qe,IS_ALLOWED_URI:Xe,IS_SCRIPT_OR_DATA:Ze,MUSTACHE_EXPR:Ke,TMPLIT_EXPR:D}),nt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},rt=function(){return typeof window>`u`?null:window},it=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},at=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt(),t=e=>ot(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==nt.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:ee,trustedTypes:f}=e,p=c.prototype,te=Pe(p,`cloneNode`),ne=Pe(p,`remove`),re=Pe(p,`nextSibling`),ie=Pe(p,`childNodes`),m=Pe(p,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let h,g=``,{implementation:ae,createNodeIterator:oe,createDocumentFragment:se,getElementsByTagName:ce}=n,{importNode:le}=r,_=at();t.isSupported=typeof me==`function`&&typeof m==`function`&&ae&&ae.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:ue,ERB_EXPR:de,TMPLIT_EXPR:fe,DATA_ATTR:pe,ARIA_ATTR:he,IS_SCRIPT_OR_DATA:ge,ATTR_WHITESPACE:_e,CUSTOM_ELEMENT:ve}=tt,{IS_ALLOWED_URI:y}=tt,b=null,be=w({},[...Fe,...Ie,...Le,...ze,...Ve]),C=null,Ne=w({},[...He,...Ue,...We,...Ge]),T=Object.seal(ye(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ke=null,qe=null,D=Object.seal(ye(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Je=!0,Ye=!0,Ze=!1,Qe=!0,et=!1,O=!0,k=!1,st=!1,A=!1,j=!1,M=!1,N=!1,ct=!0,P=!1,lt=!0,ut=!1,dt={},F=null,ft=w({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),pt=null,mt=w({},[`audio`,`video`,`img`,`source`,`image`,`track`]),ht=null,gt=w({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),I=`http://www.w3.org/1998/Math/MathML`,_t=`http://www.w3.org/2000/svg`,L=`http://www.w3.org/1999/xhtml`,vt=L,yt=!1,bt=null,xt=w({},[I,_t,L],De),St=w({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),Ct=w({},[`annotation-xml`]),wt=w({},[`title`,`style`,`font`,`a`,`script`]),Tt=null,Et=[`application/xhtml+xml`,`text/html`],R=null,Dt=null,Ot=n.createElement(`form`),kt=function(e){return e instanceof RegExp||e instanceof Function},At=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Dt&&Dt===e)){if((!e||typeof e!=`object`)&&(e={}),e=E(e),Tt=Et.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,R=Tt===`application/xhtml+xml`?De:Ee,b=x(e,`ALLOWED_TAGS`)?w({},e.ALLOWED_TAGS,R):be,C=x(e,`ALLOWED_ATTR`)?w({},e.ALLOWED_ATTR,R):Ne,bt=x(e,`ALLOWED_NAMESPACES`)?w({},e.ALLOWED_NAMESPACES,De):xt,ht=x(e,`ADD_URI_SAFE_ATTR`)?w(E(gt),e.ADD_URI_SAFE_ATTR,R):gt,pt=x(e,`ADD_DATA_URI_TAGS`)?w(E(mt),e.ADD_DATA_URI_TAGS,R):mt,F=x(e,`FORBID_CONTENTS`)?w({},e.FORBID_CONTENTS,R):ft,Ke=x(e,`FORBID_TAGS`)?w({},e.FORBID_TAGS,R):E({}),qe=x(e,`FORBID_ATTR`)?w({},e.FORBID_ATTR,R):E({}),dt=x(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Je=e.ALLOW_ARIA_ATTR!==!1,Ye=e.ALLOW_DATA_ATTR!==!1,Ze=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Qe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,et=e.SAFE_FOR_TEMPLATES||!1,O=e.SAFE_FOR_XML!==!1,k=e.WHOLE_DOCUMENT||!1,j=e.RETURN_DOM||!1,M=e.RETURN_DOM_FRAGMENT||!1,N=e.RETURN_TRUSTED_TYPE||!1,A=e.FORCE_BODY||!1,ct=e.SANITIZE_DOM!==!1,P=e.SANITIZE_NAMED_PROPS||!1,lt=e.KEEP_CONTENT!==!1,ut=e.IN_PLACE||!1,y=e.ALLOWED_URI_REGEXP||Xe,vt=e.NAMESPACE||L,St=e.MATHML_TEXT_INTEGRATION_POINTS||St,Ct=e.HTML_INTEGRATION_POINTS||Ct,T=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&kt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(T.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&kt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(T.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(T.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),et&&(Ye=!1),M&&(j=!0),dt&&(b=w({},Ve),C=ye(null),dt.html===!0&&(w(b,Fe),w(C,He)),dt.svg===!0&&(w(b,Ie),w(C,Ue),w(C,Ge)),dt.svgFilters===!0&&(w(b,Le),w(C,Ue),w(C,Ge)),dt.mathMl===!0&&(w(b,ze),w(C,We),w(C,Ge))),x(e,`ADD_TAGS`)||(D.tagCheck=null),x(e,`ADD_ATTR`)||(D.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?D.tagCheck=e.ADD_TAGS:(b===be&&(b=E(b)),w(b,e.ADD_TAGS,R))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?D.attributeCheck=e.ADD_ATTR:(C===Ne&&(C=E(C)),w(C,e.ADD_ATTR,R))),e.ADD_URI_SAFE_ATTR&&w(ht,e.ADD_URI_SAFE_ATTR,R),e.FORBID_CONTENTS&&(F===ft&&(F=E(F)),w(F,e.FORBID_CONTENTS,R)),e.ADD_FORBID_CONTENTS&&(F===ft&&(F=E(F)),w(F,e.ADD_FORBID_CONTENTS,R)),lt&&(b[`#text`]=!0),k&&w(b,[`html`,`head`,`body`]),b.table&&(w(b,[`tbody`]),delete Ke.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Me(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Me(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);h=e.TRUSTED_TYPES_POLICY,g=h.createHTML(``)}else h===void 0&&(h=it(f,i)),h!==null&&typeof g==`string`&&(g=h.createHTML(``));v&&v(e),Dt=e}},z=w({},[...Ie,...Le,...Re]),jt=w({},[...ze,...Be]),Mt=function(e){let t=m(e);(!t||!t.tagName)&&(t={namespaceURI:vt,tagName:`template`});let n=Ee(e.tagName),r=Ee(t.tagName);return bt[e.namespaceURI]?e.namespaceURI===_t?t.namespaceURI===L?n===`svg`:t.namespaceURI===I?n===`svg`&&(r===`annotation-xml`||St[r]):!!z[n]:e.namespaceURI===I?t.namespaceURI===L?n===`math`:t.namespaceURI===_t?n===`math`&&Ct[r]:!!jt[n]:e.namespaceURI===L?t.namespaceURI===_t&&!Ct[r]||t.namespaceURI===I&&!St[r]?!1:!jt[n]&&(wt[n]||!z[n]):!!(Tt===`application/xhtml+xml`&&bt[e.namespaceURI]):!1},B=function(e){we(t.removed,{element:e});try{m(e).removeChild(e)}catch{ne(e)}},V=function(e,n){try{we(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{we(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(j||M)try{B(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Nt=function(e){let t=null,r=null;if(A)e=`<remove></remove>`+e;else{let t=Oe(e,/^[\r\n\t ]+/);r=t&&t[0]}Tt===`application/xhtml+xml`&&vt===L&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=h?h.createHTML(e):e;if(vt===L)try{t=new ee().parseFromString(i,Tt)}catch{}if(!t||!t.documentElement){t=ae.createDocument(vt,`template`,null);try{t.documentElement.innerHTML=yt?g:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),vt===L?ce.call(t,k?`html`:`body`)[0]:k?t.documentElement:a},Pt=function(e){return oe.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ft=function(e){return e instanceof d&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof u)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},It=function(e){return typeof s==`function`&&e instanceof s};function H(e,n,r){xe(e,e=>{e.call(t,n,r,Dt)})}let Lt=function(e){let n=null;if(H(_.beforeSanitizeElements,e,null),Ft(e))return B(e),!0;let r=R(e.nodeName);if(H(_.uponSanitizeElement,e,{tagName:r,allowedTags:b}),O&&e.hasChildNodes()&&!It(e.firstElementChild)&&S(/<[/\w!]/g,e.innerHTML)&&S(/<[/\w!]/g,e.textContent)||e.nodeType===nt.progressingInstruction||O&&e.nodeType===nt.comment&&S(/<[/\w]/g,e.data))return B(e),!0;if(!(D.tagCheck instanceof Function&&D.tagCheck(r))&&(!b[r]||Ke[r])){if(!Ke[r]&&zt(r)&&(T.tagNameCheck instanceof RegExp&&S(T.tagNameCheck,r)||T.tagNameCheck instanceof Function&&T.tagNameCheck(r)))return!1;if(lt&&!F[r]){let t=m(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=te(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,re(e))}}}return B(e),!0}return e instanceof c&&!Mt(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&S(/<\/no(script|embed|frames)/i,e.innerHTML)?(B(e),!0):(et&&e.nodeType===nt.text&&(n=e.textContent,xe([ue,de,fe],e=>{n=ke(n,e,` `)}),e.textContent!==n&&(we(t.removed,{element:e.cloneNode()}),e.textContent=n)),H(_.afterSanitizeElements,e,null),!1)},Rt=function(e,t,r){if(qe[t]||ct&&(t===`id`||t===`name`)&&(r in n||r in Ot))return!1;if(!(Ye&&!qe[t]&&S(pe,t))&&!(Je&&S(he,t))&&!(D.attributeCheck instanceof Function&&D.attributeCheck(t,e))){if(!C[t]||qe[t]){if(!(zt(e)&&(T.tagNameCheck instanceof RegExp&&S(T.tagNameCheck,e)||T.tagNameCheck instanceof Function&&T.tagNameCheck(e))&&(T.attributeNameCheck instanceof RegExp&&S(T.attributeNameCheck,t)||T.attributeNameCheck instanceof Function&&T.attributeNameCheck(t,e))||t===`is`&&T.allowCustomizedBuiltInElements&&(T.tagNameCheck instanceof RegExp&&S(T.tagNameCheck,r)||T.tagNameCheck instanceof Function&&T.tagNameCheck(r))))return!1}else if(!ht[t]&&!S(y,ke(r,_e,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&Ae(r,`data:`)===0&&pt[e])&&!(Ze&&!S(ge,ke(r,_e,``)))&&r)return!1}return!0},zt=function(e){return e!==`annotation-xml`&&Oe(e,ve)},Bt=function(e){H(_.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ft(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:C,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=R(a),l=s,u=a===`value`?l:je(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,H(_.uponSanitizeAttribute,e,r),u=r.attrValue,P&&(c===`id`||c===`name`)&&(V(a,e),u=`user-content-`+u),O&&S(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){V(a,e);continue}if(c===`attributename`&&Oe(u,`href`)){V(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){V(a,e);continue}if(!Qe&&S(/\/>/i,u)){V(a,e);continue}et&&xe([ue,de,fe],e=>{u=ke(u,e,` `)});let d=R(e.nodeName);if(!Rt(d,c,u)){V(a,e);continue}if(h&&typeof f==`object`&&typeof f.getAttributeType==`function`&&!o)switch(f.getAttributeType(d,c)){case`TrustedHTML`:u=h.createHTML(u);break;case`TrustedScriptURL`:u=h.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ft(e)?B(e):Ce(t.removed)}catch{V(a,e)}}H(_.afterSanitizeAttributes,e,null)},Vt=function e(t){let n=null,r=Pt(t);for(H(_.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)H(_.uponSanitizeShadowNode,n,null),Lt(n),Bt(n),n.content instanceof a&&e(n.content);H(_.afterSanitizeShadowDOM,t,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(yt=!e,yt&&(e=`<!-->`),typeof e!=`string`&&!It(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw Me(`dirty is not a string, aborting`)}else throw Me(`toString is not a function`);if(!t.isSupported)return e;if(st||At(n),t.removed=[],typeof e==`string`&&(ut=!1),ut){if(e.nodeName){let t=R(e.nodeName);if(!b[t]||Ke[t])throw Me(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Nt(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===nt.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!j&&!et&&!k&&e.indexOf(`<`)===-1)return h&&N?h.createHTML(e):e;if(i=Nt(e),!i)return j?null:N?g:``}i&&A&&B(i.firstChild);let u=Pt(ut?e:i);for(;c=u.nextNode();)Lt(c),Bt(c),c.content instanceof a&&Vt(c.content);if(ut)return e;if(j){if(M)for(l=se.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(C.shadowroot||C.shadowrootmode)&&(l=le.call(r,l,!0)),l}let d=k?i.outerHTML:i.innerHTML;return k&&b[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&S($e,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-CuKruUki.js","assets/rolldown-runtime-aKtaBQYM.js","assets/account-store-CJqBAm1f.js","assets/preload-helper-Czpn1I53.js","assets/compat-aVSWLlYQ.js","assets/models-Bnh9VDA1.js","assets/event-stream-qbAZIAKV.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/openrouter.models-DS1_VkCm.js","assets/context-compaction-_UkD06XB.js","assets/logger-DDBAeTLF.js","assets/src-DoFhVmQT.js","assets/proxied-fetch-CfcFb0B0.js","assets/base64-DpPqYZJF.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Baeul5rD.js","assets/secrets-bridge-client-CLRo0NLf.js","assets/port-bridge-client-DdolH4cw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DpzUvgPJ.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-CVignIdH.js","assets/transform-messages-wECJwtH0.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";import{l as n}from"./src-DoFhVmQT.js";import{c as r,i,l as a,s as o}from"./telemetry-Dxrv_mDE.js";import{t as s}from"./icons-C5g936Qd.js";import{a as c,o as l}from"./dictation-priming-DGpw1lUV.js";import{r as u,t as d}from"./timestamp-preference-DgrTvVNx.js";import{n as ee,r as f}from"./src-6TqoULh8.js";import{t as p}from"./wc-scoop-color-CByZNEJo.js";var te=new Set([`webhook`,`cron`,`sprinkle`,`fswatch`,`session-reload`,`navigate`,`discovery`,`upgrade`,`workflow`,`scoop-notify`,`scoop-idle`,`scoop-wait`,`sudo-request`]);function ne(e){return e!=null&&te.has(e)}var re=`\x1B`,ie=[`#0c0c0e`,`#f43f5e`,`#5bd17b`,`#f59e0b`,`#3b82f6`,`#8b5cf6`,`#06b6d4`,`#e7e7ea`],m=[`#8a8a93`,`#fb7185`,`#86efac`,`#fbbf24`,`#60a5fa`,`#a78bfa`,`#22d3ee`,`#ffffff`],h=[0,95,135,175,215,255];function g(){return{bold:!1,dim:!1,italic:!1,underline:!1,fg:null,bg:null}}function ae(e){return!e.bold&&!e.dim&&!e.italic&&!e.underline&&e.fg===null&&e.bg===null}function oe(e){return Math.max(0,Math.min(255,Math.round(e)))}function se(e){if(e<0)return null;if(e<16)return[...ie,...m][e]??null;if(e<232){let t=e-16;return`rgb(${h[Math.floor(t/36)]}, ${h[Math.floor(t%36/6)]}, ${h[t%6]})`}if(e<=255){let t=8+(e-232)*10;return`rgb(${t}, ${t}, ${t})`}return null}function ce(e,t){let n=e[t+1];if(n===5){let n=se(e[t+2]??NaN);return n?{color:n,next:t+2}:null}if(n===2){let[n,r,i]=[e[t+2],e[t+3],e[t+4]];return[n,r,i].some(e=>typeof e!=`number`||Number.isNaN(e))?null:{color:`rgb(${oe(n)}, ${oe(r)}, ${oe(i)})`,next:t+4}}return null}var le={0:e=>Object.assign(e,g()),1:e=>{e.bold=!0},2:e=>{e.dim=!0},3:e=>{e.italic=!0},4:e=>{e.underline=!0},22:e=>{e.bold=e.dim=!1},23:e=>{e.italic=!1},24:e=>{e.underline=!1},39:e=>{e.fg=null},49:e=>{e.bg=null}};function _(e,t){if(t>=30&&t<=37)e.fg=ie[t-30];else if(t>=40&&t<=47)e.bg=ie[t-40];else if(t>=90&&t<=97)e.fg=m[t-90];else if(t>=100&&t<=107)e.bg=m[t-100];else return!1;return!0}function ue(e,t){let n=(t===``?`0`:t).split(`;`).map(e=>e===``?0:parseInt(e,10));for(let t=0;t<n.length;t++){let r=n[t];if(Number.isNaN(r))continue;let i=le[r];if(i)i(e);else if(r===38||r===48){let i=ce(n,t);i&&(r===38?e.fg=i.color:e.bg=i.color,t=i.next)}else _(e,r)}}function de(e,t){if(ae(t))return document.createTextNode(e);let n=document.createElement(`span`);n.textContent=e;let r=n.style;return t.fg&&(r.color=t.fg),t.bg&&(r.backgroundColor=t.bg),t.bold&&(r.fontWeight=`bold`),t.dim&&(r.opacity=`0.6`),t.italic&&(r.fontStyle=`italic`),t.underline&&(r.textDecoration=`underline`),n}function fe(e,t){let n=e.length,r=e[t+1];if(r===`[`){let r=t+2;for(;r<n&&e.charCodeAt(r)>=48&&e.charCodeAt(r)<=63;)r++;for(;r<n&&e.charCodeAt(r)>=32&&e.charCodeAt(r)<=47;)r++;return r<n&&e[r]===`m`?{next:r+1,sgr:e.slice(t+2,r)}:{next:r<n?r+1:n,sgr:null}}if(r===`]`){let r=t+2;for(;r<n&&e.charCodeAt(r)!==7&&!(e[r]===re&&e[r+1]===`\\`);)r++;return{next:r<n&&e[r]===re?r+2:r+1,sgr:null}}let i=t+1;for(;i<n&&e.charCodeAt(i)>=32&&e.charCodeAt(i)<=47;)i++;return{next:i<n?i+1:n,sgr:null}}function pe(e){if(!e.includes(re))return document.createTextNode(e);let t=document.createDocumentFragment(),n=g(),r=``,i=()=>{r&&t.appendChild(de(r,n)),r=``},a=e.length,o=0;for(;o<a;){if(e[o]!==re){r+=e[o],o++;continue}let{next:t,sgr:a}=fe(e,o);a!==null&&(i(),ue(n,a)),o=t}return i(),t}var{entries:me,setPrototypeOf:he,isFrozen:ge,getPrototypeOf:_e,getOwnPropertyDescriptor:ve}=Object,{freeze:v,seal:y,create:ye}=Object,{apply:b,construct:be}=typeof Reflect<`u`&&Reflect;v||=function(e){return e},y||=function(e){return e},b||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},be||=function(e){return new e(...[...arguments].slice(1))};var xe=C(Array.prototype.forEach),Se=C(Array.prototype.lastIndexOf),Ce=C(Array.prototype.pop),we=C(Array.prototype.push),Te=C(Array.prototype.splice),Ee=C(String.prototype.toLowerCase),De=C(String.prototype.toString),Oe=C(String.prototype.match),ke=C(String.prototype.replace),Ae=C(String.prototype.indexOf),je=C(String.prototype.trim),x=C(Object.prototype.hasOwnProperty),S=C(RegExp.prototype.test),Me=Ne(TypeError);function C(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return b(e,t,n)}}function Ne(e){return function(){return be(e,[...arguments])}}function w(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ee;he&&he(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(ge(t)||(t[r]=e),i=e)}e[i]=!0}return e}function T(e){for(let t=0;t<e.length;t++)x(e,t)||(e[t]=null);return e}function E(e){let t=ye(null);for(let[n,r]of me(e))x(e,n)&&(Array.isArray(r)?t[n]=T(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=E(r):t[n]=r);return t}function Pe(e,t){for(;e!==null;){let n=ve(e,t);if(n){if(n.get)return C(n.get);if(typeof n.value==`function`)return C(n.value)}e=_e(e)}function n(){return null}return n}var Fe=v(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ie=v(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),Le=v([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Re=v([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),ze=v(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),Be=v([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Ve=v([`#text`]),He=v(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),Ue=v(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),We=v(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Ge=v([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Ke=y(/\{\{[\w\W]*|[\w\W]*\}\}/gm),qe=y(/<%[\w\W]*|[\w\W]*%>/gm),D=y(/\$\{[\w\W]*/gm),Je=y(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ye=y(/^aria-[\-\w]+$/),Xe=y(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ze=y(/^(?:\w+script|data):/i),Qe=y(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),$e=y(/^html$/i),et=y(/^[a-z][.\w]*(-[.\w]+)+$/i),tt=Object.freeze({__proto__:null,ARIA_ATTR:Ye,ATTR_WHITESPACE:Qe,CUSTOM_ELEMENT:et,DATA_ATTR:Je,DOCTYPE_NAME:$e,ERB_EXPR:qe,IS_ALLOWED_URI:Xe,IS_SCRIPT_OR_DATA:Ze,MUSTACHE_EXPR:Ke,TMPLIT_EXPR:D}),nt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},rt=function(){return typeof window>`u`?null:window},it=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},at=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function ot(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rt(),t=e=>ot(e);if(t.version=`3.3.3`,t.removed=[],!e||!e.document||e.document.nodeType!==nt.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:c,NodeFilter:l,NamedNodeMap:u=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:ee,trustedTypes:f}=e,p=c.prototype,te=Pe(p,`cloneNode`),ne=Pe(p,`remove`),re=Pe(p,`nextSibling`),ie=Pe(p,`childNodes`),m=Pe(p,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let h,g=``,{implementation:ae,createNodeIterator:oe,createDocumentFragment:se,getElementsByTagName:ce}=n,{importNode:le}=r,_=at();t.isSupported=typeof me==`function`&&typeof m==`function`&&ae&&ae.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:ue,ERB_EXPR:de,TMPLIT_EXPR:fe,DATA_ATTR:pe,ARIA_ATTR:he,IS_SCRIPT_OR_DATA:ge,ATTR_WHITESPACE:_e,CUSTOM_ELEMENT:ve}=tt,{IS_ALLOWED_URI:y}=tt,b=null,be=w({},[...Fe,...Ie,...Le,...ze,...Ve]),C=null,Ne=w({},[...He,...Ue,...We,...Ge]),T=Object.seal(ye(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ke=null,qe=null,D=Object.seal(ye(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Je=!0,Ye=!0,Ze=!1,Qe=!0,et=!1,O=!0,k=!1,st=!1,A=!1,j=!1,M=!1,N=!1,ct=!0,P=!1,lt=!0,ut=!1,dt={},F=null,ft=w({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),pt=null,mt=w({},[`audio`,`video`,`img`,`source`,`image`,`track`]),ht=null,gt=w({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),I=`http://www.w3.org/1998/Math/MathML`,_t=`http://www.w3.org/2000/svg`,L=`http://www.w3.org/1999/xhtml`,vt=L,yt=!1,bt=null,xt=w({},[I,_t,L],De),St=w({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),Ct=w({},[`annotation-xml`]),wt=w({},[`title`,`style`,`font`,`a`,`script`]),Tt=null,Et=[`application/xhtml+xml`,`text/html`],R=null,Dt=null,Ot=n.createElement(`form`),kt=function(e){return e instanceof RegExp||e instanceof Function},At=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Dt&&Dt===e)){if((!e||typeof e!=`object`)&&(e={}),e=E(e),Tt=Et.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,R=Tt===`application/xhtml+xml`?De:Ee,b=x(e,`ALLOWED_TAGS`)?w({},e.ALLOWED_TAGS,R):be,C=x(e,`ALLOWED_ATTR`)?w({},e.ALLOWED_ATTR,R):Ne,bt=x(e,`ALLOWED_NAMESPACES`)?w({},e.ALLOWED_NAMESPACES,De):xt,ht=x(e,`ADD_URI_SAFE_ATTR`)?w(E(gt),e.ADD_URI_SAFE_ATTR,R):gt,pt=x(e,`ADD_DATA_URI_TAGS`)?w(E(mt),e.ADD_DATA_URI_TAGS,R):mt,F=x(e,`FORBID_CONTENTS`)?w({},e.FORBID_CONTENTS,R):ft,Ke=x(e,`FORBID_TAGS`)?w({},e.FORBID_TAGS,R):E({}),qe=x(e,`FORBID_ATTR`)?w({},e.FORBID_ATTR,R):E({}),dt=x(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Je=e.ALLOW_ARIA_ATTR!==!1,Ye=e.ALLOW_DATA_ATTR!==!1,Ze=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Qe=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,et=e.SAFE_FOR_TEMPLATES||!1,O=e.SAFE_FOR_XML!==!1,k=e.WHOLE_DOCUMENT||!1,j=e.RETURN_DOM||!1,M=e.RETURN_DOM_FRAGMENT||!1,N=e.RETURN_TRUSTED_TYPE||!1,A=e.FORCE_BODY||!1,ct=e.SANITIZE_DOM!==!1,P=e.SANITIZE_NAMED_PROPS||!1,lt=e.KEEP_CONTENT!==!1,ut=e.IN_PLACE||!1,y=e.ALLOWED_URI_REGEXP||Xe,vt=e.NAMESPACE||L,St=e.MATHML_TEXT_INTEGRATION_POINTS||St,Ct=e.HTML_INTEGRATION_POINTS||Ct,T=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&kt(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(T.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&kt(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(T.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(T.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),et&&(Ye=!1),M&&(j=!0),dt&&(b=w({},Ve),C=ye(null),dt.html===!0&&(w(b,Fe),w(C,He)),dt.svg===!0&&(w(b,Ie),w(C,Ue),w(C,Ge)),dt.svgFilters===!0&&(w(b,Le),w(C,Ue),w(C,Ge)),dt.mathMl===!0&&(w(b,ze),w(C,We),w(C,Ge))),x(e,`ADD_TAGS`)||(D.tagCheck=null),x(e,`ADD_ATTR`)||(D.attributeCheck=null),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?D.tagCheck=e.ADD_TAGS:(b===be&&(b=E(b)),w(b,e.ADD_TAGS,R))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?D.attributeCheck=e.ADD_ATTR:(C===Ne&&(C=E(C)),w(C,e.ADD_ATTR,R))),e.ADD_URI_SAFE_ATTR&&w(ht,e.ADD_URI_SAFE_ATTR,R),e.FORBID_CONTENTS&&(F===ft&&(F=E(F)),w(F,e.FORBID_CONTENTS,R)),e.ADD_FORBID_CONTENTS&&(F===ft&&(F=E(F)),w(F,e.ADD_FORBID_CONTENTS,R)),lt&&(b[`#text`]=!0),k&&w(b,[`html`,`head`,`body`]),b.table&&(w(b,[`tbody`]),delete Ke.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw Me(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw Me(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);h=e.TRUSTED_TYPES_POLICY,g=h.createHTML(``)}else h===void 0&&(h=it(f,i)),h!==null&&typeof g==`string`&&(g=h.createHTML(``));v&&v(e),Dt=e}},z=w({},[...Ie,...Le,...Re]),jt=w({},[...ze,...Be]),Mt=function(e){let t=m(e);(!t||!t.tagName)&&(t={namespaceURI:vt,tagName:`template`});let n=Ee(e.tagName),r=Ee(t.tagName);return bt[e.namespaceURI]?e.namespaceURI===_t?t.namespaceURI===L?n===`svg`:t.namespaceURI===I?n===`svg`&&(r===`annotation-xml`||St[r]):!!z[n]:e.namespaceURI===I?t.namespaceURI===L?n===`math`:t.namespaceURI===_t?n===`math`&&Ct[r]:!!jt[n]:e.namespaceURI===L?t.namespaceURI===_t&&!Ct[r]||t.namespaceURI===I&&!St[r]?!1:!jt[n]&&(wt[n]||!z[n]):!!(Tt===`application/xhtml+xml`&&bt[e.namespaceURI]):!1},B=function(e){we(t.removed,{element:e});try{m(e).removeChild(e)}catch{ne(e)}},V=function(e,n){try{we(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{we(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(j||M)try{B(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Nt=function(e){let t=null,r=null;if(A)e=`<remove></remove>`+e;else{let t=Oe(e,/^[\r\n\t ]+/);r=t&&t[0]}Tt===`application/xhtml+xml`&&vt===L&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=h?h.createHTML(e):e;if(vt===L)try{t=new ee().parseFromString(i,Tt)}catch{}if(!t||!t.documentElement){t=ae.createDocument(vt,`template`,null);try{t.documentElement.innerHTML=yt?g:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),vt===L?ce.call(t,k?`html`:`body`)[0]:k?t.documentElement:a},Pt=function(e){return oe.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ft=function(e){return e instanceof d&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof u)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},It=function(e){return typeof s==`function`&&e instanceof s};function H(e,n,r){xe(e,e=>{e.call(t,n,r,Dt)})}let Lt=function(e){let n=null;if(H(_.beforeSanitizeElements,e,null),Ft(e))return B(e),!0;let r=R(e.nodeName);if(H(_.uponSanitizeElement,e,{tagName:r,allowedTags:b}),O&&e.hasChildNodes()&&!It(e.firstElementChild)&&S(/<[/\w!]/g,e.innerHTML)&&S(/<[/\w!]/g,e.textContent)||e.nodeType===nt.progressingInstruction||O&&e.nodeType===nt.comment&&S(/<[/\w]/g,e.data))return B(e),!0;if(!(D.tagCheck instanceof Function&&D.tagCheck(r))&&(!b[r]||Ke[r])){if(!Ke[r]&&zt(r)&&(T.tagNameCheck instanceof RegExp&&S(T.tagNameCheck,r)||T.tagNameCheck instanceof Function&&T.tagNameCheck(r)))return!1;if(lt&&!F[r]){let t=m(e)||e.parentNode,n=ie(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=te(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,re(e))}}}return B(e),!0}return e instanceof c&&!Mt(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&S(/<\/no(script|embed|frames)/i,e.innerHTML)?(B(e),!0):(et&&e.nodeType===nt.text&&(n=e.textContent,xe([ue,de,fe],e=>{n=ke(n,e,` `)}),e.textContent!==n&&(we(t.removed,{element:e.cloneNode()}),e.textContent=n)),H(_.afterSanitizeElements,e,null),!1)},Rt=function(e,t,r){if(qe[t]||ct&&(t===`id`||t===`name`)&&(r in n||r in Ot))return!1;if(!(Ye&&!qe[t]&&S(pe,t))&&!(Je&&S(he,t))&&!(D.attributeCheck instanceof Function&&D.attributeCheck(t,e))){if(!C[t]||qe[t]){if(!(zt(e)&&(T.tagNameCheck instanceof RegExp&&S(T.tagNameCheck,e)||T.tagNameCheck instanceof Function&&T.tagNameCheck(e))&&(T.attributeNameCheck instanceof RegExp&&S(T.attributeNameCheck,t)||T.attributeNameCheck instanceof Function&&T.attributeNameCheck(t,e))||t===`is`&&T.allowCustomizedBuiltInElements&&(T.tagNameCheck instanceof RegExp&&S(T.tagNameCheck,r)||T.tagNameCheck instanceof Function&&T.tagNameCheck(r))))return!1}else if(!ht[t]&&!S(y,ke(r,_e,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&Ae(r,`data:`)===0&&pt[e])&&!(Ze&&!S(ge,ke(r,_e,``)))&&r)return!1}return!0},zt=function(e){return e!==`annotation-xml`&&Oe(e,ve)},Bt=function(e){H(_.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||Ft(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:C,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=R(a),l=s,u=a===`value`?l:je(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,H(_.uponSanitizeAttribute,e,r),u=r.attrValue,P&&(c===`id`||c===`name`)&&(V(a,e),u=`user-content-`+u),O&&S(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){V(a,e);continue}if(c===`attributename`&&Oe(u,`href`)){V(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){V(a,e);continue}if(!Qe&&S(/\/>/i,u)){V(a,e);continue}et&&xe([ue,de,fe],e=>{u=ke(u,e,` `)});let d=R(e.nodeName);if(!Rt(d,c,u)){V(a,e);continue}if(h&&typeof f==`object`&&typeof f.getAttributeType==`function`&&!o)switch(f.getAttributeType(d,c)){case`TrustedHTML`:u=h.createHTML(u);break;case`TrustedScriptURL`:u=h.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),Ft(e)?B(e):Ce(t.removed)}catch{V(a,e)}}H(_.afterSanitizeAttributes,e,null)},Vt=function e(t){let n=null,r=Pt(t);for(H(_.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)H(_.uponSanitizeShadowNode,n,null),Lt(n),Bt(n),n.content instanceof a&&e(n.content);H(_.afterSanitizeShadowDOM,t,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(yt=!e,yt&&(e=`<!-->`),typeof e!=`string`&&!It(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw Me(`dirty is not a string, aborting`)}else throw Me(`toString is not a function`);if(!t.isSupported)return e;if(st||At(n),t.removed=[],typeof e==`string`&&(ut=!1),ut){if(e.nodeName){let t=R(e.nodeName);if(!b[t]||Ke[t])throw Me(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=Nt(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===nt.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!j&&!et&&!k&&e.indexOf(`<`)===-1)return h&&N?h.createHTML(e):e;if(i=Nt(e),!i)return j?null:N?g:``}i&&A&&B(i.firstChild);let u=Pt(ut?e:i);for(;c=u.nextNode();)Lt(c),Bt(c),c.content instanceof a&&Vt(c.content);if(ut)return e;if(j){if(M)for(l=se.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(C.shadowroot||C.shadowrootmode)&&(l=le.call(r,l,!0)),l}let d=k?i.outerHTML:i.innerHTML;return k&&b[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&S($e,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
3
3
|
`+d),et&&xe([ue,de,fe],e=>{d=ke(d,e,` `)}),h&&N?h.createHTML(d):d},t.setConfig=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};At(e),st=!0},t.clearConfig=function(){Dt=null,st=!1},t.isValidAttribute=function(e,t,n){Dt||At({});let r=R(e),i=R(t);return Rt(r,i,n)},t.addHook=function(e,t){typeof t==`function`&&we(_[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=Se(_[e],t);return n===-1?void 0:Te(_[e],n,1)[0]}return Ce(_[e])},t.removeHooks=function(e){_[e]=[]},t.removeAllHooks=function(){_=at()},t}var O=ot(),k=O.sanitize.bind(O);O.isSupported,O.addHook.bind(O),O.removeHook.bind(O),O.removeHooks.bind(O),O.removeAllHooks.bind(O),O.setConfig.bind(O),O.clearConfig.bind(O),O.isValidAttribute.bind(O),O.version,O.removed;function st(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var A=st();function j(e){A=e}var M={exec:()=>null};function N(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(P.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var ct=(()=>{try{return!0}catch{return!1}})(),P={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},lt=/^(?:[ \t]*(?:\n|$))+/,ut=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,dt=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,F=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,ft=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,pt=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,mt=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ht=N(mt).replace(/bull/g,pt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),gt=N(mt).replace(/bull/g,pt).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),I=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,_t=/^[^\n]+/,L=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,vt=N(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,L).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),yt=N(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,pt).getRegex(),bt=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,xt=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,St=N(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,xt).replace(`tag`,bt).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ct=N(I).replace(`hr`,F).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,bt).getRegex(),wt={blockquote:N(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Ct).getRegex(),code:ut,def:vt,fences:dt,heading:ft,hr:F,html:St,lheading:ht,list:yt,newline:lt,paragraph:Ct,table:M,text:_t},Tt=N(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,F).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,bt).getRegex(),Et={...wt,lheading:gt,table:Tt,paragraph:N(I).replace(`hr`,F).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Tt).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,bt).getRegex()},R={...wt,html:N(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,xt).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:M,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:N(I).replace(`hr`,F).replace(`heading`,` *#{1,6} *[^
|
|
4
4
|
]`).replace(`lheading`,ht).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},Dt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Ot=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,kt=/^( {2,}|\\)\n(?!\s*$)/,At=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,z=/[\p{P}\p{S}]/u,jt=/[\s\p{P}\p{S}]/u,Mt=/[^\s\p{P}\p{S}]/u,B=N(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,jt).getRegex(),V=/(?!~)[\p{P}\p{S}]/u,Nt=/(?!~)[\s\p{P}\p{S}]/u,Pt=/(?:[^\s\p{P}\p{S}]|~)/u,Ft=N(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,ct?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),It=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,H=N(It,`u`).replace(/punct/g,z).getRegex(),Lt=N(It,`u`).replace(/punct/g,V).getRegex(),Rt=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,zt=N(Rt,`gu`).replace(/notPunctSpace/g,Mt).replace(/punctSpace/g,jt).replace(/punct/g,z).getRegex(),Bt=N(Rt,`gu`).replace(/notPunctSpace/g,Pt).replace(/punctSpace/g,Nt).replace(/punct/g,V).getRegex(),Vt=N(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,Mt).replace(/punctSpace/g,jt).replace(/punct/g,z).getRegex(),Ht=N(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,z).getRegex(),Ut=N(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Mt).replace(/punctSpace/g,jt).replace(/punct/g,z).getRegex(),Wt=N(/\\(punct)/,`gu`).replace(/punct/g,z).getRegex(),Gt=N(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Kt=N(xt).replace(`(?:-->|$)`,`-->`).getRegex(),qt=N(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,Kt).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Jt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Yt=N(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Jt).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Xt=N(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Jt).replace(`ref`,L).getRegex(),Zt=N(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,L).getRegex(),Qt=N(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Xt).replace(`nolink`,Zt).getRegex(),$t=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,en={_backpedal:M,anyPunctuation:Wt,autolink:Gt,blockSkip:Ft,br:kt,code:Ot,del:M,delLDelim:M,delRDelim:M,emStrongLDelim:H,emStrongRDelimAst:zt,emStrongRDelimUnd:Vt,escape:Dt,link:Yt,nolink:Zt,punctuation:B,reflink:Xt,reflinkSearch:Qt,tag:qt,text:At,url:M},tn={...en,link:N(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Jt).getRegex(),reflink:N(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Jt).getRegex()},nn={...en,emStrongRDelimAst:Bt,emStrongLDelim:Lt,delLDelim:Ht,delRDelim:Ut,url:N(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,$t).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:N(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,$t).getRegex()},rn={...nn,br:N(kt).replace(`{2,}`,`*`).getRegex(),text:N(nn.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},an={normal:wt,gfm:Et,pedantic:R},on={normal:en,gfm:nn,breaks:rn,pedantic:tn},sn={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},cn=e=>sn[e];function U(e,t){if(t){if(P.escapeTest.test(e))return e.replace(P.escapeReplace,cn)}else if(P.escapeTestNoEncode.test(e))return e.replace(P.escapeReplaceNoEncode,cn);return e}function ln(e){try{e=encodeURI(e).replace(P.percentDecode,`%`)}catch{return null}return e}function un(e,t){let n=e.replace(P.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(P.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(P.slashPipe,`|`);return n}function W(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function dn(e){let t=e.split(`
|
|
5
5
|
`),n=t.length-1;for(;n>=0&&!t[n].trim();)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
@@ -71,7 +71,7 @@ Example input:
|
|
|
71
71
|
2. bash: {"command":"ls /published"}
|
|
72
72
|
3. bash: {"command":"diff /drafts /published"}
|
|
73
73
|
Example output: Compare drafts against published files`;function _r(e){return e.length>=6&&/[a-zA-Z]/.test(e)&&/\s/.test(e.trim())}function vr(e,n){if(e.length===0)return;let r=hr(e);if(!r)return;let i=fr.get(r);if(i){n.setAttribute(`label`,i);return}let a=e[0]?.id;if(a){let e=mr.get(a);e&&n.setAttribute(`label`,e)}if(pr.has(r))return;pr.add(r);let o=e.map((e,t)=>{let n;try{n=JSON.stringify(e.input??{})}catch{n=String(e.input??``)}return n.length>300&&(n=`${n.slice(0,300)}…`),`${t+1}. ${e.name}: ${n}`}).join(`
|
|
74
|
-
`);t(async()=>{let{quickLabel:e}=await import(`./quick-llm-
|
|
74
|
+
`);t(async()=>{let{quickLabel:e}=await import(`./quick-llm-CuKruUki.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])).then(({quickLabel:e})=>e({system:gr,prompt:`Label these tool calls (inputs only):\n${o}`,maxTokens:40})).then(e=>{let t=e?.replace(/^["']|["']$|\.$/g,``).trim()??``;_r(t)&&(fr.set(r,t),a&&mr.set(a,t),n.isConnected&&n.setAttribute(`label`,t))}).catch(()=>void 0).finally(()=>pr.delete(r))}function yr(e,t={}){let n=Y(`slicc-tool-cluster`,{count:String(e.length)});return t.open&&n.setAttribute(`open`,``),n.append(...e),t.toolCalls&&t.toolCalls.length>0&&vr(t.toolCalls,n),n}function br(e){let t=document.createElement(`slicc-agent-message`);t.setAttribute(`data-msg-id`,e.id);let n=(e.content??``).trim().length>0,r=d(e.timestamp);return r&&n&&t.setAttribute(`timestamp`,r),e.isStreaming&&t.setAttribute(`streaming`,``),t.setBodyHtml(Rn(e.content,e.isStreaming===!0)),n||t.setAttribute(`data-empty`,``),[t,...(e.toolCalls??[]).map(t=>lr(t,e.id))]}function xr(e,t){let n=e.querySelectorAll(`:scope > slicc-tool-cluster`);for(let e of n){let n=Array.from(e.querySelectorAll(`slicc-action-row`));Sr(e,n,t);let r=e.parentNode;if(!r){e.remove();continue}for(let t of n)Cr(t,r,e);e.remove()}}function Sr(e,t,n){if(!e.hasAttribute(`open`))return;let r=t[0]?.dataset.msgId;if(!r)return;let i=t.length>0&&t.every(e=>e.dataset.msgId===r),a=e.parentElement?.querySelector(`slicc-agent-message[data-msg-id="${r}"]`);i&&a?.hasAttribute(`streaming`)===!0||n.add(r)}function Cr(e,t,n){let r=e.dataset.msgId,i=r&&t instanceof Element?t.querySelector(`:scope > slicc-agent-message[data-msg-id="${r}"]`):null;if(!i||i.parentNode!==t){t.insertBefore(e,n);return}let a=i;for(;a.nextSibling instanceof HTMLElement&&a.nextSibling.tagName.toLowerCase()===`slicc-action-row`&&a.nextSibling.dataset.msgId===r;)a=a.nextSibling;t.insertBefore(e,a.nextSibling)}var wr=new Set([`slicc-user-message`,`slicc-lick-card`,`slicc-error-card`,`slicc-delegation-line`,`slicc-day-separator`]);function Tr(e){return e instanceof HTMLElement?wr.has(e.tagName.toLowerCase()):!0}function Er(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-action-row`}function Dr(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-agent-message`}function Or(e){let t=[],n=[];for(let r of e)Dr(r)?!r.hasAttribute(`data-empty`)&&n.length>0&&(t.push(n),n=[]):Er(r)&&n.push(r);return n.length>0&&t.push(n),t}function kr(e,t){let n=t[0]?.dataset.msgId;return!n||!t.every(e=>e.dataset.msgId===n)?!1:e.querySelector(`slicc-agent-message[data-msg-id="${n}"]`)?.hasAttribute(`streaming`)===!0}function Ar(e,t){let n=[];for(let r of e){let e=r.dataset.msgId,i=r.dataset.toolId;if(!e||!i)return;let a=t(e,i);if(!a)return;n.push(a)}return n}function jr(e,t){let n=e[0],r=n.parentNode;if(!r)return;let i=new Set(e),a=n.nextSibling;for(;a&&i.has(a);)a=a.nextSibling;let o=n.dataset.msgId,s=yr(e,{open:!!(o&&t.openClusterAnchors.has(o))||kr(r,e),toolCalls:t.toolCallLookup?Ar(e,t.toolCallLookup):void 0});r.insertBefore(s,a)}function Mr(e,t){xr(e,t.openClusterAnchors);let n=Array.from(e.children),r=0;for(;r<n.length;){if(Tr(n[r])){r++;continue}let e=r;for(;e<n.length&&!Tr(n[e]);)e++;let i=Or(n.slice(r,e));for(let e of i)e.length>=3&&jr(e,t);r=e}t.openClusterAnchors.clear()}function Nr(e){let t=Vn.exec(e.content),n=e.lickCount??1,r=Gn.exec(e.content),i=r?Kn(r[1]):null,a=Y(`slicc-lick-card`,{kind:e.channel??`webhook`,"event-label":i??t?.[2]??e.channel??`event`,collapsible:``,collapsed:``});i&&a.setAttribute(`hue`,p({isCone:!1,name:i})),n>1&&a.setAttribute(`count`,String(n)),e.lickState&&e.lickState!==`pending`&&a.setAttribute(`state`,e.lickState);let o=e.lickParts??[e.content];for(let e of o){let t=document.createElement(`div`);t.innerHTML=Ln(Un(e)),a.append(t)}return a}function Pr(e){let t=Y(`slicc-delegation-line`,{kind:`feed`,verb:`feed_scoop`,label:qn(e.content.replace(/\*\*\[[^\]]*\]\*\*\s*/,``))}),n=document.createElement(`slicc-user-message`);return n.setBodyHtml(Ln(e.content)),[t,n]}function Fr(e){let t={message:e.content,"message-id":e.id};return a(e.content)?t.action=`settings`:r(e.content)?t.action=`change-model`:o(e.content)&&(t.action=`login`),Y(`slicc-error-card`,t)}function Ir(e){if(e.source===`lick`)return[Nr(e)];if(e.source===`delegation`||e.channel===`delegation`)return Pr(e);if(e.error)return[Fr(e)];if(e.role===`assistant`)return br(e);let t=Wn(e.content);return t?[Nr({...e,source:`lick`,channel:t})]:[ur(e)]}function Lr(e){let t=[];for(let n of e){let e=n;if(!n.source&&n.role===`user`){let t=Wn(n.content);t&&(e={...n,source:`lick`,channel:t})}let r=t[t.length-1];if(!(e.lickId||r?.lickId)&&e.source===`lick`&&r?.source===`lick`&&r.channel===e.channel){r.lickParts=[...r.lickParts??[r.content],e.content],r.lickCount=r.lickParts.length,r.content+=`\n\n${e.content}`;continue}t.push({...e})}return t}function Rr(e){return new Date(e).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`})}function zr(e){return Y(`slicc-day-separator`,{label:Rr(e)})}function Br(e){let t=[],n=``;for(let r of e){let e=new Date(r.timestamp).toDateString();e!==n&&(t.push(zr(r.timestamp)),n=e),t.push(...Ir(r))}let r=document.createElement(`div`);return r.append(...t),Mr(r,{openClusterAnchors:new Set,toolCallLookup:(t,n)=>e.find(e=>e.id===t)?.toolCalls?.find(e=>e.id===n)}),Array.from(r.children)}var Vr=new Uint8Array([137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,1,0,0,0,1,8,4,0,0,0,181,28,12,2,0,0,0,11,73,68,65,84,120,218,99,100,96,0,0,0,6,0,2,48,129,208,47,0,0,0,0,73,69,78,68,174,66,96,130]);function Hr(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return typeof btoa==`function`?btoa(t):Buffer.from(t,`binary`).toString(`base64`)}var Ur=new Date(`2024-01-01T10:00:00`).getTime();function Q(e){return Ur+e*6e4}var Wr=`ui-fixture`;function Gr(){return[{id:`fx-user-1`,role:`user`,content:`Hey sliccy — can you summarize what this fixture covers?`,timestamp:Q(0)},{id:`fx-assistant-1`,role:`assistant`,content:`Sure! This session walks through every chat UI variant I know about. You'll see user and assistant bubbles, tool calls in every status, the six lick channels, a delegation, queued messages, and a streaming tail at the end so you can inspect the live state.`,timestamp:Q(.2)}]}function Kr(){return[{id:`fx-user-2`,role:`user`,content:`Show me some **markdown** — headings, lists, code, a blockquote.`,timestamp:Q(1)},{id:`fx-user-attachment`,role:`user`,content:`Use these attachments as visual and text context.`,timestamp:Q(1.1),attachments:[{id:`fx-att-image`,name:`dot.png`,mimeType:`image/png`,size:Vr.byteLength,kind:`image`,data:Hr(Vr)},{id:`fx-att-text`,name:`notes.txt`,mimeType:`text/plain`,size:21,kind:`text`,text:`Fixture attachment text`}]},{id:`fx-assistant-2`,role:`assistant`,content:"## Rich content sample,,Here is a short list:,,- `renderAssistantMessageContent` handles GFM markdown,- Code blocks get syntax highlighting,- Inline `code` uses the mono token,,A fenced code block:,,```ts,import { createChatFixture } from './chat-fixture.js';,,const msgs = createChatFixture();,console.log(msgs.length);,```,,> Blockquotes should feel quieter than regular text.,,And a nested ordered list:,,1. First step,2. Second step, 1. Sub-step A, 2. Sub-step B,3. Third step".split(`,`).join(`
|
|
75
75
|
`),timestamp:Q(1.3)}]}function qr(){return[{id:`fx-assistant-3`,role:`assistant`,content:`Let me check a few things before I answer.`,timestamp:Q(2),toolCalls:[{id:`fx-tc-read`,name:`read_file`,input:{path:`/workspace/README.md`},result:`# Sample README
|
|
76
76
|
|
|
77
77
|
This is the contents that read_file returned.`},{id:`fx-tc-bash`,name:`bash`,input:{command:`ls -la /workspace`},result:`total 24
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-DcRu2WCJ.js","assets/preload-helper-Czpn1I53.js","assets/sprinkle-manager-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./runtime-env-DH4NDw4t.js";var n=`sprinkle:`,r=`slicc-sprinkle-icons`;function i(){try{let e=localStorage.getItem(r);if(!e)return{};let t=JSON.parse(e);if(typeof t!=`object`||!t)return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return{}}}function a(e){try{let t=new Set(e),n=Object.fromEntries(Object.entries(i()).filter(([e])=>t.has(e)));localStorage.setItem(r,JSON.stringify(n))}catch{}}function o(e,t){try{localStorage.setItem(r,JSON.stringify({...i(),[e]:t}))}catch{}}function s(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function c(e){return`${n}${e}`}function l(e){return e?.startsWith(n)?e.slice(9):null}var u=[{id:`files`,label:`files`,kind:`tool`},{id:`term`,label:`terminal`,kind:`tool`},{id:`memory`,label:`memory`,kind:`tool`},{id:`monitor`,label:`monitor`,kind:`tool`}],d=class{#e;#t=new Map;#n=new Map;#r=new Map;#i=new Set;constructor(e){this.#e=e}seedDockItems(e){let t=i(),n=!1;for(let r of e)this.#n.has(r)||(this.#i.add(r),this.#n.set(r,{id:c(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#d()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#i)this.#r.has(t)||(this.#n.delete(t),e=!0);this.#i.clear(),e&&this.#d()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#a(e,t,n,i),removeSprinkle:e=>this.#o(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#s(e),registerSprinkle:(e,t,n)=>this.#c(e,t,n?.icon),unregisterSprinkle:e=>this.#u(e),closeSprinkleContent:e=>this.#o(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#n.get(e);!n||n.icon===t||(this.#n.set(e,{...n,icon:t}),this.#d())}defaultIconNames(){return[...this.#n.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#r.has(e)}#a(e,t,n,r){let i=c(e),a=this.#r.get(e);a||(a=document.createElement(`slicc-surface`),a.setAttribute(`surface-id`,i),a.setAttribute(`layout`,`flex`),this.#e.workbenchBody.append(a),this.#r.set(e,a)),a.replaceChildren(n);let o=this.#l(e,r?.icon);this.#t.set(e,{id:i,label:t,kind:`sprinkle`,closable:!0,badge:o}),this.#c(e,t,r?.icon),this.#d(),!r?.attention&&!r?.background&&this.#f(i)}#o(e,t){let n=c(e);this.#r.get(e)?.remove(),this.#r.delete(e),this.#t.delete(e),t.keepDockItem||this.#n.delete(e),this.#d(),this.#e.workbenchBody.getAttribute(`active`)===n&&this.#f(`files`)}#s(e){this.#e.workbenchBody.getAttribute(`active`)===c(e)&&(this.#e.shell.removeAttribute(`open`),this.#e.dock.removeAttribute(`active`))}#c(e,t,n){this.#i.delete(e);let r=this.#l(e,n);this.#n.set(e,{id:c(e),icon:r,label:t,kind:`sprinkle`}),this.#d()}#l(e,t){return s(t)?t:i()[e]??`sparkles`}#u(e){this.#r.has(e)||(this.#n.delete(e),this.#d())}#d(){this.#e.tabBar.tabs=[...u,...this.#t.values()],this.#e.dock.items=[...this.#n.values()],this.#e.workbenchHeader.toggleAttribute(`hidden`,this.#t.size===0)}#f(e){this.#e.shell.setAttribute(`open`,``),this.#e.workbenchBody.setAttribute(`active`,e),this.#e.dock.setAttribute(`active`,e),this.#e.tabBar.setAttribute(`active`,e)}};async function f(n){let{refs:r,client:i,fs:o,instanceId:s,onAttachImage:c,log:u}=n,f=new d(r),{loadSprinkleStyles:h}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await h();let{SprinkleManager:g,readKnownSprinkleNames:_}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-DcRu2WCJ.js","assets/preload-helper-Czpn1I53.js","assets/sprinkle-manager-BYlc7AHg.js","assets/logger-DDBAeTLF.js","assets/panel-rpc-DmJSNs0I.js","assets/rolldown-runtime-aKtaBQYM.js","assets/telemetry-Dxrv_mDE.js","assets/runtime-env-DH4NDw4t.js","assets/sprinkle-renderer-qv3mGpBG.js","assets/theme-C8b_iQ_9.js","assets/theme-engine-jfuTMXZM.js","assets/sprinkle-bridge-DziYRsuS.js","assets/hid-device-registry-DboUgvzI.js","assets/serial-port-registry-DsPZvGpT.js","assets/usb-operations-BQbhk96u.js","assets/usb-device-registry-BOGfZXgp.js","assets/shared-BYVJAPbn.js","assets/mime-types-ugOWOUZ9.js","assets/fetch-body-D2PwksUW.js","assets/setup-sprinkle-exec-jQ0RvgRy.js","assets/dip-D3QakWLH.js","assets/wc-permissions-registry-Blyunq37.js","assets/quick-llm-CuKruUki.js","assets/account-store-CJqBAm1f.js","assets/compat-aVSWLlYQ.js","assets/models-Bnh9VDA1.js","assets/event-stream-qbAZIAKV.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/openrouter.models-DS1_VkCm.js","assets/context-compaction-_UkD06XB.js","assets/src-DoFhVmQT.js","assets/proxied-fetch-CfcFb0B0.js","assets/base64-DpPqYZJF.js","assets/secret-topology-Baeul5rD.js","assets/secrets-bridge-client-CLRo0NLf.js","assets/port-bridge-client-DdolH4cw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DpzUvgPJ.js","assets/bedrock-camp-CVignIdH.js","assets/transform-messages-wECJwtH0.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{n as t}from"./runtime-env-DH4NDw4t.js";var n=`sprinkle:`,r=`slicc-sprinkle-icons`;function i(){try{let e=localStorage.getItem(r);if(!e)return{};let t=JSON.parse(e);if(typeof t!=`object`||!t)return{};let n={};for(let[e,r]of Object.entries(t))typeof r==`string`&&(n[e]=r);return n}catch{return{}}}function a(e){try{let t=new Set(e),n=Object.fromEntries(Object.entries(i()).filter(([e])=>t.has(e)));localStorage.setItem(r,JSON.stringify(n))}catch{}}function o(e,t){try{localStorage.setItem(r,JSON.stringify({...i(),[e]:t}))}catch{}}function s(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function c(e){return`${n}${e}`}function l(e){return e?.startsWith(n)?e.slice(9):null}var u=[{id:`files`,label:`files`,kind:`tool`},{id:`term`,label:`terminal`,kind:`tool`},{id:`memory`,label:`memory`,kind:`tool`},{id:`monitor`,label:`monitor`,kind:`tool`}],d=class{#e;#t=new Map;#n=new Map;#r=new Map;#i=new Set;constructor(e){this.#e=e}seedDockItems(e){let t=i(),n=!1;for(let r of e)this.#n.has(r)||(this.#i.add(r),this.#n.set(r,{id:c(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#d()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#i)this.#r.has(t)||(this.#n.delete(t),e=!0);this.#i.clear(),e&&this.#d()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#a(e,t,n,i),removeSprinkle:e=>this.#o(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#s(e),registerSprinkle:(e,t,n)=>this.#c(e,t,n?.icon),unregisterSprinkle:e=>this.#u(e),closeSprinkleContent:e=>this.#o(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#n.get(e);!n||n.icon===t||(this.#n.set(e,{...n,icon:t}),this.#d())}defaultIconNames(){return[...this.#n.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#r.has(e)}#a(e,t,n,r){let i=c(e),a=this.#r.get(e);a||(a=document.createElement(`slicc-surface`),a.setAttribute(`surface-id`,i),a.setAttribute(`layout`,`flex`),this.#e.workbenchBody.append(a),this.#r.set(e,a)),a.replaceChildren(n);let o=this.#l(e,r?.icon);this.#t.set(e,{id:i,label:t,kind:`sprinkle`,closable:!0,badge:o}),this.#c(e,t,r?.icon),this.#d(),!r?.attention&&!r?.background&&this.#f(i)}#o(e,t){let n=c(e);this.#r.get(e)?.remove(),this.#r.delete(e),this.#t.delete(e),t.keepDockItem||this.#n.delete(e),this.#d(),this.#e.workbenchBody.getAttribute(`active`)===n&&this.#f(`files`)}#s(e){this.#e.workbenchBody.getAttribute(`active`)===c(e)&&(this.#e.shell.removeAttribute(`open`),this.#e.dock.removeAttribute(`active`))}#c(e,t,n){this.#i.delete(e);let r=this.#l(e,n);this.#n.set(e,{id:c(e),icon:r,label:t,kind:`sprinkle`}),this.#d()}#l(e,t){return s(t)?t:i()[e]??`sparkles`}#u(e){this.#r.has(e)||(this.#n.delete(e),this.#d())}#d(){this.#e.tabBar.tabs=[...u,...this.#t.values()],this.#e.dock.items=[...this.#n.values()],this.#e.workbenchHeader.toggleAttribute(`hidden`,this.#t.size===0)}#f(e){this.#e.shell.setAttribute(`open`,``),this.#e.workbenchBody.setAttribute(`active`,e),this.#e.dock.setAttribute(`active`,e),this.#e.tabBar.setAttribute(`active`,e)}};async function f(n){let{refs:r,client:i,fs:o,instanceId:s,onAttachImage:c,log:u}=n,f=new d(r),{loadSprinkleStyles:h}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await h();let{SprinkleManager:g,readKnownSprinkleNames:_}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-BYlc7AHg.js`);return{SprinkleManager:e,readKnownSprinkleNames:t}},__vite__mapDeps([2,3,4,5,6,1,7,8,9,10,11,12,13,14,15,16,17,18]));f.seedDockItems(_());let{installSprinkleManagerHandlerOverChannel:v}=await e(async()=>{let{installSprinkleManagerHandlerOverChannel:e}=await import(`./sprinkle-bridge-channel-DiTL7Uq5.js`);return{installSprinkleManagerHandlerOverChannel:e}},[]),{createSprinkleExecHandler:y}=await e(async()=>{let{createSprinkleExecHandler:e}=await import(`./setup-sprinkle-exec-jQ0RvgRy.js`);return{createSprinkleExecHandler:e}},__vite__mapDeps([19,1])),{setDipExecHandler:b}=await e(async()=>{let{setDipExecHandler:e}=await import(`./dip-D3QakWLH.js`).then(e=>e.n);return{setDipExecHandler:e}},__vite__mapDeps([20,5,1,7,21,12,13,14,15,8,9,10,3,11,16,17,18])),x=t(),S=y(i),C=new g(o,e=>{e.type===`sprinkle`&&e.sprinkleName&&i.sendSprinkleLick(e.sprinkleName,e.body,e.targetScoop)},f.callbacks(),()=>{let e=i.getScoops().find(e=>e.isCone);e&&i.stopScoop(e.jid)},{...x?{autoOpenBehavior:`attention`}:{},inlineSprinkles:new Set([`welcome`]),execHandler:S,onAttachImage:c??(()=>{})});if(window.__slicc_sprinkleManager=C,b(S),s!==void 0){let e=v(C,{instanceId:s});window.addEventListener(`beforeunload`,()=>e(),{once:!0})}else if(x){let{handleSprinkleOp:t}=await e(async()=>{let{handleSprinkleOp:e}=await import(`./sprinkle-op-handler-Dta4p7Tc.js`);return{handleSprinkleOp:e}},[]);i.setSprinkleOpHandler(e=>{let{id:n,op:r,name:i,data:a}=e;t(C,n,r,i,a)})}m(r.tabBar,e=>C.close(e)),r.dock.addEventListener(`slicc-dock-select`,e=>{let t=l(e.detail?.id);t&&C.activate(t).catch(e=>u.error(`WC sprinkle activate failed`,e))});let w=!1,T=async()=>{if(await C.refresh(),C.available().length>0){f.dropUnconfirmedSeeds();let t=C.available().map(e=>e.name),{pruneKnownSprinkleNames:n}=await e(async()=>{let{pruneKnownSprinkleNames:e}=await import(`./sprinkle-manager-BYlc7AHg.js`);return{pruneKnownSprinkleNames:e}},__vite__mapDeps([2,3,4,5,6,1,7,8,9,10,11,12,13,14,15,16,17,18]));n(t),a(t)}await C.restoreOpenSprinkles().catch(e=>{u.warn(`WC shell: failed to restore open sprinkles`,e)}),w||(w=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-CuKruUki.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([22,5,23,1,24,25,26,27,28,29,30,3,31,32,33,7,18,34,35,36,37,38,4,39,40,41,42])).then(({pickLucideIcon:e})=>p(f,C.available(),t=>e({subject:t}))).catch(()=>void 0).finally(()=>{w=!1}))};return T().catch(e=>u.warn(`WC shell: initial sprinkle resync failed`,e)),{manager:C,zone:f,resync:T}}async function p(e,t,n){let r=new Set(e.defaultIconNames()),a=i();for(let i of t){if(!r.has(i.name)||s(i.icon))continue;let t=a[i.name];if(t){e.updateDockIcon(i.name,t);continue}let c=await n(`"${i.title}" — a SLICC sprinkle panel (${i.name})`);c&&(o(i.name,c),e.updateDockIcon(i.name,c))}}function m(e,t){e.addEventListener(`tab-close`,e=>{let n=l(e.detail?.id);n&&t(n)})}export{d as WcSprinkleZone,f as wireWcSprinkles};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/export-provider-B6K_eHX_.js","assets/rolldown-runtime-aKtaBQYM.js","assets/src-DoFhVmQT.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./export-spool-DCxGPg43.js";async function n(e){let n=t(`local-${crypto.randomUUID()}`);try{let t=0;for await(let r of e.chunks)await n.append(r,t++);let r=await e.completion;return await n.finalize(t,r.byteLength,r.sha256)}catch(e){throw await n.cancel(),e}}async function r(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.setAttribute(`data-transcript-dl`,``),r.style.display=`none`,document.body.appendChild(r);try{r.click()}finally{r.remove(),URL.revokeObjectURL(n)}}function i(e){return new Promise(t=>{let n=document.createElement(`slicc-dialog`);n.setAttribute(`heading`,`Export transcript request`);let r=document.createElement(`div`);r.style.cssText=`display:flex;flex-direction:column;gap:0.75rem;padding:0.25rem 0;`;let i=(e,t)=>{let n=document.createElement(`div`);n.style.cssText=`display:grid;grid-template-columns:8rem 1fr;gap:0.5rem;`;let r=document.createElement(`span`);r.style.cssText=`color:var(--s2-content-secondary,#717171);font-size:0.875rem;`,r.textContent=e;let i=document.createElement(`span`);return i.style.cssText=`font-size:0.875rem;word-break:break-word;`,i.textContent=t,n.append(r,i),n};if(r.append(i(`Follower`,e.followerLabel)),e.hostOrigin&&r.append(i(`Host origin`,e.hostOrigin)),r.append(i(`Transcript`,e.selector.kind===`frozen`?`Archived session (${e.selector.sessionId})`:`Active session`)),e.estimatedBytes!=null){let t=Math.round(e.estimatedBytes/1024);r.append(i(`Est. size`,`${t} KB`))}let a=document.createElement(`p`);a.style.cssText=`font-size:0.8125rem;color:var(--s2-content-secondary,#717171);margin:0;`,a.textContent=`⚠️ The follower will receive a complete binary copy of the transcript. This is a one-time approval — export starts immediately after you click Allow.`,r.append(a),n.append(r);let o=(e,t,n)=>{let r=document.createElement(`button`);return r.textContent=e,r.setAttribute(`slot`,`footer`),r.style.cssText=t?`padding:0.5rem 1.25rem;border-radius:0.375rem;border:none;cursor:pointer;background:var(--s2-accent-color,#0265dc);color:#fff;font-size:0.875rem;`:`padding:0.5rem 1.25rem;border-radius:0.375rem;cursor:pointer;background:transparent;border:1px solid var(--s2-border-color,#e0e0e0);font-size:0.875rem;`,r.addEventListener(`click`,n,{once:!0}),r},s=!1,c=e=>{s||(s=!0,n.hide?.(),t(e))};n.append(o(`Allow once`,!0,()=>c(!0))),n.append(o(`Deny`,!1,()=>c(!1))),n.addEventListener(`slicc-dialog-close`,()=>{n.remove(),c(!1)}),document.body.append(n),n.show?.()})}async function a(t,n,r){let{getTranscriptExportService:i}=await e(async()=>{let{getTranscriptExportService:e}=await import(`./export-provider-B6K_eHX_.js`).then(e=>e.t);return{getTranscriptExportService:e}},__vite__mapDeps([0,1,2])),a=i(),o=t.kind===`frozen`?{kind:`frozen`,sessionId:t.sessionId}:{kind:`active`};return a.export(o,{signal:n})}export{r as downloadTranscriptBlob,i as openTranscriptExportApproval,a as runTranscriptExportForFollower,n as transcriptZipToBlob};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/panel-rpc-DmJSNs0I.js","assets/rolldown-runtime-aKtaBQYM.js","assets/panel-rpc-handlers-CkC-CpDZ.js","assets/account-store-CJqBAm1f.js","assets/preload-helper-Czpn1I53.js","assets/compat-aVSWLlYQ.js","assets/models-Bnh9VDA1.js","assets/event-stream-qbAZIAKV.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/openrouter.models-DS1_VkCm.js","assets/context-compaction-_UkD06XB.js","assets/logger-DDBAeTLF.js","assets/src-DoFhVmQT.js","assets/proxied-fetch-CfcFb0B0.js","assets/base64-DpPqYZJF.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-Baeul5rD.js","assets/secrets-bridge-client-CLRo0NLf.js","assets/port-bridge-client-DdolH4cw.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DpzUvgPJ.js","assets/bedrock-camp-CVignIdH.js","assets/transform-messages-wECJwtH0.js","assets/provider-settings-DnRChWz9.js","assets/tray-runtime-config-9kTxza5l.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-CyJIKXH4.js","assets/clipboard-DuHpK59o.js","assets/telemetry-Dxrv_mDE.js","assets/tray-join-url-BIvzbiFR.js","assets/hid-device-registry-DboUgvzI.js","assets/serial-port-registry-DsPZvGpT.js","assets/usb-operations-BQbhk96u.js","assets/usb-device-registry-BOGfZXgp.js","assets/wc-permissions-registry-Blyunq37.js","assets/tray-leader-BDMuV-1a.js","assets/db-ysOO0kLr.js","assets/tray-sync-protocol-CxWJ329c.js","assets/hosted-config-apply-uAym2aS5.js","assets/sha256-DmK25X5D.js","assets/wc-transcript-export-5Pmfejur.js","assets/export-spool-DCxGPg43.js","assets/theme-engine-jfuTMXZM.js","assets/legacy-styles-DcRu2WCJ.js","assets/tray-leave-runtime-DuZ41JQ-.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{P as e,R as t,d as n}from"./account-store-CJqBAm1f.js";import{t as r}from"./preload-helper-Czpn1I53.js";import{n as i}from"./attachments-CByeG2Ru.js";import{t as a}from"./logger-DDBAeTLF.js";import{n as o,t as s}from"./base64-DpPqYZJF.js";import{r as c}from"./src-DoFhVmQT.js";import{a as l,l as u,n as d,o as f,r as p,u as m}from"./tray-sync-protocol-CxWJ329c.js";import{o as h,t as g}from"./proxied-fetch-CfcFb0B0.js";import{d as _,i as v,n as y,r as b}from"./tray-runtime-config-9kTxza5l.js";import{r as x}from"./panel-rpc-DmJSNs0I.js";import{a as S,n as ee,t as C}from"./tray-follower-status-CyJIKXH4.js";import"./provider-settings-DnRChWz9.js";import"./handoff-link-Dmaaww5x.js";import{t as te}from"./remote-cdp-transport-Dmg2NdTA.js";import"./browser-COVn7LPD.js";import{t as ne}from"./terminal-session-client-BylrXUky.js";import{i as re,n as w,t as ie}from"./tray-leader-BDMuV-1a.js";import{t as ae}from"./synthetic-cdp-transport-DLIt5SkY.js";import{n as oe,t as se}from"./leader-session-events-m7I5BMZy.js";import{t as T}from"./wc-scoop-color-CByZNEJo.js";import{a as E,i as D,n as ce,o as le,r as ue,t as O}from"./page-follower-tray-M061L6UY.js";a(`scoops.tray-leave`),a(`scoops.tray-join`);var k=null;function A(e){k=e}function j(){return k?.()??[]}var M=`slicc.leaderTrayFollowers`;function N(e,t=globalThis.localStorage){try{t?.setItem(M,JSON.stringify(e))}catch{}}function P(e){if(e.userName)return`${e.providerId}:${e.userName}`;if(e.accessToken)try{let t=JSON.parse(atob(e.accessToken.split(`.`)[1].replace(/-/g,`+`).replace(/_/g,`/`))),n=t.email??t.user_id??t.sub;if(n)return`${e.providerId}:${n}`}catch{}return null}async function F(){try{let e=n().filter(e=>!e.loggedOut),t=[`adobe`,`github`].map(t=>e.find(e=>e.providerId===t)).find(Boolean)??e[0],r=t?P(t):null;if(!r)return`00000000`;let i=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(r));return Array.from(new Uint8Array(i,0,4),e=>e.toString(16).padStart(2,`0`)).join(``)}catch{return`00000000`}}async function I(e){let{instanceId:t,browser:n,remoteCdpBridge:i,remoteCdpPushChannel:a,getLeader:o,performTrayLeaveLocally:s,window:c}=e,{installPanelRpcHandler:l,createPanelRpcEventEmitter:u}=await r(async()=>{let{installPanelRpcHandler:e,createPanelRpcEventEmitter:t}=await import(`./panel-rpc-DmJSNs0I.js`).then(e=>e.i);return{installPanelRpcHandler:e,createPanelRpcEventEmitter:t}},__vite__mapDeps([0,1])),{createStandalonePanelRpcHandlers:d}=await r(async()=>{let{createStandalonePanelRpcHandlers:e}=await import(`./panel-rpc-handlers-CkC-CpDZ.js`);return{createStandalonePanelRpcHandlers:e}},__vite__mapDeps([2,3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,0,23,24,25,26,27,28,29,30,31,32,33,34,35])),{getLeaderPermissionsSurface:f}=await r(async()=>{let{getLeaderPermissionsSurface:e}=await import(`./wc-permissions-registry-Blyunq37.js`).then(e=>e.r);return{getLeaderPermissionsSurface:e}},__vite__mapDeps([36,1])),p=u({instanceId:t}),m=new Map,h=l({instanceId:t,handlers:d({resetTray:async()=>{let e=o();if(!e)throw Error(`no active tray session to reset`);return await e.reset()},leaveTray:async({workerBaseUrl:e,requestId:t})=>await s({workerBaseUrl:e,requestId:t}),joinTray:({joinUrl:e})=>(_(c.localStorage,e),c.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:e}})),{joinUrl:e}),emitEvent:(e,t)=>p.emit(e,t),emitCherrySliccEvent:(e,t,n)=>o()?.sync.emitCherrySliccEvent(e,t,n)??!1,execOnRemote:async({runtimeId:e,command:t,cwd:n,env:r,execToken:i,timeoutMs:a})=>{let s=o()?.currentLeaderSync;if(!s)throw Error(`ssh: no active leader tray`);let c=new AbortController;m.set(i,c);try{return await s.execOnRemote(e,t,{cwd:n,env:r,signal:c.signal,timeoutMs:a})}finally{m.delete(i)}},signalRemoteExec:({execToken:e})=>{m.get(e)?.abort()},mintPreview:async({entryPath:e,servedRoot:t,bridge:n,noBridge:i,maxTabs:a,quiet:s,webhookId:c})=>{let l=o()?.currentLeaderSync;if(!l)throw Error(`serve: no active leader tray; cannot mint preview`);let{getLeaderTrayRuntimeStatus:u}=await r(async()=>{let{getLeaderTrayRuntimeStatus:e}=await import(`./tray-leader-BDMuV-1a.js`).then(e=>e.a);return{getLeaderTrayRuntimeStatus:e}},__vite__mapDeps([37,1,12,14,4,15,13,16,17,26,27,38])),d=u().session;if(!d)throw Error(`serve: leader tray has no active session`);let f=new URL(d.controllerUrl).pathname.split(`/`).pop()??``,{CHERRY_RUNTIME_TAG:p}=await r(async()=>{let{CHERRY_RUNTIME_TAG:e}=await import(`./tray-sync-protocol-CxWJ329c.js`).then(e=>e.s);return{CHERRY_RUNTIME_TAG:e}},__vite__mapDeps([39,1,12,13])),{mintPreviewViaWorker:m}=await r(async()=>{let{mintPreviewViaWorker:e}=await import(`./preview-mint-client-CNzSnbyh.js`);return{mintPreviewViaWorker:e}},[]),h=l.getConnectedFollowers().some(e=>e.runtime===p),g=!i&&(n||h),_=!i&&n,v=await F(),{url:y,previewToken:b}=await m({workerBaseUrl:d.workerBaseUrl,trayId:d.trayId,controllerToken:f,servedRoot:t,entryPath:e,allowLive:g,bridge:_,maxTabs:a,webhookId:c,userHash:v}),x=e?e.split(`/`).pop()??`Preview`:`Preview`;return l.registerMintedPreview(b,{url:y,title:x,quiet:s??!1}),l.broadcastPreviewOpen(y),{url:y,pushed:l.getConnectedFollowers().length,previewToken:b}},revokePreview:async({previewToken:e})=>{let t=o()?.currentLeaderSync;if(!t)throw Error(`serve --stop: no active leader tray; cannot revoke preview`);let{getLeaderTrayRuntimeStatus:n}=await r(async()=>{let{getLeaderTrayRuntimeStatus:e}=await import(`./tray-leader-BDMuV-1a.js`).then(e=>e.a);return{getLeaderTrayRuntimeStatus:e}},__vite__mapDeps([37,1,12,14,4,15,13,16,17,26,27,38])),i=n().session;if(!i)throw Error(`serve --stop: leader tray has no active session`);let a=new URL(i.controllerUrl).pathname.split(`/`).pop()??``,{revokePreviewViaWorker:s}=await r(async()=>{let{revokePreviewViaWorker:e}=await import(`./preview-mint-client-CNzSnbyh.js`);return{revokePreviewViaWorker:e}},[]),c=await s({workerBaseUrl:i.workerBaseUrl,trayId:i.trayId,controllerToken:a,previewToken:e});return t.dropMintedPreview(e),c},listPreviews:async()=>{let{getLeaderTrayRuntimeStatus:e}=await r(async()=>{let{getLeaderTrayRuntimeStatus:e}=await import(`./tray-leader-BDMuV-1a.js`).then(e=>e.a);return{getLeaderTrayRuntimeStatus:e}},__vite__mapDeps([37,1,12,14,4,15,13,16,17,26,27,38])),t=e().session;if(!t)throw Error(`serve: leader tray has no active session`);let n=new URL(t.controllerUrl).pathname.split(`/`).pop()??``,{listPreviewsViaWorker:i}=await r(async()=>{let{listPreviewsViaWorker:e}=await import(`./preview-mint-client-CNzSnbyh.js`);return{listPreviewsViaWorker:e}},[]);return await i({workerBaseUrl:t.workerBaseUrl,trayId:t.trayId,controllerToken:n})},listRemoteTargets:()=>n.listAllTargets(),remoteCdp:i,getPermissionsSurface:()=>f()})});c.addEventListener(`beforeunload`,()=>{h(),p.dispose(),i.disposeAll(),a?.close()},{once:!0})}async function L(n){let{log:i}=n;await new Promise(e=>setTimeout(e,5e3));try{let n=await fetch(h(`/api/hosted-bootstrap`),{signal:AbortSignal.timeout(1e4),headers:g()});if(!n.ok)return;let a=await n.json(),o=a.accounts??(a.adobeImsToken?[{providerId:`adobe`,kind:`oauth`,accessToken:a.adobeImsToken}]:[]);a.model?localStorage.setItem(`selected-model`,a.model):localStorage.getItem(`selected-model`)||localStorage.setItem(`selected-model`,`adobe:claude-opus-4-6`),a.effortLevel?localStorage.setItem(`slicc_locked_effort_level`,a.effortLevel):localStorage.removeItem(`slicc_locked_effort_level`);let[{applyHostedAccounts:s,prewarmHostedModels:c},l]=await Promise.all([r(()=>import(`./hosted-config-apply-uAym2aS5.js`),__vite__mapDeps([40,12])),r(()=>import(`./provider-settings-DnRChWz9.js`).then(e=>e.t),__vite__mapDeps([25,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,0,23,24,26,27,28,29,30,31]))]);await c(o,{getRefreshModels:e=>l.getProviderConfig(e).refreshModels});let u=JSON.parse(localStorage.getItem(`slicc_cloud_managed`)??`[]`);await s(o,{saveOAuthAccount:t,addAccount:l.addAccount,removeAccount:e,currentProviderIds:()=>l.getAccounts().map(e=>e.providerId),previouslyManaged:()=>u}),localStorage.setItem(`slicc_cloud_managed`,JSON.stringify(o.map(e=>e.providerId))),i.info(`hosted-leader: cone config applied`,{count:o.length})}catch(e){i.warn(`hosted-leader: bootstrap fetch failed; provider needs manual login`,{error:e instanceof Error?e.message:String(e)})}}var R=0;async function z(e,t){let n=new ne({client:e,sid:`ssh-exec-${++R}-${Date.now()}`,onEvent:e=>{e.type===`terminal-output`&&t.onChunk(e.stream,e.data)}}),r=()=>n.signal(`SIGINT`);try{return await n.open({cwd:t.cwd,env:t.env}),t.signal.addEventListener(`abort`,r,{once:!0}),t.signal.aborted?{exitCode:130}:{exitCode:(await n.exec(t.command)).exitCode}}catch(e){return{exitCode:1,error:e instanceof Error?e.message:String(e)}}finally{t.signal.removeEventListener(`abort`,r),n.close(),n.dispose()}}function B(e,t){if(!e||!t||!e.startsWith(`/`)||t===`/`||/%2[eE]/.test(e)||e.split(`/`).some(e=>e===`.`||e===`..`))return!1;let n=t.endsWith(`/`)?t.slice(0,-1):t;return e===n||e.startsWith(n+`/`)}var V=64*1024;async function H(e,t,n){let{reqId:r,servedRoot:i,asText:a}=e,s=e.vfsPath;if(!B(s,i)){t.send({type:`preview.response`,reqId:r,ok:!1,status:403});return}try{if((await n.stat(s)).type===`directory`&&(s=s.replace(/\/?$/,`/`)+`index.html`,!B(s,i))){t.send({type:`preview.response`,reqId:r,ok:!1,status:403});return}}catch{}let c,l;try{a?(c=await n.readFile(s,{encoding:`utf-8`}),l=`utf-8`):(c=o(await n.readFile(s,{encoding:`binary`})),l=`base64`)}catch(e){e?.code===`ENOENT`?t.send({type:`preview.response`,reqId:r,ok:!1,status:404}):t.send({type:`preview.response`,reqId:r,ok:!1,status:500,reason:String(e?.message??e)});return}let u=de(s),d=U(c,V);for(let e=0;e<d.length;e++)t.send({type:`preview.response`,reqId:r,ok:!0,mime:u,chunkIndex:e,totalChunks:d.length,content:d[e],encoding:l})}function U(e,t){if(e.length<=t)return[e];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function de(e){return/\.html?$/i.test(e)?`text/html`:/\.css$/i.test(e)?`text/css`:/\.m?js$/i.test(e)?`application/javascript`:/\.json$/i.test(e)?`application/json`:/\.svg$/i.test(e)?`image/svg+xml`:/\.png$/i.test(e)?`image/png`:/\.jpe?g$/i.test(e)?`image/jpeg`:/\.gif$/i.test(e)?`image/gif`:/\.webp$/i.test(e)?`image/webp`:/\.ico$/i.test(e)?`image/x-icon`:/\.woff2$/i.test(e)?`font/woff2`:/\.woff$/i.test(e)?`font/woff`:/\.ttf$/i.test(e)?`font/ttf`:/\.mp4$/i.test(e)?`video/mp4`:/\.webm$/i.test(e)?`video/webm`:/\.mp3$/i.test(e)?`audio/mpeg`:/\.pdf$/i.test(e)?`application/pdf`:/\.xml$/i.test(e)?`application/xml`:/\.wasm$/i.test(e)?`application/wasm`:`application/octet-stream`}var fe=3e4,pe={target:`preview-target`,session:`preview-session`,frame:`preview-frame`,loader:`preview-loader`},me=class extends ae{connId;sendToWorker;nextId=1;pending=new Map;constructor(e){super({targetUrl:e.targetUrl,targetOrigin:e.targetOrigin,title:e.title,ids:e.ids??pe}),this.connId=e.connId,this.sendToWorker=e.send}async connect(e){this._state=`connected`}onCloseTarget(){this.sendToWorker({type:`bridge.close`,connId:this.connId})}disconnect(){for(let[e,t]of this.pending)clearTimeout(t.timer),t.reject(Error(`PreviewBridgeCdpTransport disconnected`));this.pending.clear(),this._state=`disconnected`}async forward(e,t,n,r=fe){let i=this.nextId++;return new Promise((a,o)=>{let s=setTimeout(()=>{this.pending.delete(i),o(Error(`PreviewBridge CDP timed out after ${r}ms: ${e}`))},r);this.pending.set(i,{resolve:e=>{clearTimeout(s),a(e)},reject:e=>{clearTimeout(s),o(e)},timer:s}),this.sendToWorker({type:`bridge.cdp.request`,connId:this.connId,id:i,method:e,params:t,sessionId:n})})}deliverResponse(e,t){let n=this.pending.get(e);n&&(this.pending.delete(e),clearTimeout(n.timer),t.error?n.reject(Error(`PreviewBridge CDP error: ${t.error.message} (${t.error.code})`)):n.resolve(t.result??{}))}};a(`lick-manager`);var he=new Set([`navigate`,`discovery`]),ge=class{runtimes=new Map;dirty=!1;setTargets(e,t){this.runtimes.set(e,t),this.dirty=!0}removeRuntime(e){this.runtimes.delete(e)&&(this.dirty=!0)}getEntries(){this.dirty=!1;let e=[];for(let[t,n]of this.runtimes)for(let r of n)e.push({targetId:`${t}:${r.targetId}`,localTargetId:r.targetId,runtimeId:t,title:r.title,url:r.url,isLocal:!1,kind:r.kind??`browser`,capabilities:r.capabilities});return e}hasChanged(){return this.dirty}getRuntimeIds(){return[...this.runtimes.keys()]}},W=a(`tray-leader-sync`);function _e(e){return e?e.includes(`ios`)?`ios`:e.includes(`standalone`)?`standalone`:e.includes(`extension`)?`extension`:e.includes(`electron`)?`electron`:`unknown`:`unknown`}function G(e,t){switch(e){case`extension`:return`extension follower`;case`standalone`:return`standalone follower`;case`electron`:return`Electron follower`;case`ios`:return`iOS follower`;default:return t?`follower (${t})`:`follower`}}function K(e){return e.kind===`cherry`}function ve(e,t){return e.filter(e=>e.kind===`preview`?!1:!K(e)||!t.requireNetwork||e.capabilities?.network===!0)}function q(e){let t=8192,n=``;for(let r=0;r<e.length;r+=t)n+=String.fromCharCode(...e.subarray(r,r+t));return btoa(n)}async function ye(e,t,n){if(typeof e.bufferedAmount==`number`)for(;!n.aborted&&e.bufferedAmount>t;)await new Promise(e=>setTimeout(e,25))}var be=class e{options;followers=new Map;registry=new ge;runtimeToBootstrap=new Map;pendingCDPRoutes=new Map;cdpChunkBuffers=new Map;remoteTransports=new Map;pendingTabOpenRoutes=new Map;tabOpenResolvers=new Map;pendingFsRoutes=new Map;fsResolvers=new Map;pendingRemoteExecs=new Map;localExecAborters=new Map;static MAX_REMOTE_EXEC_BYTES=16*1024*1024;mintMap=new Map;bridgeConns=new Map;previewLickLastEmitAt=new Map;static PREVIEW_LICK_THROTTLE_MS=2e3;activeExports=new Map;ackWaiters=new Map;static exportKey(e,t){return`${e}:${t}`}static ackKey(e,t,n){return`${e}:${t}:${n}`}clearAckWaiters(e,t){let n=`${e}:${t}:`;for(let[e,t]of this.ackWaiters)e.startsWith(n)&&(t.reject(Error(`export aborted`)),this.ackWaiters.delete(e))}static EXPORT_CHUNK_B64_MAX=32*1024;static EXPORT_BACKPRESSURE_THRESHOLD=1024*1024;static ACK_TIMEOUT_MS=3e4;static ACK_PROTOCOL_VERSION_MIN=3;constructor(e){this.options=e}addFollower(e,t,n){this.removeFollower(e);let r=d(t),i=r.onMessage(t=>{this.handleFollowerMessage(e,t)}),a=new E({sendPing:()=>r.send({type:`ping`}),onDead:()=>{W.warn(`Follower keepalive dead, removing follower`,{bootstrapId:e}),this.removeFollower(e),this.options.onFollowerDead?.(e)}});a.start(),this.followers.set(e,{bootstrapId:e,sync:r,unsubscribe:i,keepalive:a,runtime:n?.runtime,connectedAt:n?.connectedAt,lastActivity:Date.now(),floatType:_e(n?.runtime)}),W.info(`Follower added to sync`,{bootstrapId:e,followerCount:this.followers.size}),this.options.onFollowerCountChanged?.(this.followers.size),r.send({type:`hello`,protocolVersion:3}),this.sendSnapshotToFollower(e),this.sendScoopsListToFollower(e),this.sendSprinklesListToFollower(e);let o=this.getFollowerBroadcastEntries();o.length>0&&r.send({type:`targets.registry`,targets:o})}removeFollower(e){let t=this.followers.get(e);if(t){t.keepalive.stop(),t.unsubscribe(),t.sync.close(),this.followers.delete(e);for(let[t,n]of this.pendingRemoteExecs)n.bootstrapId===e&&(this.pendingRemoteExecs.delete(t),n.timer&&clearTimeout(n.timer),n.reject(Error(`follower disconnected before the command completed`)));for(let[t,n]of this.localExecAborters)n.bootstrapId===e&&(n.controller.abort(),this.localExecAborters.delete(t));this.followerBroadcastErrorLogAt.delete(e);for(let[t,n]of this.runtimeToBootstrap)if(n===e){this.cleanupRemoteTransports(t),this.registry.removeRuntime(t),this.runtimeToBootstrap.delete(t);break}this.registry.hasChanged()&&this.broadcastTargetRegistry();for(let[t,n]of this.activeExports)if(n.bootstrapId===e){n.abort.abort();let r=t.slice(e.length+1);this.clearAckWaiters(e,r),this.activeExports.delete(t)}W.info(`Follower removed from sync`,{bootstrapId:e,followerCount:this.followers.size}),this.options.onFollowerCountChanged?.(this.followers.size)}}followerBroadcastErrorLogAt=new Map;static BROADCAST_ERROR_THROTTLE_MS=6e4;broadcastToAllFollowers(t){let n=performance.now();for(let[r,i]of this.followers)try{i.sync.send(t),this.followerBroadcastErrorLogAt.delete(r)}catch(i){n-(this.followerBroadcastErrorLogAt.get(r)??-1/0)>e.BROADCAST_ERROR_THROTTLE_MS&&(this.followerBroadcastErrorLogAt.set(r,n),W.error(`Broadcast send to follower failed (channel may be stuck)`,{bootstrapId:r,messageType:t.type,error:i instanceof Error?i.message:String(i)}))}}broadcastEvent(e){if(this.followers.size===0)return;let t={type:`agent_event`,event:e,scoopJid:this.options.getScoopJid()};this.broadcastToAllFollowers(t)}broadcastUserMessage(e,t,n){if(this.followers.size===0)return;let r={type:`user_message_echo`,text:e,messageId:t,scoopJid:this.options.getScoopJid(),attachments:n?.length?i(n):n};this.broadcastToAllFollowers(r)}broadcastStatus(e){if(this.followers.size===0)return;let t={type:`status`,scoopStatus:e};this.broadcastToAllFollowers(t)}async sendSnapshotToFollower(e,t){let n=this.followers.get(e);if(!n)return;let r=t??n.selectedScoopJid??this.options.getScoopJid(),i;if(this.options.getMessagesForScoop&&r!==this.options.getScoopJid())try{i=await Promise.resolve(this.options.getMessagesForScoop(r))}catch(e){W.warn(`getMessagesForScoop failed, falling back to active scoop`,{targetJid:r,error:e instanceof Error?e.message:String(e)}),i=this.options.getMessages()}else i=this.options.getMessages();n.selectedScoopJid=r,f(n.sync,i,r),W.debug(`Snapshot sent to follower`,{bootstrapId:e,messageCount:i.length,scoopJid:r})}broadcastSnapshot(){if(this.followers.size!==0)for(let e of this.followers.keys())this.sendSnapshotToFollower(e)}sendScoopsListToFollower(e){let t=this.followers.get(e);if(!t)return;let n=this.options.getScoops;if(n)try{let e=n(),r=this.options.getScoopJid();t.sync.send({type:`scoops.list`,scoops:e,activeScoopJid:r})}catch(t){W.warn(`Failed to send scoops.list`,{bootstrapId:e,error:t instanceof Error?t.message:String(t)})}}sendSprinklesListToFollower(e){let t=this.followers.get(e);if(!t)return;let n=this.options.getSprinkles;if(n)try{let e=n();t.sync.send({type:`sprinkles.list`,sprinkles:e})}catch(t){W.warn(`Failed to send sprinkles.list`,{bootstrapId:e,error:t instanceof Error?t.message:String(t)})}}broadcastScoopsList(){if(this.followers.size===0)return;let e=this.options.getScoops;if(!e)return;let t;try{t=e()}catch(e){W.warn(`Failed to compute scoops list`,{error:e instanceof Error?e.message:String(e)});return}let n=this.options.getScoopJid(),r={type:`scoops.list`,scoops:t,activeScoopJid:n};this.broadcastToAllFollowers(r)}broadcastSprinklesList(){if(this.followers.size===0)return;let e=this.options.getSprinkles;if(!e)return;let t;try{t=e()}catch(e){W.warn(`Failed to compute sprinkles list`,{error:e instanceof Error?e.message:String(e)});return}let n={type:`sprinkles.list`,sprinkles:t};this.broadcastToAllFollowers(n)}broadcastSprinkleUpdate(e,t){if(this.followers.size===0)return;let n={type:`sprinkle.update`,sprinkleName:e,data:t};this.broadcastToAllFollowers(n)}broadcastTheme(e){this.followers.size!==0&&this.broadcastToAllFollowers({type:`theme.apply`,themeJson:e})}broadcastSprinkleReloaded(e){this.followers.size!==0&&this.broadcastToAllFollowers({type:`sprinkle.reloaded`,sprinkleName:e})}broadcastPreviewOpen(e){if(this.followers.size===0)return;let t=`prv-${crypto.randomUUID()}`;this.broadcastToAllFollowers({type:`preview.open`,requestId:t,url:e})}static SPRINKLE_CHUNK_SIZE=32*1024;static SPRINKLE_CHUNK_THRESHOLD=64*1024;async handleSprinkleFetch(t,n,r){let i=this.followers.get(t);if(!i)return;let a=this.options.readSprinkleContent;if(!a){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:``,error:`Leader has no sprinkle content reader`});return}let o=null;try{o=await Promise.resolve(a(r))}catch(e){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:``,error:e instanceof Error?e.message:String(e)});return}if(o==null){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:``,error:`Sprinkle not found: ${r}`});return}if(o.length<=e.SPRINKLE_CHUNK_THRESHOLD){i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:o});return}let s=e.SPRINKLE_CHUNK_SIZE,c=Math.ceil(o.length/s);for(let e=0;e<c;e++){let t=o.slice(e*s,(e+1)*s);i.sync.send({type:`sprinkle.content`,requestId:n,sprinkleName:r,content:t,chunkIndex:e,totalChunks:c})}}handleFollowerUserMessage(e,t){W.info(`Follower user message received`,{bootstrapId:e,messageId:t.messageId});let n=t.attachments?.length?i(t.attachments):t.attachments;this.options.onFollowerMessage(t.text,t.messageId,n)}handleFollowerSprinkleLick(e,t){W.info(`Follower sprinkle lick received`,{bootstrapId:e,sprinkleName:t.sprinkleName});let n=this.followers.get(e),r=G(n?.floatType??`unknown`,n?.runtime);try{this.options.onSprinkleLick?.(t.sprinkleName,t.body,t.targetScoop,r)}catch(e){W.warn(`onSprinkleLick handler threw`,{error:e instanceof Error?e.message:String(e)})}}handleFollowerLick(e,t){let n=t.event;if(!n||!he.has(n.type)){W.warn(`Rejecting malformed or non-forwardable lick from follower`,{bootstrapId:e,type:n?.type});return}let r=this.followers.get(e),{targetScoop:i,...a}=n,o={...a,originFollowerId:e,originLabel:G(r?.floatType??`unknown`,r?.runtime)};try{this.options.onForwardedLick?.(o,e)}catch(e){W.warn(`onForwardedLick handler threw`,{error:e instanceof Error?e.message:String(e)})}}handleFollowerTargetsAdvertise(e,t){W.info(`Follower targets advertised`,{bootstrapId:e,runtimeId:t.runtimeId,targetCount:t.targets.length});for(let e of[...this.remoteTransports.keys()]){let n=e.substring(0,e.indexOf(`:`));n!==`leader`&&!this.runtimeToBootstrap.has(n)&&n!==t.runtimeId&&(this.remoteTransports.get(e)?.disconnect(),this.remoteTransports.delete(e),W.debug(`Cleaned up orphaned remote transport on advertise`,{key:e}))}this.runtimeToBootstrap.set(t.runtimeId,e),this.registry.setTargets(t.runtimeId,t.targets);let n=this.followers.get(e);if(n&&n.runtime===`slicc-cherry`){let e=t.targets.find(e=>e.kind===`cherry`);if(e)try{n.hostOrigin=new URL(e.url).origin}catch{}}this.broadcastTargetRegistry()}async execOnRemote(e,t,n={}){let r=this.resolveFollowerByRuntimeId(e);if(!r)throw Error(`No connected follower for '${e}'`);let{bootstrapId:i,follower:a}=r;if(!a.peerCapabilities?.exec)throw Error(`Follower '${e}' is not an exec target — only a 'slicc … follow' CLI accepts commands`);let o=`lexec-${crypto.randomUUID()}`;return new Promise((r,s)=>{let c={bootstrapId:i,stdout:``,stderr:``,stdoutDecoder:new TextDecoder(`utf-8`),stderrDecoder:new TextDecoder(`utf-8`),bytes:0,truncated:!1,onChunk:n.onChunk,resolve:r,reject:s};if(n.timeoutMs&&n.timeoutMs>0&&(c.timer=setTimeout(()=>{this.pendingRemoteExecs.delete(o)&&(this.sendExecSignal(i,o,`SIGKILL`),s(Error(`exec on '${e}' timed out after ${n.timeoutMs}ms`)))},n.timeoutMs)),this.pendingRemoteExecs.set(o,c),n.signal){let e=()=>this.sendExecSignal(i,o,`SIGINT`);n.signal.aborted?e():n.signal.addEventListener(`abort`,e,{once:!0})}a.sync.send({type:`exec.request`,requestId:o,command:t,cwd:n.cwd,env:n.env})||(this.pendingRemoteExecs.delete(o),c.timer&&clearTimeout(c.timer),s(Error(`Failed to send exec.request to follower '${e}'`)))})}getExecCapableBootstrapIds(){let e=new Set;for(let[t,n]of this.followers)n.peerCapabilities?.exec&&e.add(t);return e}getBrowserCapableBootstrapIds(){return new Set(this.runtimeToBootstrap.values())}getFollowerMotds(){let e=new Map;for(let[t,n]of this.followers)n.peerMotd&&e.set(t,n.peerMotd);return e}resolveFollowerByRuntimeId(e){let t=this.runtimeToBootstrap.get(e);if(t){let e=this.followers.get(t);if(e)return{bootstrapId:t,follower:e}}let n=[e];e.startsWith(`follower-`)&&n.push(e.slice(9));for(let e of n){let t=this.followers.get(e);if(t)return{bootstrapId:e,follower:t}}return null}sendExecSignal(e,t,n){this.followers.get(e)?.sync.send({type:`exec.signal`,requestId:t,signal:n})}handleRemoteExecChunk(t,n){let r=this.pendingRemoteExecs.get(n.requestId);if(!r||r.bootstrapId!==t)return;let i;try{i=s(n.data)}catch{return}if(r.truncated)return;r.bytes+=i.length,r.bytes>e.MAX_REMOTE_EXEC_BYTES&&(r.truncated=!0);let a=(n.stream===`stdout`?r.stdoutDecoder:r.stderrDecoder).decode(i,{stream:!0});n.stream===`stdout`?r.stdout+=a:r.stderr+=a,r.onChunk?.(n.stream,a)}handleRemoteExecResponse(e,t){let n=this.pendingRemoteExecs.get(t.requestId);!n||n.bootstrapId!==e||(this.pendingRemoteExecs.delete(t.requestId),n.timer&&clearTimeout(n.timer),n.stdout+=n.stdoutDecoder.decode(),n.stderr+=n.stderrDecoder.decode(),n.resolve({stdout:n.truncated?`${n.stdout}\n[output truncated at cap]`:n.stdout,stderr:n.stderr,exitCode:t.exitCode,error:t.error}))}handleFollowerExecMessage(e,t){switch(t.type){case`exec.request`:this.handleFollowerExecRequest(e,t);break;case`exec.chunk`:this.handleRemoteExecChunk(e,t);break;case`exec.response`:this.handleRemoteExecResponse(e,t);break;case`exec.signal`:this.handleFollowerExecSignal(e,t);break}}async handleFollowerExecRequest(e,t){let{requestId:n,command:r,cwd:i,env:a}=t,s=this.options.execInShell;if(!s){this.followers.get(e)?.sync.send({type:`exec.response`,requestId:n,exitCode:127,error:`exec is not supported on this leader`});return}let c=new AbortController,l=`${e}:${n}`;this.localExecAborters.set(l,{bootstrapId:e,controller:c});try{let t=await s(r,{cwd:i,env:a,signal:c.signal,onChunk:(t,r)=>{this.followers.get(e)?.sync.send({type:`exec.chunk`,requestId:n,stream:t,data:o(new TextEncoder().encode(r))})}});this.followers.get(e)?.sync.send({type:`exec.response`,requestId:n,exitCode:t.exitCode,error:t.error})}catch(t){this.followers.get(e)?.sync.send({type:`exec.response`,requestId:n,exitCode:1,error:t instanceof Error?t.message:String(t)})}finally{this.localExecAborters.delete(l)}}handleFollowerExecSignal(e,t){this.localExecAborters.get(`${e}:${t.requestId}`)?.controller.abort()}handleFollowerMessage(e,t){if(t.type!==`hello`){let t=this.followers.get(e);t&&t.peerProtocolVersion===void 0&&!t.legacyPeerLogged&&(t.legacyPeerLogged=!0,W.info(`Follower sent no hello — legacy peer (pre-versioning build)`,{bootstrapId:e}))}switch(t.type){case`user_message`:this.handleFollowerUserMessage(e,t);break;case`abort`:W.info(`Follower abort received`,{bootstrapId:e}),this.options.onFollowerAbort();break;case`new_session`:W.info(`Follower new-session received`,{bootstrapId:e,action:t.action});try{this.options.onFollowerNewSession?.(t.action,e)}catch(e){W.warn(`onFollowerNewSession handler threw`,{error:e instanceof Error?e.message:String(e)})}break;case`request_snapshot`:W.info(`Follower snapshot request received`,{bootstrapId:e,scoopJid:t.scoopJid}),this.sendSnapshotToFollower(e,t.scoopJid);break;case`scoops.select`:{W.info(`Follower selected scoop`,{bootstrapId:e,scoopJid:t.scoopJid});let n=this.followers.get(e);n&&(n.selectedScoopJid=t.scoopJid,this.sendSnapshotToFollower(e,t.scoopJid));break}case`sprinkles.refresh`:W.info(`Follower requested sprinkles refresh`,{bootstrapId:e}),this.sendSprinklesListToFollower(e);break;case`sprinkle.fetch`:this.handleSprinkleFetch(e,t.requestId,t.sprinkleName);break;case`sprinkle.lick`:this.handleFollowerSprinkleLick(e,t);break;case`lick`:this.handleFollowerLick(e,t);break;case`targets.advertise`:this.handleFollowerTargetsAdvertise(e,t);break;case`cdp.request`:{let{requestId:n,targetRuntimeId:r,localTargetId:i,method:a,params:o,sessionId:s}=t;r===`leader`?this.executeLocalCDP(n,i,a,o,s,e):this.forwardCDPRequest(n,r,i,a,o,s,e);break}case`cdp.response`:this.handleCDPResponse(t);break;case`cdp.event`:this.handleCDPEvent(e,t.method,t.params,t.sessionId);break;case`tab.open`:{let{requestId:n,targetRuntimeId:r,url:i}=t;r===`leader`?this.executeLocalTabOpen(n,i,e):this.forwardTabOpen(n,r,i,e);break}case`tab.opened`:this.handleTabOpenResponse(t.requestId,t.targetId);break;case`tab.open.error`:this.handleTabOpenError(t.requestId,t.error);break;case`fs.request`:{let{requestId:n,targetRuntimeId:r,request:i}=t;r===`leader`?this.executeLocalFs(n,i,e):this.forwardFsRequest(n,r,i,e);break}case`fs.response`:this.handleFsResponse(t.requestId,t.response);break;case`exec.request`:case`exec.chunk`:case`exec.response`:case`exec.signal`:this.handleFollowerExecMessage(e,t);break;case`transcript.export.request`:this.handleTranscriptExportRequest(e,t.requestId,t.selector);break;case`transcript.export.cancel`:this.handleTranscriptExportCancel(e,t.requestId);break;case`transcript.export.ack`:this.handleTranscriptExportAck(e,t.requestId,t.index);break;case`cherry.host_event`:this.routeCherryHostEvent(e,t);break;case`ping`:{let t=this.followers.get(e);t&&(t.keepalive.receivePing(),t.lastActivity=Date.now(),t.sync.send({type:`pong`}));break}case`pong`:{let t=this.followers.get(e);t&&(t.keepalive.receivePong(),t.lastActivity=Date.now());break}case`hello`:this.handleFollowerHello(e,t);break;default:{let n=m(t);W.warn(`Unknown follower message type — skewed follower?`,{bootstrapId:e,type:n.type});break}}}handleFollowerHello(e,t){let n=this.followers.get(e);n&&(n.peerProtocolVersion=t.protocolVersion,n.peerCapabilities=t.capabilities,n.peerMotd=t.motd,this.options.onFollowerCountChanged?.(this.followers.size)),t.protocolVersion>3?W.warn(`Follower speaks a newer tray sync protocol — update this build`,{bootstrapId:e,followerVersion:t.protocolVersion,ourVersion:3}):W.info(`Follower hello`,{bootstrapId:e,protocolVersion:t.protocolVersion})}async handleTranscriptExportRequest(t,n,r){let i=e.exportKey(t,n);if(this.activeExports.has(i)){W.warn(`Duplicate transcript export request from same follower, ignoring`,{bootstrapId:t,requestId:n});return}let a=this.followers.get(t);if(!a)return;let{requestTranscriptExportApproval:o,createTranscriptExport:s}=this.options;if(!o||!s){a.sync.send({type:`transcript.export.denied`,requestId:n});return}if([...this.activeExports.values()].some(e=>e.bootstrapId===t)){W.warn(`Follower already has an in-flight export; denying duplicate`,{bootstrapId:t,requestId:n}),a.sync.send({type:`transcript.export.denied`,requestId:n});return}let c=new AbortController;this.activeExports.set(i,{bootstrapId:t,abort:c});let l=G(a.floatType,a.runtime);a.sync.send({type:`transcript.export.pending`,requestId:n});let u=!1;try{u=await o({requestId:n,followerLabel:l,hostOrigin:a.hostOrigin,selector:r})}catch(e){W.warn(`requestTranscriptExportApproval threw`,{requestId:n,error:e instanceof Error?e.message:String(e)}),u=!1}let d=this.followers.get(t);if(!this.activeExports.has(i)||!d){this.activeExports.delete(i);return}if(!u){d.sync.send({type:`transcript.export.denied`,requestId:n}),this.activeExports.delete(i);return}this.streamTranscriptExport(t,n,r,c)}handleTranscriptExportCancel(t,n){let r=e.exportKey(t,n),i=this.activeExports.get(r);i&&(W.info(`Transcript export cancelled by follower`,{requestId:n,bootstrapId:t}),i.abort.abort(),this.activeExports.delete(r),this.clearAckWaiters(t,n))}handleTranscriptExportAck(t,n,r){let i=e.ackKey(t,n,r),a=this.ackWaiters.get(i);a&&(this.ackWaiters.delete(i),a.resolve())}async streamTranscriptExport(t,n,i,a){let o=e.exportKey(t,n),{createTranscriptExport:s}=this.options;if(!this.followers.get(t)||!s){this.activeExports.delete(o);return}let l=e=>{let r=this.followers.get(t);r&&r.sync.send({type:`transcript.export.error`,requestId:n,code:e}),this.activeExports.delete(o)},u;try{u=await s(i,a.signal)}catch(e){if(a.signal.aborted){this.activeExports.delete(o);return}W.warn(`createTranscriptExport failed`,{requestId:n,error:e instanceof Error?e.message:String(e)}),l(e instanceof c?e.code:`session-not-found`);return}if(a.signal.aborted||!this.activeExports.has(o)){this.activeExports.delete(o);return}let d=this.followers.get(t)?.sync;if(!d){this.activeExports.delete(o);return}d.send({type:`transcript.export.start`,requestId:n,filename:u.filename});let{sha256:f}=await r(async()=>{let{sha256:e}=await import(`./sha256-DmK25X5D.js`).then(e=>e.n);return{sha256:e}},__vite__mapDeps([41,1])),p=f.create(),m=(this.followers.get(t)?.peerProtocolVersion??0)>=e.ACK_PROTOCOL_VERSION_MIN,{streamError:h,chunkCount:g,byteLength:_}=await this.sendExportChunks({bootstrapId:t,requestId:n,chunks:u.chunks,hasher:p,abort:a,awaitAck:m,onSlice:(e,r)=>{let i=this.followers.get(t);return i?(i.sync.send({type:`transcript.export.chunk`,requestId:n,index:e,data:r}),!0):!1}});if(h){l(`transfer-corrupt`);return}if(!this.activeExports.has(o))return;if(a.signal.aborted){l(`transfer-aborted`);return}let v;try{v=await u.completion}catch{if(a.signal.aborted){this.activeExports.delete(o);return}l(`transfer-aborted`);return}if(a.signal.aborted||!this.activeExports.has(o)){this.activeExports.delete(o);return}if(v.byteLength!==_){W.warn(`Transcript export byte count mismatch between service and leader stream`,{requestId:n,serviceByteLength:v.byteLength,leaderByteCount:_}),l(`transfer-corrupt`);return}let y=p.hex();if(v.sha256!==y){W.warn(`Transcript export SHA-256 mismatch between service and leader stream`,{requestId:n}),l(`transfer-corrupt`);return}let b=this.followers.get(t);b&&b.sync.send({type:`transcript.export.complete`,requestId:n,chunks:g,byteLength:_,sha256:y}),this.activeExports.delete(o)}async sendExportChunks(t){let{bootstrapId:n,requestId:r,chunks:i,hasher:a,abort:o,onSlice:s,awaitAck:c}=t,l=e.exportKey(n,r),u=this.followers.get(n)?.sync;if(!u)return{streamError:!0,chunkCount:0,byteLength:0};let d=0,f=0;try{for await(let e of i){if(o.signal.aborted||!this.activeExports.has(l))return{streamError:!1,chunkCount:d,byteLength:f};a.update(e),f+=e.byteLength;let t=q(e),i=await this.sendExportSlices({bootstrapId:n,requestId:r,b64:t,sync:u,key:l,abort:o,onSlice:s,awaitAck:c,startIdx:d});if(d=i.nextIdx,i.done!==`continue`)return{streamError:i.done===`error`,chunkCount:d,byteLength:f}}}catch(e){return o.signal.aborted?{streamError:!1,chunkCount:d,byteLength:f}:(W.warn(`Error streaming transcript export chunks`,{requestId:r,error:e instanceof Error?e.message:String(e)}),{streamError:!0,chunkCount:d,byteLength:f})}return{streamError:!1,chunkCount:d,byteLength:f}}async sendExportSlices(t){let{bootstrapId:n,requestId:r,b64:i,sync:a,key:o,abort:s,onSlice:c,awaitAck:l}=t,u=t.startIdx;for(let t=0;t<i.length;t+=e.EXPORT_CHUNK_B64_MAX){if(s.signal.aborted||!this.activeExports.has(o)||(await ye(a,e.EXPORT_BACKPRESSURE_THRESHOLD,s.signal),s.signal.aborted||!this.activeExports.has(o)))return{nextIdx:u,done:`abort`};let d=i.slice(t,t+e.EXPORT_CHUNK_B64_MAX);if(!c(u,d))return{nextIdx:u,done:`error`};if(l&&(!await this.waitForAck(n,r,u,s)||s.signal.aborted||!this.activeExports.has(o)))return{nextIdx:u+1,done:`abort`};u++}return{nextIdx:u,done:`continue`}}waitForAck(t,n,r,i){let a=i.signal;return new Promise(o=>{if(a.aborted){o(!1);return}let s=e.ackKey(t,n,r),c,l=()=>{c!==void 0&&(clearTimeout(c),c=void 0)},u=()=>{this.ackWaiters.delete(s),l()},d=()=>{u(),o(!1)};a.addEventListener(`abort`,d,{once:!0}),c=setTimeout(()=>{c=void 0,i.abort(),this.clearAckWaiters(t,n)},e.ACK_TIMEOUT_MS),this.ackWaiters.set(s,{resolve:()=>{a.removeEventListener(`abort`,d),u(),o(!0)},reject:()=>{a.removeEventListener(`abort`,d),u(),o(!1)}})})}setLocalTargets(e){this.registry.setTargets(`leader`,e),this.registry.hasChanged()&&this.broadcastTargetRegistry()}broadcastTargetRegistry(){if(this.followers.size===0)return;let e={type:`targets.registry`,targets:this.getFollowerBroadcastEntries()};this.broadcastToAllFollowers(e)}getTargets(){return this.getConnectedEntries()}getFollowerBroadcastEntries(){return this.getConnectedEntries().filter(e=>e.kind!==`preview`)}getConnectedEntries(){let e=this.registry.getEntries().filter(e=>{if(e.runtimeId===`leader`)return!0;let t=this.runtimeToBootstrap.get(e.runtimeId);return t?this.followers.has(t):!1}),t=[];for(let[e,n]of this.bridgeConns)t.push({targetId:`preview:${n.previewToken}:${e}`,localTargetId:e,runtimeId:`preview`,title:n.title,url:n.url,isLocal:!1,kind:`preview`});return[...e,...t]}createRemoteTransport(e,t){if(e===`preview`){let e=t.indexOf(`:`);if(e===-1)throw Error(`Invalid preview localTargetId format: expected "<token>:<connId>", got "${t}"`);let n=t.slice(e+1),r=this.getBridgeTransport(n);if(!r)throw Error(`Preview bridge connection "${n}" not found`);return r}let n=new te({sendCDPRequest:(n,r,i,a)=>{let o=this.runtimeToBootstrap.get(e),s=o?this.followers.get(o):void 0;if(!s){this.remoteTransports.get(`${e}:${t}`)?.handleResponse(n,void 0,`Target runtime "${e}" not connected`);return}this.pendingCDPRoutes.set(n,{requesterBootstrapId:`__leader__`,requestId:n}),s.sync.send({type:`cdp.request`,requestId:n,localTargetId:t,method:r,params:i,sessionId:a})}});return this.remoteTransports.set(`${e}:${t}`,n),n}removeRemoteTransport(e,t){let n=`${e}:${t}`,r=this.remoteTransports.get(n);r&&(r.disconnect(),this.remoteTransports.delete(n))}cleanupRemoteTransports(e){let t=`${e}:`;for(let e of[...this.remoteTransports.keys()])e.startsWith(t)&&(this.remoteTransports.get(e)?.disconnect(),this.remoteTransports.delete(e),W.debug(`Cleaned up stale remote transport`,{key:e}));try{this.options.onRemoteTransportsCleaned?.(e)}catch(t){W.warn(`onRemoteTransportsCleaned handler threw`,{runtimeId:e,error:t instanceof Error?t.message:String(t)})}}getConnectedFollowers(){return[...this.runtimeToBootstrap.entries()].map(([e,t])=>{let n=this.followers.get(t);return{runtimeId:e,runtime:n?.runtime,connectedAt:n?.connectedAt,lastActivity:n?.lastActivity,floatType:n?.floatType}})}canRuntimeServeTeleport(e,t){if(t.runtime===`slicc-cherry`)return!1;let n=this.registry.getEntries().filter(t=>t.runtimeId===e);return n.length===0||ve(n,{requireNetwork:!0}).length>0}getBestFollowerForTeleport(){let e=[];for(let[t,n]of this.runtimeToBootstrap){let r=this.followers.get(n);r&&this.canRuntimeServeTeleport(t,r)&&e.push({runtimeId:t,bootstrapId:n,floatType:r.floatType,lastActivity:r.lastActivity})}if(e.length===0)return null;let t=e.filter(e=>e.floatType===`standalone`),n=t.length>0?t:e;return n.sort((e,t)=>t.lastActivity-e.lastActivity),n[0]}get hasFollowers(){return this.followers.size>0}stop(){for(let e of[...this.followers.keys()])this.removeFollower(e);for(let e of this.bridgeConns.values())e.transport.disconnect();this.bridgeConns.clear(),this.mintMap.clear(),this.previewLickLastEmitAt.clear()}async executeLocalCDP(e,t,n,r,i,a){let o=this.followers.get(a);if(!o)return;let s=this.options.browserTransport;if(!s){o.sync.send({type:`cdp.response`,requestId:e,error:`Leader has no browser transport`});return}try{let t=await s.send(n,r,i);l(o.sync,e,t)}catch(t){o.sync.send({type:`cdp.response`,requestId:e,error:t instanceof Error?t.message:String(t)})}}forwardCDPRequest(e,t,n,r,i,a,o){let s=this.runtimeToBootstrap.get(t),c=s?this.followers.get(s):void 0,l=this.followers.get(o);if(!c){l&&l.sync.send({type:`cdp.response`,requestId:e,error:`Target runtime "${t}" not connected`});return}this.pendingCDPRoutes.set(e,{requesterBootstrapId:o,requestId:e}),c.sync.send({type:`cdp.request`,requestId:e,localTargetId:n,method:r,params:i,sessionId:a})}handleCDPResponse(e){let{requestId:t}=e,n=this.pendingCDPRoutes.get(t);if(!n)return;let r=p(this.cdpChunkBuffers,e);if(!r)return;if(this.pendingCDPRoutes.delete(t),n.requesterBootstrapId===`__leader__`){for(let e of this.remoteTransports.values())e.handleResponse(t,r.result,r.error);return}let i=this.followers.get(n.requesterBootstrapId);i&&l(i.sync,t,r.result,r.error)}handleCDPEvent(e,t,n,r){let i;for(let[t,n]of this.runtimeToBootstrap)if(n===e){i=t;break}if(!i)return;let a=`${i}:`;for(let[e,r]of this.remoteTransports)e.startsWith(a)&&r.handleEvent(t,n)}runtimeIdForBootstrap(e){for(let[t,n]of this.runtimeToBootstrap)if(n===e)return t}routeCherryHostEvent(e,t){if(!u(t))return;let n=this.options.onCherryHostEvent;if(!n){W.debug(`cherry.host_event received but no onCherryHostEvent wired`,{bootstrapId:e,name:t.name});return}let r=this.runtimeIdForBootstrap(e);try{n(r,t.name,t.detail)}catch(n){W.warn(`Failed to route cherry.host_event to cone`,{bootstrapId:e,name:t.name,error:n instanceof Error?n.message:String(n)})}}emitCherrySliccEvent(e,t,n){let r=e.indexOf(`:`),i=r>=0?e.slice(0,r):e,a=this.runtimeToBootstrap.get(i),o=a?this.followers.get(a):void 0;return o?o.sync.send({type:`cherry.slicc_event`,targetId:e,name:t,detail:n}):(W.warn(`emitCherrySliccEvent: owning follower not connected`,{targetId:e,name:t}),!1)}canRuntimeOpenTab(e){let t=this.registry.getEntries().filter(t=>t.runtimeId===e);return t.length===0||t.some(e=>!K(e))}openRemoteTab(e,t){let n=this.runtimeToBootstrap.get(e),r=n?this.followers.get(n):void 0;if(!r)return Promise.reject(Error(`Target runtime "${e}" not connected`));if(!this.canRuntimeOpenTab(e))return Promise.reject(Error(`Target runtime "${e}" is a cherry host that cannot open tabs`));let i=`tab-open-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((e,n)=>{this.tabOpenResolvers.set(i,{resolve:e,reject:n}),this.pendingTabOpenRoutes.set(i,{requesterBootstrapId:`__leader__`,requestId:i}),r.sync.send({type:`tab.open`,requestId:i,url:t})})}async executeLocalTabOpen(e,t,n){let r=this.followers.get(n);if(!r)return;let i=this.options.browserTransport;if(!i){r.sync.send({type:`tab.open.error`,requestId:e,error:`Leader has no browser transport`});return}try{let n=(await i.send(`Target.createTarget`,{url:t,background:!0})).targetId;r.sync.send({type:`tab.opened`,requestId:e,targetId:`leader:${n}`})}catch(t){r.sync.send({type:`tab.open.error`,requestId:e,error:t instanceof Error?t.message:String(t)})}}forwardTabOpen(e,t,n,r){let i=this.runtimeToBootstrap.get(t),a=i?this.followers.get(i):void 0,o=this.followers.get(r);if(!a){o&&o.sync.send({type:`tab.open.error`,requestId:e,error:`Target runtime "${t}" not connected`});return}if(!this.canRuntimeOpenTab(t)){o&&o.sync.send({type:`tab.open.error`,requestId:e,error:`Target runtime "${t}" is a cherry host that cannot open tabs`});return}this.pendingTabOpenRoutes.set(e,{requesterBootstrapId:r,requestId:e}),a.sync.send({type:`tab.open`,requestId:e,url:n})}handleTabOpenResponse(e,t){let n=this.pendingTabOpenRoutes.get(e);if(!n)return;if(this.pendingTabOpenRoutes.delete(e),n.requesterBootstrapId===`__leader__`){let n=this.tabOpenResolvers.get(e);n&&(this.tabOpenResolvers.delete(e),n.resolve(t));return}let r=this.followers.get(n.requesterBootstrapId);r&&r.sync.send({type:`tab.opened`,requestId:e,targetId:t})}handleTabOpenError(e,t){let n=this.pendingTabOpenRoutes.get(e);if(!n)return;if(this.pendingTabOpenRoutes.delete(e),n.requesterBootstrapId===`__leader__`){let n=this.tabOpenResolvers.get(e);n&&(this.tabOpenResolvers.delete(e),n.reject(Error(t)));return}let r=this.followers.get(n.requesterBootstrapId);r&&r.sync.send({type:`tab.open.error`,requestId:e,error:t})}async executeLocalFs(e,t,n){let r=this.followers.get(n);if(!r)return;let i=this.options.vfs;if(!i){r.sync.send({type:`fs.response`,requestId:e,response:{ok:!1,error:`Leader has no VFS`}});return}let a=await D(i,t);for(let t of a)r.sync.send({type:`fs.response`,requestId:e,response:t})}forwardFsRequest(e,t,n,r){let i=this.runtimeToBootstrap.get(t),a=i?this.followers.get(i):void 0,o=this.followers.get(r);if(!a){o&&o.sync.send({type:`fs.response`,requestId:e,response:{ok:!1,error:`Target runtime "${t}" not connected`}});return}this.pendingFsRoutes.set(e,{requesterBootstrapId:r,requestId:e,chunks:[],totalChunks:1}),a.sync.send({type:`fs.request`,requestId:e,request:n})}handleFsResponse(e,t){let n=this.pendingFsRoutes.get(e);if(!n){let n=this.fsResolvers.get(e);if(n){n.responses.push(t);let r=t.ok&&t.totalChunks||1;n.responses.length>=r&&(this.fsResolvers.delete(e),n.resolve(n.responses))}return}if(n.requesterBootstrapId===`__leader__`){let n=this.fsResolvers.get(e);if(n){n.responses.push(t);let r=t.ok&&t.totalChunks||1;n.responses.length>=r&&(this.fsResolvers.delete(e),this.pendingFsRoutes.delete(e),n.resolve(n.responses))}return}let r=this.followers.get(n.requesterBootstrapId);r&&r.sync.send({type:`fs.response`,requestId:e,response:t}),n.chunks.push(t),n.totalChunks=t.ok&&t.totalChunks||1,n.chunks.length>=n.totalChunks&&this.pendingFsRoutes.delete(e)}sendFsRequest(e,t){if(e===`leader`){let e=this.options.vfs;return e?D(e,t):Promise.resolve([{ok:!1,error:`Leader has no VFS`}])}let n=this.runtimeToBootstrap.get(e),r=n?this.followers.get(n):void 0;if(!r)return Promise.resolve([{ok:!1,error:`Target runtime "${e}" not connected`}]);let i=`fs-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return new Promise((e,n)=>{this.fsResolvers.set(i,{resolve:e,reject:n,responses:[]}),this.pendingFsRoutes.set(i,{requesterBootstrapId:`__leader__`,requestId:i,chunks:[],totalChunks:1}),r.sync.send({type:`fs.request`,requestId:i,request:t})})}registerMintedPreview(e,t){this.mintMap.set(e,t)}dropMintedPreview(e){this.mintMap.delete(e),this.previewLickLastEmitAt.delete(`${e}:connected`),this.previewLickLastEmitAt.delete(`${e}:disconnected`)}onBridgeConnected(e){let{connId:t,previewToken:n,origin:r,userAgent:i,connectedAt:a}=e;if(this.bridgeConns.has(t))return;let o=this.mintMap.get(n),s=o?.url??r,c=o?.title??`Preview`,l=o?.quiet??!1,u=new me({connId:t,targetUrl:s,targetOrigin:r,title:c,send:e=>this.options.sendControl(e)});u.connect(),this.bridgeConns.set(t,{previewToken:n,origin:r,userAgent:i,connectedAt:a,url:s,title:c,quiet:l,transport:u}),W.info(`Preview bridge connected`,{connId:t,previewToken:n,origin:r,userAgent:i}),this.emitPreviewLifecycleLick(`connected`,{connId:t,previewToken:n,origin:r,userAgent:i,connectedAt:a,quiet:l})}onBridgeDisconnected(e){let{connId:t,reason:n}=e,r=this.bridgeConns.get(t);if(!r)return;let{previewToken:i,origin:a,userAgent:o,connectedAt:s,quiet:c}=r;r.transport.disconnect(),this.bridgeConns.delete(t),W.info(`Preview bridge disconnected`,{connId:t,reason:n}),this.emitPreviewLifecycleLick(`disconnected`,{connId:t,previewToken:i,origin:a,userAgent:o,connectedAt:s,quiet:c})}emitPreviewLifecycleLick(t,n){if(n.quiet||!this.options.onPreviewLick)return;let r=`${n.previewToken}:${t}`,i=Date.now();if(i-(this.previewLickLastEmitAt.get(r)??0)<e.PREVIEW_LICK_THROTTLE_MS)return;this.previewLickLastEmitAt.set(r,i);let a={type:`preview`,previewLifecycle:t,previewConnId:n.connId,previewToken:n.previewToken,previewOrigin:n.origin,previewUserAgent:n.userAgent,previewConnectedAt:n.connectedAt,timestamp:new Date().toISOString(),body:{}};try{this.options.onPreviewLick(a)}catch(e){W.warn(`onPreviewLick handler threw`,{error:e instanceof Error?e.message:String(e)})}}onBridgeCdpResponse(e){let{connId:t,id:n,result:r,error:i}=e,a=this.bridgeConns.get(t);if(!a){W.warn(`Received bridge.cdp.response for unknown connId`,{connId:t,id:n});return}a.transport.deliverResponse(n,{result:r,error:i})}getBridgeTransport(e){return this.bridgeConns.get(e)?.transport}},J=a(`page-leader-tray`);function xe(e,t){return new be({sendControl:e=>t().sendControlMessage(e),getMessages:e.getMessages,getMessagesForScoop:e.getMessagesForScoop,getScoopJid:e.getScoopJid,getScoops:e.getScoops,getSprinkles:e.getSprinkles,readSprinkleContent:e.readSprinkleContent,onSprinkleLick:e.onSprinkleLick,onForwardedLick:e.onForwardedLick,onFollowerMessage:e.onFollowerMessage,onFollowerAbort:e.onFollowerAbort,onFollowerNewSession:e.onFollowerNewSession,onFollowerCountChanged:e.onFollowerCountChanged,onRemoteTransportsCleaned:e.onRemoteTransportsCleaned,execInShell:e.execInShell,onCherryHostEvent:e.onCherryHostEvent,onPreviewLick:e.onPreviewLick,requestTranscriptExportApproval:e.requestTranscriptExportApproval,createTranscriptExport:e.createTranscriptExport,browserAPI:e.browserAPI,browserTransport:e.browserTransport,vfs:e.vfs})}function Se(e,t){return new ue({sendControlMessage:t=>e().sendControlMessage(t),onPeerConnected:(e,n)=>{J.info(`Tray follower data channel opened`,{controllerId:e.controllerId,bootstrapId:e.bootstrapId,attempt:e.attempt,runtime:e.runtime}),t.addFollower(e.bootstrapId,n,{runtime:e.runtime,connectedAt:e.connectedAt??void 0})},onPeerDisconnected:(e,t)=>{J.info(`Tray follower disconnected`,{bootstrapId:e,reason:t})}})}function Ce(e,t,n,r,i,a){let o=t=>{e.browserTransport?.sendLeaderJoinUrl?.(t)};return new ie({workerBaseUrl:e.workerBaseUrl,runtime:e.runtime??`slicc-standalone`,...e.kind?{kind:e.kind}:{},onLeaderReady:t=>{e.onLeaderReady?.(t),o(t.joinUrl)},fetchImpl:r,...e._storeOverride?{store:e._storeOverride}:{},...e._webSocketFactory?{webSocketFactory:e._webSocketFactory}:{},onControlMessage:r=>{if(r.type===`webhook.event`){e.sendWebhookEvent(r.webhookId,r.headers,r.body);return}if(r.type===`preview.request`){let t=e.vfs;if(!t){a().sendControlMessage({type:`preview.response`,reqId:r.reqId,ok:!1,status:500,reason:`leader has no VFS bound`});return}H(r,{send:e=>a().sendControlMessage(e)},t).catch(e=>{J.error(`preview.request handling failed`,{error:e instanceof Error?e.message:String(e)})});return}if(r.type===`preview.revoked`){J.info(`Preview revoked by worker`,{previewToken:r.previewToken}),n.dropMintedPreview(r.previewToken);return}if(r.type===`bridge.connected`){n.onBridgeConnected(r);return}if(r.type===`bridge.disconnected`){n.onBridgeDisconnected(r);return}if(r.type===`bridge.cdp.response`){n.onBridgeCdpResponse(r);return}t.handleControlMessage(r).catch(e=>{J.error(`Tray leader bootstrap handling failed`,{error:e instanceof Error?e.message:String(e)})})},onReconnecting:(e,t)=>{J.info(`Leader tray reconnecting`,{attempt:e,lastError:t})},onReconnected:e=>{J.info(`Leader tray reconnected`,{trayId:e.trayId}),i(e),o(e.joinUrl)},onReconnectGaveUp:(e,t)=>{J.error(`Leader tray reconnect gave up`,{lastError:e,attempts:t}),o(null)}})}function we(e,t){let n=new le(J,{failureMessage:`Leader CDP target refresh failed (best-effort, throttled)`,recoveryMessage:`Leader CDP target refresh recovered (stable for debounce window)`});return async()=>{let r;try{r=await e.browserAPI.listPages()}catch(e){n.reportFailure(e);return}n.reportSuccess();try{let e=r.map(e=>({targetId:e.targetId,title:e.title,url:e.url}));t.setLocalTargets(e)}catch(e){J.error(`Leader target broadcast failed (sync.setLocalTargets threw)`,{error:e instanceof Error?e.message:String(e)})}}}function Te(e,t){return setInterval(()=>{try{e.broadcastScoopsList(),e.broadcastSprinklesList()}catch(e){J.error(`Failed to broadcast follower lists`,{error:e instanceof Error?e.message:String(e)})}},t)}function Ee(e){return t=>{let n=e._historyOverride??De();if(n)try{let e=v(n.href,t.workerBaseUrl,t.trayId);e!==n.href&&n.replaceState(null,``,e)}catch(e){J.debug(`URL bar update skipped`,{error:e instanceof Error?e.message:String(e)})}}}function Y(e){let t=e._refreshIntervalMs??5e3,n=e._fetchImpl??((e,t)=>fetch(e,t)),r,i=Ee(e),a=xe(e,()=>r);e.browserAPI.setTrayTargetProvider(a);let o=Se(()=>r,a);r=Ce(e,o,a,n,i,()=>r);let s=e.onAgentEvent(e=>a.broadcastEvent(e)),c=[],l=we(e,a);c.push(setInterval(l,t)),l(),c.push(Te(a,t));let u=r.start();u.then(i).catch(e=>{J.error(`Leader tray start failed`,{error:e instanceof Error?e.message:String(e)})});let d=!1;return{ready:u,stop(){d=!0,s();for(let e of c)clearInterval(e);a.stop(),o.stop(),r.stop()},async reset(){a.stop(),o.stop(),r.stop(),await r.clearSession();let e=await r.start();return i(e),w()},leader:r,peers:o,sync:a,get currentLeaderSync(){return d?null:a}}}function De(){return typeof window>`u`||!window.history||!window.location?null:{get href(){return window.location.href},replaceState(e,t,n){window.history.replaceState(e,t,n)}}}function Oe(e){let t=new Map,n=(e,t)=>`${e}:${t}`,r=(r,i)=>{let a=n(r,i),o=t.get(a);if(!o){let n=e.getSync();if(!n)throw Error(`remote-cdp: leader tray not started`);o={runtimeId:r,localTargetId:i,transport:n.createRemoteTransport(r,i),forwarders:new Map},t.set(a,o)}return o},i=n=>{let r=t.get(n);if(!r)return;for(let[e,t]of r.forwarders)r.transport.off(e,t.listener);r.forwarders.clear();let i=e.getSync();i?.removeRemoteTransport?i.removeRemoteTransport(r.runtimeId,r.localTargetId):r.transport.disconnect(),t.delete(n)};return{async send({runtimeId:e,localTargetId:t,method:n,params:i,sessionId:a,timeout:o}){return r(e,t).transport.send(n,i,a,o)},async subscribe({runtimeId:t,localTargetId:n,event:i}){let a=r(t,n),o=a.forwarders.get(i);if(o)return o.count+=1,{ok:!0};let s=r=>e.postEvent({runtimeId:t,localTargetId:n,method:i,params:r});return a.transport.on(i,s),a.forwarders.set(i,{listener:s,count:1}),{ok:!0}},async unsubscribe({runtimeId:e,localTargetId:r,event:i}){let a=t.get(n(e,r)),o=a?.forwarders.get(i);return!a||!o?{ok:!0}:(--o.count,o.count<=0&&(a.transport.off(i,o.listener),a.forwarders.delete(i)),{ok:!0})},async detach({runtimeId:e,localTargetId:t}){return i(n(e,t)),{ok:!0}},async openTab({runtimeId:t,url:n}){let r=e.getSync();if(!r?.openRemoteTab)throw Error(`remote-cdp: openRemoteTab not available`);return{targetId:await r.openRemoteTab(t,n)}},cleanupRuntime(e){let n=`${e}:`;for(let e of[...t.keys()])e.startsWith(n)&&i(e)},disposeAll(){for(let e of[...t.keys()])i(e)}}}var X=a(`tray-leader-lock`);function ke(e){return`slicc-tray-leader:${e}`}function Z(){let e=!1,t=null;return{release:()=>{e||(e=!0,t?.())},heldPromise:new Promise(e=>{t=e})}}async function Q(e,t){if(!t)return{status:`granted`,release:()=>{}};let n=ke(e),r,i=new Promise(e=>{r=e}),a=Z();return t.request(n,{mode:`exclusive`,ifAvailable:!0},e=>e===null?(r(!1),Promise.resolve()):(r(!0),a.heldPromise)),await i?{status:`granted`,release:a.release}:{status:`deferred`,waitForPromotion:()=>new Promise(e=>{let r=Z();t.request(n,{mode:`exclusive`},()=>(e({release:r.release}),r.heldPromise))})}}async function Ae(e){let t=await Q(e.workerBaseUrl,e.lockManager);if(t.status===`granted`){if(!e.shouldLead()){t.release();return}e.onGranted(t.release);return}X.error(`Another tab is already leading on this tray worker — deferring leader start until the other tab releases the lock.`);let{release:n}=await t.waitForPromotion();if(!e.shouldLead()){n();return}X.error(`Late promotion: this tab is now the tray leader.`),e.onGranted(n)}function je(){return typeof navigator<`u`&&navigator.locks&&typeof navigator.locks.request==`function`?navigator.locks:null}function $(e,t){let{browser:n,client:r,getController:i}=e;return{joinUrl:t,onSnapshot:e=>i()?.loadMessages(e),onUserMessage:(e,t,n,r)=>i()?.addUserMessage(e,r),onStatus:e=>i()?.setProcessing(e===`processing`),setChatAgent:e=>i()?.setAgent(e),browserAPI:n,onForwardingToggle:e=>r.sendSetFollowerForwarding(e),addSprinkle:(t,n,r)=>e.addSprinkle(t,n,r),removeSprinkle:t=>e.removeSprinkle(t),onScoopsList:(t,n)=>{e.refs.switcher.scoops=t.map(e=>({key:e.jid,type:e.isCone?`cone`:`scoop`,color:T(e),label:e.isCone?`sliccy`:e.name,eyes:`open`})),e.refs.switcher.setAttribute(`active`,n)}}}function Me(e,t,n){let{client:i,refs:a}=e;return o=>({workerBaseUrl:o,getMessages:()=>e.getController()?.getMessages()??[],getMessagesForScoop:e=>i.getMessagesForScoop(e),getScoopJid:()=>e.getSelectedJid(),getScoops:()=>i.getScoops().map(e=>({jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,assistantLabel:e.assistantLabel,trigger:e.trigger})),getSprinkles:()=>{let t=new Set(e.sprinkleManager.opened());return e.sprinkleManager.available().map(e=>({name:e.name,title:e.title,path:e.path,open:t.has(e.name),autoOpen:e.autoOpen,icon:e.icon}))},readSprinkleContent:async t=>{let n=e.sprinkleManager.available().find(e=>e.name===t);if(!n)return null;try{let t=await(await e.openFs()).readFile(n.path,{encoding:`utf-8`});return typeof t==`string`?t:new TextDecoder(`utf-8`).decode(t)}catch{return null}},onSprinkleLick:(e,t,n,r)=>i.sendSprinkleLick(e,t,n,r),onFollowerMessage:(n,r,i)=>{e.getController()?.addUserMessage(n,i),e.agentHandle.sendMessage(n,r,i),t.leader?.sync.broadcastUserMessage(n,r,i)},onFollowerAbort:()=>e.agentHandle.stop(),onFollowerNewSession:t=>{e.window.dispatchEvent(new CustomEvent(oe,{detail:{action:t}}))},onFollowerCountChanged:t=>{a.floatbar.setAttribute(`label`,t>0?`tray · ${t} follower${t===1?``:`s`}`:e.baseFloatLabel??`standalone · live`),N(j())},onRemoteTransportsCleaned:e=>n.cleanupRuntime(e),onForwardedLick:e=>i.sendForwardedLick(e),onCherryHostEvent:(e,t,n)=>i.sendCherryHostEvent(e,t,n),onPreviewLick:e=>i.sendPreviewLick(e),requestTranscriptExportApproval:e=>r(async()=>{let{openTranscriptExportApproval:e}=await import(`./wc-transcript-export-5Pmfejur.js`);return{openTranscriptExportApproval:e}},__vite__mapDeps([42,4,43,13,41,1])).then(({openTranscriptExportApproval:t})=>t(e)),createTranscriptExport:async(e,t)=>{let{runTranscriptExportForFollower:n}=await r(async()=>{let{runTranscriptExportForFollower:e}=await import(`./wc-transcript-export-5Pmfejur.js`);return{runTranscriptExportForFollower:e}},__vite__mapDeps([42,4,43,13,41,1]));return n(e,t,i)},sendWebhookEvent:(e,t,n)=>i.sendWebhookEvent(e,t,n),onAgentEvent:t=>e.agentHandle.onEvent(t),execInShell:(e,t)=>z(i,{command:e,...t}),browserAPI:e.browser,browserTransport:e.realCdpTransport,vfs:{async stat(t){return(await e.openFs()).stat(t)},async readFile(t,n){return(await e.openFs()).readFile(t,n)}}})}function Ne(e,t){return{wireLeaderHooks:t=>{A(()=>{let e=t.sync.getExecCapableBootstrapIds(),n=t.sync.getBrowserCapableBootstrapIds(),r=t.sync.getFollowerMotds();return t.peers.getPeers().map(t=>({runtimeId:ce(t.bootstrapId),runtime:t.runtime,connectedAt:t.connectedAt??void 0,exec:e.has(t.bootstrapId),cdp:n.has(t.bootstrapId),motd:r.get(t.bootstrapId)}))}),e.sprinkleManager.setSendToSprinkleHook((e,n)=>t.sync.broadcastSprinkleUpdate(e,n)),e.sprinkleManager.setReloadHook(e=>t.sync.broadcastSprinkleReloaded(e)),e.getController()?.setOnLocalUserMessage((e,n,r)=>t.sync.broadcastUserMessage(e,n,r)),e.getController()?.setOnLocalProcessingChange(e=>t.sync.broadcastStatus(e?`processing`:`ready`)),r(async()=>{let{setThemeChangeListener:e,getActiveThemeId:t}=await import(`./theme-engine-jfuTMXZM.js`).then(e=>e.p);return{setThemeChangeListener:e,getActiveThemeId:t}},__vite__mapDeps([44,1,12])).then(({setThemeChangeListener:e,getActiveThemeId:n})=>{let r;e(e=>{n()!==`__preview`&&(clearTimeout(r),r=setTimeout(()=>t.sync.broadcastTheme(e),150))})})},clearLeaderHooks:()=>{A(null),N([]),e.getController()?.setOnLocalUserMessage(void 0),e.getController()?.setOnLocalProcessingChange(void 0),e.sprinkleManager.setSendToSprinkleHook(void 0),e.sprinkleManager.setReloadHook(void 0),t.disposeAll(),r(async()=>{let{setThemeChangeListener:e}=await import(`./theme-engine-jfuTMXZM.js`).then(e=>e.p);return{setThemeChangeListener:e}},__vite__mapDeps([44,1,12])).then(({setThemeChangeListener:e})=>{e(null)})}}}function Pe(e){return{runtime:`slicc-hosted-leader`,kind:`hosted`,onLeaderReady:t=>{fetch(h(`/api/cloud-status`),{method:`POST`,headers:g({"content-type":`application/json`}),body:JSON.stringify({joinUrl:t.joinUrl,trayId:t.trayId,controllerUrl:t.controllerUrl,webhookUrl:t.webhookUrl,runtime:t.runtime,sliccVersion:`5.74.0`}),signal:AbortSignal.timeout(1e4)}).catch(t=>{e.log.error(`failed to POST /api/cloud-status`,{error:String(t)})})}}}function Fe(e,t,n,r,i){let{window:a,log:o}=e;if(e.runtimeMode===`hosted-leader`){a.localStorage.removeItem(y);let i=a.localStorage.getItem(b);if(!i){o.error(`hosted-leader: tray worker base URL not seeded`);return}t.leader=Y({...n(i),...Pe(e)}),r(t.leader),L({log:o});return}let s=a.localStorage.getItem(y),c=a.localStorage.getItem(b);s?t.follower=O($(e,s)):c&&Ie(c,e,t,n,r,i)}function Ie(e,t,n,r,i,a){Ae({workerBaseUrl:e,lockManager:a,shouldLead:()=>!n.leader&&!n.follower&&t.window.localStorage.getItem(`slicc.trayWorkerBaseUrl`)===e,onGranted:t=>{n.lockRelease=t,n.leader=Y(r(e)),i(n.leader)}})}function Le(e,t,n,r){let{window:i,log:a}=e;i.addEventListener(`slicc:tray-join`,r=>{let i=r.detail?.joinUrl;if(!i)return;let o=t.leader,s=t.lockRelease;t.leader=null,t.lockRelease=null,n();let c=t.follower;t.follower=null;try{o?.stop()}catch(e){a.error(`leader stop threw during tray-join switch`,e)}s?.();try{c?.stop()}catch(e){a.error(`previous follower stop threw during tray-join switch`,e)}try{t.follower=O($(e,i))}catch(e){a.error(`tray-join failed`,e)}}),i.addEventListener(`slicc:tray-leave`,e=>{let t=e;r({workerBaseUrl:t.detail?.workerBaseUrl??null,requestId:t.detail?.requestId}).catch(e=>a.error(`tray-leave failed`,e))}),i.addEventListener(`beforeunload`,()=>{t.leader?.stop(),t.follower?.stop(),t.lockRelease?.(),t.lockRelease=null},{once:!0})}async function Re(e){let{loadSprinkleStyles:t}=await r(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([45,4]));await t();let{client:n,instanceId:i,window:a,log:o}=e,s={leader:null,follower:null,lockRelease:null},c=je(),l=typeof BroadcastChannel==`function`?new BroadcastChannel(x(i)):null,u=Oe({getSync:()=>s.leader?.sync??null,postEvent:e=>{let t={type:`panel-rpc-push`,op:`remote-cdp-event`,payload:e};l?.postMessage(t)}});n.setForwardLickHandler(e=>{let t=s.follower?.currentSync;t?t.forwardLick(e):o.warn(`forward-lick dropped: no active follower sync`)});let d=Me(e,s,u),{wireLeaderHooks:f,clearLeaderHooks:p}=Ne(e,u);a.addEventListener(se,()=>{s.leader?.sync.broadcastSnapshot()});let m=async e=>{let{performTrayLeave:t}=await r(async()=>{let{performTrayLeave:e}=await import(`./tray-leave-runtime-DuZ41JQ-.js`);return{performTrayLeave:e}},__vite__mapDeps([46,26,13,14,1,4,15,16,17,27])),n=()=>{s.leader||(s.lockRelease?.(),s.lockRelease=null)},i=t({workerBaseUrl:e.workerBaseUrl,requestId:e.requestId},{getLeader:()=>s.leader,setLeader:e=>{s.leader=e},getFollower:()=>s.follower,setFollower:e=>{s.follower=e},startLeader:e=>(s.lockRelease?.(),s.lockRelease=null,Q(e,c).then(e=>{if(e.status===`granted`){if(!s.leader){e.release();return}s.lockRelease=e.release}}),Y(d(e))),clearLeaderHooks:p,wireLeaderHooks:f,storage:a.localStorage,log:o});try{let e=await i;return n(),e}catch(e){throw n(),e}};return await I({instanceId:i,browser:e.browser,remoteCdpBridge:u,remoteCdpPushChannel:l,getLeader:()=>s.leader,performTrayLeaveLocally:m,window:a}),Fe(e,s,d,f,c),re(e=>{a.localStorage.setItem(`slicc.leaderTrayStatus`,JSON.stringify(e))}),a.localStorage.setItem(`slicc.leaderTrayStatus`,JSON.stringify(w())),S(e=>{a.localStorage.setItem(C,JSON.stringify(e))}),a.localStorage.setItem(C,JSON.stringify(ee())),N(j(),a.localStorage),Le(e,s,p,m),{getLeader:()=>s.leader,getFollower:()=>s.follower,performTrayLeaveLocally:m}}export{Re as wireWcTray};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{a as t,i as n,o as r,r as i}from"./transformers-env-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{a as t,i as n,o as r,r as i}from"./transformers-env-Cr03eE3X.js";const a=e(`speech:whisper`),o=`onnx-community/whisper-tiny`;let s=null,c=`idle`,l=null;const u=new Set;function d(){return c}function f(){return l}function p(e){return e&&u.add(e),s||=(c=`loading`,h().then(e=>(c=`ready`,m(),e),e=>{throw c=`failed`,s=null,a.error(`whisper load failed`,e),e})),s}function m(){import(`./speak-DZhfxcQp.js`).then(({kokoroWarmup:e})=>e()).catch(e=>a.warn(`kokoro warmup (chained after whisper) failed`,e))}async function h(){let{pipeline:e,env:s}=await import(`./transformers.web-CrioJkWG.js`);n(s),await i(o),await t();let c=r(),d=e=>{if(e?.file){if(e.status===`progress`)c.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)c.complete(e.file);else return;l=c.snapshot();for(let e of u)e(l)}},f=async t=>await e(`automatic-speech-recognition`,o,{device:t,dtype:t===`webgpu`?`fp32`:`q8`,progress_callback:d}),p=typeof navigator<`u`&&`gpu`in navigator,m;if(p)try{m=await f(`webgpu`)}catch(e){a.warn(`whisper webgpu init failed; retrying on wasm`,e),m=await f(`wasm`)}else m=await f(`wasm`);return a.info(`whisper ready`,{model:o,device:p?`webgpu`:`wasm`}),{async transcribe(e,t){let n=await m(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}});return(Array.isArray(n)?n.map(e=>e.text??``).join(` `):n.text??``).trim()}}}export{d as i,p as n,f as r,o as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{i as n,n as r,r as i,t as a}from"./transformers-env-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-wEvzUJ_4.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/runtime-env-DH4NDw4t.js","assets/speech-assets-bridge-CFYafE89.js","assets/transformers-env-DKadceXA.js","assets/proxied-fetch-CfcFb0B0.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-DoFhVmQT.js","assets/fetch-body-D2PwksUW.js","assets/shared-BYVJAPbn.js","assets/mime-types-ugOWOUZ9.js","assets/transformers.web-D6viRW2X.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{i as n,n as r,r as i,t as a}from"./transformers-env-DKadceXA.js";var o=t(`speech:whisper`),s=`onnx-community/whisper-tiny`,c=null,l=`idle`,u=null,d=new Set;function f(){return l}function p(){return u}function m(e){return e&&d.add(e),c||=(l=`loading`,g().then(e=>(l=`ready`,h(),e),e=>{throw l=`failed`,c=null,o.error(`whisper load failed`,e),e})),c}function h(){e(async()=>{let{kokoroWarmup:e}=await import(`./speak-wEvzUJ_4.js`);return{kokoroWarmup:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])).then(({kokoroWarmup:e})=>e()).catch(e=>o.warn(`kokoro warmup (chained after whisper) failed`,e))}async function g(){let{pipeline:t,env:c}=await e(async()=>{let{pipeline:e,env:t}=await import(`./transformers.web-D6viRW2X.js`);return{pipeline:e,env:t}},__vite__mapDeps([13,7,1]));r(c),await a(s),await i();let l=n(),f=e=>{if(e?.file){if(e.status===`progress`)l.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)l.complete(e.file);else return;u=l.snapshot();for(let e of d)e(u)}},p=async e=>await t(`automatic-speech-recognition`,s,{device:e,dtype:e===`webgpu`?`fp32`:`q8`,progress_callback:f}),m=typeof navigator<`u`&&`gpu`in navigator,h;if(m)try{h=await p(`webgpu`)}catch(e){o.warn(`whisper webgpu init failed; retrying on wasm`,e),h=await p(`wasm`)}else h=await p(`wasm`);return o.info(`whisper ready`,{model:s,device:m?`webgpu`:`wasm`}),{async transcribe(e,t){let n=await h(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}});return(Array.isArray(n)?n.map(e=>e.text??``).join(` `):n.text??``).trim()}}}var _=16e3;async function v(e){if(typeof AudioContext>`u`||typeof OfflineAudioContext>`u`)throw Error(`audio decoding requires a window/page realm (AudioContext unavailable)`);let t=new AudioContext,n;try{n=await t.decodeAudioData(e.slice(0))}finally{await t.close().catch(()=>{})}let r=Math.max(1,Math.ceil(n.duration*_)),i=new OfflineAudioContext(1,r,_),a=i.createBufferSource();return a.buffer=n,a.connect(i.destination),a.start(),(await i.startRendering()).getChannelData(0).slice(0)}var y=t(`speech:whisper-session`),b=2e3,x=500,S=5e3,C=3e4,w=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})});function T(e){return e?.split(`-`)[0]?.toLowerCase()||void 0}async function E(e,t){let n;if(t.stream)n=t.stream;else{if(!navigator.mediaDevices?.getUserMedia)throw Error(`microphone capture unavailable in this realm`);n=await navigator.mediaDevices.getUserMedia({audio:t.deviceId&&t.deviceId!=="default"?{deviceId:{exact:t.deviceId}}:!0})}let r=new MediaRecorder(n),i=[],a=T(t.lang),o=!1,s=!1;r.ondataavailable=e=>{e.data.size>0&&i.push(e.data)};let c=async()=>{if(i.length===0)return``;let t=await v(await new Blob(i,{type:r.mimeType||`audio/webm`}).arrayBuffer());return e.transcribe(t,{language:a})},l=Promise.resolve(``),u=()=>{let e=l.catch(()=>``).then(()=>c());return l=e.catch(()=>``),e},d=setInterval(()=>{o||s||i.length===0||(o=!0,u().then(e=>{!s&&e&&t.onPartial?.(e)}).catch(e=>{y.warn(`partial transcription failed`,e)}).finally(()=>{o=!1}))},b),f=()=>{if(clearInterval(d),r.state!==`inactive`)try{r.stop()}catch{}for(let e of n.getTracks())e.stop()},p=()=>new Promise(e=>{if(r.state===`inactive`){e();return}r.onstop=()=>e();try{r.stop()}catch{e()}});return r.start(x),{async stop(){if(s)return``;s=!0,clearInterval(d);try{await w(p(),S,`recorder flush`);for(let e of n.getTracks())e.stop();return await w(u(),C,`transcription`)}catch(e){for(let e of n.getTracks())e.stop();let r=e instanceof Error?e.message:String(e);return t.onError?.(`transcription failed: ${r}`),``}},cancel(){s||(s=!0,f())}}}export{p as a,m as i,T as n,f as o,v as r,E as t};
|