@visulima/vis 1.0.0-alpha.26 → 1.0.0-alpha.28

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 (116) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE.md +3213 -95
  3. package/README.md +24 -22
  4. package/dist/bin.js +1 -1
  5. package/dist/binx.js +1 -1
  6. package/dist/config/index.d.ts +176 -16
  7. package/dist/packem_chunks/bin.js +468 -364
  8. package/dist/packem_chunks/bloom-status.js +1 -1
  9. package/dist/packem_chunks/bloom-sync.js +1 -1
  10. package/dist/packem_chunks/config.js +15 -15
  11. package/dist/packem_chunks/devtools.js +82 -0
  12. package/dist/packem_chunks/doctor-probe.js +1 -1
  13. package/dist/packem_chunks/fix.js +1 -1
  14. package/dist/packem_chunks/handler10.js +1 -1
  15. package/dist/packem_chunks/handler11.js +1 -1
  16. package/dist/packem_chunks/handler12.js +1 -1
  17. package/dist/packem_chunks/handler13.js +1 -1
  18. package/dist/packem_chunks/handler14.js +8 -9
  19. package/dist/packem_chunks/handler15.js +1 -1
  20. package/dist/packem_chunks/handler16.js +1 -1
  21. package/dist/packem_chunks/handler17.js +1 -1
  22. package/dist/packem_chunks/handler18.js +1 -1
  23. package/dist/packem_chunks/handler19.js +1 -1
  24. package/dist/packem_chunks/handler2.js +1 -1
  25. package/dist/packem_chunks/handler20.js +1 -1
  26. package/dist/packem_chunks/handler21.js +3 -3
  27. package/dist/packem_chunks/handler22.js +1 -1
  28. package/dist/packem_chunks/handler23.js +2 -2
  29. package/dist/packem_chunks/handler24.js +1 -1
  30. package/dist/packem_chunks/handler26.js +1 -1
  31. package/dist/packem_chunks/handler27.js +1 -1
  32. package/dist/packem_chunks/handler28.js +1 -1
  33. package/dist/packem_chunks/handler29.js +1 -1
  34. package/dist/packem_chunks/handler3.js +1 -1
  35. package/dist/packem_chunks/handler30.js +6 -6
  36. package/dist/packem_chunks/handler31.js +1 -1
  37. package/dist/packem_chunks/handler33.js +1 -1
  38. package/dist/packem_chunks/handler34.js +4 -4
  39. package/dist/packem_chunks/handler35.js +3 -22
  40. package/dist/packem_chunks/handler36.js +21 -60
  41. package/dist/packem_chunks/handler37.js +61 -6
  42. package/dist/packem_chunks/handler38.js +3 -24
  43. package/dist/packem_chunks/handler39.js +6 -153
  44. package/dist/packem_chunks/handler4.js +5 -5
  45. package/dist/packem_chunks/handler40.js +24 -10
  46. package/dist/packem_chunks/handler41.js +153 -25
  47. package/dist/packem_chunks/handler42.js +25 -708
  48. package/dist/packem_chunks/handler43.js +10 -24
  49. package/dist/packem_chunks/handler44.js +659 -273
  50. package/dist/packem_chunks/handler45.js +24 -46
  51. package/dist/packem_chunks/handler46.js +322 -3
  52. package/dist/packem_chunks/handler47.js +48 -27
  53. package/dist/packem_chunks/handler48.js +3 -187
  54. package/dist/packem_chunks/handler49.js +23 -30
  55. package/dist/packem_chunks/handler5.js +7 -7
  56. package/dist/packem_chunks/handler50.js +195 -0
  57. package/dist/packem_chunks/handler51.js +34 -0
  58. package/dist/packem_chunks/handler8.js +1 -1
  59. package/dist/packem_chunks/handler9.js +1 -1
  60. package/dist/packem_chunks/heal-accept.js +1 -1
  61. package/dist/packem_chunks/heal.js +1 -1
  62. package/dist/packem_chunks/help-command.js +7 -17
  63. package/dist/packem_chunks/index.js +3 -3
  64. package/dist/packem_chunks/keys-refresh.js +1 -1
  65. package/dist/packem_chunks/list.js +2 -2
  66. package/dist/packem_chunks/loader.js +1 -1
  67. package/dist/packem_chunks/prune.js +1 -1
  68. package/dist/packem_chunks/run.js +1 -1
  69. package/dist/packem_chunks/status.js +1 -1
  70. package/dist/packem_chunks/sync.js +1 -1
  71. package/dist/packem_chunks/sync2.js +1 -1
  72. package/dist/packem_chunks/tripwire.js +1 -1
  73. package/dist/packem_chunks/verify-lockfile.js +1 -1
  74. package/dist/packem_shared/Table-CwC2kW07-EjFLNV0q.js +12 -0
  75. package/dist/packem_shared/_commonjsHelpers-CLblCigl.js +1 -0
  76. package/dist/packem_shared/{advisories-DS8JEB_g.js → advisories-BxXiKFbL.js} +1 -1
  77. package/dist/packem_shared/{ai-analysis-Csn82p17.js → ai-analysis-BnmDFqc8.js} +5 -5
  78. package/dist/packem_shared/{ai-fix-BlYyz5bI.js → ai-fix-BGbnrWCz.js} +7 -7
  79. package/dist/packem_shared/{cyclonedx-ja1cbU69.js → cyclonedx-C2k2HmvI.js} +1 -1
  80. package/dist/packem_shared/{dependency-scan-s2MD0vi-.js → dependency-scan-Bki15Yi-.js} +1 -1
  81. package/dist/packem_shared/{docker-Bw9gKo69.js → docker-k-Sl8b-w.js} +1 -1
  82. package/dist/packem_shared/{failure-log-B0Uh-65U.js → failure-log-C3bG1bCA.js} +1 -1
  83. package/dist/packem_shared/index-2r730kXY.js +29 -0
  84. package/dist/packem_shared/{index-88UK-tt_.js → index-DBq4TVu5.js} +1 -1
  85. package/dist/packem_shared/{lifecycle-ChCFTm5Q.js → lifecycle-B91p_ra8.js} +2 -2
  86. package/dist/packem_shared/{lockfile-BG1HvBzH.js → lockfile-DmDfgKaT.js} +1 -1
  87. package/dist/packem_shared/{min-release-age-heJgeP7o.js → min-release-age-B1Jm1_JY.js} +1 -1
  88. package/dist/packem_shared/{native-config-sync-BOeuyrBj.js → native-config-sync-Cnpj2xcn.js} +6 -6
  89. package/dist/packem_shared/{osv-bloom-QSAn2Dcw.js → osv-bloom-ep8GlDGT.js} +2 -2
  90. package/dist/packem_shared/pm-runner-COoPLGKi.js +1 -0
  91. package/dist/packem_shared/{provenance-BsBn1f5S.js → provenance-DbkJRDqt.js} +1 -1
  92. package/dist/packem_shared/{registry-keys-pemEkRM9.js → registry-keys-SylX07bs.js} +1 -1
  93. package/dist/packem_shared/{resolve-explicit-CBPr617N.js → resolve-explicit-CJ_5wYSu.js} +1 -1
  94. package/dist/packem_shared/s1ngularity-DlS-4a6K.js +1 -0
  95. package/dist/packem_shared/scan-progress-CU4ttEHQ.js +2 -0
  96. package/dist/packem_shared/{signatures-CaXzNuEn.js → signatures-B-1u4t-c.js} +1 -1
  97. package/dist/packem_shared/spinner-B9ZPv1iT.js +1 -0
  98. package/dist/packem_shared/spinners-f91Rbo99-Bjf3NcO0.js +1 -0
  99. package/dist/packem_shared/tabs-C-qFIoUv.js +1 -0
  100. package/dist/packem_shared/typosquats-BxCOUvTJ.js +1 -0
  101. package/dist/packem_shared/use-measured-height-kIDCuc76.js +1 -0
  102. package/dist/packem_shared/vis-update-app-COYmjGKv.js +1 -0
  103. package/dist/packem_shared/watch-BSVsZ_1I.js +1 -0
  104. package/dist/packem_shared/watch-loop-CP318TfG.js +11 -0
  105. package/index.js +751 -567
  106. package/package.json +11 -11
  107. package/schemas/project.schema.json +86 -1
  108. package/schemas/vis-config.schema.json +255 -7
  109. package/dist/packem_shared/index-CS6a2wFB.js +0 -29
  110. package/dist/packem_shared/index.server-B7ETiT4C.js +0 -2
  111. package/dist/packem_shared/pm-runner-BzGZmzYs.js +0 -1
  112. package/dist/packem_shared/s1ngularity-j_ArCZAs.js +0 -1
  113. package/dist/packem_shared/scan-progress-EbvmIh4i.js +0 -2
  114. package/dist/packem_shared/typosquats-C1e6RNjF.js +0 -1
  115. package/dist/packem_shared/use-measured-height-DjYgUOKk.js +0 -1
  116. package/dist/packem_shared/vis-update-app-qhQPV97i.js +0 -1
