sliccy 6.87.2 → 6.87.3
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/node-server/_shared/index.d.ts +1 -0
- package/dist/node-server/_shared/index.d.ts.map +1 -1
- package/dist/node-server/_shared/index.js +1 -0
- package/dist/node-server/_shared/index.js.map +1 -1
- package/dist/node-server/_shared/loopback.d.ts +18 -0
- package/dist/node-server/_shared/loopback.d.ts.map +1 -0
- package/dist/node-server/_shared/loopback.js +41 -0
- package/dist/node-server/_shared/loopback.js.map +1 -0
- package/dist/node-server/bridge-security.d.ts +4 -1
- package/dist/node-server/bridge-security.js +6 -16
- package/dist/node-server/cloud-status.d.ts +3 -0
- package/dist/node-server/cloud-status.js +6 -2
- package/dist/node-server/routes/fetch-proxy.js +3 -18
- package/dist/ui/.vite/manifest.json +122 -132
- package/dist/ui/assets/{account-store-u5knhoCx.js → account-store-Cy3TJKnu.js} +1 -1
- package/dist/ui/assets/{account-store-D1f8dn0G.js → account-store-DysucxMw.js} +1 -1
- package/dist/ui/assets/{adobe-FLVM_96g.js → adobe-C19oqBaU.js} +1 -1
- package/dist/ui/assets/{adobe-B034kk8u.js → adobe-Dv-gMc09.js} +1 -1
- package/dist/ui/assets/{apply-layout-g9ha9fDb.js → apply-layout-TIXzvNTN.js} +1 -1
- package/dist/ui/assets/{apps-D2giAoeX.js → apps-e--FORGt.js} +1 -1
- package/dist/ui/assets/{azure-openai-DYlB7tTf.js → azure-openai-C5josrBb.js} +1 -1
- package/dist/ui/assets/{azure-openai-CB7Ox9_p.js → azure-openai-mDyNL8OK.js} +1 -1
- package/dist/ui/assets/{cerebras-DweKDbE1.js → cerebras-CDHmZz_Y.js} +1 -1
- package/dist/ui/assets/{cerebras-O8AuH6NY.js → cerebras-DPV0CO1I.js} +1 -1
- package/dist/ui/assets/{connect-surface-NkMUeXbQ.js → connect-surface-DqU2NC2c.js} +1 -1
- package/dist/ui/assets/{fs-Drpegy_X.js → fs-CIIVB1OK.js} +2 -2
- package/dist/ui/assets/{fs-Bov3sJ0L.js → fs-QyBiZMuq.js} +1 -1
- package/dist/ui/assets/{github-t3RMhkRE.js → github-Ctvr_Nd6.js} +1 -1
- package/dist/ui/assets/{github-CE8SlGEA.js → github-Dq-ryVOk.js} +2 -2
- package/dist/ui/assets/{github-copilot-ywjopCMn.js → github-copilot-DIk_soEH.js} +1 -1
- package/dist/ui/assets/{github-copilot-DsCq9ehC.js → github-copilot-Dm5mGSYk.js} +1 -1
- package/dist/ui/assets/{github-install-C7YXkDBT.js → github-install-CFJLPySf.js} +1 -1
- package/dist/ui/assets/{github-zip-DVWjYLIh.js → github-zip-C7dhlRG8.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-Ymi_bwDP.js → js-realm-worker-BcijiBMH.js} +1 -1
- package/dist/ui/assets/{kernel-worker-CJu5HqlT.js → kernel-worker-BiaHa-Mz.js} +27 -27
- package/dist/ui/assets/loader-B23_5sFw.js +4 -0
- package/dist/ui/assets/{local-llm-CwFpBJ4H.js → local-llm-CQE3URQQ.js} +1 -1
- package/dist/ui/assets/{local-llm-C0c86vuh.js → local-llm-DVCKFUl_.js} +1 -1
- package/dist/ui/assets/loopback-2H1kMO8T.js +1 -0
- package/dist/ui/assets/main-DQS8QHXU.js +22 -0
- package/dist/ui/assets/{mount-CDH4T-Mp.js → mount-C20u28qg.js} +2 -2
- package/dist/ui/assets/{mount-CE7C-kQS.js → mount-DSlWOyRg.js} +1 -1
- package/dist/ui/assets/{mount-recovery-h9v3cRpd.js → mount-recovery-Dp2uzDT3.js} +1 -1
- package/dist/ui/assets/{new-session-CU8TGRAW.js → new-session-BmqHuPnd.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-CRJLIz8V.js → oauth-bootstrap-CF5Iq7xU.js} +2 -2
- package/dist/ui/assets/{openai-codex-C2u_j09G.js → openai-codex-C2ilX51B.js} +1 -1
- package/dist/ui/assets/{openai-codex-DhoN0DsA.js → openai-codex-bhWf9evO.js} +1 -1
- package/dist/ui/assets/{openrouter-DvfkEaFA.js → openrouter-Bo62to17.js} +1 -1
- package/dist/ui/assets/{openrouter-DnjFjBY3.js → openrouter-C9_8OqEu.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-578SWfOt.js → openrouter-oauth-DvOb1QMV.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-BeOk-ba4.js → openrouter-oauth-Dy4Qqt06.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-CqcvBRTi.js → panel-rpc-handlers-Dbhx7m_G.js} +2 -2
- package/dist/ui/assets/{provider-B5MTJuhf.js → provider-Bk24TjUg.js} +1 -1
- package/dist/ui/assets/{provider-qCqf7_uc.js → provider-D2RXncrR.js} +2 -2
- package/dist/ui/assets/{provider-settings-NcM2Npzg.js → provider-settings-B5B0NtAl.js} +1 -1
- package/dist/ui/assets/{provider-settings-DcYK3m1J.js → provider-settings-BTpBo_o4.js} +1 -1
- package/dist/ui/assets/{provider-store-access-BlHUi5MH.js → provider-store-access-Cl5aZRx7.js} +2 -2
- package/dist/ui/assets/provider-store-access-CrgSlufJ.js +1 -0
- package/dist/ui/assets/providers-Crdj27DN.js +2 -0
- package/dist/ui/assets/{providers-BYRmRIj_.js → providers-DX7EJ4Fn.js} +1 -1
- package/dist/ui/assets/{quick-llm-CXBgg2d_.js → quick-llm-hL6bZGLe.js} +1 -1
- package/dist/ui/assets/{recovery-screen-CC3JYs-j.js → recovery-screen-MHXsY2RD.js} +1 -1
- package/dist/ui/assets/{redirect-uri-Cz0-DXMU.js → redirect-uri-B1SxiY-b.js} +1 -1
- package/dist/ui/assets/{session-freezer-DYVYVWZ3.js → session-freezer-CnFBCb6j.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-DtLgZPds.js → setup-feature-flags-remote-Dlcwmn-_.js} +1 -1
- package/dist/ui/assets/setup-standalone-prelude-Btsjqjoe.js +2 -0
- package/dist/ui/assets/{setup-sudo-CGpFS_H9.js → setup-sudo-DrmeHwU_.js} +2 -2
- package/dist/ui/assets/silent-renew-backoff-C_Iv54ZG.js +1 -0
- package/dist/ui/assets/silent-renew-backoff-t_Cd4Zw7.js +1 -0
- package/dist/ui/assets/{skills-CfaCWaY6.js → skills-C90t15zW.js} +1 -1
- package/dist/ui/assets/slicc-version-tsUsi909.js +1 -0
- package/dist/ui/assets/{store-BQWc00Lo.js → store-BmhLnay6.js} +1 -1
- package/dist/ui/assets/{store-sdSLaoJp.js → store-Cvg04_Rz.js} +1 -1
- package/dist/ui/assets/{sudo-BTuTezs4.js → sudo-DYhM4jWf.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-CmsEVCLH.js → upgrade-detection-Co2MZvYS.js} +1 -1
- package/dist/ui/assets/{wc-extension-wBWx11Lq.js → wc-extension-CL-LAE0W.js} +2 -2
- package/dist/ui/assets/wc-follower-troAtcMA.js +17 -0
- package/dist/ui/assets/wc-live-D1Mon0cw.js +8 -0
- package/dist/ui/assets/{wc-nav-B8ymo0Vu.js → wc-nav-BV6Jm98e.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-CMJYjLlt.js → wc-onboarding-Dg4E9VDR.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-DIOhu2Ac.js → wc-placeholder-_6RUOpYH.js} +2 -2
- package/dist/ui/assets/{wc-settings-D2oVzKVs.js → wc-settings-Dy5cPd8c.js} +2 -2
- package/dist/ui/assets/{wc-shell-DrXzWzBs.js → wc-shell-DC5bovWA.js} +2 -2
- package/dist/ui/assets/{wc-sprinkles-Hdy-5FTU.js → wc-sprinkles-CDP31nXS.js} +2 -2
- package/dist/ui/assets/{wc-tray-CfSIy5M0.js → wc-tray-MFZAPwt4.js} +2 -2
- package/dist/ui/assets/{xai-grok-B_POoF8K.js → xai-grok-C2GEvF8U.js} +1 -1
- package/dist/ui/assets/{xai-grok-D__MgEgm.js → xai-grok-CoSPbEFx.js} +1 -1
- package/dist/ui/index.html +8 -9
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +8 -9
- package/package.json +1 -1
- package/dist/ui/assets/bridge-launch-params-zrpWWxT3.js +0 -1
- package/dist/ui/assets/loader-sgPDMLWT.js +0 -4
- package/dist/ui/assets/main-BWIUe9mc.js +0 -22
- package/dist/ui/assets/provider-store-access-BN6c8KtH.js +0 -1
- package/dist/ui/assets/providers-BAjAn8LJ.js +0 -2
- package/dist/ui/assets/setup-standalone-prelude-B5yx5j_i.js +0 -2
- package/dist/ui/assets/silent-renew-backoff-BhyOB6Rq.js +0 -1
- package/dist/ui/assets/silent-renew-backoff-BrAZcbzt.js +0 -1
- package/dist/ui/assets/slicc-version-ClAVruxy.js +0 -1
- package/dist/ui/assets/wc-follower-Di7VVZ0z.js +0 -17
- package/dist/ui/assets/wc-live-1OpoOfN1.js +0 -8
package/dist/ui/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>slicc</title>
|
|
7
7
|
<link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-DQS8QHXU.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
|
|
@@ -29,21 +29,20 @@
|
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/secrets-bridge-client-cWDAnFqs.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/image-markers-BXtVm4og.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-DfXu6quJ.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-Crdj27DN.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/panel-rpc-B3MSVImO.js">
|
|
34
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
35
|
-
<link rel="modulepreload" crossorigin href="/assets/bridge-launch-params-zrpWWxT3.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-DysucxMw.js">
|
|
36
35
|
<link rel="modulepreload" crossorigin href="/assets/runtime-env-CgsZ7LTp.js">
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/telemetry-BVzuNdvW.js">
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/assets/feature-flags-ByMXaIc4.js">
|
|
39
36
|
<link rel="modulepreload" crossorigin href="/assets/messages-BD4p8GuF.js">
|
|
40
37
|
<link rel="modulepreload" crossorigin href="/assets/tray-runtime-config-CRGwg9SK.js">
|
|
41
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-
|
|
42
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-DrmeHwU_.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-Btsjqjoe.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/telemetry-BVzuNdvW.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/feature-flags-ByMXaIc4.js">
|
|
43
42
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
|
|
44
43
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
|
|
45
44
|
<link rel="modulepreload" crossorigin href="/assets/tray-join-url-BIvzbiFR.js">
|
|
46
|
-
<link rel="modulepreload" crossorigin href="/assets/provider-settings-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/provider-settings-BTpBo_o4.js">
|
|
47
46
|
</head>
|
|
48
47
|
<body>
|
|
49
48
|
<div id="app"></div>
|
package/dist/ui/llm-proxy-sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var v="https://www.sliccy.ai";var T="bridgeToken",I="bridge",B="X-Bridge-Token";var Ee=new URL(v).hostname,it={[Ee]:"sliccy.now","sliccy.ai":"sliccy.now","slicc-tray-hub-staging.minivelos.workers.dev":"sliccy.dev","localhost:8787":"localhost:8787"};var Re=["ghp_","gho_","ghu_","ghs_","ghr_","github_pat_","sk-","pk-","xoxb-","xoxp-","xoxa-","xoxs-","AKIA","ABIA","ACCA","ASIA","sk-ant-","Bearer "],ut=[...Re].sort((e,t)=>t.length-e.length);var Me=["canonical-agent-history-unavailable","tool-data-may-be-truncated","model-metadata-unavailable","scoop-history-unavailable","attachment-file-missing","attachment-association-unavailable","complete-snapshot-unavailable"];var Tt=new Set(Me);var Nt=[{category:"jwt",source:String.raw`ey[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+`,flags:"g"},{category:"private-key",source:"-----BEGIN [A-Z ]* PRIVATE KEY-----"+String.raw`[\s\S]*?`+"-----END [A-Z ]* PRIVATE KEY-----",flags:"g"},{category:"bearer-token",source:"Bearer [A-Za-z0-9._~+/=!-]+",flags:"gi"},{category:"api-key",source:"(?:sk-(?:live|test|prod|proj)-[A-Za-z0-9]{8,}|sk-ant-[A-Za-z0-9-]{8,}|xoxb-[A-Za-z0-9-]{10,}|xoxp-[A-Za-z0-9-]{10,}|AKIA[A-Z0-9]{16}|ghp_[A-Za-z0-9]{36}|hf_[A-Za-z0-9]{34})",flags:"g"},{category:"password",source:String.raw`\b(?:password|passwd|token|secret|api_key)\s*[=:]\s*\S+`,flags:"gi"}];var Lt=16*1024;var Ot=64*1024,Dt=32*1024;var _e="slicc-sync-fs-";function q(e){return _e+e}var H="sync-fs-nonce",V="sync-fs-need-nonce",E="/__slicc/fs-sync/";var R="/__slicc/exec-sync",N="x-slicc-fs-token",S="x-slicc-fs-errno",m="x-slicc-fs",M="x-slicc-fs-no-responder",j="sync-fs-req",Y="sync-fs-ack",G="sync-fs-res",W=25e3,z=2e3,K=12e4,F=6e5,X=2e3;function U(e){if(!e)return{};let t={};for(let[r,n]of Object.entries(e)){let s=r.toLowerCase();s==="cookie"?t["X-Proxy-Cookie"]=n:s==="origin"?t["X-Proxy-Origin"]=n:s==="referer"?t["X-Proxy-Referer"]=n:s.startsWith("proxy-")?t[`X-Proxy-${r}`]=n:t[r]=n}return t}function J(e){let t={};for(let[r,n]of Object.entries(e))r.toLowerCase()==="x-proxy-set-cookie"?t["set-cookie"]=n:t[r]=n;return t}var Ae=new Set([101,103,204,205,304]);function be(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function Q(e){let t,r,n=new Promise((o,a)=>{t=o,r=a}),s=null,i=new ReadableStream({start(o){s=o}}),l=!1,p=!1,g=()=>{try{s?.close()}catch{}},y=o=>{try{s?.error(o)}catch{}},d=o=>{if(l)return;l=!0;let a=new Headers;for(let[k,x]of Object.entries(J(o.headers)))a.set(k,x);let h=Ae.has(o.status)?null:i;t(new Response(h,{status:o.status,statusText:o.statusText,headers:a}))},u=o=>{p=!0;let a=new Error(o.error);l?y(a):r(a),e.close?.()};return e.onmessage=o=>{let a=o.data;!a||typeof a.type!="string"||p||(a.type==="response-head"?d(a):a.type==="response-chunk"?s?.enqueue(be(a.dataBase64)):a.type==="response-end"?(p=!0,g(),e.close?.()):a.type==="response-error"&&u(a))},e.start?.(),{responsePromise:n}}var we=new Set([101,103,204,205,304]);function L(e){let t=we.has(e.status)?null:e.body;return new Response(t,{status:e.status,statusText:e.statusText,headers:e.headers})}var Z="slicc",ee="leader";function te(e){try{let t=new URL(e);return`${t.protocol==="wss:"?"https:":"http:"}//${t.host}`}catch{return null}}var ve="slicc:bridge-config";function re(e,t){if(e?.apiBaseUrl&&e.token)return{apiBaseUrl:e.apiBaseUrl.replace(/\/+$/,""),token:e.token};if(!t)return null;let r;try{r=new URL(t)}catch{return null}let n=r.searchParams.get(I),s=r.searchParams.get(T);if(!n||!s)return null;let i=te(n);return i?{apiBaseUrl:i.replace(/\/+$/,""),token:s}:null}function ne(e,t){if(e?.apiBaseUrl&&e.token)return re(e,null);for(let r of t){let n=re(null,r);if(n)return n}return null}function se(e,t){return t?`${t.apiBaseUrl}${e}`:e}function oe(e,t){let r,n;try{r=new URL(t),n=new URL(e)}catch{return!1}return n.origin===r.origin&&n.pathname.startsWith("/api/")}function ie(e){return!e||typeof e!="object"?!1:e.type===ve}var _=class{byClient=new Map;set(t,r){if(t){if(!r.apiBaseUrl||!r.token){this.byClient.delete(t);return}this.byClient.set(t,{apiBaseUrl:r.apiBaseUrl.replace(/\/+$/,""),token:r.token})}}get(t){return t?this.byClient.get(t)??null:null}delete(t){this.byClient.delete(t)}size(){return this.byClient.size}},Te="slicc:extension-delegate-config",ae="slicc:ext-fetch";function ce(e){return!e||typeof e!="object"?!1:e.type===Te}function O(e){if(!e)return null;let t;try{t=new URL(e)}catch{return null}if(t.searchParams.get(Z)!==ee)return null;let r=t.searchParams.get("ext");return r?{extensionId:r}:null}function le(e,t){if(e?.extensionId)return{extensionId:e.extensionId};for(let r of t){let n=O(r);if(n)return n}return null}var A=class{byClient=new Map;set(t,r){if(t){if(!r.extensionId){this.byClient.delete(t);return}this.byClient.set(t,{extensionId:r.extensionId})}}get(t){return t?this.byClient.get(t)??null:null}delete(t){this.byClient.delete(t)}size(){return this.byClient.size}},Ie=new Set(["image","font","style","video","audio","track","iframe","object","embed"]);function ue(e){return Ie.has(e)}function D(e){let t=e;return t?.type==="window"&&t.frameType==="top-level"}function b(e){return D(e)}function w(e){return e.filter(b)}function de(){let e=[];return{notify(){let t=e;e=[];for(let r of t)r()},wait(t){return new Promise(r=>{let n=!1,s=()=>{n||(n=!0,clearTimeout(i),e=e.filter(l=>l!==s),r())},i=setTimeout(s,t);e.push(s)})}}}var P="exec";function fe(e,t){return typeof e!="number"||!Number.isFinite(e)||e<=0?Math.min(t,F):Math.min(e,F)}var Fe=W,Ue=200,Le=1e4,Oe=new Set(["stat","lstat","readdir","exists"]),De=new Set(["mkdir","rm"]);function Pe(e){return $e(e)?fe(e.timeoutMs,K)+X:Fe}function $e(e){return e.channel===P}function Be(e){switch(e){case"ENOENT":return 404;case"EACCES":return 403;case"EISDIR":case"ENOTDIR":case"EINVAL":return 400;case"EIO":return 503;default:return 500}}async function qe(e){if(e.method!=="POST")return null;let t;try{let i=await e.arrayBuffer();t=JSON.parse(new TextDecoder().decode(new Uint8Array(i)))}catch{return null}if(!t||typeof t!="object")return null;let r=t,n=r.command;return typeof n=="string"||Array.isArray(n)&&n.every(i=>typeof i=="string")?{token:e.headers.get(N)??"",channel:P,command:n,...Array.isArray(r.args)&&r.args.every(i=>typeof i=="string")?{args:r.args}:{},...typeof r.stdin=="string"?{stdin:r.stdin}:{},...typeof r.timeoutMs=="number"?{timeoutMs:r.timeoutMs}:{}}:null}async function pe(e){let t=new URL(e.url);if(t.pathname===R)return qe(e);if(!t.pathname.startsWith(E))return null;let r=t.pathname.slice(E.length-1),n;try{n=r.split("/").map(decodeURIComponent).join("/")}catch{return null}let s=e.headers.get(N)??"",i=t.searchParams.get("op");if(e.method==="POST"){if(i&&De.has(i))return{token:s,op:i,path:n};let l=await e.arrayBuffer();return{token:s,op:"write",path:n,body:new Uint8Array(l)}}return i&&Oe.has(i)?{token:s,op:i,path:n}:{token:s,op:"read",path:n}}function He(e){if(!e.ok){let r=e.errno??"EIO";return new Response(e.message??r,{status:Be(r),headers:{[S]:r,[m]:"1"}})}if(e.kind==="json")return new Response(JSON.stringify(e.json??null),{status:200,headers:{"content-type":"application/json",[m]:"1"}});let t=e.kind==="bytes"?new Uint8Array(e.bytes):new Uint8Array(0);return new Response(t,{status:200,headers:{"content-type":"application/octet-stream",[m]:"1"}})}function ge(e,t,r={}){let n=r.timeoutMs??Pe(t),s=r.retryIntervalMs??Ue,i=Math.min(r.noResponderMs??Le,n),l=crypto.randomUUID();return new Promise(p=>{let g=!1,y=!1,d,u,o,a=()=>{for(let c of e)c.removeEventListener("message",k);d&&clearInterval(d),u&&clearTimeout(u),o&&clearTimeout(o)},h=c=>{y||(y=!0,a(),p(c))},k=c=>{let f=c.data;if(!(!f||f.id!==l)){if(f.type===Y){g=!0,d&&clearInterval(d),o&&clearTimeout(o);return}f.type===G&&h(He(f))}};for(let c of e)c.addEventListener("message",k);let x=()=>{for(let c of e)c.postMessage({type:j,id:l,...t})};x(),d=setInterval(()=>{g||x()},s),o=setTimeout(()=>{g||h(new Response("sync-fs bridge: no responder",{status:503,headers:{[S]:"EIO",[m]:"1",[M]:"1"}}))},i),u=setTimeout(()=>{h(new Response("sync-fs bridge timeout",{status:503,headers:{[S]:"EIO",[m]:"1"}}))},n)})}var Ve="/api/fetch-proxy",C="x-bypass-llm-proxy",Se=new _,ke=new A,je=32*1024*1024;self.importScripts("/preview-sw.js");self.addEventListener("install",e=>{e.waitUntil(self.skipWaiting())});self.addEventListener("activate",e=>{e.waitUntil(self.clients.claim())});self.addEventListener("message",e=>{let t=e.source;if(!t||!("id"in t)||typeof t.id!="string")return;if(ie(e.data)&&b(t)){Se.set(t.id,{apiBaseUrl:e.data.apiBaseUrl,token:e.data.token});return}if(ce(e.data)&&b(t)){ke.set(t.id,{extensionId:e.data.extensionId});return}let r=e.data;if(r?.type===H&&typeof r.nonce=="string"){D(t)&&Ye(r.nonce);return}});self.addEventListener("fetch",e=>{let t=e.request;if(t.headers.get(C)==="1"||ue(t.destination))return;let r;try{r=new URL(t.url)}catch{return}r.origin!==self.location.origin&&(r.protocol!=="http:"&&r.protocol!=="https:"||e.respondWith(Ge(t,e.clientId||null)))});var $=new Map,xe=de();function me(){return[...$.values()]}function Ye(e){$.has(e)||($.set(e,new BroadcastChannel(q(e))),xe.notify())}async function ye(){let e=await self.clients.matchAll({type:"window"}),t={type:V};for(let r of e)r.postMessage(t)}self.addEventListener("fetch",e=>{let t=new URL(e.request.url);t.origin===self.location.origin&&(!t.pathname.startsWith(E)&&t.pathname!==R||e.respondWith((async()=>{let r=await pe(e.request);if(!r)return new Response("sync bridge: malformed request",{status:400,headers:{[S]:"EINVAL",[m]:"1"}});let n=me();if(n.length===0&&(ye(),await xe.wait(z),n=me(),n.length===0))return new Response("sync-fs bridge not ready",{status:503,headers:{[S]:"EIO",[m]:"1"}});let s=await ge(n,r);return s.headers.get(M)==="1"&&ye(),s})()))});async function Ge(e,t){let r=e.url,n={};e.headers.forEach((c,f)=>{f.toLowerCase()!==C&&(n[f]=c)});let s=U(n),i=new Headers;for(let[c,f]of Object.entries(s))i.set(c,f);i.set("X-Target-URL",r);let l=Se.get(t),p=ke.get(t),g=await We(t),y=l||p?[]:await ze(),d=[g,...y],u=le(p,d);if(u){let c=await Ke();if(c)return Je(e,u,c,r)}let o=ne(l,d);if(o&&oe(e.url,o.apiBaseUrl)){let c=new Headers(e.headers);c.set(C,"1");let f={method:e.method,headers:c,cache:"no-store",credentials:e.credentials,redirect:"manual",signal:e.signal,body:await he(e)};return L(await fetch(e.url,f))}o&&i.set(B,o.token);let a=se(Ve,o),h=await he(e),k={method:e.method,headers:i,cache:"no-store",credentials:"omit",redirect:"manual",signal:e.signal,body:h},x=await fetch(a,k);return L(x)}async function he(e){if(e.method==="GET"||e.method==="HEAD")return;let t=await e.arrayBuffer();return t.byteLength>0?t:void 0}async function We(e){if(!e)return null;try{let t=await self.clients.get(e);return w(t?[t]:[])[0]?.url??null}catch{return null}}async function ze(){try{let e=await self.clients.matchAll({type:"window",includeUncontrolled:!0});return w(e).map(t=>t.url).filter(t=>!!t)}catch{return[]}}async function Ke(){try{let e=w(await self.clients.matchAll({type:"window",includeUncontrolled:!0}));return e.length===0?null:e.find(r=>O(r.url)!==null)??e[0]}catch{return null}}function Xe(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}async function Je(e,t,r,n){let s={};e.headers.forEach((u,o)=>{o.toLowerCase()!==C&&(s[o]=u)});let i=U(s),l,p=!1;if(e.method!=="GET"&&e.method!=="HEAD"){let u=await e.arrayBuffer();u.byteLength>je?p=!0:u.byteLength>0&&(l=Xe(new Uint8Array(u)))}let g=new MessageChannel,{responsePromise:y}=Q(g.port1),d={type:ae,requestId:Qe(),extensionId:t.extensionId,request:{url:n,method:e.method,headers:i,bodyBase64:l,requestBodyTooLarge:p}};return r.postMessage(d,[g.port2]),y}function Qe(){let e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?e.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}})();
|
|
1
|
+
"use strict";(()=>{var v="https://www.sliccy.ai";var T="bridgeToken",I="bridge",B="X-Bridge-Token";var Ee=new URL(v).hostname,at={[Ee]:"sliccy.now","sliccy.ai":"sliccy.now","slicc-tray-hub-staging.minivelos.workers.dev":"sliccy.dev","localhost:8787":"localhost:8787"};var Re=["ghp_","gho_","ghu_","ghs_","ghr_","github_pat_","sk-","pk-","xoxb-","xoxp-","xoxa-","xoxs-","AKIA","ABIA","ACCA","ASIA","sk-ant-","Bearer "],dt=[...Re].sort((e,t)=>t.length-e.length);var Me=["canonical-agent-history-unavailable","tool-data-may-be-truncated","model-metadata-unavailable","scoop-history-unavailable","attachment-file-missing","attachment-association-unavailable","complete-snapshot-unavailable"];var It=new Set(Me);var Ft=[{category:"jwt",source:String.raw`ey[A-Za-z0-9_-]{4,}\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+`,flags:"g"},{category:"private-key",source:"-----BEGIN [A-Z ]* PRIVATE KEY-----"+String.raw`[\s\S]*?`+"-----END [A-Z ]* PRIVATE KEY-----",flags:"g"},{category:"bearer-token",source:"Bearer [A-Za-z0-9._~+/=!-]+",flags:"gi"},{category:"api-key",source:"(?:sk-(?:live|test|prod|proj)-[A-Za-z0-9]{8,}|sk-ant-[A-Za-z0-9-]{8,}|xoxb-[A-Za-z0-9-]{10,}|xoxp-[A-Za-z0-9-]{10,}|AKIA[A-Z0-9]{16}|ghp_[A-Za-z0-9]{36}|hf_[A-Za-z0-9]{34})",flags:"g"},{category:"password",source:String.raw`\b(?:password|passwd|token|secret|api_key)\s*[=:]\s*\S+`,flags:"gi"}];var Ot=16*1024;var Dt=64*1024,Pt=32*1024;var _e="slicc-sync-fs-";function q(e){return _e+e}var H="sync-fs-nonce",V="sync-fs-need-nonce",E="/__slicc/fs-sync/";var R="/__slicc/exec-sync",N="x-slicc-fs-token",S="x-slicc-fs-errno",m="x-slicc-fs",M="x-slicc-fs-no-responder",j="sync-fs-req",Y="sync-fs-ack",G="sync-fs-res",W=25e3,z=2e3,K=12e4,F=6e5,X=2e3;function U(e){if(!e)return{};let t={};for(let[r,n]of Object.entries(e)){let s=r.toLowerCase();s==="cookie"?t["X-Proxy-Cookie"]=n:s==="origin"?t["X-Proxy-Origin"]=n:s==="referer"?t["X-Proxy-Referer"]=n:s.startsWith("proxy-")?t[`X-Proxy-${r}`]=n:t[r]=n}return t}function J(e){let t={};for(let[r,n]of Object.entries(e))r.toLowerCase()==="x-proxy-set-cookie"?t["set-cookie"]=n:t[r]=n;return t}var be=new Set([101,103,204,205,304]);function Ae(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function Q(e){let t,r,n=new Promise((o,a)=>{t=o,r=a}),s=null,i=new ReadableStream({start(o){s=o}}),u=!1,p=!1,g=()=>{try{s?.close()}catch{}},y=o=>{try{s?.error(o)}catch{}},d=o=>{if(u)return;u=!0;let a=new Headers;for(let[k,x]of Object.entries(J(o.headers)))a.set(k,x);let h=be.has(o.status)?null:i;t(new Response(h,{status:o.status,statusText:o.statusText,headers:a}))},l=o=>{p=!0;let a=new Error(o.error);u?y(a):r(a),e.close?.()};return e.onmessage=o=>{let a=o.data;!a||typeof a.type!="string"||p||(a.type==="response-head"?d(a):a.type==="response-chunk"?s?.enqueue(Ae(a.dataBase64)):a.type==="response-end"?(p=!0,g(),e.close?.()):a.type==="response-error"&&l(a))},e.start?.(),{responsePromise:n}}var we=new Set([101,103,204,205,304]);function L(e){let t=we.has(e.status)?null:e.body;return new Response(t,{status:e.status,statusText:e.statusText,headers:e.headers})}var Z="slicc",ee="leader";function te(e){try{let t=new URL(e);return`${t.protocol==="wss:"?"https:":"http:"}//${t.host}`}catch{return null}}var ve="slicc:bridge-config";function re(e,t){if(e?.apiBaseUrl&&e.token)return{apiBaseUrl:e.apiBaseUrl.replace(/\/+$/,""),token:e.token};if(!t)return null;let r;try{r=new URL(t)}catch{return null}let n=r.searchParams.get(I),s=r.searchParams.get(T);if(!n||!s)return null;let i=te(n);return i?{apiBaseUrl:i.replace(/\/+$/,""),token:s}:null}function ne(e,t){if(e?.apiBaseUrl&&e.token)return re(e,null);for(let r of t){let n=re(null,r);if(n)return n}return null}function se(e,t){return t?`${t.apiBaseUrl}${e}`:e}function oe(e,t){let r,n;try{r=new URL(t),n=new URL(e)}catch{return!1}return n.origin===r.origin&&n.pathname.startsWith("/api/")}function ie(e){return!e||typeof e!="object"?!1:e.type===ve}var _=class{byClient=new Map;set(t,r){if(t){if(!r.apiBaseUrl||!r.token){this.byClient.delete(t);return}this.byClient.set(t,{apiBaseUrl:r.apiBaseUrl.replace(/\/+$/,""),token:r.token})}}get(t){return t?this.byClient.get(t)??null:null}delete(t){this.byClient.delete(t)}size(){return this.byClient.size}},Te="slicc:extension-delegate-config",ae="slicc:ext-fetch";function ce(e){return!e||typeof e!="object"?!1:e.type===Te}function O(e){if(!e)return null;let t;try{t=new URL(e)}catch{return null}if(t.searchParams.get(Z)!==ee)return null;let r=t.searchParams.get("ext");return r?{extensionId:r}:null}function ue(e,t){if(e?.extensionId)return{extensionId:e.extensionId};for(let r of t){let n=O(r);if(n)return n}return null}var b=class{byClient=new Map;set(t,r){if(t){if(!r.extensionId){this.byClient.delete(t);return}this.byClient.set(t,{extensionId:r.extensionId})}}get(t){return t?this.byClient.get(t)??null:null}delete(t){this.byClient.delete(t)}size(){return this.byClient.size}},Ie=new Set(["image","font","style","video","audio","track","iframe","object","embed"]);function le(e){return Ie.has(e)}function D(e){let t=e;return t?.type==="window"&&t.frameType==="top-level"}function A(e){return D(e)}function w(e){return e.filter(A)}function de(){let e=[];return{notify(){let t=e;e=[];for(let r of t)r()},wait(t){return new Promise(r=>{let n=!1,s=()=>{n||(n=!0,clearTimeout(i),e=e.filter(u=>u!==s),r())},i=setTimeout(s,t);e.push(s)})}}}var P="exec";function fe(e,t){return typeof e!="number"||!Number.isFinite(e)||e<=0?Math.min(t,F):Math.min(e,F)}var Fe=W,Ue=200,Le=1e4,Oe=new Set(["stat","lstat","readdir","exists"]),De=new Set(["mkdir","rm"]);function Pe(e){return $e(e)?fe(e.timeoutMs,K)+X:Fe}function $e(e){return e.channel===P}function Be(e){switch(e){case"ENOENT":return 404;case"EACCES":return 403;case"EISDIR":case"ENOTDIR":case"EINVAL":return 400;case"EIO":return 503;default:return 500}}async function qe(e){if(e.method!=="POST")return null;let t;try{let i=await e.arrayBuffer();t=JSON.parse(new TextDecoder().decode(new Uint8Array(i)))}catch{return null}if(!t||typeof t!="object")return null;let r=t,n=r.command;return typeof n=="string"||Array.isArray(n)&&n.every(i=>typeof i=="string")?{token:e.headers.get(N)??"",channel:P,command:n,...Array.isArray(r.args)&&r.args.every(i=>typeof i=="string")?{args:r.args}:{},...typeof r.stdin=="string"?{stdin:r.stdin}:{},...typeof r.timeoutMs=="number"?{timeoutMs:r.timeoutMs}:{}}:null}async function pe(e){let t=new URL(e.url);if(t.pathname===R)return qe(e);if(!t.pathname.startsWith(E))return null;let r=t.pathname.slice(E.length-1),n;try{n=r.split("/").map(decodeURIComponent).join("/")}catch{return null}let s=e.headers.get(N)??"",i=t.searchParams.get("op");if(e.method==="POST"){if(i&&De.has(i))return{token:s,op:i,path:n};let u=await e.arrayBuffer();return{token:s,op:"write",path:n,body:new Uint8Array(u)}}return i&&Oe.has(i)?{token:s,op:i,path:n}:{token:s,op:"read",path:n}}function He(e){if(!e.ok){let r=e.errno??"EIO";return new Response(e.message??r,{status:Be(r),headers:{[S]:r,[m]:"1"}})}if(e.kind==="json")return new Response(JSON.stringify(e.json??null),{status:200,headers:{"content-type":"application/json",[m]:"1"}});let t=e.kind==="bytes"?new Uint8Array(e.bytes):new Uint8Array(0);return new Response(t,{status:200,headers:{"content-type":"application/octet-stream",[m]:"1"}})}function ge(e,t,r={}){let n=r.timeoutMs??Pe(t),s=r.retryIntervalMs??Ue,i=Math.min(r.noResponderMs??Le,n),u=crypto.randomUUID();return new Promise(p=>{let g=!1,y=!1,d,l,o,a=()=>{for(let c of e)c.removeEventListener("message",k);d&&clearInterval(d),l&&clearTimeout(l),o&&clearTimeout(o)},h=c=>{y||(y=!0,a(),p(c))},k=c=>{let f=c.data;if(!(!f||f.id!==u)){if(f.type===Y){g=!0,d&&clearInterval(d),o&&clearTimeout(o);return}f.type===G&&h(He(f))}};for(let c of e)c.addEventListener("message",k);let x=()=>{for(let c of e)c.postMessage({type:j,id:u,...t})};x(),d=setInterval(()=>{g||x()},s),o=setTimeout(()=>{g||h(new Response("sync-fs bridge: no responder",{status:503,headers:{[S]:"EIO",[m]:"1",[M]:"1"}}))},i),l=setTimeout(()=>{h(new Response("sync-fs bridge timeout",{status:503,headers:{[S]:"EIO",[m]:"1"}}))},n)})}var Ve="/api/fetch-proxy",C="x-bypass-llm-proxy",Se=new _,ke=new b,je=32*1024*1024;self.importScripts("/preview-sw.js");self.addEventListener("install",e=>{e.waitUntil(self.skipWaiting())});self.addEventListener("activate",e=>{e.waitUntil(self.clients.claim())});self.addEventListener("message",e=>{let t=e.source;if(!t||!("id"in t)||typeof t.id!="string")return;if(ie(e.data)&&A(t)){Se.set(t.id,{apiBaseUrl:e.data.apiBaseUrl,token:e.data.token});return}if(ce(e.data)&&A(t)){ke.set(t.id,{extensionId:e.data.extensionId});return}let r=e.data;if(r?.type===H&&typeof r.nonce=="string"){D(t)&&Ye(r.nonce);return}});self.addEventListener("fetch",e=>{let t=e.request;if(t.headers.get(C)==="1"||le(t.destination))return;let r;try{r=new URL(t.url)}catch{return}r.origin!==self.location.origin&&(r.protocol!=="http:"&&r.protocol!=="https:"||e.respondWith(Ge(t,e.clientId||null)))});var $=new Map,xe=de();function me(){return[...$.values()]}function Ye(e){$.has(e)||($.set(e,new BroadcastChannel(q(e))),xe.notify())}async function ye(){let e=await self.clients.matchAll({type:"window"}),t={type:V};for(let r of e)r.postMessage(t)}self.addEventListener("fetch",e=>{let t=new URL(e.request.url);t.origin===self.location.origin&&(!t.pathname.startsWith(E)&&t.pathname!==R||e.respondWith((async()=>{let r=await pe(e.request);if(!r)return new Response("sync bridge: malformed request",{status:400,headers:{[S]:"EINVAL",[m]:"1"}});let n=me();if(n.length===0&&(ye(),await xe.wait(z),n=me(),n.length===0))return new Response("sync-fs bridge not ready",{status:503,headers:{[S]:"EIO",[m]:"1"}});let s=await ge(n,r);return s.headers.get(M)==="1"&&ye(),s})()))});async function Ge(e,t){let r=e.url,n={};e.headers.forEach((c,f)=>{f.toLowerCase()!==C&&(n[f]=c)});let s=U(n),i=new Headers;for(let[c,f]of Object.entries(s))i.set(c,f);i.set("X-Target-URL",r);let u=Se.get(t),p=ke.get(t),g=await We(t),y=u||p?[]:await ze(),d=[g,...y],l=ue(p,d);if(l){let c=await Ke();if(c)return Je(e,l,c,r)}let o=ne(u,d);if(o&&oe(e.url,o.apiBaseUrl)){let c=new Headers(e.headers);c.set(C,"1");let f={method:e.method,headers:c,cache:"no-store",credentials:e.credentials,redirect:"manual",signal:e.signal,body:await he(e)};return L(await fetch(e.url,f))}o&&i.set(B,o.token);let a=se(Ve,o),h=await he(e),k={method:e.method,headers:i,cache:"no-store",credentials:"omit",redirect:"manual",signal:e.signal,body:h},x=await fetch(a,k);return L(x)}async function he(e){if(e.method==="GET"||e.method==="HEAD")return;let t=await e.arrayBuffer();return t.byteLength>0?t:void 0}async function We(e){if(!e)return null;try{let t=await self.clients.get(e);return w(t?[t]:[])[0]?.url??null}catch{return null}}async function ze(){try{let e=await self.clients.matchAll({type:"window",includeUncontrolled:!0});return w(e).map(t=>t.url).filter(t=>!!t)}catch{return[]}}async function Ke(){try{let e=w(await self.clients.matchAll({type:"window",includeUncontrolled:!0}));return e.length===0?null:e.find(r=>O(r.url)!==null)??e[0]}catch{return null}}function Xe(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}async function Je(e,t,r,n){let s={};e.headers.forEach((l,o)=>{o.toLowerCase()!==C&&(s[o]=l)});let i=U(s),u,p=!1;if(e.method!=="GET"&&e.method!=="HEAD"){let l=await e.arrayBuffer();l.byteLength>je?p=!0:l.byteLength>0&&(u=Xe(new Uint8Array(l)))}let g=new MessageChannel,{responsePromise:y}=Q(g.port1),d={type:ae,requestId:Qe(),extensionId:t.extensionId,request:{url:n,method:e.method,headers:i,bodyBase64:u,requestBodyTooLarge:p}};return r.postMessage(d,[g.port2]),y}function Qe(){let e=globalThis.crypto;return e&&typeof e.randomUUID=="function"?e.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`}})();
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>slicc</title>
|
|
7
7
|
<link rel="icon" type="image/png" href="/logos/sliccy-color-1scoops-32x32.png" />
|
|
8
|
-
<script type="module" crossorigin src="/assets/main-
|
|
8
|
+
<script type="module" crossorigin src="/assets/main-DQS8QHXU.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/modulepreload-polyfill-P2Xu9kJm.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-Dd_uD5pT.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
|
|
@@ -29,21 +29,20 @@
|
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/secrets-bridge-client-cWDAnFqs.js">
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/assets/image-markers-BXtVm4og.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-DfXu6quJ.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-Crdj27DN.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/panel-rpc-B3MSVImO.js">
|
|
34
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
35
|
-
<link rel="modulepreload" crossorigin href="/assets/bridge-launch-params-zrpWWxT3.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-DysucxMw.js">
|
|
36
35
|
<link rel="modulepreload" crossorigin href="/assets/runtime-env-CgsZ7LTp.js">
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/telemetry-BVzuNdvW.js">
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/assets/feature-flags-ByMXaIc4.js">
|
|
39
36
|
<link rel="modulepreload" crossorigin href="/assets/messages-BD4p8GuF.js">
|
|
40
37
|
<link rel="modulepreload" crossorigin href="/assets/tray-runtime-config-CRGwg9SK.js">
|
|
41
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-
|
|
42
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-DrmeHwU_.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-Btsjqjoe.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/telemetry-BVzuNdvW.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/feature-flags-ByMXaIc4.js">
|
|
43
42
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-BAjnN7Ar.js">
|
|
44
43
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
|
|
45
44
|
<link rel="modulepreload" crossorigin href="/assets/tray-join-url-BIvzbiFR.js">
|
|
46
|
-
<link rel="modulepreload" crossorigin href="/assets/provider-settings-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/provider-settings-BTpBo_o4.js">
|
|
47
46
|
</head>
|
|
48
47
|
<body>
|
|
49
48
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e,o as t,s as n}from"./src-CAWTvdAa.js";var r=`/electron`,i=`role`;function a(e){try{let t=new URL(e);return`${t.protocol===`wss:`?`https:`:`http:`}//${t.host}`}catch{return null}}function o(e){try{let t=new URL(e);return`${t.protocol}//${t.host}/licks-ws`}catch{return null}}function s(r){let s;try{s=new URLSearchParams(r)}catch{return null}let c=s.get(e),l=s.get(n);if(!c||!l||!/^wss?:\/\//.test(c))return null;let u=s.get(i),d=u===`leader`||u===`follower`?u:null;return{url:c,subprotocol:`${t}${l}`,token:l,apiBaseUrl:a(c),lickWsUrl:o(c),role:d}}export{r as n,s as t};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const e=`plugin.json`,t=new Set([`$schema`,`name`,`version`,`description`,`author`,`homepage`,`repository`,`license`,`keywords`,`extensions`]),n=new Set([`name`,`email`,`url`]);function r(e){return!(e.length<1||e.length>64||!/^[a-z0-9.-]+$/.test(e)||!/^[a-z0-9]/.test(e)||!/[a-z0-9]$/.test(e)||e.includes(`--`)||e.includes(`..`))}async function i(e,t){let n=[],r=b(t);if((await C(e,r))?.type!==`directory`)return n.push(x(`manifest`,`plugin root is not a directory: ${r}`)),{ok:!1,diagnostics:n};let i=await a(e,r,n);return i?{ok:!0,plugin:{root:r,manifest:i,skills:await l(e,r,n),mcp:await p(e,r,n)},diagnostics:n}:{ok:!1,diagnostics:n}}async function a(n,i,a){let s=`${i}/${e}`;if((await C(n,s))?.type!==`file`)return a.push(x(`manifest`,`missing ${e} at plugin root`)),null;let c;try{c=JSON.parse(await n.readTextFile(s))}catch(e){return a.push(x(`manifest`,`plugin.json is not valid JSON: ${e instanceof Error?e.message:e}`)),null}if(typeof c!=`object`||!c||Array.isArray(c))return a.push(x(`manifest`,`plugin.json must contain a top-level object`)),null;let l=c;for(let e of Object.keys(l))t.has(e)||(a.push(S(`manifest`,`unknown field "${e}" ignored`)),delete l[e]);return typeof l.$schema!=`string`||l.$schema.length===0?(a.push(x(`manifest`,`required field "$schema" is missing or not a string`)),null):l.$schema===`https://agent-plugins.org/schemas/1.0.0/plugin.schema.json`?typeof l.name!=`string`||l.name.length===0?(a.push(x(`manifest`,`required field "name" is missing or not a string`)),null):r(l.name)?o(l,a):(a.push(x(`manifest`,`invalid plugin name "${l.name}" (§5.5)`)),null):(a.push(x(`manifest`,`unsupported Agent Plugins version: ${l.$schema} (supported: 1.0.0)`)),null)}function o(e,t){let n=s(e);if(n)return t.push(x(`manifest`,n)),null;if(`extensions`in e){let n=e.extensions;if(typeof n!=`object`||!n||Array.isArray(n))t.push(S(`manifest`,`field "extensions" is not an object; ignored`)),delete e.extensions;else{let e=c(n);if(e)return t.push(x(`manifest`,e)),null}}return e}function s(e){for(let t of[`version`,`description`,`homepage`,`repository`,`license`])if(t in e&&typeof e[t]!=`string`)return`field "${t}" must be a string`;if(`keywords`in e){let t=e.keywords;if(!Array.isArray(t)||t.some(e=>typeof e!=`string`))return`field "keywords" must be an array of strings`}if(`author`in e){let t=e.author;if(typeof t!=`object`||!t||Array.isArray(t))return`field "author" must be an object`;for(let[e,r]of Object.entries(t))if(!n.has(e)||typeof r!=`string`)return`invalid "author" field "${e}"`}return null}function c(e){for(let[t,n]of Object.entries(e))if(typeof n!=`object`||!n||Array.isArray(n))return`extensions namespace "${t}" must map to an object`;return null}async function l(e,t,n){let r=`${t}/skills`,i=await C(e,r);if(!i)return[];if(i.type!==`directory`)return n.push(S(`skills`,`"skills" exists but is not a directory; component skipped`)),[];let a;try{a=await e.readDir(r)}catch(e){return n.push(S(`skills`,`cannot read skills/: ${e instanceof Error?e.message:e}`)),[]}let o=[];for(let t of[...a].sort((e,t)=>e.name.localeCompare(t.name))){if(t.type!==`directory`)continue;let i=`${r}/${t.name}`,a=`${i}/SKILL.md`;if((await C(e,a))?.type===`file`)try{let r=u(await e.readTextFile(a));if(!r.name||!r.description){n.push(S(`skills`,`skill "${t.name}" skipped: SKILL.md missing name/description`));continue}o.push({name:t.name,path:i,skillFilePath:a,description:r.description})}catch(e){n.push(S(`skills`,`skill "${t.name}" skipped: ${e instanceof Error?e.message:e}`))}}return o}function u(e){let t=e.replace(/^\uFEFF/,``).replace(/\r\n?/g,`
|
|
2
|
-
`).trimStart().match(/^---\s*\n([\s\S]*?)\n---/);if(!t)return{};let n={},r=t[1].split(`
|
|
3
|
-
`);for(let e=0;e<r.length;e+=1){let t=r[e].match(/^(name|description):\s*(.*)$/);if(!t)continue;let i=t[2].trim(),a=i.match(/^([>|])[+-]?$/),o=a?f(r,e+1,a[1]===`>`?` `:`
|
|
4
|
-
`):d(i);t[1]===`name`?n.name=o:n.description=o}return n}function d(e){let t=e[0];if((t===`"`||t===`'`)&&e.length>=2&&e.endsWith(t)){let n=e.slice(1,-1);return t===`"`?n.replace(/\\(["\\])/g,`$1`):n.replace(/''/g,`'`)}return e}function f(e,t,n){let r=[];for(let n=t;n<e.length;n+=1){let t=e[n];if(t.trim()!==``){if(!/^\s/.test(t))break;r.push(t.trim())}}return r.join(n)}async function p(e,t,n){let r=`${t}/mcp.json`,i=await C(e,r);if(!i)return{status:`absent`,servers:[]};if(i.type!==`file`)return n.push(S(`mcp`,`"mcp.json" exists but is not a regular file; MCP disabled`)),{status:`invalid`,servers:[]};let a;try{a=JSON.parse(await e.readTextFile(r))}catch(e){return n.push(S(`mcp`,`mcp.json is not valid JSON: ${e instanceof Error?e.message:e}; MCP disabled`)),{status:`invalid`,servers:[]}}if(typeof a!=`object`||!a||Array.isArray(a))return n.push(S(`mcp`,`mcp.json must contain a top-level object; MCP disabled`)),{status:`invalid`,servers:[]};let o=a,s=Object.keys(o).filter(e=>e!==`$schema`&&e!==`mcpServers`);if(s.length>0)return n.push(S(`mcp`,`mcp.json has unexpected top-level fields (${s.join(`, `)}); MCP disabled`)),{status:`invalid`,servers:[]};if(o.$schema!==`https://agent-plugins.org/schemas/1.0.0/mcp.schema.json`)return n.push(S(`mcp`,`mcp.json $schema is missing or targets an unsupported version; MCP disabled`)),{status:`invalid`,servers:[]};let c=o.mcpServers;if(typeof c!=`object`||!c||Array.isArray(c))return n.push(S(`mcp`,`mcp.json "mcpServers" must be an object; MCP disabled`)),{status:`invalid`,servers:[]};let l=[];for(let[e,t]of Object.entries(c)){let r=g(e,t);r.status!==`supported`&&n.push(S(`mcp`,`server "${e}" skipped: ${r.reason}`)),l.push(r)}return{status:`loaded`,servers:l}}const m=new Set([`type`,`command`,`args`,`env`,`cwd`]),h=new Set([`type`,`url`,`headers`]);function g(e,t){if(typeof t!=`object`||!t||Array.isArray(t))return{name:e,status:`invalid`,reason:`server entry must be an object`};let n=t,r=n.type;if(r===`stdio`){let t=Object.keys(n).filter(e=>!m.has(e));return t.length>0?{name:e,status:`invalid`,reason:`unknown field(s): ${t.join(`, `)}`}:typeof n.command!=`string`||n.command.length===0?{name:e,status:`invalid`,reason:`"command" must be a non-empty string`}:{name:e,status:`unsupported-transport`,reason:`stdio transport is unsupported (slicc cannot launch subprocesses in the browser)`}}if(r===`streamable-http`||r===`sse`){let t=Object.keys(n).filter(e=>!h.has(e));if(t.length>0)return{name:e,status:`invalid`,reason:`unknown field(s): ${t.join(`, `)}`};let i=_(n.url);if(i)return{name:e,status:`invalid`,reason:i};let a=y(n.headers);return a?{name:e,status:`invalid`,reason:a}:r===`sse`?{name:e,status:`unsupported-transport`,reason:`legacy HTTP+SSE transport is unsupported (streamable-http only)`}:{name:e,status:`supported`,config:{type:r,url:n.url,...n.headers?{headers:n.headers}:{}}}}return{name:e,status:`invalid`,reason:`unknown transport type "${String(r)}"`}}function _(e){if(typeof e!=`string`)return`"url" must be a string`;let t;try{t=new URL(e)}catch{return`"url" is not an absolute URL: ${e}`}return t.protocol!==`https:`&&t.protocol!==`http:`?`"url" must be HTTP or HTTPS: ${e}`:t.username||t.password?`"url" must not contain user information`:t.hash?`"url" must not contain a fragment`:t.protocol===`http:`&&!v(t.hostname)?`non-loopback endpoints must use HTTPS`:null}function v(e){return!!(e===`localhost`||/^127(\.\d{1,3}){3}$/.test(e)||e===`[::1]`||e===`::1`)}function y(e){if(e===void 0)return null;if(typeof e!=`object`||!e||Array.isArray(e))return`"headers" must be an object of strings`;let t=new Set;for(let[n,r]of Object.entries(e)){if(typeof r!=`string`)return`header "${n}" must have a string value`;if(!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/.test(n))return`invalid header name "${n}"`;let e=n.toLowerCase();if(t.has(e))return`duplicate header name "${n}" (case-insensitive)`;t.add(e)}return null}function b(e){let t=e.replace(/\/+/g,`/`);return t.length>1?t.replace(/\/$/,``):t}function x(e,t){return{level:`error`,component:e,message:t}}function S(e,t){return{level:`warning`,component:e,message:t}}async function C(e,t){try{return await e.stat(t)}catch{return null}}export{i as loadPluginFromDirectory};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/setup-feature-flags-remote-DtLgZPds.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-CRGwg9SK.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-B4g-4VbQ.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/base64-DpPqYZJF.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/messages-BD4p8GuF.js","assets/wc-shell-DrXzWzBs.js","assets/image-markers-BXtVm4og.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-CgsZ7LTp.js","assets/runtime-env-E-i2SW1s.js","assets/html-B_Hg2WOy.js","assets/icons-ZLR7gmJ4.js","assets/dictation-priming-CNllGgNq.js","assets/agent-message-to-chat-_cvF5A5g.js","assets/timestamp-preference-sKwBl5I8.js","assets/src-DsDPrXOS.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/panel-registry-CJdOibpf.js","assets/layout-schema-m9_VAwOw.js","assets/trusted-layer-ghPA1ENf.js","assets/wc-scoop-color-CByZNEJo.js","assets/wc-shell-WkeczD9x.css","assets/wc-follower-Di7VVZ0z.js","assets/logger-DDBAeTLF.js","assets/tray-sync-protocol-BZ5yhJH9.js","assets/wc-live-1OpoOfN1.js","assets/account-store-D1f8dn0G.js","assets/bedrock-camp-qpZqnqLa.js","assets/diagnostics-DN_idNHx.js","assets/transform-messages-N_eMsP2M.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-gbjkpjE_.js","assets/libesm-BI4UHVqp.js","assets/float-topology-BgioAcOd.js","assets/secret-topology-xLmXoozo.js","assets/secrets-bridge-client-cWDAnFqs.js","assets/port-bridge-client-BbVs1yhx.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BAjAn8LJ.js","assets/panel-rpc-B3MSVImO.js","assets/mime-types-ugOWOUZ9.js","assets/setup-standalone-prelude-B5yx5j_i.js","assets/bridge-launch-params-zrpWWxT3.js","assets/setup-sudo-CGpFS_H9.js","assets/tray-follower-status-BAjnN7Ar.js","assets/src-BWaKqLvQ.js","assets/chat-session-store-pWb1-jNp.js","assets/tray-leader-DcRtwWl-.js","assets/db-DIbBClfy.js","assets/record-Z5ZWTUPJ.js","assets/shared-CddfUR6k.js","assets/export-provider-BEHTjSYw.js","assets/dip-B58NQGEQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-B3LG5UIy.js","assets/usb-operations-Cgk-otz-.js","assets/usb-device-registry-CRsCisej.js","assets/sprinkle-renderer-D64E-W2o.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/sprinkle-bridge-CSfksHce.js","assets/session-freezer-DYVYVWZ3.js","assets/attachments-CByeG2Ru.js","assets/types-idfTVsM8.js","assets/follower-presentation-DqBw0YiV.js","assets/host-command-G_JIdBPR.js","assets/browser-DdY1FBRp.js","assets/leader-session-events-CC6poXIx.js","assets/wc-tray-scoops-B2RP8cgD.js","assets/slicc-app-url-BsBryEhn.js","assets/remote-cdp-transport-CgOXLjZ8.js","assets/pending-request-table-Dgn6qYdL.js","assets/tray-sync-protocol-DV_QG_Ey.js","assets/export-spool-Eul4J1RP.js","assets/wc-sprinkles-Hdy-5FTU.js","assets/wc-attach-DsMfUpx8.js","assets/wc-permissions-gFKCQht9.js","assets/oauth-bootstrap-CRJLIz8V.js","assets/provider-settings-DcYK3m1J.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/logger-BoSvu4mW.js","assets/legacy-styles-DcRu2WCJ.js","assets/connect-surface-NkMUeXbQ.js","assets/wc-extension-wBWx11Lq.js","assets/wc-detached-B3WCbbZT.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import"./modulepreload-polyfill-P2Xu9kJm.js";import{a as e}from"./account-store-D1f8dn0G.js";import{t}from"./preload-helper-Czpn1I53.js";import{t as n}from"./logger-DDBAeTLF.js";import{t as r}from"./bridge-launch-params-zrpWWxT3.js";import{n as i,t as a}from"./runtime-env-Dlaokqg1.js";import"./runtime-env-CgsZ7LTp.js";import{t as o}from"./telemetry-BVzuNdvW.js";import{a as s}from"./providers-BAjAn8LJ.js";import{n as c}from"./feature-flags-ByMXaIc4.js";import{o as l,s as u,t as d}from"./setup-standalone-prelude-B5yx5j_i.js";import"./provider-settings-DcYK3m1J.js";var f=`slicc:bridge-config`,p=`slicc:extension-delegate-config`;function m(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`slicc:ext-fetch`&&typeof t.extensionId==`string`&&!!t.request&&typeof t.request==`object`}var h=n(`boot/ext-fetch-delegate`);function g(){let e=globalThis.chrome?.runtime;return e&&typeof e.connect==`function`?e:null}function _(e,t,n){let r=g();if(!r){try{t.postMessage({type:`response-error`,error:`extension-delegate: chrome.runtime.connect unavailable`})}catch{}t.close();return}let i=e.extensionId||n,a;try{a=r.connect(i,{name:`fetch-proxy.fetch`})}catch(e){try{t.postMessage({type:`response-error`,error:`extension-delegate: connect failed — ${e instanceof Error?e.message:String(e)}`})}catch{}t.close();return}let o=!1,s=()=>{o=!0;try{a.disconnect()}catch{}try{t.close()}catch{}};a.onMessage.addListener(e=>{if(o)return;let n=e;try{t.postMessage(n)}catch{}(n.type===`response-end`||n.type===`response-error`)&&s()}),a.onDisconnect.addListener(()=>{if(!o){try{t.postMessage({type:`response-error`,error:`extension-delegate: fetch-proxy port disconnected`})}catch{}s()}}),a.postMessage({type:`request`,...e.request})}function v(e){typeof navigator>`u`||!navigator.serviceWorker||navigator.serviceWorker.addEventListener(`message`,t=>{if(!m(t.data))return;let n=t.ports?.[0];if(!n){h.warn(`delegated fetch envelope arrived without a response port`);return}_(t.data,n,e)})}var y=`slicc_feature_flags_remote`;function b(e){return`${y}:${e}`}function x(e,t){let n=C(t);c(e,w(n,e)??{})}function S(e,t,n){try{e?.setItem(b(t),JSON.stringify(n))}catch{}}function C(e){if(e!==void 0)return e;try{let e=globalThis.localStorage;return typeof e?.getItem!=`function`||typeof e.setItem!=`function`?void 0:e}catch{return}}function w(e,t){try{let n=e?.getItem(b(t));return n?T(JSON.parse(n)):null}catch{return null}}function T(e){return!E(e)||Object.values(e).some(e=>typeof e!=`string`)?null:e}function E(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function D(e,n){x(e,n.storage),t(async()=>{let{refreshFeatureFlagsForPage:e}=await import(`./setup-feature-flags-remote-DtLgZPds.js`);return{refreshFeatureFlagsForPage:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])).then(({refreshFeatureFlagsForPage:t})=>t(e,n)).catch(()=>{})}function O(e){let t=u(e.locationHref,e.isExtension,e.storage);return D(t,e),t}function k(){if(i())return;let e=new Blob([`
|
|
3
|
-
let lastPong = Date.now();
|
|
4
|
-
let frozen = false;
|
|
5
|
-
setInterval(() => {
|
|
6
|
-
postMessage({ type: 'ping' });
|
|
7
|
-
const elapsed = Date.now() - lastPong;
|
|
8
|
-
if (elapsed > 5000 && !frozen) {
|
|
9
|
-
frozen = true;
|
|
10
|
-
postMessage({ type: 'freeze-detected', elapsed });
|
|
11
|
-
}
|
|
12
|
-
}, 2000);
|
|
13
|
-
self.onmessage = (e) => {
|
|
14
|
-
if (e.data.type === 'pong') {
|
|
15
|
-
lastPong = Date.now();
|
|
16
|
-
if (frozen) {
|
|
17
|
-
frozen = false;
|
|
18
|
-
postMessage({ type: 'freeze-recovered' });
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
`],{type:`application/javascript`}),t=URL.createObjectURL(e),n=new Worker(t);URL.revokeObjectURL(t),n.onmessage=e=>{if(e.data.type===`ping`)n.postMessage({type:`pong`});else if(e.data.type===`freeze-detected`)console.error(`[freeze-watchdog] Main thread blocked for ${e.data.elapsed}ms — capturing trace on recovery`);else if(e.data.type===`freeze-recovered`){console.error(`[freeze-watchdog] Main thread recovered. Stack trace at recovery point:`),console.trace(`[freeze-watchdog] recovery stack`);let e=performance.getEntriesByType(`longtask`);e.length>0&&console.error(`[freeze-watchdog] Long tasks:`,e.map(e=>({duration:e.duration,startTime:e.startTime,name:e.name})))}},window.addEventListener(`beforeunload`,()=>{n.terminate()},{once:!0})}var A=`slicc-nuke-control`,j=[`slicc:welcome-flow-fired`,`slicc.trayJoinUrl`,`slicc.trayWorkerBaseUrl`];function M(e=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(A),n=t=>{let n=t.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}e()}};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n),t.close()}}var N=null;function P(){return N||(N=M(),N)}var F=n(`boot/sw-registration`);async function I(e=null,t=null){let n=(()=>{try{return new URL(window.location.href).searchParams.get(`connect`)===`1`}catch{return!1}})();if(`serviceWorker`in navigator&&n&&await z())return`reload-pending`;if(!(`serviceWorker`in navigator)||n)return`ready`;try{if(await navigator.serviceWorker.register(`/preview-sw.js`,{scope:`/preview/`}),F.info(`Preview SW registered`),!i())try{await navigator.serviceWorker.register(`/llm-proxy-sw.js`,{scope:`/`}),F.info(`LLM-proxy SW registered`)}catch(e){F.error(`LLM-proxy SW registration failed — cross-origin LLM calls will hit CORS`,e)}if(navigator.serviceWorker.controller||await Promise.race([new Promise(e=>navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})),new Promise(e=>setTimeout(e,1500))]),!navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-sw-reloaded`))return sessionStorage.setItem(`slicc-sw-reloaded`,`1`),F.info(`Reloading once to gain SW control`),location.reload(),`reload-pending`;sessionStorage.removeItem(`slicc-sw-reloaded`),e&&(L(e),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{L(e)})),t&&(R(t),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{R(t)}))}catch(e){F.error(`Preview SW registration failed — preview feature will not work`,e)}return`ready`}function L(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:f,apiBaseUrl:e.apiBaseUrl,token:e.token};try{t.postMessage(n)}catch(e){F.warn(`LLM-proxy SW bridge-config postMessage failed`,e)}}function R(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:p,extensionId:e.extensionId};try{t.postMessage(n)}catch(e){F.warn(`LLM-proxy SW extension-delegate postMessage failed`,e)}}async function z(){try{let e=await navigator.serviceWorker.getRegistrations();if(await Promise.all(e.map(e=>e.unregister().catch(()=>!1))),navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-connect-sw-cleared`))return sessionStorage.setItem(`slicc-connect-sw-cleared`,`1`),F.info(`connect mode: detaching from service worker (no proxy on worker origin)`),location.reload(),!0;sessionStorage.removeItem(`slicc-connect-sw-cleared`)}catch(e){F.error(`connect-mode SW cleanup failed`,e)}return!1}var B=n(`main`);function V(e){try{return new URL(e).searchParams.has(`ui-fixture`)}catch{return!1}}async function H(){l();let n=document.getElementById(`app`);if(!n)throw Error(`#app element not found`);let c=i(),u=O({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,isDev:!1,isExtension:c});if(V(window.location.href)){let{mountWcUiPreview:e}=await t(async()=>{let{mountWcUiPreview:e}=await import(`./wc-shell-DrXzWzBs.js`).then(e=>e.o);return{mountWcUiPreview:e}},__vite__mapDeps([11,5,6,3,12,13,8,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]));e(n);return}k(),P(),u!==`connect`&&o().catch(()=>{});let f=r(window.location.search),p=u===`cherry`?null:d(window.location.search),m=!!p&&a();if(await I(f?{apiBaseUrl:f.apiBaseUrl,token:f.token}:null,m&&p?{extensionId:p.extensionId}:null)===`reload-pending`)return;if(!c&&(u===`follower`||u===`cherry`)){let{mountWcUiFollower:e}=await t(async()=>{let{mountWcUiFollower:e}=await import(`./wc-follower-Di7VVZ0z.js`);return{mountWcUiFollower:e}},__vite__mapDeps([29,6,30,3,31,32,5,33,34,35,36,37,38,39,40,4,7,8,9,41,15,42,43,44,12,45,46,47,48,13,14,1,2,10,49,50,51,52,53,16,54,55,56,57,58,18,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,19,11,20,21,22,23,24,25,26,27,28,73,74,75,76,77,78,79,80,81,82,83,84,85]));return e(n,B,u)}await s(),e();let{bootstrapOAuthReplicas:h}=await t(async()=>{let{bootstrapOAuthReplicas:e}=await import(`./oauth-bootstrap-CRJLIz8V.js`);return{bootstrapOAuthReplicas:e}},__vite__mapDeps([86,33,5,6,34,35,36,37,38,39,40,30,3,4,7,8,9,41,15,42,43,44,12,45,46,47,87,13,14,2,10,52,88,89,90]));if(await Promise.race([h().catch(e=>{B.error(`OAuth bootstrap failed`,e)}),new Promise(e=>setTimeout(e,1e4))]),u===`connect`){globalThis.__slicc_connect_mode=!0;let{loadLegacyStyles:e}=await t(async()=>{let{loadLegacyStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadLegacyStyles:e}},__vite__mapDeps([91,6]));await e();let{mountConnectSurface:r}=await t(async()=>{let{mountConnectSurface:e}=await import(`./connect-surface-NkMUeXbQ.js`);return{mountConnectSurface:e}},__vite__mapDeps([92,33,5,6,34,35,36,37,38,39,40,30,3,4,7,8,9,41,15,42,43,44,12,45,46,47,87,13,14,2,10,52,88,89]));await r(n);return}if(c){let{mountWcUiExtension:e}=await t(async()=>{let{mountWcUiExtension:e}=await import(`./wc-extension-wBWx11Lq.js`);return{mountWcUiExtension:e}},__vite__mapDeps([93,6,32,5,33,34,35,36,37,38,39,40,30,3,4,7,8,9,41,15,42,43,44,12,45,46,47,48,13,14,1,2,10,49,50,51,52,53,16,54,55,56,57,58,18,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,19,11,20,21,22,23,24,25,26,27,28,73,74,75,76,94]));return e(n,B,u===`extension-detached`)}m&&p&&v(p.extensionId);let{mountWcUiLive:g}=await t(async()=>{let{mountWcUiLive:e}=await import(`./wc-live-1OpoOfN1.js`).then(e=>e.r);return{mountWcUiLive:e}},__vite__mapDeps([32,5,33,6,34,35,36,37,38,39,40,30,3,4,7,8,9,41,15,42,43,44,12,45,46,47,48,13,14,1,2,10,49,50,51,52,53,16,54,55,56,57,58,18,59,60,61,62,63,64,65,66,67,68,69,70,71,72,17,19,11,20,21,22,23,24,25,26,27,28,73,74,75,76]));return g(n,B,u)}function U(e,t){let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.textContent=`Failed to start`;let i=document.createElement(`p`);i.textContent=t instanceof Error?t.message:String(t);let a=document.createElement(`button`);a.type=`button`,a.textContent=`Reload`,a.addEventListener(`click`,()=>location.reload()),n.append(r,i,a),e.replaceChildren(n)}async function W(e,n){let r;try{({renderBootRecoveryScreen:r}=await t(()=>import(`./recovery-screen-CC3JYs-j.js`),[]))}catch{U(e,n);return}if(r(e,n),n instanceof Error&&n.message.includes(`did not signal ready`))try{let{triageModuleWorkerHealth:i}=await t(async()=>{let{triageModuleWorkerHealth:e}=await import(`./worker-triage-BvsMZrdR.js`);return{triageModuleWorkerHealth:e}},[]),a=await i();a===`browser-wedged`&&r(e,n,{verdict:a})}catch{}}H().catch(e=>{B.error(`Fatal error`,e);let t=document.getElementById(`app`);t&&W(t,e)});export{C as n,S as r,j as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./store-sdSLaoJp.js";export{e as readMcpAuthEntries};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-DYlB7tTf.js","assets/account-store-D1f8dn0G.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/bedrock-camp-qpZqnqLa.js","assets/diagnostics-DN_idNHx.js","assets/transform-messages-N_eMsP2M.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-gbjkpjE_.js","assets/libesm-BI4UHVqp.js","assets/logger-DDBAeTLF.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-B4g-4VbQ.js","assets/base64-DpPqYZJF.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/float-topology-BgioAcOd.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-xLmXoozo.js","assets/secrets-bridge-client-cWDAnFqs.js","assets/port-bridge-client-BbVs1yhx.js","assets/image-markers-BXtVm4og.js","assets/tool-ui-DfXu6quJ.js","assets/panel-rpc-B3MSVImO.js","assets/local-llm-CwFpBJ4H.js","assets/legacy-api-aliases-CsTVszvY.js","assets/adobe-B034kk8u.js","assets/provider-settings-DcYK3m1J.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-CgsZ7LTp.js","assets/tray-runtime-config-CRGwg9SK.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-BAjnN7Ar.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/silent-renew-backoff-BhyOB6Rq.js","assets/bridge-launch-params-zrpWWxT3.js","assets/oauth-service-Cy5ngmcU.js","assets/permissions-surface-registry-CilCRwhh.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-O8AuH6NY.js","assets/github-copilot-DsCq9ehC.js","assets/github-CE8SlGEA.js","assets/global-db-CbuLl-zx.js","assets/openai-codex-DhoN0DsA.js","assets/pkce-hGf_TEnP.js","assets/openrouter-models-BhgPe74G.js","assets/openrouter-oauth-BeOk-ba4.js","assets/openrouter-DvfkEaFA.js","assets/xai-grok-D__MgEgm.js","assets/xai-grok-errors-bnlIBeu-.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./preload-helper-Czpn1I53.js";var n={include:[`*`],exclude:[`amazon-bedrock`,`xai`]},r=e({getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>u,shouldIncludeProvider:()=>a}),i=Object.assign({"/packages/dev-tools/providers.build.json":n})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function a(e){let{include:t,exclude:n}=i;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var o=Object.assign({"./built-in/azure-ai-foundry.ts":()=>t(()=>import(`./azure-ai-foundry-Bo0FAJyX.js`),[]),"./built-in/azure-openai.ts":()=>t(()=>import(`./azure-openai-DYlB7tTf.js`),__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])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-qpZqnqLa.js`).then(e=>e.n),__vite__mapDeps([4,2,5,6,3,7,8,9])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-CwFpBJ4H.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-B034kk8u.js`),__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,28,29,30,31,32,33,34,35,36,37,38,39,40])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-O8AuH6NY.js`),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-DsCq9ehC.js`),__vite__mapDeps([42,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,28,29,30,31,32,33,34,35])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-CE8SlGEA.js`),__vite__mapDeps([43,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,31,32,28,29,30,33,34,35,36,37,38,39,44])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-DhoN0DsA.js`),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,28,29,30,31,32,33,34,35,46])),"/packages/webapp/providers/openrouter-models.ts":()=>t(()=>import(`./openrouter-models-BhgPe74G.js`),__vite__mapDeps([47,9])),"/packages/webapp/providers/openrouter-oauth.ts":()=>t(()=>import(`./openrouter-oauth-BeOk-ba4.js`),__vite__mapDeps([48,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,28,29,30,31,32,33,34,35,46])),"/packages/webapp/providers/openrouter.ts":()=>t(()=>import(`./openrouter-DvfkEaFA.js`),__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,28,29,30,31,32,33,34,35,47,48,46])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-D__MgEgm.js`),__vite__mapDeps([50,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,28,29,30,31,32,33,34,35,46,51]))}),c=new Map,l=null;function u(){return l||(l=(async()=>{for(let[e,t]of Object.entries(o)){let e=await t();e.config&&a(e.config.id)&&(c.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(s)){let e=await t();e.config&&(c.set(e.config.id,e.config),e.register?.())}})(),l)}function d(e){return c.get(e)}function f(){return[...c.keys()]}function p(e){c.set(e.id,e)}export{u as a,p as i,f as n,a as o,r,d as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/extension-bridge-transport-D3PItLFo.js","assets/logger-DDBAeTLF.js","assets/pending-request-table-Dgn6qYdL.js","assets/lick-ws-bridge-CWRES2H2.js","assets/logger-BoSvu4mW.js","assets/tray-leader-DcRtwWl-.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/proxied-fetch-B4g-4VbQ.js","assets/preload-helper-Czpn1I53.js","assets/base64-DpPqYZJF.js","assets/src-CAWTvdAa.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/runtime-env-CgsZ7LTp.js","assets/runtime-env-E-i2SW1s.js","assets/tray-runtime-config-CRGwg9SK.js","assets/messages-BD4p8GuF.js","assets/db-DIbBClfy.js","assets/cdp-BAGGi_P9.js","assets/navigation-watcher-CcKsLKw9.js","assets/handoff-link-BM4ctkE8.js","assets/remote-cdp-transport-CgOXLjZ8.js","assets/tray-sync-protocol-BZ5yhJH9.js","assets/main-cherry-L2scWl6W.js","assets/synthetic-cdp-transport-Ds83IPjw.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import"./src-CAWTvdAa.js";import{c as n,l as r,s as i}from"./proxied-fetch-B4g-4VbQ.js";import{t as a}from"./bridge-launch-params-zrpWWxT3.js";import{t as o}from"./runtime-env-Dlaokqg1.js";import"./runtime-env-CgsZ7LTp.js";import"./messages-BD4p8GuF.js";import{d as s,s as c,t as l,u}from"./tray-runtime-config-CRGwg9SK.js";import{t as d}from"./setup-sudo-CGpFS_H9.js";function f(e,t,n){if(t){try{if(new URL(e).searchParams.has(`detached`))return`extension-detached`}catch{}return`extension`}try{let t=new URL(e);if(t.searchParams.get(`connect`)===`1`)return`connect`;if(t.searchParams.get(`runtime`)===`hosted-leader`)return`hosted-leader`;if(t.searchParams.get(`cherry`)===`1`)return`cherry`;let r=n===void 0?typeof window<`u`?window.localStorage:null:n;return u(e,r)?`follower`:m(t)?`electron-overlay`:`standalone`}catch{return`standalone`}}function p(e,t){return e===`electron-overlay`||e===`hosted-leader`||e===`standalone`&&t}function m(e){return e.pathname===`/electron`||e.pathname===`/electron/`||e.searchParams.get(`runtime`)===`electron-overlay`}t(`stale-asset`);var h=`slicc-stale-asset-reload`;function g(e,t){if(typeof BroadcastChannel!=`function`)return()=>{};let n=new BroadcastChannel(h),r=n=>{let r=n.data;r?.type===`stale-asset-reload`&&r.instanceId===e&&t(r.replayTurn===!0)};return n.addEventListener(`message`,r),()=>{n.removeEventListener(`message`,r),n.close()}}var _=`slicc:stale-asset-reloaded-at`,v=6e4,y=`slicc:stale-asset-replay`;function b(e=window.sessionStorage){try{e.setItem(y,`1`)}catch{}}function x(e=window.sessionStorage){try{return e.getItem(y)===`1`&&(e.removeItem(y),!0)}catch{return!1}}function S(){return{reload:()=>window.location.reload(),storage:window.sessionStorage,now:()=>Date.now(),windowMs:v,storageKey:_}}function C(e,t,n){return e===null||t-e>=n}function w(e=S()){let t;try{t=e.storage.getItem(e.storageKey)}catch{return!1}let n=t===null?null:Number(t),r=n!==null&&Number.isFinite(n)?n:null,i=e.now();if(!C(r,i,e.windowMs))return!1;try{e.storage.setItem(e.storageKey,String(i))}catch{return!1}return e.reload(),!0}var T=null,E=null;function D(e){T||(E={...S(),...e},T=e=>{w(E)&&e.preventDefault()},window.addEventListener(`vite:preloadError`,T))}var O=null;function k(e){return O||(O=g(e,e=>{e&&b(),w(E??void 0)}),O)}var A=`slicc-cdp-superseded-banner`;function j(e){if(e.getElementById(A))return;let t=e.createElement(`div`);t.id=A,t.setAttribute(`role`,`alert`),t.textContent=`Another SLICC tab or window has taken control of this browser instance. Only one tab can drive the browser per instance — close the other tabs, then reload this page to resume.`,t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`right:0`,`z-index:2147483647`,`padding:10px 16px`,`background:#b3261e`,`color:#fff`,`font:13px/1.4 system-ui,sans-serif`,`text-align:center`,`box-shadow:0 1px 4px rgba(0,0,0,0.3)`].join(`;`),e.body.appendChild(t)}function M(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID():`slicc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function N(e){let t;try{t=new URLSearchParams(e)}catch{return null}if(t.get(`slicc`)!==`leader`)return null;let n=t.get(`ext`);return n?{extensionId:n}:null}var P=[100,200,400,800,1600];async function F(e,t,n,r=P,i=e=>new Promise(t=>setTimeout(t,e))){let a=r.length+1,o=null;for(let s=0;s<a;s++)try{await e.connect(t),s>0&&n.info(`CDP bridge connect succeeded after retry`,{attempt:s+1});return}catch(e){o=e,s<r.length&&await i(r[s]??0)}n.warn(`Initial CDP connect failed after retries; worker-forwarded commands will retry on demand`,o instanceof Error?o.message:String(o))}async function I(t,n,r){let{ExtensionBridgeTransport:i}=await e(async()=>{let{ExtensionBridgeTransport:e}=await import(`./extension-bridge-transport-D3PItLFo.js`);return{ExtensionBridgeTransport:e}},__vite__mapDeps([0,1,2])),{mapDiscoveryPayloadToLickEvent:a,mapNavigatePayloadToLickEvent:o}=await e(async()=>{let{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}=await import(`./lick-ws-bridge-CWRES2H2.js`);return{mapDiscoveryPayloadToLickEvent:e,mapNavigatePayloadToLickEvent:t}},__vite__mapDeps([3,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17])),s=null,c=[],l=!1,u=e=>{s=e;for(let t of c)e.sendForwardedLick(t);c.length=0},d=e=>{if(e){if(s){s.sendForwardedLick(e);return}c.length>=50&&(c.shift(),l||(l=!0,r.warn(`extension-bridge lick buffer overflow (cap 50); dropping oldest pending licks until the kernel client attaches`))),c.push(e)}},f=new t(new i({extensionId:n,onLick:e=>{d(o(e))},onDiscovery:e=>{d(a(e))},onOpenSettings:()=>{globalThis.dispatchEvent(new CustomEvent(`slicc:open-settings-from-panel`))}}));return await F(f,void 0,r),{browser:f,attachLickForwardingClient:u}}async function L(t){let{runtimeMode:u,envBaseUrl:f,window:m,log:h}=t,g=u===`electron-overlay`;h.info(`setting up standalone page runtime (BrowserAPI + CDP)`,{runtimeMode:u});let{BrowserAPI:_}=await e(async()=>{let{BrowserAPI:e}=await import(`./cdp-BAGGi_P9.js`);return{BrowserAPI:e}},__vite__mapDeps([18,1,2,4,19,20,10,21,22]));await d({log:h});let v,y,b,x=null,S=null,C=null,w=null,T,E=u===`cherry`?null:N(m.location.search),D=!!E&&o(),O=u===`cherry`||D?null:a(m.location.search);O?.apiBaseUrl&&(x=O.apiBaseUrl,r(O.apiBaseUrl),S=O.token,i(O.token)),O?.lickWsUrl&&(C=O.lickWsUrl);let k=u===`cherry`||D||O!==null,A=await c(),P=p(u,A!==null)?l:null;if(await s({locationHref:m.location.href,storage:m.localStorage,envBaseUrl:f,defaultWorkerBaseUrl:P,runtimeConfigFetcher:async()=>A}),u===`cherry`){let{setupCherryFollower:t}=await e(async()=>{let{setupCherryFollower:e}=await import(`./main-cherry-L2scWl6W.js`);return{setupCherryFollower:e}},__vite__mapDeps([23,1,10,2,18,4,19,20,21,22,24])),n=await t();v=n.browser,y=n.joinUrl,b=n.transport}else if(E&&o()){h.info(`Routing CDP through the extension bridge (leader tab)`);let e=await I(_,E.extensionId,h);v=e.browser,T=e.attachLickForwardingClient,w=E.extensionId,n(E.extensionId)}else{v=new _,O&&h.info(`Routing CDP through local standalone bridge`,{url:O.url,role:O.role??`(unset)`});let e=O?{url:O.url,protocols:O.subprotocol}:void 0;O?.role===`follower`?(h.info(`Skipping CDP connect for follower overlay tab`),v.primeConnectOptions(e)):(await F(v,e,h),v.setCdpSupersededHandler(()=>j(m.document)))}let L=v.getTransport();return globalThis.__slicc_browser=v,{browser:v,realCdpTransport:L,hasLocalCdpSurface:k,cherryJoinUrl:y,cherryTransport:b,instanceId:M(),isElectronOverlay:g,localApiBaseUrl:x,bridgeToken:S,localLickWsUrl:C,extensionDelegateId:w,attachLickForwardingClient:T}}export{k as a,w as i,L as n,D as o,x as r,f as s,N as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./src-CAWTvdAa.js";import"./bridge-launch-params-zrpWWxT3.js";function e(e){try{let t=new URL(e);if(t.searchParams.has(`bridge`))return!0;let n=t.hostname;return n!==`localhost`&&n!==`127.0.0.1`}catch{return!1}}function t(t,n){let r=e(t.pageHref),i=n();if(r){if(t.configuredRedirectUri){let e=``;try{e=new URL(t.configuredRedirectUri).origin}catch{e=``}if(e&&t.pageOrigin===e){let e=btoa(JSON.stringify({source:`opener`,path:`/auth/callback`,nonce:i}));return{redirectUri:t.configuredRedirectUri,oauthState:e,expectedNonce:i,source:`opener`}}let n=null;try{n=new URL(t.pageHref)}catch{n=null}if(n!==null&&n.protocol===`http:`&&(n.hostname===`localhost`||n.hostname===`127.0.0.1`)&&n.port!==``&&n){let e=parseInt(n.port,10),r=btoa(JSON.stringify({source:`local`,port:e,path:`/auth/callback`,nonce:i}));return{redirectUri:t.configuredRedirectUri,oauthState:r,expectedNonce:i,source:`local`}}}return{redirectUri:`${t.pageOrigin}/auth/callback`,oauthState:btoa(JSON.stringify({source:`opener`,path:`/auth/callback`,nonce:i})),expectedNonce:i,source:`opener`}}let a=t.configuredRedirectUri??`${t.pageOrigin}/auth/callback`,o=parseInt(new URL(t.pageHref).port||`5710`,10);return{redirectUri:a,oauthState:btoa(JSON.stringify({port:o,path:`/auth/callback`,nonce:i})),expectedNonce:i,source:`local`}}var n=3e5;function r(e=n){let t=0;return{async run(n,r=Date.now()){if(r<t)return null;let i=null;try{i=await n()}catch(e){console.debug(`[silent-renew-backoff] renew threw:`,e instanceof Error?e.message:String(e)),i=null}return t=i?0:r+e,i},inCooldown(e=Date.now()){return e<t}}}export{t as n,e as r,r as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./src-CcFD5QfS.js";function e(e){try{let t=new URL(e);if(t.searchParams.has(`bridge`))return!0;let n=t.hostname;return n!==`localhost`&&n!==`127.0.0.1`}catch{return!1}}function t(t,n){let r=e(t.pageHref),i=n();if(r){if(t.configuredRedirectUri){let e=``;try{e=new URL(t.configuredRedirectUri).origin}catch{e=``}if(e&&t.pageOrigin===e){let e=btoa(JSON.stringify({source:`opener`,path:`/auth/callback`,nonce:i}));return{redirectUri:t.configuredRedirectUri,oauthState:e,expectedNonce:i,source:`opener`}}let n=null;try{n=new URL(t.pageHref)}catch{n=null}if(n!==null&&n.protocol===`http:`&&(n.hostname===`localhost`||n.hostname===`127.0.0.1`)&&n.port!==``&&n){let e=parseInt(n.port,10),r=btoa(JSON.stringify({source:`local`,port:e,path:`/auth/callback`,nonce:i}));return{redirectUri:t.configuredRedirectUri,oauthState:r,expectedNonce:i,source:`local`}}}return{redirectUri:`${t.pageOrigin}/auth/callback`,oauthState:btoa(JSON.stringify({source:`opener`,path:`/auth/callback`,nonce:i})),expectedNonce:i,source:`opener`}}let a=t.configuredRedirectUri??`${t.pageOrigin}/auth/callback`,o=parseInt(new URL(t.pageHref).port||`5710`,10);return{redirectUri:a,oauthState:btoa(JSON.stringify({port:o,path:`/auth/callback`,nonce:i})),expectedNonce:i,source:`local`}}function n(e=3e5){let t=0;return{async run(n,r=Date.now()){if(r<t)return null;let i=null;try{i=await n()}catch(e){console.debug(`[silent-renew-backoff] renew threw:`,e instanceof Error?e.message:String(e)),i=null}return t=i?0:r+e,i},inCooldown(e=Date.now()){return e<t}}}export{t as n,e as r,n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(){return{version:`6.87.2`,releasedAt:`2026-08-24T07:59:19Z`,buildId:`6.87.2-mt6y3gq8`}}let t=null;function n(e){t=e}function r(){return t}export{e as n,n as r,r as t};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/layout-schema-m9_VAwOw.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/panelize-shell-BRldzPxv.js","assets/logger-DDBAeTLF.js","assets/virtual-device-paths-9EXC9iPp.js","assets/icons-ZLR7gmJ4.js","assets/src-DsDPrXOS.js","assets/preload-helper-Czpn1I53.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/panel-registry-CJdOibpf.js","assets/layout-apply-registry-Cw730jao.js","assets/trusted-layer-ghPA1ENf.js","assets/wc-live-1OpoOfN1.js","assets/account-store-D1f8dn0G.js","assets/bedrock-camp-qpZqnqLa.js","assets/diagnostics-DN_idNHx.js","assets/transform-messages-N_eMsP2M.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-gbjkpjE_.js","assets/libesm-BI4UHVqp.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-B4g-4VbQ.js","assets/base64-DpPqYZJF.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/float-topology-BgioAcOd.js","assets/runtime-env-E-i2SW1s.js","assets/secret-topology-xLmXoozo.js","assets/secrets-bridge-client-cWDAnFqs.js","assets/port-bridge-client-BbVs1yhx.js","assets/image-markers-BXtVm4og.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BAjAn8LJ.js","assets/panel-rpc-B3MSVImO.js","assets/mime-types-ugOWOUZ9.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-CgsZ7LTp.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-CRGwg9SK.js","assets/messages-BD4p8GuF.js","assets/setup-standalone-prelude-B5yx5j_i.js","assets/bridge-launch-params-zrpWWxT3.js","assets/setup-sudo-CGpFS_H9.js","assets/tray-follower-status-BAjnN7Ar.js","assets/src-BWaKqLvQ.js","assets/html-B_Hg2WOy.js","assets/chat-session-store-pWb1-jNp.js","assets/tray-leader-DcRtwWl-.js","assets/db-DIbBClfy.js","assets/record-Z5ZWTUPJ.js","assets/shared-CddfUR6k.js","assets/dictation-priming-CNllGgNq.js","assets/export-provider-BEHTjSYw.js","assets/dip-B58NQGEQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-B3LG5UIy.js","assets/usb-operations-Cgk-otz-.js","assets/usb-device-registry-CRsCisej.js","assets/sprinkle-renderer-D64E-W2o.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/sprinkle-bridge-CSfksHce.js","assets/session-freezer-DYVYVWZ3.js","assets/attachments-CByeG2Ru.js","assets/types-idfTVsM8.js","assets/agent-message-to-chat-_cvF5A5g.js","assets/wc-shell-DrXzWzBs.js","assets/timestamp-preference-sKwBl5I8.js","assets/wc-scoop-color-CByZNEJo.js","assets/wc-shell-WkeczD9x.css","assets/follower-presentation-DqBw0YiV.js","assets/host-command-G_JIdBPR.js","assets/browser-DdY1FBRp.js","assets/leader-session-events-CC6poXIx.js","assets/legacy-styles-DcRu2WCJ.js","assets/follower-navigate-watcher-CNC7ybEv.js","assets/navigation-watcher-CcKsLKw9.js","assets/handoff-link-BM4ctkE8.js","assets/discovery-preference-fqUhjzeE.js","assets/wc-transcript-export-DKIleW7-.js","assets/export-spool-Eul4J1RP.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{r as n}from"./src-CAWTvdAa.js";import{n as r}from"./tray-sync-protocol-BZ5yhJH9.js";import{i,n as a}from"./wc-live-1OpoOfN1.js";import{r as o,t as s}from"./feature-flags-ByMXaIc4.js";import{i as c,m as l,p as ee,r as u,u as te}from"./tray-runtime-config-CRGwg9SK.js";import{n as ne}from"./setup-standalone-prelude-B5yx5j_i.js";import{a as d,f,i as re,l as ie,r as ae,t as oe}from"./wc-tray-scoops-B2RP8cgD.js";import{a as se,t as ce}from"./tray-follower-status-BAjnN7Ar.js";import{n as le}from"./theme-engine-By4GU_Wc.js";import{i as p,r as m}from"./dip-B58NQGEQ.js";import{a as h,i as g}from"./wc-shell-DrXzWzBs.js";import{WcSprinkleZone as ue}from"./wc-sprinkles-Hdy-5FTU.js";import{wireWcAttach as de}from"./wc-attach-DsMfUpx8.js";import{r as fe}from"./leader-session-events-CC6poXIx.js";import{installLeaderPermissionsSurface as pe}from"./wc-permissions-gFKCQht9.js";var _=t(`follower-switch-out`);function me(e,t){t.stopFollower();try{t.storage.removeItem(u),e.workerBaseUrl===null?t.storage.removeItem(c):t.storage.setItem(c,e.workerBaseUrl)}catch(e){_.error(`follower switch-out: storage write failed — state may revert on reload`,{error:e instanceof Error?e.message:String(e)})}try{let e=t.getHref(),n=l(e);n!==e&&t.replaceHref(n)}catch(e){_.error(`follower switch-out: URL normalize failed — may re-enter follower on reload`,{error:e instanceof Error?e.message:String(e)})}t.reload()}var v=6;function he(e){let{refs:t,getSync:n,getTargets:r,hasCdpBrowser:i,log:a}=e;if(t.overlaySurfaces.has(`browser`))return{overlay:document.createElement(`slicc-tab-overlay`),refresh:()=>{}};let o=document.createElement(`slicc-tab-overlay`);o.setAttribute(`heading`,`Browser · tabs in this tray`),document.body.append(o);let s=()=>{o.tabs=r().map(e=>({id:e.targetId,title:e.title||e.url||e.targetId,url:e.url}))};return t.overlaySurfaces.add(`browser`),t.dock.addEventListener(`slicc-dock-select`,e=>{e.detail?.id===`browser`&&(s(),o.show(),t.dock.collapse?.())}),o.addEventListener(`tab-activate`,t=>{let r=t.detail.id,s=n(),c=s?.getLeaderProtocolVersion()??0;if(!(s&&i()&&c>=v)){let t=o.tabs.find(e=>e.id===r)?.url;if(!t){a.warn(`WC follower browser: no URL for tab`,{id:r});return}e.window.open(t,`_blank`,`noopener`)||a.warn(`WC follower browser: window.open was blocked`,{id:r}),o.hide();return}s.requestTabTeleport(r).then(e=>{a.info(`WC follower browser: leader teleported a tab here`,{source:r,targetId:e}),o.hide()}).catch(e=>{a.error(`WC follower browser: tab teleport failed`,e)})}),{overlay:o,refresh:s}}var y=new Set([`oauth-attempt`,`connect-attempt`,`device-code-decision`]);function ge(e){return y.has(e)}var b=`slicc-signin-redirect-style`,x=`wc-signin-redirect`,S=`
|
|
3
|
-
.${x}{display:flex;gap:10px;align-items:flex-start;margin:10px 12px;padding:12px 14px;
|
|
4
|
-
border:1px solid var(--line);border-radius:12px;background:var(--ghost);color:var(--ink);
|
|
5
|
-
font-family:var(--ui);font-size:13px;line-height:1.4;}
|
|
6
|
-
.${x}__body{flex:1;min-width:0;}
|
|
7
|
-
.${x}__title{font-weight:600;margin-bottom:2px;}
|
|
8
|
-
.${x}__sub{color:var(--txt-2);}
|
|
9
|
-
.${x}__open{appearance:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;
|
|
10
|
-
background:var(--canvas);color:var(--ink);font:inherit;font-weight:600;padding:6px 12px;white-space:nowrap;}
|
|
11
|
-
.${x}__open:hover{background:var(--ghost);}
|
|
12
|
-
.${x}__x{appearance:none;background:none;border:none;cursor:pointer;color:var(--txt-3);
|
|
13
|
-
font:inherit;font-size:16px;line-height:1;padding:0 2px;}
|
|
14
|
-
.${x}__x:hover{color:var(--ink);}
|
|
15
|
-
`;function C(e){if(e.getElementById(b))return;let t=e.createElement(`style`);t.id=b,t.textContent=S,e.head.appendChild(t)}function w(e,t){C(e);let n=e.createElement(`div`);n.className=x,n.setAttribute(`role`,`status`);let r=e.createElement(`div`);r.className=`${x}__body`;let i=e.createElement(`div`);i.className=`${x}__title`,i.textContent=t.title;let a=e.createElement(`div`);a.className=`${x}__sub`,a.textContent=t.sub,r.append(i,a);let o=e.createElement(`button`);if(o.type=`button`,o.className=`${x}__open`,o.textContent=t.buttonLabel,o.addEventListener(`click`,()=>t.onOpenTab()),n.append(r,o),t.dismissible){let t=e.createElement(`button`);t.type=`button`,t.className=`${x}__x`,t.setAttribute(`aria-label`,`Dismiss`),t.textContent=`×`,t.addEventListener(`click`,()=>n.remove()),n.append(t)}return n}function _e(e,t){let n=e.ownerDocument;t.onOpenTab();let r=e.querySelector(`.${x}`);if(r)return r.scrollIntoView?.({block:`nearest`}),r;let i=w(n,{title:`Sign in from the SLICC tab`,sub:`The side panel can't complete a provider login — we've switched you to the main SLICC tab. Finish signing in there (Settings › Providers), then come back.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!0});return e.append(i),i.scrollIntoView?.({block:`nearest`}),i}function ve(e,t){return w(e,{title:`Set up SLICC in the main tab`,sub:`SLICC needs a model connected before it can help. Open the main SLICC tab to finish setup and sign in, then come back to the side panel.`,buttonLabel:`Open SLICC tab`,onOpenTab:t.onOpenTab,dismissible:!1})}var T=t(`wc-follower`),E=`/shared/sprinkles/welcome/`,D={sendMessage:()=>{},onEvent:()=>()=>{},stop:()=>{}};function O(e){return e===void 0||e===`active`?{kind:`active`}:e.trim()===``?null:{kind:`frozen`,sessionId:e}}function k(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.style.color=`var(--s2-negative, #e34850)`,r.textContent=`Could not start follower`;let i=document.createElement(`p`);i.style.color=`var(--s2-content-tertiary, #717171)`,i.textContent=t,n.append(r,i),e.appendChild(n)}function A(e,t,n,r,i){let a=e=>{let t=document.createElement(`div`);return t.className=`wcui-placeholder`,t.textContent=e,t};i.files?(e.style.display=`none`,e.parentElement?.append(a(`Files live on the leader. A follower mirrors the leader's chat, sprinkles, and browser tabs - not its filesystem.`))):e.closest(`slicc-surface`)?.remove(),i.terminal?t.append(a(`The shell runs on the leader. A follower has no local terminal - drive the session through chat.`)):t.closest(`slicc-surface`)?.remove(),i.memory?n.append(a(`Memory lives on the leader. A follower has no local memory store.`)):n.closest(`slicc-surface`)?.remove(),i.monitor?(r.style.display=`none`,r.parentElement?.append(a(`Monitor reads the leader's kernel state. A follower has no local kernel.`))):r.closest(`slicc-surface`)?.remove()}var j={terminal:!0,files:!0,memory:!0,browser:!0,modelPicker:!0,history:!0,nav:!0,newSprinkle:!0,monitor:!0,showTimestamps:!0};function M(e){let t=[];for(let[n,r]of[[`terminal`,`term`],[`files`,`files`],[`memory`,`memory`],[`browser`,`browser`],[`monitor`,`monitor`],[`newSprinkle`,`new`]])e[n]||t.push(`slicc-dock-item[data-t="${r}"]`);if(e.modelPicker||t.push(`slicc-composer-meta`),e.history||t.push(`slicc-freezer`),e.nav||t.push(`slicc-nav`),!e.terminal&&!e.files&&!e.memory&&!e.browser&&!e.monitor&&t.push(`slicc-dock .div`,`slicc-dock .grow`),t.length||!e.history){let n=document.createElement(`style`),r=t.length?`${t.join(`,
|
|
16
|
-
`)}{display:none!important;}`:``;e.history||(r+=`
|
|
17
|
-
.wcui-appcol{padding-left:0!important;}`),n.textContent=r,document.head.append(n)}}function N(e,t){return e&&!t}async function P(t,n,r){let[{parseLayoutDocument:i},{panelizeShell:a}]=await Promise.all([e(()=>import(`./layout-schema-m9_VAwOw.js`).then(e=>e.s),__vite__mapDeps([0,1])),e(()=>import(`./panelize-shell-BRldzPxv.js`),__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,0,11,12]))]),o=i(n);if(`error`in o){r.warn(`follower: host-pushed layout failed validation — keeping the default`,{error:o.error});return}a(t.refs,o),r.info(`follower: applied host-pushed layout document`,{id:o.id,locked:o.locked===!0})}async function F(t,c,l){let u=l===`cherry`,_=u&&new URLSearchParams(window.location.search).get(`ui-only`)===`1`,v=window.location.ancestorOrigins?.[0],y=u&&(v?.startsWith(`chrome-extension://`)??!1),b;try{b=await ne({runtimeMode:l,envBaseUrl:null,window,log:c})}catch(e){let n=e instanceof Error?e.message:String(e);T.error(`follower prelude failed`,{runtimeMode:l,error:n}),k(t,n);return}let x=u?b.cherryJoinUrl:te(window.location.href,window.localStorage);if(!x){T.error(`follower mount with no join URL - falling back to live boot`);let{mountWcUiLive:n}=await e(async()=>{let{mountWcUiLive:e}=await import(`./wc-live-1OpoOfN1.js`).then(e=>e.r);return{mountWcUiLive:e}},__vite__mapDeps([13,1,14,7,15,16,17,18,19,20,21,3,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,5,68,69,70,6,8,9,10,0,12,71,72,73,74,75,76]));return n(t,c,`standalone`)}let S=a(t,u?`cherry · follower`:`follower`);if(u&&b.cherryTransport?.theme&&le(b.cherryTransport.theme),u&&b.cherryTransport?.flags)try{let e=JSON.parse(b.cherryTransport.flags);e&&typeof e==`object`&&!Array.isArray(e)&&s(e)}catch(e){T.warn(`follower: host-pushed flags were not valid JSON — ignoring`,e)}let C=o(`panel-layouts`);if(S.refs.dockTree.tilesMovable=C,u&&b.cherryTransport?.layout)try{let e=JSON.parse(b.cherryTransport.layout);e&&typeof e==`object`&&`base`in e?C?await P(S,e,T):T.warn(`follower: ignoring host-pushed layout — the panel-layouts flag is off`):S.refs.dockTree.setTree(e)}catch(e){T.warn(`follower: host-pushed layout was not valid JSON — keeping the default`,e)}let w=u&&b.cherryTransport?.effortLevel;w?localStorage.setItem(`slicc_locked_effort_level`,w):localStorage.removeItem(`slicc_locked_effort_level`);let F=u&&b.cherryTransport?{...j,...b.cherryTransport.features}:j,ye=S.refs.composerMeta;A(S.refs.fileTree,S.refs.termSurface,S.refs.memoryHost,S.refs.monitor,F),M(F),e(async()=>{let{applyTimestampVisibility:e,initTimestampPreference:t}=await import(`./timestamp-preference-sKwBl5I8.js`).then(e=>e.a);return{applyTimestampVisibility:e,initTimestampPreference:t}},__vite__mapDeps([70,1])).then(({applyTimestampVisibility:e,initTimestampPreference:t})=>{F.showTimestamps?t():e(!1)}),e(async()=>{let{loadDipStyles:e,loadSprinkleStyles:t}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadDipStyles:e,loadSprinkleStyles:t}},__vite__mapDeps([77,7])).then(({loadDipStyles:e,loadSprinkleStyles:t})=>Promise.all([e(),t()])).catch(()=>void 0);let I=new Map,L=()=>b.cherryTransport?.emitSliccEventToHost(`slicc.open-leader-tab`),R=()=>{y&&_e(S.refs.thread,{onOpenTab:L})},be=e=>{let t=e.querySelectorAll(`img[src^="${E}"]`);return t.length!==0&&(t.forEach((t,n)=>{n===0?t.replaceWith(ve(e.ownerDocument,{onOpenTab:L})):t.remove()}),!0)},xe=(e,t)=>{q.currentSync?.sendSprinkleLick(`inline`,{action:e,data:t}),ge(e)&&R()},z=new i({thread:S.refs.thread,agent:D,onQueuedChange:e=>{S.refs.queuedStack.setMessages(e)},onMessageRendered:(e,t)=>{let n=t[0];n&&(y&&be(n),I.set(e.id,p(n,xe)))},onMessageDisposed:e=>{let t=I.get(e);t&&(m(t),I.delete(e))},readOnlyToolUi:!0});if(S.setController(z),y)for(let e of[`slicc-error-open-settings`,`slicc-error-login`,`slicc-error-change-model`])S.refs.thread.addEventListener(e,()=>R());let B=`Connecting to leader…`,V=`Ask the leader, or describe a change…`,H=(e,t)=>{S.refs.inputCard.setAttribute(`placeholder`,t),e?S.refs.inputCard.removeAttribute(`disabled`):S.refs.inputCard.setAttribute(`disabled`,``)};H(!1,B),re(S.refs.floatbar),se(e=>{try{window.localStorage.setItem(f,JSON.stringify(e))}catch{}});try{window.localStorage.setItem(f,JSON.stringify(ce()))}catch{}_||S.refs.composer.setAttribute(`ptt`,``);let Se=de({inputCard:S.refs.inputCard,freezer:S.refs.freezer,composer:S.refs.composer,noCamera:_,log:T});S.refs.switcher.setAttribute(`gaze-target`,`slicc-input-card`),S.refs.inputCard.addEventListener(`input`,()=>{S.refs.switcher.scrutinize(),S.refs.switcher.wake()}),S.refs.inputCard.addEventListener(`submit`,e=>{let t=h(e)??``,n=Se.take();(t.trim()||n.length)&&(z.sendUserMessage(t,n,{steer:g(e)}),S.refs.inputCard.clear?.())});let U=new ue(S.refs).callbacks(),W=null,G=[],K=()=>{S.refs.switcher.scoops=oe(G,W)};S.refs.switcher.connection=`disconnected`;let q,J=null,Ce=()=>(J||=pe({runtimeMode:l})?.element??null,J),Y=[],we=he({refs:S.refs,getSync:()=>q.currentSync,getTargets:()=>Y,hasCdpBrowser:()=>N(b.hasLocalCdpSurface,_),window,log:T}),X=fe({composerMeta:ye,getSync:()=>q.currentSync,getSelectedScoopJid:()=>W,modelPickerEnabled:F.modelPicker,getLockedEffortLevel:()=>localStorage.getItem(`slicc_locked_effort_level`)});q=d({joinUrl:x,runtime:u?r:`slicc-standalone`,advertisesCdpTargets:N(b.hasLocalCdpSurface,_),onTargetsUpdated:e=>{Y=e,we.refresh()},...u||_?{}:{onOAuthPopupRequest:(e,t)=>ae(e,t,{getPermissionsSurface:Ce,window})},browserAPI:b.browser,onSnapshot:(e,t)=>{W=t,z.loadMessages(e),z.setProcessing(e.some(e=>e.isStreaming))},onUserMessage:(e,t,n,r)=>z.addUserMessage(e,r),onStatus:(e,t)=>{ie(t,W)&&z.setProcessing(e===`processing`)},setChatAgent:e=>{z.setAgent(e),e.onEvent(e=>{e.type===`tool_result`&&e.isError&&S.refs.switcher.glower()})},onSudoApprovalRequest:async t=>{let{openSudoApprovalDialog:n}=await e(async()=>{let{openSudoApprovalDialog:e}=await import(`./wc-sudo-approval-C3gSJjkF.js`);return{openSudoApprovalDialog:e}},[]),r=u?b.cherryTransport?.hostOrigin:void 0;return{decision:(await n({kind:t.kind,detail:t.detail,...t.suggestedPattern?{suggestedPattern:t.suggestedPattern}:{}},{allowAlways:!1,signal:t.signal,expiresAt:t.expiresAt,requester:t.scoopName??(r?`via ${r}`:void 0)})).decision,attestation:`none`}},onConnectionChange:e=>{S.refs.switcher.connection=e?`connected`:`disconnected`,H(e,e?V:B),e||X.reset(),u&&b.cherryTransport?.emitSliccEventToHost(e?`slicc.follower.ready`:`slicc.follower.disconnected`)},getSelectedScoopJid:()=>W,onLeaderStalled:e=>{H(!e,e?`The leader is busy — hang on…`:V)},onGaveUp:e=>{T.error(`follower gave up reaching the leader`,{error:e}),S.refs.switcher.connection=`disconnected`,H(!1,`Couldn't reach the leader. Reload to retry.`),X.reset(),u&&b.cherryTransport?.emitSliccEventToHost(`slicc.follower.disconnected`)},...u?{}:{onJoinUrlChanged:e=>{T.info(`follower joinUrl superseded, persisting replacement`,{newJoinUrl:e}),ee(window.localStorage,e)}},addSprinkle:U.addSprinkle,removeSprinkle:U.removeSprinkle,onOpen:e=>{/^https?:\/\//.test(e)?window.open(e,`_blank`,`noopener`):T.warn(`follower sprinkle open() of a local path is unavailable`,{path:e})},onScoopsList:(e,t)=>{(!W||!e.some(e=>e.jid===W))&&(W=t),G=e,K(),S.refs.switcher.setAttribute(`active`,W??t)},onModelsList:X.onModelsList,onModelState:X.onModelState,...u?{onCherrySliccEvent:(e,t)=>b.cherryTransport?.emitSliccEventToHost(e,t)}:{}});for(let e of[`save`,`skip`,`erase`])S.refs.freezer.addEventListener(`new-chat-${e}`,()=>{q.currentSync?.requestNewSession(e)});o(`agentic-memory`)&&S.refs.freezer.querySelector(`slicc-freezer-new`)?.setAttribute(`no-skip`,``),S.refs.switcher.addEventListener(`slicc-scoop-select`,e=>{let t=e.detail?.key;t&&(W=t,K(),S.refs.switcher.setAttribute(`active`,t),q.currentSync?.selectScoop(t))}),u&&b.cherryTransport&&(b.cherryTransport.onHostEvent=(e,t)=>q.currentSync?.sendCherryHostEvent(e,t),b.cherryTransport.onExportRequest=(e,t,r,i)=>{let a=q.currentSync;if(!a)return Promise.reject(new n(`transfer-aborted`));let o=O(t);return o?a.requestTranscriptExport(o,r,i):Promise.reject(new n(`session-not-found`))});let Z=null;if(!u){let{startFollowerNavigateWatcher:t}=await e(async()=>{let{startFollowerNavigateWatcher:e}=await import(`./follower-navigate-watcher-CNC7ybEv.js`);return{startFollowerNavigateWatcher:e}},__vite__mapDeps([78,3,23,1,7,24,22,25,26,79,80,81]));Z=t(b.realCdpTransport,()=>q.currentSync)}let Q=!1,$=()=>{S.refs.avatarMenu.items=[{kind:`separator`},...y?[{id:`focus-leader-tab`,label:`Bring leader to front`,icon:`external-link`}]:[],{id:`export-transcript`,label:Q?`Exporting…`:`Export transcript`,icon:`download`,disabled:Q||void 0},{id:`tray-stop`,label:`Disconnect from leader`,icon:`unplug`,danger:!0}]};$(),S.refs.avatarMenu.addEventListener(`slicc-avatar-action`,t=>{let n=t.detail?.id;if(n===`focus-leader-tab`){b.cherryTransport?.emitSliccEventToHost(`slicc.focus-leader-tab`);return}if(n===`tray-stop`){window.dispatchEvent(new CustomEvent(`slicc:tray-leave`,{detail:{workerBaseUrl:null}}));return}if(n===`export-transcript`&&!Q){Q=!0,$();let t=q.currentSync;if(!t){Q=!1,$();return}let n=new AbortController;t.requestTranscriptExport({kind:`active`},n.signal).then(async t=>{let{downloadTranscriptBlob:n}=await e(async()=>{let{downloadTranscriptBlob:e}=await import(`./wc-transcript-export-DKIleW7-.js`);return{downloadTranscriptBlob:e}},__vite__mapDeps([82,7,83,22,46,1]));await n(t,`slicc-transcript-${new Date().toISOString().slice(0,10)}.zip`)}).catch(e=>{T.error(`follower transcript export failed`,{error:String(e)})}).finally(()=>{Q=!1,$()})}}),window.addEventListener(`slicc:tray-leave`,e=>{me({workerBaseUrl:(e.detail??{}).workerBaseUrl??null},{storage:window.localStorage,stopFollower:()=>{Z?.(),q.stop()},getHref:()=>window.location.href,replaceHref:e=>window.history.replaceState(null,``,e),reload:()=>window.location.reload()})}),T.info(`follower mounted`,{runtimeMode:l,isCherry:u})}export{F as mountWcUiFollower};
|