sliccy 2.41.2 → 2.41.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.
Files changed (86) hide show
  1. package/dist/ui/assets/__vite-browser-external-CTFk2Lkt.js +1 -0
  2. package/dist/ui/assets/__vite-browser-external-DWqD2dLY.js +1 -0
  3. package/dist/ui/assets/addon-fit-yURJy3qA.js +13 -0
  4. package/dist/ui/assets/{adobe-B289PMn-.js → adobe-CH2L4W6h.js} +1 -1
  5. package/dist/ui/assets/adobe-DEWuHFse.js +1 -0
  6. package/dist/ui/assets/{agent-bridge-VMFIuopH.js → agent-bridge-zA0Ev9gp.js} +1 -1
  7. package/dist/ui/assets/agent-message-to-chat-DTeEu8-L.js +7 -0
  8. package/dist/ui/assets/{anthropic-BNzn9jxd.js → anthropic-C2TXpozA.js} +1 -1
  9. package/dist/ui/assets/anthropic-rJPW2O12.js +39 -0
  10. package/dist/ui/assets/azure-ai-foundry-CaxHzIfg.js +1 -0
  11. package/dist/ui/assets/{azure-openai-WlNLdxb8.js → azure-openai-Bp-0Xcsq.js} +1 -1
  12. package/dist/ui/assets/azure-openai-KAoRKaJ2.js +1 -0
  13. package/dist/ui/assets/{azure-openai-responses-2u29KiQ4.js → azure-openai-responses-D6_PN55T.js} +1 -1
  14. package/dist/ui/assets/azure-openai-responses-DD7oqs8R.js +1 -0
  15. package/dist/ui/assets/bedrock-camp-BUaVLUkX.js +5 -0
  16. package/dist/ui/assets/{bedrock-camp-BYUI3MPM.js → bedrock-camp-BdP76xIG.js} +3 -3
  17. package/dist/ui/assets/bsh-watchdog-BPXsh13l.js +42 -0
  18. package/dist/ui/assets/chunk-Cn1BcAw8.js +1 -0
  19. package/dist/ui/assets/cost-command-u41z5zYF.js +1 -0
  20. package/dist/ui/assets/db-Cdoacmjm.js +1 -0
  21. package/dist/ui/assets/diagnostics-DgDchIlf.js +1 -0
  22. package/dist/ui/assets/dist-CdiravWB.js +43 -0
  23. package/dist/ui/assets/dist-Dvfs0thb.js +9 -0
  24. package/dist/ui/assets/es-C_ffrbst.js +36 -0
  25. package/dist/ui/assets/{fs-DGvU58ce.js → fs-C24mGi62.js} +3 -3
  26. package/dist/ui/assets/fs-DNQsNm4m.js +3 -0
  27. package/dist/ui/assets/git-config-CdPD25HI.js +7 -0
  28. package/dist/ui/assets/github-BNbefD1y.js +1 -0
  29. package/dist/ui/assets/{github-BdBT7jQP.js → github-BNgNrxNK.js} +2 -2
  30. package/dist/ui/assets/github-copilot-headers-CnBwk0a7.js +1 -0
  31. package/dist/ui/assets/google-DIN3PdVg.js +1 -0
  32. package/dist/ui/assets/google-shared-D8AVju7J.js +269 -0
  33. package/dist/ui/assets/google-vertex-BNPwBn3T.js +1 -0
  34. package/dist/ui/assets/{google-DXyEIJQt.js → google-w6hFUWTs.js} +1 -1
  35. package/dist/ui/assets/headers-1z24dq00.js +1 -0
  36. package/dist/ui/assets/{index-2YPPqfMe.js → index-DgpEf1ai.js} +4 -4
  37. package/dist/ui/assets/js-realm-worker-CxL23t6B.js +1 -0
  38. package/dist/ui/assets/kernel-worker-CTDGZQ-9.js +7014 -0
  39. package/dist/ui/assets/lick-manager-proxy-CU8QckrD.js +1 -0
  40. package/dist/ui/assets/local-llm-CrY4zo6D.js +2 -0
  41. package/dist/ui/assets/{local-llm-v6E29R0f.js → local-llm-DypPzJOJ.js} +1 -1
  42. package/dist/ui/assets/logger-BHrAkMIS.js +1 -0
  43. package/dist/ui/assets/magick-wasm-2iwpLX2j.js +1 -0
  44. package/dist/ui/assets/mime-types-CtECiBq5.js +1 -0
  45. package/dist/ui/assets/{mistral-DCT8MOLt.js → mistral-C7VnXhNV.js} +1 -1
  46. package/dist/ui/assets/mistral-CpPS-t-f.js +46 -0
  47. package/dist/ui/assets/{mount-DGceyJAY.js → mount-D5v-EQOi.js} +2 -2
  48. package/dist/ui/assets/mount-UPc-Yzt_.js +1 -0
  49. package/dist/ui/assets/mount-id-DTHL0KHy.js +1 -0
  50. package/dist/ui/assets/{nuke-command-B2Cr8yRU.js → nuke-command-Dz3yTV_Q.js} +1 -1
  51. package/dist/ui/assets/oauth-service-BOg00ewY.js +1 -0
  52. package/dist/ui/assets/{offscreen-client-BZcNIg4B.js → offscreen-client-D-03EtPp.js} +1 -1
  53. package/dist/ui/assets/{onboarding-orchestrator-DNrrFQR0.js → onboarding-orchestrator-DYgO_F5N.js} +1 -1
  54. package/dist/ui/assets/openai-BHyrBS3D.js +16 -0
  55. package/dist/ui/assets/{openai-codex-responses-DcX-CN3X.js → openai-codex-responses-0QAdRT8o.js} +1 -1
  56. package/dist/ui/assets/openai-codex-responses-BVWxiojY.js +7 -0
  57. package/dist/ui/assets/{openai-completions-Bew_ZujQ.js → openai-completions-AkqWeeEZ.js} +1 -1
  58. package/dist/ui/assets/openai-completions-CXOhvu4T.js +5 -0
  59. package/dist/ui/assets/openai-responses-BFwC5JqN.js +1 -0
  60. package/dist/ui/assets/{openai-responses-C6R1BTfa.js → openai-responses-BUlnD83Q.js} +1 -1
  61. package/dist/ui/assets/openai-responses-shared-B6jGECcG.js +12 -0
  62. package/dist/ui/assets/{openai-responses-shared-6i2YUTcv.js → openai-responses-shared-B9id-zQc.js} +1 -1
  63. package/dist/ui/assets/pdfjs-Dcpzfrlx.js +54 -0
  64. package/dist/ui/assets/{provider-settings-CZjUI9ty.js → provider-settings-BR2V82gY.js} +2 -2
  65. package/dist/ui/assets/provider-settings-h-kRNJ35.js +90 -0
  66. package/dist/ui/assets/providers-lxjVkr6c.js +1 -0
  67. package/dist/ui/assets/py-realm-worker-BLXn1Tp_.js +23 -0
  68. package/dist/ui/assets/pyodide-C2X7foBW.js +3 -0
  69. package/dist/ui/assets/pyodide-Nsz9RSYM.js +3 -0
  70. package/dist/ui/assets/remote-cache-BSVr74Dp.js +1 -0
  71. package/dist/ui/assets/sanitize-unicode-BzRhXPLL.js +1 -0
  72. package/dist/ui/assets/secret-masking-BMzkw8ZK.js +1 -0
  73. package/dist/ui/assets/{spawn-DPstb7fx.js → spawn-AxN2wGU7.js} +1 -1
  74. package/dist/ui/assets/sprinkle-bridge-channel-DhKQ_srk.js +1 -0
  75. package/dist/ui/assets/sprinkle-proxy-DFfNIL2L.js +1 -0
  76. package/dist/ui/assets/sql-wasm-D1epIc7x.js +2 -0
  77. package/dist/ui/assets/transform-messages-BdxHijhT.js +1 -0
  78. package/dist/ui/assets/upgrade-detection-BlY-hwQ2.js +1 -0
  79. package/dist/ui/assets/xterm-BUXrv9NX.js +48 -0
  80. package/dist/ui/index.html +6 -6
  81. package/dist/ui/packages/webapp/index.html +6 -6
  82. package/package.json +1 -1
  83. package/dist/ui/assets/cost-command-C-iNLlwZ.js +0 -1
  84. package/dist/ui/assets/js-realm-worker-1pc5_MyD.js +0 -1
  85. package/dist/ui/assets/kernel-worker-F5kL1tTL.js +0 -7573
  86. package/dist/ui/assets/py-realm-worker-C_uxhdB2.js +0 -25
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/magick-wasm-BnlzD3um.js","assets/preload-helper-ca-nBW7U.js","assets/azure-openai-WlNLdxb8.js","assets/bedrock-camp-BYUI3MPM.js","assets/chunk-jRWAZmH_.js","assets/index-2YPPqfMe.js","assets/simple-options-B0cR4giT.js","assets/fs-DGvU58ce.js","assets/logger-B-No_qN_.js","assets/path-utils-CNNVZ3-O.js","assets/tray-follower-status-BrSKMPaE.js","assets/mime-types-DL940yDZ.js","assets/mount-picker-popup-BLHoVG3y.js","assets/mount-DGceyJAY.js","assets/index-RVLUy-Qx.css","assets/openai-NzrumIkM.js","assets/local-llm-v6E29R0f.js","assets/openai-completions-Bew_ZujQ.js","assets/github-copilot-headers-DLK82thn.js","assets/headers-CeeP1wvy.js","assets/sanitize-unicode-DANurEy1.js","assets/adobe-B289PMn-.js","assets/github-BdBT7jQP.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./chunk-jRWAZmH_.js";import{t}from"./logger-B-No_qN_.js";import{t as n}from"./preload-helper-ca-nBW7U.js";import{i as r,r as i,t as a}from"./bedrock-camp-BYUI3MPM.js";import{d as o,l as s,u as c}from"./simple-options-B0cR4giT.js";import{o as l,s as u,t as d}from"./tray-follower-status-BrSKMPaE.js";import{o as f}from"./index-2YPPqfMe.js";function p(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=10||r===0?Math.round(n):Math.round(n*10)/10} ${t[r]}`}function m(e){let t=e.mimeType||`application/octet-stream`;return`${e.name} (${t}, ${p(e.size)})`}var h=t(`image-processor`),g=3932160,_=1568,v=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function y(e){return v.has(e)}function b(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function x(e){if(!y(e.mimeType))return h.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,r=b(e.data,e.mimeType);if(!(t>5242880||r!==null&&(r.width>8e3||r.height>8e3)||r!==null&&Math.max(r.width,r.height)>1568))return e;h.info(`Image needs processing`,{base64Size:t,dimensions:r?`${r.width}x${r.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let i,a;try{let e=await n(()=>import(`./magick-wasm-BnlzD3um.js`),__vite__mapDeps([0,1]));i=e.getMagick,a=e.MIME_TO_MAGICK_FORMAT}catch(e){return h.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let o;try{o=await i()}catch(e){return h.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let i={data:null,mime:e.mimeType};if(await o.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,o=Math.max(n,r);if(o>1568){let e=_/o,i=Math.round(n*e),a=Math.round(r*e);t.resize(i,a),h.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${a}`})}let s=a[e.mimeType]||`JPEG`;t.write(s,e=>{i.data=new Uint8Array(e)}),i.data&&i.data.length>g&&s!==`JPEG`?(h.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{i.data=new Uint8Array(e)}),i.mime=`image/jpeg`):i.data&&i.data.length>g&&(h.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{i.data=new Uint8Array(e)}))}),!i.data)return h.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(i.data.length>g)return h.warn(`Image still over 5MB after resize+compress`,{size:i.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(i.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<i.data.length;e++)s+=String.fromCharCode(i.data[e]);let c=btoa(s);return h.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:i.mime}),{type:`image`,data:c,mimeType:i.mime}}catch(n){return h.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}t(`tool-adapter`),t(`context-compaction`);function S(e,t){if(e.state===`inactive`&&t.state===`inactive`)return{kind:`hidden`};if(e.state===`leader`&&e.session?.joinUrl)return{kind:`leader-copy`,joinUrl:e.session.joinUrl,label:`Enable multi-browser sync`,caption:`Share this URL to connect more browsers.`};if(e.state!==`inactive`){let t=e.state===`connecting`?`Setting up multi-browser sync…`:e.state===`reconnecting`?`Reconnecting…`:`Sync service unreachable.`;return{kind:`leader-pending`,label:`Multi-browser sync`,caption:e.error??t}}return{kind:`follower`,label:`Multi-browser sync`,caption:t.error??t.lastError??C(t.state)??`Mirroring another browser.`}}function C(e){switch(e){case`connected`:return`Connected — mirroring another browser.`;case`connecting`:return`Connecting to the other browser…`;case`reconnecting`:return`Reconnecting…`;case`disconnected`:return`Disconnected from the other browser.`;default:return null}}function w(e){let t=e.trim();if(!t)return`Paste a sync URL to continue.`;let n=null;try{n=new URL(t)}catch{return`That doesn’t look like a URL. Paste the full https://… link from the other browser.`}return n.protocol!==`https:`&&n.protocol!==`http:`?`Sync URLs must start with https://.`:n.pathname.includes(`/join/`)?`That sync URL is malformed. Re-copy it from the other browser and try again.`:`This URL is missing the /join/… capability. Use “Enable multi-browser sync” on the other browser.`}var T=Object.assign({"/packages/dev-tools/providers.build.json":{include:[`*`],exclude:[]}})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function E(e){let{include:t,exclude:n}=T;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var D=Object.assign({"./built-in/azure-ai-foundry.ts":()=>n(()=>import(`./azure-ai-foundry-B1O-wE_V.js`),[]),"./built-in/azure-openai.ts":()=>n(()=>import(`./azure-openai-WlNLdxb8.js`),__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15])),"./built-in/bedrock-camp.ts":()=>n(()=>import(`./bedrock-camp-BYUI3MPM.js`).then(e=>e.n),__vite__mapDeps([3,4,5,1,6,7,8,9,10,11,12,13,14])),"./built-in/local-llm.ts":()=>n(()=>import(`./local-llm-v6E29R0f.js`),__vite__mapDeps([16,3,4,5,1,6,7,8,9,10,11,12,13,14,17,18,19,20,15]))}),O=Object.assign({"/packages/webapp/providers/adobe.ts":()=>n(()=>import(`./adobe-B289PMn-.js`),__vite__mapDeps([21,1,3,4,5,6,7,8,9,10,11,12,13,14])),"/packages/webapp/providers/github.ts":()=>n(()=>import(`./github-BdBT7jQP.js`),__vite__mapDeps([22,1,3,4,5,6,7,8,9,10,11,12,13,14]))}),k=new Map,A=null;function j(){return A||(A=(async()=>{for(let[e,t]of Object.entries(D)){let e=await t();e.config&&E(e.config.id)&&(k.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(O)){let e=await t();e.config&&(k.set(e.config.id,e.config),e.register?.())}})(),A)}function M(e){return k.get(e)}function N(){return[...k.keys()]}var ee=e({addAccount:()=>J,applyProviderDefaults:()=>W,clearAllSettings:()=>ve,describeInvalidJoinUrl:()=>w,downloadProviders:()=>_e,exportProviders:()=>ge,getAccounts:()=>K,getAllAvailableModels:()=>se,getApiKey:()=>he,getApiKeyForProvider:()=>ue,getApiVersionForProvider:()=>fe,getAvailableProviders:()=>z,getBaseUrlForProvider:()=>X,getDeploymentForProvider:()=>de,getProviderConfig:()=>B,getProviderModels:()=>H,getSelectedModelId:()=>Z,getSelectedProvider:()=>Q,isModelHiddenFromPicker:()=>G,removeAccount:()=>Y,resolveCurrentModel:()=>$,resolveModelById:()=>ye,saveOAuthAccount:()=>ce,setSelectedModelId:()=>pe,showProviderSettings:()=>Ce}),P=s,F=c;function I(){return typeof chrome<`u`&&!!chrome?.runtime?.id}var L=`slicc_accounts`,R=`selected-model`,te=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],ne=!1;function re(){if(!ne){ne=!0;for(let e of te)try{localStorage.removeItem(e)}catch{}}}function z(){let e=o().filter(E),t=N();return[...new Set([...e,...t])]}function B(e){return M(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function V(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat})}function H(e){try{if(e===`bedrock-camp`){let e=a(X(`bedrock-camp`)),t=F(`amazon-bedrock`).filter(t=>r(t,e)),n=new Set(t.map(e=>e.id)),o=i().filter(t=>r(t,e)&&!n.has(t.id));return[...t,...o].map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=B(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return U.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of o())try{for(let t of F(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o=a?{...a,api:i,provider:e}:{id:n.id,name:n.name??n.id,provider:e,api:i,baseUrl:``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputCost:0,outputCost:0,cacheReadCost:0,cacheWriteCost:0,reasoning:!0},s=t.modelOverrides?.[n.id];return s&&V(o,s),V(o,n),o})}if(t.isOAuth){let n=F(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&V(i,a),i})}return F(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return U.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}var ie=Object.assign({})[`/packages/webapp/providers.json`]??[],U=t(`provider-settings`);function W(e=ie){if(e.length===0||K().length>0)return;let t=new Set(z());for(let n of e)if(!(!n.providerId||!n.apiKey)){if(!t.has(n.providerId)){U.warn(`Unknown provider "${n.providerId}" in providers.json — skipping`);continue}J(n.providerId,n.apiKey,n.baseUrl)}let n=e.find(e=>e.providerId&&e.apiKey&&t.has(e.providerId));n?.model&&!localStorage.getItem(R)&&localStorage.setItem(R,`${n.providerId}:${n.model}`)}var ae=[/haiku/i];function G(e){return ae.some(t=>t.test(e))}function oe(e){return e.filter(e=>!G(e.id))}function se(){let e=K();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=oe(H(n.providerId));if(e.length===0)continue;let r=B(n.providerId),i={providerId:n.providerId,providerName:r.name,models:e};t.set(n.providerId,i)}return[...t.values()]}function K(){re();let e=localStorage.getItem(L);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function q(e){localStorage.setItem(L,JSON.stringify(e))}function J(e,t,n,r,i){let a=K().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),q(a)}function Y(e){q(K().filter(t=>t.providerId!==e));let t=localStorage.getItem(R)??``,n=t.indexOf(`:`);n>0&&t.slice(0,n)===e&&localStorage.removeItem(R)}function ce(e){let t=K().find(t=>t.providerId===e.providerId),n=K().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),q(n)}var le=`local`;function ue(e){let t=K().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(B(e).optionalApiKey?le:null):null}function X(e){return K().find(t=>t.providerId===e)?.baseUrl??null}function de(e){return K().find(t=>t.providerId===e)?.deployment??null}function fe(e){return K().find(t=>t.providerId===e)?.apiVersion??null}function Z(){let e=localStorage.getItem(R)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function pe(e){if(e.includes(`:`))localStorage.setItem(R,e);else{let t=Q();localStorage.setItem(R,`${t}:${e}`)}}function me(){return localStorage.getItem(R)||``}function Q(){let e=me(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=K();return n.length>0?n[0].providerId:`anthropic`}function he(){return ue(Q())}function ge(){let e=K(),t=Q(),n=Z();return e.map(e=>{let r={providerId:e.providerId,apiKey:e.apiKey};return e.baseUrl&&(r.baseUrl=e.baseUrl),e.providerId===t&&n&&(r.model=n),r})}function _e(){let e=JSON.stringify(ge(),null,2),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`providers.json`,r.click(),URL.revokeObjectURL(n)}function ve(){localStorage.removeItem(L),localStorage.removeItem(R);for(let e of te)localStorage.removeItem(e)}function ye(e){if(!e)return $();let t=Q(),n=X(t);try{let r=B(t),i=P(r.isOAuth||t===`azure-ai-foundry`?`anthropic`:t===`bedrock-camp`?`amazon-bedrock`:t,e);if(!i?.id)throw Error(`Model ${e} not found`);let a=i;return r.isOAuth?a=H(t).find(t=>t.id===e)||{...a,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(a={...a,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(a={...a,baseUrl:n}),a}catch{return $()}}function $(){let e=Q(),t=Z(),n=X(e),r=H(e),i=B(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=B(e),i=t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e,a=P(i,o);if(!a?.id)throw Error(`Model ${o} not found in ${i} registry`);let s=a;return t.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch{let e=r.find(e=>e.id===o);return e?n?{...e,baseUrl:n}:e:P(`anthropic`,`claude-sonnet-4-0`)}}function be(e){return e.length<=10?`****`:e.slice(0,4)+`...`+e.slice(-4)}function xe(e){let t=`http://www.w3.org/2000/svg`,n=document.createElementNS(t,`svg`);n.setAttribute(`width`,`14`),n.setAttribute(`height`,`14`),n.setAttribute(`viewBox`,`0 0 20 20`),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`1.5`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`);for(let r of e){let e=document.createElementNS(t,`path`);e.setAttribute(`d`,r),n.appendChild(e)}return n}var Se={pen:[`M14.3 3.3a1.5 1.5 0 0 1 2.1 0l.3.3a1.5 1.5 0 0 1 0 2.1L7.7 14.8l-3.2.7.7-3.2z`],trash:[`M4 6h12`,`M8 6V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2`,`M6 6v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6`]};function Ce(e){return f(`button`),new Promise(t=>{let r=localStorage.getItem(L)??``,i=document.createElement(`div`);i.className=`dialog-overlay`;let a=document.createElement(`div`);a.className=`dialog`,a.style.cssText=`max-width: 480px; width: 90vw; padding: 32px;`,K().length>0?o():e?.autoJoinUrl?c(e.autoJoinUrl):e?.preferTrayJoin?f():s(),i.appendChild(a),document.body.appendChild(i);function o(){a.innerHTML=``;let e=document.createElement(`div`);e.className=`dialog__title`,e.textContent=`Accounts`,a.appendChild(e);let n=K(),c=`background: transparent; border: 1px solid var(--s2-border-subtle); color: var(--s2-content-secondary); border-radius: var(--s2-radius-s); padding: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: color 0.15s, border-color 0.15s;`;if(n.length===0){let e=document.createElement(`div`);e.className=`dialog__desc`,e.textContent=`No accounts configured.`,a.appendChild(e)}else{let e=document.createElement(`div`);e.style.cssText=`margin-bottom: 16px;`;for(let t of n){let n=B(t.providerId),r=document.createElement(`div`);r.style.cssText=`display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); margin-bottom: 8px; border: 1px solid var(--s2-border-subtle);`;let i=document.createElement(`div`);i.style.cssText=`flex: 1; min-width: 0;`;let a=document.createElement(`div`);a.style.cssText=`font-size: 14px; font-weight: 600; color: var(--s2-content-default);`,a.textContent=n.name,i.appendChild(a);let l=document.createElement(`div`);l.style.cssText=`font-size: 11px; color: var(--s2-content-disabled); font-family: monospace; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;`,t.userName?l.textContent=t.userName:t.accessToken?l.textContent=`Logged in`:l.textContent=be(t.apiKey),t.baseUrl&&(l.textContent+=` • `+t.baseUrl),i.appendChild(l),r.appendChild(i);let u=document.createElement(`div`);u.style.cssText=`display: flex; gap: 4px; margin-left: 12px; flex-shrink: 0;`;let d=document.createElement(`button`);d.style.cssText=c,d.setAttribute(`aria-label`,`Edit account`),d.appendChild(xe(Se.pen)),d.addEventListener(`mouseenter`,()=>{d.style.color=`var(--s2-accent)`,d.style.borderColor=`var(--s2-accent)`}),d.addEventListener(`mouseleave`,()=>{d.style.color=`var(--s2-content-secondary)`,d.style.borderColor=`var(--s2-border-subtle)`}),d.addEventListener(`click`,()=>{s(t)}),u.appendChild(d);let f=document.createElement(`button`);f.style.cssText=c,f.setAttribute(`aria-label`,`Remove account`),f.appendChild(xe(Se.trash)),f.addEventListener(`mouseenter`,()=>{f.style.color=`var(--s2-negative)`,f.style.borderColor=`var(--s2-negative)`}),f.addEventListener(`mouseleave`,()=>{f.style.color=`var(--s2-content-secondary)`,f.style.borderColor=`var(--s2-border-subtle)`}),f.addEventListener(`click`,()=>{Y(t.providerId),o()}),u.appendChild(f),r.appendChild(u),e.appendChild(r)}a.appendChild(e)}let u=document.createElement(`div`);u.style.cssText=`display: flex; gap: 8px;`;let p=document.createElement(`button`);p.className=n.length>0?`dialog__btn dialog__btn--secondary`:`dialog__btn`,p.style.flex=`1`,p.textContent=`Add Account`,p.addEventListener(`click`,()=>s()),u.appendChild(p);let m=document.createElement(`button`);m.className=`dialog__btn dialog__btn--secondary`,m.style.flex=`1`,m.textContent=`Export`,m.addEventListener(`click`,()=>_e()),u.appendChild(m),a.appendChild(u);let h=document.createElement(`hr`);h.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,a.appendChild(h);let g=document.createElement(`div`);g.className=`dialog__desc`,g.style.cssText=`font-weight: 600; margin-bottom: 8px;`,g.textContent=`Tray`,a.appendChild(g);let _=d(),v=_.state!==`inactive`,y=l(window.localStorage);if(v||y){let e=document.createElement(`div`);e.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px;`,e.textContent=`Follower: ${v?_.state:`configured`}`,_.error&&(e.textContent+=` — ${_.error}`,e.style.color=`var(--slicc-cone)`),a.appendChild(e)}let b=document.createElement(`button`);b.className=`dialog__btn dialog__btn--secondary`,b.textContent=v||y?`Reconnect to other browser`:`Connect to another browser`,b.addEventListener(`click`,()=>f()),a.appendChild(b);let x=document.createElement(`hr`);x.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,a.appendChild(x);let S=document.createElement(`button`);S.className=`dialog__btn`,S.textContent=`Get Started`,S.addEventListener(`click`,()=>{i.remove(),t((localStorage.getItem(L)??``)!==r)}),a.appendChild(S)}function s(e){a.innerHTML=``;let t=!!e,r=document.createElement(`div`);r.className=`dialog__title`,r.textContent=t?`Edit Account`:`Add Account`,a.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__desc`,i.textContent=`Provider:`,a.appendChild(i);let s=document.createElement(`select`);if(s.className=`dialog__input`,s.style.marginBottom=`8px`,t){let t=B(e.providerId),n=document.createElement(`option`);n.value=e.providerId,n.textContent=t.name,s.appendChild(n),s.disabled=!0,s.style.opacity=`0.7`}else{let e=z(),t=new Set(K().map(e=>e.providerId)),n=[...e].sort((e,t)=>{let n=B(e).name,r=B(t).name;return n.localeCompare(r)});for(let e of n){if(t.has(e))continue;let n=B(e),r=document.createElement(`option`);r.value=e,r.textContent=n.name,s.appendChild(r)}}a.appendChild(s);let c=document.createElement(`div`);c.className=`dialog__desc`,c.style.cssText=`font-size: 12px; color: var(--s2-content-tertiary); margin-bottom: 16px; margin-top: -4px;`,a.appendChild(c);let l=document.createElement(`div`);l.style.cssText=`margin-bottom: 16px; display: none;`;let u=document.createElement(`button`);u.className=`dialog__btn`,u.textContent=`Login`,u.style.cssText=`width: 100%; margin-bottom: 8px;`,l.appendChild(u);let d=document.createElement(`div`);d.className=`dialog__desc`,d.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); text-align: center;`,l.appendChild(d),u.addEventListener(`click`,async()=>{let e=s.value;if(!e)return;let t=B(e);if(!t.onOAuthLogin)return;let r=K().some(t=>t.providerId===e),i=X(e);if(t.requiresBaseUrl&&!v.value.trim()&&!i){d.textContent=`Base URL is required.`,d.style.color=`var(--slicc-cone)`,v.focus();return}t.requiresBaseUrl&&v.value.trim()&&J(e,``,v.value.trim()),d.textContent=`Opening login window...`;try{let{createOAuthLauncher:e}=await n(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-CfTUWB9P.js`);return{createOAuthLauncher:e}},[]),r=e();await t.onOAuthLogin(r,o)}catch(t){if(!r)try{Y(e)}catch{}U.error(`OAuth login failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),d.textContent=`Login failed: ${t instanceof Error?t.message:String(t)}`}}),t&&e.userName&&(d.textContent=`Logged in as ${e.userName}`,u.textContent=`Re-login`),a.appendChild(l);let p=document.createElement(`div`),m=document.createElement(`div`);m.className=`dialog__desc`,p.appendChild(m);let h=document.createElement(`input`);h.className=`dialog__input`,h.type=`password`,h.autocomplete=`off`,h.spellcheck=!1,t&&(h.value=e.apiKey),p.appendChild(h),a.appendChild(p);let g=document.createElement(`div`),_=document.createElement(`div`);_.className=`dialog__desc`,_.textContent=`Base URL:`,g.appendChild(_);let v=document.createElement(`input`);v.className=`dialog__input`,v.type=`text`,v.autocomplete=`off`,v.spellcheck=!1,t&&e.baseUrl&&(v.value=e.baseUrl),g.appendChild(v);let y=document.createElement(`div`);y.className=`dialog__desc`,y.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,g.appendChild(y),a.appendChild(g);let b=document.createElement(`div`);b.style.display=`none`;let x=document.createElement(`div`);x.className=`dialog__desc`,x.textContent=`Deployment:`,b.appendChild(x);let S=document.createElement(`input`);S.className=`dialog__input`,S.type=`text`,S.autocomplete=`off`,S.spellcheck=!1,t&&e.deployment&&(S.value=e.deployment),b.appendChild(S);let C=document.createElement(`div`);C.className=`dialog__desc`,C.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,b.appendChild(C),a.appendChild(b);let w=document.createElement(`div`);w.style.display=`none`;let T=document.createElement(`div`);T.className=`dialog__desc`,T.textContent=`API Version:`,w.appendChild(T);let E=document.createElement(`input`);E.className=`dialog__input`,E.type=`text`,E.autocomplete=`off`,E.spellcheck=!1,t&&e.apiVersion&&(E.value=e.apiVersion),w.appendChild(E);let D=document.createElement(`div`);D.className=`dialog__desc`,D.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,w.appendChild(D),a.appendChild(w);let O=document.createElement(`div`);O.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,a.appendChild(O);let k=document.createElement(`button`);k.className=`dialog__btn`,k.textContent=t?`Save`:`Add`;function A(){let e=s.value;if(!e)return;let t=B(e);if(c.textContent=t.description,t.isOAuth)l.style.display=``,p.style.display=`none`,g.style.display=t.requiresBaseUrl?``:`none`,t.requiresBaseUrl&&(v.placeholder=t.baseUrlPlaceholder||`https://...`,y.textContent=t.baseUrlDescription||``),u.textContent=`Login with ${t.name}`,k.style.display=`none`;else{l.style.display=`none`,m.textContent=`${t.requiresApiKey?`API Key`:`API Key (optional)`}${t.apiKeyEnvVar?` (${t.apiKeyEnvVar})`:``}:`,h.placeholder=t.apiKeyPlaceholder||`API key`;let e=t.requiresApiKey||t.optionalApiKey;p.style.display=e?``:`none`,v.placeholder=t.baseUrlPlaceholder||`https://...`,y.textContent=t.baseUrlDescription||``,g.style.display=t.requiresBaseUrl?``:`none`,k.style.display=``}t.requiresDeployment?(b.style.display=``,S.placeholder=t.deploymentPlaceholder||`deployment-name`,C.textContent=t.deploymentDescription||``):b.style.display=`none`,t.requiresApiVersion?(w.style.display=``,!E.value&&t.apiVersionDefault&&(E.value=t.apiVersionDefault),E.placeholder=t.apiVersionDefault||`api-version`,D.textContent=t.apiVersionDescription||``):w.style.display=`none`}s.addEventListener(`change`,()=>{O.style.display=`none`,A()}),A();function j(){let e=s.value;if(!e)return;let t=B(e);if(t.requiresApiKey&&h.value.trim().length<5){O.textContent=`API key is required (at least 5 characters).`,O.style.display=``,h.focus();return}if(t.requiresBaseUrl&&!v.value.trim()){O.textContent=`Base URL is required for this provider.`,O.style.display=``,v.focus();return}if(t.requiresDeployment&&!S.value.trim()){O.textContent=`Deployment name is required for this provider.`,O.style.display=``,S.focus();return}J(e,h.value.trim(),v.value.trim()||void 0,S.value.trim()||void 0,E.value.trim()||void 0),o()}k.addEventListener(`click`,j);let M=e=>{e.key===`Enter`&&j()};h.addEventListener(`keydown`,M),v.addEventListener(`keydown`,M),S.addEventListener(`keydown`,M),E.addEventListener(`keydown`,M),a.appendChild(k);let N=K().length>0;if(!t&&!N){let e=document.createElement(`button`);e.className=`dialog__btn dialog__btn--secondary`,e.style.marginTop=`8px`,e.textContent=`Connect to another browser`,e.addEventListener(`click`,()=>{f()}),a.appendChild(e)}else if(N){let e=document.createElement(`button`);e.className=`dialog__btn dialog__btn--secondary`,e.style.marginTop=`8px`,e.textContent=`Back`,e.addEventListener(`click`,()=>{o()}),a.appendChild(e)}requestAnimationFrame(()=>{let e=s.value;if(!e)return;let t=B(e);t.requiresApiKey?h.focus():t.requiresBaseUrl&&v.focus()})}function c(e){a.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Connect this browser?`,a.appendChild(n);let r=document.createElement(`div`);r.className=`dialog__desc`,r.style.marginBottom=`12px`,r.textContent=`You’ve been invited to mirror another SLICC browser. Click below to start syncing.`,a.appendChild(r);let o=document.createElement(`div`);o.className=`dialog__desc`,o.style.cssText=`font-family: monospace; font-size: 11px; color: var(--s2-content-secondary); word-break: break-all; margin-bottom: 16px; padding: 8px; background: var(--s2-bg-secondary); border-radius: 4px;`,o.textContent=e.length>80?e.slice(0,40)+`…`+e.slice(-37):e,a.appendChild(o);let c=document.createElement(`div`);c.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`,a.appendChild(c);let l=document.createElement(`button`);l.className=`dialog__btn`,l.textContent=`Connect`,l.addEventListener(`click`,()=>{let n=u(window.localStorage,e);if(!n){c.textContent=`Invalid sync URL.`,c.style.display=``,c.style.color=`var(--slicc-cone)`;return}if(I()){let e={type:`refresh-tray-runtime`,joinUrl:n.joinUrl,workerBaseUrl:n.workerBaseUrl};chrome.runtime.sendMessage({source:`panel`,payload:e}).catch(()=>{})}else window.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:n.joinUrl}}));c.textContent=`Connecting…`,c.style.display=``,c.style.color=`var(--s2-content-secondary)`,setTimeout(()=>{i.remove(),t(!1)},800)}),a.appendChild(l);let d=document.createElement(`button`);d.className=`dialog__btn dialog__btn--secondary`,d.style.marginTop=`8px`,d.textContent=`Set up an account instead`,d.addEventListener(`click`,()=>{s()}),a.appendChild(d)}function f(){a.innerHTML=``;let e=document.createElement(`div`);e.className=`dialog__title`,e.textContent=`Connect to another browser`,a.appendChild(e);let n=document.createElement(`div`);n.className=`dialog__desc`,n.style.marginBottom=`12px`,n.textContent=`Paste a multi-browser sync URL to mirror another SLICC browser.`,a.appendChild(n);let r=document.createElement(`details`);r.style.cssText=`margin-bottom: 12px; font-size: 12px; color: var(--s2-content-secondary);`;let o=document.createElement(`summary`);o.style.cssText=`cursor: pointer; user-select: none; color: var(--s2-content-secondary);`,o.textContent=`How do I get the sync URL?`,r.appendChild(o);let c=document.createElement(`div`);c.style.cssText=`margin-top: 8px; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle); line-height: 1.5;`;let l=document.createElement(`ol`);l.style.cssText=`margin: 0; padding-left: 20px;`;for(let e of[`On the other SLICC, click the avatar (top right).`,`Choose “Enable multi-browser sync” — the URL is copied automatically.`,`Paste it below. Both browsers must be on the same SLICC version.`]){let t=document.createElement(`li`);t.textContent=e,l.appendChild(t)}c.appendChild(l),r.appendChild(c),a.appendChild(r);let d=document.createElement(`div`);d.className=`dialog__desc`,d.textContent=`Sync URL:`,a.appendChild(d);let f=document.createElement(`input`);f.className=`dialog__input`,f.type=`text`,f.autocomplete=`off`,f.spellcheck=!1,f.placeholder=`https://www.sliccy.ai/join/<token>`,a.appendChild(f);let p=document.createElement(`div`);p.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,a.appendChild(p);let m=document.createElement(`div`);m.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`;let h=document.createElement(`button`);h.className=`dialog__btn`,h.textContent=`Connect`,h.addEventListener(`click`,()=>{let e=f.value.trim();if(!e){p.textContent=`Paste a sync URL to continue.`,p.style.display=``,f.focus();return}let n=u(window.localStorage,e);if(!n){p.textContent=w(e),p.style.display=``,f.focus();return}if(I()){let e={type:`refresh-tray-runtime`,joinUrl:n.joinUrl,workerBaseUrl:n.workerBaseUrl};chrome.runtime.sendMessage({source:`panel`,payload:e}).catch(()=>{})}else window.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:n.joinUrl}}));m.textContent=`Connecting…`,m.style.display=``,m.style.color=`var(--s2-content-secondary)`,setTimeout(()=>{i.remove(),t(!1)},800)}),a.appendChild(h),a.appendChild(m);let g=document.createElement(`button`);g.className=`dialog__btn dialog__btn--secondary`,g.style.marginTop=`8px`,g.textContent=`Back`,g.addEventListener(`click`,()=>{s()}),a.appendChild(g),f.addEventListener(`input`,()=>{p.style.display=`none`}),f.addEventListener(`keydown`,e=>{e.key===`Enter`&&h.click()}),requestAnimationFrame(()=>f.focus())}})}export{x as C,y as S,m as T,ce as _,he as a,j as b,de as c,Z as d,Q as f,ye as g,$ as h,se as i,B as l,Y as m,ve as n,fe as o,ee as p,K as r,X as s,W as t,H as u,pe as v,p as w,S as x,Ce as y};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/magick-wasm-BnlzD3um.js","assets/preload-helper-ca-nBW7U.js","assets/azure-openai-Bp-0Xcsq.js","assets/bedrock-camp-BdP76xIG.js","assets/chunk-jRWAZmH_.js","assets/index-DgpEf1ai.js","assets/simple-options-B0cR4giT.js","assets/fs-C24mGi62.js","assets/logger-B-No_qN_.js","assets/path-utils-CNNVZ3-O.js","assets/tray-follower-status-BrSKMPaE.js","assets/mime-types-DL940yDZ.js","assets/mount-picker-popup-BLHoVG3y.js","assets/mount-D5v-EQOi.js","assets/index-RVLUy-Qx.css","assets/openai-NzrumIkM.js","assets/local-llm-DypPzJOJ.js","assets/openai-completions-AkqWeeEZ.js","assets/github-copilot-headers-DLK82thn.js","assets/headers-CeeP1wvy.js","assets/sanitize-unicode-DANurEy1.js","assets/adobe-CH2L4W6h.js","assets/github-BNgNrxNK.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./chunk-jRWAZmH_.js";import{t}from"./logger-B-No_qN_.js";import{t as n}from"./preload-helper-ca-nBW7U.js";import{i as r,r as i,t as a}from"./bedrock-camp-BdP76xIG.js";import{d as o,l as s,u as c}from"./simple-options-B0cR4giT.js";import{o as l,s as u,t as d}from"./tray-follower-status-BrSKMPaE.js";import{o as f}from"./index-DgpEf1ai.js";function p(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=10||r===0?Math.round(n):Math.round(n*10)/10} ${t[r]}`}function m(e){let t=e.mimeType||`application/octet-stream`;return`${e.name} (${t}, ${p(e.size)})`}var h=t(`image-processor`),g=3932160,_=1568,v=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function y(e){return v.has(e)}function b(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function x(e){if(!y(e.mimeType))return h.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,r=b(e.data,e.mimeType);if(!(t>5242880||r!==null&&(r.width>8e3||r.height>8e3)||r!==null&&Math.max(r.width,r.height)>1568))return e;h.info(`Image needs processing`,{base64Size:t,dimensions:r?`${r.width}x${r.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let i,a;try{let e=await n(()=>import(`./magick-wasm-BnlzD3um.js`),__vite__mapDeps([0,1]));i=e.getMagick,a=e.MIME_TO_MAGICK_FORMAT}catch(e){return h.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let o;try{o=await i()}catch(e){return h.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let i={data:null,mime:e.mimeType};if(await o.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,o=Math.max(n,r);if(o>1568){let e=_/o,i=Math.round(n*e),a=Math.round(r*e);t.resize(i,a),h.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${a}`})}let s=a[e.mimeType]||`JPEG`;t.write(s,e=>{i.data=new Uint8Array(e)}),i.data&&i.data.length>g&&s!==`JPEG`?(h.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{i.data=new Uint8Array(e)}),i.mime=`image/jpeg`):i.data&&i.data.length>g&&(h.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{i.data=new Uint8Array(e)}))}),!i.data)return h.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(i.data.length>g)return h.warn(`Image still over 5MB after resize+compress`,{size:i.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(i.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<i.data.length;e++)s+=String.fromCharCode(i.data[e]);let c=btoa(s);return h.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:i.mime}),{type:`image`,data:c,mimeType:i.mime}}catch(n){return h.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}t(`tool-adapter`),t(`context-compaction`);function S(e,t){if(e.state===`inactive`&&t.state===`inactive`)return{kind:`hidden`};if(e.state===`leader`&&e.session?.joinUrl)return{kind:`leader-copy`,joinUrl:e.session.joinUrl,label:`Enable multi-browser sync`,caption:`Share this URL to connect more browsers.`};if(e.state!==`inactive`){let t=e.state===`connecting`?`Setting up multi-browser sync…`:e.state===`reconnecting`?`Reconnecting…`:`Sync service unreachable.`;return{kind:`leader-pending`,label:`Multi-browser sync`,caption:e.error??t}}return{kind:`follower`,label:`Multi-browser sync`,caption:t.error??t.lastError??C(t.state)??`Mirroring another browser.`}}function C(e){switch(e){case`connected`:return`Connected — mirroring another browser.`;case`connecting`:return`Connecting to the other browser…`;case`reconnecting`:return`Reconnecting…`;case`disconnected`:return`Disconnected from the other browser.`;default:return null}}function w(e){let t=e.trim();if(!t)return`Paste a sync URL to continue.`;let n=null;try{n=new URL(t)}catch{return`That doesn’t look like a URL. Paste the full https://… link from the other browser.`}return n.protocol!==`https:`&&n.protocol!==`http:`?`Sync URLs must start with https://.`:n.pathname.includes(`/join/`)?`That sync URL is malformed. Re-copy it from the other browser and try again.`:`This URL is missing the /join/… capability. Use “Enable multi-browser sync” on the other browser.`}var T=Object.assign({"/packages/dev-tools/providers.build.json":{include:[`*`],exclude:[]}})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function E(e){let{include:t,exclude:n}=T;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var D=Object.assign({"./built-in/azure-ai-foundry.ts":()=>n(()=>import(`./azure-ai-foundry-B1O-wE_V.js`),[]),"./built-in/azure-openai.ts":()=>n(()=>import(`./azure-openai-Bp-0Xcsq.js`),__vite__mapDeps([2,3,4,5,1,6,7,8,9,10,11,12,13,14,15])),"./built-in/bedrock-camp.ts":()=>n(()=>import(`./bedrock-camp-BdP76xIG.js`).then(e=>e.n),__vite__mapDeps([3,4,5,1,6,7,8,9,10,11,12,13,14])),"./built-in/local-llm.ts":()=>n(()=>import(`./local-llm-DypPzJOJ.js`),__vite__mapDeps([16,3,4,5,1,6,7,8,9,10,11,12,13,14,17,18,19,20,15]))}),O=Object.assign({"/packages/webapp/providers/adobe.ts":()=>n(()=>import(`./adobe-CH2L4W6h.js`),__vite__mapDeps([21,1,3,4,5,6,7,8,9,10,11,12,13,14])),"/packages/webapp/providers/github.ts":()=>n(()=>import(`./github-BNgNrxNK.js`),__vite__mapDeps([22,1,3,4,5,6,7,8,9,10,11,12,13,14]))}),k=new Map,A=null;function j(){return A||(A=(async()=>{for(let[e,t]of Object.entries(D)){let e=await t();e.config&&E(e.config.id)&&(k.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(O)){let e=await t();e.config&&(k.set(e.config.id,e.config),e.register?.())}})(),A)}function M(e){return k.get(e)}function N(){return[...k.keys()]}var ee=e({addAccount:()=>J,applyProviderDefaults:()=>W,clearAllSettings:()=>ve,describeInvalidJoinUrl:()=>w,downloadProviders:()=>_e,exportProviders:()=>ge,getAccounts:()=>K,getAllAvailableModels:()=>se,getApiKey:()=>he,getApiKeyForProvider:()=>ue,getApiVersionForProvider:()=>fe,getAvailableProviders:()=>z,getBaseUrlForProvider:()=>X,getDeploymentForProvider:()=>de,getProviderConfig:()=>B,getProviderModels:()=>H,getSelectedModelId:()=>Z,getSelectedProvider:()=>Q,isModelHiddenFromPicker:()=>G,removeAccount:()=>Y,resolveCurrentModel:()=>$,resolveModelById:()=>ye,saveOAuthAccount:()=>ce,setSelectedModelId:()=>pe,showProviderSettings:()=>Ce}),P=s,F=c;function I(){return typeof chrome<`u`&&!!chrome?.runtime?.id}var L=`slicc_accounts`,R=`selected-model`,te=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],ne=!1;function re(){if(!ne){ne=!0;for(let e of te)try{localStorage.removeItem(e)}catch{}}}function z(){let e=o().filter(E),t=N();return[...new Set([...e,...t])]}function B(e){return M(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function V(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat})}function H(e){try{if(e===`bedrock-camp`){let e=a(X(`bedrock-camp`)),t=F(`amazon-bedrock`).filter(t=>r(t,e)),n=new Set(t.map(e=>e.id)),o=i().filter(t=>r(t,e)&&!n.has(t.id));return[...t,...o].map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=B(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return U.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of o())try{for(let t of F(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o=a?{...a,api:i,provider:e}:{id:n.id,name:n.name??n.id,provider:e,api:i,baseUrl:``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputCost:0,outputCost:0,cacheReadCost:0,cacheWriteCost:0,reasoning:!0},s=t.modelOverrides?.[n.id];return s&&V(o,s),V(o,n),o})}if(t.isOAuth){let n=F(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&V(i,a),i})}return F(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return U.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}var ie=Object.assign({})[`/packages/webapp/providers.json`]??[],U=t(`provider-settings`);function W(e=ie){if(e.length===0||K().length>0)return;let t=new Set(z());for(let n of e)if(!(!n.providerId||!n.apiKey)){if(!t.has(n.providerId)){U.warn(`Unknown provider "${n.providerId}" in providers.json — skipping`);continue}J(n.providerId,n.apiKey,n.baseUrl)}let n=e.find(e=>e.providerId&&e.apiKey&&t.has(e.providerId));n?.model&&!localStorage.getItem(R)&&localStorage.setItem(R,`${n.providerId}:${n.model}`)}var ae=[/haiku/i];function G(e){return ae.some(t=>t.test(e))}function oe(e){return e.filter(e=>!G(e.id))}function se(){let e=K();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=oe(H(n.providerId));if(e.length===0)continue;let r=B(n.providerId),i={providerId:n.providerId,providerName:r.name,models:e};t.set(n.providerId,i)}return[...t.values()]}function K(){re();let e=localStorage.getItem(L);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function q(e){localStorage.setItem(L,JSON.stringify(e))}function J(e,t,n,r,i){let a=K().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),q(a)}function Y(e){q(K().filter(t=>t.providerId!==e));let t=localStorage.getItem(R)??``,n=t.indexOf(`:`);n>0&&t.slice(0,n)===e&&localStorage.removeItem(R)}function ce(e){let t=K().find(t=>t.providerId===e.providerId),n=K().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),q(n)}var le=`local`;function ue(e){let t=K().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(B(e).optionalApiKey?le:null):null}function X(e){return K().find(t=>t.providerId===e)?.baseUrl??null}function de(e){return K().find(t=>t.providerId===e)?.deployment??null}function fe(e){return K().find(t=>t.providerId===e)?.apiVersion??null}function Z(){let e=localStorage.getItem(R)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function pe(e){if(e.includes(`:`))localStorage.setItem(R,e);else{let t=Q();localStorage.setItem(R,`${t}:${e}`)}}function me(){return localStorage.getItem(R)||``}function Q(){let e=me(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=K();return n.length>0?n[0].providerId:`anthropic`}function he(){return ue(Q())}function ge(){let e=K(),t=Q(),n=Z();return e.map(e=>{let r={providerId:e.providerId,apiKey:e.apiKey};return e.baseUrl&&(r.baseUrl=e.baseUrl),e.providerId===t&&n&&(r.model=n),r})}function _e(){let e=JSON.stringify(ge(),null,2),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`providers.json`,r.click(),URL.revokeObjectURL(n)}function ve(){localStorage.removeItem(L),localStorage.removeItem(R);for(let e of te)localStorage.removeItem(e)}function ye(e){if(!e)return $();let t=Q(),n=X(t);try{let r=B(t),i=P(r.isOAuth||t===`azure-ai-foundry`?`anthropic`:t===`bedrock-camp`?`amazon-bedrock`:t,e);if(!i?.id)throw Error(`Model ${e} not found`);let a=i;return r.isOAuth?a=H(t).find(t=>t.id===e)||{...a,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(a={...a,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(a={...a,baseUrl:n}),a}catch{return $()}}function $(){let e=Q(),t=Z(),n=X(e),r=H(e),i=B(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=B(e),i=t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e,a=P(i,o);if(!a?.id)throw Error(`Model ${o} not found in ${i} registry`);let s=a;return t.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch{let e=r.find(e=>e.id===o);return e?n?{...e,baseUrl:n}:e:P(`anthropic`,`claude-sonnet-4-0`)}}function be(e){return e.length<=10?`****`:e.slice(0,4)+`...`+e.slice(-4)}function xe(e){let t=`http://www.w3.org/2000/svg`,n=document.createElementNS(t,`svg`);n.setAttribute(`width`,`14`),n.setAttribute(`height`,`14`),n.setAttribute(`viewBox`,`0 0 20 20`),n.setAttribute(`fill`,`none`),n.setAttribute(`stroke`,`currentColor`),n.setAttribute(`stroke-width`,`1.5`),n.setAttribute(`stroke-linecap`,`round`),n.setAttribute(`stroke-linejoin`,`round`);for(let r of e){let e=document.createElementNS(t,`path`);e.setAttribute(`d`,r),n.appendChild(e)}return n}var Se={pen:[`M14.3 3.3a1.5 1.5 0 0 1 2.1 0l.3.3a1.5 1.5 0 0 1 0 2.1L7.7 14.8l-3.2.7.7-3.2z`],trash:[`M4 6h12`,`M8 6V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2`,`M6 6v10a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V6`]};function Ce(e){return f(`button`),new Promise(t=>{let r=localStorage.getItem(L)??``,i=document.createElement(`div`);i.className=`dialog-overlay`;let a=document.createElement(`div`);a.className=`dialog`,a.style.cssText=`max-width: 480px; width: 90vw; padding: 32px;`,K().length>0?o():e?.autoJoinUrl?c(e.autoJoinUrl):e?.preferTrayJoin?f():s(),i.appendChild(a),document.body.appendChild(i);function o(){a.innerHTML=``;let e=document.createElement(`div`);e.className=`dialog__title`,e.textContent=`Accounts`,a.appendChild(e);let n=K(),c=`background: transparent; border: 1px solid var(--s2-border-subtle); color: var(--s2-content-secondary); border-radius: var(--s2-radius-s); padding: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: color 0.15s, border-color 0.15s;`;if(n.length===0){let e=document.createElement(`div`);e.className=`dialog__desc`,e.textContent=`No accounts configured.`,a.appendChild(e)}else{let e=document.createElement(`div`);e.style.cssText=`margin-bottom: 16px;`;for(let t of n){let n=B(t.providerId),r=document.createElement(`div`);r.style.cssText=`display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); margin-bottom: 8px; border: 1px solid var(--s2-border-subtle);`;let i=document.createElement(`div`);i.style.cssText=`flex: 1; min-width: 0;`;let a=document.createElement(`div`);a.style.cssText=`font-size: 14px; font-weight: 600; color: var(--s2-content-default);`,a.textContent=n.name,i.appendChild(a);let l=document.createElement(`div`);l.style.cssText=`font-size: 11px; color: var(--s2-content-disabled); font-family: monospace; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;`,t.userName?l.textContent=t.userName:t.accessToken?l.textContent=`Logged in`:l.textContent=be(t.apiKey),t.baseUrl&&(l.textContent+=` • `+t.baseUrl),i.appendChild(l),r.appendChild(i);let u=document.createElement(`div`);u.style.cssText=`display: flex; gap: 4px; margin-left: 12px; flex-shrink: 0;`;let d=document.createElement(`button`);d.style.cssText=c,d.setAttribute(`aria-label`,`Edit account`),d.appendChild(xe(Se.pen)),d.addEventListener(`mouseenter`,()=>{d.style.color=`var(--s2-accent)`,d.style.borderColor=`var(--s2-accent)`}),d.addEventListener(`mouseleave`,()=>{d.style.color=`var(--s2-content-secondary)`,d.style.borderColor=`var(--s2-border-subtle)`}),d.addEventListener(`click`,()=>{s(t)}),u.appendChild(d);let f=document.createElement(`button`);f.style.cssText=c,f.setAttribute(`aria-label`,`Remove account`),f.appendChild(xe(Se.trash)),f.addEventListener(`mouseenter`,()=>{f.style.color=`var(--s2-negative)`,f.style.borderColor=`var(--s2-negative)`}),f.addEventListener(`mouseleave`,()=>{f.style.color=`var(--s2-content-secondary)`,f.style.borderColor=`var(--s2-border-subtle)`}),f.addEventListener(`click`,()=>{Y(t.providerId),o()}),u.appendChild(f),r.appendChild(u),e.appendChild(r)}a.appendChild(e)}let u=document.createElement(`div`);u.style.cssText=`display: flex; gap: 8px;`;let p=document.createElement(`button`);p.className=n.length>0?`dialog__btn dialog__btn--secondary`:`dialog__btn`,p.style.flex=`1`,p.textContent=`Add Account`,p.addEventListener(`click`,()=>s()),u.appendChild(p);let m=document.createElement(`button`);m.className=`dialog__btn dialog__btn--secondary`,m.style.flex=`1`,m.textContent=`Export`,m.addEventListener(`click`,()=>_e()),u.appendChild(m),a.appendChild(u);let h=document.createElement(`hr`);h.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,a.appendChild(h);let g=document.createElement(`div`);g.className=`dialog__desc`,g.style.cssText=`font-weight: 600; margin-bottom: 8px;`,g.textContent=`Tray`,a.appendChild(g);let _=d(),v=_.state!==`inactive`,y=l(window.localStorage);if(v||y){let e=document.createElement(`div`);e.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px;`,e.textContent=`Follower: ${v?_.state:`configured`}`,_.error&&(e.textContent+=` — ${_.error}`,e.style.color=`var(--slicc-cone)`),a.appendChild(e)}let b=document.createElement(`button`);b.className=`dialog__btn dialog__btn--secondary`,b.textContent=v||y?`Reconnect to other browser`:`Connect to another browser`,b.addEventListener(`click`,()=>f()),a.appendChild(b);let x=document.createElement(`hr`);x.style.cssText=`border: none; border-top: 1px solid var(--s2-border-subtle); margin: 16px 0;`,a.appendChild(x);let S=document.createElement(`button`);S.className=`dialog__btn`,S.textContent=`Get Started`,S.addEventListener(`click`,()=>{i.remove(),t((localStorage.getItem(L)??``)!==r)}),a.appendChild(S)}function s(e){a.innerHTML=``;let t=!!e,r=document.createElement(`div`);r.className=`dialog__title`,r.textContent=t?`Edit Account`:`Add Account`,a.appendChild(r);let i=document.createElement(`div`);i.className=`dialog__desc`,i.textContent=`Provider:`,a.appendChild(i);let s=document.createElement(`select`);if(s.className=`dialog__input`,s.style.marginBottom=`8px`,t){let t=B(e.providerId),n=document.createElement(`option`);n.value=e.providerId,n.textContent=t.name,s.appendChild(n),s.disabled=!0,s.style.opacity=`0.7`}else{let e=z(),t=new Set(K().map(e=>e.providerId)),n=[...e].sort((e,t)=>{let n=B(e).name,r=B(t).name;return n.localeCompare(r)});for(let e of n){if(t.has(e))continue;let n=B(e),r=document.createElement(`option`);r.value=e,r.textContent=n.name,s.appendChild(r)}}a.appendChild(s);let c=document.createElement(`div`);c.className=`dialog__desc`,c.style.cssText=`font-size: 12px; color: var(--s2-content-tertiary); margin-bottom: 16px; margin-top: -4px;`,a.appendChild(c);let l=document.createElement(`div`);l.style.cssText=`margin-bottom: 16px; display: none;`;let u=document.createElement(`button`);u.className=`dialog__btn`,u.textContent=`Login`,u.style.cssText=`width: 100%; margin-bottom: 8px;`,l.appendChild(u);let d=document.createElement(`div`);d.className=`dialog__desc`,d.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); text-align: center;`,l.appendChild(d),u.addEventListener(`click`,async()=>{let e=s.value;if(!e)return;let t=B(e);if(!t.onOAuthLogin)return;let r=K().some(t=>t.providerId===e),i=X(e);if(t.requiresBaseUrl&&!v.value.trim()&&!i){d.textContent=`Base URL is required.`,d.style.color=`var(--slicc-cone)`,v.focus();return}t.requiresBaseUrl&&v.value.trim()&&J(e,``,v.value.trim()),d.textContent=`Opening login window...`;try{let{createOAuthLauncher:e}=await n(async()=>{let{createOAuthLauncher:e}=await import(`./oauth-service-CfTUWB9P.js`);return{createOAuthLauncher:e}},[]),r=e();await t.onOAuthLogin(r,o)}catch(t){if(!r)try{Y(e)}catch{}U.error(`OAuth login failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),d.textContent=`Login failed: ${t instanceof Error?t.message:String(t)}`}}),t&&e.userName&&(d.textContent=`Logged in as ${e.userName}`,u.textContent=`Re-login`),a.appendChild(l);let p=document.createElement(`div`),m=document.createElement(`div`);m.className=`dialog__desc`,p.appendChild(m);let h=document.createElement(`input`);h.className=`dialog__input`,h.type=`password`,h.autocomplete=`off`,h.spellcheck=!1,t&&(h.value=e.apiKey),p.appendChild(h),a.appendChild(p);let g=document.createElement(`div`),_=document.createElement(`div`);_.className=`dialog__desc`,_.textContent=`Base URL:`,g.appendChild(_);let v=document.createElement(`input`);v.className=`dialog__input`,v.type=`text`,v.autocomplete=`off`,v.spellcheck=!1,t&&e.baseUrl&&(v.value=e.baseUrl),g.appendChild(v);let y=document.createElement(`div`);y.className=`dialog__desc`,y.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,g.appendChild(y),a.appendChild(g);let b=document.createElement(`div`);b.style.display=`none`;let x=document.createElement(`div`);x.className=`dialog__desc`,x.textContent=`Deployment:`,b.appendChild(x);let S=document.createElement(`input`);S.className=`dialog__input`,S.type=`text`,S.autocomplete=`off`,S.spellcheck=!1,t&&e.deployment&&(S.value=e.deployment),b.appendChild(S);let C=document.createElement(`div`);C.className=`dialog__desc`,C.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,b.appendChild(C),a.appendChild(b);let w=document.createElement(`div`);w.style.display=`none`;let T=document.createElement(`div`);T.className=`dialog__desc`,T.textContent=`API Version:`,w.appendChild(T);let E=document.createElement(`input`);E.className=`dialog__input`,E.type=`text`,E.autocomplete=`off`,E.spellcheck=!1,t&&e.apiVersion&&(E.value=e.apiVersion),w.appendChild(E);let D=document.createElement(`div`);D.className=`dialog__desc`,D.style.cssText=`font-size: 11px; color: var(--s2-content-secondary); margin-top: -12px; margin-bottom: 16px;`,w.appendChild(D),a.appendChild(w);let O=document.createElement(`div`);O.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,a.appendChild(O);let k=document.createElement(`button`);k.className=`dialog__btn`,k.textContent=t?`Save`:`Add`;function A(){let e=s.value;if(!e)return;let t=B(e);if(c.textContent=t.description,t.isOAuth)l.style.display=``,p.style.display=`none`,g.style.display=t.requiresBaseUrl?``:`none`,t.requiresBaseUrl&&(v.placeholder=t.baseUrlPlaceholder||`https://...`,y.textContent=t.baseUrlDescription||``),u.textContent=`Login with ${t.name}`,k.style.display=`none`;else{l.style.display=`none`,m.textContent=`${t.requiresApiKey?`API Key`:`API Key (optional)`}${t.apiKeyEnvVar?` (${t.apiKeyEnvVar})`:``}:`,h.placeholder=t.apiKeyPlaceholder||`API key`;let e=t.requiresApiKey||t.optionalApiKey;p.style.display=e?``:`none`,v.placeholder=t.baseUrlPlaceholder||`https://...`,y.textContent=t.baseUrlDescription||``,g.style.display=t.requiresBaseUrl?``:`none`,k.style.display=``}t.requiresDeployment?(b.style.display=``,S.placeholder=t.deploymentPlaceholder||`deployment-name`,C.textContent=t.deploymentDescription||``):b.style.display=`none`,t.requiresApiVersion?(w.style.display=``,!E.value&&t.apiVersionDefault&&(E.value=t.apiVersionDefault),E.placeholder=t.apiVersionDefault||`api-version`,D.textContent=t.apiVersionDescription||``):w.style.display=`none`}s.addEventListener(`change`,()=>{O.style.display=`none`,A()}),A();function j(){let e=s.value;if(!e)return;let t=B(e);if(t.requiresApiKey&&h.value.trim().length<5){O.textContent=`API key is required (at least 5 characters).`,O.style.display=``,h.focus();return}if(t.requiresBaseUrl&&!v.value.trim()){O.textContent=`Base URL is required for this provider.`,O.style.display=``,v.focus();return}if(t.requiresDeployment&&!S.value.trim()){O.textContent=`Deployment name is required for this provider.`,O.style.display=``,S.focus();return}J(e,h.value.trim(),v.value.trim()||void 0,S.value.trim()||void 0,E.value.trim()||void 0),o()}k.addEventListener(`click`,j);let M=e=>{e.key===`Enter`&&j()};h.addEventListener(`keydown`,M),v.addEventListener(`keydown`,M),S.addEventListener(`keydown`,M),E.addEventListener(`keydown`,M),a.appendChild(k);let N=K().length>0;if(!t&&!N){let e=document.createElement(`button`);e.className=`dialog__btn dialog__btn--secondary`,e.style.marginTop=`8px`,e.textContent=`Connect to another browser`,e.addEventListener(`click`,()=>{f()}),a.appendChild(e)}else if(N){let e=document.createElement(`button`);e.className=`dialog__btn dialog__btn--secondary`,e.style.marginTop=`8px`,e.textContent=`Back`,e.addEventListener(`click`,()=>{o()}),a.appendChild(e)}requestAnimationFrame(()=>{let e=s.value;if(!e)return;let t=B(e);t.requiresApiKey?h.focus():t.requiresBaseUrl&&v.focus()})}function c(e){a.innerHTML=``;let n=document.createElement(`div`);n.className=`dialog__title`,n.textContent=`Connect this browser?`,a.appendChild(n);let r=document.createElement(`div`);r.className=`dialog__desc`,r.style.marginBottom=`12px`,r.textContent=`You’ve been invited to mirror another SLICC browser. Click below to start syncing.`,a.appendChild(r);let o=document.createElement(`div`);o.className=`dialog__desc`,o.style.cssText=`font-family: monospace; font-size: 11px; color: var(--s2-content-secondary); word-break: break-all; margin-bottom: 16px; padding: 8px; background: var(--s2-bg-secondary); border-radius: 4px;`,o.textContent=e.length>80?e.slice(0,40)+`…`+e.slice(-37):e,a.appendChild(o);let c=document.createElement(`div`);c.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`,a.appendChild(c);let l=document.createElement(`button`);l.className=`dialog__btn`,l.textContent=`Connect`,l.addEventListener(`click`,()=>{let n=u(window.localStorage,e);if(!n){c.textContent=`Invalid sync URL.`,c.style.display=``,c.style.color=`var(--slicc-cone)`;return}if(I()){let e={type:`refresh-tray-runtime`,joinUrl:n.joinUrl,workerBaseUrl:n.workerBaseUrl};chrome.runtime.sendMessage({source:`panel`,payload:e}).catch(()=>{})}else window.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:n.joinUrl}}));c.textContent=`Connecting…`,c.style.display=``,c.style.color=`var(--s2-content-secondary)`,setTimeout(()=>{i.remove(),t(!1)},800)}),a.appendChild(l);let d=document.createElement(`button`);d.className=`dialog__btn dialog__btn--secondary`,d.style.marginTop=`8px`,d.textContent=`Set up an account instead`,d.addEventListener(`click`,()=>{s()}),a.appendChild(d)}function f(){a.innerHTML=``;let e=document.createElement(`div`);e.className=`dialog__title`,e.textContent=`Connect to another browser`,a.appendChild(e);let n=document.createElement(`div`);n.className=`dialog__desc`,n.style.marginBottom=`12px`,n.textContent=`Paste a multi-browser sync URL to mirror another SLICC browser.`,a.appendChild(n);let r=document.createElement(`details`);r.style.cssText=`margin-bottom: 12px; font-size: 12px; color: var(--s2-content-secondary);`;let o=document.createElement(`summary`);o.style.cssText=`cursor: pointer; user-select: none; color: var(--s2-content-secondary);`,o.textContent=`How do I get the sync URL?`,r.appendChild(o);let c=document.createElement(`div`);c.style.cssText=`margin-top: 8px; padding: 10px 12px; background: var(--s2-bg-layer-2); border-radius: var(--s2-radius-default); border: 1px solid var(--s2-border-subtle); line-height: 1.5;`;let l=document.createElement(`ol`);l.style.cssText=`margin: 0; padding-left: 20px;`;for(let e of[`On the other SLICC, click the avatar (top right).`,`Choose “Enable multi-browser sync” — the URL is copied automatically.`,`Paste it below. Both browsers must be on the same SLICC version.`]){let t=document.createElement(`li`);t.textContent=e,l.appendChild(t)}c.appendChild(l),r.appendChild(c),a.appendChild(r);let d=document.createElement(`div`);d.className=`dialog__desc`,d.textContent=`Sync URL:`,a.appendChild(d);let f=document.createElement(`input`);f.className=`dialog__input`,f.type=`text`,f.autocomplete=`off`,f.spellcheck=!1,f.placeholder=`https://www.sliccy.ai/join/<token>`,a.appendChild(f);let p=document.createElement(`div`);p.style.cssText=`color: var(--slicc-cone); font-size: 12px; margin-bottom: 8px; display: none;`,a.appendChild(p);let m=document.createElement(`div`);m.style.cssText=`font-size: 12px; color: var(--s2-content-secondary); margin-bottom: 8px; display: none;`;let h=document.createElement(`button`);h.className=`dialog__btn`,h.textContent=`Connect`,h.addEventListener(`click`,()=>{let e=f.value.trim();if(!e){p.textContent=`Paste a sync URL to continue.`,p.style.display=``,f.focus();return}let n=u(window.localStorage,e);if(!n){p.textContent=w(e),p.style.display=``,f.focus();return}if(I()){let e={type:`refresh-tray-runtime`,joinUrl:n.joinUrl,workerBaseUrl:n.workerBaseUrl};chrome.runtime.sendMessage({source:`panel`,payload:e}).catch(()=>{})}else window.dispatchEvent(new CustomEvent(`slicc:tray-join`,{detail:{joinUrl:n.joinUrl}}));m.textContent=`Connecting…`,m.style.display=``,m.style.color=`var(--s2-content-secondary)`,setTimeout(()=>{i.remove(),t(!1)},800)}),a.appendChild(h),a.appendChild(m);let g=document.createElement(`button`);g.className=`dialog__btn dialog__btn--secondary`,g.style.marginTop=`8px`,g.textContent=`Back`,g.addEventListener(`click`,()=>{s()}),a.appendChild(g),f.addEventListener(`input`,()=>{p.style.display=`none`}),f.addEventListener(`keydown`,e=>{e.key===`Enter`&&h.click()}),requestAnimationFrame(()=>f.focus())}})}export{x as C,y as S,m as T,ce as _,he as a,j as b,de as c,Z as d,Q as f,ye as g,$ as h,se as i,B as l,Y as m,ve as n,fe as o,ee as p,K as r,X as s,W as t,H as u,pe as v,p as w,S as x,Ce as y};
@@ -0,0 +1,90 @@
1
+ import{r as e}from"./chunk-jRWAZmH_.js";import{t}from"./logger-BHrAkMIS.js";import{a as n,c as r,i,r as a,s as o,t as s}from"./bedrock-camp-BUaVLUkX.js";import{d as c,l,u}from"./transform-messages-BdxHijhT.js";import{a as d,n as f,t as p}from"./providers-lxjVkr6c.js";import{f as m,p as h}from"./kernel-worker-CTDGZQ-9.js";const ee=`slicc.trayWorkerBaseUrl`,te=`https://www.sliccy.ai`;let ne={state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null};function re(){return{...ne}}const g=new Set;function ie(e){return g.add(e),()=>{g.delete(e)}}async function ae(e,t,n,r,i,a){let o=[...e],s={...t,messages:[...t.messages,...e]};await r({type:`agent_start`}),await r({type:`turn_start`});for(let t of e)await r({type:`message_start`,message:t}),await r({type:`message_end`,message:t});return await _(s,o,n,i,r,a),o}async function oe(e,t,n,r,i){if(e.messages.length===0)throw Error(`Cannot continue: no messages in context`);if(e.messages[e.messages.length-1].role===`assistant`)throw Error(`Cannot continue from message role: assistant`);let a=[],o={...e};return await n({type:`agent_start`}),await n({type:`turn_start`}),await _(o,a,t,r,n,i),a}async function _(e,t,n,r,i,a){let o=!0,s=await n.getSteeringMessages?.()||[];for(;;){let c=!0;for(;c||s.length>0;){if(o?o=!1:await i({type:`turn_start`}),s.length>0){for(let n of s)await i({type:`message_start`,message:n}),await i({type:`message_end`,message:n}),e.messages.push(n),t.push(n);s=[]}let l=await se(e,n,r,i,a);if(t.push(l),l.stopReason===`error`||l.stopReason===`aborted`){await i({type:`turn_end`,message:l,toolResults:[]}),await i({type:`agent_end`,messages:t});return}let u=l.content.filter(e=>e.type===`toolCall`),d=[];if(c=!1,u.length>0){let a=await ce(e,l,n,r,i);d.push(...a.messages),c=!a.terminate;for(let n of d)e.messages.push(n),t.push(n)}if(await i({type:`turn_end`,message:l,toolResults:d}),await n.shouldStopAfterTurn?.({message:l,toolResults:d,context:e,newMessages:t})){await i({type:`agent_end`,messages:t});return}s=await n.getSteeringMessages?.()||[]}let l=await n.getFollowUpMessages?.()||[];if(l.length>0){s=l;continue}break}await i({type:`agent_end`,messages:t})}async function se(e,t,n,i,a){let o=e.messages;t.transformContext&&(o=await t.transformContext(o,n));let s=await t.convertToLlm(o),c={systemPrompt:e.systemPrompt,messages:s,tools:e.tools},l=a||r,u=(t.getApiKey?await t.getApiKey(t.model.provider):void 0)||t.apiKey,d=await l(t.model,c,{...t,apiKey:u,signal:n}),f=null,p=!1;for await(let t of d)switch(t.type){case`start`:f=t.partial,e.messages.push(f),p=!0,await i({type:`message_start`,message:{...f}});break;case`text_start`:case`text_delta`:case`text_end`:case`thinking_start`:case`thinking_delta`:case`thinking_end`:case`toolcall_start`:case`toolcall_delta`:case`toolcall_end`:f&&(f=t.partial,e.messages[e.messages.length-1]=f,await i({type:`message_update`,assistantMessageEvent:t,message:{...f}}));break;case`done`:case`error`:{let t=await d.result();return p?e.messages[e.messages.length-1]=t:e.messages.push(t),p||await i({type:`message_start`,message:{...t}}),await i({type:`message_end`,message:t}),t}}let m=await d.result();return p?e.messages[e.messages.length-1]=m:(e.messages.push(m),await i({type:`message_start`,message:{...m}})),await i({type:`message_end`,message:m}),m}async function ce(e,t,n,r,i){let a=t.content.filter(e=>e.type===`toolCall`),o=a.some(t=>e.tools?.find(e=>e.name===t.name)?.executionMode===`sequential`);return n.toolExecution===`sequential`||o?le(e,t,a,n,r,i):ue(e,t,a,n,r,i)}async function le(e,t,n,r,i,a){let o=[],s=[];for(let c of n){await a({type:`tool_execution_start`,toolCallId:c.id,toolName:c.name,args:c.arguments});let n=await fe(e,t,c,r,i),l;l=n.kind===`immediate`?{toolCall:c,result:n.result,isError:n.isError}:await b(e,t,n,await y(n,i,a),r,i),await S(l,a);let u=C(l);await w(u,a),o.push(l),s.push(u)}return{messages:s,terminate:v(o)}}async function ue(e,t,n,r,i,a){let o=[];for(let s of n){await a({type:`tool_execution_start`,toolCallId:s.id,toolName:s.name,args:s.arguments});let n=await fe(e,t,s,r,i);if(n.kind===`immediate`){let e={toolCall:s,result:n.result,isError:n.isError};await S(e,a),o.push(e);continue}o.push(async()=>{let o=await b(e,t,n,await y(n,i,a),r,i);return await S(o,a),o})}let s=await Promise.all(o.map(e=>typeof e==`function`?e():Promise.resolve(e))),c=[];for(let e of s){let t=C(e);await w(t,a),c.push(t)}return{messages:c,terminate:v(s)}}function v(e){return e.length>0&&e.every(e=>e.result.terminate===!0)}function de(e,t){if(!e.prepareArguments)return t;let n=e.prepareArguments(t.arguments);return n===t.arguments?t:{...t,arguments:n}}async function fe(e,t,r,i,a){let o=e.tools?.find(e=>e.name===r.name);if(!o)return{kind:`immediate`,result:x(`Tool ${r.name} not found`),isError:!0};try{let s=n(o,de(o,r));if(i.beforeToolCall){let n=await i.beforeToolCall({assistantMessage:t,toolCall:r,args:s,context:e},a);if(n?.block)return{kind:`immediate`,result:x(n.reason||`Tool execution was blocked`),isError:!0}}return{kind:`prepared`,toolCall:r,tool:o,args:s}}catch(e){return{kind:`immediate`,result:x(e instanceof Error?e.message:String(e)),isError:!0}}}async function y(e,t,n){let r=[];try{let i=await e.tool.execute(e.toolCall.id,e.args,t,t=>{r.push(Promise.resolve(n({type:`tool_execution_update`,toolCallId:e.toolCall.id,toolName:e.toolCall.name,args:e.toolCall.arguments,partialResult:t})))});return await Promise.all(r),{result:i,isError:!1}}catch(e){return await Promise.all(r),{result:x(e instanceof Error?e.message:String(e)),isError:!0}}}async function b(e,t,n,r,i,a){let o=r.result,s=r.isError;if(i.afterToolCall)try{let r=await i.afterToolCall({assistantMessage:t,toolCall:n.toolCall,args:n.args,result:o,isError:s,context:e},a);r&&(o={content:r.content??o.content,details:r.details??o.details,terminate:r.terminate??o.terminate},s=r.isError??s)}catch(e){o=x(e instanceof Error?e.message:String(e)),s=!0}return{toolCall:n.toolCall,result:o,isError:s}}function x(e){return{content:[{type:`text`,text:e}],details:{}}}async function S(e,t){await t({type:`tool_execution_end`,toolCallId:e.toolCall.id,toolName:e.toolCall.name,result:e.result,isError:e.isError})}function C(e){return{role:`toolResult`,toolCallId:e.toolCall.id,toolName:e.toolCall.name,content:e.result.content,details:e.result.details,isError:e.isError,timestamp:Date.now()}}async function w(e,t){await t({type:`message_start`,message:e}),await t({type:`message_end`,message:e})}function pe(e){return e.filter(e=>e.role===`user`||e.role===`assistant`||e.role===`toolResult`)}const me={input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},he={id:`unknown`,name:`unknown`,api:`unknown`,provider:`unknown`,baseUrl:``,reasoning:!1,input:[],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:0,maxTokens:0};function ge(e){let t=e?.tools?.slice()??[],n=e?.messages?.slice()??[];return{systemPrompt:e?.systemPrompt??``,model:e?.model??he,thinkingLevel:e?.thinkingLevel??`off`,get tools(){return t},set tools(e){t=e.slice()},get messages(){return n},set messages(e){n=e.slice()},isStreaming:!1,streamingMessage:void 0,pendingToolCalls:new Set,errorMessage:void 0}}var T=class{mode;messages=[];constructor(e){this.mode=e}enqueue(e){this.messages.push(e)}hasItems(){return this.messages.length>0}drain(){if(this.mode===`all`){let e=this.messages.slice();return this.messages=[],e}let e=this.messages[0];return e?(this.messages=this.messages.slice(1),[e]):[]}clear(){this.messages=[]}},_e=class{_state;listeners=new Set;steeringQueue;followUpQueue;convertToLlm;transformContext;streamFn;getApiKey;onPayload;onResponse;beforeToolCall;afterToolCall;activeRun;sessionId;thinkingBudgets;transport;maxRetryDelayMs;toolExecution;constructor(e={}){this._state=ge(e.initialState),this.convertToLlm=e.convertToLlm??pe,this.transformContext=e.transformContext,this.streamFn=e.streamFn??r,this.getApiKey=e.getApiKey,this.onPayload=e.onPayload,this.onResponse=e.onResponse,this.beforeToolCall=e.beforeToolCall,this.afterToolCall=e.afterToolCall,this.steeringQueue=new T(e.steeringMode??`one-at-a-time`),this.followUpQueue=new T(e.followUpMode??`one-at-a-time`),this.sessionId=e.sessionId,this.thinkingBudgets=e.thinkingBudgets,this.transport=e.transport??`auto`,this.maxRetryDelayMs=e.maxRetryDelayMs,this.toolExecution=e.toolExecution??`parallel`}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}get state(){return this._state}set steeringMode(e){this.steeringQueue.mode=e}get steeringMode(){return this.steeringQueue.mode}set followUpMode(e){this.followUpQueue.mode=e}get followUpMode(){return this.followUpQueue.mode}steer(e){this.steeringQueue.enqueue(e)}followUp(e){this.followUpQueue.enqueue(e)}clearSteeringQueue(){this.steeringQueue.clear()}clearFollowUpQueue(){this.followUpQueue.clear()}clearAllQueues(){this.clearSteeringQueue(),this.clearFollowUpQueue()}hasQueuedMessages(){return this.steeringQueue.hasItems()||this.followUpQueue.hasItems()}get signal(){return this.activeRun?.abortController.signal}abort(){this.activeRun?.abortController.abort()}waitForIdle(){return this.activeRun?.promise??Promise.resolve()}reset(){this._state.messages=[],this._state.isStreaming=!1,this._state.streamingMessage=void 0,this._state.pendingToolCalls=new Set,this._state.errorMessage=void 0,this.clearFollowUpQueue(),this.clearSteeringQueue()}async prompt(e,t){if(this.activeRun)throw Error(`Agent is already processing a prompt. Use steer() or followUp() to queue messages, or wait for completion.`);let n=this.normalizePromptInput(e,t);await this.runPromptMessages(n)}async continue(){if(this.activeRun)throw Error(`Agent is already processing. Wait for completion before continuing.`);let e=this._state.messages[this._state.messages.length-1];if(!e)throw Error(`No messages to continue from`);if(e.role===`assistant`){let e=this.steeringQueue.drain();if(e.length>0){await this.runPromptMessages(e,{skipInitialSteeringPoll:!0});return}let t=this.followUpQueue.drain();if(t.length>0){await this.runPromptMessages(t);return}throw Error(`Cannot continue from message role: assistant`)}await this.runContinuation()}normalizePromptInput(e,t){if(Array.isArray(e))return e;if(typeof e!=`string`)return[e];let n=[{type:`text`,text:e}];return t&&t.length>0&&n.push(...t),[{role:`user`,content:n,timestamp:Date.now()}]}async runPromptMessages(e,t={}){await this.runWithLifecycle(async n=>{await ae(e,this.createContextSnapshot(),this.createLoopConfig(t),e=>this.processEvents(e),n,this.streamFn)})}async runContinuation(){await this.runWithLifecycle(async e=>{await oe(this.createContextSnapshot(),this.createLoopConfig(),e=>this.processEvents(e),e,this.streamFn)})}createContextSnapshot(){return{systemPrompt:this._state.systemPrompt,messages:this._state.messages.slice(),tools:this._state.tools.slice()}}createLoopConfig(e={}){let t=e.skipInitialSteeringPoll===!0;return{model:this._state.model,reasoning:this._state.thinkingLevel===`off`?void 0:this._state.thinkingLevel,sessionId:this.sessionId,onPayload:this.onPayload,onResponse:this.onResponse,transport:this.transport,thinkingBudgets:this.thinkingBudgets,maxRetryDelayMs:this.maxRetryDelayMs,toolExecution:this.toolExecution,beforeToolCall:this.beforeToolCall,afterToolCall:this.afterToolCall,convertToLlm:this.convertToLlm,transformContext:this.transformContext,getApiKey:this.getApiKey,getSteeringMessages:async()=>t?(t=!1,[]):this.steeringQueue.drain(),getFollowUpMessages:async()=>this.followUpQueue.drain()}}async runWithLifecycle(e){if(this.activeRun)throw Error(`Agent is already processing.`);let t=new AbortController,n=()=>{},r=new Promise(e=>{n=e});this.activeRun={promise:r,resolve:n,abortController:t},this._state.isStreaming=!0,this._state.streamingMessage=void 0,this._state.errorMessage=void 0;try{await e(t.signal)}catch(e){await this.handleRunFailure(e,t.signal.aborted)}finally{this.finishRun()}}async handleRunFailure(e,t){let n={role:`assistant`,content:[{type:`text`,text:``}],api:this._state.model.api,provider:this._state.model.provider,model:this._state.model.id,usage:me,stopReason:t?`aborted`:`error`,errorMessage:e instanceof Error?e.message:String(e),timestamp:Date.now()};this._state.messages.push(n),this._state.errorMessage=n.errorMessage,await this.processEvents({type:`agent_end`,messages:[n]})}finishRun(){this._state.isStreaming=!1,this._state.streamingMessage=void 0,this._state.pendingToolCalls=new Set,this.activeRun?.resolve(),this.activeRun=void 0}async processEvents(e){switch(e.type){case`message_start`:this._state.streamingMessage=e.message;break;case`message_update`:this._state.streamingMessage=e.message;break;case`message_end`:this._state.streamingMessage=void 0,this._state.messages.push(e.message);break;case`tool_execution_start`:{let t=new Set(this._state.pendingToolCalls);t.add(e.toolCallId),this._state.pendingToolCalls=t;break}case`tool_execution_end`:{let t=new Set(this._state.pendingToolCalls);t.delete(e.toolCallId),this._state.pendingToolCalls=t;break}case`turn_end`:e.message.role===`assistant`&&e.message.errorMessage&&(this._state.errorMessage=e.message.errorMessage);break;case`agent_end`:this._state.streamingMessage=void 0;break}let t=this.activeRun?.abortController.signal;if(!t)throw Error(`Agent listener invoked outside active run`);for(let n of this.listeners)await n(e,t)}};const E=`sessions`;function ve(){return new Promise((e,t)=>{let n=indexedDB.open(`agent-sessions`,1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(E)||e.createObjectStore(E,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var ye=class{dbPromise=null;getDB(){return this.dbPromise||=ve(),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(E,`readwrite`).objectStore(E).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(E,`readonly`).objectStore(E).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(E,`readwrite`).objectStore(E).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(E,`readonly`).objectStore(E).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(E,`readwrite`).objectStore(E).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}};const D=t(`image-processor`),O=3932160,be=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function xe(e){return be.has(e)}function Se(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function Ce(e){if(!xe(e.mimeType))return D.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,n=Se(e.data,e.mimeType);if(!(t>5242880||n!==null&&(n.width>8e3||n.height>8e3)||n!==null&&Math.max(n.width,n.height)>1568))return e;D.info(`Image needs processing`,{base64Size:t,dimensions:n?`${n.width}x${n.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let r,i;try{let e=await import(`./magick-wasm-2iwpLX2j.js`).then(e=>e.n);r=e.getMagick,i=e.MIME_TO_MAGICK_FORMAT}catch(e){return D.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let a;try{a=await r()}catch(e){return D.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let o={data:null,mime:e.mimeType};if(await a.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,a=Math.max(n,r);if(a>1568){let e=1568/a,i=Math.round(n*e),o=Math.round(r*e);t.resize(i,o),D.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${o}`})}let s=i[e.mimeType]||`JPEG`;t.write(s,e=>{o.data=new Uint8Array(e)}),o.data&&o.data.length>O&&s!==`JPEG`?(D.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}),o.mime=`image/jpeg`):o.data&&o.data.length>O&&(D.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}))}),!o.data)return D.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(o.data.length>O)return D.warn(`Image still over 5MB after resize+compress`,{size:o.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(o.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<o.data.length;e++)s+=String.fromCharCode(o.data[e]);let c=btoa(s);return D.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:o.mime}),{type:`image`,data:c,mimeType:o.mime}}catch(n){return D.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}const we=t(`tool-adapter`),Te=/<img:(data:(image\/[^;]+);base64,([^>]+))>/g;function k(e){let t=[],n=0;for(let r of e.matchAll(Te)){let i=e.slice(n,r.index);i.trim()&&t.push({type:`text`,text:i.trimEnd()}),t.push({type:`image`,mimeType:r[2],data:r[3]}),n=r.index+r[0].length}let r=e.slice(n);return(r.trim()||t.length===0)&&t.push({type:`text`,text:r||e}),t}async function Ee(e){let t=k(e),n=[];for(let e of t)e.type===`image`?n.push(await Ce(e)):n.push(e);return n}function De(e,t){return{name:e.name,label:e.name,description:e.description,parameters:e.inputSchema,async execute(n,r,i,a){let o;a&&(o=h({onUpdate:a,toolName:e.name,toolCallId:n}));let s=t?t.processManager.spawn({kind:`tool`,argv:[e.name,...ke(r)],owner:t.owner,ppid:t.getParentPid?.()}):null,c=null;s&&t&&i&&(i.aborted?t.processManager.signal(s.pid,`SIGINT`):i.addEventListener(`abort`,()=>t.processManager.signal(s.pid,`SIGINT`),{once:!0})),s&&t&&(c=t.processManager.onSignal((e,n)=>{e.pid!==s.pid||n!==`SIGKILL`||t.processManager.exit(s.pid,null)}));let l=s?s.abort.signal:i;try{let n=await e.execute(r??{},l),i;try{i=await Ee(n.content)}catch(t){we.warn(`Image processing failed, falling back to raw content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),i=k(n.content)}return s&&t&&t.processManager.exit(s.pid,+!!n.isError),{content:i,details:{isError:n.isError}}}catch(e){throw s&&t&&t.processManager.exit(s.pid,s.abort.signal.aborted?null:1),e}finally{o&&m(o),c?.()}}}}function Oe(e,t){return e.map(e=>De(e,t))}function ke(e){if(typeof e!=`object`||!e)return[];let t=e;for(let e of[`command`,`file_path`,`path`,`pattern`,`url`,`key`,`name`,`query`,`message`]){let n=t[e];if(typeof n==`string`&&n.length>0)return[n]}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return[e];return[]}function Ae(e){let t=`Ran \`${e.command}\`\n`;return e.output?t+=`\`\`\`\n${e.output}\n\`\`\``:t+=`(no output)`,e.cancelled?t+=`
2
+
3
+ (command cancelled)`:e.exitCode!==null&&e.exitCode!==void 0&&e.exitCode!==0&&(t+=`\n\nCommand exited with code ${e.exitCode}`),e.truncated&&e.fullOutputPath&&(t+=`\n\n[Output truncated. Full output: ${e.fullOutputPath}]`),t}function je(e){return e.map(e=>{switch(e.role){case`bashExecution`:return e.excludeFromContext?void 0:{role:`user`,content:[{type:`text`,text:Ae(e)}],timestamp:e.timestamp};case`custom`:return{role:`user`,content:typeof e.content==`string`?[{type:`text`,text:e.content}]:e.content,timestamp:e.timestamp};case`branchSummary`:return{role:`user`,content:[{type:`text`,text:`The following is a summary of a branch that this conversation came back from:
4
+
5
+ <summary>
6
+ `+e.summary+`</summary>`}],timestamp:e.timestamp};case`compactionSummary`:return{role:`user`,content:[{type:`text`,text:`The conversation history before this point was compacted into the following summary:
7
+
8
+ <summary>
9
+ `+e.summary+`
10
+ </summary>`}],timestamp:e.timestamp};case`user`:case`assistant`:case`toolResult`:return e;default:return}}).filter(e=>e!==void 0)}function Me(e,t){if(e.length<=t)return e;let n=e.length-t;return`${e.slice(0,t)}\n\n[... ${n} more characters truncated]`}function Ne(e){let t=[];for(let n of e)if(n.role===`user`){let e=typeof n.content==`string`?n.content:n.content.filter(e=>e.type===`text`).map(e=>e.text).join(``);e&&t.push(`[User]: ${e}`)}else if(n.role===`assistant`){let e=[],r=[],i=[];for(let t of n.content)if(t.type===`text`)e.push(t.text);else if(t.type===`thinking`)r.push(t.thinking);else if(t.type===`toolCall`){let e=t.arguments,n=Object.entries(e).map(([e,t])=>`${e}=${JSON.stringify(t)}`).join(`, `);i.push(`${t.name}(${n})`)}r.length>0&&t.push(`[Assistant thinking]: ${r.join(`
11
+ `)}`),e.length>0&&t.push(`[Assistant]: ${e.join(`
12
+ `)}`),i.length>0&&t.push(`[Assistant tool calls]: ${i.join(`; `)}`)}else if(n.role===`toolResult`){let e=n.content.filter(e=>e.type===`text`).map(e=>e.text).join(``);e&&t.push(`[Tool result]: ${Me(e,2e3)}`)}return t.join(`
13
+
14
+ `)}const A={enabled:!0,reserveTokens:16384,keepRecentTokens:2e4};function Pe(e,t,n){return n.enabled?e>t-n.reserveTokens:!1}function j(e){let t=0;switch(e.role){case`user`:{let n=e.content;if(typeof n==`string`)t=n.length;else if(Array.isArray(n))for(let e of n)e.type===`text`&&e.text&&(t+=e.text.length);return Math.ceil(t/4)}case`assistant`:{let n=e;for(let e of n.content)e.type===`text`?t+=e.text.length:e.type===`thinking`?t+=e.thinking.length:e.type===`toolCall`&&(t+=e.name.length+JSON.stringify(e.arguments).length);return Math.ceil(t/4)}case`custom`:case`toolResult`:if(typeof e.content==`string`)t=e.content.length;else for(let n of e.content)n.type===`text`&&n.text&&(t+=n.text.length),n.type===`image`&&(t+=4800);return Math.ceil(t/4);case`bashExecution`:return t=e.command.length+e.output.length,Math.ceil(t/4);case`branchSummary`:case`compactionSummary`:return t=e.summary.length,Math.ceil(t/4)}return 0}async function Fe(e,t,n,r,i,a,s,c,l){let u=Math.floor(.8*n),d=c?`The messages above are NEW conversation messages to incorporate into the existing summary provided in <previous-summary> tags.
15
+
16
+ Update the existing structured summary with new information. RULES:
17
+ - PRESERVE all existing information from the previous summary
18
+ - ADD new progress, decisions, and context from the new messages
19
+ - UPDATE the Progress section: move items from "In Progress" to "Done" when completed
20
+ - UPDATE "Next Steps" based on what was accomplished
21
+ - PRESERVE exact file paths, function names, and error messages
22
+ - If something is no longer relevant, you may remove it
23
+
24
+ Use this EXACT format:
25
+
26
+ ## Goal
27
+ [Preserve existing goals, add new ones if the task expanded]
28
+
29
+ ## Constraints & Preferences
30
+ - [Preserve existing, add new ones discovered]
31
+
32
+ ## Progress
33
+ ### Done
34
+ - [x] [Include previously done items AND newly completed items]
35
+
36
+ ### In Progress
37
+ - [ ] [Current work - update based on progress]
38
+
39
+ ### Blocked
40
+ - [Current blockers - remove if resolved]
41
+
42
+ ## Key Decisions
43
+ - **[Decision]**: [Brief rationale] (preserve all previous, add new)
44
+
45
+ ## Next Steps
46
+ 1. [Update based on current state]
47
+
48
+ ## Critical Context
49
+ - [Preserve important context, add new if needed]
50
+
51
+ Keep each section concise. Preserve exact file paths, function names, and error messages.`:`The messages above are a conversation to summarize. Create a structured context checkpoint summary that another LLM will use to continue the work.
52
+
53
+ Use this EXACT format:
54
+
55
+ ## Goal
56
+ [What is the user trying to accomplish? Can be multiple items if the session covers different tasks.]
57
+
58
+ ## Constraints & Preferences
59
+ - [Any constraints, preferences, or requirements mentioned by user]
60
+ - [Or "(none)" if none were mentioned]
61
+
62
+ ## Progress
63
+ ### Done
64
+ - [x] [Completed tasks/changes]
65
+
66
+ ### In Progress
67
+ - [ ] [Current work]
68
+
69
+ ### Blocked
70
+ - [Issues preventing progress, if any]
71
+
72
+ ## Key Decisions
73
+ - **[Decision]**: [Brief rationale]
74
+
75
+ ## Next Steps
76
+ 1. [Ordered list of what should happen next]
77
+
78
+ ## Critical Context
79
+ - [Any data, examples, or references needed to continue]
80
+ - [Or "(none)" if not applicable]
81
+
82
+ Keep each section concise. Preserve exact file paths, function names, and error messages.`;s&&(d=`${d}\n\nAdditional focus: ${s}`);let f=`<conversation>\n${Ne(je(e))}\n</conversation>\n\n`;c&&(f+=`<previous-summary>\n${c}\n</previous-summary>\n\n`),f+=d;let p=[{role:`user`,content:[{type:`text`,text:f}],timestamp:Date.now()}],m=t.reasoning&&l&&l!==`off`?{maxTokens:u,signal:a,apiKey:r,headers:i,reasoning:l}:{maxTokens:u,signal:a,apiKey:r,headers:i},h=await o(t,{systemPrompt:`You are a context summarization assistant. Your task is to read a conversation between a user and an AI coding assistant, then produce a structured summary following the exact format specified.
83
+
84
+ Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.`,messages:p},m);if(h.stopReason===`error`)throw Error(`Summarization failed: ${h.errorMessage||`Unknown error`}`);return h.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
85
+ `)}const M=t(`context-compaction`);function Ie(e,t){return e.role===t}function Le(e){let t=e.contextWindow??2e5,n=e.reserveTokens??A.reserveTokens,r=e.keepRecentTokens??A.keepRecentTokens,i={enabled:!0,reserveTokens:n,keepRecentTokens:r};return async(a,o)=>{if(a.length===0)return a;let s=0;for(let e of a)s+=j(e);if(!Pe(s,t,i))return a;M.info(`Context compaction triggered`,{totalTokens:s,contextWindow:t,threshold:t-n,messageCount:a.length});let c=0,l=a.length;for(let e=a.length-1;e>=0;e--){let t=j(a[e]);if(c+t>r&&l<a.length)break;c+=t,l=e}for(;l>0&&Ie(a[l],`toolResult`);)l--;if(l<=0||l>=a.length)return M.warn(`Cannot find valid cut point for compaction`),a;let u=a.slice(0,l),d=a.slice(l);M.info(`Compaction cut point`,{summarizing:u.length,keeping:d.length});let f=e.getApiKey();if(f)try{let t=await Fe(u,e.model,n,f,e.headers,o),r={role:`user`,content:[{type:`text`,text:`<context-summary>\n${t}\n</context-summary>`}],timestamp:Date.now()};return M.info(`LLM summarization successful`,{originalMessages:a.length,compactedMessages:1+d.length,summaryLength:t.length}),[r,...d]}catch(e){M.warn(`LLM summarization failed, falling back to naive drop`,{error:e instanceof Error?e.message:String(e)})}else M.warn(`No API key available for LLM summarization, falling back to naive drop`);let p={role:`user`,content:[{type:`text`,text:`[Earlier conversation messages were compacted to save context space]`}],timestamp:Date.now()};return M.info(`Naive compaction applied`,{originalMessages:a.length,compactedMessages:1+d.length}),[p,...d]}}function Re(e){if(!Number.isFinite(e)||e<=0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n>=10||r===0?Math.round(n):Math.round(n*10)/10} ${t[r]}`}function ze(e){let t=e.mimeType||`application/octet-stream`;return`${e.name} (${t}, ${Re(e.size)})`}function Be(e){let t=ze(e);return e.kind===`image`&&e.data?`[Attached image: ${t}]`:e.kind===`text`&&e.text!==void 0?[`----- BEGIN ATTACHMENT ${t} -----`,e.text,`----- END ATTACHMENT ${e.name} -----`].join(`
86
+ `):e.path?`[Attached ${e.kind===`image`?`image`:e.kind===`text`?`text file`:`file`} saved to ${e.path} — ${t}. Read it from the virtual filesystem when you need its contents.]`:e.error?`[Attachment not included: ${t}. ${e.error}]`:`[Attachment not included: ${t}. Unsupported binary attachment.]`}function Ve(e,t){if(!t?.length)return e;let n=t.map(Be),r=e.trim();return r?`${r}\n\n${n.join(`
87
+
88
+ `)}`:n.join(`
89
+
90
+ `)}function He(e){return e?.length?e.filter(e=>e.kind===`image`&&e.data).map(e=>({type:`image`,data:e.data,mimeType:e.mimeType})):[]}function Ue(e){}var We=e({addAccount:()=>Ze,getAccounts:()=>W,getAllAvailableModels:()=>U,getApiKey:()=>et,getApiKeyForProvider:()=>q,getApiVersionForProvider:()=>X,getAvailableProviders:()=>qe,getBaseUrlForProvider:()=>J,getDeploymentForProvider:()=>Y,getOAuthAccountInfo:()=>Je,getProviderConfig:()=>R,getProviderModels:()=>B,getRawApiKeyForProvider:()=>Qe,getSelectedModelId:()=>Z,getSelectedProvider:()=>Q,isModelHiddenFromPicker:()=>H,resolveCurrentModel:()=>$,resolveModelById:()=>tt,saveOAuthAccount:()=>K});const N=l,P=u,F=`slicc_accounts`,I=`selected-model`,Ge=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`];let L=!1;function Ke(){if(!L){L=!0;for(let e of Ge)try{localStorage.removeItem(e)}catch{}}}function qe(){let e=c().filter(d),t=f();return[...new Set([...e,...t])]}function R(e){return p(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function z(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat})}function B(e){try{if(e===`bedrock-camp`){let e=s(J(`bedrock-camp`)),t=P(`amazon-bedrock`).filter(t=>i(t,e)),n=new Set(t.map(e=>e.id)),r=a().filter(t=>i(t,e)&&!n.has(t.id));return[...t,...r].map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=R(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return V.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of c())try{for(let t of P(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o=a?{...a,api:i,provider:e}:{id:n.id,name:n.name??n.id,provider:e,api:i,baseUrl:``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputCost:0,outputCost:0,cacheReadCost:0,cacheWriteCost:0,reasoning:!0},s=t.modelOverrides?.[n.id];return s&&z(o,s),z(o,n),o})}if(t.isOAuth){let n=P(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&z(i,a),i})}return P(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return V.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}function Je(e){let t=W().find(t=>t.providerId===e);if(!t?.accessToken)return null;let n=!!t.tokenExpiresAt&&Date.now()>t.tokenExpiresAt-6e4;return{token:t.accessToken,expiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar,expired:n}}Object.assign({})[`/packages/webapp/providers.json`];const V=t(`provider-settings`),Ye=[/haiku/i];function H(e){return Ye.some(t=>t.test(e))}function Xe(e){return e.filter(e=>!H(e.id))}function U(){let e=W();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=Xe(B(n.providerId));if(e.length===0)continue;let r=R(n.providerId),i={providerId:n.providerId,providerName:r.name,models:e};t.set(n.providerId,i)}return[...t.values()]}function W(){Ke();let e=localStorage.getItem(F);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function G(e){localStorage.setItem(F,JSON.stringify(e))}function Ze(e,t,n,r,i){let a=W().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),G(a)}function K(e){let t=W().find(t=>t.providerId===e.providerId),n=W().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),G(n)}function Qe(e){let t=W().find(t=>t.providerId===e);return t&&(t.accessToken||t.apiKey)||null}function q(e){let t=W().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(R(e).optionalApiKey?`local`:null):null}function J(e){return W().find(t=>t.providerId===e)?.baseUrl??null}function Y(e){return W().find(t=>t.providerId===e)?.deployment??null}function X(e){return W().find(t=>t.providerId===e)?.apiVersion??null}function Z(){let e=localStorage.getItem(I)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function $e(){return localStorage.getItem(I)||``}function Q(){let e=$e(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=W();return n.length>0?n[0].providerId:`anthropic`}function et(){return q(Q())}function tt(e){if(!e)return $();let t=Q(),n=J(t);try{let r=R(t),i=N(r.isOAuth||t===`azure-ai-foundry`?`anthropic`:t===`bedrock-camp`?`amazon-bedrock`:t,e);if(!i?.id)throw Error(`Model ${e} not found`);let a=i;return r.isOAuth?a=B(t).find(t=>t.id===e)||{...a,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(a={...a,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(a={...a,baseUrl:n}),a}catch{return $()}}function $(){let e=Q(),t=Z(),n=J(e),r=B(e),i=R(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=R(e),i=t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e,a=N(i,o);if(!a?.id)throw Error(`Model ${o} not found in ${i} registry`);let s=a;return t.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch{let e=r.find(e=>e.id===o);return e?n?{...e,baseUrl:n}:e:N(`anthropic`,`claude-sonnet-4-0`)}}export{ee as S,ye as _,J as a,ie as b,We as c,K as d,Ue as f,Oe as g,Le as h,X as i,$ as l,He as m,U as n,Y as o,Ve as p,et as r,Q as s,W as t,tt as u,_e as v,te as x,re as y};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-jRWAZmH_.js";var t={include:[`*`],exclude:[]},n=e({getRegisteredProviderConfig:()=>u,getRegisteredProviderIds:()=>d,registerProviders:()=>l,shouldIncludeProvider:()=>i});const r=Object.assign({"/packages/dev-tools/providers.build.json":t})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function i(e){let{include:t,exclude:n}=r;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const a=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CaxHzIfg.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-KAoRKaJ2.js`),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-BUaVLUkX.js`).then(e=>e.n),"./built-in/local-llm.ts":()=>import(`./local-llm-CrY4zo6D.js`).then(e=>e.n)}),o=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-DEWuHFse.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-BNbefD1y.js`)}),s=new Map;let c=null;function l(){return c||(c=(async()=>{for(let[e,t]of Object.entries(a)){let e=await t();e.config&&i(e.config.id)&&(s.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(o)){let e=await t();e.config&&(s.set(e.config.id,e.config),e.register?.())}})(),c)}function u(e){return s.get(e)}function d(){return[...s.keys()]}export{i as a,l as i,d as n,n as r,u as t};
@@ -0,0 +1,23 @@
1
+ function e(e,t){if(typeof t!=`string`||!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(t))throw Error(`${e} must use an exact semver version in package.json`);return t}var t=class{nextId=1;pending=new Map;handler;disposed=!1;constructor(e){this.port=e,this.handler=e=>{if(e.data?.type!==`realm-rpc-res`)return;let t=e.data,n=this.pending.get(t.id);n&&(this.pending.delete(t.id),typeof t.error==`string`?n.reject(Error(t.error)):n.resolve(t.result))},e.addEventListener(`message`,this.handler),e.start?.()}call(e,t,n=[]){if(this.disposed)return Promise.reject(Error(`realm-rpc: client disposed`));let r=this.nextId++,i={type:`realm-rpc-req`,id:r,channel:e,op:t,args:n};return new Promise((e,t)=>{this.pending.set(r,{resolve:e,reject:t}),this.port.postMessage(i)})}dispose(){if(this.disposed)return;this.disposed=!0,this.port.removeEventListener(`message`,this.handler);let e=Error(`realm-rpc: client disposed`);for(let t of this.pending.values())t.reject(e);this.pending.clear()}};`${e(`pyodide`,`0.29.3`)}`;async function n(e,n,a=()=>import(`./pyodide-C2X7foBW.js`)){let o=[],s=[],c=new t(n),l;try{l=await(await a()).loadPyodide({indexURL:e.pyodideIndexURL,fullStdLib:!1})}catch(e){c.dispose();let t={type:`realm-error`,message:`loadPyodide: ${e instanceof Error?e.message:String(e)}`};n.postMessage(t);return}let u=e.pyodideSyncDirs??[e.cwd,`/tmp`];try{await r(c,l,u)}catch(e){let t=e instanceof Error?e.message:String(e);s.push(`Warning: VFS→Pyodide sync failed: ${t}\n`)}try{l.FS.chdir(e.cwd)}catch{}l.setStdout({batched:e=>o.push(e+`
2
+ `)}),l.setStderr({batched:e=>s.push(e+`
3
+ `)});let d=!1;l.setStdin({stdin:()=>d||!e.stdin?null:(d=!0,e.stdin)}),l.globals.set(`__slicc_code`,e.code),l.globals.set(`__slicc_filename`,e.filename),l.globals.set(`__slicc_argv`,e.argv);let f;try{await l.runPythonAsync(`
4
+ import sys
5
+ import traceback
6
+
7
+ __slicc_exit_code = 0
8
+ try:
9
+ sys.argv = __slicc_argv
10
+ exec(compile(__slicc_code, __slicc_filename, "exec"), {"__name__": "__main__", "__file__": __slicc_filename})
11
+ except SystemExit as exc:
12
+ code = exc.code
13
+ if code is None:
14
+ __slicc_exit_code = 0
15
+ elif isinstance(code, int):
16
+ __slicc_exit_code = code
17
+ else:
18
+ print(code, file=sys.stderr)
19
+ __slicc_exit_code = 1
20
+ except BaseException:
21
+ traceback.print_exc()
22
+ __slicc_exit_code = 1
23
+ `);let e=l.globals.get(`__slicc_exit_code`);f=typeof e==`number`?e:Number(e??1)}catch(e){let t=e instanceof Error?e.message:String(e);s.push(`${t}\n`),f=1}try{l.runPython(`del __slicc_code, __slicc_filename, __slicc_argv, __slicc_exit_code`)}catch{}try{await i(c,l,u)}catch(e){let t=e instanceof Error?e.message:String(e);s.push(`Warning: Pyodide→VFS sync failed: ${t}\n`)}c.dispose();let p={type:`realm-done`,stdout:o.join(``),stderr:s.join(``),exitCode:f};n.postMessage(p)}async function r(e,t,n){let r=t.FS;function i(e){try{r.stat(e)}catch{r.mkdirTree(e)}}async function a(t){i(t);let n;try{n=await e.call(`vfs`,`readDir`,[t])}catch{return}for(let o of n){let n=t===`/`?`/${o}`:`${t}/${o}`;try{if((await e.call(`vfs`,`stat`,[n])).isDirectory)await a(n);else{let a=await e.call(`vfs`,`readFile`,[n]);i(t),r.writeFile(n,a)}}catch{}}}for(let e of n)await a(e)}async function i(e,t,n){let r=t.FS;async function i(t){let n;try{n=r.readdir(t).filter(e=>e!==`.`&&e!==`..`)}catch{return}for(let a of n){let n=t===`/`?`/${a}`:`${t}/${a}`;try{let a=r.stat(n);if(r.isDir(a.mode))await e.call(`vfs`,`mkdir`,[n]),await i(n);else{let i=new TextDecoder().decode(r.readFile(n));await e.call(`vfs`,`mkdir`,[t]),await e.call(`vfs`,`writeFile`,[n,i])}}catch{}}}for(let e of n)await i(e)}const a={postMessage:(e,t)=>t?self.postMessage(e,t):self.postMessage(e),addEventListener:(e,t)=>self.addEventListener(e,t),removeEventListener:(e,t)=>self.removeEventListener(e,t)};self.addEventListener(`message`,e=>{if(e.data?.type!==`realm-init`)return;let t=e.data;t.kind===`py`&&n(t,a).catch(e=>{let t={type:`realm-error`,message:e instanceof Error?e.message:String(e)};self.postMessage(t)})});
@@ -0,0 +1,3 @@
1
+ import{n as e,r as t}from"./chunk-Cn1BcAw8.js";var n=Object.defineProperty,r=(e,t)=>n(e,`name`,{value:t,configurable:!0}),i=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error(`Dynamic require of "`+t+`" is not supported`)}),a=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function o(e){return!isNaN(parseFloat(e))&&isFinite(e)}r(o,`_isNumber`);function s(e){return e.charAt(0).toUpperCase()+e.substring(1)}r(s,`_capitalize`);function c(e){return function(){return this[e]}}r(c,`_getter`);var l=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],u=[`columnNumber`,`lineNumber`],d=[`fileName`,`functionName`,`source`],f=l.concat(u,d,[`args`],[`evalOrigin`]);function p(e){if(e)for(var t=0;t<f.length;t++)e[f[t]]!==void 0&&this[`set`+s(f[t])](e[f[t]])}for(r(p,`StackFrame`),p.prototype={getArgs:r(function(){return this.args},`getArgs`),setArgs:r(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:r(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:r(function(e){if(e instanceof p)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new p(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:r(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},p.fromString=r(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new p({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),m=0;m<l.length;m++)p.prototype[`get`+s(l[m])]=c(l[m]),p.prototype[`set`+s(l[m])]=function(e){return function(t){this[e]=!!t}}(l[m]);var m;for(h=0;h<u.length;h++)p.prototype[`get`+s(u[h])]=c(u[h]),p.prototype[`set`+s(u[h])]=function(e){return function(t){if(!o(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(u[h]);var h;for(g=0;g<d.length;g++)p.prototype[`get`+s(d[g])]=c(d[g]),p.prototype[`set`+s(d[g])]=function(e){return function(t){this[e]=String(t)}}(d[g]);var g,_=p;function v(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:r(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:r(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:r(function(t){return t.stack.split(`
2
+ `).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new _({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:r(function(e){return e.stack.split(`
3
+ `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new _({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new _({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}r(v,`ErrorStackParser`);var ee=new v;function y(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:x({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`})}r(y,`getGlobalRuntimeEnv`);var b=y();function x(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof i==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,a=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,o=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;return{...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:a,IN_BROWSER_WEB_WORKER:o,IN_NODE_COMMONJS:t,IN_NODE_ESM:n}}r(x,`calculateDerivedFlags`);var S,C,te,ne,w;async function T(){if(!b.IN_NODE||(S=(await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1))).default,ne=await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1)),w=await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1)),te=(await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1))).default,C=await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1)),k=C.sep,typeof i<`u`))return;let e={fs:ne,crypto:await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1)),ws:await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1)),child_process:await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1))};globalThis.require=function(t){return e[t]}}r(T,`initNodeModules`);function E(e,t){return C.resolve(t||`.`,e)}r(E,`node_resolvePath`);function D(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}r(D,`browser_resolvePath`);var O=b.IN_NODE?E:b.IN_SHELL?r(e=>e,`resolvePath`):D,k;b.IN_NODE||(k=`/`);function A(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:w.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}r(A,`node_getBinaryResponse`);function j(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}r(j,`shell_getBinaryResponse`);function M(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}r(M,`browser_getBinaryResponse`);var N=b.IN_NODE?A:b.IN_SHELL?j:M;async function P(e,t){let{response:n,binary:r}=N(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}r(P,`loadBinaryFile`);var F;if(b.IN_BROWSER_MAIN_THREAD)F=r(async e=>await import(e),`loadScript`);else if(b.IN_BROWSER_WEB_WORKER)F=r(async e=>{try{globalThis.importScripts(e)}catch(t){if(t instanceof TypeError)await import(e);else throw t}},`loadScript`);else if(b.IN_NODE)F=I;else if(b.IN_SHELL)F=load;else throw Error(`Cannot determine runtime environment`);async function I(e){e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?te.runInThisContext(await(await fetch(e)).text()):await import(S.pathToFileURL(e).href)}r(I,`nodeLoadScript`);async function L(e){if(b.IN_NODE){await T();let t=await w.readFile(e,{encoding:`utf8`});return JSON.parse(t)}else if(b.IN_SHELL){let t=read(e);return JSON.parse(t)}else return await(await fetch(e)).json()}r(L,`loadLockFile`);async function R(){if(b.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let n=ee.parse(e)[0].fileName;if(b.IN_NODE&&!n.startsWith(`file://`)&&(n=`file://${n}`),b.IN_NODE_ESM){let e=await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1));return(await import(`./__vite-browser-external-CTFk2Lkt.js`).then(e=>t(e.default,1))).fileURLToPath(e.dirname(n))}let r=n.lastIndexOf(k);if(r===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return n.slice(0,r)}r(R,`calculateDirname`);function z(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}r(z,`calculateInstallBaseUrl`);function B(e){let t=e.FS,n=e.FS.filesystems.MEMFS,i=e.PATH,a={DIR_MODE:16895,FILE_MODE:33279,mount:r(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:r(async(e,t,n)=>{try{let r=a.getLocalSet(e),i=await a.getRemoteSet(e),o=t?i:r,s=t?r:i;await a.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:r(e=>{let n=Object.create(null);function a(e){return e!==`.`&&e!==`..`}r(a,`isRealDir`);function o(e){return t=>i.join2(e,t)}r(o,`toAbsolute`);let s=t.readdir(e.mountpoint).filter(a).map(o(e.mountpoint));for(;s.length;){let e=s.pop(),r=t.stat(e);t.isDir(r.mode)&&s.push.apply(s,t.readdir(e).filter(a).map(o(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:r(async e=>{let t=Object.create(null),n=await re(e.opts.fileSystemHandle);for(let[r,o]of n)r!==`.`&&(t[i.join2(e.mountpoint,r)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?a.FILE_MODE:a.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:r(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:r((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:r(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:r(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:a.FILE_MODE,timestamp:new Date(t.lastModified)}}else{if(e.kind===`directory`)return{mode:a.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)}},`loadRemoteEntry`),storeRemoteEntry:r(async(e,n,r)=>{let a=e.get(i.dirname(n)),o=t.isFile(r.mode)?await a.getFileHandle(i.basename(n),{create:!0}):await a.getDirectoryHandle(i.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(r.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:r(async(e,t)=>{await e.get(i.dirname(t)).removeEntry(i.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:r(async(e,n,r)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let i=n.entries[e],a=r.entries[e];(!a||t.isFile(i.mode)&&i.timestamp.getTime()>a.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(r.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:r.handles;for(let t of s){let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(r.type===`local`){let e=l.get(n),r=await a.loadRemoteEntry(e);a.storeLocalEntry(t,r)}else{let e=a.loadLocalEntry(t);await a.storeRemoteEntry(l,n,e)}}for(let t of c)if(r.type===`local`)a.removeLocalEntry(t);else{let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);await a.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=a}r(B,`initializeNativeFS`);var re=r(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}r(n,`collect`),await n(e);let i=new Map;i.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);i.set(t,n)}return i},`getFsHandles`),ie=a(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECByECD2NyZWF0ZV9zZW50aW5lbAAAC2lzX3NlbnRpbmVsAAEKEwIHAPsBAPsbCwkAIAD7GvsUAAs=`),ae=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(ie);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function V(){let e=await ae;if(e)return e.exports;let t=Symbol(`error marker`);return{create_sentinel:r(()=>t,`create_sentinel`),is_sentinel:r(e=>e===t,`is_sentinel`)}}r(V,`getSentinelImport`);function H(e){let t={config:e,runtimeEnv:b},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:J(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:r(t=>e.indexURL+t,`locateFile`),instantiateWasm:Y(e.indexURL)};return n}r(H,`createSettings`);function U(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}r(U,`createHomeDirectory`);function W(e){return function(t){Object.assign(t.ENV,e)}}r(W,`setEnvironment`);function G(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}r(G,`callFsInitHook`);function K(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}r(K,`computeVersionTuple`);function q(e){let t=P(e);return async e=>{e.API.pyVersionTuple=K(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}r(q,`installStdlib`);function J(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[q(t),U(e.env.HOME),W(e.env),B,...G(e.fsInit)]}r(J,`getFileSystemInitializationFuncs`);function Y(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=N(e+`pyodide.asm.wasm`),r=V();return function(e,i){return async function(){e.sentinel=await r;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}r(Y,`getInstantiateWasmFunc`);var oe=`0.29.3`;function X(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}r(X,`withTrailingSlash`);var Z=oe;async function Q(e={}){if(await T(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await R();if(t=X(O(t)),e.packageBaseUrl=X(e.packageBaseUrl),e.cdnUrl=X(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v0.29.3/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=L(n),e.packageBaseUrl??=z(n)}e.indexURL=t,e.packageCacheDir&&=X(O(e.packageCacheDir));let n={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`b7b7b0f46eb68e65c029c0dc739270e8a5d35251e9aab6014ee1c2f630e5d1d0`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}r(Q,`initializeConfiguration`);function $(e){let t=H(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}r($,`createEmscriptenSettings`);async function se(e){if(typeof _createPyodideModule!=`function`){let t=`${e.indexURL}pyodide.asm.js`;await F(t)}}r(se,`loadWasmScript`);async function ce(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}r(ce,`prepareSnapshot`);async function le(e){let t=await _createPyodideModule(e);if(e.exitCode!==void 0)throw new t.ExitStatus(e.exitCode);return t}r(le,`createPyodideModule`);function ue(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`0.29.3`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Z}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}r(ue,`configureAPI`);function de(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}r(de,`bootstrapPyodide`);async function fe(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}r(fe,`finalizeSetup`);async function pe(e={}){let t=await Q(e),n=$(t);await se(t);let r=await ce(t,n),i=await le(n);return ue(i,t),await fe(de(i,r,t),t)}r(pe,`loadPyodide`);export{pe as loadPyodide,Z as version};
@@ -0,0 +1,3 @@
1
+ import{i as e,o as t}from"./chunk-jRWAZmH_.js";var n=Object.defineProperty,r=(e,t)=>n(e,`name`,{value:t,configurable:!0}),i=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error(`Dynamic require of "`+t+`" is not supported`)}),a=(()=>{for(var e=new Uint8Array(128),t=0;t<64;t++)e[t<26?t+65:t<52?t+71:t<62?t-4:t*4-205]=t;return t=>{for(var n=t.length,r=new Uint8Array((n-(t[n-1]==`=`)-(t[n-2]==`=`))*3/4|0),i=0,a=0;i<n;){var o=e[t.charCodeAt(i++)],s=e[t.charCodeAt(i++)],c=e[t.charCodeAt(i++)],l=e[t.charCodeAt(i++)];r[a++]=o<<2|s>>4,r[a++]=s<<4|c>>2,r[a++]=c<<6|l}return r}})();function o(e){return!isNaN(parseFloat(e))&&isFinite(e)}r(o,`_isNumber`);function s(e){return e.charAt(0).toUpperCase()+e.substring(1)}r(s,`_capitalize`);function c(e){return function(){return this[e]}}r(c,`_getter`);var l=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],u=[`columnNumber`,`lineNumber`],d=[`fileName`,`functionName`,`source`],f=l.concat(u,d,[`args`],[`evalOrigin`]);function p(e){if(e)for(var t=0;t<f.length;t++)e[f[t]]!==void 0&&this[`set`+s(f[t])](e[f[t]])}for(r(p,`StackFrame`),p.prototype={getArgs:r(function(){return this.args},`getArgs`),setArgs:r(function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},`setArgs`),getEvalOrigin:r(function(){return this.evalOrigin},`getEvalOrigin`),setEvalOrigin:r(function(e){if(e instanceof p)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new p(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},`setEvalOrigin`),toString:r(function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n},`toString`)},p.fromString=r(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new p({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),m=0;m<l.length;m++)p.prototype[`get`+s(l[m])]=c(l[m]),p.prototype[`set`+s(l[m])]=function(e){return function(t){this[e]=!!t}}(l[m]);var m;for(h=0;h<u.length;h++)p.prototype[`get`+s(u[h])]=c(u[h]),p.prototype[`set`+s(u[h])]=function(e){return function(t){if(!o(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(u[h]);var h;for(g=0;g<d.length;g++)p.prototype[`get`+s(d[g])]=c(d[g]),p.prototype[`set`+s(d[g])]=function(e){return function(t){this[e]=String(t)}}(d[g]);var g,_=p;function v(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:r(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:r(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:r(function(t){return t.stack.split(`
2
+ `).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new _({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:r(function(e){return e.stack.split(`
3
+ `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new _({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new _({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}r(v,`ErrorStackParser`);var ee=new v;function y(){return typeof API<`u`&&API!==globalThis.API?API.runtimeEnv:x({IN_BUN:typeof Bun<`u`,IN_DENO:typeof Deno<`u`,IN_NODE:typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,IN_SAFARI:typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)===-1&&navigator.userAgent.indexOf(`Safari`)>-1,IN_SHELL:typeof read==`function`&&typeof load==`function`})}r(y,`getGlobalRuntimeEnv`);var b=y();function x(e){let t=e.IN_NODE&&typeof module<`u`&&module.exports&&typeof i==`function`&&typeof __dirname==`string`,n=e.IN_NODE&&!t,r=!e.IN_NODE&&!e.IN_DENO&&!e.IN_BUN,a=r&&typeof window<`u`&&typeof window.document<`u`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof globalThis.importScripts!=`function`,o=r&&typeof globalThis.WorkerGlobalScope<`u`&&typeof globalThis.self<`u`&&globalThis.self instanceof globalThis.WorkerGlobalScope;return{...e,IN_BROWSER:r,IN_BROWSER_MAIN_THREAD:a,IN_BROWSER_WEB_WORKER:o,IN_NODE_COMMONJS:t,IN_NODE_ESM:n}}r(x,`calculateDerivedFlags`);var S,C,te,ne,w;async function T(){if(!b.IN_NODE||(S=(await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1))).default,ne=await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1)),w=await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1)),te=(await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1))).default,C=await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1)),k=C.sep,typeof i<`u`))return;let e={fs:ne,crypto:await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1)),ws:await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1)),child_process:await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1))};globalThis.require=function(t){return e[t]}}r(T,`initNodeModules`);function E(e,t){return C.resolve(t||`.`,e)}r(E,`node_resolvePath`);function D(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}r(D,`browser_resolvePath`);var O=b.IN_NODE?E:b.IN_SHELL?r(e=>e,`resolvePath`):D,k;b.IN_NODE||(k=`/`);function A(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:w.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}r(A,`node_getBinaryResponse`);function j(e,t){if(e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`))throw Error(`Shell cannot fetch urls`);return{binary:Promise.resolve(new Uint8Array(readbuffer(e)))}}r(j,`shell_getBinaryResponse`);function M(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}r(M,`browser_getBinaryResponse`);var N=b.IN_NODE?A:b.IN_SHELL?j:M;async function P(e,t){let{response:n,binary:r}=N(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}r(P,`loadBinaryFile`);var F;if(b.IN_BROWSER_MAIN_THREAD)F=r(async e=>await import(e),`loadScript`);else if(b.IN_BROWSER_WEB_WORKER)F=r(async e=>{try{globalThis.importScripts(e)}catch(t){if(t instanceof TypeError)await import(e);else throw t}},`loadScript`);else if(b.IN_NODE)F=I;else if(b.IN_SHELL)F=load;else throw Error(`Cannot determine runtime environment`);async function I(e){e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?te.runInThisContext(await(await fetch(e)).text()):await import(S.pathToFileURL(e).href)}r(I,`nodeLoadScript`);async function L(e){if(b.IN_NODE){await T();let t=await w.readFile(e,{encoding:`utf8`});return JSON.parse(t)}else if(b.IN_SHELL){let t=read(e);return JSON.parse(t)}else return await(await fetch(e)).json()}r(L,`loadLockFile`);async function R(){if(b.IN_NODE_COMMONJS)return __dirname;let e;try{throw Error()}catch(t){e=t}let n=ee.parse(e)[0].fileName;if(b.IN_NODE&&!n.startsWith(`file://`)&&(n=`file://${n}`),b.IN_NODE_ESM){let e=await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1));return(await import(`./__vite-browser-external-DWqD2dLY.js`).then(e=>t(e.t(),1))).fileURLToPath(e.dirname(n))}let r=n.lastIndexOf(k);if(r===-1)throw Error(`Could not extract indexURL path from pyodide module location. Please pass the indexURL explicitly to loadPyodide.`);return n.slice(0,r)}r(R,`calculateDirname`);function z(e){return e.substring(0,e.lastIndexOf(`/`)+1)||globalThis.location?.toString()||`.`}r(z,`calculateInstallBaseUrl`);function B(e){let t=e.FS,n=e.FS.filesystems.MEMFS,i=e.PATH,a={DIR_MODE:16895,FILE_MODE:33279,mount:r(function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},`mount`),syncfs:r(async(e,t,n)=>{try{let r=a.getLocalSet(e),i=await a.getRemoteSet(e),o=t?i:r,s=t?r:i;await a.reconcile(e,o,s),n(null)}catch(e){n(e)}},`syncfs`),getLocalSet:r(e=>{let n=Object.create(null);function a(e){return e!==`.`&&e!==`..`}r(a,`isRealDir`);function o(e){return t=>i.join2(e,t)}r(o,`toAbsolute`);let s=t.readdir(e.mountpoint).filter(a).map(o(e.mountpoint));for(;s.length;){let e=s.pop(),r=t.stat(e);t.isDir(r.mode)&&s.push.apply(s,t.readdir(e).filter(a).map(o(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},`getLocalSet`),getRemoteSet:r(async e=>{let t=Object.create(null),n=await re(e.opts.fileSystemHandle);for(let[r,o]of n)r!==`.`&&(t[i.join2(e.mountpoint,r)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?a.FILE_MODE:a.DIR_MODE});return{type:`remote`,entries:t,handles:n}},`getRemoteSet`),loadLocalEntry:r(e=>{let r=t.lookupPath(e,{}).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},`loadLocalEntry`),storeLocalEntry:r((e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},`storeLocalEntry`),removeLocalEntry:r(e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},`removeLocalEntry`),loadRemoteEntry:r(async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:a.FILE_MODE,timestamp:new Date(t.lastModified)}}else{if(e.kind===`directory`)return{mode:a.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)}},`loadRemoteEntry`),storeRemoteEntry:r(async(e,n,r)=>{let a=e.get(i.dirname(n)),o=t.isFile(r.mode)?await a.getFileHandle(i.basename(n),{create:!0}):await a.getDirectoryHandle(i.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(r.contents),await e.close()}e.set(n,o)},`storeRemoteEntry`),removeRemoteEntry:r(async(e,t)=>{await e.get(i.dirname(t)).removeEntry(i.basename(t)),e.delete(t)},`removeRemoteEntry`),reconcile:r(async(e,n,r)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let i=n.entries[e],a=r.entries[e];(!a||t.isFile(i.mode)&&i.timestamp.getTime()>a.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(r.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:r.handles;for(let t of s){let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(r.type===`local`){let e=l.get(n),r=await a.loadRemoteEntry(e);a.storeLocalEntry(t,r)}else{let e=a.loadLocalEntry(t);await a.storeRemoteEntry(l,n,e)}}for(let t of c)if(r.type===`local`)a.removeLocalEntry(t);else{let n=i.normalize(t.replace(e.mountpoint,`/`)).substring(1);await a.removeRemoteEntry(l,n)}},`reconcile`)};e.FS.filesystems.NATIVEFS_ASYNC=a}r(B,`initializeNativeFS`);var re=r(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}r(n,`collect`),await n(e);let i=new Map;i.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);i.set(t,n)}return i},`getFsHandles`),ie=a(`AGFzbQEAAAABDANfAGAAAW9gAW8BfwMDAgECByECD2NyZWF0ZV9zZW50aW5lbAAAC2lzX3NlbnRpbmVsAAEKEwIHAPsBAPsbCwkAIAD7GvsUAAs=`),ae=async function(){if(!(globalThis.navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&typeof navigator.maxTouchPoints<`u`&&navigator.maxTouchPoints>1)))try{let e=await WebAssembly.compile(ie);return await WebAssembly.instantiate(e)}catch(e){if(e instanceof WebAssembly.CompileError)return;throw e}}();async function V(){let e=await ae;if(e)return e.exports;let t=Symbol(`error marker`);return{create_sentinel:r(()=>t,`create_sentinel`),is_sentinel:r(e=>e===t,`is_sentinel`)}}r(V,`getSentinelImport`);function H(e){let t={config:e,runtimeEnv:b},n={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:J(e),print:e.stdout,printErr:e.stderr,onExit(e){n.exitCode=e},thisProgram:e._sysExecutable,arguments:e.args,API:t,locateFile:r(t=>e.indexURL+t,`locateFile`),instantiateWasm:Y(e.indexURL)};return n}r(H,`createSettings`);function U(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}r(U,`createHomeDirectory`);function W(e){return function(t){Object.assign(t.ENV,e)}}r(W,`setEnvironment`);function G(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}r(G,`callFsInitHook`);function K(e){let t=e.HEAPU32[e._Py_Version>>>2];return[t>>>24&255,t>>>16&255,t>>>8&255]}r(K,`computeVersionTuple`);function q(e){let t=P(e);return async e=>{e.API.pyVersionTuple=K(e);let[n,r]=e.API.pyVersionTuple;e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}r(q,`installStdlib`);function J(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[q(t),U(e.env.HOME),W(e.env),B,...G(e.fsInit)]}r(J,`getFileSystemInitializationFuncs`);function Y(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=N(e+`pyodide.asm.wasm`),r=V();return function(e,i){return async function(){e.sentinel=await r;try{let r;r=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=r;i(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}r(Y,`getInstantiateWasmFunc`);var oe=`0.29.3`;function X(e){return e===void 0||e.endsWith(`/`)?e:e+`/`}r(X,`withTrailingSlash`);var Z=oe;async function Q(e={}){if(await T(),e.lockFileContents&&e.lockFileURL)throw Error(`Can't pass both lockFileContents and lockFileURL`);let t=e.indexURL||await R();if(t=X(O(t)),e.packageBaseUrl=X(e.packageBaseUrl),e.cdnUrl=X(e.packageBaseUrl??`https://cdn.jsdelivr.net/pyodide/v0.29.3/full/`),!e.lockFileContents){let n=e.lockFileURL??t+`pyodide-lock.json`;e.lockFileContents=L(n),e.packageBaseUrl??=z(n)}e.indexURL=t,e.packageCacheDir&&=X(O(e.packageCacheDir));let n={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?()=>globalThis.prompt():void 0,args:[],env:{},packages:[],packageCacheDir:e.packageBaseUrl,enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`b7b7b0f46eb68e65c029c0dc739270e8a5d35251e9aab6014ee1c2f630e5d1d0`},r=Object.assign(n,e);return r.env.HOME??=`/home/pyodide`,r.env.PYTHONINSPECT??=`1`,r}r(Q,`initializeConfiguration`);function $(e){let t=H(e),n=t.API;return n.lockFilePromise=Promise.resolve(e.lockFileContents),t}r($,`createEmscriptenSettings`);async function se(e){if(typeof _createPyodideModule!=`function`){let t=`${e.indexURL}pyodide.asm.js`;await F(t)}}r(se,`loadWasmScript`);async function ce(e,t){if(!e._loadSnapshot)return;let n=await e._loadSnapshot,r=ArrayBuffer.isView(n)?n:new Uint8Array(n);return t.noInitialRun=!0,t.INITIAL_MEMORY=r.length,r}r(ce,`prepareSnapshot`);async function le(e){let t=await _createPyodideModule(e);if(e.exitCode!==void 0)throw new t.ExitStatus(e.exitCode);return t}r(le,`createPyodideModule`);function ue(e,t){let n=e.API;if(t.pyproxyToStringRepr&&n.setPyProxyToStringMethod(!0),t.convertNullToNone&&n.setCompatNullToNone(!0),t.toJsLiteralMap&&n.setCompatToJsLiteralMap(!0),n.version!==`0.29.3`&&t.checkAPIVersion)throw Error(`Pyodide version does not match: '${Z}' <==> '${n.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);e.locateFile=e=>{throw e.endsWith(`.so`)?Error(`Failed to find dynamic library "${e}"`):Error(`Unexpected call to locateFile("${e}")`)}}r(ue,`configureAPI`);function de(e,t,n){let r=e.API,i;return t&&(i=r.restoreSnapshot(t)),r.finalizeBootstrap(i,n._snapshotDeserializer)}r(de,`bootstrapPyodide`);async function fe(e,t){let n=e._api;return n.sys.path.insert(0,``),n._pyodide.set_excepthook(),await n.packageIndexReady,n.initializeStreams(t.stdin,t.stdout,t.stderr),e}r(fe,`finalizeSetup`);async function pe(e={}){let t=await Q(e),n=$(t);await se(t);let r=await ce(t,n),i=await le(n);return ue(i,t),await fe(de(i,r,t),t)}r(pe,`loadPyodide`);export{pe as loadPyodide,Z as version};
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-jRWAZmH_.js";var t=e({RemoteMountCache:()=>i});const n=`listings`,r=`bodies`;var i=class{mountId;ttlMs;dbName;dbPromise=null;constructor(e){this.mountId=e.mountId,this.ttlMs=e.ttlMs,this.dbName=e.dbName??`slicc-mount-cache`}isStale(e,t){return Date.now()-e>=(t??this.ttlMs)}async openDb(){return this.dbPromise||=new Promise((e,t)=>{let i=indexedDB.open(this.dbName,1);i.onupgradeneeded=()=>{let e=i.result;e.objectStoreNames.contains(n)||e.createObjectStore(n),e.objectStoreNames.contains(r)||e.createObjectStore(r)},i.onsuccess=()=>e(i.result),i.onerror=()=>t(i.error)}),this.dbPromise}key(e){return`${this.mountId}::${e}`}async getListing(e){let t=await this.openDb();return new Promise((r,i)=>{let a=t.transaction(n,`readonly`).objectStore(n).get(this.key(e));a.onsuccess=()=>r(a.result??null),a.onerror=()=>i(a.error)})}async putListing(e,t){let r=await this.openDb();return new Promise((i,a)=>{let o=r.transaction(n,`readwrite`),s={entries:t,cachedAt:Date.now()};o.objectStore(n).put(s,this.key(e)),o.oncomplete=()=>i(),o.onerror=()=>a(o.error)})}async invalidateListing(e){let t=await this.openDb();return new Promise((r,i)=>{let a=t.transaction(n,`readwrite`);a.objectStore(n).delete(this.key(e)),a.oncomplete=()=>r(),a.onerror=()=>i(a.error)})}async getBody(e){let t=await this.openDb();return new Promise((n,i)=>{let a=t.transaction(r,`readonly`).objectStore(r).get(this.key(e));a.onsuccess=()=>n(a.result??null),a.onerror=()=>i(a.error)})}async putBody(e,t,n){let i=await this.openDb(),a={body:t,etag:n,size:t.byteLength,cachedAt:Date.now()};try{await this.txPut(i,r,this.key(e),a)}catch(t){if(t instanceof DOMException&&t.name===`QuotaExceededError`){await this.evictLru(.25);try{await this.txPut(i,r,this.key(e),a)}catch{}return}throw t}}async invalidateBody(e){let t=await this.openDb();return new Promise((n,i)=>{let a=t.transaction(r,`readwrite`);a.objectStore(r).delete(this.key(e)),a.oncomplete=()=>n(),a.onerror=()=>i(a.error)})}async clearMount(){let e=await this.openDb(),t=`${this.mountId}::`,i=n=>new Promise((r,i)=>{let a=e.transaction(n,`readwrite`),o=a.objectStore(n),s=o.getAllKeys();s.onsuccess=()=>{for(let e of s.result)typeof e==`string`&&e.startsWith(t)&&o.delete(e)},a.oncomplete=()=>r(),a.onerror=()=>i(a.error)});await Promise.all([i(n),i(r)])}txPut(e,t,n,r){return new Promise((i,a)=>{let o=e.transaction(t,`readwrite`);o.objectStore(t).put(r,n),o.oncomplete=()=>i(),o.onerror=()=>a(o.error)})}async evictLru(e){let t=await this.openDb(),n=`${this.mountId}::`,i=await new Promise((e,i)=>{let a=t.transaction(r,`readonly`).objectStore(r),o=[],s=a.openCursor();s.onsuccess=()=>{let t=s.result;if(!t){e(o);return}if(typeof t.key==`string`&&t.key.startsWith(n)){let e=t.value;o.push({key:t.key,cachedAt:e.cachedAt})}t.continue()},s.onerror=()=>i(s.error)});i.sort((e,t)=>e.cachedAt-t.cachedAt);let a=Math.max(1,Math.ceil(i.length*e)),o=i.slice(0,a);await new Promise((e,n)=>{let i=t.transaction(r,`readwrite`),a=i.objectStore(r);for(let{key:e}of o)a.delete(e);i.oncomplete=()=>e(),i.onerror=()=>n(i.error)})}};export{t as n,i as t};
@@ -0,0 +1 @@
1
+ function e(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,``)}export{e as t};
@@ -0,0 +1 @@
1
+ [...[`ghp_`,`gho_`,`ghu_`,`ghs_`,`ghr_`,`github_pat_`,`sk-`,`pk-`,`xoxb-`,`xoxp-`,`xoxa-`,`xoxs-`,`AKIA`,`ABIA`,`ACCA`,`ASIA`,`sk-ant-`,`Bearer `]].sort((e,t)=>t.length-e.length);function e(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(n===`*`)return!0;if(!n.startsWith(`*.`))return n===r;let i=n.slice(1);return r.length>i.length&&r.endsWith(i)}function t(t,n){return t.some(t=>e(t,n))}export{t as isAllowedDomain};
@@ -1 +1 @@
1
- import{OffscreenClient as e}from"./offscreen-client-BZcNIg4B.js";function t(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:t=>{e.postMessage(t)}}}function n(e){let n=t(e);return{onMessage:e=>n.onMessage(e),send:e=>{n.send({source:`panel`,payload:e})}}}function r(e,n){let r=t(e),i=new Map,a=r.onMessage(async e=>{let t=e;if(t?.type){if(t.type===`cdp-cmd`){let t=e;try{let e=await n.send(t.method,t.params,t.sessionId);r.send({type:`cdp-response`,id:t.id,result:e})}catch(e){r.send({type:`cdp-response`,id:t.id,error:e instanceof Error?e.message:String(e)})}return}if(t.type===`cdp-subscribe`){let t=e;if(i.has(t.event))return;let a=e=>{r.send({type:`cdp-event`,method:t.event,params:e})};i.set(t.event,a),n.on(t.event,a);return}if(t.type===`cdp-unsubscribe`){let t=e,r=i.get(t.event);if(!r)return;i.delete(t.event),n.off(t.event,r);return}}});return()=>{a();for(let[e,t]of i)n.off(e,t);i.clear()}}function i(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function a(t){let{worker:i,realCdpTransport:a,callbacks:o}=t,s=t.readyTimeoutMs??3e4,c=t.localStorageSeed??{},l=new MessageChannel,u=new MessageChannel,d=new e(o,n(l.port1)),f=r(u.port1,a),p=null,m=new Promise((e,t)=>{let n=null,r=null;p=()=>{r!==null&&(l.port1.removeEventListener(`message`,r),r=null),n!==null&&(clearTimeout(n),n=null)},r=t=>{t.data?.type===`kernel-worker-ready`&&(p?.(),e())},l.port1.addEventListener(`message`,r),n=setTimeout(()=>{p?.(),t(Error(`Kernel worker did not signal ready within ${s}ms`))},s)}),h={type:`kernel-worker-init`,kernelPort:l.port2,cdpPort:u.port2,localStorageSeed:c,instanceId:t.instanceId};i.postMessage(h,[l.port2,u.port2]);let g=!1;return{client:d,ready:m,dispose(){if(!g){g=!0,p?.(),f();try{i.postMessage({type:`kernel-worker-shutdown`})}catch{}i.terminate(),l.port1.close(),u.port1.close()}}}}function o(e){return a({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-F5kL1tTL.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??i(),instanceId:e.instanceId})}export{o as spawnKernelWorker};
1
+ import{OffscreenClient as e}from"./offscreen-client-D-03EtPp.js";function t(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:t=>{e.postMessage(t)}}}function n(e){let n=t(e);return{onMessage:e=>n.onMessage(e),send:e=>{n.send({source:`panel`,payload:e})}}}function r(e,n){let r=t(e),i=new Map,a=r.onMessage(async e=>{let t=e;if(t?.type){if(t.type===`cdp-cmd`){let t=e;try{let e=await n.send(t.method,t.params,t.sessionId);r.send({type:`cdp-response`,id:t.id,result:e})}catch(e){r.send({type:`cdp-response`,id:t.id,error:e instanceof Error?e.message:String(e)})}return}if(t.type===`cdp-subscribe`){let t=e;if(i.has(t.event))return;let a=e=>{r.send({type:`cdp-event`,method:t.event,params:e})};i.set(t.event,a),n.on(t.event,a);return}if(t.type===`cdp-unsubscribe`){let t=e,r=i.get(t.event);if(!r)return;i.delete(t.event),n.off(t.event,r);return}}});return()=>{a();for(let[e,t]of i)n.off(e,t);i.clear()}}function i(){let e={};if(typeof localStorage>`u`)return e;for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n===null)continue;let r=localStorage.getItem(n);r!==null&&(e[n]=r)}return e}function a(t){let{worker:i,realCdpTransport:a,callbacks:o}=t,s=t.readyTimeoutMs??3e4,c=t.localStorageSeed??{},l=new MessageChannel,u=new MessageChannel,d=new e(o,n(l.port1)),f=r(u.port1,a),p=null,m=new Promise((e,t)=>{let n=null,r=null;p=()=>{r!==null&&(l.port1.removeEventListener(`message`,r),r=null),n!==null&&(clearTimeout(n),n=null)},r=t=>{t.data?.type===`kernel-worker-ready`&&(p?.(),e())},l.port1.addEventListener(`message`,r),n=setTimeout(()=>{p?.(),t(Error(`Kernel worker did not signal ready within ${s}ms`))},s)}),h={type:`kernel-worker-init`,kernelPort:l.port2,cdpPort:u.port2,localStorageSeed:c,instanceId:t.instanceId};i.postMessage(h,[l.port2,u.port2]);let g=!1;return{client:d,ready:m,dispose(){if(!g){g=!0,p?.(),f();try{i.postMessage({type:`kernel-worker-shutdown`})}catch{}i.terminate(),l.port1.close(),u.port1.close()}}}}function o(e){return a({worker:e.workerUrl?new Worker(e.workerUrl,{type:`module`}):new Worker(new URL(`/assets/kernel-worker-CTDGZQ-9.js`,``+import.meta.url),{type:`module`}),realCdpTransport:e.realCdpTransport,callbacks:e.callbacks,readyTimeoutMs:e.readyTimeoutMs,localStorageSeed:e.localStorageSeed??i(),instanceId:e.instanceId})}export{o as spawnKernelWorker};
@@ -0,0 +1 @@
1
+ const e=`slicc-sprinkle-bridge`;function t(t){return t?`${e}:${t}`:e}function n(e={}){let n=e.timeoutMs??8e3;if(typeof BroadcastChannel!=`function`)return r();let a=t(e.instanceId),o=new BroadcastChannel(a),s=new Map;o.addEventListener(`message`,e=>{let t=e.data;if(!t||t.type!==`sprinkle-op-response`)return;let n=s.get(t.id);n&&(s.delete(t.id),clearTimeout(n.timer),typeof t.error==`string`?n.reject(Error(t.error)):n.resolve(t.result))});function c(e,t={}){let r=i();return new Promise((i,a)=>{let c=setTimeout(()=>{s.delete(r),a(Error(`sprinkle op '${e}' timed out`))},n);s.set(r,{resolve:i,reject:a,timer:c});let l={type:`sprinkle-op-request`,id:r,op:e,...t};o.postMessage(l)})}let l=[],u=[];return{async refresh(){l=await c(`list`)??[],u=await c(`opened`)??[]},available(){return l},opened(){return u},async open(e){await c(`open`,{name:e})},close(e){c(`close`,{name:e}).catch(()=>{})},sendToSprinkle(e,t){c(`send`,{name:e,data:t}).catch(()=>{})},async openNewAutoOpenSprinkles(){await c(`openNewAutoOpen`)}}}function r(){let e=e=>Error(`sprinkle bridge unavailable (no BroadcastChannel) — cannot run '${e}'`);return{refresh:async()=>{throw e(`refresh`)},available:()=>[],opened:()=>[],open:async()=>{throw e(`open`)},close:()=>{},sendToSprinkle:()=>{},openNewAutoOpenSprinkles:async()=>{throw e(`openNewAutoOpenSprinkles`)}}}function i(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`sp-${crypto.randomUUID()}`:`sp-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,12)}`}export{n as createSprinkleManagerProxyOverChannel};
@@ -0,0 +1 @@
1
+ const e=new Map;function t(t){let n=e.get(t.id);n&&(e.delete(t.id),clearTimeout(n.timer),t.error?n.reject(Error(t.error)):n.resolve(t.result))}export{t as handleSprinkleOpResponse};
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./chunk-jRWAZmH_.js";import{t}from"./__vite-browser-external-DWqD2dLY.js";var n=e(((e,n)=>{var r=void 0,i=function(e){return r||(r=new Promise(function(r,i){var a=e===void 0?{}:e,o=a.onAbort;a.onAbort=function(e){i(Error(e)),o&&o(e)},a.postRun=a.postRun||[],a.postRun.push(function(){r(a)}),n=void 0;var s;s||=a===void 0?{}:a;var c=!!globalThis.window,l=!!globalThis.WorkerGlobalScope,u=globalThis.process?.versions?.node&&globalThis.process?.type!=`renderer`;s.onRuntimeInitialized=function(){function e(e,t){switch(typeof t){case`boolean`:O(e,+!!t);break;case`number`:ge(e,t);break;case`string`:T(e,t,-1,-1);break;case`object`:if(t===null)_e(e);else if(t.length!=null){var n=Ft(t.length);v.set(t,n),E(e,n,t.length,-1),Z(n)}else A(e,`Wrong API use : tried to return a value of an unknown type (`+t+`).`,-1);break;default:_e(e)}}function t(e,t){for(var n=[],r=0;r<e;r+=1){var i=D(t+4*r,`i32`),a=de(i);if(a===1||a===2)i=he(i);else if(a===3)i=pe(i);else if(a===4){a=i,i=fe(a),a=me(a);for(var o=new Uint8Array(i),s=0;s<i;s+=1)o[s]=v[a+s];i=o}else i=null;n.push(i)}return n}function n(e,t){this.Qa=e,this.db=t,this.Oa=1,this.lb=[]}function r(e,t){if(this.db=t,this.eb=kt(e),this.eb===null)throw Error(`Unable to allocate memory for the SQL string`);this.kb=this.eb,this.Za=this.qb=null}function i(e){if(this.filename=`dbfile_`+(4294967295*Math.random()>>>0),e!=null){var t=this.filename,n=`/`,r=t;if(n&&(n=typeof n==`string`?n:Ve(n),r=t?be(n+`/`+t):n),t=Me(!0,!0),r=nt(r,t),e){if(typeof e==`string`){n=Array(e.length);for(var i=0,o=e.length;i<o;++i)n[i]=e.charCodeAt(i);e=n}lt(r,t|146),n=G(r,577),mt(n,e,0,e.length,0),dt(n),lt(r,t)}}this.handleError(c(this.filename,a)),this.db=D(a,`i32`),ye(this.db),this.fb={},this.Sa={}}var a=Q(4),o=s.cwrap,c=o(`sqlite3_open`,`number`,[`string`,`number`]),l=o(`sqlite3_close_v2`,`number`,[`number`]),u=o(`sqlite3_exec`,`number`,[`number`,`string`,`number`,`number`,`number`]),ee=o(`sqlite3_changes`,`number`,[`number`]),te=o(`sqlite3_prepare_v2`,`number`,[`number`,`string`,`number`,`number`,`number`]),ne=o(`sqlite3_sql`,`string`,[`number`]),d=o(`sqlite3_normalized_sql`,`string`,[`number`]),f=o(`sqlite3_prepare_v2`,`number`,[`number`,`number`,`number`,`number`,`number`]),p=o(`sqlite3_bind_text`,`number`,[`number`,`number`,`number`,`number`,`number`]),m=o(`sqlite3_bind_blob`,`number`,[`number`,`number`,`number`,`number`,`number`]),re=o(`sqlite3_bind_double`,`number`,[`number`,`number`,`number`]),h=o(`sqlite3_bind_int`,`number`,[`number`,`number`,`number`]),g=o(`sqlite3_bind_parameter_index`,`number`,[`number`,`string`]),ie=o(`sqlite3_step`,`number`,[`number`]),ae=o(`sqlite3_errmsg`,`string`,[`number`]),_=o(`sqlite3_column_count`,`number`,[`number`]),y=o(`sqlite3_data_count`,`number`,[`number`]),b=o(`sqlite3_column_double`,`number`,[`number`,`number`]),x=o(`sqlite3_column_text`,`string`,[`number`,`number`]),S=o(`sqlite3_column_blob`,`number`,[`number`,`number`]),oe=o(`sqlite3_column_bytes`,`number`,[`number`,`number`]),se=o(`sqlite3_column_type`,`number`,[`number`,`number`]),C=o(`sqlite3_column_name`,`string`,[`number`,`number`]),ce=o(`sqlite3_reset`,`number`,[`number`]),w=o(`sqlite3_clear_bindings`,`number`,[`number`]),le=o(`sqlite3_finalize`,`number`,[`number`]),ue=o(`sqlite3_create_function_v2`,`number`,`number string number number number number number number number`.split(` `)),de=o(`sqlite3_value_type`,`number`,[`number`]),fe=o(`sqlite3_value_bytes`,`number`,[`number`]),pe=o(`sqlite3_value_text`,`string`,[`number`]),me=o(`sqlite3_value_blob`,`number`,[`number`]),he=o(`sqlite3_value_double`,`number`,[`number`]),ge=o(`sqlite3_result_double`,``,[`number`,`number`]),_e=o(`sqlite3_result_null`,``,[`number`]),T=o(`sqlite3_result_text`,``,[`number`,`string`,`number`,`number`]),E=o(`sqlite3_result_blob`,``,[`number`,`number`,`number`,`number`]),O=o(`sqlite3_result_int`,``,[`number`,`number`]),A=o(`sqlite3_result_error`,``,[`number`,`string`,`number`]),ve=o(`sqlite3_aggregate_context`,`number`,[`number`,`number`]),ye=o(`RegisterExtensionFunctions`,`number`,[`number`]),xe=o(`sqlite3_update_hook`,`number`,[`number`,`number`,`number`]);n.prototype.bind=function(e){if(!this.Qa)throw`Statement closed`;return this.reset(),Array.isArray(e)?this.Cb(e):typeof e==`object`&&e?this.Db(e):!0},n.prototype.step=function(){if(!this.Qa)throw`Statement closed`;this.Oa=1;var e=ie(this.Qa);switch(e){case 100:return!0;case 101:return!1;default:throw this.db.handleError(e)}},n.prototype.wb=function(e){return e??(e=this.Oa,this.Oa+=1),b(this.Qa,e)},n.prototype.Gb=function(e){if(e??(e=this.Oa,this.Oa+=1),e=x(this.Qa,e),typeof BigInt!=`function`)throw Error(`BigInt is not supported`);return BigInt(e)},n.prototype.Hb=function(e){return e??(e=this.Oa,this.Oa+=1),x(this.Qa,e)},n.prototype.getBlob=function(e){e??(e=this.Oa,this.Oa+=1);var t=oe(this.Qa,e);e=S(this.Qa,e);for(var n=new Uint8Array(t),r=0;r<t;r+=1)n[r]=v[e+r];return n},n.prototype.get=function(e,t){t||={},e!=null&&this.bind(e)&&this.step(),e=[];for(var n=y(this.Qa),r=0;r<n;r+=1)switch(se(this.Qa,r)){case 1:var i=t.useBigInt?this.Gb(r):this.wb(r);e.push(i);break;case 2:e.push(this.wb(r));break;case 3:e.push(this.Hb(r));break;case 4:e.push(this.getBlob(r));break;default:e.push(null)}return e},n.prototype.getColumnNames=function(){for(var e=[],t=_(this.Qa),n=0;n<t;n+=1)e.push(C(this.Qa,n));return e},n.prototype.getAsObject=function(e,t){e=this.get(e,t),t=this.getColumnNames();for(var n={},r=0;r<t.length;r+=1)n[t[r]]=e[r];return n},n.prototype.getSQL=function(){return ne(this.Qa)},n.prototype.getNormalizedSQL=function(){return d(this.Qa)},n.prototype.run=function(e){return e!=null&&this.bind(e),this.step(),this.reset()},n.prototype.tb=function(e,t){t??(t=this.Oa,this.Oa+=1),e=kt(e),this.lb.push(e),this.db.handleError(p(this.Qa,t,e,-1,0))},n.prototype.Bb=function(e,t){t??(t=this.Oa,this.Oa+=1);var n=Ft(e.length);v.set(e,n),this.lb.push(n),this.db.handleError(m(this.Qa,t,n,e.length,0))},n.prototype.sb=function(e,t){t??(t=this.Oa,this.Oa+=1),this.db.handleError((e===(e|0)?h:re)(this.Qa,t,e))},n.prototype.Eb=function(e){e??(e=this.Oa,this.Oa+=1),m(this.Qa,e,0,0,0)},n.prototype.ub=function(e,t){switch(t??(t=this.Oa,this.Oa+=1),typeof e){case`string`:this.tb(e,t);return;case`number`:this.sb(e,t);return;case`bigint`:this.tb(e.toString(),t);return;case`boolean`:this.sb(e+0,t);return;case`object`:if(e===null){this.Eb(t);return}if(e.length!=null){this.Bb(e,t);return}}throw`Wrong API use : tried to bind a value of an unknown type (`+e+`).`},n.prototype.Db=function(e){var t=this;return Object.keys(e).forEach(function(n){var r=g(t.Qa,n);r!==0&&t.ub(e[n],r)}),!0},n.prototype.Cb=function(e){for(var t=0;t<e.length;t+=1)this.ub(e[t],t+1);return!0},n.prototype.reset=function(){return this.freemem(),w(this.Qa)===0&&ce(this.Qa)===0},n.prototype.freemem=function(){for(var e;(e=this.lb.pop())!==void 0;)Z(e)},n.prototype.free=function(){this.freemem();var e=le(this.Qa)===0;return delete this.db.fb[this.Qa],this.Qa=0,e},r.prototype.next=function(){if(this.eb===null)return{done:!0};if(this.Za!==null&&(this.Za.free(),this.Za=null),!this.db.db)throw this.nb(),Error(`Database closed`);var e=zt(),t=Q(4);k(a),k(t);try{this.db.handleError(f(this.db.db,this.kb,-1,a,t)),this.kb=D(t,`i32`);var r=D(a,`i32`);return r===0?(this.nb(),{done:!0}):(this.Za=new n(r,this.db),this.db.fb[r]=this.Za,{value:this.Za,done:!1})}catch(e){throw this.qb=j(this.kb),this.nb(),e}finally{Rt(e)}},r.prototype.nb=function(){Z(this.eb),this.eb=null},r.prototype.getRemainingSQL=function(){return this.qb===null?j(this.kb):this.qb},typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`&&(r.prototype[Symbol.iterator]=function(){return this}),i.prototype.run=function(e,t){if(!this.db)throw`Database closed`;if(t){e=this.prepare(e,t);try{e.step()}finally{e.free()}}else this.handleError(u(this.db,e,0,0,a));return this},i.prototype.exec=function(e,t,r){if(!this.db)throw`Database closed`;var i=null,o=null,s=null;try{s=o=kt(e);var c=Q(4);for(e=[];D(s,`i8`)!==0;){k(a),k(c),this.handleError(f(this.db,s,-1,a,c));var l=D(a,`i32`);if(s=D(c,`i32`),l!==0){var u=null;for(i=new n(l,this),t!=null&&i.bind(t);i.step();)u===null&&(u={columns:i.getColumnNames(),values:[]},e.push(u)),u.values.push(i.get(null,r));i.free()}}return e}catch(e){throw i&&i.free(),e}finally{o&&Z(o)}},i.prototype.each=function(e,t,n,r,i){typeof t==`function`&&(r=n,n=t,t=void 0),e=this.prepare(e,t);try{for(;e.step();)n(e.getAsObject(null,i))}finally{e.free()}if(typeof r==`function`)return r()},i.prototype.prepare=function(e,t){if(k(a),this.handleError(te(this.db,e,-1,a,0)),e=D(a,`i32`),e===0)throw`Nothing to prepare`;var r=new n(e,this);return t!=null&&r.bind(t),this.fb[e]=r},i.prototype.iterateStatements=function(e){return new r(e,this)},i.prototype.export=function(){Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(X),this.Sa={},this.handleError(l(this.db));var e=ht(this.filename);return this.handleError(c(this.filename,a)),this.db=D(a,`i32`),ye(this.db),e},i.prototype.close=function(){this.db!==null&&(Object.values(this.fb).forEach(function(e){e.free()}),Object.values(this.Sa).forEach(X),this.Sa={},this.Ya&&=(X(this.Ya),void 0),this.handleError(l(this.db)),ot(`/`+this.filename),this.db=null)},i.prototype.handleError=function(e){if(e===0)return null;throw e=ae(this.db),Error(e)},i.prototype.getRowsModified=function(){return ee(this.db)},i.prototype.create_function=function(n,r){Object.prototype.hasOwnProperty.call(this.Sa,n)&&(X(this.Sa[n]),delete this.Sa[n]);var i=Pt(function(n,i,a){i=t(i,a);try{var o=r.apply(null,i)}catch(e){A(n,e,-1);return}e(n,o)},`viii`);return this.Sa[n]=i,this.handleError(ue(this.db,n,r.length,1,0,i,0,0,0)),this},i.prototype.create_aggregate=function(n,r){var i=r.init||function(){return null},a=r.finalize||function(e){return e},o=r.step;if(!o)throw`An aggregate function must have a step function in `+n;var s={};Object.hasOwnProperty.call(this.Sa,n)&&(X(this.Sa[n]),delete this.Sa[n]),r=n+`__finalize`,Object.hasOwnProperty.call(this.Sa,r)&&(X(this.Sa[r]),delete this.Sa[r]);var c=Pt(function(e,n,r){var a=ve(e,1);Object.hasOwnProperty.call(s,a)||(s[a]=i()),n=t(n,r),n=[s[a]].concat(n);try{s[a]=o.apply(null,n)}catch(t){delete s[a],A(e,t,-1)}},`viii`),l=Pt(function(t){var n=ve(t,1);try{var r=a(s[n])}catch(e){delete s[n],A(t,e,-1);return}e(t,r),delete s[n]},`vi`);return this.Sa[n]=c,this.Sa[r]=l,this.handleError(ue(this.db,n,o.length-1,1,0,0,c,l,0)),this},i.prototype.updateHook=function(e){return this.Ya&&=(xe(this.db,0,0),X(this.Ya),void 0),e?(this.Ya=Pt(function(t,n,r,i,a){switch(n){case 18:t=`insert`;break;case 23:t=`update`;break;case 9:t=`delete`;break;default:throw`unknown operationCode in updateHook callback: `+n}if(r=j(r),i=j(i),a>2**53-1)throw`rowId too big to fit inside a Number`;e(t,r,i,Number(a))},`viiiij`),xe(this.db,this.Ya,0),this):this},s.Database=i};var ee=`./this.program`,te=(e,t)=>{throw t},ne=globalThis.document?.currentScript?.src;typeof __filename<`u`?ne=__filename:l&&(ne=self.location.href);var d=``,f,p;if(u){var m=t();d=__dirname+`/`,p=e=>(e=_(e)?new URL(e):e,m.readFileSync(e)),f=async e=>(e=_(e)?new URL(e):e,m.readFileSync(e,void 0)),1<process.argv.length&&(ee=process.argv[1].replace(/\\/g,`/`)),process.argv.slice(2),n!==void 0&&(n.exports=s),te=(e,t)=>{throw process.exitCode=e,t}}else if(c||l){try{d=new URL(`.`,ne).href}catch{}l&&(p=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),f=async e=>{if(_(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var re=console.log.bind(console),h=console.error.bind(console),g,ie=!1,ae,_=e=>e.startsWith(`file://`),v,y,b,x,S,oe,se,C;function ce(){var e=Bt.buffer;v=new Int8Array(e),b=new Int16Array(e),y=new Uint8Array(e),new Uint16Array(e),x=new Int32Array(e),S=new Uint32Array(e),oe=new Float32Array(e),se=new Float64Array(e),C=new BigInt64Array(e),new BigUint64Array(e)}function w(e){throw s.onAbort?.(e),e=`Aborted(`+e+`)`,h(e),ie=!0,new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`)}var le;async function ue(e){if(!g)try{var t=await f(e);return new Uint8Array(t)}catch{}if(e==le&&g)e=new Uint8Array(g);else if(p)e=p(e);else throw`both async and sync fetching of the wasm failed`;return e}async function de(e,t){try{var n=await ue(e);return await WebAssembly.instantiate(n,t)}catch(e){h(`failed to asynchronously prepare wasm: ${e}`),w(e)}}async function fe(e){var t=le;if(!g&&!_(t)&&!u)try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){h(`wasm streaming compile failed: ${e}`),h(`falling back to ArrayBuffer instantiation`)}return de(t,e)}class pe{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var me=e=>{for(;0<e.length;)e.shift()(s)},he=[],ge=[],_e=()=>{var e=s.preRun.shift();ge.push(e)},T=0,E=null;function D(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return v[e];case`i8`:return v[e];case`i16`:return b[e>>1];case`i32`:return x[e>>2];case`i64`:return C[e>>3];case`float`:return oe[e>>2];case`double`:return se[e>>3];case`*`:return S[e>>2];default:w(`invalid type for getValue: ${t}`)}}var O=!0;function k(e){var t=`i32`;switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:v[e]=0;break;case`i8`:v[e]=0;break;case`i16`:b[e>>1]=0;break;case`i32`:x[e>>2]=0;break;case`i64`:C[e>>3]=BigInt(0);break;case`float`:oe[e>>2]=0;break;case`double`:se[e>>3]=0;break;case`*`:S[e>>2]=0;break;default:w(`invalid type for setValue: ${t}`)}}var A=new TextDecoder,ve=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},j=(e,t,n)=>e?A.decode(y.subarray(e,ve(y,e,t,n))):``,ye=(e,t)=>{for(var n=0,r=e.length-1;0<=r;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},be=e=>{var t=e.charAt(0)===`/`,n=e.slice(-1)===`/`;return(e=ye(e.split(`/`).filter(e=>!!e),!t).join(`/`))||t||(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},xe=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],!e&&!t?`.`:(t&&=t.slice(0,-1),e+t)},Se=e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],Ce=()=>{if(u){var e=t();return t=>e.randomFillSync(t)}return e=>crypto.getRandomValues(e)},we=e=>{(we=Ce())(e)},Te=(...e)=>{for(var t=``,n=!1,r=e.length-1;-1<=r&&!n;r--){if(n=0<=r?e[r]:`/`,typeof n!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!n)return``;t=n+`/`+t,n=n.charAt(0)===`/`}return t=ye(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},M=e=>{var t=ve(e,0);return A.decode(e.buffer?e.subarray(0,t):new Uint8Array(e.slice(0,t)))},Ee=[],N=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},P=(e,t,n,r)=>{if(!(0<r))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(127>=o){if(n>=r)break;t[n++]=o}else if(2047>=o){if(n+1>=r)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(65535>=o){if(n+2>=r)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63,a++}}return t[n]=0,n-i},De=[];function Oe(e,t){De[e]={input:[],output:[],cb:t},$e(e,ke)}var ke={open(e){var t=De[e.node.rdev];if(!t)throw new R(43);e.tty=t,e.seekable=!1},close(e){e.tty.cb.fsync(e.tty)},fsync(e){e.tty.cb.fsync(e.tty)},read(e,t,n,r){if(!e.tty||!e.tty.cb.xb)throw new R(60);for(var i=0,a=0;a<r;a++){try{var o=e.tty.cb.xb(e.tty)}catch{throw new R(29)}if(o===void 0&&i===0)throw new R(6);if(o==null)break;i++,t[n+a]=o}return i&&(e.node.atime=Date.now()),i},write(e,t,n,r){if(!e.tty||!e.tty.cb.rb)throw new R(60);try{for(var i=0;i<r;i++)e.tty.cb.rb(e.tty,t[n+i])}catch{throw new R(29)}return r&&(e.node.mtime=e.node.ctime=Date.now()),i}},Ae={xb(){a:{if(!Ee.length){var e=null;if(u){var t=Buffer.alloc(256),n=0,r=process.stdin.fd;try{n=m.readSync(r,t,0,256)}catch(e){if(e.toString().includes(`EOF`))n=0;else throw e}0<n&&(e=t.slice(0,n).toString(`utf-8`))}else globalThis.window?.prompt&&(e=window.prompt(`Input: `),e!==null&&(e+=`
2
+ `));if(!e){e=null;break a}t=Array(N(e)+1),e=P(e,t,0,t.length),t.length=e,Ee=t}e=Ee.shift()}return e},rb(e,t){t===null||t===10?(re(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(re(M(e.output)),e.output=[])},Tb(){return{Ob:25856,Qb:5,Nb:191,Pb:35387,Mb:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},Ub(){return 0},Vb(){return[24,80]}},je={rb(e,t){t===null||t===10?(h(M(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){0<e.output?.length&&(h(M(e.output)),e.output=[])}},F={Wa:null,Xa(){return F.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if((n&61440)==24576||(n&61440)==4096)throw new R(63);return F.Wa||={dir:{node:{Ta:F.La.Ta,Ua:F.La.Ua,lookup:F.La.lookup,hb:F.La.hb,rename:F.La.rename,unlink:F.La.unlink,rmdir:F.La.rmdir,readdir:F.La.readdir,symlink:F.La.symlink},stream:{Va:F.Ma.Va}},file:{node:{Ta:F.La.Ta,Ua:F.La.Ua},stream:{Va:F.Ma.Va,read:F.Ma.read,write:F.Ma.write,ib:F.Ma.ib,jb:F.Ma.jb}},link:{node:{Ta:F.La.Ta,Ua:F.La.Ua,readlink:F.La.readlink},stream:{}},vb:{node:{Ta:F.La.Ta,Ua:F.La.Ua},stream:Qe}},n=We(e,t,n,r),V(n.mode)?(n.La=F.Wa.dir.node,n.Ma=F.Wa.dir.stream,n.Na={}):(n.mode&61440)==32768?(n.La=F.Wa.file.node,n.Ma=F.Wa.file.stream,n.Ra=0,n.Na=null):(n.mode&61440)==40960?(n.La=F.Wa.link.node,n.Ma=F.Wa.link.stream):(n.mode&61440)==8192&&(n.La=F.Wa.vb.node,n.Ma=F.Wa.vb.stream),n.atime=n.mtime=n.ctime=Date.now(),e&&(e.Na[t]=n,e.atime=e.mtime=e.ctime=n.atime),n},Sb(e){return e.Na?e.Na.subarray?e.Na.subarray(0,e.Ra):new Uint8Array(e.Na):new Uint8Array},La:{Ta(e){var t={};return t.dev=(e.mode&61440)==8192?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,V(e.mode)?t.size=4096:(e.mode&61440)==32768?t.size=e.Ra:(e.mode&61440)==40960?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},Ua(e,t){for(var n of[`mode`,`atime`,`mtime`,`ctime`])t[n]!=null&&(e[n]=t[n]);t.size!==void 0&&(t=t.size,e.Ra!=t&&(t==0?(e.Na=null,e.Ra=0):(n=e.Na,e.Na=new Uint8Array(t),n&&e.Na.set(n.subarray(0,Math.min(t,e.Ra))),e.Ra=t)))},lookup(){throw F.mb||(F.mb=new R(44),F.mb.stack=`<generic error, no stack>`),F.mb},hb(e,t,n,r){return F.createNode(e,t,n,r)},rename(e,t,n){try{var r=B(t,n)}catch{}if(r){if(V(e.mode))for(var i in r.Na)throw new R(55);Ue(r)}delete e.parent.Na[e.name],t.Na[n]=e,e.name=n,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.Na[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var n=B(e,t),r;for(r in n.Na)throw new R(55);delete e.Na[t],e.ctime=e.mtime=Date.now()},readdir(e){return[`.`,`..`,...Object.keys(e.Na)]},symlink(e,t,n){return e=F.createNode(e,t,41471,0),e.link=n,e},readlink(e){if((e.mode&61440)!=40960)throw new R(28);return e.link}},Ma:{read(e,t,n,r,i){var a=e.node.Na;if(i>=e.node.Ra)return 0;if(e=Math.min(e.node.Ra-i,r),8<e&&a.subarray)t.set(a.subarray(i,i+e),n);else for(r=0;r<e;r++)t[n+r]=a[i+r];return e},write(e,t,n,r,i,a){if(t.buffer===v.buffer&&(a=!1),!r)return 0;if(e=e.node,e.mtime=e.ctime=Date.now(),t.subarray&&(!e.Na||e.Na.subarray)){if(a)return e.Na=t.subarray(n,n+r),e.Ra=r;if(e.Ra===0&&i===0)return e.Na=t.slice(n,n+r),e.Ra=r;if(i+r<=e.Ra)return e.Na.set(t.subarray(n,n+r),i),r}a=i+r;var o=e.Na?e.Na.length:0;if(o>=a||(a=Math.max(a,o*(1048576>o?2:1.125)>>>0),o!=0&&(a=Math.max(a,256)),o=e.Na,e.Na=new Uint8Array(a),0<e.Ra&&e.Na.set(o.subarray(0,e.Ra),0)),e.Na.subarray&&t.subarray)e.Na.set(t.subarray(n,n+r),i);else for(a=0;a<r;a++)e.Na[i+a]=t[n+a];return e.Ra=Math.max(e.Ra,i+r),r},Va(e,t,n){if(n===1?t+=e.position:n===2&&(e.node.mode&61440)==32768&&(t+=e.node.Ra),0>t)throw new R(28);return t},ib(e,t,n,r,i){if((e.node.mode&61440)!=32768)throw new R(43);if(e=e.node.Na,i&2||!e||e.buffer!==v.buffer){i=!0,r=65536*Math.ceil(t/65536);var a=It(65536,r);if(a&&y.fill(0,a,a+r),r=a,!r)throw new R(48);e&&((0<n||n+t<e.length)&&(e=e.subarray?e.subarray(n,n+t):Array.prototype.slice.call(e,n,n+t)),v.set(e,r))}else i=!1,r=e.byteOffset;return{Kb:r,Ab:i}},jb(e,t,n,r){return F.Ma.write(e,t,0,r,n,!1),0}}},Me=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},Ne=null,Pe={},I=[],Fe=1,L=null,Ie=!1,Le=!0,Re={},R=class{name=`ErrnoError`;constructor(e){this.Pa=e}},ze=class{gb={};node=null;get flags(){return this.gb.flags}set flags(e){this.gb.flags=e}get position(){return this.gb.position}set position(e){this.gb.position=e}},Be=class{La={};Ma={};ab=null;constructor(e,t,n,r){e||=this,this.parent=e,this.Xa=e.Xa,this.id=Fe++,this.name=t,this.mode=n,this.rdev=r,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&365)==365}set read(e){e?this.mode|=365:this.mode&=-366}get write(){return(this.mode&146)==146}set write(e){e?this.mode|=146:this.mode&=-147}};function z(e,t={}){if(!e)throw new R(44);t.ob??=!0,e.charAt(0)===`/`||(e=`//`+e);var n=0;a:for(;40>n;n++){e=e.split(`/`).filter(e=>!!e);for(var r=Ne,i=`/`,a=0;a<e.length;a++){var o=a===e.length-1;if(o&&t.parent)break;if(e[a]!==`.`)if(e[a]===`..`)if(i=xe(i),r===r.parent){e=i+`/`+e.slice(a+1).join(`/`),n--;continue a}else r=r.parent;else{i=be(i+`/`+e[a]);try{r=B(r,e[a])}catch(e){if(e?.Pa===44&&o&&t.Jb)return{path:i};throw e}if(!r.ab||o&&!t.ob||(r=r.ab.root),(r.mode&61440)==40960&&(!o||t.$a)){if(!r.La.readlink)throw new R(52);r=r.La.readlink(r),r.charAt(0)===`/`||(r=xe(i)+`/`+r),e=r+`/`+e.slice(a+1).join(`/`);continue a}}}return{path:i,node:r}}throw new R(32)}function Ve(e){for(var t;;){if(e===e.parent)return e=e.Xa.zb,t?e[e.length-1]===`/`?e+t:`${e}/${t}`:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function He(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%L.length}function Ue(e){var t=He(e.parent.id,e.name);if(L[t]===e)L[t]=e.bb;else for(t=L[t];t;){if(t.bb===e){t.bb=e.bb;break}t=t.bb}}function B(e,t){var n=V(e.mode)?(n=H(e,`x`))?n:e.La.lookup?0:2:54;if(n)throw new R(n);for(n=L[He(e.id,t)];n;n=n.bb){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return e.La.lookup(e,t)}function We(e,t,n,r){return e=new Be(e,t,n,r),t=He(e.parent.id,e.name),e.bb=L[t],L[t]=e}function V(e){return(e&61440)==16384}function Ge(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t}function H(e,t){if(Le)return 0;if(!t.includes(`r`)||e.mode&292){if(t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73))return 2}else return 2;return 0}function Ke(e,t){if(!V(e.mode))return 54;try{return B(e,t),20}catch{}return H(e,`wx`)}function qe(e,t,n){try{var r=B(e,t)}catch(e){return e.Pa}if(e=H(e,`wx`))return e;if(n){if(!V(r.mode))return 54;if(r===r.parent||Ve(r)===`/`)return 10}else if(V(r.mode))return 31;return 0}function Je(e){if(!e)throw new R(63);return e}function U(e){if(e=I[e],!e)throw new R(8);return e}function Ye(e,t=-1){if(e=Object.assign(new ze,e),t==-1)a:{for(t=0;4096>=t;t++)if(!I[t])break a;throw new R(33)}return e.fd=t,I[t]=e}function Xe(e,t=-1){return e=Ye(e,t),e.Ma?.Rb?.(e),e}function Ze(e,t,n){var r=e?.Ma.Ua;e=r?e:t,r??=t.La.Ua,Je(r),r(e,n)}var Qe={open(e){e.Ma=Pe[e.node.rdev].Ma,e.Ma.open?.(e)},Va(){throw new R(70)}};function $e(e,t){Pe[e]={Ma:t}}function et(e,t){var n=t===`/`;if(n&&Ne)throw new R(10);if(!n&&t){var r=z(t,{ob:!1});if(t=r.path,r=r.node,r.ab)throw new R(10);if(!V(r.mode))throw new R(54)}t={type:e,Wb:{},zb:t,Ib:[]},e=e.Xa(t),e.Xa=t,t.root=e,n?Ne=e:r&&(r.ab=t,r.Xa&&r.Xa.Ib.push(t))}function tt(e,t,n){var r=z(e,{parent:!0}).node;if(e=Se(e),!e)throw new R(28);if(e===`.`||e===`..`)throw new R(20);var i=Ke(r,e);if(i)throw new R(i);if(!r.La.hb)throw new R(63);return r.La.hb(r,e,t,n)}function nt(e,t=438){return tt(e,t&4095|32768,0)}function W(e,t=511){return tt(e,t&1023|16384,0)}function rt(e,t,n){n===void 0&&(n=t,t=438),tt(e,t|8192,n)}function it(e,t){if(!Te(e))throw new R(44);var n=z(t,{parent:!0}).node;if(!n)throw new R(44);t=Se(t);var r=Ke(n,t);if(r)throw new R(r);if(!n.La.symlink)throw new R(63);n.La.symlink(n,t,e)}function at(e){var t=z(e,{parent:!0}).node;e=Se(e);var n=B(t,e),r=qe(t,e,!0);if(r)throw new R(r);if(!t.La.rmdir)throw new R(63);if(n.ab)throw new R(10);t.La.rmdir(t,e),Ue(n)}function ot(e){var t=z(e,{parent:!0}).node;if(!t)throw new R(44);e=Se(e);var n=B(t,e),r=qe(t,e,!1);if(r)throw new R(r);if(!t.La.unlink)throw new R(63);if(n.ab)throw new R(10);t.La.unlink(t,e),Ue(n)}function st(e,t){return e=z(e,{$a:!t}).node,Je(e.La.Ta)(e)}function ct(e,t,n,r){Ze(e,t,{mode:n&4095|t.mode&-4096,ctime:Date.now(),Fb:r})}function lt(e,t){e=typeof e==`string`?z(e,{$a:!0}).node:e,ct(null,e,t)}function ut(e,t,n){if(V(t.mode))throw new R(31);if((t.mode&61440)!=32768)throw new R(28);var r=H(t,`w`);if(r)throw new R(r);Ze(e,t,{size:n,timestamp:Date.now()})}function G(e,t,n=438){if(e===``)throw new R(44);if(typeof t==`string`){var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(r===void 0)throw Error(`Unknown file open mode: ${t}`);t=r}if(n=t&64?n&4095|32768:0,typeof e==`object`)r=e;else{var i=e.endsWith(`/`);e=z(e,{$a:!(t&131072),Jb:!0}),r=e.node,e=e.path}var a=!1;if(t&64)if(r){if(t&128)throw new R(20)}else{if(i)throw new R(31);r=tt(e,n|511,0),a=!0}if(!r)throw new R(44);if((r.mode&61440)==8192&&(t&=-513),t&65536&&!V(r.mode))throw new R(54);if(!a&&(i=r?(r.mode&61440)==40960?32:V(r.mode)&&(Ge(t)!==`r`||t&576)?31:H(r,Ge(t)):44))throw new R(i);return t&512&&!a&&(i=r,i=typeof i==`string`?z(i,{$a:!0}).node:i,ut(null,i,0)),t&=-131713,i=Ye({node:r,path:Ve(r),flags:t,seekable:!0,position:0,Ma:r.Ma,Lb:[],error:!1}),i.Ma.open&&i.Ma.open(i),a&&lt(r,n&511),!s.logReadFiles||t&1||e in Re||(Re[e]=1),i}function dt(e){if(e.fd===null)throw new R(8);e.pb&&=null;try{e.Ma.close&&e.Ma.close(e)}catch(e){throw e}finally{I[e.fd]=null}e.fd=null}function ft(e,t,n){if(e.fd===null)throw new R(8);if(!e.seekable||!e.Ma.Va)throw new R(70);if(n!=0&&n!=1&&n!=2)throw new R(28);e.position=e.Ma.Va(e,t,n),e.Lb=[]}function pt(e,t,n,r,i){if(0>r||0>i)throw new R(28);if(e.fd===null||(e.flags&2097155)==1)throw new R(8);if(V(e.node.mode))throw new R(31);if(!e.Ma.read)throw new R(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R(70);return t=e.Ma.read(e,t,n,r,i),a||(e.position+=t),t}function mt(e,t,n,r,i){if(0>r||0>i)throw new R(28);if(e.fd===null||!(e.flags&2097155))throw new R(8);if(V(e.node.mode))throw new R(31);if(!e.Ma.write)throw new R(28);e.seekable&&e.flags&1024&&ft(e,0,2);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new R(70);return t=e.Ma.write(e,t,n,r,i,void 0),a||(e.position+=t),t}function ht(e){var t=t||0,n=`binary`;n!==`utf8`&&n!==`binary`&&w(`Invalid encoding type "${n}"`),t=G(e,t),e=st(e).size;var r=new Uint8Array(e);return pt(t,r,0,e,0),n===`utf8`&&(r=M(r)),dt(t),r}function K(e,t,n){e=be(`/dev/`+e);var r=Me(!!t,!!n);K.yb??=64;var i=K.yb++<<8|0;$e(i,{open(e){e.seekable=!1},close(){n?.buffer?.length&&n(10)},read(e,n,r,i){for(var a=0,o=0;o<i;o++){try{var s=t()}catch{throw new R(29)}if(s===void 0&&a===0)throw new R(6);if(s==null)break;a++,n[r+o]=s}return a&&(e.node.atime=Date.now()),a},write(e,t,r,i){for(var a=0;a<i;a++)try{n(t[r+a])}catch{throw new R(29)}return i&&(e.node.mtime=e.node.ctime=Date.now()),a}}),rt(e,r,i)}var q={};function J(e,t,n){if(t.charAt(0)===`/`)return t;if(e=e===-100?`/`:U(e).path,t.length==0){if(!n)throw new R(44);return e}return e+`/`+t}function gt(e,t){S[e>>2]=t.dev,S[e+4>>2]=t.mode,S[e+8>>2]=t.nlink,S[e+12>>2]=t.uid,S[e+16>>2]=t.gid,S[e+20>>2]=t.rdev,C[e+24>>3]=BigInt(t.size),x[e+32>>2]=4096,x[e+36>>2]=t.blocks;var n=t.atime.getTime(),r=t.mtime.getTime(),i=t.ctime.getTime();return C[e+40>>3]=BigInt(Math.floor(n/1e3)),S[e+48>>2]=n%1e3*1e6,C[e+56>>3]=BigInt(Math.floor(r/1e3)),S[e+64>>2]=r%1e3*1e6,C[e+72>>3]=BigInt(Math.floor(i/1e3)),S[e+80>>2]=i%1e3*1e6,C[e+88>>3]=BigInt(t.ino),0}var _t=void 0,vt=()=>{var e=x[_t>>2];return _t+=4,e},yt=0,bt=[0,31,60,91,121,152,182,213,244,274,305,335],xt=[0,31,59,90,120,151,181,212,243,273,304,334],St={},Ct=e=>{ae=e,O||0<yt||(s.onExit?.(e),ie=!0),te(e,new pe(e))},wt=e=>{if(!ie)try{e()}catch(e){e instanceof pe||e==`unwind`||te(1,e)}finally{if(!(O||0<yt))try{ae=e=ae,Ct(e)}catch(e){e instanceof pe||e==`unwind`||te(1,e)}}},Tt={},Et=()=>{if(!Dt){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(globalThis.navigator?.language??`C`).replace(`-`,`_`)+`.UTF-8`,_:ee||`./this.program`},t;for(t in Tt)Tt[t]===void 0?delete e[t]:e[t]=Tt[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);Dt=n}return Dt},Dt,Ot=(e,t,n,r)=>{var i={string:e=>{var t=0;if(e!=null&&e!==0){t=N(e)+1;var n=Q(t);P(e,y,n,t),t=n}return t},array:e=>{var t=Q(e.length);return v.set(e,t),t}};e=s[`_`+e];var a=[],o=0;if(r)for(var c=0;c<r.length;c++){var l=i[n[c]];l?(o===0&&(o=zt()),a[c]=l(r[c])):a[c]=r[c]}return n=e(...a),n=function(e){return o!==0&&Rt(o),t===`string`?j(e):t===`boolean`?!!e:e}(n)},kt=e=>{var t=N(e)+1,n=Ft(t);return n&&P(e,y,n,t),n},Y,At=[],X=e=>{Y.delete($.get(e)),$.set(e,null),At.push(e)},jt=e=>{let t=e.length;return[t%128|128,t>>7,...e]},Mt={i:127,p:127,j:126,f:125,d:124,e:111},Nt=e=>jt(Array.from(e,e=>Mt[e])),Pt=(e,t)=>{if(!Y){Y=new WeakMap;var n=$.length;if(Y)for(var r=0;r<0+n;r++){var i=$.get(r);i&&Y.set(i,r)}}if(n=Y.get(e)||0)return n;n=At.length?At.pop():$.grow(1);try{$.set(n,e)}catch(r){if(!(r instanceof TypeError))throw r;t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...jt([1,96,...Nt(t.slice(1)),...Nt(t[0]===`v`?``:t[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),t=new WebAssembly.Module(t),t=new WebAssembly.Instance(t,{e:{f:e}}).exports.f,$.set(n,t)}return Y.set(e,n),n};if(L=Array(4096),et(F,`/`),W(`/tmp`),W(`/home`),W(`/home/web_user`),(function(){W(`/dev`),$e(259,{read:()=>0,write:(e,t,n,r)=>r,Va:()=>0}),rt(`/dev/null`,259),Oe(1280,Ae),Oe(1536,je),rt(`/dev/tty`,1280),rt(`/dev/tty1`,1536);var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(we(e),t=e.byteLength),e[--t]);K(`random`,n),K(`urandom`,n),W(`/dev/shm`),W(`/dev/shm/tmp`)})(),(function(){W(`/proc`);var e=W(`/proc/self`);W(`/proc/self/fd`),et({Xa(){var t=We(e,`fd`,16895,73);return t.Ma={Va:F.Ma.Va},t.La={lookup(e,t){e=+t;var n=U(e);return e={parent:null,Xa:{zb:`fake`},La:{readlink:()=>n.path},id:e+1},e.parent=e},readdir(){return Array.from(I.entries()).filter(([,e])=>e).map(([e])=>e.toString())}},t}},`/proc/self/fd`)})(),s.noExitRuntime&&(O=s.noExitRuntime),s.print&&(re=s.print),s.printErr&&(h=s.printErr),s.wasmBinary&&(g=s.wasmBinary),s.thisProgram&&(ee=s.thisProgram),s.preInit)for(typeof s.preInit==`function`&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.shift()();s.stackSave=()=>zt(),s.stackRestore=e=>Rt(e),s.stackAlloc=e=>Q(e),s.cwrap=(e,t,n,r)=>{var i=!n||n.every(e=>e===`number`||e===`boolean`);return t!==`string`&&i&&!r?s[`_`+e]:(...r)=>Ot(e,t,n,r)},s.addFunction=Pt,s.removeFunction=X,s.UTF8ToString=j,s.stringToNewUTF8=kt,s.writeArrayToMemory=(e,t)=>{v.set(e,t)};var Ft,Z,It,Lt,Rt,Q,zt,Bt,$,Vt={a:(e,t,n,r)=>w(`Assertion failed: ${j(e)}, at: `+[t?j(t):`unknown filename`,n,r?j(r):`unknown function`]),i:function(e,t){try{return e=j(e),lt(e,t),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},L:function(e,t,n){try{if(t=j(t),t=J(e,t),n&-8)return-28;var r=z(t,{$a:!0}).node;return r?(e=``,n&4&&(e+=`r`),n&2&&(e+=`w`),n&1&&(e+=`x`),e&&H(r,e)?-2:0):-44}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},j:function(e,t){try{var n=U(e);return ct(n,n.node,t,!1),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},h:function(e){try{var t=U(e);return Ze(t,t.node,{timestamp:Date.now(),Fb:!1}),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},b:function(e,t,n){_t=n;try{var r=U(e);switch(t){case 0:var i=vt();if(0>i)break;for(;I[i];)i++;return Xe(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:return i=vt(),r.flags|=i,0;case 12:return i=vt(),b[i+0>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},g:function(e,t){try{var n=U(e),r=n.node,i=n.Ma.Ta;return e=i?n:r,i??=r.La.Ta,Je(i),gt(t,i(e))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},H:function(e,t){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return-61;var n=U(e);if(0>t||!(n.flags&2097155))throw new R(28);return ut(n,n.node,t),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},G:function(e,t){try{if(t===0)return-28;var n=N(`/`)+1;return t<n?-68:(P(`/`,y,e,t),n)}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},K:function(e,t){try{return e=j(e),gt(t,st(e,!0))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},C:function(e,t,n){try{return t=j(t),t=J(e,t),W(t,n),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},J:function(e,t,n,r){try{t=j(t);var i=r&256;return t=J(e,t,r&4096),gt(n,i?st(t,!0):st(t))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},x:function(e,t,n,r){_t=r;try{t=j(t),t=J(e,t);var i=r?vt():0;return G(t,n,i).fd}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},v:function(e,t,n,r){try{if(t=j(t),t=J(e,t),0>=r)return-28;var i=z(t).node;if(!i)throw new R(44);if(!i.La.readlink)throw new R(28);var a=i.La.readlink(i),o=Math.min(r,N(a)),s=v[n+o];return P(a,y,n,r+1),v[n+o]=s,o}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},u:function(e){try{return e=j(e),at(e),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},f:function(e,t){try{return e=j(e),gt(t,st(e))}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},r:function(e,t,n){try{if(t=j(t),t=J(e,t),n)if(n===512)at(t);else return-28;else ot(t);return 0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},q:function(e,t,n){try{t=j(t),t=J(e,t,!0);var r=Date.now(),i,a;if(n){var o=S[n>>2]+4294967296*x[n+4>>2],s=x[n+8>>2];i=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6,n+=16,o=S[n>>2]+4294967296*x[n+4>>2],s=x[n+8>>2],a=s==1073741823?r:s==1073741822?null:1e3*o+s/1e6}else a=i=r;if((a??i)!==null){e=i;var c=z(t,{$a:!0}).node;Je(c.La.Ua)(c,{atime:e,mtime:a})}return 0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},m:()=>w(``),l:()=>{O=!1,yt=0},A:function(e,t){e=-9007199254740992>e||9007199254740992<e?NaN:Number(e),e=new Date(1e3*e),x[t>>2]=e.getSeconds(),x[t+4>>2]=e.getMinutes(),x[t+8>>2]=e.getHours(),x[t+12>>2]=e.getDate(),x[t+16>>2]=e.getMonth(),x[t+20>>2]=e.getFullYear()-1900,x[t+24>>2]=e.getDay();var n=e.getFullYear();x[t+28>>2]=(n%4!=0||n%100==0&&n%400!=0?xt:bt)[e.getMonth()]+e.getDate()-1|0,x[t+36>>2]=-(60*e.getTimezoneOffset()),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();x[t+32>>2]=(n!=r&&e.getTimezoneOffset()==Math.min(r,n))|0},y:function(e,t,n,r,i,a,o){i=-9007199254740992>i||9007199254740992<i?NaN:Number(i);try{var s=U(r);if(t&2&&!(n&2)&&(s.flags&2097155)!=2||(s.flags&2097155)==1)throw new R(2);if(!s.Ma.ib)throw new R(43);if(!e)throw new R(28);var c=s.Ma.ib(s,e,i,t,n),l=c.Kb;return x[a>>2]=c.Ab,S[o>>2]=l,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},z:function(e,t,n,r,i,a){a=-9007199254740992>a||9007199254740992<a?NaN:Number(a);try{var o=U(i);if(n&2){if(n=a,(o.node.mode&61440)!=32768)throw new R(43);if(!(r&2)){var s=y.slice(e,e+t);o.Ma.jb&&o.Ma.jb(o,s,n,t,r)}}}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return-e.Pa}},n:(e,t)=>(St[e]&&(clearTimeout(St[e].id),delete St[e]),t&&(St[e]={id:setTimeout(()=>{delete St[e],wt(()=>Lt(e,performance.now()))},t),Xb:t}),0),B:(e,t,n,r)=>{var i=new Date().getFullYear(),a=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset(),S[e>>2]=60*Math.max(a,i),x[t>>2]=Number(a!=i),t=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`},e=t(a),t=t(i),i<a?(P(e,y,n,17),P(t,y,r,17)):(P(e,y,r,17),P(t,y,n,17))},d:()=>Date.now(),s:()=>2147483648,c:()=>performance.now(),o:e=>{var t=y.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);a:{r=(Math.min(2147483648,65536*Math.ceil(Math.max(e,r)/65536))-Bt.buffer.byteLength+65535)/65536|0;try{Bt.grow(r),ce();var i=1;break a}catch{}i=void 0}if(i)return!0}return!1},E:(e,t)=>{var n=0,r=0,i;for(i of Et()){var a=t+n;S[e+r>>2]=a,n+=P(i,y,a,1/0)+1,r+=4}return 0},F:(e,t)=>{var n=Et();S[e>>2]=n.length,e=0;for(var r of n)e+=N(r)+1;return S[t>>2]=e,0},e:function(e){try{return dt(U(e)),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},p:function(e,t){try{var n=U(e);return v[t]=n.tty?2:V(n.mode)?3:(n.mode&61440)==40960?7:4,b[t+2>>1]=0,C[t+8>>3]=BigInt(0),C[t+16>>3]=BigInt(0),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},w:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=S[e>>2],c=S[e+4>>2];e+=8;var l=pt(i,v,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return S[r>>2]=u,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},D:function(e,t,n,r){t=-9007199254740992>t||9007199254740992<t?NaN:Number(t);try{if(isNaN(t))return 61;var i=U(e);return ft(i,t,n),C[r>>3]=BigInt(i.position),i.pb&&t===0&&n===0&&(i.pb=null),0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},I:function(e){try{var t=U(e);return t.Ma?.fsync?.(t)}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},t:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=S[e>>2],c=S[e+4>>2];e+=8;var l=mt(i,v,s,c,a);if(0>l){var u=-1;break a}if(t+=l,l<c)break;a!==void 0&&(a+=l)}u=t}return S[r>>2]=u,0}catch(e){if(q===void 0||e.name!==`ErrnoError`)throw e;return e.Pa}},k:Ct};function Ht(){function e(){if(s.calledRun=!0,!ie){if(!s.noFSInit&&!Ie){var e,t;Ie=!0,e??=s.stdin,t??=s.stdout,n??=s.stderr,e?K(`stdin`,e):it(`/dev/tty`,`/dev/stdin`),t?K(`stdout`,null,t):it(`/dev/tty`,`/dev/stdout`),n?K(`stderr`,null,n):it(`/dev/tty1`,`/dev/stderr`),G(`/dev/stdin`,0),G(`/dev/stdout`,1),G(`/dev/stderr`,1)}if(Ut.N(),Le=!1,s.onRuntimeInitialized?.(),s.postRun)for(typeof s.postRun==`function`&&(s.postRun=[s.postRun]);s.postRun.length;){var n=s.postRun.shift();he.push(n)}me(he)}}if(0<T)E=Ht;else{if(s.preRun)for(typeof s.preRun==`function`&&(s.preRun=[s.preRun]);s.preRun.length;)_e();me(ge),0<T?E=Ht:s.setStatus?(s.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>s.setStatus(``),1),e()},1)):e()}}var Ut;return(async function(){function e(e){return e=Ut=e.exports,s._sqlite3_free=e.P,s._sqlite3_value_text=e.Q,s._sqlite3_prepare_v2=e.R,s._sqlite3_step=e.S,s._sqlite3_reset=e.T,s._sqlite3_exec=e.U,s._sqlite3_finalize=e.V,s._sqlite3_column_name=e.W,s._sqlite3_column_text=e.X,s._sqlite3_column_type=e.Y,s._sqlite3_errmsg=e.Z,s._sqlite3_clear_bindings=e._,s._sqlite3_value_blob=e.$,s._sqlite3_value_bytes=e.aa,s._sqlite3_value_double=e.ba,s._sqlite3_value_int=e.ca,s._sqlite3_value_type=e.da,s._sqlite3_result_blob=e.ea,s._sqlite3_result_double=e.fa,s._sqlite3_result_error=e.ga,s._sqlite3_result_int=e.ha,s._sqlite3_result_int64=e.ia,s._sqlite3_result_null=e.ja,s._sqlite3_result_text=e.ka,s._sqlite3_aggregate_context=e.la,s._sqlite3_column_count=e.ma,s._sqlite3_data_count=e.na,s._sqlite3_column_blob=e.oa,s._sqlite3_column_bytes=e.pa,s._sqlite3_column_double=e.qa,s._sqlite3_bind_blob=e.ra,s._sqlite3_bind_double=e.sa,s._sqlite3_bind_int=e.ta,s._sqlite3_bind_text=e.ua,s._sqlite3_bind_parameter_index=e.va,s._sqlite3_sql=e.wa,s._sqlite3_normalized_sql=e.xa,s._sqlite3_changes=e.ya,s._sqlite3_close_v2=e.za,s._sqlite3_create_function_v2=e.Aa,s._sqlite3_update_hook=e.Ba,s._sqlite3_open=e.Ca,Ft=s._malloc=e.Da,Z=s._free=e.Ea,s._RegisterExtensionFunctions=e.Fa,It=e.Ga,Lt=e.Ha,Rt=e.Ia,Q=e.Ja,zt=e.Ka,Bt=e.M,$=e.O,ce(),T--,s.monitorRunDependencies?.(T),T==0&&E&&(e=E,E=null,e()),Ut}T++,s.monitorRunDependencies?.(T);var t={a:Vt};return s.instantiateWasm?new Promise(n=>{s.instantiateWasm(t,(t,r)=>{n(e(t,r))})}):(le??=s.locateFile?s.locateFile(`sql-wasm.wasm`,d):d+`sql-wasm.wasm`,e((await fe(t)).instance))})(),Ht(),a}),r)};typeof e==`object`&&typeof n==`object`?(n.exports=i,n.exports.default=i):typeof define==`function`&&define.amd?define([],function(){return i}):typeof e==`object`&&(e.Module=i)}));export default n();