@@ -1 +1 @@
1
- var D=Object.defineProperty;var v=(t,e)=>D(t,"name",{value:e,configurable:!0});import{m as w,D as C,g as S,f as A}from"./provenance-BsBn1f5S.js";import{L as m}from"../packem_chunks/bin.js";import{x as W}from"./build-scripts-3E2pmscY.js";import{n as b}from"./license-zZU7aavK.js";import{a as j,C as F,$ as U}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{F as E}from"./lockfile-BG1HvBzH.js";import{L as N}from"./dependency-scan-s2MD0vi-.js";var I=Object.defineProperty,L=v((t,e)=>I(t,"name",{value:e,configurable:!0}),"i");const g={CRITICAL:0,HIGH:1,LOW:3,MODERATE:2,UNKNOWN:4},we=L((t,e)=>{const i=g[(t.vulnerability.severity??"UNKNOWN").toUpperCase()]??4,n=g[(e.vulnerability.severity??"UNKNOWN").toUpperCase()]??4;return i-n||t.packageName.localeCompare(e.packageName)||t.packageVersion.localeCompare(e.packageVersion)},"compareFindingsForDisplay"),M=L((t,e)=>{const i=g[e.toUpperCase()]??2;return(g[t.toUpperCase()]??4)<=i},"severityPassesFilter"),P=["firstSeen","installScripts","license","malware","publisherChange","score","unexpectedDeps","vulnerability"];var V=Object.defineProperty,R=v((t,e)=>V(t,"name",{value:e,configurable:!0}),"r");const $=6e4,_=R((t,e,i)=>{for(const n of i)if(n===t||n===`${t}@${e}`||n.endsWith("*")&&t.startsWith(n.slice(0,-1)))return!0;return!1},"isExcluded"),T=R(async(t,e)=>{const i=e.security?.policies?.firstSeen;if(i?.minutes===void 0||i.minutes<=0)return[];const{minutes:n}=i,a=i.exclude??[],o=e.security?.acceptedRisks,c=n*$,s=Date.now();return(await w(t.packages,C,async r=>{if(_(r.name,r.version,a))return;const l=await S(r.name,{workspaceRoot:t.workspaceRoot});if(l===void 0)return;const p=l.time?.[r.version];if(p===void 0)return;const u=Date.parse(p);if(Number.isNaN(u))return;const f=s-u;if(f>=c)return;const k=Math.max(0,Math.floor(f/$));return{acceptedRisk:m(r.name,r.version,o,"firstSeen"),data:{ageMinutes:k,minimumMinutes:n,publishedAt:p},packageName:r.name,policy:"firstSeen",reason:`${r.name}@${r.version} was published ${String(k)} min ago — below the ${String(n)} min firstSeen cooldown.`,severity:"block",version:r.version}})).filter(r=>r!==void 0)},"evaluateFirstSeenPolicy");var K=Object.defineProperty,H=v((t,e)=>K(t,"name",{value:e,configurable:!0}),"n");const q=H((t,e)=>{const i=e.security?.policies?.installScripts;if(!i)return[];const n=i.allow??{},a=i.strict===!0;if(!a&&Object.keys(n).length===0)return[];const o=W(t.workspaceRoot,n,{pinVersions:e.security?.pinVersions===!0});if(o.unapproved.length===0)return[];const c=e.security?.acceptedRisks,s=a?"block":"warn";return o.unapproved.map(r=>({acceptedRisk:m(r.name,r.version??"*",c,"installScripts"),data:{hooks:r.hooks},packageName:r.name,policy:"installScripts",reason:`${r.name}${r.version?`@${r.version}`:""} declares unapproved build script(s): ${r.hooks.join(", ")}`,severity:s,version:r.version??"*"}))},"evaluateInstallScriptsPolicy");var z=Object.defineProperty,y=v((t,e)=>z(t,"name",{value:e,configurable:!0}),"a");const Y=new Set(["AND","OR"]),B=y(t=>{const e=t.replaceAll("("," ").replaceAll(")"," ").split(/\s+/).map(a=>a.trim()).filter(a=>a.length>0),i=[];let n=!1;for(const a of e){const o=a.toUpperCase();if(n){n=!1;continue}if(o==="WITH"){n=!0;continue}if(Y.has(o))continue;const c=a.endsWith("+"),s=c?a.slice(0,-1):a,r=b(s)??s;i.push(r),c&&i.push(`${r}-or-later`)}return i},"extractSpdxLeaves"),G=y(t=>{if(typeof t.license=="string"){const e=t.license.trim();return e.length>0?e:void 0}if(t.license&&typeof t.license=="object"&&typeof t.license.type=="string"){const e=t.license.type.trim();if(e.length>0)return e}if(Array.isArray(t.licenses)&&t.licenses.length>0){const e=t.licenses.map(i=>i&&typeof i.type=="string"?i.type.trim():"").filter(i=>i.length>0);if(e.length>0)return e.length===1?e[0]:`(${e.join(" OR ")})`}},"declaredLicense"),J=y((t,e)=>{if(e.length===0)return;const i=new Set(e.map(n=>b(n)??n).map(n=>n.toLowerCase()));for(const n of t)if(i.has(n.toLowerCase()))return n},"findDeniedLeaf"),Q=y((t,e)=>{if(e.length===0)return;const i=new Set(e.map(n=>b(n)??n).map(n=>n.toLowerCase()));for(const n of t)if(!i.has(n.toLowerCase()))return n},"findUnallowedLeaf"),X=y((t,e)=>{const i=e.security?.policies?.license;if(!i)return[];const n=i.allow??[],a=i.deny??[];if(n.length===0&&a.length===0)return[];const o=e.security?.acceptedRisks,c=[];for(const s of t.packages){const r=t.manifestData?.get(`${s.name}@${s.version}`),l=r?G(r):void 0;if(!l){n.length>0&&c.push({acceptedRisk:m(s.name,s.version,o,"license"),data:{declaredLicense:null},packageName:s.name,policy:"license",reason:`${s.name}@${s.version} declares no license; allow-list mode requires one of: ${n.join(", ")}`,severity:"block",version:s.version});continue}const p=B(l),u=J(p,a);if(u){c.push({acceptedRisk:m(s.name,s.version,o,"license"),data:{declaredLicense:l,deniedLicense:u},packageName:s.name,policy:"license",reason:`${s.name}@${s.version} uses denied license '${u}' (declared: ${l})`,severity:"block",version:s.version});continue}const f=Q(p,n);f&&c.push({acceptedRisk:m(s.name,s.version,o,"license"),data:{allowList:n,declaredLicense:l,unallowedLicense:f},packageName:s.name,policy:"license",reason:`${s.name}@${s.version} uses license '${f}' which is not on the allow-list (declared: ${l})`,severity:"block",version:s.version})}return c},"evaluateLicensePolicy");var Z=Object.defineProperty,O=v((t,e)=>Z(t,"name",{value:e,configurable:!0}),"c$1");const ee=6e4,te=O((t,e,i)=>{for(const n of i)if(n===t||n===`${t}@${e}`||n.endsWith("*")&&t.startsWith(n.slice(0,-1)))return!0;return!1},"isExcluded"),ie=O(async(t,e)=>{const i=e.security?.policies?.publisherChange;if(i?.mode!=="no-downgrade")return[];const n=i.exclude??[],a=typeof i.ignoreAfter=="number"?i.ignoreAfter*ee:void 0,o=e.security?.acceptedRisks,c=Date.now();return(await w(t.packages,C,async s=>{if(te(s.name,s.version,n))return;const r=await S(s.name,{workspaceRoot:t.workspaceRoot});if(r===void 0)return;if(a!==void 0){const p=r.time?.[s.version],u=p===void 0?Number.NaN:Date.parse(p);if(!Number.isNaN(u)&&c-u>a)return}if(r.versions[s.version]?.dist?.attestations?.provenance!==void 0)return;const l=A(r,s.version);if(l!==void 0)return{acceptedRisk:m(s.name,s.version,o,"publisherChange"),data:{priorVersionWithProvenance:l},packageName:s.name,policy:"publisherChange",reason:`${s.name}@${s.version} dropped the provenance attestation that ${s.name}@${l} carried — publisher trust downgrade.`,severity:"block",version:s.version}})).filter(s=>s!==void 0)},"evaluatePublisherChangePolicy");var ne=Object.defineProperty,h=v((t,e)=>ne(t,"name",{value:e,configurable:!0}),"l$1");const se=h(t=>{for(const e of Object.values(N))for(const i of[e.file,...e.aliases??[]])if(t===i||t.endsWith(`/${i}`)||t.endsWith(`.${i}`))return e.type},"detectLockfileType"),re=h((t,e,i)=>{const n=j(e)?e:F(t,e);let a;try{a=U(n)}catch{return}const o=se(n)??N[i]?.type;if(!o)return;const c=E(a,o);if(c.length===0)return;const s=new Set;for(const r of c)s.add(`${r.name}@${r.version}`);return s},"loadBaselineKeys"),oe=h((t,e)=>{for(const i of e)if(i===t||i.endsWith("*")&&t.startsWith(i.slice(0,-1)))return!0;return!1},"matchesAllowList"),ae=h((t,e)=>{const i=e.security?.policies?.unexpectedDeps;if(!i)return[];const n=i.allow??[],a=i.baselineLockfile;if(n.length===0&&!a)return[];const o=a?re(t.workspaceRoot,a,t.packageManager):void 0,c=e.security?.acceptedRisks,s=[];for(const r of t.packages){const l=n.length===0||oe(r.name,n),p=o?o.has(`${r.name}@${r.version}`):!0;if(l&&p)continue;const u=[],f={};l||(u.push(`not on allow-list (${n.length} entr${n.length===1?"y":"ies"})`),f.allowList=n),!p&&o&&(u.push(`not present in baseline lockfile (${a})`),f.baselineLockfile=a),s.push({acceptedRisk:m(r.name,r.version,c,"unexpectedDeps"),data:f,packageName:r.name,policy:"unexpectedDeps",reason:`${r.name}@${r.version} is unexpected: ${u.join("; ")}`,severity:"block",version:r.version})}return s},"evaluateUnexpectedDepsPolicy");var ce=Object.defineProperty,le=v((t,e)=>ce(t,"name",{value:e,configurable:!0}),"c");const ue=le((t,e)=>{if(!t.osvFindings||t.osvFindings.size===0)return[];const i=e.security?.policies?.vulnerability?.failOn,n=e.security?.acceptedRisks,a=[];for(const o of t.packages){const c=t.osvFindings.get(o.name);if(!(!c||c.length===0))for(const s of c){const r=i?M(s.severity,i)?"block":"warn":"info";a.push({acceptedRisk:m(o.name,o.version,n,"vulnerability"),data:{advisoryId:s.id,aliases:s.aliases??[],cvssScore:s.cvssScore,fixedVersions:s.fixedVersions,severity:s.severity,summary:s.summary},packageName:o.name,policy:"vulnerability",reason:`${s.severity} ${s.id} affects ${o.name}@${o.version}: ${s.summary}`,severity:r,version:o.version})}}return a},"evaluateVulnerabilityPolicy");var pe=Object.defineProperty,d=v((t,e)=>pe(t,"name",{value:e,configurable:!0}),"t");const x=[{evaluate:ue,isConfigured:d(t=>t.security?.policies?.vulnerability!==void 0,"isConfigured"),name:"vulnerability",offlineSupported:!0,surfaces:["audit","doctor"]},{evaluate:X,isConfigured:d(t=>{const e=t.security?.policies?.license;return!!(e&&(e.allow&&e.allow.length>0||e.deny&&e.deny.length>0))},"isConfigured"),name:"license",offlineSupported:!0,surfaces:["audit","doctor","install"]},{evaluate:q,isConfigured:d(t=>{const e=t.security?.policies?.installScripts;return!!(e&&(e.allow&&Object.keys(e.allow).length>0||e.strict===!0))},"isConfigured"),name:"installScripts",offlineSupported:!0,surfaces:["audit","doctor","install"]},{evaluate:ae,isConfigured:d(t=>{const e=t.security?.policies?.unexpectedDeps;return!!(e&&(e.allow&&e.allow.length>0||typeof e.baselineLockfile=="string"))},"isConfigured"),name:"unexpectedDeps",offlineSupported:!0,surfaces:["audit","doctor","install"]},{evaluate:T,isConfigured:d(t=>{const e=t.security?.policies?.firstSeen?.minutes;return typeof e=="number"&&e>0},"isConfigured"),name:"firstSeen",offlineSupported:!1,surfaces:["audit","doctor","install"]},{evaluate:ie,isConfigured:d(t=>t.security?.policies?.publisherChange?.mode==="no-downgrade","isConfigured"),name:"publisherChange",offlineSupported:!1,surfaces:["audit","doctor","install"]}],fe=d((t,e,i)=>x.filter(n=>n.surfaces.includes(t)?i!==void 0?i.has(n.name):n.isConfigured(e):!1),"selectModules"),Ce=d(async(t,e,i)=>{const n=fe(e,i.visConfig,i.enabledPolicies),a=[];for(const o of n){if(t.offline&&!o.offlineSupported){a.push({packageName:"*",policy:o.name,reason:`policy.${o.name} skipped: requires network (--offline)`,severity:"info",version:"*"});continue}try{const c=await o.evaluate(t,i.visConfig);a.push(...c)}catch(c){const s=c instanceof Error?c.message:String(c);a.push({packageName:"*",policy:o.name,reason:`policy.${o.name} failed: ${s}`,severity:"info",version:"*"})}}return a},"evaluatePolicies"),de=(()=>{const t=new Map;for(const e of P)t.set(e.toLowerCase(),e);return t})(),Se=d(()=>x.map(t=>t.name),"getRegisteredPolicyNames"),Ne=d((t,e)=>{if(t===void 0)return;const i=t.trim().toLowerCase();if(i===""||i==="none")return new Set;if(i==="all")return new Set(P);const n=new Set;for(const a of t.split(",").map(o=>o.trim()).filter(o=>o.length>0)){const o=a.replace(/^_+/,"").replaceAll(/_+([a-z])/g,(s,r)=>r.toUpperCase()),c=de.get(o.toLowerCase());c===void 0?e?.(a):n.add(c)}return n},"parsePoliciesFlag");export{we as c,Ce as e,Se as g,Ne as p,M as s};
1
+ var D=Object.defineProperty;var v=(t,e)=>D(t,"name",{value:e,configurable:!0});import{m as w,D as C,g as S,f as A}from"./provenance-DbkJRDqt.js";import{$ as m}from"../packem_chunks/bin.js";import{x as W}from"./build-scripts-3E2pmscY.js";import{n as b}from"./license-zZU7aavK.js";import{a as j,C as F,$ as U}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{F as E}from"./lockfile-DmDfgKaT.js";import{L as N}from"./dependency-scan-Bki15Yi-.js";var I=Object.defineProperty,L=v((t,e)=>I(t,"name",{value:e,configurable:!0}),"i");const g={CRITICAL:0,HIGH:1,LOW:3,MODERATE:2,UNKNOWN:4},we=L((t,e)=>{const i=g[(t.vulnerability.severity??"UNKNOWN").toUpperCase()]??4,n=g[(e.vulnerability.severity??"UNKNOWN").toUpperCase()]??4;return i-n||t.packageName.localeCompare(e.packageName)||t.packageVersion.localeCompare(e.packageVersion)},"compareFindingsForDisplay"),M=L((t,e)=>{const i=g[e.toUpperCase()]??2;return(g[t.toUpperCase()]??4)<=i},"severityPassesFilter"),P=["firstSeen","installScripts","license","malware","publisherChange","score","unexpectedDeps","vulnerability"];var V=Object.defineProperty,R=v((t,e)=>V(t,"name",{value:e,configurable:!0}),"r");const $=6e4,_=R((t,e,i)=>{for(const n of i)if(n===t||n===`${t}@${e}`||n.endsWith("*")&&t.startsWith(n.slice(0,-1)))return!0;return!1},"isExcluded"),T=R(async(t,e)=>{const i=e.security?.policies?.firstSeen;if(i?.minutes===void 0||i.minutes<=0)return[];const{minutes:n}=i,a=i.exclude??[],o=e.security?.acceptedRisks,c=n*$,s=Date.now();return(await w(t.packages,C,async r=>{if(_(r.name,r.version,a))return;const l=await S(r.name,{workspaceRoot:t.workspaceRoot});if(l===void 0)return;const p=l.time?.[r.version];if(p===void 0)return;const u=Date.parse(p);if(Number.isNaN(u))return;const f=s-u;if(f>=c)return;const k=Math.max(0,Math.floor(f/$));return{acceptedRisk:m(r.name,r.version,o,"firstSeen"),data:{ageMinutes:k,minimumMinutes:n,publishedAt:p},packageName:r.name,policy:"firstSeen",reason:`${r.name}@${r.version} was published ${String(k)} min ago — below the ${String(n)} min firstSeen cooldown.`,severity:"block",version:r.version}})).filter(r=>r!==void 0)},"evaluateFirstSeenPolicy");var K=Object.defineProperty,H=v((t,e)=>K(t,"name",{value:e,configurable:!0}),"n");const q=H((t,e)=>{const i=e.security?.policies?.installScripts;if(!i)return[];const n=i.allow??{},a=i.strict===!0;if(!a&&Object.keys(n).length===0)return[];const o=W(t.workspaceRoot,n,{pinVersions:e.security?.pinVersions===!0});if(o.unapproved.length===0)return[];const c=e.security?.acceptedRisks,s=a?"block":"warn";return o.unapproved.map(r=>({acceptedRisk:m(r.name,r.version??"*",c,"installScripts"),data:{hooks:r.hooks},packageName:r.name,policy:"installScripts",reason:`${r.name}${r.version?`@${r.version}`:""} declares unapproved build script(s): ${r.hooks.join(", ")}`,severity:s,version:r.version??"*"}))},"evaluateInstallScriptsPolicy");var z=Object.defineProperty,y=v((t,e)=>z(t,"name",{value:e,configurable:!0}),"a");const Y=new Set(["AND","OR"]),B=y(t=>{const e=t.replaceAll("("," ").replaceAll(")"," ").split(/\s+/).map(a=>a.trim()).filter(a=>a.length>0),i=[];let n=!1;for(const a of e){const o=a.toUpperCase();if(n){n=!1;continue}if(o==="WITH"){n=!0;continue}if(Y.has(o))continue;const c=a.endsWith("+"),s=c?a.slice(0,-1):a,r=b(s)??s;i.push(r),c&&i.push(`${r}-or-later`)}return i},"extractSpdxLeaves"),G=y(t=>{if(typeof t.license=="string"){const e=t.license.trim();return e.length>0?e:void 0}if(t.license&&typeof t.license=="object"&&typeof t.license.type=="string"){const e=t.license.type.trim();if(e.length>0)return e}if(Array.isArray(t.licenses)&&t.licenses.length>0){const e=t.licenses.map(i=>i&&typeof i.type=="string"?i.type.trim():"").filter(i=>i.length>0);if(e.length>0)return e.length===1?e[0]:`(${e.join(" OR ")})`}},"declaredLicense"),J=y((t,e)=>{if(e.length===0)return;const i=new Set(e.map(n=>b(n)??n).map(n=>n.toLowerCase()));for(const n of t)if(i.has(n.toLowerCase()))return n},"findDeniedLeaf"),Q=y((t,e)=>{if(e.length===0)return;const i=new Set(e.map(n=>b(n)??n).map(n=>n.toLowerCase()));for(const n of t)if(!i.has(n.toLowerCase()))return n},"findUnallowedLeaf"),X=y((t,e)=>{const i=e.security?.policies?.license;if(!i)return[];const n=i.allow??[],a=i.deny??[];if(n.length===0&&a.length===0)return[];const o=e.security?.acceptedRisks,c=[];for(const s of t.packages){const r=t.manifestData?.get(`${s.name}@${s.version}`),l=r?G(r):void 0;if(!l){n.length>0&&c.push({acceptedRisk:m(s.name,s.version,o,"license"),data:{declaredLicense:null},packageName:s.name,policy:"license",reason:`${s.name}@${s.version} declares no license; allow-list mode requires one of: ${n.join(", ")}`,severity:"block",version:s.version});continue}const p=B(l),u=J(p,a);if(u){c.push({acceptedRisk:m(s.name,s.version,o,"license"),data:{declaredLicense:l,deniedLicense:u},packageName:s.name,policy:"license",reason:`${s.name}@${s.version} uses denied license '${u}' (declared: ${l})`,severity:"block",version:s.version});continue}const f=Q(p,n);f&&c.push({acceptedRisk:m(s.name,s.version,o,"license"),data:{allowList:n,declaredLicense:l,unallowedLicense:f},packageName:s.name,policy:"license",reason:`${s.name}@${s.version} uses license '${f}' which is not on the allow-list (declared: ${l})`,severity:"block",version:s.version})}return c},"evaluateLicensePolicy");var Z=Object.defineProperty,O=v((t,e)=>Z(t,"name",{value:e,configurable:!0}),"c$1");const ee=6e4,te=O((t,e,i)=>{for(const n of i)if(n===t||n===`${t}@${e}`||n.endsWith("*")&&t.startsWith(n.slice(0,-1)))return!0;return!1},"isExcluded"),ie=O(async(t,e)=>{const i=e.security?.policies?.publisherChange;if(i?.mode!=="no-downgrade")return[];const n=i.exclude??[],a=typeof i.ignoreAfter=="number"?i.ignoreAfter*ee:void 0,o=e.security?.acceptedRisks,c=Date.now();return(await w(t.packages,C,async s=>{if(te(s.name,s.version,n))return;const r=await S(s.name,{workspaceRoot:t.workspaceRoot});if(r===void 0)return;if(a!==void 0){const p=r.time?.[s.version],u=p===void 0?Number.NaN:Date.parse(p);if(!Number.isNaN(u)&&c-u>a)return}if(r.versions[s.version]?.dist?.attestations?.provenance!==void 0)return;const l=A(r,s.version);if(l!==void 0)return{acceptedRisk:m(s.name,s.version,o,"publisherChange"),data:{priorVersionWithProvenance:l},packageName:s.name,policy:"publisherChange",reason:`${s.name}@${s.version} dropped the provenance attestation that ${s.name}@${l} carried — publisher trust downgrade.`,severity:"block",version:s.version}})).filter(s=>s!==void 0)},"evaluatePublisherChangePolicy");var ne=Object.defineProperty,h=v((t,e)=>ne(t,"name",{value:e,configurable:!0}),"l$1");const se=h(t=>{for(const e of Object.values(N))for(const i of[e.file,...e.aliases??[]])if(t===i||t.endsWith(`/${i}`)||t.endsWith(`.${i}`))return e.type},"detectLockfileType"),re=h((t,e,i)=>{const n=j(e)?e:F(t,e);let a;try{a=U(n)}catch{return}const o=se(n)??N[i]?.type;if(!o)return;const c=E(a,o);if(c.length===0)return;const s=new Set;for(const r of c)s.add(`${r.name}@${r.version}`);return s},"loadBaselineKeys"),oe=h((t,e)=>{for(const i of e)if(i===t||i.endsWith("*")&&t.startsWith(i.slice(0,-1)))return!0;return!1},"matchesAllowList"),ae=h((t,e)=>{const i=e.security?.policies?.unexpectedDeps;if(!i)return[];const n=i.allow??[],a=i.baselineLockfile;if(n.length===0&&!a)return[];const o=a?re(t.workspaceRoot,a,t.packageManager):void 0,c=e.security?.acceptedRisks,s=[];for(const r of t.packages){const l=n.length===0||oe(r.name,n),p=o?o.has(`${r.name}@${r.version}`):!0;if(l&&p)continue;const u=[],f={};l||(u.push(`not on allow-list (${n.length} entr${n.length===1?"y":"ies"})`),f.allowList=n),!p&&o&&(u.push(`not present in baseline lockfile (${a})`),f.baselineLockfile=a),s.push({acceptedRisk:m(r.name,r.version,c,"unexpectedDeps"),data:f,packageName:r.name,policy:"unexpectedDeps",reason:`${r.name}@${r.version} is unexpected: ${u.join("; ")}`,severity:"block",version:r.version})}return s},"evaluateUnexpectedDepsPolicy");var ce=Object.defineProperty,le=v((t,e)=>ce(t,"name",{value:e,configurable:!0}),"c");const ue=le((t,e)=>{if(!t.osvFindings||t.osvFindings.size===0)return[];const i=e.security?.policies?.vulnerability?.failOn,n=e.security?.acceptedRisks,a=[];for(const o of t.packages){const c=t.osvFindings.get(o.name);if(!(!c||c.length===0))for(const s of c){const r=i?M(s.severity,i)?"block":"warn":"info";a.push({acceptedRisk:m(o.name,o.version,n,"vulnerability"),data:{advisoryId:s.id,aliases:s.aliases??[],cvssScore:s.cvssScore,fixedVersions:s.fixedVersions,severity:s.severity,summary:s.summary},packageName:o.name,policy:"vulnerability",reason:`${s.severity} ${s.id} affects ${o.name}@${o.version}: ${s.summary}`,severity:r,version:o.version})}}return a},"evaluateVulnerabilityPolicy");var pe=Object.defineProperty,d=v((t,e)=>pe(t,"name",{value:e,configurable:!0}),"t");const x=[{evaluate:ue,isConfigured:d(t=>t.security?.policies?.vulnerability!==void 0,"isConfigured"),name:"vulnerability",offlineSupported:!0,surfaces:["audit","doctor"]},{evaluate:X,isConfigured:d(t=>{const e=t.security?.policies?.license;return!!(e&&(e.allow&&e.allow.length>0||e.deny&&e.deny.length>0))},"isConfigured"),name:"license",offlineSupported:!0,surfaces:["audit","doctor","install"]},{evaluate:q,isConfigured:d(t=>{const e=t.security?.policies?.installScripts;return!!(e&&(e.allow&&Object.keys(e.allow).length>0||e.strict===!0))},"isConfigured"),name:"installScripts",offlineSupported:!0,surfaces:["audit","doctor","install"]},{evaluate:ae,isConfigured:d(t=>{const e=t.security?.policies?.unexpectedDeps;return!!(e&&(e.allow&&e.allow.length>0||typeof e.baselineLockfile=="string"))},"isConfigured"),name:"unexpectedDeps",offlineSupported:!0,surfaces:["audit","doctor","install"]},{evaluate:T,isConfigured:d(t=>{const e=t.security?.policies?.firstSeen?.minutes;return typeof e=="number"&&e>0},"isConfigured"),name:"firstSeen",offlineSupported:!1,surfaces:["audit","doctor","install"]},{evaluate:ie,isConfigured:d(t=>t.security?.policies?.publisherChange?.mode==="no-downgrade","isConfigured"),name:"publisherChange",offlineSupported:!1,surfaces:["audit","doctor","install"]}],fe=d((t,e,i)=>x.filter(n=>n.surfaces.includes(t)?i!==void 0?i.has(n.name):n.isConfigured(e):!1),"selectModules"),Ce=d(async(t,e,i)=>{const n=fe(e,i.visConfig,i.enabledPolicies),a=[];for(const o of n){if(t.offline&&!o.offlineSupported){a.push({packageName:"*",policy:o.name,reason:`policy.${o.name} skipped: requires network (--offline)`,severity:"info",version:"*"});continue}try{const c=await o.evaluate(t,i.visConfig);a.push(...c)}catch(c){const s=c instanceof Error?c.message:String(c);a.push({packageName:"*",policy:o.name,reason:`policy.${o.name} failed: ${s}`,severity:"info",version:"*"})}}return a},"evaluatePolicies"),de=(()=>{const t=new Map;for(const e of P)t.set(e.toLowerCase(),e);return t})(),Se=d(()=>x.map(t=>t.name),"getRegisteredPolicyNames"),Ne=d((t,e)=>{if(t===void 0)return;const i=t.trim().toLowerCase();if(i===""||i==="none")return new Set;if(i==="all")return new Set(P);const n=new Set;for(const a of t.split(",").map(o=>o.trim()).filter(o=>o.length>0)){const o=a.replace(/^_+/,"").replaceAll(/_+([a-z])/g,(s,r)=>r.toUpperCase()),c=de.get(o.toLowerCase());c===void 0?e?.(a):n.add(c)}return n},"parsePoliciesFlag");export{we as c,Ce as e,Se as g,Ne as p,M as s};
@@ -1,2 +1,2 @@
1
- var z=Object.defineProperty;var n=(t,e)=>z(t,"name",{value:e,configurable:!0});import{createRequire as Q}from"node:module";import{f as tt,M as w}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{d as j}from"../packem_chunks/config.js";import{aB as ht,B as dt,aC as L}from"../packem_chunks/bin.js";import{withEnhancedPath as wt}from"@visulima/task-runner";const Z=Q(import.meta.url),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=n(t=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[e,o]=m.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return m.getBuiltinModule(t)}return Z(t)},"__cjs_getBuiltinModule"),{Socket:et}=p("node:net"),{randomBytes:ot}=p("node:crypto"),{readdir:st,writeFile:rt,rm:M,rename:it,open:nt,readFile:at,stat:ct,unlink:O}=p("node:fs/promises"),{createRequire:lt}=p("node:module"),{spawn:ut}=p("node:child_process"),{openSync:ft,closeSync:pt}=p("node:fs");var kt=Object.defineProperty,mt=n((t,e)=>kt(t,"name",{value:e,configurable:!0}),"i$1"),vt=Object.defineProperty,W=mt((t,e)=>vt(t,"name",{value:e,configurable:!0}),"s");const gt=lt(import.meta.url),v=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,yt=W(t=>{if(typeof v<"u"&&v.versions&&v.versions.node){const[e,o]=v.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return v.getBuiltinModule(t)}return gt(t)},"__cjs_getBuiltinModule"),{lstat:C,mkdir:_t}=yt("node:fs/promises");var bt=Object.defineProperty,$t=W((t,e)=>bt(t,"name",{value:e,configurable:!0}),"o");const Et=$t(async t=>{tt(t);try{const e=await C(t);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(j(e))}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{await _t(t,{recursive:!0})}catch(e){if(e.code!=="EEXIST")throw e;const o=await C(t);if(!o.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(j(o))}'`,{cause:e})}},"ensureDir");var St=Object.defineProperty,u=n((t,e)=>St(t,"name",{value:e,configurable:!0}),"s$1");const Ht=3e4,N=100;class Pt extends Error{static{n(this,"ServiceReadinessError")}constructor(e,o){super(e),this.elapsedMs=o,this.name="ServiceReadinessError"}elapsedMs;static{u(this,"ServiceReadinessError")}}const Mt=u(async t=>{const e=t.host??"127.0.0.1",{port:o}=t,s=t.timeoutMs??Ht,r=Date.now();for(;Date.now()-r<s;){if(await Rt(e,o))return;await Tt(N)}throw new Pt(`Timed out waiting for ${e}:${String(o)} to accept TCP connections (${String(s)}ms)`,Date.now()-r)},"waitForTcp"),Rt=u((t,e)=>new Promise(o=>{const s=new et,r=u(i=>{s.removeAllListeners(),s.destroy(),o(i)},"onDone");s.once("connect",()=>{r(!0)}),s.once("error",()=>{r(!1)}),s.setTimeout(N,()=>{r(!1)});try{s.connect(e,t)}catch{r(!1)}}),"tryConnect"),Tt=u(t=>new Promise(e=>{setTimeout(e,t)}),"delay"),Dt=u(async(t,e)=>{const o=t.readiness??(t.port===void 0?void 0:{tcp:{port:t.port}});o&&await Mt({host:o.tcp.host,port:o.tcp.port,timeoutMs:e?.timeoutMs??o.tcp.timeoutMs})},"runReadiness");var Ot=Object.defineProperty,h=n((t,e)=>Ot(t,"name",{value:e,configurable:!0}),"o");const R=384,x=5e3,jt=50,Ct=3e4,k=h(async t=>{const e=w(ht(t),"services");try{await Et(e)}catch(o){throw o.code==="ENOTDIR"?new Error(`Service registry path ${e} exists but is not a directory. Remove it or move the conflicting file before running \`vis service\`.`,{cause:o}):o}return e},"getRegistryDir"),T=h(t=>t.replaceAll("/","_").replaceAll(":","__"),"slugify"),D=h((t,e)=>w(t,`${T(e)}.json`),"entryPath"),xt=h((t,e)=>w(t,`${T(e)}.lock`),"lockPath"),b=h(async(t,e)=>{const o=await k(t),s=D(o,e);if(await dt(s))try{return await L(s)}catch{return}},"readEntry"),At=h(async t=>{const e=await k(t);let o;try{o=await st(e)}catch{return[]}const s=[];for(const r of o)if(r.endsWith(".json"))try{const i=await L(w(e,r));s.push(i)}catch{}return s},"readAllEntries"),It=h(async(t,e)=>{const o=await k(t),s=D(o,e.id),r=w(o,`.${ot(8).toString("hex")}.tmp`);await rt(r,`${JSON.stringify(e,void 0,2)}
2
- `,{mode:R});try{await Nt(r,s)}catch(i){throw await M(r,{force:!0}).catch(()=>{}),i}},"writeEntry"),Ft=new Set(["EACCES","EBUSY","EPERM"]),Lt=8,Wt=20,Nt=h(async(t,e)=>{let o=0;for(;;)try{await it(t,e);return}catch(s){const{code:r}=s;if(!(r!==void 0&&Ft.has(r))||o>=Lt)throw s;const i=Wt*2**o;await new Promise(c=>{setTimeout(c,i)}),o+=1}},"renameWithRetry"),g=h(async(t,e,o)=>{const s=await k(t),r=o??await b(t,e);await M(D(s,e),{force:!0}),r&&await M(r.logFile,{force:!0}).catch(()=>{})},"deleteEntry"),f=h(t=>{try{return process.kill(t,0),!0}catch{return!1}},"isAlive"),le=h(async t=>{const e=await At(t),o=[],s=[];for(const r of e){if(f(r.pid)){s.push(r);continue}const i=await b(t,r.id);if(i&&i.pid!==r.pid){s.push(i);continue}await g(t,r.id,r).catch(()=>{}),o.push(r.id)}return{pruned:o,surviving:s}},"pruneDead"),Bt=h(t=>new Promise(e=>{setTimeout(e,t)}),"sleep"),Gt=h(async t=>{try{const e=await nt(t,"wx",R);try{await e.writeFile(String(process.pid))}finally{await e.close().catch(()=>{})}return!0}catch(e){if(e.code==="EEXIST")return!1;throw e}},"tryClaimLock"),Vt=h(async t=>{let e;try{const o=await at(t,"utf8"),s=Number.parseInt(o.trim(),10);e=Number.isFinite(s)?s:void 0}catch{return!0}if(e!==void 0&&!f(e))return!0;try{const o=await ct(t);return Date.now()-o.mtimeMs>Ct}catch{return!0}},"isLockStale"),B=h(async(t,e,o)=>{const s=await k(t),r=xt(s,e),i=Date.now();for(;!await Gt(r);){if(await Vt(r)){await O(r).catch(()=>{});continue}if(Date.now()-i>=x)throw new Error(`Could not acquire service lock for ${e} within ${String(x)}ms — another \`vis service\` invocation appears to be holding it.`);await Bt(jt)}try{return await o()}finally{await O(r).catch(()=>{})}},"withServiceLock");var qt=Object.defineProperty,l=n((t,e)=>qt(t,"name",{value:e,configurable:!0}),"r");function y(t,e={},o){for(const s in t){const r=t[s],i=o?`${o}:${s}`:s;typeof r=="object"&&r!==null?y(r,e,i):typeof r=="function"&&(e[i]=r)}return e}n(y,"c");l(y,"flatHooks");function Xt(...t){const e={};for(const o of t){const s=y(o);for(const r in s)e[r]?e[r].push(s[r]):e[r]=[s[r]]}for(const o in e)if(e[o].length>1){const s=e[o];e[o]=(...r)=>G(s,i=>i(...r))}else e[o]=e[o][0];return e}n(Xt,"v");l(Xt,"mergeHooks");function G(t,e){return t.reduce((o,s)=>o.then(()=>e(s)),Promise.resolve())}n(G,"d$1");l(G,"serial");const V=(()=>{if(console.createTask)return console.createTask;const t={run:l(e=>e(),"run")};return()=>t})();function $(t,e,o,s){for(let r=o;r<t.length;r+=1)try{const i=s?s.run(()=>t[r](...e)):t[r](...e);if(i&&typeof i.then=="function")return Promise.resolve(i).then(()=>$(t,e,r+1,s))}catch(i){return Promise.reject(i)}}n($,"k");l($,"callHooks");function q(t,e,o){if(t.length>0)return $(t,e,0,V(o))}n(q,"y");l(q,"serialTaskCaller");function X(t,e,o){if(t.length>0){const s=V(o);return Promise.all(t.map(r=>s.run(()=>r(...e))))}}n(X,"m");l(X,"parallelTaskCaller");function Yt(t,e){return t.reduce((o,s)=>o.then(()=>s(...e||[])),Promise.resolve())}n(Yt,"x");l(Yt,"serialCaller");function Jt(t,e){return Promise.all(t.map(o=>o(...e||[])))}n(Jt,"P");l(Jt,"parallelCaller");function _(t,e){for(const o of[...t])o(e)}n(_,"a");l(_,"callEachWith");var Kt=class{static{n(this,"p")}static{l(this,"Hookable")}_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,e,o={}){if(!t||typeof e!="function")return()=>{};const s=t;let r;for(;this._deprecatedHooks[t];)r=this._deprecatedHooks[t],t=r.to;if(r&&!o.allowDeprecated){let i=r.message;i||(i=`${s} hook has been deprecated`+(r.to?`, please use ${r.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!e.name)try{Object.defineProperty(e,"name",{get:l(()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb","get"),configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(e),()=>{e&&(this.removeHook(t,e),e=void 0)}}hookOnce(t,e){let o,s=l((...r)=>(typeof o=="function"&&o(),o=void 0,s=void 0,e(...r)),"_function");return o=this.hook(t,s),o}removeHook(t,e){const o=this._hooks[t];if(o){const s=o.indexOf(e);s!==-1&&o.splice(s,1),o.length===0&&(this._hooks[t]=void 0)}}clearHook(t){this._hooks[t]=void 0}deprecateHook(t,e){this._deprecatedHooks[t]=typeof e=="string"?{to:e}:e;const o=this._hooks[t]||[];this._hooks[t]=void 0;for(const s of o)this.hook(t,s)}deprecateHooks(t){for(const e in t)this.deprecateHook(e,t[e])}addHooks(t){const e=y(t),o=Object.keys(e).map(s=>this.hook(s,e[s]));return()=>{for(const s of o)s();o.length=0}}removeHooks(t){const e=y(t);for(const o in e)this.removeHook(o,e[o])}removeAllHooks(){this._hooks={}}callHook(t,...e){return this.callHookWith(q,t,e)}callHookParallel(t,...e){return this.callHookWith(X,t,e)}callHookWith(t,e,o){const s=this._before||this._after?{name:e,args:o,context:{}}:void 0;this._before&&_(this._before,s);const r=t(this._hooks[e]?[...this._hooks[e]]:[],o,e);return r instanceof Promise?r.finally(()=>{this._after&&s&&_(this._after,s)}):(this._after&&s&&_(this._after,s),r)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const e=this._before.indexOf(t);e!==-1&&this._before.splice(e,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const e=this._after.indexOf(t);e!==-1&&this._after.splice(e,1)}}}};function Y(){return new Kt}n(Y,"w$1");l(Y,"createHooks");(class{static{l(this,"HookableCore")}_hooks;constructor(){this._hooks={}}hook(t,e){return!t||typeof e!="function"?()=>{}:(this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(e),()=>{e&&(this.removeHook(t,e),e=void 0)})}removeHook(t,e){const o=this._hooks[t];if(o){const s=o.indexOf(e);s!==-1&&o.splice(s,1),o.length===0&&(this._hooks[t]=void 0)}}callHook(t,...e){const o=this._hooks[t];if(!(!o||o.length===0))return $(o,e,0)}});const A=typeof window<"u";function Ut(t,e={}){const o={inspect:A,group:A,filter:l(()=>!0,"filter"),...e},s=o.filter,r=typeof s=="string"?a=>a.startsWith(s):s,i=o.tag?`[${o.tag}] `:"",c=l(a=>i+a.name+"".padEnd(a._id,"\0"),"logPrefix"),d={},H=t.beforeEach(a=>{r!==void 0&&!r(a.name)||(d[a.name]=d[a.name]||0,a._id=d[a.name]++,console.time(c(a)))}),P=t.afterEach(a=>{r!==void 0&&!r(a.name)||(o.group&&console.groupCollapsed(a.name),o.inspect?console.timeLog(c(a),a.args):console.timeEnd(c(a)),o.group&&console.groupEnd(),d[a.name]--)});return{close:l(()=>{H(),P()},"close")}}n(Ut,"W");l(Ut,"createDebugger");var zt=Object.defineProperty,E=n((t,e)=>zt(t,"name",{value:e,configurable:!0}),"t$1");const he=E(()=>Y(),"createVisHooks"),de=E(async(t,e)=>{if(!(!e||e.length===0))for(const o of e){if(o.hooks)for(const[s,r]of Object.entries(o.hooks)){const i=Array.isArray(r)?r:[r];for(const c of i)t.hook(s,c)}o.setup&&await o.setup(t)}},"registerPlugins");class ue{static{n(this,"HookableLifeCycle")}static{E(this,"HookableLifeCycle")}#o;#e;#s=new Map;constructor(e,o){this.#o=e,this.#e=o}startTasks(e){for(const o of e)this.#s.set(o.id,o),this.#t("task:before",o)}endTasks(e){for(const o of e)this.#s.delete(o.task.id),this.#t("task:after",o.task,o),o.status==="failure"?this.#t("task:failure",o.task,o):Qt(o.status)&&this.#t("task:cacheHit",o.task,o)}printCacheMiss(e,o){this.#t("task:cacheMiss",e,o)}onTaskStdout(e,o){this.#t("task:stdout",e,o)}onTaskStderr(e,o){this.#t("task:stderr",e,o)}#t(e,...o){Promise.resolve(this.#o.callHook(e,...o)).catch(s=>{if(this.#e)try{this.#e(e,s)}catch{}})}}const Qt=E(t=>t==="local-cache"||t==="local-cache-kept-existing"||t==="remote-cache","isCacheStatus");var Zt=Object.defineProperty,te=n((t,e)=>Zt(t,"name",{value:e,configurable:!0}),"i");const I=process.platform==="win32",ee=te(async t=>{const{command:e,cwd:o,env:s,logFile:r}=t,i=ft(r,"a",R);let c;const d=I?"cmd":"/bin/sh",H=I?["/d","/s","/c",e]:["-c",e];try{c=ut(d,H,{cwd:o,detached:!0,env:wt({...process.env,...s},o),stdio:["ignore",i,i],windowsHide:!0})}finally{pt(i)}if(c.pid===void 0&&await new Promise((P,a)=>{c.once("spawn",()=>{P()}),c.once("error",U=>{a(U)})}),c.pid===void 0)throw new Error(`Failed to spawn detached process for command: ${e}`);return c.unref(),{pid:c.pid}},"spawnDetached");var oe=Object.defineProperty,S=n((t,e)=>oe(t,"name",{value:e,configurable:!0}),"t");const J=5e3,fe=S(async t=>B(t.workspaceRoot,t.id,async()=>{const e=await b(t.workspaceRoot,t.id);if(e&&f(e.pid))throw new Error(`Service ${t.id} is already running (pid ${String(e.pid)})`);e&&await g(t.workspaceRoot,t.id,e);const o=await k(t.workspaceRoot),s=T(t.id),r=w(o,`${s}.log`),{pid:i}=await ee({command:t.command,cwd:t.cwd,env:t.env,logFile:r}),c={command:t.command,config:t.config,cwd:t.cwd,env:t.config.env??{},id:t.id,logFile:r,pid:i,slug:s,startedAt:new Date().toISOString(),visVersion:process.env.VIS_VERSION??"0.0.0"};if(await It(t.workspaceRoot,c),t.skipReadiness!==!0)try{await Dt(t.config,{timeoutMs:t.readinessTimeoutMs})}catch(d){throw await K(i,t.config.killGracePeriodMs??J).catch(()=>{}),await g(t.workspaceRoot,t.id,c).catch(()=>{}),d}return{entry:c}}),"startService"),pe=S(async t=>B(t.workspaceRoot,t.id,async()=>{const e=await b(t.workspaceRoot,t.id);if(!e)return{stopped:!1};if(!f(e.pid))return await g(t.workspaceRoot,t.id,e),{stopped:!1};const o=t.graceMs??e.config.killGracePeriodMs??J;return await K(e.pid,o),await g(t.workspaceRoot,t.id,e),{stopped:!0}}),"stopService"),K=S(async(t,e)=>{F(t,"SIGTERM");const o=Date.now();for(;Date.now()-o<e;){if(!f(t))return;await new Promise(s=>{setTimeout(s,100)})}f(t)&&F(t,"SIGKILL")},"stopServiceByPid"),F=S((t,e)=>{try{process.platform==="win32"?process.kill(t,e):process.kill(-t,e)}catch(o){if(o.code==="ESRCH")return;throw o}},"sendSignalToServiceGroup");export{ue as H,Pt as S,b as a,pe as b,he as c,At as d,Dt as e,g as f,f as i,le as p,de as r,fe as s};
1
+ var Q=Object.defineProperty;var n=(t,e)=>Q(t,"name",{value:e,configurable:!0});import{createRequire as z}from"node:module";import{f as tt,M as w}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{f as j}from"../packem_chunks/config.js";import{aT as ht,Q as dt,aU as L}from"../packem_chunks/bin.js";import{withEnhancedPath as wt}from"@visulima/task-runner";const Z=z(import.meta.url),m=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,p=n(t=>{if(typeof m<"u"&&m.versions&&m.versions.node){const[e,o]=m.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return m.getBuiltinModule(t)}return Z(t)},"__cjs_getBuiltinModule"),{Socket:et}=p("node:net"),{randomBytes:ot}=p("node:crypto"),{readdir:st,writeFile:rt,rm:T,rename:it,open:nt,readFile:at,stat:ct,unlink:O}=p("node:fs/promises"),{createRequire:lt}=p("node:module"),{spawn:ft}=p("node:child_process"),{openSync:ut,closeSync:pt}=p("node:fs");var kt=Object.defineProperty,mt=n((t,e)=>kt(t,"name",{value:e,configurable:!0}),"i$1"),vt=Object.defineProperty,W=mt((t,e)=>vt(t,"name",{value:e,configurable:!0}),"s");const gt=lt(import.meta.url),v=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,yt=W(t=>{if(typeof v<"u"&&v.versions&&v.versions.node){const[e,o]=v.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return v.getBuiltinModule(t)}return gt(t)},"__cjs_getBuiltinModule"),{lstat:x,mkdir:_t}=yt("node:fs/promises");var bt=Object.defineProperty,$t=W((t,e)=>bt(t,"name",{value:e,configurable:!0}),"o");const Et=$t(async t=>{tt(t);try{const e=await x(t);if(!e.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(j(e))}'`);return}catch(e){if(e.code!=="ENOENT")throw e}try{await _t(t,{recursive:!0})}catch(e){if(e.code!=="EEXIST")throw e;const o=await x(t);if(!o.isDirectory())throw new Error(`Ensure path exists, expected 'dir', got '${String(j(o))}'`,{cause:e})}},"ensureDir");var St=Object.defineProperty,f=n((t,e)=>St(t,"name",{value:e,configurable:!0}),"s$1");const Ht=3e4,N=100;class Pt extends Error{static{n(this,"ServiceReadinessError")}constructor(e,o){super(e),this.elapsedMs=o,this.name="ServiceReadinessError"}elapsedMs;static{f(this,"ServiceReadinessError")}}const Tt=f(async t=>{const e=t.host??"127.0.0.1",{port:o}=t,s=t.timeoutMs??Ht,r=Date.now();for(;Date.now()-r<s;){if(await Mt(e,o))return;await Rt(N)}throw new Pt(`Timed out waiting for ${e}:${String(o)} to accept TCP connections (${String(s)}ms)`,Date.now()-r)},"waitForTcp"),Mt=f((t,e)=>new Promise(o=>{const s=new et,r=f(i=>{s.removeAllListeners(),s.destroy(),o(i)},"onDone");s.once("connect",()=>{r(!0)}),s.once("error",()=>{r(!1)}),s.setTimeout(N,()=>{r(!1)});try{s.connect(e,t)}catch{r(!1)}}),"tryConnect"),Rt=f(t=>new Promise(e=>{setTimeout(e,t)}),"delay"),Dt=f(async(t,e)=>{const o=t.readiness??(t.port===void 0?void 0:{tcp:{port:t.port}});o&&await Tt({host:o.tcp.host,port:o.tcp.port,timeoutMs:e?.timeoutMs??o.tcp.timeoutMs})},"runReadiness");var Ot=Object.defineProperty,h=n((t,e)=>Ot(t,"name",{value:e,configurable:!0}),"o");const M=384,C=5e3,jt=50,xt=3e4,k=h(async t=>{const e=w(ht(t),"services");try{await Et(e)}catch(o){throw o.code==="ENOTDIR"?new Error(`Service registry path ${e} exists but is not a directory. Remove it or move the conflicting file before running \`vis service\`.`,{cause:o}):o}return e},"getRegistryDir"),R=h(t=>t.replaceAll("/","_").replaceAll(":","__"),"slugify"),D=h((t,e)=>w(t,`${R(e)}.json`),"entryPath"),Ct=h((t,e)=>w(t,`${R(e)}.lock`),"lockPath"),b=h(async(t,e)=>{const o=await k(t),s=D(o,e);if(await dt(s))try{return await L(s)}catch{return}},"readEntry"),At=h(async t=>{const e=await k(t);let o;try{o=await st(e)}catch{return[]}const s=[];for(const r of o)if(r.endsWith(".json"))try{const i=await L(w(e,r));s.push(i)}catch{}return s},"readAllEntries"),It=h(async(t,e)=>{const o=await k(t),s=D(o,e.id),r=w(o,`.${ot(8).toString("hex")}.tmp`);await rt(r,`${JSON.stringify(e,void 0,2)}
2
+ `,{mode:M});try{await Nt(r,s)}catch(i){throw await T(r,{force:!0}).catch(()=>{}),i}},"writeEntry"),Ft=new Set(["EACCES","EBUSY","EPERM"]),Lt=8,Wt=20,Nt=h(async(t,e)=>{let o=0;for(;;)try{await it(t,e);return}catch(s){const{code:r}=s;if(!(r!==void 0&&Ft.has(r))||o>=Lt)throw s;const i=Wt*2**o;await new Promise(c=>{setTimeout(c,i)}),o+=1}},"renameWithRetry"),g=h(async(t,e,o)=>{const s=await k(t),r=o??await b(t,e);await T(D(s,e),{force:!0}),r&&await T(r.logFile,{force:!0}).catch(()=>{})},"deleteEntry"),u=h(t=>{try{return process.kill(t,0),!0}catch{return!1}},"isAlive"),le=h(async t=>{const e=await At(t),o=[],s=[];for(const r of e){if(u(r.pid)){s.push(r);continue}const i=await b(t,r.id);if(i&&i.pid!==r.pid){s.push(i);continue}await g(t,r.id,r).catch(()=>{}),o.push(r.id)}return{pruned:o,surviving:s}},"pruneDead"),Bt=h(t=>new Promise(e=>{setTimeout(e,t)}),"sleep"),Gt=h(async t=>{try{const e=await nt(t,"wx",M);try{await e.writeFile(String(process.pid))}finally{await e.close().catch(()=>{})}return!0}catch(e){if(e.code==="EEXIST")return!1;throw e}},"tryClaimLock"),Vt=h(async t=>{let e;try{const o=await at(t,"utf8"),s=Number.parseInt(o.trim(),10);e=Number.isFinite(s)?s:void 0}catch{return!0}if(e!==void 0&&!u(e))return!0;try{const o=await ct(t);return Date.now()-o.mtimeMs>xt}catch{return!0}},"isLockStale"),B=h(async(t,e,o)=>{const s=await k(t),r=Ct(s,e),i=Date.now();for(;!await Gt(r);){if(await Vt(r)){await O(r).catch(()=>{});continue}if(Date.now()-i>=C)throw new Error(`Could not acquire service lock for ${e} within ${String(C)}ms — another \`vis service\` invocation appears to be holding it.`);await Bt(jt)}try{return await o()}finally{await O(r).catch(()=>{})}},"withServiceLock");var qt=Object.defineProperty,l=n((t,e)=>qt(t,"name",{value:e,configurable:!0}),"r");function y(t,e={},o){for(const s in t){const r=t[s],i=o?`${o}:${s}`:s;typeof r=="object"&&r!==null?y(r,e,i):typeof r=="function"&&(e[i]=r)}return e}n(y,"c");l(y,"flatHooks");function Ut(...t){const e={};for(const o of t){const s=y(o);for(const r in s)e[r]?e[r].push(s[r]):e[r]=[s[r]]}for(const o in e)if(e[o].length>1){const s=e[o];e[o]=(...r)=>G(s,i=>i(...r))}else e[o]=e[o][0];return e}n(Ut,"v");l(Ut,"mergeHooks");function G(t,e){return t.reduce((o,s)=>o.then(()=>e(s)),Promise.resolve())}n(G,"d$1");l(G,"serial");const V=(()=>{if(console.createTask)return console.createTask;const t={run:l(e=>e(),"run")};return()=>t})();function $(t,e,o,s){for(let r=o;r<t.length;r+=1)try{const i=s?s.run(()=>t[r](...e)):t[r](...e);if(i&&typeof i.then=="function")return Promise.resolve(i).then(()=>$(t,e,r+1,s))}catch(i){return Promise.reject(i)}}n($,"k");l($,"callHooks");function q(t,e,o){if(t.length>0)return $(t,e,0,V(o))}n(q,"y");l(q,"serialTaskCaller");function U(t,e,o){if(t.length>0){const s=V(o);return Promise.all(t.map(r=>s.run(()=>r(...e))))}}n(U,"m");l(U,"parallelTaskCaller");function Xt(t,e){return t.reduce((o,s)=>o.then(()=>s(...e||[])),Promise.resolve())}n(Xt,"x");l(Xt,"serialCaller");function Yt(t,e){return Promise.all(t.map(o=>o(...e||[])))}n(Yt,"P");l(Yt,"parallelCaller");function _(t,e){for(const o of[...t])o(e)}n(_,"a");l(_,"callEachWith");var Jt=class{static{n(this,"p")}static{l(this,"Hookable")}_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,e,o={}){if(!t||typeof e!="function")return()=>{};const s=t;let r;for(;this._deprecatedHooks[t];)r=this._deprecatedHooks[t],t=r.to;if(r&&!o.allowDeprecated){let i=r.message;i||(i=`${s} hook has been deprecated`+(r.to?`, please use ${r.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!e.name)try{Object.defineProperty(e,"name",{get:l(()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb","get"),configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(e),()=>{e&&(this.removeHook(t,e),e=void 0)}}hookOnce(t,e){let o,s=l((...r)=>(typeof o=="function"&&o(),o=void 0,s=void 0,e(...r)),"_function");return o=this.hook(t,s),o}removeHook(t,e){const o=this._hooks[t];if(o){const s=o.indexOf(e);s!==-1&&o.splice(s,1),o.length===0&&(this._hooks[t]=void 0)}}clearHook(t){this._hooks[t]=void 0}deprecateHook(t,e){this._deprecatedHooks[t]=typeof e=="string"?{to:e}:e;const o=this._hooks[t]||[];this._hooks[t]=void 0;for(const s of o)this.hook(t,s)}deprecateHooks(t){for(const e in t)this.deprecateHook(e,t[e])}addHooks(t){const e=y(t),o=Object.keys(e).map(s=>this.hook(s,e[s]));return()=>{for(const s of o)s();o.length=0}}removeHooks(t){const e=y(t);for(const o in e)this.removeHook(o,e[o])}removeAllHooks(){this._hooks={}}callHook(t,...e){return this.callHookWith(q,t,e)}callHookParallel(t,...e){return this.callHookWith(U,t,e)}callHookWith(t,e,o){const s=this._before||this._after?{name:e,args:o,context:{}}:void 0;this._before&&_(this._before,s);const r=t(this._hooks[e]?[...this._hooks[e]]:[],o,e);return r instanceof Promise?r.finally(()=>{this._after&&s&&_(this._after,s)}):(this._after&&s&&_(this._after,s),r)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const e=this._before.indexOf(t);e!==-1&&this._before.splice(e,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const e=this._after.indexOf(t);e!==-1&&this._after.splice(e,1)}}}};function X(){return new Jt}n(X,"w$1");l(X,"createHooks");(class{static{l(this,"HookableCore")}_hooks;constructor(){this._hooks={}}hook(t,e){return!t||typeof e!="function"?()=>{}:(this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(e),()=>{e&&(this.removeHook(t,e),e=void 0)})}removeHook(t,e){const o=this._hooks[t];if(o){const s=o.indexOf(e);s!==-1&&o.splice(s,1),o.length===0&&(this._hooks[t]=void 0)}}callHook(t,...e){const o=this._hooks[t];if(!(!o||o.length===0))return $(o,e,0)}});const A=typeof window<"u";function Kt(t,e={}){const o={inspect:A,group:A,filter:l(()=>!0,"filter"),...e},s=o.filter,r=typeof s=="string"?a=>a.startsWith(s):s,i=o.tag?`[${o.tag}] `:"",c=l(a=>i+a.name+"".padEnd(a._id,"\0"),"logPrefix"),d={},H=t.beforeEach(a=>{r!==void 0&&!r(a.name)||(d[a.name]=d[a.name]||0,a._id=d[a.name]++,console.time(c(a)))}),P=t.afterEach(a=>{r!==void 0&&!r(a.name)||(o.group&&console.groupCollapsed(a.name),o.inspect?console.timeLog(c(a),a.args):console.timeEnd(c(a)),o.group&&console.groupEnd(),d[a.name]--)});return{close:l(()=>{H(),P()},"close")}}n(Kt,"W");l(Kt,"createDebugger");var Qt=Object.defineProperty,E=n((t,e)=>Qt(t,"name",{value:e,configurable:!0}),"t$1");const he=E(()=>X(),"createVisHooks"),de=E(async(t,e)=>{if(!(!e||e.length===0))for(const o of e){if(o.hooks)for(const[s,r]of Object.entries(o.hooks)){const i=Array.isArray(r)?r:[r];for(const c of i)t.hook(s,c)}o.setup&&await o.setup(t)}},"registerPlugins");class fe{static{n(this,"HookableLifeCycle")}static{E(this,"HookableLifeCycle")}#o;#e;#s=new Map;constructor(e,o){this.#o=e,this.#e=o}startTasks(e){for(const o of e)this.#s.set(o.id,o),this.#t("task:before",o)}endTasks(e){for(const o of e)this.#s.delete(o.task.id),this.#t("task:after",o.task,o),o.status==="failure"?this.#t("task:failure",o.task,o):zt(o.status)&&this.#t("task:cacheHit",o.task,o)}printCacheMiss(e,o){this.#t("task:cacheMiss",e,o)}onTaskStdout(e,o){this.#t("task:stdout",e,o)}onTaskStderr(e,o){this.#t("task:stderr",e,o)}#t(e,...o){Promise.resolve(this.#o.callHook(e,...o)).catch(s=>{if(this.#e)try{this.#e(e,s)}catch{}})}}const zt=E(t=>t==="local-cache"||t==="local-cache-kept-existing"||t==="remote-cache","isCacheStatus");var Zt=Object.defineProperty,te=n((t,e)=>Zt(t,"name",{value:e,configurable:!0}),"i");const I=process.platform==="win32",ee=te(async t=>{const{command:e,cwd:o,env:s,logFile:r}=t,i=ut(r,"a",M);let c;const d=I?"cmd":"/bin/sh",H=I?["/d","/s","/c",e]:["-c",e];try{c=ft(d,H,{cwd:o,detached:!0,env:wt({...process.env,...s},o),stdio:["ignore",i,i],windowsHide:!0})}finally{pt(i)}if(c.pid===void 0&&await new Promise((P,a)=>{c.once("spawn",()=>{P()}),c.once("error",K=>{a(K)})}),c.pid===void 0)throw new Error(`Failed to spawn detached process for command: ${e}`);return c.unref(),{pid:c.pid}},"spawnDetached");var oe=Object.defineProperty,S=n((t,e)=>oe(t,"name",{value:e,configurable:!0}),"t");const Y=5e3,ue=S(async t=>B(t.workspaceRoot,t.id,async()=>{const e=await b(t.workspaceRoot,t.id);if(e&&u(e.pid))throw new Error(`Service ${t.id} is already running (pid ${String(e.pid)})`);e&&await g(t.workspaceRoot,t.id,e);const o=await k(t.workspaceRoot),s=R(t.id),r=w(o,`${s}.log`),{pid:i}=await ee({command:t.command,cwd:t.cwd,env:t.env,logFile:r}),c={command:t.command,config:t.config,cwd:t.cwd,env:t.config.env??{},id:t.id,logFile:r,pid:i,slug:s,startedAt:new Date().toISOString(),visVersion:process.env.VIS_VERSION??"0.0.0"};if(await It(t.workspaceRoot,c),t.skipReadiness!==!0)try{await Dt(t.config,{timeoutMs:t.readinessTimeoutMs})}catch(d){throw await J(i,t.config.killGracePeriodMs??Y).catch(()=>{}),await g(t.workspaceRoot,t.id,c).catch(()=>{}),d}return{entry:c}}),"startService"),pe=S(async t=>B(t.workspaceRoot,t.id,async()=>{const e=await b(t.workspaceRoot,t.id);if(!e)return{stopped:!1};if(!u(e.pid))return await g(t.workspaceRoot,t.id,e),{stopped:!1};const o=t.graceMs??e.config.killGracePeriodMs??Y;return await J(e.pid,o),await g(t.workspaceRoot,t.id,e),{stopped:!0}}),"stopService"),J=S(async(t,e)=>{F(t,"SIGTERM");const o=Date.now();for(;Date.now()-o<e;){if(!u(t))return;await new Promise(s=>{setTimeout(s,100)})}u(t)&&F(t,"SIGKILL")},"stopServiceByPid"),F=S((t,e)=>{try{process.platform==="win32"?process.kill(t,e):process.kill(-t,e)}catch(o){if(o.code==="ESRCH")return;throw o}},"sendSignalToServiceGroup");export{fe as H,Pt as S,b as a,pe as b,he as c,At as d,Dt as e,g as f,u as i,le as p,de as r,ue as s};
@@ -1 +1 @@
1
- var T=Object.defineProperty;var j=(n,e)=>T(n,"name",{value:e,configurable:!0});import{createRequire as A}from"node:module";import{k as R,j as C}from"../packem_chunks/bin.js";const B=A(import.meta.url),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,q=j(n=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[e,t]=h.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return h.getBuiltinModule(n)}return B(n)},"__cjs_getBuiltinModule"),{createRequire:N}=q("node:module");var U=Object.defineProperty,z=j((n,e)=>U(n,"name",{value:e,configurable:!0}),"L"),I=Object.defineProperty,F=z((n,e)=>I(n,"name",{value:e,configurable:!0}),"F");const J=N(import.meta.url),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,S=F(n=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[e,t]=y.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return y.getBuiltinModule(n)}return J(n)},"__cjs_getBuiltinModule"),{readFileSync:Y}=S("node:fs"),{readFile:Z}=S("node:fs/promises");var K=Object.defineProperty,l=F((n,e)=>K(n,"name",{value:e,configurable:!0}),"g");const G={sha256:"sha256",sha384:"sha384",sha512:"sha512"},H=1024,Q=/^[A-Z0-9+/]+={0,2}$/i,V=/.*node_modules\/((?:@[^/]+\/)?[^/]+)$/,k=/^['"]/,v=/['"]$/,X=/^[a-z][a-zA-Z0-9]*:\s*$/m,ee=/resolution:\s*\{[^}]*integrity:\s*([^,}\s]+)/,ne=/^["']?((?:@[^/@"']+\/)?[^@"'\n]+)@[^"'\n]+["']?:?[\t\v\f\r \u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\n((?:[\t ][^\n]*\n?)+)/gm,te=/^\s+version:?\s+"?([^"\n]+)"?/m,se=/^\s+integrity[\s:]+"?([^"\s]+)"?/m,x=l(n=>{if(n.length>H)return;const e=n.indexOf("-");if(e<=0)return;const t=G[n.slice(0,e).toLowerCase()];if(!t)return;const s=n.slice(e+1);if(Q.test(s))try{const i=Buffer.from(s,"base64");return i.length===0?void 0:{algorithm:t,hex:i.toString("hex")}}catch{return}},"decodeSriIntegrity"),w=l((n,e,t)=>{const s=`${t.name}@${t.version}`;e.has(s)||(e.add(s),n.push(t))},"pushUniqueEntry"),m=l((n,e,t)=>{t&&Object.keys(t).length>0&&(n[e]={...t})},"copyDepMap"),g=l(n=>{if(!n)return;const e={};for(const[t,s]of Object.entries(n))e[t]=[s];return Object.keys(e).length>0?e:void 0},"liftDepMap"),re=l(n=>{const e=[],t=new Set;let s;try{s=JSON.parse(n)}catch{return e}if(!s.packages)return e;for(const[i,r]of Object.entries(s.packages)){if(!i||!r.version)continue;const p=V.exec(i);if(!p?.[1])continue;const c=r.name??p[1];if(c.startsWith("."))continue;const o={name:c,version:r.version};if(r.integrity){const a=x(r.integrity);a&&(o.integrity=a)}m(o,"dependencies",g(r.dependencies)),m(o,"peerDependencies",g(r.peerDependencies)),m(o,"optionalDependencies",g(r.optionalDependencies)),w(e,t,o)}return e},"parseNpmLockFile"),_=l(n=>{let e=n.trim();e.startsWith("/")&&(e=e.slice(1)),e=e.replace(k,"").replace(v,"");const t=e.indexOf("(");t>0&&(e=e.slice(0,t));const s=e.lastIndexOf("@");if(s<=0)return;const i=e.slice(0,s),r=e.slice(s+1);if(!(!i||!r||r.startsWith("link:")||r.startsWith("workspace:")||r.startsWith("file:")))return{name:i,version:r}},"splitPnpmPackageKey"),W=l((n,e)=>{const t=new RegExp(String.raw`^${e}:\s*$`,"m").exec(n);if(!t)return;const s=t.index+t[0].length,i=X.exec(n.slice(s));return n.slice(s,i?s+i.index:n.length)},"sliceTopLevelSection"),oe=l(n=>{const e=new Map,t=W(n,"snapshots");if(!t)return e;const s=/^ {2}(['"]?[^\s:][^:\n]*?['"]?):\s*\n((?: {4}[^\n]*\n?)+)/gm;let i;for(;(i=s.exec(t)??void 0)!==void 0;){const r=_(i[1]);if(!r)continue;const p=`${r.name}@${r.version}`,c=i[2],o=e.get(p)??{};for(const a of["dependencies","peerDependencies","optionalDependencies"]){const u=b(c,a);if(!u)continue;const d=o[a]??{};for(const[f,P]of Object.entries(u)){const D=d[f]??[];for(const $ of P)D.includes($)||D.push($);d[f]=D}o[a]=d}e.set(p,o)}return e},"parsePnpmSnapshotEdges"),ie=l(n=>{const e=[],t=new Set,s=W(n,"packages");if(!s)return e;const i=oe(n),r=/^ {2}(['"]?[^\s:][^:\n]*?['"]?):\s*\n((?: {4}[^\n]*\n?)+)/gm;let p;for(;(p=r.exec(s)??void 0)!==void 0;){const c=_(p[1]);if(!c)continue;const o=p[2],a=ee.exec(o),u={name:c.name,version:c.version};if(a?.[1]){const f=x(a[1]);f&&(u.integrity=f)}const d=i.get(`${c.name}@${c.version}`);m(u,"dependencies",d?.dependencies??b(o,"dependencies")),m(u,"peerDependencies",d?.peerDependencies??b(o,"peerDependencies")),m(u,"optionalDependencies",d?.optionalDependencies??b(o,"optionalDependencies")),w(e,t,u)}return e},"parsePnpmLockFile"),b=l((n,e)=>{const t=new RegExp(String.raw`^ {4}${e}:\s*\n((?: {6,}[^\n]*\n?)+)`,"m").exec(n);if(!t?.[1])return;const s={},i=/^ {6}([^\s:]+):\s*([^\n]+)/gm;let r;for(;(r=i.exec(t[1])??void 0)!==void 0;){const p=r[1].replace(k,"").replace(v,"");let c=r[2].trim();c=c.replace(k,"").replace(v,"");const o=c.indexOf("(");if(o>0&&(c=c.slice(0,o).trim()),!p||!c)continue;const a=s[p]??[];a.includes(c)||a.push(c),s[p]=a}return Object.keys(s).length>0?s:void 0},"extractPnpmDependencyMap"),ce=l(n=>{const e=[],t=new Set,s=ne;s.lastIndex=0;let i;for(;(i=s.exec(n)??void 0)!==void 0;){const r=i[1].replace(k,"").replace(v,"");if(!r)continue;const p=i[2],c=te.exec(p);if(!c?.[1])continue;const o={name:r,version:c[1].trim()},a=se.exec(p);if(a?.[1]){const u=x(a[1]);u&&(o.integrity=u)}m(o,"dependencies",O(p,"dependencies")),m(o,"peerDependencies",O(p,"peerDependencies")),m(o,"optionalDependencies",O(p,"optionalDependencies")),w(e,t,o)}return e},"parseYarnLockFile"),O=l((n,e)=>{const t=new RegExp(String.raw`^ {2}${e}:\s*\n((?: {4,}[^\n]*\n?)+)`,"m").exec(n);if(!t?.[1])return;const s={},i=/^ {4}(['"]?[^\s:'"]+['"]?)\s*(?::\s*)?['"]([^'"\n]+)['"]/gm;let r;for(;(r=i.exec(t[1])??void 0)!==void 0;){const p=r[1].replace(k,"").replace(v,""),c=r[2];if(p&&c){const o=s[p]??[];o.includes(c)||o.push(c),s[p]=o}}return Object.keys(s).length>0?s:void 0},"extractYarnDependencyMap"),pe=/,(?=\s*[}\]])/g,ae=l(n=>{const e=[],t=new Set;let s;try{s=JSON.parse(n.replaceAll(pe,""))}catch{return e}if(!s.packages)return e;for(const i of Object.values(s.packages)){const r=i[0];if(typeof r!="string")continue;const p=r.indexOf("@",1);if(p<=0)continue;const c=r.slice(0,p),o=r.slice(p+1);if(!c||!o||o.startsWith("workspace:")||o.startsWith("link:")||o.startsWith("file:"))continue;const a={name:c,version:o},u=i[3];if(typeof u=="string"&&u.length>0){const f=x(u);f&&(a.integrity=f)}const d=i[2];if(d&&typeof d=="object"&&!Array.isArray(d)){const f=d;m(a,"dependencies",g(f.dependencies)),m(a,"peerDependencies",g(f.peerDependencies)),m(a,"optionalDependencies",g(f.optionalDependencies))}w(e,t,a)}return e},"parseBunLockFile"),E=l(n=>{if(n.endsWith("pnpm-lock.yaml"))return"pnpm";if(n.endsWith("package-lock.json"))return"npm";if(n.endsWith("yarn.lock"))return"yarn";if(n.endsWith("bun.lock"))return"bun"},"inferLockFileType"),L=l((n,e)=>{switch(e){case"bun":return ae(n);case"npm":return re(n);case"pnpm":return ie(n);case"yarn":return ce(n);default:return[]}},"parseLockFileContent"),M=["pnpm-lock.yaml","package-lock.json","yarn.lock","bun.lock"];l(async n=>{const e=await R(M,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find a supported lock file (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lock)");const t=E(e);if(!t)throw new Error(`Unsupported lock file: ${e}`);const s=await Z(e,"utf8");return{entries:L(s,t),path:e,type:t}},"parseLockFile");l(n=>{const e=C(M,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find a supported lock file (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lock)");const t=E(e);if(!t)throw new Error(`Unsupported lock file: ${e}`);return{entries:L(Y(e,"utf8"),t),path:e,type:t}},"parseLockFileSync");export{L as F};
1
+ var T=Object.defineProperty;var j=(n,e)=>T(n,"name",{value:e,configurable:!0});import{createRequire as A}from"node:module";import{m as R,q as C}from"../packem_chunks/bin.js";const q=A(import.meta.url),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,B=j(n=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[e,t]=h.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return h.getBuiltinModule(n)}return q(n)},"__cjs_getBuiltinModule"),{createRequire:N}=B("node:module");var U=Object.defineProperty,z=j((n,e)=>U(n,"name",{value:e,configurable:!0}),"L"),I=Object.defineProperty,F=z((n,e)=>I(n,"name",{value:e,configurable:!0}),"F");const J=N(import.meta.url),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,S=F(n=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[e,t]=y.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return y.getBuiltinModule(n)}return J(n)},"__cjs_getBuiltinModule"),{readFileSync:Y}=S("node:fs"),{readFile:Z}=S("node:fs/promises");var K=Object.defineProperty,l=F((n,e)=>K(n,"name",{value:e,configurable:!0}),"g");const G={sha256:"sha256",sha384:"sha384",sha512:"sha512"},H=1024,Q=/^[A-Z0-9+/]+={0,2}$/i,V=/.*node_modules\/((?:@[^/]+\/)?[^/]+)$/,k=/^['"]/,v=/['"]$/,X=/^[a-z][a-zA-Z0-9]*:\s*$/m,ee=/resolution:\s*\{[^}]*integrity:\s*([^,}\s]+)/,ne=/^["']?((?:@[^/@"']+\/)?[^@"'\n]+)@[^"'\n]+["']?:?[\t\v\f\r \u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]*\n((?:[\t ][^\n]*\n?)+)/gm,te=/^\s+version:?\s+"?([^"\n]+)"?/m,se=/^\s+integrity[\s:]+"?([^"\s]+)"?/m,x=l(n=>{if(n.length>H)return;const e=n.indexOf("-");if(e<=0)return;const t=G[n.slice(0,e).toLowerCase()];if(!t)return;const s=n.slice(e+1);if(Q.test(s))try{const i=Buffer.from(s,"base64");return i.length===0?void 0:{algorithm:t,hex:i.toString("hex")}}catch{return}},"decodeSriIntegrity"),w=l((n,e,t)=>{const s=`${t.name}@${t.version}`;e.has(s)||(e.add(s),n.push(t))},"pushUniqueEntry"),m=l((n,e,t)=>{t&&Object.keys(t).length>0&&(n[e]={...t})},"copyDepMap"),g=l(n=>{if(!n)return;const e={};for(const[t,s]of Object.entries(n))e[t]=[s];return Object.keys(e).length>0?e:void 0},"liftDepMap"),re=l(n=>{const e=[],t=new Set;let s;try{s=JSON.parse(n)}catch{return e}if(!s.packages)return e;for(const[i,r]of Object.entries(s.packages)){if(!i||!r.version)continue;const p=V.exec(i);if(!p?.[1])continue;const c=r.name??p[1];if(c.startsWith("."))continue;const o={name:c,version:r.version};if(r.integrity){const a=x(r.integrity);a&&(o.integrity=a)}m(o,"dependencies",g(r.dependencies)),m(o,"peerDependencies",g(r.peerDependencies)),m(o,"optionalDependencies",g(r.optionalDependencies)),w(e,t,o)}return e},"parseNpmLockFile"),_=l(n=>{let e=n.trim();e.startsWith("/")&&(e=e.slice(1)),e=e.replace(k,"").replace(v,"");const t=e.indexOf("(");t>0&&(e=e.slice(0,t));const s=e.lastIndexOf("@");if(s<=0)return;const i=e.slice(0,s),r=e.slice(s+1);if(!(!i||!r||r.startsWith("link:")||r.startsWith("workspace:")||r.startsWith("file:")))return{name:i,version:r}},"splitPnpmPackageKey"),W=l((n,e)=>{const t=new RegExp(String.raw`^${e}:\s*$`,"m").exec(n);if(!t)return;const s=t.index+t[0].length,i=X.exec(n.slice(s));return n.slice(s,i?s+i.index:n.length)},"sliceTopLevelSection"),oe=l(n=>{const e=new Map,t=W(n,"snapshots");if(!t)return e;const s=/^ {2}(['"]?[^\s:][^:\n]*?['"]?):\s*\n((?: {4}[^\n]*\n?)+)/gm;let i;for(;(i=s.exec(t)??void 0)!==void 0;){const r=_(i[1]);if(!r)continue;const p=`${r.name}@${r.version}`,c=i[2],o=e.get(p)??{};for(const a of["dependencies","peerDependencies","optionalDependencies"]){const u=b(c,a);if(!u)continue;const d=o[a]??{};for(const[f,P]of Object.entries(u)){const D=d[f]??[];for(const $ of P)D.includes($)||D.push($);d[f]=D}o[a]=d}e.set(p,o)}return e},"parsePnpmSnapshotEdges"),ie=l(n=>{const e=[],t=new Set,s=W(n,"packages");if(!s)return e;const i=oe(n),r=/^ {2}(['"]?[^\s:][^:\n]*?['"]?):\s*\n((?: {4}[^\n]*\n?)+)/gm;let p;for(;(p=r.exec(s)??void 0)!==void 0;){const c=_(p[1]);if(!c)continue;const o=p[2],a=ee.exec(o),u={name:c.name,version:c.version};if(a?.[1]){const f=x(a[1]);f&&(u.integrity=f)}const d=i.get(`${c.name}@${c.version}`);m(u,"dependencies",d?.dependencies??b(o,"dependencies")),m(u,"peerDependencies",d?.peerDependencies??b(o,"peerDependencies")),m(u,"optionalDependencies",d?.optionalDependencies??b(o,"optionalDependencies")),w(e,t,u)}return e},"parsePnpmLockFile"),b=l((n,e)=>{const t=new RegExp(String.raw`^ {4}${e}:\s*\n((?: {6,}[^\n]*\n?)+)`,"m").exec(n);if(!t?.[1])return;const s={},i=/^ {6}([^\s:]+):\s*([^\n]+)/gm;let r;for(;(r=i.exec(t[1])??void 0)!==void 0;){const p=r[1].replace(k,"").replace(v,"");let c=r[2].trim();c=c.replace(k,"").replace(v,"");const o=c.indexOf("(");if(o>0&&(c=c.slice(0,o).trim()),!p||!c)continue;const a=s[p]??[];a.includes(c)||a.push(c),s[p]=a}return Object.keys(s).length>0?s:void 0},"extractPnpmDependencyMap"),ce=l(n=>{const e=[],t=new Set,s=ne;s.lastIndex=0;let i;for(;(i=s.exec(n)??void 0)!==void 0;){const r=i[1].replace(k,"").replace(v,"");if(!r)continue;const p=i[2],c=te.exec(p);if(!c?.[1])continue;const o={name:r,version:c[1].trim()},a=se.exec(p);if(a?.[1]){const u=x(a[1]);u&&(o.integrity=u)}m(o,"dependencies",O(p,"dependencies")),m(o,"peerDependencies",O(p,"peerDependencies")),m(o,"optionalDependencies",O(p,"optionalDependencies")),w(e,t,o)}return e},"parseYarnLockFile"),O=l((n,e)=>{const t=new RegExp(String.raw`^ {2}${e}:\s*\n((?: {4,}[^\n]*\n?)+)`,"m").exec(n);if(!t?.[1])return;const s={},i=/^ {4}(['"]?[^\s:'"]+['"]?)\s*(?::\s*)?['"]([^'"\n]+)['"]/gm;let r;for(;(r=i.exec(t[1])??void 0)!==void 0;){const p=r[1].replace(k,"").replace(v,""),c=r[2];if(p&&c){const o=s[p]??[];o.includes(c)||o.push(c),s[p]=o}}return Object.keys(s).length>0?s:void 0},"extractYarnDependencyMap"),pe=/,(?=\s*[}\]])/g,ae=l(n=>{const e=[],t=new Set;let s;try{s=JSON.parse(n.replaceAll(pe,""))}catch{return e}if(!s.packages)return e;for(const i of Object.values(s.packages)){const r=i[0];if(typeof r!="string")continue;const p=r.indexOf("@",1);if(p<=0)continue;const c=r.slice(0,p),o=r.slice(p+1);if(!c||!o||o.startsWith("workspace:")||o.startsWith("link:")||o.startsWith("file:"))continue;const a={name:c,version:o},u=i[3];if(typeof u=="string"&&u.length>0){const f=x(u);f&&(a.integrity=f)}const d=i[2];if(d&&typeof d=="object"&&!Array.isArray(d)){const f=d;m(a,"dependencies",g(f.dependencies)),m(a,"peerDependencies",g(f.peerDependencies)),m(a,"optionalDependencies",g(f.optionalDependencies))}w(e,t,a)}return e},"parseBunLockFile"),E=l(n=>{if(n.endsWith("pnpm-lock.yaml"))return"pnpm";if(n.endsWith("package-lock.json"))return"npm";if(n.endsWith("yarn.lock"))return"yarn";if(n.endsWith("bun.lock"))return"bun"},"inferLockFileType"),L=l((n,e)=>{switch(e){case"bun":return ae(n);case"npm":return re(n);case"pnpm":return ie(n);case"yarn":return ce(n);default:return[]}},"parseLockFileContent"),M=["pnpm-lock.yaml","package-lock.json","yarn.lock","bun.lock"];l(async n=>{const e=await R(M,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find a supported lock file (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lock)");const t=E(e);if(!t)throw new Error(`Unsupported lock file: ${e}`);const s=await Z(e,"utf8");return{entries:L(s,t),path:e,type:t}},"parseLockFile");l(n=>{const e=C(M,{type:"file",...n&&{cwd:n}});if(!e)throw new Error("Could not find a supported lock file (pnpm-lock.yaml, package-lock.json, yarn.lock, bun.lock)");const t=E(e);if(!t)throw new Error(`Unsupported lock file: ${e}`);return{entries:L(Y(e,"utf8"),t),path:e,type:t}},"parseLockFileSync");export{L as F};
@@ -1,4 +1,4 @@
1
- var E=Object.defineProperty;var R=(u,p)=>E(u,"name",{value:p,configurable:!0});import{M as d,i as o,$}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{B as h}from"../packem_chunks/config.js";import{m as x}from"../packem_chunks/bin.js";var S=Object.defineProperty,b=R((u,p)=>S(u,"name",{value:p,configurable:!0}),"k");const U=b((u,p,A,m=[])=>{const i=[];if(A===void 0)return i.push("minimumReleaseAge not set in vis.config; skipping native sync."),i;const r=Number.isFinite(A)?Math.max(0,Math.round(A)):0;switch(u){case"bun":{const n=d(p,"bunfig.toml");let e=o(n)?$(n):"";const a=r*60,t=`minimumReleaseAge = ${String(a)}`,s=m.length>0?`minimumReleaseAgeExcludes = [${m.map(c=>`"${c.replaceAll(String.raw`"`,String.raw`\"`)}"`).join(", ")}]`:void 0,g=/^\[install\][ \t]*\n/m.exec(e);if(g?.index===void 0){const c=s?`${t}
1
+ var E=Object.defineProperty;var R=(u,p)=>E(u,"name",{value:p,configurable:!0});import{M as d,i as o,$}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{B as h}from"../packem_chunks/config.js";import{u as x}from"../packem_chunks/bin.js";var S=Object.defineProperty,b=R((u,p)=>S(u,"name",{value:p,configurable:!0}),"k");const U=b((u,p,A,m=[])=>{const i=[];if(A===void 0)return i.push("minimumReleaseAge not set in vis.config; skipping native sync."),i;const r=Number.isFinite(A)?Math.max(0,Math.round(A)):0;switch(u){case"bun":{const n=d(p,"bunfig.toml");let e=o(n)?$(n):"";const a=r*60,t=`minimumReleaseAge = ${String(a)}`,s=m.length>0?`minimumReleaseAgeExcludes = [${m.map(c=>`"${c.replaceAll(String.raw`"`,String.raw`\"`)}"`).join(", ")}]`:void 0,g=/^\[install\][ \t]*\n/m.exec(e);if(g?.index===void 0){const c=s?`${t}
2
2
  ${s}`:t;e=`${e.trimEnd()?`${e.trimEnd()}
3
3
 
4
4
  `:""}[install]
@@ -1,19 +1,19 @@
1
- var v=Object.defineProperty;var E=(o,l)=>v(o,"name",{value:l,configurable:!0});import{M as c,$ as S,i as g}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{B as i,n as O}from"../packem_chunks/config.js";import{e as N,o as U}from"../packem_chunks/bin.js";var x=Object.defineProperty,D=E((o,l)=>x(o,"name",{value:l,configurable:!0}),"f");const W=D((o,l,d)=>{const s=[],b=Object.entries(d).filter(([,n])=>n).map(([n])=>n);switch(o){case"bun":{const n=c(l,"package.json");if(g(n))try{const e=O(n);e.trustedDependencies=b,i(n,`${JSON.stringify(e,null,2)}
2
- `),s.push(`Updated package.json trustedDependencies with ${b.length} packages`)}catch(e){s.push(`Failed to update package.json: ${e instanceof Error?e.message:String(e)}`)}break}case"npm":{const n=c(l,".npmrc");let e=g(n)?S(n):"";/^\s*ignore-scripts\s*=\s*true\s*$/m.test(e)?s.push(".npmrc already has ignore-scripts=true"):(e=`${e.trimEnd()}
1
+ var v=Object.defineProperty;var E=(o,l)=>v(o,"name",{value:l,configurable:!0});import{M as c,$ as S,i as g}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{B as i,n as O}from"../packem_chunks/config.js";import{k as N,o as U}from"../packem_chunks/bin.js";var x=Object.defineProperty,D=E((o,l)=>x(o,"name",{value:l,configurable:!0}),"f");const W=D((o,l,d)=>{const s=[],k=Object.entries(d).filter(([,n])=>n).map(([n])=>n);switch(o){case"bun":{const n=c(l,"package.json");if(g(n))try{const e=O(n);e.trustedDependencies=k,i(n,`${JSON.stringify(e,null,2)}
2
+ `),s.push(`Updated package.json trustedDependencies with ${k.length} packages`)}catch(e){s.push(`Failed to update package.json: ${e instanceof Error?e.message:String(e)}`)}break}case"npm":{const n=c(l,".npmrc");let e=g(n)?S(n):"";/^\s*ignore-scripts\s*=\s*true\s*$/m.test(e)?s.push(".npmrc already has ignore-scripts=true"):(e=`${e.trimEnd()}
3
3
  ignore-scripts=true
4
- `,i(n,e),s.push("Added ignore-scripts=true to .npmrc"));break}case"pnpm":{const n=c(l,"pnpm-workspace.yaml");if(!g(n)){s.push("pnpm-workspace.yaml not found. Cannot sync allowBuilds.");break}let e={},m=[];try{const t=U(n);e=t?.allowBuilds??{},m=Array.isArray(t?.onlyBuiltDependencies)?t.onlyBuiltDependencies:[]}catch{}const h={...e,...d},A=Object.keys(d).filter(t=>e[t]!==d[t]).length,u=b.toSorted((t,p)=>t.localeCompare(p)),k=[...new Set([...m,...u])].toSorted((t,p)=>t.localeCompare(p)),w=u.filter(t=>!m.includes(t)).length;if(A===0&&w===0)s.push(`All ${String(Object.keys(d).length)} allowBuilds entries already present in pnpm-workspace.yaml.`);else{const t=Object.keys(h).sort(),p=D(a=>a.startsWith("@")||a.includes("/")||/[:#\s]/.test(a),"needsQuote"),$=D(a=>p(a)?`'${a.replaceAll("'","''")}'`:a,"renderKey"),y=`allowBuilds:
4
+ `,i(n,e),s.push("Added ignore-scripts=true to .npmrc"));break}case"pnpm":{const n=c(l,"pnpm-workspace.yaml");if(!g(n)){s.push("pnpm-workspace.yaml not found. Cannot sync allowBuilds.");break}let e={},m=[];try{const t=U(n);e=t?.allowBuilds??{},m=Array.isArray(t?.onlyBuiltDependencies)?t.onlyBuiltDependencies:[]}catch{}const h={...e,...d},A=Object.keys(d).filter(t=>e[t]!==d[t]).length,u=k.toSorted((t,p)=>t.localeCompare(p)),b=[...new Set([...m,...u])].toSorted((t,p)=>t.localeCompare(p)),w=u.filter(t=>!m.includes(t)).length;if(A===0&&w===0)s.push(`All ${String(Object.keys(d).length)} allowBuilds entries already present in pnpm-workspace.yaml.`);else{const t=Object.keys(h).sort(),p=D(a=>a.startsWith("@")||a.includes("/")||/[:#\s]/.test(a),"needsQuote"),$=D(a=>p(a)?`'${a.replaceAll("'","''")}'`:a,"renderKey"),y=`allowBuilds:
5
5
  ${t.map(a=>` ${$(a)}: ${String(h[a])}`).join(`
6
6
  `)}
7
7
  `;let r=S(n);r.endsWith(`
8
8
  `)||(r+=`
9
9
  `);const f=/^allowBuilds:[ \t]*\n(?:[ \t]{2}[^\n]*\n)*/m;if(r=f.test(r)?r.replace(f,y):`${r.trimEnd()}
10
10
 
11
- ${y}`,k.length>0){const a=`onlyBuiltDependencies:
12
- ${k.map(j=>` - ${p(j)?`'${j.replaceAll("'","''")}'`:j}`).join(`
11
+ ${y}`,b.length>0){const a=`onlyBuiltDependencies:
12
+ ${b.map(j=>` - ${p(j)?`'${j.replaceAll("'","''")}'`:j}`).join(`
13
13
  `)}
14
14
  `,C=/^onlyBuiltDependencies:[ \t]*\n(?:[ \t]{2}[^\n]*\n)*/m;r=C.test(r)?r.replace(C,a):`${r.trimEnd()}
15
15
 
16
- ${a}`}i(n,r),s.push(`Updated pnpm-workspace.yaml allowBuilds (${String(A)} new, ${String(t.length)} total)`),w>0&&s.push(`Updated pnpm-workspace.yaml onlyBuiltDependencies (${String(w)} new, ${String(k.length)} total)`)}const B=c(l,"package.json");if(g(B)&&u.length>0)try{const t=O(B),p=Array.isArray(t.pnpm?.onlyBuiltDependencies)?t.pnpm.onlyBuiltDependencies:[],$=[...new Set([...p,...u])].toSorted((r,f)=>r.localeCompare(f)),y=u.filter(r=>!p.includes(r)).length;y>0&&(t.pnpm={...t.pnpm,onlyBuiltDependencies:$},i(B,`${JSON.stringify(t,null,2)}
16
+ ${a}`}i(n,r),s.push(`Updated pnpm-workspace.yaml allowBuilds (${String(A)} new, ${String(t.length)} total)`),w>0&&s.push(`Updated pnpm-workspace.yaml onlyBuiltDependencies (${String(w)} new, ${String(b.length)} total)`)}const B=c(l,"package.json");if(g(B)&&u.length>0)try{const t=O(B),p=Array.isArray(t.pnpm?.onlyBuiltDependencies)?t.pnpm.onlyBuiltDependencies:[],$=[...new Set([...p,...u])].toSorted((r,f)=>r.localeCompare(f)),y=u.filter(r=>!p.includes(r)).length;y>0&&(t.pnpm={...t.pnpm,onlyBuiltDependencies:$},i(B,`${JSON.stringify(t,null,2)}
17
17
  `),s.push(`Updated package.json pnpm.onlyBuiltDependencies (${String(y)} new, ${String($.length)} total)`))}catch(t){s.push(`Failed to update package.json pnpm.onlyBuiltDependencies: ${t instanceof Error?t.message:String(t)}`)}break}case"yarn":{if(N(l)){const n=c(l,".yarnrc.yml");let e=S(n);const m=/^\s*enableScripts\s*:/m.test(e),h=/^\s*enableScripts\s*:\s*false\s*$/m.test(e);m?h?s.push(".yarnrc.yml already has enableScripts: false"):(e=e.replace(/^\s*enableScripts\s*:.+$/m,"enableScripts: false"),i(n,e),s.push("Changed enableScripts to false in .yarnrc.yml")):(e=`${e.trimEnd()}
18
18
  enableScripts: false
19
19
  `,i(n,e),s.push("Added enableScripts: false to .yarnrc.yml"))}else{const n=c(l,".npmrc");let e=g(n)?S(n):"";/^\s*ignore-scripts\s*=\s*true\s*$/m.test(e)?s.push(".npmrc already has ignore-scripts=true"):(e=`${e.trimEnd()}
@@ -1,2 +1,2 @@
1
- var U=Object.defineProperty;var l=(e,o)=>U(e,"name",{value:o,configurable:!0});import{createRequire as P}from"node:module";import{D as K}from"../packem_chunks/config.js";import{NATIVE_BINDING_VERSION as M,osvBloomDecode as Y,osvBloomProbe as Q,osvBloomProbeBatch as X}from"#native";const V=P(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,O=l(e=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[o,t]=d.versions.node.split(".").map(Number);if(o>22||o===22&&t>=3||o===20&&t>=16)return d.getBuiltinModule(e)}return V(e)},"__cjs_getBuiltinModule"),{randomUUID:H,createHash:F}=O("node:crypto"),{existsSync:p}=O("node:fs"),{readFile:y,mkdir:L,stat:I,rm:q,writeFile:G,rename:J,unlink:W}=O("node:fs/promises"),{join:w,dirname:z}=O("node:path");var Z=Object.defineProperty,s=l((e,o)=>Z(e,"name",{value:o,configurable:!0}),"r");const N=5;if(M!==N)throw new Error(`vis native binding ABI mismatch in osv-bloom: expected ${N}, got ${M}. Rebuild via \`pnpm --filter @visulima/vis run build:native\` or reinstall the platform binding package.`);const ut="https://endevco.github.io/osv-bloom",tt=new Set(["endevco.github.io"]);class g extends Error{static{l(this,"OsvBloomSourceNotAllowedError")}static{s(this,"OsvBloomSourceNotAllowedError")}cause="OSV_BLOOM_SOURCE_NOT_ALLOWED";constructor(o){super(`osv-bloom source host '${o}' is not in the built-in allowlist. Add it to \`security.audit.advisories.bloom.allowedHosts\` if intentional.`),this.name="OsvBloomSourceNotAllowedError"}}class B extends Error{static{l(this,"OsvBloomNetworkError")}static{s(this,"OsvBloomNetworkError")}cause="OSV_BLOOM_NETWORK";constructor(o,t){super(`osv-bloom fetch failed for ${o}: ${t}. Check connectivity, proxy env vars, or --source.`),this.name="OsvBloomNetworkError"}}class et extends Error{static{l(this,"OsvBloomIntegrityError")}static{s(this,"OsvBloomIntegrityError")}cause="OSV_BLOOM_INTEGRITY";constructor(o,t){super(`osv-bloom filter.bin sha256 mismatch (expected ${o}, got ${t}). Refusing to install a corrupted filter.`),this.name="OsvBloomIntegrityError"}}class v extends Error{static{l(this,"OsvBloomManifestError")}static{s(this,"OsvBloomManifestError")}cause="OSV_BLOOM_MANIFEST";constructor(o){super(`osv-bloom manifest invalid: ${o}`),this.name="OsvBloomManifestError"}}class ot extends Error{static{l(this,"OsvBloomCacheMissError")}static{s(this,"OsvBloomCacheMissError")}cause="OSV_BLOOM_CACHE_MISS";constructor(o){super(`No osv-bloom cache at ${o}. Run 'vis advisories bloom sync' first.`),this.name="OsvBloomCacheMissError"}}const b=s(e=>{const o=K("vis",{create:!0,cwd:e})??w(e,"node_modules",".cache","vis");return w(o,"osv-bloom")},"resolveOsvBloomCacheDir"),h=s(e=>w(e,"filter.bin"),"filterPath"),R=s(e=>w(e,"manifest.json"),"manifestPath"),T=s(e=>w(e,"state.json"),"statePath"),st=s((e,o)=>{let t;try{t=new URL(e)}catch{throw new g(e)}if(!t.host)throw new g(e);if(t.protocol!=="https:")throw new g(`${t.protocol}//${t.host}`);if(!new Set([...tt,...o??[]]).has(t.host))throw new g(t.host);return t},"validateOsvBloomSource"),ht=s(async e=>{const o=Date.now(),t=e.cacheDir??b(e.workspaceRoot);await L(t,{recursive:!0});const r=st(e.source,e.allowedHosts),a=new URL("manifest.json",$(r.toString())),i=new URL("filter.bin",$(r.toString())),n=await x(a,{method:"GET"});if(!n.ok)throw new B(a.toString(),n.status);const S=await n.text(),c=k(S),m=await C(t);if(!e.force&&m?.setDigestSha256===c.setDigestSha256&&p(h(t)))return{bytesOnDisk:(await I(h(t))).size,cacheDir:t,durationMs:Date.now()-o,manifest:c,upToDate:!0};const E={};!e.force&&m?.filterEtag&&(E.headers={"if-none-match":m.filterEtag});const f=await x(i,{...E,method:"GET"});if(f.status===304&&m&&p(h(t)))return await A(t,S,{fetchedAtIso:new Date().toISOString(),filterEtag:m.filterEtag,setDigestSha256:c.setDigestSha256}),{bytesOnDisk:(await I(h(t))).size,cacheDir:t,durationMs:Date.now()-o,manifest:c,upToDate:!0};if(!f.ok||!f.body)throw new B(i.toString(),f.status);const u=Buffer.from(await f.arrayBuffer());e.onProgress&&e.onProgress(u.length,u.length);const D=rt(u);if(D!==c.filterSha256)throw new et(c.filterSha256,D);if(u.length!==c.bloomByteLen)throw new v(`filter.bin length ${u.length} does not match manifest.bloom_byte_len ${c.bloomByteLen}`);const j=f.headers.get("etag")??void 0;return await _(h(t),u),await A(t,S,{fetchedAtIso:new Date().toISOString(),filterEtag:j,setDigestSha256:c.setDigestSha256}),{bytesOnDisk:u.length,cacheDir:t,durationMs:Date.now()-o,manifest:c,upToDate:!1}},"syncOsvBloom"),ft=s(async(e,o)=>{const t=o?.cacheDir??b(e),r=h(t);if(!p(r)){if(o?.softFail)return null;throw new ot(t)}const a=await y(r);return Y(a)},"loadOsvBloomHandle");s((e,o,t)=>Q(e,o,t),"probeOsvBloom");const mt=s((e,o)=>X(e,o),"probeOsvBloomBatch"),dt=s(async(e,o)=>{const t=o??b(e);if(!p(h(t)))return{cacheDir:t,present:!1};let r,a;try{r=k(await y(R(t),"utf8"))}catch{}try{a=await C(t)}catch{}return{cacheDir:t,fetchedAtIso:a?.fetchedAtIso,manifest:r,present:!0}},"getOsvBloomStatus");s(async(e,o)=>{const t=o??b(e);await q(t,{force:!0,recursive:!0})},"clearOsvBloomCache");const k=s(e=>{let o;try{o=JSON.parse(e)}catch(i){throw new v(i instanceof Error?i.message:String(i))}const t=s(i=>{const n=o[i];if(typeof n!="number"||Number.isNaN(n))throw new v(`field '${i}' missing or non-numeric`);return n},"requireNumber"),r=s(i=>{const n=o[i];if(typeof n!="string"||n.length===0)throw new v(`field '${i}' missing or empty`);return n},"requireString"),a=t("format_version");if(a!==1)throw new v(`unsupported format_version ${a} (this build expects v1)`);return{advisoryCount:t("advisory_count"),bloomByteLen:t("bloom_byte_len"),bloomKHashes:t("bloom_k_hashes"),bloomMBits:t("bloom_m_bits"),builtAtRfc3339:r("built_at_rfc3339"),builtAtUnix:t("built_at_unix"),entryCount:t("entry_count"),filterSha256:r("filter_sha256"),formatVersion:a,setDigestSha256:r("set_digest_sha256"),sourceUrl:r("source_url"),targetFpr:t("target_fpr")}},"parseManifest"),C=s(async e=>{try{const o=await y(T(e),"utf8"),t=JSON.parse(o);return typeof t.setDigestSha256!="string"||typeof t.fetchedAtIso!="string"?void 0:{fetchedAtIso:t.fetchedAtIso,filterEtag:typeof t.filterEtag=="string"?t.filterEtag:void 0,setDigestSha256:t.setDigestSha256}}catch{return}},"readState"),A=s(async(e,o,t)=>{await _(R(e),Buffer.from(o,"utf8")),await _(T(e),Buffer.from(`${JSON.stringify(t,void 0,2)}
2
- `,"utf8"))},"persistManifestAndState"),_=s(async(e,o)=>{await L(z(e),{recursive:!0});const t=`${e}.${process.pid}.${H()}.tmp`;try{await G(t,o),await J(t,e)}catch(r){throw await W(t).catch(()=>{}),r}},"atomicWrite"),rt=s(e=>F("sha256").update(e).digest("hex"),"sha256Hex"),$=s(e=>e.endsWith("/")?e:`${e}/`,"ensureTrailingSlash"),it=3e4,x=s(async(e,o)=>{try{return await fetch(e,{...o,signal:AbortSignal.timeout(it)})}catch(t){throw new B(e.toString(),t instanceof Error?t.message:String(t))}},"safeFetch");export{ut as D,ot as O,dt as g,ft as l,mt as p,ht as s};
1
+ var U=Object.defineProperty;var l=(e,o)=>U(e,"name",{value:o,configurable:!0});import{createRequire as P}from"node:module";import{b as K}from"../packem_chunks/config.js";import{NATIVE_BINDING_VERSION as M,osvBloomDecode as Y,osvBloomProbe as Q,osvBloomProbeBatch as X}from"#native";const V=P(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,O=l(e=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[o,t]=d.versions.node.split(".").map(Number);if(o>22||o===22&&t>=3||o===20&&t>=16)return d.getBuiltinModule(e)}return V(e)},"__cjs_getBuiltinModule"),{randomUUID:H,createHash:F}=O("node:crypto"),{existsSync:p}=O("node:fs"),{readFile:y,mkdir:L,stat:I,rm:q,writeFile:G,rename:J,unlink:W}=O("node:fs/promises"),{join:w,dirname:z}=O("node:path");var Z=Object.defineProperty,s=l((e,o)=>Z(e,"name",{value:o,configurable:!0}),"r");const N=5;if(M!==N)throw new Error(`vis native binding ABI mismatch in osv-bloom: expected ${N}, got ${M}. Rebuild via \`pnpm --filter @visulima/vis run build:native\` or reinstall the platform binding package.`);const ht="https://endevco.github.io/osv-bloom",tt=new Set(["endevco.github.io"]);class g extends Error{static{l(this,"OsvBloomSourceNotAllowedError")}static{s(this,"OsvBloomSourceNotAllowedError")}cause="OSV_BLOOM_SOURCE_NOT_ALLOWED";constructor(o){super(`osv-bloom source host '${o}' is not in the built-in allowlist. Add it to \`security.audit.advisories.bloom.allowedHosts\` if intentional.`),this.name="OsvBloomSourceNotAllowedError"}}class B extends Error{static{l(this,"OsvBloomNetworkError")}static{s(this,"OsvBloomNetworkError")}cause="OSV_BLOOM_NETWORK";constructor(o,t){super(`osv-bloom fetch failed for ${o}: ${t}. Check connectivity, proxy env vars, or --source.`),this.name="OsvBloomNetworkError"}}class et extends Error{static{l(this,"OsvBloomIntegrityError")}static{s(this,"OsvBloomIntegrityError")}cause="OSV_BLOOM_INTEGRITY";constructor(o,t){super(`osv-bloom filter.bin sha256 mismatch (expected ${o}, got ${t}). Refusing to install a corrupted filter.`),this.name="OsvBloomIntegrityError"}}class v extends Error{static{l(this,"OsvBloomManifestError")}static{s(this,"OsvBloomManifestError")}cause="OSV_BLOOM_MANIFEST";constructor(o){super(`osv-bloom manifest invalid: ${o}`),this.name="OsvBloomManifestError"}}class ot extends Error{static{l(this,"OsvBloomCacheMissError")}static{s(this,"OsvBloomCacheMissError")}cause="OSV_BLOOM_CACHE_MISS";constructor(o){super(`No osv-bloom cache at ${o}. Run 'vis advisories bloom sync' first.`),this.name="OsvBloomCacheMissError"}}const b=s(e=>{const o=K("vis",{create:!0,cwd:e})??w(e,"node_modules",".cache","vis");return w(o,"osv-bloom")},"resolveOsvBloomCacheDir"),u=s(e=>w(e,"filter.bin"),"filterPath"),R=s(e=>w(e,"manifest.json"),"manifestPath"),T=s(e=>w(e,"state.json"),"statePath"),st=s((e,o)=>{let t;try{t=new URL(e)}catch{throw new g(e)}if(!t.host)throw new g(e);if(t.protocol!=="https:")throw new g(`${t.protocol}//${t.host}`);if(!new Set([...tt,...o??[]]).has(t.host))throw new g(t.host);return t},"validateOsvBloomSource"),ut=s(async e=>{const o=Date.now(),t=e.cacheDir??b(e.workspaceRoot);await L(t,{recursive:!0});const r=st(e.source,e.allowedHosts),a=new URL("manifest.json",$(r.toString())),i=new URL("filter.bin",$(r.toString())),n=await x(a,{method:"GET"});if(!n.ok)throw new B(a.toString(),n.status);const S=await n.text(),c=k(S),m=await C(t);if(!e.force&&m?.setDigestSha256===c.setDigestSha256&&p(u(t)))return{bytesOnDisk:(await I(u(t))).size,cacheDir:t,durationMs:Date.now()-o,manifest:c,upToDate:!0};const E={};!e.force&&m?.filterEtag&&(E.headers={"if-none-match":m.filterEtag});const f=await x(i,{...E,method:"GET"});if(f.status===304&&m&&p(u(t)))return await A(t,S,{fetchedAtIso:new Date().toISOString(),filterEtag:m.filterEtag,setDigestSha256:c.setDigestSha256}),{bytesOnDisk:(await I(u(t))).size,cacheDir:t,durationMs:Date.now()-o,manifest:c,upToDate:!0};if(!f.ok||!f.body)throw new B(i.toString(),f.status);const h=Buffer.from(await f.arrayBuffer());e.onProgress&&e.onProgress(h.length,h.length);const D=rt(h);if(D!==c.filterSha256)throw new et(c.filterSha256,D);if(h.length!==c.bloomByteLen)throw new v(`filter.bin length ${h.length} does not match manifest.bloom_byte_len ${c.bloomByteLen}`);const j=f.headers.get("etag")??void 0;return await _(u(t),h),await A(t,S,{fetchedAtIso:new Date().toISOString(),filterEtag:j,setDigestSha256:c.setDigestSha256}),{bytesOnDisk:h.length,cacheDir:t,durationMs:Date.now()-o,manifest:c,upToDate:!1}},"syncOsvBloom"),ft=s(async(e,o)=>{const t=o?.cacheDir??b(e),r=u(t);if(!p(r)){if(o?.softFail)return null;throw new ot(t)}const a=await y(r);return Y(a)},"loadOsvBloomHandle");s((e,o,t)=>Q(e,o,t),"probeOsvBloom");const mt=s((e,o)=>X(e,o),"probeOsvBloomBatch"),dt=s(async(e,o)=>{const t=o??b(e);if(!p(u(t)))return{cacheDir:t,present:!1};let r,a;try{r=k(await y(R(t),"utf8"))}catch{}try{a=await C(t)}catch{}return{cacheDir:t,fetchedAtIso:a?.fetchedAtIso,manifest:r,present:!0}},"getOsvBloomStatus");s(async(e,o)=>{const t=o??b(e);await q(t,{force:!0,recursive:!0})},"clearOsvBloomCache");const k=s(e=>{let o;try{o=JSON.parse(e)}catch(i){throw new v(i instanceof Error?i.message:String(i))}const t=s(i=>{const n=o[i];if(typeof n!="number"||Number.isNaN(n))throw new v(`field '${i}' missing or non-numeric`);return n},"requireNumber"),r=s(i=>{const n=o[i];if(typeof n!="string"||n.length===0)throw new v(`field '${i}' missing or empty`);return n},"requireString"),a=t("format_version");if(a!==1)throw new v(`unsupported format_version ${a} (this build expects v1)`);return{advisoryCount:t("advisory_count"),bloomByteLen:t("bloom_byte_len"),bloomKHashes:t("bloom_k_hashes"),bloomMBits:t("bloom_m_bits"),builtAtRfc3339:r("built_at_rfc3339"),builtAtUnix:t("built_at_unix"),entryCount:t("entry_count"),filterSha256:r("filter_sha256"),formatVersion:a,setDigestSha256:r("set_digest_sha256"),sourceUrl:r("source_url"),targetFpr:t("target_fpr")}},"parseManifest"),C=s(async e=>{try{const o=await y(T(e),"utf8"),t=JSON.parse(o);return typeof t.setDigestSha256!="string"||typeof t.fetchedAtIso!="string"?void 0:{fetchedAtIso:t.fetchedAtIso,filterEtag:typeof t.filterEtag=="string"?t.filterEtag:void 0,setDigestSha256:t.setDigestSha256}}catch{return}},"readState"),A=s(async(e,o,t)=>{await _(R(e),Buffer.from(o,"utf8")),await _(T(e),Buffer.from(`${JSON.stringify(t,void 0,2)}
2
+ `,"utf8"))},"persistManifestAndState"),_=s(async(e,o)=>{await L(z(e),{recursive:!0});const t=`${e}.${process.pid}.${H()}.tmp`;try{await G(t,o),await J(t,e)}catch(r){throw await W(t).catch(()=>{}),r}},"atomicWrite"),rt=s(e=>F("sha256").update(e).digest("hex"),"sha256Hex"),$=s(e=>e.endsWith("/")?e:`${e}/`,"ensureTrailingSlash"),it=3e4,x=s(async(e,o)=>{try{return await fetch(e,{...o,signal:AbortSignal.timeout(it)})}catch(t){throw new B(e.toString(),t instanceof Error?t.message:String(t))}},"safeFetch");export{ht as D,ot as O,dt as g,ft as l,mt as p,ut as s};
@@ -0,0 +1 @@
1
+ var wt=Object.defineProperty;var h=(e,r)=>wt(e,"name",{value:r,configurable:!0});import{createRequire as $t}from"node:module";import{i as ur,M as se,K as lr,O as cr,$ as Lt}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{g as St}from"./_commonjsHelpers-CLblCigl.js";import{whichBin as Nt,detectPackageManager as At,execPmCommandInteractive as Pt,resolveInstall as Tt,resolveAdd as jt,resolveRemove as Ct,resolveDedupe as qt,resolveWhy as Dt,resolveOutdated as Mt,resolveLink as _t,resolveUnlink as Gt,resolveDlx as Ft,resolveExec as Ut,resolvePmCommand as xt}from"#native";const Ot=$t(import.meta.url),K=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,It=h(e=>{if(typeof K<"u"&&K.versions&&K.versions.node){const[r,t]=K.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return K.getBuiltinModule(e)}return Ot(e)},"__cjs_getBuiltinModule"),{spawn:yt,spawnSync:kt}=It("node:child_process");var me,br;function ie(){return br||(br=1,me=process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{}),me}h(ie,"requireDebug");var de,Rr;function re(){return Rr||(Rr=1,de={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}),de}h(re,"requireConstants");var ae={exports:{}},wr;function te(){return wr||(wr=1,(function(e,r){var t=Object.defineProperty,i=h((k,A)=>t(k,"name",{value:A,configurable:!0}),"O");const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:o}=re(),m=ie();r=e.exports={};const p=r.re=[],f=r.safeRe=[],u=r.src=[],l=r.safeSrc=[],s=r.t={};let c=0;const g="[a-zA-Z0-9-]",w=[["\\s",1],["\\d",o],[g,a]],N=i(k=>{for(const[A,M]of w)k=k.split(`${A}*`).join(`${A}{0,${M}}`).split(`${A}+`).join(`${A}{1,${M}}`);return k},"makeSafeRegex"),v=i((k,A,M)=>{const T=N(A),_=c++;m(k,_,A),s[k]=_,u[_]=A,l[_]=T,p[_]=new RegExp(A,M?"g":void 0),f[_]=new RegExp(T,M?"g":void 0)},"createToken");v("NUMERICIDENTIFIER","0|[1-9]\\d*"),v("NUMERICIDENTIFIERLOOSE","\\d+"),v("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${g}*`),v("MAINVERSION",`(${u[s.NUMERICIDENTIFIER]})\\.(${u[s.NUMERICIDENTIFIER]})\\.(${u[s.NUMERICIDENTIFIER]})`),v("MAINVERSIONLOOSE",`(${u[s.NUMERICIDENTIFIERLOOSE]})\\.(${u[s.NUMERICIDENTIFIERLOOSE]})\\.(${u[s.NUMERICIDENTIFIERLOOSE]})`),v("PRERELEASEIDENTIFIER",`(?:${u[s.NONNUMERICIDENTIFIER]}|${u[s.NUMERICIDENTIFIER]})`),v("PRERELEASEIDENTIFIERLOOSE",`(?:${u[s.NONNUMERICIDENTIFIER]}|${u[s.NUMERICIDENTIFIERLOOSE]})`),v("PRERELEASE",`(?:-(${u[s.PRERELEASEIDENTIFIER]}(?:\\.${u[s.PRERELEASEIDENTIFIER]})*))`),v("PRERELEASELOOSE",`(?:-?(${u[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[s.PRERELEASEIDENTIFIERLOOSE]})*))`),v("BUILDIDENTIFIER",`${g}+`),v("BUILD",`(?:\\+(${u[s.BUILDIDENTIFIER]}(?:\\.${u[s.BUILDIDENTIFIER]})*))`),v("FULLPLAIN",`v?${u[s.MAINVERSION]}${u[s.PRERELEASE]}?${u[s.BUILD]}?`),v("FULL",`^${u[s.FULLPLAIN]}$`),v("LOOSEPLAIN",`[v=\\s]*${u[s.MAINVERSIONLOOSE]}${u[s.PRERELEASELOOSE]}?${u[s.BUILD]}?`),v("LOOSE",`^${u[s.LOOSEPLAIN]}$`),v("GTLT","((?:<|>)?=?)"),v("XRANGEIDENTIFIERLOOSE",`${u[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),v("XRANGEIDENTIFIER",`${u[s.NUMERICIDENTIFIER]}|x|X|\\*`),v("XRANGEPLAIN",`[v=\\s]*(${u[s.XRANGEIDENTIFIER]})(?:\\.(${u[s.XRANGEIDENTIFIER]})(?:\\.(${u[s.XRANGEIDENTIFIER]})(?:${u[s.PRERELEASE]})?${u[s.BUILD]}?)?)?`),v("XRANGEPLAINLOOSE",`[v=\\s]*(${u[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[s.XRANGEIDENTIFIERLOOSE]})(?:${u[s.PRERELEASELOOSE]})?${u[s.BUILD]}?)?)?`),v("XRANGE",`^${u[s.GTLT]}\\s*${u[s.XRANGEPLAIN]}$`),v("XRANGELOOSE",`^${u[s.GTLT]}\\s*${u[s.XRANGEPLAINLOOSE]}$`),v("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),v("COERCE",`${u[s.COERCEPLAIN]}(?:$|[^\\d])`),v("COERCEFULL",u[s.COERCEPLAIN]+`(?:${u[s.PRERELEASE]})?(?:${u[s.BUILD]})?(?:$|[^\\d])`),v("COERCERTL",u[s.COERCE],!0),v("COERCERTLFULL",u[s.COERCEFULL],!0),v("LONETILDE","(?:~>?)"),v("TILDETRIM",`(\\s*)${u[s.LONETILDE]}\\s+`,!0),r.tildeTrimReplace="$1~",v("TILDE",`^${u[s.LONETILDE]}${u[s.XRANGEPLAIN]}$`),v("TILDELOOSE",`^${u[s.LONETILDE]}${u[s.XRANGEPLAINLOOSE]}$`),v("LONECARET","(?:\\^)"),v("CARETTRIM",`(\\s*)${u[s.LONECARET]}\\s+`,!0),r.caretTrimReplace="$1^",v("CARET",`^${u[s.LONECARET]}${u[s.XRANGEPLAIN]}$`),v("CARETLOOSE",`^${u[s.LONECARET]}${u[s.XRANGEPLAINLOOSE]}$`),v("COMPARATORLOOSE",`^${u[s.GTLT]}\\s*(${u[s.LOOSEPLAIN]})$|^$`),v("COMPARATOR",`^${u[s.GTLT]}\\s*(${u[s.FULLPLAIN]})$|^$`),v("COMPARATORTRIM",`(\\s*)${u[s.GTLT]}\\s*(${u[s.LOOSEPLAIN]}|${u[s.XRANGEPLAIN]})`,!0),r.comparatorTrimReplace="$1$2$3",v("HYPHENRANGE",`^\\s*(${u[s.XRANGEPLAIN]})\\s+-\\s+(${u[s.XRANGEPLAIN]})\\s*$`),v("HYPHENRANGELOOSE",`^\\s*(${u[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[s.XRANGEPLAINLOOSE]})\\s*$`),v("STAR","(<|>)?=?\\s*\\*"),v("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),v("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(ae,ae.exports)),ae.exports}h(te,"requireRe");var ve,$r;function pr(){if($r)return ve;$r=1;var e=Object.defineProperty,r=h((a,o)=>e(a,"name",{value:o,configurable:!0}),"t");const t=Object.freeze({loose:!0}),i=Object.freeze({});return ve=r(a=>a?typeof a!="object"?t:a:i,"parseOptions"),ve}h(pr,"requireParseOptions");var ge,Or;function ht(){if(Or)return ge;Or=1;var e=Object.defineProperty,r=h((a,o)=>e(a,"name",{value:o,configurable:!0}),"s");const t=/^[0-9]+$/,i=r((a,o)=>{if(typeof a=="number"&&typeof o=="number")return a===o?0:a<o?-1:1;const m=t.test(a),p=t.test(o);return m&&p&&(a=+a,o=+o),a===o?0:m&&!p?-1:p&&!m?1:a<o?-1:1},"compareIdentifiers"),n=r((a,o)=>i(o,a),"rcompareIdentifiers");return ge={compareIdentifiers:i,rcompareIdentifiers:n},ge}h(ht,"requireIdentifiers");var Ee,Ir;function G(){if(Ir)return Ee;Ir=1;var e=Object.defineProperty,r=h((u,l)=>e(u,"name",{value:l,configurable:!0}),"a");const t=ie(),{MAX_LENGTH:i,MAX_SAFE_INTEGER:n}=re(),{safeRe:a,t:o}=te(),m=pr(),{compareIdentifiers:p}=ht();class f{static{h(this,"SemVer")}static{r(this,"SemVer")}constructor(l,s){if(s=m(s),l instanceof f){if(l.loose===!!s.loose&&l.includePrerelease===!!s.includePrerelease)return l;l=l.version}else if(typeof l!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof l}".`);if(l.length>i)throw new TypeError(`version is longer than ${i} characters`);t("SemVer",l,s),this.options=s,this.loose=!!s.loose,this.includePrerelease=!!s.includePrerelease;const c=l.trim().match(s.loose?a[o.LOOSE]:a[o.FULL]);if(!c)throw new TypeError(`Invalid Version: ${l}`);if(this.raw=l,this.major=+c[1],this.minor=+c[2],this.patch=+c[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");c[4]?this.prerelease=c[4].split(".").map(g=>{if(/^[0-9]+$/.test(g)){const w=+g;if(w>=0&&w<n)return w}return g}):this.prerelease=[],this.build=c[5]?c[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(l){if(t("SemVer.compare",this.version,this.options,l),!(l instanceof f)){if(typeof l=="string"&&l===this.version)return 0;l=new f(l,this.options)}return l.version===this.version?0:this.compareMain(l)||this.comparePre(l)}compareMain(l){return l instanceof f||(l=new f(l,this.options)),this.major<l.major?-1:this.major>l.major?1:this.minor<l.minor?-1:this.minor>l.minor?1:this.patch<l.patch?-1:this.patch>l.patch?1:0}comparePre(l){if(l instanceof f||(l=new f(l,this.options)),this.prerelease.length&&!l.prerelease.length)return-1;if(!this.prerelease.length&&l.prerelease.length)return 1;if(!this.prerelease.length&&!l.prerelease.length)return 0;let s=0;do{const c=this.prerelease[s],g=l.prerelease[s];if(t("prerelease compare",s,c,g),c===void 0&&g===void 0)return 0;if(g===void 0)return 1;if(c===void 0)return-1;if(c!==g)return p(c,g)}while(++s)}compareBuild(l){l instanceof f||(l=new f(l,this.options));let s=0;do{const c=this.build[s],g=l.build[s];if(t("build compare",s,c,g),c===void 0&&g===void 0)return 0;if(g===void 0)return 1;if(c===void 0)return-1;if(c!==g)return p(c,g)}while(++s)}inc(l,s,c){if(l.startsWith("pre")){if(!s&&c===!1)throw new Error("invalid increment argument: identifier is empty");if(s){const g=`-${s}`.match(this.options.loose?a[o.PRERELEASELOOSE]:a[o.PRERELEASE]);if(!g||g[1]!==s)throw new Error(`invalid identifier: ${s}`)}}switch(l){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",s,c);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",s,c);break;case"prepatch":this.prerelease.length=0,this.inc("patch",s,c),this.inc("pre",s,c);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",s,c),this.inc("pre",s,c);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const g=Number(c)?1:0;if(this.prerelease.length===0)this.prerelease=[g];else{let w=this.prerelease.length;for(;--w>=0;)typeof this.prerelease[w]=="number"&&(this.prerelease[w]++,w=-2);if(w===-1){if(s===this.prerelease.join(".")&&c===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(g)}}if(s){let w=[s,g];c===!1&&(w=[s]),p(this.prerelease[0],s)===0?isNaN(this.prerelease[1])&&(this.prerelease=w):this.prerelease=w}break}default:throw new Error(`invalid increment argument: ${l}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return Ee=f,Ee}h(G,"requireSemver$1");var be,yr;function W(){if(yr)return be;yr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=G();return be=r((n,a,o=!1)=>{if(n instanceof t)return n;try{return new t(n,a)}catch(m){if(!o)return null;throw m}},"parse"),be}h(W,"requireParse");var Re,kr;function Xt(){if(kr)return Re;kr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=W();return Re=r((n,a)=>{const o=t(n,a);return o?o.version:null},"valid"),Re}h(Xt,"requireValid$1");var we,Lr;function Vt(){if(Lr)return we;Lr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=W();return we=r((n,a)=>{const o=t(n.trim().replace(/^[=v]+/,""),a);return o?o.version:null},"clean"),we}h(Vt,"requireClean");var $e,Sr;function Bt(){if(Sr)return $e;Sr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"u");const t=G();return $e=r((n,a,o,m,p)=>{typeof o=="string"&&(p=m,m=o,o=void 0);try{return new t(n instanceof t?n.version:n,o).inc(a,m,p).version}catch{return null}},"inc"),$e}h(Bt,"requireInc");var Oe,Nr;function Wt(){if(Nr)return Oe;Nr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"u");const t=W();return Oe=r((n,a)=>{const o=t(n,null,!0),m=t(a,null,!0),p=o.compare(m);if(p===0)return null;const f=p>0,u=f?o:m,l=f?m:o,s=!!u.prerelease.length;if(l.prerelease.length&&!s){if(!l.patch&&!l.minor)return"major";if(l.compareMain(u)===0)return l.minor&&!l.patch?"minor":"patch"}const c=s?"pre":"";return o.major!==m.major?c+"major":o.minor!==m.minor?c+"minor":o.patch!==m.patch?c+"patch":"prerelease"},"diff"),Oe}h(Wt,"requireDiff");var Ie,Ar;function Ht(){if(Ar)return Ie;Ar=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=G();return Ie=r((n,a)=>new t(n,a).major,"major"),Ie}h(Ht,"requireMajor");var ye,Pr;function Yt(){if(Pr)return ye;Pr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=G();return ye=r((n,a)=>new t(n,a).minor,"minor"),ye}h(Yt,"requireMinor");var ke,Tr;function zt(){if(Tr)return ke;Tr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=G();return ke=r((n,a)=>new t(n,a).patch,"patch"),ke}h(zt,"requirePatch");var Le,jr;function Jt(){if(jr)return Le;jr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=W();return Le=r((n,a)=>{const o=t(n,a);return o&&o.prerelease.length?o.prerelease:null},"prerelease"),Le}h(Jt,"requirePrerelease");var Se,Cr;function X(){if(Cr)return Se;Cr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"c");const t=G();return Se=r((n,a,o)=>new t(n,o).compare(new t(a,o)),"compare"),Se}h(X,"requireCompare");var Ne,qr;function Zt(){if(qr)return Ne;qr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"o");const t=X();return Ne=r((n,a,o)=>t(a,n,o),"rcompare"),Ne}h(Zt,"requireRcompare");var Ae,Dr;function Kt(){if(Dr)return Ae;Dr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return Ae=r((n,a)=>t(n,a,!0),"compareLoose"),Ae}h(Kt,"requireCompareLoose");var Pe,Mr;function fr(){if(Mr)return Pe;Mr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"o");const t=G();return Pe=r((n,a,o)=>{const m=new t(n,o),p=new t(a,o);return m.compare(p)||m.compareBuild(p)},"compareBuild"),Pe}h(fr,"requireCompareBuild");var Te,_r;function Qt(){if(_r)return Te;_r=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"e");const t=fr();return Te=r((n,a)=>n.sort((o,m)=>t(o,m,a)),"sort"),Te}h(Qt,"requireSort");var je,Gr;function en(){if(Gr)return je;Gr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"e");const t=fr();return je=r((n,a)=>n.sort((o,m)=>t(m,o,a)),"rsort"),je}h(en,"requireRsort");var Ce,Fr;function oe(){if(Fr)return Ce;Fr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return Ce=r((n,a,o)=>t(n,a,o)>0,"gt"),Ce}h(oe,"requireGt");var qe,Ur;function hr(){if(Ur)return qe;Ur=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return qe=r((n,a,o)=>t(n,a,o)<0,"lt"),qe}h(hr,"requireLt");var De,xr;function mt(){if(xr)return De;xr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return De=r((n,a,o)=>t(n,a,o)===0,"eq"),De}h(mt,"requireEq");var Me,Xr;function dt(){if(Xr)return Me;Xr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return Me=r((n,a,o)=>t(n,a,o)!==0,"neq"),Me}h(dt,"requireNeq");var _e,Vr;function mr(){if(Vr)return _e;Vr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return _e=r((n,a,o)=>t(n,a,o)>=0,"gte"),_e}h(mr,"requireGte");var Ge,Br;function dr(){if(Br)return Ge;Br=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"r");const t=X();return Ge=r((n,a,o)=>t(n,a,o)<=0,"lte"),Ge}h(dr,"requireLte");var Fe,Wr;function vt(){if(Wr)return Fe;Wr=1;var e=Object.defineProperty,r=h((f,u)=>e(f,"name",{value:u,configurable:!0}),"n");const t=mt(),i=dt(),n=oe(),a=mr(),o=hr(),m=dr();return Fe=r((f,u,l,s)=>{switch(u){case"===":return typeof f=="object"&&(f=f.version),typeof l=="object"&&(l=l.version),f===l;case"!==":return typeof f=="object"&&(f=f.version),typeof l=="object"&&(l=l.version),f!==l;case"":case"=":case"==":return t(f,l,s);case"!=":return i(f,l,s);case">":return n(f,l,s);case">=":return a(f,l,s);case"<":return o(f,l,s);case"<=":return m(f,l,s);default:throw new TypeError(`Invalid operator: ${u}`)}},"cmp"),Fe}h(vt,"requireCmp");var Ue,Hr;function rn(){if(Hr)return Ue;Hr=1;var e=Object.defineProperty,r=h((m,p)=>e(m,"name",{value:p,configurable:!0}),"u");const t=G(),i=W(),{safeRe:n,t:a}=te();return Ue=r((m,p)=>{if(m instanceof t)return m;if(typeof m=="number"&&(m=String(m)),typeof m!="string")return null;p=p||{};let f=null;if(!p.rtl)f=m.match(p.includePrerelease?n[a.COERCEFULL]:n[a.COERCE]);else{const w=p.includePrerelease?n[a.COERCERTLFULL]:n[a.COERCERTL];let N;for(;(N=w.exec(m))&&(!f||f.index+f[0].length!==m.length);)(!f||N.index+N[0].length!==f.index+f[0].length)&&(f=N),w.lastIndex=N.index+N[1].length+N[2].length;w.lastIndex=-1}if(f===null)return null;const u=f[2],l=f[3]||"0",s=f[4]||"0",c=p.includePrerelease&&f[5]?`-${f[5]}`:"",g=p.includePrerelease&&f[6]?`+${f[6]}`:"";return i(`${u}.${l}.${s}${c}${g}`,p)},"coerce"),Ue}h(rn,"requireCoerce");var xe,Yr;function tn(){if(Yr)return xe;Yr=1;var e=Object.defineProperty,r=h((f,u)=>e(f,"name",{value:u,configurable:!0}),"t");const t=W(),i=re(),n=G(),a=r((f,u,l)=>{if(!i.RELEASE_TYPES.includes(u))return null;const s=o(f,l);return s&&m(s,u)},"truncate"),o=r((f,u)=>{const l=f instanceof n?f.version:f;return t(l,u)},"cloneInputVersion"),m=r((f,u)=>{if(p(u))return f.version;switch(f.prerelease=[],u){case"major":f.minor=0,f.patch=0;break;case"minor":f.patch=0;break}return f.format()},"doTruncation"),p=r(f=>f.startsWith("pre"),"isPrerelease");return xe=a,xe}h(tn,"requireTruncate");var Xe,zr;function nn(){if(zr)return Xe;zr=1;var e=Object.defineProperty,r=h((i,n)=>e(i,"name",{value:n,configurable:!0}),"i");class t{static{h(this,"LRUCache")}static{r(this,"LRUCache")}constructor(){this.max=1e3,this.map=new Map}get(n){const a=this.map.get(n);if(a!==void 0)return this.map.delete(n),this.map.set(n,a),a}delete(n){return this.map.delete(n)}set(n,a){if(!this.delete(n)&&a!==void 0){if(this.map.size>=this.max){const o=this.map.keys().next().value;this.delete(o)}this.map.set(n,a)}return this}}return Xe=t,Xe}h(nn,"requireLrucache");var Ve,Jr;function V(){if(Jr)return Ve;Jr=1;var e=Object.defineProperty,r=h((E,d)=>e(E,"name",{value:d,configurable:!0}),"o");const t=/\s+/g;class i{static{h(this,"Range")}static{r(this,"Range")}constructor(d,$){if($=o($),d instanceof i)return d.loose===!!$.loose&&d.includePrerelease===!!$.includePrerelease?d:new i(d.raw,$);if(d instanceof m)return this.raw=d.value,this.set=[[d]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=d.trim().replace(t," "),this.set=this.raw.split("||").map(b=>this.parseRange(b.trim())).filter(b=>b.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const b=this.set[0];if(this.set=this.set.filter(O=>!v(O[0])),this.set.length===0)this.set=[b];else if(this.set.length>1){for(const O of this.set)if(O.length===1&&k(O[0])){this.set=[O];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let d=0;d<this.set.length;d++){d>0&&(this.formatted+="||");const $=this.set[d];for(let b=0;b<$.length;b++)b>0&&(this.formatted+=" "),this.formatted+=$[b].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(d){const $=((this.options.includePrerelease&&w)|(this.options.loose&&N))+":"+d,b=a.get($);if(b)return b;const O=this.options.loose,R=O?u[l.HYPHENRANGELOOSE]:u[l.HYPHENRANGE];d=d.replace(R,fe(this.options.includePrerelease)),p("hyphen replace",d),d=d.replace(u[l.COMPARATORTRIM],s),p("comparator trim",d),d=d.replace(u[l.TILDETRIM],c),p("tilde trim",d),d=d.replace(u[l.CARETTRIM],g),p("caret trim",d);let I=d.split(" ").map(q=>M(q,this.options)).join(" ").split(/\s+/).map(q=>pe(q,this.options));O&&(I=I.filter(q=>(p("loose invalid filter",q,this.options),!!q.match(u[l.COMPARATORLOOSE])))),p("range list",I);const P=new Map,S=I.map(q=>new m(q,this.options));for(const q of S){if(v(q))return[q];P.set(q.value,q)}P.size>1&&P.has("")&&P.delete("");const j=[...P.values()];return a.set($,j),j}intersects(d,$){if(!(d instanceof i))throw new TypeError("a Range is required");return this.set.some(b=>A(b,$)&&d.set.some(O=>A(O,$)&&b.every(R=>O.every(I=>R.intersects(I,$)))))}test(d){if(!d)return!1;if(typeof d=="string")try{d=new f(d,this.options)}catch{return!1}for(let $=0;$<this.set.length;$++)if(he(this.set[$],d,this.options))return!0;return!1}}Ve=i;const n=nn(),a=new n,o=pr(),m=ue(),p=ie(),f=G(),{safeRe:u,t:l,comparatorTrimReplace:s,tildeTrimReplace:c,caretTrimReplace:g}=te(),{FLAG_INCLUDE_PRERELEASE:w,FLAG_LOOSE:N}=re(),v=r(E=>E.value==="<0.0.0-0","isNullSet"),k=r(E=>E.value==="","isAny"),A=r((E,d)=>{let $=!0;const b=E.slice();let O=b.pop();for(;$&&b.length;)$=b.every(R=>O.intersects(R,d)),O=b.pop();return $},"isSatisfiable"),M=r((E,d)=>(E=E.replace(u[l.BUILD],""),p("comp",E,d),E=C(E,d),p("caret",E),E=_(E,d),p("tildes",E),E=y(E,d),p("xrange",E),E=ce(E,d),p("stars",E),E),"parseComparator"),T=r(E=>!E||E.toLowerCase()==="x"||E==="*","isX"),_=r((E,d)=>E.trim().split(/\s+/).map($=>F($,d)).join(" "),"replaceTildes"),F=r((E,d)=>{const $=d.loose?u[l.TILDELOOSE]:u[l.TILDE];return E.replace($,(b,O,R,I,P)=>{p("tilde",E,b,O,R,I,P);let S;return T(O)?S="":T(R)?S=`>=${O}.0.0 <${+O+1}.0.0-0`:T(I)?S=`>=${O}.${R}.0 <${O}.${+R+1}.0-0`:P?(p("replaceTilde pr",P),S=`>=${O}.${R}.${I}-${P} <${O}.${+R+1}.0-0`):S=`>=${O}.${R}.${I} <${O}.${+R+1}.0-0`,p("tilde return",S),S})},"replaceTilde"),C=r((E,d)=>E.trim().split(/\s+/).map($=>D($,d)).join(" "),"replaceCarets"),D=r((E,d)=>{p("caret",E,d);const $=d.loose?u[l.CARETLOOSE]:u[l.CARET],b=d.includePrerelease?"-0":"";return E.replace($,(O,R,I,P,S)=>{p("caret",E,O,R,I,P,S);let j;return T(R)?j="":T(I)?j=`>=${R}.0.0${b} <${+R+1}.0.0-0`:T(P)?R==="0"?j=`>=${R}.${I}.0${b} <${R}.${+I+1}.0-0`:j=`>=${R}.${I}.0${b} <${+R+1}.0.0-0`:S?(p("replaceCaret pr",S),R==="0"?I==="0"?j=`>=${R}.${I}.${P}-${S} <${R}.${I}.${+P+1}-0`:j=`>=${R}.${I}.${P}-${S} <${R}.${+I+1}.0-0`:j=`>=${R}.${I}.${P}-${S} <${+R+1}.0.0-0`):(p("no pr"),R==="0"?I==="0"?j=`>=${R}.${I}.${P}${b} <${R}.${I}.${+P+1}-0`:j=`>=${R}.${I}.${P}${b} <${R}.${+I+1}.0-0`:j=`>=${R}.${I}.${P} <${+R+1}.0.0-0`),p("caret return",j),j})},"replaceCaret"),y=r((E,d)=>(p("replaceXRanges",E,d),E.split(/\s+/).map($=>J($,d)).join(" ")),"replaceXRanges"),J=r((E,d)=>{E=E.trim();const $=d.loose?u[l.XRANGELOOSE]:u[l.XRANGE];return E.replace($,(b,O,R,I,P,S)=>{p("xRange",E,b,O,R,I,P,S);const j=T(R),q=j||T(I),z=q||T(P),Z=z;return O==="="&&Z&&(O=""),S=d.includePrerelease?"-0":"",j?O===">"||O==="<"?b="<0.0.0-0":b="*":O&&Z?(q&&(I=0),P=0,O===">"?(O=">=",q?(R=+R+1,I=0,P=0):(I=+I+1,P=0)):O==="<="&&(O="<",q?R=+R+1:I=+I+1),O==="<"&&(S="-0"),b=`${O+R}.${I}.${P}${S}`):q?b=`>=${R}.0.0${S} <${+R+1}.0.0-0`:z&&(b=`>=${R}.${I}.0${S} <${R}.${+I+1}.0-0`),p("xRange return",b),b})},"replaceXRange"),ce=r((E,d)=>(p("replaceStars",E,d),E.trim().replace(u[l.STAR],"")),"replaceStars"),pe=r((E,d)=>(p("replaceGTE0",E,d),E.trim().replace(u[d.includePrerelease?l.GTE0PRE:l.GTE0],"")),"replaceGTE0"),fe=r(E=>(d,$,b,O,R,I,P,S,j,q,z,Z)=>(T(b)?$="":T(O)?$=`>=${b}.0.0${E?"-0":""}`:T(R)?$=`>=${b}.${O}.0${E?"-0":""}`:I?$=`>=${$}`:$=`>=${$}${E?"-0":""}`,T(j)?S="":T(q)?S=`<${+j+1}.0.0-0`:T(z)?S=`<${j}.${+q+1}.0-0`:Z?S=`<=${j}.${q}.${z}-${Z}`:E?S=`<${j}.${q}.${+z+1}-0`:S=`<=${S}`,`${$} ${S}`.trim()),"hyphenReplace"),he=r((E,d,$)=>{for(let b=0;b<E.length;b++)if(!E[b].test(d))return!1;if(d.prerelease.length&&!$.includePrerelease){for(let b=0;b<E.length;b++)if(p(E[b].semver),E[b].semver!==m.ANY&&E[b].semver.prerelease.length>0){const O=E[b].semver;if(O.major===d.major&&O.minor===d.minor&&O.patch===d.patch)return!0}return!1}return!0},"testSet");return Ve}h(V,"requireRange");var Be,Zr;function ue(){if(Zr)return Be;Zr=1;var e=Object.defineProperty,r=h((l,s)=>e(l,"name",{value:s,configurable:!0}),"i");const t=Symbol("SemVer ANY");class i{static{h(this,"Comparator")}static{r(this,"Comparator")}static get ANY(){return t}constructor(s,c){if(c=n(c),s instanceof i){if(s.loose===!!c.loose)return s;s=s.value}s=s.trim().split(/\s+/).join(" "),p("comparator",s,c),this.options=c,this.loose=!!c.loose,this.parse(s),this.semver===t?this.value="":this.value=this.operator+this.semver.version,p("comp",this)}parse(s){const c=this.options.loose?a[o.COMPARATORLOOSE]:a[o.COMPARATOR],g=s.match(c);if(!g)throw new TypeError(`Invalid comparator: ${s}`);this.operator=g[1]!==void 0?g[1]:"",this.operator==="="&&(this.operator=""),g[2]?this.semver=new f(g[2],this.options.loose):this.semver=t}toString(){return this.value}test(s){if(p("Comparator.test",s,this.options.loose),this.semver===t||s===t)return!0;if(typeof s=="string")try{s=new f(s,this.options)}catch{return!1}return m(s,this.operator,this.semver,this.options)}intersects(s,c){if(!(s instanceof i))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new u(s.value,c).test(this.value):s.operator===""?s.value===""?!0:new u(this.value,c).test(s.semver):(c=n(c),c.includePrerelease&&(this.value==="<0.0.0-0"||s.value==="<0.0.0-0")||!c.includePrerelease&&(this.value.startsWith("<0.0.0")||s.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&s.operator.startsWith(">")||this.operator.startsWith("<")&&s.operator.startsWith("<")||this.semver.version===s.semver.version&&this.operator.includes("=")&&s.operator.includes("=")||m(this.semver,"<",s.semver,c)&&this.operator.startsWith(">")&&s.operator.startsWith("<")||m(this.semver,">",s.semver,c)&&this.operator.startsWith("<")&&s.operator.startsWith(">")))}}Be=i;const n=pr(),{safeRe:a,t:o}=te(),m=vt(),p=ie(),f=G(),u=V();return Be}h(ue,"requireComparator");var We,Kr;function le(){if(Kr)return We;Kr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=V();return We=r((n,a,o)=>{try{a=new t(a,o)}catch{return!1}return a.test(n)},"satisfies"),We}h(le,"requireSatisfies");var He,Qr;function an(){if(Qr)return He;Qr=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"t");const t=V();return He=r((n,a)=>new t(n,a).set.map(o=>o.map(m=>m.value).join(" ").trim().split(" ")),"toComparators"),He}h(an,"requireToComparators");var Ye,et;function sn(){if(et)return Ye;et=1;var e=Object.defineProperty,r=h((a,o)=>e(a,"name",{value:o,configurable:!0}),"c");const t=G(),i=V();return Ye=r((a,o,m)=>{let p=null,f=null,u=null;try{u=new i(o,m)}catch{return null}return a.forEach(l=>{u.test(l)&&(!p||f.compare(l)===-1)&&(p=l,f=new t(p,m))}),p},"maxSatisfying"),Ye}h(sn,"requireMaxSatisfying");var ze,rt;function on(){if(rt)return ze;rt=1;var e=Object.defineProperty,r=h((a,o)=>e(a,"name",{value:o,configurable:!0}),"u");const t=G(),i=V();return ze=r((a,o,m)=>{let p=null,f=null,u=null;try{u=new i(o,m)}catch{return null}return a.forEach(l=>{u.test(l)&&(!p||f.compare(l)===1)&&(p=l,f=new t(p,m))}),p},"minSatisfying"),ze}h(on,"requireMinSatisfying");var Je,tt;function un(){if(tt)return Je;tt=1;var e=Object.defineProperty,r=h((o,m)=>e(o,"name",{value:m,configurable:!0}),"i");const t=G(),i=V(),n=oe();return Je=r((o,m)=>{o=new i(o,m);let p=new t("0.0.0");if(o.test(p)||(p=new t("0.0.0-0"),o.test(p)))return p;p=null;for(let f=0;f<o.set.length;++f){const u=o.set[f];let l=null;u.forEach(s=>{const c=new t(s.semver.version);switch(s.operator){case">":c.prerelease.length===0?c.patch++:c.prerelease.push(0),c.raw=c.format();case"":case">=":(!l||n(c,l))&&(l=c);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${s.operator}`)}}),l&&(!p||n(p,l))&&(p=l)}return p&&o.test(p)?p:null},"minVersion"),Je}h(un,"requireMinVersion");var Ze,nt;function ln(){if(nt)return Ze;nt=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"n");const t=V();return Ze=r((n,a)=>{try{return new t(n,a).range||"*"}catch{return null}},"validRange"),Ze}h(ln,"requireValid");var Ke,at;function vr(){if(at)return Ke;at=1;var e=Object.defineProperty,r=h((s,c)=>e(s,"name",{value:c,configurable:!0}),"m");const t=G(),i=ue(),{ANY:n}=i,a=V(),o=le(),m=oe(),p=hr(),f=dr(),u=mr();return Ke=r((s,c,g,w)=>{s=new t(s,w),c=new a(c,w);let N,v,k,A,M;switch(g){case">":N=m,v=f,k=p,A=">",M=">=";break;case"<":N=p,v=u,k=m,A="<",M="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(o(s,c,w))return!1;for(let T=0;T<c.set.length;++T){const _=c.set[T];let F=null,C=null;if(_.forEach(D=>{D.semver===n&&(D=new i(">=0.0.0")),F=F||D,C=C||D,N(D.semver,F.semver,w)?F=D:k(D.semver,C.semver,w)&&(C=D)}),F.operator===A||F.operator===M||(!C.operator||C.operator===A)&&v(s,C.semver)||C.operator===M&&k(s,C.semver))return!1}return!0},"outside"),Ke}h(vr,"requireOutside");var Qe,st;function cn(){if(st)return Qe;st=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"s");const t=vr();return Qe=r((n,a,o)=>t(n,a,">",o),"gtr"),Qe}h(cn,"requireGtr");var er,it;function pn(){if(it)return er;it=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"s");const t=vr();return er=r((n,a,o)=>t(n,a,"<",o),"ltr"),er}h(pn,"requireLtr");var rr,ot;function fn(){if(ot)return rr;ot=1;var e=Object.defineProperty,r=h((n,a)=>e(n,"name",{value:a,configurable:!0}),"n");const t=V();return rr=r((n,a,o)=>(n=new t(n,o),a=new t(a,o),n.intersects(a,o)),"intersects"),rr}h(fn,"requireIntersects");var tr,ut;function hn(){if(ut)return tr;ut=1;const e=le(),r=X();return tr=h((t,i,n)=>{const a=[];let o=null,m=null;const p=t.sort((s,c)=>r(s,c,n));for(const s of p)e(s,i,n)?(m=s,o||(o=s)):(m&&a.push([o,m]),m=null,o=null);o&&a.push([o,null]);const f=[];for(const[s,c]of a)s===c?f.push(s):!c&&s===p[0]?f.push("*"):c?s===p[0]?f.push(`<=${c}`):f.push(`${s} - ${c}`):f.push(`>=${s}`);const u=f.join(" || "),l=typeof i.raw=="string"?i.raw:String(i);return u.length<l.length?u:i},"simplify"),tr}h(hn,"requireSimplify");var nr,lt;function mn(){if(lt)return nr;lt=1;var e=Object.defineProperty,r=h((c,g)=>e(c,"name",{value:g,configurable:!0}),"u");const t=V(),i=ue(),{ANY:n}=i,a=le(),o=X(),m=r((c,g,w={})=>{if(c===g)return!0;c=new t(c,w),g=new t(g,w);let N=!1;e:for(const v of c.set){for(const k of g.set){const A=u(v,k,w);if(N=N||A!==null,A)continue e}if(N)return!1}return!0},"subset"),p=[new i(">=0.0.0-0")],f=[new i(">=0.0.0")],u=r((c,g,w)=>{if(c===g)return!0;if(c.length===1&&c[0].semver===n){if(g.length===1&&g[0].semver===n)return!0;w.includePrerelease?c=p:c=f}if(g.length===1&&g[0].semver===n){if(w.includePrerelease)return!0;g=f}const N=new Set;let v,k;for(const y of c)y.operator===">"||y.operator===">="?v=l(v,y,w):y.operator==="<"||y.operator==="<="?k=s(k,y,w):N.add(y.semver);if(N.size>1)return null;let A;if(v&&k&&(A=o(v.semver,k.semver,w),A>0||A===0&&(v.operator!==">="||k.operator!=="<=")))return null;for(const y of N){if(v&&!a(y,String(v),w)||k&&!a(y,String(k),w))return null;for(const J of g)if(!a(y,String(J),w))return!1;return!0}let M,T,_,F,C=k&&!w.includePrerelease&&k.semver.prerelease.length?k.semver:!1,D=v&&!w.includePrerelease&&v.semver.prerelease.length?v.semver:!1;C&&C.prerelease.length===1&&k.operator==="<"&&C.prerelease[0]===0&&(C=!1);for(const y of g){if(F=F||y.operator===">"||y.operator===">=",_=_||y.operator==="<"||y.operator==="<=",v){if(D&&y.semver.prerelease&&y.semver.prerelease.length&&y.semver.major===D.major&&y.semver.minor===D.minor&&y.semver.patch===D.patch&&(D=!1),y.operator===">"||y.operator===">="){if(M=l(v,y,w),M===y&&M!==v)return!1}else if(v.operator===">="&&!a(v.semver,String(y),w))return!1}if(k){if(C&&y.semver.prerelease&&y.semver.prerelease.length&&y.semver.major===C.major&&y.semver.minor===C.minor&&y.semver.patch===C.patch&&(C=!1),y.operator==="<"||y.operator==="<="){if(T=s(k,y,w),T===y&&T!==k)return!1}else if(k.operator==="<="&&!a(k.semver,String(y),w))return!1}if(!y.operator&&(k||v)&&A!==0)return!1}return!(v&&_&&!k&&A!==0||k&&F&&!v&&A!==0||D||C)},"simpleSubset"),l=r((c,g,w)=>{if(!c)return g;const N=o(c.semver,g.semver,w);return N>0?c:N<0||g.operator===">"&&c.operator===">="?g:c},"higherGT"),s=r((c,g,w)=>{if(!c)return g;const N=o(c.semver,g.semver,w);return N<0?c:N>0||g.operator==="<"&&c.operator==="<="?g:c},"lowerLT");return nr=m,nr}h(mn,"requireSubset");var ar,ct;function dn(){if(ct)return ar;ct=1;const e=te(),r=re(),t=G(),i=ht(),n=W(),a=Xt(),o=Vt(),m=Bt(),p=Wt(),f=Ht(),u=Yt(),l=zt(),s=Jt(),c=X(),g=Zt(),w=Kt(),N=fr(),v=Qt(),k=en(),A=oe(),M=hr(),T=mt(),_=dt(),F=mr(),C=dr(),D=vt(),y=rn(),J=tn(),ce=ue(),pe=V(),fe=le(),he=an(),E=sn(),d=on(),$=un(),b=ln(),O=vr(),R=cn(),I=pn(),P=fn(),S=hn(),j=mn();return ar={parse:n,valid:a,clean:o,inc:m,diff:p,major:f,minor:u,patch:l,prerelease:s,compare:c,rcompare:g,compareLoose:w,compareBuild:N,sort:v,rsort:k,gt:A,lt:M,eq:T,neq:_,gte:F,lte:C,cmp:D,coerce:y,truncate:J,Comparator:ce,Range:pe,satisfies:fe,toComparators:he,maxSatisfying:E,minSatisfying:d,minVersion:$,validRange:b,outside:O,gtr:R,ltr:I,intersects:P,simplifyRange:S,subset:j,SemVer:t,re:e.re,src:e.src,tokens:e.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:i.compareIdentifiers,rcompareIdentifiers:i.rcompareIdentifiers},ar}h(dn,"requireSemver");var ee=dn();const na=St(ee);var vn=Object.defineProperty,x=h((e,r)=>vn(e,"name",{value:r,configurable:!0}),"n");const H=x((e,r,t,i)=>{for(const n of r)e.push("--filter",n);t&&e.push("--recursive"),i&&e.push("--workspace-root")},"pushFilterGlobals"),gn=x(e=>{const r=[],t=[];return H(r,e.filter,e.recursive,e.workspaceRoot),e.silent&&r.push("--silent"),e.frozenLockfile&&r.push("--frozen-lockfile"),r.push("install"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.force&&r.push("--force"),e.ignoreScripts&&r.push("--ignore-scripts"),e.lockfileOnly&&r.push("--lockfile-only"),e.noOptional&&r.push("--no-optional"),e.offline&&r.push("--offline"),{args:r,bin:"aube",warnings:t}},"resolveAubeInstall"),En=x(e=>{const r=[],t=[];return H(r,e.filter,!1,!1),r.push("add"),e.saveDev&&r.push("--save-dev"),e.exact&&r.push("--save-exact"),e.global&&r.push("--global"),e.optional&&r.push("--save-optional"),e.peer&&r.push("--save-peer"),e.workspace&&t.push("aube has no flag for the `workspace:` protocol; it auto-detects local workspace members during add. Ignoring --workspace."),e.workspaceRoot&&r.push("--workspace"),r.push(...e.packages),{args:r,bin:"aube",warnings:t}},"resolveAubeAdd"),bn=x(e=>{const r=[];return H(r,e.filter,e.recursive,!1),r.push("remove"),e.saveDev&&r.push("--save-dev"),e.global&&r.push("--global"),e.workspaceRoot&&r.push("--workspace"),r.push(...e.packages),{args:r,bin:"aube",warnings:[]}},"resolveAubeRemove"),Rn=x(e=>{const r=["dedupe"];return e&&r.push("--check"),{args:r,bin:"aube",warnings:[]}},"resolveAubeDedupe"),wn=x(e=>{const r=[],t=[];H(r,e.filter,e.recursive,!1),r.push("why"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.json&&r.push("--json"),e.long&&r.push("--long"),e.parseable&&r.push("--parseable"),e.depth!==void 0&&t.push("aube why does not accept --depth; ignoring."),e.noOptional&&t.push("aube why does not accept --no-optional; ignoring."),e.global&&t.push("aube why does not accept --global; ignoring.");const[i,...n]=e.packages;return i===void 0?t.push("aube why requires a package name; none provided."):(n.length>0&&t.push("aube why takes a single package; using the first."),r.push(i)),{args:r,bin:"aube",warnings:t}},"resolveAubeWhy"),$n=x(e=>{const r=[],t=[];e.workspaceRoot&&t.push("aube outdated has no `--include-workspace-root` equivalent. Run `vis outdated` separately at the workspace root if you need its outdated list."),H(r,e.filter,e.recursive,!1),r.push("outdated"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.long&&r.push("--long"),e.format==="json"?r.push("--json"):e.format&&e.format!=="table"&&t.push(`aube outdated does not support format "${e.format}"; falling back to default table output.`),e.compatible&&t.push("aube outdated does not accept --compatible; ignoring."),e.noOptional&&t.push("aube outdated does not accept --no-optional; ignoring."),e.global&&t.push("aube outdated does not accept --global; ignoring.");const[i,...n]=e.packages;return i!==void 0&&(n.length>0&&t.push("aube outdated takes a single pattern argument; using the first."),r.push(i)),{args:r,bin:"aube",warnings:t}},"resolveAubeOutdated"),On=x(e=>{const r=[];e.silent&&r.push("--silent"),r.push("dlx");for(const t of e.additionalPackages)r.push("--package",t);return e.shellMode&&r.push("--shell-mode"),r.push(e.package),r.push(...e.args),{args:r,bin:"aube",warnings:[]}},"resolveAubeDlx"),In=x(e=>{const r=[];return H(r,e.filter,e.recursive,e.workspaceRoot),r.push("exec"),e.parallel&&r.push("--parallel"),e.reverse&&r.push("--reverse"),e.shellMode&&r.push("--shell-mode"),r.push(e.command),r.push(...e.args),{args:r,bin:"aube",warnings:[]}},"resolveAubeExec"),yn=x(e=>{const r=["link"];return e!==null&&r.push(e),{args:r,bin:"aube",warnings:[]}},"resolveAubeLink"),kn=x((e,r)=>{const t=[],i=[];return r&&t.push("--recursive"),t.push("unlink"),e.length>1&&i.push("aube unlink takes a single package; using the first."),e.length>0&&t.push(e[0]),{args:t,bin:"aube",warnings:i}},"resolveAubeUnlink"),Ln=x(e=>{const r=["view","--",e.package],t=[],[i,...n]=e.fields;return i!==void 0?(n.length>0&&t.push("aube view only supports a single field; using the first."),e.json&&t.push("aube view does not support --json with a field selector; printing the field without --json."),r.push(i)):e.json&&r.push("--json"),{args:r,bin:"aube",warnings:t}},"resolveAubeInfo"),aa=x(e=>{const r=[],t=[];return H(r,e.filters,e.recursive,e.workspaceRoot),r.push("update"),e.dev&&r.push("--dev"),e.prod&&r.push("--prod"),e.global&&r.push("--global"),e.interactive&&r.push("--interactive"),e.latest&&r.push("--latest"),e.noOptional&&r.push("--no-optional"),e.noSave&&r.push("--no-save"),r.push(...e.packages),{args:r,bin:"aube",warnings:t}},"resolveAubeUpdate"),Sn=new Set(["fund","ping","search","token"]),Nn=x((e,r)=>Sn.has(e)?{args:[e,...r],bin:"npm",warnings:[`'${e}' is not natively supported by aube. Delegating to npm.`]}:{args:[e,...r],bin:"aube",warnings:[]},"resolveAubePmCommand");var An=Object.defineProperty,ir=h((e,r)=>An(e,"name",{value:r,configurable:!0}),"r");const pt=256*1024,Pn=ir(e=>{const r=e?{...process.env,...e}:{...process.env};return process.stderr.isTTY&&r.FORCE_COLOR===void 0&&r.NO_COLOR===void 0&&(r.FORCE_COLOR="1"),r},"buildChildEnv"),Tn=ir(async(e,r,t)=>new Promise((i,n)=>{const a=yt(e,[...r],{cwd:t.cwd,env:Pn(t.env),shell:process.platform==="win32",stdio:["inherit","pipe","pipe"],windowsHide:!0});let o="";const m=ir(p=>{const f=p.toString("utf8");if(o.length+f.length<=pt){o+=f;return}const u=o+f;o=u.slice(u.length-pt)},"append");a.stdout?.on("data",p=>{process.stdout.write(p),m(p)}),a.stderr?.on("data",p=>{process.stderr.write(p),m(p)}),a.on("error",n),a.on("close",p=>{i({code:p??1,output:o})})}),"spawnTee");var jn=Object.defineProperty,ne=h((e,r)=>jn(e,"name",{value:r,configurable:!0}),"a");const Q=ne(e=>{const r=ee.coerce(e);return r?ee.gte(r,"11.0.0"):!1},"isPnpm11Plus"),B=ne(e=>e.name==="yarn"&&!e.version.startsWith("1."),"isYarnBerry"),sr=ne(e=>e.name==="yarn"&&e.version.startsWith("1."),"isYarn1"),Cn=ne(e=>e[0]==="rm"?["remove",...e.slice(1)]:e,"rewriteRmToRemove"),qn=ne((e,r,t)=>{switch(r){case"audit":return B(e)?{args:["npm","audit",...t],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"config":{if(B(e)){const[i,...n]=t;return i==="delete"?{args:["config","unset",...n],bin:"yarn",kind:"rewrite",warning:"yarn berry uses `config unset`, not `config delete`."}:{kind:"passthrough"}}return e.name==="bun"?{kind:"skip",warning:"bun has no `config` CLI. Edit bunfig.toml or .npmrc directly."}:e.name==="deno"?{kind:"skip",warning:"deno has no registry-config CLI. Edit deno.json directly."}:{kind:"passthrough"}}case"dist-tag":return sr(e)?{args:["tag",...t],bin:"yarn",kind:"rewrite",warning:"yarn 1 has no `dist-tag`; using `yarn tag`."}:B(e)?{args:["npm","tag",...Cn(t)],bin:"yarn",kind:"rewrite"}:e.name==="bun"||e.name==="deno"?{kind:"skip",warning:`${e.name} has no \`dist-tag\`. Use \`npm dist-tag\` instead.`}:{kind:"passthrough"};case"login":case"logout":return B(e)?{args:["npm",r,...t],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:[r,...t],bin:"npm",kind:"rewrite",warning:`bun has no \`${r}\`; falling back to \`npm ${r}\` (writes ~/.npmrc, which bun reads).`}:e.name==="deno"?{kind:"skip",warning:`deno has no \`${r}\`. JSR uses browser OAuth via \`deno publish\`.`}:{kind:"passthrough"};case"owner":return e.name==="pnpm"&&Q(e.version)?{args:["owner",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `owner`; falling back to `npm owner`."}:B(e)?{args:["owner",...t],bin:"npm",kind:"rewrite",warning:"yarn berry has no `owner` (not in `yarn npm`); falling back to `npm owner`."}:e.name==="bun"?{args:["owner",...t],bin:"npm",kind:"rewrite",warning:"bun has no `owner`; falling back to `npm owner`."}:e.name==="deno"?{kind:"skip",warning:"deno has no `owner`. JSR uses scope-member roles via the web UI."}:{kind:"passthrough"};case"ping":return e.name==="pnpm"&&Q(e.version)?{args:["ping",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `ping`; falling back to `npm ping`."}:{kind:"passthrough"};case"plugin":return B(e)?{kind:"passthrough"}:{kind:"skip",warning:`${e.name} does not support yarn-style plugins. Skipping (no-op).`};case"prune":return sr(e)?{kind:"skip",warning:"yarn 1 has no `prune`. Use `yarn install --production` for a prod-only tree."}:B(e)?{kind:"skip",warning:"yarn berry has no `prune`. Use `yarn workspaces focus --production` instead."}:e.name==="bun"||e.name==="deno"?{kind:"skip",warning:`${e.name} has no \`prune\`. Pruning happens automatically on install.`}:{kind:"passthrough"};case"publish":return B(e)?{args:["npm","publish",...t],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"rebuild":return sr(e)?{kind:"skip",warning:"yarn 1 has no `rebuild`. Re-install instead."}:e.name==="bun"?{kind:"skip",warning:"bun has no `rebuild`. Use `bun install --force` instead."}:e.name==="deno"?{kind:"skip",warning:"deno has no `rebuild`."}:{kind:"passthrough"};case"search":return e.name==="pnpm"&&Q(e.version)?{args:["search",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `search`; falling back to `npm search`."}:{kind:"passthrough"};case"token":return e.name==="pnpm"&&Q(e.version)?{args:["token",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `token`; falling back to `npm token`."}:{kind:"passthrough"};case"whoami":return e.name==="pnpm"&&Q(e.version)?{args:["whoami",...t],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `whoami`; falling back to `npm whoami`."}:B(e)?{args:["npm","whoami",...t],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:["pm","whoami",...t],bin:"bun",kind:"rewrite"}:e.name==="deno"?{kind:"skip",warning:"deno has no `whoami`. JSR uses browser auth."}:{kind:"passthrough"};default:return{kind:"passthrough"}}},"dispatchSubcommand");var Dn=Object.defineProperty,L=h((e,r)=>Dn(e,"name",{value:r,configurable:!0}),"o");const or=L(e=>Nt(e)!==null,"hasBinaryOnPath"),Mn=L(e=>{const r=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["package-lock.json","npm"],["npm-shrinkwrap.json","npm"],["bun.lock","bun"],["bun.lockb","bun"],["deno.lock","deno"]];let t=e;for(;;){for(const[n,a]of r)if(ur(se(t,n)))return a;const i=lr(t);if(i===t||cr(t).root===t)return;t=i}},"findNonAubeLockfile"),sa=L((e,r)=>{if(r.name!=="aube")return;const t=Mn(e);if(t!==void 0)return`Resolved installer is aube but the workspace has a ${t} lockfile. Aube reads and writes ${t}'s lockfile format in place, but its byte output may differ subtly — expect a one-time churn diff on the first install, and ongoing drift if your team mixes tools on the same lockfile. To pin the choice across the team, set \`install.backend\` in vis.config; to bypass aube for this run, pass --no-aube.`},"detectLockfileDrift"),gr=L(e=>{if(ur(e))try{return JSON.parse(Lt(e,{buffer:!1}))}catch{return}},"readJson"),_n=L(e=>{let r=e;for(;;){const t=se(r,"package.json"),i=gr(t);if(i&&typeof i.packageManager=="string"&&i.packageManager.length>0)return i.packageManager;const n=lr(r);if(n===r||cr(r).root===r)return;r=n}},"readPackageManagerField"),gt=new Set(["npm","pnpm","yarn"]),ft=L((e,r,t)=>t===!1||!gt.has(r)||!or("corepack")?!1:t===!0?!0:_n(e)!==void 0,"shouldUseCorepack"),ia=L((e,r)=>{const t=r.backend,i=process.env.VIS_INSTALLER,n=t??i??r.configBackend,a=r.configCorepack??"auto";if(n&&n!=="auto"){if(n==="aube"&&!or("aube"))throw new Error('install.backend is set to "aube" but the `aube` binary is not on PATH. Install it via `npm i -g @endevco/aube`, `mise use -g aube`, or `brew install endevco/tap/aube`.');return{name:n,useCorepack:ft(e,n,a),version:"latest"}}if(or("aube"))return{name:"aube",useCorepack:!1,version:"latest"};const o=Gn(e);return{...o,useCorepack:ft(e,o.name,a)}},"resolveInstaller"),Gn=L(e=>{if(!ur(e))throw new Error(`Could not detect package manager in ${e}. Directory does not exist.`);const r=At(e);return{name:r.name,version:r.version||"latest"}},"detectPm"),Et=L((e,r)=>r.useCorepack!==!0||!gt.has(r.name)||e.bin==="corepack"||e.bin!==r.name?e:{...e,args:[r.name,...e.args],bin:"corepack"},"applyCorepack"),Fn=L((e,r,t)=>{if(t===void 0)return Pt(e.bin,e.args,r);const i=kt(e.bin,e.args,{cwd:r,env:{...process.env,...t},stdio:"inherit"});if(i.error)throw i.error;return i.status??1},"spawnResolved"),U=L((e,r,t,i,n={})=>{const a=Et(r,e);for(const o of a.warnings)i.warn(`warning: ${o}`);return n.dry?(i.log(`[dry-run] ${a.bin} ${a.args.join(" ")}`),0):Fn(a,t,n.env)},"runResolved"),Y=L((e,r,t,i,n={})=>U(e,r(),t,i,n),"resolveAndRun"),Un=L((e,r)=>r==="aube"||r==="deno"?e:{...e,args:[...e.args,"--prefer-offline"]},"applyPreferOffline"),xn=L((e,r,t)=>r!=="yarn"||t.startsWith("1.")||!e.args.includes("--immutable")||e.args.includes("--immutable-cache")?e:{...e,args:[...e.args,"--immutable-cache"]},"applyImmutableCache"),bt=L((e,r,t)=>{let i=e.name==="aube"?gn(r):Tt(e.name,e.version,{...r,silent:r.silent||t.silent===!0});return t.preferOffline&&(i=Un(i,e.name)),t.ciMode&&(i=xn(i,e.name,e.version)),i},"resolveInstallCommand"),oa=L((e,r,t,i,n={})=>{const a=bt(e,r,n);return Er(e,a,t,i,{dry:n.dry,env:n.env})},"runInstall"),ua=L(async(e,r,t,i,n={})=>{const a=Et(bt(e,r,n),e);for(const o of a.warnings)i.warn(`warning: ${o}`);return n.dry?(i.log(`[dry-run] ${a.bin} ${a.args.join(" ")}`),{code:0,output:""}):Tn(a.bin,a.args,{cwd:t,env:n.env?{...process.env,...n.env}:process.env})},"runInstallCaptured"),Rt=L((e,r)=>{const t=r==="deno"?"--quiet":"--silent";return{...e,args:[...e.args,t]}},"applySilent"),Xn=L((e,r)=>r==="yarn"||r==="aube"?null:{...e,args:[...e.args,"--dry-run"]},"applyDryRun"),Er=L((e,r,t,i,n)=>{if(n.dry!==!0)return U(e,r,t,i,n);const a=Xn(r,e.name);return a===null?U(e,r,t,i,n):U(e,a,t,i,{env:n.env})},"runWithNativeDryRun"),Vn=L((e,r)=>r==="aube"?{...e,args:[...e.args,"--ignore-scripts"]}:r==="deno"?e:{...e,args:[...e.args,"--ignore-scripts"]},"applyIgnoreScripts"),Bn=L((e,r,t,i,n={})=>{let a=e.name==="aube"?En(r):jt(e.name,e.version,r);n.ignoreScripts&&(a=Vn(a,e.name)),n.silent&&(a=Rt(a,e.name));const o=Er(e,a,t,i,{dry:n.dry,env:n.env});return o===0&&n.autoInstallPeers&&zn(e,r,t,i,n),o},"runAdd"),Wn=L(e=>{if(e.startsWith("@")){const t=e.indexOf("/");if(t===-1)return e;const i=e.indexOf("@",t);return i===-1?e:e.slice(0,i)}const r=e.indexOf("@");return r===-1?e:e.slice(0,r)},"stripVersionRange"),Hn=L((e,r)=>{let t=e;for(;;){const i=se(t,"node_modules",r,"package.json"),n=gr(i);if(n)return n;const a=lr(t);if(a===t||cr(t).root===t)return;t=a}},"findInstalledManifest"),Yn=L(e=>{const r=gr(se(e,"package.json")),t=new Set;if(!r)return t;for(const i of["dependencies","devDependencies","peerDependencies","optionalDependencies"]){const n=r[i];if(n)for(const a of Object.keys(n))t.add(a)}return t},"collectExistingDeps"),zn=L((e,r,t,i,n)=>{if(e.name==="deno")return;const a=Yn(t),o=new Map;for(const f of r.packages){const u=Wn(f),l=Hn(t,u);if(!l?.peerDependencies)continue;const s=l.peerDependenciesMeta??{};for(const[c,g]of Object.entries(l.peerDependencies))s[c]?.optional||a.has(c)||o.has(c)||o.set(c,g)}if(o.size===0)return;const m=[...o.entries()].map(([f,u])=>`${f}@${u}`);i.log(`auto-installing peer dependencies: ${m.join(", ")}`);const p={exact:!1,filter:r.filter,global:!1,optional:!1,packages:m,peer:!1,saveDev:r.saveDev,workspace:!1,workspaceRoot:r.workspaceRoot};Bn(e,p,t,i,{ignoreScripts:n.ignoreScripts})},"installMissingPeers"),la=L((e,r,t,i,n={})=>{let a=e.name==="aube"?bn(r):Ct(e.name,e.version,r);return n.silent&&(a=Rt(a,e.name)),Er(e,a,t,i,{dry:n.dry,env:n.env})},"runRemove"),ca=L((e,r,t,i,n={})=>e.name==="aube"?U(e,Rn(r),t,i,n):Y(e,()=>qt(e.name,e.version,r),t,i,n),"runDedupe"),pa=L((e,r,t,i,n={})=>e.name==="aube"?U(e,wn(r),t,i,n):Y(e,()=>Dt(e.name,e.version,r),t,i,n),"runWhy");L((e,r,t,i,n={})=>e.name==="aube"?U(e,$n(r),t,i,n):Y(e,()=>Mt(e.name,e.version,r),t,i,n),"runOutdated");const Jn=L((e,r)=>{if(e.name==="aube")return Ln(r);const t=[],i=[],n=e.name;switch(e.name){case"bun":{const a=ee.coerce(e.version);a&&ee.lt(a,"1.3.0")&&i.push(`bun ${e.version} does not support \`bun pm view\` (added in bun 1.3). Upgrade bun, or run \`npm view ${r.package}\` instead.`),t.push("pm","view","--",r.package,...r.fields),r.json&&t.push("--json");break}case"deno":{const a=r.package.startsWith("npm:")||r.package.startsWith("jsr:")||r.package.startsWith("https://")||r.package.startsWith("http://")||r.package.startsWith("file:")?r.package:`npm:${r.package}`;t.push("info","--",a),r.json&&t.push("--json"),r.fields.length>0&&i.push("deno info does not accept field selectors; ignoring.");break}case"npm":case"pnpm":{t.push("view","--",r.package,...r.fields),r.json&&t.push("--json");break}case"yarn":{if(e.version.startsWith("1.")){t.push("info","--",r.package);const[a,...o]=r.fields;a!==void 0&&(o.length>0&&i.push("yarn v1 only supports querying one field at a time; using the first."),t.push(a)),r.json&&t.push("--json")}else t.push("npm","info","--",r.package),r.fields.length>0&&i.push("yarn berry does not support field arguments to 'npm info'; ignoring."),r.json&&t.push("--json");break}default:{const a=e.name;throw new Error(`Unsupported package manager: ${a}`)}}return{args:t,bin:n,warnings:i}},"resolveInfo"),fa=L((e,r,t,i,n={})=>U(e,Jn(e,r),t,i,n),"runInfo"),ha=L((e,r,t,i,n={})=>e.name==="aube"?U(e,yn(r),t,i,n):Y(e,()=>_t(e.name,e.version,r),t,i,n),"runLink"),ma=L((e,r,t,i,n,a={})=>e.name==="aube"?U(e,kn(r,t),i,n,a):Y(e,()=>Gt(e.name,e.version,r,t),i,n,a),"runUnlink"),Zn=L((e,r,t)=>{if(e.args.includes("--offline")||e.args.includes("--cached-only"))return e;const i=L((n,a)=>{const o=[...e.args];return o.splice(a,0,n),{...e,args:o}},"insertAt");switch(r){case"aube":case"pnpm":return i("--offline",1);case"bun":return{...e,warnings:[...e.warnings,"bun x does not support --offline. Pre-install the package via `vis install` so bun x resolves from the local cache."]};case"deno":return i("--cached-only",1);case"npm":return i("--offline",1);case"yarn":return t.startsWith("1.")?i("--offline",0):{...e,warnings:[...e.warnings,"yarn berry has no --offline flag for dlx. Configure `enableNetwork: false` in .yarnrc.yml or set `enableMirror: true` for offline-first behavior."]};default:{const n=r;return{...e,warnings:[...e.warnings,`applyDlxOffline: unsupported pm ${String(n)}`]}}}},"applyDlxOffline"),da=L((e,r,t,i,n={})=>{let a=e.name==="aube"?On(r):Ft(e.name,e.version,r);return n.offline&&(a=Zn(a,e.name,e.version)),U(e,a,t,i,{dry:n.dry,env:n.env})},"runDlx"),va=L((e,r,t,i,n={})=>e.name==="aube"?U(e,In(r),t,i,n):Y(e,()=>Ut(e.name,e.version,r),t,i,n),"runExec"),ga=L((e,r,t,i,n,a={})=>{if(e.name==="aube")return U(e,Nn(r,t),i,n,a);const o=qn(e,r,t);return o.kind==="skip"?(n.warn(`warning: ${o.warning}`),0):o.kind==="rewrite"?U(e,{args:o.args,bin:o.bin,warnings:o.warning?[o.warning]:[]},i,n,a):Y(e,()=>xt(e.name,e.version,r,t),i,n,a)},"runPmSubcommand");export{ha as $,Gn as A,da as B,ua as C,la as E,sa as I,ga as L,ca as M,va as N,Bn as P,ia as R,fa as S,ma as W,pa as a,Tn as b,Vt as c,aa as k,Xt as r,ee as s,na as x,oa as y};
@@ -1 +1 @@
1
- var R=Object.defineProperty;var d=(e,t)=>R(e,"name",{value:t,configurable:!0});import{createRequire as M}from"node:module";import{s as u}from"./pm-runner-BzGZmzYs.js";import{n as $,b as S}from"../packem_chunks/config.js";import{M as v,i as k}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{g as U,i as D}from"../packem_chunks/bin.js";const T=M(import.meta.url),f=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,A=d(e=>{if(typeof f<"u"&&f.versions&&f.versions.node){const[t,r]=f.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return f.getBuiltinModule(e)}return T(e)},"__cjs_getBuiltinModule"),{rmSync:p,writeFileSync:C,readdirSync:O}=A("node:fs");var N=Object.defineProperty,b=d((e,t)=>N(e,"name",{value:t,configurable:!0}),"o$1");const F=8,V=b(async(e,t,r)=>{if(e.length===0)return[];const o=Math.max(1,Math.min(t,e.length)),a=Array.from({length:e.length});let n=0;const i=b(async()=>{for(;n<e.length;){const s=n;n+=1;const l=e[s];a[s]=await r(l,s)}},"worker");return await Promise.all(Array.from({length:o},()=>i())),a},"mapWithConcurrency");var W=Object.defineProperty,c=d((e,t)=>W(e,"name",{value:t,configurable:!0}),"o");const w=2,E=1800*1e3,L=15e3,g=c(()=>v(U(),"packuments"),"getPackumentCacheDir"),P=c(e=>v(g(),`${encodeURIComponent(e)}.json`),"cacheFilePath"),x=c(e=>{const t=P(e);if(k(t))try{const r=$(t);if(r.cacheVersion!==w){p(t,{force:!0});return}if(Date.now()-r.createdAt>r.ttlMs){p(t,{force:!0});return}return r.packument}catch{p(t,{force:!0});return}},"readCached"),q=c((e,t,r)=>{S(g());const o={cacheVersion:w,createdAt:Date.now(),packument:t,ttlMs:r};C(P(e),JSON.stringify(o),"utf8")},"writeCached"),B=c(e=>{const t={},r=e.versions??{};for(const[a,n]of Object.entries(r)){const i=n.dist,s={version:a};if(n._npmUser!==void 0&&(s._npmUser=n._npmUser),n.maintainers!==void 0&&(s.maintainers=n.maintainers),n.bin!==void 0&&(s.bin=n.bin),i!==void 0){const l={};i.signatures!==void 0&&(l.signatures=i.signatures),i.attestations!==void 0&&(l.attestations=i.attestations),typeof i.integrity=="string"&&(l.integrity=i.integrity),typeof i.tarball=="string"&&(l.tarball=i.tarball),s.dist=l}n.repository!==void 0&&(s.repository=n.repository),n.license!==void 0&&(s.license=n.license),typeof n.readme=="string"&&(s.readme=n.readme),typeof n.readmeFilename=="string"&&(s.readmeFilename=n.readmeFilename),typeof n.private=="boolean"&&(s.private=n.private),typeof n.deprecated=="string"&&(s.deprecated=n.deprecated),n.scripts!==void 0&&typeof n.scripts=="object"&&(s.scripts=n.scripts),t[a]=s}const o={name:typeof e.name=="string"?e.name:"",versions:t};return e["dist-tags"]!==void 0&&(o["dist-tags"]=e["dist-tags"]),e.time!==void 0&&(o.time=e.time),typeof e.readme=="string"&&(o.readme=e.readme),o},"stripPackument"),H=c(e=>{const t={Accept:"application/json"};return e!==void 0&&e!==""&&(t.Authorization=`Bearer ${e}`),t},"buildHeaders"),z=c(async(e,t)=>{if(t.registryUrl!==void 0)return{authToken:t.authToken,url:t.registryUrl};if(t.workspaceRoot!==void 0){const{getRegistryForPackage:r,loadNpmrc:o}=await import("../packem_chunks/bin.js").then(s=>s.bk),a=o(t.workspaceRoot),{token:n,url:i}=r(e,a);return{authToken:t.authToken??n,url:i}}return{authToken:t.authToken,url:"https://registry.npmjs.org"}},"resolveRegistry"),I=c(async(e,t={})=>{const r=t.cacheTtlMs??E,o=x(e);if(o!==void 0)return o;const a=await z(e,t),n=`${a.url.endsWith("/")?a.url.slice(0,-1):a.url}/${e.replace("/","%2f")}`,i=new AbortController,s=setTimeout(()=>{i.abort()},L),l=c(()=>{i.abort()},"abortListener");t.signal?.addEventListener("abort",l,{once:!0});try{const m=await fetch(n,{headers:H(a.authToken),signal:i.signal});if(m.status===404)return;if(!m.ok)throw new Error(`Registry returned ${String(m.status)} for ${e}`);const _=await m.json(),y=B(_);return q(e,y,r),y}finally{clearTimeout(s),t.signal?.removeEventListener("abort",l)}},"getPackument"),te=c((e,t)=>{const r=Object.keys(e.versions);if(r.length===0)return;if(t===void 0||t===""||t==="latest")return e["dist-tags"]?.latest??r.at(-1);const o=e["dist-tags"]?.[t];return o!==void 0?o:Object.hasOwn(e.versions,t)?t:u.maxSatisfying(r,t)??void 0},"resolveVersionRange");c(()=>{const e=g();if(!k(e))return 0;let t=0;for(const r of O(e))r.endsWith(".json")&&(p(v(e,r),{force:!0}),t+=1);return t},"clearPackumentCache");var J=Object.defineProperty,h=d((e,t)=>J(e,"name",{value:t,configurable:!0}),"i");const j=h((e,t)=>e.versions[t]?.dist?.attestations?.provenance!==void 0,"hasProvenance"),Y=h((e,t)=>u.valid(t)?Object.keys(e.versions).filter(r=>u.valid(r)!==null&&u.lt(r,t)).filter(r=>u.satisfies(r,"*",{includePrerelease:!1})).filter(r=>j(e,r)).sort((r,o)=>u.lt(r,o)?1:-1)[0]:void 0,"findNewestPriorWithAttestations"),re=h(async(e,t={})=>{if(D("provenance"))return[];const r=new Set(t.allowlist),o=t.concurrency??F;return(await V(e,o,async({name:a,version:n})=>{if(r.has(a))return;const i=await I(a,{workspaceRoot:t.workspaceRoot});if(i===void 0||j(i,n))return;const s=Y(i,n);if(s!==void 0)return{packageName:a,priorVersionWithProvenance:s,version:n}})).filter(a=>a!==void 0)},"runProvenanceMarshall");export{F as D,te as a,Y as f,I as g,V as m,re as r};
1
+ var R=Object.defineProperty;var d=(e,t)=>R(e,"name",{value:t,configurable:!0});import{createRequire as M}from"node:module";import{s as u}from"./pm-runner-COoPLGKi.js";import{n as $,d as S}from"../packem_chunks/config.js";import{M as v,i as k}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{h as U,i as D}from"../packem_chunks/bin.js";const T=M(import.meta.url),f=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,A=d(e=>{if(typeof f<"u"&&f.versions&&f.versions.node){const[t,r]=f.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return f.getBuiltinModule(e)}return T(e)},"__cjs_getBuiltinModule"),{rmSync:p,writeFileSync:C,readdirSync:O}=A("node:fs");var N=Object.defineProperty,b=d((e,t)=>N(e,"name",{value:t,configurable:!0}),"o$1");const F=8,V=b(async(e,t,r)=>{if(e.length===0)return[];const o=Math.max(1,Math.min(t,e.length)),a=Array.from({length:e.length});let n=0;const i=b(async()=>{for(;n<e.length;){const s=n;n+=1;const l=e[s];a[s]=await r(l,s)}},"worker");return await Promise.all(Array.from({length:o},()=>i())),a},"mapWithConcurrency");var W=Object.defineProperty,c=d((e,t)=>W(e,"name",{value:t,configurable:!0}),"o");const w=2,E=1800*1e3,L=15e3,g=c(()=>v(U(),"packuments"),"getPackumentCacheDir"),P=c(e=>v(g(),`${encodeURIComponent(e)}.json`),"cacheFilePath"),x=c(e=>{const t=P(e);if(k(t))try{const r=$(t);if(r.cacheVersion!==w){p(t,{force:!0});return}if(Date.now()-r.createdAt>r.ttlMs){p(t,{force:!0});return}return r.packument}catch{p(t,{force:!0});return}},"readCached"),q=c((e,t,r)=>{S(g());const o={cacheVersion:w,createdAt:Date.now(),packument:t,ttlMs:r};C(P(e),JSON.stringify(o),"utf8")},"writeCached"),B=c(e=>{const t={},r=e.versions??{};for(const[a,n]of Object.entries(r)){const i=n.dist,s={version:a};if(n._npmUser!==void 0&&(s._npmUser=n._npmUser),n.maintainers!==void 0&&(s.maintainers=n.maintainers),n.bin!==void 0&&(s.bin=n.bin),i!==void 0){const l={};i.signatures!==void 0&&(l.signatures=i.signatures),i.attestations!==void 0&&(l.attestations=i.attestations),typeof i.integrity=="string"&&(l.integrity=i.integrity),typeof i.tarball=="string"&&(l.tarball=i.tarball),s.dist=l}n.repository!==void 0&&(s.repository=n.repository),n.license!==void 0&&(s.license=n.license),typeof n.readme=="string"&&(s.readme=n.readme),typeof n.readmeFilename=="string"&&(s.readmeFilename=n.readmeFilename),typeof n.private=="boolean"&&(s.private=n.private),typeof n.deprecated=="string"&&(s.deprecated=n.deprecated),n.scripts!==void 0&&typeof n.scripts=="object"&&(s.scripts=n.scripts),t[a]=s}const o={name:typeof e.name=="string"?e.name:"",versions:t};return e["dist-tags"]!==void 0&&(o["dist-tags"]=e["dist-tags"]),e.time!==void 0&&(o.time=e.time),typeof e.readme=="string"&&(o.readme=e.readme),o},"stripPackument"),H=c(e=>{const t={Accept:"application/json"};return e!==void 0&&e!==""&&(t.Authorization=`Bearer ${e}`),t},"buildHeaders"),z=c(async(e,t)=>{if(t.registryUrl!==void 0)return{authToken:t.authToken,url:t.registryUrl};if(t.workspaceRoot!==void 0){const{getRegistryForPackage:r,loadNpmrc:o}=await import("../packem_chunks/bin.js").then(s=>s.c7),a=o(t.workspaceRoot),{token:n,url:i}=r(e,a);return{authToken:t.authToken??n,url:i}}return{authToken:t.authToken,url:"https://registry.npmjs.org"}},"resolveRegistry"),I=c(async(e,t={})=>{const r=t.cacheTtlMs??E,o=x(e);if(o!==void 0)return o;const a=await z(e,t),n=`${a.url.endsWith("/")?a.url.slice(0,-1):a.url}/${e.replace("/","%2f")}`,i=new AbortController,s=setTimeout(()=>{i.abort()},L),l=c(()=>{i.abort()},"abortListener");t.signal?.addEventListener("abort",l,{once:!0});try{const m=await fetch(n,{headers:H(a.authToken),signal:i.signal});if(m.status===404)return;if(!m.ok)throw new Error(`Registry returned ${String(m.status)} for ${e}`);const _=await m.json(),y=B(_);return q(e,y,r),y}finally{clearTimeout(s),t.signal?.removeEventListener("abort",l)}},"getPackument"),te=c((e,t)=>{const r=Object.keys(e.versions);if(r.length===0)return;if(t===void 0||t===""||t==="latest")return e["dist-tags"]?.latest??r.at(-1);const o=e["dist-tags"]?.[t];return o!==void 0?o:Object.hasOwn(e.versions,t)?t:u.maxSatisfying(r,t)??void 0},"resolveVersionRange");c(()=>{const e=g();if(!k(e))return 0;let t=0;for(const r of O(e))r.endsWith(".json")&&(p(v(e,r),{force:!0}),t+=1);return t},"clearPackumentCache");var J=Object.defineProperty,h=d((e,t)=>J(e,"name",{value:t,configurable:!0}),"i");const j=h((e,t)=>e.versions[t]?.dist?.attestations?.provenance!==void 0,"hasProvenance"),Y=h((e,t)=>u.valid(t)?Object.keys(e.versions).filter(r=>u.valid(r)!==null&&u.lt(r,t)).filter(r=>u.satisfies(r,"*",{includePrerelease:!1})).filter(r=>j(e,r)).sort((r,o)=>u.lt(r,o)?1:-1)[0]:void 0,"findNewestPriorWithAttestations"),re=h(async(e,t={})=>{if(D("provenance"))return[];const r=new Set(t.allowlist),o=t.concurrency??F;return(await V(e,o,async({name:a,version:n})=>{if(r.has(a))return;const i=await I(a,{workspaceRoot:t.workspaceRoot});if(i===void 0||j(i,n))return;const s=Y(i,n);if(s!==void 0)return{packageName:a,priorVersionWithProvenance:s,version:n}})).filter(a=>a!==void 0)},"runProvenanceMarshall");export{F as D,te as a,Y as f,I as g,V as m,re as r};
@@ -1 +1 @@
1
- var v=Object.defineProperty;var a=(e,r)=>v(e,"name",{value:r,configurable:!0});import{createRequire as _}from"node:module";import{n as j,b as R}from"../packem_chunks/config.js";import{i as m,M as h}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{g as K}from"../packem_chunks/bin.js";const k=_(import.meta.url),n=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=a(e=>{if(typeof n<"u"&&n.versions&&n.versions.node){const[r,t]=n.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return n.getBuiltinModule(e)}return k(e)},"__cjs_getBuiltinModule"),{rmSync:d,writeFileSync:C}=b("node:fs");var M=Object.defineProperty,o=a((e,r)=>M(e,"name",{value:r,configurable:!0}),"r");const w=1440*60*1e3,A=15e3,S="https://registry.npmjs.org/-/npm/v1/keys",p=o(()=>h(K(),"registry-keys"),"getRegistryKeysCacheDir"),c=o(()=>h(p(),"npmjs.json"),"cacheFilePath"),T=o(()=>{const e=c();if(m(e))try{const r=j(e),t=Date.now()-r.createdAt>r.ttlMs;return{entry:r,expired:t}}catch{d(e,{force:!0});return}},"readCachedKeys"),D=o((e,r)=>{R(p());const t={createdAt:Date.now(),keys:e,ttlMs:r};C(c(),JSON.stringify(t),"utf8")},"writeCachedKeys"),N=o(async(e={})=>{const r=e.ttlMs??w,t=e.keysUrl??process.env.VIS_NPM_KEYS_URL??S,s=T();if(s!==void 0&&!s.expired&&e.forceRefresh!==!0)return{fromCache:!0,keys:s.entry.keys};const i=new AbortController,g=setTimeout(()=>{i.abort()},A),y=o(()=>{i.abort()},"abortListener");e.signal?.addEventListener("abort",y,{once:!0});try{const f=await fetch(t,{headers:{Accept:"application/json"},signal:i.signal});if(!f.ok)return s!==void 0?{fromCache:!0,keys:s.entry.keys,stale:!0}:void 0;const u=await f.json(),l=Array.isArray(u.keys)?u.keys:[];return D(l,r),{fromCache:!1,keys:l}}catch{return s!==void 0?{fromCache:!0,keys:s.entry.keys,stale:!0}:void 0}finally{clearTimeout(g),e.signal?.removeEventListener("abort",y)}},"fetchRegistryKeys"),B=o(()=>{const e=c();return m(e)?(d(e,{force:!0}),!0):!1},"clearRegistryKeysCache");export{B as c,N as f};
1
+ var v=Object.defineProperty;var a=(e,r)=>v(e,"name",{value:r,configurable:!0});import{createRequire as _}from"node:module";import{n as j,d as R}from"../packem_chunks/config.js";import{i as h,M as m}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{h as K}from"../packem_chunks/bin.js";const k=_(import.meta.url),n=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=a(e=>{if(typeof n<"u"&&n.versions&&n.versions.node){const[r,t]=n.versions.node.split(".").map(Number);if(r>22||r===22&&t>=3||r===20&&t>=16)return n.getBuiltinModule(e)}return k(e)},"__cjs_getBuiltinModule"),{rmSync:d,writeFileSync:C}=b("node:fs");var M=Object.defineProperty,o=a((e,r)=>M(e,"name",{value:r,configurable:!0}),"r");const w=1440*60*1e3,A=15e3,S="https://registry.npmjs.org/-/npm/v1/keys",p=o(()=>m(K(),"registry-keys"),"getRegistryKeysCacheDir"),c=o(()=>m(p(),"npmjs.json"),"cacheFilePath"),T=o(()=>{const e=c();if(h(e))try{const r=j(e),t=Date.now()-r.createdAt>r.ttlMs;return{entry:r,expired:t}}catch{d(e,{force:!0});return}},"readCachedKeys"),D=o((e,r)=>{R(p());const t={createdAt:Date.now(),keys:e,ttlMs:r};C(c(),JSON.stringify(t),"utf8")},"writeCachedKeys"),N=o(async(e={})=>{const r=e.ttlMs??w,t=e.keysUrl??process.env.VIS_NPM_KEYS_URL??S,s=T();if(s!==void 0&&!s.expired&&e.forceRefresh!==!0)return{fromCache:!0,keys:s.entry.keys};const i=new AbortController,g=setTimeout(()=>{i.abort()},A),y=o(()=>{i.abort()},"abortListener");e.signal?.addEventListener("abort",y,{once:!0});try{const f=await fetch(t,{headers:{Accept:"application/json"},signal:i.signal});if(!f.ok)return s!==void 0?{fromCache:!0,keys:s.entry.keys,stale:!0}:void 0;const u=await f.json(),l=Array.isArray(u.keys)?u.keys:[];return D(l,r),{fromCache:!1,keys:l}}catch{return s!==void 0?{fromCache:!0,keys:s.entry.keys,stale:!0}:void 0}finally{clearTimeout(g),e.signal?.removeEventListener("abort",y)}},"fetchRegistryKeys"),B=o(()=>{const e=c();return h(e)?(d(e,{force:!0}),!0):!1},"clearRegistryKeysCache");export{B as c,N as f};
@@ -1,4 +1,4 @@
1
- var S=Object.defineProperty;var g=(e,a)=>S(e,"name",{value:a,configurable:!0});import{createRequire as C}from"node:module";import{s as _,i as P,p as y}from"../packem_chunks/bin.js";import{h as O,M as V,r as F,a as L,b as I,c as B,d as W,e as U,f as Y}from"./s1ngularity-j_ArCZAs.js";import{m as f,D as v,g as k,r as q}from"./provenance-BsBn1f5S.js";import{r as H}from"./signatures-CaXzNuEn.js";import{s as z}from"./pm-runner-BzGZmzYs.js";import{d as G}from"./utils-DrNg0XTR.js";const E=C(import.meta.url),w=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,j=g(e=>{if(typeof w<"u"&&w.versions&&w.versions.node){const[a,s]=w.versions.node.split(".").map(Number);if(a>22||a===22&&s>=3||a===20&&s>=16)return w.getBuiltinModule(e)}return E(e)},"__cjs_getBuiltinModule"),{createInterface:x}=j("node:readline");var J=Object.defineProperty,m=g((e,a)=>J(e,"name",{value:a,configurable:!0}),"s");const K=15,Q=m(e=>{if(e===void 0)return!1;const a=e.trim().toLowerCase();return a!==""&&a!=="0"&&a!=="false"&&a!=="no"},"isTruthyEnv"),X=m(e=>{const a=(e.TERM??"").toLowerCase();return a!=="dumb"&&a!=="unknown"&&a!==""},"shouldAnimateCountdown"),Z=m(async e=>{const a=x({input:process.stdin,output:process.stdout});try{return await new Promise(s=>{a.question(e,r=>{s(r.trim().toLowerCase())})})}finally{a.close()}},"defaultReadline"),N=m(async(e,a)=>{const s=await a(e);return s==="y"||s==="yes"},"promptYesNo"),ee=m(async(e,a,s,r)=>new Promise(c=>{if(r?.aborted){c(!1);return}const o=X(s)&&a.isTTY!==!1;let n=e;const i=m(()=>{o?a.write(`\rContinuing in ${String(n)}s... press Ctrl-C to abort. `):n===e&&a.write(`Warnings present; proceeding in ${String(e)}s.
1
+ var S=Object.defineProperty;var g=(e,a)=>S(e,"name",{value:a,configurable:!0});import{createRequire as C}from"node:module";import{s as _,i as P,p as y}from"../packem_chunks/bin.js";import{h as O,M as V,r as F,a as L,b as I,c as B,d as W,e as U,f as Y}from"./s1ngularity-DlS-4a6K.js";import{m as f,D as v,g as k,r as q}from"./provenance-DbkJRDqt.js";import{r as H}from"./signatures-B-1u4t-c.js";import{s as z}from"./pm-runner-COoPLGKi.js";import{d as G}from"./utils-DrNg0XTR.js";const E=C(import.meta.url),w=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,j=g(e=>{if(typeof w<"u"&&w.versions&&w.versions.node){const[a,s]=w.versions.node.split(".").map(Number);if(a>22||a===22&&s>=3||a===20&&s>=16)return w.getBuiltinModule(e)}return E(e)},"__cjs_getBuiltinModule"),{createInterface:x}=j("node:readline");var J=Object.defineProperty,m=g((e,a)=>J(e,"name",{value:a,configurable:!0}),"s");const K=15,Q=m(e=>{if(e===void 0)return!1;const a=e.trim().toLowerCase();return a!==""&&a!=="0"&&a!=="false"&&a!=="no"},"isTruthyEnv"),X=m(e=>{const a=(e.TERM??"").toLowerCase();return a!=="dumb"&&a!=="unknown"&&a!==""},"shouldAnimateCountdown"),Z=m(async e=>{const a=x({input:process.stdin,output:process.stdout});try{return await new Promise(s=>{a.question(e,r=>{s(r.trim().toLowerCase())})})}finally{a.close()}},"defaultReadline"),N=m(async(e,a)=>{const s=await a(e);return s==="y"||s==="yes"},"promptYesNo"),ee=m(async(e,a,s,r)=>new Promise(c=>{if(r?.aborted){c(!1);return}const o=X(s)&&a.isTTY!==!1;let n=e;const i=m(()=>{o?a.write(`\rContinuing in ${String(n)}s... press Ctrl-C to abort. `):n===e&&a.write(`Warnings present; proceeding in ${String(e)}s.
2
2
  `)},"render");i();const d=setInterval(()=>{if(n-=1,n<=0){clearInterval(d),r?.removeEventListener("abort",l),o&&a.write(`\rContinuing now.
3
3
  `),c(!0);return}i()},1e3),l=m(()=>{clearInterval(d),o&&a.write(`\rAborted.
4
4
  `),c(!1)},"onAbort");r?.addEventListener("abort",l,{once:!0})}),"runCountdown"),ae=m(async(e,a={})=>{if(e.length===0)return{proceed:!0};const s=a.env??process.env,r=a.isTty??!!process.stdin.isTTY,c=a.isCi??_,o=a.strict??!1,n=a.readline??Z,i=a.output??{isTTY:!!process.stdout.isTTY,write:m(u=>process.stdout.write(u),"write")},d=Q(s.VIS_DISABLE_AUTO_CONTINUE),l=Number.parseInt(s.VIS_AUTO_CONTINUE_SECONDS??"",10),t=a.countdownSeconds??(Number.isFinite(l)&&l>0?l:K);return e.some(u=>u.severity==="error")?o?{proceed:!1,reason:"errors-present"}:c?{proceed:!1,reason:"errors-present"}:r?await N("Proceed despite errors? [y/N] ",n)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!1,reason:"non-tty"}:o?{proceed:!1,reason:"ci-strict"}:r?d?await N("Proceed despite warnings? [y/N] ",n)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:await ee(t,i,s,a.signal)?{proceed:!0}:{proceed:!1,reason:"user-aborted"}:{proceed:!0}},"presentMarshallDecision"),Oe=m(async(e,a={})=>{if(e.isEmpty())return!0;const s=e.all(),r=a.output??{isTTY:!!process.stdout.isTTY,write:m(c=>process.stdout.write(c),"write")};for(const c of O(s))r.write(`${c}
@@ -0,0 +1 @@
1
+ var ie=Object.defineProperty;var p=(r,e)=>ie(r,"name",{value:e,configurable:!0});import{createRequire as oe}from"node:module";import{T as Q,e as j}from"./Table-CwC2kW07-EjFLNV0q.js";import{n as V,d as W}from"../packem_chunks/config.js";import{M as k,i as N}from"./readFileSync-CGmzMUF2-D6rUjGDn.js";import{h as B,i as b}from"../packem_chunks/bin.js";import{m as D,D as M,g as S}from"./provenance-DbkJRDqt.js";import{s as g}from"./pm-runner-COoPLGKi.js";const ae=oe(import.meta.url),E=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,F=p(r=>{if(typeof E<"u"&&E.versions&&E.versions.node){const[e,t]=E.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return E.getBuiltinModule(r)}return ae(r)},"__cjs_getBuiltinModule"),{rmSync:y,writeFileSync:L,readdirSync:U}=F("node:fs"),{createHash:ce}=F("node:crypto"),{Resolver:de}=F("node:dns/promises");var le=Object.defineProperty,I=p((r,e)=>le(r,"name",{value:e,configurable:!0}),"t$2");class mr{static{p(this,"MarshallFindings")}static{I(this,"MarshallFindings")}entries=[];add(e){this.entries.push(e)}addMany(e){for(const t of e)this.entries.push(t)}all(){return this.entries}errors(){return this.entries.filter(e=>e.severity==="error")}warnings(){return this.entries.filter(e=>e.severity==="warning")}hasErrors(){return this.entries.some(e=>e.severity==="error")}hasWarnings(){return this.entries.some(e=>e.severity==="warning")}isEmpty(){return this.entries.length===0}size(){return this.entries.length}}const pr=I(r=>{if(r.length===0)return[];const e=[],t=r.filter(s=>s.severity==="error"),n=r.filter(s=>s.severity==="warning");if(t.length>0){e.push(Q(`${String(t.length)} error${t.length===1?"":"s"}:`));for(const s of t)e.push(` ${Q("✗")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${j("→")} ${s.suggestedAction}`)}if(n.length>0){t.length>0&&e.push(""),e.push(j(`${String(n.length)} warning${n.length===1?"":"s"}:`));for(const s of n)e.push(` ${j("⚠")} [${s.marshall}] ${s.packageName}: ${s.message}`),s.suggestedAction!==void 0&&e.push(` ${j("→")} ${s.suggestedAction}`)}return e},"formatMarshallFindingsAsTable"),gr=I(r=>({errors:r.filter(e=>e.severity==="error"),findings:[...r],summary:{errorCount:r.filter(e=>e.severity==="error").length,warningCount:r.filter(e=>e.severity==="warning").length},warnings:r.filter(e=>e.severity==="warning")}),"formatMarshallFindingsAsJson");var ue=Object.defineProperty,w=p((r,e)=>ue(r,"name",{value:e,configurable:!0}),"o$1");const he=1440*60*1e3,fe=15e3,ve="https://api.github.com/repos",H=w(()=>k(B(),"archived-repo"),"getArchivedRepoCacheDir"),te=w((r,e)=>k(H(),`${encodeURIComponent(r)}__${encodeURIComponent(e)}.json`),"cacheFilePath"),me=w((r,e)=>{const t=te(r,e);if(N(t))try{const n=V(t);if(Date.now()-n.createdAt>n.ttlMs){y(t,{force:!0});return}return n}catch{y(t,{force:!0});return}},"readCachedRepo"),Z=w((r,e,t,n)=>{W(H());const s={createdAt:Date.now(),ttlMs:n,...t};L(te(r,e),JSON.stringify(s),"utf8")},"writeCachedRepo"),pe=w(r=>{if(typeof r!="string"||r.trim()==="")return;const e=r.trim().replace(/^git\+/,""),t=/^git@github\.com:([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(t)return{owner:t[1],repo:t[2]};const n=/^ssh:\/\/git@github\.com\/([^/]+)\/(.+?)(?:\.git)?\/?$/i.exec(e);if(n)return{owner:n[1],repo:n[2]};const s=/^https?:\/\/(?:www\.)?github\.com\/([^/]+)\/([^/?#]+?)(?:\.git)?\/?$/i.exec(e);if(s)return{owner:s[1],repo:s[2]}},"parseGitHubUrl"),ge=w(async(r,e,t,n)=>{const s=`${ve}/${encodeURIComponent(r)}/${encodeURIComponent(e)}`,c=new AbortController,o=setTimeout(()=>{c.abort()},fe),i=w(()=>{c.abort()},"abortListener");n?.addEventListener("abort",i,{once:!0});const a={Accept:"application/vnd.github+json","User-Agent":"visulima-vis-marshall"};t!==void 0&&t!==""&&(a.Authorization=`Bearer ${t}`);try{const d=await fetch(s,{headers:a,signal:c.signal});if(d.status===404)return{kind:"missing"};if(!d.ok)return{kind:"transient-error"};const l=await d.json(),u=l.archived===!0,h=typeof l.archived_at=="string"?l.archived_at:void 0;return{archived:u,archivedAt:h,kind:"ok"}}catch{return{kind:"transient-error"}}finally{clearTimeout(o),n?.removeEventListener("abort",i)}},"fetchGitHubRepo"),we=w((r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),"resolveLatestVersion"),wr=w(async(r,e={})=>{if(b("archivedRepo"))return[];const t=new Set(e.allowlist),n=e.cacheTtlMs??he,s=e.githubToken??process.env.GITHUB_TOKEN,c=e.concurrency??M,o=new Map,i=w(async(a,d)=>{const l=`${a}/${d}`;let u=o.get(l);return u===void 0&&(u=(async()=>{const h=me(a,d);if(h!==void 0)return h.missing===!0?{archived:!1,kind:"missing"}:{archived:h.archived,archivedAt:h.archivedAt,kind:"ok"};const f=await ge(a,d,s,e.signal);return f.kind==="missing"?Z(a,d,{archived:!1,missing:!0},n):f.kind==="ok"&&Z(a,d,{archived:f.archived===!0,archivedAt:f.archivedAt},n),f})(),o.set(l,u)),u},"fetchRepoOnce");return(await D(r,c,async({name:a,version:d})=>{if(t.has(a))return;const l=await S(a,{workspaceRoot:e.workspaceRoot});if(l===void 0)return;const u=l.versions[d]??l.versions[we(Object.keys(l.versions),l["dist-tags"]?.latest)??""];if(u===void 0)return;const h=pe(u.repository?.url);if(h===void 0)return;const f=await i(h.owner,h.repo);if(f.kind!=="transient-error"){if(f.kind==="missing")return{kind:"missing-repo",owner:h.owner,packageName:a,repo:h.repo};if(f.archived===!0)return{...f.archivedAt===void 0?{}:{archivedAt:f.archivedAt},kind:"archived",owner:h.owner,packageName:a,repo:h.repo}}})).filter(a=>a!==void 0)},"runArchivedRepoMarshall");w(()=>{const r=H();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearArchivedRepoCache");var ye=Object.defineProperty,O=p((r,e)=>ye(r,"name",{value:e,configurable:!0}),"h$1");const ke={dormantErrorDays:274,dormantWarnDays:183,newPublisherWindowDays:21,recentVersionErrorDays:7,recentVersionWarnDays:30},$e=1440*60*1e3,J=O((r,e)=>(r-e)/$e,"daysBetween"),C=O(r=>{if(r!==void 0)return r.email??r.name},"userIdentity"),be=O((r,e,t,n,s)=>{const c=r.time?.[t];if(c===void 0)return;const o=new Date(c).getTime();if(!Number.isFinite(o))return;const i=J(n,o);if(i<s.recentVersionErrorDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (error threshold: ${String(s.recentVersionErrorDays)})`,packageName:e,severity:"error",version:t};if(i<s.recentVersionWarnDays)return{kind:"recent-version",message:`published ${i.toFixed(1)} days ago (warn threshold: ${String(s.recentVersionWarnDays)})`,packageName:e,severity:"warning",version:t}},"checkRecentVersion"),De=O((r,e,t,n,s)=>{const c=r.versions[t],o=C(c?._npmUser);if(o===void 0)return;const i=Object.keys(r.versions).filter(u=>g.valid(u)!==null).filter(u=>g.lt(u,t));if(i.length===0||i.some(u=>C(r.versions[u]?._npmUser)===o))return;const a=r.time?.[i[0]??""];if(a===void 0)return;const d=new Date(a).getTime();if(!Number.isFinite(d))return;const l=J(n,d);if(!(l<=s.newPublisherWindowDays))return{kind:"new-publisher",message:`first publish by ${o} on a ${l.toFixed(0)}-day-old package`,packageName:e,severity:"error",version:t}},"checkNewPublisher"),Me=O((r,e,t,n,s)=>{const c=r.versions[t],o=C(c?._npmUser);if(o===void 0)return;const i=[];for(const[l,u]of Object.entries(r.versions)){if(l===t||C(u._npmUser)!==o)continue;const h=r.time?.[l];if(h===void 0)continue;const f=new Date(h).getTime();Number.isFinite(f)&&i.push(f)}if(i.length===0)return;const a=Math.max(...i),d=J(n,a);if(d>=s.dormantErrorDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (error threshold: ${String(s.dormantErrorDays)})`,packageName:e,severity:"error",version:t};if(d>=s.dormantWarnDays)return{kind:"dormant-maintainer",message:`previous release by ${o} was ${d.toFixed(0)} days ago (warn threshold: ${String(s.dormantWarnDays)})`,packageName:e,severity:"warning",version:t}},"checkDormantMaintainer"),yr=O(async(r,e={})=>{if(b("author"))return[];const t=new Set(e.allowlist),n={...ke,...e.thresholds},s=e.now??(()=>Date.now()),c=e.concurrency??M;return(await D(r,c,async({name:o,version:i})=>{if(t.has(o))return[];const a=await S(o,{cacheTtlMs:e.cacheTtlMs,signal:e.signal,workspaceRoot:e.workspaceRoot});if(a===void 0)return[];const d=s(),l=[],u=be(a,o,i,d,n);u!==void 0&&l.push(u);const h=De(a,o,i,d,n);h!==void 0&&l.push(h);const f=Me(a,o,i,d,n);return f!==void 0&&l.push(f),l})).flat()},"runAuthorMarshall");var Re=Object.defineProperty,$=p((r,e)=>Re(r,"name",{value:e,configurable:!0}),"t$1");const Ae=1440*60*1e3,Ne=15e3,Se=20,Oe=1e4,Ee="https://api.npmjs.org/downloads/point/last-month",z=$(()=>k(B(),"downloads"),"getDownloadsCacheDir"),ne=$(r=>k(z(),`${encodeURIComponent(r)}.json`),"cacheFilePath"),Te=$(r=>{const e=ne(r);if(N(e))try{const t=V(e);if(Date.now()-t.createdAt>t.ttlMs){y(e,{force:!0});return}return t.downloads}catch{y(e,{force:!0});return}},"readCachedDownloads"),je=$((r,e,t)=>{W(z());const n={createdAt:Date.now(),downloads:e,observedAt:new Date().toISOString(),ttlMs:t};L(ne(r),JSON.stringify(n),"utf8")},"writeCachedDownloads"),Ce=$(async(r,e)=>{const t=`${Ee}/${encodeURIComponent(r)}`,n=new AbortController,s=setTimeout(()=>{n.abort()},Ne),c=$(()=>{n.abort()},"abortListener");e?.addEventListener("abort",c,{once:!0});try{const o=await fetch(t,{signal:n.signal});if(o.status===404)return{kind:"no-data"};if(!o.ok)return{kind:"error"};const i=await o.json();return typeof i.downloads=="number"?{downloads:i.downloads,kind:"ok"}:{kind:"no-data"}}catch{return{kind:"error"}}finally{clearTimeout(s),e?.removeEventListener("abort",c)}},"fetchDownloads"),kr=$(async(r,e={})=>{if(b("downloads"))return[];const t=new Set(e.allowlist),n=e.errorThreshold??Se,s=e.warnThreshold??Oe,c=e.cacheTtlMs??Ae,o=e.concurrency??M;return(await D(r,o,async i=>{if(t.has(i))return;let a=Te(i);if(a===void 0){const d=await Ce(i,e.signal);if(d.kind==="no-data"||d.kind==="error")return{downloadsLastMonth:void 0,kind:"no-data",packageName:i,severity:"warning"};a=d.downloads??0,je(i,a,c)}if(a<n)return{downloadsLastMonth:a,kind:"below-error",packageName:i,severity:"error"};if(a<s)return{downloadsLastMonth:a,kind:"below-warning",packageName:i,severity:"warning"}})).filter(i=>i!==void 0)},"runDownloadsMarshall");$(()=>{const r=z();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearDownloadsCache");var xe=Object.defineProperty,m=p((r,e)=>xe(r,"name",{value:e,configurable:!0}),"t");const Pe=1440*60*1e3,_e=4e3,Fe=["1.1.1.1","8.8.8.8"],q=m(()=>k(B(),"expired-domains"),"getExpiredDomainsCacheDir"),se=m(r=>{const e=ce("sha256").update(r).digest("hex").slice(0,12);return k(q(),`${e}.json`)},"cacheFilePath"),Le=m(r=>{const e=se(r);if(N(e))try{const t=V(e);if(Date.now()-t.createdAt>t.ttlMs){y(e,{force:!0});return}return t}catch{y(e,{force:!0});return}},"readCachedDomain"),Ue=m((r,e,t)=>{W(q());const n={createdAt:Date.now(),outcome:e,ttlMs:t};L(se(r),JSON.stringify(n),"utf8")},"writeCachedDomain"),Ve=m(r=>{if(typeof r!="string")return;const e=r.lastIndexOf("@");if(e===-1||e===r.length-1)return;const t=r.slice(e+1).trim().toLowerCase();return t===""?void 0:t},"extractDomain"),We=m((r,e)=>{const t=[];e!==void 0&&t.push(e);for(const n of r??[])t.push(n);return t},"collectMaintainers"),Be=m(async(r,e)=>{let t;try{return await Promise.race([r,new Promise((n,s)=>{t=setTimeout(()=>{s(new Error("ETIMEDOUT"))},e)})])}finally{t!==void 0&&clearTimeout(t)}},"withTimeout"),Ie=m(r=>{if(r===null||typeof r!="object")return!1;const{code:e}=r;return e==="ENOTFOUND"||e==="ENODATA"||e==="NXDOMAIN"},"isExpiredError"),He=m(async(r,e,t)=>{try{const n=await Be(r.resolveNs(e),t);return Array.isArray(n)&&n.length>0?{kind:"ok"}:{kind:"expired"}}catch(n){return Ie(n)?{kind:"expired"}:{kind:"transient-error"}}},"resolveDomain"),Je=m((r,e)=>e!==void 0&&r.includes(e)?e:r.at(-1),"resolveLatestVersion"),$r=m(async(r,e={})=>{if(b("expiredDomains"))return[];const t=new Set(e.allowlist),n=new Set((e.allowDomains??[]).map(u=>u.toLowerCase())),s=e.cacheTtlMs??Pe,c=e.perDomainTimeoutMs??_e,o=e.dnsServers??Fe,i=e.concurrency??M,a=e.createResolver===void 0?new de:e.createResolver();typeof a.setServers=="function"&&a.setServers(o);const d=new Map,l=m(async u=>{let h=d.get(u);return h===void 0&&(h=(async()=>{const f=Le(u);if(f!==void 0)return{kind:f.outcome==="ok"?"ok":"expired"};const v=await He(a,u,c);return v.kind!=="transient-error"&&Ue(u,v.kind,s),v})(),d.set(u,h)),h},"resolveDomainOnce");return(await D(r,i,async({name:u,version:h})=>{if(t.has(u))return[];const f=await S(u,{workspaceRoot:e.workspaceRoot});if(f===void 0)return[];const v=f.versions[h]??f.versions[Je(Object.keys(f.versions),f["dist-tags"]?.latest)??""];if(v===void 0)return[];const P=We(v.maintainers,v._npmUser),K=new Set,_=[];for(const T of P){const A=Ve(T.email);if(A===void 0||n.has(A))continue;const X=`${A}:${T.email??""}`;if(K.has(X))continue;K.add(X);const Y=await l(A);Y.kind==="expired"?_.push({domain:A,kind:"expired",maintainer:T.email??"",packageName:u,severity:"error"}):Y.kind==="transient-error"&&_.push({domain:A,kind:"unresolved",maintainer:T.email??"",packageName:u,severity:"warning"})}return _})).flat()},"runExpiredDomainsMarshall");m(()=>{const r=q();if(!N(r))return 0;let e=0;for(const t of U(r))t.endsWith(".json")&&(y(k(r,t),{force:!0}),e+=1);return e},"clearExpiredDomainsCache");var ze=Object.defineProperty,R=p((r,e)=>ze(r,"name",{value:e,configurable:!0}),"s");const qe=["readme","license","repo"],Ge=["ERROR: No README data found!","# Security holding package"],Ke=R(r=>{const e=r.trim();return e===""?!0:Ge.some(t=>e.startsWith(t))},"isPlaceholderReadme"),Xe=R((r,e)=>{if(typeof e.readme=="string")return e.readme;if(typeof r.readme=="string")return r.readme},"getReadme"),Ye=R((r,e)=>{const t=Xe(r,e);if(t===void 0)return"missing-readme";if(Ke(t))return"placeholder-readme"},"checkReadme"),Qe=R(r=>{const{license:e}=r;return e===void 0?"missing-license":typeof e=="string"?e.trim()===""?"missing-license":void 0:typeof e.type=="string"&&e.type.trim()!==""?void 0:"missing-license"},"checkLicense"),Ze=R(r=>{const{repository:e}=r;if(e===void 0)return"missing-repo";const t=typeof e.url=="string"?e.url.trim():"";if(t==="")return"missing-repo";let n=t.replace(/^git\+/,"");const s=/^git@([^:]+):(.+?)(?:\.git)?$/.exec(n);return s&&(n=`https://${s[1]}/${s[2]}`),URL.canParse(n)?void 0:"invalid-repo-url"},"checkRepository"),er=R(r=>{const e=r["dist-tags"]?.latest;return e!==void 0&&Object.hasOwn(r.versions,e)?e:Object.keys(r.versions).at(-1)},"resolveLatestVersion"),br=R(async(r,e={})=>{if(b("metadata"))return[];const t=new Set(e.allowlist),n=new Set(e.checks??qe),s=e.concurrency??M;return(await D(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await S(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o]??i.versions[er(i)??""];if(a===void 0||a.private===!0)return;const d=[];if(n.has("readme")){const l=Ye(i,a);l!==void 0&&d.push(l)}if(n.has("license")){const l=Qe(a);l!==void 0&&d.push(l)}if(n.has("repo")){const l=Ze(a);l!==void 0&&d.push(l)}if(d.length!==0)return{issues:d,packageName:c,version:o}})).filter(c=>c!==void 0)},"runMetadataMarshall");var rr=Object.defineProperty,G=p((r,e)=>rr(r,"name",{value:e,configurable:!0}),"o");const ee=G((r,e)=>r===void 0?{}:typeof r=="string"?{[e.startsWith("@")?e.split("/").at(1)??e:e]:r}:{...r},"normalizeBin"),tr=G((r,e)=>g.valid(e)?Object.keys(r.versions).filter(t=>g.valid(t)!==null&&g.lt(t,e)).sort((t,n)=>g.lt(t,n)?1:-1)[0]:void 0,"findImmediatelyPriorVersion"),Dr=G(async(r,e={})=>{if(b("newBin"))return[];const t=new Set(e.allowlist),n=new Set(e.allowBins),s=e.concurrency??M;return(await D(r,s,async({name:c,version:o})=>{if(t.has(c))return;const i=await S(c,{workspaceRoot:e.workspaceRoot});if(i===void 0)return;const a=i.versions[o];if(a===void 0)return;const d=tr(i,o);if(d===void 0)return;const l=i.versions[d];if(l===void 0)return;const u=ee(a.bin,c),h=ee(l.bin,c),f=Object.entries(u).filter(([v])=>!(v in h)).filter(([v])=>!n.has(v)).map(([v,P])=>({command:P,name:v}));if(f.length!==0)return{fromVersion:d,newBins:f,packageName:c,toVersion:o}})).filter(c=>c!==void 0)},"runNewBinMarshall");var nr=Object.defineProperty,x=p((r,e)=>nr(r,"name",{value:e,configurable:!0}),"a");const sr=["preinstall","install","postinstall"],re=x((r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,"hasProvenance"),ir=x((r,e)=>{if(g.valid(e)!==null)return Object.keys(r.versions).filter(t=>g.valid(t)!==null&&g.prerelease(t)===null&&g.lt(t,e)).sort((t,n)=>g.lt(t,n)?1:-1)[0]},"findNewestPriorStable"),or=x((r,e)=>{const t=r??{},n=e??{},s=[];for(const c of sr){const o=t[c];if(o===void 0||o==="")continue;const i=n[c];i===void 0||i===""?s.push({command:o,hook:c,kind:"introduced"}):i!==o&&s.push({command:o,hook:c,kind:"changed"})}return s},"installHookChanges"),Mr=x(async(r,e={})=>{if(b("s1ngularity"))return[];const t=new Set(e.allowlist),n=e.concurrency??M;return(await D(r,n,async({name:s,version:c})=>{if(t.has(s))return;const o=await S(s,{workspaceRoot:e.workspaceRoot});if(o?.versions[c]===void 0)return;const i=ir(o,c);if(i===void 0||!re(o,i)||re(o,c))return;const a=or(o.versions[c]?.scripts,o.versions[i]?.scripts);if(a.length!==0)return{hookChanges:a,packageName:s,priorVersion:i,trustSignal:"provenance-dropped",version:c}})).filter(s=>s!==void 0)},"runS1ngularityMarshall");export{mr as M,Mr as a,Dr as b,br as c,kr as d,$r as e,wr as f,gr as g,pr as h,yr as r};
@@ -0,0 +1,2 @@
1
+ var S=Object.defineProperty;var g=(r,s)=>S(r,"name",{value:s,configurable:!0});import{e as T,E as x,I as k,T as $}from"./Table-CwC2kW07-EjFLNV0q.js";import{a5 as a,a6 as d,n as l,a7 as u,v as C,d as j,s as E}from"../packem_chunks/bin.js";import{n as R}from"./spinner-B9ZPv1iT.js";import{D as w,W as P,T as O,C as A}from"./symbols-CQmER5MT.js";var D=Object.defineProperty,I=g((r,s)=>D(r,"name",{value:s,configurable:!0}),"l");const v=I(({rows:r})=>a.jsx(d,{flexDirection:"column",children:r.map(s=>{let t;switch(s.status){case"error":{t=a.jsx(l,{color:"red",children:A});break}case"ok":{t=a.jsx(l,{color:"green",children:O});break}case"running":{t=a.jsx(l,{color:"white",children:a.jsx(R,{type:"dots"})});break}case"warn":{t=a.jsx(l,{color:"yellow",children:P});break}default:{t=a.jsx(l,{dimColor:!0,children:w});break}}return a.jsxs(d,{children:[a.jsx(d,{width:3,children:t}),a.jsx(d,{flexGrow:1,children:a.jsx(l,{children:s.label})}),s.summary?a.jsx(d,{children:a.jsxs(l,{dimColor:!0,children:[w," ",s.summary]})}):null]},s.id)})}),"ScanProgressApp");var Y=Object.defineProperty,i=g((r,s)=>Y(r,"name",{value:s,configurable:!0}),"e");const G={error:$(u.failure),ok:k(u.success),pending:x(u.dash),skip:x(u.dash),warn:T(u.warning)},M=i((r,s,t)=>{const h=t?`${r} ${x(`— ${t}`)}`:r;return` ${G[s]} ${h}
2
+ `},"formatStaticRow"),L=i((r,s={})=>{const t=s.stream??process.stderr,h=typeof t.isTTY=="boolean"&&t.isTTY&&!E,y=s.live??h,n=new Map;for(const e of r)n.set(e.id,{id:e.id,label:e.label,status:"pending"});if(!y||r.length===0)return{finish:i((e,o,f)=>{const c=n.get(e);c&&(n.set(e,{...c,status:o,summary:f}),t.write(M(c.label,o,f)))},"finish"),start:i(e=>{const o=n.get(e);o&&n.set(e,{...o,status:"running"})},"start"),stop:i(()=>{},"stop")};const b=i(()=>r.map(e=>n.get(e.id)),"buildRows");let m=C(j.createElement(v,{rows:b()}),{interactive:!0,patchConsole:!1});const p=i(()=>{m?.rerender(j.createElement(v,{rows:b()}))},"rerender");return{finish:i((e,o,f)=>{const c=n.get(e);c&&(n.set(e,{...c,status:o,summary:f}),p())},"finish"),start:i(e=>{const o=n.get(e);o&&(n.set(e,{...o,status:"running"}),p())},"start"),stop:i(()=>{m&&(p(),m.unmount(),m=void 0)},"stop")}},"startScanProgress");export{L as s};
@@ -1,2 +1,2 @@
1
- var b=Object.defineProperty;var y=(s,e)=>b(s,"name",{value:e,configurable:!0});import{createRequire as N}from"node:module";import{m as x,D as B,g as E}from"./provenance-BsBn1f5S.js";import{i as M}from"../packem_chunks/bin.js";import{f as j}from"./registry-keys-pemEkRM9.js";const P=N(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=y(s=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[e,i]=g.versions.node.split(".").map(Number);if(e>22||e===22&&i>=3||e===20&&i>=16)return g.getBuiltinModule(s)}return P(s)},"__cjs_getBuiltinModule"),{createPublicKey:S,createVerify:R}=_("node:crypto");var A=Object.defineProperty,h=y((s,e)=>A(s,"name",{value:e,configurable:!0}),"n");const C=h(s=>{const e=["-----BEGIN PUBLIC KEY-----"],i=s.replaceAll(/\s+/g,"");for(let t=0;t<i.length;t+=64)e.push(i.slice(t,t+64));return e.push("-----END PUBLIC KEY-----"),e.join(`
1
+ var b=Object.defineProperty;var y=(s,e)=>b(s,"name",{value:e,configurable:!0});import{createRequire as N}from"node:module";import{m as x,D as B,g as E}from"./provenance-DbkJRDqt.js";import{i as M}from"../packem_chunks/bin.js";import{f as j}from"./registry-keys-SylX07bs.js";const P=N(import.meta.url),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_=y(s=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[e,i]=g.versions.node.split(".").map(Number);if(e>22||e===22&&i>=3||e===20&&i>=16)return g.getBuiltinModule(s)}return P(s)},"__cjs_getBuiltinModule"),{createPublicKey:S,createVerify:R}=_("node:crypto");var A=Object.defineProperty,h=y((s,e)=>A(s,"name",{value:e,configurable:!0}),"n");const C=h(s=>{const e=["-----BEGIN PUBLIC KEY-----"],i=s.replaceAll(/\s+/g,"");for(let t=0;t<i.length;t+=64)e.push(i.slice(t,t+64));return e.push("-----END PUBLIC KEY-----"),e.join(`
2
2
  `)},"wrapSpkiPem"),D=h(({keyBase64:s,message:e,signatureBase64:i})=>{try{const t=S({format:"pem",key:C(s)}),o=R("SHA256");return o.update(e),o.end(),o.verify(t,Buffer.from(i,"base64"))}catch{return!1}},"verifyEcdsaSignature");var L=Object.defineProperty,f=y((s,e)=>L(s,"name",{value:e,configurable:!0}),"g");const U=f((s,e)=>{if(s.expires===void 0||s.expires==="")return!1;const i=Date.parse(s.expires);return Number.isNaN(i)?!1:i<=e},"isKeyExpired"),K=f((s,e,i)=>`${s}@${e}:${i}`,"buildSignedMessage"),T=f((s,e)=>e!==void 0&&s.includes(e)?e:s.at(-1),"resolveLatestVersion"),V=f(async(s,e={})=>{if(M("signatures"))return[];const i=new Set(e.allowlist),t=e.treatExpiredAs??"warning",o=e.concurrency??B,k=await j({keysUrl:e.keysUrl,signal:e.signal,ttlMs:e.keysTtlMs});if(k===void 0)return s.filter(({name:r})=>!i.has(r)).map(({name:r,version:a})=>({code:"fetch-failed",message:"Could not fetch registry signing keys.",packageName:r,severity:"warning",version:a}));const v=new Map;for(const r of k.keys)v.set(r.keyid,r);const w=Date.now();return(await x(s,o,async({name:r,version:a})=>{if(i.has(r))return[];const c=await E(r,{workspaceRoot:e.workspaceRoot});if(c===void 0)return[];const l=c.versions[a]??c.versions[T(Object.keys(c.versions),c["dist-tags"]?.latest)??""];if(l===void 0)return[];const p=l.dist?.signatures,m=l.dist?.integrity;if(p===void 0||p.length===0)return[{code:"missing-signature",message:`Package ${r}@${a} has no dist.signatures from the registry.`,packageName:r,severity:"warning",version:a}];if(typeof m!="string"||m==="")return[{code:"missing-signature",message:`Package ${r}@${a} has signatures but no dist.integrity to verify against.`,packageName:r,severity:"warning",version:a}];const $=K(r,a,m),u=[];for(const n of p){const d=v.get(n.keyid);if(d===void 0){u.push({code:"unknown-keyid",keyid:n.keyid,message:`Package ${r}@${a} was signed with an unrecognized keyid (${n.keyid}).`,packageName:r,severity:"error",version:a});continue}if(U(d,w)){u.push({code:"expired-key",keyid:n.keyid,message:`Package ${r}@${a} was signed with an expired key (${n.keyid}, expired ${d.expires??"unknown"}).`,packageName:r,severity:t,version:a});continue}D({keyBase64:d.key,message:$,signatureBase64:n.sig})||u.push({code:"invalid-signature",keyid:n.keyid,message:`Package ${r}@${a} signature did not verify against ${n.keyid}.`,packageName:r,severity:"error",version:a})}return u})).flat()},"runSignatureMarshall");export{V as r};