@visulima/vis 6.1.2 → 6.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/LICENSE.md +0 -29
  3. package/dashboard/dist/index.html +10 -10
  4. package/dist/bin.js +1 -1
  5. package/dist/binx.js +1 -1
  6. package/dist/config/index.d.ts +16 -10
  7. package/dist/generate/index.d.ts +25 -0
  8. package/dist/packem_chunks/CONFIG_FILES.js +6 -7
  9. package/dist/packem_chunks/bloom-status.js +1 -1
  10. package/dist/packem_chunks/bloom-sync.js +1 -1
  11. package/dist/packem_chunks/catalog2.js +7 -7
  12. package/dist/packem_chunks/cli-exec.js +1 -1
  13. package/dist/packem_chunks/cli-main.js +129 -129
  14. package/dist/packem_chunks/dispatch.js +1 -1
  15. package/dist/packem_chunks/fix.js +1 -1
  16. package/dist/packem_chunks/handler.js +1 -1
  17. package/dist/packem_chunks/handler10.js +5 -5
  18. package/dist/packem_chunks/handler11.js +1 -1
  19. package/dist/packem_chunks/handler12.js +1 -1
  20. package/dist/packem_chunks/handler13.js +1 -1
  21. package/dist/packem_chunks/handler14.js +1 -1
  22. package/dist/packem_chunks/handler15.js +1 -1
  23. package/dist/packem_chunks/handler16.js +1 -1
  24. package/dist/packem_chunks/handler17.js +1 -1
  25. package/dist/packem_chunks/handler18.js +1 -1
  26. package/dist/packem_chunks/handler19.js +1 -1
  27. package/dist/packem_chunks/handler2.js +1 -1
  28. package/dist/packem_chunks/handler20.js +1 -1
  29. package/dist/packem_chunks/handler21.js +1 -1
  30. package/dist/packem_chunks/handler22.js +1 -1
  31. package/dist/packem_chunks/handler23.js +1 -1
  32. package/dist/packem_chunks/handler24.js +1 -1
  33. package/dist/packem_chunks/handler25.js +1 -1
  34. package/dist/packem_chunks/handler26.js +1 -1
  35. package/dist/packem_chunks/handler27.js +1 -1
  36. package/dist/packem_chunks/handler28.js +1 -1
  37. package/dist/packem_chunks/handler29.js +1 -1
  38. package/dist/packem_chunks/handler3.js +2 -2
  39. package/dist/packem_chunks/handler30.js +1 -1
  40. package/dist/packem_chunks/handler32.js +1 -1
  41. package/dist/packem_chunks/handler4.js +1 -1
  42. package/dist/packem_chunks/handler40.js +1 -1
  43. package/dist/packem_chunks/handler46.js +1 -1
  44. package/dist/packem_chunks/handler5.js +1 -1
  45. package/dist/packem_chunks/handler50.js +2 -2
  46. package/dist/packem_chunks/handler51.js +1 -1
  47. package/dist/packem_chunks/handler52.js +1 -1
  48. package/dist/packem_chunks/handler53.js +1 -1
  49. package/dist/packem_chunks/handler54.js +2 -2
  50. package/dist/packem_chunks/handler55.js +1 -1
  51. package/dist/packem_chunks/handler56.js +1 -1
  52. package/dist/packem_chunks/handler58.js +1 -1
  53. package/dist/packem_chunks/handler59.js +1 -1
  54. package/dist/packem_chunks/handler6.js +1 -1
  55. package/dist/packem_chunks/handler60.js +4 -4
  56. package/dist/packem_chunks/handler61.js +2 -2
  57. package/dist/packem_chunks/handler62.js +1 -1
  58. package/dist/packem_chunks/handler63.js +2 -61
  59. package/dist/packem_chunks/handler64.js +61 -6
  60. package/dist/packem_chunks/handler65.js +6 -8
  61. package/dist/packem_chunks/handler66.js +8 -2
  62. package/dist/packem_chunks/handler67.js +2 -28
  63. package/dist/packem_chunks/handler68.js +28 -12
  64. package/dist/packem_chunks/handler69.js +12 -25
  65. package/dist/packem_chunks/handler7.js +1 -1
  66. package/dist/packem_chunks/handler70.js +25 -22
  67. package/dist/packem_chunks/handler71.js +22 -10
  68. package/dist/packem_chunks/handler72.js +10 -133
  69. package/dist/packem_chunks/handler73.js +133 -23
  70. package/dist/packem_chunks/handler74.js +23 -323
  71. package/dist/packem_chunks/handler75.js +274 -659
  72. package/dist/packem_chunks/handler76.js +13 -13
  73. package/dist/packem_chunks/handler77.js +12 -12
  74. package/dist/packem_chunks/handler78.js +1 -1
  75. package/dist/packem_chunks/handler79.js +69 -67
  76. package/dist/packem_chunks/handler8.js +1 -1
  77. package/dist/packem_chunks/handler9.js +1 -1
  78. package/dist/packem_chunks/heal-accept.js +1 -1
  79. package/dist/packem_chunks/heal.js +1 -1
  80. package/dist/packem_chunks/help-command.js +1 -1
  81. package/dist/packem_chunks/html.js +707 -0
  82. package/dist/packem_chunks/index4.js +1 -1
  83. package/dist/packem_chunks/index6.js +57 -51
  84. package/dist/packem_chunks/index7.js +2 -2
  85. package/dist/packem_chunks/keys-refresh.js +1 -1
  86. package/dist/packem_chunks/lean.js +1 -1
  87. package/dist/packem_chunks/list.js +1 -1
  88. package/dist/packem_chunks/loader.js +1 -1
  89. package/dist/packem_chunks/prune.js +1 -1
  90. package/dist/packem_chunks/run.js +1 -1
  91. package/dist/packem_chunks/status.js +1 -1
  92. package/dist/packem_chunks/sync.js +1 -1
  93. package/dist/packem_chunks/sync2.js +1 -1
  94. package/dist/packem_chunks/tripwire.js +1 -1
  95. package/dist/packem_chunks/ts-loader.js +1 -1
  96. package/dist/packem_chunks/verify-lockfile.js +1 -1
  97. package/dist/packem_shared/{ReleaseClient-CWD9BC5w.js → ReleaseClient-CRuCHDsT.js} +1 -1
  98. package/dist/packem_shared/advisories-DHGJ6XhP.js +1 -0
  99. package/dist/packem_shared/affected-selection-DCT4CLex.js +1 -0
  100. package/dist/packem_shared/{affected-shas-B_kfSKss.js → affected-shas-CycHU3nr.js} +1 -1
  101. package/dist/packem_shared/{ai-analysis-BCJ1kuDM.js → ai-analysis-CO4rT3Nd.js} +1 -1
  102. package/dist/packem_shared/ai-cache-Dkb6me20.js +1 -0
  103. package/dist/packem_shared/{ai-fix-DIMErSws.js → ai-fix-C0OBhGDq.js} +1 -1
  104. package/dist/packem_shared/{augment-B9kSZuvW.js → augment-BSeqaai8.js} +1 -1
  105. package/dist/packem_shared/{bin-BcLTer1k.js → bin-DwACrJUJ.js} +1 -1
  106. package/dist/packem_shared/build-scripts-BeMIA-_q.js +1 -0
  107. package/dist/packem_shared/{command-runtime-HSsYGCQd.js → command-runtime-DG49t2MT.js} +1 -1
  108. package/dist/packem_shared/{dependency-scan-D_v3KM59.js → dependency-scan-D8e370_h.js} +1 -1
  109. package/dist/packem_shared/detect-C-9o_BPB.js +1 -0
  110. package/dist/packem_shared/{docker-DXqV-07f.js → docker-vRDm2lHX.js} +1 -1
  111. package/dist/packem_shared/{ecosystem-gate-CwsTc7YW.js → ecosystem-gate-DpO43yAS.js} +1 -1
  112. package/dist/packem_shared/env-BymuoTL8.js +4 -0
  113. package/dist/packem_shared/env-consistency-BDfAa56d.js +1 -0
  114. package/dist/packem_shared/{failure-log-DIsKBKaI.js → failure-log-BslhfaEO.js} +1 -1
  115. package/dist/packem_shared/glob-Cyk1H9ZL-6yDyaJwk.js +1 -0
  116. package/dist/packem_shared/{index-BzhrR_iC.js → index-0dnGN3GP.js} +1 -1
  117. package/dist/packem_shared/index-CIdjkZgt.js +1 -0
  118. package/dist/packem_shared/{index-9Ot7jTd4.js → index-Cwxbl_pY.js} +1 -1
  119. package/dist/packem_shared/index-Doab17tq.js +1 -0
  120. package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-C-_5cgwu.js → isAccessibleSync-DYKTrrvc-CBsMZhj-.js} +1 -1
  121. package/dist/packem_shared/{lifecycle-CQjeMPY0.js → lifecycle-Gy7mqMGg.js} +2 -2
  122. package/dist/packem_shared/{lockfile-CiUtEbnt.js → lockfile-DEWjBrlY.js} +1 -1
  123. package/dist/packem_shared/manifests-kE5OweNT.js +1 -0
  124. package/dist/packem_shared/{min-release-age-JViyQuBM.js → min-release-age-yvuPbJ8G.js} +1 -1
  125. package/dist/packem_shared/missing-package-json-CEEPXqYi.js +1 -0
  126. package/dist/packem_shared/{multi-eco-lockfiles-fgkpeHJv.js → multi-eco-lockfiles-D5tM7pkg.js} +1 -1
  127. package/dist/packem_shared/{native-config-sync-TdTWjVgI.js → native-config-sync-DDGt3vvd.js} +1 -1
  128. package/dist/packem_shared/{npmrc-CHsOyMvA.js → npmrc-CIvOb61L.js} +1 -1
  129. package/dist/packem_shared/{osv-Do9PMOea.js → osv-4kFhXIoW.js} +1 -1
  130. package/dist/packem_shared/osv-bloom-DU6avR2k.js +2 -0
  131. package/dist/packem_shared/package-version-x7sPg2TM.js +4 -0
  132. package/dist/packem_shared/packument-Dg8cIDYR.js +1 -0
  133. package/dist/packem_shared/{pm-runner-RM72mDZg.js → pm-runner-Dboj-wZG.js} +1 -1
  134. package/dist/packem_shared/{project-name-filter-ZQaLgytG.js → project-name-filter-B3tKt-Pf.js} +1 -1
  135. package/dist/packem_shared/{provenance-SX1MxPUZ.js → provenance-BG5mu0H_.js} +1 -1
  136. package/dist/packem_shared/publish-DkgvB2Lk.js +34 -0
  137. package/dist/packem_shared/registry-CndByNx9.js +85 -0
  138. package/dist/packem_shared/registry-keys-CE-RZlp_.js +1 -0
  139. package/dist/packem_shared/{removeSync-g1D5kONg-LbjATA8v.js → removeSync-g1D5kONg-jOsRSIIv.js} +1 -1
  140. package/dist/packem_shared/{renderToString-DR0zDUjh-DXppT6AM.js → renderToString-DR0zDUjh-DeiCwydO.js} +1 -1
  141. package/dist/packem_shared/{resolve-explicit-D9kdTNvl.js → resolve-explicit-Cge6eKPt.js} +1 -1
  142. package/dist/packem_shared/{resolve-runtime-DNukUjIr.js → resolve-runtime-D8rxuo3J.js} +1 -1
  143. package/dist/packem_shared/run-CKL4VGzQ.js +10 -0
  144. package/dist/packem_shared/{run-file-UBukWaha.js → run-file-D1mlOnd8.js} +1 -1
  145. package/dist/packem_shared/{run-summary-utils-CMeURYtS.js → run-summary-utils-DbyeUM6f.js} +1 -1
  146. package/dist/packem_shared/runtime-check-Dw0q3X67.js +1 -0
  147. package/dist/packem_shared/s1ngularity-BOl0c716.js +1 -0
  148. package/dist/packem_shared/{scaffold-files-DJlz36Mu.js → scaffold-files-B8zMyMvq.js} +1 -1
  149. package/dist/packem_shared/{scan-progress-DymX71_5.js → scan-progress-CY3XIDOY.js} +1 -1
  150. package/dist/packem_shared/selectors-BB0yaWyK.js +3 -0
  151. package/dist/packem_shared/{signatures-CeL0bOEo.js → signatures-r1SeDHLL.js} +1 -1
  152. package/dist/packem_shared/spinner-B_rRdoro.js +1 -0
  153. package/dist/packem_shared/{table-oA7p7-yP.js → table-bu4cV-it.js} +1 -1
  154. package/dist/packem_shared/{tabs-BiSifphV.js → tabs-A2EUpTHt.js} +1 -1
  155. package/dist/packem_shared/target-merge-ya19LiWB.js +1 -0
  156. package/dist/packem_shared/{target-options-DsHFmRZH.js → target-options-rIthWS4M.js} +1 -1
  157. package/dist/packem_shared/{task-env-C2lmxvzA.js → task-env-Cl4jNMCR.js} +1 -1
  158. package/dist/packem_shared/toolchain-Bt93i37e.js +5 -0
  159. package/dist/packem_shared/typosquats-BbebOgKM.js +1 -0
  160. package/dist/packem_shared/{use-measured-height-BHm-HiSF.js → use-measured-height-CwhybDI9.js} +1 -1
  161. package/dist/packem_shared/{verify-B_MblU_Q.js → verify-3WE9U_Bv.js} +1 -1
  162. package/dist/packem_shared/{vis-update-app-6QOYxnNx.js → vis-update-app-PjJWvxqF.js} +1 -1
  163. package/dist/packem_shared/{vis-user-error-3YS7sPYy.js → vis-user-error-BivZDkQD.js} +2 -2
  164. package/dist/packem_shared/{watch-CcTketln.js → watch-C-9-PD2m.js} +1 -1
  165. package/dist/packem_shared/{watch-loop-CGi66Fs0.js → watch-loop-dWYGUQwi.js} +1 -1
  166. package/dist/release/index.js +1 -1
  167. package/dist/release/plugin-sdk.d.ts +32 -0
  168. package/dist/release/presets.d.ts +38 -0
  169. package/dist/runtime/preload.js +1 -1
  170. package/index.js +26 -26
  171. package/package.json +19 -15
  172. package/schemas/vis-config.schema.json +12 -0
  173. package/dist/packem_shared/advisories-DO-P0V1_.js +0 -1
  174. package/dist/packem_shared/affected-selection-CeeZo7Uy.js +0 -1
  175. package/dist/packem_shared/ai-cache-iSIyY3So.js +0 -1
  176. package/dist/packem_shared/build-scripts-CEDx_nJp.js +0 -1
  177. package/dist/packem_shared/detect-CbMRSXkM.js +0 -1
  178. package/dist/packem_shared/env-BSXG3QKH.js +0 -4
  179. package/dist/packem_shared/env-consistency-B4rU4MQb.js +0 -1
  180. package/dist/packem_shared/glob-Cyk1H9ZL-CL9optrn.js +0 -1
  181. package/dist/packem_shared/index-BS6A9QR_.js +0 -1
  182. package/dist/packem_shared/manifests-Du4yKlf_.js +0 -1
  183. package/dist/packem_shared/missing-package-json-1BIoWQq0.js +0 -1
  184. package/dist/packem_shared/osv-bloom-BCAX5ARR.js +0 -2
  185. package/dist/packem_shared/package-version-Bq6Cne_7.js +0 -4
  186. package/dist/packem_shared/packument-CbTmbHU4.js +0 -1
  187. package/dist/packem_shared/publish-Dc0XGH3K.js +0 -34
  188. package/dist/packem_shared/readJsonSync-CbryXYxN-EWl7_7KX.js +0 -1
  189. package/dist/packem_shared/registry-Dg9XI6RT.js +0 -81
  190. package/dist/packem_shared/registry-keys-z038Ecb4.js +0 -1
  191. package/dist/packem_shared/run-DLvd3RIZ.js +0 -10
  192. package/dist/packem_shared/runtime-check-D3cRDuoi.js +0 -1
  193. package/dist/packem_shared/s1ngularity-BuU9Cxpy.js +0 -1
  194. package/dist/packem_shared/selectors-edwcgNl3.js +0 -3
  195. package/dist/packem_shared/spinner-CPoBymcv.js +0 -1
  196. package/dist/packem_shared/target-merge-DVJl-7Qz.js +0 -4
  197. package/dist/packem_shared/toolchain-CP79HNVy.js +0 -5
  198. package/dist/packem_shared/typosquats-BFKus_aM.js +0 -1
  199. package/dist/packem_shared/writeFileSync-DJoHk3Ks-BPRoepNw.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{createRequire as j}from"node:module";import{L as J}from"./index-CIdjkZgt.js";import{osvBloomDecode as z,osvBloomProbeBatch as K,NATIVE_BINDING_VERSION as D}from"#native";let k;const V=e=>(k??=j(import.meta.url))(e),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,v=e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[s,t]=h.versions.node.split(".").map(Number);if(s>22||s===22&&t>=3||s===20&&t>=16)return h.getBuiltinModule(e)}return V(e)},{createHash:H,randomUUID:P}=v("node:crypto"),{existsSync:g}=v("node:fs"),{readFile:O,mkdir:T,stat:B,writeFile:F,rename:q,unlink:G}=v("node:fs/promises"),{join:d,dirname:W}=v("node:path"),I=6;if(D!==I)throw new Error(`vis native binding ABI mismatch in osv-bloom: expected ${I}, got ${D}. Rebuild via \`pnpm --filter @visulima/vis run build:native\` or reinstall the platform binding package.`);const nt="https://endevco.github.io/osv-bloom",X=new Set(["endevco.github.io"]);class w extends Error{cause="OSV_BLOOM_SOURCE_NOT_ALLOWED";constructor(s){super(`osv-bloom source host '${s}' is not in the built-in allowlist. Add it to \`security.audit.advisories.bloom.allowedHosts\` if intentional.`),this.name="OsvBloomSourceNotAllowedError"}}class b extends Error{cause="OSV_BLOOM_NETWORK";constructor(s,t){super(`osv-bloom fetch failed for ${s}: ${t}. Check connectivity, proxy env vars, or --source.`),this.name="OsvBloomNetworkError"}}class Y extends Error{cause="OSV_BLOOM_INTEGRITY";constructor(s,t){super(`osv-bloom filter.bin sha256 mismatch (expected ${s}, got ${t}). Refusing to install a corrupted filter.`),this.name="OsvBloomIntegrityError"}}class m extends Error{cause="OSV_BLOOM_MANIFEST";constructor(s){super(`osv-bloom manifest invalid: ${s}`),this.name="OsvBloomManifestError"}}class Q extends Error{cause="OSV_BLOOM_CACHE_MISS";constructor(s){super(`No osv-bloom cache at ${s}. Run 'vis advisories bloom sync' first.`),this.name="OsvBloomCacheMissError"}}const p=e=>{const t=J("vis",{create:!0,cwd:e})??d(e,"node_modules",".cache","vis");return d(t,"osv-bloom")},l=e=>d(e,"filter.bin"),L=e=>d(e,"manifest.json"),$=e=>d(e,"state.json"),Z=(e,s)=>{let t;try{t=new URL(e)}catch{throw new w(e)}if(!t.host)throw new w(e);if(t.protocol!=="https:")throw new w(`${t.protocol}//${t.host}`);if(!new Set([...X,...s??[]]).has(t.host))throw new w(t.host);return t},at=async e=>{const s=Date.now(),t=e.cacheDir??p(e.workspaceRoot);await T(t,{recursive:!0});const r=Z(e.source,e.allowedHosts),n=new URL("manifest.json",M(r.toString())),o=new URL("filter.bin",M(r.toString())),a=await A(n,{method:"GET"});if(!a.ok)throw new b(n.toString(),a.status);const _=await a.text(),i=R(_),u=await x(t);if(!e.force&&u?.setDigestSha256===i.setDigestSha256&&g(l(t)))return{bytesOnDisk:(await B(l(t))).size,cacheDir:t,durationMs:Date.now()-s,manifest:i,upToDate:!0};const E={};!e.force&&u?.filterEtag&&(E.headers={"if-none-match":u.filterEtag});const f=await A(o,{...E,method:"GET"});if(f.status===304&&u&&g(l(t)))return await N(t,_,{fetchedAtIso:new Date().toISOString(),filterEtag:u.filterEtag,setDigestSha256:i.setDigestSha256}),{bytesOnDisk:(await B(l(t))).size,cacheDir:t,durationMs:Date.now()-s,manifest:i,upToDate:!0};if(!f.ok||!f.body)throw new b(o.toString(),f.status);const c=Buffer.from(await f.arrayBuffer());e.onProgress&&e.onProgress(c.length,c.length);const y=tt(c);if(y!==i.filterSha256)throw new Y(i.filterSha256,y);if(c.length!==i.bloomByteLen)throw new m(`filter.bin length ${c.length} does not match manifest.bloom_byte_len ${i.bloomByteLen}`);const U=f.headers.get("etag")??void 0;return await S(l(t),c),await N(t,_,{fetchedAtIso:new Date().toISOString(),filterEtag:U,setDigestSha256:i.setDigestSha256}),{bytesOnDisk:c.length,cacheDir:t,durationMs:Date.now()-s,manifest:i,upToDate:!1}},it=async(e,s)=>{const t=s?.cacheDir??p(e),r=l(t);if(!g(r)){if(s?.softFail)return null;throw new Q(t)}const n=await O(r);return z(n)},ct=(e,s)=>K(e,s),lt=async(e,s)=>{const t=s??p(e);if(!g(l(t)))return{cacheDir:t,present:!1};let n,o;try{n=R(await O(L(t),"utf8"))}catch{}try{o=await x(t)}catch{}return{cacheDir:t,fetchedAtIso:o?.fetchedAtIso,manifest:n,present:!0}},R=e=>{let s;try{s=JSON.parse(e)}catch(o){throw new m(o instanceof Error?o.message:String(o))}const t=o=>{const a=s[o];if(typeof a!="number"||Number.isNaN(a))throw new m(`field '${o}' missing or non-numeric`);return a},r=o=>{const a=s[o];if(typeof a!="string"||a.length===0)throw new m(`field '${o}' missing or empty`);return a},n=t("format_version");if(n!==1)throw new m(`unsupported format_version ${n} (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:n,setDigestSha256:r("set_digest_sha256"),sourceUrl:r("source_url"),targetFpr:t("target_fpr")}},x=async e=>{try{const s=await O($(e),"utf8"),t=JSON.parse(s);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}},N=async(e,s,t)=>{await S(L(e),Buffer.from(s,"utf8")),await S($(e),Buffer.from(`${JSON.stringify(t,void 0,2)}
2
+ `,"utf8"))},S=async(e,s)=>{await T(W(e),{recursive:!0});const t=`${e}.${process.pid}.${P()}.tmp`;try{await F(t,s),await q(t,e)}catch(r){throw await G(t).catch(()=>{}),r}},tt=e=>H("sha256").update(e).digest("hex"),M=e=>e.endsWith("/")?e:`${e}/`,et=3e4,A=async(e,s)=>{try{return await fetch(e,{...s,signal:AbortSignal.timeout(et)})}catch(t){throw new b(e.toString(),t instanceof Error?t.message:String(t))}};export{nt as D,Q as O,lt as g,it as l,ct as p,at as s};
@@ -0,0 +1,4 @@
1
+ import{createRequire as ct}from"node:module";import{r as mt,f as Lt,T as gt,z as R,C as St,k as be,m as te,a as vt,g as Ct,c as Pt}from"./index-0dnGN3GP.js";import{L as De}from"./index-BisalDCf.js";import{a as ie,g as yt}from"./_commonjsHelpers-DTfxOvZk.js";import{r as bt,a as Dt}from"./clean-DRiLimTx.js";let ht;const ut=h=>(ht??=ct(import.meta.url))(h),F=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,T=h=>{if(typeof F<"u"&&F.versions&&F.versions.node){const[e,t]=F.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return F.getBuiltinModule(h)}return ut(h)},{dirname:pt}=T("node:path"),Pe=T("node:url"),{fileURLToPath:ft}=Pe,ye=T("node:module"),{createRequire:dt}=ye,At=T("util"),Bi=h=>"Bun"in h,Ti=()=>process.argv,Ri=()=>process.cwd(),Ii=()=>process.env,Ui=()=>process.execArgv,Mi=()=>process.execPath,ki=()=>process.platform,_i=()=>process.arch,Wi=(h=0)=>{process.exit(h)},Hi=(h,e)=>{const t=process;return t.on(h,e),()=>{t.removeListener(h,e)}},wt=h=>String.raw`\u{${h.codePointAt(0).toString(16)}}`,xt=(h,e,t)=>gt(h,{start:e},{tabWidth:!1,...t}),Et=/in JSON at position (\d+)(?: \(line (\d+) column (\d+)\))?$/,Ot=(h,e)=>{const t=Et.exec(e);if(!t)return;const[,n,i,r]=t;if(i&&r)return{column:Number(r),line:Number(i)};let o=Number(n);return o===h.length&&(o=h.length-1),Lt(h,o)},Nt=/(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/,Ft=h=>h.replace(Nt,(e,t,n)=>`"${n}"(${wt(n)})`);function Gt(h,e,t,n){let i;try{return JSON.parse(h,e)}catch(l){i=l.message}let r;h?(r=Ot(h,i),i=Ft(i)):i+=" while parsing empty string";const o=new mt(i);throw o.fileName=t,r&&(o.codeFrame=xt(h,r,n)),o}function $t(h,e,t){const n=R(h,{buffer:!0,encoding:void 0});let i=new TextDecoder().decode(n);const{beforeParse:r,color:o}={};return typeof r=="function"&&(i=r(i)),Gt(i,e,St(h),{color:o})}var U,ne;function Ae(){return ne||(ne=1,U=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","ALGLIB-Documentation","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Advanced-Cryptics-Dictionary","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BOLA-1.1","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-Tso","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Mark-Modifications","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","Buddy","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CAPEC-tou","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","ESA-PL-permissive-2.4","ESA-PL-strong-copyleft-2.4","ESA-PL-weak-copyleft-2.4","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-SMC","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HPND-sell-variant-critical-systems","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ISO-permission","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-STK","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MMPL-1.0.1","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-TNT","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSC-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OSSP","OpenMDW-1.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","ParaType-Free-Font-1.3","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGMLUG-PM","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TekHVC","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","UnRAR","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","Vixie-Cron","W3C","W3C-19980720","W3C-20150513","WTFNMFPL","WTFPL","Watcom-1.0","Widget-Workshop","WordNet","Wsuipa","X11","X11-distribute-modifications-variant","X11-no-permit-persons","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","hyphen-bulgarian","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"]),U}var M,se;function Bt(){return se||(se=1,M=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"]),M}var k,oe;function Tt(){return oe||(oe=1,k=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"]),k}var _,ae;function Rt(){if(ae)return _;ae=1;var h=[].concat(Ae()).concat(Bt()),e=Tt();return _=function(t){var n=0;function i(){return n<t.length}function r(g){if(g instanceof RegExp){var c=t.slice(n),L=c.match(g);if(L)return n+=L[0].length,L[0]}else if(t.indexOf(g,n)===n)return n+=g.length,g}function o(){r(/[ ]*/)}function l(){for(var g,c=["WITH","AND","OR","(",")",":","+"],L=0;L<c.length&&(g=r(c[L]),!g);L++);if(g==="+"&&n>1&&t[n-2]===" ")throw new Error("Space before `+`");return g&&{type:"OPERATOR",string:g}}function a(){return r(/[A-Za-z0-9-.]+/)}function u(){var g=a();if(!g)throw new Error("Expected idstring at offset "+n);return g}function f(){if(r("DocumentRef-")){var g=u();return{type:"DOCUMENTREF",string:g}}}function S(){if(r("LicenseRef-")){var g=u();return{type:"LICENSEREF",string:g}}}function b(){var g=n,c=a();if(h.indexOf(c)!==-1)return{type:"LICENSE",string:c};if(e.indexOf(c)!==-1)return{type:"EXCEPTION",string:c};n=g}function v(){return l()||f()||S()||b()}for(var C=[];i()&&(o(),!!i());){var m=v();if(!m)throw new Error("Unexpected `"+t[n]+"` at offset "+n);C.push(m)}return C},_}var W,le;function It(){return le||(le=1,W=function(h){var e=0;function t(){return e<h.length}function n(){return t()?h[e]:null}function i(){if(!t())throw new Error;e++}function r(m){var g=n();if(g&&g.type==="OPERATOR"&&m===g.string)return i(),g.string}function o(){if(r("WITH")){var m=n();if(m&&m.type==="EXCEPTION")return i(),m.string;throw new Error("Expected exception after `WITH`")}}function l(){var m=e,g="",c=n();if(c.type==="DOCUMENTREF"&&(i(),g+="DocumentRef-"+c.string+":",!r(":")))throw new Error("Expected `:` after `DocumentRef-...`");if(c=n(),c.type==="LICENSEREF")return i(),g+="LicenseRef-"+c.string,{license:g};e=m}function a(){var m=n();if(m&&m.type==="LICENSE"){i();var g={license:m.string};r("+")&&(g.plus=!0);var c=o();return c&&(g.exception=c),g}}function u(){var m=r("(");if(m){var g=v();if(!r(")"))throw new Error("Expected `)`");return g}}function f(){return u()||l()||a()}function S(m,g){return function c(){var L=g();if(L){if(!r(m))return L;var y=c();if(!y)throw new Error("Expected expression");return{left:L,conjunction:m.toLowerCase(),right:y}}}}var b=S("AND",f),v=S("OR",b),C=v();if(!C||t())throw new Error("Syntax error");return C}),W}var H,ce;function we(){if(ce)return H;ce=1;var h=Rt(),e=It();return H=function(t){return e(h(t))},H}var j,he;function Ut(){if(he)return j;he=1;var h=we(),e=Ae();function t(c){try{return h(c),!0}catch{return!1}}function n(c,L){var y=L[0].length-c[0].length;return y!==0?y:c[0].toUpperCase().localeCompare(L[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(n),r=0,o=1,l=[function(c){return c.toUpperCase()},function(c){return c.trim()},function(c){return c.replace(/\./g,"")},function(c){return c.replace(/\s+/g,"")},function(c){return c.replace(/\s+/g,"-")},function(c){return c.replace("v","-")},function(c){return c.replace(/,?\s*(\d)/,"-$1")},function(c){return c.replace(/,?\s*(\d)/,"-$1.0")},function(c){return c.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(c){return c.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(c){return c[0].toUpperCase()+c.slice(1)},function(c){return c.replace("/","-")},function(c){return c.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(c){return c.indexOf("3.0")!==-1?c+"-or-later":c+"-only"},function(c){return c+"only"},function(c){return c.replace(/(\d)$/,"-$1.0")},function(c){return c.replace(/(-| )?(\d)$/,"-$2-Clause")},function(c){return c.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(c){return c.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(c){return c.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(c){return c.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(c){return c.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(c){return c.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(c){return"CC-"+c},function(c){return"CC-"+c+"-4.0"},function(c){return c.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(c){return"CC-"+c.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],a=e.map(function(c){var L=/^(.*)-\d+\.\d+$/.exec(c);return L?[L[0],L[1]]:[c,null]}).reduce(function(c,L){var y=L[1];return c[y]=c[y]||[],c[y].push(L[0]),c},{}),u=Object.keys(a).map(function(L){return[L,a[L]]}).filter(function(L){return L[1].length===1&&L[0]!==null&&L[0]!=="APL"}).map(function(L){return[L[0],L[1][0]]});a=void 0;var f=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(u).sort(n),S=0,b=1,v=function(c){for(var L=0;L<l.length;L++){var y=l[L](c).trim();if(y!==c&&t(y))return y}return null},C=function(c){for(var L=c.toUpperCase(),y=0;y<f.length;y++){var s=f[y];if(L.indexOf(s[S])>-1)return s[b]}return null},m=function(c,L){for(var y=0;y<i.length;y++){var s=i[y],p=s[r];if(c.indexOf(p)>-1){var d=c.replace(p,s[o]),P=L(d);if(P!==null)return P}}return null};j=function(c,L){L=L||{};var y=L.upgrade===void 0?!0:!!L.upgrade;function s(D){return y?g(D):D}var p=typeof c=="string"&&c.trim().length!==0;if(!p)throw Error("Invalid argument. Expected non-empty string.");if(c=c.trim(),t(c))return s(c);var d=c.replace(/\+$/,"").trim();if(t(d))return s(d);var P=v(c);return P!==null||(P=m(c,function(D){return t(D)?D:v(D)}),P!==null)||(P=C(c),P!==null)||(P=m(c,C),P!==null)?s(P):null};function g(c){return["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(c)!==-1?c+"-only":["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(c)!==-1?c.replace(/\+$/,"-or-later"):["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(c)!==-1?c+"-or-later":c}return j}var z,ue;function Mt(){if(ue)return z;ue=1;var h=we(),e=Ut(),t='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',n=/^SEE LICEN[CS]E IN (.+)$/;function i(o,l){return l.slice(0,o.length)===o}function r(o){if(o.hasOwnProperty("license")){var l=o.license;return i("LicenseRef",l)||i("DocumentRef",l)}else return r(o.left)||r(o.right)}return z=function(o){var l;try{l=h(o)}catch{var a;if(o==="UNLICENSED"||o==="UNLICENCED")return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=n.exec(o))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var u={validForOldPackages:!1,validForNewPackages:!1,warnings:[t]};if(o.trim().length!==0){var f=e(o);f&&u.warnings.push('license is similar to the valid expression "'+f+'"')}return u}return r(l)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[t]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}},z}var xe={hasSubscribers:!1},A=xe,N=xe;import("node:diagnostics_channel").then(h=>{A=h.channel("lru-cache:metrics"),N=h.tracingChannel("lru-cache")}).catch(()=>{});var kt=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Y=()=>A.hasSubscribers||N.hasSubscribers,Ee=new Set,pe=process||{},_t=(h,e,t,n)=>{typeof pe.emitWarning=="function"?pe.emitWarning(h,e,t,n):console.error(`[${t}] ${e}: ${h}`)},Wt=h=>!Ee.has(h),O=h=>!!h&&h===Math.floor(h)&&h>0&&isFinite(h),Oe=h=>O(h)?h<=Math.pow(2,8)?Uint8Array:h<=Math.pow(2,16)?Uint16Array:h<=Math.pow(2,32)?Uint32Array:h<=Number.MAX_SAFE_INTEGER?B:null:null,B=class extends Array{constructor(e){super(e),this.fill(0)}},Ht=class ${heap;length;static#n=!1;static create(e){let t=Oe(e);if(!t)return[];$.#n=!0;let n=new $(e,t);return $.#n=!1,n}constructor(e,t){if(!$.#n)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new t(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},jt=class Ne{#n;#c;#t;#O;#g;#T;#R;#S;get perf(){return this.#S}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;backgroundFetchSize;#o;#v;#s;#r;#e;#u;#f;#h;#a;#C;#l;#P;#y;#d;#m;#b;#I;#p;#N;static unsafeExposeInternals(e){return{starts:e.#y,ttls:e.#d,autopurgeTimers:e.#m,sizes:e.#P,keyMap:e.#s,keyList:e.#r,valList:e.#e,next:e.#u,prev:e.#f,get head(){return e.#h},get tail(){return e.#a},free:e.#C,isBackgroundFetch:t=>e.#i(t),backgroundFetch:(t,n,i,r)=>e.#k(t,n,i,r),moveToTail:t=>e.#B(t),indexes:t=>e.#D(t),rindexes:t=>e.#A(t),isStale:t=>e.#L(t)}}get max(){return this.#n}get maxSize(){return this.#c}get calculatedSize(){return this.#v}get size(){return this.#o}get fetchMethod(){return this.#T}get memoMethod(){return this.#R}get dispose(){return this.#t}get onInsert(){return this.#O}get disposeAfter(){return this.#g}constructor(e){let{max:t=0,ttl:n,ttlResolution:i=1,ttlAutopurge:r,updateAgeOnGet:o,updateAgeOnHas:l,allowStale:a,dispose:u,onInsert:f,disposeAfter:S,noDisposeOnSet:b,noUpdateTTL:v,maxSize:C=0,maxEntrySize:m=0,sizeCalculation:g,fetchMethod:c,memoMethod:L,noDeleteOnFetchRejection:y,noDeleteOnStaleGet:s,allowStaleOnFetchRejection:p,allowStaleOnFetchAbort:d,ignoreFetchAbort:P,backgroundFetchSize:D=1,perf:w}=e;if(this.backgroundFetchSize=D,w!==void 0&&typeof w?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#S=w??kt,t!==0&&!O(t))throw new TypeError("max option must be a nonnegative integer");let x=t?Oe(t):Array;if(!x)throw new Error("invalid max value: "+t);if(this.#n=t,this.#c=C,this.maxEntrySize=m||this.#c,this.sizeCalculation=g,this.sizeCalculation){if(!this.#c&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(L!==void 0&&typeof L!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#R=L,c!==void 0&&typeof c!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#T=c,this.#I=!!c,this.#s=new Map,this.#r=Array.from({length:t}).fill(void 0),this.#e=Array.from({length:t}).fill(void 0),this.#u=new x(t),this.#f=new x(t),this.#h=0,this.#a=0,this.#C=Ht.create(t),this.#o=0,this.#v=0,typeof u=="function"&&(this.#t=u),typeof f=="function"&&(this.#O=f),typeof S=="function"?(this.#g=S,this.#l=[]):(this.#g=void 0,this.#l=void 0),this.#b=!!this.#t,this.#N=!!this.#O,this.#p=!!this.#g,this.noDisposeOnSet=!!b,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!y,this.allowStaleOnFetchRejection=!!p,this.allowStaleOnFetchAbort=!!d,this.ignoreFetchAbort=!!P,this.maxEntrySize!==0){if(this.#c!==0&&!O(this.#c))throw new TypeError("maxSize must be a positive integer if specified");if(!O(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#V()}if(this.allowStale=!!a,this.noDeleteOnStaleGet=!!s,this.updateAgeOnGet=!!o,this.updateAgeOnHas=!!l,this.ttlResolution=O(i)||i===0?i:1,this.ttlAutopurge=!!r,this.ttl=n||0,this.ttl){if(!O(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#_()}if(this.#n===0&&this.ttl===0&&this.#c===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#n&&!this.#c){let I="LRU_CACHE_UNBOUNDED";Wt(I)&&(Ee.add(I),_t("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",I,Ne))}}getRemainingTTL(e){return this.#s.has(e)?1/0:0}#_(){let e=new B(this.#n),t=new B(this.#n);this.#d=e,this.#y=t;let n=this.ttlAutopurge?Array.from({length:this.#n}):void 0;this.#m=n,this.#W=(a,u,f=this.#S.now())=>{t[a]=u!==0?f:0,e[a]=u,i(a,u)},this.#F=a=>{t[a]=e[a]!==0?this.#S.now():0,i(a,e[a])};let i=this.ttlAutopurge?(a,u)=>{if(n?.[a]&&(clearTimeout(n[a]),n[a]=void 0),u&&u!==0&&n){let f=setTimeout(()=>{this.#L(a)?(this.#w(this.#r[a],"expire"),n[a]=void 0):i(a,l(a))},u+1);f.unref&&f.unref(),n[a]=f}}:()=>{};this.#x=(a,u)=>{if(e[u]){let f=e[u],S=t[u];if(!f||!S)return;a.ttl=f,a.start=S,a.now=r||o();let b=a.now-S;a.remainingTTL=f-b}};let r=0,o=()=>{let a=this.#S.now();if(this.ttlResolution>0){r=a;let u=setTimeout(()=>r=0,this.ttlResolution);u.unref&&u.unref()}return a};this.getRemainingTTL=a=>{let u=this.#s.get(a);return u===void 0?0:l(u)};let l=a=>{let u=e[a],f=t[a];if(!u||!f)return 1/0;let S=(r||o())-f;return u-S};this.#L=a=>{let u=t[a],f=e[a];return!!f&&!!u&&(r||o())-u>f}}#F=()=>{};#x=()=>{};#W=()=>{};#L=()=>!1;#V(){let e=new B(this.#n);this.#v=0,this.#P=e,this.#G=t=>{this.#v-=e[t],e[t]=0},this.#H=(t,n,i,r)=>{if(!O(i)){if(this.#i(n))return this.backgroundFetchSize;if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(i=r(n,t),!O(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.")}return i},this.#U=(t,n,i)=>{if(e[t]=n,this.#c){let r=this.#c-e[t];for(;this.#v>r;)this.#M(!0)}this.#v+=e[t],i&&(i.entrySize=n,i.totalCalculatedSize=this.#v)}}#G=e=>{};#U=(e,t,n)=>{};#H=(e,t,n,i)=>{if(n||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#D({allowStale:e=this.allowStale}={}){if(this.#o)for(let t=this.#a;this.#j(t)&&((e||!this.#L(t))&&(yield t),t!==this.#h);)t=this.#f[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#o)for(let t=this.#h;this.#j(t)&&((e||!this.#L(t))&&(yield t),t!==this.#a);)t=this.#u[t]}#j(e){return e!==void 0&&this.#s.get(this.#r[e])===e}*entries(){for(let e of this.#D())this.#e[e]!==void 0&&this.#r[e]!==void 0&&!this.#i(this.#e[e])&&(yield[this.#r[e],this.#e[e]])}*rentries(){for(let e of this.#A())this.#e[e]!==void 0&&this.#r[e]!==void 0&&!this.#i(this.#e[e])&&(yield[this.#r[e],this.#e[e]])}*keys(){for(let e of this.#D()){let t=this.#r[e];t!==void 0&&!this.#i(this.#e[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#r[e];t!==void 0&&!this.#i(this.#e[e])&&(yield t)}}*values(){for(let e of this.#D())this.#e[e]!==void 0&&!this.#i(this.#e[e])&&(yield this.#e[e])}*rvalues(){for(let e of this.#A())this.#e[e]!==void 0&&!this.#i(this.#e[e])&&(yield this.#e[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#D()){let i=this.#e[n],r=this.#i(i)?i.__staleWhileFetching:i;if(r!==void 0&&e(r,this.#r[n],this))return this.#$(this.#r[n],t)}}forEach(e,t=this){for(let n of this.#D()){let i=this.#e[n],r=this.#i(i)?i.__staleWhileFetching:i;r!==void 0&&e.call(t,r,this.#r[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let i=this.#e[n],r=this.#i(i)?i.__staleWhileFetching:i;r!==void 0&&e.call(t,r,this.#r[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#L(t)&&(this.#w(this.#r[t],"expire"),e=!0);return e}info(e){let t=this.#s.get(e);if(t===void 0)return;let n=this.#e[t],i=this.#i(n)?n.__staleWhileFetching:n;if(i===void 0)return;let r={value:i};if(this.#d&&this.#y){let o=this.#d[t],l=this.#y[t];if(o&&l){let a=o-(this.#S.now()-l);r.ttl=a,r.start=Date.now()}}return this.#P&&(r.size=this.#P[t]),r}dump(){let e=[];for(let t of this.#D({allowStale:!0})){let n=this.#r[t],i=this.#e[t],r=this.#i(i)?i.__staleWhileFetching:i;if(r===void 0||n===void 0)continue;let o={value:r};if(this.#d&&this.#y){o.ttl=this.#d[t];let l=this.#S.now()-this.#y[t];o.start=Math.floor(Date.now()-l)}this.#P&&(o.size=this.#P[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let i=Date.now()-n.start;n.start=this.#S.now()-i}this.#E(t,n.value,n)}}set(e,t,n={}){let{status:i=A.hasSubscribers?{}:void 0}=n;n.status=i,i&&(i.op="set",i.key=e,t!==void 0&&(i.value=t),i.cache=this);let r=this.#E(e,t,n);return i&&A.hasSubscribers&&A.publish(i),r}#E(e,t,n,i){let{ttl:r=this.ttl,start:o,noDisposeOnSet:l=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:u}=n,f=this.#i(t);if(t===void 0)return u&&(u.set="deleted"),this.delete(e),this;let{noUpdateTTL:S=this.noUpdateTTL}=n;u&&!f&&(u.value=t);let b=this.#H(e,t,n.size||0,a,u);if(this.maxEntrySize&&b>this.maxEntrySize)return this.#w(e,"set"),u&&(u.set="miss",u.maxEntrySizeExceeded=!0),this;let v=this.#o===0?void 0:this.#s.get(e);if(v===void 0)v=this.#o===0?this.#a:this.#C.length!==0?this.#C.pop():this.#o===this.#n?this.#M(!1):this.#o,this.#r[v]=e,this.#e[v]=t,this.#s.set(e,v),this.#u[this.#a]=v,this.#f[v]=this.#a,this.#a=v,this.#o++,this.#U(v,b,u),u&&(u.set="add"),S=!1,this.#N&&!f&&this.#O?.(t,e,"add");else{this.#B(v);let C=this.#e[v];if(t!==C){if(!l)if(this.#i(C)){C!==i&&C.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:m}=C;m!==void 0&&m!==t&&(this.#b&&this.#t?.(m,e,"set"),this.#p&&this.#l?.push([m,e,"set"]))}else this.#b&&this.#t?.(C,e,"set"),this.#p&&this.#l?.push([C,e,"set"]);if(this.#G(v),this.#U(v,b,u),this.#e[v]=t,!f){let m=C&&this.#i(C)?C.__staleWhileFetching:C,g=m===void 0?"add":t!==m?"replace":"update";u&&(u.set=g,m!==void 0&&(u.oldValue=m)),this.#N&&this.onInsert?.(t,e,g)}}else f||(u&&(u.set="update"),this.#N&&this.onInsert?.(t,e,"update"))}if(r!==0&&!this.#d&&this.#_(),this.#d&&(S||this.#W(v,r,o),u&&this.#x(u,v)),!l&&this.#p&&this.#l){let C=this.#l,m;for(;m=C?.shift();)this.#g?.(...m)}return this}pop(){try{for(;this.#o;){let e=this.#e[this.#h];if(this.#M(!0),this.#i(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(e!==void 0)return e}}finally{if(this.#p&&this.#l){let e=this.#l,t;for(;t=e?.shift();)this.#g?.(...t)}}}#M(e){let t=this.#h,n=this.#r[t],i=this.#e[t],r=this.#i(i);r&&i.__abortController.abort(new Error("evicted"));let o=r?i.__staleWhileFetching:i;return(this.#b||this.#p)&&o!==void 0&&(this.#b&&this.#t?.(o,n,"evict"),this.#p&&this.#l?.push([o,n,"evict"])),this.#G(t),this.#m?.[t]&&(clearTimeout(this.#m[t]),this.#m[t]=void 0),e&&(this.#r[t]=void 0,this.#e[t]=void 0,this.#C.push(t)),this.#o===1?(this.#h=this.#a=0,this.#C.length=0):this.#h=this.#u[t],this.#s.delete(n),this.#o--,t}has(e,t={}){let{status:n=A.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op="has",n.key=e,n.cache=this);let i=this.#K(e,t);return A.hasSubscribers&&A.publish(n),i}#K(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:i}=t,r=this.#s.get(e);if(r!==void 0){let o=this.#e[r];if(this.#i(o)&&o.__staleWhileFetching===void 0)return!1;if(this.#L(r))i&&(i.has="stale",this.#x(i,r));else return n&&this.#F(r),i&&(i.has="hit",this.#x(i,r)),!0}else i&&(i.has="miss");return!1}peek(e,t={}){let{status:n=Y()?{}:void 0}=t;n&&(n.op="peek",n.key=e,n.cache=this),t.status=n;let i=this.#J(e,t);return A.hasSubscribers&&A.publish(n),i}#J(e,t){let{status:n,allowStale:i=this.allowStale}=t,r=this.#s.get(e);if(r===void 0||!i&&this.#L(r)){n&&(n.peek=r===void 0?"miss":"stale");return}let o=this.#e[r],l=this.#i(o)?o.__staleWhileFetching:o;return n&&(l!==void 0?(n.peek="hit",n.value=l):n.peek="miss"),l}#k(e,t,n,i){let r=t===void 0?void 0:this.#e[t];if(this.#i(r))return r;let o=new AbortController,{signal:l}=n;l?.addEventListener("abort",()=>o.abort(l.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:i},u=(m,g=!1)=>{let{aborted:c}=o.signal,L=n.ignoreFetchAbort&&m!==void 0,y=n.ignoreFetchAbort||!!(n.allowStaleOnFetchAbort&&m!==void 0);if(n.status&&(c&&!g?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,L&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),c&&!L&&!g)return S(o.signal.reason,y);let s=v,p=this.#e[t];return(p===v||p===void 0&&L&&g)&&(m===void 0?s.__staleWhileFetching!==void 0?this.#e[t]=s.__staleWhileFetching:this.#w(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#E(e,m,a.options,s))),m},f=m=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=m),S(m,!1)),S=(m,g)=>{let{aborted:c}=o.signal,L=c&&n.allowStaleOnFetchAbort,y=L||n.allowStaleOnFetchRejection,s=y||n.noDeleteOnFetchRejection,p=v;if(this.#e[t]===v&&(!s||!g&&p.__staleWhileFetching===void 0?this.#w(e,"fetch"):L||(this.#e[t]=p.__staleWhileFetching)),y)return n.status&&p.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),p.__staleWhileFetching;if(p.__returned===p)throw m},b=(m,g)=>{let c=this.#T?.(e,r,a);o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(m(void 0),n.allowStaleOnFetchAbort&&(m=L=>u(L,!0)))}),c&&c instanceof Promise?c.then(L=>m(L===void 0?void 0:L),g):c!==void 0&&m(c)};n.status&&(n.status.fetchDispatched=!0);let v=new Promise(b).then(u,f),C=Object.assign(v,{__abortController:o,__staleWhileFetching:r,__returned:void 0});return t===void 0?(this.#E(e,C,{...a.options,status:void 0}),t=this.#s.get(e)):this.#e[t]=C,C}#i(e){if(!this.#I)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=N.hasSubscribers,{status:i=Y()?{}:void 0}=t;t.status=i,i&&t.context&&(i.context=t.context);let r=this.#z(e,t);return i&&n&&(i.trace=!0,N.tracePromise(()=>r,i).catch(()=>{})),r}async#z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:a=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:f=this.noUpdateTTL,noDeleteOnFetchRejection:S=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:b=this.allowStaleOnFetchRejection,ignoreFetchAbort:v=this.ignoreFetchAbort,allowStaleOnFetchAbort:C=this.allowStaleOnFetchAbort,context:m,forceRefresh:g=!1,status:c,signal:L}=t;if(c&&(c.op="fetch",c.key=e,g&&(c.forceRefresh=!0),c.cache=this),!this.#I)return c&&(c.fetch="get"),this.#$(e,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:r,status:c});let y={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:r,ttl:o,noDisposeOnSet:l,size:a,sizeCalculation:u,noUpdateTTL:f,noDeleteOnFetchRejection:S,allowStaleOnFetchRejection:b,allowStaleOnFetchAbort:C,ignoreFetchAbort:v,status:c,signal:L},s=this.#s.get(e);if(s===void 0){c&&(c.fetch="miss");let p=this.#k(e,s,y,m);return p.__returned=p}else{let p=this.#e[s];if(this.#i(p)){let w=n&&p.__staleWhileFetching!==void 0;return c&&(c.fetch="inflight",w&&(c.returnedStale=!0)),w?p.__staleWhileFetching:p.__returned=p}let d=this.#L(s);if(!g&&!d)return c&&(c.fetch="hit"),this.#B(s),i&&this.#F(s),c&&this.#x(c,s),p;let P=this.#k(e,s,y,m),D=P.__staleWhileFetching!==void 0&&n;return c&&(c.fetch=d?"stale":"refresh",D&&d&&(c.returnedStale=!0)),D?P.__staleWhileFetching:P.__returned=P}}forceFetch(e,t={}){let n=N.hasSubscribers,{status:i=Y()?{}:void 0}=t;t.status=i,i&&t.context&&(i.context=t.context);let r=this.#X(e,t);return i&&n&&(i.trace=!0,N.tracePromise(()=>r,i).catch(()=>{})),r}async#X(e,t={}){let n=await this.#z(e,t);if(n===void 0)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=A.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context),n.cache=this);let i=this.#Z(e,t);return n&&(n.value=i),A.hasSubscribers&&A.publish(n),i}#Z(e,t={}){let n=this.#R;if(!n)throw new Error("no memoMethod provided to constructor");let{context:i,status:r,forceRefresh:o,...l}=t;r&&o&&(r.forceRefresh=!0);let a=this.#$(e,l),u=o||a===void 0;if(r&&(r.memo=u?"miss":"hit",u||(r.value=a)),!u)return a;let f=n(e,a,{options:l,context:i});return r&&(r.value=f),this.#E(e,f,l),f}get(e,t={}){let{status:n=A.hasSubscribers?{}:void 0}=t;t.status=n,n&&(n.op="get",n.key=e,n.cache=this);let i=this.#$(e,t);return n&&(i!==void 0&&(n.value=i),A.hasSubscribers&&A.publish(n)),i}#$(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:o}=t,l=this.#s.get(e);if(l===void 0){o&&(o.get="miss");return}let a=this.#e[l],u=this.#i(a);return o&&this.#x(o,l),this.#L(l)?u?(o&&(o.get="stale-fetching"),n&&a.__staleWhileFetching!==void 0?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(r||this.#w(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=u?"fetching":"hit"),this.#B(l),i&&this.#F(l),u?a.__staleWhileFetching:a)}#Y(e,t){this.#f[t]=e,this.#u[e]=t}#B(e){e!==this.#a&&(e===this.#h?this.#h=this.#u[e]:this.#Y(this.#f[e],this.#u[e]),this.#Y(this.#a,e),this.#a=e)}delete(e){return this.#w(e,"delete")}#w(e,t){A.hasSubscribers&&A.publish({op:"delete",delete:t,key:e,cache:this});let n=!1;if(this.#o!==0){let i=this.#s.get(e);if(i!==void 0)if(this.#m?.[i]&&(clearTimeout(this.#m[i]),this.#m[i]=void 0),n=!0,this.#o===1)this.#q(t);else{this.#G(i);let r=this.#e[i];if(this.#i(r)?r.__abortController.abort(new Error("deleted")):(this.#b||this.#p)&&(this.#b&&this.#t?.(r,e,t),this.#p&&this.#l?.push([r,e,t])),this.#s.delete(e),this.#r[i]=void 0,this.#e[i]=void 0,i===this.#a)this.#a=this.#f[i];else if(i===this.#h)this.#h=this.#u[i];else{let o=this.#f[i];this.#u[o]=this.#u[i];let l=this.#u[i];this.#f[l]=this.#f[i]}this.#o--,this.#C.push(i)}}if(this.#p&&this.#l?.length){let i=this.#l,r;for(;r=i?.shift();)this.#g?.(...r)}return n}clear(){return this.#q("delete")}#q(e){for(let t of this.#A({allowStale:!0})){let n=this.#e[t];if(this.#i(n))n.__abortController.abort(new Error("deleted"));else{let i=this.#r[t];this.#b&&this.#t?.(n,i,e),this.#p&&this.#l?.push([n,i,e])}}if(this.#s.clear(),this.#e.fill(void 0),this.#r.fill(void 0),this.#d&&this.#y){this.#d.fill(0),this.#y.fill(0);for(let t of this.#m??[])t!==void 0&&clearTimeout(t);this.#m?.fill(void 0)}if(this.#P&&this.#P.fill(0),this.#h=0,this.#a=0,this.#C.length=0,this.#v=0,this.#o=0,this.#p&&this.#l){let t=this.#l,n;for(;n=t?.shift();)this.#g?.(...n)}}};const zt=Object.defineProperty({__proto__:null,LRUCache:jt},Symbol.toStringTag,{value:"Module"}),Yt=ie(zt);var q,fe;function qt(){if(fe)return q;fe=1;const h=(...r)=>r.every(o=>o)?r.join(""):"",e=r=>r?encodeURIComponent(r):"",t=r=>r.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),n={sshtemplate:({domain:r,user:o,project:l,committish:a})=>`git@${r}:${o}/${l}.git${h("#",a)}`,sshurltemplate:({domain:r,user:o,project:l,committish:a})=>`git+ssh://git@${r}/${o}/${l}.git${h("#",a)}`,edittemplate:({domain:r,user:o,project:l,committish:a,editpath:u,path:f})=>`https://${r}/${o}/${l}${h("/",u,"/",e(a||"HEAD"),"/",f)}`,browsetemplate:({domain:r,user:o,project:l,committish:a,treepath:u})=>`https://${r}/${o}/${l}${h("/",u,"/",e(a))}`,browsetreetemplate:({domain:r,user:o,project:l,committish:a,treepath:u,path:f,fragment:S,hashformat:b})=>`https://${r}/${o}/${l}/${u}/${e(a||"HEAD")}/${f}${h("#",b(S||""))}`,browseblobtemplate:({domain:r,user:o,project:l,committish:a,blobpath:u,path:f,fragment:S,hashformat:b})=>`https://${r}/${o}/${l}/${u}/${e(a||"HEAD")}/${f}${h("#",b(S||""))}`,docstemplate:({domain:r,user:o,project:l,treepath:a,committish:u})=>`https://${r}/${o}/${l}${h("/",a,"/",e(u))}#readme`,httpstemplate:({auth:r,domain:o,user:l,project:a,committish:u})=>`git+https://${h(r,"@")}${o}/${l}/${a}.git${h("#",u)}`,filetemplate:({domain:r,user:o,project:l,committish:a,path:u})=>`https://${r}/${o}/${l}/raw/${e(a||"HEAD")}/${u}`,shortcuttemplate:({type:r,user:o,project:l,committish:a})=>`${r}:${o}/${l}${h("#",a)}`,pathtemplate:({user:r,project:o,committish:l})=>`${r}/${o}${h("#",l)}`,bugstemplate:({domain:r,user:o,project:l})=>`https://${r}/${o}/${l}/issues`,hashformat:t},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:r,user:o,project:l,committish:a,path:u})=>`https://${h(r,"@")}raw.githubusercontent.com/${o}/${l}/${e(a||"HEAD")}/${u}`,gittemplate:({auth:r,domain:o,user:l,project:a,committish:u})=>`git://${h(r,"@")}${o}/${l}/${a}.git${h("#",u)}`,tarballtemplate:({domain:r,user:o,project:l,committish:a})=>`https://codeload.${r}/${o}/${l}/tar.gz/${e(a||"HEAD")}`,extract:r=>{let[,o,l,a,u]=r.pathname.split("/",5);if(!(a&&a!=="tree")&&(a||(u=r.hash.slice(1)),l&&l.endsWith(".git")&&(l=l.slice(0,-4)),!(!o||!l)))return{user:o,project:l,committish:u}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:r,user:o,project:l,committish:a,treepath:u,path:f,editpath:S})=>`https://${r}/${o}/${l}${h("/",u,"/",e(a||"HEAD"),"/",f,S)}`,tarballtemplate:({domain:r,user:o,project:l,committish:a})=>`https://${r}/${o}/${l}/get/${e(a||"HEAD")}.tar.gz`,extract:r=>{let[,o,l,a]=r.pathname.split("/",4);if(!["get"].includes(a)&&(l&&l.endsWith(".git")&&(l=l.slice(0,-4)),!(!o||!l)))return{user:o,project:l,committish:r.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:r,user:o,project:l,committish:a})=>`https://${r}/api/v4/projects/${e(o+"/"+l)}/repository/archive.tar.gz?sha=${e(a||"HEAD")}`,extract:r=>{const o=r.pathname.slice(1);if(o.includes("/-/")||o.includes("/archive.tar.gz"))return;const l=o.split("/");let a=l.pop();a.endsWith(".git")&&(a=a.slice(0,-4));const u=l.join("/");if(!(!u||!a))return{user:u,project:a,committish:r.hash.slice(1)}}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:r,project:o,committish:l})=>`git@${r}:${o}.git${h("#",l)}`,sshurltemplate:({domain:r,project:o,committish:l})=>`git+ssh://git@${r}/${o}.git${h("#",l)}`,edittemplate:({domain:r,user:o,project:l,committish:a,editpath:u})=>`https://${r}/${o}/${l}${h("/",e(a))}/${u}`,browsetemplate:({domain:r,project:o,committish:l})=>`https://${r}/${o}${h("/",e(l))}`,browsetreetemplate:({domain:r,project:o,committish:l,path:a,hashformat:u})=>`https://${r}/${o}${h("/",e(l))}${h("#",u(a))}`,browseblobtemplate:({domain:r,project:o,committish:l,path:a,hashformat:u})=>`https://${r}/${o}${h("/",e(l))}${h("#",u(a))}`,docstemplate:({domain:r,project:o,committish:l})=>`https://${r}/${o}${h("/",e(l))}`,httpstemplate:({domain:r,project:o,committish:l})=>`git+https://${r}/${o}.git${h("#",l)}`,filetemplate:({user:r,project:o,committish:l,path:a})=>`https://gist.githubusercontent.com/${r}/${o}/raw${h("/",e(l))}/${a}`,shortcuttemplate:({type:r,project:o,committish:l})=>`${r}:${o}${h("#",l)}`,pathtemplate:({project:r,committish:o})=>`${r}${h("#",o)}`,bugstemplate:({domain:r,project:o})=>`https://${r}/${o}`,gittemplate:({domain:r,project:o,committish:l})=>`git://${r}/${o}.git${h("#",l)}`,tarballtemplate:({project:r,committish:o})=>`https://codeload.github.com/gist/${r}/tar.gz/${e(o||"HEAD")}`,extract:r=>{let[,o,l,a]=r.pathname.split("/",4);if(a!=="raw"){if(!l){if(!o)return;l=o,o=null}return l.endsWith(".git")&&(l=l.slice(0,-4)),{user:o,project:l,committish:r.hash.slice(1)}}},hashformat:function(r){return r&&"file-"+t(r)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:r,user:o,project:l,committish:a,path:u})=>`https://${r}/${o}/${l}/blob/${e(a)||"HEAD"}/${u}`,httpstemplate:({domain:r,user:o,project:l,committish:a})=>`https://${r}/${o}/${l}${h("#",a)}`,tarballtemplate:({domain:r,user:o,project:l,committish:a})=>`https://${r}/${o}/${l}/archive/${e(a)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:r=>{let[,o,l,a]=r.pathname.split("/",4);if(!["archive"].includes(a)&&(l&&l.endsWith(".git")&&(l=l.slice(0,-4)),!(!o||!l)))return{user:o,project:l,committish:r.hash.slice(1)}}};for(const[r,o]of Object.entries(i))i[r]=Object.assign({},n,o);return q=i,q}var V,de;function Fe(){if(de)return V;de=1;const h=(i,r,o)=>{const l=i.indexOf(o);return i.lastIndexOf(r,l>-1?l:1/0)},e=i=>{try{return new URL(i)}catch{}},t=(i,r)=>{const o=i.indexOf(":"),l=i.slice(0,o+1);if(Object.prototype.hasOwnProperty.call(r,l)||i.substr(o,3)==="://")return i;const a=i.indexOf("@");return a>-1?a>o?`git+ssh://${i}`:i:`${i.slice(0,o+1)}//${i.slice(o+1)}`},n=i=>{const r=h(i,"@","#"),o=h(i,":","#");return o>r&&(i=i.slice(0,o)+"/"+i.slice(o+1)),h(i,":","#")===-1&&i.indexOf("//")===-1&&(i=`git+ssh://${i}`),i};return V=(i,r)=>{const o=r?t(i,r):i;return e(o)||e(n(o))},V}var K,me;function Vt(){if(me)return K;me=1;const h=Fe(),e=t=>{const n=t.indexOf("#"),i=t.indexOf("/"),r=t.indexOf("/",i+1),o=t.indexOf(":"),l=/\s/.exec(t),a=t.indexOf("@"),u=!l||n>-1&&l.index>n,f=a===-1||n>-1&&a>n,S=o===-1||n>-1&&o>n,b=r===-1||n>-1&&r>n,v=i>0,C=n>-1?t[n-1]!=="/":!t.endsWith("/"),m=!t.startsWith(".");return u&&v&&C&&m&&f&&S&&b};return K=(t,n,{gitHosts:i,protocols:r})=>{if(!t)return;const o=e(t)?`github:${t}`:t,l=h(o,r);if(!l)return;const a=i.byShortcut[l.protocol],u=i.byDomain[l.hostname.startsWith("www.")?l.hostname.slice(4):l.hostname],f=a||u;if(!f)return;const S=i[a||u];let b=null;r[l.protocol]?.auth&&(l.username||l.password)&&(b=`${l.username}${l.password?":"+l.password:""}`);let v=null,C=null,m=null,g=null;try{if(a){let c=l.pathname.startsWith("/")?l.pathname.slice(1):l.pathname;const L=c.indexOf("@");L>-1&&(c=c.slice(L+1));const y=c.lastIndexOf("/");y>-1?(C=decodeURIComponent(c.slice(0,y)),C||(C=null),m=decodeURIComponent(c.slice(y+1))):m=decodeURIComponent(c),m.endsWith(".git")&&(m=m.slice(0,-4)),l.hash&&(v=decodeURIComponent(l.hash.slice(1))),g="shortcut"}else{if(!S.protocols.includes(l.protocol))return;const c=S.extract(l);if(!c)return;C=c.user&&decodeURIComponent(c.user),m=decodeURIComponent(c.project),v=decodeURIComponent(c.committish),g=r[l.protocol]?.name||l.protocol.slice(0,-1)}}catch(c){if(c instanceof URIError)return;throw c}return[f,C,b,m,v,g,n]},K}var J,Le;function Kt(){if(Le)return J;Le=1;const{LRUCache:h}=Yt,e=qt(),t=Vt(),n=Fe(),i=new h({max:1e3});function r(l){try{const{protocol:a,hostname:u,pathname:f}=new URL(l);if(!u)return null;const S=/(?:git\+)http:$/.test(a)?"http:":"https:",b=f.replace(/\.git$/,"");return`${S}//${u}${b}`}catch{return null}}class o{constructor(a,u,f,S,b,v,C={}){Object.assign(this,o.#n[a],{type:a,user:u,auth:f,project:S,committish:b,default:v,opts:C})}static#n={byShortcut:{},byDomain:{}};static#c={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(a,u){o.#n[a]=u,o.#n.byDomain[u.domain]=a,o.#n.byShortcut[`${a}:`]=a,o.#c[`${a}:`]={name:a}}static fromUrl(a,u){if(typeof a!="string")return;const f=a+JSON.stringify(u||{});if(!i.has(f)){const S=t(a,u,{gitHosts:o.#n,protocols:o.#c});i.set(f,S?new o(...S):void 0)}return i.get(f)}static fromManifest(a,u={}){if(!a||typeof a!="object")return;const f=a.repository,S=f&&(typeof f=="string"?f:typeof f=="object"&&typeof f.url=="string"?f.url:null);if(!S)throw new Error("no repository");const b=S&&o.fromUrl(S.replace(/^git\+/,""),u)||null;if(b)return b;const v=r(S);return o.fromUrl(v,u)||v}static parseUrl(a){return n(a)}#t(a,u){if(typeof a!="function")return null;const f={...this,...this.opts,...u};f.path||(f.path=""),f.path.startsWith("/")&&(f.path=f.path.slice(1)),f.noCommittish&&(f.committish=null);const S=a(f);return f.noGitPlus&&S.startsWith("git+")?S.slice(4):S}hash(){return this.committish?`#${this.committish}`:""}ssh(a){return this.#t(this.sshtemplate,a)}sshurl(a){return this.#t(this.sshurltemplate,a)}browse(a,...u){return typeof a!="string"?this.#t(this.browsetemplate,a):typeof u[0]!="string"?this.#t(this.browsetreetemplate,{...u[0],path:a}):this.#t(this.browsetreetemplate,{...u[1],fragment:u[0],path:a})}browseFile(a,...u){return typeof u[0]!="string"?this.#t(this.browseblobtemplate,{...u[0],path:a}):this.#t(this.browseblobtemplate,{...u[1],fragment:u[0],path:a})}docs(a){return this.#t(this.docstemplate,a)}bugs(a){return this.#t(this.bugstemplate,a)}https(a){return this.#t(this.httpstemplate,a)}git(a){return this.#t(this.gittemplate,a)}shortcut(a){return this.#t(this.shortcuttemplate,a)}path(a){return this.#t(this.pathtemplate,a)}tarball(a){return this.#t(this.tarballtemplate,{...a,noCommittish:!1})}file(a,u){return this.#t(this.filetemplate,{...u,path:a})}edit(a,u){return this.#t(this.edittemplate,{...u,path:a})}getDefaultRepresentation(){return this.default}toString(a){return this.default&&typeof this[this.default]=="function"?this[this.default](a):this.sshurl(a)}}for(const[l,a]of Object.entries(e))o.addHost(l,a);return J=o,J}var X,ge;function Jt(){if(ge)return X;ge=1,X=h;function h(e){if(!e||e==="ERROR: No README data found!")return;e=e.trim().split(`
2
+ `);let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let i=t+1;for(;i<n&&e[i].trim();)i++;return e.slice(t,i).join(" ").trim()}return X}var Ge={dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},$e={web:"url",name:"url"},Be={server:"start",tests:"test"};const Xt={topLevel:Ge,bugs:$e,script:Be},Zt=Object.defineProperty({__proto__:null,bugs:$e,default:Xt,script:Be,topLevel:Ge},Symbol.toStringTag,{value:"Module"}),Qt=ie(Zt);var Z,Se;function ei(){if(Se)return Z;Se=1;var{URL:h}=Pe,e=bt(),t=Dt(),n=Mt(),i=Kt(),{isBuiltin:r}=ye,o=["dependencies","devDependencies","optionalDependencies"],l=Jt(),a=Qt,u=s=>s.includes("@")&&s.indexOf("@")<s.lastIndexOf(".");Z={warn:function(){},fixRepositoryField:function(s){if(s.repositories&&(this.warn("repositories"),s.repository=s.repositories[0]),!s.repository)return this.warn("missingRepository");typeof s.repository=="string"&&(s.repository={type:"git",url:s.repository});var p=s.repository.url||"";if(p){var d=i.fromUrl(p);d&&(p=s.repository.url=d.getDefaultRepresentation()==="shortcut"?d.https():d.toString())}p.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",p)},fixTypos:function(s){Object.keys(a.topLevel).forEach(function(p){Object.prototype.hasOwnProperty.call(s,p)&&this.warn("typo",p,a.topLevel[p])},this)},fixScriptsField:function(s){if(s.scripts){if(typeof s.scripts!="object"){this.warn("nonObjectScripts"),delete s.scripts;return}Object.keys(s.scripts).forEach(function(p){typeof s.scripts[p]!="string"?(this.warn("nonStringScript"),delete s.scripts[p]):a.script[p]&&!s.scripts[a.script[p]]&&this.warn("typo",p,a.script[p],"scripts")},this)}},fixFilesField:function(s){var p=s.files;p&&!Array.isArray(p)?(this.warn("nonArrayFiles"),delete s.files):s.files&&(s.files=s.files.filter(function(d){return!d||typeof d!="string"?(this.warn("invalidFilename",d),!1):!0},this))},fixBinField:function(s){if(s.bin&&typeof s.bin=="string"){var p={},d;(d=s.name.match(/^@[^/]+[/](.*)$/))?p[d[1]]=s.bin:p[s.name]=s.bin,s.bin=p}},fixManField:function(s){s.man&&typeof s.man=="string"&&(s.man=[s.man])},fixBundleDependenciesField:function(s){var p="bundledDependencies",d="bundleDependencies";s[p]&&!s[d]&&(s[d]=s[p],delete s[p]),s[d]&&!Array.isArray(s[d])?(this.warn("nonArrayBundleDependencies"),delete s[d]):s[d]&&(s[d]=s[d].filter(function(P){return!P||typeof P!="string"?(this.warn("nonStringBundleDependency",P),!1):(s.dependencies||(s.dependencies={}),Object.prototype.hasOwnProperty.call(s.dependencies,P)||(this.warn("nonDependencyBundleDependency",P),s.dependencies[P]="*"),!0)},this))},fixDependencies:function(s){L(s,this.warn),g(s,this.warn),this.fixBundleDependenciesField(s),["dependencies","devDependencies"].forEach(function(p){if(p in s){if(!s[p]||typeof s[p]!="object"){this.warn("nonObjectDependencies",p),delete s[p];return}Object.keys(s[p]).forEach(function(d){var P=s[p][d];typeof P!="string"&&(this.warn("nonStringDependency",d,JSON.stringify(P)),delete s[p][d]);var D=i.fromUrl(s[p][d]);D&&(s[p][d]=D.toString())},this)}},this)},fixModulesField:function(s){s.modules&&(this.warn("deprecatedModules"),delete s.modules)},fixKeywordsField:function(s){typeof s.keywords=="string"&&(s.keywords=s.keywords.split(/,\s+/)),s.keywords&&!Array.isArray(s.keywords)?(delete s.keywords,this.warn("nonArrayKeywords")):s.keywords&&(s.keywords=s.keywords.filter(function(p){return typeof p!="string"||!p?(this.warn("nonStringKeyword"),!1):!0},this))},fixVersionField:function(s,p){var d=!p;if(!s.version)return s.version="",!0;if(!e(s.version,d))throw new Error('Invalid version: "'+s.version+'"');return s.version=t(s.version,d),!0},fixPeople:function(s){v(s,C),v(s,m)},fixNameField:function(s,p){typeof p=="boolean"?p={strict:p}:typeof p>"u"&&(p={});var d=p.strict;if(!s.name&&!d){s.name="";return}if(typeof s.name!="string")throw new Error("name field must be a string.");d||(s.name=s.name.trim()),b(s.name,d,p.allowLegacyCase),r(s.name)&&this.warn("conflictingName",s.name)},fixDescriptionField:function(s){s.description&&typeof s.description!="string"&&(this.warn("nonStringDescription"),delete s.description),s.readme&&!s.description&&(s.description=l(s.readme)),s.description===void 0&&delete s.description,s.description||this.warn("missingDescription")},fixReadmeField:function(s){s.readme||(this.warn("missingReadme"),s.readme="ERROR: No README data found!")},fixBugsField:function(s){if(!s.bugs&&s.repository&&s.repository.url){var p=i.fromUrl(s.repository.url);p&&p.bugs()&&(s.bugs={url:p.bugs()})}else if(s.bugs){if(typeof s.bugs=="string")u(s.bugs)?s.bugs={email:s.bugs}:h.canParse(s.bugs)?s.bugs={url:s.bugs}:this.warn("nonEmailUrlBugsString");else{y(s.bugs,this.warn);var d=s.bugs;s.bugs={},d.url&&(h.canParse(d.url)?s.bugs.url=d.url:this.warn("nonUrlBugsUrlField")),d.email&&(typeof d.email=="string"&&u(d.email)?s.bugs.email=d.email:this.warn("nonEmailBugsEmailField"))}!s.bugs.email&&!s.bugs.url&&(delete s.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(s){if(!s.homepage&&s.repository&&s.repository.url){var p=i.fromUrl(s.repository.url);p&&p.docs()&&(s.homepage=p.docs())}if(s.homepage){if(typeof s.homepage!="string")return this.warn("nonUrlHomepage"),delete s.homepage;h.canParse(s.homepage)||(s.homepage="http://"+s.homepage)}},fixLicenseField:function(s){const p=s.license||s.licence;if(!p)return this.warn("missingLicense");if(typeof p!="string"||p.length<1||p.trim()==="")return this.warn("invalidLicense");if(!n(p).validForNewPackages)return this.warn("invalidLicense")}};function f(s){if(s.charAt(0)!=="@")return!1;var p=s.slice(1).split("/");return p.length!==2?!1:p[0]&&p[1]&&p[0]===encodeURIComponent(p[0])&&p[1]===encodeURIComponent(p[1])}function S(s){return!s.match(/[/@\s+%:]/)&&s===encodeURIComponent(s)}function b(s,p,d){if(s.charAt(0)==="."||!(f(s)||S(s))||p&&!d&&s!==s.toLowerCase()||s.toLowerCase()==="node_modules"||s.toLowerCase()==="favicon.ico")throw new Error("Invalid name: "+JSON.stringify(s))}function v(s,p){return s.author&&(s.author=p(s.author)),["maintainers","contributors"].forEach(function(d){Array.isArray(s[d])&&(s[d]=s[d].map(p))}),s}function C(s){if(typeof s=="string")return s;var p=s.name||"",d=s.url||s.web,P=d?" ("+d+")":"",D=s.email||s.mail,w=D?" <"+D+">":"";return p+w+P}function m(s){if(typeof s!="string")return s;var p=s.match(/^([^(<]+)/),d=s.match(/\(([^()]+)\)/),P=s.match(/<([^<>]+)>/),D={};return p&&p[0].trim()&&(D.name=p[0].trim()),P&&(D.email=P[1]),d&&(D.url=d[1]),D}function g(s){var p=s.optionalDependencies;if(p){var d=s.dependencies||{};Object.keys(p).forEach(function(P){d[P]=p[P]}),s.dependencies=d}}function c(s,p,d){if(!s)return{};if(typeof s=="string"&&(s=s.trim().split(/[\n\r\s\t ,]+/)),!Array.isArray(s))return s;d("deprecatedArrayDependencies",p);var P={};return s.filter(function(D){return typeof D=="string"}).forEach(function(D){D=D.trim().split(/(:?[@\s><=])/);var w=D.shift(),x=D.join("");x=x.trim(),x=x.replace(/^@/,""),P[w]=x}),P}function L(s,p){o.forEach(function(d){s[d]&&(s[d]=c(s[d],d,p))})}function y(s,p){s&&Object.keys(s).forEach(function(d){a.bugs[d]&&(p("typo",d,a.bugs[d],"bugs"),s[a.bugs[d]]=s[d],delete s[d])})}return Z}var Te="'repositories' (plural) Not supported. Please pick one as the 'repository' field",Re="No repository field.",Ie="Probably broken git url: %s",Ue="scripts must be an object",Me="script values must be string commands",ke="Invalid 'files' member",_e="Invalid filename in 'files' list: %s",We="Invalid 'bundleDependencies' list. Must be array of package names",He="Invalid bundleDependencies member: %s",je="Non-dependency in bundleDependencies: %s",ze="%s field must be an object",Ye="Invalid dependency: %s %s",qe="specifying %s as array is deprecated",Ve="modules field is deprecated",Ke="keywords should be an array of strings",Je="keywords should be an array of strings",Xe="%s is also the name of a node core module.",Ze="'description' field should be a string",Qe="No description",et="No README data",tt="No license field.",it="Bug string field must be url, email, or {email,url}",rt="bugs.url field must be a string url. Deleted.",nt="bugs.email field must be a string email. Deleted.",st="Normalized value of bugs field is an empty object. Deleted.",ot="homepage field must be a string url. Deleted.",at="license should be a valid SPDX license expression",lt="%s should probably be %s.";const ti={repositories:Te,missingRepository:Re,brokenGitUrl:Ie,nonObjectScripts:Ue,nonStringScript:Me,nonArrayFiles:ke,invalidFilename:_e,nonArrayBundleDependencies:We,nonStringBundleDependency:He,nonDependencyBundleDependency:je,nonObjectDependencies:ze,nonStringDependency:Ye,deprecatedArrayDependencies:qe,deprecatedModules:Ve,nonArrayKeywords:Ke,nonStringKeyword:Je,conflictingName:Xe,nonStringDescription:Ze,missingDescription:Qe,missingReadme:et,missingLicense:tt,nonEmailUrlBugsString:it,nonUrlBugsUrlField:rt,nonEmailBugsEmailField:nt,emptyNormalizedBugs:st,nonUrlHomepage:ot,invalidLicense:at,typo:lt},ii=Object.defineProperty({__proto__:null,brokenGitUrl:Ie,conflictingName:Xe,default:ti,deprecatedArrayDependencies:qe,deprecatedModules:Ve,emptyNormalizedBugs:st,invalidFilename:_e,invalidLicense:at,missingDescription:Qe,missingLicense:tt,missingReadme:et,missingRepository:Re,nonArrayBundleDependencies:We,nonArrayFiles:ke,nonArrayKeywords:Ke,nonDependencyBundleDependency:je,nonEmailBugsEmailField:nt,nonEmailUrlBugsString:it,nonObjectDependencies:ze,nonObjectScripts:Ue,nonStringBundleDependency:He,nonStringDependency:Ye,nonStringDescription:Ze,nonStringKeyword:Je,nonStringScript:Me,nonUrlBugsUrlField:rt,nonUrlHomepage:ot,repositories:Te,typo:lt},Symbol.toStringTag,{value:"Module"}),ri=ie(ii);var Q,ve;function ni(){if(ve)return Q;ve=1;var h=At,e=ri;Q=function(){var n=Array.prototype.slice.call(arguments,0),i=n.shift();if(i==="typo")return t.apply(null,n);var r=e[i]?e[i]:i+": '%s'";return n.unshift(r),h.format.apply(null,n)};function t(n,i,r){return r&&(n=r+"['"+n+"']",i=r+"['"+i+"']"),h.format(e.typo,n,i)}return Q}var ee,Ce;function si(){if(Ce)return ee;Ce=1,ee=r;var h=ei();r.fixer=h;var e=ni(),t=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"],n=["dependencies","people","typos"],i=t.map(function(l){return o(l)+"Field"});i=i.concat(n);function r(l,a,u){a===!0&&(a=null,u=!0),u||(u=!1),(!a||l.private)&&(a=function(){}),l.scripts&&l.scripts.install==="node-gyp rebuild"&&!l.scripts.preinstall&&(l.gypfile=!0),h.warn=function(){a(e.apply(null,arguments))},i.forEach(function(f){h["fix"+o(f)](l,u)}),l._id=l.name+"@"+l.version}function o(l){return l.charAt(0).toUpperCase()+l.slice(1)}return ee}var oi=si();const ai=yt(oi),li=(h,e,t)=>{const n=te(h),i=te(e),r=i===n?".":vt(n,i);return t.some(o=>{const l=o.startsWith("./")?o.slice(2):o,a=r.startsWith("./")?r.slice(2):r;if(l==="."&&a===".")return!0;if(l.endsWith("/**")){const u=l.slice(0,-3);return a===u||a.startsWith(`${u}/`)}if(l.endsWith("/*")){const u=l.slice(0,-2);return u===""?a!=="."&&!a.includes("/"):a.startsWith(`${u}/`)||a===u}return a===l||a.startsWith(`${l}/`)})},ci=h=>{const e=be("pnpm-workspace.yaml",{cwd:te(h),type:"file"});if(!e)return;const t=De(R(e)),n=Array.isArray(t.packages)?t.packages:[];if(!li(e,h,n))return;const i={};return t.catalog&&typeof t.catalog=="object"&&(i.catalog=t.catalog),t.catalogs&&typeof t.catalogs=="object"&&(i.catalogs=t.catalogs),Object.keys(i).length>0?i:void 0},hi=(h,e,t)=>{if(e==="catalog:")return t.catalog?.[h];if(e.startsWith("catalog:")){const n=e.slice(8);return t.catalogs?.[n]?.[h]}},ui=(h,e)=>{for(const[t,n]of Object.entries(h)){if(typeof n!="string")continue;const i=hi(t,n,e);i&&(h[t]=i)}},pi=(h,e)=>{const t=["dependencies","devDependencies","peerDependencies","optionalDependencies"];for(const n of t){if(!h[n]||typeof h[n]!="object")continue;const i=h[n];ui(i,e)}};let fi;const di=h=>(fi??=dt(import.meta.url))(h),G=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,re=h=>{if(typeof G<"u"&&G.versions&&G.versions.node){const[e,t]=G.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return G.getBuiltinModule(h)}return di(h)},{existsSync:zi}=re("node:fs"),{createInterface:Yi}=re("node:readline"),{styleText:qi}=re("node:util"),mi=new Set(["__proto__","prototype","constructor"]);Math.max(...[...mi].map(h=>h.length));typeof process.stdout<"u"&&globalThis.window;const Li=/, ([^,]*)$/,gi=new Map,Si=(h,e={})=>{const t=e.strict&&e.ignoreWarnings?e.ignoreWarnings.map(String).toSorted((n,i)=>n.localeCompare(i)).join(","):"";return`${h}|s${String(e.strict?1:0)}|c${String(e.resolveCatalogs?1:0)}|j${String(e.json5===!1?0:1)}|y${String(e.yaml===!1?0:1)}|w${t}`};class vi extends Error{constructor(e){super(`The following warnings were encountered while normalizing package data:
3
+ - ${e.join(`
4
+ - `)}`),this.name="PackageJsonValidationError"}}const Ci=(h,e,t=[])=>{const n=[];if(ai(h,i=>{n.push(i)},e),e&&n.length>0){const i=n.filter(r=>!t.some(o=>o instanceof RegExp?o.test(r):o===r));if(i.length>0)throw new vi(i)}return h},Pi=h=>{const e=R(h);return De(e)},yi=h=>{const e=R(h);return Pt.parse(e)},bi=(h,e)=>e?.yaml!==!1&&(h.endsWith(".yaml")||h.endsWith(".yml"))?Pi(h):e?.json5!==!1&&h.endsWith(".json5")?yi(h):$t(h),Di=(h,e={})=>{const t={type:"file"};h&&(t.cwd=h);const n=["package.json"];e.yaml!==!1&&n.push("package.yaml","package.yml"),e.json5!==!1&&n.push("package.json5");const i=be(n,t);if(!i)throw new Ct(`No such file or directory, for ${n.join(", ").replace(Li," or $1")} found.`);const r=e.cache&&typeof e.cache!="boolean"?e.cache:gi,o=Si(i,e);if(e.cache&&r.has(o))return r.get(o);const l=bi(i,e);if(e.resolveCatalogs){const u=ci(i);u&&pi(l,u)}Ci(l,e.strict??!1,e.ignoreWarnings);const a={packageJson:l,path:i};return e.cache&&r.set(o,a),a};var Ai="6.1.3";const wi={version:Ai},xi=wi.version,Ei="@visulima/vis";let E;const Vi=()=>{if(E!==void 0)return E;const h=process.env.VIS_VERSION;if(h)return E=h,E;try{const{packageJson:e}=Di(pt(ft(import.meta.url)),{json5:!1,yaml:!1});if(e.name===Ei&&typeof e.version=="string")return E=e.version,E}catch{}return E=xi,E};export{Gt as N,Hi as P,Ui as a,ki as b,Ti as c,_i as d,Vi as g,Mi as i,Ri as n,$t as p,Bi as r,Ii as t,Wi as u};
@@ -0,0 +1 @@
1
+ import{createRequire as b}from"node:module";import{e as p}from"./index-0dnGN3GP.js";import{s as j}from"./index-B4AjSxHU.js";import{h as S,g as U}from"./env-BymuoTL8.js";import{y as E}from"./isAccessibleSync-DYKTrrvc-CBsMZhj-.js";import{p as R}from"./package-version-x7sPg2TM.js";let _;const T=t=>(_??=b(import.meta.url))(t),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,k=t=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[e,s]=d.versions.node.split(".").map(Number);if(e>22||e===22&&s>=3||e===20&&s>=16)return d.getBuiltinModule(t)}return T(t)},{rmSync:u,writeFileSync:C}=k("node:fs"),g=3,F=1800*1e3,A=15e3,v=()=>p(U(),"packuments"),y=t=>p(v(),`${encodeURIComponent(t)}.json`),M=t=>{const e=y(t);if(E(e))try{const s=R(e);if(s.cacheVersion!==g){u(e,{force:!0});return}if(Date.now()-s.createdAt>s.ttlMs){u(e,{force:!0});return}return s.packument}catch{u(e,{force:!0});return}},w=(t,e,s)=>{S(v());const o={cacheVersion:g,createdAt:Date.now(),packument:e,ttlMs:s};C(y(t),JSON.stringify(o),"utf8")},P=t=>{const e={},s=t.versions??{};for(const[a,r]of Object.entries(s)){const i=r.dist,n={version:a};if(r._npmUser!==void 0&&(n._npmUser=r._npmUser),r.maintainers!==void 0&&(n.maintainers=r.maintainers),r.bin!==void 0&&(n.bin=r.bin),i!==void 0){const c={};i.signatures!==void 0&&(c.signatures=i.signatures),i.attestations!==void 0&&(c.attestations=i.attestations),typeof i.integrity=="string"&&(c.integrity=i.integrity),typeof i.tarball=="string"&&(c.tarball=i.tarball),typeof i.unpackedSize=="number"&&Number.isFinite(i.unpackedSize)&&i.unpackedSize>=0&&(c.unpackedSize=i.unpackedSize),typeof i.fileCount=="number"&&Number.isInteger(i.fileCount)&&i.fileCount>=0&&(c.fileCount=i.fileCount),n.dist=c}r.repository!==void 0&&(n.repository=r.repository),r.license!==void 0&&(n.license=r.license),typeof r.readme=="string"&&(n.readme=r.readme),typeof r.readmeFilename=="string"&&(n.readmeFilename=r.readmeFilename),typeof r.private=="boolean"&&(n.private=r.private),typeof r.deprecated=="string"&&(n.deprecated=r.deprecated),r.scripts!==void 0&&typeof r.scripts=="object"&&(n.scripts=r.scripts),e[a]=n}const o={name:typeof t.name=="string"?t.name:"",versions:e};return t["dist-tags"]!==void 0&&(o["dist-tags"]=t["dist-tags"]),t.time!==void 0&&(o.time=t.time),typeof t.readme=="string"&&(o.readme=t.readme),o},D=t=>{const e={Accept:"application/json"};return t!==void 0&&t!==""&&(e.Authorization=`Bearer ${t}`),e},N=async(t,e)=>{if(e.registryUrl!==void 0)return{authToken:e.authToken,url:e.registryUrl};if(e.workspaceRoot!==void 0){const{getRegistryForPackage:s,loadNpmrc:o}=await import("../packem_chunks/catalog2.js"),a=o(e.workspaceRoot),{token:r,url:i}=s(t,a);return{authToken:e.authToken??r,url:i}}return{authToken:e.authToken,url:"https://registry.npmjs.org"}},I=async(t,e={})=>{const s=e.cacheTtlMs??F,o=M(t);if(o!==void 0)return o;if(e.offline)return;const a=await N(t,e),i=`${a.url.endsWith("/")?a.url.slice(0,-1):a.url}/${t.replace("/","%2f")}`,n=new AbortController,c=setTimeout(()=>{n.abort()},A),l=()=>{n.abort()};e.signal?.addEventListener("abort",l,{once:!0});try{const f=await fetch(i,{headers:D(a.authToken),signal:n.signal});if(f.status===404)return;if(!f.ok)throw new Error(`Registry returned ${String(f.status)} for ${t}`);const h=await f.json(),m=P(h);return w(t,m,s),m}finally{clearTimeout(c),e.signal?.removeEventListener("abort",l)}},x=(t,e)=>{const s=Object.keys(t.versions);if(s.length===0)return;if(e===void 0||e===""||e==="latest")return t["dist-tags"]?.latest??s.at(-1);const o=t["dist-tags"]?.[e];return o!==void 0?o:Object.hasOwn(t.versions,e)?e:j.maxSatisfying(s,e)??void 0};export{I as g,x as r};
@@ -1 +1 @@
1
- import{createRequire as U}from"node:module";import{e as y,m as O,b as D,z as Y}from"./index-BzhrR_iC.js";import{withEnhancedPath as z,collectNodeModulesBinDirs as G}from"@visulima/task-runner";import{s as $}from"./index-B4AjSxHU.js";import{detectPackageManager as H,resolveAdd as J,resolveRemove as V,whichBin as X,resolveUnlink as K,resolveInstall as Q,execPmCommandInteractive as Z,resolveDlx as ee,resolveExec as ne,resolveDedupe as re,resolveWhy as se,resolveLink as ie,resolvePmCommand as ae}from"#native";import{y as j}from"./isAccessibleSync-DYKTrrvc-C-_5cgwu.js";let W;const x=e=>(W??=U(import.meta.url))(e),k=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,q=e=>{if(typeof k<"u"&&k.versions&&k.versions.node){const[n,r]=k.versions.node.split(".").map(Number);if(n>22||n===22&&r>=3||n===20&&r>=16)return k.getBuiltinModule(e)}return x(e)},{spawn:F,spawnSync:E}=q("node:child_process"),d=(e,n,r,s)=>{for(const i of n)e.push("--filter",i);r&&e.push("--recursive"),s&&e.push("--workspace-root")},te=e=>{const n=[],r=[];return d(n,e.filter,e.recursive,e.workspaceRoot),e.silent&&n.push("--silent"),e.frozenLockfile&&n.push("--frozen-lockfile"),n.push("install"),e.dev&&n.push("--dev"),e.prod&&n.push("--prod"),e.force&&n.push("--force"),e.ignoreScripts&&n.push("--ignore-scripts"),e.lockfileOnly&&n.push("--lockfile-only"),e.noOptional&&n.push("--no-optional"),e.offline&&n.push("--offline"),{args:n,bin:"aube",warnings:r}},oe=e=>{const n=[],r=[];return d(n,e.filter,!1,!1),n.push("add"),e.saveDev&&n.push("--save-dev"),e.exact&&n.push("--save-exact"),e.global&&n.push("--global"),e.optional&&n.push("--save-optional"),e.peer&&n.push("--save-peer"),e.workspace&&r.push("aube has no flag for the `workspace:` protocol; it auto-detects local workspace members during add. Ignoring --workspace."),e.workspaceRoot&&n.push("--workspace"),n.push(...e.packages),{args:n,bin:"aube",warnings:r}},ue=e=>{const n=[];return d(n,e.filter,e.recursive,!1),n.push("remove"),e.saveDev&&n.push("--save-dev"),e.global&&n.push("--global"),e.workspaceRoot&&n.push("--workspace"),n.push(...e.packages),{args:n,bin:"aube",warnings:[]}},ce=e=>{const n=["dedupe"];return e&&n.push("--check"),{args:n,bin:"aube",warnings:[]}},le=e=>{const n=[],r=[];d(n,e.filter,e.recursive,!1),n.push("why"),e.dev&&n.push("--dev"),e.prod&&n.push("--prod"),e.json&&n.push("--json"),e.long&&n.push("--long"),e.parseable&&n.push("--parseable"),e.depth!==void 0&&r.push("aube why does not accept --depth; ignoring."),e.noOptional&&r.push("aube why does not accept --no-optional; ignoring."),e.global&&r.push("aube why does not accept --global; ignoring.");const[s,...i]=e.packages;return s===void 0?r.push("aube why requires a package name; none provided."):(i.length>0&&r.push("aube why takes a single package; using the first."),n.push(s)),{args:n,bin:"aube",warnings:r}},fe=e=>{const n=[];e.silent&&n.push("--silent"),n.push("dlx");for(const r of e.additionalPackages)n.push("--package",r);return e.shellMode&&n.push("--shell-mode"),n.push(e.package),n.push(...e.args),{args:n,bin:"aube",warnings:[]}},pe=e=>{const n=[];return d(n,e.filter,e.recursive,e.workspaceRoot),n.push("exec"),e.parallel&&n.push("--parallel"),e.reverse&&n.push("--reverse"),e.shellMode&&n.push("--shell-mode"),n.push(e.command),n.push(...e.args),{args:n,bin:"aube",warnings:[]}},he=e=>{const n=["link"];return e!==null&&n.push(e),{args:n,bin:"aube",warnings:[]}},de=(e,n)=>{const r=[],s=[];return n&&r.push("--recursive"),r.push("unlink"),e.length>1&&s.push("aube unlink takes a single package; using the first."),e.length>0&&r.push(e[0]),{args:r,bin:"aube",warnings:s}},ge=e=>{const n=["view","--",e.package],r=[],[s,...i]=e.fields;return s!==void 0?(i.length>0&&r.push("aube view only supports a single field; using the first."),e.json&&r.push("aube view does not support --json with a field selector; printing the field without --json."),n.push(s)):e.json&&n.push("--json"),{args:n,bin:"aube",warnings:r}},ze=e=>{const n=[],r=[];return d(n,e.filters,e.recursive,e.workspaceRoot),n.push("update"),e.dev&&n.push("--dev"),e.prod&&n.push("--prod"),e.global&&n.push("--global"),e.interactive&&n.push("--interactive"),e.latest&&n.push("--latest"),e.noOptional&&n.push("--no-optional"),e.noSave&&n.push("--no-save"),n.push(...e.packages),{args:n,bin:"aube",warnings:r}},be=new Set(["fund","ping","search","token"]),ke=(e,n)=>be.has(e)?{args:[e,...n],bin:"npm",warnings:[`'${e}' is not natively supported by aube. Delegating to npm.`]}:{args:[e,...n],bin:"aube",warnings:[]},w=256*1024,we=e=>{const n=e?{...process.env,...e}:{...process.env};return process.stderr.isTTY&&n.FORCE_COLOR===void 0&&n.NO_COLOR===void 0&&(n.FORCE_COLOR="1"),n},P=e=>e!==""&&!/[\s"&()<>^|%!]/u.test(e)?e:`"${e.replaceAll(/(\\*)"/gu,String.raw`$1$1\"`).replace(/(\\+)$/u,"$1$1").replaceAll(/[&()<>^|%!]/gu,String.raw`^$&`)}"`,ve=async(e,n,r)=>new Promise((s,i)=>{const a=process.platform==="win32",t=F(a?P(e):e,a?n.map(o=>P(o)):[...n],{cwd:r.cwd,env:we(r.env),shell:a,stdio:["inherit","pipe","pipe"],windowsHide:!0});let c=[],f=0;const p=o=>{if(c.push(o),f+=o.length,!(f<=w)){for(;c.length>1&&f-c[0].length>w;)f-=c.shift().length;if(c.length===1&&f>w){const h=c[0];c[0]=h.subarray(h.length-w),f=w}}},b=()=>Buffer.concat(c).toString("utf8");t.stdout?.on("data",o=>{process.stdout.write(o),p(o)}),t.stderr?.on("data",o=>{process.stderr.write(o),p(o)}),t.on("error",i),t.on("close",o=>{const h=b();c=[],s({code:o??1,output:h})})}),v=e=>{const n=$.coerce(e);return n?$.gte(n,"11.0.0"):!1},l=e=>e.name==="yarn"&&!e.version.startsWith("1."),R=e=>e.name==="yarn"&&e.version.startsWith("1."),ye=e=>e[0]==="rm"?["remove",...e.slice(1)]:e,me=(e,n,r)=>{switch(n){case"audit":return l(e)?{args:["npm","audit",...r],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"config":{if(l(e)){const[s,...i]=r;return s==="delete"?{args:["config","unset",...i],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."}:{kind:"passthrough"}}case"dist-tag":return R(e)?{args:["tag",...r],bin:"yarn",kind:"rewrite",warning:"yarn 1 has no `dist-tag`; using `yarn tag`."}:l(e)?{args:["npm","tag",...ye(r)],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{kind:"skip",warning:`${e.name} has no \`dist-tag\`. Use \`npm dist-tag\` instead.`}:{kind:"passthrough"};case"login":case"logout":return l(e)?{args:["npm",n,...r],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:[n,...r],bin:"npm",kind:"rewrite",warning:`bun has no \`${n}\`; falling back to \`npm ${n}\` (writes ~/.npmrc, which bun reads).`}:{kind:"passthrough"};case"owner":return e.name==="pnpm"&&v(e.version)?{args:["owner",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `owner`; falling back to `npm owner`."}:l(e)?{args:["owner",...r],bin:"npm",kind:"rewrite",warning:"yarn berry has no `owner` (not in `yarn npm`); falling back to `npm owner`."}:e.name==="bun"?{args:["owner",...r],bin:"npm",kind:"rewrite",warning:"bun has no `owner`; falling back to `npm owner`."}:{kind:"passthrough"};case"ping":return e.name==="pnpm"&&v(e.version)?{args:["ping",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `ping`; falling back to `npm ping`."}:{kind:"passthrough"};case"pkg":return e.name==="bun"?{args:["pm","pkg",...r],bin:"bun",kind:"rewrite"}:e.name==="yarn"?{args:["pkg",...r],bin:"npm",kind:"rewrite",warning:`${e.name} has no \`pkg\` command; falling back to \`npm pkg\`.`}:{kind:"passthrough"};case"plugin":return l(e)?{kind:"passthrough"}:{kind:"skip",warning:`${e.name} does not support yarn-style plugins. Skipping (no-op).`};case"prune":return R(e)?{kind:"skip",warning:"yarn 1 has no `prune`. Use `yarn install --production` for a prod-only tree."}:l(e)?{kind:"skip",warning:"yarn berry has no `prune`. Use `yarn workspaces focus --production` instead."}:e.name==="bun"?{kind:"skip",warning:`${e.name} has no \`prune\`. Pruning happens automatically on install.`}:{kind:"passthrough"};case"publish":return l(e)?{args:["npm","publish",...r],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"rebuild":return R(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."}:{kind:"passthrough"};case"search":return e.name==="pnpm"&&v(e.version)?{args:["search",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `search`; falling back to `npm search`."}:{kind:"passthrough"};case"token":return e.name==="pnpm"&&v(e.version)?{args:["token",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `token`; falling back to `npm token`."}:{kind:"passthrough"};case"whoami":return e.name==="pnpm"&&v(e.version)?{args:["whoami",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `whoami`; falling back to `npm whoami`."}:l(e)?{args:["npm","whoami",...r],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:["pm","whoami",...r],bin:"bun",kind:"rewrite"}:{kind:"passthrough"};default:return{kind:"passthrough"}}},A=e=>X(e)!==null,$e=e=>{const n=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["package-lock.json","npm"],["npm-shrinkwrap.json","npm"],["bun.lock","bun"],["bun.lockb","bun"]];let r=e;for(;;){for(const[i,a]of n)if(j(y(r,i)))return a;const s=O(r);if(s===r||D(r).root===r)return;r=s}},Ge=(e,n)=>{if(n.name!=="aube")return;const r=$e(e);if(r!==void 0)return`Resolved installer is aube but the workspace has a ${r} lockfile. Aube reads and writes ${r}'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.`},C=e=>{if(j(e))try{return JSON.parse(Y(e,{buffer:!1}))}catch{return}},je=e=>{let n=e;for(;;){const r=y(n,"package.json"),s=C(r);if(s&&typeof s.packageManager=="string"&&s.packageManager.length>0)return s.packageManager;const i=O(n);if(i===n||D(n).root===n)return;n=i}},I=new Set(["npm","pnpm","yarn"]),M=(e,n,r)=>r===!1||!I.has(n)||!A("corepack")?!1:r===!0?!0:je(e)!==void 0,He=(e,n)=>{const r=n.backend,s=process.env.VIS_INSTALLER,i=r??s??n.configBackend,a=n.configCorepack??"auto";if(i&&i!=="auto"){if(i==="aube"&&!A("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:i,useCorepack:M(e,i,a),version:"latest"}}if(A("aube"))return{name:"aube",useCorepack:!1,version:"latest"};const t=Re(e);return{...t,useCorepack:M(e,t.name,a)}},Re=e=>{if(!j(e))throw new Error(`Could not detect package manager in ${e}. Directory does not exist.`);const n=H(e);return{name:n.name,version:n.version||"latest"}},L=(e,n)=>n.useCorepack!==!0||!I.has(n.name)||e.bin==="corepack"||e.bin!==n.name?e:{...e,args:[n.name,...e.args],bin:"corepack"},Ae=(e,n,r)=>{if(r===void 0)return Z(e.bin,e.args,n);const s=E(e.bin,e.args,{cwd:n,env:{...process.env,...r},stdio:"inherit"});if(s.error)throw s.error;return s.status??1},u=(e,n,r,s,i={})=>{const a=L(n,e);for(const t of a.warnings)s.warn(`warning: ${t}`);return i.dry?(s.log(`[dry-run] ${a.bin} ${a.args.join(" ")}`),0):Ae(a,r,i.env)},g=(e,n,r,s,i={})=>u(e,n(),r,s,i),Oe=(e,n)=>n==="aube"?e:{...e,args:[...e.args,"--prefer-offline"]},De=(e,n,r)=>n!=="yarn"||r.startsWith("1.")||!e.args.includes("--immutable")||e.args.includes("--immutable-cache")?e:{...e,args:[...e.args,"--immutable-cache"]},N=(e,n,r)=>{let s=e.name==="aube"?te(n):Q(e.name,e.version,{...n,silent:n.silent||r.silent===!0});return r.preferOffline&&(s=Oe(s,e.name)),r.ciMode&&(s=De(s,e.name,e.version)),s},Je=(e,n,r,s,i={})=>{const a=N(e,n,i);return S(e,a,r,s,{dry:i.dry,env:i.env})},Ve=async(e,n,r,s,i={})=>{const a=L(N(e,n,i),e);for(const t of a.warnings)s.warn(`warning: ${t}`);return i.dry?(s.log(`[dry-run] ${a.bin} ${a.args.join(" ")}`),{code:0,output:""}):ve(a.bin,a.args,{cwd:r,env:i.env?{...process.env,...i.env}:process.env})},B=e=>({...e,args:[...e.args,"--silent"]}),Ce=(e,n)=>n==="yarn"||n==="aube"?null:{...e,args:[...e.args,"--dry-run"]},S=(e,n,r,s,i)=>{if(i.dry!==!0)return u(e,n,r,s,i);const a=Ce(n,e.name);return a===null?u(e,n,r,s,i):u(e,a,r,s,{env:i.env})},Se=e=>({...e,args:[...e.args,"--ignore-scripts"]}),_e=(e,n,r,s,i={})=>{let a=e.name==="aube"?oe(n):J(e.name,e.version,n);i.ignoreScripts&&(a=Se(a)),i.silent&&(a=B(a));const t=S(e,a,r,s,{dry:i.dry,env:i.env});return t===0&&i.autoInstallPeers&&Ie(e,n,r,s,i),t},Pe=e=>{if(e.startsWith("@")){const r=e.indexOf("/");if(r===-1)return e;const s=e.indexOf("@",r);return s===-1?e:e.slice(0,s)}const n=e.indexOf("@");return n===-1?e:e.slice(0,n)},Me=(e,n)=>{let r=e;for(;;){const s=y(r,"node_modules",n,"package.json"),i=C(s);if(i)return i;const a=O(r);if(a===r||D(r).root===r)return;r=a}},Ee=e=>{const n=C(y(e,"package.json")),r=new Set;if(!n)return r;for(const s of["dependencies","devDependencies","peerDependencies","optionalDependencies"]){const i=n[s];if(i)for(const a of Object.keys(i))r.add(a)}return r},Ie=(e,n,r,s,i)=>{const a=Ee(r),t=new Map;for(const p of n.packages){const b=Pe(p),o=Me(r,b);if(!o?.peerDependencies)continue;const h=o.peerDependenciesMeta??{};for(const[m,T]of Object.entries(o.peerDependencies))h[m]?.optional||a.has(m)||t.has(m)||t.set(m,T)}if(t.size===0)return;const c=[...t.entries()].map(([p,b])=>`${p}@${b}`);s.log(`auto-installing peer dependencies: ${c.join(", ")}`);const f={exact:!1,filter:n.filter,global:!1,optional:!1,packages:c,peer:!1,saveDev:n.saveDev,workspace:!1,workspaceRoot:n.workspaceRoot};_e(e,f,r,s,{ignoreScripts:i.ignoreScripts})},Xe=(e,n,r,s,i={})=>{let a=e.name==="aube"?ue(n):V(e.name,e.version,n);return i.silent&&(a=B(a)),S(e,a,r,s,{dry:i.dry,env:i.env})},Ke=(e,n,r,s,i={})=>e.name==="aube"?u(e,ce(n),r,s,i):g(e,()=>re(e.name,e.version,n),r,s,i),Qe=(e,n,r,s,i={})=>e.name==="aube"?u(e,le(n),r,s,i):g(e,()=>se(e.name,e.version,n),r,s,i),Le=(e,n)=>{if(e.name==="aube")return ge(n);const r=[],s=[],i=e.name;switch(e.name){case"bun":{const a=$.coerce(e.version);a&&$.lt(a,"1.3.0")&&s.push(`bun ${e.version} does not support \`bun pm view\` (added in bun 1.3). Upgrade bun, or run \`npm view ${n.package}\` instead.`),r.push("pm","view","--",n.package,...n.fields),n.json&&r.push("--json");break}case"npm":case"pnpm":{r.push("view","--",n.package,...n.fields),n.json&&r.push("--json");break}case"yarn":{if(e.version.startsWith("1.")){r.push("info","--",n.package);const[a,...t]=n.fields;a!==void 0&&(t.length>0&&s.push("yarn v1 only supports querying one field at a time; using the first."),r.push(a)),n.json&&r.push("--json")}else r.push("npm","info","--",n.package),n.fields.length>0&&s.push("yarn berry does not support field arguments to 'npm info'; ignoring."),n.json&&r.push("--json");break}default:{const a=e.name;throw new Error(`Unsupported package manager: ${a}`)}}return{args:r,bin:i,warnings:s}},Ze=(e,n,r,s,i={})=>u(e,Le(e,n),r,s,i),en=(e,n,r,s,i={})=>e.name==="aube"?u(e,he(n),r,s,i):g(e,()=>ie(e.name,e.version,n),r,s,i),nn=(e,n,r,s,i,a={})=>e.name==="aube"?u(e,de(n,r),s,i,a):g(e,()=>K(e.name,e.version,n,r),s,i,a),Ne=(e,n,r)=>{if(e.args.includes("--offline")||e.args.includes("--cached-only"))return e;const s=(i,a)=>{const t=[...e.args];return t.splice(a,0,i),{...e,args:t}};switch(n){case"aube":case"pnpm":return s("--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"npm":return s("--offline",1);case"yarn":return r.startsWith("1.")?s("--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 i=n;return{...e,warnings:[...e.warnings,`applyDlxOffline: unsupported pm ${String(i)}`]}}}},rn=(e,n,r,s,i={})=>{let a=e.name==="aube"?fe(n):ee(e.name,e.version,n);return i.offline&&(a=Ne(a,e.name,e.version)),u(e,a,r,s,{dry:i.dry,env:i.env})},_=process.platform==="win32",Be=_?[".exe",".cmd",".bat",".ps1",""]:[""],Te=(e,n)=>{if(!(e.includes("/")||e.includes("\\")))for(const r of G(n))for(const s of Be){const i=y(r,`${e}${s}`);if(j(i))return _?i.replaceAll("/","\\"):i}},sn=(e,n,r)=>{const s=Te(e,r);if(s===void 0||_&&!s.toLowerCase().endsWith(".exe"))return null;const i=E(s,n,{cwd:r,env:z({...process.env},r),stdio:"inherit"});if(i.error)throw i.error;return i.status??1},an=(e,n,r,s,i={})=>e.name==="aube"?u(e,pe(n),r,s,i):g(e,()=>ne(e.name,e.version,n),r,s,i),tn=(e,n,r,s,i,a={})=>{if(e.name==="aube")return u(e,ke(n,r),s,i,a);const t=me(e,n,r);return t.kind==="skip"?(i.warn(`warning: ${t.warning}`),0):t.kind==="rewrite"?u(e,{args:t.args,bin:t.bin,warnings:t.warning?[t.warning]:[]},s,i,a):g(e,()=>ae(e.name,e.version,n,r),s,i,a)};export{He as a,an as b,_e as c,Re as d,Ke as e,Ze as f,Ge as g,Ve as h,en as i,tn as j,Xe as k,nn as l,Qe as m,Je as n,rn as o,ze as p,sn as r,ve as s};
1
+ import{createRequire as U}from"node:module";import{e as y,m as O,b as D,z as Y}from"./index-0dnGN3GP.js";import{withEnhancedPath as z,collectNodeModulesBinDirs as G}from"@visulima/task-runner";import{s as $}from"./index-B4AjSxHU.js";import{detectPackageManager as H,resolveAdd as J,resolveRemove as V,whichBin as X,resolveUnlink as K,resolveInstall as Q,execPmCommandInteractive as Z,resolveDlx as ee,resolveExec as ne,resolveDedupe as re,resolveWhy as se,resolveLink as ie,resolvePmCommand as ae}from"#native";import{y as j}from"./isAccessibleSync-DYKTrrvc-CBsMZhj-.js";let W;const x=e=>(W??=U(import.meta.url))(e),k=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,q=e=>{if(typeof k<"u"&&k.versions&&k.versions.node){const[n,r]=k.versions.node.split(".").map(Number);if(n>22||n===22&&r>=3||n===20&&r>=16)return k.getBuiltinModule(e)}return x(e)},{spawn:F,spawnSync:E}=q("node:child_process"),d=(e,n,r,s)=>{for(const i of n)e.push("--filter",i);r&&e.push("--recursive"),s&&e.push("--workspace-root")},te=e=>{const n=[],r=[];return d(n,e.filter,e.recursive,e.workspaceRoot),e.silent&&n.push("--silent"),e.frozenLockfile&&n.push("--frozen-lockfile"),n.push("install"),e.dev&&n.push("--dev"),e.prod&&n.push("--prod"),e.force&&n.push("--force"),e.ignoreScripts&&n.push("--ignore-scripts"),e.lockfileOnly&&n.push("--lockfile-only"),e.noOptional&&n.push("--no-optional"),e.offline&&n.push("--offline"),{args:n,bin:"aube",warnings:r}},oe=e=>{const n=[],r=[];return d(n,e.filter,!1,!1),n.push("add"),e.saveDev&&n.push("--save-dev"),e.exact&&n.push("--save-exact"),e.global&&n.push("--global"),e.optional&&n.push("--save-optional"),e.peer&&n.push("--save-peer"),e.workspace&&r.push("aube has no flag for the `workspace:` protocol; it auto-detects local workspace members during add. Ignoring --workspace."),e.workspaceRoot&&n.push("--workspace"),n.push(...e.packages),{args:n,bin:"aube",warnings:r}},ue=e=>{const n=[];return d(n,e.filter,e.recursive,!1),n.push("remove"),e.saveDev&&n.push("--save-dev"),e.global&&n.push("--global"),e.workspaceRoot&&n.push("--workspace"),n.push(...e.packages),{args:n,bin:"aube",warnings:[]}},ce=e=>{const n=["dedupe"];return e&&n.push("--check"),{args:n,bin:"aube",warnings:[]}},le=e=>{const n=[],r=[];d(n,e.filter,e.recursive,!1),n.push("why"),e.dev&&n.push("--dev"),e.prod&&n.push("--prod"),e.json&&n.push("--json"),e.long&&n.push("--long"),e.parseable&&n.push("--parseable"),e.depth!==void 0&&r.push("aube why does not accept --depth; ignoring."),e.noOptional&&r.push("aube why does not accept --no-optional; ignoring."),e.global&&r.push("aube why does not accept --global; ignoring.");const[s,...i]=e.packages;return s===void 0?r.push("aube why requires a package name; none provided."):(i.length>0&&r.push("aube why takes a single package; using the first."),n.push(s)),{args:n,bin:"aube",warnings:r}},fe=e=>{const n=[];e.silent&&n.push("--silent"),n.push("dlx");for(const r of e.additionalPackages)n.push("--package",r);return e.shellMode&&n.push("--shell-mode"),n.push(e.package),n.push(...e.args),{args:n,bin:"aube",warnings:[]}},pe=e=>{const n=[];return d(n,e.filter,e.recursive,e.workspaceRoot),n.push("exec"),e.parallel&&n.push("--parallel"),e.reverse&&n.push("--reverse"),e.shellMode&&n.push("--shell-mode"),n.push(e.command),n.push(...e.args),{args:n,bin:"aube",warnings:[]}},he=e=>{const n=["link"];return e!==null&&n.push(e),{args:n,bin:"aube",warnings:[]}},de=(e,n)=>{const r=[],s=[];return n&&r.push("--recursive"),r.push("unlink"),e.length>1&&s.push("aube unlink takes a single package; using the first."),e.length>0&&r.push(e[0]),{args:r,bin:"aube",warnings:s}},ge=e=>{const n=["view","--",e.package],r=[],[s,...i]=e.fields;return s!==void 0?(i.length>0&&r.push("aube view only supports a single field; using the first."),e.json&&r.push("aube view does not support --json with a field selector; printing the field without --json."),n.push(s)):e.json&&n.push("--json"),{args:n,bin:"aube",warnings:r}},ze=e=>{const n=[],r=[];return d(n,e.filters,e.recursive,e.workspaceRoot),n.push("update"),e.dev&&n.push("--dev"),e.prod&&n.push("--prod"),e.global&&n.push("--global"),e.interactive&&n.push("--interactive"),e.latest&&n.push("--latest"),e.noOptional&&n.push("--no-optional"),e.noSave&&n.push("--no-save"),n.push(...e.packages),{args:n,bin:"aube",warnings:r}},be=new Set(["fund","ping","search","token"]),ke=(e,n)=>be.has(e)?{args:[e,...n],bin:"npm",warnings:[`'${e}' is not natively supported by aube. Delegating to npm.`]}:{args:[e,...n],bin:"aube",warnings:[]},w=256*1024,we=e=>{const n=e?{...process.env,...e}:{...process.env};return process.stderr.isTTY&&n.FORCE_COLOR===void 0&&n.NO_COLOR===void 0&&(n.FORCE_COLOR="1"),n},P=e=>e!==""&&!/[\s"&()<>^|%!]/u.test(e)?e:`"${e.replaceAll(/(\\*)"/gu,String.raw`$1$1\"`).replace(/(\\+)$/u,"$1$1").replaceAll(/[&()<>^|%!]/gu,String.raw`^$&`)}"`,ve=async(e,n,r)=>new Promise((s,i)=>{const a=process.platform==="win32",t=F(a?P(e):e,a?n.map(o=>P(o)):[...n],{cwd:r.cwd,env:we(r.env),shell:a,stdio:["inherit","pipe","pipe"],windowsHide:!0});let c=[],f=0;const p=o=>{if(c.push(o),f+=o.length,!(f<=w)){for(;c.length>1&&f-c[0].length>w;)f-=c.shift().length;if(c.length===1&&f>w){const h=c[0];c[0]=h.subarray(h.length-w),f=w}}},b=()=>Buffer.concat(c).toString("utf8");t.stdout?.on("data",o=>{process.stdout.write(o),p(o)}),t.stderr?.on("data",o=>{process.stderr.write(o),p(o)}),t.on("error",i),t.on("close",o=>{const h=b();c=[],s({code:o??1,output:h})})}),v=e=>{const n=$.coerce(e);return n?$.gte(n,"11.0.0"):!1},l=e=>e.name==="yarn"&&!e.version.startsWith("1."),R=e=>e.name==="yarn"&&e.version.startsWith("1."),ye=e=>e[0]==="rm"?["remove",...e.slice(1)]:e,me=(e,n,r)=>{switch(n){case"audit":return l(e)?{args:["npm","audit",...r],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"config":{if(l(e)){const[s,...i]=r;return s==="delete"?{args:["config","unset",...i],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."}:{kind:"passthrough"}}case"dist-tag":return R(e)?{args:["tag",...r],bin:"yarn",kind:"rewrite",warning:"yarn 1 has no `dist-tag`; using `yarn tag`."}:l(e)?{args:["npm","tag",...ye(r)],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{kind:"skip",warning:`${e.name} has no \`dist-tag\`. Use \`npm dist-tag\` instead.`}:{kind:"passthrough"};case"login":case"logout":return l(e)?{args:["npm",n,...r],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:[n,...r],bin:"npm",kind:"rewrite",warning:`bun has no \`${n}\`; falling back to \`npm ${n}\` (writes ~/.npmrc, which bun reads).`}:{kind:"passthrough"};case"owner":return e.name==="pnpm"&&v(e.version)?{args:["owner",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `owner`; falling back to `npm owner`."}:l(e)?{args:["owner",...r],bin:"npm",kind:"rewrite",warning:"yarn berry has no `owner` (not in `yarn npm`); falling back to `npm owner`."}:e.name==="bun"?{args:["owner",...r],bin:"npm",kind:"rewrite",warning:"bun has no `owner`; falling back to `npm owner`."}:{kind:"passthrough"};case"ping":return e.name==="pnpm"&&v(e.version)?{args:["ping",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `ping`; falling back to `npm ping`."}:{kind:"passthrough"};case"pkg":return e.name==="bun"?{args:["pm","pkg",...r],bin:"bun",kind:"rewrite"}:e.name==="yarn"?{args:["pkg",...r],bin:"npm",kind:"rewrite",warning:`${e.name} has no \`pkg\` command; falling back to \`npm pkg\`.`}:{kind:"passthrough"};case"plugin":return l(e)?{kind:"passthrough"}:{kind:"skip",warning:`${e.name} does not support yarn-style plugins. Skipping (no-op).`};case"prune":return R(e)?{kind:"skip",warning:"yarn 1 has no `prune`. Use `yarn install --production` for a prod-only tree."}:l(e)?{kind:"skip",warning:"yarn berry has no `prune`. Use `yarn workspaces focus --production` instead."}:e.name==="bun"?{kind:"skip",warning:`${e.name} has no \`prune\`. Pruning happens automatically on install.`}:{kind:"passthrough"};case"publish":return l(e)?{args:["npm","publish",...r],bin:"yarn",kind:"rewrite"}:{kind:"passthrough"};case"rebuild":return R(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."}:{kind:"passthrough"};case"search":return e.name==="pnpm"&&v(e.version)?{args:["search",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `search`; falling back to `npm search`."}:{kind:"passthrough"};case"token":return e.name==="pnpm"&&v(e.version)?{args:["token",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `token`; falling back to `npm token`."}:{kind:"passthrough"};case"whoami":return e.name==="pnpm"&&v(e.version)?{args:["whoami",...r],bin:"npm",kind:"rewrite",warning:"pnpm 11 removed `whoami`; falling back to `npm whoami`."}:l(e)?{args:["npm","whoami",...r],bin:"yarn",kind:"rewrite"}:e.name==="bun"?{args:["pm","whoami",...r],bin:"bun",kind:"rewrite"}:{kind:"passthrough"};default:return{kind:"passthrough"}}},A=e=>X(e)!==null,$e=e=>{const n=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["package-lock.json","npm"],["npm-shrinkwrap.json","npm"],["bun.lock","bun"],["bun.lockb","bun"]];let r=e;for(;;){for(const[i,a]of n)if(j(y(r,i)))return a;const s=O(r);if(s===r||D(r).root===r)return;r=s}},Ge=(e,n)=>{if(n.name!=="aube")return;const r=$e(e);if(r!==void 0)return`Resolved installer is aube but the workspace has a ${r} lockfile. Aube reads and writes ${r}'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.`},C=e=>{if(j(e))try{return JSON.parse(Y(e,{buffer:!1}))}catch{return}},je=e=>{let n=e;for(;;){const r=y(n,"package.json"),s=C(r);if(s&&typeof s.packageManager=="string"&&s.packageManager.length>0)return s.packageManager;const i=O(n);if(i===n||D(n).root===n)return;n=i}},I=new Set(["npm","pnpm","yarn"]),M=(e,n,r)=>r===!1||!I.has(n)||!A("corepack")?!1:r===!0?!0:je(e)!==void 0,He=(e,n)=>{const r=n.backend,s=process.env.VIS_INSTALLER,i=r??s??n.configBackend,a=n.configCorepack??"auto";if(i&&i!=="auto"){if(i==="aube"&&!A("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:i,useCorepack:M(e,i,a),version:"latest"}}if(A("aube"))return{name:"aube",useCorepack:!1,version:"latest"};const t=Re(e);return{...t,useCorepack:M(e,t.name,a)}},Re=e=>{if(!j(e))throw new Error(`Could not detect package manager in ${e}. Directory does not exist.`);const n=H(e);return{name:n.name,version:n.version||"latest"}},L=(e,n)=>n.useCorepack!==!0||!I.has(n.name)||e.bin==="corepack"||e.bin!==n.name?e:{...e,args:[n.name,...e.args],bin:"corepack"},Ae=(e,n,r)=>{if(r===void 0)return Z(e.bin,e.args,n);const s=E(e.bin,e.args,{cwd:n,env:{...process.env,...r},stdio:"inherit"});if(s.error)throw s.error;return s.status??1},u=(e,n,r,s,i={})=>{const a=L(n,e);for(const t of a.warnings)s.warn(`warning: ${t}`);return i.dry?(s.log(`[dry-run] ${a.bin} ${a.args.join(" ")}`),0):Ae(a,r,i.env)},g=(e,n,r,s,i={})=>u(e,n(),r,s,i),Oe=(e,n)=>n==="aube"?e:{...e,args:[...e.args,"--prefer-offline"]},De=(e,n,r)=>n!=="yarn"||r.startsWith("1.")||!e.args.includes("--immutable")||e.args.includes("--immutable-cache")?e:{...e,args:[...e.args,"--immutable-cache"]},N=(e,n,r)=>{let s=e.name==="aube"?te(n):Q(e.name,e.version,{...n,silent:n.silent||r.silent===!0});return r.preferOffline&&(s=Oe(s,e.name)),r.ciMode&&(s=De(s,e.name,e.version)),s},Je=(e,n,r,s,i={})=>{const a=N(e,n,i);return S(e,a,r,s,{dry:i.dry,env:i.env})},Ve=async(e,n,r,s,i={})=>{const a=L(N(e,n,i),e);for(const t of a.warnings)s.warn(`warning: ${t}`);return i.dry?(s.log(`[dry-run] ${a.bin} ${a.args.join(" ")}`),{code:0,output:""}):ve(a.bin,a.args,{cwd:r,env:i.env?{...process.env,...i.env}:process.env})},B=e=>({...e,args:[...e.args,"--silent"]}),Ce=(e,n)=>n==="yarn"||n==="aube"?null:{...e,args:[...e.args,"--dry-run"]},S=(e,n,r,s,i)=>{if(i.dry!==!0)return u(e,n,r,s,i);const a=Ce(n,e.name);return a===null?u(e,n,r,s,i):u(e,a,r,s,{env:i.env})},Se=e=>({...e,args:[...e.args,"--ignore-scripts"]}),_e=(e,n,r,s,i={})=>{let a=e.name==="aube"?oe(n):J(e.name,e.version,n);i.ignoreScripts&&(a=Se(a)),i.silent&&(a=B(a));const t=S(e,a,r,s,{dry:i.dry,env:i.env});return t===0&&i.autoInstallPeers&&Ie(e,n,r,s,i),t},Pe=e=>{if(e.startsWith("@")){const r=e.indexOf("/");if(r===-1)return e;const s=e.indexOf("@",r);return s===-1?e:e.slice(0,s)}const n=e.indexOf("@");return n===-1?e:e.slice(0,n)},Me=(e,n)=>{let r=e;for(;;){const s=y(r,"node_modules",n,"package.json"),i=C(s);if(i)return i;const a=O(r);if(a===r||D(r).root===r)return;r=a}},Ee=e=>{const n=C(y(e,"package.json")),r=new Set;if(!n)return r;for(const s of["dependencies","devDependencies","peerDependencies","optionalDependencies"]){const i=n[s];if(i)for(const a of Object.keys(i))r.add(a)}return r},Ie=(e,n,r,s,i)=>{const a=Ee(r),t=new Map;for(const p of n.packages){const b=Pe(p),o=Me(r,b);if(!o?.peerDependencies)continue;const h=o.peerDependenciesMeta??{};for(const[m,T]of Object.entries(o.peerDependencies))h[m]?.optional||a.has(m)||t.has(m)||t.set(m,T)}if(t.size===0)return;const c=[...t.entries()].map(([p,b])=>`${p}@${b}`);s.log(`auto-installing peer dependencies: ${c.join(", ")}`);const f={exact:!1,filter:n.filter,global:!1,optional:!1,packages:c,peer:!1,saveDev:n.saveDev,workspace:!1,workspaceRoot:n.workspaceRoot};_e(e,f,r,s,{ignoreScripts:i.ignoreScripts})},Xe=(e,n,r,s,i={})=>{let a=e.name==="aube"?ue(n):V(e.name,e.version,n);return i.silent&&(a=B(a)),S(e,a,r,s,{dry:i.dry,env:i.env})},Ke=(e,n,r,s,i={})=>e.name==="aube"?u(e,ce(n),r,s,i):g(e,()=>re(e.name,e.version,n),r,s,i),Qe=(e,n,r,s,i={})=>e.name==="aube"?u(e,le(n),r,s,i):g(e,()=>se(e.name,e.version,n),r,s,i),Le=(e,n)=>{if(e.name==="aube")return ge(n);const r=[],s=[],i=e.name;switch(e.name){case"bun":{const a=$.coerce(e.version);a&&$.lt(a,"1.3.0")&&s.push(`bun ${e.version} does not support \`bun pm view\` (added in bun 1.3). Upgrade bun, or run \`npm view ${n.package}\` instead.`),r.push("pm","view","--",n.package,...n.fields),n.json&&r.push("--json");break}case"npm":case"pnpm":{r.push("view","--",n.package,...n.fields),n.json&&r.push("--json");break}case"yarn":{if(e.version.startsWith("1.")){r.push("info","--",n.package);const[a,...t]=n.fields;a!==void 0&&(t.length>0&&s.push("yarn v1 only supports querying one field at a time; using the first."),r.push(a)),n.json&&r.push("--json")}else r.push("npm","info","--",n.package),n.fields.length>0&&s.push("yarn berry does not support field arguments to 'npm info'; ignoring."),n.json&&r.push("--json");break}default:{const a=e.name;throw new Error(`Unsupported package manager: ${a}`)}}return{args:r,bin:i,warnings:s}},Ze=(e,n,r,s,i={})=>u(e,Le(e,n),r,s,i),en=(e,n,r,s,i={})=>e.name==="aube"?u(e,he(n),r,s,i):g(e,()=>ie(e.name,e.version,n),r,s,i),nn=(e,n,r,s,i,a={})=>e.name==="aube"?u(e,de(n,r),s,i,a):g(e,()=>K(e.name,e.version,n,r),s,i,a),Ne=(e,n,r)=>{if(e.args.includes("--offline")||e.args.includes("--cached-only"))return e;const s=(i,a)=>{const t=[...e.args];return t.splice(a,0,i),{...e,args:t}};switch(n){case"aube":case"pnpm":return s("--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"npm":return s("--offline",1);case"yarn":return r.startsWith("1.")?s("--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 i=n;return{...e,warnings:[...e.warnings,`applyDlxOffline: unsupported pm ${String(i)}`]}}}},rn=(e,n,r,s,i={})=>{let a=e.name==="aube"?fe(n):ee(e.name,e.version,n);return i.offline&&(a=Ne(a,e.name,e.version)),u(e,a,r,s,{dry:i.dry,env:i.env})},_=process.platform==="win32",Be=_?[".exe",".cmd",".bat",".ps1",""]:[""],Te=(e,n)=>{if(!(e.includes("/")||e.includes("\\")))for(const r of G(n))for(const s of Be){const i=y(r,`${e}${s}`);if(j(i))return _?i.replaceAll("/","\\"):i}},sn=(e,n,r)=>{const s=Te(e,r);if(s===void 0||_&&!s.toLowerCase().endsWith(".exe"))return null;const i=E(s,n,{cwd:r,env:z({...process.env},r),stdio:"inherit"});if(i.error)throw i.error;return i.status??1},an=(e,n,r,s,i={})=>e.name==="aube"?u(e,pe(n),r,s,i):g(e,()=>ne(e.name,e.version,n),r,s,i),tn=(e,n,r,s,i,a={})=>{if(e.name==="aube")return u(e,ke(n,r),s,i,a);const t=me(e,n,r);return t.kind==="skip"?(i.warn(`warning: ${t.warning}`),0):t.kind==="rewrite"?u(e,{args:t.args,bin:t.bin,warnings:t.warning?[t.warning]:[]},s,i,a):g(e,()=>ae(e.name,e.version,n,r),s,i,a)};export{He as a,an as b,_e as c,Re as d,Ke as e,Ze as f,Ge as g,Ve as h,en as i,tn as j,Xe as k,nn as l,Qe as m,Je as n,rn as o,ze as p,sn as r,ve as s};
@@ -1,4 +1,4 @@
1
- import{createRequire as p}from"node:module";import{V as l}from"./vis-user-error-3YS7sPYy.js";let g;const m=e=>(g??=p(import.meta.url))(e),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=e=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[s,n]=c.versions.node.split(".").map(Number);if(s>22||s===22&&n>=3||s===20&&n>=16)return c.getBuiltinModule(e)}return m(e)},{createInterface:j}=h("node:readline"),y=e=>{const s=new Set;for(const n of Object.values(e.projects))for(const t of Object.keys(n.targets??{}))s.add(t);return[...s].sort()},b=e=>{const s=new Map;for(const n of e.values())for(const[t,o]of Object.entries(n))for(const r of o.aliases??[])s.has(r)||s.set(r,t);return s},$=(e,s)=>s.get(e)??e,w=(e,s)=>{if(e.length===0)return s.length;if(s.length===0)return e.length;const n=[];for(let t=0;t<=s.length;t++)n[t]=[t];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let t=1;t<=s.length;t++)for(let o=1;o<=e.length;o++){const r=s[t-1]===e[o-1]?0:1;n[t][o]=Math.min(n[t-1][o]+1,n[t][o-1]+1,n[t-1][o-1]+r)}return n[s.length][e.length]},v=(e,s,n=3)=>f(e,s,1,n)[0],f=(e,s,n=3,t=3)=>{const o=[];for(const r of s){const i=w(e.toLowerCase(),r.toLowerCase());i<=t&&o.push({distance:i,name:r})}return o.sort((r,i)=>r.distance-i.distance||r.name.localeCompare(i.name)),o.slice(0,n).map(r=>r.name)},M=e=>e.length===0?" (no targets found)":e.map(s=>` - ${s}`).join(`
1
+ import{createRequire as p}from"node:module";import{V as l}from"./vis-user-error-BivZDkQD.js";let g;const m=e=>(g??=p(import.meta.url))(e),c=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=e=>{if(typeof c<"u"&&c.versions&&c.versions.node){const[s,n]=c.versions.node.split(".").map(Number);if(s>22||s===22&&n>=3||s===20&&n>=16)return c.getBuiltinModule(e)}return m(e)},{createInterface:j}=h("node:readline"),y=e=>{const s=new Set;for(const n of Object.values(e.projects))for(const t of Object.keys(n.targets??{}))s.add(t);return[...s].sort()},b=e=>{const s=new Map;for(const n of e.values())for(const[t,o]of Object.entries(n))for(const r of o.aliases??[])s.has(r)||s.set(r,t);return s},$=(e,s)=>s.get(e)??e,w=(e,s)=>{if(e.length===0)return s.length;if(s.length===0)return e.length;const n=[];for(let t=0;t<=s.length;t++)n[t]=[t];for(let t=0;t<=e.length;t++)n[0][t]=t;for(let t=1;t<=s.length;t++)for(let o=1;o<=e.length;o++){const r=s[t-1]===e[o-1]?0:1;n[t][o]=Math.min(n[t-1][o]+1,n[t][o-1]+1,n[t-1][o-1]+r)}return n[s.length][e.length]},v=(e,s,n=3)=>f(e,s,1,n)[0],f=(e,s,n=3,t=3)=>{const o=[];for(const r of s){const i=w(e.toLowerCase(),r.toLowerCase());i<=t&&o.push({distance:i,name:r})}return o.sort((r,i)=>r.distance-i.distance||r.name.localeCompare(i.name)),o.slice(0,n).map(r=>r.name)},M=e=>e.length===0?" (no targets found)":e.map(s=>` - ${s}`).join(`
2
2
  `),S=async e=>{if(e.length===0||!process.stdin.isTTY||!process.stdout.isTTY)return;const s=j({input:process.stdin,output:process.stdout});try{process.stdout.write(`Available targets:
3
3
  `);for(const[r,i]of e.entries())process.stdout.write(` ${String(r+1).padStart(2," ")}. ${i}
4
4
  `);process.stdout.write(`
@@ -1 +1 @@
1
- import{s as i}from"./index-B4AjSxHU.js";import{g as u}from"./packument-CbTmbHU4.js";import{c as d}from"../packem_chunks/cli-main.js";const v=8,h=async(r,e,o)=>{if(r.length===0)return[];const t=Math.max(1,Math.min(e,r.length)),s=Array.from({length:r.length});let n=0;const c=async()=>{for(;n<r.length;){const a=n;n+=1;const l=r[a];s[a]=await o(l,a)}};return await Promise.all(Array.from({length:t},()=>c())),s},f=(r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,p=(r,e)=>i.valid(e)?Object.keys(r.versions).filter(t=>i.valid(t)!==null&&i.lt(t,e)).filter(t=>i.satisfies(t,"*",{includePrerelease:!1})).filter(t=>f(r,t)).sort((t,s)=>i.lt(t,s)?1:-1)[0]:void 0,m=async(r,e={})=>{if(d("provenance"))return[];const o=new Set(e.allowlist),t=e.concurrency??v;return(await h(r,t,async({name:n,version:c})=>{if(o.has(n))return;const a=await u(n,{workspaceRoot:e.workspaceRoot});if(a===void 0||f(a,c))return;const l=p(a,c);if(l!==void 0)return{packageName:n,priorVersionWithProvenance:l,version:c}})).filter(n=>n!==void 0)};export{v as D,p as f,h as m,m as r};
1
+ import{s as i}from"./index-B4AjSxHU.js";import{g as u}from"./packument-Dg8cIDYR.js";import{c as d}from"../packem_chunks/cli-main.js";const v=8,h=async(r,e,o)=>{if(r.length===0)return[];const t=Math.max(1,Math.min(e,r.length)),s=Array.from({length:r.length});let n=0;const c=async()=>{for(;n<r.length;){const a=n;n+=1;const l=r[a];s[a]=await o(l,a)}};return await Promise.all(Array.from({length:t},()=>c())),s},f=(r,e)=>r.versions[e]?.dist?.attestations?.provenance!==void 0,p=(r,e)=>i.valid(e)?Object.keys(r.versions).filter(t=>i.valid(t)!==null&&i.lt(t,e)).filter(t=>i.satisfies(t,"*",{includePrerelease:!1})).filter(t=>f(r,t)).sort((t,s)=>i.lt(t,s)?1:-1)[0]:void 0,m=async(r,e={})=>{if(d("provenance"))return[];const o=new Set(e.allowlist),t=e.concurrency??v;return(await h(r,t,async({name:n,version:c})=>{if(o.has(n))return;const a=await u(n,{workspaceRoot:e.workspaceRoot});if(a===void 0||f(a,c))return;const l=p(a,c);if(l!==void 0)return{packageName:n,priorVersionWithProvenance:l,version:c}})).filter(n=>n!==void 0)};export{v as D,p as f,h as m,m as r};
@@ -0,0 +1,34 @@
1
+ import{DEFAULT_CHANGES_DIR as V}from"../packem_chunks/DEFAULT_CLEAN_KEEP.js";import{createShellRunner as F}from"../packem_chunks/shell-runner.js";import{r as _,b as W}from"./apply-DoeQAAGm.js";import{parseCatalogs as D}from"../packem_chunks/catalog.js";import{c as E}from"../packem_chunks/index3.js";import{r as M}from"../packem_chunks/context.js";import{escapeMarkdown as L}from"../packem_chunks/security.js";import{VisReleaseError as O}from"./VisReleaseError-DZtgcKf8.js";const B=/\{(name|version|previousVersion|date|repo|contributors)\}/g,U=(e,s)=>e.replaceAll(B,(i,g)=>s[g]??""),K=(e,s={})=>{const i=new Set;for(const o of s.internalAuthors??[]){const u=o.trim().toLowerCase().replace(/^@/,"");u.length>0&&i.add(u)}const g=new Set,c=[];for(const o of e){const u=o.meta?.author;if(u)for(const r of u.split(",")){const t=r.trim();if(!t)continue;const h=t.replace(/^@/,"");if(h.length===0)continue;const n=h.toLowerCase();g.has(n)||i.has(n)||(g.add(n),c.push(L(t)))}}return c.length===0?"":c.map(o=>`- ${o}`).join(`
2
+ `)},J=e=>e.length===0?"":`## Related releases
3
+
4
+ ${e.map(i=>`- [${i.name}](${i.url})`).join(`
5
+ `)}`,Y=(e,s,i)=>{if(!s||!s.header&&!s.footer)return e;const g=o=>U(o,{contributors:i.contributors??"",date:i.date,name:i.name,previousVersion:i.previousVersion,repo:i.repo,version:i.version}).replaceAll(/\n{3,}/g,`
6
+
7
+ `).replace(/\s+$/,""),c=[];if(s.header){const o=g(s.header);o.length>0&&c.push(o)}if(c.push(e),s.footer){const o=g(s.footer);o.length>0&&c.push(o)}return c.join(`
8
+
9
+ `)},z=e=>{if(!Array.isArray(e))return;const[s,i]=e;if(s!=="github"||typeof i!="object"||i===null)return;const{internalAuthors:g}=i;if(Array.isArray(g))return g.filter(c=>typeof c=="string")},q=e=>(e.config.publish?.publishArgs??[]).includes("--provenance")&&e.pm.id!=="bun",X=async(e,s)=>{const{options:i,persistState:g,releases:c,result:o,state:u}=s,{removePendingStages:r,upsertPendingStages:t}=await import("../packem_chunks/staged-registry.js"),h=await e.pm.readCatalogYaml(e.cwd),n=D(h),d=e.depGraph.topologicalSort(c.map(l=>l.name)),w=new Map(c.map(l=>[l.name,l])),b=new Set,C=new Map;for(const l of e.plan.releases){const m=e.depGraph.getPackage(l.name);m&&C.set(l.name,{...m.manifest,version:l.newVersion})}const P={config:e.config,cwd:e.cwd},R=e.config.plugins?.length?await import("../packem_chunks/defineReleasePlugin.js"):void 0;for(const l of d){const m=w.get(l);if(!m){o.skipped.push({name:l,reason:"topo-sort returned a name not in the release plan (internal bug)"});continue}const f=e.depGraph.getPackage(l);if(!f)continue;const y=[...new Set(e.depGraph.getDependencies(l).filter(p=>p.kind!=="devDependencies"&&b.has(p.name)).map(p=>p.name))];if(y.length>0){o.skipped.push({name:l,reason:`dependency-failed: not published because ${y.join(", ")} failed to publish (publishing would orphan this package's dependency range)`}),b.add(l);continue}const a=e.perPackageConfig.get(l)??{},v=M(f,a),$=i.publishActionsOverride??E(v),k=i.tag??e.channel?.tag;if(R){const p=await R.runWillPublishHooks(P,{dir:f.dir,name:l,oldVersion:m.oldVersion,version:m.newVersion});if(p.skip){o.skipped.push({name:l,reason:`plugin-skipped${p.by?` by "${p.by}"`:""}`}),b.add(l);continue}}const A=s.stagedRegistry.pending.find(p=>p.name===l&&p.version===m.newVersion);try{const p=await $.publish({catalogs:n,cleanPackageJsonConfig:e.config.publish?.cleanPackageJson,dryRun:i.dryRun,otp:i.otp,perPackageConfig:a,pkg:f,pm:e.pm,provenance:q(e),registry:a.registry,release:m,resumeStageId:A?.id,tag:k,versionedManifestByName:C,workspaceConfig:e.config});if(p.published||p.alreadyPublished){const T=s.stagedRegistry.pending.filter(H=>H.name===l&&H.version===m.newVersion).map(H=>H.id);T.length>0&&(s.stagedRegistry=r(s.stagedRegistry,T))}if(p.published)o.published.push({name:l,stageId:p.stageId,tarball:p.tarball,version:m.newVersion}),u.published.push(`${l}@${m.newVersion}`),R&&await R.runAfterPublishHooks(P,{dir:f.dir,name:l,oldVersion:m.oldVersion,version:m.newVersion});else if(p.alreadyPublished)o.skipped.push({name:l,reason:"already-published"}),u.published.push(`${l}@${m.newVersion}`);else if(o.skipped.push({name:l,reason:p.output??"skipped"}),p.stageId){const T=(p.output??"").startsWith("stage-rejected")?"rejected":"timeout";s.stagedRegistry=t(s.stagedRegistry,[{id:p.stageId,name:l,reason:T,stagedAt:new Date().toISOString(),tag:k??"latest",version:m.newVersion}])}await g()}catch(p){o.failed.push({name:l,reason:p.message}),b.add(l)}}R&&await R.runAfterPublishAllHooks(P,{failed:o.failed.map(l=>({name:l.name,reason:l.reason})),published:o.published.map(l=>({name:l.name,version:l.version})),skipped:o.skipped.map(l=>({name:l.name,reason:l.reason}))})},Q=async(e,s,i,g)=>{const{createRemoteClient:c,detectRemoteProvider:o}=await import("../packem_chunks/detect.js"),u=await o(e.cwd,i,e.config.provider),r=c(u,{githubHost:e.config.githubHost,gitlabHost:e.config.gitlabHost,httpProxy:e.config.httpProxy}),t=await r.detectRepoSlug(e.cwd,i);if(!t)return;const h=typeof e.config.aggregateRelease=="object"?e.config.aggregateRelease:{enabled:e.config.aggregateRelease===!0},n=e.config.publish?.draftRelease===!0,d=e.config.publish?.discussionCategory,w=e.config.publish?.addReleases;if(h.enabled){const a=new Date().toISOString().slice(0,10),$=(h.title??"Release {date}").replaceAll("{date}",a),k=`release-${a}`,A=s.published.map(p=>`- \`${p.name}\` → ${p.version}`).join(`
10
+ `);try{const p=await r.createRelease(i,{body:A,cwd:e.cwd,discussionCategory:d,draft:n,repo:t,tag:k,title:$});if(p?.url)for(const T of s.published)T.url=p.url}catch{}return}const{defaultTagFor:b,renderTagPattern:C}=await import("../packem_chunks/git.js"),P=e.config.releaseTagPattern,R=e.channel?.tag,l=e.config.publish?.releaseAssets??{},m=new Date().toISOString().slice(0,10),f=z(e.config.changelog),y=K(e.plan.consumedChangeFiles??[],{internalAuthors:f});for(const a of g.groups){const v=a.members.map($=>`- \`${$}\` → ${s.published.find(k=>k.name===$)?.version??a.version}`).join(`
11
+ `);try{const $=await r.createRelease(i,{body:v,cwd:e.cwd,discussionCategory:d,draft:n,prerelease:a.version.includes("-"),repo:t,tag:a.tag,title:`${a.name} ${a.version}`});if($?.url)for(const k of s.published)a.members.includes(k.name)&&(k.url=$.url)}catch($){console.warn(`createRelease failed for group ${a.name} (tag ${a.tag}): ${$.message}`)}}for(const a of s.published){if(g.grouped.has(a.name))continue;const $=e.perPackageConfig.get(a.name)?.releaseTagPattern??P,k=$?C($,{channel:R,name:a.name,version:a.version}):b(a.name,a.version),A=a.version.includes("-");let p=`Release of ${a.name}@${a.version}.`;if(a.stageId&&(p=`${p}
12
+
13
+ > ⏳ **Staged — not yet installable.** Approve via \`vis release stage approve ${a.stageId}\` or the npmjs.com web UI.`),l.stampHashes&&a.tarball&&(p=`${p}
14
+
15
+ ### Tarball integrity
16
+
17
+ - size: \`${a.tarball.size}\` bytes
18
+ - sha256: \`${a.tarball.sha256}\`
19
+ - sha512: \`${a.tarball.sha512}\``),w!==void 0&&w!==!1)try{const N=k.lastIndexOf("@"),S=N>0?k.slice(0,N+1):"",j=await r.listRecentReleases(i,{cwd:e.cwd,excludeTag:k,limit:5,repo:t,tagPrefix:S}),I=J(j);I&&(p=w==="top"?`${I}
20
+
21
+ ${p}`:`${p}
22
+
23
+ ${I}`)}catch{}const{releaseNoteTemplate:T}=e.config;if(T){const S=e.plan.releases.find(j=>j.name===a.name)?.oldVersion??"";p=Y(p,T,{contributors:y,date:m,name:a.name,previousVersion:S,repo:t,version:a.version})}const H=[];l.uploadTarball&&a.tarball&&H.push(a.tarball.path);try{const N=await r.createRelease(i,{assets:H.length>0?H:void 0,body:p,cwd:e.cwd,discussionCategory:d,draft:n,prerelease:A,repo:t,tag:k,title:`${a.name} v${a.version}`});N?.url&&(a.url=N.url)}catch(N){console.warn(`createRelease failed for ${a.name}@${a.version} (tag ${k}): ${N.message}`)}}},Z=async(e,s,i)=>{const{changesDir:g,options:c,persistState:o,result:u,runner:r,state:t}=s,{writeStagedRegistry:h}=await import("../packem_chunks/staged-registry.js");if(!c.dryRun&&u.published.length>0&&u.tagsPushed){e.config.publish?.noRelease!==!0&&await Q(e,u,r,i);try{const{walkSuccessfulRelease:n}=await import("../packem_chunks/success-walk.js"),{createRemoteClient:d,detectRemoteProvider:w}=await import("../packem_chunks/detect.js"),{resolveFormatter:b}=await import("../packem_chunks/resolveFormatter.js"),C=await w(e.cwd,r,e.config.provider),P=d(C,{githubHost:e.config.githubHost,gitlabHost:e.config.gitlabHost,httpProxy:e.config.httpProxy}),R=await P.detectRepoSlug(e.cwd,r),l=await b(e.config.changelog,e.cwd),{recordRecentlyWalked:m}=await import("../packem_chunks/staged-registry.js"),f=new Set([...t.walked??[],...(s.stagedRegistry.recentlyWalked??[]).map(a=>a.key)]),y={...u,published:u.published.filter(a=>!f.has(`${a.name}@${a.version}`))};if(y.published.length>0){const a=await n(e,y,r,{client:P,formatter:l,repo:R}),v=y.published.map($=>`${$.name}@${$.version}`);t.walked=[...t.walked??[],...v],await o(),s.stagedRegistry=m(s.stagedRegistry,v),a.warnings.length>0&&e.plan.warnings.push(...a.warnings)}}catch(n){e.plan.warnings.push(`successWalk: could not run post-release walk: ${n.message}`)}if(e.config.notifications)try{const{dispatchNotifications:n}=await import("../packem_chunks/interface.js"),{createRemoteClient:d,detectRemoteProvider:w}=await import("../packem_chunks/detect.js"),b=await w(e.cwd,r,e.config.provider),P=await d(b,{githubHost:e.config.githubHost,gitlabHost:e.config.gitlabHost,httpProxy:e.config.httpProxy}).detectRepoSlug(e.cwd,r);let R;try{const f=`${e.cwd}/package.json`,y=await import("node:fs/promises");R=JSON.parse(await y.readFile(f,"utf8")).name}catch{}const l=new Set([...t.notified??[],...(s.stagedRegistry.recentlyNotified??[]).map(f=>f.key)]),m=u.published.filter(f=>!l.has(`${f.name}@${f.version}`));if(m.length>0){const f=await n(e.config.notifications,{channel:e.channel?.tag,completedAt:new Date().toISOString(),...R===void 0?{}:{monorepoName:R},published:m.map(y=>({name:y.name,tag:e.channel?.tag,...y.url===void 0?{}:{url:y.url},version:y.version})),...P===void 0?{}:{repo:P},skipped:u.skipped.map(y=>({name:y.name,reason:y.reason}))},{warn:y=>e.plan.warnings.push(y)});if(f.succeeded.length>0){const y=m.map(v=>`${v.name}@${v.version}`);t.notified=[...t.notified??[],...y],await o();const{recordRecentlyNotified:a}=await import("../packem_chunks/staged-registry.js");s.stagedRegistry=a(s.stagedRegistry,y)}if(f.failed.length>0||f.succeeded.length>0){const y=f.succeeded.length+f.failed.length;if(f.failed.length>0){e.plan.warnings.push(`[notifications] dispatched ${f.succeeded.length}/${y} channels${f.succeeded.length>0?` (succeeded: ${f.succeeded.join(", ")})`:""}; ${f.failed.length} failed.`);for(const a of f.failed)e.plan.warnings.push(`[notifications:${a.id}] ${a.error}`)}}}}catch(n){e.plan.warnings.push(`notifications: dispatch failed: ${n.message}`)}if(!c.dryRun)try{const n=await h(e.cwd,g,s.stagedRegistry);if(n.changed){const{stageAndCommitFile:d}=await import("../packem_chunks/git.js");try{await d({cwd:e.cwd,runner:r},n.path,"chore(release): record cross-runner notify/walk dedupe [skip ci]",{author:e.config.gitUser,push:!c.noPush,sign:e.config.gitSignCommits===!0})}catch(w){process.stderr.write(`[vis release] Warning: could not commit ${n.path} (notify/walk dedupe): ${w.message}
24
+ `)}}}catch(n){process.stderr.write(`[vis release] Warning: could not update cross-runner dedupe registry: ${n.message}
25
+ `)}}},x=async e=>{const{defaultTagFor:s,floatingMajorTagFor:i,renderTagPattern:g}=await import("../packem_chunks/git.js"),{resolveSyncTagGroups:c}=await import("../packem_chunks/group-tags.js"),o=e.plan.releases.filter(n=>e.depGraph.getPackage(n.name)?.manifest?.private!==!0).map(n=>({name:n.name,version:n.newVersion})),u=c(e.config,o),r=u.groups.map(n=>n.tag),t=[],h=!!e.channel?.prerelease||!!e.preMode;for(const{name:n,version:d}of o){if(u.grouped.has(n))continue;const w=e.perPackageConfig.get(n),b=w?.releaseTagPattern??e.config.releaseTagPattern;if(r.push(b?g(b,{channel:e.channel?.tag,name:n,version:d}):s(n,d)),e.config.floatingMajorTag===!0&&!h&&!b?.includes("{major}")&&w?.skipNpmPublish!==!0){const C=i(n,d);C!==void 0&&t.push(C)}}return{created:r,updated:t}},ee=async(e,s,i)=>{if((await s.run("git",["remote","get-url","--push","origin"],{cwd:e.cwd,silent:!0})).exitCode!==0)return;const{getCurrentBranch:c,resolvePushCredentials:o,verifyPushAccess:u}=await import("../packem_chunks/git.js"),r={cwd:e.cwd,runner:s},t=await u(r);if(t!==void 0)return`Cannot push to origin, nothing was published. Set VIS_GH_TOKEN (or GITHUB_TOKEN / GITLAB_TOKEN) with write access, or pass --no-push. git said: ${t}`;const{createRemoteClient:h,detectRemoteProvider:n}=await import("../packem_chunks/detect.js");let d;try{d=await n(e.cwd,s,e.config.provider)}catch{return}if(d!=="github")return;const b=await h(d,{githubHost:e.config.githubHost,httpProxy:e.config.httpProxy}).detectRepoSlug(e.cwd,s);if(!b)return;const C=await o(r),P={...process.env};C!==void 0&&(P.GH_TOKEN=C.token),e.config.githubHost&&(P.GH_HOST=e.config.githubHost),e.config.httpProxy&&(P.HTTPS_PROXY=e.config.httpProxy,P.HTTP_PROXY=e.config.httpProxy);const{checkGithubPushRules:R}=await import("../packem_chunks/github-push-rules.js"),l=i.noTag?{created:[],updated:[]}:await x(e),m=await R(s,{branch:await c(r),createdTags:l.created,cwd:e.cwd,env:P,repo:b,signedCommits:e.config.gitSignCommits===!0,updatedTags:l.updated});for(const f of m.warnings)process.stderr.write(`[vis release] Warning: ${f}
26
+ `);if(m.blocked.length>0)return`GitHub push rules would reject this release, nothing was published:
27
+ - ${m.blocked.join(`
28
+ - `)}
29
+ Grant the pushing token a bypass, adjust the ruleset, or pass --no-push / --no-tag.`},ae=async(e,s,i,g)=>{if(!i.dryRun&&e.channel?.mode==="version-pr"){const{createRemoteClient:c,detectRemoteProvider:o}=await import("../packem_chunks/detect.js");let u;try{const t=await o(e.cwd,s,e.config.provider);u=await c(t,{githubHost:e.config.githubHost,gitlabHost:e.config.gitlabHost,httpProxy:e.config.httpProxy}).detectRepoSlug(e.cwd,s)}catch(t){return g.failed.push({name:"_preflight",reason:`Could not read the remote to check for an open release PR: ${t.message}`}),!0}const r=e.config.versionPr?.branch??"vis-release/version-packages";if(u)try{const t=await s.run("gh",["pr","list","--head",r,"--state","open","--json","number"],{cwd:e.cwd,silent:!0});if(t.exitCode===0&&t.stdout.trim()&&t.stdout.trim()!=="[]"){const h=JSON.parse(t.stdout);if(h[0])return g.failed.push({name:"_preflight",reason:`Open release PR #${h[0].number} exists. Merge or close it before publishing locally. (Override: --no-push then \`git push --tags\` manually.)`}),!0}}catch{}}if(!i.dryRun&&e.config.prePublishCommand)try{await _(e.cwd,e.config.prePublishCommand,"prePublishCommand")}catch(c){return g.failed.push({name:"_prePublishCommand",reason:c.message}),!0}if(!i.dryRun&&!i.noPush){let c;try{c=await ee(e,s,{noTag:i.noTag===!0})}catch(o){return g.failed.push({name:"_preflight",reason:`Could not verify the release pushes: ${o.message}`}),!0}if(c!==void 0)return g.failed.push({name:"_pushAccess",reason:c}),!0}return!1},se=async(e,s)=>{const{changesDir:i,options:g,runner:c}=s,{writeStagedRegistry:o}=await import("../packem_chunks/staged-registry.js");if(!g.dryRun){const u=s.priorRegistrySnapshot.pending.length,r=s.stagedRegistry.pending.length,t=await o(e.cwd,i,s.stagedRegistry);if(t.changed){const{stageAndCommitFile:h}=await import("../packem_chunks/git.js");let n;if(t.removed)n="chore(release): clear pending stage registry [skip ci]";else if(r>u){const d=r-u;n=`chore(release): record ${d} new pending stage${d===1?"":"s"} [skip ci]`}else if(r<u){const d=u-r;n=`chore(release): drain ${d} resolved stage${d===1?"":"s"} [skip ci]`}else n=`chore(release): update pending stage registry (${r} pending) [skip ci]`;try{await h({cwd:e.cwd,runner:c},t.path,n,{author:e.config.gitUser,push:!g.noPush,sign:e.config.gitSignCommits===!0})}catch(d){process.stderr.write(`[vis release] Warning: could not commit ${t.path}: ${d.message}
30
+ `)}}}},ie=async(e,s)=>{const{options:i,result:g,runner:c}=s;if(!i.dryRun&&g.published.length>0&&e.config.workspaceChangelog!==!1){const o=e.config.workspaceChangelog,u=typeof o=="object"?o:void 0,r=typeof e.config.aggregateRelease=="object"?e.config.aggregateRelease.enabled:e.config.aggregateRelease===!0;if(u!==void 0||r)try{const{writeWorkspaceChangelogWave:t}=await import("../packem_chunks/workspace.js"),h=new Set(g.published.map(w=>w.name)),n=e.plan.releases.filter(w=>h.has(w.name)),d=await t({changelogConfig:e.config.changelog,cwd:e.cwd,workspaceChangelog:e.config.workspaceChangelog},n);if(d)try{const{stageAndCommitFile:w}=await import("../packem_chunks/git.js");await w({cwd:e.cwd,runner:c},d,"chore(release): record wave [skip ci]",{author:e.config.gitUser,push:!i.noPush,sign:e.config.gitSignCommits===!0})}catch(w){process.stderr.write(`[vis release] Warning: could not commit workspace CHANGELOG.md: ${w.message}
31
+ `)}}catch(t){process.stderr.write(`[vis release] Warning: could not write workspace CHANGELOG.md wave entry: ${t.message}
32
+ `)}}},G=async(e,s,i,g,c)=>{const{stageAndCommitFile:o}=await import("../packem_chunks/git.js"),{stateFilePath:u}=await import("../packem_chunks/state.js");try{const r=await o({cwd:e.cwd,runner:s},u(e.cwd,i,!0),`chore(release): ${g} publish lock [skip ci]`,{author:e.config.gitUser,push:!c.noPush,sign:e.config.gitSignCommits===!0});!c.noPush&&r.committed&&!r.pushed&&process.stderr.write(`[vis release] Warning: publish lock (${g}) was committed locally but could not be pushed — cross-runner resume may use a stale lock.
33
+ `)}catch(r){process.stderr.write(`[vis release] Warning: could not commit publish lock (${g}): ${r.message}
34
+ `)}},re=async(e,s,i,g)=>{const{filterPlanByState:c,newState:o,readState:u,writeState:r}=await import("../packem_chunks/state.js"),{readStagedRegistry:t}=await import("../packem_chunks/staged-registry.js"),h=e.config.changesDir??V,n=e.config.publish?.lockInGit===!0;let d=i.resume||n?await u(e.cwd,h,n):void 0;d&&n&&(d.channel=e.channel?.tag);const w=async()=>{i.dryRun||!d||(await r(e.cwd,h,d,n),n&&await G(e,s,h,"progress",{noPush:i.noPush}))};let b=await t(e.cwd,h);await W(e,"publish",b,{runner:s}),b=await t(e.cwd,h);const C={...b,pending:[...b.pending]};let{releases:P}=e.plan;return d?P=c(P,d):(d=o(e.channel?.tag,e.plan.releases),i.dryRun||(await r(e.cwd,h,d,n),n&&await G(e,s,h,"open",{noPush:i.noPush}))),{changesDir:h,lockInGit:n,options:i,persistState:w,priorRegistrySnapshot:C,releases:P,result:g,runner:s,stagedRegistry:b,state:d}},te=async(e,s,i)=>{const{changesDir:g,lockInGit:c,options:o,persistState:u,result:r,runner:t,state:h}=s,{clearState:n}=await import("../packem_chunks/state.js");if(!o.dryRun&&!o.noTag&&r.published.length>0){const{createOrUpdateFloatingTag:d,createTag:w,defaultTagFor:b,floatingMajorTagFor:C,pushTags:P,renderTagPattern:R}=await import("../packem_chunks/git.js"),l=e.config.releaseTagPattern,m=e.channel?.tag,f=e.config.floatingMajorTag===!0,y=!!e.channel?.prerelease||!!e.preMode;for(const{name:a,version:v}of r.published){if(i.grouped.has(a))continue;const k=e.perPackageConfig.get(a)?.releaseTagPattern??l,A=k?R(k,{channel:m,name:a,version:v}):b(a,v);try{await w({cwd:e.cwd,runner:t},A,`Release ${a}@${v}`,{signing:e.config.signing,skipRemoteCheck:e.firstRelease}),r.tags.push(A)}catch(S){e.firstRelease&&S instanceof O&&S.code==="TAG_COLLISION"?r.skipped.push({name:A,reason:"tag-creation: tag already exists (first-release — skipped)"}):r.failed.push({name:A,reason:`tag-creation: ${S.message}`})}const p=e.depGraph.getPackage(a),T=e.perPackageConfig.get(a),H=p?.manifest?.private===!0,N=T?.skipNpmPublish===!0;if(f&&!y&&!k?.includes("{major}")&&!H&&!N){const S=C(a,v);if(S!==void 0)try{await d({cwd:e.cwd,runner:t},S,{push:!o.noPush,signing:e.config.signing}),r.tags.push(S)}catch(j){r.skipped.push({name:S,reason:`floating-major-tag: ${j.message}`})}}}for(const a of i.groups)try{await w({cwd:e.cwd,runner:t},a.tag,`Release ${a.name} ${a.version}`,{signing:e.config.signing,skipRemoteCheck:e.firstRelease}),r.tags.push(a.tag)}catch(v){e.firstRelease&&v instanceof O&&v.code==="TAG_COLLISION"?r.skipped.push({name:a.tag,reason:"tag-creation: tag already exists (first-release — skipped)"}):r.failed.push({name:a.tag,reason:`tag-creation: ${v.message}`})}if(!o.noPush&&r.tags.length>0)try{await P({cwd:e.cwd,runner:t}),r.tagsPushed=!0}catch(a){r.tagsPushed=!1,r.failed.push({name:"_pushTags",reason:`git push --tags failed: ${a.message}. Retry with: git push --tags`})}h.tagged=[...r.tags],h.pushed=r.tagsPushed,await u(),r.failed.length===0&&!o.dryRun&&(await n(e.cwd,g,c),c&&await G(e,t,g,"close",{noPush:o.noPush}))}},he=async(e,s={})=>{const i={failed:[],published:[],skipped:[],tags:[],tagsPushed:!1},g=F();if(e.plan.releases.length===0||await ae(e,g,s,i))return i;const c=e.config.changesDir??V,{acquireLock:o,releaseLock:u}=await import("../packem_chunks/state.js");let r=!1;if(!s.dryRun)try{await o(e.cwd,c),r=!0}catch(t){return i.failed.push({name:"_lock",reason:t.message}),i}try{const t=await re(e,g,s,i);await X(e,t);const{resolveSyncTagGroups:h}=await import("../packem_chunks/group-tags.js"),n=h(e.config,i.published);if(await te(e,t,n),await se(e,t),await ie(e,t),await Z(e,t,n),!s.dryRun&&e.config.postPublishCommand)try{await _(e.cwd,e.config.postPublishCommand,"postPublishCommand")}catch(d){i.failed.push({name:"_postPublishCommand",reason:d.message})}return i}finally{r&&await u(e.cwd,c)}};export{he as p};