uptide 0.9.0 → 0.9.1

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.
@@ -3,7 +3,7 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- import{UPTIDE_COMMAND,UptideError,command,git,uptideVersionInfo}from"./chunk-4IXYBPXG.js";import{readFileSync}from"fs";function assertVerifiedTree(root,report,read=git){let tree="missing branch";try{tree=read(root,"rev-parse","--verify",`refs/heads/${report.branch}^{tree}`)}catch{}if(!report.verifiedTree||tree!==report.verifiedTree)throw new UptideError("VERIFIED_TREE_MISMATCH",`${report.branch}: repository tree ${tree} does not match the recorded verified tree ${report.verifiedTree??"(not recorded)"}. Nothing will be pushed. ${report.verifiedTree?`Restore the verified tree, or run \`${UPTIDE_COMMAND} verify --branch ${report.branch}\` to verify intentional changes before publication.`:`Run \`${UPTIDE_COMMAND} verify --branch ${report.branch}\` first.`}`)}var count=(n,one)=>`${n} ${one}${n===1?"":"s"}`;function publicationBlockers(report,tool=uptideVersionInfo()){let blockers=[];report.exportError&&blockers.push(`export failed: ${report.exportError}`);let v=report.verification;if(report.verificationPending)blockers.push("verification has not run");else if(!v.passed&&!report.exportError){let failed=(v.tests??[]).filter(t=>t.status==="failed"||t.status==="timeout"),reasons=[...v.typesUnverified?[`types not verified (type resolution failed: ${v.typesUnverified})`]:[],...v.newErrors?.length?[count(v.newErrors.length,"new type error")]:[],...(v.lint??[]).filter(l=>l.status==="failed").map(l=>`lint (${l.tool}) fails on the edited files`),...failed.map(t=>`tests ${t.status==="timeout"?"timed out":"failed"} in ${t.workspace}`)];blockers.push(`verification failed${reasons.length?`: ${reasons.join(", ")}`:" (files were left uncommitted)"}`)}return report.sourceChanged?.length&&blockers.push(`your checkout changed during the run (${report.sourceChanged.join("; ")})`),(report.uptideDirty||tool.uptideDirty)&&blockers.push("Uptide ran from a checkout with uncommitted changes; rerun from a committed build so the run is reproducible"),blockers}var GITHUB_BODY_LIMIT=65536;function remoteBranchHead(cwd,branch,io){try{let line=io.git(cwd,"ls-remote","--heads","origin",`refs/heads/${branch}`);return/^([0-9a-f]{40})\s/.exec(line)?.[1]}catch{return}}var defaults={git,command,print:console.log};async function publishTarget(cwd,repo,io=defaults){let auth=await io.command(cwd,"gh",["auth","status"]);if(auth.code)throw new UptideError("PUBLICATION_REFUSED",`--pr needs GitHub CLI signed in: ${auth.output.trim().split(`
6
+ import{UPTIDE_COMMAND,UptideError,command,git,uptideVersionInfo}from"./chunk-G7WALDTE.js";import{readFileSync}from"fs";function assertVerifiedTree(root,report,read=git){let tree="missing branch";try{tree=read(root,"rev-parse","--verify",`refs/heads/${report.branch}^{tree}`)}catch{}if(!report.verifiedTree||tree!==report.verifiedTree)throw new UptideError("VERIFIED_TREE_MISMATCH",`${report.branch}: repository tree ${tree} does not match the recorded verified tree ${report.verifiedTree??"(not recorded)"}. Nothing will be pushed. ${report.verifiedTree?`Restore the verified tree, or run \`${UPTIDE_COMMAND} verify --branch ${report.branch}\` to verify intentional changes before publication.`:`Run \`${UPTIDE_COMMAND} verify --branch ${report.branch}\` first.`}`)}var count=(n,one)=>`${n} ${one}${n===1?"":"s"}`;function publicationBlockers(report,tool=uptideVersionInfo()){let blockers=[];report.exportError&&blockers.push(`export failed: ${report.exportError}`);let v=report.verification;if(report.verificationPending)blockers.push("verification has not run");else if(!v.passed&&!report.exportError){let failed=(v.tests??[]).filter(t=>t.status==="failed"||t.status==="timeout"),reasons=[...v.typesUnverified?[`types not verified (type resolution failed: ${v.typesUnverified})`]:[],...v.newErrors?.length?[count(v.newErrors.length,"new type error")]:[],...(v.lint??[]).filter(l=>l.status==="failed").map(l=>`lint (${l.tool}) fails on the edited files`),...failed.map(t=>`tests ${t.status==="timeout"?"timed out":"failed"} in ${t.workspace}`)];blockers.push(`verification failed${reasons.length?`: ${reasons.join(", ")}`:" (files were left uncommitted)"}`)}return report.sourceChanged?.length&&blockers.push(`your checkout changed during the run (${report.sourceChanged.join("; ")})`),(report.uptideDirty||tool.uptideDirty)&&blockers.push("Uptide ran from a checkout with uncommitted changes; rerun from a committed build so the run is reproducible"),blockers}var GITHUB_BODY_LIMIT=65536;function remoteBranchHead(cwd,branch,io){try{let line=io.git(cwd,"ls-remote","--heads","origin",`refs/heads/${branch}`);return/^([0-9a-f]{40})\s/.exec(line)?.[1]}catch{return}}var defaults={git,command,print:console.log};async function publishTarget(cwd,repo,io=defaults){let auth=await io.command(cwd,"gh",["auth","status"]);if(auth.code)throw new UptideError("PUBLICATION_REFUSED",`--pr needs GitHub CLI signed in: ${auth.output.trim().split(`
7
7
  `).at(-1)??"gh auth status failed"}; run \`gh auth login\``);let remote=io.git(cwd,"remote","get-url","origin"),owner=/github\.com[:/]([^/]+)\/([^/\s]+?)(?:\.git)?$/.exec(remote)?.[1],scopes=/Token scopes: (.*)$/m.exec(auth.output)?.[1],lacksRepoScope=scopes!==void 0&&!/'repo'/.test(scopes),own;try{own=await viewRepository(cwd,remote,io)}catch(error){let message=error instanceof Error?error.message:String(error);throw new UptideError("PUBLICATION_REFUSED",[`--pr cannot reach ${remote} with the GitHub token: ${firstLine(message.replace(/^cannot resolve target repository: /,""))}`,"Likely causes, and what fixes each:",` the token lacks the \`repo\` scope${lacksRepoScope?` (it does: its scopes are ${scopes})`:""}: gh auth refresh -h github.com -s repo`,...owner?[` ${owner} enforces SSO and the token is not authorized for it: https://github.com/orgs/${owner}/sso`]:[]," the account has no access to the repository: ask for it, or run from a fork you own","Nothing was cloned or changed."].join(`
8
8
  `))}if(own.viewerPermission&&!["WRITE","MAINTAIN","ADMIN"].includes(own.viewerPermission))throw new UptideError("PUBLICATION_REFUSED",[`--pr needs push access to ${own.nameWithOwner??remote}; this account has ${own.viewerPermission.toLowerCase()} access only.`,"What fixes it:"," ask for write access to the repository, or",` fork it and run from the fork (gh repo fork ${own.nameWithOwner??""} --clone), then \`${UPTIDE_COMMAND} pr --repo ${own.nameWithOwner??"<owner/name>"}\` opens the PR upstream`,...owner?[` if you do have write access through ${owner}, authorize the token for its SSO: https://github.com/orgs/${owner}/sso`]:[],`Nothing was cloned or changed. Without --pr the migration still runs, and \`${UPTIDE_COMMAND} pr\` publishes it later.`].join(`
9
9
  `));let target=repo?await viewRepository(cwd,repo,io):own;if(!target.defaultBranchRef?.name||!target.nameWithOwner)throw new UptideError("PUBLICATION_REFUSED","target repository has no default branch");return{nameWithOwner:target.nameWithOwner,base:target.defaultBranchRef.name,...own.isFork&&own.parent?.nameWithOwner?{parent:own.parent.nameWithOwner}:{}}}async function viewRepository(cwd,target,io){let metadata=await io.command(cwd,"gh",["repo","view",target,"--json","defaultBranchRef,nameWithOwner,isFork,parent,viewerPermission"]);if(metadata.code)throw new Error(`cannot resolve target repository: ${metadata.output}`);let parsed=JSON.parse(metadata.output),parent=parsed.parent?parsed.parent.nameWithOwner??(parsed.parent.owner?.login&&parsed.parent.name?`${parsed.parent.owner.login}/${parsed.parent.name}`:void 0):void 0;return{...parsed,parent:parent?{nameWithOwner:parent}:null}}var firstLine=text=>text.trim().split(`
@@ -3,5 +3,5 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- var NoTypesError=class extends Error{constructor(packageName,version){super(`${packageName}@${version}: no type declarations, cannot analyze`),this.packageName=packageName,this.version=version}packageName;version;code="NO_TYPES";name="NoTypesError"},PackageNotFoundError=class extends Error{constructor(packageName,registry){super(`${packageName}: not found on ${registry}`),this.packageName=packageName,this.registry=registry}packageName;registry;code="PACKAGE_NOT_FOUND";name="PackageNotFoundError"},RegistryAuthError=class extends Error{constructor(packageName,registry,status){super(`${packageName}: ${registry} answered HTTP ${status} (registry auth)`),this.packageName=packageName,this.registry=registry,this.status=status}packageName;registry;status;code="REGISTRY_AUTH";name="RegistryAuthError"},VersionNotFoundError=class extends Error{constructor(packageName,version,available){super(`${packageName}@${version}: version not published (${available.length} versions available)`),this.packageName=packageName,this.version=version,this.available=available}packageName;version;available;code="VERSION_NOT_FOUND";name="VersionNotFoundError"},IntegrityError=class extends Error{constructor(packageName,version,expected,actual){super(`${packageName}@${version}: tarball integrity mismatch (expected ${expected}, got ${actual})`),this.packageName=packageName,this.version=version,this.expected=expected,this.actual=actual}packageName;version;expected;actual;name="IntegrityError"},AdapterCapabilityError=class extends Error{constructor(adapter,capability){super(`adapter "${adapter}" does not implement ${capability}; cannot check usages`),this.adapter=adapter,this.capability=capability}adapter;capability;name="AdapterCapabilityError"},UptideError=class extends Error{constructor(code,message,options){super(message,options),this.code=code}code;name="UptideError"};function errorCode(error){return error&&typeof error=="object"&&"code"in error&&typeof error.code=="string"?error.code:"ANALYSIS_FAILED"}import{execFileSync}from"child_process";import{readFileSync}from"fs";import{dirname,join,resolve}from"path";import{fileURLToPath}from"url";import{execFileSync as execFileSync2,spawn}from"child_process";import{existsSync,mkdirSync,realpathSync}from"fs";import{tmpdir}from"os";import{dirname as dirname2,join as join2,relative,resolve as resolve2}from"path";var published="0.9.0";function dirtyLines(porcelain){return porcelain.split(`
7
- `).filter(line=>line.trim()!=="").filter(line=>!/(?:^|\/)tsup\.config\.bundled_[\w-]+\.[cm]?js$/.test(line.slice(3)))}function uptideVersionInfo(env=process.env){return{uptideVersion:published,uptideCommit:"2045c7dc0fcb7cd86522595de06308f154b1d8bf",uptideDirty:!1}}function uptideCommand(cliVersion){let tag=/^\d+\.\d+\.\d+-([a-z]+)/.exec(cliVersion)?.[1];return tag?`npx uptide@${tag}`:"npx uptide"}var UPTIDE_COMMAND=uptideCommand(published);function noHooksDir(){let dir=join2(tmpdir(),"uptide-no-hooks");return mkdirSync(dir,{recursive:!0}),dir}function quietEnv(){return{CI:"true",npm_config_ignore_scripts:"true",npm_config_enable_pre_post_scripts:"false",npm_config_verify_deps_before_run:"false",pnpm_config_ignore_scripts:"true",pnpm_config_enable_pre_post_scripts:"false",pnpm_config_verify_deps_before_run:"false",YARN_ENABLE_SCRIPTS:"false",YARN_ENABLE_TELEMETRY:"0",SKIP_SIMPLE_GIT_HOOKS:"1",HUSKY:"0",LEFTHOOK:"0",GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:"core.hooksPath",GIT_CONFIG_VALUE_0:noHooksDir()}}function git(cwd,...args){return execFileSync2("git",["-c","core.hooksPath=/dev/null",...args],{cwd,encoding:"utf8",stdio:["ignore","pipe","pipe"]}).trim()}function command(cwd,bin,args,timeoutMs=12e4,extraEnv={}){return new Promise(resolve3=>{let output="",timeout=!1,child=spawn(bin,args,{cwd,detached:process.platform!=="win32",env:{...Object.fromEntries(Object.entries(process.env).filter(([key])=>!/(?:TOKEN|SECRET|API_KEY|PASSWORD)/i.test(key))),...quietEnv(),...extraEnv},stdio:["ignore","pipe","pipe"]}),append=data=>{output=(output+data.toString()).slice(-2e5)};child.stdout.on("data",append),child.stderr.on("data",append);let timer=setTimeout(()=>{timeout=!0;try{process.platform!=="win32"&&child.pid?process.kill(-child.pid,"SIGKILL"):child.kill("SIGKILL")}catch{}},timeoutMs);child.on("error",e=>{clearTimeout(timer),resolve3({code:1,output:String(e),timeout:!1})}),child.on("close",code=>{clearTimeout(timer),resolve3({code:code??1,output,timeout})})})}function projectRoot(cwd){let root=realpathSync(resolve2(cwd)),top=realpathSync(git(root,"rev-parse","--show-toplevel"));if(!existsSync(join2(root,"package.json")))throw new UptideError("NOT_REPOSITORY_ROOT",`${root}: no package.json; run fix at the project root`);for(let dir=dirname2(root);dir.startsWith(top)&&dir!==root;dir=dirname2(dir)){if(existsSync(join2(dir,"package.json")))throw new UptideError("NOT_REPOSITORY_ROOT",`run fix at the project root, ${dir} (workspace versions are upgraded together)`);if(dir===top)break}return{root,top,project:relative(top,root)||"."}}export{NoTypesError,PackageNotFoundError,RegistryAuthError,VersionNotFoundError,IntegrityError,AdapterCapabilityError,UptideError,errorCode,uptideVersionInfo,uptideCommand,UPTIDE_COMMAND,git,command,projectRoot};
6
+ var NoTypesError=class extends Error{constructor(packageName,version){super(`${packageName}@${version}: no type declarations, cannot analyze`),this.packageName=packageName,this.version=version}packageName;version;code="NO_TYPES";name="NoTypesError"},PackageNotFoundError=class extends Error{constructor(packageName,registry){super(`${packageName}: not found on ${registry}`),this.packageName=packageName,this.registry=registry}packageName;registry;code="PACKAGE_NOT_FOUND";name="PackageNotFoundError"},RegistryAuthError=class extends Error{constructor(packageName,registry,status){super(`${packageName}: ${registry} answered HTTP ${status} (registry auth)`),this.packageName=packageName,this.registry=registry,this.status=status}packageName;registry;status;code="REGISTRY_AUTH";name="RegistryAuthError"},VersionNotFoundError=class extends Error{constructor(packageName,version,available){super(`${packageName}@${version}: version not published (${available.length} versions available)`),this.packageName=packageName,this.version=version,this.available=available}packageName;version;available;code="VERSION_NOT_FOUND";name="VersionNotFoundError"},IntegrityError=class extends Error{constructor(packageName,version,expected,actual){super(`${packageName}@${version}: tarball integrity mismatch (expected ${expected}, got ${actual})`),this.packageName=packageName,this.version=version,this.expected=expected,this.actual=actual}packageName;version;expected;actual;name="IntegrityError"},AdapterCapabilityError=class extends Error{constructor(adapter,capability){super(`adapter "${adapter}" does not implement ${capability}; cannot check usages`),this.adapter=adapter,this.capability=capability}adapter;capability;name="AdapterCapabilityError"},UptideError=class extends Error{constructor(code,message,options){super(message,options),this.code=code}code;name="UptideError"};function errorCode(error){return error&&typeof error=="object"&&"code"in error&&typeof error.code=="string"?error.code:"ANALYSIS_FAILED"}import{execFileSync}from"child_process";import{readFileSync}from"fs";import{dirname,join,resolve}from"path";import{fileURLToPath}from"url";import{execFileSync as execFileSync2,spawn}from"child_process";import{existsSync,mkdirSync,realpathSync}from"fs";import{tmpdir}from"os";import{dirname as dirname2,join as join2,relative,resolve as resolve2}from"path";var published="0.9.1";function dirtyLines(porcelain){return porcelain.split(`
7
+ `).filter(line=>line.trim()!=="").filter(line=>!/(?:^|\/)tsup\.config\.bundled_[\w-]+\.[cm]?js$/.test(line.slice(3)))}function uptideVersionInfo(env=process.env){return{uptideVersion:published,uptideCommit:"8ecf5e24739b9eacf7c512395152e64451a65ac3",uptideDirty:!1}}function uptideCommand(cliVersion){let tag=/^\d+\.\d+\.\d+-([a-z]+)/.exec(cliVersion)?.[1];return tag?`npx uptide@${tag}`:"npx uptide"}var UPTIDE_COMMAND=uptideCommand(published);function noHooksDir(){let dir=join2(tmpdir(),"uptide-no-hooks");return mkdirSync(dir,{recursive:!0}),dir}function quietEnv(){return{CI:"true",npm_config_ignore_scripts:"true",npm_config_enable_pre_post_scripts:"false",npm_config_verify_deps_before_run:"false",pnpm_config_ignore_scripts:"true",pnpm_config_enable_pre_post_scripts:"false",pnpm_config_verify_deps_before_run:"false",YARN_ENABLE_SCRIPTS:"false",YARN_ENABLE_TELEMETRY:"0",SKIP_SIMPLE_GIT_HOOKS:"1",HUSKY:"0",LEFTHOOK:"0",GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:"core.hooksPath",GIT_CONFIG_VALUE_0:noHooksDir()}}function git(cwd,...args){return execFileSync2("git",["-c","core.hooksPath=/dev/null",...args],{cwd,encoding:"utf8",stdio:["ignore","pipe","pipe"]}).trim()}function command(cwd,bin,args,timeoutMs=12e4,extraEnv={}){return new Promise(resolve3=>{let output="",timeout=!1,child=spawn(bin,args,{cwd,detached:process.platform!=="win32",env:{...Object.fromEntries(Object.entries(process.env).filter(([key])=>!/(?:TOKEN|SECRET|API_KEY|PASSWORD)/i.test(key))),...quietEnv(),...extraEnv},stdio:["ignore","pipe","pipe"]}),append=data=>{output=(output+data.toString()).slice(-2e5)};child.stdout.on("data",append),child.stderr.on("data",append);let timer=setTimeout(()=>{timeout=!0;try{process.platform!=="win32"&&child.pid?process.kill(-child.pid,"SIGKILL"):child.kill("SIGKILL")}catch{}},timeoutMs);child.on("error",e=>{clearTimeout(timer),resolve3({code:1,output:String(e),timeout:!1})}),child.on("close",code=>{clearTimeout(timer),resolve3({code:code??1,output,timeout})})})}function projectRoot(cwd){let root=realpathSync(resolve2(cwd)),top=realpathSync(git(root,"rev-parse","--show-toplevel"));if(!existsSync(join2(root,"package.json")))throw new UptideError("NOT_REPOSITORY_ROOT",`${root}: no package.json; run fix at the project root`);for(let dir=dirname2(root);dir.startsWith(top)&&dir!==root;dir=dirname2(dir)){if(existsSync(join2(dir,"package.json")))throw new UptideError("NOT_REPOSITORY_ROOT",`run fix at the project root, ${dir} (workspace versions are upgraded together)`);if(dir===top)break}return{root,top,project:relative(top,root)||"."}}export{NoTypesError,PackageNotFoundError,RegistryAuthError,VersionNotFoundError,IntegrityError,AdapterCapabilityError,UptideError,errorCode,uptideVersionInfo,uptideCommand,UPTIDE_COMMAND,git,command,projectRoot};
@@ -3,11 +3,11 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- import{BUILD_TOOLS,UNUSED_REASON,activePack,activePacks,assertInstalledVersions,assertManagerAvailable,assertNoDowngrades,assertNoPinningOverrides,authHeaders,baselineHealth,bumpVersions,changeRule,check,companionProblems,compareVersions,createFsSurfaceCache,createNpmFetcher,createTypescriptAdapter,defaultCacheDir,dependencyGroups,describeServices,detectIn,diagnosticKey,diagnostics,editDiff,failedTestFiles,genericPack,gitLineMoves,globRegExp,groupPeerBlockers,importedByText,install,installedManifest,isFailure,knownTool,lineMoves,loadRegistryConfig,majorsBehind,mapWithLimit,markPreexisting,minVersion,moved,newDiagnostics,packageManager,packumentUrl,parentOf,parseVersion,payloadApiVersions,peerBlocks,peerPreflight,pinClient,prBody,progress,publicRepos,rangePreflight,readManifest3,recordedStatus,registryFor,require_dist,require_semver,resetSharedState,resolveTarget,ruleFor,satisfies,scanImports,sdkApiVersion,selectedFindings,siteKey,statusOf,stripePack,stripeUsageContext,summarize,testWorkspaces,tierOf,toolingReasons,truthDigest,typeChecker,typeResolutionFailure,typescriptAdapter,unpinnedClients,unplacedKey,validRange,validateVersionRanges,workspacePackagesOf,writePeerOverrides}from"./chunk-2T4NLV3S.js";import{require_ts_morph}from"./chunk-GHXBU767.js";import{assertVerifiedTree,publicationBlockers,publish}from"./chunk-DXJBMNFF.js";import{IntegrityError,NoTypesError,PackageNotFoundError,UPTIDE_COMMAND,UptideError,VersionNotFoundError,command,errorCode,git,projectRoot,uptideCommand,uptideVersionInfo}from"./chunk-4IXYBPXG.js";import{__commonJS,__toESM}from"./chunk-Z5YHBDVG.js";var require_picocolors=__commonJS({"../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports,module){"use strict";var p=process||{},argv=p.argv||[],env=p.env||{},isColorSupported=!(env.NO_COLOR||argv.includes("--no-color"))&&(!!env.FORCE_COLOR||argv.includes("--color")||p.platform==="win32"||(p.stdout||{}).isTTY&&env.TERM!=="dumb"||!!env.CI),formatter=(open,close,replace=open)=>input=>{let string=""+input,index=string.indexOf(close,open.length);return~index?open+replaceClose(string,close,replace,index)+close:open+string+close},replaceClose=(string,close,replace,index)=>{let result="",cursor=0;do result+=string.substring(cursor,index)+replace,cursor=index+close.length,index=string.indexOf(close,cursor);while(~index);return result+string.substring(cursor)},createColors=(enabled=isColorSupported)=>{let f=enabled?formatter:()=>String;return{isColorSupported:enabled,reset:f("\x1B[0m","\x1B[0m"),bold:f("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:f("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:f("\x1B[3m","\x1B[23m"),underline:f("\x1B[4m","\x1B[24m"),inverse:f("\x1B[7m","\x1B[27m"),hidden:f("\x1B[8m","\x1B[28m"),strikethrough:f("\x1B[9m","\x1B[29m"),black:f("\x1B[30m","\x1B[39m"),red:f("\x1B[31m","\x1B[39m"),green:f("\x1B[32m","\x1B[39m"),yellow:f("\x1B[33m","\x1B[39m"),blue:f("\x1B[34m","\x1B[39m"),magenta:f("\x1B[35m","\x1B[39m"),cyan:f("\x1B[36m","\x1B[39m"),white:f("\x1B[37m","\x1B[39m"),gray:f("\x1B[90m","\x1B[39m"),bgBlack:f("\x1B[40m","\x1B[49m"),bgRed:f("\x1B[41m","\x1B[49m"),bgGreen:f("\x1B[42m","\x1B[49m"),bgYellow:f("\x1B[43m","\x1B[49m"),bgBlue:f("\x1B[44m","\x1B[49m"),bgMagenta:f("\x1B[45m","\x1B[49m"),bgCyan:f("\x1B[46m","\x1B[49m"),bgWhite:f("\x1B[47m","\x1B[49m"),blackBright:f("\x1B[90m","\x1B[39m"),redBright:f("\x1B[91m","\x1B[39m"),greenBright:f("\x1B[92m","\x1B[39m"),yellowBright:f("\x1B[93m","\x1B[39m"),blueBright:f("\x1B[94m","\x1B[39m"),magentaBright:f("\x1B[95m","\x1B[39m"),cyanBright:f("\x1B[96m","\x1B[39m"),whiteBright:f("\x1B[97m","\x1B[39m"),bgBlackBright:f("\x1B[100m","\x1B[49m"),bgRedBright:f("\x1B[101m","\x1B[49m"),bgGreenBright:f("\x1B[102m","\x1B[49m"),bgYellowBright:f("\x1B[103m","\x1B[49m"),bgBlueBright:f("\x1B[104m","\x1B[49m"),bgMagentaBright:f("\x1B[105m","\x1B[49m"),bgCyanBright:f("\x1B[106m","\x1B[49m"),bgWhiteBright:f("\x1B[107m","\x1B[49m")}};module.exports=createColors();module.exports.createColors=createColors}});var CREDENTIAL=/(?:sk-[\w-]{8,}|AIza[\w-]{12,}|phc_[\w-]{8,}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_\w{20,}|xox[abpr]-[\w-]{8,}|bearer\s|eyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,})/i,kindOf=value=>value===null?"null":Array.isArray(value)?"a list":typeof value=="object"?"a mapping":typeof value=="string"?"text":typeof value=="boolean"?"true or false":typeof value=="number"?"a number":typeof value,EXPECTED={object:"a mapping",array:"a list",string:"text",integer:"a whole number",number:"a number",boolean:"true or false",null:"null"};function typeMatches(type,value){switch(type){case"null":return value===null;case"object":return!!value&&typeof value=="object"&&!Array.isArray(value);case"array":return Array.isArray(value);case"integer":return Number.isInteger(value);case"number":return typeof value=="number"&&Number.isFinite(value);default:return typeof value===type}}var list=values=>values.map(v=>String(v)).join(", ");function validate(schema,value,path=[]){let fail=message=>[{path,message}];if(schema.const!==void 0&&value!==schema.const)return fail(`must be ${String(schema.const)}`);if(schema.enum&&!schema.enum.includes(value))return fail(`must be one of ${list(schema.enum)}`);let types=schema.type===void 0?[]:[].concat(schema.type);if(types.length&&!types.some(t=>typeMatches(t,value)))return fail(`must be ${types.map(t=>EXPECTED[t]).join(" or ")}, not ${kindOf(value)}`);if(schema.anyOf){let branches=schema.anyOf.map(branch=>validate(branch,value,path));if(branches.every(errors2=>errors2.length>0))return branches.reduce((a,b)=>b.length<a.length?b:a)}let errors=[];if(typeof value=="string"){if(schema.minLength!==void 0&&value.length<schema.minLength)return fail(`must be at least ${schema.minLength} characters`);if(schema.maxLength!==void 0&&value.length>schema.maxLength)return fail(`must be at most ${schema.maxLength} characters`)}if(typeof value=="number"){let range=schema.exclusiveMinimum!==void 0?`more than ${schema.exclusiveMinimum}`:schema.minimum!==void 0?`at least ${schema.minimum}`:void 0;if(schema.exclusiveMinimum!==void 0&&value<=schema.exclusiveMinimum||schema.minimum!==void 0&&value<schema.minimum||schema.maximum!==void 0&&value>schema.maximum)return fail(`must be ${[range,schema.maximum!==void 0?`at most ${schema.maximum}`:void 0].filter(Boolean).join(" and ")}`)}if(typeof value=="string"&&schema.pattern&&!new RegExp(schema.pattern).test(value)&&errors.push({path,message:"is not in the expected format"}),Array.isArray(value)&&schema.items&&value.forEach((item,i)=>{errors.push(...validate(schema.items,item,[...path,i]))}),types.includes("object")&&typeMatches("object",value)){let record=value;for(let name of schema.required??[])name in record||errors.push({path:[...path,name],message:"is required"});for(let[name,child]of Object.entries(record)){let sub=schema.properties?.[name];if(sub)errors.push(...validate(sub,child,[...path,name]));else if(schema.additionalProperties===!1){let known=Object.keys(schema.properties??{});errors.push({path:[...path,name],message:`is not a setting${known.length?` here (known: ${known.join(", ")})`:""}`})}}}return errors}var import_yaml=__toESM(require_dist(),1),import_semver=__toESM(require_semver(),1),import_yaml2=__toESM(require_dist(),1);function cronProblem(expression){let fields=expression.trim().split(/\s+/);if(fields.length!==5)return`has ${fields.length} field${fields.length===1?"":"s"}; a cron expression has five (minute hour day month weekday)`;for(let[i,field]of fields.entries()){let spec=FIELDS[i];for(let part of field.split(",")){let problem=partProblem(part,spec);if(problem)return`${spec.name} field "${part}": ${problem}`}}}var FIELDS=[{name:"minute",min:0,max:59},{name:"hour",min:0,max:23},{name:"day",min:1,max:31},{name:"month",min:1,max:12,names:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"]},{name:"weekday",min:0,max:6,names:["sun","mon","tue","wed","thu","fri","sat"]}];function partProblem(part,spec){let[range,step,...rest]=part.split("/");if(rest.length||range===void 0||range==="")return"not a cron value";if(step!==void 0&&!(/^\d+$/.test(step)&&Number(step)>0))return"a step must be a positive number";if(range==="*")return;let bounds=range.split("-");if(bounds.length>2)return"not a cron value";let values=bounds.map(b=>fieldValue(b,spec));if(values.some(v=>v===void 0))return`expected ${spec.min} to ${spec.max}${spec.names?" or a name":""}`;let[low,high]=values;if(high!==void 0&&low>high)return"a range must go from low to high"}function fieldValue(text,spec){let named=spec.names?.indexOf(text.toLowerCase())??-1;if(named>=0)return spec.min+named;if(!/^\d+$/.test(text))return;let n=Number(text),max=spec.name==="weekday"?7:spec.max;return n>=spec.min&&n<=max?n:void 0}function hash(text){let h=2166136261;for(let i=0;i<text.length;i++)h^=text.charCodeAt(i),h=Math.imul(h,16777619)>>>0;return h}function weeklySchedule(seed){let h=hash(seed.toLowerCase()),minutes=Array.from({length:60},(_,m)=>m).filter(m=>m!==0&&m!==30),minute=minutes[h%minutes.length],hour=3+Math.floor(h/minutes.length)%6;return`${minute} ${hour} * * 1`}var PROVIDERS=["anthropic","openai","gemini"],keyLike=s=>/(?:sk-[\w-]{8,}|AIza[\w-]{12,}|phc_[\w-]+|bearer\s|api[_-]?key|secret|password|access[_-]?token)/i.test(s),UPTIDE_CONFIG_FILE="uptide.yml",UPTIDE_CONFIG_SCHEMA_URL="https://raw.githubusercontent.com/uptide-dev/uptide/main/schema/uptide.v1.json",EXECUTORS=["auto","patch","sdk"],MANUAL_SCHEDULE="manual",DEFAULT_SCHEDULE="17 6 * * 1",DEFAULT_CONFIG=Object.freeze({version:1,packages:{allow:[],deny:[]},schedule:DEFAULT_SCHEDULE,maxOpenPrs:3,llm:{enabled:!0,provider:"anthropic"},maxCost:1,executor:"auto"}),GLOB="^(?:@[a-z0-9*?~][a-z0-9._~*?-]*/)?[a-z0-9*?~][a-z0-9._~*?-]*$",UPTIDE_CONFIG_SCHEMA={$schema:"https://json-schema.org/draft/2020-12/schema",$id:UPTIDE_CONFIG_SCHEMA_URL,title:"uptide.yml",description:"Settings for Uptide: which dependencies it upgrades, when, and whether it may call an LLM.",type:"object",additionalProperties:!1,required:["version"],properties:{version:{description:"Format of this file. Only 1 exists.",const:1},packages:{description:"Which dependencies Uptide considers, as npm package name globs. Deny wins over allow.",type:"object",additionalProperties:!1,properties:{allow:{description:"Only these dependencies. Empty: every dependency.",type:"array",items:{type:"string",pattern:GLOB},default:[]},deny:{description:"Never these dependencies, even when allow matches them.",type:"array",items:{type:"string",pattern:GLOB},default:[]}}},schedule:{description:"When the workflow runs: a five-field cron expression in UTC, or `manual` to run only when started from the Actions tab or the Uptide dashboard. The workflow file holds a copy; run `uptide init` again after changing it.",type:"string",default:DEFAULT_SCHEDULE},maxOpenPrs:{description:"No new pull request is opened while this many Uptide pull requests are open.",type:"integer",minimum:1,maximum:50,default:DEFAULT_CONFIG.maxOpenPrs},llm:{description:"Assisted fixes for the sites no rule covers.",type:"object",additionalProperties:!1,properties:{enabled:{description:"false: no code is sent to an LLM provider; rule-based fixes only.",type:"boolean",default:!0},provider:{description:"Which provider receives the code, with this repository's own API key.",enum:[...PROVIDERS],default:"anthropic"}}},maxCost:{description:"Most a run may spend on LLM calls, in USD.",type:"number",exclusiveMinimum:0,maximum:100,default:DEFAULT_CONFIG.maxCost},executor:{description:"How assisted fixes are applied: auto (SDK for Anthropic when installed, patch otherwise), patch (one edit per site), sdk (a Claude Agent SDK session).",enum:[...EXECUTORS],default:"auto"}}},MAX_CONFIG_BYTES=64*1024,pathText=path=>path.reduce((text,part)=>typeof part=="number"?`${text}[${part}]`:text?`${text}.${part}`:part,"")||"the file";function withDefaults(given){return{version:1,packages:{allow:given.packages?.allow??[...DEFAULT_CONFIG.packages.allow],deny:given.packages?.deny??[...DEFAULT_CONFIG.packages.deny]},schedule:given.schedule??DEFAULT_CONFIG.schedule,maxOpenPrs:given.maxOpenPrs??DEFAULT_CONFIG.maxOpenPrs,llm:{enabled:given.llm?.enabled??DEFAULT_CONFIG.llm.enabled,provider:given.llm?.provider??DEFAULT_CONFIG.llm.provider},maxCost:given.maxCost??DEFAULT_CONFIG.maxCost,executor:given.executor??DEFAULT_CONFIG.executor}}function parseUptideConfig(text,file=UPTIDE_CONFIG_FILE){let invalid=lines=>new UptideError("INVALID_CONFIG",`${file} is not valid:
6
+ import{BUILD_TOOLS,UNUSED_REASON,activePack,activePacks,assertInstalledVersions,assertManagerAvailable,assertNoDowngrades,assertNoPinningOverrides,authHeaders,baselineHealth,bumpVersions,changeRule,check,companionProblems,compareVersions,createFsSurfaceCache,createNpmFetcher,createTypescriptAdapter,defaultCacheDir,dependencyGroups,describeServices,detectIn,diagnosticKey,diagnostics,editDiff,failedTestFiles,genericPack,gitLineMoves,globRegExp,groupPeerBlockers,importedByText,install,installedManifest,isFailure,knownTool,lineMoves,loadRegistryConfig,majorsBehind,mapWithLimit,markPreexisting,minVersion,moved,newDiagnostics,packageManager,packumentUrl,parentOf,parseVersion,payloadApiVersions,peerBlocks,peerPreflight,pinClient,prBody,progress,publicRepos,rangePreflight,readManifest3,recordedStatus,registryFor,require_dist,require_semver,resetSharedState,resolveTarget,ruleFor,satisfies,scanImports,sdkApiVersion,selectedFindings,siteKey,statusOf,stripePack,stripeUsageContext,summarize,testWorkspaces,tierOf,toolingReasons,truthDigest,typeChecker,typeResolutionFailure,typescriptAdapter,unpinnedClients,unplacedKey,validRange,validateVersionRanges,workspacePackagesOf,writePeerOverrides}from"./chunk-Y6UMRAZ3.js";import{require_ts_morph}from"./chunk-GHXBU767.js";import{assertVerifiedTree,publicationBlockers,publish}from"./chunk-3ZREUMUG.js";import{IntegrityError,NoTypesError,PackageNotFoundError,UPTIDE_COMMAND,UptideError,VersionNotFoundError,command,errorCode,git,projectRoot,uptideCommand,uptideVersionInfo}from"./chunk-G7WALDTE.js";import{__commonJS,__toESM}from"./chunk-Z5YHBDVG.js";var require_picocolors=__commonJS({"../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports,module){"use strict";var p=process||{},argv=p.argv||[],env=p.env||{},isColorSupported=!(env.NO_COLOR||argv.includes("--no-color"))&&(!!env.FORCE_COLOR||argv.includes("--color")||p.platform==="win32"||(p.stdout||{}).isTTY&&env.TERM!=="dumb"||!!env.CI),formatter=(open,close,replace=open)=>input=>{let string=""+input,index=string.indexOf(close,open.length);return~index?open+replaceClose(string,close,replace,index)+close:open+string+close},replaceClose=(string,close,replace,index)=>{let result="",cursor=0;do result+=string.substring(cursor,index)+replace,cursor=index+close.length,index=string.indexOf(close,cursor);while(~index);return result+string.substring(cursor)},createColors=(enabled=isColorSupported)=>{let f=enabled?formatter:()=>String;return{isColorSupported:enabled,reset:f("\x1B[0m","\x1B[0m"),bold:f("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:f("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:f("\x1B[3m","\x1B[23m"),underline:f("\x1B[4m","\x1B[24m"),inverse:f("\x1B[7m","\x1B[27m"),hidden:f("\x1B[8m","\x1B[28m"),strikethrough:f("\x1B[9m","\x1B[29m"),black:f("\x1B[30m","\x1B[39m"),red:f("\x1B[31m","\x1B[39m"),green:f("\x1B[32m","\x1B[39m"),yellow:f("\x1B[33m","\x1B[39m"),blue:f("\x1B[34m","\x1B[39m"),magenta:f("\x1B[35m","\x1B[39m"),cyan:f("\x1B[36m","\x1B[39m"),white:f("\x1B[37m","\x1B[39m"),gray:f("\x1B[90m","\x1B[39m"),bgBlack:f("\x1B[40m","\x1B[49m"),bgRed:f("\x1B[41m","\x1B[49m"),bgGreen:f("\x1B[42m","\x1B[49m"),bgYellow:f("\x1B[43m","\x1B[49m"),bgBlue:f("\x1B[44m","\x1B[49m"),bgMagenta:f("\x1B[45m","\x1B[49m"),bgCyan:f("\x1B[46m","\x1B[49m"),bgWhite:f("\x1B[47m","\x1B[49m"),blackBright:f("\x1B[90m","\x1B[39m"),redBright:f("\x1B[91m","\x1B[39m"),greenBright:f("\x1B[92m","\x1B[39m"),yellowBright:f("\x1B[93m","\x1B[39m"),blueBright:f("\x1B[94m","\x1B[39m"),magentaBright:f("\x1B[95m","\x1B[39m"),cyanBright:f("\x1B[96m","\x1B[39m"),whiteBright:f("\x1B[97m","\x1B[39m"),bgBlackBright:f("\x1B[100m","\x1B[49m"),bgRedBright:f("\x1B[101m","\x1B[49m"),bgGreenBright:f("\x1B[102m","\x1B[49m"),bgYellowBright:f("\x1B[103m","\x1B[49m"),bgBlueBright:f("\x1B[104m","\x1B[49m"),bgMagentaBright:f("\x1B[105m","\x1B[49m"),bgCyanBright:f("\x1B[106m","\x1B[49m"),bgWhiteBright:f("\x1B[107m","\x1B[49m")}};module.exports=createColors();module.exports.createColors=createColors}});var CREDENTIAL=/(?:sk-[\w-]{8,}|AIza[\w-]{12,}|phc_[\w-]{8,}|gh[pousr]_[A-Za-z0-9]{20,}|github_pat_\w{20,}|xox[abpr]-[\w-]{8,}|bearer\s|eyJ[\w-]{8,}\.[\w-]{8,}\.[\w-]{8,})/i,kindOf=value=>value===null?"null":Array.isArray(value)?"a list":typeof value=="object"?"a mapping":typeof value=="string"?"text":typeof value=="boolean"?"true or false":typeof value=="number"?"a number":typeof value,EXPECTED={object:"a mapping",array:"a list",string:"text",integer:"a whole number",number:"a number",boolean:"true or false",null:"null"};function typeMatches(type,value){switch(type){case"null":return value===null;case"object":return!!value&&typeof value=="object"&&!Array.isArray(value);case"array":return Array.isArray(value);case"integer":return Number.isInteger(value);case"number":return typeof value=="number"&&Number.isFinite(value);default:return typeof value===type}}var list=values=>values.map(v=>String(v)).join(", ");function validate(schema,value,path=[]){let fail=message=>[{path,message}];if(schema.const!==void 0&&value!==schema.const)return fail(`must be ${String(schema.const)}`);if(schema.enum&&!schema.enum.includes(value))return fail(`must be one of ${list(schema.enum)}`);let types=schema.type===void 0?[]:[].concat(schema.type);if(types.length&&!types.some(t=>typeMatches(t,value)))return fail(`must be ${types.map(t=>EXPECTED[t]).join(" or ")}, not ${kindOf(value)}`);if(schema.anyOf){let branches=schema.anyOf.map(branch=>validate(branch,value,path));if(branches.every(errors2=>errors2.length>0))return branches.reduce((a,b)=>b.length<a.length?b:a)}let errors=[];if(typeof value=="string"){if(schema.minLength!==void 0&&value.length<schema.minLength)return fail(`must be at least ${schema.minLength} characters`);if(schema.maxLength!==void 0&&value.length>schema.maxLength)return fail(`must be at most ${schema.maxLength} characters`)}if(typeof value=="number"){let range=schema.exclusiveMinimum!==void 0?`more than ${schema.exclusiveMinimum}`:schema.minimum!==void 0?`at least ${schema.minimum}`:void 0;if(schema.exclusiveMinimum!==void 0&&value<=schema.exclusiveMinimum||schema.minimum!==void 0&&value<schema.minimum||schema.maximum!==void 0&&value>schema.maximum)return fail(`must be ${[range,schema.maximum!==void 0?`at most ${schema.maximum}`:void 0].filter(Boolean).join(" and ")}`)}if(typeof value=="string"&&schema.pattern&&!new RegExp(schema.pattern).test(value)&&errors.push({path,message:"is not in the expected format"}),Array.isArray(value)&&schema.items&&value.forEach((item,i)=>{errors.push(...validate(schema.items,item,[...path,i]))}),types.includes("object")&&typeMatches("object",value)){let record=value;for(let name of schema.required??[])name in record||errors.push({path:[...path,name],message:"is required"});for(let[name,child]of Object.entries(record)){let sub=schema.properties?.[name];if(sub)errors.push(...validate(sub,child,[...path,name]));else if(schema.additionalProperties===!1){let known=Object.keys(schema.properties??{});errors.push({path:[...path,name],message:`is not a setting${known.length?` here (known: ${known.join(", ")})`:""}`})}}}return errors}var import_yaml=__toESM(require_dist(),1),import_semver=__toESM(require_semver(),1),import_yaml2=__toESM(require_dist(),1);function cronProblem(expression){let fields=expression.trim().split(/\s+/);if(fields.length!==5)return`has ${fields.length} field${fields.length===1?"":"s"}; a cron expression has five (minute hour day month weekday)`;for(let[i,field]of fields.entries()){let spec=FIELDS[i];for(let part of field.split(",")){let problem=partProblem(part,spec);if(problem)return`${spec.name} field "${part}": ${problem}`}}}var FIELDS=[{name:"minute",min:0,max:59},{name:"hour",min:0,max:23},{name:"day",min:1,max:31},{name:"month",min:1,max:12,names:["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"]},{name:"weekday",min:0,max:6,names:["sun","mon","tue","wed","thu","fri","sat"]}];function partProblem(part,spec){let[range,step,...rest]=part.split("/");if(rest.length||range===void 0||range==="")return"not a cron value";if(step!==void 0&&!(/^\d+$/.test(step)&&Number(step)>0))return"a step must be a positive number";if(range==="*")return;let bounds=range.split("-");if(bounds.length>2)return"not a cron value";let values=bounds.map(b=>fieldValue(b,spec));if(values.some(v=>v===void 0))return`expected ${spec.min} to ${spec.max}${spec.names?" or a name":""}`;let[low,high]=values;if(high!==void 0&&low>high)return"a range must go from low to high"}function fieldValue(text,spec){let named=spec.names?.indexOf(text.toLowerCase())??-1;if(named>=0)return spec.min+named;if(!/^\d+$/.test(text))return;let n=Number(text),max=spec.name==="weekday"?7:spec.max;return n>=spec.min&&n<=max?n:void 0}function hash(text){let h=2166136261;for(let i=0;i<text.length;i++)h^=text.charCodeAt(i),h=Math.imul(h,16777619)>>>0;return h}function weeklySchedule(seed){let h=hash(seed.toLowerCase()),minutes=Array.from({length:60},(_,m)=>m).filter(m=>m!==0&&m!==30),minute=minutes[h%minutes.length],hour=3+Math.floor(h/minutes.length)%6;return`${minute} ${hour} * * 1`}var PROVIDERS=["anthropic","openai","gemini"],keyLike=s=>/(?:sk-[\w-]{8,}|AIza[\w-]{12,}|phc_[\w-]+|bearer\s|api[_-]?key|secret|password|access[_-]?token)/i.test(s),UPTIDE_CONFIG_FILE="uptide.yml",UPTIDE_CONFIG_SCHEMA_URL="https://raw.githubusercontent.com/uptide-dev/uptide/main/schema/uptide.v1.json",EXECUTORS=["auto","patch","sdk"],MANUAL_SCHEDULE="manual",DEFAULT_SCHEDULE="17 6 * * 1",DEFAULT_CONFIG=Object.freeze({version:1,packages:{allow:[],deny:[]},schedule:DEFAULT_SCHEDULE,maxOpenPrs:3,llm:{enabled:!0,provider:"anthropic"},maxCost:1,executor:"auto"}),GLOB="^(?:@[a-z0-9*?~][a-z0-9._~*?-]*/)?[a-z0-9*?~][a-z0-9._~*?-]*$",UPTIDE_CONFIG_SCHEMA={$schema:"https://json-schema.org/draft/2020-12/schema",$id:UPTIDE_CONFIG_SCHEMA_URL,title:"uptide.yml",description:"Settings for Uptide: which dependencies it upgrades, when, and whether it may call an LLM.",type:"object",additionalProperties:!1,required:["version"],properties:{version:{description:"Format of this file. Only 1 exists.",const:1},packages:{description:"Which dependencies Uptide considers, as npm package name globs. Deny wins over allow.",type:"object",additionalProperties:!1,properties:{allow:{description:"Only these dependencies. Empty: every dependency.",type:"array",items:{type:"string",pattern:GLOB},default:[]},deny:{description:"Never these dependencies, even when allow matches them.",type:"array",items:{type:"string",pattern:GLOB},default:[]}}},schedule:{description:"When the workflow runs: a five-field cron expression in UTC, or `manual` to run only when started from the Actions tab or the Uptide dashboard. The workflow file holds a copy; run `uptide init` again after changing it.",type:"string",default:DEFAULT_SCHEDULE},maxOpenPrs:{description:"No new pull request is opened while this many Uptide pull requests are open.",type:"integer",minimum:1,maximum:50,default:DEFAULT_CONFIG.maxOpenPrs},llm:{description:"Assisted fixes for the sites no rule covers.",type:"object",additionalProperties:!1,properties:{enabled:{description:"false: no code is sent to an LLM provider; rule-based fixes only.",type:"boolean",default:!0},provider:{description:"Which provider receives the code, with this repository's own API key.",enum:[...PROVIDERS],default:"anthropic"}}},maxCost:{description:"Most a run may spend on LLM calls, in USD.",type:"number",exclusiveMinimum:0,maximum:100,default:DEFAULT_CONFIG.maxCost},executor:{description:"How assisted fixes are applied: auto (SDK for Anthropic when installed, patch otherwise), patch (one edit per site), sdk (a Claude Agent SDK session).",enum:[...EXECUTORS],default:"auto"}}},MAX_CONFIG_BYTES=64*1024,pathText=path=>path.reduce((text,part)=>typeof part=="number"?`${text}[${part}]`:text?`${text}.${part}`:part,"")||"the file";function withDefaults(given){return{version:1,packages:{allow:given.packages?.allow??[...DEFAULT_CONFIG.packages.allow],deny:given.packages?.deny??[...DEFAULT_CONFIG.packages.deny]},schedule:given.schedule??DEFAULT_CONFIG.schedule,maxOpenPrs:given.maxOpenPrs??DEFAULT_CONFIG.maxOpenPrs,llm:{enabled:given.llm?.enabled??DEFAULT_CONFIG.llm.enabled,provider:given.llm?.provider??DEFAULT_CONFIG.llm.provider},maxCost:given.maxCost??DEFAULT_CONFIG.maxCost,executor:given.executor??DEFAULT_CONFIG.executor}}function parseUptideConfig(text,file=UPTIDE_CONFIG_FILE){let invalid=lines=>new UptideError("INVALID_CONFIG",`${file} is not valid:
7
7
  ${lines.map(l=>` ${l}`).join(`
8
8
  `)}
9
9
  Reference: docs/config.md`);if(new TextEncoder().encode(text).length>MAX_CONFIG_BYTES)throw invalid([`the file is larger than ${MAX_CONFIG_BYTES/1024} KB`]);let lineCounter=new import_yaml.LineCounter,doc=(0,import_yaml.parseDocument)(text,{lineCounter,uniqueKeys:!0,prettyErrors:!1}),lineOf=offset=>offset===void 0?"":`line ${lineCounter.linePos(offset).line}: `;if(doc.errors.length)throw invalid(doc.errors.map(e=>`${lineOf(e.pos[0])}${e.message.split(`
10
- `)[0]?.replace(/ at line.*$/,"")}`));let nodeAt=path=>{for(let i=path.length;i>=0;i--){let node=path.length===0||i===0?doc.contents:doc.getIn(path.slice(0,i),!0);if(node&&typeof node=="object"&&"range"in node)return node}},at=(path,message)=>`${lineOf(nodeAt(path)?.range?.[0])}${pathText(path)} ${message}`,secrets=[],scan=(node,path)=>{if((0,import_yaml.isMap)(node))for(let pair of node.items){let name=(0,import_yaml.isScalar)(pair.key)?String(pair.key.value):"";keyLike(name)&&secrets.push(`${lineOf(pair.key?.range?.[0])}"${name}" looks like a credential setting`),scan(pair.value,[...path,name])}else(0,import_yaml.isSeq)(node)?node.items.forEach((item,i)=>{scan(item,[...path,i])}):(0,import_yaml.isScalar)(node)&&typeof node.value=="string"&&CREDENTIAL.test(node.value)&&secrets.push(at(path,"looks like a credential"))};if(scan(doc.contents,[]),secrets.length)throw invalid([...secrets,"API keys belong in the repository secret (ANTHROPIC_API_KEY) or an environment variable, never in this file. If this one was committed, rotate it."]);let value=doc.toJS();if(value==null)throw invalid(["the file is empty; it needs at least `version: 1`"]);let record=value;if(typeof record=="object"&&!Array.isArray(record)){if(typeof record.version=="number"&&record.version>1)throw invalid([at(["version"],`is ${record.version}; this uptide reads version 1. Update uptide to read this file.`)]);if("draft"in record)throw invalid([at(["draft"],"is not a setting: Uptide pull requests are always drafts")])}let problems=validate(UPTIDE_CONFIG_SCHEMA,value).map(e=>at(e.path,e.message));if(typeof record.schedule=="string"&&record.schedule!==MANUAL_SCHEDULE){let cron=cronProblem(record.schedule);cron&&problems.push(at(["schedule"],`${cron}, or manual for no scheduled runs`))}if(problems.length)throw invalid(problems);let given=value;return{config:withDefaults(given),given}}function packageSelected(config,name){let matches=globs=>globs.some(glob=>globRegExp(glob).test(name));return matches(config.packages.deny)?!1:config.packages.allow.length===0||matches(config.packages.allow)}var ONBOARDING_INPUTS=["package.json","package-lock.json","npm-shrinkwrap.json","pnpm-lock.yaml","pnpm-workspace.yaml","yarn.lock",".yarnrc.yml","bun.lock","bun.lockb",".nvmrc",".node-version",".tool-versions"],OnboardingRefusal=class extends UptideError{constructor(reason,message){super("ONBOARDING_REFUSED",message),this.reason=reason}reason},NODE_MAJORS=[24,22,20,26,18,25,23,21,19,16],DEFAULT_NODE="24",DECLARED=/^(npm|pnpm|yarn|bun)@(\d+\.\d+\.\d+(?:-[\w.]+)?)(?:\+[\w.-]+)?$/;function repoFacts(snapshot2){let files2=snapshot2.files,manifestText=files2["package.json"];if(manifestText===void 0)throw new OnboardingRefusal("not-javascript","There is no package.json at the repository root. Uptide works on JavaScript and TypeScript repositories with a package.json and a lockfile at the root.");let manifest2;try{if(manifest2=JSON.parse(manifestText),!manifest2||typeof manifest2!="object"||Array.isArray(manifest2))throw new Error}catch{throw new OnboardingRefusal("invalid-manifest","package.json at the root is not valid JSON.")}let name=typeof manifest2.name=="string"?manifest2.name:void 0;return{...snapshot2.slug?{slug:snapshot2.slug}:{},defaultBranch:snapshot2.defaultBranch,...name?{name}:{},manager:managerFacts(files2,manifest2.packageManager),node:nodeFacts(files2,manifest2),workspaces:workspaceGlobs(files2,manifest2.workspaces)}}var LOCKFILES=[["package-lock.json","npm"],["npm-shrinkwrap.json","npm"],["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["bun.lock","bun"],["bun.lockb","bun"]];function managerFacts(files2,field){let declared;if(field!==void 0){let match2=typeof field=="string"?DECLARED.exec(field):null;if(!match2)throw new OnboardingRefusal("invalid-manifest",'package.json "packageManager" is not in the form name@version (for example pnpm@10.17.1), so Corepack cannot use it.');declared={name:match2[1],version:match2[2],raw:field}}let present2=LOCKFILES.filter(([file])=>files2[file]!==void 0);if(declared?.name==="bun"||!declared&&present2.length>0&&present2.every(([,m])=>m==="bun"))throw new OnboardingRefusal("bun",`This repository uses Bun (${declared?`packageManager is ${declared.raw}`:present2.map(([f])=>f).join(", ")}). Uptide supports npm, pnpm and Yarn; Bun is not supported yet.`);if(present2.length===0)throw new OnboardingRefusal("no-lockfile","There is no lockfile at the repository root (package-lock.json, pnpm-lock.yaml or yarn.lock). Uptide installs exactly what the lockfile pins; commit one first.");let pick;if(declared){if(pick=present2.find(([,m])=>m===declared.name),!pick)throw new OnboardingRefusal("manager-mismatch",`package.json says packageManager ${declared.raw}, but the lockfile is ${present2.map(([f])=>f).join(", ")}. Make them agree (regenerate the lockfile with ${declared.name}, or change packageManager), then try again.`)}else{if([...new Set(present2.map(([,m])=>m))].length>1)throw new OnboardingRefusal("several-lockfiles",`There are several lockfiles (${present2.map(([f])=>f).join(", ")}) and no "packageManager" in package.json to say which one is used. Remove the stale ones, or set packageManager.`);pick=present2[0]}let[lockfile,name]=pick,text=files2[lockfile]??"",base={name,lockfile,...declared?{declared:declared.raw}:{}};if(name==="npm"){let version22=Number(/"lockfileVersion"\s*:\s*(\d+)/.exec(text)?.[1]);if(version22!==2&&version22!==3)throw new OnboardingRefusal("unsupported-lockfile",`${lockfile} has lockfileVersion ${Number.isNaN(version22)?"missing":version22}; Uptide needs version 2 or 3 (npm 7 or newer). Run \`npm install --package-lock-only\` with a current npm and commit the result.`);return{...base,...declared?{version:declared.version}:{},install:"npm ci --ignore-scripts --no-audit --no-fund"}}if(name==="pnpm"){let lockVersion=/^lockfileVersion:\s*['"]?([\d.]+)/m.exec(text)?.[1],lockMajor=Number(lockVersion?.split(".")[0]);if(declared){let major=import_semver.default.major(declared.version);if(lockMajor>=9&&major<9)throw new OnboardingRefusal("manager-mismatch",`package.json says packageManager ${declared.raw}, but pnpm-lock.yaml was written by pnpm 9 or newer (lockfileVersion ${lockVersion}). Make them agree, then try again.`)}let implied=lockMajor>=9?"10":lockMajor===6?"8":lockVersion==="5.4"?"7":void 0;if(!declared&&!implied)throw new OnboardingRefusal("unknown-manager-version",`pnpm-lock.yaml has lockfileVersion ${lockVersion??"missing"}, which does not say which pnpm wrote it. Set "packageManager" in package.json (for example pnpm@10.17.1).`);return{...base,version:declared?.version??implied,install:"pnpm install --frozen-lockfile --ignore-scripts"}}let berry=/^__metadata:/m.test(text),yarnrc=readYarnrc(files2[".yarnrc.yml"]);if(declared){let major=import_semver.default.major(declared.version);if(berry!==major>=2)throw new OnboardingRefusal("manager-mismatch",`package.json says packageManager ${declared.raw}, but yarn.lock is in the Yarn ${berry?"Berry (2 or newer)":"classic (1)"} format. Make them agree, then try again.`)}if(!berry)return{...base,flavor:"classic",...declared?{version:declared.version}:{},install:"yarn install --frozen-lockfile --ignore-scripts --non-interactive"};let pathVersion=/yarn-(\d+\.\d+\.\d+[\w.-]*)\.c?js$/.exec(yarnrc.yarnPath??"")?.[1],version2=declared?.version??pathVersion;if(!declared&&!yarnrc.yarnPath)throw new OnboardingRefusal("unknown-manager-version",'yarn.lock is in the Yarn Berry format, but neither "packageManager" in package.json nor yarnPath in .yarnrc.yml says which Yarn to run. Set packageManager (for example yarn@4.9.2).');if(yarnrc.nodeLinker!=="node-modules"&&yarnrc.nodeLinker!=="pnpm")throw new OnboardingRefusal("yarn-pnp",`This repository uses Yarn Plug'n'Play (no "nodeLinker: node-modules" in .yarnrc.yml). Uptide reads installed packages from node_modules, so Plug'n'Play is not supported.`);let skipBuilds=version2&&import_semver.default.valid(version2)&&import_semver.default.major(version2)<3?"--skip-builds":"--mode=skip-build";return{...base,flavor:"berry",...version2?{version:version2}:{},install:`yarn install --immutable ${skipBuilds}`}}function readYarnrc(text){if(text===void 0)return{};try{let doc=(0,import_yaml2.parse)(text);return{...typeof doc?.yarnPath=="string"?{yarnPath:doc.yarnPath}:{},...typeof doc?.nodeLinker=="string"?{nodeLinker:doc.nodeLinker}:{}}}catch{return{}}}function nodeFacts(files2,manifest2){for(let file of[".nvmrc",".node-version"]){let text=files2[file]?.trim();if(text)return{file,source:`${file} (${text.split(/\s/)[0]})`}}let tool=/^nodejs\s+(\S+)/m.exec(files2[".tool-versions"]??"")?.[1];if(tool)return{file:".tool-versions",source:`.tool-versions (${tool})`};let volta=manifest2.volta?.node;if(typeof volta=="string"&&import_semver.default.valid(volta))return{version:volta,source:`package.json volta.node (${volta})`};let engines=manifest2.engines?.node;if(typeof engines=="string"&&engines.trim()){let range=import_semver.default.validRange(engines),major=range?NODE_MAJORS.find(m=>import_semver.default.intersects(range,`${m}.x`)):void 0;if(major===void 0)throw new OnboardingRefusal("unsupported-node",`package.json engines.node is "${engines}", which no Node release Uptide can run on satisfies (${[...NODE_MAJORS].sort((a,b)=>a-b).join(", ")}). Add an .nvmrc with the version CI should use.`);return{version:String(major),source:`package.json engines.node (${engines})`}}return{version:DEFAULT_NODE,source:`no .nvmrc, .node-version or engines.node; Node ${DEFAULT_NODE} (LTS)`}}function workspaceGlobs(files2,field){let strings=list3=>Array.isArray(list3)?list3.filter(p=>typeof p=="string"):[],pnpm=files2["pnpm-workspace.yaml"];if(pnpm!==void 0)try{return strings((0,import_yaml2.parse)(pnpm)?.packages)}catch{throw new OnboardingRefusal("invalid-manifest","pnpm-workspace.yaml is not valid YAML.")}return strings(Array.isArray(field)?field:field?.packages)}var PINNED_ACTIONS={checkout:{repo:"actions/checkout",sha:"3d3c42e5aac5ba805825da76410c181273ba90b1",tag:"v7.0.1"},setupNode:{repo:"actions/setup-node",sha:"949feb2413d6458794dcd2491c4babbbce0c15c1",tag:"v7.1.0"},pnpm:{repo:"pnpm/action-setup",sha:"ea17c68df8912ef543352723c149a84f56e3d413",tag:"v6.1.0"}},UPTIDE_ACTION={repo:"uptide-dev/uptide",sha:"9172aece4e429af11425aa592d5fb8dd5757fd70",tag:"v0.7.5",released:!1},COREPACK_VERSION="0.36.0",usesLine=action=>`${action.repo}@${action.sha} # ${action.tag}`,WORKFLOW_PATH=".github/workflows/uptide.yml",DOCS="https://github.com/uptide-dev/uptide/blob/main/docs";function managerLabel(m){let name=m.name==="yarn"?`Yarn ${m.flavor==="berry"?"Berry":"classic"}`:m.name,version2=m.version?` ${m.version}`:"",how=m.declared?"from packageManager, run through Corepack":m.name==="pnpm"?"implied by the lockfile, set up with pnpm/action-setup":m.flavor==="berry"?"the yarnPath in .yarnrc.yml":"the version on the runner";return`${name}${version2} (${how})`}var nodeInput=node=>node.file?`node-version-file: ${node.file}`:`node-version: '${node.version}'`;function setupSteps(facts){let m=facts.manager,node=nodeInput(facts.node),setupNode=cache=>[` - uses: ${usesLine(PINNED_ACTIONS.setupNode)}`," with:",` ${node}`,...cache?[` cache: ${m.name}`]:[]].join(`
10
+ `)[0]?.replace(/ at line.*$/,"")}`));let nodeAt=path=>{for(let i=path.length;i>=0;i--){let node=path.length===0||i===0?doc.contents:doc.getIn(path.slice(0,i),!0);if(node&&typeof node=="object"&&"range"in node)return node}},at=(path,message)=>`${lineOf(nodeAt(path)?.range?.[0])}${pathText(path)} ${message}`,secrets=[],scan=(node,path)=>{if((0,import_yaml.isMap)(node))for(let pair of node.items){let name=(0,import_yaml.isScalar)(pair.key)?String(pair.key.value):"";keyLike(name)&&secrets.push(`${lineOf(pair.key?.range?.[0])}"${name}" looks like a credential setting`),scan(pair.value,[...path,name])}else(0,import_yaml.isSeq)(node)?node.items.forEach((item,i)=>{scan(item,[...path,i])}):(0,import_yaml.isScalar)(node)&&typeof node.value=="string"&&CREDENTIAL.test(node.value)&&secrets.push(at(path,"looks like a credential"))};if(scan(doc.contents,[]),secrets.length)throw invalid([...secrets,"API keys belong in the repository secret (ANTHROPIC_API_KEY) or an environment variable, never in this file. If this one was committed, rotate it."]);let value=doc.toJS();if(value==null)throw invalid(["the file is empty; it needs at least `version: 1`"]);let record=value;if(typeof record=="object"&&!Array.isArray(record)){if(typeof record.version=="number"&&record.version>1)throw invalid([at(["version"],`is ${record.version}; this uptide reads version 1. Update uptide to read this file.`)]);if("draft"in record)throw invalid([at(["draft"],"is not a setting: Uptide pull requests are always drafts")])}let problems=validate(UPTIDE_CONFIG_SCHEMA,value).map(e=>at(e.path,e.message));if(typeof record.schedule=="string"&&record.schedule!==MANUAL_SCHEDULE){let cron=cronProblem(record.schedule);cron&&problems.push(at(["schedule"],`${cron}, or manual for no scheduled runs`))}if(problems.length)throw invalid(problems);let given=value;return{config:withDefaults(given),given}}function packageSelected(config,name){let matches=globs=>globs.some(glob=>globRegExp(glob).test(name));return matches(config.packages.deny)?!1:config.packages.allow.length===0||matches(config.packages.allow)}var ONBOARDING_INPUTS=["package.json","package-lock.json","npm-shrinkwrap.json","pnpm-lock.yaml","pnpm-workspace.yaml","yarn.lock",".yarnrc.yml","bun.lock","bun.lockb",".nvmrc",".node-version",".tool-versions"],OnboardingRefusal=class extends UptideError{constructor(reason,message){super("ONBOARDING_REFUSED",message),this.reason=reason}reason},NODE_MAJORS=[24,22,20,26,18,25,23,21,19,16],DEFAULT_NODE="24",DECLARED=/^(npm|pnpm|yarn|bun)@(\d+\.\d+\.\d+(?:-[\w.]+)?)(?:\+[\w.-]+)?$/;function repoFacts(snapshot2){let files2=snapshot2.files,manifestText=files2["package.json"];if(manifestText===void 0)throw new OnboardingRefusal("not-javascript","There is no package.json at the repository root. Uptide works on JavaScript and TypeScript repositories with a package.json and a lockfile at the root.");let manifest2;try{if(manifest2=JSON.parse(manifestText),!manifest2||typeof manifest2!="object"||Array.isArray(manifest2))throw new Error}catch{throw new OnboardingRefusal("invalid-manifest","package.json at the root is not valid JSON.")}let name=typeof manifest2.name=="string"?manifest2.name:void 0;return{...snapshot2.slug?{slug:snapshot2.slug}:{},defaultBranch:snapshot2.defaultBranch,...name?{name}:{},manager:managerFacts(files2,manifest2.packageManager),node:nodeFacts(files2,manifest2),workspaces:workspaceGlobs(files2,manifest2.workspaces)}}var LOCKFILES=[["package-lock.json","npm"],["npm-shrinkwrap.json","npm"],["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["bun.lock","bun"],["bun.lockb","bun"]];function managerFacts(files2,field){let declared;if(field!==void 0){let match2=typeof field=="string"?DECLARED.exec(field):null;if(!match2)throw new OnboardingRefusal("invalid-manifest",'package.json "packageManager" is not in the form name@version (for example pnpm@10.17.1), so Corepack cannot use it.');declared={name:match2[1],version:match2[2],raw:field}}let present2=LOCKFILES.filter(([file])=>files2[file]!==void 0);if(declared?.name==="bun"||!declared&&present2.length>0&&present2.every(([,m])=>m==="bun"))throw new OnboardingRefusal("bun",`This repository uses Bun (${declared?`packageManager is ${declared.raw}`:present2.map(([f])=>f).join(", ")}). Uptide supports npm, pnpm and Yarn; Bun is not supported yet.`);if(present2.length===0)throw new OnboardingRefusal("no-lockfile","There is no lockfile at the repository root (package-lock.json, pnpm-lock.yaml or yarn.lock). Uptide installs exactly what the lockfile pins; commit one first.");let pick;if(declared){if(pick=present2.find(([,m])=>m===declared.name),!pick)throw new OnboardingRefusal("manager-mismatch",`package.json says packageManager ${declared.raw}, but the lockfile is ${present2.map(([f])=>f).join(", ")}. Make them agree (regenerate the lockfile with ${declared.name}, or change packageManager), then try again.`)}else{if([...new Set(present2.map(([,m])=>m))].length>1)throw new OnboardingRefusal("several-lockfiles",`There are several lockfiles (${present2.map(([f])=>f).join(", ")}) and no "packageManager" in package.json to say which one is used. Remove the stale ones, or set packageManager.`);pick=present2[0]}let[lockfile,name]=pick,text=files2[lockfile]??"",base={name,lockfile,...declared?{declared:declared.raw}:{}};if(name==="npm"){let version22=Number(/"lockfileVersion"\s*:\s*(\d+)/.exec(text)?.[1]);if(version22!==2&&version22!==3)throw new OnboardingRefusal("unsupported-lockfile",`${lockfile} has lockfileVersion ${Number.isNaN(version22)?"missing":version22}; Uptide needs version 2 or 3 (npm 7 or newer). Run \`npm install --package-lock-only\` with a current npm and commit the result.`);return{...base,...declared?{version:declared.version}:{},install:"npm ci --ignore-scripts --no-audit --no-fund"}}if(name==="pnpm"){let lockVersion=/^lockfileVersion:\s*['"]?([\d.]+)/m.exec(text)?.[1],lockMajor=Number(lockVersion?.split(".")[0]);if(declared){let major=import_semver.default.major(declared.version);if(lockMajor>=9&&major<9)throw new OnboardingRefusal("manager-mismatch",`package.json says packageManager ${declared.raw}, but pnpm-lock.yaml was written by pnpm 9 or newer (lockfileVersion ${lockVersion}). Make them agree, then try again.`)}let implied=lockMajor>=9?"10":lockMajor===6?"8":lockVersion==="5.4"?"7":void 0;if(!declared&&!implied)throw new OnboardingRefusal("unknown-manager-version",`pnpm-lock.yaml has lockfileVersion ${lockVersion??"missing"}, which does not say which pnpm wrote it. Set "packageManager" in package.json (for example pnpm@10.17.1).`);return{...base,version:declared?.version??implied,install:"pnpm install --frozen-lockfile --ignore-scripts"}}let berry=/^__metadata:/m.test(text),yarnrc=readYarnrc(files2[".yarnrc.yml"]);if(declared){let major=import_semver.default.major(declared.version);if(berry!==major>=2)throw new OnboardingRefusal("manager-mismatch",`package.json says packageManager ${declared.raw}, but yarn.lock is in the Yarn ${berry?"Berry (2 or newer)":"classic (1)"} format. Make them agree, then try again.`)}if(!berry)return{...base,flavor:"classic",...declared?{version:declared.version}:{},install:"yarn install --frozen-lockfile --ignore-scripts --non-interactive"};let pathVersion=/yarn-(\d+\.\d+\.\d+[\w.-]*)\.c?js$/.exec(yarnrc.yarnPath??"")?.[1],version2=declared?.version??pathVersion;if(!declared&&!yarnrc.yarnPath)throw new OnboardingRefusal("unknown-manager-version",'yarn.lock is in the Yarn Berry format, but neither "packageManager" in package.json nor yarnPath in .yarnrc.yml says which Yarn to run. Set packageManager (for example yarn@4.9.2).');if(yarnrc.nodeLinker!=="node-modules"&&yarnrc.nodeLinker!=="pnpm")throw new OnboardingRefusal("yarn-pnp",`This repository uses Yarn Plug'n'Play (no "nodeLinker: node-modules" in .yarnrc.yml). Uptide reads installed packages from node_modules, so Plug'n'Play is not supported.`);let skipBuilds=version2&&import_semver.default.valid(version2)&&import_semver.default.major(version2)<3?"--skip-builds":"--mode=skip-build";return{...base,flavor:"berry",...version2?{version:version2}:{},install:`yarn install --immutable ${skipBuilds}`}}function readYarnrc(text){if(text===void 0)return{};try{let doc=(0,import_yaml2.parse)(text);return{...typeof doc?.yarnPath=="string"?{yarnPath:doc.yarnPath}:{},...typeof doc?.nodeLinker=="string"?{nodeLinker:doc.nodeLinker}:{}}}catch{return{}}}function nodeFacts(files2,manifest2){for(let file of[".nvmrc",".node-version"]){let text=files2[file]?.trim();if(text)return{file,source:`${file} (${text.split(/\s/)[0]})`}}let tool=/^nodejs\s+(\S+)/m.exec(files2[".tool-versions"]??"")?.[1];if(tool)return{file:".tool-versions",source:`.tool-versions (${tool})`};let volta=manifest2.volta?.node;if(typeof volta=="string"&&import_semver.default.valid(volta))return{version:volta,source:`package.json volta.node (${volta})`};let engines=manifest2.engines?.node;if(typeof engines=="string"&&engines.trim()){let range=import_semver.default.validRange(engines),major=range?NODE_MAJORS.find(m=>import_semver.default.intersects(range,`${m}.x`)):void 0;if(major===void 0)throw new OnboardingRefusal("unsupported-node",`package.json engines.node is "${engines}", which no Node release Uptide can run on satisfies (${[...NODE_MAJORS].sort((a,b)=>a-b).join(", ")}). Add an .nvmrc with the version CI should use.`);return{version:String(major),source:`package.json engines.node (${engines})`}}return{version:DEFAULT_NODE,source:`no .nvmrc, .node-version or engines.node; Node ${DEFAULT_NODE} (LTS)`}}function workspaceGlobs(files2,field){let strings=list3=>Array.isArray(list3)?list3.filter(p=>typeof p=="string"):[],pnpm=files2["pnpm-workspace.yaml"];if(pnpm!==void 0)try{return strings((0,import_yaml2.parse)(pnpm)?.packages)}catch{throw new OnboardingRefusal("invalid-manifest","pnpm-workspace.yaml is not valid YAML.")}return strings(Array.isArray(field)?field:field?.packages)}var PINNED_ACTIONS={checkout:{repo:"actions/checkout",sha:"3d3c42e5aac5ba805825da76410c181273ba90b1",tag:"v7.0.1"},setupNode:{repo:"actions/setup-node",sha:"949feb2413d6458794dcd2491c4babbbce0c15c1",tag:"v7.1.0"},pnpm:{repo:"pnpm/action-setup",sha:"ea17c68df8912ef543352723c149a84f56e3d413",tag:"v6.1.0"}},UPTIDE_ACTION={repo:"uptide-dev/uptide",sha:"2045c7dc0fcb7cd86522595de06308f154b1d8bf",tag:"v0.9.0",released:!0},COREPACK_VERSION="0.36.0",usesLine=action=>`${action.repo}@${action.sha} # ${action.tag}`,WORKFLOW_PATH=".github/workflows/uptide.yml",DOCS="https://github.com/uptide-dev/uptide/blob/main/docs";function managerLabel(m){let name=m.name==="yarn"?`Yarn ${m.flavor==="berry"?"Berry":"classic"}`:m.name,version2=m.version?` ${m.version}`:"",how=m.declared?"from packageManager, run through Corepack":m.name==="pnpm"?"implied by the lockfile, set up with pnpm/action-setup":m.flavor==="berry"?"the yarnPath in .yarnrc.yml":"the version on the runner";return`${name}${version2} (${how})`}var nodeInput=node=>node.file?`node-version-file: ${node.file}`:`node-version: '${node.version}'`;function setupSteps(facts){let m=facts.manager,node=nodeInput(facts.node),setupNode=cache=>[` - uses: ${usesLine(PINNED_ACTIONS.setupNode)}`," with:",` ${node}`,...cache?[` cache: ${m.name}`]:[]].join(`
11
11
  `),corepack=enable=>[` - name: Enable Corepack for ${m.declared}`," run: |",` npm install --global corepack@${COREPACK_VERSION}`,` ${enable}`].join(`
12
12
  `);return m.declared&&m.name==="npm"?[setupNode(!0),corepack("corepack enable npm")]:m.declared?[setupNode(!1),corepack("corepack enable"),setupNode(!0)]:m.name==="pnpm"?[[` - uses: ${usesLine(PINNED_ACTIONS.pnpm)}`," with:",` version: '${m.version}'`].join(`
13
13
  `),setupNode(!0)]:[setupNode(!0)]}function renderWorkflow(facts,config){let action=[" # Reads uptide.yml, runs Uptide, opens draft pull requests and uploads the results JSON.",` - uses: ${usesLine(UPTIDE_ACTION)}`," with:",` config: ${UPTIDE_CONFIG_FILE}`," mode: ${{ inputs.mode || 'fix' }}"," package: ${{ inputs.package }}",...config.llm.enabled?[" anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}"]:[]].join(`
@@ -398,7 +398,7 @@ ${reach.map(l=>` ${l}`).join(`
398
398
  Nothing ran. Add --yes to confirm these services and run.`)}function normalizeRemote(url){return url.trim().replace(/\.git$/,"").replace(/^git@([^:]+):/,"https://$1/").replace(/^ssh:\/\/git@/,"https://")}function originOf(root){try{return normalizeRemote(git(root,"remote","get-url","origin"))||void 0}catch{return}}async function fix(options,services=defaults){try{return await fixPackage(options,services)}catch(err){throw resetSharedState(),err}}async function fixPackage(options,services){let started=Date.now(),root=realpathSync6(resolve6(options.cwd));if(options.maxCostUsd!==void 0&&(!Number.isFinite(options.maxCostUsd)||options.maxCostUsd<=0))throw new Error("--max-cost must be a positive finite amount in USD");let selection=selectLlm(root,options),sdkDefault=options.agent===void 0&&options.fixer===void 0&&selection.provider==="anthropic"&&selection.available,sdkMissing=sdkDefault&&!services.agentRunner&&!await(services.sdkInstalled??sdkInstalled)(),sdkAgent=options.fixer!==null&&(options.agent==="sdk"||sdkDefault&&!sdkMissing);if(sdkAgent&&selection.provider!=="anthropic")throw new UptideError("NO_FIXER",`--agent sdk runs on Anthropic models only; ${selection.provider} keeps the default agent`);if(sdkAgent&&!selection.available&&!services.agentRunner)throw new UptideError("NO_FIXER","--agent sdk needs ANTHROPIC_API_KEY");let pack=options.pack??activePack(options.only)??genericPack(options.only);if(pack.name!==options.only)throw new Error(`no migration pack for ${options.only}`);let fixer=options.fixer===null?void 0:options.fixer??providerFixer(selection),needsAgent=candidate=>{if(candidate.rules.length===0&&!fixer)throw new UptideError("NO_FIXER",`${candidate.name} has no migration pack, so every fix would come from the agent, and ${options.fixer===null?"assisted fixes are off (--no-llm)":`no selected-provider API key is set; accepted environment variables: ${ACCEPTED_KEYS}`}`)};if(needsAgent(pack),projectRoot(root),git(root,"status","--porcelain","--untracked-files=all"))throw new UptideError("DIRTY_WORKING_TREE","uptide fix requires a clean working tree");if(confirmServices(root,options),options.pinCurrentApi)return pinCurrentApi(options,services,originOf);let tool=options.tool??uptideVersionInfo();if(options.pr&&tool.uptideDirty)throw new UptideError("DIRTY_UPTIDE_TREE",`uptide fix --pr refuses to run from an Uptide checkout with uncommitted changes (at ${tool.uptideCommit.slice(0,12)}); commit or stash them, rebuild, and run again`);options.pinCurrentApi||assertNpmLockSync(root);let peerPlan=options.peerPlan??await peerPreflight(options,services),resolved=peerPlan?{version:peerPlan.target,source:peerPlan.targetSource}:await resolveTarget(pack,options.target,services.resolve),target=resolved.version;if(validateVersionRanges(root,[{name:pack.name,to:target}]),!/^\d+\.\d+\.\d+(?:-[\w.-]+)?$/.test(target))throw new Error("target must be an exact version");assertNoDowngrades(root,[{name:pack.name,to:target},...peerPlan?.companions??[]]),assertNoPinningOverrides(root,[{name:pack.name,to:target},...peerPlan?.companions??[]]);let branch=`uptide/${pack.name}-${target}`;packageManager(root),services.install===install&&await assertManagerAvailable(root);let report=await services.check({...options.onProgress?{onProgress:options.onProgress}:{},cwd:root,only:[pack.name],targets:{[pack.name]:target},runtime:!1,plan:!1,workspaceConcurrency:1}),packages=report.packages.filter(p=>p.name===pack.name&&!p.notes.includes("up to date"));if(!packages.length)throw new Error(`${pack.name} has no upgrade to ${target}`);!options.pack&&packages.some(p=>!pack.supports(p.installed,target))&&(pack=genericPack(options.only),needsAgent(pack));let generic=pack.rules.length===0;for(let p of packages){if(!pack.supports(p.installed,target))throw new Error(`${pack.name} pack does not support ${p.installed} \u2192 ${target}`);if(["skipped","no-types","private","unknown","partial"].includes(p.status)||p.compile?.skipped||p.unanalyzed.length)throw new UptideError(p.skipReason??"INCOMPLETE_CHECK",`cannot fix an incomplete check: ${p.name} ${p.notes.join("; ")}`)}let conflicts=[...new Set(packages.flatMap(p=>p.companionConflicts??[]))];if(conflicts.length>0)throw new UptideError("INCONSISTENT_UPGRADE",`${pack.name} ${target} cannot be installed consistently: ${conflicts.join("; ")}. Nothing was changed.`);let companions=[...new Map((peerPlan?.companions??packages.flatMap(p=>p.companions??[])).map(c=>[c.name,c])).values()].sort((a,b)=>a.name.localeCompare(b.name));assertNoDowngrades(root,[{name:pack.name,to:target},...companions]),assertNoPinningOverrides(root,[{name:pack.name,to:target},...companions]),validateVersionRanges(root,[{name:pack.name,to:target},...companions]);let initialContext={from:[...packages].sort((a,b)=>compareVersions(a.installed,b.installed))[0]?.installed??"",to:target,includeDeprecated:options.includeDeprecated??!1},packContext=pack.resolveContext?await pack.resolveContext(initialContext):initialContext,importers=new Set(packages.flatMap(p=>(p.importers??[]).filter(i=>i.analyzed).map(i=>i.workspace))),workspaces=workspacePackagesOf(root).filter(w=>{let p=JSON.parse(readFileSync10(join10(root,w,"package.json"),"utf8"));return importers.has(w)||["dependencies","devDependencies","peerDependencies","optionalDependencies"].some(s=>typeof p[s]?.[pack.name]=="string")});pack.name==="stripe"&&(packContext={...packContext,...await stripeUsageContext(root,workspaces,initialContext.from),payloadVersions:payloadApiVersions(root,workspaces)}),pack.scanContext&&(packContext={...packContext,...pack.scanContext(root,workspaces)}),pack.reviewSections?.(packContext);let verify=(detail,work)=>progress(options.onProgress,{phase:"verify",package:pack.name,detail},work),names=list22=>list22.map(w=>w==="."?"root":w.split("/").pop()??w).join(", "),generated=await verify("generate",()=>(services.generate??generateClients)(root,workspaces)),baseline=await verify(`types (${names(workspaces)})`,()=>services.diagnostics(root,workspaces)),selected=selectedFindings(report,pack.name,options.includeDeprecated??!1).filter(f=>!generic||f.severity==="breaking"),affected=[...new Set(selected.map(f=>f.usage.file))];packContext.evidence&&(packContext={...packContext,evidence:confirmedEvidence(packContext.evidence,selected)});let baselineTests=await verify(`tests (${names(workspaces)})`,()=>services.tests(root,workspaces,options.testTimeoutMs,affected,{withServices:options.withServices===!0,fullSuite:sdkAgent}));if(git(root,"status","--porcelain","--untracked-files=all"))throw new Error("baseline tests modified the working tree; review their changes before fixing");let baselineLint=await(services.lint??lintFiles)(root,affected),baseHead=git(root,"rev-parse","HEAD");git(root,"switch","-c",branch);let bumps=[bumpVersions(root,pack.name,target),...companions.map(c=>bumpVersions(root,c.name,c.to))],bump={files:[...new Set([...bumps.flatMap(b=>b.files),...writePeerOverrides(root,peerPlan?.conflicts??[])])],workspaces:[...new Set(bumps.flatMap(b=>b.workspaces))]},lockfile=await progress(options.onProgress,{phase:"install",package:pack.name,detail:`${pack.name} ${target}${companions.length?` with ${companions.length} package${companions.length===1?"":"s"}`:""}`},()=>services.install(root,{name:pack.name,version:target,workspaces:bump.workspaces,files:bump.files.map(f=>relative5(root,f)),...peerPlan?.conflicts.some(p=>p.allowed)?{allowedPeers:[...new Set(peerPlan.conflicts.filter(p=>p.allowed).map(p=>p.name))]}:{},...companions.length?{also:companions.map(c=>({name:c.name,version:c.to}))}:{}}));assertInstalledVersions(root,[{name:pack.name,to:target},...companions]);let moved2=companions.map(c=>`${c.name} ${c.to}`).join(", ");commit(root,`chore: upgrade ${pack.name} to ${target}${moved2?` with ${moved2}`:""}`,[...bump.files,join10(root,packageManager(root).lockfile)]),generated.length&&await verify("generate",()=>(services.generate??generateClients)(root,workspaces));let targetChecker=sdkAgent&&services.diagnostics===diagnostics?typeChecker(root,workspaces):void 0,checkTarget=targetChecker?.check??(()=>services.diagnostics(root,workspaces)),targetErrors=await verify(`types (${names(workspaces)})`,checkTarget),sites=[],changed=new Set,rulesStarted=performance.now();options.onProgress?.({phase:"rules",package:pack.name,state:"start"});let originals=new Map;for(let finding of selected){let file=safeFile(root,finding.usage.file),original=readFileSync10(file,"utf8");originals.has(finding.usage.file)||originals.set(finding.usage.file,original);let result2=pack.transform(original,finding,{...packContext,from:finding.change.from,to:target,includeDeprecated:options.includeDeprecated??!1});result2.applied&&(writeFileSync5(file,result2.text),changed.add(file));let site={finding,outcome:result2.applied?"mechanical":"manual",reason:result2.reason,...result2.applied?{diff:editDiff(original,result2.text)}:{}};site.rule=result2.rule??changeRule({package:pack.name},site),sites.push(site)}options.onProgress?.({phase:"rules",package:pack.name,state:"done",ms:performance.now()-rulesStarted}),commit(root,`fix(${pack.name}): apply mechanical migrations`,[...changed]);for(let{helper,edits}of pack.sharedHelpers?.({root,workspaces,findings:selected,context:packContext})??[]){let files2=[],base=selected.find(f=>/current_period_(?:start|end)/.test(f.change.path))??selected.find(f=>/current_period_(?:start|end)/.test(f.usage.compileError??""))??selected[0];for(let edit of edits){let file=safeFile(root,edit.file),original=readFileSync10(file,"utf8");writeFileSync5(file,edit.text),files2.push(file),sites.push({finding:{...base,usage:{...base.usage,file:edit.file,line:edit.line??original.split(`
399
399
  `).length,column:1,endLine:edit.text.split(`
400
400
  `).length,endColumn:1,snippet:`${helper.name} shared from ${helper.file}`}},outcome:"mechanical",reason:edit.file===helper.file?`${helper.name} placed here once, where every migrated file imports it`:`re-exports ${helper.name} so the sites can import it`,diff:editDiff(original,edit.text),rule:changeRule({package:pack.name},{finding:base,outcome:"mechanical",reason:""})}),affected.includes(edit.file)||affected.push(edit.file)}commit(root,`fix(${pack.name}): add ${helper.name} to ${helper.file}`,files2),packContext={...packContext,helpers:[...packContext.helpers??[],helper]}}let pendingCompilerSites=sites.filter(s=>s.outcome==="manual"&&s.finding.usage.compileError);if(pendingCompilerSites.length&&sites.some(s=>s.outcome==="mechanical")){let errorFiles=new Set((await verify("types after rules",checkTarget)).map(d=>d.file));for(let site of pendingCompilerSites){let usage2=site.finding.usage;!errorFiles.has(usage2.file)&&targetErrors.some(d=>d.file===usage2.file&&(d.line===usage2.line||d.message===usage2.compileError))&&(site.outcome="mechanical",site.reason="compiler error resolved by preceding rule-based edits")}}let llm=await progress(options.onProgress,{phase:"assist",package:pack.name},()=>sdkAgent?assistWithSdk({root,workspaces,sites,pack,context:packContext,model:selection.model,maxCostUsd:options.maxCostUsd??DEFAULT_MAX_COST_USD,diagnostics:checkTarget,tests:files2=>services.tests(root,workspaces,options.testTimeoutMs,files2,{withServices:options.withServices===!0,related:!0}),...services.lint?{lint:(files2,b)=>services.lint?.(root,files2,b)??Promise.resolve([])}:{},baselineTests,baselineLint,affected:[...affected],...options.onProgress?{onProgress:options.onProgress}:{},...services.format?{format:files2=>services.format?.(root,files2)??Promise.resolve([])}:{},...services.agentRunner?{runner:services.agentRunner}:{}}):assist(root,sites,pack,fixer,()=>services.diagnostics(root,workspaces),packContext,options.fixer===null,options.onProgress,{maxCostUsd:options.maxCostUsd??DEFAULT_MAX_COST_USD}));for(let site of sites)for(let file of site.editedFiles??[])affected.includes(file)||affected.push(file);let followed=[];for(let site of[...sites])site.outcome==="manual"||!pack.followUps||applyFollowUps({root,pack:pack.name,edits:pack.followUps({root,workspaces,finding:site.finding,context:packContext}),base:site.finding,rule:site.rule,origin:`${site.finding.usage.file}:${site.finding.usage.line}`,sites,followed,affected});targetChecker?.clear();let behavior=pack.name==="zod"?behaviorCheck(root,originals,sites):void 0,{tests:ran,after,lint,formatted}=await settle({root,pack,context:packContext,workspaces,sites,followed,affected,from:initialContext.from,target,baselineLint,services,fullSuite:sdkAgent,withServices:options.withServices===!0,...options.onProgress?{onProgress:options.onProgress}:{},...options.testTimeoutMs?{testTimeoutMs:options.testTimeoutMs}:{}});assertInstalledVersions(root,[{name:pack.name,to:target},...companions]);let tests=markPreexisting(ran,baselineTests),pending=git(root,"status","--porcelain","--untracked-files=all"),newErrors=newDiagnostics(baseline,after,gitLineMoves(root,baseHead)),unverified=typeResolutionFailure(root,baseline),result={...lockfile?{lockfile}:{},...generated.length?{generated}:{},repo:root,package:pack.name,tier:generic?"generic":"verified",from:initialContext.from,target,targetSource:resolved.source,...companions.length?{companions}:{},...peerPlan?.conflicts.length?{peerConflicts:groupPeerBlockers(peerPlan.conflicts)}:{},...report.importersNotAnalyzed?.length?{importersNotAnalyzed:report.importersNotAnalyzed}:{},...tool,verifiedAt:new Date().toISOString(),head:git(root,"rev-parse","HEAD"),verifiedTree:git(root,"rev-parse","HEAD^{tree}"),baseHead,changedFiles:git(root,"diff","--name-only",baseHead,"HEAD").split(`
401
- `).filter(Boolean),branch,sites,verification:{baseline,target:targetErrors,after,newErrors,baselineTests,tests,...lint.length?{lint}:{},...formatted.length?{formatted}:{},...unverified?{typesUnverified:unverified}:{},baselineHealth:baselineHealth(baseline,baselineTests),passed:!unverified&&newErrors.length===0&&!pending&&tests.every(t=>t.status==="passed"||t.status==="missing"||t.preexisting)&&lint.every(l=>l.status!=="failed")},llm:sdkMissing?{...llm,sdkMissing:!0}:llm,...behavior?{behavior}:{},timingMs:Date.now()-started,prBody:join10(root,".uptide/pr-body.md"),notes:[...pack.reviewNotes(packContext),...bumps.flatMap(b=>b.alreadyCompatible.map(w=>`${w}: already compatible; range left unchanged.`)),...pending?["Tests/install left uncommitted files; review them before publication."]:[]]},rules=[...new Set(sites.map(s=>s.rule).filter(r=>!!r))];result.packContext=packContext,refreshReview(result,pack);let decisions=pack.decisions?.(packContext,rules,followed);decisions?.length&&(result.decisions=decisions);let remote=originOf(root);remote&&(result.remote=remote),mkdirSync2(dirname7(result.prBody),{recursive:!0}),writeFileSync5(result.prBody,prBody(result));let storedRun=join10(root,".uptide/report.json");return writeFileSync5(storedRun,JSON.stringify(result,null,2)),options.pr&&(await publishVerified(result,{tool,...options.yes?{yes:!0}:{}}),writeFileSync5(result.prBody,prBody(result)),writeFileSync5(storedRun,JSON.stringify(result,null,2))),result}async function publishVerified(result,options,io){let blockers=publicationBlockers(result,options.tool);if(blockers.length){result.publication={refused:blockers},result.notes.push(`PR not opened: ${blockers.join("; ")}`);return}let{publish:publish2}=await import("./publish-CFYBXMLF-DCTR52JH.js"),log=[],collect=text=>{log.push(text)};try{result.prUrl=await publish2(result,options.yes,io?{...io,print:collect}:{git,command,print:collect},options.cwd?{cwd:options.cwd}:{})}catch(error){log.length&&(result.publicationLog=log.join(`
401
+ `).filter(Boolean),branch,sites,verification:{baseline,target:targetErrors,after,newErrors,baselineTests,tests,...lint.length?{lint}:{},...formatted.length?{formatted}:{},...unverified?{typesUnverified:unverified}:{},baselineHealth:baselineHealth(baseline,baselineTests),passed:!unverified&&newErrors.length===0&&!pending&&tests.every(t=>t.status==="passed"||t.status==="missing"||t.preexisting)&&lint.every(l=>l.status!=="failed")},llm:sdkMissing?{...llm,sdkMissing:!0}:llm,...behavior?{behavior}:{},timingMs:Date.now()-started,prBody:join10(root,".uptide/pr-body.md"),notes:[...pack.reviewNotes(packContext),...bumps.flatMap(b=>b.alreadyCompatible.map(w=>`${w}: already compatible; range left unchanged.`)),...pending?["Tests/install left uncommitted files; review them before publication."]:[]]},rules=[...new Set(sites.map(s=>s.rule).filter(r=>!!r))];result.packContext=packContext,refreshReview(result,pack);let decisions=pack.decisions?.(packContext,rules,followed);decisions?.length&&(result.decisions=decisions);let remote=originOf(root);remote&&(result.remote=remote),mkdirSync2(dirname7(result.prBody),{recursive:!0}),writeFileSync5(result.prBody,prBody(result));let storedRun=join10(root,".uptide/report.json");return writeFileSync5(storedRun,JSON.stringify(result,null,2)),options.pr&&(await publishVerified(result,{tool,...options.yes?{yes:!0}:{}}),writeFileSync5(result.prBody,prBody(result)),writeFileSync5(storedRun,JSON.stringify(result,null,2))),result}async function publishVerified(result,options,io){let blockers=publicationBlockers(result,options.tool);if(blockers.length){result.publication={refused:blockers},result.notes.push(`PR not opened: ${blockers.join("; ")}`);return}let{publish:publish2}=await import("./publish-WFX6WLCL-7MJWVRBX.js"),log=[],collect=text=>{log.push(text)};try{result.prUrl=await publish2(result,options.yes,io?{...io,print:collect}:{git,command,print:collect},options.cwd?{cwd:options.cwd}:{})}catch(error){log.length&&(result.publicationLog=log.join(`
402
402
  `));let message=error instanceof Error?error.message:String(error);if(!options.yes&&/requires --yes/.test(message)){result.notes.push(`Publication plan printed, nothing pushed (no --yes): \`${UPTIDE_COMMAND} pr --branch ${result.branch} --yes\` opens the PR.`);return}if(error instanceof UptideError&&error.code==="VERIFIED_TREE_MISMATCH"){result.exportError=message,result.verification={...result.verification,passed:!1},result.publication={refused:[message]},result.notes.push(message);return}result.publication={refused:[],failed:message.split(`
403
403
  `)[0]??message},result.notes.push(`PR not opened: ${result.publication.failed}. The verified run is stored; \`${UPTIDE_COMMAND} pr --branch ${result.branch} --yes\` retries the publish step alone.`);return}log.length&&(result.publicationLog=log.join(`
404
404
  `))}function confirmedEvidence(evidence,findings){let rejected=new Set(findings.filter(f=>f.usage.compileError!==void 0||f.usage.compileCode!==void 0).map(f=>`${f.usage.file}:${f.usage.line}`));return evidence.map(e=>rejected.has(`${e.file}:${e.line}`)?{...e,compiler:!0}:e)}function refreshReview(result,pack=activePack(result.package)){if(!pack||!result.packContext)return;let rules=[...new Set(result.sites.map(s=>s.rule).filter(r=>!!r))];try{let sections=pack.reviewSections?.(result.packContext,rules);sections&&(result.reviewSections=sections);let apiChanges=pack.apiChanges?.(result.packContext);apiChanges&&(result.apiChanges=apiChanges)}catch{}}async function reverify(options,services={diagnostics,tests:testWorkspaces}){let started=Date.now(),root=realpathSync7(resolve7(options.cwd));confirmServices(root,options);let file=resolve7(options.run??join11(root,".uptide/report.json")),report;try{report=JSON.parse(readFileSync11(file,"utf8"))}catch{throw new UptideError("ANALYSIS_FAILED",`no stored migration run at ${file}`)}if(!Array.isArray(report.sites)||!report.verification||!report.package||!report.branch)throw new UptideError("ANALYSIS_FAILED","not a stored migration run");if(git(root,"branch","--show-current")!==report.branch)throw new UptideError("ANALYSIS_FAILED",`check out ${report.branch} first: the stored run belongs to that branch`);if(git(root,"status","--porcelain","--untracked-files=all").split(`
@@ -479,6 +479,6 @@ it('${o.package.replaceAll("'","\\'")}: every fixture rewrites and detects exact
479
479
  `}function scaffoldPack(options){if(!/^(?:@[a-z0-9][\w.-]*\/)?[a-z0-9][\w.-]*$/.test(options.package))throw new UptideError("INVALID_GROUND_TRUTH",`not an npm package name: ${options.package}`);for(let[flag,range]of[["--from",options.from],["--to",options.to]])if(minVersion(range)===void 0)throw new UptideError("UNSUPPORTED_VERSION_RANGE",`${flag} ${range}: not a semver range`);let packs=packsDir(options.root),registryFile=join20(packs,"registry.ts");if(!existsSync12(registryFile))throw new UptideError("NOT_UPTIDE_CHECKOUT",`no pack registry at ${registryFile}: run uptide pack new inside an uptide checkout`);let dir=packDir(options.package),constant=packConstant(options.package),entries=parseRegistry(readFileSync20(registryFile,"utf8")),home=join20(packs,dir);if(existsSync12(home)||entries.some(e=>e.dir===dir||e.name===constant))throw new UptideError("PACK_EXISTS",`a pack for ${options.package} already exists: ${home}`);let truth={$comment:`Public repositories at the commit before they upgraded ${options.package} from ${options.from} to ${options.to}, and every finding the pack must report there. See docs/packs.md, "Ground truth".`,package:options.package,repos:[]},before=BEFORE.replace("PKG",options.package),after=before.replace("import { oldName }","import { newName }").replace("= oldName(1)","= newName(1)"),files2=[[join20(home,"index.ts"),indexFile(options,constant)],[join20(home,"fixtures",RULE,"before.ts"),before],[join20(home,"fixtures",RULE,"after.ts"),after],[join20(home,`${dir}.test.ts`),testFile(options,constant)],[join20(home,"ground-truth.json"),`${JSON.stringify(truth,null,2)}
480
480
  `]];for(let[file,text]of files2)mkdirSync6(join20(file,".."),{recursive:!0}),writeFileSync13(file,text);writeFileSync13(registryFile,renderRegistry([...entries,{dir,name:constant}]));let written=[...files2.map(([file])=>file),registryFile],biome=join20(options.root,"node_modules",".bin","biome"),formattable=written.filter(file=>!file.includes(`${dir}/fixtures/`)),formatted=existsSync12(biome)&&spawnSync(biome,["format","--write",...formattable],{cwd:options.root,stdio:"ignore"}).status===0,verification={status:"candidate",truth:truthDigest(readFileSync20(join20(home,"ground-truth.json"),"utf8")),repos:0,breaking:{precision:1,recall:1,falsePositives:0}},verificationFile=join20(home,"verification.json");return writeFileSync13(verificationFile,`${JSON.stringify(verification,null,2)}
481
481
  `),written.splice(written.length-1,0,verificationFile),{dir,constant,files:written.map(file=>relative6(options.root,file)),formatted}}var sitesOf2=(groups,pick)=>groups.reduce((n,g)=>n+pick(g),0);function effortOf2(p){let breaking=(p.plan??[]).filter(g=>g.severity==="breaking"),unverified=(p.plan??[]).filter(g=>g.severity==="unverified"),byRule=sitesOf2(breaking,g=>g.by.rule),byAgent=sitesOf2(breaking,g=>g.by.agent),manual=sitesOf2(breaking,g=>g.by.manual),unconfirmed=sitesOf2(unverified,g=>g.sites),hands=byAgent+manual;return{level:p.status==="unknown"||p.status==="partial"||p.importers?.some(i=>!i.analyzed)?"unknown":hands>25?"large":hands>5?"medium":hands>0||byRule>0||unconfirmed>0?"small":"none",byRule,byAgent,manual,unconfirmed}}var RANK={none:0,small:1,medium:2,large:3,unknown:4};function within(version2,range){try{return satisfies(version2,range)}catch{return!0}}function planUpgrades(report,peers){let behind=report.packages.filter(p=>!p.notes.includes("up to date")&&!["not-imported","workspace","private"].includes(p.status)&&p.installed!==p.target),analyzed=behind.filter(p=>p.status!=="skipped"&&p.status!=="no-types"),notPlanned=behind.filter(p=>!analyzed.includes(p)).map(p=>({name:p.name,installed:p.installed,reason:p.skipReason==="TIME_BUDGET"?"not analyzed: out of time":isFailure(p)?`not analyzed: ${(p.notes[0]??"analysis failed").split(`
482
- `)[0]}`:p.notes[0]??"not analyzed"})),planned=new Map;for(let p of analyzed){let effort=effortOf2(p);for(let m of p.members??[p]){let previous=planned.get(m.name);planned.set(m.name,{name:m.name,installed:previous&&compareVersions(previous.installed,m.installed)<0?previous.installed:m.installed,target:m.target,tier:p.tier??"generic",effort:previous&&RANK[previous.effort.level]>RANK[effort.level]?previous.effort:effort})}}let constraints=[],before=new Map,tied=new Map,find=name=>{let parent=tied.get(name)??name;if(parent===name)return name;let root=find(parent);return tied.set(name,root),root},tie=(a,b)=>{tied.set(find(a),find(b))};for(let a of planned.values()){for(let[on,range]of Object.entries(peers.ofTarget(a.name,a.target)??{})){let installed2=planned.get(on)?.installed??peers.installed[on]?.version;if(installed2===void 0||within(installed2,range))continue;let b=planned.get(on);if(b&&within(b.target,range)){let back=peers.ofTarget(b.name,b.target)?.[a.name],together=back!==void 0&&!within(a.installed,back);constraints.push({from:a.name,fromVersion:a.target,on,range,effect:together?"together":"before",reason:together?`${a.name} ${a.target} needs ${on} ${range}, and ${on} ${b.target} needs ${a.name} ${back}: upgrade them together`:`${a.name} ${a.target} needs ${on} ${range} (installed: ${installed2}): upgrade ${on} first`}),together?tie(a.name,on):before.set(a.name,new Set([...before.get(a.name)??[],on]))}else constraints.push({from:a.name,fromVersion:a.target,on,range,effect:"blocked",reason:`${a.name} ${a.target} needs ${on} ${range}; ${on} is at ${installed2}${b?` and its target ${b.target} is outside that range too`:" and is not being upgraded"}`})}for(let[x,{version:version2,peers:asked}]of Object.entries(peers.installed)){let range=asked[a.name];if(range===void 0||x===a.name||within(a.target,range))continue;let upgraded=planned.get(x),next=upgraded?peers.ofTarget(x,upgraded.target)?.[a.name]:void 0;if(upgraded&&(next===void 0||within(a.target,next))){let together=next!==void 0&&!within(a.installed,next);constraints.push({from:x,fromVersion:version2,on:a.name,range,effect:together?"together":"before",reason:together?`${x} ${version2} needs ${a.name} ${range} and ${x} ${upgraded.target} needs ${a.name} ${next}: upgrade them together`:`${x} ${version2} needs ${a.name} ${range}: upgrade ${x} to ${upgraded.target} first, which accepts ${a.name} ${a.target}`}),together?tie(a.name,x):before.set(a.name,new Set([...before.get(a.name)??[],x]))}else constraints.push({from:x,fromVersion:version2,on:a.name,range,effect:"blocked",reason:`${x} ${version2} needs ${a.name} ${range}, and ${a.name} ${a.target} is outside it${upgraded?` (so is what ${x} ${upgraded.target} accepts)`:`; ${x} has no upgrade in this plan`}`})}}for(let p of analyzed)for(let m of p.members??[])tie(m.name,(p.members??[])[0]?.name??m.name);let groups=new Map;for(let p of planned.values())groups.set(find(p.name),[...groups.get(find(p.name))??[],p]);let levelOf=members=>members.map(m=>m.effort.level).sort((a,b)=>RANK[b]-RANK[a])[0]??"none",waitsOn=root=>new Set((groups.get(root)??[]).flatMap(m=>[...before.get(m.name)??[]]).map(find).filter(other=>other!==root)),constraintsOf=members=>{let names=new Set(members.map(m=>m.name));return constraints.filter(c=>names.has(c.from)||names.has(c.on))},free=[...groups].filter(([root,members])=>levelOf(members)==="none"&&waitsOn(root).size===0&&constraintsOf(members).length===0),steps=[],done=new Set;if(free.length>0){steps.push({packages:free.flatMap(([,members])=>members).sort((a,b)=>a.name.localeCompare(b.name)),...free.flatMap(([,m])=>m).length>1?{together:"no-impact"}:{},effort:"none",constraints:[]});for(let[root]of free)done.add(root)}let rest=[...groups].filter(([root])=>!done.has(root));for(;rest.length>0;){let ready=rest.filter(([root2])=>[...waitsOn(root2)].every(other=>done.has(other))).sort(([,a],[,b])=>RANK[levelOf(a)]-RANK[levelOf(b)]||(a[0]?.name??"").localeCompare(b[0]?.name??"")),[root,members]=ready[0]??rest[0];steps.push({packages:[...members].sort((a,b)=>a.name.localeCompare(b.name)),...members.length>1?{together:"peer"}:{},effort:levelOf(members),constraints:constraintsOf(members)}),done.add(root),rest.splice(rest.findIndex(([r])=>r===root),1)}return{steps:steps.map((step,i)=>({order:i+1,...step})),notPlanned}}async function upgradePlan(opts,services={}){let fetcher=services.fetcher??opts.fetcher??createNpmFetcher({config:loadRegistryConfig({cwd:opts.cwd})}),discovery=await(services.list??listDependencies)({...opts,fetcher}),saved=opts.checkResults;if(saved&&(!Array.isArray(saved.packages)||resolve12(saved.repo)!==resolve12(opts.cwd)))throw new Error("--results must be a check report for this repository");let byVersion=discovery.packages.flatMap(p=>(p.versions??[{version:p.current,workspaces:p.workspaces}]).filter(v=>compareVersions(p.latest,v.version)>0).map(v=>({...p,current:v.version,workspaces:v.workspaces}))),packages=byVersion.map(p=>{let existing=saved?.packages.find(s=>s.name===p.name&&s.installed===p.current&&s.target===p.latest&&JSON.stringify((s.workspaces??[s.workspace]).slice().sort())===JSON.stringify(p.workspaces.slice().sort()));return existing||{name:p.name,installed:p.current,latest:p.latest,target:p.latest,tier:p.tier,workspace:p.workspaces.length>1?"*":p.workspaces[0]??".",workspaces:p.workspaces,majorsBehind:majorsBehind(p.current,p.latest),findings:[],callSitesChecked:0,unanalyzed:[],status:"unknown",notes:["not checked; effort unknown"],timing:{fetchMs:0,diffMs:0,usagesMs:0,compileMs:0}}});for(let failure of discovery.failures)packages.push({name:failure.name,installed:"?",latest:"?",target:"?",workspace:failure.workspace??".",majorsBehind:0,findings:[],callSitesChecked:0,unanalyzed:[],status:"skipped",skipReason:"ANALYSIS_FAILED",notes:[failure.reason],timing:{fetchMs:0,diffMs:0,usagesMs:0,compileMs:0}});let report={repo:opts.cwd,workspaces:discovery.workspaces,packages,summary:summarize(packages),timing:discovery.timing},installed2={};for(let workspace of discovery.workspaces){let dir=resolve12(opts.cwd,workspace),manifest2=JSON.parse(readFileSync21(join21(dir,"package.json"),"utf8"));for(let name of Object.keys({...manifest2.dependencies,...manifest2.devDependencies}))for(let at=dir;;at=dirname12(at))try{let pkg=JSON.parse(readFileSync21(join21(at,"node_modules",name,"package.json"),"utf8"));installed2[name]??={version:pkg.version,peers:pkg.peerDependencies??{}};break}catch{if(dirname12(at)===at)break}}let targets=new Map;await mapWithLimit(discovery.packages,12,async p=>{try{targets.set(`${p.name}@${p.latest}`,(await fetcher.metadata?.(p.name,p.latest))?.peerDependencies)}catch{}});let plan=planUpgrades(report,{installed:installed2,ofTarget:(name,version2)=>targets.get(`${name}@${version2}`)});plan.notes=["Based on discovery and matching saved check results; unknown effort requires uptide check <package>.","Saved results describe the source at check time; rerun check after source changes."];for(let name of new Set(byVersion.map(p=>p.name))){let versions=byVersion.filter(p=>p.name===name);versions.length>1&&plan.notes.push(`${name}: current versions ${versions.map(p=>`${p.current} (${p.workspaces.join(", ")})`).join("; ")}; one target for all, highest estimated effort shown.`)}let missing=discovery.packages.filter(p=>targets.get(`${p.name}@${p.latest}`)===void 0);return missing.length&&plan.notes.push(`Target peer metadata unavailable: ${missing.map(p=>p.name).join(", ")}`),Object.keys(installed2).length||plan.notes.push("Installed peer constraints unavailable without node_modules."),{report,plan}}import"fs";var VERSION="0.9.0";var import_picocolors=__toESM(require_picocolors(),1);var INVOCATION=uptideCommand(VERSION),runnable=text=>text.replace(/(^|`)uptide (?=[a-z-])/g,`$1${INVOCATION} `);var EXIT={ok:0,breaking:1,error:2},CliError=class extends Error{constructor(message,options={}){super(message);this.options=options}options;name="CliError"};function explain(err){if(err instanceof NoTypesError)return`${err.packageName}@${err.version}: no type declarations, cannot analyze`;if(err instanceof VersionNotFoundError){let hint=err.available.length>0?` (latest published: ${err.available.at(-1)})`:"";return`${err.message}${hint}`}return err instanceof PackageNotFoundError||err instanceof IntegrityError||err instanceof Error?err.message:String(err)}function renderError(err,color){let colors=import_picocolors.default.createColors(color),lines=[`${colors.red("error:")} ${explain(err)}`];return err instanceof CliError&&(err.options.why&&lines.push(` ${err.options.why}`),err.options.next&&lines.push(` ${colors.bold("Next:")} ${err.options.literalNext?err.options.next:runnable(err.options.next)}`)),`${lines.join(`
482
+ `)[0]}`:p.notes[0]??"not analyzed"})),planned=new Map;for(let p of analyzed){let effort=effortOf2(p);for(let m of p.members??[p]){let previous=planned.get(m.name);planned.set(m.name,{name:m.name,installed:previous&&compareVersions(previous.installed,m.installed)<0?previous.installed:m.installed,target:m.target,tier:p.tier??"generic",effort:previous&&RANK[previous.effort.level]>RANK[effort.level]?previous.effort:effort})}}let constraints=[],before=new Map,tied=new Map,find=name=>{let parent=tied.get(name)??name;if(parent===name)return name;let root=find(parent);return tied.set(name,root),root},tie=(a,b)=>{tied.set(find(a),find(b))};for(let a of planned.values()){for(let[on,range]of Object.entries(peers.ofTarget(a.name,a.target)??{})){let installed2=planned.get(on)?.installed??peers.installed[on]?.version;if(installed2===void 0||within(installed2,range))continue;let b=planned.get(on);if(b&&within(b.target,range)){let back=peers.ofTarget(b.name,b.target)?.[a.name],together=back!==void 0&&!within(a.installed,back);constraints.push({from:a.name,fromVersion:a.target,on,range,effect:together?"together":"before",reason:together?`${a.name} ${a.target} needs ${on} ${range}, and ${on} ${b.target} needs ${a.name} ${back}: upgrade them together`:`${a.name} ${a.target} needs ${on} ${range} (installed: ${installed2}): upgrade ${on} first`}),together?tie(a.name,on):before.set(a.name,new Set([...before.get(a.name)??[],on]))}else constraints.push({from:a.name,fromVersion:a.target,on,range,effect:"blocked",reason:`${a.name} ${a.target} needs ${on} ${range}; ${on} is at ${installed2}${b?` and its target ${b.target} is outside that range too`:" and is not being upgraded"}`})}for(let[x,{version:version2,peers:asked}]of Object.entries(peers.installed)){let range=asked[a.name];if(range===void 0||x===a.name||within(a.target,range))continue;let upgraded=planned.get(x),next=upgraded?peers.ofTarget(x,upgraded.target)?.[a.name]:void 0;if(upgraded&&(next===void 0||within(a.target,next))){let together=next!==void 0&&!within(a.installed,next);constraints.push({from:x,fromVersion:version2,on:a.name,range,effect:together?"together":"before",reason:together?`${x} ${version2} needs ${a.name} ${range} and ${x} ${upgraded.target} needs ${a.name} ${next}: upgrade them together`:`${x} ${version2} needs ${a.name} ${range}: upgrade ${x} to ${upgraded.target} first, which accepts ${a.name} ${a.target}`}),together?tie(a.name,x):before.set(a.name,new Set([...before.get(a.name)??[],x]))}else constraints.push({from:x,fromVersion:version2,on:a.name,range,effect:"blocked",reason:`${x} ${version2} needs ${a.name} ${range}, and ${a.name} ${a.target} is outside it${upgraded?` (so is what ${x} ${upgraded.target} accepts)`:`; ${x} has no upgrade in this plan`}`})}}for(let p of analyzed)for(let m of p.members??[])tie(m.name,(p.members??[])[0]?.name??m.name);let groups=new Map;for(let p of planned.values())groups.set(find(p.name),[...groups.get(find(p.name))??[],p]);let levelOf=members=>members.map(m=>m.effort.level).sort((a,b)=>RANK[b]-RANK[a])[0]??"none",waitsOn=root=>new Set((groups.get(root)??[]).flatMap(m=>[...before.get(m.name)??[]]).map(find).filter(other=>other!==root)),constraintsOf=members=>{let names=new Set(members.map(m=>m.name));return constraints.filter(c=>names.has(c.from)||names.has(c.on))},free=[...groups].filter(([root,members])=>levelOf(members)==="none"&&waitsOn(root).size===0&&constraintsOf(members).length===0),steps=[],done=new Set;if(free.length>0){steps.push({packages:free.flatMap(([,members])=>members).sort((a,b)=>a.name.localeCompare(b.name)),...free.flatMap(([,m])=>m).length>1?{together:"no-impact"}:{},effort:"none",constraints:[]});for(let[root]of free)done.add(root)}let rest=[...groups].filter(([root])=>!done.has(root));for(;rest.length>0;){let ready=rest.filter(([root2])=>[...waitsOn(root2)].every(other=>done.has(other))).sort(([,a],[,b])=>RANK[levelOf(a)]-RANK[levelOf(b)]||(a[0]?.name??"").localeCompare(b[0]?.name??"")),[root,members]=ready[0]??rest[0];steps.push({packages:[...members].sort((a,b)=>a.name.localeCompare(b.name)),...members.length>1?{together:"peer"}:{},effort:levelOf(members),constraints:constraintsOf(members)}),done.add(root),rest.splice(rest.findIndex(([r])=>r===root),1)}return{steps:steps.map((step,i)=>({order:i+1,...step})),notPlanned}}async function upgradePlan(opts,services={}){let fetcher=services.fetcher??opts.fetcher??createNpmFetcher({config:loadRegistryConfig({cwd:opts.cwd})}),discovery=await(services.list??listDependencies)({...opts,fetcher}),saved=opts.checkResults;if(saved&&(!Array.isArray(saved.packages)||resolve12(saved.repo)!==resolve12(opts.cwd)))throw new Error("--results must be a check report for this repository");let byVersion=discovery.packages.flatMap(p=>(p.versions??[{version:p.current,workspaces:p.workspaces}]).filter(v=>compareVersions(p.latest,v.version)>0).map(v=>({...p,current:v.version,workspaces:v.workspaces}))),packages=byVersion.map(p=>{let existing=saved?.packages.find(s=>s.name===p.name&&s.installed===p.current&&s.target===p.latest&&JSON.stringify((s.workspaces??[s.workspace]).slice().sort())===JSON.stringify(p.workspaces.slice().sort()));return existing||{name:p.name,installed:p.current,latest:p.latest,target:p.latest,tier:p.tier,workspace:p.workspaces.length>1?"*":p.workspaces[0]??".",workspaces:p.workspaces,majorsBehind:majorsBehind(p.current,p.latest),findings:[],callSitesChecked:0,unanalyzed:[],status:"unknown",notes:["not checked; effort unknown"],timing:{fetchMs:0,diffMs:0,usagesMs:0,compileMs:0}}});for(let failure of discovery.failures)packages.push({name:failure.name,installed:"?",latest:"?",target:"?",workspace:failure.workspace??".",majorsBehind:0,findings:[],callSitesChecked:0,unanalyzed:[],status:"skipped",skipReason:"ANALYSIS_FAILED",notes:[failure.reason],timing:{fetchMs:0,diffMs:0,usagesMs:0,compileMs:0}});let report={repo:opts.cwd,workspaces:discovery.workspaces,packages,summary:summarize(packages),timing:discovery.timing},installed2={};for(let workspace of discovery.workspaces){let dir=resolve12(opts.cwd,workspace),manifest2=JSON.parse(readFileSync21(join21(dir,"package.json"),"utf8"));for(let name of Object.keys({...manifest2.dependencies,...manifest2.devDependencies}))for(let at=dir;;at=dirname12(at))try{let pkg=JSON.parse(readFileSync21(join21(at,"node_modules",name,"package.json"),"utf8"));installed2[name]??={version:pkg.version,peers:pkg.peerDependencies??{}};break}catch{if(dirname12(at)===at)break}}let targets=new Map;await mapWithLimit(discovery.packages,12,async p=>{try{targets.set(`${p.name}@${p.latest}`,(await fetcher.metadata?.(p.name,p.latest))?.peerDependencies)}catch{}});let plan=planUpgrades(report,{installed:installed2,ofTarget:(name,version2)=>targets.get(`${name}@${version2}`)});plan.notes=["Based on discovery and matching saved check results; unknown effort requires uptide check <package>.","Saved results describe the source at check time; rerun check after source changes."];for(let name of new Set(byVersion.map(p=>p.name))){let versions=byVersion.filter(p=>p.name===name);versions.length>1&&plan.notes.push(`${name}: current versions ${versions.map(p=>`${p.current} (${p.workspaces.join(", ")})`).join("; ")}; one target for all, highest estimated effort shown.`)}let missing=discovery.packages.filter(p=>targets.get(`${p.name}@${p.latest}`)===void 0);return missing.length&&plan.notes.push(`Target peer metadata unavailable: ${missing.map(p=>p.name).join(", ")}`),Object.keys(installed2).length||plan.notes.push("Installed peer constraints unavailable without node_modules."),{report,plan}}import"fs";var VERSION="0.9.1";var import_picocolors=__toESM(require_picocolors(),1);var INVOCATION=uptideCommand(VERSION),runnable=text=>text.replace(/(^|`)uptide (?=[a-z-])/g,`$1${INVOCATION} `);var EXIT={ok:0,breaking:1,error:2},CliError=class extends Error{constructor(message,options={}){super(message);this.options=options}options;name="CliError"};function explain(err){if(err instanceof NoTypesError)return`${err.packageName}@${err.version}: no type declarations, cannot analyze`;if(err instanceof VersionNotFoundError){let hint=err.available.length>0?` (latest published: ${err.available.at(-1)})`:"";return`${err.message}${hint}`}return err instanceof PackageNotFoundError||err instanceof IntegrityError||err instanceof Error?err.message:String(err)}function renderError(err,color){let colors=import_picocolors.default.createColors(color),lines=[`${colors.red("error:")} ${explain(err)}`];return err instanceof CliError&&(err.options.why&&lines.push(` ${err.options.why}`),err.options.next&&lines.push(` ${colors.bold("Next:")} ${err.options.literalNext?err.options.next:runnable(err.options.next)}`)),`${lines.join(`
483
483
  `)}
484
484
  `}async function runJob(job,onProgress){if(job.kind==="check")return check({...job.request,onProgress});if(job.kind==="plan")return upgradePlan({...job.request,onProgress});if(job.kind==="verify")return isolatedVerify({...job.request,onProgress});let{llm,...options}=job.request;return isolatedFix({...options,onProgress,...llm?{}:{fixer:null}})}export{UPTIDE_CONFIG_FILE,parseUptideConfig,packageSelected,OnboardingRefusal,repoFacts,UPTIDE_ACTION,WORKFLOW_PATH,generateOnboarding,snapshotFromDisk,loadUptideConfig,foldForDisplay,depthOf,PRICE_DATE,priceFor,ACCEPTED_KEYS,selectLlm,cleanRuns,removeOnInterrupt,watchInterruptibleClones,fixPreflight,openPr,updatePrBody,listDependencies,testPack,scaffoldPack,require_picocolors,VERSION,INVOCATION,runnable,EXIT,CliError,explain,renderError,runJob};
@@ -3,7 +3,7 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- import{parseSource,require_ts_morph,sourceCandidate}from"./chunk-GHXBU767.js";import{AdapterCapabilityError,IntegrityError,NoTypesError,PackageNotFoundError,RegistryAuthError,UPTIDE_COMMAND,UptideError,VersionNotFoundError,command,errorCode,git}from"./chunk-4IXYBPXG.js";import{__export}from"./chunk-JHZ22Y6X.js";import{__commonJS,__require,__toESM}from"./chunk-Z5YHBDVG.js";var require_constants=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js"(exports,module){"use strict";var SEMVER_SPEC_VERSION="2.0.0",MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH=16,MAX_SAFE_BUILD_LENGTH=250,RELEASE_TYPES=["major","premajor","minor","preminor","patch","prepatch","prerelease"];module.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_SAFE_INTEGER,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}});var require_debug=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js"(exports,module){"use strict";var debug=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...args)=>console.error("SEMVER",...args):()=>{};module.exports=debug}});var require_re=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js"(exports,module){"use strict";var{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH}=require_constants(),debug=require_debug();exports=module.exports={};var re=exports.re=[],safeRe=exports.safeRe=[],src=exports.src=[],safeSrc=exports.safeSrc=[],t=exports.t={},R=0,LETTERDASHNUMBER="[a-zA-Z0-9-]",safeRegexReplacements=[["\\s",1],["\\d",MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]],makeSafeRegex=value=>{for(let[token,max]of safeRegexReplacements)value=value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);return value},createToken=(name,value,isGlobal)=>{let safe=makeSafeRegex(value),index=R++;debug(name,index,value),t[name]=index,src[index]=value,safeSrc[index]=safe,re[index]=new RegExp(value,isGlobal?"g":void 0),safeRe[index]=new RegExp(safe,isGlobal?"g":void 0)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);createToken("MAINVERSION",`(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${LETTERDASHNUMBER}+`);createToken("BUILD",`(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);createToken("FULL",`^${src[t.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);createToken("LOOSE",`^${src[t.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`(^|[^\\d])(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);createToken("COERCE",`${src[t.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",src[t.COERCEPLAIN]+`(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);createToken("COERCERTL",src[t.COERCE],!0);createToken("COERCERTLFULL",src[t.COERCEFULL],!0);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${src[t.LONETILDE]}\\s+`,!0);exports.tildeTrimReplace="$1~";createToken("TILDE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${src[t.LONECARET]}\\s+`,!0);exports.caretTrimReplace="$1^";createToken("CARET",`^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`,!0);exports.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}});var require_parse_options=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js"(exports,module){"use strict";var looseOption=Object.freeze({loose:!0}),emptyOpts=Object.freeze({}),parseOptions=options=>options?typeof options!="object"?looseOption:options:emptyOpts;module.exports=parseOptions}});var require_identifiers=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js"(exports,module){"use strict";var numeric=/^[0-9]+$/,compareIdentifiers=(a,b)=>{if(typeof a=="number"&&typeof b=="number")return a===b?0:a<b?-1:1;let anum=numeric.test(a),bnum=numeric.test(b);return anum&&bnum&&(a=+a,b=+b),a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1},rcompareIdentifiers=(a,b)=>compareIdentifiers(b,a);module.exports={compareIdentifiers,rcompareIdentifiers}}});var require_semver=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js"(exports,module){"use strict";var debug=require_debug(),{MAX_LENGTH,MAX_SAFE_INTEGER}=require_constants(),{safeRe:re,t}=require_re(),parseOptions=require_parse_options(),{compareIdentifiers}=require_identifiers(),isPrereleaseIdentifier=(prerelease,identifier)=>{let identifiers=identifier.split(".");if(identifiers.length>prerelease.length)return!1;for(let i=0;i<identifiers.length;i++)if(compareIdentifiers(prerelease[i],identifiers[i])!==0)return!1;return!0},SemVer=class _SemVer{constructor(version,options){if(options=parseOptions(options),version instanceof _SemVer){if(version.loose===!!options.loose&&version.includePrerelease===!!options.includePrerelease)return version;version=version.version}else if(typeof version!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);if(version.length>MAX_LENGTH)throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);debug("SemVer",version,options),this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease;let m=version.trim().match(options.loose?re[t.LOOSE]:re[t.FULL]);if(!m)throw new TypeError(`Invalid Version: ${version}`);if(this.raw=version,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>MAX_SAFE_INTEGER||this.major<0)throw new TypeError("Invalid major version");if(this.minor>MAX_SAFE_INTEGER||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>MAX_SAFE_INTEGER||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map(id=>{if(/^[0-9]+$/.test(id)){let num=+id;if(num>=0&&num<MAX_SAFE_INTEGER)return num}return id}):this.prerelease=[],this.build=m[5]?m[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(other){if(debug("SemVer.compare",this.version,this.options,other),!(other instanceof _SemVer)){if(typeof other=="string"&&other===this.version)return 0;other=new _SemVer(other,this.options)}return other.version===this.version?0:this.compareMain(other)||this.comparePre(other)}compareMain(other){return other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.major<other.major?-1:this.major>other.major?1:this.minor<other.minor?-1:this.minor>other.minor?1:this.patch<other.patch?-1:this.patch>other.patch?1:0}comparePre(other){if(other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.prerelease.length&&!other.prerelease.length)return-1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.length&&!other.prerelease.length)return 0;let i=0;do{let a=this.prerelease[i],b=other.prerelease[i];if(debug("prerelease compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return-1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}compareBuild(other){other instanceof _SemVer||(other=new _SemVer(other,this.options));let i=0;do{let a=this.build[i],b=other.build[i];if(debug("build compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return-1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}inc(release,identifier,identifierBase){if(release.startsWith("pre")){if(!identifier&&identifierBase===!1)throw new Error("invalid increment argument: identifier is empty");if(identifier){let match2=`-${identifier}`.match(this.options.loose?re[t.PRERELEASELOOSE]:re[t.PRERELEASE]);if(!match2||match2[1]!==identifier)throw new Error(`invalid identifier: ${identifier}`)}}switch(release){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",identifier,identifierBase);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",identifier,identifierBase);break;case"prepatch":this.prerelease.length=0,this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let base=Number(identifierBase)?1:0;if(this.prerelease.length===0)this.prerelease=[base];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(identifier===this.prerelease.join(".")&&identifierBase===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(base)}}if(identifier){let prerelease=[identifier,base];if(identifierBase===!1&&(prerelease=[identifier]),isPrereleaseIdentifier(this.prerelease,identifier)){let prereleaseBase=this.prerelease[identifier.split(".").length];isNaN(prereleaseBase)&&(this.prerelease=prerelease)}else this.prerelease=prerelease}break}default:throw new Error(`invalid increment argument: ${release}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};module.exports=SemVer}});var require_parse=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js"(exports,module){"use strict";var SemVer=require_semver(),parse7=(version,options,throwErrors=!1)=>{if(version instanceof SemVer)return version;try{return new SemVer(version,options)}catch(er){if(!throwErrors)return null;throw er}};module.exports=parse7}});var require_valid=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js"(exports,module){"use strict";var parse7=require_parse(),valid=(version,options)=>{let v=parse7(version,options);return v?v.version:null};module.exports=valid}});var require_clean=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js"(exports,module){"use strict";var parse7=require_parse(),clean=(version,options)=>{let s=parse7(version.trim().replace(/^[=v]+/,""),options);return s?s.version:null};module.exports=clean}});var require_inc=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js"(exports,module){"use strict";var SemVer=require_semver(),inc=(version,release,options,identifier,identifierBase)=>{typeof options=="string"&&(identifierBase=identifier,identifier=options,options=void 0);try{return new SemVer(version instanceof SemVer?version.version:version,options).inc(release,identifier,identifierBase).version}catch{return null}};module.exports=inc}});var require_diff=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js"(exports,module){"use strict";var parse7=require_parse(),diff=(version1,version2)=>{let v1=parse7(version1,null,!0),v2=parse7(version2,null,!0),comparison=v1.compare(v2);if(comparison===0)return null;let v1Higher=comparison>0,highVersion=v1Higher?v1:v2,lowVersion=v1Higher?v2:v1,highHasPre=!!highVersion.prerelease.length;if(!!lowVersion.prerelease.length&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor)return"major";if(lowVersion.compareMain(highVersion)===0)return lowVersion.minor&&!lowVersion.patch?"minor":"patch"}let prefix=highHasPre?"pre":"";return v1.major!==v2.major?prefix+"major":v1.minor!==v2.minor?prefix+"minor":v1.patch!==v2.patch?prefix+"patch":"prerelease"};module.exports=diff}});var require_major=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js"(exports,module){"use strict";var SemVer=require_semver(),major=(a,loose)=>new SemVer(a,loose).major;module.exports=major}});var require_minor=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js"(exports,module){"use strict";var SemVer=require_semver(),minor=(a,loose)=>new SemVer(a,loose).minor;module.exports=minor}});var require_patch=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js"(exports,module){"use strict";var SemVer=require_semver(),patch=(a,loose)=>new SemVer(a,loose).patch;module.exports=patch}});var require_prerelease=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js"(exports,module){"use strict";var parse7=require_parse(),prerelease=(version,options)=>{let parsed5=parse7(version,options);return parsed5&&parsed5.prerelease.length?parsed5.prerelease:null};module.exports=prerelease}});var require_compare=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js"(exports,module){"use strict";var SemVer=require_semver(),compare4=(a,b,loose)=>new SemVer(a,loose).compare(new SemVer(b,loose));module.exports=compare4}});var require_rcompare=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js"(exports,module){"use strict";var compare4=require_compare(),rcompare=(a,b,loose)=>compare4(b,a,loose);module.exports=rcompare}});var require_compare_loose=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js"(exports,module){"use strict";var compare4=require_compare(),compareLoose=(a,b)=>compare4(a,b,!0);module.exports=compareLoose}});var require_compare_build=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js"(exports,module){"use strict";var SemVer=require_semver(),compareBuild=(a,b,loose)=>{let versionA=new SemVer(a,loose),versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module.exports=compareBuild}});var require_sort=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js"(exports,module){"use strict";var compareBuild=require_compare_build(),sort=(list,loose)=>list.sort((a,b)=>compareBuild(a,b,loose));module.exports=sort}});var require_rsort=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js"(exports,module){"use strict";var compareBuild=require_compare_build(),rsort=(list,loose)=>list.sort((a,b)=>compareBuild(b,a,loose));module.exports=rsort}});var require_gt=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js"(exports,module){"use strict";var compare4=require_compare(),gt=(a,b,loose)=>compare4(a,b,loose)>0;module.exports=gt}});var require_lt=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js"(exports,module){"use strict";var compare4=require_compare(),lt=(a,b,loose)=>compare4(a,b,loose)<0;module.exports=lt}});var require_eq=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js"(exports,module){"use strict";var compare4=require_compare(),eq=(a,b,loose)=>compare4(a,b,loose)===0;module.exports=eq}});var require_neq=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js"(exports,module){"use strict";var compare4=require_compare(),neq=(a,b,loose)=>compare4(a,b,loose)!==0;module.exports=neq}});var require_gte=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js"(exports,module){"use strict";var compare4=require_compare(),gte=(a,b,loose)=>compare4(a,b,loose)>=0;module.exports=gte}});var require_lte=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js"(exports,module){"use strict";var compare4=require_compare(),lte=(a,b,loose)=>compare4(a,b,loose)<=0;module.exports=lte}});var require_cmp=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js"(exports,module){"use strict";var eq=require_eq(),neq=require_neq(),gt=require_gt(),gte=require_gte(),lt=require_lt(),lte=require_lte(),cmp=(a,op,b,loose)=>{switch(op){case"===":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a===b;case"!==":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a!==b;case"":case"=":case"==":return eq(a,b,loose);case"!=":return neq(a,b,loose);case">":return gt(a,b,loose);case">=":return gte(a,b,loose);case"<":return lt(a,b,loose);case"<=":return lte(a,b,loose);default:throw new TypeError(`Invalid operator: ${op}`)}};module.exports=cmp}});var require_coerce=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js"(exports,module){"use strict";var SemVer=require_semver(),parse7=require_parse(),{safeRe:re,t}=require_re(),coerce=(version,options)=>{if(version instanceof SemVer)return version;if(typeof version=="number"&&(version=String(version)),typeof version!="string")return null;options=options||{};let match2=null;if(!options.rtl)match2=version.match(options.includePrerelease?re[t.COERCEFULL]:re[t.COERCE]);else{let coerceRtlRegex=options.includePrerelease?re[t.COERCERTLFULL]:re[t.COERCERTL],next;for(;(next=coerceRtlRegex.exec(version))&&(!match2||match2.index+match2[0].length!==version.length);)(!match2||next.index+next[0].length!==match2.index+match2[0].length)&&(match2=next),coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length;coerceRtlRegex.lastIndex=-1}if(match2===null)return null;let major=match2[2],minor=match2[3]||"0",patch=match2[4]||"0",prerelease=options.includePrerelease&&match2[5]?`-${match2[5]}`:"",build=options.includePrerelease&&match2[6]?`+${match2[6]}`:"";return parse7(`${major}.${minor}.${patch}${prerelease}${build}`,options)};module.exports=coerce}});var require_truncate=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js"(exports,module){"use strict";var parse7=require_parse(),constants=require_constants(),SemVer=require_semver(),truncate=(version,truncation,options)=>{if(!constants.RELEASE_TYPES.includes(truncation))return null;let clonedVersion=cloneInputVersion(version,options);return clonedVersion&&doTruncation(clonedVersion,truncation)},cloneInputVersion=(version,options)=>{let versionStringToParse=version instanceof SemVer?version.version:version;return parse7(versionStringToParse,options)},doTruncation=(version,truncation)=>{if(isPrerelease(truncation))return version.version;switch(version.prerelease=[],truncation){case"major":version.minor=0,version.patch=0;break;case"minor":version.patch=0;break}return version.format()},isPrerelease=type=>type.startsWith("pre");module.exports=truncate}});var require_lrucache=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js"(exports,module){"use strict";var LRUCache=class{constructor(){this.max=1e3,this.map=new Map}get(key){let value=this.map.get(key);if(value!==void 0)return this.map.delete(key),this.map.set(key,value),value}delete(key){return this.map.delete(key)}set(key,value){if(!this.delete(key)&&value!==void 0){if(this.map.size>=this.max){let firstKey=this.map.keys().next().value;this.delete(firstKey)}this.map.set(key,value)}return this}};module.exports=LRUCache}});var require_range=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js"(exports,module){"use strict";var SPACE_CHARACTERS=/\s+/g,Range=class _Range{constructor(range,options){if(options=parseOptions(options),range instanceof _Range)return range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease?range:new _Range(range.raw,options);if(range instanceof Comparator)return this.raw=range.value,this.set=[[range]],this.formatted=void 0,this;if(this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease,this.raw=range.trim().replace(SPACE_CHARACTERS," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(c=>c.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let first=this.set[0];if(this.set=this.set.filter(c=>!isNullSet(c[0])),this.set.length===0)this.set=[first];else if(this.set.length>1){for(let c of this.set)if(c.length===1&&isAny(c[0])){this.set=[c];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let i=0;i<this.set.length;i++){i>0&&(this.formatted+="||");let comps=this.set[i];for(let k=0;k<comps.length;k++)k>0&&(this.formatted+=" "),this.formatted+=comps[k].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range){range=range.replace(BUILDSTRIPRE,"");let memoKey=((this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE))+":"+range,cached=cache.get(memoKey);if(cached)return cached;let loose=this.options.loose,hr=loose?re[t.HYPHENRANGELOOSE]:re[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace(this.options.includePrerelease)),debug("hyphen replace",range),range=range.replace(re[t.COMPARATORTRIM],comparatorTrimReplace),debug("comparator trim",range),range=range.replace(re[t.TILDETRIM],tildeTrimReplace),debug("tilde trim",range),range=range.replace(re[t.CARETTRIM],caretTrimReplace),debug("caret trim",range);let rangeList=range.split(" ").map(comp=>parseComparator(comp,this.options)).join(" ").split(/\s+/).map(comp=>replaceGTE0(comp,this.options));loose&&(rangeList=rangeList.filter(comp=>(debug("loose invalid filter",comp,this.options),!!comp.match(re[t.COMPARATORLOOSE])))),debug("range list",rangeList);let rangeMap=new Map,comparators=rangeList.map(comp=>new Comparator(comp,this.options));for(let comp of comparators){if(isNullSet(comp))return[comp];rangeMap.set(comp.value,comp)}rangeMap.size>1&&rangeMap.has("")&&rangeMap.delete("");let result=[...rangeMap.values()];return cache.set(memoKey,result),result}intersects(range,options){if(!(range instanceof _Range))throw new TypeError("a Range is required");return this.set.some(thisComparators=>isSatisfiable(thisComparators,options)&&range.set.some(rangeComparators=>isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>rangeComparators.every(rangeComparator=>thisComparator.intersects(rangeComparator,options)))))}test(version){if(!version)return!1;if(typeof version=="string")try{version=new SemVer(version,this.options)}catch{return!1}for(let i=0;i<this.set.length;i++)if(testSet(this.set[i],version,this.options))return!0;return!1}};module.exports=Range;var LRU=require_lrucache(),cache=new LRU,parseOptions=require_parse_options(),Comparator=require_comparator(),debug=require_debug(),SemVer=require_semver(),{safeRe:re,src,t,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re(),{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants(),BUILDSTRIPRE=new RegExp(src[t.BUILD],"g"),isNullSet=c=>c.value==="<0.0.0-0",isAny=c=>c.value==="",isSatisfiable=(comparators,options)=>{let result=!0,remainingComparators=comparators.slice(),testComparator=remainingComparators.pop();for(;result&&remainingComparators.length;)result=remainingComparators.every(otherComparator=>testComparator.intersects(otherComparator,options)),testComparator=remainingComparators.pop();return result},parseComparator=(comp,options)=>(comp=comp.replace(re[t.BUILD],""),debug("comp",comp,options),comp=replaceCarets(comp,options),debug("caret",comp),comp=replaceTildes(comp,options),debug("tildes",comp),comp=replaceXRanges(comp,options),debug("xrange",comp),comp=replaceStars(comp,options),debug("stars",comp),comp),isX=id=>!id||id.toLowerCase()==="x"||id==="*",invalidXRangeOrder=(M,m,p)=>isX(M)&&!isX(m)||isX(m)&&p&&!isX(p),replaceTildes=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceTilde(c,options)).join(" "),replaceTilde=(comp,options)=>{let r=options.loose?re[t.TILDELOOSE]:re[t.TILDE],z=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("tilde",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0${z} <${+M+1}.0.0-0`:isX(p)?ret=`>=${M}.${m}.0${z} <${M}.${+m+1}.0-0`:pr?(debug("replaceTilde pr",pr),ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`):ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`,debug("tilde return",ret),ret})},replaceCarets=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceCaret(c,options)).join(" "),replaceCaret=(comp,options)=>{debug("caret",comp,options);let r=options.loose?re[t.CARETLOOSE]:re[t.CARET],z=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("caret",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0${z} <${+M+1}.0.0-0`:isX(p)?M==="0"?ret=`>=${M}.${m}.0${z} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.0${z} <${+M+1}.0.0-0`:pr?(debug("replaceCaret pr",pr),M==="0"?m==="0"?ret=`>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p}-${pr} <${+M+1}.0.0-0`):(debug("no pr"),M==="0"?m==="0"?ret=`>=${M}.${m}.${p} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p} <${+M+1}.0.0-0`),debug("caret return",ret),ret})},replaceXRanges=(comp,options)=>(debug("replaceXRanges",comp,options),comp.split(/\s+/).map(c=>replaceXRange(c,options)).join(" ")),replaceXRange=(comp,options)=>{comp=comp.trim();let r=options.loose?re[t.XRANGELOOSE]:re[t.XRANGE];return comp.replace(r,(ret,gtlt,M,m,p,pr)=>{if(debug("xRange",comp,ret,gtlt,M,m,p,pr),invalidXRangeOrder(M,m,p))return comp;let xM=isX(M),xm=xM||isX(m),xp=xm||isX(p),anyX=xp;return gtlt==="="&&anyX&&(gtlt=""),pr=options.includePrerelease?"-0":"",xM?gtlt===">"||gtlt==="<"?ret="<0.0.0-0":ret="*":gtlt&&anyX?(xm&&(m=0),p=0,gtlt===">"?(gtlt=">=",xm?(M=+M+1,m=0,p=0):(m=+m+1,p=0)):gtlt==="<="&&(gtlt="<",xm?M=+M+1:m=+m+1),gtlt==="<"&&(pr="-0"),ret=`${gtlt+M}.${m}.${p}${pr}`):xm?ret=`>=${M}.0.0${pr} <${+M+1}.0.0-0`:xp&&(ret=`>=${M}.${m}.0${pr} <${M}.${+m+1}.0-0`),debug("xRange return",ret),ret})},replaceStars=(comp,options)=>(debug("replaceStars",comp,options),comp.trim().replace(re[t.STAR],"")),replaceGTE0=(comp,options)=>(debug("replaceGTE0",comp,options),comp.trim().replace(re[options.includePrerelease?t.GTE0PRE:t.GTE0],"")),hyphenReplace=incPr=>($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>(isX(fM)?from="":isX(fm)?from=`>=${fM}.0.0${incPr?"-0":""}`:isX(fp)?from=`>=${fM}.${fm}.0${incPr?"-0":""}`:fpr?from=`>=${from}`:from=`>=${from}${incPr?"-0":""}`,isX(tM)?to="":isX(tm)?to=`<${+tM+1}.0.0-0`:isX(tp)?to=`<${tM}.${+tm+1}.0-0`:tpr?to=`<=${tM}.${tm}.${tp}-${tpr}`:incPr?to=`<${tM}.${tm}.${+tp+1}-0`:to=`<=${to}`,`${from} ${to}`.trim()),testSet=(set,version,options)=>{for(let i=0;i<set.length;i++)if(!set[i].test(version))return!1;if(version.prerelease.length&&!options.includePrerelease){for(let i=0;i<set.length;i++)if(debug(set[i].semver),set[i].semver!==Comparator.ANY&&set[i].semver.prerelease.length>0){let allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch)return!0}return!1}return!0}}});var require_comparator=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js"(exports,module){"use strict";var ANY=Symbol("SemVer ANY"),Comparator=class _Comparator{static get ANY(){return ANY}constructor(comp,options){if(options=parseOptions(options),comp instanceof _Comparator){if(comp.loose===!!options.loose)return comp;comp=comp.value}comp=comp.trim().split(/\s+/).join(" "),debug("comparator",comp,options),this.options=options,this.loose=!!options.loose,this.parse(comp),this.semver===ANY?this.value="":this.value=this.operator+this.semver.version,debug("comp",this)}parse(comp){let r=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR],m=comp.match(r);if(!m)throw new TypeError(`Invalid comparator: ${comp}`);this.operator=m[1]!==void 0?m[1]:"",this.operator==="="&&(this.operator=""),m[2]?this.semver=new SemVer(m[2],this.options.loose):this.semver=ANY}toString(){return this.value}test(version){if(debug("Comparator.test",version,this.options.loose),this.semver===ANY||version===ANY)return!0;if(typeof version=="string")try{version=new SemVer(version,this.options)}catch{return!1}return cmp(version,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof _Comparator))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Range(comp.value,options).test(this.value):comp.operator===""?comp.value===""?!0:new Range(this.value,options).test(comp.semver):(options=parseOptions(options),options.includePrerelease&&(this.value==="<0.0.0-0"||comp.value==="<0.0.0-0")||!options.includePrerelease&&(this.value.startsWith("<0.0.0")||comp.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&comp.operator.startsWith(">")||this.operator.startsWith("<")&&comp.operator.startsWith("<")||this.semver.version===comp.semver.version&&this.operator.includes("=")&&comp.operator.includes("=")||cmp(this.semver,"<",comp.semver,options)&&this.operator.startsWith(">")&&comp.operator.startsWith("<")||cmp(this.semver,">",comp.semver,options)&&this.operator.startsWith("<")&&comp.operator.startsWith(">")))}};module.exports=Comparator;var parseOptions=require_parse_options(),{safeRe:re,t}=require_re(),cmp=require_cmp(),debug=require_debug(),SemVer=require_semver(),Range=require_range()}});var require_satisfies=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js"(exports,module){"use strict";var Range=require_range(),satisfies2=(version,range,options)=>{try{range=new Range(range,options)}catch{return!1}return range.test(version)};module.exports=satisfies2}});var require_to_comparators=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js"(exports,module){"use strict";var Range=require_range(),toComparators=(range,options)=>new Range(range,options).set.map(comp=>comp.map(c=>c.value).join(" ").trim().split(" "));module.exports=toComparators}});var require_max_satisfying=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js"(exports,module){"use strict";var SemVer=require_semver(),Range=require_range(),maxSatisfying2=(versions,range,options)=>{let max=null,maxSV=null,rangeObj=null;try{rangeObj=new Range(range,options)}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!max||maxSV.compare(v)===-1)&&(max=v,maxSV=new SemVer(max,options))}),max};module.exports=maxSatisfying2}});var require_min_satisfying=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js"(exports,module){"use strict";var SemVer=require_semver(),Range=require_range(),minSatisfying=(versions,range,options)=>{let min=null,minSV=null,rangeObj=null;try{rangeObj=new Range(range,options)}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!min||minSV.compare(v)===1)&&(min=v,minSV=new SemVer(min,options))}),min};module.exports=minSatisfying}});var require_min_version=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js"(exports,module){"use strict";var SemVer=require_semver(),Range=require_range(),gt=require_gt(),minVersion2=(range,loose)=>{range=new Range(range,loose);let minver=new SemVer("0.0.0");if(range.test(minver)||(minver=new SemVer("0.0.0-0"),range.test(minver)))return minver;minver=null;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],setMin=null;comparators.forEach(comparator=>{let compver=new SemVer(comparator.semver.version);switch(comparator.operator){case">":compver.prerelease.length===0?compver.patch++:compver.prerelease.push(0),compver.raw=compver.format();case"":case">=":(!setMin||gt(compver,setMin))&&(setMin=compver);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${comparator.operator}`)}}),setMin&&(!minver||gt(minver,setMin))&&(minver=setMin)}return minver&&range.test(minver)?minver:null};module.exports=minVersion2}});var require_valid2=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js"(exports,module){"use strict";var Range=require_range(),validRange2=(range,options)=>{try{return new Range(range,options).range||"*"}catch{return null}};module.exports=validRange2}});var require_outside=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js"(exports,module){"use strict";var SemVer=require_semver(),Comparator=require_comparator(),{ANY}=Comparator,Range=require_range(),satisfies2=require_satisfies(),gt=require_gt(),lt=require_lt(),lte=require_lte(),gte=require_gte(),outside=(version,range,hilo,options)=>{version=new SemVer(version,options),range=new Range(range,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt,ltefn=lte,ltfn=lt,comp=">",ecomp=">=";break;case"<":gtfn=lt,ltefn=gte,ltfn=gt,comp="<",ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies2(version,range,options))return!1;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],high=null,low=null;if(comparators.forEach(comparator=>{comparator.semver===ANY&&(comparator=new Comparator(">=0.0.0")),high=high||comparator,low=low||comparator,gtfn(comparator.semver,high.semver,options)?high=comparator:ltfn(comparator.semver,low.semver,options)&&(low=comparator)}),high.operator===comp||high.operator===ecomp||(!low.operator||low.operator===comp)&&ltefn(version,low.semver))return!1;if(low.operator===ecomp&&ltfn(version,low.semver))return!1}return!0};module.exports=outside}});var require_gtr=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js"(exports,module){"use strict";var outside=require_outside(),gtr=(version,range,options)=>outside(version,range,">",options);module.exports=gtr}});var require_ltr=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js"(exports,module){"use strict";var outside=require_outside(),ltr=(version,range,options)=>outside(version,range,"<",options);module.exports=ltr}});var require_intersects=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js"(exports,module){"use strict";var Range=require_range(),intersects=(r1,r2,options)=>(r1=new Range(r1,options),r2=new Range(r2,options),r1.intersects(r2,options));module.exports=intersects}});var require_simplify=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js"(exports,module){"use strict";var satisfies2=require_satisfies(),compare4=require_compare();module.exports=(versions,range,options)=>{let set=[],first=null,prev=null,v=versions.sort((a,b)=>compare4(a,b,options));for(let version of v)satisfies2(version,range,options)?(prev=version,first||(first=version)):(prev&&set.push([first,prev]),prev=null,first=null);first&&set.push([first,null]);let ranges=[];for(let[min,max]of set)min===max?ranges.push(min):!max&&min===v[0]?ranges.push("*"):max?min===v[0]?ranges.push(`<=${max}`):ranges.push(`${min} - ${max}`):ranges.push(`>=${min}`);let simplified=ranges.join(" || "),original=typeof range.raw=="string"?range.raw:String(range);return simplified.length<original.length?simplified:range}}});var require_subset=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js"(exports,module){"use strict";var Range=require_range(),Comparator=require_comparator(),{ANY}=Comparator,satisfies2=require_satisfies(),compare4=require_compare(),subset=(sub,dom,options={})=>{if(sub===dom)return!0;sub=new Range(sub,options),dom=new Range(dom,options);let sawNonNull=!1;OUTER:for(let simpleSub of sub.set){for(let simpleDom of dom.set){let isSub=simpleSubset(simpleSub,simpleDom,options);if(sawNonNull=sawNonNull||isSub!==null,isSub)continue OUTER}if(sawNonNull)return!1}return!0},minimumVersionWithPreRelease=[new Comparator(">=0.0.0-0")],minimumVersion2=[new Comparator(">=0.0.0")],simpleSubset=(sub,dom,options)=>{if(sub===dom)return!0;if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY)return!0;options.includePrerelease?sub=minimumVersionWithPreRelease:sub=minimumVersion2}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease)return!0;dom=minimumVersion2}let eqSet=new Set,gt,lt;for(let c of sub)c.operator===">"||c.operator===">="?gt=higherGT(gt,c,options):c.operator==="<"||c.operator==="<="?lt=lowerLT(lt,c,options):eqSet.add(c.semver);if(eqSet.size>1)return null;let gtltComp;if(gt&&lt){if(gtltComp=compare4(gt.semver,lt.semver,options),gtltComp>0)return null;if(gtltComp===0&&(gt.operator!==">="||lt.operator!=="<="))return null}for(let eq of eqSet){if(gt&&!satisfies2(eq,String(gt),options)||lt&&!satisfies2(eq,String(lt),options))return null;for(let c of dom)if(!satisfies2(eq,String(c),options))return!1;return!0}let higher,lower,hasDomLT,hasDomGT,needDomLTPre=lt&&!options.includePrerelease&&lt.semver.prerelease.length?lt.semver:!1,needDomGTPre=gt&&!options.includePrerelease&&gt.semver.prerelease.length?gt.semver:!1;needDomLTPre&&needDomLTPre.prerelease.length===1&&lt.operator==="<"&&needDomLTPre.prerelease[0]===0&&(needDomLTPre=!1);for(let c of dom){if(hasDomGT=hasDomGT||c.operator===">"||c.operator===">=",hasDomLT=hasDomLT||c.operator==="<"||c.operator==="<=",gt){if(needDomGTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomGTPre.major&&c.semver.minor===needDomGTPre.minor&&c.semver.patch===needDomGTPre.patch&&(needDomGTPre=!1),c.operator===">"||c.operator===">="){if(higher=higherGT(gt,c,options),higher===c&&higher!==gt)return!1}else if(gt.operator===">="&&!c.test(gt.semver))return!1}if(lt){if(needDomLTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomLTPre.major&&c.semver.minor===needDomLTPre.minor&&c.semver.patch===needDomLTPre.patch&&(needDomLTPre=!1),c.operator==="<"||c.operator==="<="){if(lower=lowerLT(lt,c,options),lower===c&&lower!==lt)return!1}else if(lt.operator==="<="&&!c.test(lt.semver))return!1}if(!c.operator&&(lt||gt)&&gtltComp!==0)return!1}return!(gt&&hasDomLT&&!lt&&gtltComp!==0||lt&&hasDomGT&&!gt&&gtltComp!==0||needDomGTPre||needDomLTPre)},higherGT=(a,b,options)=>{if(!a)return b;let comp=compare4(a.semver,b.semver,options);return comp>0?a:comp<0||b.operator===">"&&a.operator===">="?b:a},lowerLT=(a,b,options)=>{if(!a)return b;let comp=compare4(a.semver,b.semver,options);return comp<0?a:comp>0||b.operator==="<"&&a.operator==="<="?b:a};module.exports=subset}});var require_semver2=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js"(exports,module){"use strict";var internalRe=require_re(),constants=require_constants(),SemVer=require_semver(),identifiers=require_identifiers(),parse7=require_parse(),valid=require_valid(),clean=require_clean(),inc=require_inc(),diff=require_diff(),major=require_major(),minor=require_minor(),patch=require_patch(),prerelease=require_prerelease(),compare4=require_compare(),rcompare=require_rcompare(),compareLoose=require_compare_loose(),compareBuild=require_compare_build(),sort=require_sort(),rsort=require_rsort(),gt=require_gt(),lt=require_lt(),eq=require_eq(),neq=require_neq(),gte=require_gte(),lte=require_lte(),cmp=require_cmp(),coerce=require_coerce(),truncate=require_truncate(),Comparator=require_comparator(),Range=require_range(),satisfies2=require_satisfies(),toComparators=require_to_comparators(),maxSatisfying2=require_max_satisfying(),minSatisfying=require_min_satisfying(),minVersion2=require_min_version(),validRange2=require_valid2(),outside=require_outside(),gtr=require_gtr(),ltr=require_ltr(),intersects=require_intersects(),simplifyRange=require_simplify(),subset=require_subset();module.exports={parse:parse7,valid,clean,inc,diff,major,minor,patch,prerelease,compare:compare4,rcompare,compareLoose,compareBuild,sort,rsort,gt,lt,eq,neq,gte,lte,cmp,coerce,truncate,Comparator,Range,satisfies:satisfies2,toComparators,maxSatisfying:maxSatisfying2,minSatisfying,minVersion:minVersion2,validRange:validRange2,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers}}});var require_identity=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/identity.js"(exports){"use strict";var ALIAS=Symbol.for("yaml.alias"),DOC=Symbol.for("yaml.document"),MAP=Symbol.for("yaml.map"),PAIR=Symbol.for("yaml.pair"),SCALAR=Symbol.for("yaml.scalar"),SEQ=Symbol.for("yaml.seq"),NODE_TYPE=Symbol.for("yaml.node.type"),isAlias=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===ALIAS,isDocument=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===DOC,isMap=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===MAP,isPair=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===PAIR,isScalar=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SCALAR,isSeq=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SEQ;function isCollection(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case MAP:case SEQ:return!0}return!1}function isNode(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case ALIAS:case MAP:case SCALAR:case SEQ:return!0}return!1}var hasAnchor=node=>(isScalar(node)||isCollection(node))&&!!node.anchor;exports.ALIAS=ALIAS;exports.DOC=DOC;exports.MAP=MAP;exports.NODE_TYPE=NODE_TYPE;exports.PAIR=PAIR;exports.SCALAR=SCALAR;exports.SEQ=SEQ;exports.hasAnchor=hasAnchor;exports.isAlias=isAlias;exports.isCollection=isCollection;exports.isDocument=isDocument;exports.isMap=isMap;exports.isNode=isNode;exports.isPair=isPair;exports.isScalar=isScalar;exports.isSeq=isSeq}});var require_visit=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/visit.js"(exports){"use strict";var identity=require_identity(),BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove node");function visit(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?visit_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):visit_(null,node,visitor_,Object.freeze([]))}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;function visit_(key,node,visitor,path){let ctrl=callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visit_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=visit_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=visit_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=visit_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}async function visitAsync(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?await visitAsync_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):await visitAsync_(null,node,visitor_,Object.freeze([]))}visitAsync.BREAK=BREAK;visitAsync.SKIP=SKIP;visitAsync.REMOVE=REMOVE;async function visitAsync_(key,node,visitor,path){let ctrl=await callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visitAsync_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=await visitAsync_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=await visitAsync_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=await visitAsync_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}function initVisitor(visitor){return typeof visitor=="object"&&(visitor.Collection||visitor.Node||visitor.Value)?Object.assign({Alias:visitor.Node,Map:visitor.Node,Scalar:visitor.Node,Seq:visitor.Node},visitor.Value&&{Map:visitor.Value,Scalar:visitor.Value,Seq:visitor.Value},visitor.Collection&&{Map:visitor.Collection,Seq:visitor.Collection},visitor):visitor}function callVisitor(key,node,visitor,path){if(typeof visitor=="function")return visitor(key,node,path);if(identity.isMap(node))return visitor.Map?.(key,node,path);if(identity.isSeq(node))return visitor.Seq?.(key,node,path);if(identity.isPair(node))return visitor.Pair?.(key,node,path);if(identity.isScalar(node))return visitor.Scalar?.(key,node,path);if(identity.isAlias(node))return visitor.Alias?.(key,node,path)}function replaceNode(key,path,node){let parent=path[path.length-1];if(identity.isCollection(parent))parent.items[key]=node;else if(identity.isPair(parent))key==="key"?parent.key=node:parent.value=node;else if(identity.isDocument(parent))parent.contents=node;else{let pt=identity.isAlias(parent)?"alias":"scalar";throw new Error(`Cannot replace node with ${pt} parent`)}}exports.visit=visit;exports.visitAsync=visitAsync}});var require_directives=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/directives.js"(exports){"use strict";var identity=require_identity(),visit=require_visit(),escapeChars={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},escapeTagName=tn=>tn.replace(/[!,[\]{}]/g,ch=>escapeChars[ch]),Directives=class _Directives{constructor(yaml,tags){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},_Directives.defaultYaml,yaml),this.tags=Object.assign({},_Directives.defaultTags,tags)}clone(){let copy=new _Directives(this.yaml,this.tags);return copy.docStart=this.docStart,copy}atDocument(){let res=new _Directives(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},_Directives.defaultTags);break}return res}add(line,onError){this.atNextDocument&&(this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},_Directives.defaultTags),this.atNextDocument=!1);let parts=line.trim().split(/[ \t]+/),name=parts.shift();switch(name){case"%TAG":{if(parts.length!==2&&(onError(0,"%TAG directive should contain exactly two parts"),parts.length<2))return!1;let[handle,prefix]=parts;return this.tags[handle]=prefix,!0}case"%YAML":{if(this.yaml.explicit=!0,parts.length!==1)return onError(0,"%YAML directive should contain exactly one part"),!1;let[version]=parts;if(version==="1.1"||version==="1.2")return this.yaml.version=version,!0;{let isValid=/^\d+\.\d+$/.test(version);return onError(6,`Unsupported YAML version ${version}`,isValid),!1}}default:return onError(0,`Unknown directive ${name}`,!0),!1}}tagName(source,onError){if(source==="!")return"!";if(source[0]!=="!")return onError(`Not a valid tag: ${source}`),null;if(source[1]==="<"){let verbatim=source.slice(2,-1);return verbatim==="!"||verbatim==="!!"?(onError(`Verbatim tags aren't resolved, so ${source} is invalid.`),null):(source[source.length-1]!==">"&&onError("Verbatim tags must end with a >"),verbatim)}let[,handle,suffix]=source.match(/^(.*!)([^!]*)$/s);suffix||onError(`The ${source} tag has no suffix`);let prefix=this.tags[handle];if(prefix)try{return prefix+decodeURIComponent(suffix)}catch(error){return onError(String(error)),null}return handle==="!"?source:(onError(`Could not resolve tag: ${source}`),null)}tagString(tag){for(let[handle,prefix]of Object.entries(this.tags))if(tag.startsWith(prefix))return handle+escapeTagName(tag.substring(prefix.length));return tag[0]==="!"?tag:`!<${tag}>`}toString(doc){let lines=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],tagEntries=Object.entries(this.tags),tagNames;if(doc&&tagEntries.length>0&&identity.isNode(doc.contents)){let tags={};visit.visit(doc.contents,(_key,node)=>{identity.isNode(node)&&node.tag&&(tags[node.tag]=!0)}),tagNames=Object.keys(tags)}else tagNames=[];for(let[handle,prefix]of tagEntries)handle==="!!"&&prefix==="tag:yaml.org,2002:"||(!doc||tagNames.some(tn=>tn.startsWith(prefix)))&&lines.push(`%TAG ${handle} ${prefix}`);return lines.join(`
6
+ import{parseSource,require_ts_morph,sourceCandidate}from"./chunk-GHXBU767.js";import{AdapterCapabilityError,IntegrityError,NoTypesError,PackageNotFoundError,RegistryAuthError,UPTIDE_COMMAND,UptideError,VersionNotFoundError,command,errorCode,git}from"./chunk-G7WALDTE.js";import{__export}from"./chunk-JHZ22Y6X.js";import{__commonJS,__require,__toESM}from"./chunk-Z5YHBDVG.js";var require_constants=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js"(exports,module){"use strict";var SEMVER_SPEC_VERSION="2.0.0",MAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991,MAX_SAFE_COMPONENT_LENGTH=16,MAX_SAFE_BUILD_LENGTH=250,RELEASE_TYPES=["major","premajor","minor","preminor","patch","prepatch","prerelease"];module.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_SAFE_INTEGER,RELEASE_TYPES,SEMVER_SPEC_VERSION,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}});var require_debug=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js"(exports,module){"use strict";var debug=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...args)=>console.error("SEMVER",...args):()=>{};module.exports=debug}});var require_re=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js"(exports,module){"use strict";var{MAX_SAFE_COMPONENT_LENGTH,MAX_SAFE_BUILD_LENGTH,MAX_LENGTH}=require_constants(),debug=require_debug();exports=module.exports={};var re=exports.re=[],safeRe=exports.safeRe=[],src=exports.src=[],safeSrc=exports.safeSrc=[],t=exports.t={},R=0,LETTERDASHNUMBER="[a-zA-Z0-9-]",safeRegexReplacements=[["\\s",1],["\\d",MAX_LENGTH],[LETTERDASHNUMBER,MAX_SAFE_BUILD_LENGTH]],makeSafeRegex=value=>{for(let[token,max]of safeRegexReplacements)value=value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);return value},createToken=(name,value,isGlobal)=>{let safe=makeSafeRegex(value),index=R++;debug(name,index,value),t[name]=index,src[index]=value,safeSrc[index]=safe,re[index]=new RegExp(value,isGlobal?"g":void 0),safeRe[index]=new RegExp(safe,isGlobal?"g":void 0)};createToken("NUMERICIDENTIFIER","0|[1-9]\\d*");createToken("NUMERICIDENTIFIERLOOSE","\\d+");createToken("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);createToken("MAINVERSION",`(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);createToken("MAINVERSIONLOOSE",`(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASEIDENTIFIER",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);createToken("PRERELEASEIDENTIFIERLOOSE",`(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);createToken("PRERELEASE",`(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);createToken("PRERELEASELOOSE",`(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);createToken("BUILDIDENTIFIER",`${LETTERDASHNUMBER}+`);createToken("BUILD",`(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);createToken("FULLPLAIN",`v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);createToken("FULL",`^${src[t.FULLPLAIN]}$`);createToken("LOOSEPLAIN",`[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);createToken("LOOSE",`^${src[t.LOOSEPLAIN]}$`);createToken("GTLT","((?:<|>)?=?)");createToken("XRANGEIDENTIFIERLOOSE",`${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);createToken("XRANGEIDENTIFIER",`${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);createToken("XRANGEPLAIN",`[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGEPLAINLOOSE",`[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);createToken("XRANGE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);createToken("XRANGELOOSE",`^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);createToken("COERCEPLAIN",`(^|[^\\d])(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);createToken("COERCE",`${src[t.COERCEPLAIN]}(?:$|[^\\d])`);createToken("COERCEFULL",src[t.COERCEPLAIN]+`(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);createToken("COERCERTL",src[t.COERCE],!0);createToken("COERCERTLFULL",src[t.COERCEFULL],!0);createToken("LONETILDE","(?:~>?)");createToken("TILDETRIM",`(\\s*)${src[t.LONETILDE]}\\s+`,!0);exports.tildeTrimReplace="$1~";createToken("TILDE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);createToken("TILDELOOSE",`^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("LONECARET","(?:\\^)");createToken("CARETTRIM",`(\\s*)${src[t.LONECARET]}\\s+`,!0);exports.caretTrimReplace="$1^";createToken("CARET",`^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);createToken("CARETLOOSE",`^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);createToken("COMPARATORLOOSE",`^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);createToken("COMPARATOR",`^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);createToken("COMPARATORTRIM",`(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`,!0);exports.comparatorTrimReplace="$1$2$3";createToken("HYPHENRANGE",`^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);createToken("HYPHENRANGELOOSE",`^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);createToken("STAR","(<|>)?=?\\s*\\*");createToken("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");createToken("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}});var require_parse_options=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js"(exports,module){"use strict";var looseOption=Object.freeze({loose:!0}),emptyOpts=Object.freeze({}),parseOptions=options=>options?typeof options!="object"?looseOption:options:emptyOpts;module.exports=parseOptions}});var require_identifiers=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js"(exports,module){"use strict";var numeric=/^[0-9]+$/,compareIdentifiers=(a,b)=>{if(typeof a=="number"&&typeof b=="number")return a===b?0:a<b?-1:1;let anum=numeric.test(a),bnum=numeric.test(b);return anum&&bnum&&(a=+a,b=+b),a===b?0:anum&&!bnum?-1:bnum&&!anum?1:a<b?-1:1},rcompareIdentifiers=(a,b)=>compareIdentifiers(b,a);module.exports={compareIdentifiers,rcompareIdentifiers}}});var require_semver=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js"(exports,module){"use strict";var debug=require_debug(),{MAX_LENGTH,MAX_SAFE_INTEGER}=require_constants(),{safeRe:re,t}=require_re(),parseOptions=require_parse_options(),{compareIdentifiers}=require_identifiers(),isPrereleaseIdentifier=(prerelease,identifier)=>{let identifiers=identifier.split(".");if(identifiers.length>prerelease.length)return!1;for(let i=0;i<identifiers.length;i++)if(compareIdentifiers(prerelease[i],identifiers[i])!==0)return!1;return!0},SemVer=class _SemVer{constructor(version,options){if(options=parseOptions(options),version instanceof _SemVer){if(version.loose===!!options.loose&&version.includePrerelease===!!options.includePrerelease)return version;version=version.version}else if(typeof version!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version}".`);if(version.length>MAX_LENGTH)throw new TypeError(`version is longer than ${MAX_LENGTH} characters`);debug("SemVer",version,options),this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease;let m=version.trim().match(options.loose?re[t.LOOSE]:re[t.FULL]);if(!m)throw new TypeError(`Invalid Version: ${version}`);if(this.raw=version,this.major=+m[1],this.minor=+m[2],this.patch=+m[3],this.major>MAX_SAFE_INTEGER||this.major<0)throw new TypeError("Invalid major version");if(this.minor>MAX_SAFE_INTEGER||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>MAX_SAFE_INTEGER||this.patch<0)throw new TypeError("Invalid patch version");m[4]?this.prerelease=m[4].split(".").map(id=>{if(/^[0-9]+$/.test(id)){let num=+id;if(num>=0&&num<MAX_SAFE_INTEGER)return num}return id}):this.prerelease=[],this.build=m[5]?m[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(other){if(debug("SemVer.compare",this.version,this.options,other),!(other instanceof _SemVer)){if(typeof other=="string"&&other===this.version)return 0;other=new _SemVer(other,this.options)}return other.version===this.version?0:this.compareMain(other)||this.comparePre(other)}compareMain(other){return other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.major<other.major?-1:this.major>other.major?1:this.minor<other.minor?-1:this.minor>other.minor?1:this.patch<other.patch?-1:this.patch>other.patch?1:0}comparePre(other){if(other instanceof _SemVer||(other=new _SemVer(other,this.options)),this.prerelease.length&&!other.prerelease.length)return-1;if(!this.prerelease.length&&other.prerelease.length)return 1;if(!this.prerelease.length&&!other.prerelease.length)return 0;let i=0;do{let a=this.prerelease[i],b=other.prerelease[i];if(debug("prerelease compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return-1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}compareBuild(other){other instanceof _SemVer||(other=new _SemVer(other,this.options));let i=0;do{let a=this.build[i],b=other.build[i];if(debug("build compare",i,a,b),a===void 0&&b===void 0)return 0;if(b===void 0)return 1;if(a===void 0)return-1;if(a===b)continue;return compareIdentifiers(a,b)}while(++i)}inc(release,identifier,identifierBase){if(release.startsWith("pre")){if(!identifier&&identifierBase===!1)throw new Error("invalid increment argument: identifier is empty");if(identifier){let match2=`-${identifier}`.match(this.options.loose?re[t.PRERELEASELOOSE]:re[t.PRERELEASE]);if(!match2||match2[1]!==identifier)throw new Error(`invalid identifier: ${identifier}`)}}switch(release){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",identifier,identifierBase);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",identifier,identifierBase);break;case"prepatch":this.prerelease.length=0,this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",identifier,identifierBase),this.inc("pre",identifier,identifierBase);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let base=Number(identifierBase)?1:0;if(this.prerelease.length===0)this.prerelease=[base];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(identifier===this.prerelease.join(".")&&identifierBase===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(base)}}if(identifier){let prerelease=[identifier,base];if(identifierBase===!1&&(prerelease=[identifier]),isPrereleaseIdentifier(this.prerelease,identifier)){let prereleaseBase=this.prerelease[identifier.split(".").length];isNaN(prereleaseBase)&&(this.prerelease=prerelease)}else this.prerelease=prerelease}break}default:throw new Error(`invalid increment argument: ${release}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};module.exports=SemVer}});var require_parse=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js"(exports,module){"use strict";var SemVer=require_semver(),parse7=(version,options,throwErrors=!1)=>{if(version instanceof SemVer)return version;try{return new SemVer(version,options)}catch(er){if(!throwErrors)return null;throw er}};module.exports=parse7}});var require_valid=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js"(exports,module){"use strict";var parse7=require_parse(),valid=(version,options)=>{let v=parse7(version,options);return v?v.version:null};module.exports=valid}});var require_clean=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js"(exports,module){"use strict";var parse7=require_parse(),clean=(version,options)=>{let s=parse7(version.trim().replace(/^[=v]+/,""),options);return s?s.version:null};module.exports=clean}});var require_inc=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js"(exports,module){"use strict";var SemVer=require_semver(),inc=(version,release,options,identifier,identifierBase)=>{typeof options=="string"&&(identifierBase=identifier,identifier=options,options=void 0);try{return new SemVer(version instanceof SemVer?version.version:version,options).inc(release,identifier,identifierBase).version}catch{return null}};module.exports=inc}});var require_diff=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js"(exports,module){"use strict";var parse7=require_parse(),diff=(version1,version2)=>{let v1=parse7(version1,null,!0),v2=parse7(version2,null,!0),comparison=v1.compare(v2);if(comparison===0)return null;let v1Higher=comparison>0,highVersion=v1Higher?v1:v2,lowVersion=v1Higher?v2:v1,highHasPre=!!highVersion.prerelease.length;if(!!lowVersion.prerelease.length&&!highHasPre){if(!lowVersion.patch&&!lowVersion.minor)return"major";if(lowVersion.compareMain(highVersion)===0)return lowVersion.minor&&!lowVersion.patch?"minor":"patch"}let prefix=highHasPre?"pre":"";return v1.major!==v2.major?prefix+"major":v1.minor!==v2.minor?prefix+"minor":v1.patch!==v2.patch?prefix+"patch":"prerelease"};module.exports=diff}});var require_major=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js"(exports,module){"use strict";var SemVer=require_semver(),major=(a,loose)=>new SemVer(a,loose).major;module.exports=major}});var require_minor=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js"(exports,module){"use strict";var SemVer=require_semver(),minor=(a,loose)=>new SemVer(a,loose).minor;module.exports=minor}});var require_patch=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js"(exports,module){"use strict";var SemVer=require_semver(),patch=(a,loose)=>new SemVer(a,loose).patch;module.exports=patch}});var require_prerelease=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js"(exports,module){"use strict";var parse7=require_parse(),prerelease=(version,options)=>{let parsed5=parse7(version,options);return parsed5&&parsed5.prerelease.length?parsed5.prerelease:null};module.exports=prerelease}});var require_compare=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js"(exports,module){"use strict";var SemVer=require_semver(),compare4=(a,b,loose)=>new SemVer(a,loose).compare(new SemVer(b,loose));module.exports=compare4}});var require_rcompare=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js"(exports,module){"use strict";var compare4=require_compare(),rcompare=(a,b,loose)=>compare4(b,a,loose);module.exports=rcompare}});var require_compare_loose=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js"(exports,module){"use strict";var compare4=require_compare(),compareLoose=(a,b)=>compare4(a,b,!0);module.exports=compareLoose}});var require_compare_build=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js"(exports,module){"use strict";var SemVer=require_semver(),compareBuild=(a,b,loose)=>{let versionA=new SemVer(a,loose),versionB=new SemVer(b,loose);return versionA.compare(versionB)||versionA.compareBuild(versionB)};module.exports=compareBuild}});var require_sort=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js"(exports,module){"use strict";var compareBuild=require_compare_build(),sort=(list,loose)=>list.sort((a,b)=>compareBuild(a,b,loose));module.exports=sort}});var require_rsort=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js"(exports,module){"use strict";var compareBuild=require_compare_build(),rsort=(list,loose)=>list.sort((a,b)=>compareBuild(b,a,loose));module.exports=rsort}});var require_gt=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js"(exports,module){"use strict";var compare4=require_compare(),gt=(a,b,loose)=>compare4(a,b,loose)>0;module.exports=gt}});var require_lt=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js"(exports,module){"use strict";var compare4=require_compare(),lt=(a,b,loose)=>compare4(a,b,loose)<0;module.exports=lt}});var require_eq=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js"(exports,module){"use strict";var compare4=require_compare(),eq=(a,b,loose)=>compare4(a,b,loose)===0;module.exports=eq}});var require_neq=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js"(exports,module){"use strict";var compare4=require_compare(),neq=(a,b,loose)=>compare4(a,b,loose)!==0;module.exports=neq}});var require_gte=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js"(exports,module){"use strict";var compare4=require_compare(),gte=(a,b,loose)=>compare4(a,b,loose)>=0;module.exports=gte}});var require_lte=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js"(exports,module){"use strict";var compare4=require_compare(),lte=(a,b,loose)=>compare4(a,b,loose)<=0;module.exports=lte}});var require_cmp=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js"(exports,module){"use strict";var eq=require_eq(),neq=require_neq(),gt=require_gt(),gte=require_gte(),lt=require_lt(),lte=require_lte(),cmp=(a,op,b,loose)=>{switch(op){case"===":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a===b;case"!==":return typeof a=="object"&&(a=a.version),typeof b=="object"&&(b=b.version),a!==b;case"":case"=":case"==":return eq(a,b,loose);case"!=":return neq(a,b,loose);case">":return gt(a,b,loose);case">=":return gte(a,b,loose);case"<":return lt(a,b,loose);case"<=":return lte(a,b,loose);default:throw new TypeError(`Invalid operator: ${op}`)}};module.exports=cmp}});var require_coerce=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js"(exports,module){"use strict";var SemVer=require_semver(),parse7=require_parse(),{safeRe:re,t}=require_re(),coerce=(version,options)=>{if(version instanceof SemVer)return version;if(typeof version=="number"&&(version=String(version)),typeof version!="string")return null;options=options||{};let match2=null;if(!options.rtl)match2=version.match(options.includePrerelease?re[t.COERCEFULL]:re[t.COERCE]);else{let coerceRtlRegex=options.includePrerelease?re[t.COERCERTLFULL]:re[t.COERCERTL],next;for(;(next=coerceRtlRegex.exec(version))&&(!match2||match2.index+match2[0].length!==version.length);)(!match2||next.index+next[0].length!==match2.index+match2[0].length)&&(match2=next),coerceRtlRegex.lastIndex=next.index+next[1].length+next[2].length;coerceRtlRegex.lastIndex=-1}if(match2===null)return null;let major=match2[2],minor=match2[3]||"0",patch=match2[4]||"0",prerelease=options.includePrerelease&&match2[5]?`-${match2[5]}`:"",build=options.includePrerelease&&match2[6]?`+${match2[6]}`:"";return parse7(`${major}.${minor}.${patch}${prerelease}${build}`,options)};module.exports=coerce}});var require_truncate=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js"(exports,module){"use strict";var parse7=require_parse(),constants=require_constants(),SemVer=require_semver(),truncate=(version,truncation,options)=>{if(!constants.RELEASE_TYPES.includes(truncation))return null;let clonedVersion=cloneInputVersion(version,options);return clonedVersion&&doTruncation(clonedVersion,truncation)},cloneInputVersion=(version,options)=>{let versionStringToParse=version instanceof SemVer?version.version:version;return parse7(versionStringToParse,options)},doTruncation=(version,truncation)=>{if(isPrerelease(truncation))return version.version;switch(version.prerelease=[],truncation){case"major":version.minor=0,version.patch=0;break;case"minor":version.patch=0;break}return version.format()},isPrerelease=type=>type.startsWith("pre");module.exports=truncate}});var require_lrucache=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js"(exports,module){"use strict";var LRUCache=class{constructor(){this.max=1e3,this.map=new Map}get(key){let value=this.map.get(key);if(value!==void 0)return this.map.delete(key),this.map.set(key,value),value}delete(key){return this.map.delete(key)}set(key,value){if(!this.delete(key)&&value!==void 0){if(this.map.size>=this.max){let firstKey=this.map.keys().next().value;this.delete(firstKey)}this.map.set(key,value)}return this}};module.exports=LRUCache}});var require_range=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js"(exports,module){"use strict";var SPACE_CHARACTERS=/\s+/g,Range=class _Range{constructor(range,options){if(options=parseOptions(options),range instanceof _Range)return range.loose===!!options.loose&&range.includePrerelease===!!options.includePrerelease?range:new _Range(range.raw,options);if(range instanceof Comparator)return this.raw=range.value,this.set=[[range]],this.formatted=void 0,this;if(this.options=options,this.loose=!!options.loose,this.includePrerelease=!!options.includePrerelease,this.raw=range.trim().replace(SPACE_CHARACTERS," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(c=>c.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let first=this.set[0];if(this.set=this.set.filter(c=>!isNullSet(c[0])),this.set.length===0)this.set=[first];else if(this.set.length>1){for(let c of this.set)if(c.length===1&&isAny(c[0])){this.set=[c];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let i=0;i<this.set.length;i++){i>0&&(this.formatted+="||");let comps=this.set[i];for(let k=0;k<comps.length;k++)k>0&&(this.formatted+=" "),this.formatted+=comps[k].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(range){range=range.replace(BUILDSTRIPRE,"");let memoKey=((this.options.includePrerelease&&FLAG_INCLUDE_PRERELEASE)|(this.options.loose&&FLAG_LOOSE))+":"+range,cached=cache.get(memoKey);if(cached)return cached;let loose=this.options.loose,hr=loose?re[t.HYPHENRANGELOOSE]:re[t.HYPHENRANGE];range=range.replace(hr,hyphenReplace(this.options.includePrerelease)),debug("hyphen replace",range),range=range.replace(re[t.COMPARATORTRIM],comparatorTrimReplace),debug("comparator trim",range),range=range.replace(re[t.TILDETRIM],tildeTrimReplace),debug("tilde trim",range),range=range.replace(re[t.CARETTRIM],caretTrimReplace),debug("caret trim",range);let rangeList=range.split(" ").map(comp=>parseComparator(comp,this.options)).join(" ").split(/\s+/).map(comp=>replaceGTE0(comp,this.options));loose&&(rangeList=rangeList.filter(comp=>(debug("loose invalid filter",comp,this.options),!!comp.match(re[t.COMPARATORLOOSE])))),debug("range list",rangeList);let rangeMap=new Map,comparators=rangeList.map(comp=>new Comparator(comp,this.options));for(let comp of comparators){if(isNullSet(comp))return[comp];rangeMap.set(comp.value,comp)}rangeMap.size>1&&rangeMap.has("")&&rangeMap.delete("");let result=[...rangeMap.values()];return cache.set(memoKey,result),result}intersects(range,options){if(!(range instanceof _Range))throw new TypeError("a Range is required");return this.set.some(thisComparators=>isSatisfiable(thisComparators,options)&&range.set.some(rangeComparators=>isSatisfiable(rangeComparators,options)&&thisComparators.every(thisComparator=>rangeComparators.every(rangeComparator=>thisComparator.intersects(rangeComparator,options)))))}test(version){if(!version)return!1;if(typeof version=="string")try{version=new SemVer(version,this.options)}catch{return!1}for(let i=0;i<this.set.length;i++)if(testSet(this.set[i],version,this.options))return!0;return!1}};module.exports=Range;var LRU=require_lrucache(),cache=new LRU,parseOptions=require_parse_options(),Comparator=require_comparator(),debug=require_debug(),SemVer=require_semver(),{safeRe:re,src,t,comparatorTrimReplace,tildeTrimReplace,caretTrimReplace}=require_re(),{FLAG_INCLUDE_PRERELEASE,FLAG_LOOSE}=require_constants(),BUILDSTRIPRE=new RegExp(src[t.BUILD],"g"),isNullSet=c=>c.value==="<0.0.0-0",isAny=c=>c.value==="",isSatisfiable=(comparators,options)=>{let result=!0,remainingComparators=comparators.slice(),testComparator=remainingComparators.pop();for(;result&&remainingComparators.length;)result=remainingComparators.every(otherComparator=>testComparator.intersects(otherComparator,options)),testComparator=remainingComparators.pop();return result},parseComparator=(comp,options)=>(comp=comp.replace(re[t.BUILD],""),debug("comp",comp,options),comp=replaceCarets(comp,options),debug("caret",comp),comp=replaceTildes(comp,options),debug("tildes",comp),comp=replaceXRanges(comp,options),debug("xrange",comp),comp=replaceStars(comp,options),debug("stars",comp),comp),isX=id=>!id||id.toLowerCase()==="x"||id==="*",invalidXRangeOrder=(M,m,p)=>isX(M)&&!isX(m)||isX(m)&&p&&!isX(p),replaceTildes=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceTilde(c,options)).join(" "),replaceTilde=(comp,options)=>{let r=options.loose?re[t.TILDELOOSE]:re[t.TILDE],z=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("tilde",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0${z} <${+M+1}.0.0-0`:isX(p)?ret=`>=${M}.${m}.0${z} <${M}.${+m+1}.0-0`:pr?(debug("replaceTilde pr",pr),ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`):ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`,debug("tilde return",ret),ret})},replaceCarets=(comp,options)=>comp.trim().split(/\s+/).map(c=>replaceCaret(c,options)).join(" "),replaceCaret=(comp,options)=>{debug("caret",comp,options);let r=options.loose?re[t.CARETLOOSE]:re[t.CARET],z=options.includePrerelease?"-0":"";return comp.replace(r,(_,M,m,p,pr)=>{debug("caret",comp,_,M,m,p,pr);let ret;return isX(M)?ret="":isX(m)?ret=`>=${M}.0.0${z} <${+M+1}.0.0-0`:isX(p)?M==="0"?ret=`>=${M}.${m}.0${z} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.0${z} <${+M+1}.0.0-0`:pr?(debug("replaceCaret pr",pr),M==="0"?m==="0"?ret=`>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p}-${pr} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p}-${pr} <${+M+1}.0.0-0`):(debug("no pr"),M==="0"?m==="0"?ret=`>=${M}.${m}.${p} <${M}.${m}.${+p+1}-0`:ret=`>=${M}.${m}.${p} <${M}.${+m+1}.0-0`:ret=`>=${M}.${m}.${p} <${+M+1}.0.0-0`),debug("caret return",ret),ret})},replaceXRanges=(comp,options)=>(debug("replaceXRanges",comp,options),comp.split(/\s+/).map(c=>replaceXRange(c,options)).join(" ")),replaceXRange=(comp,options)=>{comp=comp.trim();let r=options.loose?re[t.XRANGELOOSE]:re[t.XRANGE];return comp.replace(r,(ret,gtlt,M,m,p,pr)=>{if(debug("xRange",comp,ret,gtlt,M,m,p,pr),invalidXRangeOrder(M,m,p))return comp;let xM=isX(M),xm=xM||isX(m),xp=xm||isX(p),anyX=xp;return gtlt==="="&&anyX&&(gtlt=""),pr=options.includePrerelease?"-0":"",xM?gtlt===">"||gtlt==="<"?ret="<0.0.0-0":ret="*":gtlt&&anyX?(xm&&(m=0),p=0,gtlt===">"?(gtlt=">=",xm?(M=+M+1,m=0,p=0):(m=+m+1,p=0)):gtlt==="<="&&(gtlt="<",xm?M=+M+1:m=+m+1),gtlt==="<"&&(pr="-0"),ret=`${gtlt+M}.${m}.${p}${pr}`):xm?ret=`>=${M}.0.0${pr} <${+M+1}.0.0-0`:xp&&(ret=`>=${M}.${m}.0${pr} <${M}.${+m+1}.0-0`),debug("xRange return",ret),ret})},replaceStars=(comp,options)=>(debug("replaceStars",comp,options),comp.trim().replace(re[t.STAR],"")),replaceGTE0=(comp,options)=>(debug("replaceGTE0",comp,options),comp.trim().replace(re[options.includePrerelease?t.GTE0PRE:t.GTE0],"")),hyphenReplace=incPr=>($0,from,fM,fm,fp,fpr,fb,to,tM,tm,tp,tpr)=>(isX(fM)?from="":isX(fm)?from=`>=${fM}.0.0${incPr?"-0":""}`:isX(fp)?from=`>=${fM}.${fm}.0${incPr?"-0":""}`:fpr?from=`>=${from}`:from=`>=${from}${incPr?"-0":""}`,isX(tM)?to="":isX(tm)?to=`<${+tM+1}.0.0-0`:isX(tp)?to=`<${tM}.${+tm+1}.0-0`:tpr?to=`<=${tM}.${tm}.${tp}-${tpr}`:incPr?to=`<${tM}.${tm}.${+tp+1}-0`:to=`<=${to}`,`${from} ${to}`.trim()),testSet=(set,version,options)=>{for(let i=0;i<set.length;i++)if(!set[i].test(version))return!1;if(version.prerelease.length&&!options.includePrerelease){for(let i=0;i<set.length;i++)if(debug(set[i].semver),set[i].semver!==Comparator.ANY&&set[i].semver.prerelease.length>0){let allowed=set[i].semver;if(allowed.major===version.major&&allowed.minor===version.minor&&allowed.patch===version.patch)return!0}return!1}return!0}}});var require_comparator=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js"(exports,module){"use strict";var ANY=Symbol("SemVer ANY"),Comparator=class _Comparator{static get ANY(){return ANY}constructor(comp,options){if(options=parseOptions(options),comp instanceof _Comparator){if(comp.loose===!!options.loose)return comp;comp=comp.value}comp=comp.trim().split(/\s+/).join(" "),debug("comparator",comp,options),this.options=options,this.loose=!!options.loose,this.parse(comp),this.semver===ANY?this.value="":this.value=this.operator+this.semver.version,debug("comp",this)}parse(comp){let r=this.options.loose?re[t.COMPARATORLOOSE]:re[t.COMPARATOR],m=comp.match(r);if(!m)throw new TypeError(`Invalid comparator: ${comp}`);this.operator=m[1]!==void 0?m[1]:"",this.operator==="="&&(this.operator=""),m[2]?this.semver=new SemVer(m[2],this.options.loose):this.semver=ANY}toString(){return this.value}test(version){if(debug("Comparator.test",version,this.options.loose),this.semver===ANY||version===ANY)return!0;if(typeof version=="string")try{version=new SemVer(version,this.options)}catch{return!1}return cmp(version,this.operator,this.semver,this.options)}intersects(comp,options){if(!(comp instanceof _Comparator))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Range(comp.value,options).test(this.value):comp.operator===""?comp.value===""?!0:new Range(this.value,options).test(comp.semver):(options=parseOptions(options),options.includePrerelease&&(this.value==="<0.0.0-0"||comp.value==="<0.0.0-0")||!options.includePrerelease&&(this.value.startsWith("<0.0.0")||comp.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&comp.operator.startsWith(">")||this.operator.startsWith("<")&&comp.operator.startsWith("<")||this.semver.version===comp.semver.version&&this.operator.includes("=")&&comp.operator.includes("=")||cmp(this.semver,"<",comp.semver,options)&&this.operator.startsWith(">")&&comp.operator.startsWith("<")||cmp(this.semver,">",comp.semver,options)&&this.operator.startsWith("<")&&comp.operator.startsWith(">")))}};module.exports=Comparator;var parseOptions=require_parse_options(),{safeRe:re,t}=require_re(),cmp=require_cmp(),debug=require_debug(),SemVer=require_semver(),Range=require_range()}});var require_satisfies=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js"(exports,module){"use strict";var Range=require_range(),satisfies2=(version,range,options)=>{try{range=new Range(range,options)}catch{return!1}return range.test(version)};module.exports=satisfies2}});var require_to_comparators=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js"(exports,module){"use strict";var Range=require_range(),toComparators=(range,options)=>new Range(range,options).set.map(comp=>comp.map(c=>c.value).join(" ").trim().split(" "));module.exports=toComparators}});var require_max_satisfying=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js"(exports,module){"use strict";var SemVer=require_semver(),Range=require_range(),maxSatisfying2=(versions,range,options)=>{let max=null,maxSV=null,rangeObj=null;try{rangeObj=new Range(range,options)}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!max||maxSV.compare(v)===-1)&&(max=v,maxSV=new SemVer(max,options))}),max};module.exports=maxSatisfying2}});var require_min_satisfying=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js"(exports,module){"use strict";var SemVer=require_semver(),Range=require_range(),minSatisfying=(versions,range,options)=>{let min=null,minSV=null,rangeObj=null;try{rangeObj=new Range(range,options)}catch{return null}return versions.forEach(v=>{rangeObj.test(v)&&(!min||minSV.compare(v)===1)&&(min=v,minSV=new SemVer(min,options))}),min};module.exports=minSatisfying}});var require_min_version=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js"(exports,module){"use strict";var SemVer=require_semver(),Range=require_range(),gt=require_gt(),minVersion2=(range,loose)=>{range=new Range(range,loose);let minver=new SemVer("0.0.0");if(range.test(minver)||(minver=new SemVer("0.0.0-0"),range.test(minver)))return minver;minver=null;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],setMin=null;comparators.forEach(comparator=>{let compver=new SemVer(comparator.semver.version);switch(comparator.operator){case">":compver.prerelease.length===0?compver.patch++:compver.prerelease.push(0),compver.raw=compver.format();case"":case">=":(!setMin||gt(compver,setMin))&&(setMin=compver);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${comparator.operator}`)}}),setMin&&(!minver||gt(minver,setMin))&&(minver=setMin)}return minver&&range.test(minver)?minver:null};module.exports=minVersion2}});var require_valid2=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js"(exports,module){"use strict";var Range=require_range(),validRange2=(range,options)=>{try{return new Range(range,options).range||"*"}catch{return null}};module.exports=validRange2}});var require_outside=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js"(exports,module){"use strict";var SemVer=require_semver(),Comparator=require_comparator(),{ANY}=Comparator,Range=require_range(),satisfies2=require_satisfies(),gt=require_gt(),lt=require_lt(),lte=require_lte(),gte=require_gte(),outside=(version,range,hilo,options)=>{version=new SemVer(version,options),range=new Range(range,options);let gtfn,ltefn,ltfn,comp,ecomp;switch(hilo){case">":gtfn=gt,ltefn=lte,ltfn=lt,comp=">",ecomp=">=";break;case"<":gtfn=lt,ltefn=gte,ltfn=gt,comp="<",ecomp="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(satisfies2(version,range,options))return!1;for(let i=0;i<range.set.length;++i){let comparators=range.set[i],high=null,low=null;if(comparators.forEach(comparator=>{comparator.semver===ANY&&(comparator=new Comparator(">=0.0.0")),high=high||comparator,low=low||comparator,gtfn(comparator.semver,high.semver,options)?high=comparator:ltfn(comparator.semver,low.semver,options)&&(low=comparator)}),high.operator===comp||high.operator===ecomp||(!low.operator||low.operator===comp)&&ltefn(version,low.semver))return!1;if(low.operator===ecomp&&ltfn(version,low.semver))return!1}return!0};module.exports=outside}});var require_gtr=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js"(exports,module){"use strict";var outside=require_outside(),gtr=(version,range,options)=>outside(version,range,">",options);module.exports=gtr}});var require_ltr=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js"(exports,module){"use strict";var outside=require_outside(),ltr=(version,range,options)=>outside(version,range,"<",options);module.exports=ltr}});var require_intersects=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js"(exports,module){"use strict";var Range=require_range(),intersects=(r1,r2,options)=>(r1=new Range(r1,options),r2=new Range(r2,options),r1.intersects(r2,options));module.exports=intersects}});var require_simplify=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js"(exports,module){"use strict";var satisfies2=require_satisfies(),compare4=require_compare();module.exports=(versions,range,options)=>{let set=[],first=null,prev=null,v=versions.sort((a,b)=>compare4(a,b,options));for(let version of v)satisfies2(version,range,options)?(prev=version,first||(first=version)):(prev&&set.push([first,prev]),prev=null,first=null);first&&set.push([first,null]);let ranges=[];for(let[min,max]of set)min===max?ranges.push(min):!max&&min===v[0]?ranges.push("*"):max?min===v[0]?ranges.push(`<=${max}`):ranges.push(`${min} - ${max}`):ranges.push(`>=${min}`);let simplified=ranges.join(" || "),original=typeof range.raw=="string"?range.raw:String(range);return simplified.length<original.length?simplified:range}}});var require_subset=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js"(exports,module){"use strict";var Range=require_range(),Comparator=require_comparator(),{ANY}=Comparator,satisfies2=require_satisfies(),compare4=require_compare(),subset=(sub,dom,options={})=>{if(sub===dom)return!0;sub=new Range(sub,options),dom=new Range(dom,options);let sawNonNull=!1;OUTER:for(let simpleSub of sub.set){for(let simpleDom of dom.set){let isSub=simpleSubset(simpleSub,simpleDom,options);if(sawNonNull=sawNonNull||isSub!==null,isSub)continue OUTER}if(sawNonNull)return!1}return!0},minimumVersionWithPreRelease=[new Comparator(">=0.0.0-0")],minimumVersion2=[new Comparator(">=0.0.0")],simpleSubset=(sub,dom,options)=>{if(sub===dom)return!0;if(sub.length===1&&sub[0].semver===ANY){if(dom.length===1&&dom[0].semver===ANY)return!0;options.includePrerelease?sub=minimumVersionWithPreRelease:sub=minimumVersion2}if(dom.length===1&&dom[0].semver===ANY){if(options.includePrerelease)return!0;dom=minimumVersion2}let eqSet=new Set,gt,lt;for(let c of sub)c.operator===">"||c.operator===">="?gt=higherGT(gt,c,options):c.operator==="<"||c.operator==="<="?lt=lowerLT(lt,c,options):eqSet.add(c.semver);if(eqSet.size>1)return null;let gtltComp;if(gt&&lt){if(gtltComp=compare4(gt.semver,lt.semver,options),gtltComp>0)return null;if(gtltComp===0&&(gt.operator!==">="||lt.operator!=="<="))return null}for(let eq of eqSet){if(gt&&!satisfies2(eq,String(gt),options)||lt&&!satisfies2(eq,String(lt),options))return null;for(let c of dom)if(!satisfies2(eq,String(c),options))return!1;return!0}let higher,lower,hasDomLT,hasDomGT,needDomLTPre=lt&&!options.includePrerelease&&lt.semver.prerelease.length?lt.semver:!1,needDomGTPre=gt&&!options.includePrerelease&&gt.semver.prerelease.length?gt.semver:!1;needDomLTPre&&needDomLTPre.prerelease.length===1&&lt.operator==="<"&&needDomLTPre.prerelease[0]===0&&(needDomLTPre=!1);for(let c of dom){if(hasDomGT=hasDomGT||c.operator===">"||c.operator===">=",hasDomLT=hasDomLT||c.operator==="<"||c.operator==="<=",gt){if(needDomGTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomGTPre.major&&c.semver.minor===needDomGTPre.minor&&c.semver.patch===needDomGTPre.patch&&(needDomGTPre=!1),c.operator===">"||c.operator===">="){if(higher=higherGT(gt,c,options),higher===c&&higher!==gt)return!1}else if(gt.operator===">="&&!c.test(gt.semver))return!1}if(lt){if(needDomLTPre&&c.semver.prerelease&&c.semver.prerelease.length&&c.semver.major===needDomLTPre.major&&c.semver.minor===needDomLTPre.minor&&c.semver.patch===needDomLTPre.patch&&(needDomLTPre=!1),c.operator==="<"||c.operator==="<="){if(lower=lowerLT(lt,c,options),lower===c&&lower!==lt)return!1}else if(lt.operator==="<="&&!c.test(lt.semver))return!1}if(!c.operator&&(lt||gt)&&gtltComp!==0)return!1}return!(gt&&hasDomLT&&!lt&&gtltComp!==0||lt&&hasDomGT&&!gt&&gtltComp!==0||needDomGTPre||needDomLTPre)},higherGT=(a,b,options)=>{if(!a)return b;let comp=compare4(a.semver,b.semver,options);return comp>0?a:comp<0||b.operator===">"&&a.operator===">="?b:a},lowerLT=(a,b,options)=>{if(!a)return b;let comp=compare4(a.semver,b.semver,options);return comp<0?a:comp>0||b.operator==="<"&&a.operator==="<="?b:a};module.exports=subset}});var require_semver2=__commonJS({"../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js"(exports,module){"use strict";var internalRe=require_re(),constants=require_constants(),SemVer=require_semver(),identifiers=require_identifiers(),parse7=require_parse(),valid=require_valid(),clean=require_clean(),inc=require_inc(),diff=require_diff(),major=require_major(),minor=require_minor(),patch=require_patch(),prerelease=require_prerelease(),compare4=require_compare(),rcompare=require_rcompare(),compareLoose=require_compare_loose(),compareBuild=require_compare_build(),sort=require_sort(),rsort=require_rsort(),gt=require_gt(),lt=require_lt(),eq=require_eq(),neq=require_neq(),gte=require_gte(),lte=require_lte(),cmp=require_cmp(),coerce=require_coerce(),truncate=require_truncate(),Comparator=require_comparator(),Range=require_range(),satisfies2=require_satisfies(),toComparators=require_to_comparators(),maxSatisfying2=require_max_satisfying(),minSatisfying=require_min_satisfying(),minVersion2=require_min_version(),validRange2=require_valid2(),outside=require_outside(),gtr=require_gtr(),ltr=require_ltr(),intersects=require_intersects(),simplifyRange=require_simplify(),subset=require_subset();module.exports={parse:parse7,valid,clean,inc,diff,major,minor,patch,prerelease,compare:compare4,rcompare,compareLoose,compareBuild,sort,rsort,gt,lt,eq,neq,gte,lte,cmp,coerce,truncate,Comparator,Range,satisfies:satisfies2,toComparators,maxSatisfying:maxSatisfying2,minSatisfying,minVersion:minVersion2,validRange:validRange2,outside,gtr,ltr,intersects,simplifyRange,subset,SemVer,re:internalRe.re,src:internalRe.src,tokens:internalRe.t,SEMVER_SPEC_VERSION:constants.SEMVER_SPEC_VERSION,RELEASE_TYPES:constants.RELEASE_TYPES,compareIdentifiers:identifiers.compareIdentifiers,rcompareIdentifiers:identifiers.rcompareIdentifiers}}});var require_identity=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/identity.js"(exports){"use strict";var ALIAS=Symbol.for("yaml.alias"),DOC=Symbol.for("yaml.document"),MAP=Symbol.for("yaml.map"),PAIR=Symbol.for("yaml.pair"),SCALAR=Symbol.for("yaml.scalar"),SEQ=Symbol.for("yaml.seq"),NODE_TYPE=Symbol.for("yaml.node.type"),isAlias=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===ALIAS,isDocument=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===DOC,isMap=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===MAP,isPair=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===PAIR,isScalar=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SCALAR,isSeq=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SEQ;function isCollection(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case MAP:case SEQ:return!0}return!1}function isNode(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case ALIAS:case MAP:case SCALAR:case SEQ:return!0}return!1}var hasAnchor=node=>(isScalar(node)||isCollection(node))&&!!node.anchor;exports.ALIAS=ALIAS;exports.DOC=DOC;exports.MAP=MAP;exports.NODE_TYPE=NODE_TYPE;exports.PAIR=PAIR;exports.SCALAR=SCALAR;exports.SEQ=SEQ;exports.hasAnchor=hasAnchor;exports.isAlias=isAlias;exports.isCollection=isCollection;exports.isDocument=isDocument;exports.isMap=isMap;exports.isNode=isNode;exports.isPair=isPair;exports.isScalar=isScalar;exports.isSeq=isSeq}});var require_visit=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/visit.js"(exports){"use strict";var identity=require_identity(),BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove node");function visit(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?visit_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):visit_(null,node,visitor_,Object.freeze([]))}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;function visit_(key,node,visitor,path){let ctrl=callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visit_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=visit_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=visit_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=visit_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}async function visitAsync(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?await visitAsync_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):await visitAsync_(null,node,visitor_,Object.freeze([]))}visitAsync.BREAK=BREAK;visitAsync.SKIP=SKIP;visitAsync.REMOVE=REMOVE;async function visitAsync_(key,node,visitor,path){let ctrl=await callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visitAsync_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=await visitAsync_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=await visitAsync_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=await visitAsync_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}function initVisitor(visitor){return typeof visitor=="object"&&(visitor.Collection||visitor.Node||visitor.Value)?Object.assign({Alias:visitor.Node,Map:visitor.Node,Scalar:visitor.Node,Seq:visitor.Node},visitor.Value&&{Map:visitor.Value,Scalar:visitor.Value,Seq:visitor.Value},visitor.Collection&&{Map:visitor.Collection,Seq:visitor.Collection},visitor):visitor}function callVisitor(key,node,visitor,path){if(typeof visitor=="function")return visitor(key,node,path);if(identity.isMap(node))return visitor.Map?.(key,node,path);if(identity.isSeq(node))return visitor.Seq?.(key,node,path);if(identity.isPair(node))return visitor.Pair?.(key,node,path);if(identity.isScalar(node))return visitor.Scalar?.(key,node,path);if(identity.isAlias(node))return visitor.Alias?.(key,node,path)}function replaceNode(key,path,node){let parent=path[path.length-1];if(identity.isCollection(parent))parent.items[key]=node;else if(identity.isPair(parent))key==="key"?parent.key=node:parent.value=node;else if(identity.isDocument(parent))parent.contents=node;else{let pt=identity.isAlias(parent)?"alias":"scalar";throw new Error(`Cannot replace node with ${pt} parent`)}}exports.visit=visit;exports.visitAsync=visitAsync}});var require_directives=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/directives.js"(exports){"use strict";var identity=require_identity(),visit=require_visit(),escapeChars={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},escapeTagName=tn=>tn.replace(/[!,[\]{}]/g,ch=>escapeChars[ch]),Directives=class _Directives{constructor(yaml,tags){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},_Directives.defaultYaml,yaml),this.tags=Object.assign({},_Directives.defaultTags,tags)}clone(){let copy=new _Directives(this.yaml,this.tags);return copy.docStart=this.docStart,copy}atDocument(){let res=new _Directives(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},_Directives.defaultTags);break}return res}add(line,onError){this.atNextDocument&&(this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},_Directives.defaultTags),this.atNextDocument=!1);let parts=line.trim().split(/[ \t]+/),name=parts.shift();switch(name){case"%TAG":{if(parts.length!==2&&(onError(0,"%TAG directive should contain exactly two parts"),parts.length<2))return!1;let[handle,prefix]=parts;return this.tags[handle]=prefix,!0}case"%YAML":{if(this.yaml.explicit=!0,parts.length!==1)return onError(0,"%YAML directive should contain exactly one part"),!1;let[version]=parts;if(version==="1.1"||version==="1.2")return this.yaml.version=version,!0;{let isValid=/^\d+\.\d+$/.test(version);return onError(6,`Unsupported YAML version ${version}`,isValid),!1}}default:return onError(0,`Unknown directive ${name}`,!0),!1}}tagName(source,onError){if(source==="!")return"!";if(source[0]!=="!")return onError(`Not a valid tag: ${source}`),null;if(source[1]==="<"){let verbatim=source.slice(2,-1);return verbatim==="!"||verbatim==="!!"?(onError(`Verbatim tags aren't resolved, so ${source} is invalid.`),null):(source[source.length-1]!==">"&&onError("Verbatim tags must end with a >"),verbatim)}let[,handle,suffix]=source.match(/^(.*!)([^!]*)$/s);suffix||onError(`The ${source} tag has no suffix`);let prefix=this.tags[handle];if(prefix)try{return prefix+decodeURIComponent(suffix)}catch(error){return onError(String(error)),null}return handle==="!"?source:(onError(`Could not resolve tag: ${source}`),null)}tagString(tag){for(let[handle,prefix]of Object.entries(this.tags))if(tag.startsWith(prefix))return handle+escapeTagName(tag.substring(prefix.length));return tag[0]==="!"?tag:`!<${tag}>`}toString(doc){let lines=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],tagEntries=Object.entries(this.tags),tagNames;if(doc&&tagEntries.length>0&&identity.isNode(doc.contents)){let tags={};visit.visit(doc.contents,(_key,node)=>{identity.isNode(node)&&node.tag&&(tags[node.tag]=!0)}),tagNames=Object.keys(tags)}else tagNames=[];for(let[handle,prefix]of tagEntries)handle==="!!"&&prefix==="tag:yaml.org,2002:"||(!doc||tagNames.some(tn=>tn.startsWith(prefix)))&&lines.push(`%TAG ${handle} ${prefix}`);return lines.join(`
7
7
  `)}};Directives.defaultYaml={explicit:!1,version:"1.2"};Directives.defaultTags={"!!":"tag:yaml.org,2002:"};exports.Directives=Directives}});var require_anchors=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/anchors.js"(exports){"use strict";var identity=require_identity(),visit=require_visit();function anchorIsValid(anchor){if(/[\x00-\x19\s,[\]{}]/.test(anchor)){let msg=`Anchor must not contain whitespace or control characters: ${JSON.stringify(anchor)}`;throw new Error(msg)}return!0}function anchorNames(root){let anchors=new Set;return visit.visit(root,{Value(_key,node){node.anchor&&anchors.add(node.anchor)}}),anchors}function findNewAnchor(prefix,exclude){for(let i=1;;++i){let name=`${prefix}${i}`;if(!exclude.has(name))return name}}function createNodeAnchors(doc,prefix){let aliasObjects=[],sourceObjects=new Map,prevAnchors=null;return{onAnchor:source=>{aliasObjects.push(source),prevAnchors??(prevAnchors=anchorNames(doc));let anchor=findNewAnchor(prefix,prevAnchors);return prevAnchors.add(anchor),anchor},setAnchors:()=>{for(let source of aliasObjects){let ref=sourceObjects.get(source);if(typeof ref=="object"&&ref.anchor&&(identity.isScalar(ref.node)||identity.isCollection(ref.node)))ref.node.anchor=ref.anchor;else{let error=new Error("Failed to resolve repeated object (this should not happen)");throw error.source=source,error}}},sourceObjects}}exports.anchorIsValid=anchorIsValid;exports.anchorNames=anchorNames;exports.createNodeAnchors=createNodeAnchors;exports.findNewAnchor=findNewAnchor}});var require_applyReviver=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/applyReviver.js"(exports){"use strict";function applyReviver(reviver,obj,key,val){if(val&&typeof val=="object")if(Array.isArray(val))for(let i=0,len=val.length;i<len;++i){let v0=val[i],v1=applyReviver(reviver,val,String(i),v0);v1===void 0?delete val[i]:v1!==v0&&(val[i]=v1)}else if(val instanceof Map)for(let k of Array.from(val.keys())){let v0=val.get(k),v1=applyReviver(reviver,val,k,v0);v1===void 0?val.delete(k):v1!==v0&&val.set(k,v1)}else if(val instanceof Set)for(let v0 of Array.from(val)){let v1=applyReviver(reviver,val,v0,v0);v1===void 0?val.delete(v0):v1!==v0&&(val.delete(v0),val.add(v1))}else for(let[k,v0]of Object.entries(val)){let v1=applyReviver(reviver,val,k,v0);v1===void 0?delete val[k]:v1!==v0&&(val[k]=v1)}return reviver.call(obj,key,val)}exports.applyReviver=applyReviver}});var require_toJS=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/toJS.js"(exports){"use strict";var identity=require_identity();function toJS(value,arg,ctx){if(Array.isArray(value))return value.map((v,i)=>toJS(v,String(i),ctx));if(value&&typeof value.toJSON=="function"){if(!ctx||!identity.hasAnchor(value))return value.toJSON(arg,ctx);let data={aliasCount:0,count:1,res:void 0};ctx.anchors.set(value,data),ctx.onCreate=res2=>{data.res=res2,delete ctx.onCreate};let res=value.toJSON(arg,ctx);return ctx.onCreate&&ctx.onCreate(res),res}return typeof value=="bigint"&&!ctx?.keep?Number(value):value}exports.toJS=toJS}});var require_Node=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Node.js"(exports){"use strict";var applyReviver=require_applyReviver(),identity=require_identity(),toJS=require_toJS(),NodeBase=class{constructor(type){Object.defineProperty(this,identity.NODE_TYPE,{value:type})}clone(){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(copy.range=this.range.slice()),copy}toJS(doc,{mapAsMap,maxAliasCount,onAnchor,reviver}={}){if(!identity.isDocument(doc))throw new TypeError("A document argument is required");let ctx={anchors:new Map,doc,keep:!0,mapAsMap:mapAsMap===!0,mapKeyWarned:!1,maxAliasCount:typeof maxAliasCount=="number"?maxAliasCount:100},res=toJS.toJS(this,"",ctx);if(typeof onAnchor=="function")for(let{count:count3,res:res2}of ctx.anchors.values())onAnchor(res2,count3);return typeof reviver=="function"?applyReviver.applyReviver(reviver,{"":res},"",res):res}};exports.NodeBase=NodeBase}});var require_Alias=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Alias.js"(exports){"use strict";var anchors=require_anchors(),visit=require_visit(),identity=require_identity(),Node11=require_Node(),toJS=require_toJS(),Alias=class extends Node11.NodeBase{constructor(source){super(identity.ALIAS),this.source=source,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(doc,ctx){if(ctx?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let nodes;ctx?.aliasResolveCache?nodes=ctx.aliasResolveCache:(nodes=[],visit.visit(doc,{Node:(_key,node)=>{(identity.isAlias(node)||identity.hasAnchor(node))&&nodes.push(node)}}),ctx&&(ctx.aliasResolveCache=nodes));let found;for(let node of nodes){if(node===this)break;node.anchor===this.source&&(found=node)}if(found&&ctx){let{anchors:anchors2,doc:doc2,maxAliasCount}=ctx,data=anchors2.get(found);if(data||(toJS.toJS(found,null,ctx),data=anchors2.get(found)),data?.res===void 0){let msg="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(msg)}if(maxAliasCount>=0&&(data.count+=1,data.aliasCount===0&&(data.aliasCount=getAliasCount(doc2,found,anchors2)),data.count*data.aliasCount>maxAliasCount)){let msg="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(msg)}}return found}toJSON(_arg,ctx){if(!ctx)return{source:this.source};let source=this.resolve(ctx.doc,ctx);if(!source){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(msg)}return ctx.anchors.get(source).res}toString(ctx,_onComment,_onChompKeep){let src=`*${this.source}`;if(ctx){if(anchors.anchorIsValid(this.source),ctx.options.verifyAliasOrder&&!ctx.anchors.has(this.source)){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(msg)}if(ctx.implicitKey)return`${src} `}return src}};function getAliasCount(doc,node,anchors2){if(identity.isAlias(node)){let source=node.resolve(doc),anchor=anchors2&&source&&anchors2.get(source);return anchor?anchor.count*anchor.aliasCount:0}else if(identity.isCollection(node)){let count3=0;for(let item of node.items){let c=getAliasCount(doc,item,anchors2);c>count3&&(count3=c)}return count3}else if(identity.isPair(node)){let kc=getAliasCount(doc,node.key,anchors2),vc=getAliasCount(doc,node.value,anchors2);return Math.max(kc,vc)}return 1}exports.Alias=Alias}});var require_Scalar=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Scalar.js"(exports){"use strict";var identity=require_identity(),Node11=require_Node(),toJS=require_toJS(),isScalarValue=value=>!value||typeof value!="function"&&typeof value!="object",Scalar=class extends Node11.NodeBase{constructor(value){super(identity.SCALAR),this.value=value}toJSON(arg,ctx){return ctx?.keep?this.value:toJS.toJS(this.value,arg,ctx)}toString(){return String(this.value)}};Scalar.BLOCK_FOLDED="BLOCK_FOLDED";Scalar.BLOCK_LITERAL="BLOCK_LITERAL";Scalar.PLAIN="PLAIN";Scalar.QUOTE_DOUBLE="QUOTE_DOUBLE";Scalar.QUOTE_SINGLE="QUOTE_SINGLE";exports.Scalar=Scalar;exports.isScalarValue=isScalarValue}});var require_createNode=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/doc/createNode.js"(exports){"use strict";var Alias=require_Alias(),identity=require_identity(),Scalar=require_Scalar(),defaultTagPrefix="tag:yaml.org,2002:";function findTagObject(value,tagName,tags){if(tagName){let match2=tags.filter(t=>t.tag===tagName),tagObj=match2.find(t=>!t.format)??match2[0];if(!tagObj)throw new Error(`Tag ${tagName} not found`);return tagObj}return tags.find(t=>t.identify?.(value)&&!t.format)}function createNode(value,tagName,ctx){if(identity.isDocument(value)&&(value=value.contents),identity.isNode(value))return value;if(identity.isPair(value)){let map=ctx.schema[identity.MAP].createNode?.(ctx.schema,null,ctx);return map.items.push(value),map}(value instanceof String||value instanceof Number||value instanceof Boolean||typeof BigInt<"u"&&value instanceof BigInt)&&(value=value.valueOf());let{aliasDuplicateObjects,onAnchor,onTagObj,schema,sourceObjects}=ctx,ref;if(aliasDuplicateObjects&&value&&typeof value=="object"){if(ref=sourceObjects.get(value),ref)return ref.anchor??(ref.anchor=onAnchor(value)),new Alias.Alias(ref.anchor);ref={anchor:null,node:null},sourceObjects.set(value,ref)}tagName?.startsWith("!!")&&(tagName=defaultTagPrefix+tagName.slice(2));let tagObj=findTagObject(value,tagName,schema.tags);if(!tagObj){if(value&&typeof value.toJSON=="function"&&(value=value.toJSON()),!value||typeof value!="object"){let node2=new Scalar.Scalar(value);return ref&&(ref.node=node2),node2}tagObj=value instanceof Map?schema[identity.MAP]:Symbol.iterator in Object(value)?schema[identity.SEQ]:schema[identity.MAP]}onTagObj&&(onTagObj(tagObj),delete ctx.onTagObj);let node=tagObj?.createNode?tagObj.createNode(ctx.schema,value,ctx):typeof tagObj?.nodeClass?.from=="function"?tagObj.nodeClass.from(ctx.schema,value,ctx):new Scalar.Scalar(value);return tagName?node.tag=tagName:tagObj.default||(node.tag=tagObj.tag),ref&&(ref.node=node),node}exports.createNode=createNode}});var require_Collection=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/Collection.js"(exports){"use strict";var createNode=require_createNode(),identity=require_identity(),Node11=require_Node();function collectionFromPath(schema,path,value){let v=value;for(let i=path.length-1;i>=0;--i){let k=path[i];if(typeof k=="number"&&Number.isInteger(k)&&k>=0){let a=[];a[k]=v,v=a}else v=new Map([[k,v]])}return createNode.createNode(v,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema,sourceObjects:new Map})}var isEmptyPath=path=>path==null||typeof path=="object"&&!!path[Symbol.iterator]().next().done,Collection=class extends Node11.NodeBase{constructor(type,schema){super(type),Object.defineProperty(this,"schema",{value:schema,configurable:!0,enumerable:!1,writable:!0})}clone(schema){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return schema&&(copy.schema=schema),copy.items=copy.items.map(it=>identity.isNode(it)||identity.isPair(it)?it.clone(schema):it),this.range&&(copy.range=this.range.slice()),copy}addIn(path,value){if(isEmptyPath(path))this.add(value);else{let[key,...rest]=path,node=this.get(key,!0);if(identity.isCollection(node))node.addIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}deleteIn(path){let[key,...rest]=path;if(rest.length===0)return this.delete(key);let node=this.get(key,!0);if(identity.isCollection(node))return node.deleteIn(rest);throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}getIn(path,keepScalar){let[key,...rest]=path,node=this.get(key,!0);return rest.length===0?!keepScalar&&identity.isScalar(node)?node.value:node:identity.isCollection(node)?node.getIn(rest,keepScalar):void 0}hasAllNullValues(allowScalar){return this.items.every(node=>{if(!identity.isPair(node))return!1;let n=node.value;return n==null||allowScalar&&identity.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(path){let[key,...rest]=path;if(rest.length===0)return this.has(key);let node=this.get(key,!0);return identity.isCollection(node)?node.hasIn(rest):!1}setIn(path,value){let[key,...rest]=path;if(rest.length===0)this.set(key,value);else{let node=this.get(key,!0);if(identity.isCollection(node))node.setIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}};exports.Collection=Collection;exports.collectionFromPath=collectionFromPath;exports.isEmptyPath=isEmptyPath}});var require_stringifyComment=__commonJS({"../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/stringify/stringifyComment.js"(exports){"use strict";var stringifyComment=str=>str.replace(/^(?!$)(?: $)?/gm,"#");function indentComment(comment,indent){return/^\n+$/.test(comment)?comment.substring(1):indent?comment.replace(/^(?! *$)/gm,indent):comment}var lineComment=(str,indent,comment)=>str.endsWith(`
8
8
  `)?indentComment(comment,indent):comment.includes(`
9
9
  `)?`
@@ -3,4 +3,4 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- import{explain,runJob,watchInterruptibleClones}from"./chunk-YVTQMQGV.js";import{PeerPreflightError}from"./chunk-2T4NLV3S.js";import"./chunk-GHXBU767.js";import"./chunk-DXJBMNFF.js";import{errorCode}from"./chunk-4IXYBPXG.js";import"./chunk-JHZ22Y6X.js";import"./chunk-Z5YHBDVG.js";import{parentPort,workerData}from"worker_threads";watchInterruptibleClones((clone,interruptible)=>parentPort?.postMessage({type:"clone",clone,interruptible}));runJob(workerData,event=>parentPort?.postMessage({type:"progress",event})).then(value=>parentPort?.postMessage({ok:!0,value}),err=>parentPort?.postMessage({ok:!1,message:explain(err),code:errorCode(err),...err instanceof PeerPreflightError?{peerConflicts:err.peerConflicts,next:err.next}:{}}));
6
+ import{explain,runJob,watchInterruptibleClones}from"./chunk-QSXTYZF6.js";import{PeerPreflightError}from"./chunk-Y6UMRAZ3.js";import"./chunk-GHXBU767.js";import"./chunk-3ZREUMUG.js";import{errorCode}from"./chunk-G7WALDTE.js";import"./chunk-JHZ22Y6X.js";import"./chunk-Z5YHBDVG.js";import{parentPort,workerData}from"worker_threads";watchInterruptibleClones((clone,interruptible)=>parentPort?.postMessage({type:"clone",clone,interruptible}));runJob(workerData,event=>parentPort?.postMessage({type:"progress",event})).then(value=>parentPort?.postMessage({ok:!0,value}),err=>parentPort?.postMessage({ok:!1,message:explain(err),code:errorCode(err),...err instanceof PeerPreflightError?{peerConflicts:err.peerConflicts,next:err.next}:{}}));
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
4
4
  const require = __uptideCreateRequire(import.meta.url);
5
5
  const __filename = __uptideFileURLToPath(import.meta.url);
6
6
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
7
- import{BUILD_HOST,BUILD_KEY,COMMANDS,NAME_PATTERN,VERSION_PATTERN,atomicJson,buildEvent,captureUrl,enabled,identity,isCi,readSettings,sanitizeEvent,settingsPath}from"./chunk-S5MVBT7A.js";import{ACCEPTED_KEYS,CliError,EXIT,INVOCATION,OnboardingRefusal,PRICE_DATE,UPTIDE_ACTION,UPTIDE_CONFIG_FILE,VERSION,WORKFLOW_PATH,cleanRuns,depthOf,explain,fixPreflight,foldForDisplay,generateOnboarding,listDependencies,loadUptideConfig,openPr,packageSelected,parseUptideConfig,priceFor,removeOnInterrupt,renderError,repoFacts,require_picocolors,runJob,runnable,scaffoldPack,selectLlm,snapshotFromDisk,testPack,updatePrBody}from"./chunk-YVTQMQGV.js";import{BY,PeerPreflightError,TIER_LEGEND,activePacks,baselineHeadline,baselineHealthOf,buildToolMajor,callSitesLine,compareVersions,coverageLine,createNpmFetcher,defaultCacheDir,describeTransitive,diffPackage,fixVerdict,formatFix,groupPeerBlockers,isFailure,isNativeProbeSkip,majorsBehind,migrationBody,planPackage,registeredPacks,summaryCells,typescriptAdapter,verdictOf,workerHeapMb}from"./chunk-2T4NLV3S.js";import"./chunk-GHXBU767.js";import{publishTarget}from"./chunk-DXJBMNFF.js";import{UptideError,errorCode}from"./chunk-4IXYBPXG.js";import"./chunk-JHZ22Y6X.js";import{__toESM}from"./chunk-Z5YHBDVG.js";import{readFileSync as readFileSync9}from"fs";import{basename as basename5,relative as relative3,resolve as resolve8}from"path";var CommanderError=class extends Error{constructor(exitCode,code,message){super(message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=code,this.exitCode=exitCode,this.nestedError=void 0}},InvalidArgumentError=class extends CommanderError{constructor(message){super(1,"commander.invalidArgument",message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};var Argument=class{constructor(name,description){switch(this.description=description||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,name[0]){case"<":this.required=!0,this._name=name.slice(1,-1);break;case"[":this.required=!1,this._name=name.slice(1,-1);break;default:this.required=!0,this._name=name;break}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(value,previous){return previous===this.defaultValue||!Array.isArray(previous)?[value]:(previous.push(value),previous)}default(value,description){return this.defaultValue=value,this.defaultValueDescription=description,this}argParser(fn){return this.parseArg=fn,this}choices(values){return this.argChoices=values.slice(),this.parseArg=(arg,previous)=>{if(!this.argChoices.includes(arg))throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(arg,previous):arg},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function humanReadableArgName(arg){let nameOutput=arg.name()+(arg.variadic===!0?"...":"");return arg.required?"<"+nameOutput+">":"["+nameOutput+"]"}import{EventEmitter}from"events";import childProcess from"child_process";import path from"path";import fs from"fs";import process2 from"process";import{stripVTControlCharacters as stripVTControlCharacters2}from"util";import{stripVTControlCharacters}from"util";var Help=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(contextOptions){this.helpWidth=this.helpWidth??contextOptions.helpWidth??80}visibleCommands(cmd){let visibleCommands=cmd.commands.filter(cmd2=>!cmd2._hidden),helpCommand=cmd._getHelpCommand();return helpCommand&&!helpCommand._hidden&&visibleCommands.push(helpCommand),this.sortSubcommands&&visibleCommands.sort((a,b)=>a.name().localeCompare(b.name())),visibleCommands}compareOptions(a,b){let getSortKey=option=>option.short?option.short.replace(/^-/,""):option.long.replace(/^--/,"");return getSortKey(a).localeCompare(getSortKey(b))}visibleOptions(cmd){let visibleOptions=cmd.options.filter(option=>!option.hidden),helpOption=cmd._getHelpOption();if(helpOption&&!helpOption.hidden){let removeShort=helpOption.short&&cmd._findOption(helpOption.short),removeLong=helpOption.long&&cmd._findOption(helpOption.long);!removeShort&&!removeLong?visibleOptions.push(helpOption):helpOption.long&&!removeLong?visibleOptions.push(cmd.createOption(helpOption.long,helpOption.description)):helpOption.short&&!removeShort&&visibleOptions.push(cmd.createOption(helpOption.short,helpOption.description))}return this.sortOptions&&visibleOptions.sort(this.compareOptions),visibleOptions}visibleGlobalOptions(cmd){if(!this.showGlobalOptions)return[];let globalOptions=[];for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent){let visibleOptions=ancestorCmd.options.filter(option=>!option.hidden);globalOptions.push(...visibleOptions)}return this.sortOptions&&globalOptions.sort(this.compareOptions),globalOptions}visibleArguments(cmd){return cmd._argsDescription&&cmd.registeredArguments.forEach(argument=>{argument.description=argument.description||cmd._argsDescription[argument.name()]||""}),cmd.registeredArguments.find(argument=>argument.description)?cmd.registeredArguments:[]}subcommandTerm(cmd){let args=cmd.registeredArguments.map(arg=>humanReadableArgName(arg)).join(" ");return cmd._name+(cmd._aliases[0]?"|"+cmd._aliases[0]:"")+(cmd.options.length?" [options]":"")+(args?" "+args:"")}optionTerm(option){return option.flags}argumentTerm(argument){return argument.name()}longestSubcommandTermLength(cmd,helper){return helper.visibleCommands(cmd).reduce((max,command)=>Math.max(max,this.displayWidth(helper.styleSubcommandTerm(helper.subcommandTerm(command)))),0)}longestOptionTermLength(cmd,helper){return helper.visibleOptions(cmd).reduce((max,option)=>Math.max(max,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option)))),0)}longestGlobalOptionTermLength(cmd,helper){return helper.visibleGlobalOptions(cmd).reduce((max,option)=>Math.max(max,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option)))),0)}longestArgumentTermLength(cmd,helper){return helper.visibleArguments(cmd).reduce((max,argument)=>Math.max(max,this.displayWidth(helper.styleArgumentTerm(helper.argumentTerm(argument)))),0)}commandUsage(cmd){let cmdName=cmd._name;cmd._aliases[0]&&(cmdName=cmdName+"|"+cmd._aliases[0]);let ancestorCmdNames="";for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent)ancestorCmdNames=ancestorCmd.name()+" "+ancestorCmdNames;return ancestorCmdNames+cmdName+" "+cmd.usage()}commandDescription(cmd){return cmd.description()}subcommandDescription(cmd){return cmd.summary()||cmd.description()}optionDescription(option){let extraInfo=[];if(option.argChoices&&extraInfo.push(`choices: ${option.argChoices.map(choice=>JSON.stringify(choice)).join(", ")}`),option.defaultValue!==void 0&&(option.required||option.optional||option.isBoolean()&&typeof option.defaultValue=="boolean")&&extraInfo.push(`default: ${option.defaultValueDescription||JSON.stringify(option.defaultValue)}`),option.presetArg!==void 0&&option.optional&&extraInfo.push(`preset: ${JSON.stringify(option.presetArg)}`),option.envVar!==void 0&&extraInfo.push(`env: ${option.envVar}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(", ")})`;return option.description?`${option.description} ${extraDescription}`:extraDescription}return option.description}argumentDescription(argument){let extraInfo=[];if(argument.argChoices&&extraInfo.push(`choices: ${argument.argChoices.map(choice=>JSON.stringify(choice)).join(", ")}`),argument.defaultValue!==void 0&&extraInfo.push(`default: ${argument.defaultValueDescription||JSON.stringify(argument.defaultValue)}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(", ")})`;return argument.description?`${argument.description} ${extraDescription}`:extraDescription}return argument.description}formatItemList(heading,items,helper){return items.length===0?[]:[helper.styleTitle(heading),...items,""]}groupItems(unsortedItems,visibleItems,getGroup){let result=new Map;return unsortedItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[])}),visibleItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[]),result.get(group).push(item)}),result}formatHelp(cmd,helper){let termWidth=helper.padWidth(cmd,helper),helpWidth=helper.helpWidth??80;function callFormatItem(term,description){return helper.formatItem(term,termWidth,description,helper)}let output=[`${helper.styleTitle("Usage:")} ${helper.styleUsage(helper.commandUsage(cmd))}`,""],commandDescription=helper.commandDescription(cmd);commandDescription.length>0&&(output=output.concat([helper.boxWrap(helper.styleCommandDescription(commandDescription),helpWidth),""]));let argumentList=helper.visibleArguments(cmd).map(argument=>callFormatItem(helper.styleArgumentTerm(helper.argumentTerm(argument)),helper.styleArgumentDescription(helper.argumentDescription(argument))));if(output=output.concat(this.formatItemList("Arguments:",argumentList,helper)),this.groupItems(cmd.options,helper.visibleOptions(cmd),option=>option.helpGroupHeading??"Options:").forEach((options,group)=>{let optionList=options.map(option=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option)),helper.styleOptionDescription(helper.optionDescription(option))));output=output.concat(this.formatItemList(group,optionList,helper))}),helper.showGlobalOptions){let globalOptionList=helper.visibleGlobalOptions(cmd).map(option=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option)),helper.styleOptionDescription(helper.optionDescription(option))));output=output.concat(this.formatItemList("Global Options:",globalOptionList,helper))}return this.groupItems(cmd.commands,helper.visibleCommands(cmd),sub=>sub.helpGroup()||"Commands:").forEach((commands,group)=>{let commandList=commands.map(sub=>callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub)),helper.styleSubcommandDescription(helper.subcommandDescription(sub))));output=output.concat(this.formatItemList(group,commandList,helper))}),output.join(`
7
+ import{BUILD_HOST,BUILD_KEY,COMMANDS,NAME_PATTERN,VERSION_PATTERN,atomicJson,buildEvent,captureUrl,enabled,identity,isCi,readSettings,sanitizeEvent,settingsPath}from"./chunk-S5MVBT7A.js";import{ACCEPTED_KEYS,CliError,EXIT,INVOCATION,OnboardingRefusal,PRICE_DATE,UPTIDE_ACTION,UPTIDE_CONFIG_FILE,VERSION,WORKFLOW_PATH,cleanRuns,depthOf,explain,fixPreflight,foldForDisplay,generateOnboarding,listDependencies,loadUptideConfig,openPr,packageSelected,parseUptideConfig,priceFor,removeOnInterrupt,renderError,repoFacts,require_picocolors,runJob,runnable,scaffoldPack,selectLlm,snapshotFromDisk,testPack,updatePrBody}from"./chunk-QSXTYZF6.js";import{BY,PeerPreflightError,TIER_LEGEND,activePacks,baselineHeadline,baselineHealthOf,buildToolMajor,callSitesLine,compareVersions,coverageLine,createNpmFetcher,defaultCacheDir,describeTransitive,diffPackage,fixVerdict,formatFix,groupPeerBlockers,isFailure,isNativeProbeSkip,majorsBehind,migrationBody,planPackage,registeredPacks,summaryCells,typescriptAdapter,verdictOf,workerHeapMb}from"./chunk-Y6UMRAZ3.js";import"./chunk-GHXBU767.js";import{publishTarget}from"./chunk-3ZREUMUG.js";import{UptideError,errorCode}from"./chunk-G7WALDTE.js";import"./chunk-JHZ22Y6X.js";import{__toESM}from"./chunk-Z5YHBDVG.js";import{readFileSync as readFileSync9}from"fs";import{basename as basename5,relative as relative3,resolve as resolve8}from"path";var CommanderError=class extends Error{constructor(exitCode,code,message){super(message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=code,this.exitCode=exitCode,this.nestedError=void 0}},InvalidArgumentError=class extends CommanderError{constructor(message){super(1,"commander.invalidArgument",message),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};var Argument=class{constructor(name,description){switch(this.description=description||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,name[0]){case"<":this.required=!0,this._name=name.slice(1,-1);break;case"[":this.required=!1,this._name=name.slice(1,-1);break;default:this.required=!0,this._name=name;break}this._name.endsWith("...")&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(value,previous){return previous===this.defaultValue||!Array.isArray(previous)?[value]:(previous.push(value),previous)}default(value,description){return this.defaultValue=value,this.defaultValueDescription=description,this}argParser(fn){return this.parseArg=fn,this}choices(values){return this.argChoices=values.slice(),this.parseArg=(arg,previous)=>{if(!this.argChoices.includes(arg))throw new InvalidArgumentError(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this._collectValue(arg,previous):arg},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function humanReadableArgName(arg){let nameOutput=arg.name()+(arg.variadic===!0?"...":"");return arg.required?"<"+nameOutput+">":"["+nameOutput+"]"}import{EventEmitter}from"events";import childProcess from"child_process";import path from"path";import fs from"fs";import process2 from"process";import{stripVTControlCharacters as stripVTControlCharacters2}from"util";import{stripVTControlCharacters}from"util";var Help=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(contextOptions){this.helpWidth=this.helpWidth??contextOptions.helpWidth??80}visibleCommands(cmd){let visibleCommands=cmd.commands.filter(cmd2=>!cmd2._hidden),helpCommand=cmd._getHelpCommand();return helpCommand&&!helpCommand._hidden&&visibleCommands.push(helpCommand),this.sortSubcommands&&visibleCommands.sort((a,b)=>a.name().localeCompare(b.name())),visibleCommands}compareOptions(a,b){let getSortKey=option=>option.short?option.short.replace(/^-/,""):option.long.replace(/^--/,"");return getSortKey(a).localeCompare(getSortKey(b))}visibleOptions(cmd){let visibleOptions=cmd.options.filter(option=>!option.hidden),helpOption=cmd._getHelpOption();if(helpOption&&!helpOption.hidden){let removeShort=helpOption.short&&cmd._findOption(helpOption.short),removeLong=helpOption.long&&cmd._findOption(helpOption.long);!removeShort&&!removeLong?visibleOptions.push(helpOption):helpOption.long&&!removeLong?visibleOptions.push(cmd.createOption(helpOption.long,helpOption.description)):helpOption.short&&!removeShort&&visibleOptions.push(cmd.createOption(helpOption.short,helpOption.description))}return this.sortOptions&&visibleOptions.sort(this.compareOptions),visibleOptions}visibleGlobalOptions(cmd){if(!this.showGlobalOptions)return[];let globalOptions=[];for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent){let visibleOptions=ancestorCmd.options.filter(option=>!option.hidden);globalOptions.push(...visibleOptions)}return this.sortOptions&&globalOptions.sort(this.compareOptions),globalOptions}visibleArguments(cmd){return cmd._argsDescription&&cmd.registeredArguments.forEach(argument=>{argument.description=argument.description||cmd._argsDescription[argument.name()]||""}),cmd.registeredArguments.find(argument=>argument.description)?cmd.registeredArguments:[]}subcommandTerm(cmd){let args=cmd.registeredArguments.map(arg=>humanReadableArgName(arg)).join(" ");return cmd._name+(cmd._aliases[0]?"|"+cmd._aliases[0]:"")+(cmd.options.length?" [options]":"")+(args?" "+args:"")}optionTerm(option){return option.flags}argumentTerm(argument){return argument.name()}longestSubcommandTermLength(cmd,helper){return helper.visibleCommands(cmd).reduce((max,command)=>Math.max(max,this.displayWidth(helper.styleSubcommandTerm(helper.subcommandTerm(command)))),0)}longestOptionTermLength(cmd,helper){return helper.visibleOptions(cmd).reduce((max,option)=>Math.max(max,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option)))),0)}longestGlobalOptionTermLength(cmd,helper){return helper.visibleGlobalOptions(cmd).reduce((max,option)=>Math.max(max,this.displayWidth(helper.styleOptionTerm(helper.optionTerm(option)))),0)}longestArgumentTermLength(cmd,helper){return helper.visibleArguments(cmd).reduce((max,argument)=>Math.max(max,this.displayWidth(helper.styleArgumentTerm(helper.argumentTerm(argument)))),0)}commandUsage(cmd){let cmdName=cmd._name;cmd._aliases[0]&&(cmdName=cmdName+"|"+cmd._aliases[0]);let ancestorCmdNames="";for(let ancestorCmd=cmd.parent;ancestorCmd;ancestorCmd=ancestorCmd.parent)ancestorCmdNames=ancestorCmd.name()+" "+ancestorCmdNames;return ancestorCmdNames+cmdName+" "+cmd.usage()}commandDescription(cmd){return cmd.description()}subcommandDescription(cmd){return cmd.summary()||cmd.description()}optionDescription(option){let extraInfo=[];if(option.argChoices&&extraInfo.push(`choices: ${option.argChoices.map(choice=>JSON.stringify(choice)).join(", ")}`),option.defaultValue!==void 0&&(option.required||option.optional||option.isBoolean()&&typeof option.defaultValue=="boolean")&&extraInfo.push(`default: ${option.defaultValueDescription||JSON.stringify(option.defaultValue)}`),option.presetArg!==void 0&&option.optional&&extraInfo.push(`preset: ${JSON.stringify(option.presetArg)}`),option.envVar!==void 0&&extraInfo.push(`env: ${option.envVar}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(", ")})`;return option.description?`${option.description} ${extraDescription}`:extraDescription}return option.description}argumentDescription(argument){let extraInfo=[];if(argument.argChoices&&extraInfo.push(`choices: ${argument.argChoices.map(choice=>JSON.stringify(choice)).join(", ")}`),argument.defaultValue!==void 0&&extraInfo.push(`default: ${argument.defaultValueDescription||JSON.stringify(argument.defaultValue)}`),extraInfo.length>0){let extraDescription=`(${extraInfo.join(", ")})`;return argument.description?`${argument.description} ${extraDescription}`:extraDescription}return argument.description}formatItemList(heading,items,helper){return items.length===0?[]:[helper.styleTitle(heading),...items,""]}groupItems(unsortedItems,visibleItems,getGroup){let result=new Map;return unsortedItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[])}),visibleItems.forEach(item=>{let group=getGroup(item);result.has(group)||result.set(group,[]),result.get(group).push(item)}),result}formatHelp(cmd,helper){let termWidth=helper.padWidth(cmd,helper),helpWidth=helper.helpWidth??80;function callFormatItem(term,description){return helper.formatItem(term,termWidth,description,helper)}let output=[`${helper.styleTitle("Usage:")} ${helper.styleUsage(helper.commandUsage(cmd))}`,""],commandDescription=helper.commandDescription(cmd);commandDescription.length>0&&(output=output.concat([helper.boxWrap(helper.styleCommandDescription(commandDescription),helpWidth),""]));let argumentList=helper.visibleArguments(cmd).map(argument=>callFormatItem(helper.styleArgumentTerm(helper.argumentTerm(argument)),helper.styleArgumentDescription(helper.argumentDescription(argument))));if(output=output.concat(this.formatItemList("Arguments:",argumentList,helper)),this.groupItems(cmd.options,helper.visibleOptions(cmd),option=>option.helpGroupHeading??"Options:").forEach((options,group)=>{let optionList=options.map(option=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option)),helper.styleOptionDescription(helper.optionDescription(option))));output=output.concat(this.formatItemList(group,optionList,helper))}),helper.showGlobalOptions){let globalOptionList=helper.visibleGlobalOptions(cmd).map(option=>callFormatItem(helper.styleOptionTerm(helper.optionTerm(option)),helper.styleOptionDescription(helper.optionDescription(option))));output=output.concat(this.formatItemList("Global Options:",globalOptionList,helper))}return this.groupItems(cmd.commands,helper.visibleCommands(cmd),sub=>sub.helpGroup()||"Commands:").forEach((commands,group)=>{let commandList=commands.map(sub=>callFormatItem(helper.styleSubcommandTerm(helper.subcommandTerm(sub)),helper.styleSubcommandDescription(helper.subcommandDescription(sub))));output=output.concat(this.formatItemList(group,commandList,helper))}),output.join(`
8
8
  `)}displayWidth(str){return stripVTControlCharacters(str).length}styleTitle(str){return str}styleUsage(str){return str.split(" ").map(word=>word==="[options]"?this.styleOptionText(word):word==="[command]"?this.styleSubcommandText(word):word[0]==="["||word[0]==="<"?this.styleArgumentText(word):this.styleCommandText(word)).join(" ")}styleCommandDescription(str){return this.styleDescriptionText(str)}styleOptionDescription(str){return this.styleDescriptionText(str)}styleSubcommandDescription(str){return this.styleDescriptionText(str)}styleArgumentDescription(str){return this.styleDescriptionText(str)}styleDescriptionText(str){return str}styleOptionTerm(str){return this.styleOptionText(str)}styleSubcommandTerm(str){return str.split(" ").map(word=>word==="[options]"?this.styleOptionText(word):word[0]==="["||word[0]==="<"?this.styleArgumentText(word):this.styleSubcommandText(word)).join(" ")}styleArgumentTerm(str){return this.styleArgumentText(str)}styleOptionText(str){return str}styleArgumentText(str){return str}styleSubcommandText(str){return str}styleCommandText(str){return str}padWidth(cmd,helper){return Math.max(helper.longestOptionTermLength(cmd,helper),helper.longestGlobalOptionTermLength(cmd,helper),helper.longestSubcommandTermLength(cmd,helper),helper.longestArgumentTermLength(cmd,helper))}preformatted(str){return/\n[^\S\r\n]/.test(str)}formatItem(term,termWidth,description,helper){let itemIndentStr=" ".repeat(2);if(!description)return itemIndentStr+term;let paddedTerm=term.padEnd(termWidth+term.length-helper.displayWidth(term)),spacerWidth=2,remainingWidth=(this.helpWidth??80)-termWidth-spacerWidth-2,formattedDescription;return remainingWidth<this.minWidthToWrap||helper.preformatted(description)?formattedDescription=description:formattedDescription=helper.boxWrap(description,remainingWidth).replace(/\n/g,`
9
9
  `+" ".repeat(termWidth+spacerWidth)),itemIndentStr+paddedTerm+" ".repeat(spacerWidth)+formattedDescription.replace(/\n/g,`
10
10
  ${itemIndentStr}`)}boxWrap(str,width2){if(width2<this.minWidthToWrap)return str;let rawLines=str.split(/\r\n|\n/),chunkPattern=/[\s]*[^\s]+/g,wrappedLines=[];return rawLines.forEach(line=>{let chunks=line.match(chunkPattern);if(chunks===null){wrappedLines.push("");return}let sumChunks=[chunks.shift()],sumWidth=this.displayWidth(sumChunks[0]);chunks.forEach(chunk=>{let visibleWidth=this.displayWidth(chunk);if(sumWidth+visibleWidth<=width2){sumChunks.push(chunk),sumWidth+=visibleWidth;return}wrappedLines.push(sumChunks.join(""));let nextChunk=chunk.trimStart();sumChunks=[nextChunk],sumWidth=this.displayWidth(nextChunk)}),wrappedLines.push(sumChunks.join(""))}),wrappedLines.join(`
@@ -30,11 +30,8 @@ declare const PINNED_ACTIONS: {
30
30
  * the CLI's tags and pinned by the commit of a release tag. A release cannot name its own
31
31
  * commit, so each release pins the one before it, and the release process bumps this pin.
32
32
  *
33
- * TODO: this pin (v0.7.5) is the older pull-request checker, which does not take these
34
- * inputs, so the generated workflow cannot run yet. The Uptide Action ships in the next
35
- * release (0.9.0); a follow-up pins that tag's commit here and sets `released` to true;
36
- * nothing else in the generator changes. The inputs the workflow passes are only `config`,
37
- * `mode`, `package` and `anthropic-api-key`.
33
+ * v0.9.0 is the first release that ships the Uptide Action; the inputs the workflow passes
34
+ * are only `config`, `mode`, `package` and `anthropic-api-key`.
38
35
  */
39
36
  declare const UPTIDE_ACTION: PinnedAction & {
40
37
  released: boolean;
@@ -1,4 +1,4 @@
1
- import{DEFAULT_CONFIG,DEFAULT_NODE,DEFAULT_SCHEDULE,EXECUTORS,MANUAL_SCHEDULE,MAX_CONFIG_BYTES,ONBOARDING_INPUTS,OnboardingRefusal,UPTIDE_CONFIG_FILE,UPTIDE_CONFIG_SCHEMA,UPTIDE_CONFIG_SCHEMA_URL,cronProblem,packageSelected,parseUptideConfig,repoFacts,weeklySchedule,withDefaults}from"./chunk-JGUKOKL3.js";var PINNED_ACTIONS={checkout:{repo:"actions/checkout",sha:"3d3c42e5aac5ba805825da76410c181273ba90b1",tag:"v7.0.1"},setupNode:{repo:"actions/setup-node",sha:"949feb2413d6458794dcd2491c4babbbce0c15c1",tag:"v7.1.0"},pnpm:{repo:"pnpm/action-setup",sha:"ea17c68df8912ef543352723c149a84f56e3d413",tag:"v6.1.0"}},UPTIDE_ACTION={repo:"uptide-dev/uptide",sha:"9172aece4e429af11425aa592d5fb8dd5757fd70",tag:"v0.7.5",released:!1},COREPACK_VERSION="0.36.0",usesLine=action=>`${action.repo}@${action.sha} # ${action.tag}`;var WORKFLOW_PATH=".github/workflows/uptide.yml",DOCS="https://github.com/uptide-dev/uptide/blob/main/docs";function managerLabel(m){let name=m.name==="yarn"?`Yarn ${m.flavor==="berry"?"Berry":"classic"}`:m.name,version=m.version?` ${m.version}`:"",how=m.declared?"from packageManager, run through Corepack":m.name==="pnpm"?"implied by the lockfile, set up with pnpm/action-setup":m.flavor==="berry"?"the yarnPath in .yarnrc.yml":"the version on the runner";return`${name}${version} (${how})`}var nodeInput=node=>node.file?`node-version-file: ${node.file}`:`node-version: '${node.version}'`;function setupSteps(facts){let m=facts.manager,node=nodeInput(facts.node),setupNode=cache=>[` - uses: ${usesLine(PINNED_ACTIONS.setupNode)}`," with:",` ${node}`,...cache?[` cache: ${m.name}`]:[]].join(`
1
+ import{DEFAULT_CONFIG,DEFAULT_NODE,DEFAULT_SCHEDULE,EXECUTORS,MANUAL_SCHEDULE,MAX_CONFIG_BYTES,ONBOARDING_INPUTS,OnboardingRefusal,UPTIDE_CONFIG_FILE,UPTIDE_CONFIG_SCHEMA,UPTIDE_CONFIG_SCHEMA_URL,cronProblem,packageSelected,parseUptideConfig,repoFacts,weeklySchedule,withDefaults}from"./chunk-JGUKOKL3.js";var PINNED_ACTIONS={checkout:{repo:"actions/checkout",sha:"3d3c42e5aac5ba805825da76410c181273ba90b1",tag:"v7.0.1"},setupNode:{repo:"actions/setup-node",sha:"949feb2413d6458794dcd2491c4babbbce0c15c1",tag:"v7.1.0"},pnpm:{repo:"pnpm/action-setup",sha:"ea17c68df8912ef543352723c149a84f56e3d413",tag:"v6.1.0"}},UPTIDE_ACTION={repo:"uptide-dev/uptide",sha:"2045c7dc0fcb7cd86522595de06308f154b1d8bf",tag:"v0.9.0",released:!0},COREPACK_VERSION="0.36.0",usesLine=action=>`${action.repo}@${action.sha} # ${action.tag}`;var WORKFLOW_PATH=".github/workflows/uptide.yml",DOCS="https://github.com/uptide-dev/uptide/blob/main/docs";function managerLabel(m){let name=m.name==="yarn"?`Yarn ${m.flavor==="berry"?"Berry":"classic"}`:m.name,version=m.version?` ${m.version}`:"",how=m.declared?"from packageManager, run through Corepack":m.name==="pnpm"?"implied by the lockfile, set up with pnpm/action-setup":m.flavor==="berry"?"the yarnPath in .yarnrc.yml":"the version on the runner";return`${name}${version} (${how})`}var nodeInput=node=>node.file?`node-version-file: ${node.file}`:`node-version: '${node.version}'`;function setupSteps(facts){let m=facts.manager,node=nodeInput(facts.node),setupNode=cache=>[` - uses: ${usesLine(PINNED_ACTIONS.setupNode)}`," with:",` ${node}`,...cache?[` cache: ${m.name}`]:[]].join(`
2
2
  `),corepack=enable=>[` - name: Enable Corepack for ${m.declared}`," run: |",` npm install --global corepack@${COREPACK_VERSION}`,` ${enable}`].join(`
3
3
  `);return m.declared&&m.name==="npm"?[setupNode(!0),corepack("corepack enable npm")]:m.declared?[setupNode(!1),corepack("corepack enable"),setupNode(!0)]:m.name==="pnpm"?[[` - uses: ${usesLine(PINNED_ACTIONS.pnpm)}`," with:",` version: '${m.version}'`].join(`
4
4
  `),setupNode(!0)]:[setupNode(!0)]}function renderWorkflow(facts,config){let action=[" # Reads uptide.yml, runs Uptide, opens draft pull requests and uploads the results JSON.",` - uses: ${usesLine(UPTIDE_ACTION)}`," with:",` config: ${UPTIDE_CONFIG_FILE}`," mode: ${{ inputs.mode || 'fix' }}"," package: ${{ inputs.package }}",...config.llm.enabled?[" anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}"]:[]].join(`
@@ -3,4 +3,4 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- import{GITHUB_BODY_LIMIT,publicationBlockers,publish,publishTarget}from"./chunk-DXJBMNFF.js";import"./chunk-4IXYBPXG.js";import"./chunk-JHZ22Y6X.js";import"./chunk-Z5YHBDVG.js";export{GITHUB_BODY_LIMIT,publicationBlockers,publish,publishTarget};
6
+ import{GITHUB_BODY_LIMIT,publicationBlockers,publish,publishTarget}from"./chunk-3ZREUMUG.js";import"./chunk-G7WALDTE.js";import"./chunk-JHZ22Y6X.js";import"./chunk-Z5YHBDVG.js";export{GITHUB_BODY_LIMIT,publicationBlockers,publish,publishTarget};
package/dist/worker.js CHANGED
@@ -3,4 +3,4 @@ import { fileURLToPath as __uptideFileURLToPath } from 'node:url';
3
3
  const require = __uptideCreateRequire(import.meta.url);
4
4
  const __filename = __uptideFileURLToPath(import.meta.url);
5
5
  const __dirname = __uptideFileURLToPath(new URL('.', import.meta.url));
6
- import{checkWorkspaceJob}from"./chunk-2T4NLV3S.js";import"./chunk-GHXBU767.js";import{errorCode}from"./chunk-4IXYBPXG.js";import"./chunk-JHZ22Y6X.js";import"./chunk-Z5YHBDVG.js";import{parentPort,workerData}from"worker_threads";var job=workerData;checkWorkspaceJob(job,event=>parentPort?.postMessage({type:"progress",event})).then(reports=>parentPort?.postMessage({type:"result",reports}),err=>{parentPort?.postMessage({type:"error",code:errorCode(err),message:err instanceof Error?err.message:String(err)})});
6
+ import{checkWorkspaceJob}from"./chunk-Y6UMRAZ3.js";import"./chunk-GHXBU767.js";import{errorCode}from"./chunk-G7WALDTE.js";import"./chunk-JHZ22Y6X.js";import"./chunk-Z5YHBDVG.js";import{parentPort,workerData}from"worker_threads";var job=workerData;checkWorkspaceJob(job,event=>parentPort?.postMessage({type:"progress",event})).then(reports=>parentPort?.postMessage({type:"result",reports}),err=>{parentPort?.postMessage({type:"error",code:errorCode(err),message:err instanceof Error?err.message:String(err)})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uptide",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Uptide finds what a dependency upgrade breaks in your code, migrates it, and proves it with your compiler and tests.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",