sliccy 5.9.0 → 5.10.1
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-CTQei3k8.js → account-store-DmasRixn.js} +2 -2
- package/dist/ui/assets/{account-store-bTUrDwqh.js → account-store-pUBcvx5J.js} +2 -2
- package/dist/ui/assets/adobe-Di4nZkua.js +1 -0
- package/dist/ui/assets/adobe-RClkp_SX.js +2 -0
- package/dist/ui/assets/{adobe-oauth-state-BMYsTc1P.js → adobe-oauth-state-DJNDiDeX.js} +1 -1
- package/dist/ui/assets/{agent-message-to-chat-BTPWICt_.js → agent-message-to-chat-BAnjD1UY.js} +1 -1
- package/dist/ui/assets/{apps-DFoUcI2B.js → apps-CDHpJ9RM.js} +1 -1
- package/dist/ui/assets/{azure-openai-mSMLWQpY.js → azure-openai-Cb3rMKEC.js} +1 -1
- package/dist/ui/assets/{azure-openai-BsT_Qew1.js → azure-openai-DdPoy11U.js} +1 -1
- package/dist/ui/assets/composer-speech-BVc9a9eb.js +1 -0
- package/dist/ui/assets/{connect-surface-N1gdAl_T.js → connect-surface-B3k11UgJ.js} +1 -1
- package/dist/ui/assets/dip-Dd6OwUiM.js +1 -0
- package/dist/ui/assets/{dist-C_7XyZ2l.js → dist-BEbfKMxp.js} +1 -1
- package/dist/ui/assets/{dist-DOBBAZ8B.js → dist-Bu9guCwG.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-CvjxCMP-.js → ensure-speech-assets-HCiL5Ntv.js} +1 -1
- package/dist/ui/assets/esp8266-QFmADsuS.js +1 -0
- package/dist/ui/assets/{esptool-operations-BDGwK7S3.js → esptool-operations-BN-jzEOP.js} +2 -2
- package/dist/ui/assets/{fs-BOToGWsE.js → fs-BdDuNGBj.js} +1 -1
- package/dist/ui/assets/{fs-BLiBE0Sh.js → fs-FEVpE58z.js} +2 -2
- package/dist/ui/assets/{github-D1LTcb_u.js → github-C1qhLnql.js} +1 -1
- package/dist/ui/assets/{github-exUwjLID.js → github-Dau-hcQL.js} +2 -2
- package/dist/ui/assets/{github-copilot-DoS1KN0q.js → github-copilot-DhVEkjV3.js} +1 -1
- package/dist/ui/assets/{github-copilot-Cccu4Amw.js → github-copilot-NANcVDSm.js} +1 -1
- package/dist/ui/assets/{hear-ga9gc9VC.js → hear-BEB1nGGC.js} +1 -1
- package/dist/ui/assets/{hear-C3VIZSct.js → hear-BKHHV5xb.js} +1 -1
- package/dist/ui/assets/{kernel-worker-WZ2iz72O.js → kernel-worker-0mi9dHF6.js} +99 -97
- package/dist/ui/assets/kokoro-engine-DnHgPhsi.js +2 -0
- package/dist/ui/assets/{lick-ws-bridge-C9Grc0G_.js → lick-ws-bridge-CQI9HSbw.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-CmIPZwU6.js → lick-ws-bridge-zfKxqKkk.js} +1 -1
- package/dist/ui/assets/{local-llm-D4PJe-fA.js → local-llm-NX4BUDBY.js} +1 -1
- package/dist/ui/assets/{main-A8L0rM6J.js → main-BnvVC5N7.js} +4 -4
- package/dist/ui/assets/{mount-ByGPP7Ad.js → mount-B6NbhXFu.js} +2 -2
- package/dist/ui/assets/{mount-ZketO2Vo.js → mount-DOcQBqqy.js} +1 -1
- package/dist/ui/assets/{new-session-hLVMB1VM.js → new-session-G-Fmlsom.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-BIuNcx7O.js → oauth-bootstrap-DvVi_k7g.js} +2 -2
- package/dist/ui/assets/{openai-codex-BA8gK7EM.js → openai-codex-CTx3t-v4.js} +1 -1
- package/dist/ui/assets/{openai-codex-Ck1oyuTZ.js → openai-codex-DX5GkCPX.js} +1 -1
- package/dist/ui/assets/{page-follower-tray-DsXFQjOn.js → page-follower-tray-BVdwX3kA.js} +1 -1
- package/dist/ui/assets/panel-rpc-handlers-CRPUJN-T.js +2 -0
- package/dist/ui/assets/{provider-bddnu4fF.js → provider-C26oYJPa.js} +1 -1
- package/dist/ui/assets/{provider-Cy3Frzsq.js → provider-CE-jwwwy.js} +2 -2
- package/dist/ui/assets/provider-store-access-B3gmP9Zw.js +1 -0
- package/dist/ui/assets/provider-store-access-D0WEdUIZ.js +1 -0
- package/dist/ui/assets/{providers-BcBKUoGy.js → providers-BrETkWBS.js} +1 -1
- package/dist/ui/assets/{quick-llm-BalhxXNL.js → quick-llm-B8RcG-HP.js} +1 -1
- package/dist/ui/assets/session-freezer-C_hmYCJJ.js +1 -0
- package/dist/ui/assets/speak-0q9PDleV.js +1 -0
- package/dist/ui/assets/speak-BsaTiJJa.js +3 -0
- package/dist/ui/assets/{sprinkle-manager-Dsklo6YH.js → sprinkle-manager-CYYbyaMW.js} +1 -1
- package/dist/ui/assets/{store-D7gdAWiV.js → store-CHkQJW81.js} +1 -1
- package/dist/ui/assets/{sudo-FJDtgrNd.js → sudo-CopYlcHd.js} +1 -1
- package/dist/ui/assets/transformers-env-D_txPr3T.js +1 -0
- package/dist/ui/assets/transformers-env-kQIH3cLT.js +1 -0
- package/dist/ui/assets/{tray-leader-C2kx1AEP.js → tray-leader-Co9duvbf.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-DfViVR3m.js → tray-leave-runtime-BNOb9GiC.js} +1 -1
- package/dist/ui/assets/upgrade-detection-Dqaifar5.js +1 -0
- package/dist/ui/assets/{voice-reply-DrCn5oWL.js → voice-reply-CrSNABF9.js} +1 -1
- package/dist/ui/assets/{wc-attach-CM6e3_ZV.js → wc-attach-CCMYd86r.js} +2 -2
- package/dist/ui/assets/{wc-detached-s0-UA_La.js → wc-detached-IW7X3i3q.js} +1 -1
- package/dist/ui/assets/{wc-extension-Ch7lj5d_.js → wc-extension-CHm813Hx.js} +2 -2
- package/dist/ui/assets/{wc-follower-7FQ6uy2J.js → wc-follower-CFZtCdE7.js} +2 -2
- package/dist/ui/assets/{wc-live-DLyguj5u.js → wc-live-thGRV3KL.js} +5 -5
- package/dist/ui/assets/{wc-nav-qys31F37.js → wc-nav-DRKkQ2e7.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-n7mSm_El.js → wc-onboarding-i9dtBXHM.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-CahuQLxT.js → wc-placeholder-KMyEhvwJ.js} +3 -3
- package/dist/ui/assets/{wc-settings-B140tTQ4.js → wc-settings-B9J-Be2P.js} +2 -2
- package/dist/ui/assets/{wc-shell-Cfr_EWbg.js → wc-shell-BytqHj5S.js} +3 -3
- package/dist/ui/assets/{wc-sprinkles-BvLFr2be.js → wc-sprinkles-Cc-OD1Oh.js} +2 -2
- package/dist/ui/assets/{wc-tray-BfJlH2oM.js → wc-tray-eSWNN5rg.js} +2 -2
- package/dist/ui/assets/whisper-engine-Bg6ZXey0.js +1 -0
- package/dist/ui/assets/whisper-session-3Uq6Hk8f.js +2 -0
- package/dist/ui/assets/{xai-grok-DQAaGin5.js → xai-grok-BI9oQ5kn.js} +1 -1
- package/dist/ui/assets/{xai-grok-aOHNDioz.js → xai-grok-C1DHWOpH.js} +1 -1
- package/dist/ui/index.html +2 -2
- package/dist/ui/llm-proxy-sw.js +1 -1
- package/dist/ui/packages/webapp/index.html +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/adobe-BuaKKv6B.js +0 -1
- package/dist/ui/assets/adobe-DbcWZe3u.js +0 -2
- package/dist/ui/assets/composer-speech-B8gzpoLm.js +0 -1
- package/dist/ui/assets/dip-DVyX7KVH.js +0 -1
- package/dist/ui/assets/esp8266-b3mqvv0m.js +0 -1
- package/dist/ui/assets/kokoro-engine-De3HVaKA.js +0 -2
- package/dist/ui/assets/panel-rpc-handlers-CFpYuD14.js +0 -2
- package/dist/ui/assets/provider-store-access-8oGqp9Q2.js +0 -1
- package/dist/ui/assets/provider-store-access-BFKipbhe.js +0 -1
- package/dist/ui/assets/session-freezer-HWMUR9_b.js +0 -1
- package/dist/ui/assets/speak-BGc6bNZS.js +0 -1
- package/dist/ui/assets/speak-DqTkMukv.js +0 -3
- package/dist/ui/assets/transformers-env-BLIAM-E9.js +0 -1
- package/dist/ui/assets/transformers-env-D1pjZd13.js +0 -1
- package/dist/ui/assets/upgrade-detection-D6VrdGgM.js +0 -1
- package/dist/ui/assets/whisper-engine-CzMFsimz.js +0 -1
- package/dist/ui/assets/whisper-session-CR621W5w.js +0 -2
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/transformers.web-CuUo4MLm.js","assets/chunk-aKtaBQYM.js","assets/preload-helper-zJ_50EbN.js","assets/kokoro-B5jJ2WUJ.js","assets/__vite-browser-external-C7iut881.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-zJ_50EbN.js";import{t}from"./logger-DDBAeTLF.js";import{t as n}from"./speech-assets-bridge-B8NqCAE8.js";import{n as r,r as i,t as a}from"./transformers-env-BLIAM-E9.js";var o=t(`speech:espeak`),s=`/workspace/node_modules/espeak-ng/dist/`,c=`espeak-ng.js`,l=`espeak-ng.wasm`;async function u(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 d(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 f(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 p(){let[t,n]=await Promise.all([f(`${s}${c}`),f(`${s}${l}`)]),r=URL.createObjectURL(new Blob([new Uint8Array(t)],{type:`text/javascript`}));try{return{factory:d((await e(()=>import(r),[])).default,n)}}finally{URL.revokeObjectURL(r)}}var m=p,h=null;function g(){return h||=m().then(({factory:e,locateFile:t})=>(o.info(`espeak-ng multilingual phonemizer loaded`),(n,r)=>u(e,n,r,t)),e=>{throw h=null,o.error(`espeak-ng load failed`,e),e}),h}var _=Object.freeze({e:`es`,f:`fr-fr`,i:`it`,h:`hi`,p:`pt-br`});function v(e){return _[e[0]]??null}var y=RegExp(`(\\s*[${`;:,.!?¡¿—…"«»“”(){}[]`.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}]+\\s*)+`,`g`);function ee(e){let t=[],n=0;for(let r of e.matchAll(y)){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 te(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 ne(e,t,n){let r=ee(e);return te((await Promise.all(r.map(async e=>e.punct?e.text:(await n(e.text,t)).join(` `)))).join(``))}var b=t(`speech:kokoro`),x=`onnx-community/Kokoro-82M-v1.0-ONNX`,S={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`},C=new Set([`en-US`,`en-GB`,`es-ES`,`fr-FR`,`it-IT`,`hi-IN`,`pt-BR`]);function w(e){let[t,n]=e.split(`-`);return n?`${t.toLowerCase()}-${n.toUpperCase()}`:t.toLowerCase()}function T(e,t){if(!t)return!1;if(C.has(t))return!0;if(t.includes(`-`))return!1;let n=S[e[0]];return n!==void 0&&C.has(n)&&n.split(`-`)[0].toLowerCase()===t}function E(e){return Object.entries(e).map(([e,t])=>{let n=t.language?w(t.language):S[e[0]];return{id:e,name:t.name||e,lang:n??`en-US`,onDevice:T(e,n),...t.gender?{gender:t.gender}:{}}})}var D=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 O(e){let t={...e};for(let[e,n]of Object.entries(D))e in t||(t[e]=n);return E(t)}var k=`style_text_to_speech_2`,A=`StyleTextToSpeech2Model`;function re(e){return e?.model_type===k&&(!Array.isArray(e.architectures)||e.architectures.length===0)&&(e.architectures=[A]),e}var j=Symbol.for(`slicc.kokoro.style-tts2-arch-shim`);function ie(e){let t=e?.AutoConfig,n=t?.from_pretrained;if(!t||typeof n!=`function`){b.debug(`style_text_to_speech_2 shim skipped: AutoConfig.from_pretrained unavailable`);return}if(n[j])return;let r=async(...e)=>{let r=await n.apply(t,e),i=r?.model_type===k&&(!Array.isArray(r.architectures)||r.architectures.length===0);return re(r),i&&b.debug(`style_text_to_speech_2 architectures injected for "${String(e[0])}": [${A}]`),r};r[j]=!0,t.from_pretrained=r,b.debug(`style_text_to_speech_2 architecture shim installed on AutoConfig.from_pretrained`)}async function M(e,t,n,r,i,a){let o=await ne(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 N=/(?<=[.!?。!?…])\s+|\n{2,}/u;function P(e,t){let n=t??N,r=e.split(n).map(e=>e.trim()).filter(e=>e.length>0),i=e.trim();return r.length>0?r:i?[i]:[]}var F=null,I=`idle`,L=null,R=null;function z(){return I}function B(){return L}function V(){return R}function H(e){return F||=(I=`loading`,U(e).then(e=>(I=`ready`,R=e,e),e=>{throw I=`failed`,F=null,b.error(`kokoro load failed`,e),e})),F}async function U(t){let n=await e(()=>import(`./transformers.web-CuUo4MLm.js`),__vite__mapDeps([0,1,2]));r(n.env),ie(n),await a(x);let{KokoroTTS:o,TextSplitterStream:s}=await e(async()=>{let{KokoroTTS:e,TextSplitterStream:t}=await import(`./kokoro-B5jJ2WUJ.js`);return{KokoroTTS:e,TextSplitterStream:t}},__vite__mapDeps([3,1,0,2,4])),c=i(),l=typeof navigator<`u`&&`gpu`in navigator,u=await o.from_pretrained(x,{device:l?`webgpu`:`wasm`,dtype:l?`fp32`:`q8`,progress_callback:e=>{if(e?.file){if(e.status===`progress`)c.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)c.complete(e.file);else return;L=c.snapshot(),t?.(L)}}});b.info(`kokoro ready`,{model:x,device:l?`webgpu`:`wasm`});let d=O(u.voices);return{async synthesize(e,t){let n=t?.voice??`af_heart`,r=v(n);if(r){let i=await g();return M(u,e,r,n,t?.speed,i)}let i=await u.generate(e,{...t?.voice?{voice:t.voice}:{},...t?.speed?{speed:t.speed}:{}});return{audio:i.audio,sampleRate:i.sampling_rate}},async*synthesizeStream(e,t){let n=t?.voice??`af_heart`,r=v(n);if(r){let i=await g();for(let a of P(e,t?.splitPattern))yield await M(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();for await(let e of u.stream(a,i))yield{audio:e.audio.audio,sampleRate:e.audio.sampling_rate}},voices:()=>d}}var W=t(`speech:speak`),G=2e4;function K(e){return e.toLowerCase().startsWith(`en`)}function q(e,t){if(!t.ready)return`webspeech`;let n=e=>e.onDevice&&(K(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 J(e,t){if(!e||K(e))return;let n=e.split(`-`)[0].toLowerCase();return t.find(e=>e.onDevice&&e.lang.split(`-`)[0].toLowerCase()===n)?.id}var ae=48;function oe(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>ae?` `: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>G&&(t=`${t.slice(0,G).replace(/\s+\S*$/,``)}…`),t}var Y=()=>typeof chrome<`u`&&!!chrome?.runtime?.id;function se(e){return e.onDevice&&(K(e.lang)||!Y())}function ce(){return V()?.voices().map(e=>({...e,onDevice:se(e)}))??[]}var X;function le(e){X=e}function Z(){let e=B();return{state:z(),...e?{loaded:e.loaded,total:e.total,etaSeconds:e.etaSeconds}:{}}}async function ue(){try{Y()||await n({instanceId:X})}catch(e){W.warn(`kokoro asset staging failed; trying already-present weights`,e)}try{await H()}catch(e){W.warn(`kokoro warmup load failed`,e)}}function Q(){return ue(),Z()}var $=null;function de(){return(!$||$.state===`closed`)&&($=new AudioContext),$}async function fe(e,t,n=1){let r=de();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()})}function pe(e){return typeof speechSynthesis>`u`?Promise.reject(Error(`speechSynthesis is unavailable in this realm`)):new Promise((t,n)=>{let r=new SpeechSynthesisUtterance(e.text);if(e.lang!==void 0&&(r.lang=e.lang),e.rate!==void 0&&(r.rate=e.rate),e.pitch!==void 0&&(r.pitch=e.pitch),e.volume!==void 0&&(r.volume=e.volume),e.voice){let t=speechSynthesis.getVoices().find(t=>t.name===e.voice);t&&(r.voice=t)}r.onend=()=>t(),r.onerror=e=>n(Error(`speak: ${e.error||`utterance failed`}`)),speechSynthesis.speak(r)})}async function me(e){let t=V(),n=t?.voices()??[];if(q(e,{ready:t!==null,voices:n,nonEnglishOnDevice:!Y()})===`kokoro`&&t){let r=e.voice??J(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 fe(t.audio,t.sampleRate,e.volume),i++;return{engine:`kokoro`}}catch(e){if(i>0)return W.warn(`kokoro stream failed mid-playback; stopping`,e),{engine:`kokoro`};W.warn(`kokoro synthesis failed; falling back to webspeech`,e)}}return await pe(e),{engine:`webspeech`}}export{Z as kokoroStatus,ce as kokoroVoicesIfReady,Q as kokoroWarmup,le as setSpeakAssetsInstanceId,me as speak,oe as speechTextFromMarkdown};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e,t}from"./proxied-fetch-B5vr_AP8.js";import{r as n,t as r}from"./shared-Bn9ltvMZ.js";var i=1e3;function a(e=()=>Date.now()){let t=new Map,n=null,r=0,a=()=>{let e=0,n=0;for(let r of t.values())e+=r.loaded,n+=r.total;return{loaded:e,total:n}};return{update(i,o,s){t.set(i,{loaded:Math.max(0,o),total:Math.max(t.get(i)?.total??0,s,o)}),n===null&&(n=e(),r=a().loaded)},complete(e){let n=t.get(e);n&&(n.loaded=n.total)},snapshot(){let{loaded:t,total:o}=a(),s=null;if(n!==null&&o>0&&t<o){let a=e()-n,c=t-r;if(a>=i&&c>0){let e=c/a;s=(o-t)/e/1e3}}return o>0&&t>=o&&(s=0),{loaded:t,total:o,etaSeconds:s}}}}var o=Symbol.for(`slicc.transformers-env.fetch-wrapped`),s=()=>typeof chrome<`u`&&!!chrome?.runtime?.id,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)}var h=3e4,g=[`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`],_=Symbol.for(`slicc.transformers-env.vfs-enoent`);function v(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[_]=!0,a(()=>i(t))},h),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[_]=!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 y(e){return!!e?.[_]}function b(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function x(e,t){return!t||!e.startsWith(t)?null:`${l}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function S(e,t){let n;try{n=await v(e)}catch(t){if(y(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(b(n),{status:200,headers:{"Content-Type":i,"Content-Length":String(n.byteLength)}})}var C=null;async function w(){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(g.map(async t=>{try{let n=await v(`${c}${t}`),i=new Blob([b(n)],{type:r(t)});e[t]=URL.createObjectURL(i)}catch(e){if(!y(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 T(){return C||=w(),C}function E(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=n(c)),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=n(l),s())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&T().then(e=>{t.wasmPaths=e},()=>{});let r=e.fetch;if(r?.[o])return;let i=r,a=e.localModelPath,f=async(e,t)=>{let n=x(u(e),a);return n===null?!d(e)||p(e)?i?i(e,t):fetch(e,t):m(e,t):S(n,t)};f[o]=!0,e.fetch=f}async function D(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await v(`${l}${e}/config.json`)}catch(e){if(y(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{E as n,a as r,D as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e,t}from"./proxied-fetch-I4cndszg.js";import{f as n,p as r}from"./kernel-worker-WZ2iz72O.js";function i(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 a=Symbol.for(`slicc.transformers-env.fetch-wrapped`),o=()=>typeof chrome<`u`&&!!chrome?.runtime?.id,s=`/workspace/node_modules/onnxruntime-web/dist/`,c=`/workspace/models/`;function l(e){return typeof e==`string`?e:e instanceof URL?e.toString():e.url}function u(e){let t=l(e);return t.startsWith(`http://`)||t.startsWith(`https://`)}function d(){return globalThis.location?.origin??null}function f(e){let t=d();if(!t)return!1;try{return new URL(l(e)).origin===t}catch{return!1}}async function p(n,r){let i=l(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 m=[`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`],h=Symbol.for(`slicc.transformers-env.vfs-enoent`);function g(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[h]=!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[h]=!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 _(e){return!!e?.[h]}function v(e){let t=new ArrayBuffer(e.byteLength),n=new Uint8Array(t);return n.set(e),n}function y(e,t){return!t||!e.startsWith(t)?null:`${c}${e.slice(t.length).split(`?`)[0].split(`#`)[0]}`}async function b(e,t){let r;try{r=await g(e)}catch(t){if(_(t))return new Response(`Not found: ${e}`,{status:404,headers:{"Content-Type":`text/plain`}});throw t}let i=n(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(r.byteLength),"Content-Range":`bytes 0-0/${r.byteLength}`}}):new Response(v(r),{status:200,headers:{"Content-Type":i,"Content-Length":String(r.byteLength)}})}let x=null;async function S(){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(m.map(async t=>{try{let r=await g(`${s}${t}`),i=new Blob([v(r)],{type:n(t)});e[t]=URL.createObjectURL(i)}catch(e){if(!_(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 C(){return x||=S(),x}function w(e){let t=e.backends?.onnx?.wasm;if(t&&(t.wasmPaths=r(s)),e.allowRemoteModels=!1,e.allowLocalModels=!0,e.localModelPath=r(c),o())return;e.allowRemoteModels=!0,e.remoteHost=e.localModelPath,e.remotePathTemplate=`{model}/`,t&&C().then(e=>{t.wasmPaths=e},()=>{});let n=e.fetch;if(n?.[a])return;let i=n,d=e.localModelPath,m=async(e,t)=>{let n=y(l(e),d);return n===null?!u(e)||f(e)?i?i(e,t):fetch(e,t):p(e,t):b(n,t)};m[a]=!0,e.fetch=m}async function T(e){let t=`weights for ${e} are missing — run \`hf download ${e}\` to fetch them into /workspace/models/.`;try{await g(`${c}${e}/config.json`)}catch(e){if(_(e))throw Error(t);let n=e instanceof Error?e.message:String(e);throw Error(`${t} (probe failed: ${n})`)}}export{i as a,w as i,m as n,T as r,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as e,w as t}from"./kernel-worker-WZ2iz72O.js";const n=`slicc:last-seen-version`;function r(){return{version:`5.9.0`,releasedAt:`2026-06-25T17:21:50Z`}}async function i(){let t=await e(n);return t&&t.length>0?t:null}async function a(e){await t(n,e)}async function o(){let e=r(),t=await i();return t===null?(await a(e.version),{bundled:e,lastSeen:null,isUpgrade:!1}):t===e.version?{bundled:e,lastSeen:t,isUpgrade:!1}:{bundled:e,lastSeen:t,isUpgrade:!0}}async function s(e){await a(e)}export{o as detectUpgrade,s as recordVersionSeen};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{a as t,i as n,r}from"./transformers-env-D1pjZd13.js";const i=e(`speech:whisper`),a=`onnx-community/whisper-tiny`;let o=null,s=`idle`,c=null;const l=new Set;function u(){return s}function d(){return c}function f(e){return e&&l.add(e),o||=(s=`loading`,m().then(e=>(s=`ready`,p(),e),e=>{throw s=`failed`,o=null,i.error(`whisper load failed`,e),e})),o}function p(){import(`./speak-BGc6bNZS.js`).then(({kokoroWarmup:e})=>e()).catch(e=>i.warn(`kokoro warmup (chained after whisper) failed`,e))}async function m(){let{pipeline:e,env:o}=await import(`./transformers.web-BxHOGVSB.js`);n(o),await r(a);let s=t(),u=e=>{if(e?.file){if(e.status===`progress`)s.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)s.complete(e.file);else return;c=s.snapshot();for(let e of l)e(c)}},d=async t=>await e(`automatic-speech-recognition`,a,{device:t,dtype:t===`webgpu`?`fp32`:`q8`,progress_callback:u}),f=typeof navigator<`u`&&`gpu`in navigator,p;if(f)try{p=await d(`webgpu`)}catch(e){i.warn(`whisper webgpu init failed; retrying on wasm`,e),p=await d(`wasm`)}else p=await d(`wasm`);return i.info(`whisper ready`,{model:a,device:f?`webgpu`:`wasm`}),{async transcribe(e,t){let n=await p(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}});return(Array.isArray(n)?n.map(e=>e.text??``).join(` `):n.text??``).trim()}}}export{u as i,f as n,d as r,a as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/speak-DqTkMukv.js","assets/preload-helper-zJ_50EbN.js","assets/logger-DDBAeTLF.js","assets/speech-assets-bridge-B8NqCAE8.js","assets/transformers-env-BLIAM-E9.js","assets/proxied-fetch-B5vr_AP8.js","assets/chunk-aKtaBQYM.js","assets/src-x0cJ68Fe.js","assets/fetch-body-D2PwksUW.js","assets/shared-Bn9ltvMZ.js","assets/mime-types-ugOWOUZ9.js","assets/path-utils-DU6QhF_k.js","assets/transformers.web-CuUo4MLm.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-zJ_50EbN.js";import{t}from"./logger-DDBAeTLF.js";import{n,r,t as i}from"./transformers-env-BLIAM-E9.js";var a=t(`speech:whisper`),o=`onnx-community/whisper-tiny`,s=null,c=`idle`,l=null,u=new Set;function d(){return c}function f(){return l}function p(e){return e&&u.add(e),s||=(c=`loading`,h().then(e=>(c=`ready`,m(),e),e=>{throw c=`failed`,s=null,a.error(`whisper load failed`,e),e})),s}function m(){e(async()=>{let{kokoroWarmup:e}=await import(`./speak-DqTkMukv.js`);return{kokoroWarmup:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])).then(({kokoroWarmup:e})=>e()).catch(e=>a.warn(`kokoro warmup (chained after whisper) failed`,e))}async function h(){let{pipeline:t,env:s}=await e(async()=>{let{pipeline:e,env:t}=await import(`./transformers.web-CuUo4MLm.js`);return{pipeline:e,env:t}},__vite__mapDeps([12,6,1]));n(s),await i(o);let c=r(),d=e=>{if(e?.file){if(e.status===`progress`)c.update(e.file,e.loaded??0,e.total??0);else if(e.status===`done`)c.complete(e.file);else return;l=c.snapshot();for(let e of u)e(l)}},f=async e=>await t(`automatic-speech-recognition`,o,{device:e,dtype:e===`webgpu`?`fp32`:`q8`,progress_callback:d}),p=typeof navigator<`u`&&`gpu`in navigator,m;if(p)try{m=await f(`webgpu`)}catch(e){a.warn(`whisper webgpu init failed; retrying on wasm`,e),m=await f(`wasm`)}else m=await f(`wasm`);return a.info(`whisper ready`,{model:o,device:p?`webgpu`:`wasm`}),{async transcribe(e,t){let n=await m(e,{chunk_length_s:30,task:`transcribe`,...t?.language?{language:t.language}:{}});return(Array.isArray(n)?n.map(e=>e.text??``).join(` `):n.text??``).trim()}}}var g=16e3;async function _(e){if(typeof AudioContext>`u`||typeof OfflineAudioContext>`u`)throw Error(`audio decoding requires a window/page realm (AudioContext unavailable)`);let t=new AudioContext,n;try{n=await t.decodeAudioData(e.slice(0))}finally{await t.close().catch(()=>{})}let r=Math.max(1,Math.ceil(n.duration*g)),i=new OfflineAudioContext(1,r,g),a=i.createBufferSource();return a.buffer=n,a.connect(i.destination),a.start(),(await i.startRendering()).getChannelData(0).slice(0)}var v=t(`speech:whisper-session`),y=2e3,b=500,x=5e3,S=3e4,C=(e,t,n)=>new Promise((r,i)=>{let a=setTimeout(()=>i(Error(`${n} timed out after ${t}ms`)),t);e.then(e=>{clearTimeout(a),r(e)},e=>{clearTimeout(a),i(e)})});function w(e){return e?.split(`-`)[0]?.toLowerCase()||void 0}async function T(e,t){let n;if(t.stream)n=t.stream;else{if(!navigator.mediaDevices?.getUserMedia)throw Error(`microphone capture unavailable in this realm`);n=await navigator.mediaDevices.getUserMedia({audio:t.deviceId&&t.deviceId!=="default"?{deviceId:{exact:t.deviceId}}:!0})}let r=new MediaRecorder(n),i=[],a=w(t.lang),o=!1,s=!1;r.ondataavailable=e=>{e.data.size>0&&i.push(e.data)};let c=async()=>{if(i.length===0)return``;let t=await _(await new Blob(i,{type:r.mimeType||`audio/webm`}).arrayBuffer());return e.transcribe(t,{language:a})},l=Promise.resolve(``),u=()=>{let e=l.catch(()=>``).then(()=>c());return l=e.catch(()=>``),e},d=setInterval(()=>{o||s||i.length===0||(o=!0,u().then(e=>{!s&&e&&t.onPartial?.(e)}).catch(e=>{v.warn(`partial transcription failed`,e)}).finally(()=>{o=!1}))},y),f=()=>{if(clearInterval(d),r.state!==`inactive`)try{r.stop()}catch{}for(let e of n.getTracks())e.stop()},p=()=>new Promise(e=>{if(r.state===`inactive`){e();return}r.onstop=()=>e();try{r.stop()}catch{e()}});return r.start(b),{async stop(){if(s)return``;s=!0,clearInterval(d);try{await C(p(),x,`recorder flush`);for(let e of n.getTracks())e.stop();return await C(u(),S,`transcription`)}catch(e){for(let e of n.getTracks())e.stop();let r=e instanceof Error?e.message:String(e);return t.onError?.(`transcription failed: ${r}`),``}},cancel(){s||(s=!0,f())}}}export{f as a,p as i,w as n,d as o,_ as r,T as t};
|