cc-safety-net 2.0.10 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  // cc-safety-net managed OpenClaw plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --openclaw
2
- // version: 2.0.10
3
- var ww=Object.defineProperty;var Ew=(e)=>e;function Rw(e,t){this[e]=Ew.bind(null,t)}var dn=(e,t)=>{for(var n in t)ww(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Rw.bind(t,n)})};var Th={id:"cc-safety-net",name:"CC Safety Net",description:"Block destructive commands and secret-file access before OpenClaw runs a tool."};import{randomBytes as SE}from"node:crypto";import{appendFileSync as _E,mkdirSync as xE}from"node:fs";import{homedir as CE,userInfo as wE}from"node:os";import{isAbsolute as EE,join as Il}from"node:path";var Pw=[/\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 kt(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 kw(t)}function kw(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 Pw)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 jh,readdirSync as aE,readFileSync as Kh,rmdirSync as cE,statSync as Hh,unlinkSync as lE,utimesSync as uE,writeFileSync as dE}from"node:fs";import{dirname as mE,join as qn}from"node:path";var Ai=30,Sl=1,_l=365;function Ti(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as Hw}from"node:os";import{dirname as Ut,isAbsolute as Vw,join as jt,relative as qw,resolve as Tt,sep as Kw}from"node:path";import{closeSync as Aw,constants as Ih,fstatSync as Tw,fsyncSync as IL,lstatSync as Oh,mkdirSync as OL,openSync as Iw,readdirSync as zL,readFileSync as Ow,realpathSync as Ii,renameSync as NL,rmdirSync as DL,statSync as zw,unlinkSync as $L,writeFileSync as LL}from"node:fs";import{isAbsolute as zh,join as Nh,normalize as Nw,parse as Dw,relative as xl,resolve as Cl,sep as wl}from"node:path";var $w=Symbol("PolicyFilesystemScope"),Lw=Symbol("PolicyFilesystemTarget"),Mw=Ih.O_NOFOLLOW??0;class ae extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function Bt(e,t){return{[$w]:!0,root:Cl(e),label:t}}function Dh(e,t){let n=Nw(t);if(t===""||zh(t)||n===".."||n.startsWith(`..${wl}`))throw new ae(e.label);return{[Lw]:!0,scope:e,relativePath:n,path:Nh(e.root,n)}}function At(e,t){let n=xl(e.root,Cl(t));return Dh(e,n)}function zi(e,t="rules policy"){let n=Cl(e),r=Dw(n).dir;return Dh(Bt(r,t),xl(r,n))}function mn(e){try{if(!Oi(e,!1).exists)return null;let n=Iw(e.path,Ih.O_RDONLY|Mw);try{let r=Tw(n);if(!r.isFile())throw new ae(e.scope.label);let o=Ow(n,"utf-8"),i=Oh(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new ae(e.scope.label);return Oi(e,!1),o}finally{Aw(n)}}catch(t){Gw(e.scope.label,t)}}function $h(e,t){if(e.path===t.path)return!0;try{if(!Oi(e,!1).exists||!Oi(t,!1).exists)return!1;return Ii(e.path)===Ii(t.path)}catch(n){if(n instanceof ae)throw n;throw new ae(e.scope.label)}}function Oi(e,t,n="file"){let r=Ww(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(wl);for(let i of o.keys()){let s=Nh(e.scope.root,...o.slice(0,i+1)),a=Lh(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);Fw(r,Ii(s),e.scope.label)}return{exists:!0}}function Ww(e){if(!Lh(e.root))return null;if(!zw(e.root).isDirectory())throw new ae(e.label);return Ii(e.root)}function Fw(e,t,n){let r=xl(e,t);if(r===".."||r.startsWith(`..${wl}`)||zh(r))throw new ae(n)}function Lh(e){try{return Oh(e)}catch(t){if(Zw(t)&&t.code==="ENOENT")return null;throw t}}function Gw(e,t){if(t instanceof ae)throw t;throw new ae(e)}function Zw(e){return e instanceof Error&&"code"in e}var lt=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,El="rulebook.json",Rl=".cc-safety-net/rules";var Mh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Bw=/^[A-Za-z0-9._-]+$/,Uw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),jw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Wh=new RegExp(`^${Uw}/(${lt.source.slice(1,-1)})/${jw}$`);function Fh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Xr(e){if(Di(e))try{return Ni(e),null}catch(t){return t instanceof Error?t.message:String(t)}return lt.test(e)?null:`Local rulebook sources must be bare names matching ${lt}: ${e}`}function Ni(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Mh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let[n,r,...o]=t[3].split("/");if(!n||!Bw.test(n))throw Error(`GitHub rulebook refs must be a single path segment: ${e}`);if(!r||o.length>0||!lt.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:Fh(r),name:r}}function Di(e){return Mh.test(e)}var Zh="rule.json",$i="policy.json",Yw="rule.lock";var Bh=".cc-safety-net",Jw="rules",Gh="cache",Xw="CC_SAFETY_NET_HOME",Ht="`cc-safety-net rule sync`";function Qw(e){return Tt(e??process.cwd(),Rl)}function eE(e){return jt(Qw(e),Zh)}function fn(e){return e?.userConfigDir??(e?.userConfigPath?Ut(e.userConfigPath):jt(tE(),Jw))}function tE(){let e=process.env[Xw];return e?Tt(e):jt(Hw(),Bh)}function nE(e){return jt(fn(e),Zh)}function Qr(e){return jt(Ut(e),Yw)}function Uh(e){let t=e.userConfigPath??nE(e),n=e.projectConfigPath??eE(e.cwd),r=rE(t,e),o=oE(n,e);return{userConfigPath:t,projectConfigPath:n,userLockPath:Qr(t),projectLockPath:Qr(n),userScope:r,projectScope:o,userConfigTarget:At(r,t),projectConfigTarget:At(o,n),userLockTarget:At(r,Qr(t)),projectLockTarget:At(o,Qr(n))}}function rE(e,t){let n=t.userConfigPath?Ut(Ut(Tt(t.userConfigPath))):Ut(Tt(t.userConfigDir??fn(t)));return Bt(n,"user policy")}function oE(e,t){let n=Tt(t.cwd??process.cwd()),r=Tt(e),o=qw(n,r);if(o!==".."&&!o.startsWith(`..${Kw}`)&&!Vw(o))return Bt(n,"project policy");return Bt(Ut(Ut(r)),"project policy")}function Pl(e,t){let n=e.digest.startsWith("sha256:")?e.digest.slice(7):e.digest;return jt(sE(t),"rulebooks",`${iE(e)}--${n.slice(0,12)}`,El)}function kl(e,t){let n=t;return{cacheConfigDir:e,cwd:t.cwd,global:n.global}}function iE(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 sE(e){let t=e?.cacheConfigDir??fn(e),n=e;if(n&&!n.global&&n.cwd&&Tt(t)===Tt(n.cwd))return jt(Tt(n.cwd),Bh,Gh);return jt(Ut(t),Gh)}var Tl=86400000,fE=".last-prune",pE=/^\d{4}-\d{2}$/,gE=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,Vh=(e)=>Math.floor(e/Tl);function hE(e){try{let t=qn(mE(fn(e)),$i),n=JSON.parse(Kh(t,"utf-8"));return Ti(n?.audit?.retention_days)}catch{return Ai}}function Yh(e,t=()=>new Date){try{let n=t().getTime();if(!Hh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=qn(e,fE),o=Hh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&Vh(o)===Vh(n))return;let i=n-hE()*Tl,s=new Date(n).toISOString().slice(0,7);for(let a of Al(e)){if(a.isDirectory()){yE(qn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))bE(qn(e,a.name),i)}dE(r,"",{mode:384}),uE(r,n/1000,n/1000)}catch{}}function yE(e,t,n){for(let r of Al(e)){if(!r.isDirectory()||!pE.test(r.name))continue;let o=qn(e,r.name);for(let i of Al(o)){if(!i.isFile())continue;let s=gE.exec(i.name);if(!s||s[2]!==r.name)continue;let a=Date.parse(`${s[1]}T00:00:00.000Z`)+Tl;if(!Number.isFinite(a)||a>=t)continue;Jh(qn(o,i.name))}if(r.name!==n)qh(o)}qh(e)}function bE(e,t){try{let n=jh(e);if(n.mtimeMs>=t)return;let r=Kh(e,"utf-8").split(`
4
- `).filter((o)=>o.trim()).map(vE);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(jh(e).mtimeMs!==n.mtimeMs)return;Jh(e)}catch{}}function vE(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 Al(e){try{return aE(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function Jh(e){try{lE(e)}catch{}}function qh(e){try{cE(e)}catch{}}var RE="2.0.10",PE=1e4,kE=2000,AE=256,TE=32768;function IE(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 OE(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Ol(e,t,n,r,o,i={}){let s=IE(e);if(!s)return;let a=i.homeDir??Xh();if(!a)return;let c=zE(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Li(kt(t),i.failureStage?Number.POSITIVE_INFINITY:PE),d=Li(kt(n),kE),f=i.toolName?Li(kt(i.toolName),AE):void 0,m=o===null?void 0:Li(kt(o),TE),p=Il(c,OE(m?.value??null),l.slice(0,7));xE(p,{recursive:!0,mode:448});let h=Il(p,`${l.slice(0,10)}-${s}.jsonl`),b={ts:l,id:(i.createId??(()=>SE(8).toString("hex")))(),v:RE,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};_E(h,`${JSON.stringify(b)}
5
- `,{encoding:"utf-8",mode:384}),Yh(c,i.now)}catch{}}function Li(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function Xh(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||CE()||wE().homedir;return t&&EE(t)?t:null}function zE(e=Xh()){return e?Il(e,".cc-safety-net","logs"):null}function ey(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=Qh(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?Qh(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 Qh(e){return"command"in e?e.command??"":""}function ty(e,t,n){if(!e)return;let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Ol(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 ny(e,t,n){let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Ol(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{realpathSync as GE,statSync as ZE}from"node:fs";import{isAbsolute as oy,relative as BE,resolve as UE,sep as jE}from"node:path";import{dirname as NE,isAbsolute as DE,parse as $E,sep as LE}from"node:path";function pn(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Vt(e,t,n){if(pn(t))throw Error("Unsupported Windows namespace path");let r=DE(t)?WE(t):"",o=r||e;for(let i of FE(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=NE(o);continue}let s=ME(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 ME(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${LE}${t}`}function WE(e){return $E(e).root}function FE(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Mi(e,t){if(pn(e))return;let n=t.flatMap((o)=>ry(o));if(!n[0])return;let r=ry(oy(e)?e:UE(n[0],e))[0];if(!r)return;return n.some((o)=>iy(r,o))?r:void 0}function ry(e){try{let t=GE(e);return ZE(t).isDirectory()?[t]:[]}catch{return[]}}function iy(e,t){let n=BE(t,e);return n===""||n!==".."&&!n.startsWith(`..${jE}`)&&!oy(n)}var qt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",It="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",sy="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",ay="CC Safety Net could not analyze the command because it exceeds safe analysis limits. Simplify or split the command and retry.",Wi="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function ly(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
2
+ // version: 2.1.0
3
+ var Ew=Object.defineProperty;var Rw=(e)=>e;function Pw(e,t){this[e]=Rw.bind(null,t)}var dn=(e,t)=>{for(var n in t)Ew(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Pw.bind(t,n)})};var Ih={id:"cc-safety-net",name:"CC Safety Net",description:"Block destructive commands and secret-file access before OpenClaw runs a tool."};import{randomBytes as _E}from"node:crypto";import{appendFileSync as xE,mkdirSync as CE}from"node:fs";import{homedir as wE,userInfo as EE}from"node:os";import{isAbsolute as RE,join as Ol}from"node:path";var kw=[/\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 kt(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 Aw(t)}function Aw(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 kw)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 Hh,readdirSync as cE,readFileSync as Yh,rmdirSync as lE,statSync as Vh,unlinkSync as uE,utimesSync as dE,writeFileSync as mE}from"node:fs";import{dirname as fE,join as Kn}from"node:path";var Ai=30,_l=1,xl=365;function Ti(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as Vw}from"node:os";import{dirname as Ut,isAbsolute as Kw,join as jt,relative as qw,resolve as Tt,sep as Yw}from"node:path";import{closeSync as Tw,constants as Oh,fstatSync as Iw,fsyncSync as zL,lstatSync as zh,mkdirSync as NL,openSync as Ow,readdirSync as DL,readFileSync as zw,realpathSync as Ii,renameSync as $L,rmdirSync as LL,statSync as Nw,unlinkSync as ML,writeFileSync as WL}from"node:fs";import{isAbsolute as Nh,join as Dh,normalize as Dw,parse as $w,relative as Cl,resolve as wl,sep as El}from"node:path";var Lw=Symbol("PolicyFilesystemScope"),Mw=Symbol("PolicyFilesystemTarget"),Ww=Oh.O_NOFOLLOW??0;class ae extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function Bt(e,t){return{[Lw]:!0,root:wl(e),label:t}}function $h(e,t){let n=Dw(t);if(t===""||Nh(t)||n===".."||n.startsWith(`..${El}`))throw new ae(e.label);return{[Mw]:!0,scope:e,relativePath:n,path:Dh(e.root,n)}}function At(e,t){let n=Cl(e.root,wl(t));return $h(e,n)}function zi(e,t="rules policy"){let n=wl(e),r=$w(n).dir;return $h(Bt(r,t),Cl(r,n))}function mn(e){try{if(!Oi(e,!1).exists)return null;let n=Ow(e.path,Oh.O_RDONLY|Ww);try{let r=Iw(n);if(!r.isFile())throw new ae(e.scope.label);let o=zw(n,"utf-8"),i=zh(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new ae(e.scope.label);return Oi(e,!1),o}finally{Tw(n)}}catch(t){Zw(e.scope.label,t)}}function Lh(e,t){if(e.path===t.path)return!0;try{if(!Oi(e,!1).exists||!Oi(t,!1).exists)return!1;return Ii(e.path)===Ii(t.path)}catch(n){if(n instanceof ae)throw n;throw new ae(e.scope.label)}}function Oi(e,t,n="file"){let r=Fw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(El);for(let i of o.keys()){let s=Dh(e.scope.root,...o.slice(0,i+1)),a=Mh(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);Gw(r,Ii(s),e.scope.label)}return{exists:!0}}function Fw(e){if(!Mh(e.root))return null;if(!Nw(e.root).isDirectory())throw new ae(e.label);return Ii(e.root)}function Gw(e,t,n){let r=Cl(e,t);if(r===".."||r.startsWith(`..${El}`)||Nh(r))throw new ae(n)}function Mh(e){try{return zh(e)}catch(t){if(Bw(t)&&t.code==="ENOENT")return null;throw t}}function Zw(e,t){if(t instanceof ae)throw t;throw new ae(e)}function Bw(e){return e instanceof Error&&"code"in e}var ut=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,Rl="rulebook.json",Pl=".cc-safety-net/rules";var Wh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Uw=/^[A-Za-z0-9._-]+$/,jw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Hw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Fh=new RegExp(`^${jw}/(${ut.source.slice(1,-1)})/${Hw}$`);function Gh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Xr(e){if(Di(e))try{return Ni(e),null}catch(t){return t instanceof Error?t.message:String(t)}return ut.test(e)?null:`Local rulebook sources must be bare names matching ${ut}: ${e}`}function Ni(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Wh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let[n,r,...o]=t[3].split("/");if(!n||!Uw.test(n))throw Error(`GitHub rulebook refs must be a single path segment: ${e}`);if(!r||o.length>0||!ut.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:Gh(r),name:r}}function Di(e){return Wh.test(e)}var Bh="rule.json",$i="policy.json",Jw="rule.lock";var Uh=".cc-safety-net",Xw="rules",Zh="cache",Qw="CC_SAFETY_NET_HOME",Ht="`cc-safety-net rule sync`";function eE(e){return Tt(e??process.cwd(),Pl)}function tE(e){return jt(eE(e),Bh)}function fn(e){return e?.userConfigDir??(e?.userConfigPath?Ut(e.userConfigPath):jt(nE(),Xw))}function nE(){let e=process.env[Qw];return e?Tt(e):jt(Vw(),Uh)}function rE(e){return jt(fn(e),Bh)}function Qr(e){return jt(Ut(e),Jw)}function jh(e){let t=e.userConfigPath??rE(e),n=e.projectConfigPath??tE(e.cwd),r=oE(t,e),o=iE(n,e);return{userConfigPath:t,projectConfigPath:n,userLockPath:Qr(t),projectLockPath:Qr(n),userScope:r,projectScope:o,userConfigTarget:At(r,t),projectConfigTarget:At(o,n),userLockTarget:At(r,Qr(t)),projectLockTarget:At(o,Qr(n))}}function oE(e,t){let n=t.userConfigPath?Ut(Ut(Tt(t.userConfigPath))):Ut(Tt(t.userConfigDir??fn(t)));return Bt(n,"user policy")}function iE(e,t){let n=Tt(t.cwd??process.cwd()),r=Tt(e),o=qw(n,r);if(o!==".."&&!o.startsWith(`..${Yw}`)&&!Kw(o))return Bt(n,"project policy");return Bt(Ut(Ut(r)),"project policy")}function kl(e,t){let n=e.digest.startsWith("sha256:")?e.digest.slice(7):e.digest;return jt(aE(t),"rulebooks",`${sE(e)}--${n.slice(0,12)}`,Rl)}function Al(e,t){let n=t;return{cacheConfigDir:e,cwd:t.cwd,global:n.global}}function sE(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 aE(e){let t=e?.cacheConfigDir??fn(e),n=e;if(n&&!n.global&&n.cwd&&Tt(t)===Tt(n.cwd))return jt(Tt(n.cwd),Uh,Zh);return jt(Ut(t),Zh)}var Il=86400000,pE=".last-prune",gE=/^\d{4}-\d{2}$/,hE=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,Kh=(e)=>Math.floor(e/Il);function yE(e){try{let t=Kn(fE(fn(e)),$i),n=JSON.parse(Yh(t,"utf-8"));return Ti(n?.audit?.retention_days)}catch{return Ai}}function Jh(e,t=()=>new Date){try{let n=t().getTime();if(!Vh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=Kn(e,pE),o=Vh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&Kh(o)===Kh(n))return;let i=n-yE()*Il,s=new Date(n).toISOString().slice(0,7);for(let a of Tl(e)){if(a.isDirectory()){bE(Kn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))vE(Kn(e,a.name),i)}mE(r,"",{mode:384}),dE(r,n/1000,n/1000)}catch{}}function bE(e,t,n){for(let r of Tl(e)){if(!r.isDirectory()||!gE.test(r.name))continue;let o=Kn(e,r.name);for(let i of Tl(o)){if(!i.isFile())continue;let s=hE.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;Xh(Kn(o,i.name))}if(r.name!==n)qh(o)}qh(e)}function vE(e,t){try{let n=Hh(e);if(n.mtimeMs>=t)return;let r=Yh(e,"utf-8").split(`
4
+ `).filter((o)=>o.trim()).map(SE);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(Hh(e).mtimeMs!==n.mtimeMs)return;Xh(e)}catch{}}function SE(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 cE(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function Xh(e){try{uE(e)}catch{}}function qh(e){try{lE(e)}catch{}}var PE="2.1.0",kE=1e4,AE=2000,TE=256,IE=32768;function OE(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 zE(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function zl(e,t,n,r,o,i={}){let s=OE(e);if(!s)return;let a=i.homeDir??Qh();if(!a)return;let c=NE(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Li(kt(t),i.failureStage?Number.POSITIVE_INFINITY:kE),d=Li(kt(n),AE),f=i.toolName?Li(kt(i.toolName),TE):void 0,m=o===null?void 0:Li(kt(o),IE),p=Ol(c,zE(m?.value??null),l.slice(0,7));CE(p,{recursive:!0,mode:448});let h=Ol(p,`${l.slice(0,10)}-${s}.jsonl`),b={ts:l,id:(i.createId??(()=>_E(8).toString("hex")))(),v:PE,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};xE(h,`${JSON.stringify(b)}
5
+ `,{encoding:"utf-8",mode:384}),Jh(c,i.now)}catch{}}function Li(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function Qh(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||wE()||EE().homedir;return t&&RE(t)?t:null}function NE(e=Qh()){return e?Ol(e,".cc-safety-net","logs"):null}function ty(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=ey(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?ey(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 ey(e){return"command"in e?e.command??"":""}function ny(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 ry(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 pM,constants as gM,realpathSync as ZE,statSync as BE}from"node:fs";import{isAbsolute as iy,relative as UE,resolve as jE,sep as HE}from"node:path";import{dirname as DE,isAbsolute as $E,parse as LE,sep as ME}from"node:path";function pn(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Vt(e,t,n){if(pn(t))throw Error("Unsupported Windows namespace path");let r=$E(t)?FE(t):"",o=r||e;for(let i of GE(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=DE(o);continue}let s=WE(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 WE(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${ME}${t}`}function FE(e){return LE(e).root}function GE(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Mi(e,t){if(pn(e))return;let n=t.flatMap((o)=>oy(o));if(!n[0])return;let r=oy(iy(e)?e:jE(n[0],e))[0];if(!r)return;return n.some((o)=>sy(r,o))?r:void 0}function oy(e){try{let t=ZE(e);return BE(t).isDirectory()?[t]:[]}catch{return[]}}function sy(e,t){let n=UE(t,e);return n===""||n!==".."&&!n.startsWith(`..${HE}`)&&!iy(n)}var Kt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",It="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",ay="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",cy="CC Safety Net could not analyze the command because it exceeds safe analysis limits. Simplify or split the command and retry.",Wi="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function uy(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
6
6
 
7
7
  Reason: ${s(t)}`;if(e.ruleId)a+=`
8
8
 
@@ -10,57 +10,57 @@ Rule: ${e.ruleId}`;if(o)a+=`
10
10
 
11
11
  Tool: ${o}`;if(n){let c=s(n);a+=`
12
12
 
13
- Command: ${cy(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
13
+ Command: ${ly(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
14
14
 
15
- Segment: ${cy(c,i)}`}if(e.configWarning)a+=`
15
+ Segment: ${ly(c,i)}`}if(e.configWarning)a+=`
16
16
 
17
17
  Config warning: ${s(e.configWarning)}`;return a+=`
18
18
 
19
- ${HE(e.intent??"manual_only")}`,a}function HE(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 cy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function uy(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 zl(e={}){return{reason:Wi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function dy(e){return ly({...e,redact:kt})}function my(e){return kt(e instanceof Error?e.message:String(e))}import{basename as VE,dirname as qE,join as Nl}from"node: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 eo(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function gn(e){return{...eo(),environment:e}}var Fi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_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 Gi(e,t){return Dl(e,0,t)}function Dl(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=$l(e,o+2),a=KE(e,o,t);if(a===null){if(Fi.has(s))throw new be;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=YE(c,t,n),o=a+1;continue}let i=$l(e,o+1);if(!i){r+="$",o++;continue}r+=Ll(i,n)??`$${i}`,o+=i.length+1}return r}function KE(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 YE(e,t,n){let r=e.slice(2,-1),o=$l(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return Ll(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Fi.has(o))throw new be;return e}if(!Fi.has(o))return e;if(s.endsWith("="))throw new be;let a=Ll(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??"":Dl(i.slice(s.length),t+1,n);return c?Dl(i.slice(s.length),t+1,n):""}function $l(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=eo()){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:Nl(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=qE(i);if(a===i){let c=o.length===0?i:Nl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=Kn.maxMissingSuffixComponents){let c=Nl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(VE(i)),i=a}}function fy(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 Ll(e,t){if(!Fi.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 Zi(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 Gl,lstatSync as rR,readFileSync as Hi,realpathSync as ro,statSync as no}from"node:fs";import{dirname as Zl,isAbsolute as Bl,join as Vi,resolve as qi}from"node:path";import{lstatSync as JE,realpathSync as XE}from"node:fs";import{homedir as QE,tmpdir as eR}from"node:os";var Be={realpath:(e)=>{try{return XE(e)}catch{return null}},entryKind:(e)=>{let t=JE(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function hn(){return process.env.HOME||QE()}function Ot(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:hn(),tmpdir:eR(),paths:Be}}var Ml=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],tR=new Set(Ml);var py=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),Bi=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),nR=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Wl(e){return tR.has(e)}function to(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Fl(e){return Wl(e)||py.has(e)||Bi.has(e)||to(e)}function Ue(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function Ui(e,t){let n=Ue("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 ji(e,t,n){let o=e.match(nR)?.[1];if(!o||!Fl(o))return null;let i=e.indexOf("=");return{name:o,value:`${Ue(o,t,n)??""}${e.slice(i+1)}`}}function gy(e){return yy(e,Bi)}function hy(e){return yy(e,py)}function yy(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var ut=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function Sy(e,t){return Ml.some((n)=>t?.has(n)||e.has(n))}function _y(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=ro(qi(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!wy(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=vy(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=vy(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(ut.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function xy(e){let t=yR(e);if(!t)return!1;try{let n=rR(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=Ul(t);if(!r?.commonDir)return!1;if(!sR(r.gitDir,t))return!1;return aR(r.gitDir,Zl(t))}catch{return!1}}function Ul(e){try{let t=oR(e);if(!t)return null;let n=ro(Bl(t)?t:qi(Zl(e),t));if(!no(n).isDirectory())return null;return{gitDir:n,commonDir:iR(n)}}catch{return null}}function oR(e){let t=Hi(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!t.startsWith("gitdir:"))return null;return t.slice(7).trim()||null}function iR(e){try{let t=Hi(Vi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=ro(Bl(t)?t:qi(e,t));return no(n).isDirectory()?n:null}catch{return null}}function sR(e,t){let n=cR(e);return n===null?!1:Cy(e,n,t)}function aR(e,t){let n=lR(e);return n===null?!0:Cy(e,n,t)}function cR(e){let t=Vi(e,"gitdir");if(!Gl(t))return null;let n=Hi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function lR(e){let t=Vi(e,"config.worktree");return Gl(t)?pR(t):null}function Cy(e,t,n){return dR(uR(e,t),n)}function uR(e,t){return Bl(t)?t:qi(e,t)}function dR(e,t){try{return mR(e,t)}catch{return!1}}function mR(e,t){try{let n=no(e),r=no(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return by(e)===by(t)}function by(e){return fR(ro.native(e))}function fR(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 pR(e){let t=Hi(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=gR(s[1]??"")}return r}function gR(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return hR(t.slice(1,-1))}function hR(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+=`
20
- `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function vy(e,t){try{let n=Vt(e,t,Be);return wy(n)?n:null}catch{return null}}function wy(e){try{return no(e).isDirectory()}catch{return!1}}function yR(e){try{return oo(ro(e))}catch{return null}}function oo(e){let t=e;while(!0){let n=Vi(t,".git");if(Gl(n))return n;let r=Zl(t);if(r===t)return null;t=r}}function jl(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 io(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Te(e,t){io(e,t)}function yn(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 ee(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 Hl(e){return e===`
19
+ ${VE(e.intent??"manual_only")}`,a}function VE(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 ly(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function dy(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 Nl(e={}){return{reason:Wi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function my(e){return uy({...e,redact:kt})}function fy(e){return kt(e instanceof Error?e.message:String(e))}import{basename as KE,dirname as qE,join as Dl}from"node:path";var qn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class be extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function eo(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function gn(e){return{...eo(),environment:e}}var Fi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_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 Gi(e,t){return $l(e,0,t)}function $l(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=Ll(e,o+2),a=YE(e,o,t);if(a===null){if(Fi.has(s))throw new be;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=JE(c,t,n),o=a+1;continue}let i=Ll(e,o+1);if(!i){r+="$",o++;continue}r+=Ml(i,n)??`$${i}`,o+=i.length+1}return r}function YE(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>qn.maxEnvironmentExpansionDepth)throw new be;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function JE(e,t,n){let r=e.slice(2,-1),o=Ll(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return Ml(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Fi.has(o))throw new be;return e}if(!Fi.has(o))return e;if(s.endsWith("="))throw new be;let a=Ml(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??"":$l(i.slice(s.length),t+1,n);return c?$l(i.slice(s.length),t+1,n):""}function Ll(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=eo()){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>qn.maxRealpathAttempts||n.processedCandidateBytes>qn.maxProcessedCandidateBytes)throw new be;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:Dl(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=qE(i);if(a===i){let c=o.length===0?i:Dl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=qn.maxMissingSuffixComponents){let c=Dl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(KE(i)),i=a}}function py(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>qn.maxRealpathAttempts||n.processedCandidateBytes>qn.maxProcessedCandidateBytes)throw new be;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function Ml(e,t){if(!Fi.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 Zi(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 Zl,lstatSync as oR,readFileSync as Hi,realpathSync as ro,statSync as no}from"node:fs";import{dirname as Bl,isAbsolute as Ul,join as Vi,resolve as Ki}from"node:path";import{lstatSync as XE,realpathSync as QE}from"node:fs";import{homedir as eR,tmpdir as tR}from"node:os";var Be={realpath:(e)=>{try{return QE(e)}catch{return null}},entryKind:(e)=>{let t=XE(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function hn(){return process.env.HOME||eR()}function Ot(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:hn(),tmpdir:tR(),paths:Be}}var Wl=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],nR=new Set(Wl);var gy=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),Bi=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),rR=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Fl(e){return nR.has(e)}function to(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Gl(e){return Fl(e)||gy.has(e)||Bi.has(e)||to(e)}function Ue(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function Ui(e,t){let n=Ue("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 ji(e,t,n){let o=e.match(rR)?.[1];if(!o||!Gl(o))return null;let i=e.indexOf("=");return{name:o,value:`${Ue(o,t,n)??""}${e.slice(i+1)}`}}function hy(e){return by(e,Bi)}function yy(e){return by(e,gy)}function by(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var dt=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function _y(e,t){return Wl.some((n)=>t?.has(n)||e.has(n))}function xy(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=ro(Ki(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Ey(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=Sy(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=Sy(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(dt.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function Cy(e){let t=bR(e);if(!t)return!1;try{let n=oR(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=jl(t);if(!r?.commonDir)return!1;if(!aR(r.gitDir,t))return!1;return cR(r.gitDir,Bl(t))}catch{return!1}}function jl(e){try{let t=iR(e);if(!t)return null;let n=ro(Ul(t)?t:Ki(Bl(e),t));if(!no(n).isDirectory())return null;return{gitDir:n,commonDir:sR(n)}}catch{return null}}function iR(e){let t=Hi(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!t.startsWith("gitdir:"))return null;return t.slice(7).trim()||null}function sR(e){try{let t=Hi(Vi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=ro(Ul(t)?t:Ki(e,t));return no(n).isDirectory()?n:null}catch{return null}}function aR(e,t){let n=lR(e);return n===null?!1:wy(e,n,t)}function cR(e,t){let n=uR(e);return n===null?!0:wy(e,n,t)}function lR(e){let t=Vi(e,"gitdir");if(!Zl(t))return null;let n=Hi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function uR(e){let t=Vi(e,"config.worktree");return Zl(t)?gR(t):null}function wy(e,t,n){return mR(dR(e,t),n)}function dR(e,t){return Ul(t)?t:Ki(e,t)}function mR(e,t){try{return fR(e,t)}catch{return!1}}function fR(e,t){try{let n=no(e),r=no(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return vy(e)===vy(t)}function vy(e){return pR(ro.native(e))}function pR(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 gR(e){let t=Hi(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=hR(s[1]??"")}return r}function hR(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return yR(t.slice(1,-1))}function yR(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+=`
20
+ `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function Sy(e,t){try{let n=Vt(e,t,Be);return Ey(n)?n:null}catch{return null}}function Ey(e){try{return no(e).isDirectory()}catch{return!1}}function bR(e){try{return oo(ro(e))}catch{return null}}function oo(e){let t=e;while(!0){let n=Vi(t,".git");if(Zl(n))return n;let r=Bl(t);if(r===t)return null;t=r}}function Hl(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 io(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Te(e,t){io(e,t)}function yn(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 ee(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 Vl(e){return e===`
21
21
  `||e==="\r"||e==="\u2028"||e==="\u2029"}function te(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 zt(e,t,n){return!yn(C(e,t-1))&&te(e,t,n)&&!yn(C(e,t+n.length))}function Nt(e,t){return yn(C(e,t-1))!==yn(C(e,t))}function fe(e){return e===`
22
- `||e===";"||e==="&"||e==="|"}function Jn(e){return e==="|"||e===";"}function Ki(e,t,n){let r=jl(e,n);if(t==="rm")return bR(r);if(t==="dd")return SR(r);return Ty(r,!0)}function Yi(e,t,n){let r=jl(e,n);if(t==="rm")return _R(r);if(t==="reset-hard")return ky(r,"--ha","rd");if(t==="reset-merge")return ky(r,"--me","rge");if(t==="clean")return ER(r);if(t==="checkout")return PR(r);if(t==="push-force")return kR(r);if(t==="push-refspec")return AR(r);if(t==="push-delete")return TR(r);if(t==="branch")return IR(r);if(t==="tag")return NR(r);if(t==="restore")return DR(r);return Ty(r,!1)}function bR(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(zt(e,i,"rm")&&ee(c)&&c!==`
23
- `)t=!0,i++;continue}let a=vR(e,i);if(s===`
24
- `||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=Ey(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(ee(s)){if(o>=0){if(te(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=Ey(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 vR(e,t){if(C(e,t)!=="\\"||C(e,t-1)==="\\")return-1;if(te(e,t,String.raw`\n`))return t+2;if(te(e,t,String.raw`\x0a`)||te(e,t,String.raw`\x0A`))return t+5;if(te(e,t,String.raw`\u000a`)||te(e,t,String.raw`\u000A`))return t+7;return te(e,t,String.raw`\012`)?t+4:-1}function Ey(e,t,n){if(Ry(e,t,n,"recursive"))return{recursive:!0,force:!1};if(Ry(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 Ry(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!te(e,t,"--"))return!1;for(let i=0;i<o;i++)if(C(e,t+i+2)!==r[i])return!1;return!0}function SR(e){let t=!1;for(let n=0;n<ce(e);n++){if(fe(C(e,n))){t=!1;continue}if(zt(e,n,"dd")){t=!0,n++;continue}if(!t||!zt(e,n,"of")||!te(e,n,"of=/dev/"))continue;let r=n+8;if(r<ce(e)&&!ee(C(e,r))&&C(e,r)!=="'"&&C(e,r)!=='"')return!0}return!1}function _R(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=CR(e,o);if(s>=0){if(xR(e,s))return!0;let a=s,c=!1;while(ee(C(e,a)))c||=C(e,a)===`
25
- `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(te(e,o,"--")&&(o===0||ee(C(e,o-1)))&&(!C(e,o+2)||ee(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=te(e,o,"--recursive")&&Nt(e,o+11)||Vl(e,o,"recursive"),r||=te(e,o,"--force")&&Nt(e,o+7)||Vl(e,o,"force"),n&&r)return!0;o++}return!1}function Vl(e,t,n){if(!te(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||ee(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&Nt(e,t+r+2)}function xR(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(ee(C(e,n)))n++;let i=n;while(n<ce(e)&&!ee(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&te(e,i,"--"))return!1;let s=Py(e,i,"recursive"),a=Py(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=wR(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Py(e,t,n){return te(e,t,`--${n}`)&&Nt(e,t+n.length+2)||Vl(e,t,n)}function CR(e,t){if(t>0&&yn(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"||!ee(C(e,n+1)))return-1;return n+1}function wR(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")&&Nt(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 ky(e,t,n){return ao(e,"reset",Jn,!0,(r)=>C(e,r)==="-"&&Xn(e,r,t,n)?!0:r)}function ER(e){return ao(e,"clean",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Xn(e,t,"--fo","rce"))return!0;let n=so(e,t,Jn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Ji(e,t,n){if(!zt(e,t,"git"))return null;let r=t+3;if(!ee(C(e,r)))return{commandEnd:-1,next:r};while(ee(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=so(e,r,fe);if(zt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&te(e,r,"--"),s=RR(e,r,o);r=o;while(ee(C(e,r)))r++;if(i)return{commandEnd:zt(e,r,n)?r+n.length:-1,next:so(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=so(e,r,fe);while(ee(C(e,r)))r++}return{commandEnd:-1,next:r}}function RR(e,t,n){for(let r of ut)if(n-t===r.length&&te(e,t,r))return!0;return!1}function PR(e){return Ay(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function kR(e){return ao(e,"push",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!yn(C(e,t+2))&&!te(e,t+2,"-with-lease"))return!0;let n=Iy(e,t,"--fo","rce");if(n>=0&&!te(e,n,"-with-lease"))return!0;return t})}function AR(e){return ao(e,"push",fe,!1,(t)=>{if(ee(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!ee(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function TR(e){return ao(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Xn(e,t,"--de","lete"))return!0;if(ee(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!ee(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function IR(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=Ji(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=so(e,o,fe),s=OR(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function OR(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&&zR(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!Nt(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function zR(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function NR(e){return Ay(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function Ay(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(ee(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Ji(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&ee(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&&Nt(e,r+1))return!0;if(Jn(o))i.outerActive=!1}return!1}function ao(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=Ji(e,s,t);if(l){i=l.commandEnd>=0&&(!r||ee(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 DR(e){let t=!1;for(let n=0;n<ce(e);n++){if(Hl(C(e,n))){if(t)return!0;t=!1;continue}if(!t){let r=Ji(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)==="-"&&(te(e,n+2,"staged")||te(e,n+2,"help")))t=!1}return t}function Ty(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?Hl(o):fe(o);if(n&&ee(o)&&C(e,r+1)==="-"&&zt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(zt(e,r,"find"))n=!0,r+=3}return!1}function so(e,t,n){let r=t;while(r<ce(e)&&!ee(C(e,r))&&!n(C(e,r)))r++;return r}function Iy(e,t,n,r){if(!te(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 Nt(e,o)?o:-1}function Xn(e,t,n,r){return Iy(e,t,n,r)>=0}var $R=["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"],Xi=new Set($R),Qi=[{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"}],LR=new Map(Qi.map((e)=>[e.id,e.intent])),Oy=new Set(Qi.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:LR.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(Oy.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(Oy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function zy(e,t){return Object.freeze(Object.fromEntries(Qi.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 Ny(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:zy(e,t)})}function Dt(e,t){io(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)Te(t,a);if((s.regex?.test(a)??!1)||s.scan&&Yi(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 MR=/^[A-Za-z_][A-Za-z0-9_]*=/;function $y(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;io(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return Ly(t.nodes,r,i)}function Ly(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return Ly(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return WR(r,t,n)})}function WR(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!MR.test(o.text));return e.words.every((o,i)=>o===t||Dy(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Dy(o.target.raw,n.anchored,!0)))}function Dy(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 My=Object.freeze({maxDerivedTokens:16384}),Wy="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Ie 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 es(){return{derivedTokens:0}}function Je(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>My.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>My.maxDerivedTokens-e.derivedTokens)throw new Ie;e.derivedTokens+=t}import{isAbsolute as FR,resolve as Fy}from"node:path";var Gy=64;function co(e,t,n){let r=FR(e)?Fy(e):t?Fy(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function Zy(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 ts=10,Qn=20,bn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,er=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),By=new Set(["python","python3","python2","node","ruby","perl"]),Uy=/^python(?:[23](?:\.\d+)*)?$/,ns=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 vn="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.",rs=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),GR=new Set(["-p","--print"]),ZR=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),BR=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"])]]),UR=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),jR=new Map([["python",new Set(["m"])]]),HR=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"])]]),VR=new Set(["always","default","never"]),qR=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),KR=/\\\r?\n/g,YR=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 os(e){return ss(e).code}function is(e){return ss(e).sources}function Hy(e){return YR.get(cs(e))??[]}function ss(e){let t=cs(e[0]??"");if(!rs.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 Xe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Xe(t,n,r,o,i,s);if(t==="node"&&GR.has(s)){let d=e[i+1];if(d===void 0)return Xe(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(XR(t,s)){let d=e[i+1];if(d===void 0)return Xe(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 Xe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(QR(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=JR(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,Xe(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 Xe(t,n,r,o);if(HR.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&qR.has(s))||t==="python"&&!VR.has(d))return Xe(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(jR.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 Xe(t,n,r,o)}if(ZR.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(BR.get(t)?.has(f)){if(d+1===s.length)i++;break}if(UR.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 Xe(t,n,r,o);if(l)i++}return Xe(t,n,r,o,void 0,void 0,!0)}function Xe(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(`
26
- `))||null,sources:r?l:[],optionsOpen:r&&s}}function JR(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 Oe(e){return rs.has(cs(e))}function as(e,t){return cs(e)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(t)}function cs(e){let t=G(e).toLowerCase();return Uy.test(t)?"python":t}function XR(e,t){return rs.get(e)?.has(t)??!1}function QR(e){return rs.get(e)?.has("--eval")??!1}function nr(e,t){let n=nP(e,t);if(!jy(n,t))return!1;Te(t,n);let r=tP(n);if(jy(r,t))return!0;return Te(t,r),eP.test(r)}var eP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function tP(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 jy(e,t){if(Ki(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(Te(t,e),r.test(e))return!0;if(Ki(e,"dd",t))return!0;for(let r of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(Te(t,e),r.test(e))return!0;if(Ki(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)=>(Te(t,e),n.some((o)=>Yi(o,r))))}function nP(e,t){return Te(t,e),e.replace(KR,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Vy="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class us 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 qy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function ze(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(ls(e.childAnalyses,n,V.maxChildAnalyses)||ls(e.derivedTokens,r,V.maxDerivedTokens)||ls(e.derivedBytes,o,V.maxDerivedBytes)||ls(e.placeholderReplacements,i,V.maxPlaceholderReplacements))throw new us;e.childAnalyses+=n,e.derivedTokens+=r,e.derivedBytes+=o,e.placeholderReplacements+=i}function ls(e,t,n){return!Number.isSafeInteger(e)||e<0||e>n||!Number.isSafeInteger(t)||t<0||t>n-e}import{isAbsolute as Eu,normalize as uA,parse as dA,posix as dv,resolve as cr,sep as wu}from"node:path";import{isAbsolute as rP,join as Ky,normalize as Xy,parse as oP,sep as Yy}from"node:path";var iP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],sP=`
27
- `;function lo(e,t){if(dt(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!ql(e.get("TMPDIR")??"",t)}function $t(e,t){if(e.has("TMPDIR"))return ql(e.get("TMPDIR")??"",t);let n=Kl(e,t);if(n===void 0)return!0;return ql(n,t)}function Kl(e,t){return tb(e,t,"TMPDIR")}function ql(e,t){if(!e)return!1;if(cP(e))return!1;return Yl(e,t)}function dt(e,t){let n=tb(e,t,"IFS");return n!==void 0&&n!==""&&n!==sP}function Yl(e,t){let n=ds(e,t.paths);return n!==null&&eb(t).some((r)=>uP(n,r))}function Qy(e,t){let n=ds(e,t.paths);return n!==null&&eb(t).includes(n)}var Jy=new WeakMap;function eb(e){let t=Jy.get(e);if(t)return t;let n=aP(e);return Jy.set(e,n),n}function aP(e){let t=iP.map((r)=>ds(r,e.paths)??Xy(r)),n=ds(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&lP(n))return[...t,n];return t}function cP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function tb(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function lP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ds(e,t){try{let n=Xy(e);if(!rP(n))return n;let r=oP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=Ky(i,o[s]??"");if(t.entryKind(a)==="missing")return Ky(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function uP(e,t){if(e===t)return!0;let n=t.endsWith(Yy)?t:`${t}${Yy}`;return e.startsWith(n)}import{statSync as Yk}from"node:fs";import{isAbsolute as nv,join as Jk,relative as rv}from"node:path";import{isAbsolute as nb,parse as dP}from"node:path";var ob=/^[A-Za-z_][A-Za-z0-9_]*=/;function je(e){if(!ob.test(e))return null;let t=e.indexOf("=");return{name:e.slice(0,t),value:e.slice(t+1)}}function ms(e){let t=new Map,n=0;while(n<e.length){let r=e[n];if(!r)break;let o=je(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function ib(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function Sn(e,t,n,r){if(!ib(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=rb(i),m=ms(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("=")&&!fP(i)){let h=pP(rr(i),a,t.env)??ji(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=hP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=vP(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=SP(i);if(p==="builtin")i=i.slice(Qe(i,1)==="--"?2:1);if(rb(i)===f)break}let u=ms(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:mP(u.words,o)}}function mP(e,t){return e.some((n)=>!t.has(n))}function rb(e){return e.map(N).join(" ")}function rr(e){let t=e[0];return t?N(t):""}function Qe(e,t){let n=e[t];return n?N(n):void 0}function fP(e){return ob.test(rr(e))}function pP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var gP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function hP(e,t,n){let r=1,o=n;while(r<e.length){let i=Qe(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=Qe(e,r+1);o=s?uo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=uo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=uo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(gP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var yP=new Set(["-i","-0","--null"]),bP=new Set(["-u","--unset","-C","--chdir","-P"]);function vP(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=Qe(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(yP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=Qe(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:Qe(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(bP.has(l)){if(l==="-C"||l==="--chdir"){let d=Qe(e,a+1);s=d?uo(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=uo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!je(l))break;while(a<e.length){let d=je(Qe(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(Qe(e,a)==="--")a++;return c(a)}return c(a)}function uo(e,t,n){if(t==="")return null;if(!e&&!nb(t))return null;let r=nb(t)?dP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Vt(r,t,n)}catch{return null}}function SP(e){if(Qe(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=Qe(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 _P=/['"\\$`{}#]/;function fs(e,t){if(e.some((r)=>_P.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 ps(e,t,n).tokens}function xP(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 Kt(e,t,n,r=0){let o=ps(e,t,n),i=(o.envSplitValues??[]).flatMap(xP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Kt(s,t,n,r+1)}function ps(e,t,n,r){if(!ib(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=Sn(j(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as Uk,isAbsolute as jk,normalize as Hk,resolve as Xb}from"node:path";function gs(){return[]}function hs(){return[]}function ys(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function CP(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 bs(e,t,n){e.push(n),t.reset()}function wP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function vs(e){let t=[];return{parts:t,push:(n,r,o)=>wP(t,e,n,r,o)}}function Jl(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 Jl({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 CP(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 Xl(e,t,n){if(t>=n||ab(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!ab(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=sb(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=sb(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===`
28
- `||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 Ql(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=EP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?RP(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 sb(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
29
- `&&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 ab(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function EP(e,t,n){let r=t;while(r<n&&e[r]!==`
22
+ `||e===";"||e==="&"||e==="|"}function Jn(e){return e==="|"||e===";"}function qi(e,t,n){let r=Hl(e,n);if(t==="rm")return vR(r);if(t==="dd")return _R(r);return Iy(r,!0)}function Yi(e,t,n){let r=Hl(e,n);if(t==="rm")return xR(r);if(t==="reset-hard")return Ay(r,"--ha","rd");if(t==="reset-merge")return Ay(r,"--me","rge");if(t==="clean")return RR(r);if(t==="checkout")return kR(r);if(t==="push-force")return AR(r);if(t==="push-refspec")return TR(r);if(t==="push-delete")return IR(r);if(t==="branch")return OR(r);if(t==="tag")return DR(r);if(t==="restore")return $R(r);return Iy(r,!1)}function vR(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(zt(e,i,"rm")&&ee(c)&&c!==`
23
+ `)t=!0,i++;continue}let a=SR(e,i);if(s===`
24
+ `||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=Ry(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(ee(s)){if(o>=0){if(te(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=Ry(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 SR(e,t){if(C(e,t)!=="\\"||C(e,t-1)==="\\")return-1;if(te(e,t,String.raw`\n`))return t+2;if(te(e,t,String.raw`\x0a`)||te(e,t,String.raw`\x0A`))return t+5;if(te(e,t,String.raw`\u000a`)||te(e,t,String.raw`\u000A`))return t+7;return te(e,t,String.raw`\012`)?t+4:-1}function Ry(e,t,n){if(Py(e,t,n,"recursive"))return{recursive:!0,force:!1};if(Py(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 Py(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!te(e,t,"--"))return!1;for(let i=0;i<o;i++)if(C(e,t+i+2)!==r[i])return!1;return!0}function _R(e){let t=!1;for(let n=0;n<ce(e);n++){if(fe(C(e,n))){t=!1;continue}if(zt(e,n,"dd")){t=!0,n++;continue}if(!t||!zt(e,n,"of")||!te(e,n,"of=/dev/"))continue;let r=n+8;if(r<ce(e)&&!ee(C(e,r))&&C(e,r)!=="'"&&C(e,r)!=='"')return!0}return!1}function xR(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=wR(e,o);if(s>=0){if(CR(e,s))return!0;let a=s,c=!1;while(ee(C(e,a)))c||=C(e,a)===`
25
+ `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(te(e,o,"--")&&(o===0||ee(C(e,o-1)))&&(!C(e,o+2)||ee(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=te(e,o,"--recursive")&&Nt(e,o+11)||Kl(e,o,"recursive"),r||=te(e,o,"--force")&&Nt(e,o+7)||Kl(e,o,"force"),n&&r)return!0;o++}return!1}function Kl(e,t,n){if(!te(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||ee(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&Nt(e,t+r+2)}function CR(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(ee(C(e,n)))n++;let i=n;while(n<ce(e)&&!ee(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&te(e,i,"--"))return!1;let s=ky(e,i,"recursive"),a=ky(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=ER(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function ky(e,t,n){return te(e,t,`--${n}`)&&Nt(e,t+n.length+2)||Kl(e,t,n)}function wR(e,t){if(t>0&&yn(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"||!ee(C(e,n+1)))return-1;return n+1}function ER(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")&&Nt(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 Ay(e,t,n){return ao(e,"reset",Jn,!0,(r)=>C(e,r)==="-"&&Xn(e,r,t,n)?!0:r)}function RR(e){return ao(e,"clean",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Xn(e,t,"--fo","rce"))return!0;let n=so(e,t,Jn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Ji(e,t,n){if(!zt(e,t,"git"))return null;let r=t+3;if(!ee(C(e,r)))return{commandEnd:-1,next:r};while(ee(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=so(e,r,fe);if(zt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&te(e,r,"--"),s=PR(e,r,o);r=o;while(ee(C(e,r)))r++;if(i)return{commandEnd:zt(e,r,n)?r+n.length:-1,next:so(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=so(e,r,fe);while(ee(C(e,r)))r++}return{commandEnd:-1,next:r}}function PR(e,t,n){for(let r of dt)if(n-t===r.length&&te(e,t,r))return!0;return!1}function kR(e){return Ty(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function AR(e){return ao(e,"push",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!yn(C(e,t+2))&&!te(e,t+2,"-with-lease"))return!0;let n=Oy(e,t,"--fo","rce");if(n>=0&&!te(e,n,"-with-lease"))return!0;return t})}function TR(e){return ao(e,"push",fe,!1,(t)=>{if(ee(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!ee(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function IR(e){return ao(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Xn(e,t,"--de","lete"))return!0;if(ee(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!ee(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function OR(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=Ji(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=so(e,o,fe),s=zR(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function zR(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&&NR(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!Nt(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function NR(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function DR(e){return Ty(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function Ty(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(ee(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Ji(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&ee(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&&Nt(e,r+1))return!0;if(Jn(o))i.outerActive=!1}return!1}function ao(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=Ji(e,s,t);if(l){i=l.commandEnd>=0&&(!r||ee(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 $R(e){let t=!1;for(let n=0;n<ce(e);n++){if(Vl(C(e,n))){if(t)return!0;t=!1;continue}if(!t){let r=Ji(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)==="-"&&(te(e,n+2,"staged")||te(e,n+2,"help")))t=!1}return t}function Iy(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?Vl(o):fe(o);if(n&&ee(o)&&C(e,r+1)==="-"&&zt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(zt(e,r,"find"))n=!0,r+=3}return!1}function so(e,t,n){let r=t;while(r<ce(e)&&!ee(C(e,r))&&!n(C(e,r)))r++;return r}function Oy(e,t,n,r){if(!te(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 Nt(e,o)?o:-1}function Xn(e,t,n,r){return Oy(e,t,n,r)>=0}var LR=["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"],Xi=new Set(LR),Qi=[{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"}],MR=new Map(Qi.map((e)=>[e.id,e.intent])),zy=new Set(Qi.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:MR.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(zy.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(zy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function Ny(e,t){return Object.freeze(Object.fromEntries(Qi.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 Dy(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:Ny(e,t)})}function Dt(e,t){io(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)Te(t,a);if((s.regex?.test(a)??!1)||s.scan&&Yi(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 WR=/^[A-Za-z_][A-Za-z0-9_]*=/;function Ly(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;io(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return My(t.nodes,r,i)}function My(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return My(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return FR(r,t,n)})}function FR(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!WR.test(o.text));return e.words.every((o,i)=>o===t||$y(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||$y(o.target.raw,n.anchored,!0)))}function $y(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 Wy=Object.freeze({maxDerivedTokens:16384}),Fy="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Ie 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 es(){return{derivedTokens:0}}function Je(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Wy.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Wy.maxDerivedTokens-e.derivedTokens)throw new Ie;e.derivedTokens+=t}import{isAbsolute as GR,resolve as Gy}from"node:path";var Zy=64;function co(e,t,n){let r=GR(e)?Gy(e):t?Gy(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function By(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 ts=10,Qn=20,bn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,er=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Uy=new Set(["python","python3","python2","node","ruby","perl"]),jy=/^python(?:[23](?:\.\d+)*)?$/,ns=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 vn="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.",rs=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),ZR=new Set(["-p","--print"]),BR=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),UR=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"])]]),jR=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),HR=new Map([["python",new Set(["m"])]]),VR=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"])]]),KR=new Set(["always","default","never"]),qR=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),YR=/\\\r?\n/g,JR=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 os(e){return ss(e).code}function is(e){return ss(e).sources}function Vy(e){return JR.get(cs(e))??[]}function ss(e){let t=cs(e[0]??"");if(!rs.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 Xe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Xe(t,n,r,o,i,s);if(t==="node"&&ZR.has(s)){let d=e[i+1];if(d===void 0)return Xe(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(QR(t,s)){let d=e[i+1];if(d===void 0)return Xe(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 Xe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(eP(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=XR(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,Xe(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 Xe(t,n,r,o);if(VR.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&qR.has(s))||t==="python"&&!KR.has(d))return Xe(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(HR.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 Xe(t,n,r,o)}if(BR.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(UR.get(t)?.has(f)){if(d+1===s.length)i++;break}if(jR.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 Xe(t,n,r,o);if(l)i++}return Xe(t,n,r,o,void 0,void 0,!0)}function Xe(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(`
26
+ `))||null,sources:r?l:[],optionsOpen:r&&s}}function XR(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 Oe(e){return rs.has(cs(e))}function as(e,t){return cs(e)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(t)}function cs(e){let t=G(e).toLowerCase();return jy.test(t)?"python":t}function QR(e,t){return rs.get(e)?.has(t)??!1}function eP(e){return rs.get(e)?.has("--eval")??!1}function nr(e,t){let n=rP(e,t);if(!Hy(n,t))return!1;Te(t,n);let r=nP(n);if(Hy(r,t))return!0;return Te(t,r),tP.test(r)}var tP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function nP(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 Hy(e,t){if(qi(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(Te(t,e),r.test(e))return!0;if(qi(e,"dd",t))return!0;for(let r of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(Te(t,e),r.test(e))return!0;if(qi(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)=>(Te(t,e),n.some((o)=>Yi(o,r))))}function rP(e,t){return Te(t,e),e.replace(YR,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Ky="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class us 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 qy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function ze(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(ls(e.childAnalyses,n,V.maxChildAnalyses)||ls(e.derivedTokens,r,V.maxDerivedTokens)||ls(e.derivedBytes,o,V.maxDerivedBytes)||ls(e.placeholderReplacements,i,V.maxPlaceholderReplacements))throw new us;e.childAnalyses+=n,e.derivedTokens+=r,e.derivedBytes+=o,e.placeholderReplacements+=i}function ls(e,t,n){return!Number.isSafeInteger(e)||e<0||e>n||!Number.isSafeInteger(t)||t<0||t>n-e}import{isAbsolute as Ru,normalize as mA,parse as fA,posix as mv,resolve as cr,sep as Eu}from"node:path";import{isAbsolute as oP,join as Yy,normalize as Qy,parse as iP,sep as Jy}from"node:path";var sP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],aP=`
27
+ `;function lo(e,t){if(mt(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!ql(e.get("TMPDIR")??"",t)}function $t(e,t){if(e.has("TMPDIR"))return ql(e.get("TMPDIR")??"",t);let n=Yl(e,t);if(n===void 0)return!0;return ql(n,t)}function Yl(e,t){return nb(e,t,"TMPDIR")}function ql(e,t){if(!e)return!1;if(lP(e))return!1;return Jl(e,t)}function mt(e,t){let n=nb(e,t,"IFS");return n!==void 0&&n!==""&&n!==aP}function Jl(e,t){let n=ds(e,t.paths);return n!==null&&tb(t).some((r)=>dP(n,r))}function eb(e,t){let n=ds(e,t.paths);return n!==null&&tb(t).includes(n)}var Xy=new WeakMap;function tb(e){let t=Xy.get(e);if(t)return t;let n=cP(e);return Xy.set(e,n),n}function cP(e){let t=sP.map((r)=>ds(r,e.paths)??Qy(r)),n=ds(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&uP(n))return[...t,n];return t}function lP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function nb(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function uP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ds(e,t){try{let n=Qy(e);if(!oP(n))return n;let r=iP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=Yy(i,o[s]??"");if(t.entryKind(a)==="missing")return Yy(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function dP(e,t){if(e===t)return!0;let n=t.endsWith(Jy)?t:`${t}${Jy}`;return e.startsWith(n)}import{statSync as Jk}from"node:fs";import{isAbsolute as rv,join as Xk,relative as ov}from"node:path";import{isAbsolute as rb,parse as mP}from"node:path";var ib=/^[A-Za-z_][A-Za-z0-9_]*=/;function je(e){if(!ib.test(e))return null;let t=e.indexOf("=");return{name:e.slice(0,t),value:e.slice(t+1)}}function ms(e){let t=new Map,n=0;while(n<e.length){let r=e[n];if(!r)break;let o=je(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function sb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function Sn(e,t,n,r){if(!sb(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=ob(i),m=ms(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("=")&&!pP(i)){let h=gP(rr(i),a,t.env)??ji(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=yP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=SP(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=_P(i);if(p==="builtin")i=i.slice(Qe(i,1)==="--"?2:1);if(ob(i)===f)break}let u=ms(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:fP(u.words,o)}}function fP(e,t){return e.some((n)=>!t.has(n))}function ob(e){return e.map(N).join(" ")}function rr(e){let t=e[0];return t?N(t):""}function Qe(e,t){let n=e[t];return n?N(n):void 0}function pP(e){return ib.test(rr(e))}function gP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var hP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function yP(e,t,n){let r=1,o=n;while(r<e.length){let i=Qe(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=Qe(e,r+1);o=s?uo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=uo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=uo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(hP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var bP=new Set(["-i","-0","--null"]),vP=new Set(["-u","--unset","-C","--chdir","-P"]);function SP(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=Qe(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(bP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=Qe(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:Qe(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(vP.has(l)){if(l==="-C"||l==="--chdir"){let d=Qe(e,a+1);s=d?uo(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=uo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!je(l))break;while(a<e.length){let d=je(Qe(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(Qe(e,a)==="--")a++;return c(a)}return c(a)}function uo(e,t,n){if(t==="")return null;if(!e&&!rb(t))return null;let r=rb(t)?mP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Vt(r,t,n)}catch{return null}}function _P(e){if(Qe(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=Qe(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 xP=/['"\\$`{}#]/;function fs(e,t){if(e.some((r)=>xP.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 ps(e,t,n).tokens}function CP(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 qt(e,t,n,r=0){let o=ps(e,t,n),i=(o.envSplitValues??[]).flatMap(CP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return qt(s,t,n,r+1)}function ps(e,t,n,r){if(!sb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=Sn(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 Hk,normalize as Vk,resolve as Qb}from"node:path";function gs(){return[]}function hs(){return[]}function ys(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function wP(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 bs(e,t,n){e.push(n),t.reset()}function EP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function vs(e){let t=[];return{parts:t,push:(n,r,o)=>EP(t,e,n,r,o)}}function Xl(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 Xl({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 wP(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 Ql(e,t,n){if(t>=n||cb(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!cb(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=ab(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=ab(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===`
28
+ `||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 eu(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=RP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?PP(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 ab(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
29
+ `&&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 cb(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function RP(e,t,n){let r=t;while(r<n&&e[r]!==`
30
30
  `&&e[r]!=="\r")r++;let o=r>=n?n:e[r]==="\r"&&e[r+1]===`
31
- `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function RP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var mb=new Set(["&&","||","|","|&"]);function fb(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=xs(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 xs(e,t,n,r,o,i,s,a){let c=gs(),l=hs(),u=ys(),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);bs(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(),db(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(ws(p)){if(p===`
31
+ `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function PP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var fb=new Set(["&&","||","|","|&"]);function pb(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=xs(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 xs(e,t,n,r,o,i,s,a){let c=gs(),l=hs(),u=ys(),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);bs(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(),mb(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(ws(p)){if(p===`
32
32
  `||p==="\r"){f();let P=p==="\r"&&e[m+1]===`
33
- `?m+2:m+1,x=c.at(-1);if(x?.kind!=="connector"||!mb.has(x.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=Ql(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]!==`
34
- `&&e[m]!=="\r")m++;continue}let h=u.start===-1?jP(e,m,n):void 0;if(h){if(tu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);if(!eu(i))return sr(c,l,m,"word-limit",o.maxWords);let P=xs(e,h.braceIndex+1,n,r,o,i,s+1,"}"),x=P.next,v={start:h.braceIndex+1,end:P.closed?x-1:x},T=cb(e,r,v,P);if(c.push({kind:"function",name:h.name,span:{start:m,end:x},body:T}),l.push(...P.issues),P.pendingHeredocs.length>0||fo(P.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:x}});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:x}});m=x;continue}let b=Cs(e,m);if(b){if(f(),!_b(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==="{"&&zP(e,m,n))&&u.start===-1){if(tu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);let P=p==="("?")":"}",x=xs(e,m+1,n,r,o,i,s+1,P),v=x.next,T={start:m+1,end:x.closed?v-1:v},k=cb(e,r,T,x);if(c.push({kind:"group",style:p==="("?"subshell":"brace",span:{start:m,end:v},body:k}),l.push(...x.issues),x.pendingHeredocs.length>0||fo(x.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(...x.pendingHeredocs),x.limited)return _s(c,l,x.next);if(!x.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]!=="("?AP(e,m):null;if(y){let P=u.words.at(-1),x=P&&P.span.end===m&&/^[0-9]+$/.test(P.raw)?Number(P.raw):void 0;if(x!==void 0)u.words.pop();let v=x===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==="#",L=!k||ws(k)||!!Cs(e,T)||k===a||k===")"||z||(k==="<"||k===">")&&e[T+1]!=="(",W=y==="<<"||y==="<<-"?Xl(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}:!L?nu(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(!eu(i))return sr(c,l,U.next,"word-limit",o.maxWords)}let ge=U?.next??m+y.length,Ze={kind:"redirection",operator:y,span:{start:v,end:ge},...x===void 0?{}:{fd:x},...U?{target:U.word}:{}};if(u.redirections.push(Ze),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)=>{Ze.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)tu(c,l,m);let E=nu(e,m,n,r,o,i,s);if(l.push(...E.issues),E.limited)return _s(c,l,E.next);let w=$P(u.words)?GP(e,E.word,i.max-i.used,o.maxDepth,o.maxInputLength):void 0;if(w?.limitCode)return sr(c,l,E.next,w.limitCode,w.limitCode==="word-limit"?o.maxWords:w.limitCode==="depth-limit"?o.maxDepth:o.maxInputLength);let R=w?.words??[E.word];for(let P of R){if(!eu(i))return sr(c,l,E.next,"word-limit",o.maxWords);u.words.push(P)}u.start=u.start===-1?m:u.start,u.end=E.next,u.nested.push(...E.nested),m=E.next>m?E.next:m+1}return f(),db(c,l),l.push(...HP(d)),{nodes:c,issues:l,next:m,closed:a===void 0,limited:!1,pendingHeredocs:[]}}function cb(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 nu(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||ws(p)||(p===";"||p==="|"||p==="&")&&Cs(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=PP(e,c,n,r,o,i,s);if(a+=y.text,d.push(...y.nested),f.push(...y.issues),m||=y.limited,u=mo(u,y.provenance),c=y.next,m)break;continue}if(e.startsWith("$'",c)){l=!0;let y=TP(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===`
35
- `){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?ru(e,c,n,r,o,i,s):null;if(b){let y=pb(b,d,f);if(m||=y.limited,u=mo(u,y.provenance),c=y.next,m)break;continue}if(p==="$"){let y=yb(e,c,n,a,u);a=y.text,u=y.provenance,c=y.next;continue}if(p==="*"||p==="?"||p==="[")u=mo(u,"glob");a+=p,c++}return{word:ir(e,t,c,a,u,l,u==="literal"?void 0:OP(e,t,c)),nested:d,issues:f,next:c,limited:m}}function PP(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===`
33
+ `?m+2:m+1,x=c.at(-1);if(x?.kind!=="connector"||!fb.has(x.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=eu(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]!==`
34
+ `&&e[m]!=="\r")m++;continue}let h=u.start===-1?HP(e,m,n):void 0;if(h){if(nu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);if(!tu(i))return sr(c,l,m,"word-limit",o.maxWords);let P=xs(e,h.braceIndex+1,n,r,o,i,s+1,"}"),x=P.next,v={start:h.braceIndex+1,end:P.closed?x-1:x},T=lb(e,r,v,P);if(c.push({kind:"function",name:h.name,span:{start:m,end:x},body:T}),l.push(...P.issues),P.pendingHeredocs.length>0||fo(P.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:x}});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:x}});m=x;continue}let b=Cs(e,m);if(b){if(f(),!xb(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==="{"&&NP(e,m,n))&&u.start===-1){if(nu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);let P=p==="("?")":"}",x=xs(e,m+1,n,r,o,i,s+1,P),v=x.next,T={start:m+1,end:x.closed?v-1:v},k=lb(e,r,T,x);if(c.push({kind:"group",style:p==="("?"subshell":"brace",span:{start:m,end:v},body:k}),l.push(...x.issues),x.pendingHeredocs.length>0||fo(x.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(...x.pendingHeredocs),x.limited)return _s(c,l,x.next);if(!x.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]!=="("?TP(e,m):null;if(y){let P=u.words.at(-1),x=P&&P.span.end===m&&/^[0-9]+$/.test(P.raw)?Number(P.raw):void 0;if(x!==void 0)u.words.pop();let v=x===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==="#",L=!k||ws(k)||!!Cs(e,T)||k===a||k===")"||z||(k==="<"||k===">")&&e[T+1]!=="(",W=y==="<<"||y==="<<-"?Ql(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}:!L?ru(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(!tu(i))return sr(c,l,U.next,"word-limit",o.maxWords)}let ge=U?.next??m+y.length,Ze={kind:"redirection",operator:y,span:{start:v,end:ge},...x===void 0?{}:{fd:x},...U?{target:U.word}:{}};if(u.redirections.push(Ze),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)=>{Ze.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)nu(c,l,m);let E=ru(e,m,n,r,o,i,s);if(l.push(...E.issues),E.limited)return _s(c,l,E.next);let w=LP(u.words)?ZP(e,E.word,i.max-i.used,o.maxDepth,o.maxInputLength):void 0;if(w?.limitCode)return sr(c,l,E.next,w.limitCode,w.limitCode==="word-limit"?o.maxWords:w.limitCode==="depth-limit"?o.maxDepth:o.maxInputLength);let R=w?.words??[E.word];for(let P of R){if(!tu(i))return sr(c,l,E.next,"word-limit",o.maxWords);u.words.push(P)}u.start=u.start===-1?m:u.start,u.end=E.next,u.nested.push(...E.nested),m=E.next>m?E.next:m+1}return f(),mb(c,l),l.push(...VP(d)),{nodes:c,issues:l,next:m,closed:a===void 0,limited:!1,pendingHeredocs:[]}}function lb(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 ru(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||ws(p)||(p===";"||p==="|"||p==="&")&&Cs(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=kP(e,c,n,r,o,i,s);if(a+=y.text,d.push(...y.nested),f.push(...y.issues),m||=y.limited,u=mo(u,y.provenance),c=y.next,m)break;continue}if(e.startsWith("$'",c)){l=!0;let y=IP(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===`
35
+ `){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?ou(e,c,n,r,o,i,s):null;if(b){let y=gb(b,d,f);if(m||=y.limited,u=mo(u,y.provenance),c=y.next,m)break;continue}if(p==="$"){let y=bb(e,c,n,a,u);a=y.text,u=y.provenance,c=y.next;continue}if(p==="*"||p==="?"||p==="[")u=mo(u,"glob");a+=p,c++}return{word:ir(e,t,c,a,u,l,u==="literal"?void 0:zP(e,t,c)),nested:d,issues:f,next:c,limited:m}}function kP(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===`
36
36
  `){f+=2;continue}if(h==="\r"&&e[f+2]===`
37
- `){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=ou(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=ru(e,f,n,r,o,i,s);if(p){let h=pb(p,l,u);if(f=h.next,d||=h.limited,c=mo(c,h.provenance),d)return{text:a,provenance:c,nested:l,issues:u,next:f,limited:d};continue}if(m==="$"){let h=yb(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 ru(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=ou(e,t+d,n,f),p=m===-1?n:m,h=m===-1?n:m+f.length;if(s>=o.maxDepth)return{program:UP(e,t+d,p,r,"depth-limit"),next:h,provenance:a?"arithmetic":"command-substitution"};if(a){let w=[],R=[],P=!1,x=t+d;while(x<p){let v=ru(e,x,p,r,o,i,s+1);if(!v){x++;continue}if(w.push(...v.program.nodes),R.push(...v.program.issues),P||=v.program.status==="limited",x=v.next,P)break}if(m===-1)R.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(R,P),issues:R,nodes:w}),next:h,provenance:"arithmetic"}}let b=xs(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}}]:[],E=(u||l)&&fo(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,...E],b.limited),issues:[...b.issues,...y,...E],nodes:b.nodes}),next:h,provenance:a?"arithmetic":"command-substitution"}}function pb(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 ou(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===`
37
+ `){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=iu(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=ou(e,f,n,r,o,i,s);if(p){let h=gb(p,l,u);if(f=h.next,d||=h.limited,c=mo(c,h.provenance),d)return{text:a,provenance:c,nested:l,issues:u,next:f,limited:d};continue}if(m==="$"){let h=bb(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 ou(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=iu(e,t+d,n,f),p=m===-1?n:m,h=m===-1?n:m+f.length;if(s>=o.maxDepth)return{program:jP(e,t+d,p,r,"depth-limit"),next:h,provenance:a?"arithmetic":"command-substitution"};if(a){let w=[],R=[],P=!1,x=t+d;while(x<p){let v=ou(e,x,p,r,o,i,s+1);if(!v){x++;continue}if(w.push(...v.program.nodes),R.push(...v.program.issues),P||=v.program.status==="limited",x=v.next,P)break}if(m===-1)R.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(R,P),issues:R,nodes:w}),next:h,provenance:"arithmetic"}}let b=xs(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}}]:[],E=(u||l)&&fo(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,...E],b.limited),issues:[...b.issues,...y,...E],nodes:b.nodes}),next:h,provenance:a?"arithmetic":"command-substitution"}}function gb(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 iu(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
38
  `||c==="\r")&&s.length>0){let u=c==="\r"&&e[a+1]===`
39
- `?a+2:a+1,d=Ql(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=gb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=kP(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=Xl(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 kP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=gb(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 gb(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!=="#"||!VP(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
40
- `&&e[s+1]!=="\r")s++;return s}function Cs(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 AP(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 ws(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 hb(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 TP(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=IP(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 IP(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",`
41
- `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return Ss(e,t+1,n,16,2,t+1);if(r==="u")return Ss(e,t+1,n,16,4,t+1);if(r==="U")return Ss(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return Ss(e,t,n,8,3,t+1);return{text:r,next:t+1}}function Ss(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:"�",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 yb(e,t,n,r,o){let i=hb(e,t,n);return{text:r+e.slice(t,i),provenance:mo(o,"variable"),next:i}}function OP(e,t,n){let r=vs(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=ou(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=hb(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 mo(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 zP(e,t,n){return t+1>=n||ws(e[t+1]??"")||Cs(e,t+1)!==null}var NP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),DP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function $P(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=LP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function LP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return MP(e,t);if(n==="env")return WP(e,t);if(n==="sudo")return FP(e,t);return}function MP(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 WP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(NP.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 FP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(DP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function bb(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)=>ub(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=ub(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=vb(l,u);o.splice(c,1,...m),i+=f-l.length}if(s===0)return;let a=o.map((c)=>BP(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function GP(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)=>lb(b));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=lb(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=vb(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 lb(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:Sb(e,n)}}function ub(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}:ZP(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:Sb(e,n)}}function vb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function Sb(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 ZP(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function BP(e,t){let n=`x${e}`,r=nu(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 UP(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 _s(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function eu(e){return e.used++,e.used<=e.max}function jP(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 fo(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>fo(n.nodes));return(t.kind==="group"||t.kind==="function")&&fo(t.body.nodes)})}function HP(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function _b(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function db(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!mb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function tu(e,t,n){if(!_b(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function VP(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var xb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Cb=["-rec","-for","-path","-literalpath","-whatif"],Rs={maxInputLength:131072,maxWords:16384,maxDepth:64};function wb(e){let t=e.toLowerCase().replaceAll("`","");if(![...xb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Cb.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=JP(e);return n.invalidComment||n.commands.some(qP)}function qP(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&xb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return Cb.some((i)=>o.startsWith(i))})}function Eb(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=lu(e,0,e.length,t,0);return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:XP(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function lu(e,t,n,r,o,i=!1){let s=gs(),a=hs(),c=ys(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let m={start:c.start,end:c.end};bs(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=kb(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===`
39
+ `?a+2:a+1,d=eu(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=hb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=AP(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=Ql(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 AP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=hb(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 hb(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!=="#"||!KP(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
40
+ `&&e[s+1]!=="\r")s++;return s}function Cs(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 TP(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 ws(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 yb(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 IP(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=OP(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 OP(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",`
41
+ `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return Ss(e,t+1,n,16,2,t+1);if(r==="u")return Ss(e,t+1,n,16,4,t+1);if(r==="U")return Ss(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return Ss(e,t,n,8,3,t+1);return{text:r,next:t+1}}function Ss(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:"�",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 bb(e,t,n,r,o){let i=yb(e,t,n);return{text:r+e.slice(t,i),provenance:mo(o,"variable"),next:i}}function zP(e,t,n){let r=vs(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=iu(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=yb(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 mo(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 NP(e,t,n){return t+1>=n||ws(e[t+1]??"")||Cs(e,t+1)!==null}var DP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),$P=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function LP(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=MP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function MP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return WP(e,t);if(n==="env")return FP(e,t);if(n==="sudo")return GP(e,t);return}function WP(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 FP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(DP.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 GP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if($P.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function vb(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)=>db(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=db(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=Sb(l,u);o.splice(c,1,...m),i+=f-l.length}if(s===0)return;let a=o.map((c)=>UP(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function ZP(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)=>ub(b));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=ub(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=Sb(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 ub(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:_b(e,n)}}function db(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}:BP(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:_b(e,n)}}function Sb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function _b(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 BP(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function UP(e,t){let n=`x${e}`,r=ru(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 jP(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 _s(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function tu(e){return e.used++,e.used<=e.max}function HP(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 fo(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>fo(n.nodes));return(t.kind==="group"||t.kind==="function")&&fo(t.body.nodes)})}function VP(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function xb(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function mb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!fb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function nu(e,t,n){if(!xb(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function KP(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var Cb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),wb=["-rec","-for","-path","-literalpath","-whatif"],Rs={maxInputLength:131072,maxWords:16384,maxDepth:64};function Eb(e){let t=e.toLowerCase().replaceAll("`","");if(![...Cb].some((r)=>t.includes(r))&&!(t.includes("rm")&&wb.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=XP(e);return n.invalidComment||n.commands.some(qP)}function qP(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&Cb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return wb.some((i)=>o.startsWith(i))})}function Rb(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=uu(e,0,e.length,t,0);return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:QP(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function uu(e,t,n,r,o,i=!1){let s=gs(),a=hs(),c=ys(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let m={start:c.start,end:c.end};bs(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=Ab(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===`
42
42
  `){d();let y=m==="\r"&&e[f+1]===`
43
- `?f+2:f+1;s.push(iu(e,f,y)),f=y;continue}f++;continue}let h=uu(e,f);if(h){d(),s.push(iu(e,f,f+h.length)),f+=h.length;continue}if(m==="{"){if(d(),o>=r.maxDepth)return a.push(Pb(f,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let y=lu(e,f+1,n,r,o+1,!0),E=y.closed?y.next-1:y.next,w=Ce({kind:"program",dialect:"powershell",source:e.slice(f+1,E),span:{start:f+1,end:E},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(iu(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,E=y;while(/[ \t]/.test(e[E]??""))E++;let w=E<n?su(e,E,n,r,o):void 0,R=w?.next??y;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(f,y),span:Object.freeze({start:f,end:R}),...w?{target:w.word}:{}})),w)a.push(...w.issues),c.nested.push(...w.nested),l+=w.words,u||=w.limited;c.end=R,f=R;continue}if(m===","){c.start=c.start===-1?f:c.start,c.words.push(Jl({text:",",raw:",",span:{start:f,end:f+1},provenance:"literal",quoted:!1})),c.end=++f;continue}let b=su(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 su(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,f=(p)=>{let h=KP(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=au(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)||uu(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:YP(e,t,m)),next:m,issues:c,nested:l,words:u,limited:d}}function KP(e,t,n,r,o){let i=Rb(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:[Pb(t,r.maxDepth)],nodes:[]}),next:a};let c=lu(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 Rb(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 au(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=au(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=au(r)}}return t}function YP(e,t,n){let r=vs(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=Rb(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 Pb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function JP(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===`
43
+ `?f+2:f+1;s.push(su(e,f,y)),f=y;continue}f++;continue}let h=du(e,f);if(h){d(),s.push(su(e,f,f+h.length)),f+=h.length;continue}if(m==="{"){if(d(),o>=r.maxDepth)return a.push(kb(f,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let y=uu(e,f+1,n,r,o+1,!0),E=y.closed?y.next-1:y.next,w=Ce({kind:"program",dialect:"powershell",source:e.slice(f+1,E),span:{start:f+1,end:E},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(su(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,E=y;while(/[ \t]/.test(e[E]??""))E++;let w=E<n?au(e,E,n,r,o):void 0,R=w?.next??y;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(f,y),span:Object.freeze({start:f,end:R}),...w?{target:w.word}:{}})),w)a.push(...w.issues),c.nested.push(...w.nested),l+=w.words,u||=w.limited;c.end=R,f=R;continue}if(m===","){c.start=c.start===-1?f:c.start,c.words.push(Xl({text:",",raw:",",span:{start:f,end:f+1},provenance:"literal",quoted:!1})),c.end=++f;continue}let b=au(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 au(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,f=(p)=>{let h=YP(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=cu(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)||du(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:JP(e,t,m)),next:m,issues:c,nested:l,words:u,limited:d}}function YP(e,t,n,r,o){let i=Pb(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:[kb(t,r.maxDepth)],nodes:[]}),next:a};let c=uu(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 Pb(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 cu(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=cu(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=cu(r)}}return t}function JP(e,t,n){let r=vs(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=Pb(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 kb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function XP(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
44
  `){s(),r+=a==="\r"&&e[r+1]===`
45
- `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=kb(e,r,Math.min(e.length,Rs.maxInputLength),Rs.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=uu(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=su(e,r,Math.min(e.length,Rs.maxInputLength),Rs,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...cu(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function cu(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return cu(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(cu)]})}function uu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function kb(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
46
- `)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 XP(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function iu(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 et(e,t="auto",n=_n){if(t==="powershell"||t==="auto"&&wb(e.slice(0,n.maxInputLength)))return Eb(e,n);return fb(e,"posix",n)}function po(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 QP=/^[A-Za-z_][A-Za-z0-9_]*=/;function Ps(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function ks(e){let t=Ps(e.words[0],"time")?1:0,n=t===1&&Ps(e.words[t],"-p")?t+1:t,r=t===1&&Ps(e.words[n],"--")?n+1:n,o=Ps(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!QP.test(s.text));return i?.provenance==="literal"?i.text:void 0}function go(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 ek(e))go(n,t);return t.inSingle||t.inDouble}function ek(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===`
47
- `||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);go(s,n)}return t}var tk=new Set(["&&","||","|&","|","&",";"]),nk=new Set(["<<","<<<",">|"]),rk=/[*@#?$!_-]/,du=Object.freeze([]),ok=Object.freeze([]),ik=256;function zb(e,t){let n=t.status==="complete"?new Set(fu(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 As("unclosed-quote",r,du);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=ho(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return As("structural-limit",r,du);if(o.invalid)return As("invalid",r,du);return As("complete",r,i,o.assignmentFallbacks)}function As(e,t,n,r=ok){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function ho(e,t){return e.nodes.flatMap((n,r)=>sk(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function sk(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[tt(dk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[tt(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?Ts("{"):tt("("),...ho(e.body,a),...s?[i?Ts("}"):tt(")")]:[]]}]}let o=fk(e,r.functions);if(o){if(r.depth>=_n.maxDepth||++r.flags.expansions>ik)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...Ab(e,r),Ts(";"),...ho(o,{...r,depth:r.depth+1}),Ts(";")]},...Tb(e,t,n,r)]}return[{start:e.span.start,entries:Ab(e,r)},...Tb(e,t,n,r)]}function Ab(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Db(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:ak(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function ak(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Db(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[pu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:mk(r),targetOrder:nk.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Tb(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=[pu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[tt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Nb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?ck(t,n,r):[]]}function ck(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:Nb(n.source.slice(r.span.end,e.span.end),n)}]}function Nb(e,t){if(t.depth>=_n.maxDepth)return t.flags.limited=!0,[];let n=et(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=ho(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 Db(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(tt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(pu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of mu(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(tt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=mu(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?ho(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("<(")?tt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[tt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>tt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>tt(")")):[])}return c(),o}function mu(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=Ib(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=Ib(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Ib(e,t,n,r){let o=e[t+1];if(o==="{"){let s=uk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return lk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&rk.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 lk(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=mu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function uk(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 dk(e){return/^[\r\n]+$/.test(e)?";":e}function tt(e){return Object.freeze({kind:"operator",operator:e,boundary:tk.has(e)})}function Ts(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function pu(e){return Object.freeze({kind:"word",text:e})}function mk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function fu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return fu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>fu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!gk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function fk(e,t){let n=ks(e);return n===void 0?void 0:t.get(n)}function Yt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function pk(e){if(Yt(e.words[0],"git"))return Yt(e.words[1],"commit");if(!Yt(e.words[0],"gh")||!Yt(e.words[2],"create"))return!1;return Yt(e.words[1],"pr")||Yt(e.words[1],"issue")}function gk(e){return(Yt(e.words[0],"cat")||Yt(e.words[0],"tee")||pk(e))&&!e.words.some(Ob)&&!e.redirections.some((n)=>Ob(n.target))}function Ob(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as hk}from"node:util";var yk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),bk=new Set(["command","diff","input","patch","patchtext"]),$b=new TextEncoder,vk=new TextDecoder,Sk=/\s/,_k=64;class Lt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var yo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function xk(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Os(e){return yk.has(xk(e))}function vo(e){if(!e||typeof e!=="object")return;jb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)mt();return}if(t.get||t.set)mt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function bu(e,t){return Gb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Gb(e,t,n,r){let o=Ub(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Gb(a,t,n,r+1);return typeof a==="string"&&t.has(Zb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Zb(e){return e.replace(/-/g,"_").toLowerCase()}function vu(e){return Bb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(wk)}function Bb(e,t,n,r){let o=Ub(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Bb(a,o.array?t:bk.has(Zb(s)),n,r+1));return n.ancestors.delete(o.object),i}function Ck(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>yo.maxDepth||t.nodes>yo.maxNodes)mt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>yo.maxStringBytes||t.stringBytes>yo.maxAggregateStringBytes)mt()}function Ub(e,t,n){if(Ck(e,t,n),!e||typeof e!=="object")return null;let r=jb(e);if(t.ancestors.has(e))mt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>yo.maxKeys)mt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)mt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function jb(e){if(hk.isProxy(e))mt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)mt();return t}function mt(){throw new Lt}function wk(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=Ek(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(...gu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...gu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...yu(Is(l.slice(4),!0),Is(u.slice(4),!0))),c++;continue}if(!r)t.push(...gu(l))}return t}function Ek(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 gu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Fb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Fb(n[1]);if(e.startsWith("diff --git "))return Rk(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Wb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Wb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return zk(i[1]);return[]}function Rk(e){let t=Pk(e);if(t.length===2&&t[0]&&t[1])return yu(t[0],t[1]);let n=kk(e);return n?yu(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function Pk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(xn(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&&!xn(e[n]))n++;t.push(e.slice(i,n));continue}let o=Hb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(xn(e[n]))n++;return n===e.length?t:[]}function kk(e){let t=0;while(t<e.length&&xn(e[t]))t++;let n=e.length;while(n>t&&xn(e[n-1]))n--;let r=0,o=t;while(o<n){if(!xn(e[o])){o++;continue}let i=o;while(o<n&&xn(e[o]))o++;if(i===t||o===n)continue;if(r++,r>_k)mt();if(Ak(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function Ak(e,t,n,r,o){if(hu(e,t,n,r,o))return!0;let i=Lb(e,"/",t,n),s=Lb(e,"/",r,o);if(i<=t||s<=r)return!1;if(hu(e,t,i,r,s))return!1;return hu(e,i+1,n,s+1,o)}function hu(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 Lb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function xn(e){return e!==void 0&&Sk.test(e)}function Hb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:vk.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...$b.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(...$b.encode(Tk(s[0]??""))),o+=2}return null}function Tk(e){return{a:"\x07",b:"\b",f:"\f",n:`
48
- `,r:"\r",t:"\t",v:"\v"}[e]??e}function Ik(e){return bo(Nk(e))}function yu(e,t){if(e==="/dev/null")return Mb(t);if(t==="/dev/null")return Mb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(bo);let n=Ok(e,t)??(e===t?Vb(e):null);return[e,t,...n?[n]:[]].flatMap(bo)}function Mb(e){let t=Vb(e);return[e,...t?[t]:[]].flatMap(bo)}function Vb(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function Ok(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 Wb(e){return Ik(Is(e,!0))}function zk(e){return bo(Is(e,!1))}function Is(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=Hb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Nk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function bo(e){return e===""||e==="/dev/null"?[]:[e]}function Fb(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"]),Kb=new Set([...qb,"glob"]),Dk=new Set([...Kb,"pattern"]),$k=[],Yb={parseCommand:et,projectShellSyntax:zb};class ft extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function zs(e,t={}){let n=Lk({...Yb,...t}),r=vo(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:Mk(e),store:n}}function Ne(e,t){return e.commands.find((n)=>n.usages.includes(t))}function pt(e){if(!e.includes("$"))return e;return Gi(e,Ot())}function Lk(e={}){let t={...Yb,...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:$k,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 Mk(e){let t=e.route.kind==="grep"?Kb:e.route.kind==="glob"?Dk:qb;return[...bu(e.input,t),...e.route.kind==="patch"?vu(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 Wk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Fk=new Map([["zsh",new Set(["o"])]]),Gk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function Jb(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=Gk.get(e);if(Bk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Zk(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 Zk(e,t){let n=Wk.get(e),r=Fk.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 Bk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var Vk=new Set(["-S","--suffix"]);function Ns(e,t,n,r){if(e.status==="structural-limit")throw new ft;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=qk(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget(De(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function De(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:De(i,t);return a?De(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 So(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function Qb(e,t,n){let r=n.environment.home,o=Gi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?Xb(r,o.slice(2)):o;return Hk(jk(i)?i:Xb(t,i))}function ve(e,t,n){let r=Qb(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function ev(e,t,n,r){let o=Qb(e,t,n);if(!o)return null;if(r(Uk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=fy(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function Ds(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&&Vk.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 qk(e,t,n,r){let o=So(e)?new Map([...t.variables,...Kk(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(De(s,o),t.cwd,n),variables:o}}function Kk(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],De(o,t)]]:[]})}var He="Git metadata and hooks are protected. Ask the user before modifying them.";function ov(e,t=_u(e.invocation.context.executionCwd)){let n=gn(Ot()),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(Os(e.invocation.toolName))return null;let s=e.paths.find((a)=>tA(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=Ne(e,"input-candidate");if(!o)return null;let i=Ns(o.shell,r,n,{findSegmentTarget:(s,a)=>rA(s,a,t,n),isRedirectionTarget:(s,a)=>nA(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ve});return i?{target:i}:null}function _u(e,t=gn(Ot())){if(typeof e!=="string"||!e)return null;let n=oo(ve(e,e,t));if(!n)return null;try{let r=ve(n,e,t),o=Yk(n),i=o.isFile()?r:null,s=o.isFile()?Ul(n):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[gt(ve(l,e,t))]:[]),c=[...new Set(o.isDirectory()?[gt(n.replace(/\\/g,"/")),...a]:a)];return Object.freeze({entry:gt(r),markerFile:i?gt(i):null,directories:Object.freeze(c),hooksDirectories:Object.freeze([...new Set(c.flatMap((l)=>{let u=gt(Jk(l,"hooks"));return[u,gt(ve(u,e,t))]}))])})}catch{return null}}function Cn(e,t,n,r,o,i=!1){if(!n)return!1;let s=gt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(Su(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?$s(u,a):Xk(u,a);if(n.markerFile&&l(n.markerFile))return!0;return r&&tv(n).some(l)}if(Su(s,n))return!0;return r&&tv(n).some((c)=>$s(c,s))}function Xk(e,t){let n=rv(t,e);if(n===""||n.startsWith("..")||nv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function Qk(e,t,n,r){return Cn(e,t,n,!0,r)}function eA(e,t,n,r){if(!n)return!1;return Su(gt(ve(e,t,r)),n)}function tA(e,t,n,r){if(!n)return!1;return iv(e,t,n,r,n.entry)}function nA(e,t,n,r){if(!n)return!1;return iv(e,t,n,r,n.markerFile)}function iv(e,t,n,r,o){let i=gt(ve(e,t,r));return i===o||av(i,n)}function sv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>$s(o,gt(ve(i,t,r)))))}function Su(e,t){return e===t.entry||t.directories.includes(e)||av(e,t)}function av(e,t){return t.hooksDirectories.some((n)=>$s(e,n))}function tv(e){return[e.entry,...e.directories,...e.hooksDirectories]}function $s(e,t){let n=rv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!nv(n)}function gt(e){return process.platform==="win32"?e.toLowerCase():e}function rA(e,t,n,r){if(So(e))return null;let o=Kt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=Ds(o.slice(1)),s=i.sources.find((a)=>Qk(De(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&eA(De(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as xu,join as oA,normalize as iA,sep as Ls}from"node:path";var cv=process.platform==="win32",sA=/[*?]/;function _o(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Ws(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=_o(e.trim(),t);if(!xu(n))return"must be an absolute path or start with ~/";return xo(n,t)}function Fs(e,t){let n=lv(e,t);if(n===null)return"must be a non-empty path string";if(!xu(n))return null;if(xo(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 aA="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",cA="cannot cover the guard's own configuration";function lv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return _o(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Gs(e,t){let n=lv(e,t);if(n===null)return"must be a non-empty path string";if(sA.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!xu(n))return null;if(xo(n,t)!==null)return aA;return lA(n,t)?cA:null}function lA(e,t){let n=Ms(e),r=Ms(oA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ls}`)}function xo(e,t){let n=Ms(e),r=Ms(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 Ms(e){let t=iA(e);if(cv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(cv?3:1)&&t.endsWith(Ls))t=t.slice(0,-1);return t}var mA=process.platform==="win32",uv=64,fA=16384;function Co(e){let t=bb(e,uv,uv,fA);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:pA(e)}}function pA(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)=>gA(e.raw,n.span.start-e.span.start))}function gA(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 wn(e){let t=e.environment.home,n=e.environment.paths,r=gn(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:SA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function nt(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&xA(e))return{kind:"outside_anchored_cwd"};let o=!r&&pv(e,t.posixShell);if(pn(e))return{kind:"outside_anchored_cwd"};if(Ru(e,r))return{kind:"root_or_home_target"};if(hA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&Cn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(yA(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(_A(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&RA(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&PA(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(kA(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function mv(e,t,n={}){let{containmentTarget:r,...o}=n;if(nt(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(vA(i))return!1;if(Qy(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>AA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Ru(e,t=!1){let n=e.trim(),r=dv.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 hA(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=Eu(o)?o:t.resolvedCwd?cr(t.resolvedCwd,o):null;if(!i)return!1;let s=Ee(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===dA(s).root)return!0;return s===Ee(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Ee(e){let t=uA(e);if(mA){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 yA(e,t,n,r,o,i,s,a){let c=e.trim();if(fv(c))return!1;if(!r&&Yl(c,a))return!0;return(t||i&&s)&&n&&!o&&bA(c,n)}function bA(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!pv(e.slice(n.length+1),t)})}function vA(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return dv.normalize(`/${t[1]??""}`)==="/"}function fv(e){return e.split(/[\\/]+/).includes("..")}function SA(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=_o(o.trim(),t);if(!Eu(i))return[];try{let s=Y(i,n,r);if(xo(s,Y(t,n,r)))return[];return[Ee(s)]}catch{return[]}})}function _A(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(fv(r))return!1;let o=n?r:_o(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=Eu(o)?o:i?cr(i,o):null;if(!s)return!1;try{let a=Ee(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(wu)?c:`${c}${wu}`))}catch{return!1}}function xA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function pv(e,t=!1){return e.includes("$")||e.includes("`")||CA(e)||t&&wA(e)}function CA(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 wA(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==="{"&&EA(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function EA(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 RA(e,t,n,r){try{return Ee(Y(e,n,r))===Ee(Y(t,n,r))}catch{try{return Ee(e)===Ee(t)}catch{return!1}}}function PA(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Ee(Y(cr(t,e),n,r))===Ee(Y(t,n,r))}catch{try{return Ee(cr(t,e))===Ee(t)}catch{return!1}}}function kA(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 Cu(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return Cu(cr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return Cu(cr(a,e),t,i,s)}catch{return!1}}function Cu(e,t,n,r){try{return gv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function AA(e,t,n,r){if(!t)return!1;try{return gv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function gv(e,t){let n=Ee(e),r=Ee(t);return n.startsWith(`${r}${wu}`)||n===r}var TA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),hv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",IA="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.",yv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",bv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",OA="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 vv(e,t,n,r=wn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return NA(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function NA(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=$A(o),s=o[i];if(!s||!TA.has(jA(s.text)))return null;let a=DA(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(!pn(c.text)&&Ru(ku(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",bv);for(let c of a.targets)if(n.resolvedCwd&&Cn(ku(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",He);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",yv);for(let c of a.targets){let l=HA(nt(ku(c.text),n),n,r);if(l)return l}return null}function DA(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(LA(c))continue;if(s){t.push(Pu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=WA(c.text);if(!l){t.push(Pu(c)),i=i||c.dynamic;continue}if(FA(l.name)){let u=l.value?MA(l.value,c):e[++a];if(u?.kind==="word")t.push(Pu(u)),i=i||u.dynamic;else i=!0;continue}if(GA(l.name)){n=!0;continue}if(ZA(l.name)){r=!0;continue}if(BA(l.name))o=UA(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function $A(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function Pu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function LA(e){return e.kind==="word"&&e.text===","}function ku(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function MA(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function WA(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 FA(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function GA(e){return"recurse".startsWith(e)}function ZA(e){return e.length>=2&&"force".startsWith(e)}function BA(e){return e==="wi"||"whatif".startsWith(e)}function UA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function jA(e){return e.toLowerCase()}function HA(e,t,n){switch(e.kind){case"root_or_home_target":return S("powershell.remove-item-recursive-force-root-or-home",bv);case"git_metadata_target":return S("powershell.remove-item-git-metadata",He);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",yv);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",OA);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",hv);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",IA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",hv)}}import{normalize as ra}from"node:path";var $e=new Set(["awk","gawk","nawk","mawk"]),VA=new Set(["-e","--source"]),qA=new Set(["-F","-v","--assign","--field-separator"]),Sv=new Set(["-f","--file"]),KA=new Set(["print","printf","return"]),_v=[{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"}],YA="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 Us(e,t,n){let r=!1;for(let o of JA(e)){let i=XA(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",YA):null}function Tu(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&&VA.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&&(qA.has(a)||Sv.has(a))){if(Sv.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 Tu(e).sources}function JA(e){return Eo(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function XA(e,t){Te(t,e);let n=e.includes("system")?Iu(e,t):null,r=QA(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Iu(e,t){Te(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Bs(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=xv(e,i+1);continue}if(s==="/"&&Cv(e,i)){i=wv(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,wo(e[a-1])||wo(e[i]))continue;let c=Zs(e,i);if(e[c]!=="(")continue;c=Zs(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Bs(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Zs(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 QA(e,t){Te(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=Bs(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=xv(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Cv(e,i)){let m=wv(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
49
- {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(Au(e,i,"print")||Au(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=Zs(e,d);if(Au(e,f,"getline")){o=!0;let m=nT(s,c,l);if(m===null)r=!0;else n.push(m);l=d,i=d;continue}if(oT(s,a)){o=!0;let m=tT(e,f);if(!m){r=!0,l=d,i=d;continue}if(!eT(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 wo(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Zs(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function eT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
50
- }#`.includes(r)}function Bs(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=rT(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 tT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return Bs(e,t,n)}function nT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function rT(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:`
51
- `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function Au(e,t,n){return e.startsWith(n,t)&&!wo(e[t-1])&&!wo(e[t+n.length])}function oT(e,t){return t!==null&&t>=e}function xv(e,t){let n=e.indexOf(`
52
- `,t);return n===-1?e.length:n+1}function Cv(e,t){let n=iT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(wo(e[r-1]))r--;return KA.has(e.slice(r,n+1))}function iT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function wv(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 Ev=new Set(["rm","find","xargs","parallel"]),sT=new Set(["sudo","env","command","builtin"]),aT=new Set(["git","busybox",...Ev,...de,...By,...$e]);function js(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=cT(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 cT(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&&lT(a,r))i.push(s);else if(ns.has(H(a)))break;if(o)break}return i}function lT(e,t){let n=G(e),r=H(e);return r==="git"||n==="busybox"||En(e)||Ev.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||Oe(r)||$e.has(r)||t.rules.some((o)=>o.command===n)}function En(e){return sT.has(e.toLowerCase())}function Rv(e){let t=H(e);return aT.has(t)||Oe(t)}function rt(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Hs([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Hs(e,t,n,r,o,i,s,a,c){let l=ps(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=fs(l.envSplitValues,u);if(!m)throw new Ie;Ou(a),yield*Hs(m,t,d,r,o,i,s,a,c);return}if(En(u[0]??""))throw new Ie;let f=js(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])Ou(a),yield*Hs(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(dT(u)){Ou(a),yield*Hs([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield uT(u,d,r,o,i,c)}function uT(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 Ou(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function dT(e){return G(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function zu(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 ot(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Nu(r,"recursive"))t=!0;else if(r==="-f"||Nu(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 Pv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Nu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Nu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var mT="find -delete permanently removes files. Use -print first to preview.",fT="find -exec rm -rf is dangerous. Use explicit file list instead.",pT=new Set(["-exec","-execdir","-ok","-okdir"]),gT=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 Vs(e,t){let n=e.map(N),r=hT(e,n,t);if(r)return r;if(Ks(n,1)&&!bT(e,n,t)){let s=O(S("find.delete",mT),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??es(),i=0;while(i<n.length){let s=n[i],a=Jt(s??"");if(a>0){i+=a+1;continue}if(!Mt(s)){i++;continue}Je(o,n.length-i-1);let c=Ro(n,i);i=c.nextIndex;let l=ST(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 hT(e,t,n){if(!Ks(t,1)&&!Du(t,n.environment))return null;let o=qs(e)??j(["."]),i=wn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=Co(s);for(let c of a.expandedTargets??[N(s)]){let l=nt(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",He)}}if(yT(t)&&i.resolvedCwd&&sv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",He);return null}function Du(e,t){let n=0;while(n<e.length){if(!Mt(e[n])){n++;continue}let r=Ro(e,n),o=Kt([...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 yT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function bT(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=qs(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Kl(o,n.environment),s=n.trustedTmpdirValue??$t(o,n.environment),a=n.allowTmpdirVar??!lo(o,n.environment),c=wn({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??dt(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=Co(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>mv(d,c,{containmentTarget:vT(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function vT(e,t){if(!t)return e;return e.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>t)}function qs(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 ST(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"&&ot(n))return S("find.exec-rm-recursive-force",fT);return null}function Ro(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 Ks(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Mt(r)){n=Ro(e,n).nextIndex;continue}let o=Jt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Jt(e){return gT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Mt(e){return e!==void 0&&pT.has(e)}function Po(e){let t=et(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 _T=5,$u="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 Av(e,t,n){let r=Iv(e,t,n),o=xT(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<_T;a++){let{subcommand:c,rest:l}=it(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=PT(d);if(f===null||f.length===0)return{blockedReason:$u,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:$u,expanded:!0,tokens:i}}function Tv(e,t,n){return Iv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function it(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(ut.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 xT(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 Iv(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=wT(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...CT(e,t,n)]}}function CT(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=Lu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Lu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=kv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=kv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(ut.has(i)){o+=2;continue}o++}return r}function wT(e,t){let n=ET(e,t),r=RT(e,t);return{blockedReason:n===null||r===null?$u:null,entries:[...n??[],...r??[]]}}function ET(e,t){let n=Ue("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=Po(n);if(!o)return null;for(let i of o){let s=Lu(i);if(!s)return null;r.push(s)}return r}function RT(e,t){let n=Ui(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=Ue(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Lu(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 kv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:Ue(e.slice(r+1),t,n)}}function PT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return Po(t)}var kT="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",AT="git checkout --force discards uncommitted changes. Use 'git stash' first.",TT="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",IT="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",OT="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.",NT="git switch --force discards uncommitted changes. Use 'git stash' first.",DT="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",$T="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",LT="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",MT="git reset --merge can lose uncommitted changes. Use 'git stash' first.",WT="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",FT="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.",GT="git push --force destroys remote history. Use --force-with-lease for safer force push.",ZT="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",BT="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",UT="git branch -D force-deletes without merge check. Use -d for safe delete.",jT="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",HT="git merge --abort discards merge conflict resolutions. Use 'git status' first.",VT="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",qT="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",KT="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",YT="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",JT="git worktree remove --force can delete uncommitted changes. Remove --force flag.",Ov=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),zv=new Set(["--recurse-submodules","--track","-t"]),Mu=new Set(["-b","-B","-U"]),Wu=new Set(["-c","-C"]),XT=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),QT=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 Dv(e){let{subcommand:t,rest:n}=it(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Xt(eI(n));case"switch":return Xt(tI(n));case"restore":return Xt(rI(n));case"reset":return iI(n);case"clean":return Xt(aI(n));case"rm":return Xt(cI(n));case"push":return Rn(lI(n));case"branch":return Rn(mI(n));case"stash":return Rn(yI(n));case"worktree":return Rn(bI(n));case"rebase":return Xt(fI(n));case"merge":return Xt(pI(n));case"tag":return Rn(gI(n));case"reflog":return Rn(hI(n));default:return null}}function Xt(e){return e?{...e,localDiscard:!0}:null}function Rn(e){return e?{...e,localDiscard:!1}:null}function eI(e){let{index:t,before:n}=Se(e),r=we(n,{shortOptsWithValue:Mu});if(n.some((i)=>B(i,"--force"))||r.has("-f"))return S("git.checkout-force",AT);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",IT)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return S("git.checkout-ref-path",TT);return S("git.checkout-double-dash",kT)}if(nI(e).length>=2)return S("git.checkout-ambiguous",OT);return null}function tI(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:Wu});if(t.some((r)=>B(r,"--force"))||n.has("-f"))return S("git.switch-force",NT);return null}function nI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(Ov.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(zv.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("--")&&!QT.has(r)&&!Ov.has(r)&&!zv.has(r))n++;else n++;else t.push(r),n++}return t}function rI(e){let t=oI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?S("git.restore-worktree",$T):S("git.restore-unstaged",DT)}function oI(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(XT.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 iI(e){let t=null;for(let n of e){if(B(n,"--hard")){t=S("git.reset-hard",LT);break}if(B(n,"--merge")){t=S("git.reset-merge",MT);break}}if(!t)return null;return sI(e)?Rn(t):Xt(t)}function sI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function aI(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",WT);return null}function cI(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",FT):null}function lI(e){let{before:t,after:n}=Se(e),r=we(t);if(t.some((s)=>B(s,"--mirror")))return S("git.push-mirror",BT);if(t.some((s)=>B(s,"--force"))||r.has("-f")||Nv(t,n).some(uI))return S("git.push-force",GT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Nv(t,n).some(dI))return S("git.push-delete",ZT);return null}function Nv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function uI(e){return e.startsWith("+")||e.includes(":+")}function dI(e){return e.length>1&&e.startsWith(":")}function mI(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",UT);return null}function fI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",jT):null}function pI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.merge-abort",HT):null}function gI(e){let{before:t}=Se(e);return we(t).has("-d")||t.some((r)=>B(r,"--delete"))?S("git.tag-delete",VT):null}function hI(e){return e[0]==="delete"?S("git.reflog-delete",qT):null}function yI(e){for(let t of e){if(t==="drop")return S("git.stash-drop",KT);if(t==="clear")return S("git.stash-clear",YT)}return null}function bI(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",JT);return null}import{execFileSync as vI}from"node:child_process";import{existsSync as Gu,readFileSync as Zu}from"node:fs";import{dirname as SI,isAbsolute as Mv,join as Fu,resolve as Wv}from"node:path";var _I=["/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 Fv(e,t,n,r){let o=xI(e,t,n);if(o!==null)return o;let i=CI(t,n);if(i!==null)return i;if(hy(n))return!0;return wI(r)}function xI(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=$v(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=$v(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Lv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Lv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(ut.has(i))o+=2;else o++}return r}function CI(e,t){if(Ue("GIT_CONFIG_PARAMETERS",e,t)!==void 0)return!0;let n=Ui(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=Ue(`GIT_CONFIG_KEY_${o}`,e,t),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Bu(a))return!0;if(a!=="submodule.recurse")continue;r=ko(s)}return r}function wI(e,t=RI()){let n=EI(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=vI(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:PI(process.env),stdio:["ignore","pipe","ignore"]}).trim();return ko(r)}catch(r){return!kI(r)}}function EI(e){let t=AI(e);if(t===null)return null;for(let n of t){if(!Gu(n))continue;if(OI(n))return!0}return!1}function RI(){for(let e of _I)if(Gu(e))return e;return null}function PI(e){let t={...e};for(let n of Object.keys(t))if(to(n))delete t[n];return t}function kI(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function AI(e){let t=oo(e);if(t===null)return null;let n=TI(t);if(n===null)return null;let r=II(n);if(r===null)return null;return[Fu(r,"config"),Fu(n,"config.worktree")]}function TI(e){try{let n=Zu(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 Mv(r)?r:Wv(SI(e),r)}catch{return null}}function II(e){let t=Fu(e,"commondir");if(!Gu(t))return e;try{let n=Zu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Mv(n)?n:Wv(e,n)}catch{return null}}function OI(e){let t;try{t=Zu(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=ko(l)}return r}function zI(e){return e==="include"||e.startsWith("includeif ")}function $v(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Bu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return ko(r)}function ko(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Lv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Bu(o))return!0;if(o!=="submodule.recurse")return null;let i=Ue(e.slice(r+1),t,n);return i===void 0||ko(i)}function Bu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Gv(e,t,n){if(!t.localDiscard||!n.worktreeMode||Sy(n.env,n.envAssignments))return null;let r=_y(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!xy(r.gitCwd))return null;if(NI(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function NI(e,t,n){let{subcommand:r,rest:o}=it(e),i=r?.toLowerCase();if(t.dynamicArguments||DI(o)||Fv(e,t.env,t.envAssignments,n)||MI(o)||$I(i,o))return!0;return i==="clean"&&WI(o)>1}function DI(e){return e.some((t)=>/[$*?[]/.test(t))}function $I(e,t){if(e==="checkout"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Mu}),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:Wu}),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")||LI(s))||r.has("-C");return o&&i}return!1}function LI(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function MI(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function WI(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 FI="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.",GI=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function ur(e,t){return Zv(e.map(N),t)}function Zv(e,t,n){let r=Av(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((gy(t.envAssignments)||Tv(e,t.env,t.envAssignments))&&ZI(i))return S("git.ssh-env",FI);let s=Dv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Gv(e,s,t);if(!a)return s;return n?.(a),null}function Bv(e,t){let n=null;return{match:Zv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function ZI(e){let{subcommand:t,rest:n}=it(e),r=t?.toLowerCase();if(!r)return!1;if(GI.has(r))return!0;if(r==="archive")return Se(n).before.some((o)=>B(o,"--remote"));return r==="remote"&&BI(n)}function BI(e){return e.find((t)=>!UI(t))?.toLowerCase()==="update"}function UI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as NO}from"node:path";var Uv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",jI="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.",HI="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",Hv="rm -rf targeting root or home directory is extremely dangerous and always blocked.",VI="rm -rf in home directory is dangerous. Change to a project directory first.";function dr(e,t){let n=wn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=ot(r),i=Pv(r),s=KI(e);for(let a of s){let c=Co(a.word);if(o&&c.unsafeBraceExpansion){let l=O(jv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&Cn(l,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",He);if(i&&!o){let d=nt(l,n,u);if(d.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",Hv);if(d.kind==="git_metadata_target")return S("rm.git-metadata",He);continue}if(!o)continue;for(let d of qI(l,n,u)){let f=jv(d,n,t.policy),m=O(f,t.policy);if(m)return m}}}return null}function qI(e,t,n){let r=nt(e,t,n);if(r.kind==="cwd_self_target")return[r,nt(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=nt(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,nt(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function KI(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 jv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",Hv);case"git_metadata_target":return S("rm.git-metadata",He);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",HI);case"home_cwd_target":return S("rm.recursive-force-home-cwd",VI);case"cwd_self_target":return S("rm.recursive-force-cwd-self",Uv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",jI);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",Uv)}}var YI={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},qv=new Set(["--init-file","--rcfile"]),JI=["--init-file","--rcfile"],XI=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function ht(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return Vv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Vv(e,t,!1);if(r!==null)return r}}return null}function Ve(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return yt(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 Vv(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 Kv(e){let t=G(e[0]??"").toLowerCase(),n=QI(e,t),r=XI.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 QI(e,t){let n=yt(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?JI.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=Yv(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function Yv(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(!YI[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function yt(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=Yv(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 Qt={kind:"none"},Pn={kind:"dynamic"},eO=new Set(["<","<<","<<-","<<<","<&","<>"]),Xv=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,tO=/^(?:[0-9]+|[@*])$/,nO=_n.maxWords,rO=_n.maxInputLength;function Qv(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
45
+ `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Ab(e,r,Math.min(e.length,Rs.maxInputLength),Rs.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=du(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=au(e,r,Math.min(e.length,Rs.maxInputLength),Rs,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...lu(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function lu(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return lu(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(lu)]})}function du(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Ab(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
46
+ `)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 QP(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function su(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 et(e,t="auto",n=_n){if(t==="powershell"||t==="auto"&&Eb(e.slice(0,n.maxInputLength)))return Rb(e,n);return pb(e,"posix",n)}function po(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 ek=/^[A-Za-z_][A-Za-z0-9_]*=/;function Ps(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function ks(e){let t=Ps(e.words[0],"time")?1:0,n=t===1&&Ps(e.words[t],"-p")?t+1:t,r=t===1&&Ps(e.words[n],"--")?n+1:n,o=Ps(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!ek.test(s.text));return i?.provenance==="literal"?i.text:void 0}function go(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 tk(e))go(n,t);return t.inSingle||t.inDouble}function tk(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===`
47
+ `||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);go(s,n)}return t}var nk=new Set(["&&","||","|&","|","&",";"]),rk=new Set(["<<","<<<",">|"]),ok=/[*@#?$!_-]/,mu=Object.freeze([]),ik=Object.freeze([]),sk=256;function Nb(e,t){let n=t.status==="complete"?new Set(pu(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 As("unclosed-quote",r,mu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=ho(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return As("structural-limit",r,mu);if(o.invalid)return As("invalid",r,mu);return As("complete",r,i,o.assignmentFallbacks)}function As(e,t,n,r=ik){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function ho(e,t){return e.nodes.flatMap((n,r)=>ak(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function ak(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[tt(mk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[tt(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?Ts("{"):tt("("),...ho(e.body,a),...s?[i?Ts("}"):tt(")")]:[]]}]}let o=pk(e,r.functions);if(o){if(r.depth>=_n.maxDepth||++r.flags.expansions>sk)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...Tb(e,r),Ts(";"),...ho(o,{...r,depth:r.depth+1}),Ts(";")]},...Ib(e,t,n,r)]}return[{start:e.span.start,entries:Tb(e,r)},...Ib(e,t,n,r)]}function Tb(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:$b(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:ck(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function ck(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?$b(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[gu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:fk(r),targetOrder:rk.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Ib(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=[gu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[tt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Db(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?lk(t,n,r):[]]}function lk(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:Db(n.source.slice(r.span.end,e.span.end),n)}]}function Db(e,t){if(t.depth>=_n.maxDepth)return t.flags.limited=!0,[];let n=et(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=ho(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 $b(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(tt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(gu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of fu(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(tt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=fu(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?ho(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("<(")?tt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[tt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>tt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>tt(")")):[])}return c(),o}function fu(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=Ob(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=Ob(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Ob(e,t,n,r){let o=e[t+1];if(o==="{"){let s=dk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return uk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&ok.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 uk(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=fu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function dk(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 mk(e){return/^[\r\n]+$/.test(e)?";":e}function tt(e){return Object.freeze({kind:"operator",operator:e,boundary:nk.has(e)})}function Ts(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function gu(e){return Object.freeze({kind:"word",text:e})}function fk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function pu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return pu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>pu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!hk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function pk(e,t){let n=ks(e);return n===void 0?void 0:t.get(n)}function Yt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function gk(e){if(Yt(e.words[0],"git"))return Yt(e.words[1],"commit");if(!Yt(e.words[0],"gh")||!Yt(e.words[2],"create"))return!1;return Yt(e.words[1],"pr")||Yt(e.words[1],"issue")}function hk(e){return(Yt(e.words[0],"cat")||Yt(e.words[0],"tee")||gk(e))&&!e.words.some(zb)&&!e.redirections.some((n)=>zb(n.target))}function zb(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as yk}from"node:util";var bk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),vk=new Set(["command","diff","input","patch","patchtext"]),Lb=new TextEncoder,Sk=new TextDecoder,_k=/\s/,xk=64;class Lt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var yo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function Ck(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Os(e){return bk.has(Ck(e))}function vo(e){if(!e||typeof e!=="object")return;Hb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)ft();return}if(t.get||t.set)ft();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function vu(e,t){return Zb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Zb(e,t,n,r){let o=jb(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Zb(a,t,n,r+1);return typeof a==="string"&&t.has(Bb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Bb(e){return e.replace(/-/g,"_").toLowerCase()}function Su(e){return Ub(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(Ek)}function Ub(e,t,n,r){let o=jb(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Ub(a,o.array?t:vk.has(Bb(s)),n,r+1));return n.ancestors.delete(o.object),i}function wk(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>yo.maxDepth||t.nodes>yo.maxNodes)ft();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>yo.maxStringBytes||t.stringBytes>yo.maxAggregateStringBytes)ft()}function jb(e,t,n){if(wk(e,t,n),!e||typeof e!=="object")return null;let r=Hb(e);if(t.ancestors.has(e))ft();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>yo.maxKeys)ft();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)ft();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function Hb(e){if(yk.isProxy(e))ft();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)ft();return t}function ft(){throw new Lt}function Ek(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=Rk(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(...hu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...hu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...bu(Is(l.slice(4),!0),Is(u.slice(4),!0))),c++;continue}if(!r)t.push(...hu(l))}return t}function Rk(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 hu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Gb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Gb(n[1]);if(e.startsWith("diff --git "))return Pk(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Fb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Fb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return Nk(i[1]);return[]}function Pk(e){let t=kk(e);if(t.length===2&&t[0]&&t[1])return bu(t[0],t[1]);let n=Ak(e);return n?bu(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function kk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(xn(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&&!xn(e[n]))n++;t.push(e.slice(i,n));continue}let o=Vb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(xn(e[n]))n++;return n===e.length?t:[]}function Ak(e){let t=0;while(t<e.length&&xn(e[t]))t++;let n=e.length;while(n>t&&xn(e[n-1]))n--;let r=0,o=t;while(o<n){if(!xn(e[o])){o++;continue}let i=o;while(o<n&&xn(e[o]))o++;if(i===t||o===n)continue;if(r++,r>xk)ft();if(Tk(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function Tk(e,t,n,r,o){if(yu(e,t,n,r,o))return!0;let i=Mb(e,"/",t,n),s=Mb(e,"/",r,o);if(i<=t||s<=r)return!1;if(yu(e,t,i,r,s))return!1;return yu(e,i+1,n,s+1,o)}function yu(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 Mb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function xn(e){return e!==void 0&&_k.test(e)}function Vb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:Sk.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Lb.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(...Lb.encode(Ik(s[0]??""))),o+=2}return null}function Ik(e){return{a:"\x07",b:"\b",f:"\f",n:`
48
+ `,r:"\r",t:"\t",v:"\v"}[e]??e}function Ok(e){return bo(Dk(e))}function bu(e,t){if(e==="/dev/null")return Wb(t);if(t==="/dev/null")return Wb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(bo);let n=zk(e,t)??(e===t?Kb(e):null);return[e,t,...n?[n]:[]].flatMap(bo)}function Wb(e){let t=Kb(e);return[e,...t?[t]:[]].flatMap(bo)}function Kb(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function zk(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 Fb(e){return Ok(Is(e,!0))}function Nk(e){return bo(Is(e,!1))}function Is(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=Vb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Dk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function bo(e){return e===""||e==="/dev/null"?[]:[e]}function Gb(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"]),Yb=new Set([...qb,"glob"]),$k=new Set([...Yb,"pattern"]),Lk=[],Jb={parseCommand:et,projectShellSyntax:Nb};class pt extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function zs(e,t={}){let n=Mk({...Jb,...t}),r=vo(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:Wk(e),store:n}}function Ne(e,t){return e.commands.find((n)=>n.usages.includes(t))}function gt(e){if(!e.includes("$"))return e;return Gi(e,Ot())}function Mk(e={}){let t={...Jb,...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:Lk,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 Wk(e){let t=e.route.kind==="grep"?Yb:e.route.kind==="glob"?$k:qb;return[...vu(e.input,t),...e.route.kind==="patch"?Su(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 Fk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Gk=new Map([["zsh",new Set(["o"])]]),Zk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function Xb(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=Zk.get(e);if(Uk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Bk(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 Bk(e,t){let n=Fk.get(e),r=Gk.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 Uk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var Kk=new Set(["-S","--suffix"]);function Ns(e,t,n,r){if(e.status==="structural-limit")throw new pt;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=qk(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget(De(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function De(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:De(i,t);return a?De(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 So(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function ev(e,t,n){let r=n.environment.home,o=Gi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?Qb(r,o.slice(2)):o;return Vk(Hk(i)?i:Qb(t,i))}function ve(e,t,n){let r=ev(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function tv(e,t,n,r){let o=ev(e,t,n);if(!o)return null;if(r(jk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=py(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function Ds(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&&Kk.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 qk(e,t,n,r){let o=So(e)?new Map([...t.variables,...Yk(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(De(s,o),t.cwd,n),variables:o}}function Yk(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],De(o,t)]]:[]})}var He="Git metadata and hooks are protected. Ask the user before modifying them.";function iv(e,t=xu([e.invocation.context.executionCwd,e.invocation.context.configCwd])){let n=gn(Ot()),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(Os(e.invocation.toolName))return null;let s=e.paths.find((a)=>rA(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=Ne(e,"input-candidate");if(!o)return null;let i=Ns(o.shell,r,n,{findSegmentTarget:(s,a)=>iA(s,a,t,n),isRedirectionTarget:(s,a)=>oA(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ve});return i?{target:i}:null}function xu(e,t=gn(Ot())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=oo(ve(r,r,t));return o?[[nt(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>Qk(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 Qk(e,t,n){try{let r=ve(e,t,n),o=Jk(e),i=o.isFile()?r:null,s=o.isFile()?jl(e):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[nt(ve(l,t,n))]:[]),c=[...new Set(o.isDirectory()?[nt(e.replace(/\\/g,"/")),...a]:a)];return[{entry:nt(r),markerFile:i?nt(i):null,directories:c,hooksDirectories:[...new Set(c.flatMap((l)=>{let u=nt(Xk(l,"hooks"));return[u,nt(ve(u,t,n))]}))]}]}catch{return[]}}function Cn(e,t,n,r,o,i=!1){if(!n)return!1;let s=nt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(_u(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?$s(u,a):eA(u,a);if(n.markerFiles.some(l))return!0;return r&&nv(n).some(l)}if(_u(s,n))return!0;return r&&nv(n).some((c)=>$s(c,s))}function eA(e,t){let n=ov(t,e);if(n===""||n.startsWith("..")||rv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function tA(e,t,n,r){return Cn(e,t,n,!0,r)}function nA(e,t,n,r){if(!n)return!1;return _u(nt(ve(e,t,r)),n)}function rA(e,t,n,r){if(!n)return!1;return sv(e,t,n,r,n.entries)}function oA(e,t,n,r){if(!n)return!1;return sv(e,t,n,r,n.markerFiles)}function sv(e,t,n,r,o){let i=nt(ve(e,t,r));return o.includes(i)||cv(i,n)}function av(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>$s(o,nt(ve(i,t,r)))))}function _u(e,t){return t.entries.includes(e)||t.directories.includes(e)||cv(e,t)}function cv(e,t){return t.hooksDirectories.some((n)=>$s(e,n))}function nv(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function $s(e,t){let n=ov(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!rv(n)}function nt(e){return process.platform==="win32"?e.toLowerCase():e}function iA(e,t,n,r){if(So(e))return null;let o=qt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=Ds(o.slice(1)),s=i.sources.find((a)=>tA(De(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&nA(De(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as Cu,join as sA,normalize as aA,sep as Ls}from"node:path";var lv=process.platform==="win32",cA=/[*?]/;function _o(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Ws(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=_o(e.trim(),t);if(!Cu(n))return"must be an absolute path or start with ~/";return xo(n,t)}function Fs(e,t){let n=uv(e,t);if(n===null)return"must be a non-empty path string";if(!Cu(n))return null;if(xo(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 lA="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",uA="cannot cover the guard's own configuration";function uv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return _o(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Gs(e,t){let n=uv(e,t);if(n===null)return"must be a non-empty path string";if(cA.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!Cu(n))return null;if(xo(n,t)!==null)return lA;return dA(n,t)?uA:null}function dA(e,t){let n=Ms(e),r=Ms(sA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ls}`)}function xo(e,t){let n=Ms(e),r=Ms(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 Ms(e){let t=aA(e);if(lv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(lv?3:1)&&t.endsWith(Ls))t=t.slice(0,-1);return t}var pA=process.platform==="win32",dv=64,gA=16384;function Co(e){let t=vb(e,dv,dv,gA);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:hA(e)}}function hA(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)=>yA(e.raw,n.span.start-e.span.start))}function yA(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 wn(e){let t=e.environment.home,n=e.environment.paths,r=gn(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:xA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function rt(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&wA(e))return{kind:"outside_anchored_cwd"};let o=!r&&gv(e,t.posixShell);if(pn(e))return{kind:"outside_anchored_cwd"};if(Pu(e,r))return{kind:"root_or_home_target"};if(bA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&Cn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(vA(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(CA(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&kA(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&AA(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(TA(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function fv(e,t,n={}){let{containmentTarget:r,...o}=n;if(rt(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(_A(i))return!1;if(eb(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>IA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Pu(e,t=!1){let n=e.trim(),r=mv.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 bA(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=Ru(o)?o:t.resolvedCwd?cr(t.resolvedCwd,o):null;if(!i)return!1;let s=Ee(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===fA(s).root)return!0;return s===Ee(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Ee(e){let t=mA(e);if(pA){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 vA(e,t,n,r,o,i,s,a){let c=e.trim();if(pv(c))return!1;if(!r&&Jl(c,a))return!0;return(t||i&&s)&&n&&!o&&SA(c,n)}function SA(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!gv(e.slice(n.length+1),t)})}function _A(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return mv.normalize(`/${t[1]??""}`)==="/"}function pv(e){return e.split(/[\\/]+/).includes("..")}function xA(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=_o(o.trim(),t);if(!Ru(i))return[];try{let s=Y(i,n,r);if(xo(s,Y(t,n,r)))return[];return[Ee(s)]}catch{return[]}})}function CA(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(pv(r))return!1;let o=n?r:_o(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=Ru(o)?o:i?cr(i,o):null;if(!s)return!1;try{let a=Ee(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Eu)?c:`${c}${Eu}`))}catch{return!1}}function wA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function gv(e,t=!1){return e.includes("$")||e.includes("`")||EA(e)||t&&RA(e)}function EA(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 RA(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==="{"&&PA(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function PA(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 kA(e,t,n,r){try{return Ee(Y(e,n,r))===Ee(Y(t,n,r))}catch{try{return Ee(e)===Ee(t)}catch{return!1}}}function AA(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Ee(Y(cr(t,e),n,r))===Ee(Y(t,n,r))}catch{try{return Ee(cr(t,e))===Ee(t)}catch{return!1}}}function TA(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 wu(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return wu(cr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return wu(cr(a,e),t,i,s)}catch{return!1}}function wu(e,t,n,r){try{return hv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function IA(e,t,n,r){if(!t)return!1;try{return hv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function hv(e,t){let n=Ee(e),r=Ee(t);return n.startsWith(`${r}${Eu}`)||n===r}var OA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),yv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",zA="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.",bv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",vv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",NA="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",DA="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function Sv(e,t,n,r=wn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return $A(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function $A(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=MA(o),s=o[i];if(!s||!OA.has(VA(s.text)))return null;let a=LA(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",DA);for(let c of a.targets)if(!pn(c.text)&&Pu(Au(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",vv);for(let c of a.targets)if(n.resolvedCwd&&Cn(Au(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",He);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",bv);for(let c of a.targets){let l=KA(rt(Au(c.text),n),n,r);if(l)return l}return null}function LA(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(WA(c))continue;if(s){t.push(ku(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=GA(c.text);if(!l){t.push(ku(c)),i=i||c.dynamic;continue}if(ZA(l.name)){let u=l.value?FA(l.value,c):e[++a];if(u?.kind==="word")t.push(ku(u)),i=i||u.dynamic;else i=!0;continue}if(BA(l.name)){n=!0;continue}if(UA(l.name)){r=!0;continue}if(jA(l.name))o=HA(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function MA(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function ku(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function WA(e){return e.kind==="word"&&e.text===","}function Au(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function FA(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function GA(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 ZA(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function BA(e){return"recurse".startsWith(e)}function UA(e){return e.length>=2&&"force".startsWith(e)}function jA(e){return e==="wi"||"whatif".startsWith(e)}function HA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function VA(e){return e.toLowerCase()}function KA(e,t,n){switch(e.kind){case"root_or_home_target":return S("powershell.remove-item-recursive-force-root-or-home",vv);case"git_metadata_target":return S("powershell.remove-item-git-metadata",He);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",bv);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",NA);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",yv);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",zA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",yv)}}import{normalize as ra}from"node:path";var $e=new Set(["awk","gawk","nawk","mawk"]),qA=new Set(["-e","--source"]),YA=new Set(["-F","-v","--assign","--field-separator"]),_v=new Set(["-f","--file"]),JA=new Set(["print","printf","return"]),xv=[{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"}],XA="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 Us(e,t,n){let r=!1;for(let o of QA(e)){let i=eT(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",XA):null}function Iu(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&&qA.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&&(YA.has(a)||_v.has(a))){if(_v.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 Iu(e).sources}function QA(e){return Eo(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function eT(e,t){Te(t,e);let n=e.includes("system")?Ou(e,t):null,r=tT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Ou(e,t){Te(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Bs(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=Cv(e,i+1);continue}if(s==="/"&&wv(e,i)){i=Ev(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,wo(e[a-1])||wo(e[i]))continue;let c=Zs(e,i);if(e[c]!=="(")continue;c=Zs(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Bs(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Zs(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 tT(e,t){Te(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=Bs(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=Cv(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&wv(e,i)){let m=Ev(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
49
+ {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(Tu(e,i,"print")||Tu(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=Zs(e,d);if(Tu(e,f,"getline")){o=!0;let m=oT(s,c,l);if(m===null)r=!0;else n.push(m);l=d,i=d;continue}if(sT(s,a)){o=!0;let m=rT(e,f);if(!m){r=!0,l=d,i=d;continue}if(!nT(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 wo(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Zs(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function nT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
50
+ }#`.includes(r)}function Bs(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=iT(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 rT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return Bs(e,t,n)}function oT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function iT(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:`
51
+ `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function Tu(e,t,n){return e.startsWith(n,t)&&!wo(e[t-1])&&!wo(e[t+n.length])}function sT(e,t){return t!==null&&t>=e}function Cv(e,t){let n=e.indexOf(`
52
+ `,t);return n===-1?e.length:n+1}function wv(e,t){let n=aT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(wo(e[r-1]))r--;return JA.has(e.slice(r,n+1))}function aT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function Ev(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 Rv=new Set(["rm","find","xargs","parallel"]),cT=new Set(["sudo","env","command","builtin"]),lT=new Set(["git","busybox",...Rv,...de,...Uy,...$e]);function js(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=uT(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 uT(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&&dT(a,r))i.push(s);else if(ns.has(H(a)))break;if(o)break}return i}function dT(e,t){let n=G(e),r=H(e);return r==="git"||n==="busybox"||En(e)||Rv.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||Oe(r)||$e.has(r)||t.rules.some((o)=>o.command===n)}function En(e){return cT.has(e.toLowerCase())}function Pv(e){let t=H(e);return lT.has(t)||Oe(t)}function ot(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Hs([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Hs(e,t,n,r,o,i,s,a,c){let l=ps(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=fs(l.envSplitValues,u);if(!m)throw new Ie;zu(a),yield*Hs(m,t,d,r,o,i,s,a,c);return}if(En(u[0]??""))throw new Ie;let f=js(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])zu(a),yield*Hs(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(fT(u)){zu(a),yield*Hs([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield mT(u,d,r,o,i,c)}function mT(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 zu(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function fT(e){return G(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function Nu(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 it(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Du(r,"recursive"))t=!0;else if(r==="-f"||Du(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 kv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Du(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Du(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var pT="find -delete permanently removes files. Use -print first to preview.",gT="find -exec rm -rf is dangerous. Use explicit file list instead.",hT=new Set(["-exec","-execdir","-ok","-okdir"]),yT=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 Vs(e,t){let n=e.map(N),r=bT(e,n,t);if(r)return r;if(qs(n,1)&&!ST(e,n,t)){let s=O(S("find.delete",pT),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??es(),i=0;while(i<n.length){let s=n[i],a=Jt(s??"");if(a>0){i+=a+1;continue}if(!Mt(s)){i++;continue}Je(o,n.length-i-1);let c=Ro(n,i);i=c.nextIndex;let l=xT(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 bT(e,t,n){if(!qs(t,1)&&!$u(t,n.environment))return null;let o=Ks(e)??j(["."]),i=wn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=Co(s);for(let c of a.expandedTargets??[N(s)]){let l=rt(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",He)}}if(vT(t)&&i.resolvedCwd&&av(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",He);return null}function $u(e,t){let n=0;while(n<e.length){if(!Mt(e[n])){n++;continue}let r=Ro(e,n),o=qt([...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 vT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function ST(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=Yl(o,n.environment),s=n.trustedTmpdirValue??$t(o,n.environment),a=n.allowTmpdirVar??!lo(o,n.environment),c=wn({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??mt(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=Co(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>fv(d,c,{containmentTarget:_T(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function _T(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 xT(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"&&it(n))return S("find.exec-rm-recursive-force",gT);return null}function Ro(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 qs(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Mt(r)){n=Ro(e,n).nextIndex;continue}let o=Jt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Jt(e){return yT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Mt(e){return e!==void 0&&hT.has(e)}function Po(e){let t=et(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 CT=5,Lu="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 Tv(e,t,n){let r=Ov(e,t,n),o=wT(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<CT;a++){let{subcommand:c,rest:l}=st(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=AT(d);if(f===null||f.length===0)return{blockedReason:Lu,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:Lu,expanded:!0,tokens:i}}function Iv(e,t,n){return Ov(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function st(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(dt.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 wT(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 Ov(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=RT(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...ET(e,t,n)]}}function ET(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=Mu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Mu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=Av(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=Av(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(dt.has(i)){o+=2;continue}o++}return r}function RT(e,t){let n=PT(e,t),r=kT(e,t);return{blockedReason:n===null||r===null?Lu:null,entries:[...n??[],...r??[]]}}function PT(e,t){let n=Ue("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=Po(n);if(!o)return null;for(let i of o){let s=Mu(i);if(!s)return null;r.push(s)}return r}function kT(e,t){let n=Ui(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=Ue(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Mu(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 Av(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:Ue(e.slice(r+1),t,n)}}function AT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return Po(t)}var TT="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",IT="git checkout --force discards uncommitted changes. Use 'git stash' first.",OT="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",zT="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",NT="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",DT="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",$T="git switch --force discards uncommitted changes. Use 'git stash' first.",LT="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",MT="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",WT="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",FT="git reset --merge can lose uncommitted changes. Use 'git stash' first.",GT="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",ZT="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.",BT="git push --force destroys remote history. Use --force-with-lease for safer force push.",UT="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.",HT="git branch -D force-deletes without merge check. Use -d for safe delete.",VT="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",KT="git merge --abort discards merge conflict resolutions. Use 'git status' first.",qT="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",YT="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",JT="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",XT="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",QT="git worktree remove --force can delete uncommitted changes. Remove --force flag.",zv=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),Nv=new Set(["--recurse-submodules","--track","-t"]),Wu=new Set(["-b","-B","-U"]),Fu=new Set(["-c","-C"]),eI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),tI=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 $v(e){let{subcommand:t,rest:n}=st(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Xt(nI(n));case"switch":return Xt(rI(n));case"restore":return Xt(iI(n));case"reset":return aI(n);case"clean":return Xt(lI(n));case"rm":return Xt(uI(n));case"push":return Rn(dI(n));case"branch":return Rn(pI(n));case"stash":return Rn(vI(n));case"worktree":return Rn(SI(n));case"rebase":return Xt(gI(n));case"merge":return Xt(hI(n));case"tag":return Rn(yI(n));case"reflog":return Rn(bI(n));default:return null}}function Xt(e){return e?{...e,localDiscard:!0}:null}function Rn(e){return e?{...e,localDiscard:!1}:null}function nI(e){let{index:t,before:n}=Se(e),r=we(n,{shortOptsWithValue:Wu});if(n.some((i)=>B(i,"--force"))||r.has("-f"))return S("git.checkout-force",IT);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",zT)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return S("git.checkout-ref-path",OT);return S("git.checkout-double-dash",TT)}if(oI(e).length>=2)return S("git.checkout-ambiguous",NT);return null}function rI(e){let{before:t}=Se(e);if(t.some((r)=>B(r,"--discard-changes")))return S("git.switch-discard-changes",DT);let n=we(t,{shortOptsWithValue:Fu});if(t.some((r)=>B(r,"--force"))||n.has("-f"))return S("git.switch-force",$T);return null}function oI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(zv.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(Nv.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("--")&&!tI.has(r)&&!zv.has(r)&&!Nv.has(r))n++;else n++;else t.push(r),n++}return t}function iI(e){let t=sI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?S("git.restore-worktree",MT):S("git.restore-unstaged",LT)}function sI(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(eI.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 aI(e){let t=null;for(let n of e){if(B(n,"--hard")){t=S("git.reset-hard",WT);break}if(B(n,"--merge")){t=S("git.reset-merge",FT);break}}if(!t)return null;return cI(e)?Rn(t):Xt(t)}function cI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function lI(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",GT);return null}function uI(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",ZT):null}function dI(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")||Dv(t,n).some(mI))return S("git.push-force",BT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Dv(t,n).some(fI))return S("git.push-delete",UT);return null}function Dv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function mI(e){return e.startsWith("+")||e.includes(":+")}function fI(e){return e.length>1&&e.startsWith(":")}function pI(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",HT);return null}function gI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",VT):null}function hI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.merge-abort",KT):null}function yI(e){let{before:t}=Se(e);return we(t).has("-d")||t.some((r)=>B(r,"--delete"))?S("git.tag-delete",qT):null}function bI(e){return e[0]==="delete"?S("git.reflog-delete",YT):null}function vI(e){for(let t of e){if(t==="drop")return S("git.stash-drop",JT);if(t==="clear")return S("git.stash-clear",XT)}return null}function SI(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",QT);return null}import{execFileSync as _I}from"node:child_process";import{existsSync as Zu,readFileSync as Bu}from"node:fs";import{dirname as xI,isAbsolute as Wv,join as Gu,resolve as Fv}from"node:path";var CI=["/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 Gv(e,t,n,r){let o=wI(e,t,n);if(o!==null)return o;let i=EI(t,n);if(i!==null)return i;if(yy(n))return!0;return RI(r)}function wI(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=Lv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Lv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Mv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Mv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(dt.has(i))o+=2;else o++}return r}function EI(e,t){if(Ue("GIT_CONFIG_PARAMETERS",e,t)!==void 0)return!0;let n=Ui(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=Ue(`GIT_CONFIG_KEY_${o}`,e,t),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Uu(a))return!0;if(a!=="submodule.recurse")continue;r=ko(s)}return r}function RI(e,t=kI()){let n=PI(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=_I(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:AI(process.env),stdio:["ignore","pipe","ignore"]}).trim();return ko(r)}catch(r){return!TI(r)}}function PI(e){let t=II(e);if(t===null)return null;for(let n of t){if(!Zu(n))continue;if(NI(n))return!0}return!1}function kI(){for(let e of CI)if(Zu(e))return e;return null}function AI(e){let t={...e};for(let n of Object.keys(t))if(to(n))delete t[n];return t}function TI(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function II(e){let t=oo(e);if(t===null)return null;let n=OI(t);if(n===null)return null;let r=zI(n);if(r===null)return null;return[Gu(r,"config"),Gu(n,"config.worktree")]}function OI(e){try{let n=Bu(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 Wv(r)?r:Fv(xI(e),r)}catch{return null}}function zI(e){let t=Gu(e,"commondir");if(!Zu(t))return e;try{let n=Bu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Wv(n)?n:Fv(e,n)}catch{return null}}function NI(e){let t;try{t=Bu(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(DI(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=ko(l)}return r}function DI(e){return e==="include"||e.startsWith("includeif ")}function Lv(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Uu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return ko(r)}function ko(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Mv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Uu(o))return!0;if(o!=="submodule.recurse")return null;let i=Ue(e.slice(r+1),t,n);return i===void 0||ko(i)}function Uu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Zv(e,t,n){if(!t.localDiscard||!n.worktreeMode||_y(n.env,n.envAssignments))return null;let r=xy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!Cy(r.gitCwd))return null;if($I(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function $I(e,t,n){let{subcommand:r,rest:o}=st(e),i=r?.toLowerCase();if(t.dynamicArguments||LI(o)||Gv(e,t.env,t.envAssignments,n)||FI(o)||MI(i,o))return!0;return i==="clean"&&GI(o)>1}function LI(e){return e.some((t)=>/[$*?[]/.test(t))}function MI(e,t){if(e==="checkout"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Wu}),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:Fu}),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")||WI(s))||r.has("-C");return o&&i}return!1}function WI(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function FI(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function GI(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 ZI="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.",BI=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function ur(e,t){return Bv(e.map(N),t)}function Bv(e,t,n){let r=Tv(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((hy(t.envAssignments)||Iv(e,t.env,t.envAssignments))&&UI(i))return S("git.ssh-env",ZI);let s=$v(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Zv(e,s,t);if(!a)return s;return n?.(a),null}function Uv(e,t){let n=null;return{match:Bv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function UI(e){let{subcommand:t,rest:n}=st(e),r=t?.toLowerCase();if(!r)return!1;if(BI.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)=>!HI(t))?.toLowerCase()==="update"}function HI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as $O}from"node:path";var jv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",VI="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.",KI="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",Vv="rm -rf targeting root or home directory is extremely dangerous and always blocked.",qI="rm -rf in home directory is dangerous. Change to a project directory first.";function dr(e,t){let n=wn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=it(r),i=kv(r),s=JI(e);for(let a of s){let c=Co(a.word);if(o&&c.unsafeBraceExpansion){let l=O(Hv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&Cn(l,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",He);if(i&&!o){let d=rt(l,n,u);if(d.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",Vv);if(d.kind==="git_metadata_target")return S("rm.git-metadata",He);continue}if(!o)continue;for(let d of YI(l,n,u)){let f=Hv(d,n,t.policy),m=O(f,t.policy);if(m)return m}}}return null}function YI(e,t,n){let r=rt(e,t,n);if(r.kind==="cwd_self_target")return[r,rt(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=rt(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,rt(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function JI(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 Hv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",Vv);case"git_metadata_target":return S("rm.git-metadata",He);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",KI);case"home_cwd_target":return S("rm.recursive-force-home-cwd",qI);case"cwd_self_target":return S("rm.recursive-force-cwd-self",jv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",VI);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",jv)}}var XI={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},qv=new Set(["--init-file","--rcfile"]),QI=["--init-file","--rcfile"],eO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function ht(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return Kv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Kv(e,t,!1);if(r!==null)return r}}return null}function Ve(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return yt(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 Kv(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 Yv(e){let t=G(e[0]??"").toLowerCase(),n=tO(e,t),r=eO.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 tO(e,t){let n=yt(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?QI.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=Jv(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function Jv(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(!XI[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function yt(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=Jv(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 Qt={kind:"none"},Pn={kind:"dynamic"},nO=new Set(["<","<<","<<-","<<<","<&","<>"]),Qv=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,rO=/^(?:[0-9]+|[@*])$/,oO=_n.maxWords,iO=_n.maxInputLength;function eS(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
53
53
  `)return`${r.join(`
54
54
  `)}
55
55
  `;if(n.includes("%")||/\\(?![\\nrt])/.test(n))return;return n.replaceAll("\\n",`
56
- `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function mr(e){let t=Ao(e[1])==="--"?2:1;if(e.length<=t)return Qt;let n=e.slice(t);if(!n.every(Js))return Pn;return{kind:"literal",source:n.map(N).join(" ")}}function eS(e){let t=Ao(e[1])==="--"?2:1,n=e[t],r=Ao(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return Qt;if(!Js(n))return Pn;return{kind:"literal",source:r}}function Ys(e,t){let n=iO(e);if(n===-1)return Qt;let r=sO(t);if(!r)return Qt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=cO(s,e,n,r.ifs);if(!a)return Pn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>nO||i>rO)return Pn;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(uO)].filter((s)=>s!==null).join(" ")}}function tS(e,t,n,r){if(!yt(e.map(N)).readsStdinAsCommands)return Qt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&eO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return Qt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return Pn;return{kind:"literal",source:o.target.text}}if(!n)return Qt;return r===void 0?Pn:{kind:"literal",source:r}}function bt(e){let t=yt(e.map(N)).scriptIndex;if(t===null)return Qt;let n=e[t],r=Ao(n);return Zi(n,r)?{kind:"literal",source:r}:Pn}var oO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Vu(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||je(s)!==null)return!1;let a=G(H(s));return!oO.has(a)&&!de.has(a)&&!En(a)}function iO(e){return yt(e.map(N)).commandIndex??-1}function sO(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(aO);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]??"":`
57
- `}}function aO(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 cO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?Uu(o):lO(o,r);if(e.parameter==="*"){let a=Uu(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:ju(c,r)}let i=t[n+1+e.parameter];if(i&&!Js(i))return;let s=Ao(i);return e.quoted?[s]:ju(s,r)}function Uu(e){return e.every(Js)?e.map(N):void 0}function lO(e,t){let n=Uu(e);if(!n)return;let r=n.map((o)=>ju(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function ju(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
56
+ `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function mr(e){let t=Ao(e[1])==="--"?2:1;if(e.length<=t)return Qt;let n=e.slice(t);if(!n.every(Js))return Pn;return{kind:"literal",source:n.map(N).join(" ")}}function tS(e){let t=Ao(e[1])==="--"?2:1,n=e[t],r=Ao(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return Qt;if(!Js(n))return Pn;return{kind:"literal",source:r}}function Ys(e,t){let n=aO(e);if(n===-1)return Qt;let r=cO(t);if(!r)return Qt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=uO(s,e,n,r.ifs);if(!a)return Pn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>oO||i>iO)return Pn;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(mO)].filter((s)=>s!==null).join(" ")}}function nS(e,t,n,r){if(!yt(e.map(N)).readsStdinAsCommands)return Qt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&nO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return Qt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return Pn;return{kind:"literal",source:o.target.text}}if(!n)return Qt;return r===void 0?Pn:{kind:"literal",source:r}}function bt(e){let t=yt(e.map(N)).scriptIndex;if(t===null)return Qt;let n=e[t],r=Ao(n);return Zi(n,r)?{kind:"literal",source:r}:Pn}var sO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Ku(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||je(s)!==null)return!1;let a=G(H(s));return!sO.has(a)&&!de.has(a)&&!En(a)}function aO(e){return yt(e.map(N)).commandIndex??-1}function cO(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(lO);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]??"":`
57
+ `}}function lO(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 uO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?ju(o):dO(o,r);if(e.parameter==="*"){let a=ju(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:Hu(c,r)}let i=t[n+1+e.parameter];if(i&&!Js(i))return;let s=Ao(i);return e.quoted?[s]:Hu(s,r)}function ju(e){return e.every(Js)?e.map(N):void 0}function dO(e,t){let n=ju(e);if(!n)return;let r=n.map((o)=>Hu(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function Hu(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
58
58
  `)return e.trim().split(/\s+/).filter(Boolean);if(t.length!==1)return;return t===" "||t==="\t"||t===`
59
- `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Js(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function Ao(e){return e?N(e):""}function uO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function qu(e,t){return Hu(et(e,"posix"),t)}function fr(e){return qu(e,new Set(Array.from(e.matchAll(Xv)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Hu(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(Hu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Hu(o,n))||nS(r.words,n))return!0;gO(r,n)}return!1}function nS(e,t){let n=e.findIndex((s)=>je(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(To(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return Jv(e[s],t)}if(de.has(o)){let s=e.slice(n),a=yt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&Jv(s[c],t)}let i=dO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return nS(e.slice(i),t)}function dO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return mO(e,t+1);if(r==="exec")return fO(e,t+1);if(r==="env")return pO(e,t+1,n);return null}function mO(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 fO(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 pO(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 To(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return To(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(je(i))continue;return r}return null}function gO(e,t){if(!e.words.every((n)=>je(n.text)!==null))return;for(let n of e.words){let r=je(n.text);if(!r)continue;if(To(n,t))t.add(r.name)}}function To(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(Xv)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(tO.test(o)||t.has(o))}))}function Jv(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||To(e,t))}var hO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),yO=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),bO=new Set;function rS(e){if(e==="git")return hO;if(e==="docker")return yO;return bO}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(!vO(n,o.command))continue;if(!SO(n,e,o.subcommand))continue;if(xO(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 vO(e,t){return e===H(t)}function SO(e,t,n){if(!n)return!0;return oS(t,1,n,rS(e))}function oS(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("=")&&_O(e,i,n,r))return!0;continue}return s===n}return!1}function _O(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return oS(e,t+2,n,r)}function xO(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 en(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 vt(n,t)}if(de.has(o)){if(Ve(e))return null;let i=ht(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=bt(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($e.has(o))return O(Us(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??vt(n,t);if(Oe(o)){let i=os(e);if(!i)return vt(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(as(o,i))return vt(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==qt||ar(i)))return s;if(nr(i,t.scanWork))return O(S("interpreter.dangerous-command",vn),t.policy)??vt(n,t);return vt(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(ot(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:dt(t.envAssignments,t.environment),trustedTmpdirValue:$t(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?vt(n,t):null)??(i?CO(n,t):null)}if(o==="find")return Vs(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>en(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??vt(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??[])??vt(n,t);return pe(e,t.policy?.rules??[])??vt(n,t)}function pr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function vt(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function CO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var Ku="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Yu="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",wO="__CC_SAFETY_NET_XARGS_INPUT__",Xs="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",Qs="rm",EO=/(?:^|[;&|]\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,RO=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,PO=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,kO=/^(?:[0-9]+|[@*])$/;function aS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=kn(n),i=n.slice(r),s=S("xargs.shell-dynamic",Yu);if(TO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of rt(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=dS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&lS(c,o),f=en(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||cS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",Ku)});if(f)return f;let m=AO(c,o,t.policy?.rules??[]);if(m)return m;if(a.head==="git"){let h=o===null?[...c,wO]:c,b=o!==null&&(c.some((E)=>E.includes(o))||Array.from(a.envAssignments.values()).some((E)=>E.includes(o))),y=en(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 AO(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)=>Ju(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 Ju(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 cS(e,t,n,r,o,i,s){if(de.has(t)){if(Ve(e))return!1;if(n!==null&&IO(e,n))return!0;let a=ht(e);if(!a){let c=bt(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(Dt(a,i))return!0;return OO(a,n,r)}if(Oe(t))return iS(e,n,ss,Hy(t));if($e.has(t))return iS(e,n,Tu,_v);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=it(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&lr.has(a.subcommand.toLowerCase())&&uS(a.rest,n).some((c)=>c.includes(n))}return!1}function iS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,Xs]).sources.some((c)=>c.value===Xs);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}${Xs}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${Xs}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>Ju(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 TO(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(rt(e,n),(i)=>i.head)),o=t===null?[...e,Qs]:e.map((i,s)=>s===0?i:i.replaceAll(t,Qs));return Array.from(rt(o,n)).some((i)=>i.head===Qs&&!r.has(Qs))}function lS(e,t){return uS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function uS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function dS(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 IO(e,t){let n=yt(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 Ju(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=yt(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 OO(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(EO))if(sS(o,r))return!0;for(let o of e.matchAll(RO))for(let i of(o[1]??"").matchAll(PO))if(sS(i,r))return!0;return qu(e,r)}function sS(e,t){let n=e[1]??e[2];return n!==void 0&&(kO.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(Mt(a)){let l=Ro(e,s);s=l.nextIndex-1;for(let u of rt(l.tokens,{environment:r,cwd:void 0})){let d=dS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&lS(u.tokens,t)||cS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Jt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function kn(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 Oo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",zo="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",DO="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",$O="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",LO=/\{[^{}\s]*\}/,vS=/\{\}|\{-?\d+\}/g,MO=["e","f","source","file","-e","-f","--source","--file"],WO=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],FO=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),GO=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),mS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),ZO=new Set(["--workdir","--wd"]),fS="__CC_SAFETY_NET_PARALLEL_SOURCE__",BO=new TextEncoder,Qu=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Re(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function SS(e,t){return Re([...e],(n)=>Dt(n,t.scanWork))}function _S(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=Tn(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=TS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=Tn(t);if(p)return p;let h=SS(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=JO(t);if(p)return p}if(u!==void 0&&a){let p=Tn(t);if(p)return p}let f=tz(u,t.cwd,t.environment.paths);if(f===null){let p=Tn(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([...rt(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(rd)){let h=Tn(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=Tn(t);if(b)return b}let p=s.map((b)=>b[0]??"");ze(t.budget,ed(p));let h=RS(m.envAssignments,m.cwd,a);return Re(p,(b)=>t.analyzeNested(b,h))}return Re(rt(i,m),(p)=>UO(p,o,t,m))}function UO(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(kS)){let y=Tn(n);if(y)return y}let d=SS(u,n);if(d)return d;let f=u.some(Q),m=i||f,p=a&&m,h=RS(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return ze(n.budget,ea(c,o,"generic")),Re(o,(R)=>en(c.map((P)=>tn(P,R)),l))};if(Ve(c))return y();let E=ht(c);if(E){if(AS(E)){let v=An(n);if(v)return v;if(o.length===0)return null;return ze(n.budget,bS(E,o)),Re(o,(T)=>n.analyzeNested(tn(E,T),h))}if(Q(E)){if(o.length>0)return ze(n.budget,bS(E,o)),Re(o,(k)=>n.analyzeNested(tn(E,k),h));ze(n.budget,hS(E));let v=Po(E);if(v?.[0]&&H(v[0])==="rm"&&ot(v)){let k=gS(n);if(k)return k}let T=v?en(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",zo),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",Oo)}):null;if(T)return T;return n.analyzeNested(E,h)}let R=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Ys(j(v===void 0?c:i?c.map((T)=>tn(T,v)):[...c,...v]),E)):[];if(R.some((v)=>v.kind==="dynamic")){let v=An(n);if(v)return v}let P=R.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return ze(n.budget,ed(P)),Re(P,(v)=>n.analyzeNested(v,h));if(ze(n.budget,hS(E)),fr(E)){let v=An(n);if(v)return v}let x=n.analyzeNested(E,h);if(x)return x;if(m)return An(n);return null}let w=bt(j(c));if(w.kind==="dynamic"||w.kind==="literal"&&Q(w.source))return An(n)??y();if(w.kind==="literal")return y();if(o.length>0){let R=An(n);if(R)return R;let P=y();if(P)return P;if(i)return null;let x=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return ze(n.budget,ed(x)),Re(x,(v)=>n.analyzeNested(v,h))}if(m||a)return An(n)??y();return null}if(e.head==="rm"&&ot(c)){if(i&&o.length>0)return ze(n.budget,ea(c,o,"rm")),Re(o,(E)=>Xu(c.map((w)=>td(w,E)),e.cwd,r));if(o.length>0)return ze(n.budget,yS(c,o)),Re(o,(E)=>Xu([...c,...E],e.cwd,r));let y=Xu(c.flatMap((E,w)=>{if(w===0||!Q(E))return[E];return E.startsWith("-")?[td(E,[""])]:[]}),e.cwd,r);if(y)return y;return gS(n)}ze(n.budget,i&&o.length>0?ea(c,o,"generic"):o.length>0?yS(c,o):ES(c));let b=o.length>0?o:[void 0];return Re(b,(y)=>{let E=y===void 0?c:i?c.map((z)=>tn(z,y)):[...c,...y],w=S("parallel.shell-dynamic",zo),R=a&&e.head==="find"?YO(E,r):null,P=CS(E,a,n.policy?.rules??[],n.budget)??R?.customResult??null,x=H(e.head),v=a&&(x==="rm"&&nd(E)||x==="xargs"&&wS(E)||R?.rmOptions===!0),T=a&&(v||R?.executedSource===!0||R===null&&xS(E,x)),k=en(E,{...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",Oo)});if(T){let z=O(w,n.policy);if(z)return z}return k??P??pe(E,n.policy?.rules??[])})}function xS(e,t){if(Q(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return VO(e);if(t==="git")return jO(e);if(t==="find")return!0;if($e.has(t))return pS(e,MO,Eo);if(Oe(t))return pS(e,WO,is);return!1}function nd(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(Q))return t===-1;return n.some((o)=>Q(o)&&(o.startsWith("-")||AS(o)))}function jO(e){if(HO(e))return!0;let t=it(e);if(t.subcommand===null||Q(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(Q))return n===-1;return r.some(Q)}function HO(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(Q(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(Q(n))return!0;continue}if(Q(n))return!0}return!1}function VO(e){if(Ve(e))return!1;let t=ht(e);if(t!==null)return Q(t);let n=bt(j(e));if(n.kind==="literal")return Q(n.source);if(n.kind==="dynamic")return!0;return!e.some(Q)}function pS(e,t,n){let r=n(e);if(r.some((i)=>Q(i.value)))return!0;if(!e.some(Q))return n([...e,fS]).some((i)=>i.value===fS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>tn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function CS(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(Q);if(ze(r,qO(e,o,i)),!i)return Re(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Re(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?KO(e,c):[]));return Re(a,(c)=>pe(e.map((l)=>tn(l,[c])),[s]))})}function qO(e,t,n){let r=n?In(qe(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:In(r,e.length,V.maxDerivedTokens)}}function KO(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 YO(e,t){let n={customResult:null,executedSource:!e.some(Q),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(Q))return;for(let a of rt(i,t))n.executedSource||=xS(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&nd(a.tokens)||a.head==="xargs"&&wS(a.tokens),n.customResult??=CS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=Q(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Mt(a)){i=[],n.executedSource||=Q(a);continue}let c=Jt(a);if(c>0){o=c,n.executedSource||=Q(a);continue}n.executedSource||=Q(a)}return s(),n}function wS(e){let t=e.slice(kn(e).childStart);return H(t[0]??"")==="rm"&&nd(t)}function ta(e,t){return(n)=>O(S(e,t),n.policy)}var An=ta("parallel.shell-dynamic",zo),JO=ta("parallel.command-stream-dynamic",DO),Tn=ta("parallel.command-stream-dynamic",$O),gS=ta("parallel.rm-recursive-force-dynamic",Oo);function Xu(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:dt(n.envAssignments??new Map,n.environment),trustedTmpdirValue:$t(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function ed(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:No(e)}}function hS(e){return ES([e])}function ES(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:No(e)}}function yS(e,t){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:qe(t.map((n)=>e.length+n.length),V.maxDerivedTokens),derivedBytes:qe([In(No(e),t.length,V.maxDerivedBytes),qe(t.map((n)=>No(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function bS(e,t){return ea([e],t,"generic")}function ea(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=In(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=ez(e.map((c)=>QO(c,n))),i=In(o.occurrences,t.length,V.maxPlaceholderReplacements);if(i>V.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(XO(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:V.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?tn:td,a=qe(t.map((c)=>No(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function XO(e,t,n){let r=V.maxDerivedBytes+4*n;return qe([In(e.fixedBytes,t.length,r),In(e.occurrences,qe(t.map((o)=>o.reduce((i,s)=>Math.max(i,Io(s)),0)),r),r)],r)>r}function QO(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(vS),r=0,o=0,i=0;for(let s of n){if(r>=V.maxPlaceholderReplacements)return{occurrences:V.maxPlaceholderReplacements+1,fixedBytes:0};o=qe([o,Io(e.slice(i,s.index))],Qu),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Io(e):qe([o,Io(e.slice(i))],Qu)}}function ez(e){return{occurrences:qe(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:qe(e.map((t)=>t.fixedBytes),Qu)}}function No(e,t=V.maxDerivedBytes){return qe(e.map(Io),t)}function Io(e){return BO.encode(e).byteLength}function qe(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 In(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 RS(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 tn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>PS(n,t))}function td(e,t){return e.replace(vS,(n)=>PS(n,t))}function PS(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 Q(e){return LO.test(e)}function kS(e){if(rd(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function rd(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function AS(e){return/^\{[^{}\s]*\}$/.test(e)}function TS(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=zu(e,t+1);n.push(...w.templateTokens),r=t+1,o=w.markerIndex;break}if(!p.startsWith("-")){let w=zu(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),E=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"?E:p.slice(2);l||=w!==""&&w!=="{}",t++;continue}if(p==="-a"||GO.has(y)){l=!0,t+=E===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=E===void 0?2:1;continue}if(mS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=mS.has(p)?2:1;continue}if(ZO.has(y)){let w=E??h;if(w===void 0||w===":::"||w==="--"){l=!0,t++;continue}c=w,l||=E!==void 0&&w==="",t+=E===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&E!==void 0){t++;continue}if(FO.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?rd:kS);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=nz(u),f=n.some(Q),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 tz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!NO(e))return null;try{return Vt(t??e,e,n)}catch{return null}}function nz(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 IS(e){return TS(e).childStart}var rz="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",na="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function id(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function od(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function zS(e,t,n,r,o=!1,i){let a=(po(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",rz):null;return O(a,i)??NS(e,t,n,o,i)}function NS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>id(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Yn(e,t),c=iz(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",na),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",na),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&sz(t)?O(S("shell.dynamic-structure",na),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=ot(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",na),o):null}if(s==="xargs")return OS(e,t.slice(kn(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return OS(e,t.slice(IS(t.map(N))),"parallel",n,r,o);return null}function OS(e,t,n,r,o,i){if(t.length===0)return null;let s=oz(t,r);if(po(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?Yu:zo),i);if(c)return c}let a=NS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>id(c)&&od(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Ku:Oo),i);return null}function oz(e,t){let n=Sn(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 iz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(ut.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function sz(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=id(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||od(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||od(s)))return!0;continue}if(t=!0,a)return!0;let c=Jt(s.text);if(c>0){n=c;continue}if(Mt(s.text))o=!0,r=!0}return!1}function sd(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Zi(t[n.tokenIndex],n.value)})}var az="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",cz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",lz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function DS(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return S("dd.device-write",az);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return S("mkfs.device",cz);if(e==="shred"&&n.length>0)return S("shred.target",lz);return null}var LS=[{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:dt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>ur(e.words,ad(e))},{heads:new Set(["find"]),analyze:(e)=>Vs(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(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)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>aS(e.words,{...$S(e),analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>_S(e.words,{...$S(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})}];function $S(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 On(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function ad(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 GS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function ZS(e){return LS.find((t)=>t.heads.has(e))?.analyze}function Do(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=ms(e);if(l.envAssignments.size>0)r?.recordSegment({type:"env-strip",input:i(e),envVars:[...l.envAssignments.keys()],output:i(l.words)});let u=Sn(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=Dt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),St(Z);if(n.strict)return Le(r);let oe=fs(d,i(u.words));if(oe){Je(n.derivedCommandWorkBudget,oe.length);let le=n.analyzeNested(oe.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 Ie;let y=H(b),E=u.cwd===null?void 0:u.cwd??a,w=u.cwd===null?void 0:c,R=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!lo(h,n.environment),x=zS(o,u.words,n.environment,t===0,n.strict,n.policy);if(x)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:x.reason}),St(x);let v=js(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){MS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let oe=Do(Z,t,{...p,effectiveCwd:R,envAssignments:h});if(oe)return oe}return null}let T=y==="eval"?mr(f):y==="trap"?eS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Vu(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:R,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(US(b,y)){if(Ve(m))return null;let A=uz(m,h,R,n,r,t);if(A)return A;let Z=ht(m);if(Z){let Vn=Ys(f,Z);if(Vn.kind==="dynamic")return Le(r);let vl=Vn.kind==="literal"?Vn.source:Z,kh=dz(vl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:kh}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:kh,depth:t+1});let Ah=n.analyzeNested(vl,{effectiveCwd:R,envAssignments:h});if(Ah)return Ah;return fr(vl)?Le(r):null}let oe=bt(f);if(oe.kind==="dynamic")return Le(r);if(oe.kind==="literal")return ia(oe.source,R,h,n,r,t);let le=tS(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:R,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,oe=m[Z]==="--"?Z+1:Z,le=n.commandView?f[oe]:void 0;if(!le)return null;if(le.provenance==="literal")return ia(le.text,R,h,n,r,t);if(n.strict||!n.commandView||!Vu(n.commandView))return Le(r)}if($e.has(y)){if(n.strict&&sd(Eo(m),f))return Le(r);let A=Us(m,(oe)=>On(n.analyzeNested(oe,{effectiveCwd:R,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),St(Z)}if(Oe(y)){if(n.strict&&sd(is(m),f))return Le(r);let A=os(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 St(le)}if(as(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let oe=n.analyzeNested(A,{effectiveCwd:R,envAssignments:h});if(oe&&oe.ruleId!=="raw-text.dangerous-command"&&(oe.reason!==qt||ar(A)))return oe;if(nr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",vn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:vn}),St(le)}r=void 0}}if(y==="busybox"&&m.length>1)return MS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),Do(f.slice(1),t,{...p,effectiveCwd:R,envAssignments:h});let k=O(DS(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),St(k);let z=r===p.trace?p:{...p,trace:r},L={words:f,head:y,cwd:E,originalCwd:w,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:R,options:z,analyzeChildTokens:(A,Z)=>On(Do(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=ZS(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"?Bv(L.words,ad(L)):void 0,ge=WS(U?U.match:W?.(L)??null,n.policy);if(r)mz(L,ge,U?.relaxation??null);if(ge)return St(ge);let Ze=W!==void 0;if(!Ze)if(!ns.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let oe=m[Z];if(!oe)continue;A?.push(oe);let le=WS(fz(L,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(oe)}),St(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||!Ze){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 St(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function uz(e,t,n,r,o,i){let s=Kv(e);if(s.argvSource?.kind==="absent")return Le(o);if(s.argvSourceApplies&&s.argvSource){let c=ia(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 ia(a,n,t,r,o,i,!0)}function ia(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Le(o);let a=co(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Le(o):null;return Je(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function dz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function mz(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 MS(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function St(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Le(e){return e?.recordSegment({type:"error",message:GS}),St(BS())}function BS(){return{id:"",reason:GS,intent:"stop_and_explain"}}function US(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function fz(e,t,n){let r=rt(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=pz(e,n,o);if(i)return i}return null}function pz(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(US(r,o)){Je(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ve(c))return null;let l=ht(c);if(!l){if(bt(j(c)).kind==="dynamic")return BS();return oa(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?On(u):oa(e,n)}let i=ZS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Je(e.options.derivedCommandWorkBudget,e.words.length-t);return oa(e,n)}Je(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:!lo(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)??oa(e,n)}function oa(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function WS(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var gz=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,hz=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function yz(e,t){let n=VS(e,t);if(n.length===0)return!1;let r=n[HS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return gz.test(e.join(" "))}function jS(e,t,n,r){if(e.dialect==="powershell"){let a=bz(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return FS(xz(a.target),t,n.paths)}let o=e.words.map(N);if(!yz(o,n))return;if(!t)return null;let i=VS(o,n,t),s=HS(i);if(s===-1||i[s]!=="cd")return null;return FS(i[s+1],t,n.paths)}function FS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Cz(Vt(t,e,n),t,n)?t:null}catch{return null}}function bz(e,t){let n=vz(e[0])?1:0,r=e[n];if(!Sz(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!hz.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return _z(e.slice(n+1),t)}function vz(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function Sz(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function _z(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 xz(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function HS(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 VS(e,t,n){let r=wz(e);return or([...r],t,n)}function Cz(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return ra(e)===ra(t);return ra(r)===ra(o)}function wz(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var ld="TMPDIR",ud="IFS",qS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,KS=/^[A-Za-z_][A-Za-z0-9_]*$/,YS=new Set(["export","typeset","declare","readonly"]),Ez=new Set(["builtin","command","time"]);function JS(e,t){return{env:e,effectiveEnvAssignments:Tz(e,t),shellAssignments:new Map}}function XS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function dd(e,t){let n=e_(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),md(t,s)});let r=n.commandIndex;if(r!==-1&&YS.has(e[r]??""))e.filter((s)=>KS.test(s)&&cd(s)).forEach((s)=>{Iz(t,s)});let o=r===-1?-1:t_(e,r);if(o===-1||e[o]!=="unset")return;let i=zz(e,o);if(i===null)return;e.slice(i).forEach((s)=>{Oz(t,s)})}function QS(e,t){let n=e_(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 e_(e,t){let n=e.findIndex((s)=>!Rz(s)),r=n!==-1&&YS.has(e[t_(e,n)]??""),o=Az(t);return{assignments:e.flatMap((s,a)=>{let c=Pz(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Wl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function t_(e,t){let n=t;while(Ez.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function Rz(e){return je(e)!==null||qS.test(e)}function Pz(e,t,n){return je(e)??kz(e,t,n)}function kz(e,t,n){let r=ji(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 cd(e){return e===ld||e===ud||Fl(e)}function Az(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Tz(e,t){let n=[...Bi,ld,ud].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 md(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function Iz(e,t){md(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function Oz(e,t){if(!cd(t)&&!KS.test(t))return;if(e.shellAssignments.set(t,""),!cd(t)||t===ld||t===ud||to(t)){md(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 Nz="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",zn="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.",Dz=64;function yd(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return $z(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??es(),parallelBudget:n.parallelBudget??qy()},r)}catch(s){let a=s instanceof Ie&&o?Wy:s instanceof us&&i?Vy: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 $z(e,t,n,r){if(t>=ts)return n.trace?.recordSegment({type:"error",message:It}),{reason:It,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??et(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:It}),{reason:It,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 hd(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 a_(e,n),{reason:qt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return a_(e,n),{reason:qt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return hd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=JS(n.environment.env,n.envAssignments);return ca(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function ca(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=Lz(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??[]:[],E=m||gr(d);if(l.kind==="function"){let k=h.flatMap((L)=>{let W=$o(L);return W.functionDefinitions.set(l.name,l.body),fd(L,[W],f,d==="&",gr(d))}),z=pd(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=ca(l.body,t,n,r,[$o(W)]);if(U.result)return U;if(k.push(...fd(W,U.states,f,d==="&",gr(d))),E)z.push(W,...f?U.states.map((ge)=>sa(W,ge)):U.states)}let L=pd(k,z,b,y,a,d);i=L.states,s=L.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let w=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),R=e.nodes[c-2],P=la(a)&&R?.kind==="command"?Qv(R)??Wz(R):void 0,x=[],v=[];for(let k of h){let z=Fz(l,t,n,r,[$o(k)]);if(z.result)return{result:z.result,states:i};let L=e.dialect==="powershell"?z.states:z.states.map((W)=>sa(k,W));for(let W of L){let U=$o(W),ge=Bz(l,t,n.trace?{...n,trace:c_(n.trace,w)}:n,r,U,la(a),P);if(ge)return{result:ge,states:i};let Ze=nN(l,U.functionDefinitions);if(Ze)Je(n.derivedCommandWorkBudget,ua(Ze));let A=Ze?t+1>=ts?gd(l.displayText,n,[U]):ca(Ze,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(x.push(...fd(k,A.states,f,d==="&",gr(d))),E)v.push(k),v.push(...A.states.map((Z)=>f?sa(k,Z):Z))}}let T=pd(x,v,b,y,a,d);i=T.states,s=T.conditionalStates,a=void 0}return{result:null,states:i}}function Lz(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(la(r)||la(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Mz(e,t)}function fd(e,t,n,r,o){let i=n?t.map((a)=>sa(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 sa(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function Mz(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(Gz(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function la(e){return e==="|"||e==="|&"}function Wz(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 pd(e,t,n,r,o,i){let s={success:aa([...n,...e]),failure:aa([...r,...t])},a=gr(i)?s:void 0;return{states:gr(o)||a?aa([...s.success,...s.failure]):s.success,conditionalStates:a}}function c_(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 Fz(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=Zz(e);if(s){if(t+1>=ts)return gd(s,n,o);let a=et(s,"powershell");if(a.status==="limited")return gd(s,n,o);if(a.status!=="complete")return n_(i,n,r,o);Je(n.derivedCommandWorkBudget,ua(a)),i.push({program:a,depth:t+1})}}return n_(i,n,r,o)}function Gz(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function n_(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=ca(i.program,i.depth,t,n,[$o(a)]);if(c.result)return c;s.push(...c.states)}o=aa(s)}return{result:null,states:o}}function Zz(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 ua(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+ua(o),0):n.kind==="group"||n.kind==="function"?ua(n.body):0),0)}function gd(e,t,n){return t.trace?.recordSegment({type:"error",message:It}),{result:{reason:It,segment:e,intent:"stop_and_explain"},states:[...n]}}function Bz(e,t,n,r,o,i,s){let a=Yz(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};l_(e,o,"before-consumer",n.environment.paths);let c=Yn(e.dialect,e.words).map(N),l=e.displayText,u=QS(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(vv(e,i,oN(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 rN(l,m)}if(c.length===1&&c[0]?.includes(" ")&&!po(e.dialect,e.words)){let m=O(Dt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&$y(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=r_(e,a,o,u,s,n);if(h)return h;return dd(c,o.shellGitContextState),null}let d=Do(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=yd(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?c_(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=r_(e,a,o,u,s,n);if(f)return f;return dd(c,o.shellGitContextState),null}function r_(e,t,n,r,o,i){let s=Jz(e,t,n,r??new Map,i);if(s)return s;return l_(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),Hz(e,t,n,i.environment.paths),eN(e,n,o,i.environment,i.trace),null}var Uz=new Set([">>","<>"]);function l_(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?jz(i):Uz.has(i.operator)))continue;o_(i.target,t,r)}if(n!=="before-consumer"||!Me(e.words[0],"tee"))return;let o=u_(e.words.slice(1));if(!o)return;for(let i of o.operands)o_(i,t,r)}function jz(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 o_(e,t,n){let r=e?.provenance==="literal"?co(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function Hz(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o?.quotedDelimiter)return;for(let i of Vz(e)){let s=co(i.text,n.effectiveCwd,r);if(!s||!Zy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Gy)throw new Ie;n.literalHeredocFiles.set(s,o.body)}}function Vz(e){let t=Kz(e.redirections)?.target,n=i_(t)?[t]:[];if(Me(e.words[0],"cat"))return qz(e.words)?n:[];if(!Me(e.words[0],"tee"))return[];let r=u_(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(i_))return[];return[...r.operands,...n]}function qz(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 Kz(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function u_(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&Me(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 i_(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 Me(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function Yz(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return zn;let n=t[0];if(!n?.heredoc)return zn;if(!n.heredoc.quotedDelimiter)return Nz;if(n.fd!==void 0&&n.fd!==0)return zn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return zn;let r=e.redirections.some((s)=>s!==n&&s_(s.target));if(Me(e.words[0],"cat"))return r?zn:void 0;if(Me(e.words[0],"tee"))return r||e.words.slice(1).some(s_)?zn:void 0;let o=e.words[0],i=e.words[1];if(Me(o,"git")&&(Me(i,"apply")||Me(i,"commit")))return;if(Me(o,"gh")&&(Me(i,"pr")||Me(i,"issue"))&&Me(e.words[2],"create"))return;return zn}function s_(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function Jz(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(Qz(e,i,n,r,o))return null;let a=Xz(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=hd(s.length===i.length?s.join(`
60
- `):e.source,o);return c?{...c,segment:e.displayText}:null}function Xz(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc?.quotedDelimiter||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!Oe(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",vn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function Qz(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc?.quotedDelimiter||i.fd!==void 0&&i.fd!==0)return!1;let s=Sn(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 Ve(a)}function eN(e,t,n,r,o){let i=jS(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 $o(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:XS(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function aa(e){let t=[];for(let n of e){if(!t.some((r)=>tN(r,n)))t.push(n);if(t.length>Dz)throw new Ie}return t}function tN(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 nN(e,t){let n=ks(e);return n===void 0?void 0:t.get(n)}function rN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function oN(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 hd(e,t){let n=O(Dt(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 a_(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:qt};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"}},da=["standard","strict","paranoid"];function iN(e){return{failClosed:e==="strict"||e==="paranoid",paranoidRm:e==="paranoid",paranoidInterpreters:e==="paranoid"}}function sN(e,t){if(!t)return e;return da.indexOf(t)>da.indexOf(e)?t:e}function aN(){let e=xd(me.level);if(e===void 0||e==="")return;if(da.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${da.join(", ")}.`);return}function cN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function vd(){return cN(xd(me.auditScope))==="all"}function Sd(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 _d(e={}){let t=e.safety?.level??"standard",n=aN(),r=sN(t,n),o=iN(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(nn(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(nn(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(nn(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(nn(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||nn(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:Sd(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 nn(e){let t=typeof e==="string"?bd(e):xd(e);return t==="1"||t?.toLowerCase()==="true"}function bd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function xd(e){let t=bd(e.name);if(t!==void 0)return t;if(e.legacyName)return bd(e.legacyName);return}function d_(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:Cd(t.fail_closed,e.strict,"strict"),paranoid_rm:Cd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:Cd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:Ny(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:Sd({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function Cd(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 m_(e,t,n,r){let o=yd(e,0,{...t,...d_(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 k$,dirname as yh}from"node:path";function ma(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 OU,existsSync as g$,mkdirSync as zU,readFileSync as h$}from"node:fs";import{dirname as y$,join as b$}from"node:path";import{createRequire as n$}from"node:module";var ah={};dn(ah,{$brand:()=>pa,$input:()=>ja,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>_g,ZodArray:()=>Eg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Vc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Vg,ZodCodec:()=>al,ZodCustom:()=>bi,ZodCustomStringFormat:()=>jr,ZodDate:()=>fi,ZodDefault:()=>Gg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Jc,ZodEmail:()=>Lc,ZodEmoji:()=>Mc,ZodEnum:()=>Br,ZodError:()=>H_,ZodExactOptional:()=>Mg,ZodFile:()=>$g,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>nh,ZodGUID:()=>ci,ZodIPv4:()=>jc,ZodIPv6:()=>Hc,ZodISODate:()=>oi,ZodISODateTime:()=>ri,ZodISODuration:()=>si,ZodISOTime:()=>ii,ZodIntersection:()=>kg,ZodIssueCode:()=>aC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>Qg,ZodLiteral:()=>Dg,ZodMAC:()=>pg,ZodMap:()=>zg,ZodNaN:()=>Kg,ZodNanoID:()=>Wc,ZodNever:()=>Cg,ZodNonOptional:()=>il,ZodNull:()=>vg,ZodNullable:()=>Fg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>gi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Bg,ZodPromise:()=>th,ZodReadonly:()=>Yg,ZodRealError:()=>xe,ZodRecord:()=>yi,ZodSet:()=>Ng,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>Hg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>Xg,ZodTransform:()=>Lg,ZodTuple:()=>Tg,ZodType:()=>M,ZodULID:()=>Zc,ZodURL:()=>mi,ZodUUID:()=>Rt,ZodUndefined:()=>bg,ZodUnion:()=>hi,ZodUnknown:()=>xg,ZodVoid:()=>wg,ZodXID:()=>Bc,ZodXor:()=>Rg,_ZodString:()=>$c,_default:()=>Zg,_function:()=>Xx,any:()=>Tx,array:()=>pi,base64:()=>fx,base64url:()=>px,bigint:()=>Ex,boolean:()=>hg,catch:()=>qg,check:()=>Qx,cidrv4:()=>dx,cidrv6:()=>mx,clone:()=>he,codec:()=>Kx,coerce:()=>ll,config:()=>se,core:()=>Et,cuid:()=>rx,cuid2:()=>ox,custom:()=>eC,date:()=>Ox,decode:()=>Pc,decodeAsync:()=>Ac,default:()=>JD,describe:()=>tC,discriminatedUnion:()=>Mx,e164:()=>gx,email:()=>V_,emoji:()=>tx,encode:()=>Rc,encodeAsync:()=>kc,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Wg,file:()=>jx,flattenError:()=>vr,float32:()=>_x,float64:()=>xx,formatError:()=>Sr,fromJSONSchema:()=>sh,function:()=>Xx,getErrorMap:()=>lC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>_e,guid:()=>q_,hash:()=>Sx,hex:()=>vx,hostname:()=>bx,httpUrl:()=>ex,includes:()=>Ar,instanceof:()=>rC,int:()=>Dc,int32:()=>Cx,int64:()=>Rx,intersection:()=>Ag,ipv4:()=>cx,ipv6:()=>ux,iso:()=>ai,json:()=>iC,jwt:()=>hx,keyof:()=>zx,ksuid:()=>ax,lazy:()=>eh,length:()=>Fn,literal:()=>Ux,locales:()=>Xo,looseObject:()=>$x,looseRecord:()=>Fx,lowercase:()=>Pr,lt:()=>xt,lte:()=>Ge,mac:()=>lx,map:()=>Gx,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>nC,mime:()=>Or,minLength:()=>Ft,minSize:()=>wt,multipleOf:()=>cn,nan:()=>qx,nanoid:()=>nx,nativeEnum:()=>Bx,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>jg,nonpositive:()=>gc,normalize:()=>zr,null:()=>Sg,nullable:()=>ui,nullish:()=>Hx,number:()=>gg,object:()=>Nx,optional:()=>li,overwrite:()=>st,parse:()=>xc,parseAsync:()=>Cc,partialRecord:()=>Wx,pipe:()=>di,positive:()=>fc,prefault:()=>Ug,preprocess:()=>sC,prettifyError:()=>Sa,promise:()=>Jx,property:()=>yc,readonly:()=>Jg,record:()=>Og,refine:()=>rh,regex:()=>Rr,regexes:()=>Fe,registry:()=>Qo,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>wc,safeParseAsync:()=>Ec,set:()=>Zx,setErrorMap:()=>cC,size:()=>Mn,slugify:()=>Lr,startsWith:()=>Tr,strictObject:()=>Dx,string:()=>Nc,stringFormat:()=>yx,stringbool:()=>oC,success:()=>Vx,superRefine:()=>oh,symbol:()=>kx,templateLiteral:()=>Yx,toJSONSchema:()=>ni,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Ig,uint32:()=>wx,uint64:()=>Px,ulid:()=>ix,undefined:()=>Ax,union:()=>tl,unknown:()=>Gn,uppercase:()=>kr,url:()=>Q_,util:()=>I,uuid:()=>K_,uuidv4:()=>Y_,uuidv6:()=>J_,uuidv7:()=>X_,void:()=>Ix,xid:()=>sx,xor:()=>Lx,z:()=>ul});var ul={};dn(ul,{$brand:()=>pa,$input:()=>ja,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>_g,ZodArray:()=>Eg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Vc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Vg,ZodCodec:()=>al,ZodCustom:()=>bi,ZodCustomStringFormat:()=>jr,ZodDate:()=>fi,ZodDefault:()=>Gg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Jc,ZodEmail:()=>Lc,ZodEmoji:()=>Mc,ZodEnum:()=>Br,ZodError:()=>H_,ZodExactOptional:()=>Mg,ZodFile:()=>$g,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>nh,ZodGUID:()=>ci,ZodIPv4:()=>jc,ZodIPv6:()=>Hc,ZodISODate:()=>oi,ZodISODateTime:()=>ri,ZodISODuration:()=>si,ZodISOTime:()=>ii,ZodIntersection:()=>kg,ZodIssueCode:()=>aC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>Qg,ZodLiteral:()=>Dg,ZodMAC:()=>pg,ZodMap:()=>zg,ZodNaN:()=>Kg,ZodNanoID:()=>Wc,ZodNever:()=>Cg,ZodNonOptional:()=>il,ZodNull:()=>vg,ZodNullable:()=>Fg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>gi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Bg,ZodPromise:()=>th,ZodReadonly:()=>Yg,ZodRealError:()=>xe,ZodRecord:()=>yi,ZodSet:()=>Ng,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>Hg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>Xg,ZodTransform:()=>Lg,ZodTuple:()=>Tg,ZodType:()=>M,ZodULID:()=>Zc,ZodURL:()=>mi,ZodUUID:()=>Rt,ZodUndefined:()=>bg,ZodUnion:()=>hi,ZodUnknown:()=>xg,ZodVoid:()=>wg,ZodXID:()=>Bc,ZodXor:()=>Rg,_ZodString:()=>$c,_default:()=>Zg,_function:()=>Xx,any:()=>Tx,array:()=>pi,base64:()=>fx,base64url:()=>px,bigint:()=>Ex,boolean:()=>hg,catch:()=>qg,check:()=>Qx,cidrv4:()=>dx,cidrv6:()=>mx,clone:()=>he,codec:()=>Kx,coerce:()=>ll,config:()=>se,core:()=>Et,cuid:()=>rx,cuid2:()=>ox,custom:()=>eC,date:()=>Ox,decode:()=>Pc,decodeAsync:()=>Ac,describe:()=>tC,discriminatedUnion:()=>Mx,e164:()=>gx,email:()=>V_,emoji:()=>tx,encode:()=>Rc,encodeAsync:()=>kc,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Wg,file:()=>jx,flattenError:()=>vr,float32:()=>_x,float64:()=>xx,formatError:()=>Sr,fromJSONSchema:()=>sh,function:()=>Xx,getErrorMap:()=>lC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>_e,guid:()=>q_,hash:()=>Sx,hex:()=>vx,hostname:()=>bx,httpUrl:()=>ex,includes:()=>Ar,instanceof:()=>rC,int:()=>Dc,int32:()=>Cx,int64:()=>Rx,intersection:()=>Ag,ipv4:()=>cx,ipv6:()=>ux,iso:()=>ai,json:()=>iC,jwt:()=>hx,keyof:()=>zx,ksuid:()=>ax,lazy:()=>eh,length:()=>Fn,literal:()=>Ux,locales:()=>Xo,looseObject:()=>$x,looseRecord:()=>Fx,lowercase:()=>Pr,lt:()=>xt,lte:()=>Ge,mac:()=>lx,map:()=>Gx,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>nC,mime:()=>Or,minLength:()=>Ft,minSize:()=>wt,multipleOf:()=>cn,nan:()=>qx,nanoid:()=>nx,nativeEnum:()=>Bx,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>jg,nonpositive:()=>gc,normalize:()=>zr,null:()=>Sg,nullable:()=>ui,nullish:()=>Hx,number:()=>gg,object:()=>Nx,optional:()=>li,overwrite:()=>st,parse:()=>xc,parseAsync:()=>Cc,partialRecord:()=>Wx,pipe:()=>di,positive:()=>fc,prefault:()=>Ug,preprocess:()=>sC,prettifyError:()=>Sa,promise:()=>Jx,property:()=>yc,readonly:()=>Jg,record:()=>Og,refine:()=>rh,regex:()=>Rr,regexes:()=>Fe,registry:()=>Qo,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>wc,safeParseAsync:()=>Ec,set:()=>Zx,setErrorMap:()=>cC,size:()=>Mn,slugify:()=>Lr,startsWith:()=>Tr,strictObject:()=>Dx,string:()=>Nc,stringFormat:()=>yx,stringbool:()=>oC,success:()=>Vx,superRefine:()=>oh,symbol:()=>kx,templateLiteral:()=>Yx,toJSONSchema:()=>ni,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Ig,uint32:()=>wx,uint64:()=>Px,ulid:()=>ix,undefined:()=>Ax,union:()=>tl,unknown:()=>Gn,uppercase:()=>kr,url:()=>Q_,util:()=>I,uuid:()=>K_,uuidv4:()=>Y_,uuidv6:()=>J_,uuidv7:()=>X_,void:()=>Ix,xid:()=>sx,xor:()=>Lx});var Et={};dn(Et,{$ZodAny:()=>cf,$ZodArray:()=>ff,$ZodAsyncError:()=>_t,$ZodBase64:()=>Jm,$ZodBase64URL:()=>Xm,$ZodBigInt:()=>Ga,$ZodBigIntFormat:()=>rf,$ZodBoolean:()=>Ko,$ZodCIDRv4:()=>qm,$ZodCIDRv6:()=>Km,$ZodCUID:()=>$m,$ZodCUID2:()=>Lm,$ZodCatch:()=>If,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>mm,$ZodCheckEndsWith:()=>wm,$ZodCheckGreaterThan:()=>za,$ZodCheckIncludes:()=>xm,$ZodCheckLengthEquals:()=>bm,$ZodCheckLessThan:()=>Oa,$ZodCheckLowerCase:()=>Sm,$ZodCheckMaxLength:()=>hm,$ZodCheckMaxSize:()=>fm,$ZodCheckMimeType:()=>Rm,$ZodCheckMinLength:()=>ym,$ZodCheckMinSize:()=>pm,$ZodCheckMultipleOf:()=>um,$ZodCheckNumberFormat:()=>dm,$ZodCheckOverwrite:()=>Pm,$ZodCheckProperty:()=>Em,$ZodCheckRegex:()=>vm,$ZodCheckSizeEquals:()=>gm,$ZodCheckStartsWith:()=>Cm,$ZodCheckStringFormat:()=>Er,$ZodCheckUpperCase:()=>_m,$ZodCodec:()=>Jo,$ZodCustom:()=>Wf,$ZodCustomStringFormat:()=>tf,$ZodDate:()=>mf,$ZodDefault:()=>Pf,$ZodDiscriminatedUnion:()=>hf,$ZodE164:()=>Qm,$ZodEmail:()=>Om,$ZodEmoji:()=>Nm,$ZodEncodeError:()=>Nn,$ZodEnum:()=>_f,$ZodError:()=>jo,$ZodExactOptional:()=>Ef,$ZodFile:()=>Cf,$ZodFunction:()=>$f,$ZodGUID:()=>Tm,$ZodIPv4:()=>jm,$ZodIPv6:()=>Hm,$ZodISODate:()=>Zm,$ZodISODateTime:()=>Gm,$ZodISODuration:()=>Um,$ZodISOTime:()=>Bm,$ZodIntersection:()=>yf,$ZodJWT:()=>ef,$ZodKSUID:()=>Fm,$ZodLazy:()=>Mf,$ZodLiteral:()=>xf,$ZodMAC:()=>Vm,$ZodMap:()=>vf,$ZodNaN:()=>Of,$ZodNanoID:()=>Dm,$ZodNever:()=>uf,$ZodNonOptional:()=>Af,$ZodNull:()=>af,$ZodNullable:()=>Rf,$ZodNumber:()=>Fa,$ZodNumberFormat:()=>nf,$ZodObject:()=>F_,$ZodObjectJIT:()=>pf,$ZodOptional:()=>Ba,$ZodPipe:()=>zf,$ZodPrefault:()=>kf,$ZodPromise:()=>Lf,$ZodReadonly:()=>Nf,$ZodRealError:()=>ke,$ZodRecord:()=>bf,$ZodRegistry:()=>Ff,$ZodSet:()=>Sf,$ZodString:()=>Ln,$ZodStringFormat:()=>q,$ZodSuccess:()=>Tf,$ZodSymbol:()=>of,$ZodTemplateLiteral:()=>Df,$ZodTransform:()=>wf,$ZodTuple:()=>Za,$ZodType:()=>D,$ZodULID:()=>Mm,$ZodURL:()=>zm,$ZodUUID:()=>Im,$ZodUndefined:()=>sf,$ZodUnion:()=>Yo,$ZodUnknown:()=>lf,$ZodVoid:()=>df,$ZodXID:()=>Wm,$ZodXor:()=>gf,$brand:()=>pa,$constructor:()=>g,$input:()=>ja,$output:()=>Ua,Doc:()=>Na,JSONSchema:()=>B_,JSONSchemaGenerator:()=>lg,NEVER:()=>fa,TimePrecision:()=>mc,_any:()=>up,_array:()=>yp,_base64:()=>cc,_base64url:()=>lc,_bigint:()=>rp,_boolean:()=>tp,_catch:()=>DD,_check:()=>Z_,_cidrv4:()=>sc,_cidrv6:()=>ac,_coercedBigint:()=>op,_coercedBoolean:()=>np,_coercedDate:()=>gp,_coercedNumber:()=>Kf,_coercedString:()=>Zf,_cuid:()=>Qa,_cuid2:()=>ec,_custom:()=>vp,_date:()=>pp,_decode:()=>wa,_decodeAsync:()=>Ra,_default:()=>OD,_discriminatedUnion:()=>SD,_e164:()=>uc,_email:()=>Ha,_emoji:()=>Ja,_encode:()=>Ca,_encodeAsync:()=>Ea,_endsWith:()=>Ir,_enum:()=>RD,_file:()=>bp,_float32:()=>Jf,_float64:()=>Xf,_gt:()=>Ct,_gte:()=>_e,_guid:()=>ei,_includes:()=>Ar,_int:()=>Yf,_int32:()=>Qf,_int64:()=>ip,_intersection:()=>_D,_ipv4:()=>oc,_ipv6:()=>ic,_isoDate:()=>jf,_isoDateTime:()=>Uf,_isoDuration:()=>Vf,_isoTime:()=>Hf,_jwt:()=>dc,_ksuid:()=>rc,_lazy:()=>WD,_length:()=>Fn,_literal:()=>kD,_lowercase:()=>Pr,_lt:()=>xt,_lte:()=>Ge,_mac:()=>Bf,_map:()=>wD,_max:()=>Ge,_maxLength:()=>Wn,_maxSize:()=>ln,_mime:()=>Or,_min:()=>_e,_minLength:()=>Ft,_minSize:()=>wt,_multipleOf:()=>cn,_nan:()=>hp,_nanoid:()=>Xa,_nativeEnum:()=>PD,_negative:()=>pc,_never:()=>mp,_nonnegative:()=>hc,_nonoptional:()=>zD,_nonpositive:()=>gc,_normalize:()=>zr,_null:()=>lp,_nullable:()=>ID,_number:()=>qf,_optional:()=>TD,_overwrite:()=>st,_parse:()=>_r,_parseAsync:()=>xr,_pipe:()=>$D,_positive:()=>fc,_promise:()=>FD,_property:()=>yc,_readonly:()=>LD,_record:()=>CD,_refine:()=>Sp,_regex:()=>Rr,_safeDecode:()=>ka,_safeDecodeAsync:()=>Ta,_safeEncode:()=>Pa,_safeEncodeAsync:()=>Aa,_safeParse:()=>Cr,_safeParseAsync:()=>wr,_set:()=>ED,_size:()=>Mn,_slugify:()=>Lr,_startsWith:()=>Tr,_string:()=>Gf,_stringFormat:()=>Mr,_stringbool:()=>wp,_success:()=>ND,_superRefine:()=>_p,_symbol:()=>ap,_templateLiteral:()=>MD,_toLowerCase:()=>Dr,_toUpperCase:()=>$r,_transform:()=>AD,_trim:()=>Nr,_tuple:()=>xD,_uint32:()=>ep,_uint64:()=>sp,_ulid:()=>tc,_undefined:()=>cp,_union:()=>bD,_unknown:()=>dp,_uppercase:()=>kr,_url:()=>ti,_uuid:()=>Va,_uuidv4:()=>qa,_uuidv6:()=>Ka,_uuidv7:()=>Ya,_void:()=>fp,_xid:()=>nc,_xor:()=>vD,clone:()=>he,config:()=>se,createStandardJSONSchemaMethod:()=>bc,createToJSONSchemaMethod:()=>Ep,decode:()=>$N,decodeAsync:()=>MN,describe:()=>xp,encode:()=>DN,encodeAsync:()=>LN,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>Sr,globalConfig:()=>Mo,globalRegistry:()=>Ae,initializeContext:()=>Fr,isValidBase64:()=>Ym,isValidBase64URL:()=>$_,isValidJWT:()=>L_,locales:()=>Xo,meta:()=>Cp,parse:()=>_a,parseAsync:()=>xa,prettifyError:()=>Sa,process:()=>X,regexes:()=>Fe,registry:()=>Qo,safeDecode:()=>FN,safeDecodeAsync:()=>ZN,safeEncode:()=>WN,safeEncodeAsync:()=>GN,safeParse:()=>Nd,safeParseAsync:()=>Dd,toDotPath:()=>b_,toJSONSchema:()=>ni,treeifyError:()=>va,util:()=>I,version:()=>km});var fa=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 pa=Symbol("zod_brand");class _t extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Nn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Mo={};function se(e){if(e)Object.assign(Mo,e);return Mo}var I={};dn(I,{BIGINT_FORMAT_RANGES:()=>Od,Class:()=>h_,NUMBER_FORMAT_RANGES:()=>Id,aborted:()=>an,allowsEval:()=>Pd,assert:()=>fN,assertEqual:()=>lN,assertIs:()=>dN,assertNever:()=>mN,assertNotEqual:()=>uN,assignProp:()=>on,base64ToUint8Array:()=>p_,base64urlToUint8Array:()=>TN,cached:()=>yr,captureStackTrace:()=>ya,cleanEnum:()=>AN,cleanRegex:()=>Go,clone:()=>he,cloneDef:()=>gN,createTransparentProxy:()=>_N,defineLazy:()=>F,esc:()=>ha,escapeRegex:()=>Ke,extend:()=>wN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>Ed,getElementAtPath:()=>hN,getEnumValues:()=>Fo,getLengthableOrigin:()=>Uo,getParsedType:()=>SN,getSizableOrigin:()=>Bo,hexToUint8Array:()=>ON,isObject:()=>Dn,isPlainObject:()=>sn,issue:()=>br,joinValues:()=>ga,jsonStringifyReplacer:()=>hr,merge:()=>RN,mergeDefs:()=>Wt,normalizeParams:()=>_,nullish:()=>rn,numKeys:()=>vN,objectClone:()=>pN,omit:()=>CN,optionalKeys:()=>Td,parsedType:()=>zd,partial:()=>PN,pick:()=>xN,prefixIssues:()=>We,primitiveTypes:()=>Ad,promiseAllObject:()=>yN,propertyKeyTypes:()=>Zo,randomString:()=>bN,required:()=>kN,safeExtend:()=>EN,shallowClone:()=>kd,slugify:()=>Rd,stringifyPrimitive:()=>ba,uint8ArrayToBase64:()=>g_,uint8ArrayToBase64url:()=>IN,uint8ArrayToHex:()=>zN,unwrapMessage:()=>Wo});function lN(e){return e}function uN(e){return e}function dN(e){}function mN(e){throw Error("Unexpected value in exhaustive check")}function fN(e){}function Fo(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 ga(e,t="|"){return e.map((n)=>ba(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 rn(e){return e===null||e===void 0}function Go(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Ed(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 f_=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===f_)return;if(r===void 0)r=f_,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function pN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function on(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Wt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function gN(e){return Wt(e._zod.def)}function hN(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function yN(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 bN(e=10){let n="";for(let r=0;r<e;r++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function ha(e){return JSON.stringify(e)}function Rd(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ya="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Dn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Pd=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function sn(e){if(Dn(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(Dn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function kd(e){if(sn(e))return{...e};if(Array.isArray(e))return[...e];return e}function vN(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var SN=(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}`)}},Zo=new Set(["string","number","symbol"]),Ad=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ke(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 _(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 _N(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 ba(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Td(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Id={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]},Od={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function xN(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=Wt(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 on(this,"shape",s),s},checks:[]});return he(e,i)}function CN(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=Wt(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 on(this,"shape",s),s},checks:[]});return he(e,i)}function wN(e,t){if(!sn(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=Wt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return on(this,"shape",i),i}});return he(e,o)}function EN(e,t){if(!sn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return on(this,"shape",r),r}});return he(e,n)}function RN(e,t){let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return on(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,n)}function PN(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=Wt(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 on(this,"shape",c),c},checks:[]});return he(t,s)}function kN(e,t,n){let r=Wt(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 on(this,"shape",i),i}});return he(t,r)}function an(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 We(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Wo(e){return typeof e==="string"?e:e?.message}function Pe(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Wo(e.inst?._zod.def?.error?.(e))??Wo(t?.error?.(e))??Wo(n.customError?.(e))??Wo(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Bo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Uo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function zd(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 AN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function p_(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 g_(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function TN(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return p_(t+n)}function IN(e){return g_(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ON(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 h_{constructor(...e){}}var y_=(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})},jo=g("$ZodError",y_),ke=g("$ZodError",y_,{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 va(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 b_(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 Sa(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`✖ ${r.message}`),r.path?.length)t.push(` → at ${b_(r.path)}`);return t.join(`
61
- `)}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 ya(a,o?.callee),a}return s.value},_a=_r(ke),xr=(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 ya(a,o?.callee),a}return s.value},xa=xr(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??jo)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Nd=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}},Dd=wr(ke),Ca=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _r(e)(t,n,o)},DN=Ca(ke),wa=(e)=>(t,n,r)=>_r(e)(t,n,r),$N=wa(ke),Ea=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},LN=Ea(ke),Ra=(e)=>async(t,n,r)=>xr(e)(t,n,r),MN=Ra(ke),Pa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},WN=Pa(ke),ka=(e)=>(t,n,r)=>Cr(e)(t,n,r),FN=ka(ke),Aa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},GN=Aa(ke),Ta=(e)=>async(t,n,r)=>wr(e)(t,n,r),ZN=Ta(ke);var Fe={};dn(Fe,{base64:()=>Jd,base64url:()=>Ia,bigint:()=>rm,boolean:()=>im,browserEmail:()=>YN,cidrv4:()=>Kd,cidrv6:()=>Yd,cuid:()=>$d,cuid2:()=>Ld,date:()=>Qd,datetime:()=>tm,domain:()=>QN,duration:()=>Zd,e164:()=>Xd,email:()=>Ud,emoji:()=>jd,extendedDuration:()=>BN,guid:()=>Bd,hex:()=>eD,hostname:()=>XN,html5Email:()=>VN,idnEmail:()=>KN,integer:()=>om,ipv4:()=>Hd,ipv6:()=>Vd,ksuid:()=>Fd,lowercase:()=>cm,mac:()=>qd,md5_base64:()=>nD,md5_base64url:()=>rD,md5_hex:()=>tD,nanoid:()=>Gd,null:()=>sm,number:()=>Ho,rfc5322Email:()=>qN,sha1_base64:()=>iD,sha1_base64url:()=>sD,sha1_hex:()=>oD,sha256_base64:()=>cD,sha256_base64url:()=>lD,sha256_hex:()=>aD,sha384_base64:()=>dD,sha384_base64url:()=>mD,sha384_hex:()=>uD,sha512_base64:()=>pD,sha512_base64url:()=>gD,sha512_hex:()=>fD,string:()=>nm,time:()=>em,ulid:()=>Md,undefined:()=>am,unicodeEmail:()=>v_,uppercase:()=>lm,uuid:()=>$n,uuid4:()=>UN,uuid6:()=>jN,uuid7:()=>HN,xid:()=>Wd});var $d=/^[cC][^\s-]{8,}$/,Ld=/^[0-9a-z]+$/,Md=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Wd=/^[0-9a-vA-V]{20}$/,Fd=/^[A-Za-z0-9]{27}$/,Gd=/^[a-zA-Z0-9_-]{21}$/,Zd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,BN=/^[-+]?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)?)??$/,Bd=/^([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})$/,$n=(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})$`)},UN=$n(4),jN=$n(6),HN=$n(7),Ud=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,VN=/^[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])?)*$/,qN=/^(([^<>()\[\]\\.,;:\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,}))$/,v_=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,KN=v_,YN=/^[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])?)*$/,JN="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function jd(){return new RegExp(JN,"u")}var Hd=/^(?:(?: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])$/,Vd=/^(([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=Ke(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Kd=/^((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])$/,Yd=/^(([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])$/,Jd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ia=/^[A-Za-z0-9_-]*$/,XN=/^(?=.{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])?)*\.?$/,QN=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Xd=/^\+[1-9]\d{6,14}$/,S_="(?:(?:\\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])))",Qd=new RegExp(`^${S_}$`);function __(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 em(e){return new RegExp(`^${__(e)}$`)}function tm(e){let t=__({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(`^${S_}T(?:${r})$`)}var nm=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},rm=/^-?\d+n?$/,om=/^-?\d+$/,Ho=/^-?\d+(?:\.\d+)?$/,im=/^(?:true|false)$/i,sm=/^null$/i;var am=/^undefined$/i;var cm=/^[^A-Z]*$/,lm=/^[^a-z]*$/,eD=/^[0-9a-fA-F]*$/;function Vo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function qo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var tD=/^[0-9a-fA-F]{32}$/,nD=Vo(22,"=="),rD=qo(22),oD=/^[0-9a-fA-F]{40}$/,iD=Vo(27,"="),sD=qo(27),aD=/^[0-9a-fA-F]{64}$/,cD=Vo(43,"="),lD=qo(43),uD=/^[0-9a-fA-F]{96}$/,dD=Vo(64,""),mD=qo(64),fD=/^[0-9a-fA-F]{128}$/,pD=Vo(86,"=="),gD=qo(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),C_={number:"number",bigint:"bigint",object:"date"},Oa=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=C_[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})}}),za=g("$ZodCheckGreaterThan",(e,t)=>{J.init(e,t);let n=C_[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})}}),um=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):Ed(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})}}),dm=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]=Id[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=om}),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})}}),mm=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=Od[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})}}),fm=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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:Bo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),pm=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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:Bo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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:Bo(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})}}),hm=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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=Uo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckMinLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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=Uo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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=Uo(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=()=>{})}),vm=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})}}),Sm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=cm),Er.init(e,t)}),_m=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=lm),Er.init(e,t)}),xm=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=Ke(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})}}),Cm=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${Ke(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})}}),wm=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${Ke(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 x_(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues))}var Em=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)=>x_(o,n,t.property));x_(r,n,t.property);return}}),Rm=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})}}),Pm=g("$ZodCheckOverwrite",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class Na{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(`
59
+ `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Js(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function Ao(e){return e?N(e):""}function mO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function qu(e,t){return Vu(et(e,"posix"),t)}function fr(e){return qu(e,new Set(Array.from(e.matchAll(Qv)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Vu(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(Vu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Vu(o,n))||rS(r.words,n))return!0;yO(r,n)}return!1}function rS(e,t){let n=e.findIndex((s)=>je(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(To(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return Xv(e[s],t)}if(de.has(o)){let s=e.slice(n),a=yt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&Xv(s[c],t)}let i=fO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return rS(e.slice(i),t)}function fO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return pO(e,t+1);if(r==="exec")return gO(e,t+1);if(r==="env")return hO(e,t+1,n);return null}function pO(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 gO(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 hO(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 To(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return To(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(je(i))continue;return r}return null}function yO(e,t){if(!e.words.every((n)=>je(n.text)!==null))return;for(let n of e.words){let r=je(n.text);if(!r)continue;if(To(n,t))t.add(r.name)}}function To(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(Qv)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(rO.test(o)||t.has(o))}))}function Xv(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||To(e,t))}var bO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),vO=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),SO=new Set;function oS(e){if(e==="git")return bO;if(e==="docker")return vO;return SO}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(!_O(n,o.command))continue;if(!xO(n,e,o.subcommand))continue;if(wO(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 _O(e,t){return e===H(t)}function xO(e,t,n){if(!n)return!0;return iS(t,1,n,oS(e))}function iS(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("=")&&CO(e,i,n,r))return!0;continue}return s===n}return!1}function CO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return iS(e,t+2,n,r)}function wO(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 en(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 vt(n,t)}if(de.has(o)){if(Ve(e))return null;let i=ht(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=bt(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($e.has(o))return O(Us(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??vt(n,t);if(Oe(o)){let i=os(e);if(!i)return vt(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(as(o,i))return vt(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==Kt||ar(i)))return s;if(nr(i,t.scanWork))return O(S("interpreter.dangerous-command",vn),t.policy)??vt(n,t);return vt(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(it(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:mt(t.envAssignments,t.environment),trustedTmpdirValue:$t(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?vt(n,t):null)??(i?EO(n,t):null)}if(o==="find")return Vs(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>en(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??vt(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??[])??vt(n,t);return pe(e,t.policy?.rules??[])??vt(n,t)}function pr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function vt(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function EO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var Yu="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Ju="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",RO="__CC_SAFETY_NET_XARGS_INPUT__",Xs="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",Qs="rm",PO=/(?:^|[;&|]\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,kO=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,AO=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,TO=/^(?:[0-9]+|[@*])$/;function cS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=kn(n),i=n.slice(r),s=S("xargs.shell-dynamic",Ju);if(OO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of ot(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=mS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&uS(c,o),f=en(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||lS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",Yu)});if(f)return f;let m=IO(c,o,t.policy?.rules??[]);if(m)return m;if(a.head==="git"){let h=o===null?[...c,RO]:c,b=o!==null&&(c.some((E)=>E.includes(o))||Array.from(a.envAssignments.values()).some((E)=>E.includes(o))),y=en(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 IO(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)=>Xu(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 Xu(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 lS(e,t,n,r,o,i,s){if(de.has(t)){if(Ve(e))return!1;if(n!==null&&zO(e,n))return!0;let a=ht(e);if(!a){let c=bt(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(Dt(a,i))return!0;return NO(a,n,r)}if(Oe(t))return sS(e,n,ss,Vy(t));if($e.has(t))return sS(e,n,Iu,xv);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 DO(e,n,i,s);if(t==="git"){let a=st(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&lr.has(a.subcommand.toLowerCase())&&dS(a.rest,n).some((c)=>c.includes(n))}return!1}function sS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,Xs]).sources.some((c)=>c.value===Xs);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}${Xs}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${Xs}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>Xu(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 OO(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(ot(e,n),(i)=>i.head)),o=t===null?[...e,Qs]:e.map((i,s)=>s===0?i:i.replaceAll(t,Qs));return Array.from(ot(o,n)).some((i)=>i.head===Qs&&!r.has(Qs))}function uS(e,t){return dS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function dS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function mS(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 zO(e,t){let n=yt(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 Xu(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=yt(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 NO(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(PO))if(aS(o,r))return!0;for(let o of e.matchAll(kO))for(let i of(o[1]??"").matchAll(AO))if(aS(i,r))return!0;return qu(e,r)}function aS(e,t){let n=e[1]??e[2];return n!==void 0&&(TO.test(n)||t.has(n))}function DO(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(Mt(a)){let l=Ro(e,s);s=l.nextIndex-1;for(let u of ot(l.tokens,{environment:r,cwd:void 0})){let d=mS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&uS(u.tokens,t)||lS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Jt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function kn(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 Oo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",zo="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",LO="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",MO="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",WO=/\{[^{}\s]*\}/,SS=/\{\}|\{-?\d+\}/g,FO=["e","f","source","file","-e","-f","--source","--file"],GO=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],ZO=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),BO=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),fS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),UO=new Set(["--workdir","--wd"]),pS="__CC_SAFETY_NET_PARALLEL_SOURCE__",jO=new TextEncoder,ed=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Re(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function _S(e,t){return Re([...e],(n)=>Dt(n,t.scanWork))}function xS(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=Tn(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=IS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=Tn(t);if(p)return p;let h=_S(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=QO(t);if(p)return p}if(u!==void 0&&a){let p=Tn(t);if(p)return p}let f=rz(u,t.cwd,t.environment.paths);if(f===null){let p=Tn(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([...ot(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(od)){let h=Tn(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=Tn(t);if(b)return b}let p=s.map((b)=>b[0]??"");ze(t.budget,td(p));let h=PS(m.envAssignments,m.cwd,a);return Re(p,(b)=>t.analyzeNested(b,h))}return Re(ot(i,m),(p)=>HO(p,o,t,m))}function HO(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(AS)){let y=Tn(n);if(y)return y}let d=_S(u,n);if(d)return d;let f=u.some(Q),m=i||f,p=a&&m,h=PS(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return ze(n.budget,ea(c,o,"generic")),Re(o,(R)=>en(c.map((P)=>tn(P,R)),l))};if(Ve(c))return y();let E=ht(c);if(E){if(TS(E)){let v=An(n);if(v)return v;if(o.length===0)return null;return ze(n.budget,vS(E,o)),Re(o,(T)=>n.analyzeNested(tn(E,T),h))}if(Q(E)){if(o.length>0)return ze(n.budget,vS(E,o)),Re(o,(k)=>n.analyzeNested(tn(E,k),h));ze(n.budget,yS(E));let v=Po(E);if(v?.[0]&&H(v[0])==="rm"&&it(v)){let k=hS(n);if(k)return k}let T=v?en(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",zo),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",Oo)}):null;if(T)return T;return n.analyzeNested(E,h)}let R=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Ys(j(v===void 0?c:i?c.map((T)=>tn(T,v)):[...c,...v]),E)):[];if(R.some((v)=>v.kind==="dynamic")){let v=An(n);if(v)return v}let P=R.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return ze(n.budget,td(P)),Re(P,(v)=>n.analyzeNested(v,h));if(ze(n.budget,yS(E)),fr(E)){let v=An(n);if(v)return v}let x=n.analyzeNested(E,h);if(x)return x;if(m)return An(n);return null}let w=bt(j(c));if(w.kind==="dynamic"||w.kind==="literal"&&Q(w.source))return An(n)??y();if(w.kind==="literal")return y();if(o.length>0){let R=An(n);if(R)return R;let P=y();if(P)return P;if(i)return null;let x=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return ze(n.budget,td(x)),Re(x,(v)=>n.analyzeNested(v,h))}if(m||a)return An(n)??y();return null}if(e.head==="rm"&&it(c)){if(i&&o.length>0)return ze(n.budget,ea(c,o,"rm")),Re(o,(E)=>Qu(c.map((w)=>nd(w,E)),e.cwd,r));if(o.length>0)return ze(n.budget,bS(c,o)),Re(o,(E)=>Qu([...c,...E],e.cwd,r));let y=Qu(c.flatMap((E,w)=>{if(w===0||!Q(E))return[E];return E.startsWith("-")?[nd(E,[""])]:[]}),e.cwd,r);if(y)return y;return hS(n)}ze(n.budget,i&&o.length>0?ea(c,o,"generic"):o.length>0?bS(c,o):RS(c));let b=o.length>0?o:[void 0];return Re(b,(y)=>{let E=y===void 0?c:i?c.map((z)=>tn(z,y)):[...c,...y],w=S("parallel.shell-dynamic",zo),R=a&&e.head==="find"?XO(E,r):null,P=wS(E,a,n.policy?.rules??[],n.budget)??R?.customResult??null,x=H(e.head),v=a&&(x==="rm"&&rd(E)||x==="xargs"&&ES(E)||R?.rmOptions===!0),T=a&&(v||R?.executedSource===!0||R===null&&CS(E,x)),k=en(E,{...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",Oo)});if(T){let z=O(w,n.policy);if(z)return z}return k??P??pe(E,n.policy?.rules??[])})}function CS(e,t){if(Q(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return qO(e);if(t==="git")return VO(e);if(t==="find")return!0;if($e.has(t))return gS(e,FO,Eo);if(Oe(t))return gS(e,GO,is);return!1}function rd(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(Q))return t===-1;return n.some((o)=>Q(o)&&(o.startsWith("-")||TS(o)))}function VO(e){if(KO(e))return!0;let t=st(e);if(t.subcommand===null||Q(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(Q))return n===-1;return r.some(Q)}function KO(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(Q(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(Q(n))return!0;continue}if(Q(n))return!0}return!1}function qO(e){if(Ve(e))return!1;let t=ht(e);if(t!==null)return Q(t);let n=bt(j(e));if(n.kind==="literal")return Q(n.source);if(n.kind==="dynamic")return!0;return!e.some(Q)}function gS(e,t,n){let r=n(e);if(r.some((i)=>Q(i.value)))return!0;if(!e.some(Q))return n([...e,pS]).some((i)=>i.value===pS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>tn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function wS(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(Q);if(ze(r,YO(e,o,i)),!i)return Re(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Re(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?JO(e,c):[]));return Re(a,(c)=>pe(e.map((l)=>tn(l,[c])),[s]))})}function YO(e,t,n){let r=n?In(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:In(r,e.length,V.maxDerivedTokens)}}function JO(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 XO(e,t){let n={customResult:null,executedSource:!e.some(Q),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(Q))return;for(let a of ot(i,t))n.executedSource||=CS(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&rd(a.tokens)||a.head==="xargs"&&ES(a.tokens),n.customResult??=wS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=Q(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Mt(a)){i=[],n.executedSource||=Q(a);continue}let c=Jt(a);if(c>0){o=c,n.executedSource||=Q(a);continue}n.executedSource||=Q(a)}return s(),n}function ES(e){let t=e.slice(kn(e).childStart);return H(t[0]??"")==="rm"&&rd(t)}function ta(e,t){return(n)=>O(S(e,t),n.policy)}var An=ta("parallel.shell-dynamic",zo),QO=ta("parallel.command-stream-dynamic",LO),Tn=ta("parallel.command-stream-dynamic",MO),hS=ta("parallel.rm-recursive-force-dynamic",Oo);function Qu(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:mt(n.envAssignments??new Map,n.environment),trustedTmpdirValue:$t(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function td(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:No(e)}}function yS(e){return RS([e])}function RS(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:No(e)}}function bS(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([In(No(e),t.length,V.maxDerivedBytes),Ke(t.map((n)=>No(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function vS(e,t){return ea([e],t,"generic")}function ea(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=In(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=nz(e.map((c)=>tz(c,n))),i=In(o.occurrences,t.length,V.maxPlaceholderReplacements);if(i>V.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(ez(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:V.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?tn:nd,a=Ke(t.map((c)=>No(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function ez(e,t,n){let r=V.maxDerivedBytes+4*n;return Ke([In(e.fixedBytes,t.length,r),In(e.occurrences,Ke(t.map((o)=>o.reduce((i,s)=>Math.max(i,Io(s)),0)),r),r)],r)>r}function tz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(SS),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,Io(e.slice(i,s.index))],ed),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Io(e):Ke([o,Io(e.slice(i))],ed)}}function nz(e){return{occurrences:Ke(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:Ke(e.map((t)=>t.fixedBytes),ed)}}function No(e,t=V.maxDerivedBytes){return Ke(e.map(Io),t)}function Io(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 In(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 PS(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 tn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>kS(n,t))}function nd(e,t){return e.replace(SS,(n)=>kS(n,t))}function kS(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 Q(e){return WO.test(e)}function AS(e){if(od(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function od(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function TS(e){return/^\{[^{}\s]*\}$/.test(e)}function IS(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=Nu(e,t+1);n.push(...w.templateTokens),r=t+1,o=w.markerIndex;break}if(!p.startsWith("-")){let w=Nu(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),E=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"?E:p.slice(2);l||=w!==""&&w!=="{}",t++;continue}if(p==="-a"||BO.has(y)){l=!0,t+=E===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=E===void 0?2:1;continue}if(fS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=fS.has(p)?2:1;continue}if(UO.has(y)){let w=E??h;if(w===void 0||w===":::"||w==="--"){l=!0,t++;continue}c=w,l||=E!==void 0&&w==="",t+=E===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&E!==void 0){t++;continue}if(ZO.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?od:AS);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=oz(u),f=n.some(Q),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 rz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!$O(e))return null;try{return Vt(t??e,e,n)}catch{return null}}function oz(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 OS(e){return IS(e).childStart}var iz="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",na="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function sd(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function id(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function NS(e,t,n,r,o=!1,i){let a=(po(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",iz):null;return O(a,i)??DS(e,t,n,o,i)}function DS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>sd(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Yn(e,t),c=az(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",na),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",na),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&cz(t)?O(S("shell.dynamic-structure",na),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=it(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",na),o):null}if(s==="xargs")return zS(e,t.slice(kn(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return zS(e,t.slice(OS(t.map(N))),"parallel",n,r,o);return null}function zS(e,t,n,r,o,i){if(t.length===0)return null;let s=sz(t,r);if(po(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?Ju:zo),i);if(c)return c}let a=DS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>sd(c)&&id(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Yu:Oo),i);return null}function sz(e,t){let n=Sn(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 az(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(dt.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function cz(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=sd(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||id(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||id(s)))return!0;continue}if(t=!0,a)return!0;let c=Jt(s.text);if(c>0){n=c;continue}if(Mt(s.text))o=!0,r=!0}return!1}function ad(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Zi(t[n.tokenIndex],n.value)})}var lz="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",uz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",dz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function $S(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return S("dd.device-write",lz);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return S("mkfs.device",uz);if(e==="shred"&&n.length>0)return S("shred.target",dz);return null}var MS=[{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:mt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>ur(e.words,cd(e))},{heads:new Set(["find"]),analyze:(e)=>Vs(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:mt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(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)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>cS(e.words,{...LS(e),analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>xS(e.words,{...LS(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})}];function LS(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 On(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function cd(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 ZS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function BS(e){return MS.find((t)=>t.heads.has(e))?.analyze}function Do(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=ms(e);if(l.envAssignments.size>0)r?.recordSegment({type:"env-strip",input:i(e),envVars:[...l.envAssignments.keys()],output:i(l.words)});let u=Sn(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=Dt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),St(Z);if(n.strict)return Le(r);let oe=fs(d,i(u.words));if(oe){Je(n.derivedCommandWorkBudget,oe.length);let le=n.analyzeNested(oe.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 Ie;let y=H(b),E=u.cwd===null?void 0:u.cwd??a,w=u.cwd===null?void 0:c,R=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!lo(h,n.environment),x=NS(o,u.words,n.environment,t===0,n.strict,n.policy);if(x)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:x.reason}),St(x);let v=js(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){WS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let oe=Do(Z,t,{...p,effectiveCwd:R,envAssignments:h});if(oe)return oe}return null}let T=y==="eval"?mr(f):y==="trap"?tS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Ku(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:R,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(jS(b,y)){if(Ve(m))return null;let A=mz(m,h,R,n,r,t);if(A)return A;let Z=ht(m);if(Z){let Vn=Ys(f,Z);if(Vn.kind==="dynamic")return Le(r);let Sl=Vn.kind==="literal"?Vn.source:Z,Ah=fz(Sl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:Ah}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Ah,depth:t+1});let Th=n.analyzeNested(Sl,{effectiveCwd:R,envAssignments:h});if(Th)return Th;return fr(Sl)?Le(r):null}let oe=bt(f);if(oe.kind==="dynamic")return Le(r);if(oe.kind==="literal")return ia(oe.source,R,h,n,r,t);let le=nS(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:R,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,oe=m[Z]==="--"?Z+1:Z,le=n.commandView?f[oe]:void 0;if(!le)return null;if(le.provenance==="literal")return ia(le.text,R,h,n,r,t);if(n.strict||!n.commandView||!Ku(n.commandView))return Le(r)}if($e.has(y)){if(n.strict&&ad(Eo(m),f))return Le(r);let A=Us(m,(oe)=>On(n.analyzeNested(oe,{effectiveCwd:R,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),St(Z)}if(Oe(y)){if(n.strict&&ad(is(m),f))return Le(r);let A=os(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 St(le)}if(as(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let oe=n.analyzeNested(A,{effectiveCwd:R,envAssignments:h});if(oe&&oe.ruleId!=="raw-text.dangerous-command"&&(oe.reason!==Kt||ar(A)))return oe;if(nr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",vn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:vn}),St(le)}r=void 0}}if(y==="busybox"&&m.length>1)return WS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),Do(f.slice(1),t,{...p,effectiveCwd:R,envAssignments:h});let k=O($S(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),St(k);let z=r===p.trace?p:{...p,trace:r},L={words:f,head:y,cwd:E,originalCwd:w,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:R,options:z,analyzeChildTokens:(A,Z)=>On(Do(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=BS(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"?Uv(L.words,cd(L)):void 0,ge=FS(U?U.match:W?.(L)??null,n.policy);if(r)pz(L,ge,U?.relaxation??null);if(ge)return St(ge);let Ze=W!==void 0;if(!Ze)if(!ns.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let oe=m[Z];if(!oe)continue;A?.push(oe);let le=FS(gz(L,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(oe)}),St(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||!Ze){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 St(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function mz(e,t,n,r,o,i){let s=Yv(e);if(s.argvSource?.kind==="absent")return Le(o);if(s.argvSourceApplies&&s.argvSource){let c=ia(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 ia(a,n,t,r,o,i,!0)}function ia(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Le(o);let a=co(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Le(o):null;return Je(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function fz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function pz(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 WS(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function St(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Le(e){return e?.recordSegment({type:"error",message:ZS}),St(US())}function US(){return{id:"",reason:ZS,intent:"stop_and_explain"}}function jS(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function gz(e,t,n){let r=ot(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=hz(e,n,o);if(i)return i}return null}function hz(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(jS(r,o)){Je(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ve(c))return null;let l=ht(c);if(!l){if(bt(j(c)).kind==="dynamic")return US();return oa(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?On(u):oa(e,n)}let i=BS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Je(e.options.derivedCommandWorkBudget,e.words.length-t);return oa(e,n)}Je(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:!lo(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)??oa(e,n)}function oa(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function FS(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var yz=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,bz=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function vz(e,t){let n=KS(e,t);if(n.length===0)return!1;let r=n[VS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return yz.test(e.join(" "))}function HS(e,t,n,r){if(e.dialect==="powershell"){let a=Sz(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return GS(wz(a.target),t,n.paths)}let o=e.words.map(N);if(!vz(o,n))return;if(!t)return null;let i=KS(o,n,t),s=VS(i);if(s===-1||i[s]!=="cd")return null;return GS(i[s+1],t,n.paths)}function GS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Ez(Vt(t,e,n),t,n)?t:null}catch{return null}}function Sz(e,t){let n=_z(e[0])?1:0,r=e[n];if(!xz(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!bz.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return Cz(e.slice(n+1),t)}function _z(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function xz(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function Cz(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 wz(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function VS(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 KS(e,t,n){let r=Rz(e);return or([...r],t,n)}function Ez(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return ra(e)===ra(t);return ra(r)===ra(o)}function Rz(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var ud="TMPDIR",dd="IFS",qS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,YS=/^[A-Za-z_][A-Za-z0-9_]*$/,JS=new Set(["export","typeset","declare","readonly"]),Pz=new Set(["builtin","command","time"]);function XS(e,t){return{env:e,effectiveEnvAssignments:Oz(e,t),shellAssignments:new Map}}function QS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function md(e,t){let n=t_(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),fd(t,s)});let r=n.commandIndex;if(r!==-1&&JS.has(e[r]??""))e.filter((s)=>YS.test(s)&&ld(s)).forEach((s)=>{zz(t,s)});let o=r===-1?-1:n_(e,r);if(o===-1||e[o]!=="unset")return;let i=Dz(e,o);if(i===null)return;e.slice(i).forEach((s)=>{Nz(t,s)})}function e_(e,t){let n=t_(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 t_(e,t){let n=e.findIndex((s)=>!kz(s)),r=n!==-1&&JS.has(e[n_(e,n)]??""),o=Iz(t);return{assignments:e.flatMap((s,a)=>{let c=Az(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Fl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function n_(e,t){let n=t;while(Pz.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function kz(e){return je(e)!==null||qS.test(e)}function Az(e,t,n){return je(e)??Tz(e,t,n)}function Tz(e,t,n){let r=ji(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 ld(e){return e===ud||e===dd||Gl(e)}function Iz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Oz(e,t){let n=[...Bi,ud,dd].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 fd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function zz(e,t){fd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function Nz(e,t){if(!ld(t)&&!YS.test(t))return;if(e.shellAssignments.set(t,""),!ld(t)||t===ud||t===dd||to(t)){fd(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 Dz(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 $z="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",zn="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.",Lz=64;function bd(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return Mz(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??es(),parallelBudget:n.parallelBudget??qy()},r)}catch(s){let a=s instanceof Ie&&o?Fy:s instanceof us&&i?Ky: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 Mz(e,t,n,r){if(t>=ts)return n.trace?.recordSegment({type:"error",message:It}),{reason:It,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??et(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:It}),{reason:It,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 yd(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 c_(e,n),{reason:Kt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return c_(e,n),{reason:Kt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return yd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=XS(n.environment.env,n.envAssignments);return ca(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function ca(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=Wz(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??[]:[],E=m||gr(d);if(l.kind==="function"){let k=h.flatMap((L)=>{let W=$o(L);return W.functionDefinitions.set(l.name,l.body),pd(L,[W],f,d==="&",gr(d))}),z=gd(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=ca(l.body,t,n,r,[$o(W)]);if(U.result)return U;if(k.push(...pd(W,U.states,f,d==="&",gr(d))),E)z.push(W,...f?U.states.map((ge)=>sa(W,ge)):U.states)}let L=gd(k,z,b,y,a,d);i=L.states,s=L.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let w=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),R=e.nodes[c-2],P=la(a)&&R?.kind==="command"?eS(R)??Gz(R):void 0,x=[],v=[];for(let k of h){let z=Zz(l,t,n,r,[$o(k)]);if(z.result)return{result:z.result,states:i};let L=e.dialect==="powershell"?z.states:z.states.map((W)=>sa(k,W));for(let W of L){let U=$o(W),ge=jz(l,t,n.trace?{...n,trace:l_(n.trace,w)}:n,r,U,la(a),P);if(ge)return{result:ge,states:i};let Ze=oN(l,U.functionDefinitions);if(Ze)Je(n.derivedCommandWorkBudget,ua(Ze));let A=Ze?t+1>=ts?hd(l.displayText,n,[U]):ca(Ze,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(x.push(...pd(k,A.states,f,d==="&",gr(d))),E)v.push(k),v.push(...A.states.map((Z)=>f?sa(k,Z):Z))}}let T=gd(x,v,b,y,a,d);i=T.states,s=T.conditionalStates,a=void 0}return{result:null,states:i}}function Wz(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(la(r)||la(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Fz(e,t)}function pd(e,t,n,r,o){let i=n?t.map((a)=>sa(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 sa(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function Fz(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(Bz(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function la(e){return e==="|"||e==="|&"}function Gz(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 gd(e,t,n,r,o,i){let s={success:aa([...n,...e]),failure:aa([...r,...t])},a=gr(i)?s:void 0;return{states:gr(o)||a?aa([...s.success,...s.failure]):s.success,conditionalStates:a}}function l_(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 Zz(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=Uz(e);if(s){if(t+1>=ts)return hd(s,n,o);let a=et(s,"powershell");if(a.status==="limited")return hd(s,n,o);if(a.status!=="complete")return r_(i,n,r,o);Je(n.derivedCommandWorkBudget,ua(a)),i.push({program:a,depth:t+1})}}return r_(i,n,r,o)}function Bz(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function r_(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=ca(i.program,i.depth,t,n,[$o(a)]);if(c.result)return c;s.push(...c.states)}o=aa(s)}return{result:null,states:o}}function Uz(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 ua(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+ua(o),0):n.kind==="group"||n.kind==="function"?ua(n.body):0),0)}function hd(e,t,n){return t.trace?.recordSegment({type:"error",message:It}),{result:{reason:It,segment:e,intent:"stop_and_explain"},states:[...n]}}function jz(e,t,n,r,o,i,s){let a=Xz(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};u_(e,o,"before-consumer",n.environment.paths);let c=Yn(e.dialect,e.words).map(N),l=e.displayText,u=e_(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(Sv(e,i,sN(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 iN(l,m)}if(c.length===1&&c[0]?.includes(" ")&&!po(e.dialect,e.words)){let m=O(Dt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&Ly(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=o_(e,a,o,u,s,n);if(h)return h;return md(c,o.shellGitContextState),null}let d=Do(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=bd(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?l_(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=o_(e,a,o,u,s,n);if(f)return f;return md(c,o.shellGitContextState),null}function o_(e,t,n,r,o,i){let s=Qz(e,t,n,r??new Map,i);if(s)return s;return u_(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),Kz(e,t,n,i.environment.paths),nN(e,n,o,i.environment,i.trace),null}var Hz=new Set([">>","<>"]);function u_(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?Vz(i):Hz.has(i.operator)))continue;i_(i.target,t,r)}if(n!=="before-consumer"||!Me(e.words[0],"tee"))return;let o=d_(e.words.slice(1));if(!o)return;for(let i of o.operands)i_(i,t,r)}function Vz(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 i_(e,t,n){let r=e?.provenance==="literal"?co(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function Kz(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o||!da(o))return;for(let i of qz(e)){let s=co(i.text,n.effectiveCwd,r);if(!s||!By(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Zy)throw new Ie;n.literalHeredocFiles.set(s,o.body)}}function qz(e){let t=Jz(e.redirections)?.target,n=s_(t)?[t]:[];if(Me(e.words[0],"cat"))return Yz(e.words)?n:[];if(!Me(e.words[0],"tee"))return[];let r=d_(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(s_))return[];return[...r.operands,...n]}function Yz(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 Jz(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function d_(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&Me(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 s_(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 Me(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function da(e){return e.quotedDelimiter||!/[$`\\]/.test(e.body)}function Xz(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return zn;let n=t[0];if(!n?.heredoc)return zn;if(!da(n.heredoc))return $z;if(n.fd!==void 0&&n.fd!==0)return zn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return zn;let r=e.redirections.some((s)=>s!==n&&a_(s.target));if(Me(e.words[0],"cat"))return r?zn:void 0;if(Me(e.words[0],"tee"))return r||e.words.slice(1).some(a_)?zn:void 0;let o=e.words[0],i=e.words[1];if(Me(o,"git")&&(Me(i,"apply")||Me(i,"commit")))return;if(Me(o,"gh")&&(Me(i,"pr")||Me(i,"issue"))&&Me(e.words[2],"create"))return;return zn}function a_(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function Qz(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(tN(e,i,n,r,o))return null;let a=eN(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=yd(s.length===i.length?s.join(`
60
+ `):e.source,o);return c?{...c,segment:e.displayText}:null}function eN(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc||!da(r.heredoc)||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!Oe(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",vn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function tN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc||!da(i.heredoc)||i.fd!==void 0&&i.fd!==0)return!1;let s=Sn(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 Ve(a)}function nN(e,t,n,r,o){let i=HS(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 $o(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:QS(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function aa(e){let t=[];for(let n of e){if(!t.some((r)=>rN(r,n)))t.push(n);if(t.length>Lz)throw new Ie}return t}function rN(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 oN(e,t){let n=ks(e);return n===void 0?void 0:t.get(n)}function iN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function sN(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 yd(e,t){let n=O(Dt(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 c_(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:Kt};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"}},ma=["standard","strict","paranoid"];function aN(e){return{failClosed:e==="strict"||e==="paranoid",paranoidRm:e==="paranoid",paranoidInterpreters:e==="paranoid"}}function cN(e,t){if(!t)return e;return ma.indexOf(t)>ma.indexOf(e)?t:e}function lN(){let e=Cd(me.level);if(e===void 0||e==="")return;if(ma.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${ma.join(", ")}.`);return}function uN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function Sd(){return uN(Cd(me.auditScope))==="all"}function _d(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 xd(e={}){let t=e.safety?.level??"standard",n=lN(),r=cN(t,n),o=aN(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(nn(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(nn(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(nn(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(nn(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||nn(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:_d(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 nn(e){let t=typeof e==="string"?vd(e):Cd(e);return t==="1"||t?.toLowerCase()==="true"}function vd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function Cd(e){let t=vd(e.name);if(t!==void 0)return t;if(e.legacyName)return vd(e.legacyName);return}function m_(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:wd(t.fail_closed,e.strict,"strict"),paranoid_rm:wd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:wd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:Dy(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:_d({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function wd(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 f_(e,t,n,r){let o=bd(e,0,{...t,...m_(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 T$,dirname as bh}from"node:path";function fa(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 $U,existsSync as y$,mkdirSync as LU,readFileSync as b$}from"node:fs";import{dirname as v$,join as S$}from"node:path";import{createRequire as o$}from"node:module";var ch={};dn(ch,{$brand:()=>ga,$input:()=>Ha,$output:()=>ja,NEVER:()=>pa,TimePrecision:()=>fc,ZodAny:()=>xg,ZodArray:()=>Rg,ZodBase64:()=>Yc,ZodBase64URL:()=>Jc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>el,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Kc,ZodCIDRv6:()=>qc,ZodCUID:()=>Gc,ZodCUID2:()=>Zc,ZodCatch:()=>Kg,ZodCodec:()=>cl,ZodCustom:()=>bi,ZodCustomStringFormat:()=>jr,ZodDate:()=>fi,ZodDefault:()=>Zg,ZodDiscriminatedUnion:()=>kg,ZodE164:()=>Xc,ZodEmail:()=>Mc,ZodEmoji:()=>Wc,ZodEnum:()=>Br,ZodError:()=>V_,ZodExactOptional:()=>Wg,ZodFile:()=>Lg,ZodFirstPartyTypeKind:()=>ll,ZodFunction:()=>rh,ZodGUID:()=>ci,ZodIPv4:()=>Hc,ZodIPv6:()=>Vc,ZodISODate:()=>oi,ZodISODateTime:()=>ri,ZodISODuration:()=>si,ZodISOTime:()=>ii,ZodIntersection:()=>Ag,ZodIssueCode:()=>cC,ZodJWT:()=>Qc,ZodKSUID:()=>jc,ZodLazy:()=>eh,ZodLiteral:()=>$g,ZodMAC:()=>gg,ZodMap:()=>Ng,ZodNaN:()=>Yg,ZodNanoID:()=>Fc,ZodNever:()=>wg,ZodNonOptional:()=>sl,ZodNull:()=>Sg,ZodNullable:()=>Gg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>gi,ZodOptional:()=>il,ZodPipe:()=>al,ZodPrefault:()=>Ug,ZodPromise:()=>nh,ZodReadonly:()=>Jg,ZodRealError:()=>xe,ZodRecord:()=>yi,ZodSet:()=>Dg,ZodString:()=>Ur,ZodStringFormat:()=>q,ZodSuccess:()=>Vg,ZodSymbol:()=>bg,ZodTemplateLiteral:()=>Qg,ZodTransform:()=>Mg,ZodTuple:()=>Ig,ZodType:()=>M,ZodULID:()=>Bc,ZodURL:()=>mi,ZodUUID:()=>Rt,ZodUndefined:()=>vg,ZodUnion:()=>hi,ZodUnknown:()=>Cg,ZodVoid:()=>Eg,ZodXID:()=>Uc,ZodXor:()=>Pg,_ZodString:()=>Lc,_default:()=>Bg,_function:()=>Qx,any:()=>Ix,array:()=>pi,base64:()=>px,base64url:()=>gx,bigint:()=>Rx,boolean:()=>yg,catch:()=>qg,check:()=>eC,cidrv4:()=>mx,cidrv6:()=>fx,clone:()=>he,codec:()=>Yx,coerce:()=>ul,config:()=>se,core:()=>Et,cuid:()=>ox,cuid2:()=>ix,custom:()=>tC,date:()=>zx,decode:()=>kc,decodeAsync:()=>Tc,default:()=>QD,describe:()=>nC,discriminatedUnion:()=>Wx,e164:()=>hx,email:()=>K_,emoji:()=>nx,encode:()=>Pc,encodeAsync:()=>Ac,endsWith:()=>Ir,enum:()=>rl,exactOptional:()=>Fg,file:()=>Hx,flattenError:()=>vr,float32:()=>xx,float64:()=>Cx,formatError:()=>Sr,fromJSONSchema:()=>ah,function:()=>Qx,getErrorMap:()=>uC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>_e,guid:()=>q_,hash:()=>_x,hex:()=>Sx,hostname:()=>vx,httpUrl:()=>tx,includes:()=>Ar,instanceof:()=>oC,int:()=>$c,int32:()=>wx,int64:()=>Px,intersection:()=>Tg,ipv4:()=>lx,ipv6:()=>dx,iso:()=>ai,json:()=>sC,jwt:()=>yx,keyof:()=>Nx,ksuid:()=>cx,lazy:()=>th,length:()=>Fn,literal:()=>jx,locales:()=>Xo,looseObject:()=>Lx,looseRecord:()=>Gx,lowercase:()=>Pr,lt:()=>xt,lte:()=>Ge,mac:()=>ux,map:()=>Zx,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>rC,mime:()=>Or,minLength:()=>Ft,minSize:()=>wt,multipleOf:()=>cn,nan:()=>qx,nanoid:()=>rx,nativeEnum:()=>Ux,negative:()=>gc,never:()=>tl,nonnegative:()=>yc,nonoptional:()=>Hg,nonpositive:()=>hc,normalize:()=>zr,null:()=>_g,nullable:()=>ui,nullish:()=>Vx,number:()=>hg,object:()=>Dx,optional:()=>li,overwrite:()=>at,parse:()=>Cc,parseAsync:()=>wc,partialRecord:()=>Fx,pipe:()=>di,positive:()=>pc,prefault:()=>jg,preprocess:()=>aC,prettifyError:()=>_a,promise:()=>Xx,property:()=>bc,readonly:()=>Xg,record:()=>zg,refine:()=>oh,regex:()=>Rr,regexes:()=>Fe,registry:()=>Qo,safeDecode:()=>Oc,safeDecodeAsync:()=>Nc,safeEncode:()=>Ic,safeEncodeAsync:()=>zc,safeParse:()=>Ec,safeParseAsync:()=>Rc,set:()=>Bx,setErrorMap:()=>lC,size:()=>Mn,slugify:()=>Lr,startsWith:()=>Tr,strictObject:()=>$x,string:()=>Dc,stringFormat:()=>bx,stringbool:()=>iC,success:()=>Kx,superRefine:()=>ih,symbol:()=>Ax,templateLiteral:()=>Jx,toJSONSchema:()=>ni,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>ol,treeifyError:()=>Sa,trim:()=>Nr,tuple:()=>Og,uint32:()=>Ex,uint64:()=>kx,ulid:()=>sx,undefined:()=>Tx,union:()=>nl,unknown:()=>Gn,uppercase:()=>kr,url:()=>ex,util:()=>I,uuid:()=>Y_,uuidv4:()=>J_,uuidv6:()=>X_,uuidv7:()=>Q_,void:()=>Ox,xid:()=>ax,xor:()=>Mx,z:()=>dl});var dl={};dn(dl,{$brand:()=>ga,$input:()=>Ha,$output:()=>ja,NEVER:()=>pa,TimePrecision:()=>fc,ZodAny:()=>xg,ZodArray:()=>Rg,ZodBase64:()=>Yc,ZodBase64URL:()=>Jc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>el,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Kc,ZodCIDRv6:()=>qc,ZodCUID:()=>Gc,ZodCUID2:()=>Zc,ZodCatch:()=>Kg,ZodCodec:()=>cl,ZodCustom:()=>bi,ZodCustomStringFormat:()=>jr,ZodDate:()=>fi,ZodDefault:()=>Zg,ZodDiscriminatedUnion:()=>kg,ZodE164:()=>Xc,ZodEmail:()=>Mc,ZodEmoji:()=>Wc,ZodEnum:()=>Br,ZodError:()=>V_,ZodExactOptional:()=>Wg,ZodFile:()=>Lg,ZodFirstPartyTypeKind:()=>ll,ZodFunction:()=>rh,ZodGUID:()=>ci,ZodIPv4:()=>Hc,ZodIPv6:()=>Vc,ZodISODate:()=>oi,ZodISODateTime:()=>ri,ZodISODuration:()=>si,ZodISOTime:()=>ii,ZodIntersection:()=>Ag,ZodIssueCode:()=>cC,ZodJWT:()=>Qc,ZodKSUID:()=>jc,ZodLazy:()=>eh,ZodLiteral:()=>$g,ZodMAC:()=>gg,ZodMap:()=>Ng,ZodNaN:()=>Yg,ZodNanoID:()=>Fc,ZodNever:()=>wg,ZodNonOptional:()=>sl,ZodNull:()=>Sg,ZodNullable:()=>Gg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>gi,ZodOptional:()=>il,ZodPipe:()=>al,ZodPrefault:()=>Ug,ZodPromise:()=>nh,ZodReadonly:()=>Jg,ZodRealError:()=>xe,ZodRecord:()=>yi,ZodSet:()=>Dg,ZodString:()=>Ur,ZodStringFormat:()=>q,ZodSuccess:()=>Vg,ZodSymbol:()=>bg,ZodTemplateLiteral:()=>Qg,ZodTransform:()=>Mg,ZodTuple:()=>Ig,ZodType:()=>M,ZodULID:()=>Bc,ZodURL:()=>mi,ZodUUID:()=>Rt,ZodUndefined:()=>vg,ZodUnion:()=>hi,ZodUnknown:()=>Cg,ZodVoid:()=>Eg,ZodXID:()=>Uc,ZodXor:()=>Pg,_ZodString:()=>Lc,_default:()=>Bg,_function:()=>Qx,any:()=>Ix,array:()=>pi,base64:()=>px,base64url:()=>gx,bigint:()=>Rx,boolean:()=>yg,catch:()=>qg,check:()=>eC,cidrv4:()=>mx,cidrv6:()=>fx,clone:()=>he,codec:()=>Yx,coerce:()=>ul,config:()=>se,core:()=>Et,cuid:()=>ox,cuid2:()=>ix,custom:()=>tC,date:()=>zx,decode:()=>kc,decodeAsync:()=>Tc,describe:()=>nC,discriminatedUnion:()=>Wx,e164:()=>hx,email:()=>K_,emoji:()=>nx,encode:()=>Pc,encodeAsync:()=>Ac,endsWith:()=>Ir,enum:()=>rl,exactOptional:()=>Fg,file:()=>Hx,flattenError:()=>vr,float32:()=>xx,float64:()=>Cx,formatError:()=>Sr,fromJSONSchema:()=>ah,function:()=>Qx,getErrorMap:()=>uC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>_e,guid:()=>q_,hash:()=>_x,hex:()=>Sx,hostname:()=>vx,httpUrl:()=>tx,includes:()=>Ar,instanceof:()=>oC,int:()=>$c,int32:()=>wx,int64:()=>Px,intersection:()=>Tg,ipv4:()=>lx,ipv6:()=>dx,iso:()=>ai,json:()=>sC,jwt:()=>yx,keyof:()=>Nx,ksuid:()=>cx,lazy:()=>th,length:()=>Fn,literal:()=>jx,locales:()=>Xo,looseObject:()=>Lx,looseRecord:()=>Gx,lowercase:()=>Pr,lt:()=>xt,lte:()=>Ge,mac:()=>ux,map:()=>Zx,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>rC,mime:()=>Or,minLength:()=>Ft,minSize:()=>wt,multipleOf:()=>cn,nan:()=>qx,nanoid:()=>rx,nativeEnum:()=>Ux,negative:()=>gc,never:()=>tl,nonnegative:()=>yc,nonoptional:()=>Hg,nonpositive:()=>hc,normalize:()=>zr,null:()=>_g,nullable:()=>ui,nullish:()=>Vx,number:()=>hg,object:()=>Dx,optional:()=>li,overwrite:()=>at,parse:()=>Cc,parseAsync:()=>wc,partialRecord:()=>Fx,pipe:()=>di,positive:()=>pc,prefault:()=>jg,preprocess:()=>aC,prettifyError:()=>_a,promise:()=>Xx,property:()=>bc,readonly:()=>Xg,record:()=>zg,refine:()=>oh,regex:()=>Rr,regexes:()=>Fe,registry:()=>Qo,safeDecode:()=>Oc,safeDecodeAsync:()=>Nc,safeEncode:()=>Ic,safeEncodeAsync:()=>zc,safeParse:()=>Ec,safeParseAsync:()=>Rc,set:()=>Bx,setErrorMap:()=>lC,size:()=>Mn,slugify:()=>Lr,startsWith:()=>Tr,strictObject:()=>$x,string:()=>Dc,stringFormat:()=>bx,stringbool:()=>iC,success:()=>Kx,superRefine:()=>ih,symbol:()=>Ax,templateLiteral:()=>Jx,toJSONSchema:()=>ni,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>ol,treeifyError:()=>Sa,trim:()=>Nr,tuple:()=>Og,uint32:()=>Ex,uint64:()=>kx,ulid:()=>sx,undefined:()=>Tx,union:()=>nl,unknown:()=>Gn,uppercase:()=>kr,url:()=>ex,util:()=>I,uuid:()=>Y_,uuidv4:()=>J_,uuidv6:()=>X_,uuidv7:()=>Q_,void:()=>Ox,xid:()=>ax,xor:()=>Mx});var Et={};dn(Et,{$ZodAny:()=>lf,$ZodArray:()=>pf,$ZodAsyncError:()=>_t,$ZodBase64:()=>Xm,$ZodBase64URL:()=>Qm,$ZodBigInt:()=>Za,$ZodBigIntFormat:()=>of,$ZodBoolean:()=>qo,$ZodCIDRv4:()=>qm,$ZodCIDRv6:()=>Ym,$ZodCUID:()=>Lm,$ZodCUID2:()=>Mm,$ZodCatch:()=>Of,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>fm,$ZodCheckEndsWith:()=>Em,$ZodCheckGreaterThan:()=>Na,$ZodCheckIncludes:()=>Cm,$ZodCheckLengthEquals:()=>vm,$ZodCheckLessThan:()=>za,$ZodCheckLowerCase:()=>_m,$ZodCheckMaxLength:()=>ym,$ZodCheckMaxSize:()=>pm,$ZodCheckMimeType:()=>Pm,$ZodCheckMinLength:()=>bm,$ZodCheckMinSize:()=>gm,$ZodCheckMultipleOf:()=>dm,$ZodCheckNumberFormat:()=>mm,$ZodCheckOverwrite:()=>km,$ZodCheckProperty:()=>Rm,$ZodCheckRegex:()=>Sm,$ZodCheckSizeEquals:()=>hm,$ZodCheckStartsWith:()=>wm,$ZodCheckStringFormat:()=>Er,$ZodCheckUpperCase:()=>xm,$ZodCodec:()=>Jo,$ZodCustom:()=>Ff,$ZodCustomStringFormat:()=>nf,$ZodDate:()=>ff,$ZodDefault:()=>kf,$ZodDiscriminatedUnion:()=>yf,$ZodE164:()=>ef,$ZodEmail:()=>zm,$ZodEmoji:()=>Dm,$ZodEncodeError:()=>Nn,$ZodEnum:()=>xf,$ZodError:()=>jo,$ZodExactOptional:()=>Rf,$ZodFile:()=>wf,$ZodFunction:()=>Lf,$ZodGUID:()=>Im,$ZodIPv4:()=>Hm,$ZodIPv6:()=>Vm,$ZodISODate:()=>Bm,$ZodISODateTime:()=>Zm,$ZodISODuration:()=>jm,$ZodISOTime:()=>Um,$ZodIntersection:()=>bf,$ZodJWT:()=>tf,$ZodKSUID:()=>Gm,$ZodLazy:()=>Wf,$ZodLiteral:()=>Cf,$ZodMAC:()=>Km,$ZodMap:()=>Sf,$ZodNaN:()=>zf,$ZodNanoID:()=>$m,$ZodNever:()=>df,$ZodNonOptional:()=>Tf,$ZodNull:()=>cf,$ZodNullable:()=>Pf,$ZodNumber:()=>Ga,$ZodNumberFormat:()=>rf,$ZodObject:()=>G_,$ZodObjectJIT:()=>gf,$ZodOptional:()=>Ua,$ZodPipe:()=>Nf,$ZodPrefault:()=>Af,$ZodPromise:()=>Mf,$ZodReadonly:()=>Df,$ZodRealError:()=>ke,$ZodRecord:()=>vf,$ZodRegistry:()=>Gf,$ZodSet:()=>_f,$ZodString:()=>Ln,$ZodStringFormat:()=>K,$ZodSuccess:()=>If,$ZodSymbol:()=>sf,$ZodTemplateLiteral:()=>$f,$ZodTransform:()=>Ef,$ZodTuple:()=>Ba,$ZodType:()=>D,$ZodULID:()=>Wm,$ZodURL:()=>Nm,$ZodUUID:()=>Om,$ZodUndefined:()=>af,$ZodUnion:()=>Yo,$ZodUnknown:()=>uf,$ZodVoid:()=>mf,$ZodXID:()=>Fm,$ZodXor:()=>hf,$brand:()=>ga,$constructor:()=>g,$input:()=>Ha,$output:()=>ja,Doc:()=>Da,JSONSchema:()=>U_,JSONSchemaGenerator:()=>ug,NEVER:()=>pa,TimePrecision:()=>fc,_any:()=>dp,_array:()=>bp,_base64:()=>lc,_base64url:()=>uc,_bigint:()=>op,_boolean:()=>np,_catch:()=>LD,_check:()=>B_,_cidrv4:()=>ac,_cidrv6:()=>cc,_coercedBigint:()=>ip,_coercedBoolean:()=>rp,_coercedDate:()=>hp,_coercedNumber:()=>Yf,_coercedString:()=>Bf,_cuid:()=>ec,_cuid2:()=>tc,_custom:()=>Sp,_date:()=>gp,_decode:()=>Ea,_decodeAsync:()=>Pa,_default:()=>ND,_discriminatedUnion:()=>xD,_e164:()=>dc,_email:()=>Va,_emoji:()=>Xa,_encode:()=>wa,_encodeAsync:()=>Ra,_endsWith:()=>Ir,_enum:()=>kD,_file:()=>vp,_float32:()=>Xf,_float64:()=>Qf,_gt:()=>Ct,_gte:()=>_e,_guid:()=>ei,_includes:()=>Ar,_int:()=>Jf,_int32:()=>ep,_int64:()=>sp,_intersection:()=>CD,_ipv4:()=>ic,_ipv6:()=>sc,_isoDate:()=>Hf,_isoDateTime:()=>jf,_isoDuration:()=>Kf,_isoTime:()=>Vf,_jwt:()=>mc,_ksuid:()=>oc,_lazy:()=>GD,_length:()=>Fn,_literal:()=>TD,_lowercase:()=>Pr,_lt:()=>xt,_lte:()=>Ge,_mac:()=>Uf,_map:()=>RD,_max:()=>Ge,_maxLength:()=>Wn,_maxSize:()=>ln,_mime:()=>Or,_min:()=>_e,_minLength:()=>Ft,_minSize:()=>wt,_multipleOf:()=>cn,_nan:()=>yp,_nanoid:()=>Qa,_nativeEnum:()=>AD,_negative:()=>gc,_never:()=>fp,_nonnegative:()=>yc,_nonoptional:()=>DD,_nonpositive:()=>hc,_normalize:()=>zr,_null:()=>up,_nullable:()=>zD,_number:()=>qf,_optional:()=>OD,_overwrite:()=>at,_parse:()=>_r,_parseAsync:()=>xr,_pipe:()=>MD,_positive:()=>pc,_promise:()=>ZD,_property:()=>bc,_readonly:()=>WD,_record:()=>ED,_refine:()=>_p,_regex:()=>Rr,_safeDecode:()=>Aa,_safeDecodeAsync:()=>Ia,_safeEncode:()=>ka,_safeEncodeAsync:()=>Ta,_safeParse:()=>Cr,_safeParseAsync:()=>wr,_set:()=>PD,_size:()=>Mn,_slugify:()=>Lr,_startsWith:()=>Tr,_string:()=>Zf,_stringFormat:()=>Mr,_stringbool:()=>Ep,_success:()=>$D,_superRefine:()=>xp,_symbol:()=>cp,_templateLiteral:()=>FD,_toLowerCase:()=>Dr,_toUpperCase:()=>$r,_transform:()=>ID,_trim:()=>Nr,_tuple:()=>wD,_uint32:()=>tp,_uint64:()=>ap,_ulid:()=>nc,_undefined:()=>lp,_union:()=>SD,_unknown:()=>mp,_uppercase:()=>kr,_url:()=>ti,_uuid:()=>Ka,_uuidv4:()=>qa,_uuidv6:()=>Ya,_uuidv7:()=>Ja,_void:()=>pp,_xid:()=>rc,_xor:()=>_D,clone:()=>he,config:()=>se,createStandardJSONSchemaMethod:()=>vc,createToJSONSchemaMethod:()=>Rp,decode:()=>MN,decodeAsync:()=>FN,describe:()=>Cp,encode:()=>LN,encodeAsync:()=>WN,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>Sr,globalConfig:()=>Mo,globalRegistry:()=>Ae,initializeContext:()=>Fr,isValidBase64:()=>Jm,isValidBase64URL:()=>L_,isValidJWT:()=>M_,locales:()=>Xo,meta:()=>wp,parse:()=>xa,parseAsync:()=>Ca,prettifyError:()=>_a,process:()=>X,regexes:()=>Fe,registry:()=>Qo,safeDecode:()=>ZN,safeDecodeAsync:()=>UN,safeEncode:()=>GN,safeEncodeAsync:()=>BN,safeParse:()=>Dd,safeParseAsync:()=>$d,toDotPath:()=>v_,toJSONSchema:()=>ni,treeifyError:()=>Sa,util:()=>I,version:()=>Am});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 Nn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Mo={};function se(e){if(e)Object.assign(Mo,e);return Mo}var I={};dn(I,{BIGINT_FORMAT_RANGES:()=>zd,Class:()=>y_,NUMBER_FORMAT_RANGES:()=>Od,aborted:()=>an,allowsEval:()=>kd,assert:()=>gN,assertEqual:()=>dN,assertIs:()=>fN,assertNever:()=>pN,assertNotEqual:()=>mN,assignProp:()=>on,base64ToUint8Array:()=>g_,base64urlToUint8Array:()=>ON,cached:()=>yr,captureStackTrace:()=>ba,cleanEnum:()=>IN,cleanRegex:()=>Go,clone:()=>he,cloneDef:()=>yN,createTransparentProxy:()=>CN,defineLazy:()=>F,esc:()=>ya,escapeRegex:()=>qe,extend:()=>RN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>Rd,getElementAtPath:()=>bN,getEnumValues:()=>Fo,getLengthableOrigin:()=>Uo,getParsedType:()=>xN,getSizableOrigin:()=>Bo,hexToUint8Array:()=>NN,isObject:()=>Dn,isPlainObject:()=>sn,issue:()=>br,joinValues:()=>ha,jsonStringifyReplacer:()=>hr,merge:()=>kN,mergeDefs:()=>Wt,normalizeParams:()=>_,nullish:()=>rn,numKeys:()=>_N,objectClone:()=>hN,omit:()=>EN,optionalKeys:()=>Id,parsedType:()=>Nd,partial:()=>AN,pick:()=>wN,prefixIssues:()=>We,primitiveTypes:()=>Td,promiseAllObject:()=>vN,propertyKeyTypes:()=>Zo,randomString:()=>SN,required:()=>TN,safeExtend:()=>PN,shallowClone:()=>Ad,slugify:()=>Pd,stringifyPrimitive:()=>va,uint8ArrayToBase64:()=>h_,uint8ArrayToBase64url:()=>zN,uint8ArrayToHex:()=>DN,unwrapMessage:()=>Wo});function dN(e){return e}function mN(e){return e}function fN(e){}function pN(e){throw Error("Unexpected value in exhaustive check")}function gN(e){}function Fo(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 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 rn(e){return e===null||e===void 0}function Go(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Rd(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 p_=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===p_)return;if(r===void 0)r=p_,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function hN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function on(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Wt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function yN(e){return Wt(e._zod.def)}function bN(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function vN(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 SN(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 Pd(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ba="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Dn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var kd=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function sn(e){if(Dn(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(Dn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Ad(e){if(sn(e))return{...e};if(Array.isArray(e))return[...e];return e}function _N(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var xN=(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}`)}},Zo=new Set(["string","number","symbol"]),Td=new Set(["string","number","bigint","boolean","symbol","undefined"]);function qe(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 _(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 CN(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 Id(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Od={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]},zd={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function wN(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=Wt(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 on(this,"shape",s),s},checks:[]});return he(e,i)}function EN(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=Wt(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 on(this,"shape",s),s},checks:[]});return he(e,i)}function RN(e,t){if(!sn(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=Wt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return on(this,"shape",i),i}});return he(e,o)}function PN(e,t){if(!sn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return on(this,"shape",r),r}});return he(e,n)}function kN(e,t){let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return on(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,n)}function AN(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=Wt(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 on(this,"shape",c),c},checks:[]});return he(t,s)}function TN(e,t,n){let r=Wt(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 on(this,"shape",i),i}});return he(t,r)}function an(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 We(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Wo(e){return typeof e==="string"?e:e?.message}function Pe(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Wo(e.inst?._zod.def?.error?.(e))??Wo(t?.error?.(e))??Wo(n.customError?.(e))??Wo(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Bo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Uo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Nd(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 IN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function g_(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 h_(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function ON(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return g_(t+n)}function zN(e){return h_(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function NN(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 DN(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class y_{constructor(...e){}}var b_=(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})},jo=g("$ZodError",b_),ke=g("$ZodError",b_,{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 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 v_(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(`✖ ${r.message}`),r.path?.length)t.push(` → at ${v_(r.path)}`);return t.join(`
61
+ `)}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},xa=_r(ke),xr=(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=xr(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??jo)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Dd=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}},$d=wr(ke),wa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _r(e)(t,n,o)},LN=wa(ke),Ea=(e)=>(t,n,r)=>_r(e)(t,n,r),MN=Ea(ke),Ra=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},WN=Ra(ke),Pa=(e)=>async(t,n,r)=>xr(e)(t,n,r),FN=Pa(ke),ka=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},GN=ka(ke),Aa=(e)=>(t,n,r)=>Cr(e)(t,n,r),ZN=Aa(ke),Ta=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},BN=Ta(ke),Ia=(e)=>async(t,n,r)=>wr(e)(t,n,r),UN=Ia(ke);var Fe={};dn(Fe,{base64:()=>Xd,base64url:()=>Oa,bigint:()=>om,boolean:()=>sm,browserEmail:()=>XN,cidrv4:()=>Yd,cidrv6:()=>Jd,cuid:()=>Ld,cuid2:()=>Md,date:()=>em,datetime:()=>nm,domain:()=>tD,duration:()=>Bd,e164:()=>Qd,email:()=>jd,emoji:()=>Hd,extendedDuration:()=>jN,guid:()=>Ud,hex:()=>nD,hostname:()=>eD,html5Email:()=>qN,idnEmail:()=>JN,integer:()=>im,ipv4:()=>Vd,ipv6:()=>Kd,ksuid:()=>Gd,lowercase:()=>lm,mac:()=>qd,md5_base64:()=>oD,md5_base64url:()=>iD,md5_hex:()=>rD,nanoid:()=>Zd,null:()=>am,number:()=>Ho,rfc5322Email:()=>YN,sha1_base64:()=>aD,sha1_base64url:()=>cD,sha1_hex:()=>sD,sha256_base64:()=>uD,sha256_base64url:()=>dD,sha256_hex:()=>lD,sha384_base64:()=>fD,sha384_base64url:()=>pD,sha384_hex:()=>mD,sha512_base64:()=>hD,sha512_base64url:()=>yD,sha512_hex:()=>gD,string:()=>rm,time:()=>tm,ulid:()=>Wd,undefined:()=>cm,unicodeEmail:()=>S_,uppercase:()=>um,uuid:()=>$n,uuid4:()=>HN,uuid6:()=>VN,uuid7:()=>KN,xid:()=>Fd});var Ld=/^[cC][^\s-]{8,}$/,Md=/^[0-9a-z]+$/,Wd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Fd=/^[0-9a-vA-V]{20}$/,Gd=/^[A-Za-z0-9]{27}$/,Zd=/^[a-zA-Z0-9_-]{21}$/,Bd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,jN=/^[-+]?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)?)??$/,Ud=/^([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})$/,$n=(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})$`)},HN=$n(4),VN=$n(6),KN=$n(7),jd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,qN=/^[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])?)*$/,YN=/^(([^<>()\[\]\\.,;:\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,}))$/,S_=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,JN=S_,XN=/^[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])?)*$/,QN="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Hd(){return new RegExp(QN,"u")}var Vd=/^(?:(?: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])$/,Kd=/^(([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=qe(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},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])\/([0-9]|[1-2][0-9]|3[0-2])$/,Jd=/^(([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])$/,Xd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Oa=/^[A-Za-z0-9_-]*$/,eD=/^(?=.{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])?)*\.?$/,tD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Qd=/^\+[1-9]\d{6,14}$/,__="(?:(?:\\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])))",em=new RegExp(`^${__}$`);function x_(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 tm(e){return new RegExp(`^${x_(e)}$`)}function nm(e){let t=x_({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(`^${__}T(?:${r})$`)}var rm=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},om=/^-?\d+n?$/,im=/^-?\d+$/,Ho=/^-?\d+(?:\.\d+)?$/,sm=/^(?:true|false)$/i,am=/^null$/i;var cm=/^undefined$/i;var lm=/^[^A-Z]*$/,um=/^[^a-z]*$/,nD=/^[0-9a-fA-F]*$/;function Vo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Ko(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var rD=/^[0-9a-fA-F]{32}$/,oD=Vo(22,"=="),iD=Ko(22),sD=/^[0-9a-fA-F]{40}$/,aD=Vo(27,"="),cD=Ko(27),lD=/^[0-9a-fA-F]{64}$/,uD=Vo(43,"="),dD=Ko(43),mD=/^[0-9a-fA-F]{96}$/,fD=Vo(64,""),pD=Ko(64),gD=/^[0-9a-fA-F]{128}$/,hD=Vo(86,"=="),yD=Ko(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),w_={number:"number",bigint:"bigint",object:"date"},za=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=w_[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=w_[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})}}),dm=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):Rd(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})}}),mm=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]=Od[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=im}),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})}}),fm=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=zd[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})}}),pm=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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:Bo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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:Bo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),hm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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:Bo(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})}}),ym=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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=Uo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckMinLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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=Uo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),vm=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(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=Uo(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=()=>{})}),Sm=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})}}),_m=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=lm),Er.init(e,t)}),xm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=um),Er.init(e,t)}),Cm=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=qe(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})}}),wm=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${qe(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})}}),Em=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${qe(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 C_(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues))}var Rm=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)=>C_(o,n,t.property));C_(r,n,t.property);return}}),Pm=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})}}),km=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(`
62
62
  `).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(`
63
- `))}}var km={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=km;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=an(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=an(s,f)});else{if(s.issues.length===f)continue;if(!l)l=an(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(an(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=Nd(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Dd(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()??nm(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)}),Tm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),Im=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=$n(r))}else t.pattern??(t.pattern=$n());q.init(e,t)}),Om=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ud),q.init(e,t)}),zm=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})}}}),Nm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=jd()),q.init(e,t)}),Dm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),$m=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=$d),q.init(e,t)}),Lm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Ld),q.init(e,t)}),Mm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Md),q.init(e,t)}),Wm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Wd),q.init(e,t)}),Fm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Fd),q.init(e,t)}),Gm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=tm(t)),q.init(e,t)}),Zm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Qd),q.init(e,t)}),Bm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=em(t)),q.init(e,t)}),Um=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),jm=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Hd),q.init(e,t),e._zod.bag.format="ipv4"}),Hm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Vd),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})}}}),Vm=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=Kd),q.init(e,t)}),Km=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Yd),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 Ym(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Jm=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Ym(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function $_(e){if(!Ia.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ym(n)}var Xm=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ia),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if($_(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Qm=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Xd),q.init(e,t)});function L_(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 ef=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(L_(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),tf=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})}}),Fa=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ho,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}}),nf=g("$ZodNumberFormat",(e,t)=>{dm.init(e,t),Fa.init(e,t)}),Ko=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=im,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}}),Ga=g("$ZodBigInt",(e,t)=>{D.init(e,t),e._zod.pattern=rm,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}}),rf=g("$ZodBigIntFormat",(e,t)=>{mm.init(e,t),Ga.init(e,t)}),of=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}}),sf=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=am,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}}),af=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=sm,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}}),cf=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),lf=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),uf=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)}),df=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}}),mf=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 E_(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var ff=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)=>E_(l,n,s)));else E_(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Wa(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...We(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function M_(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=Td(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function W_(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)=>Wa(m,n,d,t,u)));else Wa(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 F_=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(()=>M_(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=Dn,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)=>Wa(b,a,f,l,p)));else Wa(h,a,f,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return W_(u,l,a,c,r.value,e)}}),pf=g("$ZodObjectJIT",(e,t)=>{F_.init(e,t);let n=e._zod.parse,r=yr(()=>M_(t)),o=(f)=>{let m=new Na(["shape","payload","ctx"]),p=r.value,h=(w)=>{let R=ha(w);return`shape[${R}]._zod.run({ value: input[${R}], 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 R=b[w],P=ha(w),v=f[w]?._zod?.optout==="optional";if(m.write(`const ${R} = ${h(w)};`),v)m.write(`
63
+ `))}}var Am={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=Am;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=an(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=an(s,f)});else{if(s.issues.length===f)continue;if(!l)l=an(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(an(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=Dd(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return $d(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()??rm(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}}),K=g("$ZodStringFormat",(e,t)=>{Er.init(e,t),Ln.init(e,t)}),Im=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Ud),K.init(e,t)}),Om=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=$n(r))}else t.pattern??(t.pattern=$n());K.init(e,t)}),zm=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=jd),K.init(e,t)}),Nm=g("$ZodURL",(e,t)=>{K.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})}}}),Dm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Hd()),K.init(e,t)}),$m=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Zd),K.init(e,t)}),Lm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Ld),K.init(e,t)}),Mm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Md),K.init(e,t)}),Wm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Wd),K.init(e,t)}),Fm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Fd),K.init(e,t)}),Gm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Gd),K.init(e,t)}),Zm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=nm(t)),K.init(e,t)}),Bm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=em),K.init(e,t)}),Um=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=tm(t)),K.init(e,t)}),jm=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Bd),K.init(e,t)}),Hm=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Vd),K.init(e,t),e._zod.bag.format="ipv4"}),Vm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Kd),K.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})}}}),Km=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=qd(t.delimiter)),K.init(e,t),e._zod.bag.format="mac"}),qm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Yd),K.init(e,t)}),Ym=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Jd),K.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 Jm(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Xm=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Xd),K.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Jm(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function L_(e){if(!Oa.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Jm(n)}var Qm=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Oa),K.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(L_(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),ef=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Qd),K.init(e,t)});function M_(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 tf=g("$ZodJWT",(e,t)=>{K.init(e,t),e._zod.check=(n)=>{if(M_(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),nf=g("$ZodCustomStringFormat",(e,t)=>{K.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??Ho,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}}),rf=g("$ZodNumberFormat",(e,t)=>{mm.init(e,t),Ga.init(e,t)}),qo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=sm,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=om,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}}),of=g("$ZodBigIntFormat",(e,t)=>{fm.init(e,t),Za.init(e,t)}),sf=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}}),af=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=cm,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}}),cf=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=am,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}}),lf=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),uf=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),df=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)}),mf=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}}),ff=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 R_(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var pf=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)=>R_(l,n,s)));else R_(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(...We(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function W_(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=Id(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function F_(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 G_=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(()=>W_(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=Dn,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 F_(u,l,a,c,r.value,e)}}),gf=g("$ZodObjectJIT",(e,t)=>{G_.init(e,t);let n=e._zod.parse,r=yr(()=>W_(t)),o=(f)=>{let m=new Da(["shape","payload","ctx"]),p=r.value,h=(w)=>{let R=ya(w);return`shape[${R}]._zod.run({ value: input[${R}], 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 R=b[w],P=ya(w),v=f[w]?._zod?.optout==="optional";if(m.write(`const ${R} = ${h(w)};`),v)m.write(`
64
64
  if (${R}.issues.length) {
65
65
  if (${P} in input) {
66
66
  payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
@@ -94,6 +94,6 @@ ${HE(e.intent??"manual_only")}`,a}function HE(e){switch(e){case"hard_stop":retur
94
94
  newResult[${P}] = ${R}.value;
95
95
  }
96
96
 
97
- `)}m.write("payload.value = newResult;"),m.write("return payload;");let E=m.compile();return(w,R)=>E(f,w,R)},i,s=Dn,a=!Mo.jitless,l=a&&Pd.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 W_([],p,f,m,d,e)}return n(f,m)}});function R_(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)=>!an(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 Yo=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)=>Go(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 R_(a,o,e,i);return Promise.all(a).then((c)=>R_(c,o,e,i))}});function P_(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 gf=g("$ZodXor",(e,t)=>{Yo.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 P_(a,o,e,i);return Promise.all(a).then((c)=>P_(c,o,e,i))}}),hf=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Yo.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(!Dn(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}}),yf=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])=>k_(n,c,l));return k_(n,i,s)}});function Am(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(sn(e)&&sn(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=Am(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=Am(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 k_(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(an(e))return e;let s=Am(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Za=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)=>Da(f,r,l)));else Da(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)=>Da(m,r,l)));else Da(f,r,l)}}if(s.length)return Promise.all(s).then(()=>r);return r}});function Da(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var bf=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!sn(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(...We(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...We(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"&&Ho.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(...We(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...We(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),vf=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])=>{A_(u,d,n,s,o,e,r)}));else A_(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function A_(e,t,n,r,o,i,s){if(e.issues.length)if(Zo.has(typeof r))n.issues.push(...We(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(Zo.has(typeof r))n.issues.push(...We(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 Sf=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)=>T_(c,n)));else T_(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function T_(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var _f=g("$ZodEnum",(e,t)=>{D.init(e,t);let n=Fo(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Zo.has(typeof o)).map((o)=>typeof o==="string"?Ke(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}}),xf=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"?Ke(r):r?Ke(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}}),Cf=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}}),wf=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(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 I_(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ba=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(`^(${Go(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)=>I_(i,n.value));return I_(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Ef=g("$ZodExactOptional",(e,t)=>{Ba.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)}),Rf=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(`^(${Go(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)}}),Pf=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)=>O_(i,t));return O_(o,t)}});function O_(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var kf=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)}}),Af=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)=>z_(i,e));return z_(o,e)}});function z_(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 Tf=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn("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}}),If=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}}),Of=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}}),zf=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)=>$a(s,t.in,r));return $a(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>$a(i,t.out,r));return $a(o,t.out,r)}});function $a(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var Jo=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)=>Ma(e,i,t.out,n));return Ma(e,o,t.out,n)}else{let o=t.reverseTransform(e.value,e);if(o instanceof Promise)return o.then((i)=>Ma(e,i,t.in,n));return Ma(e,o,t.in,n)}}function Ma(e,t,n,r){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},r)}var Nf=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(N_);return N_(o)}});function N_(e){return e.value=Object.freeze(e.value),e}var Df=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||Ad.has(typeof r))n.push(Ke(`${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}}),$f=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 xa(e._def.input,r):r,i=await Reflect.apply(n,this,o);if(e._def.output)return await xa(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 Za({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)),Lf=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))}),Mf=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)}),Wf=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)=>D_(i,n,r,e));D_(o,n,r,e);return}});function D_(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 Xo={};var G_,Ua=Symbol("ZodOutput"),ja=Symbol("ZodInput");class Ff{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 Qo(){return new Ff}(G_=globalThis).__zod_globalRegistry??(G_.__zod_globalRegistry=Qo());var Ae=globalThis.__zod_globalRegistry;function Gf(e,t){return new e({type:"string",..._(t)})}function Zf(e,t){return new e({type:"string",coerce:!0,..._(t)})}function Ha(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,..._(t)})}function ei(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._(t)})}function Va(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,..._(t)})}function qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._(t)})}function ti(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,..._(t)})}function Ja(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,..._(t)})}function Xa(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,..._(t)})}function Qa(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,..._(t)})}function ec(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,..._(t)})}function tc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,..._(t)})}function nc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,..._(t)})}function rc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,..._(t)})}function oc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,..._(t)})}function ic(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,..._(t)})}function Bf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,..._(t)})}function sc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(t)})}function ac(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(t)})}function cc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._(t)})}function lc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._(t)})}function uc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._(t)})}function dc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._(t)})}var mc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Uf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(t)})}function jf(e,t){return new e({type:"string",format:"date",check:"string_format",..._(t)})}function Hf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,..._(t)})}function Vf(e,t){return new e({type:"string",format:"duration",check:"string_format",..._(t)})}function qf(e,t){return new e({type:"number",checks:[],..._(t)})}function Kf(e,t){return new e({type:"number",coerce:!0,checks:[],..._(t)})}function Yf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._(t)})}function Jf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",..._(t)})}function Xf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",..._(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",..._(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",..._(t)})}function tp(e,t){return new e({type:"boolean",..._(t)})}function np(e,t){return new e({type:"boolean",coerce:!0,..._(t)})}function rp(e,t){return new e({type:"bigint",..._(t)})}function op(e,t){return new e({type:"bigint",coerce:!0,..._(t)})}function ip(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",..._(t)})}function sp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",..._(t)})}function ap(e,t){return new e({type:"symbol",..._(t)})}function cp(e,t){return new e({type:"undefined",..._(t)})}function lp(e,t){return new e({type:"null",..._(t)})}function up(e){return new e({type:"any"})}function dp(e){return new e({type:"unknown"})}function mp(e,t){return new e({type:"never",..._(t)})}function fp(e,t){return new e({type:"void",..._(t)})}function pp(e,t){return new e({type:"date",..._(t)})}function gp(e,t){return new e({type:"date",coerce:!0,..._(t)})}function hp(e,t){return new e({type:"nan",..._(t)})}function xt(e,t){return new Oa({check:"less_than",..._(t),value:e,inclusive:!1})}function Ge(e,t){return new Oa({check:"less_than",..._(t),value:e,inclusive:!0})}function Ct(e,t){return new za({check:"greater_than",..._(t),value:e,inclusive:!1})}function _e(e,t){return new za({check:"greater_than",..._(t),value:e,inclusive:!0})}function fc(e){return Ct(0,e)}function pc(e){return xt(0,e)}function gc(e){return Ge(0,e)}function hc(e){return _e(0,e)}function cn(e,t){return new um({check:"multiple_of",..._(t),value:e})}function ln(e,t){return new fm({check:"max_size",..._(t),maximum:e})}function wt(e,t){return new pm({check:"min_size",..._(t),minimum:e})}function Mn(e,t){return new gm({check:"size_equals",..._(t),size:e})}function Wn(e,t){return new hm({check:"max_length",..._(t),maximum:e})}function Ft(e,t){return new ym({check:"min_length",..._(t),minimum:e})}function Fn(e,t){return new bm({check:"length_equals",..._(t),length:e})}function Rr(e,t){return new vm({check:"string_format",format:"regex",..._(t),pattern:e})}function Pr(e){return new Sm({check:"string_format",format:"lowercase",..._(e)})}function kr(e){return new _m({check:"string_format",format:"uppercase",..._(e)})}function Ar(e,t){return new xm({check:"string_format",format:"includes",..._(t),includes:e})}function Tr(e,t){return new Cm({check:"string_format",format:"starts_with",..._(t),prefix:e})}function Ir(e,t){return new wm({check:"string_format",format:"ends_with",..._(t),suffix:e})}function yc(e,t,n){return new Em({check:"property",property:e,schema:t,..._(n)})}function Or(e,t){return new Rm({check:"mime_type",mime:e,..._(t)})}function st(e){return new Pm({check:"overwrite",tx:e})}function zr(e){return st((t)=>t.normalize(e))}function Nr(){return st((e)=>e.trim())}function Dr(){return st((e)=>e.toLowerCase())}function $r(){return st((e)=>e.toUpperCase())}function Lr(){return st((e)=>Rd(e))}function yp(e,t,n){return new e({type:"array",element:t,..._(n)})}function bD(e,t,n){return new e({type:"union",options:t,..._(n)})}function vD(e,t,n){return new e({type:"union",options:t,inclusive:!1,..._(n)})}function SD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,..._(r)})}function _D(e,t,n){return new e({type:"intersection",left:t,right:n})}function xD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,..._(o?r:n)})}function CD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,..._(r)})}function wD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,..._(r)})}function ED(e,t,n){return new e({type:"set",valueType:t,..._(n)})}function RD(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,..._(n)})}function PD(e,t,n){return new e({type:"enum",entries:t,..._(n)})}function kD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],..._(n)})}function bp(e,t){return new e({type:"file",..._(t)})}function AD(e,t){return new e({type:"transform",transform:t})}function TD(e,t){return new e({type:"optional",innerType:t})}function ID(e,t){return new e({type:"nullable",innerType:t})}function OD(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():kd(n)}})}function zD(e,t,n){return new e({type:"nonoptional",innerType:t,..._(n)})}function ND(e,t){return new e({type:"success",innerType:t})}function DD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function $D(e,t,n){return new e({type:"pipe",in:t,out:n})}function LD(e,t){return new e({type:"readonly",innerType:t})}function MD(e,t,n){return new e({type:"template_literal",parts:t,..._(n)})}function WD(e,t){return new e({type:"lazy",getter:t})}function FD(e,t){return new e({type:"promise",innerType:t})}function vp(e,t,n){let r=_(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Sp(e,t,n){return new e({type:"custom",check:"custom",fn:t,..._(n)})}function _p(e){let t=Z_((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 Z_(e,t){let n=new J({check:"custom",..._(t)});return n._zod.check=e,n}function xp(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 Cp(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 wp(e,t){let n=_(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??Jo,c=e.Boolean??Ko,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 Mr(e,t,n,r={}){let o=_(r),i={..._(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")},Ep=()=>Wr,bc=()=>Wr,Fr=Wr,X=Wr,Gr=Wr,Zr=Wr;var GD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Rp=(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=GD[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}))]}},Pp=(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},kp=(e,t,n,r)=>{n.type="boolean"},Ap=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Tp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Ip=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Op=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Np=(e,t,n,r)=>{n.not={}},Dp=(e,t,n,r)=>{},$p=(e,t,n,r)=>{},Lp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Mp=(e,t,n,r)=>{let o=e._zod.def,i=Fo(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},Wp=(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}},Fp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Gp=(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},Zp=(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)},Bp=(e,t,n,r)=>{n.type="boolean"},Up=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Hp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Vp=(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")},Kp=(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"]})},Yp=(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"]})},Sc=(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},Jp=(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},Xp=(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},Qp=(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}},eg=(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"}]},tg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},ng=(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))},rg=(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))},og=(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},ig=(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},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.readOnly=!0},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},_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},cg=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},vc={string:Rp,number:Pp,boolean:kp,bigint:Ap,symbol:Tp,null:Ip,undefined:Op,void:zp,never:Np,any:Dp,unknown:$p,date:Lp,enum:Mp,literal:Wp,nan:Fp,template_literal:Gp,file:Zp,success:Bp,custom:Up,function:jp,transform:Hp,map:Vp,set:qp,array:Kp,object:Yp,union:Sc,intersection:Jp,tuple:Xp,record:Qp,nullable:eg,nonoptional:tg,default:ng,prefault:rg,catch:og,pipe:ig,readonly:sg,promise:ag,optional:_c,lazy:cg};function ni(e,t){if("_idmap"in e){let r=e,o=Fr({...t,processors:vc}),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:vc});return X(e,n),Gr(n,e),Zr(n,e)}class lg{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:vc,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 B_={};var ai={};dn(ai,{ZodISODate:()=>oi,ZodISODateTime:()=>ri,ZodISODuration:()=>si,ZodISOTime:()=>ii,date:()=>dg,datetime:()=>ug,duration:()=>fg,time:()=>mg});var ri=g("ZodISODateTime",(e,t)=>{Gm.init(e,t),K.init(e,t)});function ug(e){return Uf(ri,e)}var oi=g("ZodISODate",(e,t)=>{Zm.init(e,t),K.init(e,t)});function dg(e){return jf(oi,e)}var ii=g("ZodISOTime",(e,t)=>{Bm.init(e,t),K.init(e,t)});function mg(e){return Hf(ii,e)}var si=g("ZodISODuration",(e,t)=>{Um.init(e,t),K.init(e,t)});function fg(e){return Vf(si,e)}var j_=(e,t)=>{jo.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}}})},H_=g("ZodError",j_),xe=g("ZodError",j_,{Parent:Error});var xc=_r(xe),Cc=xr(xe),wc=Cr(xe),Ec=wr(xe),Rc=Ca(xe),Pc=wa(xe),kc=Ea(xe),Ac=Ra(xe),Tc=Pa(xe),Ic=ka(xe),Oc=Aa(xe),zc=Ta(xe);var M=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:bc(e,"input"),output:bc(e,"output")}}),e.toJSONSchema=Ep(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)=>xc(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>wc(e,n,r),e.parseAsync=async(n,r)=>Cc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Ec(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>Rc(e,n,r),e.decode=(n,r)=>Pc(e,n,r),e.encodeAsync=async(n,r)=>kc(e,n,r),e.decodeAsync=async(n,r)=>Ac(e,n,r),e.safeEncode=(n,r)=>Tc(e,n,r),e.safeDecode=(n,r)=>Ic(e,n,r),e.safeEncodeAsync=async(n,r)=>Oc(e,n,r),e.safeDecodeAsync=async(n,r)=>zc(e,n,r),e.refine=(n,r)=>e.check(rh(n,r)),e.superRefine=(n)=>e.check(oh(n)),e.overwrite=(n)=>e.check(st(n)),e.optional=()=>li(e),e.exactOptional=()=>Wg(e),e.nullable=()=>ui(e),e.nullish=()=>li(ui(e)),e.nonoptional=(n)=>jg(e,n),e.array=()=>pi(e),e.or=(n)=>tl([e,n]),e.and=(n)=>Ag(e,n),e.transform=(n)=>di(e,rl(n)),e.default=(n)=>Zg(e,n),e.prefault=(n)=>Ug(e,n),e.catch=(n)=>qg(e,n),e.pipe=(n)=>di(e,n),e.readonly=()=>Jg(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)),$c=g("_ZodString",(e,t)=>{Ln.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Rp(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(Rr(...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(Ft(...r)),e.max=(...r)=>e.check(Wn(...r)),e.length=(...r)=>e.check(Fn(...r)),e.nonempty=(...r)=>e.check(Ft(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(Lr())}),Ur=g("ZodString",(e,t)=>{Ln.init(e,t),$c.init(e,t),e.email=(n)=>e.check(Ha(Lc,n)),e.url=(n)=>e.check(ti(mi,n)),e.jwt=(n)=>e.check(dc(Xc,n)),e.emoji=(n)=>e.check(Ja(Mc,n)),e.guid=(n)=>e.check(ei(ci,n)),e.uuid=(n)=>e.check(Va(Rt,n)),e.uuidv4=(n)=>e.check(qa(Rt,n)),e.uuidv6=(n)=>e.check(Ka(Rt,n)),e.uuidv7=(n)=>e.check(Ya(Rt,n)),e.nanoid=(n)=>e.check(Xa(Wc,n)),e.guid=(n)=>e.check(ei(ci,n)),e.cuid=(n)=>e.check(Qa(Fc,n)),e.cuid2=(n)=>e.check(ec(Gc,n)),e.ulid=(n)=>e.check(tc(Zc,n)),e.base64=(n)=>e.check(cc(Kc,n)),e.base64url=(n)=>e.check(lc(Yc,n)),e.xid=(n)=>e.check(nc(Bc,n)),e.ksuid=(n)=>e.check(rc(Uc,n)),e.ipv4=(n)=>e.check(oc(jc,n)),e.ipv6=(n)=>e.check(ic(Hc,n)),e.cidrv4=(n)=>e.check(sc(Vc,n)),e.cidrv6=(n)=>e.check(ac(qc,n)),e.e164=(n)=>e.check(uc(Jc,n)),e.datetime=(n)=>e.check(ug(n)),e.date=(n)=>e.check(dg(n)),e.time=(n)=>e.check(mg(n)),e.duration=(n)=>e.check(fg(n))});function Nc(e){return Gf(Ur,e)}var K=g("ZodStringFormat",(e,t)=>{q.init(e,t),$c.init(e,t)}),Lc=g("ZodEmail",(e,t)=>{Om.init(e,t),K.init(e,t)});function V_(e){return Ha(Lc,e)}var ci=g("ZodGUID",(e,t)=>{Tm.init(e,t),K.init(e,t)});function q_(e){return ei(ci,e)}var Rt=g("ZodUUID",(e,t)=>{Im.init(e,t),K.init(e,t)});function K_(e){return Va(Rt,e)}function Y_(e){return qa(Rt,e)}function J_(e){return Ka(Rt,e)}function X_(e){return Ya(Rt,e)}var mi=g("ZodURL",(e,t)=>{zm.init(e,t),K.init(e,t)});function Q_(e){return ti(mi,e)}function ex(e){return ti(mi,{protocol:/^https?$/,hostname:Fe.domain,...I.normalizeParams(e)})}var Mc=g("ZodEmoji",(e,t)=>{Nm.init(e,t),K.init(e,t)});function tx(e){return Ja(Mc,e)}var Wc=g("ZodNanoID",(e,t)=>{Dm.init(e,t),K.init(e,t)});function nx(e){return Xa(Wc,e)}var Fc=g("ZodCUID",(e,t)=>{$m.init(e,t),K.init(e,t)});function rx(e){return Qa(Fc,e)}var Gc=g("ZodCUID2",(e,t)=>{Lm.init(e,t),K.init(e,t)});function ox(e){return ec(Gc,e)}var Zc=g("ZodULID",(e,t)=>{Mm.init(e,t),K.init(e,t)});function ix(e){return tc(Zc,e)}var Bc=g("ZodXID",(e,t)=>{Wm.init(e,t),K.init(e,t)});function sx(e){return nc(Bc,e)}var Uc=g("ZodKSUID",(e,t)=>{Fm.init(e,t),K.init(e,t)});function ax(e){return rc(Uc,e)}var jc=g("ZodIPv4",(e,t)=>{jm.init(e,t),K.init(e,t)});function cx(e){return oc(jc,e)}var pg=g("ZodMAC",(e,t)=>{Vm.init(e,t),K.init(e,t)});function lx(e){return Bf(pg,e)}var Hc=g("ZodIPv6",(e,t)=>{Hm.init(e,t),K.init(e,t)});function ux(e){return ic(Hc,e)}var Vc=g("ZodCIDRv4",(e,t)=>{qm.init(e,t),K.init(e,t)});function dx(e){return sc(Vc,e)}var qc=g("ZodCIDRv6",(e,t)=>{Km.init(e,t),K.init(e,t)});function mx(e){return ac(qc,e)}var Kc=g("ZodBase64",(e,t)=>{Jm.init(e,t),K.init(e,t)});function fx(e){return cc(Kc,e)}var Yc=g("ZodBase64URL",(e,t)=>{Xm.init(e,t),K.init(e,t)});function px(e){return lc(Yc,e)}var Jc=g("ZodE164",(e,t)=>{Qm.init(e,t),K.init(e,t)});function gx(e){return uc(Jc,e)}var Xc=g("ZodJWT",(e,t)=>{ef.init(e,t),K.init(e,t)});function hx(e){return dc(Xc,e)}var jr=g("ZodCustomStringFormat",(e,t)=>{tf.init(e,t),K.init(e,t)});function yx(e,t,n={}){return Mr(jr,e,t,n)}function bx(e){return Mr(jr,"hostname",Fe.hostname,e)}function vx(e){return Mr(jr,"hex",Fe.hex,e)}function Sx(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Fe[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Mr(jr,r,o,t)}var Hr=g("ZodNumber",(e,t)=>{Fa.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Pp(e,r,o,i),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.lt=(r,o)=>e.check(xt(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.int=(r)=>e.check(Dc(r)),e.safe=(r)=>e.check(Dc(r)),e.positive=(r)=>e.check(Ct(0,r)),e.nonnegative=(r)=>e.check(_e(0,r)),e.negative=(r)=>e.check(xt(0,r)),e.nonpositive=(r)=>e.check(Ge(0,r)),e.multipleOf=(r,o)=>e.check(cn(r,o)),e.step=(r,o)=>e.check(cn(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 gg(e){return qf(Hr,e)}var Zn=g("ZodNumberFormat",(e,t)=>{nf.init(e,t),Hr.init(e,t)});function Dc(e){return Yf(Zn,e)}function _x(e){return Jf(Zn,e)}function xx(e){return Xf(Zn,e)}function Cx(e){return Qf(Zn,e)}function wx(e){return ep(Zn,e)}var Vr=g("ZodBoolean",(e,t)=>{Ko.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>kp(e,n,r,o)});function hg(e){return tp(Vr,e)}var qr=g("ZodBigInt",(e,t)=>{Ga.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ap(e,r,o,i),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.lt=(r,o)=>e.check(xt(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.positive=(r)=>e.check(Ct(BigInt(0),r)),e.negative=(r)=>e.check(xt(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ge(BigInt(0),r)),e.nonnegative=(r)=>e.check(_e(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(cn(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function Ex(e){return rp(qr,e)}var Qc=g("ZodBigIntFormat",(e,t)=>{rf.init(e,t),qr.init(e,t)});function Rx(e){return ip(Qc,e)}function Px(e){return sp(Qc,e)}var yg=g("ZodSymbol",(e,t)=>{of.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Tp(e,n,r,o)});function kx(e){return ap(yg,e)}var bg=g("ZodUndefined",(e,t)=>{sf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function Ax(e){return cp(bg,e)}var vg=g("ZodNull",(e,t)=>{af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ip(e,n,r,o)});function Sg(e){return lp(vg,e)}var _g=g("ZodAny",(e,t)=>{cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function Tx(){return up(_g)}var xg=g("ZodUnknown",(e,t)=>{lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function Gn(){return dp(xg)}var Cg=g("ZodNever",(e,t)=>{uf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function el(e){return mp(Cg,e)}var wg=g("ZodVoid",(e,t)=>{df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function Ix(e){return fp(wg,e)}var fi=g("ZodDate",(e,t)=>{mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Lp(e,r,o,i),e.min=(r,o)=>e.check(_e(r,o)),e.max=(r,o)=>e.check(Ge(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 Ox(e){return pp(fi,e)}var Eg=g("ZodArray",(e,t)=>{ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Ft(n,r)),e.nonempty=(n)=>e.check(Ft(1,n)),e.max=(n,r)=>e.check(Wn(n,r)),e.length=(n,r)=>e.check(Fn(n,r)),e.unwrap=()=>e.element});function pi(e,t){return yp(Eg,e,t)}function zx(e){let t=e._zod.def.shape;return nl(Object.keys(t))}var gi=g("ZodObject",(e,t)=>{pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),I.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>nl(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Gn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Gn()}),e.strict=()=>e.clone({...e._zod.def,catchall:el()}),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(ol,e,n[0]),e.required=(...n)=>I.required(il,e,n[0])});function Nx(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new gi(n)}function Dx(e,t){return new gi({type:"object",shape:e,catchall:el(),...I.normalizeParams(t)})}function $x(e,t){return new gi({type:"object",shape:e,catchall:Gn(),...I.normalizeParams(t)})}var hi=g("ZodUnion",(e,t)=>{Yo.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.options=t.options});function tl(e,t){return new hi({type:"union",options:e,...I.normalizeParams(t)})}var Rg=g("ZodXor",(e,t)=>{hi.init(e,t),gf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.options=t.options});function Lx(e,t){return new Rg({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Pg=g("ZodDiscriminatedUnion",(e,t)=>{hi.init(e,t),hf.init(e,t)});function Mx(e,t,n){return new Pg({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var kg=g("ZodIntersection",(e,t)=>{yf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o)});function Ag(e,t){return new kg({type:"intersection",left:e,right:t})}var Tg=g("ZodTuple",(e,t)=>{Za.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Ig(e,t,n){let r=t instanceof D,o=r?n:t;return new Tg({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var yi=g("ZodRecord",(e,t)=>{bf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Og(e,t,n){return new yi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function Wx(e,t,n){let r=he(e);return r._zod.values=void 0,new yi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function Fx(e,t,n){return new yi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var zg=g("ZodMap",(e,t)=>{vf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(wt(...n)),e.nonempty=(n)=>e.check(wt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Mn(...n))});function Gx(e,t,n){return new zg({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Ng=g("ZodSet",(e,t)=>{Sf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.min=(...n)=>e.check(wt(...n)),e.nonempty=(n)=>e.check(wt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Mn(...n))});function Zx(e,t){return new Ng({type:"set",valueType:e,...I.normalizeParams(t)})}var Br=g("ZodEnum",(e,t)=>{_f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Mp(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 nl(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 Bx(e,t){return new Br({type:"enum",entries:e,...I.normalizeParams(t)})}var Dg=g("ZodLiteral",(e,t)=>{xf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(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 Ux(e,t){return new Dg({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var $g=g("ZodFile",(e,t)=>{Cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zp(e,n,r,o),e.min=(n,r)=>e.check(wt(n,r)),e.max=(n,r)=>e.check(ln(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function jx(e){return bp($g,e)}var Lg=g("ZodTransform",(e,t)=>{wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(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 rl(e){return new Lg({type:"transform",transform:e})}var ol=g("ZodOptional",(e,t)=>{Ba.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function li(e){return new ol({type:"optional",innerType:e})}var Mg=g("ZodExactOptional",(e,t)=>{Ef.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Wg(e){return new Mg({type:"optional",innerType:e})}var Fg=g("ZodNullable",(e,t)=>{Rf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ui(e){return new Fg({type:"nullable",innerType:e})}function Hx(e){return li(ui(e))}var Gg=g("ZodDefault",(e,t)=>{Pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Zg(e,t){return new Gg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Bg=g("ZodPrefault",(e,t)=>{kf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ug(e,t){return new Bg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var il=g("ZodNonOptional",(e,t)=>{Af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function jg(e,t){return new il({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Hg=g("ZodSuccess",(e,t)=>{Tf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Vx(e){return new Hg({type:"success",innerType:e})}var Vg=g("ZodCatch",(e,t)=>{If.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function qg(e,t){return new Vg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Kg=g("ZodNaN",(e,t)=>{Of.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function qx(e){return hp(Kg,e)}var sl=g("ZodPipe",(e,t)=>{zf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.in=t.in,e.out=t.out});function di(e,t){return new sl({type:"pipe",in:e,out:t})}var al=g("ZodCodec",(e,t)=>{sl.init(e,t),Jo.init(e,t)});function Kx(e,t,n){return new al({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var Yg=g("ZodReadonly",(e,t)=>{Nf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Jg(e){return new Yg({type:"readonly",innerType:e})}var Xg=g("ZodTemplateLiteral",(e,t)=>{Df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(e,n,r,o)});function Yx(e,t){return new Xg({type:"template_literal",parts:e,...I.normalizeParams(t)})}var Qg=g("ZodLazy",(e,t)=>{Mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function eh(e){return new Qg({type:"lazy",getter:e})}var th=g("ZodPromise",(e,t)=>{Lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Jx(e){return new th({type:"promise",innerType:e})}var nh=g("ZodFunction",(e,t)=>{$f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o)});function Xx(e){return new nh({type:"function",input:Array.isArray(e?.input)?Ig(e?.input):e?.input??pi(Gn()),output:e?.output??Gn()})}var bi=g("ZodCustom",(e,t)=>{Wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function Qx(e){let t=new J({check:"custom"});return t._zod.check=e,t}function eC(e,t){return vp(bi,e??(()=>!0),t)}function rh(e,t={}){return Sp(bi,e,t)}function oh(e){return _p(e)}var tC=xp,nC=Cp;function rC(e,t={}){let n=new bi({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 oC=(...e)=>wp({Codec:al,Boolean:Vr,String:Ur},...e);function iC(e){let t=eh(()=>tl([Nc(e),gg(),hg(),Sg(),pi(t),Og(Nc(),t)]));return t}function sC(e,t){return di(rl(e),t)}var aC={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 cC(e){se({customError:e})}function lC(){return se().customError}var cl;(function(e){})(cl||(cl={}));var jD=()=>{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=zd(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 ${ba(o.values[0])}`;return`Invalid option: expected one of ${ga(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":""}: ${ga(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 ih(){return{localeError:jD()}}var sh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ll={};dn(ll,{bigint:()=>KD,boolean:()=>qD,date:()=>YD,number:()=>VD,string:()=>HD});function HD(e){return Zf(Ur,e)}function VD(e){return Kf(Hr,e)}function qD(e){return np(Vr,e)}function KD(e){return op(qr,e)}function YD(e){return gp(fi,e)}se(ih());var JD=ul;var uC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var vi=64,dC="Rule config exceeds CC Safety Net's safe source limit.";var aU=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var ch=[{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"}],dl={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},XD=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],QD=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],lh=[{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"]},...QD.flatMap((e)=>XD.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 ml=[{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"]}],mC=[{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"}],e$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],uh=mC.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})),dh=mC.flatMap((e)=>e$.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}))),Si={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)$/},mh=["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})),fh=[{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?$/}],fC=[...ch,dl,...lh,...uh,...dh,Si,...mh,...fh,...ml].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}})),pC=new Set(ml.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),t$=fC.map((e)=>e.id),fl=new Set(t$);var _U=n$(import.meta.url),gC,r$=Array(vi+1).fill("over-limit"),hC=/^[^/]+\/[^/]+$/,o$=/^sha256:[a-f0-9]{64}$/,pl=`must be an integer between ${Sl} and ${_l}`,i$=["version","rules","overrides","transparent_wrappers"],s$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function yC(e){if(!Ye(e)||!Array.isArray(e.rules)||e.rules.length<=vi)return e;return{$schema:e.$schema,version:e.version,rules:r$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function a$(){let e=ah,t=(x)=>{let v=e.superRefine(x);return v._zod.def.when=()=>!0,v},n=e.enum(uC),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(bn,"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(vi,dC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:hC.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=(x,v)=>{if(!Ye(x))return;if(Array.isArray(x.rules)&&x.rules.length<=vi){let k=new Set;x.rules.forEach((z,L)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",L]});return}let W=Xr(z);if(W){v.addIssue({code:"custom",message:W,path:["rules",L]});return}if(k.has(z)){v.addIssue({code:"custom",message:`duplicate rulebook source "${z}"`,path:["rules",L]});return}k.add(z)})}if(Ye(x.overrides))for(let k of Object.keys(x.overrides)){if(hC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(x.transparent_wrappers))return;let T=new Set;x.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!bn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Rv(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(yC,s.check(e.superRefine(a))),l=e.preprocess(yC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(x,v)=>e.intersection(e.record(e.string().refine((T)=>x.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(x)=>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=hn();v.forEach((z,L)=>{if(typeof z!=="string")return;let W=x(z,k);if(W)T.addIssue({code:"custom",message:W,path:[L]})})})),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(Xi,"destructive command").optional(),allow_paths:f(Ws).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(fl,"secret protection").optional(),deny_paths:f(Fs).optional(),allow_paths:f(Gs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:pl}).int(pl).min(Sl,pl).max(_l,pl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(x)=>{let v=(L,W)=>x==="legacy"?L: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(lt,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(bn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(bn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((L)=>L!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((L)=>L.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((L)=>L!=="",{error:v("must not be empty",k)}).refine((L)=>L.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((L,W)=>{if(!Array.isArray(L))return;let U=new Set;L.forEach((ge,Ze)=>{let A=Ye(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:[Ze,"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((x)=>x.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((x,v)=>{if(!Ye(x))return;if(x.expect!=="blocked"||typeof x.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),E=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(lt,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((x)=>x!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(bn,"must match command pattern"),{error:"required array"}).check(t((x,v)=>{if(!Array.isArray(x))return;let T=new Set;x.forEach((k,z)=>{if(typeof k!=="string"||!bn.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((x,v)=>{if(!Ye(x))return;let T=new Set(ph(x));if(Array.isArray(x.tests)){let z=new Set(x.tests.flatMap((L)=>Ye(L)&&L.expect==="blocked"&&typeof L.rule==="string"?[L.rule]:[]));for(let L of z){if(T.has(L))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${L}"`,path:["tests"]})}}if(!Array.isArray(x.allowed_commands)||!Array.isArray(x.rules))return;let k=new Set(x.allowed_commands.filter((z)=>typeof z==="string"));x.rules.forEach((z,L)=>{let W=Ye(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",L,"command"]})})})),w=e.string({error:"required string"}).refine((x)=>x.trim()!=="",{error:"required string"}),R=e.looseObject({spec:w,name:w,version:w,digest:e.string({error:"required sha256 digest"}).regex(o$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(R,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:(x)=>{if(!Ye(x.input))return"must be an object";let v=x.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:E,RulesLockfileSchema:P}}function _i(){return gC??=a$(),gC}function bC(){return _i().RulesConfigSchema}function c$(){return _i().UserPolicySchema}function vC(){return _i().RulebookSchema}function SC(){return _i().RulesLockfileSchema}function ph(e){let t=Ye(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Ye(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function _C(e){let t=_i().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:Kr(wC(t.error.issues,i$)),sources:m$(e,t.error.issues)}}function xC(e){let t=c$().safeParse(e);if(t.success)return[];return Kr(wC(t.error.issues,s$)," ")}function Kr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>CC(r,t,n,[])))]}function CC(e,t,n,r){let o=[...r,...e.path],i=d$(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)=>CC(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}${l$(e)}`]}function l$(e){if(e.code==="invalid_value")return`must be ${u$(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 u$(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 d$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function wC(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 m$(e,t){let n=Ye(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 Ye(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function f$(e){return _C(e)}function gh(e){try{let t=mn(p$(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=f$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=bC().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 p$(e){return typeof e==="string"?zi(e):e}var v$=new Set(["standard","strict","paranoid"]),S$={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:Ai}};function hh(e){return b$(y$(fn(e)),$i)}function kC(e={}){let t=E$(hh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function EC(e){if(!Pt(e))return w$();let t=Pt(e.safety)?e.safety:{},n=Pt(t.overrides)?t.overrides:{},r=Pt(e.workflow)?e.workflow:{},o=Pt(e.destructive_command_protection)?e.destructive_command_protection:{},i=Pt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:v$.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:RC(o.overrides,Xi),allow_paths:x$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:RC(i.overrides,fl),deny_paths:_$(i.deny_paths),allow_paths:C$(i.allow_paths)},audit:{retention_days:Ti(Pt(e.audit)?e.audit.retention_days:void 0)}}}function RC(e,t){if(!Pt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function _$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Fs(n,t)===null)}function x$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Ws(n,t)===null)}function C$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Gs(n,t)===null)}function Pt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function w$(){return structuredClone(S$)}function E$(e){let t=R$();if(!g$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!Pt(n))return{policy:t,errors:[]};return{policy:PC(EC(n)),errors:[]}}try{let n=h$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=xC(r),i=PC(EC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:Pt(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 AC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...pC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function R$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:AC({}),denyPaths:[],allowPaths:[]}}}function PC(e){return{safety:P$(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:AC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function P$(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 zC="This path contains the protected policy config and you must not modify or delete it.",A$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function NC(e){let t=gn(Ot()),n=D$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return TC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=Ne(e,"input-candidate");if(e.invocation.route.kind==="command")return r?IC(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=IC(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return TC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Os(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function TC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>xi(s,n,r,o));return i?{target:i}:null}function IC(e,t,n,r){let o=Ns(e,t,r,{findSegmentTarget:(i,s)=>T$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>xi(i,s.cwd,n,r),findMalformedTarget:(i)=>N$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function T$(e,t,n,r){if(So(e))return null;let o=r.environment,i=Kt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&I$(a)){let c=O$(a).find((l)=>OC(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Ks(i,1)||Du(i,o)){let l=(qs(j(i))??j(["."])).find((u)=>{let d=De(u.text,t.variables);return xi(d,t.cwd,n,r)||OC(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=Ds(a).sources.find((l)=>$$(De(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 DC(c))if(xi(De(l,t.variables),t.cwd,n,r))return{target:l};return null}function I$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function O$(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=Kt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!A$.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 N$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of DC(o))if(xi(i,t,n,r))return{target:i};return null}function DC(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function D$(e,t){let n=ve(hh(),e,t),r=yh(n),o=new Set;for(let i=r;;i=yh(i))if(o.add(Yr(i)),yh(i)===i)break;return{file:Yr(n),directoryAndAncestors:o}}function xi(e,t,n,r){let o=ev(e,t,r,(i)=>Yr(i)===k$(n.file));return o!==null&&Yr(o)===n.file}function OC(e,t,n,r){return n.directoryAndAncestors.has(Yr(ve(e,t,r)))}function $$(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 vh}from"node:os";import{isAbsolute as gl,posix as L$,resolve as yl,win32 as M$}from"node:path";import{fileURLToPath as W$}from"node:url";var HC="Access to a sensitive path is not allowed.",VC=new Set(["echo","printf"]),F$=new Set(["find"]),G$=new Set(["-exec","-execdir"]),Z$=new Set([";","+"]),B$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),U$=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),j$=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),H$=new Set(["node","bun"]),V$=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),q$=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"]),K$=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),$C=new Set(["cc-safety-net","ccsn"]),Y$=new Set(["bunx","npx","pnpx"]),J$=new Set(["bun","node"]),X$=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"])]]),Q$=new Set(["grep","rg"]),LC="f",MC="file",e0="files",t0=new Set(["e","f"]),n0=new Set(["regexp","file"]),r0=new Set(["e","f","A","B","C","m"]),o0=new Set(["regexp","file","after-context","before-context","context","max-count"]),i0=new Set(["|","|&"]),bh="__CC_SAFETY_NET_PIPE_INPUT__",KC=new Set(["bash","sh","zsh","dash","ksh"]),s0=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 WC(e,t,n,r,o){let i=eo();for(let s of e){if(V0(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=j0(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&q0(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function YC(e,t,n={}){let r=FC(e),o=WC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?FC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:WC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&a0(e))return null;return s}function a0(e){if(e.invocation.route.kind!=="command")return!1;let t=Ne(e,"input-candidate")??Ne(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(pt(s.text))}let r=Jr(n);if(r.length===0)return!1;let o=Un(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)=>B$.has(s))}function FC(e,t={}){if(e.invocation.route.kind==="command"){let r=Ne(e,"input-candidate");return r?Ei(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=Ne(e,"input-candidate");return[...n?Ei(n.shell,e.store,t):[],...e.paths]}function Ei(e,t,n){if(e.status==="structural-limit")throw new ft;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...P0(pt(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(...hl(o,t,n)),i!==null)r.push(...ZC(i,o,t,n));i=i0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?pt(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(pt(s.text))}if(o.length>0){if(r.push(...hl(o,t,n)),i!==null)r.push(...ZC(i,o,t,n))}return r}function hl(e,t,n){let r=y0(e),o=Jr(e);if(o.length===0)return r;let i=o[0]??"",s=Un(i).toLowerCase(),a=o.slice(1),c=l0(i,s,a);if(c)return[...r,...c];if(VC.has(s))return r;if(Q$.has(s))return[...r,...D0(a)];if(F$.has(s))return[...r,...b0(a,t,n)];if($e.has(s))return[...r,...a.flatMap((l)=>BC("awk",l)),...a.flatMap((l)=>S0(l,t,n)),...a.flatMap(_0)];if(QC(s)){if(KC.has(s)){let l=Jb(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new ft}return[...r,...v0(s,a,n)]}return[...r,...a.flatMap((l)=>BC(s,l))]}function c0(e,t){if($C.has(e))return t[0]==="explain"?0:null;if(Y$.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return $C.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(J$.has(e)){if(GC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&GC(t[1])&&t[2]==="explain")return 2}return null}function l0(e,t,n){let r=c0(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 GC(e){let t=e?.replaceAll("\\","/");return[...K$].some((n)=>t===n||t?.endsWith(`/${n}`))}function ZC(e,t,n,r){if(p0(t,n,r))return u0(e);let o=g0(t);if(o===null)return[];return d0(e).flatMap((i)=>KC.has(o)?Ei(n.getShellSyntax(i),n,r):tw(i))}function u0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(t[0]??"").toLowerCase();if(!VC.has(n))return[];return t.slice(1)}function d0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(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 m0(r);return[]}function m0(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[JC(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>f0(t,r.slice(i*n,(i+1)*n)))}function f0(e,t){let n=0;return JC(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function JC(e){return e.replace(/\\n/g,`
98
- `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function p0(e,t,n){let r=Jr(e);if(r.length===0||Un(r[0]??"").toLowerCase()!=="xargs")return!1;let o=kn(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,bh]:i.map((c)=>c.split(s).join(bh));return hl(a,t,n).some((c)=>c.includes(bh))}function g0(e){let t=Jr(e);if(t.length===0)return null;let n=Un(t[0]??"").toLowerCase();if(!QC(n))return null;return h0(n,t.slice(1))?n:null}function h0(e,t){let n=XC(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(qC.has(o)||ew(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(s0.get(n)?.has(o))r++;continue}return!1}return!0}function XC(e){return/^python\d/.test(e)?"python":e}function y0(e){let t=[];for(let n of e){if(ow(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 BC(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 b0(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(!G$.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>Z$.has(u)),c=a===-1?s:s.slice(0,a),l=hl(c,t,n);if(o.push(...l.filter((u)=>u!=="{}")),!l.includes("{}"))continue;o.push(...e.slice(0,i).flatMap((u,d,f)=>{if(!U$.has(u))return[];let m=f[d+1];return m===void 0?[]:[m,m.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function QC(e){return j$.has(e)||/^python\d/.test(e)}function v0(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)||ew(e,i)){let a=t[o+1];if(a!==void 0)r.push(...UC(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...UC(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function ew(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return X$.get(t[t.length-1]??"")?.has(XC(e))??!1}function S0(e,t,n){if(!e.includes("system"))return[];return Iu(e)?.commands.flatMap((r)=>Ei(t.getShellSyntax(r),t,n))??[]}function _0(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 tw(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(nw),...n]}function UC(e,t,n){let r=tw(t);if(!n.refineJavaScriptInlineData||!H$.has(e)||r.length===0)return r;let o=x0(t);return o!==null&&!w0(o)?[]:r}function x0(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&C0(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===`
99
- `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function C0(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 w0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(V$.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)=>q$.has(i)))continue;if(o.length>1)return!0;if(E0(e,r)===".")return!0;if(R0(e,r+n.length)==="(")return!0}return!1}function E0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function R0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function P0(e,t,n){return O0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Ei(o,t,n),...k0(o)?A0(o):[]]})}function k0(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||Un(pt(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=pt(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function A0(e){return e.entries.flatMap((t)=>t.kind==="word"?[pt(t.text)]:t.kind==="redirection"&&t.target?[pt(t.target)]:[]).flatMap(nw)}function nw(e){let t=I0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||T0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function T0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function I0(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 O0(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(go(o,n))continue;if(rw(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=N0(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(go(i,n))continue;if(rw(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 N0(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 rw(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function D0(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===e0)o=!0;if(n0.has(d))r=!0;if(f!==void 0){if(d===MC)t.push(f);continue}if(o0.has(d)){let m=e[c+1];if(d===MC&&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(t0.has(h))r=!0;if(r0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===LC)t.push(m)}else{let p=e[c+1];if(f===LC&&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)=>!ow(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function ow(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var $0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),L0=".env.",M0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),W0=[".env.example.",".env.sample."];function F0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function G0(e){return e.length>0&&!/\s/.test(e)}function Z0(e,t,n){try{let r=Ri(e,t,n);return r!==""&&Be.entryKind(r)!=="missing"}catch(r){if(r instanceof be)throw r;return!1}}var B0=new Set(["node_modules","__pycache__"]),U0=[["vendor","bundle"],["vendor","cache"]];function j0(e,t,n,r){if(F0(e))return null;let o=Zt(e,t,r);if(!o)return null;let i=re(o.split("/").pop()??""),s=re(o),a=()=>G0(i)||Z0(e,t,r);if(M0.has(i)||W0.some((d)=>i.startsWith(d)))return null;let c=re(J0(e,t,r));for(let d of lh){let f=`~/${d.suffixParts.join("/")}`;if((jC(s,f)||jC(c,f))&&Gt(d.id,n))return d.id}let l=H0(o,t,n,r);if(l)return l;if($0.has(i))return null;for(let d of ch)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(L0)&&Gt(dl.id,n)&&a())return dl.id;for(let d of uh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Gt(d.id,n)&&a())return d.id}for(let d of dh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Gt(d.id,n))return d.id}if(K0(s))return null;if(!i.includes(".")&&Si.pattern.test(i)&&Gt(Si.id,n))return Si.id;let u=Y0(i,n);if(u)return u;return null}function H0(e,t,n,r){return ml.find((o)=>{if(!Gt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=re(e).split("/");return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||wi(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 ne(e,Zt("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r);return ne(e,i,["auth.json",".credentials.json"])||Ci(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r),s=re(e).split("/").at(-1)??"";return ne(e,i,["config.toml"])||s.endsWith(".config.toml")&&ne(e,i,[s])}case"secret.cli.gemini":return ne(e,ye(ie(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=re(e).split("/"),s=process.env.ProgramData?[ye(ie(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return ne(e,ye(ie(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()?wi(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>ne(e,Zt(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=ie(process.env.COPILOT_HOME,"~/.copilot",t,r);return ne(e,i,["config.json"])||Ci(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return ne(e,ie(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return ne(e,i,["server.token"])||Ci(e,i,["credentials"])||Ci(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=re(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||ne(e,ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||ne(e,ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ye(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=re(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return ne(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&ne(e,i,[s])||c.some((l)=>wi(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?ie(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ye(ie(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(re(e).split("/").at(-1)??"")||ne(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?wi(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>ne(e,Zt(c,t,r),a))}case"secret.cli.pi":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=Zt("~",t,r);return[ye(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ye(i,".local","share","amp")].some((a)=>ne(e,a,["secrets.json"]))||Ci(e,ye(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ye(Zt("~",t,r),".config","amp")],a=re(e).split("/");return s.some((c)=>ne(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?wi(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ye(ie(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return ne(e,Zt("~/.cursor",t,r),["auth.json"])||ne(e,i,["auth.json"])||re(e).split("/").at(-1)==="mcp-auth.json"&&Bn(re(e),re(s))}case"secret.cli.cursor.config":{let i=re(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}default:return!1}})?.id??null}function ie(e,t,n,r){return Zt(e?.trim()?e:t,n,r)}function ne(e,t,n){return n.some((r)=>iw(e,ye(t,r)))}function Ci(e,t,n){return n.some((r)=>Bn(re(e),re(ye(t,r))))}function wi(e,t,n,r){return iw(e,Zt(t,n,r))}function iw(e,t){return re(e)===re(t)}function ye(e,...t){return at([e,...t].filter(Boolean).join("/"))}function V0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Ri(e,t,o));return n.some((s)=>Bn(i,re(Ri(s,r,o))))}function q0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Ri(e,t,o));if(!i)return!1;let s=process.env.HOME??vh(),a=s?at(Y(s,Be,o)):"",c=re(a),l=process.env.CC_SAFETY_NET_HOME,u=re(l?at(Y(yl(l),Be,o)):a&&at(Y(`${a}/.cc-safety-net`,Be,o)));if(u&&Bn(i,u))return!1;return n.some((d)=>{let f=re(Ri(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Bn(i,f)})}function K0(e){let t=e.split("/");return t.some((n)=>B0.has(n))||U0.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function Y0(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 mh)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of fh)if(o.pattern.test(r)&&Gt(o.id,t))return o.id;return null}function re(e){return e.toLowerCase()}function Gt(e,t){return!t?.disabledRules?.includes(e)}function Zt(e,t,n){let{home:r,normalized:o}=Sh(e,n);if(!o)return"";if(!r)return o;let i=_h(o,r),s=gl(i)?i:at(yl(t,i)),a=at(Y(s,Be,n));if(!Bn(a,r)){if(gl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function jC(e,t){return e===t||e.startsWith(`${t}/`)}function J0(e,t,n){let{home:r,normalized:o}=Sh(e,n);if(!o||!r)return"";let i=_h(o,r),s=L$.normalize(gl(i)?i:at(yl(t,i))),a=at(process.env.HOME??vh()),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Bn(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function Ri(e,t,n){let{home:r,normalized:o}=Sh(e,n);if(!o)return"";let i=r?_h(o,r):o;return at(Y(gl(i)?i:yl(t,i),Be,n))}function Sh(e,t){let n=process.env.HOME??vh(),r=n?at(Y(n,Be,t)):"",o=at(X0(pt(e)));return{home:r,normalized:o}}function X0(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return W$(e)}catch{return e}}function _h(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ye(t,e.slice(2));return e}function Q0(e){if(process.platform==="win32")return!0;return M$.parse(e).root.length>1}function at(e){let t=e.trim(),n=(Q0(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Bn(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function Un(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as bl}from"node:path";var sw="Rulebook exceeds CC Safety Net's safe validation limits.",aw="Additional rulebook validation errors were omitted.",ct=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function cw(e){if(xh(e.allowed_commands,ct.maxAllowedCommands)||xh(e.rules,ct.maxRules)||xh(e.tests,ct.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ct,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ct.maxStringCodeUnits||i&&o.length>ct.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>ct.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 xh(e,t){return Array.isArray(e)&&e.length>t}function eL(e){if(!tL(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!cw(e))return{errors:[sw],ruleNames:new Set};let t=vC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:Kr(t.error.issues,": ",": ")];return{errors:n.length>ct.maxValidationErrors?[...n.slice(0,ct.maxValidationErrors),aw]:n,ruleNames:new Set(ph(e).map((r)=>r.toLowerCase()))}}function Ch(e){let t=eL(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function tL(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function wh(e){if(Di(e.spec))return oL(e);return rL(e)}function rL(e){if(!lt.test(e.spec))return`Local rulebook sources must be bare names matching ${lt}: ${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 oL(e){let t=Xr(e.spec);if(t)return t;let n=Ni(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 lw(e){let t=typeof e==="string"?e:e.path;try{let n=mn(typeof e==="string"?zi(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=SC().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=wh(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 iL}from"node:crypto";var Zj=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function uw(e){return`sha256:${iL("sha256").update(e).digest("hex")}`}function gw(e={}){let t=Uh(e),n=!1;try{n=$h(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return lL(t,f.message);throw f}let r=gh(t.userConfigTarget),o=n?{config:null,errors:[]}:gh(t.projectConfigTarget),i=pw(t.userConfigPath,r.errors),s=pw(t.projectConfigPath,o.errors),a=new Set,c=r.config?dw(r.config,t.userLockPath,bl(t.userConfigPath),e,"user",t.userScope,a):Pi(),l=o.config?dw(o.config,t.projectLockPath,bl(t.projectConfigPath),e,"project",t.projectScope,a):Pi(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...mw(c.rules,u),...mw(l.rules,d)],transparent_wrappers:aL(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?fw(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?cL(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?fw(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function dw(e,t,n,r,o,i=Bt(bl(bl(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=At(i,t)}catch(b){if(b instanceof ae)return{...Pi(),errors:[b.message],canValidateOverrides:!1};throw b}let c=lw(a);if(c.errors.length>0)return{...Pi(),errors:c.errors,canValidateOverrides:!1};let l=c.lock;if(!l&&e.rules.length>0)return{...Pi(),errors:[`missing lockfile ${t}; run ${Ht}`],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 ${Ht}`),[];let E=sL(y,n,r,i);if(E.errors.length>0||!E.rulebook)return f.push(...E.errors),[];let w=E.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 ${Ht}`),[];return s.add(w.name),[{rules:w.rules.map((R)=>({...R,name:`${w.name}/${R.name}`})),rulebook:{source:o,spec:y.spec,name:w.name,version:w.version,rules:w.rules.map((R)=>`${w.name}/${R.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 sL(e,t,n,r){let o=Pl(e,kl(t,n)),i;try{i=mn(At(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 ${Ht}`]};if(uw(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Ht}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{Ch(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 aL(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function mw(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 fw(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 cL(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 pw(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function lL(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath,userLockPath:e.userLockPath,projectLockPath:e.projectLockPath}}function Pi(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function hw(e={}){let t=gw(e),n=kC(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}),...fL(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return pL(r,uL(t,n),i)}function uL(e,t){let n=mL(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:gL(e.errors.length>0?dL(e.errors):void 0,e.warnings.length>0?Eh(e.warnings.join("; ")):void 0,n)}}function dL(e){return`${Eh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function mL(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 fL(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function pL(e,t,n=Object.freeze({})){let r=yw(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 yw(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))yw(t);return Object.freeze(e)}function gL(...e){return Eh(e.filter((t)=>!!t).join("; "))}function Eh(e){return/[.!?]$/.test(e)?e:`${e}.`}class un 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 hL={findPolicyMutation:NC,findGitMetadataMutation:ov,resolveGitMetadata:_u,loadPolicySnapshot:hw,findSensitiveTarget:YC,analyzeCommand:m_,getModes:_d};function bw(e,t={}){let n={...hL,...t.dependencies},r=vL(e),o=ki(e)?e.command:r,i=jn("policy-protection",o,()=>zs(e,t.factParserDependencies)),s=Ne(i,"declared-command");if(ki(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:It,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(Ne(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:sy,intent:"stop_and_explain",evidence:[]}};let a=jn("policy-protection",o,()=>n.resolveGitMetadata(e.context.executionCwd)),c=jn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:zC,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=jn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:He,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=jn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,...yL(u)},p=d.secretProtection.enabled===!1?null:jn("secret-protection",o,()=>n.findSensitiveTarget(i,d.secretProtection,{strict:ki(e)?f.strict:void 0}));if(p){let b=o??p.target;return{stage:"secret-protection",...m,decision:{kind:"deny",reason:HC,intent:"hard_stop",ruleId:p.ruleId,evidence:[{kind:"command",command:b,segment:p.target}]}}}if(!ki(e))return{stage:"non-command",...m,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...Rh("command-validation",o),...m};let h=jn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:Ot(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},bL(i),i.store));if(h)return{stage:"command-analysis",...m,decision:h};return{stage:"command-analysis",...m,decision:{kind:"allow"}}}function yL(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function bL(e){return Ne(e,"declared-command")?.program}function vL(e){try{return vo(e.input)}catch(t){let n=ki(e)?e.command:void 0;throw new un("policy-protection",Rh("policy-protection",t instanceof Lt?void 0:n,t),t)}}function jn(e,t,n){try{return n()}catch(r){throw new un(e,Rh(e,r instanceof Lt?void 0:t,r),r)}}function Rh(e,t,n){let r=n instanceof be||n instanceof ft;return{stage:e,decision:{kind:"deny",reason:r?ay:Wi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function ki(e){return e.route.kind==="command"}function Sw(e,t){try{let n=bw(e,t.guard);return vw(e,n,t),n}catch(n){if(!(n instanceof un))throw n;throw vw(e,n.evaluation,t,!(n.cause instanceof Lt),{stage:n.stage,errorCode:SL(n.cause)}),n}}function vw(e,t,n,r=!0,o){ty(ey(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function SL(e){if(e instanceof be)return"path-canonicalization-limit";if(e instanceof Lt)return"tool-input-limit";if(e instanceof ft)return"structural-shell-syntax-limit";return"unexpected-error"}var xw="exec",_L=new Set(["auto","gateway"]);function Cw(e){e.on("before_tool_call",xL(e),{matcher:[xw],priority:50})}function xL(e,t={}){return(n,r)=>{if(r.abortSignal?.aborted)return Ph(zl());let o=CL(n,r,e);if(!o)return;let i=()=>r.sessionId??r.sessionKey;if("malformed"in o)return ny(o.denial,i,{agent:"openclaw",toolName:o.denial.toolName,cwd:o.cwd}),Ph(o.denial);try{let s=Sw(o,{guard:{auditAllowed:vd(),dependencies:t.guardDependencies},audit:{agent:"openclaw",getSessionId:i}});return _w(s,!0)}catch(s){if(!(s instanceof un))throw s;if(nn(me.debug))console.error(`CC Safety Net debug: openclaw before_tool_call analysis failed: ${my(s.cause)}`);return _w(s.evaluation,!0)}}}function CL(e,t,n){if(!e||typeof e!=="object")return Hn(null);let r=e.toolName;if(typeof r!=="string"||r.trim()==="")return Hn(null);if(r!==xw)return;if(e.toolKind!==void 0)return;let o=e.params;if(!o||typeof o!=="object"||Array.isArray(o))return Hn(null,r);let i=o,s=i.command;if(typeof s!=="string"||s.trim()==="")return Hn(null,r);if(i.host!==void 0&&!_L.has(i.host))return Hn(null,r,s);let a=wL(n,t.agentId);if(!a)return Hn(null,r,s);let c=EL(a,i);if(!c)return Hn(a,r,s,typeof i.workdir==="string"?i.workdir:void 0);return ma(r,i,{kind:"command",shell:"auto"},{configCwd:a,executionCwd:c},s)}function wL(e,t){if(typeof t!=="string"||t.trim()==="")return;try{let n=e.runtime.agent.resolveAgentWorkspaceDir(e.config,t);if(typeof n!=="string"||n.trim()==="")return;return Mi(".",[n])}catch{return}}function EL(e,t){if(!Object.hasOwn(t,"workdir")||t.workdir===void 0)return e;let n=t.workdir;if(typeof n!=="string"||n.trim()==="")return;return Mi(n,[e])}function Hn(e,t,n,r){return{malformed:!0,denial:zl({command:n,segment:r,toolName:t}),cwd:e}}function _w(e,t){let n=uy(e,{includeEvidence:t});return n?Ph(n):void 0}function Ph(e){return{block:!0,blockReason:dy(e)}}var L2={...Th,register:Cw};export{L2 as default};
97
+ `)}m.write("payload.value = newResult;"),m.write("return payload;");let E=m.compile();return(w,R)=>E(f,w,R)},i,s=Dn,a=!Mo.jitless,l=a&&kd.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 F_([],p,f,m,d,e)}return n(f,m)}});function P_(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)=>!an(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 Yo=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)=>Go(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 P_(a,o,e,i);return Promise.all(a).then((c)=>P_(c,o,e,i))}});function k_(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 hf=g("$ZodXor",(e,t)=>{Yo.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 k_(a,o,e,i);return Promise.all(a).then((c)=>k_(c,o,e,i))}}),yf=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Yo.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(!Dn(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}}),bf=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])=>A_(n,c,l));return A_(n,i,s)}});function Tm(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(sn(e)&&sn(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=Tm(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=Tm(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 A_(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(an(e))return e;let s=Tm(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(...We(n,e.issues));t.value[n]=e.value}var vf=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!sn(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(...We(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...We(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"&&Ho.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(...We(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...We(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),Sf=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])=>{T_(u,d,n,s,o,e,r)}));else T_(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function T_(e,t,n,r,o,i,s){if(e.issues.length)if(Zo.has(typeof r))n.issues.push(...We(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(Zo.has(typeof r))n.issues.push(...We(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 _f=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)=>I_(c,n)));else I_(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function I_(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var xf=g("$ZodEnum",(e,t)=>{D.init(e,t);let n=Fo(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Zo.has(typeof o)).map((o)=>typeof o==="string"?qe(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}}),Cf=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"?qe(r):r?qe(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}}),wf=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}}),Ef=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(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 O_(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(`^(${Go(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)=>O_(i,n.value));return O_(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Rf=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)}),Pf=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(`^(${Go(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)}}),kf=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)=>z_(i,t));return z_(o,t)}});function z_(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Af=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)}}),Tf=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)=>N_(i,e));return N_(o,e)}});function N_(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 If=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn("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}}),Of=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}}),zf=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}}),Nf=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 Jo=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)=>Ma(s,t,r));return Ma(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Ma(s,t,r));return Ma(i,t,r)}}});function Ma(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 Df=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(D_);return D_(o)}});function D_(e){return e.value=Object.freeze(e.value),e}var $f=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||Td.has(typeof r))n.push(qe(`${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}}),Lf=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?xa(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return xa(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)),Mf=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))}),Wf=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)}),Ff=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)=>$_(i,n,r,e));$_(o,n,r,e);return}});function $_(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 Xo={};var Z_,ja=Symbol("ZodOutput"),Ha=Symbol("ZodInput");class Gf{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 Qo(){return new Gf}(Z_=globalThis).__zod_globalRegistry??(Z_.__zod_globalRegistry=Qo());var Ae=globalThis.__zod_globalRegistry;function Zf(e,t){return new e({type:"string",..._(t)})}function Bf(e,t){return new e({type:"string",coerce:!0,..._(t)})}function Va(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,..._(t)})}function ei(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,..._(t)})}function qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._(t)})}function Ja(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._(t)})}function ti(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,..._(t)})}function Xa(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,..._(t)})}function Qa(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,..._(t)})}function ec(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,..._(t)})}function tc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,..._(t)})}function nc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,..._(t)})}function rc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,..._(t)})}function oc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,..._(t)})}function ic(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,..._(t)})}function sc(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,..._(t)})}function Uf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,..._(t)})}function ac(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(t)})}function cc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(t)})}function lc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._(t)})}function uc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._(t)})}function dc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._(t)})}function mc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._(t)})}var fc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function jf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(t)})}function Hf(e,t){return new e({type:"string",format:"date",check:"string_format",..._(t)})}function Vf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,..._(t)})}function Kf(e,t){return new e({type:"string",format:"duration",check:"string_format",..._(t)})}function qf(e,t){return new e({type:"number",checks:[],..._(t)})}function Yf(e,t){return new e({type:"number",coerce:!0,checks:[],..._(t)})}function Jf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._(t)})}function Xf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",..._(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",..._(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",..._(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",..._(t)})}function np(e,t){return new e({type:"boolean",..._(t)})}function rp(e,t){return new e({type:"boolean",coerce:!0,..._(t)})}function op(e,t){return new e({type:"bigint",..._(t)})}function ip(e,t){return new e({type:"bigint",coerce:!0,..._(t)})}function sp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",..._(t)})}function ap(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",..._(t)})}function cp(e,t){return new e({type:"symbol",..._(t)})}function lp(e,t){return new e({type:"undefined",..._(t)})}function up(e,t){return new e({type:"null",..._(t)})}function dp(e){return new e({type:"any"})}function mp(e){return new e({type:"unknown"})}function fp(e,t){return new e({type:"never",..._(t)})}function pp(e,t){return new e({type:"void",..._(t)})}function gp(e,t){return new e({type:"date",..._(t)})}function hp(e,t){return new e({type:"date",coerce:!0,..._(t)})}function yp(e,t){return new e({type:"nan",..._(t)})}function xt(e,t){return new za({check:"less_than",..._(t),value:e,inclusive:!1})}function Ge(e,t){return new za({check:"less_than",..._(t),value:e,inclusive:!0})}function Ct(e,t){return new Na({check:"greater_than",..._(t),value:e,inclusive:!1})}function _e(e,t){return new Na({check:"greater_than",..._(t),value:e,inclusive:!0})}function pc(e){return Ct(0,e)}function gc(e){return xt(0,e)}function hc(e){return Ge(0,e)}function yc(e){return _e(0,e)}function cn(e,t){return new dm({check:"multiple_of",..._(t),value:e})}function ln(e,t){return new pm({check:"max_size",..._(t),maximum:e})}function wt(e,t){return new gm({check:"min_size",..._(t),minimum:e})}function Mn(e,t){return new hm({check:"size_equals",..._(t),size:e})}function Wn(e,t){return new ym({check:"max_length",..._(t),maximum:e})}function Ft(e,t){return new bm({check:"min_length",..._(t),minimum:e})}function Fn(e,t){return new vm({check:"length_equals",..._(t),length:e})}function Rr(e,t){return new Sm({check:"string_format",format:"regex",..._(t),pattern:e})}function Pr(e){return new _m({check:"string_format",format:"lowercase",..._(e)})}function kr(e){return new xm({check:"string_format",format:"uppercase",..._(e)})}function Ar(e,t){return new Cm({check:"string_format",format:"includes",..._(t),includes:e})}function Tr(e,t){return new wm({check:"string_format",format:"starts_with",..._(t),prefix:e})}function Ir(e,t){return new Em({check:"string_format",format:"ends_with",..._(t),suffix:e})}function bc(e,t,n){return new Rm({check:"property",property:e,schema:t,..._(n)})}function Or(e,t){return new Pm({check:"mime_type",mime:e,..._(t)})}function at(e){return new km({check:"overwrite",tx:e})}function zr(e){return at((t)=>t.normalize(e))}function Nr(){return at((e)=>e.trim())}function Dr(){return at((e)=>e.toLowerCase())}function $r(){return at((e)=>e.toUpperCase())}function Lr(){return at((e)=>Pd(e))}function bp(e,t,n){return new e({type:"array",element:t,..._(n)})}function SD(e,t,n){return new e({type:"union",options:t,..._(n)})}function _D(e,t,n){return new e({type:"union",options:t,inclusive:!1,..._(n)})}function xD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,..._(r)})}function CD(e,t,n){return new e({type:"intersection",left:t,right:n})}function wD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,..._(o?r:n)})}function ED(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,..._(r)})}function RD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,..._(r)})}function PD(e,t,n){return new e({type:"set",valueType:t,..._(n)})}function kD(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,..._(n)})}function AD(e,t,n){return new e({type:"enum",entries:t,..._(n)})}function TD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],..._(n)})}function vp(e,t){return new e({type:"file",..._(t)})}function ID(e,t){return new e({type:"transform",transform:t})}function OD(e,t){return new e({type:"optional",innerType:t})}function zD(e,t){return new e({type:"nullable",innerType:t})}function ND(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Ad(n)}})}function DD(e,t,n){return new e({type:"nonoptional",innerType:t,..._(n)})}function $D(e,t){return new e({type:"success",innerType:t})}function LD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function MD(e,t,n){return new e({type:"pipe",in:t,out:n})}function WD(e,t){return new e({type:"readonly",innerType:t})}function FD(e,t,n){return new e({type:"template_literal",parts:t,..._(n)})}function GD(e,t){return new e({type:"lazy",getter:t})}function ZD(e,t){return new e({type:"promise",innerType:t})}function Sp(e,t,n){let r=_(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function _p(e,t,n){return new e({type:"custom",check:"custom",fn:t,..._(n)})}function xp(e){let t=B_((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 B_(e,t){let n=new J({check:"custom",..._(t)});return n._zod.check=e,n}function Cp(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 wp(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 Ep(e,t){let n=_(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??Jo,c=e.Boolean??qo,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 Mr(e,t,n,r={}){let o=_(r),i={..._(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")},Rp=()=>Wr,vc=()=>Wr,Fr=Wr,X=Wr,Gr=Wr,Zr=Wr;var BD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Pp=(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=BD[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}))]}},kp=(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},Ap=(e,t,n,r)=>{n.type="boolean"},Tp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Ip=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Op=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Np=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Dp=(e,t,n,r)=>{n.not={}},$p=(e,t,n,r)=>{},Lp=(e,t,n,r)=>{},Mp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Wp=(e,t,n,r)=>{let o=e._zod.def,i=Fo(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},Fp=(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}},Gp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Zp=(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},Bp=(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)},Up=(e,t,n,r)=>{n.type="boolean"},jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Hp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Vp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Kp=(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")},Yp=(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"]})},Jp=(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},Xp=(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},Qp=(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},eg=(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}},tg=(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"}]},ng=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},rg=(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))},og=(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))},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;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},sg=(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},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.readOnly=!0},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},xc=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},lg=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},Sc={string:Pp,number:kp,boolean:Ap,bigint:Tp,symbol:Ip,null:Op,undefined:zp,void:Np,never:Dp,any:$p,unknown:Lp,date:Mp,enum:Wp,literal:Fp,nan:Gp,template_literal:Zp,file:Bp,success:Up,custom:jp,function:Hp,transform:Vp,map:Kp,set:qp,array:Yp,object:Jp,union:_c,intersection:Xp,tuple:Qp,record:eg,nullable:tg,nonoptional:ng,default:rg,prefault:og,catch:ig,pipe:sg,readonly:ag,promise:cg,optional:xc,lazy:lg};function ni(e,t){if("_idmap"in e){let r=e,o=Fr({...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;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:Sc});return X(e,n),Gr(n,e),Zr(n,e)}class ug{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: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}Gr(this.ctx,e);let n=Zr(this.ctx,e),{"~standard":r,...o}=n;return o}}var U_={};var ai={};dn(ai,{ZodISODate:()=>oi,ZodISODateTime:()=>ri,ZodISODuration:()=>si,ZodISOTime:()=>ii,date:()=>mg,datetime:()=>dg,duration:()=>pg,time:()=>fg});var ri=g("ZodISODateTime",(e,t)=>{Zm.init(e,t),q.init(e,t)});function dg(e){return jf(ri,e)}var oi=g("ZodISODate",(e,t)=>{Bm.init(e,t),q.init(e,t)});function mg(e){return Hf(oi,e)}var ii=g("ZodISOTime",(e,t)=>{Um.init(e,t),q.init(e,t)});function fg(e){return Vf(ii,e)}var si=g("ZodISODuration",(e,t)=>{jm.init(e,t),q.init(e,t)});function pg(e){return Kf(si,e)}var H_=(e,t)=>{jo.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}}})},V_=g("ZodError",H_),xe=g("ZodError",H_,{Parent:Error});var Cc=_r(xe),wc=xr(xe),Ec=Cr(xe),Rc=wr(xe),Pc=wa(xe),kc=Ea(xe),Ac=Ra(xe),Tc=Pa(xe),Ic=ka(xe),Oc=Aa(xe),zc=Ta(xe),Nc=Ia(xe);var M=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:vc(e,"input"),output:vc(e,"output")}}),e.toJSONSchema=Rp(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)=>Ec(e,n,r),e.parseAsync=async(n,r)=>wc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Rc(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(oh(n,r)),e.superRefine=(n)=>e.check(ih(n)),e.overwrite=(n)=>e.check(at(n)),e.optional=()=>li(e),e.exactOptional=()=>Fg(e),e.nullable=()=>ui(e),e.nullish=()=>li(ui(e)),e.nonoptional=(n)=>Hg(e,n),e.array=()=>pi(e),e.or=(n)=>nl([e,n]),e.and=(n)=>Tg(e,n),e.transform=(n)=>di(e,ol(n)),e.default=(n)=>Bg(e,n),e.prefault=(n)=>jg(e,n),e.catch=(n)=>qg(e,n),e.pipe=(n)=>di(e,n),e.readonly=()=>Xg(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),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Pp(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(Rr(...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(Ft(...r)),e.max=(...r)=>e.check(Wn(...r)),e.length=(...r)=>e.check(Fn(...r)),e.nonempty=(...r)=>e.check(Ft(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(Lr())}),Ur=g("ZodString",(e,t)=>{Ln.init(e,t),Lc.init(e,t),e.email=(n)=>e.check(Va(Mc,n)),e.url=(n)=>e.check(ti(mi,n)),e.jwt=(n)=>e.check(mc(Qc,n)),e.emoji=(n)=>e.check(Xa(Wc,n)),e.guid=(n)=>e.check(ei(ci,n)),e.uuid=(n)=>e.check(Ka(Rt,n)),e.uuidv4=(n)=>e.check(qa(Rt,n)),e.uuidv6=(n)=>e.check(Ya(Rt,n)),e.uuidv7=(n)=>e.check(Ja(Rt,n)),e.nanoid=(n)=>e.check(Qa(Fc,n)),e.guid=(n)=>e.check(ei(ci,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(Kc,n)),e.cidrv6=(n)=>e.check(cc(qc,n)),e.e164=(n)=>e.check(dc(Xc,n)),e.datetime=(n)=>e.check(dg(n)),e.date=(n)=>e.check(mg(n)),e.time=(n)=>e.check(fg(n)),e.duration=(n)=>e.check(pg(n))});function Dc(e){return Zf(Ur,e)}var q=g("ZodStringFormat",(e,t)=>{K.init(e,t),Lc.init(e,t)}),Mc=g("ZodEmail",(e,t)=>{zm.init(e,t),q.init(e,t)});function K_(e){return Va(Mc,e)}var ci=g("ZodGUID",(e,t)=>{Im.init(e,t),q.init(e,t)});function q_(e){return ei(ci,e)}var Rt=g("ZodUUID",(e,t)=>{Om.init(e,t),q.init(e,t)});function Y_(e){return Ka(Rt,e)}function J_(e){return qa(Rt,e)}function X_(e){return Ya(Rt,e)}function Q_(e){return Ja(Rt,e)}var mi=g("ZodURL",(e,t)=>{Nm.init(e,t),q.init(e,t)});function ex(e){return ti(mi,e)}function tx(e){return ti(mi,{protocol:/^https?$/,hostname:Fe.domain,...I.normalizeParams(e)})}var Wc=g("ZodEmoji",(e,t)=>{Dm.init(e,t),q.init(e,t)});function nx(e){return Xa(Wc,e)}var Fc=g("ZodNanoID",(e,t)=>{$m.init(e,t),q.init(e,t)});function rx(e){return Qa(Fc,e)}var Gc=g("ZodCUID",(e,t)=>{Lm.init(e,t),q.init(e,t)});function ox(e){return ec(Gc,e)}var Zc=g("ZodCUID2",(e,t)=>{Mm.init(e,t),q.init(e,t)});function ix(e){return tc(Zc,e)}var Bc=g("ZodULID",(e,t)=>{Wm.init(e,t),q.init(e,t)});function sx(e){return nc(Bc,e)}var Uc=g("ZodXID",(e,t)=>{Fm.init(e,t),q.init(e,t)});function ax(e){return rc(Uc,e)}var jc=g("ZodKSUID",(e,t)=>{Gm.init(e,t),q.init(e,t)});function cx(e){return oc(jc,e)}var Hc=g("ZodIPv4",(e,t)=>{Hm.init(e,t),q.init(e,t)});function lx(e){return ic(Hc,e)}var gg=g("ZodMAC",(e,t)=>{Km.init(e,t),q.init(e,t)});function ux(e){return Uf(gg,e)}var Vc=g("ZodIPv6",(e,t)=>{Vm.init(e,t),q.init(e,t)});function dx(e){return sc(Vc,e)}var Kc=g("ZodCIDRv4",(e,t)=>{qm.init(e,t),q.init(e,t)});function mx(e){return ac(Kc,e)}var qc=g("ZodCIDRv6",(e,t)=>{Ym.init(e,t),q.init(e,t)});function fx(e){return cc(qc,e)}var Yc=g("ZodBase64",(e,t)=>{Xm.init(e,t),q.init(e,t)});function px(e){return lc(Yc,e)}var Jc=g("ZodBase64URL",(e,t)=>{Qm.init(e,t),q.init(e,t)});function gx(e){return uc(Jc,e)}var Xc=g("ZodE164",(e,t)=>{ef.init(e,t),q.init(e,t)});function hx(e){return dc(Xc,e)}var Qc=g("ZodJWT",(e,t)=>{tf.init(e,t),q.init(e,t)});function yx(e){return mc(Qc,e)}var jr=g("ZodCustomStringFormat",(e,t)=>{nf.init(e,t),q.init(e,t)});function bx(e,t,n={}){return Mr(jr,e,t,n)}function vx(e){return Mr(jr,"hostname",Fe.hostname,e)}function Sx(e){return Mr(jr,"hex",Fe.hex,e)}function _x(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Fe[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Mr(jr,r,o,t)}var Hr=g("ZodNumber",(e,t)=>{Ga.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>kp(e,r,o,i),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.lt=(r,o)=>e.check(xt(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.int=(r)=>e.check($c(r)),e.safe=(r)=>e.check($c(r)),e.positive=(r)=>e.check(Ct(0,r)),e.nonnegative=(r)=>e.check(_e(0,r)),e.negative=(r)=>e.check(xt(0,r)),e.nonpositive=(r)=>e.check(Ge(0,r)),e.multipleOf=(r,o)=>e.check(cn(r,o)),e.step=(r,o)=>e.check(cn(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 hg(e){return qf(Hr,e)}var Zn=g("ZodNumberFormat",(e,t)=>{rf.init(e,t),Hr.init(e,t)});function $c(e){return Jf(Zn,e)}function xx(e){return Xf(Zn,e)}function Cx(e){return Qf(Zn,e)}function wx(e){return ep(Zn,e)}function Ex(e){return tp(Zn,e)}var Vr=g("ZodBoolean",(e,t)=>{qo.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ap(e,n,r,o)});function yg(e){return np(Vr,e)}var Kr=g("ZodBigInt",(e,t)=>{Za.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Tp(e,r,o,i),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.lt=(r,o)=>e.check(xt(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.positive=(r)=>e.check(Ct(BigInt(0),r)),e.negative=(r)=>e.check(xt(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ge(BigInt(0),r)),e.nonnegative=(r)=>e.check(_e(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(cn(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function Rx(e){return op(Kr,e)}var el=g("ZodBigIntFormat",(e,t)=>{of.init(e,t),Kr.init(e,t)});function Px(e){return sp(el,e)}function kx(e){return ap(el,e)}var bg=g("ZodSymbol",(e,t)=>{sf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ip(e,n,r,o)});function Ax(e){return cp(bg,e)}var vg=g("ZodUndefined",(e,t)=>{af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function Tx(e){return lp(vg,e)}var Sg=g("ZodNull",(e,t)=>{cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function _g(e){return up(Sg,e)}var xg=g("ZodAny",(e,t)=>{lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function Ix(){return dp(xg)}var Cg=g("ZodUnknown",(e,t)=>{uf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function Gn(){return mp(Cg)}var wg=g("ZodNever",(e,t)=>{df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function tl(e){return fp(wg,e)}var Eg=g("ZodVoid",(e,t)=>{mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function Ox(e){return pp(Eg,e)}var fi=g("ZodDate",(e,t)=>{ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Mp(e,r,o,i),e.min=(r,o)=>e.check(_e(r,o)),e.max=(r,o)=>e.check(Ge(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 zx(e){return gp(fi,e)}var Rg=g("ZodArray",(e,t)=>{pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Ft(n,r)),e.nonempty=(n)=>e.check(Ft(1,n)),e.max=(n,r)=>e.check(Wn(n,r)),e.length=(n,r)=>e.check(Fn(n,r)),e.unwrap=()=>e.element});function pi(e,t){return bp(Rg,e,t)}function Nx(e){let t=e._zod.def.shape;return rl(Object.keys(t))}var gi=g("ZodObject",(e,t)=>{gf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(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:Gn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Gn()}),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 Dx(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new gi(n)}function $x(e,t){return new gi({type:"object",shape:e,catchall:tl(),...I.normalizeParams(t)})}function Lx(e,t){return new gi({type:"object",shape:e,catchall:Gn(),...I.normalizeParams(t)})}var hi=g("ZodUnion",(e,t)=>{Yo.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function nl(e,t){return new hi({type:"union",options:e,...I.normalizeParams(t)})}var Pg=g("ZodXor",(e,t)=>{hi.init(e,t),hf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function Mx(e,t){return new Pg({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var kg=g("ZodDiscriminatedUnion",(e,t)=>{hi.init(e,t),yf.init(e,t)});function Wx(e,t,n){return new kg({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var Ag=g("ZodIntersection",(e,t)=>{bf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o)});function Tg(e,t){return new Ag({type:"intersection",left:e,right:t})}var Ig=g("ZodTuple",(e,t)=>{Ba.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Og(e,t,n){let r=t instanceof D,o=r?n:t;return new Ig({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var yi=g("ZodRecord",(e,t)=>{vf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function zg(e,t,n){return new yi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function Fx(e,t,n){let r=he(e);return r._zod.values=void 0,new yi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function Gx(e,t,n){return new yi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var Ng=g("ZodMap",(e,t)=>{Sf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(wt(...n)),e.nonempty=(n)=>e.check(wt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Mn(...n))});function Zx(e,t,n){return new Ng({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Dg=g("ZodSet",(e,t)=>{_f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.min=(...n)=>e.check(wt(...n)),e.nonempty=(n)=>e.check(wt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Mn(...n))});function Bx(e,t){return new Dg({type:"set",valueType:e,...I.normalizeParams(t)})}var Br=g("ZodEnum",(e,t)=>{xf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Wp(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 rl(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 Ux(e,t){return new Br({type:"enum",entries:e,...I.normalizeParams(t)})}var $g=g("ZodLiteral",(e,t)=>{Cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(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 jx(e,t){return new $g({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Lg=g("ZodFile",(e,t)=>{wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o),e.min=(n,r)=>e.check(wt(n,r)),e.max=(n,r)=>e.check(ln(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function Hx(e){return vp(Lg,e)}var Mg=g("ZodTransform",(e,t)=>{Ef.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(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 Mg({type:"transform",transform:e})}var il=g("ZodOptional",(e,t)=>{Ua.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function li(e){return new il({type:"optional",innerType:e})}var Wg=g("ZodExactOptional",(e,t)=>{Rf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Fg(e){return new Wg({type:"optional",innerType:e})}var Gg=g("ZodNullable",(e,t)=>{Pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ui(e){return new Gg({type:"nullable",innerType:e})}function Vx(e){return li(ui(e))}var Zg=g("ZodDefault",(e,t)=>{kf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Bg(e,t){return new Zg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Ug=g("ZodPrefault",(e,t)=>{Af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function jg(e,t){return new Ug({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var sl=g("ZodNonOptional",(e,t)=>{Tf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Hg(e,t){return new sl({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Vg=g("ZodSuccess",(e,t)=>{If.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kx(e){return new Vg({type:"success",innerType:e})}var Kg=g("ZodCatch",(e,t)=>{Of.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function qg(e,t){return new Kg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Yg=g("ZodNaN",(e,t)=>{zf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(e,n,r,o)});function qx(e){return yp(Yg,e)}var al=g("ZodPipe",(e,t)=>{Nf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.in=t.in,e.out=t.out});function di(e,t){return new al({type:"pipe",in:e,out:t})}var cl=g("ZodCodec",(e,t)=>{al.init(e,t),Jo.init(e,t)});function Yx(e,t,n){return new cl({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var Jg=g("ZodReadonly",(e,t)=>{Df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Xg(e){return new Jg({type:"readonly",innerType:e})}var Qg=g("ZodTemplateLiteral",(e,t)=>{$f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zp(e,n,r,o)});function Jx(e,t){return new Qg({type:"template_literal",parts:e,...I.normalizeParams(t)})}var eh=g("ZodLazy",(e,t)=>{Wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function th(e){return new eh({type:"lazy",getter:e})}var nh=g("ZodPromise",(e,t)=>{Mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Xx(e){return new nh({type:"promise",innerType:e})}var rh=g("ZodFunction",(e,t)=>{Lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o)});function Qx(e){return new rh({type:"function",input:Array.isArray(e?.input)?Og(e?.input):e?.input??pi(Gn()),output:e?.output??Gn()})}var bi=g("ZodCustom",(e,t)=>{Ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o)});function eC(e){let t=new J({check:"custom"});return t._zod.check=e,t}function tC(e,t){return Sp(bi,e??(()=>!0),t)}function oh(e,t={}){return _p(bi,e,t)}function ih(e){return xp(e)}var nC=Cp,rC=wp;function oC(e,t={}){let n=new bi({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 iC=(...e)=>Ep({Codec:cl,Boolean:Vr,String:Ur},...e);function sC(e){let t=th(()=>nl([Dc(e),hg(),yg(),_g(),pi(t),zg(Dc(),t)]));return t}function aC(e,t){return di(ol(e),t)}var cC={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 lC(e){se({customError:e})}function uC(){return se().customError}var ll;(function(e){})(ll||(ll={}));var VD=()=>{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=Nd(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 sh(){return{localeError:VD()}}var ah=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ul={};dn(ul,{bigint:()=>JD,boolean:()=>YD,date:()=>XD,number:()=>qD,string:()=>KD});function KD(e){return Bf(Ur,e)}function qD(e){return Yf(Hr,e)}function YD(e){return rp(Vr,e)}function JD(e){return ip(Kr,e)}function XD(e){return hp(fi,e)}se(sh());var QD=dl;var dC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var vi=64,mC="Rule config exceeds CC Safety Net's safe source limit.";var dU=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var lh=[{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."},e$=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],t$=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],uh=[{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"]},...t$.flatMap((e)=>e$.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"]}],fC=[{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"}],n$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],dh=fC.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})),mh=fC.flatMap((e)=>n$.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}))),Si={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)$/},fh=["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})),ph=[{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?$/}],pC=[...lh,ml,...uh,...dh,...mh,Si,...fh,...ph,...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}})),gC=new Set(fl.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),r$=pC.map((e)=>e.id),pl=new Set(r$);var EU=o$(import.meta.url),hC,i$=Array(vi+1).fill("over-limit"),yC=/^[^/]+\/[^/]+$/,s$=/^sha256:[a-f0-9]{64}$/,gl=`must be an integer between ${_l} and ${xl}`,a$=["version","rules","overrides","transparent_wrappers"],c$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function bC(e){if(!Ye(e)||!Array.isArray(e.rules)||e.rules.length<=vi)return e;return{$schema:e.$schema,version:e.version,rules:i$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function l$(){let e=ch,t=(x)=>{let v=e.superRefine(x);return v._zod.def.when=()=>!0,v},n=e.enum(dC),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(bn,"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(vi,mC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:yC.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=(x,v)=>{if(!Ye(x))return;if(Array.isArray(x.rules)&&x.rules.length<=vi){let k=new Set;x.rules.forEach((z,L)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",L]});return}let W=Xr(z);if(W){v.addIssue({code:"custom",message:W,path:["rules",L]});return}if(k.has(z)){v.addIssue({code:"custom",message:`duplicate rulebook source "${z}"`,path:["rules",L]});return}k.add(z)})}if(Ye(x.overrides))for(let k of Object.keys(x.overrides)){if(yC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(x.transparent_wrappers))return;let T=new Set;x.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!bn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Pv(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(bC,s.check(e.superRefine(a))),l=e.preprocess(bC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(x,v)=>e.intersection(e.record(e.string().refine((T)=>x.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(x)=>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=hn();v.forEach((z,L)=>{if(typeof z!=="string")return;let W=x(z,k);if(W)T.addIssue({code:"custom",message:W,path:[L]})})})),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(Xi,"destructive command").optional(),allow_paths:f(Ws).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(pl,"secret protection").optional(),deny_paths:f(Fs).optional(),allow_paths:f(Gs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:gl}).int(gl).min(_l,gl).max(xl,gl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(x)=>{let v=(L,W)=>x==="legacy"?L: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(ut,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(bn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(bn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((L)=>L!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((L)=>L.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((L)=>L!=="",{error:v("must not be empty",k)}).refine((L)=>L.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((L,W)=>{if(!Array.isArray(L))return;let U=new Set;L.forEach((ge,Ze)=>{let A=Ye(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:[Ze,"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((x)=>x.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((x,v)=>{if(!Ye(x))return;if(x.expect!=="blocked"||typeof x.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),E=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(ut,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((x)=>x!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(bn,"must match command pattern"),{error:"required array"}).check(t((x,v)=>{if(!Array.isArray(x))return;let T=new Set;x.forEach((k,z)=>{if(typeof k!=="string"||!bn.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((x,v)=>{if(!Ye(x))return;let T=new Set(gh(x));if(Array.isArray(x.tests)){let z=new Set(x.tests.flatMap((L)=>Ye(L)&&L.expect==="blocked"&&typeof L.rule==="string"?[L.rule]:[]));for(let L of z){if(T.has(L))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${L}"`,path:["tests"]})}}if(!Array.isArray(x.allowed_commands)||!Array.isArray(x.rules))return;let k=new Set(x.allowed_commands.filter((z)=>typeof z==="string"));x.rules.forEach((z,L)=>{let W=Ye(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",L,"command"]})})})),w=e.string({error:"required string"}).refine((x)=>x.trim()!=="",{error:"required string"}),R=e.looseObject({spec:w,name:w,version:w,digest:e.string({error:"required sha256 digest"}).regex(s$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(R,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:(x)=>{if(!Ye(x.input))return"must be an object";let v=x.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:E,RulesLockfileSchema:P}}function _i(){return hC??=l$(),hC}function vC(){return _i().RulesConfigSchema}function u$(){return _i().UserPolicySchema}function SC(){return _i().RulebookSchema}function _C(){return _i().RulesLockfileSchema}function gh(e){let t=Ye(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Ye(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function xC(e){let t=_i().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:qr(EC(t.error.issues,a$)),sources:p$(e,t.error.issues)}}function CC(e){let t=u$().safeParse(e);if(t.success)return[];return qr(EC(t.error.issues,c$)," ")}function qr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>wC(r,t,n,[])))]}function wC(e,t,n,r){let o=[...r,...e.path],i=f$(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)=>wC(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}${d$(e)}`]}function d$(e){if(e.code==="invalid_value")return`must be ${m$(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 m$(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 f$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function EC(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 p$(e,t){let n=Ye(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 Ye(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function g$(e){return xC(e)}function hh(e){try{let t=mn(h$(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=g$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=vC().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 h$(e){return typeof e==="string"?zi(e):e}var _$=new Set(["standard","strict","paranoid"]),x$={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:Ai}};function yh(e){return S$(v$(fn(e)),$i)}function AC(e={}){let t=P$(yh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function RC(e){if(!Pt(e))return R$();let t=Pt(e.safety)?e.safety:{},n=Pt(t.overrides)?t.overrides:{},r=Pt(e.workflow)?e.workflow:{},o=Pt(e.destructive_command_protection)?e.destructive_command_protection:{},i=Pt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:_$.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:PC(o.overrides,Xi),allow_paths:w$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:PC(i.overrides,pl),deny_paths:C$(i.deny_paths),allow_paths:E$(i.allow_paths)},audit:{retention_days:Ti(Pt(e.audit)?e.audit.retention_days:void 0)}}}function PC(e,t){if(!Pt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function C$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Fs(n,t)===null)}function w$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Ws(n,t)===null)}function E$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Gs(n,t)===null)}function Pt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function R$(){return structuredClone(x$)}function P$(e){let t=k$();if(!y$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!Pt(n))return{policy:t,errors:[]};return{policy:kC(RC(n)),errors:[]}}try{let n=b$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=CC(r),i=kC(RC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:Pt(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 TC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...gC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function k$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:TC({}),denyPaths:[],allowPaths:[]}}}function kC(e){return{safety:A$(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:TC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function A$(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 NC="This path contains the protected policy config and you must not modify or delete it.",I$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function DC(e){let t=gn(Ot()),n=L$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return IC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=Ne(e,"input-candidate");if(e.invocation.route.kind==="command")return r?OC(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=OC(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return IC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Os(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function IC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>xi(s,n,r,o));return i?{target:i}:null}function OC(e,t,n,r){let o=Ns(e,t,r,{findSegmentTarget:(i,s)=>O$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>xi(i,s.cwd,n,r),findMalformedTarget:(i)=>$$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function O$(e,t,n,r){if(So(e))return null;let o=r.environment,i=qt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&z$(a)){let c=N$(a).find((l)=>zC(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(qs(i,1)||$u(i,o)){let l=(Ks(j(i))??j(["."])).find((u)=>{let d=De(u.text,t.variables);return xi(d,t.cwd,n,r)||zC(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=Ds(a).sources.find((l)=>M$(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(D$(e,o))return null;for(let c of[...e,...i])for(let l of $C(c))if(xi(De(l,t.variables),t.cwd,n,r))return{target:l};return null}function z$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function N$(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 D$(e,t){let n=qt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!I$.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 $$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of $C(o))if(xi(i,t,n,r))return{target:i};return null}function $C(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function L$(e,t){let n=ve(yh(),e,t),r=bh(n),o=new Set;for(let i=r;;i=bh(i))if(o.add(Yr(i)),bh(i)===i)break;return{file:Yr(n),directoryAndAncestors:o}}function xi(e,t,n,r){let o=tv(e,t,r,(i)=>Yr(i)===T$(n.file));return o!==null&&Yr(o)===n.file}function zC(e,t,n,r){return n.directoryAndAncestors.has(Yr(ve(e,t,r)))}function M$(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 Sh}from"node:os";import{isAbsolute as hl,posix as W$,resolve as bl,win32 as F$}from"node:path";import{fileURLToPath as G$}from"node:url";var VC="Access to a sensitive path is not allowed.",KC=new Set(["echo","printf"]),Z$=new Set(["find"]),B$=new Set(["-exec","-execdir"]),U$=new Set([";","+"]),j$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),H$=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),V$=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),K$=new Set(["node","bun"]),q$=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),Y$=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"]),J$=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),LC=new Set(["cc-safety-net","ccsn"]),X$=new Set(["bunx","npx","pnpx"]),Q$=new Set(["bun","node"]),e0=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"])]]),t0=new Set(["grep","rg"]),MC="f",WC="file",n0="files",r0=new Set(["e","f"]),o0=new Set(["regexp","file"]),i0=new Set(["e","f","A","B","C","m"]),s0=new Set(["regexp","file","after-context","before-context","context","max-count"]),a0=new Set(["|","|&"]),vh="__CC_SAFETY_NET_PIPE_INPUT__",YC=new Set(["bash","sh","zsh","dash","ksh"]),c0=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 FC(e,t,n,r,o){let i=eo();for(let s of e){if(q0(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=V0(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&Y0(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function JC(e,t,n={}){let r=GC(e),o=FC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?GC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:FC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&l0(e))return null;return s}function l0(e){if(e.invocation.route.kind!=="command")return!1;let t=Ne(e,"input-candidate")??Ne(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(gt(s.text))}let r=Jr(n);if(r.length===0)return!1;let o=Un(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)=>j$.has(s))}function GC(e,t={}){if(e.invocation.route.kind==="command"){let r=Ne(e,"input-candidate");return r?Ei(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=Ne(e,"input-candidate");return[...n?Ei(n.shell,e.store,t):[],...e.paths]}function Ei(e,t,n){if(e.status==="structural-limit")throw new pt;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...A0(gt(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(...BC(i,o,t,n));i=a0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?gt(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(gt(s.text))}if(o.length>0){if(r.push(...yl(o,t,n)),i!==null)r.push(...BC(i,o,t,n))}return r}function yl(e,t,n){let r=v0(e),o=Jr(e);if(o.length===0)return r;let i=o[0]??"",s=Un(i).toLowerCase(),a=o.slice(1),c=d0(i,s,a);if(c)return[...r,...c];if(KC.has(s))return r;if(t0.has(s))return[...r,...L0(a)];if(Z$.has(s))return[...r,...S0(a,t,n)];if($e.has(s))return[...r,...a.flatMap((l)=>UC("awk",l)),...a.flatMap((l)=>x0(l,t,n)),...a.flatMap(C0)];if(ew(s)){if(YC.has(s)){let l=Xb(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new pt}return[...r,..._0(s,a,n)]}return[...r,...a.flatMap((l)=>UC(s,l))]}function u0(e,t){if(LC.has(e))return t[0]==="explain"?0:null;if(X$.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return LC.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(Q$.has(e)){if(ZC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&ZC(t[1])&&t[2]==="explain")return 2}return null}function d0(e,t,n){let r=u0(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 ZC(e){let t=e?.replaceAll("\\","/");return[...J$].some((n)=>t===n||t?.endsWith(`/${n}`))}function BC(e,t,n,r){if(h0(t,n,r))return m0(e);let o=y0(t);if(o===null)return[];return f0(e).flatMap((i)=>YC.has(o)?Ei(n.getShellSyntax(i),n,r):nw(i))}function m0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(t[0]??"").toLowerCase();if(!KC.has(n))return[];return t.slice(1)}function f0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(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 p0(r);return[]}function p0(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[XC(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>g0(t,r.slice(i*n,(i+1)*n)))}function g0(e,t){let n=0;return XC(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function XC(e){return e.replace(/\\n/g,`
98
+ `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function h0(e,t,n){let r=Jr(e);if(r.length===0||Un(r[0]??"").toLowerCase()!=="xargs")return!1;let o=kn(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,vh]:i.map((c)=>c.split(s).join(vh));return yl(a,t,n).some((c)=>c.includes(vh))}function y0(e){let t=Jr(e);if(t.length===0)return null;let n=Un(t[0]??"").toLowerCase();if(!ew(n))return null;return b0(n,t.slice(1))?n:null}function b0(e,t){let n=QC(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(qC.has(o)||tw(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(c0.get(n)?.has(o))r++;continue}return!1}return!0}function QC(e){return/^python\d/.test(e)?"python":e}function v0(e){let t=[];for(let n of e){if(iw(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 UC(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 S0(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(!B$.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>U$.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(!H$.has(u))return[];let m=f[d+1];return m===void 0?[]:[m,m.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function ew(e){return V$.has(e)||/^python\d/.test(e)}function _0(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)||tw(e,i)){let a=t[o+1];if(a!==void 0)r.push(...jC(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...jC(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function tw(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return e0.get(t[t.length-1]??"")?.has(QC(e))??!1}function x0(e,t,n){if(!e.includes("system"))return[];return Ou(e)?.commands.flatMap((r)=>Ei(t.getShellSyntax(r),t,n))??[]}function C0(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 nw(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(rw),...n]}function jC(e,t,n){let r=nw(t);if(!n.refineJavaScriptInlineData||!K$.has(e)||r.length===0)return r;let o=w0(t);return o!==null&&!R0(o)?[]:r}function w0(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&E0(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===`
99
+ `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function E0(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 R0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(q$.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)=>Y$.has(i)))continue;if(o.length>1)return!0;if(P0(e,r)===".")return!0;if(k0(e,r+n.length)==="(")return!0}return!1}function P0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function k0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function A0(e,t,n){return N0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Ei(o,t,n),...T0(o)?I0(o):[]]})}function T0(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||Un(gt(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=gt(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function I0(e){return e.entries.flatMap((t)=>t.kind==="word"?[gt(t.text)]:t.kind==="redirection"&&t.target?[gt(t.target)]:[]).flatMap(rw)}function rw(e){let t=z0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||O0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function O0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function z0(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 N0(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(go(o,n))continue;if(ow(e,r,n)){let i=D0(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=$0(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function D0(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(go(i,n))continue;if(ow(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 $0(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 ow(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function L0(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===n0)o=!0;if(o0.has(d))r=!0;if(f!==void 0){if(d===WC)t.push(f);continue}if(s0.has(d)){let m=e[c+1];if(d===WC&&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(r0.has(h))r=!0;if(i0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===MC)t.push(m)}else{let p=e[c+1];if(f===MC&&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)=>!iw(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function iw(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var M0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),W0=".env.",F0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),G0=[".env.example.",".env.sample."];function Z0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function B0(e){return e.length>0&&!/\s/.test(e)}function U0(e,t,n){try{let r=Ri(e,t,n);return r!==""&&Be.entryKind(r)!=="missing"}catch(r){if(r instanceof be)throw r;return!1}}var j0=new Set(["node_modules","__pycache__"]),H0=[["vendor","bundle"],["vendor","cache"]];function V0(e,t,n,r){if(Z0(e))return null;let o=Zt(e,t,r);if(!o)return null;let i=re(o.split("/").pop()??""),s=re(o),a=()=>B0(i)||U0(e,t,r);if(F0.has(i)||G0.some((d)=>i.startsWith(d)))return null;let c=re(Q0(e,t,r));for(let d of uh){let f=`~/${d.suffixParts.join("/")}`;if((HC(s,f)||HC(c,f))&&Gt(d.id,n))return d.id}let l=K0(o,t,n,r);if(l)return l;if(M0.has(i))return null;for(let d of lh)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(W0)&&Gt(ml.id,n)&&a())return ml.id;for(let d of dh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Gt(d.id,n)&&a())return d.id}for(let d of mh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Gt(d.id,n))return d.id}if(J0(s))return null;if(!i.includes(".")&&Si.pattern.test(i)&&Gt(Si.id,n))return Si.id;let u=X0(i,n);if(u)return u;return null}function K0(e,t,n,r){return fl.find((o)=>{if(!Gt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=re(e).split("/");return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||wi(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 ne(e,Zt("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r);return ne(e,i,["auth.json",".credentials.json"])||Ci(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r),s=re(e).split("/").at(-1)??"";return ne(e,i,["config.toml"])||s.endsWith(".config.toml")&&ne(e,i,[s])}case"secret.cli.gemini":return ne(e,ye(ie(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=re(e).split("/"),s=process.env.ProgramData?[ye(ie(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return ne(e,ye(ie(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()?wi(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>ne(e,Zt(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=ie(process.env.COPILOT_HOME,"~/.copilot",t,r);return ne(e,i,["config.json"])||Ci(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return ne(e,ie(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return ne(e,i,["server.token"])||Ci(e,i,["credentials"])||Ci(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=re(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||ne(e,ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||ne(e,ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ye(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=re(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return ne(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&ne(e,i,[s])||c.some((l)=>wi(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?ie(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ye(ie(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(re(e).split("/").at(-1)??"")||ne(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?wi(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>ne(e,Zt(c,t,r),a))}case"secret.cli.pi":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=Zt("~",t,r);return[ye(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ye(i,".local","share","amp")].some((a)=>ne(e,a,["secrets.json"]))||Ci(e,ye(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ye(Zt("~",t,r),".config","amp")],a=re(e).split("/");return s.some((c)=>ne(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?wi(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ye(ie(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return ne(e,Zt("~/.cursor",t,r),["auth.json"])||ne(e,i,["auth.json"])||re(e).split("/").at(-1)==="mcp-auth.json"&&Bn(re(e),re(s))}case"secret.cli.cursor.config":{let i=re(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}default:return!1}})?.id??null}function ie(e,t,n,r){return Zt(e?.trim()?e:t,n,r)}function ne(e,t,n){return n.some((r)=>sw(e,ye(t,r)))}function Ci(e,t,n){return n.some((r)=>Bn(re(e),re(ye(t,r))))}function wi(e,t,n,r){return sw(e,Zt(t,n,r))}function sw(e,t){return re(e)===re(t)}function ye(e,...t){return ct([e,...t].filter(Boolean).join("/"))}function q0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Ri(e,t,o));return n.some((s)=>Bn(i,re(Ri(s,r,o))))}function Y0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Ri(e,t,o));if(!i)return!1;let s=process.env.HOME??Sh(),a=s?ct(Y(s,Be,o)):"",c=re(a),l=process.env.CC_SAFETY_NET_HOME,u=re(l?ct(Y(bl(l),Be,o)):a&&ct(Y(`${a}/.cc-safety-net`,Be,o)));if(u&&Bn(i,u))return!1;return n.some((d)=>{let f=re(Ri(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Bn(i,f)})}function J0(e){let t=e.split("/");return t.some((n)=>j0.has(n))||H0.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function X0(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 fh)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of ph)if(o.pattern.test(r)&&Gt(o.id,t))return o.id;return null}function re(e){return e.toLowerCase()}function Gt(e,t){return!t?.disabledRules?.includes(e)}function Zt(e,t,n){let{home:r,normalized:o}=_h(e,n);if(!o)return"";if(!r)return o;let i=xh(o,r),s=hl(i)?i:ct(bl(t,i)),a=ct(Y(s,Be,n));if(!Bn(a,r)){if(hl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function HC(e,t){return e===t||e.startsWith(`${t}/`)}function Q0(e,t,n){let{home:r,normalized:o}=_h(e,n);if(!o||!r)return"";let i=xh(o,r),s=W$.normalize(hl(i)?i:ct(bl(t,i))),a=ct(process.env.HOME??Sh()),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Bn(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function Ri(e,t,n){let{home:r,normalized:o}=_h(e,n);if(!o)return"";let i=r?xh(o,r):o;return ct(Y(hl(i)?i:bl(t,i),Be,n))}function _h(e,t){let n=process.env.HOME??Sh(),r=n?ct(Y(n,Be,t)):"",o=ct(eL(gt(e)));return{home:r,normalized:o}}function eL(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return G$(e)}catch{return e}}function xh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ye(t,e.slice(2));return e}function tL(e){if(process.platform==="win32")return!0;return F$.parse(e).root.length>1}function ct(e){let t=e.trim(),n=(tL(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Bn(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function Un(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as vl}from"node:path";var aw="Rulebook exceeds CC Safety Net's safe validation limits.",cw="Additional rulebook validation errors were omitted.",lt=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function lw(e){if(Ch(e.allowed_commands,lt.maxAllowedCommands)||Ch(e.rules,lt.maxRules)||Ch(e.tests,lt.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=lt,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>lt.maxStringCodeUnits||i&&o.length>lt.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>lt.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 Ch(e,t){return Array.isArray(e)&&e.length>t}function nL(e){if(!rL(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!lw(e))return{errors:[aw],ruleNames:new Set};let t=SC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:qr(t.error.issues,": ",": ")];return{errors:n.length>lt.maxValidationErrors?[...n.slice(0,lt.maxValidationErrors),cw]:n,ruleNames:new Set(gh(e).map((r)=>r.toLowerCase()))}}function wh(e){let t=nL(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function rL(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function Eh(e){if(Di(e.spec))return sL(e);return iL(e)}function iL(e){if(!ut.test(e.spec))return`Local rulebook sources must be bare names matching ${ut}: ${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 sL(e){let t=Xr(e.spec);if(t)return t;let n=Ni(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 uw(e){let t=typeof e==="string"?e:e.path;try{let n=mn(typeof e==="string"?zi(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=_C().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 qr(u).map((f)=>`${t}: ${f}`);let d=Eh(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 aL}from"node:crypto";var Hj=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function dw(e){return`sha256:${aL("sha256").update(e).digest("hex")}`}function hw(e={}){let t=jh(e),n=!1;try{n=Lh(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return dL(t,f.message);throw f}let r=hh(t.userConfigTarget),o=n?{config:null,errors:[]}:hh(t.projectConfigTarget),i=gw(t.userConfigPath,r.errors),s=gw(t.projectConfigPath,o.errors),a=new Set,c=r.config?mw(r.config,t.userLockPath,vl(t.userConfigPath),e,"user",t.userScope,a):Pi(),l=o.config?mw(o.config,t.projectLockPath,vl(t.projectConfigPath),e,"project",t.projectScope,a):Pi(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...fw(c.rules,u),...fw(l.rules,d)],transparent_wrappers:lL(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?pw(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?uL(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?pw(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function mw(e,t,n,r,o,i=Bt(vl(vl(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=At(i,t)}catch(b){if(b instanceof ae)return{...Pi(),errors:[b.message],canValidateOverrides:!1};throw b}let c=uw(a);if(c.errors.length>0)return{...Pi(),errors:c.errors,canValidateOverrides:!1};let l=c.lock;if(!l&&e.rules.length>0)return{...Pi(),errors:[`missing lockfile ${t}; run ${Ht}`],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 ${Ht}`),[];let E=cL(y,n,r,i);if(E.errors.length>0||!E.rulebook)return f.push(...E.errors),[];let w=E.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 ${Ht}`),[];return s.add(w.name),[{rules:w.rules.map((R)=>({...R,name:`${w.name}/${R.name}`})),rulebook:{source:o,spec:y.spec,name:w.name,version:w.version,rules:w.rules.map((R)=>`${w.name}/${R.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 cL(e,t,n,r){let o=kl(e,Al(t,n)),i;try{i=mn(At(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 ${Ht}`]};if(dw(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Ht}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{wh(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 lL(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function fw(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 pw(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 uL(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 gw(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function dL(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath,userLockPath:e.userLockPath,projectLockPath:e.projectLockPath}}function Pi(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function yw(e={}){let t=hw(e),n=AC(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}),...gL(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return hL(r,mL(t,n),i)}function mL(e,t){let n=pL(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:yL(e.errors.length>0?fL(e.errors):void 0,e.warnings.length>0?Rh(e.warnings.join("; ")):void 0,n)}}function fL(e){return`${Rh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function pL(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 gL(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function hL(e,t,n=Object.freeze({})){let r=bw(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 bw(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))bw(t);return Object.freeze(e)}function yL(...e){return Rh(e.filter((t)=>!!t).join("; "))}function Rh(e){return/[.!?]$/.test(e)?e:`${e}.`}class un 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 bL={findPolicyMutation:DC,findGitMetadataMutation:iv,resolveGitMetadata:xu,loadPolicySnapshot:yw,findSensitiveTarget:JC,analyzeCommand:f_,getModes:xd};function vw(e,t={}){let n={...bL,...t.dependencies},r=_L(e),o=ki(e)?e.command:r,i=jn("policy-protection",o,()=>zs(e,t.factParserDependencies)),s=Ne(i,"declared-command");if(ki(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:It,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(Ne(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:ay,intent:"stop_and_explain",evidence:[]}};let a=jn("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),c=jn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:NC,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=jn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:He,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=jn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,...vL(u)},p=d.secretProtection.enabled===!1?null:jn("secret-protection",o,()=>n.findSensitiveTarget(i,d.secretProtection,{strict:ki(e)?f.strict:void 0}));if(p){let b=o??p.target;return{stage:"secret-protection",...m,decision:{kind:"deny",reason:VC,intent:"hard_stop",ruleId:p.ruleId,evidence:[{kind:"command",command:b,segment:p.target}]}}}if(!ki(e))return{stage:"non-command",...m,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...Ph("command-validation",o),...m};let h=jn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:Ot(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},SL(i),i.store));if(h)return{stage:"command-analysis",...m,decision:h};return{stage:"command-analysis",...m,decision:{kind:"allow"}}}function vL(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function SL(e){return Ne(e,"declared-command")?.program}function _L(e){try{return vo(e.input)}catch(t){let n=ki(e)?e.command:void 0;throw new un("policy-protection",Ph("policy-protection",t instanceof Lt?void 0:n,t),t)}}function jn(e,t,n){try{return n()}catch(r){throw new un(e,Ph(e,r instanceof Lt?void 0:t,r),r)}}function Ph(e,t,n){let r=n instanceof be||n instanceof pt;return{stage:e,decision:{kind:"deny",reason:r?cy:Wi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function ki(e){return e.route.kind==="command"}function _w(e,t){try{let n=vw(e,t.guard);return Sw(e,n,t),n}catch(n){if(!(n instanceof un))throw n;throw Sw(e,n.evaluation,t,!(n.cause instanceof Lt),{stage:n.stage,errorCode:xL(n.cause)}),n}}function Sw(e,t,n,r=!0,o){ny(ty(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function xL(e){if(e instanceof be)return"path-canonicalization-limit";if(e instanceof Lt)return"tool-input-limit";if(e instanceof pt)return"structural-shell-syntax-limit";return"unexpected-error"}var Cw="exec",CL=new Set(["auto","gateway"]);function ww(e){e.on("before_tool_call",wL(e),{matcher:[Cw],priority:50})}function wL(e,t={}){return(n,r)=>{if(r.abortSignal?.aborted)return kh(Nl());let o=EL(n,r,e);if(!o)return;let i=()=>r.sessionId??r.sessionKey;if("malformed"in o)return ry(o.denial,i,{agent:"openclaw",toolName:o.denial.toolName,cwd:o.cwd}),kh(o.denial);try{let s=_w(o,{guard:{auditAllowed:Sd(),dependencies:t.guardDependencies},audit:{agent:"openclaw",getSessionId:i}});return xw(s,!0)}catch(s){if(!(s instanceof un))throw s;if(nn(me.debug))console.error(`CC Safety Net debug: openclaw before_tool_call analysis failed: ${fy(s.cause)}`);return xw(s.evaluation,!0)}}}function EL(e,t,n){if(!e||typeof e!=="object")return Hn(null);let r=e.toolName;if(typeof r!=="string"||r.trim()==="")return Hn(null);if(r!==Cw)return;if(e.toolKind!==void 0)return;let o=e.params;if(!o||typeof o!=="object"||Array.isArray(o))return Hn(null,r);let i=o,s=i.command;if(typeof s!=="string"||s.trim()==="")return Hn(null,r);if(i.host!==void 0&&!CL.has(i.host))return Hn(null,r,s);let a=RL(n,t.agentId);if(!a)return Hn(null,r,s);let c=PL(a,i);if(!c)return Hn(a,r,s,typeof i.workdir==="string"?i.workdir:void 0);return fa(r,i,{kind:"command",shell:"auto"},{configCwd:a,executionCwd:c},s)}function RL(e,t){if(typeof t!=="string"||t.trim()==="")return;try{let n=e.runtime.agent.resolveAgentWorkspaceDir(e.config,t);if(typeof n!=="string"||n.trim()==="")return;return Mi(".",[n])}catch{return}}function PL(e,t){if(!Object.hasOwn(t,"workdir")||t.workdir===void 0)return e;let n=t.workdir;if(typeof n!=="string"||n.trim()==="")return;return Mi(n,[e])}function Hn(e,t,n,r){return{malformed:!0,denial:Nl({command:n,segment:r,toolName:t}),cwd:e}}function xw(e,t){let n=dy(e,{includeEvidence:t});return n?kh(n):void 0}function kh(e){return{block:!0,blockReason:my(e)}}var G2={...Ih,register:ww};export{G2 as default};