sliccy 6.78.2 → 6.78.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node-server/cloud-status.d.ts +9 -0
- package/dist/node-server/cloud-status.js +9 -1
- package/dist/ui/.vite/manifest.json +144 -144
- package/dist/ui/assets/{account-store-DmnIQnOq.js → account-store-BGQKuzDl.js} +1 -1
- package/dist/ui/assets/{account-store-BXyAP1jx.js → account-store-pn6zPO8L.js} +1 -1
- package/dist/ui/assets/{adobe-C520oDwm.js → adobe-0b0FyQ4t.js} +1 -1
- package/dist/ui/assets/{adobe-DWPOa_fy.js → adobe-CN5aT0Hm.js} +1 -1
- package/dist/ui/assets/{apply-layout-lsmVXh66.js → apply-layout-HmLIE6Fq.js} +1 -1
- package/dist/ui/assets/{apps-CEpDr1je.js → apps-I_Hftz3u.js} +1 -1
- package/dist/ui/assets/azure-openai-DEv42QV2.js +18 -0
- package/dist/ui/assets/azure-openai-DWBbWCd4.js +18 -0
- package/dist/ui/assets/{browser-BAL8RehA.js → browser-2rCVqcqy.js} +1 -1
- package/dist/ui/assets/{cerebras-Dy_MbrIF.js → cerebras-CDI0WlFj.js} +1 -1
- package/dist/ui/assets/{cerebras-BbhUR95Q.js → cerebras-CFX18XnN.js} +1 -1
- package/dist/ui/assets/{connect-surface-rBqIwDr2.js → connect-surface-rEUllVWn.js} +1 -1
- package/dist/ui/assets/dist-DTAqvnM4.js +18 -0
- package/dist/ui/assets/{ensure-speech-assets-DDGWBTuw.js → ensure-speech-assets-DvFwJX-M.js} +1 -1
- package/dist/ui/assets/es-BDNIRkLU.js +51 -0
- package/dist/ui/assets/esptool-operations-BmdosN6N.js +13 -0
- package/dist/ui/assets/{esptool-operations-CDJhOTdU.js → esptool-operations-CbgLIJzi.js} +4 -4
- package/dist/ui/assets/{fs-adIt_XFC.js → fs-BvmOuuoW.js} +1 -1
- package/dist/ui/assets/{fs-3lYdC1rZ.js → fs-CI_ZlElB.js} +2 -2
- package/dist/ui/assets/{github-CSrB6hbA.js → github-Bo4jDClo.js} +2 -2
- package/dist/ui/assets/{github-Dc5rGVwG.js → github-DNLbMiVA.js} +1 -1
- package/dist/ui/assets/{github-copilot-J_gQzQT9.js → github-copilot-Dx3c4O5S.js} +1 -1
- package/dist/ui/assets/{github-copilot-CgOv9kw0.js → github-copilot-pln7MB1l.js} +1 -1
- package/dist/ui/assets/{github-install-BS41pGSA.js → github-install-C1Vx1uEa.js} +1 -1
- package/dist/ui/assets/{github-zip-Dxpyz8P0.js → github-zip-CyX68PXI.js} +1 -1
- package/dist/ui/assets/icons-ZLR7gmJ4.js +1 -0
- package/dist/ui/assets/{installer-CyaKvN2m.js → installer-DW4F27JY.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-DwpZHmtu.js → js-realm-worker-CpNvOdHA.js} +4 -4
- package/dist/ui/assets/{kernel-worker-Du5lh_0e.js → kernel-worker-DD60flli.js} +33 -33
- package/dist/ui/assets/{local-llm-BplnhsX-.js → local-llm-DY1O3RRo.js} +1 -1
- package/dist/ui/assets/{local-llm-plHVku6d.js → local-llm-ZBxUzjwf.js} +1 -1
- package/dist/ui/assets/{main-BFWKnJJJ.js → main-BLjMDAZ9.js} +3 -3
- package/dist/ui/assets/{mount-D0Vgd-wF.js → mount-C8bUvuZA.js} +1 -1
- package/dist/ui/assets/{mount-C6fmWLuE.js → mount-NNJyHClO.js} +2 -2
- package/dist/ui/assets/{mount-recovery-DmYIAbGj.js → mount-recovery-CI0iiIR0.js} +1 -1
- package/dist/ui/assets/{new-session-BYMjF6Ei.js → new-session-BASFfWQC.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-CQk8eaRB.js → oauth-bootstrap-DMKbXT_F.js} +2 -2
- package/dist/ui/assets/{openai-codex-icr5Ntu8.js → openai-codex-BZa-7DlZ.js} +1 -1
- package/dist/ui/assets/{openai-codex-CU_y4U5i.js → openai-codex-Br1aqoPY.js} +1 -1
- package/dist/ui/assets/{openrouter-BwY6L2_X.js → openrouter-CDG7fyzJ.js} +1 -1
- package/dist/ui/assets/{openrouter-DtEyWQqf.js → openrouter-OT71uTol.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-D8Bppnk_.js → openrouter-oauth-C6zJTCRA.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CvEqnu4k.js → openrouter-oauth-C95QCeKB.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-Cfz4dn61.js → panel-rpc-handlers-DQeANScD.js} +2 -2
- package/dist/ui/assets/{panelize-shell-BZuH5tPw.js → panelize-shell-BiuM5F3-.js} +1 -1
- package/dist/ui/assets/pdfjs-BspLIDsM.js +100 -0
- package/dist/ui/assets/{provider-wpT11SFh.js → provider-C9IU1SbF.js} +2 -2
- package/dist/ui/assets/{provider-OyNbvROp.js → provider-CXe1BnDL.js} +1 -1
- package/dist/ui/assets/{provider-settings-D0zUY30F.js → provider-settings-99Tri08Y.js} +1 -1
- package/dist/ui/assets/{provider-settings-Cm42H-H2.js → provider-settings-DLvGo5VB.js} +1 -1
- package/dist/ui/assets/{provider-store-access-C6SHregi.js → provider-store-access-D94TwJkZ.js} +2 -2
- package/dist/ui/assets/provider-store-access-DNaFuRvk.js +1 -0
- package/dist/ui/assets/{providers-DNYv_6eS.js → providers-BmGjtX4o.js} +2 -2
- package/dist/ui/assets/{providers-c5mygwUs.js → providers-CaiKfE0x.js} +1 -1
- package/dist/ui/assets/{quick-llm-C7M0ga7E.js → quick-llm-BjCkgpHJ.js} +1 -1
- package/dist/ui/assets/{recovery-screen-IAE-MvUV.js → recovery-screen-C8kmb4Oe.js} +1 -1
- package/dist/ui/assets/{redirect-uri-NVOhGTXE.js → redirect-uri-D-JXog5O.js} +1 -1
- package/dist/ui/assets/{session-freezer-fGtn52OY.js → session-freezer-CxY3xdQv.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-DWGfRuUu.js → setup-feature-flags-remote-WzuCVuD3.js} +1 -1
- package/dist/ui/assets/{setup-standalone-prelude-CKGx__Cx.js → setup-standalone-prelude-DfSbiyNk.js} +1 -1
- package/dist/ui/assets/{setup-sudo-Dg3vUbkf.js → setup-sudo-BR7SvT6r.js} +2 -2
- package/dist/ui/assets/{skills-5FxoCQJ6.js → skills-Dp0SGPwK.js} +1 -1
- package/dist/ui/assets/slicc-version-CvHoW36c.js +1 -0
- package/dist/ui/assets/{sprinkle-manager-BMj0BniN.js → sprinkle-manager-2UUakPAV.js} +1 -1
- package/dist/ui/assets/src-Cj-AoUM3.js +2 -0
- package/dist/ui/assets/{src-jZxFomYR.js → src-DDn9o2XK.js} +1 -1
- package/dist/ui/assets/{store-DoGFCSZp.js → store-BJu3vCG-.js} +1 -1
- package/dist/ui/assets/{store-DhUl0l62.js → store-BMquWJfv.js} +1 -1
- package/dist/ui/assets/{sudo-CWBR9fWj.js → sudo-22HJuKev.js} +1 -1
- package/dist/ui/assets/{sync-dialog-BXZHMjrc.js → sync-dialog-ACgl0n-p.js} +1 -1
- package/dist/ui/assets/{telemetry-DeLkquP_.js → telemetry-BVzuNdvW.js} +1 -1
- package/dist/ui/assets/{telemetry-BugxTkxX.js → telemetry-BwapcULJ.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-lMNqZP1C.js → upgrade-detection-CQFrSKSr.js} +1 -1
- package/dist/ui/assets/{wc-attach-C4L2GyF0.js → wc-attach-BsqldTbU.js} +2 -2
- package/dist/ui/assets/{wc-extension-De6gkHcE.js → wc-extension-KeHVc-Qf.js} +2 -2
- package/dist/ui/assets/{wc-follower-B1faH8Q0.js → wc-follower-a0UvbkNV.js} +3 -3
- package/dist/ui/assets/{wc-live-f3F9MnLg.js → wc-live-Ca4TSsU-.js} +5 -5
- package/dist/ui/assets/{wc-nav-BTOY5z8O.js → wc-nav-DJXR7yu7.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-BBGyy5eB.js → wc-onboarding-Dr5gwtbv.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-D61OJQeT.js → wc-placeholder-CWmMPVIU.js} +2 -2
- package/dist/ui/assets/{wc-settings-DJKVlhfA.js → wc-settings-D6obaPTW.js} +2 -2
- package/dist/ui/assets/wc-shell-CSYqssCx.js +119 -0
- package/dist/ui/assets/{wc-sprinkles-D5eTbiqv.js → wc-sprinkles-DXnNTQJk.js} +2 -2
- package/dist/ui/assets/{wc-tray-FIF4Qzb3.js → wc-tray-B2Gv2dCO.js} +2 -2
- package/dist/ui/assets/{xai-grok-Dzb_ibzT.js → xai-grok-CHgtXAXT.js} +1 -1
- package/dist/ui/assets/{xai-grok-Bu7EH_7e.js → xai-grok-O05b7Lrc.js} +1 -1
- package/dist/ui/index.html +7 -7
- package/dist/ui/lucide-icons.js +1788 -1707
- package/dist/ui/packages/webapp/index.html +7 -7
- package/package.json +10 -10
- package/dist/ui/assets/azure-openai-CFa7gqVY.js +0 -18
- package/dist/ui/assets/azure-openai-Zl50fQ_S.js +0 -18
- package/dist/ui/assets/dist-CZvQ4trc.js +0 -15
- package/dist/ui/assets/es-D8T2ybXa.js +0 -53
- package/dist/ui/assets/esptool-operations-3FBbK-fD.js +0 -13
- package/dist/ui/assets/icons-DtQGhvkp.js +0 -1
- package/dist/ui/assets/pdfjs-CRuE4vGw.js +0 -54
- package/dist/ui/assets/provider-store-access-BUWYgIzq.js +0 -1
- package/dist/ui/assets/slicc-version-By1hy77P.js +0 -1
- package/dist/ui/assets/src-C9oNvq2b.js +0 -2
- package/dist/ui/assets/wc-shell-CfTIPiAH.js +0 -117
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e,t}from"./browser-
|
|
1
|
+
import{n as e,t}from"./browser-2rCVqcqy.js";import{D as n,E as r,T as i,w as a}from"./shared-DqziuFis.js";const o=`https://${[`huggingface`,`co`].join(`.`)}`;function s(e){let t=e?.trim();if(!t)return o;try{let e=new URL(t);return e.protocol!==`http:`&&e.protocol!==`https:`?o:e.href.replace(/\/+$/,``)}catch{return o}}function c(e,t,n){return`${e}/api/models/${t}/tree/${n}?recursive=true`}function l(e,t,n,r){return`${e}/${t}/resolve/${n}/${r}`}function u(e){try{return new URL(e).host}catch{return e}}async function d(e,t,n){try{return await e(t,n)}catch(e){let n=e instanceof Error?e.message:String(e);throw Error(`request to ${u(t)} failed (${n}); check the bridge fetch-proxy is reachable`)}}async function f(e,t,n,r=o){let i=await d(e,c(r,t,n),{method:`GET`});if(i.status<200||i.status>=300)throw Error(`HF API ${i.status} ${i.statusText} for ${t}@${n}`);let a=new TextDecoder(`utf-8`).decode(i.body);return JSON.parse(a).filter(e=>e.type===`file`).map(e=>({path:e.path,size:typeof e.size==`number`?e.size:0}))}async function p(e,t){let n=t.lastIndexOf(`/`);if(n<=0)return;let r=t.slice(0,n);await e.mkdir(r,{recursive:!0})}async function m(e,t,n,r,i,a,o,s,c){let u=`${a}/${i}`;if(!o&&await t.exists(u))try{let e=await t.stat(u);if(c===void 0||c<=0||e.size===c)return{status:`skipped`,bytes:e.size??0}}catch{}let f=await d(e,l(s,n,r,i),{method:`GET`});if(f.status<200||f.status>=300)throw Error(`HTTP ${f.status} ${f.statusText} for ${i}`);return await p(t,u),await t.writeFile(u,f.body),{status:`downloaded`,bytes:f.body.byteLength}}function h(e,t,n){let r=t??`/workspace/models/${e}`;return(r.startsWith(`/`)?r:`${n.replace(/\/+$/,``)}/${r}`).replace(/\/+$/,``)}var g=class extends Error{file;constructor(e,t){super(t instanceof Error?t.message:String(t)),this.name=`HfFileDownloadError`,this.file=e}};async function _(e){let t=e.revision??`main`,n=e.force??!1,r=s(e.endpoint),i=e.files??[],a=new Map;if(i.length===0){let n=await f(e.fetch,e.repo,t,r);if(n.length===0)throw Error(`repo ${e.repo}@${t} has no files`);i=n.map(e=>e.path);for(let e of n)a.set(e.path,e.size);let o=n.reduce((e,t)=>e+t.size,0);e.progress?.onListed?.({files:i,totalBytes:o})}await e.fs.mkdir(e.targetDir,{recursive:!0});let o=0,c=0,l=0;for(let s=0;s<i.length;s++){let u=i[s],d;try{d=await m(e.fetch,e.fs,e.repo,t,u,e.targetDir,n,r,a.get(u))}catch(e){throw new g(u,e)}l+=d.bytes,d.status===`downloaded`?o+=1:c+=1,e.progress?.onFile?.({file:u,status:d.status,bytes:d.bytes,index:s+1,total:i.length})}return{repo:e.repo,revision:t,targetDir:e.targetDir,files:i,downloaded:o,skipped:c,totalBytes:l}}const ee={0:`file`,1:`hardLink`,2:`symbolicLink`,3:`characterDevice`,4:`blockDevice`,5:`directory`,6:`fifo`,7:`contiguousFile`,g:`globalExtendedHeader`,x:`extendedHeader`,D:`gnuDirectory`,I:`gnuInodeMetadata`,K:`gnuLongLinkName`,L:`gnuLongFileName`,N:`gnuOldLongFileName`,M:`gnuMultiVolume`,S:`gnuSparseFile`,E:`gnuExtendedSparse`,A:`solarisAcl`,V:`solarisVolumeLabel`,X:`solarisOldExtendedHeader`};function v(e,t){let n=e.buffer||e,r=[],i=0,a,o;for(;i<n.byteLength-512;){let e=y(n,i,100);if(e.length===0)break;if(a){let t=a.path||a.linkpath;t&&(e=t)}let s=y(n,i+100,8).trim(),c=Number.parseInt(y(n,i+108,8)),l=Number.parseInt(y(n,i+116,8)),u=b(n,i+124,12),d=512+512*Math.trunc(u/512)+(u%512?512:0),f=b(n,i+136,12),p=y(n,i+156,1)||`0`,m=ee[p]||p;switch(m){case`extendedHeader`:case`globalExtendedHeader`:{let e=x(new Uint8Array(n,i+512,u));m===`extendedHeader`?a=e:(a=void 0,o={...o,...e}),i+=d;continue}case`gnuLongFileName`:case`gnuOldLongFileName`:case`gnuLongLinkName`:a={path:y(n,i+512,u)},i+=d;continue}let h=y(n,i+265,32),g=y(n,i+297,32);e=te(e);let _={name:e,type:m,size:u,attrs:{...o,...a,mode:s,uid:c,gid:l,mtime:f,user:h,group:g}};if(a=void 0,t?.filter&&!t.filter(_)){i+=d;continue}if(t?.metaOnly){r.push(_),i+=d;continue}let v=u===0?void 0:new Uint8Array(n,i+512,u);r.push({..._,data:v,get text(){return new TextDecoder().decode(this.data)}}),i+=d}return r}function te(e){let t=e.replace(/\\/g,`/`);t=t.replace(/^[a-zA-Z]:\//,``),t=t.replace(/^\/+/,``);let n=t.startsWith(`./`),r=t.split(`/`),i=[];for(let e of r)e===`..`?i.pop():e!==`.`&&e!==``&&i.push(e);let a=i.join(`/`);return n&&!a.startsWith(`./`)&&(a=`./`+a),e.endsWith(`/`)&&!a.endsWith(`/`)&&(a+=`/`),a}function y(e,t,n){let r=new Uint8Array(e,t,n),i=r.indexOf(0);return new TextDecoder().decode(i===-1?r:r.slice(0,i))}function b(e,t,n){let r=new Uint8Array(e,t,n),i=``;for(let e=0;e<n;e++)i+=String.fromCodePoint(r[e]);return Number.parseInt(i,8)}function x(e){let t=new TextDecoder().decode(e),n={};for(let e of t.split(`
|
|
2
2
|
`)){let t=e.split(` `)[1]?.split(`=`);t&&(n[t[0]]=t[1])}return n}function S(e,t={}){let n=e.map(e=>{let t=T(e.data);return{...e,data:t,size:t?.length||0}}),r=0;for(let t=0;t<e.length;t++){let e=n[t].data?.length??0;r+=512+512*Math.trunc(e/512),e%512&&(r+=512)}let i=10240*Math.trunc(r/10240);r%10240&&(i+=10240);let a=new ArrayBuffer(i),o=0;for(let e of n){let n=!e.data;C(a,e.name,o,100),C(a,w(e.attrs?.mode??t.attrs?.mode??(n?`775`:`664`),7),o+100,8),C(a,w((e.attrs?.uid??t.attrs?.uid??1e3).toString(8),7),o+108,8),C(a,w((e.attrs?.gid??t.attrs?.gid??1e3).toString(8),7),o+116,8),C(a,w(e.size.toString(8),11),o+124,12);let r=e.attrs?.mtime??t.attrs?.mtime??Date.now();C(a,w(Math.trunc(r/1e3).toString(8),11),o+136,12),C(a,n?`5`:`0`,o+156,1),C(a,`ustar`,o+257,6),C(a,`00`,o+263,2),C(a,e.attrs?.user??t.attrs?.user??``,o+265,32),C(a,e.attrs?.group??t.attrs?.group??``,o+297,32),C(a,` `,o+148,8);let i=new Uint8Array(a,o,512),s=0;for(let e=0;e<512;e++)s+=i[e];if(C(a,s.toString(8),o+148,8),!n){let t=new Uint8Array(a,o+512,e.size);for(let n=0;n<e.size;n++)t[n]=e.data[n];o+=512*Math.trunc(e.size/512),e.size%512&&(o+=512)}o+=512}return new Uint8Array(a)}function C(e,t,n,r){let i=new Uint8Array(e,n,r),a=new TextEncoder().encodeInto(t,i).written;for(let e=a;e<r;e++)i[e]=0}function w(e,t){return String(e).padStart(t,`0`)}function T(e){if(e!=null)return typeof e==`string`?new TextEncoder().encode(e):e instanceof ArrayBuffer?new Uint8Array(e):e}function E(e){return e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e:new Uint8Array(e)}function D(e){if(!(e instanceof Uint8Array))throw Error(`gunzip: input must be a Uint8Array`);if(e.length<18||e[0]!==31||e[1]!==139)throw Error(`gunzip: input is not a valid gzip stream (bad magic)`);try{return t(e)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`gunzip: failed to decompress (${t})`)}}function O(t){if(!(t instanceof Uint8Array))throw Error(`gzip: input must be a Uint8Array`);try{return e(t)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`gzip: failed to compress (${t})`)}}function k(e){if(!Array.isArray(e))throw Error(`writeTar: entries must be an array`);try{return S(e.map(e=>({name:e.path,...e.directory?{}:{data:e.bytes}})))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`writeTar: failed to create tar archive (${t})`)}}function A(e){return e.startsWith(`package/`)?e.slice(8):e}function j(e,t,n){let r=new Uint8Array(e,t,n),i=r.indexOf(0);return new TextDecoder().decode(i===-1?r:r.subarray(0,i))}function M(e,t,n){let r=new Uint8Array(e,t,n),i=``;for(let e=0;e<n;e++)i+=String.fromCodePoint(r[e]);return Number.parseInt(i,8)}function N(e,t,n){let r=new TextDecoder().decode(new Uint8Array(e,t,n)),i,a;for(let e of r.split(`
|
|
3
3
|
`)){let t=e.split(` `)[1]?.split(`=`);t&&(t[0]===`path`?i=t[1]:t[0]===`linkpath`&&(a=t[1]))}return i||a}function ne(e){let t=e.replace(/\\/g,`/`);t=t.replace(/^[a-zA-Z]:\//,``),t=t.replace(/^\/+/,``);let n=t.startsWith(`./`),r=t.split(`/`),i=[];for(let e of r)e===`..`?i.pop():e!==`.`&&e!==``&&i.push(e);let a=i.join(`/`);return n&&!a.startsWith(`./`)&&(a=`./`+a),e.endsWith(`/`)&&!a.endsWith(`/`)&&(a+=`/`),a}function re(e,t){let n=e.buffer,r=[],i=0,a;for(;i<n.byteLength-512;){let e=j(n,i,100);if(e.length===0)break;let o=M(n,i+124,12),s=512+512*Math.trunc(o/512)+(o%512?512:0),c=j(n,i+156,1)||`0`;if(c===`x`||c===`g`){a=c===`x`?N(n,i+512,o):void 0,i+=s;continue}if(c===`L`||c===`N`||c===`K`){a=j(n,i+512,o),i+=s;continue}let l;if(a)l=a;else{let t=j(n,i+345,155);l=t.length>0?`${t}/${e}`:e}r.push(t?l:ne(l)),a=void 0,i+=s}return r}function P(e,t={}){if(!(e instanceof Uint8Array))throw Error(`readTar: input must be a Uint8Array`);let n=E(e),r;try{r=v(n)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`readTar: failed to parse tar archive (${t})`)}let i=t.stripNpmPrefix??!0,a=t.includeDirectories??!1,o=re(n,t.preserveRawPaths??!1),s=o.length===r.length;if(t.preserveRawPaths&&!s)throw Error(`readTar: raw path resolution did not align with archive entries`);let c=[];return r.forEach((e,t)=>{let n=e.type===`directory`;if(!n&&e.type!==`file`&&e.type!==`contiguousFile`||n&&!a)return;let r=s?o[t]:e.name;c.push({path:i?A(r):r,bytes:e.data?e.data.slice():new Uint8Array,...n?{directory:!0}:{}})}),c}function ie(e){let t=(e??``).trim();if(!t)throw Error(`ipk: package spec is required`);if(t.startsWith(`@`)){let e=t.indexOf(`/`);if(e===-1)throw Error(`ipk: scoped spec '${t}' is missing a name (expected @scope/name)`);let n=t.slice(e+1),r=n.indexOf(`@`),i=t.slice(0,e);return r===-1?{name:`${i}/${n}`,range:``}:{name:`${i}/${n.slice(0,r)}`,range:n.slice(r+1)}}let n=t.indexOf(`@`);return n===-1?{name:t,range:``}:{name:t.slice(0,n),range:t.slice(n+1)}}function F(e,...t){return`/${[e,...t].join(`/`).split(`/`).filter(e=>e.length>0).join(`/`)}`}function I(e,t){if(t.startsWith(`@`)){let[n,r]=t.split(`/`,2);return F(e,n,r)}return F(e,t)}async function L(e,t){await e.mkdir(t,{recursive:!0})}async function R(e,t){await e.exists(t)&&await e.rm(t,{recursive:!0})}function z(e){return`^${e}`}function B(e,t){let n=e.range.trim();return n===``||n===`*`||n===`latest`||/^[A-Za-z][A-Za-z0-9_-]*$/.test(n)?z(t):n}async function V(e,t,n){for(let r of n){if(!r.path)continue;let n=r.path.replace(/\\/g,`/`).replace(/^\/+/,``);if(n.split(`/`).some(e=>e===`..`))throw Error(`installer: refusing to extract entry escaping package root: ${r.path}`);let i=F(t,n),a=i.lastIndexOf(`/`);a>0&&await L(e,i.slice(0,a)),await e.writeFile(i,r.bytes)}}async function H(e,t,n){if(!await e.exists(t))return n;let r;try{r=await e.readFile(t)}catch{return n}if(!r?.trim())return n;try{return JSON.parse(r)}catch{return n}}function U(e,t){let n=new Map;return{supplier:async r=>{let a=n.get(r);return a||(a=await i(r,e,{timeoutMs:t}),n.set(r,a),a)},cache:n}}async function W(e,t){let r=[],i=[],a=new Set;for(let o of e){let e;try{e=ie(o)}catch(e){i.push({spec:o,error:G(e)});continue}if(a.has(e.name)){let t=r.findIndex(t=>t.parsed.name===e.name);t>=0&&r.splice(t,1)}try{let r=await t(e.name);n(r,e.range)}catch(e){i.push({spec:o,error:G(e)});continue}r.push({spec:o,parsed:e}),a.add(e.name)}return{directs:r,errors:i}}function G(e){return e instanceof Error?e:Error(String(e))}async function K(e,t,n,i,a){let o=I(t,n.name),s=F(o,`package.json`),c=!1;if(await e.exists(s)&&(await H(e,s,null))?.version===n.version&&(c=!0),!c){let t=P(D(await r(n.resolved,i,{timeoutMs:a})));await R(e,o),await L(e,o);try{await V(e,o,t)}catch(t){throw await R(e,o),t}}let l=Object.keys(n.dependencies);if(l.length>0){let t=F(o,`node_modules`);await L(e,t);for(let r of l)await K(e,t,n.dependencies[r],i,a)}}async function q(e,t,n,r,i){let a=Object.keys(n.root);if(a.length!==0){await L(e,t);for(let o of a)await K(e,t,n.root[o],r,i)}}function J(e){if(e.startsWith(`@`)){let t=e.indexOf(`/`);if(t!==-1)return e.slice(t+1)}return e}function ae(e,t){return typeof e==`string`?{[J(t)]:e}:e}function oe(e){return e.replace(/^\.\//,``).replace(/^\/+/,``)}function se(e){return`#!/usr/bin/env node\nrequire(${JSON.stringify(e)});\n`}async function ce(e,t){let n=[];return await Y(e,t,0,n),n}async function Y(e,t,n,r){if(!await e.exists(t))return;let i;try{i=await e.readDir(t)}catch{return}for(let a of i){if(a.type!==`directory`||a.name===`.bin`)continue;if(a.name.startsWith(`@`)){let i=F(t,a.name),o;try{o=await e.readDir(i)}catch{continue}for(let t of o){if(t.type!==`directory`)continue;let o=`${a.name}/${t.name}`;await X(e,F(i,t.name),o,n,r)}continue}let i=a.name;await X(e,F(t,a.name),i,n,r)}}async function X(e,t,n,r,i){let a=await H(e,F(t,`package.json`),null);if(a?.bin!==void 0&&a.bin!==null){let e=ae(a.bin,n);for(let[a,o]of Object.entries(e))typeof a==`string`&&a.length!==0&&typeof o==`string`&&o.length!==0&&i.push({binName:a,pkgName:n,installDir:t,binPath:o,depth:r})}await Y(e,F(t,`node_modules`),r+1,i)}function Z(e){let t=new Map;for(let n of e){let e=t.get(n.binName);if(!e){t.set(n.binName,n);continue}(n.depth<e.depth||n.depth===e.depth&&n.pkgName<e.pkgName)&&t.set(n.binName,n)}return t}function le(e,t,n){return`..${t.slice(e.length)}/${oe(n)}`}async function Q(e,t){let n=Z(await ce(e,t)),r=F(t,`.bin`);if(await e.exists(r)){let t;try{t=await e.readDir(r)}catch{t=[]}for(let i of t)i.type===`file`&&(n.has(i.name)||await e.rm(F(r,i.name)))}if(n.size!==0){await L(e,r);for(let i of n.values()){let n=F(r,i.binName),a=se(le(t,i.installDir,i.binPath));await e.writeFile(n,a)}}}async function ue(e,t,n){let r=F(t,`package.json`),i=await H(e,r,{}),a={...i},o={...i.dependencies??{}};for(let e of n)o[e.name]=e.range;return a.dependencies=o,await e.writeFile(r,`${JSON.stringify(a,null,2)}\n`),r}async function de(e,t){let{fs:n,fetch:r,cwd:i,timeoutMs:o}=t;if(e.length===0)return{results:[],errors:[]};let{supplier:s}=U(r,o),{directs:c,errors:l}=await W(e,s);if(c.length===0)return{results:[],errors:l};let u={};for(let e of c)u[e.parsed.name]=e.parsed.range;let d=await a({rootDependencies:u,fetchPackument:s}),f=F(i,`node_modules`);await q(n,f,d,r,o),await Q(n,f);let p=await ue(n,i,c.map(e=>{let t=d.root[e.parsed.name];if(!t)throw Error(`installer: resolved node missing for ${e.parsed.name}`);return{name:e.parsed.name,range:B(e.parsed,t.version)}}));return{results:c.map(e=>{let t=d.root[e.parsed.name],n=I(f,e.parsed.name);return{ok:!0,name:e.parsed.name,version:t.version,installPath:n,range:B(e.parsed,t.version),manifestPath:p}}),errors:l}}var $=class extends Error{constructor(e){super(`no package.json found at ${e} (run 'ipk install <pkg>' to create one, or add a package.json)`),this.name=`ManifestNotFoundError`}};function fe(e){let t=new Map,n=e.devDependencies;if(n&&typeof n==`object`)for(let[e,r]of Object.entries(n))typeof e==`string`&&typeof r==`string`&&t.set(e,r);let r=e.dependencies;if(r&&typeof r==`object`)for(let[e,n]of Object.entries(r))typeof e==`string`&&typeof n==`string`&&t.set(e,n);return Array.from(t.entries()).map(([e,t])=>({name:e,range:t}))}async function pe(e){let{fs:t,fetch:r,cwd:i,timeoutMs:o}=e,s=F(i,`package.json`);if(!await t.exists(s))throw new $(s);let c=fe(await H(t,s,{}));if(c.length===0)return{results:[],errors:[],empty:!0};let{supplier:l}=U(r,o),u=[],d=[];for(let e of c)try{let t=await l(e.name);n(t,e.range),u.push(e)}catch(t){d.push({spec:`${e.name}@${e.range}`,error:G(t)})}if(u.length===0)return{results:[],errors:d,empty:!1};let f={};for(let e of u)f[e.name]=e.range;let p=await a({rootDependencies:f,fetchPackument:l}),m=F(i,`node_modules`);return await q(t,m,p,r,o),await Q(t,m),{results:u.map(e=>{let t=p.root[e.name];return t?{ok:!0,name:e.name,version:t.version,installPath:I(m,e.name),range:e.range,manifestPath:s}:null}).filter(e=>e!==null),errors:d,empty:!1}}export{O as a,g as c,D as i,_ as l,pe as n,P as o,de as r,k as s,$ as t,h as u};
|