@visulima/vis 4.1.20 → 4.3.0

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 (197) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE.md +804 -360
  3. package/dist/bin.js +1 -1
  4. package/dist/binx.js +1 -1
  5. package/dist/config/index.d.ts +117 -0
  6. package/dist/packem_chunks/CONFIG_FILES.js +1 -1
  7. package/dist/packem_chunks/bloom-status.js +1 -1
  8. package/dist/packem_chunks/bloom-sync.js +1 -1
  9. package/dist/packem_chunks/cargo-plan.js +3 -0
  10. package/dist/packem_chunks/catalog.js +50 -50
  11. package/dist/packem_chunks/cli-exec.js +1 -1
  12. package/dist/packem_chunks/cli-main.js +146 -142
  13. package/dist/packem_chunks/composer-projects.js +2 -0
  14. package/dist/packem_chunks/dart-plan.js +1 -0
  15. package/dist/packem_chunks/dart-projects.js +1 -0
  16. package/dist/packem_chunks/dispatch.js +1 -1
  17. package/dist/packem_chunks/fix.js +1 -1
  18. package/dist/packem_chunks/gem-plan.js +2 -0
  19. package/dist/packem_chunks/gem-projects.js +1 -0
  20. package/dist/packem_chunks/git.js +5 -5
  21. package/dist/packem_chunks/go-plan.js +1 -0
  22. package/dist/packem_chunks/go-projects.js +2 -0
  23. package/dist/packem_chunks/gradle-plan.js +1 -0
  24. package/dist/packem_chunks/handler.js +1 -1
  25. package/dist/packem_chunks/handler10.js +1 -1
  26. package/dist/packem_chunks/handler11.js +1 -1
  27. package/dist/packem_chunks/handler12.js +1 -1
  28. package/dist/packem_chunks/handler13.js +1 -1
  29. package/dist/packem_chunks/handler14.js +1 -1
  30. package/dist/packem_chunks/handler15.js +1 -1
  31. package/dist/packem_chunks/handler16.js +1 -1
  32. package/dist/packem_chunks/handler17.js +1 -1
  33. package/dist/packem_chunks/handler18.js +1 -1
  34. package/dist/packem_chunks/handler19.js +1 -1
  35. package/dist/packem_chunks/handler2.js +1 -1
  36. package/dist/packem_chunks/handler20.js +2 -2
  37. package/dist/packem_chunks/handler21.js +1 -1
  38. package/dist/packem_chunks/handler22.js +1 -1
  39. package/dist/packem_chunks/handler23.js +1 -1
  40. package/dist/packem_chunks/handler24.js +1 -1
  41. package/dist/packem_chunks/handler26.js +1 -1
  42. package/dist/packem_chunks/handler27.js +1 -1
  43. package/dist/packem_chunks/handler28.js +1 -1
  44. package/dist/packem_chunks/handler29.js +1 -1
  45. package/dist/packem_chunks/handler3.js +2 -2
  46. package/dist/packem_chunks/handler30.js +1 -1
  47. package/dist/packem_chunks/handler39.js +6 -6
  48. package/dist/packem_chunks/handler4.js +3 -3
  49. package/dist/packem_chunks/handler5.js +1 -1
  50. package/dist/packem_chunks/handler50.js +1 -1
  51. package/dist/packem_chunks/handler51.js +1 -1
  52. package/dist/packem_chunks/handler52.js +3 -3
  53. package/dist/packem_chunks/handler53.js +1 -1
  54. package/dist/packem_chunks/handler54.js +2 -2
  55. package/dist/packem_chunks/handler55.js +1 -1
  56. package/dist/packem_chunks/handler58.js +3 -3
  57. package/dist/packem_chunks/handler59.js +1 -1
  58. package/dist/packem_chunks/handler6.js +5 -5
  59. package/dist/packem_chunks/handler60.js +1 -1
  60. package/dist/packem_chunks/handler61.js +1 -1
  61. package/dist/packem_chunks/handler62.js +1 -1
  62. package/dist/packem_chunks/handler63.js +1 -1
  63. package/dist/packem_chunks/handler64.js +1 -1
  64. package/dist/packem_chunks/handler65.js +4 -4
  65. package/dist/packem_chunks/handler66.js +1 -1
  66. package/dist/packem_chunks/handler67.js +10 -10
  67. package/dist/packem_chunks/handler68.js +1 -1
  68. package/dist/packem_chunks/handler69.js +1 -1
  69. package/dist/packem_chunks/handler7.js +1 -1
  70. package/dist/packem_chunks/handler70.js +4 -4
  71. package/dist/packem_chunks/handler71.js +6 -6
  72. package/dist/packem_chunks/handler72.js +1 -1
  73. package/dist/packem_chunks/handler73.js +87 -86
  74. package/dist/packem_chunks/handler74.js +1 -1
  75. package/dist/packem_chunks/handler75.js +31 -31
  76. package/dist/packem_chunks/handler76.js +4 -4
  77. package/dist/packem_chunks/handler77.js +1 -1
  78. package/dist/packem_chunks/handler78.js +64 -64
  79. package/dist/packem_chunks/handler8.js +1 -1
  80. package/dist/packem_chunks/handler9.js +1 -1
  81. package/dist/packem_chunks/heal-accept.js +1 -1
  82. package/dist/packem_chunks/heal.js +1 -1
  83. package/dist/packem_chunks/help-command.js +7 -7
  84. package/dist/packem_chunks/hex-plan.js +3 -0
  85. package/dist/packem_chunks/hex-projects.js +1 -0
  86. package/dist/packem_chunks/index2.js +52 -42
  87. package/dist/packem_chunks/index4.js +58 -802
  88. package/dist/packem_chunks/index5.js +802 -7
  89. package/dist/packem_chunks/index6.js +7 -59
  90. package/dist/packem_chunks/keys-refresh.js +1 -1
  91. package/dist/packem_chunks/lean.js +1 -1
  92. package/dist/packem_chunks/list.js +1 -1
  93. package/dist/packem_chunks/loader.js +1 -1
  94. package/dist/packem_chunks/maven-plan.js +1 -0
  95. package/dist/packem_chunks/maven-projects.js +1 -0
  96. package/dist/packem_chunks/nuget-plan.js +1 -0
  97. package/dist/packem_chunks/nuget-projects.js +1 -0
  98. package/dist/packem_chunks/orchestrator.js +33 -33
  99. package/dist/packem_chunks/prune.js +1 -1
  100. package/dist/packem_chunks/python-plan.js +3 -0
  101. package/dist/packem_chunks/python-projects.js +1 -0
  102. package/dist/packem_chunks/security.js +1 -1
  103. package/dist/packem_chunks/snapshot.js +2 -2
  104. package/dist/packem_chunks/status.js +1 -1
  105. package/dist/packem_chunks/swift-projects.js +1 -0
  106. package/dist/packem_chunks/sync.js +3 -2
  107. package/dist/packem_chunks/sync2.js +1 -1
  108. package/dist/packem_chunks/tripwire.js +1 -1
  109. package/dist/packem_chunks/ts-loader.js +5 -5
  110. package/dist/packem_chunks/verify-lockfile.js +1 -1
  111. package/dist/packem_chunks/version-resolver.js +3 -3
  112. package/dist/packem_chunks/zig-plan.js +1 -0
  113. package/dist/packem_chunks/zig-projects.js +1 -0
  114. package/dist/packem_shared/Table-BB8xHTU5-BLPS917D.js +11 -0
  115. package/dist/packem_shared/affected-selection-BzIbfpA1.js +1 -0
  116. package/dist/packem_shared/{affected-shas-Dd0P7fGD.js → affected-shas-B2V84O0g.js} +1 -1
  117. package/dist/packem_shared/{ai-analysis-DSQQDFU9.js → ai-analysis-Cfj24UAy.js} +1 -1
  118. package/dist/packem_shared/{ai-fix-BHyx1F1j.js → ai-fix-DeRUtT-s.js} +1 -1
  119. package/dist/packem_shared/{augment-COAiXSIx.js → augment-B9kSZuvW.js} +1 -1
  120. package/dist/packem_shared/{bin-Bq3tJmvE.js → bin-D9TsVhq2.js} +1 -1
  121. package/dist/packem_shared/{build-scripts-pdVmqXRm.js → build-scripts-CEDx_nJp.js} +1 -1
  122. package/dist/packem_shared/{command-runtime-CiLVo4ED.js → command-runtime-p4IXiIf6.js} +1 -1
  123. package/dist/packem_shared/composer-DR3D-Psb.js +1 -0
  124. package/dist/packem_shared/dart-pubspec-BK_cK2EP.js +2 -0
  125. package/dist/packem_shared/{dependency-scan-DBH2Qo4I.js → dependency-scan-B8jroa1D.js} +1 -1
  126. package/dist/packem_shared/{docker-Dy-X_BuM.js → docker-DXqV-07f.js} +1 -1
  127. package/dist/packem_shared/ecosystem-gate-1M3wnsTr.js +6 -0
  128. package/dist/packem_shared/{failure-log-3R522Vb5.js → failure-log-D2x5BT8S.js} +1 -1
  129. package/dist/packem_shared/{formatBytes-BHAzNIrn-XohRrPdt.js → formatBytes-BHAzNIrn-CrusHOew.js} +1 -1
  130. package/dist/packem_shared/gemspec-K7N05xxc.js +3 -0
  131. package/dist/packem_shared/glob-Cyk1H9ZL-Dxlf9Swz.js +1 -0
  132. package/dist/packem_shared/go-modules-BsVqtyeC.js +1 -0
  133. package/dist/packem_shared/gradle-build-CHZDHyjI.js +8 -0
  134. package/dist/packem_shared/index-BO8qIogg.js +1 -0
  135. package/dist/packem_shared/index-BzhrR_iC.js +22 -0
  136. package/dist/packem_shared/{index-Vm90Te96.js → index-CNYv9D8g.js} +1 -1
  137. package/dist/packem_shared/{isAccessibleSync-DYKTrrvc-CSnBISfV.js → isAccessibleSync-DYKTrrvc-C-_5cgwu.js} +1 -1
  138. package/dist/packem_shared/{lifecycle-CAIJbxIa.js → lifecycle-D6PMPor-.js} +1 -1
  139. package/dist/packem_shared/{lockfile-DVFySxTS.js → lockfile-CiUtEbnt.js} +1 -1
  140. package/dist/packem_shared/{manifests-BNSmpPF_.js → manifests-Du4yKlf_.js} +1 -1
  141. package/dist/packem_shared/maven-pom-B0KG9kJQ.js +1 -0
  142. package/dist/packem_shared/{min-release-age-ChzTC7_I.js → min-release-age-JViyQuBM.js} +1 -1
  143. package/dist/packem_shared/missing-package-json-DnHMxRnG.js +1 -0
  144. package/dist/packem_shared/mix-project-RYvdZp3_.js +2 -0
  145. package/dist/packem_shared/multi-eco-lockfiles-CUUxUjHK.js +1 -0
  146. package/dist/packem_shared/{native-config-sync-BSzU4qUO.js → native-config-sync-TdTWjVgI.js} +2 -2
  147. package/dist/packem_shared/nuget-project-RApYSW_y.js +4 -0
  148. package/dist/packem_shared/{osv-bloom-JYIWcH3F.js → osv-bloom-BCAX5ARR.js} +1 -1
  149. package/dist/packem_shared/package-version-DUcG-b7S.js +4 -0
  150. package/dist/packem_shared/{packument-DyuhH1Gz.js → packument-CyGSNquL.js} +1 -1
  151. package/dist/packem_shared/{pm-runner-d93_73O6.js → pm-runner-CMSml1Bj.js} +1 -1
  152. package/dist/packem_shared/{project-name-filter-CC5FF49q.js → project-name-filter--bq-FL2f.js} +1 -1
  153. package/dist/packem_shared/{provenance-BH80RHXx.js → provenance-DyF0b6KX.js} +1 -1
  154. package/dist/packem_shared/{readJsonSync-CbryXYxN-B2aSeDpC.js → readJsonSync-CbryXYxN-EWl7_7KX.js} +1 -1
  155. package/dist/packem_shared/{registry-keys-BWHRFWbb.js → registry-keys-DwB3ZXS_.js} +1 -1
  156. package/dist/packem_shared/{resolve-explicit-DuJ3mbzt.js → resolve-explicit-BjCEm0s-.js} +1 -1
  157. package/dist/packem_shared/resolve-runtime-CNiHcVtx.js +1 -0
  158. package/dist/packem_shared/{run-file-jMngGQhs.js → run-file-UBukWaha.js} +1 -1
  159. package/dist/packem_shared/{runtime-check-BklgEMkC.js → runtime-check-1U8HrQd9.js} +1 -1
  160. package/dist/packem_shared/{s1ngularity-BJ5j2vbJ.js → s1ngularity-YfmkD_AH.js} +1 -1
  161. package/dist/packem_shared/scan-progress-C_zaZjyY.js +2 -0
  162. package/dist/packem_shared/{selectors-B7lSFz7l.js → selectors-edwcgNl3.js} +1 -1
  163. package/dist/packem_shared/{signatures-BP042BlB.js → signatures-CL3ckp_Y.js} +1 -1
  164. package/dist/packem_shared/{spinner-BM_0Bj6x.js → spinner-DuB0K0Am.js} +1 -1
  165. package/dist/packem_shared/swift-package-B6X5kzQE.js +1 -0
  166. package/dist/packem_shared/{tabs-UDYQ3tqt.js → tabs-RZd_e1M0.js} +1 -1
  167. package/dist/packem_shared/{target-merge-B4No-LHM.js → target-merge-DVJl-7Qz.js} +1 -1
  168. package/dist/packem_shared/{target-options-d_rIrLyq.js → target-options-DsHFmRZH.js} +1 -1
  169. package/dist/packem_shared/{toolchain-DY11tPCw.js → toolchain-BRdpaAC4.js} +1 -1
  170. package/dist/packem_shared/{typosquats-CSkIFgF5.js → typosquats-8u0drCqQ.js} +1 -1
  171. package/dist/packem_shared/{use-measured-height-BPQg2q_p.js → use-measured-height-DWkDV9Dj.js} +1 -1
  172. package/dist/packem_shared/verify-B_MblU_Q.js +1 -0
  173. package/dist/packem_shared/{vis-update-app-CR21zyht.js → vis-update-app-D73C__fx.js} +1 -1
  174. package/dist/packem_shared/{vis-user-error-qqqhLoF6.js → vis-user-error-Cpg2FqA4.js} +15 -15
  175. package/dist/packem_shared/{watch-Dswvj6Zp.js → watch-CcTketln.js} +1 -1
  176. package/dist/packem_shared/{watch-loop-COWvvSbR.js → watch-loop-qRn0IHPG.js} +1 -1
  177. package/dist/packem_shared/{writeFileSync-DJoHk3Ks-CgQ-VNNT.js → writeFileSync-DJoHk3Ks-BPRoepNw.js} +1 -1
  178. package/dist/packem_shared/zig-manifest-P7ydLEOa.js +7 -0
  179. package/dist/release/plugin-sdk.d.ts +1 -1
  180. package/dist/release/types.d.ts +133 -7
  181. package/dist/runtime/preload.js +1 -1
  182. package/index.js +52 -52
  183. package/package.json +12 -12
  184. package/schemas/vis-config.schema.json +279 -5
  185. package/schemas/vis-release-config.schema.json +132 -5
  186. package/dist/packem_shared/Table-kgZ-Cd21-DdNsp69H.js +0 -9
  187. package/dist/packem_shared/advisories-0ScpWAHV.js +0 -1
  188. package/dist/packem_shared/affected-selection-Bt4qkPUb.js +0 -1
  189. package/dist/packem_shared/cyclonedx-CX2fFvDi.js +0 -4
  190. package/dist/packem_shared/glob-Cyk1H9ZL-ox19CSsT.js +0 -1
  191. package/dist/packem_shared/index-Czrll7SU.js +0 -1
  192. package/dist/packem_shared/index-DHD8wb6Z.js +0 -22
  193. package/dist/packem_shared/missing-package-json-C0keIt78.js +0 -1
  194. package/dist/packem_shared/package-version-DFlytdgJ.js +0 -4
  195. package/dist/packem_shared/resolve-runtime-C7NBCA1C.js +0 -1
  196. package/dist/packem_shared/scan-progress-DRIGQRMr.js +0 -2
  197. package/dist/packem_shared/verify-D8wYvB85.js +0 -1
