cc-safety-net 2.2.0 → 2.2.2

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.
@@ -1,9 +1,9 @@
1
1
  // cc-safety-net managed Amp plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --amp
2
- // version: 2.2.0
2
+ // version: 2.2.2
3
3
  // @bun
4
- var kw=Object.defineProperty;var Aw=(e)=>e;function Tw(e,t){this[e]=Aw.bind(null,t)}var fn=(e,t)=>{for(var n in t)kw(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Tw.bind(t,n)})};import{randomBytes as kR}from"crypto";import{appendFileSync as AR,mkdirSync as TR}from"fs";import{homedir as IR,userInfo as OR}from"os";import{isAbsolute as zR,join as Ol}from"path";var Iw=[/\bgh[pousr]_[A-Za-z0-9]{20,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,/\bglpat-[A-Za-z0-9_-]{20,}\b/g,/\bxox[abeprs]-[A-Za-z0-9-]{20,}\b/g,/\bnpm_[A-Za-z0-9_]{20,}\b/g,/\bpypi-[A-Za-z0-9_-]{20,}\b/g,/\b[rs]k_(?:live|test)_[A-Za-z0-9_]{20,}\b/g,/\bsk-[A-Za-z0-9_-]{20,}\b/g,/\bsk_[A-Za-z0-9]{20,}\b/g,/\bgsk_[A-Za-z0-9]{52,}\b/g,/\bxai-[A-Za-z0-9_-]{80,}\b/g,/\bpplx-[A-Za-z0-9_-]{20,}\b/g,/\bbastn_[A-Za-z0-9]{16,}\b/g,/\btgp_v1_[A-Za-z0-9_-]{43,}\b/g,/\bflp_[A-Za-z0-9]{10,}\b/g,/\bwfr_[A-Za-z0-9]{20,}\b/g,/\bfwp?_[A-Za-z0-9_-]{20,}\b/g,/\btp-[A-Za-z0-9_-]{20,}\b/g,/\bpsk-[A-Za-z0-9_-]{8,}-[A-Za-z0-9_-]{8,}\b/g,/\b[a-f0-9]{32}\.[A-Za-z0-9]{16}\b/g];function Tt(e){let t=e.replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_DSN|CONNECTION_STRING)=("[^"]*"|'[^']*'|[^\s]+(?:\s+[A-Z_][A-Z0-9_]*=[^\s]+)*)/gi,"$1=<redacted>").replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_(?:URL|URI|CONNECTION_STRING))=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>").replace(/\b([A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASS|KEY|CREDENTIALS)[A-Z0-9_]*)=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>");return Ow(t)}function Ow(e){let t=e.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/gi,"<redacted>").replace(/((?:(['"])(?:authorization|cookie|x-api-key|api-key)\2|(?:authorization|cookie|x-api-key|api-key))\s*:\s*)(['"])(?:\\[^\r\n]|(?!\3)[^\\\r\n])*\3/gi,"$1$3<redacted>$3").replace(/(['"]?\s*(?:authorization|cookie|x-api-key|api-key)\s*:(?!\s*(?:"<redacted>"|'<redacted>'))\s*)([^'"\r\n]+)(['"]?)/gi,"$1<redacted>$3").replace(/\b([a-z][a-z0-9+.-]*:\/\/)([^\s/:@]+):([^\s@/]+)@/gi,"$1<redacted>:<redacted>@").replace(/\b([a-z][a-z0-9+.-]*:\/\/)([^\s/@:]+)@/gi,"$1<redacted>@").replace(/(^|[\s?&;|])((?:x-amz-signature|x-goog-signature|sig|signature)=)(?:"[^"\r\n]*"|'[^'\r\n]*'|[^&#\s'"`;|<>()]*)/gi,"$1$2<redacted>").replace(/(^|\s)((?:-u|--user)(?:\s+|=))([^\s:]+):([^\s]+)/g,"$1$2<redacted>:<redacted>");for(let n of Iw)t=t.replace(n,"<redacted>");return t.replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\b/g,"<redacted>").replace(/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/g,"<redacted>")}import{lstatSync as Vh,readdirSync as gR,readFileSync as Jh,rmdirSync as hR,statSync as qh,unlinkSync as yR,utimesSync as bR,writeFileSync as vR}from"fs";import{dirname as SR,join as Kn}from"path";var Ii=30,xl=1,_l=365;function Oi(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as eR}from"os";import{dirname as jt,isAbsolute as tR,join as Ht,relative as nR,resolve as zt,sep as rR}from"path";import{lstatSync as zw,realpathSync as Nw}from"fs";import{homedir as Dw,tmpdir as $w}from"os";var Ue={realpath:(e)=>{try{return Nw(e)}catch{return null}},entryKind:(e)=>{let t=zw(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function Te(e,t=process.platform){if(t!=="win32")return e;return e.replace(/^\/([A-Za-z])(?:\/|$)/,"$1:/")}function pn(){return Te(process.env.HOME||Dw())}function It(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:pn(),tmpdir:$w(),paths:Ue}}import{closeSync as Mw,constants as zh,fstatSync as Lw,fsyncSync as jM,lstatSync as Nh,mkdirSync as HM,openSync as Ww,readdirSync as VM,readFileSync as Fw,realpathSync as zi,renameSync as qM,rmdirSync as KM,statSync as Gw,unlinkSync as YM,writeFileSync as JM}from"fs";import{isAbsolute as Dh,join as $h,normalize as Zw,parse as Bw,relative as Cl,resolve as wl,sep as Rl}from"path";var Uw=Symbol("PolicyFilesystemScope"),jw=Symbol("PolicyFilesystemTarget"),Hw=zh.O_NOFOLLOW??0;class ae extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function Ut(e,t){return{[Uw]:!0,root:wl(e),label:t}}function Mh(e,t){let n=Zw(t);if(t===""||Dh(t)||n===".."||n.startsWith(`..${Rl}`))throw new ae(e.label);return{[jw]:!0,scope:e,relativePath:n,path:$h(e.root,n)}}function Ot(e,t){let n=Cl(e.root,wl(t));return Mh(e,n)}function Di(e,t="rules policy"){let n=wl(e),r=Bw(n).dir;return Mh(Ut(r,t),Cl(r,n))}function gn(e){try{if(!Ni(e,!1).exists)return null;let n=Ww(e.path,zh.O_RDONLY|Hw);try{let r=Lw(n);if(!r.isFile())throw new ae(e.scope.label);let o=Fw(n,"utf-8"),i=Nh(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new ae(e.scope.label);return Ni(e,!1),o}finally{Mw(n)}}catch(t){Kw(e.scope.label,t)}}function Lh(e,t){if(e.path===t.path)return!0;try{if(!Ni(e,!1).exists||!Ni(t,!1).exists)return!1;return zi(e.path)===zi(t.path)}catch(n){if(n instanceof ae)throw n;throw new ae(e.scope.label)}}function Ni(e,t,n="file"){let r=Vw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(Rl);for(let i of o.keys()){let s=$h(e.scope.root,...o.slice(0,i+1)),a=Wh(s);if(!a){if(i===o.length-1&&t)return{exists:!1};return{exists:!1}}if(a.isSymbolicLink())throw new ae(e.scope.label);if(i<o.length-1&&!a.isDirectory())throw new ae(e.scope.label);if(i===o.length-1&&(n==="file"?!a.isFile():!a.isDirectory()))throw new ae(e.scope.label);qw(r,zi(s),e.scope.label)}return{exists:!0}}function Vw(e){if(!Wh(e.root))return null;if(!Gw(e.root).isDirectory())throw new ae(e.label);return zi(e.root)}function qw(e,t,n){let r=Cl(e,t);if(r===".."||r.startsWith(`..${Rl}`)||Dh(r))throw new ae(n)}function Wh(e){try{return Nh(e)}catch(t){if(Yw(t)&&t.code==="ENOENT")return null;throw t}}function Kw(e,t){if(t instanceof ae)throw t;throw new ae(e)}function Yw(e){return e instanceof Error&&"code"in e}var dt=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,El="rulebook.json",Pl=".cc-safety-net/rules";var Fh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Jw=/^[A-Za-z0-9._-]+$/,Xw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Qw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Gh=new RegExp(`^${Xw}/(${dt.source.slice(1,-1)})/${Qw}$`);function Zh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Qr(e){if(Mi(e))try{return $i(e),null}catch(t){return t instanceof Error?t.message:String(t)}return dt.test(e)?null:`Local rulebook sources must be bare names matching ${dt}: ${e}`}function $i(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Fh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let[n,r,...o]=t[3].split("/");if(!n||!Jw.test(n))throw Error(`GitHub rulebook refs must be a single path segment: ${e}`);if(!r||o.length>0||!dt.test(r))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);return{owner:t[1],repo:t[2],ref:n,path:Zh(r),name:r}}function Mi(e){return Fh.test(e)}var Uh="rule.json",Li="policy.json",oR="rule.lock";var jh=".cc-safety-net",iR="rules",Bh="cache",sR="CC_SAFETY_NET_HOME",Vt="`cc-safety-net rule sync`";function aR(e){return zt(e??process.cwd(),Pl)}function cR(e){return Ht(aR(e),Uh)}function hn(e){return e?.userConfigDir??(e?.userConfigPath?jt(e.userConfigPath):Ht(lR(),iR))}function lR(){let e=process.env[sR];return e?zt(Te(e)):Ht(eR(),jh)}function uR(e){return Ht(hn(e),Uh)}function eo(e){return Ht(jt(e),oR)}function Hh(e){let t=e.userConfigPath??uR(e),n=e.projectConfigPath??cR(e.cwd),r=dR(t,e),o=mR(n,e);return{userConfigPath:t,projectConfigPath:n,userLockPath:eo(t),projectLockPath:eo(n),userScope:r,projectScope:o,userConfigTarget:Ot(r,t),projectConfigTarget:Ot(o,n),userLockTarget:Ot(r,eo(t)),projectLockTarget:Ot(o,eo(n))}}function dR(e,t){let n=t.userConfigPath?jt(jt(zt(t.userConfigPath))):jt(zt(t.userConfigDir??hn(t)));return Ut(n,"user policy")}function mR(e,t){let n=zt(t.cwd??process.cwd()),r=zt(e),o=nR(n,r);if(o!==".."&&!o.startsWith(`..${rR}`)&&!tR(o))return Ut(n,"project policy");return Ut(jt(jt(r)),"project policy")}function kl(e,t){let n=e.digest.startsWith("sha256:")?e.digest.slice(7):e.digest;return Ht(pR(t),"rulebooks",`${fR(e)}--${n.slice(0,12)}`,El)}function Al(e,t){let n=t;return{cacheConfigDir:e,cwd:t.cwd,global:n.global}}function fR(e){return(e.kind==="github"&&e.display_ref?`${e.owner}/${e.repo}#${e.display_ref}/${e.name}`:e.spec).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"rulebook"}function pR(e){let t=e?.cacheConfigDir??hn(e),n=e;if(n&&!n.global&&n.cwd&&zt(t)===zt(n.cwd))return Ht(zt(n.cwd),jh,Bh);return Ht(jt(t),Bh)}var Il=86400000,xR=".last-prune",_R=/^\d{4}-\d{2}$/,CR=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,Kh=(e)=>Math.floor(e/Il);function wR(e){try{let t=Kn(SR(hn(e)),Li),n=JSON.parse(Jh(t,"utf-8"));return Oi(n?.audit?.retention_days)}catch{return Ii}}function Xh(e,t=()=>new Date){try{let n=t().getTime();if(!qh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=Kn(e,xR),o=qh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&Kh(o)===Kh(n))return;let i=n-wR()*Il,s=new Date(n).toISOString().slice(0,7);for(let a of Tl(e)){if(a.isDirectory()){RR(Kn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))ER(Kn(e,a.name),i)}vR(r,"",{mode:384}),bR(r,n/1000,n/1000)}catch{}}function RR(e,t,n){for(let r of Tl(e)){if(!r.isDirectory()||!_R.test(r.name))continue;let o=Kn(e,r.name);for(let i of Tl(o)){if(!i.isFile())continue;let s=CR.exec(i.name);if(!s||s[2]!==r.name)continue;let a=Date.parse(`${s[1]}T00:00:00.000Z`)+Il;if(!Number.isFinite(a)||a>=t)continue;Qh(Kn(o,i.name))}if(r.name!==n)Yh(o)}Yh(e)}function ER(e,t){try{let n=Vh(e);if(n.mtimeMs>=t)return;let r=Jh(e,"utf-8").split(`
5
- `).filter((o)=>o.trim()).map(PR);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(Vh(e).mtimeMs!==n.mtimeMs)return;Qh(e)}catch{}}function PR(e){try{let t=JSON.parse(e).ts,n=typeof t==="string"?Date.parse(t):Number.NaN;return Number.isFinite(n)?n:void 0}catch{return}}function Tl(e){try{return gR(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function Qh(e){try{yR(e)}catch{}}function Yh(e){try{hR(e)}catch{}}var NR="2.2.0",DR=1e4,$R=2000,MR=256,LR=32768;function WR(e){let t=e.trim();if(!t)return null;let n=t.replace(/[^A-Za-z0-9_.-]+/g,"_");if(n=n.replace(/^[._-]+|[._-]+$/g,"").slice(0,128),!n||n==="."||n==="..")return null;return n}function FR(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function zl(e,t,n,r,o,i={}){let s=WR(e);if(!s)return;let a=i.homeDir??ey();if(!a)return;let c=GR(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Wi(Tt(t),i.failureStage?Number.POSITIVE_INFINITY:DR),d=Wi(Tt(n),$R),f=i.toolName?Wi(Tt(i.toolName),MR):void 0,m=o===null?void 0:Wi(Tt(o),LR),p=Ol(c,FR(m?.value??null),l.slice(0,7));TR(p,{recursive:!0,mode:448});let h=Ol(p,`${l.slice(0,10)}-${s}.jsonl`),b={ts:l,id:(i.createId??(()=>kR(8).toString("hex")))(),v:NR,sessionId:s,decision:i.decision??"deny",agent:i.agent,shape:i.shape,level:i.level,configFallback:i.configFallback,toolName:f?.value,command:u.value,segment:d.value,...u.truncated||d.truncated||f?.truncated||m?.truncated?{truncated:!0}:{},reason:r,ruleId:i.ruleId,intent:i.intent,failureStage:i.failureStage,errorCode:i.errorCode,cwd:m?.value??null};AR(h,`${JSON.stringify(b)}
6
- `,{encoding:"utf-8",mode:384}),Xh(c,i.now)}catch{}}function Wi(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function ey(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||IR()||OR().homedir;return t&&zR(t)?t:null}function GR(e=ey()){return e?Ol(e,".cc-safety-net","logs"):null}function ny(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=ty(e);return{decision:"allow",command:a,segment:a,reason:"allowed",cwd:e.context.executionCwd,toolName:e.toolName,level:t.level,...t.configFallback?{configFallback:!0}:{}}}let i=t.decision.evidence.find((a)=>a.kind==="command"),s=i?.command??(r?ty(e):"");return{decision:"deny",command:s,segment:i?.segment??s,reason:t.decision.reason,cwd:e.context.executionCwd,toolName:e.toolName,level:t.level,...t.configFallback?{configFallback:!0}:{},ruleId:t.decision.ruleId,intent:t.decision.intent,failureStage:o?.stage,errorCode:o?.errorCode}}function ty(e){return"command"in e?e.command??"":""}function ry(e,t,n){if(!e)return;let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;zl(r,e.command,e.segment,e.reason,e.cwd,{homeDir:n.homeDir,decision:e.decision,agent:n.agent,shape:n.shape,level:e.level,configFallback:e.configFallback,toolName:e.toolName,ruleId:e.ruleId,intent:e.intent,failureStage:e.failureStage,errorCode:e.errorCode})}function oy(e,t,n){let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;zl(r,e.command??"",e.segment??e.command??"",e.reason,n.cwd??null,{homeDir:n.homeDir,decision:"deny",agent:n.agent,shape:n.shape,toolName:n.toolName??e.toolName,ruleId:e.ruleId,intent:e.intent})}import{accessSync as P1,constants as k1,realpathSync as KR,statSync as YR}from"fs";import{isAbsolute as Dl,relative as JR,resolve as iy,sep as XR}from"path";import{dirname as ZR,isAbsolute as BR,parse as UR,sep as jR}from"path";function qt(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Kt(e,t,n){if(qt(t))throw Error("Unsupported Windows namespace path");let r=BR(t)?VR(t):"",o=r||e;for(let i of qR(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=ZR(o);continue}let s=HR(o,i),a=n.entryKind(s),c=a==="symlink"?n.realpath(s):s;if(a==="missing"||c===null)throw Error(`Cannot resolve path component: ${s}`);o=c}return o}function HR(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${jR}${t}`}function VR(e){return UR(e).root}function qR(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function $l(e,t){if(qt(e))return;let n=t.flatMap((o)=>Nl(o));if(!n[0])return;let r=Nl(Dl(e)?e:iy(n[0],e))[0];if(!r)return;return n.some((o)=>ay(r,o))?r:void 0}function sy(e,t){if(qt(e))return;return Nl(Dl(e)?e:iy(t,e))[0]}function Nl(e){try{let t=KR(e);return YR(t).isDirectory()?[t]:[]}catch{return[]}}function ay(e,t){let n=JR(t,e);return n===""||n!==".."&&!n.startsWith(`..${XR}`)&&!Dl(n)}var Yt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",Nt="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",cy="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",ly="CC Safety Net could not analyze the command because it exceeds safe analysis limits. Simplify or split the command and retry.",Fi="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function dy(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
4
+ var Aw=Object.defineProperty;var Tw=(e)=>e;function Iw(e,t){this[e]=Tw.bind(null,t)}var fn=(e,t)=>{for(var n in t)Aw(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Iw.bind(t,n)})};import{randomBytes as AR}from"crypto";import{appendFileSync as TR,mkdirSync as IR}from"fs";import{homedir as OR,userInfo as zR}from"os";import{isAbsolute as NR,join as zl}from"path";var Ow=[/\bgh[pousr]_[A-Za-z0-9]{20,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,/\bglpat-[A-Za-z0-9_-]{20,}\b/g,/\bxox[abeprs]-[A-Za-z0-9-]{20,}\b/g,/\bnpm_[A-Za-z0-9_]{20,}\b/g,/\bpypi-[A-Za-z0-9_-]{20,}\b/g,/\b[rs]k_(?:live|test)_[A-Za-z0-9_]{20,}\b/g,/\bsk-[A-Za-z0-9_-]{20,}\b/g,/\bsk_[A-Za-z0-9]{20,}\b/g,/\bgsk_[A-Za-z0-9]{52,}\b/g,/\bxai-[A-Za-z0-9_-]{80,}\b/g,/\bpplx-[A-Za-z0-9_-]{20,}\b/g,/\bbastn_[A-Za-z0-9]{16,}\b/g,/\btgp_v1_[A-Za-z0-9_-]{43,}\b/g,/\bflp_[A-Za-z0-9]{10,}\b/g,/\bwfr_[A-Za-z0-9]{20,}\b/g,/\bfwp?_[A-Za-z0-9_-]{20,}\b/g,/\btp-[A-Za-z0-9_-]{20,}\b/g,/\bpsk-[A-Za-z0-9_-]{8,}-[A-Za-z0-9_-]{8,}\b/g,/\b[a-f0-9]{32}\.[A-Za-z0-9]{16}\b/g];function Tt(e){let t=e.replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_DSN|CONNECTION_STRING)=("[^"]*"|'[^']*'|[^\s]+(?:\s+[A-Z_][A-Z0-9_]*=[^\s]+)*)/gi,"$1=<redacted>").replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_(?:URL|URI|CONNECTION_STRING))=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>").replace(/\b([A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASS|KEY|CREDENTIALS)[A-Z0-9_]*)=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>");return zw(t)}function zw(e){let t=e.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/gi,"<redacted>").replace(/((?:(['"])(?:authorization|cookie|x-api-key|api-key)\2|(?:authorization|cookie|x-api-key|api-key))\s*:\s*)(['"])(?:\\[^\r\n]|(?!\3)[^\\\r\n])*\3/gi,"$1$3<redacted>$3").replace(/(['"]?\s*(?:authorization|cookie|x-api-key|api-key)\s*:(?!\s*(?:"<redacted>"|'<redacted>'))\s*)([^'"\r\n]+)(['"]?)/gi,"$1<redacted>$3").replace(/\b([a-z][a-z0-9+.-]*:\/\/)([^\s/:@]+):([^\s@/]+)@/gi,"$1<redacted>:<redacted>@").replace(/\b([a-z][a-z0-9+.-]*:\/\/)([^\s/@:]+)@/gi,"$1<redacted>@").replace(/(^|[\s?&;|])((?:x-amz-signature|x-goog-signature|sig|signature)=)(?:"[^"\r\n]*"|'[^'\r\n]*'|[^&#\s'"`;|<>()]*)/gi,"$1$2<redacted>").replace(/(^|\s)((?:-u|--user)(?:\s+|=))([^\s:]+):([^\s]+)/g,"$1$2<redacted>:<redacted>");for(let n of Ow)t=t.replace(n,"<redacted>");return t.replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{6,}\.[A-Za-z0-9_-]{6,}\b/g,"<redacted>").replace(/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/g,"<redacted>")}import{lstatSync as qh,readdirSync as hR,readFileSync as Xh,rmdirSync as yR,statSync as Kh,unlinkSync as bR,utimesSync as vR,writeFileSync as SR}from"fs";import{dirname as xR,join as qn}from"path";var Ii=30,_l=1,Cl=365;function Oi(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as tR}from"os";import{dirname as jt,isAbsolute as nR,join as Ht,relative as rR,resolve as zt,sep as oR}from"path";import{lstatSync as Nw,realpathSync as Dw}from"fs";import{homedir as $w,tmpdir as Mw}from"os";var Ue={realpath:(e)=>{try{return Dw(e)}catch{return null}},entryKind:(e)=>{let t=Nw(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function Te(e,t=process.platform){if(t!=="win32")return e;return e.replace(/^\/([A-Za-z])(?:\/|$)/,"$1:/")}function pn(){return Te(process.env.HOME||$w())}function It(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:pn(),tmpdir:Mw(),paths:Ue}}import{closeSync as Lw,constants as Nh,fstatSync as Ww,fsyncSync as HM,lstatSync as Dh,mkdirSync as VM,openSync as Fw,readdirSync as qM,readFileSync as Gw,realpathSync as zi,renameSync as KM,rmdirSync as YM,statSync as Zw,unlinkSync as JM,writeFileSync as XM}from"fs";import{isAbsolute as $h,join as Mh,normalize as Bw,parse as Uw,relative as wl,resolve as Rl,sep as El}from"path";var jw=Symbol("PolicyFilesystemScope"),Hw=Symbol("PolicyFilesystemTarget"),Vw=Nh.O_NOFOLLOW??0;class ae extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function Ut(e,t){return{[jw]:!0,root:Rl(e),label:t}}function Lh(e,t){let n=Bw(t);if(t===""||$h(t)||n===".."||n.startsWith(`..${El}`))throw new ae(e.label);return{[Hw]:!0,scope:e,relativePath:n,path:Mh(e.root,n)}}function Ot(e,t){let n=wl(e.root,Rl(t));return Lh(e,n)}function Di(e,t="rules policy"){let n=Rl(e),r=Uw(n).dir;return Lh(Ut(r,t),wl(r,n))}function gn(e){try{if(!Ni(e,!1).exists)return null;let n=Fw(e.path,Nh.O_RDONLY|Vw);try{let r=Ww(n);if(!r.isFile())throw new ae(e.scope.label);let o=Gw(n,"utf-8"),i=Dh(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new ae(e.scope.label);return Ni(e,!1),o}finally{Lw(n)}}catch(t){Yw(e.scope.label,t)}}function Wh(e,t){if(e.path===t.path)return!0;try{if(!Ni(e,!1).exists||!Ni(t,!1).exists)return!1;return zi(e.path)===zi(t.path)}catch(n){if(n instanceof ae)throw n;throw new ae(e.scope.label)}}function Ni(e,t,n="file"){let r=qw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(El);for(let i of o.keys()){let s=Mh(e.scope.root,...o.slice(0,i+1)),a=Fh(s);if(!a){if(i===o.length-1&&t)return{exists:!1};return{exists:!1}}if(a.isSymbolicLink())throw new ae(e.scope.label);if(i<o.length-1&&!a.isDirectory())throw new ae(e.scope.label);if(i===o.length-1&&(n==="file"?!a.isFile():!a.isDirectory()))throw new ae(e.scope.label);Kw(r,zi(s),e.scope.label)}return{exists:!0}}function qw(e){if(!Fh(e.root))return null;if(!Zw(e.root).isDirectory())throw new ae(e.label);return zi(e.root)}function Kw(e,t,n){let r=wl(e,t);if(r===".."||r.startsWith(`..${El}`)||$h(r))throw new ae(n)}function Fh(e){try{return Dh(e)}catch(t){if(Jw(t)&&t.code==="ENOENT")return null;throw t}}function Yw(e,t){if(t instanceof ae)throw t;throw new ae(e)}function Jw(e){return e instanceof Error&&"code"in e}var dt=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,Pl="rulebook.json",kl=".cc-safety-net/rules";var Gh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Xw=/^[A-Za-z0-9._-]+$/,Qw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),eR="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Zh=new RegExp(`^${Qw}/(${dt.source.slice(1,-1)})/${eR}$`);function Bh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Qr(e){if(Mi(e))try{return $i(e),null}catch(t){return t instanceof Error?t.message:String(t)}return dt.test(e)?null:`Local rulebook sources must be bare names matching ${dt}: ${e}`}function $i(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Gh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let[n,r,...o]=t[3].split("/");if(!n||!Xw.test(n))throw Error(`GitHub rulebook refs must be a single path segment: ${e}`);if(!r||o.length>0||!dt.test(r))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);return{owner:t[1],repo:t[2],ref:n,path:Bh(r),name:r}}function Mi(e){return Gh.test(e)}var jh="rule.json",Li="policy.json",iR="rule.lock";var Hh=".cc-safety-net",sR="rules",Uh="cache",aR="CC_SAFETY_NET_HOME",Vt="`cc-safety-net rule sync`";function cR(e){return zt(e??process.cwd(),kl)}function lR(e){return Ht(cR(e),jh)}function hn(e){return e?.userConfigDir??(e?.userConfigPath?jt(e.userConfigPath):Ht(uR(),sR))}function uR(){let e=process.env[aR];return e?zt(Te(e)):Ht(tR(),Hh)}function dR(e){return Ht(hn(e),jh)}function eo(e){return Ht(jt(e),iR)}function Vh(e){let t=e.userConfigPath??dR(e),n=e.projectConfigPath??lR(e.cwd),r=mR(t,e),o=fR(n,e);return{userConfigPath:t,projectConfigPath:n,userLockPath:eo(t),projectLockPath:eo(n),userScope:r,projectScope:o,userConfigTarget:Ot(r,t),projectConfigTarget:Ot(o,n),userLockTarget:Ot(r,eo(t)),projectLockTarget:Ot(o,eo(n))}}function mR(e,t){let n=t.userConfigPath?jt(jt(zt(t.userConfigPath))):jt(zt(t.userConfigDir??hn(t)));return Ut(n,"user policy")}function fR(e,t){let n=zt(t.cwd??process.cwd()),r=zt(e),o=rR(n,r);if(o!==".."&&!o.startsWith(`..${oR}`)&&!nR(o))return Ut(n,"project policy");return Ut(jt(jt(r)),"project policy")}function Al(e,t){let n=e.digest.startsWith("sha256:")?e.digest.slice(7):e.digest;return Ht(gR(t),"rulebooks",`${pR(e)}--${n.slice(0,12)}`,Pl)}function Tl(e,t){let n=t;return{cacheConfigDir:e,cwd:t.cwd,global:n.global}}function pR(e){return(e.kind==="github"&&e.display_ref?`${e.owner}/${e.repo}#${e.display_ref}/${e.name}`:e.spec).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"rulebook"}function gR(e){let t=e?.cacheConfigDir??hn(e),n=e;if(n&&!n.global&&n.cwd&&zt(t)===zt(n.cwd))return Ht(zt(n.cwd),Hh,Uh);return Ht(jt(t),Uh)}var Ol=86400000,_R=".last-prune",CR=/^\d{4}-\d{2}$/,wR=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,Yh=(e)=>Math.floor(e/Ol);function RR(e){try{let t=qn(xR(hn(e)),Li),n=JSON.parse(Xh(t,"utf-8"));return Oi(n?.audit?.retention_days)}catch{return Ii}}function Qh(e,t=()=>new Date){try{let n=t().getTime();if(!Kh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=qn(e,_R),o=Kh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&Yh(o)===Yh(n))return;let i=n-RR()*Ol,s=new Date(n).toISOString().slice(0,7);for(let a of Il(e)){if(a.isDirectory()){ER(qn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))PR(qn(e,a.name),i)}SR(r,"",{mode:384}),vR(r,n/1000,n/1000)}catch{}}function ER(e,t,n){for(let r of Il(e)){if(!r.isDirectory()||!CR.test(r.name))continue;let o=qn(e,r.name);for(let i of Il(o)){if(!i.isFile())continue;let s=wR.exec(i.name);if(!s||s[2]!==r.name)continue;let a=Date.parse(`${s[1]}T00:00:00.000Z`)+Ol;if(!Number.isFinite(a)||a>=t)continue;ey(qn(o,i.name))}if(r.name!==n)Jh(o)}Jh(e)}function PR(e,t){try{let n=qh(e);if(n.mtimeMs>=t)return;let r=Xh(e,"utf-8").split(`
5
+ `).filter((o)=>o.trim()).map(kR);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(qh(e).mtimeMs!==n.mtimeMs)return;ey(e)}catch{}}function kR(e){try{let t=JSON.parse(e).ts,n=typeof t==="string"?Date.parse(t):Number.NaN;return Number.isFinite(n)?n:void 0}catch{return}}function Il(e){try{return hR(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function ey(e){try{bR(e)}catch{}}function Jh(e){try{yR(e)}catch{}}var DR="2.2.2",$R=1e4,MR=2000,LR=256,WR=32768;function FR(e){let t=e.trim();if(!t)return null;let n=t.replace(/[^A-Za-z0-9_.-]+/g,"_");if(n=n.replace(/^[._-]+|[._-]+$/g,"").slice(0,128),!n||n==="."||n==="..")return null;return n}function GR(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Nl(e,t,n,r,o,i={}){let s=FR(e);if(!s)return;let a=i.homeDir??ty();if(!a)return;let c=ZR(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Wi(Tt(t),i.failureStage?Number.POSITIVE_INFINITY:$R),d=Wi(Tt(n),MR),f=i.toolName?Wi(Tt(i.toolName),LR):void 0,m=o===null?void 0:Wi(Tt(o),WR),p=zl(c,GR(m?.value??null),l.slice(0,7));IR(p,{recursive:!0,mode:448});let h=zl(p,`${l.slice(0,10)}-${s}.jsonl`),b={ts:l,id:(i.createId??(()=>AR(8).toString("hex")))(),v:DR,sessionId:s,decision:i.decision??"deny",agent:i.agent,shape:i.shape,level:i.level,configFallback:i.configFallback,toolName:f?.value,command:u.value,segment:d.value,...u.truncated||d.truncated||f?.truncated||m?.truncated?{truncated:!0}:{},reason:r,ruleId:i.ruleId,intent:i.intent,failureStage:i.failureStage,errorCode:i.errorCode,cwd:m?.value??null};TR(h,`${JSON.stringify(b)}
6
+ `,{encoding:"utf-8",mode:384}),Qh(c,i.now)}catch{}}function Wi(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function ty(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||OR()||zR().homedir;return t&&NR(t)?t:null}function ZR(e=ty()){return e?zl(e,".cc-safety-net","logs"):null}function ry(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=ny(e);return{decision:"allow",command:a,segment:a,reason:"allowed",cwd:e.context.executionCwd,toolName:e.toolName,level:t.level,...t.configFallback?{configFallback:!0}:{}}}let i=t.decision.evidence.find((a)=>a.kind==="command"),s=i?.command??(r?ny(e):"");return{decision:"deny",command:s,segment:i?.segment??s,reason:t.decision.reason,cwd:e.context.executionCwd,toolName:e.toolName,level:t.level,...t.configFallback?{configFallback:!0}:{},ruleId:t.decision.ruleId,intent:t.decision.intent,failureStage:o?.stage,errorCode:o?.errorCode}}function ny(e){return"command"in e?e.command??"":""}function oy(e,t,n){if(!e)return;let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Nl(r,e.command,e.segment,e.reason,e.cwd,{homeDir:n.homeDir,decision:e.decision,agent:n.agent,shape:n.shape,level:e.level,configFallback:e.configFallback,toolName:e.toolName,ruleId:e.ruleId,intent:e.intent,failureStage:e.failureStage,errorCode:e.errorCode})}function iy(e,t,n){let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Nl(r,e.command??"",e.segment??e.command??"",e.reason,n.cwd??null,{homeDir:n.homeDir,decision:"deny",agent:n.agent,shape:n.shape,toolName:n.toolName??e.toolName,ruleId:e.ruleId,intent:e.intent})}import{accessSync as k1,constants as A1,realpathSync as YR,statSync as JR}from"fs";import{isAbsolute as $l,relative as XR,resolve as sy,sep as QR}from"path";import{dirname as BR,isAbsolute as UR,parse as jR,sep as HR}from"path";function qt(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Kt(e,t,n){if(qt(t))throw Error("Unsupported Windows namespace path");let r=UR(t)?qR(t):"",o=r||e;for(let i of KR(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=BR(o);continue}let s=VR(o,i),a=n.entryKind(s),c=a==="symlink"?n.realpath(s):s;if(a==="missing"||c===null)throw Error(`Cannot resolve path component: ${s}`);o=c}return o}function VR(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${HR}${t}`}function qR(e){return jR(e).root}function KR(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Ml(e,t){if(qt(e))return;let n=t.flatMap((o)=>Dl(o));if(!n[0])return;let r=Dl($l(e)?e:sy(n[0],e))[0];if(!r)return;return n.some((o)=>cy(r,o))?r:void 0}function ay(e,t){if(qt(e))return;return Dl($l(e)?e:sy(t,e))[0]}function Dl(e){try{let t=YR(e);return JR(t).isDirectory()?[t]:[]}catch{return[]}}function cy(e,t){let n=XR(t,e);return n===""||n!==".."&&!n.startsWith(`..${QR}`)&&!$l(n)}var Yt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",Nt="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",ly="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",uy="CC Safety Net could not analyze the command because it exceeds safe analysis limits. Simplify or split the command and retry.",Fi="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function my(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
7
7
 
8
8
  Reason: ${s(t)}`;if(e.ruleId)a+=`
9
9
 
@@ -11,57 +11,57 @@ Rule: ${e.ruleId}`;if(o)a+=`
11
11
 
12
12
  Tool: ${o}`;if(n){let c=s(n);a+=`
13
13
 
14
- Command: ${uy(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
14
+ Command: ${dy(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
15
15
 
16
- Segment: ${uy(c,i)}`}if(e.configWarning)a+=`
16
+ Segment: ${dy(c,i)}`}if(e.configWarning)a+=`
17
17
 
18
18
  Config warning: ${s(e.configWarning)}`;return a+=`
19
19
 
20
- ${QR(e.intent??"manual_only")}`,a}function QR(e){switch(e){case"hard_stop":return"Do not retry this operation or attempt any workaround (other tools, flags, or paths). Report the block to the user and continue with the rest of the task.";case"use_alternative":return"Do not retry the blocked form. Continue the task using the safer alternative described above.";case"scope_down":return"Retry with a narrower, explicit target as described above. Escalate to the user if the broad operation is truly required.";case"manual_only":return"If this operation is truly needed, ask the user for explicit permission and have them run the command manually.";case"stop_and_explain":return"Do not brute-force variants. Simplify or restructure the command so it can be analyzed, or report the block to the user."}}function uy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function my(e,t){if(e.decision.kind!=="deny")return;let n=t.includeEvidence?e.decision.evidence.find((r)=>r.kind==="command"):void 0;return{reason:e.decision.reason,ruleId:e.decision.ruleId,intent:e.decision.intent,command:n?.command,segment:n?.segment,toolName:t.toolName,...e.configFallback?{configWarning:e.configFallback.reason}:{}}}function fy(e={}){return{reason:Fi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function py(e){return dy({...e,redact:Tt})}function gy(e){return Tt(e instanceof Error?e.message:String(e))}import{basename as eE,dirname as tE,join as Ml}from"path";var Yn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class be extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function to(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function yn(e){return{...to(),environment:e}}var Gi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_HOME","GROK_HOME","HOME","KIMI_CODE_HOME","KIMI_SHARE_DIR","OPENCODE_CONFIG","OPENCODE_CONFIG_DIR","PI_CODING_AGENT_DIR","ProgramData","TMPDIR","XDG_CONFIG_HOME","XDG_DATA_HOME"]);function Zi(e,t){return Ll(e,0,t)}function Ll(e,t,n){let r="",o=0;while(o<e.length){if(e[o]!=="$"){r+=e[o],o++;continue}if(e[o+1]==="{"){let s=Wl(e,o+2),a=nE(e,o,t);if(a===null){if(Gi.has(s))throw new be;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=rE(c,t,n),o=a+1;continue}let i=Wl(e,o+1);if(!i){r+="$",o++;continue}r+=Fl(i,n)??`$${i}`,o+=i.length+1}return r}function nE(e,t,n){let r=1;for(let o=t+2;o<e.length;o++){if(e[o]==="\\"){o++;continue}if(e[o]==="$"&&e[o+1]==="{"){if(r++,n+r>Yn.maxEnvironmentExpansionDepth)throw new be;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function rE(e,t,n){let r=e.slice(2,-1),o=Wl(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return Fl(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Gi.has(o))throw new be;return e}if(!Gi.has(o))return e;if(s.endsWith("="))throw new be;let a=Fl(o,n),c=s.startsWith(":")?a!==null&&a!=="":a!==null;if(s.endsWith("?")&&!c)throw new be;if(s.endsWith("-")||s.endsWith("?"))return c?a??"":Ll(i.slice(s.length),t+1,n);return c?Ll(i.slice(s.length),t+1,n):""}function Wl(e,t){if(!/[A-Za-z_]/.test(e[t]??""))return"";let n=t+1;while(/[A-Za-z0-9_]/.test(e[n]??""))n++;return e.slice(t,n)}function Y(e,t,n=to()){if(!e)return e;let r=n.resolvedPaths.get(e);if(r!==void 0)return r;let o=[],i=e;while(!0){if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(i),n.realpathAttempts>Yn.maxRealpathAttempts||n.processedCandidateBytes>Yn.maxProcessedCandidateBytes)throw new be;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:Ml(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=tE(i);if(a===i){let c=o.length===0?i:Ml(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=Yn.maxMissingSuffixComponents){let c=Ml(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(eE(i)),i=a}}function hy(e,t,n){let r=n.resolvedPaths.get(e);if(r!==void 0)return r;if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(e),n.realpathAttempts>Yn.maxRealpathAttempts||n.processedCandidateBytes>Yn.maxProcessedCandidateBytes)throw new be;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function Fl(e,t){if(!Gi.has(e))return null;if(e==="HOME")return t.env.get("HOME")??t.home;return t.env.get(e)??null}function N(e){return e.provenance==="command-substitution"?e.raw:e.text}function Jn(e,t){return e==="posix"?t:j(t.map((n)=>n.text))}function Bi(e,t){return e&&e.provenance!=="unknown"?e.provenance==="literal":!/[$`*?[\]]/.test(t)}function j(e){return e.map((t)=>({kind:"word",text:t,raw:t,span:{start:0,end:0},provenance:"unknown",quoted:!1,parts:[]}))}import{existsSync as Ul,lstatSync as sE,readFileSync as Vi,realpathSync as oo,statSync as ro}from"fs";import{dirname as jl,isAbsolute as Hl,join as qi,resolve as Ki}from"path";var Gl=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],oE=new Set(Gl);var yy=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),Ui=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),iE=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Zl(e){return oE.has(e)}function no(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Bl(e){return Zl(e)||yy.has(e)||Ui.has(e)||no(e)}function je(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function ji(e,t){let n=je("GIT_CONFIG_COUNT",e,t);if(n===void 0)return{state:"absent"};if(n==="")return{state:"valid",count:0};if(!/^\d+$/.test(n))return{state:"invalid"};let r=Number(n);return Number.isSafeInteger(r)&&r<=1024?{state:"valid",count:r}:{state:"invalid"}}function Hi(e,t,n){let o=e.match(iE)?.[1];if(!o||!Bl(o))return null;let i=e.indexOf("=");return{name:o,value:`${je(o,t,n)??""}${e.slice(i+1)}`}}function by(e){return Sy(e,Ui)}function vy(e){return Sy(e,yy)}function Sy(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var mt=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function Cy(e,t){return Gl.some((n)=>t?.has(n)||e.has(n))}function wy(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=oo(Ki(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Py(n))return{gitCwd:null,hasExplicitGitContext:!1};let r=!1,o=1;while(o<e.length){let i=e[o];if(!i)break;if(i==="--")break;if(!i.startsWith("-"))break;if(i==="-C"){let s=e[o+1];if(!s)return{gitCwd:null,hasExplicitGitContext:r};let a=_y(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=_y(n,i.slice(2));if(!s)return{gitCwd:null,hasExplicitGitContext:r};n=s,o++;continue}if(i==="--git-dir"||i==="--work-tree"){r=!0,o+=2;continue}if(i.startsWith("--git-dir=")||i.startsWith("--work-tree=")){r=!0,o++;continue}if(mt.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function Ry(e){let t=SE(e);if(!t)return!1;try{let n=sE(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=Vl(t);if(!r?.commonDir)return!1;if(!lE(r.gitDir,t))return!1;return uE(r.gitDir,jl(t))}catch{return!1}}function Vl(e){try{let t=aE(e);if(!t)return null;let n=oo(Hl(t)?t:Ki(jl(e),t));if(!ro(n).isDirectory())return null;return{gitDir:n,commonDir:cE(n)}}catch{return null}}function aE(e){let t=Vi(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!t.startsWith("gitdir:"))return null;return t.slice(7).trim()||null}function cE(e){try{let t=Vi(qi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=oo(Hl(t)?t:Ki(e,t));return ro(n).isDirectory()?n:null}catch{return null}}function lE(e,t){let n=dE(e);return n===null?!1:Ey(e,n,t)}function uE(e,t){let n=mE(e);return n===null?!0:Ey(e,n,t)}function dE(e){let t=qi(e,"gitdir");if(!Ul(t))return null;let n=Vi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function mE(e){let t=qi(e,"config.worktree");return Ul(t)?yE(t):null}function Ey(e,t,n){return pE(fE(e,t),n)}function fE(e,t){return Hl(t)?t:Ki(e,t)}function pE(e,t){try{return gE(e,t)}catch{return!1}}function gE(e,t){try{let n=ro(e),r=ro(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return xy(e)===xy(t)}function xy(e){return hE(oo.native(e))}function hE(e){let t=e.replace(/^\\\\\?\\UNC\\/i,"//").replace(/^\\\\\?\\/i,"");if(t=t.replace(/\\/g,"/"),t.length>1&&t.endsWith("/"))t=t.slice(0,-1);return process.platform==="win32"?t.toLowerCase():t}function yE(e){let t=Vi(e,"utf-8"),n=!1,r=null;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;if(i.startsWith("[")){n=/^\[core\]$/i.test(i);continue}if(!n)continue;let s=i.match(/^worktree\s*=\s*(.*)$/i);if(s)r=bE(s[1]??"")}return r}function bE(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return vE(t.slice(1,-1))}function vE(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(r!=="\\"){t+=r;continue}let o=e[n+1];if(o===void 0){t+=r;continue}switch(o){case"\\":case'"':t+=o;break;case"n":t+=`
21
- `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function _y(e,t){try{let n=Kt(e,t,Ue);return Py(n)?n:null}catch{return null}}function Py(e){try{return ro(e).isDirectory()}catch{return!1}}function SE(e){try{return io(oo(e))}catch{return null}}function io(e){let t=e;while(!0){let n=qi(t,".git");if(Ul(n))return n;let r=jl(t);if(r===t)return null;t=r}}function ql(e,t){return{value:e,work:t}}function C(e,t){if(e.work)e.work.units=Math.min(Number.MAX_SAFE_INTEGER,e.work.units+1);return e.value[t]}function ce(e){return e.value.length}function so(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Ie(e,t){so(e,t)}function bn(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t===95||t>=97&&t<=122}function re(e){if(!e)return!1;let t=e.charCodeAt(0);return t===9||t===10||t===11||t===12||t===13||t===32||t===160||t===65279||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288}function Kl(e){return e===`
20
+ ${eE(e.intent??"manual_only")}`,a}function eE(e){switch(e){case"hard_stop":return"Do not retry this operation or attempt any workaround (other tools, flags, or paths). Report the block to the user and continue with the rest of the task.";case"use_alternative":return"Do not retry the blocked form. Continue the task using the safer alternative described above.";case"scope_down":return"Retry with a narrower, explicit target as described above. Escalate to the user if the broad operation is truly required.";case"manual_only":return"If this operation is truly needed, ask the user for explicit permission and have them run the command manually.";case"stop_and_explain":return"Do not brute-force variants. Simplify or restructure the command so it can be analyzed, or report the block to the user."}}function dy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function fy(e,t){if(e.decision.kind!=="deny")return;let n=t.includeEvidence?e.decision.evidence.find((r)=>r.kind==="command"):void 0;return{reason:e.decision.reason,ruleId:e.decision.ruleId,intent:e.decision.intent,command:n?.command,segment:n?.segment,toolName:t.toolName,...e.configFallback?{configWarning:e.configFallback.reason}:{}}}function py(e={}){return{reason:Fi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function gy(e){return my({...e,redact:Tt})}function hy(e){return Tt(e instanceof Error?e.message:String(e))}import{basename as tE,dirname as nE,join as Ll}from"path";var Kn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class be extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function to(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function yn(e){return{...to(),environment:e}}var Gi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_HOME","GROK_HOME","HOME","KIMI_CODE_HOME","KIMI_SHARE_DIR","OPENCODE_CONFIG","OPENCODE_CONFIG_DIR","PI_CODING_AGENT_DIR","ProgramData","TMPDIR","XDG_CONFIG_HOME","XDG_DATA_HOME"]);function Zi(e,t){return Wl(e,0,t)}function Wl(e,t,n){let r="",o=0;while(o<e.length){if(e[o]!=="$"){r+=e[o],o++;continue}if(e[o+1]==="{"){let s=Fl(e,o+2),a=rE(e,o,t);if(a===null){if(Gi.has(s))throw new be;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=oE(c,t,n),o=a+1;continue}let i=Fl(e,o+1);if(!i){r+="$",o++;continue}r+=Gl(i,n)??`$${i}`,o+=i.length+1}return r}function rE(e,t,n){let r=1;for(let o=t+2;o<e.length;o++){if(e[o]==="\\"){o++;continue}if(e[o]==="$"&&e[o+1]==="{"){if(r++,n+r>Kn.maxEnvironmentExpansionDepth)throw new be;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function oE(e,t,n){let r=e.slice(2,-1),o=Fl(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return Gl(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Gi.has(o))throw new be;return e}if(!Gi.has(o))return e;if(s.endsWith("="))throw new be;let a=Gl(o,n),c=s.startsWith(":")?a!==null&&a!=="":a!==null;if(s.endsWith("?")&&!c)throw new be;if(s.endsWith("-")||s.endsWith("?"))return c?a??"":Wl(i.slice(s.length),t+1,n);return c?Wl(i.slice(s.length),t+1,n):""}function Fl(e,t){if(!/[A-Za-z_]/.test(e[t]??""))return"";let n=t+1;while(/[A-Za-z0-9_]/.test(e[n]??""))n++;return e.slice(t,n)}function Y(e,t,n=to()){if(!e)return e;let r=n.resolvedPaths.get(e);if(r!==void 0)return r;let o=[],i=e;while(!0){if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(i),n.realpathAttempts>Kn.maxRealpathAttempts||n.processedCandidateBytes>Kn.maxProcessedCandidateBytes)throw new be;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:Ll(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=nE(i);if(a===i){let c=o.length===0?i:Ll(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=Kn.maxMissingSuffixComponents){let c=Ll(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(tE(i)),i=a}}function yy(e,t,n){let r=n.resolvedPaths.get(e);if(r!==void 0)return r;if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(e),n.realpathAttempts>Kn.maxRealpathAttempts||n.processedCandidateBytes>Kn.maxProcessedCandidateBytes)throw new be;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function Gl(e,t){if(!Gi.has(e))return null;if(e==="HOME")return t.env.get("HOME")??t.home;return t.env.get(e)??null}function N(e){return e.provenance==="command-substitution"?e.raw:e.text}function Yn(e,t){return e==="posix"?t:j(t.map((n)=>n.text))}function Bi(e,t){return e&&e.provenance!=="unknown"?e.provenance==="literal":!/[$`*?[\]]/.test(t)}function j(e){return e.map((t)=>({kind:"word",text:t,raw:t,span:{start:0,end:0},provenance:"unknown",quoted:!1,parts:[]}))}import{existsSync as jl,lstatSync as aE,readFileSync as Vi,realpathSync as oo,statSync as ro}from"fs";import{dirname as Hl,isAbsolute as Vl,join as qi,resolve as Ki}from"path";var Zl=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],iE=new Set(Zl);var by=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),Ui=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),sE=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Bl(e){return iE.has(e)}function no(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Ul(e){return Bl(e)||by.has(e)||Ui.has(e)||no(e)}function je(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function ji(e,t){let n=je("GIT_CONFIG_COUNT",e,t);if(n===void 0)return{state:"absent"};if(n==="")return{state:"valid",count:0};if(!/^\d+$/.test(n))return{state:"invalid"};let r=Number(n);return Number.isSafeInteger(r)&&r<=1024?{state:"valid",count:r}:{state:"invalid"}}function Hi(e,t,n){let o=e.match(sE)?.[1];if(!o||!Ul(o))return null;let i=e.indexOf("=");return{name:o,value:`${je(o,t,n)??""}${e.slice(i+1)}`}}function vy(e){return xy(e,Ui)}function Sy(e){return xy(e,by)}function xy(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var mt=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function wy(e,t){return Zl.some((n)=>t?.has(n)||e.has(n))}function Ry(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=oo(Ki(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!ky(n))return{gitCwd:null,hasExplicitGitContext:!1};let r=!1,o=1;while(o<e.length){let i=e[o];if(!i)break;if(i==="--")break;if(!i.startsWith("-"))break;if(i==="-C"){let s=e[o+1];if(!s)return{gitCwd:null,hasExplicitGitContext:r};let a=Cy(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=Cy(n,i.slice(2));if(!s)return{gitCwd:null,hasExplicitGitContext:r};n=s,o++;continue}if(i==="--git-dir"||i==="--work-tree"){r=!0,o+=2;continue}if(i.startsWith("--git-dir=")||i.startsWith("--work-tree=")){r=!0,o++;continue}if(mt.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function Ey(e){let t=xE(e);if(!t)return!1;try{let n=aE(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=ql(t);if(!r?.commonDir)return!1;if(!uE(r.gitDir,t))return!1;return dE(r.gitDir,Hl(t))}catch{return!1}}function ql(e){try{let t=cE(e);if(!t)return null;let n=oo(Vl(t)?t:Ki(Hl(e),t));if(!ro(n).isDirectory())return null;return{gitDir:n,commonDir:lE(n)}}catch{return null}}function cE(e){let t=Vi(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!t.startsWith("gitdir:"))return null;return t.slice(7).trim()||null}function lE(e){try{let t=Vi(qi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=oo(Vl(t)?t:Ki(e,t));return ro(n).isDirectory()?n:null}catch{return null}}function uE(e,t){let n=mE(e);return n===null?!1:Py(e,n,t)}function dE(e,t){let n=fE(e);return n===null?!0:Py(e,n,t)}function mE(e){let t=qi(e,"gitdir");if(!jl(t))return null;let n=Vi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function fE(e){let t=qi(e,"config.worktree");return jl(t)?bE(t):null}function Py(e,t,n){return gE(pE(e,t),n)}function pE(e,t){return Vl(t)?t:Ki(e,t)}function gE(e,t){try{return hE(e,t)}catch{return!1}}function hE(e,t){try{let n=ro(e),r=ro(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return _y(e)===_y(t)}function _y(e){return yE(oo.native(e))}function yE(e){let t=e.replace(/^\\\\\?\\UNC\\/i,"//").replace(/^\\\\\?\\/i,"");if(t=t.replace(/\\/g,"/"),t.length>1&&t.endsWith("/"))t=t.slice(0,-1);return process.platform==="win32"?t.toLowerCase():t}function bE(e){let t=Vi(e,"utf-8"),n=!1,r=null;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;if(i.startsWith("[")){n=/^\[core\]$/i.test(i);continue}if(!n)continue;let s=i.match(/^worktree\s*=\s*(.*)$/i);if(s)r=vE(s[1]??"")}return r}function vE(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return SE(t.slice(1,-1))}function SE(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(r!=="\\"){t+=r;continue}let o=e[n+1];if(o===void 0){t+=r;continue}switch(o){case"\\":case'"':t+=o;break;case"n":t+=`
21
+ `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function Cy(e,t){try{let n=Kt(e,t,Ue);return ky(n)?n:null}catch{return null}}function ky(e){try{return ro(e).isDirectory()}catch{return!1}}function xE(e){try{return io(oo(e))}catch{return null}}function io(e){let t=e;while(!0){let n=qi(t,".git");if(jl(n))return n;let r=Hl(t);if(r===t)return null;t=r}}function Kl(e,t){return{value:e,work:t}}function C(e,t){if(e.work)e.work.units=Math.min(Number.MAX_SAFE_INTEGER,e.work.units+1);return e.value[t]}function ce(e){return e.value.length}function so(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Ie(e,t){so(e,t)}function bn(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t===95||t>=97&&t<=122}function re(e){if(!e)return!1;let t=e.charCodeAt(0);return t===9||t===10||t===11||t===12||t===13||t===32||t===160||t===65279||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288}function Yl(e){return e===`
22
22
  `||e==="\r"||e==="\u2028"||e==="\u2029"}function oe(e,t,n){if(t+n.length>ce(e))return!1;for(let r=0;r<n.length;r++)if(C(e,t+r)!==n[r])return!1;return!0}function Dt(e,t,n){return!bn(C(e,t-1))&&oe(e,t,n)&&!bn(C(e,t+n.length))}function $t(e,t){return bn(C(e,t-1))!==bn(C(e,t))}function fe(e){return e===`
23
- `||e===";"||e==="&"||e==="|"}function Xn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=ql(e,n);if(t==="rm")return xE(r);if(t==="dd")return CE(r);return zy(r,!0)}function Ji(e,t,n){let r=ql(e,n);if(t==="rm")return wE(r);if(t==="reset-hard")return Iy(r,"--ha","rd");if(t==="reset-merge")return Iy(r,"--me","rge");if(t==="clean")return kE(r);if(t==="checkout")return TE(r);if(t==="push-force")return IE(r);if(t==="push-refspec")return OE(r);if(t==="push-delete")return zE(r);if(t==="branch")return NE(r);if(t==="tag")return ME(r);if(t==="restore")return LE(r);return zy(r,!1)}function xE(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=ce(e);i++){let s=C(e,i);if(!t){let c=C(e,i+2);if(Dt(e,i,"rm")&&re(c)&&c!==`
24
- `)t=!0,i++;continue}let a=_E(e,i);if(s===`
25
- `||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ce(e)){if(o>=0){let c=ky(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(re(s)){if(o>=0){if(oe(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=ky(e,o,i);if(n||=c.recursive,r||=c.force,n&&r)return!0}o=-1}continue}if(o<0)o=i}return!1}function _E(e,t){if(C(e,t)!=="\\"||C(e,t-1)==="\\")return-1;if(oe(e,t,String.raw`\n`))return t+2;if(oe(e,t,String.raw`\x0a`)||oe(e,t,String.raw`\x0A`))return t+5;if(oe(e,t,String.raw`\u000a`)||oe(e,t,String.raw`\u000A`))return t+7;return oe(e,t,String.raw`\012`)?t+4:-1}function ky(e,t,n){if(Ay(e,t,n,"recursive"))return{recursive:!0,force:!1};if(Ay(e,t,n,"force"))return{recursive:!1,force:!0};if(C(e,t)!=="-"||C(e,t+1)==="-")return{recursive:!1,force:!1};let r=!1,o=!1;for(let i=t+1;i<n;i++){let s=C(e,i);r||=s==="r"||s==="R",o||=s==="f"||s==="F"}return{recursive:r,force:o}}function Ay(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!oe(e,t,"--"))return!1;for(let i=0;i<o;i++)if(C(e,t+i+2)!==r[i])return!1;return!0}function CE(e){let t=!1;for(let n=0;n<ce(e);n++){if(fe(C(e,n))){t=!1;continue}if(Dt(e,n,"dd")){t=!0,n++;continue}if(!t||!Dt(e,n,"of")||!oe(e,n,"of=/dev/"))continue;let r=n+8;if(r<ce(e)&&!re(C(e,r))&&C(e,r)!=="'"&&C(e,r)!=='"')return!0}return!1}function wE(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ce(e);){let i=C(e,o);if(o===ce(e)||fe(i)){t=!1,n=!1,r=!1,o++;continue}let s=EE(e,o);if(s>=0){if(RE(e,s))return!0;let a=s,c=!1;while(re(C(e,a)))c||=C(e,a)===`
26
- `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(oe(e,o,"--")&&(o===0||re(C(e,o-1)))&&(!C(e,o+2)||re(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=oe(e,o,"--recursive")&&$t(e,o+11)||Yl(e,o,"recursive"),r||=oe(e,o,"--force")&&$t(e,o+7)||Yl(e,o,"force"),n&&r)return!0;o++}return!1}function Yl(e,t,n){if(!oe(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||re(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&$t(e,t+r+2)}function RE(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(re(C(e,n)))n++;let i=n;while(n<ce(e)&&!re(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&oe(e,i,"--"))return!1;let s=Ty(e,i,"recursive"),a=Ty(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=PE(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Ty(e,t,n){return oe(e,t,`--${n}`)&&$t(e,t+n.length+2)||Yl(e,t,n)}function EE(e,t){if(t>0&&bn(C(e,t-1)))return-1;let n=t;if(C(e,n)==="\\")n++;if(C(e,n)!=="r")return-1;if(n++,C(e,n)==="\\")n++;if(C(e,n)!=="m"||!re(C(e,n+1)))return-1;return n+1}function PE(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(C(e,t)!=="-")return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a};let c="";for(let l=t+1;l<n;l++){let u=C(e,l)??"",d=(u==="r"||u==="f")&&$t(e,l+1);r||=u==="r",o||=u==="f",i||=u==="r"&&d,s||=u==="f"&&d,a||=(c==="r"&&u==="f"||c==="f"&&u==="r")&&d,c=u}return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a}}function Iy(e,t,n){return co(e,"reset",Xn,!0,(r)=>C(e,r)==="-"&&Qn(e,r,t,n)?!0:r)}function kE(e){return co(e,"clean",Xn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Qn(e,t,"--fo","rce"))return!0;let n=ao(e,t,Xn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!Dt(e,t,"git"))return null;let r=t+3;if(!re(C(e,r)))return{commandEnd:-1,next:r};while(re(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=ao(e,r,fe);if(Dt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&oe(e,r,"--"),s=AE(e,r,o);r=o;while(re(C(e,r)))r++;if(i)return{commandEnd:Dt(e,r,n)?r+n.length:-1,next:ao(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=ao(e,r,fe);while(re(C(e,r)))r++}return{commandEnd:-1,next:r}}function AE(e,t,n){for(let r of mt)if(n-t===r.length&&oe(e,t,r))return!0;return!1}function TE(e){return Oy(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function IE(e){return co(e,"push",Xn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!bn(C(e,t+2))&&!oe(e,t+2,"-with-lease"))return!0;let n=Ny(e,t,"--fo","rce");if(n>=0&&!oe(e,n,"-with-lease"))return!0;return t})}function OE(e){return co(e,"push",fe,!1,(t)=>{if(re(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!re(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function zE(e){return co(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Qn(e,t,"--de","lete"))return!0;if(re(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!re(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function NE(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ce(e);o++){if(o===ce(e)||fe(C(e,o))){if(n&&r)return!0;t=!1,n=!1,r=!1;continue}if(!t){let a=Xi(e,o,"branch");if(a){t=a.commandEnd>=0,o=Math.max(o,(t?a.commandEnd:a.next)-1);continue}}if(!t||C(e,o)!=="-")continue;let i=ao(e,o,fe),s=DE(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function DE(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(C(e,i)!=="-")continue;if(Qn(e,i,"--de","lete"))r=!0;if(Qn(e,i,"--fo","rce"))o=!0;if(C(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&$E(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!$t(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function $E(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function ME(e){return Oy(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function Oy(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<ce(e);r++){let o=C(e,r),i=n[n.length-1];if(!i)return!1;let s=i.escaped;if(i.escaped=!s&&i.quote!=="'"&&o==="\\",!s&&o==="'"&&i.quote!=='"')i.quote=i.quote==="'"?"":"'";if(!s&&o==='"'&&i.quote!=="'")i.quote=i.quote==='"'?"":'"';if(o==="$"&&C(e,r+1)==="("&&(n.length===1||!s&&i.quote!=="'")){n.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),r++;continue}if(!s&&!i.quote&&n.length>1&&o==="("){i.depth++;continue}if(!s&&!i.quote&&n.length>1&&o===")"){if(i.depth--,i.depth===0)n.pop();continue}if(re(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&re(C(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Qn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(C(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&$t(e,r+1))return!0;if(Xn(o))i.outerActive=!1}return!1}function co(e,t,n,r,o){let i=!1;for(let s=0;s<ce(e);s++){let a=C(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||re(C(e,l.commandEnd))),s=Math.max(s,(i?l.commandEnd:l.next)-1);continue}}if(i){let l=o(s);if(l===!0)return!0;for(let u=s;u<=l;u++)if(n(C(e,u)))i=!1;s=l}if(c)i=!1}return!1}function LE(e){let t=!1;for(let n=0;n<ce(e);n++){if(Kl(C(e,n))){if(t)return!0;t=!1;continue}if(!t){let r=Xi(e,n,"restore");if(r){t=r.commandEnd>=0,n=Math.max(n,(t?r.commandEnd:r.next)-1);continue}}if(t&&C(e,n)==="-"&&C(e,n+1)==="-"&&(oe(e,n+2,"staged")||oe(e,n+2,"help")))t=!1}return t}function zy(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?Kl(o):fe(o);if(n&&re(o)&&C(e,r+1)==="-"&&Dt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(Dt(e,r,"find"))n=!0,r+=3}return!1}function ao(e,t,n){let r=t;while(r<ce(e)&&!re(C(e,r))&&!n(C(e,r)))r++;return r}function Ny(e,t,n,r){if(!oe(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&C(e,o)===r[i];i++)o++;return $t(e,o)?o:-1}function Qn(e,t,n,r){return Ny(e,t,n,r)>=0}var WE=["git.ssh-env","git.alias-config","git.checkout-force","git.checkout-double-dash","git.checkout-ref-path","git.checkout-pathspec-from-file","git.checkout-ambiguous","git.switch-discard-changes","git.switch-force","git.restore-worktree","git.restore-unstaged","git.reset-hard","git.reset-merge","git.clean-force","git.rm-force","git.push-force","git.push-delete","git.push-mirror","git.branch-force-delete","git.rebase-abort","git.merge-abort","git.tag-delete","git.reflog-delete","git.stash-drop","git.stash-clear","git.worktree-remove-force","rm.recursive-force-root-or-home","rm.git-metadata","rm.recursive-force-dynamic-target","rm.recursive-force-home-cwd","rm.recursive-force-cwd-self","rm.recursive-force-outside-cwd","rm.recursive-force-paranoid","powershell.remove-item-root-or-home","powershell.remove-item-recursive-force-root-or-home","powershell.remove-item-git-metadata","powershell.remove-item-recursive-force-dynamic-target","powershell.remove-item-recursive-force-home-cwd","powershell.remove-item-recursive-force-cwd-self","powershell.remove-item-recursive-force-outside-cwd","powershell.remove-item-recursive-force-paranoid","powershell.remove-item-pipeline-dynamic-target","find.delete","find.delete-git-metadata","find.exec-rm-recursive-force","dd.device-write","mkfs.device","shred.target","interpreter.dangerous-command","interpreter.one-liner-paranoid","awk.system-dynamic","xargs.rm-recursive-force-dynamic","xargs.shell-dynamic","parallel.rm-recursive-force-dynamic","parallel.shell-dynamic","parallel.command-stream-dynamic","shell.dynamic-structure","shell.dynamic-executable","raw-text.dangerous-command"],Qi=new Set(WE),es=[{id:"git.ssh-env",category:"Git",label:"Git SSH environment override",description:"Blocks Git network operations with SSH environment overrides.",example:'GIT_SSH_COMMAND="./ssh-wrapper" git push',intent:"manual_only"},{id:"git.alias-config",category:"Git",label:"Git command-line alias",description:"Blocks command-line Git aliases that cannot be safely resolved.",example:"git -c alias.wipe='!rm -rf /' wipe",intent:"manual_only"},{id:"git.checkout-force",category:"Git",label:"Git checkout force",description:"Blocks forced checkout operations that discard local changes.",example:"git checkout --force main",intent:"use_alternative"},{id:"git.checkout-double-dash",category:"Git",label:"Git checkout path restore",description:"Blocks checkout path restores after --.",example:"git checkout -- src/app.ts",intent:"use_alternative"},{id:"git.checkout-ref-path",category:"Git",label:"Git checkout ref and path",description:"Blocks checkout forms that mix a ref and path restore.",example:"git checkout HEAD -- src/app.ts",intent:"use_alternative"},{id:"git.checkout-pathspec-from-file",category:"Git",label:"Git checkout pathspec file",description:"Blocks checkout pathspec loading from a file.",example:"git checkout --pathspec-from-file=paths.txt",intent:"use_alternative"},{id:"git.checkout-ambiguous",category:"Git",label:"Git checkout ambiguous targets",description:"Blocks ambiguous checkout arguments that may restore paths.",example:"git checkout main src/app.ts",intent:"use_alternative"},{id:"git.switch-discard-changes",category:"Git",label:"Git switch discard changes",description:"Blocks branch switches that explicitly discard local changes.",example:"git switch --discard-changes main",intent:"use_alternative"},{id:"git.switch-force",category:"Git",label:"Git switch force",description:"Blocks forced branch switches.",example:"git switch --force main",intent:"use_alternative"},{id:"git.restore-worktree",category:"Git",label:"Git restore worktree",description:"Blocks worktree restore operations.",example:"git restore --worktree src/app.ts",intent:"use_alternative"},{id:"git.restore-unstaged",category:"Git",label:"Git restore unstaged",description:"Blocks unstaged restore operations.",example:"git restore src/app.ts",intent:"use_alternative"},{id:"git.reset-hard",category:"Git",label:"Git reset hard",description:"Blocks hard resets.",example:"git reset --hard",intent:"use_alternative"},{id:"git.reset-merge",category:"Git",label:"Git reset merge",description:"Blocks merge resets.",example:"git reset --merge",intent:"use_alternative"},{id:"git.clean-force",category:"Git",label:"Git clean force",description:"Blocks forced clean operations.",example:"git clean -fd",intent:"use_alternative"},{id:"git.rm-force",category:"Git",label:"Git rm force",description:"Blocks forced removal of tracked files from the working tree.",example:"git rm -rf .",intent:"use_alternative"},{id:"git.push-force",category:"Git",label:"Git push force",description:"Blocks force pushes.",example:"git push --force origin main",intent:"use_alternative"},{id:"git.push-delete",category:"Git",label:"Git push delete",description:"Blocks remote ref deletion through push.",example:"git push --delete origin old-branch",intent:"manual_only"},{id:"git.push-mirror",category:"Git",label:"Git push mirror",description:"Blocks mirror pushes that can force-update or delete remote refs.",example:"git push --mirror origin",intent:"manual_only"},{id:"git.branch-force-delete",category:"Git",label:"Git branch force delete",description:"Blocks forced branch deletion.",example:"git branch -D old-branch",intent:"use_alternative"},{id:"git.rebase-abort",category:"Git",label:"Git rebase abort",description:"Blocks rebase abort operations.",example:"git rebase --abort",intent:"use_alternative"},{id:"git.merge-abort",category:"Git",label:"Git merge abort",description:"Blocks merge abort operations.",example:"git merge --abort",intent:"use_alternative"},{id:"git.tag-delete",category:"Git",label:"Git tag delete",description:"Blocks tag deletion.",example:"git tag --delete v1.0.0",intent:"manual_only"},{id:"git.reflog-delete",category:"Git",label:"Git reflog delete",description:"Blocks reflog deletion.",example:"git reflog delete HEAD@{1}",intent:"manual_only"},{id:"git.stash-drop",category:"Git",label:"Git stash drop",description:"Blocks dropping stash entries.",example:"git stash drop stash@{0}",intent:"use_alternative"},{id:"git.stash-clear",category:"Git",label:"Git stash clear",description:"Blocks clearing all stash entries.",example:"git stash clear",intent:"manual_only"},{id:"git.worktree-remove-force",category:"Git",label:"Git worktree force remove",description:"Blocks forced worktree removal.",example:"git worktree remove --force ../feature",intent:"use_alternative"},{id:"rm.recursive-force-root-or-home",category:"Filesystem",label:"rm -rf root or home",description:"Blocks recursive forced removal of root or home paths.",example:"rm -rf /",intent:"hard_stop",catastrophic:!0},{id:"rm.git-metadata",category:"Filesystem",label:"rm Git metadata",description:"Blocks removal of protected Git metadata and hooks.",example:"rm -rf .git",intent:"hard_stop",catastrophic:!0},{id:"rm.recursive-force-dynamic-target",category:"Filesystem",label:"rm -rf dynamic target",description:"Blocks recursive forced removal with dynamic targets in strict mode.",example:'rm -rf "$target"',intent:"scope_down",activationCapability:"fail_closed"},{id:"rm.recursive-force-home-cwd",category:"Filesystem",label:"rm -rf from home cwd",description:"Blocks recursive forced removal while working in home.",example:'cd "$HOME" && rm -rf build',intent:"scope_down"},{id:"rm.recursive-force-cwd-self",category:"Filesystem",label:"rm -rf current directory",description:"Blocks recursive forced removal of the current directory.",example:"rm -rf .",intent:"scope_down"},{id:"rm.recursive-force-outside-cwd",category:"Filesystem",label:"rm -rf outside cwd",description:"Blocks recursive forced removal outside the original cwd.",example:"rm -rf ../outside",intent:"scope_down"},{id:"rm.recursive-force-paranoid",category:"Filesystem",label:"rm -rf paranoid mode",description:"Blocks non-temp recursive forced removal when paranoid rm is enabled.",example:"rm -rf ./cache",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-root-or-home",category:"PowerShell",label:"Remove-Item root or home",description:"Blocks PowerShell Remove-Item targeting root or home paths.",example:"Remove-Item C:\\",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-root-or-home",category:"PowerShell",label:"Remove-Item recursive force root or home",description:"Blocks recursive forced PowerShell removal of root or home paths.",example:"Remove-Item C:\\ -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-git-metadata",category:"PowerShell",label:"Remove-Item Git metadata",description:"Blocks PowerShell removal of protected Git metadata and hooks.",example:"Remove-Item .git -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-dynamic-target",category:"PowerShell",label:"Remove-Item recursive force dynamic target",description:"Blocks recursive forced PowerShell removal with dynamic targets in strict mode.",example:"Remove-Item $target -Recurse -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"powershell.remove-item-recursive-force-home-cwd",category:"PowerShell",label:"Remove-Item recursive force from home cwd",description:"Blocks recursive forced PowerShell removal while working in home.",example:"Set-Location $HOME; Remove-Item ./build -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-cwd-self",category:"PowerShell",label:"Remove-Item recursive force current directory",description:"Blocks recursive forced PowerShell removal of the current directory.",example:"Remove-Item . -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-outside-cwd",category:"PowerShell",label:"Remove-Item recursive force outside cwd",description:"Blocks recursive forced PowerShell removal outside the original cwd.",example:"Remove-Item ../outside -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-paranoid",category:"PowerShell",label:"Remove-Item recursive force paranoid mode",description:"Blocks non-temp recursive forced PowerShell removal when paranoid rm is enabled.",example:"Remove-Item ./cache -Recurse -Force",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-pipeline-dynamic-target",category:"PowerShell",label:"Remove-Item pipeline dynamic target",description:"Blocks PowerShell Remove-Item with unverifiable pipeline input in strict mode.",example:"Get-ChildItem . -Recurse | Remove-Item -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"find.delete",category:"Filesystem",label:"find delete",description:"Blocks unsafe find -delete operations.",example:"find . -delete",intent:"scope_down"},{id:"find.delete-git-metadata",category:"Filesystem",label:"find delete Git metadata",description:"Blocks find -delete operations selecting protected Git metadata and hooks.",example:"find .git -delete",intent:"hard_stop",catastrophic:!0},{id:"find.exec-rm-recursive-force",category:"Filesystem",label:"find exec rm -rf",description:"Blocks find -exec rm -rf operations.",example:"find . -exec rm -rf {} +",intent:"scope_down"},{id:"dd.device-write",category:"Filesystem",label:"dd device write",description:"Blocks dd writing to a /dev device.",example:"dd if=/dev/zero of=/dev/sda",intent:"manual_only"},{id:"mkfs.device",category:"Filesystem",label:"mkfs device format",description:"Blocks mkfs formatting a /dev device.",example:"mkfs.ext4 /dev/sda1",intent:"manual_only"},{id:"shred.target",category:"Filesystem",label:"shred target",description:"Blocks shred against any target, including shred --help and shred --version.",example:"shred -u secret.txt",intent:"use_alternative"},{id:"interpreter.dangerous-command",category:"Execution",label:"Interpreter dangerous command",description:"Blocks interpreter one-liners containing dangerous commands.",example:`python -c "import os; os.system('rm -rf /')"`,intent:"use_alternative"},{id:"interpreter.one-liner-paranoid",category:"Execution",label:"Interpreter one-liner paranoid mode",description:"Blocks interpreter one-liners when paranoid interpreters is enabled.",example:'python -c "print(1)"',intent:"use_alternative",activationCapability:"paranoid_interpreters"},{id:"awk.system-dynamic",category:"Execution",label:"Awk dynamic system call",description:"Blocks awk system calls that cannot be safely analyzed.",example:"awk '{ system($0) }'",intent:"stop_and_explain"},{id:"xargs.rm-recursive-force-dynamic",category:"Execution",label:"xargs dynamic rm -rf",description:"Blocks xargs rm -rf with dynamic input.",example:"printf / | xargs rm -rf",intent:"scope_down"},{id:"xargs.shell-dynamic",category:"Execution",label:"xargs dynamic shell",description:"Blocks xargs shell execution with dynamic input.",example:"xargs r$(printf m) -rf",intent:"scope_down"},{id:"parallel.rm-recursive-force-dynamic",category:"Execution",label:"parallel dynamic rm -rf",description:"Blocks parallel rm -rf with dynamic input.",example:"printf / | parallel rm -rf",intent:"scope_down"},{id:"parallel.shell-dynamic",category:"Execution",label:"parallel dynamic shell",description:"Blocks parallel shell execution with dynamic input.",example:"parallel r$(printf m) -rf ::: child",intent:"scope_down"},{id:"parallel.command-stream-dynamic",category:"Execution",label:"parallel dynamic command stream",description:"Blocks parallel command streams from dynamic input.",example:"parallel --dry-run",intent:"scope_down"},{id:"shell.dynamic-structure",category:"Execution",label:"Dynamic command structure",description:"Blocks guarded subcommands and options assembled from substitution output in strict mode.",example:"git reset $(printf --hard)",intent:"stop_and_explain",activationCapability:"fail_closed"},{id:"shell.dynamic-executable",category:"Execution",label:"Dynamic executable name",description:"Blocks executable names assembled from command substitution output in strict mode.",example:"$(printf r)m -rf /",intent:"manual_only",activationCapability:"fail_closed"},{id:"raw-text.dangerous-command",category:"Execution",label:"Raw text dangerous command",description:"Blocks dangerous commands detected in raw command text.",example:"git reset --hard 'unterminated",intent:"stop_and_explain"}],FE=new Map(es.map((e)=>[e.id,e.intent])),Dy=new Set(es.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:FE.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(Dy.has(e.id))return e;if(t?.destructiveCommandProtectionEnabled===!1)return null;let n=t?.effectiveDestructiveCommandRules[e.id];return n&&!n.enabled?null:e}function ue(e,t,n){if(Dy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function $y(e,t){return Object.freeze(Object.fromEntries(es.map((n)=>{let r=n.activationCapability?t[n.activationCapability]:void 0,o=r?.enabled??!0,i=e.destructiveCommandRuleOverrides[n.id],s=n.catastrophic?{enabled:!0,inheritedEnabled:!0,changesInherited:!1,source:"catastrophic",...i?{override:i}:{}}:e.destructiveCommandProtectionEnabled?i?{enabled:i==="on",inheritedEnabled:o,changesInherited:i==="on"!==o,source:"rule_override",...n.activationCapability?{activationCapability:n.activationCapability}:{},override:i}:{enabled:o,inheritedEnabled:o,changesInherited:!1,source:r?.source??"built_in_default",...n.activationCapability?{activationCapability:n.activationCapability}:{}}:{enabled:!1,inheritedEnabled:o,changesInherited:!1,source:"master_disabled",...n.activationCapability?{activationCapability:n.activationCapability}:{},...i?{override:i}:{}};return[n.id,Object.freeze(s)]})))}function My(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:$y(e,t)})}function Mt(e,t){so(t,e,2);let n=e.toLowerCase(),r=n.trimStart(),o=r.startsWith("echo ")||r.startsWith("rg "),i=[{scan:"rm",label:"rm -rf"},{scan:"reset-hard",label:"git reset --hard"},{scan:"reset-merge",label:"git reset --merge"},{scan:"clean",label:"git clean -f"},{scan:"checkout",label:"git checkout --force"},{scan:"push-force",label:"git push --force"},{scan:"push-refspec",label:"git push --force"},{scan:"push-delete",label:"git push delete"},{scan:"branch",label:"git branch -D",caseSensitive:!0},{scan:"tag",label:"git tag -d"},{regex:/\bgit\s+stash\s+(drop|clear)\b/,label:"git stash drop/clear"},{regex:/\bgit\s+checkout\s+--\s/,label:"git checkout --"},{scan:"restore",label:"git restore without --staged"},{scan:"find",label:"find -delete",skipForEchoRg:!0},{regex:/\bdd\b[^\n|;&]*\bof=\/dev\/\S/,label:"dd of=/dev/",skipForEchoRg:!0},{regex:/\bmkfs(?:\.[a-z0-9_-]+)?\s+\/dev\/\S/,label:"mkfs /dev/",skipForEchoRg:!0},{regex:/\bshred\b\s+\S/,label:"shred",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Ie(t,a);if((s.regex?.test(a)??!1)||s.scan&&Ji(a,s.scan,t))return S("raw-text.dangerous-command",`Unparseable command text contains a destructive pattern (${s.label}). Rewrite as a plain, parseable command so it can be analyzed.`)}return null}var GE=/^[A-Za-z_][A-Za-z0-9_]*=/;function Wy(e,t,n){let r=e.words[0];if(!t||!r||e.words.length!==1||e.dialect!=="posix")return!1;if(!r.quoted||r.provenance!=="literal")return!1;let o=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(r.text)?.[1];if(!o)return!1;so(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return Fy(t.nodes,r,i)}function Fy(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return Fy(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return ZE(r,t,n)})}function ZE(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!GE.test(o.text));return e.words.every((o,i)=>o===t||Ly(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Ly(o.target.raw,n.anchored,!0)))}function Ly(e,t,n){let r=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="\\"&&!r){i++;continue}if(!o&&s==="'"){r=!r;continue}if(!r&&s==='"'){o=!o;continue}if(r||s!=="$")continue;if(!t.test(e.slice(i)))continue;if(!o||!n)return!1}return!0}var Gy=Object.freeze({maxDerivedTokens:16384}),Zy="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Oe extends Error{constructor(){super("Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.");this.name="DerivedCommandWorkLimitError"}}function ts(){return{derivedTokens:0}}function Xe(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Gy.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Gy.maxDerivedTokens-e.derivedTokens)throw new Oe;e.derivedTokens+=t}import{isAbsolute as BE,resolve as By}from"path";var Uy=64;function lo(e,t,n){let r=BE(e)?By(e):t?By(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function jy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function H(e){return G(e).toLowerCase()}function G(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var ns=10,er=20,vn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,tr=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Hy=new Set(["python","python3","python2","node","ruby","perl"]),Vy=/^python(?:[23](?:\.\d+)*)?$/,rs=new Set(["echo","printf","cat","head","tail","less","more","grep","rg","ag","ack","sed","awk","cut","tr","sort","uniq","wc","tee","man","help","info","type","which","whereis","whatis","apropos","file","stat","ls","ll","dir","tree","pwd","date","cal","uptime","whoami","id","groups","hostname","uname","env","printenv","set","export","alias","history","jobs","fg","bg","test","true","false","read","return","exit","break","continue","shift","wait","trap","basename","dirname","realpath","readlink","md5sum","sha256sum","base64","xxd","od","hexdump","strings","diff","cmp","comm","join","paste","column","fmt","fold","nl","pr","expand","unexpand","rev","tac","shuf","seq","yes","sleep","logger","write","wall","mesg","notify-send"]);var Sn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",nr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",os=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),UE=new Set(["-p","--print"]),jE=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),HE=new Map([["python",new Set(["W","X"])],["node",new Set(["C","r"])],["ruby",new Set(["C","E","F","I","r"])],["perl",new Set(["F","I","M","m"])]]),VE=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),qE=new Map([["python",new Set(["m"])]]),KE=new Map([["node",new Set(["--allow-fs-read","--allow-fs-write","--conditions","--cpu-prof-dir","--cpu-prof-interval","--cpu-prof-name","--debug-port","--diagnostic-dir","--disable-proto","--disable-warning","--dns-result-order","--env-file","--env-file-if-exists","--experimental-package-map","--experimental-test-isolation","--experimental-test-tag-filter","--heap-prof-dir","--heap-prof-interval","--heap-prof-name","--heapsnapshot-near-heap-limit","--heapsnapshot-signal","--icu-data-dir","--input-type","--inspect-port","--inspect-publish-uid","--localstorage-file","--max-http-header-size","--max-old-space-size-percentage","--network-family-autoselection-attempt-timeout","--openssl-config","--redirect-warnings","--report-dir","--report-directory","--report-filename","--report-signal","--secure-heap","--secure-heap-min","--test-concurrency","--test-coverage-branches","--test-coverage-exclude","--test-coverage-functions","--test-coverage-include","--test-coverage-lines","--test-global-setup","--test-isolation","--test-name-pattern","--test-random-seed","--test-reporter","--test-reporter-destination","--test-rerun-failures","--test-shard","--test-skip-pattern","--test-timeout","--title","--tls-cipher-list","--tls-keylog","--trace-event-categories","--trace-event-file-pattern","--trace-require-module","--unhandled-rejections","--use-largepages","--v8-pool-size","--watch-kill-signal"])],["python",new Set(["--check-hash-based-pycs"])],["ruby",new Set(["--backtrace-limit","--crash-report","--disable","--enable","--encoding","--external-encoding","--internal-encoding","--parser"])]]),YE=new Set(["always","default","never"]),JE=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),XE=/\\\r?\n/g,QE=new Map([["python",[{selector:"-c",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-m",kind:"module-file",valueForm:"attached-or-separate"}]],["node",[{selector:"-e",kind:"inline-code",valueForm:"separate-only"},{selector:"--eval",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-p",kind:"inline-code",valueForm:"separate-only"},{selector:"--print",kind:"inline-code",valueForm:"separate-only"},{selector:"-r",kind:"module-file",valueForm:"separate-only"},{selector:"--require",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--import",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--loader",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--experimental-loader",kind:"module-file",valueForm:"equals-or-separate"}]],["ruby",[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-r",kind:"module-file",valueForm:"attached-or-separate"}]],["perl",[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-E",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-M",kind:"module-file",valueForm:"attached-only"},{selector:"-m",kind:"module-file",valueForm:"attached-only"}]]]);function is(e){return as(e).code}function ss(e){return as(e).sources}function Ky(e){return QE.get(ls(e))??[]}function as(e){let t=ls(e[0]??"");if(!os.has(t))return{code:null,sources:[],optionsOpen:!1};let n=[],r=[],o=!0;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--")return Qe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Qe(t,n,r,o,i,s);if(t==="node"&&UE.has(s)){let d=e[i+1];if(d===void 0)return Qe(t,n,r,o);if(d.startsWith("-"))continue;n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),i++;continue}if(tP(t,s)){let d=e[i+1];if(d===void 0)return Qe(t,n,r,o);if(n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),t==="python")return Qe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(nP(t)&&a){let d=a[1]??"";n.push({tokenIndex:i,value:d}),r.push({tokenIndex:i,kind:"inline-code",value:d});continue}if(t==="node"){let d=eP(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let f=e[i+1];if(f===void 0||f.startsWith("-"))return o=!1,Qe(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:f}),i++;continue}}if(t==="python"&&s.startsWith("--check-hash-based-pycs=")||t==="node"&&(s==="--conditions="||s==="--diagnostic-dir="||s==="--title=")||t==="ruby"&&(s==="--disable="||s==="--enable="))return Qe(t,n,r,o);if(KE.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&JE.has(s))||t==="python"&&!YE.has(d))return Qe(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let f=s[d];if(f===void 0)break;if(qE.get(t)?.has(f)){let m=s.slice(d+1),p=m||e[i+1];if(p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});return Qe(t,n,r,o)}if(jE.get(t)?.has(f)){c=s.slice(d+1)||e[i+1],l=d+1===s.length;break}if(t==="node"&&f==="r"){if(s==="-r"){let m=e[i+1];if(o&&=m!==void 0&&!m.startsWith("-"),o&&m!==void 0)r.push({tokenIndex:i+1,kind:"module-file",value:m});i++}else o=!1;break}if(t==="ruby"&&f==="r"){let m=s.slice(d+1),p=m||e[i+1];if(o&&=p!==void 0,p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});if(!m)i++;break}if(t==="perl"&&(f==="M"||f==="m")){let m=s.slice(d+1);if(m)r.push({tokenIndex:i,kind:"module-file",value:m});else if(o=!1,d+1===s.length)i++;break}if(HE.get(t)?.has(f)){if(d+1===s.length)i++;break}if(VE.get(t)?.has(f)&&d+1<s.length)break}if(c===void 0)continue;let u=l?i+1:i;if(n.push({tokenIndex:u,value:c}),r.push({tokenIndex:u,kind:"inline-code",value:c}),t==="python")return Qe(t,n,r,o);if(l)i++}return Qe(t,n,r,o,void 0,void 0,!0)}function Qe(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
27
- `))||null,sources:r?l:[],optionsOpen:r&&s}}function eP(e){for(let t of["--import","--loader","--experimental-loader","--require"]){if(e===t)return{attached:!1,value:""};if(e.startsWith(`${t}=`))return{attached:!0,value:e.slice(t.length+1)}}return}function ze(e){return os.has(ls(e))}function cs(e,t){return ls(e)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(t)}function ls(e){let t=G(e).toLowerCase();return Vy.test(t)?"python":t}function tP(e,t){return os.get(e)?.has(t)??!1}function nP(e){return os.get(e)?.has("--eval")??!1}function rr(e,t){let n=iP(e,t);if(!qy(n,t))return!1;Ie(t,n);let r=oP(n);if(qy(r,t))return!0;return Ie(t,r),rP.test(r)}var rP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function oP(e){let t=[],n=0,r=0;while(r<e.length){let o=e[r];if(o!=="'"&&o!=='"'){r++;continue}let i=e.startsWith(o.repeat(3),r)?o.repeat(3):o,s=r+i.length;while(s<e.length&&!e.startsWith(i,s))s+=e[s]==="\\"?2:1;if(s>=e.length)break;t.push(e.slice(n,r)," "),r=s+i.length,n=r}return t.push(e.slice(n)),t.join("")}function qy(e,t){if(Yi(e,"rm",t))return!0;for(let r of[/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(Ie(t,e),r.test(e))return!0;if(Yi(e,"dd",t))return!0;for(let r of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(Ie(t,e),r.test(e))return!0;if(Yi(e,"find",t))return!0;let n=e.split(/[\n\r\u2028\u2029]/);return["reset-hard","reset-merge","clean","checkout","push-force","push-refspec","push-delete","branch","tag","restore"].some((r)=>(Ie(t,e),n.some((o)=>Ji(o,r))))}function iP(e,t){return Ie(t,e),e.replace(XE,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Yy="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class ds extends Error{constructor(){super("Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.");this.name="ParallelAnalysisLimitError"}}function Jy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function Ne(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(us(e.childAnalyses,n,V.maxChildAnalyses)||us(e.derivedTokens,r,V.maxDerivedTokens)||us(e.derivedBytes,o,V.maxDerivedBytes)||us(e.placeholderReplacements,i,V.maxPlaceholderReplacements))throw new ds;e.childAnalyses+=n,e.derivedTokens+=r,e.derivedBytes+=o,e.placeholderReplacements+=i}function us(e,t,n){return!Number.isSafeInteger(e)||e<0||e>n||!Number.isSafeInteger(t)||t<0||t>n-e}import{isAbsolute as Au,normalize as bA,parse as vA,posix as gv,resolve as lr,sep as ku}from"path";import{isAbsolute as sP,join as Xy,normalize as tb,parse as aP,sep as Qy}from"path";var cP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],lP=`
28
- `;function uo(e,t){if(ft(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Jl(e.get("TMPDIR")??"",t)}function Lt(e,t){if(e.has("TMPDIR"))return Jl(e.get("TMPDIR")??"",t);let n=Xl(e,t);if(n===void 0)return!0;return Jl(n,t)}function Xl(e,t){return ob(e,t,"TMPDIR")}function Jl(e,t){if(!e)return!1;if(dP(e))return!1;return Ql(e,t)}function ft(e,t){let n=ob(e,t,"IFS");return n!==void 0&&n!==""&&n!==lP}function Ql(e,t){let n=ms(e,t.paths);return n!==null&&rb(t).some((r)=>fP(n,r))}function nb(e,t){let n=ms(e,t.paths);return n!==null&&rb(t).includes(n)}var eb=new WeakMap;function rb(e){let t=eb.get(e);if(t)return t;let n=uP(e);return eb.set(e,n),n}function uP(e){let t=cP.map((r)=>ms(r,e.paths)??tb(r)),n=ms(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&mP(n))return[...t,n];return t}function dP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function ob(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function mP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ms(e,t){try{let n=tb(e);if(!sP(n))return n;let r=aP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=Xy(i,o[s]??"");if(t.entryKind(a)==="missing")return Xy(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function fP(e,t){if(e===t)return!0;let n=t.endsWith(Qy)?t:`${t}${Qy}`;return e.startsWith(n)}import{statSync as rA}from"fs";import{isAbsolute as sv,join as oA,relative as av}from"path";import{isAbsolute as ib,parse as pP}from"path";var ab=/^[A-Za-z_][A-Za-z0-9_]*=/;function He(e){if(!ab.test(e))return null;let t=e.indexOf("=");return{name:e.slice(0,t),value:e.slice(t+1)}}function fs(e){let t=new Map,n=0;while(n<e.length){let r=e[n];if(!r)break;let o=He(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function cb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function xn(e,t,n,r){if(!cb(or(e)))return{words:e,envAssignments:new Map,cwd:n,rewritten:!1};let o=new Set(e),i=e,s=new Map,a=new Map(r??[]),c=[],l=n;for(let d=0;d<er;d++){let f=sb(i),m=fs(i);for(let[h,b]of m.envAssignments)s.set(h,b),a.set(h,b);if(i=m.words,i.length===0)break;while(i.length>0&&or(i).includes("=")&&!hP(i)){let h=yP(or(i),a,t.env)??Hi(or(i),t.env,a);if(h)s.set(h.name,h.value),a.set(h.name,h.value);i=i.slice(1)}if(i.length===0)break;let p=or(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=vP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=_P(i,l,a,t);if(c.push(...h.envSplitValues??[]),i=h.words,h.cwd!==void 0)l=h.cwd;for(let[b,y]of h.envAssignments)s.set(b,y),a.set(b,y)}if(p==="command")i=CP(i);if(p==="builtin")i=i.slice(et(i,1)==="--"?2:1);if(sb(i)===f)break}let u=fs(i);for(let[d,f]of u.envAssignments)s.set(d,f),a.set(d,f);return{words:u.words,envAssignments:s,cwd:l,envSplitValues:c.length>0?c:void 0,rewritten:gP(u.words,o)}}function gP(e,t){return e.some((n)=>!t.has(n))}function sb(e){return e.map(N).join(" ")}function or(e){let t=e[0];return t?N(t):""}function et(e,t){let n=e[t];return n?N(n):void 0}function hP(e){return ab.test(or(e))}function yP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var bP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function vP(e,t,n){let r=1,o=n;while(r<e.length){let i=et(e,r);if(!i)break;if(i==="--")return{words:e.slice(r+1),cwd:o};if(!i.startsWith("-"))break;if(i==="-D"||i==="--chdir"){let s=et(e,r+1);o=s?mo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=mo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=mo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(bP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var SP=new Set(["-i","-0","--null"]),xP=new Set(["-u","--unset","-C","--chdir","-P"]);function _P(e,t,n,r){let o=new Map,i=[],s=t,a=1,c=(l)=>({words:e.slice(l),envAssignments:o,cwd:s,envSplitValues:i.length>0?i:void 0});while(a<e.length){let l=et(e,a);if(!l)break;if(l==="--")return c(a+1);if(l==="-i"||l==="--ignore-environment"||l==="-"){o.clear();for(let d of n.keys())o.set(d,"");o.set("TMPDIR",""),a++;continue}if(SP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=et(e,a+1);if(d!==void 0)o.set(d,"");a+=2;continue}if(l.startsWith("-u")&&l.length>2&&!l.startsWith("-u=")){o.set(l.slice(2),""),a++;continue}if(l.startsWith("--unset=")){o.set(l.slice(8),""),a++;continue}let u=l==="-S"||l==="--split-string"?{value:et(e,a+1),consumed:2}:l.startsWith("-S")&&l.length>2?{value:l.slice(2),consumed:1}:l.startsWith("--split-string=")?{value:l.slice(15),consumed:1}:null;if(u){if(u.value!==void 0)i.push(u.value);return s=null,c(a+u.consumed)}if(xP.has(l)){if(l==="-C"||l==="--chdir"){let d=et(e,a+1);s=d?mo(s,d,r.paths):null}a+=2;continue}if(l.startsWith("-u=")){a++;continue}if(l.startsWith("-C")&&l.length>2||l.startsWith("--chdir=")){let d=l.startsWith("--chdir=")?l.slice(8):l.startsWith("-C=")?l.slice(3):l.slice(2);s=mo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!He(l))break;while(a<e.length){let d=He(et(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(et(e,a)==="--")a++;return c(a)}return c(a)}function mo(e,t,n){if(t==="")return null;if(!e&&!ib(t))return null;let r=ib(t)?pP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Kt(r,t,n)}catch{return null}}function CP(e){if(et(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=et(e,t);if(!n)break;if(n==="-p"||n==="-v"||n==="-V"){t++;continue}if(n==="--")return e.slice(t+1);if(n.startsWith("-")&&!n.startsWith("--")&&n.length>1){if(!/^[pvV]+$/.test(n.slice(1)))break;t++;continue}break}return e.slice(t)}var wP=/['"\\$`{}#]/;function ps(e,t){if(e.some((r)=>wP.test(r)))return null;let n=[...e.flatMap((r)=>r.split(/\s+/).filter((o)=>o.length>0)),...t];return n.length<=64?n:null}function ir(e,t,n){return gs(e,t,n).tokens}function RP(e){let t=[],n="",r=0;while(r<e.length){let o=e.charAt(r);if(o==='"'||o==="'"){let i=e.indexOf(o,r+1);if(i===-1)return e.split(/\s+/).map((s)=>s.replace(/["']/g,"")).filter((s)=>s.length>0);n+=e.slice(r+1,i),r=i+1;continue}if(/\s/.test(o)){if(n.length>0)t.push(n);n="",r++;continue}n+=o,r++}if(n.length>0)t.push(n);return t}function Jt(e,t,n,r=0){let o=gs(e,t,n),i=(o.envSplitValues??[]).flatMap(RP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Jt(s,t,n,r+1)}function gs(e,t,n,r){if(!cb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=xn(j(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as Jk,isAbsolute as Xk,normalize as Qk,resolve as nv}from"path";function hs(){return[]}function ys(){return[]}function bs(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function EP(e){return Object.freeze({...e,span:Object.freeze(e.span),words:Object.freeze(e.words),redirections:Object.freeze(e.redirections.map((t)=>Object.freeze({...t,span:Object.freeze(t.span),...t.heredoc?{heredoc:Object.freeze({...t.heredoc,bodySpan:Object.freeze(t.heredoc.bodySpan),terminatorSpan:Object.freeze(t.heredoc.terminatorSpan)})}:{}}))),nested:Object.freeze(e.nested.map((t)=>Ce(t)))})}function vs(e,t,n){e.push(n),t.reset()}function PP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function Ss(e){let t=[];return{parts:t,push:(n,r,o)=>PP(t,e,n,r,o)}}function eu(e){let t=e.parts??[{raw:e.raw,span:e.span,provenance:e.provenance}];return Object.freeze({kind:"word",...e,span:Object.freeze(e.span),parts:Object.freeze(t.map((n)=>Object.freeze({...n,span:Object.freeze(n.span)})))})}function sr(e,t,n,r,o,i,s){return eu({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function Ce(e){return Object.freeze({...e,span:Object.freeze(e.span),issues:Object.freeze(e.issues.map((t)=>Object.freeze({...t,span:Object.freeze(t.span)}))),nodes:Object.freeze(e.nodes.map((t)=>{if(t.kind==="command")return EP(t);if(t.kind==="group"||t.kind==="function")return Object.freeze({...t,span:Object.freeze(t.span),body:Ce(t.body)});return Object.freeze({...t,span:Object.freeze(t.span)})}))})}function tu(e,t,n){if(t>=n||ub(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!ub(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=lb(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=lb(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
29
- `||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function nu(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=kP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?AP(e.slice(a,i)):e.slice(a,i),delimiter:s.delimiter,quotedDelimiter:s.quotedDelimiter,bodySpan:{start:a,end:i},terminatorSpan:{start:i,end:l.contentEnd}}),i=l.next,c=!0;break}if(l.next<=i)break;i=l.next}if(c)continue;return o.push({code:"unterminated-heredoc",message:`heredoc delimiter ${s.delimiter} was not found`,span:s.declarationSpan}),{next:n,issues:o,terminated:!1}}return{next:i,issues:o,terminated:!0}}function lb(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
30
- `&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function ub(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function kP(e,t,n){let r=t;while(r<n&&e[r]!==`
23
+ `||e===";"||e==="&"||e==="|"}function Jn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=Kl(e,n);if(t==="rm")return _E(r);if(t==="dd")return wE(r);return Ny(r,!0)}function Ji(e,t,n){let r=Kl(e,n);if(t==="rm")return RE(r);if(t==="reset-hard")return Oy(r,"--ha","rd");if(t==="reset-merge")return Oy(r,"--me","rge");if(t==="clean")return AE(r);if(t==="checkout")return IE(r);if(t==="push-force")return OE(r);if(t==="push-refspec")return zE(r);if(t==="push-delete")return NE(r);if(t==="branch")return DE(r);if(t==="tag")return LE(r);if(t==="restore")return WE(r);return Ny(r,!1)}function _E(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=ce(e);i++){let s=C(e,i);if(!t){let c=C(e,i+2);if(Dt(e,i,"rm")&&re(c)&&c!==`
24
+ `)t=!0,i++;continue}let a=CE(e,i);if(s===`
25
+ `||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ce(e)){if(o>=0){let c=Ay(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(re(s)){if(o>=0){if(oe(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=Ay(e,o,i);if(n||=c.recursive,r||=c.force,n&&r)return!0}o=-1}continue}if(o<0)o=i}return!1}function CE(e,t){if(C(e,t)!=="\\"||C(e,t-1)==="\\")return-1;if(oe(e,t,String.raw`\n`))return t+2;if(oe(e,t,String.raw`\x0a`)||oe(e,t,String.raw`\x0A`))return t+5;if(oe(e,t,String.raw`\u000a`)||oe(e,t,String.raw`\u000A`))return t+7;return oe(e,t,String.raw`\012`)?t+4:-1}function Ay(e,t,n){if(Ty(e,t,n,"recursive"))return{recursive:!0,force:!1};if(Ty(e,t,n,"force"))return{recursive:!1,force:!0};if(C(e,t)!=="-"||C(e,t+1)==="-")return{recursive:!1,force:!1};let r=!1,o=!1;for(let i=t+1;i<n;i++){let s=C(e,i);r||=s==="r"||s==="R",o||=s==="f"||s==="F"}return{recursive:r,force:o}}function Ty(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!oe(e,t,"--"))return!1;for(let i=0;i<o;i++)if(C(e,t+i+2)!==r[i])return!1;return!0}function wE(e){let t=!1;for(let n=0;n<ce(e);n++){if(fe(C(e,n))){t=!1;continue}if(Dt(e,n,"dd")){t=!0,n++;continue}if(!t||!Dt(e,n,"of")||!oe(e,n,"of=/dev/"))continue;let r=n+8;if(r<ce(e)&&!re(C(e,r))&&C(e,r)!=="'"&&C(e,r)!=='"')return!0}return!1}function RE(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ce(e);){let i=C(e,o);if(o===ce(e)||fe(i)){t=!1,n=!1,r=!1,o++;continue}let s=PE(e,o);if(s>=0){if(EE(e,s))return!0;let a=s,c=!1;while(re(C(e,a)))c||=C(e,a)===`
26
+ `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(oe(e,o,"--")&&(o===0||re(C(e,o-1)))&&(!C(e,o+2)||re(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=oe(e,o,"--recursive")&&$t(e,o+11)||Jl(e,o,"recursive"),r||=oe(e,o,"--force")&&$t(e,o+7)||Jl(e,o,"force"),n&&r)return!0;o++}return!1}function Jl(e,t,n){if(!oe(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||re(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&$t(e,t+r+2)}function EE(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(re(C(e,n)))n++;let i=n;while(n<ce(e)&&!re(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&oe(e,i,"--"))return!1;let s=Iy(e,i,"recursive"),a=Iy(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=kE(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Iy(e,t,n){return oe(e,t,`--${n}`)&&$t(e,t+n.length+2)||Jl(e,t,n)}function PE(e,t){if(t>0&&bn(C(e,t-1)))return-1;let n=t;if(C(e,n)==="\\")n++;if(C(e,n)!=="r")return-1;if(n++,C(e,n)==="\\")n++;if(C(e,n)!=="m"||!re(C(e,n+1)))return-1;return n+1}function kE(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(C(e,t)!=="-")return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a};let c="";for(let l=t+1;l<n;l++){let u=C(e,l)??"",d=(u==="r"||u==="f")&&$t(e,l+1);r||=u==="r",o||=u==="f",i||=u==="r"&&d,s||=u==="f"&&d,a||=(c==="r"&&u==="f"||c==="f"&&u==="r")&&d,c=u}return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a}}function Oy(e,t,n){return co(e,"reset",Jn,!0,(r)=>C(e,r)==="-"&&Xn(e,r,t,n)?!0:r)}function AE(e){return co(e,"clean",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Xn(e,t,"--fo","rce"))return!0;let n=ao(e,t,Jn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!Dt(e,t,"git"))return null;let r=t+3;if(!re(C(e,r)))return{commandEnd:-1,next:r};while(re(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=ao(e,r,fe);if(Dt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&oe(e,r,"--"),s=TE(e,r,o);r=o;while(re(C(e,r)))r++;if(i)return{commandEnd:Dt(e,r,n)?r+n.length:-1,next:ao(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=ao(e,r,fe);while(re(C(e,r)))r++}return{commandEnd:-1,next:r}}function TE(e,t,n){for(let r of mt)if(n-t===r.length&&oe(e,t,r))return!0;return!1}function IE(e){return zy(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function OE(e){return co(e,"push",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!bn(C(e,t+2))&&!oe(e,t+2,"-with-lease"))return!0;let n=Dy(e,t,"--fo","rce");if(n>=0&&!oe(e,n,"-with-lease"))return!0;return t})}function zE(e){return co(e,"push",fe,!1,(t)=>{if(re(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!re(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function NE(e){return co(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Xn(e,t,"--de","lete"))return!0;if(re(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!re(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function DE(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ce(e);o++){if(o===ce(e)||fe(C(e,o))){if(n&&r)return!0;t=!1,n=!1,r=!1;continue}if(!t){let a=Xi(e,o,"branch");if(a){t=a.commandEnd>=0,o=Math.max(o,(t?a.commandEnd:a.next)-1);continue}}if(!t||C(e,o)!=="-")continue;let i=ao(e,o,fe),s=$E(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function $E(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(C(e,i)!=="-")continue;if(Xn(e,i,"--de","lete"))r=!0;if(Xn(e,i,"--fo","rce"))o=!0;if(C(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&ME(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!$t(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function ME(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function LE(e){return zy(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function zy(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<ce(e);r++){let o=C(e,r),i=n[n.length-1];if(!i)return!1;let s=i.escaped;if(i.escaped=!s&&i.quote!=="'"&&o==="\\",!s&&o==="'"&&i.quote!=='"')i.quote=i.quote==="'"?"":"'";if(!s&&o==='"'&&i.quote!=="'")i.quote=i.quote==='"'?"":'"';if(o==="$"&&C(e,r+1)==="("&&(n.length===1||!s&&i.quote!=="'")){n.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),r++;continue}if(!s&&!i.quote&&n.length>1&&o==="("){i.depth++;continue}if(!s&&!i.quote&&n.length>1&&o===")"){if(i.depth--,i.depth===0)n.pop();continue}if(re(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&re(C(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Xn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(C(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&$t(e,r+1))return!0;if(Jn(o))i.outerActive=!1}return!1}function co(e,t,n,r,o){let i=!1;for(let s=0;s<ce(e);s++){let a=C(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||re(C(e,l.commandEnd))),s=Math.max(s,(i?l.commandEnd:l.next)-1);continue}}if(i){let l=o(s);if(l===!0)return!0;for(let u=s;u<=l;u++)if(n(C(e,u)))i=!1;s=l}if(c)i=!1}return!1}function WE(e){let t=!1;for(let n=0;n<ce(e);n++){if(Yl(C(e,n))){if(t)return!0;t=!1;continue}if(!t){let r=Xi(e,n,"restore");if(r){t=r.commandEnd>=0,n=Math.max(n,(t?r.commandEnd:r.next)-1);continue}}if(t&&C(e,n)==="-"&&C(e,n+1)==="-"&&(oe(e,n+2,"staged")||oe(e,n+2,"help")))t=!1}return t}function Ny(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?Yl(o):fe(o);if(n&&re(o)&&C(e,r+1)==="-"&&Dt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(Dt(e,r,"find"))n=!0,r+=3}return!1}function ao(e,t,n){let r=t;while(r<ce(e)&&!re(C(e,r))&&!n(C(e,r)))r++;return r}function Dy(e,t,n,r){if(!oe(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&C(e,o)===r[i];i++)o++;return $t(e,o)?o:-1}function Xn(e,t,n,r){return Dy(e,t,n,r)>=0}var FE=["git.ssh-env","git.alias-config","git.checkout-force","git.checkout-double-dash","git.checkout-ref-path","git.checkout-pathspec-from-file","git.checkout-ambiguous","git.switch-discard-changes","git.switch-force","git.restore-worktree","git.restore-unstaged","git.reset-hard","git.reset-merge","git.clean-force","git.rm-force","git.push-force","git.push-delete","git.push-mirror","git.branch-force-delete","git.rebase-abort","git.merge-abort","git.tag-delete","git.reflog-delete","git.stash-drop","git.stash-clear","git.worktree-remove-force","rm.recursive-force-root-or-home","rm.git-metadata","rm.recursive-force-dynamic-target","rm.recursive-force-home-cwd","rm.recursive-force-cwd-self","rm.recursive-force-outside-cwd","rm.recursive-force-paranoid","powershell.remove-item-root-or-home","powershell.remove-item-recursive-force-root-or-home","powershell.remove-item-git-metadata","powershell.remove-item-recursive-force-dynamic-target","powershell.remove-item-recursive-force-home-cwd","powershell.remove-item-recursive-force-cwd-self","powershell.remove-item-recursive-force-outside-cwd","powershell.remove-item-recursive-force-paranoid","powershell.remove-item-pipeline-dynamic-target","find.delete","find.delete-git-metadata","find.exec-rm-recursive-force","dd.device-write","mkfs.device","shred.target","interpreter.dangerous-command","interpreter.one-liner-paranoid","awk.system-dynamic","xargs.rm-recursive-force-dynamic","xargs.shell-dynamic","parallel.rm-recursive-force-dynamic","parallel.shell-dynamic","parallel.command-stream-dynamic","shell.dynamic-structure","shell.dynamic-executable","raw-text.dangerous-command"],Qi=new Set(FE),es=[{id:"git.ssh-env",category:"Git",label:"Git SSH environment override",description:"Blocks Git network operations with SSH environment overrides.",example:'GIT_SSH_COMMAND="./ssh-wrapper" git push',intent:"manual_only"},{id:"git.alias-config",category:"Git",label:"Git command-line alias",description:"Blocks command-line Git aliases that cannot be safely resolved.",example:"git -c alias.wipe='!rm -rf /' wipe",intent:"manual_only"},{id:"git.checkout-force",category:"Git",label:"Git checkout force",description:"Blocks forced checkout operations that discard local changes.",example:"git checkout --force main",intent:"use_alternative"},{id:"git.checkout-double-dash",category:"Git",label:"Git checkout path restore",description:"Blocks checkout path restores after --.",example:"git checkout -- src/app.ts",intent:"use_alternative"},{id:"git.checkout-ref-path",category:"Git",label:"Git checkout ref and path",description:"Blocks checkout forms that mix a ref and path restore.",example:"git checkout HEAD -- src/app.ts",intent:"use_alternative"},{id:"git.checkout-pathspec-from-file",category:"Git",label:"Git checkout pathspec file",description:"Blocks checkout pathspec loading from a file.",example:"git checkout --pathspec-from-file=paths.txt",intent:"use_alternative"},{id:"git.checkout-ambiguous",category:"Git",label:"Git checkout ambiguous targets",description:"Blocks ambiguous checkout arguments that may restore paths.",example:"git checkout main src/app.ts",intent:"use_alternative"},{id:"git.switch-discard-changes",category:"Git",label:"Git switch discard changes",description:"Blocks branch switches that explicitly discard local changes.",example:"git switch --discard-changes main",intent:"use_alternative"},{id:"git.switch-force",category:"Git",label:"Git switch force",description:"Blocks forced branch switches.",example:"git switch --force main",intent:"use_alternative"},{id:"git.restore-worktree",category:"Git",label:"Git restore worktree",description:"Blocks worktree restore operations.",example:"git restore --worktree src/app.ts",intent:"use_alternative"},{id:"git.restore-unstaged",category:"Git",label:"Git restore unstaged",description:"Blocks unstaged restore operations.",example:"git restore src/app.ts",intent:"use_alternative"},{id:"git.reset-hard",category:"Git",label:"Git reset hard",description:"Blocks hard resets.",example:"git reset --hard",intent:"use_alternative"},{id:"git.reset-merge",category:"Git",label:"Git reset merge",description:"Blocks merge resets.",example:"git reset --merge",intent:"use_alternative"},{id:"git.clean-force",category:"Git",label:"Git clean force",description:"Blocks forced clean operations.",example:"git clean -fd",intent:"use_alternative"},{id:"git.rm-force",category:"Git",label:"Git rm force",description:"Blocks forced removal of tracked files from the working tree.",example:"git rm -rf .",intent:"use_alternative"},{id:"git.push-force",category:"Git",label:"Git push force",description:"Blocks force pushes.",example:"git push --force origin main",intent:"use_alternative"},{id:"git.push-delete",category:"Git",label:"Git push delete",description:"Blocks remote ref deletion through push.",example:"git push --delete origin old-branch",intent:"manual_only"},{id:"git.push-mirror",category:"Git",label:"Git push mirror",description:"Blocks mirror pushes that can force-update or delete remote refs.",example:"git push --mirror origin",intent:"manual_only"},{id:"git.branch-force-delete",category:"Git",label:"Git branch force delete",description:"Blocks forced branch deletion.",example:"git branch -D old-branch",intent:"use_alternative"},{id:"git.rebase-abort",category:"Git",label:"Git rebase abort",description:"Blocks rebase abort operations.",example:"git rebase --abort",intent:"use_alternative"},{id:"git.merge-abort",category:"Git",label:"Git merge abort",description:"Blocks merge abort operations.",example:"git merge --abort",intent:"use_alternative"},{id:"git.tag-delete",category:"Git",label:"Git tag delete",description:"Blocks tag deletion.",example:"git tag --delete v1.0.0",intent:"manual_only"},{id:"git.reflog-delete",category:"Git",label:"Git reflog delete",description:"Blocks reflog deletion.",example:"git reflog delete HEAD@{1}",intent:"manual_only"},{id:"git.stash-drop",category:"Git",label:"Git stash drop",description:"Blocks dropping stash entries.",example:"git stash drop stash@{0}",intent:"use_alternative"},{id:"git.stash-clear",category:"Git",label:"Git stash clear",description:"Blocks clearing all stash entries.",example:"git stash clear",intent:"manual_only"},{id:"git.worktree-remove-force",category:"Git",label:"Git worktree force remove",description:"Blocks forced worktree removal.",example:"git worktree remove --force ../feature",intent:"use_alternative"},{id:"rm.recursive-force-root-or-home",category:"Filesystem",label:"rm -rf root or home",description:"Blocks recursive forced removal of root or home paths.",example:"rm -rf /",intent:"hard_stop",catastrophic:!0},{id:"rm.git-metadata",category:"Filesystem",label:"rm Git metadata",description:"Blocks removal of protected Git metadata and hooks.",example:"rm -rf .git",intent:"hard_stop",catastrophic:!0},{id:"rm.recursive-force-dynamic-target",category:"Filesystem",label:"rm -rf dynamic target",description:"Blocks recursive forced removal with dynamic targets in strict mode.",example:'rm -rf "$target"',intent:"scope_down",activationCapability:"fail_closed"},{id:"rm.recursive-force-home-cwd",category:"Filesystem",label:"rm -rf from home cwd",description:"Blocks recursive forced removal while working in home.",example:'cd "$HOME" && rm -rf build',intent:"scope_down"},{id:"rm.recursive-force-cwd-self",category:"Filesystem",label:"rm -rf current directory",description:"Blocks recursive forced removal of the current directory.",example:"rm -rf .",intent:"scope_down"},{id:"rm.recursive-force-outside-cwd",category:"Filesystem",label:"rm -rf outside cwd",description:"Blocks recursive forced removal outside the original cwd.",example:"rm -rf ../outside",intent:"scope_down"},{id:"rm.recursive-force-paranoid",category:"Filesystem",label:"rm -rf paranoid mode",description:"Blocks non-temp recursive forced removal when paranoid rm is enabled.",example:"rm -rf ./cache",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-root-or-home",category:"PowerShell",label:"Remove-Item root or home",description:"Blocks PowerShell Remove-Item targeting root or home paths.",example:"Remove-Item C:\\",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-root-or-home",category:"PowerShell",label:"Remove-Item recursive force root or home",description:"Blocks recursive forced PowerShell removal of root or home paths.",example:"Remove-Item C:\\ -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-git-metadata",category:"PowerShell",label:"Remove-Item Git metadata",description:"Blocks PowerShell removal of protected Git metadata and hooks.",example:"Remove-Item .git -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-dynamic-target",category:"PowerShell",label:"Remove-Item recursive force dynamic target",description:"Blocks recursive forced PowerShell removal with dynamic targets in strict mode.",example:"Remove-Item $target -Recurse -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"powershell.remove-item-recursive-force-home-cwd",category:"PowerShell",label:"Remove-Item recursive force from home cwd",description:"Blocks recursive forced PowerShell removal while working in home.",example:"Set-Location $HOME; Remove-Item ./build -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-cwd-self",category:"PowerShell",label:"Remove-Item recursive force current directory",description:"Blocks recursive forced PowerShell removal of the current directory.",example:"Remove-Item . -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-outside-cwd",category:"PowerShell",label:"Remove-Item recursive force outside cwd",description:"Blocks recursive forced PowerShell removal outside the original cwd.",example:"Remove-Item ../outside -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-paranoid",category:"PowerShell",label:"Remove-Item recursive force paranoid mode",description:"Blocks non-temp recursive forced PowerShell removal when paranoid rm is enabled.",example:"Remove-Item ./cache -Recurse -Force",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-pipeline-dynamic-target",category:"PowerShell",label:"Remove-Item pipeline dynamic target",description:"Blocks PowerShell Remove-Item with unverifiable pipeline input in strict mode.",example:"Get-ChildItem . -Recurse | Remove-Item -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"find.delete",category:"Filesystem",label:"find delete",description:"Blocks unsafe find -delete operations.",example:"find . -delete",intent:"scope_down"},{id:"find.delete-git-metadata",category:"Filesystem",label:"find delete Git metadata",description:"Blocks find -delete operations selecting protected Git metadata and hooks.",example:"find .git -delete",intent:"hard_stop",catastrophic:!0},{id:"find.exec-rm-recursive-force",category:"Filesystem",label:"find exec rm -rf",description:"Blocks find -exec rm -rf operations.",example:"find . -exec rm -rf {} +",intent:"scope_down"},{id:"dd.device-write",category:"Filesystem",label:"dd device write",description:"Blocks dd writing to a /dev device.",example:"dd if=/dev/zero of=/dev/sda",intent:"manual_only"},{id:"mkfs.device",category:"Filesystem",label:"mkfs device format",description:"Blocks mkfs formatting a /dev device.",example:"mkfs.ext4 /dev/sda1",intent:"manual_only"},{id:"shred.target",category:"Filesystem",label:"shred target",description:"Blocks shred against any target, including shred --help and shred --version.",example:"shred -u secret.txt",intent:"use_alternative"},{id:"interpreter.dangerous-command",category:"Execution",label:"Interpreter dangerous command",description:"Blocks interpreter one-liners containing dangerous commands.",example:`python -c "import os; os.system('rm -rf /')"`,intent:"use_alternative"},{id:"interpreter.one-liner-paranoid",category:"Execution",label:"Interpreter one-liner paranoid mode",description:"Blocks interpreter one-liners when paranoid interpreters is enabled.",example:'python -c "print(1)"',intent:"use_alternative",activationCapability:"paranoid_interpreters"},{id:"awk.system-dynamic",category:"Execution",label:"Awk dynamic system call",description:"Blocks awk system calls that cannot be safely analyzed.",example:"awk '{ system($0) }'",intent:"stop_and_explain"},{id:"xargs.rm-recursive-force-dynamic",category:"Execution",label:"xargs dynamic rm -rf",description:"Blocks xargs rm -rf with dynamic input.",example:"printf / | xargs rm -rf",intent:"scope_down"},{id:"xargs.shell-dynamic",category:"Execution",label:"xargs dynamic shell",description:"Blocks xargs shell execution with dynamic input.",example:"xargs r$(printf m) -rf",intent:"scope_down"},{id:"parallel.rm-recursive-force-dynamic",category:"Execution",label:"parallel dynamic rm -rf",description:"Blocks parallel rm -rf with dynamic input.",example:"printf / | parallel rm -rf",intent:"scope_down"},{id:"parallel.shell-dynamic",category:"Execution",label:"parallel dynamic shell",description:"Blocks parallel shell execution with dynamic input.",example:"parallel r$(printf m) -rf ::: child",intent:"scope_down"},{id:"parallel.command-stream-dynamic",category:"Execution",label:"parallel dynamic command stream",description:"Blocks parallel command streams from dynamic input.",example:"parallel --dry-run",intent:"scope_down"},{id:"shell.dynamic-structure",category:"Execution",label:"Dynamic command structure",description:"Blocks guarded subcommands and options assembled from substitution output in strict mode.",example:"git reset $(printf --hard)",intent:"stop_and_explain",activationCapability:"fail_closed"},{id:"shell.dynamic-executable",category:"Execution",label:"Dynamic executable name",description:"Blocks executable names assembled from command substitution output in strict mode.",example:"$(printf r)m -rf /",intent:"manual_only",activationCapability:"fail_closed"},{id:"raw-text.dangerous-command",category:"Execution",label:"Raw text dangerous command",description:"Blocks dangerous commands detected in raw command text.",example:"git reset --hard 'unterminated",intent:"stop_and_explain"}],GE=new Map(es.map((e)=>[e.id,e.intent])),$y=new Set(es.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:GE.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if($y.has(e.id))return e;if(t?.destructiveCommandProtectionEnabled===!1)return null;let n=t?.effectiveDestructiveCommandRules[e.id];return n&&!n.enabled?null:e}function ue(e,t,n){if($y.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function My(e,t){return Object.freeze(Object.fromEntries(es.map((n)=>{let r=n.activationCapability?t[n.activationCapability]:void 0,o=r?.enabled??!0,i=e.destructiveCommandRuleOverrides[n.id],s=n.catastrophic?{enabled:!0,inheritedEnabled:!0,changesInherited:!1,source:"catastrophic",...i?{override:i}:{}}:e.destructiveCommandProtectionEnabled?i?{enabled:i==="on",inheritedEnabled:o,changesInherited:i==="on"!==o,source:"rule_override",...n.activationCapability?{activationCapability:n.activationCapability}:{},override:i}:{enabled:o,inheritedEnabled:o,changesInherited:!1,source:r?.source??"built_in_default",...n.activationCapability?{activationCapability:n.activationCapability}:{}}:{enabled:!1,inheritedEnabled:o,changesInherited:!1,source:"master_disabled",...n.activationCapability?{activationCapability:n.activationCapability}:{},...i?{override:i}:{}};return[n.id,Object.freeze(s)]})))}function Ly(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:My(e,t)})}function Mt(e,t){so(t,e,2);let n=e.toLowerCase(),r=n.trimStart(),o=r.startsWith("echo ")||r.startsWith("rg "),i=[{scan:"rm",label:"rm -rf"},{scan:"reset-hard",label:"git reset --hard"},{scan:"reset-merge",label:"git reset --merge"},{scan:"clean",label:"git clean -f"},{scan:"checkout",label:"git checkout --force"},{scan:"push-force",label:"git push --force"},{scan:"push-refspec",label:"git push --force"},{scan:"push-delete",label:"git push delete"},{scan:"branch",label:"git branch -D",caseSensitive:!0},{scan:"tag",label:"git tag -d"},{regex:/\bgit\s+stash\s+(drop|clear)\b/,label:"git stash drop/clear"},{regex:/\bgit\s+checkout\s+--\s/,label:"git checkout --"},{scan:"restore",label:"git restore without --staged"},{scan:"find",label:"find -delete",skipForEchoRg:!0},{regex:/\bdd\b[^\n|;&]*\bof=\/dev\/\S/,label:"dd of=/dev/",skipForEchoRg:!0},{regex:/\bmkfs(?:\.[a-z0-9_-]+)?\s+\/dev\/\S/,label:"mkfs /dev/",skipForEchoRg:!0},{regex:/\bshred\b\s+\S/,label:"shred",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Ie(t,a);if((s.regex?.test(a)??!1)||s.scan&&Ji(a,s.scan,t))return S("raw-text.dangerous-command",`Unparseable command text contains a destructive pattern (${s.label}). Rewrite as a plain, parseable command so it can be analyzed.`)}return null}var ZE=/^[A-Za-z_][A-Za-z0-9_]*=/;function Fy(e,t,n){let r=e.words[0];if(!t||!r||e.words.length!==1||e.dialect!=="posix")return!1;if(!r.quoted||r.provenance!=="literal")return!1;let o=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(r.text)?.[1];if(!o)return!1;so(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return Gy(t.nodes,r,i)}function Gy(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return Gy(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return BE(r,t,n)})}function BE(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!ZE.test(o.text));return e.words.every((o,i)=>o===t||Wy(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Wy(o.target.raw,n.anchored,!0)))}function Wy(e,t,n){let r=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="\\"&&!r){i++;continue}if(!o&&s==="'"){r=!r;continue}if(!r&&s==='"'){o=!o;continue}if(r||s!=="$")continue;if(!t.test(e.slice(i)))continue;if(!o||!n)return!1}return!0}var Zy=Object.freeze({maxDerivedTokens:16384}),By="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Oe extends Error{constructor(){super("Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.");this.name="DerivedCommandWorkLimitError"}}function ts(){return{derivedTokens:0}}function Xe(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Zy.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Zy.maxDerivedTokens-e.derivedTokens)throw new Oe;e.derivedTokens+=t}import{isAbsolute as UE,resolve as Uy}from"path";var jy=64;function lo(e,t,n){let r=UE(e)?Uy(e):t?Uy(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function Hy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function H(e){return G(e).toLowerCase()}function G(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var ns=10,Qn=20,vn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,er=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Vy=new Set(["python","python3","python2","node","ruby","perl"]),qy=/^python(?:[23](?:\.\d+)*)?$/,rs=new Set(["echo","printf","cat","head","tail","less","more","grep","rg","ag","ack","sed","awk","cut","tr","sort","uniq","wc","tee","man","help","info","type","which","whereis","whatis","apropos","file","stat","ls","ll","dir","tree","pwd","date","cal","uptime","whoami","id","groups","hostname","uname","env","printenv","set","export","alias","history","jobs","fg","bg","test","true","false","read","return","exit","break","continue","shift","wait","trap","basename","dirname","realpath","readlink","md5sum","sha256sum","base64","xxd","od","hexdump","strings","diff","cmp","comm","join","paste","column","fmt","fold","nl","pr","expand","unexpand","rev","tac","shuf","seq","yes","sleep","logger","write","wall","mesg","notify-send"]);var Sn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",tr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",os=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),jE=new Set(["-p","--print"]),HE=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),VE=new Map([["python",new Set(["W","X"])],["node",new Set(["C","r"])],["ruby",new Set(["C","E","F","I","r"])],["perl",new Set(["F","I","M","m"])]]),qE=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),KE=new Map([["python",new Set(["m"])]]),YE=new Map([["node",new Set(["--allow-fs-read","--allow-fs-write","--conditions","--cpu-prof-dir","--cpu-prof-interval","--cpu-prof-name","--debug-port","--diagnostic-dir","--disable-proto","--disable-warning","--dns-result-order","--env-file","--env-file-if-exists","--experimental-package-map","--experimental-test-isolation","--experimental-test-tag-filter","--heap-prof-dir","--heap-prof-interval","--heap-prof-name","--heapsnapshot-near-heap-limit","--heapsnapshot-signal","--icu-data-dir","--input-type","--inspect-port","--inspect-publish-uid","--localstorage-file","--max-http-header-size","--max-old-space-size-percentage","--network-family-autoselection-attempt-timeout","--openssl-config","--redirect-warnings","--report-dir","--report-directory","--report-filename","--report-signal","--secure-heap","--secure-heap-min","--test-concurrency","--test-coverage-branches","--test-coverage-exclude","--test-coverage-functions","--test-coverage-include","--test-coverage-lines","--test-global-setup","--test-isolation","--test-name-pattern","--test-random-seed","--test-reporter","--test-reporter-destination","--test-rerun-failures","--test-shard","--test-skip-pattern","--test-timeout","--title","--tls-cipher-list","--tls-keylog","--trace-event-categories","--trace-event-file-pattern","--trace-require-module","--unhandled-rejections","--use-largepages","--v8-pool-size","--watch-kill-signal"])],["python",new Set(["--check-hash-based-pycs"])],["ruby",new Set(["--backtrace-limit","--crash-report","--disable","--enable","--encoding","--external-encoding","--internal-encoding","--parser"])]]),JE=new Set(["always","default","never"]),XE=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),QE=/\\\r?\n/g,eP=new Map([["python",[{selector:"-c",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-m",kind:"module-file",valueForm:"attached-or-separate"}]],["node",[{selector:"-e",kind:"inline-code",valueForm:"separate-only"},{selector:"--eval",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-p",kind:"inline-code",valueForm:"separate-only"},{selector:"--print",kind:"inline-code",valueForm:"separate-only"},{selector:"-r",kind:"module-file",valueForm:"separate-only"},{selector:"--require",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--import",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--loader",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--experimental-loader",kind:"module-file",valueForm:"equals-or-separate"}]],["ruby",[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-r",kind:"module-file",valueForm:"attached-or-separate"}]],["perl",[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-E",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-M",kind:"module-file",valueForm:"attached-only"},{selector:"-m",kind:"module-file",valueForm:"attached-only"}]]]);function is(e){return as(e).code}function ss(e){return as(e).sources}function Yy(e){return eP.get(ls(e))??[]}function as(e){let t=ls(e[0]??"");if(!os.has(t))return{code:null,sources:[],optionsOpen:!1};let n=[],r=[],o=!0;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--")return Qe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Qe(t,n,r,o,i,s);if(t==="node"&&jE.has(s)){let d=e[i+1];if(d===void 0)return Qe(t,n,r,o);if(d.startsWith("-"))continue;n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),i++;continue}if(nP(t,s)){let d=e[i+1];if(d===void 0)return Qe(t,n,r,o);if(n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),t==="python")return Qe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(rP(t)&&a){let d=a[1]??"";n.push({tokenIndex:i,value:d}),r.push({tokenIndex:i,kind:"inline-code",value:d});continue}if(t==="node"){let d=tP(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let f=e[i+1];if(f===void 0||f.startsWith("-"))return o=!1,Qe(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:f}),i++;continue}}if(t==="python"&&s.startsWith("--check-hash-based-pycs=")||t==="node"&&(s==="--conditions="||s==="--diagnostic-dir="||s==="--title=")||t==="ruby"&&(s==="--disable="||s==="--enable="))return Qe(t,n,r,o);if(YE.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&XE.has(s))||t==="python"&&!JE.has(d))return Qe(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let f=s[d];if(f===void 0)break;if(KE.get(t)?.has(f)){let m=s.slice(d+1),p=m||e[i+1];if(p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});return Qe(t,n,r,o)}if(HE.get(t)?.has(f)){c=s.slice(d+1)||e[i+1],l=d+1===s.length;break}if(t==="node"&&f==="r"){if(s==="-r"){let m=e[i+1];if(o&&=m!==void 0&&!m.startsWith("-"),o&&m!==void 0)r.push({tokenIndex:i+1,kind:"module-file",value:m});i++}else o=!1;break}if(t==="ruby"&&f==="r"){let m=s.slice(d+1),p=m||e[i+1];if(o&&=p!==void 0,p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});if(!m)i++;break}if(t==="perl"&&(f==="M"||f==="m")){let m=s.slice(d+1);if(m)r.push({tokenIndex:i,kind:"module-file",value:m});else if(o=!1,d+1===s.length)i++;break}if(VE.get(t)?.has(f)){if(d+1===s.length)i++;break}if(qE.get(t)?.has(f)&&d+1<s.length)break}if(c===void 0)continue;let u=l?i+1:i;if(n.push({tokenIndex:u,value:c}),r.push({tokenIndex:u,kind:"inline-code",value:c}),t==="python")return Qe(t,n,r,o);if(l)i++}return Qe(t,n,r,o,void 0,void 0,!0)}function Qe(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
27
+ `))||null,sources:r?l:[],optionsOpen:r&&s}}function tP(e){for(let t of["--import","--loader","--experimental-loader","--require"]){if(e===t)return{attached:!1,value:""};if(e.startsWith(`${t}=`))return{attached:!0,value:e.slice(t.length+1)}}return}function ze(e){return os.has(ls(e))}function cs(e,t){return ls(e)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(t)}function ls(e){let t=G(e).toLowerCase();return qy.test(t)?"python":t}function nP(e,t){return os.get(e)?.has(t)??!1}function rP(e){return os.get(e)?.has("--eval")??!1}function nr(e,t){let n=sP(e,t);if(!Ky(n,t))return!1;Ie(t,n);let r=iP(n);if(Ky(r,t))return!0;return Ie(t,r),oP.test(r)}var oP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function iP(e){let t=[],n=0,r=0;while(r<e.length){let o=e[r];if(o!=="'"&&o!=='"'){r++;continue}let i=e.startsWith(o.repeat(3),r)?o.repeat(3):o,s=r+i.length;while(s<e.length&&!e.startsWith(i,s))s+=e[s]==="\\"?2:1;if(s>=e.length)break;t.push(e.slice(n,r)," "),r=s+i.length,n=r}return t.push(e.slice(n)),t.join("")}function Ky(e,t){if(Yi(e,"rm",t))return!0;for(let r of[/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(Ie(t,e),r.test(e))return!0;if(Yi(e,"dd",t))return!0;for(let r of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(Ie(t,e),r.test(e))return!0;if(Yi(e,"find",t))return!0;let n=e.split(/[\n\r\u2028\u2029]/);return["reset-hard","reset-merge","clean","checkout","push-force","push-refspec","push-delete","branch","tag","restore"].some((r)=>(Ie(t,e),n.some((o)=>Ji(o,r))))}function sP(e,t){return Ie(t,e),e.replace(QE,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Jy="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class ds extends Error{constructor(){super("Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.");this.name="ParallelAnalysisLimitError"}}function Xy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function Ne(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(us(e.childAnalyses,n,V.maxChildAnalyses)||us(e.derivedTokens,r,V.maxDerivedTokens)||us(e.derivedBytes,o,V.maxDerivedBytes)||us(e.placeholderReplacements,i,V.maxPlaceholderReplacements))throw new ds;e.childAnalyses+=n,e.derivedTokens+=r,e.derivedBytes+=o,e.placeholderReplacements+=i}function us(e,t,n){return!Number.isSafeInteger(e)||e<0||e>n||!Number.isSafeInteger(t)||t<0||t>n-e}import{isAbsolute as Tu,normalize as vA,parse as SA,posix as hv,resolve as cr,sep as Au}from"path";import{isAbsolute as aP,join as Qy,normalize as nb,parse as cP,sep as eb}from"path";var lP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],uP=`
28
+ `;function uo(e,t){if(ft(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Xl(e.get("TMPDIR")??"",t)}function Lt(e,t){if(e.has("TMPDIR"))return Xl(e.get("TMPDIR")??"",t);let n=Ql(e,t);if(n===void 0)return!0;return Xl(n,t)}function Ql(e,t){return ib(e,t,"TMPDIR")}function Xl(e,t){if(!e)return!1;if(mP(e))return!1;return eu(e,t)}function ft(e,t){let n=ib(e,t,"IFS");return n!==void 0&&n!==""&&n!==uP}function eu(e,t){let n=ms(e,t.paths);if(n===null)return!1;return ob(t).some((r)=>pP(n,r))}function rb(e,t){let n=ms(e,t.paths);if(n===null)return!1;return ob(t).some((r)=>fs(r)===fs(n))}var tb=new WeakMap;function ob(e){let t=tb.get(e);if(t)return t;let n=dP(e);return tb.set(e,n),n}function dP(e){let t=lP.map((r)=>ms(r,e.paths)??nb(r)),n=ms(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&fP(n))return[...t,n];return t}function mP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function ib(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function fP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ms(e,t){try{let n=nb(e);if(!aP(n))return n;let r=cP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=Qy(i,o[s]??"");if(t.entryKind(a)==="missing")return Qy(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function pP(e,t){let n=fs(e),r=fs(t);if(n===r)return!0;let o=r.endsWith(eb)?r:`${r}${eb}`;return n.startsWith(o)}function fs(e){return process.platform==="win32"?e.toLowerCase():e}import{statSync as oA}from"fs";import{isAbsolute as av,join as iA,relative as cv}from"path";import{isAbsolute as sb,parse as gP}from"path";var cb=/^[A-Za-z_][A-Za-z0-9_]*=/;function He(e){if(!cb.test(e))return null;let t=e.indexOf("=");return{name:e.slice(0,t),value:e.slice(t+1)}}function ps(e){let t=new Map,n=0;while(n<e.length){let r=e[n];if(!r)break;let o=He(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function lb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function xn(e,t,n,r){if(!lb(rr(e)))return{words:e,envAssignments:new Map,cwd:n,rewritten:!1};let o=new Set(e),i=e,s=new Map,a=new Map(r??[]),c=[],l=n;for(let d=0;d<Qn;d++){let f=ab(i),m=ps(i);for(let[h,b]of m.envAssignments)s.set(h,b),a.set(h,b);if(i=m.words,i.length===0)break;while(i.length>0&&rr(i).includes("=")&&!yP(i)){let h=bP(rr(i),a,t.env)??Hi(rr(i),t.env,a);if(h)s.set(h.name,h.value),a.set(h.name,h.value);i=i.slice(1)}if(i.length===0)break;let p=rr(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=SP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=CP(i,l,a,t);if(c.push(...h.envSplitValues??[]),i=h.words,h.cwd!==void 0)l=h.cwd;for(let[b,y]of h.envAssignments)s.set(b,y),a.set(b,y)}if(p==="command")i=wP(i);if(p==="builtin")i=i.slice(et(i,1)==="--"?2:1);if(ab(i)===f)break}let u=ps(i);for(let[d,f]of u.envAssignments)s.set(d,f),a.set(d,f);return{words:u.words,envAssignments:s,cwd:l,envSplitValues:c.length>0?c:void 0,rewritten:hP(u.words,o)}}function hP(e,t){return e.some((n)=>!t.has(n))}function ab(e){return e.map(N).join(" ")}function rr(e){let t=e[0];return t?N(t):""}function et(e,t){let n=e[t];return n?N(n):void 0}function yP(e){return cb.test(rr(e))}function bP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var vP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function SP(e,t,n){let r=1,o=n;while(r<e.length){let i=et(e,r);if(!i)break;if(i==="--")return{words:e.slice(r+1),cwd:o};if(!i.startsWith("-"))break;if(i==="-D"||i==="--chdir"){let s=et(e,r+1);o=s?mo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=mo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=mo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(vP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var xP=new Set(["-i","-0","--null"]),_P=new Set(["-u","--unset","-C","--chdir","-P"]);function CP(e,t,n,r){let o=new Map,i=[],s=t,a=1,c=(l)=>({words:e.slice(l),envAssignments:o,cwd:s,envSplitValues:i.length>0?i:void 0});while(a<e.length){let l=et(e,a);if(!l)break;if(l==="--")return c(a+1);if(l==="-i"||l==="--ignore-environment"||l==="-"){o.clear();for(let d of n.keys())o.set(d,"");o.set("TMPDIR",""),a++;continue}if(xP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=et(e,a+1);if(d!==void 0)o.set(d,"");a+=2;continue}if(l.startsWith("-u")&&l.length>2&&!l.startsWith("-u=")){o.set(l.slice(2),""),a++;continue}if(l.startsWith("--unset=")){o.set(l.slice(8),""),a++;continue}let u=l==="-S"||l==="--split-string"?{value:et(e,a+1),consumed:2}:l.startsWith("-S")&&l.length>2?{value:l.slice(2),consumed:1}:l.startsWith("--split-string=")?{value:l.slice(15),consumed:1}:null;if(u){if(u.value!==void 0)i.push(u.value);return s=null,c(a+u.consumed)}if(_P.has(l)){if(l==="-C"||l==="--chdir"){let d=et(e,a+1);s=d?mo(s,d,r.paths):null}a+=2;continue}if(l.startsWith("-u=")){a++;continue}if(l.startsWith("-C")&&l.length>2||l.startsWith("--chdir=")){let d=l.startsWith("--chdir=")?l.slice(8):l.startsWith("-C=")?l.slice(3):l.slice(2);s=mo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!He(l))break;while(a<e.length){let d=He(et(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(et(e,a)==="--")a++;return c(a)}return c(a)}function mo(e,t,n){if(t==="")return null;if(!e&&!sb(t))return null;let r=sb(t)?gP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Kt(r,t,n)}catch{return null}}function wP(e){if(et(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=et(e,t);if(!n)break;if(n==="-p"||n==="-v"||n==="-V"){t++;continue}if(n==="--")return e.slice(t+1);if(n.startsWith("-")&&!n.startsWith("--")&&n.length>1){if(!/^[pvV]+$/.test(n.slice(1)))break;t++;continue}break}return e.slice(t)}var RP=/['"\\$`{}#]/;function gs(e,t){if(e.some((r)=>RP.test(r)))return null;let n=[...e.flatMap((r)=>r.split(/\s+/).filter((o)=>o.length>0)),...t];return n.length<=64?n:null}function or(e,t,n){return hs(e,t,n).tokens}function EP(e){let t=[],n="",r=0;while(r<e.length){let o=e.charAt(r);if(o==='"'||o==="'"){let i=e.indexOf(o,r+1);if(i===-1)return e.split(/\s+/).map((s)=>s.replace(/["']/g,"")).filter((s)=>s.length>0);n+=e.slice(r+1,i),r=i+1;continue}if(/\s/.test(o)){if(n.length>0)t.push(n);n="",r++;continue}n+=o,r++}if(n.length>0)t.push(n);return t}function Jt(e,t,n,r=0){let o=hs(e,t,n),i=(o.envSplitValues??[]).flatMap(EP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Jt(s,t,n,r+1)}function hs(e,t,n,r){if(!lb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=xn(j(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as Xk,isAbsolute as Qk,normalize as eA,resolve as rv}from"path";function ys(){return[]}function bs(){return[]}function vs(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function PP(e){return Object.freeze({...e,span:Object.freeze(e.span),words:Object.freeze(e.words),redirections:Object.freeze(e.redirections.map((t)=>Object.freeze({...t,span:Object.freeze(t.span),...t.heredoc?{heredoc:Object.freeze({...t.heredoc,bodySpan:Object.freeze(t.heredoc.bodySpan),terminatorSpan:Object.freeze(t.heredoc.terminatorSpan)})}:{}}))),nested:Object.freeze(e.nested.map((t)=>Ce(t)))})}function Ss(e,t,n){e.push(n),t.reset()}function kP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function xs(e){let t=[];return{parts:t,push:(n,r,o)=>kP(t,e,n,r,o)}}function tu(e){let t=e.parts??[{raw:e.raw,span:e.span,provenance:e.provenance}];return Object.freeze({kind:"word",...e,span:Object.freeze(e.span),parts:Object.freeze(t.map((n)=>Object.freeze({...n,span:Object.freeze(n.span)})))})}function ir(e,t,n,r,o,i,s){return tu({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function Ce(e){return Object.freeze({...e,span:Object.freeze(e.span),issues:Object.freeze(e.issues.map((t)=>Object.freeze({...t,span:Object.freeze(t.span)}))),nodes:Object.freeze(e.nodes.map((t)=>{if(t.kind==="command")return PP(t);if(t.kind==="group"||t.kind==="function")return Object.freeze({...t,span:Object.freeze(t.span),body:Ce(t.body)});return Object.freeze({...t,span:Object.freeze(t.span)})}))})}function nu(e,t,n){if(t>=n||db(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!db(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=ub(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=ub(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
29
+ `||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function ru(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=AP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?TP(e.slice(a,i)):e.slice(a,i),delimiter:s.delimiter,quotedDelimiter:s.quotedDelimiter,bodySpan:{start:a,end:i},terminatorSpan:{start:i,end:l.contentEnd}}),i=l.next,c=!0;break}if(l.next<=i)break;i=l.next}if(c)continue;return o.push({code:"unterminated-heredoc",message:`heredoc delimiter ${s.delimiter} was not found`,span:s.declarationSpan}),{next:n,issues:o,terminated:!1}}return{next:i,issues:o,terminated:!0}}function ub(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
30
+ `&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function db(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function AP(e,t,n){let r=t;while(r<n&&e[r]!==`
31
31
  `&&e[r]!=="\r")r++;let o=r>=n?n:e[r]==="\r"&&e[r+1]===`
32
- `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function AP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var gb=new Set(["&&","||","|","|&"]);function hb(e,t,n){let r={start:0,end:e.length};if(e.length>n.maxInputLength)return Ce({kind:"program",dialect:t,source:e,span:r,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${n.maxInputLength} UTF-16 code units`,span:r}],nodes:[]});let o=Cs(e,0,e.length,t,n,{used:0,max:n.maxWords},0);return Ce({kind:"program",dialect:t,source:e,span:r,status:Es(o.issues,o.limited),issues:o.issues,nodes:o.nodes})}function Cs(e,t,n,r,o,i,s,a){let c=hs(),l=ys(),u=bs(),d=[],f=()=>{if(u.words.length===0&&u.redirections.length===0)return;let p={start:u.start,end:u.end},h=u.words.map((b)=>b.text);vs(c,u,{kind:"command",dialect:r,source:e.slice(p.start,p.end),span:p,words:u.words,redirections:u.redirections,nested:u.nested,displayText:l.length>0&&c.length===0?e.slice(t,n):h.join(" ")})},m=t;while(m<n){let p=e[m];if(!p)break;if(a&&p===a)return f(),pb(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(Rs(p)){if(p===`
32
+ `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function TP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var hb=new Set(["&&","||","|","|&"]);function yb(e,t,n){let r={start:0,end:e.length};if(e.length>n.maxInputLength)return Ce({kind:"program",dialect:t,source:e,span:r,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${n.maxInputLength} UTF-16 code units`,span:r}],nodes:[]});let o=ws(e,0,e.length,t,n,{used:0,max:n.maxWords},0);return Ce({kind:"program",dialect:t,source:e,span:r,status:Ps(o.issues,o.limited),issues:o.issues,nodes:o.nodes})}function ws(e,t,n,r,o,i,s,a){let c=ys(),l=bs(),u=vs(),d=[],f=()=>{if(u.words.length===0&&u.redirections.length===0)return;let p={start:u.start,end:u.end},h=u.words.map((b)=>b.text);Ss(c,u,{kind:"command",dialect:r,source:e.slice(p.start,p.end),span:p,words:u.words,redirections:u.redirections,nested:u.nested,displayText:l.length>0&&c.length===0?e.slice(t,n):h.join(" ")})},m=t;while(m<n){let p=e[m];if(!p)break;if(a&&p===a)return f(),gb(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(Es(p)){if(p===`
33
33
  `||p==="\r"){f();let P=p==="\r"&&e[m+1]===`
34
- `?m+2:m+1,_=c.at(-1);if(_?.kind!=="connector"||!gb.has(_.operator))c.push(Object.freeze({kind:"connector",operator:e.slice(m,P),span:Object.freeze({start:m,end:P})}));if(d.length>0){let v=nu(e,P,n,d.splice(0));l.push(...v.issues),m=v.next;continue}m=P;continue}m++;continue}if(p==="#"){while(m<n&&e[m]!==`
35
- `&&e[m]!=="\r")m++;continue}let h=u.start===-1?qP(e,m,n):void 0;if(h){if(ou(c,l,m),s>=o.maxDepth)return ar(c,l,m,"depth-limit",o.maxDepth);if(!ru(i))return ar(c,l,m,"word-limit",o.maxWords);let P=Cs(e,h.braceIndex+1,n,r,o,i,s+1,"}"),_=P.next,v={start:h.braceIndex+1,end:P.closed?_-1:_},T=db(e,r,v,P);if(c.push({kind:"function",name:h.name,span:{start:m,end:_},body:T}),l.push(...P.issues),P.pendingHeredocs.length>0||po(P.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:_}});if(d.push(...P.pendingHeredocs),P.limited)return _s(c,l,P.next);if(!P.closed)l.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:h.braceIndex,end:_}});m=_;continue}let b=ws(e,m);if(b){if(f(),!wb(c.at(-1)))l.push({code:"unexpected-connector",message:`connector ${b} has no preceding command`,span:{start:m,end:m+b.length}});c.push(Object.freeze({kind:"connector",operator:b,span:Object.freeze({start:m,end:m+b.length})})),m+=b.length;continue}if(p===")"){f(),l.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:m,end:m+1}}),c.push({kind:"unknown",source:p,span:{start:m,end:m+1}}),m++;continue}if((p==="("||p==="{"&&$P(e,m,n))&&u.start===-1){if(ou(c,l,m),s>=o.maxDepth)return ar(c,l,m,"depth-limit",o.maxDepth);let P=p==="("?")":"}",_=Cs(e,m+1,n,r,o,i,s+1,P),v=_.next,T={start:m+1,end:_.closed?v-1:v},k=db(e,r,T,_);if(c.push({kind:"group",style:p==="("?"subshell":"brace",span:{start:m,end:v},body:k}),l.push(..._.issues),_.pendingHeredocs.length>0||po(_.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:m,end:v}});if(d.push(..._.pendingHeredocs),_.limited)return _s(c,l,_.next);if(!_.closed)l.push({code:p==="("?"unclosed-subshell":"unclosed-brace-group",message:`${p} group is not closed`,span:{start:m,end:v}});m=v;continue}let y=(p==="<"||p===">")&&e[m+1]!=="("?OP(e,m):null;if(y){let P=u.words.at(-1),_=P&&P.span.end===m&&/^[0-9]+$/.test(P.raw)?Number(P.raw):void 0;if(_!==void 0)u.words.pop();let v=_===void 0?m:P?.span.start??m;u.start=u.start===-1?m:u.start;let T=m+y.length;while(T<n&&/[ \t]/.test(e[T]??""))T++;let k=e[T],z=T>m+y.length&&k==="#",M=!k||Rs(k)||!!ws(e,T)||k===a||k===")"||z||(k==="<"||k===">")&&e[T+1]!=="(",W=y==="<<"||y==="<<-"?tu(e,T,n):void 0,U=W?{word:sr(e,T,W.next,W.delimiter,"literal",W.quoted),nested:[],issues:[],next:W.next,limited:!1}:!M?iu(e,T,n,r,o,i,s):void 0;if(U){if(l.push(...U.issues),U.limited)return _s(c,l,U.next);if(!ru(i))return ar(c,l,U.next,"word-limit",o.maxWords)}let ge=U?.next??m+y.length,Be={kind:"redirection",operator:y,span:{start:v,end:ge},..._===void 0?{}:{fd:_},...U?{target:U.word}:{}};if(u.redirections.push(Be),y==="<<"||y==="<<-")if(!W)l.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:m,end:m+y.length}});else{if(W.ambiguous||W.delimiter.length===0)l.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:W.span});d.push({delimiter:W.delimiter,quotedDelimiter:W.quoted,stripTabs:y==="<<-",declarationSpan:{start:v,end:ge},attach:(A)=>{Be.heredoc=A}})}else if(!U)l.push({code:"missing-redirection-target",message:`redirection ${y} requires a target word`,span:{start:m,end:m+y.length}});if(U)u.nested.push(...U.nested);u.end=ge,m=ge;continue}if(u.start===-1)ou(c,l,m);let R=iu(e,m,n,r,o,i,s);if(l.push(...R.issues),R.limited)return _s(c,l,R.next);let w=WP(u.words)?UP(e,R.word,i.max-i.used,o.maxDepth,o.maxInputLength):void 0;if(w?.limitCode)return ar(c,l,R.next,w.limitCode,w.limitCode==="word-limit"?o.maxWords:w.limitCode==="depth-limit"?o.maxDepth:o.maxInputLength);let E=w?.words??[R.word];for(let P of E){if(!ru(i))return ar(c,l,R.next,"word-limit",o.maxWords);u.words.push(P)}u.start=u.start===-1?m:u.start,u.end=R.next,u.nested.push(...R.nested),m=R.next>m?R.next:m+1}return f(),pb(c,l),l.push(...KP(d)),{nodes:c,issues:l,next:m,closed:a===void 0,limited:!1,pendingHeredocs:[]}}function db(e,t,n,r){return{kind:"program",dialect:t,source:e.slice(n.start,n.end),span:n,status:Es(r.issues,r.limited),issues:r.issues,nodes:r.nodes}}function iu(e,t,n,r,o,i,s){let a="",c=t,l=!1,u="literal",d=[],f=[],m=!1;while(c<n){let p=e[c],h=(p==="<"||p===">")&&e[c+1]==="(";if(!p||Rs(p)||(p===";"||p==="|"||p==="&")&&ws(e,c)||(p==="<"||p===">")&&!h)break;if(p===")")break;if(p==="'"){l=!0;let y=e.indexOf("'",c+1);if(y===-1||y>=n){a+=e.slice(c+1,n),f.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:c,end:n}}),c=n;break}a+=e.slice(c+1,y),c=y+1;continue}if(p==='"'){l=!0;let y=TP(e,c,n,r,o,i,s);if(a+=y.text,d.push(...y.nested),f.push(...y.issues),m||=y.limited,u=fo(u,y.provenance),c=y.next,m)break;continue}if(e.startsWith("$'",c)){l=!0;let y=zP(e,c+2,n);if(a+=y.text,f.push(...y.issues),!y.closed)f.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:c,end:n}});c=y.next;continue}if(p==="\\"){let y=e[c+1];if(!y){f.push({code:"trailing-escape",message:"escape has no following character",span:{start:c,end:c+1}}),c++;break}if(y===`
36
- `){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?su(e,c,n,r,o,i,s):null;if(b){let y=yb(b,d,f);if(m||=y.limited,u=fo(u,y.provenance),c=y.next,m)break;continue}if(p==="$"){let y=Sb(e,c,n,a,u);a=y.text,u=y.provenance,c=y.next;continue}if(p==="*"||p==="?"||p==="[")u=fo(u,"glob");a+=p,c++}return{word:sr(e,t,c,a,u,l,u==="literal"?void 0:DP(e,t,c)),nested:d,issues:f,next:c,limited:m}}function TP(e,t,n,r,o,i,s){let a="",c="literal",l=[],u=[],d=!1,f=t+1;while(f<n){let m=e[f];if(m==='"')return{text:a,provenance:c,nested:l,issues:u,next:f+1,limited:d};if(m==="\\"&&e[f+1]){let h=e[f+1]??"";if(h===`
34
+ `?m+2:m+1,_=c.at(-1);if(_?.kind!=="connector"||!hb.has(_.operator))c.push(Object.freeze({kind:"connector",operator:e.slice(m,P),span:Object.freeze({start:m,end:P})}));if(d.length>0){let v=ru(e,P,n,d.splice(0));l.push(...v.issues),m=v.next;continue}m=P;continue}m++;continue}if(p==="#"){while(m<n&&e[m]!==`
35
+ `&&e[m]!=="\r")m++;continue}let h=u.start===-1?KP(e,m,n):void 0;if(h){if(iu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);if(!ou(i))return sr(c,l,m,"word-limit",o.maxWords);let P=ws(e,h.braceIndex+1,n,r,o,i,s+1,"}"),_=P.next,v={start:h.braceIndex+1,end:P.closed?_-1:_},T=mb(e,r,v,P);if(c.push({kind:"function",name:h.name,span:{start:m,end:_},body:T}),l.push(...P.issues),P.pendingHeredocs.length>0||po(P.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:_}});if(d.push(...P.pendingHeredocs),P.limited)return Cs(c,l,P.next);if(!P.closed)l.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:h.braceIndex,end:_}});m=_;continue}let b=Rs(e,m);if(b){if(f(),!Rb(c.at(-1)))l.push({code:"unexpected-connector",message:`connector ${b} has no preceding command`,span:{start:m,end:m+b.length}});c.push(Object.freeze({kind:"connector",operator:b,span:Object.freeze({start:m,end:m+b.length})})),m+=b.length;continue}if(p===")"){f(),l.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:m,end:m+1}}),c.push({kind:"unknown",source:p,span:{start:m,end:m+1}}),m++;continue}if((p==="("||p==="{"&&MP(e,m,n))&&u.start===-1){if(iu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);let P=p==="("?")":"}",_=ws(e,m+1,n,r,o,i,s+1,P),v=_.next,T={start:m+1,end:_.closed?v-1:v},k=mb(e,r,T,_);if(c.push({kind:"group",style:p==="("?"subshell":"brace",span:{start:m,end:v},body:k}),l.push(..._.issues),_.pendingHeredocs.length>0||po(_.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:m,end:v}});if(d.push(..._.pendingHeredocs),_.limited)return Cs(c,l,_.next);if(!_.closed)l.push({code:p==="("?"unclosed-subshell":"unclosed-brace-group",message:`${p} group is not closed`,span:{start:m,end:v}});m=v;continue}let y=(p==="<"||p===">")&&e[m+1]!=="("?zP(e,m):null;if(y){let P=u.words.at(-1),_=P&&P.span.end===m&&/^[0-9]+$/.test(P.raw)?Number(P.raw):void 0;if(_!==void 0)u.words.pop();let v=_===void 0?m:P?.span.start??m;u.start=u.start===-1?m:u.start;let T=m+y.length;while(T<n&&/[ \t]/.test(e[T]??""))T++;let k=e[T],z=T>m+y.length&&k==="#",M=!k||Es(k)||!!Rs(e,T)||k===a||k===")"||z||(k==="<"||k===">")&&e[T+1]!=="(",W=y==="<<"||y==="<<-"?nu(e,T,n):void 0,U=W?{word:ir(e,T,W.next,W.delimiter,"literal",W.quoted),nested:[],issues:[],next:W.next,limited:!1}:!M?su(e,T,n,r,o,i,s):void 0;if(U){if(l.push(...U.issues),U.limited)return Cs(c,l,U.next);if(!ou(i))return sr(c,l,U.next,"word-limit",o.maxWords)}let ge=U?.next??m+y.length,Be={kind:"redirection",operator:y,span:{start:v,end:ge},..._===void 0?{}:{fd:_},...U?{target:U.word}:{}};if(u.redirections.push(Be),y==="<<"||y==="<<-")if(!W)l.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:m,end:m+y.length}});else{if(W.ambiguous||W.delimiter.length===0)l.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:W.span});d.push({delimiter:W.delimiter,quotedDelimiter:W.quoted,stripTabs:y==="<<-",declarationSpan:{start:v,end:ge},attach:(A)=>{Be.heredoc=A}})}else if(!U)l.push({code:"missing-redirection-target",message:`redirection ${y} requires a target word`,span:{start:m,end:m+y.length}});if(U)u.nested.push(...U.nested);u.end=ge,m=ge;continue}if(u.start===-1)iu(c,l,m);let R=su(e,m,n,r,o,i,s);if(l.push(...R.issues),R.limited)return Cs(c,l,R.next);let w=FP(u.words)?jP(e,R.word,i.max-i.used,o.maxDepth,o.maxInputLength):void 0;if(w?.limitCode)return sr(c,l,R.next,w.limitCode,w.limitCode==="word-limit"?o.maxWords:w.limitCode==="depth-limit"?o.maxDepth:o.maxInputLength);let E=w?.words??[R.word];for(let P of E){if(!ou(i))return sr(c,l,R.next,"word-limit",o.maxWords);u.words.push(P)}u.start=u.start===-1?m:u.start,u.end=R.next,u.nested.push(...R.nested),m=R.next>m?R.next:m+1}return f(),gb(c,l),l.push(...YP(d)),{nodes:c,issues:l,next:m,closed:a===void 0,limited:!1,pendingHeredocs:[]}}function mb(e,t,n,r){return{kind:"program",dialect:t,source:e.slice(n.start,n.end),span:n,status:Ps(r.issues,r.limited),issues:r.issues,nodes:r.nodes}}function su(e,t,n,r,o,i,s){let a="",c=t,l=!1,u="literal",d=[],f=[],m=!1;while(c<n){let p=e[c],h=(p==="<"||p===">")&&e[c+1]==="(";if(!p||Es(p)||(p===";"||p==="|"||p==="&")&&Rs(e,c)||(p==="<"||p===">")&&!h)break;if(p===")")break;if(p==="'"){l=!0;let y=e.indexOf("'",c+1);if(y===-1||y>=n){a+=e.slice(c+1,n),f.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:c,end:n}}),c=n;break}a+=e.slice(c+1,y),c=y+1;continue}if(p==='"'){l=!0;let y=IP(e,c,n,r,o,i,s);if(a+=y.text,d.push(...y.nested),f.push(...y.issues),m||=y.limited,u=fo(u,y.provenance),c=y.next,m)break;continue}if(e.startsWith("$'",c)){l=!0;let y=NP(e,c+2,n);if(a+=y.text,f.push(...y.issues),!y.closed)f.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:c,end:n}});c=y.next;continue}if(p==="\\"){let y=e[c+1];if(!y){f.push({code:"trailing-escape",message:"escape has no following character",span:{start:c,end:c+1}}),c++;break}if(y===`
36
+ `){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?au(e,c,n,r,o,i,s):null;if(b){let y=bb(b,d,f);if(m||=y.limited,u=fo(u,y.provenance),c=y.next,m)break;continue}if(p==="$"){let y=xb(e,c,n,a,u);a=y.text,u=y.provenance,c=y.next;continue}if(p==="*"||p==="?"||p==="[")u=fo(u,"glob");a+=p,c++}return{word:ir(e,t,c,a,u,l,u==="literal"?void 0:$P(e,t,c)),nested:d,issues:f,next:c,limited:m}}function IP(e,t,n,r,o,i,s){let a="",c="literal",l=[],u=[],d=!1,f=t+1;while(f<n){let m=e[f];if(m==='"')return{text:a,provenance:c,nested:l,issues:u,next:f+1,limited:d};if(m==="\\"&&e[f+1]){let h=e[f+1]??"";if(h===`
37
37
  `){f+=2;continue}if(h==="\r"&&e[f+2]===`
38
- `){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=au(e,f+3,n,"))"),b=h===-1?n:h+2;if(a+=e.slice(f,b),h===-1)u.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:f,end:b}});f=b;continue}let p=su(e,f,n,r,o,i,s);if(p){let h=yb(p,l,u);if(f=h.next,d||=h.limited,c=fo(c,h.provenance),d)return{text:a,provenance:c,nested:l,issues:u,next:f,limited:d};continue}if(m==="$"){let h=Sb(e,f,n,a,c);a=h.text,c=h.provenance,f=h.next;continue}a+=m??"",f++}return u.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:t,end:n}}),{text:a,provenance:c,nested:l,issues:u,next:n,limited:d}}function su(e,t,n,r,o,i,s){let a=e.startsWith("$((",t),c=e.startsWith("$(",t)&&!a,l=(e.startsWith("<(",t)||e.startsWith(">(",t))&&!0,u=e[t]==="`";if(!a&&!c&&!l&&!u)return null;let d=a?3:u?1:2,f=a?"))":u?"`":")",m=au(e,t+d,n,f),p=m===-1?n:m,h=m===-1?n:m+f.length;if(s>=o.maxDepth)return{program:VP(e,t+d,p,r,"depth-limit"),next:h,provenance:a?"arithmetic":"command-substitution"};if(a){let w=[],E=[],P=!1,_=t+d;while(_<p){let v=su(e,_,p,r,o,i,s+1);if(!v){_++;continue}if(w.push(...v.program.nodes),E.push(...v.program.issues),P||=v.program.status==="limited",_=v.next,P)break}if(m===-1)E.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:t,end:h}});return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Es(E,P),issues:E,nodes:w}),next:h,provenance:"arithmetic"}}let b=Cs(e,t+d,p,r,o,i,s+1),y=m===-1?[{code:a?"unclosed-arithmetic":"unclosed-command-substitution",message:`${e.slice(t,t+d)} substitution is not closed`,span:{start:t,end:h}}]:[],R=(u||l)&&po(b.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:t,end:h}}]:[];return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Es([...b.issues,...y,...R],b.limited),issues:[...b.issues,...y,...R],nodes:b.nodes}),next:h,provenance:a?"arithmetic":"command-substitution"}}function yb(e,t,n){return t.push(e.program),n.push(...e.program.issues),{provenance:e.provenance,next:e.next,limited:e.program.status==="limited"}}function au(e,t,n,r){if(r==="`"){for(let a=t;a<n;a++)if(e[a]==="\\")a++;else if(e[a]==="`")return a;return-1}let o=1,i={single:!1,double:!1},s=[];for(let a=t;a<n;a++){let c=e[a];if((c===`
38
+ `){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=cu(e,f+3,n,"))"),b=h===-1?n:h+2;if(a+=e.slice(f,b),h===-1)u.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:f,end:b}});f=b;continue}let p=au(e,f,n,r,o,i,s);if(p){let h=bb(p,l,u);if(f=h.next,d||=h.limited,c=fo(c,h.provenance),d)return{text:a,provenance:c,nested:l,issues:u,next:f,limited:d};continue}if(m==="$"){let h=xb(e,f,n,a,c);a=h.text,c=h.provenance,f=h.next;continue}a+=m??"",f++}return u.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:t,end:n}}),{text:a,provenance:c,nested:l,issues:u,next:n,limited:d}}function au(e,t,n,r,o,i,s){let a=e.startsWith("$((",t),c=e.startsWith("$(",t)&&!a,l=(e.startsWith("<(",t)||e.startsWith(">(",t))&&!0,u=e[t]==="`";if(!a&&!c&&!l&&!u)return null;let d=a?3:u?1:2,f=a?"))":u?"`":")",m=cu(e,t+d,n,f),p=m===-1?n:m,h=m===-1?n:m+f.length;if(s>=o.maxDepth)return{program:qP(e,t+d,p,r,"depth-limit"),next:h,provenance:a?"arithmetic":"command-substitution"};if(a){let w=[],E=[],P=!1,_=t+d;while(_<p){let v=au(e,_,p,r,o,i,s+1);if(!v){_++;continue}if(w.push(...v.program.nodes),E.push(...v.program.issues),P||=v.program.status==="limited",_=v.next,P)break}if(m===-1)E.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:t,end:h}});return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Ps(E,P),issues:E,nodes:w}),next:h,provenance:"arithmetic"}}let b=ws(e,t+d,p,r,o,i,s+1),y=m===-1?[{code:a?"unclosed-arithmetic":"unclosed-command-substitution",message:`${e.slice(t,t+d)} substitution is not closed`,span:{start:t,end:h}}]:[],R=(u||l)&&po(b.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:t,end:h}}]:[];return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Ps([...b.issues,...y,...R],b.limited),issues:[...b.issues,...y,...R],nodes:b.nodes}),next:h,provenance:a?"arithmetic":"command-substitution"}}function bb(e,t,n){return t.push(e.program),n.push(...e.program.issues),{provenance:e.provenance,next:e.next,limited:e.program.status==="limited"}}function cu(e,t,n,r){if(r==="`"){for(let a=t;a<n;a++)if(e[a]==="\\")a++;else if(e[a]==="`")return a;return-1}let o=1,i={single:!1,double:!1},s=[];for(let a=t;a<n;a++){let c=e[a];if((c===`
39
39
  `||c==="\r")&&s.length>0){let u=c==="\r"&&e[a+1]===`
40
- `?a+2:a+1,d=nu(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=bb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=IP(e,a+3,n);if(u===-1)return-1;a=u+1;continue}if(r===")"&&!i.double&&c==="<"&&e[a+1]==="<"&&e[a+2]!=="<"){let u=e[a+2]==="-",d=a+(u?3:2);while(d<n&&/[ \t]/.test(e[d]??""))d++;let f=tu(e,d,n);if(f){s.push({delimiter:f.delimiter,quotedDelimiter:f.quoted,stripTabs:u,declarationSpan:{start:a,end:f.next},attach:()=>{return}}),a=f.next-1;continue}}if(e.startsWith("$(",a)&&!e.startsWith("$((",a)){o++,a++;continue}if(c==="("&&!i.double)o++;if(c===")"&&!i.double){if(o--,o===0)return r==="))"&&e[a+1]!==")"?-1:a}}return-1}function IP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=bb(e,i,t,n,o);if(a!==null){i=a;continue}if(e.startsWith("$(",i)&&!e.startsWith("$((",i)){r++,i++;continue}if(s==="("&&!o.double)r++;if(s!==")"||o.double)continue;if(r--,r===0)return e[i+1]===")"?i:-1}return-1}function bb(e,t,n,r,o){let i=e[t];if(i==="\\"&&!o.single)return t+1;if(!o.double&&i==="'")o.single=!o.single;if(!o.single&&i==='"')o.double=!o.double;if(o.single)return t;if(o.double||i!=="#"||!YP(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
41
- `&&e[s+1]!=="\r")s++;return s}function ws(e,t){let n=e[t];if(n===";")return";";if(n==="&")return e[t+1]==="&"?"&&":"&";if(n==="|")return e[t+1]==="|"?"||":e[t+1]==="&"?"|&":"|";return null}function OP(e,t){let n=e[t];if(n===">"){if(e[t+1]===">")return">>";if(e[t+1]==="&")return">&";return e[t+1]==="|"?">|":">"}if(n!=="<")return null;if(e.startsWith("<<<",t))return"<<<";if(e.startsWith("<<-",t))return"<<-";if(e[t+1]==="<")return"<<";if(e[t+1]==="&")return"<&";if(e[t+1]===">")return"<>";return"<"}function Rs(e){let t=e.charCodeAt(0);if(t===32||t>=9&&t<=13)return!0;if(t<128)return!1;return/\s/u.test(e)}function vb(e,t,n){if(e[t+1]==="{"){let o=e.indexOf("}",t+2);return o===-1||o>=n?n:o+1}let r=t+1;while(r<n&&/[A-Za-z0-9_?@#$!*-]/.test(e[r]??""))r++;return r===t+1?t+1:r}function zP(e,t,n){let r="",o=[],i=t;while(i<n){let s=e[i];if(s==="'")return{text:r,next:i+1,closed:!0,issues:o};if(s!=="\\"){r+=s??"",i++;continue}let a=NP(e,i+1,n);if(r+=a.text,a.invalidCodePoint!==void 0)o.push({code:"invalid-ansi-c-code-point",message:`ANSI-C escape is not a valid Unicode scalar value: ${a.invalidCodePoint}`,span:{start:i,end:a.next}});i=a.next}return{text:r,next:n,closed:!1,issues:o}}function NP(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
42
- `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return xs(e,t+1,n,16,2,t+1);if(r==="u")return xs(e,t+1,n,16,4,t+1);if(r==="U")return xs(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return xs(e,t,n,8,3,t+1);return{text:r,next:t+1}}function xs(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"\uFFFD",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Es(e,t=!1){if(t)return"limited";if(e.some((n)=>n.code==="invalid-ansi-c-code-point"||n.code==="missing-heredoc-delimiter"||n.code==="ambiguous-heredoc-delimiter"||n.code==="unterminated-heredoc"||n.code==="unsupported-heredoc-context"))return"invalid";return e.length>0?"partial":"complete"}function Sb(e,t,n,r,o){let i=vb(e,t,n);return{text:r+e.slice(t,i),provenance:fo(o,"variable"),next:i}}function DP(e,t,n){let r=Ss(e),o=t,i=!1,s=!1,a=t;while(a<n){let c=e[a];if(c==="\\"&&!i){a+=2;continue}if(!s&&c==="'"){i=!i,a++;continue}if(!i&&c==='"'){s=!s,a++;continue}if(i){a++;continue}let l=e.startsWith("$((",a),u=e.startsWith("$(",a)&&!l,d=!s&&(e.startsWith("<(",a)||e.startsWith(">(",a)),f=c==="`";if(l||u||d||f){let m=l?3:f?1:2,p=l?"))":f?"`":")",h=au(e,a+m,n,p),b=h===-1?n:h+p.length;r.push(o,a,"literal"),r.push(a,b,l?"arithmetic":"command-substitution"),a=b,o=b;continue}if(c==="$"){let m=vb(e,a,n);if(m>a+1){r.push(o,a,"literal"),r.push(a,m,"variable"),a=m,o=m;continue}}if(!s&&(c==="*"||c==="?"||c==="[")){r.push(o,a,"literal"),r.push(a,a+1,"glob"),a++,o=a;continue}a++}return r.push(o,n,"literal"),r.parts}function fo(e,t){if(t==="command-substitution"||e==="command-substitution")return"command-substitution";if(t==="arithmetic"||e==="arithmetic")return"arithmetic";if(t==="variable"||e==="variable")return"variable";if(t==="glob"||e==="glob")return"glob";return e}function $P(e,t,n){return t+1>=n||Rs(e[t+1]??"")||ws(e,t+1)!==null}var MP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),LP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function WP(e){let t=0;while(t<=e.length){while(/^[A-Za-z_][A-Za-z0-9_]*=/.test(e[t]?.text??""))t++;if(t===e.length)return!0;let n=FP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function FP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return GP(e,t);if(n==="env")return ZP(e,t);if(n==="sudo")return BP(e,t);return}function GP(e,t){if(e[t+1]?.text==="-v")return null;for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(r==="-p"||r==="-v"||r==="-V"||/^-[pvV]+$/.test(r))continue;return n}return e.length}function ZP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(MP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-u=")||r.startsWith("--unset=")||r.startsWith("-C")&&r.length>2||r.startsWith("--chdir=")||r.startsWith("-S")&&r.length>2||r.startsWith("--split-string=")||r.startsWith("-P"))continue;if(r.startsWith("-")||/^[A-Za-z_][A-Za-z0-9_]*=/.test(r))continue;return n}return e.length}function BP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(LP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function xb(e,t,n,r){if(e.provenance!=="literal"||!e.raw.includes("{"))return;let o=[e.raw],i=e.raw.length,s=0;while(!0){let c=o.findIndex((p)=>fb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=fb(l);if(!u||u.kind==="range")return{limited:!0};let d=u.start+l.length-u.end,f=u.alternatives.reduce((p,h)=>p+d+h.length,0);if(i-l.length+f>r||o.length-1+u.alternatives.length>t)return{limited:!0};let m=_b(l,u);o.splice(c,1,...m),i+=f-l.length}if(s===0)return;let a=o.map((c)=>HP(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function UP(e,t,n,r,o){if(t.provenance!=="literal"||t.quoted||t.raw!==t.text||!t.raw.includes("{"))return;let i=[t.text],s=t.text.length,a=0;while(!0){let l=i.findIndex((b)=>mb(b));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=mb(u);if(!d)break;let f=d.start+u.length-d.end,m=d.alternatives.filter((b)=>f+b.length>0),p=m.reduce((b,y)=>b+f+y.length,0);if(s-u.length+p>o)return{limitCode:"brace-expansion-limit"};if(i.length-1+m.length>n)return{limitCode:"word-limit"};let h=_b(u,{...d,alternatives:m});i.splice(l,1,...h),s+=p-u.length}let c=i.filter((l)=>l.length>0);if(a===0)return;return{words:c.map((l)=>sr(e,t.span.start,t.span.end,l,"literal",!1))}}function mb(e){let t=[],n;for(let r=0;r<e.length;r++){let o=e[r];if(o==="{"){t.push({start:r,commas:[]});continue}if(o===","&&t.length>0){t.at(-1)?.commas.push(r);continue}if(o!=="}"||t.length===0)continue;let i=t.pop();if(!i||i.commas.length===0)continue;if(!n||i.start<n.start)n={start:i.start,end:r+1,commas:i.commas}}if(!n)return;return{start:n.start,end:n.end,alternatives:Cb(e,n)}}function fb(e){let t=[],n,r=null,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(o){o=!1;continue}if(s==="\\"&&r!=="'"){o=!0;continue}if(s===r){r=null;continue}if(r===null&&(s==="'"||s==='"')){r=s;continue}if(r!==null)continue;if(s==="{"){t.push({start:i,commas:[]});continue}if(s===","&&t.length>0){t.at(-1)?.commas.push(i);continue}if(s!=="}"||t.length===0)continue;let a=t.pop();if(!a)continue;let c=a.commas.length>0?{kind:"alternatives",start:a.start,end:i+1,commas:a.commas}:jP(e.slice(a.start+1,i))?{kind:"range",start:a.start,end:i+1}:void 0;if(c&&(!n||c.start<n.start))n=c}if(!n||n.kind==="range")return n;return{kind:n.kind,start:n.start,end:n.end,alternatives:Cb(e,n)}}function _b(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function Cb(e,t){let n=[t.start,...t.commas,t.end-1];return n.slice(0,-1).map((r,o)=>e.slice(r+1,n[o+1]))}function jP(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function HP(e,t){let n=`x${e}`,r=iu(n,0,n.length,"posix",{maxInputLength:n.length,maxWords:1,maxDepth:t},{used:0,max:1},0);if(r.limited||r.issues.length>0||r.next!==n.length||r.word.provenance!=="literal")return null;return r.word.text.slice(1)}function VP(e,t,n,r,o){return Ce({kind:"program",dialect:r,source:e.slice(t,n),span:{start:t,end:n},status:"limited",issues:[{code:o,message:"command structure exceeds parser limit",span:{start:t,end:n}}],nodes:[]})}function ar(e,t,n,r,o){return{nodes:e,issues:[...t,{code:r,message:`command structure exceeds parser limit ${o}`,span:{start:n,end:n}}],next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function _s(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function ru(e){return e.used++,e.used<=e.max}function qP(e,t,n){let r=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(e.slice(t,n)),o=r?.[1];if(!r||!o)return;return{name:o,braceIndex:t+r[0].lastIndexOf("{")}}function po(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>po(n.nodes));return(t.kind==="group"||t.kind==="function")&&po(t.body.nodes)})}function KP(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function wb(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function pb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!gb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function ou(e,t,n){if(!wb(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function YP(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var Rb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Eb=["-rec","-for","-path","-literalpath","-whatif"],Ps={maxInputLength:131072,maxWords:16384,maxDepth:64};function Pb(e){let t=e.toLowerCase().replaceAll("`","");if(![...Rb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Eb.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=ek(e);return n.invalidComment||n.commands.some(JP)}function JP(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&Rb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return Eb.some((i)=>o.startsWith(i))})}function kb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=mu(e,0,e.length,t,0);return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:tk(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function mu(e,t,n,r,o,i=!1){let s=hs(),a=ys(),c=bs(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let m={start:c.start,end:c.end};vs(s,c,{kind:"command",dialect:"powershell",source:e.slice(m.start,m.end),span:m,words:c.words,redirections:c.redirections,nested:c.nested,displayText:c.words.map((p)=>p.text).join(" ")})},f=t;while(f<n){let m=e[f];if(!m)break;if(i&&m==="}")return d(),{nodes:s,issues:a,next:f+1,closed:!0,words:l,limited:u};let p=Ib(e,f,n,r.maxDepth);if(p){if(p.issue)a.push(p.issue);if(p.limited)return d(),{nodes:s,issues:a,next:p.next,closed:!1,words:l,limited:!0};f=p.next;continue}if(/\s/.test(m)){if(m==="\r"||m===`
40
+ `?a+2:a+1,d=ru(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=vb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=OP(e,a+3,n);if(u===-1)return-1;a=u+1;continue}if(r===")"&&!i.double&&c==="<"&&e[a+1]==="<"&&e[a+2]!=="<"){let u=e[a+2]==="-",d=a+(u?3:2);while(d<n&&/[ \t]/.test(e[d]??""))d++;let f=nu(e,d,n);if(f){s.push({delimiter:f.delimiter,quotedDelimiter:f.quoted,stripTabs:u,declarationSpan:{start:a,end:f.next},attach:()=>{return}}),a=f.next-1;continue}}if(e.startsWith("$(",a)&&!e.startsWith("$((",a)){o++,a++;continue}if(c==="("&&!i.double)o++;if(c===")"&&!i.double){if(o--,o===0)return r==="))"&&e[a+1]!==")"?-1:a}}return-1}function OP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=vb(e,i,t,n,o);if(a!==null){i=a;continue}if(e.startsWith("$(",i)&&!e.startsWith("$((",i)){r++,i++;continue}if(s==="("&&!o.double)r++;if(s!==")"||o.double)continue;if(r--,r===0)return e[i+1]===")"?i:-1}return-1}function vb(e,t,n,r,o){let i=e[t];if(i==="\\"&&!o.single)return t+1;if(!o.double&&i==="'")o.single=!o.single;if(!o.single&&i==='"')o.double=!o.double;if(o.single)return t;if(o.double||i!=="#"||!JP(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
41
+ `&&e[s+1]!=="\r")s++;return s}function Rs(e,t){let n=e[t];if(n===";")return";";if(n==="&")return e[t+1]==="&"?"&&":"&";if(n==="|")return e[t+1]==="|"?"||":e[t+1]==="&"?"|&":"|";return null}function zP(e,t){let n=e[t];if(n===">"){if(e[t+1]===">")return">>";if(e[t+1]==="&")return">&";return e[t+1]==="|"?">|":">"}if(n!=="<")return null;if(e.startsWith("<<<",t))return"<<<";if(e.startsWith("<<-",t))return"<<-";if(e[t+1]==="<")return"<<";if(e[t+1]==="&")return"<&";if(e[t+1]===">")return"<>";return"<"}function Es(e){let t=e.charCodeAt(0);if(t===32||t>=9&&t<=13)return!0;if(t<128)return!1;return/\s/u.test(e)}function Sb(e,t,n){if(e[t+1]==="{"){let o=e.indexOf("}",t+2);return o===-1||o>=n?n:o+1}let r=t+1;while(r<n&&/[A-Za-z0-9_?@#$!*-]/.test(e[r]??""))r++;return r===t+1?t+1:r}function NP(e,t,n){let r="",o=[],i=t;while(i<n){let s=e[i];if(s==="'")return{text:r,next:i+1,closed:!0,issues:o};if(s!=="\\"){r+=s??"",i++;continue}let a=DP(e,i+1,n);if(r+=a.text,a.invalidCodePoint!==void 0)o.push({code:"invalid-ansi-c-code-point",message:`ANSI-C escape is not a valid Unicode scalar value: ${a.invalidCodePoint}`,span:{start:i,end:a.next}});i=a.next}return{text:r,next:n,closed:!1,issues:o}}function DP(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
42
+ `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return _s(e,t+1,n,16,2,t+1);if(r==="u")return _s(e,t+1,n,16,4,t+1);if(r==="U")return _s(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return _s(e,t,n,8,3,t+1);return{text:r,next:t+1}}function _s(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"\uFFFD",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Ps(e,t=!1){if(t)return"limited";if(e.some((n)=>n.code==="invalid-ansi-c-code-point"||n.code==="missing-heredoc-delimiter"||n.code==="ambiguous-heredoc-delimiter"||n.code==="unterminated-heredoc"||n.code==="unsupported-heredoc-context"))return"invalid";return e.length>0?"partial":"complete"}function xb(e,t,n,r,o){let i=Sb(e,t,n);return{text:r+e.slice(t,i),provenance:fo(o,"variable"),next:i}}function $P(e,t,n){let r=xs(e),o=t,i=!1,s=!1,a=t;while(a<n){let c=e[a];if(c==="\\"&&!i){a+=2;continue}if(!s&&c==="'"){i=!i,a++;continue}if(!i&&c==='"'){s=!s,a++;continue}if(i){a++;continue}let l=e.startsWith("$((",a),u=e.startsWith("$(",a)&&!l,d=!s&&(e.startsWith("<(",a)||e.startsWith(">(",a)),f=c==="`";if(l||u||d||f){let m=l?3:f?1:2,p=l?"))":f?"`":")",h=cu(e,a+m,n,p),b=h===-1?n:h+p.length;r.push(o,a,"literal"),r.push(a,b,l?"arithmetic":"command-substitution"),a=b,o=b;continue}if(c==="$"){let m=Sb(e,a,n);if(m>a+1){r.push(o,a,"literal"),r.push(a,m,"variable"),a=m,o=m;continue}}if(!s&&(c==="*"||c==="?"||c==="[")){r.push(o,a,"literal"),r.push(a,a+1,"glob"),a++,o=a;continue}a++}return r.push(o,n,"literal"),r.parts}function fo(e,t){if(t==="command-substitution"||e==="command-substitution")return"command-substitution";if(t==="arithmetic"||e==="arithmetic")return"arithmetic";if(t==="variable"||e==="variable")return"variable";if(t==="glob"||e==="glob")return"glob";return e}function MP(e,t,n){return t+1>=n||Es(e[t+1]??"")||Rs(e,t+1)!==null}var LP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),WP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function FP(e){let t=0;while(t<=e.length){while(/^[A-Za-z_][A-Za-z0-9_]*=/.test(e[t]?.text??""))t++;if(t===e.length)return!0;let n=GP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function GP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return ZP(e,t);if(n==="env")return BP(e,t);if(n==="sudo")return UP(e,t);return}function ZP(e,t){if(e[t+1]?.text==="-v")return null;for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(r==="-p"||r==="-v"||r==="-V"||/^-[pvV]+$/.test(r))continue;return n}return e.length}function BP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(LP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-u=")||r.startsWith("--unset=")||r.startsWith("-C")&&r.length>2||r.startsWith("--chdir=")||r.startsWith("-S")&&r.length>2||r.startsWith("--split-string=")||r.startsWith("-P"))continue;if(r.startsWith("-")||/^[A-Za-z_][A-Za-z0-9_]*=/.test(r))continue;return n}return e.length}function UP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(WP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function _b(e,t,n,r){if(e.provenance!=="literal"||!e.raw.includes("{"))return;let o=[e.raw],i=e.raw.length,s=0;while(!0){let c=o.findIndex((p)=>pb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=pb(l);if(!u||u.kind==="range")return{limited:!0};let d=u.start+l.length-u.end,f=u.alternatives.reduce((p,h)=>p+d+h.length,0);if(i-l.length+f>r||o.length-1+u.alternatives.length>t)return{limited:!0};let m=Cb(l,u);o.splice(c,1,...m),i+=f-l.length}if(s===0)return;let a=o.map((c)=>VP(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function jP(e,t,n,r,o){if(t.provenance!=="literal"||t.quoted||t.raw!==t.text||!t.raw.includes("{"))return;let i=[t.text],s=t.text.length,a=0;while(!0){let l=i.findIndex((b)=>fb(b));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=fb(u);if(!d)break;let f=d.start+u.length-d.end,m=d.alternatives.filter((b)=>f+b.length>0),p=m.reduce((b,y)=>b+f+y.length,0);if(s-u.length+p>o)return{limitCode:"brace-expansion-limit"};if(i.length-1+m.length>n)return{limitCode:"word-limit"};let h=Cb(u,{...d,alternatives:m});i.splice(l,1,...h),s+=p-u.length}let c=i.filter((l)=>l.length>0);if(a===0)return;return{words:c.map((l)=>ir(e,t.span.start,t.span.end,l,"literal",!1))}}function fb(e){let t=[],n;for(let r=0;r<e.length;r++){let o=e[r];if(o==="{"){t.push({start:r,commas:[]});continue}if(o===","&&t.length>0){t.at(-1)?.commas.push(r);continue}if(o!=="}"||t.length===0)continue;let i=t.pop();if(!i||i.commas.length===0)continue;if(!n||i.start<n.start)n={start:i.start,end:r+1,commas:i.commas}}if(!n)return;return{start:n.start,end:n.end,alternatives:wb(e,n)}}function pb(e){let t=[],n,r=null,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(o){o=!1;continue}if(s==="\\"&&r!=="'"){o=!0;continue}if(s===r){r=null;continue}if(r===null&&(s==="'"||s==='"')){r=s;continue}if(r!==null)continue;if(s==="{"){t.push({start:i,commas:[]});continue}if(s===","&&t.length>0){t.at(-1)?.commas.push(i);continue}if(s!=="}"||t.length===0)continue;let a=t.pop();if(!a)continue;let c=a.commas.length>0?{kind:"alternatives",start:a.start,end:i+1,commas:a.commas}:HP(e.slice(a.start+1,i))?{kind:"range",start:a.start,end:i+1}:void 0;if(c&&(!n||c.start<n.start))n=c}if(!n||n.kind==="range")return n;return{kind:n.kind,start:n.start,end:n.end,alternatives:wb(e,n)}}function Cb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function wb(e,t){let n=[t.start,...t.commas,t.end-1];return n.slice(0,-1).map((r,o)=>e.slice(r+1,n[o+1]))}function HP(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function VP(e,t){let n=`x${e}`,r=su(n,0,n.length,"posix",{maxInputLength:n.length,maxWords:1,maxDepth:t},{used:0,max:1},0);if(r.limited||r.issues.length>0||r.next!==n.length||r.word.provenance!=="literal")return null;return r.word.text.slice(1)}function qP(e,t,n,r,o){return Ce({kind:"program",dialect:r,source:e.slice(t,n),span:{start:t,end:n},status:"limited",issues:[{code:o,message:"command structure exceeds parser limit",span:{start:t,end:n}}],nodes:[]})}function sr(e,t,n,r,o){return{nodes:e,issues:[...t,{code:r,message:`command structure exceeds parser limit ${o}`,span:{start:n,end:n}}],next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function Cs(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function ou(e){return e.used++,e.used<=e.max}function KP(e,t,n){let r=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(e.slice(t,n)),o=r?.[1];if(!r||!o)return;return{name:o,braceIndex:t+r[0].lastIndexOf("{")}}function po(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>po(n.nodes));return(t.kind==="group"||t.kind==="function")&&po(t.body.nodes)})}function YP(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function Rb(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function gb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!hb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function iu(e,t,n){if(!Rb(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function JP(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var Eb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Pb=["-rec","-for","-path","-literalpath","-whatif"],ks={maxInputLength:131072,maxWords:16384,maxDepth:64};function kb(e){let t=e.toLowerCase().replaceAll("`","");if(![...Eb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Pb.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=tk(e);return n.invalidComment||n.commands.some(XP)}function XP(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&Eb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return Pb.some((i)=>o.startsWith(i))})}function Ab(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=fu(e,0,e.length,t,0);return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:nk(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function fu(e,t,n,r,o,i=!1){let s=ys(),a=bs(),c=vs(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let m={start:c.start,end:c.end};Ss(s,c,{kind:"command",dialect:"powershell",source:e.slice(m.start,m.end),span:m,words:c.words,redirections:c.redirections,nested:c.nested,displayText:c.words.map((p)=>p.text).join(" ")})},f=t;while(f<n){let m=e[f];if(!m)break;if(i&&m==="}")return d(),{nodes:s,issues:a,next:f+1,closed:!0,words:l,limited:u};let p=Ob(e,f,n,r.maxDepth);if(p){if(p.issue)a.push(p.issue);if(p.limited)return d(),{nodes:s,issues:a,next:p.next,closed:!1,words:l,limited:!0};f=p.next;continue}if(/\s/.test(m)){if(m==="\r"||m===`
43
43
  `){d();let y=m==="\r"&&e[f+1]===`
44
- `?f+2:f+1;s.push(cu(e,f,y)),f=y;continue}f++;continue}let h=fu(e,f);if(h){d(),s.push(cu(e,f,f+h.length)),f+=h.length;continue}if(m==="{"){if(d(),o>=r.maxDepth)return a.push(Tb(f,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let y=mu(e,f+1,n,r,o+1,!0),R=y.closed?y.next-1:y.next,w=Ce({kind:"program",dialect:"powershell",source:e.slice(f+1,R),span:{start:f+1,end:R},status:y.limited?"limited":y.issues.length>0?"partial":"complete",issues:y.issues,nodes:y.nodes});if(s.push(Object.freeze({kind:"group",style:"brace",span:Object.freeze({start:f,end:y.next}),body:w})),a.push(...y.issues),!y.closed)a.push({code:"unclosed-script-block",message:"PowerShell script block is not closed",span:{start:f,end:y.next}});l+=y.words,u||=y.limited,f=y.next;continue}if(m==="}"){d(),s.push(cu(e,f,f+1)),f++;continue}if(m===">"||m==="<"){c.start=c.start===-1?f:c.start;let y=e[f+1]===m?f+2:f+1,R=y;while(/[ \t]/.test(e[R]??""))R++;let w=R<n?lu(e,R,n,r,o):void 0,E=w?.next??y;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(f,y),span:Object.freeze({start:f,end:E}),...w?{target:w.word}:{}})),w)a.push(...w.issues),c.nested.push(...w.nested),l+=w.words,u||=w.limited;c.end=E,f=E;continue}if(m===","){c.start=c.start===-1?f:c.start,c.words.push(eu({text:",",raw:",",span:{start:f,end:f+1},provenance:"literal",quoted:!1})),c.end=++f;continue}let b=lu(e,f,n,r,o);if(c.start=c.start===-1?f:c.start,c.end=b.next,c.words.push(b.word),a.push(...b.issues),c.nested.push(...b.nested),l+=1+b.words,u||=b.limited,l>r.maxWords)return a.push({code:"word-limit",message:`command exceeds ${r.maxWords} words`,span:{start:f,end:b.next}}),d(),{nodes:s,issues:a,next:b.next,closed:!1,words:l,limited:!0};f=b.next>f?b.next:f+1}return d(),{nodes:s,issues:a,next:f,closed:!i,words:l,limited:u}}function lu(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,f=(p)=>{let h=XP(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=uu(h.program),d||=h.program.status==="limited",s="command-substitution",h.next},m=t;while(m<n){let p=e[m];if(!p||/\s/.test(p)||fu(e,m)||p===">"||p==="<"||p==="#")break;if(p===",")break;if(p==="`"){let h=e[m+1];if(!h){c.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:m,end:m+1}}),m++;break}i+=h,m+=2;continue}if(e.startsWith("$(",m)){m=f(m);continue}if(p==="'"){a=!0,m++;let h=!1;while(m<e.length){if(e[m]==="'"&&e[m+1]==="'"){i+="'",m+=2;continue}if(e[m]==="'"){h=!0,m++;break}i+=e[m]??"",m++}if(!h)c.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:t,end:e.length}});continue}if(p==='"'){a=!0;let h=m++,b=!1;while(m<n){let y=e[m];if(y==="`"&&e[m+1]){i+=e[m+1],m+=2;continue}if(y==='"'){b=!0,m++;break}if(e.startsWith("$(",m)){m=f(m);continue}if(y==="$")s=e[m+1]==="("?"command-substitution":"variable";i+=y??"",m++}if(!b)c.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:h,end:e.length}});continue}if(p==="$")s=e[m+1]==="("?"command-substitution":"variable";if(p==="@"&&m===t)s="variable";i+=p,m++}return{word:sr(e,t,m,i,s,a,s==="literal"?void 0:QP(e,t,m)),next:m,issues:c,nested:l,words:u,limited:d}}function XP(e,t,n,r,o){let i=Ab(e,t+2,n),s=i===-1?n:i,a=i===-1?n:i+1;if(o>=r.maxDepth)return{program:Ce({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:"limited",issues:[Tb(t,r.maxDepth)],nodes:[]}),next:a};let c=mu(e,t+2,s,r,o+1),l=i===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:t,end:a}}]:[];return{program:Ce({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:c.limited?"limited":c.issues.length+l.length>0?"partial":"complete",issues:[...c.issues,...l],nodes:c.nodes}),next:a}}function Ab(e,t,n){let r=1,o=!1,i=!1;for(let s=t;s<n;s++){let a=e[s];if(a==="`"){s++;continue}if(!i&&a==="'"){if(o&&e[s+1]==="'"){s++;continue}o=!o;continue}if(!o&&a==='"'){i=!i;continue}if(o)continue;if(e.startsWith("$(",s)){r++,s++;continue}if(!i&&a==="(")r++;if(a!==")")continue;if(r--,r===0)return s}return-1}function uu(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=uu(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=uu(r)}}return t}function QP(e,t,n){let r=Ss(e),o=t,i=!1,s=t;while(s<n){let a=e[s];if(a==="`"){s+=2;continue}if(a==="'"){if(i&&e[s+1]==="'"){s+=2;continue}i=!i,s++;continue}if(i){s++;continue}if(e.startsWith("$(",s)){let c=Ab(e,s+2,n),l=c===-1?n:c+1;r.push(o,s,"literal"),r.push(s,l,"command-substitution"),s=l,o=l;continue}if(a==="$"||a==="@"&&s===t){let c=s+1;if(e[c]==="{"){let l=e.indexOf("}",c+1);c=l===-1||l>=n?n:l+1}else while(c<n&&/[A-Za-z0-9_:?]/.test(e[c]??""))c++;r.push(o,s,"literal"),r.push(s,c,"variable"),s=c,o=c;continue}s++}return r.push(o,n,"literal"),r.parts}function Tb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function ek(e){let t=[],n=[],r=0,o=0,i=!1,s=()=>{if(n.length>0)t.push(n);n=[]};while(r<e.length&&r<131072&&o<16384){let a=e[r];if(a==="\r"||a===`
44
+ `?f+2:f+1;s.push(lu(e,f,y)),f=y;continue}f++;continue}let h=pu(e,f);if(h){d(),s.push(lu(e,f,f+h.length)),f+=h.length;continue}if(m==="{"){if(d(),o>=r.maxDepth)return a.push(Ib(f,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let y=fu(e,f+1,n,r,o+1,!0),R=y.closed?y.next-1:y.next,w=Ce({kind:"program",dialect:"powershell",source:e.slice(f+1,R),span:{start:f+1,end:R},status:y.limited?"limited":y.issues.length>0?"partial":"complete",issues:y.issues,nodes:y.nodes});if(s.push(Object.freeze({kind:"group",style:"brace",span:Object.freeze({start:f,end:y.next}),body:w})),a.push(...y.issues),!y.closed)a.push({code:"unclosed-script-block",message:"PowerShell script block is not closed",span:{start:f,end:y.next}});l+=y.words,u||=y.limited,f=y.next;continue}if(m==="}"){d(),s.push(lu(e,f,f+1)),f++;continue}if(m===">"||m==="<"){c.start=c.start===-1?f:c.start;let y=e[f+1]===m?f+2:f+1,R=y;while(/[ \t]/.test(e[R]??""))R++;let w=R<n?uu(e,R,n,r,o):void 0,E=w?.next??y;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(f,y),span:Object.freeze({start:f,end:E}),...w?{target:w.word}:{}})),w)a.push(...w.issues),c.nested.push(...w.nested),l+=w.words,u||=w.limited;c.end=E,f=E;continue}if(m===","){c.start=c.start===-1?f:c.start,c.words.push(tu({text:",",raw:",",span:{start:f,end:f+1},provenance:"literal",quoted:!1})),c.end=++f;continue}let b=uu(e,f,n,r,o);if(c.start=c.start===-1?f:c.start,c.end=b.next,c.words.push(b.word),a.push(...b.issues),c.nested.push(...b.nested),l+=1+b.words,u||=b.limited,l>r.maxWords)return a.push({code:"word-limit",message:`command exceeds ${r.maxWords} words`,span:{start:f,end:b.next}}),d(),{nodes:s,issues:a,next:b.next,closed:!1,words:l,limited:!0};f=b.next>f?b.next:f+1}return d(),{nodes:s,issues:a,next:f,closed:!i,words:l,limited:u}}function uu(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,f=(p)=>{let h=QP(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=du(h.program),d||=h.program.status==="limited",s="command-substitution",h.next},m=t;while(m<n){let p=e[m];if(!p||/\s/.test(p)||pu(e,m)||p===">"||p==="<"||p==="#")break;if(p===",")break;if(p==="`"){let h=e[m+1];if(!h){c.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:m,end:m+1}}),m++;break}i+=h,m+=2;continue}if(e.startsWith("$(",m)){m=f(m);continue}if(p==="'"){a=!0,m++;let h=!1;while(m<e.length){if(e[m]==="'"&&e[m+1]==="'"){i+="'",m+=2;continue}if(e[m]==="'"){h=!0,m++;break}i+=e[m]??"",m++}if(!h)c.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:t,end:e.length}});continue}if(p==='"'){a=!0;let h=m++,b=!1;while(m<n){let y=e[m];if(y==="`"&&e[m+1]){i+=e[m+1],m+=2;continue}if(y==='"'){b=!0,m++;break}if(e.startsWith("$(",m)){m=f(m);continue}if(y==="$")s=e[m+1]==="("?"command-substitution":"variable";i+=y??"",m++}if(!b)c.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:h,end:e.length}});continue}if(p==="$")s=e[m+1]==="("?"command-substitution":"variable";if(p==="@"&&m===t)s="variable";i+=p,m++}return{word:ir(e,t,m,i,s,a,s==="literal"?void 0:ek(e,t,m)),next:m,issues:c,nested:l,words:u,limited:d}}function QP(e,t,n,r,o){let i=Tb(e,t+2,n),s=i===-1?n:i,a=i===-1?n:i+1;if(o>=r.maxDepth)return{program:Ce({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:"limited",issues:[Ib(t,r.maxDepth)],nodes:[]}),next:a};let c=fu(e,t+2,s,r,o+1),l=i===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:t,end:a}}]:[];return{program:Ce({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:c.limited?"limited":c.issues.length+l.length>0?"partial":"complete",issues:[...c.issues,...l],nodes:c.nodes}),next:a}}function Tb(e,t,n){let r=1,o=!1,i=!1;for(let s=t;s<n;s++){let a=e[s];if(a==="`"){s++;continue}if(!i&&a==="'"){if(o&&e[s+1]==="'"){s++;continue}o=!o;continue}if(!o&&a==='"'){i=!i;continue}if(o)continue;if(e.startsWith("$(",s)){r++,s++;continue}if(!i&&a==="(")r++;if(a!==")")continue;if(r--,r===0)return s}return-1}function du(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=du(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=du(r)}}return t}function ek(e,t,n){let r=xs(e),o=t,i=!1,s=t;while(s<n){let a=e[s];if(a==="`"){s+=2;continue}if(a==="'"){if(i&&e[s+1]==="'"){s+=2;continue}i=!i,s++;continue}if(i){s++;continue}if(e.startsWith("$(",s)){let c=Tb(e,s+2,n),l=c===-1?n:c+1;r.push(o,s,"literal"),r.push(s,l,"command-substitution"),s=l,o=l;continue}if(a==="$"||a==="@"&&s===t){let c=s+1;if(e[c]==="{"){let l=e.indexOf("}",c+1);c=l===-1||l>=n?n:l+1}else while(c<n&&/[A-Za-z0-9_:?]/.test(e[c]??""))c++;r.push(o,s,"literal"),r.push(s,c,"variable"),s=c,o=c;continue}s++}return r.push(o,n,"literal"),r.parts}function Ib(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function tk(e){let t=[],n=[],r=0,o=0,i=!1,s=()=>{if(n.length>0)t.push(n);n=[]};while(r<e.length&&r<131072&&o<16384){let a=e[r];if(a==="\r"||a===`
45
45
  `){s(),r+=a==="\r"&&e[r+1]===`
46
- `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Ib(e,r,Math.min(e.length,Ps.maxInputLength),Ps.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=fu(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=lu(e,r,Math.min(e.length,Ps.maxInputLength),Ps,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...du(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function du(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return du(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(du)]})}function fu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Ib(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
47
- `)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function tk(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function cu(e,t,n){return Object.freeze({kind:"connector",operator:e.slice(t,n),span:Object.freeze({start:t,end:n})})}var _n=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function tt(e,t="auto",n=_n){if(t==="powershell"||t==="auto"&&Pb(e.slice(0,n.maxInputLength)))return kb(e,n);return hb(e,"posix",n)}function go(e,t){if(e!=="powershell")return t[0]?.provenance==="command-substitution";let n=t[0]?.text==="&"||t[0]?.text==="."?1:0,r=t[n]?.provenance;return r!==void 0&&r!=="literal"}var nk=/^[A-Za-z_][A-Za-z0-9_]*=/;function ks(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function As(e){let t=ks(e.words[0],"time")?1:0,n=t===1&&ks(e.words[t],"-p")?t+1:t,r=t===1&&ks(e.words[n],"--")?n+1:n,o=ks(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!nk.test(s.text));return i?.provenance==="literal"?i.text:void 0}function ho(e,t){if(t.escaped)return t.escaped=!1,!0;if(e==="\\"&&!t.inSingle)return t.escaped=!0,!0;if(e==="'"&&!t.inDouble)return t.inSingle=!t.inSingle,!0;if(e==='"'&&!t.inSingle)return t.inDouble=!t.inDouble,!0;return!1}function cr(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of rk(e))ho(n,t);return t.inSingle||t.inDouble}function rk(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
48
- `||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);ho(s,n)}return t}var ok=new Set(["&&","||","|&","|","&",";"]),ik=new Set(["<<","<<<",">|"]),sk=/[*@#?$!_-]/,pu=Object.freeze([]),ak=Object.freeze([]),ck=256;function $b(e,t){let n=t.status==="complete"?new Set(hu(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(cr(r))return Ts("unclosed-quote",r,pu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=yo(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return Ts("structural-limit",r,pu);if(o.invalid)return Ts("invalid",r,pu);return Ts("complete",r,i,o.assignmentFallbacks)}function Ts(e,t,n,r=ak){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function yo(e,t){return e.nodes.flatMap((n,r)=>lk(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function lk(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[nt(pk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[nt(e.source)]}];if(e.kind==="function")return r.functions.set(e.name,e.body),[];if(e.kind==="group"){let i=e.style!=="subshell",s=r.source[e.span.end-1]===(i?"}":")"),a=i?r:{...r,functions:new Map(r.functions)};return[{start:e.span.start,entries:[i?Is("{"):nt("("),...yo(e.body,a),...s?[i?Is("}"):nt(")")]:[]]}]}let o=hk(e,r.functions);if(o){if(r.depth>=_n.maxDepth||++r.flags.expansions>ck)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...Ob(e,r),Is(";"),...yo(o,{...r,depth:r.depth+1}),Is(";")]},...zb(e,t,n,r)]}return[{start:e.span.start,entries:Ob(e,r)},...zb(e,t,n,r)]}function Ob(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Lb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:uk(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function uk(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Lb(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[yu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:gk(r),targetOrder:ik.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function zb(e,t,n,r){let o=e.redirections.filter((i)=>i.operator==="<<"||i.operator==="<<-");return[...o.flatMap((i)=>{let s=i.heredoc;if(!s)return[];let a=[yu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[nt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Mb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?dk(t,n,r):[]]}function dk(e,t,n){let r=e.nodes.slice(t+1).find((o)=>o.kind==="connector");if(!r||r.span.end>=e.span.end)return[];return[{start:r.span.end,entries:Mb(n.source.slice(r.span.end,e.span.end),n)}]}function Mb(e,t){if(t.depth>=_n.maxDepth)return t.flags.limited=!0,[];let n=tt(e,"posix");if(n.status==="limited")return t.flags.limited=!0,[];let r={invalid:!1,limited:!1,expansions:t.flags.expansions,assignmentFallbacks:t.flags.assignmentFallbacks},o=yo(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Lb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(nt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(yu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of gu(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(nt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=gu(m,{single:!1,double:!0},n.flags).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((m)=>m.span.start>=l.span.start&&m.span.end<=l.span.end),d=u?yo(u,n):[];if(l.raw.startsWith("`")){s+="${}",c(),o.push(...d);continue}if(l.raw.startsWith("<(")||l.raw.startsWith(">(")){c(),o.push(l.raw.startsWith("<(")?nt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[nt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>nt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>nt(")")):[])}return c(),o}function gu(e,t,n){let r=[],o="",i=!1,s=0;while(s<e.length){let a=e[s]??"";if(!t.single&&!t.double&&(a==="("||a===")")){r.push({text:o,glob:i},a),o="",i=!1,s++;continue}if(t.single){if(a==="'")t.single=!1;else o+=a;s++;continue}if(t.double){if(a==='"'){t.double=!1,s++;continue}if(a==="\\"){let c=e[s+1]??"";o+=['"',"\\","$"].includes(c)?c:`\\${c}`,s+=2;continue}if(a==="$"){let c=Nb(e,s,t,n);o+=c.text,s=c.next;continue}o+=a,s++;continue}if(a==="'"||a==='"'){t.single=a==="'",t.double=a==='"',s++;continue}if(a==="\\"){let c=e[s+1]??"";i||=c==="*"||c==="?",o+=c,s+=2;continue}if(a==="$"){let c=Nb(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Nb(e,t,n,r){let o=e[t+1];if(o==="{"){let s=fk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return mk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&sk.test(o))return{text:`\${${o}}`,next:t+2};let i=/^\w*/.exec(e.slice(t+1))?.[0]??"";return{text:`\${${i}}`,next:t+1+i.length}}function mk(e,t,n){let r=e.slice(2,-1),o=/^[A-Za-z_][A-Za-z0-9_]*/.exec(r)?.[0];if(!o)return;let i=r.slice(o.length),s=[":=","="].find((c)=>i.startsWith(c));if(!s)return;let a=gu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function fk(e,t){let n=1,r=t;while(n>0&&r<e.length){if(e[r]==="{"&&e[r-1]==="$")n++;else if(e[r]==="}")n--;r++}return n===0?r-1:-1}function pk(e){return/^[\r\n]+$/.test(e)?";":e}function nt(e){return Object.freeze({kind:"operator",operator:e,boundary:ok.has(e)})}function Is(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function yu(e){return Object.freeze({kind:"word",text:e})}function gk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function hu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return hu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>hu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!bk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function hk(e,t){let n=As(e);return n===void 0?void 0:t.get(n)}function Xt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function yk(e){if(Xt(e.words[0],"git"))return Xt(e.words[1],"commit");if(!Xt(e.words[0],"gh")||!Xt(e.words[2],"create"))return!1;return Xt(e.words[1],"pr")||Xt(e.words[1],"issue")}function bk(e){return(Xt(e.words[0],"cat")||Xt(e.words[0],"tee")||yk(e))&&!e.words.some(Db)&&!e.redirections.some((n)=>Db(n.target))}function Db(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as vk}from"util";var Sk=new Set(["applypatch","patch"]),xk=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),_k=new Set(["grep","grepsearch","rg"]),Ck=new Set(["find","findbyname","glob"]),wk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),Rk=new Set(["command","diff","input","patch","patchtext"]),Wb=new TextEncoder,Ek=new TextDecoder,Pk=/\s/,kk=64;class Wt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var bo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function Ub(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function zs(e){return wk.has(Ub(e))}function xu(e){let t=Ub(e);if(Sk.has(t))return"patch";if(_k.has(t))return"grep";if(Ck.has(t))return"glob";if(xk.has(t))return"path";return"unknown"}function So(e){if(!e||typeof e!=="object")return;Kb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)pt();return}if(t.get||t.set)pt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function _u(e,t){return jb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function jb(e,t,n,r){let o=qb(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=jb(a,t,n,r+1);return typeof a==="string"&&t.has(Hb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Hb(e){return e.replace(/-/g,"_").toLowerCase()}function Cu(e){return Vb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(Tk)}function Vb(e,t,n,r){let o=qb(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Vb(a,o.array?t:Rk.has(Hb(s)),n,r+1));return n.ancestors.delete(o.object),i}function Ak(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>bo.maxDepth||t.nodes>bo.maxNodes)pt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>bo.maxStringBytes||t.stringBytes>bo.maxAggregateStringBytes)pt()}function qb(e,t,n){if(Ak(e,t,n),!e||typeof e!=="object")return null;let r=Kb(e);if(t.ancestors.has(e))pt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>bo.maxKeys)pt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)pt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function Kb(e){if(vk.isProxy(e))pt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)pt();return t}function pt(){throw new Wt}function Tk(e){let t=[],n=e.split(/\r?\n/),r=!1,o=!1,i=null,s=null,a=()=>{o=!1,i=null,s=null};for(let c=0;c<n.length;c++){let l=n[c]??"";if(l==="*** Begin Patch"){r=!0,a();continue}if(l==="*** End Patch"){r=!1,a();continue}if(l.startsWith("@@")){let u=Ik(l);if(o=!0,i=u?.oldLines??null,s=u?.newLines??null,i===0&&s===0)a();continue}if(o&&i!==null&&s!==null){let u=l.startsWith(" ")||l.startsWith("-")?1:0,d=l.startsWith(" ")||l.startsWith("+")?1:0;if(i=Math.max(0,i-u),s=Math.max(0,s-d),i===0&&s===0)a();continue}if(l.startsWith("*** ")){a(),t.push(...bu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...bu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...Su(Os(l.slice(4),!0),Os(u.slice(4),!0))),c++;continue}if(!r)t.push(...bu(l))}return t}function Ik(e){let t=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(e);if(!t)return null;return{oldLines:Number(t[1]??1),newLines:Number(t[2]??1)}}function bu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Bb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Bb(n[1]);if(e.startsWith("diff --git "))return Ok(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Zb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Zb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return Wk(i[1]);return[]}function Ok(e){let t=zk(e);if(t.length===2&&t[0]&&t[1])return Su(t[0],t[1]);let n=Nk(e);return n?Su(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function zk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(Cn(e[n]))n++;if(n>=e.length)break;let r=e[n]==='"'||e[n]==="'"?e[n]:void 0;if(!r){let i=n;while(n<e.length&&!Cn(e[n]))n++;t.push(e.slice(i,n));continue}let o=Yb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(Cn(e[n]))n++;return n===e.length?t:[]}function Nk(e){let t=0;while(t<e.length&&Cn(e[t]))t++;let n=e.length;while(n>t&&Cn(e[n-1]))n--;let r=0,o=t;while(o<n){if(!Cn(e[o])){o++;continue}let i=o;while(o<n&&Cn(e[o]))o++;if(i===t||o===n)continue;if(r++,r>kk)pt();if(Dk(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function Dk(e,t,n,r,o){if(vu(e,t,n,r,o))return!0;let i=Fb(e,"/",t,n),s=Fb(e,"/",r,o);if(i<=t||s<=r)return!1;if(vu(e,t,i,r,s))return!1;return vu(e,i+1,n,s+1,o)}function vu(e,t,n,r,o){if(n-t!==o-r)return!1;for(let i=0;i<n-t;i++)if(e[t+i]!==e[r+i])return!1;return!0}function Fb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function Cn(e){return e!==void 0&&Pk.test(e)}function Yb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:Ek.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Wb.encode(i)),o++;continue}let s=e.slice(o+1),a=/^[0-7]{1,3}/.exec(s)?.[0];if(a){r.push(Number.parseInt(a,8)),o+=a.length+1;continue}r.push(...Wb.encode($k(s[0]??""))),o+=2}return null}function $k(e){return{a:"\x07",b:"\b",f:"\f",n:`
49
- `,r:"\r",t:"\t",v:"\v"}[e]??e}function Mk(e){return vo(Fk(e))}function Su(e,t){if(e==="/dev/null")return Gb(t);if(t==="/dev/null")return Gb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(vo);let n=Lk(e,t)??(e===t?Jb(e):null);return[e,t,...n?[n]:[]].flatMap(vo)}function Gb(e){let t=Jb(e);return[e,...t?[t]:[]].flatMap(vo)}function Jb(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function Lk(e,t){let n=e.indexOf("/"),r=t.indexOf("/");if(n<1||r<1)return null;if(e.slice(0,n)===t.slice(0,r))return null;let o=e.slice(n+1);return o===t.slice(r+1)?o:null}function Zb(e){return Mk(Os(e,!0))}function Wk(e){return vo(Os(e,!1))}function Os(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=Yb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Fk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function vo(e){return e===""||e==="/dev/null"?[]:[e]}function Bb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var Xb=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),Qb=new Set([...Xb,"glob"]),Zk=new Set([...Qb,"pattern"]),Bk=[],ev={parseCommand:tt,projectShellSyntax:$b};class gt extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function Ns(e,t={}){let n=Uk({...ev,...t}),r=So(e.input),o=[];if((e.route.kind==="command"||e.route.kind==="unknown")&&r)o.push({usage:"input-candidate",source:r});if(e.route.kind==="command"&&"command"in e&&e.command)o.push({usage:"declared-command",source:e.command});let i=o.reduce((s,a)=>{let c=s.findIndex((d)=>d.source===a.source);if(c!==-1){let d=s[c];if(!d)return s;return s[c]={...d,usages:[...d.usages,a.usage]},s}let l=e.route.kind==="command"?e.route.shell:"posix",u=n.getCommandProgram(a.source,l);return s.push({usages:[a.usage],source:a.source,program:u,shell:n.getShellSyntax(a.source,u)}),s},[]);return{invocation:{toolName:e.toolName,route:e.route,context:e.context},commands:i,paths:jk(e),store:n}}function De(e,t){return e.commands.find((n)=>n.usages.includes(t))}function ht(e){if(!e.includes("$"))return e;return Zi(e,It())}function Uk(e={}){let t={...ev,...e},n=new Map,r=new Map,o=new WeakMap,i=(a,c)=>{let l=`${c}\x00${a}`,u=r.get(l);if(u)return u;let d=t.parseCommand(a,c);return r.set(l,d),d};return{getShellSyntax:(a,c)=>{if(c&&c.source!==a)throw TypeError("Shell syntax source does not match command program source.");let l=c??i(a,"posix");if(l.status==="limited"){let f=o.get(l);if(f)return f;let m={status:"structural-limit",source:a,entries:Bk,assignmentFallbacks:[]};return o.set(l,m),m}let u=n.get(a);if(u)return u;let d=t.projectShellSyntax(a,l);return n.set(a,d),d},getCommandProgram:i}}function jk(e){let t=e.route.kind==="grep"?Qb:e.route.kind==="glob"?Zk:Xb;return[..._u(e.input,t),...e.route.kind==="patch"?Cu(e.input):[]]}function we(e,t){let n=new Set,r=!1;for(let o of e){if(o==="--"){r=!0;continue}if(r)continue;if(o.startsWith("-")&&!o.startsWith("--")&&o.length>1)for(let i=1;i<o.length;i++){let s=o[i];if(!s||!/[a-zA-Z]/.test(s))break;let a=`-${s}`;if(n.add(a),t?.shortOptsWithValue?.has(a))break}}return n}var Hk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Vk=new Map([["zsh",new Set(["o"])]]),qk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function tv(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r===void 0||r==="--"||r==="-"||r[0]!=="-"&&r[0]!=="+")return null;if(r.startsWith("--")){let s=qk.get(e);if(Yk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Kk(e,r);if(o.commandSelected)return t[n+o.followingValues+1]??null;let i=t[n+1];if(e==="ksh"&&(r==="-o"||r==="+o")&&i!==void 0&&i[0]!=="-"&&i[0]!=="+")n++;n+=o.followingValues}return null}function Kk(e,t){let n=Hk.get(e),r=Vk.get(e),o=!1,i=0;for(let s=1;s<t.length;s++){let a=t[s];if(a===void 0)break;if(t[0]==="-"&&a==="c")o=!0;if(e==="ksh"&&a==="o"){if(s+1<t.length){let c=t.slice(s+1);if(!o&&t[0]==="-"&&c==="c")continue;if(!o&&t[0]==="-"&&c[0]==="-"&&c.endsWith("c"))o=!0;break}if(o)i++;continue}if(!n?.has(a))continue;if(r?.has(a)&&s+1<t.length)break;i++}return{commandSelected:o,followingValues:i}}function Yk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var eA=new Set(["-S","--suffix"]);function Ds(e,t,n,r){if(e.status==="structural-limit")throw new gt;if(e.status!=="complete")return r.findMalformedTarget(e.source);let o={cwd:t,variables:new Map},i=[];for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;let a=r.findSegmentTarget(i,o);if(a)return a;o=tA(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget($e(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function $e(e,t){return e.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(n,r,o,i)=>{let s=t.get(r);if(s===void 0)return n;let a=o.startsWith(":")?s!=="":!0;if(o.endsWith("-"))return a?s:$e(i,t);return a?$e(i,t):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(n,r)=>t.get(r)??n).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(n,r)=>t.get(r)??n)}function xo(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function rv(e,t,n){let r=n.environment.home,o=Zi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?nv(r,o.slice(2)):o,s=Te(i);return Qk(Xk(s)?s:nv(t,s))}function ve(e,t,n){let r=rv(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function ov(e,t,n,r){let o=rv(e,t,n);if(!o)return null;if(r(Jk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=hy(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function $s(e){let t=[],n=null,r=!1;for(let o=0;o<e.length;o++){let i=e[o];if(i===void 0)break;if(!r&&i==="--"){r=!0;continue}if(!r&&(i==="-t"||i==="--target-directory")){n=e[++o]??null;continue}if(!r&&i.startsWith("--target-directory=")){n=i.slice(19);continue}if(!r&&i.startsWith("-t")&&i.length>2){n=i.slice(2);continue}if(!r&&eA.has(i)){o++;continue}if(!r&&(i.startsWith("--suffix=")||i.startsWith("--backup=")))continue;if(!r&&i.startsWith("-"))continue;t.push(i)}return n?{sources:t,destination:n}:{sources:t.slice(0,-1),destination:t.at(-1)??null}}function tA(e,t,n,r){let o=xo(e)?new Map([...t.variables,...nA(e,t.variables)]):t.variables,i=ir([...e],n.environment),s=G(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r($e(s,o),t.cwd,n),variables:o}}function nA(e,t){return e.flatMap((n)=>{let r=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(n),o=r?.[2]?.startsWith("=")?r[2].slice(1):void 0;return r?.[1]!==void 0&&o!==void 0?[[r[1],$e(o,t)]]:[]})}var Ve="Git metadata and hooks are protected. Ask the user before modifying them.";function cv(e,t=Ru([e.invocation.context.executionCwd,e.invocation.context.configCwd])){let n=yn(It()),r=e.invocation.context.executionCwd;if(!t)return null;if(e.invocation.route.kind==="patch"||e.invocation.route.kind==="path"||e.invocation.route.kind==="unknown"){if(zs(e.invocation.toolName))return null;let s=e.paths.find((a)=>lA(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=De(e,"input-candidate");if(!o)return null;let i=Ds(o.shell,r,n,{findSegmentTarget:(s,a)=>dA(s,a,t,n),isRedirectionTarget:(s,a)=>uA(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ve});return i?{target:i}:null}function Ru(e,t=yn(It())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=io(ve(r,r,t));return o?[[rt(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>iA(r.dotGitPath,r.cwd,t));if(n.length===0)return null;return Object.freeze({entries:Object.freeze([...new Set(n.map((r)=>r.entry))]),markerFiles:Object.freeze([...new Set(n.flatMap((r)=>r.markerFile?[r.markerFile]:[]))]),directories:Object.freeze([...new Set(n.flatMap((r)=>r.directories))]),hooksDirectories:Object.freeze([...new Set(n.flatMap((r)=>r.hooksDirectories))])})}function iA(e,t,n){try{let r=ve(e,t,n),o=rA(e),i=o.isFile()?r:null,s=o.isFile()?Vl(e):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[rt(ve(l,t,n))]:[]),c=[...new Set(o.isDirectory()?[rt(e.replace(/\\/g,"/")),...a]:a)];return[{entry:rt(r),markerFile:i?rt(i):null,directories:c,hooksDirectories:[...new Set(c.flatMap((l)=>{let u=rt(oA(l,"hooks"));return[u,rt(ve(u,t,n))]}))]}]}catch{return[]}}function wn(e,t,n,r,o,i=!1){if(!n)return!1;let s=rt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(wu(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?Ms(u,a):sA(u,a);if(n.markerFiles.some(l))return!0;return r&&iv(n).some(l)}if(wu(s,n))return!0;return r&&iv(n).some((c)=>Ms(c,s))}function sA(e,t){let n=av(t,e);if(n===""||n.startsWith("..")||sv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function aA(e,t,n,r){return wn(e,t,n,!0,r)}function cA(e,t,n,r){if(!n)return!1;return wu(rt(ve(e,t,r)),n)}function lA(e,t,n,r){if(!n)return!1;return lv(e,t,n,r,n.entries)}function uA(e,t,n,r){if(!n)return!1;return lv(e,t,n,r,n.markerFiles)}function lv(e,t,n,r,o){let i=rt(ve(e,t,r));return o.includes(i)||dv(i,n)}function uv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>Ms(o,rt(ve(i,t,r)))))}function wu(e,t){return t.entries.includes(e)||t.directories.includes(e)||dv(e,t)}function dv(e,t){return t.hooksDirectories.some((n)=>Ms(e,n))}function iv(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function Ms(e,t){let n=av(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!sv(n)}function rt(e){return process.platform==="win32"?e.toLowerCase():e}function dA(e,t,n,r){if(xo(e))return null;let o=Jt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=$s(o.slice(1)),s=i.sources.find((a)=>aA($e(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&cA($e(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as Eu,join as mA,normalize as fA,sep as Ls}from"path";var mv=process.platform==="win32",pA=/[*?]/;function _o(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Fs(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=_o(e.trim(),t);if(!Eu(n))return"must be an absolute path or start with ~/";return Co(n,t)}function Gs(e,t){let n=fv(e,t);if(n===null)return"must be a non-empty path string";if(!Eu(n))return null;if(Co(n,t)===null)return null;return"cannot be the home directory or a path above it (this would block every command the agent runs)"}var gA="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",hA="cannot cover the guard's own configuration";function fv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return _o(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Zs(e,t){let n=fv(e,t);if(n===null)return"must be a non-empty path string";if(pA.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!Eu(n))return null;if(Co(n,t)!==null)return gA;return yA(n,t)?hA:null}function yA(e,t){let n=Ws(e),r=Ws(mA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ls}`)}function Co(e,t){let n=Ws(e),r=Ws(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ls)?n:`${n}${Ls}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Ws(e){let t=fA(e);if(mv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(mv?3:1)&&t.endsWith(Ls))t=t.slice(0,-1);return t}var SA=process.platform==="win32",pv=64,xA=16384;function wo(e){let t=xb(e,pv,pv,xA);return{expandedTargets:t&&"words"in t?t.words:void 0,unsafeBraceExpansion:t!==void 0&&"limited"in t,targetIsLiteral:t===void 0&&e.provenance==="literal"&&(e.quoted||e.raw!==e.text),tmpdirWordSplittingProtected:_A(e)}}function _A(e){let t=e.parts.filter((n)=>n.provenance==="variable"&&/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(n.raw));return t.length>0&&t.every((n)=>CA(e.raw,n.span.start-e.span.start))}function CA(e,t){let n=null,r=!1;for(let o=0;o<t;o++){let i=e[o];if(r){r=!1;continue}if(i==="\\"&&n!=="'"){r=!0;continue}if(n===i){n=null;continue}if(n===null&&(i==="'"||i==='"'))n=i}return n==='"'}function Rn(e){let t=e.environment.home,n=e.environment.paths,r=yn(e.environment);return{anchoredCwd:e.originalCwd??e.cwd??null,resolvedCwd:e.cwd??null,strict:e.strict??!1,paranoid:e.paranoid??!1,trustTmpdirVar:e.allowTmpdirVar??!0,posixShell:e.posixShell??!1,tmpdirWordSplittingUnsafe:e.tmpdirWordSplittingUnsafe??!1,trustedTmpdirValue:e.trustedTmpdirValue??e.allowTmpdirVar??!0,environment:e.environment,allowRoots:kA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function ot(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&TA(e))return{kind:"outside_anchored_cwd"};let o=!r&&bv(e,t.posixShell);if(qt(e))return{kind:"outside_anchored_cwd"};if(Tu(e,r))return{kind:"root_or_home_target"};if(wA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&wn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(RA(e,t.trustTmpdirVar,t.posixShell,o,r,n.tmpdirWordSplittingProtected??!1,t.trustedTmpdirValue,t.environment))return{kind:"temp_target"};if(o)return{kind:"dynamic_target"};if(AA(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&NA(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&DA(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if($A(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function hv(e,t,n={}){let{containmentTarget:r,...o}=n;if(ot(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(PA(i))return!1;if(nb(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>MA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Tu(e,t=!1){let n=e.trim(),r=gv.normalize(n),o=n.replace(/\\/g,"/"),i=r==="/"?r:r.replace(/\/+$/,"");if(i==="/"||i.startsWith("/")&&i.slice(1).split("/").every((s)=>/^\*+$/.test(s)))return!0;if(/^[A-Za-z]:\/+\*?$/.test(o)||/^\/\/[^/]+\/+[^/]+(?:\/+\*?)?$/.test(o))return!0;if(!t&&(r==="~"||r==="~/"||r==="~/*"))return!0;if(!t&&(r==="$HOME"||r==="$HOME/"||r==="$HOME/*"))return!0;if(!t&&(r==="${HOME}"||r==="${HOME}/"||r==="${HOME}/*"))return!0;return!1}function wA(e,t,n){let r=e.trim(),o=n?r:r==="*"?".":r.endsWith("/*")?r.slice(0,-2):r;if(!o)return!1;try{let i=Au(o)?o:t.resolvedCwd?lr(t.resolvedCwd,o):null;if(!i)return!1;let s=Re(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===vA(s).root)return!0;return s===Re(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Re(e){let t=bA(e);if(SA){if(t=t.replace(/\//g,"\\").toLowerCase(),t.length>3&&t.endsWith("\\"))t=t.slice(0,-1);return t}if(t.length>1&&t.endsWith("/"))t=t.slice(0,-1);return t}function RA(e,t,n,r,o,i,s,a){let c=e.trim();if(yv(c))return!1;if(!r&&Ql(c,a))return!0;return(t||i&&s)&&n&&!o&&EA(c,n)}function EA(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!bv(e.slice(n.length+1),t)})}function PA(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return gv.normalize(`/${t[1]??""}`)==="/"}function yv(e){return e.split(/[\\/]+/).includes("..")}function kA(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=_o(o.trim(),t);if(!Au(i))return[];try{let s=Y(i,n,r);if(Co(s,Y(t,n,r)))return[];return[Re(s)]}catch{return[]}})}function AA(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(yv(r))return!1;let o=n?r:_o(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=Au(o)?o:i?lr(i,o):null;if(!s)return!1;try{let a=Re(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(ku)?c:`${c}${ku}`))}catch{return!1}}function TA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function bv(e,t=!1){return e.includes("$")||e.includes("`")||IA(e)||t&&OA(e)}function IA(e){let t=!1;for(let n of e){if(t){t=!1;continue}if(n==="\\"){t=!0;continue}if(n==="*"||n==="?"||n==="[")return!0}return!1}function OA(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(t){t=!1;continue}if(r==="\\"){t=!0;continue}if(r==="{"&&zA(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function zA(e,t){let n=e.indexOf("}",t+1);if(n===-1)return!1;let r=e.slice(t+1,n);return r.includes(",")||r.includes("..")}function NA(e,t,n,r){try{return Re(Y(e,n,r))===Re(Y(t,n,r))}catch{try{return Re(e)===Re(t)}catch{return!1}}}function DA(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Re(Y(lr(t,e),n,r))===Re(Y(t,n,r))}catch{try{return Re(lr(t,e))===Re(t)}catch{return!1}}}function $A(e,t,n,r,o,i,s){let a=n??t;if(!o&&(e.startsWith("~")||e.startsWith("$HOME")||e.startsWith("${HOME}")))return!1;if(r)return!1;if(e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e))try{return Pu(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return Pu(lr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return Pu(lr(a,e),t,i,s)}catch{return!1}}function Pu(e,t,n,r){try{return vv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function MA(e,t,n,r){if(!t)return!1;try{return vv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function vv(e,t){let n=Re(e),r=Re(t);return n.startsWith(`${r}${ku}`)||n===r}var LA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),Sv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",WA="PowerShell Remove-Item -Recurse -Force for non-temporary paths is blocked by the active safety policy. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",xv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",_v="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",FA="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",GA="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function Cv(e,t,n,r=Rn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return ZA(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function ZA(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=UA(o),s=o[i];if(!s||!LA.has(QA(s.text)))return null;let a=BA(o.slice(i+1));if(a.whatIfProtected)return null;if(ue(r,"powershell.remove-item-pipeline-dynamic-target",n.strict)&&t&&(a.targets.length===0||a.recursive))return S("powershell.remove-item-pipeline-dynamic-target",GA);for(let c of a.targets)if(!qt(c.text)&&Tu(Ou(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",_v);for(let c of a.targets)if(n.resolvedCwd&&wn(Ou(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",Ve);if(!a.recursive||!a.force)return null;if(ue(r,"powershell.remove-item-recursive-force-dynamic-target",n.strict)&&(a.hasDynamicTarget||a.targets.length===0))return S("powershell.remove-item-recursive-force-dynamic-target",xv);for(let c of a.targets){let l=eT(ot(Ou(c.text),n),n,r);if(l)return l}return null}function BA(e){let t=[],n=!1,r=!1,o=!1,i=!1,s=!1;for(let a=0;a<e.length;a++){let c=e[a];if(!c||c.kind!=="word")continue;if(jA(c))continue;if(s){t.push(Iu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=VA(c.text);if(!l){t.push(Iu(c)),i=i||c.dynamic;continue}if(qA(l.name)){let u=l.value?HA(l.value,c):e[++a];if(u?.kind==="word")t.push(Iu(u)),i=i||u.dynamic;else i=!0;continue}if(KA(l.name)){n=!0;continue}if(YA(l.name)){r=!0;continue}if(JA(l.name))o=XA(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function UA(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function Iu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function jA(e){return e.kind==="word"&&e.text===","}function Ou(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function HA(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function VA(e){if(!e.startsWith("-")||e==="-")return null;let t=e.slice(1),n=t.indexOf(":");if(n===-1)return{name:t.toLowerCase()};return{name:t.slice(0,n).toLowerCase(),value:t.slice(n+1)}}function qA(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function KA(e){return"recurse".startsWith(e)}function YA(e){return e.length>=2&&"force".startsWith(e)}function JA(e){return e==="wi"||"whatif".startsWith(e)}function XA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function QA(e){return e.toLowerCase()}function eT(e,t,n){switch(e.kind){case"root_or_home_target":return S("powershell.remove-item-recursive-force-root-or-home",_v);case"git_metadata_target":return S("powershell.remove-item-git-metadata",Ve);case"temp_target":return null;case"dynamic_target":if(!ue(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return S("powershell.remove-item-recursive-force-dynamic-target",xv);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",FA);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",Sv);case"within_anchored_cwd":if(!ue(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return S("powershell.remove-item-recursive-force-paranoid",WA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",Sv)}}import{normalize as oa}from"path";var Me=new Set(["awk","gawk","nawk","mawk"]),tT=new Set(["-e","--source"]),nT=new Set(["-F","-v","--assign","--field-separator"]),wv=new Set(["-f","--file"]),rT=new Set(["print","printf","return"]),Rv=[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"--source",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-f",kind:"program-file",valueForm:"attached-or-separate"},{selector:"--file",kind:"program-file",valueForm:"equals-or-separate"}],oT="Detected awk system(), pipe, or getline command with dynamic command that cannot be safely analyzed. Use a literal command or process the data without system(), pipes, or getline.";function js(e,t,n){let r=!1;for(let o of iT(e)){let i=sT(o,n);if(!i)continue;for(let s of i.commands){let a=t(s);if(a)return a;if(s.includes("{}")||/[$`]/.test(s))r=!0}r||=i.dynamic}return r?S("awk.system-dynamic",oT):null}function Nu(e){let t=[],n=!1,r=!1,o=!0,i=!0;for(let s=1;s<e.length;s++){let a=e[s];if(a===void 0)break;if(o&&a==="--"){o=!1;continue}if(o&&tT.has(a)){n=!0;let c=e[s+1];if(c!==void 0)t.push({tokenIndex:s+1,kind:"inline-code",value:c});else i=!1;s++;continue}if(o&&a.startsWith("--source=")){n=!0,t.push({tokenIndex:s,kind:"inline-code",value:a.slice(9)});continue}if(o&&a.startsWith("-e")&&a.length>2){n=!0,t.push({tokenIndex:s,kind:"inline-code",value:a.slice(2)});continue}if(o&&(nT.has(a)||wv.has(a))){if(wv.has(a)){r=!0;let c=e[s+1];if(c!==void 0)t.push({tokenIndex:s+1,kind:"program-file",value:c});else i=!1}else if(e[s+1]===void 0)i=!1;s++;continue}if(o&&(a.startsWith("-F")||a.startsWith("-v")&&a.slice(2).includes("=")))continue;if(o&&a.startsWith("-f")&&a.length>2){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(2)});continue}if(o&&(a.startsWith("--assign=")||a.startsWith("--field-separator=")))continue;if(o&&a.startsWith("--file=")){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(7)});continue}if(o&&a.startsWith("-")&&a!=="-")continue;if(o=!1,!n&&!r)t.push({tokenIndex:s,kind:"main-program",value:a});return{sources:t,optionsOpen:!1}}return{sources:i?t:[],optionsOpen:o&&i}}function Eo(e){return Nu(e).sources}function iT(e){return Eo(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function sT(e,t){Ie(t,e);let n=e.includes("system")?Du(e,t):null,r=aT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Du(e,t){Ie(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Us(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=Ev(e,i+1);continue}if(s==="/"&&Pv(e,i)){i=kv(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,Ro(e[a-1])||Ro(e[i]))continue;let c=Bs(e,i);if(e[c]!=="(")continue;c=Bs(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Us(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Bs(e,u.endIndex),r=!0,e[c]!==")"){o=!0,i=u.endIndex;continue}n.push(u.value),i=c+1}if(!r)return null;return{dynamic:o,commands:n}}function aT(e,t){Ie(t,e);let n=[],r=!1,o=!1,i=0,s=0,a=null,c=null,l=0;while(i<e.length){let u=e[i];if(!u)break;if(u==='"'||u==="'"){let m=Us(e,i,u);if(m&&l===s)c={...m,startIndex:i};l=m?.endIndex??i+1,i=m?.endIndex??i+1;continue}if(u==="#"){i=Ev(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Pv(e,i)){let m=kv(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
50
- {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(zu(e,i,"print")||zu(e,i,"printf")))a=i;if(u!=="|"||e[i-1]==="|"||e[i+1]==="|"){if(!/\s/.test(u))l=i+1;i++;continue}let d=e[i+1]==="&"?i+2:i+1,f=Bs(e,d);if(zu(e,f,"getline")){o=!0;let m=uT(s,c,l);if(m===null)r=!0;else n.push(m);l=d,i=d;continue}if(mT(s,a)){o=!0;let m=lT(e,f);if(!m){r=!0,l=d,i=d;continue}if(!cT(e,m.endIndex)){r=!0,l=m.endIndex,i=m.endIndex;continue}n.push(m.value),l=m.endIndex,i=m.endIndex;continue}l=d,i++}if(!o)return null;return{dynamic:r,commands:n}}function Ro(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Bs(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function cT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
51
- }#`.includes(r)}function Us(e,t,n){let r="",o=!1;for(let i=t+1;i<e.length;i++){let s=e[i];if(!s)break;if(o){let a=dT(e,i);if(!a)return null;r+=a.value,i=a.endIndex,o=!1;continue}if(s==="\\"){o=!0;continue}if(s===n)return{value:r,endIndex:i+1};r+=s}return null}function lT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return Us(e,t,n)}function uT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function dT(e,t){let n=e[t];if(!n)return null;if(n==="x"){let o=e.slice(t+1,t+3);if(!/^[0-9A-Fa-f]{2}$/.test(o))return null;return{value:String.fromCharCode(Number.parseInt(o,16)),endIndex:t+2}}if(/[0-7]/.test(n)){let o=/^[0-7]{1,3}/.exec(e.slice(t));if(!o)return null;return{value:String.fromCharCode(Number.parseInt(o[0],8)),endIndex:t+o[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
52
- `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function zu(e,t,n){return e.startsWith(n,t)&&!Ro(e[t-1])&&!Ro(e[t+n.length])}function mT(e,t){return t!==null&&t>=e}function Ev(e,t){let n=e.indexOf(`
53
- `,t);return n===-1?e.length:n+1}function Pv(e,t){let n=fT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(Ro(e[r-1]))r--;return rT.has(e.slice(r,n+1))}function fT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function kv(e,t){let n=!1;for(let r=t;r<e.length;r++){let o=e[r];if(!o)break;if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(o==="/")return r+1}return null}var Av=new Set(["rm","find","xargs","parallel"]),pT=new Set(["sudo","env","command","builtin"]),gT=new Set(["git","busybox",...Av,...de,...Hy,...Me]);function Hs(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(G(n)))return null;let r=G(n),o=e[1]==="--"?2:1,i=hT(e,o,r,t),s=i[0];if(s===void 0)return null;return{wrapper:r,tokens:[...e.slice(s)],childIndex:s,alternativeChildIndices:i.slice(1)}}function hT(e,t,n,r){let o=e[1]==="--",i=[];for(let s=t;s<e.length;s++){let a=e[s];if(!a)continue;if(G(a)!==n&&yT(a,r))i.push(s);else if(rs.has(H(a)))break;if(o)break}return i}function yT(e,t){let n=G(e),r=H(e);return r==="git"||n==="busybox"||En(e)||Av.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||ze(r)||Me.has(r)||t.rules.some((o)=>o.command===n)}function En(e){return pT.has(e.toLowerCase())}function Tv(e){let t=H(e);return gT.has(t)||ze(t)}function it(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Vs([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Vs(e,t,n,r,o,i,s,a,c){let l=gs(e,t,n,i);for(let[m,p]of l.envAssignments)i.set(m,p),o.set(m,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let m=ps(l.envSplitValues,u);if(!m)throw new Oe;$u(a),yield*Vs(m,t,d,r,o,i,s,a,c);return}if(En(u[0]??""))throw new Oe;let f=Hs(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])$u(a),yield*Vs(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(vT(u)){$u(a),yield*Vs([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield bT(u,d,r,o,i,c)}function bT(e,t,n,r,o,i){return{tokens:e,cwd:t===null?void 0:t??n,wrapperCwd:t,wrapperEnvAssignments:r,envAssignments:o,head:G(e[0]??"").toLowerCase(),wrappedByTransparent:i}}function $u(e){if(e.iterations>=er)throw new Oe;e.iterations++}function vT(e){return G(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function Mu(e,t){let n=[],r=t;while(r<e.length){let o=e[r];if(o===void 0||o===":::")break;n.push(o),r++}return{markerIndex:r<e.length&&e[r]===":::"?r:-1,templateTokens:n}}function st(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Lu(r,"recursive"))t=!0;else if(r==="-f"||Lu(r,"force"))n=!0;else if(r.startsWith("-")&&!r.startsWith("--")){if(r.includes("r")||r.includes("R"))t=!0;if(r.includes("f"))n=!0}}return t&&n}function Iv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Lu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Lu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var ST="find -delete permanently removes files. Use -print first to preview.",xT="find -exec rm -rf is dangerous. Use explicit file list instead.",_T=new Set(["-exec","-execdir","-ok","-okdir"]),CT=new Map([...["-Bmin","-Bnewer","-Btime","-amin","-anewer","-atime","-cmin","-cnewer","-context","-ctime","-f","-flags","-fprint","-fprint0","-fls","-fstype","-gid","-group","-ilname","-iname","-inum","-ipath","-iwholename","-iregex","-links","-lname","-maxdepth","-mindepth","-mmin","-mnewer","-mtime","-name","-newer","-newerXY","-newermt","-path","-perm","-printf","-regex","-samefile","-size","-type","-uid","-used","-user","-wholename","-xattrname","-xtype"].map((e)=>[e,1]),["-fprintf",2]]);function qs(e,t){let n=e.map(N),r=wT(e,n,t);if(r)return r;if(Ys(n,1)&&!ET(e,n,t)){let s=O(S("find.delete",ST),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??ts(),i=0;while(i<n.length){let s=n[i],a=Qt(s??"");if(a>0){i+=a+1;continue}if(!Ft(s)){i++;continue}Xe(o,n.length-i-1);let c=Po(n,i);i=c.nextIndex;let l=kT(c.tokens,t.environment);if(l){let m=O(l,t.policy);if(m)return m}let u=s==="-execdir"||s==="-okdir",d=t.analyzeTokens?t.analyzeTokens(c.tokens,u?null:t.cwd):t.analyzeNested?t.analyzeNested(c.tokens.join(" "),{effectiveCwd:u?void 0:t.cwd,envAssignments:t.envAssignments}):null,f=d?.id.startsWith("custom.")?d:O(d,t.policy);if(f)return f}return null}function wT(e,t,n){if(!Ys(t,1)&&!Wu(t,n.environment))return null;let o=Ks(e)??j(["."]),i=Rn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=wo(s);for(let c of a.expandedTargets??[N(s)]){let l=ot(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home","rm -rf targeting root or home directory is extremely dangerous and always blocked.");if(l.kind==="git_metadata_target")return S("find.delete-git-metadata",Ve)}}if(RT(t)&&i.resolvedCwd&&uv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",Ve);return null}function Wu(e,t){let n=0;while(n<e.length){if(!Ft(e[n])){n++;continue}let r=Po(e,n),o=Jt([...r.tokens],t),i=G(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function RT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function ET(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Ks(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Xl(o,n.environment),s=n.trustedTmpdirValue??Lt(o,n.environment),a=n.allowTmpdirVar??!uo(o,n.environment),c=Rn({environment:n.environment,protectedGitMetadata:n.protectedGitMetadata,cwd:n.cwd,originalCwd:n.originalCwd,strict:n.strict,allowTmpdirVar:a&&s&&Boolean(i),allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:n.tmpdirWordSplittingUnsafe??ft(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=wo(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>hv(d,c,{containmentTarget:PT(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function PT(e,t){if(!t)return e;return e.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>t)}function Ks(e){let t=(o)=>{let i=e[o];return i?N(i):void 0},n=1;while(t(n)==="-H"||t(n)==="-P")n++;if(t(n)==="--")n++;let r=[];while(n<e.length){let o=t(n),i=e[n];if(!o||!i||o.startsWith("-")||["!","(",")"].includes(o))break;r.push(i),n++}return r.length>0?r:null}function kT(e,t){let n=ir([...e],t);if(n.length===0)return null;let r=G(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=G(n[0]??"");if(r==="rm"&&st(n))return S("find.exec-rm-recursive-force",xT);return null}function Po(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Ys(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Ft(r)){n=Po(e,n).nextIndex;continue}let o=Qt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Qt(e){return CT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Ft(e){return e!==void 0&&_T.has(e)}function ko(e){let t=tt(e,"posix");if(t.status!=="complete"||t.nodes.length!==1)return null;let n=t.nodes[0];if(n?.kind!=="command")return null;if(n.redirections.length>0||n.nested.length>0)return null;if(n.words.some((r)=>r.provenance==="command-substitution"))return null;return n.words.map((r)=>r.text)}var AT=5,Fu="Git aliases supplied through command-line or environment config can hide or execute commands. Run git without Git alias overrides, or ask the user to run it manually.";function Se(e){let t=e.indexOf("--");if(t===-1)return{index:-1,before:e,after:[]};return{index:t,before:e.slice(0,t),after:e.slice(t+1)}}function zv(e,t,n){let r=Dv(e,t,n),o=TT(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<AT;a++){let{subcommand:c,rest:l}=at(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=DT(d);if(f===null||f.length===0)return{blockedReason:Fu,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:Fu,expanded:!0,tokens:i}}function Nv(e,t,n){return Dv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function at(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?G(t).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--"){let i=e[r+1];if(i&&!i.startsWith("-"))return{subcommand:i,rest:e.slice(r+2)};return{subcommand:null,rest:e.slice(r+1)}}if(o.startsWith("-"))if(mt.has(o))r+=2;else if(o.startsWith("-c")&&o.length>2)r++;else if(o.startsWith("-C")&&o.length>2)r++;else r++;else return{subcommand:o,rest:e.slice(r+1)}}return{subcommand:null,rest:[]}}function TT(e){let t=new Map;for(let n of e){let r=n.key.toLowerCase();if(!r.startsWith("alias."))continue;let o=r.slice(6);if(o!=="")t.set(o,n.value)}return t}function Dv(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?G(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=OT(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...IT(e,t,n)]}}function IT(e,t,n){let r=[],o=1;while(o<e.length){let i=e[o];if(!i||i==="--"||!i.startsWith("-"))return r;if(i==="-c"){let s=Gu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Gu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=Ov(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=Ov(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(mt.has(i)){o+=2;continue}o++}return r}function OT(e,t){let n=zT(e,t),r=NT(e,t);return{blockedReason:n===null||r===null?Fu:null,entries:[...n??[],...r??[]]}}function zT(e,t){let n=je("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=ko(n);if(!o)return null;for(let i of o){let s=Gu(i);if(!s)return null;r.push(s)}return r}function NT(e,t){let n=ji(e,t);if(n.state==="absent")return[];if(n.state==="invalid")return null;let r=[];for(let o=0;o<n.count;o++){let i=je(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=je(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Gu(e){if(!e)return null;let t=e.indexOf("=");return{key:(t===-1?e:e.slice(0,t)).trim(),value:t===-1?void 0:e.slice(t+1)}}function Ov(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:je(e.slice(r+1),t,n)}}function DT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return ko(t)}var $T="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",MT="git checkout --force discards uncommitted changes. Use 'git stash' first.",LT="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",WT="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",FT="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",GT="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",ZT="git switch --force discards uncommitted changes. Use 'git stash' first.",BT="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",UT="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",jT="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",HT="git reset --merge can lose uncommitted changes. Use 'git stash' first.",VT="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",qT="git rm --force removes tracked files from the working tree. Use 'git rm --cached' to keep the files, or 'git rm --dry-run' to preview first.",KT="git push --force destroys remote history. Use --force-with-lease for safer force push.",YT="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",JT="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",XT="git branch -D force-deletes without merge check. Use -d for safe delete.",QT="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",eI="git merge --abort discards merge conflict resolutions. Use 'git status' first.",tI="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",nI="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",rI="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",oI="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",iI="git worktree remove --force can delete uncommitted changes. Remove --force flag.",$v=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),Mv=new Set(["--recurse-submodules","--track","-t"]),Zu=new Set(["-b","-B","-U"]),Bu=new Set(["-c","-C"]),sI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),aI=new Set(["-q","--quiet","--no-quiet","-f","--force","--no-force","-d","--detach","--no-detach","-m","--merge","--no-merge","-p","--patch","--no-patch","--guess","--no-guess","--overlay","--no-overlay","--ours","--theirs","--ignore-skip-worktree-bits","--no-ignore-skip-worktree-bits","--no-track","--overwrite-ignore","--no-overwrite-ignore","--ignore-other-worktrees","--no-ignore-other-worktrees","--progress","--no-progress","--pathspec-file-nul","--no-pathspec-file-nul","--no-recurse-submodules"]);function B(e,t){let n=e.split("=",1)[0]??e;return n.length>=4&&t.startsWith(n)&&n.startsWith("--")&&n.slice(2).length>=2}var ur=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Wv(e){let{subcommand:t,rest:n}=at(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return en(cI(n));case"switch":return en(lI(n));case"restore":return en(dI(n));case"reset":return fI(n);case"clean":return en(gI(n));case"rm":return en(hI(n));case"push":return Pn(yI(n));case"branch":return Pn(SI(n));case"stash":return Pn(RI(n));case"worktree":return Pn(EI(n));case"rebase":return en(xI(n));case"merge":return en(_I(n));case"tag":return Pn(CI(n));case"reflog":return Pn(wI(n));default:return null}}function en(e){return e?{...e,localDiscard:!0}:null}function Pn(e){return e?{...e,localDiscard:!1}:null}function cI(e){let{index:t,before:n}=Se(e),r=we(n,{shortOptsWithValue:Zu});if(n.some((i)=>B(i,"--force"))||r.has("-f"))return S("git.checkout-force",MT);for(let i of e){if(i==="-b"||i==="-B"||i==="--orphan")return null;if(B(i,"--pathspec-from-file"))return S("git.checkout-pathspec-from-file",WT)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return S("git.checkout-ref-path",LT);return S("git.checkout-double-dash",$T)}if(uI(e).length>=2)return S("git.checkout-ambiguous",FT);return null}function lI(e){let{before:t}=Se(e);if(t.some((r)=>B(r,"--discard-changes")))return S("git.switch-discard-changes",GT);let n=we(t,{shortOptsWithValue:Bu});if(t.some((r)=>B(r,"--force"))||n.has("-f"))return S("git.switch-force",ZT);return null}function uI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if($v.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(Mv.has(r)){let o=e[n+1];if(o&&!o.startsWith("-")&&(r==="--recurse-submodules"||r==="--track"||r==="-t"))if((r==="--recurse-submodules"?["checkout","on-demand"]:["direct","inherit"]).includes(o))n+=2;else n++;else n++}else if(r.startsWith("--")&&!aI.has(r)&&!$v.has(r)&&!Mv.has(r))n++;else n++;else t.push(r),n++}return t}function dI(e){let t=mI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?S("git.restore-worktree",UT):S("git.restore-unstaged",BT)}function mI(e){let t=!1,n=!1,r=!0,o=!1,i=(s)=>{if(!o)r=!1,o=!0;if(s!==void 0)r=s};for(let s=0;s<e.length;s++){let a=e[s];if(a===void 0)break;if(a==="--"){t||=s+1<e.length;break}if(a==="--pathspec-from-file"){t=!0,s++;continue}if(a.startsWith("--pathspec-from-file=")){t=!0;continue}if(a==="-h"||a==="--help"||a==="--version")return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!0};if(a==="--staged"){i();continue}if(a==="--no-staged"){i();continue}if(a==="--worktree"){i(!0);continue}if(a==="--no-worktree"){i(!1);continue}if(a==="--patch"){n=!0;continue}if(a==="--no-patch"){n=!1;continue}if(sI.has(a)){s++;continue}if(a.startsWith("--"))continue;if(a==="-"){t=!0;continue}if(!a.startsWith("-")){t=!0;continue}for(let c=1;c<a.length;c++){let l=a.charAt(c);if(l==="h")return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!0};if(l==="S"){i();continue}if(l==="W"){i(!0);continue}if(l==="p"){n=!0;continue}if(l==="s"||l==="U"){if(c===a.length-1)s++;break}}}return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!1}}function fI(e){let t=null;for(let n of e){if(B(n,"--hard")){t=S("git.reset-hard",jT);break}if(B(n,"--merge")){t=S("git.reset-merge",HT);break}}if(!t)return null;return pI(e)?Pn(t):en(t)}function pI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function gI(e){for(let n of e)if(n==="-n"||B(n,"--dry-run"))return null;let t=we(e.filter((n)=>n!=="--"));if(e.some((n)=>B(n,"--force"))||t.has("-f"))return S("git.clean-force",VT);return null}function hI(e){let t=!1,n=!1,r=!1;for(let o of Se(e).before){if(B(o,"--no-force")){t=!1;continue}if(B(o,"--force")){t=!0;continue}if(B(o,"--no-cached")){n=!1;continue}if(B(o,"--cached")){n=!0;continue}if(B(o,"--no-dry-run")){r=!1;continue}if(B(o,"--dry-run")){r=!0;continue}let i=we([o]);t||=i.has("-f"),r||=i.has("-n")}return t&&!n&&!r?S("git.rm-force",qT):null}function yI(e){let{before:t,after:n}=Se(e),r=we(t);if(t.some((s)=>B(s,"--mirror")))return S("git.push-mirror",JT);if(t.some((s)=>B(s,"--force"))||r.has("-f")||Lv(t,n).some(bI))return S("git.push-force",KT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Lv(t,n).some(vI))return S("git.push-delete",YT);return null}function Lv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function bI(e){return e.startsWith("+")||e.includes(":+")}function vI(e){return e.length>1&&e.startsWith(":")}function SI(e){let{before:t}=Se(e),n=we(t),r=n.has("-D")||n.has("-d")||t.some((i)=>B(i,"--delete")),o=n.has("-D")||n.has("-f")||t.some((i)=>B(i,"--force"));if(r&&o)return S("git.branch-force-delete",XT);return null}function xI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",QT):null}function _I(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.merge-abort",eI):null}function CI(e){let{before:t}=Se(e);return we(t).has("-d")||t.some((r)=>B(r,"--delete"))?S("git.tag-delete",tI):null}function wI(e){return e[0]==="delete"?S("git.reflog-delete",nI):null}function RI(e){for(let t of e){if(t==="drop")return S("git.stash-drop",rI);if(t==="clear")return S("git.stash-clear",oI)}return null}function EI(e){let{before:t}=Se(e);if(!t.includes("remove"))return null;let r=we(t);if(t.some((o)=>B(o,"--force"))||r.has("-f"))return S("git.worktree-remove-force",iI);return null}import{execFileSync as PI}from"child_process";import{existsSync as ju,readFileSync as Hu}from"fs";import{dirname as kI,isAbsolute as Zv,join as Uu,resolve as Bv}from"path";var AI=["/usr/bin/git","/usr/local/bin/git","/opt/homebrew/bin/git","C:\\Program Files\\Git\\cmd\\git.exe","C:\\Program Files\\Git\\bin\\git.exe"];function Uv(e,t,n,r){let o=TI(e,t,n);if(o!==null)return o;let i=II(t,n);if(i!==null)return i;if(vy(n))return!0;return OI(r)}function TI(e,t,n){let r=null,o=1;while(o<e.length){let i=e[o];if(!i||i==="--")return r;if(!i.startsWith("-"))return r;if(i==="-c"){let s=Fv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Fv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Gv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Gv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(mt.has(i))o+=2;else o++}return r}function II(e,t){if(je("GIT_CONFIG_PARAMETERS",e,t)!==void 0)return!0;let n=ji(e,t);if(n.state==="absent")return null;if(n.state==="invalid")return!0;let r=null;for(let o=0;o<n.count;o++){let i=je(`GIT_CONFIG_KEY_${o}`,e,t),s=je(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Vu(a))return!0;if(a!=="submodule.recurse")continue;r=Ao(s)}return r}function OI(e,t=NI()){let n=zI(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=PI(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:DI(process.env),stdio:["ignore","pipe","ignore"]}).trim();return Ao(r)}catch(r){return!$I(r)}}function zI(e){let t=MI(e);if(t===null)return null;for(let n of t){if(!ju(n))continue;if(FI(n))return!0}return!1}function NI(){for(let e of AI)if(ju(e))return e;return null}function DI(e){let t={...e};for(let n of Object.keys(t))if(no(n))delete t[n];return t}function $I(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function MI(e){let t=io(e);if(t===null)return null;let n=LI(t);if(n===null)return null;let r=WI(n);if(r===null)return null;return[Uu(r,"config"),Uu(n,"config.worktree")]}function LI(e){try{let n=Hu(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!n.startsWith("gitdir:"))return e;let r=n.slice(7).trim();if(r==="")return null;return Zv(r)?r:Bv(kI(e),r)}catch{return null}}function WI(e){let t=Uu(e,"commondir");if(!ju(t))return e;try{let n=Hu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Zv(n)?n:Bv(e,n)}catch{return null}}function FI(e){let t;try{t=Hu(e,"utf-8")}catch{return!0}let n="",r=!1;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;let s=i.match(/^\[([^\]]+)\]$/);if(s){n=s[1]?.trim().toLowerCase()??"";continue}let a=i.indexOf("="),c=(a===-1?i:i.slice(0,a)).trim().toLowerCase(),l=a===-1?"true":i.slice(a+1).trim();if(GI(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=Ao(l)}return r}function GI(e){return e==="include"||e.startsWith("includeif ")}function Fv(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Vu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return Ao(r)}function Ao(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Gv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Vu(o))return!0;if(o!=="submodule.recurse")return null;let i=je(e.slice(r+1),t,n);return i===void 0||Ao(i)}function Vu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function jv(e,t,n){if(!t.localDiscard||!n.worktreeMode||Cy(n.env,n.envAssignments))return null;let r=wy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!Ry(r.gitCwd))return null;if(ZI(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function ZI(e,t,n){let{subcommand:r,rest:o}=at(e),i=r?.toLowerCase();if(t.dynamicArguments||BI(o)||Uv(e,t.env,t.envAssignments,n)||HI(o)||UI(i,o))return!0;return i==="clean"&&VI(o)>1}function BI(e){return e.some((t)=>/[$*?[]/.test(t))}function UI(e,t){if(e==="checkout"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Zu}),o=n.some((s)=>B(s,"--force"))||r.has("-f"),i=r.has("-B")||n.some((s)=>s==="-B"||s.startsWith("-B"));return o&&i}if(e==="switch"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Bu}),o=n.some((s)=>B(s,"--force"))||n.some((s)=>B(s,"--discard-changes"))||r.has("-f"),i=n.some((s)=>s==="-C"||s.startsWith("-C")||jI(s))||r.has("-C");return o&&i}return!1}function jI(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function HI(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function VI(e){let t=0;for(let n of e){if(n==="--force"){t++;continue}if(n.startsWith("-")&&!n.startsWith("--")){for(let r of n.slice(1))if(r==="f")t++}}return t}var qI="Git SSH environment overrides can execute arbitrary commands during network operations. Run git without GIT_SSH/GIT_SSH_COMMAND overrides, or ask the user to run it manually.",KI=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function dr(e,t){return Hv(e.map(N),t)}function Hv(e,t,n){let r=zv(e,t.env,t.envAssignments),o=r.blockedReason?O(S("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((by(t.envAssignments)||Nv(e,t.env,t.envAssignments))&&YI(i))return S("git.ssh-env",qI);let s=Wv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=jv(e,s,t);if(!a)return s;return n?.(a),null}function Vv(e,t){let n=null;return{match:Hv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function YI(e){let{subcommand:t,rest:n}=at(e),r=t?.toLowerCase();if(!r)return!1;if(KI.has(r))return!0;if(r==="archive")return Se(n).before.some((o)=>B(o,"--remote"));return r==="remote"&&JI(n)}function JI(e){return e.find((t)=>!XI(t))?.toLowerCase()==="update"}function XI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as ZO}from"path";var qv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",QI="rm -rf for non-temporary paths is blocked by the active safety policy. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",eO="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",Yv="rm -rf targeting root or home directory is extremely dangerous and always blocked.",tO="rm -rf in home directory is dangerous. Change to a project directory first.";function mr(e,t){let n=Rn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=st(r),i=Iv(r),s=rO(e);for(let a of s){let c=wo(a.word);if(o&&c.unsafeBraceExpansion){let l=O(Kv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u=Te(l),d={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&wn(u,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",Ve);if(i&&!o){let f=ot(u,n,d);if(f.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",Yv);if(f.kind==="git_metadata_target")return S("rm.git-metadata",Ve);continue}if(!o)continue;for(let f of nO(u,n,d)){let m=Kv(f,n,t.policy),p=O(m,t.policy);if(p)return p}}}return null}function nO(e,t,n){let r=ot(e,t,n);if(r.kind==="cwd_self_target")return[r,ot(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=ot(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,ot(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function rO(e){let t=[],n=!1;for(let r of e.slice(1)){let o=N(r);if(!o)continue;if(o==="--"){n=!0;continue}if(n){t.push({text:o,word:r});continue}if(!o.startsWith("-"))t.push({text:o,word:r})}return t}function Kv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",Yv);case"git_metadata_target":return S("rm.git-metadata",Ve);case"temp_target":return null;case"dynamic_target":if(!ue(n,"rm.recursive-force-dynamic-target",t.strict))return null;return S("rm.recursive-force-dynamic-target",eO);case"home_cwd_target":return S("rm.recursive-force-home-cwd",tO);case"cwd_self_target":return S("rm.recursive-force-cwd-self",qv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",QI);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",qv)}}var oO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},Xv=new Set(["--init-file","--rcfile"]),iO=["--init-file","--rcfile"],sO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function yt(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return Jv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Jv(e,t,!1);if(r!==null)return r}}return null}function qe(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return bt(e).syntaxCheck;let n=!1;for(let r of e.slice(1)){if(r==="--")return n;if(r.startsWith("+")&&!r.startsWith("++")){if(r.slice(1).includes("n"))n=!1;continue}if(!r.startsWith("-")||r.startsWith("--"))return n;let o=r.slice(1);if(o.includes("n"))n=!0;if(o.includes("c"))return n}return n}function Jv(e,t,n){if(e[t+1]==="--")return e[t+2]||null;let r=e[t+1];if(!r||!n&&r.startsWith("-"))return null;return r}function Qv(e){let t=G(e[0]??"").toLowerCase(),n=aO(e,t),r=sO.get(t)??null,o=n.argvSource?.kind!=="absent";return{argvSource:t==="bash"?n.argvSource:null,argvSourceApplies:t==="bash"&&n.interactive&&n.argvSource?.kind==="literal",envName:r,envSourceApplies:o&&(r==="BASH_ENV"?!n.interactive:r==="ENV"&&n.interactive)}}function aO(e,t){let n=bt(e),r=n.commandIndex??n.scriptIndex??e.length,o=[],i=!1,s=!0;for(let a=1;a<r;a++){let c=e[a];if(c===void 0||c==="--"||c==="-"||c[0]!=="-"&&c[0]!=="+")break;if(c.startsWith("--")){if(t==="bash"&&s?iO.find((f)=>c===f):void 0){let f=e[a+1];o.push(f===void 0?{kind:"absent"}:{kind:"literal",value:f}),a++;continue}let d=c.split("=",1)[0]??c;if(t==="bash"&&Xv.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=eS(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function eS(e,t,n,r){let o=!1,i=0,s=!1,a=!1,c=!1;for(let l=1;l<t.length;l++){let u=t[l];if(u===void 0)break;if(e==="ksh"&&u==="o"&&l+1<t.length){if(r==="argv"){let d=t.slice(l+1);if(t[0]==="-"&&(d==="c"||d[0]==="-"&&d.endsWith("c")))s=!0}break}if(e==="ksh"&&u==="o"&&l+1===t.length&&(n?.startsWith("-")||n?.startsWith("+")))break;if(e==="zsh"&&u==="o"&&l+1<t.length)break;if(r==="startup"&&u==="i")o=t[0]==="-";if(r==="argv"&&t[0]==="-"&&u==="c")s=!0;if(r==="argv"&&u==="n")c=t[0]==="-";if(r==="argv"&&u==="s")a=t[0]==="-";if(!oO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function bt(e){let t=G(e[0]??"").toLowerCase(),n=!1,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--"){let c=n&&e[i+1]!==void 0?i+1:null;return{command:c===null?null:e[c]??null,commandIndex:c,scriptIndex:!n&&!r&&e[i+1]!==void 0?i+1:null,readsStdinAsCommands:!n&&(r||e[i+1]===void 0),syntaxCheck:o}}if(s==="-"||s[0]!=="-"&&s[0]!=="+")return{command:n?s:null,commandIndex:n?i:null,scriptIndex:!n&&!r&&s!=="-"?i:null,readsStdinAsCommands:!n&&(r||s==="-"),syntaxCheck:o};if(s.startsWith("--")){let c=s.split("=",1)[0]??s;if(t==="bash"&&Xv.has(c)&&!s.includes("="))i++;continue}let a=eS(t,s,e[i+1],"argv");if(a.commandSelected)n=!0;if(a.syntaxCheck)o=!0;if(a.stdinMode)r=!0;i+=a.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!n,syntaxCheck:o}}var tn={kind:"none"},kn={kind:"dynamic"},cO=new Set(["<","<<","<<-","<<<","<&","<>"]),nS=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,lO=/^(?:[0-9]+|[@*])$/,uO=_n.maxWords,dO=_n.maxInputLength;function rS(e){if(!e||G(H(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
46
+ `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Ob(e,r,Math.min(e.length,ks.maxInputLength),ks.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=pu(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=uu(e,r,Math.min(e.length,ks.maxInputLength),ks,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...mu(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function mu(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return mu(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(mu)]})}function pu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Ob(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
47
+ `)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function nk(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function lu(e,t,n){return Object.freeze({kind:"connector",operator:e.slice(t,n),span:Object.freeze({start:t,end:n})})}var _n=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function tt(e,t="auto",n=_n){if(t==="powershell"||t==="auto"&&kb(e.slice(0,n.maxInputLength)))return Ab(e,n);return yb(e,"posix",n)}function go(e,t){if(e!=="powershell")return t[0]?.provenance==="command-substitution";let n=t[0]?.text==="&"||t[0]?.text==="."?1:0,r=t[n]?.provenance;return r!==void 0&&r!=="literal"}var rk=/^[A-Za-z_][A-Za-z0-9_]*=/;function As(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function Ts(e){let t=As(e.words[0],"time")?1:0,n=t===1&&As(e.words[t],"-p")?t+1:t,r=t===1&&As(e.words[n],"--")?n+1:n,o=As(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!rk.test(s.text));return i?.provenance==="literal"?i.text:void 0}function ho(e,t){if(t.escaped)return t.escaped=!1,!0;if(e==="\\"&&!t.inSingle)return t.escaped=!0,!0;if(e==="'"&&!t.inDouble)return t.inSingle=!t.inSingle,!0;if(e==='"'&&!t.inSingle)return t.inDouble=!t.inDouble,!0;return!1}function ar(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of ok(e))ho(n,t);return t.inSingle||t.inDouble}function ok(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
48
+ `||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);ho(s,n)}return t}var ik=new Set(["&&","||","|&","|","&",";"]),sk=new Set(["<<","<<<",">|"]),ak=/[*@#?$!_-]/,gu=Object.freeze([]),ck=Object.freeze([]),lk=256;function Mb(e,t){let n=t.status==="complete"?new Set(yu(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(ar(r))return Is("unclosed-quote",r,gu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=yo(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return Is("structural-limit",r,gu);if(o.invalid)return Is("invalid",r,gu);return Is("complete",r,i,o.assignmentFallbacks)}function Is(e,t,n,r=ck){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function yo(e,t){return e.nodes.flatMap((n,r)=>uk(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function uk(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[nt(gk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[nt(e.source)]}];if(e.kind==="function")return r.functions.set(e.name,e.body),[];if(e.kind==="group"){let i=e.style!=="subshell",s=r.source[e.span.end-1]===(i?"}":")"),a=i?r:{...r,functions:new Map(r.functions)};return[{start:e.span.start,entries:[i?Os("{"):nt("("),...yo(e.body,a),...s?[i?Os("}"):nt(")")]:[]]}]}let o=yk(e,r.functions);if(o){if(r.depth>=_n.maxDepth||++r.flags.expansions>lk)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...zb(e,r),Os(";"),...yo(o,{...r,depth:r.depth+1}),Os(";")]},...Nb(e,t,n,r)]}return[{start:e.span.start,entries:zb(e,r)},...Nb(e,t,n,r)]}function zb(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Wb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:dk(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function dk(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Wb(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[bu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:hk(r),targetOrder:sk.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Nb(e,t,n,r){let o=e.redirections.filter((i)=>i.operator==="<<"||i.operator==="<<-");return[...o.flatMap((i)=>{let s=i.heredoc;if(!s)return[];let a=[bu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[nt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Lb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?mk(t,n,r):[]]}function mk(e,t,n){let r=e.nodes.slice(t+1).find((o)=>o.kind==="connector");if(!r||r.span.end>=e.span.end)return[];return[{start:r.span.end,entries:Lb(n.source.slice(r.span.end,e.span.end),n)}]}function Lb(e,t){if(t.depth>=_n.maxDepth)return t.flags.limited=!0,[];let n=tt(e,"posix");if(n.status==="limited")return t.flags.limited=!0,[];let r={invalid:!1,limited:!1,expansions:t.flags.expansions,assignmentFallbacks:t.flags.assignmentFallbacks},o=yo(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Wb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(nt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(bu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of hu(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(nt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=hu(m,{single:!1,double:!0},n.flags).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((m)=>m.span.start>=l.span.start&&m.span.end<=l.span.end),d=u?yo(u,n):[];if(l.raw.startsWith("`")){s+="${}",c(),o.push(...d);continue}if(l.raw.startsWith("<(")||l.raw.startsWith(">(")){c(),o.push(l.raw.startsWith("<(")?nt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[nt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>nt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>nt(")")):[])}return c(),o}function hu(e,t,n){let r=[],o="",i=!1,s=0;while(s<e.length){let a=e[s]??"";if(!t.single&&!t.double&&(a==="("||a===")")){r.push({text:o,glob:i},a),o="",i=!1,s++;continue}if(t.single){if(a==="'")t.single=!1;else o+=a;s++;continue}if(t.double){if(a==='"'){t.double=!1,s++;continue}if(a==="\\"){let c=e[s+1]??"";o+=['"',"\\","$"].includes(c)?c:`\\${c}`,s+=2;continue}if(a==="$"){let c=Db(e,s,t,n);o+=c.text,s=c.next;continue}o+=a,s++;continue}if(a==="'"||a==='"'){t.single=a==="'",t.double=a==='"',s++;continue}if(a==="\\"){let c=e[s+1]??"";i||=c==="*"||c==="?",o+=c,s+=2;continue}if(a==="$"){let c=Db(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Db(e,t,n,r){let o=e[t+1];if(o==="{"){let s=pk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return fk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&ak.test(o))return{text:`\${${o}}`,next:t+2};let i=/^\w*/.exec(e.slice(t+1))?.[0]??"";return{text:`\${${i}}`,next:t+1+i.length}}function fk(e,t,n){let r=e.slice(2,-1),o=/^[A-Za-z_][A-Za-z0-9_]*/.exec(r)?.[0];if(!o)return;let i=r.slice(o.length),s=[":=","="].find((c)=>i.startsWith(c));if(!s)return;let a=hu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function pk(e,t){let n=1,r=t;while(n>0&&r<e.length){if(e[r]==="{"&&e[r-1]==="$")n++;else if(e[r]==="}")n--;r++}return n===0?r-1:-1}function gk(e){return/^[\r\n]+$/.test(e)?";":e}function nt(e){return Object.freeze({kind:"operator",operator:e,boundary:ik.has(e)})}function Os(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function bu(e){return Object.freeze({kind:"word",text:e})}function hk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function yu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return yu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>yu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!vk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function yk(e,t){let n=Ts(e);return n===void 0?void 0:t.get(n)}function Xt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function bk(e){if(Xt(e.words[0],"git"))return Xt(e.words[1],"commit");if(!Xt(e.words[0],"gh")||!Xt(e.words[2],"create"))return!1;return Xt(e.words[1],"pr")||Xt(e.words[1],"issue")}function vk(e){return(Xt(e.words[0],"cat")||Xt(e.words[0],"tee")||bk(e))&&!e.words.some($b)&&!e.redirections.some((n)=>$b(n.target))}function $b(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as Sk}from"util";var xk=new Set(["applypatch","patch"]),_k=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),Ck=new Set(["grep","grepsearch","rg"]),wk=new Set(["find","findbyname","glob"]),Rk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),Ek=new Set(["command","diff","input","patch","patchtext"]),Fb=new TextEncoder,Pk=new TextDecoder,kk=/\s/,Ak=64;class Wt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var bo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function jb(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Ns(e){return Rk.has(jb(e))}function _u(e){let t=jb(e);if(xk.has(t))return"patch";if(Ck.has(t))return"grep";if(wk.has(t))return"glob";if(_k.has(t))return"path";return"unknown"}function So(e){if(!e||typeof e!=="object")return;Yb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)pt();return}if(t.get||t.set)pt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function Cu(e,t){return Hb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Hb(e,t,n,r){let o=Kb(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Hb(a,t,n,r+1);return typeof a==="string"&&t.has(Vb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Vb(e){return e.replace(/-/g,"_").toLowerCase()}function wu(e){return qb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(Ik)}function qb(e,t,n,r){let o=Kb(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>qb(a,o.array?t:Ek.has(Vb(s)),n,r+1));return n.ancestors.delete(o.object),i}function Tk(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>bo.maxDepth||t.nodes>bo.maxNodes)pt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>bo.maxStringBytes||t.stringBytes>bo.maxAggregateStringBytes)pt()}function Kb(e,t,n){if(Tk(e,t,n),!e||typeof e!=="object")return null;let r=Yb(e);if(t.ancestors.has(e))pt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>bo.maxKeys)pt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)pt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function Yb(e){if(Sk.isProxy(e))pt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)pt();return t}function pt(){throw new Wt}function Ik(e){let t=[],n=e.split(/\r?\n/),r=!1,o=!1,i=null,s=null,a=()=>{o=!1,i=null,s=null};for(let c=0;c<n.length;c++){let l=n[c]??"";if(l==="*** Begin Patch"){r=!0,a();continue}if(l==="*** End Patch"){r=!1,a();continue}if(l.startsWith("@@")){let u=Ok(l);if(o=!0,i=u?.oldLines??null,s=u?.newLines??null,i===0&&s===0)a();continue}if(o&&i!==null&&s!==null){let u=l.startsWith(" ")||l.startsWith("-")?1:0,d=l.startsWith(" ")||l.startsWith("+")?1:0;if(i=Math.max(0,i-u),s=Math.max(0,s-d),i===0&&s===0)a();continue}if(l.startsWith("*** ")){a(),t.push(...vu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...vu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...xu(zs(l.slice(4),!0),zs(u.slice(4),!0))),c++;continue}if(!r)t.push(...vu(l))}return t}function Ok(e){let t=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(e);if(!t)return null;return{oldLines:Number(t[1]??1),newLines:Number(t[2]??1)}}function vu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Ub(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Ub(n[1]);if(e.startsWith("diff --git "))return zk(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Bb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Bb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return Fk(i[1]);return[]}function zk(e){let t=Nk(e);if(t.length===2&&t[0]&&t[1])return xu(t[0],t[1]);let n=Dk(e);return n?xu(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function Nk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(Cn(e[n]))n++;if(n>=e.length)break;let r=e[n]==='"'||e[n]==="'"?e[n]:void 0;if(!r){let i=n;while(n<e.length&&!Cn(e[n]))n++;t.push(e.slice(i,n));continue}let o=Jb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(Cn(e[n]))n++;return n===e.length?t:[]}function Dk(e){let t=0;while(t<e.length&&Cn(e[t]))t++;let n=e.length;while(n>t&&Cn(e[n-1]))n--;let r=0,o=t;while(o<n){if(!Cn(e[o])){o++;continue}let i=o;while(o<n&&Cn(e[o]))o++;if(i===t||o===n)continue;if(r++,r>Ak)pt();if($k(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function $k(e,t,n,r,o){if(Su(e,t,n,r,o))return!0;let i=Gb(e,"/",t,n),s=Gb(e,"/",r,o);if(i<=t||s<=r)return!1;if(Su(e,t,i,r,s))return!1;return Su(e,i+1,n,s+1,o)}function Su(e,t,n,r,o){if(n-t!==o-r)return!1;for(let i=0;i<n-t;i++)if(e[t+i]!==e[r+i])return!1;return!0}function Gb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function Cn(e){return e!==void 0&&kk.test(e)}function Jb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:Pk.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Fb.encode(i)),o++;continue}let s=e.slice(o+1),a=/^[0-7]{1,3}/.exec(s)?.[0];if(a){r.push(Number.parseInt(a,8)),o+=a.length+1;continue}r.push(...Fb.encode(Mk(s[0]??""))),o+=2}return null}function Mk(e){return{a:"\x07",b:"\b",f:"\f",n:`
49
+ `,r:"\r",t:"\t",v:"\v"}[e]??e}function Lk(e){return vo(Gk(e))}function xu(e,t){if(e==="/dev/null")return Zb(t);if(t==="/dev/null")return Zb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(vo);let n=Wk(e,t)??(e===t?Xb(e):null);return[e,t,...n?[n]:[]].flatMap(vo)}function Zb(e){let t=Xb(e);return[e,...t?[t]:[]].flatMap(vo)}function Xb(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function Wk(e,t){let n=e.indexOf("/"),r=t.indexOf("/");if(n<1||r<1)return null;if(e.slice(0,n)===t.slice(0,r))return null;let o=e.slice(n+1);return o===t.slice(r+1)?o:null}function Bb(e){return Lk(zs(e,!0))}function Fk(e){return vo(zs(e,!1))}function zs(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=Jb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Gk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function vo(e){return e===""||e==="/dev/null"?[]:[e]}function Ub(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var Qb=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),ev=new Set([...Qb,"glob"]),Bk=new Set([...ev,"pattern"]),Uk=[],tv={parseCommand:tt,projectShellSyntax:Mb};class gt extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function Ds(e,t={}){let n=jk({...tv,...t}),r=So(e.input),o=[];if((e.route.kind==="command"||e.route.kind==="unknown")&&r)o.push({usage:"input-candidate",source:r});if(e.route.kind==="command"&&"command"in e&&e.command)o.push({usage:"declared-command",source:e.command});let i=o.reduce((s,a)=>{let c=s.findIndex((d)=>d.source===a.source);if(c!==-1){let d=s[c];if(!d)return s;return s[c]={...d,usages:[...d.usages,a.usage]},s}let l=e.route.kind==="command"?e.route.shell:"posix",u=n.getCommandProgram(a.source,l);return s.push({usages:[a.usage],source:a.source,program:u,shell:n.getShellSyntax(a.source,u)}),s},[]);return{invocation:{toolName:e.toolName,route:e.route,context:e.context},commands:i,paths:Hk(e),store:n}}function De(e,t){return e.commands.find((n)=>n.usages.includes(t))}function ht(e){if(!e.includes("$"))return e;return Zi(e,It())}function jk(e={}){let t={...tv,...e},n=new Map,r=new Map,o=new WeakMap,i=(a,c)=>{let l=`${c}\x00${a}`,u=r.get(l);if(u)return u;let d=t.parseCommand(a,c);return r.set(l,d),d};return{getShellSyntax:(a,c)=>{if(c&&c.source!==a)throw TypeError("Shell syntax source does not match command program source.");let l=c??i(a,"posix");if(l.status==="limited"){let f=o.get(l);if(f)return f;let m={status:"structural-limit",source:a,entries:Uk,assignmentFallbacks:[]};return o.set(l,m),m}let u=n.get(a);if(u)return u;let d=t.projectShellSyntax(a,l);return n.set(a,d),d},getCommandProgram:i}}function Hk(e){let t=e.route.kind==="grep"?ev:e.route.kind==="glob"?Bk:Qb;return[...Cu(e.input,t),...e.route.kind==="patch"?wu(e.input):[]]}function we(e,t){let n=new Set,r=!1;for(let o of e){if(o==="--"){r=!0;continue}if(r)continue;if(o.startsWith("-")&&!o.startsWith("--")&&o.length>1)for(let i=1;i<o.length;i++){let s=o[i];if(!s||!/[a-zA-Z]/.test(s))break;let a=`-${s}`;if(n.add(a),t?.shortOptsWithValue?.has(a))break}}return n}var Vk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),qk=new Map([["zsh",new Set(["o"])]]),Kk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function nv(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r===void 0||r==="--"||r==="-"||r[0]!=="-"&&r[0]!=="+")return null;if(r.startsWith("--")){let s=Kk.get(e);if(Jk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Yk(e,r);if(o.commandSelected)return t[n+o.followingValues+1]??null;let i=t[n+1];if(e==="ksh"&&(r==="-o"||r==="+o")&&i!==void 0&&i[0]!=="-"&&i[0]!=="+")n++;n+=o.followingValues}return null}function Yk(e,t){let n=Vk.get(e),r=qk.get(e),o=!1,i=0;for(let s=1;s<t.length;s++){let a=t[s];if(a===void 0)break;if(t[0]==="-"&&a==="c")o=!0;if(e==="ksh"&&a==="o"){if(s+1<t.length){let c=t.slice(s+1);if(!o&&t[0]==="-"&&c==="c")continue;if(!o&&t[0]==="-"&&c[0]==="-"&&c.endsWith("c"))o=!0;break}if(o)i++;continue}if(!n?.has(a))continue;if(r?.has(a)&&s+1<t.length)break;i++}return{commandSelected:o,followingValues:i}}function Jk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var tA=new Set(["-S","--suffix"]);function $s(e,t,n,r){if(e.status==="structural-limit")throw new gt;if(e.status!=="complete")return r.findMalformedTarget(e.source);let o={cwd:t,variables:new Map},i=[];for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;let a=r.findSegmentTarget(i,o);if(a)return a;o=nA(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget($e(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function $e(e,t){return e.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(n,r,o,i)=>{let s=t.get(r);if(s===void 0)return n;let a=o.startsWith(":")?s!=="":!0;if(o.endsWith("-"))return a?s:$e(i,t);return a?$e(i,t):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(n,r)=>t.get(r)??n).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(n,r)=>t.get(r)??n)}function xo(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function ov(e,t,n){let r=n.environment.home,o=Zi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?rv(r,o.slice(2)):o,s=Te(i);return eA(Qk(s)?s:rv(t,s))}function ve(e,t,n){let r=ov(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function iv(e,t,n,r){let o=ov(e,t,n);if(!o)return null;if(r(Xk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=yy(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function Ms(e){let t=[],n=null,r=!1;for(let o=0;o<e.length;o++){let i=e[o];if(i===void 0)break;if(!r&&i==="--"){r=!0;continue}if(!r&&(i==="-t"||i==="--target-directory")){n=e[++o]??null;continue}if(!r&&i.startsWith("--target-directory=")){n=i.slice(19);continue}if(!r&&i.startsWith("-t")&&i.length>2){n=i.slice(2);continue}if(!r&&tA.has(i)){o++;continue}if(!r&&(i.startsWith("--suffix=")||i.startsWith("--backup=")))continue;if(!r&&i.startsWith("-"))continue;t.push(i)}return n?{sources:t,destination:n}:{sources:t.slice(0,-1),destination:t.at(-1)??null}}function nA(e,t,n,r){let o=xo(e)?new Map([...t.variables,...rA(e,t.variables)]):t.variables,i=or([...e],n.environment),s=G(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r($e(s,o),t.cwd,n),variables:o}}function rA(e,t){return e.flatMap((n)=>{let r=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(n),o=r?.[2]?.startsWith("=")?r[2].slice(1):void 0;return r?.[1]!==void 0&&o!==void 0?[[r[1],$e(o,t)]]:[]})}var Ve="Git metadata and hooks are protected. Ask the user before modifying them.";function lv(e,t=Eu([e.invocation.context.executionCwd,e.invocation.context.configCwd])){let n=yn(It()),r=e.invocation.context.executionCwd;if(!t)return null;if(e.invocation.route.kind==="patch"||e.invocation.route.kind==="path"||e.invocation.route.kind==="unknown"){if(Ns(e.invocation.toolName))return null;let s=e.paths.find((a)=>uA(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=De(e,"input-candidate");if(!o)return null;let i=$s(o.shell,r,n,{findSegmentTarget:(s,a)=>mA(s,a,t,n),isRedirectionTarget:(s,a)=>dA(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ve});return i?{target:i}:null}function Eu(e,t=yn(It())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=io(ve(r,r,t));return o?[[rt(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>sA(r.dotGitPath,r.cwd,t));if(n.length===0)return null;return Object.freeze({entries:Object.freeze([...new Set(n.map((r)=>r.entry))]),markerFiles:Object.freeze([...new Set(n.flatMap((r)=>r.markerFile?[r.markerFile]:[]))]),directories:Object.freeze([...new Set(n.flatMap((r)=>r.directories))]),hooksDirectories:Object.freeze([...new Set(n.flatMap((r)=>r.hooksDirectories))])})}function sA(e,t,n){try{let r=ve(e,t,n),o=oA(e),i=o.isFile()?r:null,s=o.isFile()?ql(e):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[rt(ve(l,t,n))]:[]),c=[...new Set(o.isDirectory()?[rt(e.replace(/\\/g,"/")),...a]:a)];return[{entry:rt(r),markerFile:i?rt(i):null,directories:c,hooksDirectories:[...new Set(c.flatMap((l)=>{let u=rt(iA(l,"hooks"));return[u,rt(ve(u,t,n))]}))]}]}catch{return[]}}function wn(e,t,n,r,o,i=!1){if(!n)return!1;let s=rt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(Ru(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?Ls(u,a):aA(u,a);if(n.markerFiles.some(l))return!0;return r&&sv(n).some(l)}if(Ru(s,n))return!0;return r&&sv(n).some((c)=>Ls(c,s))}function aA(e,t){let n=cv(t,e);if(n===""||n.startsWith("..")||av(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function cA(e,t,n,r){return wn(e,t,n,!0,r)}function lA(e,t,n,r){if(!n)return!1;return Ru(rt(ve(e,t,r)),n)}function uA(e,t,n,r){if(!n)return!1;return uv(e,t,n,r,n.entries)}function dA(e,t,n,r){if(!n)return!1;return uv(e,t,n,r,n.markerFiles)}function uv(e,t,n,r,o){let i=rt(ve(e,t,r));return o.includes(i)||mv(i,n)}function dv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>Ls(o,rt(ve(i,t,r)))))}function Ru(e,t){return t.entries.includes(e)||t.directories.includes(e)||mv(e,t)}function mv(e,t){return t.hooksDirectories.some((n)=>Ls(e,n))}function sv(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function Ls(e,t){let n=cv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!av(n)}function rt(e){return process.platform==="win32"?e.toLowerCase():e}function mA(e,t,n,r){if(xo(e))return null;let o=Jt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=Ms(o.slice(1)),s=i.sources.find((a)=>cA($e(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&lA($e(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as Pu,join as fA,normalize as pA,sep as Ws}from"path";var fv=process.platform==="win32",gA=/[*?]/;function _o(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Gs(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=_o(e.trim(),t);if(!Pu(n))return"must be an absolute path or start with ~/";return Co(n,t)}function Zs(e,t){let n=pv(e,t);if(n===null)return"must be a non-empty path string";if(!Pu(n))return null;if(Co(n,t)===null)return null;return"cannot be the home directory or a path above it (this would block every command the agent runs)"}var hA="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",yA="cannot cover the guard's own configuration";function pv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return _o(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Bs(e,t){let n=pv(e,t);if(n===null)return"must be a non-empty path string";if(gA.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!Pu(n))return null;if(Co(n,t)!==null)return hA;return bA(n,t)?yA:null}function bA(e,t){let n=Fs(e),r=Fs(fA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ws}`)}function Co(e,t){let n=Fs(e),r=Fs(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ws)?n:`${n}${Ws}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Fs(e){let t=pA(e);if(fv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(fv?3:1)&&t.endsWith(Ws))t=t.slice(0,-1);return t}var xA=process.platform==="win32",gv=64,_A=16384;function wo(e){let t=_b(e,gv,gv,_A);return{expandedTargets:t&&"words"in t?t.words:void 0,unsafeBraceExpansion:t!==void 0&&"limited"in t,targetIsLiteral:t===void 0&&e.provenance==="literal"&&(e.quoted||e.raw!==e.text),tmpdirWordSplittingProtected:CA(e)}}function CA(e){let t=e.parts.filter((n)=>n.provenance==="variable"&&/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(n.raw));return t.length>0&&t.every((n)=>wA(e.raw,n.span.start-e.span.start))}function wA(e,t){let n=null,r=!1;for(let o=0;o<t;o++){let i=e[o];if(r){r=!1;continue}if(i==="\\"&&n!=="'"){r=!0;continue}if(n===i){n=null;continue}if(n===null&&(i==="'"||i==='"'))n=i}return n==='"'}function Rn(e){let t=e.environment.home,n=e.environment.paths,r=yn(e.environment);return{anchoredCwd:e.originalCwd??e.cwd??null,resolvedCwd:e.cwd??null,strict:e.strict??!1,paranoid:e.paranoid??!1,trustTmpdirVar:e.allowTmpdirVar??!0,posixShell:e.posixShell??!1,tmpdirWordSplittingUnsafe:e.tmpdirWordSplittingUnsafe??!1,trustedTmpdirValue:e.trustedTmpdirValue??e.allowTmpdirVar??!0,environment:e.environment,allowRoots:AA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function ot(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&IA(e))return{kind:"outside_anchored_cwd"};let o=!r&&vv(e,t.posixShell);if(qt(e))return{kind:"outside_anchored_cwd"};if(Iu(e,r))return{kind:"root_or_home_target"};if(RA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&wn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(EA(e,t.trustTmpdirVar,t.posixShell,o,r,n.tmpdirWordSplittingProtected??!1,t.trustedTmpdirValue,t.environment))return{kind:"temp_target"};if(o)return{kind:"dynamic_target"};if(TA(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&DA(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&$A(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(MA(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function yv(e,t,n={}){let{containmentTarget:r,...o}=n;if(ot(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(kA(i))return!1;if(rb(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>LA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Iu(e,t=!1){let n=e.trim(),r=hv.normalize(n),o=n.replace(/\\/g,"/"),i=r==="/"?r:r.replace(/\/+$/,"");if(i==="/"||i.startsWith("/")&&i.slice(1).split("/").every((s)=>/^\*+$/.test(s)))return!0;if(/^[A-Za-z]:\/+\*?$/.test(o)||/^\/\/[^/]+\/+[^/]+(?:\/+\*?)?$/.test(o))return!0;if(!t&&(r==="~"||r==="~/"||r==="~/*"))return!0;if(!t&&(r==="$HOME"||r==="$HOME/"||r==="$HOME/*"))return!0;if(!t&&(r==="${HOME}"||r==="${HOME}/"||r==="${HOME}/*"))return!0;return!1}function RA(e,t,n){let r=e.trim(),o=n?r:r==="*"?".":r.endsWith("/*")?r.slice(0,-2):r;if(!o)return!1;try{let i=Tu(o)?o:t.resolvedCwd?cr(t.resolvedCwd,o):null;if(!i)return!1;let s=Re(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===SA(s).root)return!0;return s===Re(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Re(e){let t=vA(e);if(xA){if(t=t.replace(/\//g,"\\").toLowerCase(),t.length>3&&t.endsWith("\\"))t=t.slice(0,-1);return t}if(t.length>1&&t.endsWith("/"))t=t.slice(0,-1);return t}function EA(e,t,n,r,o,i,s,a){let c=e.trim();if(bv(c))return!1;if(!r&&eu(c,a))return!0;return(t||i&&s)&&n&&!o&&PA(c,n)}function PA(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!vv(e.slice(n.length+1),t)})}function kA(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return hv.normalize(`/${t[1]??""}`)==="/"}function bv(e){return e.split(/[\\/]+/).includes("..")}function AA(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=_o(o.trim(),t);if(!Tu(i))return[];try{let s=Y(i,n,r);if(Co(s,Y(t,n,r)))return[];return[Re(s)]}catch{return[]}})}function TA(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(bv(r))return!1;let o=n?r:_o(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=Tu(o)?o:i?cr(i,o):null;if(!s)return!1;try{let a=Re(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Au)?c:`${c}${Au}`))}catch{return!1}}function IA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function vv(e,t=!1){return e.includes("$")||e.includes("`")||OA(e)||t&&zA(e)}function OA(e){let t=!1;for(let n of e){if(t){t=!1;continue}if(n==="\\"){t=!0;continue}if(n==="*"||n==="?"||n==="[")return!0}return!1}function zA(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(t){t=!1;continue}if(r==="\\"){t=!0;continue}if(r==="{"&&NA(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function NA(e,t){let n=e.indexOf("}",t+1);if(n===-1)return!1;let r=e.slice(t+1,n);return r.includes(",")||r.includes("..")}function DA(e,t,n,r){try{return Re(Y(e,n,r))===Re(Y(t,n,r))}catch{try{return Re(e)===Re(t)}catch{return!1}}}function $A(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Re(Y(cr(t,e),n,r))===Re(Y(t,n,r))}catch{try{return Re(cr(t,e))===Re(t)}catch{return!1}}}function MA(e,t,n,r,o,i,s){let a=n??t;if(!o&&(e.startsWith("~")||e.startsWith("$HOME")||e.startsWith("${HOME}")))return!1;if(r)return!1;if(e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e))try{return ku(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return ku(cr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return ku(cr(a,e),t,i,s)}catch{return!1}}function ku(e,t,n,r){try{return Sv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function LA(e,t,n,r){if(!t)return!1;try{return Sv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function Sv(e,t){let n=Re(e),r=Re(t);return n.startsWith(`${r}${Au}`)||n===r}var WA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),xv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",FA="PowerShell Remove-Item -Recurse -Force for non-temporary paths is blocked by the active safety policy. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",_v="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",Cv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",GA="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",ZA="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function wv(e,t,n,r=Rn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return BA(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function BA(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=jA(o),s=o[i];if(!s||!WA.has(eT(s.text)))return null;let a=UA(o.slice(i+1));if(a.whatIfProtected)return null;if(ue(r,"powershell.remove-item-pipeline-dynamic-target",n.strict)&&t&&(a.targets.length===0||a.recursive))return S("powershell.remove-item-pipeline-dynamic-target",ZA);for(let c of a.targets)if(!qt(c.text)&&Iu(zu(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",Cv);for(let c of a.targets)if(n.resolvedCwd&&wn(zu(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",Ve);if(!a.recursive||!a.force)return null;if(ue(r,"powershell.remove-item-recursive-force-dynamic-target",n.strict)&&(a.hasDynamicTarget||a.targets.length===0))return S("powershell.remove-item-recursive-force-dynamic-target",_v);for(let c of a.targets){let l=tT(ot(zu(c.text),n),n,r);if(l)return l}return null}function UA(e){let t=[],n=!1,r=!1,o=!1,i=!1,s=!1;for(let a=0;a<e.length;a++){let c=e[a];if(!c||c.kind!=="word")continue;if(HA(c))continue;if(s){t.push(Ou(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=qA(c.text);if(!l){t.push(Ou(c)),i=i||c.dynamic;continue}if(KA(l.name)){let u=l.value?VA(l.value,c):e[++a];if(u?.kind==="word")t.push(Ou(u)),i=i||u.dynamic;else i=!0;continue}if(YA(l.name)){n=!0;continue}if(JA(l.name)){r=!0;continue}if(XA(l.name))o=QA(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function jA(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function Ou(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function HA(e){return e.kind==="word"&&e.text===","}function zu(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function VA(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function qA(e){if(!e.startsWith("-")||e==="-")return null;let t=e.slice(1),n=t.indexOf(":");if(n===-1)return{name:t.toLowerCase()};return{name:t.slice(0,n).toLowerCase(),value:t.slice(n+1)}}function KA(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function YA(e){return"recurse".startsWith(e)}function JA(e){return e.length>=2&&"force".startsWith(e)}function XA(e){return e==="wi"||"whatif".startsWith(e)}function QA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function eT(e){return e.toLowerCase()}function tT(e,t,n){switch(e.kind){case"root_or_home_target":return S("powershell.remove-item-recursive-force-root-or-home",Cv);case"git_metadata_target":return S("powershell.remove-item-git-metadata",Ve);case"temp_target":return null;case"dynamic_target":if(!ue(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return S("powershell.remove-item-recursive-force-dynamic-target",_v);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",GA);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",xv);case"within_anchored_cwd":if(!ue(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return S("powershell.remove-item-recursive-force-paranoid",FA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",xv)}}import{normalize as ia}from"path";var Me=new Set(["awk","gawk","nawk","mawk"]),nT=new Set(["-e","--source"]),rT=new Set(["-F","-v","--assign","--field-separator"]),Rv=new Set(["-f","--file"]),oT=new Set(["print","printf","return"]),Ev=[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"--source",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-f",kind:"program-file",valueForm:"attached-or-separate"},{selector:"--file",kind:"program-file",valueForm:"equals-or-separate"}],iT="Detected awk system(), pipe, or getline command with dynamic command that cannot be safely analyzed. Use a literal command or process the data without system(), pipes, or getline.";function Hs(e,t,n){let r=!1;for(let o of sT(e)){let i=aT(o,n);if(!i)continue;for(let s of i.commands){let a=t(s);if(a)return a;if(s.includes("{}")||/[$`]/.test(s))r=!0}r||=i.dynamic}return r?S("awk.system-dynamic",iT):null}function Du(e){let t=[],n=!1,r=!1,o=!0,i=!0;for(let s=1;s<e.length;s++){let a=e[s];if(a===void 0)break;if(o&&a==="--"){o=!1;continue}if(o&&nT.has(a)){n=!0;let c=e[s+1];if(c!==void 0)t.push({tokenIndex:s+1,kind:"inline-code",value:c});else i=!1;s++;continue}if(o&&a.startsWith("--source=")){n=!0,t.push({tokenIndex:s,kind:"inline-code",value:a.slice(9)});continue}if(o&&a.startsWith("-e")&&a.length>2){n=!0,t.push({tokenIndex:s,kind:"inline-code",value:a.slice(2)});continue}if(o&&(rT.has(a)||Rv.has(a))){if(Rv.has(a)){r=!0;let c=e[s+1];if(c!==void 0)t.push({tokenIndex:s+1,kind:"program-file",value:c});else i=!1}else if(e[s+1]===void 0)i=!1;s++;continue}if(o&&(a.startsWith("-F")||a.startsWith("-v")&&a.slice(2).includes("=")))continue;if(o&&a.startsWith("-f")&&a.length>2){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(2)});continue}if(o&&(a.startsWith("--assign=")||a.startsWith("--field-separator=")))continue;if(o&&a.startsWith("--file=")){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(7)});continue}if(o&&a.startsWith("-")&&a!=="-")continue;if(o=!1,!n&&!r)t.push({tokenIndex:s,kind:"main-program",value:a});return{sources:t,optionsOpen:!1}}return{sources:i?t:[],optionsOpen:o&&i}}function Eo(e){return Du(e).sources}function sT(e){return Eo(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function aT(e,t){Ie(t,e);let n=e.includes("system")?$u(e,t):null,r=cT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function $u(e,t){Ie(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=js(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=Pv(e,i+1);continue}if(s==="/"&&kv(e,i)){i=Av(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,Ro(e[a-1])||Ro(e[i]))continue;let c=Us(e,i);if(e[c]!=="(")continue;c=Us(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=js(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Us(e,u.endIndex),r=!0,e[c]!==")"){o=!0,i=u.endIndex;continue}n.push(u.value),i=c+1}if(!r)return null;return{dynamic:o,commands:n}}function cT(e,t){Ie(t,e);let n=[],r=!1,o=!1,i=0,s=0,a=null,c=null,l=0;while(i<e.length){let u=e[i];if(!u)break;if(u==='"'||u==="'"){let m=js(e,i,u);if(m&&l===s)c={...m,startIndex:i};l=m?.endIndex??i+1,i=m?.endIndex??i+1;continue}if(u==="#"){i=Pv(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&kv(e,i)){let m=Av(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
50
+ {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(Nu(e,i,"print")||Nu(e,i,"printf")))a=i;if(u!=="|"||e[i-1]==="|"||e[i+1]==="|"){if(!/\s/.test(u))l=i+1;i++;continue}let d=e[i+1]==="&"?i+2:i+1,f=Us(e,d);if(Nu(e,f,"getline")){o=!0;let m=dT(s,c,l);if(m===null)r=!0;else n.push(m);l=d,i=d;continue}if(fT(s,a)){o=!0;let m=uT(e,f);if(!m){r=!0,l=d,i=d;continue}if(!lT(e,m.endIndex)){r=!0,l=m.endIndex,i=m.endIndex;continue}n.push(m.value),l=m.endIndex,i=m.endIndex;continue}l=d,i++}if(!o)return null;return{dynamic:r,commands:n}}function Ro(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Us(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function lT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
51
+ }#`.includes(r)}function js(e,t,n){let r="",o=!1;for(let i=t+1;i<e.length;i++){let s=e[i];if(!s)break;if(o){let a=mT(e,i);if(!a)return null;r+=a.value,i=a.endIndex,o=!1;continue}if(s==="\\"){o=!0;continue}if(s===n)return{value:r,endIndex:i+1};r+=s}return null}function uT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return js(e,t,n)}function dT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function mT(e,t){let n=e[t];if(!n)return null;if(n==="x"){let o=e.slice(t+1,t+3);if(!/^[0-9A-Fa-f]{2}$/.test(o))return null;return{value:String.fromCharCode(Number.parseInt(o,16)),endIndex:t+2}}if(/[0-7]/.test(n)){let o=/^[0-7]{1,3}/.exec(e.slice(t));if(!o)return null;return{value:String.fromCharCode(Number.parseInt(o[0],8)),endIndex:t+o[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
52
+ `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function Nu(e,t,n){return e.startsWith(n,t)&&!Ro(e[t-1])&&!Ro(e[t+n.length])}function fT(e,t){return t!==null&&t>=e}function Pv(e,t){let n=e.indexOf(`
53
+ `,t);return n===-1?e.length:n+1}function kv(e,t){let n=pT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(Ro(e[r-1]))r--;return oT.has(e.slice(r,n+1))}function pT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function Av(e,t){let n=!1;for(let r=t;r<e.length;r++){let o=e[r];if(!o)break;if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(o==="/")return r+1}return null}var Tv=new Set(["rm","find","xargs","parallel"]),gT=new Set(["sudo","env","command","builtin"]),hT=new Set(["git","busybox",...Tv,...de,...Vy,...Me]);function Vs(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(G(n)))return null;let r=G(n),o=e[1]==="--"?2:1,i=yT(e,o,r,t),s=i[0];if(s===void 0)return null;return{wrapper:r,tokens:[...e.slice(s)],childIndex:s,alternativeChildIndices:i.slice(1)}}function yT(e,t,n,r){let o=e[1]==="--",i=[];for(let s=t;s<e.length;s++){let a=e[s];if(!a)continue;if(G(a)!==n&&bT(a,r))i.push(s);else if(rs.has(H(a)))break;if(o)break}return i}function bT(e,t){let n=G(e),r=H(e);return r==="git"||n==="busybox"||En(e)||Tv.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||ze(r)||Me.has(r)||t.rules.some((o)=>o.command===n)}function En(e){return gT.has(e.toLowerCase())}function Iv(e){let t=H(e);return hT.has(t)||ze(t)}function it(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return qs([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*qs(e,t,n,r,o,i,s,a,c){let l=hs(e,t,n,i);for(let[m,p]of l.envAssignments)i.set(m,p),o.set(m,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let m=gs(l.envSplitValues,u);if(!m)throw new Oe;Mu(a),yield*qs(m,t,d,r,o,i,s,a,c);return}if(En(u[0]??""))throw new Oe;let f=Vs(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])Mu(a),yield*qs(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(ST(u)){Mu(a),yield*qs([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield vT(u,d,r,o,i,c)}function vT(e,t,n,r,o,i){return{tokens:e,cwd:t===null?void 0:t??n,wrapperCwd:t,wrapperEnvAssignments:r,envAssignments:o,head:G(e[0]??"").toLowerCase(),wrappedByTransparent:i}}function Mu(e){if(e.iterations>=Qn)throw new Oe;e.iterations++}function ST(e){return G(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function Lu(e,t){let n=[],r=t;while(r<e.length){let o=e[r];if(o===void 0||o===":::")break;n.push(o),r++}return{markerIndex:r<e.length&&e[r]===":::"?r:-1,templateTokens:n}}function st(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Wu(r,"recursive"))t=!0;else if(r==="-f"||Wu(r,"force"))n=!0;else if(r.startsWith("-")&&!r.startsWith("--")){if(r.includes("r")||r.includes("R"))t=!0;if(r.includes("f"))n=!0}}return t&&n}function Ov(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Wu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Wu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var xT="find -delete permanently removes files. Use -print first to preview.",_T="find -exec rm -rf is dangerous. Use explicit file list instead.",CT=new Set(["-exec","-execdir","-ok","-okdir"]),wT=new Map([...["-Bmin","-Bnewer","-Btime","-amin","-anewer","-atime","-cmin","-cnewer","-context","-ctime","-f","-flags","-fprint","-fprint0","-fls","-fstype","-gid","-group","-ilname","-iname","-inum","-ipath","-iwholename","-iregex","-links","-lname","-maxdepth","-mindepth","-mmin","-mnewer","-mtime","-name","-newer","-newerXY","-newermt","-path","-perm","-printf","-regex","-samefile","-size","-type","-uid","-used","-user","-wholename","-xattrname","-xtype"].map((e)=>[e,1]),["-fprintf",2]]);function Ks(e,t){let n=e.map(N),r=RT(e,n,t);if(r)return r;if(Js(n,1)&&!PT(e,n,t)){let s=O(S("find.delete",xT),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??ts(),i=0;while(i<n.length){let s=n[i],a=Qt(s??"");if(a>0){i+=a+1;continue}if(!Ft(s)){i++;continue}Xe(o,n.length-i-1);let c=Po(n,i);i=c.nextIndex;let l=AT(c.tokens,t.environment);if(l){let m=O(l,t.policy);if(m)return m}let u=s==="-execdir"||s==="-okdir",d=t.analyzeTokens?t.analyzeTokens(c.tokens,u?null:t.cwd):t.analyzeNested?t.analyzeNested(c.tokens.join(" "),{effectiveCwd:u?void 0:t.cwd,envAssignments:t.envAssignments}):null,f=d?.id.startsWith("custom.")?d:O(d,t.policy);if(f)return f}return null}function RT(e,t,n){if(!Js(t,1)&&!Fu(t,n.environment))return null;let o=Ys(e)??j(["."]),i=Rn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=wo(s);for(let c of a.expandedTargets??[N(s)]){let l=ot(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home","rm -rf targeting root or home directory is extremely dangerous and always blocked.");if(l.kind==="git_metadata_target")return S("find.delete-git-metadata",Ve)}}if(ET(t)&&i.resolvedCwd&&dv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",Ve);return null}function Fu(e,t){let n=0;while(n<e.length){if(!Ft(e[n])){n++;continue}let r=Po(e,n),o=Jt([...r.tokens],t),i=G(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function ET(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function PT(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Ys(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Ql(o,n.environment),s=n.trustedTmpdirValue??Lt(o,n.environment),a=n.allowTmpdirVar??!uo(o,n.environment),c=Rn({environment:n.environment,protectedGitMetadata:n.protectedGitMetadata,cwd:n.cwd,originalCwd:n.originalCwd,strict:n.strict,allowTmpdirVar:a&&s&&Boolean(i),allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:n.tmpdirWordSplittingUnsafe??ft(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=wo(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>yv(d,c,{containmentTarget:kT(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function kT(e,t){if(!t)return e;return e.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>t)}function Ys(e){let t=(o)=>{let i=e[o];return i?N(i):void 0},n=1;while(t(n)==="-H"||t(n)==="-P")n++;if(t(n)==="--")n++;let r=[];while(n<e.length){let o=t(n),i=e[n];if(!o||!i||o.startsWith("-")||["!","(",")"].includes(o))break;r.push(i),n++}return r.length>0?r:null}function AT(e,t){let n=or([...e],t);if(n.length===0)return null;let r=G(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=G(n[0]??"");if(r==="rm"&&st(n))return S("find.exec-rm-recursive-force",_T);return null}function Po(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Js(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Ft(r)){n=Po(e,n).nextIndex;continue}let o=Qt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Qt(e){return wT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Ft(e){return e!==void 0&&CT.has(e)}function ko(e){let t=tt(e,"posix");if(t.status!=="complete"||t.nodes.length!==1)return null;let n=t.nodes[0];if(n?.kind!=="command")return null;if(n.redirections.length>0||n.nested.length>0)return null;if(n.words.some((r)=>r.provenance==="command-substitution"))return null;return n.words.map((r)=>r.text)}var TT=5,Gu="Git aliases supplied through command-line or environment config can hide or execute commands. Run git without Git alias overrides, or ask the user to run it manually.";function Se(e){let t=e.indexOf("--");if(t===-1)return{index:-1,before:e,after:[]};return{index:t,before:e.slice(0,t),after:e.slice(t+1)}}function Nv(e,t,n){let r=$v(e,t,n),o=IT(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<TT;a++){let{subcommand:c,rest:l}=at(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=$T(d);if(f===null||f.length===0)return{blockedReason:Gu,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:Gu,expanded:!0,tokens:i}}function Dv(e,t,n){return $v(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function at(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?G(t).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--"){let i=e[r+1];if(i&&!i.startsWith("-"))return{subcommand:i,rest:e.slice(r+2)};return{subcommand:null,rest:e.slice(r+1)}}if(o.startsWith("-"))if(mt.has(o))r+=2;else if(o.startsWith("-c")&&o.length>2)r++;else if(o.startsWith("-C")&&o.length>2)r++;else r++;else return{subcommand:o,rest:e.slice(r+1)}}return{subcommand:null,rest:[]}}function IT(e){let t=new Map;for(let n of e){let r=n.key.toLowerCase();if(!r.startsWith("alias."))continue;let o=r.slice(6);if(o!=="")t.set(o,n.value)}return t}function $v(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?G(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=zT(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...OT(e,t,n)]}}function OT(e,t,n){let r=[],o=1;while(o<e.length){let i=e[o];if(!i||i==="--"||!i.startsWith("-"))return r;if(i==="-c"){let s=Zu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Zu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=zv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=zv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(mt.has(i)){o+=2;continue}o++}return r}function zT(e,t){let n=NT(e,t),r=DT(e,t);return{blockedReason:n===null||r===null?Gu:null,entries:[...n??[],...r??[]]}}function NT(e,t){let n=je("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=ko(n);if(!o)return null;for(let i of o){let s=Zu(i);if(!s)return null;r.push(s)}return r}function DT(e,t){let n=ji(e,t);if(n.state==="absent")return[];if(n.state==="invalid")return null;let r=[];for(let o=0;o<n.count;o++){let i=je(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=je(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Zu(e){if(!e)return null;let t=e.indexOf("=");return{key:(t===-1?e:e.slice(0,t)).trim(),value:t===-1?void 0:e.slice(t+1)}}function zv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:je(e.slice(r+1),t,n)}}function $T(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return ko(t)}var MT="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",LT="git checkout --force discards uncommitted changes. Use 'git stash' first.",WT="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",FT="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",GT="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",ZT="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",BT="git switch --force discards uncommitted changes. Use 'git stash' first.",UT="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",jT="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",HT="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",VT="git reset --merge can lose uncommitted changes. Use 'git stash' first.",qT="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",KT="git rm --force removes tracked files from the working tree. Use 'git rm --cached' to keep the files, or 'git rm --dry-run' to preview first.",YT="git push --force destroys remote history. Use --force-with-lease for safer force push.",JT="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",XT="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",QT="git branch -D force-deletes without merge check. Use -d for safe delete.",eI="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",tI="git merge --abort discards merge conflict resolutions. Use 'git status' first.",nI="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",rI="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",oI="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",iI="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",sI="git worktree remove --force can delete uncommitted changes. Remove --force flag.",Mv=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),Lv=new Set(["--recurse-submodules","--track","-t"]),Bu=new Set(["-b","-B","-U"]),Uu=new Set(["-c","-C"]),aI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),cI=new Set(["-q","--quiet","--no-quiet","-f","--force","--no-force","-d","--detach","--no-detach","-m","--merge","--no-merge","-p","--patch","--no-patch","--guess","--no-guess","--overlay","--no-overlay","--ours","--theirs","--ignore-skip-worktree-bits","--no-ignore-skip-worktree-bits","--no-track","--overwrite-ignore","--no-overwrite-ignore","--ignore-other-worktrees","--no-ignore-other-worktrees","--progress","--no-progress","--pathspec-file-nul","--no-pathspec-file-nul","--no-recurse-submodules"]);function B(e,t){let n=e.split("=",1)[0]??e;return n.length>=4&&t.startsWith(n)&&n.startsWith("--")&&n.slice(2).length>=2}var lr=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Fv(e){let{subcommand:t,rest:n}=at(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return en(lI(n));case"switch":return en(uI(n));case"restore":return en(mI(n));case"reset":return pI(n);case"clean":return en(hI(n));case"rm":return en(yI(n));case"push":return Pn(bI(n));case"branch":return Pn(xI(n));case"stash":return Pn(EI(n));case"worktree":return Pn(PI(n));case"rebase":return en(_I(n));case"merge":return en(CI(n));case"tag":return Pn(wI(n));case"reflog":return Pn(RI(n));default:return null}}function en(e){return e?{...e,localDiscard:!0}:null}function Pn(e){return e?{...e,localDiscard:!1}:null}function lI(e){let{index:t,before:n}=Se(e),r=we(n,{shortOptsWithValue:Bu});if(n.some((i)=>B(i,"--force"))||r.has("-f"))return S("git.checkout-force",LT);for(let i of e){if(i==="-b"||i==="-B"||i==="--orphan")return null;if(B(i,"--pathspec-from-file"))return S("git.checkout-pathspec-from-file",FT)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return S("git.checkout-ref-path",WT);return S("git.checkout-double-dash",MT)}if(dI(e).length>=2)return S("git.checkout-ambiguous",GT);return null}function uI(e){let{before:t}=Se(e);if(t.some((r)=>B(r,"--discard-changes")))return S("git.switch-discard-changes",ZT);let n=we(t,{shortOptsWithValue:Uu});if(t.some((r)=>B(r,"--force"))||n.has("-f"))return S("git.switch-force",BT);return null}function dI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(Mv.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(Lv.has(r)){let o=e[n+1];if(o&&!o.startsWith("-")&&(r==="--recurse-submodules"||r==="--track"||r==="-t"))if((r==="--recurse-submodules"?["checkout","on-demand"]:["direct","inherit"]).includes(o))n+=2;else n++;else n++}else if(r.startsWith("--")&&!cI.has(r)&&!Mv.has(r)&&!Lv.has(r))n++;else n++;else t.push(r),n++}return t}function mI(e){let t=fI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?S("git.restore-worktree",jT):S("git.restore-unstaged",UT)}function fI(e){let t=!1,n=!1,r=!0,o=!1,i=(s)=>{if(!o)r=!1,o=!0;if(s!==void 0)r=s};for(let s=0;s<e.length;s++){let a=e[s];if(a===void 0)break;if(a==="--"){t||=s+1<e.length;break}if(a==="--pathspec-from-file"){t=!0,s++;continue}if(a.startsWith("--pathspec-from-file=")){t=!0;continue}if(a==="-h"||a==="--help"||a==="--version")return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!0};if(a==="--staged"){i();continue}if(a==="--no-staged"){i();continue}if(a==="--worktree"){i(!0);continue}if(a==="--no-worktree"){i(!1);continue}if(a==="--patch"){n=!0;continue}if(a==="--no-patch"){n=!1;continue}if(aI.has(a)){s++;continue}if(a.startsWith("--"))continue;if(a==="-"){t=!0;continue}if(!a.startsWith("-")){t=!0;continue}for(let c=1;c<a.length;c++){let l=a.charAt(c);if(l==="h")return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!0};if(l==="S"){i();continue}if(l==="W"){i(!0);continue}if(l==="p"){n=!0;continue}if(l==="s"||l==="U"){if(c===a.length-1)s++;break}}}return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!1}}function pI(e){let t=null;for(let n of e){if(B(n,"--hard")){t=S("git.reset-hard",HT);break}if(B(n,"--merge")){t=S("git.reset-merge",VT);break}}if(!t)return null;return gI(e)?Pn(t):en(t)}function gI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function hI(e){for(let n of e)if(n==="-n"||B(n,"--dry-run"))return null;let t=we(e.filter((n)=>n!=="--"));if(e.some((n)=>B(n,"--force"))||t.has("-f"))return S("git.clean-force",qT);return null}function yI(e){let t=!1,n=!1,r=!1;for(let o of Se(e).before){if(B(o,"--no-force")){t=!1;continue}if(B(o,"--force")){t=!0;continue}if(B(o,"--no-cached")){n=!1;continue}if(B(o,"--cached")){n=!0;continue}if(B(o,"--no-dry-run")){r=!1;continue}if(B(o,"--dry-run")){r=!0;continue}let i=we([o]);t||=i.has("-f"),r||=i.has("-n")}return t&&!n&&!r?S("git.rm-force",KT):null}function bI(e){let{before:t,after:n}=Se(e),r=we(t);if(t.some((s)=>B(s,"--mirror")))return S("git.push-mirror",XT);if(t.some((s)=>B(s,"--force"))||r.has("-f")||Wv(t,n).some(vI))return S("git.push-force",YT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Wv(t,n).some(SI))return S("git.push-delete",JT);return null}function Wv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function vI(e){return e.startsWith("+")||e.includes(":+")}function SI(e){return e.length>1&&e.startsWith(":")}function xI(e){let{before:t}=Se(e),n=we(t),r=n.has("-D")||n.has("-d")||t.some((i)=>B(i,"--delete")),o=n.has("-D")||n.has("-f")||t.some((i)=>B(i,"--force"));if(r&&o)return S("git.branch-force-delete",QT);return null}function _I(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",eI):null}function CI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.merge-abort",tI):null}function wI(e){let{before:t}=Se(e);return we(t).has("-d")||t.some((r)=>B(r,"--delete"))?S("git.tag-delete",nI):null}function RI(e){return e[0]==="delete"?S("git.reflog-delete",rI):null}function EI(e){for(let t of e){if(t==="drop")return S("git.stash-drop",oI);if(t==="clear")return S("git.stash-clear",iI)}return null}function PI(e){let{before:t}=Se(e);if(!t.includes("remove"))return null;let r=we(t);if(t.some((o)=>B(o,"--force"))||r.has("-f"))return S("git.worktree-remove-force",sI);return null}import{execFileSync as kI}from"child_process";import{existsSync as Hu,readFileSync as Vu}from"fs";import{dirname as AI,isAbsolute as Bv,join as ju,resolve as Uv}from"path";var TI=["/usr/bin/git","/usr/local/bin/git","/opt/homebrew/bin/git","C:\\Program Files\\Git\\cmd\\git.exe","C:\\Program Files\\Git\\bin\\git.exe"];function jv(e,t,n,r){let o=II(e,t,n);if(o!==null)return o;let i=OI(t,n);if(i!==null)return i;if(Sy(n))return!0;return zI(r)}function II(e,t,n){let r=null,o=1;while(o<e.length){let i=e[o];if(!i||i==="--")return r;if(!i.startsWith("-"))return r;if(i==="-c"){let s=Gv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Gv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Zv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Zv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(mt.has(i))o+=2;else o++}return r}function OI(e,t){if(je("GIT_CONFIG_PARAMETERS",e,t)!==void 0)return!0;let n=ji(e,t);if(n.state==="absent")return null;if(n.state==="invalid")return!0;let r=null;for(let o=0;o<n.count;o++){let i=je(`GIT_CONFIG_KEY_${o}`,e,t),s=je(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(qu(a))return!0;if(a!=="submodule.recurse")continue;r=Ao(s)}return r}function zI(e,t=DI()){let n=NI(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=kI(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:$I(process.env),stdio:["ignore","pipe","ignore"]}).trim();return Ao(r)}catch(r){return!MI(r)}}function NI(e){let t=LI(e);if(t===null)return null;for(let n of t){if(!Hu(n))continue;if(GI(n))return!0}return!1}function DI(){for(let e of TI)if(Hu(e))return e;return null}function $I(e){let t={...e};for(let n of Object.keys(t))if(no(n))delete t[n];return t}function MI(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function LI(e){let t=io(e);if(t===null)return null;let n=WI(t);if(n===null)return null;let r=FI(n);if(r===null)return null;return[ju(r,"config"),ju(n,"config.worktree")]}function WI(e){try{let n=Vu(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!n.startsWith("gitdir:"))return e;let r=n.slice(7).trim();if(r==="")return null;return Bv(r)?r:Uv(AI(e),r)}catch{return null}}function FI(e){let t=ju(e,"commondir");if(!Hu(t))return e;try{let n=Vu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Bv(n)?n:Uv(e,n)}catch{return null}}function GI(e){let t;try{t=Vu(e,"utf-8")}catch{return!0}let n="",r=!1;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;let s=i.match(/^\[([^\]]+)\]$/);if(s){n=s[1]?.trim().toLowerCase()??"";continue}let a=i.indexOf("="),c=(a===-1?i:i.slice(0,a)).trim().toLowerCase(),l=a===-1?"true":i.slice(a+1).trim();if(ZI(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=Ao(l)}return r}function ZI(e){return e==="include"||e.startsWith("includeif ")}function Gv(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(qu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return Ao(r)}function Ao(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Zv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(qu(o))return!0;if(o!=="submodule.recurse")return null;let i=je(e.slice(r+1),t,n);return i===void 0||Ao(i)}function qu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Hv(e,t,n){if(!t.localDiscard||!n.worktreeMode||wy(n.env,n.envAssignments))return null;let r=Ry(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!Ey(r.gitCwd))return null;if(BI(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function BI(e,t,n){let{subcommand:r,rest:o}=at(e),i=r?.toLowerCase();if(t.dynamicArguments||UI(o)||jv(e,t.env,t.envAssignments,n)||VI(o)||jI(i,o))return!0;return i==="clean"&&qI(o)>1}function UI(e){return e.some((t)=>/[$*?[]/.test(t))}function jI(e,t){if(e==="checkout"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Bu}),o=n.some((s)=>B(s,"--force"))||r.has("-f"),i=r.has("-B")||n.some((s)=>s==="-B"||s.startsWith("-B"));return o&&i}if(e==="switch"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Uu}),o=n.some((s)=>B(s,"--force"))||n.some((s)=>B(s,"--discard-changes"))||r.has("-f"),i=n.some((s)=>s==="-C"||s.startsWith("-C")||HI(s))||r.has("-C");return o&&i}return!1}function HI(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function VI(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function qI(e){let t=0;for(let n of e){if(n==="--force"){t++;continue}if(n.startsWith("-")&&!n.startsWith("--")){for(let r of n.slice(1))if(r==="f")t++}}return t}var KI="Git SSH environment overrides can execute arbitrary commands during network operations. Run git without GIT_SSH/GIT_SSH_COMMAND overrides, or ask the user to run it manually.",YI=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function ur(e,t){return Vv(e.map(N),t)}function Vv(e,t,n){let r=Nv(e,t.env,t.envAssignments),o=r.blockedReason?O(S("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((vy(t.envAssignments)||Dv(e,t.env,t.envAssignments))&&JI(i))return S("git.ssh-env",KI);let s=Fv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Hv(e,s,t);if(!a)return s;return n?.(a),null}function qv(e,t){let n=null;return{match:Vv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function JI(e){let{subcommand:t,rest:n}=at(e),r=t?.toLowerCase();if(!r)return!1;if(YI.has(r))return!0;if(r==="archive")return Se(n).before.some((o)=>B(o,"--remote"));return r==="remote"&&XI(n)}function XI(e){return e.find((t)=>!QI(t))?.toLowerCase()==="update"}function QI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as BO}from"path";var Kv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",eO="rm -rf for non-temporary paths is blocked by the active safety policy. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",tO="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",Jv="rm -rf targeting root or home directory is extremely dangerous and always blocked.",nO="rm -rf in home directory is dangerous. Change to a project directory first.";function dr(e,t){let n=Rn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=st(r),i=Ov(r),s=oO(e);for(let a of s){let c=wo(a.word);if(o&&c.unsafeBraceExpansion){let l=O(Yv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u=Te(l),d={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&wn(u,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",Ve);if(i&&!o){let f=ot(u,n,d);if(f.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",Jv);if(f.kind==="git_metadata_target")return S("rm.git-metadata",Ve);continue}if(!o)continue;for(let f of rO(u,n,d)){let m=Yv(f,n,t.policy),p=O(m,t.policy);if(p)return p}}}return null}function rO(e,t,n){let r=ot(e,t,n);if(r.kind==="cwd_self_target")return[r,ot(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=ot(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,ot(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function oO(e){let t=[],n=!1;for(let r of e.slice(1)){let o=N(r);if(!o)continue;if(o==="--"){n=!0;continue}if(n){t.push({text:o,word:r});continue}if(!o.startsWith("-"))t.push({text:o,word:r})}return t}function Yv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",Jv);case"git_metadata_target":return S("rm.git-metadata",Ve);case"temp_target":return null;case"dynamic_target":if(!ue(n,"rm.recursive-force-dynamic-target",t.strict))return null;return S("rm.recursive-force-dynamic-target",tO);case"home_cwd_target":return S("rm.recursive-force-home-cwd",nO);case"cwd_self_target":return S("rm.recursive-force-cwd-self",Kv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",eO);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",Kv)}}var iO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},Qv=new Set(["--init-file","--rcfile"]),sO=["--init-file","--rcfile"],aO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function yt(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return Xv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Xv(e,t,!1);if(r!==null)return r}}return null}function qe(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return bt(e).syntaxCheck;let n=!1;for(let r of e.slice(1)){if(r==="--")return n;if(r.startsWith("+")&&!r.startsWith("++")){if(r.slice(1).includes("n"))n=!1;continue}if(!r.startsWith("-")||r.startsWith("--"))return n;let o=r.slice(1);if(o.includes("n"))n=!0;if(o.includes("c"))return n}return n}function Xv(e,t,n){if(e[t+1]==="--")return e[t+2]||null;let r=e[t+1];if(!r||!n&&r.startsWith("-"))return null;return r}function eS(e){let t=G(e[0]??"").toLowerCase(),n=cO(e,t),r=aO.get(t)??null,o=n.argvSource?.kind!=="absent";return{argvSource:t==="bash"?n.argvSource:null,argvSourceApplies:t==="bash"&&n.interactive&&n.argvSource?.kind==="literal",envName:r,envSourceApplies:o&&(r==="BASH_ENV"?!n.interactive:r==="ENV"&&n.interactive)}}function cO(e,t){let n=bt(e),r=n.commandIndex??n.scriptIndex??e.length,o=[],i=!1,s=!0;for(let a=1;a<r;a++){let c=e[a];if(c===void 0||c==="--"||c==="-"||c[0]!=="-"&&c[0]!=="+")break;if(c.startsWith("--")){if(t==="bash"&&s?sO.find((f)=>c===f):void 0){let f=e[a+1];o.push(f===void 0?{kind:"absent"}:{kind:"literal",value:f}),a++;continue}let d=c.split("=",1)[0]??c;if(t==="bash"&&Qv.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=tS(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function tS(e,t,n,r){let o=!1,i=0,s=!1,a=!1,c=!1;for(let l=1;l<t.length;l++){let u=t[l];if(u===void 0)break;if(e==="ksh"&&u==="o"&&l+1<t.length){if(r==="argv"){let d=t.slice(l+1);if(t[0]==="-"&&(d==="c"||d[0]==="-"&&d.endsWith("c")))s=!0}break}if(e==="ksh"&&u==="o"&&l+1===t.length&&(n?.startsWith("-")||n?.startsWith("+")))break;if(e==="zsh"&&u==="o"&&l+1<t.length)break;if(r==="startup"&&u==="i")o=t[0]==="-";if(r==="argv"&&t[0]==="-"&&u==="c")s=!0;if(r==="argv"&&u==="n")c=t[0]==="-";if(r==="argv"&&u==="s")a=t[0]==="-";if(!iO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function bt(e){let t=G(e[0]??"").toLowerCase(),n=!1,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--"){let c=n&&e[i+1]!==void 0?i+1:null;return{command:c===null?null:e[c]??null,commandIndex:c,scriptIndex:!n&&!r&&e[i+1]!==void 0?i+1:null,readsStdinAsCommands:!n&&(r||e[i+1]===void 0),syntaxCheck:o}}if(s==="-"||s[0]!=="-"&&s[0]!=="+")return{command:n?s:null,commandIndex:n?i:null,scriptIndex:!n&&!r&&s!=="-"?i:null,readsStdinAsCommands:!n&&(r||s==="-"),syntaxCheck:o};if(s.startsWith("--")){let c=s.split("=",1)[0]??s;if(t==="bash"&&Qv.has(c)&&!s.includes("="))i++;continue}let a=tS(t,s,e[i+1],"argv");if(a.commandSelected)n=!0;if(a.syntaxCheck)o=!0;if(a.stdinMode)r=!0;i+=a.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!n,syntaxCheck:o}}var tn={kind:"none"},kn={kind:"dynamic"},lO=new Set(["<","<<","<<-","<<<","<&","<>"]),rS=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,uO=/^(?:[0-9]+|[@*])$/,dO=_n.maxWords,mO=_n.maxInputLength;function oS(e){if(!e||G(H(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
54
54
  `)return`${r.join(`
55
55
  `)}
56
56
  `;if(n.includes("%")||/\\(?![\\nrt])/.test(n))return;return n.replaceAll("\\n",`
57
- `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function fr(e){let t=To(e[1])==="--"?2:1;if(e.length<=t)return tn;let n=e.slice(t);if(!n.every(Xs))return kn;return{kind:"literal",source:n.map(N).join(" ")}}function oS(e){let t=To(e[1])==="--"?2:1,n=e[t],r=To(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return tn;if(!Xs(n))return kn;return{kind:"literal",source:r}}function Js(e,t){let n=fO(e);if(n===-1)return tn;let r=pO(t);if(!r)return tn;let o=[],i=r.command?.length??0;for(let s of r.references){let a=hO(s,e,n,r.ifs);if(!a)return kn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>uO||i>dO)return kn;o.push(...a)}if(r.command==="eval")return{kind:"literal",source:o.join(" ")};if(o.length===0||/\s/.test(o[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[r.command,r.command&&r.optionTerminator?"--":null,...o.map(bO)].filter((s)=>s!==null).join(" ")}}function iS(e,t,n,r){if(!bt(e.map(N)).readsStdinAsCommands)return tn;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&cO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return tn;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return kn;return{kind:"literal",source:o.target.text}}if(!n)return tn;return r===void 0?kn:{kind:"literal",source:r}}function vt(e){let t=bt(e.map(N)).scriptIndex;if(t===null)return tn;let n=e[t],r=To(n);return Bi(n,r)?{kind:"literal",source:r}:kn}var mO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Ju(e){if(e.words.length!==2||e.redirections.length!==0||e.nested.length!==1)return!1;let t=e.words[0],n=e.words[1];if(!t||t.provenance!=="literal"||t.quoted||t.raw!==t.text||!n)return!1;if(!(t.text==="eval"&&n.quoted&&n.parts.length===3&&n.parts[0]?.raw==='"'&&n.parts[1]?.provenance==="command-substitution"&&n.parts[1].raw.startsWith("$(")&&n.parts[2]?.raw==='"'||(t.text==="source"||t.text===".")&&!n.quoted&&n.parts.length===1&&n.parts[0]?.provenance==="command-substitution"&&n.parts[0].raw.startsWith("<(")))return!1;let o=e.nested[0];if(o?.status!=="complete"||o.nodes.length!==1)return!1;let i=o.nodes[0];if(i?.kind!=="command"||i.redirections.length!==0||i.nested.length!==0||i.words.some((c)=>c.provenance!=="literal"||c.parts.some((l)=>l.provenance!=="literal")))return!1;let s=i.words[0]?.text;if(s===void 0||He(s)!==null)return!1;let a=G(H(s));return!mO.has(a)&&!de.has(a)&&!En(a)}function fO(e){return bt(e.map(N)).commandIndex??-1}function pO(e){let t=/^IFS=(?:'([^']*)'|"([^"]*)"|([^;\s]*))\s*;\s*(.+)$/.exec(e.trim()),n=t?.[4]??e.trim(),r=/^(\.|bash|command|dash|exec|eval|ksh|sh|source|zsh)(?:\s+(--))?\s+(.+)$/.exec(n),o=(r?.[3]??n).split(/\s+/).map(gO);if(o.length===0||o.some((i)=>i===null))return null;return{command:r?.[1]??null,optionTerminator:r?.[2]!==void 0,references:o.filter((i)=>!!i),ifs:t?t[1]??t[2]??t[3]??"":`
58
- `}}function gO(e){let t=/^"\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})"$/.exec(e),n=/^\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})$/.exec(e),r=t??n;if(!r)return null;let o=r[1]??r[2];return{parameter:o==="@"||o==="*"?o:Number(o),quoted:t!==null}}function hO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?qu(o):yO(o,r);if(e.parameter==="*"){let a=qu(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:Ku(c,r)}let i=t[n+1+e.parameter];if(i&&!Xs(i))return;let s=To(i);return e.quoted?[s]:Ku(s,r)}function qu(e){return e.every(Xs)?e.map(N):void 0}function yO(e,t){let n=qu(e);if(!n)return;let r=n.map((o)=>Ku(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function Ku(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
57
+ `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function mr(e){let t=To(e[1])==="--"?2:1;if(e.length<=t)return tn;let n=e.slice(t);if(!n.every(Qs))return kn;return{kind:"literal",source:n.map(N).join(" ")}}function iS(e){let t=To(e[1])==="--"?2:1,n=e[t],r=To(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return tn;if(!Qs(n))return kn;return{kind:"literal",source:r}}function Xs(e,t){let n=pO(e);if(n===-1)return tn;let r=gO(t);if(!r)return tn;let o=[],i=r.command?.length??0;for(let s of r.references){let a=yO(s,e,n,r.ifs);if(!a)return kn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>dO||i>mO)return kn;o.push(...a)}if(r.command==="eval")return{kind:"literal",source:o.join(" ")};if(o.length===0||/\s/.test(o[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[r.command,r.command&&r.optionTerminator?"--":null,...o.map(vO)].filter((s)=>s!==null).join(" ")}}function sS(e,t,n,r){if(!bt(e.map(N)).readsStdinAsCommands)return tn;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&lO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return tn;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return kn;return{kind:"literal",source:o.target.text}}if(!n)return tn;return r===void 0?kn:{kind:"literal",source:r}}function vt(e){let t=bt(e.map(N)).scriptIndex;if(t===null)return tn;let n=e[t],r=To(n);return Bi(n,r)?{kind:"literal",source:r}:kn}var fO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Xu(e){if(e.words.length!==2||e.redirections.length!==0||e.nested.length!==1)return!1;let t=e.words[0],n=e.words[1];if(!t||t.provenance!=="literal"||t.quoted||t.raw!==t.text||!n)return!1;if(!(t.text==="eval"&&n.quoted&&n.parts.length===3&&n.parts[0]?.raw==='"'&&n.parts[1]?.provenance==="command-substitution"&&n.parts[1].raw.startsWith("$(")&&n.parts[2]?.raw==='"'||(t.text==="source"||t.text===".")&&!n.quoted&&n.parts.length===1&&n.parts[0]?.provenance==="command-substitution"&&n.parts[0].raw.startsWith("<(")))return!1;let o=e.nested[0];if(o?.status!=="complete"||o.nodes.length!==1)return!1;let i=o.nodes[0];if(i?.kind!=="command"||i.redirections.length!==0||i.nested.length!==0||i.words.some((c)=>c.provenance!=="literal"||c.parts.some((l)=>l.provenance!=="literal")))return!1;let s=i.words[0]?.text;if(s===void 0||He(s)!==null)return!1;let a=G(H(s));return!fO.has(a)&&!de.has(a)&&!En(a)}function pO(e){return bt(e.map(N)).commandIndex??-1}function gO(e){let t=/^IFS=(?:'([^']*)'|"([^"]*)"|([^;\s]*))\s*;\s*(.+)$/.exec(e.trim()),n=t?.[4]??e.trim(),r=/^(\.|bash|command|dash|exec|eval|ksh|sh|source|zsh)(?:\s+(--))?\s+(.+)$/.exec(n),o=(r?.[3]??n).split(/\s+/).map(hO);if(o.length===0||o.some((i)=>i===null))return null;return{command:r?.[1]??null,optionTerminator:r?.[2]!==void 0,references:o.filter((i)=>!!i),ifs:t?t[1]??t[2]??t[3]??"":`
58
+ `}}function hO(e){let t=/^"\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})"$/.exec(e),n=/^\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})$/.exec(e),r=t??n;if(!r)return null;let o=r[1]??r[2];return{parameter:o==="@"||o==="*"?o:Number(o),quoted:t!==null}}function yO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?Ku(o):bO(o,r);if(e.parameter==="*"){let a=Ku(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:Yu(c,r)}let i=t[n+1+e.parameter];if(i&&!Qs(i))return;let s=To(i);return e.quoted?[s]:Yu(s,r)}function Ku(e){return e.every(Qs)?e.map(N):void 0}function bO(e,t){let n=Ku(e);if(!n)return;let r=n.map((o)=>Yu(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function Yu(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
59
59
  `)return e.trim().split(/\s+/).filter(Boolean);if(t.length!==1)return;return t===" "||t==="\t"||t===`
60
- `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Xs(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function To(e){return e?N(e):""}function bO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Xu(e,t){return Yu(tt(e,"posix"),t)}function pr(e){return Xu(e,new Set(Array.from(e.matchAll(nS)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Yu(e,t){if(e.status==="invalid"||e.status==="limited")return!1;let n=new Set(t);for(let r of e.nodes){if(r.kind==="group"){if(Yu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Yu(o,n))||sS(r.words,n))return!0;CO(r,n)}return!1}function sS(e,t){let n=e.findIndex((s)=>He(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(Io(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return tS(e[s],t)}if(de.has(o)){let s=e.slice(n),a=bt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&tS(s[c],t)}let i=vO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return sS(e.slice(i),t)}function vO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return SO(e,t+1);if(r==="exec")return xO(e,t+1);if(r==="env")return _O(e,t+1,n);return null}function SO(e,t){for(let n=t;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return e[n+1]?n+1:null;if(/^-[p]*[vV][pvV]*$/.test(r))return null;if(/^-p+$/.test(r))continue;return n}return null}function xO(e,t){for(let n=t;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return e[n+1]?n+1:null;if(r==="-a"){n++;continue}if(/^-a.+/.test(r)||/^-[cl]+$/.test(r))continue;return n}return null}function _O(e,t,n){for(let r=t;r<e.length;r++){let o=e[r],i=o?.text??"";if(i==="--")return e[r+1]?r+1:null;if(i==="-S"||i==="--split-string")return Io(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return Io(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(He(i))continue;return r}return null}function CO(e,t){if(!e.words.every((n)=>He(n.text)!==null))return;for(let n of e.words){let r=He(n.text);if(!r)continue;if(Io(n,t))t.add(r.name)}}function Io(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(nS)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(lO.test(o)||t.has(o))}))}function tS(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||Io(e,t))}var wO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),RO=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),EO=new Set;function aS(e){if(e==="git")return wO;if(e==="docker")return RO;return EO}function pe(e,t){if(e.length===0||t.length===0)return null;let n=H(e[0]??""),r=we(e);for(let o of t){if(!PO(n,o.command))continue;if(!kO(n,e,o.subcommand))continue;if(TO(e,new Set(o.block_args),r))return{id:`custom.${o.name}`,reason:`[${o.name}] ${o.reason}`,intent:o.intent??"manual_only"}}return null}function PO(e,t){return e===H(t)}function kO(e,t,n){if(!n)return!0;return cS(t,1,n,aS(e))}function cS(e,t,n,r){let o=!1;for(let i=t;i<e.length;i++){let s=e[i];if(!s)continue;if(o){o=!1;continue}if(s==="--"){let a=e[i+1];if(a&&!a.startsWith("-"))return a===n;return!1}if(r.has(s)){o=!0;continue}if(s.startsWith("-")){if(!s.includes("=")&&AO(e,i,n,r))return!0;continue}return s===n}return!1}function AO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return cS(e,t+2,n,r)}function TO(e,t,n){for(let r of e)if(t.has(r))return!0;for(let r of n)if(t.has(r))return!0;return!1}function nn(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=H(r);if(o==="eval"){let i=fr(j(e));if(i.kind==="dynamic")return gr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return St(n,t)}if(de.has(o)){if(qe(e))return null;let i=yt(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=gr(n,t);if(c)return c}if(pr(i)){let c=gr(n,t);if(c)return c}if(!t.analyzeNested)return null;let a=t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(a)return a;return null}let s=vt(j(e));if(s.kind==="dynamic")return gr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return gr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return gr(n,t);return null}if(Me.has(o))return O(js(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??St(n,t);if(ze(o)){let i=is(e);if(!i)return St(n,t);if(ue(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=O(S("interpreter.one-liner-paranoid",nr),t.policy);if(a)return a}if(cs(o,i))return St(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==Yt||cr(i)))return s;if(rr(i,t.scanWork))return O(S("interpreter.dangerous-command",Sn),t.policy)??St(n,t);return St(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(st(e)||n.dynamicRmInput);return O(mr(j(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(t.envAssignments,t.environment),trustedTmpdirValue:Lt(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?St(n,t):null)??(i?IO(n,t):null)}if(o==="find")return qs(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>nn(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??St(n,t);if(o==="git")return O(dr(j(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??pe(e,t.policy?.rules??[])??St(n,t);return pe(e,t.policy?.rules??[])??St(n,t)}function gr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function St(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function IO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var Qu="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",ed="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",OO="__CC_SAFETY_NET_XARGS_INPUT__",Qs="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",ea="rm",zO=/(?:^|[;&|]\s*|\b(?:eval|source)\s+|\b(?:ba|da|z|k)?sh\s+-c\s+)\s*["']?\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,NO=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,DO=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,$O=/^(?:[0-9]+|[@*])$/;function dS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=An(n),i=n.slice(r),s=S("xargs.shell-dynamic",ed);if(LO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of it(i,t)){let c=a.tokens,l=o!==null&&c[0]!==i[0]&&(c[0]?.includes(o)??!1)?O(s,t.policy):null;if(l)return l;let u=gS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&fS(c,o),f=nn(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||mS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",Qu)});if(f)return f;let m=MO(c,o,t.policy?.rules??[]);if(m)return m;if(a.head==="git"){let h=o===null?[...c,OO]:c,b=o!==null&&(c.some((R)=>R.includes(o))||Array.from(a.envAssignments.values()).some((R)=>R.includes(o))),y=nn(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||b?!1:t.worktreeMode});if(y)return y}let p=pe(c,t.policy?.rules??[]);if(p)return p}return null}function MO(e,t,n){if(n.length===0)return null;if(t===null){for(let o of n){let i=pe([...e,...o.subcommand?[o.subcommand]:[],...o.block_args],n);if(i)return i}return null}let r=new Set(n.flatMap((o)=>[o.subcommand,...o.block_args].flatMap((i)=>i?e.flatMap((s)=>td(s,t,i)):[])));for(let o of r){let i=pe(e.map((s)=>s.replaceAll(t,o)),n);if(i)return i}return null}function td(e,t,n){let r=e.indexOf(t);if(r===-1||e.indexOf(t,r+t.length)!==-1)return[];let o=e.slice(0,r),i=e.slice(r+t.length);return n.startsWith(o)&&n.endsWith(i)?[n.slice(o.length,n.length-i.length)]:[]}function mS(e,t,n,r,o,i,s){if(de.has(t)){if(qe(e))return!1;if(n!==null&&WO(e,n))return!0;let a=yt(e);if(!a){let c=vt(j(e));if(c.kind==="literal")return n!==null&&c.source.includes(n);return c.kind==="none"&&o}if(n!==null&&a.includes(n))return!0;if(Mt(a,i))return!0;return FO(a,n,r)}if(ze(t))return lS(e,n,as,Ky(t));if(Me.has(t))return lS(e,n,Nu,Rv);if(t==="eval"){let a=fr(j(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return GO(e,n,i,s);if(t==="git"){let a=at(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&ur.has(a.subcommand.toLowerCase())&&pS(a.rest,n).some((c)=>c.includes(n))}return!1}function lS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,Qs]).sources.some((c)=>c.value===Qs);if(o.sources.some((c)=>c.value.includes(t)))return!0;let i=new Set(o.sources.map((c)=>`${c.tokenIndex}\x00${c.kind}\x00${c.value}`)),s=r.flatMap((c)=>[c.selector,...c.valueForm==="attached-only"||c.valueForm==="attached-or-separate"?[`${c.selector}${Qs}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${Qs}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>td(l,t,c))));return Array.from(a).some((c)=>n(e.map((l)=>l.replaceAll(t,c))).sources.some((l)=>!i.has(`${l.tokenIndex}\x00${l.kind}\x00${l.value}`)))}function LO(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(it(e,n),(i)=>i.head)),o=t===null?[...e,ea]:e.map((i,s)=>s===0?i:i.replaceAll(t,ea));return Array.from(it(o,n)).some((i)=>i.head===ea&&!r.has(ea))}function fS(e,t){return pS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function pS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function gS(e,t,n){if(t===null)return!0;return e.some((r)=>r.includes(t))||Array.from(n.values()).some((r)=>r.includes(t))}function WO(e,t){let n=bt(e);if(n.commandIndex!==null&&(e[n.commandIndex]??"").includes(t)||n.scriptIndex!==null&&(e[n.scriptIndex]??"").includes(t))return!0;return["-c","-nc","-cn",`--${t}`,t].some((o)=>e.some((i,s)=>{if(s===0||!i.includes(t))return!1;return td(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=bt(l);if(u.commandIndex===null&&u.scriptIndex===null)return!1;if(n.commandIndex===null&&u.commandIndex!==null)return!0;if(n.scriptIndex===null&&u.scriptIndex!==null)return!0;if(u.commandIndex!==null&&(l[u.commandIndex]??"").includes(c))return!0;return u.scriptIndex!==null&&(l[u.scriptIndex]??"").includes(c)})}))}function FO(e,t,n){let r=new Set(t===null?[]:Array.from(n).filter(([,o])=>o.includes(t)).map(([o])=>o));for(let o of e.matchAll(zO))if(uS(o,r))return!0;for(let o of e.matchAll(NO))for(let i of(o[1]??"").matchAll(DO))if(uS(i,r))return!0;return Xu(e,r)}function uS(e,t){let n=e[1]??e[2];return n!==void 0&&($O.test(n)||t.has(n))}function GO(e,t,n,r){if(t===null)return!0;let o=!1,i=0;for(let s=1;s<e.length;s++){let a=e[s]??"";if(!o&&!a.startsWith("-")&&a!=="!"&&a!=="("){if(a.indexOf(t)===0)return!0;continue}if(o=!0,i>0){i--;continue}if(Ft(a)){let l=Po(e,s);s=l.nextIndex-1;for(let u of it(l.tokens,{environment:r,cwd:void 0})){let d=gS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&fS(u.tokens,t)||mS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Qt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function An(e){let t=new Set(["-L","-n","-P","-s","-a","-E","-R","-S","-e","-d","-J","--max-args","--max-procs","--max-chars","--arg-file","--eof","--delimiter","--max-lines","--process-slot-var"]),n=null,r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--")return{childStart:r+1,replacementToken:n};if(o.startsWith("-")){if(o==="-I"){n=e[r+1]??"{}",r+=2;continue}if(o.startsWith("-I")&&o.length>2){n=o.slice(2),r++;continue}if(o==="--replace"){n="{}",r++;continue}if(o.startsWith("--replace=")){let i=o.slice(10);n=i===""?"{}":i,r++;continue}if(o==="-J"){n=e[r+1]??"{}",r+=2;continue}if(t.has(o))r+=2;else r++}else return{childStart:r,replacementToken:n}}return{childStart:e.length,replacementToken:n}}var zo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",No="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",BO="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",UO="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",jO=/\{[^{}\s]*\}/,CS=/\{\}|\{-?\d+\}/g,HO=["e","f","source","file","-e","-f","--source","--file"],VO=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],qO=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),KO=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),hS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),YO=new Set(["--workdir","--wd"]),yS="__CC_SAFETY_NET_PARALLEL_SOURCE__",JO=new TextEncoder,rd=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Ee(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function wS(e,t){return Ee([...e],(n)=>Mt(n,t.scanWork))}function RS(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=In(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=NS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=In(t);if(p)return p;let h=wS(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=iz(t);if(p)return p}if(u!==void 0&&a){let p=In(t);if(p)return p}let f=lz(u,t.cwd,t.environment.paths);if(f===null){let p=In(t);if(p)return p}let m=a?{...t,cwd:void 0,originalCwd:void 0}:f===null||f===void 0||f===t.cwd?t:{...t,cwd:f};if(d){if([...it(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(ad)){let h=In(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=In(t);if(b)return b}let p=s.map((b)=>b[0]??"");Ne(t.budget,od(p));let h=TS(m.envAssignments,m.cwd,a);return Ee(p,(b)=>t.analyzeNested(b,h))}return Ee(it(i,m),(p)=>XO(p,o,t,m))}function XO(e,t,n,r){let{jobs:o,templateHasPlaceholder:i,runsRemotely:s,usesStdin:a}=t,c=e.tokens,l={...r,cwd:e.cwd,envAssignments:e.envAssignments},u=[...e.envAssignments.values()];if(u.some(OS)){let y=In(n);if(y)return y}let d=wS(u,n);if(d)return d;let f=u.some(ee),m=i||f,p=a&&m,h=TS(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return Ne(n.budget,ta(c,o,"generic")),Ee(o,(E)=>nn(c.map((P)=>rn(P,E)),l))};if(qe(c))return y();let R=yt(c);if(R){if(zS(R)){let v=Tn(n);if(v)return v;if(o.length===0)return null;return Ne(n.budget,_S(R,o)),Ee(o,(T)=>n.analyzeNested(rn(R,T),h))}if(ee(R)){if(o.length>0)return Ne(n.budget,_S(R,o)),Ee(o,(k)=>n.analyzeNested(rn(R,k),h));Ne(n.budget,SS(R));let v=ko(R);if(v?.[0]&&H(v[0])==="rm"&&st(v)){let k=vS(n);if(k)return k}let T=v?nn(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",No),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",zo)}):null;if(T)return T;return n.analyzeNested(R,h)}let E=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Js(j(v===void 0?c:i?c.map((T)=>rn(T,v)):[...c,...v]),R)):[];if(E.some((v)=>v.kind==="dynamic")){let v=Tn(n);if(v)return v}let P=E.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return Ne(n.budget,od(P)),Ee(P,(v)=>n.analyzeNested(v,h));if(Ne(n.budget,SS(R)),pr(R)){let v=Tn(n);if(v)return v}let _=n.analyzeNested(R,h);if(_)return _;if(m)return Tn(n);return null}let w=vt(j(c));if(w.kind==="dynamic"||w.kind==="literal"&&ee(w.source))return Tn(n)??y();if(w.kind==="literal")return y();if(o.length>0){let E=Tn(n);if(E)return E;let P=y();if(P)return P;if(i)return null;let _=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return Ne(n.budget,od(_)),Ee(_,(v)=>n.analyzeNested(v,h))}if(m||a)return Tn(n)??y();return null}if(e.head==="rm"&&st(c)){if(i&&o.length>0)return Ne(n.budget,ta(c,o,"rm")),Ee(o,(R)=>nd(c.map((w)=>id(w,R)),e.cwd,r));if(o.length>0)return Ne(n.budget,xS(c,o)),Ee(o,(R)=>nd([...c,...R],e.cwd,r));let y=nd(c.flatMap((R,w)=>{if(w===0||!ee(R))return[R];return R.startsWith("-")?[id(R,[""])]:[]}),e.cwd,r);if(y)return y;return vS(n)}Ne(n.budget,i&&o.length>0?ta(c,o,"generic"):o.length>0?xS(c,o):AS(c));let b=o.length>0?o:[void 0];return Ee(b,(y)=>{let R=y===void 0?c:i?c.map((z)=>rn(z,y)):[...c,...y],w=S("parallel.shell-dynamic",No),E=a&&e.head==="find"?oz(R,r):null,P=PS(R,a,n.policy?.rules??[],n.budget)??E?.customResult??null,_=H(e.head),v=a&&(_==="rm"&&sd(R)||_==="xargs"&&kS(R)||E?.rmOptions===!0),T=a&&(v||E?.executedSource===!0||E===null&&ES(R,_)),k=nn(R,{...l,worktreeMode:s||a||m?!1:n.worktreeMode},{dynamicInput:a||m,dynamicRmInput:v,dynamicSourceInput:P!==null||T,shellDynamicMatch:w,dynamicSourceMatch:w,rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",zo)});if(T){let z=O(w,n.policy);if(z)return z}return k??P??pe(R,n.policy?.rules??[])})}function ES(e,t){if(ee(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return tz(e);if(t==="git")return QO(e);if(t==="find")return!0;if(Me.has(t))return bS(e,HO,Eo);if(ze(t))return bS(e,VO,ss);return!1}function sd(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(ee))return t===-1;return n.some((o)=>ee(o)&&(o.startsWith("-")||zS(o)))}function QO(e){if(ez(e))return!0;let t=at(e);if(t.subcommand===null||ee(t.subcommand))return!0;if(!ur.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(ee))return n===-1;return r.some(ee)}function ez(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n||n==="--"||!n.startsWith("-"))return!1;if(n==="-c"||n==="--config-env"){if(ee(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(ee(n))return!0;continue}if(ee(n))return!0}return!1}function tz(e){if(qe(e))return!1;let t=yt(e);if(t!==null)return ee(t);let n=vt(j(e));if(n.kind==="literal")return ee(n.source);if(n.kind==="dynamic")return!0;return!e.some(ee)}function bS(e,t,n){let r=n(e);if(r.some((i)=>ee(i.value)))return!0;if(!e.some(ee))return n([...e,yS]).some((i)=>i.value===yS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>rn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function PS(e,t,n,r){if(!t||n.length===0)return null;let o=n.filter((s)=>H(s.command)===H(e[0]??""));if(o.length===0)return null;let i=e.some(ee);if(Ne(r,nz(e,o,i)),!i)return Ee(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Ee(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?rz(e,c):[]));return Ee(a,(c)=>pe(e.map((l)=>rn(l,[c])),[s]))})}function nz(e,t,n){let r=n?On(Ke(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),V.maxChildAnalyses),2*Math.max(e.length,1),V.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:On(r,e.length,V.maxDerivedTokens)}}function rz(e,t){return e.flatMap((n)=>{let r=[...n.matchAll(/\{[^{}\s]*\}/g)];if(r.length!==1)return[];let o=r[0];if(!o||o.index===void 0)return[];let i=n.slice(0,o.index),s=n.slice(o.index+o[0].length);if(!t.startsWith(i)||!t.endsWith(s))return[t];let a=t.slice(i.length,t.length-s.length);return a!==t?[t,a]:[t]})}function oz(e,t){let n={customResult:null,executedSource:!e.some(ee),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(ee))return;for(let a of it(i,t))n.executedSource||=ES(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&sd(a.tokens)||a.head==="xargs"&&kS(a.tokens),n.customResult??=PS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=ee(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Ft(a)){i=[],n.executedSource||=ee(a);continue}let c=Qt(a);if(c>0){o=c,n.executedSource||=ee(a);continue}n.executedSource||=ee(a)}return s(),n}function kS(e){let t=e.slice(An(e).childStart);return H(t[0]??"")==="rm"&&sd(t)}function na(e,t){return(n)=>O(S(e,t),n.policy)}var Tn=na("parallel.shell-dynamic",No),iz=na("parallel.command-stream-dynamic",BO),In=na("parallel.command-stream-dynamic",UO),vS=na("parallel.rm-recursive-force-dynamic",zo);function nd(e,t,n){return O(mr(j(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(n.envAssignments??new Map,n.environment),trustedTmpdirValue:Lt(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function od(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:Do(e)}}function SS(e){return AS([e])}function AS(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:Do(e)}}function xS(e,t){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:Ke(t.map((n)=>e.length+n.length),V.maxDerivedTokens),derivedBytes:Ke([On(Do(e),t.length,V.maxDerivedBytes),Ke(t.map((n)=>Do(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function _S(e,t){return ta([e],t,"generic")}function ta(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=On(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=cz(e.map((c)=>az(c,n))),i=On(o.occurrences,t.length,V.maxPlaceholderReplacements);if(i>V.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(sz(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:V.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?rn:id,a=Ke(t.map((c)=>Do(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function sz(e,t,n){let r=V.maxDerivedBytes+4*n;return Ke([On(e.fixedBytes,t.length,r),On(e.occurrences,Ke(t.map((o)=>o.reduce((i,s)=>Math.max(i,Oo(s)),0)),r),r)],r)>r}function az(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(CS),r=0,o=0,i=0;for(let s of n){if(r>=V.maxPlaceholderReplacements)return{occurrences:V.maxPlaceholderReplacements+1,fixedBytes:0};o=Ke([o,Oo(e.slice(i,s.index))],rd),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Oo(e):Ke([o,Oo(e.slice(i))],rd)}}function cz(e){return{occurrences:Ke(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:Ke(e.map((t)=>t.fixedBytes),rd)}}function Do(e,t=V.maxDerivedBytes){return Ke(e.map(Oo),t)}function Oo(e){return JO.encode(e).byteLength}function Ke(e,t){let n=0;for(let r of e){if(!Number.isSafeInteger(r)||r<0||r>t-n)return t+1;n+=r}return n}function On(e,t,n){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e!==0&&t>Math.floor(n/e))return n+1;return e*t}function TS(e,t,n){let r={};if(e)r.envAssignments=e;if(n)return r.effectiveCwd=null,r.worktreeMode=!1,r;if(t!==void 0)r.effectiveCwd=t;return Object.keys(r).length>0?r:void 0}function rn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>IS(n,t))}function id(e,t){return e.replace(CS,(n)=>IS(n,t))}function IS(e,t){let n=/^\{(-?\d+)[^{}\s]*\}$/.exec(e)?.[1];if(n===void 0)return t[0]??"";let r=Number(n),o=r>0?r-1:t.length+r;return t[o]??""}function ee(e){return jO.test(e)}function OS(e){if(ad(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function ad(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function zS(e){return/^\{[^{}\s]*\}$/.test(e)}function NS(e){let t=1,n=[],r=e.length,o=-1,i=!1,s=!1,a=!1,c,l=e.some((p)=>p==="::::"||p==="::::+"||p===":::+");while(t<e.length){let p=e[t];if(p===void 0)break;if(p===":::"){o=t;break}if(p==="--"){let w=Mu(e,t+1);n.push(...w.templateTokens),r=t+1,o=w.markerIndex;break}if(!p.startsWith("-")){let w=Mu(e,t);n.push(...w.templateTokens),r=t,o=w.markerIndex;break}let h=e[t+1],b=p.indexOf("="),y=b===-1?p:p.slice(0,b),R=b===-1?void 0:p.slice(b+1);if(p==="--dry-run"){a=!0,t++;continue}if(p==="-I"||p.startsWith("-I")&&p.length>2){l||=(p==="-I"?h:p.slice(2))!=="{}",t+=p==="-I"?2:1;continue}if(p==="--replace"||p==="-i"){l=!0,t+=2;continue}if(y==="--replace"||p.startsWith("-i")&&p.length>2){let w=y==="--replace"?R:p.slice(2);l||=w!==""&&w!=="{}",t++;continue}if(p==="-a"||KO.has(y)){l=!0,t+=R===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=R===void 0?2:1;continue}if(hS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=hS.has(p)?2:1;continue}if(YO.has(y)){let w=R??h;if(w===void 0||w===":::"||w==="--"){l=!0,t++;continue}c=w,l||=R!==void 0&&w==="",t+=R===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&R!==void 0){t++;continue}if(qO.has(p)){if(h===void 0||h===":::"||h==="--"){l=!0,t++;continue}t+=2;continue}t+=p==="-j"||p==="--jobs"?2:1}l||=n.some(a?ad:OS);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let b=e[h];if(b===":::"){u.push(p),p=[];continue}if(b!==void 0)p.push(b)}u.push(p)}let d=uz(u),f=n.some(ee),m=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:f,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:m,unsupported:l,workdir:c,dryRun:a}}function lz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!ZO(e))return null;try{return Kt(t??e,e,n)}catch{return null}}function uz(e){if(e.length===0||e.some((n)=>n.length===0))return[];let t=[[]];for(let n of e){if(n.length===1){let o=n[0];if(o===void 0)return[];for(let i of t)i.push(o);continue}let r=[];for(let o of t)for(let i of n)if(r.push([...o,i]),r.length>V.maxChildAnalyses)return r;t=r}return t}function DS(e){return NS(e).childStart}var dz="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",ra="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function ld(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function cd(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function MS(e,t,n,r,o=!1,i){let a=(go(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",dz):null;return O(a,i)??LS(e,t,n,o,i)}function LS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>ld(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Jn(e,t),c=fz(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",ra),o);if(O(dr(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,f)=>f>c&&N(d)==="--");if(ue(o,"shell.dynamic-structure",r)&&l&&ur.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return O(S("shell.dynamic-structure",ra),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&pz(t)?O(S("shell.dynamic-structure",ra),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=st(t.map(N));return ue(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?O(S("shell.dynamic-structure",ra),o):null}if(s==="xargs")return $S(e,t.slice(An(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return $S(e,t.slice(DS(t.map(N))),"parallel",n,r,o);return null}function $S(e,t,n,r,o,i){if(t.length===0)return null;let s=mz(t,r);if(go(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?ed:No),i);if(c)return c}let a=LS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>ld(c)&&cd(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Qu:zo),i);return null}function mz(e,t){let n=xn(e,t),r=n.rewritten?j(n.words.map(N)):n.words,o=r[0];return o&&N(o)==="busybox"?r.slice(1):r}function fz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(mt.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function pz(e){let t=!1,n=0,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(!s)continue;let a=ld(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||cd(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||cd(s)))return!0;continue}if(t=!0,a)return!0;let c=Qt(s.text);if(c>0){n=c;continue}if(Ft(s.text))o=!0,r=!0}return!1}function ud(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Bi(t[n.tokenIndex],n.value)})}var gz="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",hz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",yz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function WS(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return S("dd.device-write",gz);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return S("mkfs.device",hz);if(e==="shred"&&n.length>0)return S("shred.target",yz);return null}var GS=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>mr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:Lt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>dr(e.words,dd(e))},{heads:new Set(["find"]),analyze:(e)=>qs(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:Lt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,policy:e.options.policy,analyzeTokens:e.analyzeChildTokens,analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>dS(e.words,{...FS(e),analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>RS(e.words,{...FS(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})}];function FS(e){return{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoidRm:e.options.paranoidRm,paranoidInterpreters:e.options.paranoidInterpreters,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,worktreeMode:e.options.worktreeMode,policy:e.options.policy,scanWork:e.options.scanWork}}function zn(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function dd(e){return{env:e.options.environment.env,cwd:e.cwd,dynamicArguments:e.dynamicArguments,envAssignments:e.envAssignments,policy:e.options.policy,worktreeMode:e.options.worktreeMode}}var jS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function HS(e){return GS.find((t)=>t.heads.has(e))?.analyze}function $o(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(A)=>A.map((Z)=>o==="posix"?N(Z):Z.text),s=n.effectiveCwd===null,a=s?void 0:n.effectiveCwd??n.cwd,c=s?void 0:n.cwd,l=fs(e);if(l.envAssignments.size>0)r?.recordSegment({type:"env-strip",input:i(e),envVars:[...l.envAssignments.keys()],output:i(l.words)});let u=xn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let A=[...d,...i(u.words)].join(" "),Z=Mt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),xt(Z);if(n.strict)return Le(r);let ie=ps(d,i(u.words));if(ie){Xe(n.derivedCommandWorkBudget,ie.length);let le=n.analyzeNested(ie.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(le)return le}}let f=u.rewritten?j(i(u.words)):Jn(o,u.words),m=i(f),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>f.length){let A=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:A,removed:A.slice(0,A.length-f.length),output:m})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),b=m[0];if(!b)return null;if(En(b))throw new Oe;let y=H(b),R=u.cwd===null?void 0:u.cwd??a,w=u.cwd===null?void 0:c,E=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!uo(h,n.environment),_=MS(o,u.words,n.environment,t===0,n.strict,n.policy);if(_)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:_.reason}),xt(_);let v=Hs(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){ZS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let ie=$o(Z,t,{...p,effectiveCwd:E,envAssignments:h});if(ie)return ie}return null}let T=y==="eval"?fr(f):y==="trap"?oS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Ju(n.commandView)))return Le(r);if(T?.kind==="literal"){r?.recordSegment({type:"recurse",reason:y==="eval"?"shell-eval":"shell-trap",innerCommand:T.source,depth:t+1});let A=n.analyzeNested(T.source,{effectiveCwd:E,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(qS(b,y)){if(qe(m))return null;let A=bz(m,h,E,n,r,t);if(A)return A;let Z=yt(m);if(Z){let qn=Js(f,Z);if(qn.kind==="dynamic")return Le(r);let Sl=qn.kind==="literal"?qn.source:Z,Ih=vz(Sl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:Ih}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Ih,depth:t+1});let Oh=n.analyzeNested(Sl,{effectiveCwd:E,envAssignments:h});if(Oh)return Oh;return pr(Sl)?Le(r):null}let ie=vt(f);if(ie.kind==="dynamic")return Le(r);if(ie.kind==="literal")return sa(ie.source,E,h,n,r,t);let le=iS(f,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(le.kind==="dynamic")return Le(r);if(le.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:le.source,depth:t+1}),n.analyzeNested(le.source,{effectiveCwd:E,envAssignments:h})}if(y==="source"||y==="."){let A=m[1]==="-p"?2:null;if(A!==null){let qn=n.commandView?f[A]:void 0;if(!qn)return null;if(qn.provenance!=="literal")return Le(r)}let Z=A===null?1:3,ie=m[Z]==="--"?Z+1:Z,le=n.commandView?f[ie]:void 0;if(!le)return null;if(le.provenance==="literal")return sa(le.text,E,h,n,r,t);if(n.strict||!n.commandView||!Ju(n.commandView))return Le(r)}if(Me.has(y)){if(n.strict&&ud(Eo(m),f))return Le(r);let A=js(m,(ie)=>zn(n.analyzeNested(ie,{effectiveCwd:E,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),xt(Z)}if(ze(y)){if(n.strict&&ud(ss(m),f))return Le(r);let A=is(m);if(A){let Z=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:y,codeArg:A,paranoidBlocked:Z}),Z){let le=O(S("interpreter.one-liner-paranoid",nr),n.policy);if(le)return xt(le)}if(cs(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let ie=n.analyzeNested(A,{effectiveCwd:E,envAssignments:h});if(ie&&ie.ruleId!=="raw-text.dangerous-command"&&(ie.reason!==Yt||cr(A)))return ie;if(rr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",Sn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Sn}),xt(le)}r=void 0}}if(y==="busybox"&&m.length>1)return ZS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),$o(f.slice(1),t,{...p,effectiveCwd:E,envAssignments:h});let k=O(WS(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),xt(k);let z=r===p.trace?p:{...p,trace:r},M={words:f,head:y,cwd:R,originalCwd:w,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:E,options:z,analyzeChildTokens:(A,Z)=>zn($o(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=HS(y);if(y==="rm"||y==="xargs"||y==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let U=r&&y==="git"?Vv(M.words,dd(M)):void 0,ge=BS(U?U.match:W?.(M)??null,n.policy);if(r)Sz(M,ge,U?.relaxation??null);if(ge)return xt(ge);let Be=W!==void 0;if(!Be)if(!rs.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let ie=m[Z];if(!ie)continue;A?.push(ie);let le=BS(xz(M,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(ie)}),xt(le)}r?.recordSegment({type:"fallback-scan",tokensScanned:A??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!Be){let A=pe(m,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!A,reason:A?.reason}),A)return xt(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function bz(e,t,n,r,o,i){let s=Qv(e);if(s.argvSource?.kind==="absent")return Le(o);if(s.argvSourceApplies&&s.argvSource){let c=sa(s.argvSource.value,n,t,r,o,i,!0);if(c)return c}if(!s.envSourceApplies||!s.envName)return null;let a=t.get(s.envName);if(!a)return null;return sa(a,n,t,r,o,i,!0)}function sa(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Le(o);let a=lo(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Le(o):null;return Xe(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function vz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function Sz(e,t,n){let r={git:"git:analyzeGitMatch",rm:"analyzer/rm.ts:analyzeRmMatch",find:"analyzer/find.ts:analyzeFindMatch",xargs:"analyzer/xargs.ts:analyzeXargs",parallel:"analyzer/parallel.ts:analyzeParallel"}[e.head];if(!r)return;if(e.options.trace?.recordSegment({type:"rule-check",rule:r,matched:!!t||!!n,reason:t?.reason??n?.originalReason}),n)e.options.trace?.recordSegment({type:"worktree-relaxation",originalReason:n.originalReason,gitCwd:n.gitCwd})}function ZS(e){if(e.iterations>=er)throw new Oe;e.iterations++}function xt(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Le(e){return e?.recordSegment({type:"error",message:jS}),xt(VS())}function VS(){return{id:"",reason:jS,intent:"stop_and_explain"}}function qS(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function xz(e,t,n){let r=it(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=_z(e,n,o);if(i)return i}return null}function _z(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(qS(r,o)){Xe(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(qe(c))return null;let l=yt(c);if(!l){if(vt(j(c)).kind==="dynamic")return VS();return ia(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?zn(u):ia(e,n)}let i=HS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Xe(e.options.derivedCommandWorkBudget,e.words.length-t);return ia(e,n)}Xe(e.options.derivedCommandWorkBudget,e.words.length-t);let s=[o,...n.tokens.slice(1)],a={...e,words:j(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!uo(n.envAssignments,e.options.environment),effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,options:o==="git"?{...e.options,worktreeMode:!1}:e.options};return i(a)??ia(e,n)}function ia(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function BS(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var Cz=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,wz=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function Rz(e,t){let n=JS(e,t);if(n.length===0)return!1;let r=n[YS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return Cz.test(e.join(" "))}function KS(e,t,n,r){if(e.dialect==="powershell"){let a=Ez(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return US(Tz(a.target),t,n.paths)}let o=e.words.map(N);if(!Rz(o,n))return;if(!t)return null;let i=JS(o,n,t),s=YS(i);if(s===-1||i[s]!=="cd")return null;return US(i[s+1],t,n.paths)}function US(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Iz(Kt(t,e,n),t,n)?t:null}catch{return null}}function Ez(e,t){let n=Pz(e[0])?1:0,r=e[n];if(!kz(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!wz.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return Az(e.slice(n+1),t)}function Pz(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function kz(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function Az(e,t){let n;for(let r of e){if(r.provenance!=="literal"||n!==void 0)return{kind:"unknown"};n=r.text}if(n!==void 0)return{kind:"target",target:n};return t===void 0?{kind:"unknown"}:{kind:"target",target:t}}function Tz(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function YS(e){let t=0;if(e[0]==="builtin"&&e.length>1)t=1;if(e[t]!=="time")return t;let n=t+1;while(e[n]?.startsWith("-"))n++;return n}function JS(e,t,n){let r=Oz(e);return ir([...r],t,n)}function Iz(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return oa(e)===oa(t);return oa(r)===oa(o)}function Oz(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var fd="TMPDIR",pd="IFS",XS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,QS=/^[A-Za-z_][A-Za-z0-9_]*$/,ex=new Set(["export","typeset","declare","readonly"]),zz=new Set(["builtin","command","time"]);function tx(e,t){return{env:e,effectiveEnvAssignments:Lz(e,t),shellAssignments:new Map}}function nx(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function gd(e,t){let n=ox(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),hd(t,s)});let r=n.commandIndex;if(r!==-1&&ex.has(e[r]??""))e.filter((s)=>QS.test(s)&&md(s)).forEach((s)=>{Wz(t,s)});let o=r===-1?-1:ix(e,r);if(o===-1||e[o]!=="unset")return;let i=Gz(e,o);if(i===null)return;e.slice(i).forEach((s)=>{Fz(t,s)})}function rx(e,t){let n=ox(e,t).assignments;if(n.length===0)return t.effectiveEnvAssignments;let r=new Map(t.effectiveEnvAssignments??[]);return n.forEach((o)=>{r.set(o.name,o.value)}),r}function ox(e,t){let n=e.findIndex((s)=>!Nz(s)),r=n!==-1&&ex.has(e[ix(e,n)]??""),o=Mz(t);return{assignments:e.flatMap((s,a)=>{let c=Dz(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Zl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function ix(e,t){let n=t;while(zz.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function Nz(e){return He(e)!==null||XS.test(e)}function Dz(e,t,n){return He(e)??$z(e,t,n)}function $z(e,t,n){let r=Hi(e,n,t);if(r)return r;let o=e.match(XS)?.[1];if(!o)return null;let i=e.indexOf("=");return{name:o,value:`${t.has(o)?t.get(o):n.get(o)??""}${e.slice(i+1)}`}}function md(e){return e===fd||e===pd||Bl(e)}function Mz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Lz(e,t){let n=[...Ui,fd,pd].map((r)=>{let o=e.get(r);return o===void 0?null:[r,o]}).filter((r)=>r!==null);if(n.length===0)return t;return new Map([...n,...t??[]])}function hd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function Wz(e,t){hd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function Fz(e,t){if(!md(t)&&!QS.test(t))return;if(e.shellAssignments.set(t,""),!md(t)||t===fd||t===pd||no(t)){hd(e,{name:t,value:""});return}if(!e.effectiveEnvAssignments?.has(t))return;let n=new Map(e.effectiveEnvAssignments);n.delete(t),e.effectiveEnvAssignments=n.size===0?void 0:n}function Gz(e,t){let n=t+1;while(n<e.length){let r=e[n];if(!r)return null;if(r==="--")return n+1;if(r==="-v"){n++;continue}if(r.startsWith("-"))return null;return n}return n}var Zz="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",Nn="This heredoc form or stdin consumer is not supported safely. Use a quoted heredoc with a supported consumer (cat, tee, git apply, git commit, gh pr create, gh issue create), or ask the user to verify.",Bz=64;function xd(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return Uz(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??ts(),parallelBudget:n.parallelBudget??Jy()},r)}catch(s){let a=s instanceof Oe&&o?Zy:s instanceof ds&&i?Yy:void 0;if(!a)throw s;if(n.trace?.currentSegmentIndex!==void 0)n.trace.recordSegment({type:"error",message:a});else n.trace?.recordGlobal({type:"error",message:a});return{reason:a,segment:e,intent:"stop_and_explain"}}}function Uz(e,t,n,r){if(t>=ns)return n.trace?.recordSegment({type:"error",message:Nt}),{reason:Nt,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??tt(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:Nt}),{reason:Nt,segment:e,intent:"stop_and_explain"};if(o.status==="invalid"){let l=o.issues.find((u)=>u.code.includes("heredoc"));if(l){if(!n.strict)return Sd(e,n);let u=`Unsupported heredoc syntax: ${l.message}`;return n.trace?.recordGlobal({type:"error",message:u}),{reason:u,segment:e,intent:"stop_and_explain"}}return dx(e,n),{reason:Yt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return dx(e,n),{reason:Yt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return Sd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=tx(n.environment.env,n.envAssignments);return la(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function la(e,t,n,r,o){let i=[...o],s,a;for(let[c,l]of e.nodes.entries()){if(l.kind==="connector"){a=l.operator;continue}let u=e.nodes[c+1],d=u?.kind==="connector"?u.operator:void 0,f=jz(e,c,l,a,d),m=a==="&&"||a==="||",p=m?s:void 0,h=a==="&&"?p?.success??i:a==="||"?p?.failure??i:i,b=a==="||"?p?.success??[]:[],y=a==="&&"?p?.failure??[]:[],R=m||hr(d);if(l.kind==="function"){let k=h.flatMap((M)=>{let W=Mo(M);return W.functionDefinitions.set(l.name,l.body),yd(M,[W],f,d==="&",hr(d))}),z=bd(k,[],b,y,a,d);i=z.states,s=z.conditionalStates,a=void 0;continue}if(l.kind==="group"){let k=[],z=[];for(let W of h){let U=la(l.body,t,n,r,[Mo(W)]);if(U.result)return U;if(k.push(...yd(W,U.states,f,d==="&",hr(d))),R)z.push(W,...f?U.states.map((ge)=>aa(W,ge)):U.states)}let M=bd(k,z,b,y,a,d);i=M.states,s=M.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let w=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),E=e.nodes[c-2],P=ua(a)&&E?.kind==="command"?rS(E)??Vz(E):void 0,_=[],v=[];for(let k of h){let z=qz(l,t,n,r,[Mo(k)]);if(z.result)return{result:z.result,states:i};let M=e.dialect==="powershell"?z.states:z.states.map((W)=>aa(k,W));for(let W of M){let U=Mo(W),ge=Jz(l,t,n.trace?{...n,trace:mx(n.trace,w)}:n,r,U,ua(a),P);if(ge)return{result:ge,states:i};let Be=uN(l,U.functionDefinitions);if(Be)Xe(n.derivedCommandWorkBudget,da(Be));let A=Be?t+1>=ns?vd(l.displayText,n,[U]):la(Be,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(_.push(...yd(k,A.states,f,d==="&",hr(d))),R)v.push(k),v.push(...A.states.map((Z)=>f?aa(k,Z):Z))}}let T=bd(_,v,b,y,a,d);i=T.states,s=T.conditionalStates,a=void 0}return{result:null,states:i}}function jz(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(ua(r)||ua(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Hz(e,t)}function yd(e,t,n,r,o){let i=n?t.map((a)=>aa(e,a)):[...t],s=o?i.flatMap((a)=>Lo(e.literalHeredocFiles,a.literalHeredocFiles)?[a]:[{...a,literalHeredocFiles:new Map(e.literalHeredocFiles)},a]):i;return r?[e,...s]:s}function aa(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function Hz(e,t){let n=[...e.nodes.slice(0,t)].reverse().find((o)=>o.kind==="command"||o.kind==="connector");if(!n||n.kind!=="command")return!0;let r=n.words[0]?.text.toLowerCase();if(r==="&"||r===".")return!1;if(r==="write-output"||r==="function"||r==="start-job")return!0;if(Kz(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function ua(e){return e==="|"||e==="|&"}function Vz(e){if(e?.dialect!=="powershell")return;if(e.words.length===1&&e.words[0]?.quoted&&e.words[0].provenance==="literal")return e.words[0].text;if(e.words[0]?.text.toLowerCase()==="write-output"&&e.words.length===2&&e.words[1]?.provenance==="literal")return e.words[1].text;return}function hr(e){return e==="&&"||e==="||"}function bd(e,t,n,r,o,i){let s={success:ca([...n,...e]),failure:ca([...r,...t])},a=hr(i)?s:void 0;return{states:hr(o)||a?ca([...s.success,...s.failure]):s.success,conditionalStates:a}}function mx(e,t,n=e.flattenNested){return{currentSegmentIndex:t,flattenNested:n,allocateSegment:e.allocateSegment,getNextSegmentIndex:e.getNextSegmentIndex,recordGlobal:e.recordGlobal,recordSegment:(r,o=t)=>e.recordSegment(r,o)}}function qz(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=Yz(e);if(s){if(t+1>=ns)return vd(s,n,o);let a=tt(s,"powershell");if(a.status==="limited")return vd(s,n,o);if(a.status!=="complete")return sx(i,n,r,o);Xe(n.derivedCommandWorkBudget,da(a)),i.push({program:a,depth:t+1})}}return sx(i,n,r,o)}function Kz(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function sx(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=la(i.program,i.depth,t,n,[Mo(a)]);if(c.result)return c;s.push(...c.states)}o=ca(s)}return{result:null,states:o}}function Yz(e){let t=e.words[0]?.provenance==="literal"&&!e.words[0].quoted&&e.words[0].raw===e.words[0].text&&(e.words[0].text==="&"||e.words[0].text==="."),n=t?1:0,r=e.words[n];if(r?.provenance!=="literal"||!t&&(r.quoted||r.raw!==r.text)||!["iex","invoke-expression"].includes(r.text.toLowerCase()))return;let o=e.words.slice(n+1),i=o[0]&&!o[0].quoted&&o[0].raw===o[0].text&&["-c","-command"].includes(o[0].text.toLowerCase())?1:0,s=o[i];return o.length===i+1&&s?.quoted&&s.provenance==="literal"?s.text:void 0}function da(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+da(o),0):n.kind==="group"||n.kind==="function"?da(n.body):0),0)}function vd(e,t,n){return t.trace?.recordSegment({type:"error",message:Nt}),{result:{reason:Nt,segment:e,intent:"stop_and_explain"},states:[...n]}}function Jz(e,t,n,r,o,i,s){let a=oN(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};fx(e,o,"before-consumer",n.environment.paths);let c=Jn(e.dialect,e.words).map(N),l=e.displayText,u=rx(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(Cv(e,i,mN(n,o.effectiveCwd)),n.policy);if(n.trace?.recordSegment({type:"rule-check",rule:"analyzer/powershell/remove-item.ts:analyzePowerShellCommandViewMatch",matched:!!m,reason:m?.reason}),m)return dN(l,m)}if(c.length===1&&c[0]?.includes(" ")&&!go(e.dialect,e.words)){let m=O(Mt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&Wy(e,n.rootProgram,n.scanWork);if(m&&!p)return n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!0,reason:m.reason}),{reason:m.reason,segment:l,ruleId:m.id,intent:m.intent};n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!1});let h=ax(e,a,o,u,s,n);if(h)return h;return gd(c,o.shellGitContextState),null}let d=$o(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(m,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,b=xd(m,t+1,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget,effectiveCwd:h,envAssignments:p?.envAssignments??u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:p?.functionDefinitions,worktreeMode:p?.worktreeMode??n.worktreeMode,trace:n.trace?mx(n.trace,n.trace.currentSegmentIndex,!0):void 0});return b?{reason:b.reason,ruleId:b.ruleId,intent:b.intent}:null}});if(d)return{...d,segment:l};let f=ax(e,a,o,u,s,n);if(f)return f;return gd(c,o.shellGitContextState),null}function ax(e,t,n,r,o,i){let s=iN(e,t,n,r??new Map,i);if(s)return s;return fx(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),eN(e,t,n,i.environment.paths),cN(e,n,o,i.environment,i.trace),null}var Xz=new Set([">>","<>"]);function fx(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?Qz(i):Xz.has(i.operator)))continue;cx(i.target,t,r)}if(n!=="before-consumer"||!We(e.words[0],"tee"))return;let o=px(e.words.slice(1));if(!o)return;for(let i of o.operands)cx(i,t,r)}function Qz(e){if(e.operator===">"||e.operator===">|")return!0;return e.operator===">&"&&e.fd===void 0&&e.target?.provenance==="literal"&&!/^(?:[0-9]+|-)$/.test(e.target.text)}function cx(e,t,n){let r=e?.provenance==="literal"?lo(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function eN(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o||!ma(o))return;for(let i of tN(e)){let s=lo(i.text,n.effectiveCwd,r);if(!s||!jy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Uy)throw new Oe;n.literalHeredocFiles.set(s,o.body)}}function tN(e){let t=rN(e.redirections)?.target,n=lx(t)?[t]:[];if(We(e.words[0],"cat"))return nN(e.words)?n:[];if(!We(e.words[0],"tee"))return[];let r=px(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(lx))return[];return[...r.operands,...n]}function nN(e){let t=!1;for(let n of e.slice(1)){if(t||n.provenance!=="literal")return!1;if(n.text==="--"){t=!0;continue}if(!/^-u+$/.test(n.text))return!1}return!0}function rN(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function px(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&We(i,"--")){n=!1;continue}if(n&&!i.quoted&&i.raw===i.text&&/^-[^-]/.test(i.text)){r||=i.text.slice(1).includes("a"),o||=[...i.text.slice(1)].some((s)=>s!=="a"&&s!=="i");continue}if(n&&!i.quoted&&i.raw===i.text&&i.text.startsWith("--")){r||=i.text==="--append",o||=i.text!=="--append"&&i.text!=="--ignore-interrupts";continue}t.push(i)}return{operands:t,append:r,hasUnsupportedOptions:o}}function lx(e){if(!e||e.provenance!=="literal"||e.text.length===0)return!1;if(e.quoted||e.raw!==e.text)return!0;return!e.raw.startsWith("~")&&!/[{}]/.test(e.raw)}function We(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function ma(e){return e.quotedDelimiter||!/[$`\\]/.test(e.body)}function oN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return Nn;let n=t[0];if(!n?.heredoc)return Nn;if(!ma(n.heredoc))return Zz;if(n.fd!==void 0&&n.fd!==0)return Nn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return Nn;let r=e.redirections.some((s)=>s!==n&&ux(s.target));if(We(e.words[0],"cat"))return r?Nn:void 0;if(We(e.words[0],"tee"))return r||e.words.slice(1).some(ux)?Nn:void 0;let o=e.words[0],i=e.words[1];if(We(o,"git")&&(We(i,"apply")||We(i,"commit")))return;if(We(o,"gh")&&(We(i,"pr")||We(i,"issue"))&&We(e.words[2],"create"))return;return Nn}function ux(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function iN(e,t,n,r,o){if(!t)return null;let i=e.redirections.filter((l)=>l.operator==="<<"||l.operator==="<<-"),s=i.flatMap((l)=>l.heredoc?[l.heredoc.body]:[]);if(aN(e,i,n,r,o))return null;let a=sN(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=Sd(s.length===i.length?s.join(`
61
- `):e.source,o);return c?{...c,segment:e.displayText}:null}function sN(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc||!ma(r.heredoc)||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!ze(o.text))return;if(!e.words.slice(1).every((l)=>l.provenance==="literal"&&l.text.startsWith("-")))return;let s=r.heredoc.body,a=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(n.trace?.recordSegment({type:"interpreter",interpreter:o.text,codeArg:s,paranoidBlocked:a}),a){let l=O(S("interpreter.one-liner-paranoid",nr),n.policy);if(l)return l}if(!rr(s,n.scanWork))return null;let c=O(S("interpreter.dangerous-command",Sn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function aN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc||!ma(i.heredoc)||i.fd!==void 0&&i.fd!==0)return!1;let s=xn(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(N),c=H(a[0]??"");if((s.envSplitValues?.length??0)>0||!de.has(c)&&!de.has(G(c)))return!1;return qe(a)}function cN(e,t,n,r,o){let i=KS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(N).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function Mo(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:nx(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function ca(e){let t=[];for(let n of e){if(!t.some((r)=>lN(r,n)))t.push(n);if(t.length>Bz)throw new Oe}return t}function lN(e,t){return e.effectiveCwd===t.effectiveCwd&&Lo(e.literalHeredocFiles,t.literalHeredocFiles)&&Lo(e.functionDefinitions,t.functionDefinitions)&&Lo(e.shellGitContextState.effectiveEnvAssignments,t.shellGitContextState.effectiveEnvAssignments)&&Lo(e.shellGitContextState.shellAssignments,t.shellGitContextState.shellAssignments)}function Lo(e,t){if(e===t)return!0;if(!e||!t||e.size!==t.size)return!1;return[...e].every(([n,r])=>t.get(n)===r&&t.has(n))}function uN(e,t){let n=As(e);return n===void 0?void 0:t.get(n)}function dN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function mN(e,t=e.effectiveCwd){let n=t===null;return{environment:e.environment,cwd:n?void 0:t??e.cwd,originalCwd:n?void 0:e.cwd,strict:e.strict,paranoid:e.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.protectedGitMetadata,policy:e.policy}}function Sd(e,t){let n=O(Mt(e,t.scanWork),t.policy),r=t.trace?.currentSegmentIndex??t.trace?.allocateSegment(),o={type:"dangerous-text",token:e,matched:!!n,reason:n?.reason};if(t.trace?.recordSegment(o,r),!n&&/^(?:cd|pushd)\s/.test(e))t.trace?.recordSegment({type:"cwd-change",segment:e,effectiveCwdNowUnknown:!0},r);return n?{reason:n.reason,segment:e,ruleId:n.id,intent:n.intent}:null}function dx(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:Yt};if(t.trace?.currentSegmentIndex===void 0)t.trace?.recordGlobal(n);else t.trace.recordSegment(n)}var me={level:{name:"CC_SAFETY_NET_LEVEL"},strict:{name:"CC_SAFETY_NET_STRICT",legacyName:"SAFETY_NET_STRICT"},paranoid:{name:"CC_SAFETY_NET_PARANOID",legacyName:"SAFETY_NET_PARANOID"},paranoidRm:{name:"CC_SAFETY_NET_PARANOID_RM",legacyName:"SAFETY_NET_PARANOID_RM"},paranoidInterpreters:{name:"CC_SAFETY_NET_PARANOID_INTERPRETERS",legacyName:"SAFETY_NET_PARANOID_INTERPRETERS"},worktree:{name:"CC_SAFETY_NET_WORKTREE",legacyName:"SAFETY_NET_WORKTREE"},debug:{name:"CC_SAFETY_NET_DEBUG"},auditScope:{name:"CC_SAFETY_NET_AUDIT_SCOPE"}},fa=["standard","strict","paranoid"];function fN(e){return{failClosed:e==="strict"||e==="paranoid",paranoidRm:e==="paranoid",paranoidInterpreters:e==="paranoid"}}function pN(e,t){if(!t)return e;return fa.indexOf(t)>fa.indexOf(e)?t:e}function gN(){let e=Ed(me.level);if(e===void 0||e==="")return;if(fa.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${fa.join(", ")}.`);return}function hN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function Cd(){return hN(Ed(me.auditScope))==="all"}function wd(e){if(e.failClosed&&e.paranoidRm&&e.paranoidInterpreters)return"paranoid";if(e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"strict";if(!e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"standard";return"custom"}function Rd(e={}){let t=e.safety?.level??"standard",n=gN(),r=pN(t,n),o=fN(r),i={failClosed:r===t?"preset":"environment",paranoidRm:r===t?"preset":"environment",paranoidInterpreters:r===t?"preset":"environment"},s={failClosed:[`policy safety.level=${t}`],paranoidRm:[`policy safety.level=${t}`],paranoidInterpreters:[`policy safety.level=${t}`]};if(r!==t)s.failClosed.push(`env ${me.level.name}=${n}`),s.paranoidRm.push(`env ${me.level.name}=${n}`),s.paranoidInterpreters.push(`env ${me.level.name}=${n}`);if(e.safety?.overrides?.failClosed!==void 0)o.failClosed=e.safety.overrides.failClosed,i.failClosed="capability_override",s.failClosed.push("policy safety.overrides.fail_closed");if(e.safety?.overrides?.paranoidRm!==void 0)o.paranoidRm=e.safety.overrides.paranoidRm,i.paranoidRm="capability_override",s.paranoidRm.push("policy safety.overrides.paranoid_rm");if(e.safety?.overrides?.paranoidInterpreters!==void 0)o.paranoidInterpreters=e.safety.overrides.paranoidInterpreters,i.paranoidInterpreters="capability_override",s.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(on(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(on(me.paranoid))o.paranoidRm=!0,o.paranoidInterpreters=!0,i.paranoidRm="environment",i.paranoidInterpreters="environment",s.paranoidRm.push(`env ${me.paranoid.name}`),s.paranoidInterpreters.push(`env ${me.paranoid.name}`);if(on(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(on(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||on(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:wd(o),capabilities:{fail_closed:{enabled:o.failClosed,source:i.failClosed,sources:s.failClosed},paranoid_rm:{enabled:o.paranoidRm,source:i.paranoidRm,sources:s.paranoidRm},paranoid_interpreters:{enabled:o.paranoidInterpreters,source:i.paranoidInterpreters,sources:s.paranoidInterpreters}}}}function on(e){let t=typeof e==="string"?_d(e):Ed(e);return t==="1"||t?.toLowerCase()==="true"}function _d(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function Ed(e){let t=_d(e.name);if(t!==void 0)return t;if(e.legacyName)return _d(e.legacyName);return}function gx(e){let t=e.effectiveCapabilities,n=e.strict??t.fail_closed.enabled,r=e.paranoidRm??t.paranoid_rm.enabled,o=e.paranoidInterpreters??t.paranoid_interpreters.enabled,i={fail_closed:Pd(t.fail_closed,e.strict,"strict"),paranoid_rm:Pd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:Pd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:My(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:wd({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function Pd(e,t,n){if(t===void 0||t===e.enabled)return e;return{enabled:t,source:"capability_override",sources:[...e.sources,`analysis options.${n}`]}}function hx(e,t,n,r){let o=xd(e,0,{...t,...gx(t),factStore:r},n);if(!o)return null;return{kind:"deny",reason:o.reason,intent:o.intent??"manual_only",...o.ruleId?{ruleId:o.ruleId}:{},evidence:[{kind:"command",command:e,segment:o.segment}]}}import{basename as M$,dirname as xh}from"path";function Wo(e,t,n,r,o){if(n.kind!=="command")return{toolName:e,input:t,route:n,context:r};return{toolName:e,input:t,route:n,context:r,command:o}}import{chmodSync as HU,existsSync as w$,mkdirSync as VU,readFileSync as R$}from"fs";import{dirname as E$,join as P$}from"path";import{createRequire as d$}from"module";var dh={};fn(dh,{$brand:()=>ga,$input:()=>Ha,$output:()=>ja,NEVER:()=>pa,TimePrecision:()=>fc,ZodAny:()=>Rg,ZodArray:()=>Ag,ZodBase64:()=>Yc,ZodBase64URL:()=>Jc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>el,ZodBoolean:()=>qr,ZodCIDRv4:()=>qc,ZodCIDRv6:()=>Kc,ZodCUID:()=>Gc,ZodCUID2:()=>Zc,ZodCatch:()=>Jg,ZodCodec:()=>cl,ZodCustom:()=>Si,ZodCustomStringFormat:()=>Hr,ZodDate:()=>gi,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>Ig,ZodE164:()=>Xc,ZodEmail:()=>Lc,ZodEmoji:()=>Wc,ZodEnum:()=>Ur,ZodError:()=>Yx,ZodExactOptional:()=>Zg,ZodFile:()=>Fg,ZodFirstPartyTypeKind:()=>ll,ZodFunction:()=>sh,ZodGUID:()=>ui,ZodIPv4:()=>Hc,ZodIPv6:()=>Vc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>Og,ZodIssueCode:()=>dC,ZodJWT:()=>Qc,ZodKSUID:()=>jc,ZodLazy:()=>rh,ZodLiteral:()=>Wg,ZodMAC:()=>bg,ZodMap:()=>Mg,ZodNaN:()=>Qg,ZodNanoID:()=>Fc,ZodNever:()=>Pg,ZodNonOptional:()=>sl,ZodNull:()=>Cg,ZodNullable:()=>Ug,ZodNumber:()=>Vr,ZodNumberFormat:()=>Bn,ZodObject:()=>yi,ZodOptional:()=>il,ZodPipe:()=>al,ZodPrefault:()=>Vg,ZodPromise:()=>ih,ZodReadonly:()=>eh,ZodRealError:()=>_e,ZodRecord:()=>vi,ZodSet:()=>Lg,ZodString:()=>jr,ZodStringFormat:()=>K,ZodSuccess:()=>Yg,ZodSymbol:()=>xg,ZodTemplateLiteral:()=>nh,ZodTransform:()=>Gg,ZodTuple:()=>Ng,ZodType:()=>L,ZodULID:()=>Bc,ZodURL:()=>pi,ZodUUID:()=>Pt,ZodUndefined:()=>_g,ZodUnion:()=>bi,ZodUnknown:()=>Eg,ZodVoid:()=>kg,ZodXID:()=>Uc,ZodXor:()=>Tg,_ZodString:()=>Mc,_default:()=>Hg,_function:()=>nC,any:()=>N_,array:()=>hi,base64:()=>y_,base64url:()=>b_,bigint:()=>A_,boolean:()=>Sg,catch:()=>Xg,check:()=>rC,cidrv4:()=>g_,cidrv6:()=>h_,clone:()=>he,codec:()=>Q_,coerce:()=>ul,config:()=>se,core:()=>Et,cuid:()=>a_,cuid2:()=>c_,custom:()=>oC,date:()=>$_,decode:()=>kc,decodeAsync:()=>Tc,default:()=>s$,describe:()=>iC,discriminatedUnion:()=>Z_,e164:()=>v_,email:()=>Jx,emoji:()=>i_,encode:()=>Pc,encodeAsync:()=>Ac,endsWith:()=>Or,enum:()=>rl,exactOptional:()=>Bg,file:()=>K_,flattenError:()=>Sr,float32:()=>R_,float64:()=>E_,formatError:()=>xr,fromJSONSchema:()=>uh,function:()=>nC,getErrorMap:()=>fC,globalRegistry:()=>Ae,gt:()=>wt,gte:()=>xe,guid:()=>Xx,hash:()=>w_,hex:()=>C_,hostname:()=>__,httpUrl:()=>o_,includes:()=>Tr,instanceof:()=>aC,int:()=>$c,int32:()=>P_,int64:()=>T_,intersection:()=>zg,ipv4:()=>m_,ipv6:()=>p_,iso:()=>li,json:()=>lC,jwt:()=>S_,keyof:()=>M_,ksuid:()=>d_,lazy:()=>oh,length:()=>Gn,literal:()=>q_,locales:()=>ei,looseObject:()=>F_,looseRecord:()=>U_,lowercase:()=>kr,lt:()=>Ct,lte:()=>Ze,mac:()=>f_,map:()=>j_,maxLength:()=>Fn,maxSize:()=>dn,meta:()=>sC,mime:()=>zr,minLength:()=>Zt,minSize:()=>Rt,multipleOf:()=>un,nan:()=>X_,nanoid:()=>s_,nativeEnum:()=>V_,negative:()=>gc,never:()=>tl,nonnegative:()=>yc,nonoptional:()=>Kg,nonpositive:()=>hc,normalize:()=>Nr,null:()=>wg,nullable:()=>mi,nullish:()=>Y_,number:()=>vg,object:()=>L_,optional:()=>di,overwrite:()=>ct,parse:()=>Cc,parseAsync:()=>wc,partialRecord:()=>B_,pipe:()=>fi,positive:()=>pc,prefault:()=>qg,preprocess:()=>uC,prettifyError:()=>xa,promise:()=>tC,property:()=>bc,readonly:()=>th,record:()=>$g,refine:()=>ah,regex:()=>Pr,regexes:()=>Ge,registry:()=>ti,safeDecode:()=>Oc,safeDecodeAsync:()=>Nc,safeEncode:()=>Ic,safeEncodeAsync:()=>zc,safeParse:()=>Rc,safeParseAsync:()=>Ec,set:()=>H_,setErrorMap:()=>mC,size:()=>Wn,slugify:()=>Lr,startsWith:()=>Ir,strictObject:()=>W_,string:()=>Dc,stringFormat:()=>x_,stringbool:()=>cC,success:()=>J_,superRefine:()=>ch,symbol:()=>O_,templateLiteral:()=>eC,toJSONSchema:()=>oi,toLowerCase:()=>$r,toUpperCase:()=>Mr,transform:()=>ol,treeifyError:()=>Sa,trim:()=>Dr,tuple:()=>Dg,uint32:()=>k_,uint64:()=>I_,ulid:()=>l_,undefined:()=>z_,union:()=>nl,unknown:()=>Zn,uppercase:()=>Ar,url:()=>r_,util:()=>I,uuid:()=>Qx,uuidv4:()=>e_,uuidv6:()=>t_,uuidv7:()=>n_,void:()=>D_,xid:()=>u_,xor:()=>G_,z:()=>dl});var dl={};fn(dl,{$brand:()=>ga,$input:()=>Ha,$output:()=>ja,NEVER:()=>pa,TimePrecision:()=>fc,ZodAny:()=>Rg,ZodArray:()=>Ag,ZodBase64:()=>Yc,ZodBase64URL:()=>Jc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>el,ZodBoolean:()=>qr,ZodCIDRv4:()=>qc,ZodCIDRv6:()=>Kc,ZodCUID:()=>Gc,ZodCUID2:()=>Zc,ZodCatch:()=>Jg,ZodCodec:()=>cl,ZodCustom:()=>Si,ZodCustomStringFormat:()=>Hr,ZodDate:()=>gi,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>Ig,ZodE164:()=>Xc,ZodEmail:()=>Lc,ZodEmoji:()=>Wc,ZodEnum:()=>Ur,ZodError:()=>Yx,ZodExactOptional:()=>Zg,ZodFile:()=>Fg,ZodFirstPartyTypeKind:()=>ll,ZodFunction:()=>sh,ZodGUID:()=>ui,ZodIPv4:()=>Hc,ZodIPv6:()=>Vc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>Og,ZodIssueCode:()=>dC,ZodJWT:()=>Qc,ZodKSUID:()=>jc,ZodLazy:()=>rh,ZodLiteral:()=>Wg,ZodMAC:()=>bg,ZodMap:()=>Mg,ZodNaN:()=>Qg,ZodNanoID:()=>Fc,ZodNever:()=>Pg,ZodNonOptional:()=>sl,ZodNull:()=>Cg,ZodNullable:()=>Ug,ZodNumber:()=>Vr,ZodNumberFormat:()=>Bn,ZodObject:()=>yi,ZodOptional:()=>il,ZodPipe:()=>al,ZodPrefault:()=>Vg,ZodPromise:()=>ih,ZodReadonly:()=>eh,ZodRealError:()=>_e,ZodRecord:()=>vi,ZodSet:()=>Lg,ZodString:()=>jr,ZodStringFormat:()=>K,ZodSuccess:()=>Yg,ZodSymbol:()=>xg,ZodTemplateLiteral:()=>nh,ZodTransform:()=>Gg,ZodTuple:()=>Ng,ZodType:()=>L,ZodULID:()=>Bc,ZodURL:()=>pi,ZodUUID:()=>Pt,ZodUndefined:()=>_g,ZodUnion:()=>bi,ZodUnknown:()=>Eg,ZodVoid:()=>kg,ZodXID:()=>Uc,ZodXor:()=>Tg,_ZodString:()=>Mc,_default:()=>Hg,_function:()=>nC,any:()=>N_,array:()=>hi,base64:()=>y_,base64url:()=>b_,bigint:()=>A_,boolean:()=>Sg,catch:()=>Xg,check:()=>rC,cidrv4:()=>g_,cidrv6:()=>h_,clone:()=>he,codec:()=>Q_,coerce:()=>ul,config:()=>se,core:()=>Et,cuid:()=>a_,cuid2:()=>c_,custom:()=>oC,date:()=>$_,decode:()=>kc,decodeAsync:()=>Tc,describe:()=>iC,discriminatedUnion:()=>Z_,e164:()=>v_,email:()=>Jx,emoji:()=>i_,encode:()=>Pc,encodeAsync:()=>Ac,endsWith:()=>Or,enum:()=>rl,exactOptional:()=>Bg,file:()=>K_,flattenError:()=>Sr,float32:()=>R_,float64:()=>E_,formatError:()=>xr,fromJSONSchema:()=>uh,function:()=>nC,getErrorMap:()=>fC,globalRegistry:()=>Ae,gt:()=>wt,gte:()=>xe,guid:()=>Xx,hash:()=>w_,hex:()=>C_,hostname:()=>__,httpUrl:()=>o_,includes:()=>Tr,instanceof:()=>aC,int:()=>$c,int32:()=>P_,int64:()=>T_,intersection:()=>zg,ipv4:()=>m_,ipv6:()=>p_,iso:()=>li,json:()=>lC,jwt:()=>S_,keyof:()=>M_,ksuid:()=>d_,lazy:()=>oh,length:()=>Gn,literal:()=>q_,locales:()=>ei,looseObject:()=>F_,looseRecord:()=>U_,lowercase:()=>kr,lt:()=>Ct,lte:()=>Ze,mac:()=>f_,map:()=>j_,maxLength:()=>Fn,maxSize:()=>dn,meta:()=>sC,mime:()=>zr,minLength:()=>Zt,minSize:()=>Rt,multipleOf:()=>un,nan:()=>X_,nanoid:()=>s_,nativeEnum:()=>V_,negative:()=>gc,never:()=>tl,nonnegative:()=>yc,nonoptional:()=>Kg,nonpositive:()=>hc,normalize:()=>Nr,null:()=>wg,nullable:()=>mi,nullish:()=>Y_,number:()=>vg,object:()=>L_,optional:()=>di,overwrite:()=>ct,parse:()=>Cc,parseAsync:()=>wc,partialRecord:()=>B_,pipe:()=>fi,positive:()=>pc,prefault:()=>qg,preprocess:()=>uC,prettifyError:()=>xa,promise:()=>tC,property:()=>bc,readonly:()=>th,record:()=>$g,refine:()=>ah,regex:()=>Pr,regexes:()=>Ge,registry:()=>ti,safeDecode:()=>Oc,safeDecodeAsync:()=>Nc,safeEncode:()=>Ic,safeEncodeAsync:()=>zc,safeParse:()=>Rc,safeParseAsync:()=>Ec,set:()=>H_,setErrorMap:()=>mC,size:()=>Wn,slugify:()=>Lr,startsWith:()=>Ir,strictObject:()=>W_,string:()=>Dc,stringFormat:()=>x_,stringbool:()=>cC,success:()=>J_,superRefine:()=>ch,symbol:()=>O_,templateLiteral:()=>eC,toJSONSchema:()=>oi,toLowerCase:()=>$r,toUpperCase:()=>Mr,transform:()=>ol,treeifyError:()=>Sa,trim:()=>Dr,tuple:()=>Dg,uint32:()=>k_,uint64:()=>I_,ulid:()=>l_,undefined:()=>z_,union:()=>nl,unknown:()=>Zn,uppercase:()=>Ar,url:()=>r_,util:()=>I,uuid:()=>Qx,uuidv4:()=>e_,uuidv6:()=>t_,uuidv7:()=>n_,void:()=>D_,xid:()=>u_,xor:()=>G_});var Et={};fn(Et,{$ZodAny:()=>mf,$ZodArray:()=>yf,$ZodAsyncError:()=>_t,$ZodBase64:()=>tf,$ZodBase64URL:()=>nf,$ZodBigInt:()=>Za,$ZodBigIntFormat:()=>cf,$ZodBoolean:()=>Jo,$ZodCIDRv4:()=>Xm,$ZodCIDRv6:()=>Qm,$ZodCUID:()=>Fm,$ZodCUID2:()=>Gm,$ZodCatch:()=>Df,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>hm,$ZodCheckEndsWith:()=>km,$ZodCheckGreaterThan:()=>Na,$ZodCheckIncludes:()=>Em,$ZodCheckLengthEquals:()=>_m,$ZodCheckLessThan:()=>za,$ZodCheckLowerCase:()=>wm,$ZodCheckMaxLength:()=>Sm,$ZodCheckMaxSize:()=>ym,$ZodCheckMimeType:()=>Tm,$ZodCheckMinLength:()=>xm,$ZodCheckMinSize:()=>bm,$ZodCheckMultipleOf:()=>pm,$ZodCheckNumberFormat:()=>gm,$ZodCheckOverwrite:()=>Im,$ZodCheckProperty:()=>Am,$ZodCheckRegex:()=>Cm,$ZodCheckSizeEquals:()=>vm,$ZodCheckStartsWith:()=>Pm,$ZodCheckStringFormat:()=>Er,$ZodCheckUpperCase:()=>Rm,$ZodCodec:()=>Qo,$ZodCustom:()=>Bf,$ZodCustomStringFormat:()=>sf,$ZodDate:()=>hf,$ZodDefault:()=>If,$ZodDiscriminatedUnion:()=>Sf,$ZodE164:()=>rf,$ZodEmail:()=>$m,$ZodEmoji:()=>Lm,$ZodEncodeError:()=>Dn,$ZodEnum:()=>Rf,$ZodError:()=>Vo,$ZodExactOptional:()=>Af,$ZodFile:()=>Pf,$ZodFunction:()=>Ff,$ZodGUID:()=>Nm,$ZodIPv4:()=>Km,$ZodIPv6:()=>Ym,$ZodISODate:()=>Hm,$ZodISODateTime:()=>jm,$ZodISODuration:()=>qm,$ZodISOTime:()=>Vm,$ZodIntersection:()=>xf,$ZodJWT:()=>of,$ZodKSUID:()=>Um,$ZodLazy:()=>Zf,$ZodLiteral:()=>Ef,$ZodMAC:()=>Jm,$ZodMap:()=>Cf,$ZodNaN:()=>$f,$ZodNanoID:()=>Wm,$ZodNever:()=>pf,$ZodNonOptional:()=>zf,$ZodNull:()=>df,$ZodNullable:()=>Tf,$ZodNumber:()=>Ga,$ZodNumberFormat:()=>af,$ZodObject:()=>Ux,$ZodObjectJIT:()=>bf,$ZodOptional:()=>Ua,$ZodPipe:()=>Mf,$ZodPrefault:()=>Of,$ZodPromise:()=>Gf,$ZodReadonly:()=>Lf,$ZodRealError:()=>ke,$ZodRecord:()=>_f,$ZodRegistry:()=>Uf,$ZodSet:()=>wf,$ZodString:()=>Ln,$ZodStringFormat:()=>q,$ZodSuccess:()=>Nf,$ZodSymbol:()=>lf,$ZodTemplateLiteral:()=>Wf,$ZodTransform:()=>kf,$ZodTuple:()=>Ba,$ZodType:()=>D,$ZodULID:()=>Zm,$ZodURL:()=>Mm,$ZodUUID:()=>Dm,$ZodUndefined:()=>uf,$ZodUnion:()=>Xo,$ZodUnknown:()=>ff,$ZodVoid:()=>gf,$ZodXID:()=>Bm,$ZodXor:()=>vf,$brand:()=>ga,$constructor:()=>g,$input:()=>Ha,$output:()=>ja,Doc:()=>Da,JSONSchema:()=>Vx,JSONSchemaGenerator:()=>fg,NEVER:()=>pa,TimePrecision:()=>fc,_any:()=>pp,_array:()=>xp,_base64:()=>lc,_base64url:()=>uc,_bigint:()=>ap,_boolean:()=>ip,_catch:()=>UD,_check:()=>Hx,_cidrv4:()=>ac,_cidrv6:()=>cc,_coercedBigint:()=>cp,_coercedBoolean:()=>sp,_coercedDate:()=>vp,_coercedNumber:()=>Qf,_coercedString:()=>Hf,_cuid:()=>ec,_cuid2:()=>tc,_custom:()=>Cp,_date:()=>bp,_decode:()=>Ra,_decodeAsync:()=>Pa,_default:()=>GD,_discriminatedUnion:()=>AD,_e164:()=>dc,_email:()=>Va,_emoji:()=>Xa,_encode:()=>wa,_encodeAsync:()=>Ea,_endsWith:()=>Or,_enum:()=>DD,_file:()=>_p,_float32:()=>tp,_float64:()=>np,_gt:()=>wt,_gte:()=>xe,_guid:()=>ni,_includes:()=>Tr,_int:()=>ep,_int32:()=>rp,_int64:()=>lp,_intersection:()=>TD,_ipv4:()=>ic,_ipv6:()=>sc,_isoDate:()=>Kf,_isoDateTime:()=>qf,_isoDuration:()=>Jf,_isoTime:()=>Yf,_jwt:()=>mc,_ksuid:()=>oc,_lazy:()=>qD,_length:()=>Gn,_literal:()=>MD,_lowercase:()=>kr,_lt:()=>Ct,_lte:()=>Ze,_mac:()=>Vf,_map:()=>zD,_max:()=>Ze,_maxLength:()=>Fn,_maxSize:()=>dn,_mime:()=>zr,_min:()=>xe,_minLength:()=>Zt,_minSize:()=>Rt,_multipleOf:()=>un,_nan:()=>Sp,_nanoid:()=>Qa,_nativeEnum:()=>$D,_negative:()=>gc,_never:()=>hp,_nonnegative:()=>yc,_nonoptional:()=>ZD,_nonpositive:()=>hc,_normalize:()=>Nr,_null:()=>fp,_nullable:()=>FD,_number:()=>Xf,_optional:()=>WD,_overwrite:()=>ct,_parse:()=>_r,_parseAsync:()=>Cr,_pipe:()=>jD,_positive:()=>pc,_promise:()=>KD,_property:()=>bc,_readonly:()=>HD,_record:()=>OD,_refine:()=>wp,_regex:()=>Pr,_safeDecode:()=>Aa,_safeDecodeAsync:()=>Ia,_safeEncode:()=>ka,_safeEncodeAsync:()=>Ta,_safeParse:()=>wr,_safeParseAsync:()=>Rr,_set:()=>ND,_size:()=>Wn,_slugify:()=>Lr,_startsWith:()=>Ir,_string:()=>jf,_stringFormat:()=>Wr,_stringbool:()=>kp,_success:()=>BD,_superRefine:()=>Rp,_symbol:()=>dp,_templateLiteral:()=>VD,_toLowerCase:()=>$r,_toUpperCase:()=>Mr,_transform:()=>LD,_trim:()=>Dr,_tuple:()=>ID,_uint32:()=>op,_uint64:()=>up,_ulid:()=>nc,_undefined:()=>mp,_union:()=>PD,_unknown:()=>gp,_uppercase:()=>Ar,_url:()=>ri,_uuid:()=>qa,_uuidv4:()=>Ka,_uuidv6:()=>Ya,_uuidv7:()=>Ja,_void:()=>yp,_xid:()=>rc,_xor:()=>kD,clone:()=>he,config:()=>se,createStandardJSONSchemaMethod:()=>vc,createToJSONSchemaMethod:()=>Ap,decode:()=>jN,decodeAsync:()=>VN,describe:()=>Ep,encode:()=>UN,encodeAsync:()=>HN,extractDefs:()=>Zr,finalize:()=>Br,flattenError:()=>Sr,formatError:()=>xr,globalConfig:()=>Fo,globalRegistry:()=>Ae,initializeContext:()=>Gr,isValidBase64:()=>ef,isValidBase64URL:()=>Fx,isValidJWT:()=>Gx,locales:()=>ei,meta:()=>Pp,parse:()=>_a,parseAsync:()=>Ca,prettifyError:()=>xa,process:()=>X,regexes:()=>Ge,registry:()=>ti,safeDecode:()=>KN,safeDecodeAsync:()=>JN,safeEncode:()=>qN,safeEncodeAsync:()=>YN,safeParse:()=>Ld,safeParseAsync:()=>Wd,toDotPath:()=>_x,toJSONSchema:()=>oi,treeifyError:()=>Sa,util:()=>I,version:()=>Om});var pa=Object.freeze({status:"aborted"});function g(e,t,n){function r(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let f=u[d];if(!(f in a))a[f]=l[f].bind(a)}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=n?.Parent?new i:this;r(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(n?.Parent&&a instanceof n.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}var ga=Symbol("zod_brand");class _t extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Dn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Fo={};function se(e){if(e)Object.assign(Fo,e);return Fo}var I={};fn(I,{BIGINT_FORMAT_RANGES:()=>$d,Class:()=>Sx,NUMBER_FORMAT_RANGES:()=>Dd,aborted:()=>ln,allowsEval:()=>Id,assert:()=>_N,assertEqual:()=>bN,assertIs:()=>SN,assertNever:()=>xN,assertNotEqual:()=>vN,assignProp:()=>an,base64ToUint8Array:()=>bx,base64urlToUint8Array:()=>WN,cached:()=>br,captureStackTrace:()=>ba,cleanEnum:()=>LN,cleanRegex:()=>Bo,clone:()=>he,cloneDef:()=>wN,createTransparentProxy:()=>TN,defineLazy:()=>F,esc:()=>ya,escapeRegex:()=>Ye,extend:()=>zN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>Ad,getElementAtPath:()=>RN,getEnumValues:()=>Zo,getLengthableOrigin:()=>Ho,getParsedType:()=>AN,getSizableOrigin:()=>jo,hexToUint8Array:()=>GN,isObject:()=>$n,isPlainObject:()=>cn,issue:()=>vr,joinValues:()=>ha,jsonStringifyReplacer:()=>yr,merge:()=>DN,mergeDefs:()=>Gt,normalizeParams:()=>x,nullish:()=>sn,numKeys:()=>kN,objectClone:()=>CN,omit:()=>ON,optionalKeys:()=>Nd,parsedType:()=>Md,partial:()=>$N,pick:()=>IN,prefixIssues:()=>Fe,primitiveTypes:()=>zd,promiseAllObject:()=>EN,propertyKeyTypes:()=>Uo,randomString:()=>PN,required:()=>MN,safeExtend:()=>NN,shallowClone:()=>Od,slugify:()=>Td,stringifyPrimitive:()=>va,uint8ArrayToBase64:()=>vx,uint8ArrayToBase64url:()=>FN,uint8ArrayToHex:()=>ZN,unwrapMessage:()=>Go});function bN(e){return e}function vN(e){return e}function SN(e){}function xN(e){throw Error("Unexpected value in exhaustive check")}function _N(e){}function Zo(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function ha(e,t="|"){return e.map((n)=>va(n)).join(t)}function yr(e,t){if(typeof t==="bigint")return t.toString();return t}function br(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function sn(e){return e===null||e===void 0}function Bo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Ad(e,t){let n=(e.toString().split(".")[1]||"").length,r=t.toString(),o=(r.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(r)){let c=r.match(/\d?e-(\d?)/);if(c?.[1])o=Number.parseInt(c[1])}let i=n>o?n:o,s=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return s%a/10**i}var yx=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===yx)return;if(r===void 0)r=yx,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function CN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function an(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Gt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function wN(e){return Gt(e._zod.def)}function RN(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function EN(e){let t=Object.keys(e),n=t.map((r)=>e[r]);return Promise.all(n).then((r)=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=r[i];return o})}function PN(e=10){let n="";for(let r=0;r<e;r++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function ya(e){return JSON.stringify(e)}function Td(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ba="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function $n(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Id=br(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function cn(e){if($n(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if($n(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Od(e){if(cn(e))return{...e};if(Array.isArray(e))return[...e];return e}function kN(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var AN=(e)=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(e===null)return"null";if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function")return"promise";if(typeof Map<"u"&&e instanceof Map)return"map";if(typeof Set<"u"&&e instanceof Set)return"set";if(typeof Date<"u"&&e instanceof Date)return"date";if(typeof File<"u"&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},Uo=new Set(["string","number","symbol"]),zd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function he(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function x(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function TN(e){let t;return new Proxy({},{get(n,r,o){return t??(t=e()),Reflect.get(t,r,o)},set(n,r,o,i){return t??(t=e()),Reflect.set(t,r,o,i)},has(n,r){return t??(t=e()),Reflect.has(t,r)},deleteProperty(n,r){return t??(t=e()),Reflect.deleteProperty(t,r)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,r){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,r)},defineProperty(n,r,o){return t??(t=e()),Reflect.defineProperty(t,r,o)}})}function va(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Nd(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Dd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},$d={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function IN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=Gt(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=n.shape[a]}return an(this,"shape",s),s},checks:[]});return he(e,i)}function ON(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=Gt(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return an(this,"shape",s),s},checks:[]});return he(e,i)}function zN(e,t){if(!cn(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Gt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return an(this,"shape",i),i}});return he(e,o)}function NN(e,t){if(!cn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Gt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return an(this,"shape",r),r}});return he(e,n)}function DN(e,t){let n=Gt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return an(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,n)}function $N(e,t,n){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Gt(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!n[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return an(this,"shape",c),c},checks:[]});return he(t,s)}function MN(e,t,n){let r=Gt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(n)for(let s in n){if(!(s in i))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;i[s]=new e({type:"nonoptional",innerType:o[s]})}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return an(this,"shape",i),i}});return he(t,r)}function ln(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Fe(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Go(e){return typeof e==="string"?e:e?.message}function Pe(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Go(e.inst?._zod.def?.error?.(e))??Go(t?.error?.(e))??Go(n.customError?.(e))??Go(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function jo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Ho(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Md(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function vr(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}function LN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function bx(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}function vx(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function WN(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return bx(t+n)}function FN(e){return vx(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function GN(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r/2]=Number.parseInt(t.slice(r,r+2),16);return n}function ZN(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class Sx{constructor(...e){}}var xx=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,yr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Vo=g("$ZodError",xx),ke=g("$ZodError",xx,{Parent:Error});function Sr(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function xr(e,t=(n)=>n.message){let n={_errors:[]},r=(o)=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((s)=>r({issues:s}));else if(i.code==="invalid_key")r({issues:i.issues});else if(i.code==="invalid_element")r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let s=n,a=0;while(a<i.path.length){let c=i.path[a];if(a!==i.path.length-1)s[c]=s[c]||{_errors:[]};else s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(i));s=s[c],a++}}};return r(e),n}function Sa(e,t=(n)=>n.message){let n={errors:[]},r=(o,i=[])=>{var s,a;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map((l)=>r({issues:l},c.path));else if(c.code==="invalid_key")r({issues:c.issues},c.path);else if(c.code==="invalid_element")r({issues:c.issues},c.path);else{let l=[...i,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;while(d<l.length){let f=l[d],m=d===l.length-1;if(typeof f==="string")u.properties??(u.properties={}),(s=u.properties)[f]??(s[f]={errors:[]}),u=u.properties[f];else u.items??(u.items=[]),(a=u.items)[f]??(a[f]={errors:[]}),u=u.items[f];if(m)u.errors.push(t(c));d++}}};return r(e),n}function _x(e){let t=[],n=e.map((r)=>typeof r==="object"?r.key:r);for(let r of n)if(typeof r==="number")t.push(`[${r}]`);else if(typeof r==="symbol")t.push(`[${JSON.stringify(String(r))}]`);else if(/[^\w$]/.test(r))t.push(`[${JSON.stringify(r)}]`);else{if(t.length)t.push(".");t.push(r)}return t.join("")}function xa(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`\u2716 ${r.message}`),r.path?.length)t.push(` \u2192 at ${_x(r.path)}`);return t.join(`
62
- `)}var _r=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new _t;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw ba(a,o?.callee),a}return s.value},_a=_r(ke),Cr=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw ba(a,o?.callee),a}return s.value},Ca=Cr(ke),wr=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new _t;return i.issues.length?{success:!1,error:new(e??Vo)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Ld=wr(ke),Rr=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Wd=Rr(ke),wa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _r(e)(t,n,o)},UN=wa(ke),Ra=(e)=>(t,n,r)=>_r(e)(t,n,r),jN=Ra(ke),Ea=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},HN=Ea(ke),Pa=(e)=>async(t,n,r)=>Cr(e)(t,n,r),VN=Pa(ke),ka=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},qN=ka(ke),Aa=(e)=>(t,n,r)=>wr(e)(t,n,r),KN=Aa(ke),Ta=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Rr(e)(t,n,o)},YN=Ta(ke),Ia=(e)=>async(t,n,r)=>Rr(e)(t,n,r),JN=Ia(ke);var Ge={};fn(Ge,{base64:()=>tm,base64url:()=>Oa,bigint:()=>am,boolean:()=>lm,browserEmail:()=>iD,cidrv4:()=>Qd,cidrv6:()=>em,cuid:()=>Fd,cuid2:()=>Gd,date:()=>rm,datetime:()=>im,domain:()=>cD,duration:()=>Hd,e164:()=>nm,email:()=>qd,emoji:()=>Kd,extendedDuration:()=>XN,guid:()=>Vd,hex:()=>lD,hostname:()=>aD,html5Email:()=>nD,idnEmail:()=>oD,integer:()=>cm,ipv4:()=>Yd,ipv6:()=>Jd,ksuid:()=>Ud,lowercase:()=>mm,mac:()=>Xd,md5_base64:()=>dD,md5_base64url:()=>mD,md5_hex:()=>uD,nanoid:()=>jd,null:()=>um,number:()=>qo,rfc5322Email:()=>rD,sha1_base64:()=>pD,sha1_base64url:()=>gD,sha1_hex:()=>fD,sha256_base64:()=>yD,sha256_base64url:()=>bD,sha256_hex:()=>hD,sha384_base64:()=>SD,sha384_base64url:()=>xD,sha384_hex:()=>vD,sha512_base64:()=>CD,sha512_base64url:()=>wD,sha512_hex:()=>_D,string:()=>sm,time:()=>om,ulid:()=>Zd,undefined:()=>dm,unicodeEmail:()=>Cx,uppercase:()=>fm,uuid:()=>Mn,uuid4:()=>QN,uuid6:()=>eD,uuid7:()=>tD,xid:()=>Bd});var Fd=/^[cC][^\s-]{8,}$/,Gd=/^[0-9a-z]+$/,Zd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Bd=/^[0-9a-vA-V]{20}$/,Ud=/^[A-Za-z0-9]{27}$/,jd=/^[a-zA-Z0-9_-]{21}$/,Hd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,XN=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Vd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Mn=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},QN=Mn(4),eD=Mn(6),tD=Mn(7),qd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,nD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,rD=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Cx=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,oD=Cx,iD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,sD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Kd(){return new RegExp(sD,"u")}var Yd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Jd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Xd=(e)=>{let t=Ye(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Qd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,em=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,tm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Oa=/^[A-Za-z0-9_-]*$/,aD=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,cD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,nm=/^\+[1-9]\d{6,14}$/,wx="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",rm=new RegExp(`^${wx}$`);function Rx(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function om(e){return new RegExp(`^${Rx(e)}$`)}function im(e){let t=Rx({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${wx}T(?:${r})$`)}var sm=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},am=/^-?\d+n?$/,cm=/^-?\d+$/,qo=/^-?\d+(?:\.\d+)?$/,lm=/^(?:true|false)$/i,um=/^null$/i;var dm=/^undefined$/i;var mm=/^[^A-Z]*$/,fm=/^[^a-z]*$/,lD=/^[0-9a-fA-F]*$/;function Ko(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Yo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var uD=/^[0-9a-fA-F]{32}$/,dD=Ko(22,"=="),mD=Yo(22),fD=/^[0-9a-fA-F]{40}$/,pD=Ko(27,"="),gD=Yo(27),hD=/^[0-9a-fA-F]{64}$/,yD=Ko(43,"="),bD=Yo(43),vD=/^[0-9a-fA-F]{96}$/,SD=Ko(64,""),xD=Yo(64),_D=/^[0-9a-fA-F]{128}$/,CD=Ko(86,"=="),wD=Yo(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Px={number:"number",bigint:"bigint",object:"date"},za=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=Px[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Na=g("$ZodCheckGreaterThan",(e,t)=>{J.init(e,t);let n=Px[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pm=g("$ZodCheckMultipleOf",(e,t)=>{J.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):Ad(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckNumberFormat",(e,t)=>{J.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Dd[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=o,a.maximum=i,n)a.pattern=cm}),e._zod.check=(s)=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}if(a<o)s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>i)s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),hm=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=$d[t.format];e._zod.onattach.push((o)=>{let i=o._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=(o)=>{let i=o.value;if(i<n)o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(i>r)o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.size<=t.maximum)return;r.issues.push({origin:jo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.size>=t.minimum)return;r.issues.push({origin:jo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),vm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.size,o.maximum=t.size,o.size=t.size}),e._zod.check=(r)=>{let o=r.value,i=o.size;if(i===t.size)return;let s=i>t.size;r.issues.push({origin:jo(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Sm=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.length<=t.maximum)return;let s=Ho(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),xm=g("$ZodCheckMinLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let s=Ho(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),_m=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,i=o.length;if(i===t.length)return;let s=Ho(o),a=i>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Er=g("$ZodCheckStringFormat",(e,t)=>{var n,r;if(J.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),Cm=g("$ZodCheckRegex",(e,t)=>{Er.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),wm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=mm),Er.init(e,t)}),Rm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=fm),Er.init(e,t)}),Em=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=Ye(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Pm=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${Ye(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),km=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${Ye(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});function Ex(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues))}var Am=g("$ZodCheckProperty",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{let r=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(r instanceof Promise)return r.then((o)=>Ex(o,n,t.property));Ex(r,n,t.property);return}}),Tm=g("$ZodCheckMimeType",(e,t)=>{J.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Im=g("$ZodCheckOverwrite",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class Da{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
60
+ `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Qs(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function To(e){return e?N(e):""}function vO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Qu(e,t){return Ju(tt(e,"posix"),t)}function fr(e){return Qu(e,new Set(Array.from(e.matchAll(rS)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Ju(e,t){if(e.status==="invalid"||e.status==="limited")return!1;let n=new Set(t);for(let r of e.nodes){if(r.kind==="group"){if(Ju(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Ju(o,n))||aS(r.words,n))return!0;wO(r,n)}return!1}function aS(e,t){let n=e.findIndex((s)=>He(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(Io(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return nS(e[s],t)}if(de.has(o)){let s=e.slice(n),a=bt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&nS(s[c],t)}let i=SO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return aS(e.slice(i),t)}function SO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return xO(e,t+1);if(r==="exec")return _O(e,t+1);if(r==="env")return CO(e,t+1,n);return null}function xO(e,t){for(let n=t;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return e[n+1]?n+1:null;if(/^-[p]*[vV][pvV]*$/.test(r))return null;if(/^-p+$/.test(r))continue;return n}return null}function _O(e,t){for(let n=t;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return e[n+1]?n+1:null;if(r==="-a"){n++;continue}if(/^-a.+/.test(r)||/^-[cl]+$/.test(r))continue;return n}return null}function CO(e,t,n){for(let r=t;r<e.length;r++){let o=e[r],i=o?.text??"";if(i==="--")return e[r+1]?r+1:null;if(i==="-S"||i==="--split-string")return Io(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return Io(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(He(i))continue;return r}return null}function wO(e,t){if(!e.words.every((n)=>He(n.text)!==null))return;for(let n of e.words){let r=He(n.text);if(!r)continue;if(Io(n,t))t.add(r.name)}}function Io(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(rS)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(uO.test(o)||t.has(o))}))}function nS(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||Io(e,t))}var RO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),EO=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),PO=new Set;function cS(e){if(e==="git")return RO;if(e==="docker")return EO;return PO}function pe(e,t){if(e.length===0||t.length===0)return null;let n=H(e[0]??""),r=we(e);for(let o of t){if(!kO(n,o.command))continue;if(!AO(n,e,o.subcommand))continue;if(IO(e,new Set(o.block_args),r))return{id:`custom.${o.name}`,reason:`[${o.name}] ${o.reason}`,intent:o.intent??"manual_only"}}return null}function kO(e,t){return e===H(t)}function AO(e,t,n){if(!n)return!0;return lS(t,1,n,cS(e))}function lS(e,t,n,r){let o=!1;for(let i=t;i<e.length;i++){let s=e[i];if(!s)continue;if(o){o=!1;continue}if(s==="--"){let a=e[i+1];if(a&&!a.startsWith("-"))return a===n;return!1}if(r.has(s)){o=!0;continue}if(s.startsWith("-")){if(!s.includes("=")&&TO(e,i,n,r))return!0;continue}return s===n}return!1}function TO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return lS(e,t+2,n,r)}function IO(e,t,n){for(let r of e)if(t.has(r))return!0;for(let r of n)if(t.has(r))return!0;return!1}function nn(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=H(r);if(o==="eval"){let i=mr(j(e));if(i.kind==="dynamic")return pr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return St(n,t)}if(de.has(o)){if(qe(e))return null;let i=yt(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=pr(n,t);if(c)return c}if(fr(i)){let c=pr(n,t);if(c)return c}if(!t.analyzeNested)return null;let a=t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(a)return a;return null}let s=vt(j(e));if(s.kind==="dynamic")return pr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return pr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return pr(n,t);return null}if(Me.has(o))return O(Hs(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??St(n,t);if(ze(o)){let i=is(e);if(!i)return St(n,t);if(ue(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=O(S("interpreter.one-liner-paranoid",tr),t.policy);if(a)return a}if(cs(o,i))return St(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==Yt||ar(i)))return s;if(nr(i,t.scanWork))return O(S("interpreter.dangerous-command",Sn),t.policy)??St(n,t);return St(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(st(e)||n.dynamicRmInput);return O(dr(j(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(t.envAssignments,t.environment),trustedTmpdirValue:Lt(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?St(n,t):null)??(i?OO(n,t):null)}if(o==="find")return Ks(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>nn(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??St(n,t);if(o==="git")return O(ur(j(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??pe(e,t.policy?.rules??[])??St(n,t);return pe(e,t.policy?.rules??[])??St(n,t)}function pr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function St(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function OO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var ed="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",td="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",zO="__CC_SAFETY_NET_XARGS_INPUT__",ea="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",ta="rm",NO=/(?:^|[;&|]\s*|\b(?:eval|source)\s+|\b(?:ba|da|z|k)?sh\s+-c\s+)\s*["']?\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,DO=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,$O=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,MO=/^(?:[0-9]+|[@*])$/;function mS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=An(n),i=n.slice(r),s=S("xargs.shell-dynamic",td);if(WO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of it(i,t)){let c=a.tokens,l=o!==null&&c[0]!==i[0]&&(c[0]?.includes(o)??!1)?O(s,t.policy):null;if(l)return l;let u=hS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&pS(c,o),f=nn(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||fS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",ed)});if(f)return f;let m=LO(c,o,t.policy?.rules??[]);if(m)return m;if(a.head==="git"){let h=o===null?[...c,zO]:c,b=o!==null&&(c.some((R)=>R.includes(o))||Array.from(a.envAssignments.values()).some((R)=>R.includes(o))),y=nn(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||b?!1:t.worktreeMode});if(y)return y}let p=pe(c,t.policy?.rules??[]);if(p)return p}return null}function LO(e,t,n){if(n.length===0)return null;if(t===null){for(let o of n){let i=pe([...e,...o.subcommand?[o.subcommand]:[],...o.block_args],n);if(i)return i}return null}let r=new Set(n.flatMap((o)=>[o.subcommand,...o.block_args].flatMap((i)=>i?e.flatMap((s)=>nd(s,t,i)):[])));for(let o of r){let i=pe(e.map((s)=>s.replaceAll(t,o)),n);if(i)return i}return null}function nd(e,t,n){let r=e.indexOf(t);if(r===-1||e.indexOf(t,r+t.length)!==-1)return[];let o=e.slice(0,r),i=e.slice(r+t.length);return n.startsWith(o)&&n.endsWith(i)?[n.slice(o.length,n.length-i.length)]:[]}function fS(e,t,n,r,o,i,s){if(de.has(t)){if(qe(e))return!1;if(n!==null&&FO(e,n))return!0;let a=yt(e);if(!a){let c=vt(j(e));if(c.kind==="literal")return n!==null&&c.source.includes(n);return c.kind==="none"&&o}if(n!==null&&a.includes(n))return!0;if(Mt(a,i))return!0;return GO(a,n,r)}if(ze(t))return uS(e,n,as,Yy(t));if(Me.has(t))return uS(e,n,Du,Ev);if(t==="eval"){let a=mr(j(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return ZO(e,n,i,s);if(t==="git"){let a=at(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&lr.has(a.subcommand.toLowerCase())&&gS(a.rest,n).some((c)=>c.includes(n))}return!1}function uS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,ea]).sources.some((c)=>c.value===ea);if(o.sources.some((c)=>c.value.includes(t)))return!0;let i=new Set(o.sources.map((c)=>`${c.tokenIndex}\x00${c.kind}\x00${c.value}`)),s=r.flatMap((c)=>[c.selector,...c.valueForm==="attached-only"||c.valueForm==="attached-or-separate"?[`${c.selector}${ea}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${ea}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>nd(l,t,c))));return Array.from(a).some((c)=>n(e.map((l)=>l.replaceAll(t,c))).sources.some((l)=>!i.has(`${l.tokenIndex}\x00${l.kind}\x00${l.value}`)))}function WO(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(it(e,n),(i)=>i.head)),o=t===null?[...e,ta]:e.map((i,s)=>s===0?i:i.replaceAll(t,ta));return Array.from(it(o,n)).some((i)=>i.head===ta&&!r.has(ta))}function pS(e,t){return gS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function gS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function hS(e,t,n){if(t===null)return!0;return e.some((r)=>r.includes(t))||Array.from(n.values()).some((r)=>r.includes(t))}function FO(e,t){let n=bt(e);if(n.commandIndex!==null&&(e[n.commandIndex]??"").includes(t)||n.scriptIndex!==null&&(e[n.scriptIndex]??"").includes(t))return!0;return["-c","-nc","-cn",`--${t}`,t].some((o)=>e.some((i,s)=>{if(s===0||!i.includes(t))return!1;return nd(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=bt(l);if(u.commandIndex===null&&u.scriptIndex===null)return!1;if(n.commandIndex===null&&u.commandIndex!==null)return!0;if(n.scriptIndex===null&&u.scriptIndex!==null)return!0;if(u.commandIndex!==null&&(l[u.commandIndex]??"").includes(c))return!0;return u.scriptIndex!==null&&(l[u.scriptIndex]??"").includes(c)})}))}function GO(e,t,n){let r=new Set(t===null?[]:Array.from(n).filter(([,o])=>o.includes(t)).map(([o])=>o));for(let o of e.matchAll(NO))if(dS(o,r))return!0;for(let o of e.matchAll(DO))for(let i of(o[1]??"").matchAll($O))if(dS(i,r))return!0;return Qu(e,r)}function dS(e,t){let n=e[1]??e[2];return n!==void 0&&(MO.test(n)||t.has(n))}function ZO(e,t,n,r){if(t===null)return!0;let o=!1,i=0;for(let s=1;s<e.length;s++){let a=e[s]??"";if(!o&&!a.startsWith("-")&&a!=="!"&&a!=="("){if(a.indexOf(t)===0)return!0;continue}if(o=!0,i>0){i--;continue}if(Ft(a)){let l=Po(e,s);s=l.nextIndex-1;for(let u of it(l.tokens,{environment:r,cwd:void 0})){let d=hS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&pS(u.tokens,t)||fS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Qt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function An(e){let t=new Set(["-L","-n","-P","-s","-a","-E","-R","-S","-e","-d","-J","--max-args","--max-procs","--max-chars","--arg-file","--eof","--delimiter","--max-lines","--process-slot-var"]),n=null,r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--")return{childStart:r+1,replacementToken:n};if(o.startsWith("-")){if(o==="-I"){n=e[r+1]??"{}",r+=2;continue}if(o.startsWith("-I")&&o.length>2){n=o.slice(2),r++;continue}if(o==="--replace"){n="{}",r++;continue}if(o.startsWith("--replace=")){let i=o.slice(10);n=i===""?"{}":i,r++;continue}if(o==="-J"){n=e[r+1]??"{}",r+=2;continue}if(t.has(o))r+=2;else r++}else return{childStart:r,replacementToken:n}}return{childStart:e.length,replacementToken:n}}var zo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",No="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",UO="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",jO="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",HO=/\{[^{}\s]*\}/,wS=/\{\}|\{-?\d+\}/g,VO=["e","f","source","file","-e","-f","--source","--file"],qO=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],KO=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),YO=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),yS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),JO=new Set(["--workdir","--wd"]),bS="__CC_SAFETY_NET_PARALLEL_SOURCE__",XO=new TextEncoder,od=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Ee(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function RS(e,t){return Ee([...e],(n)=>Mt(n,t.scanWork))}function ES(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=In(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=DS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=In(t);if(p)return p;let h=RS(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=sz(t);if(p)return p}if(u!==void 0&&a){let p=In(t);if(p)return p}let f=uz(u,t.cwd,t.environment.paths);if(f===null){let p=In(t);if(p)return p}let m=a?{...t,cwd:void 0,originalCwd:void 0}:f===null||f===void 0||f===t.cwd?t:{...t,cwd:f};if(d){if([...it(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(cd)){let h=In(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=In(t);if(b)return b}let p=s.map((b)=>b[0]??"");Ne(t.budget,id(p));let h=IS(m.envAssignments,m.cwd,a);return Ee(p,(b)=>t.analyzeNested(b,h))}return Ee(it(i,m),(p)=>QO(p,o,t,m))}function QO(e,t,n,r){let{jobs:o,templateHasPlaceholder:i,runsRemotely:s,usesStdin:a}=t,c=e.tokens,l={...r,cwd:e.cwd,envAssignments:e.envAssignments},u=[...e.envAssignments.values()];if(u.some(zS)){let y=In(n);if(y)return y}let d=RS(u,n);if(d)return d;let f=u.some(ee),m=i||f,p=a&&m,h=IS(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return Ne(n.budget,na(c,o,"generic")),Ee(o,(E)=>nn(c.map((P)=>rn(P,E)),l))};if(qe(c))return y();let R=yt(c);if(R){if(NS(R)){let v=Tn(n);if(v)return v;if(o.length===0)return null;return Ne(n.budget,CS(R,o)),Ee(o,(T)=>n.analyzeNested(rn(R,T),h))}if(ee(R)){if(o.length>0)return Ne(n.budget,CS(R,o)),Ee(o,(k)=>n.analyzeNested(rn(R,k),h));Ne(n.budget,xS(R));let v=ko(R);if(v?.[0]&&H(v[0])==="rm"&&st(v)){let k=SS(n);if(k)return k}let T=v?nn(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",No),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",zo)}):null;if(T)return T;return n.analyzeNested(R,h)}let E=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Xs(j(v===void 0?c:i?c.map((T)=>rn(T,v)):[...c,...v]),R)):[];if(E.some((v)=>v.kind==="dynamic")){let v=Tn(n);if(v)return v}let P=E.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return Ne(n.budget,id(P)),Ee(P,(v)=>n.analyzeNested(v,h));if(Ne(n.budget,xS(R)),fr(R)){let v=Tn(n);if(v)return v}let _=n.analyzeNested(R,h);if(_)return _;if(m)return Tn(n);return null}let w=vt(j(c));if(w.kind==="dynamic"||w.kind==="literal"&&ee(w.source))return Tn(n)??y();if(w.kind==="literal")return y();if(o.length>0){let E=Tn(n);if(E)return E;let P=y();if(P)return P;if(i)return null;let _=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return Ne(n.budget,id(_)),Ee(_,(v)=>n.analyzeNested(v,h))}if(m||a)return Tn(n)??y();return null}if(e.head==="rm"&&st(c)){if(i&&o.length>0)return Ne(n.budget,na(c,o,"rm")),Ee(o,(R)=>rd(c.map((w)=>sd(w,R)),e.cwd,r));if(o.length>0)return Ne(n.budget,_S(c,o)),Ee(o,(R)=>rd([...c,...R],e.cwd,r));let y=rd(c.flatMap((R,w)=>{if(w===0||!ee(R))return[R];return R.startsWith("-")?[sd(R,[""])]:[]}),e.cwd,r);if(y)return y;return SS(n)}Ne(n.budget,i&&o.length>0?na(c,o,"generic"):o.length>0?_S(c,o):TS(c));let b=o.length>0?o:[void 0];return Ee(b,(y)=>{let R=y===void 0?c:i?c.map((z)=>rn(z,y)):[...c,...y],w=S("parallel.shell-dynamic",No),E=a&&e.head==="find"?iz(R,r):null,P=kS(R,a,n.policy?.rules??[],n.budget)??E?.customResult??null,_=H(e.head),v=a&&(_==="rm"&&ad(R)||_==="xargs"&&AS(R)||E?.rmOptions===!0),T=a&&(v||E?.executedSource===!0||E===null&&PS(R,_)),k=nn(R,{...l,worktreeMode:s||a||m?!1:n.worktreeMode},{dynamicInput:a||m,dynamicRmInput:v,dynamicSourceInput:P!==null||T,shellDynamicMatch:w,dynamicSourceMatch:w,rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",zo)});if(T){let z=O(w,n.policy);if(z)return z}return k??P??pe(R,n.policy?.rules??[])})}function PS(e,t){if(ee(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return nz(e);if(t==="git")return ez(e);if(t==="find")return!0;if(Me.has(t))return vS(e,VO,Eo);if(ze(t))return vS(e,qO,ss);return!1}function ad(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(ee))return t===-1;return n.some((o)=>ee(o)&&(o.startsWith("-")||NS(o)))}function ez(e){if(tz(e))return!0;let t=at(e);if(t.subcommand===null||ee(t.subcommand))return!0;if(!lr.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(ee))return n===-1;return r.some(ee)}function tz(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n||n==="--"||!n.startsWith("-"))return!1;if(n==="-c"||n==="--config-env"){if(ee(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(ee(n))return!0;continue}if(ee(n))return!0}return!1}function nz(e){if(qe(e))return!1;let t=yt(e);if(t!==null)return ee(t);let n=vt(j(e));if(n.kind==="literal")return ee(n.source);if(n.kind==="dynamic")return!0;return!e.some(ee)}function vS(e,t,n){let r=n(e);if(r.some((i)=>ee(i.value)))return!0;if(!e.some(ee))return n([...e,bS]).some((i)=>i.value===bS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>rn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function kS(e,t,n,r){if(!t||n.length===0)return null;let o=n.filter((s)=>H(s.command)===H(e[0]??""));if(o.length===0)return null;let i=e.some(ee);if(Ne(r,rz(e,o,i)),!i)return Ee(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Ee(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?oz(e,c):[]));return Ee(a,(c)=>pe(e.map((l)=>rn(l,[c])),[s]))})}function rz(e,t,n){let r=n?On(Ke(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),V.maxChildAnalyses),2*Math.max(e.length,1),V.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:On(r,e.length,V.maxDerivedTokens)}}function oz(e,t){return e.flatMap((n)=>{let r=[...n.matchAll(/\{[^{}\s]*\}/g)];if(r.length!==1)return[];let o=r[0];if(!o||o.index===void 0)return[];let i=n.slice(0,o.index),s=n.slice(o.index+o[0].length);if(!t.startsWith(i)||!t.endsWith(s))return[t];let a=t.slice(i.length,t.length-s.length);return a!==t?[t,a]:[t]})}function iz(e,t){let n={customResult:null,executedSource:!e.some(ee),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(ee))return;for(let a of it(i,t))n.executedSource||=PS(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&ad(a.tokens)||a.head==="xargs"&&AS(a.tokens),n.customResult??=kS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=ee(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Ft(a)){i=[],n.executedSource||=ee(a);continue}let c=Qt(a);if(c>0){o=c,n.executedSource||=ee(a);continue}n.executedSource||=ee(a)}return s(),n}function AS(e){let t=e.slice(An(e).childStart);return H(t[0]??"")==="rm"&&ad(t)}function ra(e,t){return(n)=>O(S(e,t),n.policy)}var Tn=ra("parallel.shell-dynamic",No),sz=ra("parallel.command-stream-dynamic",UO),In=ra("parallel.command-stream-dynamic",jO),SS=ra("parallel.rm-recursive-force-dynamic",zo);function rd(e,t,n){return O(dr(j(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(n.envAssignments??new Map,n.environment),trustedTmpdirValue:Lt(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function id(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:Do(e)}}function xS(e){return TS([e])}function TS(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:Do(e)}}function _S(e,t){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:Ke(t.map((n)=>e.length+n.length),V.maxDerivedTokens),derivedBytes:Ke([On(Do(e),t.length,V.maxDerivedBytes),Ke(t.map((n)=>Do(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function CS(e,t){return na([e],t,"generic")}function na(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=On(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=lz(e.map((c)=>cz(c,n))),i=On(o.occurrences,t.length,V.maxPlaceholderReplacements);if(i>V.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(az(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:V.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?rn:sd,a=Ke(t.map((c)=>Do(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function az(e,t,n){let r=V.maxDerivedBytes+4*n;return Ke([On(e.fixedBytes,t.length,r),On(e.occurrences,Ke(t.map((o)=>o.reduce((i,s)=>Math.max(i,Oo(s)),0)),r),r)],r)>r}function cz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(wS),r=0,o=0,i=0;for(let s of n){if(r>=V.maxPlaceholderReplacements)return{occurrences:V.maxPlaceholderReplacements+1,fixedBytes:0};o=Ke([o,Oo(e.slice(i,s.index))],od),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Oo(e):Ke([o,Oo(e.slice(i))],od)}}function lz(e){return{occurrences:Ke(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:Ke(e.map((t)=>t.fixedBytes),od)}}function Do(e,t=V.maxDerivedBytes){return Ke(e.map(Oo),t)}function Oo(e){return XO.encode(e).byteLength}function Ke(e,t){let n=0;for(let r of e){if(!Number.isSafeInteger(r)||r<0||r>t-n)return t+1;n+=r}return n}function On(e,t,n){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e!==0&&t>Math.floor(n/e))return n+1;return e*t}function IS(e,t,n){let r={};if(e)r.envAssignments=e;if(n)return r.effectiveCwd=null,r.worktreeMode=!1,r;if(t!==void 0)r.effectiveCwd=t;return Object.keys(r).length>0?r:void 0}function rn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>OS(n,t))}function sd(e,t){return e.replace(wS,(n)=>OS(n,t))}function OS(e,t){let n=/^\{(-?\d+)[^{}\s]*\}$/.exec(e)?.[1];if(n===void 0)return t[0]??"";let r=Number(n),o=r>0?r-1:t.length+r;return t[o]??""}function ee(e){return HO.test(e)}function zS(e){if(cd(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function cd(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function NS(e){return/^\{[^{}\s]*\}$/.test(e)}function DS(e){let t=1,n=[],r=e.length,o=-1,i=!1,s=!1,a=!1,c,l=e.some((p)=>p==="::::"||p==="::::+"||p===":::+");while(t<e.length){let p=e[t];if(p===void 0)break;if(p===":::"){o=t;break}if(p==="--"){let w=Lu(e,t+1);n.push(...w.templateTokens),r=t+1,o=w.markerIndex;break}if(!p.startsWith("-")){let w=Lu(e,t);n.push(...w.templateTokens),r=t,o=w.markerIndex;break}let h=e[t+1],b=p.indexOf("="),y=b===-1?p:p.slice(0,b),R=b===-1?void 0:p.slice(b+1);if(p==="--dry-run"){a=!0,t++;continue}if(p==="-I"||p.startsWith("-I")&&p.length>2){l||=(p==="-I"?h:p.slice(2))!=="{}",t+=p==="-I"?2:1;continue}if(p==="--replace"||p==="-i"){l=!0,t+=2;continue}if(y==="--replace"||p.startsWith("-i")&&p.length>2){let w=y==="--replace"?R:p.slice(2);l||=w!==""&&w!=="{}",t++;continue}if(p==="-a"||YO.has(y)){l=!0,t+=R===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=R===void 0?2:1;continue}if(yS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=yS.has(p)?2:1;continue}if(JO.has(y)){let w=R??h;if(w===void 0||w===":::"||w==="--"){l=!0,t++;continue}c=w,l||=R!==void 0&&w==="",t+=R===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&R!==void 0){t++;continue}if(KO.has(p)){if(h===void 0||h===":::"||h==="--"){l=!0,t++;continue}t+=2;continue}t+=p==="-j"||p==="--jobs"?2:1}l||=n.some(a?cd:zS);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let b=e[h];if(b===":::"){u.push(p),p=[];continue}if(b!==void 0)p.push(b)}u.push(p)}let d=dz(u),f=n.some(ee),m=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:f,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:m,unsupported:l,workdir:c,dryRun:a}}function uz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!BO(e))return null;try{return Kt(t??e,e,n)}catch{return null}}function dz(e){if(e.length===0||e.some((n)=>n.length===0))return[];let t=[[]];for(let n of e){if(n.length===1){let o=n[0];if(o===void 0)return[];for(let i of t)i.push(o);continue}let r=[];for(let o of t)for(let i of n)if(r.push([...o,i]),r.length>V.maxChildAnalyses)return r;t=r}return t}function $S(e){return DS(e).childStart}var mz="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",oa="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function ud(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function ld(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function LS(e,t,n,r,o=!1,i){let a=(go(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",mz):null;return O(a,i)??WS(e,t,n,o,i)}function WS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>ud(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Yn(e,t),c=pz(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",oa),o);if(O(ur(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,f)=>f>c&&N(d)==="--");if(ue(o,"shell.dynamic-structure",r)&&l&&lr.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return O(S("shell.dynamic-structure",oa),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&gz(t)?O(S("shell.dynamic-structure",oa),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=st(t.map(N));return ue(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?O(S("shell.dynamic-structure",oa),o):null}if(s==="xargs")return MS(e,t.slice(An(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return MS(e,t.slice($S(t.map(N))),"parallel",n,r,o);return null}function MS(e,t,n,r,o,i){if(t.length===0)return null;let s=fz(t,r);if(go(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?td:No),i);if(c)return c}let a=WS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>ud(c)&&ld(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?ed:zo),i);return null}function fz(e,t){let n=xn(e,t),r=n.rewritten?j(n.words.map(N)):n.words,o=r[0];return o&&N(o)==="busybox"?r.slice(1):r}function pz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(mt.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function gz(e){let t=!1,n=0,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(!s)continue;let a=ud(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||ld(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||ld(s)))return!0;continue}if(t=!0,a)return!0;let c=Qt(s.text);if(c>0){n=c;continue}if(Ft(s.text))o=!0,r=!0}return!1}function dd(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Bi(t[n.tokenIndex],n.value)})}var hz="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",yz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",bz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function FS(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return S("dd.device-write",hz);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return S("mkfs.device",yz);if(e==="shred"&&n.length>0)return S("shred.target",bz);return null}var ZS=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>dr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:Lt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>ur(e.words,md(e))},{heads:new Set(["find"]),analyze:(e)=>Ks(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:Lt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,policy:e.options.policy,analyzeTokens:e.analyzeChildTokens,analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>mS(e.words,{...GS(e),analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>ES(e.words,{...GS(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})}];function GS(e){return{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoidRm:e.options.paranoidRm,paranoidInterpreters:e.options.paranoidInterpreters,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,worktreeMode:e.options.worktreeMode,policy:e.options.policy,scanWork:e.options.scanWork}}function zn(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function md(e){return{env:e.options.environment.env,cwd:e.cwd,dynamicArguments:e.dynamicArguments,envAssignments:e.envAssignments,policy:e.options.policy,worktreeMode:e.options.worktreeMode}}var HS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function VS(e){return ZS.find((t)=>t.heads.has(e))?.analyze}function $o(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(A)=>A.map((Z)=>o==="posix"?N(Z):Z.text),s=n.effectiveCwd===null,a=s?void 0:n.effectiveCwd??n.cwd,c=s?void 0:n.cwd,l=ps(e);if(l.envAssignments.size>0)r?.recordSegment({type:"env-strip",input:i(e),envVars:[...l.envAssignments.keys()],output:i(l.words)});let u=xn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let A=[...d,...i(u.words)].join(" "),Z=Mt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),xt(Z);if(n.strict)return Le(r);let ie=gs(d,i(u.words));if(ie){Xe(n.derivedCommandWorkBudget,ie.length);let le=n.analyzeNested(ie.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(le)return le}}let f=u.rewritten?j(i(u.words)):Yn(o,u.words),m=i(f),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>f.length){let A=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:A,removed:A.slice(0,A.length-f.length),output:m})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),b=m[0];if(!b)return null;if(En(b))throw new Oe;let y=H(b),R=u.cwd===null?void 0:u.cwd??a,w=u.cwd===null?void 0:c,E=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!uo(h,n.environment),_=LS(o,u.words,n.environment,t===0,n.strict,n.policy);if(_)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:_.reason}),xt(_);let v=Vs(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){BS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let ie=$o(Z,t,{...p,effectiveCwd:E,envAssignments:h});if(ie)return ie}return null}let T=y==="eval"?mr(f):y==="trap"?iS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Xu(n.commandView)))return Le(r);if(T?.kind==="literal"){r?.recordSegment({type:"recurse",reason:y==="eval"?"shell-eval":"shell-trap",innerCommand:T.source,depth:t+1});let A=n.analyzeNested(T.source,{effectiveCwd:E,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(KS(b,y)){if(qe(m))return null;let A=vz(m,h,E,n,r,t);if(A)return A;let Z=yt(m);if(Z){let Vn=Xs(f,Z);if(Vn.kind==="dynamic")return Le(r);let xl=Vn.kind==="literal"?Vn.source:Z,Oh=Sz(xl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:Oh}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Oh,depth:t+1});let zh=n.analyzeNested(xl,{effectiveCwd:E,envAssignments:h});if(zh)return zh;return fr(xl)?Le(r):null}let ie=vt(f);if(ie.kind==="dynamic")return Le(r);if(ie.kind==="literal")return aa(ie.source,E,h,n,r,t);let le=sS(f,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(le.kind==="dynamic")return Le(r);if(le.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:le.source,depth:t+1}),n.analyzeNested(le.source,{effectiveCwd:E,envAssignments:h})}if(y==="source"||y==="."){let A=m[1]==="-p"?2:null;if(A!==null){let Vn=n.commandView?f[A]:void 0;if(!Vn)return null;if(Vn.provenance!=="literal")return Le(r)}let Z=A===null?1:3,ie=m[Z]==="--"?Z+1:Z,le=n.commandView?f[ie]:void 0;if(!le)return null;if(le.provenance==="literal")return aa(le.text,E,h,n,r,t);if(n.strict||!n.commandView||!Xu(n.commandView))return Le(r)}if(Me.has(y)){if(n.strict&&dd(Eo(m),f))return Le(r);let A=Hs(m,(ie)=>zn(n.analyzeNested(ie,{effectiveCwd:E,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),xt(Z)}if(ze(y)){if(n.strict&&dd(ss(m),f))return Le(r);let A=is(m);if(A){let Z=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:y,codeArg:A,paranoidBlocked:Z}),Z){let le=O(S("interpreter.one-liner-paranoid",tr),n.policy);if(le)return xt(le)}if(cs(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let ie=n.analyzeNested(A,{effectiveCwd:E,envAssignments:h});if(ie&&ie.ruleId!=="raw-text.dangerous-command"&&(ie.reason!==Yt||ar(A)))return ie;if(nr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",Sn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Sn}),xt(le)}r=void 0}}if(y==="busybox"&&m.length>1)return BS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),$o(f.slice(1),t,{...p,effectiveCwd:E,envAssignments:h});let k=O(FS(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),xt(k);let z=r===p.trace?p:{...p,trace:r},M={words:f,head:y,cwd:R,originalCwd:w,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:E,options:z,analyzeChildTokens:(A,Z)=>zn($o(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=VS(y);if(y==="rm"||y==="xargs"||y==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let U=r&&y==="git"?qv(M.words,md(M)):void 0,ge=US(U?U.match:W?.(M)??null,n.policy);if(r)xz(M,ge,U?.relaxation??null);if(ge)return xt(ge);let Be=W!==void 0;if(!Be)if(!rs.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let ie=m[Z];if(!ie)continue;A?.push(ie);let le=US(_z(M,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(ie)}),xt(le)}r?.recordSegment({type:"fallback-scan",tokensScanned:A??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!Be){let A=pe(m,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!A,reason:A?.reason}),A)return xt(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function vz(e,t,n,r,o,i){let s=eS(e);if(s.argvSource?.kind==="absent")return Le(o);if(s.argvSourceApplies&&s.argvSource){let c=aa(s.argvSource.value,n,t,r,o,i,!0);if(c)return c}if(!s.envSourceApplies||!s.envName)return null;let a=t.get(s.envName);if(!a)return null;return aa(a,n,t,r,o,i,!0)}function aa(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Le(o);let a=lo(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Le(o):null;return Xe(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function Sz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function xz(e,t,n){let r={git:"git:analyzeGitMatch",rm:"analyzer/rm.ts:analyzeRmMatch",find:"analyzer/find.ts:analyzeFindMatch",xargs:"analyzer/xargs.ts:analyzeXargs",parallel:"analyzer/parallel.ts:analyzeParallel"}[e.head];if(!r)return;if(e.options.trace?.recordSegment({type:"rule-check",rule:r,matched:!!t||!!n,reason:t?.reason??n?.originalReason}),n)e.options.trace?.recordSegment({type:"worktree-relaxation",originalReason:n.originalReason,gitCwd:n.gitCwd})}function BS(e){if(e.iterations>=Qn)throw new Oe;e.iterations++}function xt(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Le(e){return e?.recordSegment({type:"error",message:HS}),xt(qS())}function qS(){return{id:"",reason:HS,intent:"stop_and_explain"}}function KS(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function _z(e,t,n){let r=it(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=Cz(e,n,o);if(i)return i}return null}function Cz(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(KS(r,o)){Xe(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(qe(c))return null;let l=yt(c);if(!l){if(vt(j(c)).kind==="dynamic")return qS();return sa(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?zn(u):sa(e,n)}let i=VS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Xe(e.options.derivedCommandWorkBudget,e.words.length-t);return sa(e,n)}Xe(e.options.derivedCommandWorkBudget,e.words.length-t);let s=[o,...n.tokens.slice(1)],a={...e,words:j(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!uo(n.envAssignments,e.options.environment),effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,options:o==="git"?{...e.options,worktreeMode:!1}:e.options};return i(a)??sa(e,n)}function sa(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function US(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var wz=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,Rz=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function Ez(e,t){let n=XS(e,t);if(n.length===0)return!1;let r=n[JS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return wz.test(e.join(" "))}function YS(e,t,n,r){if(e.dialect==="powershell"){let a=Pz(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return jS(Iz(a.target),t,n.paths)}let o=e.words.map(N);if(!Ez(o,n))return;if(!t)return null;let i=XS(o,n,t),s=JS(i);if(s===-1||i[s]!=="cd")return null;return jS(i[s+1],t,n.paths)}function jS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Oz(Kt(t,e,n),t,n)?t:null}catch{return null}}function Pz(e,t){let n=kz(e[0])?1:0,r=e[n];if(!Az(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!Rz.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return Tz(e.slice(n+1),t)}function kz(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function Az(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function Tz(e,t){let n;for(let r of e){if(r.provenance!=="literal"||n!==void 0)return{kind:"unknown"};n=r.text}if(n!==void 0)return{kind:"target",target:n};return t===void 0?{kind:"unknown"}:{kind:"target",target:t}}function Iz(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function JS(e){let t=0;if(e[0]==="builtin"&&e.length>1)t=1;if(e[t]!=="time")return t;let n=t+1;while(e[n]?.startsWith("-"))n++;return n}function XS(e,t,n){let r=zz(e);return or([...r],t,n)}function Oz(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return ia(e)===ia(t);return ia(r)===ia(o)}function zz(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var pd="TMPDIR",gd="IFS",QS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,ex=/^[A-Za-z_][A-Za-z0-9_]*$/,tx=new Set(["export","typeset","declare","readonly"]),Nz=new Set(["builtin","command","time"]);function nx(e,t){return{env:e,effectiveEnvAssignments:Wz(e,t),shellAssignments:new Map}}function rx(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function hd(e,t){let n=ix(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),yd(t,s)});let r=n.commandIndex;if(r!==-1&&tx.has(e[r]??""))e.filter((s)=>ex.test(s)&&fd(s)).forEach((s)=>{Fz(t,s)});let o=r===-1?-1:sx(e,r);if(o===-1||e[o]!=="unset")return;let i=Zz(e,o);if(i===null)return;e.slice(i).forEach((s)=>{Gz(t,s)})}function ox(e,t){let n=ix(e,t).assignments;if(n.length===0)return t.effectiveEnvAssignments;let r=new Map(t.effectiveEnvAssignments??[]);return n.forEach((o)=>{r.set(o.name,o.value)}),r}function ix(e,t){let n=e.findIndex((s)=>!Dz(s)),r=n!==-1&&tx.has(e[sx(e,n)]??""),o=Lz(t);return{assignments:e.flatMap((s,a)=>{let c=$z(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Bl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function sx(e,t){let n=t;while(Nz.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function Dz(e){return He(e)!==null||QS.test(e)}function $z(e,t,n){return He(e)??Mz(e,t,n)}function Mz(e,t,n){let r=Hi(e,n,t);if(r)return r;let o=e.match(QS)?.[1];if(!o)return null;let i=e.indexOf("=");return{name:o,value:`${t.has(o)?t.get(o):n.get(o)??""}${e.slice(i+1)}`}}function fd(e){return e===pd||e===gd||Ul(e)}function Lz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Wz(e,t){let n=[...Ui,pd,gd].map((r)=>{let o=e.get(r);return o===void 0?null:[r,o]}).filter((r)=>r!==null);if(n.length===0)return t;return new Map([...n,...t??[]])}function yd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function Fz(e,t){yd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function Gz(e,t){if(!fd(t)&&!ex.test(t))return;if(e.shellAssignments.set(t,""),!fd(t)||t===pd||t===gd||no(t)){yd(e,{name:t,value:""});return}if(!e.effectiveEnvAssignments?.has(t))return;let n=new Map(e.effectiveEnvAssignments);n.delete(t),e.effectiveEnvAssignments=n.size===0?void 0:n}function Zz(e,t){let n=t+1;while(n<e.length){let r=e[n];if(!r)return null;if(r==="--")return n+1;if(r==="-v"){n++;continue}if(r.startsWith("-"))return null;return n}return n}var Bz="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",Nn="This heredoc form or stdin consumer is not supported safely. Use a quoted heredoc with a supported consumer (cat, tee, git apply, git commit, gh pr create, gh issue create), or ask the user to verify.",Uz=64;function _d(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return jz(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??ts(),parallelBudget:n.parallelBudget??Xy()},r)}catch(s){let a=s instanceof Oe&&o?By:s instanceof ds&&i?Jy:void 0;if(!a)throw s;if(n.trace?.currentSegmentIndex!==void 0)n.trace.recordSegment({type:"error",message:a});else n.trace?.recordGlobal({type:"error",message:a});return{reason:a,segment:e,intent:"stop_and_explain"}}}function jz(e,t,n,r){if(t>=ns)return n.trace?.recordSegment({type:"error",message:Nt}),{reason:Nt,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??tt(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:Nt}),{reason:Nt,segment:e,intent:"stop_and_explain"};if(o.status==="invalid"){let l=o.issues.find((u)=>u.code.includes("heredoc"));if(l){if(!n.strict)return xd(e,n);let u=`Unsupported heredoc syntax: ${l.message}`;return n.trace?.recordGlobal({type:"error",message:u}),{reason:u,segment:e,intent:"stop_and_explain"}}return mx(e,n),{reason:Yt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return mx(e,n),{reason:Yt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return xd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=nx(n.environment.env,n.envAssignments);return ua(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function ua(e,t,n,r,o){let i=[...o],s,a;for(let[c,l]of e.nodes.entries()){if(l.kind==="connector"){a=l.operator;continue}let u=e.nodes[c+1],d=u?.kind==="connector"?u.operator:void 0,f=Hz(e,c,l,a,d),m=a==="&&"||a==="||",p=m?s:void 0,h=a==="&&"?p?.success??i:a==="||"?p?.failure??i:i,b=a==="||"?p?.success??[]:[],y=a==="&&"?p?.failure??[]:[],R=m||gr(d);if(l.kind==="function"){let k=h.flatMap((M)=>{let W=Mo(M);return W.functionDefinitions.set(l.name,l.body),bd(M,[W],f,d==="&",gr(d))}),z=vd(k,[],b,y,a,d);i=z.states,s=z.conditionalStates,a=void 0;continue}if(l.kind==="group"){let k=[],z=[];for(let W of h){let U=ua(l.body,t,n,r,[Mo(W)]);if(U.result)return U;if(k.push(...bd(W,U.states,f,d==="&",gr(d))),R)z.push(W,...f?U.states.map((ge)=>ca(W,ge)):U.states)}let M=vd(k,z,b,y,a,d);i=M.states,s=M.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let w=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),E=e.nodes[c-2],P=da(a)&&E?.kind==="command"?oS(E)??qz(E):void 0,_=[],v=[];for(let k of h){let z=Kz(l,t,n,r,[Mo(k)]);if(z.result)return{result:z.result,states:i};let M=e.dialect==="powershell"?z.states:z.states.map((W)=>ca(k,W));for(let W of M){let U=Mo(W),ge=Xz(l,t,n.trace?{...n,trace:fx(n.trace,w)}:n,r,U,da(a),P);if(ge)return{result:ge,states:i};let Be=dN(l,U.functionDefinitions);if(Be)Xe(n.derivedCommandWorkBudget,ma(Be));let A=Be?t+1>=ns?Sd(l.displayText,n,[U]):ua(Be,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(_.push(...bd(k,A.states,f,d==="&",gr(d))),R)v.push(k),v.push(...A.states.map((Z)=>f?ca(k,Z):Z))}}let T=vd(_,v,b,y,a,d);i=T.states,s=T.conditionalStates,a=void 0}return{result:null,states:i}}function Hz(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(da(r)||da(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Vz(e,t)}function bd(e,t,n,r,o){let i=n?t.map((a)=>ca(e,a)):[...t],s=o?i.flatMap((a)=>Lo(e.literalHeredocFiles,a.literalHeredocFiles)?[a]:[{...a,literalHeredocFiles:new Map(e.literalHeredocFiles)},a]):i;return r?[e,...s]:s}function ca(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function Vz(e,t){let n=[...e.nodes.slice(0,t)].reverse().find((o)=>o.kind==="command"||o.kind==="connector");if(!n||n.kind!=="command")return!0;let r=n.words[0]?.text.toLowerCase();if(r==="&"||r===".")return!1;if(r==="write-output"||r==="function"||r==="start-job")return!0;if(Yz(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function da(e){return e==="|"||e==="|&"}function qz(e){if(e?.dialect!=="powershell")return;if(e.words.length===1&&e.words[0]?.quoted&&e.words[0].provenance==="literal")return e.words[0].text;if(e.words[0]?.text.toLowerCase()==="write-output"&&e.words.length===2&&e.words[1]?.provenance==="literal")return e.words[1].text;return}function gr(e){return e==="&&"||e==="||"}function vd(e,t,n,r,o,i){let s={success:la([...n,...e]),failure:la([...r,...t])},a=gr(i)?s:void 0;return{states:gr(o)||a?la([...s.success,...s.failure]):s.success,conditionalStates:a}}function fx(e,t,n=e.flattenNested){return{currentSegmentIndex:t,flattenNested:n,allocateSegment:e.allocateSegment,getNextSegmentIndex:e.getNextSegmentIndex,recordGlobal:e.recordGlobal,recordSegment:(r,o=t)=>e.recordSegment(r,o)}}function Kz(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=Jz(e);if(s){if(t+1>=ns)return Sd(s,n,o);let a=tt(s,"powershell");if(a.status==="limited")return Sd(s,n,o);if(a.status!=="complete")return ax(i,n,r,o);Xe(n.derivedCommandWorkBudget,ma(a)),i.push({program:a,depth:t+1})}}return ax(i,n,r,o)}function Yz(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function ax(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=ua(i.program,i.depth,t,n,[Mo(a)]);if(c.result)return c;s.push(...c.states)}o=la(s)}return{result:null,states:o}}function Jz(e){let t=e.words[0]?.provenance==="literal"&&!e.words[0].quoted&&e.words[0].raw===e.words[0].text&&(e.words[0].text==="&"||e.words[0].text==="."),n=t?1:0,r=e.words[n];if(r?.provenance!=="literal"||!t&&(r.quoted||r.raw!==r.text)||!["iex","invoke-expression"].includes(r.text.toLowerCase()))return;let o=e.words.slice(n+1),i=o[0]&&!o[0].quoted&&o[0].raw===o[0].text&&["-c","-command"].includes(o[0].text.toLowerCase())?1:0,s=o[i];return o.length===i+1&&s?.quoted&&s.provenance==="literal"?s.text:void 0}function ma(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+ma(o),0):n.kind==="group"||n.kind==="function"?ma(n.body):0),0)}function Sd(e,t,n){return t.trace?.recordSegment({type:"error",message:Nt}),{result:{reason:Nt,segment:e,intent:"stop_and_explain"},states:[...n]}}function Xz(e,t,n,r,o,i,s){let a=iN(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};px(e,o,"before-consumer",n.environment.paths);let c=Yn(e.dialect,e.words).map(N),l=e.displayText,u=ox(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(wv(e,i,fN(n,o.effectiveCwd)),n.policy);if(n.trace?.recordSegment({type:"rule-check",rule:"analyzer/powershell/remove-item.ts:analyzePowerShellCommandViewMatch",matched:!!m,reason:m?.reason}),m)return mN(l,m)}if(c.length===1&&c[0]?.includes(" ")&&!go(e.dialect,e.words)){let m=O(Mt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&Fy(e,n.rootProgram,n.scanWork);if(m&&!p)return n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!0,reason:m.reason}),{reason:m.reason,segment:l,ruleId:m.id,intent:m.intent};n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!1});let h=cx(e,a,o,u,s,n);if(h)return h;return hd(c,o.shellGitContextState),null}let d=$o(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(m,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,b=_d(m,t+1,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget,effectiveCwd:h,envAssignments:p?.envAssignments??u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:p?.functionDefinitions,worktreeMode:p?.worktreeMode??n.worktreeMode,trace:n.trace?fx(n.trace,n.trace.currentSegmentIndex,!0):void 0});return b?{reason:b.reason,ruleId:b.ruleId,intent:b.intent}:null}});if(d)return{...d,segment:l};let f=cx(e,a,o,u,s,n);if(f)return f;return hd(c,o.shellGitContextState),null}function cx(e,t,n,r,o,i){let s=sN(e,t,n,r??new Map,i);if(s)return s;return px(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),tN(e,t,n,i.environment.paths),lN(e,n,o,i.environment,i.trace),null}var Qz=new Set([">>","<>"]);function px(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?eN(i):Qz.has(i.operator)))continue;lx(i.target,t,r)}if(n!=="before-consumer"||!We(e.words[0],"tee"))return;let o=gx(e.words.slice(1));if(!o)return;for(let i of o.operands)lx(i,t,r)}function eN(e){if(e.operator===">"||e.operator===">|")return!0;return e.operator===">&"&&e.fd===void 0&&e.target?.provenance==="literal"&&!/^(?:[0-9]+|-)$/.test(e.target.text)}function lx(e,t,n){let r=e?.provenance==="literal"?lo(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function tN(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o||!fa(o))return;for(let i of nN(e)){let s=lo(i.text,n.effectiveCwd,r);if(!s||!Hy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=jy)throw new Oe;n.literalHeredocFiles.set(s,o.body)}}function nN(e){let t=oN(e.redirections)?.target,n=ux(t)?[t]:[];if(We(e.words[0],"cat"))return rN(e.words)?n:[];if(!We(e.words[0],"tee"))return[];let r=gx(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(ux))return[];return[...r.operands,...n]}function rN(e){let t=!1;for(let n of e.slice(1)){if(t||n.provenance!=="literal")return!1;if(n.text==="--"){t=!0;continue}if(!/^-u+$/.test(n.text))return!1}return!0}function oN(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function gx(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&We(i,"--")){n=!1;continue}if(n&&!i.quoted&&i.raw===i.text&&/^-[^-]/.test(i.text)){r||=i.text.slice(1).includes("a"),o||=[...i.text.slice(1)].some((s)=>s!=="a"&&s!=="i");continue}if(n&&!i.quoted&&i.raw===i.text&&i.text.startsWith("--")){r||=i.text==="--append",o||=i.text!=="--append"&&i.text!=="--ignore-interrupts";continue}t.push(i)}return{operands:t,append:r,hasUnsupportedOptions:o}}function ux(e){if(!e||e.provenance!=="literal"||e.text.length===0)return!1;if(e.quoted||e.raw!==e.text)return!0;return!e.raw.startsWith("~")&&!/[{}]/.test(e.raw)}function We(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function fa(e){return e.quotedDelimiter||!/[$`\\]/.test(e.body)}function iN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return Nn;let n=t[0];if(!n?.heredoc)return Nn;if(!fa(n.heredoc))return Bz;if(n.fd!==void 0&&n.fd!==0)return Nn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return Nn;let r=e.redirections.some((s)=>s!==n&&dx(s.target));if(We(e.words[0],"cat"))return r?Nn:void 0;if(We(e.words[0],"tee"))return r||e.words.slice(1).some(dx)?Nn:void 0;let o=e.words[0],i=e.words[1];if(We(o,"git")&&(We(i,"apply")||We(i,"commit")))return;if(We(o,"gh")&&(We(i,"pr")||We(i,"issue"))&&We(e.words[2],"create"))return;return Nn}function dx(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function sN(e,t,n,r,o){if(!t)return null;let i=e.redirections.filter((l)=>l.operator==="<<"||l.operator==="<<-"),s=i.flatMap((l)=>l.heredoc?[l.heredoc.body]:[]);if(cN(e,i,n,r,o))return null;let a=aN(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=xd(s.length===i.length?s.join(`
61
+ `):e.source,o);return c?{...c,segment:e.displayText}:null}function aN(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc||!fa(r.heredoc)||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!ze(o.text))return;if(!e.words.slice(1).every((l)=>l.provenance==="literal"&&l.text.startsWith("-")))return;let s=r.heredoc.body,a=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(n.trace?.recordSegment({type:"interpreter",interpreter:o.text,codeArg:s,paranoidBlocked:a}),a){let l=O(S("interpreter.one-liner-paranoid",tr),n.policy);if(l)return l}if(!nr(s,n.scanWork))return null;let c=O(S("interpreter.dangerous-command",Sn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function cN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc||!fa(i.heredoc)||i.fd!==void 0&&i.fd!==0)return!1;let s=xn(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(N),c=H(a[0]??"");if((s.envSplitValues?.length??0)>0||!de.has(c)&&!de.has(G(c)))return!1;return qe(a)}function lN(e,t,n,r,o){let i=YS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(N).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function Mo(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:rx(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function la(e){let t=[];for(let n of e){if(!t.some((r)=>uN(r,n)))t.push(n);if(t.length>Uz)throw new Oe}return t}function uN(e,t){return e.effectiveCwd===t.effectiveCwd&&Lo(e.literalHeredocFiles,t.literalHeredocFiles)&&Lo(e.functionDefinitions,t.functionDefinitions)&&Lo(e.shellGitContextState.effectiveEnvAssignments,t.shellGitContextState.effectiveEnvAssignments)&&Lo(e.shellGitContextState.shellAssignments,t.shellGitContextState.shellAssignments)}function Lo(e,t){if(e===t)return!0;if(!e||!t||e.size!==t.size)return!1;return[...e].every(([n,r])=>t.get(n)===r&&t.has(n))}function dN(e,t){let n=Ts(e);return n===void 0?void 0:t.get(n)}function mN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function fN(e,t=e.effectiveCwd){let n=t===null;return{environment:e.environment,cwd:n?void 0:t??e.cwd,originalCwd:n?void 0:e.cwd,strict:e.strict,paranoid:e.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.protectedGitMetadata,policy:e.policy}}function xd(e,t){let n=O(Mt(e,t.scanWork),t.policy),r=t.trace?.currentSegmentIndex??t.trace?.allocateSegment(),o={type:"dangerous-text",token:e,matched:!!n,reason:n?.reason};if(t.trace?.recordSegment(o,r),!n&&/^(?:cd|pushd)\s/.test(e))t.trace?.recordSegment({type:"cwd-change",segment:e,effectiveCwdNowUnknown:!0},r);return n?{reason:n.reason,segment:e,ruleId:n.id,intent:n.intent}:null}function mx(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:Yt};if(t.trace?.currentSegmentIndex===void 0)t.trace?.recordGlobal(n);else t.trace.recordSegment(n)}var me={level:{name:"CC_SAFETY_NET_LEVEL"},strict:{name:"CC_SAFETY_NET_STRICT",legacyName:"SAFETY_NET_STRICT"},paranoid:{name:"CC_SAFETY_NET_PARANOID",legacyName:"SAFETY_NET_PARANOID"},paranoidRm:{name:"CC_SAFETY_NET_PARANOID_RM",legacyName:"SAFETY_NET_PARANOID_RM"},paranoidInterpreters:{name:"CC_SAFETY_NET_PARANOID_INTERPRETERS",legacyName:"SAFETY_NET_PARANOID_INTERPRETERS"},worktree:{name:"CC_SAFETY_NET_WORKTREE",legacyName:"SAFETY_NET_WORKTREE"},debug:{name:"CC_SAFETY_NET_DEBUG"},auditScope:{name:"CC_SAFETY_NET_AUDIT_SCOPE"}},pa=["standard","strict","paranoid"];function pN(e){return{failClosed:e==="strict"||e==="paranoid",paranoidRm:e==="paranoid",paranoidInterpreters:e==="paranoid"}}function gN(e,t){if(!t)return e;return pa.indexOf(t)>pa.indexOf(e)?t:e}function hN(){let e=Pd(me.level);if(e===void 0||e==="")return;if(pa.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${pa.join(", ")}.`);return}function yN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function wd(){return yN(Pd(me.auditScope))==="all"}function Rd(e){if(e.failClosed&&e.paranoidRm&&e.paranoidInterpreters)return"paranoid";if(e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"strict";if(!e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"standard";return"custom"}function Ed(e={}){let t=e.safety?.level??"standard",n=hN(),r=gN(t,n),o=pN(r),i={failClosed:r===t?"preset":"environment",paranoidRm:r===t?"preset":"environment",paranoidInterpreters:r===t?"preset":"environment"},s={failClosed:[`policy safety.level=${t}`],paranoidRm:[`policy safety.level=${t}`],paranoidInterpreters:[`policy safety.level=${t}`]};if(r!==t)s.failClosed.push(`env ${me.level.name}=${n}`),s.paranoidRm.push(`env ${me.level.name}=${n}`),s.paranoidInterpreters.push(`env ${me.level.name}=${n}`);if(e.safety?.overrides?.failClosed!==void 0)o.failClosed=e.safety.overrides.failClosed,i.failClosed="capability_override",s.failClosed.push("policy safety.overrides.fail_closed");if(e.safety?.overrides?.paranoidRm!==void 0)o.paranoidRm=e.safety.overrides.paranoidRm,i.paranoidRm="capability_override",s.paranoidRm.push("policy safety.overrides.paranoid_rm");if(e.safety?.overrides?.paranoidInterpreters!==void 0)o.paranoidInterpreters=e.safety.overrides.paranoidInterpreters,i.paranoidInterpreters="capability_override",s.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(on(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(on(me.paranoid))o.paranoidRm=!0,o.paranoidInterpreters=!0,i.paranoidRm="environment",i.paranoidInterpreters="environment",s.paranoidRm.push(`env ${me.paranoid.name}`),s.paranoidInterpreters.push(`env ${me.paranoid.name}`);if(on(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(on(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||on(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:Rd(o),capabilities:{fail_closed:{enabled:o.failClosed,source:i.failClosed,sources:s.failClosed},paranoid_rm:{enabled:o.paranoidRm,source:i.paranoidRm,sources:s.paranoidRm},paranoid_interpreters:{enabled:o.paranoidInterpreters,source:i.paranoidInterpreters,sources:s.paranoidInterpreters}}}}function on(e){let t=typeof e==="string"?Cd(e):Pd(e);return t==="1"||t?.toLowerCase()==="true"}function Cd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function Pd(e){let t=Cd(e.name);if(t!==void 0)return t;if(e.legacyName)return Cd(e.legacyName);return}function hx(e){let t=e.effectiveCapabilities,n=e.strict??t.fail_closed.enabled,r=e.paranoidRm??t.paranoid_rm.enabled,o=e.paranoidInterpreters??t.paranoid_interpreters.enabled,i={fail_closed:kd(t.fail_closed,e.strict,"strict"),paranoid_rm:kd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:kd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:Ly(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:Rd({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function kd(e,t,n){if(t===void 0||t===e.enabled)return e;return{enabled:t,source:"capability_override",sources:[...e.sources,`analysis options.${n}`]}}function yx(e,t,n,r){let o=_d(e,0,{...t,...hx(t),factStore:r},n);if(!o)return null;return{kind:"deny",reason:o.reason,intent:o.intent??"manual_only",...o.ruleId?{ruleId:o.ruleId}:{},evidence:[{kind:"command",command:e,segment:o.segment}]}}import{basename as L$,dirname as _h}from"path";function Wo(e,t,n,r,o){if(n.kind!=="command")return{toolName:e,input:t,route:n,context:r};return{toolName:e,input:t,route:n,context:r,command:o}}import{chmodSync as VU,existsSync as R$,mkdirSync as qU,readFileSync as E$}from"fs";import{dirname as P$,join as k$}from"path";import{createRequire as m$}from"module";var mh={};fn(mh,{$brand:()=>ha,$input:()=>Va,$output:()=>Ha,NEVER:()=>ga,TimePrecision:()=>pc,ZodAny:()=>Eg,ZodArray:()=>Tg,ZodBase64:()=>Jc,ZodBase64URL:()=>Xc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>tl,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Kc,ZodCIDRv6:()=>Yc,ZodCUID:()=>Zc,ZodCUID2:()=>Bc,ZodCatch:()=>Xg,ZodCodec:()=>ll,ZodCustom:()=>Si,ZodCustomStringFormat:()=>jr,ZodDate:()=>gi,ZodDefault:()=>Hg,ZodDiscriminatedUnion:()=>Og,ZodE164:()=>Qc,ZodEmail:()=>Wc,ZodEmoji:()=>Fc,ZodEnum:()=>Br,ZodError:()=>Jx,ZodExactOptional:()=>Bg,ZodFile:()=>Gg,ZodFirstPartyTypeKind:()=>ul,ZodFunction:()=>ah,ZodGUID:()=>ui,ZodIPv4:()=>Vc,ZodIPv6:()=>qc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>zg,ZodIssueCode:()=>mC,ZodJWT:()=>el,ZodKSUID:()=>Hc,ZodLazy:()=>oh,ZodLiteral:()=>Fg,ZodMAC:()=>vg,ZodMap:()=>Lg,ZodNaN:()=>eh,ZodNanoID:()=>Gc,ZodNever:()=>kg,ZodNonOptional:()=>al,ZodNull:()=>wg,ZodNullable:()=>jg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Bn,ZodObject:()=>yi,ZodOptional:()=>sl,ZodPipe:()=>cl,ZodPrefault:()=>qg,ZodPromise:()=>sh,ZodReadonly:()=>th,ZodRealError:()=>_e,ZodRecord:()=>vi,ZodSet:()=>Wg,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>Jg,ZodSymbol:()=>_g,ZodTemplateLiteral:()=>rh,ZodTransform:()=>Zg,ZodTuple:()=>Dg,ZodType:()=>L,ZodULID:()=>Uc,ZodURL:()=>pi,ZodUUID:()=>Pt,ZodUndefined:()=>Cg,ZodUnion:()=>bi,ZodUnknown:()=>Pg,ZodVoid:()=>Ag,ZodXID:()=>jc,ZodXor:()=>Ig,_ZodString:()=>Lc,_default:()=>Vg,_function:()=>rC,any:()=>D_,array:()=>hi,base64:()=>b_,base64url:()=>v_,bigint:()=>T_,boolean:()=>xg,catch:()=>Qg,check:()=>oC,cidrv4:()=>h_,cidrv6:()=>y_,clone:()=>he,codec:()=>eC,coerce:()=>dl,config:()=>se,core:()=>Et,cuid:()=>c_,cuid2:()=>l_,custom:()=>iC,date:()=>M_,decode:()=>Ac,decodeAsync:()=>Ic,default:()=>a$,describe:()=>sC,discriminatedUnion:()=>B_,e164:()=>S_,email:()=>Xx,emoji:()=>s_,encode:()=>kc,encodeAsync:()=>Tc,endsWith:()=>Ir,enum:()=>ol,exactOptional:()=>Ug,file:()=>Y_,flattenError:()=>vr,float32:()=>E_,float64:()=>P_,formatError:()=>Sr,fromJSONSchema:()=>dh,function:()=>rC,getErrorMap:()=>pC,globalRegistry:()=>Ae,gt:()=>wt,gte:()=>xe,guid:()=>Qx,hash:()=>R_,hex:()=>w_,hostname:()=>C_,httpUrl:()=>i_,includes:()=>Ar,instanceof:()=>cC,int:()=>Mc,int32:()=>k_,int64:()=>I_,intersection:()=>Ng,ipv4:()=>f_,ipv6:()=>g_,iso:()=>li,json:()=>uC,jwt:()=>x_,keyof:()=>L_,ksuid:()=>m_,lazy:()=>ih,length:()=>Gn,literal:()=>K_,locales:()=>ei,looseObject:()=>G_,looseRecord:()=>j_,lowercase:()=>Pr,lt:()=>Ct,lte:()=>Ze,mac:()=>p_,map:()=>H_,maxLength:()=>Fn,maxSize:()=>dn,meta:()=>aC,mime:()=>Or,minLength:()=>Zt,minSize:()=>Rt,multipleOf:()=>un,nan:()=>Q_,nanoid:()=>a_,nativeEnum:()=>q_,negative:()=>hc,never:()=>nl,nonnegative:()=>bc,nonoptional:()=>Yg,nonpositive:()=>yc,normalize:()=>zr,null:()=>Rg,nullable:()=>mi,nullish:()=>J_,number:()=>Sg,object:()=>W_,optional:()=>di,overwrite:()=>ct,parse:()=>wc,parseAsync:()=>Rc,partialRecord:()=>U_,pipe:()=>fi,positive:()=>gc,prefault:()=>Kg,preprocess:()=>dC,prettifyError:()=>_a,promise:()=>nC,property:()=>vc,readonly:()=>nh,record:()=>Mg,refine:()=>ch,regex:()=>Er,regexes:()=>Ge,registry:()=>ti,safeDecode:()=>zc,safeDecodeAsync:()=>Dc,safeEncode:()=>Oc,safeEncodeAsync:()=>Nc,safeParse:()=>Ec,safeParseAsync:()=>Pc,set:()=>V_,setErrorMap:()=>fC,size:()=>Wn,slugify:()=>Mr,startsWith:()=>Tr,strictObject:()=>F_,string:()=>$c,stringFormat:()=>__,stringbool:()=>lC,success:()=>X_,superRefine:()=>lh,symbol:()=>z_,templateLiteral:()=>tC,toJSONSchema:()=>oi,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>il,treeifyError:()=>xa,trim:()=>Nr,tuple:()=>$g,uint32:()=>A_,uint64:()=>O_,ulid:()=>u_,undefined:()=>N_,union:()=>rl,unknown:()=>Zn,uppercase:()=>kr,url:()=>o_,util:()=>I,uuid:()=>e_,uuidv4:()=>t_,uuidv6:()=>n_,uuidv7:()=>r_,void:()=>$_,xid:()=>d_,xor:()=>Z_,z:()=>ml});var ml={};fn(ml,{$brand:()=>ha,$input:()=>Va,$output:()=>Ha,NEVER:()=>ga,TimePrecision:()=>pc,ZodAny:()=>Eg,ZodArray:()=>Tg,ZodBase64:()=>Jc,ZodBase64URL:()=>Xc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>tl,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Kc,ZodCIDRv6:()=>Yc,ZodCUID:()=>Zc,ZodCUID2:()=>Bc,ZodCatch:()=>Xg,ZodCodec:()=>ll,ZodCustom:()=>Si,ZodCustomStringFormat:()=>jr,ZodDate:()=>gi,ZodDefault:()=>Hg,ZodDiscriminatedUnion:()=>Og,ZodE164:()=>Qc,ZodEmail:()=>Wc,ZodEmoji:()=>Fc,ZodEnum:()=>Br,ZodError:()=>Jx,ZodExactOptional:()=>Bg,ZodFile:()=>Gg,ZodFirstPartyTypeKind:()=>ul,ZodFunction:()=>ah,ZodGUID:()=>ui,ZodIPv4:()=>Vc,ZodIPv6:()=>qc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>zg,ZodIssueCode:()=>mC,ZodJWT:()=>el,ZodKSUID:()=>Hc,ZodLazy:()=>oh,ZodLiteral:()=>Fg,ZodMAC:()=>vg,ZodMap:()=>Lg,ZodNaN:()=>eh,ZodNanoID:()=>Gc,ZodNever:()=>kg,ZodNonOptional:()=>al,ZodNull:()=>wg,ZodNullable:()=>jg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Bn,ZodObject:()=>yi,ZodOptional:()=>sl,ZodPipe:()=>cl,ZodPrefault:()=>qg,ZodPromise:()=>sh,ZodReadonly:()=>th,ZodRealError:()=>_e,ZodRecord:()=>vi,ZodSet:()=>Wg,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>Jg,ZodSymbol:()=>_g,ZodTemplateLiteral:()=>rh,ZodTransform:()=>Zg,ZodTuple:()=>Dg,ZodType:()=>L,ZodULID:()=>Uc,ZodURL:()=>pi,ZodUUID:()=>Pt,ZodUndefined:()=>Cg,ZodUnion:()=>bi,ZodUnknown:()=>Pg,ZodVoid:()=>Ag,ZodXID:()=>jc,ZodXor:()=>Ig,_ZodString:()=>Lc,_default:()=>Vg,_function:()=>rC,any:()=>D_,array:()=>hi,base64:()=>b_,base64url:()=>v_,bigint:()=>T_,boolean:()=>xg,catch:()=>Qg,check:()=>oC,cidrv4:()=>h_,cidrv6:()=>y_,clone:()=>he,codec:()=>eC,coerce:()=>dl,config:()=>se,core:()=>Et,cuid:()=>c_,cuid2:()=>l_,custom:()=>iC,date:()=>M_,decode:()=>Ac,decodeAsync:()=>Ic,describe:()=>sC,discriminatedUnion:()=>B_,e164:()=>S_,email:()=>Xx,emoji:()=>s_,encode:()=>kc,encodeAsync:()=>Tc,endsWith:()=>Ir,enum:()=>ol,exactOptional:()=>Ug,file:()=>Y_,flattenError:()=>vr,float32:()=>E_,float64:()=>P_,formatError:()=>Sr,fromJSONSchema:()=>dh,function:()=>rC,getErrorMap:()=>pC,globalRegistry:()=>Ae,gt:()=>wt,gte:()=>xe,guid:()=>Qx,hash:()=>R_,hex:()=>w_,hostname:()=>C_,httpUrl:()=>i_,includes:()=>Ar,instanceof:()=>cC,int:()=>Mc,int32:()=>k_,int64:()=>I_,intersection:()=>Ng,ipv4:()=>f_,ipv6:()=>g_,iso:()=>li,json:()=>uC,jwt:()=>x_,keyof:()=>L_,ksuid:()=>m_,lazy:()=>ih,length:()=>Gn,literal:()=>K_,locales:()=>ei,looseObject:()=>G_,looseRecord:()=>j_,lowercase:()=>Pr,lt:()=>Ct,lte:()=>Ze,mac:()=>p_,map:()=>H_,maxLength:()=>Fn,maxSize:()=>dn,meta:()=>aC,mime:()=>Or,minLength:()=>Zt,minSize:()=>Rt,multipleOf:()=>un,nan:()=>Q_,nanoid:()=>a_,nativeEnum:()=>q_,negative:()=>hc,never:()=>nl,nonnegative:()=>bc,nonoptional:()=>Yg,nonpositive:()=>yc,normalize:()=>zr,null:()=>Rg,nullable:()=>mi,nullish:()=>J_,number:()=>Sg,object:()=>W_,optional:()=>di,overwrite:()=>ct,parse:()=>wc,parseAsync:()=>Rc,partialRecord:()=>U_,pipe:()=>fi,positive:()=>gc,prefault:()=>Kg,preprocess:()=>dC,prettifyError:()=>_a,promise:()=>nC,property:()=>vc,readonly:()=>nh,record:()=>Mg,refine:()=>ch,regex:()=>Er,regexes:()=>Ge,registry:()=>ti,safeDecode:()=>zc,safeDecodeAsync:()=>Dc,safeEncode:()=>Oc,safeEncodeAsync:()=>Nc,safeParse:()=>Ec,safeParseAsync:()=>Pc,set:()=>V_,setErrorMap:()=>fC,size:()=>Wn,slugify:()=>Mr,startsWith:()=>Tr,strictObject:()=>F_,string:()=>$c,stringFormat:()=>__,stringbool:()=>lC,success:()=>X_,superRefine:()=>lh,symbol:()=>z_,templateLiteral:()=>tC,toJSONSchema:()=>oi,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>il,treeifyError:()=>xa,trim:()=>Nr,tuple:()=>$g,uint32:()=>A_,uint64:()=>O_,ulid:()=>u_,undefined:()=>N_,union:()=>rl,unknown:()=>Zn,uppercase:()=>kr,url:()=>o_,util:()=>I,uuid:()=>e_,uuidv4:()=>t_,uuidv6:()=>n_,uuidv7:()=>r_,void:()=>$_,xid:()=>d_,xor:()=>Z_});var Et={};fn(Et,{$ZodAny:()=>ff,$ZodArray:()=>bf,$ZodAsyncError:()=>_t,$ZodBase64:()=>nf,$ZodBase64URL:()=>rf,$ZodBigInt:()=>Ba,$ZodBigIntFormat:()=>lf,$ZodBoolean:()=>Jo,$ZodCIDRv4:()=>Qm,$ZodCIDRv6:()=>ef,$ZodCUID:()=>Gm,$ZodCUID2:()=>Zm,$ZodCatch:()=>$f,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>ym,$ZodCheckEndsWith:()=>Am,$ZodCheckGreaterThan:()=>Da,$ZodCheckIncludes:()=>Pm,$ZodCheckLengthEquals:()=>Cm,$ZodCheckLessThan:()=>Na,$ZodCheckLowerCase:()=>Rm,$ZodCheckMaxLength:()=>xm,$ZodCheckMaxSize:()=>bm,$ZodCheckMimeType:()=>Im,$ZodCheckMinLength:()=>_m,$ZodCheckMinSize:()=>vm,$ZodCheckMultipleOf:()=>gm,$ZodCheckNumberFormat:()=>hm,$ZodCheckOverwrite:()=>Om,$ZodCheckProperty:()=>Tm,$ZodCheckRegex:()=>wm,$ZodCheckSizeEquals:()=>Sm,$ZodCheckStartsWith:()=>km,$ZodCheckStringFormat:()=>Rr,$ZodCheckUpperCase:()=>Em,$ZodCodec:()=>Qo,$ZodCustom:()=>Uf,$ZodCustomStringFormat:()=>af,$ZodDate:()=>yf,$ZodDefault:()=>Of,$ZodDiscriminatedUnion:()=>xf,$ZodE164:()=>of,$ZodEmail:()=>Mm,$ZodEmoji:()=>Wm,$ZodEncodeError:()=>Dn,$ZodEnum:()=>Ef,$ZodError:()=>Vo,$ZodExactOptional:()=>Tf,$ZodFile:()=>kf,$ZodFunction:()=>Gf,$ZodGUID:()=>Dm,$ZodIPv4:()=>Ym,$ZodIPv6:()=>Jm,$ZodISODate:()=>Vm,$ZodISODateTime:()=>Hm,$ZodISODuration:()=>Km,$ZodISOTime:()=>qm,$ZodIntersection:()=>_f,$ZodJWT:()=>sf,$ZodKSUID:()=>jm,$ZodLazy:()=>Bf,$ZodLiteral:()=>Pf,$ZodMAC:()=>Xm,$ZodMap:()=>wf,$ZodNaN:()=>Mf,$ZodNanoID:()=>Fm,$ZodNever:()=>gf,$ZodNonOptional:()=>Nf,$ZodNull:()=>mf,$ZodNullable:()=>If,$ZodNumber:()=>Za,$ZodNumberFormat:()=>cf,$ZodObject:()=>jx,$ZodObjectJIT:()=>vf,$ZodOptional:()=>ja,$ZodPipe:()=>Lf,$ZodPrefault:()=>zf,$ZodPromise:()=>Zf,$ZodReadonly:()=>Wf,$ZodRealError:()=>ke,$ZodRecord:()=>Cf,$ZodRegistry:()=>jf,$ZodSet:()=>Rf,$ZodString:()=>Ln,$ZodStringFormat:()=>q,$ZodSuccess:()=>Df,$ZodSymbol:()=>uf,$ZodTemplateLiteral:()=>Ff,$ZodTransform:()=>Af,$ZodTuple:()=>Ua,$ZodType:()=>D,$ZodULID:()=>Bm,$ZodURL:()=>Lm,$ZodUUID:()=>$m,$ZodUndefined:()=>df,$ZodUnion:()=>Xo,$ZodUnknown:()=>pf,$ZodVoid:()=>hf,$ZodXID:()=>Um,$ZodXor:()=>Sf,$brand:()=>ha,$constructor:()=>g,$input:()=>Va,$output:()=>Ha,Doc:()=>$a,JSONSchema:()=>qx,JSONSchemaGenerator:()=>pg,NEVER:()=>ga,TimePrecision:()=>pc,_any:()=>gp,_array:()=>_p,_base64:()=>uc,_base64url:()=>dc,_bigint:()=>cp,_boolean:()=>sp,_catch:()=>jD,_check:()=>Vx,_cidrv4:()=>cc,_cidrv6:()=>lc,_coercedBigint:()=>lp,_coercedBoolean:()=>ap,_coercedDate:()=>Sp,_coercedNumber:()=>ep,_coercedString:()=>Vf,_cuid:()=>tc,_cuid2:()=>nc,_custom:()=>wp,_date:()=>vp,_decode:()=>Ea,_decodeAsync:()=>ka,_default:()=>ZD,_discriminatedUnion:()=>TD,_e164:()=>mc,_email:()=>qa,_emoji:()=>Qa,_encode:()=>Ra,_encodeAsync:()=>Pa,_endsWith:()=>Ir,_enum:()=>$D,_file:()=>Cp,_float32:()=>np,_float64:()=>rp,_gt:()=>wt,_gte:()=>xe,_guid:()=>ni,_includes:()=>Ar,_int:()=>tp,_int32:()=>op,_int64:()=>up,_intersection:()=>ID,_ipv4:()=>sc,_ipv6:()=>ac,_isoDate:()=>Yf,_isoDateTime:()=>Kf,_isoDuration:()=>Xf,_isoTime:()=>Jf,_jwt:()=>fc,_ksuid:()=>ic,_lazy:()=>KD,_length:()=>Gn,_literal:()=>LD,_lowercase:()=>Pr,_lt:()=>Ct,_lte:()=>Ze,_mac:()=>qf,_map:()=>ND,_max:()=>Ze,_maxLength:()=>Fn,_maxSize:()=>dn,_mime:()=>Or,_min:()=>xe,_minLength:()=>Zt,_minSize:()=>Rt,_multipleOf:()=>un,_nan:()=>xp,_nanoid:()=>ec,_nativeEnum:()=>MD,_negative:()=>hc,_never:()=>yp,_nonnegative:()=>bc,_nonoptional:()=>BD,_nonpositive:()=>yc,_normalize:()=>zr,_null:()=>pp,_nullable:()=>GD,_number:()=>Qf,_optional:()=>FD,_overwrite:()=>ct,_parse:()=>xr,_parseAsync:()=>_r,_pipe:()=>HD,_positive:()=>gc,_promise:()=>YD,_property:()=>vc,_readonly:()=>VD,_record:()=>zD,_refine:()=>Rp,_regex:()=>Er,_safeDecode:()=>Ta,_safeDecodeAsync:()=>Oa,_safeEncode:()=>Aa,_safeEncodeAsync:()=>Ia,_safeParse:()=>Cr,_safeParseAsync:()=>wr,_set:()=>DD,_size:()=>Wn,_slugify:()=>Mr,_startsWith:()=>Tr,_string:()=>Hf,_stringFormat:()=>Lr,_stringbool:()=>Ap,_success:()=>UD,_superRefine:()=>Ep,_symbol:()=>mp,_templateLiteral:()=>qD,_toLowerCase:()=>Dr,_toUpperCase:()=>$r,_transform:()=>WD,_trim:()=>Nr,_tuple:()=>OD,_uint32:()=>ip,_uint64:()=>dp,_ulid:()=>rc,_undefined:()=>fp,_union:()=>kD,_unknown:()=>hp,_uppercase:()=>kr,_url:()=>ri,_uuid:()=>Ka,_uuidv4:()=>Ya,_uuidv6:()=>Ja,_uuidv7:()=>Xa,_void:()=>bp,_xid:()=>oc,_xor:()=>AD,clone:()=>he,config:()=>se,createStandardJSONSchemaMethod:()=>Sc,createToJSONSchemaMethod:()=>Tp,decode:()=>HN,decodeAsync:()=>qN,describe:()=>Pp,encode:()=>jN,encodeAsync:()=>VN,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>Sr,globalConfig:()=>Fo,globalRegistry:()=>Ae,initializeContext:()=>Fr,isValidBase64:()=>tf,isValidBase64URL:()=>Gx,isValidJWT:()=>Zx,locales:()=>ei,meta:()=>kp,parse:()=>Ca,parseAsync:()=>wa,prettifyError:()=>_a,process:()=>X,regexes:()=>Ge,registry:()=>ti,safeDecode:()=>YN,safeDecodeAsync:()=>XN,safeEncode:()=>KN,safeEncodeAsync:()=>JN,safeParse:()=>Wd,safeParseAsync:()=>Fd,toDotPath:()=>Cx,toJSONSchema:()=>oi,treeifyError:()=>xa,util:()=>I,version:()=>zm});var ga=Object.freeze({status:"aborted"});function g(e,t,n){function r(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let f=u[d];if(!(f in a))a[f]=l[f].bind(a)}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=n?.Parent?new i:this;r(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(n?.Parent&&a instanceof n.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}var ha=Symbol("zod_brand");class _t extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Dn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Fo={};function se(e){if(e)Object.assign(Fo,e);return Fo}var I={};fn(I,{BIGINT_FORMAT_RANGES:()=>Md,Class:()=>xx,NUMBER_FORMAT_RANGES:()=>$d,aborted:()=>ln,allowsEval:()=>Od,assert:()=>CN,assertEqual:()=>vN,assertIs:()=>xN,assertNever:()=>_N,assertNotEqual:()=>SN,assignProp:()=>an,base64ToUint8Array:()=>vx,base64urlToUint8Array:()=>FN,cached:()=>yr,captureStackTrace:()=>va,cleanEnum:()=>WN,cleanRegex:()=>Bo,clone:()=>he,cloneDef:()=>RN,createTransparentProxy:()=>IN,defineLazy:()=>F,esc:()=>ba,escapeRegex:()=>Ye,extend:()=>NN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>Td,getElementAtPath:()=>EN,getEnumValues:()=>Zo,getLengthableOrigin:()=>Ho,getParsedType:()=>TN,getSizableOrigin:()=>jo,hexToUint8Array:()=>ZN,isObject:()=>$n,isPlainObject:()=>cn,issue:()=>br,joinValues:()=>ya,jsonStringifyReplacer:()=>hr,merge:()=>$N,mergeDefs:()=>Gt,normalizeParams:()=>x,nullish:()=>sn,numKeys:()=>AN,objectClone:()=>wN,omit:()=>zN,optionalKeys:()=>Dd,parsedType:()=>Ld,partial:()=>MN,pick:()=>ON,prefixIssues:()=>Fe,primitiveTypes:()=>Nd,promiseAllObject:()=>PN,propertyKeyTypes:()=>Uo,randomString:()=>kN,required:()=>LN,safeExtend:()=>DN,shallowClone:()=>zd,slugify:()=>Id,stringifyPrimitive:()=>Sa,uint8ArrayToBase64:()=>Sx,uint8ArrayToBase64url:()=>GN,uint8ArrayToHex:()=>BN,unwrapMessage:()=>Go});function vN(e){return e}function SN(e){return e}function xN(e){}function _N(e){throw Error("Unexpected value in exhaustive check")}function CN(e){}function Zo(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function ya(e,t="|"){return e.map((n)=>Sa(n)).join(t)}function hr(e,t){if(typeof t==="bigint")return t.toString();return t}function yr(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function sn(e){return e===null||e===void 0}function Bo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Td(e,t){let n=(e.toString().split(".")[1]||"").length,r=t.toString(),o=(r.split(".")[1]||"").length;if(o===0&&/\d?e-\d?/.test(r)){let c=r.match(/\d?e-(\d?)/);if(c?.[1])o=Number.parseInt(c[1])}let i=n>o?n:o,s=Number.parseInt(e.toFixed(i).replace(".","")),a=Number.parseInt(t.toFixed(i).replace(".",""));return s%a/10**i}var bx=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===bx)return;if(r===void 0)r=bx,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function wN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function an(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Gt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function RN(e){return Gt(e._zod.def)}function EN(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function PN(e){let t=Object.keys(e),n=t.map((r)=>e[r]);return Promise.all(n).then((r)=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=r[i];return o})}function kN(e=10){let n="";for(let r=0;r<e;r++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function ba(e){return JSON.stringify(e)}function Id(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var va="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function $n(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Od=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function cn(e){if($n(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if($n(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function zd(e){if(cn(e))return{...e};if(Array.isArray(e))return[...e];return e}function AN(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var TN=(e)=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(e===null)return"null";if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function")return"promise";if(typeof Map<"u"&&e instanceof Map)return"map";if(typeof Set<"u"&&e instanceof Set)return"set";if(typeof Date<"u"&&e instanceof Date)return"date";if(typeof File<"u"&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},Uo=new Set(["string","number","symbol"]),Nd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function he(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function x(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function IN(e){let t;return new Proxy({},{get(n,r,o){return t??(t=e()),Reflect.get(t,r,o)},set(n,r,o,i){return t??(t=e()),Reflect.set(t,r,o,i)},has(n,r){return t??(t=e()),Reflect.has(t,r)},deleteProperty(n,r){return t??(t=e()),Reflect.deleteProperty(t,r)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,r){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,r)},defineProperty(n,r,o){return t??(t=e()),Reflect.defineProperty(t,r,o)}})}function Sa(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Dd(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var $d={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Md={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function ON(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=Gt(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=n.shape[a]}return an(this,"shape",s),s},checks:[]});return he(e,i)}function zN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=Gt(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return an(this,"shape",s),s},checks:[]});return he(e,i)}function NN(e,t){if(!cn(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Gt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return an(this,"shape",i),i}});return he(e,o)}function DN(e,t){if(!cn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Gt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return an(this,"shape",r),r}});return he(e,n)}function $N(e,t){let n=Gt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return an(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,n)}function MN(e,t,n){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Gt(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!n[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return an(this,"shape",c),c},checks:[]});return he(t,s)}function LN(e,t,n){let r=Gt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(n)for(let s in n){if(!(s in i))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;i[s]=new e({type:"nonoptional",innerType:o[s]})}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return an(this,"shape",i),i}});return he(t,r)}function ln(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Fe(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Go(e){return typeof e==="string"?e:e?.message}function Pe(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Go(e.inst?._zod.def?.error?.(e))??Go(t?.error?.(e))??Go(n.customError?.(e))??Go(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function jo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Ho(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Ld(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function br(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}function WN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function vx(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}function Sx(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function FN(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return vx(t+n)}function GN(e){return Sx(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ZN(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r/2]=Number.parseInt(t.slice(r,r+2),16);return n}function BN(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class xx{constructor(...e){}}var _x=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,hr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Vo=g("$ZodError",_x),ke=g("$ZodError",_x,{Parent:Error});function vr(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function Sr(e,t=(n)=>n.message){let n={_errors:[]},r=(o)=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((s)=>r({issues:s}));else if(i.code==="invalid_key")r({issues:i.issues});else if(i.code==="invalid_element")r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let s=n,a=0;while(a<i.path.length){let c=i.path[a];if(a!==i.path.length-1)s[c]=s[c]||{_errors:[]};else s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(i));s=s[c],a++}}};return r(e),n}function xa(e,t=(n)=>n.message){let n={errors:[]},r=(o,i=[])=>{var s,a;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map((l)=>r({issues:l},c.path));else if(c.code==="invalid_key")r({issues:c.issues},c.path);else if(c.code==="invalid_element")r({issues:c.issues},c.path);else{let l=[...i,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;while(d<l.length){let f=l[d],m=d===l.length-1;if(typeof f==="string")u.properties??(u.properties={}),(s=u.properties)[f]??(s[f]={errors:[]}),u=u.properties[f];else u.items??(u.items=[]),(a=u.items)[f]??(a[f]={errors:[]}),u=u.items[f];if(m)u.errors.push(t(c));d++}}};return r(e),n}function Cx(e){let t=[],n=e.map((r)=>typeof r==="object"?r.key:r);for(let r of n)if(typeof r==="number")t.push(`[${r}]`);else if(typeof r==="symbol")t.push(`[${JSON.stringify(String(r))}]`);else if(/[^\w$]/.test(r))t.push(`[${JSON.stringify(r)}]`);else{if(t.length)t.push(".");t.push(r)}return t.join("")}function _a(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`\u2716 ${r.message}`),r.path?.length)t.push(` \u2192 at ${Cx(r.path)}`);return t.join(`
62
+ `)}var xr=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new _t;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw va(a,o?.callee),a}return s.value},Ca=xr(ke),_r=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw va(a,o?.callee),a}return s.value},wa=_r(ke),Cr=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new _t;return i.issues.length?{success:!1,error:new(e??Vo)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Wd=Cr(ke),wr=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Fd=wr(ke),Ra=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},jN=Ra(ke),Ea=(e)=>(t,n,r)=>xr(e)(t,n,r),HN=Ea(ke),Pa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _r(e)(t,n,o)},VN=Pa(ke),ka=(e)=>async(t,n,r)=>_r(e)(t,n,r),qN=ka(ke),Aa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},KN=Aa(ke),Ta=(e)=>(t,n,r)=>Cr(e)(t,n,r),YN=Ta(ke),Ia=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},JN=Ia(ke),Oa=(e)=>async(t,n,r)=>wr(e)(t,n,r),XN=Oa(ke);var Ge={};fn(Ge,{base64:()=>nm,base64url:()=>za,bigint:()=>cm,boolean:()=>um,browserEmail:()=>sD,cidrv4:()=>em,cidrv6:()=>tm,cuid:()=>Gd,cuid2:()=>Zd,date:()=>om,datetime:()=>sm,domain:()=>lD,duration:()=>Vd,e164:()=>rm,email:()=>Kd,emoji:()=>Yd,extendedDuration:()=>QN,guid:()=>qd,hex:()=>uD,hostname:()=>cD,html5Email:()=>rD,idnEmail:()=>iD,integer:()=>lm,ipv4:()=>Jd,ipv6:()=>Xd,ksuid:()=>jd,lowercase:()=>fm,mac:()=>Qd,md5_base64:()=>mD,md5_base64url:()=>fD,md5_hex:()=>dD,nanoid:()=>Hd,null:()=>dm,number:()=>qo,rfc5322Email:()=>oD,sha1_base64:()=>gD,sha1_base64url:()=>hD,sha1_hex:()=>pD,sha256_base64:()=>bD,sha256_base64url:()=>vD,sha256_hex:()=>yD,sha384_base64:()=>xD,sha384_base64url:()=>_D,sha384_hex:()=>SD,sha512_base64:()=>wD,sha512_base64url:()=>RD,sha512_hex:()=>CD,string:()=>am,time:()=>im,ulid:()=>Bd,undefined:()=>mm,unicodeEmail:()=>wx,uppercase:()=>pm,uuid:()=>Mn,uuid4:()=>eD,uuid6:()=>tD,uuid7:()=>nD,xid:()=>Ud});var Gd=/^[cC][^\s-]{8,}$/,Zd=/^[0-9a-z]+$/,Bd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ud=/^[0-9a-vA-V]{20}$/,jd=/^[A-Za-z0-9]{27}$/,Hd=/^[a-zA-Z0-9_-]{21}$/,Vd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,QN=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,qd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Mn=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},eD=Mn(4),tD=Mn(6),nD=Mn(7),Kd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,rD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,oD=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,wx=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,iD=wx,sD=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,aD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Yd(){return new RegExp(aD,"u")}var Jd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Xd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Qd=(e)=>{let t=Ye(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},em=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,tm=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,za=/^[A-Za-z0-9_-]*$/,cD=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,lD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,rm=/^\+[1-9]\d{6,14}$/,Rx="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",om=new RegExp(`^${Rx}$`);function Ex(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function im(e){return new RegExp(`^${Ex(e)}$`)}function sm(e){let t=Ex({precision:e.precision}),n=["Z"];if(e.local)n.push("");if(e.offset)n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${t}(?:${n.join("|")})`;return new RegExp(`^${Rx}T(?:${r})$`)}var am=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},cm=/^-?\d+n?$/,lm=/^-?\d+$/,qo=/^-?\d+(?:\.\d+)?$/,um=/^(?:true|false)$/i,dm=/^null$/i;var mm=/^undefined$/i;var fm=/^[^A-Z]*$/,pm=/^[^a-z]*$/,uD=/^[0-9a-fA-F]*$/;function Ko(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Yo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var dD=/^[0-9a-fA-F]{32}$/,mD=Ko(22,"=="),fD=Yo(22),pD=/^[0-9a-fA-F]{40}$/,gD=Ko(27,"="),hD=Yo(27),yD=/^[0-9a-fA-F]{64}$/,bD=Ko(43,"="),vD=Yo(43),SD=/^[0-9a-fA-F]{96}$/,xD=Ko(64,""),_D=Yo(64),CD=/^[0-9a-fA-F]{128}$/,wD=Ko(86,"=="),RD=Yo(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),kx={number:"number",bigint:"bigint",object:"date"},Na=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=kx[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Da=g("$ZodCheckGreaterThan",(e,t)=>{J.init(e,t);let n=kx[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckMultipleOf",(e,t)=>{J.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):Td(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),hm=g("$ZodCheckNumberFormat",(e,t)=>{J.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=$d[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=o,a.maximum=i,n)a.pattern=lm}),e._zod.check=(s)=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}if(a<o)s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>i)s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=Md[t.format];e._zod.onattach.push((o)=>{let i=o._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=(o)=>{let i=o.value;if(i<n)o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(i>r)o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.size<=t.maximum)return;r.issues.push({origin:jo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),vm=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.size>=t.minimum)return;r.issues.push({origin:jo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Sm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.size,o.maximum=t.size,o.size=t.size}),e._zod.check=(r)=>{let o=r.value,i=o.size;if(i===t.size)return;let s=i>t.size;r.issues.push({origin:jo(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),xm=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.length<=t.maximum)return;let s=Ho(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),_m=g("$ZodCheckMinLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let s=Ho(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cm=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!sn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,i=o.length;if(i===t.length)return;let s=Ho(o),a=i>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Rr=g("$ZodCheckStringFormat",(e,t)=>{var n,r;if(J.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),wm=g("$ZodCheckRegex",(e,t)=>{Rr.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Rm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=fm),Rr.init(e,t)}),Em=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=pm),Rr.init(e,t)}),Pm=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=Ye(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),km=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${Ye(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Am=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${Ye(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});function Px(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues))}var Tm=g("$ZodCheckProperty",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{let r=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(r instanceof Promise)return r.then((o)=>Px(o,n,t.property));Px(r,n,t.property);return}}),Im=g("$ZodCheckMimeType",(e,t)=>{J.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Om=g("$ZodCheckOverwrite",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class $a{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
63
63
  `).filter((i)=>i),r=Math.min(...n.map((i)=>i.length-i.trimStart().length)),o=n.map((i)=>i.slice(r)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,t=this?.args,r=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,r.join(`
64
- `))}}var Om={major:4,minor:3,patch:5};var D=g("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Om;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,a,c)=>{let l=ln(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let f=s.issues.length,m=d._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new _t;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await m,s.issues.length===f)return;if(!l)l=ln(s,f)});else{if(s.issues.length===f)continue;if(!l)l=ln(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(ln(s))return s.aborted=!0,s;let l=o(a,r,c);if(l instanceof Promise){if(c.async===!1)throw new _t;return l.then((u)=>e._zod.parse(u,c))}return e._zod.parse(l,c)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){let l=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});if(l instanceof Promise)return l.then((u)=>i(u,s,a));return i(l,s,a)}let c=e._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new _t;return c.then((l)=>o(l,r,a))}return o(c,r,a)}}F(e,"~standard",()=>({validate:(o)=>{try{let i=Ld(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Wd(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ln=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??sm(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=g("$ZodStringFormat",(e,t)=>{Er.init(e,t),Ln.init(e,t)}),Nm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Vd),q.init(e,t)}),Dm=g("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Mn(r))}else t.pattern??(t.pattern=Mn());q.init(e,t)}),$m=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=qd),q.init(e,t)}),Mm=g("$ZodURL",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{try{let r=n.value.trim(),o=new URL(r);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(t.normalize)n.value=o.href;else n.value=r;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Lm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Kd()),q.init(e,t)}),Wm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=jd),q.init(e,t)}),Fm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Fd),q.init(e,t)}),Gm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),Zm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),Bm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),Um=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Ud),q.init(e,t)}),jm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=im(t)),q.init(e,t)}),Hm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=rm),q.init(e,t)}),Vm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=om(t)),q.init(e,t)}),qm=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Hd),q.init(e,t)}),Km=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Yd),q.init(e,t),e._zod.bag.format="ipv4"}),Ym=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Jm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Xd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),Xm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Qd),q.init(e,t)}),Qm=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=em),q.init(e,t),e._zod.check=(n)=>{let r=n.value.split("/");try{if(r.length!==2)throw Error();let[o,i]=r;if(!i)throw Error();let s=Number(i);if(`${s}`!==i)throw Error();if(s<0||s>128)throw Error();new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function ef(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var tf=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=tm),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(ef(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function Fx(e){if(!Oa.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return ef(n)}var nf=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Oa),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(Fx(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),rf=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=nm),q.init(e,t)});function Gx(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var of=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(Gx(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),sf=g("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Ga=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??qo,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),af=g("$ZodNumberFormat",(e,t)=>{gm.init(e,t),Ga.init(e,t)}),Jo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=lm,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Za=g("$ZodBigInt",(e,t)=>{D.init(e,t),e._zod.pattern=am,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(o){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),cf=g("$ZodBigIntFormat",(e,t)=>{hm.init(e,t),Za.init(e,t)}),lf=g("$ZodSymbol",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),n}}),uf=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=dm,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}}),df=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=um,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;if(o===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),mf=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),ff=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),pf=g("$ZodNever",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),gf=g("$ZodVoid",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),n}}),hf=g("$ZodDate",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(a){}let o=n.value,i=o instanceof Date;if(i&&!Number.isNaN(o.getTime()))return n;return n.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),n}});function Ax(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues));t.value[n]=e.value}var yf=g("$ZodArray",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},r);if(c instanceof Promise)i.push(c.then((l)=>Ax(l,n,s)));else Ax(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Fa(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...Fe(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function Zx(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Nd(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Bx(e,t,n,r,o,i){let s=[],a=o.keySet,c=o.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let f=c.run({value:t[d],issues:[]},r);if(f instanceof Promise)e.push(f.then((m)=>Fa(m,n,d,t,u)));else Fa(f,n,d,t,u)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i});if(!e.length)return n;return Promise.all(e).then(()=>n)}var Ux=g("$ZodObject",(e,t)=>{if(D.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let a=t.shape;Object.defineProperty(t,"shape",{get:()=>{let c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}let r=br(()=>Zx(t));F(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let o=$n,i=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=r.value);let l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let f of s.keys){let m=d[f],p=m._zod.optout==="optional",h=m._zod.run({value:l[f],issues:[]},c);if(h instanceof Promise)u.push(h.then((b)=>Fa(b,a,f,l,p)));else Fa(h,a,f,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return Bx(u,l,a,c,r.value,e)}}),bf=g("$ZodObjectJIT",(e,t)=>{Ux.init(e,t);let n=e._zod.parse,r=br(()=>Zx(t)),o=(f)=>{let m=new Da(["shape","payload","ctx"]),p=r.value,h=(w)=>{let E=ya(w);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};m.write("const input = payload.value;");let b=Object.create(null),y=0;for(let w of p.keys)b[w]=`key_${y++}`;m.write("const newResult = {};");for(let w of p.keys){let E=b[w],P=ya(w),v=f[w]?._zod?.optout==="optional";if(m.write(`const ${E} = ${h(w)};`),v)m.write(`
64
+ `))}}var zm={major:4,minor:3,patch:5};var D=g("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=zm;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,a,c)=>{let l=ln(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let f=s.issues.length,m=d._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new _t;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await m,s.issues.length===f)return;if(!l)l=ln(s,f)});else{if(s.issues.length===f)continue;if(!l)l=ln(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(ln(s))return s.aborted=!0,s;let l=o(a,r,c);if(l instanceof Promise){if(c.async===!1)throw new _t;return l.then((u)=>e._zod.parse(u,c))}return e._zod.parse(l,c)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){let l=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});if(l instanceof Promise)return l.then((u)=>i(u,s,a));return i(l,s,a)}let c=e._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new _t;return c.then((l)=>o(l,r,a))}return o(c,r,a)}}F(e,"~standard",()=>({validate:(o)=>{try{let i=Wd(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Fd(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ln=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??am(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=g("$ZodStringFormat",(e,t)=>{Rr.init(e,t),Ln.init(e,t)}),Dm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=qd),q.init(e,t)}),$m=g("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Mn(r))}else t.pattern??(t.pattern=Mn());q.init(e,t)}),Mm=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Kd),q.init(e,t)}),Lm=g("$ZodURL",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{try{let r=n.value.trim(),o=new URL(r);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(t.normalize)n.value=o.href;else n.value=r;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Wm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Yd()),q.init(e,t)}),Fm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Hd),q.init(e,t)}),Gm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),Zm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),Bm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),Um=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Ud),q.init(e,t)}),jm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=jd),q.init(e,t)}),Hm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=sm(t)),q.init(e,t)}),Vm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=om),q.init(e,t)}),qm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=im(t)),q.init(e,t)}),Km=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Vd),q.init(e,t)}),Ym=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t),e._zod.bag.format="ipv4"}),Jm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Xd),q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Xm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Qd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),Qm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=em),q.init(e,t)}),ef=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=tm),q.init(e,t),e._zod.check=(n)=>{let r=n.value.split("/");try{if(r.length!==2)throw Error();let[o,i]=r;if(!i)throw Error();let s=Number(i);if(`${s}`!==i)throw Error();if(s<0||s>128)throw Error();new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function tf(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var nf=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=nm),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(tf(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function Gx(e){if(!za.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return tf(n)}var rf=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=za),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(Gx(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),of=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=rm),q.init(e,t)});function Zx(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var sf=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(Zx(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),af=g("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Za=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??qo,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),cf=g("$ZodNumberFormat",(e,t)=>{hm.init(e,t),Za.init(e,t)}),Jo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=um,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ba=g("$ZodBigInt",(e,t)=>{D.init(e,t),e._zod.pattern=cm,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(o){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),lf=g("$ZodBigIntFormat",(e,t)=>{ym.init(e,t),Ba.init(e,t)}),uf=g("$ZodSymbol",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),n}}),df=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=mm,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}}),mf=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=dm,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;if(o===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),ff=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),pf=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),gf=g("$ZodNever",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),hf=g("$ZodVoid",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),n}}),yf=g("$ZodDate",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(a){}let o=n.value,i=o instanceof Date;if(i&&!Number.isNaN(o.getTime()))return n;return n.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),n}});function Tx(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues));t.value[n]=e.value}var bf=g("$ZodArray",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},r);if(c instanceof Promise)i.push(c.then((l)=>Tx(l,n,s)));else Tx(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Ga(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...Fe(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function Bx(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Dd(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Ux(e,t,n,r,o,i){let s=[],a=o.keySet,c=o.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let f=c.run({value:t[d],issues:[]},r);if(f instanceof Promise)e.push(f.then((m)=>Ga(m,n,d,t,u)));else Ga(f,n,d,t,u)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i});if(!e.length)return n;return Promise.all(e).then(()=>n)}var jx=g("$ZodObject",(e,t)=>{if(D.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let a=t.shape;Object.defineProperty(t,"shape",{get:()=>{let c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}let r=yr(()=>Bx(t));F(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let o=$n,i=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=r.value);let l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let f of s.keys){let m=d[f],p=m._zod.optout==="optional",h=m._zod.run({value:l[f],issues:[]},c);if(h instanceof Promise)u.push(h.then((b)=>Ga(b,a,f,l,p)));else Ga(h,a,f,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return Ux(u,l,a,c,r.value,e)}}),vf=g("$ZodObjectJIT",(e,t)=>{jx.init(e,t);let n=e._zod.parse,r=yr(()=>Bx(t)),o=(f)=>{let m=new $a(["shape","payload","ctx"]),p=r.value,h=(w)=>{let E=ba(w);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};m.write("const input = payload.value;");let b=Object.create(null),y=0;for(let w of p.keys)b[w]=`key_${y++}`;m.write("const newResult = {};");for(let w of p.keys){let E=b[w],P=ba(w),v=f[w]?._zod?.optout==="optional";if(m.write(`const ${E} = ${h(w)};`),v)m.write(`
65
65
  if (${E}.issues.length) {
66
66
  if (${P} in input) {
67
67
  payload.issues = payload.issues.concat(${E}.issues.map(iss => ({
@@ -95,6 +95,6 @@ ${QR(e.intent??"manual_only")}`,a}function QR(e){switch(e){case"hard_stop":retur
95
95
  newResult[${P}] = ${E}.value;
96
96
  }
97
97
 
98
- `)}m.write("payload.value = newResult;"),m.write("return payload;");let R=m.compile();return(w,E)=>R(f,w,E)},i,s=$n,a=!Fo.jitless,l=a&&Id.value,u=t.catchall,d;e._zod.parse=(f,m)=>{d??(d=r.value);let p=f.value;if(!s(p))return f.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),f;if(a&&l&&m?.async===!1&&m.jitless!==!0){if(!i)i=o(t.shape);if(f=i(f,m),!u)return f;return Bx([],p,f,m,d,e)}return n(f,m)}});function Tx(e,t,n,r){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter((i)=>!ln(i));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))}),t}var Xo=g("$ZodUnion",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.options.some((o)=>o._zod.optin==="optional")?"optional":void 0),F(e._zod,"optout",()=>t.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),F(e._zod,"values",()=>{if(t.options.every((o)=>o._zod.values))return new Set(t.options.flatMap((o)=>Array.from(o._zod.values)));return}),F(e._zod,"pattern",()=>{if(t.options.every((o)=>o._zod.pattern)){let o=t.options.map((i)=>i._zod.pattern);return new RegExp(`^(${o.map((i)=>Bo(i.source)).join("|")})$`)}return});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1,a=[];for(let c of t.options){let l=c._zod.run({value:o.value,issues:[]},i);if(l instanceof Promise)a.push(l),s=!0;else{if(l.issues.length===0)return l;a.push(l)}}if(!s)return Tx(a,o,e,i);return Promise.all(a).then((c)=>Tx(c,o,e,i))}});function Ix(e,t,n,r){let o=e.filter((i)=>i.issues.length===0);if(o.length===1)return t.value=o[0].value,t;if(o.length===0)t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}var vf=g("$ZodXor",(e,t)=>{Xo.init(e,t),t.inclusive=!1;let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1,a=[];for(let c of t.options){let l=c._zod.run({value:o.value,issues:[]},i);if(l instanceof Promise)a.push(l),s=!0;else a.push(l)}if(!s)return Ix(a,o,e,i);return Promise.all(a).then((c)=>Ix(c,o,e,i))}}),Sf=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Xo.init(e,t);let n=e._zod.parse;F(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){if(!o[a])o[a]=new Set;for(let l of c)o[a].add(l)}}return o});let r=br(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!$n(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=r.value.get(s?.[t.discriminator]);if(a)return a._zod.run(o,i);if(t.unionFallback)return n(o,i);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o}}),xf=g("$ZodIntersection",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);if(i instanceof Promise||s instanceof Promise)return Promise.all([i,s]).then(([c,l])=>Ox(n,c,l));return Ox(n,i,s)}});function zm(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(cn(e)&&cn(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let s=zm(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],s=zm(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Ox(e,t,n){let r=new Map,o;for(let a of t.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).l=!0}}else e.issues.push(a);for(let a of n.issues)if(a.code==="unrecognized_keys")for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).r=!0}else e.issues.push(a);let i=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&o)e.issues.push({...o,keys:i});if(ln(e))return e;let s=zm(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Ba=g("$ZodTuple",(e,t)=>{D.init(e,t);let n=t.items;e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let s=[],a=[...n].reverse().findIndex((u)=>u._zod.optin!=="optional"),c=a===-1?0:n.length-a;if(!t.rest){let u=i.length>n.length,d=i.length<c-1;if(u||d)return r.issues.push({...u?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let l=-1;for(let u of n){if(l++,l>=i.length){if(l>=c)continue}let d=u._zod.run({value:i[l],issues:[]},o);if(d instanceof Promise)s.push(d.then((f)=>$a(f,r,l)));else $a(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let f=t.rest._zod.run({value:d,issues:[]},o);if(f instanceof Promise)s.push(f.then((m)=>$a(m,r,l)));else $a(f,r,l)}}if(s.length)return Promise.all(s).then(()=>r);return r}});function $a(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues));t.value[n]=e.value}var _f=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!cn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[],s=t.keyType._zod.values;if(s){n.value={};let a=new Set;for(let l of s)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){a.add(typeof l==="number"?l.toString():l);let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...Fe(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...Fe(l,u.issues));n.value[l]=u.value}}let c;for(let l in o)if(!a.has(l))c=c??[],c.push(l);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a==="string"&&qo.test(a)&&c.issues.length&&c.issues.some((d)=>d.code==="invalid_type"&&d.expected==="number")){let d=t.keyType._zod.run({value:Number(a),issues:[]},r);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length===0)c=d}if(c.issues.length){if(t.mode==="loose")n.value[a]=o[a];else n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map((d)=>Pe(d,r,se())),input:a,path:[a],inst:e});continue}let u=t.valueType._zod.run({value:o[a],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...Fe(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...Fe(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),Cf=g("$ZodMap",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),n;let i=[];n.value=new Map;for(let[s,a]of o){let c=t.keyType._zod.run({value:s,issues:[]},r),l=t.valueType._zod.run({value:a,issues:[]},r);if(c instanceof Promise||l instanceof Promise)i.push(Promise.all([c,l]).then(([u,d])=>{zx(u,d,n,s,o,e,r)}));else zx(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function zx(e,t,n,r,o,i,s){if(e.issues.length)if(Uo.has(typeof r))n.issues.push(...Fe(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Pe(a,s,se()))});if(t.issues.length)if(Uo.has(typeof r))n.issues.push(...Fe(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Pe(a,s,se()))});n.value.set(e.value,t.value)}var wf=g("$ZodSet",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Set))return n.issues.push({input:o,inst:e,expected:"set",code:"invalid_type"}),n;let i=[];n.value=new Set;for(let s of o){let a=t.valueType._zod.run({value:s,issues:[]},r);if(a instanceof Promise)i.push(a.then((c)=>Nx(c,n)));else Nx(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Nx(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var Rf=g("$ZodEnum",(e,t)=>{D.init(e,t);let n=Zo(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Uo.has(typeof o)).map((o)=>typeof o==="string"?Ye(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;if(r.has(s))return o;return o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),Ef=g("$ZodLiteral",(e,t)=>{if(D.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((r)=>typeof r==="string"?Ye(r):r?Ye(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(n.has(i))return r;return r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),Pf=g("$ZodFile",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(o instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),n}}),kf=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn(e.constructor.name);let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((s)=>(n.value=s,n));if(o instanceof Promise)throw new _t;return n.value=o,n}});function Dx(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ua=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Bo(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Dx(i,n.value));return Dx(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Af=g("$ZodExactOptional",(e,t)=>{Ua.init(e,t),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Tf=g("$ZodNullable",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Bo(n.source)}|null)$`):void 0}),F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),If=g("$ZodDefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>$x(i,t));return $x(o,t)}});function $x(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Of=g("$ZodPrefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),zf=g("$ZodNonOptional",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Mx(i,e));return Mx(o,e)}});function Mx(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var Nf=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn("ZodSuccess");let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>(n.value=i.issues.length===0,n));return n.value=o.issues.length===0,n}}),Df=g("$ZodCatch",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>{if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((s)=>Pe(s,r,se()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((i)=>Pe(i,r,se()))},input:n.value}),n.issues=[];return n}}),$f=g("$ZodNaN",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),Mf=g("$ZodPipe",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Ma(s,t.in,r));return Ma(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Ma(i,t.out,r));return Ma(o,t.out,r)}});function Ma(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var Qo=g("$ZodCodec",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if((r.direction||"forward")==="forward"){let i=t.in._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>La(s,t,r));return La(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>La(s,t,r));return La(i,t,r)}}});function La(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let o=t.transform(e.value,e);if(o instanceof Promise)return o.then((i)=>Wa(e,i,t.out,n));return Wa(e,o,t.out,n)}else{let o=t.reverseTransform(e.value,e);if(o instanceof Promise)return o.then((i)=>Wa(e,i,t.in,n));return Wa(e,o,t.in,n)}}function Wa(e,t,n,r){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},r)}var Lf=g("$ZodReadonly",(e,t)=>{D.init(e,t),F(e._zod,"propValues",()=>t.innerType._zod.propValues),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"optin",()=>t.innerType?._zod?.optin),F(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(Lx);return Lx(o)}});function Lx(e){return e.value=Object.freeze(e.value),e}var Wf=g("$ZodTemplateLiteral",(e,t)=>{D.init(e,t);let n=[];for(let r of t.parts)if(typeof r==="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let o=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!o)throw Error(`Invalid template literal part: ${r._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;n.push(o.slice(i,s))}else if(r===null||zd.has(typeof r))n.push(Ye(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),Ff=g("$ZodFunction",(e,t)=>(D.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...r){let o=e._def.input?_a(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return _a(e._def.output,i);return i}},e.implementAsync=(n)=>{if(typeof n!=="function")throw Error("implementAsync() must be called with a function");return async function(...r){let o=e._def.input?await Ca(e._def.input,r):r,i=await Reflect.apply(n,this,o);if(e._def.output)return await Ca(e._def.output,i);return i}},e._zod.parse=(n,r)=>{if(typeof n.value!=="function")return n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:e}),n;if(e._def.output&&e._def.output._zod.def.type==="promise")n.value=e.implementAsync(n.value);else n.value=e.implement(n.value);return n},e.input=(...n)=>{let r=e.constructor;if(Array.isArray(n[0]))return new r({type:"function",input:new Ba({type:"tuple",items:n[0],rest:n[1]}),output:e._def.output});return new r({type:"function",input:n[0],output:e._def.output})},e.output=(n)=>new e.constructor({type:"function",input:e._def.input,output:n}),e)),Gf=g("$ZodPromise",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then((o)=>t.innerType._zod.run({value:o,issues:[]},r))}),Zf=g("$ZodLazy",(e,t)=>{D.init(e,t),F(e._zod,"innerType",()=>t.getter()),F(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),F(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),F(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),F(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Bf=g("$ZodCustom",(e,t)=>{J.init(e,t),D.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((i)=>Wx(i,n,r,e));Wx(o,n,r,e);return}});function Wx(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(vr(o))}}var ei={};var jx,ja=Symbol("ZodOutput"),Ha=Symbol("ZodInput");class Uf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function ti(){return new Uf}(jx=globalThis).__zod_globalRegistry??(jx.__zod_globalRegistry=ti());var Ae=globalThis.__zod_globalRegistry;function jf(e,t){return new e({type:"string",...x(t)})}function Hf(e,t){return new e({type:"string",coerce:!0,...x(t)})}function Va(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...x(t)})}function ni(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...x(t)})}function qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...x(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...x(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...x(t)})}function Ja(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...x(t)})}function ri(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...x(t)})}function Xa(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...x(t)})}function Qa(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...x(t)})}function ec(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...x(t)})}function tc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...x(t)})}function nc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...x(t)})}function rc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...x(t)})}function oc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...x(t)})}function ic(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...x(t)})}function sc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...x(t)})}function Vf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...x(t)})}function ac(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...x(t)})}function cc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...x(t)})}function lc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...x(t)})}function uc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...x(t)})}function dc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...x(t)})}function mc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...x(t)})}var fc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function qf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...x(t)})}function Kf(e,t){return new e({type:"string",format:"date",check:"string_format",...x(t)})}function Yf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...x(t)})}function Jf(e,t){return new e({type:"string",format:"duration",check:"string_format",...x(t)})}function Xf(e,t){return new e({type:"number",checks:[],...x(t)})}function Qf(e,t){return new e({type:"number",coerce:!0,checks:[],...x(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...x(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...x(t)})}function np(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...x(t)})}function rp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...x(t)})}function op(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...x(t)})}function ip(e,t){return new e({type:"boolean",...x(t)})}function sp(e,t){return new e({type:"boolean",coerce:!0,...x(t)})}function ap(e,t){return new e({type:"bigint",...x(t)})}function cp(e,t){return new e({type:"bigint",coerce:!0,...x(t)})}function lp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...x(t)})}function up(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...x(t)})}function dp(e,t){return new e({type:"symbol",...x(t)})}function mp(e,t){return new e({type:"undefined",...x(t)})}function fp(e,t){return new e({type:"null",...x(t)})}function pp(e){return new e({type:"any"})}function gp(e){return new e({type:"unknown"})}function hp(e,t){return new e({type:"never",...x(t)})}function yp(e,t){return new e({type:"void",...x(t)})}function bp(e,t){return new e({type:"date",...x(t)})}function vp(e,t){return new e({type:"date",coerce:!0,...x(t)})}function Sp(e,t){return new e({type:"nan",...x(t)})}function Ct(e,t){return new za({check:"less_than",...x(t),value:e,inclusive:!1})}function Ze(e,t){return new za({check:"less_than",...x(t),value:e,inclusive:!0})}function wt(e,t){return new Na({check:"greater_than",...x(t),value:e,inclusive:!1})}function xe(e,t){return new Na({check:"greater_than",...x(t),value:e,inclusive:!0})}function pc(e){return wt(0,e)}function gc(e){return Ct(0,e)}function hc(e){return Ze(0,e)}function yc(e){return xe(0,e)}function un(e,t){return new pm({check:"multiple_of",...x(t),value:e})}function dn(e,t){return new ym({check:"max_size",...x(t),maximum:e})}function Rt(e,t){return new bm({check:"min_size",...x(t),minimum:e})}function Wn(e,t){return new vm({check:"size_equals",...x(t),size:e})}function Fn(e,t){return new Sm({check:"max_length",...x(t),maximum:e})}function Zt(e,t){return new xm({check:"min_length",...x(t),minimum:e})}function Gn(e,t){return new _m({check:"length_equals",...x(t),length:e})}function Pr(e,t){return new Cm({check:"string_format",format:"regex",...x(t),pattern:e})}function kr(e){return new wm({check:"string_format",format:"lowercase",...x(e)})}function Ar(e){return new Rm({check:"string_format",format:"uppercase",...x(e)})}function Tr(e,t){return new Em({check:"string_format",format:"includes",...x(t),includes:e})}function Ir(e,t){return new Pm({check:"string_format",format:"starts_with",...x(t),prefix:e})}function Or(e,t){return new km({check:"string_format",format:"ends_with",...x(t),suffix:e})}function bc(e,t,n){return new Am({check:"property",property:e,schema:t,...x(n)})}function zr(e,t){return new Tm({check:"mime_type",mime:e,...x(t)})}function ct(e){return new Im({check:"overwrite",tx:e})}function Nr(e){return ct((t)=>t.normalize(e))}function Dr(){return ct((e)=>e.trim())}function $r(){return ct((e)=>e.toLowerCase())}function Mr(){return ct((e)=>e.toUpperCase())}function Lr(){return ct((e)=>Td(e))}function xp(e,t,n){return new e({type:"array",element:t,...x(n)})}function PD(e,t,n){return new e({type:"union",options:t,...x(n)})}function kD(e,t,n){return new e({type:"union",options:t,inclusive:!1,...x(n)})}function AD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,...x(r)})}function TD(e,t,n){return new e({type:"intersection",left:t,right:n})}function ID(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,...x(o?r:n)})}function OD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,...x(r)})}function zD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...x(r)})}function ND(e,t,n){return new e({type:"set",valueType:t,...x(n)})}function DD(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,...x(n)})}function $D(e,t,n){return new e({type:"enum",entries:t,...x(n)})}function MD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...x(n)})}function _p(e,t){return new e({type:"file",...x(t)})}function LD(e,t){return new e({type:"transform",transform:t})}function WD(e,t){return new e({type:"optional",innerType:t})}function FD(e,t){return new e({type:"nullable",innerType:t})}function GD(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Od(n)}})}function ZD(e,t,n){return new e({type:"nonoptional",innerType:t,...x(n)})}function BD(e,t){return new e({type:"success",innerType:t})}function UD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function jD(e,t,n){return new e({type:"pipe",in:t,out:n})}function HD(e,t){return new e({type:"readonly",innerType:t})}function VD(e,t,n){return new e({type:"template_literal",parts:t,...x(n)})}function qD(e,t){return new e({type:"lazy",getter:t})}function KD(e,t){return new e({type:"promise",innerType:t})}function Cp(e,t,n){let r=x(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function wp(e,t,n){return new e({type:"custom",check:"custom",fn:t,...x(n)})}function Rp(e){let t=Hx((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(vr(r,n.value,t._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(vr(o))}},e(n.value,n)));return t}function Hx(e,t){let n=new J({check:"custom",...x(t)});return n._zod.check=e,n}function Ep(e){let t=new J({check:"describe"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function Pp(e){let t=new J({check:"meta"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,...e})}],t._zod.check=()=>{},t}function kp(e,t){let n=x(t),r=n.truthy??["true","1","yes","on","y","enabled"],o=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")r=r.map((m)=>typeof m==="string"?m.toLowerCase():m),o=o.map((m)=>typeof m==="string"?m.toLowerCase():m);let i=new Set(r),s=new Set(o),a=e.Codec??Qo,c=e.Boolean??Jo,u=new(e.String??Ln)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),f=new a({type:"pipe",in:u,out:d,transform:(m,p)=>{let h=m;if(n.case!=="sensitive")h=h.toLowerCase();if(i.has(h))return!0;else if(s.has(h))return!1;else return p.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:p.value,inst:f,continue:!1}),{}},reverseTransform:(m,p)=>{if(m===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return f}function Wr(e,t,n,r={}){let o=x(r),i={...x(r),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(a)=>n.test(a),...o};if(n instanceof RegExp)i.pattern=n;return new e(i)}var Fr=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},Ap=()=>Fr,vc=()=>Fr,Gr=Fr,X=Fr,Zr=Fr,Br=Fr;var YD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Tp=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i==="number")o.minLength=i;if(typeof s==="number")o.maxLength=s;if(a){if(o.format=YD[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Ip=(e,t,n,r)=>{let o=n,{minimum:i,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;if(typeof a==="string"&&a.includes("int"))o.type="integer";else o.type="number";if(typeof u==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;if(typeof i==="number"){if(o.minimum=i,typeof u==="number"&&t.target!=="draft-04")if(u>=i)delete o.minimum;else delete o.exclusiveMinimum}if(typeof l==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;if(typeof s==="number"){if(o.maximum=s,typeof l==="number"&&t.target!=="draft-04")if(l<=s)delete o.maximum;else delete o.exclusiveMaximum}if(typeof c==="number")o.multipleOf=c},Op=(e,t,n,r)=>{n.type="boolean"},zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Np=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Dp=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},$p=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Mp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Lp=(e,t,n,r)=>{n.not={}},Wp=(e,t,n,r)=>{},Fp=(e,t,n,r)=>{},Gp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Zp=(e,t,n,r)=>{let o=e._zod.def,i=Zo(o.entries);if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";n.enum=i},Bp=(e,t,n,r)=>{let o=e._zod.def,i=[];for(let s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else i.push(Number(s));else i.push(s);if(i.length===0);else if(i.length===1){let s=i[0];if(n.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[s];else n.const=s}else{if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";if(i.every((s)=>typeof s==="boolean"))n.type="boolean";if(i.every((s)=>s===null))n.type="null";n.enum=i}},Up=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},jp=(e,t,n,r)=>{let o=n,i=e._zod.pattern;if(!i)throw Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Hp=(e,t,n,r)=>{let o=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=e._zod.bag;if(s!==void 0)i.minLength=s;if(a!==void 0)i.maxLength=a;if(c)if(c.length===1)i.contentMediaType=c[0],Object.assign(o,i);else Object.assign(o,i),o.anyOf=c.map((l)=>({contentMediaType:l}));else Object.assign(o,i)},Vp=(e,t,n,r)=>{n.type="boolean"},qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Kp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Yp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Xp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Qp=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=X(i.element,t,{...r,path:[...r.path,"items"]})},eg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=X(s[l],t,{...r,path:[...r.path,"properties",l]});let a=new Set(Object.keys(s)),c=new Set([...a].filter((l)=>{let u=i.shape[l]._zod;if(t.io==="input")return u.optin===void 0;else return u.optout===void 0}));if(c.size>0)o.required=Array.from(c);if(i.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!i.catchall){if(t.io==="output")o.additionalProperties=!1}else if(i.catchall)o.additionalProperties=X(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},xc=(e,t,n,r)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>X(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},tg=(e,t,n,r)=>{let o=e._zod.def,i=X(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=X(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=(l)=>("allOf"in l)&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c},ng=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((f,m)=>X(f,t,{...r,path:[...r.path,s,m]})),l=i.rest?X(i.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(o.prefixItems=c,l)o.items=l}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},l)o.items.anyOf.push(l);if(o.minItems=c.length,!l)o.maxItems=c.length}else if(o.items=c,l)o.additionalItems=l;let{minimum:u,maximum:d}=e._zod.bag;if(typeof u==="number")o.minItems=u;if(typeof d==="number")o.maxItems=d},rg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object";let s=i.keyType,c=s._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let u=X(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=u}else{if(t.target==="draft-07"||t.target==="draft-2020-12")o.propertyNames=X(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});o.additionalProperties=X(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=s._zod.values;if(l){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u}},og=(e,t,n,r)=>{let o=e._zod.def,i=X(o.innerType,t,r),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=o.innerType,n.nullable=!0;else n.anyOf=[i,{type:"null"}]},ig=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},sg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},ag=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);if(i.ref=o.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(o.defaultValue))},cg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},lg=(e,t,n,r)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;X(i,t,r);let s=t.seen.get(e);s.ref=i},ug=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},dg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},_c=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},mg=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},Sc={string:Tp,number:Ip,boolean:Op,bigint:zp,symbol:Np,null:Dp,undefined:$p,void:Mp,never:Lp,any:Wp,unknown:Fp,date:Gp,enum:Zp,literal:Bp,nan:Up,template_literal:jp,file:Hp,success:Vp,custom:qp,function:Kp,transform:Yp,map:Jp,set:Xp,array:Qp,object:eg,union:xc,intersection:tg,tuple:ng,record:rg,nullable:og,nonoptional:ig,default:sg,prefault:ag,catch:cg,pipe:lg,readonly:ug,promise:dg,optional:_c,lazy:mg};function oi(e,t){if("_idmap"in e){let r=e,o=Gr({...t,processors:Sc}),i={};for(let c of r._idmap.entries()){let[l,u]=c;X(u,o)}let s={},a={registry:r,uri:t?.uri,defs:i};o.external=a;for(let c of r._idmap.entries()){let[l,u]=c;Zr(o,u),s[l]=Br(o,u)}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let n=Gr({...t,processors:Sc});return X(e,n),Zr(n,e),Br(n,e)}class fg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=Gr({processors:Sc,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return X(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Zr(this.ctx,e);let n=Br(this.ctx,e),{"~standard":r,...o}=n;return o}}var Vx={};var li={};fn(li,{ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,date:()=>gg,datetime:()=>pg,duration:()=>yg,time:()=>hg});var ii=g("ZodISODateTime",(e,t)=>{jm.init(e,t),K.init(e,t)});function pg(e){return qf(ii,e)}var si=g("ZodISODate",(e,t)=>{Hm.init(e,t),K.init(e,t)});function gg(e){return Kf(si,e)}var ai=g("ZodISOTime",(e,t)=>{Vm.init(e,t),K.init(e,t)});function hg(e){return Yf(ai,e)}var ci=g("ZodISODuration",(e,t)=>{qm.init(e,t),K.init(e,t)});function yg(e){return Jf(ci,e)}var Kx=(e,t)=>{Vo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>xr(e,n)},flatten:{value:(n)=>Sr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,yr,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,yr,2)}},isEmpty:{get(){return e.issues.length===0}}})},Yx=g("ZodError",Kx),_e=g("ZodError",Kx,{Parent:Error});var Cc=_r(_e),wc=Cr(_e),Rc=wr(_e),Ec=Rr(_e),Pc=wa(_e),kc=Ra(_e),Ac=Ea(_e),Tc=Pa(_e),Ic=ka(_e),Oc=Aa(_e),zc=Ta(_e),Nc=Ia(_e);var L=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:vc(e,"input"),output:vc(e,"output")}}),e.toJSONSchema=Ap(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(I.mergeDefs(t,{checks:[...t.checks??[],...n.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>he(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>Cc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Rc(e,n,r),e.parseAsync=async(n,r)=>wc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Ec(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>Pc(e,n,r),e.decode=(n,r)=>kc(e,n,r),e.encodeAsync=async(n,r)=>Ac(e,n,r),e.decodeAsync=async(n,r)=>Tc(e,n,r),e.safeEncode=(n,r)=>Ic(e,n,r),e.safeDecode=(n,r)=>Oc(e,n,r),e.safeEncodeAsync=async(n,r)=>zc(e,n,r),e.safeDecodeAsync=async(n,r)=>Nc(e,n,r),e.refine=(n,r)=>e.check(ah(n,r)),e.superRefine=(n)=>e.check(ch(n)),e.overwrite=(n)=>e.check(ct(n)),e.optional=()=>di(e),e.exactOptional=()=>Bg(e),e.nullable=()=>mi(e),e.nullish=()=>di(mi(e)),e.nonoptional=(n)=>Kg(e,n),e.array=()=>hi(e),e.or=(n)=>nl([e,n]),e.and=(n)=>zg(e,n),e.transform=(n)=>fi(e,ol(n)),e.default=(n)=>Hg(e,n),e.prefault=(n)=>qg(e,n),e.catch=(n)=>Xg(e,n),e.pipe=(n)=>fi(e,n),e.readonly=()=>th(e),e.describe=(n)=>{let r=e.clone();return Ae.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ae.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ae.get(e);let r=e.clone();return Ae.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=(n)=>n(e),e)),Mc=g("_ZodString",(e,t)=>{Ln.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Tp(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Pr(...r)),e.includes=(...r)=>e.check(Tr(...r)),e.startsWith=(...r)=>e.check(Ir(...r)),e.endsWith=(...r)=>e.check(Or(...r)),e.min=(...r)=>e.check(Zt(...r)),e.max=(...r)=>e.check(Fn(...r)),e.length=(...r)=>e.check(Gn(...r)),e.nonempty=(...r)=>e.check(Zt(1,...r)),e.lowercase=(r)=>e.check(kr(r)),e.uppercase=(r)=>e.check(Ar(r)),e.trim=()=>e.check(Dr()),e.normalize=(...r)=>e.check(Nr(...r)),e.toLowerCase=()=>e.check($r()),e.toUpperCase=()=>e.check(Mr()),e.slugify=()=>e.check(Lr())}),jr=g("ZodString",(e,t)=>{Ln.init(e,t),Mc.init(e,t),e.email=(n)=>e.check(Va(Lc,n)),e.url=(n)=>e.check(ri(pi,n)),e.jwt=(n)=>e.check(mc(Qc,n)),e.emoji=(n)=>e.check(Xa(Wc,n)),e.guid=(n)=>e.check(ni(ui,n)),e.uuid=(n)=>e.check(qa(Pt,n)),e.uuidv4=(n)=>e.check(Ka(Pt,n)),e.uuidv6=(n)=>e.check(Ya(Pt,n)),e.uuidv7=(n)=>e.check(Ja(Pt,n)),e.nanoid=(n)=>e.check(Qa(Fc,n)),e.guid=(n)=>e.check(ni(ui,n)),e.cuid=(n)=>e.check(ec(Gc,n)),e.cuid2=(n)=>e.check(tc(Zc,n)),e.ulid=(n)=>e.check(nc(Bc,n)),e.base64=(n)=>e.check(lc(Yc,n)),e.base64url=(n)=>e.check(uc(Jc,n)),e.xid=(n)=>e.check(rc(Uc,n)),e.ksuid=(n)=>e.check(oc(jc,n)),e.ipv4=(n)=>e.check(ic(Hc,n)),e.ipv6=(n)=>e.check(sc(Vc,n)),e.cidrv4=(n)=>e.check(ac(qc,n)),e.cidrv6=(n)=>e.check(cc(Kc,n)),e.e164=(n)=>e.check(dc(Xc,n)),e.datetime=(n)=>e.check(pg(n)),e.date=(n)=>e.check(gg(n)),e.time=(n)=>e.check(hg(n)),e.duration=(n)=>e.check(yg(n))});function Dc(e){return jf(jr,e)}var K=g("ZodStringFormat",(e,t)=>{q.init(e,t),Mc.init(e,t)}),Lc=g("ZodEmail",(e,t)=>{$m.init(e,t),K.init(e,t)});function Jx(e){return Va(Lc,e)}var ui=g("ZodGUID",(e,t)=>{Nm.init(e,t),K.init(e,t)});function Xx(e){return ni(ui,e)}var Pt=g("ZodUUID",(e,t)=>{Dm.init(e,t),K.init(e,t)});function Qx(e){return qa(Pt,e)}function e_(e){return Ka(Pt,e)}function t_(e){return Ya(Pt,e)}function n_(e){return Ja(Pt,e)}var pi=g("ZodURL",(e,t)=>{Mm.init(e,t),K.init(e,t)});function r_(e){return ri(pi,e)}function o_(e){return ri(pi,{protocol:/^https?$/,hostname:Ge.domain,...I.normalizeParams(e)})}var Wc=g("ZodEmoji",(e,t)=>{Lm.init(e,t),K.init(e,t)});function i_(e){return Xa(Wc,e)}var Fc=g("ZodNanoID",(e,t)=>{Wm.init(e,t),K.init(e,t)});function s_(e){return Qa(Fc,e)}var Gc=g("ZodCUID",(e,t)=>{Fm.init(e,t),K.init(e,t)});function a_(e){return ec(Gc,e)}var Zc=g("ZodCUID2",(e,t)=>{Gm.init(e,t),K.init(e,t)});function c_(e){return tc(Zc,e)}var Bc=g("ZodULID",(e,t)=>{Zm.init(e,t),K.init(e,t)});function l_(e){return nc(Bc,e)}var Uc=g("ZodXID",(e,t)=>{Bm.init(e,t),K.init(e,t)});function u_(e){return rc(Uc,e)}var jc=g("ZodKSUID",(e,t)=>{Um.init(e,t),K.init(e,t)});function d_(e){return oc(jc,e)}var Hc=g("ZodIPv4",(e,t)=>{Km.init(e,t),K.init(e,t)});function m_(e){return ic(Hc,e)}var bg=g("ZodMAC",(e,t)=>{Jm.init(e,t),K.init(e,t)});function f_(e){return Vf(bg,e)}var Vc=g("ZodIPv6",(e,t)=>{Ym.init(e,t),K.init(e,t)});function p_(e){return sc(Vc,e)}var qc=g("ZodCIDRv4",(e,t)=>{Xm.init(e,t),K.init(e,t)});function g_(e){return ac(qc,e)}var Kc=g("ZodCIDRv6",(e,t)=>{Qm.init(e,t),K.init(e,t)});function h_(e){return cc(Kc,e)}var Yc=g("ZodBase64",(e,t)=>{tf.init(e,t),K.init(e,t)});function y_(e){return lc(Yc,e)}var Jc=g("ZodBase64URL",(e,t)=>{nf.init(e,t),K.init(e,t)});function b_(e){return uc(Jc,e)}var Xc=g("ZodE164",(e,t)=>{rf.init(e,t),K.init(e,t)});function v_(e){return dc(Xc,e)}var Qc=g("ZodJWT",(e,t)=>{of.init(e,t),K.init(e,t)});function S_(e){return mc(Qc,e)}var Hr=g("ZodCustomStringFormat",(e,t)=>{sf.init(e,t),K.init(e,t)});function x_(e,t,n={}){return Wr(Hr,e,t,n)}function __(e){return Wr(Hr,"hostname",Ge.hostname,e)}function C_(e){return Wr(Hr,"hex",Ge.hex,e)}function w_(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Ge[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Wr(Hr,r,o,t)}var Vr=g("ZodNumber",(e,t)=>{Ga.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ip(e,r,o,i),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(Ct(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.int=(r)=>e.check($c(r)),e.safe=(r)=>e.check($c(r)),e.positive=(r)=>e.check(wt(0,r)),e.nonnegative=(r)=>e.check(xe(0,r)),e.negative=(r)=>e.check(Ct(0,r)),e.nonpositive=(r)=>e.check(Ze(0,r)),e.multipleOf=(r,o)=>e.check(un(r,o)),e.step=(r,o)=>e.check(un(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function vg(e){return Xf(Vr,e)}var Bn=g("ZodNumberFormat",(e,t)=>{af.init(e,t),Vr.init(e,t)});function $c(e){return ep(Bn,e)}function R_(e){return tp(Bn,e)}function E_(e){return np(Bn,e)}function P_(e){return rp(Bn,e)}function k_(e){return op(Bn,e)}var qr=g("ZodBoolean",(e,t)=>{Jo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function Sg(e){return ip(qr,e)}var Kr=g("ZodBigInt",(e,t)=>{Za.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>zp(e,r,o,i),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(Ct(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.positive=(r)=>e.check(wt(BigInt(0),r)),e.negative=(r)=>e.check(Ct(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ze(BigInt(0),r)),e.nonnegative=(r)=>e.check(xe(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(un(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function A_(e){return ap(Kr,e)}var el=g("ZodBigIntFormat",(e,t)=>{cf.init(e,t),Kr.init(e,t)});function T_(e){return lp(el,e)}function I_(e){return up(el,e)}var xg=g("ZodSymbol",(e,t)=>{lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function O_(e){return dp(xg,e)}var _g=g("ZodUndefined",(e,t)=>{uf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function z_(e){return mp(_g,e)}var Cg=g("ZodNull",(e,t)=>{df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function wg(e){return fp(Cg,e)}var Rg=g("ZodAny",(e,t)=>{mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o)});function N_(){return pp(Rg)}var Eg=g("ZodUnknown",(e,t)=>{ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function Zn(){return gp(Eg)}var Pg=g("ZodNever",(e,t)=>{pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function tl(e){return hp(Pg,e)}var kg=g("ZodVoid",(e,t)=>{gf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mp(e,n,r,o)});function D_(e){return yp(kg,e)}var gi=g("ZodDate",(e,t)=>{hf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Gp(e,r,o,i),e.min=(r,o)=>e.check(xe(r,o)),e.max=(r,o)=>e.check(Ze(r,o));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function $_(e){return bp(gi,e)}var Ag=g("ZodArray",(e,t)=>{yf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Zt(n,r)),e.nonempty=(n)=>e.check(Zt(1,n)),e.max=(n,r)=>e.check(Fn(n,r)),e.length=(n,r)=>e.check(Gn(n,r)),e.unwrap=()=>e.element});function hi(e,t){return xp(Ag,e,t)}function M_(e){let t=e._zod.def.shape;return rl(Object.keys(t))}var yi=g("ZodObject",(e,t)=>{bf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),I.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>rl(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Zn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Zn()}),e.strict=()=>e.clone({...e._zod.def,catchall:tl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>I.extend(e,n),e.safeExtend=(n)=>I.safeExtend(e,n),e.merge=(n)=>I.merge(e,n),e.pick=(n)=>I.pick(e,n),e.omit=(n)=>I.omit(e,n),e.partial=(...n)=>I.partial(il,e,n[0]),e.required=(...n)=>I.required(sl,e,n[0])});function L_(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new yi(n)}function W_(e,t){return new yi({type:"object",shape:e,catchall:tl(),...I.normalizeParams(t)})}function F_(e,t){return new yi({type:"object",shape:e,catchall:Zn(),...I.normalizeParams(t)})}var bi=g("ZodUnion",(e,t)=>{Xo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.options=t.options});function nl(e,t){return new bi({type:"union",options:e,...I.normalizeParams(t)})}var Tg=g("ZodXor",(e,t)=>{bi.init(e,t),vf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.options=t.options});function G_(e,t){return new Tg({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Ig=g("ZodDiscriminatedUnion",(e,t)=>{bi.init(e,t),Sf.init(e,t)});function Z_(e,t,n){return new Ig({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var Og=g("ZodIntersection",(e,t)=>{xf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o)});function zg(e,t){return new Og({type:"intersection",left:e,right:t})}var Ng=g("ZodTuple",(e,t)=>{Ba.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Dg(e,t,n){let r=t instanceof D,o=r?n:t;return new Ng({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var vi=g("ZodRecord",(e,t)=>{_f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function $g(e,t,n){return new vi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function B_(e,t,n){let r=he(e);return r._zod.values=void 0,new vi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function U_(e,t,n){return new vi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var Mg=g("ZodMap",(e,t)=>{Cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(dn(...n)),e.size=(...n)=>e.check(Wn(...n))});function j_(e,t,n){return new Mg({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Lg=g("ZodSet",(e,t)=>{wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(dn(...n)),e.size=(...n)=>e.check(Wn(...n))});function H_(e,t){return new Lg({type:"set",valueType:e,...I.normalizeParams(t)})}var Ur=g("ZodEnum",(e,t)=>{Rf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Zp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Ur({...t,checks:[],...I.normalizeParams(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let s of r)if(n.has(s))delete i[s];else throw Error(`Key ${s} not found in enum`);return new Ur({...t,checks:[],...I.normalizeParams(o),entries:i})}});function rl(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Ur({type:"enum",entries:n,...I.normalizeParams(t)})}function V_(e,t){return new Ur({type:"enum",entries:e,...I.normalizeParams(t)})}var Wg=g("ZodLiteral",(e,t)=>{Ef.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function q_(e,t){return new Wg({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Fg=g("ZodFile",(e,t)=>{Pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e.min=(n,r)=>e.check(Rt(n,r)),e.max=(n,r)=>e.check(dn(n,r)),e.mime=(n,r)=>e.check(zr(Array.isArray(n)?n:[n],r))});function K_(e){return _p(Fg,e)}var Gg=g("ZodTransform",(e,t)=>{kf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn(e.constructor.name);n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(I.issue(i,n.value,t));else{let s=i;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(I.issue(s))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function ol(e){return new Gg({type:"transform",transform:e})}var il=g("ZodOptional",(e,t)=>{Ua.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function di(e){return new il({type:"optional",innerType:e})}var Zg=g("ZodExactOptional",(e,t)=>{Af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Bg(e){return new Zg({type:"optional",innerType:e})}var Ug=g("ZodNullable",(e,t)=>{Tf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function mi(e){return new Ug({type:"nullable",innerType:e})}function Y_(e){return di(mi(e))}var jg=g("ZodDefault",(e,t)=>{If.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Hg(e,t){return new jg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Vg=g("ZodPrefault",(e,t)=>{Of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function qg(e,t){return new Vg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var sl=g("ZodNonOptional",(e,t)=>{zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kg(e,t){return new sl({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Yg=g("ZodSuccess",(e,t)=>{Nf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function J_(e){return new Yg({type:"success",innerType:e})}var Jg=g("ZodCatch",(e,t)=>{Df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Xg(e,t){return new Jg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Qg=g("ZodNaN",(e,t)=>{$f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function X_(e){return Sp(Qg,e)}var al=g("ZodPipe",(e,t)=>{Mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.in=t.in,e.out=t.out});function fi(e,t){return new al({type:"pipe",in:e,out:t})}var cl=g("ZodCodec",(e,t)=>{al.init(e,t),Qo.init(e,t)});function Q_(e,t,n){return new cl({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var eh=g("ZodReadonly",(e,t)=>{Lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ug(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function th(e){return new eh({type:"readonly",innerType:e})}var nh=g("ZodTemplateLiteral",(e,t)=>{Wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o)});function eC(e,t){return new nh({type:"template_literal",parts:e,...I.normalizeParams(t)})}var rh=g("ZodLazy",(e,t)=>{Zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>mg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function oh(e){return new rh({type:"lazy",getter:e})}var ih=g("ZodPromise",(e,t)=>{Gf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>dg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function tC(e){return new ih({type:"promise",innerType:e})}var sh=g("ZodFunction",(e,t)=>{Ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o)});function nC(e){return new sh({type:"function",input:Array.isArray(e?.input)?Dg(e?.input):e?.input??hi(Zn()),output:e?.output??Zn()})}var Si=g("ZodCustom",(e,t)=>{Bf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o)});function rC(e){let t=new J({check:"custom"});return t._zod.check=e,t}function oC(e,t){return Cp(Si,e??(()=>!0),t)}function ah(e,t={}){return wp(Si,e,t)}function ch(e){return Rp(e)}var iC=Ep,sC=Pp;function aC(e,t={}){let n=new Si({type:"custom",check:"custom",fn:(r)=>r instanceof e,abort:!0,...I.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=(r)=>{if(!(r.value instanceof e))r.issues.push({code:"invalid_type",expected:e.name,input:r.value,inst:n,path:[...n._zod.def.path??[]]})},n}var cC=(...e)=>kp({Codec:cl,Boolean:qr,String:jr},...e);function lC(e){let t=oh(()=>nl([Dc(e),vg(),Sg(),wg(),hi(t),$g(Dc(),t)]));return t}function uC(e,t){return fi(ol(e),t)}var dC={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function mC(e){se({customError:e})}function fC(){return se().customError}var ll;(function(e){})(ll||(ll={}));var e$=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(o){return e[o]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return(o)=>{switch(o.code){case"invalid_type":{let i=r[o.expected]??o.expected,s=Md(o.input),a=r[s]??s;return`Invalid input: expected ${i}, received ${a}`}case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${va(o.values[0])}`;return`Invalid option: expected one of ${ha(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",s=t(o.origin);if(s)return`Too big: expected ${o.origin??"value"} to have ${i}${o.maximum.toString()} ${s.unit??"elements"}`;return`Too big: expected ${o.origin??"value"} to be ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",s=t(o.origin);if(s)return`Too small: expected ${o.origin} to have ${i}${o.minimum.toString()} ${s.unit}`;return`Too small: expected ${o.origin} to be ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;if(i.format==="starts_with")return`Invalid string: must start with "${i.prefix}"`;if(i.format==="ends_with")return`Invalid string: must end with "${i.suffix}"`;if(i.format==="includes")return`Invalid string: must include "${i.includes}"`;if(i.format==="regex")return`Invalid string: must match pattern ${i.pattern}`;return`Invalid ${n[i.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${ha(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function lh(){return{localeError:e$()}}var uh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ul={};fn(ul,{bigint:()=>o$,boolean:()=>r$,date:()=>i$,number:()=>n$,string:()=>t$});function t$(e){return Hf(jr,e)}function n$(e){return Qf(Vr,e)}function r$(e){return sp(qr,e)}function o$(e){return cp(Kr,e)}function i$(e){return vp(gi,e)}se(lh());var s$=dl;var pC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var xi=64,gC="Rule config exceeds CC Safety Net's safe source limit.";var xU=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var mh=[{id:"secret.basename.env",category:"Basename",label:".env",description:"Blocks exact .env files.",basename:".env"},{id:"secret.basename.npmrc",category:"Basename",label:".npmrc",description:"Blocks npm credential config files.",basename:".npmrc"},{id:"secret.basename.pypirc",category:"Basename",label:".pypirc",description:"Blocks Python package index credential files.",basename:".pypirc"},{id:"secret.basename.netrc",category:"Basename",label:".netrc",description:"Blocks machine login credential files.",basename:".netrc"},{id:"secret.basename.git-credentials",category:"Basename",label:".git-credentials",description:"Blocks Git credential storage files.",basename:".git-credentials"},{id:"secret.basename.id-rsa",category:"Basename",label:"id_rsa",description:"Blocks RSA private key basenames.",basename:"id_rsa"},{id:"secret.basename.id-ed25519",category:"Basename",label:"id_ed25519",description:"Blocks Ed25519 private key basenames.",basename:"id_ed25519"},{id:"secret.basename.id-ecdsa",category:"Basename",label:"id_ecdsa",description:"Blocks ECDSA private key basenames.",basename:"id_ecdsa"},{id:"secret.basename.credentials",category:"Basename",label:"credentials",description:"Blocks generic credentials file basenames.",basename:"credentials"}],ml={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},a$=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],c$=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],fh=[{id:"secret.home.ssh",category:"Home path",label:"~/.ssh",description:"Blocks home SSH configuration and key paths.",suffixParts:[".ssh"]},{id:"secret.home.aws",category:"Home path",label:"~/.aws",description:"Blocks home AWS credential and config paths.",suffixParts:[".aws"]},{id:"secret.home.gcp",category:"Home path",label:"~/.gcp",description:"Blocks home GCP credential paths.",suffixParts:[".gcp"]},{id:"secret.home.gcloud-config",category:"Home path",label:"~/.config/gcloud",description:"Blocks home Google Cloud SDK credential paths.",suffixParts:[".config","gcloud"]},{id:"secret.home.kube-config",category:"Home path",label:"~/.kube/config",description:"Blocks home Kubernetes config files.",suffixParts:[".kube","config"]},{id:"secret.home.docker-config",category:"Home path",label:"~/.docker/config.json",description:"Blocks home Docker credential config files.",suffixParts:[".docker","config.json"]},...c$.flatMap((e)=>a$.map((t)=>({id:["secret.home",e.idSlug,t.slice(1)].join("."),category:"Home path",label:[e.label,t].join(""),description:["Blocks home ",e.label,t," credential backup files."].join(""),suffixParts:[...e.directoryParts,[e.basename,t].join("")]}))),{id:"secret.home.gh-hosts",category:"Home path",label:"~/.config/gh/hosts.yml",description:"Blocks GitHub CLI host credential files.",suffixParts:[".config","gh","hosts.yml"]}];var fl=[{id:"secret.cli.claude-code",category:"Coding CLI credential",label:"Claude Code credentials",paths:["~/.claude/.credentials.json"]},{id:"secret.cli.claude-code.config",category:"Coding CLI config",label:"Claude Code config",paths:["~/.claude/settings.json","~/.claude/settings.local.json","~/.claude.json","<project>/.claude/settings.local.json","<project>/.mcp.json"]},{id:"secret.cli.antigravity",category:"Coding CLI config",label:"Antigravity CLI hook config",paths:["~/.gemini/config/hooks.json","~/.gemini/config/mcp_config.json"]},{id:"secret.cli.codex",category:"Coding CLI credential",label:"Codex credentials",paths:["~/.codex/auth.json","~/.codex/.credentials.json","~/.codex/secrets","~/.codex/.sandbox-secrets"]},{id:"secret.cli.codex.config",category:"Coding CLI config",label:"Codex config",paths:["~/.codex/config.toml","~/.codex/<name>.config.toml"]},{id:"secret.cli.gemini",category:"Coding CLI credential",label:"Gemini CLI credentials",paths:["~/.gemini/oauth_creds.json","~/.gemini/mcp-oauth-tokens.json","~/.gemini/a2a-oauth-tokens.json","~/.gemini/gemini-credentials.json"]},{id:"secret.cli.gemini.config",category:"Coding CLI config",label:"Gemini CLI config",paths:["~/.gemini/settings.json","~/.gemini/google_accounts.json","<project>/.gemini/settings.json","/Library/Application Support/GeminiCli/settings.json","/etc/gemini-cli/settings.json"]},{id:"secret.cli.copilot-cli",category:"Coding CLI credential",label:"GitHub Copilot CLI credentials",paths:["~/.copilot/config.json","~/.copilot/mcp-oauth-config","~/.copilot/mcp-secrets"]},{id:"secret.cli.copilot-cli.config",category:"Coding CLI config",label:"GitHub Copilot CLI config",paths:["~/.copilot/mcp-config.json"]},{id:"secret.cli.kimi-code",category:"Coding CLI credential",label:"Kimi Code credentials",paths:["~/.kimi-code/server.token","~/.kimi-code/credentials","~/.kimi/credentials","~/.kimi/mcp-oauth"]},{id:"secret.cli.kimi-code.config",category:"Coding CLI config",label:"Kimi Code config",paths:["~/.kimi-code/config.toml","~/.kimi-code/mcp.json","~/.kimi/config.toml","~/.kimi/config.json","~/.kimi/config.json.bak","~/.kimi/mcp.json","<project>/.kimi-code/mcp.json"]},{id:"secret.cli.opencode",category:"Coding CLI credential",label:"OpenCode credentials",paths:["~/.local/share/opencode/auth.json","~/.local/share/opencode/mcp-auth.json","~/.local/share/opencode/opencode.db"]},{id:"secret.cli.opencode.config",category:"Coding CLI config",label:"OpenCode config",paths:["~/.config/opencode/opencode.json","~/.config/opencode/opencode.jsonc","/Library/Application Support/opencode/opencode.json","/etc/opencode/opencode.json","<project>/opencode.json","<project>/opencode.jsonc"]},{id:"secret.cli.pi",category:"Coding CLI credential",label:"Pi credentials",paths:["~/.pi/agent/auth.json"]},{id:"secret.cli.pi.config",category:"Coding CLI config",label:"Pi config",paths:["~/.pi/agent/models.json"]},{id:"secret.cli.amp",category:"Coding CLI credential",label:"Amp Code credentials",paths:["~/.local/share/amp/secrets.json","~/.amp/oauth"]},{id:"secret.cli.amp.config",category:"Coding CLI config",label:"Amp Code config",paths:["~/.config/amp/settings.json","~/.config/amp/settings.jsonc","<project>/.amp/settings.json","<project>/.amp/settings.jsonc"]},{id:"secret.cli.cursor",category:"Coding CLI credential",label:"Cursor CLI credentials",paths:["~/.cursor/auth.json","~/.config/cursor/auth.json","~/.cursor/projects/<name>/mcp-auth.json"]},{id:"secret.cli.cursor.config",category:"Coding CLI config",label:"Cursor CLI config",paths:["~/.cursor/mcp.json","<project>/.cursor/mcp.json"]},{id:"secret.cli.grok-build",category:"Coding CLI credential",label:"Grok Build credentials",paths:["~/.grok/auth.json","~/.grok/mcp_credentials.json"]},{id:"secret.cli.grok-build.config",category:"Coding CLI config",label:"Grok Build config",paths:["~/.grok/config.toml","~/.grok/managed_config.toml","~/.grok/requirements.toml","<project>/.grok/config.toml","/etc/grok/managed_config.toml","/etc/grok/requirements.toml"]}],hC=[{prefix:"id_rsa",slug:"id-rsa",label:"id_rsa"},{prefix:"id_dsa",slug:"id-dsa",label:"id_dsa"},{prefix:"id_ed25519",slug:"id-ed25519",label:"id_ed25519"},{prefix:"id_ecdsa",slug:"id-ecdsa",label:"id_ecdsa"},{prefix:"credentials",slug:"credentials",label:"credentials"}],l$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],ph=hC.map((e)=>({id:`secret.variant.${e.slug}.separator`,category:"Variant",label:`${e.label}-* / ${e.label}_*`,description:`Blocks ${e.label} variants with dash or underscore suffixes.`,prefix:e.prefix})),gh=hC.flatMap((e)=>l$.map((t)=>({id:`secret.variant.${e.slug}.${t.slice(1)}`,category:"Variant",label:`${e.label}${t}`,description:`Blocks ${e.label}${t} private credential variants.`,prefix:e.prefix,suffix:t}))),_i={id:"secret.pattern.ssh-key-basename",category:"Pattern",label:"*_(rsa|dsa|ed25519|ecdsa)",description:"Blocks extensionless SSH private key-like basenames.",pattern:/^.*_(rsa|dsa|ed25519|ecdsa)$/},hh=["agilekeychain","asc","bek","cscfg","fve","gnucash","jks","keychain","kwallet","mdf","ovpn","p12","pcap","pem","pfx","pkcs12","psafe3","rdp","sdf","tblk","tpm"].map((e)=>({id:`secret.ext.${e}`,category:"Extension",label:`.${e}`,description:`Blocks files with the .${e} extension.`,extension:e})),yh=[{id:"secret.ext-pattern.key",category:"Extension pattern",label:".key / .keypair",description:"Blocks key and keypair extension patterns.",pattern:/^key(pair)?$/},{id:"secret.ext-pattern.keystore",category:"Extension pattern",label:".keystore / .keyring",description:"Blocks keystore and keyring extension patterns.",pattern:/^key(store|ring)$/},{id:"secret.ext-pattern.kdbx",category:"Extension pattern",label:".kdb / .kdbx",description:"Blocks KeePass database extension patterns.",pattern:/^kdbx?$/}],yC=[...mh,ml,...fh,...ph,...gh,_i,...hh,...yh,...fl].map((e)=>({id:e.id,category:e.category,label:e.label,...e.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in e?{paths:e.paths}:{description:e.description}})),bC=new Set(fl.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),u$=yC.map((e)=>e.id),pl=new Set(u$);var DU=d$(import.meta.url),vC,m$=Array(xi+1).fill("over-limit"),SC=/^[^/]+\/[^/]+$/,f$=/^sha256:[a-f0-9]{64}$/,gl=`must be an integer between ${xl} and ${_l}`,p$=["version","rules","overrides","transparent_wrappers"],g$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function xC(e){if(!Je(e)||!Array.isArray(e.rules)||e.rules.length<=xi)return e;return{$schema:e.$schema,version:e.version,rules:m$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function h$(){let e=dh,t=(_)=>{let v=e.superRefine(_);return v._zod.def.when=()=>!0,v},n=e.enum(pC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(tr,`must be at most ${tr} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(vn,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),s=e.looseObject({$schema:e.unknown().optional().describe("JSON Schema reference for IDE support"),version:e.literal(1).describe("Schema version (must be 1)"),rules:e.array(o,{error:"must be an array of rulebook source strings"}).max(xi,gC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:SC.source}),r).default({}).describe("Rule overrides by id"),transparent_wrappers:e.array(i,{error:"must be an array of command strings"}).default([]).describe("Commands that transparently execute a visible protected child command")}),a=(_,v)=>{if(!Je(_))return;if(Array.isArray(_.rules)&&_.rules.length<=xi){let k=new Set;_.rules.forEach((z,M)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",M]});return}let W=Qr(z);if(W){v.addIssue({code:"custom",message:W,path:["rules",M]});return}if(k.has(z)){v.addIssue({code:"custom",message:`duplicate rulebook source "${z}"`,path:["rules",M]});return}k.add(z)})}if(Je(_.overrides))for(let k of Object.keys(_.overrides)){if(SC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(_.transparent_wrappers))return;let T=new Set;_.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!vn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Tv(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(xC,s.check(e.superRefine(a))),l=e.preprocess(xC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(_,v)=>e.intersection(e.record(e.string().refine((T)=>_.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(_)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((v,T)=>{if(!Array.isArray(v))return;let k=pn();v.forEach((z,M)=>{if(typeof z!=="string")return;let W=_(z,k);if(W)T.addIssue({code:"custom",message:W,path:[M]})})})),m=e.strictObject({version:e.literal(1),safety:e.strictObject({level:e.enum(["standard","strict","paranoid"]).optional(),overrides:u.optional()}).optional(),workflow:e.strictObject({worktree_mode:e.boolean().optional()}).optional(),destructive_command_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Qi,"destructive command").optional(),allow_paths:f(Fs).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(pl,"secret protection").optional(),deny_paths:f(Gs).optional(),allow_paths:f(Zs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:gl}).int(gl).min(xl,gl).max(_l,gl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(_)=>{let v=(M,W)=>_==="legacy"?M:W,T=v("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),k=`required non-empty string up to ${tr} characters`,z=e.looseObject({name:e.string({error:"required string"}).regex(dt,v("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:v("required string","required string matching command pattern")}).regex(vn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(vn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((M)=>M!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((M)=>M.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((M)=>M!=="",{error:v("must not be empty",k)}).refine((M)=>M.length<=tr,{error:v(`must be at most ${tr} characters`,k)}),intent:n.optional()},{error:"must be an object"});return e.array(z,{error:v("must be an array","required array")}).check(t((M,W)=>{if(!Array.isArray(M))return;let U=new Set;M.forEach((ge,Be)=>{let A=Je(ge)?ge.name:void 0;if(typeof A!=="string")return;if(U.has(A.toLowerCase())){W.addIssue({code:"custom",message:`duplicate rule name "${A}"`,path:[Be,"name"]});return}U.add(A.toLowerCase())})}))},h=e.looseObject({version:e.literal(1),rules:p("legacy").optional()}),b="required string matching rule name pattern",y=e.looseObject({command:e.string({error:"required non-empty string"}).refine((_)=>_.trim()!=="",{error:"required non-empty string"}),expect:e.enum(["blocked","allowed"]),rule:e.string({error:"must be a string if provided"}).optional()},{error:"must be an object"}).check(t((_,v)=>{if(!Je(_))return;if(_.expect!=="blocked"||typeof _.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),R=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(dt,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((_)=>_!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(vn,"must match command pattern"),{error:"required array"}).check(t((_,v)=>{if(!Array.isArray(_))return;let T=new Set;_.forEach((k,z)=>{if(typeof k!=="string"||!vn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:[z]});return}T.add(k)})})),rules:p("rulebook"),tests:e.array(y,{error:"must be an array if provided"}).optional()}).check(t((_,v)=>{if(!Je(_))return;let T=new Set(bh(_));if(Array.isArray(_.tests)){let z=new Set(_.tests.flatMap((M)=>Je(M)&&M.expect==="blocked"&&typeof M.rule==="string"?[M.rule]:[]));for(let M of z){if(T.has(M))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${M}"`,path:["tests"]})}}if(!Array.isArray(_.allowed_commands)||!Array.isArray(_.rules))return;let k=new Set(_.allowed_commands.filter((z)=>typeof z==="string"));_.rules.forEach((z,M)=>{let W=Je(z)?z.command:void 0;if(typeof W!=="string"||k.has(W))return;v.addIssue({code:"custom",message:`"${W}" must be listed in allowed_commands`,path:["rules",M,"command"]})})})),w=e.string({error:"required string"}).refine((_)=>_.trim()!=="",{error:"required string"}),E=e.looseObject({spec:w,name:w,version:w,digest:e.string({error:"required sha256 digest"}).regex(f$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(E,e.discriminatedUnion("kind",[e.object({kind:e.literal("local-directory"),path:w}),e.object({kind:e.literal("github"),owner:w,repo:w,ref:w,commit:w,path:w,display_ref:e.unknown().optional()})],{error:(_)=>{if(!Je(_.input))return"must be an object";let v=_.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:R,RulesLockfileSchema:P}}function Ci(){return vC??=h$(),vC}function _C(){return Ci().RulesConfigSchema}function y$(){return Ci().UserPolicySchema}function CC(){return Ci().RulebookSchema}function wC(){return Ci().RulesLockfileSchema}function bh(e){let t=Je(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Je(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function RC(e){let t=Ci().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:Yr(kC(t.error.issues,p$)),sources:x$(e,t.error.issues)}}function EC(e){let t=y$().safeParse(e);if(t.success)return[];return Yr(kC(t.error.issues,g$)," ")}function Yr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>PC(r,t,n,[])))]}function PC(e,t,n,r){let o=[...r,...e.path],i=S$(o);if(e.code==="unrecognized_keys")return e.keys.map((s)=>`${i?`${i}.`:""}unknown field "${s}"`);if(e.code==="invalid_key")return e.issues.map((s)=>s.message);if(e.code==="invalid_union"){let s=e.errors.flat().filter((a)=>a.path.length>0);if(s.length>0)return s.flatMap((a)=>PC(a,t,n,o))}if(o.length===0)return[e.code==="invalid_type"?"Config must be an object":e.message];if(o.length===1&&(e.code==="too_big"||e.code==="too_small")&&e.origin==="array")return[e.message];return[`${i}${o.length===1?n:t}${b$(e)}`]}function b$(e){if(e.code==="invalid_value")return`must be ${v$(e.values)}`;if(e.code!=="invalid_type"||!e.message.startsWith("Invalid input:"))return e.message;if(e.expected==="object"||e.expected==="record")return"must be an object if provided";return e.expected==="boolean"?"must be a boolean":e.message}function v$(e){if(e.length>3)return`one of ${e.join(", ")}`;let t=e.map((n)=>typeof n==="string"?`"${n}"`:String(n));if(t.length<2)return`${t[0]}`;return`${t.slice(0,-1).join(", ")}${t.length>2?",":""} or ${t.at(-1)}`}function S$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function kC(e,t){let n=e.map((i)=>i.path[1]),r=[...new Set(n.filter((i)=>typeof i==="string"))],o=(i,s)=>[i.path.length===0?-1:t.indexOf(String(i.path[0])),typeof s==="number"?s:r.indexOf(String(s)),i.code==="custom"?0:1];return e.map((i,s)=>({issue:i,rank:o(i,n[s])})).sort((i,s)=>i.rank[0]-s.rank[0]||i.rank[1]-s.rank[1]||i.rank[2]-s.rank[2]).map((i)=>i.issue)}function x$(e,t){let n=Je(e)?e.rules:void 0;if(!Array.isArray(n))return new Set;if(t.some((o)=>o.path.length===1&&o.path[0]==="rules"))return new Set;let r=new Set(t.filter((o)=>o.path[0]==="rules"&&typeof o.path[1]==="number").map((o)=>o.path[1]));return new Set(n.filter((o,i)=>typeof o==="string"&&!r.has(i)))}function Je(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function _$(e){return RC(e)}function vh(e){try{let t=gn(C$(e));if(t===null)return{config:null,errors:[]};if(!t.trim())return{config:null,errors:["Config file is empty"]};let n=JSON.parse(t),r=_$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=_C().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof ae)return{config:null,errors:[t.message]};let n=t instanceof Error?t.message:String(t);return{config:null,errors:[t instanceof SyntaxError?"Invalid JSON":n]}}}function C$(e){return typeof e==="string"?Di(e):e}var k$=new Set(["standard","strict","paranoid"]),A$={version:1,safety:{level:"standard",overrides:{}},workflow:{worktree_mode:!1},destructive_command_protection:{enabled:!0,overrides:{},allow_paths:[]},secret_protection:{enabled:!0,overrides:{},deny_paths:[],allow_paths:[]},audit:{retention_days:Ii}};function Sh(e){return P$(E$(hn(e)),Li)}function OC(e={}){let t=N$(Sh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function AC(e){if(!kt(e))return z$();let t=kt(e.safety)?e.safety:{},n=kt(t.overrides)?t.overrides:{},r=kt(e.workflow)?e.workflow:{},o=kt(e.destructive_command_protection)?e.destructive_command_protection:{},i=kt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:k$.has(t.level)?t.level:"standard",overrides:{...typeof n.fail_closed==="boolean"?{fail_closed:n.fail_closed}:{},...typeof n.paranoid_rm==="boolean"?{paranoid_rm:n.paranoid_rm}:{},...typeof n.paranoid_interpreters==="boolean"?{paranoid_interpreters:n.paranoid_interpreters}:{}}},workflow:{worktree_mode:typeof r.worktree_mode==="boolean"?r.worktree_mode:!1},destructive_command_protection:{enabled:typeof o.enabled==="boolean"?o.enabled:!0,overrides:TC(o.overrides,Qi),allow_paths:I$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:TC(i.overrides,pl),deny_paths:T$(i.deny_paths),allow_paths:O$(i.allow_paths)},audit:{retention_days:Oi(kt(e.audit)?e.audit.retention_days:void 0)}}}function TC(e,t){if(!kt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function T$(e){if(!Array.isArray(e))return[];let t=pn();return e.filter((n)=>Gs(n,t)===null)}function I$(e){if(!Array.isArray(e))return[];let t=pn();return e.filter((n)=>Fs(n,t)===null)}function O$(e){if(!Array.isArray(e))return[];let t=pn();return e.filter((n)=>Zs(n,t)===null)}function kt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function z$(){return structuredClone(A$)}function N$(e){let t=D$();if(!w$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!kt(n))return{policy:t,errors:[]};return{policy:IC(AC(n)),errors:[]}}try{let n=R$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=EC(r),i=IC(AC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:kt(r)?"salvaged":"defaults"};return{policy:i,errors:[]}}catch(n){let r=n instanceof Error?n.message:String(n);return{policy:t,errors:[`${e}: ${n instanceof SyntaxError?"Invalid JSON":r}`],fallback:"defaults"}}}function zC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...bC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function D$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:zC({}),denyPaths:[],allowPaths:[]}}}function IC(e){return{safety:$$(e.safety),worktreeMode:e.workflow.worktree_mode,destructiveCommandProtectionEnabled:e.destructive_command_protection.enabled,destructiveCommandRuleOverrides:e.destructive_command_protection.overrides,destructiveCommandAllowPaths:e.destructive_command_protection.allow_paths,secretProtection:{enabled:e.secret_protection.enabled,disabledRules:zC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function $$(e){let t={...e.overrides.fail_closed!==void 0?{failClosed:e.overrides.fail_closed}:{},...e.overrides.paranoid_rm!==void 0?{paranoidRm:e.overrides.paranoid_rm}:{},...e.overrides.paranoid_interpreters!==void 0?{paranoidInterpreters:e.overrides.paranoid_interpreters}:{}};return{level:e.level,...Object.keys(t).length>0?{overrides:t}:{}}}var MC="This path contains the protected policy config and you must not modify or delete it.",L$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function LC(e){let t=yn(It()),n=U$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return NC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=De(e,"input-candidate");if(e.invocation.route.kind==="command")return r?DC(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=DC(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return NC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||zs(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function NC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>wi(s,n,r,o));return i?{target:i}:null}function DC(e,t,n,r){let o=Ds(e,t,r,{findSegmentTarget:(i,s)=>W$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>wi(i,s.cwd,n,r),findMalformedTarget:(i)=>B$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function W$(e,t,n,r){if(xo(e))return null;let o=r.environment,i=Jt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&F$(a)){let c=G$(a).find((l)=>$C($e(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Ys(i,1)||Wu(i,o)){let l=(Ks(j(i))??j(["."])).find((u)=>{let d=$e(u.text,t.variables);return wi(d,t.cwd,n,r)||$C(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=$s(a).sources.find((l)=>j$($e(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(Z$(e,o))return null;for(let c of[...e,...i])for(let l of WC(c))if(wi($e(l,t.variables),t.cwd,n,r))return{target:l};return null}function F$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function G$(e){let t=e.indexOf("--");if(t!==-1)return[...e.slice(0,t).filter((n)=>!n.startsWith("-")),...e.slice(t+1)];return e.filter((n)=>!n.startsWith("-"))}function Z$(e,t){let n=Jt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!L$.has(r))return!1;if(r!=="sed")return!0;return!n.slice(1).some((o)=>o.startsWith("-i")||o==="--in-place"||o.startsWith("--in-place="))}function B$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of WC(o))if(wi(i,t,n,r))return{target:i};return null}function WC(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function U$(e,t){let n=ve(Sh(),e,t),r=xh(n),o=new Set;for(let i=r;;i=xh(i))if(o.add(Jr(i)),xh(i)===i)break;return{file:Jr(n),directoryAndAncestors:o}}function wi(e,t,n,r){let o=ov(e,t,r,(i)=>Jr(i)===M$(n.file));return o!==null&&Jr(o)===n.file}function $C(e,t,n,r){return n.directoryAndAncestors.has(Jr(ve(e,t,r)))}function j$(e,t,n,r){let o=Jr(ve(e,t,r));return o===n.file||n.directoryAndAncestors.has(o)}function Jr(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as Ch}from"os";import{isAbsolute as hl,posix as H$,resolve as bl,win32 as V$}from"path";import{fileURLToPath as q$}from"url";var YC="Access to a sensitive path is not allowed.",JC=new Set(["echo","printf"]),K$=new Set(["find"]),Y$=new Set(["-exec","-execdir"]),J$=new Set([";","+"]),X$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),Q$=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),e0=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),t0=new Set(["node","bun"]),n0=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),r0=new Set(["append","awk","base64","cat","chmod","chown","connect","copy","cp","database","dd","eval","exec","fetch","file","function","grep","head","include","load","move","mv","open","popen","read","remove","rename","require","rg","rm","sed","shell","source","spawn","strings","system","tail","tar","truncate","unlink","write","xxd","zip"]),XC=new Set(["-c","-e","-r","-E","--eval","--exec"]),o0=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),FC=new Set(["cc-safety-net","ccsn"]),i0=new Set(["bunx","npx","pnpx"]),s0=new Set(["bun","node"]),a0=new Map([["c",new Set(["bash","sh","zsh","dash","ksh","python"])],["e",new Set(["node","deno","bun","ruby","perl","rscript","osascript"])],["E",new Set(["perl"])],["r",new Set(["php"])]]),c0=new Set(["grep","rg"]),GC="f",ZC="file",l0="files",u0=new Set(["e","f"]),d0=new Set(["regexp","file"]),m0=new Set(["e","f","A","B","C","m"]),f0=new Set(["regexp","file","after-context","before-context","context","max-count"]),p0=new Set(["|","|&"]),_h="__CC_SAFETY_NET_PIPE_INPUT__",QC=new Set(["bash","sh","zsh","dash","ksh"]),g0=new Map([["bash",new Set(["-O"])],["sh",new Set(["-O"])],["zsh",new Set(["-o"])],["dash",new Set(["-o"])],["ksh",new Set(["-o"])],["python",new Set(["-W","-X"])],["node",new Set(["-r","--require","--loader","--import","--input-type"])]]);function BC(e,t,n,r,o){let i=to();for(let s of e){if(nM(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=eM(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&rM(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function ew(e,t,n={}){let r=UC(e),o=BC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?UC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:BC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&h0(e))return null;return s}function h0(e){if(e.invocation.route.kind!=="command")return!1;let t=De(e,"input-candidate")??De(e,"declared-command");if(!t)return!1;if(t.program.nodes.some((s)=>s.kind==="command"&&s.nested.length>0))return!1;let n=[];for(let s of t.shell.entries){if(s.kind==="operator"&&s.boundary)return!1;if(s.kind==="redirection")return!1;if(s.kind!=="operator")n.push(ht(s.text))}let r=Xr(n);if(r.length===0)return!1;let o=jn(r[0]??"").toLowerCase(),i=r.slice(1);if(o==="ls"||o==="stat")return!0;if(o==="test")return i.length===2&&(i[0]==="-e"||i[0]==="-f");if(o!=="find")return!1;return!i.some((s)=>X$.has(s))}function UC(e,t={}){if(e.invocation.route.kind==="command"){let r=De(e,"input-candidate");return r?Pi(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=De(e,"input-candidate");return[...n?Pi(n.shell,e.store,t):[],...e.paths]}function Pi(e,t,n){if(e.status==="structural-limit")throw new gt;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...$0(ht(e.source),t,n)],o=[],i=null;for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;if(o.length>0){if(r.push(...yl(o,t,n)),i!==null)r.push(...HC(i,o,t,n));i=p0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?ht(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(ht(s.text))}if(o.length>0){if(r.push(...yl(o,t,n)),i!==null)r.push(...HC(i,o,t,n))}return r}function yl(e,t,n){let r=E0(e),o=Xr(e);if(o.length===0)return r;let i=o[0]??"",s=jn(i).toLowerCase(),a=o.slice(1),c=b0(i,s,a);if(c)return[...r,...c];if(JC.has(s))return r;if(c0.has(s))return[...r,...U0(a)];if(K$.has(s))return[...r,...P0(a,t,n)];if(Me.has(s))return[...r,...a.flatMap((l)=>VC("awk",l)),...a.flatMap((l)=>A0(l,t,n)),...a.flatMap(T0)];if(rw(s)){if(QC.has(s)){let l=tv(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new gt}return[...r,...k0(s,a,n)]}return[...r,...a.flatMap((l)=>VC(s,l))]}function y0(e,t){if(FC.has(e))return t[0]==="explain"?0:null;if(i0.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return FC.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(s0.has(e)){if(jC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&jC(t[1])&&t[2]==="explain")return 2}return null}function b0(e,t,n){let r=y0(t,n);if(r===null)return null;let o=[e,...n.slice(0,r)],i=n.slice(r+1);for(let s=0;s<i.length;s++){let a=i[s];if(a==="--json"||a==="--help"||a==="-h")continue;if(a==="--cwd"){let c=i[s+1];if(c&&!c.startsWith("--"))o.push(c);s++;continue}return o}return o}function jC(e){let t=e?.replaceAll("\\","/");return[...o0].some((n)=>t===n||t?.endsWith(`/${n}`))}function HC(e,t,n,r){if(C0(t,n,r))return v0(e);let o=w0(t);if(o===null)return[];return S0(e).flatMap((i)=>QC.has(o)?Pi(n.getShellSyntax(i),n,r):iw(i))}function v0(e){let t=Xr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase();if(!JC.has(n))return[];return t.slice(1)}function S0(e){let t=Xr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase(),r=t.slice(1);if(n==="echo"){let o=r.findIndex((i)=>!/^-[neE]+$/.test(i));return[(o===-1?[]:r.slice(o)).join(" ")]}if(n==="printf")return x0(r);return[]}function x0(e){let t=e[0];if(t===void 0)return[];let n=(t.match(/%%|%[bqs]/g)??[]).filter((o)=>o!=="%%").length;if(n===0||e.length===1)return[tw(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>_0(t,r.slice(i*n,(i+1)*n)))}function _0(e,t){let n=0;return tw(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function tw(e){return e.replace(/\\n/g,`
99
- `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function C0(e,t,n){let r=Xr(e);if(r.length===0||jn(r[0]??"").toLowerCase()!=="xargs")return!1;let o=An(r),i=r.slice(o.childStart);if(i.length===0)return!1;if(o.replacementToken==="")return!1;let s=o.replacementToken,a=s===null?[...i,_h]:i.map((c)=>c.split(s).join(_h));return yl(a,t,n).some((c)=>c.includes(_h))}function w0(e){let t=Xr(e);if(t.length===0)return null;let n=jn(t[0]??"").toLowerCase();if(!rw(n))return null;return R0(n,t.slice(1))?n:null}function R0(e,t){let n=nw(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(XC.has(o)||ow(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(g0.get(n)?.has(o))r++;continue}return!1}return!0}function nw(e){return/^python\d/.test(e)?"python":e}function E0(e){let t=[];for(let n of e){if(cw(n))continue;let r=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(n);if(r===null)break;if(r[1]!==void 0&&r[1]!=="")t.push(r[1])}return t}function VC(e,t){if(t==="--")return[];let n=[],r=t.indexOf("=");if(r>0&&r<t.length-1)n.push(t.slice(r+1));if(t.startsWith("-"))return n;if(e==="tar"&&/\.(?:tar|tgz|tar\.gz|zip)$/i.test(t))return n;if(e==="zip"&&/\.zip$/i.test(t))return n;return n.push(t),n}function P0(e,t,n){let r=e.findIndex((i)=>i.startsWith("-")||i==="("||i==="!"||i===";"),o=[...e.slice(0,r===-1?e.length:r)];for(let i=0;i<e.length;i++){if(!Y$.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>J$.has(u)),c=a===-1?s:s.slice(0,a),l=yl(c,t,n);if(o.push(...l.filter((u)=>u!=="{}")),!l.includes("{}"))continue;o.push(...e.slice(0,i).flatMap((u,d,f)=>{if(!Q$.has(u))return[];let m=f[d+1];return m===void 0?[]:[m,m.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function rw(e){return e0.has(e)||/^python\d/.test(e)}function k0(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(XC.has(i)||ow(e,i)){let a=t[o+1];if(a!==void 0)r.push(...qC(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...qC(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function ow(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return a0.get(t[t.length-1]??"")?.has(nw(e))??!1}function A0(e,t,n){if(!e.includes("system"))return[];return Du(e)?.commands.flatMap((r)=>Pi(t.getShellSyntax(r),t,n))??[]}function T0(e){return Array.from(e.matchAll(/\bgetline(?:\s+[A-Za-z_][A-Za-z0-9_]*)?\s*<\s*"((?:\\.|[^"\\])*)"/g)).map((t)=>t[1]).filter((t)=>t!==void 0&&t!=="")}function iw(e){let t=Array.from(e.matchAll(/(['"`])((?:\\.|(?!\1).)*)\1/g)).map((r)=>r[2]).filter((r)=>r!==void 0&&r!==""),n=(e.match(/[\w./~@+-]*[./~][\w./~@+-]*/g)??[]).filter((r)=>r!=="process.versions.sqlite"||t.some((o)=>o.includes(r)));return[...t,...t.flatMap(sw),...n]}function qC(e,t,n){let r=iw(t);if(!n.refineJavaScriptInlineData||!t0.has(e)||r.length===0)return r;let o=I0(t);return o!==null&&!z0(o)?[]:r}function I0(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&O0(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
100
- `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function O0(e,t){for(let n=t-1;n>=0;n--){let r=e[n];if(!r||/\s/.test(r))continue;return/[\w$\])]/.test(r)}return!1}function z0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(n0.has(n.toLowerCase()))return!0;let o=n.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_$\s]+/).map((i)=>i.toLowerCase());if(!o.some((i)=>r0.has(i)))continue;if(o.length>1)return!0;if(N0(e,r)===".")return!0;if(D0(e,r+n.length)==="(")return!0}return!1}function N0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function D0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function $0(e,t,n){return G0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Pi(o,t,n),...M0(o)?L0(o):[]]})}function M0(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||jn(ht(r.text)).toLowerCase()!=="base64")continue;for(let o=n+1;o<t.length;o++){let i=t[o];if(i?.kind==="operator")break;if(i?.kind!=="word")continue;let s=ht(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function L0(e){return e.entries.flatMap((t)=>t.kind==="word"?[ht(t.text)]:t.kind==="redirection"&&t.target?[ht(t.target)]:[]).flatMap(sw)}function sw(e){let t=F0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||W0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function W0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function F0(e){if(e.length<8||!/^[A-Za-z0-9+/_-]+={0,2}$/.test(e))return null;if(/=/.test(e.replace(/=+$/g,"")))return null;let t=e.replace(/=+$/g,"");if(t.length%4===1)return null;return`${t.replace(/-/g,"+").replace(/_/g,"/")}${"=".repeat((4-t.length%4)%4)}`}function G0(e){let t=[],n={inSingle:!1,inDouble:!1,escaped:!1};for(let r=0;r<e.length;r++){let o=e[r];if(!o)break;if(ho(o,n))continue;if(aw(e,r,n)){let i=Z0(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=B0(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function Z0(e,t){let n={inSingle:!1,inDouble:!1,escaped:!1},r=1;for(let o=t+1;o<e.length;o++){let i=e[o];if(!i)break;if(ho(i,n))continue;if(aw(e,o,n)){r++,o++;continue}if(!n.inSingle&&!n.inDouble&&i===")"){if(r--,r===0)return{body:e.slice(t+1,o),endIndex:o}}}return null}function B0(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let o=e[r];if(!o)break;if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(o==="`")return{body:e.slice(t+1,r),endIndex:r}}return null}function aw(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function U0(e){let t=[],n=[],r=!1,o=!1,i=!1;for(let c=0;c<e.length;c++){let l=e[c];if(l===void 0)break;if(!i&&l==="--"){i=!0;continue}if(i){n.push(l);continue}let u=/^--([^=]+)(?:=(.*))?$/.exec(l);if(u!==null){let d=u[1]??"",f=u[2];if(d===l0)o=!0;if(d0.has(d))r=!0;if(f!==void 0){if(d===ZC)t.push(f);continue}if(f0.has(d)){let m=e[c+1];if(d===ZC&&m!==void 0)t.push(m);c++}continue}if(l.startsWith("-")&&l.length>1){let d=l.slice(1),f="",m="";for(let p=0;p<d.length;p++){let h=d[p]??"";if(u0.has(h))r=!0;if(m0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===GC)t.push(m)}else{let p=e[c+1];if(f===GC&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Xr(e){let t=e.findIndex((n)=>!cw(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function cw(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var j0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),H0=".env.",V0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),q0=[".env.example.",".env.sample."];function K0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function Y0(e){return e.length>0&&!/\s/.test(e)}function J0(e,t,n){try{let r=ki(e,t,n);return r!==""&&Ue.entryKind(r)!=="missing"}catch(r){if(r instanceof be)throw r;return!1}}var X0=new Set(["node_modules","__pycache__"]),Q0=[["vendor","bundle"],["vendor","cache"]];function eM(e,t,n,r){if(K0(e))return null;let o=At(e,t,r);if(!o)return null;let i=ne(o.split("/").pop()??""),s=ne(o),a=()=>Y0(i)||J0(e,t,r);if(V0.has(i)||q0.some((d)=>i.startsWith(d)))return null;let c=ne(sM(e,t,r));for(let d of fh){let f=`~/${d.suffixParts.join("/")}`;if((KC(s,f)||KC(c,f))&&Bt(d.id,n))return d.id}let l=tM(o,t,n,r);if(l)return l;if(j0.has(i))return null;for(let d of mh)if(i===d.basename&&Bt(d.id,n))return d.id;if(i.startsWith(H0)&&Bt(ml.id,n)&&a())return ml.id;for(let d of ph)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Bt(d.id,n)&&a())return d.id}for(let d of gh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Bt(d.id,n))return d.id}if(oM(s))return null;if(!i.includes(".")&&_i.pattern.test(i)&&Bt(_i.id,n))return _i.id;let u=iM(i,n);if(u)return u;return null}function tM(e,t,n,r){return fl.find((o)=>{if(!Bt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return Q(e,te(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=ne(e).split("/");return Q(e,te(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||Ei(e,"~/.claude.json",t,r)||i.at(-1)==="settings.local.json"&&i.at(-2)===".claude"||i.at(-1)===".mcp.json"}case"secret.cli.antigravity":return Q(e,At("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=te(process.env.CODEX_HOME,"~/.codex",t,r);return Q(e,i,["auth.json",".credentials.json"])||Ri(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=te(process.env.CODEX_HOME,"~/.codex",t,r),s=ne(e).split("/").at(-1)??"";return Q(e,i,["config.toml"])||s.endsWith(".config.toml")&&Q(e,i,[s])}case"secret.cli.gemini":return Q(e,ye(te(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["oauth_creds.json","mcp-oauth-tokens.json","a2a-oauth-tokens.json","gemini-credentials.json"]);case"secret.cli.gemini.config":{let i=ne(e).split("/"),s=process.env.ProgramData?[ye(te(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return Q(e,ye(te(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["settings.json","google_accounts.json"])||i.at(-1)==="settings.json"&&i.at(-2)===".gemini"||(process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?.trim()?Ei(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>Q(e,At(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=te(process.env.COPILOT_HOME,"~/.copilot",t,r);return Q(e,i,["config.json"])||Ri(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return Q(e,te(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=te(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=te(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return Q(e,i,["server.token"])||Ri(e,i,["credentials"])||Ri(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=ne(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||Q(e,te(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||Q(e,te(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ye(te(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=ne(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return Q(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&Q(e,i,[s])||c.some((l)=>Ei(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?te(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ye(te(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(ne(e).split("/").at(-1)??"")||Q(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?Ei(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>Q(e,At(c,t,r),a))}case"secret.cli.pi":return Q(e,te(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return Q(e,te(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=At("~",t,r);return[ye(te(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ye(i,".local","share","amp")].some((a)=>Q(e,a,["secrets.json"]))||Ri(e,ye(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ye(At("~",t,r),".config","amp")],a=ne(e).split("/");return s.some((c)=>Q(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?Ei(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ye(te(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return Q(e,At("~/.cursor",t,r),["auth.json"])||Q(e,i,["auth.json"])||ne(e).split("/").at(-1)==="mcp-auth.json"&&Un(ne(e),ne(s))}case"secret.cli.cursor.config":{let i=ne(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}case"secret.cli.grok-build":return Q(e,te(process.env.GROK_HOME,"~/.grok",t,r),["auth.json","mcp_credentials.json"]);case"secret.cli.grok-build.config":{let i=ne(e).split("/");return i.at(-1)==="config.toml"&&i.at(-2)===".grok"||Q(e,te(process.env.GROK_HOME,"~/.grok",t,r),["config.toml","managed_config.toml","requirements.toml"])||Q(e,At("/etc/grok",t,r),["managed_config.toml","requirements.toml"])}default:return!1}})?.id??null}function te(e,t,n,r){return At(e?.trim()?e:t,n,r)}function Q(e,t,n){return n.some((r)=>lw(e,ye(t,r)))}function Ri(e,t,n){return n.some((r)=>Un(ne(e),ne(ye(t,r))))}function Ei(e,t,n,r){return lw(e,At(t,n,r))}function lw(e,t){return ne(e)===ne(t)}function ye(e,...t){return lt([e,...t].filter(Boolean).join("/"))}function nM(e,t,n,r,o){if(n.length===0)return!1;let i=ne(ki(e,t,o));return n.some((s)=>Un(i,ne(ki(s,r,o))))}function rM(e,t,n,r,o){if(n.length===0)return!1;let i=ne(ki(e,t,o));if(!i)return!1;let s=process.env.HOME??Ch(),a=s?lt(Y(Te(s),Ue,o)):"",c=ne(a),l=process.env.CC_SAFETY_NET_HOME,u=ne(l?lt(Y(bl(Te(l)),Ue,o)):a&&lt(Y(`${a}/.cc-safety-net`,Ue,o)));if(u&&Un(i,u))return!1;return n.some((d)=>{let f=ne(ki(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Un(i,f)})}function oM(e){let t=e.split("/");return t.some((n)=>X0.has(n))||Q0.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function iM(e,t){let n=e.lastIndexOf("."),r=n>0&&n<e.length-1?e.slice(n+1):"";if(r==="")return null;for(let o of hh)if(r===o.extension&&Bt(o.id,t))return o.id;for(let o of yh)if(o.pattern.test(r)&&Bt(o.id,t))return o.id;return null}function ne(e){return e.toLowerCase()}function Bt(e,t){return!t?.disabledRules?.includes(e)}function At(e,t,n){let{home:r,normalized:o}=wh(e,n);if(!o)return"";if(!r)return o;let i=Rh(o,r),s=hl(i)?i:lt(bl(t,i)),a=lt(Y(s,Ue,n));if(!Un(a,r)){if(hl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function KC(e,t){return e===t||e.startsWith(`${t}/`)}function sM(e,t,n){let{home:r,normalized:o}=wh(e,n);if(!o||!r)return"";let i=Rh(o,r),s=H$.normalize(hl(i)?i:lt(bl(t,i))),a=lt(Te(process.env.HOME??Ch())),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Un(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function ki(e,t,n){let{home:r,normalized:o}=wh(e,n);if(!o)return"";let i=r?Rh(o,r):o;return lt(Y(hl(i)?i:bl(t,i),Ue,n))}function wh(e,t){let n=process.env.HOME??Ch(),r=n?lt(Y(Te(n),Ue,t)):"",o=lt(Te(aM(ht(e))));return{home:r,normalized:o}}function aM(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return q$(e)}catch{return e}}function Rh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ye(t,e.slice(2));return e}function cM(e){if(process.platform==="win32")return!0;return V$.parse(e).root.length>1}function lt(e){let t=e.trim(),n=(cM(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Un(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function jn(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as vl}from"path";var uw="Rulebook exceeds CC Safety Net's safe validation limits.",dw="Additional rulebook validation errors were omitted.",ut=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function mw(e){if(Eh(e.allowed_commands,ut.maxAllowedCommands)||Eh(e.rules,ut.maxRules)||Eh(e.tests,ut.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ut,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ut.maxStringCodeUnits||i&&o.length>ut.maxFixtureCommandCodeUnits||o.length>t)return!1;return t-=o.length,!0};if(!r(e.name)||!r(e.version)||!r(e.description)||!r(e.author)||!r(e.migrated_from))return!1;if(Array.isArray(e.allowed_commands)){for(let o of e.allowed_commands)if(!r(o))return!1}if(Array.isArray(e.rules))for(let o of e.rules){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.name)||!r(i.command)||!r(i.subcommand)||!r(i.reason)||!r(i.intent))return!1;if(!Array.isArray(i.block_args))continue;if(i.block_args.length>ut.maxBlockArgsPerRule||i.block_args.length>n)return!1;n-=i.block_args.length;for(let s of i.block_args)if(!r(s))return!1}if(Array.isArray(e.tests))for(let o of e.tests){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.command,!0)||!r(i.expect)||!r(i.rule))return!1}return!0}function Eh(e,t){return Array.isArray(e)&&e.length>t}function lM(e){if(!uM(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!mw(e))return{errors:[uw],ruleNames:new Set};let t=CC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:Yr(t.error.issues,": ",": ")];return{errors:n.length>ut.maxValidationErrors?[...n.slice(0,ut.maxValidationErrors),dw]:n,ruleNames:new Set(bh(e).map((r)=>r.toLowerCase()))}}function Ph(e){let t=lM(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function uM(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function kh(e){if(Mi(e.spec))return fM(e);return mM(e)}function mM(e){if(!dt.test(e.spec))return`Local rulebook sources must be bare names matching ${dt}: ${e.spec}`;if(e.kind!=="local-directory")return`lock entry for ${e.spec} must use local-directory kind`;if(e.path===e.spec&&e.name===e.spec)return null;return`lock entry for ${e.spec} does not match local source identity`}function fM(e){let t=Qr(e.spec);if(t)return t;let n=$i(e.spec);if(e.kind!=="github")return`lock entry for ${e.spec} must use github kind`;if(e.owner===n.owner&&e.repo===n.repo&&e.ref===n.ref&&e.path===n.path&&e.name===n.name)return null;return`lock entry for ${e.spec} does not match GitHub source identity`}function fw(e){let t=typeof e==="string"?e:e.path;try{let n=gn(typeof e==="string"?Di(e):e);if(n===null)return{lock:null,errors:[]};let r=JSON.parse(n);if(!r||typeof r!=="object")return{lock:null,errors:[`malformed lockfile ${t}: must be an object`]};let o=r;if(o.version!==1||!Array.isArray(o.rulebooks))return{lock:null,errors:[`malformed lockfile ${t}`]};let i=wC().safeParse(o),s=o.rulebooks.flatMap((c,l)=>{let u=i.success?[]:i.error.issues.filter((f)=>f.path[1]===l);if(u.length>0)return Yr(u).map((f)=>`${t}: ${f}`);let d=kh(c);return d?[`${t}: rulebooks[${l}]: ${d}`]:[]});if(!i.success||s.length>0)return{lock:null,errors:[`malformed lockfile ${t}`,...s]};return{lock:{version:1,rulebooks:i.data.rulebooks.map((c)=>{if(c.kind==="local-directory")return{spec:c.spec,kind:c.kind,path:c.path,name:c.name,version:c.version,digest:c.digest};let l={spec:c.spec,kind:c.kind,owner:c.owner,repo:c.repo,ref:c.ref,commit:c.commit,path:c.path,name:c.name,version:c.version,digest:c.digest};return typeof c.display_ref==="string"&&c.display_ref!==""?{...l,display_ref:c.display_ref}:l})},errors:[]}}catch(n){if(n instanceof ae)return{lock:null,errors:[n.message]};return{lock:null,errors:["malformed lockfile"]}}}import{createHash as pM}from"crypto";var n2=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function pw(e){return`sha256:${pM("sha256").update(e).digest("hex")}`}function vw(e={}){let t=Hh(e),n=!1;try{n=Lh(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return bM(t,f.message);throw f}let r=vh(t.userConfigTarget),o=n?{config:null,errors:[]}:vh(t.projectConfigTarget),i=bw(t.userConfigPath,r.errors),s=bw(t.projectConfigPath,o.errors),a=new Set,c=r.config?gw(r.config,t.userLockPath,vl(t.userConfigPath),e,"user",t.userScope,a):Ai(),l=o.config?gw(o.config,t.projectLockPath,vl(t.projectConfigPath),e,"project",t.projectScope,a):Ai(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...hw(c.rules,u),...hw(l.rules,d)],transparent_wrappers:hM(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?yw(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?yM(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?yw(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function gw(e,t,n,r,o,i=Ut(vl(vl(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=Ot(i,t)}catch(b){if(b instanceof ae)return{...Ai(),errors:[b.message],canValidateOverrides:!1};throw b}let c=fw(a);if(c.errors.length>0)return{...Ai(),errors:c.errors,canValidateOverrides:!1};let l=c.lock;if(!l&&e.rules.length>0)return{...Ai(),errors:[`missing lockfile ${t}; run ${Vt}`],canValidateOverrides:!1};let u=l?.rulebooks??[],d=new Map(u.map((b)=>[b.spec,b])),f=[],m=[],p=e.rules.flatMap((b)=>{let y=d.get(b);if(!y)return f.push(`missing lock entry for ${b}; run ${Vt}`),[];let R=gM(y,n,r,i);if(R.errors.length>0||!R.rulebook)return f.push(...R.errors),[];let w=R.rulebook;if(s.has(w.name))return m.push(`duplicate active rulebook name "${w.name}" for ${b}; keeping the first and ignoring this one, so its rules are not active; rename one of them, then run ${Vt}`),[];return s.add(w.name),[{rules:w.rules.map((E)=>({...E,name:`${w.name}/${E.name}`})),rulebook:{source:o,spec:y.spec,name:w.name,version:w.version,rules:w.rules.map((E)=>`${w.name}/${E.name}`)}}]}),h=p.flatMap((b)=>b.rules);return{rules:h,rulebooks:p.map((b)=>b.rulebook),entries:u,knownRuleIds:new Set(h.map((b)=>b.name)),errors:f,warnings:m,canValidateOverrides:f.length===0}}function gM(e,t,n,r){let o=kl(e,Al(t,n)),i;try{i=gn(Ot(r,o))}catch(a){if(a instanceof ae)return{rulebook:null,errors:[a.message]};throw a}if(i===null)return{rulebook:null,errors:[`missing cache entry for ${e.spec}; run ${Vt}`]};if(pw(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Vt}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{Ph(s)}catch(a){return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}: ${a instanceof Error?a.message:"invalid rulebook"}`]}}return{rulebook:s,errors:[]}}function hM(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function hw(e,t){return e.flatMap((n)=>{let r=t[n.name];if(r==="off")return[];if(r&&typeof r==="object")return[{...n,intent:r.intent??n.intent,reason:r.reason}];return[n]})}function yw(e,t,n){return Object.keys(e).filter((r)=>!t.has(r)).map((r)=>`unknown override key "${r}" in ${n}; only that override is ignored and other overrides and rules keep their configured state; correct or remove it in that file`)}function yM(e,t,n){return Object.keys(e).filter((r)=>t.has(r)).map((r)=>`project override cannot target user-scoped rule "${r}" in ${n}; only that override is ignored and the rule keeps its user-configured state; remove it from that file`)}function bw(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function bM(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath,userLockPath:e.userLockPath,projectLockPath:e.projectLockPath}}function Ai(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function Sw(e={}){let t=vw(e),n=OC(e),r={rules:t.rules,transparentWrappers:t.transparent_wrappers,safety:n.safety,worktreeMode:n.worktreeMode,destructiveCommandProtectionEnabled:n.destructiveCommandProtectionEnabled,destructiveCommandRuleOverrides:n.destructiveCommandRuleOverrides,destructiveCommandAllowPaths:n.destructiveCommandAllowPaths,secretProtection:{enabled:n.secretProtection.enabled??!0,disabledRules:n.secretProtection.disabledRules??[],denyPaths:n.secretProtection.denyPaths,allowPaths:n.secretProtection.allowPaths??[]}},o={...t.userConfig?.overrides??{},...t.projectConfig?.overrides??{}},i=Object.freeze(Object.fromEntries(r.rules.map((s)=>{let a=t.rulebooks.find((l)=>l.rules.includes(s.name)),c=o[s.name];return[s.name,Object.freeze({id:s.name,...a?{rulebook:Object.freeze({name:a.name,version:a.version}),..._M(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return CM(r,vM(t,n),i)}function vM(e,t){let n=xM(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:wM(e.errors.length>0?SM(e.errors):void 0,e.warnings.length>0?Ah(e.warnings.join("; ")):void 0,n)}}function SM(e){return`${Ah(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function xM(e){if(e.errors.length===0)return;let t=e.fallback==="salvaged"?"the salvaged policy with protective defaults":"built-in protective defaults";return`invalid policy config: ${e.errors.join("; ")}. Enforcing ${t}; the invalid values are not active. Fix the policy file manually`}function _M(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function CM(e,t,n=Object.freeze({})){let r=xw(structuredClone(e));if(!t)return Object.freeze({state:"ready",policy:r,diagnostics:Object.freeze([]),ruleMetadata:n});return Object.freeze({state:"degraded",policy:r,diagnostics:Object.freeze([...t.diagnostics]),reason:t.reason,ruleMetadata:n})}function xw(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))xw(t);return Object.freeze(e)}function wM(...e){return Ah(e.filter((t)=>!!t).join("; "))}function Ah(e){return/[.!?]$/.test(e)?e:`${e}.`}class mn extends Error{stage;evaluation;name="GuardEvaluationError";constructor(e,t,n){super(`CC Safety Net ${e} dependency failed`,{cause:n});this.stage=e;this.evaluation=t}}var RM={findPolicyMutation:LC,findGitMetadataMutation:cv,resolveGitMetadata:Ru,loadPolicySnapshot:Sw,findSensitiveTarget:ew,analyzeCommand:hx,getModes:Rd};function _w(e,t={}){let n={...RM,...t.dependencies},r=kM(e),o=Ti(e)?e.command:r,i=Hn("policy-protection",o,()=>Ns(e,t.factParserDependencies)),s=De(i,"declared-command");if(Ti(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:Nt,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(De(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:cy,intent:"stop_and_explain",evidence:[]}};let a=Hn("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),c=Hn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:MC,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=Hn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:Ve,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=Hn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,...EM(u)},p=d.secretProtection.enabled===!1?null:Hn("secret-protection",o,()=>n.findSensitiveTarget(i,d.secretProtection,{strict:Ti(e)?f.strict:void 0}));if(p){let b=o??p.target;return{stage:"secret-protection",...m,decision:{kind:"deny",reason:YC,intent:"hard_stop",ruleId:p.ruleId,evidence:[{kind:"command",command:b,segment:p.target}]}}}if(!Ti(e))return{stage:"non-command",...m,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...Th("command-validation",o),...m};let h=Hn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:It(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},PM(i),i.store));if(h)return{stage:"command-analysis",...m,decision:h};return{stage:"command-analysis",...m,decision:{kind:"allow"}}}function EM(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function PM(e){return De(e,"declared-command")?.program}function kM(e){try{return So(e.input)}catch(t){let n=Ti(e)?e.command:void 0;throw new mn("policy-protection",Th("policy-protection",t instanceof Wt?void 0:n,t),t)}}function Hn(e,t,n){try{return n()}catch(r){throw new mn(e,Th(e,r instanceof Wt?void 0:t,r),r)}}function Th(e,t,n){let r=n instanceof be||n instanceof gt;return{stage:e,decision:{kind:"deny",reason:r?ly:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ti(e){return e.route.kind==="command"}function ww(e,t){try{let n=_w(e,t.guard);return Cw(e,n,t),n}catch(n){if(!(n instanceof mn))throw n;throw Cw(e,n.evaluation,t,!(n.cause instanceof Wt),{stage:n.stage,errorCode:AM(n.cause)}),n}}function Cw(e,t,n,r=!0,o){ry(ny(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function AM(e){if(e instanceof be)return"path-canonicalization-limit";if(e instanceof Wt)return"tool-input-limit";if(e instanceof gt)return"structural-shell-syntax-limit";return"unexpected-error"}var Ew=IM();function IM(e={}){return(t,n)=>OM(t,n,e)}function OM(e,t,n){let r=zM(e,t),o=()=>$M(e);if("malformed"in r)return oy(r.denial,o,{agent:"amp",toolName:r.denial.toolName,cwd:r.cwd}),Pw(r.denial);try{let i=ww(r,{guard:{auditAllowed:Cd(),dependencies:n.guardDependencies},audit:{agent:"amp",getSessionId:o}});return Rw(i,!0)}catch(i){if(!(i instanceof mn))throw i;if(on(me.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${gy(i.cause)}`);return Rw(i.evaluation,r.route.kind==="command")}}function zM(e,t){if(!e||typeof e!=="object")return Vn(null);let n=e;if(typeof n.tool!=="string"||n.tool.trim()==="")return Vn(null);if(!n.input||typeof n.input!=="object")return Vn(null,n.tool);let r=NM(t);if(!r)return Vn(null,n.tool);let o=DM(t,e);if(!o.ok)return Vn(r,n.tool);if(!o.command)return Wo(n.tool,n.input,{kind:xu(n.tool)},{configCwd:r,executionCwd:r},null);if(typeof o.command.command!=="string"||o.command.command.trim()==="")return Vn(r,n.tool);let i=typeof o.command.dir==="string"?sy(o.command.dir,r):r;if(!i)return Vn(r,n.tool,o.command.command,o.command.dir);return Wo(n.tool,n.input,{kind:"command",shell:"posix"},{configCwd:r,executionCwd:i},o.command.command)}function NM(e){let t=e.system.workspaceRoot;if(!t)return;try{let n=e.helpers.filePathFromURI(t);if(typeof n!=="string"||n.trim()==="")return;return $l(".",[n])}catch{return}}function DM(e,t){try{return{ok:!0,command:e.helpers.shellCommandFromToolCall(t)}}catch{return{ok:!1}}}function $M(e){if(!e||typeof e!=="object")return;let t=e.thread?.id;return typeof t==="string"&&t.trim()!==""?t:void 0}function Vn(e,t,n,r){return{malformed:!0,denial:fy({command:n,segment:r,toolName:t}),cwd:e}}function Rw(e,t){let n=my(e,{includeEvidence:t});return n?Pw(n):{action:"allow"}}function Pw(e){return{action:"reject-and-continue",message:py(e)}}function MM(e){e.on("tool.call",(t)=>Ew(t,e))}export{MM as default};
98
+ `)}m.write("payload.value = newResult;"),m.write("return payload;");let R=m.compile();return(w,E)=>R(f,w,E)},i,s=$n,a=!Fo.jitless,l=a&&Od.value,u=t.catchall,d;e._zod.parse=(f,m)=>{d??(d=r.value);let p=f.value;if(!s(p))return f.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),f;if(a&&l&&m?.async===!1&&m.jitless!==!0){if(!i)i=o(t.shape);if(f=i(f,m),!u)return f;return Ux([],p,f,m,d,e)}return n(f,m)}});function Ix(e,t,n,r){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter((i)=>!ln(i));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))}),t}var Xo=g("$ZodUnion",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.options.some((o)=>o._zod.optin==="optional")?"optional":void 0),F(e._zod,"optout",()=>t.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),F(e._zod,"values",()=>{if(t.options.every((o)=>o._zod.values))return new Set(t.options.flatMap((o)=>Array.from(o._zod.values)));return}),F(e._zod,"pattern",()=>{if(t.options.every((o)=>o._zod.pattern)){let o=t.options.map((i)=>i._zod.pattern);return new RegExp(`^(${o.map((i)=>Bo(i.source)).join("|")})$`)}return});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1,a=[];for(let c of t.options){let l=c._zod.run({value:o.value,issues:[]},i);if(l instanceof Promise)a.push(l),s=!0;else{if(l.issues.length===0)return l;a.push(l)}}if(!s)return Ix(a,o,e,i);return Promise.all(a).then((c)=>Ix(c,o,e,i))}});function Ox(e,t,n,r){let o=e.filter((i)=>i.issues.length===0);if(o.length===1)return t.value=o[0].value,t;if(o.length===0)t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}var Sf=g("$ZodXor",(e,t)=>{Xo.init(e,t),t.inclusive=!1;let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1,a=[];for(let c of t.options){let l=c._zod.run({value:o.value,issues:[]},i);if(l instanceof Promise)a.push(l),s=!0;else a.push(l)}if(!s)return Ox(a,o,e,i);return Promise.all(a).then((c)=>Ox(c,o,e,i))}}),xf=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Xo.init(e,t);let n=e._zod.parse;F(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){if(!o[a])o[a]=new Set;for(let l of c)o[a].add(l)}}return o});let r=yr(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!$n(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=r.value.get(s?.[t.discriminator]);if(a)return a._zod.run(o,i);if(t.unionFallback)return n(o,i);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o}}),_f=g("$ZodIntersection",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);if(i instanceof Promise||s instanceof Promise)return Promise.all([i,s]).then(([c,l])=>zx(n,c,l));return zx(n,i,s)}});function Nm(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(cn(e)&&cn(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let s=Nm(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],s=Nm(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function zx(e,t,n){let r=new Map,o;for(let a of t.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).l=!0}}else e.issues.push(a);for(let a of n.issues)if(a.code==="unrecognized_keys")for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).r=!0}else e.issues.push(a);let i=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&o)e.issues.push({...o,keys:i});if(ln(e))return e;let s=Nm(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Ua=g("$ZodTuple",(e,t)=>{D.init(e,t);let n=t.items;e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let s=[],a=[...n].reverse().findIndex((u)=>u._zod.optin!=="optional"),c=a===-1?0:n.length-a;if(!t.rest){let u=i.length>n.length,d=i.length<c-1;if(u||d)return r.issues.push({...u?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let l=-1;for(let u of n){if(l++,l>=i.length){if(l>=c)continue}let d=u._zod.run({value:i[l],issues:[]},o);if(d instanceof Promise)s.push(d.then((f)=>Ma(f,r,l)));else Ma(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let f=t.rest._zod.run({value:d,issues:[]},o);if(f instanceof Promise)s.push(f.then((m)=>Ma(m,r,l)));else Ma(f,r,l)}}if(s.length)return Promise.all(s).then(()=>r);return r}});function Ma(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues));t.value[n]=e.value}var Cf=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!cn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[],s=t.keyType._zod.values;if(s){n.value={};let a=new Set;for(let l of s)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){a.add(typeof l==="number"?l.toString():l);let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...Fe(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...Fe(l,u.issues));n.value[l]=u.value}}let c;for(let l in o)if(!a.has(l))c=c??[],c.push(l);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a==="string"&&qo.test(a)&&c.issues.length&&c.issues.some((d)=>d.code==="invalid_type"&&d.expected==="number")){let d=t.keyType._zod.run({value:Number(a),issues:[]},r);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length===0)c=d}if(c.issues.length){if(t.mode==="loose")n.value[a]=o[a];else n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map((d)=>Pe(d,r,se())),input:a,path:[a],inst:e});continue}let u=t.valueType._zod.run({value:o[a],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...Fe(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...Fe(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),wf=g("$ZodMap",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),n;let i=[];n.value=new Map;for(let[s,a]of o){let c=t.keyType._zod.run({value:s,issues:[]},r),l=t.valueType._zod.run({value:a,issues:[]},r);if(c instanceof Promise||l instanceof Promise)i.push(Promise.all([c,l]).then(([u,d])=>{Nx(u,d,n,s,o,e,r)}));else Nx(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Nx(e,t,n,r,o,i,s){if(e.issues.length)if(Uo.has(typeof r))n.issues.push(...Fe(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Pe(a,s,se()))});if(t.issues.length)if(Uo.has(typeof r))n.issues.push(...Fe(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Pe(a,s,se()))});n.value.set(e.value,t.value)}var Rf=g("$ZodSet",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Set))return n.issues.push({input:o,inst:e,expected:"set",code:"invalid_type"}),n;let i=[];n.value=new Set;for(let s of o){let a=t.valueType._zod.run({value:s,issues:[]},r);if(a instanceof Promise)i.push(a.then((c)=>Dx(c,n)));else Dx(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Dx(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var Ef=g("$ZodEnum",(e,t)=>{D.init(e,t);let n=Zo(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Uo.has(typeof o)).map((o)=>typeof o==="string"?Ye(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;if(r.has(s))return o;return o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),Pf=g("$ZodLiteral",(e,t)=>{if(D.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((r)=>typeof r==="string"?Ye(r):r?Ye(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(n.has(i))return r;return r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),kf=g("$ZodFile",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(o instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),n}}),Af=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn(e.constructor.name);let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((s)=>(n.value=s,n));if(o instanceof Promise)throw new _t;return n.value=o,n}});function $x(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var ja=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Bo(n.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(t.innerType._zod.optin==="optional"){let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>$x(i,n.value));return $x(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Tf=g("$ZodExactOptional",(e,t)=>{ja.init(e,t),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),If=g("$ZodNullable",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Bo(n.source)}|null)$`):void 0}),F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),Of=g("$ZodDefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Mx(i,t));return Mx(o,t)}});function Mx(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var zf=g("$ZodPrefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),Nf=g("$ZodNonOptional",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Lx(i,e));return Lx(o,e)}});function Lx(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var Df=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn("ZodSuccess");let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>(n.value=i.issues.length===0,n));return n.value=o.issues.length===0,n}}),$f=g("$ZodCatch",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>{if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((s)=>Pe(s,r,se()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((i)=>Pe(i,r,se()))},input:n.value}),n.issues=[];return n}}),Mf=g("$ZodNaN",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),Lf=g("$ZodPipe",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>La(s,t.in,r));return La(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>La(i,t.out,r));return La(o,t.out,r)}});function La(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var Qo=g("$ZodCodec",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if((r.direction||"forward")==="forward"){let i=t.in._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Wa(s,t,r));return Wa(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Wa(s,t,r));return Wa(i,t,r)}}});function Wa(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let o=t.transform(e.value,e);if(o instanceof Promise)return o.then((i)=>Fa(e,i,t.out,n));return Fa(e,o,t.out,n)}else{let o=t.reverseTransform(e.value,e);if(o instanceof Promise)return o.then((i)=>Fa(e,i,t.in,n));return Fa(e,o,t.in,n)}}function Fa(e,t,n,r){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},r)}var Wf=g("$ZodReadonly",(e,t)=>{D.init(e,t),F(e._zod,"propValues",()=>t.innerType._zod.propValues),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"optin",()=>t.innerType?._zod?.optin),F(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(Wx);return Wx(o)}});function Wx(e){return e.value=Object.freeze(e.value),e}var Ff=g("$ZodTemplateLiteral",(e,t)=>{D.init(e,t);let n=[];for(let r of t.parts)if(typeof r==="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let o=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!o)throw Error(`Invalid template literal part: ${r._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;n.push(o.slice(i,s))}else if(r===null||Nd.has(typeof r))n.push(Ye(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),Gf=g("$ZodFunction",(e,t)=>(D.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...r){let o=e._def.input?Ca(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return Ca(e._def.output,i);return i}},e.implementAsync=(n)=>{if(typeof n!=="function")throw Error("implementAsync() must be called with a function");return async function(...r){let o=e._def.input?await wa(e._def.input,r):r,i=await Reflect.apply(n,this,o);if(e._def.output)return await wa(e._def.output,i);return i}},e._zod.parse=(n,r)=>{if(typeof n.value!=="function")return n.issues.push({code:"invalid_type",expected:"function",input:n.value,inst:e}),n;if(e._def.output&&e._def.output._zod.def.type==="promise")n.value=e.implementAsync(n.value);else n.value=e.implement(n.value);return n},e.input=(...n)=>{let r=e.constructor;if(Array.isArray(n[0]))return new r({type:"function",input:new Ua({type:"tuple",items:n[0],rest:n[1]}),output:e._def.output});return new r({type:"function",input:n[0],output:e._def.output})},e.output=(n)=>new e.constructor({type:"function",input:e._def.input,output:n}),e)),Zf=g("$ZodPromise",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then((o)=>t.innerType._zod.run({value:o,issues:[]},r))}),Bf=g("$ZodLazy",(e,t)=>{D.init(e,t),F(e._zod,"innerType",()=>t.getter()),F(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),F(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),F(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),F(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Uf=g("$ZodCustom",(e,t)=>{J.init(e,t),D.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((i)=>Fx(i,n,r,e));Fx(o,n,r,e);return}});function Fx(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(br(o))}}var ei={};var Hx,Ha=Symbol("ZodOutput"),Va=Symbol("ZodInput");class jf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function ti(){return new jf}(Hx=globalThis).__zod_globalRegistry??(Hx.__zod_globalRegistry=ti());var Ae=globalThis.__zod_globalRegistry;function Hf(e,t){return new e({type:"string",...x(t)})}function Vf(e,t){return new e({type:"string",coerce:!0,...x(t)})}function qa(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...x(t)})}function ni(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...x(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...x(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...x(t)})}function Ja(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...x(t)})}function Xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...x(t)})}function ri(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...x(t)})}function Qa(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...x(t)})}function ec(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...x(t)})}function tc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...x(t)})}function nc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...x(t)})}function rc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...x(t)})}function oc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...x(t)})}function ic(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...x(t)})}function sc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...x(t)})}function ac(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...x(t)})}function qf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...x(t)})}function cc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...x(t)})}function lc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...x(t)})}function uc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...x(t)})}function dc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...x(t)})}function mc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...x(t)})}function fc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...x(t)})}var pc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Kf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...x(t)})}function Yf(e,t){return new e({type:"string",format:"date",check:"string_format",...x(t)})}function Jf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...x(t)})}function Xf(e,t){return new e({type:"string",format:"duration",check:"string_format",...x(t)})}function Qf(e,t){return new e({type:"number",checks:[],...x(t)})}function ep(e,t){return new e({type:"number",coerce:!0,checks:[],...x(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...x(t)})}function np(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...x(t)})}function rp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...x(t)})}function op(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...x(t)})}function ip(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...x(t)})}function sp(e,t){return new e({type:"boolean",...x(t)})}function ap(e,t){return new e({type:"boolean",coerce:!0,...x(t)})}function cp(e,t){return new e({type:"bigint",...x(t)})}function lp(e,t){return new e({type:"bigint",coerce:!0,...x(t)})}function up(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...x(t)})}function dp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...x(t)})}function mp(e,t){return new e({type:"symbol",...x(t)})}function fp(e,t){return new e({type:"undefined",...x(t)})}function pp(e,t){return new e({type:"null",...x(t)})}function gp(e){return new e({type:"any"})}function hp(e){return new e({type:"unknown"})}function yp(e,t){return new e({type:"never",...x(t)})}function bp(e,t){return new e({type:"void",...x(t)})}function vp(e,t){return new e({type:"date",...x(t)})}function Sp(e,t){return new e({type:"date",coerce:!0,...x(t)})}function xp(e,t){return new e({type:"nan",...x(t)})}function Ct(e,t){return new Na({check:"less_than",...x(t),value:e,inclusive:!1})}function Ze(e,t){return new Na({check:"less_than",...x(t),value:e,inclusive:!0})}function wt(e,t){return new Da({check:"greater_than",...x(t),value:e,inclusive:!1})}function xe(e,t){return new Da({check:"greater_than",...x(t),value:e,inclusive:!0})}function gc(e){return wt(0,e)}function hc(e){return Ct(0,e)}function yc(e){return Ze(0,e)}function bc(e){return xe(0,e)}function un(e,t){return new gm({check:"multiple_of",...x(t),value:e})}function dn(e,t){return new bm({check:"max_size",...x(t),maximum:e})}function Rt(e,t){return new vm({check:"min_size",...x(t),minimum:e})}function Wn(e,t){return new Sm({check:"size_equals",...x(t),size:e})}function Fn(e,t){return new xm({check:"max_length",...x(t),maximum:e})}function Zt(e,t){return new _m({check:"min_length",...x(t),minimum:e})}function Gn(e,t){return new Cm({check:"length_equals",...x(t),length:e})}function Er(e,t){return new wm({check:"string_format",format:"regex",...x(t),pattern:e})}function Pr(e){return new Rm({check:"string_format",format:"lowercase",...x(e)})}function kr(e){return new Em({check:"string_format",format:"uppercase",...x(e)})}function Ar(e,t){return new Pm({check:"string_format",format:"includes",...x(t),includes:e})}function Tr(e,t){return new km({check:"string_format",format:"starts_with",...x(t),prefix:e})}function Ir(e,t){return new Am({check:"string_format",format:"ends_with",...x(t),suffix:e})}function vc(e,t,n){return new Tm({check:"property",property:e,schema:t,...x(n)})}function Or(e,t){return new Im({check:"mime_type",mime:e,...x(t)})}function ct(e){return new Om({check:"overwrite",tx:e})}function zr(e){return ct((t)=>t.normalize(e))}function Nr(){return ct((e)=>e.trim())}function Dr(){return ct((e)=>e.toLowerCase())}function $r(){return ct((e)=>e.toUpperCase())}function Mr(){return ct((e)=>Id(e))}function _p(e,t,n){return new e({type:"array",element:t,...x(n)})}function kD(e,t,n){return new e({type:"union",options:t,...x(n)})}function AD(e,t,n){return new e({type:"union",options:t,inclusive:!1,...x(n)})}function TD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,...x(r)})}function ID(e,t,n){return new e({type:"intersection",left:t,right:n})}function OD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,...x(o?r:n)})}function zD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,...x(r)})}function ND(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...x(r)})}function DD(e,t,n){return new e({type:"set",valueType:t,...x(n)})}function $D(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,...x(n)})}function MD(e,t,n){return new e({type:"enum",entries:t,...x(n)})}function LD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...x(n)})}function Cp(e,t){return new e({type:"file",...x(t)})}function WD(e,t){return new e({type:"transform",transform:t})}function FD(e,t){return new e({type:"optional",innerType:t})}function GD(e,t){return new e({type:"nullable",innerType:t})}function ZD(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():zd(n)}})}function BD(e,t,n){return new e({type:"nonoptional",innerType:t,...x(n)})}function UD(e,t){return new e({type:"success",innerType:t})}function jD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function HD(e,t,n){return new e({type:"pipe",in:t,out:n})}function VD(e,t){return new e({type:"readonly",innerType:t})}function qD(e,t,n){return new e({type:"template_literal",parts:t,...x(n)})}function KD(e,t){return new e({type:"lazy",getter:t})}function YD(e,t){return new e({type:"promise",innerType:t})}function wp(e,t,n){let r=x(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Rp(e,t,n){return new e({type:"custom",check:"custom",fn:t,...x(n)})}function Ep(e){let t=Vx((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(br(r,n.value,t._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(br(o))}},e(n.value,n)));return t}function Vx(e,t){let n=new J({check:"custom",...x(t)});return n._zod.check=e,n}function Pp(e){let t=new J({check:"describe"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function kp(e){let t=new J({check:"meta"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,...e})}],t._zod.check=()=>{},t}function Ap(e,t){let n=x(t),r=n.truthy??["true","1","yes","on","y","enabled"],o=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")r=r.map((m)=>typeof m==="string"?m.toLowerCase():m),o=o.map((m)=>typeof m==="string"?m.toLowerCase():m);let i=new Set(r),s=new Set(o),a=e.Codec??Qo,c=e.Boolean??Jo,u=new(e.String??Ln)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),f=new a({type:"pipe",in:u,out:d,transform:(m,p)=>{let h=m;if(n.case!=="sensitive")h=h.toLowerCase();if(i.has(h))return!0;else if(s.has(h))return!1;else return p.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:p.value,inst:f,continue:!1}),{}},reverseTransform:(m,p)=>{if(m===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return f}function Lr(e,t,n,r={}){let o=x(r),i={...x(r),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(a)=>n.test(a),...o};if(n instanceof RegExp)i.pattern=n;return new e(i)}var Wr=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},Tp=()=>Wr,Sc=()=>Wr,Fr=Wr,X=Wr,Gr=Wr,Zr=Wr;var JD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ip=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i==="number")o.minLength=i;if(typeof s==="number")o.maxLength=s;if(a){if(o.format=JD[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Op=(e,t,n,r)=>{let o=n,{minimum:i,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;if(typeof a==="string"&&a.includes("int"))o.type="integer";else o.type="number";if(typeof u==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;if(typeof i==="number"){if(o.minimum=i,typeof u==="number"&&t.target!=="draft-04")if(u>=i)delete o.minimum;else delete o.exclusiveMinimum}if(typeof l==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;if(typeof s==="number"){if(o.maximum=s,typeof l==="number"&&t.target!=="draft-04")if(l<=s)delete o.maximum;else delete o.exclusiveMaximum}if(typeof c==="number")o.multipleOf=c},zp=(e,t,n,r)=>{n.type="boolean"},Np=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Dp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},$p=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Mp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Lp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Wp=(e,t,n,r)=>{n.not={}},Fp=(e,t,n,r)=>{},Gp=(e,t,n,r)=>{},Zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Bp=(e,t,n,r)=>{let o=e._zod.def,i=Zo(o.entries);if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";n.enum=i},Up=(e,t,n,r)=>{let o=e._zod.def,i=[];for(let s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else i.push(Number(s));else i.push(s);if(i.length===0);else if(i.length===1){let s=i[0];if(n.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[s];else n.const=s}else{if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";if(i.every((s)=>typeof s==="boolean"))n.type="boolean";if(i.every((s)=>s===null))n.type="null";n.enum=i}},jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Hp=(e,t,n,r)=>{let o=n,i=e._zod.pattern;if(!i)throw Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Vp=(e,t,n,r)=>{let o=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=e._zod.bag;if(s!==void 0)i.minLength=s;if(a!==void 0)i.maxLength=a;if(c)if(c.length===1)i.contentMediaType=c[0],Object.assign(o,i);else Object.assign(o,i),o.anyOf=c.map((l)=>({contentMediaType:l}));else Object.assign(o,i)},qp=(e,t,n,r)=>{n.type="boolean"},Kp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Yp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Xp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},eg=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=X(i.element,t,{...r,path:[...r.path,"items"]})},tg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=X(s[l],t,{...r,path:[...r.path,"properties",l]});let a=new Set(Object.keys(s)),c=new Set([...a].filter((l)=>{let u=i.shape[l]._zod;if(t.io==="input")return u.optin===void 0;else return u.optout===void 0}));if(c.size>0)o.required=Array.from(c);if(i.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!i.catchall){if(t.io==="output")o.additionalProperties=!1}else if(i.catchall)o.additionalProperties=X(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},_c=(e,t,n,r)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>X(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},ng=(e,t,n,r)=>{let o=e._zod.def,i=X(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=X(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=(l)=>("allOf"in l)&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c},rg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((f,m)=>X(f,t,{...r,path:[...r.path,s,m]})),l=i.rest?X(i.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(o.prefixItems=c,l)o.items=l}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},l)o.items.anyOf.push(l);if(o.minItems=c.length,!l)o.maxItems=c.length}else if(o.items=c,l)o.additionalItems=l;let{minimum:u,maximum:d}=e._zod.bag;if(typeof u==="number")o.minItems=u;if(typeof d==="number")o.maxItems=d},og=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object";let s=i.keyType,c=s._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let u=X(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=u}else{if(t.target==="draft-07"||t.target==="draft-2020-12")o.propertyNames=X(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});o.additionalProperties=X(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=s._zod.values;if(l){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u}},ig=(e,t,n,r)=>{let o=e._zod.def,i=X(o.innerType,t,r),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=o.innerType,n.nullable=!0;else n.anyOf=[i,{type:"null"}]},sg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},ag=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},cg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);if(i.ref=o.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(o.defaultValue))},lg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},ug=(e,t,n,r)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;X(i,t,r);let s=t.seen.get(e);s.ref=i},dg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},mg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},Cc=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},fg=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},xc={string:Ip,number:Op,boolean:zp,bigint:Np,symbol:Dp,null:$p,undefined:Mp,void:Lp,never:Wp,any:Fp,unknown:Gp,date:Zp,enum:Bp,literal:Up,nan:jp,template_literal:Hp,file:Vp,success:qp,custom:Kp,function:Yp,transform:Jp,map:Xp,set:Qp,array:eg,object:tg,union:_c,intersection:ng,tuple:rg,record:og,nullable:ig,nonoptional:sg,default:ag,prefault:cg,catch:lg,pipe:ug,readonly:dg,promise:mg,optional:Cc,lazy:fg};function oi(e,t){if("_idmap"in e){let r=e,o=Fr({...t,processors:xc}),i={};for(let c of r._idmap.entries()){let[l,u]=c;X(u,o)}let s={},a={registry:r,uri:t?.uri,defs:i};o.external=a;for(let c of r._idmap.entries()){let[l,u]=c;Gr(o,u),s[l]=Zr(o,u)}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let n=Fr({...t,processors:xc});return X(e,n),Gr(n,e),Zr(n,e)}class pg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=Fr({processors:xc,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return X(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Gr(this.ctx,e);let n=Zr(this.ctx,e),{"~standard":r,...o}=n;return o}}var qx={};var li={};fn(li,{ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,date:()=>hg,datetime:()=>gg,duration:()=>bg,time:()=>yg});var ii=g("ZodISODateTime",(e,t)=>{Hm.init(e,t),K.init(e,t)});function gg(e){return Kf(ii,e)}var si=g("ZodISODate",(e,t)=>{Vm.init(e,t),K.init(e,t)});function hg(e){return Yf(si,e)}var ai=g("ZodISOTime",(e,t)=>{qm.init(e,t),K.init(e,t)});function yg(e){return Jf(ai,e)}var ci=g("ZodISODuration",(e,t)=>{Km.init(e,t),K.init(e,t)});function bg(e){return Xf(ci,e)}var Yx=(e,t)=>{Vo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>Sr(e,n)},flatten:{value:(n)=>vr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,hr,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,hr,2)}},isEmpty:{get(){return e.issues.length===0}}})},Jx=g("ZodError",Yx),_e=g("ZodError",Yx,{Parent:Error});var wc=xr(_e),Rc=_r(_e),Ec=Cr(_e),Pc=wr(_e),kc=Ra(_e),Ac=Ea(_e),Tc=Pa(_e),Ic=ka(_e),Oc=Aa(_e),zc=Ta(_e),Nc=Ia(_e),Dc=Oa(_e);var L=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Sc(e,"input"),output:Sc(e,"output")}}),e.toJSONSchema=Tp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(I.mergeDefs(t,{checks:[...t.checks??[],...n.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0}),e.with=e.check,e.clone=(n,r)=>he(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>wc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Ec(e,n,r),e.parseAsync=async(n,r)=>Rc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Pc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>kc(e,n,r),e.decode=(n,r)=>Ac(e,n,r),e.encodeAsync=async(n,r)=>Tc(e,n,r),e.decodeAsync=async(n,r)=>Ic(e,n,r),e.safeEncode=(n,r)=>Oc(e,n,r),e.safeDecode=(n,r)=>zc(e,n,r),e.safeEncodeAsync=async(n,r)=>Nc(e,n,r),e.safeDecodeAsync=async(n,r)=>Dc(e,n,r),e.refine=(n,r)=>e.check(ch(n,r)),e.superRefine=(n)=>e.check(lh(n)),e.overwrite=(n)=>e.check(ct(n)),e.optional=()=>di(e),e.exactOptional=()=>Ug(e),e.nullable=()=>mi(e),e.nullish=()=>di(mi(e)),e.nonoptional=(n)=>Yg(e,n),e.array=()=>hi(e),e.or=(n)=>rl([e,n]),e.and=(n)=>Ng(e,n),e.transform=(n)=>fi(e,il(n)),e.default=(n)=>Vg(e,n),e.prefault=(n)=>Kg(e,n),e.catch=(n)=>Qg(e,n),e.pipe=(n)=>fi(e,n),e.readonly=()=>nh(e),e.describe=(n)=>{let r=e.clone();return Ae.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ae.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ae.get(e);let r=e.clone();return Ae.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=(n)=>n(e),e)),Lc=g("_ZodString",(e,t)=>{Ln.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ip(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Er(...r)),e.includes=(...r)=>e.check(Ar(...r)),e.startsWith=(...r)=>e.check(Tr(...r)),e.endsWith=(...r)=>e.check(Ir(...r)),e.min=(...r)=>e.check(Zt(...r)),e.max=(...r)=>e.check(Fn(...r)),e.length=(...r)=>e.check(Gn(...r)),e.nonempty=(...r)=>e.check(Zt(1,...r)),e.lowercase=(r)=>e.check(Pr(r)),e.uppercase=(r)=>e.check(kr(r)),e.trim=()=>e.check(Nr()),e.normalize=(...r)=>e.check(zr(...r)),e.toLowerCase=()=>e.check(Dr()),e.toUpperCase=()=>e.check($r()),e.slugify=()=>e.check(Mr())}),Ur=g("ZodString",(e,t)=>{Ln.init(e,t),Lc.init(e,t),e.email=(n)=>e.check(qa(Wc,n)),e.url=(n)=>e.check(ri(pi,n)),e.jwt=(n)=>e.check(fc(el,n)),e.emoji=(n)=>e.check(Qa(Fc,n)),e.guid=(n)=>e.check(ni(ui,n)),e.uuid=(n)=>e.check(Ka(Pt,n)),e.uuidv4=(n)=>e.check(Ya(Pt,n)),e.uuidv6=(n)=>e.check(Ja(Pt,n)),e.uuidv7=(n)=>e.check(Xa(Pt,n)),e.nanoid=(n)=>e.check(ec(Gc,n)),e.guid=(n)=>e.check(ni(ui,n)),e.cuid=(n)=>e.check(tc(Zc,n)),e.cuid2=(n)=>e.check(nc(Bc,n)),e.ulid=(n)=>e.check(rc(Uc,n)),e.base64=(n)=>e.check(uc(Jc,n)),e.base64url=(n)=>e.check(dc(Xc,n)),e.xid=(n)=>e.check(oc(jc,n)),e.ksuid=(n)=>e.check(ic(Hc,n)),e.ipv4=(n)=>e.check(sc(Vc,n)),e.ipv6=(n)=>e.check(ac(qc,n)),e.cidrv4=(n)=>e.check(cc(Kc,n)),e.cidrv6=(n)=>e.check(lc(Yc,n)),e.e164=(n)=>e.check(mc(Qc,n)),e.datetime=(n)=>e.check(gg(n)),e.date=(n)=>e.check(hg(n)),e.time=(n)=>e.check(yg(n)),e.duration=(n)=>e.check(bg(n))});function $c(e){return Hf(Ur,e)}var K=g("ZodStringFormat",(e,t)=>{q.init(e,t),Lc.init(e,t)}),Wc=g("ZodEmail",(e,t)=>{Mm.init(e,t),K.init(e,t)});function Xx(e){return qa(Wc,e)}var ui=g("ZodGUID",(e,t)=>{Dm.init(e,t),K.init(e,t)});function Qx(e){return ni(ui,e)}var Pt=g("ZodUUID",(e,t)=>{$m.init(e,t),K.init(e,t)});function e_(e){return Ka(Pt,e)}function t_(e){return Ya(Pt,e)}function n_(e){return Ja(Pt,e)}function r_(e){return Xa(Pt,e)}var pi=g("ZodURL",(e,t)=>{Lm.init(e,t),K.init(e,t)});function o_(e){return ri(pi,e)}function i_(e){return ri(pi,{protocol:/^https?$/,hostname:Ge.domain,...I.normalizeParams(e)})}var Fc=g("ZodEmoji",(e,t)=>{Wm.init(e,t),K.init(e,t)});function s_(e){return Qa(Fc,e)}var Gc=g("ZodNanoID",(e,t)=>{Fm.init(e,t),K.init(e,t)});function a_(e){return ec(Gc,e)}var Zc=g("ZodCUID",(e,t)=>{Gm.init(e,t),K.init(e,t)});function c_(e){return tc(Zc,e)}var Bc=g("ZodCUID2",(e,t)=>{Zm.init(e,t),K.init(e,t)});function l_(e){return nc(Bc,e)}var Uc=g("ZodULID",(e,t)=>{Bm.init(e,t),K.init(e,t)});function u_(e){return rc(Uc,e)}var jc=g("ZodXID",(e,t)=>{Um.init(e,t),K.init(e,t)});function d_(e){return oc(jc,e)}var Hc=g("ZodKSUID",(e,t)=>{jm.init(e,t),K.init(e,t)});function m_(e){return ic(Hc,e)}var Vc=g("ZodIPv4",(e,t)=>{Ym.init(e,t),K.init(e,t)});function f_(e){return sc(Vc,e)}var vg=g("ZodMAC",(e,t)=>{Xm.init(e,t),K.init(e,t)});function p_(e){return qf(vg,e)}var qc=g("ZodIPv6",(e,t)=>{Jm.init(e,t),K.init(e,t)});function g_(e){return ac(qc,e)}var Kc=g("ZodCIDRv4",(e,t)=>{Qm.init(e,t),K.init(e,t)});function h_(e){return cc(Kc,e)}var Yc=g("ZodCIDRv6",(e,t)=>{ef.init(e,t),K.init(e,t)});function y_(e){return lc(Yc,e)}var Jc=g("ZodBase64",(e,t)=>{nf.init(e,t),K.init(e,t)});function b_(e){return uc(Jc,e)}var Xc=g("ZodBase64URL",(e,t)=>{rf.init(e,t),K.init(e,t)});function v_(e){return dc(Xc,e)}var Qc=g("ZodE164",(e,t)=>{of.init(e,t),K.init(e,t)});function S_(e){return mc(Qc,e)}var el=g("ZodJWT",(e,t)=>{sf.init(e,t),K.init(e,t)});function x_(e){return fc(el,e)}var jr=g("ZodCustomStringFormat",(e,t)=>{af.init(e,t),K.init(e,t)});function __(e,t,n={}){return Lr(jr,e,t,n)}function C_(e){return Lr(jr,"hostname",Ge.hostname,e)}function w_(e){return Lr(jr,"hex",Ge.hex,e)}function R_(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Ge[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Lr(jr,r,o,t)}var Hr=g("ZodNumber",(e,t)=>{Za.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Op(e,r,o,i),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(Ct(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.int=(r)=>e.check(Mc(r)),e.safe=(r)=>e.check(Mc(r)),e.positive=(r)=>e.check(wt(0,r)),e.nonnegative=(r)=>e.check(xe(0,r)),e.negative=(r)=>e.check(Ct(0,r)),e.nonpositive=(r)=>e.check(Ze(0,r)),e.multipleOf=(r,o)=>e.check(un(r,o)),e.step=(r,o)=>e.check(un(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function Sg(e){return Qf(Hr,e)}var Bn=g("ZodNumberFormat",(e,t)=>{cf.init(e,t),Hr.init(e,t)});function Mc(e){return tp(Bn,e)}function E_(e){return np(Bn,e)}function P_(e){return rp(Bn,e)}function k_(e){return op(Bn,e)}function A_(e){return ip(Bn,e)}var Vr=g("ZodBoolean",(e,t)=>{Jo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function xg(e){return sp(Vr,e)}var qr=g("ZodBigInt",(e,t)=>{Ba.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Np(e,r,o,i),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(Ct(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.positive=(r)=>e.check(wt(BigInt(0),r)),e.negative=(r)=>e.check(Ct(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ze(BigInt(0),r)),e.nonnegative=(r)=>e.check(xe(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(un(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function T_(e){return cp(qr,e)}var tl=g("ZodBigIntFormat",(e,t)=>{lf.init(e,t),qr.init(e,t)});function I_(e){return up(tl,e)}function O_(e){return dp(tl,e)}var _g=g("ZodSymbol",(e,t)=>{uf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function z_(e){return mp(_g,e)}var Cg=g("ZodUndefined",(e,t)=>{df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mp(e,n,r,o)});function N_(e){return fp(Cg,e)}var wg=g("ZodNull",(e,t)=>{mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function Rg(e){return pp(wg,e)}var Eg=g("ZodAny",(e,t)=>{ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function D_(){return gp(Eg)}var Pg=g("ZodUnknown",(e,t)=>{pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(e,n,r,o)});function Zn(){return hp(Pg)}var kg=g("ZodNever",(e,t)=>{gf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o)});function nl(e){return yp(kg,e)}var Ag=g("ZodVoid",(e,t)=>{hf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function $_(e){return bp(Ag,e)}var gi=g("ZodDate",(e,t)=>{yf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Zp(e,r,o,i),e.min=(r,o)=>e.check(xe(r,o)),e.max=(r,o)=>e.check(Ze(r,o));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function M_(e){return vp(gi,e)}var Tg=g("ZodArray",(e,t)=>{bf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Zt(n,r)),e.nonempty=(n)=>e.check(Zt(1,n)),e.max=(n,r)=>e.check(Fn(n,r)),e.length=(n,r)=>e.check(Gn(n,r)),e.unwrap=()=>e.element});function hi(e,t){return _p(Tg,e,t)}function L_(e){let t=e._zod.def.shape;return ol(Object.keys(t))}var yi=g("ZodObject",(e,t)=>{vf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),I.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>ol(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Zn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Zn()}),e.strict=()=>e.clone({...e._zod.def,catchall:nl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>I.extend(e,n),e.safeExtend=(n)=>I.safeExtend(e,n),e.merge=(n)=>I.merge(e,n),e.pick=(n)=>I.pick(e,n),e.omit=(n)=>I.omit(e,n),e.partial=(...n)=>I.partial(sl,e,n[0]),e.required=(...n)=>I.required(al,e,n[0])});function W_(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new yi(n)}function F_(e,t){return new yi({type:"object",shape:e,catchall:nl(),...I.normalizeParams(t)})}function G_(e,t){return new yi({type:"object",shape:e,catchall:Zn(),...I.normalizeParams(t)})}var bi=g("ZodUnion",(e,t)=>{Xo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function rl(e,t){return new bi({type:"union",options:e,...I.normalizeParams(t)})}var Ig=g("ZodXor",(e,t)=>{bi.init(e,t),Sf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function Z_(e,t){return new Ig({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Og=g("ZodDiscriminatedUnion",(e,t)=>{bi.init(e,t),xf.init(e,t)});function B_(e,t,n){return new Og({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var zg=g("ZodIntersection",(e,t)=>{_f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o)});function Ng(e,t){return new zg({type:"intersection",left:e,right:t})}var Dg=g("ZodTuple",(e,t)=>{Ua.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function $g(e,t,n){let r=t instanceof D,o=r?n:t;return new Dg({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var vi=g("ZodRecord",(e,t)=>{Cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Mg(e,t,n){return new vi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function U_(e,t,n){let r=he(e);return r._zod.values=void 0,new vi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function j_(e,t,n){return new vi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var Lg=g("ZodMap",(e,t)=>{wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(dn(...n)),e.size=(...n)=>e.check(Wn(...n))});function H_(e,t,n){return new Lg({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Wg=g("ZodSet",(e,t)=>{Rf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(dn(...n)),e.size=(...n)=>e.check(Wn(...n))});function V_(e,t){return new Wg({type:"set",valueType:e,...I.normalizeParams(t)})}var Br=g("ZodEnum",(e,t)=>{Ef.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Bp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Br({...t,checks:[],...I.normalizeParams(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let s of r)if(n.has(s))delete i[s];else throw Error(`Key ${s} not found in enum`);return new Br({...t,checks:[],...I.normalizeParams(o),entries:i})}});function ol(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Br({type:"enum",entries:n,...I.normalizeParams(t)})}function q_(e,t){return new Br({type:"enum",entries:e,...I.normalizeParams(t)})}var Fg=g("ZodLiteral",(e,t)=>{Pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function K_(e,t){return new Fg({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Gg=g("ZodFile",(e,t)=>{kf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e.min=(n,r)=>e.check(Rt(n,r)),e.max=(n,r)=>e.check(dn(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function Y_(e){return Cp(Gg,e)}var Zg=g("ZodTransform",(e,t)=>{Af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn(e.constructor.name);n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(I.issue(i,n.value,t));else{let s=i;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(I.issue(s))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function il(e){return new Zg({type:"transform",transform:e})}var sl=g("ZodOptional",(e,t)=>{ja.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function di(e){return new sl({type:"optional",innerType:e})}var Bg=g("ZodExactOptional",(e,t)=>{Tf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ug(e){return new Bg({type:"optional",innerType:e})}var jg=g("ZodNullable",(e,t)=>{If.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function mi(e){return new jg({type:"nullable",innerType:e})}function J_(e){return di(mi(e))}var Hg=g("ZodDefault",(e,t)=>{Of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Vg(e,t){return new Hg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var qg=g("ZodPrefault",(e,t)=>{zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kg(e,t){return new qg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var al=g("ZodNonOptional",(e,t)=>{Nf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Yg(e,t){return new al({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Jg=g("ZodSuccess",(e,t)=>{Df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function X_(e){return new Jg({type:"success",innerType:e})}var Xg=g("ZodCatch",(e,t)=>{$f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Qg(e,t){return new Xg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var eh=g("ZodNaN",(e,t)=>{Mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o)});function Q_(e){return xp(eh,e)}var cl=g("ZodPipe",(e,t)=>{Lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ug(e,n,r,o),e.in=t.in,e.out=t.out});function fi(e,t){return new cl({type:"pipe",in:e,out:t})}var ll=g("ZodCodec",(e,t)=>{cl.init(e,t),Qo.init(e,t)});function eC(e,t,n){return new ll({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var th=g("ZodReadonly",(e,t)=>{Wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>dg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function nh(e){return new th({type:"readonly",innerType:e})}var rh=g("ZodTemplateLiteral",(e,t)=>{Ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o)});function tC(e,t){return new rh({type:"template_literal",parts:e,...I.normalizeParams(t)})}var oh=g("ZodLazy",(e,t)=>{Bf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>fg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function ih(e){return new oh({type:"lazy",getter:e})}var sh=g("ZodPromise",(e,t)=>{Zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>mg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function nC(e){return new sh({type:"promise",innerType:e})}var ah=g("ZodFunction",(e,t)=>{Gf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o)});function rC(e){return new ah({type:"function",input:Array.isArray(e?.input)?$g(e?.input):e?.input??hi(Zn()),output:e?.output??Zn()})}var Si=g("ZodCustom",(e,t)=>{Uf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o)});function oC(e){let t=new J({check:"custom"});return t._zod.check=e,t}function iC(e,t){return wp(Si,e??(()=>!0),t)}function ch(e,t={}){return Rp(Si,e,t)}function lh(e){return Ep(e)}var sC=Pp,aC=kp;function cC(e,t={}){let n=new Si({type:"custom",check:"custom",fn:(r)=>r instanceof e,abort:!0,...I.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=(r)=>{if(!(r.value instanceof e))r.issues.push({code:"invalid_type",expected:e.name,input:r.value,inst:n,path:[...n._zod.def.path??[]]})},n}var lC=(...e)=>Ap({Codec:ll,Boolean:Vr,String:Ur},...e);function uC(e){let t=ih(()=>rl([$c(e),Sg(),xg(),Rg(),hi(t),Mg($c(),t)]));return t}function dC(e,t){return fi(il(e),t)}var mC={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function fC(e){se({customError:e})}function pC(){return se().customError}var ul;(function(e){})(ul||(ul={}));var t$=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(o){return e[o]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return(o)=>{switch(o.code){case"invalid_type":{let i=r[o.expected]??o.expected,s=Ld(o.input),a=r[s]??s;return`Invalid input: expected ${i}, received ${a}`}case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${Sa(o.values[0])}`;return`Invalid option: expected one of ${ya(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",s=t(o.origin);if(s)return`Too big: expected ${o.origin??"value"} to have ${i}${o.maximum.toString()} ${s.unit??"elements"}`;return`Too big: expected ${o.origin??"value"} to be ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",s=t(o.origin);if(s)return`Too small: expected ${o.origin} to have ${i}${o.minimum.toString()} ${s.unit}`;return`Too small: expected ${o.origin} to be ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;if(i.format==="starts_with")return`Invalid string: must start with "${i.prefix}"`;if(i.format==="ends_with")return`Invalid string: must end with "${i.suffix}"`;if(i.format==="includes")return`Invalid string: must include "${i.includes}"`;if(i.format==="regex")return`Invalid string: must match pattern ${i.pattern}`;return`Invalid ${n[i.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${ya(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function uh(){return{localeError:t$()}}var dh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var dl={};fn(dl,{bigint:()=>i$,boolean:()=>o$,date:()=>s$,number:()=>r$,string:()=>n$});function n$(e){return Vf(Ur,e)}function r$(e){return ep(Hr,e)}function o$(e){return ap(Vr,e)}function i$(e){return lp(qr,e)}function s$(e){return Sp(gi,e)}se(uh());var a$=ml;var gC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var xi=64,hC="Rule config exceeds CC Safety Net's safe source limit.";var _U=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var fh=[{id:"secret.basename.env",category:"Basename",label:".env",description:"Blocks exact .env files.",basename:".env"},{id:"secret.basename.npmrc",category:"Basename",label:".npmrc",description:"Blocks npm credential config files.",basename:".npmrc"},{id:"secret.basename.pypirc",category:"Basename",label:".pypirc",description:"Blocks Python package index credential files.",basename:".pypirc"},{id:"secret.basename.netrc",category:"Basename",label:".netrc",description:"Blocks machine login credential files.",basename:".netrc"},{id:"secret.basename.git-credentials",category:"Basename",label:".git-credentials",description:"Blocks Git credential storage files.",basename:".git-credentials"},{id:"secret.basename.id-rsa",category:"Basename",label:"id_rsa",description:"Blocks RSA private key basenames.",basename:"id_rsa"},{id:"secret.basename.id-ed25519",category:"Basename",label:"id_ed25519",description:"Blocks Ed25519 private key basenames.",basename:"id_ed25519"},{id:"secret.basename.id-ecdsa",category:"Basename",label:"id_ecdsa",description:"Blocks ECDSA private key basenames.",basename:"id_ecdsa"},{id:"secret.basename.credentials",category:"Basename",label:"credentials",description:"Blocks generic credentials file basenames.",basename:"credentials"}],fl={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},c$=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],l$=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],ph=[{id:"secret.home.ssh",category:"Home path",label:"~/.ssh",description:"Blocks home SSH configuration and key paths.",suffixParts:[".ssh"]},{id:"secret.home.aws",category:"Home path",label:"~/.aws",description:"Blocks home AWS credential and config paths.",suffixParts:[".aws"]},{id:"secret.home.gcp",category:"Home path",label:"~/.gcp",description:"Blocks home GCP credential paths.",suffixParts:[".gcp"]},{id:"secret.home.gcloud-config",category:"Home path",label:"~/.config/gcloud",description:"Blocks home Google Cloud SDK credential paths.",suffixParts:[".config","gcloud"]},{id:"secret.home.kube-config",category:"Home path",label:"~/.kube/config",description:"Blocks home Kubernetes config files.",suffixParts:[".kube","config"]},{id:"secret.home.docker-config",category:"Home path",label:"~/.docker/config.json",description:"Blocks home Docker credential config files.",suffixParts:[".docker","config.json"]},...l$.flatMap((e)=>c$.map((t)=>({id:["secret.home",e.idSlug,t.slice(1)].join("."),category:"Home path",label:[e.label,t].join(""),description:["Blocks home ",e.label,t," credential backup files."].join(""),suffixParts:[...e.directoryParts,[e.basename,t].join("")]}))),{id:"secret.home.gh-hosts",category:"Home path",label:"~/.config/gh/hosts.yml",description:"Blocks GitHub CLI host credential files.",suffixParts:[".config","gh","hosts.yml"]}];var pl=[{id:"secret.cli.claude-code",category:"Coding CLI credential",label:"Claude Code credentials",paths:["~/.claude/.credentials.json"]},{id:"secret.cli.claude-code.config",category:"Coding CLI config",label:"Claude Code config",paths:["~/.claude/settings.json","~/.claude/settings.local.json","~/.claude.json","<project>/.claude/settings.local.json","<project>/.mcp.json"]},{id:"secret.cli.antigravity",category:"Coding CLI config",label:"Antigravity CLI hook config",paths:["~/.gemini/config/hooks.json","~/.gemini/config/mcp_config.json"]},{id:"secret.cli.codex",category:"Coding CLI credential",label:"Codex credentials",paths:["~/.codex/auth.json","~/.codex/.credentials.json","~/.codex/secrets","~/.codex/.sandbox-secrets"]},{id:"secret.cli.codex.config",category:"Coding CLI config",label:"Codex config",paths:["~/.codex/config.toml","~/.codex/<name>.config.toml"]},{id:"secret.cli.gemini",category:"Coding CLI credential",label:"Gemini CLI credentials",paths:["~/.gemini/oauth_creds.json","~/.gemini/mcp-oauth-tokens.json","~/.gemini/a2a-oauth-tokens.json","~/.gemini/gemini-credentials.json"]},{id:"secret.cli.gemini.config",category:"Coding CLI config",label:"Gemini CLI config",paths:["~/.gemini/settings.json","~/.gemini/google_accounts.json","<project>/.gemini/settings.json","/Library/Application Support/GeminiCli/settings.json","/etc/gemini-cli/settings.json"]},{id:"secret.cli.copilot-cli",category:"Coding CLI credential",label:"GitHub Copilot CLI credentials",paths:["~/.copilot/config.json","~/.copilot/mcp-oauth-config","~/.copilot/mcp-secrets"]},{id:"secret.cli.copilot-cli.config",category:"Coding CLI config",label:"GitHub Copilot CLI config",paths:["~/.copilot/mcp-config.json"]},{id:"secret.cli.kimi-code",category:"Coding CLI credential",label:"Kimi Code credentials",paths:["~/.kimi-code/server.token","~/.kimi-code/credentials","~/.kimi/credentials","~/.kimi/mcp-oauth"]},{id:"secret.cli.kimi-code.config",category:"Coding CLI config",label:"Kimi Code config",paths:["~/.kimi-code/config.toml","~/.kimi-code/mcp.json","~/.kimi/config.toml","~/.kimi/config.json","~/.kimi/config.json.bak","~/.kimi/mcp.json","<project>/.kimi-code/mcp.json"]},{id:"secret.cli.opencode",category:"Coding CLI credential",label:"OpenCode credentials",paths:["~/.local/share/opencode/auth.json","~/.local/share/opencode/mcp-auth.json","~/.local/share/opencode/opencode.db"]},{id:"secret.cli.opencode.config",category:"Coding CLI config",label:"OpenCode config",paths:["~/.config/opencode/opencode.json","~/.config/opencode/opencode.jsonc","/Library/Application Support/opencode/opencode.json","/etc/opencode/opencode.json","<project>/opencode.json","<project>/opencode.jsonc"]},{id:"secret.cli.pi",category:"Coding CLI credential",label:"Pi credentials",paths:["~/.pi/agent/auth.json"]},{id:"secret.cli.pi.config",category:"Coding CLI config",label:"Pi config",paths:["~/.pi/agent/models.json"]},{id:"secret.cli.amp",category:"Coding CLI credential",label:"Amp Code credentials",paths:["~/.local/share/amp/secrets.json","~/.amp/oauth"]},{id:"secret.cli.amp.config",category:"Coding CLI config",label:"Amp Code config",paths:["~/.config/amp/settings.json","~/.config/amp/settings.jsonc","<project>/.amp/settings.json","<project>/.amp/settings.jsonc"]},{id:"secret.cli.cursor",category:"Coding CLI credential",label:"Cursor CLI credentials",paths:["~/.cursor/auth.json","~/.config/cursor/auth.json","~/.cursor/projects/<name>/mcp-auth.json"]},{id:"secret.cli.cursor.config",category:"Coding CLI config",label:"Cursor CLI config",paths:["~/.cursor/mcp.json","<project>/.cursor/mcp.json"]},{id:"secret.cli.grok-build",category:"Coding CLI credential",label:"Grok Build credentials",paths:["~/.grok/auth.json","~/.grok/mcp_credentials.json"]},{id:"secret.cli.grok-build.config",category:"Coding CLI config",label:"Grok Build config",paths:["~/.grok/config.toml","~/.grok/managed_config.toml","~/.grok/requirements.toml","<project>/.grok/config.toml","/etc/grok/managed_config.toml","/etc/grok/requirements.toml"]}],yC=[{prefix:"id_rsa",slug:"id-rsa",label:"id_rsa"},{prefix:"id_dsa",slug:"id-dsa",label:"id_dsa"},{prefix:"id_ed25519",slug:"id-ed25519",label:"id_ed25519"},{prefix:"id_ecdsa",slug:"id-ecdsa",label:"id_ecdsa"},{prefix:"credentials",slug:"credentials",label:"credentials"}],u$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],gh=yC.map((e)=>({id:`secret.variant.${e.slug}.separator`,category:"Variant",label:`${e.label}-* / ${e.label}_*`,description:`Blocks ${e.label} variants with dash or underscore suffixes.`,prefix:e.prefix})),hh=yC.flatMap((e)=>u$.map((t)=>({id:`secret.variant.${e.slug}.${t.slice(1)}`,category:"Variant",label:`${e.label}${t}`,description:`Blocks ${e.label}${t} private credential variants.`,prefix:e.prefix,suffix:t}))),_i={id:"secret.pattern.ssh-key-basename",category:"Pattern",label:"*_(rsa|dsa|ed25519|ecdsa)",description:"Blocks extensionless SSH private key-like basenames.",pattern:/^.*_(rsa|dsa|ed25519|ecdsa)$/},yh=["agilekeychain","asc","bek","cscfg","fve","gnucash","jks","keychain","kwallet","mdf","ovpn","p12","pcap","pem","pfx","pkcs12","psafe3","rdp","sdf","tblk","tpm"].map((e)=>({id:`secret.ext.${e}`,category:"Extension",label:`.${e}`,description:`Blocks files with the .${e} extension.`,extension:e})),bh=[{id:"secret.ext-pattern.key",category:"Extension pattern",label:".key / .keypair",description:"Blocks key and keypair extension patterns.",pattern:/^key(pair)?$/},{id:"secret.ext-pattern.keystore",category:"Extension pattern",label:".keystore / .keyring",description:"Blocks keystore and keyring extension patterns.",pattern:/^key(store|ring)$/},{id:"secret.ext-pattern.kdbx",category:"Extension pattern",label:".kdb / .kdbx",description:"Blocks KeePass database extension patterns.",pattern:/^kdbx?$/}],bC=[...fh,fl,...ph,...gh,...hh,_i,...yh,...bh,...pl].map((e)=>({id:e.id,category:e.category,label:e.label,...e.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in e?{paths:e.paths}:{description:e.description}})),vC=new Set(pl.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),d$=bC.map((e)=>e.id),gl=new Set(d$);var $U=m$(import.meta.url),SC,f$=Array(xi+1).fill("over-limit"),xC=/^[^/]+\/[^/]+$/,p$=/^sha256:[a-f0-9]{64}$/,hl=`must be an integer between ${_l} and ${Cl}`,g$=["version","rules","overrides","transparent_wrappers"],h$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function _C(e){if(!Je(e)||!Array.isArray(e.rules)||e.rules.length<=xi)return e;return{$schema:e.$schema,version:e.version,rules:f$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function y$(){let e=mh,t=(_)=>{let v=e.superRefine(_);return v._zod.def.when=()=>!0,v},n=e.enum(gC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(er,`must be at most ${er} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(vn,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),s=e.looseObject({$schema:e.unknown().optional().describe("JSON Schema reference for IDE support"),version:e.literal(1).describe("Schema version (must be 1)"),rules:e.array(o,{error:"must be an array of rulebook source strings"}).max(xi,hC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:xC.source}),r).default({}).describe("Rule overrides by id"),transparent_wrappers:e.array(i,{error:"must be an array of command strings"}).default([]).describe("Commands that transparently execute a visible protected child command")}),a=(_,v)=>{if(!Je(_))return;if(Array.isArray(_.rules)&&_.rules.length<=xi){let k=new Set;_.rules.forEach((z,M)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",M]});return}let W=Qr(z);if(W){v.addIssue({code:"custom",message:W,path:["rules",M]});return}if(k.has(z)){v.addIssue({code:"custom",message:`duplicate rulebook source "${z}"`,path:["rules",M]});return}k.add(z)})}if(Je(_.overrides))for(let k of Object.keys(_.overrides)){if(xC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(_.transparent_wrappers))return;let T=new Set;_.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!vn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Iv(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(_C,s.check(e.superRefine(a))),l=e.preprocess(_C,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(_,v)=>e.intersection(e.record(e.string().refine((T)=>_.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(_)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((v,T)=>{if(!Array.isArray(v))return;let k=pn();v.forEach((z,M)=>{if(typeof z!=="string")return;let W=_(z,k);if(W)T.addIssue({code:"custom",message:W,path:[M]})})})),m=e.strictObject({version:e.literal(1),safety:e.strictObject({level:e.enum(["standard","strict","paranoid"]).optional(),overrides:u.optional()}).optional(),workflow:e.strictObject({worktree_mode:e.boolean().optional()}).optional(),destructive_command_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Qi,"destructive command").optional(),allow_paths:f(Gs).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(gl,"secret protection").optional(),deny_paths:f(Zs).optional(),allow_paths:f(Bs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:hl}).int(hl).min(_l,hl).max(Cl,hl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(_)=>{let v=(M,W)=>_==="legacy"?M:W,T=v("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),k=`required non-empty string up to ${er} characters`,z=e.looseObject({name:e.string({error:"required string"}).regex(dt,v("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:v("required string","required string matching command pattern")}).regex(vn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(vn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((M)=>M!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((M)=>M.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((M)=>M!=="",{error:v("must not be empty",k)}).refine((M)=>M.length<=er,{error:v(`must be at most ${er} characters`,k)}),intent:n.optional()},{error:"must be an object"});return e.array(z,{error:v("must be an array","required array")}).check(t((M,W)=>{if(!Array.isArray(M))return;let U=new Set;M.forEach((ge,Be)=>{let A=Je(ge)?ge.name:void 0;if(typeof A!=="string")return;if(U.has(A.toLowerCase())){W.addIssue({code:"custom",message:`duplicate rule name "${A}"`,path:[Be,"name"]});return}U.add(A.toLowerCase())})}))},h=e.looseObject({version:e.literal(1),rules:p("legacy").optional()}),b="required string matching rule name pattern",y=e.looseObject({command:e.string({error:"required non-empty string"}).refine((_)=>_.trim()!=="",{error:"required non-empty string"}),expect:e.enum(["blocked","allowed"]),rule:e.string({error:"must be a string if provided"}).optional()},{error:"must be an object"}).check(t((_,v)=>{if(!Je(_))return;if(_.expect!=="blocked"||typeof _.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),R=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(dt,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((_)=>_!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(vn,"must match command pattern"),{error:"required array"}).check(t((_,v)=>{if(!Array.isArray(_))return;let T=new Set;_.forEach((k,z)=>{if(typeof k!=="string"||!vn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:[z]});return}T.add(k)})})),rules:p("rulebook"),tests:e.array(y,{error:"must be an array if provided"}).optional()}).check(t((_,v)=>{if(!Je(_))return;let T=new Set(vh(_));if(Array.isArray(_.tests)){let z=new Set(_.tests.flatMap((M)=>Je(M)&&M.expect==="blocked"&&typeof M.rule==="string"?[M.rule]:[]));for(let M of z){if(T.has(M))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${M}"`,path:["tests"]})}}if(!Array.isArray(_.allowed_commands)||!Array.isArray(_.rules))return;let k=new Set(_.allowed_commands.filter((z)=>typeof z==="string"));_.rules.forEach((z,M)=>{let W=Je(z)?z.command:void 0;if(typeof W!=="string"||k.has(W))return;v.addIssue({code:"custom",message:`"${W}" must be listed in allowed_commands`,path:["rules",M,"command"]})})})),w=e.string({error:"required string"}).refine((_)=>_.trim()!=="",{error:"required string"}),E=e.looseObject({spec:w,name:w,version:w,digest:e.string({error:"required sha256 digest"}).regex(p$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(E,e.discriminatedUnion("kind",[e.object({kind:e.literal("local-directory"),path:w}),e.object({kind:e.literal("github"),owner:w,repo:w,ref:w,commit:w,path:w,display_ref:e.unknown().optional()})],{error:(_)=>{if(!Je(_.input))return"must be an object";let v=_.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:R,RulesLockfileSchema:P}}function Ci(){return SC??=y$(),SC}function CC(){return Ci().RulesConfigSchema}function b$(){return Ci().UserPolicySchema}function wC(){return Ci().RulebookSchema}function RC(){return Ci().RulesLockfileSchema}function vh(e){let t=Je(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Je(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function EC(e){let t=Ci().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:Kr(AC(t.error.issues,g$)),sources:_$(e,t.error.issues)}}function PC(e){let t=b$().safeParse(e);if(t.success)return[];return Kr(AC(t.error.issues,h$)," ")}function Kr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>kC(r,t,n,[])))]}function kC(e,t,n,r){let o=[...r,...e.path],i=x$(o);if(e.code==="unrecognized_keys")return e.keys.map((s)=>`${i?`${i}.`:""}unknown field "${s}"`);if(e.code==="invalid_key")return e.issues.map((s)=>s.message);if(e.code==="invalid_union"){let s=e.errors.flat().filter((a)=>a.path.length>0);if(s.length>0)return s.flatMap((a)=>kC(a,t,n,o))}if(o.length===0)return[e.code==="invalid_type"?"Config must be an object":e.message];if(o.length===1&&(e.code==="too_big"||e.code==="too_small")&&e.origin==="array")return[e.message];return[`${i}${o.length===1?n:t}${v$(e)}`]}function v$(e){if(e.code==="invalid_value")return`must be ${S$(e.values)}`;if(e.code!=="invalid_type"||!e.message.startsWith("Invalid input:"))return e.message;if(e.expected==="object"||e.expected==="record")return"must be an object if provided";return e.expected==="boolean"?"must be a boolean":e.message}function S$(e){if(e.length>3)return`one of ${e.join(", ")}`;let t=e.map((n)=>typeof n==="string"?`"${n}"`:String(n));if(t.length<2)return`${t[0]}`;return`${t.slice(0,-1).join(", ")}${t.length>2?",":""} or ${t.at(-1)}`}function x$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function AC(e,t){let n=e.map((i)=>i.path[1]),r=[...new Set(n.filter((i)=>typeof i==="string"))],o=(i,s)=>[i.path.length===0?-1:t.indexOf(String(i.path[0])),typeof s==="number"?s:r.indexOf(String(s)),i.code==="custom"?0:1];return e.map((i,s)=>({issue:i,rank:o(i,n[s])})).sort((i,s)=>i.rank[0]-s.rank[0]||i.rank[1]-s.rank[1]||i.rank[2]-s.rank[2]).map((i)=>i.issue)}function _$(e,t){let n=Je(e)?e.rules:void 0;if(!Array.isArray(n))return new Set;if(t.some((o)=>o.path.length===1&&o.path[0]==="rules"))return new Set;let r=new Set(t.filter((o)=>o.path[0]==="rules"&&typeof o.path[1]==="number").map((o)=>o.path[1]));return new Set(n.filter((o,i)=>typeof o==="string"&&!r.has(i)))}function Je(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function C$(e){return EC(e)}function Sh(e){try{let t=gn(w$(e));if(t===null)return{config:null,errors:[]};if(!t.trim())return{config:null,errors:["Config file is empty"]};let n=JSON.parse(t),r=C$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=CC().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof ae)return{config:null,errors:[t.message]};let n=t instanceof Error?t.message:String(t);return{config:null,errors:[t instanceof SyntaxError?"Invalid JSON":n]}}}function w$(e){return typeof e==="string"?Di(e):e}var A$=new Set(["standard","strict","paranoid"]),T$={version:1,safety:{level:"standard",overrides:{}},workflow:{worktree_mode:!1},destructive_command_protection:{enabled:!0,overrides:{},allow_paths:[]},secret_protection:{enabled:!0,overrides:{},deny_paths:[],allow_paths:[]},audit:{retention_days:Ii}};function xh(e){return k$(P$(hn(e)),Li)}function zC(e={}){let t=D$(xh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function TC(e){if(!kt(e))return N$();let t=kt(e.safety)?e.safety:{},n=kt(t.overrides)?t.overrides:{},r=kt(e.workflow)?e.workflow:{},o=kt(e.destructive_command_protection)?e.destructive_command_protection:{},i=kt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:A$.has(t.level)?t.level:"standard",overrides:{...typeof n.fail_closed==="boolean"?{fail_closed:n.fail_closed}:{},...typeof n.paranoid_rm==="boolean"?{paranoid_rm:n.paranoid_rm}:{},...typeof n.paranoid_interpreters==="boolean"?{paranoid_interpreters:n.paranoid_interpreters}:{}}},workflow:{worktree_mode:typeof r.worktree_mode==="boolean"?r.worktree_mode:!1},destructive_command_protection:{enabled:typeof o.enabled==="boolean"?o.enabled:!0,overrides:IC(o.overrides,Qi),allow_paths:O$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:IC(i.overrides,gl),deny_paths:I$(i.deny_paths),allow_paths:z$(i.allow_paths)},audit:{retention_days:Oi(kt(e.audit)?e.audit.retention_days:void 0)}}}function IC(e,t){if(!kt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function I$(e){if(!Array.isArray(e))return[];let t=pn();return e.filter((n)=>Zs(n,t)===null)}function O$(e){if(!Array.isArray(e))return[];let t=pn();return e.filter((n)=>Gs(n,t)===null)}function z$(e){if(!Array.isArray(e))return[];let t=pn();return e.filter((n)=>Bs(n,t)===null)}function kt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function N$(){return structuredClone(T$)}function D$(e){let t=$$();if(!R$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!kt(n))return{policy:t,errors:[]};return{policy:OC(TC(n)),errors:[]}}try{let n=E$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=PC(r),i=OC(TC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:kt(r)?"salvaged":"defaults"};return{policy:i,errors:[]}}catch(n){let r=n instanceof Error?n.message:String(n);return{policy:t,errors:[`${e}: ${n instanceof SyntaxError?"Invalid JSON":r}`],fallback:"defaults"}}}function NC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...vC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function $$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:NC({}),denyPaths:[],allowPaths:[]}}}function OC(e){return{safety:M$(e.safety),worktreeMode:e.workflow.worktree_mode,destructiveCommandProtectionEnabled:e.destructive_command_protection.enabled,destructiveCommandRuleOverrides:e.destructive_command_protection.overrides,destructiveCommandAllowPaths:e.destructive_command_protection.allow_paths,secretProtection:{enabled:e.secret_protection.enabled,disabledRules:NC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function M$(e){let t={...e.overrides.fail_closed!==void 0?{failClosed:e.overrides.fail_closed}:{},...e.overrides.paranoid_rm!==void 0?{paranoidRm:e.overrides.paranoid_rm}:{},...e.overrides.paranoid_interpreters!==void 0?{paranoidInterpreters:e.overrides.paranoid_interpreters}:{}};return{level:e.level,...Object.keys(t).length>0?{overrides:t}:{}}}var LC="This path contains the protected policy config and you must not modify or delete it.",W$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function WC(e){let t=yn(It()),n=j$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return DC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=De(e,"input-candidate");if(e.invocation.route.kind==="command")return r?$C(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=$C(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return DC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Ns(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function DC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>wi(s,n,r,o));return i?{target:i}:null}function $C(e,t,n,r){let o=$s(e,t,r,{findSegmentTarget:(i,s)=>F$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>wi(i,s.cwd,n,r),findMalformedTarget:(i)=>U$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function F$(e,t,n,r){if(xo(e))return null;let o=r.environment,i=Jt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&G$(a)){let c=Z$(a).find((l)=>MC($e(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Js(i,1)||Fu(i,o)){let l=(Ys(j(i))??j(["."])).find((u)=>{let d=$e(u.text,t.variables);return wi(d,t.cwd,n,r)||MC(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=Ms(a).sources.find((l)=>H$($e(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(B$(e,o))return null;for(let c of[...e,...i])for(let l of FC(c))if(wi($e(l,t.variables),t.cwd,n,r))return{target:l};return null}function G$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function Z$(e){let t=e.indexOf("--");if(t!==-1)return[...e.slice(0,t).filter((n)=>!n.startsWith("-")),...e.slice(t+1)];return e.filter((n)=>!n.startsWith("-"))}function B$(e,t){let n=Jt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!W$.has(r))return!1;if(r!=="sed")return!0;return!n.slice(1).some((o)=>o.startsWith("-i")||o==="--in-place"||o.startsWith("--in-place="))}function U$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of FC(o))if(wi(i,t,n,r))return{target:i};return null}function FC(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function j$(e,t){let n=ve(xh(),e,t),r=_h(n),o=new Set;for(let i=r;;i=_h(i))if(o.add(Yr(i)),_h(i)===i)break;return{file:Yr(n),directoryAndAncestors:o}}function wi(e,t,n,r){let o=iv(e,t,r,(i)=>Yr(i)===L$(n.file));return o!==null&&Yr(o)===n.file}function MC(e,t,n,r){return n.directoryAndAncestors.has(Yr(ve(e,t,r)))}function H$(e,t,n,r){let o=Yr(ve(e,t,r));return o===n.file||n.directoryAndAncestors.has(o)}function Yr(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as wh}from"os";import{isAbsolute as yl,posix as V$,resolve as vl,win32 as q$}from"path";import{fileURLToPath as K$}from"url";var JC="Access to a sensitive path is not allowed.",XC=new Set(["echo","printf"]),Y$=new Set(["find"]),J$=new Set(["-exec","-execdir"]),X$=new Set([";","+"]),Q$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),e0=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),t0=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),n0=new Set(["node","bun"]),r0=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),o0=new Set(["append","awk","base64","cat","chmod","chown","connect","copy","cp","database","dd","eval","exec","fetch","file","function","grep","head","include","load","move","mv","open","popen","read","remove","rename","require","rg","rm","sed","shell","source","spawn","strings","system","tail","tar","truncate","unlink","write","xxd","zip"]),QC=new Set(["-c","-e","-r","-E","--eval","--exec"]),i0=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),GC=new Set(["cc-safety-net","ccsn"]),s0=new Set(["bunx","npx","pnpx"]),a0=new Set(["bun","node"]),c0=new Map([["c",new Set(["bash","sh","zsh","dash","ksh","python"])],["e",new Set(["node","deno","bun","ruby","perl","rscript","osascript"])],["E",new Set(["perl"])],["r",new Set(["php"])]]),l0=new Set(["grep","rg"]),ZC="f",BC="file",u0="files",d0=new Set(["e","f"]),m0=new Set(["regexp","file"]),f0=new Set(["e","f","A","B","C","m"]),p0=new Set(["regexp","file","after-context","before-context","context","max-count"]),g0=new Set(["|","|&"]),Ch="__CC_SAFETY_NET_PIPE_INPUT__",ew=new Set(["bash","sh","zsh","dash","ksh"]),h0=new Map([["bash",new Set(["-O"])],["sh",new Set(["-O"])],["zsh",new Set(["-o"])],["dash",new Set(["-o"])],["ksh",new Set(["-o"])],["python",new Set(["-W","-X"])],["node",new Set(["-r","--require","--loader","--import","--input-type"])]]);function UC(e,t,n,r,o){let i=to();for(let s of e){if(rM(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=tM(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&oM(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function tw(e,t,n={}){let r=jC(e),o=UC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?jC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:UC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&y0(e))return null;return s}function y0(e){if(e.invocation.route.kind!=="command")return!1;let t=De(e,"input-candidate")??De(e,"declared-command");if(!t)return!1;if(t.program.nodes.some((s)=>s.kind==="command"&&s.nested.length>0))return!1;let n=[];for(let s of t.shell.entries){if(s.kind==="operator"&&s.boundary)return!1;if(s.kind==="redirection")return!1;if(s.kind!=="operator")n.push(ht(s.text))}let r=Jr(n);if(r.length===0)return!1;let o=jn(r[0]??"").toLowerCase(),i=r.slice(1);if(o==="ls"||o==="stat")return!0;if(o==="test")return i.length===2&&(i[0]==="-e"||i[0]==="-f");if(o!=="find")return!1;return!i.some((s)=>Q$.has(s))}function jC(e,t={}){if(e.invocation.route.kind==="command"){let r=De(e,"input-candidate");return r?Pi(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=De(e,"input-candidate");return[...n?Pi(n.shell,e.store,t):[],...e.paths]}function Pi(e,t,n){if(e.status==="structural-limit")throw new gt;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...M0(ht(e.source),t,n)],o=[],i=null;for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;if(o.length>0){if(r.push(...bl(o,t,n)),i!==null)r.push(...VC(i,o,t,n));i=g0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?ht(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(ht(s.text))}if(o.length>0){if(r.push(...bl(o,t,n)),i!==null)r.push(...VC(i,o,t,n))}return r}function bl(e,t,n){let r=P0(e),o=Jr(e);if(o.length===0)return r;let i=o[0]??"",s=jn(i).toLowerCase(),a=o.slice(1),c=v0(i,s,a);if(c)return[...r,...c];if(XC.has(s))return r;if(l0.has(s))return[...r,...j0(a)];if(Y$.has(s))return[...r,...k0(a,t,n)];if(Me.has(s))return[...r,...a.flatMap((l)=>qC("awk",l)),...a.flatMap((l)=>T0(l,t,n)),...a.flatMap(I0)];if(ow(s)){if(ew.has(s)){let l=nv(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new gt}return[...r,...A0(s,a,n)]}return[...r,...a.flatMap((l)=>qC(s,l))]}function b0(e,t){if(GC.has(e))return t[0]==="explain"?0:null;if(s0.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return GC.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(a0.has(e)){if(HC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&HC(t[1])&&t[2]==="explain")return 2}return null}function v0(e,t,n){let r=b0(t,n);if(r===null)return null;let o=[e,...n.slice(0,r)],i=n.slice(r+1);for(let s=0;s<i.length;s++){let a=i[s];if(a==="--json"||a==="--help"||a==="-h")continue;if(a==="--cwd"){let c=i[s+1];if(c&&!c.startsWith("--"))o.push(c);s++;continue}return o}return o}function HC(e){let t=e?.replaceAll("\\","/");return[...i0].some((n)=>t===n||t?.endsWith(`/${n}`))}function VC(e,t,n,r){if(w0(t,n,r))return S0(e);let o=R0(t);if(o===null)return[];return x0(e).flatMap((i)=>ew.has(o)?Pi(n.getShellSyntax(i),n,r):sw(i))}function S0(e){let t=Jr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase();if(!XC.has(n))return[];return t.slice(1)}function x0(e){let t=Jr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase(),r=t.slice(1);if(n==="echo"){let o=r.findIndex((i)=>!/^-[neE]+$/.test(i));return[(o===-1?[]:r.slice(o)).join(" ")]}if(n==="printf")return _0(r);return[]}function _0(e){let t=e[0];if(t===void 0)return[];let n=(t.match(/%%|%[bqs]/g)??[]).filter((o)=>o!=="%%").length;if(n===0||e.length===1)return[nw(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>C0(t,r.slice(i*n,(i+1)*n)))}function C0(e,t){let n=0;return nw(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function nw(e){return e.replace(/\\n/g,`
99
+ `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function w0(e,t,n){let r=Jr(e);if(r.length===0||jn(r[0]??"").toLowerCase()!=="xargs")return!1;let o=An(r),i=r.slice(o.childStart);if(i.length===0)return!1;if(o.replacementToken==="")return!1;let s=o.replacementToken,a=s===null?[...i,Ch]:i.map((c)=>c.split(s).join(Ch));return bl(a,t,n).some((c)=>c.includes(Ch))}function R0(e){let t=Jr(e);if(t.length===0)return null;let n=jn(t[0]??"").toLowerCase();if(!ow(n))return null;return E0(n,t.slice(1))?n:null}function E0(e,t){let n=rw(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(QC.has(o)||iw(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(h0.get(n)?.has(o))r++;continue}return!1}return!0}function rw(e){return/^python\d/.test(e)?"python":e}function P0(e){let t=[];for(let n of e){if(lw(n))continue;let r=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(n);if(r===null)break;if(r[1]!==void 0&&r[1]!=="")t.push(r[1])}return t}function qC(e,t){if(t==="--")return[];let n=[],r=t.indexOf("=");if(r>0&&r<t.length-1)n.push(t.slice(r+1));if(t.startsWith("-"))return n;if(e==="tar"&&/\.(?:tar|tgz|tar\.gz|zip)$/i.test(t))return n;if(e==="zip"&&/\.zip$/i.test(t))return n;return n.push(t),n}function k0(e,t,n){let r=e.findIndex((i)=>i.startsWith("-")||i==="("||i==="!"||i===";"),o=[...e.slice(0,r===-1?e.length:r)];for(let i=0;i<e.length;i++){if(!J$.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>X$.has(u)),c=a===-1?s:s.slice(0,a),l=bl(c,t,n);if(o.push(...l.filter((u)=>u!=="{}")),!l.includes("{}"))continue;o.push(...e.slice(0,i).flatMap((u,d,f)=>{if(!e0.has(u))return[];let m=f[d+1];return m===void 0?[]:[m,m.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function ow(e){return t0.has(e)||/^python\d/.test(e)}function A0(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(QC.has(i)||iw(e,i)){let a=t[o+1];if(a!==void 0)r.push(...KC(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...KC(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function iw(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return c0.get(t[t.length-1]??"")?.has(rw(e))??!1}function T0(e,t,n){if(!e.includes("system"))return[];return $u(e)?.commands.flatMap((r)=>Pi(t.getShellSyntax(r),t,n))??[]}function I0(e){return Array.from(e.matchAll(/\bgetline(?:\s+[A-Za-z_][A-Za-z0-9_]*)?\s*<\s*"((?:\\.|[^"\\])*)"/g)).map((t)=>t[1]).filter((t)=>t!==void 0&&t!=="")}function sw(e){let t=Array.from(e.matchAll(/(['"`])((?:\\.|(?!\1).)*)\1/g)).map((r)=>r[2]).filter((r)=>r!==void 0&&r!==""),n=(e.match(/[\w./~@+-]*[./~][\w./~@+-]*/g)??[]).filter((r)=>r!=="process.versions.sqlite"||t.some((o)=>o.includes(r)));return[...t,...t.flatMap(aw),...n]}function KC(e,t,n){let r=sw(t);if(!n.refineJavaScriptInlineData||!n0.has(e)||r.length===0)return r;let o=O0(t);return o!==null&&!N0(o)?[]:r}function O0(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&z0(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
100
+ `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function z0(e,t){for(let n=t-1;n>=0;n--){let r=e[n];if(!r||/\s/.test(r))continue;return/[\w$\])]/.test(r)}return!1}function N0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(r0.has(n.toLowerCase()))return!0;let o=n.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_$\s]+/).map((i)=>i.toLowerCase());if(!o.some((i)=>o0.has(i)))continue;if(o.length>1)return!0;if(D0(e,r)===".")return!0;if($0(e,r+n.length)==="(")return!0}return!1}function D0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function $0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function M0(e,t,n){return Z0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Pi(o,t,n),...L0(o)?W0(o):[]]})}function L0(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||jn(ht(r.text)).toLowerCase()!=="base64")continue;for(let o=n+1;o<t.length;o++){let i=t[o];if(i?.kind==="operator")break;if(i?.kind!=="word")continue;let s=ht(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function W0(e){return e.entries.flatMap((t)=>t.kind==="word"?[ht(t.text)]:t.kind==="redirection"&&t.target?[ht(t.target)]:[]).flatMap(aw)}function aw(e){let t=G0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||F0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function F0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function G0(e){if(e.length<8||!/^[A-Za-z0-9+/_-]+={0,2}$/.test(e))return null;if(/=/.test(e.replace(/=+$/g,"")))return null;let t=e.replace(/=+$/g,"");if(t.length%4===1)return null;return`${t.replace(/-/g,"+").replace(/_/g,"/")}${"=".repeat((4-t.length%4)%4)}`}function Z0(e){let t=[],n={inSingle:!1,inDouble:!1,escaped:!1};for(let r=0;r<e.length;r++){let o=e[r];if(!o)break;if(ho(o,n))continue;if(cw(e,r,n)){let i=B0(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=U0(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function B0(e,t){let n={inSingle:!1,inDouble:!1,escaped:!1},r=1;for(let o=t+1;o<e.length;o++){let i=e[o];if(!i)break;if(ho(i,n))continue;if(cw(e,o,n)){r++,o++;continue}if(!n.inSingle&&!n.inDouble&&i===")"){if(r--,r===0)return{body:e.slice(t+1,o),endIndex:o}}}return null}function U0(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let o=e[r];if(!o)break;if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(o==="`")return{body:e.slice(t+1,r),endIndex:r}}return null}function cw(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function j0(e){let t=[],n=[],r=!1,o=!1,i=!1;for(let c=0;c<e.length;c++){let l=e[c];if(l===void 0)break;if(!i&&l==="--"){i=!0;continue}if(i){n.push(l);continue}let u=/^--([^=]+)(?:=(.*))?$/.exec(l);if(u!==null){let d=u[1]??"",f=u[2];if(d===u0)o=!0;if(m0.has(d))r=!0;if(f!==void 0){if(d===BC)t.push(f);continue}if(p0.has(d)){let m=e[c+1];if(d===BC&&m!==void 0)t.push(m);c++}continue}if(l.startsWith("-")&&l.length>1){let d=l.slice(1),f="",m="";for(let p=0;p<d.length;p++){let h=d[p]??"";if(d0.has(h))r=!0;if(f0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===ZC)t.push(m)}else{let p=e[c+1];if(f===ZC&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Jr(e){let t=e.findIndex((n)=>!lw(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function lw(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var H0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),V0=".env.",q0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),K0=[".env.example.",".env.sample."];function Y0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function J0(e){return e.length>0&&!/\s/.test(e)}function X0(e,t,n){try{let r=ki(e,t,n);return r!==""&&Ue.entryKind(r)!=="missing"}catch(r){if(r instanceof be)throw r;return!1}}var Q0=new Set(["node_modules","__pycache__"]),eM=[["vendor","bundle"],["vendor","cache"]];function tM(e,t,n,r){if(Y0(e))return null;let o=At(e,t,r);if(!o)return null;let i=ne(o.split("/").pop()??""),s=ne(o),a=()=>J0(i)||X0(e,t,r);if(q0.has(i)||K0.some((d)=>i.startsWith(d)))return null;let c=ne(aM(e,t,r));for(let d of ph){let f=`~/${d.suffixParts.join("/")}`;if((YC(s,f)||YC(c,f))&&Bt(d.id,n))return d.id}let l=nM(o,t,n,r);if(l)return l;if(H0.has(i))return null;for(let d of fh)if(i===d.basename&&Bt(d.id,n))return d.id;if(i.startsWith(V0)&&Bt(fl.id,n)&&a())return fl.id;for(let d of gh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Bt(d.id,n)&&a())return d.id}for(let d of hh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Bt(d.id,n))return d.id}if(iM(s))return null;if(!i.includes(".")&&_i.pattern.test(i)&&Bt(_i.id,n))return _i.id;let u=sM(i,n);if(u)return u;return null}function nM(e,t,n,r){return pl.find((o)=>{if(!Bt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return Q(e,te(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=ne(e).split("/");return Q(e,te(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||Ei(e,"~/.claude.json",t,r)||i.at(-1)==="settings.local.json"&&i.at(-2)===".claude"||i.at(-1)===".mcp.json"}case"secret.cli.antigravity":return Q(e,At("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=te(process.env.CODEX_HOME,"~/.codex",t,r);return Q(e,i,["auth.json",".credentials.json"])||Ri(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=te(process.env.CODEX_HOME,"~/.codex",t,r),s=ne(e).split("/").at(-1)??"";return Q(e,i,["config.toml"])||s.endsWith(".config.toml")&&Q(e,i,[s])}case"secret.cli.gemini":return Q(e,ye(te(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["oauth_creds.json","mcp-oauth-tokens.json","a2a-oauth-tokens.json","gemini-credentials.json"]);case"secret.cli.gemini.config":{let i=ne(e).split("/"),s=process.env.ProgramData?[ye(te(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return Q(e,ye(te(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["settings.json","google_accounts.json"])||i.at(-1)==="settings.json"&&i.at(-2)===".gemini"||(process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?.trim()?Ei(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>Q(e,At(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=te(process.env.COPILOT_HOME,"~/.copilot",t,r);return Q(e,i,["config.json"])||Ri(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return Q(e,te(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=te(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=te(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return Q(e,i,["server.token"])||Ri(e,i,["credentials"])||Ri(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=ne(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||Q(e,te(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||Q(e,te(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ye(te(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=ne(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return Q(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&Q(e,i,[s])||c.some((l)=>Ei(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?te(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ye(te(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(ne(e).split("/").at(-1)??"")||Q(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?Ei(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>Q(e,At(c,t,r),a))}case"secret.cli.pi":return Q(e,te(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return Q(e,te(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=At("~",t,r);return[ye(te(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ye(i,".local","share","amp")].some((a)=>Q(e,a,["secrets.json"]))||Ri(e,ye(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ye(At("~",t,r),".config","amp")],a=ne(e).split("/");return s.some((c)=>Q(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?Ei(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ye(te(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return Q(e,At("~/.cursor",t,r),["auth.json"])||Q(e,i,["auth.json"])||ne(e).split("/").at(-1)==="mcp-auth.json"&&Un(ne(e),ne(s))}case"secret.cli.cursor.config":{let i=ne(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}case"secret.cli.grok-build":return Q(e,te(process.env.GROK_HOME,"~/.grok",t,r),["auth.json","mcp_credentials.json"]);case"secret.cli.grok-build.config":{let i=ne(e).split("/");return i.at(-1)==="config.toml"&&i.at(-2)===".grok"||Q(e,te(process.env.GROK_HOME,"~/.grok",t,r),["config.toml","managed_config.toml","requirements.toml"])||Q(e,At("/etc/grok",t,r),["managed_config.toml","requirements.toml"])}default:return!1}})?.id??null}function te(e,t,n,r){return At(e?.trim()?e:t,n,r)}function Q(e,t,n){return n.some((r)=>uw(e,ye(t,r)))}function Ri(e,t,n){return n.some((r)=>Un(ne(e),ne(ye(t,r))))}function Ei(e,t,n,r){return uw(e,At(t,n,r))}function uw(e,t){return ne(e)===ne(t)}function ye(e,...t){return lt([e,...t].filter(Boolean).join("/"))}function rM(e,t,n,r,o){if(n.length===0)return!1;let i=ne(ki(e,t,o));return n.some((s)=>Un(i,ne(ki(s,r,o))))}function oM(e,t,n,r,o){if(n.length===0)return!1;let i=ne(ki(e,t,o));if(!i)return!1;let s=process.env.HOME??wh(),a=s?lt(Y(Te(s),Ue,o)):"",c=ne(a),l=process.env.CC_SAFETY_NET_HOME,u=ne(l?lt(Y(vl(Te(l)),Ue,o)):a&&lt(Y(`${a}/.cc-safety-net`,Ue,o)));if(u&&Un(i,u))return!1;return n.some((d)=>{let f=ne(ki(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Un(i,f)})}function iM(e){let t=e.split("/");return t.some((n)=>Q0.has(n))||eM.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function sM(e,t){let n=e.lastIndexOf("."),r=n>0&&n<e.length-1?e.slice(n+1):"";if(r==="")return null;for(let o of yh)if(r===o.extension&&Bt(o.id,t))return o.id;for(let o of bh)if(o.pattern.test(r)&&Bt(o.id,t))return o.id;return null}function ne(e){return e.toLowerCase()}function Bt(e,t){return!t?.disabledRules?.includes(e)}function At(e,t,n){let{home:r,normalized:o}=Rh(e,n);if(!o)return"";if(!r)return o;let i=Eh(o,r),s=yl(i)?i:lt(vl(t,i)),a=lt(Y(s,Ue,n));if(!Un(a,r)){if(yl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function YC(e,t){return e===t||e.startsWith(`${t}/`)}function aM(e,t,n){let{home:r,normalized:o}=Rh(e,n);if(!o||!r)return"";let i=Eh(o,r),s=V$.normalize(yl(i)?i:lt(vl(t,i))),a=lt(Te(process.env.HOME??wh())),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Un(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function ki(e,t,n){let{home:r,normalized:o}=Rh(e,n);if(!o)return"";let i=r?Eh(o,r):o;return lt(Y(yl(i)?i:vl(t,i),Ue,n))}function Rh(e,t){let n=process.env.HOME??wh(),r=n?lt(Y(Te(n),Ue,t)):"",o=lt(Te(cM(ht(e))));return{home:r,normalized:o}}function cM(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return K$(e)}catch{return e}}function Eh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ye(t,e.slice(2));return e}function lM(e){if(process.platform==="win32")return!0;return q$.parse(e).root.length>1}function lt(e){let t=e.trim(),n=(lM(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Un(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function jn(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as Sl}from"path";var dw="Rulebook exceeds CC Safety Net's safe validation limits.",mw="Additional rulebook validation errors were omitted.",ut=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function fw(e){if(Ph(e.allowed_commands,ut.maxAllowedCommands)||Ph(e.rules,ut.maxRules)||Ph(e.tests,ut.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ut,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ut.maxStringCodeUnits||i&&o.length>ut.maxFixtureCommandCodeUnits||o.length>t)return!1;return t-=o.length,!0};if(!r(e.name)||!r(e.version)||!r(e.description)||!r(e.author)||!r(e.migrated_from))return!1;if(Array.isArray(e.allowed_commands)){for(let o of e.allowed_commands)if(!r(o))return!1}if(Array.isArray(e.rules))for(let o of e.rules){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.name)||!r(i.command)||!r(i.subcommand)||!r(i.reason)||!r(i.intent))return!1;if(!Array.isArray(i.block_args))continue;if(i.block_args.length>ut.maxBlockArgsPerRule||i.block_args.length>n)return!1;n-=i.block_args.length;for(let s of i.block_args)if(!r(s))return!1}if(Array.isArray(e.tests))for(let o of e.tests){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.command,!0)||!r(i.expect)||!r(i.rule))return!1}return!0}function Ph(e,t){return Array.isArray(e)&&e.length>t}function uM(e){if(!dM(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!fw(e))return{errors:[dw],ruleNames:new Set};let t=wC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:Kr(t.error.issues,": ",": ")];return{errors:n.length>ut.maxValidationErrors?[...n.slice(0,ut.maxValidationErrors),mw]:n,ruleNames:new Set(vh(e).map((r)=>r.toLowerCase()))}}function kh(e){let t=uM(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function dM(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function Ah(e){if(Mi(e.spec))return pM(e);return fM(e)}function fM(e){if(!dt.test(e.spec))return`Local rulebook sources must be bare names matching ${dt}: ${e.spec}`;if(e.kind!=="local-directory")return`lock entry for ${e.spec} must use local-directory kind`;if(e.path===e.spec&&e.name===e.spec)return null;return`lock entry for ${e.spec} does not match local source identity`}function pM(e){let t=Qr(e.spec);if(t)return t;let n=$i(e.spec);if(e.kind!=="github")return`lock entry for ${e.spec} must use github kind`;if(e.owner===n.owner&&e.repo===n.repo&&e.ref===n.ref&&e.path===n.path&&e.name===n.name)return null;return`lock entry for ${e.spec} does not match GitHub source identity`}function pw(e){let t=typeof e==="string"?e:e.path;try{let n=gn(typeof e==="string"?Di(e):e);if(n===null)return{lock:null,errors:[]};let r=JSON.parse(n);if(!r||typeof r!=="object")return{lock:null,errors:[`malformed lockfile ${t}: must be an object`]};let o=r;if(o.version!==1||!Array.isArray(o.rulebooks))return{lock:null,errors:[`malformed lockfile ${t}`]};let i=RC().safeParse(o),s=o.rulebooks.flatMap((c,l)=>{let u=i.success?[]:i.error.issues.filter((f)=>f.path[1]===l);if(u.length>0)return Kr(u).map((f)=>`${t}: ${f}`);let d=Ah(c);return d?[`${t}: rulebooks[${l}]: ${d}`]:[]});if(!i.success||s.length>0)return{lock:null,errors:[`malformed lockfile ${t}`,...s]};return{lock:{version:1,rulebooks:i.data.rulebooks.map((c)=>{if(c.kind==="local-directory")return{spec:c.spec,kind:c.kind,path:c.path,name:c.name,version:c.version,digest:c.digest};let l={spec:c.spec,kind:c.kind,owner:c.owner,repo:c.repo,ref:c.ref,commit:c.commit,path:c.path,name:c.name,version:c.version,digest:c.digest};return typeof c.display_ref==="string"&&c.display_ref!==""?{...l,display_ref:c.display_ref}:l})},errors:[]}}catch(n){if(n instanceof ae)return{lock:null,errors:[n.message]};return{lock:null,errors:["malformed lockfile"]}}}import{createHash as gM}from"crypto";var r2=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function gw(e){return`sha256:${gM("sha256").update(e).digest("hex")}`}function Sw(e={}){let t=Vh(e),n=!1;try{n=Wh(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return vM(t,f.message);throw f}let r=Sh(t.userConfigTarget),o=n?{config:null,errors:[]}:Sh(t.projectConfigTarget),i=vw(t.userConfigPath,r.errors),s=vw(t.projectConfigPath,o.errors),a=new Set,c=r.config?hw(r.config,t.userLockPath,Sl(t.userConfigPath),e,"user",t.userScope,a):Ai(),l=o.config?hw(o.config,t.projectLockPath,Sl(t.projectConfigPath),e,"project",t.projectScope,a):Ai(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...yw(c.rules,u),...yw(l.rules,d)],transparent_wrappers:yM(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?bw(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?bM(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?bw(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function hw(e,t,n,r,o,i=Ut(Sl(Sl(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=Ot(i,t)}catch(b){if(b instanceof ae)return{...Ai(),errors:[b.message],canValidateOverrides:!1};throw b}let c=pw(a);if(c.errors.length>0)return{...Ai(),errors:c.errors,canValidateOverrides:!1};let l=c.lock;if(!l&&e.rules.length>0)return{...Ai(),errors:[`missing lockfile ${t}; run ${Vt}`],canValidateOverrides:!1};let u=l?.rulebooks??[],d=new Map(u.map((b)=>[b.spec,b])),f=[],m=[],p=e.rules.flatMap((b)=>{let y=d.get(b);if(!y)return f.push(`missing lock entry for ${b}; run ${Vt}`),[];let R=hM(y,n,r,i);if(R.errors.length>0||!R.rulebook)return f.push(...R.errors),[];let w=R.rulebook;if(s.has(w.name))return m.push(`duplicate active rulebook name "${w.name}" for ${b}; keeping the first and ignoring this one, so its rules are not active; rename one of them, then run ${Vt}`),[];return s.add(w.name),[{rules:w.rules.map((E)=>({...E,name:`${w.name}/${E.name}`})),rulebook:{source:o,spec:y.spec,name:w.name,version:w.version,rules:w.rules.map((E)=>`${w.name}/${E.name}`)}}]}),h=p.flatMap((b)=>b.rules);return{rules:h,rulebooks:p.map((b)=>b.rulebook),entries:u,knownRuleIds:new Set(h.map((b)=>b.name)),errors:f,warnings:m,canValidateOverrides:f.length===0}}function hM(e,t,n,r){let o=Al(e,Tl(t,n)),i;try{i=gn(Ot(r,o))}catch(a){if(a instanceof ae)return{rulebook:null,errors:[a.message]};throw a}if(i===null)return{rulebook:null,errors:[`missing cache entry for ${e.spec}; run ${Vt}`]};if(gw(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Vt}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{kh(s)}catch(a){return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}: ${a instanceof Error?a.message:"invalid rulebook"}`]}}return{rulebook:s,errors:[]}}function yM(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function yw(e,t){return e.flatMap((n)=>{let r=t[n.name];if(r==="off")return[];if(r&&typeof r==="object")return[{...n,intent:r.intent??n.intent,reason:r.reason}];return[n]})}function bw(e,t,n){return Object.keys(e).filter((r)=>!t.has(r)).map((r)=>`unknown override key "${r}" in ${n}; only that override is ignored and other overrides and rules keep their configured state; correct or remove it in that file`)}function bM(e,t,n){return Object.keys(e).filter((r)=>t.has(r)).map((r)=>`project override cannot target user-scoped rule "${r}" in ${n}; only that override is ignored and the rule keeps its user-configured state; remove it from that file`)}function vw(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function vM(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath,userLockPath:e.userLockPath,projectLockPath:e.projectLockPath}}function Ai(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function xw(e={}){let t=Sw(e),n=zC(e),r={rules:t.rules,transparentWrappers:t.transparent_wrappers,safety:n.safety,worktreeMode:n.worktreeMode,destructiveCommandProtectionEnabled:n.destructiveCommandProtectionEnabled,destructiveCommandRuleOverrides:n.destructiveCommandRuleOverrides,destructiveCommandAllowPaths:n.destructiveCommandAllowPaths,secretProtection:{enabled:n.secretProtection.enabled??!0,disabledRules:n.secretProtection.disabledRules??[],denyPaths:n.secretProtection.denyPaths,allowPaths:n.secretProtection.allowPaths??[]}},o={...t.userConfig?.overrides??{},...t.projectConfig?.overrides??{}},i=Object.freeze(Object.fromEntries(r.rules.map((s)=>{let a=t.rulebooks.find((l)=>l.rules.includes(s.name)),c=o[s.name];return[s.name,Object.freeze({id:s.name,...a?{rulebook:Object.freeze({name:a.name,version:a.version}),...CM(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return wM(r,SM(t,n),i)}function SM(e,t){let n=_M(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:RM(e.errors.length>0?xM(e.errors):void 0,e.warnings.length>0?Th(e.warnings.join("; ")):void 0,n)}}function xM(e){return`${Th(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function _M(e){if(e.errors.length===0)return;let t=e.fallback==="salvaged"?"the salvaged policy with protective defaults":"built-in protective defaults";return`invalid policy config: ${e.errors.join("; ")}. Enforcing ${t}; the invalid values are not active. Fix the policy file manually`}function CM(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function wM(e,t,n=Object.freeze({})){let r=_w(structuredClone(e));if(!t)return Object.freeze({state:"ready",policy:r,diagnostics:Object.freeze([]),ruleMetadata:n});return Object.freeze({state:"degraded",policy:r,diagnostics:Object.freeze([...t.diagnostics]),reason:t.reason,ruleMetadata:n})}function _w(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))_w(t);return Object.freeze(e)}function RM(...e){return Th(e.filter((t)=>!!t).join("; "))}function Th(e){return/[.!?]$/.test(e)?e:`${e}.`}class mn extends Error{stage;evaluation;name="GuardEvaluationError";constructor(e,t,n){super(`CC Safety Net ${e} dependency failed`,{cause:n});this.stage=e;this.evaluation=t}}var EM={findPolicyMutation:WC,findGitMetadataMutation:lv,resolveGitMetadata:Eu,loadPolicySnapshot:xw,findSensitiveTarget:tw,analyzeCommand:yx,getModes:Ed};function Cw(e,t={}){let n={...EM,...t.dependencies},r=AM(e),o=Ti(e)?e.command:r,i=Hn("policy-protection",o,()=>Ds(e,t.factParserDependencies)),s=De(i,"declared-command");if(Ti(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:Nt,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(De(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:ly,intent:"stop_and_explain",evidence:[]}};let a=Hn("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),c=Hn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:LC,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=Hn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:Ve,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=Hn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,...PM(u)},p=d.secretProtection.enabled===!1?null:Hn("secret-protection",o,()=>n.findSensitiveTarget(i,d.secretProtection,{strict:Ti(e)?f.strict:void 0}));if(p){let b=o??p.target;return{stage:"secret-protection",...m,decision:{kind:"deny",reason:JC,intent:"hard_stop",ruleId:p.ruleId,evidence:[{kind:"command",command:b,segment:p.target}]}}}if(!Ti(e))return{stage:"non-command",...m,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...Ih("command-validation",o),...m};let h=Hn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:It(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},kM(i),i.store));if(h)return{stage:"command-analysis",...m,decision:h};return{stage:"command-analysis",...m,decision:{kind:"allow"}}}function PM(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function kM(e){return De(e,"declared-command")?.program}function AM(e){try{return So(e.input)}catch(t){let n=Ti(e)?e.command:void 0;throw new mn("policy-protection",Ih("policy-protection",t instanceof Wt?void 0:n,t),t)}}function Hn(e,t,n){try{return n()}catch(r){throw new mn(e,Ih(e,r instanceof Wt?void 0:t,r),r)}}function Ih(e,t,n){let r=n instanceof be||n instanceof gt;return{stage:e,decision:{kind:"deny",reason:r?uy:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ti(e){return e.route.kind==="command"}function Rw(e,t){try{let n=Cw(e,t.guard);return ww(e,n,t),n}catch(n){if(!(n instanceof mn))throw n;throw ww(e,n.evaluation,t,!(n.cause instanceof Wt),{stage:n.stage,errorCode:TM(n.cause)}),n}}function ww(e,t,n,r=!0,o){oy(ry(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function TM(e){if(e instanceof be)return"path-canonicalization-limit";if(e instanceof Wt)return"tool-input-limit";if(e instanceof gt)return"structural-shell-syntax-limit";return"unexpected-error"}var Pw=OM();function OM(e={}){return(t,n)=>zM(t,n,e)}function zM(e,t,n){let r=NM(e,t),o=()=>MM(e);if("malformed"in r)return iy(r.denial,o,{agent:"amp",toolName:r.denial.toolName,cwd:r.cwd}),kw(r.denial);try{let i=Rw(r,{guard:{auditAllowed:wd(),dependencies:n.guardDependencies},audit:{agent:"amp",getSessionId:o}});return Ew(i,!0)}catch(i){if(!(i instanceof mn))throw i;if(on(me.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${hy(i.cause)}`);return Ew(i.evaluation,r.route.kind==="command")}}function NM(e,t){if(!e||typeof e!=="object")return Xr(null);let n=e;if(typeof n.tool!=="string"||n.tool.trim()==="")return Xr(null);if(!n.input||typeof n.input!=="object")return Xr(null,n.tool);let r=DM(t);if(!r)return Xr(null,n.tool);let o=$M(t,e);if(!o.ok)return Xr(r,n.tool);if(!o.command)return Wo(n.tool,n.input,{kind:_u(n.tool)},{configCwd:r,executionCwd:r},null);if(typeof o.command.command!=="string"||o.command.command.trim()==="")return Xr(r,n.tool);let i=typeof o.command.dir==="string"?ay(o.command.dir,r):r;if(!i)return{malformed:!0,denial:{reason:"CC Safety Net could not use the requested working directory because it does not exist, is inaccessible, is not a directory, or uses an unsupported path form. Use an existing accessible working directory. If the requested directory is missing, create it from an accessible location before retrying the command.",intent:"use_alternative",command:o.command.command,segment:o.command.dir,toolName:n.tool},cwd:r};return Wo(n.tool,n.input,{kind:"command",shell:"posix"},{configCwd:r,executionCwd:i},o.command.command)}function DM(e){let t=e.system.workspaceRoot;if(!t)return;try{let n=e.helpers.filePathFromURI(t);if(typeof n!=="string"||n.trim()==="")return;return Ml(".",[n])}catch{return}}function $M(e,t){try{return{ok:!0,command:e.helpers.shellCommandFromToolCall(t)}}catch{return{ok:!1}}}function MM(e){if(!e||typeof e!=="object")return;let t=e.thread?.id;return typeof t==="string"&&t.trim()!==""?t:void 0}function Xr(e,t,n,r){return{malformed:!0,denial:py({command:n,segment:r,toolName:t}),cwd:e}}function Ew(e,t){let n=fy(e,{includeEvidence:t});return n?kw(n):{action:"allow"}}function kw(e){return{action:"reject-and-continue",message:gy(e)}}function LM(e){e.on("tool.call",(t)=>Pw(t,e))}export{LM as default};