cc-safety-net 2.3.2 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  // cc-safety-net managed Amp plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --amp
2
- // version: 2.3.2
2
+ // version: 2.3.4
3
3
  // @bun
4
- var XE=Object.defineProperty;var QE=(e)=>e;function ew(e,t){this[e]=QE.bind(null,t)}var ln=(e,t)=>{for(var n in t)XE(e,n,{get:t[n],enumerable:!0,configurable:!0,set:ew.bind(t,n)})};import{randomBytes as Kw}from"crypto";import{appendFileSync as Yw,mkdirSync as Jw}from"fs";import{homedir as Xw,userInfo as Qw}from"os";import{isAbsolute as eR,join as Il}from"path";var tw=[/\bgh[pousr]_[A-Za-z0-9]{20,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,/\bglpat-[A-Za-z0-9_-]{20,}\b/g,/\bxox[abeprs]-[A-Za-z0-9-]{20,}\b/g,/\bnpm_[A-Za-z0-9_]{20,}\b/g,/\bpypi-[A-Za-z0-9_-]{20,}\b/g,/\b[rs]k_(?:live|test)_[A-Za-z0-9_]{20,}\b/g,/\bsk-[A-Za-z0-9_-]{20,}\b/g,/\bsk_[A-Za-z0-9]{20,}\b/g,/\bgsk_[A-Za-z0-9]{52,}\b/g,/\bxai-[A-Za-z0-9_-]{80,}\b/g,/\bpplx-[A-Za-z0-9_-]{20,}\b/g,/\bbastn_[A-Za-z0-9]{16,}\b/g,/\btgp_v1_[A-Za-z0-9_-]{43,}\b/g,/\bflp_[A-Za-z0-9]{10,}\b/g,/\bwfr_[A-Za-z0-9]{20,}\b/g,/\bfwp?_[A-Za-z0-9_-]{20,}\b/g,/\btp-[A-Za-z0-9_-]{20,}\b/g,/\bpsk-[A-Za-z0-9_-]{8,}-[A-Za-z0-9_-]{8,}\b/g,/\b[a-f0-9]{32}\.[A-Za-z0-9]{16}\b/g];function Tt(e){let t=e.replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_DSN|CONNECTION_STRING)=("[^"]*"|'[^']*'|[^\s]+(?:\s+[A-Z_][A-Z0-9_]*=[^\s]+)*)/gi,"$1=<redacted>").replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_(?:URL|URI|CONNECTION_STRING))=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>").replace(/\b([A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASS|KEY|CREDENTIALS)[A-Z0-9_]*)=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>");return nw(t)}function nw(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 tw)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 ey,readdirSync as Mw,readFileSync as oy,rmdirSync as $w,statSync as ty,unlinkSync as Lw,utimesSync as Ww,writeFileSync as Fw}from"fs";import{dirname as Gw,join as Hn}from"path";var Oi=30,Cl=1,El=365;function zi(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as Ew}from"os";import{dirname as Un,isAbsolute as ww,join as Bn,relative as Rw,resolve as fn,sep as Pw}from"path";import{lstatSync as rw,realpathSync as ow}from"fs";import{homedir as iw,tmpdir as sw}from"os";var Be={realpath:(e)=>{try{return ow(e)}catch{return null}},entryKind:(e)=>{let t=rw(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function ze(e,t=process.platform){if(t!=="win32")return e;return e.replace(/^\/([A-Za-z])(?:\/|$)/,"$1:/")}function un(){return ze(process.env.HOME||iw())}function Qe(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:un(),tmpdir:sw(),paths:Be}}import{closeSync as aw,constants as Mh,fstatSync as cw,fsyncSync as C1,lstatSync as $h,mkdirSync as E1,openSync as lw,readdirSync as w1,readFileSync as uw,realpathSync as Ni,renameSync as R1,rmdirSync as P1,statSync as dw,unlinkSync as A1,writeFileSync as k1}from"fs";import{isAbsolute as Lh,join as Wh,normalize as mw,parse as fw,relative as wl,resolve as Rl,sep as Pl}from"path";var pw=Symbol("PolicyFilesystemScope"),gw=Symbol("PolicyFilesystemTarget"),hw=Mh.O_NOFOLLOW??0;class pe extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function dn(e,t){return{[pw]:!0,root:Rl(e),label:t}}function Fh(e,t){let n=mw(t);if(t===""||Lh(t)||n===".."||n.startsWith(`..${Pl}`))throw new pe(e.label);return{[gw]:!0,scope:e,relativePath:n,path:Wh(e.root,n)}}function Jr(e,t){let n=wl(e.root,Rl(t));return Fh(e,n)}function Gh(e,t="rules policy"){let n=Rl(e),r=fw(n).dir;return Fh(dn(r,t),wl(r,n))}function Mi(e){try{if(!Di(e,!1).exists)return null;let n=lw(e.path,Mh.O_RDONLY|hw);try{let r=cw(n);if(!r.isFile())throw new pe(e.scope.label);let o=uw(n,"utf-8"),i=$h(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new pe(e.scope.label);return Di(e,!1),o}finally{aw(n)}}catch(t){vw(e.scope.label,t)}}function Zh(e,t){if(e.path===t.path)return!0;try{if(!Di(e,!1).exists||!Di(t,!1).exists)return!1;return Ni(e.path)===Ni(t.path)}catch(n){if(n instanceof pe)throw n;throw new pe(e.scope.label)}}function Di(e,t,n="file"){let r=yw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(Pl);for(let i of o.keys()){let s=Wh(e.scope.root,...o.slice(0,i+1)),a=jh(s);if(!a){if(i===o.length-1&&t)return{exists:!1};return{exists:!1}}if(a.isSymbolicLink())throw new pe(e.scope.label);if(i<o.length-1&&!a.isDirectory())throw new pe(e.scope.label);if(i===o.length-1&&(n==="file"?!a.isFile():!a.isDirectory()))throw new pe(e.scope.label);bw(r,Ni(s),e.scope.label)}return{exists:!0}}function yw(e){if(!jh(e.root))return null;if(!dw(e.root).isDirectory())throw new pe(e.label);return Ni(e.root)}function bw(e,t,n){let r=wl(e,t);if(r===".."||r.startsWith(`..${Pl}`)||Lh(r))throw new pe(n)}function jh(e){try{return $h(e)}catch(t){if(_w(t)&&t.code==="ENOENT")return null;throw t}}function vw(e,t){if(t instanceof pe)throw t;throw new pe(e)}function _w(e){return e instanceof Error&&"code"in e}var mn=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,Uh="rulebook.json",Bh=".cc-safety-net/rules";var Vh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Sw=/^[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/,xw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Cw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),O1=new RegExp(`^${xw}/(${mn.source.slice(1,-1)})/${Cw}$`);function Hh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function qh(e){if($i(e))try{return Al(e),null}catch(t){return t instanceof Error?t.message:String(t)}return mn.test(e)?null:`Local rulebook sources must be bare names matching ${mn}: ${e}`}function Al(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Vh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let n=t[3].lastIndexOf("/");if(n<1)throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);let r=t[3].slice(0,n),o=t[3].slice(n+1);if(!r||!Sw.test(r))throw Error(`GitHub rulebook refs must use valid path segments: ${e}`);if(!o||!mn.test(o))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);return{owner:t[1],repo:t[2],ref:r,path:Hh(o),name:o}}function $i(e){return Vh.test(e)}var Kh="rule.json",pn="policy.json";var Yh=".cc-safety-net",Aw="rules",kw="CC_SAFETY_NET_HOME",Jh="`cc-safety-net rule update`";function Tw(e){return fn(e??process.cwd(),Bh)}function Iw(e){return Bn(Tw(e),Kh)}function Xr(e){return Bn(fn(e??process.cwd()),Yh,pn)}function Vn(e){return e?.userConfigDir??(e?.userConfigPath?Un(e.userConfigPath):Bn(Ow(),Aw))}function Ow(){let e=process.env[kw];return e?fn(ze(e)):Bn(Ew(),Yh)}function zw(e){return Bn(Vn(e),Kh)}function Xh(e){let t=e.userConfigPath??zw(e),n=e.projectConfigPath??Iw(e.cwd),r=Nw(t,e),o=Dw(n,e);return{userConfigPath:t,projectConfigPath:n,userScope:r,projectScope:o,userConfigTarget:Jr(r,t),projectConfigTarget:Jr(o,n)}}function Nw(e,t){let n=t.userConfigPath?Un(Un(fn(t.userConfigPath))):Un(fn(t.userConfigDir??Vn(t)));return dn(n,"user policy")}function Dw(e,t){let n=fn(t.cwd??process.cwd()),r=fn(e),o=Rw(n,r);if(o!==".."&&!o.startsWith(`..${Pw}`)&&!ww(o))return dn(n,"project policy");return dn(Un(Un(r)),"project policy")}function Qh(e,t){return Bn(e,t,Uh)}var Tl=86400000,Zw=".last-prune",jw=/^\d{4}-\d{2}$/,Uw=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,ny=(e)=>Math.floor(e/Tl);function Bw(e){try{let t=Hn(Gw(Vn(e)),pn),n=JSON.parse(oy(t,"utf-8"));return zi(n?.audit?.retention_days)}catch{return Oi}}function iy(e,t=()=>new Date){try{let n=t().getTime();if(!ty(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=Hn(e,Zw),o=ty(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&ny(o)===ny(n))return;let i=n-Bw()*Tl,s=new Date(n).toISOString().slice(0,7);for(let a of kl(e)){if(a.isDirectory()){Vw(Hn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))Hw(Hn(e,a.name),i)}Fw(r,"",{mode:384}),Ww(r,n/1000,n/1000)}catch{}}function Vw(e,t,n){for(let r of kl(e)){if(!r.isDirectory()||!jw.test(r.name))continue;let o=Hn(e,r.name);for(let i of kl(o)){if(!i.isFile())continue;let s=Uw.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;sy(Hn(o,i.name))}if(r.name!==n)ry(o)}ry(e)}function Hw(e,t){try{let n=ey(e);if(n.mtimeMs>=t)return;let r=oy(e,"utf-8").split(`
5
- `).filter((o)=>o.trim()).map(qw);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(ey(e).mtimeMs!==n.mtimeMs)return;sy(e)}catch{}}function qw(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 kl(e){try{return Mw(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function sy(e){try{Lw(e)}catch{}}function ry(e){try{$w(e)}catch{}}var tR="2.3.2",nR=1e4,rR=2000,oR=256,iR=32768;function sR(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 aR(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Ol(e,t,n,r,o,i={}){let s=sR(e);if(!s)return;let a=i.homeDir??ay();if(!a)return;let c=cR(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Li(Tt(t),i.failureStage?Number.POSITIVE_INFINITY:nR),d=Li(Tt(n),rR),m=i.toolName?Li(Tt(i.toolName),oR):void 0,f=o===null?void 0:Li(Tt(o),iR),p=Il(c,aR(f?.value??null),l.slice(0,7));Jw(p,{recursive:!0,mode:448});let h=Il(p,`${l.slice(0,10)}-${s}.jsonl`),y={ts:l,id:(i.createId??(()=>Kw(8).toString("hex")))(),v:tR,sessionId:s,decision:i.decision??"deny",agent:i.agent,shape:i.shape,level:i.level,configFallback:i.configFallback,toolName:m?.value,command:u.value,segment:d.value,...u.truncated||d.truncated||m?.truncated||f?.truncated?{truncated:!0}:{},reason:r,ruleId:i.ruleId,intent:i.intent,failureStage:i.failureStage,errorCode:i.errorCode,cwd:f?.value??null};Yw(h,`${JSON.stringify(y)}
6
- `,{encoding:"utf-8",mode:384}),iy(c,i.now)}catch{}}function Li(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function ay(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||Xw()||Qw().homedir;return t&&eR(t)?t:null}function cR(e=ay()){return e?Il(e,".cc-safety-net","logs"):null}function ly(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=cy(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?cy(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 cy(e){return"command"in e?e.command??"":""}function uy(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 dy(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{accessSync as sL,constants as aL,realpathSync as hR,statSync as yR}from"fs";import{isAbsolute as Nl,relative as bR,resolve as my,sep as vR}from"path";import{dirname as lR,isAbsolute as uR,parse as dR,sep as mR}from"path";function Zt(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function jt(e,t,n){if(Zt(t))throw Error("Unsupported Windows namespace path");let r=uR(t)?pR(t):"",o=r||e;for(let i of gR(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=lR(o);continue}let s=fR(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 fR(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${mR}${t}`}function pR(e){return dR(e).root}function gR(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Dl(e,t){if(Zt(e))return;let n=t.flatMap((o)=>zl(o));if(!n[0])return;let r=zl(Nl(e)?e:my(n[0],e))[0];if(!r)return;return n.some((o)=>py(r,o))?r:void 0}function fy(e,t){if(Zt(e))return;return zl(Nl(e)?e:my(t,e))[0]}function zl(e){try{let t=hR(e);return yR(t).isDirectory()?[t]:[]}catch{return[]}}function py(e,t){let n=bR(t,e);return n===""||n!==".."&&!n.startsWith(`..${vR}`)&&!Nl(n)}var Ut="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.",gy="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",hy="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 by(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
4
+ var cw=Object.defineProperty;var lw=(e)=>e;function uw(e,t){this[e]=lw.bind(null,t)}var un=(e,t)=>{for(var n in t)cw(e,n,{get:t[n],enumerable:!0,configurable:!0,set:uw.bind(t,n)})};import{randomBytes as iR}from"crypto";import{appendFileSync as sR,mkdirSync as aR}from"fs";import{homedir as cR,userInfo as lR}from"os";import{isAbsolute as uR,join as zl}from"path";var dw=[/\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 It(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 mw(t)}function mw(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 dw)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 ey,readdirSync as Vw,readFileSync as oy,rmdirSync as Hw,statSync as ty,unlinkSync as qw,utimesSync as Kw,writeFileSync as Yw}from"fs";import{dirname as Jw,join as Kn}from"path";var zi=30,wl=1,Rl=365;function Ni(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as Nw}from"os";import{dirname as Vn,isAbsolute as Dw,join as Hn,relative as Mw,resolve as pn,sep as $w}from"path";import{lstatSync as fw,realpathSync as pw}from"fs";import{homedir as gw,tmpdir as hw}from"os";var Be={realpath:(e)=>{try{return pw(e)}catch{return null}},entryKind:(e)=>{let t=fw(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function Ne(e,t=process.platform){if(t!=="win32")return e;return e.replace(/^\/([A-Za-z])(?:\/|$)/,"$1:/")}function dn(){return Ne(process.env.HOME||gw())}function Xe(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:dn(),tmpdir:hw(),paths:Be}}import{closeSync as yw,constants as Mh,fstatSync as bw,fsyncSync as E1,lstatSync as $h,mkdirSync as w1,openSync as vw,readdirSync as R1,readFileSync as _w,realpathSync as Di,renameSync as P1,rmdirSync as A1,statSync as Sw,unlinkSync as k1,writeFileSync as T1}from"fs";import{isAbsolute as Lh,join as Wh,normalize as xw,parse as Cw,relative as Pl,resolve as Al,sep as kl}from"path";var Ew=Symbol("PolicyFilesystemScope"),ww=Symbol("PolicyFilesystemTarget"),Rw=Mh.O_NOFOLLOW??0;class fe extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function mn(e,t){return{[Ew]:!0,root:Al(e),label:t}}function Fh(e,t){let n=xw(t);if(t===""||Lh(t)||n===".."||n.startsWith(`..${kl}`))throw new fe(e.label);return{[ww]:!0,scope:e,relativePath:n,path:Wh(e.root,n)}}function Xr(e,t){let n=Pl(e.root,Al(t));return Fh(e,n)}function Gh(e,t="rules policy"){let n=Al(e),r=Cw(n).dir;return Fh(mn(r,t),Pl(r,n))}function $i(e){try{if(!Mi(e,!1).exists)return null;let n=vw(e.path,Mh.O_RDONLY|Rw);try{let r=bw(n);if(!r.isFile())throw new fe(e.scope.label);let o=_w(n,"utf-8"),i=$h(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new fe(e.scope.label);return Mi(e,!1),o}finally{yw(n)}}catch(t){kw(e.scope.label,t)}}function Zh(e,t){if(e.path===t.path)return!0;try{if(!Mi(e,!1).exists||!Mi(t,!1).exists)return!1;return Di(e.path)===Di(t.path)}catch(n){if(n instanceof fe)throw n;throw new fe(e.scope.label)}}function Mi(e,t,n="file"){let r=Pw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(kl);for(let i of o.keys()){let s=Wh(e.scope.root,...o.slice(0,i+1)),a=Uh(s);if(!a){if(i===o.length-1&&t)return{exists:!1};return{exists:!1}}if(a.isSymbolicLink())throw new fe(e.scope.label);if(i<o.length-1&&!a.isDirectory())throw new fe(e.scope.label);if(i===o.length-1&&(n==="file"?!a.isFile():!a.isDirectory()))throw new fe(e.scope.label);Aw(r,Di(s),e.scope.label)}return{exists:!0}}function Pw(e){if(!Uh(e.root))return null;if(!Sw(e.root).isDirectory())throw new fe(e.label);return Di(e.root)}function Aw(e,t,n){let r=Pl(e,t);if(r===".."||r.startsWith(`..${kl}`)||Lh(r))throw new fe(n)}function Uh(e){try{return $h(e)}catch(t){if(Tw(t)&&t.code==="ENOENT")return null;throw t}}function kw(e,t){if(t instanceof fe)throw t;throw new fe(e)}function Tw(e){return e instanceof Error&&"code"in e}var fn=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,jh="rulebook.json",Bh=".cc-safety-net/rules";var Vh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Iw=/^[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/,Ow=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),zw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),z1=new RegExp(`^${Ow}/(${fn.source.slice(1,-1)})/${zw}$`);function Hh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function qh(e){if(Li(e))try{return Tl(e),null}catch(t){return t instanceof Error?t.message:String(t)}return fn.test(e)?null:`Local rulebook sources must be bare names matching ${fn}: ${e}`}function Tl(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Vh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let n=t[3].lastIndexOf("/");if(n<1)throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);let r=t[3].slice(0,n),o=t[3].slice(n+1);if(!r||!Iw.test(r))throw Error(`GitHub rulebook refs must use valid path segments: ${e}`);if(!o||!fn.test(o))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);return{owner:t[1],repo:t[2],ref:r,path:Hh(o),name:o}}function Li(e){return Vh.test(e)}var Kh="rule.json",gn="policy.json";var Yh=".cc-safety-net",Lw="rules",Ww="CC_SAFETY_NET_HOME",Jh="`cc-safety-net rule update`";function Fw(e){return pn(e??process.cwd(),Bh)}function Gw(e){return Hn(Fw(e),Kh)}function Qr(e){return Hn(pn(e??process.cwd()),Yh,gn)}function qn(e){return e?.userConfigDir??(e?.userConfigPath?Vn(e.userConfigPath):Hn(Zw(),Lw))}function Zw(){let e=process.env[Ww];return e?pn(Ne(e)):Hn(Nw(),Yh)}function Uw(e){return Hn(qn(e),Kh)}function Xh(e){let t=e.userConfigPath??Uw(e),n=e.projectConfigPath??Gw(e.cwd),r=jw(t,e),o=Bw(n,e);return{userConfigPath:t,projectConfigPath:n,userScope:r,projectScope:o,userConfigTarget:Xr(r,t),projectConfigTarget:Xr(o,n)}}function jw(e,t){let n=t.userConfigPath?Vn(Vn(pn(t.userConfigPath))):Vn(pn(t.userConfigDir??qn(t)));return mn(n,"user policy")}function Bw(e,t){let n=pn(t.cwd??process.cwd()),r=pn(e),o=Mw(n,r);if(o!==".."&&!o.startsWith(`..${$w}`)&&!Dw(o))return mn(n,"project policy");return mn(Vn(Vn(r)),"project policy")}function Qh(e,t){return Hn(e,t,jh)}var Ol=86400000,Xw=".last-prune",Qw=/^\d{4}-\d{2}$/,eR=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,ny=(e)=>Math.floor(e/Ol);function tR(e){try{let t=Kn(Jw(qn(e)),gn),n=JSON.parse(oy(t,"utf-8"));return Ni(n?.audit?.retention_days)}catch{return zi}}function iy(e,t=()=>new Date){try{let n=t().getTime();if(!ty(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=Kn(e,Xw),o=ty(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&ny(o)===ny(n))return;let i=n-tR()*Ol,s=new Date(n).toISOString().slice(0,7);for(let a of Il(e)){if(a.isDirectory()){nR(Kn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))rR(Kn(e,a.name),i)}Yw(r,"",{mode:384}),Kw(r,n/1000,n/1000)}catch{}}function nR(e,t,n){for(let r of Il(e)){if(!r.isDirectory()||!Qw.test(r.name))continue;let o=Kn(e,r.name);for(let i of Il(o)){if(!i.isFile())continue;let s=eR.exec(i.name);if(!s||s[2]!==r.name)continue;let a=Date.parse(`${s[1]}T00:00:00.000Z`)+Ol;if(!Number.isFinite(a)||a>=t)continue;sy(Kn(o,i.name))}if(r.name!==n)ry(o)}ry(e)}function rR(e,t){try{let n=ey(e);if(n.mtimeMs>=t)return;let r=oy(e,"utf-8").split(`
5
+ `).filter((o)=>o.trim()).map(oR);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(ey(e).mtimeMs!==n.mtimeMs)return;sy(e)}catch{}}function oR(e){try{let t=JSON.parse(e).ts,n=typeof t==="string"?Date.parse(t):Number.NaN;return Number.isFinite(n)?n:void 0}catch{return}}function Il(e){try{return Vw(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function sy(e){try{qw(e)}catch{}}function ry(e){try{Hw(e)}catch{}}var dR="2.3.4",mR=1e4,fR=2000,pR=256,gR=32768;function hR(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 yR(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Nl(e,t,n,r,o,i={}){let s=hR(e);if(!s)return;let a=i.homeDir??ay();if(!a)return;let c=bR(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Wi(It(t),i.failureStage?Number.POSITIVE_INFINITY:mR),d=Wi(It(n),fR),m=i.toolName?Wi(It(i.toolName),pR):void 0,f=o===null?void 0:Wi(It(o),gR),p=zl(c,yR(f?.value??null),l.slice(0,7));aR(p,{recursive:!0,mode:448});let h=zl(p,`${l.slice(0,10)}-${s}.jsonl`),y={ts:l,id:(i.createId??(()=>iR(8).toString("hex")))(),v:dR,sessionId:s,decision:i.decision??"deny",agent:i.agent,shape:i.shape,level:i.level,configFallback:i.configFallback,toolName:m?.value,command:u.value,segment:d.value,...u.truncated||d.truncated||m?.truncated||f?.truncated?{truncated:!0}:{},reason:r,ruleId:i.ruleId,intent:i.intent,failureStage:i.failureStage,errorCode:i.errorCode,cwd:f?.value??null};sR(h,`${JSON.stringify(y)}
6
+ `,{encoding:"utf-8",mode:384}),iy(c,i.now)}catch{}}function Wi(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function ay(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||cR()||lR().homedir;return t&&uR(t)?t:null}function bR(e=ay()){return e?zl(e,".cc-safety-net","logs"):null}function ly(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=cy(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?cy(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 cy(e){return"command"in e?e.command??"":""}function uy(e,t,n){if(!e)return;let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Nl(r,e.command,e.segment,e.reason,e.cwd,{homeDir:n.homeDir,decision:e.decision,agent:n.agent,shape:n.shape,level:e.level,configFallback:e.configFallback,toolName:e.toolName,ruleId:e.ruleId,intent:e.intent,failureStage:e.failureStage,errorCode:e.errorCode})}function dy(e,t,n){let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Nl(r,e.command??"",e.segment??e.command??"",e.reason,n.cwd??null,{homeDir:n.homeDir,decision:"deny",agent:n.agent,shape:n.shape,toolName:n.toolName??e.toolName,ruleId:e.ruleId,intent:e.intent})}import{accessSync as aL,constants as cL,realpathSync as RR,statSync as PR}from"fs";import{isAbsolute as Ml,relative as AR,resolve as my,sep as kR}from"path";import{dirname as vR,isAbsolute as _R,parse as SR,sep as xR}from"path";function Zt(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Ut(e,t,n){if(Zt(t))throw Error("Unsupported Windows namespace path");let r=_R(t)?ER(t):"",o=r||e;for(let i of wR(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=vR(o);continue}let s=CR(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 CR(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${xR}${t}`}function ER(e){return SR(e).root}function wR(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function $l(e,t){if(Zt(e))return;let n=t.flatMap((o)=>Dl(o));if(!n[0])return;let r=Dl(Ml(e)?e:my(n[0],e))[0];if(!r)return;return n.some((o)=>py(r,o))?r:void 0}function fy(e,t){if(Zt(e))return;return Dl(Ml(e)?e:my(t,e))[0]}function Dl(e){try{let t=RR(e);return PR(t).isDirectory()?[t]:[]}catch{return[]}}function py(e,t){let n=AR(t,e);return n===""||n!==".."&&!n.startsWith(`..${kR}`)&&!Ml(n)}var jt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",Ot="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",gy="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",hy="CC Safety Net could not analyze the command because it exceeds safe analysis limits. Simplify or split the command and retry.",Fi="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function by(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
7
7
 
8
8
  Reason: ${s(t)}`;if(e.ruleId)a+=`
9
9
 
@@ -17,51 +17,51 @@ Segment: ${yy(c,i)}`}if(e.configWarning)a+=`
17
17
 
18
18
  Config warning: ${s(e.configWarning)}`;return a+=`
19
19
 
20
- ${_R(e.intent??"manual_only")}`,a}function _R(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 yy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function vy(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 _y(e={}){return{reason:Wi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function Sy(e){return by({...e,redact:Tt})}function xy(e){return Tt(e instanceof Error?e.message:String(e))}import{basename as SR,dirname as xR,join as Ml}from"path";var qn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class Se extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function Qr(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function Ot(e){return{...Qr(),environment:e}}var Fi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_HOME","GROK_HOME","HOME","KIMI_CODE_HOME","KIMI_SHARE_DIR","OPENCODE_CONFIG","OPENCODE_CONFIG_DIR","PI_CODING_AGENT_DIR","ProgramData","TMPDIR","XDG_CONFIG_HOME","XDG_DATA_HOME"]);function 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=CR(e,o,t);if(a===null){if(Fi.has(s))throw new Se;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=ER(c,t,n),o=a+1;continue}let i=Ll(e,o+1);if(!i){r+="$",o++;continue}r+=Wl(i,n)??`$${i}`,o+=i.length+1}return r}function CR(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 Se;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function ER(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 Wl(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Fi.has(o))throw new Se;return e}if(!Fi.has(o))return e;if(s.endsWith("="))throw new Se;let a=Wl(o,n),c=s.startsWith(":")?a!==null&&a!=="":a!==null;if(s.endsWith("?")&&!c)throw new Se;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 X(e,t,n=Qr()){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 Se;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:Ml(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=xR(i);if(a===i){let c=o.length===0?i:Ml(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=qn.maxMissingSuffixComponents){let c=Ml(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(SR(i)),i=a}}function Cy(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 Se;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function Wl(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 Kn(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 jl,lstatSync as PR,readFileSync as Vi,realpathSync as no,statSync as to}from"fs";import{dirname as Ul,isAbsolute as Bl,join as Hi,resolve as qi}from"path";var Fl=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],wR=new Set(Fl);var Ey=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),ji=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),RR=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Gl(e){return wR.has(e)}function eo(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Zl(e){return Gl(e)||Ey.has(e)||ji.has(e)||eo(e)}function Ve(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function Ui(e,t){let n=Ve("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 Bi(e,t,n){let o=e.match(RR)?.[1];if(!o||!Zl(o))return null;let i=e.indexOf("=");return{name:o,value:`${Ve(o,t,n)??""}${e.slice(i+1)}`}}function wy(e){return Py(e,ji)}function Ry(e){return Py(e,Ey)}function Py(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var He=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function Ty(e,t){return Fl.some((n)=>t?.has(n)||e.has(n))}function Iy(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=no(qi(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Ny(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=ky(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=ky(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(He.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function Oy(e){let t=GR(e);if(!t)return!1;try{let n=PR(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=Vl(t);if(!r?.commonDir)return!1;if(!TR(r.gitDir,t))return!1;return IR(r.gitDir,Ul(t))}catch{return!1}}function Vl(e){try{let t=AR(e);if(!t)return null;let n=no(Bl(t)?t:qi(Ul(e),t));if(!to(n).isDirectory())return null;return{gitDir:n,commonDir:kR(n)}}catch{return null}}function AR(e){let t=Vi(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!t.startsWith("gitdir:"))return null;return t.slice(7).trim()||null}function kR(e){try{let t=Vi(Hi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=no(Bl(t)?t:qi(e,t));return to(n).isDirectory()?n:null}catch{return null}}function TR(e,t){let n=OR(e);return n===null?!1:zy(e,n,t)}function IR(e,t){let n=zR(e);return n===null?!0:zy(e,n,t)}function OR(e){let t=Hi(e,"gitdir");if(!jl(t))return null;let n=Vi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function zR(e){let t=Hi(e,"config.worktree");return jl(t)?LR(t):null}function zy(e,t,n){return DR(NR(e,t),n)}function NR(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=to(e),r=to(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return Ay(e)===Ay(t)}function Ay(e){return $R(no.native(e))}function $R(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 LR(e){let t=Vi(e,"utf-8"),n=!1,r=null;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;if(i.startsWith("[")){n=/^\[core\]$/i.test(i);continue}if(!n)continue;let s=i.match(/^worktree\s*=\s*(.*)$/i);if(s)r=WR(s[1]??"")}return r}function WR(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return FR(t.slice(1,-1))}function FR(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(r!=="\\"){t+=r;continue}let o=e[n+1];if(o===void 0){t+=r;continue}switch(o){case"\\":case'"':t+=o;break;case"n":t+=`
21
- `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function ky(e,t){try{let n=jt(e,t,Be);return Ny(n)?n:null}catch{return null}}function Ny(e){try{return to(e).isDirectory()}catch{return!1}}function GR(e){try{return ro(no(e))}catch{return null}}function ro(e){let t=e;while(!0){let n=Hi(t,".git");if(jl(n))return n;let r=Ul(t);if(r===t)return null;t=r}}function Hl(e,t){return{value:e,work:t}}function x(e,t){if(e.work)e.work.units=Math.min(Number.MAX_SAFE_INTEGER,e.work.units+1);return e.value[t]}function ue(e){return e.value.length}function oo(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Ne(e,t){oo(e,t)}function gn(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 ae(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 ql(e){return e===`
22
- `||e==="\r"||e==="\u2028"||e==="\u2029"}function ce(e,t,n){if(t+n.length>ue(e))return!1;for(let r=0;r<n.length;r++)if(x(e,t+r)!==n[r])return!1;return!0}function zt(e,t,n){return!gn(x(e,t-1))&&ce(e,t,n)&&!gn(x(e,t+n.length))}function Nt(e,t){return gn(x(e,t-1))!==gn(x(e,t))}function he(e){return e===`
23
- `||e===";"||e==="&"||e==="|"}function Yn(e){return e==="|"||e===";"}function Ki(e,t,n){let r=Hl(e,n);if(t==="rm")return ZR(r);if(t==="dd")return UR(r);return Fy(r,!0)}function Yi(e,t,n){let r=Hl(e,n);if(t==="rm")return BR(r);if(t==="reset-hard")return Ly(r,"--ha","rd");if(t==="reset-merge")return Ly(r,"--me","rge");if(t==="clean")return KR(r);if(t==="checkout")return JR(r);if(t==="push-force")return XR(r);if(t==="push-refspec")return QR(r);if(t==="push-delete")return eP(r);if(t==="branch")return tP(r);if(t==="tag")return oP(r);if(t==="restore")return iP(r);return Fy(r,!1)}function ZR(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=ue(e);i++){let s=x(e,i);if(!t){let c=x(e,i+2);if(zt(e,i,"rm")&&ae(c)&&c!==`
24
- `)t=!0,i++;continue}let a=jR(e,i);if(s===`
25
- `||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ue(e)){if(o>=0){let c=Dy(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(ae(s)){if(o>=0){if(ce(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=Dy(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 jR(e,t){if(x(e,t)!=="\\"||x(e,t-1)==="\\")return-1;if(ce(e,t,String.raw`\n`))return t+2;if(ce(e,t,String.raw`\x0a`)||ce(e,t,String.raw`\x0A`))return t+5;if(ce(e,t,String.raw`\u000a`)||ce(e,t,String.raw`\u000A`))return t+7;return ce(e,t,String.raw`\012`)?t+4:-1}function Dy(e,t,n){if(My(e,t,n,"recursive"))return{recursive:!0,force:!1};if(My(e,t,n,"force"))return{recursive:!1,force:!0};if(x(e,t)!=="-"||x(e,t+1)==="-")return{recursive:!1,force:!1};let r=!1,o=!1;for(let i=t+1;i<n;i++){let s=x(e,i);r||=s==="r"||s==="R",o||=s==="f"||s==="F"}return{recursive:r,force:o}}function My(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!ce(e,t,"--"))return!1;for(let i=0;i<o;i++)if(x(e,t+i+2)!==r[i])return!1;return!0}function UR(e){let t=!1;for(let n=0;n<ue(e);n++){if(he(x(e,n))){t=!1;continue}if(zt(e,n,"dd")){t=!0,n++;continue}if(!t||!zt(e,n,"of")||!ce(e,n,"of=/dev/"))continue;let r=n+8;if(r<ue(e)&&!ae(x(e,r))&&x(e,r)!=="'"&&x(e,r)!=='"')return!0}return!1}function BR(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ue(e);){let i=x(e,o);if(o===ue(e)||he(i)){t=!1,n=!1,r=!1,o++;continue}let s=HR(e,o);if(s>=0){if(VR(e,s))return!0;let a=s,c=!1;while(ae(x(e,a)))c||=x(e,a)===`
26
- `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(ce(e,o,"--")&&(o===0||ae(x(e,o-1)))&&(!x(e,o+2)||ae(x(e,o+2))||he(x(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=ce(e,o,"--recursive")&&Nt(e,o+11)||Kl(e,o,"recursive"),r||=ce(e,o,"--force")&&Nt(e,o+7)||Kl(e,o,"force"),n&&r)return!0;o++}return!1}function Kl(e,t,n){if(!ce(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=x(e,t+r+2);if(!o||ae(o)||he(o))break;if(o!==n[r])return!1;r++}return r>0&&Nt(e,t+r+2)}function VR(e,t){let n=t,r=!1,o=!1;while(n<ue(e)){while(ae(x(e,n)))n++;let i=n;while(n<ue(e)&&!ae(x(e,n)))n++;if(x(e,i)!=="-"||n-i===2&&ce(e,i,"--"))return!1;let s=$y(e,i,"recursive"),a=$y(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,x(e,i+1)==="-")continue;let c=qR(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function $y(e,t,n){return ce(e,t,`--${n}`)&&Nt(e,t+n.length+2)||Kl(e,t,n)}function HR(e,t){if(t>0&&gn(x(e,t-1)))return-1;let n=t;if(x(e,n)==="\\")n++;if(x(e,n)!=="r")return-1;if(n++,x(e,n)==="\\")n++;if(x(e,n)!=="m"||!ae(x(e,n+1)))return-1;return n+1}function qR(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(x(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=x(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 Ly(e,t,n){return so(e,"reset",Yn,!0,(r)=>x(e,r)==="-"&&Jn(e,r,t,n)?!0:r)}function KR(e){return so(e,"clean",Yn,!0,(t)=>{if(x(e,t)!=="-")return t;if(Jn(e,t,"--fo","rce"))return!0;let n=io(e,t,Yn);for(let r=t+1;r<n;r++)if(x(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(!ae(x(e,r)))return{commandEnd:-1,next:r};while(ae(x(e,r)))r++;while(r<ue(e)){if(he(x(e,r)))return{commandEnd:-1,next:r};let o=io(e,r,he);if(zt(e,r,n))return{commandEnd:r+n.length,next:o};if(x(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&ce(e,r,"--"),s=YR(e,r,o);r=o;while(ae(x(e,r)))r++;if(i)return{commandEnd:zt(e,r,n)?r+n.length:-1,next:io(e,r,he)};if(!s)continue;if(r>=ue(e)||he(x(e,r)))return{commandEnd:-1,next:r};r=io(e,r,he);while(ae(x(e,r)))r++}return{commandEnd:-1,next:r}}function YR(e,t,n){for(let r of He)if(n-t===r.length&&ce(e,t,r))return!0;return!1}function JR(e){return Wy(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function XR(e){return so(e,"push",Yn,!0,(t)=>{if(x(e,t)!=="-")return t;if(x(e,t+1)==="f"&&!gn(x(e,t+2))&&!ce(e,t+2,"-with-lease"))return!0;let n=Gy(e,t,"--fo","rce");if(n>=0&&!ce(e,n,"-with-lease"))return!0;return t})}function QR(e){return so(e,"push",he,!1,(t)=>{if(ae(x(e,t))&&x(e,t+1)==="+"&&t+2<ue(e)&&!he(x(e,t+2))&&!ae(x(e,t+2)))return!0;if(x(e,t)===":"&&x(e,t+1)==="+")return!0;return t})}function eP(e){return so(e,"push",he,!1,(t)=>{if(x(e,t)==="-"&&Jn(e,t,"--de","lete"))return!0;if(ae(x(e,t))&&x(e,t+1)===":"&&t+2<ue(e)&&!ae(x(e,t+2))&&!he(x(e,t+2)))return!0;return t})}function tP(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ue(e);o++){if(o===ue(e)||he(x(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||x(e,o)!=="-")continue;let i=io(e,o,he),s=nP(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function nP(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(x(e,i)!=="-")continue;if(Jn(e,i,"--de","lete"))r=!0;if(Jn(e,i,"--fo","rce"))o=!0;if(x(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&rP(x(e,s))){let u=x(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 rP(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function oP(e){return Wy(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function Wy(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<ue(e);r++){let o=x(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==="$"&&x(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(ae(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Ji(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&ae(x(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(Jn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(x(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&Nt(e,r+1))return!0;if(Yn(o))i.outerActive=!1}return!1}function so(e,t,n,r,o){let i=!1;for(let s=0;s<ue(e);s++){let a=x(e,s),c=n(a);if(!i&&!c){let l=Ji(e,s,t);if(l){i=l.commandEnd>=0&&(!r||ae(x(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(x(e,u)))i=!1;s=l}if(c)i=!1}return!1}function iP(e){let t=!1;for(let n=0;n<ue(e);n++){if(ql(x(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&&x(e,n)==="-"&&x(e,n+1)==="-"&&(ce(e,n+2,"staged")||ce(e,n+2,"help")))t=!1}return t}function Fy(e,t){let n=!1;for(let r=0;r<ue(e);r++){let o=x(e,r),i=t?ql(o):he(o);if(n&&ae(o)&&x(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 io(e,t,n){let r=t;while(r<ue(e)&&!ae(x(e,r))&&!n(x(e,r)))r++;return r}function Gy(e,t,n,r){if(!ce(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&x(e,o)===r[i];i++)o++;return Nt(e,o)?o:-1}function Jn(e,t,n,r){return Gy(e,t,n,r)>=0}var Zy=[{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"}],ao=new Set(Zy.map((e)=>e.id)),Xi=Zy,sP=new Map(Xi.map((e)=>[e.id,e.intent])),jy=new Set(Xi.filter((e)=>e.catastrophic).map((e)=>e.id));function v(e,t){return{id:e,reason:t,intent:sP.get(e)??"manual_only"}}function z(e,t){if(!e)return null;if(jy.has(e.id))return e;if(t?.destructiveCommandProtectionEnabled===!1)return null;let n=t?.effectiveDestructiveCommandRules[e.id];return n&&!n.enabled?null:e}function de(e,t,n){if(jy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function Uy(e,t){return Object.freeze(Object.fromEntries(Xi.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 By(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:Uy(e,t)})}function Dt(e,t){oo(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},{regex:/\b(?:curl|wget|fetch|aria2c|https?|xhs?|ncat|netcat|nc)\b(?:[^\n|;&]|\\\n)*\|(?:\s|\\\n)*(?:(?:sudo|env|command|builtin)(?:\s+(?:-\S+|\w+=\S*))*\s+)?(?:[^\s|;&]*\/)?(?:ba|da|z|k)?sh(?![^\s;&|])/,label:"download piped to shell",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Ne(t,a);if((s.regex?.test(a)??!1)||s.scan&&Yi(a,s.scan,t))return v("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 aP=/^[A-Za-z_][A-Za-z0-9_]*=/;function Hy(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;oo(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return qy(t.nodes,r,i)}function qy(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return qy(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return cP(r,t,n)})}function cP(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!aP.test(o.text));return e.words.every((o,i)=>o===t||Vy(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Vy(o.target.raw,n.anchored,!0)))}function Vy(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 Ky=Object.freeze({maxDerivedTokens:16384}),Yy="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class De 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 Qi(){return{derivedTokens:0}}function et(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Ky.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Ky.maxDerivedTokens-e.derivedTokens)throw new De;e.derivedTokens+=t}import{isAbsolute as lP,resolve as Jy}from"path";var Xy=64;function co(e,t,n){let r=lP(e)?Jy(e):t?Jy(t,e):void 0;if(!r)return;try{return X(r,n)}catch{return r}}function Qy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function H(e){return F(e).toLowerCase()}function F(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var es=10,Xn=20,hn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,Qn=256,me=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),eb=new Set(["python","python3","python2","node","ruby","perl"]),tb=/^python(?:[23](?:\.\d+)*)?$/,ts=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 yn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",er="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.",ns=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),uP=new Set(["-p","--print"]),dP=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),mP=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"])]]),fP=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),pP=new Map([["python",new Set(["m"])]]),gP=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"])]]),hP=new Set(["always","default","never"]),yP=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),bP=/\\\r?\n/g,vP=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 rs(e){return is(e).code}function os(e){return is(e).sources}function rb(e){return vP.get(as(e))??[]}function is(e){let t=as(e[0]??"");if(!ns.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 tt(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return tt(t,n,r,o,i,s);if(t==="node"&&uP.has(s)){let d=e[i+1];if(d===void 0)return tt(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(SP(t,s)){let d=e[i+1];if(d===void 0)return tt(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 tt(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(xP(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=_P(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let m=e[i+1];if(m===void 0||m.startsWith("-"))return o=!1,tt(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:m}),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 tt(t,n,r,o);if(gP.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&yP.has(s))||t==="python"&&!hP.has(d))return tt(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let m=s[d];if(m===void 0)break;if(pP.get(t)?.has(m)){let f=s.slice(d+1),p=f||e[i+1];if(p!==void 0)r.push({tokenIndex:f?i:i+1,kind:"module-file",value:p});return tt(t,n,r,o)}if(dP.get(t)?.has(m)){c=s.slice(d+1)||e[i+1],l=d+1===s.length;break}if(t==="node"&&m==="r"){if(s==="-r"){let f=e[i+1];if(o&&=f!==void 0&&!f.startsWith("-"),o&&f!==void 0)r.push({tokenIndex:i+1,kind:"module-file",value:f});i++}else o=!1;break}if(t==="ruby"&&m==="r"){let f=s.slice(d+1),p=f||e[i+1];if(o&&=p!==void 0,p!==void 0)r.push({tokenIndex:f?i:i+1,kind:"module-file",value:p});if(!f)i++;break}if(t==="perl"&&(m==="M"||m==="m")){let f=s.slice(d+1);if(f)r.push({tokenIndex:i,kind:"module-file",value:f});else if(o=!1,d+1===s.length)i++;break}if(mP.get(t)?.has(m)){if(d+1===s.length)i++;break}if(fP.get(t)?.has(m)&&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 tt(t,n,r,o);if(l)i++}return tt(t,n,r,o,void 0,void 0,!0)}function tt(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
27
- `))||null,sources:r?l:[],optionsOpen:r&&s}}function _P(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 Me(e){return ns.has(as(e))}function ss(e,t){return as(e)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(t)}function as(e){let t=F(e).toLowerCase();return tb.test(t)?"python":t}function SP(e,t){return ns.get(e)?.has(t)??!1}function xP(e){return ns.get(e)?.has("--eval")??!1}function tr(e,t){let n=wP(e,t);if(!nb(n,t))return!1;Ne(t,n);let r=EP(n);if(nb(r,t))return!0;return Ne(t,r),CP.test(r)}var CP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function EP(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 nb(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(Ne(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(Ne(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)=>(Ne(t,e),n.some((o)=>Yi(o,r))))}function wP(e,t){return Ne(t,e),e.replace(bP,"")}var q=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),ob="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class ls 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 ib(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function $e(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(cs(e.childAnalyses,n,q.maxChildAnalyses)||cs(e.derivedTokens,r,q.maxDerivedTokens)||cs(e.derivedBytes,o,q.maxDerivedBytes)||cs(e.placeholderReplacements,i,q.maxPlaceholderReplacements))throw new ls;e.childAnalyses+=n,e.derivedTokens+=r,e.derivedBytes+=o,e.placeholderReplacements+=i}function cs(e,t,n){return!Number.isSafeInteger(e)||e<0||e>n||!Number.isSafeInteger(t)||t<0||t>n-e}import{isAbsolute as Pu,normalize as Bk,parse as Vk,posix as Cv,resolve as ar,sep as Ru}from"path";import{isAbsolute as RP,join as sb,normalize as lb,parse as PP,sep as ab}from"path";var AP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],kP=`
28
- `;function lo(e,t){if(pt(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Yl(e.get("TMPDIR")??"",t)}function Mt(e,t){if(e.has("TMPDIR"))return Yl(e.get("TMPDIR")??"",t);let n=Jl(e,t);if(n===void 0)return!0;return Yl(n,t)}function Jl(e,t){return mb(e,t,"TMPDIR")}function Yl(e,t){if(!e)return!1;if(IP(e))return!1;return Xl(e,t)}function pt(e,t){let n=mb(e,t,"IFS");return n!==void 0&&n!==""&&n!==kP}function Xl(e,t){let n=us(e,t.paths);if(n===null)return!1;return db(t).some((r)=>zP(n,r))}function ub(e,t){let n=us(e,t.paths);if(n===null)return!1;return db(t).some((r)=>ds(r)===ds(n))}var cb=new WeakMap;function db(e){let t=cb.get(e);if(t)return t;let n=TP(e);return cb.set(e,n),n}function TP(e){let t=AP.map((r)=>us(r,e.paths)??lb(r)),n=us(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&OP(n))return[...t,n];return t}function IP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function mb(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function OP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function us(e,t){try{let n=lb(e);if(!RP(n))return n;let r=PP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=sb(i,o[s]??"");if(t.entryKind(a)==="missing")return sb(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function zP(e,t){let n=ds(e),r=ds(t);if(n===r)return!0;let o=r.endsWith(ab)?r:`${r}${ab}`;return n.startsWith(o)}function ds(e){return process.platform==="win32"?e.toLowerCase():e}import{statSync as Tk}from"fs";import{isAbsolute as pv,join as Ik,relative as gv}from"path";import{isAbsolute as fb,parse as NP}from"path";var gb=/^[A-Za-z_][A-Za-z0-9_]*=/;function qe(e){if(!gb.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=qe(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function hb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function bn(e,t,n,r){if(!hb(nr(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<Xn;d++){let m=pb(i),f=ms(i);for(let[h,y]of f.envAssignments)s.set(h,y),a.set(h,y);if(i=f.words,i.length===0)break;while(i.length>0&&nr(i).includes("=")&&!MP(i)){let h=$P(nr(i),a,t.env)??Bi(nr(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=nr(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=WP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=ZP(i,l,a,t);if(c.push(...h.envSplitValues??[]),i=h.words,h.cwd!==void 0)l=h.cwd;for(let[y,b]of h.envAssignments)s.set(y,b),a.set(y,b)}if(p==="command")i=jP(i);if(p==="builtin")i=i.slice(nt(i,1)==="--"?2:1);if(pb(i)===m)break}let u=ms(i);for(let[d,m]of u.envAssignments)s.set(d,m),a.set(d,m);return{words:u.words,envAssignments:s,cwd:l,envSplitValues:c.length>0?c:void 0,rewritten:DP(u.words,o)}}function DP(e,t){return e.some((n)=>!t.has(n))}function pb(e){return e.map(N).join(" ")}function nr(e){let t=e[0];return t?N(t):""}function nt(e,t){let n=e[t];return n?N(n):void 0}function MP(e){return gb.test(nr(e))}function $P(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var LP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function WP(e,t,n){let r=1,o=n;while(r<e.length){let i=nt(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=nt(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(LP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var FP=new Set(["-i","-0","--null"]),GP=new Set(["-u","--unset","-C","--chdir","-P"]);function ZP(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=nt(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(FP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=nt(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:nt(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(GP.has(l)){if(l==="-C"||l==="--chdir"){let d=nt(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(!qe(l))break;while(a<e.length){let d=qe(nt(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(nt(e,a)==="--")a++;return c(a)}return c(a)}function uo(e,t,n){if(t==="")return null;if(!e&&!fb(t))return null;let r=fb(t)?NP(t).root:n.realpath(e??"/");if(r===null)return null;try{return jt(r,t,n)}catch{return null}}function jP(e){if(nt(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=nt(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 UP=/['"\\$`{}#]/;function fs(e,t){if(e.some((r)=>UP.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 Bt(e,t,n){return ps(e,t,n).tokens}function BP(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 Vt(e,t,n,r=0){let o=ps(e,t,n),i=(o.envSplitValues??[]).flatMap(BP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Vt(s,t,n,r+1)}function ps(e,t,n,r){if(!hb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=bn(j(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as Ek,isAbsolute as wk,normalize as Rk,resolve as uv}from"path";function gs(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function VP(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)=>Re(t)))})}function hs(e,t,n){e.push(n),t.reset()}function HP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function ys(e){let t=[];return{parts:t,push:(n,r,o)=>HP(t,e,n,r,o)}}function Ql(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 rr(e,t,n,r,o,i,s){return Ql({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function Re(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 VP(t);if(t.kind==="group"||t.kind==="function")return Object.freeze({...t,span:Object.freeze(t.span),body:Re(t.body)});return Object.freeze({...t,span:Object.freeze(t.span)})}))})}function eu(e,t,n){if(t>=n||bb(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!bb(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=yb(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=yb(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
29
- `||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function tu(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=qP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?KP(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 yb(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
30
- `&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function bb(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function qP(e,t,n){let r=t;while(r<n&&e[r]!==`
20
+ ${TR(e.intent??"manual_only")}`,a}function TR(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 yy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function vy(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 _y(e={}){return{reason:Fi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function Sy(e){return by({...e,redact:It})}function xy(e){return It(e instanceof Error?e.message:String(e))}import{basename as IR,dirname as OR,join as Ll}from"path";var Yn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class _e extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function eo(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function zt(e){return{...eo(),environment:e}}var Gi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_HOME","GROK_HOME","HOME","KIMI_CODE_HOME","KIMI_SHARE_DIR","OPENCODE_CONFIG","OPENCODE_CONFIG_DIR","PI_CODING_AGENT_DIR","ProgramData","TMPDIR","XDG_CONFIG_HOME","XDG_DATA_HOME"]);function Zi(e,t){return Wl(e,0,t)}function Wl(e,t,n){let r="",o=0;while(o<e.length){if(e[o]!=="$"){r+=e[o],o++;continue}if(e[o+1]==="{"){let s=Fl(e,o+2),a=zR(e,o,t);if(a===null){if(Gi.has(s))throw new _e;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=NR(c,t,n),o=a+1;continue}let i=Fl(e,o+1);if(!i){r+="$",o++;continue}r+=Gl(i,n)??`$${i}`,o+=i.length+1}return r}function zR(e,t,n){let r=1;for(let o=t+2;o<e.length;o++){if(e[o]==="\\"){o++;continue}if(e[o]==="$"&&e[o+1]==="{"){if(r++,n+r>Yn.maxEnvironmentExpansionDepth)throw new _e;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function NR(e,t,n){let r=e.slice(2,-1),o=Fl(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return Gl(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Gi.has(o))throw new _e;return e}if(!Gi.has(o))return e;if(s.endsWith("="))throw new _e;let a=Gl(o,n),c=s.startsWith(":")?a!==null&&a!=="":a!==null;if(s.endsWith("?")&&!c)throw new _e;if(s.endsWith("-")||s.endsWith("?"))return c?a??"":Wl(i.slice(s.length),t+1,n);return c?Wl(i.slice(s.length),t+1,n):""}function Fl(e,t){if(!/[A-Za-z_]/.test(e[t]??""))return"";let n=t+1;while(/[A-Za-z0-9_]/.test(e[n]??""))n++;return e.slice(t,n)}function J(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>Yn.maxRealpathAttempts||n.processedCandidateBytes>Yn.maxProcessedCandidateBytes)throw new _e;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:Ll(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=OR(i);if(a===i){let c=o.length===0?i:Ll(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=Yn.maxMissingSuffixComponents){let c=Ll(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(IR(i)),i=a}}function Cy(e,t,n){let r=n.resolvedPaths.get(e);if(r!==void 0)return r;if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(e),n.realpathAttempts>Yn.maxRealpathAttempts||n.processedCandidateBytes>Yn.maxProcessedCandidateBytes)throw new _e;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function Gl(e,t){if(!Gi.has(e))return null;if(e==="HOME")return t.env.get("HOME")??t.home;return t.env.get(e)??null}function z(e){return e.provenance==="command-substitution"?e.raw:e.text}function Jn(e,t){return e==="posix"?t:Z(t.map((n)=>n.text))}function Ui(e,t){return e&&e.provenance!=="unknown"?e.provenance==="literal":!/[$`*?[\]]/.test(t)}function Z(e){return e.map((t)=>({kind:"word",text:t,raw:t,span:{start:0,end:0},provenance:"unknown",quoted:!1,parts:[]}))}import{existsSync as Bl,lstatSync as $R,readFileSync as Hi,realpathSync as ro,statSync as no}from"fs";import{dirname as Vl,isAbsolute as Hl,join as qi,resolve as Ki}from"path";var Zl=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],DR=new Set(Zl);var Ey=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),ji=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),MR=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Ul(e){return DR.has(e)}function to(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function jl(e){return Ul(e)||Ey.has(e)||ji.has(e)||to(e)}function Ve(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function Bi(e,t){let n=Ve("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 Vi(e,t,n){let o=e.match(MR)?.[1];if(!o||!jl(o))return null;let i=e.indexOf("=");return{name:o,value:`${Ve(o,t,n)??""}${e.slice(i+1)}`}}function wy(e){return Py(e,ji)}function Ry(e){return Py(e,Ey)}function Py(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var Re=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function Ty(e,t){return Zl.some((n)=>t?.has(n)||e.has(n))}function Iy(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=ro(Ki(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Ny(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=ky(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=ky(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(Re.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function Oy(e){let t=JR(e);if(!t)return!1;try{let n=$R(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=ql(t);if(!r?.commonDir)return!1;if(!FR(r.gitDir,t))return!1;return GR(r.gitDir,Vl(t))}catch{return!1}}function ql(e){try{let t=LR(e);if(!t)return null;let n=ro(Hl(t)?t:Ki(Vl(e),t));if(!no(n).isDirectory())return null;return{gitDir:n,commonDir:WR(n)}}catch{return null}}function LR(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 WR(e){try{let t=Hi(qi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=ro(Hl(t)?t:Ki(e,t));return no(n).isDirectory()?n:null}catch{return null}}function FR(e,t){let n=ZR(e);return n===null?!1:zy(e,n,t)}function GR(e,t){let n=UR(e);return n===null?!0:zy(e,n,t)}function ZR(e){let t=qi(e,"gitdir");if(!Bl(t))return null;let n=Hi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function UR(e){let t=qi(e,"config.worktree");return Bl(t)?qR(t):null}function zy(e,t,n){return BR(jR(e,t),n)}function jR(e,t){return Hl(t)?t:Ki(e,t)}function BR(e,t){try{return VR(e,t)}catch{return!1}}function VR(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 Ay(e)===Ay(t)}function Ay(e){return HR(ro.native(e))}function HR(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 qR(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=KR(s[1]??"")}return r}function KR(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+=`
21
+ `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function ky(e,t){try{let n=Ut(e,t,Be);return Ny(n)?n:null}catch{return null}}function Ny(e){try{return no(e).isDirectory()}catch{return!1}}function JR(e){try{return oo(ro(e))}catch{return null}}function oo(e){let t=e;while(!0){let n=qi(t,".git");if(Bl(n))return n;let r=Vl(t);if(r===t)return null;t=r}}function Kl(e,t){return{value:e,work:t}}function x(e,t){if(e.work)e.work.units=Math.min(Number.MAX_SAFE_INTEGER,e.work.units+1);return e.value[t]}function le(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 De(e,t){io(e,t)}function hn(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 se(e){if(!e)return!1;let t=e.charCodeAt(0);return t===9||t===10||t===11||t===12||t===13||t===32||t===160||t===65279||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288}function Yl(e){return e===`
22
+ `||e==="\r"||e==="\u2028"||e==="\u2029"}function ae(e,t,n){if(t+n.length>le(e))return!1;for(let r=0;r<n.length;r++)if(x(e,t+r)!==n[r])return!1;return!0}function Nt(e,t,n){return!hn(x(e,t-1))&&ae(e,t,n)&&!hn(x(e,t+n.length))}function Dt(e,t){return hn(x(e,t-1))!==hn(x(e,t))}function ge(e){return e===`
23
+ `||e===";"||e==="&"||e==="|"}function Xn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=Kl(e,n);if(t==="rm")return XR(r);if(t==="dd")return eP(r);return Fy(r,!0)}function Ji(e,t,n){let r=Kl(e,n);if(t==="rm")return tP(r);if(t==="reset-hard")return Ly(r,"--ha","rd");if(t==="reset-merge")return Ly(r,"--me","rge");if(t==="clean")return iP(r);if(t==="checkout")return aP(r);if(t==="push-force")return cP(r);if(t==="push-refspec")return lP(r);if(t==="push-delete")return uP(r);if(t==="branch")return dP(r);if(t==="tag")return pP(r);if(t==="restore")return gP(r);return Fy(r,!1)}function XR(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=le(e);i++){let s=x(e,i);if(!t){let c=x(e,i+2);if(Nt(e,i,"rm")&&se(c)&&c!==`
24
+ `)t=!0,i++;continue}let a=QR(e,i);if(s===`
25
+ `||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===le(e)){if(o>=0){let c=Dy(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(se(s)){if(o>=0){if(ae(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=Dy(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 QR(e,t){if(x(e,t)!=="\\"||x(e,t-1)==="\\")return-1;if(ae(e,t,String.raw`\n`))return t+2;if(ae(e,t,String.raw`\x0a`)||ae(e,t,String.raw`\x0A`))return t+5;if(ae(e,t,String.raw`\u000a`)||ae(e,t,String.raw`\u000A`))return t+7;return ae(e,t,String.raw`\012`)?t+4:-1}function Dy(e,t,n){if(My(e,t,n,"recursive"))return{recursive:!0,force:!1};if(My(e,t,n,"force"))return{recursive:!1,force:!0};if(x(e,t)!=="-"||x(e,t+1)==="-")return{recursive:!1,force:!1};let r=!1,o=!1;for(let i=t+1;i<n;i++){let s=x(e,i);r||=s==="r"||s==="R",o||=s==="f"||s==="F"}return{recursive:r,force:o}}function My(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!ae(e,t,"--"))return!1;for(let i=0;i<o;i++)if(x(e,t+i+2)!==r[i])return!1;return!0}function eP(e){let t=!1;for(let n=0;n<le(e);n++){if(ge(x(e,n))){t=!1;continue}if(Nt(e,n,"dd")){t=!0,n++;continue}if(!t||!Nt(e,n,"of")||!ae(e,n,"of=/dev/"))continue;let r=n+8;if(r<le(e)&&!se(x(e,r))&&x(e,r)!=="'"&&x(e,r)!=='"')return!0}return!1}function tP(e){let t=!1,n=!1,r=!1;for(let o=0;o<=le(e);){let i=x(e,o);if(o===le(e)||ge(i)){t=!1,n=!1,r=!1,o++;continue}let s=rP(e,o);if(s>=0){if(nP(e,s))return!0;let a=s,c=!1;while(se(x(e,a)))c||=x(e,a)===`
26
+ `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(ae(e,o,"--")&&(o===0||se(x(e,o-1)))&&(!x(e,o+2)||se(x(e,o+2))||ge(x(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=ae(e,o,"--recursive")&&Dt(e,o+11)||Jl(e,o,"recursive"),r||=ae(e,o,"--force")&&Dt(e,o+7)||Jl(e,o,"force"),n&&r)return!0;o++}return!1}function Jl(e,t,n){if(!ae(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=x(e,t+r+2);if(!o||se(o)||ge(o))break;if(o!==n[r])return!1;r++}return r>0&&Dt(e,t+r+2)}function nP(e,t){let n=t,r=!1,o=!1;while(n<le(e)){while(se(x(e,n)))n++;let i=n;while(n<le(e)&&!se(x(e,n)))n++;if(x(e,i)!=="-"||n-i===2&&ae(e,i,"--"))return!1;let s=$y(e,i,"recursive"),a=$y(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,x(e,i+1)==="-")continue;let c=oP(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function $y(e,t,n){return ae(e,t,`--${n}`)&&Dt(e,t+n.length+2)||Jl(e,t,n)}function rP(e,t){if(t>0&&hn(x(e,t-1)))return-1;let n=t;if(x(e,n)==="\\")n++;if(x(e,n)!=="r")return-1;if(n++,x(e,n)==="\\")n++;if(x(e,n)!=="m"||!se(x(e,n+1)))return-1;return n+1}function oP(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(x(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=x(e,l)??"",d=(u==="r"||u==="f")&&Dt(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 Ly(e,t,n){return ao(e,"reset",Xn,!0,(r)=>x(e,r)==="-"&&Qn(e,r,t,n)?!0:r)}function iP(e){return ao(e,"clean",Xn,!0,(t)=>{if(x(e,t)!=="-")return t;if(Qn(e,t,"--fo","rce"))return!0;let n=so(e,t,Xn);for(let r=t+1;r<n;r++)if(x(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!Nt(e,t,"git"))return null;let r=t+3;if(!se(x(e,r)))return{commandEnd:-1,next:r};while(se(x(e,r)))r++;while(r<le(e)){if(ge(x(e,r)))return{commandEnd:-1,next:r};let o=so(e,r,ge);if(Nt(e,r,n))return{commandEnd:r+n.length,next:o};if(x(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&ae(e,r,"--"),s=sP(e,r,o);r=o;while(se(x(e,r)))r++;if(i)return{commandEnd:Nt(e,r,n)?r+n.length:-1,next:so(e,r,ge)};if(!s)continue;if(r>=le(e)||ge(x(e,r)))return{commandEnd:-1,next:r};r=so(e,r,ge);while(se(x(e,r)))r++}return{commandEnd:-1,next:r}}function sP(e,t,n){for(let r of Re)if(n-t===r.length&&ae(e,t,r))return!0;return!1}function aP(e){return Wy(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function cP(e){return ao(e,"push",Xn,!0,(t)=>{if(x(e,t)!=="-")return t;if(x(e,t+1)==="f"&&!hn(x(e,t+2))&&!ae(e,t+2,"-with-lease"))return!0;let n=Gy(e,t,"--fo","rce");if(n>=0&&!ae(e,n,"-with-lease"))return!0;return t})}function lP(e){return ao(e,"push",ge,!1,(t)=>{if(se(x(e,t))&&x(e,t+1)==="+"&&t+2<le(e)&&!ge(x(e,t+2))&&!se(x(e,t+2)))return!0;if(x(e,t)===":"&&x(e,t+1)==="+")return!0;return t})}function uP(e){return ao(e,"push",ge,!1,(t)=>{if(x(e,t)==="-"&&Qn(e,t,"--de","lete"))return!0;if(se(x(e,t))&&x(e,t+1)===":"&&t+2<le(e)&&!se(x(e,t+2))&&!ge(x(e,t+2)))return!0;return t})}function dP(e){let t=!1,n=!1,r=!1;for(let o=0;o<=le(e);o++){if(o===le(e)||ge(x(e,o))){if(n&&r)return!0;t=!1,n=!1,r=!1;continue}if(!t){let a=Xi(e,o,"branch");if(a){t=a.commandEnd>=0,o=Math.max(o,(t?a.commandEnd:a.next)-1);continue}}if(!t||x(e,o)!=="-")continue;let i=so(e,o,ge),s=mP(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function mP(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(x(e,i)!=="-")continue;if(Qn(e,i,"--de","lete"))r=!0;if(Qn(e,i,"--fo","rce"))o=!0;if(x(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&fP(x(e,s))){let u=x(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!Dt(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function fP(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function pP(e){return Wy(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function Wy(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<le(e);r++){let o=x(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==="$"&&x(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(se(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&se(x(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Qn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(x(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&Dt(e,r+1))return!0;if(Xn(o))i.outerActive=!1}return!1}function ao(e,t,n,r,o){let i=!1;for(let s=0;s<le(e);s++){let a=x(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||se(x(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(x(e,u)))i=!1;s=l}if(c)i=!1}return!1}function gP(e){let t=!1;for(let n=0;n<le(e);n++){if(Yl(x(e,n))){if(t)return!0;t=!1;continue}if(!t){let r=Xi(e,n,"restore");if(r){t=r.commandEnd>=0,n=Math.max(n,(t?r.commandEnd:r.next)-1);continue}}if(t&&x(e,n)==="-"&&x(e,n+1)==="-"&&(ae(e,n+2,"staged")||ae(e,n+2,"help")))t=!1}return t}function Fy(e,t){let n=!1;for(let r=0;r<le(e);r++){let o=x(e,r),i=t?Yl(o):ge(o);if(n&&se(o)&&x(e,r+1)==="-"&&Nt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(Nt(e,r,"find"))n=!0,r+=3}return!1}function so(e,t,n){let r=t;while(r<le(e)&&!se(x(e,r))&&!n(x(e,r)))r++;return r}function Gy(e,t,n,r){if(!ae(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&x(e,o)===r[i];i++)o++;return Dt(e,o)?o:-1}function Qn(e,t,n,r){return Gy(e,t,n,r)>=0}var Zy=[{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"}],co=new Set(Zy.map((e)=>e.id)),Qi=Zy,hP=new Map(Qi.map((e)=>[e.id,e.intent])),Uy=new Set(Qi.filter((e)=>e.catastrophic).map((e)=>e.id));function _(e,t){return{id:e,reason:t,intent:hP.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(Uy.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(Uy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function jy(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 By(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:jy(e,t)})}function Mt(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},{regex:/\b(?:curl|wget|fetch|aria2c|https?|xhs?|ncat|netcat|nc)\b(?:[^\n|;&]|\\\n)*\|(?:\s|\\\n)*(?:(?:sudo|env|command|builtin)(?:\s+(?:-\S+|\w+=\S*))*\s+)?(?:[^\s|;&]*\/)?(?:ba|da|z|k)?sh(?![^\s;&|])/,label:"download piped to shell",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)De(t,a);if((s.regex?.test(a)??!1)||s.scan&&Ji(a,s.scan,t))return _("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 yP=/^[A-Za-z_][A-Za-z0-9_]*=/;function Hy(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 qy(t.nodes,r,i)}function qy(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return qy(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return bP(r,t,n)})}function bP(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!yP.test(o.text));return e.words.every((o,i)=>o===t||Vy(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Vy(o.target.raw,n.anchored,!0)))}function Vy(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 Ky=Object.freeze({maxDerivedTokens:16384}),Yy="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Me 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 Qe(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Ky.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Ky.maxDerivedTokens-e.derivedTokens)throw new Me;e.derivedTokens+=t}import{isAbsolute as vP,resolve as Jy}from"path";var Xy=64;function lo(e,t,n){let r=vP(e)?Jy(e):t?Jy(t,e):void 0;if(!r)return;try{return J(r,n)}catch{return r}}function Qy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function V(e){return W(e).toLowerCase()}function W(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var ts=10,er=20,yn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,tr=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),eb=new Set(["python","python3","python2","node","ruby","perl"]),tb=/^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 bn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",nr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",rs=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),_P=new Set(["-p","--print"]),SP=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),xP=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"])]]),CP=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),EP=new Map([["python",new Set(["m"])]]),wP=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"])]]),RP=new Set(["always","default","never"]),PP=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),AP=/\\\r?\n/g,kP=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 rb(e){return kP.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 et(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return et(t,n,r,o,i,s);if(t==="node"&&_P.has(s)){let d=e[i+1];if(d===void 0)return et(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(IP(t,s)){let d=e[i+1];if(d===void 0)return et(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 et(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(OP(t)&&a){let d=a[1]??"";n.push({tokenIndex:i,value:d}),r.push({tokenIndex:i,kind:"inline-code",value:d});continue}if(t==="node"){let d=TP(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let m=e[i+1];if(m===void 0||m.startsWith("-"))return o=!1,et(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:m}),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 et(t,n,r,o);if(wP.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&PP.has(s))||t==="python"&&!RP.has(d))return et(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let m=s[d];if(m===void 0)break;if(EP.get(t)?.has(m)){let f=s.slice(d+1),p=f||e[i+1];if(p!==void 0)r.push({tokenIndex:f?i:i+1,kind:"module-file",value:p});return et(t,n,r,o)}if(SP.get(t)?.has(m)){c=s.slice(d+1)||e[i+1],l=d+1===s.length;break}if(t==="node"&&m==="r"){if(s==="-r"){let f=e[i+1];if(o&&=f!==void 0&&!f.startsWith("-"),o&&f!==void 0)r.push({tokenIndex:i+1,kind:"module-file",value:f});i++}else o=!1;break}if(t==="ruby"&&m==="r"){let f=s.slice(d+1),p=f||e[i+1];if(o&&=p!==void 0,p!==void 0)r.push({tokenIndex:f?i:i+1,kind:"module-file",value:p});if(!f)i++;break}if(t==="perl"&&(m==="M"||m==="m")){let f=s.slice(d+1);if(f)r.push({tokenIndex:i,kind:"module-file",value:f});else if(o=!1,d+1===s.length)i++;break}if(xP.get(t)?.has(m)){if(d+1===s.length)i++;break}if(CP.get(t)?.has(m)&&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 et(t,n,r,o);if(l)i++}return et(t,n,r,o,void 0,void 0,!0)}function et(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
27
+ `))||null,sources:r?l:[],optionsOpen:r&&s}}function TP(e){for(let t of["--import","--loader","--experimental-loader","--require"]){if(e===t)return{attached:!1,value:""};if(e.startsWith(`${t}=`))return{attached:!0,value:e.slice(t.length+1)}}return}function $e(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=W(e).toLowerCase();return tb.test(t)?"python":t}function IP(e,t){return rs.get(e)?.has(t)??!1}function OP(e){return rs.get(e)?.has("--eval")??!1}function rr(e,t){let n=DP(e,t);if(!nb(n,t))return!1;De(t,n);let r=NP(n);if(nb(r,t))return!0;return De(t,r),zP.test(r)}var zP=/`|%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 nb(e,t){if(Yi(e,"rm",t))return!0;for(let r of[/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(De(t,e),r.test(e))return!0;if(Yi(e,"dd",t))return!0;for(let r of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(De(t,e),r.test(e))return!0;if(Yi(e,"find",t))return!0;let n=e.split(/[\n\r\u2028\u2029]/);return["reset-hard","reset-merge","clean","checkout","push-force","push-refspec","push-delete","branch","tag","restore"].some((r)=>(De(t,e),n.some((o)=>Ji(o,r))))}function DP(e,t){return De(t,e),e.replace(AP,"")}var H=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),ob="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 ib(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function Le(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(ls(e.childAnalyses,n,H.maxChildAnalyses)||ls(e.derivedTokens,r,H.maxDerivedTokens)||ls(e.derivedBytes,o,H.maxDerivedBytes)||ls(e.placeholderReplacements,i,H.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 ku,normalize as tT,parse as nT,posix as Cv,resolve as lr,sep as Au}from"path";import{isAbsolute as MP,join as sb,normalize as lb,parse as $P,sep as ab}from"path";var LP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],WP=`
28
+ `;function uo(e,t){if(ft(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Xl(e.get("TMPDIR")??"",t)}function $t(e,t){if(e.has("TMPDIR"))return Xl(e.get("TMPDIR")??"",t);let n=Ql(e,t);if(n===void 0)return!0;return Xl(n,t)}function Ql(e,t){return mb(e,t,"TMPDIR")}function Xl(e,t){if(!e)return!1;if(GP(e))return!1;return eu(e,t)}function ft(e,t){let n=mb(e,t,"IFS");return n!==void 0&&n!==""&&n!==WP}function eu(e,t){let n=ds(e,t.paths);if(n===null)return!1;return db(t).some((r)=>UP(n,r))}function ub(e,t){let n=ds(e,t.paths);if(n===null)return!1;return db(t).some((r)=>ms(r)===ms(n))}var cb=new WeakMap;function db(e){let t=cb.get(e);if(t)return t;let n=FP(e);return cb.set(e,n),n}function FP(e){let t=LP.map((r)=>ds(r,e.paths)??lb(r)),n=ds(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&ZP(n))return[...t,n];return t}function GP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function mb(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function ZP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ds(e,t){try{let n=lb(e);if(!MP(n))return n;let r=$P(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=sb(i,o[s]??"");if(t.entryKind(a)==="missing")return sb(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){let n=ms(e),r=ms(t);if(n===r)return!0;let o=r.endsWith(ab)?r:`${r}${ab}`;return n.startsWith(o)}function ms(e){return process.platform==="win32"?e.toLowerCase():e}import{statSync as Fk}from"fs";import{isAbsolute as pv,join as Gk,relative as gv}from"path";import{isAbsolute as fb,parse as jP}from"path";var gb=/^[A-Za-z_][A-Za-z0-9_]*=/;function He(e){if(!gb.test(e))return null;let t=e.indexOf("=");return{name:e.slice(0,t),value:e.slice(t+1)}}function fs(e){let t=new Map,n=0;while(n<e.length){let r=e[n];if(!r)break;let o=He(z(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function hb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function vn(e,t,n,r){if(!hb(or(e)))return{words:e,envAssignments:new Map,cwd:n,rewritten:!1};let o=new Set(e),i=e,s=new Map,a=new Map(r??[]),c=[],l=n;for(let d=0;d<er;d++){let m=pb(i),f=fs(i);for(let[h,y]of f.envAssignments)s.set(h,y),a.set(h,y);if(i=f.words,i.length===0)break;while(i.length>0&&or(i).includes("=")&&!VP(i)){let h=HP(or(i),a,t.env)??Vi(or(i),t.env,a);if(h)s.set(h.name,h.value),a.set(h.name,h.value);i=i.slice(1)}if(i.length===0)break;let p=or(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=KP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=XP(i,l,a,t);if(c.push(...h.envSplitValues??[]),i=h.words,h.cwd!==void 0)l=h.cwd;for(let[y,v]of h.envAssignments)s.set(y,v),a.set(y,v)}if(p==="command")i=QP(i);if(p==="builtin")i=i.slice(tt(i,1)==="--"?2:1);if(pb(i)===m)break}let u=fs(i);for(let[d,m]of u.envAssignments)s.set(d,m),a.set(d,m);return{words:u.words,envAssignments:s,cwd:l,envSplitValues:c.length>0?c:void 0,rewritten:BP(u.words,o)}}function BP(e,t){return e.some((n)=>!t.has(n))}function pb(e){return e.map(z).join(" ")}function or(e){let t=e[0];return t?z(t):""}function tt(e,t){let n=e[t];return n?z(n):void 0}function VP(e){return gb.test(or(e))}function HP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var qP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function KP(e,t,n){let r=1,o=n;while(r<e.length){let i=tt(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=tt(e,r+1);o=s?mo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=mo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=mo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(qP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var YP=new Set(["-i","-0","--null"]),JP=new Set(["-u","--unset","-C","--chdir","-P"]);function XP(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=tt(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=tt(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:tt(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(JP.has(l)){if(l==="-C"||l==="--chdir"){let d=tt(e,a+1);s=d?mo(s,d,r.paths):null}a+=2;continue}if(l.startsWith("-u=")){a++;continue}if(l.startsWith("-C")&&l.length>2||l.startsWith("--chdir=")){let d=l.startsWith("--chdir=")?l.slice(8):l.startsWith("-C=")?l.slice(3):l.slice(2);s=mo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!He(l))break;while(a<e.length){let d=He(tt(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(tt(e,a)==="--")a++;return c(a)}return c(a)}function mo(e,t,n){if(t==="")return null;if(!e&&!fb(t))return null;let r=fb(t)?jP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Ut(r,t,n)}catch{return null}}function QP(e){if(tt(e,1)==="-v")return[...Z(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=tt(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 eA=/['"\\$`{}#]/;function ps(e,t){if(e.some((r)=>eA.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 Bt(e,t,n){return gs(e,t,n).tokens}function tA(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 Vt(e,t,n,r=0){let o=gs(e,t,n),i=(o.envSplitValues??[]).flatMap(tA);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Vt(s,t,n,r+1)}function gs(e,t,n,r){if(!hb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=vn(Z(e),t,n,r);return{tokens:o.words.map(z),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as Nk,isAbsolute as Dk,normalize as Mk,resolve as uv}from"path";function hs(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function nA(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)=>Pe(t)))})}function ys(e,t,n){e.push(n),t.reset()}function rA(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function bs(e){let t=[];return{parts:t,push:(n,r,o)=>rA(t,e,n,r,o)}}function tu(e){let t=e.parts??[{raw:e.raw,span:e.span,provenance:e.provenance}];return Object.freeze({kind:"word",...e,span:Object.freeze(e.span),parts:Object.freeze(t.map((n)=>Object.freeze({...n,span:Object.freeze(n.span)})))})}function ir(e,t,n,r,o,i,s){return tu({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function Pe(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 nA(t);if(t.kind==="group"||t.kind==="function")return Object.freeze({...t,span:Object.freeze(t.span),body:Pe(t.body)});return Object.freeze({...t,span:Object.freeze(t.span)})}))})}function nu(e,t,n){if(t>=n||bb(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!bb(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=yb(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=yb(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
29
+ `||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function ru(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=oA(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?iA(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 yb(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
30
+ `&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function bb(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function oA(e,t,n){let r=t;while(r<n&&e[r]!==`
31
31
  `&&e[r]!=="\r")r++;let o=r>=n?n:e[r]==="\r"&&e[r+1]===`
32
- `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function KP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var Cb=new Set(["&&","||","|","|&"]);function Eb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Re({kind:"program",dialect:"posix",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=_s(e,0,e.length,t,{used:0,max:t.maxWords},0);return Re({kind:"program",dialect:"posix",source:e,span:n,status:Cs(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function _s(e,t,n,r,o,i,s){let a=[],c=[],l=gs(),u=[],d=()=>{if(l.words.length===0&&l.redirections.length===0)return;let f={start:l.start,end:l.end},p=l.words.map((h)=>h.text);hs(a,l,{kind:"command",dialect:"posix",source:e.slice(f.start,f.end),span:f,words:l.words,redirections:l.redirections,nested:l.nested,displayText:c.length>0&&a.length===0?e.slice(t,n):p.join(" ")})},m=t;while(m<n){let f=e[m];if(!f)break;if(s&&f===s)return d(),xb(a,c),{nodes:a,issues:c,next:m+1,closed:!0,limited:!1,pendingHeredocs:u};if(xs(f)){if(f===`
32
+ `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function iA(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var Cb=new Set(["&&","||","|","|&"]);function Eb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Pe({kind:"program",dialect:"posix",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=Ss(e,0,e.length,t,{used:0,max:t.maxWords},0);return Pe({kind:"program",dialect:"posix",source:e,span:n,status:Es(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function Ss(e,t,n,r,o,i,s){let a=[],c=[],l=hs(),u=[],d=()=>{if(l.words.length===0&&l.redirections.length===0)return;let f={start:l.start,end:l.end},p=l.words.map((h)=>h.text);ys(a,l,{kind:"command",dialect:"posix",source:e.slice(f.start,f.end),span:f,words:l.words,redirections:l.redirections,nested:l.nested,displayText:c.length>0&&a.length===0?e.slice(t,n):p.join(" ")})},m=t;while(m<n){let f=e[m];if(!f)break;if(s&&f===s)return d(),xb(a,c),{nodes:a,issues:c,next:m+1,closed:!0,limited:!1,pendingHeredocs:u};if(Cs(f)){if(f===`
33
33
  `||f==="\r"){d();let C=f==="\r"&&e[m+1]===`
34
- `?m+2:m+1,P=a.at(-1);if(P?.kind!=="connector"||!Cb.has(P.operator))a.push(Object.freeze({kind:"connector",operator:e.slice(m,C),span:Object.freeze({start:m,end:C})}));if(u.length>0){let L=tu(e,C,n,u.splice(0));c.push(...L.issues),m=L.next;continue}m=C;continue}m++;continue}if(f==="#"){while(m<n&&e[m]!==`
35
- `&&e[m]!=="\r")m++;continue}let p=l.start===-1?gA(e,m,n):void 0;if(p){if(ru(a,c,m),i>=r.maxDepth)return or(a,c,m,"depth-limit",r.maxDepth);if(!nu(o))return or(a,c,m,"word-limit",r.maxWords);let C=_s(e,p.braceIndex+1,n,r,o,i+1,"}"),P=C.next,L={start:p.braceIndex+1,end:C.closed?P-1:P},k=vb(e,L,C);if(a.push({kind:"function",name:p.name,span:{start:m,end:P},body:k}),c.push(...C.issues),C.pendingHeredocs.length>0||fo(C.nodes))c.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:P}});if(u.push(...C.pendingHeredocs),C.limited)return vs(a,c,C.next);if(!C.closed)c.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:p.braceIndex,end:P}});m=P;continue}let h=Ss(e,m);if(h){if(d(),!Ob(a.at(-1)))c.push({code:"unexpected-connector",message:`connector ${h} has no preceding command`,span:{start:m,end:m+h.length}});a.push(Object.freeze({kind:"connector",operator:h,span:Object.freeze({start:m,end:m+h.length})})),m+=h.length;continue}if(f===")"){d(),c.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:m,end:m+1}}),a.push({kind:"unknown",source:f,span:{start:m,end:m+1}}),m++;continue}if((f==="("||f==="{"&&rA(e,m,n))&&l.start===-1){if(ru(a,c,m),i>=r.maxDepth)return or(a,c,m,"depth-limit",r.maxDepth);let C=f==="("?")":"}",P=_s(e,m+1,n,r,o,i+1,C),L=P.next,k={start:m+1,end:P.closed?L-1:L},U=vb(e,k,P);if(a.push({kind:"group",style:f==="("?"subshell":"brace",span:{start:m,end:L},body:U}),c.push(...P.issues),P.pendingHeredocs.length>0||fo(P.nodes))c.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:m,end:L}});if(u.push(...P.pendingHeredocs),P.limited)return vs(a,c,P.next);if(!P.closed)c.push({code:f==="("?"unclosed-subshell":"unclosed-brace-group",message:`${f} group is not closed`,span:{start:m,end:L}});m=L;continue}let y=(f==="<"||f===">")&&e[m+1]!=="("?QP(e,m):null;if(y){let C=l.words.at(-1),P=C&&C.span.end===m&&/^[0-9]+$/.test(C.raw)?Number(C.raw):void 0;if(P!==void 0)l.words.pop();let L=P===void 0?m:C?.span.start??m;l.start=l.start===-1?m:l.start;let k=m+y.length;while(k<n&&/[ \t]/.test(e[k]??""))k++;let U=e[k],ie=k>m+y.length&&U==="#",se=!U||xs(U)||!!Ss(e,k)||U===s||U===")"||ie||(U==="<"||U===">")&&e[k+1]!=="(",J=y==="<<"||y==="<<-"?eu(e,k,n):void 0,B=J?{word:rr(e,k,J.next,J.delimiter,"literal",J.quoted),nested:[],issues:[],next:J.next,limited:!1}:!se?ou(e,k,n,r,o,i):void 0;if(B){if(c.push(...B.issues),B.limited)return vs(a,c,B.next);if(!nu(o))return or(a,c,B.next,"word-limit",r.maxWords)}let w=B?.next??m+y.length,T={kind:"redirection",operator:y,span:{start:L,end:w},...P===void 0?{}:{fd:P},...B?{target:B.word}:{}};if(l.redirections.push(T),y==="<<"||y==="<<-")if(!J)c.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:m,end:m+y.length}});else{if(J.ambiguous||J.delimiter.length===0)c.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:J.span});let V=l.nested;u.push({delimiter:J.delimiter,quotedDelimiter:J.quoted,stripTabs:y==="<<-",declarationSpan:{start:L,end:w},attach:(S)=>{if(T.heredoc=S,S.quotedDelimiter)return;V.push(...JP(e,S.bodySpan.start,S.bodySpan.end,r,o,i+1))}})}else if(!B)c.push({code:"missing-redirection-target",message:`redirection ${y} requires a target word`,span:{start:m,end:m+y.length}});if(B)l.nested.push(...B.nested);l.end=w,m=w;continue}if(l.start===-1)ru(a,c,m);let b=ou(e,m,n,r,o,i);if(c.push(...b.issues),b.limited)return vs(a,c,b.next);let R=sA(l.words)?dA(e,b.word,o.max-o.used,r.maxDepth,r.maxInputLength):void 0;if(R?.limitCode)return or(a,c,b.next,R.limitCode,R.limitCode==="word-limit"?r.maxWords:R.limitCode==="depth-limit"?r.maxDepth:r.maxInputLength);let A=R?.words??[b.word];for(let C of A){if(!nu(o))return or(a,c,b.next,"word-limit",r.maxWords);l.words.push(C)}l.start=l.start===-1?m:l.start,l.end=b.next,l.nested.push(...b.nested),m=b.next>m?b.next:m+1}return d(),xb(a,c),c.push(...hA(u)),{nodes:a,issues:c,next:m,closed:s===void 0,limited:!1,pendingHeredocs:[]}}function vb(e,t,n){return{kind:"program",dialect:"posix",source:e.slice(t.start,t.end),span:t,status:Cs(n.issues,n.limited),issues:n.issues,nodes:n.nodes}}function ou(e,t,n,r,o,i){let s="",a=t,c=!1,l="literal",u=[],d=[],m=!1;while(a<n){let f=e[a],p=(f==="<"||f===">")&&e[a+1]==="(";if(!f||xs(f)||(f===";"||f==="|"||f==="&")&&Ss(e,a)||(f==="<"||f===">")&&!p)break;if(f===")")break;if(f==="'"){c=!0;let y=e.indexOf("'",a+1);if(y===-1||y>=n){s+=e.slice(a+1,n),d.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:a,end:n}}),a=n;break}s+=e.slice(a+1,y),a=y+1;continue}if(f==='"'){c=!0;let y=YP(e,a,n,r,o,i);if(s+=y.text,u.push(...y.nested),d.push(...y.issues),m||=y.limited,l=mo(l,y.provenance),a=y.next,m)break;continue}if(e.startsWith("$'",a)){c=!0;let y=eA(e,a+2,n);if(s+=y.text,d.push(...y.issues),!y.closed)d.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:a,end:n}});a=y.next;continue}if(f==="\\"){let y=e[a+1];if(!y){d.push({code:"trailing-escape",message:"escape has no following character",span:{start:a,end:a+1}}),a++;break}if(y===`
36
- `){a+=2;continue}s+=y,a+=2;continue}let h=f==="$"||f==="<"||f===">"||f==="`"?Es(e,a,n,r,o,i):null;if(h){let y=wb(h,u,d);if(m||=y.limited,l=mo(l,y.provenance),a=y.next,m)break;continue}if(f==="$"){let y=Ab(e,a,n,s,l);s=y.text,l=y.provenance,a=y.next;continue}if(f==="*"||f==="?"||f==="[")l=mo(l,"glob");s+=f,a++}return{word:rr(e,t,a,s,l,c,l==="literal"?void 0:nA(e,t,a)),nested:u,issues:d,next:a,limited:m}}function YP(e,t,n,r,o,i){let s="",a="literal",c=[],l=[],u=!1,d=t+1;while(d<n){let m=e[d];if(m==='"')return{text:s,provenance:a,nested:c,issues:l,next:d+1,limited:u};if(m==="\\"&&e[d+1]){let p=e[d+1]??"";if(p===`
34
+ `?m+2:m+1,P=a.at(-1);if(P?.kind!=="connector"||!Cb.has(P.operator))a.push(Object.freeze({kind:"connector",operator:e.slice(m,C),span:Object.freeze({start:m,end:C})}));if(u.length>0){let L=ru(e,C,n,u.splice(0));c.push(...L.issues),m=L.next;continue}m=C;continue}m++;continue}if(f==="#"){while(m<n&&e[m]!==`
35
+ `&&e[m]!=="\r")m++;continue}let p=l.start===-1?wA(e,m,n):void 0;if(p){if(iu(a,c,m),i>=r.maxDepth)return sr(a,c,m,"depth-limit",r.maxDepth);if(!ou(o))return sr(a,c,m,"word-limit",r.maxWords);let C=Ss(e,p.braceIndex+1,n,r,o,i+1,"}"),P=C.next,L={start:p.braceIndex+1,end:C.closed?P-1:P},k=vb(e,L,C);if(a.push({kind:"function",name:p.name,span:{start:m,end:P},body:k}),c.push(...C.issues),C.pendingHeredocs.length>0||po(C.nodes))c.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:P}});if(u.push(...C.pendingHeredocs),C.limited)return _s(a,c,C.next);if(!C.closed)c.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:p.braceIndex,end:P}});m=P;continue}let h=xs(e,m);if(h){if(d(),!Ob(a.at(-1)))c.push({code:"unexpected-connector",message:`connector ${h} has no preceding command`,span:{start:m,end:m+h.length}});a.push(Object.freeze({kind:"connector",operator:h,span:Object.freeze({start:m,end:m+h.length})})),m+=h.length;continue}if(f===")"){d(),c.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:m,end:m+1}}),a.push({kind:"unknown",source:f,span:{start:m,end:m+1}}),m++;continue}if((f==="("||f==="{"&&fA(e,m,n))&&l.start===-1){if(iu(a,c,m),i>=r.maxDepth)return sr(a,c,m,"depth-limit",r.maxDepth);let C=f==="("?")":"}",P=Ss(e,m+1,n,r,o,i+1,C),L=P.next,k={start:m+1,end:P.closed?L-1:L},U=vb(e,k,P);if(a.push({kind:"group",style:f==="("?"subshell":"brace",span:{start:m,end:L},body:U}),c.push(...P.issues),P.pendingHeredocs.length>0||po(P.nodes))c.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:m,end:L}});if(u.push(...P.pendingHeredocs),P.limited)return _s(a,c,P.next);if(!P.closed)c.push({code:f==="("?"unclosed-subshell":"unclosed-brace-group",message:`${f} group is not closed`,span:{start:m,end:L}});m=L;continue}let y=(f==="<"||f===">")&&e[m+1]!=="("?lA(e,m):null;if(y){let C=l.words.at(-1),P=C&&C.span.end===m&&/^[0-9]+$/.test(C.raw)?Number(C.raw):void 0;if(P!==void 0)l.words.pop();let L=P===void 0?m:C?.span.start??m;l.start=l.start===-1?m:l.start;let k=m+y.length;while(k<n&&/[ \t]/.test(e[k]??""))k++;let U=e[k],oe=k>m+y.length&&U==="#",ie=!U||Cs(U)||!!xs(e,k)||U===s||U===")"||oe||(U==="<"||U===">")&&e[k+1]!=="(",Y=y==="<<"||y==="<<-"?nu(e,k,n):void 0,j=Y?{word:ir(e,k,Y.next,Y.delimiter,"literal",Y.quoted),nested:[],issues:[],next:Y.next,limited:!1}:!ie?su(e,k,n,r,o,i):void 0;if(j){if(c.push(...j.issues),j.limited)return _s(a,c,j.next);if(!ou(o))return sr(a,c,j.next,"word-limit",r.maxWords)}let R=j?.next??m+y.length,T={kind:"redirection",operator:y,span:{start:L,end:R},...P===void 0?{}:{fd:P},...j?{target:j.word}:{}};if(l.redirections.push(T),y==="<<"||y==="<<-")if(!Y)c.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:m,end:m+y.length}});else{if(Y.ambiguous||Y.delimiter.length===0)c.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:Y.span});let B=l.nested;u.push({delimiter:Y.delimiter,quotedDelimiter:Y.quoted,stripTabs:y==="<<-",declarationSpan:{start:L,end:R},attach:(S)=>{if(T.heredoc=S,S.quotedDelimiter)return;B.push(...aA(e,S.bodySpan.start,S.bodySpan.end,r,o,i+1))}})}else if(!j)c.push({code:"missing-redirection-target",message:`redirection ${y} requires a target word`,span:{start:m,end:m+y.length}});if(j)l.nested.push(...j.nested);l.end=R,m=R;continue}if(l.start===-1)iu(a,c,m);let v=su(e,m,n,r,o,i);if(c.push(...v.issues),v.limited)return _s(a,c,v.next);let E=hA(l.words)?SA(e,v.word,o.max-o.used,r.maxDepth,r.maxInputLength):void 0;if(E?.limitCode)return sr(a,c,v.next,E.limitCode,E.limitCode==="word-limit"?r.maxWords:E.limitCode==="depth-limit"?r.maxDepth:r.maxInputLength);let A=E?.words??[v.word];for(let C of A){if(!ou(o))return sr(a,c,v.next,"word-limit",r.maxWords);l.words.push(C)}l.start=l.start===-1?m:l.start,l.end=v.next,l.nested.push(...v.nested),m=v.next>m?v.next:m+1}return d(),xb(a,c),c.push(...RA(u)),{nodes:a,issues:c,next:m,closed:s===void 0,limited:!1,pendingHeredocs:[]}}function vb(e,t,n){return{kind:"program",dialect:"posix",source:e.slice(t.start,t.end),span:t,status:Es(n.issues,n.limited),issues:n.issues,nodes:n.nodes}}function su(e,t,n,r,o,i){let s="",a=t,c=!1,l="literal",u=[],d=[],m=!1;while(a<n){let f=e[a],p=(f==="<"||f===">")&&e[a+1]==="(";if(!f||Cs(f)||(f===";"||f==="|"||f==="&")&&xs(e,a)||(f==="<"||f===">")&&!p)break;if(f===")")break;if(f==="'"){c=!0;let y=e.indexOf("'",a+1);if(y===-1||y>=n){s+=e.slice(a+1,n),d.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:a,end:n}}),a=n;break}s+=e.slice(a+1,y),a=y+1;continue}if(f==='"'){c=!0;let y=sA(e,a,n,r,o,i);if(s+=y.text,u.push(...y.nested),d.push(...y.issues),m||=y.limited,l=fo(l,y.provenance),a=y.next,m)break;continue}if(e.startsWith("$'",a)){c=!0;let y=uA(e,a+2,n);if(s+=y.text,d.push(...y.issues),!y.closed)d.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:a,end:n}});a=y.next;continue}if(f==="\\"){let y=e[a+1];if(!y){d.push({code:"trailing-escape",message:"escape has no following character",span:{start:a,end:a+1}}),a++;break}if(y===`
36
+ `){a+=2;continue}s+=y,a+=2;continue}let h=f==="$"||f==="<"||f===">"||f==="`"?ws(e,a,n,r,o,i):null;if(h){let y=wb(h,u,d);if(m||=y.limited,l=fo(l,y.provenance),a=y.next,m)break;continue}if(f==="$"){let y=Ab(e,a,n,s,l);s=y.text,l=y.provenance,a=y.next;continue}if(f==="*"||f==="?"||f==="[")l=fo(l,"glob");s+=f,a++}return{word:ir(e,t,a,s,l,c,l==="literal"?void 0:mA(e,t,a)),nested:u,issues:d,next:a,limited:m}}function sA(e,t,n,r,o,i){let s="",a="literal",c=[],l=[],u=!1,d=t+1;while(d<n){let m=e[d];if(m==='"')return{text:s,provenance:a,nested:c,issues:l,next:d+1,limited:u};if(m==="\\"&&e[d+1]){let p=e[d+1]??"";if(p===`
37
37
  `){d+=2;continue}if(p==="\r"&&e[d+2]===`
38
- `){d+=3;continue}s+=["$","`",'"',"\\"].includes(p)?p:`\\${p}`,d+=2;continue}if(e.startsWith("$((",d)){let p=iu(e,d+3,n,"))"),h=p===-1?n:p+2;if(s+=e.slice(d,h),p===-1)l.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:d,end:h}});d=h;continue}let f=Es(e,d,n,r,o,i);if(f){let p=wb(f,c,l);if(d=p.next,u||=p.limited,a=mo(a,p.provenance),u)return{text:s,provenance:a,nested:c,issues:l,next:d,limited:u};continue}if(m==="$"){let p=Ab(e,d,n,s,a);s=p.text,a=p.provenance,d=p.next;continue}s+=m??"",d++}return l.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:t,end:n}}),{text:s,provenance:a,nested:c,issues:l,next:n,limited:u}}function Es(e,t,n,r,o,i){let s=e.startsWith("$((",t),a=e.startsWith("$(",t)&&!s,c=e.startsWith("<(",t)||e.startsWith(">(",t),l=e[t]==="`";if(!s&&!a&&!c&&!l)return null;let u=s?3:l?1:2,d=s?"))":l?"`":")",m=iu(e,t+u,n,d),f=m===-1?n:m,p=m===-1?n:m+d.length;if(i>=r.maxDepth)return{program:pA(e,t+u,f,"depth-limit"),next:p,provenance:s?"arithmetic":"command-substitution"};if(s){let R=[],A=[],C=!1,P=t+u;while(P<f){let L=Es(e,P,f,r,o,i+1);if(!L){P++;continue}if(R.push(...L.program.nodes),A.push(...L.program.issues),C||=L.program.status==="limited",P=L.next,C)break}if(m===-1)A.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:t,end:p}});return{program:Re({kind:"program",dialect:"posix",source:e.slice(t+u,f),span:{start:t+u,end:f},status:Cs(A,C),issues:A,nodes:R}),next:p,provenance:"arithmetic"}}let h=_s(e,t+u,f,r,o,i+1),y=m===-1?[{code:"unclosed-command-substitution",message:`${e.slice(t,t+u)} substitution is not closed`,span:{start:t,end:p}}]:[],b=(l||c)&&fo(h.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:t,end:p}}]:[];return{program:Re({kind:"program",dialect:"posix",source:e.slice(t+u,f),span:{start:t+u,end:f},status:Cs([...h.issues,...y,...b],h.limited),issues:[...h.issues,...y,...b],nodes:h.nodes}),next:p,provenance:"command-substitution"}}function JP(e,t,n,r,o,i){let s=[],a=t;while(a<n){let c=e[a];if(c==="\\"){a+=2;continue}let l=c==="$"||c==="`"?Es(e,a,n,r,o,i):null;if(!l){a++;continue}if(s.push(l.program),a=l.next,l.program.status==="limited")break}return s}function wb(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
+ `){d+=3;continue}s+=["$","`",'"',"\\"].includes(p)?p:`\\${p}`,d+=2;continue}if(e.startsWith("$((",d)){let p=au(e,d+3,n,"))"),h=p===-1?n:p+2;if(s+=e.slice(d,h),p===-1)l.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:d,end:h}});d=h;continue}let f=ws(e,d,n,r,o,i);if(f){let p=wb(f,c,l);if(d=p.next,u||=p.limited,a=fo(a,p.provenance),u)return{text:s,provenance:a,nested:c,issues:l,next:d,limited:u};continue}if(m==="$"){let p=Ab(e,d,n,s,a);s=p.text,a=p.provenance,d=p.next;continue}s+=m??"",d++}return l.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:t,end:n}}),{text:s,provenance:a,nested:c,issues:l,next:n,limited:u}}function ws(e,t,n,r,o,i){let s=e.startsWith("$((",t),a=e.startsWith("$(",t)&&!s,c=e.startsWith("<(",t)||e.startsWith(">(",t),l=e[t]==="`";if(!s&&!a&&!c&&!l)return null;let u=s?3:l?1:2,d=s?"))":l?"`":")",m=au(e,t+u,n,d),f=m===-1?n:m,p=m===-1?n:m+d.length;if(i>=r.maxDepth)return{program:EA(e,t+u,f,"depth-limit"),next:p,provenance:s?"arithmetic":"command-substitution"};if(s){let E=[],A=[],C=!1,P=t+u;while(P<f){let L=ws(e,P,f,r,o,i+1);if(!L){P++;continue}if(E.push(...L.program.nodes),A.push(...L.program.issues),C||=L.program.status==="limited",P=L.next,C)break}if(m===-1)A.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:t,end:p}});return{program:Pe({kind:"program",dialect:"posix",source:e.slice(t+u,f),span:{start:t+u,end:f},status:Es(A,C),issues:A,nodes:E}),next:p,provenance:"arithmetic"}}let h=Ss(e,t+u,f,r,o,i+1),y=m===-1?[{code:"unclosed-command-substitution",message:`${e.slice(t,t+u)} substitution is not closed`,span:{start:t,end:p}}]:[],v=(l||c)&&po(h.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:t,end:p}}]:[];return{program:Pe({kind:"program",dialect:"posix",source:e.slice(t+u,f),span:{start:t+u,end:f},status:Es([...h.issues,...y,...v],h.limited),issues:[...h.issues,...y,...v],nodes:h.nodes}),next:p,provenance:"command-substitution"}}function aA(e,t,n,r,o,i){let s=[],a=t;while(a<n){let c=e[a];if(c==="\\"){a+=2;continue}let l=c==="$"||c==="`"?ws(e,a,n,r,o,i):null;if(!l){a++;continue}if(s.push(l.program),a=l.next,l.program.status==="limited")break}return s}function wb(e,t,n){return t.push(e.program),n.push(...e.program.issues),{provenance:e.provenance,next:e.next,limited:e.program.status==="limited"}}function au(e,t,n,r){if(r==="`"){for(let a=t;a<n;a++)if(e[a]==="\\")a++;else if(e[a]==="`")return a;return-1}let o=1,i={single:!1,double:!1},s=[];for(let a=t;a<n;a++){let c=e[a];if((c===`
39
39
  `||c==="\r")&&s.length>0){let u=c==="\r"&&e[a+1]===`
40
- `?a+2:a+1,d=tu(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=Rb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=XP(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 m=eu(e,d,n);if(m){s.push({delimiter:m.delimiter,quotedDelimiter:m.quoted,stripTabs:u,declarationSpan:{start:a,end:m.next},attach:()=>{return}}),a=m.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 XP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=Rb(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 Rb(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!=="#"||!yA(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
41
- `&&e[s+1]!=="\r")s++;return s}function Ss(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 QP(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 xs(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 Pb(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 eA(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=tA(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 tA(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
42
- `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return bs(e,t+1,n,16,2,t+1);if(r==="u")return bs(e,t+1,n,16,4,t+1);if(r==="U")return bs(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return bs(e,t,n,8,3,t+1);return{text:r,next:t+1}}function bs(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"\uFFFD",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Cs(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 Ab(e,t,n,r,o){let i=Pb(e,t,n);return{text:r+e.slice(t,i),provenance:mo(o,"variable"),next:i}}function nA(e,t,n){let r=ys(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)),m=c==="`";if(l||u||d||m){let f=l?3:m?1:2,p=l?"))":m?"`":")",h=iu(e,a+f,n,p),y=h===-1?n:h+p.length;r.push(o,a,"literal"),r.push(a,y,l?"arithmetic":"command-substitution"),a=y,o=y;continue}if(c==="$"){let f=Pb(e,a,n);if(f>a+1){r.push(o,a,"literal"),r.push(a,f,"variable"),a=f,o=f;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 rA(e,t,n){return t+1>=n||xs(e[t+1]??"")||Ss(e,t+1)!==null}var oA=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),iA=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function sA(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=aA(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function aA(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return cA(e,t);if(n==="env")return lA(e,t);if(n==="sudo")return uA(e,t);return}function cA(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 lA(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(oA.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 uA(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(iA.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function kb(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)=>Sb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=Sb(l);if(!u||u.kind==="range")return{limited:!0};let d=u.start+l.length-u.end,m=u.alternatives.reduce((p,h)=>p+d+h.length,0);if(i-l.length+m>r||o.length-1+u.alternatives.length>t)return{limited:!0};let f=Tb(l,u);o.splice(c,1,...f),i+=m-l.length}if(s===0)return;let a=o.map((c)=>fA(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function dA(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((y)=>_b(y));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=_b(u);if(!d)break;let m=d.start+u.length-d.end,f=d.alternatives.filter((y)=>m+y.length>0),p=f.reduce((y,b)=>y+m+b.length,0);if(s-u.length+p>o)return{limitCode:"brace-expansion-limit"};if(i.length-1+f.length>n)return{limitCode:"word-limit"};let h=Tb(u,{...d,alternatives:f});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)=>rr(e,t.span.start,t.span.end,l,"literal",!1))}}function _b(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:Ib(e,n)}}function Sb(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}:mA(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:Ib(e,n)}}function Tb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function Ib(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 mA(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function fA(e,t){let n=`x${e}`,r=ou(n,0,n.length,{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 pA(e,t,n,r){return Re({kind:"program",dialect:"posix",source:e.slice(t,n),span:{start:t,end:n},status:"limited",issues:[{code:r,message:"command structure exceeds parser limit",span:{start:t,end:n}}],nodes:[]})}function or(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 vs(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function nu(e){return e.used++,e.used<=e.max}function gA(e,t,n){let r=e.slice(t,n),o=/^(?:function[ \t]+)?([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(r)??/^function[ \t]+([A-Za-z_][A-Za-z0-9_]*)[ \t]+\{/.exec(r),i=o?.[1];if(!o||!i)return;return{name:i,braceIndex:t+o[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 hA(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function Ob(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function xb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!Cb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function ru(e,t,n){if(!Ob(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function yA(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var zb=new Set(["remove-item","ri","del","erase","rd","rmdir","get-content","set-content","add-content","copy-item","move-item"]),bA=new Set(["gc","cat","type","cp","mv","rm"]),Nb=["-rec","-for","-path","-literalpath","-whatif"],vA=/^\$env:\w/i,_A=/^(?:\$\{?\w+\}?|~)\\./,ws={maxInputLength:131072,maxWords:16384,maxDepth:64};function Db(e){let t=e.toLowerCase().replaceAll("`","");if(![...zb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Nb.some((r)=>t.includes(r)))&&!t.includes("<#")&&!SA(t))return!1;let n=RA(e);return n.invalidComment||n.commands.some(xA)}function SA(e){if(e.includes("$env:"))return!0;return e.includes("\\")&&(e.includes("$")||e.includes("~"))}function xA(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&zb.has(n))return!0;let r=e.slice(t+1);if(n&&bA.has(n)&&r.some(CA))return!0;if(n!=="rm")return!1;return r.some((o)=>{let i=o.toLowerCase().split(":",1)[0]??"";return Nb.some((s)=>i.startsWith(s))})}function CA(e){return vA.test(e)||_A.test(e)}function Mb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Re({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 Re({kind:"program",dialect:"powershell",source:e,span:n,status:PA(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function uu(e,t,n,r,o,i=!1){let s=[],a=[],c=gs(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let f={start:c.start,end:c.end};hs(s,c,{kind:"command",dialect:"powershell",source:e.slice(f.start,f.end),span:f,words:c.words,redirections:c.redirections,nested:c.nested,displayText:c.words.map((p)=>p.text).join(" ")})},m=t;while(m<n){let f=e[m];if(!f)break;if(i&&f==="}")return d(),{nodes:s,issues:a,next:m+1,closed:!0,words:l,limited:u};let p=Wb(e,m,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};m=p.next;continue}if(/\s/.test(f)){if(f==="\r"||f===`
43
- `){d();let b=f==="\r"&&e[m+1]===`
44
- `?m+2:m+1;s.push(su(e,m,b)),m=b;continue}m++;continue}let h=du(e,m);if(h){d(),s.push(su(e,m,m+h.length)),m+=h.length;continue}if(f==="{"){if(d(),o>=r.maxDepth)return a.push(Lb(m,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let b=uu(e,m+1,n,r,o+1,!0),R=b.closed?b.next-1:b.next,A=Re({kind:"program",dialect:"powershell",source:e.slice(m+1,R),span:{start:m+1,end:R},status:b.limited?"limited":b.issues.length>0?"partial":"complete",issues:b.issues,nodes:b.nodes});if(s.push(Object.freeze({kind:"group",style:"brace",span:Object.freeze({start:m,end:b.next}),body:A})),a.push(...b.issues),!b.closed)a.push({code:"unclosed-script-block",message:"PowerShell script block is not closed",span:{start:m,end:b.next}});l+=b.words,u||=b.limited,m=b.next;continue}if(f==="}"){d(),s.push(su(e,m,m+1)),m++;continue}if(f===">"||f==="<"){c.start=c.start===-1?m:c.start;let b=e[m+1]===f?m+2:m+1,R=b;while(/[ \t]/.test(e[R]??""))R++;let A=R<n?au(e,R,n,r,o):void 0,C=A?.next??b;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(m,b),span:Object.freeze({start:m,end:C}),...A?{target:A.word}:{}})),A)a.push(...A.issues),c.nested.push(...A.nested),l+=A.words,u||=A.limited;c.end=C,m=C;continue}if(f===","){c.start=c.start===-1?m:c.start,c.words.push(Ql({text:",",raw:",",span:{start:m,end:m+1},provenance:"literal",quoted:!1})),c.end=++m;continue}let y=au(e,m,n,r,o);if(c.start=c.start===-1?m:c.start,c.end=y.next,c.words.push(y.word),a.push(...y.issues),c.nested.push(...y.nested),l+=1+y.words,u||=y.limited,l>r.maxWords)return a.push({code:"word-limit",message:`command exceeds ${r.maxWords} words`,span:{start:m,end:y.next}}),d(),{nodes:s,issues:a,next:y.next,closed:!1,words:l,limited:!0};m=y.next>m?y.next:m+1}return d(),{nodes:s,issues:a,next:m,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,m=(p)=>{let h=EA(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},f=t;while(f<n){let p=e[f];if(!p||/\s/.test(p)||du(e,f)||p===">"||p==="<"||p==="#")break;if(p===",")break;if(p==="`"){let h=e[f+1];if(!h){c.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:f,end:f+1}}),f++;break}i+=h,f+=2;continue}if(e.startsWith("$(",f)){f=m(f);continue}if(p==="'"){a=!0,f++;let h=!1;while(f<e.length){if(e[f]==="'"&&e[f+1]==="'"){i+="'",f+=2;continue}if(e[f]==="'"){h=!0,f++;break}i+=e[f]??"",f++}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=f++,y=!1;while(f<n){let b=e[f];if(b==="`"&&e[f+1]){i+=e[f+1],f+=2;continue}if(b==='"'){y=!0,f++;break}if(e.startsWith("$(",f)){f=m(f);continue}if(b==="$")s=e[f+1]==="("?"command-substitution":"variable";i+=b??"",f++}if(!y)c.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:h,end:e.length}});continue}if(p==="$")s=e[f+1]==="("?"command-substitution":"variable";if(p==="@"&&f===t)s="variable";i+=p,f++}return{word:rr(e,t,f,i,s,a,s==="literal"?void 0:wA(e,t,f)),next:f,issues:c,nested:l,words:u,limited:d}}function EA(e,t,n,r,o){let i=$b(e,t+2,n),s=i===-1?n:i,a=i===-1?n:i+1;if(o>=r.maxDepth)return{program:Re({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:"limited",issues:[Lb(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:Re({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 $b(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 wA(e,t,n){let r=ys(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=$b(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 Lb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function RA(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===`
40
+ `?a+2:a+1,d=ru(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=Rb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=cA(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 m=nu(e,d,n);if(m){s.push({delimiter:m.delimiter,quotedDelimiter:m.quoted,stripTabs:u,declarationSpan:{start:a,end:m.next},attach:()=>{return}}),a=m.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 cA(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=Rb(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 Rb(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!=="#"||!PA(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
41
+ `&&e[s+1]!=="\r")s++;return s}function xs(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 lA(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 Cs(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 Pb(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 uA(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=dA(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 dA(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
42
+ `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return vs(e,t+1,n,16,2,t+1);if(r==="u")return vs(e,t+1,n,16,4,t+1);if(r==="U")return vs(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return vs(e,t,n,8,3,t+1);return{text:r,next:t+1}}function vs(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"\uFFFD",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Es(e,t=!1){if(t)return"limited";if(e.some((n)=>n.code==="invalid-ansi-c-code-point"||n.code==="missing-heredoc-delimiter"||n.code==="ambiguous-heredoc-delimiter"||n.code==="unterminated-heredoc"||n.code==="unsupported-heredoc-context"))return"invalid";return e.length>0?"partial":"complete"}function Ab(e,t,n,r,o){let i=Pb(e,t,n);return{text:r+e.slice(t,i),provenance:fo(o,"variable"),next:i}}function mA(e,t,n){let r=bs(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)),m=c==="`";if(l||u||d||m){let f=l?3:m?1:2,p=l?"))":m?"`":")",h=au(e,a+f,n,p),y=h===-1?n:h+p.length;r.push(o,a,"literal"),r.push(a,y,l?"arithmetic":"command-substitution"),a=y,o=y;continue}if(c==="$"){let f=Pb(e,a,n);if(f>a+1){r.push(o,a,"literal"),r.push(a,f,"variable"),a=f,o=f;continue}}if(!s&&(c==="*"||c==="?"||c==="[")){r.push(o,a,"literal"),r.push(a,a+1,"glob"),a++,o=a;continue}a++}return r.push(o,n,"literal"),r.parts}function fo(e,t){if(t==="command-substitution"||e==="command-substitution")return"command-substitution";if(t==="arithmetic"||e==="arithmetic")return"arithmetic";if(t==="variable"||e==="variable")return"variable";if(t==="glob"||e==="glob")return"glob";return e}function fA(e,t,n){return t+1>=n||Cs(e[t+1]??"")||xs(e,t+1)!==null}var pA=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),gA=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function hA(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=yA(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function yA(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return bA(e,t);if(n==="env")return vA(e,t);if(n==="sudo")return _A(e,t);return}function bA(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 vA(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(pA.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 _A(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(gA.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function kb(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)=>Sb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=Sb(l);if(!u||u.kind==="range")return{limited:!0};let d=u.start+l.length-u.end,m=u.alternatives.reduce((p,h)=>p+d+h.length,0);if(i-l.length+m>r||o.length-1+u.alternatives.length>t)return{limited:!0};let f=Tb(l,u);o.splice(c,1,...f),i+=m-l.length}if(s===0)return;let a=o.map((c)=>CA(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function SA(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((y)=>_b(y));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=_b(u);if(!d)break;let m=d.start+u.length-d.end,f=d.alternatives.filter((y)=>m+y.length>0),p=f.reduce((y,v)=>y+m+v.length,0);if(s-u.length+p>o)return{limitCode:"brace-expansion-limit"};if(i.length-1+f.length>n)return{limitCode:"word-limit"};let h=Tb(u,{...d,alternatives:f});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 _b(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:Ib(e,n)}}function Sb(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}:xA(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:Ib(e,n)}}function Tb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function Ib(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 xA(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function CA(e,t){let n=`x${e}`,r=su(n,0,n.length,{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 EA(e,t,n,r){return Pe({kind:"program",dialect:"posix",source:e.slice(t,n),span:{start:t,end:n},status:"limited",issues:[{code:r,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 ou(e){return e.used++,e.used<=e.max}function wA(e,t,n){let r=e.slice(t,n),o=/^(?:function[ \t]+)?([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(r)??/^function[ \t]+([A-Za-z_][A-Za-z0-9_]*)[ \t]+\{/.exec(r),i=o?.[1];if(!o||!i)return;return{name:i,braceIndex:t+o[0].lastIndexOf("{")}}function po(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>po(n.nodes));return(t.kind==="group"||t.kind==="function")&&po(t.body.nodes)})}function RA(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function Ob(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function xb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!Cb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function iu(e,t,n){if(!Ob(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function PA(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var zb=new Set(["remove-item","ri","del","erase","rd","rmdir","get-content","set-content","add-content","copy-item","move-item"]),AA=new Set(["gc","cat","type","cp","mv","rm"]),Nb=["-rec","-for","-path","-literalpath","-whatif"],kA=/^\$env:\w/i,TA=/^(?:\$\{?\w+\}?|~)\\./,Rs={maxInputLength:131072,maxWords:16384,maxDepth:64};function Db(e){let t=e.toLowerCase().replaceAll("`","");if(![...zb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Nb.some((r)=>t.includes(r)))&&!t.includes("<#")&&!IA(t))return!1;let n=MA(e);return n.invalidComment||n.commands.some(OA)}function IA(e){if(e.includes("$env:"))return!0;return e.includes("\\")&&(e.includes("$")||e.includes("~"))}function OA(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&zb.has(n))return!0;let r=e.slice(t+1);if(n&&AA.has(n)&&r.some(zA))return!0;if(n!=="rm")return!1;return r.some((o)=>{let i=o.toLowerCase().split(":",1)[0]??"";return Nb.some((s)=>i.startsWith(s))})}function zA(e){return kA.test(e)||TA.test(e)}function Mb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Pe({kind:"program",dialect:"powershell",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=mu(e,0,e.length,t,0);return Pe({kind:"program",dialect:"powershell",source:e,span:n,status:$A(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function mu(e,t,n,r,o,i=!1){let s=[],a=[],c=hs(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let f={start:c.start,end:c.end};ys(s,c,{kind:"command",dialect:"powershell",source:e.slice(f.start,f.end),span:f,words:c.words,redirections:c.redirections,nested:c.nested,displayText:c.words.map((p)=>p.text).join(" ")})},m=t;while(m<n){let f=e[m];if(!f)break;if(i&&f==="}")return d(),{nodes:s,issues:a,next:m+1,closed:!0,words:l,limited:u};let p=Wb(e,m,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};m=p.next;continue}if(/\s/.test(f)){if(f==="\r"||f===`
43
+ `){d();let v=f==="\r"&&e[m+1]===`
44
+ `?m+2:m+1;s.push(cu(e,m,v)),m=v;continue}m++;continue}let h=fu(e,m);if(h){d(),s.push(cu(e,m,m+h.length)),m+=h.length;continue}if(f==="{"){if(d(),o>=r.maxDepth)return a.push(Lb(m,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let v=mu(e,m+1,n,r,o+1,!0),E=v.closed?v.next-1:v.next,A=Pe({kind:"program",dialect:"powershell",source:e.slice(m+1,E),span:{start:m+1,end:E},status:v.limited?"limited":v.issues.length>0?"partial":"complete",issues:v.issues,nodes:v.nodes});if(s.push(Object.freeze({kind:"group",style:"brace",span:Object.freeze({start:m,end:v.next}),body:A})),a.push(...v.issues),!v.closed)a.push({code:"unclosed-script-block",message:"PowerShell script block is not closed",span:{start:m,end:v.next}});l+=v.words,u||=v.limited,m=v.next;continue}if(f==="}"){d(),s.push(cu(e,m,m+1)),m++;continue}if(f===">"||f==="<"){c.start=c.start===-1?m:c.start;let v=e[m+1]===f?m+2:m+1,E=v;while(/[ \t]/.test(e[E]??""))E++;let A=E<n?lu(e,E,n,r,o):void 0,C=A?.next??v;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(m,v),span:Object.freeze({start:m,end:C}),...A?{target:A.word}:{}})),A)a.push(...A.issues),c.nested.push(...A.nested),l+=A.words,u||=A.limited;c.end=C,m=C;continue}if(f===","){c.start=c.start===-1?m:c.start,c.words.push(tu({text:",",raw:",",span:{start:m,end:m+1},provenance:"literal",quoted:!1})),c.end=++m;continue}let y=lu(e,m,n,r,o);if(c.start=c.start===-1?m:c.start,c.end=y.next,c.words.push(y.word),a.push(...y.issues),c.nested.push(...y.nested),l+=1+y.words,u||=y.limited,l>r.maxWords)return a.push({code:"word-limit",message:`command exceeds ${r.maxWords} words`,span:{start:m,end:y.next}}),d(),{nodes:s,issues:a,next:y.next,closed:!1,words:l,limited:!0};m=y.next>m?y.next:m+1}return d(),{nodes:s,issues:a,next:m,closed:!i,words:l,limited:u}}function lu(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,m=(p)=>{let h=NA(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=uu(h.program),d||=h.program.status==="limited",s="command-substitution",h.next},f=t;while(f<n){let p=e[f];if(!p||/\s/.test(p)||fu(e,f)||p===">"||p==="<"||p==="#")break;if(p===",")break;if(p==="`"){let h=e[f+1];if(!h){c.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:f,end:f+1}}),f++;break}i+=h,f+=2;continue}if(e.startsWith("$(",f)){f=m(f);continue}if(p==="'"){a=!0,f++;let h=!1;while(f<e.length){if(e[f]==="'"&&e[f+1]==="'"){i+="'",f+=2;continue}if(e[f]==="'"){h=!0,f++;break}i+=e[f]??"",f++}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=f++,y=!1;while(f<n){let v=e[f];if(v==="`"&&e[f+1]){i+=e[f+1],f+=2;continue}if(v==='"'){y=!0,f++;break}if(e.startsWith("$(",f)){f=m(f);continue}if(v==="$")s=e[f+1]==="("?"command-substitution":"variable";i+=v??"",f++}if(!y)c.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:h,end:e.length}});continue}if(p==="$")s=e[f+1]==="("?"command-substitution":"variable";if(p==="@"&&f===t)s="variable";i+=p,f++}return{word:ir(e,t,f,i,s,a,s==="literal"?void 0:DA(e,t,f)),next:f,issues:c,nested:l,words:u,limited:d}}function NA(e,t,n,r,o){let i=$b(e,t+2,n),s=i===-1?n:i,a=i===-1?n:i+1;if(o>=r.maxDepth)return{program:Pe({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:"limited",issues:[Lb(t,r.maxDepth)],nodes:[]}),next:a};let c=mu(e,t+2,s,r,o+1),l=i===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:t,end:a}}]:[];return{program:Pe({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 $b(e,t,n){let r=1,o=!1,i=!1;for(let s=t;s<n;s++){let a=e[s];if(a==="`"){s++;continue}if(!i&&a==="'"){if(o&&e[s+1]==="'"){s++;continue}o=!o;continue}if(!o&&a==='"'){i=!i;continue}if(o)continue;if(e.startsWith("$(",s)){r++,s++;continue}if(!i&&a==="(")r++;if(a!==")")continue;if(r--,r===0)return s}return-1}function uu(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=uu(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=uu(r)}}return t}function DA(e,t,n){let r=bs(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=$b(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 Lb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function MA(e){let t=[],n=[],r=0,o=0,i=!1,s=()=>{if(n.length>0)t.push(n);n=[]};while(r<e.length&&r<131072&&o<16384){let a=e[r];if(a==="\r"||a===`
45
45
  `){s(),r+=a==="\r"&&e[r+1]===`
46
- `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Wb(e,r,Math.min(e.length,ws.maxInputLength),ws.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,ws.maxInputLength),ws,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 Wb(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
47
- `)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function PA(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 vn=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function rt(e,t="auto",n=vn){if(t==="powershell"||t==="auto"&&Db(e.slice(0,n.maxInputLength)))return Mb(e,n);return Eb(e,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 AA=/^[A-Za-z_][A-Za-z0-9_]*=/;function Rs(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function Ps(e){let t=Rs(e.words[0],"time")?1:0,n=t===1&&Rs(e.words[t],"-p")?t+1:t,r=t===1&&Rs(e.words[n],"--")?n+1:n,o=Rs(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!AA.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 ir(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of kA(e))go(n,t);return t.inSingle||t.inDouble}function kA(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
48
- `||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);go(s,n)}return t}var TA=new Set(["&&","||","|&","|","&",";"]),IA=new Set(["<<","<<<",">|"]),OA=/[*@#?$!_-]/,zA=/^\w+(?::\w+)*/,mu=Object.freeze([]),NA=Object.freeze([]),DA=256;function Ub(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(ir(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,powershell:t.dialect==="powershell"});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=NA){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)=>MA(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function MA(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[ot(GA(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[ot(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?ks("{"):ot("("),...ho(e.body,a),...s?[i?ks("}"):ot(")")]:[]]}]}let o=jA(e,r.functions);if(o){if(r.depth>=vn.maxDepth||++r.flags.expansions>DA)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...Fb(e,r),ks(";"),...ho(o,{...r,depth:r.depth+1}),ks(";")]},...Gb(e,t,n,r)]}return[{start:e.span.start,entries:Fb(e,r)},...Gb(e,t,n,r)]}function Fb(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Vb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:$A(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function $A(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Vb(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:ZA(r),targetOrder:IA.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Gb(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]??"")?[ot(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Bb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?LA(t,n,r):[]]}function LA(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:Bb(n.source.slice(r.span.end,e.span.end),n)}]}function Bb(e,t){if(t.depth>=vn.maxDepth)return t.flags.limited=!0,[];let n=rt(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,powershell:!1});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Vb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(ot("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 f of fu(l.raw,i,n.flags,n.powershell)){if(typeof f==="string"){c(),o.push(ot(f));continue}s+=f.text,a||=f.glob}continue}if(i.double){let f=n.source.slice(l.span.start,l.span.end);s+=fu(f,{single:!1,double:!0},n.flags,n.powershell).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((f)=>f.span.start>=l.span.start&&f.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("<(")?ot("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[ot(")")]:[]);continue}let m=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:m},()=>ot("(")),...d,...l.raw.endsWith(")".repeat(m))?Array.from({length:m},()=>ot(")")):[])}return c(),o}function fu(e,t,n,r){let o=[],i="",s=!1,a=0;while(a<e.length){let c=e[a]??"";if(!t.single&&!t.double&&(c==="("||c===")")){o.push({text:i,glob:s},c),i="",s=!1,a++;continue}if(r&&c==="`"&&!t.single){i+=e[a+1]??"",a+=2;continue}if(t.single){if(c==="'")t.single=!1;else i+=c;a++;continue}if(t.double){if(c==='"'){t.double=!1,a++;continue}if(!r&&c==="\\"){let l=e[a+1]??"";i+=['"',"\\","$"].includes(l)?l:`\\${l}`,a+=2;continue}if(c==="$"){let l=Zb(e,a,t,n,r);i+=l.text,a=l.next;continue}i+=c,a++;continue}if(c==="'"||c==='"'){t.single=c==="'",t.double=c==='"',a++;continue}if(!r&&c==="\\"){let l=e[a+1]??"";s||=l==="*"||l==="?",i+=l,a+=2;continue}if(c==="$"){let l=Zb(e,a,t,n,r);i+=l.text,a=l.next;continue}s||=c==="*"||c==="?",i+=c,a++}return[...o,{text:i,glob:s}]}function Zb(e,t,n,r,o){let i=e[t+1];if(i==="{"){let a=FA(e,t+2);if(a===-1)return r.invalid=!0,{text:"",next:e.length};let c=e.slice(t,a+1);return WA(c,n,r,o),{text:c,next:a+1}}if(i!==void 0&&OA.test(i))return{text:`\${${i}}`,next:t+2};let s=(o?zA:/^\w*/).exec(e.slice(t+1))?.[0]??"";return{text:`\${${s}}`,next:t+1+s.length}}function WA(e,t,n,r){let o=e.slice(2,-1),i=/^[A-Za-z_][A-Za-z0-9_]*/.exec(o)?.[0];if(!i)return;let s=o.slice(i.length),a=[":=","="].find((l)=>s.startsWith(l));if(!a)return;let c=fu(s.slice(a.length),{...t},n,r);n.assignmentFallbacks.push(...c.flatMap((l)=>typeof l==="string"||!l.text?[]:[l.text]))}function FA(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 GA(e){return/^[\r\n]+$/.test(e)?";":e}function ot(e){return Object.freeze({kind:"operator",operator:e,boundary:TA.has(e)})}function ks(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function gu(e){return Object.freeze({kind:"word",text:e})}function ZA(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==="|&")||!BA(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function jA(e,t){let n=Ps(e);return n===void 0?void 0:t.get(n)}function Ht(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function UA(e){if(Ht(e.words[0],"git"))return Ht(e.words[1],"commit");if(!Ht(e.words[0],"gh")||!Ht(e.words[2],"create"))return!1;return Ht(e.words[1],"pr")||Ht(e.words[1],"issue")}function BA(e){return(Ht(e.words[0],"cat")||Ht(e.words[0],"tee")||UA(e))&&!e.words.some(jb)&&!e.redirections.some((n)=>jb(n.target))}function jb(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as VA}from"util";var HA=new Set(["applypatch","patch"]),qA=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),KA=new Set(["grep","grepsearch","rg"]),YA=new Set(["find","findbyname","glob"]),JA=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),XA=new Set(["command","diff","input","patch","patchtext"]),Hb=new TextEncoder,QA=new TextDecoder,ek=/\s/,tk=64;class $t 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 Xb(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Is(e){return JA.has(Xb(e))}function vu(e){let t=Xb(e);if(HA.has(t))return"patch";if(KA.has(t))return"grep";if(YA.has(t))return"glob";if(qA.has(t))return"path";return"unknown"}function vo(e){if(!e||typeof e!=="object")return;rv(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)gt();return}if(t.get||t.set)gt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function _u(e,t){return Qb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Qb(e,t,n,r){let o=nv(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Qb(a,t,n,r+1);return typeof a==="string"&&t.has(ev(s))?[a]:c});return n.ancestors.delete(o.object),i}function ev(e){return e.replace(/-/g,"_").toLowerCase()}function Su(e){return tv(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(rk)}function tv(e,t,n,r){let o=nv(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>tv(a,o.array?t:XA.has(ev(s)),n,r+1));return n.ancestors.delete(o.object),i}function nk(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>yo.maxDepth||t.nodes>yo.maxNodes)gt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>yo.maxStringBytes||t.stringBytes>yo.maxAggregateStringBytes)gt()}function nv(e,t,n){if(nk(e,t,n),!e||typeof e!=="object")return null;let r=rv(e);if(t.ancestors.has(e))gt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>yo.maxKeys)gt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)gt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function rv(e){if(VA.isProxy(e))gt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)gt();return t}function gt(){throw new $t}function rk(e){let t=[],n=e.split(/\r?\n/),r=!1,o=!1,i=null,s=null,a=()=>{o=!1,i=null,s=null};for(let c=0;c<n.length;c++){let l=n[c]??"";if(l==="*** Begin Patch"){r=!0,a();continue}if(l==="*** End Patch"){r=!1,a();continue}if(l.startsWith("@@")){let u=ok(l);if(o=!0,i=u?.oldLines??null,s=u?.newLines??null,i===0&&s===0)a();continue}if(o&&i!==null&&s!==null){let u=l.startsWith(" ")||l.startsWith("-")?1:0,d=l.startsWith(" ")||l.startsWith("+")?1:0;if(i=Math.max(0,i-u),s=Math.max(0,s-d),i===0&&s===0)a();continue}if(l.startsWith("*** ")){a(),t.push(...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(Ts(l.slice(4),!0),Ts(u.slice(4),!0))),c++;continue}if(!r)t.push(...hu(l))}return t}function ok(e){let t=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(e);if(!t)return null;return{oldLines:Number(t[1]??1),newLines:Number(t[2]??1)}}function hu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Jb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Jb(n[1]);if(e.startsWith("diff --git "))return ik(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Yb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Yb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return mk(i[1]);return[]}function ik(e){let t=sk(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 sk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(_n(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&&!_n(e[n]))n++;t.push(e.slice(i,n));continue}let o=ov(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(_n(e[n]))n++;return n===e.length?t:[]}function ak(e){let t=0;while(t<e.length&&_n(e[t]))t++;let n=e.length;while(n>t&&_n(e[n-1]))n--;let r=0,o=t;while(o<n){if(!_n(e[o])){o++;continue}let i=o;while(o<n&&_n(e[o]))o++;if(i===t||o===n)continue;if(r++,r>tk)gt();if(ck(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function ck(e,t,n,r,o){if(yu(e,t,n,r,o))return!0;let i=qb(e,"/",t,n),s=qb(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 qb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function _n(e){return e!==void 0&&ek.test(e)}function ov(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:QA.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Hb.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(...Hb.encode(lk(s[0]??""))),o+=2}return null}function lk(e){return{a:"\x07",b:"\b",f:"\f",n:`
49
- `,r:"\r",t:"\t",v:"\v"}[e]??e}function uk(e){return bo(fk(e))}function bu(e,t){if(e==="/dev/null")return Kb(t);if(t==="/dev/null")return Kb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(bo);let n=dk(e,t)??(e===t?iv(e):null);return[e,t,...n?[n]:[]].flatMap(bo)}function Kb(e){let t=iv(e);return[e,...t?[t]:[]].flatMap(bo)}function iv(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function dk(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 Yb(e){return uk(Ts(e,!0))}function mk(e){return bo(Ts(e,!1))}function Ts(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=ov(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function fk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function bo(e){return e===""||e==="/dev/null"?[]:[e]}function Jb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var sv=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),av=new Set([...sv,"glob"]),gk=new Set([...av,"pattern"]),hk=[],cv={parseCommand:rt,projectShellSyntax:Ub};class ht extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function _o(e,t={}){let n=yk({...cv,...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:bk(e),store:n}}function xe(e,t){return e.commands.find((n)=>n.usages.includes(t))}function yt(e){if(!e.includes("$"))return e;return Gi(e,Qe())}function yk(e={}){let t={...cv,...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 m=o.get(l);if(m)return m;let f={status:"structural-limit",source:a,entries:hk,assignmentFallbacks:[]};return o.set(l,f),f}let u=n.get(a);if(u)return u;let d=t.projectShellSyntax(a,l);return n.set(a,d),d},getCommandProgram:i}}function bk(e){let t=e.route.kind==="grep"?av:e.route.kind==="glob"?gk:sv;return[..._u(e.input,t),...e.route.kind==="patch"?Su(e.input):[]]}function Pe(e,t){let n=new Set,r=!1;for(let o of e){if(o==="--"){r=!0;continue}if(r)continue;if(o.startsWith("-")&&!o.startsWith("--")&&o.length>1)for(let i=1;i<o.length;i++){let s=o[i];if(!s||!/[a-zA-Z]/.test(s))break;let a=`-${s}`;if(n.add(a),t?.shortOptsWithValue?.has(a))break}}return n}var vk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),_k=new Map([["zsh",new Set(["o"])]]),Sk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function lv(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=Sk.get(e);if(Ck(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=xk(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 xk(e,t){let n=vk.get(e),r=_k.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 Ck(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var Pk=new Set(["-S","--suffix"]);function sr(e,t,n,r){if(e.status==="structural-limit")throw new ht;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=Ak(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget(Le(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function Le(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:Le(i,t);return a?Le(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 dv(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("~/")?uv(r,o.slice(2)):o,s=ze(i);return Rk(wk(s)?s:uv(t,s))}function ye(e,t,n){let r=dv(e,t,n);if(!r)return"";return X(r,n.environment.paths,n).replace(/\\/g,"/")}function mv(e,t,n,r){let o=dv(e,t,n);if(!o)return null;if(r(Ek(o)))return X(o,n.environment.paths,n).replace(/\\/g,"/");let i=Cy(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function Os(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&&Pk.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 Ak(e,t,n,r){let o=So(e)?new Map([...t.variables,...kk(e,t.variables)]):t.variables,i=Bt([...e],n.environment),s=F(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r(Le(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],Le(o,t)]]:[]})}var Ke="Git metadata and hooks are protected. Ask the user before modifying them.";function hv(e,t=Cu([e.invocation.context.executionCwd,e.invocation.context.configCwd])){let n=Ot(Qe()),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(Is(e.invocation.toolName))return null;let s=e.paths.find((a)=>Mk(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=xe(e,"input-candidate");if(!o)return null;let i=sr(o.shell,r,n,{findSegmentTarget:(s,a)=>Lk(s,a,t,n),isRedirectionTarget:(s,a)=>$k(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ye});return i?{target:i}:null}function Cu(e,t=Ot(Qe())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=ro(ye(r,r,t));return o?[[it(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>Ok(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 Ok(e,t,n){try{let r=ye(e,t,n),o=Tk(e),i=o.isFile()?r:null,s=o.isFile()?Vl(e):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[it(ye(l,t,n))]:[]),c=[...new Set(o.isDirectory()?[it(e.replace(/\\/g,"/")),...a]:a)];return[{entry:it(r),markerFile:i?it(i):null,directories:c,hooksDirectories:[...new Set(c.flatMap((l)=>{let u=it(Ik(l,"hooks"));return[u,it(ye(u,t,n))]}))]}]}catch{return[]}}function Sn(e,t,n,r,o,i=!1){if(!n)return!1;let s=it(ye(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(xu(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?zs(u,a):zk(u,a);if(n.markerFiles.some(l))return!0;return r&&fv(n).some(l)}if(xu(s,n))return!0;return r&&fv(n).some((c)=>zs(c,s))}function zk(e,t){let n=gv(t,e);if(n===""||n.startsWith("..")||pv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function Nk(e,t,n,r){return Sn(e,t,n,!0,r)}function Dk(e,t,n,r){if(!n)return!1;return xu(it(ye(e,t,r)),n)}function Mk(e,t,n,r){if(!n)return!1;return yv(e,t,n,r,n.entries)}function $k(e,t,n,r){if(!n)return!1;return yv(e,t,n,r,n.markerFiles)}function yv(e,t,n,r,o){let i=it(ye(e,t,r));return o.includes(i)||vv(i,n)}function bv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>zs(o,it(ye(i,t,r)))))}function xu(e,t){return t.entries.includes(e)||t.directories.includes(e)||vv(e,t)}function vv(e,t){return t.hooksDirectories.some((n)=>zs(e,n))}function fv(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function zs(e,t){let n=gv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!pv(n)}function it(e){return process.platform==="win32"?e.toLowerCase():e}function Lk(e,t,n,r){if(So(e))return null;let o=Vt([...e],r.environment);if(F(o[0]??"").toLowerCase()!=="mv")return null;let i=Os(o.slice(1)),s=i.sources.find((a)=>Nk(Le(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&Dk(Le(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as Eu,join as Wk,normalize as Fk,sep as Ns}from"path";var _v=process.platform==="win32",Gk=/[*?]/;function xo(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Ms(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=xo(e.trim(),t);if(!Eu(n))return"must be an absolute path or start with ~/";return Co(n,t)}function $s(e,t){let n=Sv(e,t);if(n===null)return"must be a non-empty path string";if(!Eu(n))return null;if(Co(n,t)===null)return null;return"cannot be the home directory or a path above it (this would block every command the agent runs)"}var Zk="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",jk="cannot cover the guard's own configuration";function Sv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return xo(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Ls(e,t){let n=Sv(e,t);if(n===null)return"must be a non-empty path string";if(Gk.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!Eu(n))return null;if(Co(n,t)!==null)return Zk;return Uk(n,t)?jk:null}function Uk(e,t){let n=Ds(e),r=Ds(Wk(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ns}`)}function Co(e,t){let n=Ds(e),r=Ds(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ns)?n:`${n}${Ns}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Ds(e){let t=Fk(e);if(_v)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(_v?3:1)&&t.endsWith(Ns))t=t.slice(0,-1);return t}var Hk=process.platform==="win32",xv=64,qk=16384;function Eo(e){let t=kb(e,xv,xv,qk);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:Kk(e)}}function Kk(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)=>Yk(e.raw,n.span.start-e.span.start))}function Yk(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 xn(e){let t=e.environment.home,n=e.environment.paths,r=Ot(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:tT(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function st(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&rT(e))return{kind:"outside_anchored_cwd"};let o=!r&&Rv(e,t.posixShell);if(Zt(e))return{kind:"outside_anchored_cwd"};if(Au(e,r))return{kind:"root_or_home_target"};if(Jk(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&Sn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(Xk(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(nT(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&aT(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&cT(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(lT(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function Ev(e,t,n={}){let{containmentTarget:r,...o}=n;if(st(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(eT(i))return!1;if(ub(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>uT(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Au(e,t=!1){let n=e.trim(),r=Cv.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 Jk(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=Pu(o)?o:t.resolvedCwd?ar(t.resolvedCwd,o):null;if(!i)return!1;let s=Ae(X(i,t.environment.paths,t.pathCanonicalizationContext));if(s===Vk(s).root)return!0;return s===Ae(X(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Ae(e){let t=Bk(e);if(Hk){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 Xk(e,t,n,r,o,i,s,a){let c=e.trim();if(wv(c))return!1;if(!r&&Xl(c,a))return!0;return(t||i&&s)&&n&&!o&&Qk(c,n)}function Qk(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!Rv(e.slice(n.length+1),t)})}function eT(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return Cv.normalize(`/${t[1]??""}`)==="/"}function wv(e){return e.split(/[\\/]+/).includes("..")}function tT(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=xo(o.trim(),t);if(!Pu(i))return[];try{let s=X(i,n,r);if(Co(s,X(t,n,r)))return[];return[Ae(s)]}catch{return[]}})}function nT(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(wv(r))return!1;let o=n?r:xo(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=Pu(o)?o:i?ar(i,o):null;if(!s)return!1;try{let a=Ae(X(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Ru)?c:`${c}${Ru}`))}catch{return!1}}function rT(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function Rv(e,t=!1){return e.includes("$")||e.includes("`")||oT(e)||t&&iT(e)}function oT(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 iT(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==="{"&&sT(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function sT(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 aT(e,t,n,r){try{return Ae(X(e,n,r))===Ae(X(t,n,r))}catch{try{return Ae(e)===Ae(t)}catch{return!1}}}function cT(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Ae(X(ar(t,e),n,r))===Ae(X(t,n,r))}catch{try{return Ae(ar(t,e))===Ae(t)}catch{return!1}}}function lT(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(ar(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return wu(ar(a,e),t,i,s)}catch{return!1}}function wu(e,t,n,r){try{return Pv(X(e,n,r),X(t,n,r))}catch{return!1}}function uT(e,t,n,r){if(!t)return!1;try{return Pv(X(t,n,r),X(e,n,r))}catch{return!0}}function Pv(e,t){let n=Ae(e),r=Ae(t);return n.startsWith(`${r}${Ru}`)||n===r}var dT=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),Av="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",mT="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.",kv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",Tv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",fT="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",pT="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function Iv(e,t,n,r=xn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return gT(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function gT(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=yT(o),s=o[i];if(!s||!dT.has(RT(s.text)))return null;let a=hT(o.slice(i+1));if(a.whatIfProtected)return null;if(de(r,"powershell.remove-item-pipeline-dynamic-target",n.strict)&&t&&(a.targets.length===0||a.recursive))return v("powershell.remove-item-pipeline-dynamic-target",pT);for(let c of a.targets)if(!Zt(c.text)&&Au(Tu(c.text)))return v(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",Tv);for(let c of a.targets)if(n.resolvedCwd&&Sn(Tu(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return v("powershell.remove-item-git-metadata",Ke);if(!a.recursive||!a.force)return null;if(de(r,"powershell.remove-item-recursive-force-dynamic-target",n.strict)&&(a.hasDynamicTarget||a.targets.length===0))return v("powershell.remove-item-recursive-force-dynamic-target",kv);for(let c of a.targets){let l=PT(st(Tu(c.text),n),n,r);if(l)return l}return null}function hT(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(bT(c))continue;if(s){t.push(ku(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=_T(c.text);if(!l){t.push(ku(c)),i=i||c.dynamic;continue}if(ST(l.name)){let u=l.value?vT(l.value,c):e[++a];if(u?.kind==="word")t.push(ku(u)),i=i||u.dynamic;else i=!0;continue}if(xT(l.name)){n=!0;continue}if(CT(l.name)){r=!0;continue}if(ET(l.name))o=wT(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function yT(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 bT(e){return e.kind==="word"&&e.text===","}function Tu(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function vT(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function _T(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 ST(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function xT(e){return"recurse".startsWith(e)}function CT(e){return e.length>=2&&"force".startsWith(e)}function ET(e){return e==="wi"||"whatif".startsWith(e)}function wT(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function RT(e){return e.toLowerCase()}function PT(e,t,n){switch(e.kind){case"root_or_home_target":return v("powershell.remove-item-recursive-force-root-or-home",Tv);case"git_metadata_target":return v("powershell.remove-item-git-metadata",Ke);case"temp_target":return null;case"dynamic_target":if(!de(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return v("powershell.remove-item-recursive-force-dynamic-target",kv);case"home_cwd_target":return v("powershell.remove-item-recursive-force-home-cwd",fT);case"cwd_self_target":return v("powershell.remove-item-recursive-force-cwd-self",Av);case"within_anchored_cwd":if(!de(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return v("powershell.remove-item-recursive-force-paranoid",mT);case"outside_anchored_cwd":return v("powershell.remove-item-recursive-force-outside-cwd",Av)}}import{normalize as ea}from"path";var We=new Set(["awk","gawk","nawk","mawk"]),AT=new Set(["-e","--source"]),kT=new Set(["-F","-v","--assign","--field-separator"]),Ov=new Set(["-f","--file"]),TT=new Set(["print","printf","return"]),zv=[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"--source",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-f",kind:"program-file",valueForm:"attached-or-separate"},{selector:"--file",kind:"program-file",valueForm:"equals-or-separate"}],IT="Detected awk system(), pipe, or getline command with dynamic command that cannot be safely analyzed. Use a literal command or process the data without system(), pipes, or getline.";function Gs(e,t,n){let r=!1;for(let o of OT(e)){let i=zT(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?v("awk.system-dynamic",IT):null}function Ou(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&&AT.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&&(kT.has(a)||Ov.has(a))){if(Ov.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 Ro(e){return Ou(e).sources}function OT(e){return Ro(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function zT(e,t){Ne(t,e);let n=e.includes("system")?zu(e,t):null,r=NT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function zu(e,t){Ne(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Fs(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=Nv(e,i+1);continue}if(s==="/"&&Dv(e,i)){i=Mv(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=Ws(e,i);if(e[c]!=="(")continue;c=Ws(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Fs(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Ws(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 NT(e,t){Ne(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 f=Fs(e,i,u);if(f&&l===s)c={...f,startIndex:i};l=f?.endIndex??i+1,i=f?.endIndex??i+1;continue}if(u==="#"){i=Nv(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Dv(e,i)){let f=Mv(e,i+1);l=f??i+1,i=f??i+1;continue}if(`;
50
- {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(Iu(e,i,"print")||Iu(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,m=Ws(e,d);if(Iu(e,m,"getline")){o=!0;let f=$T(s,c,l);if(f===null)r=!0;else n.push(f);l=d,i=d;continue}if(WT(s,a)){o=!0;let f=MT(e,m);if(!f){r=!0,l=d,i=d;continue}if(!DT(e,f.endIndex)){r=!0,l=f.endIndex,i=f.endIndex;continue}n.push(f.value),l=f.endIndex,i=f.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 Ws(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function DT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
51
- }#`.includes(r)}function Fs(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=LT(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 MT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return Fs(e,t,n)}function $T(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function LT(e,t){let n=e[t];if(!n)return null;if(n==="x"){let o=e.slice(t+1,t+3);if(!/^[0-9A-Fa-f]{2}$/.test(o))return null;return{value:String.fromCharCode(Number.parseInt(o,16)),endIndex:t+2}}if(/[0-7]/.test(n)){let o=/^[0-7]{1,3}/.exec(e.slice(t));if(!o)return null;return{value:String.fromCharCode(Number.parseInt(o[0],8)),endIndex:t+o[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
52
- `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function Iu(e,t,n){return e.startsWith(n,t)&&!wo(e[t-1])&&!wo(e[t+n.length])}function WT(e,t){return t!==null&&t>=e}function Nv(e,t){let n=e.indexOf(`
53
- `,t);return n===-1?e.length:n+1}function Dv(e,t){let n=FT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(wo(e[r-1]))r--;return TT.has(e.slice(r,n+1))}function FT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function Mv(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 $v=new Set(["rm","find","xargs","parallel"]),GT=new Set(["sudo","env","command","builtin"]),ZT=new Set(["git","busybox",...$v,...me,...eb,...We]);function Zs(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(F(n)))return null;let r=F(n),o=e[1]==="--"?2:1,i=jT(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 jT(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(F(a)!==n&&UT(a,r))i.push(s);else if(ts.has(H(a)))break;if(o)break}return i}function UT(e,t){let n=F(e),r=H(e);return r==="git"||n==="busybox"||Cn(e)||$v.has(n)||t.transparentWrappers.includes(n)||me.has(r)||e==="$SHELL"||Me(r)||We.has(r)||t.rules.some((o)=>o.command===n)}function Cn(e){return GT.has(e.toLowerCase())}function Lv(e){let t=H(e);return ZT.has(t)||Me(t)}function at(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return js([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*js(e,t,n,r,o,i,s,a,c){let l=ps(e,t,n,i);for(let[f,p]of l.envAssignments)i.set(f,p),o.set(f,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let f=fs(l.envSplitValues,u);if(!f)throw new De;Nu(a),yield*js(f,t,d,r,o,i,s,a,c);return}if(Cn(u[0]??""))throw new De;let m=Zs(u,s);if(m){for(let f of[m.childIndex,...m.alternativeChildIndices])Nu(a),yield*js(f===m.childIndex?m.tokens:[...u.slice(f)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(VT(u)){Nu(a),yield*js([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield BT(u,d,r,o,i,c)}function BT(e,t,n,r,o,i){return{tokens:e,cwd:t===null?void 0:t??n,wrapperCwd:t,wrapperEnvAssignments:r,envAssignments:o,head:F(e[0]??"").toLowerCase(),wrappedByTransparent:i}}function Nu(e){if(e.iterations>=Xn)throw new De;e.iterations++}function VT(e){return F(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function Du(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 ct(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Mu(r,"recursive"))t=!0;else if(r==="-f"||Mu(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 Wv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Mu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Mu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var HT="find -delete permanently removes files. Use -print first to preview.",qT="find -exec rm -rf is dangerous. Use explicit file list instead.",KT=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 Us(e,t){let n=e.map(N),r=JT(e,n,t);if(r)return r;if(Vs(n,1)&&!QT(e,n,t)){let s=z(v("find.delete",HT),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??Qi(),i=0;while(i<n.length){let s=n[i],a=qt(s??"");if(a>0){i+=a+1;continue}if(!Lt(s)){i++;continue}et(o,n.length-i-1);let c=Po(n,i);i=c.nextIndex;let l=tI(c.tokens,t.environment);if(l){let f=z(l,t.policy);if(f)return f}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,m=d?.id.startsWith("custom.")?d:z(d,t.policy);if(m)return m}return null}function JT(e,t,n){if(!Vs(t,1)&&!$u(t,n.environment))return null;let o=Bs(e)??j(["."]),i=xn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=Eo(s);for(let c of a.expandedTargets??[N(s)]){let l=st(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return v("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 v("find.delete-git-metadata",Ke)}}if(XT(t)&&i.resolvedCwd&&bv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return v("find.delete-git-metadata",Ke);return null}function $u(e,t){let n=0;while(n<e.length){if(!Lt(e[n])){n++;continue}let r=Po(e,n),o=Vt([...r.tokens],t),i=F(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function XT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function QT(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Bs(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Jl(o,n.environment),s=n.trustedTmpdirValue??Mt(o,n.environment),a=n.allowTmpdirVar??!lo(o,n.environment),c=xn({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??pt(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=Eo(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>Ev(d,c,{containmentTarget:eI(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function eI(e,t){if(!t)return e;return e.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>t)}function Bs(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 tI(e,t){let n=Bt([...e],t);if(n.length===0)return null;let r=F(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=F(n[0]??"");if(r==="rm"&&ct(n))return v("find.exec-rm-recursive-force",qT);return null}function Po(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Vs(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Lt(r)){n=Po(e,n).nextIndex;continue}let o=qt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function qt(e){return YT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Lt(e){return e!==void 0&&KT.has(e)}function Ao(e){let t=rt(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 nI=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 Ce(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 Gv(e,t,n){let r=jv(e,t,n),o=rI(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<nI;a++){let{subcommand:c,rest:l}=lt(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),m=cI(d);if(m===null||m.length===0)return{blockedReason:Lu,expanded:!0,tokens:i};i=["git",...m,...l],s=!0}return{blockedReason:Lu,expanded:!0,tokens:i}}function Zv(e,t,n){return jv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function lt(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?F(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(He.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 rI(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 jv(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?F(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=iI(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...oI(e,t,n)]}}function oI(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=Wu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Wu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=Fv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=Fv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(He.has(i)){o+=2;continue}o++}return r}function iI(e,t){let n=sI(e,t),r=aI(e,t);return{blockedReason:n===null||r===null?Lu:null,entries:[...n??[],...r??[]]}}function sI(e,t){let n=Ve("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=Ao(n);if(!o)return null;for(let i of o){let s=Wu(i);if(!s)return null;r.push(s)}return r}function aI(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=Ve(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=Ve(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Wu(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 Fv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:Ve(e.slice(r+1),t,n)}}function cI(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return Ao(t)}var lI="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",uI="git checkout --force discards uncommitted changes. Use 'git stash' first.",dI="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",mI="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",fI="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",pI="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",gI="git switch --force discards uncommitted changes. Use 'git stash' first.",hI="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",yI="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",bI="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",vI="git reset --merge can lose uncommitted changes. Use 'git stash' first.",_I="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",SI="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.",xI="git push --force destroys remote history. Use --force-with-lease for safer force push.",CI="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",EI="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",wI="git branch -D force-deletes without merge check. Use -d for safe delete.",RI="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",PI="git merge --abort discards merge conflict resolutions. Use 'git status' first.",AI="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",kI="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",TI="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",II="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",OI="git worktree remove --force can delete uncommitted changes. Remove --force flag.",Uv=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),Bv=new Set(["--recurse-submodules","--track","-t"]),Fu=new Set(["-b","-B","-U"]),Gu=new Set(["-c","-C"]),zI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),NI=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 G(e,t){let n=e.split("=",1)[0]??e;return n.length>=4&&t.startsWith(n)&&n.startsWith("--")&&n.slice(2).length>=2}var cr=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Hv(e){let{subcommand:t,rest:n}=lt(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Kt(DI(n));case"switch":return Kt(MI(n));case"restore":return Kt(LI(n));case"reset":return FI(n);case"clean":return Kt(ZI(n));case"rm":return Kt(jI(n));case"push":return En(UI(n));case"branch":return En(HI(n));case"stash":return En(XI(n));case"worktree":return En(QI(n));case"rebase":return Kt(qI(n));case"merge":return Kt(KI(n));case"tag":return En(YI(n));case"reflog":return En(JI(n));default:return null}}function Kt(e){return e?{...e,localDiscard:!0}:null}function En(e){return e?{...e,localDiscard:!1}:null}function DI(e){let{index:t,before:n}=Ce(e),r=Pe(n,{shortOptsWithValue:Fu});if(n.some((i)=>G(i,"--force"))||r.has("-f"))return v("git.checkout-force",uI);for(let i of e){if(i==="-b"||i==="-B"||i==="--orphan")return null;if(G(i,"--pathspec-from-file"))return v("git.checkout-pathspec-from-file",mI)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return v("git.checkout-ref-path",dI);return v("git.checkout-double-dash",lI)}if($I(e).length>=2)return v("git.checkout-ambiguous",fI);return null}function MI(e){let{before:t}=Ce(e);if(t.some((r)=>G(r,"--discard-changes")))return v("git.switch-discard-changes",pI);let n=Pe(t,{shortOptsWithValue:Gu});if(t.some((r)=>G(r,"--force"))||n.has("-f"))return v("git.switch-force",gI);return null}function $I(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(Uv.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(Bv.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("--")&&!NI.has(r)&&!Uv.has(r)&&!Bv.has(r))n++;else n++;else t.push(r),n++}return t}function LI(e){let t=WI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?v("git.restore-worktree",yI):v("git.restore-unstaged",hI)}function WI(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(zI.has(a)){s++;continue}if(a.startsWith("--"))continue;if(a==="-"){t=!0;continue}if(!a.startsWith("-")){t=!0;continue}for(let c=1;c<a.length;c++){let l=a.charAt(c);if(l==="h")return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!0};if(l==="S"){i();continue}if(l==="W"){i(!0);continue}if(l==="p"){n=!0;continue}if(l==="s"||l==="U"){if(c===a.length-1)s++;break}}}return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!1}}function FI(e){let t=null;for(let n of e){if(G(n,"--hard")){t=v("git.reset-hard",bI);break}if(G(n,"--merge")){t=v("git.reset-merge",vI);break}}if(!t)return null;return GI(e)?En(t):Kt(t)}function GI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function ZI(e){for(let n of e)if(n==="-n"||G(n,"--dry-run"))return null;let t=Pe(e.filter((n)=>n!=="--"));if(e.some((n)=>G(n,"--force"))||t.has("-f"))return v("git.clean-force",_I);return null}function jI(e){let t=!1,n=!1,r=!1;for(let o of Ce(e).before){if(G(o,"--no-force")){t=!1;continue}if(G(o,"--force")){t=!0;continue}if(G(o,"--no-cached")){n=!1;continue}if(G(o,"--cached")){n=!0;continue}if(G(o,"--no-dry-run")){r=!1;continue}if(G(o,"--dry-run")){r=!0;continue}let i=Pe([o]);t||=i.has("-f"),r||=i.has("-n")}return t&&!n&&!r?v("git.rm-force",SI):null}function UI(e){let{before:t,after:n}=Ce(e),r=Pe(t);if(t.some((s)=>G(s,"--mirror")))return v("git.push-mirror",EI);if(t.some((s)=>G(s,"--force"))||r.has("-f")||Vv(t,n).some(BI))return v("git.push-force",xI);if(t.some((s)=>G(s,"--delete"))||r.has("-d")||Vv(t,n).some(VI))return v("git.push-delete",CI);return null}function Vv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function BI(e){return e.startsWith("+")||e.includes(":+")}function VI(e){return e.length>1&&e.startsWith(":")}function HI(e){let{before:t}=Ce(e),n=Pe(t),r=n.has("-D")||n.has("-d")||t.some((i)=>G(i,"--delete")),o=n.has("-D")||n.has("-f")||t.some((i)=>G(i,"--force"));if(r&&o)return v("git.branch-force-delete",wI);return null}function qI(e){let{before:t}=Ce(e);return t.some((n)=>G(n,"--abort"))?v("git.rebase-abort",RI):null}function KI(e){let{before:t}=Ce(e);return t.some((n)=>G(n,"--abort"))?v("git.merge-abort",PI):null}function YI(e){let{before:t}=Ce(e);return Pe(t).has("-d")||t.some((r)=>G(r,"--delete"))?v("git.tag-delete",AI):null}function JI(e){return e[0]==="delete"?v("git.reflog-delete",kI):null}function XI(e){for(let t of e){if(t==="drop")return v("git.stash-drop",TI);if(t==="clear")return v("git.stash-clear",II)}return null}function QI(e){let{before:t}=Ce(e);if(!t.includes("remove"))return null;let r=Pe(t);if(t.some((o)=>G(o,"--force"))||r.has("-f"))return v("git.worktree-remove-force",OI);return null}import{execFileSync as eO}from"child_process";import{existsSync as ju,readFileSync as Uu}from"fs";import{dirname as tO,isAbsolute as Yv,join as Zu,resolve as Jv}from"path";var nO=["/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 Xv(e,t,n,r){let o=rO(e,t,n);if(o!==null)return o;let i=oO(t,n);if(i!==null)return i;if(Ry(n))return!0;return iO(r)}function rO(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=qv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=qv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Kv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Kv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(He.has(i))o+=2;else o++}return r}function oO(e,t){if(Ve("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=Ve(`GIT_CONFIG_KEY_${o}`,e,t),s=Ve(`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 iO(e,t=aO()){let n=sO(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=eO(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:cO(process.env),stdio:["ignore","pipe","ignore"]}).trim();return ko(r)}catch(r){return!lO(r)}}function sO(e){let t=uO(e);if(t===null)return null;for(let n of t){if(!ju(n))continue;if(fO(n))return!0}return!1}function aO(){for(let e of nO)if(ju(e))return e;return null}function cO(e){let t={...e};for(let n of Object.keys(t))if(eo(n))delete t[n];return t}function lO(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function uO(e){let t=ro(e);if(t===null)return null;let n=dO(t);if(n===null)return null;let r=mO(n);if(r===null)return null;return[Zu(r,"config"),Zu(n,"config.worktree")]}function dO(e){try{let n=Uu(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 Yv(r)?r:Jv(tO(e),r)}catch{return null}}function mO(e){let t=Zu(e,"commondir");if(!ju(t))return e;try{let n=Uu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Yv(n)?n:Jv(e,n)}catch{return null}}function fO(e){let t;try{t=Uu(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(pO(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=ko(l)}return r}function pO(e){return e==="include"||e.startsWith("includeif ")}function qv(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 Kv(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=Ve(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 Qv(e,t,n){if(!t.localDiscard||!n.worktreeMode||Ty(n.env,n.envAssignments))return null;let r=Iy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!Oy(r.gitCwd))return null;if(gO(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function gO(e,t,n){let{subcommand:r,rest:o}=lt(e),i=r?.toLowerCase();if(t.dynamicArguments||hO(o)||Xv(e,t.env,t.envAssignments,n)||vO(o)||yO(i,o))return!0;return i==="clean"&&_O(o)>1}function hO(e){return e.some((t)=>/[$*?[]/.test(t))}function yO(e,t){if(e==="checkout"){let{before:n}=Ce(t),r=Pe(n,{shortOptsWithValue:Fu}),o=n.some((s)=>G(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}=Ce(t),r=Pe(n,{shortOptsWithValue:Gu}),o=n.some((s)=>G(s,"--force"))||n.some((s)=>G(s,"--discard-changes"))||r.has("-f"),i=n.some((s)=>s==="-C"||s.startsWith("-C")||bO(s))||r.has("-C");return o&&i}return!1}function bO(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function vO(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function _O(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 SO="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.",xO=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function lr(e,t){return e_(e.map(N),t)}function e_(e,t,n){let r=Gv(e,t.env,t.envAssignments),o=r.blockedReason?z(v("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((wy(t.envAssignments)||Zv(e,t.env,t.envAssignments))&&CO(i))return v("git.ssh-env",SO);let s=Hv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Qv(e,s,t);if(!a)return s;return n?.(a),null}function t_(e,t){let n=null;return{match:e_(e.map(N),t,(o)=>{n=o}),relaxation:n}}function CO(e){let{subcommand:t,rest:n}=lt(e),r=t?.toLowerCase();if(!r)return!1;if(xO.has(r))return!0;if(r==="archive")return Ce(n).before.some((o)=>G(o,"--remote"));return r==="remote"&&EO(n)}function EO(e){return e.find((t)=>!wO(t))?.toLowerCase()==="update"}function wO(e){return e==="-v"||G(e,"--verbose")||G(e,"--no-verbose")}import{isAbsolute as _z}from"path";var n_="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",RO="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.",PO="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",o_="rm -rf targeting root or home directory is extremely dangerous and always blocked.",AO="rm -rf in home directory is dangerous. Change to a project directory first.";function ur(e,t){let n=xn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=ct(r),i=Wv(r),s=TO(e);for(let a of s){let c=Eo(a.word);if(o&&c.unsafeBraceExpansion){let l=z(r_({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u=ze(l),d={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&Sn(u,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return v("rm.git-metadata",Ke);if(i&&!o){let m=st(u,n,d);if(m.kind==="root_or_home_target")return v("rm.recursive-force-root-or-home",o_);if(m.kind==="git_metadata_target")return v("rm.git-metadata",Ke);continue}if(!o)continue;for(let m of kO(u,n,d)){let f=r_(m,n,t.policy),p=z(f,t.policy);if(p)return p}}}return null}function kO(e,t,n){let r=st(e,t,n);if(r.kind==="cwd_self_target")return[r,st(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=st(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,st(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function TO(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 r_(e,t,n){switch(e.kind){case"root_or_home_target":return v("rm.recursive-force-root-or-home",o_);case"git_metadata_target":return v("rm.git-metadata",Ke);case"temp_target":return null;case"dynamic_target":if(!de(n,"rm.recursive-force-dynamic-target",t.strict))return null;return v("rm.recursive-force-dynamic-target",PO);case"home_cwd_target":return v("rm.recursive-force-home-cwd",AO);case"cwd_self_target":return v("rm.recursive-force-cwd-self",n_);case"within_anchored_cwd":if(de(n,"rm.recursive-force-paranoid",t.paranoid))return v("rm.recursive-force-paranoid",RO);return null;case"outside_anchored_cwd":return v("rm.recursive-force-outside-cwd",n_)}}var IO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},s_=new Set(["--init-file","--rcfile"]),OO=["--init-file","--rcfile"],zO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function bt(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return i_(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=i_(e,t,!1);if(r!==null)return r}}return null}function Ye(e){let t=F(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return vt(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 i_(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 a_(e){let t=F(e[0]??"").toLowerCase(),n=NO(e,t),r=zO.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 NO(e,t){let n=vt(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?OO.find((m)=>c===m):void 0){let m=e[a+1];o.push(m===void 0?{kind:"absent"}:{kind:"literal",value:m}),a++;continue}let d=c.split("=",1)[0]??c;if(t==="bash"&&s_.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=c_(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function c_(e,t,n,r){let o=!1,i=0,s=!1,a=!1,c=!1;for(let l=1;l<t.length;l++){let u=t[l];if(u===void 0)break;if(e==="ksh"&&u==="o"&&l+1<t.length){if(r==="argv"){let d=t.slice(l+1);if(t[0]==="-"&&(d==="c"||d[0]==="-"&&d.endsWith("c")))s=!0}break}if(e==="ksh"&&u==="o"&&l+1===t.length&&(n?.startsWith("-")||n?.startsWith("+")))break;if(e==="zsh"&&u==="o"&&l+1<t.length)break;if(r==="startup"&&u==="i")o=t[0]==="-";if(r==="argv"&&t[0]==="-"&&u==="c")s=!0;if(r==="argv"&&u==="n")c=t[0]==="-";if(r==="argv"&&u==="s")a=t[0]==="-";if(!IO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function vt(e){let t=F(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"&&s_.has(c)&&!s.includes("="))i++;continue}let a=c_(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 Yt={kind:"none"},wn={kind:"dynamic"},DO=new Set(["<","<<","<<-","<<<","<&","<>"]),u_=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,MO=/^(?:[0-9]+|[@*])$/,$O=vn.maxWords,LO=vn.maxInputLength;function d_(e){if(!e||F(H(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
46
+ `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Wb(e,r,Math.min(e.length,Rs.maxInputLength),Rs.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=fu(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=lu(e,r,Math.min(e.length,Rs.maxInputLength),Rs,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...du(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function du(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return du(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(du)]})}function fu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Wb(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
47
+ `)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function $A(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function cu(e,t,n){return Object.freeze({kind:"connector",operator:e.slice(t,n),span:Object.freeze({start:t,end:n})})}var _n=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function nt(e,t="auto",n=_n){if(t==="powershell"||t==="auto"&&Db(e.slice(0,n.maxInputLength)))return Mb(e,n);return Eb(e,n)}function go(e,t){if(e!=="powershell")return t[0]?.provenance==="command-substitution";let n=t[0]?.text==="&"||t[0]?.text==="."?1:0,r=t[n]?.provenance;return r!==void 0&&r!=="literal"}var LA=/^[A-Za-z_][A-Za-z0-9_]*=/;function Ps(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function As(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)=>!LA.test(s.text));return i?.provenance==="literal"?i.text:void 0}function ho(e,t){if(t.escaped)return t.escaped=!1,!0;if(e==="\\"&&!t.inSingle)return t.escaped=!0,!0;if(e==="'"&&!t.inDouble)return t.inSingle=!t.inSingle,!0;if(e==='"'&&!t.inSingle)return t.inDouble=!t.inDouble,!0;return!1}function ar(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of WA(e))ho(n,t);return t.inSingle||t.inDouble}function WA(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
48
+ `||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);ho(s,n)}return t}var FA=new Set(["&&","||","|&","|","&",";"]),GA=new Set(["<<","<<<",">|"]),ZA=/[*@#?$!_-]/,UA=/^\w+(?::\w+)*/,pu=Object.freeze([]),jA=Object.freeze([]),BA=256;function jb(e,t){let n=t.status==="complete"?new Set(hu(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(ar(r))return ks("unclosed-quote",r,pu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=yo(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map,powershell:t.dialect==="powershell"});if(o.limited)return ks("structural-limit",r,pu);if(o.invalid)return ks("invalid",r,pu);return ks("complete",r,i,o.assignmentFallbacks)}function ks(e,t,n,r=jA){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function yo(e,t){return e.nodes.flatMap((n,r)=>VA(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function VA(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[rt(JA(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[rt(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("{"):rt("("),...yo(e.body,a),...s?[i?Ts("}"):rt(")")]:[]]}]}let o=QA(e,r.functions);if(o){if(r.depth>=_n.maxDepth||++r.flags.expansions>BA)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...Fb(e,r),Ts(";"),...yo(o,{...r,depth:r.depth+1}),Ts(";")]},...Gb(e,t,n,r)]}return[{start:e.span.start,entries:Fb(e,r)},...Gb(e,t,n,r)]}function Fb(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Vb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:HA(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function HA(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Vb(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[yu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:XA(r),targetOrder:GA.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Gb(e,t,n,r){let o=e.redirections.filter((i)=>i.operator==="<<"||i.operator==="<<-");return[...o.flatMap((i)=>{let s=i.heredoc;if(!s)return[];let a=[yu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[rt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Bb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?qA(t,n,r):[]]}function qA(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:Bb(n.source.slice(r.span.end,e.span.end),n)}]}function Bb(e,t){if(t.depth>=_n.maxDepth)return t.flags.limited=!0,[];let n=nt(e,"posix");if(n.status==="limited")return t.flags.limited=!0,[];let r={invalid:!1,limited:!1,expansions:t.flags.expansions,assignmentFallbacks:t.flags.assignmentFallbacks},o=yo(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map,powershell:!1});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Vb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(rt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(yu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let f of gu(l.raw,i,n.flags,n.powershell)){if(typeof f==="string"){c(),o.push(rt(f));continue}s+=f.text,a||=f.glob}continue}if(i.double){let f=n.source.slice(l.span.start,l.span.end);s+=gu(f,{single:!1,double:!0},n.flags,n.powershell).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((f)=>f.span.start>=l.span.start&&f.span.end<=l.span.end),d=u?yo(u,n):[];if(l.raw.startsWith("`")){s+="${}",c(),o.push(...d);continue}if(l.raw.startsWith("<(")||l.raw.startsWith(">(")){c(),o.push(l.raw.startsWith("<(")?rt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[rt(")")]:[]);continue}let m=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:m},()=>rt("(")),...d,...l.raw.endsWith(")".repeat(m))?Array.from({length:m},()=>rt(")")):[])}return c(),o}function gu(e,t,n,r){let o=[],i="",s=!1,a=0;while(a<e.length){let c=e[a]??"";if(!t.single&&!t.double&&(c==="("||c===")")){o.push({text:i,glob:s},c),i="",s=!1,a++;continue}if(r&&c==="`"&&!t.single){i+=e[a+1]??"",a+=2;continue}if(t.single){if(c==="'")t.single=!1;else i+=c;a++;continue}if(t.double){if(c==='"'){t.double=!1,a++;continue}if(!r&&c==="\\"){let l=e[a+1]??"";i+=['"',"\\","$"].includes(l)?l:`\\${l}`,a+=2;continue}if(c==="$"){let l=Zb(e,a,t,n,r);i+=l.text,a=l.next;continue}i+=c,a++;continue}if(c==="'"||c==='"'){t.single=c==="'",t.double=c==='"',a++;continue}if(!r&&c==="\\"){let l=e[a+1]??"";s||=l==="*"||l==="?",i+=l,a+=2;continue}if(c==="$"){let l=Zb(e,a,t,n,r);i+=l.text,a=l.next;continue}s||=c==="*"||c==="?",i+=c,a++}return[...o,{text:i,glob:s}]}function Zb(e,t,n,r,o){let i=e[t+1];if(i==="{"){let a=YA(e,t+2);if(a===-1)return r.invalid=!0,{text:"",next:e.length};let c=e.slice(t,a+1);return KA(c,n,r,o),{text:c,next:a+1}}if(i!==void 0&&ZA.test(i))return{text:`\${${i}}`,next:t+2};let s=(o?UA:/^\w*/).exec(e.slice(t+1))?.[0]??"";return{text:`\${${s}}`,next:t+1+s.length}}function KA(e,t,n,r){let o=e.slice(2,-1),i=/^[A-Za-z_][A-Za-z0-9_]*/.exec(o)?.[0];if(!i)return;let s=o.slice(i.length),a=[":=","="].find((l)=>s.startsWith(l));if(!a)return;let c=gu(s.slice(a.length),{...t},n,r);n.assignmentFallbacks.push(...c.flatMap((l)=>typeof l==="string"||!l.text?[]:[l.text]))}function YA(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 JA(e){return/^[\r\n]+$/.test(e)?";":e}function rt(e){return Object.freeze({kind:"operator",operator:e,boundary:FA.has(e)})}function Ts(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function yu(e){return Object.freeze({kind:"word",text:e})}function XA(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function hu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return hu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>hu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!tk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function QA(e,t){let n=As(e);return n===void 0?void 0:t.get(n)}function Ht(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function ek(e){if(Ht(e.words[0],"git"))return Ht(e.words[1],"commit");if(!Ht(e.words[0],"gh")||!Ht(e.words[2],"create"))return!1;return Ht(e.words[1],"pr")||Ht(e.words[1],"issue")}function tk(e){return(Ht(e.words[0],"cat")||Ht(e.words[0],"tee")||ek(e))&&!e.words.some(Ub)&&!e.redirections.some((n)=>Ub(n.target))}function Ub(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as nk}from"util";var rk=new Set(["applypatch","patch"]),ok=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),ik=new Set(["grep","grepsearch","rg"]),sk=new Set(["find","findbyname","glob"]),ak=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),ck=new Set(["command","diff","input","patch","patchtext"]),Hb=new TextEncoder,lk=new TextDecoder,uk=/\s/,dk=64;class Lt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var bo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function Xb(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Os(e){return ak.has(Xb(e))}function Su(e){let t=Xb(e);if(rk.has(t))return"patch";if(ik.has(t))return"grep";if(sk.has(t))return"glob";if(ok.has(t))return"path";return"unknown"}function _o(e){if(!e||typeof e!=="object")return;rv(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)pt();return}if(t.get||t.set)pt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function xu(e,t){return Qb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Qb(e,t,n,r){let o=nv(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Qb(a,t,n,r+1);return typeof a==="string"&&t.has(ev(s))?[a]:c});return n.ancestors.delete(o.object),i}function ev(e){return e.replace(/-/g,"_").toLowerCase()}function Cu(e){return tv(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(fk)}function tv(e,t,n,r){let o=nv(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>tv(a,o.array?t:ck.has(ev(s)),n,r+1));return n.ancestors.delete(o.object),i}function mk(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>bo.maxDepth||t.nodes>bo.maxNodes)pt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>bo.maxStringBytes||t.stringBytes>bo.maxAggregateStringBytes)pt()}function nv(e,t,n){if(mk(e,t,n),!e||typeof e!=="object")return null;let r=rv(e);if(t.ancestors.has(e))pt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>bo.maxKeys)pt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)pt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function rv(e){if(nk.isProxy(e))pt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)pt();return t}function pt(){throw new Lt}function fk(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=pk(l);if(o=!0,i=u?.oldLines??null,s=u?.newLines??null,i===0&&s===0)a();continue}if(o&&i!==null&&s!==null){let u=l.startsWith(" ")||l.startsWith("-")?1:0,d=l.startsWith(" ")||l.startsWith("+")?1:0;if(i=Math.max(0,i-u),s=Math.max(0,s-d),i===0&&s===0)a();continue}if(l.startsWith("*** ")){a(),t.push(...bu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...bu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(..._u(Is(l.slice(4),!0),Is(u.slice(4),!0))),c++;continue}if(!r)t.push(...bu(l))}return t}function pk(e){let t=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(e);if(!t)return null;return{oldLines:Number(t[1]??1),newLines:Number(t[2]??1)}}function bu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Jb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Jb(n[1]);if(e.startsWith("diff --git "))return gk(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Yb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Yb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return xk(i[1]);return[]}function gk(e){let t=hk(e);if(t.length===2&&t[0]&&t[1])return _u(t[0],t[1]);let n=yk(e);return n?_u(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function hk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(Sn(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&&!Sn(e[n]))n++;t.push(e.slice(i,n));continue}let o=ov(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(Sn(e[n]))n++;return n===e.length?t:[]}function yk(e){let t=0;while(t<e.length&&Sn(e[t]))t++;let n=e.length;while(n>t&&Sn(e[n-1]))n--;let r=0,o=t;while(o<n){if(!Sn(e[o])){o++;continue}let i=o;while(o<n&&Sn(e[o]))o++;if(i===t||o===n)continue;if(r++,r>dk)pt();if(bk(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function bk(e,t,n,r,o){if(vu(e,t,n,r,o))return!0;let i=qb(e,"/",t,n),s=qb(e,"/",r,o);if(i<=t||s<=r)return!1;if(vu(e,t,i,r,s))return!1;return vu(e,i+1,n,s+1,o)}function vu(e,t,n,r,o){if(n-t!==o-r)return!1;for(let i=0;i<n-t;i++)if(e[t+i]!==e[r+i])return!1;return!0}function qb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function Sn(e){return e!==void 0&&uk.test(e)}function ov(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:lk.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Hb.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(...Hb.encode(vk(s[0]??""))),o+=2}return null}function vk(e){return{a:"\x07",b:"\b",f:"\f",n:`
49
+ `,r:"\r",t:"\t",v:"\v"}[e]??e}function _k(e){return vo(Ck(e))}function _u(e,t){if(e==="/dev/null")return Kb(t);if(t==="/dev/null")return Kb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(vo);let n=Sk(e,t)??(e===t?iv(e):null);return[e,t,...n?[n]:[]].flatMap(vo)}function Kb(e){let t=iv(e);return[e,...t?[t]:[]].flatMap(vo)}function iv(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function Sk(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 Yb(e){return _k(Is(e,!0))}function xk(e){return vo(Is(e,!1))}function Is(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=ov(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Ck(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function vo(e){return e===""||e==="/dev/null"?[]:[e]}function Jb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var sv=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),av=new Set([...sv,"glob"]),wk=new Set([...av,"pattern"]),Rk=[],cv={parseCommand:nt,projectShellSyntax:jb};class gt extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function So(e,t={}){let n=Pk({...cv,...t}),r=_o(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:process.platform==="win32"?"powershell":"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:Ak(e),store:n}}function Se(e,t){return e.commands.find((n)=>n.usages.includes(t))}function ht(e){if(!e.includes("$"))return e;return Zi(e,Xe())}function Pk(e={}){let t={...cv,...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 m=o.get(l);if(m)return m;let f={status:"structural-limit",source:a,entries:Rk,assignmentFallbacks:[]};return o.set(l,f),f}let u=n.get(a);if(u)return u;let d=t.projectShellSyntax(a,l);return n.set(a,d),d},getCommandProgram:i}}function Ak(e){let t=e.route.kind==="grep"?av:e.route.kind==="glob"?wk:sv;return[...xu(e.input,t),...e.route.kind==="patch"?Cu(e.input):[]]}function Ae(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 kk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Tk=new Map([["zsh",new Set(["o"])]]),Ik=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function lv(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=Ik.get(e);if(zk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Ok(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 Ok(e,t){let n=kk.get(e),r=Tk.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 zk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var $k=new Set(["-S","--suffix"]);function cr(e,t,n,r){if(e.status==="structural-limit")throw new gt;if(e.status!=="complete")return r.findMalformedTarget(e.source);let o={cwd:t,variables:new Map},i=[];for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;let a=r.findSegmentTarget(i,o);if(a)return a;o=Lk(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget(We(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function We(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:We(i,t);return a?We(i,t):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(n,r)=>t.get(r)??n).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(n,r)=>t.get(r)??n)}function xo(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function dv(e,t,n){let r=n.environment.home,o=Zi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?uv(r,o.slice(2)):o,s=Ne(i);return Mk(Dk(s)?s:uv(t,s))}function he(e,t,n){let r=dv(e,t,n);if(!r)return"";return J(r,n.environment.paths,n).replace(/\\/g,"/")}function mv(e,t,n,r){let o=dv(e,t,n);if(!o)return null;if(r(Nk(o)))return J(o,n.environment.paths,n).replace(/\\/g,"/");let i=Cy(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function zs(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&&$k.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 Lk(e,t,n,r){let o=xo(e)?new Map([...t.variables,...Wk(e,t.variables)]):t.variables,i=Bt([...e],n.environment),s=W(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r(We(s,o),t.cwd,n),variables:o}}function Wk(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],We(o,t)]]:[]})}var qe="Git metadata and hooks are protected. Ask the user before modifying them.";function hv(e,t=wu([e.invocation.context.executionCwd,e.invocation.context.configCwd])){let n=zt(Xe()),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)=>Vk(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=Se(e,"input-candidate");if(!o)return null;let i=cr(o.shell,r,n,{findSegmentTarget:(s,a)=>qk(s,a,t,n),isRedirectionTarget:(s,a)=>Hk(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:he});return i?{target:i}:null}function wu(e,t=zt(Xe())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=oo(he(r,r,t));return o?[[ot(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>Zk(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 Zk(e,t,n){try{let r=he(e,t,n),o=Fk(e),i=o.isFile()?r:null,s=o.isFile()?ql(e):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[ot(he(l,t,n))]:[]),c=[...new Set(o.isDirectory()?[ot(e.replace(/\\/g,"/")),...a]:a)];return[{entry:ot(r),markerFile:i?ot(i):null,directories:c,hooksDirectories:[...new Set(c.flatMap((l)=>{let u=ot(Gk(l,"hooks"));return[u,ot(he(u,t,n))]}))]}]}catch{return[]}}function xn(e,t,n,r,o,i=!1){if(!n)return!1;let s=ot(he(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(Eu(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?Ns(u,a):Uk(u,a);if(n.markerFiles.some(l))return!0;return r&&fv(n).some(l)}if(Eu(s,n))return!0;return r&&fv(n).some((c)=>Ns(c,s))}function Uk(e,t){let n=gv(t,e);if(n===""||n.startsWith("..")||pv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function jk(e,t,n,r){return xn(e,t,n,!0,r)}function Bk(e,t,n,r){if(!n)return!1;return Eu(ot(he(e,t,r)),n)}function Vk(e,t,n,r){if(!n)return!1;return yv(e,t,n,r,n.entries)}function Hk(e,t,n,r){if(!n)return!1;return yv(e,t,n,r,n.markerFiles)}function yv(e,t,n,r,o){let i=ot(he(e,t,r));return o.includes(i)||vv(i,n)}function bv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>Ns(o,ot(he(i,t,r)))))}function Eu(e,t){return t.entries.includes(e)||t.directories.includes(e)||vv(e,t)}function vv(e,t){return t.hooksDirectories.some((n)=>Ns(e,n))}function fv(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function Ns(e,t){let n=gv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!pv(n)}function ot(e){return process.platform==="win32"?e.toLowerCase():e}function qk(e,t,n,r){if(xo(e))return null;let o=Vt([...e],r.environment);if(W(o[0]??"").toLowerCase()!=="mv")return null;let i=zs(o.slice(1)),s=i.sources.find((a)=>jk(We(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&Bk(We(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as Ru,join as Kk,normalize as Yk,sep as Ds}from"path";var _v=process.platform==="win32",Jk=/[*?]/;function Co(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function $s(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=Co(e.trim(),t);if(!Ru(n))return"must be an absolute path or start with ~/";return Eo(n,t)}function Ls(e,t){let n=Sv(e,t);if(n===null)return"must be a non-empty path string";if(!Ru(n))return null;if(Eo(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 Xk="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",Qk="cannot cover the guard's own configuration";function Sv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return Co(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Ws(e,t){let n=Sv(e,t);if(n===null)return"must be a non-empty path string";if(Jk.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!Ru(n))return null;if(Eo(n,t)!==null)return Xk;return eT(n,t)?Qk:null}function eT(e,t){let n=Ms(e),r=Ms(Kk(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ds}`)}function Eo(e,t){let n=Ms(e),r=Ms(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ds)?n:`${n}${Ds}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Ms(e){let t=Yk(e);if(_v)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(_v?3:1)&&t.endsWith(Ds))t=t.slice(0,-1);return t}var rT=process.platform==="win32",xv=64,oT=16384;function wo(e){let t=kb(e,xv,xv,oT);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:iT(e)}}function iT(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)=>sT(e.raw,n.span.start-e.span.start))}function sT(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 Cn(e){let t=e.environment.home,n=e.environment.paths,r=zt(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:dT(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function it(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&fT(e))return{kind:"outside_anchored_cwd"};let o=!r&&Rv(e,t.posixShell);if(Zt(e))return{kind:"outside_anchored_cwd"};if(Tu(e,r))return{kind:"root_or_home_target"};if(aT(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&xn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(cT(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(mT(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&yT(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&bT(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(vT(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function Ev(e,t,n={}){let{containmentTarget:r,...o}=n;if(it(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(uT(i))return!1;if(ub(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>_T(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Tu(e,t=!1){let n=e.trim(),r=Cv.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 aT(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=ku(o)?o:t.resolvedCwd?lr(t.resolvedCwd,o):null;if(!i)return!1;let s=ke(J(i,t.environment.paths,t.pathCanonicalizationContext));if(s===nT(s).root)return!0;return s===ke(J(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function ke(e){let t=tT(e);if(rT){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 cT(e,t,n,r,o,i,s,a){let c=e.trim();if(wv(c))return!1;if(!r&&eu(c,a))return!0;return(t||i&&s)&&n&&!o&&lT(c,n)}function lT(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!Rv(e.slice(n.length+1),t)})}function uT(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return Cv.normalize(`/${t[1]??""}`)==="/"}function wv(e){return e.split(/[\\/]+/).includes("..")}function dT(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=Co(o.trim(),t);if(!ku(i))return[];try{let s=J(i,n,r);if(Eo(s,J(t,n,r)))return[];return[ke(s)]}catch{return[]}})}function mT(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(wv(r))return!1;let o=n?r:Co(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=ku(o)?o:i?lr(i,o):null;if(!s)return!1;try{let a=ke(J(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Au)?c:`${c}${Au}`))}catch{return!1}}function fT(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function Rv(e,t=!1){return e.includes("$")||e.includes("`")||pT(e)||t&&gT(e)}function pT(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 gT(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==="{"&&hT(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function hT(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 yT(e,t,n,r){try{return ke(J(e,n,r))===ke(J(t,n,r))}catch{try{return ke(e)===ke(t)}catch{return!1}}}function bT(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return ke(J(lr(t,e),n,r))===ke(J(t,n,r))}catch{try{return ke(lr(t,e))===ke(t)}catch{return!1}}}function vT(e,t,n,r,o,i,s){let a=n??t;if(!o&&(e.startsWith("~")||e.startsWith("$HOME")||e.startsWith("${HOME}")))return!1;if(r)return!1;if(e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e))try{return Pu(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return Pu(lr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return Pu(lr(a,e),t,i,s)}catch{return!1}}function Pu(e,t,n,r){try{return Pv(J(e,n,r),J(t,n,r))}catch{return!1}}function _T(e,t,n,r){if(!t)return!1;try{return Pv(J(t,n,r),J(e,n,r))}catch{return!0}}function Pv(e,t){let n=ke(e),r=ke(t);return n.startsWith(`${r}${Au}`)||n===r}var ST=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),Av="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",xT="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.",kv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",Tv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",CT="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",ET="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function Iv(e,t,n,r=Cn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return wT(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function wT(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=PT(o),s=o[i];if(!s||!ST.has(MT(s.text)))return null;let a=RT(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 _("powershell.remove-item-pipeline-dynamic-target",ET);for(let c of a.targets)if(!Zt(c.text)&&Tu(Ou(c.text)))return _(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",Tv);for(let c of a.targets)if(n.resolvedCwd&&xn(Ou(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return _("powershell.remove-item-git-metadata",qe);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 _("powershell.remove-item-recursive-force-dynamic-target",kv);for(let c of a.targets){let l=$T(it(Ou(c.text),n),n,r);if(l)return l}return null}function RT(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(AT(c))continue;if(s){t.push(Iu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=TT(c.text);if(!l){t.push(Iu(c)),i=i||c.dynamic;continue}if(IT(l.name)){let u=l.value?kT(l.value,c):e[++a];if(u?.kind==="word")t.push(Iu(u)),i=i||u.dynamic;else i=!0;continue}if(OT(l.name)){n=!0;continue}if(zT(l.name)){r=!0;continue}if(NT(l.name))o=DT(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function PT(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function Iu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function AT(e){return e.kind==="word"&&e.text===","}function Ou(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function kT(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function TT(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 IT(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function OT(e){return"recurse".startsWith(e)}function zT(e){return e.length>=2&&"force".startsWith(e)}function NT(e){return e==="wi"||"whatif".startsWith(e)}function DT(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function MT(e){return e.toLowerCase()}function $T(e,t,n){switch(e.kind){case"root_or_home_target":return _("powershell.remove-item-recursive-force-root-or-home",Tv);case"git_metadata_target":return _("powershell.remove-item-git-metadata",qe);case"temp_target":return null;case"dynamic_target":if(!ue(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return _("powershell.remove-item-recursive-force-dynamic-target",kv);case"home_cwd_target":return _("powershell.remove-item-recursive-force-home-cwd",CT);case"cwd_self_target":return _("powershell.remove-item-recursive-force-cwd-self",Av);case"within_anchored_cwd":if(!ue(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return _("powershell.remove-item-recursive-force-paranoid",xT);case"outside_anchored_cwd":return _("powershell.remove-item-recursive-force-outside-cwd",Av)}}import{normalize as ta}from"path";var Fe=new Set(["awk","gawk","nawk","mawk"]),LT=new Set(["-e","--source"]),WT=new Set(["-F","-v","--assign","--field-separator"]),Ov=new Set(["-f","--file"]),FT=new Set(["print","printf","return"]),zv=[{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"}],GT="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 Zs(e,t,n){let r=!1;for(let o of ZT(e)){let i=UT(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?_("awk.system-dynamic",GT):null}function Nu(e){let t=[],n=!1,r=!1,o=!0,i=!0;for(let s=1;s<e.length;s++){let a=e[s];if(a===void 0)break;if(o&&a==="--"){o=!1;continue}if(o&&LT.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&&(WT.has(a)||Ov.has(a))){if(Ov.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 Po(e){return Nu(e).sources}function ZT(e){return Po(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function UT(e,t){De(t,e);let n=e.includes("system")?Du(e,t):null,r=jT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Du(e,t){De(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Gs(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=Nv(e,i+1);continue}if(s==="/"&&Dv(e,i)){i=Mv(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,Ro(e[a-1])||Ro(e[i]))continue;let c=Fs(e,i);if(e[c]!=="(")continue;c=Fs(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Gs(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Fs(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 jT(e,t){De(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 f=Gs(e,i,u);if(f&&l===s)c={...f,startIndex:i};l=f?.endIndex??i+1,i=f?.endIndex??i+1;continue}if(u==="#"){i=Nv(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Dv(e,i)){let f=Mv(e,i+1);l=f??i+1,i=f??i+1;continue}if(`;
50
+ {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(zu(e,i,"print")||zu(e,i,"printf")))a=i;if(u!=="|"||e[i-1]==="|"||e[i+1]==="|"){if(!/\s/.test(u))l=i+1;i++;continue}let d=e[i+1]==="&"?i+2:i+1,m=Fs(e,d);if(zu(e,m,"getline")){o=!0;let f=HT(s,c,l);if(f===null)r=!0;else n.push(f);l=d,i=d;continue}if(KT(s,a)){o=!0;let f=VT(e,m);if(!f){r=!0,l=d,i=d;continue}if(!BT(e,f.endIndex)){r=!0,l=f.endIndex,i=f.endIndex;continue}n.push(f.value),l=f.endIndex,i=f.endIndex;continue}l=d,i++}if(!o)return null;return{dynamic:r,commands:n}}function Ro(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Fs(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function BT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
51
+ }#`.includes(r)}function Gs(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=qT(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 VT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return Gs(e,t,n)}function HT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function qT(e,t){let n=e[t];if(!n)return null;if(n==="x"){let o=e.slice(t+1,t+3);if(!/^[0-9A-Fa-f]{2}$/.test(o))return null;return{value:String.fromCharCode(Number.parseInt(o,16)),endIndex:t+2}}if(/[0-7]/.test(n)){let o=/^[0-7]{1,3}/.exec(e.slice(t));if(!o)return null;return{value:String.fromCharCode(Number.parseInt(o[0],8)),endIndex:t+o[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
52
+ `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function zu(e,t,n){return e.startsWith(n,t)&&!Ro(e[t-1])&&!Ro(e[t+n.length])}function KT(e,t){return t!==null&&t>=e}function Nv(e,t){let n=e.indexOf(`
53
+ `,t);return n===-1?e.length:n+1}function Dv(e,t){let n=YT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(Ro(e[r-1]))r--;return FT.has(e.slice(r,n+1))}function YT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function Mv(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 $v=new Set(["rm","find","xargs","parallel"]),JT=new Set(["sudo","env","command","builtin"]),XT=new Set(["git","busybox",...$v,...de,...eb,...Fe]);function Us(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(W(n)))return null;let r=W(n),o=e[1]==="--"?2:1,i=QT(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 QT(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(W(a)!==n&&eI(a,r))i.push(s);else if(ns.has(V(a)))break;if(o)break}return i}function eI(e,t){let n=W(e),r=V(e);return r==="git"||n==="busybox"||En(e)||$v.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||$e(r)||Fe.has(r)||t.rules.some((o)=>o.command===n)}function En(e){return JT.has(e.toLowerCase())}function Lv(e){let t=V(e);return XT.has(t)||$e(t)}function st(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return js([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*js(e,t,n,r,o,i,s,a,c){let l=gs(e,t,n,i);for(let[f,p]of l.envAssignments)i.set(f,p),o.set(f,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let f=ps(l.envSplitValues,u);if(!f)throw new Me;Mu(a),yield*js(f,t,d,r,o,i,s,a,c);return}if(En(u[0]??""))throw new Me;let m=Us(u,s);if(m){for(let f of[m.childIndex,...m.alternativeChildIndices])Mu(a),yield*js(f===m.childIndex?m.tokens:[...u.slice(f)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(nI(u)){Mu(a),yield*js([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield tI(u,d,r,o,i,c)}function tI(e,t,n,r,o,i){return{tokens:e,cwd:t===null?void 0:t??n,wrapperCwd:t,wrapperEnvAssignments:r,envAssignments:o,head:W(e[0]??"").toLowerCase(),wrappedByTransparent:i}}function Mu(e){if(e.iterations>=er)throw new Me;e.iterations++}function nI(e){return W(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function $u(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 at(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Lu(r,"recursive"))t=!0;else if(r==="-f"||Lu(r,"force"))n=!0;else if(r.startsWith("-")&&!r.startsWith("--")){if(r.includes("r")||r.includes("R"))t=!0;if(r.includes("f"))n=!0}}return t&&n}function Wv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Lu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Lu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var rI="find -delete permanently removes files. Use -print first to preview.",oI="find -exec rm -rf is dangerous. Use explicit file list instead.",iI=new Set(["-exec","-execdir","-ok","-okdir"]),sI=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 Bs(e,t){let n=e.map(z),r=aI(e,n,t);if(r)return r;if(Hs(n,1)&&!lI(e,n,t)){let s=O(_("find.delete",rI),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??es(),i=0;while(i<n.length){let s=n[i],a=qt(s??"");if(a>0){i+=a+1;continue}if(!Wt(s)){i++;continue}Qe(o,n.length-i-1);let c=Ao(n,i);i=c.nextIndex;let l=dI(c.tokens,t.environment);if(l){let f=O(l,t.policy);if(f)return f}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,m=d?.id.startsWith("custom.")?d:O(d,t.policy);if(m)return m}return null}function aI(e,t,n){if(!Hs(t,1)&&!Wu(t,n.environment))return null;let o=Vs(e)??Z(["."]),i=Cn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=wo(s);for(let c of a.expandedTargets??[z(s)]){let l=it(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return _("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 _("find.delete-git-metadata",qe)}}if(cI(t)&&i.resolvedCwd&&bv(o.map(z),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return _("find.delete-git-metadata",qe);return null}function Wu(e,t){let n=0;while(n<e.length){if(!Wt(e[n])){n++;continue}let r=Ao(e,n),o=Vt([...r.tokens],t),i=W(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function cI(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function lI(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Vs(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Ql(o,n.environment),s=n.trustedTmpdirValue??$t(o,n.environment),a=n.allowTmpdirVar??!uo(o,n.environment),c=Cn({environment:n.environment,protectedGitMetadata:n.protectedGitMetadata,cwd:n.cwd,originalCwd:n.originalCwd,strict:n.strict,allowTmpdirVar:a&&s&&Boolean(i),allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:n.tmpdirWordSplittingUnsafe??ft(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=wo(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[z(l)]).every((d)=>Ev(d,c,{containmentTarget:uI(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function uI(e,t){if(!t)return e;return e.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>t)}function Vs(e){let t=(o)=>{let i=e[o];return i?z(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 dI(e,t){let n=Bt([...e],t);if(n.length===0)return null;let r=W(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=W(n[0]??"");if(r==="rm"&&at(n))return _("find.exec-rm-recursive-force",oI);return null}function Ao(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 Hs(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Wt(r)){n=Ao(e,n).nextIndex;continue}let o=qt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function qt(e){return sI.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Wt(e){return e!==void 0&&iI.has(e)}function ko(e){let t=nt(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 mI=5,Fu="Git aliases supplied through command-line or environment config can hide or execute commands. Run git without Git alias overrides, or ask the user to run it manually.";function xe(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 Gv(e,t,n){let r=Uv(e,t,n),o=fI(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<mI;a++){let{subcommand:c,rest:l}=ct(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),m=bI(d);if(m===null||m.length===0)return{blockedReason:Fu,expanded:!0,tokens:i};i=["git",...m,...l],s=!0}return{blockedReason:Fu,expanded:!0,tokens:i}}function Zv(e,t,n){return Uv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function ct(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?W(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(Re.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 fI(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 Uv(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?W(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=gI(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...pI(e,t,n)]}}function pI(e,t,n){let r=[],o=1;while(o<e.length){let i=e[o];if(!i||i==="--"||!i.startsWith("-"))return r;if(i==="-c"){let s=Gu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Gu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=Fv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=Fv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(Re.has(i)){o+=2;continue}o++}return r}function gI(e,t){let n=hI(e,t),r=yI(e,t);return{blockedReason:n===null||r===null?Fu:null,entries:[...n??[],...r??[]]}}function hI(e,t){let n=Ve("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=ko(n);if(!o)return null;for(let i of o){let s=Gu(i);if(!s)return null;r.push(s)}return r}function yI(e,t){let n=Bi(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=Ve(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=Ve(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Gu(e){if(!e)return null;let t=e.indexOf("=");return{key:(t===-1?e:e.slice(0,t)).trim(),value:t===-1?void 0:e.slice(t+1)}}function Fv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:Ve(e.slice(r+1),t,n)}}function bI(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return ko(t)}var vI="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",_I="git checkout --force discards uncommitted changes. Use 'git stash' first.",SI="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",xI="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",CI="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",EI="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",wI="git switch --force discards uncommitted changes. Use 'git stash' first.",RI="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",PI="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",AI="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",kI="git reset --merge can lose uncommitted changes. Use 'git stash' first.",TI="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",II="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.",OI="git push --force destroys remote history. Use --force-with-lease for safer force push.",zI="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",NI="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",DI="git branch -D force-deletes without merge check. Use -d for safe delete.",MI="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",$I="git merge --abort discards merge conflict resolutions. Use 'git status' first.",LI="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",WI="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",FI="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",GI="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",ZI="git worktree remove --force can delete uncommitted changes. Remove --force flag.",jv=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),Bv=new Set(["--recurse-submodules","--track","-t"]),Zu=new Set(["-b","-B","-U"]),Uu=new Set(["-c","-C"]),UI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),jI=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 F(e,t){let n=e.split("=",1)[0]??e;return n.length>=4&&t.startsWith(n)&&n.startsWith("--")&&n.slice(2).length>=2}var ur=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Hv(e){let{subcommand:t,rest:n}=ct(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Kt(BI(n));case"switch":return Kt(VI(n));case"restore":return Kt(qI(n));case"reset":return YI(n);case"clean":return Kt(XI(n));case"rm":return Kt(QI(n));case"push":return wn(eO(n));case"branch":return wn(rO(n));case"stash":return wn(cO(n));case"worktree":return wn(lO(n));case"rebase":return Kt(oO(n));case"merge":return Kt(iO(n));case"tag":return wn(sO(n));case"reflog":return wn(aO(n));default:return null}}function Kt(e){return e?{...e,localDiscard:!0}:null}function wn(e){return e?{...e,localDiscard:!1}:null}function BI(e){let{index:t,before:n}=xe(e),r=Ae(n,{shortOptsWithValue:Zu});if(n.some((i)=>F(i,"--force"))||r.has("-f"))return _("git.checkout-force",_I);for(let i of e){if(i==="-b"||i==="-B"||i==="--orphan")return null;if(F(i,"--pathspec-from-file"))return _("git.checkout-pathspec-from-file",xI)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return _("git.checkout-ref-path",SI);return _("git.checkout-double-dash",vI)}if(HI(e).length>=2)return _("git.checkout-ambiguous",CI);return null}function VI(e){let{before:t}=xe(e);if(t.some((r)=>F(r,"--discard-changes")))return _("git.switch-discard-changes",EI);let n=Ae(t,{shortOptsWithValue:Uu});if(t.some((r)=>F(r,"--force"))||n.has("-f"))return _("git.switch-force",wI);return null}function HI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(jv.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(Bv.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("--")&&!jI.has(r)&&!jv.has(r)&&!Bv.has(r))n++;else n++;else t.push(r),n++}return t}function qI(e){let t=KI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?_("git.restore-worktree",PI):_("git.restore-unstaged",RI)}function KI(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(UI.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 YI(e){let t=null;for(let n of e){if(F(n,"--hard")){t=_("git.reset-hard",AI);break}if(F(n,"--merge")){t=_("git.reset-merge",kI);break}}if(!t)return null;return JI(e)?wn(t):Kt(t)}function JI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function XI(e){for(let n of e)if(n==="-n"||F(n,"--dry-run"))return null;let t=Ae(e.filter((n)=>n!=="--"));if(e.some((n)=>F(n,"--force"))||t.has("-f"))return _("git.clean-force",TI);return null}function QI(e){let t=!1,n=!1,r=!1;for(let o of xe(e).before){if(F(o,"--no-force")){t=!1;continue}if(F(o,"--force")){t=!0;continue}if(F(o,"--no-cached")){n=!1;continue}if(F(o,"--cached")){n=!0;continue}if(F(o,"--no-dry-run")){r=!1;continue}if(F(o,"--dry-run")){r=!0;continue}let i=Ae([o]);t||=i.has("-f"),r||=i.has("-n")}return t&&!n&&!r?_("git.rm-force",II):null}function eO(e){let{before:t,after:n}=xe(e),r=Ae(t);if(t.some((s)=>F(s,"--mirror")))return _("git.push-mirror",NI);if(t.some((s)=>F(s,"--force"))||r.has("-f")||Vv(t,n).some(tO))return _("git.push-force",OI);if(t.some((s)=>F(s,"--delete"))||r.has("-d")||Vv(t,n).some(nO))return _("git.push-delete",zI);return null}function Vv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function tO(e){return e.startsWith("+")||e.includes(":+")}function nO(e){return e.length>1&&e.startsWith(":")}function rO(e){let{before:t}=xe(e),n=Ae(t),r=n.has("-D")||n.has("-d")||t.some((i)=>F(i,"--delete")),o=n.has("-D")||n.has("-f")||t.some((i)=>F(i,"--force"));if(r&&o)return _("git.branch-force-delete",DI);return null}function oO(e){let{before:t}=xe(e);return t.some((n)=>F(n,"--abort"))?_("git.rebase-abort",MI):null}function iO(e){let{before:t}=xe(e);return t.some((n)=>F(n,"--abort"))?_("git.merge-abort",$I):null}function sO(e){let{before:t}=xe(e);return Ae(t).has("-d")||t.some((r)=>F(r,"--delete"))?_("git.tag-delete",LI):null}function aO(e){return e[0]==="delete"?_("git.reflog-delete",WI):null}function cO(e){for(let t of e){if(t==="drop")return _("git.stash-drop",FI);if(t==="clear")return _("git.stash-clear",GI)}return null}function lO(e){let{before:t}=xe(e);if(!t.includes("remove"))return null;let r=Ae(t);if(t.some((o)=>F(o,"--force"))||r.has("-f"))return _("git.worktree-remove-force",ZI);return null}import{execFileSync as uO}from"child_process";import{existsSync as Bu,readFileSync as Vu}from"fs";import{dirname as dO,isAbsolute as Yv,join as ju,resolve as Jv}from"path";var mO=["/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 Xv(e,t,n,r){let o=fO(e,t,n);if(o!==null)return o;let i=pO(t,n);if(i!==null)return i;if(Ry(n))return!0;return gO(r)}function fO(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=qv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=qv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Kv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Kv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(Re.has(i))o+=2;else o++}return r}function pO(e,t){if(Ve("GIT_CONFIG_PARAMETERS",e,t)!==void 0)return!0;let n=Bi(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=Ve(`GIT_CONFIG_KEY_${o}`,e,t),s=Ve(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Hu(a))return!0;if(a!=="submodule.recurse")continue;r=To(s)}return r}function gO(e,t=yO()){let n=hO(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=uO(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:bO(process.env),stdio:["ignore","pipe","ignore"]}).trim();return To(r)}catch(r){return!vO(r)}}function hO(e){let t=_O(e);if(t===null)return null;for(let n of t){if(!Bu(n))continue;if(CO(n))return!0}return!1}function yO(){for(let e of mO)if(Bu(e))return e;return null}function bO(e){let t={...e};for(let n of Object.keys(t))if(to(n))delete t[n];return t}function vO(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function _O(e){let t=oo(e);if(t===null)return null;let n=SO(t);if(n===null)return null;let r=xO(n);if(r===null)return null;return[ju(r,"config"),ju(n,"config.worktree")]}function SO(e){try{let n=Vu(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!n.startsWith("gitdir:"))return e;let r=n.slice(7).trim();if(r==="")return null;return Yv(r)?r:Jv(dO(e),r)}catch{return null}}function xO(e){let t=ju(e,"commondir");if(!Bu(t))return e;try{let n=Vu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Yv(n)?n:Jv(e,n)}catch{return null}}function CO(e){let t;try{t=Vu(e,"utf-8")}catch{return!0}let n="",r=!1;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;let s=i.match(/^\[([^\]]+)\]$/);if(s){n=s[1]?.trim().toLowerCase()??"";continue}let a=i.indexOf("="),c=(a===-1?i:i.slice(0,a)).trim().toLowerCase(),l=a===-1?"true":i.slice(a+1).trim();if(EO(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=To(l)}return r}function EO(e){return e==="include"||e.startsWith("includeif ")}function qv(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Hu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return To(r)}function To(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Kv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Hu(o))return!0;if(o!=="submodule.recurse")return null;let i=Ve(e.slice(r+1),t,n);return i===void 0||To(i)}function Hu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Qv(e,t,n){if(!t.localDiscard||!n.worktreeMode||Ty(n.env,n.envAssignments))return null;let r=Iy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!Oy(r.gitCwd))return null;if(wO(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function wO(e,t,n){let{subcommand:r,rest:o}=ct(e),i=r?.toLowerCase();if(t.dynamicArguments||RO(o)||Xv(e,t.env,t.envAssignments,n)||kO(o)||PO(i,o))return!0;return i==="clean"&&TO(o)>1}function RO(e){return e.some((t)=>/[$*?[]/.test(t))}function PO(e,t){if(e==="checkout"){let{before:n}=xe(t),r=Ae(n,{shortOptsWithValue:Zu}),o=n.some((s)=>F(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}=xe(t),r=Ae(n,{shortOptsWithValue:Uu}),o=n.some((s)=>F(s,"--force"))||n.some((s)=>F(s,"--discard-changes"))||r.has("-f"),i=n.some((s)=>s==="-C"||s.startsWith("-C")||AO(s))||r.has("-C");return o&&i}return!1}function AO(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function kO(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function TO(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 IO="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.",OO=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function dr(e,t){return e_(e.map(z),t)}function e_(e,t,n){let r=Gv(e,t.env,t.envAssignments),o=r.blockedReason?O(_("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((wy(t.envAssignments)||Zv(e,t.env,t.envAssignments))&&zO(i))return _("git.ssh-env",IO);let s=Hv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Qv(e,s,t);if(!a)return s;return n?.(a),null}function t_(e,t){let n=null;return{match:e_(e.map(z),t,(o)=>{n=o}),relaxation:n}}function zO(e){let{subcommand:t,rest:n}=ct(e),r=t?.toLowerCase();if(!r)return!1;if(OO.has(r))return!0;if(r==="archive")return xe(n).before.some((o)=>F(o,"--remote"));return r==="remote"&&NO(n)}function NO(e){return e.find((t)=>!DO(t))?.toLowerCase()==="update"}function DO(e){return e==="-v"||F(e,"--verbose")||F(e,"--no-verbose")}import{isAbsolute as Tz}from"path";var n_="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",MO="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.",$O="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",o_="rm -rf targeting root or home directory is extremely dangerous and always blocked.",LO="rm -rf in home directory is dangerous. Change to a project directory first.";function mr(e,t){let n=Cn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(z),o=at(r),i=Wv(r),s=FO(e);for(let a of s){let c=wo(a.word);if(o&&c.unsafeBraceExpansion){let l=O(r_({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u=Ne(l),d={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&xn(u,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return _("rm.git-metadata",qe);if(i&&!o){let m=it(u,n,d);if(m.kind==="root_or_home_target")return _("rm.recursive-force-root-or-home",o_);if(m.kind==="git_metadata_target")return _("rm.git-metadata",qe);continue}if(!o)continue;for(let m of WO(u,n,d)){let f=r_(m,n,t.policy),p=O(f,t.policy);if(p)return p}}}return null}function WO(e,t,n){let r=it(e,t,n);if(r.kind==="cwd_self_target")return[r,it(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=it(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,it(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function FO(e){let t=[],n=!1;for(let r of e.slice(1)){let o=z(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 r_(e,t,n){switch(e.kind){case"root_or_home_target":return _("rm.recursive-force-root-or-home",o_);case"git_metadata_target":return _("rm.git-metadata",qe);case"temp_target":return null;case"dynamic_target":if(!ue(n,"rm.recursive-force-dynamic-target",t.strict))return null;return _("rm.recursive-force-dynamic-target",$O);case"home_cwd_target":return _("rm.recursive-force-home-cwd",LO);case"cwd_self_target":return _("rm.recursive-force-cwd-self",n_);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return _("rm.recursive-force-paranoid",MO);return null;case"outside_anchored_cwd":return _("rm.recursive-force-outside-cwd",n_)}}var GO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},s_=new Set(["--init-file","--rcfile"]),ZO=["--init-file","--rcfile"],UO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function yt(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return i_(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=i_(e,t,!1);if(r!==null)return r}}return null}function Ke(e){let t=W(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return bt(e).syntaxCheck;let n=!1;for(let r of e.slice(1)){if(r==="--")return n;if(r.startsWith("+")&&!r.startsWith("++")){if(r.slice(1).includes("n"))n=!1;continue}if(!r.startsWith("-")||r.startsWith("--"))return n;let o=r.slice(1);if(o.includes("n"))n=!0;if(o.includes("c"))return n}return n}function i_(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 a_(e){let t=W(e[0]??"").toLowerCase(),n=jO(e,t),r=UO.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 jO(e,t){let n=bt(e),r=n.commandIndex??n.scriptIndex??e.length,o=[],i=!1,s=!0;for(let a=1;a<r;a++){let c=e[a];if(c===void 0||c==="--"||c==="-"||c[0]!=="-"&&c[0]!=="+")break;if(c.startsWith("--")){if(t==="bash"&&s?ZO.find((m)=>c===m):void 0){let m=e[a+1];o.push(m===void 0?{kind:"absent"}:{kind:"literal",value:m}),a++;continue}let d=c.split("=",1)[0]??c;if(t==="bash"&&s_.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=c_(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function c_(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(!GO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function bt(e){let t=W(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"&&s_.has(c)&&!s.includes("="))i++;continue}let a=c_(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 Yt={kind:"none"},Rn={kind:"dynamic"},BO=new Set(["<","<<","<<-","<<<","<&","<>"]),u_=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,VO=/^(?:[0-9]+|[@*])$/,HO=_n.maxWords,qO=_n.maxInputLength;function d_(e){if(!e||W(V(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
54
54
  `)return`${r.join(`
55
55
  `)}
56
56
  `;if(n.includes("%")||/\\(?![\\nrt])/.test(n))return;return n.replaceAll("\\n",`
57
- `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function dr(e){let t=To(e[1])==="--"?2:1;if(e.length<=t)return Yt;let n=e.slice(t);if(!n.every(qs))return wn;return{kind:"literal",source:n.map(N).join(" ")}}function m_(e){let t=To(e[1])==="--"?2:1,n=e[t],r=To(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return Yt;if(!qs(n))return wn;return{kind:"literal",source:r}}function Hs(e,t){let n=FO(e);if(n===-1)return Yt;let r=GO(t);if(!r)return Yt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=jO(s,e,n,r.ifs);if(!a)return wn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>$O||i>LO)return wn;o.push(...a)}if(r.command==="eval")return{kind:"literal",source:o.join(" ")};if(o.length===0||/\s/.test(o[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[r.command,r.command&&r.optionTerminator?"--":null,...o.map(BO)].filter((s)=>s!==null).join(" ")}}function f_(e,t,n,r){if(!vt(e.map(N)).readsStdinAsCommands)return Yt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&DO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return Yt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return wn;return{kind:"literal",source:o.target.text}}if(!n)return Yt;return r===void 0?wn:{kind:"literal",source:r}}function _t(e){let t=vt(e.map(N)).scriptIndex;if(t===null)return Yt;let n=e[t],r=To(n);return Zi(n,r)?{kind:"literal",source:r}:wn}var WO=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||qe(s)!==null)return!1;let a=F(H(s));return!WO.has(a)&&!me.has(a)&&!Cn(a)}function FO(e){return vt(e.map(N)).commandIndex??-1}function GO(e){let t=/^IFS=(?:'([^']*)'|"([^"]*)"|([^;\s]*))\s*;\s*(.+)$/.exec(e.trim()),n=t?.[4]??e.trim(),r=/^(\.|bash|command|dash|exec|eval|ksh|sh|source|zsh)(?:\s+(--))?\s+(.+)$/.exec(n),o=(r?.[3]??n).split(/\s+/).map(ZO);if(o.length===0||o.some((i)=>i===null))return null;return{command:r?.[1]??null,optionTerminator:r?.[2]!==void 0,references:o.filter((i)=>!!i),ifs:t?t[1]??t[2]??t[3]??"":`
58
- `}}function ZO(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 jO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?Vu(o):UO(o,r);if(e.parameter==="*"){let a=Vu(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&&!qs(i))return;let s=To(i);return e.quoted?[s]:Hu(s,r)}function Vu(e){return e.every(qs)?e.map(N):void 0}function UO(e,t){let n=Vu(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===`
57
+ `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function fr(e){let t=Io(e[1])==="--"?2:1;if(e.length<=t)return Yt;let n=e.slice(t);if(!n.every(Ks))return Rn;return{kind:"literal",source:n.map(z).join(" ")}}function m_(e){let t=Io(e[1])==="--"?2:1,n=e[t],r=Io(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return Yt;if(!Ks(n))return Rn;return{kind:"literal",source:r}}function qs(e,t){let n=YO(e);if(n===-1)return Yt;let r=JO(t);if(!r)return Yt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=QO(s,e,n,r.ifs);if(!a)return Rn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>HO||i>qO)return Rn;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(tz)].filter((s)=>s!==null).join(" ")}}function f_(e,t,n,r){if(!bt(e.map(z)).readsStdinAsCommands)return Yt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&BO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return Yt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return Rn;return{kind:"literal",source:o.target.text}}if(!n)return Yt;return r===void 0?Rn:{kind:"literal",source:r}}function vt(e){let t=bt(e.map(z)).scriptIndex;if(t===null)return Yt;let n=e[t],r=Io(n);return Ui(n,r)?{kind:"literal",source:r}:Rn}var KO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Ju(e){if(e.words.length!==2||e.redirections.length!==0||e.nested.length!==1)return!1;let t=e.words[0],n=e.words[1];if(!t||t.provenance!=="literal"||t.quoted||t.raw!==t.text||!n)return!1;if(!(t.text==="eval"&&n.quoted&&n.parts.length===3&&n.parts[0]?.raw==='"'&&n.parts[1]?.provenance==="command-substitution"&&n.parts[1].raw.startsWith("$(")&&n.parts[2]?.raw==='"'||(t.text==="source"||t.text===".")&&!n.quoted&&n.parts.length===1&&n.parts[0]?.provenance==="command-substitution"&&n.parts[0].raw.startsWith("<(")))return!1;let o=e.nested[0];if(o?.status!=="complete"||o.nodes.length!==1)return!1;let i=o.nodes[0];if(i?.kind!=="command"||i.redirections.length!==0||i.nested.length!==0||i.words.some((c)=>c.provenance!=="literal"||c.parts.some((l)=>l.provenance!=="literal")))return!1;let s=i.words[0]?.text;if(s===void 0||He(s)!==null)return!1;let a=W(V(s));return!KO.has(a)&&!de.has(a)&&!En(a)}function YO(e){return bt(e.map(z)).commandIndex??-1}function JO(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(XO);if(o.length===0||o.some((i)=>i===null))return null;return{command:r?.[1]??null,optionTerminator:r?.[2]!==void 0,references:o.filter((i)=>!!i),ifs:t?t[1]??t[2]??t[3]??"":`
58
+ `}}function XO(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 QO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?qu(o):ez(o,r);if(e.parameter==="*"){let a=qu(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:Ku(c,r)}let i=t[n+1+e.parameter];if(i&&!Ks(i))return;let s=Io(i);return e.quoted?[s]:Ku(s,r)}function qu(e){return e.every(Ks)?e.map(z):void 0}function ez(e,t){let n=qu(e);if(!n)return;let r=n.map((o)=>Ku(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function Ku(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
59
59
  `)return e.trim().split(/\s+/).filter(Boolean);if(t.length!==1)return;return t===" "||t==="\t"||t===`
60
- `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function qs(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function To(e){return e?N(e):""}function BO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Yu(e,t){return qu(rt(e,"posix"),t)}function mr(e){return Yu(e,new Set(Array.from(e.matchAll(u_)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function qu(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(qu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>qu(o,n))||p_(r.words,n))return!0;YO(r,n)}return!1}function p_(e,t){let n=e.findIndex((s)=>qe(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(Io(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return l_(e[s],t)}if(me.has(o)){let s=e.slice(n),a=vt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&l_(s[c],t)}let i=VO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return p_(e.slice(i),t)}function VO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return HO(e,t+1);if(r==="exec")return qO(e,t+1);if(r==="env")return KO(e,t+1,n);return null}function HO(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 qO(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 KO(e,t,n){for(let r=t;r<e.length;r++){let o=e[r],i=o?.text??"";if(i==="--")return e[r+1]?r+1:null;if(i==="-S"||i==="--split-string")return Io(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return Io(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(qe(i))continue;return r}return null}function YO(e,t){if(!e.words.every((n)=>qe(n.text)!==null))return;for(let n of e.words){let r=qe(n.text);if(!r)continue;if(Io(n,t))t.add(r.name)}}function Io(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(u_)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(MO.test(o)||t.has(o))}))}function l_(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||Io(e,t))}var JO=new Set(["--ca-bundle","--cli-binary-format","--cli-connect-timeout","--cli-error-format","--cli-read-timeout","--color","--endpoint-url","--output","--profile","--query","--region"]),XO=new Set(["--access-token-file","--account","--billing-project","--configuration","--flags-file","--flatten","--format","--impersonate-service-account","--project","--trace-token","--verbosity"]),QO=new Set(["-o","--output","--query","--subscription"]),ez=new Set;function g_(e){if(e==="aws")return JO;if(e==="gcloud")return XO;if(e==="az")return QO;return ez}var tz=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),nz=new Set;function h_(e){if(e==="git")return He;if(e==="docker")return tz;return nz}function be(e,t){if(e.length===0||t.length===0)return null;let n=H(e[0]??""),r=Pe(e);for(let o of t){if(!iz(n,o.command))continue;if(o.match){if(rz(n,e,o.match))return y_(o);continue}if(!sz(n,e,o.subcommand))continue;if(cz(e,new Set(o.block_args),r))return y_(o)}return null}function y_(e){return{id:`custom.${e.name}`,reason:`[${e.name}] ${e.reason}`,intent:e.intent??"manual_only"}}function rz(e,t,n){let r=t.slice(1);if(n.exclude_args?.some((o)=>r.includes(o)))return!1;if(n.any_args&&!n.any_args.some((o)=>r.includes(o)))return!1;return oz(r,n.command_path,g_(e))}function oz(e,t,n){let r=0,o=!1;for(let i of e){if(r>=t.length)return!0;if(o){o=!1;continue}if(i.startsWith("-")){o=!i.includes("=")&&n.has(i);continue}if(i!==t[r])return!1;r++}return r>=t.length}function iz(e,t){return e===H(t)}function sz(e,t,n){if(!n)return!0;return b_(t,1,n,h_(e))}function b_(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("=")&&az(e,i,n,r))return!0;continue}return s===n}return!1}function az(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return b_(e,t+2,n,r)}function cz(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 Jt(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=dr(j(e));if(i.kind==="dynamic")return fr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return St(n,t)}if(me.has(o)){if(Ye(e))return null;let i=bt(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=fr(n,t);if(c)return c}if(mr(i)){let c=fr(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=_t(j(e));if(s.kind==="dynamic")return fr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return fr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return fr(n,t);return null}if(We.has(o))return z(Gs(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??be(e,t.policy?.rules??[])??St(n,t);if(Me(o)){let i=rs(e);if(!i)return St(n,t);if(de(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=z(v("interpreter.one-liner-paranoid",er),t.policy);if(a)return a}if(ss(o,i))return St(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==Ut||ir(i)))return s;if(tr(i,t.scanWork))return z(v("interpreter.dangerous-command",yn),t.policy)??St(n,t);return St(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(ct(e)||n.dynamicRmInput);return z(ur(j(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:pt(t.envAssignments,t.environment),trustedTmpdirValue:Mt(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?St(n,t):null)??(i?lz(n,t):null)}if(o==="find")return Us(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>Jt(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??be(e,t.policy?.rules??[])??St(n,t);if(o==="git")return z(lr(j(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??be(e,t.policy?.rules??[])??St(n,t);return be(e,t.policy?.rules??[])??St(n,t)}function fr(e,t){return e.shellDynamicMatch?z(e.shellDynamicMatch,t.policy):null}function St(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?z(e.dynamicSourceMatch,t.policy):null}function lz(e,t){return e.dynamicInput&&e.rmDynamicMatch?z(e.rmDynamicMatch,t.policy):null}var Ju="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Xu="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",uz="__CC_SAFETY_NET_XARGS_INPUT__",Ks="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",Ys="rm",dz=/(?:^|[;&|]\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,mz=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,fz=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,pz=/^(?:[0-9]+|[@*])$/;function S_(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=Rn(n),i=n.slice(r),s=v("xargs.shell-dynamic",Xu);if(hz(i,o,t)&&z(s,t.policy))return z(s,t.policy);for(let a of at(i,t)){let c=a.tokens,l=o!==null&&c[0]!==i[0]&&(c[0]?.includes(o)??!1)?z(s,t.policy):null;if(l)return l;let u=w_(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&C_(c,o),m=Jt(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||x_(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:v("xargs.rm-recursive-force-dynamic",Ju)});if(m)return m;let f=gz(c,o,t.policy?.rules??[]);if(f)return f;if(a.head==="git"){let h=o===null?[...c,uz]:c,y=o!==null&&(c.some((R)=>R.includes(o))||Array.from(a.envAssignments.values()).some((R)=>R.includes(o))),b=Jt(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||y?!1:t.worktreeMode});if(b)return b}let p=be(c,t.policy?.rules??[]);if(p)return p}return null}function gz(e,t,n){if(n.length===0)return null;if(t===null){for(let o of n){let i=be([...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)=>Qu(s,t,i)):[])));for(let o of r){let i=be(e.map((s)=>s.replaceAll(t,o)),n);if(i)return i}return null}function Qu(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 x_(e,t,n,r,o,i,s){if(me.has(t)){if(Ye(e))return!1;if(n!==null&&yz(e,n))return!0;let a=bt(e);if(!a){let c=_t(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 bz(a,n,r)}if(Me(t))return v_(e,n,is,rb(t));if(We.has(t))return v_(e,n,Ou,zv);if(t==="eval"){let a=dr(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 vz(e,n,i,s);if(t==="git"){let a=lt(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&cr.has(a.subcommand.toLowerCase())&&E_(a.rest,n).some((c)=>c.includes(n))}return!1}function v_(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,Ks]).sources.some((c)=>c.value===Ks);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}${Ks}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${Ks}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>Qu(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 hz(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(at(e,n),(i)=>i.head)),o=t===null?[...e,Ys]:e.map((i,s)=>s===0?i:i.replaceAll(t,Ys));return Array.from(at(o,n)).some((i)=>i.head===Ys&&!r.has(Ys))}function C_(e,t){return E_(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function E_(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function w_(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 yz(e,t){let n=vt(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 Qu(i,t,o).some((c)=>{let l=e.map((d,m)=>m===s?d.replaceAll(t,c):d),u=vt(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 bz(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(dz))if(__(o,r))return!0;for(let o of e.matchAll(mz))for(let i of(o[1]??"").matchAll(fz))if(__(i,r))return!0;return Yu(e,r)}function __(e,t){let n=e[1]??e[2];return n!==void 0&&(pz.test(n)||t.has(n))}function vz(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(Lt(a)){let l=Po(e,s);s=l.nextIndex-1;for(let u of at(l.tokens,{environment:r,cwd:void 0})){let d=w_(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&C_(u.tokens,t)||x_(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=qt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function Rn(e){let t=new Set(["-L","-n","-P","-s","-a","-E","-R","-S","-e","-d","-J","--max-args","--max-procs","--max-chars","--arg-file","--eof","--delimiter","--max-lines","--process-slot-var"]),n=null,r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--")return{childStart:r+1,replacementToken:n};if(o.startsWith("-")){if(o==="-I"){n=e[r+1]??"{}",r+=2;continue}if(o.startsWith("-I")&&o.length>2){n=o.slice(2),r++;continue}if(o==="--replace"){n="{}",r++;continue}if(o.startsWith("--replace=")){let i=o.slice(10);n=i===""?"{}":i,r++;continue}if(o==="-J"){n=e[r+1]??"{}",r+=2;continue}if(t.has(o))r+=2;else r++}else return{childStart:r,replacementToken:n}}return{childStart:e.length,replacementToken:n}}var zo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",No="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",Sz="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",xz="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",Cz=/\{[^{}\s]*\}/,z_=/\{\}|\{-?\d+\}/g,Ez=["e","f","source","file","-e","-f","--source","--file"],wz=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],Rz=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),Pz=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),R_=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),Az=new Set(["--workdir","--wd"]),P_="__CC_SAFETY_NET_PARALLEL_SOURCE__",kz=new TextEncoder,td=q.maxDerivedBytes+4*q.maxPlaceholderReplacements;function ke(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function N_(e,t){return ke([...e],(n)=>Dt(n,t.scanWork))}function D_(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=An(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=U_(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=An(t);if(p)return p;let h=N_(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=$z(t);if(p)return p}if(u!==void 0&&a){let p=An(t);if(p)return p}let m=Gz(u,t.cwd,t.environment.paths);if(m===null){let p=An(t);if(p)return p}let f=a?{...t,cwd:void 0,originalCwd:void 0}:m===null||m===void 0||m===t.cwd?t:{...t,cwd:m};if(d){if([...at(i,f)].flatMap((h)=>[...h.envAssignments.values()]).some(id)){let h=An(t);if(h)return h}return null}if(i.length===0){if(s.some((y)=>y.length!==1)){let y=An(t);if(y)return y}let p=s.map((y)=>y[0]??"");$e(t.budget,nd(p));let h=F_(f.envAssignments,f.cwd,a);return ke(p,(y)=>t.analyzeNested(y,h))}return ke(at(i,f),(p)=>Tz(p,o,t,f))}function Tz(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(Z_)){let b=An(n);if(b)return b}let d=N_(u,n);if(d)return d;let m=u.some(ne),f=i||m,p=a&&f,h=F_(e.envAssignments,e.wrapperCwd,s||p);if(me.has(e.head)){let b=()=>{if(!i||o.length===0)return null;return $e(n.budget,Js(c,o,"generic")),ke(o,(C)=>Jt(c.map((P)=>Xt(P,C)),l))};if(Ye(c))return b();let R=bt(c);if(R){if(j_(R)){let k=Pn(n);if(k)return k;if(o.length===0)return null;return $e(n.budget,O_(R,o)),ke(o,(U)=>n.analyzeNested(Xt(R,U),h))}if(ne(R)){if(o.length>0)return $e(n.budget,O_(R,o)),ke(o,(ie)=>n.analyzeNested(Xt(R,ie),h));$e(n.budget,T_(R));let k=Ao(R);if(k?.[0]&&H(k[0])==="rm"&&ct(k)){let ie=k_(n);if(ie)return ie}let U=k?Jt(k,l,{dynamicInput:a,shellDynamicMatch:v("parallel.shell-dynamic",No),rmDynamicMatch:v("parallel.rm-recursive-force-dynamic",zo)}):null;if(U)return U;return n.analyzeNested(R,h)}let C=!m&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((k)=>Hs(j(k===void 0?c:i?c.map((U)=>Xt(U,k)):[...c,...k]),R)):[];if(C.some((k)=>k.kind==="dynamic")){let k=Pn(n);if(k)return k}let P=C.flatMap((k)=>k.kind==="literal"?[k.source]:[]);if(P.length>0)return $e(n.budget,nd(P)),ke(P,(k)=>n.analyzeNested(k,h));if($e(n.budget,T_(R)),mr(R)){let k=Pn(n);if(k)return k}let L=n.analyzeNested(R,h);if(L)return L;if(f)return Pn(n);return null}let A=_t(j(c));if(A.kind==="dynamic"||A.kind==="literal"&&ne(A.source))return Pn(n)??b();if(A.kind==="literal")return b();if(o.length>0){let C=Pn(n);if(C)return C;let P=b();if(P)return P;if(i)return null;let L=o.flatMap((k)=>k[0]===void 0?[]:[k[0]]);return $e(n.budget,nd(L)),ke(L,(k)=>n.analyzeNested(k,h))}if(f||a)return Pn(n)??b();return null}if(e.head==="rm"&&ct(c)){if(i&&o.length>0)return $e(n.budget,Js(c,o,"rm")),ke(o,(R)=>ed(c.map((A)=>rd(A,R)),e.cwd,r));if(o.length>0)return $e(n.budget,I_(c,o)),ke(o,(R)=>ed([...c,...R],e.cwd,r));let b=ed(c.flatMap((R,A)=>{if(A===0||!ne(R))return[R];return R.startsWith("-")?[rd(R,[""])]:[]}),e.cwd,r);if(b)return b;return k_(n)}$e(n.budget,i&&o.length>0?Js(c,o,"generic"):o.length>0?I_(c,o):W_(c));let y=o.length>0?o:[void 0];return ke(y,(b)=>{let R=b===void 0?c:i?c.map((se)=>Xt(se,b)):[...c,...b],A=v("parallel.shell-dynamic",No),C=a&&e.head==="find"?Mz(R,r):null,P=$_(R,a,n.policy?.rules??[],n.budget)??C?.customResult??null,L=H(e.head),k=a&&(L==="rm"&&od(R)||L==="xargs"&&L_(R)||C?.rmOptions===!0),U=a&&(k||C?.executedSource===!0||C===null&&M_(R,L)),ie=Jt(R,{...l,worktreeMode:s||a||f?!1:n.worktreeMode},{dynamicInput:a||f,dynamicRmInput:k,dynamicSourceInput:P!==null||U,shellDynamicMatch:A,dynamicSourceMatch:A,rmDynamicMatch:v("parallel.rm-recursive-force-dynamic",zo)});if(U){let se=z(A,n.policy);if(se)return se}return ie??P??be(R,n.policy?.rules??[])})}function M_(e,t){if(ne(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(me.has(t))return zz(e);if(t==="git")return Iz(e);if(t==="find")return!0;if(We.has(t))return A_(e,Ez,Ro);if(Me(t))return A_(e,wz,os);return!1}function od(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(ne))return t===-1;return n.some((o)=>ne(o)&&(o.startsWith("-")||j_(o)))}function Iz(e){if(Oz(e))return!0;let t=lt(e);if(t.subcommand===null||ne(t.subcommand))return!0;if(!cr.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(ne))return n===-1;return r.some(ne)}function Oz(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(ne(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(ne(n))return!0;continue}if(ne(n))return!0}return!1}function zz(e){if(Ye(e))return!1;let t=bt(e);if(t!==null)return ne(t);let n=_t(j(e));if(n.kind==="literal")return ne(n.source);if(n.kind==="dynamic")return!0;return!e.some(ne)}function A_(e,t,n){let r=n(e);if(r.some((i)=>ne(i.value)))return!0;if(!e.some(ne))return n([...e,P_]).some((i)=>i.value===P_);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>Xt(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function $_(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(ne);if($e(r,Nz(e,o,i)),!i)return ke(o,(s)=>be([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return ke(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?Dz(e,c):[]));return ke(a,(c)=>be(e.map((l)=>Xt(l,[c])),[s]))})}function Nz(e,t,n){let r=n?kn(Je(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),q.maxChildAnalyses),2*Math.max(e.length,1),q.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:kn(r,e.length,q.maxDerivedTokens)}}function Dz(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 Mz(e,t){let n={customResult:null,executedSource:!e.some(ne),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(ne))return;for(let a of at(i,t))n.executedSource||=M_(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&od(a.tokens)||a.head==="xargs"&&L_(a.tokens),n.customResult??=$_(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=ne(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Lt(a)){i=[],n.executedSource||=ne(a);continue}let c=qt(a);if(c>0){o=c,n.executedSource||=ne(a);continue}n.executedSource||=ne(a)}return s(),n}function L_(e){let t=e.slice(Rn(e).childStart);return H(t[0]??"")==="rm"&&od(t)}function Xs(e,t){return(n)=>z(v(e,t),n.policy)}var Pn=Xs("parallel.shell-dynamic",No),$z=Xs("parallel.command-stream-dynamic",Sz),An=Xs("parallel.command-stream-dynamic",xz),k_=Xs("parallel.rm-recursive-force-dynamic",zo);function ed(e,t,n){return z(ur(j(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:pt(n.envAssignments??new Map,n.environment),trustedTmpdirValue:Mt(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function nd(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:Do(e)}}function T_(e){return W_([e])}function W_(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:Do(e)}}function I_(e,t){if(t.length>q.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:Je(t.map((n)=>e.length+n.length),q.maxDerivedTokens),derivedBytes:Je([kn(Do(e),t.length,q.maxDerivedBytes),Je(t.map((n)=>Do(n)),q.maxDerivedBytes)],q.maxDerivedBytes)}}function O_(e,t){return Js([e],t,"generic")}function Js(e,t,n){if(t.length>q.maxChildAnalyses)return{childAnalyses:t.length};let r=kn(e.length,t.length,q.maxDerivedTokens);if(r>q.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=Fz(e.map((c)=>Wz(c,n))),i=kn(o.occurrences,t.length,q.maxPlaceholderReplacements);if(i>q.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(Lz(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:q.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?Xt:rd,a=Je(t.map((c)=>Do(e.map((l)=>s(l,c)))),q.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function Lz(e,t,n){let r=q.maxDerivedBytes+4*n;return Je([kn(e.fixedBytes,t.length,r),kn(e.occurrences,Je(t.map((o)=>o.reduce((i,s)=>Math.max(i,Oo(s)),0)),r),r)],r)>r}function Wz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(z_),r=0,o=0,i=0;for(let s of n){if(r>=q.maxPlaceholderReplacements)return{occurrences:q.maxPlaceholderReplacements+1,fixedBytes:0};o=Je([o,Oo(e.slice(i,s.index))],td),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Oo(e):Je([o,Oo(e.slice(i))],td)}}function Fz(e){return{occurrences:Je(e.map((t)=>t.occurrences),q.maxPlaceholderReplacements),fixedBytes:Je(e.map((t)=>t.fixedBytes),td)}}function Do(e,t=q.maxDerivedBytes){return Je(e.map(Oo),t)}function Oo(e){return kz.encode(e).byteLength}function Je(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 kn(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 F_(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 Xt(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>G_(n,t))}function rd(e,t){return e.replace(z_,(n)=>G_(n,t))}function G_(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 ne(e){return Cz.test(e)}function Z_(e){if(id(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function id(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function j_(e){return/^\{[^{}\s]*\}$/.test(e)}function U_(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 A=Du(e,t+1);n.push(...A.templateTokens),r=t+1,o=A.markerIndex;break}if(!p.startsWith("-")){let A=Du(e,t);n.push(...A.templateTokens),r=t,o=A.markerIndex;break}let h=e[t+1],y=p.indexOf("="),b=y===-1?p:p.slice(0,y),R=y===-1?void 0:p.slice(y+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(b==="--replace"||p.startsWith("-i")&&p.length>2){let A=b==="--replace"?R:p.slice(2);l||=A!==""&&A!=="{}",t++;continue}if(p==="-a"||Pz.has(b)){l=!0,t+=R===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(b==="--env"){l=!0,t+=R===void 0?2:1;continue}if(R_.has(b)||p.startsWith("-S")&&p.length>2){i=!0,t+=R_.has(p)?2:1;continue}if(Az.has(b)){let A=R??h;if(A===void 0||A===":::"||A==="--"){l=!0,t++;continue}c=A,l||=R!==void 0&&A==="",t+=R===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&R!==void 0){t++;continue}if(Rz.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?id:Z_);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let y=e[h];if(y===":::"){u.push(p),p=[];continue}if(y!==void 0)p.push(y)}u.push(p)}let d=Zz(u),m=n.some(ne),f=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:m,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:f,unsupported:l,workdir:c,dryRun:a}}function Gz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!_z(e))return null;try{return jt(t??e,e,n)}catch{return null}}function Zz(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>q.maxChildAnalyses)return r;t=r}return t}function B_(e){return U_(e).childStart}var jz="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",Qs="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function ad(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function sd(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function H_(e,t,n,r,o=!1,i){let a=(po(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&de(i,"shell.dynamic-executable",o)?v("shell.dynamic-executable",jz):null;return z(a,i)??q_(e,t,n,o,i)}function q_(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>ad(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Kn(e,t),c=Bz(a);if(de(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return z(v("shell.dynamic-structure",Qs),o);if(z(lr(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,m)=>m>c&&N(d)==="--");if(de(o,"shell.dynamic-structure",r)&&l&&cr.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return z(v("shell.dynamic-structure",Qs),o);return null}if(s==="find")return de(o,"shell.dynamic-structure",r)&&Vz(t)?z(v("shell.dynamic-structure",Qs),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=ct(t.map(N));return de(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?z(v("shell.dynamic-structure",Qs),o):null}if(s==="xargs")return V_(e,t.slice(Rn(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return V_(e,t.slice(B_(t.map(N))),"parallel",n,r,o);return null}function V_(e,t,n,r,o,i){if(t.length===0)return null;let s=Uz(t,r);if(po(e,s)){let c=z(v(`${n}.shell-dynamic`,n==="xargs"?Xu:No),i);if(c)return c}let a=q_(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>ad(c)&&sd(c)))return z(v(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Ju:zo),i);return null}function Uz(e,t){let n=bn(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 Bz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(He.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function Vz(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=ad(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||sd(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||sd(s)))return!0;continue}if(t=!0,a)return!0;let c=qt(s.text);if(c>0){n=c;continue}if(Lt(s.text))o=!0,r=!0}return!1}function cd(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 Hz="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",qz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",Kz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function K_(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return v("dd.device-write",Hz);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return v("mkfs.device",qz);if(e==="shred"&&n.length>0)return v("shred.target",Kz);return null}var J_=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>ur(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:pt(e.envAssignments,e.options.environment),trustedTmpdirValue:Mt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>lr(e.words,ld(e))},{heads:new Set(["find"]),analyze:(e)=>Us(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:pt(e.envAssignments,e.options.environment),trustedTmpdirValue:Mt(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)=>Tn(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>S_(e.words,{...Y_(e),analyzeNested:(t,n)=>Tn(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>D_(e.words,{...Y_(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>Tn(e.options.analyzeNested(t,n))})}];function Y_(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 Tn(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function ld(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 tS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function nS(e){return J_.find((t)=>t.heads.has(e))?.analyze}function Mo(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(S)=>S.map((E)=>o==="posix"?N(E):E.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=bn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let S=[...d,...i(u.words)].join(" "),E=Dt(S,n.scanWork);if(E)return r?.recordSegment({type:"dangerous-text",token:S,matched:!0,reason:E.reason}),xt(E);if(n.strict)return Fe(r);let O=fs(d,i(u.words));if(O){et(n.derivedCommandWorkBudget,O.length);let Z=n.analyzeNested(O.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(Z)return Z}}let m=u.rewritten?j(i(u.words)):Kn(o,u.words),f=i(m),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>m.length){let S=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:S,removed:S.slice(0,S.length-m.length),output:f})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),y=f[0];if(!y)return null;if(Cn(y))throw new De;let b=H(y),R=u.cwd===null?void 0:u.cwd??a,A=u.cwd===null?void 0:c,C=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!lo(h,n.environment),L=H_(o,u.words,n.environment,t===0,n.strict,n.policy);if(L)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:L.reason}),xt(L);let k=Zs(f,n.policy);if(k){for(let S of[k.childIndex,...k.alternativeChildIndices]){X_(p.wrapperNormalizationBudget);let E=m.slice(S);r?.recordSegment({type:"transparent-wrapper",wrapper:k.wrapper,output:i(E)});let O=Mo(E,t,{...p,effectiveCwd:C,envAssignments:h});if(O)return O}return null}let U=b==="eval"?dr(m):b==="trap"?m_(m):void 0;if(U?.kind==="dynamic"&&(n.strict||!n.commandView||!Ku(n.commandView)))return Fe(r);if(U?.kind==="literal"){r?.recordSegment({type:"recurse",reason:b==="eval"?"shell-eval":"shell-trap",innerCommand:U.source,depth:t+1});let S=n.analyzeNested(U.source,{effectiveCwd:C,envAssignments:h,functionDefinitions:n.functionDefinitions});if(S)return S}if(oS(y,b)){if(Ye(f))return null;let S=Yz(f,h,C,n,r,t);if(S)return S;let E=bt(f);if(E){let jn=Hs(m,E);if(jn.kind==="dynamic")return Fe(r);let xl=jn.kind==="literal"?jn.source:E,Nh=Jz(xl);r?.recordSegment({type:"shell-wrapper",wrapper:b,innerCommand:Nh}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Nh,depth:t+1});let Dh=n.analyzeNested(xl,{effectiveCwd:C,envAssignments:h});if(Dh)return Dh;return mr(xl)?Fe(r):null}let O=_t(m);if(O.kind==="dynamic")return Fe(r);if(O.kind==="literal")return na(O.source,C,h,n,r,t);let Z=f_(m,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(Z.kind==="dynamic")return Fe(r);if(Z.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:Z.source,depth:t+1}),n.analyzeNested(Z.source,{effectiveCwd:C,envAssignments:h})}if(b==="source"||b==="."){let S=f[1]==="-p"?2:null;if(S!==null){let jn=n.commandView?m[S]:void 0;if(!jn)return null;if(jn.provenance!=="literal")return Fe(r)}let E=S===null?1:3,O=f[E]==="--"?E+1:E,Z=n.commandView?m[O]:void 0;if(!Z)return null;if(Z.provenance==="literal")return na(Z.text,C,h,n,r,t);if(n.strict||!n.commandView||!Ku(n.commandView))return Fe(r)}if(We.has(b)){if(n.strict&&cd(Ro(f),m))return Fe(r);let S=Gs(f,(O)=>Tn(n.analyzeNested(O,{effectiveCwd:C,envAssignments:h}))),E=z(S,n.policy);if(E)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:E.reason}),xt(E)}if(Me(b)){if(n.strict&&cd(os(f),m))return Fe(r);let S=rs(f);if(S){let E=de(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:b,codeArg:S,paranoidBlocked:E}),E){let Z=z(v("interpreter.one-liner-paranoid",er),n.policy);if(Z)return xt(Z)}if(ss(b,S))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:S,depth:t+1});let O=n.analyzeNested(S,{effectiveCwd:C,envAssignments:h});if(O&&O.ruleId!=="raw-text.dangerous-command"&&(O.reason!==Ut||ir(S)))return O;if(tr(S,n.scanWork)){let Z=z(v("interpreter.dangerous-command",yn),n.policy);if(Z)return r?.recordSegment({type:"dangerous-text",token:S,matched:!0,reason:yn}),xt(Z)}r=void 0}}if(b==="busybox"&&f.length>1)return X_(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:f[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:f.slice(1).join(" "),depth:t+1}),Mo(m.slice(1),t,{...p,effectiveCwd:C,envAssignments:h});let ie=z(K_(b,f),n.policy);if(ie)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:ie.reason}),xt(ie);let se=r===p.trace?p:{...p,trace:r},J={words:m,head:b,cwd:R,originalCwd:A,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((S)=>S.provenance==="command-substitution"),depth:t,effectiveCwd:C,options:se,analyzeChildTokens:(S,E)=>Tn(Mo(j(S),t+1,{...se,commandView:void 0,effectiveCwd:E,envAssignments:h}))??be(S,se.policy.rules)},B=nS(b);if(b==="rm"||b==="xargs"||b==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let w=r&&b==="git"?t_(J.words,ld(J)):void 0,T=Q_(w?w.match:B?.(J)??null,n.policy);if(r)Xz(J,T,w?.relaxation??null);if(T)return xt(T);let V=B!==void 0;if(!V)if(!ts.has(b)){let S=r?[]:void 0;for(let E=1;E<f.length;E++){let O=f[E];if(!O)continue;S?.push(O);let Z=Q_(Qz(J,f,E),n.policy);if(Z)return r?.recordSegment({type:"fallback-scan",tokensScanned:S??[],embeddedCommandFound:H(O)}),xt(Z)}r?.recordSegment({type:"fallback-scan",tokensScanned:S??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!V){let S=be(f,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!S,reason:S?.reason}),S)return xt(S)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function Yz(e,t,n,r,o,i){let s=a_(e);if(s.argvSource?.kind==="absent")return Fe(o);if(s.argvSourceApplies&&s.argvSource){let c=na(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 na(a,n,t,r,o,i,!0)}function na(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Fe(o);let a=co(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Fe(o):null;return et(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function Jz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function Xz(e,t,n){let r={git:"git:analyzeGitMatch",rm:"analyzer/rm.ts:analyzeRmMatch",find:"analyzer/find.ts:analyzeFindMatch",xargs:"analyzer/xargs.ts:analyzeXargs",parallel:"analyzer/parallel.ts:analyzeParallel"}[e.head];if(!r)return;if(e.options.trace?.recordSegment({type:"rule-check",rule:r,matched:!!t||!!n,reason:t?.reason??n?.originalReason}),n)e.options.trace?.recordSegment({type:"worktree-relaxation",originalReason:n.originalReason,gitCwd:n.gitCwd})}function X_(e){if(e.iterations>=Xn)throw new De;e.iterations++}function xt(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Fe(e){return e?.recordSegment({type:"error",message:tS}),xt(rS())}function rS(){return{id:"",reason:tS,intent:"stop_and_explain"}}function oS(e,t){return me.has(t)||e==="$SHELL"||e==="${SHELL}"||me.has(F(t))}function Qz(e,t,n){let r=at(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=eN(e,n,o);if(i)return i}return null}function eN(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(oS(r,o)){et(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ye(c))return null;let l=bt(c);if(!l){if(_t(j(c)).kind==="dynamic")return rS();return ta(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?Tn(u):ta(e,n)}let i=nS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)et(e.options.derivedCommandWorkBudget,e.words.length-t);return ta(e,n)}et(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)??ta(e,n)}function ta(e,t){return t.wrappedByTransparent?be(t.tokens,e.options.policy.rules):null}function Q_(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:z(e,t)}var tN=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,nN=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function rN(e,t){let n=aS(e,t);if(n.length===0)return!1;let r=n[sS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return tN.test(e.join(" "))}function iS(e,t,n,r){if(e.dialect==="powershell"){let a=oN(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return eS(cN(a.target),t,n.paths)}let o=e.words.map(N);if(!rN(o,n))return;if(!t)return null;let i=aS(o,n,t),s=sS(i);if(s===-1||i[s]!=="cd")return null;return eS(i[s+1],t,n.paths)}function eS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return lN(jt(t,e,n),t,n)?t:null}catch{return null}}function oN(e,t){let n=iN(e[0])?1:0,r=e[n];if(!sN(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!nN.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return aN(e.slice(n+1),t)}function iN(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function sN(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function aN(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 cN(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function sS(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 aS(e,t,n){let r=uN(e);return Bt([...r],t,n)}function lN(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return ea(e)===ea(t);return ea(r)===ea(o)}function uN(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var dd="TMPDIR",md="IFS",cS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,lS=/^[A-Za-z_][A-Za-z0-9_]*$/,uS=new Set(["export","typeset","declare","readonly"]),dN=new Set(["builtin","command","time"]);function dS(e,t){return{env:e,effectiveEnvAssignments:hN(e,t),shellAssignments:new Map}}function mS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function fd(e,t){let n=pS(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),pd(t,s)});let r=n.commandIndex;if(r!==-1&&uS.has(e[r]??""))e.filter((s)=>lS.test(s)&&ud(s)).forEach((s)=>{yN(t,s)});let o=r===-1?-1:gS(e,r);if(o===-1||e[o]!=="unset")return;let i=vN(e,o);if(i===null)return;e.slice(i).forEach((s)=>{bN(t,s)})}function fS(e,t){let n=pS(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 pS(e,t){let n=e.findIndex((s)=>!mN(s)),r=n!==-1&&uS.has(e[gS(e,n)]??""),o=gN(t);return{assignments:e.flatMap((s,a)=>{let c=fN(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Gl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function gS(e,t){let n=t;while(dN.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function mN(e){return qe(e)!==null||cS.test(e)}function fN(e,t,n){return qe(e)??pN(e,t,n)}function pN(e,t,n){let r=Bi(e,n,t);if(r)return r;let o=e.match(cS)?.[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 ud(e){return e===dd||e===md||Zl(e)}function gN(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function hN(e,t){let n=[...ji,dd,md].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 pd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function yN(e,t){pd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function bN(e,t){if(!ud(t)&&!lS.test(t))return;if(e.shellAssignments.set(t,""),!ud(t)||t===dd||t===md||eo(t)){pd(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 vN(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 _N="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",In="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.",SN=64;function vd(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return xN(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??Qi(),parallelBudget:n.parallelBudget??ib()},r)}catch(s){let a=s instanceof De&&o?Yy:s instanceof ls&&i?ob: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 xN(e,t,n,r){if(t>=es)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")??rt(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 bd(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 SS(e,n),{reason:Ut,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return SS(e,n),{reason:Ut,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return bd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=dS(n.environment.env,n.envAssignments);return ia(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function ia(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,m=CN(e,c,l,a,d),f=a==="&&"||a==="||",p=f?s:void 0,h=a==="&&"?p?.success??i:a==="||"?p?.failure??i:i,y=a==="||"?p?.success??[]:[],b=a==="&&"?p?.failure??[]:[],R=f||pr(d);if(l.kind==="function"){let ie=h.flatMap((J)=>{let B=$o(J);return B.functionDefinitions.set(l.name,l.body),gd(J,[B],m,d==="&",pr(d))}),se=hd(ie,[],y,b,a,d);i=se.states,s=se.conditionalStates,a=void 0;continue}if(l.kind==="group"){let ie=[],se=[];for(let B of h){let w=ia(l.body,t,n,r,[$o(B)]);if(w.result)return w;if(ie.push(...gd(B,w.states,m,d==="&",pr(d))),R)se.push(B,...m?w.states.map((T)=>ra(B,T)):w.states)}let J=hd(ie,se,y,b,a,d);i=J.states,s=J.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let A=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),C=e.nodes[c-2],P=sa(a)&&C?.kind==="command"?d_(C)??wN(C):void 0,L=[],k=[];for(let ie of h){let se=RN(l,t,n,r,[$o(ie)]);if(se.result)return{result:se.result,states:i};let J=e.dialect==="powershell"?se.states:se.states.map((B)=>ra(ie,B));for(let B of J){let w=$o(B),T=kN(l,t,n.trace?{...n,trace:xS(n.trace,A)}:n,r,w,sa(a),P);if(T)return{result:T,states:i};let V=ZN(l,w.functionDefinitions);if(V)et(n.derivedCommandWorkBudget,aa(V));let S=V?t+1>=es?yd(l.displayText,n,[w]):ia(V,t+1,n,r,[w]):{result:null,states:[w]};if(S.result)return S;if(L.push(...gd(ie,S.states,m,d==="&",pr(d))),R)k.push(ie),k.push(...S.states.map((E)=>m?ra(ie,E):E))}}let U=hd(L,k,y,b,a,d);i=U.states,s=U.conditionalStates,a=void 0}return{result:null,states:i}}function CN(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(sa(r)||sa(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&EN(e,t)}function gd(e,t,n,r,o){let i=n?t.map((a)=>ra(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 ra(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function EN(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(PN(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function sa(e){return e==="|"||e==="|&"}function wN(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 pr(e){return e==="&&"||e==="||"}function hd(e,t,n,r,o,i){let s={success:oa([...n,...e]),failure:oa([...r,...t])},a=pr(i)?s:void 0;return{states:pr(o)||a?oa([...s.success,...s.failure]):s.success,conditionalStates:a}}function xS(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 RN(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=AN(e);if(s){if(t+1>=es)return yd(s,n,o);let a=rt(s,"powershell");if(a.status==="limited")return yd(s,n,o);if(a.status!=="complete")return hS(i,n,r,o);et(n.derivedCommandWorkBudget,aa(a)),i.push({program:a,depth:t+1})}}return hS(i,n,r,o)}function PN(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function hS(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=ia(i.program,i.depth,t,n,[$o(a)]);if(c.result)return c;s.push(...c.states)}o=oa(s)}return{result:null,states:o}}function AN(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 aa(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+aa(o),0):n.kind==="group"||n.kind==="function"?aa(n.body):0),0)}function yd(e,t,n){return t.trace?.recordSegment({type:"error",message:It}),{result:{reason:It,segment:e,intent:"stop_and_explain"},states:[...n]}}function kN(e,t,n,r,o,i,s){let a=MN(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};CS(e,o,"before-consumer",n.environment.paths);let c=Kn(e.dialect,e.words).map(N),l=e.displayText,u=fS(c,o.shellGitContextState);if(e.dialect==="powershell"){let f=z(Iv(e,i,UN(n,o.effectiveCwd)),n.policy);if(n.trace?.recordSegment({type:"rule-check",rule:"analyzer/powershell/remove-item.ts:analyzePowerShellCommandViewMatch",matched:!!f,reason:f?.reason}),f)return jN(l,f)}if(c.length===1&&c[0]?.includes(" ")&&!po(e.dialect,e.words)){let f=z(Dt(c[0],n.scanWork),n.policy),p=f!==null&&!n.strict&&Hy(e,n.rootProgram,n.scanWork);if(f&&!p)return n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!0,reason:f.reason}),{reason:f.reason,segment:l,ruleId:f.id,intent:f.intent};n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!1});let h=yS(e,a,o,u,s,n);if(h)return h;return fd(c,o.shellGitContextState),null}let d=Mo(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(f,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,y=vd(f,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?xS(n.trace,n.trace.currentSegmentIndex,!0):void 0});return y?{reason:y.reason,ruleId:y.ruleId,intent:y.intent}:null}});if(d)return{...d,segment:l};let m=yS(e,a,o,u,s,n);if(m)return m;return fd(c,o.shellGitContextState),null}function yS(e,t,n,r,o,i){let s=$N(e,t,n,r??new Map,i);if(s)return s;return CS(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),ON(e,t,n,i.environment.paths),FN(e,n,o,i.environment,i.trace),null}var TN=new Set([">>","<>"]);function CS(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?IN(i):TN.has(i.operator)))continue;bS(i.target,t,r)}if(n!=="before-consumer"||!Ge(e.words[0],"tee"))return;let o=ES(e.words.slice(1));if(!o)return;for(let i of o.operands)bS(i,t,r)}function IN(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 bS(e,t,n){let r=e?.provenance==="literal"?co(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function ON(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o||!ca(o))return;for(let i of zN(e)){let s=co(i.text,n.effectiveCwd,r);if(!s||!Qy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Xy)throw new De;n.literalHeredocFiles.set(s,o.body)}}function zN(e){let t=DN(e.redirections)?.target,n=vS(t)?[t]:[];if(Ge(e.words[0],"cat"))return NN(e.words)?n:[];if(!Ge(e.words[0],"tee"))return[];let r=ES(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(vS))return[];return[...r.operands,...n]}function NN(e){let t=!1;for(let n of e.slice(1)){if(t||n.provenance!=="literal")return!1;if(n.text==="--"){t=!0;continue}if(!/^-u+$/.test(n.text))return!1}return!0}function DN(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function ES(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&Ge(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 vS(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 Ge(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function ca(e){return e.quotedDelimiter||!/[$`\\]/.test(e.body)}function MN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return In;let n=t[0];if(!n?.heredoc)return In;if(!ca(n.heredoc))return _N;if(n.fd!==void 0&&n.fd!==0)return In;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return In;let r=e.redirections.some((s)=>s!==n&&_S(s.target));if(Ge(e.words[0],"cat"))return r?In:void 0;if(Ge(e.words[0],"tee"))return r||e.words.slice(1).some(_S)?In:void 0;let o=e.words[0],i=e.words[1];if(Ge(o,"git")&&(Ge(i,"apply")||Ge(i,"commit")))return;if(Ge(o,"gh")&&(Ge(i,"pr")||Ge(i,"issue"))&&Ge(e.words[2],"create"))return;return In}function _S(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function $N(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(WN(e,i,n,r,o))return null;let a=LN(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=bd(s.length===i.length?s.join(`
61
- `):e.source,o);return c?{...c,segment:e.displayText}:null}function LN(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc||!ca(r.heredoc)||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!Me(o.text))return;if(!e.words.slice(1).every((l)=>l.provenance==="literal"&&l.text.startsWith("-")))return;let s=r.heredoc.body,a=de(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(n.trace?.recordSegment({type:"interpreter",interpreter:o.text,codeArg:s,paranoidBlocked:a}),a){let l=z(v("interpreter.one-liner-paranoid",er),n.policy);if(l)return l}if(!tr(s,n.scanWork))return null;let c=z(v("interpreter.dangerous-command",yn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function WN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc||!ca(i.heredoc)||i.fd!==void 0&&i.fd!==0)return!1;let s=bn(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(N),c=H(a[0]??"");if((s.envSplitValues?.length??0)>0||!me.has(c)&&!me.has(F(c)))return!1;return Ye(a)}function FN(e,t,n,r,o){let i=iS(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:mS(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function oa(e){let t=[];for(let n of e){if(!t.some((r)=>GN(r,n)))t.push(n);if(t.length>SN)throw new De}return t}function GN(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 ZN(e,t){let n=Ps(e);return n===void 0?void 0:t.get(n)}function jN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function UN(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 bd(e,t){let n=z(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 SS(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:Ut};if(t.trace?.currentSegmentIndex===void 0)t.trace?.recordGlobal(n);else t.trace.recordSegment(n)}var Wo=["fail_closed","paranoid_rm","paranoid_interpreters"],la={standard:{fail_closed:!1,paranoid_rm:!1,paranoid_interpreters:!1},strict:{fail_closed:!0,paranoid_rm:!1,paranoid_interpreters:!1},paranoid:{fail_closed:!0,paranoid_rm:!0,paranoid_interpreters:!0}};var fe={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"}},ua=["standard","strict","paranoid"];function BN(e,t){if(!t)return e;return ua.indexOf(t)>ua.indexOf(e)?t:e}function VN(){let e=Ed(fe.level);if(e===void 0||e==="")return;if(ua.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${fe.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${ua.join(", ")}.`);return}function HN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function Sd(){return HN(Ed(fe.auditScope))==="all"}function xd(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 Cd(e={}){let t=e.safety?.level??"standard",n=VN(),r=BN(t,n),o=la[r],i={failClosed:o.fail_closed,paranoidRm:o.paranoid_rm,paranoidInterpreters:o.paranoid_interpreters},s={failClosed:r===t?"preset":"environment",paranoidRm:r===t?"preset":"environment",paranoidInterpreters:r===t?"preset":"environment"},a={failClosed:[`policy safety.level=${t}`],paranoidRm:[`policy safety.level=${t}`],paranoidInterpreters:[`policy safety.level=${t}`]};if(r!==t)a.failClosed.push(`env ${fe.level.name}=${n}`),a.paranoidRm.push(`env ${fe.level.name}=${n}`),a.paranoidInterpreters.push(`env ${fe.level.name}=${n}`);if(e.safety?.overrides?.failClosed!==void 0)i.failClosed=e.safety.overrides.failClosed,s.failClosed="capability_override",a.failClosed.push("policy safety.overrides.fail_closed");if(e.safety?.overrides?.paranoidRm!==void 0)i.paranoidRm=e.safety.overrides.paranoidRm,s.paranoidRm="capability_override",a.paranoidRm.push("policy safety.overrides.paranoid_rm");if(e.safety?.overrides?.paranoidInterpreters!==void 0)i.paranoidInterpreters=e.safety.overrides.paranoidInterpreters,s.paranoidInterpreters="capability_override",a.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(Qt(fe.strict))i.failClosed=!0,s.failClosed="environment",a.failClosed.push(`env ${fe.strict.name}`);if(Qt(fe.paranoid))i.paranoidRm=!0,i.paranoidInterpreters=!0,s.paranoidRm="environment",s.paranoidInterpreters="environment",a.paranoidRm.push(`env ${fe.paranoid.name}`),a.paranoidInterpreters.push(`env ${fe.paranoid.name}`);if(Qt(fe.paranoidRm))i.paranoidRm=!0,s.paranoidRm="environment",a.paranoidRm.push(`env ${fe.paranoidRm.name}`);if(Qt(fe.paranoidInterpreters))i.paranoidInterpreters=!0,s.paranoidInterpreters="environment",a.paranoidInterpreters.push(`env ${fe.paranoidInterpreters.name}`);let c=!!e.worktreeMode||Qt(fe.worktree);return{strict:i.failClosed,paranoidRm:i.paranoidRm,paranoidInterpreters:i.paranoidInterpreters,worktreeMode:c,effectiveLevel:xd(i),capabilities:{fail_closed:{enabled:i.failClosed,source:s.failClosed,sources:a.failClosed},paranoid_rm:{enabled:i.paranoidRm,source:s.paranoidRm,sources:a.paranoidRm},paranoid_interpreters:{enabled:i.paranoidInterpreters,source:s.paranoidInterpreters,sources:a.paranoidInterpreters}}}}function Qt(e){let t=typeof e==="string"?_d(e):Ed(e);return t==="1"||t?.toLowerCase()==="true"}function _d(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function Ed(e){let t=_d(e.name);if(t!==void 0)return t;if(e.legacyName)return _d(e.legacyName);return}function wS(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:By(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:xd({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 RS(e,t,n,r){let o=vd(e,0,{...t,...wS(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}]}}var qN=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),Pd=new Set(["cc-safety-net","ccsn"]),KN=new Set(["bunx","npx","pnpx"]),YN=new Set(["pnpm","yarn"]),JN=new Set(["npm","pnpm","yarn"]),XN=new Set(["bun","node"]);function ma(e,t,n={}){if(Pd.has(e))return 0;if(KN.has(e)){if(n.broad)return Rd(t);let o=t[0]==="-y"||t[0]==="--yes"?1:0;return da(t[o])?o+1:null}let r=n.broad?t.findIndex((o)=>!o.startsWith("-")):0;if(r!==-1&&JN.has(e)&&n.broad&&t[r]==="exec"){let o=Rd(t.slice(r+1));return o===null?null:r+1+o}if(YN.has(e)){if(e==="yarn"&&!n.broad)return null;if(!n.broad)return t[0]==="dlx"&&da(t[1])?2:null;if(r===-1||t[r]!=="dlx")return null;let o=Rd(t.slice(r+1));return o===null?null:r+1+o}if(XN.has(e)){let o=n.broad&&r!==-1?r:0;if(PS(t[o]))return o+1;if(e==="bun"&&t[o]==="run"&&PS(t[o+1]))return o+2}return null}function Rd(e){let t=e.findIndex((r)=>da(r));if(t===-1)return null;let n=t;while(n<e.length){let r=e[n]??"";if(!r.startsWith("-")&&!da(r))break;n++}return n}function da(e){if(!e)return!1;let t=e.indexOf("@");if(t===-1)return Pd.has(e);if(t===0)return!1;let n=e.slice(t+1);if(n===""||n.includes("/")||n.includes(":"))return!1;return Pd.has(e.slice(0,t))}function PS(e){let t=e?.replaceAll("\\","/");return[...qN].some((n)=>t===n||t?.endsWith(`/${n}`))}function gr(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}}var AS="Only the user may apply a policy proposal, because it rewrites the configuration CC Safety Net enforces. Ask them to run `cc-safety-net policy apply <file>` themselves in a terminal; you can run `cc-safety-net policy check <file>` to show them what it would change.";function kS(e){let t=xe(e,"input-candidate");if(!t)return null;let n=Ot(Qe()),r=sr(t.shell,e.invocation.context.executionCwd,n,{findSegmentTarget:(o)=>eD(o,n.environment),isRedirectionTarget:()=>!1,findMalformedTarget:()=>null,normalizeCwd:ye});return r?{target:r}:null}function eD(e,t){let n=Bt([...e],t),r=n.slice(1),o=ma(F(n[0]??"").toLowerCase(),r,{broad:!0});if(o===null)return null;let i=r.slice(o).filter((s)=>s!=="-g"&&s!=="--global");return i[0]==="policy"&&i[1]==="apply"?n.join(" "):null}import{dirname as yl}from"path";import{chmodSync as jB,existsSync as aM,mkdirSync as UB,readFileSync as cM}from"fs";import{dirname as lM,join as uM}from"path";import{createRequire as q0}from"module";var dh={};ln(dh,{$brand:()=>pa,$input:()=>Ba,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>wg,ZodArray:()=>kg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Hr,ZodCIDRv4:()=>Hc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Jg,ZodCodec:()=>al,ZodCustom:()=>_i,ZodCustomStringFormat:()=>Br,ZodDate:()=>gi,ZodDefault:()=>Bg,ZodDiscriminatedUnion:()=>Ig,ZodE164:()=>Jc,ZodEmail:()=>$c,ZodEmoji:()=>Lc,ZodEnum:()=>jr,ZodError:()=>lx,ZodExactOptional:()=>Zg,ZodFile:()=>Fg,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>sh,ZodGUID:()=>ui,ZodIPv4:()=>Bc,ZodIPv6:()=>Vc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>Og,ZodIssueCode:()=>EC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>rh,ZodLiteral:()=>Wg,ZodMAC:()=>bg,ZodMap:()=>$g,ZodNaN:()=>Qg,ZodNanoID:()=>Wc,ZodNever:()=>Pg,ZodNonOptional:()=>il,ZodNull:()=>Cg,ZodNullable:()=>Ug,ZodNumber:()=>Vr,ZodNumberFormat:()=>Fn,ZodObject:()=>yi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Hg,ZodPromise:()=>ih,ZodReadonly:()=>eh,ZodRealError:()=>we,ZodRecord:()=>vi,ZodSet:()=>Lg,ZodString:()=>Ur,ZodStringFormat:()=>Y,ZodSuccess:()=>Yg,ZodSymbol:()=>Sg,ZodTemplateLiteral:()=>nh,ZodTransform:()=>Gg,ZodTuple:()=>Ng,ZodType:()=>M,ZodULID:()=>Zc,ZodURL:()=>pi,ZodUUID:()=>At,ZodUndefined:()=>xg,ZodUnion:()=>bi,ZodUnknown:()=>Rg,ZodVoid:()=>Ag,ZodXID:()=>jc,ZodXor:()=>Tg,_ZodString:()=>Mc,_default:()=>Vg,_function:()=>gC,any:()=>Hx,array:()=>hi,base64:()=>Tx,base64url:()=>Ix,bigint:()=>Zx,boolean:()=>_g,catch:()=>Xg,check:()=>hC,cidrv4:()=>Ax,cidrv6:()=>kx,clone:()=>ve,codec:()=>mC,coerce:()=>ll,config:()=>le,core:()=>Pt,cuid:()=>_x,cuid2:()=>Sx,custom:()=>yC,date:()=>Kx,decode:()=>Pc,decodeAsync:()=>kc,default:()=>j0,describe:()=>bC,discriminatedUnion:()=>tC,e164:()=>Ox,email:()=>ux,emoji:()=>bx,encode:()=>Rc,encodeAsync:()=>Ac,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>jg,file:()=>cC,flattenError:()=>vr,float32:()=>Lx,float64:()=>Wx,formatError:()=>_r,fromJSONSchema:()=>uh,function:()=>gC,getErrorMap:()=>RC,globalRegistry:()=>Oe,gt:()=>wt,gte:()=>Ee,guid:()=>dx,hash:()=>$x,hex:()=>Mx,hostname:()=>Dx,httpUrl:()=>yx,includes:()=>kr,instanceof:()=>_C,int:()=>Dc,int32:()=>Fx,int64:()=>jx,intersection:()=>zg,ipv4:()=>wx,ipv6:()=>Px,iso:()=>li,json:()=>xC,jwt:()=>zx,keyof:()=>Yx,ksuid:()=>Ex,lazy:()=>oh,length:()=>Ln,literal:()=>aC,locales:()=>ei,looseObject:()=>Qx,looseRecord:()=>rC,lowercase:()=>Pr,lt:()=>Et,lte:()=>Ue,mac:()=>Rx,map:()=>oC,maxLength:()=>$n,maxSize:()=>sn,meta:()=>vC,mime:()=>Or,minLength:()=>Ft,minSize:()=>Rt,multipleOf:()=>on,nan:()=>dC,nanoid:()=>vx,nativeEnum:()=>sC,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>Kg,nonpositive:()=>gc,normalize:()=>zr,null:()=>Eg,nullable:()=>mi,nullish:()=>lC,number:()=>vg,object:()=>Jx,optional:()=>di,overwrite:()=>ut,parse:()=>xc,parseAsync:()=>Cc,partialRecord:()=>nC,pipe:()=>fi,positive:()=>fc,prefault:()=>qg,preprocess:()=>CC,prettifyError:()=>_a,promise:()=>pC,property:()=>yc,readonly:()=>th,record:()=>Mg,refine:()=>ah,regex:()=>Rr,regexes:()=>je,registry:()=>ti,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>Ec,safeParseAsync:()=>wc,set:()=>iC,setErrorMap:()=>wC,size:()=>Mn,slugify:()=>$r,startsWith:()=>Tr,strictObject:()=>Xx,string:()=>Nc,stringFormat:()=>Nx,stringbool:()=>SC,success:()=>uC,superRefine:()=>ch,symbol:()=>Bx,templateLiteral:()=>fC,toJSONSchema:()=>oi,toLowerCase:()=>Dr,toUpperCase:()=>Mr,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Dg,uint32:()=>Gx,uint64:()=>Ux,ulid:()=>xx,undefined:()=>Vx,union:()=>tl,unknown:()=>Wn,uppercase:()=>Ar,url:()=>hx,util:()=>I,uuid:()=>mx,uuidv4:()=>fx,uuidv6:()=>px,uuidv7:()=>gx,void:()=>qx,xid:()=>Cx,xor:()=>eC,z:()=>ul});var ul={};ln(ul,{$brand:()=>pa,$input:()=>Ba,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>wg,ZodArray:()=>kg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Hr,ZodCIDRv4:()=>Hc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Jg,ZodCodec:()=>al,ZodCustom:()=>_i,ZodCustomStringFormat:()=>Br,ZodDate:()=>gi,ZodDefault:()=>Bg,ZodDiscriminatedUnion:()=>Ig,ZodE164:()=>Jc,ZodEmail:()=>$c,ZodEmoji:()=>Lc,ZodEnum:()=>jr,ZodError:()=>lx,ZodExactOptional:()=>Zg,ZodFile:()=>Fg,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>sh,ZodGUID:()=>ui,ZodIPv4:()=>Bc,ZodIPv6:()=>Vc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>Og,ZodIssueCode:()=>EC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>rh,ZodLiteral:()=>Wg,ZodMAC:()=>bg,ZodMap:()=>$g,ZodNaN:()=>Qg,ZodNanoID:()=>Wc,ZodNever:()=>Pg,ZodNonOptional:()=>il,ZodNull:()=>Cg,ZodNullable:()=>Ug,ZodNumber:()=>Vr,ZodNumberFormat:()=>Fn,ZodObject:()=>yi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Hg,ZodPromise:()=>ih,ZodReadonly:()=>eh,ZodRealError:()=>we,ZodRecord:()=>vi,ZodSet:()=>Lg,ZodString:()=>Ur,ZodStringFormat:()=>Y,ZodSuccess:()=>Yg,ZodSymbol:()=>Sg,ZodTemplateLiteral:()=>nh,ZodTransform:()=>Gg,ZodTuple:()=>Ng,ZodType:()=>M,ZodULID:()=>Zc,ZodURL:()=>pi,ZodUUID:()=>At,ZodUndefined:()=>xg,ZodUnion:()=>bi,ZodUnknown:()=>Rg,ZodVoid:()=>Ag,ZodXID:()=>jc,ZodXor:()=>Tg,_ZodString:()=>Mc,_default:()=>Vg,_function:()=>gC,any:()=>Hx,array:()=>hi,base64:()=>Tx,base64url:()=>Ix,bigint:()=>Zx,boolean:()=>_g,catch:()=>Xg,check:()=>hC,cidrv4:()=>Ax,cidrv6:()=>kx,clone:()=>ve,codec:()=>mC,coerce:()=>ll,config:()=>le,core:()=>Pt,cuid:()=>_x,cuid2:()=>Sx,custom:()=>yC,date:()=>Kx,decode:()=>Pc,decodeAsync:()=>kc,describe:()=>bC,discriminatedUnion:()=>tC,e164:()=>Ox,email:()=>ux,emoji:()=>bx,encode:()=>Rc,encodeAsync:()=>Ac,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>jg,file:()=>cC,flattenError:()=>vr,float32:()=>Lx,float64:()=>Wx,formatError:()=>_r,fromJSONSchema:()=>uh,function:()=>gC,getErrorMap:()=>RC,globalRegistry:()=>Oe,gt:()=>wt,gte:()=>Ee,guid:()=>dx,hash:()=>$x,hex:()=>Mx,hostname:()=>Dx,httpUrl:()=>yx,includes:()=>kr,instanceof:()=>_C,int:()=>Dc,int32:()=>Fx,int64:()=>jx,intersection:()=>zg,ipv4:()=>wx,ipv6:()=>Px,iso:()=>li,json:()=>xC,jwt:()=>zx,keyof:()=>Yx,ksuid:()=>Ex,lazy:()=>oh,length:()=>Ln,literal:()=>aC,locales:()=>ei,looseObject:()=>Qx,looseRecord:()=>rC,lowercase:()=>Pr,lt:()=>Et,lte:()=>Ue,mac:()=>Rx,map:()=>oC,maxLength:()=>$n,maxSize:()=>sn,meta:()=>vC,mime:()=>Or,minLength:()=>Ft,minSize:()=>Rt,multipleOf:()=>on,nan:()=>dC,nanoid:()=>vx,nativeEnum:()=>sC,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>Kg,nonpositive:()=>gc,normalize:()=>zr,null:()=>Eg,nullable:()=>mi,nullish:()=>lC,number:()=>vg,object:()=>Jx,optional:()=>di,overwrite:()=>ut,parse:()=>xc,parseAsync:()=>Cc,partialRecord:()=>nC,pipe:()=>fi,positive:()=>fc,prefault:()=>qg,preprocess:()=>CC,prettifyError:()=>_a,promise:()=>pC,property:()=>yc,readonly:()=>th,record:()=>Mg,refine:()=>ah,regex:()=>Rr,regexes:()=>je,registry:()=>ti,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>Ec,safeParseAsync:()=>wc,set:()=>iC,setErrorMap:()=>wC,size:()=>Mn,slugify:()=>$r,startsWith:()=>Tr,strictObject:()=>Xx,string:()=>Nc,stringFormat:()=>Nx,stringbool:()=>SC,success:()=>uC,superRefine:()=>ch,symbol:()=>Bx,templateLiteral:()=>fC,toJSONSchema:()=>oi,toLowerCase:()=>Dr,toUpperCase:()=>Mr,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Dg,uint32:()=>Gx,uint64:()=>Ux,ulid:()=>xx,undefined:()=>Vx,union:()=>tl,unknown:()=>Wn,uppercase:()=>Ar,url:()=>hx,util:()=>I,uuid:()=>mx,uuidv4:()=>fx,uuidv6:()=>px,uuidv7:()=>gx,void:()=>qx,xid:()=>Cx,xor:()=>eC});var Pt={};ln(Pt,{$ZodAny:()=>mf,$ZodArray:()=>yf,$ZodAsyncError:()=>Ct,$ZodBase64:()=>tf,$ZodBase64URL:()=>nf,$ZodBigInt:()=>Ga,$ZodBigIntFormat:()=>cf,$ZodBoolean:()=>Jo,$ZodCIDRv4:()=>Xm,$ZodCIDRv6:()=>Qm,$ZodCUID:()=>Fm,$ZodCUID2:()=>Gm,$ZodCatch:()=>Df,$ZodCheck:()=>Q,$ZodCheckBigIntFormat:()=>hm,$ZodCheckEndsWith:()=>Am,$ZodCheckGreaterThan:()=>za,$ZodCheckIncludes:()=>Rm,$ZodCheckLengthEquals:()=>xm,$ZodCheckLessThan:()=>Oa,$ZodCheckLowerCase:()=>Em,$ZodCheckMaxLength:()=>_m,$ZodCheckMaxSize:()=>ym,$ZodCheckMimeType:()=>Tm,$ZodCheckMinLength:()=>Sm,$ZodCheckMinSize:()=>bm,$ZodCheckMultipleOf:()=>pm,$ZodCheckNumberFormat:()=>gm,$ZodCheckOverwrite:()=>Im,$ZodCheckProperty:()=>km,$ZodCheckRegex:()=>Cm,$ZodCheckSizeEquals:()=>vm,$ZodCheckStartsWith:()=>Pm,$ZodCheckStringFormat:()=>wr,$ZodCheckUpperCase:()=>wm,$ZodCodec:()=>Qo,$ZodCustom:()=>jf,$ZodCustomStringFormat:()=>sf,$ZodDate:()=>hf,$ZodDefault:()=>If,$ZodDiscriminatedUnion:()=>_f,$ZodE164:()=>rf,$ZodEmail:()=>Mm,$ZodEmoji:()=>Lm,$ZodEncodeError:()=>On,$ZodEnum:()=>wf,$ZodError:()=>Ho,$ZodExactOptional:()=>kf,$ZodFile:()=>Pf,$ZodFunction:()=>Ff,$ZodGUID:()=>Nm,$ZodIPv4:()=>Km,$ZodIPv6:()=>Ym,$ZodISODate:()=>Vm,$ZodISODateTime:()=>Bm,$ZodISODuration:()=>qm,$ZodISOTime:()=>Hm,$ZodIntersection:()=>Sf,$ZodJWT:()=>of,$ZodKSUID:()=>Um,$ZodLazy:()=>Zf,$ZodLiteral:()=>Rf,$ZodMAC:()=>Jm,$ZodMap:()=>Cf,$ZodNaN:()=>Mf,$ZodNanoID:()=>Wm,$ZodNever:()=>pf,$ZodNonOptional:()=>zf,$ZodNull:()=>df,$ZodNullable:()=>Tf,$ZodNumber:()=>Fa,$ZodNumberFormat:()=>af,$ZodObject:()=>rx,$ZodObjectJIT:()=>bf,$ZodOptional:()=>ja,$ZodPipe:()=>$f,$ZodPrefault:()=>Of,$ZodPromise:()=>Gf,$ZodReadonly:()=>Lf,$ZodRealError:()=>Ie,$ZodRecord:()=>xf,$ZodRegistry:()=>Uf,$ZodSet:()=>Ef,$ZodString:()=>Dn,$ZodStringFormat:()=>K,$ZodSuccess:()=>Nf,$ZodSymbol:()=>lf,$ZodTemplateLiteral:()=>Wf,$ZodTransform:()=>Af,$ZodTuple:()=>Za,$ZodType:()=>D,$ZodULID:()=>Zm,$ZodURL:()=>$m,$ZodUUID:()=>Dm,$ZodUndefined:()=>uf,$ZodUnion:()=>Xo,$ZodUnknown:()=>ff,$ZodVoid:()=>gf,$ZodXID:()=>jm,$ZodXor:()=>vf,$brand:()=>pa,$constructor:()=>g,$input:()=>Ba,$output:()=>Ua,Doc:()=>Na,JSONSchema:()=>sx,JSONSchemaGenerator:()=>fg,NEVER:()=>fa,TimePrecision:()=>mc,_any:()=>pp,_array:()=>Sp,_base64:()=>cc,_base64url:()=>lc,_bigint:()=>ap,_boolean:()=>ip,_catch:()=>P0,_check:()=>ix,_cidrv4:()=>sc,_cidrv6:()=>ac,_coercedBigint:()=>cp,_coercedBoolean:()=>sp,_coercedDate:()=>vp,_coercedNumber:()=>Qf,_coercedString:()=>Vf,_cuid:()=>Qa,_cuid2:()=>ec,_custom:()=>Cp,_date:()=>bp,_decode:()=>Ea,_decodeAsync:()=>Ra,_default:()=>E0,_discriminatedUnion:()=>m0,_e164:()=>uc,_email:()=>Va,_emoji:()=>Ja,_encode:()=>Ca,_encodeAsync:()=>wa,_endsWith:()=>Ir,_enum:()=>b0,_file:()=>xp,_float32:()=>tp,_float64:()=>np,_gt:()=>wt,_gte:()=>Ee,_guid:()=>ni,_includes:()=>kr,_int:()=>ep,_int32:()=>rp,_int64:()=>lp,_intersection:()=>f0,_ipv4:()=>oc,_ipv6:()=>ic,_isoDate:()=>Kf,_isoDateTime:()=>qf,_isoDuration:()=>Jf,_isoTime:()=>Yf,_jwt:()=>dc,_ksuid:()=>rc,_lazy:()=>I0,_length:()=>Ln,_literal:()=>_0,_lowercase:()=>Pr,_lt:()=>Et,_lte:()=>Ue,_mac:()=>Hf,_map:()=>h0,_max:()=>Ue,_maxLength:()=>$n,_maxSize:()=>sn,_mime:()=>Or,_min:()=>Ee,_minLength:()=>Ft,_minSize:()=>Rt,_multipleOf:()=>on,_nan:()=>_p,_nanoid:()=>Xa,_nativeEnum:()=>v0,_negative:()=>pc,_never:()=>hp,_nonnegative:()=>hc,_nonoptional:()=>w0,_nonpositive:()=>gc,_normalize:()=>zr,_null:()=>fp,_nullable:()=>C0,_number:()=>Xf,_optional:()=>x0,_overwrite:()=>ut,_parse:()=>Sr,_parseAsync:()=>xr,_pipe:()=>A0,_positive:()=>fc,_promise:()=>O0,_property:()=>yc,_readonly:()=>k0,_record:()=>g0,_refine:()=>Ep,_regex:()=>Rr,_safeDecode:()=>Aa,_safeDecodeAsync:()=>Ta,_safeEncode:()=>Pa,_safeEncodeAsync:()=>ka,_safeParse:()=>Cr,_safeParseAsync:()=>Er,_set:()=>y0,_size:()=>Mn,_slugify:()=>$r,_startsWith:()=>Tr,_string:()=>Bf,_stringFormat:()=>Lr,_stringbool:()=>Ap,_success:()=>R0,_superRefine:()=>wp,_symbol:()=>dp,_templateLiteral:()=>T0,_toLowerCase:()=>Dr,_toUpperCase:()=>Mr,_transform:()=>S0,_trim:()=>Nr,_tuple:()=>p0,_uint32:()=>op,_uint64:()=>up,_ulid:()=>tc,_undefined:()=>mp,_union:()=>u0,_unknown:()=>gp,_uppercase:()=>Ar,_url:()=>ri,_uuid:()=>Ha,_uuidv4:()=>qa,_uuidv6:()=>Ka,_uuidv7:()=>Ya,_void:()=>yp,_xid:()=>nc,_xor:()=>d0,clone:()=>ve,config:()=>le,createStandardJSONSchemaMethod:()=>bc,createToJSONSchemaMethod:()=>kp,decode:()=>AD,decodeAsync:()=>TD,describe:()=>Rp,encode:()=>PD,encodeAsync:()=>kD,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>_r,globalConfig:()=>Fo,globalRegistry:()=>Oe,initializeContext:()=>Fr,isValidBase64:()=>ef,isValidBase64URL:()=>QS,isValidJWT:()=>ex,locales:()=>ei,meta:()=>Pp,parse:()=>Sa,parseAsync:()=>xa,prettifyError:()=>_a,process:()=>ee,regexes:()=>je,registry:()=>ti,safeDecode:()=>OD,safeDecodeAsync:()=>ND,safeEncode:()=>ID,safeEncodeAsync:()=>zD,safeParse:()=>Ld,safeParseAsync:()=>Wd,toDotPath:()=>DS,toJSONSchema:()=>oi,treeifyError:()=>va,util:()=>I,version:()=>Om});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 m=u[d];if(!(m in a))a[m]=l[m].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 Ct extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class On extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Fo={};function le(e){if(e)Object.assign(Fo,e);return Fo}var I={};ln(I,{BIGINT_FORMAT_RANGES:()=>Md,Class:()=>zS,NUMBER_FORMAT_RANGES:()=>Dd,aborted:()=>rn,allowsEval:()=>Id,assert:()=>iD,assertEqual:()=>tD,assertIs:()=>rD,assertNever:()=>oD,assertNotEqual:()=>nD,assignProp:()=>tn,base64ToUint8Array:()=>IS,base64urlToUint8Array:()=>xD,cached:()=>yr,captureStackTrace:()=>ya,cleanEnum:()=>SD,cleanRegex:()=>jo,clone:()=>ve,cloneDef:()=>aD,createTransparentProxy:()=>fD,defineLazy:()=>W,esc:()=>ha,escapeRegex:()=>Xe,extend:()=>hD,finalizeIssue:()=>Te,floatSafeRemainder:()=>kd,getElementAtPath:()=>cD,getEnumValues:()=>Zo,getLengthableOrigin:()=>Vo,getParsedType:()=>mD,getSizableOrigin:()=>Bo,hexToUint8Array:()=>ED,isObject:()=>zn,isPlainObject:()=>nn,issue:()=>br,joinValues:()=>ga,jsonStringifyReplacer:()=>hr,merge:()=>bD,mergeDefs:()=>Wt,normalizeParams:()=>_,nullish:()=>en,numKeys:()=>dD,objectClone:()=>sD,omit:()=>gD,optionalKeys:()=>Nd,parsedType:()=>$d,partial:()=>vD,pick:()=>pD,prefixIssues:()=>Ze,primitiveTypes:()=>zd,promiseAllObject:()=>lD,propertyKeyTypes:()=>Uo,randomString:()=>uD,required:()=>_D,safeExtend:()=>yD,shallowClone:()=>Od,slugify:()=>Td,stringifyPrimitive:()=>ba,uint8ArrayToBase64:()=>OS,uint8ArrayToBase64url:()=>CD,uint8ArrayToHex:()=>wD,unwrapMessage:()=>Go});function tD(e){return e}function nD(e){return e}function rD(e){}function oD(e){throw Error("Unexpected value in exhaustive check")}function iD(e){}function Zo(e){let t=Object.values(e).filter((r)=>typeof r==="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function 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 en(e){return e===null||e===void 0}function jo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function kd(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 TS=Symbol("evaluating");function W(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===TS)return;if(r===void 0)r=TS,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function sD(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function tn(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 aD(e){return Wt(e._zod.def)}function cD(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function lD(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 uD(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 Td(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ya="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function zn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Id=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function nn(e){if(zn(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(zn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Od(e){if(nn(e))return{...e};if(Array.isArray(e))return[...e];return e}function dD(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var mD=(e)=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(e))return"array";if(e===null)return"null";if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function")return"promise";if(typeof Map<"u"&&e instanceof Map)return"map";if(typeof Set<"u"&&e instanceof Set)return"set";if(typeof Date<"u"&&e instanceof Date)return"date";if(typeof File<"u"&&e instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${t}`)}},Uo=new Set(["string","number","symbol"]),zd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Xe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ve(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 fD(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 Nd(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Dd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Md={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function pD(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 tn(this,"shape",s),s},checks:[]});return ve(e,i)}function gD(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 tn(this,"shape",s),s},checks:[]});return ve(e,i)}function hD(e,t){if(!nn(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 tn(this,"shape",i),i}});return ve(e,o)}function yD(e,t){if(!nn(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 tn(this,"shape",r),r}});return ve(e,n)}function bD(e,t){let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return tn(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return ve(e,n)}function vD(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 tn(this,"shape",c),c},checks:[]});return ve(t,s)}function _D(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 tn(this,"shape",i),i}});return ve(t,r)}function rn(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 Ze(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Go(e){return typeof e==="string"?e:e?.message}function Te(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Go(e.inst?._zod.def?.error?.(e))??Go(t?.error?.(e))??Go(n.customError?.(e))??Go(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Bo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function Vo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function $d(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 SD(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function IS(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 OS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function xD(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return IS(t+n)}function CD(e){return OS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ED(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 wD(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class zS{constructor(...e){}}var NS=(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})},Ho=g("$ZodError",NS),Ie=g("$ZodError",NS,{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 _r(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 m=l[d],f=d===l.length-1;if(typeof m==="string")u.properties??(u.properties={}),(s=u.properties)[m]??(s[m]={errors:[]}),u=u.properties[m];else u.items??(u.items=[]),(a=u.items)[m]??(a[m]={errors:[]}),u=u.items[m];if(f)u.errors.push(t(c));d++}}};return r(e),n}function DS(e){let t=[],n=e.map((r)=>typeof r==="object"?r.key:r);for(let r of n)if(typeof r==="number")t.push(`[${r}]`);else if(typeof r==="symbol")t.push(`[${JSON.stringify(String(r))}]`);else if(/[^\w$]/.test(r))t.push(`[${JSON.stringify(r)}]`);else{if(t.length)t.push(".");t.push(r)}return t.join("")}function _a(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`\u2716 ${r.message}`),r.path?.length)t.push(` \u2192 at ${DS(r.path)}`);return t.join(`
62
- `)}var Sr=(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 Ct;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Te(c,i,le())));throw ya(a,o?.callee),a}return s.value},Sa=Sr(Ie),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)=>Te(c,i,le())));throw ya(a,o?.callee),a}return s.value},xa=xr(Ie),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 Ct;return i.issues.length?{success:!1,error:new(e??Ho)(i.issues.map((s)=>Te(s,o,le())))}:{success:!0,data:i.value}},Ld=Cr(Ie),Er=(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)=>Te(s,o,le())))}:{success:!0,data:i.value}},Wd=Er(Ie),Ca=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Sr(e)(t,n,o)},PD=Ca(Ie),Ea=(e)=>(t,n,r)=>Sr(e)(t,n,r),AD=Ea(Ie),wa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},kD=wa(Ie),Ra=(e)=>async(t,n,r)=>xr(e)(t,n,r),TD=Ra(Ie),Pa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},ID=Pa(Ie),Aa=(e)=>(t,n,r)=>Cr(e)(t,n,r),OD=Aa(Ie),ka=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Er(e)(t,n,o)},zD=ka(Ie),Ta=(e)=>async(t,n,r)=>Er(e)(t,n,r),ND=Ta(Ie);var je={};ln(je,{base64:()=>tm,base64url:()=>Ia,bigint:()=>am,boolean:()=>lm,browserEmail:()=>ZD,cidrv4:()=>Qd,cidrv6:()=>em,cuid:()=>Fd,cuid2:()=>Gd,date:()=>rm,datetime:()=>im,domain:()=>BD,duration:()=>Vd,e164:()=>nm,email:()=>qd,emoji:()=>Kd,extendedDuration:()=>DD,guid:()=>Hd,hex:()=>VD,hostname:()=>UD,html5Email:()=>WD,idnEmail:()=>GD,integer:()=>cm,ipv4:()=>Yd,ipv6:()=>Jd,ksuid:()=>Ud,lowercase:()=>mm,mac:()=>Xd,md5_base64:()=>qD,md5_base64url:()=>KD,md5_hex:()=>HD,nanoid:()=>Bd,null:()=>um,number:()=>qo,rfc5322Email:()=>FD,sha1_base64:()=>JD,sha1_base64url:()=>XD,sha1_hex:()=>YD,sha256_base64:()=>e0,sha256_base64url:()=>t0,sha256_hex:()=>QD,sha384_base64:()=>r0,sha384_base64url:()=>o0,sha384_hex:()=>n0,sha512_base64:()=>s0,sha512_base64url:()=>a0,sha512_hex:()=>i0,string:()=>sm,time:()=>om,ulid:()=>Zd,undefined:()=>dm,unicodeEmail:()=>MS,uppercase:()=>fm,uuid:()=>Nn,uuid4:()=>MD,uuid6:()=>$D,uuid7:()=>LD,xid:()=>jd});var Fd=/^[cC][^\s-]{8,}$/,Gd=/^[0-9a-z]+$/,Zd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,jd=/^[0-9a-vA-V]{20}$/,Ud=/^[A-Za-z0-9]{27}$/,Bd=/^[a-zA-Z0-9_-]{21}$/,Vd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,DD=/^[-+]?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)?)??$/,Hd=/^([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})$/,Nn=(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})$`)},MD=Nn(4),$D=Nn(6),LD=Nn(7),qd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,WD=/^[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])?)*$/,FD=/^(([^<>()\[\]\\.,;:\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,}))$/,MS=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,GD=MS,ZD=/^[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])?)*$/,jD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Kd(){return new RegExp(jD,"u")}var Yd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Jd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Xd=(e)=>{let t=Xe(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Qd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,em=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,tm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ia=/^[A-Za-z0-9_-]*$/,UD=/^(?=.{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])?)*\.?$/,BD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,nm=/^\+[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])))",rm=new RegExp(`^${$S}$`);function LS(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function om(e){return new RegExp(`^${LS(e)}$`)}function im(e){let t=LS({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 sm=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},am=/^-?\d+n?$/,cm=/^-?\d+$/,qo=/^-?\d+(?:\.\d+)?$/,lm=/^(?:true|false)$/i,um=/^null$/i;var dm=/^undefined$/i;var mm=/^[^A-Z]*$/,fm=/^[^a-z]*$/,VD=/^[0-9a-fA-F]*$/;function Ko(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Yo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var HD=/^[0-9a-fA-F]{32}$/,qD=Ko(22,"=="),KD=Yo(22),YD=/^[0-9a-fA-F]{40}$/,JD=Ko(27,"="),XD=Yo(27),QD=/^[0-9a-fA-F]{64}$/,e0=Ko(43,"="),t0=Yo(43),n0=/^[0-9a-fA-F]{96}$/,r0=Ko(64,""),o0=Yo(64),i0=/^[0-9a-fA-F]{128}$/,s0=Ko(86,"=="),a0=Yo(86);var Q=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),FS={number:"number",bigint:"bigint",object:"date"},Oa=g("$ZodCheckLessThan",(e,t)=>{Q.init(e,t);let n=FS[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)=>{Q.init(e,t);let n=FS[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),pm=g("$ZodCheckMultipleOf",(e,t)=>{Q.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):kd(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckNumberFormat",(e,t)=>{Q.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Dd[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=o,a.maximum=i,n)a.pattern=cm}),e._zod.check=(s)=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}if(a<o)s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>i)s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),hm=g("$ZodCheckBigIntFormat",(e,t)=>{Q.init(e,t);let[n,r]=Md[t.format];e._zod.onattach.push((o)=>{let i=o._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=(o)=>{let i=o.value;if(i<n)o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(i>r)o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckMaxSize",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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})}}),bm=g("$ZodCheckMinSize",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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})}}),vm=g("$ZodCheckSizeEquals",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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})}}),_m=g("$ZodCheckMaxLength",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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=Vo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Sm=g("$ZodCheckMinLength",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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=Vo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),xm=g("$ZodCheckLengthEquals",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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=Vo(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})}}),wr=g("$ZodCheckStringFormat",(e,t)=>{var n,r;if(Q.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),Cm=g("$ZodCheckRegex",(e,t)=>{wr.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})}}),Em=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=mm),wr.init(e,t)}),wm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=fm),wr.init(e,t)}),Rm=g("$ZodCheckIncludes",(e,t)=>{Q.init(e,t);let n=Xe(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Pm=g("$ZodCheckStartsWith",(e,t)=>{Q.init(e,t);let n=new RegExp(`^${Xe(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Am=g("$ZodCheckEndsWith",(e,t)=>{Q.init(e,t);let n=new RegExp(`.*${Xe(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 WS(e,t,n){if(e.issues.length)t.issues.push(...Ze(n,e.issues))}var km=g("$ZodCheckProperty",(e,t)=>{Q.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)=>WS(o,n,t.property));WS(r,n,t.property);return}}),Tm=g("$ZodCheckMimeType",(e,t)=>{Q.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Im=g("$ZodCheckOverwrite",(e,t)=>{Q.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(`
60
+ `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Ks(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(z(e)):e.provenance==="literal"}function Io(e){return e?z(e):""}function tz(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Xu(e,t){return Yu(nt(e,"posix"),t)}function pr(e){return Xu(e,new Set(Array.from(e.matchAll(u_)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Yu(e,t){if(e.status==="invalid"||e.status==="limited")return!1;let n=new Set(t);for(let r of e.nodes){if(r.kind==="group"){if(Yu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Yu(o,n))||p_(r.words,n))return!0;sz(r,n)}return!1}function p_(e,t){let n=e.findIndex((s)=>He(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(Oo(r,t))return!0;let o=V(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return l_(e[s],t)}if(de.has(o)){let s=e.slice(n),a=bt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&l_(s[c],t)}let i=nz(e,n,t);if(i===null)return!1;if(i===-1)return!0;return p_(e.slice(i),t)}function nz(e,t,n){let r=V(e[t]?.text??"");if(r==="command")return rz(e,t+1);if(r==="exec")return oz(e,t+1);if(r==="env")return iz(e,t+1,n);return null}function rz(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 oz(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 iz(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 Oo(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return Oo(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(He(i))continue;return r}return null}function sz(e,t){if(!e.words.every((n)=>He(n.text)!==null))return;for(let n of e.words){let r=He(n.text);if(!r)continue;if(Oo(n,t))t.add(r.name)}}function Oo(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(u_)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(VO.test(o)||t.has(o))}))}function l_(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||Oo(e,t))}var az=new Set(["--ca-bundle","--cli-binary-format","--cli-connect-timeout","--cli-error-format","--cli-read-timeout","--color","--endpoint-url","--output","--profile","--query","--region"]),cz=new Set(["--access-token-file","--account","--billing-project","--configuration","--flags-file","--flatten","--format","--impersonate-service-account","--project","--trace-token","--verbosity"]),lz=new Set(["-o","--output","--query","--subscription"]),uz=new Set;function g_(e){if(e==="aws")return az;if(e==="gcloud")return cz;if(e==="az")return lz;return uz}var dz=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),mz=new Set;function h_(e){if(e==="git")return Re;if(e==="docker")return dz;return mz}function ye(e,t){if(e.length===0||t.length===0)return null;let n=V(e[0]??""),r=Ae(e);for(let o of t){if(!gz(n,o.command))continue;if(o.match){if(fz(n,e,o.match))return y_(o);continue}if(!hz(n,e,o.subcommand))continue;if(bz(e,new Set(o.block_args),r))return y_(o)}return null}function y_(e){return{id:`custom.${e.name}`,reason:`[${e.name}] ${e.reason}`,intent:e.intent??"manual_only"}}function fz(e,t,n){let r=t.slice(1);if(n.exclude_args?.some((o)=>r.includes(o)))return!1;if(n.any_args&&!n.any_args.some((o)=>r.includes(o)))return!1;return pz(r,n.command_path,g_(e))}function pz(e,t,n){let r=0,o=!1;for(let i of e){if(r>=t.length)return!0;if(o){o=!1;continue}if(i.startsWith("-")){o=!i.includes("=")&&n.has(i);continue}if(i!==t[r])return!1;r++}return r>=t.length}function gz(e,t){return e===V(t)}function hz(e,t,n){if(!n)return!0;return b_(t,1,n,h_(e))}function b_(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("=")&&yz(e,i,n,r))return!0;continue}return s===n}return!1}function yz(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return b_(e,t+2,n,r)}function bz(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 Jt(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=V(r);if(o==="eval"){let i=fr(Z(e));if(i.kind==="dynamic")return gr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return _t(n,t)}if(de.has(o)){if(Ke(e))return null;let i=yt(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=gr(n,t);if(c)return c}if(pr(i)){let c=gr(n,t);if(c)return c}if(!t.analyzeNested)return null;let a=t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(a)return a;return null}let s=vt(Z(e));if(s.kind==="dynamic")return gr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return gr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return gr(n,t);return null}if(Fe.has(o))return O(Zs(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??ye(e,t.policy?.rules??[])??_t(n,t);if($e(o)){let i=os(e);if(!i)return _t(n,t);if(ue(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=O(_("interpreter.one-liner-paranoid",nr),t.policy);if(a)return a}if(as(o,i))return _t(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==jt||ar(i)))return s;if(rr(i,t.scanWork))return O(_("interpreter.dangerous-command",bn),t.policy)??_t(n,t);return _t(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(at(e)||n.dynamicRmInput);return O(mr(Z(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(t.envAssignments,t.environment),trustedTmpdirValue:$t(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?_t(n,t):null)??(i?vz(n,t):null)}if(o==="find")return Bs(Z(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>Jt(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??ye(e,t.policy?.rules??[])??_t(n,t);if(o==="git")return O(dr(Z(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??ye(e,t.policy?.rules??[])??_t(n,t);return ye(e,t.policy?.rules??[])??_t(n,t)}function gr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function _t(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function vz(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var Qu="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",ed="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",_z="__CC_SAFETY_NET_XARGS_INPUT__",Ys="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",Js="rm",Sz=/(?:^|[;&|]\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,xz=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,Cz=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,Ez=/^(?:[0-9]+|[@*])$/;function S_(e,t){let n=e.map(z),{childStart:r,replacementToken:o}=Pn(n),i=n.slice(r),s=_("xargs.shell-dynamic",ed);if(Rz(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of st(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=w_(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&C_(c,o),m=Jt(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||x_(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:_("xargs.rm-recursive-force-dynamic",Qu)});if(m)return m;let f=wz(c,o,t.policy?.rules??[]);if(f)return f;if(a.head==="git"){let h=o===null?[...c,_z]:c,y=o!==null&&(c.some((E)=>E.includes(o))||Array.from(a.envAssignments.values()).some((E)=>E.includes(o))),v=Jt(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||y?!1:t.worktreeMode});if(v)return v}let p=ye(c,t.policy?.rules??[]);if(p)return p}return null}function wz(e,t,n){if(n.length===0)return null;if(t===null){for(let o of n){let i=ye([...e,...o.subcommand?[o.subcommand]:[],...o.block_args],n);if(i)return i}return null}let r=new Set(n.flatMap((o)=>[o.subcommand,...o.block_args].flatMap((i)=>i?e.flatMap((s)=>td(s,t,i)):[])));for(let o of r){let i=ye(e.map((s)=>s.replaceAll(t,o)),n);if(i)return i}return null}function td(e,t,n){let r=e.indexOf(t);if(r===-1||e.indexOf(t,r+t.length)!==-1)return[];let o=e.slice(0,r),i=e.slice(r+t.length);return n.startsWith(o)&&n.endsWith(i)?[n.slice(o.length,n.length-i.length)]:[]}function x_(e,t,n,r,o,i,s){if(de.has(t)){if(Ke(e))return!1;if(n!==null&&Pz(e,n))return!0;let a=yt(e);if(!a){let c=vt(Z(e));if(c.kind==="literal")return n!==null&&c.source.includes(n);return c.kind==="none"&&o}if(n!==null&&a.includes(n))return!0;if(Mt(a,i))return!0;return Az(a,n,r)}if($e(t))return v_(e,n,ss,rb(t));if(Fe.has(t))return v_(e,n,Nu,zv);if(t==="eval"){let a=fr(Z(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return kz(e,n,i,s);if(t==="git"){let a=ct(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&ur.has(a.subcommand.toLowerCase())&&E_(a.rest,n).some((c)=>c.includes(n))}return!1}function v_(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,Ys]).sources.some((c)=>c.value===Ys);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}${Ys}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${Ys}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>td(l,t,c))));return Array.from(a).some((c)=>n(e.map((l)=>l.replaceAll(t,c))).sources.some((l)=>!i.has(`${l.tokenIndex}\x00${l.kind}\x00${l.value}`)))}function Rz(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(st(e,n),(i)=>i.head)),o=t===null?[...e,Js]:e.map((i,s)=>s===0?i:i.replaceAll(t,Js));return Array.from(st(o,n)).some((i)=>i.head===Js&&!r.has(Js))}function C_(e,t){return E_(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function E_(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function w_(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 Pz(e,t){let n=bt(e);if(n.commandIndex!==null&&(e[n.commandIndex]??"").includes(t)||n.scriptIndex!==null&&(e[n.scriptIndex]??"").includes(t))return!0;return["-c","-nc","-cn",`--${t}`,t].some((o)=>e.some((i,s)=>{if(s===0||!i.includes(t))return!1;return td(i,t,o).some((c)=>{let l=e.map((d,m)=>m===s?d.replaceAll(t,c):d),u=bt(l);if(u.commandIndex===null&&u.scriptIndex===null)return!1;if(n.commandIndex===null&&u.commandIndex!==null)return!0;if(n.scriptIndex===null&&u.scriptIndex!==null)return!0;if(u.commandIndex!==null&&(l[u.commandIndex]??"").includes(c))return!0;return u.scriptIndex!==null&&(l[u.scriptIndex]??"").includes(c)})}))}function Az(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(Sz))if(__(o,r))return!0;for(let o of e.matchAll(xz))for(let i of(o[1]??"").matchAll(Cz))if(__(i,r))return!0;return Xu(e,r)}function __(e,t){let n=e[1]??e[2];return n!==void 0&&(Ez.test(n)||t.has(n))}function kz(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(Wt(a)){let l=Ao(e,s);s=l.nextIndex-1;for(let u of st(l.tokens,{environment:r,cwd:void 0})){let d=w_(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&C_(u.tokens,t)||x_(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=qt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function Pn(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 No="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",Do="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",Iz="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",Oz="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",zz=/\{[^{}\s]*\}/,z_=/\{\}|\{-?\d+\}/g,Nz=["e","f","source","file","-e","-f","--source","--file"],Dz=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],Mz=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),$z=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),R_=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),Lz=new Set(["--workdir","--wd"]),P_="__CC_SAFETY_NET_PARALLEL_SOURCE__",Wz=new TextEncoder,rd=H.maxDerivedBytes+4*H.maxPlaceholderReplacements;function Te(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function N_(e,t){return Te([...e],(n)=>Mt(n,t.scanWork))}function D_(e,t){let n=e.map(z);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=kn(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=j_(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=kn(t);if(p)return p;let h=N_(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=Hz(t);if(p)return p}if(u!==void 0&&a){let p=kn(t);if(p)return p}let m=Jz(u,t.cwd,t.environment.paths);if(m===null){let p=kn(t);if(p)return p}let f=a?{...t,cwd:void 0,originalCwd:void 0}:m===null||m===void 0||m===t.cwd?t:{...t,cwd:m};if(d){if([...st(i,f)].flatMap((h)=>[...h.envAssignments.values()]).some(ad)){let h=kn(t);if(h)return h}return null}if(i.length===0){if(s.some((y)=>y.length!==1)){let y=kn(t);if(y)return y}let p=s.map((y)=>y[0]??"");Le(t.budget,od(p));let h=F_(f.envAssignments,f.cwd,a);return Te(p,(y)=>t.analyzeNested(y,h))}return Te(st(i,f),(p)=>Fz(p,o,t,f))}function Fz(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(Z_)){let v=kn(n);if(v)return v}let d=N_(u,n);if(d)return d;let m=u.some(te),f=i||m,p=a&&f,h=F_(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let v=()=>{if(!i||o.length===0)return null;return Le(n.budget,Xs(c,o,"generic")),Te(o,(C)=>Jt(c.map((P)=>Xt(P,C)),l))};if(Ke(c))return v();let E=yt(c);if(E){if(U_(E)){let k=An(n);if(k)return k;if(o.length===0)return null;return Le(n.budget,O_(E,o)),Te(o,(U)=>n.analyzeNested(Xt(E,U),h))}if(te(E)){if(o.length>0)return Le(n.budget,O_(E,o)),Te(o,(oe)=>n.analyzeNested(Xt(E,oe),h));Le(n.budget,T_(E));let k=ko(E);if(k?.[0]&&V(k[0])==="rm"&&at(k)){let oe=k_(n);if(oe)return oe}let U=k?Jt(k,l,{dynamicInput:a,shellDynamicMatch:_("parallel.shell-dynamic",Do),rmDynamicMatch:_("parallel.rm-recursive-force-dynamic",No)}):null;if(U)return U;return n.analyzeNested(E,h)}let C=!m&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((k)=>qs(Z(k===void 0?c:i?c.map((U)=>Xt(U,k)):[...c,...k]),E)):[];if(C.some((k)=>k.kind==="dynamic")){let k=An(n);if(k)return k}let P=C.flatMap((k)=>k.kind==="literal"?[k.source]:[]);if(P.length>0)return Le(n.budget,od(P)),Te(P,(k)=>n.analyzeNested(k,h));if(Le(n.budget,T_(E)),pr(E)){let k=An(n);if(k)return k}let L=n.analyzeNested(E,h);if(L)return L;if(f)return An(n);return null}let A=vt(Z(c));if(A.kind==="dynamic"||A.kind==="literal"&&te(A.source))return An(n)??v();if(A.kind==="literal")return v();if(o.length>0){let C=An(n);if(C)return C;let P=v();if(P)return P;if(i)return null;let L=o.flatMap((k)=>k[0]===void 0?[]:[k[0]]);return Le(n.budget,od(L)),Te(L,(k)=>n.analyzeNested(k,h))}if(f||a)return An(n)??v();return null}if(e.head==="rm"&&at(c)){if(i&&o.length>0)return Le(n.budget,Xs(c,o,"rm")),Te(o,(E)=>nd(c.map((A)=>id(A,E)),e.cwd,r));if(o.length>0)return Le(n.budget,I_(c,o)),Te(o,(E)=>nd([...c,...E],e.cwd,r));let v=nd(c.flatMap((E,A)=>{if(A===0||!te(E))return[E];return E.startsWith("-")?[id(E,[""])]:[]}),e.cwd,r);if(v)return v;return k_(n)}Le(n.budget,i&&o.length>0?Xs(c,o,"generic"):o.length>0?I_(c,o):W_(c));let y=o.length>0?o:[void 0];return Te(y,(v)=>{let E=v===void 0?c:i?c.map((ie)=>Xt(ie,v)):[...c,...v],A=_("parallel.shell-dynamic",Do),C=a&&e.head==="find"?Vz(E,r):null,P=$_(E,a,n.policy?.rules??[],n.budget)??C?.customResult??null,L=V(e.head),k=a&&(L==="rm"&&sd(E)||L==="xargs"&&L_(E)||C?.rmOptions===!0),U=a&&(k||C?.executedSource===!0||C===null&&M_(E,L)),oe=Jt(E,{...l,worktreeMode:s||a||f?!1:n.worktreeMode},{dynamicInput:a||f,dynamicRmInput:k,dynamicSourceInput:P!==null||U,shellDynamicMatch:A,dynamicSourceMatch:A,rmDynamicMatch:_("parallel.rm-recursive-force-dynamic",No)});if(U){let ie=O(A,n.policy);if(ie)return ie}return oe??P??ye(E,n.policy?.rules??[])})}function M_(e,t){if(te(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return Uz(e);if(t==="git")return Gz(e);if(t==="find")return!0;if(Fe.has(t))return A_(e,Nz,Po);if($e(t))return A_(e,Dz,is);return!1}function sd(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(te))return t===-1;return n.some((o)=>te(o)&&(o.startsWith("-")||U_(o)))}function Gz(e){if(Zz(e))return!0;let t=ct(e);if(t.subcommand===null||te(t.subcommand))return!0;if(!ur.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(te))return n===-1;return r.some(te)}function Zz(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(te(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(te(n))return!0;continue}if(te(n))return!0}return!1}function Uz(e){if(Ke(e))return!1;let t=yt(e);if(t!==null)return te(t);let n=vt(Z(e));if(n.kind==="literal")return te(n.source);if(n.kind==="dynamic")return!0;return!e.some(te)}function A_(e,t,n){let r=n(e);if(r.some((i)=>te(i.value)))return!0;if(!e.some(te))return n([...e,P_]).some((i)=>i.value===P_);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>Xt(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function $_(e,t,n,r){if(!t||n.length===0)return null;let o=n.filter((s)=>V(s.command)===V(e[0]??""));if(o.length===0)return null;let i=e.some(te);if(Le(r,jz(e,o,i)),!i)return Te(o,(s)=>ye([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Te(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?Bz(e,c):[]));return Te(a,(c)=>ye(e.map((l)=>Xt(l,[c])),[s]))})}function jz(e,t,n){let r=n?Tn(Ye(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),H.maxChildAnalyses),2*Math.max(e.length,1),H.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:Tn(r,e.length,H.maxDerivedTokens)}}function Bz(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 Vz(e,t){let n={customResult:null,executedSource:!e.some(te),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(te))return;for(let a of st(i,t))n.executedSource||=M_(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&sd(a.tokens)||a.head==="xargs"&&L_(a.tokens),n.customResult??=$_(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=te(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Wt(a)){i=[],n.executedSource||=te(a);continue}let c=qt(a);if(c>0){o=c,n.executedSource||=te(a);continue}n.executedSource||=te(a)}return s(),n}function L_(e){let t=e.slice(Pn(e).childStart);return V(t[0]??"")==="rm"&&sd(t)}function Qs(e,t){return(n)=>O(_(e,t),n.policy)}var An=Qs("parallel.shell-dynamic",Do),Hz=Qs("parallel.command-stream-dynamic",Iz),kn=Qs("parallel.command-stream-dynamic",Oz),k_=Qs("parallel.rm-recursive-force-dynamic",No);function nd(e,t,n){return O(mr(Z(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(n.envAssignments??new Map,n.environment),trustedTmpdirValue:$t(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function od(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:Mo(e)}}function T_(e){return W_([e])}function W_(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:Mo(e)}}function I_(e,t){if(t.length>H.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:Ye(t.map((n)=>e.length+n.length),H.maxDerivedTokens),derivedBytes:Ye([Tn(Mo(e),t.length,H.maxDerivedBytes),Ye(t.map((n)=>Mo(n)),H.maxDerivedBytes)],H.maxDerivedBytes)}}function O_(e,t){return Xs([e],t,"generic")}function Xs(e,t,n){if(t.length>H.maxChildAnalyses)return{childAnalyses:t.length};let r=Tn(e.length,t.length,H.maxDerivedTokens);if(r>H.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=Yz(e.map((c)=>Kz(c,n))),i=Tn(o.occurrences,t.length,H.maxPlaceholderReplacements);if(i>H.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(qz(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:H.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?Xt:id,a=Ye(t.map((c)=>Mo(e.map((l)=>s(l,c)))),H.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function qz(e,t,n){let r=H.maxDerivedBytes+4*n;return Ye([Tn(e.fixedBytes,t.length,r),Tn(e.occurrences,Ye(t.map((o)=>o.reduce((i,s)=>Math.max(i,zo(s)),0)),r),r)],r)>r}function Kz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(z_),r=0,o=0,i=0;for(let s of n){if(r>=H.maxPlaceholderReplacements)return{occurrences:H.maxPlaceholderReplacements+1,fixedBytes:0};o=Ye([o,zo(e.slice(i,s.index))],rd),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?zo(e):Ye([o,zo(e.slice(i))],rd)}}function Yz(e){return{occurrences:Ye(e.map((t)=>t.occurrences),H.maxPlaceholderReplacements),fixedBytes:Ye(e.map((t)=>t.fixedBytes),rd)}}function Mo(e,t=H.maxDerivedBytes){return Ye(e.map(zo),t)}function zo(e){return Wz.encode(e).byteLength}function Ye(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 Tn(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 F_(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 Xt(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>G_(n,t))}function id(e,t){return e.replace(z_,(n)=>G_(n,t))}function G_(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 te(e){return zz.test(e)}function Z_(e){if(ad(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function ad(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function U_(e){return/^\{[^{}\s]*\}$/.test(e)}function j_(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 A=$u(e,t+1);n.push(...A.templateTokens),r=t+1,o=A.markerIndex;break}if(!p.startsWith("-")){let A=$u(e,t);n.push(...A.templateTokens),r=t,o=A.markerIndex;break}let h=e[t+1],y=p.indexOf("="),v=y===-1?p:p.slice(0,y),E=y===-1?void 0:p.slice(y+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(v==="--replace"||p.startsWith("-i")&&p.length>2){let A=v==="--replace"?E:p.slice(2);l||=A!==""&&A!=="{}",t++;continue}if(p==="-a"||$z.has(v)){l=!0,t+=E===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(v==="--env"){l=!0,t+=E===void 0?2:1;continue}if(R_.has(v)||p.startsWith("-S")&&p.length>2){i=!0,t+=R_.has(p)?2:1;continue}if(Lz.has(v)){let A=E??h;if(A===void 0||A===":::"||A==="--"){l=!0,t++;continue}c=A,l||=E!==void 0&&A==="",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(Mz.has(p)){if(h===void 0||h===":::"||h==="--"){l=!0,t++;continue}t+=2;continue}t+=p==="-j"||p==="--jobs"?2:1}l||=n.some(a?ad:Z_);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let y=e[h];if(y===":::"){u.push(p),p=[];continue}if(y!==void 0)p.push(y)}u.push(p)}let d=Xz(u),m=n.some(te),f=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:m,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:f,unsupported:l,workdir:c,dryRun:a}}function Jz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!Tz(e))return null;try{return Ut(t??e,e,n)}catch{return null}}function Xz(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>H.maxChildAnalyses)return r;t=r}return t}function B_(e){return j_(e).childStart}var Qz="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",ea="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function ld(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function cd(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function H_(e,t,n,r,o=!1,i){let a=(go(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?_("shell.dynamic-executable",Qz):null;return O(a,i)??q_(e,t,n,o,i)}function q_(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>ld(a)?[c]:[]);if(i.length===0)return null;let s=V(t[0]?.text??"");if(s==="git"){let a=Jn(e,t),c=tN(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(_("shell.dynamic-structure",ea),o);if(O(dr(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,m)=>m>c&&z(d)==="--");if(ue(o,"shell.dynamic-structure",r)&&l&&ur.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return O(_("shell.dynamic-structure",ea),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&nN(t)?O(_("shell.dynamic-structure",ea),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&z(l)==="--"),c=at(t.map(z));return ue(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?O(_("shell.dynamic-structure",ea),o):null}if(s==="xargs")return V_(e,t.slice(Pn(t.map(z)).childStart),"xargs",n,r,o);if(s==="parallel")return V_(e,t.slice(B_(t.map(z))),"parallel",n,r,o);return null}function V_(e,t,n,r,o,i){if(t.length===0)return null;let s=eN(t,r);if(go(e,s)){let c=O(_(`${n}.shell-dynamic`,n==="xargs"?ed:Do),i);if(c)return c}let a=q_(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>ld(c)&&cd(c)))return O(_(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Qu:No),i);return null}function eN(e,t){let n=vn(e,t),r=n.rewritten?Z(n.words.map(z)):n.words,o=r[0];return o&&z(o)==="busybox"?r.slice(1):r}function tN(e){let t=1;while(t<e.length){let n=e[t],r=n?z(n):"";if(Re.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function nN(e){let t=!1,n=0,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(!s)continue;let a=ld(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||cd(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||cd(s)))return!0;continue}if(t=!0,a)return!0;let c=qt(s.text);if(c>0){n=c;continue}if(Wt(s.text))o=!0,r=!0}return!1}function ud(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Ui(t[n.tokenIndex],n.value)})}var rN="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",oN="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",iN="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function K_(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return _("dd.device-write",rN);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return _("mkfs.device",oN);if(e==="shred"&&n.length>0)return _("shred.target",iN);return null}var J_=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>mr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>dr(e.words,dd(e))},{heads:new Set(["find"]),analyze:(e)=>Bs(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:$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)=>In(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>S_(e.words,{...Y_(e),analyzeNested:(t,n)=>In(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>D_(e.words,{...Y_(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>In(e.options.analyzeNested(t,n))})}];function Y_(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 In(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function dd(e){return{env:e.options.environment.env,cwd:e.cwd,dynamicArguments:e.dynamicArguments,envAssignments:e.envAssignments,policy:e.options.policy,worktreeMode:e.options.worktreeMode}}var tS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function nS(e){return J_.find((t)=>t.heads.has(e))?.analyze}function $o(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(S)=>S.map((w)=>o==="posix"?z(w):w.text),s=n.effectiveCwd===null,a=s?void 0:n.effectiveCwd??n.cwd,c=s?void 0:n.cwd,l=fs(e);if(l.envAssignments.size>0)r?.recordSegment({type:"env-strip",input:i(e),envVars:[...l.envAssignments.keys()],output:i(l.words)});let u=vn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let S=[...d,...i(u.words)].join(" "),w=Mt(S,n.scanWork);if(w)return r?.recordSegment({type:"dangerous-text",token:S,matched:!0,reason:w.reason}),St(w);if(n.strict)return Ge(r);let I=ps(d,i(u.words));if(I){Qe(n.derivedCommandWorkBudget,I.length);let G=n.analyzeNested(I.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(G)return G}}let m=u.rewritten?Z(i(u.words)):Jn(o,u.words),f=i(m),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>m.length){let S=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:S,removed:S.slice(0,S.length-m.length),output:f})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),y=f[0];if(!y)return null;if(En(y))throw new Me;let v=V(y),E=u.cwd===null?void 0:u.cwd??a,A=u.cwd===null?void 0:c,C=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!uo(h,n.environment),L=H_(o,u.words,n.environment,t===0,n.strict,n.policy);if(L)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:L.reason}),St(L);let k=Us(f,n.policy);if(k){for(let S of[k.childIndex,...k.alternativeChildIndices]){X_(p.wrapperNormalizationBudget);let w=m.slice(S);r?.recordSegment({type:"transparent-wrapper",wrapper:k.wrapper,output:i(w)});let I=$o(w,t,{...p,effectiveCwd:C,envAssignments:h});if(I)return I}return null}let U=v==="eval"?fr(m):v==="trap"?m_(m):void 0;if(U?.kind==="dynamic"&&(n.strict||!n.commandView||!Ju(n.commandView)))return Ge(r);if(U?.kind==="literal"){r?.recordSegment({type:"recurse",reason:v==="eval"?"shell-eval":"shell-trap",innerCommand:U.source,depth:t+1});let S=n.analyzeNested(U.source,{effectiveCwd:C,envAssignments:h,functionDefinitions:n.functionDefinitions});if(S)return S}if(oS(y,v)){if(Ke(f))return null;let S=sN(f,h,C,n,r,t);if(S)return S;let w=yt(f);if(w){let Bn=qs(m,w);if(Bn.kind==="dynamic")return Ge(r);let El=Bn.kind==="literal"?Bn.source:w,Nh=aN(El);r?.recordSegment({type:"shell-wrapper",wrapper:v,innerCommand:Nh}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Nh,depth:t+1});let Dh=n.analyzeNested(El,{effectiveCwd:C,envAssignments:h});if(Dh)return Dh;return pr(El)?Ge(r):null}let I=vt(m);if(I.kind==="dynamic")return Ge(r);if(I.kind==="literal")return ra(I.source,C,h,n,r,t);let G=f_(m,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(G.kind==="dynamic")return Ge(r);if(G.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:G.source,depth:t+1}),n.analyzeNested(G.source,{effectiveCwd:C,envAssignments:h})}if(v==="source"||v==="."){let S=f[1]==="-p"?2:null;if(S!==null){let Bn=n.commandView?m[S]:void 0;if(!Bn)return null;if(Bn.provenance!=="literal")return Ge(r)}let w=S===null?1:3,I=f[w]==="--"?w+1:w,G=n.commandView?m[I]:void 0;if(!G)return null;if(G.provenance==="literal")return ra(G.text,C,h,n,r,t);if(n.strict||!n.commandView||!Ju(n.commandView))return Ge(r)}if(Fe.has(v)){if(n.strict&&ud(Po(f),m))return Ge(r);let S=Zs(f,(I)=>In(n.analyzeNested(I,{effectiveCwd:C,envAssignments:h}))),w=O(S,n.policy);if(w)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:w.reason}),St(w)}if($e(v)){if(n.strict&&ud(is(f),m))return Ge(r);let S=os(f);if(S){let w=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:v,codeArg:S,paranoidBlocked:w}),w){let G=O(_("interpreter.one-liner-paranoid",nr),n.policy);if(G)return St(G)}if(as(v,S))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:S,depth:t+1});let I=n.analyzeNested(S,{effectiveCwd:C,envAssignments:h});if(I&&I.ruleId!=="raw-text.dangerous-command"&&(I.reason!==jt||ar(S)))return I;if(rr(S,n.scanWork)){let G=O(_("interpreter.dangerous-command",bn),n.policy);if(G)return r?.recordSegment({type:"dangerous-text",token:S,matched:!0,reason:bn}),St(G)}r=void 0}}if(v==="busybox"&&f.length>1)return X_(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:f[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:f.slice(1).join(" "),depth:t+1}),$o(m.slice(1),t,{...p,effectiveCwd:C,envAssignments:h});let oe=O(K_(v,f),n.policy);if(oe)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:oe.reason}),St(oe);let ie=r===p.trace?p:{...p,trace:r},Y={words:m,head:v,cwd:E,originalCwd:A,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((S)=>S.provenance==="command-substitution"),depth:t,effectiveCwd:C,options:ie,analyzeChildTokens:(S,w)=>In($o(Z(S),t+1,{...ie,commandView:void 0,effectiveCwd:w,envAssignments:h}))??ye(S,ie.policy.rules)},j=nS(v);if(v==="rm"||v==="xargs"||v==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let R=r&&v==="git"?t_(Y.words,dd(Y)):void 0,T=Q_(R?R.match:j?.(Y)??null,n.policy);if(r)cN(Y,T,R?.relaxation??null);if(T)return St(T);let B=j!==void 0;if(!B)if(!ns.has(v)){let S=r?[]:void 0;for(let w=1;w<f.length;w++){let I=f[w];if(!I)continue;S?.push(I);let G=Q_(lN(Y,f,w),n.policy);if(G)return r?.recordSegment({type:"fallback-scan",tokensScanned:S??[],embeddedCommandFound:V(I)}),St(G)}r?.recordSegment({type:"fallback-scan",tokensScanned:S??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!B){let S=ye(f,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!S,reason:S?.reason}),S)return St(S)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function sN(e,t,n,r,o,i){let s=a_(e);if(s.argvSource?.kind==="absent")return Ge(o);if(s.argvSourceApplies&&s.argvSource){let c=ra(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 ra(a,n,t,r,o,i,!0)}function ra(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Ge(o);let a=lo(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Ge(o):null;return Qe(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function aN(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function cN(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 X_(e){if(e.iterations>=er)throw new Me;e.iterations++}function St(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Ge(e){return e?.recordSegment({type:"error",message:tS}),St(rS())}function rS(){return{id:"",reason:tS,intent:"stop_and_explain"}}function oS(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(W(t))}function lN(e,t,n){let r=st(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=uN(e,n,o);if(i)return i}return null}function uN(e,t,n){let r=n.tokens[0];if(!r)return null;let o=V(r);if(oS(r,o)){Qe(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ke(c))return null;let l=yt(c);if(!l){if(vt(Z(c)).kind==="dynamic")return rS();return na(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?In(u):na(e,n)}let i=nS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Qe(e.options.derivedCommandWorkBudget,e.words.length-t);return na(e,n)}Qe(e.options.derivedCommandWorkBudget,e.words.length-t);let s=[o,...n.tokens.slice(1)],a={...e,words:Z(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!uo(n.envAssignments,e.options.environment),effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,options:o==="git"?{...e.options,worktreeMode:!1}:e.options};return i(a)??na(e,n)}function na(e,t){return t.wrappedByTransparent?ye(t.tokens,e.options.policy.rules):null}function Q_(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var dN=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,mN=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function fN(e,t){let n=aS(e,t);if(n.length===0)return!1;let r=n[sS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return dN.test(e.join(" "))}function iS(e,t,n,r){if(e.dialect==="powershell"){let a=pN(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return eS(bN(a.target),t,n.paths)}let o=e.words.map(z);if(!fN(o,n))return;if(!t)return null;let i=aS(o,n,t),s=sS(i);if(s===-1||i[s]!=="cd")return null;return eS(i[s+1],t,n.paths)}function eS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return vN(Ut(t,e,n),t,n)?t:null}catch{return null}}function pN(e,t){let n=gN(e[0])?1:0,r=e[n];if(!hN(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!mN.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return yN(e.slice(n+1),t)}function gN(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function hN(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function yN(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 bN(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function sS(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 aS(e,t,n){let r=_N(e);return Bt([...r],t,n)}function vN(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return ta(e)===ta(t);return ta(r)===ta(o)}function _N(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var fd="TMPDIR",pd="IFS",cS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,lS=/^[A-Za-z_][A-Za-z0-9_]*$/,uS=new Set(["export","typeset","declare","readonly"]),SN=new Set(["builtin","command","time"]);function dS(e,t){return{env:e,effectiveEnvAssignments:RN(e,t),shellAssignments:new Map}}function mS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function gd(e,t){let n=pS(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),hd(t,s)});let r=n.commandIndex;if(r!==-1&&uS.has(e[r]??""))e.filter((s)=>lS.test(s)&&md(s)).forEach((s)=>{PN(t,s)});let o=r===-1?-1:gS(e,r);if(o===-1||e[o]!=="unset")return;let i=kN(e,o);if(i===null)return;e.slice(i).forEach((s)=>{AN(t,s)})}function fS(e,t){let n=pS(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 pS(e,t){let n=e.findIndex((s)=>!xN(s)),r=n!==-1&&uS.has(e[gS(e,n)]??""),o=wN(t);return{assignments:e.flatMap((s,a)=>{let c=CN(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Ul(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function gS(e,t){let n=t;while(SN.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function xN(e){return He(e)!==null||cS.test(e)}function CN(e,t,n){return He(e)??EN(e,t,n)}function EN(e,t,n){let r=Vi(e,n,t);if(r)return r;let o=e.match(cS)?.[1];if(!o)return null;let i=e.indexOf("=");return{name:o,value:`${t.has(o)?t.get(o):n.get(o)??""}${e.slice(i+1)}`}}function md(e){return e===fd||e===pd||jl(e)}function wN(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function RN(e,t){let n=[...ji,fd,pd].map((r)=>{let o=e.get(r);return o===void 0?null:[r,o]}).filter((r)=>r!==null);if(n.length===0)return t;return new Map([...n,...t??[]])}function hd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function PN(e,t){hd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function AN(e,t){if(!md(t)&&!lS.test(t))return;if(e.shellAssignments.set(t,""),!md(t)||t===fd||t===pd||to(t)){hd(e,{name:t,value:""});return}if(!e.effectiveEnvAssignments?.has(t))return;let n=new Map(e.effectiveEnvAssignments);n.delete(t),e.effectiveEnvAssignments=n.size===0?void 0:n}function kN(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 TN="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",On="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.",IN=64;function Sd(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return ON(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??es(),parallelBudget:n.parallelBudget??ib()},r)}catch(s){let a=s instanceof Me&&o?Yy:s instanceof us&&i?ob: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 ON(e,t,n,r){if(t>=ts)return n.trace?.recordSegment({type:"error",message:Ot}),{reason:Ot,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??nt(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:Ot}),{reason:Ot,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 _d(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 SS(e,n),{reason:jt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return SS(e,n),{reason:jt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return _d(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=dS(n.environment.env,n.envAssignments);return sa(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function sa(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,m=zN(e,c,l,a,d),f=a==="&&"||a==="||",p=f?s:void 0,h=a==="&&"?p?.success??i:a==="||"?p?.failure??i:i,y=a==="||"?p?.success??[]:[],v=a==="&&"?p?.failure??[]:[],E=f||hr(d);if(l.kind==="function"){let oe=h.flatMap((Y)=>{let j=Lo(Y);return j.functionDefinitions.set(l.name,l.body),yd(Y,[j],m,d==="&",hr(d))}),ie=bd(oe,[],y,v,a,d);i=ie.states,s=ie.conditionalStates,a=void 0;continue}if(l.kind==="group"){let oe=[],ie=[];for(let j of h){let R=sa(l.body,t,n,r,[Lo(j)]);if(R.result)return R;if(oe.push(...yd(j,R.states,m,d==="&",hr(d))),E)ie.push(j,...m?R.states.map((T)=>oa(j,T)):R.states)}let Y=bd(oe,ie,y,v,a,d);i=Y.states,s=Y.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let A=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),C=e.nodes[c-2],P=aa(a)&&C?.kind==="command"?d_(C)??DN(C):void 0,L=[],k=[];for(let oe of h){let ie=MN(l,t,n,r,[Lo(oe)]);if(ie.result)return{result:ie.result,states:i};let Y=e.dialect==="powershell"?ie.states:ie.states.map((j)=>oa(oe,j));for(let j of Y){let R=Lo(j),T=WN(l,t,n.trace?{...n,trace:xS(n.trace,A)}:n,r,R,aa(a),P);if(T)return{result:T,states:i};let B=XN(l,R.functionDefinitions);if(B)Qe(n.derivedCommandWorkBudget,ca(B));let S=B?t+1>=ts?vd(l.displayText,n,[R]):sa(B,t+1,n,r,[R]):{result:null,states:[R]};if(S.result)return S;if(L.push(...yd(oe,S.states,m,d==="&",hr(d))),E)k.push(oe),k.push(...S.states.map((w)=>m?oa(oe,w):w))}}let U=bd(L,k,y,v,a,d);i=U.states,s=U.conditionalStates,a=void 0}return{result:null,states:i}}function zN(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(aa(r)||aa(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&NN(e,t)}function yd(e,t,n,r,o){let i=n?t.map((a)=>oa(e,a)):[...t],s=o?i.flatMap((a)=>Wo(e.literalHeredocFiles,a.literalHeredocFiles)?[a]:[{...a,literalHeredocFiles:new Map(e.literalHeredocFiles)},a]):i;return r?[e,...s]:s}function oa(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function NN(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($N(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function aa(e){return e==="|"||e==="|&"}function DN(e){if(e?.dialect!=="powershell")return;if(e.words.length===1&&e.words[0]?.quoted&&e.words[0].provenance==="literal")return e.words[0].text;if(e.words[0]?.text.toLowerCase()==="write-output"&&e.words.length===2&&e.words[1]?.provenance==="literal")return e.words[1].text;return}function hr(e){return e==="&&"||e==="||"}function bd(e,t,n,r,o,i){let s={success:ia([...n,...e]),failure:ia([...r,...t])},a=hr(i)?s:void 0;return{states:hr(o)||a?ia([...s.success,...s.failure]):s.success,conditionalStates:a}}function xS(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 MN(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=LN(e);if(s){if(t+1>=ts)return vd(s,n,o);let a=nt(s,"powershell");if(a.status==="limited")return vd(s,n,o);if(a.status!=="complete")return hS(i,n,r,o);Qe(n.derivedCommandWorkBudget,ca(a)),i.push({program:a,depth:t+1})}}return hS(i,n,r,o)}function $N(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function hS(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=sa(i.program,i.depth,t,n,[Lo(a)]);if(c.result)return c;s.push(...c.states)}o=ia(s)}return{result:null,states:o}}function LN(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 ca(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+ca(o),0):n.kind==="group"||n.kind==="function"?ca(n.body):0),0)}function vd(e,t,n){return t.trace?.recordSegment({type:"error",message:Ot}),{result:{reason:Ot,segment:e,intent:"stop_and_explain"},states:[...n]}}function WN(e,t,n,r,o,i,s){let a=VN(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};CS(e,o,"before-consumer",n.environment.paths);let c=Jn(e.dialect,e.words).map(z),l=e.displayText,u=fS(c,o.shellGitContextState);if(e.dialect==="powershell"){let f=O(Iv(e,i,eD(n,o.effectiveCwd)),n.policy);if(n.trace?.recordSegment({type:"rule-check",rule:"analyzer/powershell/remove-item.ts:analyzePowerShellCommandViewMatch",matched:!!f,reason:f?.reason}),f)return QN(l,f)}if(c.length===1&&c[0]?.includes(" ")&&!go(e.dialect,e.words)){let f=O(Mt(c[0],n.scanWork),n.policy),p=f!==null&&!n.strict&&Hy(e,n.rootProgram,n.scanWork);if(f&&!p)return n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!0,reason:f.reason}),{reason:f.reason,segment:l,ruleId:f.id,intent:f.intent};n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!1});let h=yS(e,a,o,u,s,n);if(h)return h;return gd(c,o.shellGitContextState),null}let d=$o(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(f,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,y=Sd(f,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?xS(n.trace,n.trace.currentSegmentIndex,!0):void 0});return y?{reason:y.reason,ruleId:y.ruleId,intent:y.intent}:null}});if(d)return{...d,segment:l};let m=yS(e,a,o,u,s,n);if(m)return m;return gd(c,o.shellGitContextState),null}function yS(e,t,n,r,o,i){let s=HN(e,t,n,r??new Map,i);if(s)return s;return CS(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),ZN(e,t,n,i.environment.paths),YN(e,n,o,i.environment,i.trace),null}var FN=new Set([">>","<>"]);function CS(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?GN(i):FN.has(i.operator)))continue;bS(i.target,t,r)}if(n!=="before-consumer"||!Ze(e.words[0],"tee"))return;let o=ES(e.words.slice(1));if(!o)return;for(let i of o.operands)bS(i,t,r)}function GN(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 bS(e,t,n){let r=e?.provenance==="literal"?lo(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function ZN(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o||!la(o))return;for(let i of UN(e)){let s=lo(i.text,n.effectiveCwd,r);if(!s||!Qy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Xy)throw new Me;n.literalHeredocFiles.set(s,o.body)}}function UN(e){let t=BN(e.redirections)?.target,n=vS(t)?[t]:[];if(Ze(e.words[0],"cat"))return jN(e.words)?n:[];if(!Ze(e.words[0],"tee"))return[];let r=ES(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(vS))return[];return[...r.operands,...n]}function jN(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 BN(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function ES(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&Ze(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 vS(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 Ze(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function la(e){return e.quotedDelimiter||!/[$`\\]/.test(e.body)}function VN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return On;let n=t[0];if(!n?.heredoc)return On;if(!la(n.heredoc))return TN;if(n.fd!==void 0&&n.fd!==0)return On;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return On;let r=e.redirections.some((s)=>s!==n&&_S(s.target));if(Ze(e.words[0],"cat"))return r?On:void 0;if(Ze(e.words[0],"tee"))return r||e.words.slice(1).some(_S)?On:void 0;let o=e.words[0],i=e.words[1];if(Ze(o,"git")&&(Ze(i,"apply")||Ze(i,"commit")))return;if(Ze(o,"gh")&&(Ze(i,"pr")||Ze(i,"issue"))&&Ze(e.words[2],"create"))return;return On}function _S(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function HN(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(KN(e,i,n,r,o))return null;let a=qN(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=_d(s.length===i.length?s.join(`
61
+ `):e.source,o);return c?{...c,segment:e.displayText}:null}function qN(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc||!la(r.heredoc)||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!$e(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(_("interpreter.one-liner-paranoid",nr),n.policy);if(l)return l}if(!rr(s,n.scanWork))return null;let c=O(_("interpreter.dangerous-command",bn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function KN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc||!la(i.heredoc)||i.fd!==void 0&&i.fd!==0)return!1;let s=vn(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(z),c=V(a[0]??"");if((s.envSplitValues?.length??0)>0||!de.has(c)&&!de.has(W(c)))return!1;return Ke(a)}function YN(e,t,n,r,o){let i=iS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(z).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function Lo(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:mS(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function ia(e){let t=[];for(let n of e){if(!t.some((r)=>JN(r,n)))t.push(n);if(t.length>IN)throw new Me}return t}function JN(e,t){return e.effectiveCwd===t.effectiveCwd&&Wo(e.literalHeredocFiles,t.literalHeredocFiles)&&Wo(e.functionDefinitions,t.functionDefinitions)&&Wo(e.shellGitContextState.effectiveEnvAssignments,t.shellGitContextState.effectiveEnvAssignments)&&Wo(e.shellGitContextState.shellAssignments,t.shellGitContextState.shellAssignments)}function Wo(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 XN(e,t){let n=As(e);return n===void 0?void 0:t.get(n)}function QN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function eD(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 _d(e,t){let n=O(Mt(e,t.scanWork),t.policy),r=t.trace?.currentSegmentIndex??t.trace?.allocateSegment(),o={type:"dangerous-text",token:e,matched:!!n,reason:n?.reason};if(t.trace?.recordSegment(o,r),!n&&/^(?:cd|pushd)\s/.test(e))t.trace?.recordSegment({type:"cwd-change",segment:e,effectiveCwdNowUnknown:!0},r);return n?{reason:n.reason,segment:e,ruleId:n.id,intent:n.intent}:null}function SS(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:jt};if(t.trace?.currentSegmentIndex===void 0)t.trace?.recordGlobal(n);else t.trace.recordSegment(n)}var Fo=["fail_closed","paranoid_rm","paranoid_interpreters"],ua={standard:{fail_closed:!1,paranoid_rm:!1,paranoid_interpreters:!1},strict:{fail_closed:!0,paranoid_rm:!1,paranoid_interpreters:!1},paranoid:{fail_closed:!0,paranoid_rm:!0,paranoid_interpreters:!0}};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 tD(e,t){if(!t)return e;return da.indexOf(t)>da.indexOf(e)?t:e}function nD(){let e=Rd(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 rD(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function Cd(){return rD(Rd(me.auditScope))==="all"}function Ed(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 wd(e={}){let t=e.safety?.level??"standard",n=nD(),r=tD(t,n),o=ua[r],i={failClosed:o.fail_closed,paranoidRm:o.paranoid_rm,paranoidInterpreters:o.paranoid_interpreters},s={failClosed:r===t?"preset":"environment",paranoidRm:r===t?"preset":"environment",paranoidInterpreters:r===t?"preset":"environment"},a={failClosed:[`policy safety.level=${t}`],paranoidRm:[`policy safety.level=${t}`],paranoidInterpreters:[`policy safety.level=${t}`]};if(r!==t)a.failClosed.push(`env ${me.level.name}=${n}`),a.paranoidRm.push(`env ${me.level.name}=${n}`),a.paranoidInterpreters.push(`env ${me.level.name}=${n}`);if(e.safety?.overrides?.failClosed!==void 0)i.failClosed=e.safety.overrides.failClosed,s.failClosed="capability_override",a.failClosed.push("policy safety.overrides.fail_closed");if(e.safety?.overrides?.paranoidRm!==void 0)i.paranoidRm=e.safety.overrides.paranoidRm,s.paranoidRm="capability_override",a.paranoidRm.push("policy safety.overrides.paranoid_rm");if(e.safety?.overrides?.paranoidInterpreters!==void 0)i.paranoidInterpreters=e.safety.overrides.paranoidInterpreters,s.paranoidInterpreters="capability_override",a.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(Qt(me.strict))i.failClosed=!0,s.failClosed="environment",a.failClosed.push(`env ${me.strict.name}`);if(Qt(me.paranoid))i.paranoidRm=!0,i.paranoidInterpreters=!0,s.paranoidRm="environment",s.paranoidInterpreters="environment",a.paranoidRm.push(`env ${me.paranoid.name}`),a.paranoidInterpreters.push(`env ${me.paranoid.name}`);if(Qt(me.paranoidRm))i.paranoidRm=!0,s.paranoidRm="environment",a.paranoidRm.push(`env ${me.paranoidRm.name}`);if(Qt(me.paranoidInterpreters))i.paranoidInterpreters=!0,s.paranoidInterpreters="environment",a.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let c=!!e.worktreeMode||Qt(me.worktree);return{strict:i.failClosed,paranoidRm:i.paranoidRm,paranoidInterpreters:i.paranoidInterpreters,worktreeMode:c,effectiveLevel:Ed(i),capabilities:{fail_closed:{enabled:i.failClosed,source:s.failClosed,sources:a.failClosed},paranoid_rm:{enabled:i.paranoidRm,source:s.paranoidRm,sources:a.paranoidRm},paranoid_interpreters:{enabled:i.paranoidInterpreters,source:s.paranoidInterpreters,sources:a.paranoidInterpreters}}}}function Qt(e){let t=typeof e==="string"?xd(e):Rd(e);return t==="1"||t?.toLowerCase()==="true"}function xd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function Rd(e){let t=xd(e.name);if(t!==void 0)return t;if(e.legacyName)return xd(e.legacyName);return}function wS(e){let t=e.effectiveCapabilities,n=e.strict??t.fail_closed.enabled,r=e.paranoidRm??t.paranoid_rm.enabled,o=e.paranoidInterpreters??t.paranoid_interpreters.enabled,i={fail_closed:Pd(t.fail_closed,e.strict,"strict"),paranoid_rm:Pd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:Pd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:By(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:Ed({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function Pd(e,t,n){if(t===void 0||t===e.enabled)return e;return{enabled:t,source:"capability_override",sources:[...e.sources,`analysis options.${n}`]}}function RS(e,t,n,r){let o=Sd(e,0,{...t,...wS(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}]}}var oD=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),kd=new Set(["cc-safety-net","ccsn"]),iD=new Set(["bunx","npx","pnpx"]),sD=new Set(["pnpm","yarn"]),aD=new Set(["npm","pnpm","yarn"]),cD=new Set(["bun","node"]);function fa(e,t,n={}){if(kd.has(e))return 0;if(iD.has(e)){if(n.broad)return Ad(t);let o=t[0]==="-y"||t[0]==="--yes"?1:0;return ma(t[o])?o+1:null}let r=n.broad?t.findIndex((o)=>!o.startsWith("-")):0;if(r!==-1&&aD.has(e)&&n.broad&&t[r]==="exec"){let o=Ad(t.slice(r+1));return o===null?null:r+1+o}if(sD.has(e)){if(e==="yarn"&&!n.broad)return null;if(!n.broad)return t[0]==="dlx"&&ma(t[1])?2:null;if(r===-1||t[r]!=="dlx")return null;let o=Ad(t.slice(r+1));return o===null?null:r+1+o}if(cD.has(e)){let o=n.broad&&r!==-1?r:0;if(PS(t[o]))return o+1;if(e==="bun"&&t[o]==="run"&&PS(t[o+1]))return o+2}return null}function Ad(e){let t=e.findIndex((r)=>ma(r));if(t===-1)return null;let n=t;while(n<e.length){let r=e[n]??"";if(!r.startsWith("-")&&!ma(r))break;n++}return n}function ma(e){if(!e)return!1;let t=e.indexOf("@");if(t===-1)return kd.has(e);if(t===0)return!1;let n=e.slice(t+1);if(n===""||n.includes("/")||n.includes(":"))return!1;return kd.has(e.slice(0,t))}function PS(e){let t=e?.replaceAll("\\","/");return[...oD].some((n)=>t===n||t?.endsWith(`/${n}`))}function yr(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}}var AS="Only the user may apply a policy proposal, because it rewrites the configuration CC Safety Net enforces. Ask them to run `cc-safety-net policy apply <file>` themselves in a terminal; you can run `cc-safety-net policy check <file>` to show them what it would change.";function kS(e){let t=Se(e,"input-candidate");if(!t)return null;let n=zt(Xe()),r=cr(t.shell,e.invocation.context.executionCwd,n,{findSegmentTarget:(o)=>uD(o,n.environment),isRedirectionTarget:()=>!1,findMalformedTarget:()=>null,normalizeCwd:he});return r?{target:r}:null}function uD(e,t){let n=Bt([...e],t),r=n.slice(1),o=fa(W(n[0]??"").toLowerCase(),r,{broad:!0});if(o===null)return null;let i=r.slice(o).filter((s)=>s!=="-g"&&s!=="--global");return i[0]==="policy"&&i[1]==="apply"?n.join(" "):null}import{dirname as vl}from"path";import{chmodSync as jB,existsSync as aM,mkdirSync as BB,readFileSync as cM}from"fs";import{dirname as lM,join as uM}from"path";import{createRequire as q0}from"module";var mh={};un(mh,{$brand:()=>ga,$input:()=>Ha,$output:()=>Va,NEVER:()=>pa,TimePrecision:()=>pc,ZodAny:()=>Rg,ZodArray:()=>Tg,ZodBase64:()=>Jc,ZodBase64URL:()=>Xc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>tl,ZodBoolean:()=>qr,ZodCIDRv4:()=>Kc,ZodCIDRv6:()=>Yc,ZodCUID:()=>Zc,ZodCUID2:()=>Uc,ZodCatch:()=>Xg,ZodCodec:()=>ll,ZodCustom:()=>Si,ZodCustomStringFormat:()=>Vr,ZodDate:()=>hi,ZodDefault:()=>Vg,ZodDiscriminatedUnion:()=>Og,ZodE164:()=>Qc,ZodEmail:()=>Wc,ZodEmoji:()=>Fc,ZodEnum:()=>jr,ZodError:()=>vx,ZodExactOptional:()=>Ug,ZodFile:()=>Gg,ZodFirstPartyTypeKind:()=>ul,ZodFunction:()=>ah,ZodGUID:()=>di,ZodIPv4:()=>Hc,ZodIPv6:()=>qc,ZodISODate:()=>ai,ZodISODateTime:()=>si,ZodISODuration:()=>li,ZodISOTime:()=>ci,ZodIntersection:()=>zg,ZodIssueCode:()=>NC,ZodJWT:()=>el,ZodKSUID:()=>Vc,ZodLazy:()=>oh,ZodLiteral:()=>Fg,ZodMAC:()=>vg,ZodMap:()=>Lg,ZodNaN:()=>eh,ZodNanoID:()=>Gc,ZodNever:()=>Ag,ZodNonOptional:()=>al,ZodNull:()=>Eg,ZodNullable:()=>Bg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Gn,ZodObject:()=>bi,ZodOptional:()=>sl,ZodPipe:()=>cl,ZodPrefault:()=>qg,ZodPromise:()=>sh,ZodReadonly:()=>th,ZodRealError:()=>we,ZodRecord:()=>_i,ZodSet:()=>Wg,ZodString:()=>Br,ZodStringFormat:()=>K,ZodSuccess:()=>Jg,ZodSymbol:()=>xg,ZodTemplateLiteral:()=>rh,ZodTransform:()=>Zg,ZodTuple:()=>Dg,ZodType:()=>D,ZodULID:()=>jc,ZodURL:()=>gi,ZodUUID:()=>kt,ZodUndefined:()=>Cg,ZodUnion:()=>vi,ZodUnknown:()=>Pg,ZodVoid:()=>kg,ZodXID:()=>Bc,ZodXor:()=>Ig,_ZodString:()=>Lc,_default:()=>Hg,_function:()=>wC,any:()=>rC,array:()=>yi,base64:()=>Fx,base64url:()=>Gx,bigint:()=>Xx,boolean:()=>Sg,catch:()=>Qg,check:()=>RC,cidrv4:()=>Lx,cidrv6:()=>Wx,clone:()=>be,codec:()=>xC,coerce:()=>dl,config:()=>ce,core:()=>At,cuid:()=>Tx,cuid2:()=>Ix,custom:()=>PC,date:()=>iC,decode:()=>kc,decodeAsync:()=>Ic,default:()=>U0,describe:()=>AC,discriminatedUnion:()=>dC,e164:()=>Zx,email:()=>_x,emoji:()=>Ax,encode:()=>Ac,encodeAsync:()=>Tc,endsWith:()=>Or,enum:()=>ol,exactOptional:()=>jg,file:()=>bC,flattenError:()=>_r,float32:()=>qx,float64:()=>Kx,formatError:()=>Sr,fromJSONSchema:()=>dh,function:()=>wC,getErrorMap:()=>MC,globalRegistry:()=>ze,gt:()=>Rt,gte:()=>Ee,guid:()=>Sx,hash:()=>Hx,hex:()=>Vx,hostname:()=>Bx,httpUrl:()=>Px,includes:()=>Tr,instanceof:()=>TC,int:()=>$c,int32:()=>Yx,int64:()=>Qx,intersection:()=>Ng,ipv4:()=>Dx,ipv6:()=>$x,iso:()=>ui,json:()=>OC,jwt:()=>Ux,keyof:()=>sC,ksuid:()=>Nx,lazy:()=>ih,length:()=>Wn,literal:()=>yC,locales:()=>ti,looseObject:()=>lC,looseRecord:()=>fC,lowercase:()=>Ar,lt:()=>wt,lte:()=>je,mac:()=>Mx,map:()=>pC,maxLength:()=>Ln,maxSize:()=>an,meta:()=>kC,mime:()=>zr,minLength:()=>Ft,minSize:()=>Pt,multipleOf:()=>sn,nan:()=>SC,nanoid:()=>kx,nativeEnum:()=>hC,negative:()=>hc,never:()=>nl,nonnegative:()=>bc,nonoptional:()=>Yg,nonpositive:()=>yc,normalize:()=>Nr,null:()=>wg,nullable:()=>fi,nullish:()=>vC,number:()=>_g,object:()=>aC,optional:()=>mi,overwrite:()=>lt,parse:()=>Ec,parseAsync:()=>wc,partialRecord:()=>mC,pipe:()=>pi,positive:()=>gc,prefault:()=>Kg,preprocess:()=>zC,prettifyError:()=>Sa,promise:()=>EC,property:()=>vc,readonly:()=>nh,record:()=>$g,refine:()=>ch,regex:()=>Pr,regexes:()=>Et,registry:()=>ni,safeDecode:()=>zc,safeDecodeAsync:()=>Dc,safeEncode:()=>Oc,safeEncodeAsync:()=>Nc,safeParse:()=>Rc,safeParseAsync:()=>Pc,set:()=>gC,setErrorMap:()=>DC,size:()=>$n,slugify:()=>Lr,startsWith:()=>Ir,strictObject:()=>cC,string:()=>Mc,stringFormat:()=>jx,stringbool:()=>IC,success:()=>_C,superRefine:()=>lh,symbol:()=>tC,templateLiteral:()=>CC,toJSONSchema:()=>ii,toLowerCase:()=>Mr,toUpperCase:()=>$r,transform:()=>il,treeifyError:()=>_a,trim:()=>Dr,tuple:()=>Mg,uint32:()=>Jx,uint64:()=>eC,ulid:()=>Ox,undefined:()=>nC,union:()=>rl,unknown:()=>Fn,uppercase:()=>kr,url:()=>Rx,util:()=>Ce,uuid:()=>xx,uuidv4:()=>Cx,uuidv6:()=>Ex,uuidv7:()=>wx,void:()=>oC,xid:()=>zx,xor:()=>uC,z:()=>ml});var ml={};un(ml,{$brand:()=>ga,$input:()=>Ha,$output:()=>Va,NEVER:()=>pa,TimePrecision:()=>pc,ZodAny:()=>Rg,ZodArray:()=>Tg,ZodBase64:()=>Jc,ZodBase64URL:()=>Xc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>tl,ZodBoolean:()=>qr,ZodCIDRv4:()=>Kc,ZodCIDRv6:()=>Yc,ZodCUID:()=>Zc,ZodCUID2:()=>Uc,ZodCatch:()=>Xg,ZodCodec:()=>ll,ZodCustom:()=>Si,ZodCustomStringFormat:()=>Vr,ZodDate:()=>hi,ZodDefault:()=>Vg,ZodDiscriminatedUnion:()=>Og,ZodE164:()=>Qc,ZodEmail:()=>Wc,ZodEmoji:()=>Fc,ZodEnum:()=>jr,ZodError:()=>vx,ZodExactOptional:()=>Ug,ZodFile:()=>Gg,ZodFirstPartyTypeKind:()=>ul,ZodFunction:()=>ah,ZodGUID:()=>di,ZodIPv4:()=>Hc,ZodIPv6:()=>qc,ZodISODate:()=>ai,ZodISODateTime:()=>si,ZodISODuration:()=>li,ZodISOTime:()=>ci,ZodIntersection:()=>zg,ZodIssueCode:()=>NC,ZodJWT:()=>el,ZodKSUID:()=>Vc,ZodLazy:()=>oh,ZodLiteral:()=>Fg,ZodMAC:()=>vg,ZodMap:()=>Lg,ZodNaN:()=>eh,ZodNanoID:()=>Gc,ZodNever:()=>Ag,ZodNonOptional:()=>al,ZodNull:()=>Eg,ZodNullable:()=>Bg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Gn,ZodObject:()=>bi,ZodOptional:()=>sl,ZodPipe:()=>cl,ZodPrefault:()=>qg,ZodPromise:()=>sh,ZodReadonly:()=>th,ZodRealError:()=>we,ZodRecord:()=>_i,ZodSet:()=>Wg,ZodString:()=>Br,ZodStringFormat:()=>K,ZodSuccess:()=>Jg,ZodSymbol:()=>xg,ZodTemplateLiteral:()=>rh,ZodTransform:()=>Zg,ZodTuple:()=>Dg,ZodType:()=>D,ZodULID:()=>jc,ZodURL:()=>gi,ZodUUID:()=>kt,ZodUndefined:()=>Cg,ZodUnion:()=>vi,ZodUnknown:()=>Pg,ZodVoid:()=>kg,ZodXID:()=>Bc,ZodXor:()=>Ig,_ZodString:()=>Lc,_default:()=>Hg,_function:()=>wC,any:()=>rC,array:()=>yi,base64:()=>Fx,base64url:()=>Gx,bigint:()=>Xx,boolean:()=>Sg,catch:()=>Qg,check:()=>RC,cidrv4:()=>Lx,cidrv6:()=>Wx,clone:()=>be,codec:()=>xC,coerce:()=>dl,config:()=>ce,core:()=>At,cuid:()=>Tx,cuid2:()=>Ix,custom:()=>PC,date:()=>iC,decode:()=>kc,decodeAsync:()=>Ic,describe:()=>AC,discriminatedUnion:()=>dC,e164:()=>Zx,email:()=>_x,emoji:()=>Ax,encode:()=>Ac,encodeAsync:()=>Tc,endsWith:()=>Or,enum:()=>ol,exactOptional:()=>jg,file:()=>bC,flattenError:()=>_r,float32:()=>qx,float64:()=>Kx,formatError:()=>Sr,fromJSONSchema:()=>dh,function:()=>wC,getErrorMap:()=>MC,globalRegistry:()=>ze,gt:()=>Rt,gte:()=>Ee,guid:()=>Sx,hash:()=>Hx,hex:()=>Vx,hostname:()=>Bx,httpUrl:()=>Px,includes:()=>Tr,instanceof:()=>TC,int:()=>$c,int32:()=>Yx,int64:()=>Qx,intersection:()=>Ng,ipv4:()=>Dx,ipv6:()=>$x,iso:()=>ui,json:()=>OC,jwt:()=>Ux,keyof:()=>sC,ksuid:()=>Nx,lazy:()=>ih,length:()=>Wn,literal:()=>yC,locales:()=>ti,looseObject:()=>lC,looseRecord:()=>fC,lowercase:()=>Ar,lt:()=>wt,lte:()=>je,mac:()=>Mx,map:()=>pC,maxLength:()=>Ln,maxSize:()=>an,meta:()=>kC,mime:()=>zr,minLength:()=>Ft,minSize:()=>Pt,multipleOf:()=>sn,nan:()=>SC,nanoid:()=>kx,nativeEnum:()=>hC,negative:()=>hc,never:()=>nl,nonnegative:()=>bc,nonoptional:()=>Yg,nonpositive:()=>yc,normalize:()=>Nr,null:()=>wg,nullable:()=>fi,nullish:()=>vC,number:()=>_g,object:()=>aC,optional:()=>mi,overwrite:()=>lt,parse:()=>Ec,parseAsync:()=>wc,partialRecord:()=>mC,pipe:()=>pi,positive:()=>gc,prefault:()=>Kg,preprocess:()=>zC,prettifyError:()=>Sa,promise:()=>EC,property:()=>vc,readonly:()=>nh,record:()=>$g,refine:()=>ch,regex:()=>Pr,regexes:()=>Et,registry:()=>ni,safeDecode:()=>zc,safeDecodeAsync:()=>Dc,safeEncode:()=>Oc,safeEncodeAsync:()=>Nc,safeParse:()=>Rc,safeParseAsync:()=>Pc,set:()=>gC,setErrorMap:()=>DC,size:()=>$n,slugify:()=>Lr,startsWith:()=>Ir,strictObject:()=>cC,string:()=>Mc,stringFormat:()=>jx,stringbool:()=>IC,success:()=>_C,superRefine:()=>lh,symbol:()=>tC,templateLiteral:()=>CC,toJSONSchema:()=>ii,toLowerCase:()=>Mr,toUpperCase:()=>$r,transform:()=>il,treeifyError:()=>_a,trim:()=>Dr,tuple:()=>Mg,uint32:()=>Jx,uint64:()=>eC,ulid:()=>Ox,undefined:()=>nC,union:()=>rl,unknown:()=>Fn,uppercase:()=>kr,url:()=>Rx,util:()=>Ce,uuid:()=>xx,uuidv4:()=>Cx,uuidv6:()=>Ex,uuidv7:()=>wx,void:()=>oC,xid:()=>zx,xor:()=>uC});var At={};un(At,{$ZodAny:()=>ff,$ZodArray:()=>bf,$ZodAsyncError:()=>xt,$ZodBase64:()=>nf,$ZodBase64URL:()=>rf,$ZodBigInt:()=>Ua,$ZodBigIntFormat:()=>lf,$ZodBoolean:()=>Xo,$ZodCIDRv4:()=>Qm,$ZodCIDRv6:()=>ef,$ZodCUID:()=>Gm,$ZodCUID2:()=>Zm,$ZodCatch:()=>Mf,$ZodCheck:()=>X,$ZodCheckBigIntFormat:()=>ym,$ZodCheckEndsWith:()=>km,$ZodCheckGreaterThan:()=>Da,$ZodCheckIncludes:()=>Pm,$ZodCheckLengthEquals:()=>Cm,$ZodCheckLessThan:()=>Na,$ZodCheckLowerCase:()=>wm,$ZodCheckMaxLength:()=>Sm,$ZodCheckMaxSize:()=>bm,$ZodCheckMimeType:()=>Im,$ZodCheckMinLength:()=>xm,$ZodCheckMinSize:()=>vm,$ZodCheckMultipleOf:()=>gm,$ZodCheckNumberFormat:()=>hm,$ZodCheckOverwrite:()=>Om,$ZodCheckProperty:()=>Tm,$ZodCheckRegex:()=>Em,$ZodCheckSizeEquals:()=>_m,$ZodCheckStartsWith:()=>Am,$ZodCheckStringFormat:()=>Rr,$ZodCheckUpperCase:()=>Rm,$ZodCodec:()=>ei,$ZodCustom:()=>jf,$ZodCustomStringFormat:()=>af,$ZodDate:()=>yf,$ZodDefault:()=>Of,$ZodDiscriminatedUnion:()=>Sf,$ZodE164:()=>of,$ZodEmail:()=>$m,$ZodEmoji:()=>Wm,$ZodEncodeError:()=>zn,$ZodEnum:()=>Rf,$ZodError:()=>Ko,$ZodExactOptional:()=>Tf,$ZodFile:()=>Af,$ZodFunction:()=>Gf,$ZodGUID:()=>Dm,$ZodIPv4:()=>Ym,$ZodIPv6:()=>Jm,$ZodISODate:()=>Hm,$ZodISODateTime:()=>Vm,$ZodISODuration:()=>Km,$ZodISOTime:()=>qm,$ZodIntersection:()=>xf,$ZodJWT:()=>sf,$ZodKSUID:()=>Bm,$ZodLazy:()=>Uf,$ZodLiteral:()=>Pf,$ZodMAC:()=>Xm,$ZodMap:()=>Ef,$ZodNaN:()=>$f,$ZodNanoID:()=>Fm,$ZodNever:()=>gf,$ZodNonOptional:()=>Nf,$ZodNull:()=>mf,$ZodNullable:()=>If,$ZodNumber:()=>Za,$ZodNumberFormat:()=>cf,$ZodObject:()=>fx,$ZodObjectJIT:()=>vf,$ZodOptional:()=>Ba,$ZodPipe:()=>Lf,$ZodPrefault:()=>zf,$ZodPromise:()=>Zf,$ZodReadonly:()=>Wf,$ZodRealError:()=>Oe,$ZodRecord:()=>Cf,$ZodRegistry:()=>Bf,$ZodSet:()=>wf,$ZodString:()=>Mn,$ZodStringFormat:()=>q,$ZodSuccess:()=>Df,$ZodSymbol:()=>uf,$ZodTemplateLiteral:()=>Ff,$ZodTransform:()=>kf,$ZodTuple:()=>ja,$ZodType:()=>N,$ZodULID:()=>Um,$ZodURL:()=>Lm,$ZodUUID:()=>Mm,$ZodUndefined:()=>df,$ZodUnion:()=>Qo,$ZodUnknown:()=>pf,$ZodVoid:()=>hf,$ZodXID:()=>jm,$ZodXor:()=>_f,$brand:()=>ga,$constructor:()=>g,$input:()=>Ha,$output:()=>Va,Doc:()=>Ma,JSONSchema:()=>hx,JSONSchemaGenerator:()=>pg,NEVER:()=>pa,TimePrecision:()=>pc,_any:()=>gp,_array:()=>xp,_base64:()=>uc,_base64url:()=>dc,_bigint:()=>cp,_boolean:()=>sp,_catch:()=>P0,_check:()=>gx,_cidrv4:()=>cc,_cidrv6:()=>lc,_coercedBigint:()=>lp,_coercedBoolean:()=>ap,_coercedDate:()=>_p,_coercedNumber:()=>ep,_coercedString:()=>Hf,_cuid:()=>tc,_cuid2:()=>nc,_custom:()=>Ep,_date:()=>vp,_decode:()=>wa,_decodeAsync:()=>Pa,_default:()=>E0,_discriminatedUnion:()=>m0,_e164:()=>mc,_email:()=>qa,_emoji:()=>Qa,_encode:()=>Ea,_encodeAsync:()=>Ra,_endsWith:()=>Or,_enum:()=>b0,_file:()=>Cp,_float32:()=>np,_float64:()=>rp,_gt:()=>Rt,_gte:()=>Ee,_guid:()=>ri,_includes:()=>Tr,_int:()=>tp,_int32:()=>op,_int64:()=>up,_intersection:()=>f0,_ipv4:()=>sc,_ipv6:()=>ac,_isoDate:()=>Yf,_isoDateTime:()=>Kf,_isoDuration:()=>Xf,_isoTime:()=>Jf,_jwt:()=>fc,_ksuid:()=>ic,_lazy:()=>I0,_length:()=>Wn,_literal:()=>_0,_lowercase:()=>Ar,_lt:()=>wt,_lte:()=>je,_mac:()=>qf,_map:()=>h0,_max:()=>je,_maxLength:()=>Ln,_maxSize:()=>an,_mime:()=>zr,_min:()=>Ee,_minLength:()=>Ft,_minSize:()=>Pt,_multipleOf:()=>sn,_nan:()=>Sp,_nanoid:()=>ec,_nativeEnum:()=>v0,_negative:()=>hc,_never:()=>yp,_nonnegative:()=>bc,_nonoptional:()=>w0,_nonpositive:()=>yc,_normalize:()=>Nr,_null:()=>pp,_nullable:()=>C0,_number:()=>Qf,_optional:()=>x0,_overwrite:()=>lt,_parse:()=>xr,_parseAsync:()=>Cr,_pipe:()=>A0,_positive:()=>gc,_promise:()=>O0,_property:()=>vc,_readonly:()=>k0,_record:()=>g0,_refine:()=>wp,_regex:()=>Pr,_safeDecode:()=>ka,_safeDecodeAsync:()=>Ia,_safeEncode:()=>Aa,_safeEncodeAsync:()=>Ta,_safeParse:()=>Er,_safeParseAsync:()=>wr,_set:()=>y0,_size:()=>$n,_slugify:()=>Lr,_startsWith:()=>Ir,_string:()=>Vf,_stringFormat:()=>Wr,_stringbool:()=>kp,_success:()=>R0,_superRefine:()=>Rp,_symbol:()=>mp,_templateLiteral:()=>T0,_toLowerCase:()=>Mr,_toUpperCase:()=>$r,_transform:()=>S0,_trim:()=>Dr,_tuple:()=>p0,_uint32:()=>ip,_uint64:()=>dp,_ulid:()=>rc,_undefined:()=>fp,_union:()=>u0,_unknown:()=>hp,_uppercase:()=>kr,_url:()=>oi,_uuid:()=>Ka,_uuidv4:()=>Ya,_uuidv6:()=>Ja,_uuidv7:()=>Xa,_void:()=>bp,_xid:()=>oc,_xor:()=>d0,clone:()=>be,config:()=>ce,createStandardJSONSchemaMethod:()=>_c,createToJSONSchemaMethod:()=>Tp,decode:()=>ID,decodeAsync:()=>zD,describe:()=>Pp,encode:()=>TD,encodeAsync:()=>OD,extractDefs:()=>Zr,finalize:()=>Ur,flattenError:()=>_r,formatError:()=>Sr,globalConfig:()=>Go,globalRegistry:()=>ze,initializeContext:()=>Gr,isValidBase64:()=>tf,isValidBase64URL:()=>lx,isValidJWT:()=>ux,locales:()=>ti,meta:()=>Ap,parse:()=>xa,parseAsync:()=>Ca,prettifyError:()=>Sa,process:()=>Q,regexes:()=>Et,registry:()=>ni,safeDecode:()=>DD,safeDecodeAsync:()=>$D,safeEncode:()=>ND,safeEncodeAsync:()=>MD,safeParse:()=>Wd,safeParseAsync:()=>Fd,toDotPath:()=>ZS,toJSONSchema:()=>ii,treeifyError:()=>_a,util:()=>Ce,version:()=>zm});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 m=u[d];if(!(m in a))a[m]=l[m].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 xt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class zn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Go={};function ce(e){if(e)Object.assign(Go,e);return Go}var Ce={};un(Ce,{BIGINT_FORMAT_RANGES:()=>$d,Class:()=>FS,NUMBER_FORMAT_RANGES:()=>Md,aborted:()=>rn,allowsEval:()=>zd,assert:()=>gD,assertEqual:()=>dD,assertIs:()=>fD,assertNever:()=>pD,assertNotEqual:()=>mD,assignProp:()=>tn,base64ToUint8Array:()=>LS,base64urlToUint8Array:()=>wD,cached:()=>vr,captureStackTrace:()=>ba,cleanEnum:()=>ED,cleanRegex:()=>jo,clone:()=>be,cloneDef:()=>yD,createTransparentProxy:()=>CD,defineLazy:()=>M,esc:()=>ya,escapeRegex:()=>Je,extend:()=>zS,finalizeIssue:()=>Ie,floatSafeRemainder:()=>Id,getElementAtPath:()=>bD,getEnumValues:()=>Uo,getLengthableOrigin:()=>qo,getParsedType:()=>xD,getSizableOrigin:()=>Ho,hexToUint8Array:()=>PD,isObject:()=>Nn,isPlainObject:()=>nn,issue:()=>on,joinValues:()=>ha,jsonStringifyReplacer:()=>br,merge:()=>DS,mergeDefs:()=>Ct,normalizeParams:()=>b,nullish:()=>en,numKeys:()=>SD,objectClone:()=>hD,omit:()=>OS,optionalKeys:()=>Dd,parsedType:()=>Ld,partial:()=>MS,pick:()=>IS,prefixIssues:()=>Ue,primitiveTypes:()=>Nd,promiseAllObject:()=>vD,propertyKeyTypes:()=>Vo,randomString:()=>_D,required:()=>$S,safeExtend:()=>NS,shallowClone:()=>Bo,slugify:()=>Od,stringifyPrimitive:()=>va,uint8ArrayToBase64:()=>WS,uint8ArrayToBase64url:()=>RD,uint8ArrayToHex:()=>AD,unwrapMessage:()=>Zo});function dD(e){return e}function mD(e){return e}function fD(e){}function pD(e){throw Error("Unexpected value in exhaustive check")}function gD(e){}function Uo(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 br(e,t){if(typeof t==="bigint")return t.toString();return t}function vr(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function en(e){return e===null||e===void 0}function jo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Id(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 TS=Symbol("evaluating");function M(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===TS)return;if(r===void 0)r=TS,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function hD(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function tn(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ct(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function yD(e){return Ct(e._zod.def)}function bD(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function vD(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 _D(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 Od(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ba="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Nn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var zd=vr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function nn(e){if(Nn(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(Nn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Bo(e){if(nn(e))return{...e};if(Array.isArray(e))return[...e];return e}function SD(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var xD=(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}`)}},Vo=new Set(["string","number","symbol"]),Nd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Je(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function be(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function b(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 CD(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 Dd(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Md={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},$d={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function IS(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=Ct(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 tn(this,"shape",s),s},checks:[]});return be(e,i)}function OS(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=Ct(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 tn(this,"shape",s),s},checks:[]});return be(e,i)}function zS(e,t){if(!nn(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=Ct(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return tn(this,"shape",i),i}});return be(e,o)}function NS(e,t){if(!nn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Ct(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return tn(this,"shape",r),r}});return be(e,n)}function DS(e,t){let n=Ct(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return tn(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return be(e,n)}function MS(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=Ct(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 tn(this,"shape",c),c},checks:[]});return be(t,s)}function $S(e,t,n){let r=Ct(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 tn(this,"shape",i),i}});return be(t,r)}function rn(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 Ue(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Zo(e){return typeof e==="string"?e:e?.message}function Ie(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Zo(e.inst?._zod.def?.error?.(e))??Zo(t?.error?.(e))??Zo(n.customError?.(e))??Zo(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Ho(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function qo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Ld(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function on(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}function ED(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function LS(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 WS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function wD(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return LS(t+n)}function RD(e){return WS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function PD(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 AD(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class FS{constructor(...e){}}var GS=(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,br,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ko=g("$ZodError",GS),Oe=g("$ZodError",GS,{Parent:Error});function _r(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 _a(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 m=l[d],f=d===l.length-1;if(typeof m==="string")u.properties??(u.properties={}),(s=u.properties)[m]??(s[m]={errors:[]}),u=u.properties[m];else u.items??(u.items=[]),(a=u.items)[m]??(a[m]={errors:[]}),u=u.items[m];if(f)u.errors.push(t(c));d++}}};return r(e),n}function ZS(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(`\u2716 ${r.message}`),r.path?.length)t.push(` \u2192 at ${ZS(r.path)}`);return t.join(`
62
+ `)}var xr=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new xt;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Ie(c,i,ce())));throw ba(a,o?.callee),a}return s.value},xa=xr(Oe),Cr=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Ie(c,i,ce())));throw ba(a,o?.callee),a}return s.value},Ca=Cr(Oe),Er=(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 xt;return i.issues.length?{success:!1,error:new(e??Ko)(i.issues.map((s)=>Ie(s,o,ce())))}:{success:!0,data:i.value}},Wd=Er(Oe),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)=>Ie(s,o,ce())))}:{success:!0,data:i.value}},Fd=wr(Oe),Ea=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},TD=Ea(Oe),wa=(e)=>(t,n,r)=>xr(e)(t,n,r),ID=wa(Oe),Ra=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},OD=Ra(Oe),Pa=(e)=>async(t,n,r)=>Cr(e)(t,n,r),zD=Pa(Oe),Aa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Er(e)(t,n,o)},ND=Aa(Oe),ka=(e)=>(t,n,r)=>Er(e)(t,n,r),DD=ka(Oe),Ta=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},MD=Ta(Oe),Ia=(e)=>async(t,n,r)=>wr(e)(t,n,r),$D=Ia(Oe);var Et={};un(Et,{base64:()=>nm,base64url:()=>Oa,bigint:()=>cm,boolean:()=>um,browserEmail:()=>BD,cidrv4:()=>em,cidrv6:()=>tm,cuid:()=>Gd,cuid2:()=>Zd,date:()=>om,datetime:()=>sm,domain:()=>BS,duration:()=>Hd,e164:()=>rm,email:()=>Kd,emoji:()=>Yd,extendedDuration:()=>LD,guid:()=>qd,hex:()=>qS,hostname:()=>jS,html5Email:()=>ZD,idnEmail:()=>jD,integer:()=>lm,ipv4:()=>Jd,ipv6:()=>Xd,ksuid:()=>Bd,lowercase:()=>fm,mac:()=>Qd,md5_base64:()=>qD,md5_base64url:()=>KD,md5_hex:()=>HD,nanoid:()=>Vd,null:()=>dm,number:()=>za,rfc5322Email:()=>UD,sha1_base64:()=>JD,sha1_base64url:()=>XD,sha1_hex:()=>YD,sha256_base64:()=>e0,sha256_base64url:()=>t0,sha256_hex:()=>QD,sha384_base64:()=>r0,sha384_base64url:()=>o0,sha384_hex:()=>n0,sha512_base64:()=>s0,sha512_base64url:()=>a0,sha512_hex:()=>i0,string:()=>am,time:()=>im,ulid:()=>Ud,undefined:()=>mm,unicodeEmail:()=>US,uppercase:()=>pm,uuid:()=>Dn,uuid4:()=>WD,uuid6:()=>FD,uuid7:()=>GD,xid:()=>jd});var Gd=/^[cC][^\s-]{8,}$/,Zd=/^[0-9a-z]+$/,Ud=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,jd=/^[0-9a-vA-V]{20}$/,Bd=/^[A-Za-z0-9]{27}$/,Vd=/^[a-zA-Z0-9_-]{21}$/,Hd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,LD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,qd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Dn=(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})$`)},WD=Dn(4),FD=Dn(6),GD=Dn(7),Kd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ZD=/^[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])?)*$/,UD=/^(([^<>()\[\]\\.,;:\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,}))$/,US=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,jD=US,BD=/^[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])?)*$/,VD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Yd(){return new RegExp(VD,"u")}var Jd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Xd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Qd=(e)=>{let t=Je(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},em=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,tm=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,nm=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Oa=/^[A-Za-z0-9_-]*$/,jS=/^(?=.{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])?)*\.?$/,BS=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,rm=/^\+[1-9]\d{6,14}$/,VS="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",om=new RegExp(`^${VS}$`);function HS(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function im(e){return new RegExp(`^${HS(e)}$`)}function sm(e){let t=HS({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(`^${VS}T(?:${r})$`)}var am=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},cm=/^-?\d+n?$/,lm=/^-?\d+$/,za=/^-?\d+(?:\.\d+)?$/,um=/^(?:true|false)$/i,dm=/^null$/i;var mm=/^undefined$/i;var fm=/^[^A-Z]*$/,pm=/^[^a-z]*$/,qS=/^[0-9a-fA-F]*$/;function Yo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Jo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var HD=/^[0-9a-fA-F]{32}$/,qD=Yo(22,"=="),KD=Jo(22),YD=/^[0-9a-fA-F]{40}$/,JD=Yo(27,"="),XD=Jo(27),QD=/^[0-9a-fA-F]{64}$/,e0=Yo(43,"="),t0=Jo(43),n0=/^[0-9a-fA-F]{96}$/,r0=Yo(64,""),o0=Jo(64),i0=/^[0-9a-fA-F]{128}$/,s0=Yo(86,"=="),a0=Jo(86);var X=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),YS={number:"number",bigint:"bigint",object:"date"},Na=g("$ZodCheckLessThan",(e,t)=>{X.init(e,t);let n=YS[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Da=g("$ZodCheckGreaterThan",(e,t)=>{X.init(e,t);let n=YS[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckMultipleOf",(e,t)=>{X.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):Id(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),hm=g("$ZodCheckNumberFormat",(e,t)=>{X.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Md[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=o,a.maximum=i,n)a.pattern=lm}),e._zod.check=(s)=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}if(a<o)s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>i)s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckBigIntFormat",(e,t)=>{X.init(e,t);let[n,r]=$d[t.format];e._zod.onattach.push((o)=>{let i=o._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=(o)=>{let i=o.value;if(i<n)o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(i>r)o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckMaxSize",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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:Ho(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),vm=g("$ZodCheckMinSize",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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:Ho(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),_m=g("$ZodCheckSizeEquals",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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:Ho(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Sm=g("$ZodCheckMaxLength",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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=qo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),xm=g("$ZodCheckMinLength",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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=qo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Cm=g("$ZodCheckLengthEquals",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!en(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=qo(o),a=i>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Rr=g("$ZodCheckStringFormat",(e,t)=>{var n,r;if(X.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=()=>{})}),Em=g("$ZodCheckRegex",(e,t)=>{Rr.init(e,t),e._zod.check=(n)=>{if(t.pattern.lastIndex=0,t.pattern.test(n.value))return;n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),wm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=fm),Rr.init(e,t)}),Rm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=pm),Rr.init(e,t)}),Pm=g("$ZodCheckIncludes",(e,t)=>{X.init(e,t);let n=Je(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})}}),Am=g("$ZodCheckStartsWith",(e,t)=>{X.init(e,t);let n=new RegExp(`^${Je(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),km=g("$ZodCheckEndsWith",(e,t)=>{X.init(e,t);let n=new RegExp(`.*${Je(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 KS(e,t,n){if(e.issues.length)t.issues.push(...Ue(n,e.issues))}var Tm=g("$ZodCheckProperty",(e,t)=>{X.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)=>KS(o,n,t.property));KS(r,n,t.property);return}}),Im=g("$ZodCheckMimeType",(e,t)=>{X.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Om=g("$ZodCheckOverwrite",(e,t)=>{X.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class Ma{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
63
63
  `).filter((i)=>i),r=Math.min(...n.map((i)=>i.length-i.trimStart().length)),o=n.map((i)=>i.slice(r)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,t=this?.args,r=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,r.join(`
64
- `))}}var Om={major:4,minor:3,patch:5};var D=g("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Om;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,a,c)=>{let l=rn(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let m=s.issues.length,f=d._zod.check(s);if(f instanceof Promise&&c?.async===!1)throw new Ct;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await f,s.issues.length===m)return;if(!l)l=rn(s,m)});else{if(s.issues.length===m)continue;if(!l)l=rn(s,m)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(rn(s))return s.aborted=!0,s;let l=o(a,r,c);if(l instanceof Promise){if(c.async===!1)throw new Ct;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 Ct;return c.then((l)=>o(l,r,a))}return o(c,r,a)}}W(e,"~standard",()=>({validate:(o)=>{try{let i=Ld(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Wd(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Dn=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??sm(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),K=g("$ZodStringFormat",(e,t)=>{wr.init(e,t),Dn.init(e,t)}),Nm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Hd),K.init(e,t)}),Dm=g("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Nn(r))}else t.pattern??(t.pattern=Nn());K.init(e,t)}),Mm=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=qd),K.init(e,t)}),$m=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})}}}),Lm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Kd()),K.init(e,t)}),Wm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Bd),K.init(e,t)}),Fm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Fd),K.init(e,t)}),Gm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Gd),K.init(e,t)}),Zm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Zd),K.init(e,t)}),jm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=jd),K.init(e,t)}),Um=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Ud),K.init(e,t)}),Bm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=im(t)),K.init(e,t)}),Vm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=rm),K.init(e,t)}),Hm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=om(t)),K.init(e,t)}),qm=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Vd),K.init(e,t)}),Km=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Yd),K.init(e,t),e._zod.bag.format="ipv4"}),Ym=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Jd),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})}}}),Jm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Xd(t.delimiter)),K.init(e,t),e._zod.bag.format="mac"}),Xm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Qd),K.init(e,t)}),Qm=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=em),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 ef(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var tf=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=tm),K.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(ef(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function QS(e){if(!Ia.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return ef(n)}var nf=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ia),K.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(QS(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),rf=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=nm),K.init(e,t)});function ex(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var of=g("$ZodJWT",(e,t)=>{K.init(e,t),e._zod.check=(n)=>{if(ex(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),sf=g("$ZodCustomStringFormat",(e,t)=>{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})}}),Fa=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??qo,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),af=g("$ZodNumberFormat",(e,t)=>{gm.init(e,t),Fa.init(e,t)}),Jo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=lm,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ga=g("$ZodBigInt",(e,t)=>{D.init(e,t),e._zod.pattern=am,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(o){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),cf=g("$ZodBigIntFormat",(e,t)=>{hm.init(e,t),Ga.init(e,t)}),lf=g("$ZodSymbol",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),n}}),uf=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=dm,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}}),df=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=um,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;if(o===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),mf=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),ff=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),pf=g("$ZodNever",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),gf=g("$ZodVoid",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),n}}),hf=g("$ZodDate",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(a){}let o=n.value,i=o instanceof Date;if(i&&!Number.isNaN(o.getTime()))return n;return n.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),n}});function ZS(e,t,n){if(e.issues.length)t.issues.push(...Ze(n,e.issues));t.value[n]=e.value}var yf=g("$ZodArray",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},r);if(c instanceof Promise)i.push(c.then((l)=>ZS(l,n,s)));else ZS(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(...Ze(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function tx(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Nd(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function nx(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 m=c.run({value:t[d],issues:[]},r);if(m instanceof Promise)e.push(m.then((f)=>Wa(f,n,d,t,u)));else Wa(m,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 rx=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(()=>tx(t));W(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=zn,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 m of s.keys){let f=d[m],p=f._zod.optout==="optional",h=f._zod.run({value:l[m],issues:[]},c);if(h instanceof Promise)u.push(h.then((y)=>Wa(y,a,m,l,p)));else Wa(h,a,m,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return nx(u,l,a,c,r.value,e)}}),bf=g("$ZodObjectJIT",(e,t)=>{rx.init(e,t);let n=e._zod.parse,r=yr(()=>tx(t)),o=(m)=>{let f=new Na(["shape","payload","ctx"]),p=r.value,h=(A)=>{let C=ha(A);return`shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`};f.write("const input = payload.value;");let y=Object.create(null),b=0;for(let A of p.keys)y[A]=`key_${b++}`;f.write("const newResult = {};");for(let A of p.keys){let C=y[A],P=ha(A),k=m[A]?._zod?.optout==="optional";if(f.write(`const ${C} = ${h(A)};`),k)f.write(`
64
+ `))}}var zm={major:4,minor:3,patch:5};var N=g("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=zm;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,a,c)=>{let l=rn(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let m=s.issues.length,f=d._zod.check(s);if(f instanceof Promise&&c?.async===!1)throw new xt;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await f,s.issues.length===m)return;if(!l)l=rn(s,m)});else{if(s.issues.length===m)continue;if(!l)l=rn(s,m)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(rn(s))return s.aborted=!0,s;let l=o(a,r,c);if(l instanceof Promise){if(c.async===!1)throw new xt;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 xt;return c.then((l)=>o(l,r,a))}return o(c,r,a)}}M(e,"~standard",()=>({validate:(o)=>{try{let i=Wd(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Fd(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Mn=g("$ZodString",(e,t)=>{N.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??am(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=g("$ZodStringFormat",(e,t)=>{Rr.init(e,t),Mn.init(e,t)}),Dm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=qd),q.init(e,t)}),Mm=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=Dn(r))}else t.pattern??(t.pattern=Dn());q.init(e,t)}),$m=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Kd),q.init(e,t)}),Lm=g("$ZodURL",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{try{let r=n.value.trim(),o=new URL(r);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(t.normalize)n.value=o.href;else n.value=r;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Wm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Yd()),q.init(e,t)}),Fm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Vd),q.init(e,t)}),Gm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),Zm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),Um=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Ud),q.init(e,t)}),jm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=jd),q.init(e,t)}),Bm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),Vm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=sm(t)),q.init(e,t)}),Hm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=om),q.init(e,t)}),qm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=im(t)),q.init(e,t)}),Km=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Hd),q.init(e,t)}),Ym=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t),e._zod.bag.format="ipv4"}),Jm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Xd),q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Xm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Qd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),Qm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=em),q.init(e,t)}),ef=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=tm),q.init(e,t),e._zod.check=(n)=>{let r=n.value.split("/");try{if(r.length!==2)throw Error();let[o,i]=r;if(!i)throw Error();let s=Number(i);if(`${s}`!==i)throw Error();if(s<0||s>128)throw Error();new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function tf(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var nf=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=nm),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(tf(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function lx(e){if(!Oa.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return tf(n)}var rf=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Oa),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(lx(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),of=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=rm),q.init(e,t)});function ux(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var sf=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(ux(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),af=g("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Za=g("$ZodNumber",(e,t)=>{N.init(e,t),e._zod.pattern=e._zod.bag.pattern??za,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch(s){}let o=n.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;let i=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),n}}),cf=g("$ZodNumberFormat",(e,t)=>{hm.init(e,t),Za.init(e,t)}),Xo=g("$ZodBoolean",(e,t)=>{N.init(e,t),e._zod.pattern=um,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ua=g("$ZodBigInt",(e,t)=>{N.init(e,t),e._zod.pattern=cm,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(o){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),lf=g("$ZodBigIntFormat",(e,t)=>{ym.init(e,t),Ua.init(e,t)}),uf=g("$ZodSymbol",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),n}}),df=g("$ZodUndefined",(e,t)=>{N.init(e,t),e._zod.pattern=mm,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}}),mf=g("$ZodNull",(e,t)=>{N.init(e,t),e._zod.pattern=dm,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;if(o===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),ff=g("$ZodAny",(e,t)=>{N.init(e,t),e._zod.parse=(n)=>n}),pf=g("$ZodUnknown",(e,t)=>{N.init(e,t),e._zod.parse=(n)=>n}),gf=g("$ZodNever",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),hf=g("$ZodVoid",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),n}}),yf=g("$ZodDate",(e,t)=>{N.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 XS(e,t,n){if(e.issues.length)t.issues.push(...Ue(n,e.issues));t.value[n]=e.value}var bf=g("$ZodArray",(e,t)=>{N.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)=>XS(l,n,s)));else XS(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Ga(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...Ue(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function dx(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Dd(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function mx(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 m=c.run({value:t[d],issues:[]},r);if(m instanceof Promise)e.push(m.then((f)=>Ga(f,n,d,t,u)));else Ga(m,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 fx=g("$ZodObject",(e,t)=>{if(N.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=vr(()=>dx(t));M(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=Nn,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 m of s.keys){let f=d[m],p=f._zod.optout==="optional",h=f._zod.run({value:l[m],issues:[]},c);if(h instanceof Promise)u.push(h.then((y)=>Ga(y,a,m,l,p)));else Ga(h,a,m,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return mx(u,l,a,c,r.value,e)}}),vf=g("$ZodObjectJIT",(e,t)=>{fx.init(e,t);let n=e._zod.parse,r=vr(()=>dx(t)),o=(m)=>{let f=new Ma(["shape","payload","ctx"]),p=r.value,h=(A)=>{let C=ya(A);return`shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`};f.write("const input = payload.value;");let y=Object.create(null),v=0;for(let A of p.keys)y[A]=`key_${v++}`;f.write("const newResult = {};");for(let A of p.keys){let C=y[A],P=ya(A),k=m[A]?._zod?.optout==="optional";if(f.write(`const ${C} = ${h(A)};`),k)f.write(`
65
65
  if (${C}.issues.length) {
66
66
  if (${P} in input) {
67
67
  payload.issues = payload.issues.concat(${C}.issues.map(iss => ({
@@ -95,6 +95,6 @@ ${_R(e.intent??"manual_only")}`,a}function _R(e){switch(e){case"hard_stop":retur
95
95
  newResult[${P}] = ${C}.value;
96
96
  }
97
97
 
98
- `)}f.write("payload.value = newResult;"),f.write("return payload;");let R=f.compile();return(A,C)=>R(m,A,C)},i,s=zn,a=!Fo.jitless,l=a&&Id.value,u=t.catchall,d;e._zod.parse=(m,f)=>{d??(d=r.value);let p=m.value;if(!s(p))return m.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),m;if(a&&l&&f?.async===!1&&f.jitless!==!0){if(!i)i=o(t.shape);if(m=i(m,f),!u)return m;return nx([],p,m,f,d,e)}return n(m,f)}});function jS(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)=>!rn(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)=>Te(s,r,le())))}),t}var Xo=g("$ZodUnion",(e,t)=>{D.init(e,t),W(e._zod,"optin",()=>t.options.some((o)=>o._zod.optin==="optional")?"optional":void 0),W(e._zod,"optout",()=>t.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),W(e._zod,"values",()=>{if(t.options.every((o)=>o._zod.values))return new Set(t.options.flatMap((o)=>Array.from(o._zod.values)));return}),W(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)=>jo(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 jS(a,o,e,i);return Promise.all(a).then((c)=>jS(c,o,e,i))}});function US(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)=>Te(s,r,le())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}var vf=g("$ZodXor",(e,t)=>{Xo.init(e,t),t.inclusive=!1;let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(o,i)=>{if(n)return r(o,i);let s=!1,a=[];for(let c of t.options){let l=c._zod.run({value:o.value,issues:[]},i);if(l instanceof Promise)a.push(l),s=!0;else a.push(l)}if(!s)return US(a,o,e,i);return Promise.all(a).then((c)=>US(c,o,e,i))}}),_f=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Xo.init(e,t);let n=e._zod.parse;W(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(!zn(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}}),Sf=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])=>BS(n,c,l));return BS(n,i,s)}});function zm(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(nn(e)&&nn(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let s=zm(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],s=zm(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function BS(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(rn(e))return e;let s=zm(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var 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((m)=>Da(m,r,l)));else Da(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let m=t.rest._zod.run({value:d,issues:[]},o);if(m instanceof Promise)s.push(m.then((f)=>Da(f,r,l)));else Da(m,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(...Ze(n,e.issues));t.value[n]=e.value}var xf=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!nn(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(...Ze(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...Ze(l,u.issues));n.value[l]=u.value}}let c;for(let l in o)if(!a.has(l))c=c??[],c.push(l);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a==="string"&&qo.test(a)&&c.issues.length&&c.issues.some((d)=>d.code==="invalid_type"&&d.expected==="number")){let d=t.keyType._zod.run({value:Number(a),issues:[]},r);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length===0)c=d}if(c.issues.length){if(t.mode==="loose")n.value[a]=o[a];else n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map((d)=>Te(d,r,le())),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(...Ze(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...Ze(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),Cf=g("$ZodMap",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),n;let i=[];n.value=new Map;for(let[s,a]of o){let c=t.keyType._zod.run({value:s,issues:[]},r),l=t.valueType._zod.run({value:a,issues:[]},r);if(c instanceof Promise||l instanceof Promise)i.push(Promise.all([c,l]).then(([u,d])=>{VS(u,d,n,s,o,e,r)}));else VS(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function VS(e,t,n,r,o,i,s){if(e.issues.length)if(Uo.has(typeof r))n.issues.push(...Ze(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Te(a,s,le()))});if(t.issues.length)if(Uo.has(typeof r))n.issues.push(...Ze(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Te(a,s,le()))});n.value.set(e.value,t.value)}var Ef=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)=>HS(c,n)));else HS(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function HS(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var wf=g("$ZodEnum",(e,t)=>{D.init(e,t);let n=Zo(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Uo.has(typeof o)).map((o)=>typeof o==="string"?Xe(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}}),Rf=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"?Xe(r):r?Xe(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(n.has(i))return r;return r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),Pf=g("$ZodFile",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(o instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),n}}),Af=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new On(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 Ct;return n.value=o,n}});function qS(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var ja=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",W(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),W(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${jo(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)=>qS(i,n.value));return qS(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),kf=g("$ZodExactOptional",(e,t)=>{ja.init(e,t),W(e._zod,"values",()=>t.innerType._zod.values),W(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Tf=g("$ZodNullable",(e,t)=>{D.init(e,t),W(e._zod,"optin",()=>t.innerType._zod.optin),W(e._zod,"optout",()=>t.innerType._zod.optout),W(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${jo(n.source)}|null)$`):void 0}),W(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),If=g("$ZodDefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",W(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)=>KS(i,t));return KS(o,t)}});function KS(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Of=g("$ZodPrefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",W(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),zf=g("$ZodNonOptional",(e,t)=>{D.init(e,t),W(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)=>YS(i,e));return YS(o,e)}});function YS(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var Nf=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new On("ZodSuccess");let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>(n.value=i.issues.length===0,n));return n.value=o.issues.length===0,n}}),Df=g("$ZodCatch",(e,t)=>{D.init(e,t),W(e._zod,"optin",()=>t.innerType._zod.optin),W(e._zod,"optout",()=>t.innerType._zod.optout),W(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)=>Te(s,r,le()))},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)=>Te(i,r,le()))},input:n.value}),n.issues=[];return n}}),Mf=g("$ZodNaN",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),$f=g("$ZodPipe",(e,t)=>{D.init(e,t),W(e._zod,"values",()=>t.in._zod.values),W(e._zod,"optin",()=>t.in._zod.optin),W(e._zod,"optout",()=>t.out._zod.optout),W(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Ma(s,t.in,r));return Ma(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Ma(i,t.out,r));return Ma(o,t.out,r)}});function Ma(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var Qo=g("$ZodCodec",(e,t)=>{D.init(e,t),W(e._zod,"values",()=>t.in._zod.values),W(e._zod,"optin",()=>t.in._zod.optin),W(e._zod,"optout",()=>t.out._zod.optout),W(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)=>$a(s,t,r));return $a(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>$a(s,t,r));return $a(i,t,r)}}});function $a(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)=>La(e,i,t.out,n));return La(e,o,t.out,n)}else{let o=t.reverseTransform(e.value,e);if(o instanceof Promise)return o.then((i)=>La(e,i,t.in,n));return La(e,o,t.in,n)}}function La(e,t,n,r){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},r)}var Lf=g("$ZodReadonly",(e,t)=>{D.init(e,t),W(e._zod,"propValues",()=>t.innerType._zod.propValues),W(e._zod,"values",()=>t.innerType._zod.values),W(e._zod,"optin",()=>t.innerType?._zod?.optin),W(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(JS);return JS(o)}});function JS(e){return e.value=Object.freeze(e.value),e}var Wf=g("$ZodTemplateLiteral",(e,t)=>{D.init(e,t);let n=[];for(let r of t.parts)if(typeof r==="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let o=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!o)throw Error(`Invalid template literal part: ${r._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;n.push(o.slice(i,s))}else if(r===null||zd.has(typeof r))n.push(Xe(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),Ff=g("$ZodFunction",(e,t)=>(D.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...r){let o=e._def.input?Sa(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return Sa(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)),Gf=g("$ZodPromise",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then((o)=>t.innerType._zod.run({value:o,issues:[]},r))}),Zf=g("$ZodLazy",(e,t)=>{D.init(e,t),W(e._zod,"innerType",()=>t.getter()),W(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),W(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),W(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),W(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),jf=g("$ZodCustom",(e,t)=>{Q.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)=>XS(i,n,r,e));XS(o,n,r,e);return}});function XS(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(br(o))}}var ei={};var ox,Ua=Symbol("ZodOutput"),Ba=Symbol("ZodInput");class Uf{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function ti(){return new Uf}(ox=globalThis).__zod_globalRegistry??(ox.__zod_globalRegistry=ti());var Oe=globalThis.__zod_globalRegistry;function Bf(e,t){return new e({type:"string",..._(t)})}function Vf(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 ni(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._(t)})}function Ha(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 ri(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 Hf(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 qf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(t)})}function Kf(e,t){return new e({type:"string",format:"date",check:"string_format",..._(t)})}function Yf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,..._(t)})}function Jf(e,t){return new e({type:"string",format:"duration",check:"string_format",..._(t)})}function Xf(e,t){return new e({type:"number",checks:[],..._(t)})}function Qf(e,t){return new e({type:"number",coerce:!0,checks:[],..._(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",..._(t)})}function np(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",..._(t)})}function rp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",..._(t)})}function op(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",..._(t)})}function ip(e,t){return new e({type:"boolean",..._(t)})}function sp(e,t){return new e({type:"boolean",coerce:!0,..._(t)})}function ap(e,t){return new e({type:"bigint",..._(t)})}function cp(e,t){return new e({type:"bigint",coerce:!0,..._(t)})}function lp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",..._(t)})}function up(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",..._(t)})}function dp(e,t){return new e({type:"symbol",..._(t)})}function mp(e,t){return new e({type:"undefined",..._(t)})}function fp(e,t){return new e({type:"null",..._(t)})}function pp(e){return new e({type:"any"})}function gp(e){return new e({type:"unknown"})}function hp(e,t){return new e({type:"never",..._(t)})}function yp(e,t){return new e({type:"void",..._(t)})}function bp(e,t){return new e({type:"date",..._(t)})}function vp(e,t){return new e({type:"date",coerce:!0,..._(t)})}function _p(e,t){return new e({type:"nan",..._(t)})}function Et(e,t){return new Oa({check:"less_than",..._(t),value:e,inclusive:!1})}function Ue(e,t){return new Oa({check:"less_than",..._(t),value:e,inclusive:!0})}function wt(e,t){return new za({check:"greater_than",..._(t),value:e,inclusive:!1})}function Ee(e,t){return new za({check:"greater_than",..._(t),value:e,inclusive:!0})}function fc(e){return wt(0,e)}function pc(e){return Et(0,e)}function gc(e){return Ue(0,e)}function hc(e){return Ee(0,e)}function on(e,t){return new pm({check:"multiple_of",..._(t),value:e})}function sn(e,t){return new ym({check:"max_size",..._(t),maximum:e})}function Rt(e,t){return new bm({check:"min_size",..._(t),minimum:e})}function Mn(e,t){return new vm({check:"size_equals",..._(t),size:e})}function $n(e,t){return new _m({check:"max_length",..._(t),maximum:e})}function Ft(e,t){return new Sm({check:"min_length",..._(t),minimum:e})}function Ln(e,t){return new xm({check:"length_equals",..._(t),length:e})}function Rr(e,t){return new Cm({check:"string_format",format:"regex",..._(t),pattern:e})}function Pr(e){return new Em({check:"string_format",format:"lowercase",..._(e)})}function Ar(e){return new wm({check:"string_format",format:"uppercase",..._(e)})}function kr(e,t){return new Rm({check:"string_format",format:"includes",..._(t),includes:e})}function Tr(e,t){return new Pm({check:"string_format",format:"starts_with",..._(t),prefix:e})}function Ir(e,t){return new Am({check:"string_format",format:"ends_with",..._(t),suffix:e})}function yc(e,t,n){return new km({check:"property",property:e,schema:t,..._(n)})}function Or(e,t){return new Tm({check:"mime_type",mime:e,..._(t)})}function ut(e){return new Im({check:"overwrite",tx:e})}function zr(e){return ut((t)=>t.normalize(e))}function Nr(){return ut((e)=>e.trim())}function Dr(){return ut((e)=>e.toLowerCase())}function Mr(){return ut((e)=>e.toUpperCase())}function $r(){return ut((e)=>Td(e))}function Sp(e,t,n){return new e({type:"array",element:t,..._(n)})}function u0(e,t,n){return new e({type:"union",options:t,..._(n)})}function d0(e,t,n){return new e({type:"union",options:t,inclusive:!1,..._(n)})}function m0(e,t,n,r){return new e({type:"union",options:n,discriminator:t,..._(r)})}function f0(e,t,n){return new e({type:"intersection",left:t,right:n})}function p0(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,..._(o?r:n)})}function g0(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,..._(r)})}function h0(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,..._(r)})}function y0(e,t,n){return new e({type:"set",valueType:t,..._(n)})}function b0(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 v0(e,t,n){return new e({type:"enum",entries:t,..._(n)})}function _0(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],..._(n)})}function xp(e,t){return new e({type:"file",..._(t)})}function S0(e,t){return new e({type:"transform",transform:t})}function x0(e,t){return new e({type:"optional",innerType:t})}function C0(e,t){return new e({type:"nullable",innerType:t})}function E0(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Od(n)}})}function w0(e,t,n){return new e({type:"nonoptional",innerType:t,..._(n)})}function R0(e,t){return new e({type:"success",innerType:t})}function P0(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function A0(e,t,n){return new e({type:"pipe",in:t,out:n})}function k0(e,t){return new e({type:"readonly",innerType:t})}function T0(e,t,n){return new e({type:"template_literal",parts:t,..._(n)})}function I0(e,t){return new e({type:"lazy",getter:t})}function O0(e,t){return new e({type:"promise",innerType:t})}function Cp(e,t,n){let r=_(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Ep(e,t,n){return new e({type:"custom",check:"custom",fn:t,..._(n)})}function wp(e){let t=ix((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 ix(e,t){let n=new Q({check:"custom",..._(t)});return n._zod.check=e,n}function Rp(e){let t=new Q({check:"describe"});return t._zod.onattach=[(n)=>{let r=Oe.get(n)??{};Oe.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function Pp(e){let t=new Q({check:"meta"});return t._zod.onattach=[(n)=>{let r=Oe.get(n)??{};Oe.add(n,{...r,...e})}],t._zod.check=()=>{},t}function Ap(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((f)=>typeof f==="string"?f.toLowerCase():f),o=o.map((f)=>typeof f==="string"?f.toLowerCase():f);let i=new Set(r),s=new Set(o),a=e.Codec??Qo,c=e.Boolean??Jo,u=new(e.String??Dn)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),m=new a({type:"pipe",in:u,out:d,transform:(f,p)=>{let h=f;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:m,continue:!1}),{}},reverseTransform:(f,p)=>{if(f===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return m}function Lr(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")},kp=()=>Wr,bc=()=>Wr,Fr=Wr,ee=Wr,Gr=Wr,Zr=Wr;var z0={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Tp=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i==="number")o.minLength=i;if(typeof s==="number")o.maxLength=s;if(a){if(o.format=z0[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Ip=(e,t,n,r)=>{let o=n,{minimum:i,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;if(typeof a==="string"&&a.includes("int"))o.type="integer";else o.type="number";if(typeof u==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;if(typeof i==="number"){if(o.minimum=i,typeof u==="number"&&t.target!=="draft-04")if(u>=i)delete o.minimum;else delete o.exclusiveMinimum}if(typeof l==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;if(typeof s==="number"){if(o.maximum=s,typeof l==="number"&&t.target!=="draft-04")if(l<=s)delete o.maximum;else delete o.exclusiveMaximum}if(typeof c==="number")o.multipleOf=c},Op=(e,t,n,r)=>{n.type="boolean"},zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Np=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Dp=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Mp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},$p=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Lp=(e,t,n,r)=>{n.not={}},Wp=(e,t,n,r)=>{},Fp=(e,t,n,r)=>{},Gp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Zp=(e,t,n,r)=>{let o=e._zod.def,i=Zo(o.entries);if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";n.enum=i},jp=(e,t,n,r)=>{let o=e._zod.def,i=[];for(let s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else i.push(Number(s));else i.push(s);if(i.length===0);else if(i.length===1){let s=i[0];if(n.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[s];else n.const=s}else{if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";if(i.every((s)=>typeof s==="boolean"))n.type="boolean";if(i.every((s)=>s===null))n.type="null";n.enum=i}},Up=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Bp=(e,t,n,r)=>{let o=n,i=e._zod.pattern;if(!i)throw Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Vp=(e,t,n,r)=>{let o=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=e._zod.bag;if(s!==void 0)i.minLength=s;if(a!==void 0)i.maxLength=a;if(c)if(c.length===1)i.contentMediaType=c[0],Object.assign(o,i);else Object.assign(o,i),o.anyOf=c.map((l)=>({contentMediaType:l}));else Object.assign(o,i)},Hp=(e,t,n,r)=>{n.type="boolean"},qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Kp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Yp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Xp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Qp=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=ee(i.element,t,{...r,path:[...r.path,"items"]})},eg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=ee(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=ee(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)=>ee(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},tg=(e,t,n,r)=>{let o=e._zod.def,i=ee(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=ee(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=(l)=>("allOf"in l)&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c},ng=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,f)=>ee(m,t,{...r,path:[...r.path,s,f]})),l=i.rest?ee(i.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(o.prefixItems=c,l)o.items=l}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},l)o.items.anyOf.push(l);if(o.minItems=c.length,!l)o.maxItems=c.length}else if(o.items=c,l)o.additionalItems=l;let{minimum:u,maximum:d}=e._zod.bag;if(typeof u==="number")o.minItems=u;if(typeof d==="number")o.maxItems=d},rg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object";let s=i.keyType,c=s._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let u=ee(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=ee(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});o.additionalProperties=ee(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=s._zod.values;if(l){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u}},og=(e,t,n,r)=>{let o=e._zod.def,i=ee(o.innerType,t,r),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=o.innerType,n.nullable=!0;else n.anyOf=[i,{type:"null"}]},ig=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},sg=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},ag=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);if(i.ref=o.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(o.defaultValue))},cg=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},lg=(e,t,n,r)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;ee(i,t,r);let s=t.seen.get(e);s.ref=i},ug=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},dg=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},Sc=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},mg=(e,t,n,r)=>{let o=e._zod.innerType;ee(o,t,r);let i=t.seen.get(e);i.ref=o},vc={string:Tp,number:Ip,boolean:Op,bigint:zp,symbol:Np,null:Dp,undefined:Mp,void:$p,never:Lp,any:Wp,unknown:Fp,date:Gp,enum:Zp,literal:jp,nan:Up,template_literal:Bp,file:Vp,success:Hp,custom:qp,function:Kp,transform:Yp,map:Jp,set:Xp,array:Qp,object:eg,union:_c,intersection:tg,tuple:ng,record:rg,nullable:og,nonoptional:ig,default:sg,prefault:ag,catch:cg,pipe:lg,readonly:ug,promise:dg,optional:Sc,lazy:mg};function oi(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;ee(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 ee(e,n),Gr(n,e),Zr(n,e)}class fg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=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 ee(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 sx={};var li={};ln(li,{ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,date:()=>gg,datetime:()=>pg,duration:()=>yg,time:()=>hg});var ii=g("ZodISODateTime",(e,t)=>{Bm.init(e,t),Y.init(e,t)});function pg(e){return qf(ii,e)}var si=g("ZodISODate",(e,t)=>{Vm.init(e,t),Y.init(e,t)});function gg(e){return Kf(si,e)}var ai=g("ZodISOTime",(e,t)=>{Hm.init(e,t),Y.init(e,t)});function hg(e){return Yf(ai,e)}var ci=g("ZodISODuration",(e,t)=>{qm.init(e,t),Y.init(e,t)});function yg(e){return Jf(ci,e)}var cx=(e,t)=>{Ho.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>_r(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}}})},lx=g("ZodError",cx),we=g("ZodError",cx,{Parent:Error});var xc=Sr(we),Cc=xr(we),Ec=Cr(we),wc=Er(we),Rc=Ca(we),Pc=Ea(we),Ac=wa(we),kc=Ra(we),Tc=Pa(we),Ic=Aa(we),Oc=ka(we),zc=Ta(we);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=kp(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)=>ve(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)=>Ec(e,n,r),e.parseAsync=async(n,r)=>Cc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>wc(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)=>Ac(e,n,r),e.decodeAsync=async(n,r)=>kc(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(ah(n,r)),e.superRefine=(n)=>e.check(ch(n)),e.overwrite=(n)=>e.check(ut(n)),e.optional=()=>di(e),e.exactOptional=()=>jg(e),e.nullable=()=>mi(e),e.nullish=()=>di(mi(e)),e.nonoptional=(n)=>Kg(e,n),e.array=()=>hi(e),e.or=(n)=>tl([e,n]),e.and=(n)=>zg(e,n),e.transform=(n)=>fi(e,rl(n)),e.default=(n)=>Vg(e,n),e.prefault=(n)=>qg(e,n),e.catch=(n)=>Xg(e,n),e.pipe=(n)=>fi(e,n),e.readonly=()=>th(e),e.describe=(n)=>{let r=e.clone();return Oe.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Oe.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Oe.get(e);let r=e.clone();return Oe.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=(n)=>n(e),e)),Mc=g("_ZodString",(e,t)=>{Dn.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Tp(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Rr(...r)),e.includes=(...r)=>e.check(kr(...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($n(...r)),e.length=(...r)=>e.check(Ln(...r)),e.nonempty=(...r)=>e.check(Ft(1,...r)),e.lowercase=(r)=>e.check(Pr(r)),e.uppercase=(r)=>e.check(Ar(r)),e.trim=()=>e.check(Nr()),e.normalize=(...r)=>e.check(zr(...r)),e.toLowerCase=()=>e.check(Dr()),e.toUpperCase=()=>e.check(Mr()),e.slugify=()=>e.check($r())}),Ur=g("ZodString",(e,t)=>{Dn.init(e,t),Mc.init(e,t),e.email=(n)=>e.check(Va($c,n)),e.url=(n)=>e.check(ri(pi,n)),e.jwt=(n)=>e.check(dc(Xc,n)),e.emoji=(n)=>e.check(Ja(Lc,n)),e.guid=(n)=>e.check(ni(ui,n)),e.uuid=(n)=>e.check(Ha(At,n)),e.uuidv4=(n)=>e.check(qa(At,n)),e.uuidv6=(n)=>e.check(Ka(At,n)),e.uuidv7=(n)=>e.check(Ya(At,n)),e.nanoid=(n)=>e.check(Xa(Wc,n)),e.guid=(n)=>e.check(ni(ui,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(jc,n)),e.ksuid=(n)=>e.check(rc(Uc,n)),e.ipv4=(n)=>e.check(oc(Bc,n)),e.ipv6=(n)=>e.check(ic(Vc,n)),e.cidrv4=(n)=>e.check(sc(Hc,n)),e.cidrv6=(n)=>e.check(ac(qc,n)),e.e164=(n)=>e.check(uc(Jc,n)),e.datetime=(n)=>e.check(pg(n)),e.date=(n)=>e.check(gg(n)),e.time=(n)=>e.check(hg(n)),e.duration=(n)=>e.check(yg(n))});function Nc(e){return Bf(Ur,e)}var Y=g("ZodStringFormat",(e,t)=>{K.init(e,t),Mc.init(e,t)}),$c=g("ZodEmail",(e,t)=>{Mm.init(e,t),Y.init(e,t)});function ux(e){return Va($c,e)}var ui=g("ZodGUID",(e,t)=>{Nm.init(e,t),Y.init(e,t)});function dx(e){return ni(ui,e)}var At=g("ZodUUID",(e,t)=>{Dm.init(e,t),Y.init(e,t)});function mx(e){return Ha(At,e)}function fx(e){return qa(At,e)}function px(e){return Ka(At,e)}function gx(e){return Ya(At,e)}var pi=g("ZodURL",(e,t)=>{$m.init(e,t),Y.init(e,t)});function hx(e){return ri(pi,e)}function yx(e){return ri(pi,{protocol:/^https?$/,hostname:je.domain,...I.normalizeParams(e)})}var Lc=g("ZodEmoji",(e,t)=>{Lm.init(e,t),Y.init(e,t)});function bx(e){return Ja(Lc,e)}var Wc=g("ZodNanoID",(e,t)=>{Wm.init(e,t),Y.init(e,t)});function vx(e){return Xa(Wc,e)}var Fc=g("ZodCUID",(e,t)=>{Fm.init(e,t),Y.init(e,t)});function _x(e){return Qa(Fc,e)}var Gc=g("ZodCUID2",(e,t)=>{Gm.init(e,t),Y.init(e,t)});function Sx(e){return ec(Gc,e)}var Zc=g("ZodULID",(e,t)=>{Zm.init(e,t),Y.init(e,t)});function xx(e){return tc(Zc,e)}var jc=g("ZodXID",(e,t)=>{jm.init(e,t),Y.init(e,t)});function Cx(e){return nc(jc,e)}var Uc=g("ZodKSUID",(e,t)=>{Um.init(e,t),Y.init(e,t)});function Ex(e){return rc(Uc,e)}var Bc=g("ZodIPv4",(e,t)=>{Km.init(e,t),Y.init(e,t)});function wx(e){return oc(Bc,e)}var bg=g("ZodMAC",(e,t)=>{Jm.init(e,t),Y.init(e,t)});function Rx(e){return Hf(bg,e)}var Vc=g("ZodIPv6",(e,t)=>{Ym.init(e,t),Y.init(e,t)});function Px(e){return ic(Vc,e)}var Hc=g("ZodCIDRv4",(e,t)=>{Xm.init(e,t),Y.init(e,t)});function Ax(e){return sc(Hc,e)}var qc=g("ZodCIDRv6",(e,t)=>{Qm.init(e,t),Y.init(e,t)});function kx(e){return ac(qc,e)}var Kc=g("ZodBase64",(e,t)=>{tf.init(e,t),Y.init(e,t)});function Tx(e){return cc(Kc,e)}var Yc=g("ZodBase64URL",(e,t)=>{nf.init(e,t),Y.init(e,t)});function Ix(e){return lc(Yc,e)}var Jc=g("ZodE164",(e,t)=>{rf.init(e,t),Y.init(e,t)});function Ox(e){return uc(Jc,e)}var Xc=g("ZodJWT",(e,t)=>{of.init(e,t),Y.init(e,t)});function zx(e){return dc(Xc,e)}var Br=g("ZodCustomStringFormat",(e,t)=>{sf.init(e,t),Y.init(e,t)});function Nx(e,t,n={}){return Lr(Br,e,t,n)}function Dx(e){return Lr(Br,"hostname",je.hostname,e)}function Mx(e){return Lr(Br,"hex",je.hex,e)}function $x(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=je[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Lr(Br,r,o,t)}var Vr=g("ZodNumber",(e,t)=>{Fa.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ip(e,r,o,i),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(Ee(r,o)),e.min=(r,o)=>e.check(Ee(r,o)),e.lt=(r,o)=>e.check(Et(r,o)),e.lte=(r,o)=>e.check(Ue(r,o)),e.max=(r,o)=>e.check(Ue(r,o)),e.int=(r)=>e.check(Dc(r)),e.safe=(r)=>e.check(Dc(r)),e.positive=(r)=>e.check(wt(0,r)),e.nonnegative=(r)=>e.check(Ee(0,r)),e.negative=(r)=>e.check(Et(0,r)),e.nonpositive=(r)=>e.check(Ue(0,r)),e.multipleOf=(r,o)=>e.check(on(r,o)),e.step=(r,o)=>e.check(on(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function vg(e){return Xf(Vr,e)}var Fn=g("ZodNumberFormat",(e,t)=>{af.init(e,t),Vr.init(e,t)});function Dc(e){return ep(Fn,e)}function Lx(e){return tp(Fn,e)}function Wx(e){return np(Fn,e)}function Fx(e){return rp(Fn,e)}function Gx(e){return op(Fn,e)}var Hr=g("ZodBoolean",(e,t)=>{Jo.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function _g(e){return ip(Hr,e)}var qr=g("ZodBigInt",(e,t)=>{Ga.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>zp(e,r,o,i),e.gte=(r,o)=>e.check(Ee(r,o)),e.min=(r,o)=>e.check(Ee(r,o)),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(Ee(r,o)),e.min=(r,o)=>e.check(Ee(r,o)),e.lt=(r,o)=>e.check(Et(r,o)),e.lte=(r,o)=>e.check(Ue(r,o)),e.max=(r,o)=>e.check(Ue(r,o)),e.positive=(r)=>e.check(wt(BigInt(0),r)),e.negative=(r)=>e.check(Et(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ue(BigInt(0),r)),e.nonnegative=(r)=>e.check(Ee(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(on(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function Zx(e){return ap(qr,e)}var Qc=g("ZodBigIntFormat",(e,t)=>{cf.init(e,t),qr.init(e,t)});function jx(e){return lp(Qc,e)}function Ux(e){return up(Qc,e)}var Sg=g("ZodSymbol",(e,t)=>{lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function Bx(e){return dp(Sg,e)}var xg=g("ZodUndefined",(e,t)=>{uf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mp(e,n,r,o)});function Vx(e){return mp(xg,e)}var Cg=g("ZodNull",(e,t)=>{df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function Eg(e){return fp(Cg,e)}var wg=g("ZodAny",(e,t)=>{mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o)});function Hx(){return pp(wg)}var Rg=g("ZodUnknown",(e,t)=>{ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function Wn(){return gp(Rg)}var Pg=g("ZodNever",(e,t)=>{pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function el(e){return hp(Pg,e)}var Ag=g("ZodVoid",(e,t)=>{gf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function qx(e){return yp(Ag,e)}var gi=g("ZodDate",(e,t)=>{hf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Gp(e,r,o,i),e.min=(r,o)=>e.check(Ee(r,o)),e.max=(r,o)=>e.check(Ue(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 Kx(e){return bp(gi,e)}var kg=g("ZodArray",(e,t)=>{yf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(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($n(n,r)),e.length=(n,r)=>e.check(Ln(n,r)),e.unwrap=()=>e.element});function hi(e,t){return Sp(kg,e,t)}function Yx(e){let t=e._zod.def.shape;return nl(Object.keys(t))}var yi=g("ZodObject",(e,t)=>{bf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(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:Wn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Wn()}),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 Jx(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new yi(n)}function Xx(e,t){return new yi({type:"object",shape:e,catchall:el(),...I.normalizeParams(t)})}function Qx(e,t){return new yi({type:"object",shape:e,catchall:Wn(),...I.normalizeParams(t)})}var bi=g("ZodUnion",(e,t)=>{Xo.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function tl(e,t){return new bi({type:"union",options:e,...I.normalizeParams(t)})}var Tg=g("ZodXor",(e,t)=>{bi.init(e,t),vf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function eC(e,t){return new Tg({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Ig=g("ZodDiscriminatedUnion",(e,t)=>{bi.init(e,t),_f.init(e,t)});function tC(e,t,n){return new Ig({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var Og=g("ZodIntersection",(e,t)=>{Sf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o)});function zg(e,t){return new Og({type:"intersection",left:e,right:t})}var Ng=g("ZodTuple",(e,t)=>{Za.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Dg(e,t,n){let r=t instanceof D,o=r?n:t;return new Ng({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var vi=g("ZodRecord",(e,t)=>{xf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Mg(e,t,n){return new vi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function nC(e,t,n){let r=ve(e);return r._zod.values=void 0,new vi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function rC(e,t,n){return new vi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var $g=g("ZodMap",(e,t)=>{Cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(sn(...n)),e.size=(...n)=>e.check(Mn(...n))});function oC(e,t,n){return new $g({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Lg=g("ZodSet",(e,t)=>{Ef.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(sn(...n)),e.size=(...n)=>e.check(Mn(...n))});function iC(e,t){return new Lg({type:"set",valueType:e,...I.normalizeParams(t)})}var jr=g("ZodEnum",(e,t)=>{wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Zp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new jr({...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 jr({...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 jr({type:"enum",entries:n,...I.normalizeParams(t)})}function sC(e,t){return new jr({type:"enum",entries:e,...I.normalizeParams(t)})}var Wg=g("ZodLiteral",(e,t)=>{Rf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(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 aC(e,t){return new Wg({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Fg=g("ZodFile",(e,t)=>{Pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e.min=(n,r)=>e.check(Rt(n,r)),e.max=(n,r)=>e.check(sn(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function cC(e){return xp(Fg,e)}var Gg=g("ZodTransform",(e,t)=>{Af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new On(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 Gg({type:"transform",transform:e})}var ol=g("ZodOptional",(e,t)=>{ja.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function di(e){return new ol({type:"optional",innerType:e})}var Zg=g("ZodExactOptional",(e,t)=>{kf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function jg(e){return new Zg({type:"optional",innerType:e})}var Ug=g("ZodNullable",(e,t)=>{Tf.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 mi(e){return new Ug({type:"nullable",innerType:e})}function lC(e){return di(mi(e))}var Bg=g("ZodDefault",(e,t)=>{If.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Vg(e,t){return new Bg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Hg=g("ZodPrefault",(e,t)=>{Of.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 qg(e,t){return new Hg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var il=g("ZodNonOptional",(e,t)=>{zf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kg(e,t){return new il({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Yg=g("ZodSuccess",(e,t)=>{Nf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function uC(e){return new Yg({type:"success",innerType:e})}var Jg=g("ZodCatch",(e,t)=>{Df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Xg(e,t){return new Jg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Qg=g("ZodNaN",(e,t)=>{Mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function dC(e){return _p(Qg,e)}var sl=g("ZodPipe",(e,t)=>{$f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.in=t.in,e.out=t.out});function fi(e,t){return new sl({type:"pipe",in:e,out:t})}var al=g("ZodCodec",(e,t)=>{sl.init(e,t),Qo.init(e,t)});function mC(e,t,n){return new al({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var eh=g("ZodReadonly",(e,t)=>{Lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ug(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function th(e){return new eh({type:"readonly",innerType:e})}var nh=g("ZodTemplateLiteral",(e,t)=>{Wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o)});function fC(e,t){return new nh({type:"template_literal",parts:e,...I.normalizeParams(t)})}var rh=g("ZodLazy",(e,t)=>{Zf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>mg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function oh(e){return new rh({type:"lazy",getter:e})}var ih=g("ZodPromise",(e,t)=>{Gf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>dg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function pC(e){return new ih({type:"promise",innerType:e})}var sh=g("ZodFunction",(e,t)=>{Ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o)});function gC(e){return new sh({type:"function",input:Array.isArray(e?.input)?Dg(e?.input):e?.input??hi(Wn()),output:e?.output??Wn()})}var _i=g("ZodCustom",(e,t)=>{jf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o)});function hC(e){let t=new Q({check:"custom"});return t._zod.check=e,t}function yC(e,t){return Cp(_i,e??(()=>!0),t)}function ah(e,t={}){return Ep(_i,e,t)}function ch(e){return wp(e)}var bC=Rp,vC=Pp;function _C(e,t={}){let n=new _i({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 SC=(...e)=>Ap({Codec:al,Boolean:Hr,String:Ur},...e);function xC(e){let t=oh(()=>tl([Nc(e),vg(),_g(),Eg(),hi(t),Mg(Nc(),t)]));return t}function CC(e,t){return fi(rl(e),t)}var EC={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 wC(e){le({customError:e})}function RC(){return le().customError}var cl;(function(e){})(cl||(cl={}));var $0=()=>{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=$d(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 lh(){return{localeError:$0()}}var uh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ll={};ln(ll,{bigint:()=>G0,boolean:()=>F0,date:()=>Z0,number:()=>W0,string:()=>L0});function L0(e){return Vf(Ur,e)}function W0(e){return Qf(Vr,e)}function F0(e){return sp(Hr,e)}function G0(e){return cp(qr,e)}function Z0(e){return vp(gi,e)}le(lh());var j0=ul;var PC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var Si=64,AC="Rule config exceeds CC Safety Net's safe source limit.";var gB=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var mh=[{id:"secret.basename.env",category:"Basename",label:".env",description:"Blocks exact .env files.",basename:".env"},{id:"secret.basename.npmrc",category:"Basename",label:".npmrc",description:"Blocks npm credential config files.",basename:".npmrc"},{id:"secret.basename.pypirc",category:"Basename",label:".pypirc",description:"Blocks Python package index credential files.",basename:".pypirc"},{id:"secret.basename.netrc",category:"Basename",label:".netrc",description:"Blocks machine login credential files.",basename:".netrc"},{id:"secret.basename.git-credentials",category:"Basename",label:".git-credentials",description:"Blocks Git credential storage files.",basename:".git-credentials"},{id:"secret.basename.id-rsa",category:"Basename",label:"id_rsa",description:"Blocks RSA private key basenames.",basename:"id_rsa"},{id:"secret.basename.id-ed25519",category:"Basename",label:"id_ed25519",description:"Blocks Ed25519 private key basenames.",basename:"id_ed25519"},{id:"secret.basename.id-ecdsa",category:"Basename",label:"id_ecdsa",description:"Blocks ECDSA private key basenames.",basename:"id_ecdsa"},{id:"secret.basename.credentials",category:"Basename",label:"credentials",description:"Blocks generic credentials file basenames.",basename:"credentials"}],dl={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},U0=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],B0=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],fh=[{id:"secret.home.ssh",category:"Home path",label:"~/.ssh",description:"Blocks home SSH configuration and key paths.",suffixParts:[".ssh"]},{id:"secret.home.aws",category:"Home path",label:"~/.aws",description:"Blocks home AWS credential and config paths.",suffixParts:[".aws"]},{id:"secret.home.gcp",category:"Home path",label:"~/.gcp",description:"Blocks home GCP credential paths.",suffixParts:[".gcp"]},{id:"secret.home.gcloud-config",category:"Home path",label:"~/.config/gcloud",description:"Blocks home Google Cloud SDK credential paths.",suffixParts:[".config","gcloud"]},{id:"secret.home.kube-config",category:"Home path",label:"~/.kube/config",description:"Blocks home Kubernetes config files.",suffixParts:[".kube","config"]},{id:"secret.home.docker-config",category:"Home path",label:"~/.docker/config.json",description:"Blocks home Docker credential config files.",suffixParts:[".docker","config.json"]},...B0.flatMap((e)=>U0.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"]},{id:"secret.cli.grok-build",category:"Coding CLI credential",label:"Grok Build credentials",paths:["~/.grok/auth.json","~/.grok/mcp_credentials.json"]},{id:"secret.cli.grok-build.config",category:"Coding CLI config",label:"Grok Build config",paths:["~/.grok/config.toml","~/.grok/managed_config.toml","~/.grok/requirements.toml","<project>/.grok/config.toml","/etc/grok/managed_config.toml","/etc/grok/requirements.toml"]}],kC=[{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"}],V0=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],ph=kC.map((e)=>({id:`secret.variant.${e.slug}.separator`,category:"Variant",label:`${e.label}-* / ${e.label}_*`,description:`Blocks ${e.label} variants with dash or underscore suffixes.`,prefix:e.prefix})),gh=kC.flatMap((e)=>V0.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}))),xi={id:"secret.pattern.ssh-key-basename",category:"Pattern",label:"*_(rsa|dsa|ed25519|ecdsa)",description:"Blocks extensionless SSH private key-like basenames.",pattern:/^.*_(rsa|dsa|ed25519|ecdsa)$/},hh=["agilekeychain","asc","bek","cscfg","fve","gnucash","jks","keychain","kwallet","mdf","ovpn","p12","pcap","pem","pfx","pkcs12","psafe3","rdp","sdf","tblk","tpm"].map((e)=>({id:`secret.ext.${e}`,category:"Extension",label:`.${e}`,description:`Blocks files with the .${e} extension.`,extension:e})),yh=[{id:"secret.ext-pattern.key",category:"Extension pattern",label:".key / .keypair",description:"Blocks key and keypair extension patterns.",pattern:/^key(pair)?$/},{id:"secret.ext-pattern.keystore",category:"Extension pattern",label:".keystore / .keyring",description:"Blocks keystore and keyring extension patterns.",pattern:/^key(store|ring)$/},{id:"secret.ext-pattern.kdbx",category:"Extension pattern",label:".kdb / .kdbx",description:"Blocks KeePass database extension patterns.",pattern:/^kdbx?$/}],TC=[...mh,dl,...fh,...ph,...gh,xi,...hh,...yh,...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}})),fl=new Set(ml.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),H0=TC.map((e)=>e.id),Ci=new Set(H0);var kB=q0(import.meta.url),IC,K0=Array(Si+1).fill("over-limit"),OC=/^[^/]+\/[^/]+$/,pl=`must be an integer between ${Cl} and ${El}`,Y0=["version","rules","overrides","transparent_wrappers"],J0=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function zC(e){if(!dt(e)||!Array.isArray(e.rules)||e.rules.length<=Si)return e;return{$schema:e.$schema,version:e.version,rules:K0,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function X0(){let e=dh,t=(w)=>{let T=e.superRefine(w);return T._zod.def.when=()=>!0,T},n=e.enum(PC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(Qn,`must be at most ${Qn} 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(hn,"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(Si,AC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:OC.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=(w,T)=>{if(!dt(w))return;if(Array.isArray(w.rules)&&w.rules.length<=Si){let S=new Set;w.rules.forEach((E,O)=>{if(typeof E!=="string"||E==="")return;if(E.trim()===""){T.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",O]});return}let Z=qh(E);if(Z){T.addIssue({code:"custom",message:Z,path:["rules",O]});return}if(S.has(E)){T.addIssue({code:"custom",message:`duplicate rulebook source "${E}"`,path:["rules",O]});return}S.add(E)})}if(dt(w.overrides))for(let S of Object.keys(w.overrides)){if(OC.test(S))continue;T.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",S]})}if(!Array.isArray(w.transparent_wrappers))return;let V=new Set;w.transparent_wrappers.forEach((S,E)=>{if(typeof S!=="string"||!hn.test(S))return;if(V.has(S)){T.addIssue({code:"custom",message:`duplicate command "${S}"`,path:["transparent_wrappers",E]});return}if(Lv(S)){T.addIssue({code:"custom",message:`reserved command "${S}" cannot be a wrapper`,path:["transparent_wrappers",E]});return}V.add(S)})},c=e.preprocess(zC,s.check(e.superRefine(a))),l=e.preprocess(zC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(w,T)=>e.intersection(e.record(e.string().refine((V)=>w.has(V),{error:(V)=>`unknown ${T} rule id "${String(V.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),m=(w)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((T,V)=>{if(!Array.isArray(T))return;let S=un();T.forEach((E,O)=>{if(typeof E!=="string")return;let Z=w(E,S);if(Z)V.addIssue({code:"custom",message:Z,path:[O]})})})),f=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(ao,"destructive command").optional(),allow_paths:m(Ms).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Ci,"secret protection").optional(),deny_paths:m($s).optional(),allow_paths:m(Ls).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:pl}).int(pl).min(Cl,pl).max(El,pl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(w,T)=>{if(!Array.isArray(w))return;let V=new Set;w.forEach((S,E)=>{let O=dt(S)?S.name:void 0;if(typeof O!=="string")return;if(V.has(O.toLowerCase())){T.addIssue({code:"custom",message:`duplicate rule name "${O}"`,path:[E,"name"]});return}V.add(O.toLowerCase())})},h=(w)=>{let T=(E,O)=>w==="legacy"?E:O,V=T("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),S=`required non-empty string up to ${Qn} characters`;return e.looseObject({name:e.string({error:"required string"}).regex(mn,T("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:T("required string","required string matching command pattern")}).regex(hn,T(V,"required string matching command pattern")),subcommand:e.string({error:T("must be a string if provided","must match command pattern")}).regex(hn,V).optional(),block_args:e.array(e.string({error:T("must be a string","must be a non-empty string")}).refine((E)=>E!=="",{error:T("must not be empty","must be a non-empty string")}),{error:T("required array","required non-empty array")}).refine((E)=>E.length>0,{error:T("must have at least one element","required non-empty array")}),reason:e.string({error:T("required string",S)}).refine((E)=>E!=="",{error:T("must not be empty",S)}).refine((E)=>E.length<=Qn,{error:T(`must be at most ${Qn} characters`,S)}),intent:n.optional()},{error:"must be an object"})},y=(w)=>e.array(h(w),{error:w==="legacy"?"must be an array":"required array"}).check(t(p)),b=e.looseObject({version:e.literal(1),rules:y("legacy").optional()}),R="required string matching rule name pattern",A=e.looseObject({command:e.string({error:"required non-empty string"}).refine((w)=>w.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((w,T)=>{if(!dt(w))return;if(w.expect!=="blocked"||typeof w.rule==="string")return;T.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),C=(w,T)=>{if(!dt(w))return;let V=new Set(bh(w));if(Array.isArray(w.tests)){let E=new Set(w.tests.flatMap((O)=>dt(O)&&O.expect==="blocked"&&typeof O.rule==="string"?[O.rule]:[]));for(let O of E){if(V.has(O))continue;T.addIssue({code:"custom",message:`blocked fixture references unknown rule "${O}"`,path:["tests"]})}}if(!Array.isArray(w.allowed_commands)||!Array.isArray(w.rules))return;let S=new Set(w.allowed_commands.filter((E)=>typeof E==="string"));w.rules.forEach((E,O)=>{let Z=dt(E)?E.command:void 0;if(typeof Z!=="string"||S.has(Z))return;T.addIssue({code:"custom",message:`"${Z}" must be listed in allowed_commands`,path:["rules",O,"command"]})})},P=(w)=>e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(mn,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((T)=>T!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(hn,"must match command pattern"),{error:"required array"}).check(t((T,V)=>{if(!Array.isArray(T))return;let S=new Set;T.forEach((E,O)=>{if(typeof E!=="string"||!hn.test(E))return;if(S.has(E)){V.addIssue({code:"custom",message:`duplicate command "${E}"`,path:[O]});return}S.add(E)})})),rules:w,tests:e.array(A,{error:"must be an array if provided"}).optional()}).check(t(C)),L=P(y("rulebook")),k=e.string({error:"must be a non-empty string"}).refine((w)=>w!=="",{error:"must be a non-empty string"}),U="must be a non-empty array of unique non-empty strings",ie="required non-empty array of non-empty strings",se=e.array(k,{error:"must be a non-empty array of unique non-empty strings"}).refine((w)=>w.length>0,{error:"must be a non-empty array of unique non-empty strings"}).refine((w)=>new Set(w).size===w.length,{error:"must not contain duplicate values"}),J=e.looseObject({command_path:e.array(k,{error:"required non-empty array of non-empty strings"}).refine((w)=>w.length>0,{error:"required non-empty array of non-empty strings"}),any_args:se.optional(),exclude_args:se.optional()},{error:"required object"}),B=P(e.array(h("rulebook").omit({subcommand:!0,block_args:!0}).extend({match:J,subcommand:e.never({error:"not supported in rulebook_version 2"}).optional(),block_args:e.never({error:"not supported in rulebook_version 2"}).optional()}),{error:"required array"}).check(t(p)));return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:f,LegacyConfigSchema:b,RulebookSchema:L,RulebookV2Schema:B}}function Ei(){return IC??=X0(),IC}function NC(){return Ei().RulesConfigSchema}function Q0(){return Ei().UserPolicySchema}function DC(){return Ei().RulebookSchema}function MC(){return Ei().RulebookV2Schema}function bh(e){let t=dt(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=dt(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function $C(e){let t=Ei().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:gl(FC(t.error.issues,Y0)),sources:rM(e,t.error.issues)}}function LC(e){let t=Q0().safeParse(e);if(t.success)return[];return gl(FC(t.error.issues,J0)," ")}function gl(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=nM(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}${eM(e)}`]}function eM(e){if(e.code==="invalid_value")return`must be ${tM(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 tM(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 nM(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function FC(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 rM(e,t){let n=dt(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 dt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}var GC={standard:0,strict:1,paranoid:2};function UC(e,t){return{policy:{version:1,safety:{level:t.safety?.level??e.safety.level,overrides:{...e.safety.overrides,...t.safety?.overrides}},workflow:{worktree_mode:t.workflow?.worktree_mode??e.workflow.worktree_mode},destructive_command_protection:{enabled:t.destructive_command_protection?.enabled??e.destructive_command_protection.enabled,overrides:{...e.destructive_command_protection.overrides,...t.destructive_command_protection?.overrides},allow_paths:vh(e.destructive_command_protection.allow_paths,t.destructive_command_protection?.allow_paths)},secret_protection:{enabled:t.secret_protection?.enabled??e.secret_protection.enabled,overrides:{...e.secret_protection.overrides,...t.secret_protection?.overrides},deny_paths:vh(e.secret_protection.deny_paths,t.secret_protection?.deny_paths),allow_paths:vh(e.secret_protection.allow_paths,t.secret_protection?.allow_paths)},audit:e.audit},weakenings:oM(e,t)}}function vh(e,t){return[...new Set([...e,...t??[]])]}function oM(e,t){let n=t.safety?.level,r=la[e.safety.level];return[...n&&GC[n]<GC[e.safety.level]?[`project policy lowers level: ${e.safety.level} -> ${n}`]:[],...Wo.flatMap((o)=>t.safety?.overrides?.[o]===!1&&(e.safety.overrides[o]??r[o])?[`project policy disables ${o}`]:[]),...t.workflow?.worktree_mode===!0&&!e.workflow.worktree_mode?["project policy enables worktree mode relaxations"]:[],...t.destructive_command_protection?.enabled===!1&&e.destructive_command_protection.enabled?["project policy disables destructive command protection"]:[],...t.secret_protection?.enabled===!1&&e.secret_protection.enabled?["project policy disables secret protection"]:[],...ZC(t.destructive_command_protection?.overrides,(o)=>e.destructive_command_protection.enabled&&e.destructive_command_protection.overrides[o]!=="off"),...ZC(t.secret_protection?.overrides,(o)=>e.secret_protection.enabled&&(e.secret_protection.overrides[o]==="on"?!0:e.secret_protection.overrides[o]!=="off"&&!fl.has(o))),...e.destructive_command_protection.enabled?jC(e.destructive_command_protection.allow_paths,t.destructive_command_protection?.allow_paths).map((o)=>`project policy adds destructive allow path: ${o}`):[],...e.secret_protection.enabled?jC(e.secret_protection.allow_paths,t.secret_protection?.allow_paths).map((o)=>`project policy adds secret allow path: ${o}`):[]]}function ZC(e,t){return Object.entries(e??{}).flatMap(([n,r])=>r==="off"&&t(n)?[`project policy disables rule ${n}`]:[])}function jC(e,t){return(t??[]).filter((n)=>!e.includes(n))}function iM(e){return $C(e)}function _h(e){try{let t=Mi(sM(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=iM(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=NC().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof pe)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 sM(e){return typeof e==="string"?Gh(e):e}var xh=new Set(["standard","strict","paranoid"]),KC={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:Oi}};function Ch(e){return uM(lM(Vn(e)),pn)}function YC(e={}){let t=pM(Ch(e)),n=Xr(e.cwd),r=tE(n),o=mM(r.parsed),i=Object.keys(o.policy).length>0?UC(t.gui??KC,o.policy):void 0,s=[...t.errors,...r.errors,...o.diagnostics],a=(t.fallback==="defaults"&&i?"salvaged":t.fallback)??(t.gui?void 0:r.fallback)??(s.length>0?"salvaged":void 0),c=o.policy.safety?.level?"project":t.levelPresent?"user":"default";return{...i?Sh(i.policy):t.policy,errors:s,...a?{fallback:a}:{},...r.exists?{policyScopes:{levelScope:c,weakenings:i?.weakenings??[]}}:{}}}var dM="project policy audit settings are ignored; audit is user scope only";function mM(e){if(!ge(e))return{policy:{},diagnostics:[]};let t=ge(e.safety)?e.safety:{},n=ge(e.workflow)?e.workflow:{},r=ge(e.destructive_command_protection)?e.destructive_command_protection:{},o=ge(e.secret_protection)?e.secret_protection:{},i={...xh.has(t.level)?{level:t.level}:{},...ge(t.overrides)?BC({overrides:JC(t.overrides,Wo)}):{}},s={...typeof r.enabled==="boolean"?{enabled:r.enabled}:{},...r.overrides!==void 0?{overrides:hl(r.overrides,ao)}:{},...r.allow_paths!==void 0?{allow_paths:QC(r.allow_paths)}:{}},a={...typeof o.enabled==="boolean"?{enabled:o.enabled}:{},...o.overrides!==void 0?{overrides:hl(o.overrides,Ci)}:{},...o.deny_paths!==void 0?{deny_paths:XC(o.deny_paths)}:{},...o.allow_paths!==void 0?{allow_paths:eE(o.allow_paths)}:{}};return{policy:BC({safety:i,workflow:typeof n.worktree_mode==="boolean"?{worktree_mode:n.worktree_mode}:{},destructive_command_protection:s,secret_protection:a}),diagnostics:e.audit===void 0?[]:[dM]}}function JC(e,t){return Object.fromEntries(t.flatMap((n)=>typeof e[n]==="boolean"?[[n,e[n]]]:[]))}function BC(e){return Object.fromEntries(Object.entries(e).flatMap((t)=>Object.keys(t[1]).length>0?[t]:[]))}function VC(e){if(!ge(e))return fM();let t=ge(e.safety)?e.safety:{},n=ge(t.overrides)?t.overrides:{},r=ge(e.workflow)?e.workflow:{},o=ge(e.destructive_command_protection)?e.destructive_command_protection:{},i=ge(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:xh.has(t.level)?t.level:"standard",overrides:JC(n,Wo)},workflow:{worktree_mode:typeof r.worktree_mode==="boolean"?r.worktree_mode:!1},destructive_command_protection:{enabled:typeof o.enabled==="boolean"?o.enabled:!0,overrides:hl(o.overrides,ao),allow_paths:QC(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:hl(i.overrides,Ci),deny_paths:XC(i.deny_paths),allow_paths:eE(i.allow_paths)},audit:{retention_days:zi(ge(e.audit)?e.audit.retention_days:void 0)}}}function hl(e,t){if(!ge(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function XC(e){if(!Array.isArray(e))return[];let t=un();return e.filter((n)=>$s(n,t)===null)}function QC(e){if(!Array.isArray(e))return[];let t=un();return e.filter((n)=>Ms(n,t)===null)}function eE(e){if(!Array.isArray(e))return[];let t=un();return e.filter((n)=>Ls(n,t)===null)}function ge(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function fM(){return structuredClone(KC)}function tE(e){if(!aM(e))return{exists:!1,errors:[]};try{let t=cM(e,"utf-8");if(!t.trim())return{exists:!0,errors:[`${e}: Config file is empty`],fallback:"defaults"};let n=JSON.parse(t),r=LC(n);if(r.length===0)return{exists:!0,parsed:n,errors:[]};return{exists:!0,parsed:n,errors:r.map((o)=>`${e}: ${o}`),fallback:ge(n)?"salvaged":"defaults"}}catch(t){let n=t instanceof Error?t.message:String(t);return{exists:!0,errors:[`${e}: ${t instanceof SyntaxError?"Invalid JSON":n}`],fallback:"defaults"}}}function pM(e){let t=tE(e);if(!t.exists){let r=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!ge(r))return{policy:qC(),errors:[]};let o=VC(r);return{policy:Sh(o),gui:o,errors:[],levelPresent:HC(r)}}if(t.parsed===void 0)return{policy:qC(),errors:t.errors,...t.fallback?{fallback:t.fallback}:{}};let n=VC(t.parsed);return{policy:Sh(n),gui:n,errors:t.errors,...t.fallback?{fallback:t.fallback}:{},levelPresent:HC(t.parsed)}}function HC(e){let t=ge(e)&&ge(e.safety)?e.safety:{};return xh.has(t.level)}function nE(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...fl].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function qC(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:nE({}),denyPaths:[],allowPaths:[]}}}function Sh(e){return{safety:gM(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:nE(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function gM(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 sE="This path contains the protected policy config and you must not modify or delete it.",hM=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function aE(e){let t=Ot(Qe()),n=xM(e.invocation.context,t);if(e.invocation.route.kind==="patch")return rE(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=xe(e,"input-candidate");if(e.invocation.route.kind==="command")return r?oE(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=oE(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return rE(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Is(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function rE(e,t,n,r,o){if(t)return null;let i=e.find((s)=>wi(s,n,r,o));return i?{target:i}:null}function oE(e,t,n,r){let o=sr(e,t,r,{findSegmentTarget:(i,s)=>yM(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>wi(i,s.cwd,n,r),findMalformedTarget:(i)=>SM(i,t,n,r)?.target??null,normalizeCwd:ye});return o?{target:o}:null}function yM(e,t,n,r){if(So(e))return null;let o=r.environment,i=Vt([...e],o),s=F(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&bM(a)){let c=vM(a).find((l)=>iE(Le(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Vs(i,1)||$u(i,o)){let l=(Bs(j(i))??j(["."])).find((u)=>{let d=Le(u.text,t.variables);return wi(d,t.cwd,n,r)||iE(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=Os(a).sources.find((l)=>CM(Le(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(_M(e,o))return null;for(let c of[...e,...i])for(let l of cE(c))if(wi(Le(l,t.variables),t.cwd,n,r))return{target:l};return null}function bM(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function vM(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 _M(e,t){let n=Vt([...e],t);if(n.length===0)return!1;let r=F(n[0]??"").toLowerCase();if(!hM.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 SM(e,t,n,r){for(let o of e.split(/\s+/))for(let i of cE(o))if(wi(i,t,n,r))return{target:i};return null}function cE(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function xM(e,t){let n=(s)=>Ri(ye(s,e.executionCwd,t)),r=n(Ch()),o=[n(Xr(e.executionCwd)),n(Xr(e.configCwd))],i=new Set(o.map((s)=>yl(s)));for(let s=yl(r);;s=yl(s))if(i.add(s),yl(s)===s)break;return{files:new Set([r,...o]),directoriesAndAncestors:i}}function wi(e,t,n,r){let o=mv(e,t,r,(i)=>Ri(i)===pn);return o!==null&&n.files.has(Ri(o))}function iE(e,t,n,r){return n.directoriesAndAncestors.has(Ri(ye(e,t,r)))}function CM(e,t,n,r){let o=Ri(ye(e,t,r));return n.files.has(o)||n.directoriesAndAncestors.has(o)}function Ri(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as Ph}from"os";import{isAbsolute as bl,posix as EM,resolve as _l,win32 as wM}from"path";import{fileURLToPath as RM}from"url";var _E="Access to a sensitive path is not allowed.",SE=new Set(["echo","printf"]),PM=new Set(["find"]),AM=new Set(["-exec","-execdir"]),kM=new Set([";","+"]),TM=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),IM=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),xE=new Set(["-d","--data","--data-ascii","--data-binary","--data-urlencode","-F","--form"]),OM=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),zM=new Set(["node","bun"]),NM=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),DM=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"]),CE=new Set(["-c","-e","-r","-E","--eval","--exec"]),MM=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"])]]),$M=new Set(["grep","rg"]),lE="f",uE="file",LM="files",WM=new Set(["e","f"]),FM=new Set(["regexp","file"]),GM=new Set(["e","f","A","B","C","m"]),ZM=new Set(["regexp","file","after-context","before-context","context","max-count"]),jM=new Set(["|","|&"]),Eh="__CC_SAFETY_NET_PIPE_INPUT__",EE=new Set(["bash","sh","zsh","dash","ksh"]),UM=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 dE(e,t,n,r,o){let i=Qr();for(let s of e){if(z$(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=I$(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&N$(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function wE(e,t,n={}){let r=mE(e),o=dE(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?mE(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:dE(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&BM(e))return null;return s}function BM(e){if(e.invocation.route.kind!=="command")return!1;let t=xe(e,"input-candidate")??xe(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(yt(s.text))}let r=Kr(n);if(r.length===0)return!1;let o=Zn(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)=>TM.has(s))}function mE(e,t={}){if(e.invocation.route.kind==="command"){let r=xe(e,"input-candidate");return r?ki(r.shell,e.store,t,fE(r)):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=xe(e,"input-candidate");return[...n?ki(n.shell,e.store,t,fE(n)):[],...e.paths]}function fE(e){return e.program.dialect==="powershell"}function ki(e,t,n,r=!1){if(e.status==="structural-limit")throw new ht;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let o=[...e.assignmentFallbacks,...f$(yt(e.source),t,n)],i=[],s=null;for(let a of e.entries){if(a.kind==="operator"){if(!a.boundary)continue;if(i.length>0){if(o.push(...vl(i,t,n)),s!==null)o.push(...pE(s,i,t,n));s=jM.has(a.operator)?i:null,i=[]}else s=null;continue}if(a.kind==="redirection"){let c=a.target?yt(hE(a.target,r)):void 0;if(c&&a.targetOrder==="legacy-segment")i.push(c);else if(c)o.push(c);continue}i.push(yt(hE(a.text,r)))}if(i.length>0){if(o.push(...vl(i,t,n)),s!==null)o.push(...pE(s,i,t,n))}return o}function vl(e,t,n){let r=e$(e),o=Kr(e);if(o.length===0)return r;let i=o[0]??"",s=Zn(i).toLowerCase(),a=o.slice(1),c=VM(i,s,a);if(c)return[...r,...c];if(SE.has(s))return r;if($M.has(s))return[...r,...S$(a)];if(PM.has(s))return[...r,...o$(a,t,n)];if(We.has(s))return[...r,...a.flatMap((l)=>wh("awk",l)),...a.flatMap((l)=>s$(l,t,n)),...a.flatMap(a$)];if(s==="curl")return[...r,...a.flatMap((l)=>wh(s,l)),...t$(a)];if(AE(s)){if(EE.has(s)){let l=lv(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new ht}return[...r,...i$(s,a,n)]}return[...r,...a.flatMap((l)=>wh(s,l))]}function VM(e,t,n){let r=ma(t,n);if(r===null||n[r]!=="explain")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 pE(e,t,n,r){if(JM(t,n,r))return HM(e);let o=XM(t);if(o===null)return[];return qM(e).flatMap((i)=>EE.has(o)?ki(n.getShellSyntax(i),n,r):TE(i))}function HM(e){let t=Kr(e);if(t.length===0)return[];let n=Zn(t[0]??"").toLowerCase();if(!SE.has(n))return[];return t.slice(1)}function qM(e){let t=Kr(e);if(t.length===0)return[];let n=Zn(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 KM(r);return[]}function KM(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[RE(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>YM(t,r.slice(i*n,(i+1)*n)))}function YM(e,t){let n=0;return RE(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function RE(e){return e.replace(/\\n/g,`
99
- `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function JM(e,t,n){let r=Kr(e);if(r.length===0||Zn(r[0]??"").toLowerCase()!=="xargs")return!1;let o=Rn(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,Eh]:i.map((c)=>c.split(s).join(Eh));return vl(a,t,n).some((c)=>c.includes(Eh))}function XM(e){let t=Kr(e);if(t.length===0)return null;let n=Zn(t[0]??"").toLowerCase();if(!AE(n))return null;return QM(n,t.slice(1))?n:null}function QM(e,t){let n=PE(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(CE.has(o)||kE(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(UM.get(n)?.has(o))r++;continue}return!1}return!0}function PE(e){return/^python\d/.test(e)?"python":e}function e$(e){let t=[];for(let n of e){if(zE(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}var gE=/^(?:\$\{home\}|\$\{env:(?:userprofile|home)\}|~)(?=[\\/])/i;function hE(e,t){if(!t||!gE.test(e))return e;return`~${e.replace(gE,"").replace(/\\/g,"/")}`}function wh(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 t$(e){return e.flatMap((t,n)=>{let r=r$(t);if(r!==null)return yE(r.flag,r.value);let o=n$(e[n-1]);return o===null?[]:yE(o,t)})}function yE(e,t){if(e==="-F"||e==="--form"){let n=t.indexOf("="),r=n===-1?t:t.slice(n+1);if(!r.startsWith("@")&&!r.startsWith("<"))return[];return Rh(r.slice(1).split(";")[0]??"")}if(e==="--data-urlencode"){let n=t.indexOf("@"),r=t.indexOf("=");if(n===-1||r!==-1&&r<n)return[];return Rh(t.slice(n+1))}return t.startsWith("@")?Rh(t.slice(1)):[]}function n$(e){if(e===void 0)return null;if(xE.has(e))return e;return/^-[A-Za-z]+[dF]$/.test(e)?`-${e.slice(-1)}`:null}function r$(e){let t=e.slice(0,2);if(e.length>2&&(t==="-d"||t==="-F"))return{flag:t,value:e.slice(2)};let n=e.indexOf("=");if(n===-1)return null;let r=e.slice(0,n);return xE.has(r)?{flag:r,value:e.slice(n+1)}:null}function Rh(e){return e===""||e==="-"?[]:[e]}function o$(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(!AM.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>kM.has(u)),c=a===-1?s:s.slice(0,a),l=vl(c,t,n);if(o.push(...l.filter((u)=>u!=="{}")),!l.includes("{}"))continue;o.push(...e.slice(0,i).flatMap((u,d,m)=>{if(!IM.has(u))return[];let f=m[d+1];return f===void 0?[]:[f,f.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function AE(e){return OM.has(e)||/^python\d/.test(e)}function i$(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(CE.has(i)||kE(e,i)){let a=t[o+1];if(a!==void 0)r.push(...bE(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...bE(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function kE(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return MM.get(t[t.length-1]??"")?.has(PE(e))??!1}function s$(e,t,n){if(!e.includes("system"))return[];return zu(e)?.commands.flatMap((r)=>ki(t.getShellSyntax(r),t,n))??[]}function a$(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 TE(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(IE),...n]}function bE(e,t,n){let r=TE(t);if(!n.refineJavaScriptInlineData||!zM.has(e)||r.length===0)return r;let o=c$(t);return o!==null&&!u$(o)?[]:r}function c$(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&l$(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
100
- `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function l$(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 u$(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(NM.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)=>DM.has(i)))continue;if(o.length>1)return!0;if(d$(e,r)===".")return!0;if(m$(e,r+n.length)==="(")return!0}return!1}function d$(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function m$(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function f$(e,t,n){return b$(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...ki(o,t,n),...p$(o)?g$(o):[]]})}function p$(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||Zn(yt(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=yt(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function g$(e){return e.entries.flatMap((t)=>t.kind==="word"?[yt(t.text)]:t.kind==="redirection"&&t.target?[yt(t.target)]:[]).flatMap(IE)}function IE(e){let t=y$(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||h$(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function h$(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function y$(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 b$(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(OE(e,r,n)){let i=v$(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=_$(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function v$(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(OE(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 _$(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 OE(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function S$(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]??"",m=u[2];if(d===LM)o=!0;if(FM.has(d))r=!0;if(m!==void 0){if(d===uE)t.push(m);continue}if(ZM.has(d)){let f=e[c+1];if(d===uE&&f!==void 0)t.push(f);c++}continue}if(l.startsWith("-")&&l.length>1){let d=l.slice(1),m="",f="";for(let p=0;p<d.length;p++){let h=d[p]??"";if(WM.has(h))r=!0;if(GM.has(h)){m=h,f=d.slice(p+1);break}}if(m!=="")if(f.length>0){if(m===lE)t.push(f)}else{let p=e[c+1];if(m===lE&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Kr(e){let t=e.findIndex((n)=>!zE(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function zE(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var x$=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),C$=".env.",E$=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),w$=[".env.example.",".env.sample."];function R$(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function P$(e){return e.length>0&&!/\s/.test(e)}function A$(e,t,n){try{let r=Ti(e,t,n);return r!==""&&Be.entryKind(r)!=="missing"}catch(r){if(r instanceof Se)throw r;return!1}}var k$=new Set(["node_modules","__pycache__"]),T$=[["vendor","bundle"],["vendor","cache"]];function I$(e,t,n,r){if(R$(e))return null;let o=kt(e,t,r);if(!o)return null;let i=oe(o.split("/").pop()??""),s=oe(o),a=()=>P$(i)||A$(e,t,r);if(E$.has(i)||w$.some((d)=>i.startsWith(d)))return null;let c=oe($$(e,t,r));for(let d of fh){let m=`~/${d.suffixParts.join("/")}`;if((vE(s,m)||vE(c,m))&&Gt(d.id,n))return d.id}let l=O$(o,t,n,r);if(l)return l;if(x$.has(i))return null;for(let d of mh)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(C$)&&Gt(dl.id,n)&&a())return dl.id;for(let d of ph)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let m=i.slice(d.prefix.length)[0];if((m==="-"||m==="_")&&Gt(d.id,n)&&a())return d.id}for(let d of gh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Gt(d.id,n))return d.id}if(D$(s))return null;if(!i.includes(".")&&xi.pattern.test(i)&&Gt(xi.id,n))return xi.id;let u=M$(i,n);if(u)return u;return null}function O$(e,t,n,r){return ml.find((o)=>{if(!Gt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return te(e,re(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=oe(e).split("/");return te(e,re(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||Ai(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 te(e,kt("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=re(process.env.CODEX_HOME,"~/.codex",t,r);return te(e,i,["auth.json",".credentials.json"])||Pi(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=re(process.env.CODEX_HOME,"~/.codex",t,r),s=oe(e).split("/").at(-1)??"";return te(e,i,["config.toml"])||s.endsWith(".config.toml")&&te(e,i,[s])}case"secret.cli.gemini":return te(e,_e(re(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=oe(e).split("/"),s=process.env.ProgramData?[_e(re(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return te(e,_e(re(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()?Ai(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>te(e,kt(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=re(process.env.COPILOT_HOME,"~/.copilot",t,r);return te(e,i,["config.json"])||Pi(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return te(e,re(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=re(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=re(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return te(e,i,["server.token"])||Pi(e,i,["credentials"])||Pi(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=oe(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||te(e,re(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||te(e,re(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=_e(re(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=oe(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return te(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&te(e,i,[s])||c.some((l)=>Ai(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?re(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):_e(re(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[_e(re(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(oe(e).split("/").at(-1)??"")||te(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?Ai(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>te(e,kt(c,t,r),a))}case"secret.cli.pi":return te(e,re(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return te(e,re(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=kt("~",t,r);return[_e(re(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),_e(i,".local","share","amp")].some((a)=>te(e,a,["secrets.json"]))||Pi(e,_e(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[_e(re(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),_e(kt("~",t,r),".config","amp")],a=oe(e).split("/");return s.some((c)=>te(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?Ai(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=_e(re(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=_e(re(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return te(e,kt("~/.cursor",t,r),["auth.json"])||te(e,i,["auth.json"])||oe(e).split("/").at(-1)==="mcp-auth.json"&&Gn(oe(e),oe(s))}case"secret.cli.cursor.config":{let i=oe(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}case"secret.cli.grok-build":return te(e,re(process.env.GROK_HOME,"~/.grok",t,r),["auth.json","mcp_credentials.json"]);case"secret.cli.grok-build.config":{let i=oe(e).split("/");return i.at(-1)==="config.toml"&&i.at(-2)===".grok"||te(e,re(process.env.GROK_HOME,"~/.grok",t,r),["config.toml","managed_config.toml","requirements.toml"])||te(e,kt("/etc/grok",t,r),["managed_config.toml","requirements.toml"])}default:return!1}})?.id??null}function re(e,t,n,r){return kt(e?.trim()?e:t,n,r)}function te(e,t,n){return n.some((r)=>NE(e,_e(t,r)))}function Pi(e,t,n){return n.some((r)=>Gn(oe(e),oe(_e(t,r))))}function Ai(e,t,n,r){return NE(e,kt(t,n,r))}function NE(e,t){return oe(e)===oe(t)}function _e(e,...t){return mt([e,...t].filter(Boolean).join("/"))}function z$(e,t,n,r,o){if(n.length===0)return!1;let i=oe(Ti(e,t,o));return n.some((s)=>Gn(i,oe(Ti(s,r,o))))}function N$(e,t,n,r,o){if(n.length===0)return!1;let i=oe(Ti(e,t,o));if(!i)return!1;let s=process.env.HOME??Ph(),a=s?mt(X(ze(s),Be,o)):"",c=oe(a),l=process.env.CC_SAFETY_NET_HOME,u=oe(l?mt(X(_l(ze(l)),Be,o)):a&&mt(X(`${a}/.cc-safety-net`,Be,o)));if(u&&Gn(i,u))return!1;return n.some((d)=>{let m=oe(Ti(d,r,o));if(!m)return!1;if(c&&(c===m||c.startsWith(m.endsWith("/")?m:`${m}/`)))return!1;return Gn(i,m)})}function D$(e){let t=e.split("/");return t.some((n)=>k$.has(n))||T$.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function M$(e,t){let n=e.lastIndexOf("."),r=n>0&&n<e.length-1?e.slice(n+1):"";if(r==="")return null;for(let o of hh)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of yh)if(o.pattern.test(r)&&Gt(o.id,t))return o.id;return null}function oe(e){return e.toLowerCase()}function Gt(e,t){return!t?.disabledRules?.includes(e)}function kt(e,t,n){let{home:r,normalized:o}=Ah(e,n);if(!o)return"";if(!r)return o;let i=kh(o,r),s=bl(i)?i:mt(_l(t,i)),a=mt(X(s,Be,n));if(!Gn(a,r)){if(bl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function vE(e,t){return e===t||e.startsWith(`${t}/`)}function $$(e,t,n){let{home:r,normalized:o}=Ah(e,n);if(!o||!r)return"";let i=kh(o,r),s=EM.normalize(bl(i)?i:mt(_l(t,i))),a=mt(ze(process.env.HOME??Ph())),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Gn(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function Ti(e,t,n){let{home:r,normalized:o}=Ah(e,n);if(!o)return"";let i=r?kh(o,r):o;return mt(X(bl(i)?i:_l(t,i),Be,n))}function Ah(e,t){let n=process.env.HOME??Ph(),r=n?mt(X(ze(n),Be,t)):"",o=mt(ze(L$(yt(e))));return{home:r,normalized:o}}function L$(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return RM(e)}catch{return e}}function kh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return _e(t,e.slice(2));return e}function W$(e){if(process.platform==="win32")return!0;return wM.parse(e).root.length>1}function mt(e){let t=e.trim(),n=(W$(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Gn(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function Zn(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as Sl}from"path";var DE="Rulebook exceeds CC Safety Net's safe validation limits.",ME="Additional rulebook validation errors were omitted.",ft=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function $E(e){if(Th(e.allowed_commands,ft.maxAllowedCommands)||Th(e.rules,ft.maxRules)||Th(e.tests,ft.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ft,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ft.maxStringCodeUnits||i&&o.length>ft.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;let s=i.match&&typeof i.match==="object"?i.match:{};for(let a of[i.block_args,s.command_path,s.any_args,s.exclude_args]){if(!Array.isArray(a))continue;if(a.length>ft.maxBlockArgsPerRule||a.length>n)return!1;n-=a.length;for(let c of a)if(!r(c))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 Th(e,t){return Array.isArray(e)&&e.length>t}function F$(e){if(!G$(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!$E(e))return{errors:[DE],ruleNames:new Set};let t=(e.rulebook_version===2?MC():DC()).safeParse(e),n=[...e.rulebook_version===1||e.rulebook_version===2?[]:["rulebook_version must be 1 or 2"],...t.success?[]:gl(t.error.issues,": ",": ")];return{errors:n.length>ft.maxValidationErrors?[...n.slice(0,ft.maxValidationErrors),ME]:n,ruleNames:new Set(bh(e).map((r)=>r.toLowerCase()))}}function LE(e){let t=F$(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function G$(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function UE(e={}){let t=Xh(e),n=!1;try{n=Zh(t.userConfigTarget,t.projectConfigTarget)}catch(m){if(m instanceof pe)return Y$(t,m.message);throw m}let r=_h(t.userConfigTarget),o=n?{config:null,errors:[]}:_h(t.projectConfigTarget),i=ZE(t.userConfigPath,r.errors),s=ZE(t.projectConfigPath,o.errors),a=new Set,c=r.config?WE(r.config,Sl(t.userConfigPath),"user",t.userScope,a):jE(),l=o.config?WE(o.config,Sl(t.projectConfigPath),"project",t.projectScope,a):jE(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...FE(c.rules,u),...FE(l.rules,d)],transparent_wrappers:q$(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?GE(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?K$(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?GE(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function WE(e,t,n,r=dn(Sl(Sl(t)),n==="user"?"user policy":"project policy"),o=new Set){let i=[],s=[],a=e.rules.flatMap((l)=>{let u=j$(l,t,r);if(u.errors.length>0||!u.rulebook)return i.push(...u.errors),[];let d=u.rulebook;if(o.has(d.name))return s.push(`duplicate active rulebook name "${d.name}" for ${l}; keeping the first and ignoring this one, so its rules are not active; rename one of them in its rulebook file and in the rules config that lists it`),[];return o.add(d.name),[{rules:Z$(d),rulebook:{source:n,spec:l,name:d.name,version:d.version,rules:d.rules.map((m)=>`${d.name}/${m.name}`)}}]}),c=a.flatMap((l)=>l.rules);return{rules:c,rulebooks:a.map((l)=>l.rulebook),entries:a.map((l)=>({spec:l.rulebook.spec,name:l.rulebook.name,version:l.rulebook.version,ruleCount:l.rulebook.rules.length})),knownRuleIds:new Set(c.map((l)=>l.name)),errors:i,warnings:s,canValidateOverrides:i.length===0}}function Z$(e){if(e.rulebook_version===2)return e.rules.map((t)=>({name:`${e.name}/${t.name}`,command:t.command,block_args:[],match:t.match,reason:t.reason,intent:t.intent}));return e.rules.map((t)=>({...t,name:`${e.name}/${t.name}`,match:void 0}))}function j$(e,t,n){let r=U$(e),o=Qh(t,r),i=V$(o,n);if("error"in i)return{rulebook:null,errors:[i.error]};if(i.content===null)return{rulebook:null,errors:[`missing rulebook file ${o} for ${e}; ${B$(e)}`]};let s=H$(i.content);if("problem"in s)return{rulebook:null,errors:[`invalid rulebook ${o}: ${s.problem}; fix that file`]};if(s.rulebook.name!==r)return{rulebook:null,errors:[`rulebook name "${s.rulebook.name}" in ${o} must match source "${e}"; fix that file`]};return{rulebook:s.rulebook,errors:[]}}function U$(e){return $i(e)?Al(e).name:e}function B$(e){return $i(e)?`run ${Jh} to vendor ${e}`:"create that file or remove that source from the rules config"}function V$(e,t){try{return{content:Mi(Jr(t,e))}}catch(n){if(n instanceof pe)return{error:n.message};throw n}}function H$(e){let t;try{t=JSON.parse(e)}catch{return{problem:"Invalid JSON"}}try{return{rulebook:LE(t)}}catch(n){return{problem:n instanceof Error?n.message:"invalid rulebook"}}}function q$(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function FE(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 GE(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 K$(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 ZE(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function Y$(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath}}function jE(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function BE(e={}){let t=UE(e),n=YC(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}),...e1(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return t1(r,J$(t,n),i,n.policyScopes)}function J$(e,t){let n=Q$(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:n1(e.errors.length>0?X$(e.errors):void 0,e.warnings.length>0?Oh(e.warnings.join("; ")):void 0,n)}}function X$(e){return`${Oh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function Q$(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 e1(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function t1(e,t,n=Object.freeze({}),r){let o=Ih(structuredClone(e)),i=r?{policyScopes:Ih(structuredClone(r))}:{};if(!t)return Object.freeze({state:"ready",policy:o,diagnostics:Object.freeze([]),ruleMetadata:n,...i});return Object.freeze({state:"degraded",policy:o,diagnostics:Object.freeze([...t.diagnostics]),reason:t.reason,ruleMetadata:n,...i})}function Ih(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))Ih(t);return Object.freeze(e)}function n1(...e){return Oh(e.filter((t)=>!!t).join("; "))}function Oh(e){return/[.!?]$/.test(e)?e:`${e}.`}class cn 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 r1={findPolicyMutation:aE,findGitMetadataMutation:hv,resolveGitMetadata:Cu,loadPolicySnapshot:BE,findSensitiveTarget:wE,analyzeCommand:RS,getModes:Cd};function VE(e,t={}){let n={...r1,...t.dependencies},r=s1(e),o=Ii(e)?e.command:r,i=an("policy-protection",o,()=>_o(e,t.factParserDependencies)),s=xe(i,"declared-command");if(Ii(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(xe(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:gy,intent:"stop_and_explain",evidence:[]}};let a=an("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),c=an("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:sE,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=an("policy-protection",o,()=>kS(i));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:AS,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=an("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(u){let b=o??u.target;return{stage:"policy-protection",decision:{kind:"deny",reason:Ke,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:u.target}]}}}let d=an("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),m=d.policy,f=n.getModes(m),p={level:f.effectiveLevel,...o1(d)},h=m.secretProtection.enabled===!1?null:an("secret-protection",o,()=>n.findSensitiveTarget(i,m.secretProtection,{strict:Ii(e)?f.strict:void 0}));if(h){let b=o??h.target;return{stage:"secret-protection",...p,decision:{kind:"deny",reason:_E,intent:"hard_stop",ruleId:h.ruleId,evidence:[{kind:"command",command:b,segment:h.target}]}}}if(!Ii(e))return{stage:"non-command",...p,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...zh("command-validation",o),...p};let y=an("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:d,environment:Qe(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},i1(i),i.store));if(y)return{stage:"command-analysis",...p,decision:y};return{stage:"command-analysis",...p,decision:{kind:"allow"}}}function o1(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function i1(e){return xe(e,"declared-command")?.program}function s1(e){try{return vo(e.input)}catch(t){let n=Ii(e)?e.command:void 0;throw new cn("policy-protection",zh("policy-protection",t instanceof $t?void 0:n,t),t)}}function an(e,t,n){try{return n()}catch(r){throw new cn(e,zh(e,r instanceof $t?void 0:t,r),r)}}function zh(e,t,n){let r=n instanceof Se||n instanceof ht;return{stage:e,decision:{kind:"deny",reason:r?hy:Wi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ii(e){return e.route.kind==="command"}function qE(e,t){try{let n=VE(e,t.guard);return HE(e,n,t),n}catch(n){if(!(n instanceof cn))throw n;throw HE(e,n.evaluation,t,!(n.cause instanceof $t),{stage:n.stage,errorCode:a1(n.cause)}),n}}function HE(e,t,n,r=!0,o){uy(ly(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function a1(e){if(e instanceof Se)return"path-canonicalization-limit";if(e instanceof $t)return"tool-input-limit";if(e instanceof ht)return"structural-shell-syntax-limit";return"unexpected-error"}var YE=l1();function l1(e={}){return(t,n)=>u1(t,n,e)}function u1(e,t,n){let r=d1(e,t),o=()=>p1(e);if("malformed"in r)return dy(r.denial,o,{agent:"amp",toolName:r.denial.toolName,cwd:r.cwd}),JE(r.denial);try{let i=qE(r,{guard:{auditAllowed:Sd(),dependencies:n.guardDependencies},audit:{agent:"amp",getSessionId:o}});return KE(i,!0)}catch(i){if(!(i instanceof cn))throw i;if(Qt(fe.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${xy(i.cause)}`);return KE(i.evaluation,r.route.kind==="command")}}function d1(e,t){if(!e||typeof e!=="object")return Yr(null);let n=e;if(typeof n.tool!=="string"||n.tool.trim()==="")return Yr(null);if(!n.input||typeof n.input!=="object")return Yr(null,n.tool);let r=m1(t);if(!r)return Yr(null,n.tool);let o=f1(t,e);if(!o.ok)return Yr(r,n.tool);if(!o.command)return gr(n.tool,n.input,{kind:vu(n.tool)},{configCwd:r,executionCwd:r},null);if(typeof o.command.command!=="string"||o.command.command.trim()==="")return Yr(r,n.tool);let i=typeof o.command.dir==="string"?fy(o.command.dir,r):r;if(!i)return{malformed:!0,denial:{reason:"CC Safety Net could not use the requested working directory because it does not exist, is inaccessible, is not a directory, or uses an unsupported path form. Use an existing accessible working directory. If the requested directory is missing, create it from an accessible location before retrying the command.",intent:"use_alternative",command:o.command.command,segment:o.command.dir,toolName:n.tool},cwd:r};return gr(n.tool,n.input,{kind:"command",shell:"posix"},{configCwd:r,executionCwd:i},o.command.command)}function m1(e){let t=e.system.workspaceRoot;if(!t)return;try{let n=e.helpers.filePathFromURI(t);if(typeof n!=="string"||n.trim()==="")return;return Dl(".",[n])}catch{return}}function f1(e,t){try{return{ok:!0,command:e.helpers.shellCommandFromToolCall(t)}}catch{return{ok:!1}}}function p1(e){if(!e||typeof e!=="object")return;let t=e.thread?.id;return typeof t==="string"&&t.trim()!==""?t:void 0}function Yr(e,t){return{malformed:!0,denial:_y({toolName:t}),cwd:e}}function KE(e,t){let n=vy(e,{includeEvidence:t});return n?JE(n):{action:"allow"}}function JE(e){return{action:"reject-and-continue",message:Sy(e)}}function g1(e){e.on("tool.call",(t)=>YE(t,e))}export{g1 as default};
98
+ `)}f.write("payload.value = newResult;"),f.write("return payload;");let E=f.compile();return(A,C)=>E(m,A,C)},i,s=Nn,a=!Go.jitless,l=a&&zd.value,u=t.catchall,d;e._zod.parse=(m,f)=>{d??(d=r.value);let p=m.value;if(!s(p))return m.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),m;if(a&&l&&f?.async===!1&&f.jitless!==!0){if(!i)i=o(t.shape);if(m=i(m,f),!u)return m;return mx([],p,m,f,d,e)}return n(m,f)}});function QS(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)=>!rn(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)=>Ie(s,r,ce())))}),t}var Qo=g("$ZodUnion",(e,t)=>{N.init(e,t),M(e._zod,"optin",()=>t.options.some((o)=>o._zod.optin==="optional")?"optional":void 0),M(e._zod,"optout",()=>t.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),M(e._zod,"values",()=>{if(t.options.every((o)=>o._zod.values))return new Set(t.options.flatMap((o)=>Array.from(o._zod.values)));return}),M(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)=>jo(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 QS(a,o,e,i);return Promise.all(a).then((c)=>QS(c,o,e,i))}});function ex(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)=>Ie(s,r,ce())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}var _f=g("$ZodXor",(e,t)=>{Qo.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 ex(a,o,e,i);return Promise.all(a).then((c)=>ex(c,o,e,i))}}),Sf=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Qo.init(e,t);let n=e._zod.parse;M(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=vr(()=>{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(!Nn(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=r.value.get(s?.[t.discriminator]);if(a)return a._zod.run(o,i);if(t.unionFallback)return n(o,i);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o}}),xf=g("$ZodIntersection",(e,t)=>{N.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])=>tx(n,c,l));return tx(n,i,s)}});function Nm(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(nn(e)&&nn(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let s=Nm(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],s=Nm(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function tx(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(rn(e))return e;let s=Nm(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var ja=g("$ZodTuple",(e,t)=>{N.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((m)=>$a(m,r,l)));else $a(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let m=t.rest._zod.run({value:d,issues:[]},o);if(m instanceof Promise)s.push(m.then((f)=>$a(f,r,l)));else $a(m,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(...Ue(n,e.issues));t.value[n]=e.value}var Cf=g("$ZodRecord",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!nn(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(...Ue(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...Ue(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"&&za.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)=>Ie(d,r,ce())),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(...Ue(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...Ue(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),Ef=g("$ZodMap",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),n;let i=[];n.value=new Map;for(let[s,a]of o){let c=t.keyType._zod.run({value:s,issues:[]},r),l=t.valueType._zod.run({value:a,issues:[]},r);if(c instanceof Promise||l instanceof Promise)i.push(Promise.all([c,l]).then(([u,d])=>{nx(u,d,n,s,o,e,r)}));else nx(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function nx(e,t,n,r,o,i,s){if(e.issues.length)if(Vo.has(typeof r))n.issues.push(...Ue(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Ie(a,s,ce()))});if(t.issues.length)if(Vo.has(typeof r))n.issues.push(...Ue(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Ie(a,s,ce()))});n.value.set(e.value,t.value)}var wf=g("$ZodSet",(e,t)=>{N.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)=>rx(c,n)));else rx(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function rx(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var Rf=g("$ZodEnum",(e,t)=>{N.init(e,t);let n=Uo(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Vo.has(typeof o)).map((o)=>typeof o==="string"?Je(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;if(r.has(s))return o;return o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),Pf=g("$ZodLiteral",(e,t)=>{if(N.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"?Je(r):r?Je(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}}),Af=g("$ZodFile",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(o instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),n}}),kf=g("$ZodTransform",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new zn(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 xt;return n.value=o,n}});function ox(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ba=g("$ZodOptional",(e,t)=>{N.init(e,t),e._zod.optin="optional",e._zod.optout="optional",M(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),M(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${jo(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)=>ox(i,n.value));return ox(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Tf=g("$ZodExactOptional",(e,t)=>{Ba.init(e,t),M(e._zod,"values",()=>t.innerType._zod.values),M(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),If=g("$ZodNullable",(e,t)=>{N.init(e,t),M(e._zod,"optin",()=>t.innerType._zod.optin),M(e._zod,"optout",()=>t.innerType._zod.optout),M(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${jo(n.source)}|null)$`):void 0}),M(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),Of=g("$ZodDefault",(e,t)=>{N.init(e,t),e._zod.optin="optional",M(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)=>ix(i,t));return ix(o,t)}});function ix(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var zf=g("$ZodPrefault",(e,t)=>{N.init(e,t),e._zod.optin="optional",M(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),Nf=g("$ZodNonOptional",(e,t)=>{N.init(e,t),M(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)=>sx(i,e));return sx(o,e)}});function sx(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var Df=g("$ZodSuccess",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new zn("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}}),Mf=g("$ZodCatch",(e,t)=>{N.init(e,t),M(e._zod,"optin",()=>t.innerType._zod.optin),M(e._zod,"optout",()=>t.innerType._zod.optout),M(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)=>Ie(s,r,ce()))},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)=>Ie(i,r,ce()))},input:n.value}),n.issues=[];return n}}),$f=g("$ZodNaN",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),Lf=g("$ZodPipe",(e,t)=>{N.init(e,t),M(e._zod,"values",()=>t.in._zod.values),M(e._zod,"optin",()=>t.in._zod.optin),M(e._zod,"optout",()=>t.out._zod.optout),M(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 ei=g("$ZodCodec",(e,t)=>{N.init(e,t),M(e._zod,"values",()=>t.in._zod.values),M(e._zod,"optin",()=>t.in._zod.optin),M(e._zod,"optout",()=>t.out._zod.optout),M(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if((r.direction||"forward")==="forward"){let i=t.in._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Wa(s,t,r));return Wa(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Wa(s,t,r));return Wa(i,t,r)}}});function Wa(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let o=t.transform(e.value,e);if(o instanceof Promise)return o.then((i)=>Fa(e,i,t.out,n));return Fa(e,o,t.out,n)}else{let o=t.reverseTransform(e.value,e);if(o instanceof Promise)return o.then((i)=>Fa(e,i,t.in,n));return Fa(e,o,t.in,n)}}function Fa(e,t,n,r){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},r)}var Wf=g("$ZodReadonly",(e,t)=>{N.init(e,t),M(e._zod,"propValues",()=>t.innerType._zod.propValues),M(e._zod,"values",()=>t.innerType._zod.values),M(e._zod,"optin",()=>t.innerType?._zod?.optin),M(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(ax);return ax(o)}});function ax(e){return e.value=Object.freeze(e.value),e}var Ff=g("$ZodTemplateLiteral",(e,t)=>{N.init(e,t);let n=[];for(let r of t.parts)if(typeof r==="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let o=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!o)throw Error(`Invalid template literal part: ${r._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;n.push(o.slice(i,s))}else if(r===null||Nd.has(typeof r))n.push(Je(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),Gf=g("$ZodFunction",(e,t)=>(N.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 ja({type:"tuple",items:n[0],rest:n[1]}),output:e._def.output});return new r({type:"function",input:n[0],output:e._def.output})},e.output=(n)=>new e.constructor({type:"function",input:e._def.input,output:n}),e)),Zf=g("$ZodPromise",(e,t)=>{N.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then((o)=>t.innerType._zod.run({value:o,issues:[]},r))}),Uf=g("$ZodLazy",(e,t)=>{N.init(e,t),M(e._zod,"innerType",()=>t.getter()),M(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),M(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),M(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),M(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),jf=g("$ZodCustom",(e,t)=>{X.init(e,t),N.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)=>cx(i,n,r,e));cx(o,n,r,e);return}});function cx(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(on(o))}}var ti={};var px,Va=Symbol("ZodOutput"),Ha=Symbol("ZodInput");class Bf{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 ni(){return new Bf}(px=globalThis).__zod_globalRegistry??(px.__zod_globalRegistry=ni());var ze=globalThis.__zod_globalRegistry;function Vf(e,t){return new e({type:"string",...b(t)})}function Hf(e,t){return new e({type:"string",coerce:!0,...b(t)})}function qa(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...b(t)})}function ri(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...b(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...b(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...b(t)})}function Ja(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...b(t)})}function Xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...b(t)})}function oi(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...b(t)})}function Qa(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...b(t)})}function ec(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...b(t)})}function tc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...b(t)})}function nc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...b(t)})}function rc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...b(t)})}function oc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...b(t)})}function ic(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...b(t)})}function sc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...b(t)})}function ac(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...b(t)})}function qf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...b(t)})}function cc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...b(t)})}function lc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...b(t)})}function uc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...b(t)})}function dc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...b(t)})}function mc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...b(t)})}function fc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...b(t)})}var pc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Kf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...b(t)})}function Yf(e,t){return new e({type:"string",format:"date",check:"string_format",...b(t)})}function Jf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...b(t)})}function Xf(e,t){return new e({type:"string",format:"duration",check:"string_format",...b(t)})}function Qf(e,t){return new e({type:"number",checks:[],...b(t)})}function ep(e,t){return new e({type:"number",coerce:!0,checks:[],...b(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...b(t)})}function np(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...b(t)})}function rp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...b(t)})}function op(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...b(t)})}function ip(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...b(t)})}function sp(e,t){return new e({type:"boolean",...b(t)})}function ap(e,t){return new e({type:"boolean",coerce:!0,...b(t)})}function cp(e,t){return new e({type:"bigint",...b(t)})}function lp(e,t){return new e({type:"bigint",coerce:!0,...b(t)})}function up(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...b(t)})}function dp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...b(t)})}function mp(e,t){return new e({type:"symbol",...b(t)})}function fp(e,t){return new e({type:"undefined",...b(t)})}function pp(e,t){return new e({type:"null",...b(t)})}function gp(e){return new e({type:"any"})}function hp(e){return new e({type:"unknown"})}function yp(e,t){return new e({type:"never",...b(t)})}function bp(e,t){return new e({type:"void",...b(t)})}function vp(e,t){return new e({type:"date",...b(t)})}function _p(e,t){return new e({type:"date",coerce:!0,...b(t)})}function Sp(e,t){return new e({type:"nan",...b(t)})}function wt(e,t){return new Na({check:"less_than",...b(t),value:e,inclusive:!1})}function je(e,t){return new Na({check:"less_than",...b(t),value:e,inclusive:!0})}function Rt(e,t){return new Da({check:"greater_than",...b(t),value:e,inclusive:!1})}function Ee(e,t){return new Da({check:"greater_than",...b(t),value:e,inclusive:!0})}function gc(e){return Rt(0,e)}function hc(e){return wt(0,e)}function yc(e){return je(0,e)}function bc(e){return Ee(0,e)}function sn(e,t){return new gm({check:"multiple_of",...b(t),value:e})}function an(e,t){return new bm({check:"max_size",...b(t),maximum:e})}function Pt(e,t){return new vm({check:"min_size",...b(t),minimum:e})}function $n(e,t){return new _m({check:"size_equals",...b(t),size:e})}function Ln(e,t){return new Sm({check:"max_length",...b(t),maximum:e})}function Ft(e,t){return new xm({check:"min_length",...b(t),minimum:e})}function Wn(e,t){return new Cm({check:"length_equals",...b(t),length:e})}function Pr(e,t){return new Em({check:"string_format",format:"regex",...b(t),pattern:e})}function Ar(e){return new wm({check:"string_format",format:"lowercase",...b(e)})}function kr(e){return new Rm({check:"string_format",format:"uppercase",...b(e)})}function Tr(e,t){return new Pm({check:"string_format",format:"includes",...b(t),includes:e})}function Ir(e,t){return new Am({check:"string_format",format:"starts_with",...b(t),prefix:e})}function Or(e,t){return new km({check:"string_format",format:"ends_with",...b(t),suffix:e})}function vc(e,t,n){return new Tm({check:"property",property:e,schema:t,...b(n)})}function zr(e,t){return new Im({check:"mime_type",mime:e,...b(t)})}function lt(e){return new Om({check:"overwrite",tx:e})}function Nr(e){return lt((t)=>t.normalize(e))}function Dr(){return lt((e)=>e.trim())}function Mr(){return lt((e)=>e.toLowerCase())}function $r(){return lt((e)=>e.toUpperCase())}function Lr(){return lt((e)=>Od(e))}function xp(e,t,n){return new e({type:"array",element:t,...b(n)})}function u0(e,t,n){return new e({type:"union",options:t,...b(n)})}function d0(e,t,n){return new e({type:"union",options:t,inclusive:!1,...b(n)})}function m0(e,t,n,r){return new e({type:"union",options:n,discriminator:t,...b(r)})}function f0(e,t,n){return new e({type:"intersection",left:t,right:n})}function p0(e,t,n,r){let o=n instanceof N;return new e({type:"tuple",items:t,rest:o?n:null,...b(o?r:n)})}function g0(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,...b(r)})}function h0(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...b(r)})}function y0(e,t,n){return new e({type:"set",valueType:t,...b(n)})}function b0(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,...b(n)})}function v0(e,t,n){return new e({type:"enum",entries:t,...b(n)})}function _0(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...b(n)})}function Cp(e,t){return new e({type:"file",...b(t)})}function S0(e,t){return new e({type:"transform",transform:t})}function x0(e,t){return new e({type:"optional",innerType:t})}function C0(e,t){return new e({type:"nullable",innerType:t})}function E0(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Bo(n)}})}function w0(e,t,n){return new e({type:"nonoptional",innerType:t,...b(n)})}function R0(e,t){return new e({type:"success",innerType:t})}function P0(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function A0(e,t,n){return new e({type:"pipe",in:t,out:n})}function k0(e,t){return new e({type:"readonly",innerType:t})}function T0(e,t,n){return new e({type:"template_literal",parts:t,...b(n)})}function I0(e,t){return new e({type:"lazy",getter:t})}function O0(e,t){return new e({type:"promise",innerType:t})}function Ep(e,t,n){let r=b(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function wp(e,t,n){return new e({type:"custom",check:"custom",fn:t,...b(n)})}function Rp(e){let t=gx((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(on(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(on(o))}},e(n.value,n)));return t}function gx(e,t){let n=new X({check:"custom",...b(t)});return n._zod.check=e,n}function Pp(e){let t=new X({check:"describe"});return t._zod.onattach=[(n)=>{let r=ze.get(n)??{};ze.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function Ap(e){let t=new X({check:"meta"});return t._zod.onattach=[(n)=>{let r=ze.get(n)??{};ze.add(n,{...r,...e})}],t._zod.check=()=>{},t}function kp(e,t){let n=b(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((f)=>typeof f==="string"?f.toLowerCase():f),o=o.map((f)=>typeof f==="string"?f.toLowerCase():f);let i=new Set(r),s=new Set(o),a=e.Codec??ei,c=e.Boolean??Xo,u=new(e.String??Mn)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),m=new a({type:"pipe",in:u,out:d,transform:(f,p)=>{let h=f;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:m,continue:!1}),{}},reverseTransform:(f,p)=>{if(f===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return m}function Wr(e,t,n,r={}){let o=b(r),i={...b(r),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(a)=>n.test(a),...o};if(n instanceof RegExp)i.pattern=n;return new e(i)}var Fr=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},Tp=()=>Fr,_c=()=>Fr,Gr=Fr,Q=Fr,Zr=Fr,Ur=Fr;var z0={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ip=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i==="number")o.minLength=i;if(typeof s==="number")o.maxLength=s;if(a){if(o.format=z0[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Op=(e,t,n,r)=>{let o=n,{minimum:i,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;if(typeof a==="string"&&a.includes("int"))o.type="integer";else o.type="number";if(typeof u==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;if(typeof i==="number"){if(o.minimum=i,typeof u==="number"&&t.target!=="draft-04")if(u>=i)delete o.minimum;else delete o.exclusiveMinimum}if(typeof l==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;if(typeof s==="number"){if(o.maximum=s,typeof l==="number"&&t.target!=="draft-04")if(l<=s)delete o.maximum;else delete o.exclusiveMaximum}if(typeof c==="number")o.multipleOf=c},zp=(e,t,n,r)=>{n.type="boolean"},Np=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Dp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Mp=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},$p=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Lp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Wp=(e,t,n,r)=>{n.not={}},Fp=(e,t,n,r)=>{},Gp=(e,t,n,r)=>{},Zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Up=(e,t,n,r)=>{let o=e._zod.def,i=Uo(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},jp=(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}},Bp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Vp=(e,t,n,r)=>{let o=n,i=e._zod.pattern;if(!i)throw Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Hp=(e,t,n,r)=>{let o=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=e._zod.bag;if(s!==void 0)i.minLength=s;if(a!==void 0)i.maxLength=a;if(c)if(c.length===1)i.contentMediaType=c[0],Object.assign(o,i);else Object.assign(o,i),o.anyOf=c.map((l)=>({contentMediaType:l}));else Object.assign(o,i)},qp=(e,t,n,r)=>{n.type="boolean"},Kp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Yp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Xp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},eg=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=Q(i.element,t,{...r,path:[...r.path,"items"]})},tg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=Q(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=Q(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},xc=(e,t,n,r)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>Q(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},ng=(e,t,n,r)=>{let o=e._zod.def,i=Q(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=Q(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=(l)=>("allOf"in l)&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c},rg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((m,f)=>Q(m,t,{...r,path:[...r.path,s,f]})),l=i.rest?Q(i.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(o.prefixItems=c,l)o.items=l}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},l)o.items.anyOf.push(l);if(o.minItems=c.length,!l)o.maxItems=c.length}else if(o.items=c,l)o.additionalItems=l;let{minimum:u,maximum:d}=e._zod.bag;if(typeof u==="number")o.minItems=u;if(typeof d==="number")o.maxItems=d},og=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object";let s=i.keyType,c=s._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let u=Q(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=Q(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});o.additionalProperties=Q(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=s._zod.values;if(l){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u}},ig=(e,t,n,r)=>{let o=e._zod.def,i=Q(o.innerType,t,r),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=o.innerType,n.nullable=!0;else n.anyOf=[i,{type:"null"}]},sg=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},ag=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},cg=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);if(i.ref=o.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(o.defaultValue))},lg=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},ug=(e,t,n,r)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;Q(i,t,r);let s=t.seen.get(e);s.ref=i},dg=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},mg=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},Cc=(e,t,n,r)=>{let o=e._zod.def;Q(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},fg=(e,t,n,r)=>{let o=e._zod.innerType;Q(o,t,r);let i=t.seen.get(e);i.ref=o},Sc={string:Ip,number:Op,boolean:zp,bigint:Np,symbol:Dp,null:Mp,undefined:$p,void:Lp,never:Wp,any:Fp,unknown:Gp,date:Zp,enum:Up,literal:jp,nan:Bp,template_literal:Vp,file:Hp,success:qp,custom:Kp,function:Yp,transform:Jp,map:Xp,set:Qp,array:eg,object:tg,union:xc,intersection:ng,tuple:rg,record:og,nullable:ig,nonoptional:sg,default:ag,prefault:cg,catch:lg,pipe:ug,readonly:dg,promise:mg,optional:Cc,lazy:fg};function ii(e,t){if("_idmap"in e){let r=e,o=Gr({...t,processors:Sc}),i={};for(let c of r._idmap.entries()){let[l,u]=c;Q(u,o)}let s={},a={registry:r,uri:t?.uri,defs:i};o.external=a;for(let c of r._idmap.entries()){let[l,u]=c;Zr(o,u),s[l]=Ur(o,u)}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let n=Gr({...t,processors:Sc});return Q(e,n),Zr(n,e),Ur(n,e)}class pg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=Gr({processors:Sc,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return Q(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Zr(this.ctx,e);let n=Ur(this.ctx,e),{"~standard":r,...o}=n;return o}}var hx={};var ui={};un(ui,{ZodISODate:()=>ai,ZodISODateTime:()=>si,ZodISODuration:()=>li,ZodISOTime:()=>ci,date:()=>hg,datetime:()=>gg,duration:()=>bg,time:()=>yg});var si=g("ZodISODateTime",(e,t)=>{Vm.init(e,t),K.init(e,t)});function gg(e){return Kf(si,e)}var ai=g("ZodISODate",(e,t)=>{Hm.init(e,t),K.init(e,t)});function hg(e){return Yf(ai,e)}var ci=g("ZodISOTime",(e,t)=>{qm.init(e,t),K.init(e,t)});function yg(e){return Jf(ci,e)}var li=g("ZodISODuration",(e,t)=>{Km.init(e,t),K.init(e,t)});function bg(e){return Xf(li,e)}var bx=(e,t)=>{Ko.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>Sr(e,n)},flatten:{value:(n)=>_r(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,br,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,br,2)}},isEmpty:{get(){return e.issues.length===0}}})},vx=g("ZodError",bx),we=g("ZodError",bx,{Parent:Error});var Ec=xr(we),wc=Cr(we),Rc=Er(we),Pc=wr(we),Ac=Ea(we),kc=wa(we),Tc=Ra(we),Ic=Pa(we),Oc=Aa(we),zc=ka(we),Nc=Ta(we),Dc=Ia(we);var D=g("ZodType",(e,t)=>(N.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:_c(e,"input"),output:_c(e,"output")}}),e.toJSONSchema=Tp(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(Ct(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)=>be(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>Ec(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Rc(e,n,r),e.parseAsync=async(n,r)=>wc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Pc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>Ac(e,n,r),e.decode=(n,r)=>kc(e,n,r),e.encodeAsync=async(n,r)=>Tc(e,n,r),e.decodeAsync=async(n,r)=>Ic(e,n,r),e.safeEncode=(n,r)=>Oc(e,n,r),e.safeDecode=(n,r)=>zc(e,n,r),e.safeEncodeAsync=async(n,r)=>Nc(e,n,r),e.safeDecodeAsync=async(n,r)=>Dc(e,n,r),e.refine=(n,r)=>e.check(ch(n,r)),e.superRefine=(n)=>e.check(lh(n)),e.overwrite=(n)=>e.check(lt(n)),e.optional=()=>mi(e),e.exactOptional=()=>jg(e),e.nullable=()=>fi(e),e.nullish=()=>mi(fi(e)),e.nonoptional=(n)=>Yg(e,n),e.array=()=>yi(e),e.or=(n)=>rl([e,n]),e.and=(n)=>Ng(e,n),e.transform=(n)=>pi(e,il(n)),e.default=(n)=>Hg(e,n),e.prefault=(n)=>Kg(e,n),e.catch=(n)=>Qg(e,n),e.pipe=(n)=>pi(e,n),e.readonly=()=>nh(e),e.describe=(n)=>{let r=e.clone();return ze.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return ze.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return ze.get(e);let r=e.clone();return ze.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)=>{Mn.init(e,t),D.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ip(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Pr(...r)),e.includes=(...r)=>e.check(Tr(...r)),e.startsWith=(...r)=>e.check(Ir(...r)),e.endsWith=(...r)=>e.check(Or(...r)),e.min=(...r)=>e.check(Ft(...r)),e.max=(...r)=>e.check(Ln(...r)),e.length=(...r)=>e.check(Wn(...r)),e.nonempty=(...r)=>e.check(Ft(1,...r)),e.lowercase=(r)=>e.check(Ar(r)),e.uppercase=(r)=>e.check(kr(r)),e.trim=()=>e.check(Dr()),e.normalize=(...r)=>e.check(Nr(...r)),e.toLowerCase=()=>e.check(Mr()),e.toUpperCase=()=>e.check($r()),e.slugify=()=>e.check(Lr())}),Br=g("ZodString",(e,t)=>{Mn.init(e,t),Lc.init(e,t),e.email=(n)=>e.check(qa(Wc,n)),e.url=(n)=>e.check(oi(gi,n)),e.jwt=(n)=>e.check(fc(el,n)),e.emoji=(n)=>e.check(Qa(Fc,n)),e.guid=(n)=>e.check(ri(di,n)),e.uuid=(n)=>e.check(Ka(kt,n)),e.uuidv4=(n)=>e.check(Ya(kt,n)),e.uuidv6=(n)=>e.check(Ja(kt,n)),e.uuidv7=(n)=>e.check(Xa(kt,n)),e.nanoid=(n)=>e.check(ec(Gc,n)),e.guid=(n)=>e.check(ri(di,n)),e.cuid=(n)=>e.check(tc(Zc,n)),e.cuid2=(n)=>e.check(nc(Uc,n)),e.ulid=(n)=>e.check(rc(jc,n)),e.base64=(n)=>e.check(uc(Jc,n)),e.base64url=(n)=>e.check(dc(Xc,n)),e.xid=(n)=>e.check(oc(Bc,n)),e.ksuid=(n)=>e.check(ic(Vc,n)),e.ipv4=(n)=>e.check(sc(Hc,n)),e.ipv6=(n)=>e.check(ac(qc,n)),e.cidrv4=(n)=>e.check(cc(Kc,n)),e.cidrv6=(n)=>e.check(lc(Yc,n)),e.e164=(n)=>e.check(mc(Qc,n)),e.datetime=(n)=>e.check(gg(n)),e.date=(n)=>e.check(hg(n)),e.time=(n)=>e.check(yg(n)),e.duration=(n)=>e.check(bg(n))});function Mc(e){return Vf(Br,e)}var K=g("ZodStringFormat",(e,t)=>{q.init(e,t),Lc.init(e,t)}),Wc=g("ZodEmail",(e,t)=>{$m.init(e,t),K.init(e,t)});function _x(e){return qa(Wc,e)}var di=g("ZodGUID",(e,t)=>{Dm.init(e,t),K.init(e,t)});function Sx(e){return ri(di,e)}var kt=g("ZodUUID",(e,t)=>{Mm.init(e,t),K.init(e,t)});function xx(e){return Ka(kt,e)}function Cx(e){return Ya(kt,e)}function Ex(e){return Ja(kt,e)}function wx(e){return Xa(kt,e)}var gi=g("ZodURL",(e,t)=>{Lm.init(e,t),K.init(e,t)});function Rx(e){return oi(gi,e)}function Px(e){return oi(gi,{protocol:/^https?$/,hostname:BS,...b(e)})}var Fc=g("ZodEmoji",(e,t)=>{Wm.init(e,t),K.init(e,t)});function Ax(e){return Qa(Fc,e)}var Gc=g("ZodNanoID",(e,t)=>{Fm.init(e,t),K.init(e,t)});function kx(e){return ec(Gc,e)}var Zc=g("ZodCUID",(e,t)=>{Gm.init(e,t),K.init(e,t)});function Tx(e){return tc(Zc,e)}var Uc=g("ZodCUID2",(e,t)=>{Zm.init(e,t),K.init(e,t)});function Ix(e){return nc(Uc,e)}var jc=g("ZodULID",(e,t)=>{Um.init(e,t),K.init(e,t)});function Ox(e){return rc(jc,e)}var Bc=g("ZodXID",(e,t)=>{jm.init(e,t),K.init(e,t)});function zx(e){return oc(Bc,e)}var Vc=g("ZodKSUID",(e,t)=>{Bm.init(e,t),K.init(e,t)});function Nx(e){return ic(Vc,e)}var Hc=g("ZodIPv4",(e,t)=>{Ym.init(e,t),K.init(e,t)});function Dx(e){return sc(Hc,e)}var vg=g("ZodMAC",(e,t)=>{Xm.init(e,t),K.init(e,t)});function Mx(e){return qf(vg,e)}var qc=g("ZodIPv6",(e,t)=>{Jm.init(e,t),K.init(e,t)});function $x(e){return ac(qc,e)}var Kc=g("ZodCIDRv4",(e,t)=>{Qm.init(e,t),K.init(e,t)});function Lx(e){return cc(Kc,e)}var Yc=g("ZodCIDRv6",(e,t)=>{ef.init(e,t),K.init(e,t)});function Wx(e){return lc(Yc,e)}var Jc=g("ZodBase64",(e,t)=>{nf.init(e,t),K.init(e,t)});function Fx(e){return uc(Jc,e)}var Xc=g("ZodBase64URL",(e,t)=>{rf.init(e,t),K.init(e,t)});function Gx(e){return dc(Xc,e)}var Qc=g("ZodE164",(e,t)=>{of.init(e,t),K.init(e,t)});function Zx(e){return mc(Qc,e)}var el=g("ZodJWT",(e,t)=>{sf.init(e,t),K.init(e,t)});function Ux(e){return fc(el,e)}var Vr=g("ZodCustomStringFormat",(e,t)=>{af.init(e,t),K.init(e,t)});function jx(e,t,n={}){return Wr(Vr,e,t,n)}function Bx(e){return Wr(Vr,"hostname",jS,e)}function Vx(e){return Wr(Vr,"hex",qS,e)}function Hx(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Et[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Wr(Vr,r,o,t)}var Hr=g("ZodNumber",(e,t)=>{Za.init(e,t),D.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Op(e,r,o,i),e.gt=(r,o)=>e.check(Rt(r,o)),e.gte=(r,o)=>e.check(Ee(r,o)),e.min=(r,o)=>e.check(Ee(r,o)),e.lt=(r,o)=>e.check(wt(r,o)),e.lte=(r,o)=>e.check(je(r,o)),e.max=(r,o)=>e.check(je(r,o)),e.int=(r)=>e.check($c(r)),e.safe=(r)=>e.check($c(r)),e.positive=(r)=>e.check(Rt(0,r)),e.nonnegative=(r)=>e.check(Ee(0,r)),e.negative=(r)=>e.check(wt(0,r)),e.nonpositive=(r)=>e.check(je(0,r)),e.multipleOf=(r,o)=>e.check(sn(r,o)),e.step=(r,o)=>e.check(sn(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 _g(e){return Qf(Hr,e)}var Gn=g("ZodNumberFormat",(e,t)=>{cf.init(e,t),Hr.init(e,t)});function $c(e){return tp(Gn,e)}function qx(e){return np(Gn,e)}function Kx(e){return rp(Gn,e)}function Yx(e){return op(Gn,e)}function Jx(e){return ip(Gn,e)}var qr=g("ZodBoolean",(e,t)=>{Xo.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function Sg(e){return sp(qr,e)}var Kr=g("ZodBigInt",(e,t)=>{Ua.init(e,t),D.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Np(e,r,o,i),e.gte=(r,o)=>e.check(Ee(r,o)),e.min=(r,o)=>e.check(Ee(r,o)),e.gt=(r,o)=>e.check(Rt(r,o)),e.gte=(r,o)=>e.check(Ee(r,o)),e.min=(r,o)=>e.check(Ee(r,o)),e.lt=(r,o)=>e.check(wt(r,o)),e.lte=(r,o)=>e.check(je(r,o)),e.max=(r,o)=>e.check(je(r,o)),e.positive=(r)=>e.check(Rt(BigInt(0),r)),e.negative=(r)=>e.check(wt(BigInt(0),r)),e.nonpositive=(r)=>e.check(je(BigInt(0),r)),e.nonnegative=(r)=>e.check(Ee(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(sn(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function Xx(e){return cp(Kr,e)}var tl=g("ZodBigIntFormat",(e,t)=>{lf.init(e,t),Kr.init(e,t)});function Qx(e){return up(tl,e)}function eC(e){return dp(tl,e)}var xg=g("ZodSymbol",(e,t)=>{uf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function tC(e){return mp(xg,e)}var Cg=g("ZodUndefined",(e,t)=>{df.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function nC(e){return fp(Cg,e)}var Eg=g("ZodNull",(e,t)=>{mf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mp(e,n,r,o)});function wg(e){return pp(Eg,e)}var Rg=g("ZodAny",(e,t)=>{ff.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function rC(){return gp(Rg)}var Pg=g("ZodUnknown",(e,t)=>{pf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(e,n,r,o)});function Fn(){return hp(Pg)}var Ag=g("ZodNever",(e,t)=>{gf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o)});function nl(e){return yp(Ag,e)}var kg=g("ZodVoid",(e,t)=>{hf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function oC(e){return bp(kg,e)}var hi=g("ZodDate",(e,t)=>{yf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Zp(e,r,o,i),e.min=(r,o)=>e.check(Ee(r,o)),e.max=(r,o)=>e.check(je(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 iC(e){return vp(hi,e)}var Tg=g("ZodArray",(e,t)=>{bf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(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(Ln(n,r)),e.length=(n,r)=>e.check(Wn(n,r)),e.unwrap=()=>e.element});function yi(e,t){return xp(Tg,e,t)}function sC(e){let t=e._zod.def.shape;return ol(Object.keys(t))}var bi=g("ZodObject",(e,t)=>{vf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),M(e,"shape",()=>t.shape),e.keyof=()=>ol(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Fn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Fn()}),e.strict=()=>e.clone({...e._zod.def,catchall:nl()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>zS(e,n),e.safeExtend=(n)=>NS(e,n),e.merge=(n)=>DS(e,n),e.pick=(n)=>IS(e,n),e.omit=(n)=>OS(e,n),e.partial=(...n)=>MS(sl,e,n[0]),e.required=(...n)=>$S(al,e,n[0])});function aC(e,t){let n={type:"object",shape:e??{},...b(t)};return new bi(n)}function cC(e,t){return new bi({type:"object",shape:e,catchall:nl(),...b(t)})}function lC(e,t){return new bi({type:"object",shape:e,catchall:Fn(),...b(t)})}var vi=g("ZodUnion",(e,t)=>{Qo.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.options=t.options});function rl(e,t){return new vi({type:"union",options:e,...b(t)})}var Ig=g("ZodXor",(e,t)=>{vi.init(e,t),_f.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.options=t.options});function uC(e,t){return new Ig({type:"union",options:e,inclusive:!1,...b(t)})}var Og=g("ZodDiscriminatedUnion",(e,t)=>{vi.init(e,t),Sf.init(e,t)});function dC(e,t,n){return new Og({type:"union",options:t,discriminator:e,...b(n)})}var zg=g("ZodIntersection",(e,t)=>{xf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o)});function Ng(e,t){return new zg({type:"intersection",left:e,right:t})}var Dg=g("ZodTuple",(e,t)=>{ja.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Mg(e,t,n){let r=t instanceof N,o=r?n:t;return new Dg({type:"tuple",items:e,rest:r?t:null,...b(o)})}var _i=g("ZodRecord",(e,t)=>{Cf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function $g(e,t,n){return new _i({type:"record",keyType:e,valueType:t,...b(n)})}function mC(e,t,n){let r=be(e);return r._zod.values=void 0,new _i({type:"record",keyType:r,valueType:t,...b(n)})}function fC(e,t,n){return new _i({type:"record",keyType:e,valueType:t,mode:"loose",...b(n)})}var Lg=g("ZodMap",(e,t)=>{Ef.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Pt(...n)),e.nonempty=(n)=>e.check(Pt(1,n)),e.max=(...n)=>e.check(an(...n)),e.size=(...n)=>e.check($n(...n))});function pC(e,t,n){return new Lg({type:"map",keyType:e,valueType:t,...b(n)})}var Wg=g("ZodSet",(e,t)=>{wf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.min=(...n)=>e.check(Pt(...n)),e.nonempty=(n)=>e.check(Pt(1,n)),e.max=(...n)=>e.check(an(...n)),e.size=(...n)=>e.check($n(...n))});function gC(e,t){return new Wg({type:"set",valueType:e,...b(t)})}var jr=g("ZodEnum",(e,t)=>{Rf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Up(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 jr({...t,checks:[],...b(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 jr({...t,checks:[],...b(o),entries:i})}});function ol(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new jr({type:"enum",entries:n,...b(t)})}function hC(e,t){return new jr({type:"enum",entries:e,...b(t)})}var Fg=g("ZodLiteral",(e,t)=>{Pf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(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 yC(e,t){return new Fg({type:"literal",values:Array.isArray(e)?e:[e],...b(t)})}var Gg=g("ZodFile",(e,t)=>{Af.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e.min=(n,r)=>e.check(Pt(n,r)),e.max=(n,r)=>e.check(an(n,r)),e.mime=(n,r)=>e.check(zr(Array.isArray(n)?n:[n],r))});function bC(e){return Cp(Gg,e)}var Zg=g("ZodTransform",(e,t)=>{kf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new zn(e.constructor.name);n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(on(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(on(s))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function il(e){return new Zg({type:"transform",transform:e})}var sl=g("ZodOptional",(e,t)=>{Ba.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function mi(e){return new sl({type:"optional",innerType:e})}var Ug=g("ZodExactOptional",(e,t)=>{Tf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function jg(e){return new Ug({type:"optional",innerType:e})}var Bg=g("ZodNullable",(e,t)=>{If.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function fi(e){return new Bg({type:"nullable",innerType:e})}function vC(e){return mi(fi(e))}var Vg=g("ZodDefault",(e,t)=>{Of.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Hg(e,t){return new Vg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():Bo(t)}})}var qg=g("ZodPrefault",(e,t)=>{zf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kg(e,t){return new qg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():Bo(t)}})}var al=g("ZodNonOptional",(e,t)=>{Nf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Yg(e,t){return new al({type:"nonoptional",innerType:e,...b(t)})}var Jg=g("ZodSuccess",(e,t)=>{Df.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function _C(e){return new Jg({type:"success",innerType:e})}var Xg=g("ZodCatch",(e,t)=>{Mf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Qg(e,t){return new Xg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var eh=g("ZodNaN",(e,t)=>{$f.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o)});function SC(e){return Sp(eh,e)}var cl=g("ZodPipe",(e,t)=>{Lf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ug(e,n,r,o),e.in=t.in,e.out=t.out});function pi(e,t){return new cl({type:"pipe",in:e,out:t})}var ll=g("ZodCodec",(e,t)=>{cl.init(e,t),ei.init(e,t)});function xC(e,t,n){return new ll({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var th=g("ZodReadonly",(e,t)=>{Wf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>dg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function nh(e){return new th({type:"readonly",innerType:e})}var rh=g("ZodTemplateLiteral",(e,t)=>{Ff.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o)});function CC(e,t){return new rh({type:"template_literal",parts:e,...b(t)})}var oh=g("ZodLazy",(e,t)=>{Uf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>fg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function ih(e){return new oh({type:"lazy",getter:e})}var sh=g("ZodPromise",(e,t)=>{Zf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>mg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function EC(e){return new sh({type:"promise",innerType:e})}var ah=g("ZodFunction",(e,t)=>{Gf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o)});function wC(e){return new ah({type:"function",input:Array.isArray(e?.input)?Mg(e?.input):e?.input??yi(Fn()),output:e?.output??Fn()})}var Si=g("ZodCustom",(e,t)=>{jf.init(e,t),D.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o)});function RC(e){let t=new X({check:"custom"});return t._zod.check=e,t}function PC(e,t){return Ep(Si,e??(()=>!0),t)}function ch(e,t={}){return wp(Si,e,t)}function lh(e){return Rp(e)}var AC=Pp,kC=Ap;function TC(e,t={}){let n=new Si({type:"custom",check:"custom",fn:(r)=>r instanceof e,abort:!0,...b(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)=>kp({Codec:ll,Boolean:qr,String:Br},...e);function OC(e){let t=ih(()=>rl([Mc(e),_g(),Sg(),wg(),yi(t),$g(Mc(),t)]));return t}function zC(e,t){return pi(il(e),t)}var NC={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 DC(e){ce({customError:e})}function MC(){return ce().customError}var ul;(function(e){})(ul||(ul={}));var $0=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(o){return e[o]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return(o)=>{switch(o.code){case"invalid_type":{let i=r[o.expected]??o.expected,s=Ld(o.input),a=r[s]??s;return`Invalid input: expected ${i}, received ${a}`}case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${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 uh(){return{localeError:$0()}}var dh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var dl={};un(dl,{bigint:()=>G0,boolean:()=>F0,date:()=>Z0,number:()=>W0,string:()=>L0});function L0(e){return Hf(Br,e)}function W0(e){return ep(Hr,e)}function F0(e){return ap(qr,e)}function G0(e){return lp(Kr,e)}function Z0(e){return _p(hi,e)}ce(uh());var U0=ml;var $C=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var xi=64,LC="Rule config exceeds CC Safety Net's safe source limit.";var hB=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var fh=[{id:"secret.basename.env",category:"Basename",label:".env",description:"Blocks exact .env files.",basename:".env"},{id:"secret.basename.npmrc",category:"Basename",label:".npmrc",description:"Blocks npm credential config files.",basename:".npmrc"},{id:"secret.basename.pypirc",category:"Basename",label:".pypirc",description:"Blocks Python package index credential files.",basename:".pypirc"},{id:"secret.basename.netrc",category:"Basename",label:".netrc",description:"Blocks machine login credential files.",basename:".netrc"},{id:"secret.basename.git-credentials",category:"Basename",label:".git-credentials",description:"Blocks Git credential storage files.",basename:".git-credentials"},{id:"secret.basename.id-rsa",category:"Basename",label:"id_rsa",description:"Blocks RSA private key basenames.",basename:"id_rsa"},{id:"secret.basename.id-ed25519",category:"Basename",label:"id_ed25519",description:"Blocks Ed25519 private key basenames.",basename:"id_ed25519"},{id:"secret.basename.id-ecdsa",category:"Basename",label:"id_ecdsa",description:"Blocks ECDSA private key basenames.",basename:"id_ecdsa"},{id:"secret.basename.credentials",category:"Basename",label:"credentials",description:"Blocks generic credentials file basenames.",basename:"credentials"}],fl={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},j0=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],B0=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],ph=[{id:"secret.home.ssh",category:"Home path",label:"~/.ssh",description:"Blocks home SSH configuration and key paths.",suffixParts:[".ssh"]},{id:"secret.home.aws",category:"Home path",label:"~/.aws",description:"Blocks home AWS credential and config paths.",suffixParts:[".aws"]},{id:"secret.home.gcp",category:"Home path",label:"~/.gcp",description:"Blocks home GCP credential paths.",suffixParts:[".gcp"]},{id:"secret.home.gcloud-config",category:"Home path",label:"~/.config/gcloud",description:"Blocks home Google Cloud SDK credential paths.",suffixParts:[".config","gcloud"]},{id:"secret.home.kube-config",category:"Home path",label:"~/.kube/config",description:"Blocks home Kubernetes config files.",suffixParts:[".kube","config"]},{id:"secret.home.docker-config",category:"Home path",label:"~/.docker/config.json",description:"Blocks home Docker credential config files.",suffixParts:[".docker","config.json"]},...B0.flatMap((e)=>j0.map((t)=>({id:["secret.home",e.idSlug,t.slice(1)].join("."),category:"Home path",label:[e.label,t].join(""),description:["Blocks home ",e.label,t," credential backup files."].join(""),suffixParts:[...e.directoryParts,[e.basename,t].join("")]}))),{id:"secret.home.gh-hosts",category:"Home path",label:"~/.config/gh/hosts.yml",description:"Blocks GitHub CLI host credential files.",suffixParts:[".config","gh","hosts.yml"]}];var pl=[{id:"secret.cli.claude-code",category:"Coding CLI credential",label:"Claude Code credentials",paths:["~/.claude/.credentials.json"]},{id:"secret.cli.claude-code.config",category:"Coding CLI config",label:"Claude Code config",paths:["~/.claude/settings.json","~/.claude/settings.local.json","~/.claude.json","<project>/.claude/settings.local.json","<project>/.mcp.json"]},{id:"secret.cli.antigravity",category:"Coding CLI config",label:"Antigravity CLI hook config",paths:["~/.gemini/config/hooks.json","~/.gemini/config/mcp_config.json"]},{id:"secret.cli.codex",category:"Coding CLI credential",label:"Codex credentials",paths:["~/.codex/auth.json","~/.codex/.credentials.json","~/.codex/secrets","~/.codex/.sandbox-secrets"]},{id:"secret.cli.codex.config",category:"Coding CLI config",label:"Codex config",paths:["~/.codex/config.toml","~/.codex/<name>.config.toml"]},{id:"secret.cli.gemini",category:"Coding CLI credential",label:"Gemini CLI credentials",paths:["~/.gemini/oauth_creds.json","~/.gemini/mcp-oauth-tokens.json","~/.gemini/a2a-oauth-tokens.json","~/.gemini/gemini-credentials.json"]},{id:"secret.cli.gemini.config",category:"Coding CLI config",label:"Gemini CLI config",paths:["~/.gemini/settings.json","~/.gemini/google_accounts.json","<project>/.gemini/settings.json","/Library/Application Support/GeminiCli/settings.json","/etc/gemini-cli/settings.json"]},{id:"secret.cli.copilot-cli",category:"Coding CLI credential",label:"GitHub Copilot CLI credentials",paths:["~/.copilot/config.json","~/.copilot/mcp-oauth-config","~/.copilot/mcp-secrets"]},{id:"secret.cli.copilot-cli.config",category:"Coding CLI config",label:"GitHub Copilot CLI config",paths:["~/.copilot/mcp-config.json"]},{id:"secret.cli.kimi-code",category:"Coding CLI credential",label:"Kimi Code credentials",paths:["~/.kimi-code/server.token","~/.kimi-code/credentials","~/.kimi/credentials","~/.kimi/mcp-oauth"]},{id:"secret.cli.kimi-code.config",category:"Coding CLI config",label:"Kimi Code config",paths:["~/.kimi-code/config.toml","~/.kimi-code/mcp.json","~/.kimi/config.toml","~/.kimi/config.json","~/.kimi/config.json.bak","~/.kimi/mcp.json","<project>/.kimi-code/mcp.json"]},{id:"secret.cli.opencode",category:"Coding CLI credential",label:"OpenCode credentials",paths:["~/.local/share/opencode/auth.json","~/.local/share/opencode/mcp-auth.json","~/.local/share/opencode/opencode.db"]},{id:"secret.cli.opencode.config",category:"Coding CLI config",label:"OpenCode config",paths:["~/.config/opencode/opencode.json","~/.config/opencode/opencode.jsonc","/Library/Application Support/opencode/opencode.json","/etc/opencode/opencode.json","<project>/opencode.json","<project>/opencode.jsonc"]},{id:"secret.cli.pi",category:"Coding CLI credential",label:"Pi credentials",paths:["~/.pi/agent/auth.json"]},{id:"secret.cli.pi.config",category:"Coding CLI config",label:"Pi config",paths:["~/.pi/agent/models.json"]},{id:"secret.cli.amp",category:"Coding CLI credential",label:"Amp Code credentials",paths:["~/.local/share/amp/secrets.json","~/.amp/oauth"]},{id:"secret.cli.amp.config",category:"Coding CLI config",label:"Amp Code config",paths:["~/.config/amp/settings.json","~/.config/amp/settings.jsonc","<project>/.amp/settings.json","<project>/.amp/settings.jsonc"]},{id:"secret.cli.cursor",category:"Coding CLI credential",label:"Cursor CLI credentials",paths:["~/.cursor/auth.json","~/.config/cursor/auth.json","~/.cursor/projects/<name>/mcp-auth.json"]},{id:"secret.cli.cursor.config",category:"Coding CLI config",label:"Cursor CLI config",paths:["~/.cursor/mcp.json","<project>/.cursor/mcp.json"]},{id:"secret.cli.grok-build",category:"Coding CLI credential",label:"Grok Build credentials",paths:["~/.grok/auth.json","~/.grok/mcp_credentials.json"]},{id:"secret.cli.grok-build.config",category:"Coding CLI config",label:"Grok Build config",paths:["~/.grok/config.toml","~/.grok/managed_config.toml","~/.grok/requirements.toml","<project>/.grok/config.toml","/etc/grok/managed_config.toml","/etc/grok/requirements.toml"]}],WC=[{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"}],V0=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],gh=WC.map((e)=>({id:`secret.variant.${e.slug}.separator`,category:"Variant",label:`${e.label}-* / ${e.label}_*`,description:`Blocks ${e.label} variants with dash or underscore suffixes.`,prefix:e.prefix})),hh=WC.flatMap((e)=>V0.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}))),Ci={id:"secret.pattern.ssh-key-basename",category:"Pattern",label:"*_(rsa|dsa|ed25519|ecdsa)",description:"Blocks extensionless SSH private key-like basenames.",pattern:/^.*_(rsa|dsa|ed25519|ecdsa)$/},yh=["agilekeychain","asc","bek","cscfg","fve","gnucash","jks","keychain","kwallet","mdf","ovpn","p12","pcap","pem","pfx","pkcs12","psafe3","rdp","sdf","tblk","tpm"].map((e)=>({id:`secret.ext.${e}`,category:"Extension",label:`.${e}`,description:`Blocks files with the .${e} extension.`,extension:e})),bh=[{id:"secret.ext-pattern.key",category:"Extension pattern",label:".key / .keypair",description:"Blocks key and keypair extension patterns.",pattern:/^key(pair)?$/},{id:"secret.ext-pattern.keystore",category:"Extension pattern",label:".keystore / .keyring",description:"Blocks keystore and keyring extension patterns.",pattern:/^key(store|ring)$/},{id:"secret.ext-pattern.kdbx",category:"Extension pattern",label:".kdb / .kdbx",description:"Blocks KeePass database extension patterns.",pattern:/^kdbx?$/}],FC=[...fh,fl,...ph,...gh,...hh,Ci,...yh,...bh,...pl].map((e)=>({id:e.id,category:e.category,label:e.label,...e.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in e?{paths:e.paths}:{description:e.description}})),gl=new Set(pl.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),H0=FC.map((e)=>e.id),Ei=new Set(H0);var TB=q0(import.meta.url),GC,K0=Array(xi+1).fill("over-limit"),ZC=/^[^/]+\/[^/]+$/,hl=`must be an integer between ${wl} and ${Rl}`,Y0=["version","rules","overrides","transparent_wrappers"],J0=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function UC(e){if(!ut(e)||!Array.isArray(e.rules)||e.rules.length<=xi)return e;return{$schema:e.$schema,version:e.version,rules:K0,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function X0(){let e=mh,t=(R)=>{let T=e.superRefine(R);return T._zod.def.when=()=>!0,T},n=e.enum($C),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(tr,`must be at most ${tr} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(yn,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),s=e.looseObject({$schema:e.unknown().optional().describe("JSON Schema reference for IDE support"),version:e.literal(1).describe("Schema version (must be 1)"),rules:e.array(o,{error:"must be an array of rulebook source strings"}).max(xi,LC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:ZC.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=(R,T)=>{if(!ut(R))return;if(Array.isArray(R.rules)&&R.rules.length<=xi){let S=new Set;R.rules.forEach((w,I)=>{if(typeof w!=="string"||w==="")return;if(w.trim()===""){T.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",I]});return}let G=qh(w);if(G){T.addIssue({code:"custom",message:G,path:["rules",I]});return}if(S.has(w)){T.addIssue({code:"custom",message:`duplicate rulebook source "${w}"`,path:["rules",I]});return}S.add(w)})}if(ut(R.overrides))for(let S of Object.keys(R.overrides)){if(ZC.test(S))continue;T.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",S]})}if(!Array.isArray(R.transparent_wrappers))return;let B=new Set;R.transparent_wrappers.forEach((S,w)=>{if(typeof S!=="string"||!yn.test(S))return;if(B.has(S)){T.addIssue({code:"custom",message:`duplicate command "${S}"`,path:["transparent_wrappers",w]});return}if(Lv(S)){T.addIssue({code:"custom",message:`reserved command "${S}" cannot be a wrapper`,path:["transparent_wrappers",w]});return}B.add(S)})},c=e.preprocess(UC,s.check(e.superRefine(a))),l=e.preprocess(UC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(R,T)=>e.intersection(e.record(e.string().refine((B)=>R.has(B),{error:(B)=>`unknown ${T} rule id "${String(B.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),m=(R)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((T,B)=>{if(!Array.isArray(T))return;let S=dn();T.forEach((w,I)=>{if(typeof w!=="string")return;let G=R(w,S);if(G)B.addIssue({code:"custom",message:G,path:[I]})})})),f=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(co,"destructive command").optional(),allow_paths:m($s).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Ei,"secret protection").optional(),deny_paths:m(Ls).optional(),allow_paths:m(Ws).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:hl}).int(hl).min(wl,hl).max(Rl,hl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(R,T)=>{if(!Array.isArray(R))return;let B=new Set;R.forEach((S,w)=>{let I=ut(S)?S.name:void 0;if(typeof I!=="string")return;if(B.has(I.toLowerCase())){T.addIssue({code:"custom",message:`duplicate rule name "${I}"`,path:[w,"name"]});return}B.add(I.toLowerCase())})},h=(R)=>{let T=(w,I)=>R==="legacy"?w:I,B=T("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),S=`required non-empty string up to ${tr} characters`;return e.looseObject({name:e.string({error:"required string"}).regex(fn,T("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:T("required string","required string matching command pattern")}).regex(yn,T(B,"required string matching command pattern")),subcommand:e.string({error:T("must be a string if provided","must match command pattern")}).regex(yn,B).optional(),block_args:e.array(e.string({error:T("must be a string","must be a non-empty string")}).refine((w)=>w!=="",{error:T("must not be empty","must be a non-empty string")}),{error:T("required array","required non-empty array")}).refine((w)=>w.length>0,{error:T("must have at least one element","required non-empty array")}),reason:e.string({error:T("required string",S)}).refine((w)=>w!=="",{error:T("must not be empty",S)}).refine((w)=>w.length<=tr,{error:T(`must be at most ${tr} characters`,S)}),intent:n.optional()},{error:"must be an object"})},y=(R)=>e.array(h(R),{error:R==="legacy"?"must be an array":"required array"}).check(t(p)),v=e.looseObject({version:e.literal(1),rules:y("legacy").optional()}),E="required string matching rule name pattern",A=e.looseObject({command:e.string({error:"required non-empty string"}).refine((R)=>R.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((R,T)=>{if(!ut(R))return;if(R.expect!=="blocked"||typeof R.rule==="string")return;T.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),C=(R,T)=>{if(!ut(R))return;let B=new Set(vh(R));if(Array.isArray(R.tests)){let w=new Set(R.tests.flatMap((I)=>ut(I)&&I.expect==="blocked"&&typeof I.rule==="string"?[I.rule]:[]));for(let I of w){if(B.has(I))continue;T.addIssue({code:"custom",message:`blocked fixture references unknown rule "${I}"`,path:["tests"]})}}if(!Array.isArray(R.allowed_commands)||!Array.isArray(R.rules))return;let S=new Set(R.allowed_commands.filter((w)=>typeof w==="string"));R.rules.forEach((w,I)=>{let G=ut(w)?w.command:void 0;if(typeof G!=="string"||S.has(G))return;T.addIssue({code:"custom",message:`"${G}" must be listed in allowed_commands`,path:["rules",I,"command"]})})},P=(R)=>e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(fn,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((T)=>T!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(yn,"must match command pattern"),{error:"required array"}).check(t((T,B)=>{if(!Array.isArray(T))return;let S=new Set;T.forEach((w,I)=>{if(typeof w!=="string"||!yn.test(w))return;if(S.has(w)){B.addIssue({code:"custom",message:`duplicate command "${w}"`,path:[I]});return}S.add(w)})})),rules:R,tests:e.array(A,{error:"must be an array if provided"}).optional()}).check(t(C)),L=P(y("rulebook")),k=e.string({error:"must be a non-empty string"}).refine((R)=>R!=="",{error:"must be a non-empty string"}),U="must be a non-empty array of unique non-empty strings",oe="required non-empty array of non-empty strings",ie=e.array(k,{error:"must be a non-empty array of unique non-empty strings"}).refine((R)=>R.length>0,{error:"must be a non-empty array of unique non-empty strings"}).refine((R)=>new Set(R).size===R.length,{error:"must not contain duplicate values"}),Y=e.looseObject({command_path:e.array(k,{error:"required non-empty array of non-empty strings"}).refine((R)=>R.length>0,{error:"required non-empty array of non-empty strings"}),any_args:ie.optional(),exclude_args:ie.optional()},{error:"required object"}),j=P(e.array(h("rulebook").omit({subcommand:!0,block_args:!0}).extend({match:Y,subcommand:e.never({error:"not supported in rulebook_version 2"}).optional(),block_args:e.never({error:"not supported in rulebook_version 2"}).optional()}),{error:"required array"}).check(t(p)));return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:f,LegacyConfigSchema:v,RulebookSchema:L,RulebookV2Schema:j}}function wi(){return GC??=X0(),GC}function jC(){return wi().RulesConfigSchema}function Q0(){return wi().UserPolicySchema}function BC(){return wi().RulebookSchema}function VC(){return wi().RulebookV2Schema}function vh(e){let t=ut(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=ut(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function HC(e){let t=wi().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:yl(YC(t.error.issues,Y0)),sources:rM(e,t.error.issues)}}function qC(e){let t=Q0().safeParse(e);if(t.success)return[];return yl(YC(t.error.issues,J0)," ")}function yl(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>KC(r,t,n,[])))]}function KC(e,t,n,r){let o=[...r,...e.path],i=nM(o);if(e.code==="unrecognized_keys")return e.keys.map((s)=>`${i?`${i}.`:""}unknown field "${s}"`);if(e.code==="invalid_key")return e.issues.map((s)=>s.message);if(e.code==="invalid_union"){let s=e.errors.flat().filter((a)=>a.path.length>0);if(s.length>0)return s.flatMap((a)=>KC(a,t,n,o))}if(o.length===0)return[e.code==="invalid_type"?"Config must be an object":e.message];if(o.length===1&&(e.code==="too_big"||e.code==="too_small")&&e.origin==="array")return[e.message];return[`${i}${o.length===1?n:t}${eM(e)}`]}function eM(e){if(e.code==="invalid_value")return`must be ${tM(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 tM(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 nM(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function YC(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 rM(e,t){let n=ut(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 ut(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}var JC={standard:0,strict:1,paranoid:2};function eE(e,t){return{policy:{version:1,safety:{level:t.safety?.level??e.safety.level,overrides:{...e.safety.overrides,...t.safety?.overrides}},workflow:{worktree_mode:t.workflow?.worktree_mode??e.workflow.worktree_mode},destructive_command_protection:{enabled:t.destructive_command_protection?.enabled??e.destructive_command_protection.enabled,overrides:{...e.destructive_command_protection.overrides,...t.destructive_command_protection?.overrides},allow_paths:_h(e.destructive_command_protection.allow_paths,t.destructive_command_protection?.allow_paths)},secret_protection:{enabled:t.secret_protection?.enabled??e.secret_protection.enabled,overrides:{...e.secret_protection.overrides,...t.secret_protection?.overrides},deny_paths:_h(e.secret_protection.deny_paths,t.secret_protection?.deny_paths),allow_paths:_h(e.secret_protection.allow_paths,t.secret_protection?.allow_paths)},audit:e.audit},weakenings:oM(e,t)}}function _h(e,t){return[...new Set([...e,...t??[]])]}function oM(e,t){let n=t.safety?.level,r=ua[e.safety.level];return[...n&&JC[n]<JC[e.safety.level]?[`project policy lowers level: ${e.safety.level} -> ${n}`]:[],...Fo.flatMap((o)=>t.safety?.overrides?.[o]===!1&&(e.safety.overrides[o]??r[o])?[`project policy disables ${o}`]:[]),...t.workflow?.worktree_mode===!0&&!e.workflow.worktree_mode?["project policy enables worktree mode relaxations"]:[],...t.destructive_command_protection?.enabled===!1&&e.destructive_command_protection.enabled?["project policy disables destructive command protection"]:[],...t.secret_protection?.enabled===!1&&e.secret_protection.enabled?["project policy disables secret protection"]:[],...XC(t.destructive_command_protection?.overrides,(o)=>e.destructive_command_protection.enabled&&e.destructive_command_protection.overrides[o]!=="off"),...XC(t.secret_protection?.overrides,(o)=>e.secret_protection.enabled&&(e.secret_protection.overrides[o]==="on"?!0:e.secret_protection.overrides[o]!=="off"&&!gl.has(o))),...e.destructive_command_protection.enabled?QC(e.destructive_command_protection.allow_paths,t.destructive_command_protection?.allow_paths).map((o)=>`project policy adds destructive allow path: ${o}`):[],...e.secret_protection.enabled?QC(e.secret_protection.allow_paths,t.secret_protection?.allow_paths).map((o)=>`project policy adds secret allow path: ${o}`):[]]}function XC(e,t){return Object.entries(e??{}).flatMap(([n,r])=>r==="off"&&t(n)?[`project policy disables rule ${n}`]:[])}function QC(e,t){return(t??[]).filter((n)=>!e.includes(n))}function iM(e){return HC(e)}function Sh(e){try{let t=$i(sM(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=iM(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=jC().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof fe)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 sM(e){return typeof e==="string"?Gh(e):e}var Ch=new Set(["standard","strict","paranoid"]),iE={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:zi}};function Eh(e){return uM(lM(qn(e)),gn)}function sE(e={}){let t=pM(Eh(e)),n=Qr(e.cwd),r=dE(n),o=mM(r.parsed),i=Object.keys(o.policy).length>0?eE(t.gui??iE,o.policy):void 0,s=[...t.errors,...r.errors,...o.diagnostics],a=(t.fallback==="defaults"&&i?"salvaged":t.fallback)??(t.gui?void 0:r.fallback)??(s.length>0?"salvaged":void 0),c=o.policy.safety?.level?"project":t.levelPresent?"user":"default";return{...i?xh(i.policy):t.policy,errors:s,...a?{fallback:a}:{},...r.exists?{policyScopes:{levelScope:c,weakenings:i?.weakenings??[]}}:{}}}var dM="project policy audit settings are ignored; audit is user scope only";function mM(e){if(!pe(e))return{policy:{},diagnostics:[]};let t=pe(e.safety)?e.safety:{},n=pe(e.workflow)?e.workflow:{},r=pe(e.destructive_command_protection)?e.destructive_command_protection:{},o=pe(e.secret_protection)?e.secret_protection:{},i={...Ch.has(t.level)?{level:t.level}:{},...pe(t.overrides)?tE({overrides:aE(t.overrides,Fo)}):{}},s={...typeof r.enabled==="boolean"?{enabled:r.enabled}:{},...r.overrides!==void 0?{overrides:bl(r.overrides,co)}:{},...r.allow_paths!==void 0?{allow_paths:lE(r.allow_paths)}:{}},a={...typeof o.enabled==="boolean"?{enabled:o.enabled}:{},...o.overrides!==void 0?{overrides:bl(o.overrides,Ei)}:{},...o.deny_paths!==void 0?{deny_paths:cE(o.deny_paths)}:{},...o.allow_paths!==void 0?{allow_paths:uE(o.allow_paths)}:{}};return{policy:tE({safety:i,workflow:typeof n.worktree_mode==="boolean"?{worktree_mode:n.worktree_mode}:{},destructive_command_protection:s,secret_protection:a}),diagnostics:e.audit===void 0?[]:[dM]}}function aE(e,t){return Object.fromEntries(t.flatMap((n)=>typeof e[n]==="boolean"?[[n,e[n]]]:[]))}function tE(e){return Object.fromEntries(Object.entries(e).flatMap((t)=>Object.keys(t[1]).length>0?[t]:[]))}function nE(e){if(!pe(e))return fM();let t=pe(e.safety)?e.safety:{},n=pe(t.overrides)?t.overrides:{},r=pe(e.workflow)?e.workflow:{},o=pe(e.destructive_command_protection)?e.destructive_command_protection:{},i=pe(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:Ch.has(t.level)?t.level:"standard",overrides:aE(n,Fo)},workflow:{worktree_mode:typeof r.worktree_mode==="boolean"?r.worktree_mode:!1},destructive_command_protection:{enabled:typeof o.enabled==="boolean"?o.enabled:!0,overrides:bl(o.overrides,co),allow_paths:lE(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:bl(i.overrides,Ei),deny_paths:cE(i.deny_paths),allow_paths:uE(i.allow_paths)},audit:{retention_days:Ni(pe(e.audit)?e.audit.retention_days:void 0)}}}function bl(e,t){if(!pe(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function cE(e){if(!Array.isArray(e))return[];let t=dn();return e.filter((n)=>Ls(n,t)===null)}function lE(e){if(!Array.isArray(e))return[];let t=dn();return e.filter((n)=>$s(n,t)===null)}function uE(e){if(!Array.isArray(e))return[];let t=dn();return e.filter((n)=>Ws(n,t)===null)}function pe(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function fM(){return structuredClone(iE)}function dE(e){if(!aM(e))return{exists:!1,errors:[]};try{let t=cM(e,"utf-8");if(!t.trim())return{exists:!0,errors:[`${e}: Config file is empty`],fallback:"defaults"};let n=JSON.parse(t),r=qC(n);if(r.length===0)return{exists:!0,parsed:n,errors:[]};return{exists:!0,parsed:n,errors:r.map((o)=>`${e}: ${o}`),fallback:pe(n)?"salvaged":"defaults"}}catch(t){let n=t instanceof Error?t.message:String(t);return{exists:!0,errors:[`${e}: ${t instanceof SyntaxError?"Invalid JSON":n}`],fallback:"defaults"}}}function pM(e){let t=dE(e);if(!t.exists){let r=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!pe(r))return{policy:oE(),errors:[]};let o=nE(r);return{policy:xh(o),gui:o,errors:[],levelPresent:rE(r)}}if(t.parsed===void 0)return{policy:oE(),errors:t.errors,...t.fallback?{fallback:t.fallback}:{}};let n=nE(t.parsed);return{policy:xh(n),gui:n,errors:t.errors,...t.fallback?{fallback:t.fallback}:{},levelPresent:rE(t.parsed)}}function rE(e){let t=pe(e)&&pe(e.safety)?e.safety:{};return Ch.has(t.level)}function mE(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...gl].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function oE(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:mE({}),denyPaths:[],allowPaths:[]}}}function xh(e){return{safety:gM(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:mE(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function gM(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 hE="This path contains the protected policy config and you must not modify or delete it.",hM=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function yE(e){let t=zt(Xe()),n=xM(e.invocation.context,t);if(e.invocation.route.kind==="patch")return fE(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=Se(e,"input-candidate");if(e.invocation.route.kind==="command")return r?pE(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=pE(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return fE(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Os(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function fE(e,t,n,r,o){if(t)return null;let i=e.find((s)=>Ri(s,n,r,o));return i?{target:i}:null}function pE(e,t,n,r){let o=cr(e,t,r,{findSegmentTarget:(i,s)=>yM(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>Ri(i,s.cwd,n,r),findMalformedTarget:(i)=>SM(i,t,n,r)?.target??null,normalizeCwd:he});return o?{target:o}:null}function yM(e,t,n,r){if(xo(e))return null;let o=r.environment,i=Vt([...e],o),s=W(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&bM(a)){let c=vM(a).find((l)=>gE(We(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Hs(i,1)||Wu(i,o)){let l=(Vs(Z(i))??Z(["."])).find((u)=>{let d=We(u.text,t.variables);return Ri(d,t.cwd,n,r)||gE(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=zs(a).sources.find((l)=>CM(We(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(_M(e,o))return null;for(let c of[...e,...i])for(let l of bE(c))if(Ri(We(l,t.variables),t.cwd,n,r))return{target:l};return null}function bM(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function vM(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 _M(e,t){let n=Vt([...e],t);if(n.length===0)return!1;let r=W(n[0]??"").toLowerCase();if(!hM.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 SM(e,t,n,r){for(let o of e.split(/\s+/))for(let i of bE(o))if(Ri(i,t,n,r))return{target:i};return null}function bE(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function xM(e,t){let n=(s)=>Pi(he(s,e.executionCwd,t)),r=n(Eh()),o=[n(Qr(e.executionCwd)),n(Qr(e.configCwd))],i=new Set(o.map((s)=>vl(s)));for(let s=vl(r);;s=vl(s))if(i.add(s),vl(s)===s)break;return{files:new Set([r,...o]),directoriesAndAncestors:i}}function Ri(e,t,n,r){let o=mv(e,t,r,(i)=>Pi(i)===gn);return o!==null&&n.files.has(Pi(o))}function gE(e,t,n,r){return n.directoriesAndAncestors.has(Pi(he(e,t,r)))}function CM(e,t,n,r){let o=Pi(he(e,t,r));return n.files.has(o)||n.directoriesAndAncestors.has(o)}function Pi(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as Ph}from"os";import{isAbsolute as _l,posix as EM,resolve as xl,win32 as wM}from"path";import{fileURLToPath as RM}from"url";var TE="Access to a sensitive path is not allowed.",IE=new Set(["echo","printf"]),PM=new Set(["find"]),AM=new Set(["-exec","-execdir"]),kM=new Set([";","+"]),TM=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),IM=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),OE=new Set(["-d","--data","--data-ascii","--data-binary","--data-urlencode","-F","--form"]),OM=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),zM=new Set(["node","bun"]),NM=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),DM=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"]),zE=new Set(["-c","-e","-r","-E","--eval","--exec"]),MM=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"])]]),$M=new Set(["grep","rg"]),vE="f",_E="file",LM="files",WM=new Set(["e","f"]),FM=new Set(["regexp","file"]),GM=new Set(["e","f","A","B","C","m"]),ZM=new Set(["regexp","file","after-context","before-context","context","max-count"]),UM=new Set(["|","|&"]),wh="__CC_SAFETY_NET_PIPE_INPUT__",NE=new Set(["bash","sh","zsh","dash","ksh"]),jM=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 SE(e,t,n,r,o){let i=eo();for(let s of e){if(N$(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=O$(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&D$(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function DE(e,t,n={}){let r=xE(e),o=SE(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?xE(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:SE(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&BM(e))return null;return s}function BM(e){let t=Se(e,"input-candidate")??Se(e,"declared-command");if(!t)return!1;if(t.program.nodes.some((s)=>s.kind==="command"&&s.nested.length>0))return!1;let n=[];for(let s of t.shell.entries){if(s.kind==="operator"&&s.boundary)return!1;if(s.kind==="redirection")return!1;if(s.kind!=="operator")n.push(ht(s.text))}let r=Yr(n);if(r.length===0)return!1;let o=jn(r[0]??"").toLowerCase(),i=r.slice(1);if(e.invocation.route.kind==="unknown")return t.program.dialect==="powershell"&&(o==="ls"||o==="stat");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)=>TM.has(s))}function xE(e,t={}){if(e.invocation.route.kind==="command"){let r=Se(e,"input-candidate");return r?Ti(r.shell,e.store,t,CE(r)):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=Se(e,"input-candidate");return[...n?Ti(n.shell,e.store,t,CE(n)):[],...e.paths]}function CE(e){return e.program.dialect==="powershell"}function Ti(e,t,n,r=!1){if(e.status==="structural-limit")throw new gt;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let o=[...e.assignmentFallbacks,...p$(ht(e.source),t,n)],i=[],s=null;for(let a of e.entries){if(a.kind==="operator"){if(!a.boundary)continue;if(i.length>0){if(o.push(...Sl(i,t,n)),s!==null)o.push(...EE(s,i,t,n));s=UM.has(a.operator)?i:null,i=[]}else s=null;continue}if(a.kind==="redirection"){let c=a.target?ht(RE(a.target,r)):void 0;if(c&&a.targetOrder==="legacy-segment")i.push(c);else if(c)o.push(c);continue}i.push(ht(RE(a.text,r)))}if(i.length>0){if(o.push(...Sl(i,t,n)),s!==null)o.push(...EE(s,i,t,n))}return o}function Sl(e,t,n){let r=e$(e),o=Yr(e);if(o.length===0)return r;let i=o[0]??"",s=jn(i).toLowerCase(),a=o.slice(1),c=VM(i,s,a);if(c)return[...r,...c];if(IE.has(s))return r;if(s==="export")return[...r,...a.flatMap((l)=>/^[A-Za-z_][A-Za-z0-9_]*=/.test(l)?[l.slice(l.indexOf("=")+1)]:Zn(s,l))];if(s==="git")return[...r,...t$(a)];if($M.has(s))return[...r,...x$(a)];if(PM.has(s))return[...r,...i$(a,t,n)];if(Fe.has(s))return[...r,...a.flatMap((l)=>Zn("awk",l)),...a.flatMap((l)=>a$(l,t,n)),...a.flatMap(c$)];if(s==="curl")return[...r,...a.flatMap((l)=>Zn(s,l)),...n$(a)];if(LE(s)){if(NE.has(s)){let l=lv(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new gt}return[...r,...s$(s,a,n)]}return[...r,...a.flatMap((l)=>Zn(s,l))]}function VM(e,t,n){let r=fa(t,n);if(r===null||n[r]!=="explain")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 EE(e,t,n,r){if(JM(t,n,r))return HM(e);let o=XM(t);if(o===null)return[];return qM(e).flatMap((i)=>NE.has(o)?Ti(n.getShellSyntax(i),n,r):FE(i))}function HM(e){let t=Yr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase();if(!IE.has(n))return[];return t.slice(1)}function qM(e){let t=Yr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase(),r=t.slice(1);if(n==="echo"){let o=r.findIndex((i)=>!/^-[neE]+$/.test(i));return[(o===-1?[]:r.slice(o)).join(" ")]}if(n==="printf")return KM(r);return[]}function KM(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[ME(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>YM(t,r.slice(i*n,(i+1)*n)))}function YM(e,t){let n=0;return ME(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function ME(e){return e.replace(/\\n/g,`
99
+ `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function JM(e,t,n){let r=Yr(e);if(r.length===0||jn(r[0]??"").toLowerCase()!=="xargs")return!1;let o=Pn(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,wh]:i.map((c)=>c.split(s).join(wh));return Sl(a,t,n).some((c)=>c.includes(wh))}function XM(e){let t=Yr(e);if(t.length===0)return null;let n=jn(t[0]??"").toLowerCase();if(!LE(n))return null;return QM(n,t.slice(1))?n:null}function QM(e,t){let n=$E(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(zE.has(o)||WE(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(jM.get(n)?.has(o))r++;continue}return!1}return!0}function $E(e){return/^python\d/.test(e)?"python":e}function e$(e){let t=[];for(let n of e){if(UE(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}var wE=/^(?:\$\{home\}|\$\{env:(?:userprofile|home)\}|~)(?=[\\/])/i;function RE(e,t){if(!t||!wE.test(e))return e;return`~${e.replace(wE,"").replace(/\\/g,"/")}`}function Zn(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 t$(e){let t=[];for(let n=0;n<e.length;n++){let r=e[n]??"";if(r==="--"||!r.startsWith("-"))return[...t,...e.slice(n).flatMap((i)=>Zn("git",i))];if(t.push(...Zn("git",r)),!Re.has(r))continue;let o=e[n+1];if(o===void 0)break;t.push(...r==="-c"&&o.includes("=")?[o.slice(o.indexOf("=")+1)]:Zn("git",o)),n++}return t}function n$(e){return e.flatMap((t,n)=>{let r=o$(t);if(r!==null)return PE(r.flag,r.value);let o=r$(e[n-1]);return o===null?[]:PE(o,t)})}function PE(e,t){if(e==="-F"||e==="--form"){let n=t.indexOf("="),r=n===-1?t:t.slice(n+1);if(!r.startsWith("@")&&!r.startsWith("<"))return[];return Rh(r.slice(1).split(";")[0]??"")}if(e==="--data-urlencode"){let n=t.indexOf("@"),r=t.indexOf("=");if(n===-1||r!==-1&&r<n)return[];return Rh(t.slice(n+1))}return t.startsWith("@")?Rh(t.slice(1)):[]}function r$(e){if(e===void 0)return null;if(OE.has(e))return e;return/^-[A-Za-z]+[dF]$/.test(e)?`-${e.slice(-1)}`:null}function o$(e){let t=e.slice(0,2);if(e.length>2&&(t==="-d"||t==="-F"))return{flag:t,value:e.slice(2)};let n=e.indexOf("=");if(n===-1)return null;let r=e.slice(0,n);return OE.has(r)?{flag:r,value:e.slice(n+1)}:null}function Rh(e){return e===""||e==="-"?[]:[e]}function i$(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(!AM.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>kM.has(u)),c=a===-1?s:s.slice(0,a),l=Sl(c,t,n);if(o.push(...l.filter((u)=>u!=="{}")),!l.includes("{}"))continue;o.push(...e.slice(0,i).flatMap((u,d,m)=>{if(!IM.has(u))return[];let f=m[d+1];return f===void 0?[]:[f,f.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function LE(e){return OM.has(e)||/^python\d/.test(e)}function s$(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(zE.has(i)||WE(e,i)){let a=t[o+1];if(a!==void 0)r.push(...AE(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...AE(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function WE(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return MM.get(t[t.length-1]??"")?.has($E(e))??!1}function a$(e,t,n){if(!e.includes("system"))return[];return Du(e)?.commands.flatMap((r)=>Ti(t.getShellSyntax(r),t,n))??[]}function c$(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 FE(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(GE),...n]}function AE(e,t,n){let r=FE(t);if(!n.refineJavaScriptInlineData||!zM.has(e)||r.length===0)return r;let o=l$(t);return o!==null&&!d$(o)?[]:r}function l$(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&u$(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
100
+ `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function u$(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 d$(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(NM.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)=>DM.has(i)))continue;if(o.length>1)return!0;if(m$(e,r)===".")return!0;if(f$(e,r+n.length)==="(")return!0}return!1}function m$(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function f$(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function p$(e,t,n){return v$(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Ti(o,t,n),...g$(o)?h$(o):[]]})}function g$(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||jn(ht(r.text)).toLowerCase()!=="base64")continue;for(let o=n+1;o<t.length;o++){let i=t[o];if(i?.kind==="operator")break;if(i?.kind!=="word")continue;let s=ht(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function h$(e){return e.entries.flatMap((t)=>t.kind==="word"?[ht(t.text)]:t.kind==="redirection"&&t.target?[ht(t.target)]:[]).flatMap(GE)}function GE(e){let t=b$(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||y$(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function y$(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function b$(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 v$(e){let t=[],n={inSingle:!1,inDouble:!1,escaped:!1};for(let r=0;r<e.length;r++){let o=e[r];if(!o)break;if(ho(o,n))continue;if(ZE(e,r,n)){let i=_$(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=S$(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function _$(e,t){let n={inSingle:!1,inDouble:!1,escaped:!1},r=1;for(let o=t+1;o<e.length;o++){let i=e[o];if(!i)break;if(ho(i,n))continue;if(ZE(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 S$(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 ZE(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function x$(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]??"",m=u[2];if(d===LM)o=!0;if(FM.has(d))r=!0;if(m!==void 0){if(d===_E)t.push(m);continue}if(ZM.has(d)){let f=e[c+1];if(d===_E&&f!==void 0)t.push(f);c++}continue}if(l.startsWith("-")&&l.length>1){let d=l.slice(1),m="",f="";for(let p=0;p<d.length;p++){let h=d[p]??"";if(WM.has(h))r=!0;if(GM.has(h)){m=h,f=d.slice(p+1);break}}if(m!=="")if(f.length>0){if(m===vE)t.push(f)}else{let p=e[c+1];if(m===vE&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Yr(e){let t=e.findIndex((n)=>!UE(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function UE(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var C$=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),E$=".env.",w$=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),R$=[".env.example.",".env.sample."];function P$(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function A$(e){return e.length>0&&!/\s/.test(e)}function k$(e,t,n){try{let r=Ii(e,t,n);return r!==""&&Be.entryKind(r)!=="missing"}catch(r){if(r instanceof _e)throw r;return!1}}var T$=new Set(["node_modules","__pycache__"]),I$=[["vendor","bundle"],["vendor","cache"]];function O$(e,t,n,r){if(P$(e))return null;let o=Tt(e,t,r);if(!o)return null;let i=re(o.split("/").pop()??""),s=re(o),a=()=>A$(i)||k$(e,t,r);if(w$.has(i)||R$.some((d)=>i.startsWith(d)))return null;let c=re(L$(e,t,r));for(let d of ph){let m=`~/${d.suffixParts.join("/")}`;if((kE(s,m)||kE(c,m))&&Gt(d.id,n))return d.id}let l=z$(o,t,n,r);if(l)return l;if(C$.has(i))return null;for(let d of fh)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(E$)&&Gt(fl.id,n)&&a())return fl.id;for(let d of gh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let m=i.slice(d.prefix.length)[0];if((m==="-"||m==="_")&&Gt(d.id,n)&&a())return d.id}for(let d of hh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Gt(d.id,n))return d.id}if(M$(s))return null;if(!i.includes(".")&&Ci.pattern.test(i)&&Gt(Ci.id,n))return Ci.id;let u=$$(i,n);if(u)return u;return null}function z$(e,t,n,r){return pl.find((o)=>{if(!Gt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return ee(e,ne(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=re(e).split("/");return ee(e,ne(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||ki(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 ee(e,Tt("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=ne(process.env.CODEX_HOME,"~/.codex",t,r);return ee(e,i,["auth.json",".credentials.json"])||Ai(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=ne(process.env.CODEX_HOME,"~/.codex",t,r),s=re(e).split("/").at(-1)??"";return ee(e,i,["config.toml"])||s.endsWith(".config.toml")&&ee(e,i,[s])}case"secret.cli.gemini":return ee(e,ve(ne(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?[ve(ne(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return ee(e,ve(ne(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()?ki(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>ee(e,Tt(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=ne(process.env.COPILOT_HOME,"~/.copilot",t,r);return ee(e,i,["config.json"])||Ai(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return ee(e,ne(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=ne(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=ne(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return ee(e,i,["server.token"])||Ai(e,i,["credentials"])||Ai(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"||ee(e,ne(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||ee(e,ne(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ve(ne(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 ee(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&ee(e,i,[s])||c.some((l)=>ki(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?ne(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ve(ne(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ve(ne(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(re(e).split("/").at(-1)??"")||ee(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?ki(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>ee(e,Tt(c,t,r),a))}case"secret.cli.pi":return ee(e,ne(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return ee(e,ne(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=Tt("~",t,r);return[ve(ne(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ve(i,".local","share","amp")].some((a)=>ee(e,a,["secrets.json"]))||Ai(e,ve(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ve(ne(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ve(Tt("~",t,r),".config","amp")],a=re(e).split("/");return s.some((c)=>ee(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?ki(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ve(ne(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ve(ne(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return ee(e,Tt("~/.cursor",t,r),["auth.json"])||ee(e,i,["auth.json"])||re(e).split("/").at(-1)==="mcp-auth.json"&&Un(re(e),re(s))}case"secret.cli.cursor.config":{let i=re(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}case"secret.cli.grok-build":return ee(e,ne(process.env.GROK_HOME,"~/.grok",t,r),["auth.json","mcp_credentials.json"]);case"secret.cli.grok-build.config":{let i=re(e).split("/");return i.at(-1)==="config.toml"&&i.at(-2)===".grok"||ee(e,ne(process.env.GROK_HOME,"~/.grok",t,r),["config.toml","managed_config.toml","requirements.toml"])||ee(e,Tt("/etc/grok",t,r),["managed_config.toml","requirements.toml"])}default:return!1}})?.id??null}function ne(e,t,n,r){return Tt(e?.trim()?e:t,n,r)}function ee(e,t,n){return n.some((r)=>jE(e,ve(t,r)))}function Ai(e,t,n){return n.some((r)=>Un(re(e),re(ve(t,r))))}function ki(e,t,n,r){return jE(e,Tt(t,n,r))}function jE(e,t){return re(e)===re(t)}function ve(e,...t){return dt([e,...t].filter(Boolean).join("/"))}function N$(e,t,n,r,o){if(n.length===0)return!1;let i=re(Ii(e,t,o));return n.some((s)=>Un(i,re(Ii(s,r,o))))}function D$(e,t,n,r,o){if(n.length===0)return!1;let i=re(Ii(e,t,o));if(!i)return!1;let s=process.env.HOME??Ph(),a=s?dt(J(Ne(s),Be,o)):"",c=re(a),l=process.env.CC_SAFETY_NET_HOME,u=re(l?dt(J(xl(Ne(l)),Be,o)):a&&dt(J(`${a}/.cc-safety-net`,Be,o)));if(u&&Un(i,u))return!1;return n.some((d)=>{let m=re(Ii(d,r,o));if(!m)return!1;if(c&&(c===m||c.startsWith(m.endsWith("/")?m:`${m}/`)))return!1;return Un(i,m)})}function M$(e){let t=e.split("/");return t.some((n)=>T$.has(n))||I$.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function $$(e,t){let n=e.lastIndexOf("."),r=n>0&&n<e.length-1?e.slice(n+1):"";if(r==="")return null;for(let o of yh)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of bh)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 Tt(e,t,n){let{home:r,normalized:o}=Ah(e,n);if(!o)return"";if(!r)return o;let i=kh(o,r),s=_l(i)?i:dt(xl(t,i)),a=dt(J(s,Be,n));if(!Un(a,r)){if(_l(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function kE(e,t){return e===t||e.startsWith(`${t}/`)}function L$(e,t,n){let{home:r,normalized:o}=Ah(e,n);if(!o||!r)return"";let i=kh(o,r),s=EM.normalize(_l(i)?i:dt(xl(t,i))),a=dt(Ne(process.env.HOME??Ph())),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Un(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function Ii(e,t,n){let{home:r,normalized:o}=Ah(e,n);if(!o)return"";let i=r?kh(o,r):o;return dt(J(_l(i)?i:xl(t,i),Be,n))}function Ah(e,t){let n=process.env.HOME??Ph(),r=n?dt(J(Ne(n),Be,t)):"",o=dt(Ne(W$(ht(e))));return{home:r,normalized:o}}function W$(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return RM(e)}catch{return e}}function kh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ve(t,e.slice(2));return e}function F$(e){if(process.platform==="win32")return!0;return wM.parse(e).root.length>1}function dt(e){let t=e.trim(),n=(F$(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Un(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function jn(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as Cl}from"path";var BE="Rulebook exceeds CC Safety Net's safe validation limits.",VE="Additional rulebook validation errors were omitted.",mt=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function HE(e){if(Th(e.allowed_commands,mt.maxAllowedCommands)||Th(e.rules,mt.maxRules)||Th(e.tests,mt.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=mt,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>mt.maxStringCodeUnits||i&&o.length>mt.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;let s=i.match&&typeof i.match==="object"?i.match:{};for(let a of[i.block_args,s.command_path,s.any_args,s.exclude_args]){if(!Array.isArray(a))continue;if(a.length>mt.maxBlockArgsPerRule||a.length>n)return!1;n-=a.length;for(let c of a)if(!r(c))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 Th(e,t){return Array.isArray(e)&&e.length>t}function G$(e){if(!Z$(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!HE(e))return{errors:[BE],ruleNames:new Set};let t=(e.rulebook_version===2?VC():BC()).safeParse(e),n=[...e.rulebook_version===1||e.rulebook_version===2?[]:["rulebook_version must be 1 or 2"],...t.success?[]:yl(t.error.issues,": ",": ")];return{errors:n.length>mt.maxValidationErrors?[...n.slice(0,mt.maxValidationErrors),VE]:n,ruleNames:new Set(vh(e).map((r)=>r.toLowerCase()))}}function qE(e){let t=G$(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function Z$(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function ew(e={}){let t=Xh(e),n=!1;try{n=Zh(t.userConfigTarget,t.projectConfigTarget)}catch(m){if(m instanceof fe)return J$(t,m.message);throw m}let r=Sh(t.userConfigTarget),o=n?{config:null,errors:[]}:Sh(t.projectConfigTarget),i=XE(t.userConfigPath,r.errors),s=XE(t.projectConfigPath,o.errors),a=new Set,c=r.config?KE(r.config,Cl(t.userConfigPath),"user",t.userScope,a):QE(),l=o.config?KE(o.config,Cl(t.projectConfigPath),"project",t.projectScope,a):QE(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...YE(c.rules,u),...YE(l.rules,d)],transparent_wrappers:K$(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?JE(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?Y$(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?JE(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function KE(e,t,n,r=mn(Cl(Cl(t)),n==="user"?"user policy":"project policy"),o=new Set){let i=[],s=[],a=e.rules.flatMap((l)=>{let u=j$(l,t,r);if(u.errors.length>0||!u.rulebook)return i.push(...u.errors),[];let d=u.rulebook;if(o.has(d.name))return s.push(`duplicate active rulebook name "${d.name}" for ${l}; keeping the first and ignoring this one, so its rules are not active; rename one of them in its rulebook file and in the rules config that lists it`),[];return o.add(d.name),[{rules:U$(d),rulebook:{source:n,spec:l,name:d.name,version:d.version,rules:d.rules.map((m)=>`${d.name}/${m.name}`)}}]}),c=a.flatMap((l)=>l.rules);return{rules:c,rulebooks:a.map((l)=>l.rulebook),entries:a.map((l)=>({spec:l.rulebook.spec,name:l.rulebook.name,version:l.rulebook.version,ruleCount:l.rulebook.rules.length})),knownRuleIds:new Set(c.map((l)=>l.name)),errors:i,warnings:s,canValidateOverrides:i.length===0}}function U$(e){if(e.rulebook_version===2)return e.rules.map((t)=>({name:`${e.name}/${t.name}`,command:t.command,block_args:[],match:t.match,reason:t.reason,intent:t.intent}));return e.rules.map((t)=>({...t,name:`${e.name}/${t.name}`,match:void 0}))}function j$(e,t,n){let r=B$(e),o=Qh(t,r),i=H$(o,n);if("error"in i)return{rulebook:null,errors:[i.error]};if(i.content===null)return{rulebook:null,errors:[`missing rulebook file ${o} for ${e}; ${V$(e)}`]};let s=q$(i.content);if("problem"in s)return{rulebook:null,errors:[`invalid rulebook ${o}: ${s.problem}; fix that file`]};if(s.rulebook.name!==r)return{rulebook:null,errors:[`rulebook name "${s.rulebook.name}" in ${o} must match source "${e}"; fix that file`]};return{rulebook:s.rulebook,errors:[]}}function B$(e){return Li(e)?Tl(e).name:e}function V$(e){return Li(e)?`run ${Jh} to vendor ${e}`:"create that file or remove that source from the rules config"}function H$(e,t){try{return{content:$i(Xr(t,e))}}catch(n){if(n instanceof fe)return{error:n.message};throw n}}function q$(e){let t;try{t=JSON.parse(e)}catch{return{problem:"Invalid JSON"}}try{return{rulebook:qE(t)}}catch(n){return{problem:n instanceof Error?n.message:"invalid rulebook"}}}function K$(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function YE(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 JE(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 Y$(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 XE(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function J$(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath}}function QE(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function tw(e={}){let t=ew(e),n=sE(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}),...t1(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return n1(r,X$(t,n),i,n.policyScopes)}function X$(e,t){let n=e1(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:r1(e.errors.length>0?Q$(e.errors):void 0,e.warnings.length>0?Oh(e.warnings.join("; ")):void 0,n)}}function Q$(e){return`${Oh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function e1(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 t1(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function n1(e,t,n=Object.freeze({}),r){let o=Ih(structuredClone(e)),i=r?{policyScopes:Ih(structuredClone(r))}:{};if(!t)return Object.freeze({state:"ready",policy:o,diagnostics:Object.freeze([]),ruleMetadata:n,...i});return Object.freeze({state:"degraded",policy:o,diagnostics:Object.freeze([...t.diagnostics]),reason:t.reason,ruleMetadata:n,...i})}function Ih(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))Ih(t);return Object.freeze(e)}function r1(...e){return Oh(e.filter((t)=>!!t).join("; "))}function Oh(e){return/[.!?]$/.test(e)?e:`${e}.`}class ln 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 o1={findPolicyMutation:yE,findGitMetadataMutation:hv,resolveGitMetadata:wu,loadPolicySnapshot:tw,findSensitiveTarget:DE,analyzeCommand:RS,getModes:wd};function nw(e,t={}){let n={...o1,...t.dependencies},r=a1(e),o=Oi(e)?e.command:r,i=cn("policy-protection",o,()=>So(e,t.factParserDependencies)),s=Se(i,"input-candidate"),a=Se(i,"declared-command");if(Oi(e)&&e.command?.trim()&&a?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:Ot,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(s?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:gy,intent:"stop_and_explain",evidence:[]}};let c=cn("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),l=cn("policy-protection",o,()=>n.findPolicyMutation(i));if(l){let E=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:hE,intent:"hard_stop",evidence:[{kind:"command",command:E,segment:l.target}]}}}let u=cn("policy-protection",o,()=>kS(i));if(u){let E=o??u.target;return{stage:"policy-protection",decision:{kind:"deny",reason:AS,intent:"hard_stop",evidence:[{kind:"command",command:E,segment:u.target}]}}}let d=cn("policy-protection",o,()=>n.findGitMetadataMutation(i,c));if(d){let E=o??d.target;return{stage:"policy-protection",decision:{kind:"deny",reason:qe,intent:"hard_stop",evidence:[{kind:"command",command:E,segment:d.target}]}}}let m=cn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),f=m.policy,p=n.getModes(f),h={level:p.effectiveLevel,...i1(m)},y=f.secretProtection.enabled===!1?null:cn("secret-protection",o,()=>n.findSensitiveTarget(i,f.secretProtection,{strict:Oi(e)||s?.program.dialect==="powershell"?p.strict:void 0}));if(y){let E=o??y.target;return{stage:"secret-protection",...h,decision:{kind:"deny",reason:TE,intent:"hard_stop",ruleId:y.ruleId,evidence:[{kind:"command",command:E,segment:y.target}]}}}if(!Oi(e))return{stage:"non-command",...h,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...zh("command-validation",o),...h};let v=cn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:m,environment:Xe(),protectedGitMetadata:c,effectiveCapabilities:p.capabilities,strict:p.strict,paranoidRm:p.paranoidRm,paranoidInterpreters:p.paranoidInterpreters,worktreeMode:p.worktreeMode},s1(i),i.store));if(v)return{stage:"command-analysis",...h,decision:v};return{stage:"command-analysis",...h,decision:{kind:"allow"}}}function i1(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function s1(e){return Se(e,"declared-command")?.program}function a1(e){try{return _o(e.input)}catch(t){let n=Oi(e)?e.command:void 0;throw new ln("policy-protection",zh("policy-protection",t instanceof Lt?void 0:n,t),t)}}function cn(e,t,n){try{return n()}catch(r){throw new ln(e,zh(e,r instanceof Lt?void 0:t,r),r)}}function zh(e,t,n){let r=n instanceof _e||n instanceof gt;return{stage:e,decision:{kind:"deny",reason:r?hy:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Oi(e){return e.route.kind==="command"}function ow(e,t){try{let n=nw(e,t.guard);return rw(e,n,t),n}catch(n){if(!(n instanceof ln))throw n;throw rw(e,n.evaluation,t,!(n.cause instanceof Lt),{stage:n.stage,errorCode:c1(n.cause)}),n}}function rw(e,t,n,r=!0,o){uy(ly(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function c1(e){if(e instanceof _e)return"path-canonicalization-limit";if(e instanceof Lt)return"tool-input-limit";if(e instanceof gt)return"structural-shell-syntax-limit";return"unexpected-error"}var sw=u1();function u1(e={}){return(t,n)=>d1(t,n,e)}function d1(e,t,n){let r=m1(e,t),o=()=>g1(e);if("malformed"in r)return dy(r.denial,o,{agent:"amp",toolName:r.denial.toolName,cwd:r.cwd}),aw(r.denial);try{let i=ow(r,{guard:{auditAllowed:Cd(),dependencies:n.guardDependencies},audit:{agent:"amp",getSessionId:o}});return iw(i,!0)}catch(i){if(!(i instanceof ln))throw i;if(Qt(me.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${xy(i.cause)}`);return iw(i.evaluation,r.route.kind==="command")}}function m1(e,t){if(!e||typeof e!=="object")return Jr(null);let n=e;if(typeof n.tool!=="string"||n.tool.trim()==="")return Jr(null);if(!n.input||typeof n.input!=="object")return Jr(null,n.tool);let r=f1(t);if(!r)return Jr(null,n.tool);let o=p1(t,e);if(!o.ok)return Jr(r,n.tool);if(!o.command)return yr(n.tool,n.input,{kind:Su(n.tool)},{configCwd:r,executionCwd:r},null);if(typeof o.command.command!=="string"||o.command.command.trim()==="")return Jr(r,n.tool);let i=typeof o.command.dir==="string"?fy(o.command.dir,r):r;if(!i)return{malformed:!0,denial:{reason:"CC Safety Net could not use the requested working directory because it does not exist, is inaccessible, is not a directory, or uses an unsupported path form. Use an existing accessible working directory. If the requested directory is missing, create it from an accessible location before retrying the command.",intent:"use_alternative",command:o.command.command,segment:o.command.dir,toolName:n.tool},cwd:r};return yr(n.tool,n.input,{kind:"command",shell:"posix"},{configCwd:r,executionCwd:i},o.command.command)}function f1(e){let t=e.system.workspaceRoot;if(!t)return;try{let n=e.helpers.filePathFromURI(t);if(typeof n!=="string"||n.trim()==="")return;return $l(".",[n])}catch{return}}function p1(e,t){try{return{ok:!0,command:e.helpers.shellCommandFromToolCall(t)}}catch{return{ok:!1}}}function g1(e){if(!e||typeof e!=="object")return;let t=e.thread?.id;return typeof t==="string"&&t.trim()!==""?t:void 0}function Jr(e,t){return{malformed:!0,denial:_y({toolName:t}),cwd:e}}function iw(e,t){let n=vy(e,{includeEvidence:t});return n?aw(n):{action:"allow"}}function aw(e){return{action:"reject-and-continue",message:Sy(e)}}function h1(e){e.on("tool.call",(t)=>sw(t,e))}export{h1 as default};