@@ -1,5 +1,5 @@
1
- import{createRequire as Ge}from"node:module";import{z as F,g as Ye,d as Ze,r as Ke,T as Ce,C as et,U as j,m as _,a as P,k as X,e as h,h as $e,v as ae,G as Y,t as tt,L as nt,l as ot}from"../packem_shared/index-DHD8wb6Z.js";import{parse as it}from"./index6.js";import{y as $}from"../packem_shared/isAccessibleSync-DYKTrrvc-CSnBISfV.js";import{transformTs as je}from"#native";let He;const ze=e=>(He??=Ge(import.meta.url))(e),U=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,pe=e=>{if(typeof U<"u"&&U.versions&&U.versions.node){const[n,i]=U.versions.node.split(".").map(Number);if(n>22||n===22&&i>=3||n===20&&i>=16)return U.getBuiltinModule(e)}return ze(e)},{readFileSync:fe,writeFileSync:Qe,unlinkSync:Xe,statSync:Ie}=pe("node:fs"),re=pe("node:module"),{createRequire:Ee}=re,{pathToFileURL:Q,fileURLToPath:G}=pe("node:url");function st(e,n,i){const{beforeParse:t,buffer:o,compression:r,encoding:s="utf8",flag:p}={},c=F(e,{buffer:o,compression:r,encoding:s,flag:p}),f=typeof t=="function"?t(c):c;return Ye.parse(f,n)}function rt(e,n=!1){const i=e.length;let t=0,o="",r=0,s=16,p=0,c=0,f=0,a=0,m=0;function y(l,O){let b=0,g=0;for(;b<l;){let u=e.charCodeAt(t);if(u>=48&&u<=57)g=g*16+u-48;else if(u>=65&&u<=70)g=g*16+u-65+10;else if(u>=97&&u<=102)g=g*16+u-97+10;else break;t++,b++}return b<l&&(g=-1),g}function k(l){t=l,o="",r=0,s=16,m=0}function v(){let l=t;if(e.charCodeAt(t)===48)t++;else for(t++;t<e.length&&D(e.charCodeAt(t));)t++;if(t<e.length&&e.charCodeAt(t)===46)if(t++,t<e.length&&D(e.charCodeAt(t)))for(t++;t<e.length&&D(e.charCodeAt(t));)t++;else return m=3,e.substring(l,t);let O=t;if(t<e.length&&(e.charCodeAt(t)===69||e.charCodeAt(t)===101))if(t++,(t<e.length&&e.charCodeAt(t)===43||e.charCodeAt(t)===45)&&t++,t<e.length&&D(e.charCodeAt(t))){for(t++;t<e.length&&D(e.charCodeAt(t));)t++;O=t}else m=3;return e.substring(l,O)}function A(){let l="",O=t;for(;;){if(t>=i){l+=e.substring(O,t),m=2;break}const b=e.charCodeAt(t);if(b===34){l+=e.substring(O,t),t++;break}if(b===92){if(l+=e.substring(O,t),t++,t>=i){m=2;break}switch(e.charCodeAt(t++)){case 34:l+='"';break;case 92:l+="\\";break;case 47:l+="/";break;case 98:l+="\b";break;case 102:l+="\f";break;case 110:l+=`
2
- `;break;case 114:l+="\r";break;case 116:l+=" ";break;case 117:const u=y(4);u>=0?l+=String.fromCharCode(u):m=4;break;default:m=5}O=t;continue}if(b>=0&&b<=31)if(x(b)){l+=e.substring(O,t),m=2;break}else m=6;t++}return l}function N(){if(o="",m=0,r=t,c=p,a=f,t>=i)return r=i,s=17;let l=e.charCodeAt(t);if(ee(l)){do t++,o+=String.fromCharCode(l),l=e.charCodeAt(t);while(ee(l));return s=15}if(x(l))return t++,o+=String.fromCharCode(l),l===13&&e.charCodeAt(t)===10&&(t++,o+=`
3
- `),p++,f=t,s=14;switch(l){case 123:return t++,s=1;case 125:return t++,s=2;case 91:return t++,s=3;case 93:return t++,s=4;case 58:return t++,s=6;case 44:return t++,s=5;case 34:return t++,o=A(),s=10;case 47:const O=t-1;if(e.charCodeAt(t+1)===47){for(t+=2;t<i&&!x(e.charCodeAt(t));)t++;return o=e.substring(O,t),s=12}if(e.charCodeAt(t+1)===42){t+=2;const b=i-1;let g=!1;for(;t<b;){const u=e.charCodeAt(t);if(u===42&&e.charCodeAt(t+1)===47){t+=2,g=!0;break}t++,x(u)&&(u===13&&e.charCodeAt(t)===10&&t++,p++,f=t)}return g||(t++,m=1),o=e.substring(O,t),s=13}return o+=String.fromCharCode(l),t++,s=16;case 45:if(o+=String.fromCharCode(l),t++,t===i||!D(e.charCodeAt(t)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=v(),s=11;default:for(;t<i&&L(l);)t++,l=e.charCodeAt(t);if(r!==t){switch(o=e.substring(r,t),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(l),t++,s=16}}function L(l){if(ee(l)||x(l))return!1;switch(l){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function d(){let l;do l=N();while(l>=12&&l<=15);return l}return{setPosition:k,getPosition:()=>t,scan:n?d:N,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>r,getTokenLength:()=>t-r,getTokenStartLine:()=>c,getTokenStartCharacter:()=>r-a,getTokenError:()=>m}}function ee(e){return e===32||e===9}function x(e){return e===10||e===13}function D(e){return e>=48&&e<=57}var de;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(de||(de={}));var Z;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Z||(Z={}));function lt(e,n=[],i=Z.DEFAULT){let t=null,o=[];const r=[];function s(c){Array.isArray(o)?o.push(c):t!==null&&(o[t]=c)}return ct(e,{onObjectBegin:()=>{const c={};s(c),r.push(o),o=c,t=null},onObjectProperty:c=>{t=c},onObjectEnd:()=>{o=r.pop()},onArrayBegin:()=>{const c=[];s(c),r.push(o),o=c,t=null},onArrayEnd:()=>{o=r.pop()},onLiteralValue:s,onError:(c,f,a)=>{n.push({error:c,offset:f,length:a})}},i),o[0]}function ct(e,n,i=Z.DEFAULT){const t=rt(e,!1),o=[];let r=0;function s(w){return w?()=>r===0&&w(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter()):()=>!0}function p(w){return w?T=>r===0&&w(T,t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter()):()=>!0}function c(w){return w?T=>r===0&&w(T,t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter(),()=>o.slice()):()=>!0}function f(w){return w?()=>{r>0?r++:w(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter(),()=>o.slice())===!1&&(r=1)}:()=>!0}function a(w){return w?()=>{r>0&&r--,r===0&&w(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter())}:()=>!0}const m=f(n.onObjectBegin),y=c(n.onObjectProperty),k=a(n.onObjectEnd),v=f(n.onArrayBegin),A=a(n.onArrayEnd),N=c(n.onLiteralValue),L=p(n.onSeparator),d=s(n.onComment),l=p(n.onError),O=i&&i.disallowComments,b=i&&i.allowTrailingComma;function g(){for(;;){const w=t.scan();switch(t.getTokenError()){case 4:u(14);break;case 5:u(15);break;case 3:u(13);break;case 1:O||u(11);break;case 2:u(12);break;case 6:u(16);break}switch(w){case 12:case 13:O?u(10):d();break;case 16:u(1);break;case 15:case 14:break;default:return w}}}function u(w,T=[],me=[]){if(l(w),T.length+me.length>0){let q=t.getToken();for(;q!==17;){if(T.indexOf(q)!==-1){g();break}else if(me.indexOf(q)!==-1)break;q=g()}}}function E(w){const T=t.getTokenValue();return w?N(T):(y(T),o.push(T)),g(),!0}function B(){switch(t.getToken()){case 11:const w=t.getTokenValue();let T=Number(w);isNaN(T)&&(u(2),T=0),N(T);break;case 7:N(null);break;case 8:N(!0);break;case 9:N(!1);break;default:return!1}return g(),!0}function J(){return t.getToken()!==10?(u(3,[],[2,5]),!1):(E(!1),t.getToken()===6?(L(":"),g(),C()||u(4,[],[2,5])):u(5,[],[2,5]),o.pop(),!0)}function Je(){m(),g();let w=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(w||u(4,[],[]),L(","),g(),t.getToken()===2&&b)break}else w&&u(6,[],[]);J()||u(4,[],[2,5]),w=!0}return k(),t.getToken()!==2?u(7,[2],[]):g(),!0}function qe(){v(),g();let w=!0,T=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(T||u(4,[],[]),L(","),g(),t.getToken()===4&&b)break}else T&&u(6,[],[]);w?(o.push(0),w=!1):o[o.length-1]++,C()||u(4,[],[4,5]),T=!0}return A(),w||o.pop(),t.getToken()!==4?u(8,[4],[]):g(),!0}function C(){switch(t.getToken()){case 3:return qe();case 1:return Je();case 10:return E(!0);default:return B()}}return g(),t.getToken()===17?i.allowEmptyContent?!0:(u(4,[],[]),!1):C()?(t.getToken()!==17&&u(9,[],[]),!0):(u(4,[],[]),!1)}var ge;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(ge||(ge={}));var Oe;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(Oe||(Oe={}));const K=lt;var ke;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(ke||(ke={}));function ut(e){switch(e){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}const pt=(e,n,i,t)=>{if(e.length===0)return;const o=e[0],r=Ze(n,o.offset),s=new Ke(`${ut(o.error)} at offset ${o.offset}`);throw s.fileName=i,s.codeFrame=Ce(n,{start:r},{tabWidth:!1,...t}),s},ft=(e,n)=>{const{allowEmptyContent:i,allowTrailingComma:t=!0,beforeParse:o,buffer:r,color:s,compression:p,disallowComments:c,encoding:f="utf8",flag:a}=n??{},m=F(e,{buffer:r,compression:p,encoding:f,flag:a}),y=typeof o=="function"?o(m):m,k=[],v=K(y,k,{allowEmptyContent:i,allowTrailingComma:t,disallowComments:c});return pt(k,y,et(e),{color:s}),v},at=(e,n)=>{const i=F(e,{encoding:"utf8",...n});return it(i)};var S={},be;function mt(){if(be)return S;be=1,Object.defineProperty(S,"__esModule",{value:!0});const e=d=>d!==null&&typeof d=="object",n=(d,l)=>Object.assign(new Error(`[${d}]: ${l}`),{code:d}),i="ERR_INVALID_PACKAGE_CONFIG",t="ERR_INVALID_PACKAGE_TARGET",o="ERR_PACKAGE_PATH_NOT_EXPORTED",r="ERR_PACKAGE_IMPORT_NOT_DEFINED",s=/^\d+$/,p=/^(\.{1,2}|node_modules)$/i,c=/\/|\\/;var f=(d=>(d.Export="exports",d.Import="imports",d))(f||{});const a=(d,l,O,b,g)=>{if(l==null)return[];if(typeof l=="string"){const[u,...E]=l.split(c);if(u===".."||E.some(B=>p.test(B)))throw n(t,`Invalid "${d}" target "${l}" defined in the package config`);return[g?l.replace(/\*/g,g):l]}if(Array.isArray(l))return l.flatMap(u=>a(d,u,O,b,g));if(e(l)){for(const u of Object.keys(l)){if(s.test(u))throw n(i,"Cannot contain numeric property keys");if(u==="default"||b.includes(u))return a(d,l[u],O,b,g)}return[]}throw n(t,`Invalid "${d}" target "${l}"`)},m="*",y=(d,l)=>{const O=d.indexOf(m),b=l.indexOf(m);return O===b?l.length>d.length:b>O};function k(d,l){if(!l.includes(m)&&d.hasOwnProperty(l))return[l];let O,b;for(const g of Object.keys(d))if(g.includes(m)){const[u,E,B]=g.split(m);if(B===void 0&&l.startsWith(u)&&l.endsWith(E)){const J=l.slice(u.length,-E.length||void 0);J&&(!O||y(O,g))&&(O=g,b=J)}}return[O,b]}const v=d=>Object.keys(d).reduce((l,O)=>{const b=O===""||O[0]!==".";if(l===void 0||l===b)return b;throw n(i,'"exports" cannot contain some keys starting with "." and some not')},void 0),A=/^\w+:/,N=(d,l,O)=>{if(!d)throw new Error('"exports" is required');l=l===""?".":`./${l}`,(typeof d=="string"||Array.isArray(d)||e(d)&&v(d))&&(d={".":d});const[b,g]=k(d,l),u=a(f.Export,d[b],l,O,g);if(u.length===0)throw n(o,l==="."?'No "exports" main defined':`Package subpath '${l}' is not defined by "exports"`);for(const E of u)if(!E.startsWith("./")&&!A.test(E))throw n(t,`Invalid "exports" target "${E}" defined in the package config`);return u},L=(d,l,O)=>{if(!d)throw new Error('"imports" is required');const[b,g]=k(d,l),u=a(f.Import,d[b],l,O,g);if(u.length===0)throw n(r,`Package import specifier "${l}" is not defined in package`);return u};return S.resolveExports=N,S.resolveImports=L,S}var dt=mt();let gt;const Ot=e=>(gt??=Ee(import.meta.url))(e),W=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Ne=e=>{if(typeof W<"u"&&W.versions&&W.versions.node){const[n,i]=W.versions.node.split(".").map(Number);if(n>22||n===22&&i>=3||n===20&&i>=16)return W.getBuiltinModule(e)}return Ot(e)},{statSync:H}=Ne("node:fs"),kt=Ne("node:module"),_e=(e=process.cwd())=>{const{findPnpApi:n}=kt;return n?n(e):void 0},bt=e=>K(F(e,{buffer:!1})),te=(e,n,i,t)=>{const o=`resolveFromPackageJsonPath:${e}:${n}:${i?"yes":"no"}`;if(t?.has(o))return t.get(o);const r=bt(e);if(!r)return;let s=n||"tsconfig.json";if(!i&&r.exports)try{const[p]=dt.resolveExports(r.exports,n,["require","types"]);s=p}catch{return!1}else!n&&r.tsconfig&&(s=r.tsconfig);return s=h(e,"..",s),t?.set(o,s),s},ne="package.json",oe="tsconfig.json",wt=(e,n,i)=>{let t=e;if(e===".."&&(t=h(t,oe)),e.startsWith(".")&&(t=j(n,t)),ae(t)){if($(t)){if(H(t).isFile())return t}else if(!t.endsWith(".json")){const k=`${t}.json`;if($(k))return k}return}const[o="",...r]=e.split("/"),s=o.startsWith("@")?`${o}/${String(r.shift())}`:o,p=r.join("/"),c=_e(n);if(c){const{resolveRequest:k}=c;try{if(s===e){const v=k(h(s,ne),n);if(v){const A=te(v,p,!1,i);if(A&&$(A))return A}}else{let v;try{v=k(e,n,{extensions:[".json"]})}catch{v=k(h(e,oe),n)}if(v)return v}}catch{}}const f=X(k=>{const v=h(j(k),"node_modules",s);if($(v))return h("node_modules",s)},{cwd:n,type:"directory"});if(!f||!H(f).isDirectory())return;const a=h(f,ne);if($(a)){const k=te(a,p,!1,i);if(k===!1)return;if(k&&$(k)&&H(k).isFile())return k}const m=h(f,p),y=m.endsWith(".json");if(!y){const k=`${m}.json`;if($(k))return k}if($(m)){if(H(m).isDirectory()){const k=h(m,ne);if($(k)){const A=te(k,"",!0,i);if(A&&$(A))return A}const v=h(m,oe);if($(v))return v}else if(y)return m}},Le=e=>{const n=j(e);let i;const t=_e(n);if(t)try{i=t.resolveRequest("typescript/package.json",n)??void 0}catch{}if(i??=X(o=>h(o,"node_modules","typescript","package.json"),{cwd:n,type:"file"}),!!i)try{const o=K(F(i,{buffer:!1}));if(typeof o?.version=="string")return o.version}catch{}},De=new Set(["node16","node18","node20","nodenext"]),Re=e=>e!==void 0&&De.has(e),vt=e=>{switch(e){case"node20":return"es2023";case"nodenext":return"esnext";default:return"es2022"}},yt=e=>e==="nodenext"?"nodenext":"node16",Tt=e=>{if(e==="nodenext")return"nodenext";if(e==="node16")return"node16"},Fe=(e,n,i)=>{const t=n.has("module")?e.module:void 0,o=n.has("moduleResolution")?e.moduleResolution:void 0;let r;t!==void 0&&De.has(t)?r=t:o!==void 0&&(r=Tt(o)),i.target!==void 0&&!n.has("target")&&(e.target=r?vt(r):i.target),n.has("module")||(e.module=r??i.module),n.has("moduleResolution")||(e.moduleResolution=r?yt(r):"bundler")},ht=(e,n)=>{!n.has("target")&&!Re(e.module)&&(e.target="es3")},At=(e,n)=>{!n.has("target")&&!Re(e.module)&&(e.target="es5")},It=(e,n)=>{n.has("strict")||(e.strict=!0),Fe(e,n,{module:"es2022",target:"es2025"}),n.has("rootDir")||(e.rootDir="."),n.has("types")||(e.types=[]),n.has("noUncheckedSideEffectImports")||(e.noUncheckedSideEffectImports=!0),n.has("libReplacement")||(e.libReplacement=!1),n.has("alwaysStrict")||(e.alwaysStrict=!0)},Et=(e,n)=>{Fe(e,n,{module:"esnext"}),n.has("stableTypeOrdering")||(e.stableTypeOrdering=!0)},$t=[[4,ht],[5,At],[6,It],[7,Et]],jt=/^v?(\d+)/,Nt=e=>{const n=jt.exec(e);return n?Number(n[1]):void 0},_t=(e,n)=>{const i=Nt(n);if(i===void 0)return;const t=new Set(Object.keys(e));for(const[o,r]of $t)o<=i&&r(e,t)},Lt=e=>K(F(e,{buffer:!1})),Dt=e=>e.replaceAll("\\","/"),M=e=>{const n=tt(e);return nt(n)?n:`./${n}`},le=["files","include","exclude"],we=(e,n,i)=>{const t=h(n,i),o=P(e,t);return Y(o)||"./"},Rt=(e,n,i)=>{const t=P(e,n);if(!t)return i;const o=i.startsWith("./")?i.slice(2):i;return`${t}/${o}`},Ft=(e,n,i,t,o)=>{if(i.has(e))throw new Error(`Circularity detected while resolving configuration: ${e}`);i.add(e);const r=_(e),s=Be(e,t,i,o);delete s.references;const{compilerOptions:p}=s;if(p){const{baseUrl:c}=p;c&&!c.startsWith(I)&&(p.baseUrl=we(n,r,c));const{outDir:f}=p;f&&!f.startsWith(I)&&(p.outDir=we(n,r,f))}for(const c of le){const f=s[c];f&&(s[c]=f.map(a=>a.startsWith(I)||ae(a)?a:Rt(n,r,a)))}return s},Be=(e,n,i=new Set,t=new Map)=>{let o;try{o=Lt(e)??{}}catch(s){throw new Error(`Cannot resolve tsconfig at path: ${e}`,{cause:s})}if(typeof o!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const r=_(e);if(o.compilerOptions){const{compilerOptions:s}=o;s.paths&&!s.baseUrl&&(s[Ue]=r)}if(o.extends){const s=Array.isArray(o.extends)?o.extends:[o.extends];delete o.extends;const p=s.toReversed();for(let c=0;c<p.length;c++){const f=p[c],a=wt(f,r,t);if(!a)throw new $e(`No such file or directory, for '${f}' found.`);const m=Ft(a,r,new Set(i),n,t);m.compilerOptions?.rootDir!==void 0&&!m.compilerOptions.rootDir.startsWith(I)&&(m.compilerOptions.rootDir=h(_(a),m.compilerOptions.rootDir));const y={...m,...o,compilerOptions:{...m.compilerOptions,...o.compilerOptions}};m.watchOptions&&(y.watchOptions={...m.watchOptions,...o.watchOptions}),o=y}}if(o.compilerOptions){const{compilerOptions:s}=o;for(const p of["baseUrl","rootDir"]){const c=s[p];if(c&&!c.startsWith(I)){const f=j(r,c);s[p]=M(P(r,f))}}for(const p of["outDir","declarationDir"]){let c=s[p];c&&(Array.isArray(o.exclude)||(o.exclude=["outDir","declarationDir"].map(f=>{const a=s[f];if(a)return a.startsWith(I)||ae(a)?a:h(r,a)}).filter(Boolean)),c.startsWith(I)||(c=M(c)),s[p]=c)}}else o.compilerOptions={};if(o.include&&(o.include=o.include.map(s=>Dt(s))),o.files&&(o.files=o.files.map(s=>s.startsWith(I)?s:M(s))),o.watchOptions){const{watchOptions:s}=o;s.excludeDirectories&&(s.excludeDirectories=s.excludeDirectories.map(p=>Y(j(r,p)))),s.excludeFiles&&(s.excludeFiles=s.excludeFiles.map(p=>Y(j(r,p)))),s.watchFile&&(s.watchFile=s.watchFile.toLowerCase()),s.watchDirectory&&(s.watchDirectory=s.watchDirectory.toLowerCase()),s.fallbackPolling&&(s.fallbackPolling=s.fallbackPolling.toLowerCase())}if(o.compilerOptions.lib&&(o.compilerOptions.lib=o.compilerOptions.lib.map(s=>s.toLowerCase())),o.compilerOptions.module){let s=o.compilerOptions.module.toLowerCase();s==="es2015"&&(s="es6"),o.compilerOptions.module=s}if(o.compilerOptions.target){let s=o.compilerOptions.target.toLowerCase();s==="es2015"&&(s="es6"),o.compilerOptions.target=s}if(o.compilerOptions.moduleResolution){let s=o.compilerOptions.moduleResolution.toLowerCase();s==="node"&&(s="node10"),o.compilerOptions.moduleResolution=s}return o.compilerOptions.jsx&&(o.compilerOptions.jsx=o.compilerOptions.jsx.toLowerCase()),o.compilerOptions.moduleDetection&&(o.compilerOptions.moduleDetection=o.compilerOptions.moduleDetection.toLowerCase()),o.compilerOptions.importsNotUsedAsValues&&(o.compilerOptions.importsNotUsedAsValues=o.compilerOptions.importsNotUsedAsValues.toLowerCase()),o.compilerOptions.newLine&&(o.compilerOptions.newLine=o.compilerOptions.newLine.toLowerCase()),o},z=(e,n)=>{if(e.startsWith(I))return Y(h(n,e.slice(I.length)))},Bt=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],ve=e=>e==="es2022"||e==="es2023"||e==="es2024"||e==="es2025"||e==="esnext",Ut=(e,n)=>{if(e.compilerOptions===void 0)return e;if(e.compilerOptions.rewriteRelativeImportExtensions&&(e.compilerOptions.allowImportingTsExtensions??=!0),e.compilerOptions.composite&&(e.compilerOptions.declaration??=!0,e.compilerOptions.incremental??=!0),e.compilerOptions.checkJs&&(e.compilerOptions.allowJs??=!0),e.compilerOptions.verbatimModuleSyntax&&(e.compilerOptions.isolatedModules??=!0,e.compilerOptions.preserveConstEnums??=!0),["5.4","5.5","5.6","5.7","5.8","5.9"].includes(String(n?.tscCompatible))){if(e.compilerOptions.esModuleInterop===void 0&&(e.compilerOptions.module==="node16"||e.compilerOptions.module==="node18"||e.compilerOptions.module==="node20"||e.compilerOptions.module==="nodenext"||e.compilerOptions.module==="preserve")&&(e.compilerOptions.esModuleInterop=!0),e.compilerOptions.moduleDetection===void 0&&e.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(e.compilerOptions.module)&&(e.compilerOptions.moduleDetection="force"),e.compilerOptions.moduleResolution===void 0){let i="classic";if(e.compilerOptions.module!==void 0)switch(e.compilerOptions.module.toLocaleLowerCase()){case"commonjs":{i="node10";break}case"node16":case"node18":{i="node16";break}case"node20":{i="node16";break}case"nodenext":{i="nodenext";break}case"preserve":{i="bundler";break}}i!=="classic"&&(e.compilerOptions.moduleResolution=i)}if(e.compilerOptions.moduleResolution==="bundler"&&(e.compilerOptions.resolveJsonModule??=!0),e.compilerOptions.module&&["node20","nodenext"].includes(e.compilerOptions.module)&&(e.compilerOptions.resolveJsonModule??=!0),(e.compilerOptions.esModuleInterop||e.compilerOptions.module==="system"||e.compilerOptions.moduleResolution==="bundler")&&e.compilerOptions.allowSyntheticDefaultImports===void 0&&(e.compilerOptions.allowSyntheticDefaultImports=!0),["5.7","5.8","5.9"].includes(String(n?.tscCompatible))&&e.compilerOptions.moduleResolution){let i=!1;["bundler","node16","nodenext"].includes(e.compilerOptions.moduleResolution.toLocaleLowerCase())&&(i=!0),e.compilerOptions.resolvePackageJsonExports===void 0&&i&&(e.compilerOptions.resolvePackageJsonExports=!0),e.compilerOptions.resolvePackageJsonImports===void 0&&i&&(e.compilerOptions.resolvePackageJsonImports=!0)}if(e.compilerOptions.target===void 0){let i="es5";switch(e.compilerOptions.module){case"node16":case"node18":{i="es2022";break}case"node20":{i="es2023";break}case"nodenext":{i="esnext";break}}i!=="es5"&&(e.compilerOptions.target=i)}e.compilerOptions.useDefineForClassFields===void 0&&e.compilerOptions.target&&ve(e.compilerOptions.target)&&(e.compilerOptions.useDefineForClassFields=!0)}if(["5.6","5.7","5.8","5.9"].includes(String(n?.tscCompatible))&&e.compilerOptions.strict&&e.compilerOptions.strictBuiltinIteratorReturn===void 0&&(e.compilerOptions.strictBuiltinIteratorReturn=!0),["5.4","5.5","5.6","5.7","5.8","5.9"].includes(String(n?.tscCompatible))&&(e.compilerOptions.strict&&(e.compilerOptions.noImplicitAny=e.compilerOptions.noImplicitAny??!0,e.compilerOptions.noImplicitThis=e.compilerOptions.noImplicitThis??!0,e.compilerOptions.strictNullChecks=e.compilerOptions.strictNullChecks??!0,e.compilerOptions.strictFunctionTypes=e.compilerOptions.strictFunctionTypes??!0,e.compilerOptions.strictBindCallApply=e.compilerOptions.strictBindCallApply??!0,e.compilerOptions.strictPropertyInitialization=e.compilerOptions.strictPropertyInitialization??!0,e.compilerOptions.alwaysStrict=e.compilerOptions.alwaysStrict??!0),e.compilerOptions.strict&&e.compilerOptions.useUnknownInCatchVariables===void 0&&(e.compilerOptions.useUnknownInCatchVariables=!0),e.compilerOptions.isolatedModules&&(e.compilerOptions.preserveConstEnums=e.compilerOptions.preserveConstEnums??!0)),["6.0","7.0","true"].includes(String(n?.tscCompatible))){if(e.compilerOptions.moduleDetection===void 0&&e.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(e.compilerOptions.module)&&(e.compilerOptions.moduleDetection="force"),e.compilerOptions.moduleResolution===void 0&&e.compilerOptions.module){const i=e.compilerOptions.module.toLocaleLowerCase();i==="node16"||i==="node18"||i==="node20"?e.compilerOptions.moduleResolution="node16":i==="nodenext"&&(e.compilerOptions.moduleResolution="nodenext")}if(e.compilerOptions.useDefineForClassFields===void 0&&e.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(e.compilerOptions.module)&&e.compilerOptions.target&&!ve(e.compilerOptions.target)&&(e.compilerOptions.useDefineForClassFields=!1),e.compilerOptions.isolatedModules&&e.compilerOptions.preserveConstEnums===void 0&&(e.compilerOptions.preserveConstEnums=!0),e.compilerOptions.resolveJsonModule===void 0){const i=e.compilerOptions.module,t=e.compilerOptions.moduleResolution?.toLocaleLowerCase();!(i!==void 0&&["node20","nodenext"].includes(i)||t==="bundler")&&t&&(e.compilerOptions.resolveJsonModule=!1)}if(e.compilerOptions.moduleResolution){const i=e.compilerOptions.moduleResolution.toLocaleLowerCase();["bundler","node16","nodenext"].includes(i)||(e.compilerOptions.resolvePackageJsonExports??=!1,e.compilerOptions.resolvePackageJsonImports??=!1)}}return e.compileOnSave===!1&&delete e.compileOnSave,e},xt=(e,n)=>{const i=e?.typescriptVersion;if(!(i===!1||i===void 0))return i==="auto"?Le(n):i},I="${configDir}",Ue=Symbol("implicitBaseUrl"),St=(e,n)=>{const i=j(e),t=Be(i,n),o=_(i),r=xt(n,o);r&&t.compilerOptions&&_t(t.compilerOptions,r);const{compilerOptions:s}=t;if(s){for(const c of Bt){const f=s[c];if(f){const a=z(f,o);s[c]=a?M(P(o,a)):f}}for(const c of["rootDirs","typeRoots"]){const f=s[c];f&&(s[c]=f.map(a=>{const m=z(a,o);return m?M(P(o,m)):a}))}const{paths:p}=s;if(p){const c=Object.keys(p);for(let f=0;f<c.length;f++){const a=c[f];p[a]=p[a].map(m=>z(m,o)??m)}}}for(let p=0;p<le.length;p++){const c=le[p],f=t[c];f&&(t[c]=f.map(a=>z(a,o)??a))}return Ut(t,n)};let Wt;const Vt=e=>(Wt??=Ee(import.meta.url))(e),V=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Mt=e=>{if(typeof V<"u"&&V.versions&&V.versions.node){const[n,i]=V.versions.node.split(".").map(Number);if(n>22||n===22&&i>=3||n===20&&i>=16)return V.getBuiltinModule(e)}return Vt(e)},{statSync:Pt}=Mt("node:fs"),Jt=new Map,ce=new WeakMap,qt="tsconfig.json",xe=e=>{try{return Pt(e).mtimeMs}catch{return 0}},Gt=(e,n)=>{let i=String(n.typescriptVersion);return n.typescriptVersion==="auto"&&(i=`auto:${String(Le(_(e)))}`),`${e}::${String(n.tscCompatible)}::${i}`},Ht=(e,n,i)=>{if(e.has(n)&&ce.get(e)?.get(n)===xe(i))return e.get(n)},zt=(e,n,i,t)=>{e.set(n,t);let o=ce.get(e);o||(o=new Map,ce.set(e,o)),o.set(n,xe(i))},Qt=(e,n={})=>{const i=n.configFileName??qt,t=n.configFileName===void 0;let o=X(i,{...e&&{cwd:e},type:"file"});if(!o&&t&&(o=X("jsconfig.json",{...e&&{cwd:e},type:"file"})),!o)throw new $e(t?`No such file or directory, for '${i}' or 'jsconfig.json' found.`:`No such file or directory, for '${i}' found.`);const r=n.cache&&typeof n.cache!="boolean"?n.cache:Jt,s=Gt(o,n);if(n.cache){const c=Ht(r,s,o);if(c)return c}const p={config:St(o,{tscCompatible:n.tscCompatible,typescriptVersion:n.typescriptVersion}),path:o};return n.cache&&zt(r,s,o,p),p},Xt=/\.[cm]?tsx?$/,Yt=[".yaml",".yml",".toml",".jsonc",".json5",".txt"],Se=/\.(?:ya?ml|toml|jsonc|json5|txt)$/,Zt=e=>e.endsWith(".yaml")||e.endsWith(".yml")?ot(e):e.endsWith(".toml")?at(e):e.endsWith(".jsonc")?ft(e,{allowTrailingComma:!0}):e.endsWith(".json5")?st(e):fe(e,"utf8"),ue=e=>e===void 0?"undefined":e===null?"null":typeof e=="number"?Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":String(e):typeof e=="bigint"?`${e}n`:typeof e=="boolean"?String(e):typeof e=="string"?JSON.stringify(e):e instanceof Date?`new Date(${JSON.stringify(e.toISOString())})`:Array.isArray(e)?`[${e.map(n=>ue(n)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).map(([i,t])=>`${JSON.stringify(i)}:${ue(t)}`).join(",")}}`:"null",ie=new Map,Kt=(e,n)=>e.startsWith(I)?h(n,e.slice(I.length)):e,Ct=e=>{if(ie.has(e))return ie.get(e);let n;try{const{config:i,path:t}=Qt(e,{cache:!1}),o=_(t),r=i.compilerOptions,s=r?.paths??{};if(r!==void 0){const{baseUrl:p}=r;let c,f=!1;if(p===void 0){const a=r[Ue];c=typeof a=="string"?a:o}else f=!0,c=j(o,Kt(p,o));n={hasBaseUrl:f,paths:s,pathsBase:c}}}catch{n=void 0}return ie.set(e,n),n},We=(e,n)=>{const i=Ct(n);if(i===void 0)return;const{hasBaseUrl:t,pathsBase:o}=i,r=s=>Ve(s)??Me(s);for(const[s,p]of Object.entries(i.paths)){const c=s.indexOf("*");if(c===-1){if(s===e)for(const m of p){const y=r(j(o,m));if(y!==void 0)return y}continue}const f=s.slice(0,c),a=s.slice(c+1);if(e.startsWith(f)&&e.endsWith(a)&&e.length>=f.length+a.length){const m=e.slice(f.length,e.length-a.length);for(const y of p){const k=y.replace("*",m),v=r(j(o,k));if(v!==void 0)return v}}}if(t){const s=r(j(o,e));if(s!==void 0)return s}};let ye=!1,se=0,Te=!1,he=!1;const en=()=>{he||(he=!0,process.setSourceMapsEnabled?.(!0))},tn=e=>{const n=e.indexOf("?");return n===-1?e:e.slice(0,n)},nn=e=>e.endsWith(".cts")?"commonjs":"module",Ae=[".ts",".tsx",".mts",".cts",".js",".mjs",".cjs",".json"],R=e=>{try{return Ie(e).isFile()}catch{return!1}},on=e=>{try{return Ie(e).isDirectory()}catch{return!1}},sn=e=>{if(e.endsWith(".js"))return`${e.slice(0,-3)}.ts`;if(e.endsWith(".mjs"))return`${e.slice(0,-4)}.mts`;if(e.endsWith(".cjs"))return`${e.slice(0,-4)}.cts`},Ve=e=>{if(R(e))return e;const n=sn(e);if(n!==void 0&&R(n))return n;for(const i of Ae)if(R(e+i))return e+i;if(on(e))for(const i of Ae){const t=`${e}/index${i}`;if(R(t))return t}},Me=e=>{if(R(e)&&Se.test(e))return e;for(const n of Yt)if(R(e+n))return e+n},Pe=()=>{en();const{registerHooks:e}=re;return typeof e!="function"?!1:(ye||(e({load(n,i,t){const o=tn(n);if(o.startsWith("file:")&&Xt.test(o)){const r=G(o),{code:s}=je(r,fe(r,"utf8"));return{format:nn(r),shortCircuit:!0,source:s}}if(o.startsWith("file:")&&Se.test(o)){const r=G(o),s=Zt(r);return{format:"module",shortCircuit:!0,source:`export default ${ue(s)};
4
- `}}return t(n,i)},resolve(n,i,t){if((n.startsWith(".")||n.startsWith("/"))&&i.parentURL!==void 0){let o;try{o=new URL(n,i.parentURL)}catch{o=void 0}if(o?.protocol==="file:"){const r=G(o),s=Ve(r)??Me(r);if(s!==void 0)return{shortCircuit:!0,url:Q(s).href}}}if(i.parentURL!==void 0&&!n.startsWith(".")&&!n.startsWith("/")&&!n.startsWith("#")&&!n.startsWith("node:")&&!re.isBuiltin?.(n)){let o;try{o=_(G(i.parentURL))}catch{o=void 0}if(o!==void 0){const r=We(n,o);if(r!==void 0)return{shortCircuit:!0,url:Q(r).href}}}return t(n,i)}}),ye=!0),!0)},rn=()=>Pe(),ln=async e=>{if(se+=1,Pe())return await import(`${Q(e).href}?v=${String(se)}`);Te||(Te=!0,process.stderr.write(`vis: Node < 22.15 has no module.registerHooks — only the entry file is transpiled; local TypeScript imports won't load. Upgrade to Node >= 22.15 for full support.
5
- `));const{code:n}=je(e,fe(e,"utf8")),i=h(_(e),`.vis-ts-${String(se)}-${String(process.pid)}.mjs`);Qe(i,n);try{return await import(Q(i).href)}finally{try{Xe(i)}catch{}}},mn=Object.defineProperty({__proto__:null,importTs:ln,registerTsHooks:rn,resolveTsConfigPaths:We},Symbol.toStringTag,{value:"Module"});export{ln as i,at as m,rn as r,mn as t};
1
+ import{createRequire as ze}from"node:module";import{z as D,f as Ke,c as Ce,r as et,T as tt,C as nt,U as j,m as L,a as P,k as X,e as h,g as Ne,v as me,G as Y,t as ot,L as it}from"../packem_shared/index-BzhrR_iC.js";import{parse as st}from"./index4.js";import{L as ge}from"../packem_shared/index-BisalDCf.js";import{y as $}from"../packem_shared/isAccessibleSync-DYKTrrvc-C-_5cgwu.js";import{transformTs as Le}from"#native";let Qe;const Xe=e=>(Qe??=ze(import.meta.url))(e),U=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,fe=e=>{if(typeof U<"u"&&U.versions&&U.versions.node){const[n,i]=U.versions.node.split(".").map(Number);if(n>22||n===22&&i>=3||n===20&&i>=16)return U.getBuiltinModule(e)}return Xe(e)},{readFileSync:ae,writeFileSync:Ye,unlinkSync:Ze,statSync:$e}=fe("node:fs"),re=fe("node:module"),{createRequire:je}=re,{pathToFileURL:Q,fileURLToPath:G}=fe("node:url");function rt(e,n,i){const{beforeParse:t,buffer:o,compression:r,encoding:s="utf8",flag:f}={},c=D(e,{buffer:o,compression:r,encoding:s,flag:f}),u=typeof t=="function"?t(c):c;return Ke.parse(u,n)}function lt(e,n=!1){const i=e.length;let t=0,o="",r=0,s=16,f=0,c=0,u=0,a=0,m=0;function v(l,O){let k=0,g=0;for(;k<l;){let p=e.charCodeAt(t);if(p>=48&&p<=57)g=g*16+p-48;else if(p>=65&&p<=70)g=g*16+p-65+10;else if(p>=97&&p<=102)g=g*16+p-97+10;else break;t++,k++}return k<l&&(g=-1),g}function b(l){t=l,o="",r=0,s=16,m=0}function y(){let l=t;if(e.charCodeAt(t)===48)t++;else for(t++;t<e.length&&R(e.charCodeAt(t));)t++;if(t<e.length&&e.charCodeAt(t)===46)if(t++,t<e.length&&R(e.charCodeAt(t)))for(t++;t<e.length&&R(e.charCodeAt(t));)t++;else return m=3,e.substring(l,t);let O=t;if(t<e.length&&(e.charCodeAt(t)===69||e.charCodeAt(t)===101))if(t++,(t<e.length&&e.charCodeAt(t)===43||e.charCodeAt(t)===45)&&t++,t<e.length&&R(e.charCodeAt(t))){for(t++;t<e.length&&R(e.charCodeAt(t));)t++;O=t}else m=3;return e.substring(l,O)}function A(){let l="",O=t;for(;;){if(t>=i){l+=e.substring(O,t),m=2;break}const k=e.charCodeAt(t);if(k===34){l+=e.substring(O,t),t++;break}if(k===92){if(l+=e.substring(O,t),t++,t>=i){m=2;break}switch(e.charCodeAt(t++)){case 34:l+='"';break;case 92:l+="\\";break;case 47:l+="/";break;case 98:l+="\b";break;case 102:l+="\f";break;case 110:l+=`
2
+ `;break;case 114:l+="\r";break;case 116:l+=" ";break;case 117:const p=v(4);p>=0?l+=String.fromCharCode(p):m=4;break;default:m=5}O=t;continue}if(k>=0&&k<=31)if(x(k)){l+=e.substring(O,t),m=2;break}else m=6;t++}return l}function N(){if(o="",m=0,r=t,c=f,a=u,t>=i)return r=i,s=17;let l=e.charCodeAt(t);if(ee(l)){do t++,o+=String.fromCharCode(l),l=e.charCodeAt(t);while(ee(l));return s=15}if(x(l))return t++,o+=String.fromCharCode(l),l===13&&e.charCodeAt(t)===10&&(t++,o+=`
3
+ `),f++,u=t,s=14;switch(l){case 123:return t++,s=1;case 125:return t++,s=2;case 91:return t++,s=3;case 93:return t++,s=4;case 58:return t++,s=6;case 44:return t++,s=5;case 34:return t++,o=A(),s=10;case 47:const O=t-1;if(e.charCodeAt(t+1)===47){for(t+=2;t<i&&!x(e.charCodeAt(t));)t++;return o=e.substring(O,t),s=12}if(e.charCodeAt(t+1)===42){t+=2;const k=i-1;let g=!1;for(;t<k;){const p=e.charCodeAt(t);if(p===42&&e.charCodeAt(t+1)===47){t+=2,g=!0;break}t++,x(p)&&(p===13&&e.charCodeAt(t)===10&&t++,f++,u=t)}return g||(t++,m=1),o=e.substring(O,t),s=13}return o+=String.fromCharCode(l),t++,s=16;case 45:if(o+=String.fromCharCode(l),t++,t===i||!R(e.charCodeAt(t)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=y(),s=11;default:for(;t<i&&_(l);)t++,l=e.charCodeAt(t);if(r!==t){switch(o=e.substring(r,t),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(l),t++,s=16}}function _(l){if(ee(l)||x(l))return!1;switch(l){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function d(){let l;do l=N();while(l>=12&&l<=15);return l}return{setPosition:b,getPosition:()=>t,scan:n?d:N,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>r,getTokenLength:()=>t-r,getTokenStartLine:()=>c,getTokenStartCharacter:()=>r-a,getTokenError:()=>m}}function ee(e){return e===32||e===9}function x(e){return e===10||e===13}function R(e){return e>=48&&e<=57}var Oe;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(Oe||(Oe={}));var Z;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Z||(Z={}));function ct(e,n=[],i=Z.DEFAULT){let t=null,o=[];const r=[];function s(c){Array.isArray(o)?o.push(c):t!==null&&(o[t]=c)}return ut(e,{onObjectBegin:()=>{const c={};s(c),r.push(o),o=c,t=null},onObjectProperty:c=>{t=c},onObjectEnd:()=>{o=r.pop()},onArrayBegin:()=>{const c=[];s(c),r.push(o),o=c,t=null},onArrayEnd:()=>{o=r.pop()},onLiteralValue:s,onError:(c,u,a)=>{n.push({error:c,offset:u,length:a})}},i),o[0]}function ut(e,n,i=Z.DEFAULT){const t=lt(e,!1),o=[];let r=0;function s(w){return w?()=>r===0&&w(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter()):()=>!0}function f(w){return w?T=>r===0&&w(T,t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter()):()=>!0}function c(w){return w?T=>r===0&&w(T,t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter(),()=>o.slice()):()=>!0}function u(w){return w?()=>{r>0?r++:w(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter(),()=>o.slice())===!1&&(r=1)}:()=>!0}function a(w){return w?()=>{r>0&&r--,r===0&&w(t.getTokenOffset(),t.getTokenLength(),t.getTokenStartLine(),t.getTokenStartCharacter())}:()=>!0}const m=u(n.onObjectBegin),v=c(n.onObjectProperty),b=a(n.onObjectEnd),y=u(n.onArrayBegin),A=a(n.onArrayEnd),N=c(n.onLiteralValue),_=f(n.onSeparator),d=s(n.onComment),l=f(n.onError),O=i&&i.disallowComments,k=i&&i.allowTrailingComma;function g(){for(;;){const w=t.scan();switch(t.getTokenError()){case 4:p(14);break;case 5:p(15);break;case 3:p(13);break;case 1:O||p(11);break;case 2:p(12);break;case 6:p(16);break}switch(w){case 12:case 13:O?p(10):d();break;case 16:p(1);break;case 15:case 14:break;default:return w}}}function p(w,T=[],de=[]){if(l(w),T.length+de.length>0){let q=t.getToken();for(;q!==17;){if(T.indexOf(q)!==-1){g();break}else if(de.indexOf(q)!==-1)break;q=g()}}}function I(w){const T=t.getTokenValue();return w?N(T):(v(T),o.push(T)),g(),!0}function B(){switch(t.getToken()){case 11:const w=t.getTokenValue();let T=Number(w);isNaN(T)&&(p(2),T=0),N(T);break;case 7:N(null);break;case 8:N(!0);break;case 9:N(!1);break;default:return!1}return g(),!0}function J(){return t.getToken()!==10?(p(3,[],[2,5]),!1):(I(!1),t.getToken()===6?(_(":"),g(),C()||p(4,[],[2,5])):p(5,[],[2,5]),o.pop(),!0)}function Ge(){m(),g();let w=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(w||p(4,[],[]),_(","),g(),t.getToken()===2&&k)break}else w&&p(6,[],[]);J()||p(4,[],[2,5]),w=!0}return b(),t.getToken()!==2?p(7,[2],[]):g(),!0}function He(){y(),g();let w=!0,T=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(T||p(4,[],[]),_(","),g(),t.getToken()===4&&k)break}else T&&p(6,[],[]);w?(o.push(0),w=!1):o[o.length-1]++,C()||p(4,[],[4,5]),T=!0}return A(),w||o.pop(),t.getToken()!==4?p(8,[4],[]):g(),!0}function C(){switch(t.getToken()){case 3:return He();case 1:return Ge();case 10:return I(!0);default:return B()}}return g(),t.getToken()===17?i.allowEmptyContent?!0:(p(4,[],[]),!1):C()?(t.getToken()!==17&&p(9,[],[]),!0):(p(4,[],[]),!1)}var be;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(be||(be={}));var ke;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(ke||(ke={}));const K=ct;var we;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(we||(we={}));function pt(e){switch(e){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}const ft=(e,n,i,t)=>{if(e.length===0)return;const o=e[0],r=Ce(n,o.offset),s=new et(`${pt(o.error)} at offset ${o.offset}`);throw s.fileName=i,s.codeFrame=tt(n,{start:r},{tabWidth:!1,...t}),s},at=(e,n)=>{const{allowEmptyContent:i,allowTrailingComma:t=!0,beforeParse:o,buffer:r,color:s,compression:f,disallowComments:c,encoding:u="utf8",flag:a}=n??{},m=D(e,{buffer:r,compression:f,encoding:u,flag:a}),v=typeof o=="function"?o(m):m,b=[],y=K(v,b,{allowEmptyContent:i,allowTrailingComma:t,disallowComments:c});return ft(b,v,nt(e),{color:s}),y},le=e=>Array.isArray(e)?e.map(n=>le(n)):e!==null&&typeof e=="object"&&Object.getPrototypeOf(e)===null?Object.fromEntries(Object.entries(e).map(([n,i])=>[n,le(i)])):e,mt=(e,n)=>{const i=D(e,{encoding:"utf8",...n});return le(st(i))};function dt(e,n,i){const t={},{buffer:o,compression:r,encoding:s="utf8",flag:f,...c}=t,u=D(e,{buffer:o,compression:r,encoding:s,flag:f});return typeof n=="function"?ge(u,n,c):ge(u,c)}var S={},ye;function gt(){if(ye)return S;ye=1,Object.defineProperty(S,"__esModule",{value:!0});const e=d=>d!==null&&typeof d=="object",n=(d,l)=>Object.assign(new Error(`[${d}]: ${l}`),{code:d}),i="ERR_INVALID_PACKAGE_CONFIG",t="ERR_INVALID_PACKAGE_TARGET",o="ERR_PACKAGE_PATH_NOT_EXPORTED",r="ERR_PACKAGE_IMPORT_NOT_DEFINED",s=/^\d+$/,f=/^(\.{1,2}|node_modules)$/i,c=/\/|\\/;var u=(d=>(d.Export="exports",d.Import="imports",d))(u||{});const a=(d,l,O,k,g)=>{if(l==null)return[];if(typeof l=="string"){const[p,...I]=l.split(c);if(p===".."||I.some(B=>f.test(B)))throw n(t,`Invalid "${d}" target "${l}" defined in the package config`);return[g?l.replace(/\*/g,g):l]}if(Array.isArray(l))return l.flatMap(p=>a(d,p,O,k,g));if(e(l)){for(const p of Object.keys(l)){if(s.test(p))throw n(i,"Cannot contain numeric property keys");if(p==="default"||k.includes(p))return a(d,l[p],O,k,g)}return[]}throw n(t,`Invalid "${d}" target "${l}"`)},m="*",v=(d,l)=>{const O=d.indexOf(m),k=l.indexOf(m);return O===k?l.length>d.length:k>O};function b(d,l){if(!l.includes(m)&&d.hasOwnProperty(l))return[l];let O,k;for(const g of Object.keys(d))if(g.includes(m)){const[p,I,B]=g.split(m);if(B===void 0&&l.startsWith(p)&&l.endsWith(I)){const J=l.slice(p.length,-I.length||void 0);J&&(!O||v(O,g))&&(O=g,k=J)}}return[O,k]}const y=d=>Object.keys(d).reduce((l,O)=>{const k=O===""||O[0]!==".";if(l===void 0||l===k)return k;throw n(i,'"exports" cannot contain some keys starting with "." and some not')},void 0),A=/^\w+:/,N=(d,l,O)=>{if(!d)throw new Error('"exports" is required');l=l===""?".":`./${l}`,(typeof d=="string"||Array.isArray(d)||e(d)&&y(d))&&(d={".":d});const[k,g]=b(d,l),p=a(u.Export,d[k],l,O,g);if(p.length===0)throw n(o,l==="."?'No "exports" main defined':`Package subpath '${l}' is not defined by "exports"`);for(const I of p)if(!I.startsWith("./")&&!A.test(I))throw n(t,`Invalid "exports" target "${I}" defined in the package config`);return p},_=(d,l,O)=>{if(!d)throw new Error('"imports" is required');const[k,g]=b(d,l),p=a(u.Import,d[k],l,O,g);if(p.length===0)throw n(r,`Package import specifier "${l}" is not defined in package`);return p};return S.resolveExports=N,S.resolveImports=_,S}var Ot=gt();let bt;const kt=e=>(bt??=je(import.meta.url))(e),W=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,_e=e=>{if(typeof W<"u"&&W.versions&&W.versions.node){const[n,i]=W.versions.node.split(".").map(Number);if(n>22||n===22&&i>=3||n===20&&i>=16)return W.getBuiltinModule(e)}return kt(e)},{statSync:H}=_e("node:fs"),wt=_e("node:module"),De=(e=process.cwd())=>{const{findPnpApi:n}=wt;return n?n(e):void 0},yt=e=>K(D(e,{buffer:!1})),te=(e,n,i,t)=>{const o=`resolveFromPackageJsonPath:${e}:${n}:${i?"yes":"no"}`;if(t?.has(o))return t.get(o);const r=yt(e);if(!r)return;let s=n||"tsconfig.json";if(!i&&r.exports)try{const[f]=Ot.resolveExports(r.exports,n,["require","types"]);s=f}catch{return!1}else!n&&r.tsconfig&&(s=r.tsconfig);return s=h(e,"..",s),t?.set(o,s),s},ne="package.json",oe="tsconfig.json",vt=(e,n,i)=>{let t=e;if(e===".."&&(t=h(t,oe)),e.startsWith(".")&&(t=j(n,t)),me(t)){if($(t)){if(H(t).isFile())return t}else if(!t.endsWith(".json")){const b=`${t}.json`;if($(b))return b}return}const[o="",...r]=e.split("/"),s=o.startsWith("@")?`${o}/${String(r.shift())}`:o,f=r.join("/"),c=De(n);if(c){const{resolveRequest:b}=c;try{if(s===e){const y=b(h(s,ne),n);if(y){const A=te(y,f,!1,i);if(A&&$(A))return A}}else{let y;try{y=b(e,n,{extensions:[".json"]})}catch{y=b(h(e,oe),n)}if(y)return y}}catch{}}const u=X(b=>{const y=h(j(b),"node_modules",s);if($(y))return h("node_modules",s)},{cwd:n,type:"directory"});if(!u||!H(u).isDirectory())return;const a=h(u,ne);if($(a)){const b=te(a,f,!1,i);if(b===!1)return;if(b&&$(b)&&H(b).isFile())return b}const m=h(u,f),v=m.endsWith(".json");if(!v){const b=`${m}.json`;if($(b))return b}if($(m)){if(H(m).isDirectory()){const b=h(m,ne);if($(b)){const A=te(b,"",!0,i);if(A&&$(A))return A}const y=h(m,oe);if($(y))return y}else if(v)return m}},Re=e=>{const n=j(e);let i;const t=De(n);if(t)try{i=t.resolveRequest("typescript/package.json",n)??void 0}catch{}if(i??=X(o=>h(o,"node_modules","typescript","package.json"),{cwd:n,type:"file"}),!!i)try{const o=K(D(i,{buffer:!1}));if(typeof o?.version=="string")return o.version}catch{}},Fe=new Set(["node16","node18","node20","nodenext"]),Be=e=>e!==void 0&&Fe.has(e),Tt=e=>{switch(e){case"node20":return"es2023";case"nodenext":return"esnext";default:return"es2022"}},ht=e=>e==="nodenext"?"nodenext":"node16",At=e=>{if(e==="nodenext")return"nodenext";if(e==="node16")return"node16"},Ue=(e,n,i)=>{const t=n.has("module")?e.module:void 0,o=n.has("moduleResolution")?e.moduleResolution:void 0;let r;t!==void 0&&Fe.has(t)?r=t:o!==void 0&&(r=At(o)),i.target!==void 0&&!n.has("target")&&(e.target=r?Tt(r):i.target),n.has("module")||(e.module=r??i.module),n.has("moduleResolution")||(e.moduleResolution=r?ht(r):"bundler")},Et=(e,n)=>{!n.has("target")&&!Be(e.module)&&(e.target="es3")},It=(e,n)=>{!n.has("target")&&!Be(e.module)&&(e.target="es5")},$t=(e,n)=>{n.has("strict")||(e.strict=!0),Ue(e,n,{module:"es2022",target:"es2025"}),n.has("rootDir")||(e.rootDir="."),n.has("types")||(e.types=[]),n.has("noUncheckedSideEffectImports")||(e.noUncheckedSideEffectImports=!0),n.has("libReplacement")||(e.libReplacement=!1),n.has("alwaysStrict")||(e.alwaysStrict=!0)},jt=(e,n)=>{Ue(e,n,{module:"esnext"}),n.has("stableTypeOrdering")||(e.stableTypeOrdering=!0)},Nt=[[4,Et],[5,It],[6,$t],[7,jt]],Lt=/^v?(\d+)/,_t=e=>{const n=Lt.exec(e);return n?Number(n[1]):void 0},Dt=(e,n)=>{const i=_t(n);if(i===void 0)return;const t=new Set(Object.keys(e));for(const[o,r]of Nt)o<=i&&r(e,t)},Rt=e=>K(D(e,{buffer:!1})),Ft=e=>e.replaceAll("\\","/"),M=e=>{const n=ot(e);return it(n)?n:`./${n}`},ce=["files","include","exclude"],ve=(e,n,i)=>{const t=h(n,i),o=P(e,t);return Y(o)||"./"},Bt=(e,n,i)=>{const t=P(e,n);if(!t)return i;const o=i.startsWith("./")?i.slice(2):i;return`${t}/${o}`},Ut=(e,n,i,t,o)=>{if(i.has(e))throw new Error(`Circularity detected while resolving configuration: ${e}`);i.add(e);const r=L(e),s=xe(e,t,i,o);delete s.references;const{compilerOptions:f}=s;if(f){const{baseUrl:c}=f;c&&!c.startsWith(E)&&(f.baseUrl=ve(n,r,c));const{outDir:u}=f;u&&!u.startsWith(E)&&(f.outDir=ve(n,r,u))}for(const c of ce){const u=s[c];u&&(s[c]=u.map(a=>a.startsWith(E)||me(a)?a:Bt(n,r,a)))}return s},xe=(e,n,i=new Set,t=new Map)=>{let o;try{o=Rt(e)??{}}catch(s){throw new Error(`Cannot resolve tsconfig at path: ${e}`,{cause:s})}if(typeof o!="object")throw new SyntaxError(`Failed to parse tsconfig at: ${e}`);const r=L(e);if(o.compilerOptions){const{compilerOptions:s}=o;s.paths&&!s.baseUrl&&(s[Se]=r)}if(o.extends){const s=Array.isArray(o.extends)?o.extends:[o.extends];delete o.extends;const f=s.toReversed();for(let c=0;c<f.length;c++){const u=f[c],a=vt(u,r,t);if(!a)throw new Ne(`No such file or directory, for '${u}' found.`);const m=Ut(a,r,new Set(i),n,t);m.compilerOptions?.rootDir!==void 0&&!m.compilerOptions.rootDir.startsWith(E)&&(m.compilerOptions.rootDir=h(L(a),m.compilerOptions.rootDir));const v={...m,...o,compilerOptions:{...m.compilerOptions,...o.compilerOptions}};m.watchOptions&&(v.watchOptions={...m.watchOptions,...o.watchOptions}),o=v}}if(o.compilerOptions){const{compilerOptions:s}=o;for(const f of["baseUrl","rootDir"]){const c=s[f];if(c&&!c.startsWith(E)){const u=j(r,c);s[f]=M(P(r,u))}}for(const f of["outDir","declarationDir"]){let c=s[f];c&&(Array.isArray(o.exclude)||(o.exclude=["outDir","declarationDir"].map(u=>{const a=s[u];if(a)return a.startsWith(E)||me(a)?a:h(r,a)}).filter(Boolean)),c.startsWith(E)||(c=M(c)),s[f]=c)}}else o.compilerOptions={};if(o.include&&(o.include=o.include.map(s=>Ft(s))),o.files&&(o.files=o.files.map(s=>s.startsWith(E)?s:M(s))),o.watchOptions){const{watchOptions:s}=o;s.excludeDirectories&&(s.excludeDirectories=s.excludeDirectories.map(f=>Y(j(r,f)))),s.excludeFiles&&(s.excludeFiles=s.excludeFiles.map(f=>Y(j(r,f)))),s.watchFile&&(s.watchFile=s.watchFile.toLowerCase()),s.watchDirectory&&(s.watchDirectory=s.watchDirectory.toLowerCase()),s.fallbackPolling&&(s.fallbackPolling=s.fallbackPolling.toLowerCase())}if(o.compilerOptions.lib&&(o.compilerOptions.lib=o.compilerOptions.lib.map(s=>s.toLowerCase())),o.compilerOptions.module){let s=o.compilerOptions.module.toLowerCase();s==="es2015"&&(s="es6"),o.compilerOptions.module=s}if(o.compilerOptions.target){let s=o.compilerOptions.target.toLowerCase();s==="es2015"&&(s="es6"),o.compilerOptions.target=s}if(o.compilerOptions.moduleResolution){let s=o.compilerOptions.moduleResolution.toLowerCase();s==="node"&&(s="node10"),o.compilerOptions.moduleResolution=s}return o.compilerOptions.jsx&&(o.compilerOptions.jsx=o.compilerOptions.jsx.toLowerCase()),o.compilerOptions.moduleDetection&&(o.compilerOptions.moduleDetection=o.compilerOptions.moduleDetection.toLowerCase()),o.compilerOptions.importsNotUsedAsValues&&(o.compilerOptions.importsNotUsedAsValues=o.compilerOptions.importsNotUsedAsValues.toLowerCase()),o.compilerOptions.newLine&&(o.compilerOptions.newLine=o.compilerOptions.newLine.toLowerCase()),o},z=(e,n)=>{if(e.startsWith(E))return Y(h(n,e.slice(E.length)))},xt=["outDir","declarationDir","outFile","rootDir","baseUrl","tsBuildInfoFile"],Te=e=>e==="es2022"||e==="es2023"||e==="es2024"||e==="es2025"||e==="esnext",St=(e,n)=>{if(e.compilerOptions===void 0)return e;if(e.compilerOptions.rewriteRelativeImportExtensions&&(e.compilerOptions.allowImportingTsExtensions??=!0),e.compilerOptions.composite&&(e.compilerOptions.declaration??=!0,e.compilerOptions.incremental??=!0),e.compilerOptions.checkJs&&(e.compilerOptions.allowJs??=!0),e.compilerOptions.verbatimModuleSyntax&&(e.compilerOptions.isolatedModules??=!0,e.compilerOptions.preserveConstEnums??=!0),["5.4","5.5","5.6","5.7","5.8","5.9"].includes(String(n?.tscCompatible))){if(e.compilerOptions.esModuleInterop===void 0&&(e.compilerOptions.module==="node16"||e.compilerOptions.module==="node18"||e.compilerOptions.module==="node20"||e.compilerOptions.module==="nodenext"||e.compilerOptions.module==="preserve")&&(e.compilerOptions.esModuleInterop=!0),e.compilerOptions.moduleDetection===void 0&&e.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(e.compilerOptions.module)&&(e.compilerOptions.moduleDetection="force"),e.compilerOptions.moduleResolution===void 0){let i="classic";if(e.compilerOptions.module!==void 0)switch(e.compilerOptions.module.toLocaleLowerCase()){case"commonjs":{i="node10";break}case"node16":case"node18":{i="node16";break}case"node20":{i="node16";break}case"nodenext":{i="nodenext";break}case"preserve":{i="bundler";break}}i!=="classic"&&(e.compilerOptions.moduleResolution=i)}if(e.compilerOptions.moduleResolution==="bundler"&&(e.compilerOptions.resolveJsonModule??=!0),e.compilerOptions.module&&["node20","nodenext"].includes(e.compilerOptions.module)&&(e.compilerOptions.resolveJsonModule??=!0),(e.compilerOptions.esModuleInterop||e.compilerOptions.module==="system"||e.compilerOptions.moduleResolution==="bundler")&&e.compilerOptions.allowSyntheticDefaultImports===void 0&&(e.compilerOptions.allowSyntheticDefaultImports=!0),["5.7","5.8","5.9"].includes(String(n?.tscCompatible))&&e.compilerOptions.moduleResolution){let i=!1;["bundler","node16","nodenext"].includes(e.compilerOptions.moduleResolution.toLocaleLowerCase())&&(i=!0),e.compilerOptions.resolvePackageJsonExports===void 0&&i&&(e.compilerOptions.resolvePackageJsonExports=!0),e.compilerOptions.resolvePackageJsonImports===void 0&&i&&(e.compilerOptions.resolvePackageJsonImports=!0)}if(e.compilerOptions.target===void 0){let i="es5";switch(e.compilerOptions.module){case"node16":case"node18":{i="es2022";break}case"node20":{i="es2023";break}case"nodenext":{i="esnext";break}}i!=="es5"&&(e.compilerOptions.target=i)}e.compilerOptions.useDefineForClassFields===void 0&&e.compilerOptions.target&&Te(e.compilerOptions.target)&&(e.compilerOptions.useDefineForClassFields=!0)}if(["5.6","5.7","5.8","5.9"].includes(String(n?.tscCompatible))&&e.compilerOptions.strict&&e.compilerOptions.strictBuiltinIteratorReturn===void 0&&(e.compilerOptions.strictBuiltinIteratorReturn=!0),["5.4","5.5","5.6","5.7","5.8","5.9"].includes(String(n?.tscCompatible))&&(e.compilerOptions.strict&&(e.compilerOptions.noImplicitAny=e.compilerOptions.noImplicitAny??!0,e.compilerOptions.noImplicitThis=e.compilerOptions.noImplicitThis??!0,e.compilerOptions.strictNullChecks=e.compilerOptions.strictNullChecks??!0,e.compilerOptions.strictFunctionTypes=e.compilerOptions.strictFunctionTypes??!0,e.compilerOptions.strictBindCallApply=e.compilerOptions.strictBindCallApply??!0,e.compilerOptions.strictPropertyInitialization=e.compilerOptions.strictPropertyInitialization??!0,e.compilerOptions.alwaysStrict=e.compilerOptions.alwaysStrict??!0),e.compilerOptions.strict&&e.compilerOptions.useUnknownInCatchVariables===void 0&&(e.compilerOptions.useUnknownInCatchVariables=!0),e.compilerOptions.isolatedModules&&(e.compilerOptions.preserveConstEnums=e.compilerOptions.preserveConstEnums??!0)),["6.0","7.0","true"].includes(String(n?.tscCompatible))){if(e.compilerOptions.moduleDetection===void 0&&e.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(e.compilerOptions.module)&&(e.compilerOptions.moduleDetection="force"),e.compilerOptions.moduleResolution===void 0&&e.compilerOptions.module){const i=e.compilerOptions.module.toLocaleLowerCase();i==="node16"||i==="node18"||i==="node20"?e.compilerOptions.moduleResolution="node16":i==="nodenext"&&(e.compilerOptions.moduleResolution="nodenext")}if(e.compilerOptions.useDefineForClassFields===void 0&&e.compilerOptions.module&&["node16","node18","node20","nodenext"].includes(e.compilerOptions.module)&&e.compilerOptions.target&&!Te(e.compilerOptions.target)&&(e.compilerOptions.useDefineForClassFields=!1),e.compilerOptions.isolatedModules&&e.compilerOptions.preserveConstEnums===void 0&&(e.compilerOptions.preserveConstEnums=!0),e.compilerOptions.resolveJsonModule===void 0){const i=e.compilerOptions.module,t=e.compilerOptions.moduleResolution?.toLocaleLowerCase();!(i!==void 0&&["node20","nodenext"].includes(i)||t==="bundler")&&t&&(e.compilerOptions.resolveJsonModule=!1)}if(e.compilerOptions.moduleResolution){const i=e.compilerOptions.moduleResolution.toLocaleLowerCase();["bundler","node16","nodenext"].includes(i)||(e.compilerOptions.resolvePackageJsonExports??=!1,e.compilerOptions.resolvePackageJsonImports??=!1)}}return e.compileOnSave===!1&&delete e.compileOnSave,e},Wt=(e,n)=>{const i=e?.typescriptVersion;if(!(i===!1||i===void 0))return i==="auto"?Re(n):i},E="${configDir}",Se=Symbol("implicitBaseUrl"),Vt=(e,n)=>{const i=j(e),t=xe(i,n),o=L(i),r=Wt(n,o);r&&t.compilerOptions&&Dt(t.compilerOptions,r);const{compilerOptions:s}=t;if(s){for(const c of xt){const u=s[c];if(u){const a=z(u,o);s[c]=a?M(P(o,a)):u}}for(const c of["rootDirs","typeRoots"]){const u=s[c];u&&(s[c]=u.map(a=>{const m=z(a,o);return m?M(P(o,m)):a}))}const{paths:f}=s;if(f){const c=Object.keys(f);for(let u=0;u<c.length;u++){const a=c[u];f[a]=f[a].map(m=>z(m,o)??m)}}}for(let f=0;f<ce.length;f++){const c=ce[f],u=t[c];u&&(t[c]=u.map(a=>z(a,o)??a))}return St(t,n)};let Mt;const Pt=e=>(Mt??=je(import.meta.url))(e),V=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,Jt=e=>{if(typeof V<"u"&&V.versions&&V.versions.node){const[n,i]=V.versions.node.split(".").map(Number);if(n>22||n===22&&i>=3||n===20&&i>=16)return V.getBuiltinModule(e)}return Pt(e)},{statSync:qt}=Jt("node:fs"),Gt=new Map,ue=new WeakMap,Ht="tsconfig.json",We=e=>{try{return qt(e).mtimeMs}catch{return 0}},zt=(e,n)=>{let i=String(n.typescriptVersion);return n.typescriptVersion==="auto"&&(i=`auto:${String(Re(L(e)))}`),`${e}::${String(n.tscCompatible)}::${i}`},Qt=(e,n,i)=>{if(e.has(n)&&ue.get(e)?.get(n)===We(i))return e.get(n)},Xt=(e,n,i,t)=>{e.set(n,t);let o=ue.get(e);o||(o=new Map,ue.set(e,o)),o.set(n,We(i))},Yt=(e,n={})=>{const i=n.configFileName??Ht,t=n.configFileName===void 0;let o=X(i,{...e&&{cwd:e},type:"file"});if(!o&&t&&(o=X("jsconfig.json",{...e&&{cwd:e},type:"file"})),!o)throw new Ne(t?`No such file or directory, for '${i}' or 'jsconfig.json' found.`:`No such file or directory, for '${i}' found.`);const r=n.cache&&typeof n.cache!="boolean"?n.cache:Gt,s=zt(o,n);if(n.cache){const c=Qt(r,s,o);if(c)return c}const f={config:Vt(o,{tscCompatible:n.tscCompatible,typescriptVersion:n.typescriptVersion}),path:o};return n.cache&&Xt(r,s,o,f),f},Zt=/\.[cm]?tsx?$/,Kt=[".yaml",".yml",".toml",".jsonc",".json5",".txt"],Ve=/\.(?:ya?ml|toml|jsonc|json5|txt)$/,Ct=e=>e.endsWith(".yaml")||e.endsWith(".yml")?dt(e):e.endsWith(".toml")?mt(e):e.endsWith(".jsonc")?at(e,{allowTrailingComma:!0}):e.endsWith(".json5")?rt(e):ae(e,"utf8"),pe=e=>e===void 0?"undefined":e===null?"null":typeof e=="number"?Number.isNaN(e)?"NaN":e===Number.POSITIVE_INFINITY?"Infinity":e===Number.NEGATIVE_INFINITY?"-Infinity":String(e):typeof e=="bigint"?`${e}n`:typeof e=="boolean"?String(e):typeof e=="string"?JSON.stringify(e):e instanceof Date?`new Date(${JSON.stringify(e.toISOString())})`:Array.isArray(e)?`[${e.map(n=>pe(n)).join(",")}]`:typeof e=="object"?`{${Object.entries(e).map(([i,t])=>`${JSON.stringify(i)}:${pe(t)}`).join(",")}}`:"null",ie=new Map,en=(e,n)=>e.startsWith(E)?h(n,e.slice(E.length)):e,tn=e=>{if(ie.has(e))return ie.get(e);let n;try{const{config:i,path:t}=Yt(e,{cache:!1}),o=L(t),r=i.compilerOptions,s=r?.paths??{};if(r!==void 0){const{baseUrl:f}=r;let c,u=!1;if(f===void 0){const a=r[Se];c=typeof a=="string"?a:o}else u=!0,c=j(o,en(f,o));n={hasBaseUrl:u,paths:s,pathsBase:c}}}catch{n=void 0}return ie.set(e,n),n},Me=(e,n)=>{const i=tn(n);if(i===void 0)return;const{hasBaseUrl:t,pathsBase:o}=i,r=s=>Pe(s)??Je(s);for(const[s,f]of Object.entries(i.paths)){const c=s.indexOf("*");if(c===-1){if(s===e)for(const m of f){const v=r(j(o,m));if(v!==void 0)return v}continue}const u=s.slice(0,c),a=s.slice(c+1);if(e.startsWith(u)&&e.endsWith(a)&&e.length>=u.length+a.length){const m=e.slice(u.length,e.length-a.length);for(const v of f){const b=v.replace("*",m),y=r(j(o,b));if(y!==void 0)return y}}}if(t){const s=r(j(o,e));if(s!==void 0)return s}};let he=!1,se=0,Ae=!1,Ee=!1;const nn=()=>{Ee||(Ee=!0,process.setSourceMapsEnabled?.(!0))},on=e=>{const n=e.indexOf("?");return n===-1?e:e.slice(0,n)},sn=e=>e.endsWith(".cts")?"commonjs":"module",Ie=[".ts",".tsx",".mts",".cts",".js",".mjs",".cjs",".json"],F=e=>{try{return $e(e).isFile()}catch{return!1}},rn=e=>{try{return $e(e).isDirectory()}catch{return!1}},ln=e=>{if(e.endsWith(".js"))return`${e.slice(0,-3)}.ts`;if(e.endsWith(".mjs"))return`${e.slice(0,-4)}.mts`;if(e.endsWith(".cjs"))return`${e.slice(0,-4)}.cts`},Pe=e=>{if(F(e))return e;const n=ln(e);if(n!==void 0&&F(n))return n;for(const i of Ie)if(F(e+i))return e+i;if(rn(e))for(const i of Ie){const t=`${e}/index${i}`;if(F(t))return t}},Je=e=>{if(F(e)&&Ve.test(e))return e;for(const n of Kt)if(F(e+n))return e+n},qe=()=>{nn();const{registerHooks:e}=re;return typeof e!="function"?!1:(he||(e({load(n,i,t){const o=on(n);if(o.startsWith("file:")&&Zt.test(o)){const r=G(o),{code:s}=Le(r,ae(r,"utf8"));return{format:sn(r),shortCircuit:!0,source:s}}if(o.startsWith("file:")&&Ve.test(o)){const r=G(o),s=Ct(r);return{format:"module",shortCircuit:!0,source:`export default ${pe(s)};
4
+ `}}return t(n,i)},resolve(n,i,t){if((n.startsWith(".")||n.startsWith("/"))&&i.parentURL!==void 0){let o;try{o=new URL(n,i.parentURL)}catch{o=void 0}if(o?.protocol==="file:"){const r=G(o),s=Pe(r)??Je(r);if(s!==void 0)return{shortCircuit:!0,url:Q(s).href}}}if(i.parentURL!==void 0&&!n.startsWith(".")&&!n.startsWith("/")&&!n.startsWith("#")&&!n.startsWith("node:")&&!re.isBuiltin?.(n)){let o;try{o=L(G(i.parentURL))}catch{o=void 0}if(o!==void 0){const r=Me(n,o);if(r!==void 0)return{shortCircuit:!0,url:Q(r).href}}}return t(n,i)}}),he=!0),!0)},cn=()=>qe(),un=async e=>{if(se+=1,qe())return await import(`${Q(e).href}?v=${String(se)}`);Ae||(Ae=!0,process.stderr.write(`vis: Node < 22.15 has no module.registerHooks — only the entry file is transpiled; local TypeScript imports won't load. Upgrade to Node >= 22.15 for full support.
5
+ `));const{code:n}=Le(e,ae(e,"utf8")),i=h(L(e),`.vis-ts-${String(se)}-${String(process.pid)}.mjs`);Ye(i,n);try{return await import(Q(i).href)}finally{try{Ze(i)}catch{}}},On=Object.defineProperty({__proto__:null,importTs:un,registerTsHooks:cn,resolveTsConfigPaths:Me},Symbol.toStringTag,{value:"Module"});export{mt as f,un as i,dt as l,cn as r,On as t};
@@ -1,2 +1,2 @@
1
- import{p}from"./cli-main.js";import{d as b}from"../packem_shared/pm-runner-d93_73O6.js";import{r as m,l as w,L as v}from"../packem_shared/dependency-scan-DBH2Qo4I.js";import{z as S,e as g}from"../packem_shared/index-DHD8wb6Z.js";import{S as $}from"../packem_shared/lockfile-DhHAaHN5.js";import{e as x}from"../packem_shared/index-Czrll7SU.js";import{y as C}from"../packem_shared/isAccessibleSync-DYKTrrvc-CSnBISfV.js";const E=e=>{const o=e.trim();return o===""?!1:/^(?:git\+|git:\/\/|git@|ssh:\/\/)/i.test(o)||/^(?:github|gitlab|bitbucket|gist):/i.test(o)||/^[\w.-]+\/[\w.-]+(?:#.+)?$/.test(o)&&!o.includes("@")?!0:/^https?:\/\//i.test(o)},M=(e,o)=>{for(const i of o)if(i===e||i.endsWith("*")&&e.startsWith(i.slice(0,-1)))return!0;return!1},L=(e,o,i={})=>{const t=m(e,o);if(!t)return[];let s;try{s=S(g(e,t.file))}catch{return[]}const n=$(s,t.type);if(n.length===0)return[];const r=i.allow??[],l=[],f=new Set;for(const c of n){const a=`${c.name}@${c.version}`;for(const d of[c.dependencies,c.optionalDependencies])if(d){for(const[u,h]of Object.entries(d))if(!M(u,r))for(const k of h){if(!E(k))continue;const y=`${a}->${u}@${k}`;f.has(y)||(f.add(y),l.push({declaredBy:a,packageName:u,source:k}))}}}return l.sort((c,a)=>c.packageName.localeCompare(a.packageName)||c.declaredBy.localeCompare(a.declaredBy))},D=new Set(["firstSeen","publisherChange"]),I=e=>e.severity==="block"&&e.acceptedRisk===void 0,N=e=>{const o=e.security?.policies?.firstSeen?.minutes,i=typeof o=="number"&&o>0,t=e.security?.policies?.publisherChange?.mode==="no-downgrade",s=e.security?.blockExoticSubdeps===!0;return i||t||s},O=async e=>{const{offline:o=!1,packageManager:i,visConfig:t,workspaceRoot:s}=e,n=Date.now();if(!N(t))return{decisions:[],durationMs:Date.now()-n,entryCount:0,exoticViolations:[],lockfileMissing:!1,status:"skipped"};const r=m(s,i);if(!r||!C(g(s,r.file)))return{decisions:[],durationMs:Date.now()-n,entryCount:0,exoticViolations:[],lockfileMissing:!0,status:"fail"};const l=w(s,i,{includeDev:!0}),f=l.length,c=await x({offline:o,packageManager:i,packages:l,workspaceRoot:s},"install",{enabledPolicies:new Set(D),visConfig:t}),a=t.security?.blockExoticSubdeps===!0?L(s,i,{allow:t.security.exoticSubdepsAllow}):[],d=c.some(u=>I(u))||a.length>0;return{decisions:c,durationMs:Date.now()-n,entryCount:f,exoticViolations:a,lockfileMissing:!1,status:d?"fail":"pass"}},P=e=>e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`,V=e=>{if(e.status==="skipped")return["– Lockfile supply-chain verification skipped (no firstSeen / publisherChange / blockExoticSubdeps policy configured)"];if(e.lockfileMissing)return["✗ Lockfile supply-chain verification failed — no lockfile found, the resolved closure cannot be attested"];const o=`(${String(e.entryCount)} ${e.entryCount===1?"entry":"entries"}, ${P(e.durationMs)})`;if(e.status==="pass")return[`✓ Lockfile passes supply-chain policies ${o}`];const i=[`✗ Lockfile failed supply-chain policy check ${o}`];for(const t of e.decisions)t.severity==="block"&&t.acceptedRisk===void 0&&i.push(` [${t.policy}] ${t.reason}`);for(const t of e.exoticViolations)i.push(` [blockExoticSubdeps] ${t.packageName} pulled from exotic source by ${t.declaredBy}: ${t.source}`);return i},z=async({options:e,visConfig:o,workspaceRoot:i})=>{const t=i??process.cwd(),s=b(t);if(!v[s.name]){p.warn(`Package manager '${s.name}' has no lockfile vis can verify.`);return}const n=await O({offline:!!e.offline,packageManager:s.name,visConfig:o??{},workspaceRoot:t});if(e.json){process.stdout.write(`${JSON.stringify(n,void 0,2)}
1
+ import{p}from"./cli-main.js";import{d as b}from"../packem_shared/pm-runner-CMSml1Bj.js";import{r as m,l as w,L as v}from"../packem_shared/dependency-scan-B8jroa1D.js";import{z as S,e as g}from"../packem_shared/index-BzhrR_iC.js";import{S as $}from"../packem_shared/lockfile-DhHAaHN5.js";import{e as x}from"../packem_shared/index-BO8qIogg.js";import{y as C}from"../packem_shared/isAccessibleSync-DYKTrrvc-C-_5cgwu.js";const E=e=>{const o=e.trim();return o===""?!1:/^(?:git\+|git:\/\/|git@|ssh:\/\/)/i.test(o)||/^(?:github|gitlab|bitbucket|gist):/i.test(o)||/^[\w.-]+\/[\w.-]+(?:#.+)?$/.test(o)&&!o.includes("@")?!0:/^https?:\/\//i.test(o)},M=(e,o)=>{for(const i of o)if(i===e||i.endsWith("*")&&e.startsWith(i.slice(0,-1)))return!0;return!1},L=(e,o,i={})=>{const t=m(e,o);if(!t)return[];let s;try{s=S(g(e,t.file))}catch{return[]}const n=$(s,t.type);if(n.length===0)return[];const r=i.allow??[],l=[],f=new Set;for(const c of n){const a=`${c.name}@${c.version}`;for(const d of[c.dependencies,c.optionalDependencies])if(d){for(const[u,h]of Object.entries(d))if(!M(u,r))for(const k of h){if(!E(k))continue;const y=`${a}->${u}@${k}`;f.has(y)||(f.add(y),l.push({declaredBy:a,packageName:u,source:k}))}}}return l.sort((c,a)=>c.packageName.localeCompare(a.packageName)||c.declaredBy.localeCompare(a.declaredBy))},D=new Set(["firstSeen","publisherChange"]),I=e=>e.severity==="block"&&e.acceptedRisk===void 0,N=e=>{const o=e.security?.policies?.firstSeen?.minutes,i=typeof o=="number"&&o>0,t=e.security?.policies?.publisherChange?.mode==="no-downgrade",s=e.security?.blockExoticSubdeps===!0;return i||t||s},O=async e=>{const{offline:o=!1,packageManager:i,visConfig:t,workspaceRoot:s}=e,n=Date.now();if(!N(t))return{decisions:[],durationMs:Date.now()-n,entryCount:0,exoticViolations:[],lockfileMissing:!1,status:"skipped"};const r=m(s,i);if(!r||!C(g(s,r.file)))return{decisions:[],durationMs:Date.now()-n,entryCount:0,exoticViolations:[],lockfileMissing:!0,status:"fail"};const l=w(s,i,{includeDev:!0}),f=l.length,c=await x({offline:o,packageManager:i,packages:l,workspaceRoot:s},"install",{enabledPolicies:new Set(D),visConfig:t}),a=t.security?.blockExoticSubdeps===!0?L(s,i,{allow:t.security.exoticSubdepsAllow}):[],d=c.some(u=>I(u))||a.length>0;return{decisions:c,durationMs:Date.now()-n,entryCount:f,exoticViolations:a,lockfileMissing:!1,status:d?"fail":"pass"}},P=e=>e<1e3?`${String(e)}ms`:`${(e/1e3).toFixed(1)}s`,V=e=>{if(e.status==="skipped")return["– Lockfile supply-chain verification skipped (no firstSeen / publisherChange / blockExoticSubdeps policy configured)"];if(e.lockfileMissing)return["✗ Lockfile supply-chain verification failed — no lockfile found, the resolved closure cannot be attested"];const o=`(${String(e.entryCount)} ${e.entryCount===1?"entry":"entries"}, ${P(e.durationMs)})`;if(e.status==="pass")return[`✓ Lockfile passes supply-chain policies ${o}`];const i=[`✗ Lockfile failed supply-chain policy check ${o}`];for(const t of e.decisions)t.severity==="block"&&t.acceptedRisk===void 0&&i.push(` [${t.policy}] ${t.reason}`);for(const t of e.exoticViolations)i.push(` [blockExoticSubdeps] ${t.packageName} pulled from exotic source by ${t.declaredBy}: ${t.source}`);return i},z=async({options:e,visConfig:o,workspaceRoot:i})=>{const t=i??process.cwd(),s=b(t);if(!v[s.name]){p.warn(`Package manager '${s.name}' has no lockfile vis can verify.`);return}const n=await O({offline:!!e.offline,packageManager:s.name,visConfig:o??{},workspaceRoot:t});if(e.json){process.stdout.write(`${JSON.stringify(n,void 0,2)}
2
2
  `),n.status==="fail"&&(process.exitCode=1);return}const[r,...l]=V(n);if(n.status==="skipped"){p.info(r);return}if(n.status==="pass"){p.success(r);return}p.error(r);for(const f of l)p.error(f);process.exitCode=1};export{z as default};
@@ -1,3 +1,3 @@
1
- import{a as h}from"../packem_shared/index-B4AjSxHU.js";import{b as R}from"./index2.js";import{r as y}from"./orchestrator.js";const P=e=>{let s=0;const o=[],t=()=>{if(s>=e)return;const n=o.shift();n&&(s+=1,n())};return async n=>new Promise((m,a)=>{const d=()=>{s-=1,t()},f=()=>{n().then(m,a).finally(d)};o.push(f),t()})},x=4,g=new Map,$=(e,s)=>{const o=d=>d.replaceAll(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`);let t="^",n=0;const m=/\{(name|unscopedName|version|major|minor|patch|date|channel)\}/g;let a;for(;(a=m.exec(e))!==null;){switch(t+=o(e.slice(n,a.index)),a[1]){case"name":{t+=o(s.name);break}case"unscopedName":{t+=o(s.name.replace(/^@[^/]+\//,""));break}case"version":{t+=String.raw`(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)`;break}default:t+="[^/]+"}n=a.index+a[0].length}return t+=`${o(e.slice(n))}$`,new RegExp(t)},p="{name}@{version}",w=(e,s)=>e.replaceAll(/\{(name|unscopedName|version|major|minor|patch|date|channel)\}/g,(o,t)=>t==="name"?s.name:t==="unscopedName"?s.name.replace(/^@[^/]+\//,""):"*"),C=async(e,s,o,t)=>{if(s==="disk")return{resolvedFrom:"disk",version:e.version};if(s==="registry"){const c=y(e,t.perPackageConfig??{}),r=await R(c).readPublishedVersion({pkg:e,pm:t.pm,workspaceConfig:t.workspaceConfig});return r&&h.valid(r)?{resolvedFrom:"registry",version:r}:{fallbackReason:r===void 0?`registry returned no version for ${e.name} (likely a 404 / not-yet-published); falling back to manifest version ${e.version}.`:`registry returned an invalid semver "${r}" for ${e.name}; falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version}}const n=t.perPackageConfig?.releaseTagPattern??t.workspaceConfig?.releaseTagPattern??p,m=w(n,e),a=await t.runner.run("git",["tag","--list",m,"--sort=-v:refname"],{cwd:t.cwd,silent:!0});if(a.exitCode!==0)return{fallbackReason:`git tag --list ${m} failed (exit ${a.exitCode}); falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version};const d=a.stdout.split(`
2
- `).map(c=>c.trim()).filter(Boolean);if(d.length===0)return{fallbackReason:`no git tag matched pattern "${n}" for ${e.name}; falling back to manifest version ${e.version}. (Pass --first-release to bootstrap.)`,resolvedFrom:"disk",version:e.version};const f=$(n,e),i=[];for(const c of d){const u=f.exec(c);u?.[1]&&h.valid(u[1])&&i.push(u[1])}return i.length===0?{fallbackReason:`git tag pattern "${n}" matched tags but none yielded a valid semver for ${e.name}; falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version}:(i.sort(h.rcompare),{resolvedFrom:"git-tag",version:i[0]})},A=(e,s,o)=>o?"disk":s?.currentVersionResolver??e?.currentVersionResolver??"disk",M=async(e,s,o,t,n)=>{const m=new Map,a=[],d=P(x),f=await Promise.all(e.map(async i=>d(async()=>{const c=t.get(i.name),u=A(o,c,n.firstRelease),r=n.skipRegistryLookup?"disk":u,l=`${i.name}@${r}@${i.version}`,b=g.get(l);if(b)return{mode:r,pkg:i,result:await b};const v=C(i,r,s,{...n,perPackageConfig:c,workspaceConfig:o});return g.set(l,v),v.catch(()=>{g.get(l)===v&&g.delete(l)}),{mode:r,pkg:i,result:await v}})));for(const{mode:i,pkg:c,result:u}of f)m.set(c.name,u.version),u.fallbackReason&&i!=="disk"&&a.push(`currentVersionResolver (${i}): ${u.fallbackReason}`);return{versions:m,warnings:a}},V=async e=>{const{cwd:s,packages:o,perPackageConfig:t,runner:n,workspaceConfig:m}=e,a=new Set,d=new Map;for(const r of o){const l=t?.get(r.name)?.releaseTagPattern??m?.releaseTagPattern??p;d.set(r.name,l),a.add(w(l,r))}const f=async r=>{const l=await n.run("git",["rev-list","--max-parents=0","HEAD"],{cwd:s,silent:!0}),v=(l.exitCode===0?l.stdout.split(`
3
- `).map(k=>k.trim()).filter(Boolean):[]).at(-1);return v?{kind:"root-commit",reason:`${r}; the only remaining boundary is the repository root commit (${v.slice(0,7)}) — the whole history`,ref:v}:{kind:"unresolved",reason:`${r} and the repository root commit could not be resolved`}};if(a.size===0)return f("no workspace packages to derive a release tag pattern from");const i=await n.run("git",["describe","--tags","--abbrev=0",...[...a].flatMap(r=>["--match",r]),"HEAD"],{cwd:s,silent:!0}),c=i.exitCode===0?i.stdout.trim():"";return c?o.some(r=>{const l=$(d.get(r.name)??p,r).exec(c);return l?.[1]!==void 0&&h.valid(l[1])!==null})?{kind:"tag",reason:`resolved the last release boundary to tag "${c}"`,ref:c,tag:c}:f(`the nearest matching tag "${c}" did not parse as a release tag`):f("no git tag matching the configured releaseTagPattern is reachable from HEAD")};export{p as DEFAULT_RELEASE_TAG_PATTERN,x as REGISTRY_LOOKUP_CONCURRENCY,$ as compileReleaseTagRegex,w as releaseTagListGlob,C as resolveCurrentVersion,M as resolveCurrentVersionsForWorkspace,V as resolveLastReleaseRef,A as resolveModeForPackage};
1
+ import{a as h}from"../packem_shared/index-B4AjSxHU.js";import{tagSafeName as b}from"./git.js";import{b as y}from"./index2.js";import{r as P}from"./orchestrator.js";const x=e=>{let s=0;const o=[],t=()=>{if(s>=e)return;const n=o.shift();n&&(s+=1,n())};return async n=>new Promise((d,a)=>{const m=()=>{s-=1,t()},u=()=>{n().then(d,a).finally(m)};o.push(u),t()})},C=4,g=new Map,w=(e,s)=>{const o=m=>m.replaceAll(/[$()*+.?[\\\]^{|}]/g,String.raw`\$&`);let t="^",n=0;const d=/\{(name|unscopedName|version|major|minor|patch|date|channel)\}/g;let a;for(;(a=d.exec(e))!==null;){switch(t+=o(e.slice(n,a.index)),a[1]){case"name":{t+=o(b(s.name));break}case"unscopedName":{t+=o(b(s.name.replace(/^@[^/]+\//,"")));break}case"version":{t+=String.raw`(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?)`;break}default:t+="[^/]+"}n=a.index+a[0].length}return t+=`${o(e.slice(n))}$`,new RegExp(t)},$="{name}@{version}",k=(e,s)=>e.replaceAll(/\{(name|unscopedName|version|major|minor|patch|date|channel)\}/g,(o,t)=>t==="name"?b(s.name):t==="unscopedName"?b(s.name.replace(/^@[^/]+\//,"")):"*"),A=async(e,s,o,t)=>{if(s==="disk")return{resolvedFrom:"disk",version:e.version};if(s==="registry"){const c=P(e,t.perPackageConfig??{}),r=await y(c).readPublishedVersion({pkg:e,pm:t.pm,workspaceConfig:t.workspaceConfig});return r&&h.valid(r)?{resolvedFrom:"registry",version:r}:{fallbackReason:r===void 0?`registry returned no version for ${e.name} (likely a 404 / not-yet-published); falling back to manifest version ${e.version}.`:`registry returned an invalid semver "${r}" for ${e.name}; falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version}}const n=t.perPackageConfig?.releaseTagPattern??t.workspaceConfig?.releaseTagPattern??$,d=k(n,e),a=await t.runner.run("git",["tag","--list",d,"--sort=-v:refname"],{cwd:t.cwd,silent:!0});if(a.exitCode!==0)return{fallbackReason:`git tag --list ${d} failed (exit ${a.exitCode}); falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version};const m=a.stdout.split(`
2
+ `).map(c=>c.trim()).filter(Boolean);if(m.length===0)return{fallbackReason:`no git tag matched pattern "${n}" for ${e.name}; falling back to manifest version ${e.version}. (Pass --first-release to bootstrap.)`,resolvedFrom:"disk",version:e.version};const u=w(n,e),i=[];for(const c of m){const f=u.exec(c);f?.[1]&&h.valid(f[1])&&i.push(f[1])}return i.length===0?{fallbackReason:`git tag pattern "${n}" matched tags but none yielded a valid semver for ${e.name}; falling back to manifest version ${e.version}.`,resolvedFrom:"disk",version:e.version}:(i.sort(h.rcompare),{resolvedFrom:"git-tag",version:i[0]})},T=(e,s,o)=>o?"disk":s?.currentVersionResolver??e?.currentVersionResolver??"disk",S=async(e,s,o,t,n)=>{const d=new Map,a=[],m=x(C),u=await Promise.all(e.map(async i=>m(async()=>{const c=t.get(i.name),f=T(o,c,n.firstRelease),r=n.skipRegistryLookup?"disk":f,l=`${i.name}@${r}@${i.version}`,p=g.get(l);if(p)return{mode:r,pkg:i,result:await p};const v=A(i,r,s,{...n,perPackageConfig:c,workspaceConfig:o});return g.set(l,v),v.catch(()=>{g.get(l)===v&&g.delete(l)}),{mode:r,pkg:i,result:await v}})));for(const{mode:i,pkg:c,result:f}of u)d.set(c.name,f.version),f.fallbackReason&&i!=="disk"&&a.push(`currentVersionResolver (${i}): ${f.fallbackReason}`);return{versions:d,warnings:a}},V=async e=>{const{cwd:s,packages:o,perPackageConfig:t,runner:n,workspaceConfig:d}=e,a=new Set,m=new Map;for(const r of o){const l=t?.get(r.name)?.releaseTagPattern??d?.releaseTagPattern??$;m.set(r.name,l),a.add(k(l,r))}const u=async r=>{const l=await n.run("git",["rev-list","--max-parents=0","HEAD"],{cwd:s,silent:!0}),v=(l.exitCode===0?l.stdout.split(`
3
+ `).map(R=>R.trim()).filter(Boolean):[]).at(-1);return v?{kind:"root-commit",reason:`${r}; the only remaining boundary is the repository root commit (${v.slice(0,7)}) — the whole history`,ref:v}:{kind:"unresolved",reason:`${r} and the repository root commit could not be resolved`}};if(a.size===0)return u("no workspace packages to derive a release tag pattern from");const i=await n.run("git",["describe","--tags","--abbrev=0",...[...a].flatMap(r=>["--match",r]),"HEAD"],{cwd:s,silent:!0}),c=i.exitCode===0?i.stdout.trim():"";return c?o.some(r=>{const l=w(m.get(r.name)??$,r).exec(c);return l?.[1]!==void 0&&h.valid(l[1])!==null})?{kind:"tag",reason:`resolved the last release boundary to tag "${c}"`,ref:c,tag:c}:u(`the nearest matching tag "${c}" did not parse as a release tag`):u("no git tag matching the configured releaseTagPattern is reachable from HEAD")};export{$ as DEFAULT_RELEASE_TAG_PATTERN,C as REGISTRY_LOOKUP_CONCURRENCY,w as compileReleaseTagRegex,k as releaseTagListGlob,A as resolveCurrentVersion,S as resolveCurrentVersionsForWorkspace,V as resolveLastReleaseRef,T as resolveModeForPackage};
@@ -0,0 +1 @@
1
+ import{createRequire as p}from"node:module";import{p as _,Z as h}from"../packem_shared/zig-manifest-P7ydLEOa.js";import{VisReleaseError as c}from"../packem_shared/VisReleaseError-DZtgcKf8.js";let d;const w=n=>(d??=p(import.meta.url))(n),a=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,g=n=>{if(typeof a<"u"&&a.versions&&a.versions.node){const[o,t]=a.versions.node.split(".").map(Number);if(o>22||o===22&&t>=3||o===20&&t>=16)return a.getBuiltinModule(n)}return w(n)},{readFile:u}=g("node:fs/promises"),j=async n=>{const{pending:o,projects:t,releases:l}=n,f=new Set;for(const e of l){const r=t.find(s=>s.name===e.name);if(r===void 0)throw new c({code:"CONFIG_INVALID",message:`${e.name} is planned as a Zig release, but no Zig package with that name was discovered. Re-run the release from a fresh context.`,packageName:e.name});if(/["\\\n\r]/.test(e.newVersion))throw new c({code:"CONFIG_INVALID",file:r.owner,message:`${e.newVersion} cannot be written as a Zig string literal for ${e.name}.`,packageName:e.name});const m=o.get(r.owner)??await u(r.owner,"utf8");let i;try{i=_(m,r.owner).version}catch(s){throw s instanceof h?new c({code:"CONFIG_INVALID",file:r.owner,message:s.message,packageName:e.name}):s}if(i===void 0)throw new c({code:"CONFIG_INVALID",file:r.owner,message:`${r.owner} has no .version to bump for ${e.name}.`,packageName:e.name});o.set(r.owner,`${m.slice(0,i.start)}"${e.newVersion}"${m.slice(i.end)}`),f.add(r.owner)}return f};export{j as planZigWorkspace};
@@ -0,0 +1 @@
1
+ import{createRequire as h}from"node:module";import{w as _,r as b,Z as j}from"../packem_shared/zig-manifest-P7ydLEOa.js";import{VisReleaseError as $}from"../packem_shared/VisReleaseError-DZtgcKf8.js";import{isValidPackageName as k}from"./security.js";let v;const g=s=>(v??=h(import.meta.url))(s),i=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,w=s=>{if(typeof i<"u"&&i.versions&&i.versions.node){const[o,a]=i.versions.node.split(".").map(Number);if(o>22||o===22&&a>=3||o===20&&a>=16)return i.getBuiltinModule(s)}return g(s)},{resolve:f}=w("node:path"),t=(s,o)=>new $({code:"CONFIG_INVALID",file:s,message:o}),I=async s=>{const{claimedDirs:o,cwd:a}=s;let d;try{d=_(a,a,b)}catch(e){throw e instanceof j?t(e.file,e.message):e}const r=[];for(const e of d){const{manifest:n}=e;if(!(n.version===void 0||o.has(f(e.dir)))){if(n.name===void 0)throw t(e.path,`${e.path} sets .version but has no .name. Declare .name = .your_package in it.`);if(!k(n.name.value))throw t(e.path,`${e.path} names the package "${n.name.value}", which is not a valid release name. Use lowercase letters, digits, ".", "_" or "-" in .name (line ${String(n.name.line)}).`);r.push({dependencies:n.pathDependencies.map(c=>f(e.dir,c)),dir:e.dir,name:n.name.value,owner:e.path,version:n.version.value})}}const p=new Map;for(const e of r){const n=p.get(e.name);if(n!==void 0)throw t(e.owner,`${e.name} is declared by both ${n} and ${e.owner}. Package names must be unique to release them.`);p.set(e.name,e.owner)}const l=new Map(r.map(e=>[e.dir,e.name]));return r.map(e=>{const n={};for(const u of e.dependencies){const m=l.get(u);m!==void 0&&m!==e.name&&(n[m]="*")}const c={dependencies:n,name:e.name,private:!1,version:e.version};return{name:e.name,owner:e.owner,package:{dir:e.dir,ecosystem:"zig",manifest:c,manifestPath:e.owner,name:e.name,private:!1,version:e.version}}})};export{I as discoverZigProjects};
@@ -0,0 +1,11 @@
1
+ import{createRequire as Zt}from"node:module";let Qt;const Xt=t=>(Qt??=Zt(import.meta.url))(t),D=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,ti=t=>{if(typeof D<"u"&&D.versions&&D.versions.node){const[i,e]=D.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return D.getBuiltinModule(t)}return Xt(t)},{createRequire:ii}=ti("node:module");let ei;const oi=t=>(ei??=ii(import.meta.url))(t),P=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:J,pt=t=>{if(typeof P<"u"&&P.versions&&P.versions.node){const[i,e]=P.versions.node.split(".").map(Number);if(i>22||i===22&&e>=3||i===20&&e>=16)return P.getBuiltinModule(t)}return oi(t)},J=P,{execFileSync:ri}=pt("node:child_process"),Y=pt("node:fs"),si=pt("node:tty"),ni=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],hi=12288,ai=65510,ci=[12288,12288,65281,65376,65504,65510],li=8361,di=65518,ui=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],fi=32,mi=10630,wi=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],pi=4352,gi=262141,Tt=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],U=(t,i)=>{let e=0,o=Math.floor(t.length/2)-1;for(;e<=o;){const h=Math.floor((e+o)/2),n=h*2;if(i<t[n])o=h-1;else if(i>t[n+1])e=h+1;else return!0}return!1},bt=19968,[bi,xi]=yi(Tt);function yi(t){let i=t[0],e=t[1];for(let o=0;o<t.length;o+=2){const h=t[o],n=t[o+1];if(bt>=h&&bt<=n)return[h,n];n-h>e-i&&(i=h,e=n)}return[i,e]}const Wi=t=>t<161||t>1114109?!1:U(ni,t),Bi=t=>t<hi||t>ai?!1:U(ci,t),vi=t=>t<li||t>di?!1:U(ui,t),Ri=t=>t<fi||t>mi?!1:U(wi,t),Si=t=>t>=bi&&t<=xi?!0:t<pi||t>gi?!1:U(Tt,t);function Ai(t){return Wi(t)?"ambiguous":Bi(t)?"fullwidth":vi(t)?"halfwidth":Ri(t)?"narrow":Si(t)?"wide":"neutral"}function Ci(t){if(!Number.isSafeInteger(t))throw new TypeError(`Expected a code point, got \`${typeof t}\`.`)}function Ot(t){return Ci(t),Ai(t)}const $t=String.raw,xt=$t`\p{Emoji}(?:\p{EMod}|[\u{E0020}-\u{E007E}]+\u{E007F}|\uFE0F?\u20E3?)`,Ii=()=>new RegExp($t`\p{RI}{2}|(?![#*\d](?!\uFE0F?\u20E3))${xt}(?:\u200D${xt})*`,"gu"),q=new Set(["\x1B","›"]),lt="\x07",_t="[",gt="m",K="]8;;",Mi=39,Ei=/[\u200B\uFEFF\u2060-\u2064]/g,ki=new RegExp(`(?:\\${_t}(?<code>\\d+)m|\\${K}(?<uri>.*)${lt})`),ji=Object.freeze(new Map([[0,0],[1,22],[2,22],[3,23],[4,24],[7,27],[8,28],[9,29],[30,39],[31,39],[32,39],[33,39],[34,39],[35,39],[36,39],[37,39],[40,49],[41,49],[42,49],[43,49],[44,49],[45,49],[46,49],[47,49],[90,39]])),ht=/[\u001B\u009B](?:[[()#;?]{0,10}(?:\d{1,4}(?:;\d{0,4})*)?[0-9A-ORZcf-nqry=><]|\]8;;[^\u0007\u001B]{0,100}(?:\u0007|\u001B\\))/g,yt=/\u001B\[[\d;]*m[^\u001B]*(?:\u001B\[[\d;]*m|$)/g,Wt=/\u001B\]8;[^\u0007\u001B]*(?:\u0007|\u001B\\)[^\u001B]*\u001B\]8;;(?:\u0007|\u001B\\)/g,Z=/[\u0000-\u0008\n-\u001F\u007F-\u009F]{1,1000}/y,Ni=Ii(),Bt=new Map,Li=t=>[t.ambiguousIsNarrow?1:0,t.control,t.fullWidth,t.regular,t.wide].join("|"),Fi=t=>{const i=Li(t.width);let e=Bt.get(i);return e||(e=new Map,Bt.set(i,e)),e},Q=new RegExp(ht.source,"y"),dt=new RegExp(Ni.source,"uy"),X=/(?:[\u0020-\u007E\u00A0-\u00FF](?!\uFE0F)){1,1000}/y,Ht=t=>t>=32&&t<=126?"latin":t===8203||t===8204||t===8205||t===8288?"zero":t<=31||t>=127&&t<=159?"control":t>=160&&t<=255||t>=9472&&t<=9599?"latin":t>=4352&&t<=4607||t>=11904&&t<=40959||t>=44032&&t<=55215||t>=63744&&t<=64255||t>=65280&&t<=65519&&!(t>=65377&&t<=65439)||t>=12352&&t<=12543?"wide":t===8230?"latin":"other",Ji=(t,i)=>{const e=Fi(i),o=Math.floor(t/65536),h=t%65536;let n=e.get(o);if(n||(n=new Map,e.set(o,n)),n.has(h))return n.get(h);let r;switch(Ht(t)){case"control":{r=i.width.control;break}case"latin":{r=i.width.regular;break}case"wide":{r=i.width.wide;break}case"zero":{r=0;break}default:switch(Ot(t)){case"ambiguous":{r=i.width.ambiguousIsNarrow?i.width.regular:i.width.wide;break}case"fullwidth":{r=i.width.fullWidth;break}case"wide":{r=i.width.wide;break}default:r=i.width.regular}}return n.set(h,r),r},Ti=t=>t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65056&&t<=65071||t>=917760&&t<=917999||t>=65024&&t<=65039||t>=3633&&t<=3642||t>=3655&&t<=3662||t>=3761&&t<=3769||t>=3771&&t<=3772||t>=3784&&t<=3789||t>=2304&&t<=2307||t>=2362&&t<=2383||t>=2385&&t<=2391||t>=2402&&t<=2403||t>=2433&&t<=2435||t>=2492&&t<=2500||t>=2509&&t<=2509||t>=2561&&t<=2563||t>=2620&&t<=2637||t>=1611&&t<=1631||t>=1648&&t<=1648||t>=1750&&t<=1773||t>=2276&&t<=2302||t>=1425&&t<=1469||t>=1471&&t<=1471||t>=1473&&t<=1474||t>=1476&&t<=1477||t>=1479&&t<=1479||t>=3893&&t<=3893||t>=3895&&t<=3895||t>=3897&&t<=3897||t>=3953&&t<=3966||t>=3968&&t<=3972||t>=3974&&t<=3975?!0:t>=768&&t<=777||t>=803&&t<=803,V=(t,i={})=>{if(!t||t.length===0)return{ellipsed:!1,index:0,truncated:!1,width:0};const e={truncation:{countAnsiEscapeCodes:i.countAnsiEscapeCodes??!1,ellipsis:i.ellipsis??"",ellipsisWidth:i.ellipsisWidth??(i.ellipsis?V(i.ellipsis,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width:0),limit:i.limit??Number.POSITIVE_INFINITY},width:{ambiguousIsNarrow:i.ambiguousIsNarrow??!1,ansi:i.ansiWidth??0,control:i.controlWidth??0,emoji:i.emojiWidth??2,fullWidth:i.fullWidth??2,halfWidth:i.halfWidth??1,regular:i.regularWidth??1,tab:i.tabWidth??8,wide:i.wideWidth??2}},o=Math.max(0,e.truncation.limit-e.truncation.ellipsisWidth),{length:h}=t,n=h>1e4;let r=0,s=0,a=h,c=!1;const l=t.includes("\x1B")||t.includes("›");for(;r<h;){if(l&&(t[r]==="\x1B"||t[r]==="›")){if(t.startsWith("\x1B]8;;",r)){const g="\x1B]8;;\x07",f=g.length,b=t.indexOf("\x07",r+5);if(b!==-1){const W=t.indexOf(g,b+1);if(W!==-1){const x=W+f,y=t.slice(b+1,W).replace(ht,""),R=V(y,{ambiguousIsNarrow:e.width.ambiguousIsNarrow,ansiWidth:e.width.ansi,controlWidth:e.width.control,countAnsiEscapeCodes:!1,ellipsis:e.truncation.ellipsis,ellipsisWidth:e.truncation.ellipsisWidth,emojiWidth:e.width.emoji,fullWidth:e.width.fullWidth,halfWidth:e.width.halfWidth,limit:Math.max(0,o-s),regularWidth:e.width.regular,tabWidth:e.width.tab,wideWidth:e.width.wide}),A=R.width;if(R.truncated)c=!0,a=Math.min(a,r);else if(s+A>o&&(a=Math.min(a,r),c=!0,s+A>e.truncation.limit))break;if(s+=A,r=x,c&&s>=e.truncation.limit)break;continue}}}if(Q.lastIndex=r,Q.test(t)){const g=Q.lastIndex-r,f=e.truncation.countAnsiEscapeCodes?g:e.width.ansi;if(s+f>o&&(a=Math.min(a,r),s+f>e.truncation.limit)){c=!0;break}s+=f,r=Q.lastIndex;continue}}const u=t.codePointAt(r);if(u===8203||u===65279||u>=8288&&u<=8292){r+=1;continue}if(u===9){if(s+e.width.tab>o&&(a=Math.min(a,r),s+e.width.tab>e.truncation.limit)){c=!0;break}s+=e.width.tab,r+=1;continue}if(X.lastIndex=r,X.test(t)){const g=(X.lastIndex-r)*e.width.regular;if(s+g>o){const f=e.width.regular>0?Math.floor((o-s)/e.width.regular):0;if(a=Math.min(a,r+f),s+g>e.truncation.limit){c=!0;break}}s+=g,r=X.lastIndex;continue}if((u<=31||u>=127&&u<=159)&&(Z.lastIndex=r,Z.test(t))){const g=(Z.lastIndex-r)*e.width.control;if(s+g>o){const f=e.width.control>0?Math.floor((o-s)/e.width.control):0;if(a=Math.min(a,r+f),s+g>e.truncation.limit){c=!0;break}}s+=g,r=Z.lastIndex;continue}if(dt.lastIndex=r,dt.test(t)){if(s+e.width.emoji>o&&(a=Math.min(a,r),s+e.width.emoji>e.truncation.limit)){c=!0;break}s+=e.width.emoji,r=dt.lastIndex;continue}const w=t.codePointAt(r)??0;if(Ti(w)){r+=w>65535?2:1;continue}let p;if(n)p=Ji(w,e);else switch(Ht(w)){case"control":{p=e.width.control;break}case"latin":{p=e.width.regular;break}case"wide":{p=e.width.wide;break}case"zero":{p=0;break}default:switch(Ot(w)){case"ambiguous":{p=e.width.ambiguousIsNarrow?e.width.regular:e.width.wide;break}case"fullwidth":{p=e.width.fullWidth;break}case"wide":{p=e.width.wide;break}default:p=e.width.regular}}if(s+p>o&&(a=Math.min(a,r),s+p>e.truncation.limit)){c=!0;break}s+=p,r+=w>65535?2:1}let d=s,m=!1;return c&&e.truncation.limit>=e.truncation.ellipsisWidth&&(d=e.truncation.limit,m=!0),{ellipsed:m,index:c?a:h,truncated:c,width:d}},M=(t,i={})=>V(t,{...i,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width;class Oi{capacity;cache;constructor(i){this.capacity=i,this.cache=new Map}get(i){if(!this.cache.has(i))return;const e=this.cache.get(i);return this.cache.delete(i),this.cache.set(i,e),e}has(i){return this.cache.has(i)}set(i,e){if(this.cache.has(i))this.cache.delete(i);else if(this.cache.size>=this.capacity){const o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}this.cache.set(i,e)}delete(i){this.cache.delete(i)}clear(){this.cache.clear()}size(){return this.cache.size}}const vt=new Oi(100),$i=new Intl.Segmenter("en",{granularity:"grapheme"}),_i=/^[\u0000-\u007F]*$/,Hi=new Set(["0","22","23","24","27","28","29","39","49"]),Gi=new Set(["1","3","4","7","8","9"]),Rt=new Map([["22","1"],["23","3"],["24","4"],["27","7"],["28","8"],["29","9"]]),tt=t=>t>="30"&&t<="37"||t>="90"&&t<="97"||t.startsWith("38;"),it=t=>t>="40"&&t<="47"||t>="100"&&t<="107"||t.startsWith("48;"),Pi=[{close:"\x1B[22m",open:"\x1B[1m"},{close:"\x1B[23m",open:"\x1B[3m"},{close:"\x1B[24m",open:"\x1B[4m"},{close:"\x1B[27m",open:"\x1B[7m"},{close:"\x1B[28m",open:"\x1B[8m"},{close:"\x1B[29m",open:"\x1B[9m"}],St=(t,i)=>{let e=-1;for(const o of i){const h=t.indexOf(o);h!==-1&&(e===-1||h<e)&&(e=h)}return e},Vi=(t,i)=>{if(!t.includes("\x1B"))return[{after:"",before:"",content:t,visibleLength:M(t,i.width)}];const e=`${JSON.stringify(i.width??void 0)}\0${t}`,o=vt.get(e);if(o)return o;const h=[],n=[];let r=0,s;for(ht.lastIndex=0;(s=ht.exec(t))!==null;){const d=s[0];h.push(t.slice(r,s.index)),n.push(d),r=s.index+d.length}r<t.length&&h.push(t.slice(r));const a=[];for(const d of n){if(d==="\x1B[0m"||d==="\x1B]8;;\x07"){a.push(d);continue}if(d.startsWith("\x1B[")&&d.endsWith("m")){const m=d.slice(2,-1);if(Hi.has(m)){a.push(d);continue}}}const c=new Set,l=[];for(const[d,m]of h.entries()){if(d>0&&n[d-1]){const p=n[d-1];if(p==="\x1B[0m")c.clear();else if(p==="\x1B]8;;\x07"){for(const g of c)if(g.startsWith("\x1B]8;;")&&!g.endsWith("\x1B]8;;\x07")){c.delete(g);break}}else if(p.startsWith("\x1B[")&&p.endsWith("m")){const g=p.slice(2,-1);if(g==="39"){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(tt(b)){c.delete(f);break}}}else if(g==="49"){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(it(b)){c.delete(f);break}}}else if(Rt.has(g)){const f=Rt.get(g);for(const b of c)if(b===`\x1B[${f}m`){c.delete(b);break}}else{if(tt(g)){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(tt(b)){c.delete(f);break}}}else if(it(g)){for(const f of c)if(f.startsWith("\x1B[")&&f.endsWith("m")){const b=f.slice(2,-1);if(it(b)){c.delete(f);break}}}else if(Gi.has(g)){const f=`\x1B[${g}m`;c.has(f)&&c.delete(f)}c.add(p)}}else if(p.startsWith("\x1B]8;;")&&!p.endsWith("\x1B]8;;\x07")){for(const g of c)if(g.startsWith("\x1B]8;;")&&!g.endsWith("\x1B]8;;\x07")){c.delete(g);break}c.add(p)}}if(m==="")continue;let u="";if(c.size>0)if(a.includes("\x1B[0m"))u="\x1B[0m";else{const p=[];let g=!1;for(const x of c)if(x.startsWith("\x1B]8;;")&&!x.endsWith("\x1B]8;;\x07")){g=!0;break}g&&a.includes("\x1B]8;;\x07")&&p.push("\x1B]8;;\x07");let f=!1,b=!1;for(const x of c)if(x.startsWith("\x1B[")&&x.endsWith("m")){const y=x.slice(2,-1);tt(y)?f=!0:it(y)&&(b=!0)}if(f&&b){const x=St(t,["\x1B[3","\x1B[9","\x1B[38;"]),y=St(t,["\x1B[4","\x1B[10","\x1B[48;"]);x>=0&&y>=0?x>y?p.push("\x1B[39m","\x1B[49m"):p.push("\x1B[49m","\x1B[39m"):p.push("\x1B[39m","\x1B[49m")}else f&&p.push("\x1B[39m"),b&&p.push("\x1B[49m");f&&b&&t.includes("\x1B[39m")&&t.includes("\x1B[49m")&&(t.indexOf("\x1B[39m")<t.indexOf("\x1B[49m")?(p.length-=2,p.push("\x1B[39m","\x1B[49m")):t.indexOf("\x1B[49m")<t.indexOf("\x1B[39m")&&(p.length-=2,p.push("\x1B[49m","\x1B[39m")));const W=Pi.filter(x=>c.has(x.open)).map(x=>({position:t.indexOf(x.open),style:x})).filter(x=>x.position>=0).toSorted((x,y)=>y.position-x.position);for(const x of W){const y=x;a.includes(y.style.close)&&p.push(y.style.close)}u=p.join("")}const w=[...c].join("");l.push({after:u,before:w,content:m,visibleLength:M(m,i.width)})}return vt.set(e,l),l},At=(t,i,e,o)=>{const h=[...o.segmenter.segment(t)],n=[];let r=0,s=!1;for(const a of h){const c=M(a.segment,o.width),l=r,d=r+c;if(!s)if(l<i){r=d;continue}else s=!0;if(l>=e||d>e)break;n.push(a.segment),r=d}return n.join("")},F=(t,i=0,e=Number.MAX_SAFE_INTEGER,o={})=>{const h={segmenter:$i,...o};if(i>=e||t==="")return"";const n=M(t,h.width);if(i===0&&e>=n)return t;if(i<0||e<0)throw new RangeError("Negative indices aren't supported");if(!t.includes("\x1B"))return _i.test(t)?t.slice(i,e):At(t,i,e,h);if(yt.lastIndex=0,Wt.lastIndex=0,!yt.test(t)&&!Wt.test(t))return t;const r=Vi(t,h);if(r.length===0)return"";let s=0;const a=[];for(const[d,m]of r.entries()){const u=s,w=s+m.visibleLength;if(w>i&&u<e){const p=Math.max(0,i-u),g=Math.min(m.visibleLength,e-u);a.push({end:g,index:d,segment:m,start:p})}s=w}if(a.length===0)return"";const c=[],l=a[0].segment;c.push(l.before);for(let d=0;d<a.length;d++){const{end:m,segment:u,start:w}=a[d];if(w===0&&m===u.visibleLength?c.push(u.content):c.push(At(u.content,w,m,h)),d<a.length-1){const p=a[d+1].segment,g=u.after,f=p.before;g!==f&&(g||f)&&c.push(g,f)}}return c.push(a.at(-1).segment.after),c.join("")},Ct="…",qi=3,et=(t,i,e=!1)=>{if(t.charAt(i)===" ")return i;const o=e?1:-1,h=Math.min(qi,e?t.length-i:i);for(let n=1;n<=h;n++){const r=i+n*o;if(t.charAt(r)===" ")return r}return i},ot=(t,i,e)=>V(t,{...e,ellipsis:"",ellipsisWidth:0,limit:i}).index,rt=(t,i,e)=>M(t.slice(0,i),e),It=(t,i,e={})=>{if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof i!="number")throw new TypeError(`Expected \`limit\` to be a number, got ${typeof i}`);if(t===""||i<=0)return"";const o=t.normalize("NFC"),{ellipsis:h=Ct,position:n="end",preferTruncationOnSpace:r=!1}=e;let s=e.ellipsisWidth??(h===Ct?1:void 0);s??=V(h,{...e.width,ellipsis:"",ellipsisWidth:0,limit:Number.POSITIVE_INFINITY}).width;const{width:a}=V(o,{...e.width,ellipsis:h,ellipsisWidth:s});if(a<=i)return o;switch(n){case"end":{if(r){const c=i-s,l=ot(o,c,e.width),d=et(o,l),m=rt(o,d,e.width);return F(o,0,m,{width:e.width})+h}return F(o,0,i-s,{width:e.width})+h}case"middle":{const c=Math.floor(i/2),l=Math.max(0,i-s),d=Math.min(c,l),m=Math.max(0,l-d);if(r){const u=ot(o,d,e.width),w=et(o,u),p=rt(o,w,e.width),g=a-m,f=ot(o,g,e.width),b=et(o,f,!0),W=rt(o,b,e.width);return F(o,0,p,{width:e.width})+h+F(o,W,a,{width:e.width}).trim()}return F(o,0,d,{width:e.width})+h+F(o,a-m,a,{width:e.width})}case"start":{if(r){const c=a-i+s,l=ot(o,c,e.width),d=et(o,l,!0),m=rt(o,d,e.width);return h+F(o,m,a,{width:e.width}).trim()}return h+F(o,a-i+s,a,{width:e.width})}default:throw new Error(`Invalid position: expected 'start', 'middle' or 'end', got '${n}'`)}},zi=/\x1B\[(\d+)m/;class Gt{activeForeground=void 0;activeBackground=void 0;activeFormatting=[];processEscape(i){const e=zi.exec(i);if(!e)return;const o=Number.parseInt(e[1],10);switch(o){case 0:{this.activeForeground=void 0,this.activeBackground=void 0,this.activeFormatting=[];break}case 39:{this.activeForeground=void 0;break}case 49:{this.activeBackground=void 0;break}default:if(o>=30&&o<=37||o>=90&&o<=97)this.activeForeground=i;else if(o>=40&&o<=47||o>=100&&o<=107)this.activeBackground=i;else if([1,2,3,4,7,8,9].includes(o))this.activeFormatting.push(i);else if([22,23,24,27,28,29].includes(o)){const h={22:"[1m",23:"[3m",24:"[4m",27:"[7m",28:"[8m",29:"[9m"}[o];h&&(this.activeFormatting=this.activeFormatting.filter(n=>!n.includes(h)))}}}getStartEscapesForAllActiveAttributes(){return[this.activeBackground,this.activeForeground,...this.activeFormatting].filter(Boolean).join("")}getEndEscapesForAllActiveAttributes(){const i=[];if(this.activeFormatting.length>0){const e={"\x1B[1m":"\x1B[22m","\x1B[2m":"\x1B[22m","\x1B[3m":"\x1B[23m","\x1B[4m":"\x1B[24m","\x1B[7m":"\x1B[27m","\x1B[8m":"\x1B[28m","\x1B[9m":"\x1B[29m"};[...this.activeFormatting].toReversed().forEach(o=>{const h=e[o];h&&i.push(h)})}return this.activeForeground&&i.push("\x1B[39m"),this.activeBackground&&i.push("\x1B[49m"),i.join("")}}const Di=(t,i)=>{if(!q.has(t[i]))return{isInsideEscape:!1,isInsideLinkEscape:!1};const e=!0,o=t.slice(i+1,i+1+K.length).join("")===K;return{isInsideEscape:e,isInsideLinkEscape:o}},Yi=(t,i={})=>{const e=new Gt;let o="",h=!1,n="",r="",s=!1;const a=[...t];for(let c=0;c<a.length;c++){const l=a[c];if(l&&q.has(l)){if(o){const p=i.getWidth?.(o)??0,g={isEscapeSequence:!1,isGrapheme:!0,text:o,width:p};if(s&&(g.isHyperlink=!0,g.hyperlinkUrl=r),i.onSegment?.(g,e)===!1)return;o=""}h=!0,n=l;const u=Di(a,c),{isInsideLinkEscape:w}=u;if(w){let p=c+1;for(r="";p<a.length;){const f=a[p];if(f===lt)break;r+=f,p+=1}r=r.slice(4);const g={hyperlinkUrl:r,isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkStart:!0,width:0};if(i.onSegment?.(g,e)===!1)return;c=p,s=!0,h=!1,n="";continue}if(c+1<a.length&&a[c+1]==="\\"&&s){const p={isEscapeSequence:!0,isGrapheme:!1,isHyperlink:!0,isHyperlinkEnd:!0,width:0};if(i.onSegment?.(p,e)===!1)return;s=!1,r="",c+=1,h=!1,n="";continue}}if(h){if(n!==l&&(n+=l),l===gt){h=!1,e.processEscape(n);const u={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};if(i.onSegment?.(u,e)===!1)return;n=""}continue}o+=l;const d=i.getWidth?.(o)??0,m={isEscapeSequence:!1,isGrapheme:!0,text:o,width:d};if(s&&(m.isHyperlink=!0,m.hyperlinkUrl=r),i.onSegment?.(m,e)===!1)return;o=""}if(o){const c=i.getWidth?.(o)??0,l={isEscapeSequence:!1,isGrapheme:!0,text:o,width:c};s&&(l.isHyperlink=!0,l.hyperlinkUrl=r),i.onSegment?.(l,e)}if(n){const c={isEscapeSequence:!0,isGrapheme:!1,text:n,width:0};i.onSegment?.(c,e)}},Mt=t=>`${q.values().next().value}${_t}${String(t)}${gt}`,Et=t=>`${q.values().next().value}${K}${t}${lt}`,Ki=t=>{if(t.length===0)return"";if(t.length===1)return t[0];let i="",e,o;const h=t.join(`
2
+ `),n=[...h];let r=0;for(const[s,a]of n.entries()){if(i+=a,q.has(a)){const l=ki.exec(h.slice(r))?.groups??{};if(l.code!==void 0){const d=Number.parseFloat(l.code);e=d===Mi?void 0:d}else l.uri!==void 0&&(o=l.uri.length===0?void 0:l.uri)}const c=ji.get(Number(e));n[s+1]===`
3
+ `?(o&&(i+=Et("")),e&&c&&(i+=Mt(c))):a===`
4
+ `&&(e&&c&&(i+=Mt(e)),o&&(i+=Et(o))),r+=a.length}return i},Pt=/(?=\s)|(?<=\s)/,Vt=/^\s+$/,kt=new Map,Ui=t=>{const i=kt.get(t);if(i!==void 0)return i;const e=M(t);return kt.set(t,e),e},ut=t=>{if(!t.includes("\x1B"))return t;let i=t;return t.includes("\x1B[30m")&&(i+="\x1B[39m"),t.includes("\x1B[42m")&&(i+="\x1B[49m"),i},O=t=>{const i=t.split(" ");let e=i.length;for(;e>0&&M(i[e-1])===0;)e--;return e===i.length?t:i.slice(0,e).join(" ")+i.slice(e).join("")},qt=(t,i,e)=>{if(t.length===0)return[""];if(i<=0)return[t];const o=[],h=new Gt;let n="",r=0,s=!1,a=!1,c="",l=0;for(;l<t.length;){const d=t.codePointAt(l),m=String.fromCodePoint(d),u=m.length;if(q.has(m)){s=!0,c=m,n+=m,a=t.startsWith(K,l+1),l+=1;continue}if(s){c+=m,n+=m,a?m===lt&&(s=a=!1):m===gt&&(s=!1,h.processEscape(c)),l+=1;continue}const w=Ui(m),p=m===" ";if(w===0){n+=m,l+=u;continue}if(r+w>i&&(n&&o.push(n+h.getEndEscapesForAllActiveAttributes()),n=h.getStartEscapesForAllActiveAttributes(),r=M(n),p&&e)){for(;l<t.length&&t[l]===" ";)l+=1;continue}if(n+=m,r+=w,r===i&&l+u<t.length&&(o.push(n+h.getEndEscapesForAllActiveAttributes()),n=h.getStartEscapesForAllActiveAttributes(),r=M(n),l+u<t.length&&t[l+u]===" "&&e)){for(l+=u;l<t.length&&t[l]===" ";)l+=1;continue}l+=u}return n&&o.push(n+h.getEndEscapesForAllActiveAttributes()),e?o.map(d=>O(d)):o},Zi=(t,i,e)=>{if(t.length===0)return[];const o=e?t.trim():t;if(o.length===0)return[];const h=[];let n="",r=0;return Yi(o,{getWidth:M,onSegment:(s,a)=>{const c=s.text??"";if(s.isEscapeSequence)n+=c;else{const l=c===" ";if(s.width===0)return n+=c,!0;if(r+s.width>i&&(n&&h.push(n),n=a.getStartEscapesForAllActiveAttributes(),r=0,l))return e||h.push(a.getStartEscapesForAllActiveAttributes()+c),!0;n+=c,r+=s.width}return!0}}),n&&h.push(n),e?h.map(s=>O(s)):h},Qi=(t,i,e)=>{if(t.length===0)return[];const o=e?t.trim():t;if(o.length===0)return[];const h=o.split(Pt),n=[];let r="",s=0,a=0;for(;a<h.length;){const c=h[a],l=Vt.test(c),d=M(c);if(c.length===0){a+=1;continue}if(e&&l&&s===0){a+=1;continue}if(s+d>i&&s>0){e?n.push(O(r)):n.push(r),r="",s=0;continue}r+=c,s+=d,a+=1}return r&&(e?n.push(O(r)):n.push(r)),n},Xi=(t,i,e)=>{if(t.length===0)return[];const o=e?t.trim():t;if(o.length===0)return[];const h=o.split(Pt),n=[];let r="",s=0,a=0;for(;a<h.length;){const c=h[a],l=Vt.test(c),d=M(c);if(c.length===0){a+=1;continue}if(e&&l&&s===0){a+=1;continue}if(d>i){r&&n.push(ut(e?O(r):r));const m=qt(c,i,e);if(m.length>0){for(let u=0;u<m.length-1;u+=1)n.push(m[u]);r=m.at(-1),s=M(r)}else r="",s=0;a+=1;continue}if(s+d>i&&s>0&&(n.push(ut(e?O(r):r)),r="",s=0,e&&l)){a+=1;continue}r+=c,s+=d,a+=1}return r&&n.push(ut(e?O(r):r)),n},st={BREAK_AT_CHARACTERS:"BREAK_AT_CHARACTERS",BREAK_WORDS:"BREAK_WORDS",PRESERVE_WORDS:"PRESERVE_WORDS",STRICT_WIDTH:"STRICT_WIDTH"},te=(t,i={})=>{const{removeZeroWidthCharacters:e=!0,trim:o=!0,width:h=80,wrapMode:n=st.PRESERVE_WORDS}=i;if(o&&t.trim()==="")return"";let r=t.normalize("NFC").replaceAll(`\r
5
+ `,`
6
+ `);return e&&(r=r.replaceAll(Ei,"")),r.split(`
7
+ `).map(s=>{if(o&&s.trim()==="")return"";let a;switch(n){case st.BREAK_AT_CHARACTERS:{a=Zi(s,h,o);break}case st.BREAK_WORDS:{a=Xi(s,h,o);break}case st.STRICT_WIDTH:{a=qt(s,h,o);break}default:a=Qi(s,h,o)}return Ki(a)}).join(`
8
+ `)},zt=80,Dt=24,mt=(t,i,{shell:e,env:o}={})=>ri(t,i,{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:500,shell:e,env:o}).trim(),nt=(t,i)=>({columns:Number.parseInt(t,10),rows:Number.parseInt(i,10)}),Yt=(t,i)=>{const{columns:e,rows:o}=nt(t,i);if(!(Number.isNaN(e)||Number.isNaN(o))&&!(e===zt&&o===Dt))return{columns:e,rows:o}},ie=()=>{if(J.platform!=="linux")return!0;try{const t=Y.readFileSync("/proc/self/stat","utf8"),i=t.lastIndexOf(") ");if(i===-1)return!1;const e=t.slice(i+2).trim().split(/\s+/),o=Number.parseInt(e[2],10),h=Number.parseInt(e[5],10);return Number.isNaN(o)||Number.isNaN(h)||h<=0?!1:o===h}catch{return!1}};function ee(){const{env:t,stdout:i,stderr:e}=J;if(i?.columns&&i?.rows)return nt(i.columns,i.rows);if(e?.columns&&e?.rows)return nt(e.columns,e.rows);if(t.COLUMNS&&t.LINES)return nt(t.COLUMNS,t.LINES);const o={columns:zt,rows:Dt};return J.platform==="win32"?ft()??o:J.platform==="darwin"?jt()??ft()??o:jt()??ft()??oe()??o}const jt=()=>{try{const t=J.platform==="darwin"?Y.constants.O_EVTONLY|Y.constants.O_NONBLOCK:Y.constants.O_NONBLOCK,{columns:i,rows:e}=si.WriteStream(Y.openSync("/dev/tty",t));return{columns:i,rows:e}}catch{}},ft=()=>{try{const t=mt("tput",["cols"],{env:{TERM:"dumb",...J.env}}),i=mt("tput",["lines"],{env:{TERM:"dumb",...J.env}});if(t&&i)return Yt(t,i)}catch{}},oe=()=>{try{if(!ie())return;const t=mt("resize",["-u"]).match(/\d+/g);if(t.length===2)return Yt(t[0],t[1])}catch{}},H=(t,i)=>{switch(i){case"bottom":return{body:t.bottomBody,join:t.bottomJoin,left:t.bottomLeft,right:t.bottomRight};case"middle":return{body:t.joinBody,join:t.joinJoin,left:t.joinLeft,right:t.joinRight};case"top":return{body:t.topBody,join:t.topJoin,left:t.topLeft,right:t.topRight};default:throw new Error(`Invalid borderType: ${String(i)}`)}},re=t=>({join:t.bodyJoin,left:t.bodyLeft,right:t.bodyRight}),at=(t,i,e,o=1)=>{let h=0;for(let n=0;n<e;n+=1)h+=t[i+n]??0;return e>1&&(h+=(e-1)*o),h},wt=(t,i,e,o)=>{let h=i;for(;h>0&&t[h-1]?.[e]===o;)h-=1;let n=i;for(;n<t.length-1&&t[n+1]?.[e]===o;)n+=1;let r;const s=n-h+1;if(s===1)r=!0;else switch(o.vAlign){case"bottom":{r=i===n;break}case"middle":{const a=h+Math.floor(s/2);r=i===a;break}case"top":{r=i===h;break}default:r=i===h}return{firstRow:h,lastRow:n,showContent:r}},se=(t,i,e,o,h)=>{if(t.length===0)return[];const n=e.showBorders?e.border?.bodyJoin.width??0:0,r=e.showBorders&&(e.border?.joinBody.width??0)>0;let s=t.length-1;for(let l=0;l<t.length;l+=1){const d=t[l];if(d){for(const[m,u]of d.entries())if(u&&h(t,l,m,u)===l){const w=wt(t,l,m,u);s=Math.max(s,w.lastRow)}}}const a=Array.from({length:s+1}).fill(1);for(let l=0;l<t.length;l+=1){const d=t[l];if(d)for(let m=0;m<e.columns;m+=1){const u=d[m];if(u&&h(t,l,m,u)===l&&(u.rowSpan??1)===1){const w=u.colSpan??1,p=at(i,m,w,n),g=o(u,p).length;a[l]=Math.max(a[l]??1,g)}}}const c=Array.from({length:a.length}).fill(!1);if(e.fixedRowHeights)for(let l=0;l<a.length;l+=1){let d;e.fixedRowHeights[l]!==void 0?d=e.fixedRowHeights[l]:e.fixedRowHeights.length===1&&e.fixedRowHeights[0]!==void 0&&(d=e.fixedRowHeights[0]),d!==void 0&&(a[l]=Math.max(1,d),c[l]=!0)}for(let l=0;l<t.length;l+=1){const d=t[l];if(d)for(let m=0;m<e.columns;m+=1){const u=d[m];if(u&&h(t,l,m,u)===l&&(u.rowSpan??1)>1){const w=u.colSpan??1,p=at(i,m,w,n),g=o(u,p),f=r?g.length-1:g.length,b=wt(t,l,m,u),{firstRow:W,lastRow:x}=b;let y=0,R=0;for(let v=W;v<=x&&v<a.length;v+=1)y+=a[v]??1,c[v]||(R+=1);const A=f-y;if(A>0)if(R>0){const v=Math.ceil(A/R);let B=0;for(let C=W;C<=x&&C<a.length;C+=1)if(!c[C]){const E=Math.min(v,A-B);if(a[C]=(a[C]??1)+E,B+=E,B>=A)break}}else(e.onWarn??(v=>{console.warn(v)}))(`[calculateRowHeights] Content of spanning cell exceeds fixed height allocated. Cell: ${JSON.stringify(u.content)}, Required: ${String(f)}, Allocated: ${String(y)} (fixed).`)}}}return a},G=(t,i,e,o)=>{let h=i;for(;h>0&&t[h-1]?.[e]===o;)h-=1;return h},Nt=t=>{if(typeof t=="string")return{content:t};if(typeof t=="number"||typeof t=="bigint"||typeof t=="boolean")return{content:String(t)};if(t==null)return{content:"",isEmpty:!0};if(typeof t=="object"&&"content"in t){let{content:i}=t,e=!1;if(typeof i=="number"||typeof i=="bigint"||typeof i=="boolean")i=String(i);else if(i==null)i="",e=!0;else if(typeof i!="string")throw new TypeError(`Invalid item type in grid cell: expected string, number, null, undefined, or GridItem object, but received ${JSON.stringify(t)} (type: ${typeof t})`);return e?{...t,content:i,isEmpty:!0}:{...t,content:i}}throw new TypeError(`Invalid item type in grid cell: expected string, number, null, undefined, or GridItem object, but received ${JSON.stringify(t)} (type: ${typeof t})`)},ne=(t,i,e,o,h)=>{const n=M(t),r=" ".repeat(Math.max(0,o)),s=" ".repeat(Math.max(0,h));if(n===0)return r+" ".repeat(Math.max(0,i))+s;const a=Math.max(0,i-n);switch(e){case"center":{const c=Math.floor(a/2),l=a-c;return r+" ".repeat(c)+t+" ".repeat(l)+s}case"right":return r+" ".repeat(a)+t+s;default:return r+t+" ".repeat(a)+s}},Lt=/\r?\n/,Ft=/\s+/;let Jt;const he=()=>(Jt??=ee().columns,Jt),S=(t,i)=>!t||!i?t:typeof i=="function"?i(t):i.open+t+i.close;class ct{#t;#e=[];#o;#s=new WeakMap;#r=new WeakMap;#i=new WeakMap;#n(i){const e=this.#i.get(i);if(e)return e;const o=String(i.content??"").split(Lt);let h=0;for(const r of o)h=Math.max(h,M(r));const n={lines:o,maxLineWidth:h};return this.#i.set(i,n),n}#h(i){const e=this.#t.onWarn;if(e){e(i);return}console.warn(i)}static createGridLayout(){return[]}static calculateImplicitRowCount(i,e){let o=0;for(const h of i)o+=(h.colSpan??1)*(h.rowSpan??1);return Math.max(1,Math.ceil(o/e))}constructor(i){const e={autoColumns:1,autoFlow:"row",autoRows:1,balancedWidths:!1,gap:0,paddingLeft:1,paddingRight:1,rows:0,showBorders:i.border!==void 0,truncate:!1,truncateOverflow:!0,wordWrap:!1};let o;Array.isArray(i.fixedRowHeights)?o=i.fixedRowHeights:typeof i.fixedRowHeights=="number"&&(o=[i.fixedRowHeights]),this.#t={...e,...i,columns:i.columns,fixedRowHeights:o,showBorders:i.border!==void 0||(i.showBorders??!1)};const{terminalWidth:h}=this.#t;this.#o=h??he(),this.#t.maxWidth&&(this.#t.maxWidth=Math.min(this.#t.maxWidth,this.#o))}addItem(i){const e=Nt(i);return this.#a(e),this.#e.push(e),this}#a(i){i.width!==void 0&&this.#h("@visulima/tabular: GridItem.width is ignored by Grid (it is only consumed by Table). Use fixedColumnWidths or maxWidth to constrain Grid column widths.")}addItems(i){for(const e of i){const o=Nt(e);this.#a(o),this.#e.push(o)}return this}setColumns(i){return this.#t.columns=i,this}setRows(i){return this.#t.rows=i,this}setBorder(i){return this.#t.border=i,this}setShowBorders(i){return this.#t.showBorders=i,this}setMaxWidth(i){return this.#t.maxWidth=i,this}toString(){const i=ct.createGridLayout();if(this.#s=new WeakMap,this.#r=new WeakMap,this.#i=new WeakMap,this.placeItems(i),i.length===0||i[0]?.length===0)return"";let e=this.calculateColumnWidths(i);const o=this.calculateTotalGridWidth(e),h=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth,this.#o):this.#o;return o>h&&(e=this.adjustColumnWidthsForTerminal(e,o)),this.renderGrid(i,e)}placeItems(i){let e=0,o=0;const h=this.#t.rows>0?this.#t.rows:Number.POSITIVE_INFINITY,n=this.#t.rows>0?this.#t.rows:ct.calculateImplicitRowCount(this.#e,Math.max(1,this.#t.columns));for(let r=0;r<this.#e.length;r+=1){const s=this.#e[r];if(s.isEmpty&&!(s.rowSpan&&s.rowSpan>1)&&!(s.colSpan&&s.colSpan>1)){this.#t.autoFlow==="row"?(o+=1,o>=this.#t.columns&&(o=0,e+=1)):(e+=1,e>=n&&(e=0,o+=1));continue}const a=s.colSpan??1,c=s.rowSpan??1;let l=!1,d=e,m=o,u=0;const w=((this.#t.autoFlow==="column"?Math.max(i.length,n):i.length)+c+5)*this.#t.columns,p=a<=this.#t.columns;for(;p&&!l&&d<h&&u<w;){for(u+=1;d+c>i.length;)i.push(Array.from({length:this.#t.columns}).fill(void 0));if(this.canPlaceItem(i,d,m,a,c))this.placeItem(i,d,m,s),l=!0,this.#t.autoFlow==="row"?(o=m+a,e=d,o>=this.#t.columns&&(o=0,e+=1)):(e=d+c,o=m,e>=n&&(e=0,o+=1));else if(this.#t.autoFlow==="row")m+=1,m>=this.#t.columns&&(m=0,d+=1);else if(d+=1,d>=n&&(d=0,m+=1,m>=this.#t.columns))break}l||(this.#h(`@visulima/tabular: Could not find position for item: ${JSON.stringify(s)} after ${String(u)} attempts. Grid might be too small or layout impossible.`),this.#t.autoFlow==="row"?(o+=1,o>=this.#t.columns&&(o=0,e+=1)):(e+=1,e>=n&&(e=0,o+=1)))}if(this.#t.rows>0){if(i.length>0)for(;i.length<this.#t.rows;)i.push(Array.from({length:this.#t.columns}).fill(void 0))}else for(;i.length>0&&i.at(-1)?.every(r=>r===void 0);)i.pop()}canPlaceItem(i,e,o,h,n,r=!1){if(o+h>this.#t.columns)return!1;for(let s=e;s<e+n;s+=1)if(s<i.length){if(!i[s])return this.#h(`Grid layout unexpectedly missing row ${String(s)} during canPlaceItem check.`),!1;for(let a=o;a<o+h;a+=1)if(i[s]?.[a]!==void 0)return!1}else if(!r)return!1;return!0}computeWrappedContentWidth(i,e,o,h){let n=i;if(h){if(n>20){let r=0;for(const s of e){const a=s.split(Ft);for(const c of a)r=Math.max(r,Math.min(M(c),o))}n=Math.min(n,Math.max(r+4,12))}}else{let r=0;for(const s of e){const a=s.split(Ft);for(const c of a)r=Math.max(r,Math.min(M(c),o))}n=Math.min(n,Math.max(r+12,20))}return n}placeItem(i,e,o,h){const n=h.rowSpan??1,r=h.colSpan??1;for(let s=e;s<e+n;s+=1){for(;s>=i.length;)i.push(Array.from({length:this.#t.columns}).fill(void 0));for(let a=o;a<o+r;a+=1)a<this.#t.columns&&(i[s]||(this.#h(`Logic error: Row ${String(s)} not found in placeItem despite check.`),i[s]=Array.from({length:this.#t.columns}).fill(void 0)),i[s][a]=h)}}calculateTotalGridWidth(i){let e=0;const o=this.#t.showBorders?this.#t.border:void 0;o&&(e+=o.bodyLeft.width,e+=o.bodyRight.width);const h=i.length,n=this.#t.showBorders?o?.bodyJoin.width??0:0,r=this.#t.gap;for(let s=0;s<h;s+=1)e+=i[s]??0,s<h-1&&(e+=r,e+=n);return e}adjustColumnWidthsForTerminal(i,e){const o=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth??0,this.#o):this.#o;if(e<=o)return i;let h=0;const n=i.length,r=this.#t.showBorders?this.#t.border:void 0;if(r&&(h+=r.bodyLeft.width,h+=r.bodyRight.width),n>1){h+=(n-1)*this.#t.gap;const m=r?.bodyJoin.width??0;h+=(n-1)*m}if(h>=o)return Array.from({length:n}).fill(1);const s=o-h,a=i.reduce((m,u)=>m+u,0);if(a===0){const m=Math.floor(s/n);return Array.from({length:n}).fill(m)}const c=i.map(m=>{const u=m/a;return Math.max(1,Math.floor(s*u))});let l=c.reduce((m,u)=>m+u,0)-s;for(;l>0;){let m=-1;for(let u=0;u<c.length;u+=1)(c[u]??0)>1&&(m===-1||(c[u]??0)>(c[m]??0))&&(m=u);if(m===-1)break;c[m]-=1,l-=1}let d=s-c.reduce((m,u)=>m+u,0);if(d>0){const m=c.map((u,w)=>{const p=a>0?(i[w]??0)/a:1/n;return{index:w,remainder:s*p%1}}).toSorted((u,w)=>w.remainder-u.remainder);for(const u of m){if(d<=0)break;const{index:w}=u;c[w]!==void 0&&(c[w]+=1,d-=1)}}return c}calculateBalancedColumnWidths(i){const e=this.calculateMinimumColumnWidthsWithGrowableInfo(i),o=e.widths,{growableColumns:h}=e,n=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth,this.#o):this.#o,r=this.#t.showBorders?this.#t.border:void 0;let s=0;if(r&&(s+=r.bodyLeft.width,s+=r.bodyRight.width),this.#t.columns>1){s+=(this.#t.columns-1)*this.#t.gap;const l=r?.bodyJoin.width??0;s+=(this.#t.columns-1)*l}const a=Math.max(0,n-s);if(o.reduce((l,d)=>l+d,0)>0){const l=Math.floor(a/this.#t.columns),d=Array.from({length:this.#t.columns}).fill(l),m=l*this.#t.columns;let u=a-m;for(let f=0;f<d.length&&u>0;f+=1)d[f]=(d[f]??0)+1,u-=1;const w=[];let p=0;for(let f=0;f<this.#t.columns;f+=1){const b=d[f]??0,W=o[f]??0,x=Math.max(b,W);w.push(x),p+=x}if(p>a){const f=a/p,b=w.map(y=>Math.max(3,Math.floor(y*f))),W=b.reduce((y,R)=>y+R,0);let x=a-W;for(let y=0;y<b.length&&x>0;y+=1)b[y]=(b[y]??0)+1,x-=1;return b}let g=a-p;if(g>0){const f=h.length>0?h:w.map((b,W)=>W);for(;g>0&&f.length>0;)for(const b of f){if(g<=0)break;w[b]=(w[b]??0)+1,g-=1}}return w}const c=Math.floor(a/this.#t.columns);return Array.from({length:this.#t.columns}).fill(c)}calculateMinimumColumnWidthsWithGrowableInfo(i){const e=Array.from({length:this.#t.columns}).fill(0),o=[],h=this.#t.paddingLeft+this.#t.paddingRight,n=this.#t.gap+(this.#t.showBorders?this.#t.border?.bodyJoin.width??0:0);for(let r=0;r<this.#t.columns;r+=1)for(let s=0;s<i.length;s+=1){const a=i[s]?.[r];if(!a||G(i,s,r,a)!==s||r>0&&i[s]?.[r-1]===a)continue;const c=a.colSpan??1,l=a.maxWidth??Number.POSITIVE_INFINITY,{lines:d,maxLineWidth:m}=this.#n(a),u=this.#t.wordWrap&&a.wordWrap!==!1;let w=Math.min(m,l);w=this.computeWrappedContentWidth(w,d,l,u),c===1&&(e[r]=Math.max(e[r]??0,w+h),u&&!o.includes(r)&&o.push(r))}for(let r=0;r<i.length;r+=1)for(let s=0;s<this.#t.columns;s+=1){const a=i[r]?.[s];if(!a||G(i,r,s,a)!==r||s>0&&i[r]?.[s-1]===a)continue;const c=a.colSpan??1;if(c>1){const l=a.maxWidth??Number.POSITIVE_INFINITY,{lines:d,maxLineWidth:m}=this.#n(a),u=this.#t.wordWrap&&a.wordWrap!==!1;let w=Math.min(m,l);w=this.computeWrappedContentWidth(w,d,l,u);const p=(c-1)*n,g=w+h+p;let f=0;for(let W=s;W<s+c;W+=1)f+=e[W]??0;const b=f+p;if(g>b){const W=g-b,x=Math.floor(W/c);let y=0;for(let R=0;R<c&&s+R<this.#t.columns;R+=1){const A=Math.min(x,W-y);if(e[s+R]=(e[s+R]??0)+A,y+=A,y>=W)break}}}}return{growableColumns:o,widths:e}}calculateColumnWidths(i){if(this.#t.fixedColumnWidths&&this.#t.fixedColumnWidths.length===this.#t.columns){const n=this.#t.fixedColumnWidths;if(!n.some(r=>r===void 0||!Number.isFinite(r)))return[...n];if(this.#t.balancedWidths){const r=Array.from({length:n.length}).fill(0),s=typeof this.#t.maxWidth=="number"&&this.#t.maxWidth>0?Math.min(this.#t.maxWidth,this.#o):this.#o,a=this.calculateTotalGridWidth(Array.from({length:r.length}).fill(0)),c=Math.max(0,s-a);let l=0;const d=[];for(const[w,p]of n.entries())typeof p=="number"&&Number.isFinite(p)?(r[w]=p,l+=p):d.push(w);let m=Math.max(0,c-l);const u=d.length>0?Math.floor(m/d.length):0;for(const w of d)r[w]=u;m-=u*d.length;for(const w of d){if(m<=0)break;r[w]+=1,m-=1}return r}}if(this.#t.balancedWidths)return this.calculateBalancedColumnWidths(i);const e=Array.from({length:this.#t.columns}).fill(0),o=this.#t.paddingLeft+this.#t.paddingRight,h=this.#t.gap+(this.#t.showBorders?this.#t.border?.bodyJoin.width??0:0);for(let n=0;n<this.#t.columns;n+=1)for(let r=0;r<i.length;r+=1){const s=i[r]?.[n];if(!s||G(i,r,n,s)!==r||n>0&&i[r]?.[n-1]===s)continue;const a=s.colSpan??1,c=s.maxWidth??Number.POSITIVE_INFINITY,{maxLineWidth:l}=this.#n(s),d=Math.min(l,c);a===1&&(e[n]=Math.max(e[n]??0,d+o))}for(let n=0;n<i.length;n+=1)for(let r=0;r<this.#t.columns;r+=1){const s=i[n]?.[r];if(!s||G(i,n,r,s)!==n||r>0&&i[n]?.[r-1]===s)continue;const a=s.colSpan??1;if(a>1){const c=s.maxWidth??Number.POSITIVE_INFINITY,{lines:l,maxLineWidth:d}=this.#n(s),m=this.#t.wordWrap&&s.wordWrap!==!1;let u=Math.min(d,c);u=this.computeWrappedContentWidth(u,l,c,m);let w=0;for(let b=r;b<r+a;b+=1)w+=e[b]??0;const p=a>1?(a-1)*h:0,g=u+o+p,f=w+p;if(g>f){const b=g-f,W=Math.floor(b/a);let x=0;for(let y=0;y<a&&r+y<this.#t.columns;y+=1){const R=Math.min(W,b-x);if(e[r+y]=(e[r+y]??0)+R,x+=R,x>=b)break}}}}if(this.#t.fixedColumnWidths&&this.#t.fixedColumnWidths.length===this.#t.columns)for(const[n,r]of this.#t.fixedColumnWidths.entries())typeof r=="number"&&Number.isFinite(r)&&(e[n]=r);if(this.#t.maxWidth){const n=this.calculateTotalGridWidth(e);if(n>this.#t.maxWidth)return this.adjustColumnWidthsForTerminal(e,n)}return e}renderVisualRowContent(i,e,o,h,n){const r=i[e];if(!r)return"";const s=this.#t.borderColor??this.#t.foregroundColor??void 0,a=[],c=this.#t.showBorders&&this.#t.border?re(this.#t.border):void 0,l=c&&c.left.width>0?c.left.char:"",d=c&&c.right.width>0?c.right.char:"",m=c&&c.join.width>0?c.join.char:"",u=" ".repeat(this.#t.gap);l&&a.push(S(S(l,s),this.#t.backgroundColor));let w=0;for(;w<this.#t.columns;){const p=r[w]??void 0;let g=1,f;if(p){const b=p.colSpan??1;g=b;const W=G(i,e,w,p),x=this.#t.showBorders?this.#t.border?.bodyJoin.width??0:0,y=at(h,w,b,x),R=this.alignCellContent(p,y),A=R.length,v=this.getCachedCellVerticalPosition(i,e,w,p);v.firstRow!==W&&this.#h(`Mismatch between findFirstOccurrenceRow (${String(W)}) and determineCellVerticalPosition (${String(v.firstRow)})`);const B=n.slice(W,v.lastRow+1).reduce((I,k)=>I+k,0),C=v.lastRow-v.firstRow+1;let E=o,L=0;const $=this.#t.showBorders&&(this.#t.border?.joinBody.width??0)>0;for(let I=W;I<e;I+=1)I<n.length&&(E+=n[I]??1),$&&I<v.lastRow&&(L+=1);E+=L;const T=p.vAlign??"top";let j;switch(T){case"bottom":{let I=o;for(let N=W;N<e;N+=1)I+=n[N]??1;const k=B-A;j=I>=k?I-k:-1;break}case"middle":{const I=Math.round((B-A)/2);let k=o;for(let N=W;N<e;N+=1)k+=n[N]??1;j=k>=I&&k<I+A?k-I:-1;break}case"top":{j=E;break}default:j=E}const z=j>=0&&j<A;if(f=" ".repeat(Math.max(0,y)),z){let I=!1;T==="middle"&&C%2===0&&j===0&&(I=!0),I||(f=R[j]??f)}p.colSpan&&p.colSpan>1&&(f+=u.repeat(p.colSpan)),p.foregroundColor?f=S(f,p.foregroundColor):this.#t.foregroundColor&&(f=S(f,this.#t.foregroundColor)),p.backgroundColor?f=S(f,p.backgroundColor):this.#t.backgroundColor&&(f=S(f,this.#t.backgroundColor))}else{const b=this.#t.paddingLeft+this.#t.paddingRight,W=Math.max(0,(h[w]??0)-b),x=" ".repeat(this.#t.paddingLeft+W+this.#t.paddingRight);f=S(S(o===0?x:" ".repeat(x.length),this.#t.foregroundColor),this.#t.backgroundColor)}a.push(f),w+g<this.#t.columns&&(a.push(u),this.#t.showBorders&&m&&a.push(S(S(m,s),this.#t.backgroundColor)),this.#t.gap>0&&a.push(u)),w+=g}return d&&a.push(S(S(d,s),this.#t.backgroundColor)),a.join("")}alignCellContent(i,e){const o=this.#s.get(i);if(o?.has(e))return o.get(e);const{paddingLeft:h,paddingRight:n}=this.#t,r=h+n,s=e-r;if(s<=0){const d=[" ".repeat(r+this.#t.gap)];return o?o.set(e,d):this.#s.set(i,new Map([[e,d]])),d}let a;const c=String(i.content??"");if(a=c.includes(`
9
+ `)||c.includes("\r")?c.split(Lt):[c],this.#t.wordWrap&&i.wordWrap!==!1){const d=typeof this.#t.wordWrap=="object"?this.#t.wordWrap:{},m=typeof i.wordWrap=="object"?i.wordWrap:d;a=te(c,{...m,width:s}).split(`
10
+ `)}if(this.#t.truncate&&i.truncate!==!1){const d=typeof this.#t.truncate=="object"?this.#t.truncate:{},m=typeof i.truncate=="object"?i.truncate:d;a=a.map(u=>It(u,s,m))}else this.#t.truncateOverflow&&(a=a.map(d=>M(d)>s?It(d,s,{}):d));const l=a.map(d=>ne(d,s,i.hAlign??"left",h,n));return o?o.set(e,l):this.#s.set(i,new Map([[e,l]])),l}renderHorizontalBorder(i,e,o,h,n,r=-1){if(!this.#t.showBorders||!this.#t.border)return"";const s=this.#t.border,a=H(s,n),c=a.body.char,l=a.body.width,d=s.bodyJoin.char;if(n!=="middle"&&l===0)return"";let m=a.left.char,u=a.right.char;if(n==="middle"&&r!==-1){const f=i[o]?.[0]??void 0,b=i[r]?.[0]??void 0;f&&b&&f===b&&(m=d);const W=this.#t.columns-1,x=i[o]?.[W]??void 0,y=i[r]?.[W]??void 0;x&&y&&x===y&&(u=d)}const w=[],p=" ".repeat(this.#t.gap);m&&w.push(S(S(m,this.#t.borderColor),this.#t.backgroundColor));let g;for(let f=0;f<this.#t.columns;f+=1){const b=i[o]?.[f]??void 0,W=n==="middle"&&r!==-1?i[r]?.[f]??void 0:void 0;let x,y=!1;if(b&&(f===0||i[o]?.[f-1]!==b)&&(x=b,y=!0),b&&!y)continue;if(!b){const v=h[f]??0;if(g=l>0?c.repeat(v):" ".repeat(v),w.push(S(S(g,this.#t.borderColor),this.#t.backgroundColor)),f<this.#t.columns-1){const B=this.determineJoinChar(n,i,o,r,f,f+1);w.push(p),B.width>0&&w.push(S(S(B.char,this.#t.borderColor),this.#t.backgroundColor))}continue}const R=x?.colSpan??1;if(n==="middle"&&n==="middle"&&W&&b===W&&x){const v=x.vAlign==="middle",{firstRow:B,lastRow:C}=this.getCachedCellVerticalPosition(i,o,f,x),E=C-B+1,L=E%2===0,$=B+Math.ceil(E/2)-1,T=s.bodyJoin.width,j=at(h,f,R,T),z=this.alignCellContent(x,j),I=z.length;if(v&&L&&o===$)g=S(z[0]??"",this.#t.borderColor);else{let k=0;for(let _=B;_<=o;_+=1)k+=e[_]??1,_<o&&(k+=1);const N=k;if(N>=0&&N<I)g=S(z[N]??"",this.#t.foregroundColor);else{const _=h.slice(f,f+R).reduce((Kt,Ut)=>Kt+Ut,0)+(R-1)*(this.#t.gap+this.#t.border.bodyJoin.width);g=S(" ".repeat(_),this.#t.borderColor)}}w.push(S(g,this.#t.backgroundColor))}else{const v=[];for(let B=f;B<f+R;B+=1){const C=h[B]??0,E=l>0?c:" ";if(v.push(E.repeat(C+this.#t.gap)),B<f+R-1){const L=this.determineJoinChar(n,i,o,r,B,B+1);L.width>0&&v.push(L.char)}}g=v.join(""),w.push(S(S(g,this.#t.borderColor),this.#t.backgroundColor))}const A=f+R-1;if(A<this.#t.columns-1){const v=this.determineJoinChar(n,i,o,r,A,A+1);v.width>0&&w.push(S(S(v.char,this.#t.borderColor),this.#t.backgroundColor))}f+=R-1}return u&&w.push(S(S(u,this.#t.borderColor),this.#t.backgroundColor)),w.join("")}determineJoinChar(i,e,o,h,n,r=-1){if(!this.#t.showBorders||!this.#t.border)return{char:" ",width:this.#t.gap};const s=this.#t.border;if(i!=="middle"){const y=H(s,i),R=e[o]?.[n]??void 0,A=r===-1?n+1:r,v=e[o]?.[A]??void 0,B=R!==void 0&&v!==void 0&&R===v?y.body:y.join,{char:C,width:E}=B;return{char:C,width:E>0?E:this.#t.gap}}if(h===-1||r===-1)return{char:" ",width:this.#t.gap};const a=s.bodyJoin,c=e[o]?.[n]??void 0,l=e[h]?.[n]??void 0,d=e[o]?.[r]??void 0,m=e[h]?.[r]??void 0,u=c!==void 0&&l!==void 0&&c===l,w=d!==void 0&&m!==void 0&&d===m,p=c!==void 0&&d!==void 0&&c===d,g=l!==void 0&&m!==void 0&&l===m;let f;const b=H(s,"middle");u&&w?f=p?{char:" ",width:a.width}:a:u?f=s.joinLeft:w?f=s.joinRight:p&&g?f=b.body:p?f=s.topJoin:g?f=s.bottomJoin:f=s.joinJoin;const{char:W,width:x}=f;return{char:W,width:x>0?x:this.#t.gap}}renderGrid(i,e){if(i.length===0)return"";const o=[],h=se(i,e,this.#t,this.alignCellContent.bind(this),G),n=this.#t.showBorders&&this.#t.border?H(this.#t.border,"top"):void 0;n&&n.body.width>0&&o.push(this.renderHorizontalBorder(i,h,0,e,"top"));for(let s=0;s<i.length;s+=1){const a=h[s]??1;for(let l=0;l<a;l+=1)o.push(this.renderVisualRowContent(i,s,l,e,h));const c=this.#t.showBorders&&this.#t.border?H(this.#t.border,"middle"):void 0;if(s<i.length-1&&c&&c.body.width>0){const l=i[s],d=i[s+1];let m=!1;if(l&&d)for(let u=0;u<this.#t.columns;u+=1){const w=l[u],p=d[u];if(w!==p){m=!0;break}}m&&o.push(this.renderHorizontalBorder(i,h,s,e,"middle",s+1))}}const r=this.#t.showBorders&&this.#t.border?H(this.#t.border,"bottom"):void 0;return r&&r.body.width>0&&o.push(this.renderHorizontalBorder(i,h,i.length-1,e,"bottom")),o.join(`
11
+ `)}getCachedCellVerticalPosition(i,e,o,h){const n=this.#r.get(h);if(n)return n;const r=wt(i,e,o,h);return this.#r.set(h,r),r}}const ae={bodyJoin:{char:"│",width:1},bodyLeft:{char:"│",width:1},bodyRight:{char:"│",width:1},bottomBody:{char:"─",width:1},bottomJoin:{char:"┴",width:1},bottomLeft:{char:"└",width:1},bottomRight:{char:"┘",width:1},joinBody:{char:"─",width:1},joinJoin:{char:"┼",width:1},joinLeft:{char:"├",width:1},joinRight:{char:"┤",width:1},topBody:{char:"─",width:1},topJoin:{char:"┬",width:1},topLeft:{char:"┌",width:1},topRight:{char:"┐",width:1}},me={bodyJoin:{char:" ",width:1},bodyLeft:{char:" ",width:1},bodyRight:{char:" ",width:1},bottomBody:{char:"-",width:1},bottomJoin:{char:"-",width:1},bottomLeft:{char:"-",width:1},bottomRight:{char:"-",width:1},joinBody:{char:"-",width:1},joinJoin:{char:"-",width:1},joinLeft:{char:"-",width:1},joinRight:{char:"-",width:1},topBody:{char:"-",width:1},topJoin:{char:"-",width:1},topLeft:{char:"-",width:1},topRight:{char:"-",width:1}},we={bodyJoin:{char:"║",width:1},bodyLeft:{char:"║",width:1},bodyRight:{char:"║",width:1},bottomBody:{char:"═",width:1},bottomJoin:{char:"╩",width:1},bottomLeft:{char:"╚",width:1},bottomRight:{char:"╝",width:1},joinBody:{char:"═",width:1},joinJoin:{char:"╬",width:1},joinLeft:{char:"╠",width:1},joinRight:{char:"╣",width:1},topBody:{char:"═",width:1},topJoin:{char:"╦",width:1},topLeft:{char:"╔",width:1},topRight:{char:"╗",width:1}},pe={bodyJoin:{char:"│",width:1},bodyLeft:{char:"│",width:1},bodyRight:{char:"│",width:1},bottomBody:{char:"─",width:1},bottomJoin:{char:"┴",width:1},bottomLeft:{char:"╰",width:1},bottomRight:{char:"╯",width:1},joinBody:{char:"─",width:1},joinJoin:{char:"┼",width:1},joinLeft:{char:"├",width:1},joinRight:{char:"┤",width:1},topBody:{char:"─",width:1},topJoin:{char:"┬",width:1},topLeft:{char:"╭",width:1},topRight:{char:"╮",width:1}},ge={bodyJoin:{char:"┊",width:1},bodyLeft:{char:"┊",width:1},bodyRight:{char:"┊",width:1},bottomBody:{char:"┈",width:1},bottomJoin:{char:"┴",width:1},bottomLeft:{char:"└",width:1},bottomRight:{char:"┘",width:1},joinBody:{char:"┈",width:1},joinJoin:{char:"┼",width:1},joinLeft:{char:"├",width:1},joinRight:{char:"┤",width:1},topBody:{char:"┈",width:1},topJoin:{char:"┬",width:1},topLeft:{char:"┌",width:1},topRight:{char:"┐",width:1}},be={bodyJoin:{char:"|",width:1},bodyLeft:{char:"|",width:1},bodyRight:{char:"|",width:1},bottomBody:{char:"-",width:1},bottomJoin:{char:"|",width:1},bottomLeft:{char:"|",width:1},bottomRight:{char:"|",width:1},joinBody:{char:"-",width:1},joinJoin:{char:"|",width:1},joinLeft:{char:"|",width:1},joinRight:{char:"|",width:1},topBody:{char:"-",width:1},topJoin:{char:"|",width:1},topLeft:{char:"|",width:1},topRight:{char:"|",width:1}},xe={bodyJoin:{char:"|",width:1},bodyLeft:{char:"|",width:1},bodyRight:{char:"|",width:1},bottomBody:{char:"-",width:1},bottomJoin:{char:"+",width:1},bottomLeft:{char:"+",width:1},bottomRight:{char:"+",width:1},joinBody:{char:"-",width:1},joinJoin:{char:"+",width:1},joinLeft:{char:"+",width:1},joinRight:{char:"+",width:1},topBody:{char:"-",width:1},topJoin:{char:"+",width:1},topLeft:{char:"+",width:1},topRight:{char:"+",width:1}},ye={bodyJoin:{char:"",width:0},bodyLeft:{char:"",width:0},bodyRight:{char:"",width:0},bottomBody:{char:"",width:0},bottomJoin:{char:"",width:0},bottomLeft:{char:"",width:0},bottomRight:{char:"",width:0},joinBody:{char:"",width:0},joinJoin:{char:"",width:0},joinLeft:{char:"",width:0},joinRight:{char:"",width:0},topBody:{char:"",width:0},topJoin:{char:"",width:0},topLeft:{char:"",width:0},topRight:{char:"",width:0}},We={bodyJoin:{char:"█",width:1},bodyLeft:{char:"█",width:1},bodyRight:{char:"█",width:1},bottomBody:{char:"█",width:1},bottomJoin:{char:"█",width:1},bottomLeft:{char:"█",width:1},bottomRight:{char:"█",width:1},joinBody:{char:"█",width:1},joinJoin:{char:"█",width:1},joinLeft:{char:"█",width:1},joinRight:{char:"█",width:1},topBody:{char:"█",width:1},topJoin:{char:"█",width:1},topLeft:{char:"█",width:1},topRight:{char:"█",width:1}},Be={bodyJoin:{char:"┃",width:1},bodyLeft:{char:"┃",width:1},bodyRight:{char:"┃",width:1},bottomBody:{char:"━",width:1},bottomJoin:{char:"┻",width:1},bottomLeft:{char:"┗",width:1},bottomRight:{char:"┛",width:1},joinBody:{char:"━",width:1},joinJoin:{char:"╋",width:1},joinLeft:{char:"┣",width:1},joinRight:{char:"┫",width:1},topBody:{char:"━",width:1},topJoin:{char:"┳",width:1},topLeft:{char:"┏",width:1},topRight:{char:"┓",width:1}},ce=t=>t.reduce((i,e)=>{if(e===null)return i+1;if(typeof e=="object"&&!Array.isArray(e)){const o=typeof e.colSpan=="number"?e.colSpan:1;return i+(o<=0?1:o)}return i+1},0),le=/[\u0000-\u001F\u007F-\u009F]/gu,de=t=>t.replaceAll(le,"");class ue{#t;#e=[];#o=[];#s=[];#r=!0;#i=void 0;#n(i){const e=this.#t.onWarn;if(e){e(i);return}console.warn(i)}constructor(i={}){this.#t={...i,showFooter:i.showFooter??!0,showHeader:i.showHeader??!0,style:{border:ae,paddingLeft:1,paddingRight:1,...i.style}}}setHeaders(i){return i.length>0&&!Array.isArray(i[0])?this.#o=[i]:this.#o=i.map(e=>Array.isArray(e)?e:[e]),this.#r=!0,this.#i=void 0,this}setFooter(i){return i.length>0&&!Array.isArray(i[0])?this.#s=[i]:this.#s=i.map(e=>Array.isArray(e)?e:[e]),this.#r=!0,this.#i=void 0,this}addRow(i){if(!Array.isArray(i))throw new TypeError("Row must be an array");return this.#e.push(i),this.#r=!0,this.#i=void 0,this}addRows(...i){for(const e of i)this.addRow(e);return this.#r=!0,this.#i=void 0,this}getRows(){return this.#e.map(i=>[...i])}get rowCount(){return this.#e.length}removeRow(i){if(!Number.isInteger(i)||i<0||i>=this.#e.length)throw new RangeError(`Row index ${String(i)} is out of bounds (0..${String(this.#e.length-1)})`);return this.#e.splice(i,1),this.#r=!0,this.#i=void 0,this}clear(){return this.#e.length=0,this.#r=!0,this.#i=void 0,this}toString(){if(!this.#r&&this.#i!==void 0)return this.#i;const i=this.#t.showHeader?this.#o:[],e=this.#t.showFooter?this.#s:[],o=[...i,...this.#e,...e];if(o.length===0)return this.#i="",this.#r=!1,"";let h=0;for(const u of o){const w=u;Array.isArray(w)?h=Math.max(h,ce(w)):this.#n(`Unexpected non-array element found while calculating columns: ${JSON.stringify(w)}`)}if(h===0)return this.#i="",this.#r=!1,"";let n;Array.isArray(this.#t.columnWidths)?n=this.#t.columnWidths.length>=h?this.#t.columnWidths.slice(0,h):[...this.#t.columnWidths,...Array.from({length:h-this.#t.columnWidths.length}).fill(void 0)]:typeof this.#t.columnWidths=="number"&&(n=Array.from({length:h}).fill(this.#t.columnWidths));let r;const s=o.length;if(Array.isArray(this.#t.rowHeights)?r=this.#t.rowHeights:typeof this.#t.rowHeights=="number"&&(r=Array.from({length:s}).fill(this.#t.rowHeights)),n||o.some(u=>Array.isArray(u)&&u.some(w=>typeof w=="object"&&w!==null&&!Array.isArray(w)&&w.width!==void 0))&&(n=Array.from({length:h}).fill(void 0)),n&&Array.isArray(n)){const u=[...n];for(const w of o){const p=w;let g=0;for(const f of p){let b={};if(typeof f=="object"&&f!==null&&!Array.isArray(f)){const{content:W,href:x,...y}=f;b=y}b.width!==void 0?u[g]=b.width:b.maxWidth!==void 0&&u[g]!==void 0&&(u[g]=Math.min(u[g],b.maxWidth)),g+=b.colSpan??1}}n=u}const a={autoFlow:"row",backgroundColor:this.#t.style?.backgroundColor,balancedWidths:this.#t.balancedWidths??!1,border:this.#t.style?.border,borderColor:this.#t.style?.borderColor,columns:h,fixedColumnWidths:n,fixedRowHeights:r,foregroundColor:this.#t.style?.foregroundColor,gap:this.#t.gap??0,maxWidth:this.#t.maxWidth,onWarn:this.#t.onWarn,paddingLeft:this.#t.style?.paddingLeft,paddingRight:this.#t.style?.paddingRight,terminalWidth:this.#t.terminalWidth,truncate:this.#t.truncate??(n?.every(u=>typeof u=="number")||this.#t.maxWidth!==void 0&&!this.#t.balancedWidths),truncateOverflow:this.#t.truncateOverflow??!0,wordWrap:this.#t.wordWrap??!1},c=new ct(a),l=[];if(this.#t.columnDefaults)for(const[u,w]of this.#t.columnDefaults.entries())w&&(l[u]={...w});if(this.#t.colAligns)for(const[u,w]of this.#t.colAligns.entries())w!==void 0&&(l[u]={...l[u],hAlign:l[u]?.hAlign??w});const d=l.length>0,m=[];for(const[u,w]of o.entries()){const p=w;if(!Array.isArray(p)){this.#n(`Skipping non-array row while creating GridItems: ${JSON.stringify(p)}`);continue}const g=this.#t.showHeader?this.#o.length:0,f=this.#e.length,b=this.#t.showHeader&&u<g,W=this.#t.showFooter&&u>=g+f,x=b&&p.length===1&&h>1,y=W&&p.length===1&&h>1;let R=0;for(const A of p){let v=A,B={};if(typeof v=="object"&&v!==null&&!Array.isArray(v)){const{content:$,href:T,...j}=v;v=T?`\x1B]8;;${de(T)}\x1B\\${String($)}\x1B]8;;\x1B\\`:$,B=j}const C=d?l[R]:void 0;C&&(B={...B,hAlign:B.hAlign??C.hAlign,maxWidth:B.maxWidth??C.maxWidth,truncate:B.truncate??C.truncate,vAlign:B.vAlign??C.vAlign,wordWrap:B.wordWrap??C.wordWrap}),R+=B.colSpan??1,x&&(B.colSpan=h),y&&(B.colSpan=h);const E=this.#t.transformTabToSpace&&typeof v=="string"?v.replaceAll(" "," ".repeat(this.#t.transformTabToSpace)):v,{maxWidth:L}=B;m.push({backgroundColor:B.backgroundColor,colSpan:B.colSpan,content:E,foregroundColor:B.foregroundColor,hAlign:B.hAlign,maxWidth:L,rowSpan:B.rowSpan,truncate:B.truncate??(L===void 0?void 0:!0),vAlign:B.vAlign,wordWrap:B.wordWrap})}}return c.addItems(m),this.#i=c.toString(),this.#r=!1,this.#i}}const ve=t=>new ue(t);export{ve as N,Be as R,ye as a,be as c,ge as d,me as h,pe as i,ue as k,we as o,xe as r,ae as t,We as w};
@@ -0,0 +1 @@
1
+ import{createRequire as T}from"node:module";import{getAffectedProjects as W}from"@visulima/task-runner";import{i as A}from"./index-BjdW45xX.js";import{V as k}from"./vis-user-error-Cpg2FqA4.js";import{r as B}from"./affected-shas-B2V84O0g.js";let I;const R=e=>(I??=T(import.meta.url))(e),f=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,F=e=>{if(typeof f<"u"&&f.versions&&f.versions.node){const[t,s]=f.versions.node.split(".").map(Number);if(t>22||t===22&&s>=3||t===20&&s>=16)return f.getBuiltinModule(e)}return R(e)},{spawnSync:S}=F("node:child_process"),b=new Set(["deep","direct","none"]),O=e=>{const t=[],s=e.split("\0");for(let n=0;n<s.length;n++){const o=s[n];if(!o||o.length<4)continue;const c=o.slice(0,2),p=o.slice(3);if(p&&t.push(p),c.includes("R")||c.includes("C")){n+=1;const l=s[n];l&&t.push(l)}}return t},P=e=>{const t=S("git",["status","--porcelain","-z"],{cwd:e,encoding:"utf8"});return t.error||t.status!==0||typeof t.stdout!="string"?[]:O(t.stdout)},D=async(e,t,s={})=>{const n=e.downstream??"deep",o=e.upstream??"none";if(!b.has(n))throw new k(`Invalid --downstream value: "${n}". Must be "none", "direct", or "deep".`);if(!b.has(o))throw new k(`Invalid --upstream value: "${o}". Must be "none", "direct", or "deep".`);const{fileOwners:c,projectGraph:p,projects:l,workspaceRoot:h}=t,a=[];let{base:g}=e,{head:i}=e;if(!g||!i){const u=B({defaultBase:s.defaultBase,workspaceRoot:h});g=g||u.base,i=i||u.head,a.push(`Resolved affected refs from ${u.provider} (${u.notes.join("; ")})`)}const y=s.runningInCi??A,w=i==="HEAD"||i==="",$=e.uncommitted??(!y&&w);let d=[];if($)if(w){const j=(s.readWorkingTreeChanges??P)(h),C=Object.values(l).map(r=>r.root?.replace(/\/$/,"")).filter(r=>!!r&&r!==".");d=j.filter(r=>c!==void 0&&Object.hasOwn(c,r)||C.some(v=>r===v||r.startsWith(`${v}/`)));const _=j.length-d.length;d.length>0&&a.push(`including ${d.length} uncommitted working-tree file(s)`),_>0&&a.push(`ignoring ${_} uncommitted path(s) outside any project (untracked scratch would otherwise mark every project affected)`)}else a.push(`ignoring --uncommitted: --head=${i} pins the comparison to a commit, not the working tree`);const m=await W({additionalChangedFiles:d,base:g,downstream:n,fileOwners:c,head:i,ignoredFiles:s.affectedIgnore,projectGraph:p,projects:l,upstream:o,workspaceRoot:h});return m.ignoredFiles.length>0&&a.push(`ignoring ${m.ignoredFiles.length} changed path(s) outside any project matching affectedIgnore`),{...m,notes:a,uncommittedFileCount:d.length}};export{D as s};
@@ -1 +1 @@
1
- import{createRequire as l}from"node:module";import{z as g}from"./index-DHD8wb6Z.js";import{y as b}from"./isAccessibleSync-DYKTrrvc-CSnBISfV.js";let d;const E=e=>(d??=l(import.meta.url))(e),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[t,r]=u.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return u.getBuiltinModule(e)}return E(e)},{spawnSync:p}=h("node:child_process"),f="0000000000000000000000000000000000000000",A=e=>{if(b(e))try{const t=g(e);return JSON.parse(t)}catch{return}},I=(e,t)=>{const r=p("git",e,{cwd:t,encoding:"utf8"});if(!(r.error||typeof r.status!="number"||r.status!==0))return typeof r.stdout=="string"?r.stdout.trim():void 0},_=e=>typeof e=="string"&&e.length>0&&e!==f,R=(e,t,r)=>{const o=[],s=e.GITHUB_BASE_REF,i=e.GITHUB_SHA??"HEAD";if(s&&s.length>0)return o.push(`pull_request: $GITHUB_BASE_REF=${s}`),{base:`origin/${s}`,head:i,notes:o,provider:"github"};const c=e.GITHUB_EVENT_PATH,a=c?r(c):void 0;if(a){const n=typeof a.before=="string"?a.before:void 0;if(_(n))return o.push(`push: event.before=${n}`),{base:n,head:i,notes:o,provider:"github"}}return o.push(`fallback: origin/${t}`),{base:`origin/${t}`,head:i,notes:o,provider:"github"}},C=(e,t)=>{const r=[],o=e.CI_COMMIT_SHA??"HEAD";if(e.CI_PIPELINE_SOURCE==="merge_request_event"){const a=e.CI_MERGE_REQUEST_DIFF_BASE_SHA;if(_(a))return r.push(`merge_request: $CI_MERGE_REQUEST_DIFF_BASE_SHA=${a}`),{base:a,head:o,notes:r,provider:"gitlab"};const n=e.CI_MERGE_REQUEST_TARGET_BRANCH_NAME;if(n&&n.length>0)return r.push(`merge_request: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME=${n}`),{base:`origin/${n}`,head:o,notes:r,provider:"gitlab"}}const i=e.CI_COMMIT_BEFORE_SHA;if(_(i))return r.push(`push: $CI_COMMIT_BEFORE_SHA=${i}`),{base:i,head:o,notes:r,provider:"gitlab"};const c=e.CI_DEFAULT_BRANCH??t;return r.push(`fallback: origin/${c}`),{base:`origin/${c}`,head:o,notes:r,provider:"gitlab"}},S=(e,t)=>{const r=[],o=e.BUILDKITE_COMMIT??"HEAD",s=e.BUILDKITE_PULL_REQUEST_BASE_BRANCH;return s&&s.length>0?(r.push(`pull_request: $BUILDKITE_PULL_REQUEST_BASE_BRANCH=${s}`),{base:`origin/${s}`,head:o,notes:r,provider:"buildkite"}):(r.push(`fallback: origin/${t} (buildkite has no canonical previous-build SHA env)`),{base:`origin/${t}`,head:o,notes:r,provider:"buildkite"})},B=(e,t)=>{const r=[],o=e.CIRCLE_SHA1??"HEAD",s=e.CIRCLE_PR_BASE_BRANCH;return s&&s.length>0?(r.push(`pull_request: $CIRCLE_PR_BASE_BRANCH=${s}`),{base:`origin/${s}`,head:o,notes:r,provider:"circleci"}):(r.push(`fallback: origin/${t} (circleci has no canonical previous-build SHA env)`),{base:`origin/${t}`,head:o,notes:r,provider:"circleci"})},v=(e,t,r)=>{const o=[],s=t(["merge-base","HEAD",`origin/${e}`],r);return s&&s.length>0?(o.push(`local: git merge-base HEAD origin/${e}=${s}`),{base:s,head:"HEAD",notes:o,provider:"local"}):(o.push(`local fallback: origin/${e} (no merge-base available)`),{base:`origin/${e}`,head:"HEAD",notes:o,provider:"local"})},m=e=>{const t=e?.env??process.env,r=e?.defaultBase??"main",o=e?.readEventPayload??A,s=e?.runGit??I,i=e?.workspaceRoot??process.cwd();return t.GITHUB_ACTIONS==="true"?R(t,r,o):t.GITLAB_CI==="true"?C(t,r):t.BUILDKITE==="true"?S(t,r):t.CIRCLECI==="true"?B(t,r):v(r,s,i)};export{m as r};
1
+ import{createRequire as l}from"node:module";import{z as g}from"./index-BzhrR_iC.js";import{y as b}from"./isAccessibleSync-DYKTrrvc-C-_5cgwu.js";let d;const E=e=>(d??=l(import.meta.url))(e),u=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,h=e=>{if(typeof u<"u"&&u.versions&&u.versions.node){const[t,r]=u.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return u.getBuiltinModule(e)}return E(e)},{spawnSync:p}=h("node:child_process"),f="0000000000000000000000000000000000000000",A=e=>{if(b(e))try{const t=g(e);return JSON.parse(t)}catch{return}},I=(e,t)=>{const r=p("git",e,{cwd:t,encoding:"utf8"});if(!(r.error||typeof r.status!="number"||r.status!==0))return typeof r.stdout=="string"?r.stdout.trim():void 0},_=e=>typeof e=="string"&&e.length>0&&e!==f,R=(e,t,r)=>{const o=[],s=e.GITHUB_BASE_REF,i=e.GITHUB_SHA??"HEAD";if(s&&s.length>0)return o.push(`pull_request: $GITHUB_BASE_REF=${s}`),{base:`origin/${s}`,head:i,notes:o,provider:"github"};const c=e.GITHUB_EVENT_PATH,a=c?r(c):void 0;if(a){const n=typeof a.before=="string"?a.before:void 0;if(_(n))return o.push(`push: event.before=${n}`),{base:n,head:i,notes:o,provider:"github"}}return o.push(`fallback: origin/${t}`),{base:`origin/${t}`,head:i,notes:o,provider:"github"}},C=(e,t)=>{const r=[],o=e.CI_COMMIT_SHA??"HEAD";if(e.CI_PIPELINE_SOURCE==="merge_request_event"){const a=e.CI_MERGE_REQUEST_DIFF_BASE_SHA;if(_(a))return r.push(`merge_request: $CI_MERGE_REQUEST_DIFF_BASE_SHA=${a}`),{base:a,head:o,notes:r,provider:"gitlab"};const n=e.CI_MERGE_REQUEST_TARGET_BRANCH_NAME;if(n&&n.length>0)return r.push(`merge_request: $CI_MERGE_REQUEST_TARGET_BRANCH_NAME=${n}`),{base:`origin/${n}`,head:o,notes:r,provider:"gitlab"}}const i=e.CI_COMMIT_BEFORE_SHA;if(_(i))return r.push(`push: $CI_COMMIT_BEFORE_SHA=${i}`),{base:i,head:o,notes:r,provider:"gitlab"};const c=e.CI_DEFAULT_BRANCH??t;return r.push(`fallback: origin/${c}`),{base:`origin/${c}`,head:o,notes:r,provider:"gitlab"}},S=(e,t)=>{const r=[],o=e.BUILDKITE_COMMIT??"HEAD",s=e.BUILDKITE_PULL_REQUEST_BASE_BRANCH;return s&&s.length>0?(r.push(`pull_request: $BUILDKITE_PULL_REQUEST_BASE_BRANCH=${s}`),{base:`origin/${s}`,head:o,notes:r,provider:"buildkite"}):(r.push(`fallback: origin/${t} (buildkite has no canonical previous-build SHA env)`),{base:`origin/${t}`,head:o,notes:r,provider:"buildkite"})},B=(e,t)=>{const r=[],o=e.CIRCLE_SHA1??"HEAD",s=e.CIRCLE_PR_BASE_BRANCH;return s&&s.length>0?(r.push(`pull_request: $CIRCLE_PR_BASE_BRANCH=${s}`),{base:`origin/${s}`,head:o,notes:r,provider:"circleci"}):(r.push(`fallback: origin/${t} (circleci has no canonical previous-build SHA env)`),{base:`origin/${t}`,head:o,notes:r,provider:"circleci"})},v=(e,t,r)=>{const o=[],s=t(["merge-base","HEAD",`origin/${e}`],r);return s&&s.length>0?(o.push(`local: git merge-base HEAD origin/${e}=${s}`),{base:s,head:"HEAD",notes:o,provider:"local"}):(o.push(`local fallback: origin/${e} (no merge-base available)`),{base:`origin/${e}`,head:"HEAD",notes:o,provider:"local"})},m=e=>{const t=e?.env??process.env,r=e?.defaultBase??"main",o=e?.readEventPayload??A,s=e?.runGit??I,i=e?.workspaceRoot??process.cwd();return t.GITHUB_ACTIONS==="true"?R(t,r,o):t.GITLAB_CI==="true"?C(t,r):t.BUILDKITE==="true"?S(t,r):t.CIRCLECI==="true"?B(t,r):v(r,s,i)};export{m as r};
@@ -1,4 +1,4 @@
1
- import{createRequire as Z}from"node:module";import{E as ie,R as v,X as ce,m as k,q as de}from"../packem_chunks/catalog.js";import{a0 as le,a1 as ue,a2 as pe,a3 as me}from"../packem_chunks/cli-main.js";let ee;const te=e=>(ee??=Z(import.meta.url))(e),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,E=e=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[n,t]=y.versions.node.split(".").map(Number);if(n>22||n===22&&t>=3||n===20&&t>=16)return y.getBuiltinModule(e)}return te(e)},{spawn:ne,execFileSync:G,execFile:se}=E("node:child_process"),{existsSync:_,readFileSync:oe}=E("node:fs"),{platform:re,homedir:q}=E("node:os"),{join:h,win32:R}=E("node:path"),{StringDecoder:D}=E("node:string_decoder"),{promisify:ae}=E("node:util"),fe=/v?(\d+\.\d+\.\d+(?:-[\w.]+)?)/,he=5e3,ge=1e4,ve=3e5,be=4096,T=re()==="win32",U=["amp","claude","codex","copilot","crush","cursor","droid","gemini","kimi","opencode","qwen"],ke={alternateCommands:[],buildArgs:(e,{dangerous:n})=>{const t=["-x",e];return n&&t.push("--dangerously-allow-all"),t},command:"amp",defaultModel:"",displayName:"Amp",envVariable:"AMP_PATH",sessionMarkers:[{confidence:"definite",variable:"AMP_CURRENT_THREAD_ID"},{confidence:"definite",equals:"amp",variable:"AGENT"}],supportsMaxTokens:!1,supportsModel:!1},Ae={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=[];return n&&s.push("--dangerously-skip-permissions"),t&&s.push("--model",t),s.push("--output-format","text","-p",e),s},command:"claude",defaultModel:"",displayName:"Claude Code",envVariable:"CLAUDE_PATH",sessionMarkers:[{confidence:"definite",variable:"CLAUDECODE"},{confidence:"definite",variable:"CLAUDE_CODE"}],supportsMaxTokens:!1,supportsModel:!0},Ee={alternateCommands:["openai-codex"],buildArgs:(e,{dangerous:n,model:t})=>{const s=["exec"];return t&&s.push("--model",t),n&&s.push("--dangerously-bypass-approvals-and-sandbox"),s.push("--",e),s},command:"codex",defaultModel:"",displayName:"Codex",envVariable:"CODEX_PATH",sessionMarkers:[{confidence:"definite",variable:"CODEX_SANDBOX"},{confidence:"definite",variable:"CODEX_THREAD_ID"},{confidence:"definite",variable:"CODEX_CI"}],supportsMaxTokens:!1,supportsModel:!0},Ce={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=["-p",e];return n&&s.push("--allow-all-tools"),t&&s.push("--model",t),s},command:"copilot",defaultModel:"",displayName:"GitHub Copilot CLI",envVariable:"COPILOT_PATH",sessionMarkers:[{confidence:"definite",variable:"COPILOT_MODEL"},{confidence:"definite",variable:"COPILOT_ALLOW_ALL"},{confidence:"definite",variable:"COPILOT_GITHUB_TOKEN"},{agent:"GitHub Copilot in VS Code",confidence:"definite",label:"TERM_PROGRAM+GIT_PAGER",match:{all:[["TERM_PROGRAM","vscode"],["GIT_PAGER","cat"]],none:["CURSOR_TRACE_ID"]}}],supportsMaxTokens:!1,supportsModel:!0},ye={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=["run"];return n&&s.push("--yolo"),t&&s.push("-m",t),s.push("--",e),s},command:"crush",defaultModel:"",displayName:"Crush",envVariable:"CRUSH_PATH",sessionMarkers:[{confidence:"definite",equals:"1",variable:"CRUSH"},{confidence:"definite",equals:"crush",variable:"AGENT"}],supportsMaxTokens:!1,supportsModel:!0},we={alternateCommands:["cursor"],buildArgs:(e,{dangerous:n,model:t})=>{const s=["-p"];return n&&s.push("--force"),s.push("--output-format","text"),t&&s.push("--model",t),s.push("--",e),s},command:"agent",defaultModel:"",displayName:"Cursor Agent",envVariable:"CURSOR_PATH",sessionMarkers:[{confidence:"definite",variable:"CURSOR_AGENT"},{confidence:"definite",label:"CURSOR_TRACE_ID+PAGER",match:{all:["CURSOR_TRACE_ID",["PAGER","head -n 10000 | cat"]]}},{agent:"Cursor editor",confidence:"ambient",variable:"CURSOR_TRACE_ID"}],supportsMaxTokens:!1,supportsModel:!0},Se={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=[];return n&&s.push("--skip-permissions-unsafe"),s.push("-o","text"),t&&s.push("-m",t),s.push("--",e),s},command:"droid",defaultModel:"",displayName:"Droid",envVariable:"DROID_PATH",sessionMarkers:[],supportsMaxTokens:!1,supportsModel:!0},Me={alternateCommands:["gemini-cli"],buildArgs:(e,{dangerous:n,maxTokens:t,model:s})=>{const o=[];return n||o.push("--sandbox"),s&&o.push("--model",s),o.push("--max-output-tokens",String(t),"-p",e),o},command:"gemini",defaultModel:"gemini-2.5-pro",displayName:"Gemini CLI",envVariable:"GEMINI_PATH",sessionMarkers:[{confidence:"definite",label:"GEMINI_CLI",match:{all:["GEMINI_CLI"],none:["QWEN_CODE"]}}],supportsMaxTokens:!0,supportsModel:!0},_e={alternateCommands:[],buildArgs:(e,{model:n})=>{const t=["--quiet","-p",e];return n&&t.push("-m",n),t},command:"kimi",defaultModel:"",displayName:"Kimi CLI",envVariable:"KIMI_PATH",sessionMarkers:[],supportsMaxTokens:!1,supportsModel:!0},Re={alternateCommands:[],buildArgs:(e,{model:n})=>{const t=["run"];return n&&t.push("-m",n),t.push("--",e),t},command:"opencode",defaultModel:"",displayName:"opencode",envVariable:"OPENCODE_PATH",sessionMarkers:[{confidence:"definite",label:"OPENCODE",match:{any:["OPENCODE","OPENCODE_BIN_PATH","OPENCODE_SERVER","OPENCODE_APP_INFO","OPENCODE_MODES","OPENCODE_CLIENT"]}}],supportsMaxTokens:!1,supportsModel:!0},Te={alternateCommands:["qwen-code"],buildArgs:(e,{dangerous:n,model:t})=>{const s=["-p",e];return n&&s.push("--yolo"),s.push("-o","text"),t&&s.push("-m",t),s},command:"qwen",defaultModel:"",displayName:"Qwen Code",envVariable:"QWEN_PATH",sessionMarkers:[{confidence:"definite",equals:"1",variable:"QWEN_CODE"}],supportsMaxTokens:!1,supportsModel:!0},F={amp:ke,claude:Ae,codex:Ee,copilot:Ce,crush:ye,cursor:we,droid:Se,gemini:Me,kimi:_e,opencode:Re,qwen:Te};class A extends Error{exitCode;durationMs;provider;stderr;stdout;timedOut;aborted;constructor(n,t){super(n),this.name="AiRunError",this.provider=t.provider,this.exitCode=t.exitCode??null,this.durationMs=t.durationMs,this.stdout=t.stdout??"",this.stderr=t.stderr??"",this.timedOut=t.timedOut??!1,this.aborted=t.aborted??!1}}const Oe=/"%~?dp0%?\\?([^"]+?\.[cm]?js)"/i,Ie=(e,n)=>{const t=Oe.exec(e)?.[1];if(t!==void 0)return R.resolve(R.dirname(n),t)},Ne=e=>{let n;try{n=oe(e,"utf8")}catch{return}const t=Ie(n,e);if(t!==void 0)return _(t)?t:void 0},Le=e=>{const n=R.join(R.dirname(e),"node.exe");return _(n)?n:"node"};ae(se);const xe=/\.(?:bat|cmd)$/i,j=e=>`"${e.replaceAll('"','""')}"`,B=(e,n=T)=>{if(!n||!xe.test(e))return{file:e,mode:"direct",prefixArguments:[]};const t=Ne(e);return t!==void 0?{file:Le(e),mode:"direct",prefixArguments:[t]}:{commandPath:e,mode:"shell"}},K=(e,n)=>e.mode==="shell"?{file:j(e.commandPath),shell:!0,spawnArguments:n.map(t=>j(t))}:{file:e.file,shell:!1,spawnArguments:[...e.prefixArguments,...n]},V=e=>e==="~"||e.startsWith("~/")||T&&e.startsWith("~\\")?h(q(),e.slice(2)):e,Pe=e=>{try{const n=G(T?"where":"which",[e],{encoding:"utf8",stdio:["pipe","pipe","pipe"],timeout:he}).trim().split(`
1
+ import{createRequire as Z}from"node:module";import{E as ie,R as v,X as ce,o as k,q as de}from"../packem_chunks/catalog.js";import{a0 as le,a1 as ue,a2 as pe,a3 as me}from"../packem_chunks/cli-main.js";let ee;const te=e=>(ee??=Z(import.meta.url))(e),y=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,E=e=>{if(typeof y<"u"&&y.versions&&y.versions.node){const[n,t]=y.versions.node.split(".").map(Number);if(n>22||n===22&&t>=3||n===20&&t>=16)return y.getBuiltinModule(e)}return te(e)},{spawn:ne,execFileSync:G,execFile:se}=E("node:child_process"),{existsSync:_,readFileSync:oe}=E("node:fs"),{platform:re,homedir:q}=E("node:os"),{join:h,win32:R}=E("node:path"),{StringDecoder:D}=E("node:string_decoder"),{promisify:ae}=E("node:util"),fe=/v?(\d+\.\d+\.\d+(?:-[\w.]+)?)/,he=5e3,ge=1e4,ve=3e5,be=4096,T=re()==="win32",U=["amp","claude","codex","copilot","crush","cursor","droid","gemini","kimi","opencode","qwen"],ke={alternateCommands:[],buildArgs:(e,{dangerous:n})=>{const t=["-x",e];return n&&t.push("--dangerously-allow-all"),t},command:"amp",defaultModel:"",displayName:"Amp",envVariable:"AMP_PATH",sessionMarkers:[{confidence:"definite",variable:"AMP_CURRENT_THREAD_ID"},{confidence:"definite",equals:"amp",variable:"AGENT"}],supportsMaxTokens:!1,supportsModel:!1},Ae={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=[];return n&&s.push("--dangerously-skip-permissions"),t&&s.push("--model",t),s.push("--output-format","text","-p",e),s},command:"claude",defaultModel:"",displayName:"Claude Code",envVariable:"CLAUDE_PATH",sessionMarkers:[{confidence:"definite",variable:"CLAUDECODE"},{confidence:"definite",variable:"CLAUDE_CODE"}],supportsMaxTokens:!1,supportsModel:!0},Ee={alternateCommands:["openai-codex"],buildArgs:(e,{dangerous:n,model:t})=>{const s=["exec"];return t&&s.push("--model",t),n&&s.push("--dangerously-bypass-approvals-and-sandbox"),s.push("--",e),s},command:"codex",defaultModel:"",displayName:"Codex",envVariable:"CODEX_PATH",sessionMarkers:[{confidence:"definite",variable:"CODEX_SANDBOX"},{confidence:"definite",variable:"CODEX_THREAD_ID"},{confidence:"definite",variable:"CODEX_CI"}],supportsMaxTokens:!1,supportsModel:!0},Ce={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=["-p",e];return n&&s.push("--allow-all-tools"),t&&s.push("--model",t),s},command:"copilot",defaultModel:"",displayName:"GitHub Copilot CLI",envVariable:"COPILOT_PATH",sessionMarkers:[{confidence:"definite",variable:"COPILOT_MODEL"},{confidence:"definite",variable:"COPILOT_ALLOW_ALL"},{confidence:"definite",variable:"COPILOT_GITHUB_TOKEN"},{agent:"GitHub Copilot in VS Code",confidence:"definite",label:"TERM_PROGRAM+GIT_PAGER",match:{all:[["TERM_PROGRAM","vscode"],["GIT_PAGER","cat"]],none:["CURSOR_TRACE_ID"]}}],supportsMaxTokens:!1,supportsModel:!0},ye={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=["run"];return n&&s.push("--yolo"),t&&s.push("-m",t),s.push("--",e),s},command:"crush",defaultModel:"",displayName:"Crush",envVariable:"CRUSH_PATH",sessionMarkers:[{confidence:"definite",equals:"1",variable:"CRUSH"},{confidence:"definite",equals:"crush",variable:"AGENT"}],supportsMaxTokens:!1,supportsModel:!0},we={alternateCommands:["cursor"],buildArgs:(e,{dangerous:n,model:t})=>{const s=["-p"];return n&&s.push("--force"),s.push("--output-format","text"),t&&s.push("--model",t),s.push("--",e),s},command:"agent",defaultModel:"",displayName:"Cursor Agent",envVariable:"CURSOR_PATH",sessionMarkers:[{confidence:"definite",variable:"CURSOR_AGENT"},{confidence:"definite",label:"CURSOR_TRACE_ID+PAGER",match:{all:["CURSOR_TRACE_ID",["PAGER","head -n 10000 | cat"]]}},{agent:"Cursor editor",confidence:"ambient",variable:"CURSOR_TRACE_ID"}],supportsMaxTokens:!1,supportsModel:!0},Se={alternateCommands:[],buildArgs:(e,{dangerous:n,model:t})=>{const s=[];return n&&s.push("--skip-permissions-unsafe"),s.push("-o","text"),t&&s.push("-m",t),s.push("--",e),s},command:"droid",defaultModel:"",displayName:"Droid",envVariable:"DROID_PATH",sessionMarkers:[],supportsMaxTokens:!1,supportsModel:!0},Me={alternateCommands:["gemini-cli"],buildArgs:(e,{dangerous:n,maxTokens:t,model:s})=>{const o=[];return n||o.push("--sandbox"),s&&o.push("--model",s),o.push("--max-output-tokens",String(t),"-p",e),o},command:"gemini",defaultModel:"gemini-2.5-pro",displayName:"Gemini CLI",envVariable:"GEMINI_PATH",sessionMarkers:[{confidence:"definite",label:"GEMINI_CLI",match:{all:["GEMINI_CLI"],none:["QWEN_CODE"]}}],supportsMaxTokens:!0,supportsModel:!0},_e={alternateCommands:[],buildArgs:(e,{model:n})=>{const t=["--quiet","-p",e];return n&&t.push("-m",n),t},command:"kimi",defaultModel:"",displayName:"Kimi CLI",envVariable:"KIMI_PATH",sessionMarkers:[],supportsMaxTokens:!1,supportsModel:!0},Re={alternateCommands:[],buildArgs:(e,{model:n})=>{const t=["run"];return n&&t.push("-m",n),t.push("--",e),t},command:"opencode",defaultModel:"",displayName:"opencode",envVariable:"OPENCODE_PATH",sessionMarkers:[{confidence:"definite",label:"OPENCODE",match:{any:["OPENCODE","OPENCODE_BIN_PATH","OPENCODE_SERVER","OPENCODE_APP_INFO","OPENCODE_MODES","OPENCODE_CLIENT"]}}],supportsMaxTokens:!1,supportsModel:!0},Te={alternateCommands:["qwen-code"],buildArgs:(e,{dangerous:n,model:t})=>{const s=["-p",e];return n&&s.push("--yolo"),s.push("-o","text"),t&&s.push("-m",t),s},command:"qwen",defaultModel:"",displayName:"Qwen Code",envVariable:"QWEN_PATH",sessionMarkers:[{confidence:"definite",equals:"1",variable:"QWEN_CODE"}],supportsMaxTokens:!1,supportsModel:!0},F={amp:ke,claude:Ae,codex:Ee,copilot:Ce,crush:ye,cursor:we,droid:Se,gemini:Me,kimi:_e,opencode:Re,qwen:Te};class A extends Error{exitCode;durationMs;provider;stderr;stdout;timedOut;aborted;constructor(n,t){super(n),this.name="AiRunError",this.provider=t.provider,this.exitCode=t.exitCode??null,this.durationMs=t.durationMs,this.stdout=t.stdout??"",this.stderr=t.stderr??"",this.timedOut=t.timedOut??!1,this.aborted=t.aborted??!1}}const Oe=/"%~?dp0%?\\?([^"]+?\.[cm]?js)"/i,Ie=(e,n)=>{const t=Oe.exec(e)?.[1];if(t!==void 0)return R.resolve(R.dirname(n),t)},Ne=e=>{let n;try{n=oe(e,"utf8")}catch{return}const t=Ie(n,e);if(t!==void 0)return _(t)?t:void 0},Le=e=>{const n=R.join(R.dirname(e),"node.exe");return _(n)?n:"node"};ae(se);const xe=/\.(?:bat|cmd)$/i,j=e=>`"${e.replaceAll('"','""')}"`,B=(e,n=T)=>{if(!n||!xe.test(e))return{file:e,mode:"direct",prefixArguments:[]};const t=Ne(e);return t!==void 0?{file:Le(e),mode:"direct",prefixArguments:[t]}:{commandPath:e,mode:"shell"}},K=(e,n)=>e.mode==="shell"?{file:j(e.commandPath),shell:!0,spawnArguments:n.map(t=>j(t))}:{file:e.file,shell:!1,spawnArguments:[...e.prefixArguments,...n]},V=e=>e==="~"||e.startsWith("~/")||T&&e.startsWith("~\\")?h(q(),e.slice(2)):e,Pe=e=>{try{const n=G(T?"where":"which",[e],{encoding:"utf8",stdio:["pipe","pipe","pipe"],timeout:he}).trim().split(`
2
2
  `)[0]?.trim();return n&&n.length>0?n:void 0}catch{return}},$e=e=>{const n=q();if(T){const t=process.env.APPDATA??"",s=process.env.LOCALAPPDATA??"",o=process.env.ProgramFiles??"";return[h(t,"npm",`${e}.cmd`),h(t,"npm",e),h(s,"Programs",e,`${e}.exe`),h(o,e,`${e}.exe`),h(n,".npm-global","bin",`${e}.cmd`)]}return[`/opt/homebrew/bin/${e}`,`/usr/local/bin/${e}`,h(n,".npm-global","bin",e),h(n,".local","bin",e),h(n,".cargo","bin",e)]},De=e=>{try{const{file:n,shell:t,spawnArguments:s}=K(B(e),["--version"]),o=G(n,s,{encoding:"utf8",shell:t,stdio:["pipe","pipe","pipe"],timeout:ge}),r=fe.exec(o);return r?r[1]:void 0}catch{return}},X=(e,n={})=>{const t=F[e],s={available:!1,name:e},o=n.version!==!1,r=i=>{if(o)return De(i)},a=process.env[t.envVariable];if(a&&_(V(a))){const i=V(a);return{...s,available:!0,detectionMethod:"envvar",path:i,version:r(i)}}const l=[t.command,...t.alternateCommands];for(const i of l){const c=Pe(i);if(c)return{...s,available:!0,detectionMethod:"which",path:c,version:r(c)}}for(const i of l)for(const c of $e(i))if(_(c))return{...s,available:!0,detectionMethod:"known-path",path:c,version:r(c)};return s},je=(e={})=>U.map(n=>X(n,e)),Ve=(e={})=>je(e).filter(n=>n.available),He=(e,n,t={})=>{const s=F[e],o=t.model??s.defaultModel,r=t.maxTokens!==void 0&&Number.isFinite(t.maxTokens)?t.maxTokens:be;return s.buildArgs(n,{dangerous:t.dangerous===!0,maxTokens:r,model:o})},Ge=async(e,n,t={})=>{if(!e.available||!e.path)throw new A(`AI provider "${e.name}" is not available.`,{durationMs:0,provider:e.name});const s=He(e.name,n,t),o=t.timeoutMs!==void 0&&Number.isFinite(t.timeoutMs)?t.timeoutMs:ve,r=e.path,a=K(B(r),s),l=Date.now();if(t.signal?.aborted)throw new A(`${e.name} CLI run was aborted.`,{aborted:!0,durationMs:0,provider:e.name});return new Promise((i,c)=>{const f={cwd:t.cwd,env:{...process.env,...t.env,FORCE_COLOR:"0",NO_COLOR:"1"},shell:a.shell,stdio:["pipe","pipe","pipe"]},d=ne(a.file,a.spawnArguments,f);d.stdin?.end();let m="",g="",b=!1;const N=new D("utf8"),L=new D("utf8");let w,x,S;const O=()=>{clearTimeout(x),S&&t.signal?.removeEventListener("abort",S)},Q=()=>{d.kill("SIGKILL")},P=p=>{if(b)return;b=!0,d.kill("SIGTERM"),w=setTimeout(Q,5e3),w.unref(),O();const u=Date.now()-l,C=p?new A(`${e.name} CLI run was aborted.`,{aborted:!0,durationMs:u,provider:e.name,stderr:g,stdout:m}):new A(`${e.name} CLI timed out after ${String(o)}ms`,{durationMs:u,provider:e.name,stderr:g,stdout:m,timedOut:!0});c(C)};x=setTimeout(P,o,!1),S=()=>{P(!0)},t.signal?.addEventListener("abort",S,{once:!0}),d.stdout?.on("data",p=>{const u=N.write(p);u&&(m+=u,t.onStdout?.(u))}),d.stderr?.on("data",p=>{const u=L.write(p);u&&(g+=u,t.onStderr?.(u))}),d.on("close",p=>{clearTimeout(w);const u=N.end();u&&(m+=u,t.onStdout?.(u));const C=L.end();if(C&&(g+=C,t.onStderr?.(C)),b)return;b=!0,O();const $=Date.now()-l;p===0?i({durationMs:$,exitCode:p,provider:e.name,stderr:g,stdout:m}):c(new A(`${e.name} CLI exited with code ${String(p)}: ${g||m}`,{durationMs:$,exitCode:p,provider:e.name,stderr:g,stdout:m}))}),d.on("error",p=>{clearTimeout(w),!b&&(b=!0,O(),c(new A(`Failed to spawn ${e.name} CLI: ${p.message}`,{durationMs:Date.now()-l,provider:e.name,stderr:g,stdout:m})))})})},qe=12e4,Ue=2,Fe=1e3,Be=e=>new Promise(n=>{setTimeout(n,e)}),J=async(e,n,t=Ue)=>{let s;for(let o=0;o<=t;o+=1)try{return(await Ge(e,n,{timeoutMs:qe})).stdout}catch(r){if(s=r instanceof Error?r:new Error(String(r)),s.message.includes("timed out"))throw s;if(o<t){const a=Fe*2**o;await Be(a)}}throw s??new Error("AI request failed after retries")},Ke={amp:30,claude:80,codex:60,copilot:50,crush:35,cursor:40,droid:20,gemini:100,kimi:25,opencode:35,qwen:30},Xe=e=>{if(e?.provider){if(!U.includes(e.provider))return;const s=X(e.provider);return s.available?s:void 0}const n=Ve();if(n.length===0)return;const t={...Ke,...e?.priority};return n.toSorted((s,o)=>(t[o.name]??0)-(t[s.name]??0))[0]},Je=new Set(["defer","review","skip","update"]),We=new Set(["critical","high","low","medium"]),Ye=new Set(["high","low","medium"]),ze=50,I=30,Qe=e=>e.map(n=>{const t=n.vulnerabilities&&n.vulnerabilities.length>0?` [VULNERABILITIES: ${n.vulnerabilities.map(o=>`${o.severity} ${o.id}`).join(", ")}]`:"";let s="";if(n.socketReport){const o=Math.round(n.socketReport.score.overall*100),r=[`score:${String(o)}%`];if(n.socketReport.alerts.length>0){const a={};for(const i of n.socketReport.alerts)a[i.severity]=(a[i.severity]??0)+1;const l=Object.entries(a).map(([i,c])=>`${String(c)} ${i}`).join(", ");r.push(`alerts: ${l}`)}r.push(`supply-chain:${String(Math.round(n.socketReport.score.supplyChain*100))}%`),r.push(`quality:${String(Math.round(n.socketReport.score.quality*100))}%`),s=` [SOCKET.DEV: ${r.join(", ")}]`}return`- ${n.packageName}: ${n.currentRange} → ${n.newRange} (${n.updateType})${t}${s}`}).join(`
3
3
  `),M=`Respond ONLY with valid JSON in this exact structure:
4
4
  {
@@ -1,4 +1,4 @@
1
- import{createRequire as T}from"node:module";import{readLastRunSummary as _}from"@visulima/task-runner";import{a as $}from"./failure-log-3R522Vb5.js";import{n as v,o as P,q as D,f as j,s as E,t as N,u as A}from"../packem_chunks/cli-main.js";import{c as R}from"./formatBytes-BHAzNIrn-XohRrPdt.js";import{v as x,U as y,e as B,a as H}from"./index-DHD8wb6Z.js";import{a as q,b as C,e as U}from"./ai-analysis-DSQQDFU9.js";let I;const F=e=>(I??=T(import.meta.url))(e),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,O=e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[t,n]=h.versions.node.split(".").map(Number);if(t>22||t===22&&n>=3||t===20&&n>=16)return h.getBuiltinModule(e)}return F(e)},{readFile:L,writeFile:M}=O("node:fs/promises"),k=32*1024,W=(e,t)=>{if(e.length<=t)return e;const n=e.slice(-t),o=e.length-n.length;return`[…${String(o)} bytes truncated from head…]
1
+ import{createRequire as T}from"node:module";import{readLastRunSummary as _}from"@visulima/task-runner";import{a as $}from"./failure-log-D2x5BT8S.js";import{n as v,o as P,q as D,f as j,s as E,t as N,u as A}from"../packem_chunks/cli-main.js";import{c as R}from"./formatBytes-BHAzNIrn-CrusHOew.js";import{v as x,U as y,e as B,a as H}from"./index-BzhrR_iC.js";import{a as q,b as C,e as U}from"./ai-analysis-Cfj24UAy.js";let I;const F=e=>(I??=T(import.meta.url))(e),h=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,O=e=>{if(typeof h<"u"&&h.versions&&h.versions.node){const[t,n]=h.versions.node.split(".").map(Number);if(t>22||t===22&&n>=3||t===20&&n>=16)return h.getBuiltinModule(e)}return F(e)},{readFile:L,writeFile:M}=O("node:fs/promises"),k=32*1024,W=(e,t)=>{if(e.length<=t)return e;const n=e.slice(-t),o=e.length-n.length;return`[…${String(o)} bytes truncated from head…]
2
2
  ${n}`},J=async(e,t)=>t===void 0?_(e,{dataDirectory:R(e)}):j(e,t),pe=async(e,t,n={})=>{const o=n.terminalOutputLimit??k,[r,i]=await Promise.all([$(e,t),J(e,n.runId)]),s=i?v(i,t):void 0;if(!r&&!s)return;let a,c;if(i&&s){const u=await P(e,i.id),f=u?v(u,t):void 0;a=D(s.hashDetails,f?.hashDetails),c=u?.id}const d=r?.terminalOutput??"";return{command:r?.command??void 0,cwd:r?.cwd??void 0,dependencies:s?.dependencies??[],duration:s?.duration,exitCode:r?.exitCode??s?.exitCode,hash:s?.hash??r?.hash,hashDetails:s?.hashDetails,hashDiff:a,previousRunId:c,project:s?.target.project,runId:i?.id??r?.runId,status:r?.status??(s?K(s):void 0),target:s?.target.target,taskId:t,terminalOutput:W(d,o),terminalOutputCaptured:!!r,timestamp:r?.timestamp??s?.endTime??s?.startTime}},K=e=>{if(e.exitCode!==void 0&&e.exitCode!==0)return"failure";switch(e.cacheStatus){case"HIT":return"local-cache";case"REMOTE_HIT":return"remote-cache";case"SKIPPED":return"skipped";default:return e.exitCode===0?"success":void 0}},Y=3600*1e3,w=80,V=new Set(["high","low","medium"]),X=()=>`You are an expert software engineer helping fix a failing build/test/lint task.
3
3
 
4
4
  You will be given:
@@ -1,4 +1,4 @@
1
- import{createRequire as _}from"node:module";import{l as L}from"./target-options-d_rIrLyq.js";import{e as q}from"./index-DHD8wb6Z.js";let P;const R=e=>(P??=_(import.meta.url))(e),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=e=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[t,r]=g.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return g.getBuiltinModule(e)}return R(e)},{createRequire:j}=b("node:module"),{pathToFileURL:F}=b("node:url"),w=["temporal","urlpattern","reporterror","regexp-escape","promise-try","float16array","error-iserror","navigator-locks"],x=e=>{const t=e.trim().toLowerCase();return t===""||t==="all"||t==="1"||t==="true"?w:t.split(",").map(r=>r.trim()).filter(r=>w.includes(r))},E=async(e,t)=>{try{const o=j(q(t,"__vis_polyfill_resolver__.js")).resolve(e);return await import(F(o).href)}catch{return}},A=async e=>{if(globalThis.Temporal!==void 0)return;const t=await E("@js-temporal/polyfill",e);t?.Temporal===void 0?process.stderr.write(`vis: --polyfill temporal requested but @js-temporal/polyfill is not installed in this project.
1
+ import{createRequire as _}from"node:module";import{l as L}from"./target-options-DsHFmRZH.js";import{e as q}from"./index-BzhrR_iC.js";let P;const R=e=>(P??=_(import.meta.url))(e),g=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=e=>{if(typeof g<"u"&&g.versions&&g.versions.node){const[t,r]=g.versions.node.split(".").map(Number);if(t>22||t===22&&r>=3||t===20&&r>=16)return g.getBuiltinModule(e)}return R(e)},{createRequire:j}=b("node:module"),{pathToFileURL:F}=b("node:url"),w=["temporal","urlpattern","reporterror","regexp-escape","promise-try","float16array","error-iserror","navigator-locks"],x=e=>{const t=e.trim().toLowerCase();return t===""||t==="all"||t==="1"||t==="true"?w:t.split(",").map(r=>r.trim()).filter(r=>w.includes(r))},E=async(e,t)=>{try{const o=j(q(t,"__vis_polyfill_resolver__.js")).resolve(e);return await import(F(o).href)}catch{return}},A=async e=>{if(globalThis.Temporal!==void 0)return;const t=await E("@js-temporal/polyfill",e);t?.Temporal===void 0?process.stderr.write(`vis: --polyfill temporal requested but @js-temporal/polyfill is not installed in this project.
2
2
  `):globalThis.Temporal=t.Temporal},I=async e=>{if(globalThis.URLPattern!==void 0)return;const t=await E("urlpattern-polyfill",e);t?.URLPattern===void 0?process.stderr.write(`vis: --polyfill urlpattern requested but urlpattern-polyfill is not installed in this project.
3
3
  `):globalThis.URLPattern=t.URLPattern},N=()=>{typeof globalThis.reportError!="function"&&(globalThis.reportError=e=>{const t=e instanceof Error?e.stack??`${e.name}: ${e.message}`:String(e);process.stderr.write(`${t}
4
4
  `)})},O=()=>{if(typeof RegExp.escape=="function")return;const e=new Set(String.raw`^$\.*+?()[]{}|/`),t={"\f":String.raw`\f`,"\n":String.raw`\n`,"\r":String.raw`\r`," ":String.raw`\t`,"\v":String.raw`\v`},r=/\s/u,o=l=>l<=255?String.raw`\x${l.toString(16).padStart(2,"0")}`:String.raw`\u${l.toString(16).padStart(4,"0")}`;RegExp.escape=l=>{if(typeof l!="string")throw new TypeError("RegExp.escape requires a string argument");let i="",s=!0;for(const a of l){const u=a.codePointAt(0);s&&/[\dA-Za-z]/u.test(a)?i+=o(u):e.has(a)?i+=`\\${a}`:t[a]!==void 0?i+=t[a]:r.test(a)?i+=o(u):i+=a,s=!1}return i}},k=()=>{typeof Promise.try!="function"&&(Promise.try=function(t,...r){const o=typeof this=="function"?this:Promise;return new o((n,l)=>{try{n(t(...r))}catch(i){l(i)}})})},h=e=>{const t=new Float32Array(1),r=new Uint32Array(t.buffer);t[0]=e;const o=r[0],n=o>>>16&32768,l=o>>>23&255,i=o&8388607;if(l===255)return i===0?n|31744:n|32256;const s=l-127+15;if(s>=31)return n|31744;if(s<=0){if(s<-10)return n;const f=i|8388608,c=14-s;let p=f>>c;const m=f&(1<<c)-1,d=1<<c-1;return(m>d||m===d&&(p&1)===1)&&(p+=1),n|p}let a=s<<10|i>>13;const u=i&8191;return(u>4096||u===4096&&(a&1)===1)&&(a+=1),n|a},v=e=>{const t=e&32768?-1:1,r=e>>10&31,o=e&1023;return r===0?t*o*2**-24:r===31?o?Number.NaN:t*Number.POSITIVE_INFINITY:t*(1+o/1024)*2**(r-15)},U=()=>{const e=Math;typeof e.f16round!="function"&&(e.f16round=r=>v(h(r)));const t=DataView.prototype;typeof t.getFloat16!="function"&&(t.getFloat16=function(o,n){return v(this.getUint16(o,n))}),typeof t.setFloat16!="function"&&(t.setFloat16=function(o,n,l){this.setUint16(o,h(n),l)})},C=()=>{typeof Error.isError!="function"&&(Error.isError=e=>typeof e=="object"&&e!==null&&Object.prototype.toString.call(e)==="[object Error]")},V=()=>{const e=globalThis,t=e.navigator;if(t?.locks!==void 0)return;const r=new Map,o=new Set,n=s=>s.reason??(typeof DOMException=="function"?new DOMException("The lock request is aborted","AbortError"):Object.assign(new Error("The lock request is aborted"),{name:"AbortError"})),i={request:async(s,a,u)=>{const f=typeof a!="function",c=(f?a:{})??{},p=f?u:a,m=c.mode==="shared"?"shared":"exclusive";if(c.signal?.aborted)throw n(c.signal);if(c.ifAvailable===!0&&o.has(s))return p(null);const d=r.get(s)??Promise.resolve();let y;const S=new Promise(T=>{y=T});if(r.set(s,d.then(()=>S)),await d.catch(()=>{}),c.signal?.aborted)throw y(),n(c.signal);o.add(s);try{return await p({mode:m,name:s})}finally{o.delete(s),y()}}};t===void 0?Object.defineProperty(e,"navigator",{configurable:!0,enumerable:!0,value:{locks:i},writable:!0}):Object.defineProperty(t,"locks",{configurable:!0,enumerable:!0,value:i})},$={"error-iserror":C,float16array:U,"navigator-locks":V,"promise-try":k,"regexp-escape":O,reporterror:N},M=async(e,t=process.cwd())=>{const r=x(e);await Promise.all(r.map(async o=>{o==="temporal"?await A(t):o==="urlpattern"?await I(t):$[o]?.()}))},H=async e=>{for(const[t,r]of Object.entries(L(e,!0)))process.env[t]===void 0&&(process.env[t]=r);process.env.VIS_POLYFILL!==void 0&&await M(process.env.VIS_POLYFILL,e)};export{H as p};
@@ -1 +1 @@
1
- import{createRequire as v}from"node:module";import{t as T}from"./compile-cache-DoMHRsRZ.js";import{l as w,i as R,a as j,b as M,c as m,g as S}from"./package-version-DFlytdgJ.js";import{i as $}from"./index-BjdW45xX.js";let _;const x=s=>(_??=v(import.meta.url))(s),t=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=s=>{if(typeof t<"u"&&t.versions&&t.versions.node){const[e,o]=t.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return t.getBuiltinModule(s)}return x(s)},{createRequire:y}=b("node:module");let N;const O=s=>(N??=y(import.meta.url))(s),r=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=s=>{if(typeof r<"u"&&r.versions&&r.versions.node){const[e,o]=r.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return r.getBuiltinModule(s)}return O(s)},{execFileSync:C}=f("node:child_process"),{totalmem:I}=f("node:os"),q=/--max-old-space-size=(\d+)/,z=/--max-semi-space-size=(\d+)/,E=s=>Math.floor(I()/1024/1024*s),P=s=>s<=512?4:s<=1024?8:s<=2048?16:s<=4096?32:s<=8192?64:Math.floor(Math.log2(s))*8,d=(s,e)=>{for(const o of e){const n=s.exec(o);if(n)return Number.parseInt(n[1],10)}},B=s=>{const o=[...w()],n=[...R()],a=d(q,o),p=d(z,o);if(a!==void 0&&p!==void 0)return;const l=a??E(.75),g=p??P(l),c=[];if(a===void 0&&c.push(`--max-old-space-size=${String(l)}`),p===void 0&&c.push(`--max-semi-space-size=${String(g)}`),c.length!==0)try{C(j(),[...c,...o,...n.slice(1)],{env:M(),stdio:"inherit"}),m(0)}catch(h){const u=h.status;m(typeof u=="number"?u:1)}},V=()=>{process.env.VIS_VERSION=S()},H=s=>{!process.stdout.isTTY||$||process.env.TERM==="dumb"||process.stdout.write(`\x1B]0;${s}\x07`)},L=new Set(["","--help","--version","-h","-v","completion","dlx","exec","x"]),i=process.argv[2]??"";!L.has(i)&&!process.argv.includes("--help")&&!process.argv.includes("-h")&&B();process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");V();T();(async()=>{if(i==="__pm-shim"){const{dispatchShim:e}=await import("../packem_chunks/dispatch.js");e(process.argv[3]??"",process.argv.slice(4));return}if(i==="x"){const{runLeanX:e}=await import("../packem_chunks/lean.js");await e(process.argv.slice(3));return}if(i==="exec"||i==="dlx"){const{runExecCli:e}=await import("../packem_chunks/cli-exec.js");await e();return}const{runCli:s}=await import("../packem_chunks/cli-main.js").then(e=>e.ax);await s()})();export{H as s};
1
+ import{createRequire as v}from"node:module";import{t as T}from"./compile-cache-DoMHRsRZ.js";import{l as w,i as R,a as j,b as M,c as m,g as S}from"./package-version-DUcG-b7S.js";import{i as $}from"./index-BjdW45xX.js";let _;const x=s=>(_??=v(import.meta.url))(s),t=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=s=>{if(typeof t<"u"&&t.versions&&t.versions.node){const[e,o]=t.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return t.getBuiltinModule(s)}return x(s)},{createRequire:y}=b("node:module");let N;const O=s=>(N??=y(import.meta.url))(s),r=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,f=s=>{if(typeof r<"u"&&r.versions&&r.versions.node){const[e,o]=r.versions.node.split(".").map(Number);if(e>22||e===22&&o>=3||e===20&&o>=16)return r.getBuiltinModule(s)}return O(s)},{execFileSync:C}=f("node:child_process"),{totalmem:I}=f("node:os"),q=/--max-old-space-size=(\d+)/,z=/--max-semi-space-size=(\d+)/,E=s=>Math.floor(I()/1024/1024*s),P=s=>s<=512?4:s<=1024?8:s<=2048?16:s<=4096?32:s<=8192?64:Math.floor(Math.log2(s))*8,d=(s,e)=>{for(const o of e){const n=s.exec(o);if(n)return Number.parseInt(n[1],10)}},B=s=>{const o=[...w()],n=[...R()],a=d(q,o),p=d(z,o);if(a!==void 0&&p!==void 0)return;const l=a??E(.75),g=p??P(l),c=[];if(a===void 0&&c.push(`--max-old-space-size=${String(l)}`),p===void 0&&c.push(`--max-semi-space-size=${String(g)}`),c.length!==0)try{C(j(),[...c,...o,...n.slice(1)],{env:M(),stdio:"inherit"}),m(0)}catch(h){const u=h.status;m(typeof u=="number"?u:1)}},V=()=>{process.env.VIS_VERSION=S()},H=s=>{!process.stdout.isTTY||$||process.env.TERM==="dumb"||process.stdout.write(`\x1B]0;${s}\x07`)},L=new Set(["","--help","--version","-h","-v","completion","dlx","exec","x"]),i=process.argv[2]??"";!L.has(i)&&!process.argv.includes("--help")&&!process.argv.includes("-h")&&B();process.argv.includes("--no-color")&&(process.env.NO_COLOR="1",process.env.FORCE_COLOR="0");V();T();(async()=>{if(i==="__pm-shim"){const{dispatchShim:e}=await import("../packem_chunks/dispatch.js");e(process.argv[3]??"",process.argv.slice(4));return}if(i==="x"){const{runLeanX:e}=await import("../packem_chunks/lean.js");await e(process.argv.slice(3));return}if(i==="exec"||i==="dlx"){const{runExecCli:e}=await import("../packem_chunks/cli-exec.js");await e();return}const{runCli:s}=await import("../packem_chunks/cli-main.js").then(e=>e.ax);await s()})();export{H as s};