sliccy 6.256.19 → 6.256.21
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/dist/ui/.vite/manifest.json +191 -191
- package/dist/ui/assets/{account-store-C6um0YPW.js → account-store--QH_gRlz.js} +1 -1
- package/dist/ui/assets/{account-store-DcnsleVv.js → account-store-CbKQrU_A.js} +1 -1
- package/dist/ui/assets/{adobe-6KkN_nv7.js → adobe-BBZZjXPq.js} +1 -1
- package/dist/ui/assets/{adobe-B0jHeR5S.js → adobe-D6tf-vd0.js} +1 -1
- package/dist/ui/assets/{agent-panels-DfgA8R43.js → agent-panels-DwoeuEZJ.js} +1 -1
- package/dist/ui/assets/{almost-bash-shell-headless-C1Lf_MMS.js → almost-bash-shell-headless-IexVAylq.js} +14 -14
- package/dist/ui/assets/{apply-layout-BGPfdSzk.js → apply-layout-DyJWDEg0.js} +1 -1
- package/dist/ui/assets/{azure-openai-DmUVAG9L.js → azure-openai-DfNYV355.js} +1 -1
- package/dist/ui/assets/{azure-openai-pWuMNG9M.js → azure-openai-mzyA6ec_.js} +1 -1
- package/dist/ui/assets/{bunny-probe-DpXkdbYB.js → bunny-probe-cUWPQ6lW.js} +1 -1
- package/dist/ui/assets/{bunny-run-rzX0F1nl.js → bunny-run-B37YZhan.js} +1 -1
- package/dist/ui/assets/{cdp-CPSnzyRg.js → cdp-D4hCZeiK.js} +3 -3
- package/dist/ui/assets/{cerebras-DFjBDkkf.js → cerebras-DCpB0UlY.js} +1 -1
- package/dist/ui/assets/{cerebras-orfSjH9T.js → cerebras-nIWXceol.js} +1 -1
- package/dist/ui/assets/{codemode-tool-Bjubrh1X.js → codemode-tool-BvKukYUa.js} +1 -1
- package/dist/ui/assets/{composer-speech-Cn9-Zzn2.js → composer-speech-tLlsFK5D.js} +1 -1
- package/dist/ui/assets/{connect-surface-D43D0p7K.js → connect-surface-XwtqAfeO.js} +1 -1
- package/dist/ui/assets/{directed-approval-DIP9tGOu.js → directed-approval-BHC1QE2R.js} +1 -1
- package/dist/ui/assets/{dist-DOjgJQZM.js → dist-Cqu6P8qf.js} +1 -1
- package/dist/ui/assets/{emscripten-vfs-hook-C_Yq_WAI.js → emscripten-vfs-hook-D27gwwXv.js} +1 -1
- package/dist/ui/assets/{fast-path-6ekMOXSI.js → fast-path-BHWue2Kr.js} +1 -1
- package/dist/ui/assets/{frozen-archive-writer-YCOD1fqb.js → frozen-archive-writer-Cixi7_NJ.js} +1 -1
- package/dist/ui/assets/{frozen-session-delete-WoQUijRl.js → frozen-session-delete-2eh2Yhbl.js} +1 -1
- package/dist/ui/assets/{frozen-session-identity-CUJ3SGDV.js → frozen-session-identity-DoWKIEpR.js} +1 -1
- package/dist/ui/assets/{gelatiere-unit-VC-Z6skV.js → gelatiere-unit-BqTcFkxk.js} +1 -1
- package/dist/ui/assets/{github-DjiuepHp.js → github-BhZHOxKc.js} +1 -1
- package/dist/ui/assets/{github-BfwYBNdU.js → github-DN2OBZNS.js} +1 -1
- package/dist/ui/assets/{github-copilot-Ca3wvuMg.js → github-copilot-CQhrDhDZ.js} +1 -1
- package/dist/ui/assets/{github-copilot-DKRsbcNT.js → github-copilot-Dgi-j2_O.js} +1 -1
- package/dist/ui/assets/{hear-CtfVj6JL.js → hear-BDUAwa28.js} +1 -1
- package/dist/ui/assets/{hidden-page-input-BZYPq1Fs.js → hidden-page-input-01CnfmMB.js} +1 -1
- package/dist/ui/assets/{hidden-page-input-Cp9ZPgBA.js → hidden-page-input-CBbLsDx2.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-D-YXyqDf.js → js-realm-worker-CDJhvYJx.js} +2 -2
- package/dist/ui/assets/{jsh-executor-jaafnGEI.js → jsh-executor-BVFFU-rP.js} +3 -3
- package/dist/ui/assets/{kernel-worker-DjefE-EG.js → kernel-worker-965_891X.js} +9 -9
- package/dist/ui/assets/{lick-ws-bridge-jXOA4Jgg.js → lick-ws-bridge-D4PsA45A.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-B5njq5fs.js → lick-ws-bridge-DuAP_Xb5.js} +1 -1
- package/dist/ui/assets/{live-session-curation-B60pJiw_.js → live-session-curation-BB61f9E8.js} +1 -1
- package/dist/ui/assets/{live-session-curation-BOrs0Nrl.js → live-session-curation-CGxamyw3.js} +1 -1
- package/dist/ui/assets/{live-session-snapshot-CApqdYaI.js → live-session-snapshot-BDyBgtvN.js} +1 -1
- package/dist/ui/assets/{local-llm-DuQTThDU.js → local-llm-CEQQXhGE.js} +1 -1
- package/dist/ui/assets/{local-llm-4CuArCpN.js → local-llm-Cy5E3lJo.js} +1 -1
- package/dist/ui/assets/{main-CILyCK1y.js → main-C8hdX5_E.js} +3 -3
- package/dist/ui/assets/{main-cherry-sJDvZx8w.js → main-cherry-ykXNeN9-.js} +1 -1
- package/dist/ui/assets/{mcp-command-WDwETVym.js → mcp-command-w6OUcgfO.js} +10 -10
- package/dist/ui/assets/{memory-curation-seam-_oeOmhzw.js → memory-curation-seam-C4r6A-jq.js} +1 -1
- package/dist/ui/assets/{memory-write-execute-89twFcQB.js → memory-write-execute-C_0rryC9.js} +1 -1
- package/dist/ui/assets/{merge-folded-cost-into-frozen-CD1e6CBw.js → merge-folded-cost-into-frozen-C9I1ykhe.js} +1 -1
- package/dist/ui/assets/{new-session-cSLBXZij.js → new-session-k7LcBmG5.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-qSJjQ69F.js → oauth-bootstrap-qTw880dW.js} +2 -2
- package/dist/ui/assets/{onboarding-orchestrator-yGWsMH61.js → onboarding-orchestrator-B5XUC4QP.js} +1 -1
- package/dist/ui/assets/{openai-codex-DAPUF3Ax.js → openai-codex-BpfRFQ9A.js} +1 -1
- package/dist/ui/assets/{openai-codex-BPLGHM-7.js → openai-codex-BtEdGRUK.js} +1 -1
- package/dist/ui/assets/{openrouter-ChH5y4Zo.js → openrouter-CGkUkGLm.js} +1 -1
- package/dist/ui/assets/{openrouter-CNqcHmRl.js → openrouter-D9PB_Wxr.js} +1 -1
- package/dist/ui/assets/{openrouter-free-CFHWyXL_.js → openrouter-free-BfihlWk1.js} +1 -1
- package/dist/ui/assets/{openrouter-free-mc_qudih.js → openrouter-free-Brc9YCWo.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-NGLIwflJ.js → openrouter-oauth-DIBlm_UZ.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CLTSbif9.js → openrouter-oauth-DdrrVt3S.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-CjLaorQm.js → panel-rpc-handlers-BmON86n5.js} +2 -2
- package/dist/ui/assets/{panelize-shell-DCsOioRV.js → panelize-shell-Dt3FXNpB.js} +1 -1
- package/dist/ui/assets/{pi-edit-execution-jBe0mTu2.js → pi-edit-execution-iaL4Mz3u.js} +1 -1
- package/dist/ui/assets/{provider-D3Z0skyh.js → provider-B8I1Mys2.js} +1 -1
- package/dist/ui/assets/{provider-Bq7cXY3H.js → provider-CN-5jpvI.js} +1 -1
- package/dist/ui/assets/{provider-settings-cjhn5KhF.js → provider-settings-B5CKyKdE.js} +1 -1
- package/dist/ui/assets/provider-store-access-D3cir6Mf.js +1 -0
- package/dist/ui/assets/provider-store-access-DruVrLP2.js +1 -0
- package/dist/ui/assets/{providers-CfB5UcQV.js → providers-CnawElFK.js} +1 -1
- package/dist/ui/assets/{providers-e7J6vyrs.js → providers-s2pRjrQo.js} +2 -2
- package/dist/ui/assets/{quick-llm-CX_4Q5lE.js → quick-llm-DcceQmkj.js} +1 -1
- package/dist/ui/assets/{realm-inprocess-DZqfbNHT.js → realm-inprocess-48bEemKF.js} +2 -2
- package/dist/ui/assets/{realm-unhandled-rejections-B4YL4Sx4.js → realm-unhandled-rejections-BqWjiqaB.js} +1 -1
- package/dist/ui/assets/{realm-unhandled-rejections-BCUDtOFo.js → realm-unhandled-rejections-DpKKv_Sg.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-YhJBG0oW.js → remote-terminal-view-ML6zl31u.js} +2 -2
- package/dist/ui/assets/{restore-DKs4fX03.js → restore-Uo3FkyTn.js} +1 -1
- package/dist/ui/assets/{run-BoUgBqtP.js → run-7BBLWyxm.js} +2 -2
- package/dist/ui/assets/{run-DvLcUCCT.js → run-B-kYAFBX.js} +1 -1
- package/dist/ui/assets/{run-w8dc5QkU.js → run-BZUVJe9B.js} +2 -2
- package/dist/ui/assets/{run-ZJTWBDxE.js → run-D6q-1m-B.js} +2 -2
- package/dist/ui/assets/{run-Dyr1Y8Gw.js → run-tb90H7t4.js} +1 -1
- package/dist/ui/assets/{run-DYK7RuK3.js → run-v1OqsjEl.js} +2 -2
- package/dist/ui/assets/{serve-command-Cl0KR3JB.js → serve-command-C1oMKVa-.js} +2 -2
- package/dist/ui/assets/{serve-runtime-CnjIF1Qc.js → serve-runtime-BMkuNcbl.js} +1 -1
- package/dist/ui/assets/{session-command-memory-Cl4cgsuB.js → session-command-memory-lm81X-Is.js} +2 -2
- package/dist/ui/assets/{session-jsonl-C3VP4h4F.js → session-jsonl-eXAElh6W.js} +1 -1
- package/dist/ui/assets/{session-search-index-DNLNj8Hz.js → session-search-index-ByisDLR5.js} +1 -1
- package/dist/ui/assets/{setup-feature-flags-remote-CgfNoeec.js → setup-feature-flags-remote-z293EM8V.js} +1 -1
- package/dist/ui/assets/{setup-model-catalog-Do44T24D.js → setup-model-catalog-DFfU37vS.js} +1 -1
- package/dist/ui/assets/{silent-renew-backoff-BP12WS2t.js → silent-renew-backoff-B0lMVNh5.js} +1 -1
- package/dist/ui/assets/slicc-version-DGCQeyP5.js +1 -0
- package/dist/ui/assets/{soundscape-OIr6kREC.js → soundscape-DHszzPsM.js} +1 -1
- package/dist/ui/assets/{speak-BTTfyNsH.js → speak-DZZSpSqs.js} +1 -1
- package/dist/ui/assets/{sprinkle-manager-B04EiPct.js → sprinkle-manager-CMAEGvh9.js} +1 -1
- package/dist/ui/assets/{sprinkle-renderer-B6BBPYnt.js → sprinkle-renderer-DcsYmznT.js} +1 -1
- package/dist/ui/assets/{src-DBlBYTvU.js → src-WaWErIN6.js} +3 -3
- package/dist/ui/assets/{ssh-DxTaezVV.js → ssh-vPCpaauO.js} +1 -1
- package/dist/ui/assets/{sudo-DRDS7os7.js → sudo-YyLShRTX.js} +1 -1
- package/dist/ui/assets/{supervisor-CK12CrVB.js → supervisor-BJNQ0Sie.js} +1 -1
- package/dist/ui/assets/{sync-dialog-CMveyHTI.js → sync-dialog-OIBe84rb.js} +1 -1
- package/dist/ui/assets/{transformers-env-C0UUrX43.js → transformers-env-DlTQEcvy.js} +1 -1
- package/dist/ui/assets/{tray-leader-B2jd_9hN.js → tray-leader-x0HDgpHa.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-YA1z3_3n.js → tray-leave-runtime-B6ZqjKqA.js} +1 -1
- package/dist/ui/assets/{tray-sidecar-B1E5w2QN.js → tray-sidecar-C08eb6rV.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-DIEpI4jV.js → upgrade-detection-BZOEx1T3.js} +1 -1
- package/dist/ui/assets/{upgrade-to-seven-Ds3487bW.js → upgrade-to-seven-Pi7N3s4V.js} +1 -1
- package/dist/ui/assets/{voice-reply-BvNFV1p5.js → voice-reply-D0KspY5L.js} +1 -1
- package/dist/ui/assets/{wc-attach-B9NheUcP.js → wc-attach-C--w91hS.js} +2 -2
- package/dist/ui/assets/{wc-browser-BWV_z0mY.js → wc-browser-Bwwt12VY.js} +1 -1
- package/dist/ui/assets/{wc-computers-CmlAWXad.js → wc-computers-CEYTEbzK.js} +1 -1
- package/dist/ui/assets/{wc-detached-BG6o5rCV.js → wc-detached-BMfwyvTN.js} +1 -1
- package/dist/ui/assets/{wc-extension-BJG351m1.js → wc-extension-WVBzb68j.js} +2 -2
- package/dist/ui/assets/{wc-follower-DK_cGVb6.js → wc-follower-CfQXvNqW.js} +3 -3
- package/dist/ui/assets/{wc-follower-oauth-Ct4vRPWy.js → wc-follower-oauth-CRA3bG2x.js} +1 -1
- package/dist/ui/assets/{wc-gelatiere-B7_JxWTc.js → wc-gelatiere-CFupkA18.js} +1 -1
- package/dist/ui/assets/{wc-live-B_GjMlHU.js → wc-live-jfkgv1D5.js} +5 -5
- package/dist/ui/assets/{wc-nav-BPC_rTRU.js → wc-nav-CMmiK8CR.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-DZ9IecMC.js → wc-onboarding-DwK2Xo_f.js} +2 -2
- package/dist/ui/assets/{wc-permissions-jiHmGCQE.js → wc-permissions-sEzYJY5L.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-Bw3f1tx2.js → wc-placeholder-dACLWYRH.js} +2 -2
- package/dist/ui/assets/{wc-profile-export-Dw3kIggm.js → wc-profile-export-0_MWQlQi.js} +3 -3
- package/dist/ui/assets/{wc-secret-request-DhhFoxwM.js → wc-secret-request-Bj6AEfhW.js} +1 -1
- package/dist/ui/assets/{wc-settings-CFVy_frk.js → wc-settings-D36d5og0.js} +3 -3
- package/dist/ui/assets/{wc-shell-uXXL8vn4.js → wc-shell-Dviry0M3.js} +3 -3
- package/dist/ui/assets/{wc-shortcut-config-BsECYqW4.js → wc-shortcut-config-BEJ7hCGM.js} +1 -1
- package/dist/ui/assets/{wc-sprinkles-LDObPLGU.js → wc-sprinkles-CCEvPCsZ.js} +2 -2
- package/dist/ui/assets/{wc-transcript-export-DCxRhw7L.js → wc-transcript-export-BLZIE8ep.js} +2 -2
- package/dist/ui/assets/{wc-tray-DC2N41c4.js → wc-tray-Bpsl7Mew.js} +4 -4
- package/dist/ui/assets/welcome-detection-CWqP_ofb.js +1 -0
- package/dist/ui/assets/{whisper-session-VTvwtmt9.js → whisper-session-CmQR_O2N.js} +2 -2
- package/dist/ui/assets/{xai-grok-CAYOQXy2.js → xai-grok-BjEcnSUJ.js} +1 -1
- package/dist/ui/assets/{xai-grok-BySWrekq.js → xai-grok-DNyRhPcB.js} +1 -1
- package/dist/ui/index.html +3 -3
- package/dist/ui/packages/webapp/index.html +3 -3
- package/dist/ui/packages/webapp/upgrade-to-seven.html +1 -1
- package/dist/ui/upgrade-to-seven.html +1 -1
- package/package.json +3 -3
- package/dist/ui/assets/provider-store-access-BSyBmQnI.js +0 -1
- package/dist/ui/assets/provider-store-access-D34ptiy1.js +0 -1
- package/dist/ui/assets/slicc-version-DD-uf2ZA.js +0 -1
- package/dist/ui/assets/welcome-detection-BA_e93OR.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-
|
|
2
|
-
import{t as e}from"./preload-helper-BLdHbfdN.js";import{a as t}from"./feature-flags-DDJdMcuw.js";import{p as n}from"./api-endpoint-CNqFa-M3.js";import{F as r}from"./zip-stream-DZF8sKOl.js";import{t as i}from"./tray-follower-status-BAjnN7Ar.js";import{n as a}from"./clipboard-eqmn97SP.js";import{f as o,r as s,v as c}from"./main-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-C8hdX5_E.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/logger-dqckiMJt.js","assets/core-BXRpM6QF.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/bridge-protocol-C52CnDIj.js","assets/stored-accounts-CdMZdZUa.js","assets/account-store-CbKQrU_A.js","assets/providers-s2pRjrQo.js","assets/renamed-providers-d0bAaa0l.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/telemetry-kqkj0A7x.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/wc-detached-BMfwyvTN.js","assets/wc-settings-D36d5og0.js","assets/zip-stream-DZF8sKOl.js","assets/transcript-export-DTRO8k03.js","assets/wc-shell-Dviry0M3.js","assets/dictation-priming-BHJC0hch.js","assets/mime-types-D0xZwlMO.js","assets/sha256-DynDhwRL.js","assets/GELATIERE-CLK_MA5a.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-Bn0sfTur.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/theme-engine-CwaY1aIr.js","assets/theme-CmogKzdP.js","assets/discovery-preference-C2N6fnUl.js","assets/legacy-styles-CGcVbQni.js","assets/sync-dialog-OIBe84rb.js","assets/wc-live-jfkgv1D5.js","assets/sprinkle-renderer-DcsYmznT.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-Dx9QXlZ0.js","assets/shared-DSEuryGJ.js","assets/provider-budget-LCzMPlKv.js","assets/browser-OXhgs9Cl.js","assets/tray-leader-x0HDgpHa.js","assets/db-CIXZItfi.js","assets/sessions-Bd6uu3F5.js","assets/types-CFfBWsH5.js","assets/store-DP4F8FwF.js","assets/entries-ChYQ3OMf.js","assets/frozen-archive-writer-d8c53vzV.js","assets/frozen-session-identity-D__hHRHh.js","assets/session-jsonl-CJO46TfW.js","assets/snapshot-store-DYh_oG7o.js","assets/live-session-curation-BB61f9E8.js","assets/MEMORY-B9cGngY_.js","assets/thinking-level-DCJktR5U.js","assets/profile-export-deps-BE2w_fD3.js","assets/global-db-CbuLl-zx.js","assets/wc-unit-context-DDyqslj4.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BLdHbfdN.js";import{a as t}from"./feature-flags-DDJdMcuw.js";import{p as n}from"./api-endpoint-CNqFa-M3.js";import{F as r}from"./zip-stream-DZF8sKOl.js";import{t as i}from"./tray-follower-status-BAjnN7Ar.js";import{n as a}from"./clipboard-eqmn97SP.js";import{f as o,r as s,v as c}from"./main-C8hdX5_E.js";import{r as l}from"./tray-leader-x0HDgpHa.js";import{_ as u,c as d,s as f,v as p}from"./wc-live-jfkgv1D5.js";import{o as m}from"./wc-unit-context-DDyqslj4.js";function h(e){let t=e.find(e=>e.userAvatar&&e.userName)??e.find(e=>e.userName);return t?.userName?{name:t.userName,avatarUrl:t.userAvatar,provider:t.providerId}:null}function g(e){return e.flatMap(e=>e.models.map(t=>({name:t.name??t.id,provider:e.providerName,id:`${e.providerId}:${t.id}`})))}function _(e,t,n){try{let r=t();e.setAttribute(`model`,r.name??r.id),n&&(e.selectedModelId=n())}catch{}}function v(e,n){let r=[{id:`settings`,label:`Account settings…`,icon:`settings`},{id:`theme`,label:`Theme settings…`,icon:`palette`},...n?[{id:`shortcuts`,label:`Keyboard mode`,icon:`keyboard`}]:[],{id:`export-transcript`,label:`Export transcript`,icon:`download`,disabled:e||void 0}];return t(`experimental-settings`)&&r.push({id:`experimental-settings`,label:`Experimental features…`,icon:`flask-conical`}),r}function y(e,t){return()=>{e.models=g(t()),p()}}function b(e,t,n){return()=>_(e,t,()=>{let e=t();return`${n()}:${e.id}`})}function x(e,t,n){return()=>{let r=h(t()),i=e.avatarMenu.querySelector(`slicc-avatar`),a=e.inputCard.querySelector(`slicc-send-button`);if(r){i?.removeAttribute(`initials`),i?.setAttribute(`name`,r.name),r.avatarUrl&&(i?.setAttribute(`src`,r.avatarUrl),a?.setAttribute(`src`,r.avatarUrl)),e.avatarMenu.user={name:r.name,provider:r.provider};return}i?.removeAttribute(`name`),i?.removeAttribute(`src`),i?.removeAttribute(`initials`),a?.removeAttribute(`src`),e.avatarMenu.user={name:`SLICC`,provider:n?`extension`:`standalone`}}}async function S(t){let{refs:r,client:a,log:o,onExportTranscript:c}=t,{getAllAvailableModels:u,getAccounts:d,getSelectedProvider:f,resolveCurrentModel:p}=await e(async()=>{let{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{getAllAvailableModels:e,getAccounts:t,getSelectedProvider:n,resolveCurrentModel:r}},__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])),m=y(r.composerMeta,u),h=b(r.composerMeta,p,f);m();let g=null;await N(r,a,t.workUnits,t.getUnits,()=>{let e=g;g=null,e!=null&&r.thread?.dispatchEvent(new CustomEvent(`slicc-error-retry`,{detail:{messageId:e},bubbles:!0,composed:!0}))});let _=n(),S=x(r,d,_);S();let O=()=>{if(_)return[];let e=s(l(),i()),t=[{kind:`separator`}];return e.kind===`leader-offer`?t.push({id:`tray-enable`,label:e.label,icon:`radio`}):e.kind===`leader-copy`?(t.push({id:`tray-copy`,label:`Copy tray join URL`,icon:`link`}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):e.kind===`leader-pending`?(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Stop multi-browser sync`,icon:`square`,danger:!0})):(t.push({kind:`caption`,label:e.caption}),t.push({id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0})),t},P=new URLSearchParams(window.location.search).has(`detached`),I=()=>_&&!P?[{id:`popout`,label:`Pop out into a tab`,icon:`external-link`}]:[],L=!1,R=()=>{r.avatarMenu.items=[...v(L,!!t.shortcuts),...I(),...O()]};R(),r.avatarMenu.addEventListener(`slicc-avatar-menu-toggle`,e=>{e.detail?.open&&R()});let z=C(o,m,S,()=>a.updateModel());t.shortcuts?.setAction(`accounts`,z);let B=w(o,T(t)),V=E(o);D(r,o),r.avatarMenu.addEventListener(`slicc-avatar-action`,n=>{let r=n.detail?.id;if(r&&k(r,o)){R();return}if(r===`popout`){e(async()=>{let{requestDetachedPopout:e}=await import(`./wc-detached-BMfwyvTN.js`);return{requestDetachedPopout:e}},__vite__mapDeps([26,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])).then(({requestDetachedPopout:e})=>e()).catch(e=>o.error(`detached popout request failed`,e));return}r===`shortcuts`&&t.shortcuts?.showHelp(),r===`settings`&&z(),r===`theme`&&B(),r===`experimental-settings`&&V(),r===`export-transcript`&&c&&(L=!0,R(),c().finally(()=>{L=!1,R()}))}),r.composerMeta.addEventListener(`add-ai`,z),A(r,z),j({refs:r,log:o,openSettings:z,setPendingReplayMessageId:e=>{g=e}}),await M({refs:r,log:o,openSettings:z,refreshModels:m,applyIdentity:S,client:a}),await F({refreshModels:m,refreshModelPill:h,applyIdentity:S,client:a})}function C(t,n,r,i){return()=>{e(async()=>{let{showWcSettings:e}=await import(`./wc-settings-D36d5og0.js`);return{showWcSettings:e}},__vite__mapDeps([27,4,7,28,1,29,19,2,30,31,32,9,15,17,3,5,6,8,10,11,12,13,14,16,18,20,21,22,33,23,34,35,36,37,38,39,40,41,42,43])).then(({showWcSettings:e})=>e(t)).then(()=>{n(),r(),i()}).catch(e=>t.error(`WC settings dialog failed`,e))}}function w(t,n){return()=>{e(async()=>{let{showThemeSettings:e}=await import(`./wc-settings-D36d5og0.js`);return{showThemeSettings:e}},__vite__mapDeps([27,4,7,28,1,29,19,2,30,31,32,9,15,17,3,5,6,8,10,11,12,13,14,16,18,20,21,22,33,23,34,35,36,37,38,39,40,41,42,43])).then(({showThemeSettings:e})=>e(t,n?{getTrigger:n.getTrigger,setTrigger:n.setTrigger,persistTrigger:n.persistTrigger}:void 0)).catch(e=>t.error(`Theme settings dialog failed`,e))}}function T(e){let t=e.shortcuts;if(t)return{getTrigger:()=>t.trigger(),setTrigger:e=>t.setTrigger(e),persistTrigger:e.persistKeyboardTrigger}}function E(t){return()=>{e(async()=>{let{showExperimentalSettings:e}=await import(`./wc-settings-D36d5og0.js`);return{showExperimentalSettings:e}},__vite__mapDeps([27,4,7,28,1,29,19,2,30,31,32,9,15,17,3,5,6,8,10,11,12,13,14,16,18,20,21,22,33,23,34,35,36,37,38,39,40,41,42,43])).then(({showExperimentalSettings:e})=>e(t)).catch(e=>t.error(`Experimental settings dialog failed`,e))}}function D(e,t){e.floatbar.addEventListener(`slicc-followers-click`,()=>{O(t,{copy:!1,initialTab:`status`})})}function O(t,n){let r=l().session?.joinUrl;r&&(n.copy&&a(r).catch(()=>void 0),e(async()=>{let{loadLegacyDialogStyles:e}=await import(`./legacy-styles-CGcVbQni.js`);return{loadLegacyDialogStyles:e}},__vite__mapDeps([44,4])).then(({loadLegacyDialogStyles:e})=>e()).then(async()=>{let{showSyncEnabledDialog:t}=await e(async()=>{let{showSyncEnabledDialog:e}=await import(`./sync-dialog-OIBe84rb.js`);return{showSyncEnabledDialog:e}},__vite__mapDeps([45,15,25,1,37,46,2,3,4,5,6,7,8,9,10,11,12,13,14,31,47,48,30,32,17,16,18,19,20,21,22,33,23,34,35,36,38,39,40,49,50,51,52,53,54,42,41,28,29,24,0,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72]));t({joinUrl:r,copied:n.copy,initialTab:n.initialTab,followers:f(),onReset:d()??null})}).catch(e=>t.error(`sync dialog failed`,e)))}function k(e,t){return e===`tray-enable`?(c({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,defaultWorkerBaseUrl:o}).then(e=>{if(!e)return t.error(`tray enable: no worker base URL resolvable`);window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:e}}))}),!0):e===`tray-copy`?(O(t,{copy:!0}),!0):e===`tray-stop`&&(window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}})),!0)}function A(e,t){e.thread?.addEventListener(`slicc-error-open-settings`,t),window.addEventListener(`slicc:open-settings-from-panel`,()=>t())}function j(e){let{refs:t,log:n,openSettings:r,setPendingReplayMessageId:i}=e;t.thread?.addEventListener(`slicc-error-change-model`,e=>{i(e.detail?.messageId??null);let a=t.composerMeta,o=a.models;if(Array.isArray(o)&&o.length===0){r();return}try{a.openMenu?.()}catch(e){n.error(`opening composer model picker failed`,e)}})}async function M(t){let{refs:n,log:r,openSettings:i,refreshModels:a,applyIdentity:o,client:s}=t,{getSelectedProvider:c,getProviderConfig:l,reloginOAuthAccount:u}=await e(async()=>{let{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{getSelectedProvider:e,getProviderConfig:t,reloginOAuthAccount:n}},__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]));n.thread?.addEventListener(`slicc-error-login`,()=>{let e=c(),t=e?l(e):null;if(!t||!t.onOAuthLogin&&!t.onOAuthLoginIntercepted){i();return}u(t,()=>{a(),o(),s.updateModel()}).catch(e=>r.error(`re-login from error card failed`,e))})}async function N(t,n,r,i,a){let{resolveModelById:o,resolveCurrentModel:s,setSelectedModelId:c}=await e(async()=>{let{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{resolveModelById:e,resolveCurrentModel:t,setSelectedModelId:n}},__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])),l=e=>{let t=e.indexOf(`:`);return t>0?e.slice(t+1):e},u=e=>{try{let n=e?o(l(e)):s();t.composerMeta.toggleAttribute(`no-thinking`,n.reasoning!==!0)}catch{}};u(),t.composerMeta.addEventListener(`model-change`,e=>{let t=e.detail,o=t?.id;o&&t?.source!==`follower`&&(c(o),u(o),P(n,r,i(),o),a?.())})}async function P(e,t,n,i,a=u){let o=r(i);if(!o)return!1;let s=e.selectedScoopJid,c=m(n,s?{id:s}:null);if(!c)return!1;let l=await t.setModel(c.id,o);return l&&a(),l===!0}async function F(t){let{refreshModels:n,refreshModelPill:r,applyIdentity:i,client:a}=t,{getAccounts:o,getProviderConfig:s}=await e(async()=>{let{getAccounts:e,getProviderConfig:t}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{getAccounts:e,getProviderConfig:t}},__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]));window.addEventListener(`slicc:accounts-changed`,()=>{n(),r(),i(),a.updateModel();for(let e of o()){let t=s(e.providerId)?.refreshModels;t&&t().then(()=>{n(),r(),a.updateModel()}).catch(()=>void 0)}})}export{S as wireWcNav};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-
|
|
2
|
-
import{t as e}from"./logger-dqckiMJt.js";import{t}from"./preload-helper-BLdHbfdN.js";import{A as n,k as r}from"./zip-stream-DZF8sKOl.js";import{g as i}from"./main-CILyCK1y.js";import{t as a}from"./sessions-Bd6uu3F5.js";import{t as o}from"./store-DP4F8FwF.js";import{V as s}from"./wc-live-B_GjMlHU.js";var c=e(`welcome-detection`),l=`/shared/.welcomed`,u=`browser-coding-agent`,d=1,f=`sessions`,p=n({folder:r}),m=`[Sprinkle Event: welcome]`;function h(){return new Promise((e,t)=>{let n=indexedDB.open(u,d);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(f)||e.createObjectStore(f,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function g(){return h().catch(()=>new Promise((e,t)=>{setTimeout(()=>{h().then(e,t)},120)}))}async function _(){let e=await g();try{return await new Promise((t,n)=>{let r=e.transaction(f,`readonly`).objectStore(f).get(p);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function v(){let[e,t]=await Promise.all([y().catch(e=>(c.warn(`Failed to read the cone conversation record`,{error:b(e)}),[])),_().catch(e=>(c.warn(`Failed to read the legacy cone chat session`,{error:b(e)}),null))]),n=Array.isArray(t?.messages)?t.messages:[];return[...e,...n]}async function y(){return(await new a(new o).loadRootChatSession(`cone`))?.messages??[]}function b(e){return e instanceof Error?e.message:String(e)}async function x(){try{return(await v()).some(e=>S(e))}catch(e){return c.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function S(e){let t=e.content;return typeof t==`string`?t.includes(m):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(m);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(m)}return!1}):!1}async function C(e){let t=!1;try{t=await e.exists(l)}catch(e){return c.warn(`Failed to read welcomed marker`,{path:l,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await x()?{isFirstRun:!1}:{isFirstRun:!0}}async function w(e){await e.writeFile(l,`1`)}var T=`"action":"onboarding-complete-with-provider"`;function E(e){let t=e.content;return typeof t==`string`?t.includes(T):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(T);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(T)}return!1}):!1}async function D(){try{return(await v()).some(e=>E(e))}catch(e){return c.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function O(e){let{vfs:t,storage:n,firedWelcomeActions:r,persistFiredWelcomeActions:a,getOrchestrator:o,log:s}=e;i(n)||C(t).then(e=>{if(e.isFirstRun){if(r.has(`first-run`)){s.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}r.add(`first-run`),a(r),o().handleFirstRun()}}).catch(e=>s.warn(`Welcome detection failed`,e))}function k(e){for(let t of[`slicc_accounts`,`selected-model`]){let n=localStorage.getItem(t);n!=null&&e.sendRaw({type:`local-storage-set`,key:t,value:n})}}function A(e,t,n,r){let i=n(e).filter(e=>!r(e.id)),a=t.defaultModelId?i.find(e=>e.id===t.defaultModelId):void 0,o=t.defaultModelId?i.find(e=>e.id.toLowerCase().includes(t.defaultModelId.toLowerCase())):void 0,s=a??o??i[0];return s?`${e}:${s.id}`:void 0}function j(e){let t=e.getAvailableProviders().filter(t=>e.providerOffersLlmModels(t)),n=t.map(t=>{let n=e.getProviderConfig(t);return{id:n.id,name:n.name??n.id,description:n.description,requiresApiKey:n.requiresApiKey??!0,requiresBaseUrl:n.requiresBaseUrl??!1,requiresDeployment:!!n.requiresDeployment,requiresApiVersion:!!n.requiresApiVersion,apiKeyPlaceholder:n.apiKeyPlaceholder??void 0,apiKeyEnvVar:n.apiKeyEnvVar??void 0,defaultBaseUrl:n.baseUrlPlaceholder??void 0,baseUrlDescription:n.baseUrlDescription??void 0,deploymentPlaceholder:n.deploymentPlaceholder??void 0,deploymentDescription:n.deploymentDescription??void 0,apiVersionDefault:n.apiVersionDefault??void 0,apiVersionDescription:n.apiVersionDescription??void 0,isOAuth:!!n.isOAuth}}).sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),r={};for(let n of t)try{r[n]=e.getProviderModels(n).filter(t=>!e.isModelHiddenFromPicker(t.id)).map(e=>({id:e.id,name:e.name}))}catch{r[n]=[]}return{providers:n,models:r}}async function M(e){let{OnboardingOrchestrator:n}=await t(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-yGWsMH61.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2,3,4,5])),r=null;return{get:()=>r||(r=new n({fs:e.fs,postSystemMessage:e.postSystemMessage,postDipReference:e.postDipReference,getProviderCatalogue:()=>j(e.providers),saveAccount:(t,n,r,i,a)=>e.providers.addAccount(t,n,r,i,a),setSelectedModel:t=>e.providers.setSelectedModelId(t),resolveModelLabel:(t,n)=>{try{return e.providers.getProviderModels(t).find(e=>e.id===n)?.name??null}catch{return null}},broadcastToDip:t=>e.broadcastToDip(t),fireFinalLick:t=>e.onFireFinalLick(t),onAccountsChanged:e.onAccountsChanged?()=>e.onAccountsChanged?.():void 0,launchOAuth:async(t,n)=>await N(t,n??null,e)}),r),peek:()=>r,buildCatalogue:()=>j(e.providers)}}async function N(e,n,r){try{let i=r.providers.getProviderConfig(e);if(!i.isOAuth||!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return{ok:!1,message:`Provider does not support OAuth.`};if(i.requiresBaseUrl&&n&&r.providers.addAccount(e,``,n),i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await t(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-DBNa_4eS.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([6,7,8,3,9,10,11,12])),n=await e();if(!n)return{ok:!1,message:`Intercepted OAuth requires the controlled-browser transport — open SLICC in standalone or extension mode.`};await i.onOAuthLoginIntercepted(n,()=>void 0,{presentDeviceCode:r.deviceCode.createSprinkleDeviceCodePrompter({broadcastToDip:e=>r.broadcastToDip(e)})})}else if(i.onOAuthLogin){let{createOAuthLauncher:e}=await t(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-DBNa_4eS.js`);return{createOAuthLauncher:e}},__vite__mapDeps([6,7,8,3,9,10,11,12])),n=e();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:A(e,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var P=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),F=`slicc:welcome-flow-fired`;function I(){try{let e=typeof localStorage<`u`?localStorage.getItem(F):null;if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}}function L(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(F,JSON.stringify([...e]))}catch{}}function R(e,t,n,r,i){if(P.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}P.has(e)&&(t.add(e),L(t)),n()}var z=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`,`gelatiere-dismiss`,`gelatiere-install`,`gelatiere-try`]);function B(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:u,log:d}=e;return e=>{if(e.type!==`sprinkle`)return!1;let f=e.sprinkleName===`welcome`||e.sprinkleName===`inline`||e.sprinkleName===`suggestions`?e.body?.action:void 0;if(f&&P.has(f)){if(t.has(f))return d.debug(`Suppressing duplicate welcome lick (${l})`,{action:f}),!0;t.add(f),L(t)}if(!f||!z.has(f))return!1;let p=e.body;return Y(f,p,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:u,log:d})}}function V(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function H(e,t){let n=t.getOnboardingOrchestrator(),r=e?.data??{};return r.mountWorkspace&&t.applyPendingMount&&t.applyPendingMount().catch(e=>t.log.warn(`Failed to mount workspace from onboarding`,e)),n.handleOnboardingComplete(r).catch(e=>t.log.warn(`OnboardingOrchestrator failed`,e)),!0}function U(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:V(n,`baseUrl`),deployment:V(n,`deployment`),apiVersion:V(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function W(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:V(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var G={"device-code-decision":(e,t)=>{let n=e?.data?.decision;return t.resolveDeviceCodeDecision(n===`cancel`?`cancel`:`continue`),!0},"first-run":(e,t)=>(t.getOnboardingOrchestrator().handleFirstRun(),!0),"onboarding-complete":H,"connect-ready":(e,t)=>X(t),"connect-attempt":U,"oauth-attempt":W,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0),"gelatiere-dismiss":(e,t)=>(J(e,t,`dismiss`),!0),"gelatiere-install":(e,t)=>(J(e,t,`take`),!1),"gelatiere-try":(e,t)=>(J(e,t,`take`),!1)},K;function q(){return K??=t(()=>import(`./wc-shell-uXXL8vn4.js`).then(e=>e.rt),__vite__mapDeps([13,3,1,7,14,15,9,16,17,18,19,20,21,8,10,22,23,11,24,25,26,5,27,28,29,30,31,32,33,34,35,36,37,38])),K}function J(e,t,n){let r=e?.data?.id;if(typeof r!=`string`||!r||!t.vfs)return;let i=t.vfs;q().then(({dismissGelatiereSuggestion:e,takeGelatiereSuggestion:t})=>n===`take`?t(i,r):e(i,r)).catch(e=>t.log.warn(`Failed to settle gelatiere suggestion`,e))}function Y(e,t,n){return G[e]?.(t,n)??!1}function X(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),Z(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function Z(e,n,r){let{hasOnboardingFinalLickInHistory:i}=await t(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-BA_e93OR.js`);return{hasOnboardingFinalLickInHistory:e}},[]);if(await i())return;let a=e?await Q(e):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await t(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-CILyCK1y.js`).then(e=>e.t);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([39,3,1,18,7,19,20,21,8,9,10,22,23,11,24,16,25,17,26,5,27,28,29,31,40,41])),l=(()=>{try{return o()||null}catch{return null}})(),u=(()=>{if(!l)return null;try{return c(n).find(e=>e.id===l)?.name??l}catch{return l}})(),d=null;try{d=s(n).name??null}catch{}r({action:`onboarding-complete-with-provider`,data:{profile:a,provider:n,providerName:d,model:l,modelLabel:u,validation:`preexisting`}})}async function Q(e){try{let t=await e.readDir(`/home`),n=null;for(let r of t){if(r.type!==`directory`)continue;let t=`/home/${r.name}/.welcome.json`;try{let r=(await e.stat(t)).mtime??0;if(n&&r<=n.mtime)continue;let i=await e.readFile(t,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i));a&&typeof a==`object`&&(n={profile:a,mtime:r})}catch{}}return n?.profile??{}}catch{return{}}}function $(e){let{writer:t}=e;return{readFile:t.readFile.bind(t),writeFile:t.writeFile.bind(t),readDir:t.readDir.bind(t),stat:t.stat.bind(t),mkdir:t.mkdir.bind(t),exists:async e=>{try{return await t.stat(e),!0}catch{return!1}}}}async function ee(e){let{client:n,getController:r,openVfs:i,log:a}=e,o=await t(()=>import(`./main-CILyCK1y.js`).then(e=>e.t),__vite__mapDeps([39,3,1,18,7,19,20,21,8,9,10,22,23,11,24,16,25,17,26,5,27,28,29,31,40,41])),{createSprinkleDeviceCodePrompter:c,resolveDeviceCodeDecision:l}=await t(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),u=$(await i()),d=I(),f=e=>{let t=r();t?t.addAssistantMessage(e):a.warn(`WC onboarding: no controller to post welcome line`)},p=await M({fs:u,log:a,providers:o,deviceCode:{createSprinkleDeviceCodePrompter:c},postSystemMessage:f,postDipReference:f,broadcastToDip:e=>s(e),onFireFinalLick:e=>{k(n),R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,a)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){a.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),m=B({firedWelcomeActions:d,getAccounts:o.getAccounts,getProviderConfig:o.getProviderConfig,resolveDeviceCodeDecision:l,getOnboardingOrchestrator:()=>p.get(),fastForward:{fire:e=>{R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,a)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return o.getProviderConfig(e)?.name??null}catch{return null}})();s({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{u.writeFile(`/shared/.welcomed`,`1`).catch(e=>a.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:u,log:a});return O({vfs:u,storage:window.localStorage,firedWelcomeActions:d,persistFiredWelcomeActions:L,getOrchestrator:()=>p.get(),log:a}),{interceptWelcomeLick:m}}export{w as i,D as n,x as r,C as t,ee as wireWcOnboarding};
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/onboarding-orchestrator-B5XUC4QP.js","assets/logger-dqckiMJt.js","assets/zip-stream-DZF8sKOl.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/transcript-export-DTRO8k03.js","assets/renamed-providers-d0bAaa0l.js","assets/oauth-service-DBNa_4eS.js","assets/preload-helper-BLdHbfdN.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-shell-Dviry0M3.js","assets/dictation-priming-BHJC0hch.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CbKQrU_A.js","assets/core-BXRpM6QF.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/image-markers-4eaAm9QS.js","assets/stored-accounts-CdMZdZUa.js","assets/providers-s2pRjrQo.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/sha256-DynDhwRL.js","assets/telemetry-kqkj0A7x.js","assets/GELATIERE-CLK_MA5a.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-Bn0sfTur.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/main-C8hdX5_E.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./logger-dqckiMJt.js";import{t}from"./preload-helper-BLdHbfdN.js";import{A as n,k as r}from"./zip-stream-DZF8sKOl.js";import{g as i}from"./main-C8hdX5_E.js";import{t as a}from"./sessions-Bd6uu3F5.js";import{t as o}from"./store-DP4F8FwF.js";import{V as s}from"./wc-live-jfkgv1D5.js";var c=e(`welcome-detection`),l=`/shared/.welcomed`,u=`browser-coding-agent`,d=1,f=`sessions`,p=n({folder:r}),m=`[Sprinkle Event: welcome]`;function h(){return new Promise((e,t)=>{let n=indexedDB.open(u,d);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(f)||e.createObjectStore(f,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error),n.onblocked=()=>{}})}function g(){return h().catch(()=>new Promise((e,t)=>{setTimeout(()=>{h().then(e,t)},120)}))}async function _(){let e=await g();try{return await new Promise((t,n)=>{let r=e.transaction(f,`readonly`).objectStore(f).get(p);r.onsuccess=()=>t(r.result??null),r.onerror=()=>n(r.error)})}finally{e.close()}}async function v(){let[e,t]=await Promise.all([y().catch(e=>(c.warn(`Failed to read the cone conversation record`,{error:b(e)}),[])),_().catch(e=>(c.warn(`Failed to read the legacy cone chat session`,{error:b(e)}),null))]),n=Array.isArray(t?.messages)?t.messages:[];return[...e,...n]}async function y(){return(await new a(new o).loadRootChatSession(`cone`))?.messages??[]}function b(e){return e instanceof Error?e.message:String(e)}async function x(){try{return(await v()).some(e=>S(e))}catch(e){return c.warn(`Failed to scan cone chat session for welcome lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function S(e){let t=e.content;return typeof t==`string`?t.includes(m):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(m);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(m)}return!1}):!1}async function C(e){let t=!1;try{t=await e.exists(l)}catch(e){return c.warn(`Failed to read welcomed marker`,{path:l,error:e instanceof Error?e.message:String(e)}),{isFirstRun:!1}}return t||await x()?{isFirstRun:!1}:{isFirstRun:!0}}async function w(e){await e.writeFile(l,`1`)}var T=`"action":"onboarding-complete-with-provider"`;function E(e){let t=e.content;return typeof t==`string`?t.includes(T):Array.isArray(t)?t.some(e=>{if(typeof e==`string`)return e.includes(T);if(e&&typeof e==`object`){let t=e.text;if(typeof t==`string`)return t.includes(T)}return!1}):!1}async function D(){try{return(await v()).some(e=>E(e))}catch(e){return c.warn(`Failed to scan cone chat session for final lick`,{error:e instanceof Error?e.message:String(e)}),!1}}function O(e){let{vfs:t,storage:n,firedWelcomeActions:r,persistFiredWelcomeActions:a,getOrchestrator:o,log:s}=e;i(n)||C(t).then(e=>{if(e.isFirstRun){if(r.has(`first-run`)){s.debug(`Suppressing welcome re-fire: first-run already in dedup ledger`);return}r.add(`first-run`),a(r),o().handleFirstRun()}}).catch(e=>s.warn(`Welcome detection failed`,e))}function k(e){for(let t of[`slicc_accounts`,`selected-model`]){let n=localStorage.getItem(t);n!=null&&e.sendRaw({type:`local-storage-set`,key:t,value:n})}}function A(e,t,n,r){let i=n(e).filter(e=>!r(e.id)),a=t.defaultModelId?i.find(e=>e.id===t.defaultModelId):void 0,o=t.defaultModelId?i.find(e=>e.id.toLowerCase().includes(t.defaultModelId.toLowerCase())):void 0,s=a??o??i[0];return s?`${e}:${s.id}`:void 0}function j(e){let t=e.getAvailableProviders().filter(t=>e.providerOffersLlmModels(t)),n=t.map(t=>{let n=e.getProviderConfig(t);return{id:n.id,name:n.name??n.id,description:n.description,requiresApiKey:n.requiresApiKey??!0,requiresBaseUrl:n.requiresBaseUrl??!1,requiresDeployment:!!n.requiresDeployment,requiresApiVersion:!!n.requiresApiVersion,apiKeyPlaceholder:n.apiKeyPlaceholder??void 0,apiKeyEnvVar:n.apiKeyEnvVar??void 0,defaultBaseUrl:n.baseUrlPlaceholder??void 0,baseUrlDescription:n.baseUrlDescription??void 0,deploymentPlaceholder:n.deploymentPlaceholder??void 0,deploymentDescription:n.deploymentDescription??void 0,apiVersionDefault:n.apiVersionDefault??void 0,apiVersionDescription:n.apiVersionDescription??void 0,isOAuth:!!n.isOAuth}}).sort((e,t)=>e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),r={};for(let n of t)try{r[n]=e.getProviderModels(n).filter(t=>!e.isModelHiddenFromPicker(t.id)).map(e=>({id:e.id,name:e.name}))}catch{r[n]=[]}return{providers:n,models:r}}async function M(e){let{OnboardingOrchestrator:n}=await t(async()=>{let{OnboardingOrchestrator:e}=await import(`./onboarding-orchestrator-B5XUC4QP.js`);return{OnboardingOrchestrator:e}},__vite__mapDeps([0,1,2,3,4,5])),r=null;return{get:()=>r||(r=new n({fs:e.fs,postSystemMessage:e.postSystemMessage,postDipReference:e.postDipReference,getProviderCatalogue:()=>j(e.providers),saveAccount:(t,n,r,i,a)=>e.providers.addAccount(t,n,r,i,a),setSelectedModel:t=>e.providers.setSelectedModelId(t),resolveModelLabel:(t,n)=>{try{return e.providers.getProviderModels(t).find(e=>e.id===n)?.name??null}catch{return null}},broadcastToDip:t=>e.broadcastToDip(t),fireFinalLick:t=>e.onFireFinalLick(t),onAccountsChanged:e.onAccountsChanged?()=>e.onAccountsChanged?.():void 0,launchOAuth:async(t,n)=>await N(t,n??null,e)}),r),peek:()=>r,buildCatalogue:()=>j(e.providers)}}async function N(e,n,r){try{let i=r.providers.getProviderConfig(e);if(!i.isOAuth||!i.onOAuthLogin&&!i.onOAuthLoginIntercepted)return{ok:!1,message:`Provider does not support OAuth.`};if(i.requiresBaseUrl&&n&&r.providers.addAccount(e,``,n),i.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await t(async()=>{let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-DBNa_4eS.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([6,7,8,3,9,10,11,12])),n=await e();if(!n)return{ok:!1,message:`Intercepted OAuth requires the controlled-browser transport — open SLICC in standalone or extension mode.`};await i.onOAuthLoginIntercepted(n,()=>void 0,{presentDeviceCode:r.deviceCode.createSprinkleDeviceCodePrompter({broadcastToDip:e=>r.broadcastToDip(e)})})}else if(i.onOAuthLogin){let{createOAuthLauncher:e}=await t(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-DBNa_4eS.js`);return{createOAuthLauncher:e}},__vite__mapDeps([6,7,8,3,9,10,11,12])),n=e();await i.onOAuthLogin(n,()=>void 0)}return{ok:!0,model:A(e,i,r.providers.getProviderModels,r.providers.isModelHiddenFromPicker)}}catch(e){return{ok:!1,message:e instanceof Error?e.message:`OAuth login failed.`}}}var P=new Set([`first-run`,`onboarding-complete`,`onboarding-complete-with-provider`,`shortcut-migrate`]),F=`slicc:welcome-flow-fired`;function I(){try{let e=typeof localStorage<`u`?localStorage.getItem(F):null;if(!e)return new Set;let t=JSON.parse(e);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}}function L(e){try{if(typeof localStorage>`u`)return;localStorage.setItem(F,JSON.stringify([...e]))}catch{}}function R(e,t,n,r,i){if(P.has(e)&&t.has(e)){i.debug(`Suppressing duplicate welcome lick (${r})`,{action:e});return}P.has(e)&&(t.add(e),L(t)),n()}var z=new Set([`first-run`,`onboarding-complete`,`connect-ready`,`connect-attempt`,`oauth-attempt`,`device-code-decision`,`shortcut-migrate`,`gelatiere-dismiss`,`gelatiere-install`,`gelatiere-try`]);function B(e){let{firedWelcomeActions:t,getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,contextLabel:l,vfs:u,log:d}=e;return e=>{if(e.type!==`sprinkle`)return!1;let f=e.sprinkleName===`welcome`||e.sprinkleName===`inline`||e.sprinkleName===`suggestions`?e.body?.action:void 0;if(f&&P.has(f)){if(t.has(f))return d.debug(`Suppressing duplicate welcome lick (${l})`,{action:f}),!0;t.add(f),L(t)}if(!f||!z.has(f))return!1;let p=e.body;return Y(f,p,{getAccounts:n,getProviderConfig:r,resolveDeviceCodeDecision:i,getOnboardingOrchestrator:a,applyPendingMount:o,fastForward:s,onShortcutMigrate:c,vfs:u,log:d})}}function V(e,t){let n=e[t];return typeof n==`string`&&n?n:null}function H(e,t){let n=t.getOnboardingOrchestrator(),r=e?.data??{};return r.mountWorkspace&&t.applyPendingMount&&t.applyPendingMount().catch(e=>t.log.warn(`Failed to mount workspace from onboarding`,e)),n.handleOnboardingComplete(r).catch(e=>t.log.warn(`OnboardingOrchestrator failed`,e)),!0}function U(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleConnectAttempt({provider:String(n.provider??``),apiKey:String(n.apiKey??``),baseUrl:V(n,`baseUrl`),deployment:V(n,`deployment`),apiVersion:V(n,`apiVersion`),model:n.model==null?null:String(n.model)}).catch(e=>t.log.warn(`handleConnectAttempt failed`,e)),!0}function W(e,t){let n=e?.data;return n&&t.getOnboardingOrchestrator().handleOAuthAttempt({provider:String(n.provider??``),baseUrl:V(n,`baseUrl`)}).catch(e=>t.log.warn(`handleOAuthAttempt failed`,e)),!0}var G={"device-code-decision":(e,t)=>{let n=e?.data?.decision;return t.resolveDeviceCodeDecision(n===`cancel`?`cancel`:`continue`),!0},"first-run":(e,t)=>(t.getOnboardingOrchestrator().handleFirstRun(),!0),"onboarding-complete":H,"connect-ready":(e,t)=>X(t),"connect-attempt":U,"oauth-attempt":W,"shortcut-migrate":(e,t)=>(t.onShortcutMigrate(),!0),"gelatiere-dismiss":(e,t)=>(J(e,t,`dismiss`),!0),"gelatiere-install":(e,t)=>(J(e,t,`take`),!1),"gelatiere-try":(e,t)=>(J(e,t,`take`),!1)},K;function q(){return K??=t(()=>import(`./wc-shell-Dviry0M3.js`).then(e=>e.rt),__vite__mapDeps([13,3,1,7,14,15,9,16,17,18,19,20,21,8,10,22,23,11,24,25,26,5,27,28,29,30,31,32,33,34,35,36,37,38])),K}function J(e,t,n){let r=e?.data?.id;if(typeof r!=`string`||!r||!t.vfs)return;let i=t.vfs;q().then(({dismissGelatiereSuggestion:e,takeGelatiereSuggestion:t})=>n===`take`?t(i,r):e(i,r)).catch(e=>t.log.warn(`Failed to settle gelatiere suggestion`,e))}function Y(e,t,n){return G[e]?.(t,n)??!1}function X(e){let t=e.getAccounts();if(t.length===0)return e.getOnboardingOrchestrator().handleConnectReady(),!0;let n=t[0];return e.fastForward.broadcastAlreadyConnected(n.providerId),Z(e.vfs,n.providerId,e.fastForward.fire).catch(t=>e.log.warn(`Failed to fire fast-forward final lick`,t)),!0}async function Z(e,n,r){let{hasOnboardingFinalLickInHistory:i}=await t(async()=>{let{hasOnboardingFinalLickInHistory:e}=await import(`./welcome-detection-CWqP_ofb.js`);return{hasOnboardingFinalLickInHistory:e}},[]);if(await i())return;let a=e?await Q(e):{},{getSelectedModelId:o,getProviderConfig:s,getProviderModels:c}=await t(async()=>{let{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{getSelectedModelId:e,getProviderConfig:t,getProviderModels:n}},__vite__mapDeps([39,3,1,18,7,19,20,21,8,9,10,22,23,11,24,16,25,17,26,5,27,28,29,31,40,41])),l=(()=>{try{return o()||null}catch{return null}})(),u=(()=>{if(!l)return null;try{return c(n).find(e=>e.id===l)?.name??l}catch{return l}})(),d=null;try{d=s(n).name??null}catch{}r({action:`onboarding-complete-with-provider`,data:{profile:a,provider:n,providerName:d,model:l,modelLabel:u,validation:`preexisting`}})}async function Q(e){try{let t=await e.readDir(`/home`),n=null;for(let r of t){if(r.type!==`directory`)continue;let t=`/home/${r.name}/.welcome.json`;try{let r=(await e.stat(t)).mtime??0;if(n&&r<=n.mtime)continue;let i=await e.readFile(t,{encoding:`utf-8`}),a=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i));a&&typeof a==`object`&&(n={profile:a,mtime:r})}catch{}}return n?.profile??{}}catch{return{}}}function $(e){let{writer:t}=e;return{readFile:t.readFile.bind(t),writeFile:t.writeFile.bind(t),readDir:t.readDir.bind(t),stat:t.stat.bind(t),mkdir:t.mkdir.bind(t),exists:async e=>{try{return await t.stat(e),!0}catch{return!1}}}}async function ee(e){let{client:n,getController:r,openVfs:i,log:a}=e,o=await t(()=>import(`./main-C8hdX5_E.js`).then(e=>e.t),__vite__mapDeps([39,3,1,18,7,19,20,21,8,9,10,22,23,11,24,16,25,17,26,5,27,28,29,31,40,41])),{createSprinkleDeviceCodePrompter:c,resolveDeviceCodeDecision:l}=await t(async()=>{let{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}=await import(`./device-code-bridge-CbHxw098.js`);return{createSprinkleDeviceCodePrompter:e,resolveDeviceCodeDecision:t}},[]),u=$(await i()),d=I(),f=e=>{let t=r();t?t.addAssistantMessage(e):a.warn(`WC onboarding: no controller to post welcome line`)},p=await M({fs:u,log:a,providers:o,deviceCode:{createSprinkleDeviceCodePrompter:c},postSystemMessage:f,postDipReference:f,broadcastToDip:e=>s(e),onFireFinalLick:e=>{k(n),R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`orchestrator-wc`,a)},onAccountsChanged:()=>{try{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`slicc:accounts-changed`))}catch(e){a.warn(`Failed to dispatch slicc:accounts-changed`,e)}}}),m=B({firedWelcomeActions:d,getAccounts:o.getAccounts,getProviderConfig:o.getProviderConfig,resolveDeviceCodeDecision:l,getOnboardingOrchestrator:()=>p.get(),fastForward:{fire:e=>{R(String(e.action??``),d,()=>n.sendSprinkleLick(`welcome`,e),`fast-forward-wc`,a)},broadcastAlreadyConnected:e=>{let t=(()=>{try{return o.getProviderConfig(e)?.name??null}catch{return null}})();s({type:`slicc-already-connected`,provider:e,note:t?`Already connected to ${t}.`:`Already connected.`})}},onShortcutMigrate:()=>{u.writeFile(`/shared/.welcomed`,`1`).catch(e=>a.warn(`Failed to persist welcome completion marker`,e))},contextLabel:`wc`,vfs:u,log:a});return O({vfs:u,storage:window.localStorage,firedWelcomeActions:d,persistFiredWelcomeActions:L,getOrchestrator:()=>p.get(),log:a}),{interceptWelcomeLick:m}}export{w as i,D as n,x as r,C as t,ee as wireWcOnboarding};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-DE6OgmCv.js","assets/logger-dqckiMJt.js","assets/picker-popup-DioAkr8b.js","assets/api-endpoint-CNqFa-M3.js","assets/remote-terminal-view-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mount-picker-popup-DE6OgmCv.js","assets/logger-dqckiMJt.js","assets/picker-popup-DioAkr8b.js","assets/api-endpoint-CNqFa-M3.js","assets/remote-terminal-view-ML6zl31u.js","assets/core-BXRpM6QF.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/browser-OXhgs9Cl.js","assets/serial-port-registry-CCqklAEr.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-Dx9QXlZ0.js","assets/terminal-session-client-DmE-iBjP.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{t as e}from"./logger-dqckiMJt.js";import{t}from"./preload-helper-BLdHbfdN.js";import{n}from"./permissions-surface-registry-CilCRwhh.js";var r=e(`wc-permissions`);function i(){return`pendingMount:perm-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function a(e){if(e.runtimeMode===`cherry`)return null;let t=e.host??document.body,r=document.createElement(`slicc-permissions`);r.setAttribute(`data-leader-permissions`,``),e.providers&&(r.providers=e.providers),t.appendChild(r),n(r);let i=e=>{let t=e.detail;t.kind===`filesystem`&&t.source===`drop`&&o(t.handle).then(e=>{document.dispatchEvent(new CustomEvent(`slicc-mount-pending`,{detail:{idbKey:e,dirName:t.handle.name,source:`drop`},bubbles:!0,composed:!0}))})};return r.addEventListener(`slicc-permission-grant`,i),{element:r,dispose(){r.removeEventListener(`slicc-permission-grant`,i),r.remove(),n(null)}}}async function o(e){let n=i();try{let{storePendingHandle:r}=await t(async()=>{let{storePendingHandle:e}=await import(`./mount-picker-popup-DE6OgmCv.js`);return{storePendingHandle:e}},__vite__mapDeps([0,1,2,3]));await r(n,e)}catch(e){throw r.warn(`failed to stash dropped handle`,{error:e instanceof Error?e.message:String(e)}),e}return n}var s=`__sliccMountPendingConsumer`;function c(e){let t=new Set;for(let n of e.split(`
|
|
3
|
-
`)){let e=n.trim();if(!e||e===`No active mounts`)continue;let r=e.split(/\s+/)[0];r.startsWith(`/`)&&t.add(r)}return t}function l(e){return e.trim().replace(/[^A-Za-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``)||`folder`}function u(e,t){let n=`/mnt/${e}`,r=2;for(;t.has(n);)n=`/mnt/${e}-${r++}`;return n}function d(e){let t=e.doc??document,n=t;if(n[s])return()=>{};n[s]=!0;let i=Promise.resolve(),a=t=>{let n=t.detail;n?.idbKey&&(i=i.then(()=>f(n,e)).catch(e=>{r.error(`slicc-mount-pending consumer failed`,{error:e instanceof Error?e.message:String(e)})}))};return t.addEventListener(`slicc-mount-pending`,a),()=>{t.removeEventListener(`slicc-mount-pending`,a),n[s]=!1}}async function f(e,t){let n=t.loadHandle??(await p()).loadAndClearPendingHandle,i=t.storeHandle??(await p()).storePendingHandle,a=t.mountKeyFor??await m(),o;try{o=await n(e.idbKey)}catch(t){r.warn(`failed to read pending handle from IDB`,{idbKey:e.idbKey,error:t instanceof Error?t.message:String(t)});return}if(!o){r.warn(`pending mount handle missing or expired`,{idbKey:e.idbKey});return}let s=new Set;try{s=c((await t.runShell(`mount list`)).stdout)}catch(e){r.warn(`mount list probe failed; assuming no existing mounts`,{error:e instanceof Error?e.message:String(e)})}let d=u(l(e.dirName),s);try{await i(a(d),o)}catch(e){r.warn(`failed to stash handle for worker adoption`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}let f;try{f=await t.runShell(`mount ${d}`)}catch(e){r.error(`mount command threw`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}if(f.exitCode!==0){r.error(`mount command returned non-zero`,{targetPath:d,stderr:f.stderr.trim()});return}r.info(`mounted dropped folder`,{targetPath:d,dirName:e.dirName})}async function p(){return t(()=>import(`./mount-picker-popup-DE6OgmCv.js`),__vite__mapDeps([0,1,2,3]))}async function m(){let{localMountIdbKey:e}=await t(async()=>{let{localMountIdbKey:e}=await import(`./remote-terminal-view-
|
|
3
|
+
`)){let e=n.trim();if(!e||e===`No active mounts`)continue;let r=e.split(/\s+/)[0];r.startsWith(`/`)&&t.add(r)}return t}function l(e){return e.trim().replace(/[^A-Za-z0-9._-]+/g,`-`).replace(/^[-.]+|[-.]+$/g,``)||`folder`}function u(e,t){let n=`/mnt/${e}`,r=2;for(;t.has(n);)n=`/mnt/${e}-${r++}`;return n}function d(e){let t=e.doc??document,n=t;if(n[s])return()=>{};n[s]=!0;let i=Promise.resolve(),a=t=>{let n=t.detail;n?.idbKey&&(i=i.then(()=>f(n,e)).catch(e=>{r.error(`slicc-mount-pending consumer failed`,{error:e instanceof Error?e.message:String(e)})}))};return t.addEventListener(`slicc-mount-pending`,a),()=>{t.removeEventListener(`slicc-mount-pending`,a),n[s]=!1}}async function f(e,t){let n=t.loadHandle??(await p()).loadAndClearPendingHandle,i=t.storeHandle??(await p()).storePendingHandle,a=t.mountKeyFor??await m(),o;try{o=await n(e.idbKey)}catch(t){r.warn(`failed to read pending handle from IDB`,{idbKey:e.idbKey,error:t instanceof Error?t.message:String(t)});return}if(!o){r.warn(`pending mount handle missing or expired`,{idbKey:e.idbKey});return}let s=new Set;try{s=c((await t.runShell(`mount list`)).stdout)}catch(e){r.warn(`mount list probe failed; assuming no existing mounts`,{error:e instanceof Error?e.message:String(e)})}let d=u(l(e.dirName),s);try{await i(a(d),o)}catch(e){r.warn(`failed to stash handle for worker adoption`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}let f;try{f=await t.runShell(`mount ${d}`)}catch(e){r.error(`mount command threw`,{targetPath:d,error:e instanceof Error?e.message:String(e)});return}if(f.exitCode!==0){r.error(`mount command returned non-zero`,{targetPath:d,stderr:f.stderr.trim()});return}r.info(`mounted dropped folder`,{targetPath:d,dirName:e.dirName})}async function p(){return t(()=>import(`./mount-picker-popup-DE6OgmCv.js`),__vite__mapDeps([0,1,2,3]))}async function m(){let{localMountIdbKey:e}=await t(async()=>{let{localMountIdbKey:e}=await import(`./remote-terminal-view-ML6zl31u.js`);return{localMountIdbKey:e}},__vite__mapDeps([4,5,6,1,7,8,9,10,11,12,3,13,14,15,16,17,0,2,18,19,20,21,22,23]));return e}export{a as installLeaderPermissionsSurface,d as installMountPendingConsumer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-DcceQmkj.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/logger-dqckiMJt.js","assets/core-BXRpM6QF.js","assets/preload-helper-BLdHbfdN.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/account-store-CbKQrU_A.js","assets/stored-accounts-CdMZdZUa.js","assets/providers-s2pRjrQo.js","assets/renamed-providers-d0bAaa0l.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-Bn0sfTur.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{m as e}from"./core-BXRpM6QF.js";import{t}from"./preload-helper-BLdHbfdN.js";import{a as n}from"./dictation-priming-BHJC0hch.js";var r=400,i=800,a=`You suggest the user's next prompt in a coding-agent chat. Based on the recent conversation, output ONE concrete follow-up the user might type next. Reply with just the prompt text — no quotes, no preamble, no list. Max 80 characters. If nothing useful comes to mind, reply exactly: What shall we build?`;function o(t,n){return t.length>n?`${e(t,n)}…`:t}function s(e){let t=e.filter(e=>!e.isStreaming&&!e.queued&&e.source!==`lick`),a=[...t].reverse().find(e=>e.role===`assistant`),s=t.filter(e=>e.role===`user`).slice(-3);return!a||s.length===0?null:[...s.map(e=>`[user]: ${o(n(e.content),r)}`),`[assistant]: ${o(a.content,i)}`].join(`
|
|
3
3
|
|
|
4
|
-
`)}async function c(e){if(e.currentValue.length>0)return;let n=s(e.messages);if(!n){e.setPlaceholder(e.defaultPlaceholder);return}let r=await(e.quickLabelFn??(await t(async()=>{let{quickLabel:e}=await import(`./quick-llm-
|
|
4
|
+
`)}async function c(e){if(e.currentValue.length>0)return;let n=s(e.messages);if(!n){e.setPlaceholder(e.defaultPlaceholder);return}let r=await(e.quickLabelFn??(await t(async()=>{let{quickLabel:e}=await import(`./quick-llm-DcceQmkj.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]))).quickLabel)({system:a,prompt:`Recent conversation:\n${n}`,maxTokens:40,signal:e.signal});e.signal?.aborted||e.currentValue.length>0||e.setPlaceholder(r&&r.length>0?r:e.defaultPlaceholder)}function l(e,t,n){t===n?(e.removeAttribute(`suggestion`),e.setAttribute(`placeholder`,t)):e.setAttribute(`suggestion`,t)}function u(e){let t=null;return()=>{e.inputCard.hasAttribute(`disabled`)||(t?.abort(),t=new AbortController,c({messages:e.getMessages(),currentValue:e.inputCard.value??``,setPlaceholder:t=>l(e.inputCard,t,e.defaultPlaceholder),defaultPlaceholder:e.defaultPlaceholder,signal:t.signal}).catch(()=>void 0))}}export{u as createPlaceholderRefresher};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-transcript-export-
|
|
2
|
-
import{t as e}from"./preload-helper-BLdHbfdN.js";import{x as t}from"./wc-live-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/wc-transcript-export-BLZIE8ep.js","assets/preload-helper-BLdHbfdN.js","assets/transcript-export-DTRO8k03.js","assets/export-spool-RoQF-YEe.js","assets/zip-stream-DZF8sKOl.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/renamed-providers-d0bAaa0l.js","assets/logger-dqckiMJt.js","assets/main-C8hdX5_E.js","assets/core-BXRpM6QF.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/bridge-protocol-C52CnDIj.js","assets/stored-accounts-CdMZdZUa.js","assets/account-store-CbKQrU_A.js","assets/providers-s2pRjrQo.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/telemetry-kqkj0A7x.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/profile-export-CtsEeuL-.js","assets/sha256-DynDhwRL.js","assets/lick-target-match-mT46VVD2.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BLdHbfdN.js";import{x as t}from"./wc-live-jfkgv1D5.js";var n=`https://seven.sliccy.ai`,r=`slicc-profile-export-style`,i={env:`environment file, often holds keys`,pem:`PEM file, may be a private key`,"git-credentials":`git credentials in plain text`,npmrc:`npm config, may hold an auth token`,"slicc-oauth":`SLICC 6 OAuth state`},a={"secrets-env":`secrets.env`,"chrome-storage":`extension secrets`,"github-token":`the GitHub token`,"mcp-tokens":`MCP tokens`},o=`Your API keys and logins don't move. You'll enter them again in SLICC 7's Settings.`,s=`
|
|
3
3
|
slicc-dialog.wcpx-dialog::part(dialog){width:min(560px,94vw);}
|
|
4
4
|
.wcpx{display:flex;flex-direction:column;gap:12px;font-family:var(--ui);color:var(--ink);font-size:13px;line-height:1.45;}
|
|
5
5
|
.wcpx__lead{margin:0;color:var(--txt-2);}
|
|
@@ -22,4 +22,4 @@ slicc-dialog.wcpx-dialog::part(dialog){width:min(560px,94vw);}
|
|
|
22
22
|
.wcpx__btn[disabled]{opacity:.5;cursor:default;}
|
|
23
23
|
.wcpx a{color:var(--ctx);}
|
|
24
24
|
`;function c(e){if(e.getElementById(r))return;let t=e.createElement(`style`);t.id=r,t.textContent=s,e.head.appendChild(t)}function l(e,t,n){let r=document.createElement(e);return r.className=t,n!==void 0&&(r.textContent=n),r}function u(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(+(n<10))} ${t[r]}`}function d(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function f(e){let t=[d(e.cones,`cone`),d(e.scoops,`scoop`),d(e.frozen,`frozen chat`),d(e.files,`file`),d(e.skills,`skill`),d(e.sprinkles,`sprinkle`)],n=d(e.archives.length,`zip`);return`${t.join(`, `)}: ${u(e.bytes)} in ${n}.`}function p(e){let t=[];return e.mounts.length>0&&t.push(`mounts (${e.mounts.join(`, `)})`),e.secrets.length>0&&t.push(e.secrets.map(e=>a[e]??e).join(`, `)),e.mcp.length>0&&t.push(`MCP connections (${e.mcp.map(e=>e.name).join(`, `)}; add them again)`),t.length>0?`Not exported: ${t.join(`; `)}.`:null}function m(e,t){let r=[],a=e.archives.join(`, `);r.push(t.dryRun?`export-profile: would write ${a} (dry run, nothing saved)`:`export-profile: saved ${a} to Downloads`),r.push(` ${f(e)}`);let s=e.providers.length>0?e.providers.join(`, `):`none`;if(r.push(o),r.push(` Providers to re-enter: ${s}`),e.flagged.length>0){r.push(`Warning: the zip holds ${d(e.flagged.length,`credential-like file`)} in the clear:`);for(let t of e.flagged)r.push(` ${t.sourcePath} (${u(t.size)}): ${i[t.rule]}`)}let c=p(e);return c&&r.push(c),r.push(`Import it in SLICC 7 (${n}): Freezer → Import from SLICC 6…`),`${r.join(`
|
|
25
|
-
`)}\n`}async function h(t,n){let{transcriptZipToBlob:r,downloadTranscriptBlob:i}=await e(async()=>{let{transcriptZipToBlob:e,downloadTranscriptBlob:t}=await import(`./wc-transcript-export-
|
|
25
|
+
`)}\n`}async function h(t,n){let{transcriptZipToBlob:r,downloadTranscriptBlob:i}=await e(async()=>{let{transcriptZipToBlob:e,downloadTranscriptBlob:t}=await import(`./wc-transcript-export-BLZIE8ep.js`);return{transcriptZipToBlob:e,downloadTranscriptBlob:t}},__vite__mapDeps([0,1,2,3,4,5,6,7])),a=t.open(n);await i(await r(a),a.filename)}async function g(e,t={}){for(let n=0;n<e.archives.length;n++){let r=e.archives[n];t.onArchive?.(n,r),await h(r,t.signal)}}async function _(){try{let{getProviderConfig:t}=await e(async()=>{let{getProviderConfig:e}=await import(`./main-C8hdX5_E.js`).then(e=>e.t);return{getProviderConfig:e}},__vite__mapDeps([8,5,7,9,1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,6,24,25,26,27,28,29]));return e=>t(e).name||e}catch{return e=>e}}async function v(n){let{planProfileExport:r}=await e(async()=>{let{planProfileExport:e}=await import(`./profile-export-CtsEeuL-.js`).then(e=>e.n);return{planProfileExport:e}},__vite__mapDeps([30,5,31,4,2,6,7,32]));return r(t(),n)}async function y(e,t=S){let n=e.dryRun?await v():await t();if(!n)throw Error(`export cancelled in the SLICC tab; nothing was saved`);return{report:m(n.summary,e),archives:n.summary.archives}}function b(e){if(e instanceof Error&&e.message){let t=e.detail;return typeof t==`string`&&t?`${e.message}: ${t}`:e.message}return String(e)}function x(e,t=e=>e){let n=l(`div`,`wcpx`);n.append(l(`div`,`wcpx__summary`,f(e)));let r=l(`div`,`wcpx__box`);if(r.dataset.profileExport=`keys`,r.append(l(`div`,`wcpx__title`,o)),e.providers.length>0){r.append(l(`div`,`wcpx__muted`,`Providers to set up again:`));let n=l(`div`,`wcpx__chips`);for(let r of e.providers){let e=l(`span`,`wcpx__chip`,t(r));e.title=r,n.append(e)}r.append(n)}else r.append(l(`div`,`wcpx__muted`,`No provider accounts are set up here.`));if(n.append(r),e.flagged.length>0){let t=l(`div`,`wcpx__box wcpx__box--warn`);t.dataset.profileExport=`flagged`,t.setAttribute(`role`,`alert`),t.append(l(`div`,`wcpx__title`,`The zip holds ${d(e.flagged.length,`credential-like file`)} in the clear. Anyone with the zip can read them.`));let r=l(`ul`,`wcpx__files`);for(let t of e.flagged){let e=l(`li`,`wcpx__file`);e.append(l(`span`,`wcpx__path`,t.sourcePath),l(`span`,`wcpx__why`,`${u(t.size)}, ${i[t.rule]}`)),r.append(e)}t.append(r,l(`div`,`wcpx__muted`,`Delete or move them in SLICC 7 if you don't need them there.`)),n.append(t)}let a=p(e);return a&&n.append(l(`div`,`wcpx__muted`,a)),n}function S(e={}){c(document);let t=e.plan??v,r=e.save??g,i=new AbortController,a=document.createElement(`slicc-dialog`);a.classList.add(`wcpx-dialog`),a.setAttribute(`heading`,`Export for SLICC 7`);let o=l(`div`,`wcpx`),s=l(`p`,`wcpx__lead`);s.append(`SLICC 7 is at `);let u=document.createElement(`a`);u.href=n,u.target=`_blank`,u.rel=`noopener`,u.textContent=`seven.sliccy.ai`,s.append(u,`. This saves your cones, chats, files, memory, skills and licks as a zip you import there.`);let d=l(`div`,``),f=l(`div`,`wcpx__status`,`Reading your profile…`);f.setAttribute(`aria-live`,`polite`),o.append(s,d,f),a.append(o);let p=l(`button`,`wcpx__btn`,`Cancel`);p.type=`button`,p.slot=`footer`,p.dataset.profileExportAction=`cancel`;let m=l(`button`,`wcpx__btn wcpx__btn--primary`,`Export`);m.type=`button`,m.slot=`footer`,m.disabled=!0,m.dataset.profileExportAction=`export`,a.append(p,m);let h=(e,t=!1)=>{f.textContent=e,f.toggleAttribute(`data-error`,t)},y=null,S=null,C=!1;return p.addEventListener(`click`,()=>a.hide?.()),m.addEventListener(`click`,()=>{if(C){a.hide?.();return}if(!y)return;let e=y;m.disabled=!0,r(e,{signal:i.signal,onArchive:(t,n)=>h(e.archives.length>1?`Saving ${n.filename} (${t+1} of ${e.archives.length})…`:`Saving ${n.filename}…`)}).then(()=>{C=!0,S=e,h(`Saved to Downloads: ${e.summary.archives.join(`, `)}. Open seven.sliccy.ai and import it in the Freezer.`),m.textContent=`Done`,m.disabled=!1,p.hidden=!0}).catch(e=>{h(`Export failed: ${b(e)}`,!0),m.disabled=!1})}),new Promise(n=>{a.addEventListener(`slicc-dialog-close`,()=>{i.abort(),a.remove(),n(S)}),document.body.append(a),a.show?.(),Promise.all([t(i.signal),(e.providerNames??_)()]).then(([e,t])=>{y=e,d.replaceWith(x(e.summary,t)),h(``),m.textContent=e.archives.length>1?`Export ${e.archives.length} zips`:`Export`,m.disabled=!1}).catch(e=>{i.signal.aborted||h(`Export failed: ${b(e)}`,!0)})})}export{y as runProfileExportHeadless,S as showProfileExportDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-dqckiMJt.js";import{et as t,k as n}from"./account-store-
|
|
1
|
+
import{t as e}from"./logger-dqckiMJt.js";import{et as t,k as n}from"./account-store-CbKQrU_A.js";import{r}from"./secret-topology-BuXN_6_0.js";import{M as i}from"./wc-shell-Dviry0M3.js";import{setSecretRequestSurface as a}from"./secret-request-registry-DrOMKR1H.js";import{createDefaultSecretBackend as o}from"./secret-backends-BVrvI2vY.js";var s=e(`wc-secret-request`);function c(e){try{return i(e,document),!0}catch(e){return s.error("no trusted layer in this float — refusing to collect a secret on spoofable chrome; use `secret set` or the settings UI instead (see trusted-layer.ts)",{error:e instanceof Error?e.message:String(e)}),!1}}function l(){try{return t(n())}catch{return}}function u(e){return{name:e.name,domains:e.domains,reason:e.reason,requester:e.requester,persist:e.persist,provider:e.provider??l()}}async function d(e={},t={}){let n=t.backend??o(r()),i=t.createDialog?.()??document.createElement(`slicc-secret-dialog`);if(t.mount)t.mount(i);else if(!c(i))return{stored:!1,reason:`unavailable`};let a={};i.submitHandler=async e=>{try{e.persist?await n.setPersisted(e.name,e.value,e.domains):await n.setSession(e.name,e.value,e.domains)}catch(e){return e instanceof Error?e.message:String(e)}return a.entry={name:e.name,domains:e.domains,persisted:e.persist},null};try{let t=await i.open(u(e)),r=a.entry;return!t||!r?{stored:!1,reason:`cancelled`}:{stored:!0,name:r.name,maskedValue:await f(n,r.name),domains:r.domains,persisted:r.persisted}}finally{i.remove()}}async function f(e,t){try{return(await e.getMasked(t))?.maskedValue??null}catch(e){return s.warn(`secret stored, but the mask could not be read back`,{name:t,error:e instanceof Error?e.message:String(e)}),null}}function p(e={}){return a(t=>d(t,e)),()=>a(null)}export{p as installSecretRequestSurface,d as requestSecretFromUser};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-DBNa_4eS.js","assets/preload-helper-BLdHbfdN.js","assets/proxied-fetch-2sdz8vNB.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-profile-export-
|
|
2
|
-
import{t as e}from"./preload-helper-BLdHbfdN.js";import{a as t,c as n,l as r,o as i,r as a}from"./feature-flags-DDJdMcuw.js";import{G as o}from"./zip-stream-DZF8sKOl.js";import{X as s,Z as c}from"./wc-shell-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/oauth-service-DBNa_4eS.js","assets/preload-helper-BLdHbfdN.js","assets/proxied-fetch-2sdz8vNB.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-profile-export-0_MWQlQi.js","assets/wc-live-jfkgv1D5.js","assets/logger-dqckiMJt.js","assets/core-BXRpM6QF.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/image-markers-4eaAm9QS.js","assets/dictation-priming-BHJC0hch.js","assets/sprinkle-renderer-DcsYmznT.js","assets/wc-shell-Dviry0M3.js","assets/mime-types-D0xZwlMO.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CbKQrU_A.js","assets/stored-accounts-CdMZdZUa.js","assets/providers-s2pRjrQo.js","assets/renamed-providers-d0bAaa0l.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/sha256-DynDhwRL.js","assets/telemetry-kqkj0A7x.js","assets/GELATIERE-CLK_MA5a.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-Bn0sfTur.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-Dx9QXlZ0.js","assets/shared-DSEuryGJ.js","assets/theme-CmogKzdP.js","assets/theme-engine-CwaY1aIr.js","assets/zip-stream-DZF8sKOl.js","assets/transcript-export-DTRO8k03.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-C8hdX5_E.js","assets/clipboard-eqmn97SP.js","assets/provider-budget-LCzMPlKv.js","assets/browser-OXhgs9Cl.js","assets/tray-leader-x0HDgpHa.js","assets/db-CIXZItfi.js","assets/sessions-Bd6uu3F5.js","assets/types-CFfBWsH5.js","assets/store-DP4F8FwF.js","assets/entries-ChYQ3OMf.js","assets/frozen-archive-writer-d8c53vzV.js","assets/frozen-session-identity-D__hHRHh.js","assets/session-jsonl-CJO46TfW.js","assets/snapshot-store-DYh_oG7o.js","assets/live-session-curation-BB61f9E8.js","assets/MEMORY-B9cGngY_.js","assets/thinking-level-DCJktR5U.js","assets/profile-export-deps-BE2w_fD3.js","assets/global-db-CbuLl-zx.js","assets/wc-unit-context-DDyqslj4.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BLdHbfdN.js";import{a as t,c as n,l as r,o as i,r as a}from"./feature-flags-DDJdMcuw.js";import{G as o}from"./zip-stream-DZF8sKOl.js";import{X as s,Z as c}from"./wc-shell-Dviry0M3.js";import{a as l,c as u,d,f,g as p,h as m,i as h,l as g,m as _,o as v,s as y,t as b,u as x,v as S,y as C}from"./theme-engine-CwaY1aIr.js";import{t as w}from"./theme-CmogKzdP.js";import{n as T,t as E}from"./discovery-preference-C2N6fnUl.js";var D={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`]},O=`slicc-wc-settings-style`,k=`
|
|
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);}
|
|
@@ -60,4 +60,4 @@ slicc-dialog.wcset-dialog::part(dialog){width:min(520px,92vw);}
|
|
|
60
60
|
.wcset__radio-row__detail{font-size:11px;color:var(--txt-3);margin-top:2px;line-height:1.4;}
|
|
61
61
|
.wcset__notice{font-size:11.5px;line-height:1.45;color:var(--ink);background:var(--ghost);border:1px solid var(--line);border-left:3px solid var(--ctx);border-radius:8px;padding:8px 10px;}
|
|
62
62
|
.wcset__notice[hidden]{display:none;}
|
|
63
|
-
`;function A(e){if(e.getElementById(O))return;let t=e.createElement(`style`);t.id=O,t.textContent=k,e.head.appendChild(t)}function j(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function M(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function N(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function P(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:N(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function F(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-DBNa_4eS.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),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-DBNa_4eS.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7]));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 I(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=j(`wcset__row`),c=j(`wcset__info`);if(c.append(j(`wcset__name`,t.name),j(`wcset__detail`,P(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(M(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?F(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(M(`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 L(e){let{ps:t,setStatus:n}=e,r=j(`wcset__add`);r.append(j(`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=j(`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(M(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{F(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(M(`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 R(t,n){let r=j(`wcset__add`);r.dataset.settingsSection=`slicc-7`,r.append(j(`wcset__section-label`,`SLICC 7`)),r.append(j(`wcset__pair-hint`,`SLICC 7 is at seven.sliccy.ai. Export your cones, chats, files, memory and skills to import them there.`));let i=M(`wcset__btn`,`Export for SLICC 7…`,()=>{n(),e(async()=>{let{showProfileExportDialog:e}=await import(`./wc-profile-export-Dw3kIggm.js`);return{showProfileExportDialog:e}},__vite__mapDeps([8,1,9,3,10,11,12,13,14,2,4,5,15,16,6,17,18,19,7,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69])).then(({showProfileExportDialog:e})=>e()).catch(e=>t.error(`Export for SLICC 7 dialog failed`,e))});return i.dataset.settingsAction=`export-profile`,i.style.alignSelf=`flex-start`,r.append(i),r}function z(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Chat`));let t=j(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Show timestamps`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=s(),r.addEventListener(`change`,()=>c(r.checked)),t.append(n,r),e.append(t),e}function B(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Browsing`));let t=j(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=E(),r.addEventListener(`change`,()=>T(r.checked)),t.append(n,r),e.append(t),e}function V(e,t,n){let r=j(`wcset__add`);r.append(j(`wcset__section-label`,`Keyboard mode`));let i=j(`wcset__radio-list`),a=[{value:`auto`,title:`Auto`,detail:`On whenever you are not typing — click outside the composer to command.`},{value:`esc`,title:`Esc`,detail:`Press Esc to enter. Blurring the composer does not turn it on.`},{value:null,title:`Off`,detail:`Keyboard mode disabled. Shortcuts stay unavailable until you pick Auto or Esc.`}],o=e.getTrigger();for(let r of a){let a=document.createElement(`label`);a.className=`wcset__radio-row`;let s=document.createElement(`input`);s.type=`radio`,s.name=`wcset-keyboard-trigger`,s.value=r.value===null?`off`:r.value,s.checked=o===r.value,s.addEventListener(`change`,()=>{if(!s.checked)return;let i=r.value;e.setTrigger(i),t(`Saved.`),e.persistTrigger?.(i).catch(e=>{n.error(`Could not persist keyboard trigger`,e),t(`Applied for this session; could not write /etc/slicc/keys.json.`,!0)})});let c=j(`wcset__radio-row__body`);c.append(j(`wcset__radio-row__title`,r.title),j(`wcset__radio-row__detail`,r.detail)),a.append(s,c),i.append(a)}return r.append(i),r}function H(e){let o=j(`wcset__list`),s=i().filter(e=>e.userToggleable);s.length===0&&o.append(j(`wcset__empty`,`No experimental features are available right now.`));let c=new Map(s.map(e=>[e.id,t(e.id)])),l=n(),u=new Map,d=new Map,f=()=>{e.onPendingChange([...d].some(([e,t])=>t!==c.get(e)))};for(let n of s){let r=j(`wcset__toggle-row`),i=j(`wcset__info`),s=document.createElement(`label`),l=document.createElement(`input`);l.id=`wcset-feature-${n.id}`,l.type=`checkbox`,l.checked=t(n.id),s.htmlFor=l.id,s.textContent=n.label,i.append(s,j(`wcset__detail`,n.description)),l.addEventListener(`change`,()=>{if(!a(n.id)){l.checked=c.get(n.id)??!1,e.setStatus(`This feature cannot be changed on this runtime.`,!0);return}d.set(n.id,l.checked),e.setStatus(l.checked===c.get(n.id)?`Back to the current setting.`:`Not applied yet — reload to apply.`),f()}),u.set(n.id,l),r.append(i,l),o.append(r)}return{element:o,revert:()=>{d.clear();for(let[e,t]of u)t.checked=c.get(e)??!1;f()},commit:()=>{for(let[t,n]of d)try{n===c.get(t)?r(t,l[t]):r(t,n?`on`:`off`)}catch(n){e.log.error(`Experimental settings update failed`,{flagId:t,err:n})}}}}function U(e,t,n){return`wcset__preset-swatch${t.includes(e)?` wcset__preset-swatch--active`:``}${n===e?` wcset__preset-swatch--live`:``}`}function W(e){let t=f(e);return t===`darker`?`Selected. Used when Dark is on.`:t===`brighter`?`Selected. Used when Light is on.`:`Select. Two themes follow Light and Dark automatically.`}function G(e){let t=j(`wcset__appearance`);t.append(j(`wcset__section-label`,`Appearance`));let n=x(),r=u(),i=j(`wcset__preset-grid`),a=document.createElement(`div`);a.className=`wcset__preset-swatch${n.length===0?` wcset__preset-swatch--active`:``}`,a.title=`Follow the system colors, with no theme.`,a.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,a.addEventListener(`click`,()=>{h(),w(),f()}),i.append(a);for(let e of C){let t=document.createElement(`div`);t.className=U(e.id,n,r),t.title=W(e.id),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`,()=>{S(e.id),w(),f()}),i.append(t)}t.append(i),t.append(j(`wcset__pair-hint`,`Select two themes to switch between the darker and the brighter one as Light and Dark change. A third pick replaces the older one.`));let o=g().filter(e=>e.id!==`__preview`);if(o.length>0){let e=j(`wcset__custom-themes`);e.append(j(`wcset__section-label`,`My Themes`));for(let t of o){let r=j(`wcset__custom-row`),i=j(`wcset__custom-row__name`,t.name);n.includes(t.id)&&(i.style.fontWeight=`700`),r.append(i),r.append(M(`wcset__btn`,n.includes(t.id)?`Selected`:`Use`,()=>{S(t.id),w(),f()})),r.append(M(`wcset__btn`,`Edit`,()=>{p(t)})),r.append(M(`wcset__btn`,`Export`,()=>{let e=new Blob([y(t)],{type:`application/json`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`${t.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(n)})),r.append(M(`wcset__btn wcset__btn--danger`,`×`,()=>{l(t.id),w(),f()})),e.append(r)}t.append(e)}let s=j(``);s.style.cssText=`display:flex;gap:8px;`,s.append(M(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{p(null)})),s.append(M(`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);_(n),e.setStatus(`Imported "${n.name}".`),f()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),t.append(s);let c=j(``);t.append(c);function f(){let n=t.parentElement;if(!n)return;let r=G(e);n.replaceChild(r,t)}function p(t){c.replaceChildren(Q(t,e,f))}return t}function K(e,t,n,r){let i=[],a=v(e,t);for(let[e,t]of Object.entries(D)){i.push(j(`wcset__section-label`,e));let o=j(`wcset__advanced-grid`);for(let e of t){let t=j(`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 q(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=j(`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(j(`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=j(`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 J(e,t){let n=j(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=j(`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 Y(e,t){let n=j(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(M(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(M(`wcset__btn`,`Cancel`,t)),n}function X(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function Z(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 Q(e,t,n){let r=j(`wcset__builder`),i=e?.base??`dark`,a=e?.disableShader??!1,s=!1,c={background:e?.tokens[`--s2-gray-25`]||(i===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(i===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},u={background:1,text:1,accent:1},d=Z(e,i),f={},p=document.createElement(`input`);p.className=`wcset__input`,p.placeholder=`Theme name`,p.value=e?.name??``;function g(){return o(p.value)||`custom-${Date.now()}`}function y(){let e=i===`dark`;c.surface=b(c.background,e?.1:-.08),c.border=b(c.background,e?.15:-.12),c.success=`#2d9d78`,c.error=`#e34850`}function x(){y();let e={...v(c,i),...f};for(let[t,n]of Object.entries(u))if(n<1&&c[t]){let r=c[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}`)}let t={id:`__preview`,name:`Preview`,base:i,tokens:e,disableShader:a,components:X(d)};_(t),m(`__preview`),w()}function S(){r.replaceChildren();let o=j(`wcset__builder-row`),b=document.createElement(`label`);b.textContent=`Name`,o.append(b,p),r.append(o),r.append(J(i,e=>{i=e,S(),x()}));let C={disabled:a};for(let e of q(c,u,C,d,()=>{a=C.disabled,x()}))r.append(e);let T=document.createElement(`button`);if(T.className=`wcset__advanced-toggle`,T.textContent=s?`Hide advanced`:`Show advanced`,T.addEventListener(`click`,()=>{s=!s,S()}),r.append(T),s)for(let e of K(c,i,f,x))r.append(e);r.append(Y(()=>{let r=p.value.trim();if(!r){t.setStatus(`Name is required.`,!0);return}y();let o={...v(c,i),...f},s=e?.id??g(),u={id:s,name:r,base:i,tokens:o,disableShader:a,components:X(d)};l(`__preview`),_(u),m(s),w(),t.setStatus(`Saved "${r}".`),n()},()=>{l(`__preview`),e?m(e.id):h(),w(),n()}))}return S(),x(),r}async function ee(t){let n=await e(()=>import(`./main-CILyCK1y.js`).then(e=>e.t),__vite__mapDeps([50,3,10,11,1,12,13,14,2,4,5,15,16,6,17,22,24,23,25,26,27,28,29,31,49,51]));A(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=j(`wcset`),o=j(`wcset__list`),s=j(`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=j(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(j(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(I(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(L(f))}};f.renderList(),a.append(o,d,R(t,()=>{i.hide?.()}),s),i.append(a);let p=M(`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 te(e,t){return A(document),l(`__preview`),new Promise(n=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Theme`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=G({ps:null,log:e,setStatus:o,renderList:()=>{}}),c=z(),d=B();i.append(s,c,d),t&&i.append(V(t,o,e)),i.append(a),r.append(i);let f=M(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});f.setAttribute(`slot`,`footer`),r.append(f);let m=x().filter(e=>e!==`__preview`);r.addEventListener(`slicc-dialog-close`,()=>{u()===`__preview`&&(l(`__preview`),m.length>0?p(m):h(),w()),r.remove(),n()}),document.body.append(r),r.show?.()})}var $=`Done`,ne=`Reload now`,re=`Revert`,ie=`Experimental features take effect when SLICC boots. Nothing is saved until you reload — reload this tab to apply your changes, or revert.`;async function ae(e,n={}){if(!t(`experimental-settings`))return;A(document);let r=n.reload??(()=>location.reload());return new Promise(t=>{let n=document.createElement(`slicc-dialog`);n.classList.add(`wcset-dialog`),n.setAttribute(`heading`,`Experimental`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=j(`wcset__notice`,ie);s.hidden=!0;let c=()=>{n.hide?.()},l=M(`wcset__btn wcset__btn--primary`,$,()=>{d&&(f.commit(),r()),c()});l.setAttribute(`slot`,`footer`);let u=M(`wcset__btn`,re,()=>{f.revert(),o(`Reverted.`)});u.setAttribute(`slot`,`footer`),u.hidden=!0;let d=!1,f=H({log:e,setStatus:o,onPendingChange:e=>{d=e,s.hidden=!e,u.hidden=!e,l.textContent=e?ne:$}});i.append(f.element,s,a),n.append(i,u,l),n.addEventListener(`slicc-dialog-close`,()=>{n.remove(),t()}),document.body.append(n),n.show?.()})}export{ae as showExperimentalSettings,te as showThemeSettings,ee as showWcSettings};
|
|
63
|
+
`;function A(e){if(e.getElementById(O))return;let t=e.createElement(`style`);t.id=O,t.textContent=k,e.head.appendChild(t)}function j(e,t){let n=document.createElement(`div`);return n.className=e,t!==void 0&&(n.textContent=t),n}function M(e,t,n){let r=document.createElement(`button`);return r.type=`button`,r.className=e,r.textContent=t,r.addEventListener(`click`,n),r}function N(e){return e?e.length<=8?`••••`:`${e.slice(0,4)}…${e.slice(-4)}`:``}function P(e){let t;return t=e.loggedOut?e.userName?`Logged out — was ${e.userName}`:`Logged out`:e.userName?e.userName:e.accessToken?`Logged in`:N(e.apiKey),e.baseUrl?`${t} • ${e.baseUrl}`:t}async function F(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-DBNa_4eS.js`);return{createInterceptingOAuthLauncherForCurrentRuntime:e}},__vite__mapDeps([0,1,2,3,4,5,6,7])),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-DBNa_4eS.js`);return{createOAuthLauncher:e}},__vite__mapDeps([0,1,2,3,4,5,6,7]));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 I(e,t,n){let{ps:r,log:i,setStatus:a,renderList:o}=n,s=j(`wcset__row`),c=j(`wcset__info`);if(c.append(j(`wcset__name`,t.name),j(`wcset__detail`,P(e))),s.append(c),t.isOAuth){let t=e.loggedOut===!0;s.append(M(`wcset__btn`,t?`Log in`:`Log out`,()=>{t?F(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(M(`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 L(e){let{ps:t,setStatus:n}=e,r=j(`wcset__add`);r.append(j(`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=j(`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(M(`wcset__btn wcset__btn--primary`,`Login with ${a.name}`,()=>{F(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(M(`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 R(t,n){let r=j(`wcset__add`);r.dataset.settingsSection=`slicc-7`,r.append(j(`wcset__section-label`,`SLICC 7`)),r.append(j(`wcset__pair-hint`,`SLICC 7 is at seven.sliccy.ai. Export your cones, chats, files, memory and skills to import them there.`));let i=M(`wcset__btn`,`Export for SLICC 7…`,()=>{n(),e(async()=>{let{showProfileExportDialog:e}=await import(`./wc-profile-export-0_MWQlQi.js`);return{showProfileExportDialog:e}},__vite__mapDeps([8,1,9,3,10,11,12,13,14,2,4,5,15,16,6,17,18,19,7,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69])).then(({showProfileExportDialog:e})=>e()).catch(e=>t.error(`Export for SLICC 7 dialog failed`,e))});return i.dataset.settingsAction=`export-profile`,i.style.alignSelf=`flex-start`,r.append(i),r}function z(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Chat`));let t=j(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Show timestamps`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=s(),r.addEventListener(`change`,()=>c(r.checked)),t.append(n,r),e.append(t),e}function B(){let e=j(`wcset__add`);e.append(j(`wcset__section-label`,`Browsing`));let t=j(`wcset__toggle-row`),n=document.createElement(`label`);n.textContent=`Autodiscover agentic resources`;let r=document.createElement(`input`);return r.type=`checkbox`,r.checked=E(),r.addEventListener(`change`,()=>T(r.checked)),t.append(n,r),e.append(t),e}function V(e,t,n){let r=j(`wcset__add`);r.append(j(`wcset__section-label`,`Keyboard mode`));let i=j(`wcset__radio-list`),a=[{value:`auto`,title:`Auto`,detail:`On whenever you are not typing — click outside the composer to command.`},{value:`esc`,title:`Esc`,detail:`Press Esc to enter. Blurring the composer does not turn it on.`},{value:null,title:`Off`,detail:`Keyboard mode disabled. Shortcuts stay unavailable until you pick Auto or Esc.`}],o=e.getTrigger();for(let r of a){let a=document.createElement(`label`);a.className=`wcset__radio-row`;let s=document.createElement(`input`);s.type=`radio`,s.name=`wcset-keyboard-trigger`,s.value=r.value===null?`off`:r.value,s.checked=o===r.value,s.addEventListener(`change`,()=>{if(!s.checked)return;let i=r.value;e.setTrigger(i),t(`Saved.`),e.persistTrigger?.(i).catch(e=>{n.error(`Could not persist keyboard trigger`,e),t(`Applied for this session; could not write /etc/slicc/keys.json.`,!0)})});let c=j(`wcset__radio-row__body`);c.append(j(`wcset__radio-row__title`,r.title),j(`wcset__radio-row__detail`,r.detail)),a.append(s,c),i.append(a)}return r.append(i),r}function H(e){let o=j(`wcset__list`),s=i().filter(e=>e.userToggleable);s.length===0&&o.append(j(`wcset__empty`,`No experimental features are available right now.`));let c=new Map(s.map(e=>[e.id,t(e.id)])),l=n(),u=new Map,d=new Map,f=()=>{e.onPendingChange([...d].some(([e,t])=>t!==c.get(e)))};for(let n of s){let r=j(`wcset__toggle-row`),i=j(`wcset__info`),s=document.createElement(`label`),l=document.createElement(`input`);l.id=`wcset-feature-${n.id}`,l.type=`checkbox`,l.checked=t(n.id),s.htmlFor=l.id,s.textContent=n.label,i.append(s,j(`wcset__detail`,n.description)),l.addEventListener(`change`,()=>{if(!a(n.id)){l.checked=c.get(n.id)??!1,e.setStatus(`This feature cannot be changed on this runtime.`,!0);return}d.set(n.id,l.checked),e.setStatus(l.checked===c.get(n.id)?`Back to the current setting.`:`Not applied yet — reload to apply.`),f()}),u.set(n.id,l),r.append(i,l),o.append(r)}return{element:o,revert:()=>{d.clear();for(let[e,t]of u)t.checked=c.get(e)??!1;f()},commit:()=>{for(let[t,n]of d)try{n===c.get(t)?r(t,l[t]):r(t,n?`on`:`off`)}catch(n){e.log.error(`Experimental settings update failed`,{flagId:t,err:n})}}}}function U(e,t,n){return`wcset__preset-swatch${t.includes(e)?` wcset__preset-swatch--active`:``}${n===e?` wcset__preset-swatch--live`:``}`}function W(e){let t=f(e);return t===`darker`?`Selected. Used when Dark is on.`:t===`brighter`?`Selected. Used when Light is on.`:`Select. Two themes follow Light and Dark automatically.`}function G(e){let t=j(`wcset__appearance`);t.append(j(`wcset__section-label`,`Appearance`));let n=x(),r=u(),i=j(`wcset__preset-grid`),a=document.createElement(`div`);a.className=`wcset__preset-swatch${n.length===0?` wcset__preset-swatch--active`:``}`,a.title=`Follow the system colors, with no theme.`,a.innerHTML=[`#161618`,`#1f1f22`,`#f59e0b`].map(e=>`<div class="wcset__preset-swatch__stripe" style="background:${e}"></div>`).join(``)+`<div class="wcset__preset-name">Default</div>`,a.addEventListener(`click`,()=>{h(),w(),f()}),i.append(a);for(let e of C){let t=document.createElement(`div`);t.className=U(e.id,n,r),t.title=W(e.id),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`,()=>{S(e.id),w(),f()}),i.append(t)}t.append(i),t.append(j(`wcset__pair-hint`,`Select two themes to switch between the darker and the brighter one as Light and Dark change. A third pick replaces the older one.`));let o=g().filter(e=>e.id!==`__preview`);if(o.length>0){let e=j(`wcset__custom-themes`);e.append(j(`wcset__section-label`,`My Themes`));for(let t of o){let r=j(`wcset__custom-row`),i=j(`wcset__custom-row__name`,t.name);n.includes(t.id)&&(i.style.fontWeight=`700`),r.append(i),r.append(M(`wcset__btn`,n.includes(t.id)?`Selected`:`Use`,()=>{S(t.id),w(),f()})),r.append(M(`wcset__btn`,`Edit`,()=>{p(t)})),r.append(M(`wcset__btn`,`Export`,()=>{let e=new Blob([y(t)],{type:`application/json`}),n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=`${t.name.toLowerCase().replace(/\s+/g,`-`)}.slicc-theme.json`,r.click(),URL.revokeObjectURL(n)})),r.append(M(`wcset__btn wcset__btn--danger`,`×`,()=>{l(t.id),w(),f()})),e.append(r)}t.append(e)}let s=j(``);s.style.cssText=`display:flex;gap:8px;`,s.append(M(`wcset__btn wcset__btn--primary`,`+ Create Custom Theme`,()=>{p(null)})),s.append(M(`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);_(n),e.setStatus(`Imported "${n.name}".`),f()}catch(t){e.setStatus(`Import failed: ${t instanceof Error?t.message:String(t)}`,!0)}})}),t.click()})),t.append(s);let c=j(``);t.append(c);function f(){let n=t.parentElement;if(!n)return;let r=G(e);n.replaceChild(r,t)}function p(t){c.replaceChildren(Q(t,e,f))}return t}function K(e,t,n,r){let i=[],a=v(e,t);for(let[e,t]of Object.entries(D)){i.push(j(`wcset__section-label`,e));let o=j(`wcset__advanced-grid`);for(let e of t){let t=j(`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 q(e,t,n,r,i){let a=[];for(let[r,o]of[[`background`,`Background`],[`text`,`Text`],[`accent`,`Links & buttons`]]){let s=j(`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(j(`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=j(`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 J(e,t){let n=j(`wcset__builder-row`),r=document.createElement(`label`);r.textContent=`Base`;let i=j(`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 Y(e,t){let n=j(``);return n.style.cssText=`display:flex;gap:8px;margin-top:8px;`,n.append(M(`wcset__btn wcset__btn--primary`,`Save`,e)),n.append(M(`wcset__btn`,`Cancel`,t)),n}function X(e){return{userBubble:{background:e.bubbleBg,text:e.bubbleText},nav:{background:e.navBg},composer:{background:e.composerBg}}}function Z(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 Q(e,t,n){let r=j(`wcset__builder`),i=e?.base??`dark`,a=e?.disableShader??!1,s=!1,c={background:e?.tokens[`--s2-gray-25`]||(i===`dark`?`#1a1a1a`:`#ffffff`),surface:``,text:e?.tokens[`--s2-content-default`]||e?.tokens[`--s2-gray-900`]||(i===`dark`?`#e8e8e8`:`#131313`),accent:e?.tokens[`--s2-accent`]||`#3562ff`,border:``,success:`#2d9d78`,error:`#e34850`},u={background:1,text:1,accent:1},d=Z(e,i),f={},p=document.createElement(`input`);p.className=`wcset__input`,p.placeholder=`Theme name`,p.value=e?.name??``;function g(){return o(p.value)||`custom-${Date.now()}`}function y(){let e=i===`dark`;c.surface=b(c.background,e?.1:-.08),c.border=b(c.background,e?.15:-.12),c.success=`#2d9d78`,c.error=`#e34850`}function x(){y();let e={...v(c,i),...f};for(let[t,n]of Object.entries(u))if(n<1&&c[t]){let r=c[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}`)}let t={id:`__preview`,name:`Preview`,base:i,tokens:e,disableShader:a,components:X(d)};_(t),m(`__preview`),w()}function S(){r.replaceChildren();let o=j(`wcset__builder-row`),b=document.createElement(`label`);b.textContent=`Name`,o.append(b,p),r.append(o),r.append(J(i,e=>{i=e,S(),x()}));let C={disabled:a};for(let e of q(c,u,C,d,()=>{a=C.disabled,x()}))r.append(e);let T=document.createElement(`button`);if(T.className=`wcset__advanced-toggle`,T.textContent=s?`Hide advanced`:`Show advanced`,T.addEventListener(`click`,()=>{s=!s,S()}),r.append(T),s)for(let e of K(c,i,f,x))r.append(e);r.append(Y(()=>{let r=p.value.trim();if(!r){t.setStatus(`Name is required.`,!0);return}y();let o={...v(c,i),...f},s=e?.id??g(),u={id:s,name:r,base:i,tokens:o,disableShader:a,components:X(d)};l(`__preview`),_(u),m(s),w(),t.setStatus(`Saved "${r}".`),n()},()=>{l(`__preview`),e?m(e.id):h(),w(),n()}))}return S(),x(),r}async function ee(t){let n=await e(()=>import(`./main-C8hdX5_E.js`).then(e=>e.t),__vite__mapDeps([50,3,10,11,1,12,13,14,2,4,5,15,16,6,17,22,24,23,25,26,27,28,29,31,49,51]));A(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=j(`wcset`),o=j(`wcset__list`),s=j(`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=j(``),f={ps:n,log:t,setStatus:c,renderList:()=>{u(),o.replaceChildren();let e=n.getAccounts();if(e.length===0)o.append(j(`wcset__empty`,`No accounts configured.`));else for(let t of e)o.append(I(t,n.getProviderConfig(t.providerId),f));d.replaceChildren(L(f))}};f.renderList(),a.append(o,d,R(t,()=>{i.hide?.()}),s),i.append(a);let p=M(`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 te(e,t){return A(document),l(`__preview`),new Promise(n=>{let r=document.createElement(`slicc-dialog`);r.classList.add(`wcset-dialog`),r.setAttribute(`heading`,`Theme`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=G({ps:null,log:e,setStatus:o,renderList:()=>{}}),c=z(),d=B();i.append(s,c,d),t&&i.append(V(t,o,e)),i.append(a),r.append(i);let f=M(`wcset__btn wcset__btn--primary`,`Done`,()=>{r.hide?.()});f.setAttribute(`slot`,`footer`),r.append(f);let m=x().filter(e=>e!==`__preview`);r.addEventListener(`slicc-dialog-close`,()=>{u()===`__preview`&&(l(`__preview`),m.length>0?p(m):h(),w()),r.remove(),n()}),document.body.append(r),r.show?.()})}var $=`Done`,ne=`Reload now`,re=`Revert`,ie=`Experimental features take effect when SLICC boots. Nothing is saved until you reload — reload this tab to apply your changes, or revert.`;async function ae(e,n={}){if(!t(`experimental-settings`))return;A(document);let r=n.reload??(()=>location.reload());return new Promise(t=>{let n=document.createElement(`slicc-dialog`);n.classList.add(`wcset-dialog`),n.setAttribute(`heading`,`Experimental`);let i=j(`wcset`),a=j(`wcset__status`),o=(e,t=!1)=>{a.textContent=e,a.toggleAttribute(`data-error`,t)},s=j(`wcset__notice`,ie);s.hidden=!0;let c=()=>{n.hide?.()},l=M(`wcset__btn wcset__btn--primary`,$,()=>{d&&(f.commit(),r()),c()});l.setAttribute(`slot`,`footer`);let u=M(`wcset__btn`,re,()=>{f.revert(),o(`Reverted.`)});u.setAttribute(`slot`,`footer`),u.hidden=!0;let d=!1,f=H({log:e,setStatus:o,onPendingChange:e=>{d=e,s.hidden=!e,u.hidden=!e,l.textContent=e?ne:$}});i.append(f.element,s,a),n.append(i,u,l),n.addEventListener(`slicc-dialog-close`,()=>{n.remove(),t()}),document.body.append(n),n.show?.()})}export{ae as showExperimentalSettings,te as showThemeSettings,ee as showWcSettings};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-EaD2nXS1.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/dist-DMTrP4j6.js","assets/quick-llm-
|
|
2
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-dqckiMJt.js";import{t as n}from"./preload-helper-BLdHbfdN.js";import{a as r,o as i,s as a}from"./dictation-priming-BHJC0hch.js";import{i as o,n as s,r as c,t as l}from"./mime-types-D0xZwlMO.js";import{n as u,t as d}from"./base64-ELzoYfwP.js";import{a as f}from"./bridge-protocol-C52CnDIj.js";import{k as p,p as m}from"./account-store-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-EaD2nXS1.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-BLdHbfdN.js","assets/dist-DMTrP4j6.js","assets/quick-llm-DcceQmkj.js","assets/logger-dqckiMJt.js","assets/core-BXRpM6QF.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/feature-flags-DDJdMcuw.js","assets/proxied-fetch-2sdz8vNB.js","assets/base64-ELzoYfwP.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/account-store-CbKQrU_A.js","assets/stored-accounts-CdMZdZUa.js","assets/providers-s2pRjrQo.js","assets/renamed-providers-d0bAaa0l.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-Bn0sfTur.js","assets/isomorphic-git-j4Nlq2U8.js","assets/buffer-BeQa_9BU.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-dqckiMJt.js";import{t as n}from"./preload-helper-BLdHbfdN.js";import{a as r,o as i,s as a}from"./dictation-priming-BHJC0hch.js";import{i as o,n as s,r as c,t as l}from"./mime-types-D0xZwlMO.js";import{n as u,t as d}from"./base64-ELzoYfwP.js";import{a as f}from"./bridge-protocol-C52CnDIj.js";import{k as p,p as m}from"./account-store-CbKQrU_A.js";import{t as h}from"./sha256-DynDhwRL.js";import{p as g}from"./api-endpoint-CNqFa-M3.js";import{n as _}from"./image-markers-4eaAm9QS.js";import{d as v,f as y,i as b,m as x,u as S}from"./telemetry-kqkj0A7x.js";import{t as C}from"./GELATIERE-CLK_MA5a.js";import{t as ee}from"./types-D8gIX-W-.js";import{t as te}from"./same-file-identity-DuEcSmPX.js";import{a as w,n as T,r as ne,t as re}from"./icons-Bn0sfTur.js";import{a as ie,t as ae}from"./message-envelope-BPSSjJbW.js";import"./agent-message-to-chat-BiZHDYFR.js";function E(e,t){let n=e.replace(/^\uFEFF/,``).replace(/\r\n?/g,`
|
|
3
3
|
`).match(/^---\s*\n([\s\S]*?)\n---\s*\n([\s\S]*)$/);if(!n?.[2].trim())throw Error(`${t} requires frontmatter and a prompt`);return{frontmatter:n[1],body:n[2].trim()}}function oe(e,t){let n={},r=e.split(`
|
|
4
4
|
`);for(let e=0;e<r.length;e+=1){let i=r[e];if(!i.trim()||i.trimStart().startsWith(`#`))continue;let a=i.match(/^([A-Za-z][A-Za-z0-9]*):\s*(.*)$/);if(!a)throw Error(`Invalid frontmatter line: ${i}`);let[,o,s]=a;if(t.arrayKeys.has(o)){let t=se(r,e,s);n[o]=t.value,e=t.lastIndex}else if(t.scalarKeys.has(o)&&s.trim())n[o]=ue(s);else throw Error(`Unsupported or empty frontmatter field: ${o}`)}return n}function se(e,t,n){if(n.trim()){let e=n.trim();if(!e.startsWith(`[`)||!e.endsWith(`]`))throw Error(`Expected an array`);let r=e.slice(1,-1).trim();return{value:r?ce(r):[],lastIndex:t}}let r=[],i=t;for(let n=t+1;n<e.length;n+=1){let t=e[n].match(/^\s+-\s+(.+)$/);if(!t)break;r.push(ue(le(t[1]))),i=n}return{value:r,lastIndex:i}}function ce(e){let t=[],n=0,r;for(let i=0;i<e.length;i+=1){let a=e[i];a===`"`||a===`'`?r=r===a?void 0:r??a:a===`,`&&!r&&(t.push(ue(e.slice(n,i))),n=i+1)}if(r)throw Error(`Unclosed quoted value`);return t.push(ue(e.slice(n))),t}function le(e){let t;for(let n=0;n<e.length;n+=1){let r=e[n];if(r===`"`||r===`'`)t=t===r?void 0:t??r;else if(r===`#`&&!t&&(n===0||/\s/.test(e[n-1])))return e.slice(0,n).trimEnd()}return e}function ue(e){let t=e.trim();if(!t)throw Error(`Empty frontmatter value`);let n=t[0];if((n===`"`||n===`'`)&&t.at(-1)===n)return t.slice(1,-1);if(n===`"`||n===`'`)throw Error(`Unclosed quoted value`);return t}function de(e,t,n){let r=e[t];if(r===void 0)return[...n];if(!Array.isArray(r)||r.some(e=>!e))throw Error(`${t} is invalid`);return[...r]}function fe(e,t){if(e!==void 0){if(typeof e!=`string`||!e)throw Error(`${t} is invalid`);return e}}function pe(e,t,n,r=`timeoutSeconds`){if(e===void 0)return t;if(typeof e!=`string`)throw Error(`${r} is invalid`);let i=Number(e);if(!Number.isFinite(i)||i<=0)throw Error(`${r} must be positive`);return Math.min(i,n)}function me(e,t){if(e.some(e=>!e.startsWith(`/`)||e.includes(`\0`)||t===`writablePaths`&&e===`/`))throw Error(`${t} must contain absolute VFS paths`)}var D=`gelatiere`,he=`gelatiere`,ge=`gelatiere-nightly`,_e=`system:gelatiere`;function ve(e){return e.parentJid===`system:gelatiere`&&e.folder===`gelatiere`}var ye=e({DEFAULT_GELATIERE_INTERVAL_HOURS:()=>24,DEFAULT_GELATIERE_MD:()=>C,DEFAULT_GELATIERE_NIGHTLY_CRON:()=>Te,DEFAULT_MAX_SUGGESTIONS:()=>5,GELATIERE_BASE_ALLOWED_COMMANDS:()=>Oe,GELATIERE_DIR:()=>Se,GELATIERE_FOLDER:()=>D,GELATIERE_INSTRUCTIONS_PATH:()=>xe,GELATIERE_NIGHTLY_CRON_NAME:()=>ge,GELATIERE_OWNER_JID:()=>_e,GELATIERE_SKILL_PATH:()=>k,GELATIERE_SPRINKLE_NAME:()=>he,GELATIERE_STATE_PATH:()=>O,GELATIERE_SUGGESTIONS_ACTION:()=>we,GELATIERE_SUGGESTIONS_PATH:()=>Ce,LICK_SUGGESTION_LIMIT:()=>5,MAX_STORED_SUGGESTIONS:()=>40,MAX_SUGGESTIONS_PER_PASS:()=>10,buildGelatiereLickBody:()=>pt,coerceSuggestions:()=>ct,describeGelatiereLick:()=>M,dismissGelatiereSuggestion:()=>Ye,isGelatiereUnit:()=>ve,isNewSince:()=>qe,isPassDue:()=>He,loadGelatiereConfig:()=>Pe,mergeSuggestions:()=>lt,openSuggestions:()=>We,parseGelatiereDocument:()=>A,readGelatiereState:()=>Be,readGelatiereSuggestions:()=>Le,recordGelatiereTrigger:()=>Ue,recordPass:()=>ft,suggestionsForCone:()=>Je,suggestionsSince:()=>Ke,takeGelatiereSuggestion:()=>Xe,takenSuggestions:()=>Ge,writeGelatiereState:()=>Ve,writeGelatiereSuggestions:()=>ze}),be=t(`gelatiere-store`),xe=`/shared/GELATIERE.md`,Se=`/shared/.gelatiere`,Ce=`${Se}/suggestions.json`,O=`${Se}/state.json`,we=`gelatiere-suggestions`,k=`/workspace/skills/gelatiere/SKILL.md`,Te=`0 3 * * *`,Ee=8,De={arrayKeys:new Set([`allowedCommands`]),scalarKeys:new Set([`intervalHours`,`nightly`,`maxSuggestions`])},Oe=`awk.basename.cat.column.cut.date.dirname.echo.expr.false.file.find.fold.gelatiere.grep.head.jq.ls.man.memory.mkdir.nl.paste.printf.realpath.rg.sed.seq.sort.stat.tail.tee.test.touch.tr.true.uniq.upskill.wc`.split(`.`),ke=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,Ae=new Set([`skill`,`use-case`,`tip`,`skill-idea`,`issue`]),je=new Set([`use-case`,`skill-idea`,`issue`]);function A(e){let t=E(e,`GELATIERE.md`),n=oe(t.frontmatter,De),r=fe(n.nightly,`nightly`)??`0 3 * * *`;if(r.trim().split(/\s+/).length!==5)throw Error(`nightly must be a 5-field cron expression`);return{allowedCommands:Me(n),intervalHours:Ne(n.intervalHours,`intervalHours`,24),nightly:r.trim(),maxSuggestions:Math.min(10,Ne(n.maxSuggestions,`maxSuggestions`,5)),instructions:t.body}}function Me(e){let t=de(e,`allowedCommands`,[]),n=t.find(e=>!ke.test(e));if(n!==void 0)throw Error(`allowedCommands must contain bare command names, not "${n}"`);return[...new Set([...Oe,...t])]}function Ne(e,t,n){if(e===void 0)return n;if(typeof e!=`string`)throw Error(`${t} is invalid`);let r=Number(e);if(!Number.isFinite(r)||r<=0)throw Error(`${t} must be positive`);return r}async function Pe(e){try{return A(await Fe(e,xe))}catch(e){return be.warn(`Could not load valid GELATIERE.md; using built-in default`,{error:j(e)}),A(C)}}async function Fe(e,t){let n=await e.readFile(t,{encoding:`utf-8`});return typeof n==`string`?n:new TextDecoder().decode(n)}async function Ie(e,t){let n;try{n=await Fe(e,t)}catch(e){if(e instanceof ee&&e.code===`ENOENT`)return;throw e}try{return JSON.parse(n)}catch{return}}async function Le(e){let t=await Ie(e,Ce);if(!Array.isArray(t))return[];let n=[];for(let e of t){let t=st(e,null);if(!t)continue;let{dismissedAt:r,takenAt:i,retargets:a}=e;typeof r==`string`&&r&&(t.dismissedAt=r),typeof i==`string`&&i&&(t.takenAt=i);let o=Re(a);o.length>0&&(t.retargets=o),n.push(t)}return n}function Re(e){return Array.isArray(e)?e.filter(e=>!!e&&typeof e.cone==`string`&&typeof e.at==`string`):[]}async function ze(e,t){await e.mkdir(Se,{recursive:!0}),await e.writeFile(Ce,`${JSON.stringify(t,null,2)}\n`)}async function Be(e){let t=await Ie(e,O);if(!t||typeof t!=`object`)return{passes:0};let n=t;return{passes:typeof n.passes==`number`&&n.passes>=0?n.passes:0,...typeof n.lastPassAt==`string`?{lastPassAt:n.lastPassAt}:{},...typeof n.lastTriggeredAt==`string`?{lastTriggeredAt:n.lastTriggeredAt}:{},...typeof n.lastDeliveredAt==`string`?{lastDeliveredAt:n.lastDeliveredAt}:{}}}async function Ve(e,t){await e.mkdir(Se,{recursive:!0}),await e.writeFile(O,`${JSON.stringify(t,null,2)}\n`)}function He(e,t,n){let r=Math.max(...[e.lastPassAt,e.lastTriggeredAt].map(e=>e?Date.parse(e):NaN).filter(e=>!Number.isNaN(e)));return!Number.isFinite(r)||t.getTime()-r>=n*36e5}async function Ue(e,t=new Date){await Ve(e,{...await Be(e),lastTriggeredAt:t.toISOString()})}function We(e){return e.filter(e=>!e.dismissedAt&&!e.takenAt)}function Ge(e){return e.filter(e=>!!e.takenAt)}function Ke(e,t){return We(e).filter(e=>qe(e,t))}function qe(e,t,n){let r=t?Date.parse(t):NaN;if(Number.isNaN(r))return!0;let i=e=>{let t=Date.parse(e);return Number.isNaN(t)||t>r};return i(e.createdAt)?!0:(e.retargets??[]).some(e=>(n===void 0||e.cone===n)&&i(e.at))}function Je(e,t,n,r){return e.filter(e=>{let i=e.cones?.filter(e=>r.has(e))??[];return i.length>0?i.includes(t):t===n})}async function Ye(e,t,n=new Date){return Qe(e,t,`dismissedAt`,n)}async function Xe(e,t,n=new Date){return Qe(e,t,`takenAt`,n)}var Ze=Promise.resolve();function Qe(e,t,n,r){let i=async()=>{let i=await Le(e),a=i.find(e=>e.id===t&&!e.dismissedAt&&!e.takenAt);return a?(a[n]=r.toISOString(),await ze(e,i),!0):!1},a=Ze.then(i,i);return Ze=a.catch(()=>!1),a}var $e=/[^a-z0-9]+/g;function et(e){return e.toLowerCase().replace($e,`-`).replace(/^-+|-+$/g,``).slice(0,60)}function tt(e,t){if(typeof e!=`string`)return;let n=e.trim();return n?n.slice(0,t):void 0}function nt(e){if(e)try{let t=new URL(e).protocol;return t===`http:`||t===`https:`?e:void 0}catch{return}}var rt=/^[A-Za-z0-9@._/:=-]+$/;function it(e){if(!e)return;let t=e.split(/\s+/);if(!(t[0]!==`upskill`||t.length<2))return t.slice(1).every(e=>rt.test(e))?e:void 0}var at=/^[a-z0-9][a-z0-9_-]*$/i;function ot(e){let t=(typeof e==`string`?[e]:Array.isArray(e)?e:[]).map(e=>tt(e,80)).filter(e=>e!==void 0&&at.test(e)),n=[...new Set(t)].slice(0,Ee);return n.length>0?n:void 0}function st(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.kind==`string`?n.kind:``,i=tt(n.title,200),a=tt(n.body,1e3);if(!Ae.has(r)||!i||!a)return null;let o=et(tt(n.id,80)??`${r}-${i}`)||et(`${r}-${i}`);if(!o)return null;let s=t??tt(n.createdAt,40)??``,c=n.skill===void 0?void 0:tt(n.skill,120),l=n.install===void 0?void 0:it(tt(n.install,300)),u=n.prompt===void 0?void 0:tt(n.prompt,1e3);if(r===`skill`&&(!c||!l)||je.has(r)&&!u)return null;let d=ot(n.cones);return{id:o,kind:r,title:i,body:a,...n.skill===void 0?{}:{skill:c},...n.install===void 0?{}:{install:l},...n.prompt===void 0?{}:{prompt:u},...n.url===void 0?{}:{url:nt(tt(n.url,500))},...n.evidence===void 0?{}:{evidence:tt(n.evidence,500)},...d?{cones:d}:{},createdAt:s}}function ct(e,t,n=10){let r=Array.isArray(e)?e:e&&typeof e==`object`&&Array.isArray(e.suggestions)?e.suggestions??[]:[],i=new Set,a=[];for(let e of r){let r=st(e,t);if(r&&!i.has(r.id)&&(i.add(r.id),a.push(r),a.length>=n))break}return a}function lt(e,t,n=40){let r=new Map(t.map(e=>[e.id,e])),i=new Set(e.map(e=>e.id)),a=t.filter(e=>!i.has(e.id)),o=[...a,...e.map(e=>ut(e,r.get(e.id)))];for(;o.length>n;){let e=dt(o,e=>!!e.dismissedAt),t=e>=0?e:dt(o,e=>!!e.takenAt);o.splice(t>=0?t:o.length-1,1)}return{merged:o,added:a}}function ut(e,t){if(!t?.cones||e.dismissedAt||e.takenAt)return e;let n=e.cones??[],r=t.cones.filter(e=>!n.includes(e)),i=[...n,...r].slice(0,Ee),a=r.filter(e=>i.includes(e));if(a.length===0)return e;let o=[...e.retargets??[],...a.map(e=>({cone:e,at:t.createdAt}))];return{...e,cones:i,retargets:o}}function dt(e,t){for(let n=e.length-1;n>=0;--n)if(t(e[n]))return n;return-1}async function ft(e,t,n=new Date){let r=await Pe(e),i=ct(t,n.toISOString(),r.maxSuggestions),{merged:a,added:o}=lt(await Le(e),i);await ze(e,a);let s=await Be(e);return await Ve(e,{...s,passes:s.passes+1,lastPassAt:n.toISOString()}),{added:o,open:We(a)}}function pt(e,t){return{action:we,data:{added:e.length,open:t.length,suggestions:t.slice(0,5),path:Ce,skill:k}}}function j(e){return e instanceof Error?e.message:String(e)}function M(e){let t=N(e);if(!t)return null;let{action:n,bag:r}=t;return n===`gelatiere-suggestions`?mt(n,r):n===`session-settled`?gt(n,r):n===`run`?_t(n,r):{action:n,headline:`gelatiere: ${n}`,titles:[]}}function N(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);if(t<0||n<=t)return null;let r;try{r=JSON.parse(e.slice(t,n+1))}catch{return null}if(!r||typeof r!=`object`)return null;let{action:i,data:a}=r;return typeof i==`string`?{action:i,bag:a&&typeof a==`object`?a:{}}:null}function mt(e,t){let n=ht(t.suggestions),r=typeof t.added==`number`?t.added:n.length,i=typeof t.open==`number`?t.open:n.length;return{action:e,headline:r===0?`Nothing new — ${i} open ${i===1?`suggestion`:`suggestions`} in the suggestions card.`:`${r} new ${r===1?`suggestion`:`suggestions`} (${i} open) — the cards are in the suggestions sprinkle.`,titles:n}}function ht(e){return Array.isArray(e)?e.map(e=>e&&typeof e==`object`?e.title:void 0).filter(e=>typeof e==`string`&&e.length>0):[]}function gt(e,t){let n=typeof t.cone==`string`?t.cone:void 0;return{action:e,headline:n?`A session ended in ${n} — time for a pass.`:`A session ended — time for a pass.`,titles:[]}}function _t(e,t){let n=typeof t.requestedBy==`string`?t.requestedBy:void 0;return{action:e,headline:n?`${n} asked for a pass now.`:`Someone asked for a pass now.`,titles:[]}}function vt(e,t){let n=g(),r=`/preview${e}${t?`?projectRoot=${encodeURIComponent(t)}`:``}`;if(n){let e=globalThis.chrome?.runtime?.getURL;if(e)return e(r)}let i=`http://localhost:5710`;return typeof window<`u`&&window.location?.origin?i=window.location.origin:typeof self<`u`&&self.location?.origin&&(i=self.location.origin),`${i}${r}`}var yt={camera:`Camera`,microphone:`Microphone`};function bt(e,t,n){return(e??``).trim()||`${yt[n]} ${t+1}`}function xt(e,t){return e.map((e,n)=>({deviceId:e.deviceId,label:bt(e.label,n,t)}))}function St(e){return e.length>=2}function Ct(e){if(e.length===0)return null;let t=e.find(e=>e.deviceId==="default");if(t)return t.deviceId;let n=e.find(e=>(e.label??``).trim().toLowerCase().startsWith(`default`));return n?n.deviceId:e[0].deviceId}function P(){if(typeof window>`u`)return null;let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition??null}var wt=3e3,Tt={engine:`builtin`,state:`idle`};function Et(){return{async permission(){try{return(await navigator.permissions.query({name:`microphone`})).state}catch{return`prompt`}},async requestPermission(){if(!navigator.mediaDevices?.getUserMedia)return!1;try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});for(let t of e.getTracks())t.stop();return!0}catch{return!1}},async microphones(){if(!navigator.mediaDevices?.enumerateDevices)return[];try{return xt((await navigator.mediaDevices.enumerateDevices()).filter(e=>e.kind===`audioinput`),`microphone`)}catch{return[]}},async start(e){let t=P();if(!t)throw Error(`Speech recognition is not supported in this browser.`);let n=new t;n.continuous=!0,n.interimResults=!0,e.lang&&(n.lang=e.lang);let r=``,i=``,a=!1,o=[],s=()=>{a=!0;let e=o;o=[];for(let t of e)t()};n.onresult=t=>{i=``;for(let e=t.resultIndex;e<t.results.length;e++){let n=t.results[e];n.isFinal?r+=n[0].transcript:i+=n[0].transcript}let n=`${r}${i}`.trim();n&&e.onPartial?.(n)},n.onerror=t=>{t.error!==`no-speech`&&t.error!==`aborted`&&e.onError?.(`Speech recognition error: ${t.error}`)},n.onend=s,n.start();let c=()=>`${r}${i}`.trim();return{stop(){return a?Promise.resolve(c()):new Promise(e=>{let t=setTimeout(()=>e(c()),wt);o.push(()=>{clearTimeout(t),e(c())});try{n.stop()}catch{clearTimeout(t),e(c())}})},cancel(){n.onresult=null,n.onerror=null,n.onend=null;try{(n.abort??n.stop).call(n)}catch{}s()}}},status(){return Tt},onStatus(e){return e(Tt),()=>{}},warmup(){}}}var Dt={sent:{freq:660,freqSlideTo:990,duration:.12,peakGain:.06,type:`sine`},"tool-start":{freq:520,freq2:780,duration:.07,peakGain:.04,type:`triangle`},"tool-finish":{freq:880,freq2:1320,duration:.07,peakGain:.04,type:`sine`}};function Ot(e,t){let n=Dt[t],r=e.currentTime,i=r+n.duration,a=e.createGain();a.gain.setValueAtTime(1e-4,r),a.gain.exponentialRampToValueAtTime(n.peakGain,r+n.duration*.2),a.gain.exponentialRampToValueAtTime(1e-4,i),a.connect(e.destination);let o=e.createOscillator();if(o.type=n.type,o.frequency.setValueAtTime(n.freq,r),n.freqSlideTo!==void 0&&o.frequency.linearRampToValueAtTime(n.freqSlideTo,i),o.connect(a),o.start(r),o.stop(i),n.freq2!==void 0){let t=e.createOscillator();t.type=n.type,t.frequency.setValueAtTime(n.freq2,r),t.connect(a),t.start(r),t.stop(i)}}var kt=`<div class="msg__dip-pending" role="status" aria-live="polite" aria-label="Pouring a dip"><span class="msg__dip-pending-label">Pouring a dip…</span><span class="msg__dip-pending-status" aria-hidden="true"></span></div>`,At=e({applyTimestampVisibility:()=>Rt,formatMessageTimestamp:()=>Bt,getShowTimestamps:()=>It,initTimestampPreference:()=>zt,setShowTimestamps:()=>Lt}),jt=`slicc_show_timestamps`,Mt=`slicc-show-timestamps`,Nt=`slicc-timestamp-visibility`,Pt=!1;function Ft(e){if(e.getElementById(Nt))return;let t=e.createElement(`style`);t.id=Nt,t.textContent=[`slicc-user-message::part(timestamp),`,`slicc-agent-message .msg-ts {`,` display: none;`,`}`,`.${Mt} slicc-user-message::part(timestamp),`,`.${Mt} slicc-agent-message .msg-ts {`,` display: block;`,`}`].join(`
|
|
5
5
|
`),e.head.appendChild(t)}function It(){if(typeof localStorage>`u`||typeof localStorage?.getItem!=`function`)return!0;let e=localStorage.getItem(jt);return e===null||e===`true`}function Lt(e){typeof localStorage<`u`&&typeof localStorage?.setItem==`function`&&localStorage.setItem(jt,String(e)),Rt()}function Rt(e){if(typeof document>`u`)return;Ft(document);let t=e===void 0?It():e;document.documentElement.classList.toggle(Mt,t),Pt=!0}function zt(){Pt||Rt()}function Bt(e){return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}):null}var Vt=[`top`,`right`,`bottom`,`left`,`center`];function Ht(e){return e!=null&&Vt.includes(e)}function Ut(e){let t=e?.panelMeta;return t&&typeof t.id==`string`?t:void 0}var Wt=new Map,Gt=new EventTarget;function Kt(e,t){Gt.dispatchEvent(new CustomEvent(`panel-registry-change`,{detail:{id:e,change:t}}))}function qt(e){let{id:t}=e.meta,n=Wt.has(t);return Wt.set(t,e),Kt(t,`registered`),!n}function Jt(e,t,n=`builtin`){let r=Ut(t);return r?qt({meta:r,source:{kind:`element`,tag:e},origin:n}):!1}function Yt(e){return Wt.delete(e)?(Kt(e,`unregistered`),!0):!1}function Xt(e){return Wt.get(e)}function Zt(e){return Wt.has(e)}function Qt(){return[...Wt.values()]}function $t(e){return Qt().filter(t=>t.origin===e)}function en(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}var tn=`.dock-tree__parking, .slicc-layout__parking`;function nn(e,t){let n=e.querySelector(`[surface-id="${en(t)}"]`);return!n||n.closest(tn)?!1:(n.requestFullscreen?.()?.catch(()=>{}),!0)}var rn=e({DEFAULT_ZONE_AXIS:()=>sn,LAYOUT_SCHEMA_VERSION:()=>1,ZONE_NAMES:()=>on,cloneLayout:()=>un,emptyLayout:()=>ln,isPanelLocked:()=>bn,isSplitNode:()=>dn,layoutPanelIds:()=>pn,moveToZone:()=>hn,parseLayoutDocument:()=>Cn,removeFromZones:()=>gn,resolveLayout:()=>yn,sizeToFlex:()=>Sn,variantMatches:()=>fn,walkCenter:()=>vn,zoneAxis:()=>cn,zoneOfPanel:()=>mn,zonesFromCenter:()=>_n}),an=1,on=[`top`,`left`,`center`,`right`,`bottom`],sn={top:`row`,bottom:`row`,left:`col`,right:`col`,center:`col`};function cn(e,t){return e.axes?.[t]??sn[t]}function ln(e=`empty`){return{version:1,id:e,base:{}}}function un(e){return JSON.parse(JSON.stringify(e))}function dn(e){return`split`in e}function fn(e,t){return!(e.minWidth!=null&&t.width<e.minWidth||e.maxWidth!=null&&t.width>e.maxWidth||e.minHeight!=null&&t.height<e.minHeight||e.maxHeight!=null&&t.height>e.maxHeight||e.orientation!=null&&(t.width>=t.height?`landscape`:`portrait`)!==e.orientation||e.platform!=null&&t.platform!=null&&e.platform!==t.platform)}function pn(e){let t=[],n=new Set,r=e=>{n.has(e)||(n.add(e),t.push(e))};for(let t of e.docks)for(let e of t.panels)r(e);if(e.zones)for(let t of on)for(let n of e.zones[t]??[])r(n);else e.center&&vn(e.center,e=>r(e.panel));for(let t of e.floating)r(t.panel);return t}function mn(e,t){for(let n of on)if((e[n]??[]).includes(t))return n;return null}function hn(e,t,n){if(mn(e,t)===n)return e;let r=un(e);for(let e of on){let n=r[e];n&&(r[e]=n.filter(e=>e!==t))}return r[n]=[...r[n]??[],t],r}function gn(e,t){let n=un(e);for(let e of on){let r=n[e];r&&(n[e]=r.filter(e=>e!==t))}return n}function _n(e){let t=[];return e&&vn(e,e=>t.push(e.panel)),{center:t}}function vn(e,t){if(!dn(e)){t(e);return}for(let n of e.children)vn(n,t)}function yn(e,t){let n={id:e.id,locked:e.locked===!0,docks:un(e.base.docks??[]),zones:un(e.base.zones??null),center:un(e.base.center??null),floating:un(e.base.floating??[]),panels:un(e.panels??{}),appliedVariants:[]};return(e.variants??[]).forEach((e,r)=>{if(fn(e.when,t)){n.appliedVariants.push(r),e.docks!==void 0&&(n.docks=un(e.docks)),e.zones!==void 0&&(n.zones=un(e.zones)),e.center!==void 0&&(n.center=un(e.center)),e.floating!==void 0&&(n.floating=un(e.floating));for(let[t,r]of Object.entries(e.panels??{}))n.panels[t]={...n.panels[t],...r}}}),n}function bn(e,t){if(e.locked||e.panels[t]?.locked===!0)return!0;for(let n of e.docks)if(n.panels.includes(t))return n.locked===!0;for(let n of e.floating)if(n.panel===t)return n.locked===!0;if(e.zones){let n=mn(e.zones,t);return n?(e.zones.locked??[]).includes(n):!1}return e.center?xn(e.center,t,!1):!1}function xn(e,t,n){let r=n||e.locked===!0;return dn(e)?e.children.some(e=>xn(e,t,r)):e.panel===t&&r}function Sn(e){if(e==null)return`1 1 auto`;if(typeof e==`number`)return`${e} 1 0`;let t=e.trim(),n=/^([\d.]+)fr$/.exec(t);return n?`${n[1]} 1 0`:/^[\d.]+$/.test(t)?`${t} 1 0`:`0 0 ${t}`}function Cn(e){if(!e||typeof e!=`object`)return{error:`layout must be an object`};let t=e;if(typeof t.id!=`string`||t.id.trim()===``)return{error:`layout.id must be a non-empty string`};if(typeof t.version!=`number`)return{error:`layout.version must be a number`};if(t.version>1)return{error:`layout.version ${t.version} is newer than supported (1)`};if(!t.base||typeof t.base!=`object`)return{error:`layout.base must be an object`};for(let e of t.base.docks??[]){if(!wn(e?.edge))return{error:`invalid dock edge: ${String(e?.edge)}`};if(!Array.isArray(e.panels))return{error:`dock.${e.edge}.panels must be an array`}}if(t.base.center!=null){let e=Tn(t.base.center);if(e)return{error:e}}return t}function wn(e){return e===`top`||e===`right`||e===`bottom`||e===`left`}function Tn(e){if(!e||typeof e!=`object`)return`center node must be an object`;let t=e;if(typeof t.panel==`string`)return null;if(t.split!==`row`&&t.split!==`col`)return'center node needs a `panel` string or a `split` of "row"/"col"';if(!Array.isArray(t.children)||t.children.length===0)return"a split node needs a non-empty `children` array";for(let e of t.children){let t=Tn(e);if(t)return t}return null}var En=[`top-left`,`top-right`,`bottom-left`,`bottom-right`,`top`,`right`,`bottom`,`left`],Dn=`top-right`,On=`slicc-launcher-corner`,kn=[`disconnected`,`connected`,`error`],An=`disconnected`,jn=`follower-status`,Mn=new Set(En),Nn=new Set(kn);function Pn(e,t=Dn){return e&&Mn.has(e)?e:t}function Fn(e,t=An){return e&&Nn.has(e)?e:t}function In(e){return e>=6}function Ln({clientX:e,clientY:t,viewportWidth:n,viewportHeight:r,velocityXPxPerMs:i=0,velocityYPxPerMs:a=0,flickProjectionMs:o=180}){let s=Rn(e+i*o,0,n),c=Rn(t+a*o,0,r),l=s/n,u=c/r,d=l>1/3&&l<2/3,f=u>1/3&&u<2/3;if(d&&f){let e=u,t=1-u,n=l,r=1-l,i=Math.min(e,t,n,r);return i===e?`top`:i===t?`bottom`:i===n?`left`:`right`}return d?u<.5?`top`:`bottom`:f?l<.5?`left`:`right`:`${u<.5?`top`:`bottom`}-${l<.5?`left`:`right`}`}function Rn(e,t,n){return Math.min(Math.max(e,t),n)}var zn=`<?xml version="1.0" encoding="UTF-8"?>
|
|
@@ -9117,7 +9117,7 @@ Example input:
|
|
|
9117
9117
|
2. bash: {"command":"ls /published"}
|
|
9118
9118
|
3. bash: {"command":"diff /drafts /published"}
|
|
9119
9119
|
Example output: Compare drafts against published files`;function SN(e){return e.length>=6&&/[a-zA-Z]/.test(e)&&/\s/.test(e.trim())}function CN(e,t){if(e.length===0)return;let r=bN(e);if(!r)return;let i=_N.get(r);if(i){t.setAttribute(`label`,i);return}let a=e[0]?.id;if(a){let e=yN.get(a);e&&t.setAttribute(`label`,e)}if(vN.has(r))return;vN.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(`
|
|
9120
|
-
`);n(async()=>{let{quickLabel:e}=await import(`./quick-llm-
|
|
9120
|
+
`);n(async()=>{let{quickLabel:e}=await import(`./quick-llm-DcceQmkj.js`).then(e=>e.n);return{quickLabel:e}},__vite__mapDeps([4,1,5,6,2,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])).then(({quickLabel:e})=>e({system:xN,prompt:`Label these tool calls (inputs only):\n${o}`,maxTokens:40})).then(e=>{let n=e?.replace(/^["']|["']$|\.$/g,``).trim()??``;SN(n)&&(_N.set(r,n),a&&yN.set(a,n),t.isConnected&&t.setAttribute(`label`,n))}).catch(()=>void 0).finally(()=>vN.delete(r))}function wN(e,t={}){let n=kM(`slicc-tool-cluster`,{count:String(e.length)});return t.open&&n.setAttribute(`open`,``),n.append(...e),t.toolCalls&&t.toolCalls.length>0&&CN(t.toolCalls,n),n}function TN(e){let t=document.createElement(`slicc-agent-message`);t.setAttribute(`data-msg-id`,e.id),Number.isFinite(e.timestamp)&&e.timestamp>0&&t.setAttribute(`data-msg-time`,String(e.timestamp));let n=(e.content??``).trim().length>0,r=Bt(e.timestamp);return r&&n&&t.setAttribute(`timestamp`,r),e.isStreaming&&t.setAttribute(`streaming`,``),t.setBodyHtml(xM(e.content,e.isStreaming===!0)),n||t.setAttribute(`data-empty`,``),[t,...(e.toolCalls??[]).map(t=>mN(t,e.id))]}function EN(e,t){let n=e.querySelectorAll(`:scope > slicc-tool-cluster`);for(let e of n){let n=Array.from(e.querySelectorAll(`slicc-action-row`));DN(e,n,t);let r=e.parentNode;if(!r){e.remove();continue}for(let t of n)ON(t,r,e);e.remove()}}function DN(e,t,n){if(!e.hasAttribute(`open`))return;let r=t[0]?.dataset.msgId;r&&n.add(r)}function ON(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 kN=new Set([`slicc-user-message`,`slicc-lick-card`,`slicc-error-card`,`slicc-delegation-line`,`slicc-day-separator`,`slicc-compaction-marker`]);function AN(e){return e instanceof HTMLElement?kN.has(e.tagName.toLowerCase()):!0}function jN(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-action-row`}function MN(e){return e instanceof HTMLElement&&e.tagName.toLowerCase()===`slicc-agent-message`}function NN(e){let t=[],n=[];for(let r of e)MN(r)?!r.hasAttribute(`data-empty`)&&n.length>0&&(t.push(n),n=[]):jN(r)&&n.push(r);return n.length>0&&t.push(n),t}function PN(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 FN(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=wN(e,{open:!!(o&&t.openClusterAnchors.has(o)),toolCalls:t.toolCallLookup?PN(e,t.toolCallLookup):void 0});r.insertBefore(s,a)}function IN(e,t){EN(e,t.openClusterAnchors);let n=Array.from(e.children),r=0;for(;r<n.length;){if(AN(n[r])){r++;continue}let e=r;for(;e<n.length&&!AN(n[e]);)e++;let i=NN(n.slice(r,e));for(let e of i)e.length>=3&&FN(e,t);r=e}t.openClusterAnchors.clear()}function LN(e,t){return e.channel===`sprinkle`&&t?.[2]?.trim()===`gelatiere`}function RN(e){let t=M(e);if(!t)return null;let n=document.createElement(`div`),r=document.createElement(`p`);if(r.textContent=t.headline,n.append(r),t.titles.length>0){let e=document.createElement(`ul`);for(let n of t.titles){let t=document.createElement(`li`);t.textContent=n,e.append(t)}n.append(e)}return n}function zN(e){let t=CM.exec(e.content),n=e.lickCount??1,r=DM.exec(e.content),i=r?OM(r[1]):null,a=LN(e,t),o=a?M(e.content)?.action:void 0,s=kM(`slicc-lick-card`,{kind:a?he:e.channel??`webhook`,"event-label":a?(o??`suggestions`).replace(/^gelatiere-/,``):NM(e.content,e.channel,t,i),collapsible:``,collapsed:``});i&&s.setAttribute(`hue`,RD({isRoot:!1,name:i})),n>1&&s.setAttribute(`count`,String(n)),e.lickState&&e.lickState!==`pending`&&s.setAttribute(`state`,e.lickState);let c=e.lickParts??[e.content];for(let e of c){let t=a?RN(e):null;if(t){s.append(t);continue}let n=document.createElement(`div`);n.innerHTML=bM(TM(e)),s.append(n)}return s}function BN(e){let t=kM(`slicc-delegation-line`,{kind:`feed`,verb:`feed_scoop`,label:AM(e.content.replace(/\*\*\[[^\]]*\]\*\*\s*/,``))}),n=document.createElement(`slicc-user-message`);return n.setBodyHtml(bM(e.content)),[t,n]}var VN=`Out of AI budget`;function HN(){try{return m(p())}catch{return[]}}function UN(e){if(e.resetsAt===null||/reset/i.test(e.message))return e.message;let t=new Date(e.resetsAt);return Number.isNaN(t.getTime())?e.message:`${e.message} Resets on ${t.toLocaleDateString(void 0,{dateStyle:`long`})}.`}function WN(){return HN().length===0?{action:`settings`,"button-label":`Add a provider`}:{action:`change-model`,"button-label":`Switch provider and try again`,"secondary-action":`settings`,"secondary-button-label":`Add a provider`}}function GN(e,t){let n={message:e.content,"message-id":e.id},r=x(e.content);return r&&(n.label=VN,n.message=UN(r)),t?(n[`no-action`]=``,kM(`slicc-error-card`,n)):r?kM(`slicc-error-card`,{...n,...WN()}):(y(e.content)?n.action=`settings`:v(e.content)?n.action=`change-model`:S(e.content)&&(n.action=`login`),kM(`slicc-error-card`,n))}function KN(e){return kM(`slicc-compaction-marker`,{trigger:e.trigger,state:e.state,...e.transcriptPath?{transcript:e.transcriptPath}:{}})}function qN(e,t={}){if(e.compaction)return e.compaction.state===`discarded`?[]:[KN(e.compaction)];if(e.source===`lick`)return[zN(e)];if(e.source===`delegation`||e.channel===`delegation`)return BN(e);if(e.error)return[GN(e,t.readOnly===!0)];if(e.role===`assistant`)return TN(e);let n=EM(e.content);return n?[zN({...e,source:`lick`,channel:n})]:[hN(e)]}function JN(e){let t=[];for(let n of e){let e=n;if(!n.source&&n.role===`user`){let t=EM(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 YN(e){return new Date(e).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`})}function XN(e){return kM(`slicc-day-separator`,{label:YN(e)})}function ZN(e,t={}){let n=[],r=``;for(let i of e){let e=new Date(i.timestamp).toDateString();e!==r&&(n.push(XN(i.timestamp)),r=e),n.push(...qN(i,t))}let i=document.createElement(`div`);return i.append(...n),IN(i,{openClusterAnchors:new Set,toolCallLookup:(t,n)=>e.find(e=>e.id===t)?.toolCalls?.find(e=>e.id===n)}),Array.from(i.children)}var QN=`auto`;function $N(e){if(e===null)return null;if(e===`auto`||e===`esc`)return e}var eP=`slicc-shortcuts-style`,tP=`
|
|
9121
9121
|
/* The sheet grows a column at a time as the viewport allows, and the dialog
|
|
9122
9122
|
grows with it — one alphabetical column of thirty-odd rows is a reference
|
|
9123
9123
|
you read; three short labelled ones are a cheat sheet you scan. Capped at
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-dqckiMJt.js";import t from"./keys-BMebW-sj.js";import{_ as n,f as r,g as i,h as a,m as o,p as s}from"./wc-shell-
|
|
1
|
+
import{t as e}from"./logger-dqckiMJt.js";import t from"./keys-BMebW-sj.js";import{_ as n,f as r,g as i,h as a,m as o,p as s}from"./wc-shell-Dviry0M3.js";var c=e(`wc-shortcut-config`),l=`/etc/slicc/keys.json`,u=new Set([`Enter`,`Tab`,`Backspace`,`Delete`,`Home`,`End`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`]);function d(e){return o.includes(e)?`"${e}" is reserved (Esc toggles the mode; 1-9 address the tab strip)`:[...e].length!==1&&!u.has(e)?`"${e}" is not a key SLICC can bind (use one character, or ${[...u].join(`, `)})`:null}function f(e,t=r){let a={...t},o=[],c=s,l;try{l=JSON.parse(e)}catch(e){return o.push(`not valid JSON, keeping the defaults (${e.message})`),{keymap:a,trigger:c,warnings:o}}let u=l;if(u&&Object.hasOwn(u,`trigger`)){let e=n(u.trigger);e===void 0?o.push(`"trigger": ${JSON.stringify(u.trigger)} is not null, "esc", or "auto"; keeping ${JSON.stringify(s)}`):c=e}let f=u?.bindings;if(f===void 0)return o.push(`no "bindings" object, keeping the defaults`),{keymap:a,trigger:c,warnings:o};if(typeof f!=`object`||!f||Array.isArray(f))return o.push(`"bindings" is not an object, keeping the defaults`),{keymap:a,trigger:c,warnings:o};for(let[e,t]of Object.entries(f)){let n=d(e);if(n){o.push(n);continue}if(t===null||t===!1||t===``){delete a[e];continue}if(!i(t)){o.push(`"${e}": ${JSON.stringify(t)} is not a known command`);continue}a[e]=t}return{keymap:a,trigger:c,warnings:o}}function p(e){let t;try{t=JSON.parse(e)?.bindings}catch{return!1}if(typeof t!=`object`||!t||Array.isArray(t))return!1;let n=Object.entries(t);return n.length===Object.keys(a).length&&n.every(([e,t])=>a[e]===t)}function m(e){return e?.code===`ENOENT`}async function h(e){let n=e.logger??c,r;try{let t=await e.reader.readFile(l,{encoding:`utf-8`});r=typeof t==`string`?t:new TextDecoder().decode(t)}catch(r){if(!m(r)){n.warn(`Could not read the shortcut config; keeping the defaults`,{error:r instanceof Error?r.message:String(r)});return}try{await e.writer.mkdir(`/etc/slicc`,{recursive:!0}),await e.writer.writeFile(l,t),n.info(`Seeded ${l}`)}catch(e){n.warn(`Could not seed the shortcut config`,{error:e instanceof Error?e.message:String(e)})}return}if(p(r))try{await e.writer.writeFile(l,t),n.info(`Replaced the untouched v1 keymap at ${l}`);return}catch(e){n.warn(`Could not replace the v1 shortcut config; keeping it`,{error:e instanceof Error?e.message:String(e)})}let{keymap:i,trigger:a,warnings:o}=f(r);for(let e of o)n.warn(`${l}: ${e}`);e.apply({keymap:i,trigger:a})}async function g(e,n){let r=null;try{let t=await e.reader.readFile(l,{encoding:`utf-8`});r=typeof t==`string`?t:new TextDecoder().decode(t)}catch(e){if(!m(e))throw e}let i;if(r===null)await e.writer.mkdir(`/etc/slicc`,{recursive:!0}),i=JSON.parse(t);else{let e;try{e=JSON.parse(r)}catch(e){throw Error(`${l} is not valid JSON; fix or remove it before changing trigger`,{cause:e})}if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${l} must be a JSON object`);i=e}i.trigger=n,(typeof i.bindings!=`object`||i.bindings===null||Array.isArray(i.bindings))&&(i.bindings={}),await e.writer.writeFile(l,`${JSON.stringify(i,null,2)}\n`)}export{h as loadShortcutConfig,g as writeShortcutTrigger};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-CGcVbQni.js","assets/preload-helper-BLdHbfdN.js","assets/sprinkle-manager-
|
|
2
|
-
import{t as e}from"./preload-helper-BLdHbfdN.js";import{p as t}from"./api-endpoint-CNqFa-M3.js";import{t as n}from"./lick-target-match-mT46VVD2.js";import{G as r}from"./wc-shell-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/legacy-styles-CGcVbQni.js","assets/preload-helper-BLdHbfdN.js","assets/sprinkle-manager-CMAEGvh9.js","assets/logger-dqckiMJt.js","assets/feature-flags-DDJdMcuw.js","assets/sprinkle-renderer-DcsYmznT.js","assets/permissions-surface-registry-CilCRwhh.js","assets/wc-shell-Dviry0M3.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/dictation-priming-BHJC0hch.js","assets/mime-types-D0xZwlMO.js","assets/base64-ELzoYfwP.js","assets/bridge-protocol-C52CnDIj.js","assets/account-store-CbKQrU_A.js","assets/core-BXRpM6QF.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/proxied-fetch-2sdz8vNB.js","assets/api-endpoint-CNqFa-M3.js","assets/secret-topology-BuXN_6_0.js","assets/secrets-bridge-client-BD4AHTxg.js","assets/panel-rpc-accessor-B4BfPLSo.js","assets/image-markers-4eaAm9QS.js","assets/stored-accounts-CdMZdZUa.js","assets/providers-s2pRjrQo.js","assets/renamed-providers-d0bAaa0l.js","assets/bedrock-camp-compat-D6dUCn_T.js","assets/bedrock-camp-extra-models-COVvjLB5.js","assets/claude-model-version-3MWQoaco.js","assets/sha256-DynDhwRL.js","assets/telemetry-kqkj0A7x.js","assets/GELATIERE-CLK_MA5a.js","assets/types-D8gIX-W-.js","assets/same-file-identity-DuEcSmPX.js","assets/icons-Bn0sfTur.js","assets/message-envelope-BPSSjJbW.js","assets/agent-message-to-chat-BiZHDYFR.js","assets/wc-shell-WkeczD9x.css","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-CCqklAEr.js","assets/hid-operations-C97SZtrY.js","assets/usb-device-registry--JwKRTYp.js","assets/usb-operations-Dx9QXlZ0.js","assets/shared-DSEuryGJ.js","assets/theme-CmogKzdP.js","assets/theme-engine-CwaY1aIr.js","assets/bounded-walk-BjxKWNqp.js","assets/path-utils-DNJG-zQf.js","assets/sprinkle-instances-B8n7h-oP.js","assets/setup-sprinkle-exec-CdgElwNt.js","assets/wc-live-jfkgv1D5.js","assets/zip-stream-DZF8sKOl.js","assets/transcript-export-DTRO8k03.js","assets/tray-follower-status-BAjnN7Ar.js","assets/main-C8hdX5_E.js","assets/clipboard-eqmn97SP.js","assets/provider-budget-LCzMPlKv.js","assets/browser-OXhgs9Cl.js","assets/tray-leader-x0HDgpHa.js","assets/db-CIXZItfi.js","assets/sessions-Bd6uu3F5.js","assets/types-CFfBWsH5.js","assets/store-DP4F8FwF.js","assets/entries-ChYQ3OMf.js","assets/frozen-archive-writer-d8c53vzV.js","assets/frozen-session-identity-D__hHRHh.js","assets/session-jsonl-CJO46TfW.js","assets/snapshot-store-DYh_oG7o.js","assets/live-session-curation-BB61f9E8.js","assets/MEMORY-B9cGngY_.js","assets/thinking-level-DCJktR5U.js","assets/profile-export-deps-BE2w_fD3.js","assets/global-db-CbuLl-zx.js","assets/wc-unit-context-DDyqslj4.js","assets/quick-llm-DcceQmkj.js","assets/llm-session-id-bZQs6gBN.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{t as e}from"./preload-helper-BLdHbfdN.js";import{p as t}from"./api-endpoint-CNqFa-M3.js";import{t as n}from"./lick-target-match-mT46VVD2.js";import{G as r}from"./wc-shell-Dviry0M3.js";import{c as i,n as a,o,s,t as c}from"./wc-unit-context-DDyqslj4.js";var l=`sprinkle:`,u=`slicc-sprinkle-icons`;function d(){try{let e=localStorage.getItem(u);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 f(e){try{let t=new Set(e),n=Object.fromEntries(Object.entries(d()).filter(([e])=>t.has(e)));localStorage.setItem(u,JSON.stringify(n))}catch{}}function p(e,t){try{localStorage.setItem(u,JSON.stringify({...d(),[e]:t}))}catch{}}function m(e){return typeof e==`string`&&/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)}function h(e){return`${l}${e}`}function g(e){return e?.startsWith(l)?e.slice(9):null}var _=`chat`,v=new Set([`files`,`term`,`memory`,`monitor`]),y=`right`,b=y;function x(e){return v.has(e)}var S=class{#e;#t=new Map;#n=new Map;#r=new Set;#i=[];#a;constructor(e,t={}){this.#e=e,this.#a=t}#o(){return this.#e.dockTree}applyLayout(e){let t=this.#o();t?.setTree(e);for(let e of this.#i)t?.placeSurface(h(e),b)}placeSurface(e,t){let n=this.#o();if(n&&!this.#a.hostSprinkleSurface)for(let e of n.getSurfaceIds())e!==t&&e!==`chat`&&this.removeSurface(e);if(n?.placeSurface(t,e),!this.#a.hostSprinkleSurface){let e=this.#e.dock;e&&(e.active=t)}x(t)&&this.#a.onToolPanelActivate?.(t)}moveSurfaceToZone(e,t){this.#o()?.moveSurfaceToZone(e,t)}removeSurface(e){this.#o()?.removeSurface(e),x(e)&&this.#a.onToolPanelDeactivate?.(e)}setSurfaceSize(e,t){return this.#o()?.setSurfaceSize(e,t)??!1}seedDockItems(e){let t=d(),n=!1;for(let r of e)this.#t.has(r)||(this.#r.add(r),this.#t.set(r,{id:h(r),icon:t[r]??`sparkles`,label:r,kind:`sprinkle`}),n=!0);n&&this.#p()}dropUnconfirmedSeeds(){let e=!1;for(let t of this.#r)this.#n.has(t)||(this.#t.delete(t),e=!0);this.#r.clear(),e&&this.#p()}callbacks(){return{addSprinkle:(e,t,n,r,i)=>this.#s(e,t,n,i),removeSprinkle:e=>this.#c(e,{keepDockItem:!1}),minimizeSprinkle:e=>this.#l(e),registerSprinkle:(e,t,n)=>this.#u(e,t,n?.icon),unregisterSprinkle:e=>this.#f(e),closeSprinkleContent:e=>this.#c(e,{keepDockItem:!0})}}updateDockIcon(e,t){let n=this.#t.get(e);n&&n.icon!==t&&(this.#t.set(e,{...n,icon:t}),this.#p())}defaultIconNames(){return[...this.#t.entries()].filter(([,e])=>e.icon===`sparkles`).map(([e])=>e)}isOpen(e){return this.#n.has(e)}#s(e,t,n,r){let i=h(e),a=this.#a.hostSprinkleSurface,o=this.#n.get(e),s=!o;if(o||(o=document.createElement(`slicc-surface`),o.setAttribute(`surface-id`,i),o.setAttribute(`layout`,`flex`),a||this.#e.dockTree?.append(o),this.#n.set(e,o)),o.replaceChildren(n),this.#u(e,t,r?.icon),this.#i.includes(e)||this.#i.push(e),a){s&&a(i,o);return}r?.attention||r?.background||this.placeSurface(b,i)}#c(e,t){let n=h(e);this.#n.get(e)?.remove(),this.#n.delete(e),t.keepDockItem||this.#t.delete(e);let r=this.#i.indexOf(e);if(r>=0&&this.#i.splice(r,1),this.#p(),this.#a.removeSprinkleSurface){this.#a.removeSprinkleSurface(n);return}this.#e.dockTree?.removeSurface(n)}#l(e){this.#e.dock.removeAttribute(`active`),!this.#a.hostSprinkleSurface&&this.removeSurface(h(e))}#u(e,t,n){this.#r.delete(e);let r=this.#d(e,n);this.#t.set(e,{id:h(e),icon:r,label:t,kind:`sprinkle`}),this.#p()}#d(e,t){return m(t)?t:d()[e]??`sparkles`}#f(e){this.#n.has(e)||(this.#t.delete(e),this.#p())}#p(){this.#e.dock.items=[...this.#t.values()]}};function C(e,t){return(n,r)=>{if(n.type===`sprinkle`&&n.sprinkleName&&!t?.(n)){if(r){e.sendSprinkleLick(n.sprinkleName,n.body,n.targetScoop,{unitJid:r});return}e.sendSprinkleLick(n.sprinkleName,n.body,n.targetScoop)}}}var w=180;function T(e){e.dock.addEventListener(`slicc-dock-longpress`,t=>{let n=t.detail?.id;if(!n||g(n)===null&&!x(n))return;let i=t=>{r(e.frame??e.dockTree,n)||t<=0||requestAnimationFrame(()=>i(t-1))};i(w)})}function E(e,t){return n=>s(e.getUnits(),n,e.getSelected()?.id,t,()=>c(e.refs.inputCard))}async function D(r){let{refs:s,client:c,fs:l,instanceId:u,onAttachImage:d,onToolPanelActivate:p,onToolPanelDeactivate:m,hostSprinkleSurface:h,removeSprinkleSurface:_,log:v}=r,b=new S(s,{onToolPanelActivate:p,onToolPanelDeactivate:m,hostSprinkleSurface:h,removeSprinkleSurface:_}),{loadSprinkleStyles:w}=await e(async()=>{let{loadSprinkleStyles:e}=await import(`./legacy-styles-CGcVbQni.js`);return{loadSprinkleStyles:e}},__vite__mapDeps([0,1]));await w();let{SprinkleManager:D,readKnownSprinkleNames:k}=await e(async()=>{let{SprinkleManager:e,readKnownSprinkleNames:t}=await import(`./sprinkle-manager-CMAEGvh9.js`);return{SprinkleManager:e,readKnownSprinkleNames:t}},__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]));b.seedDockItems(k());let{installSprinkleManagerHandlerOverChannel:A}=await e(async()=>{let{installSprinkleManagerHandlerOverChannel:e}=await import(`./sprinkle-bridge-channel-DTP5IbJB.js`);return{installSprinkleManagerHandlerOverChannel:e}},[]),{createSprinkleExecHandler:j}=await e(async()=>{let{createSprinkleExecHandler:e}=await import(`./setup-sprinkle-exec-CdgElwNt.js`);return{createSprinkleExecHandler:e}},__vite__mapDeps([49,1])),{setDipExecHandler:M}=await e(async()=>{let{setDipExecHandler:e}=await import(`./wc-live-jfkgv1D5.js`).then(e=>e.H);return{setDipExecHandler:e}},__vite__mapDeps([50,8,3,14,1,15,16,4,17,11,18,19,20,21,22,9,5,6,7,10,12,13,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73])),N=t(),P=j(c),F=r.selectScoop,I=new D(l,C(c,r.interceptWelcomeLick),b.callbacks(),()=>{let e=a(r.getUnits());e&&c.stopScoop(e.id)},{...N?{autoOpenBehavior:`attention`}:{},inlineSprinkles:new Set([`welcome`]),execHandler:P,onAttachImage:d??(()=>{}),resolveLickOriginUnitId:e=>n(r.getUnits(),e)?.id,selectedScoopHandler:()=>i(r.getUnits(),r.getSelected()?.id),...F?{selectScoopHandler:E(r,F)}:{}});if(window.__slicc_sprinkleManager=I,M(P),u!==void 0){let e=A(I,{instanceId:u});window.addEventListener(`beforeunload`,()=>e(),{once:!0})}else if(N){let{handleSprinkleOp:t}=await e(async()=>{let{handleSprinkleOp:e}=await import(`./sprinkle-op-handler-DyRlIvAg.js`);return{handleSprinkleOp:e}},[]);c.setSprinkleOpHandler(e=>{let{id:n,op:r,name:i,data:a,target:o,openOptions:s}=e;t(I,n,r,i,a,o,s)})}s.dock.addEventListener(`slicc-dock-select`,e=>{let t=e.detail?.id,n=g(t);if(n){let e=o(r.getUnits(),r.getSelected());(e?I.activate(n,void 0,{lickOriginTarget:e.folder}):I.activate(n)).catch(e=>v.error(`WC sprinkle activate failed`,e));return}t&&x(t)&&b.placeSurface(y,t)}),s.dock.addEventListener(`slicc-dock-collapse`,e=>{let t=e.detail?.id;if(!t)return;if(x(t)){b.removeSurface(t);return}let n=g(t);n&&I.minimize(n)}),T(s);let L=!1,R=async()=>{if(await I.refresh(),I.available().length>0){b.dropUnconfirmedSeeds();let t=I.available().map(e=>e.name),{pruneKnownSprinkleNames:n}=await e(async()=>{let{pruneKnownSprinkleNames:e}=await import(`./sprinkle-manager-CMAEGvh9.js`);return{pruneKnownSprinkleNames:e}},__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48]));n(t),f(t)}await I.restoreOpenSprinkles().catch(e=>{v.warn(`WC shell: failed to restore open sprinkles`,e)}),L||(L=!0,e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DcceQmkj.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([74,8,3,14,1,15,16,4,17,11,18,19,20,21,22,13,23,24,25,26,27,28,75,34])).then(({pickLucideIcon:e})=>O(b,I.available(),t=>e({subject:t}))).catch(()=>void 0).finally(()=>{L=!1}))};return R().catch(e=>v.warn(`WC shell: initial sprinkle resync failed`,e)),{manager:I,zone:b,resync:R}}async function O(e,t,n){let r=new Set(e.defaultIconNames()),i=d();for(let a of t){if(!r.has(a.name)||m(a.icon))continue;let t=i[a.name];if(t){e.updateDockIcon(a.name,t);continue}let o=await n(`"${a.title}" — a SLICC sprinkle panel (${a.name})`);o&&(p(a.name,o),e.updateDockIcon(a.name,o))}}export{_ as CHAT_SURFACE_ID,S as WcSprinkleZone,D as wireWcSprinkles};
|