sliccy 6.45.0 → 6.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/assets/{account-store-JKzb8Sg0.js → account-store-BgT4oxzX.js} +1 -1
- package/dist/ui/assets/{account-store-CRFbzp_M.js → account-store-COSWL3AZ.js} +1 -1
- package/dist/ui/assets/{adobe-B9ZW3OmH.js → adobe-BbYP8Pkn.js} +1 -1
- package/dist/ui/assets/{adobe-BekeUzWx.js → adobe-CAM1ZKrf.js} +1 -1
- package/dist/ui/assets/{apply-layout-C35QSrto.js → apply-layout-5mGF2ZK4.js} +1 -1
- package/dist/ui/assets/{apps-BX9mThFC.js → apps-EyqKxwGY.js} +1 -1
- package/dist/ui/assets/{azure-openai-CBdVFGTE.js → azure-openai-DNWCbmA4.js} +1 -1
- package/dist/ui/assets/{azure-openai-SlxuvWwz.js → azure-openai-DWp2V-0F.js} +1 -1
- package/dist/ui/assets/{cerebras-D-zMYfZw.js → cerebras-B-Oj6imC.js} +1 -1
- package/dist/ui/assets/{cerebras-CQ8htbPm.js → cerebras-BxAx0a41.js} +1 -1
- package/dist/ui/assets/{composer-speech-DjrdK6qX.js → composer-speech-BWgwwSEK.js} +1 -1
- package/dist/ui/assets/{connect-surface-CBCjGePi.js → connect-surface-CmfN_SEm.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-DO-sSGi6.js → ensure-speech-assets-PTDD7H7F.js} +1 -1
- package/dist/ui/assets/{fs-My9oYK9V.js → fs-dzJacoXN.js} +2 -2
- package/dist/ui/assets/{fs-Iwv8A11X.js → fs-h8lgoveI.js} +1 -1
- package/dist/ui/assets/{github-BRJz_BRG.js → github-BuqGRDL4.js} +1 -1
- package/dist/ui/assets/{github-copilot-CXLszFV0.js → github-copilot-CUadb3O1.js} +1 -1
- package/dist/ui/assets/{github-copilot-W9FPA2oz.js → github-copilot-CtxWCkg7.js} +1 -1
- package/dist/ui/assets/{github-install-CpjELCjF.js → github-install-BrR8Gop4.js} +1 -1
- package/dist/ui/assets/{github-BGJvNahB.js → github-lm_idBlY.js} +2 -2
- package/dist/ui/assets/{github-zip-DCO3SYeT.js → github-zip-DUMrdi6a.js} +1 -1
- package/dist/ui/assets/{hear-CorI8zW2.js → hear-B9-zPLZr.js} +1 -1
- package/dist/ui/assets/{hear-DyYjYZXw.js → hear-BGYMcw85.js} +1 -1
- package/dist/ui/assets/{kernel-worker-CHeR61gb.js → kernel-worker-BfJlqBvg.js} +429 -429
- package/dist/ui/assets/kokoro-engine-DW_lDc5n.js +2 -0
- package/dist/ui/assets/{local-llm-zuyFq1yY.js → local-llm-C3Xh7lkK.js} +1 -1
- package/dist/ui/assets/{local-llm-BTEAbG55.js → local-llm-SfqTUzqI.js} +1 -1
- package/dist/ui/assets/{main-CIdK-8q2.js → main-Ba6Lejzr.js} +3 -3
- package/dist/ui/assets/{mount-D118RgNS.js → mount-Dcy_8vhn.js} +2 -2
- package/dist/ui/assets/{mount-G60xpc5m.js → mount-Ir90pTiM.js} +1 -1
- package/dist/ui/assets/{mount-recovery-DxAMbOH7.js → mount-recovery-BQH7W1aN.js} +1 -1
- package/dist/ui/assets/{new-session-DOvoPnvN.js → new-session-DzSjr9sl.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-B-5DxE46.js → oauth-bootstrap-D3vRoN2k.js} +2 -2
- package/dist/ui/assets/{openai-codex-fEkq0rOK.js → openai-codex-_8LKMJmx.js} +1 -1
- package/dist/ui/assets/{openai-codex-BYCqlOzr.js → openai-codex-dw7bPIN5.js} +1 -1
- package/dist/ui/assets/{openrouter-dkfzjnfE.js → openrouter-CMKKLqQ1.js} +1 -1
- package/dist/ui/assets/{openrouter-BaNlFOit.js → openrouter-do50tpeH.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-ilxSOAsI.js → openrouter-oauth-COFSZp9l.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-B_VTZCtg.js → openrouter-oauth-CS8VKtxU.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-CxPC8lN7.js → panel-rpc-handlers-Dqy_eTf3.js} +2 -2
- package/dist/ui/assets/preview-vfs-responder-CluNpFQR.js +1 -0
- package/dist/ui/assets/{provider-D4ep8obn.js → provider-C88aDJ0w.js} +1 -1
- package/dist/ui/assets/{provider-Dowt-5Pu.js → provider-CasU9ASb.js} +2 -2
- package/dist/ui/assets/{provider-settings-r11tLc6D.js → provider-settings-D9LNV21x.js} +1 -1
- package/dist/ui/assets/{provider-settings-rFd6HghC.js → provider-settings-HB3iw4Ul.js} +1 -1
- package/dist/ui/assets/provider-store-access-CeLm8PkV.js +1 -0
- package/dist/ui/assets/{provider-store-access-BW4cnH7Z.js → provider-store-access-eLCrRhpm.js} +2 -2
- package/dist/ui/assets/{providers-Ccyqdqjq.js → providers-CMd3ScJD.js} +2 -2
- package/dist/ui/assets/{providers-CTyiPv1y.js → providers-DNz9rfjF.js} +1 -1
- package/dist/ui/assets/{quick-llm-CYbzDDrI.js → quick-llm-CYCLV-ip.js} +1 -1
- package/dist/ui/assets/{recovery-screen-CrpPSXGv.js → recovery-screen-6YmbbZF9.js} +1 -1
- package/dist/ui/assets/{redirect-uri-30skyme_.js → redirect-uri-BhNKYUXS.js} +1 -1
- package/dist/ui/assets/{session-freezer-CirGHXcZ.js → session-freezer-DlOcCz6k.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-BrG0-ady.js → setup-feature-flags-remote-BLUHhivw.js} +1 -1
- package/dist/ui/assets/{setup-standalone-prelude-bEnI_8SZ.js → setup-standalone-prelude-ClqELhIF.js} +1 -1
- package/dist/ui/assets/{setup-sudo-iqz7iHXV.js → setup-sudo-C4b-3rUh.js} +2 -2
- package/dist/ui/assets/{skills-2244iLGi.js → skills-DxW4UdPm.js} +1 -1
- package/dist/ui/assets/{speak-3ERYo9mh.js → speak-BP6s3kzt.js} +1 -1
- package/dist/ui/assets/speak-BR-XEaAe.js +3 -0
- package/dist/ui/assets/{store-Bz5ZENo8.js → store--0fpE_ZZ.js} +1 -1
- package/dist/ui/assets/{store-C376ALss.js → store-2ks_z1zz.js} +1 -1
- package/dist/ui/assets/{sudo-CjLF-Ny1.js → sudo-DzMk01S0.js} +1 -1
- package/dist/ui/assets/transformers-env-CvfifvRm.js +1 -0
- package/dist/ui/assets/transformers-env-h1XwWBUK.js +1 -0
- package/dist/ui/assets/{upgrade-detection-D83LlA99.js → upgrade-detection-hElk064d.js} +1 -1
- package/dist/ui/assets/{voice-reply-DuabCBM2.js → voice-reply-2AqNvqhZ.js} +1 -1
- package/dist/ui/assets/{wc-extension-B7piDgcE.js → wc-extension-CXbjz6DF.js} +2 -2
- package/dist/ui/assets/{wc-follower-BqGvv-S8.js → wc-follower-CMmK1H5V.js} +3 -3
- package/dist/ui/assets/{wc-live-CW64yowp.js → wc-live-CUse02DJ.js} +3 -3
- package/dist/ui/assets/{wc-nav-OcuAXHTa.js → wc-nav-CeJYfOlm.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-DaDHdHyM.js → wc-onboarding-CQF69M_E.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-vYS25wNG.js → wc-placeholder-Bs3ks0_u.js} +2 -2
- package/dist/ui/assets/{wc-settings-CoAFfPqZ.js → wc-settings-CTN5V7l1.js} +2 -2
- package/dist/ui/assets/{wc-shell-Ca9V0bdE.js → wc-shell-z95OYC-X.js} +2 -2
- package/dist/ui/assets/{wc-sprinkles-D4ROfZk3.js → wc-sprinkles-COPNQIIl.js} +2 -2
- package/dist/ui/assets/{wc-tray-DxnAjYGJ.js → wc-tray-DLhhUDvh.js} +2 -2
- package/dist/ui/assets/{whisper-engine-DKSa8auO.js → whisper-engine-yUbflZgR.js} +1 -1
- package/dist/ui/assets/{whisper-session-CnbZ_WW2.js → whisper-session-CvoLVx5i.js} +2 -2
- package/dist/ui/assets/{xai-grok-CfSINzxj.js → xai-grok-DlH7Hb4P.js} +1 -1
- package/dist/ui/assets/{xai-grok-CYMdxlFK.js → xai-grok-Dm1hjMEq.js} +1 -1
- package/dist/ui/index.html +6 -6
- package/dist/ui/packages/webapp/index.html +6 -6
- package/dist/ui/preview-sw.js +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/kokoro-engine-u_9YkV7P.js +0 -2
- package/dist/ui/assets/preview-vfs-responder-Dhck1Brc.js +0 -1
- package/dist/ui/assets/provider-store-access-B2pVY_7k.js +0 -1
- package/dist/ui/assets/speak-BJfvdDl7.js +0 -3
- package/dist/ui/assets/transformers-env-B2igCBi6.js +0 -1
- package/dist/ui/assets/transformers-env-DU9KkwRf.js +0 -1
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-Ba6Lejzr.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">
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/logger-BoSvu4mW.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-C-E235kX.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/tool-result-images-D8kQ0hH0.js">
|
|
30
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
30
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-CMd3ScJD.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/panel-rpc-B3MSVImO.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-BgT4oxzX.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/telemetry-DqIqVG5n.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/electron-overlay-route-CjT6k9Df.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/bridge-launch-params-B8x2eq4a.js">
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
<link rel="modulepreload" crossorigin href="/assets/messages-BD4p8GuF.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/tray-runtime-config-C82czC62.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/runtime-mode-BgSVO5sw.js">
|
|
40
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-
|
|
41
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-C4b-3rUh.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-ClqELhIF.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-5SqDRLX8.js">
|
|
43
43
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/tray-join-url-BIvzbiFR.js">
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/provider-settings-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/provider-settings-HB3iw4Ul.js">
|
|
46
46
|
</head>
|
|
47
47
|
<body>
|
|
48
48
|
<div id="app"></div>
|
|
@@ -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-Ba6Lejzr.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">
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
<link rel="modulepreload" crossorigin href="/assets/logger-BoSvu4mW.js">
|
|
28
28
|
<link rel="modulepreload" crossorigin href="/assets/tool-ui-C-E235kX.js">
|
|
29
29
|
<link rel="modulepreload" crossorigin href="/assets/tool-result-images-D8kQ0hH0.js">
|
|
30
|
-
<link rel="modulepreload" crossorigin href="/assets/providers-
|
|
30
|
+
<link rel="modulepreload" crossorigin href="/assets/providers-CMd3ScJD.js">
|
|
31
31
|
<link rel="modulepreload" crossorigin href="/assets/panel-rpc-B3MSVImO.js">
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/account-store-
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/account-store-BgT4oxzX.js">
|
|
33
33
|
<link rel="modulepreload" crossorigin href="/assets/telemetry-DqIqVG5n.js">
|
|
34
34
|
<link rel="modulepreload" crossorigin href="/assets/electron-overlay-route-CjT6k9Df.js">
|
|
35
35
|
<link rel="modulepreload" crossorigin href="/assets/bridge-launch-params-B8x2eq4a.js">
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
<link rel="modulepreload" crossorigin href="/assets/messages-BD4p8GuF.js">
|
|
38
38
|
<link rel="modulepreload" crossorigin href="/assets/tray-runtime-config-C82czC62.js">
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/runtime-mode-BgSVO5sw.js">
|
|
40
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-
|
|
41
|
-
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-sudo-C4b-3rUh.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/setup-standalone-prelude-ClqELhIF.js">
|
|
42
42
|
<link rel="modulepreload" crossorigin href="/assets/tray-follower-status-5SqDRLX8.js">
|
|
43
43
|
<link rel="modulepreload" crossorigin href="/assets/clipboard-eqmn97SP.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/tray-join-url-BIvzbiFR.js">
|
|
45
|
-
<link rel="modulepreload" crossorigin href="/assets/provider-settings-
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/provider-settings-HB3iw4Ul.js">
|
|
46
46
|
</head>
|
|
47
47
|
<body>
|
|
48
48
|
<div id="app"></div>
|
package/dist/ui/preview-sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{function
|
|
1
|
+
"use strict";(()=>{function T(e){let n=e.split(".").pop()?.toLowerCase()??"";return{html:"text/html",htm:"text/html",css:"text/css",js:"application/javascript",mjs:"application/javascript",json:"application/json",svg:"image/svg+xml",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",ico:"image/x-icon",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",mp3:"audio/mpeg",mp4:"video/mp4",webm:"video/webm",pdf:"application/pdf",txt:"text/plain",xml:"application/xml",wasm:"application/wasm"}[n]??"application/octet-stream"}var E=new Set(["text/html","text/css","text/plain","application/javascript","application/json","image/svg+xml","application/xml"]),j=3e4,k=200,b=3e3;async function R(e,n,i,r=j){let s=`pvfs-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise(t=>{let o,a;function l(){o!==void 0&&(clearInterval(o),o=void 0),a!==void 0&&(clearTimeout(a),a=void 0)}let u;function y(){u!==void 0&&clearTimeout(u),u=setTimeout(()=>{l(),e.removeEventListener("message",f),t({ok:!1,error:null})},r)}y();function f(W){let p=W.data;if(!(!p||p.id!==s)){if(p.type==="preview-vfs-ack"){l();return}if(p.type==="preview-vfs-start"){l(),y();return}if(p.type==="preview-vfs-response"){if(l(),e.removeEventListener("message",f),clearTimeout(u),typeof p.error=="string"){t({ok:!1,error:p.error});return}if(p.content!==void 0){t({ok:!0,content:p.content});return}t({ok:!1,error:"empty response"})}}}function x(){e.postMessage({type:"preview-vfs-read",id:s,path:n,asText:i})}e.addEventListener("message",f),x(),o=setInterval(x,k),a=setTimeout(l,Math.min(b,r))})}async function m(e,n,i=j){let r=n,s=T(r),t=await R(e,r,E.has(s),i);if(!t.ok&&t.error&&t.error.includes("EISDIR")&&(r=r.endsWith("/")?r+"index.html":r+"/index.html",s=T(r),t=await R(e,r,E.has(s),i)),t.ok){let a=typeof t.content=="string"?t.content:new Uint8Array(t.content);return new Response(a,{status:200,headers:{"Content-Type":s,"Cache-Control":"no-cache"}})}if(t.error&&!t.error.includes("ENOENT"))return console.error("[preview-sw] Error serving",n,t.error),new Response(`Preview error: ${t.error}`,{status:500,headers:{"Content-Type":"text/plain"}});let o=t.error===null?"responder timeout":"ENOENT";return console.warn("[preview-sw] 404 for",n,"-",o),new Response(`Not found (${o}): ${n}`,{status:404,headers:{"Content-Type":"text/plain"}})}function g(e){return e.startsWith("/@")||e.startsWith("/__")||e.startsWith("/api/")||e.startsWith("/packages/webapp/src/")||e.startsWith("/node_modules/")||e==="/"||e==="/index.html"}function v(e){if(!e)return null;let n;try{n=new URL(e).pathname}catch{return null}return n.startsWith("/")?n:null}function P(e,n,i,r){return!e||g(n)?null:r||i?.startsWith("/preview/")?e+n:null}var d=null,C=new Set,h=new Set,c=self,w=null;function S(){return w||(w=new BroadcastChannel("preview-vfs")),w}c.addEventListener("install",()=>{c.skipWaiting()});c.addEventListener("activate",e=>{e.waitUntil(c.clients.claim())});c.addEventListener("fetch",e=>{let n=new URL(e.request.url);if(n.origin===c.location.origin){if(n.pathname.startsWith("/preview/")){let i=n.searchParams.get("projectRoot");i&&(d=i,console.log("[preview-sw] Project root:",d));let r=n.pathname.slice(8);e.respondWith(m(S(),r));return}if(d!==null&&!g(n.pathname)){let i=d,r=e.request.mode==="navigate",s=e.resultingClientId;e.respondWith((async()=>{let t,o;try{if(r)t=v(e.request.referrer),o=t!==null&&h.has(t);else{let l=await c.clients.get(e.clientId);t=v(l?.url),o=l!==void 0&&C.has(l.id)||t!==null&&h.has(t)}}catch{return fetch(e.request)}let a=P(i,n.pathname,t,o);return a===null?fetch(e.request):(r&&(h.add(n.pathname),s&&C.add(s)),m(S(),a))})())}}});})();
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{a as t,i as n,o as r,r as i}from"./transformers-env-DU9KkwRf.js";const a=e(`speech:espeak`),o=`/workspace/node_modules/espeak-ng/dist/`,s=`espeak-ng.js`,c=`espeak-ng.wasm`;async function l(e,t,n,r){let i=`phonemes.txt`;return(await e({arguments:[`-q`,`-b=1`,`--ipa`,`-v`,n,`--phonout`,i,t],...r?{locateFile:r}:{}})).FS.readFile(i,{encoding:`utf8`}).split(`
|
|
2
|
-
`).map(e=>e.trim()).filter(e=>e.length>0)}function u(e,t){return async n=>{let r=URL.createObjectURL(new Blob([new Uint8Array(t)],{type:`application/wasm`}));try{let t=e=>e.endsWith(`.wasm`)?r:n.locateFile?.(e)??e;return await e({...n,locateFile:t})}finally{URL.revokeObjectURL(r)}}}function d(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable`));let t=new BroadcastChannel(`preview-vfs`),n=`espeak-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,s),t.close(),e()},o=setTimeout(()=>a(()=>i(Error(`ENOENT: ${e} (timed out)`))),3e4),s=t=>{let s=t.data;if(s?.type===`preview-vfs-response`&&s.id===n)if(clearTimeout(o),typeof s.error==`string`)a(()=>i(Error(s.error)));else if(s.content instanceof Uint8Array){let e=s.content;a(()=>r(e))}else if(typeof s.content==`string`){let e=s.content;a(()=>r(new TextEncoder().encode(e)))}else a(()=>i(Error(`Empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}async function f(){let[e,t]=await Promise.all([d(`${o}${s}`),d(`${o}${c}`)]),n=URL.createObjectURL(new Blob([new Uint8Array(e)],{type:`text/javascript`}));try{return{factory:u((await import(n)).default,t)}}finally{URL.revokeObjectURL(n)}}let p=f,m=null;function h(){return m||=p().then(({factory:e,locateFile:t})=>(a.info(`espeak-ng multilingual phonemizer loaded`),(n,r)=>l(e,n,r,t)),e=>{throw m=null,a.error(`espeak-ng load failed`,e),e}),m}const g=Object.freeze({e:`es`,f:`fr-fr`,i:`it`,h:`hi`,p:`pt-br`});function _(e){return g[e[0]]??null}const v=Object.freeze({a:`en-us`,b:`en-gb`});function y(e){return v[e[0]]??null}function b(e){let t=e instanceof Error?e.message:String(e);return/Invalid language identifier/i.test(t)&&/Should be one of:\s*\.?\s*$/i.test(t)}const x=RegExp(`(\\s*[${`;:,.!?¡¿—…"«»“”(){}[]`.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}]+\\s*)+`,`g`);function S(e){let t=[],n=0;for(let r of e.matchAll(x)){let i=r[0],a=r.index??0;n<a&&t.push({punct:!1,text:e.slice(n,a)}),i.length>0&&t.push({punct:!0,text:i}),n=a+i.length}return n<e.length&&t.push({punct:!1,text:e.slice(n)}),t}function C(e){return e.replace(/kəkˈoːɹoʊ/g,`kˈoʊkəɹoʊ`).replace(/kəkˈɔːɹəʊ/g,`kˈəʊkəɹəʊ`).replace(/(?<=[a-zɹrː])(?=hˈʌndɹɪd)/g,` `).replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,`z`).trim()}async function w(e,t,n){let r=S(e);return C((await Promise.all(r.map(async e=>e.punct?e.text:(await n(e.text,t)).join(` `)))).join(``))}const T=e(`speech:kokoro`),E=`onnx-community/Kokoro-82M-v1.0-ONNX`,D={a:`en-US`,b:`en-GB`,e:`es-ES`,f:`fr-FR`,i:`it-IT`,h:`hi-IN`,p:`pt-BR`,j:`ja-JP`,z:`zh-CN`},O=new Set([`en-US`,`en-GB`,`es-ES`,`fr-FR`,`it-IT`,`hi-IN`,`pt-BR`]);function k(e){let[t,n]=e.split(`-`);return n?`${t.toLowerCase()}-${n.toUpperCase()}`:t.toLowerCase()}function A(e,t){if(!t)return!1;if(O.has(t))return!0;if(t.includes(`-`))return!1;let n=D[e[0]];return n!==void 0&&O.has(n)&&n.split(`-`)[0].toLowerCase()===t}function j(e){return Object.entries(e).map(([e,t])=>{let n=t.language?k(t.language):D[e[0]];return{id:e,name:t.name||e,lang:n??`en-US`,onDevice:A(e,n),...t.gender?{gender:t.gender}:{}}})}const M=Object.freeze({ef_dora:{name:`Dora`,gender:`Female`},em_alex:{name:`Alex`,gender:`Male`},em_santa:{name:`Santa`,gender:`Male`},ff_siwis:{name:`Siwis`,gender:`Female`},hf_alpha:{name:`Alpha`,gender:`Female`},hf_beta:{name:`Beta`,gender:`Female`},hm_omega:{name:`Omega`,gender:`Male`},hm_psi:{name:`Psi`,gender:`Male`},if_sara:{name:`Sara`,gender:`Female`},im_nicola:{name:`Nicola`,gender:`Male`},pf_dora:{name:`Dora`,gender:`Female`},pm_alex:{name:`Alex`,gender:`Male`},pm_santa:{name:`Santa`,gender:`Male`},jf_alpha:{name:`Alpha`,gender:`Female`},jf_gongitsune:{name:`Gongitsune`,gender:`Female`},jf_nezumi:{name:`Nezumi`,gender:`Female`},jf_tebukuro:{name:`Tebukuro`,gender:`Female`},jm_kumo:{name:`Kumo`,gender:`Male`},zf_xiaobei:{name:`Xiaobei`,gender:`Female`},zf_xiaoni:{name:`Xiaoni`,gender:`Female`},zf_xiaoxiao:{name:`Xiaoxiao`,gender:`Female`},zf_xiaoyi:{name:`Xiaoyi`,gender:`Female`},zm_yunjian:{name:`Yunjian`,gender:`Male`},zm_yunxi:{name:`Yunxi`,gender:`Male`},zm_yunxia:{name:`Yunxia`,gender:`Male`},zm_yunyang:{name:`Yunyang`,gender:`Male`}});function N(e){let t={...e};for(let[e,n]of Object.entries(M))e in t||(t[e]=n);return j(t)}const P=`style_text_to_speech_2`,F=`StyleTextToSpeech2Model`;function I(e){return e?.model_type===P&&(!Array.isArray(e.architectures)||e.architectures.length===0)&&(e.architectures=[F]),e}const L=Symbol.for(`slicc.kokoro.style-tts2-arch-shim`);function R(e){let t=e?.AutoConfig,n=t?.from_pretrained;if(!t||typeof n!=`function`){T.debug(`style_text_to_speech_2 shim skipped: AutoConfig.from_pretrained unavailable`);return}if(n[L])return;let r=async(...e)=>{let r=await n.apply(t,e),i=r?.model_type===P&&(!Array.isArray(r.architectures)||r.architectures.length===0);return I(r),i&&T.debug(`style_text_to_speech_2 architectures injected for "${String(e[0])}": [${F}]`),r};r[L]=!0,t.from_pretrained=r,T.debug(`style_text_to_speech_2 architecture shim installed on AutoConfig.from_pretrained`)}async function z(e,t,n,r,i,a){let o=await w(t,n,a),s=e.tokenizer,{input_ids:c}=s(o,{truncation:!0}),l=await e.generate_from_ids(c,{voice:r,...i?{speed:i}:{}});return{audio:l.audio,sampleRate:l.sampling_rate}}const B=/(?<=[.!?。!?…])\s+|\n{2,}/u;function V(e,t){let n=t??B,r=e.split(n).map(e=>e.trim()).filter(e=>e.length>0),i=e.trim();return r.length>0?r:i?[i]:[]}let H=null,U=`idle`,W=null,G=null;function K(){return U}function q(){return W}function J(){return G}function Y(e){return H||=(U=`loading`,X(e).then(e=>(U=`ready`,G=e,e),e=>{throw U=`failed`,H=null,T.error(`kokoro load failed`,e),e})),H}async function X(e){let a=await import(`./transformers.web-DD4-hssb.js`);n(a.env),R(a),await i(E),await t();let{KokoroTTS:o,TextSplitterStream:s}=await import(`./kokoro-CZ21zrzj.js`),c=r(),l=typeof navigator<`u`&&`gpu`in navigator,u=await o.from_pretrained(E,{device:l?`webgpu`:`wasm`,dtype:l?`fp32`:`q8`,progress_callback:t=>{if(t?.file){if(t.status===`progress`)c.update(t.file,t.loaded??0,t.total??0);else if(t.status===`done`)c.complete(t.file);else return;W=c.snapshot(),e?.(W)}}});T.info(`kokoro ready`,{model:E,device:l?`webgpu`:`wasm`});let d=N(u.voices);return{async synthesize(e,t){let n=t?.voice??`af_heart`,r=_(n);if(r){let i=await h();return z(u,e,r,n,t?.speed,i)}try{let n=await u.generate(e,{...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}});return{audio:n.audio,sampleRate:n.sampling_rate}}catch(r){let i=await Z(r,n);if(!i)throw r;return z(u,e,i.lang,n,t?.speed,i.phonemize)}},async*synthesizeStream(e,t){let n=t?.voice??`af_heart`,r=_(n);if(r){let i=await h();for(let a of V(e,t?.splitPattern))yield await z(u,a,r,n,t?.speed,i);return}let i={...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}},a=new s;if(t?.splitPattern){let n=e.split(t.splitPattern).map(e=>e.trim()).filter(e=>e.length>0);a.push(...n)}else a.push(e);a.close();try{for await(let e of u.stream(a,i))yield{audio:e.audio.audio,sampleRate:e.audio.sampling_rate}}catch(r){let i=await Z(r,n);if(!i)throw r;for(let r of V(e,t?.splitPattern))yield await z(u,r,i.lang,n,t?.speed,i.phonemize)}},voices:()=>d}}async function Z(e,t){if(!b(e))return null;let n=y(t);if(!n)return null;try{let e=await h();return T.warn(`kokoro bundled phonemizer reported no languages; phonemizing English with the staged espeak-ng`,{voiceId:t,lang:n}),{lang:n,phonemize:e}}catch(e){return T.warn(`staged espeak-ng unavailable, cannot recover English synthesis`,{error:String(e)}),null}}export{K as a,c,J as i,Y as n,o,q as r,s,E as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function e(e){let{channel:t,getReader:n,logger:r}=e,i=e=>{let i=e.data;if(i?.type!==`preview-vfs-read`)return;let{id:a,path:o,asText:s}=i;t.postMessage({type:`preview-vfs-ack`,id:a}),(async()=>{try{let e=n();if((await e.stat(o)).type===`directory`){t.postMessage({type:`preview-vfs-response`,id:a,error:`EISDIR: is a directory '${o}'`});return}let r=s?`utf-8`:`binary`,i=await e.readFile(o,{encoding:r});t.postMessage({type:`preview-vfs-response`,id:a,content:i})}catch(e){let n=e instanceof Error?e.message:String(e);n.includes(`ENOENT`)||r?.error(`Preview VFS read failed`,{path:o,error:n}),t.postMessage({type:`preview-vfs-response`,id:a,error:n})}})()};return t.addEventListener(`message`,i),{dispose:()=>t.removeEventListener(`message`,i)}}export{e as installPreviewVfsResponder};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./store-C376ALss.js";export{e as readMcpAuthEntries};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/transformers.web-Cg_-cFJu.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/kokoro-Bs5vU5OU.js","assets/__vite-browser-external-5eBdwsFd.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{t}from"./logger-DDBAeTLF.js";import{n}from"./runtime-env-DH4NDw4t.js";import{t as r}from"./speech-assets-bridge-CFYafE89.js";import{i,n as a,r as o,t as s}from"./transformers-env-B2igCBi6.js";var c=t(`speech:espeak`),l=`/workspace/node_modules/espeak-ng/dist/`,u=`espeak-ng.js`,d=`espeak-ng.wasm`;async function f(e,t,n,r){let i=`phonemes.txt`;return(await e({arguments:[`-q`,`-b=1`,`--ipa`,`-v`,n,`--phonout`,i,t],...r?{locateFile:r}:{}})).FS.readFile(i,{encoding:`utf8`}).split(`
|
|
3
|
-
`).map(e=>e.trim()).filter(e=>e.length>0)}function ee(e,t){return async n=>{let r=URL.createObjectURL(new Blob([new Uint8Array(t)],{type:`application/wasm`}));try{let t=e=>e.endsWith(`.wasm`)?r:n.locateFile?.(e)??e;return await e({...n,locateFile:t})}finally{URL.revokeObjectURL(r)}}}function p(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable`));let t=new BroadcastChannel(`preview-vfs`),n=`espeak-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,s),t.close(),e()},o=setTimeout(()=>a(()=>i(Error(`ENOENT: ${e} (timed out)`))),3e4),s=t=>{let s=t.data;if(s?.type===`preview-vfs-response`&&s.id===n)if(clearTimeout(o),typeof s.error==`string`)a(()=>i(Error(s.error)));else if(s.content instanceof Uint8Array){let e=s.content;a(()=>r(e))}else if(typeof s.content==`string`){let e=s.content;a(()=>r(new TextEncoder().encode(e)))}else a(()=>i(Error(`Empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}async function te(){let[t,n]=await Promise.all([p(`${l}${u}`),p(`${l}${d}`)]),r=URL.createObjectURL(new Blob([new Uint8Array(t)],{type:`text/javascript`}));try{return{factory:ee((await e(()=>import(r),[])).default,n)}}finally{URL.revokeObjectURL(r)}}var ne=te,m=null;function h(){return m||=ne().then(({factory:e,locateFile:t})=>(c.info(`espeak-ng multilingual phonemizer loaded`),(n,r)=>f(e,n,r,t)),e=>{throw m=null,c.error(`espeak-ng load failed`,e),e}),m}var re=Object.freeze({e:`es`,f:`fr-fr`,i:`it`,h:`hi`,p:`pt-br`});function g(e){return re[e[0]]??null}var _=Object.freeze({a:`en-us`,b:`en-gb`});function v(e){return _[e[0]]??null}function ie(e){let t=e instanceof Error?e.message:String(e);return/Invalid language identifier/i.test(t)&&/Should be one of:\s*\.?\s*$/i.test(t)}var ae=RegExp(`(\\s*[${`;:,.!?¡¿—…"«»“”(){}[]`.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}]+\\s*)+`,`g`);function oe(e){let t=[],n=0;for(let r of e.matchAll(ae)){let i=r[0],a=r.index??0;n<a&&t.push({punct:!1,text:e.slice(n,a)}),i.length>0&&t.push({punct:!0,text:i}),n=a+i.length}return n<e.length&&t.push({punct:!1,text:e.slice(n)}),t}function se(e){return e.replace(/kəkˈoːɹoʊ/g,`kˈoʊkəɹoʊ`).replace(/kəkˈɔːɹəʊ/g,`kˈəʊkəɹəʊ`).replace(/(?<=[a-zɹrː])(?=hˈʌndɹɪd)/g,` `).replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,`z`).trim()}async function ce(e,t,n){let r=oe(e);return se((await Promise.all(r.map(async e=>e.punct?e.text:(await n(e.text,t)).join(` `)))).join(``))}var y=t(`speech:kokoro`),b=`onnx-community/Kokoro-82M-v1.0-ONNX`,x={a:`en-US`,b:`en-GB`,e:`es-ES`,f:`fr-FR`,i:`it-IT`,h:`hi-IN`,p:`pt-BR`,j:`ja-JP`,z:`zh-CN`},S=new Set([`en-US`,`en-GB`,`es-ES`,`fr-FR`,`it-IT`,`hi-IN`,`pt-BR`]);function C(e){let[t,n]=e.split(`-`);return n?`${t.toLowerCase()}-${n.toUpperCase()}`:t.toLowerCase()}function w(e,t){if(!t)return!1;if(S.has(t))return!0;if(t.includes(`-`))return!1;let n=x[e[0]];return n!==void 0&&S.has(n)&&n.split(`-`)[0].toLowerCase()===t}function le(e){return Object.entries(e).map(([e,t])=>{let n=t.language?C(t.language):x[e[0]];return{id:e,name:t.name||e,lang:n??`en-US`,onDevice:w(e,n),...t.gender?{gender:t.gender}:{}}})}var ue=Object.freeze({ef_dora:{name:`Dora`,gender:`Female`},em_alex:{name:`Alex`,gender:`Male`},em_santa:{name:`Santa`,gender:`Male`},ff_siwis:{name:`Siwis`,gender:`Female`},hf_alpha:{name:`Alpha`,gender:`Female`},hf_beta:{name:`Beta`,gender:`Female`},hm_omega:{name:`Omega`,gender:`Male`},hm_psi:{name:`Psi`,gender:`Male`},if_sara:{name:`Sara`,gender:`Female`},im_nicola:{name:`Nicola`,gender:`Male`},pf_dora:{name:`Dora`,gender:`Female`},pm_alex:{name:`Alex`,gender:`Male`},pm_santa:{name:`Santa`,gender:`Male`},jf_alpha:{name:`Alpha`,gender:`Female`},jf_gongitsune:{name:`Gongitsune`,gender:`Female`},jf_nezumi:{name:`Nezumi`,gender:`Female`},jf_tebukuro:{name:`Tebukuro`,gender:`Female`},jm_kumo:{name:`Kumo`,gender:`Male`},zf_xiaobei:{name:`Xiaobei`,gender:`Female`},zf_xiaoni:{name:`Xiaoni`,gender:`Female`},zf_xiaoxiao:{name:`Xiaoxiao`,gender:`Female`},zf_xiaoyi:{name:`Xiaoyi`,gender:`Female`},zm_yunjian:{name:`Yunjian`,gender:`Male`},zm_yunxi:{name:`Yunxi`,gender:`Male`},zm_yunxia:{name:`Yunxia`,gender:`Male`},zm_yunyang:{name:`Yunyang`,gender:`Male`}});function de(e){let t={...e};for(let[e,n]of Object.entries(ue))e in t||(t[e]=n);return le(t)}var T=`style_text_to_speech_2`,E=`StyleTextToSpeech2Model`;function fe(e){return e?.model_type===T&&(!Array.isArray(e.architectures)||e.architectures.length===0)&&(e.architectures=[E]),e}var D=Symbol.for(`slicc.kokoro.style-tts2-arch-shim`);function pe(e){let t=e?.AutoConfig,n=t?.from_pretrained;if(!t||typeof n!=`function`){y.debug(`style_text_to_speech_2 shim skipped: AutoConfig.from_pretrained unavailable`);return}if(n[D])return;let r=async(...e)=>{let r=await n.apply(t,e),i=r?.model_type===T&&(!Array.isArray(r.architectures)||r.architectures.length===0);return fe(r),i&&y.debug(`style_text_to_speech_2 architectures injected for "${String(e[0])}": [${E}]`),r};r[D]=!0,t.from_pretrained=r,y.debug(`style_text_to_speech_2 architecture shim installed on AutoConfig.from_pretrained`)}async function O(e,t,n,r,i,a){let o=await ce(t,n,a),s=e.tokenizer,{input_ids:c}=s(o,{truncation:!0}),l=await e.generate_from_ids(c,{voice:r,...i?{speed:i}:{}});return{audio:l.audio,sampleRate:l.sampling_rate}}var me=/(?<=[.!?。!?…])\s+|\n{2,}/u;function k(e,t){let n=t??me,r=e.split(n).map(e=>e.trim()).filter(e=>e.length>0),i=e.trim();return r.length>0?r:i?[i]:[]}var A=null,j=`idle`,M=null,N=null;function P(){return j}function F(){return M}function I(){return N}function L(e){return A||=(j=`loading`,R(e).then(e=>(j=`ready`,N=e,e),e=>{throw j=`failed`,A=null,y.error(`kokoro load failed`,e),e})),A}async function R(t){let n=await e(()=>import(`./transformers.web-Cg_-cFJu.js`),__vite__mapDeps([0,1,2]));a(n.env),pe(n),await s(b),await o();let{KokoroTTS:r,TextSplitterStream:c}=await e(async()=>{let{KokoroTTS:e,TextSplitterStream:t}=await import(`./kokoro-Bs5vU5OU.js`);return{KokoroTTS:e,TextSplitterStream:t}},__vite__mapDeps([3,1,4,0,2])),l=i(),u=typeof navigator<`u`&&`gpu`in navigator,d=await r.from_pretrained(b,{device:u?`webgpu`:`wasm`,dtype:u?`fp32`:`q8`,progress_callback:e=>{if(e?.file){if(e.status===`progress`)l.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)l.complete(e.file);else return;M=l.snapshot(),t?.(M)}}});y.info(`kokoro ready`,{model:b,device:u?`webgpu`:`wasm`});let f=de(d.voices);return{async synthesize(e,t){let n=t?.voice??`af_heart`,r=g(n);if(r){let i=await h();return O(d,e,r,n,t?.speed,i)}try{let n=await d.generate(e,{...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}});return{audio:n.audio,sampleRate:n.sampling_rate}}catch(r){let i=await z(r,n);if(!i)throw r;return O(d,e,i.lang,n,t?.speed,i.phonemize)}},async*synthesizeStream(e,t){let n=t?.voice??`af_heart`,r=g(n);if(r){let i=await h();for(let a of k(e,t?.splitPattern))yield await O(d,a,r,n,t?.speed,i);return}let i={...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}},a=new c;if(t?.splitPattern){let n=e.split(t.splitPattern).map(e=>e.trim()).filter(e=>e.length>0);a.push(...n)}else a.push(e);a.close();try{for await(let e of d.stream(a,i))yield{audio:e.audio.audio,sampleRate:e.audio.sampling_rate}}catch(r){let i=await z(r,n);if(!i)throw r;for(let r of k(e,t?.splitPattern))yield await O(d,r,i.lang,n,t?.speed,i.phonemize)}},voices:()=>f}}async function z(e,t){if(!ie(e))return null;let n=v(t);if(!n)return null;try{let e=await h();return y.warn(`kokoro bundled phonemizer reported no languages; phonemizing English with the staged espeak-ng`,{voiceId:t,lang:n}),{lang:n,phonemize:e}}catch(e){return y.warn(`staged espeak-ng unavailable, cannot recover English synthesis`,{error:String(e)}),null}}var B=44,V=16,H=1,U=V/8;function W(e,t,n){for(let r=0;r<n.length;r++)e.setUint8(t+r,n.charCodeAt(r))}function he(e){let t=Math.max(-1,Math.min(1,e));return Math.round(t<0?t*32768:t*32767)}function ge(e){if(e.length===0)throw Error(`wav-encode: at least one PCM chunk is required`);let t=e[0].sampleRate;if(!Number.isFinite(t)||t<=0)throw Error(`wav-encode: invalid sample rate ${t}`);let n=0;for(let r of e){if(r.sampleRate!==t)throw Error(`wav-encode: mixed sample rates (${r.sampleRate} vs ${t}) — resample upstream`);n+=r.audio.length}let r=n*H*U,i=new ArrayBuffer(B+r),a=new DataView(i);W(a,0,`RIFF`),a.setUint32(4,36+r,!0),W(a,8,`WAVE`),W(a,12,`fmt `),a.setUint32(16,16,!0),a.setUint16(20,1,!0),a.setUint16(22,H,!0),a.setUint32(24,t,!0),a.setUint32(28,t*H*U,!0),a.setUint16(32,2,!0),a.setUint16(34,V,!0),W(a,36,`data`),a.setUint32(40,r,!0);let o=B;for(let t of e)for(let e=0;e<t.audio.length;e++)a.setInt16(o,he(t.audio[e]),!0),o+=U;return new Uint8Array(i)}var G=t(`speech:speak`),K=2e4;function q(e){return e.toLowerCase().startsWith(`en`)}function _e(e,t){if(!t.ready)return`webspeech`;let n=e=>e.onDevice&&(q(e.lang)||t.nonEnglishOnDevice);if(e.voice){let r=t.voices.find(t=>t.id===e.voice);return r&&n(r)?`kokoro`:`webspeech`}let r=(e.lang?e.lang.split(`-`)[0]:`en`).toLowerCase();return t.voices.some(e=>e.lang.split(`-`)[0].toLowerCase()===r&&n(e))?`kokoro`:`webspeech`}function ve(e,t){if(!e||q(e))return;let n=e.split(`-`)[0].toLowerCase();return t.find(e=>e.onDevice&&e.lang.split(`-`)[0].toLowerCase()===n)?.id}var ye=48;function be(e){let t=e;return t=t.replace(/```[\s\S]*?```/g,` `),t=t.replace(/~~~[\s\S]*?~~~/g,` `),t=t.replace(/(?:```|~~~)[\s\S]*$/,` `),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`),t=t.replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`),t=t.replace(/`([^`]*)`/g,(e,t)=>t.length>ye?` `:t),t=t.replace(/<[^>\n]+>/g,` `),t=t.replace(/^[ \t]{0,3}#{1,6}[ \t]+/gm,``),t=t.replace(/^[ \t]*>[ \t]?/gm,``),t=t.replace(/^[ \t]*(?:[-*+]|\d+[.)])[ \t]+/gm,``),t=t.replace(/[*_~]{1,3}([^*_~]+)[*_~]{1,3}/g,`$1`),t=t.replace(/\s+/g,` `).trim(),t.length>K&&(t=`${t.slice(0,K).replace(/\s+\S*$/,``)}…`),t}var J=n;function xe(e){return e.onDevice&&(q(e.lang)||!J())}function Y(){return I()?.voices().map(e=>({...e,onDevice:xe(e)}))??[]}async function X(){if(typeof speechSynthesis>`u`)return[];let e=speechSynthesis.getVoices();return e.length>0||typeof speechSynthesis.addEventListener!=`function`?e:new Promise(e=>{let t=()=>{clearTimeout(r),speechSynthesis.removeEventListener(`voiceschanged`,n),e(speechSynthesis.getVoices())},n=()=>t(),r=setTimeout(t,2e3);speechSynthesis.addEventListener(`voiceschanged`,n)})}async function Se(e){let t=e.split(`-`)[0]?.toLowerCase();return t?Y().some(e=>e.onDevice&&e.lang.split(`-`)[0].toLowerCase()===t)?!0:(await X()).some(e=>e.lang.split(`-`)[0].toLowerCase()===t):!1}var Z;function Ce(e){Z=e}function Q(){let e=F();return{state:P(),...e?{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}:{}}}async function we(){try{J()||await r({instanceId:Z})}catch(e){G.warn(`kokoro asset staging failed; trying already-present weights`,e)}try{await L()}catch(e){G.warn(`kokoro warmup load failed`,e)}}function Te(){return we(),Q()}var $=null;function Ee(){return(!$||$.state===`closed`)&&($=new AudioContext),$}async function De(e,t,n=1){let r=Ee();r.state===`suspended`&&await r.resume();let i=r.createBuffer(1,e.length,t);i.copyToChannel(new Float32Array(e),0);let a=r.createBufferSource();a.buffer=i;let o=r.createGain();o.gain.value=n,a.connect(o),o.connect(r.destination),await new Promise(e=>{a.onended=()=>e(),a.start()})}async function Oe(e){if(typeof speechSynthesis>`u`)throw Error(`speechSynthesis is unavailable in this realm`);let t=await X();return new Promise((n,r)=>{let i=new SpeechSynthesisUtterance(e.text);if(e.lang!==void 0&&(i.lang=e.lang),e.rate!==void 0&&(i.rate=e.rate),e.pitch!==void 0&&(i.pitch=e.pitch),e.volume!==void 0&&(i.volume=e.volume),e.voice){let n=t.find(t=>t.name===e.voice);n&&(i.voice=n)}else if(e.lang){let n=e.lang.split(`-`)[0].toLowerCase(),r=t.find(e=>e.lang.split(`-`)[0].toLowerCase()===n);r&&(i.voice=r)}i.onend=()=>n(),i.onerror=e=>r(Error(`speak: ${e.error||`utterance failed`}`)),speechSynthesis.speak(i)})}async function ke(e){let t=I(),n=t?.voices()??[];if(_e(e,{ready:t!==null,voices:n,nonEnglishOnDevice:!J()})===`kokoro`&&t){let r=e.voice??ve(e.lang,n),i=0;try{let n=t.synthesizeStream(e.text,{...r?{voice:r}:{},...e.rate?{speed:e.rate}:{}});for await(let t of n)await De(t.audio,t.sampleRate,e.volume),i++;return{engine:`kokoro`}}catch(e){if(i>0)return G.warn(`kokoro stream failed mid-playback; stopping`,e),{engine:`kokoro`};G.warn(`kokoro synthesis failed; falling back to webspeech`,e)}}return await Oe(e),{engine:`webspeech`}}async function Ae(e){let t=I();if(!t)throw Error(`on-device voice not ready — run say --warmup and retry once it reports ready`);if(e.lang&&!e.lang.toLowerCase().startsWith(`en`))throw Error(`-o writes WAV via the on-device voice, which is English-only (got ${e.lang})`);if(e.voice&&!t.voices().map(e=>e.id).includes(e.voice))throw Error(`-o writes WAV via the on-device voice; "${e.voice}" is a Web Speech voice. Pick a kokoro voice (e.g. af_heart) or omit -v.`);let n=[],r=t.synthesizeStream(e.text,{...e.voice?{voice:e.voice}:{},...e.rate?{speed:e.rate}:{}});for await(let e of r)n.push({audio:e.audio,sampleRate:e.sampleRate});if(n.length===0)throw Error(`kokoro produced no audio (text is empty after sentence split?)`);return ge(n)}export{Se as hasVoiceForLang,Q as kokoroStatus,Y as kokoroVoicesIfReady,Te as kokoroWarmup,Ce as setSpeakAssetsInstanceId,ke as speak,be as speechTextFromMarkdown,Ae as synthesizeToWav};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,t}from"./proxied-fetch-ULPrH97b.js";import{n}from"./runtime-env-DH4NDw4t.js";import{n as r,t as i}from"./shared-Y4VMjBcs.js";var a=1e3;function o(e=()=>Date.now()){let t=new Map,n=null,r=0,i=()=>{let e=0,n=0;for(let r of t.values())e+=r.loaded,n+=r.total;return{loaded:e,total:n}};return{update(a,o,s){t.set(a,{loaded:Math.max(0,o),total:Math.max(t.get(a)?.total??0,s,o)}),n===null&&(n=e(),r=i().loaded)},complete(e){let n=t.get(e);n&&(n.loaded=n.total)},snapshot(){let{loaded:t,total:o}=i(),s=null;if(n!==null&&o>0&&t<o){let i=e()-n,c=t-r;if(i>=a&&c>0){let e=c/i;s=(o-t)/e/1e3}}return o>0&&t>=o&&(s=0),{loaded:t,total:o,etaSeconds:s}}}}var s=Symbol.for(`slicc.transformers-env.fetch-wrapped`),c=n,l=`/workspace/node_modules/onnxruntime-web/dist/`,u=`/workspace/models/`;function d(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function f(e){let t=d(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function p(){return globalThis.location?.origin??null}function m(e){let t=p();if(!t)return!1;try{return new URL(d(e)).origin===t}catch{return!1}}async function h(n,r){let i=d(n),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=t({...a,"X-Target-URL":i}),s=(r?.method??`GET`).toUpperCase(),c={method:s,headers:o,cache:`no-store`};return r?.body&&s!==`GET`&&s!==`HEAD`&&(c.body=r.body),fetch(e(`/api/fetch-proxy`),c)}var g=3e4,_=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.asyncify.wasm`],v=Symbol.for(`slicc.transformers-env.vfs-enoent`);function y(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable in this realm`));let t=new BroadcastChannel(`preview-vfs`),n=`tfx-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,s),t.close(),e()},o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[v]=!0,a(()=>i(t))},g),s=t=>{let s=t.data;if(s?.type!==`preview-vfs-response`||s.id!==n)return;if(clearTimeout(o),typeof s.error==`string`){let e=Error(s.error);s.error.includes(`ENOENT`)&&(e[v]=!0),a(()=>i(e));return}let c=s.content;if(c instanceof Uint8Array){a(()=>r(c));return}if(typeof c==`string`){a(()=>r(new TextEncoder().encode(c)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function b(e){return!!e?.[v]}function x(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function S(e,t){return!t||!e.startsWith(t)?null:`${u}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function C(e,t){let n;try{n=await y(e)}catch(t){if(b(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let r=i(e);return(t?.headers?new Headers(t.headers).get(`range`):null)===`bytes=0-0`?new Response(null,{status:206,headers:{"Content-Type":r,"Content-Length":String(n.byteLength),"Content-Range":`bytes 0-0/${n.byteLength}`}}):new Response(x(n),{status:200,headers:{"Content-Type":r,"Content-Length":String(n.byteLength)}})}var w=null;async function T(){if(typeof URL>`u`||typeof URL.createObjectURL!=`function`)throw Error(`onnxruntime-web blob URLs require URL.createObjectURL (browser realm only)`);let e={};if(await Promise.all(_.map(async t=>{try{let n=await y(`${l}${t}`),r=new Blob([x(n)],{type:i(t)});e[t]=URL.createObjectURL(r)}catch(e){if(!b(e))throw e}})),Object.keys(e).length===0)throw Error("onnxruntime-web is not installed — run `ipk add onnxruntime-web` to stage the wasm runtime in /workspace/node_modules/.");return e}function E(){return w||=T(),w}function D(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=r(l),t.numThreads=1),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=r(u),c())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&E().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[s])return;let i=n,a=e.localModelPath,o=async(e,t)=>{let n=S(d(e),a);return n===null?!f(e)||m(e)?i?i(e,t):fetch(e,t):h(e,t):C(n,t)};o[s]=!0,e.fetch=o}async function O(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await y(`${u}${e}/config.json`)}catch(e){if(b(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{o as i,D as n,E as r,O as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e,t}from"./proxied-fetch-BML_ivCH.js";import{t as n}from"./runtime-env-byAg9ij-.js";import{i as r,y as i}from"./shared-D4Q0n73P.js";function a(e=()=>Date.now()){let t=new Map,n=null,r=0,i=()=>{let e=0,n=0;for(let r of t.values())e+=r.loaded,n+=r.total;return{loaded:e,total:n}};return{update(a,o,s){t.set(a,{loaded:Math.max(0,o),total:Math.max(t.get(a)?.total??0,s,o)}),n===null&&(n=e(),r=i().loaded)},complete(e){let n=t.get(e);n&&(n.loaded=n.total)},snapshot(){let{loaded:t,total:a}=i(),o=null;if(n!==null&&a>0&&t<a){let i=e()-n,s=t-r;if(i>=1e3&&s>0){let e=s/i;o=(a-t)/e/1e3}}return a>0&&t>=a&&(o=0),{loaded:t,total:a,etaSeconds:o}}}}const o=Symbol.for(`slicc.transformers-env.fetch-wrapped`),s=n,c=`/workspace/node_modules/onnxruntime-web/dist/`,l=`/workspace/models/`;function u(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function d(e){let t=u(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function f(){return globalThis.location?.origin??null}function p(e){let t=f();if(!t)return!1;try{return new URL(u(e)).origin===t}catch{return!1}}async function m(n,r){let i=u(n),a={};r?.headers&&new Headers(r.headers).forEach((e,t)=>{a[t]=e});let o=t({...a,"X-Target-URL":i}),s=(r?.method??`GET`).toUpperCase(),c={method:s,headers:o,cache:`no-store`};return r?.body&&s!==`GET`&&s!==`HEAD`&&(c.body=r.body),fetch(e(`/api/fetch-proxy`),c)}const h=[`ort-wasm-simd-threaded.jsep.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.jsep.wasm`,`ort-wasm-simd-threaded.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort.wasm`,`ort-wasm-simd-threaded.asyncify.mjs`,`https://${["cdn","jsdelivr","net"].join(".")}/npm/onnxruntime-web@1.26.0-dev.20260416-b7804b056c/dist/ort-wasm-simd-threaded.asyncify.wasm`],g=Symbol.for(`slicc.transformers-env.vfs-enoent`);function _(e){if(typeof BroadcastChannel>`u`)return Promise.reject(Error(`Cannot read VFS path ${e}: BroadcastChannel unavailable in this realm`));let t=new BroadcastChannel(`preview-vfs`),n=`tfx-${Date.now()}-${Math.random().toString(36).slice(2)}`;return new Promise((r,i)=>{let a=e=>{t.removeEventListener(`message`,s),t.close(),e()},o=setTimeout(()=>{let t=Error(`ENOENT: ${e} (preview-vfs responder timed out)`);t[g]=!0,a(()=>i(t))},3e4),s=t=>{let s=t.data;if(s?.type!==`preview-vfs-response`||s.id!==n)return;if(clearTimeout(o),typeof s.error==`string`){let e=Error(s.error);s.error.includes(`ENOENT`)&&(e[g]=!0),a(()=>i(e));return}let c=s.content;if(c instanceof Uint8Array){a(()=>r(c));return}if(typeof c==`string`){a(()=>r(new TextEncoder().encode(c)));return}a(()=>i(Error(`Unexpected empty preview-vfs response for ${e}`)))};t.addEventListener(`message`,s),t.postMessage({type:`preview-vfs-read`,id:n,path:e,asText:!1})})}function v(e){return!!e?.[g]}function y(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function b(e,t){if(!t||!e.startsWith(t))return null;let n=e.slice(t.length).split(`?`)[0].split(`#`)[0];return`${l}${n}`}async function x(e,t){let n;try{n=await _(e)}catch(t){if(v(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let i=r(e);return(t?.headers?new Headers(t.headers).get(`range`):null)===`bytes=0-0`?new Response(null,{status:206,headers:{"Content-Type":i,"Content-Length":String(n.byteLength),"Content-Range":`bytes 0-0/${n.byteLength}`}}):new Response(y(n),{status:200,headers:{"Content-Type":i,"Content-Length":String(n.byteLength)}})}let S=null;async function C(){if(typeof URL>`u`||typeof URL.createObjectURL!=`function`)throw Error(`onnxruntime-web blob URLs require URL.createObjectURL (browser realm only)`);let e={};if(await Promise.all(h.map(async t=>{try{let n=await _(`${c}${t}`),i=new Blob([y(n)],{type:r(t)});e[t]=URL.createObjectURL(i)}catch(e){if(!v(e))throw e}})),Object.keys(e).length===0)throw Error("onnxruntime-web is not installed — run `ipk add onnxruntime-web` to stage the wasm runtime in /workspace/node_modules/.");return e}function w(){return S||=C(),S}function T(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=i(c),t.numThreads=1),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=i(l),s())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&w().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[o])return;let r=n,a=e.localModelPath,f=async(e,t)=>{let n=b(u(e),a);return n===null?!d(e)||p(e)?r?r(e,t):fetch(e,t):m(e,t):x(n,t)};f[o]=!0,e.fetch=f}async function E(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await _(`${l}${e}/config.json`)}catch(e){if(v(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{w as a,T as i,h as n,a as o,E as r,c as t};
|