cc-safety-net 2.2.2 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  // cc-safety-net managed OpenClaw plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --openclaw
2
- // version: 2.2.2
3
- var Pw=Object.defineProperty;var kw=(e)=>e;function Aw(e,t){this[e]=kw.bind(null,t)}var mn=(e,t)=>{for(var n in t)Pw(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Aw.bind(t,n)})};var zh={id:"cc-safety-net",name:"CC Safety Net",description:"Block destructive commands and secret-file access before OpenClaw runs a tool."};import{randomBytes as PE}from"node:crypto";import{appendFileSync as kE,mkdirSync as AE}from"node:fs";import{homedir as TE,userInfo as IE}from"node:os";import{isAbsolute as OE,join as Nl}from"node: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 Iw(t)}function Iw(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 Kh,readdirSync as pE,readFileSync as Xh,rmdirSync as gE,statSync as qh,unlinkSync as hE,utimesSync as yE,writeFileSync as bE}from"node:fs";import{dirname as vE,join as qn}from"node:path";var Ti=30,Cl=1,wl=365;function Ii(e){if(typeof e!=="number"||!Number.isInteger(e))return 30;if(e<1)return 1;return e>365?365:e}import{homedir as Qw}from"node:os";import{dirname as jt,isAbsolute as eE,join as Ht,relative as tE,resolve as zt,sep as nE}from"node:path";import{lstatSync as Ow,realpathSync as zw}from"node:fs";import{homedir as Nw,tmpdir as Dw}from"node:os";var Ue={realpath:(e)=>{try{return zw(e)}catch{return null}},entryKind:(e)=>{let t=Ow(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function Te(e,t=process.platform){if(t!=="win32")return e;return e.replace(/^\/([A-Za-z])(?:\/|$)/,"$1:/")}function fn(){return Te(process.env.HOME||Nw())}function It(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:fn(),tmpdir:Dw(),paths:Ue}}import{closeSync as $w,constants as Nh,fstatSync as Mw,fsyncSync as LM,lstatSync as Dh,mkdirSync as WM,openSync as Lw,readdirSync as FM,readFileSync as Ww,realpathSync as Oi,renameSync as GM,rmdirSync as ZM,statSync as Fw,unlinkSync as BM,writeFileSync as UM}from"node:fs";import{isAbsolute as $h,join as Mh,normalize as Gw,parse as Zw,relative as El,resolve as Rl,sep as Pl}from"node:path";var Bw=Symbol("PolicyFilesystemScope"),Uw=Symbol("PolicyFilesystemTarget"),jw=Nh.O_NOFOLLOW??0;class ae extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function Ut(e,t){return{[Bw]:!0,root:Rl(e),label:t}}function Lh(e,t){let n=Gw(t);if(t===""||$h(t)||n===".."||n.startsWith(`..${Pl}`))throw new ae(e.label);return{[Uw]:!0,scope:e,relativePath:n,path:Mh(e.root,n)}}function Ot(e,t){let n=El(e.root,Rl(t));return Lh(e,n)}function Ni(e,t="rules policy"){let n=Rl(e),r=Zw(n).dir;return Lh(Ut(r,t),El(r,n))}function pn(e){try{if(!zi(e,!1).exists)return null;let n=Lw(e.path,Nh.O_RDONLY|jw);try{let r=Mw(n);if(!r.isFile())throw new ae(e.scope.label);let o=Ww(n,"utf-8"),i=Dh(e.path);if(!i.isFile()||i.isSymbolicLink()||r.dev!==i.dev||r.ino!==i.ino)throw new ae(e.scope.label);return zi(e,!1),o}finally{$w(n)}}catch(t){Kw(e.scope.label,t)}}function Wh(e,t){if(e.path===t.path)return!0;try{if(!zi(e,!1).exists||!zi(t,!1).exists)return!1;return Oi(e.path)===Oi(t.path)}catch(n){if(n instanceof ae)throw n;throw new ae(e.scope.label)}}function zi(e,t,n="file"){let r=Hw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(Pl);for(let i of o.keys()){let s=Mh(e.scope.root,...o.slice(0,i+1)),a=Fh(s);if(!a){if(i===o.length-1&&t)return{exists:!1};return{exists:!1}}if(a.isSymbolicLink())throw new ae(e.scope.label);if(i<o.length-1&&!a.isDirectory())throw new ae(e.scope.label);if(i===o.length-1&&(n==="file"?!a.isFile():!a.isDirectory()))throw new ae(e.scope.label);Vw(r,Oi(s),e.scope.label)}return{exists:!0}}function Hw(e){if(!Fh(e.root))return null;if(!Fw(e.root).isDirectory())throw new ae(e.label);return Oi(e.root)}function Vw(e,t,n){let r=El(e,t);if(r===".."||r.startsWith(`..${Pl}`)||$h(r))throw new ae(n)}function Fh(e){try{return Dh(e)}catch(t){if(qw(t)&&t.code==="ENOENT")return null;throw t}}function Kw(e,t){if(t instanceof ae)throw t;throw new ae(e)}function qw(e){return e instanceof Error&&"code"in e}var dt=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,kl="rulebook.json",Al=".cc-safety-net/rules";var Gh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var Yw=/^[A-Za-z0-9._-]+$/,Jw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Xw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Zh=new RegExp(`^${Jw}/(${dt.source.slice(1,-1)})/${Xw}$`);function Bh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Qr(e){if($i(e))try{return Di(e),null}catch(t){return t instanceof Error?t.message:String(t)}return dt.test(e)?null:`Local rulebook sources must be bare names matching ${dt}: ${e}`}function Di(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(Gh);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let[n,r,...o]=t[3].split("/");if(!n||!Yw.test(n))throw Error(`GitHub rulebook refs must be a single path segment: ${e}`);if(!r||o.length>0||!dt.test(r))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);return{owner:t[1],repo:t[2],ref:n,path:Bh(r),name:r}}function $i(e){return Gh.test(e)}var jh="rule.json",Mi="policy.json",rE="rule.lock";var Hh=".cc-safety-net",oE="rules",Uh="cache",iE="CC_SAFETY_NET_HOME",Vt="`cc-safety-net rule sync`";function sE(e){return zt(e??process.cwd(),Al)}function aE(e){return Ht(sE(e),jh)}function gn(e){return e?.userConfigDir??(e?.userConfigPath?jt(e.userConfigPath):Ht(cE(),oE))}function cE(){let e=process.env[iE];return e?zt(Te(e)):Ht(Qw(),Hh)}function lE(e){return Ht(gn(e),jh)}function eo(e){return Ht(jt(e),rE)}function Vh(e){let t=e.userConfigPath??lE(e),n=e.projectConfigPath??aE(e.cwd),r=uE(t,e),o=dE(n,e);return{userConfigPath:t,projectConfigPath:n,userLockPath:eo(t),projectLockPath:eo(n),userScope:r,projectScope:o,userConfigTarget:Ot(r,t),projectConfigTarget:Ot(o,n),userLockTarget:Ot(r,eo(t)),projectLockTarget:Ot(o,eo(n))}}function uE(e,t){let n=t.userConfigPath?jt(jt(zt(t.userConfigPath))):jt(zt(t.userConfigDir??gn(t)));return Ut(n,"user policy")}function dE(e,t){let n=zt(t.cwd??process.cwd()),r=zt(e),o=tE(n,r);if(o!==".."&&!o.startsWith(`..${nE}`)&&!eE(o))return Ut(n,"project policy");return Ut(jt(jt(r)),"project policy")}function Tl(e,t){let n=e.digest.startsWith("sha256:")?e.digest.slice(7):e.digest;return Ht(fE(t),"rulebooks",`${mE(e)}--${n.slice(0,12)}`,kl)}function Il(e,t){let n=t;return{cacheConfigDir:e,cwd:t.cwd,global:n.global}}function mE(e){return(e.kind==="github"&&e.display_ref?`${e.owner}/${e.repo}#${e.display_ref}/${e.name}`:e.spec).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"rulebook"}function fE(e){let t=e?.cacheConfigDir??gn(e),n=e;if(n&&!n.global&&n.cwd&&zt(t)===zt(n.cwd))return Ht(zt(n.cwd),Hh,Uh);return Ht(jt(t),Uh)}var zl=86400000,SE=".last-prune",_E=/^\d{4}-\d{2}$/,xE=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,Yh=(e)=>Math.floor(e/zl);function CE(e){try{let t=qn(vE(gn(e)),Mi),n=JSON.parse(Xh(t,"utf-8"));return Ii(n?.audit?.retention_days)}catch{return Ti}}function Qh(e,t=()=>new Date){try{let n=t().getTime();if(!qh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=qn(e,SE),o=qh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&Yh(o)===Yh(n))return;let i=n-CE()*zl,s=new Date(n).toISOString().slice(0,7);for(let a of Ol(e)){if(a.isDirectory()){wE(qn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))EE(qn(e,a.name),i)}bE(r,"",{mode:384}),yE(r,n/1000,n/1000)}catch{}}function wE(e,t,n){for(let r of Ol(e)){if(!r.isDirectory()||!_E.test(r.name))continue;let o=qn(e,r.name);for(let i of Ol(o)){if(!i.isFile())continue;let s=xE.exec(i.name);if(!s||s[2]!==r.name)continue;let a=Date.parse(`${s[1]}T00:00:00.000Z`)+zl;if(!Number.isFinite(a)||a>=t)continue;ey(qn(o,i.name))}if(r.name!==n)Jh(o)}Jh(e)}function EE(e,t){try{let n=Kh(e);if(n.mtimeMs>=t)return;let r=Xh(e,"utf-8").split(`
4
- `).filter((o)=>o.trim()).map(RE);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(Kh(e).mtimeMs!==n.mtimeMs)return;ey(e)}catch{}}function RE(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 Ol(e){try{return pE(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function ey(e){try{hE(e)}catch{}}function Jh(e){try{gE(e)}catch{}}var zE="2.2.2",NE=1e4,DE=2000,$E=256,ME=32768;function LE(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 WE(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Dl(e,t,n,r,o,i={}){let s=LE(e);if(!s)return;let a=i.homeDir??ty();if(!a)return;let c=FE(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Li(Tt(t),i.failureStage?Number.POSITIVE_INFINITY:NE),d=Li(Tt(n),DE),f=i.toolName?Li(Tt(i.toolName),$E):void 0,m=o===null?void 0:Li(Tt(o),ME),p=Nl(c,WE(m?.value??null),l.slice(0,7));AE(p,{recursive:!0,mode:448});let h=Nl(p,`${l.slice(0,10)}-${s}.jsonl`),b={ts:l,id:(i.createId??(()=>PE(8).toString("hex")))(),v:zE,sessionId:s,decision:i.decision??"deny",agent:i.agent,shape:i.shape,level:i.level,configFallback:i.configFallback,toolName:f?.value,command:u.value,segment:d.value,...u.truncated||d.truncated||f?.truncated||m?.truncated?{truncated:!0}:{},reason:r,ruleId:i.ruleId,intent:i.intent,failureStage:i.failureStage,errorCode:i.errorCode,cwd:m?.value??null};kE(h,`${JSON.stringify(b)}
5
- `,{encoding:"utf-8",mode:384}),Qh(c,i.now)}catch{}}function Li(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function ty(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||TE()||IE().homedir;return t&&OE(t)?t:null}function FE(e=ty()){return e?Nl(e,".cc-safety-net","logs"):null}function ry(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=ny(e);return{decision:"allow",command:a,segment:a,reason:"allowed",cwd:e.context.executionCwd,toolName:e.toolName,level:t.level,...t.configFallback?{configFallback:!0}:{}}}let i=t.decision.evidence.find((a)=>a.kind==="command"),s=i?.command??(r?ny(e):"");return{decision:"deny",command:s,segment:i?.segment??s,reason:t.decision.reason,cwd:e.context.executionCwd,toolName:e.toolName,level:t.level,...t.configFallback?{configFallback:!0}:{},ruleId:t.decision.ruleId,intent:t.decision.intent,failureStage:o?.stage,errorCode:o?.errorCode}}function ny(e){return"command"in e?e.command??"":""}function oy(e,t,n){if(!e)return;let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Dl(r,e.command,e.segment,e.reason,e.cwd,{homeDir:n.homeDir,decision:e.decision,agent:n.agent,shape:n.shape,level:e.level,configFallback:e.configFallback,toolName:e.toolName,ruleId:e.ruleId,intent:e.intent,failureStage:e.failureStage,errorCode:e.errorCode})}function iy(e,t,n){let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Dl(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 _L,realpathSync as KE,statSync as qE}from"node:fs";import{isAbsolute as ay,relative as YE,resolve as JE,sep as XE}from"node:path";import{dirname as GE,isAbsolute as ZE,parse as BE,sep as UE}from"node:path";function hn(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Kt(e,t,n){if(hn(t))throw Error("Unsupported Windows namespace path");let r=ZE(t)?HE(t):"",o=r||e;for(let i of VE(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=GE(o);continue}let s=jE(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 jE(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${UE}${t}`}function HE(e){return BE(e).root}function VE(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Wi(e,t){if(hn(e))return;let n=t.flatMap((o)=>sy(o));if(!n[0])return;let r=sy(ay(e)?e:JE(n[0],e))[0];if(!r)return;return n.some((o)=>cy(r,o))?r:void 0}function sy(e){try{let t=KE(e);return qE(t).isDirectory()?[t]:[]}catch{return[]}}function cy(e,t){let n=YE(t,e);return n===""||n!==".."&&!n.startsWith(`..${XE}`)&&!ay(n)}var qt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",Nt="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",ly="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",uy="CC Safety Net could not analyze the command because it exceeds safe analysis limits. Simplify or split the command and retry.",Fi="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function my(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
2
+ // version: 2.3.0
3
+ var jE=Object.defineProperty;var BE=(e)=>e;function VE(e,t){this[e]=BE.bind(null,t)}var cn=(e,t)=>{for(var n in t)jE(e,n,{get:t[n],enumerable:!0,configurable:!0,set:VE.bind(t,n)})};var zh={id:"cc-safety-net",name:"CC Safety Net",description:"Block destructive commands and secret-file access before OpenClaw runs a tool."};import{randomBytes as Gw}from"node:crypto";import{appendFileSync as Zw,mkdirSync as Uw}from"node:fs";import{homedir as jw,userInfo as Bw}from"node:os";import{isAbsolute as Vw,join as Il}from"node:path";var HE=[/\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 KE(t)}function KE(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 HE)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 Xh,readdirSync as Aw,readFileSync as ny,rmdirSync as kw,statSync as Qh,unlinkSync as Tw,utimesSync as Iw,writeFileSync as Ow}from"node:fs";import{dirname as zw,join as Kn}from"node: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 hw}from"node:os";import{dirname as Bn,isAbsolute as yw,join as Vn,relative as bw,resolve as mn,sep as vw}from"node:path";import{lstatSync as qE,realpathSync as YE}from"node:fs";import{homedir as JE,tmpdir as XE}from"node:os";var Be={realpath:(e)=>{try{return YE(e)}catch{return null}},entryKind:(e)=>{let t=qE(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 ln(){return ze(process.env.HOME||JE())}function Qe(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:ln(),tmpdir:XE(),paths:Be}}import{closeSync as QE,constants as Nh,fstatSync as ew,fsyncSync as Q$,lstatSync as Dh,mkdirSync as e1,openSync as tw,readdirSync as t1,readFileSync as nw,realpathSync as Ni,renameSync as n1,rmdirSync as r1,statSync as rw,unlinkSync as o1,writeFileSync as i1}from"node:fs";import{isAbsolute as Mh,join as $h,normalize as ow,parse as iw,relative as wl,resolve as Rl,sep as Pl}from"node:path";var sw=Symbol("PolicyFilesystemScope"),aw=Symbol("PolicyFilesystemTarget"),cw=Nh.O_NOFOLLOW??0;class pe extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function un(e,t){return{[sw]:!0,root:Rl(e),label:t}}function Lh(e,t){let n=ow(t);if(t===""||Mh(t)||n===".."||n.startsWith(`..${Pl}`))throw new pe(e.label);return{[aw]:!0,scope:e,relativePath:n,path:$h(e.root,n)}}function Yr(e,t){let n=wl(e.root,Rl(t));return Lh(e,n)}function Wh(e,t="rules policy"){let n=Rl(e),r=iw(n).dir;return Lh(un(r,t),wl(r,n))}function Mi(e){try{if(!Di(e,!1).exists)return null;let n=tw(e.path,Nh.O_RDONLY|cw);try{let r=ew(n);if(!r.isFile())throw new pe(e.scope.label);let o=nw(n,"utf-8"),i=Dh(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{QE(n)}}catch(t){dw(e.scope.label,t)}}function Fh(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=lw(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(Pl);for(let i of o.keys()){let s=$h(e.scope.root,...o.slice(0,i+1)),a=Gh(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);uw(r,Ni(s),e.scope.label)}return{exists:!0}}function lw(e){if(!Gh(e.root))return null;if(!rw(e.root).isDirectory())throw new pe(e.label);return Ni(e.root)}function uw(e,t,n){let r=wl(e,t);if(r===".."||r.startsWith(`..${Pl}`)||Mh(r))throw new pe(n)}function Gh(e){try{return Dh(e)}catch(t){if(mw(t)&&t.code==="ENOENT")return null;throw t}}function dw(e,t){if(t instanceof pe)throw t;throw new pe(e)}function mw(e){return e instanceof Error&&"code"in e}var dn=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,Zh="rulebook.json",Uh=".cc-safety-net/rules";var jh=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var fw=/^[A-Za-z0-9._-]+(?:\/[A-Za-z0-9._-]+)*$/,pw=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),gw="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),c1=new RegExp(`^${pw}/(${dn.source.slice(1,-1)})/${gw}$`);function Bh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Vh(e){if($i(e))try{return Al(e),null}catch(t){return t instanceof Error?t.message:String(t)}return dn.test(e)?null:`Local rulebook sources must be bare names matching ${dn}: ${e}`}function Al(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match(jh);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||!fw.test(r))throw Error(`GitHub rulebook refs must use valid path segments: ${e}`);if(!o||!dn.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:Bh(o),name:o}}function $i(e){return jh.test(e)}var Hh="rule.json",fn="policy.json";var Kh=".cc-safety-net",_w="rules",Sw="CC_SAFETY_NET_HOME",qh="`cc-safety-net rule update`";function xw(e){return mn(e??process.cwd(),Uh)}function Cw(e){return Vn(xw(e),Hh)}function Jr(e){return Vn(mn(e??process.cwd()),Kh,fn)}function Hn(e){return e?.userConfigDir??(e?.userConfigPath?Bn(e.userConfigPath):Vn(Ew(),_w))}function Ew(){let e=process.env[Sw];return e?mn(ze(e)):Vn(hw(),Kh)}function ww(e){return Vn(Hn(e),Hh)}function Yh(e){let t=e.userConfigPath??ww(e),n=e.projectConfigPath??Cw(e.cwd),r=Rw(t,e),o=Pw(n,e);return{userConfigPath:t,projectConfigPath:n,userScope:r,projectScope:o,userConfigTarget:Yr(r,t),projectConfigTarget:Yr(o,n)}}function Rw(e,t){let n=t.userConfigPath?Bn(Bn(mn(t.userConfigPath))):Bn(mn(t.userConfigDir??Hn(t)));return un(n,"user policy")}function Pw(e,t){let n=mn(t.cwd??process.cwd()),r=mn(e),o=bw(n,r);if(o!==".."&&!o.startsWith(`..${vw}`)&&!yw(o))return un(n,"project policy");return un(Bn(Bn(r)),"project policy")}function Jh(e,t){return Vn(e,t,Zh)}var Tl=86400000,Nw=".last-prune",Dw=/^\d{4}-\d{2}$/,Mw=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,ey=(e)=>Math.floor(e/Tl);function $w(e){try{let t=Kn(zw(Hn(e)),fn),n=JSON.parse(ny(t,"utf-8"));return zi(n?.audit?.retention_days)}catch{return Oi}}function ry(e,t=()=>new Date){try{let n=t().getTime();if(!Qh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=Kn(e,Nw),o=Qh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&ey(o)===ey(n))return;let i=n-$w()*Tl,s=new Date(n).toISOString().slice(0,7);for(let a of kl(e)){if(a.isDirectory()){Lw(Kn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))Ww(Kn(e,a.name),i)}Ow(r,"",{mode:384}),Iw(r,n/1000,n/1000)}catch{}}function Lw(e,t,n){for(let r of kl(e)){if(!r.isDirectory()||!Dw.test(r.name))continue;let o=Kn(e,r.name);for(let i of kl(o)){if(!i.isFile())continue;let s=Mw.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;oy(Kn(o,i.name))}if(r.name!==n)ty(o)}ty(e)}function Ww(e,t){try{let n=Xh(e);if(n.mtimeMs>=t)return;let r=ny(e,"utf-8").split(`
4
+ `).filter((o)=>o.trim()).map(Fw);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(Xh(e).mtimeMs!==n.mtimeMs)return;oy(e)}catch{}}function Fw(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 Aw(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function oy(e){try{Tw(e)}catch{}}function ty(e){try{kw(e)}catch{}}var Hw="2.3.0",Kw=1e4,qw=2000,Yw=256,Jw=32768;function Xw(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 Qw(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Ol(e,t,n,r,o,i={}){let s=Xw(e);if(!s)return;let a=i.homeDir??iy();if(!a)return;let c=eR(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Li(Tt(t),i.failureStage?Number.POSITIVE_INFINITY:Kw),d=Li(Tt(n),qw),m=i.toolName?Li(Tt(i.toolName),Yw):void 0,f=o===null?void 0:Li(Tt(o),Jw),p=Il(c,Qw(f?.value??null),l.slice(0,7));Uw(p,{recursive:!0,mode:448});let h=Il(p,`${l.slice(0,10)}-${s}.jsonl`),y={ts:l,id:(i.createId??(()=>Gw(8).toString("hex")))(),v:Hw,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};Zw(h,`${JSON.stringify(y)}
5
+ `,{encoding:"utf-8",mode:384}),ry(c,i.now)}catch{}}function Li(e,t){return{value:e.slice(0,t),truncated:e.length>t}}function iy(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||jw()||Bw().homedir;return t&&Vw(t)?t:null}function eR(e=iy()){return e?Il(e,".cc-safety-net","logs"):null}function ay(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=sy(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?sy(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 sy(e){return"command"in e?e.command??"":""}function cy(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 ly(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 M1,constants as $1,realpathSync as cR,statSync as lR}from"node:fs";import{isAbsolute as dy,relative as uR,resolve as dR,sep as mR}from"node:path";import{dirname as tR,isAbsolute as nR,parse as rR,sep as oR}from"node:path";function pn(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Zt(e,t,n){if(pn(t))throw Error("Unsupported Windows namespace path");let r=nR(t)?sR(t):"",o=r||e;for(let i of aR(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=tR(o);continue}let s=iR(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 iR(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${oR}${t}`}function sR(e){return rR(e).root}function aR(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Wi(e,t){if(pn(e))return;let n=t.flatMap((o)=>uy(o));if(!n[0])return;let r=uy(dy(e)?e:dR(n[0],e))[0];if(!r)return;return n.some((o)=>my(r,o))?r:void 0}function uy(e){try{let t=cR(e);return lR(t).isDirectory()?[t]:[]}catch{return[]}}function my(e,t){let n=uR(t,e);return n===""||n!==".."&&!n.startsWith(`..${mR}`)&&!dy(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.",fy="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",py="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 hy(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
6
6
 
7
7
  Reason: ${s(t)}`;if(e.ruleId)a+=`
8
8
 
@@ -10,90 +10,90 @@ Rule: ${e.ruleId}`;if(o)a+=`
10
10
 
11
11
  Tool: ${o}`;if(n){let c=s(n);a+=`
12
12
 
13
- Command: ${dy(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
13
+ Command: ${gy(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
14
14
 
15
- Segment: ${dy(c,i)}`}if(e.configWarning)a+=`
15
+ Segment: ${gy(c,i)}`}if(e.configWarning)a+=`
16
16
 
17
17
  Config warning: ${s(e.configWarning)}`;return a+=`
18
18
 
19
- ${QE(e.intent??"manual_only")}`,a}function QE(e){switch(e){case"hard_stop":return"Do not retry this operation or attempt any workaround (other tools, flags, or paths). Report the block to the user and continue with the rest of the task.";case"use_alternative":return"Do not retry the blocked form. Continue the task using the safer alternative described above.";case"scope_down":return"Retry with a narrower, explicit target as described above. Escalate to the user if the broad operation is truly required.";case"manual_only":return"If this operation is truly needed, ask the user for explicit permission and have them run the command manually.";case"stop_and_explain":return"Do not brute-force variants. Simplify or restructure the command so it can be analyzed, or report the block to the user."}}function dy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function fy(e,t){if(e.decision.kind!=="deny")return;let n=t.includeEvidence?e.decision.evidence.find((r)=>r.kind==="command"):void 0;return{reason:e.decision.reason,ruleId:e.decision.ruleId,intent:e.decision.intent,command:n?.command,segment:n?.segment,toolName:t.toolName,...e.configFallback?{configWarning:e.configFallback.reason}:{}}}function $l(e={}){return{reason:Fi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function py(e){return my({...e,redact:Tt})}function gy(e){return Tt(e instanceof Error?e.message:String(e))}import{basename as eR,dirname as tR,join as Ml}from"node:path";var Yn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class be extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function to(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function yn(e){return{...to(),environment:e}}var Gi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_HOME","GROK_HOME","HOME","KIMI_CODE_HOME","KIMI_SHARE_DIR","OPENCODE_CONFIG","OPENCODE_CONFIG_DIR","PI_CODING_AGENT_DIR","ProgramData","TMPDIR","XDG_CONFIG_HOME","XDG_DATA_HOME"]);function Zi(e,t){return Ll(e,0,t)}function Ll(e,t,n){let r="",o=0;while(o<e.length){if(e[o]!=="$"){r+=e[o],o++;continue}if(e[o+1]==="{"){let s=Wl(e,o+2),a=nR(e,o,t);if(a===null){if(Gi.has(s))throw new be;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=rR(c,t,n),o=a+1;continue}let i=Wl(e,o+1);if(!i){r+="$",o++;continue}r+=Fl(i,n)??`$${i}`,o+=i.length+1}return r}function nR(e,t,n){let r=1;for(let o=t+2;o<e.length;o++){if(e[o]==="\\"){o++;continue}if(e[o]==="$"&&e[o+1]==="{"){if(r++,n+r>Yn.maxEnvironmentExpansionDepth)throw new be;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function rR(e,t,n){let r=e.slice(2,-1),o=Wl(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return Fl(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Gi.has(o))throw new be;return e}if(!Gi.has(o))return e;if(s.endsWith("="))throw new be;let a=Fl(o,n),c=s.startsWith(":")?a!==null&&a!=="":a!==null;if(s.endsWith("?")&&!c)throw new be;if(s.endsWith("-")||s.endsWith("?"))return c?a??"":Ll(i.slice(s.length),t+1,n);return c?Ll(i.slice(s.length),t+1,n):""}function Wl(e,t){if(!/[A-Za-z_]/.test(e[t]??""))return"";let n=t+1;while(/[A-Za-z0-9_]/.test(e[n]??""))n++;return e.slice(t,n)}function Y(e,t,n=to()){if(!e)return e;let r=n.resolvedPaths.get(e);if(r!==void 0)return r;let o=[],i=e;while(!0){if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(i),n.realpathAttempts>Yn.maxRealpathAttempts||n.processedCandidateBytes>Yn.maxProcessedCandidateBytes)throw new be;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:Ml(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=tR(i);if(a===i){let c=o.length===0?i:Ml(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=Yn.maxMissingSuffixComponents){let c=Ml(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(eR(i)),i=a}}function hy(e,t,n){let r=n.resolvedPaths.get(e);if(r!==void 0)return r;if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(e),n.realpathAttempts>Yn.maxRealpathAttempts||n.processedCandidateBytes>Yn.maxProcessedCandidateBytes)throw new be;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function Fl(e,t){if(!Gi.has(e))return null;if(e==="HOME")return t.env.get("HOME")??t.home;return t.env.get(e)??null}function N(e){return e.provenance==="command-substitution"?e.raw:e.text}function Jn(e,t){return e==="posix"?t:j(t.map((n)=>n.text))}function Bi(e,t){return e&&e.provenance!=="unknown"?e.provenance==="literal":!/[$`*?[\]]/.test(t)}function j(e){return e.map((t)=>({kind:"word",text:t,raw:t,span:{start:0,end:0},provenance:"unknown",quoted:!1,parts:[]}))}import{existsSync as Ul,lstatSync as sR,readFileSync as Vi,realpathSync as oo,statSync as ro}from"node:fs";import{dirname as jl,isAbsolute as Hl,join as Ki,resolve as qi}from"node:path";var Gl=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],oR=new Set(Gl);var yy=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),Ui=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),iR=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Zl(e){return oR.has(e)}function no(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Bl(e){return Zl(e)||yy.has(e)||Ui.has(e)||no(e)}function je(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function ji(e,t){let n=je("GIT_CONFIG_COUNT",e,t);if(n===void 0)return{state:"absent"};if(n==="")return{state:"valid",count:0};if(!/^\d+$/.test(n))return{state:"invalid"};let r=Number(n);return Number.isSafeInteger(r)&&r<=1024?{state:"valid",count:r}:{state:"invalid"}}function Hi(e,t,n){let o=e.match(iR)?.[1];if(!o||!Bl(o))return null;let i=e.indexOf("=");return{name:o,value:`${je(o,t,n)??""}${e.slice(i+1)}`}}function by(e){return Sy(e,Ui)}function vy(e){return Sy(e,yy)}function Sy(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var mt=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function Cy(e,t){return Gl.some((n)=>t?.has(n)||e.has(n))}function wy(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=oo(qi(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Py(n))return{gitCwd:null,hasExplicitGitContext:!1};let r=!1,o=1;while(o<e.length){let i=e[o];if(!i)break;if(i==="--")break;if(!i.startsWith("-"))break;if(i==="-C"){let s=e[o+1];if(!s)return{gitCwd:null,hasExplicitGitContext:r};let a=xy(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=xy(n,i.slice(2));if(!s)return{gitCwd:null,hasExplicitGitContext:r};n=s,o++;continue}if(i==="--git-dir"||i==="--work-tree"){r=!0,o+=2;continue}if(i.startsWith("--git-dir=")||i.startsWith("--work-tree=")){r=!0,o++;continue}if(mt.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function Ey(e){let t=SR(e);if(!t)return!1;try{let n=sR(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=Vl(t);if(!r?.commonDir)return!1;if(!lR(r.gitDir,t))return!1;return uR(r.gitDir,jl(t))}catch{return!1}}function Vl(e){try{let t=aR(e);if(!t)return null;let n=oo(Hl(t)?t:qi(jl(e),t));if(!ro(n).isDirectory())return null;return{gitDir:n,commonDir:cR(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 cR(e){try{let t=Vi(Ki(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=oo(Hl(t)?t:qi(e,t));return ro(n).isDirectory()?n:null}catch{return null}}function lR(e,t){let n=dR(e);return n===null?!1:Ry(e,n,t)}function uR(e,t){let n=mR(e);return n===null?!0:Ry(e,n,t)}function dR(e){let t=Ki(e,"gitdir");if(!Ul(t))return null;let n=Vi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function mR(e){let t=Ki(e,"config.worktree");return Ul(t)?yR(t):null}function Ry(e,t,n){return pR(fR(e,t),n)}function fR(e,t){return Hl(t)?t:qi(e,t)}function pR(e,t){try{return gR(e,t)}catch{return!1}}function gR(e,t){try{let n=ro(e),r=ro(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return _y(e)===_y(t)}function _y(e){return hR(oo.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 yR(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=bR(s[1]??"")}return r}function bR(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return vR(t.slice(1,-1))}function vR(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(r!=="\\"){t+=r;continue}let o=e[n+1];if(o===void 0){t+=r;continue}switch(o){case"\\":case'"':t+=o;break;case"n":t+=`
20
- `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function xy(e,t){try{let n=Kt(e,t,Ue);return Py(n)?n:null}catch{return null}}function Py(e){try{return ro(e).isDirectory()}catch{return!1}}function SR(e){try{return io(oo(e))}catch{return null}}function io(e){let t=e;while(!0){let n=Ki(t,".git");if(Ul(n))return n;let r=jl(t);if(r===t)return null;t=r}}function Kl(e,t){return{value:e,work:t}}function C(e,t){if(e.work)e.work.units=Math.min(Number.MAX_SAFE_INTEGER,e.work.units+1);return e.value[t]}function ce(e){return e.value.length}function so(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Ie(e,t){so(e,t)}function bn(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t===95||t>=97&&t<=122}function re(e){if(!e)return!1;let t=e.charCodeAt(0);return t===9||t===10||t===11||t===12||t===13||t===32||t===160||t===65279||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288}function ql(e){return e===`
21
- `||e==="\r"||e==="\u2028"||e==="\u2029"}function oe(e,t,n){if(t+n.length>ce(e))return!1;for(let r=0;r<n.length;r++)if(C(e,t+r)!==n[r])return!1;return!0}function Dt(e,t,n){return!bn(C(e,t-1))&&oe(e,t,n)&&!bn(C(e,t+n.length))}function $t(e,t){return bn(C(e,t-1))!==bn(C(e,t))}function fe(e){return e===`
22
- `||e===";"||e==="&"||e==="|"}function Xn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=Kl(e,n);if(t==="rm")return _R(r);if(t==="dd")return CR(r);return zy(r,!0)}function Ji(e,t,n){let r=Kl(e,n);if(t==="rm")return wR(r);if(t==="reset-hard")return Iy(r,"--ha","rd");if(t==="reset-merge")return Iy(r,"--me","rge");if(t==="clean")return kR(r);if(t==="checkout")return TR(r);if(t==="push-force")return IR(r);if(t==="push-refspec")return OR(r);if(t==="push-delete")return zR(r);if(t==="branch")return NR(r);if(t==="tag")return MR(r);if(t==="restore")return LR(r);return zy(r,!1)}function _R(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=ce(e);i++){let s=C(e,i);if(!t){let c=C(e,i+2);if(Dt(e,i,"rm")&&re(c)&&c!==`
23
- `)t=!0,i++;continue}let a=xR(e,i);if(s===`
24
- `||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ce(e)){if(o>=0){let c=ky(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(re(s)){if(o>=0){if(oe(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=ky(e,o,i);if(n||=c.recursive,r||=c.force,n&&r)return!0}o=-1}continue}if(o<0)o=i}return!1}function xR(e,t){if(C(e,t)!=="\\"||C(e,t-1)==="\\")return-1;if(oe(e,t,String.raw`\n`))return t+2;if(oe(e,t,String.raw`\x0a`)||oe(e,t,String.raw`\x0A`))return t+5;if(oe(e,t,String.raw`\u000a`)||oe(e,t,String.raw`\u000A`))return t+7;return oe(e,t,String.raw`\012`)?t+4:-1}function ky(e,t,n){if(Ay(e,t,n,"recursive"))return{recursive:!0,force:!1};if(Ay(e,t,n,"force"))return{recursive:!1,force:!0};if(C(e,t)!=="-"||C(e,t+1)==="-")return{recursive:!1,force:!1};let r=!1,o=!1;for(let i=t+1;i<n;i++){let s=C(e,i);r||=s==="r"||s==="R",o||=s==="f"||s==="F"}return{recursive:r,force:o}}function Ay(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!oe(e,t,"--"))return!1;for(let i=0;i<o;i++)if(C(e,t+i+2)!==r[i])return!1;return!0}function CR(e){let t=!1;for(let n=0;n<ce(e);n++){if(fe(C(e,n))){t=!1;continue}if(Dt(e,n,"dd")){t=!0,n++;continue}if(!t||!Dt(e,n,"of")||!oe(e,n,"of=/dev/"))continue;let r=n+8;if(r<ce(e)&&!re(C(e,r))&&C(e,r)!=="'"&&C(e,r)!=='"')return!0}return!1}function wR(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ce(e);){let i=C(e,o);if(o===ce(e)||fe(i)){t=!1,n=!1,r=!1,o++;continue}let s=RR(e,o);if(s>=0){if(ER(e,s))return!0;let a=s,c=!1;while(re(C(e,a)))c||=C(e,a)===`
25
- `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(oe(e,o,"--")&&(o===0||re(C(e,o-1)))&&(!C(e,o+2)||re(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=oe(e,o,"--recursive")&&$t(e,o+11)||Yl(e,o,"recursive"),r||=oe(e,o,"--force")&&$t(e,o+7)||Yl(e,o,"force"),n&&r)return!0;o++}return!1}function Yl(e,t,n){if(!oe(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||re(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&$t(e,t+r+2)}function ER(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(re(C(e,n)))n++;let i=n;while(n<ce(e)&&!re(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&oe(e,i,"--"))return!1;let s=Ty(e,i,"recursive"),a=Ty(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=PR(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Ty(e,t,n){return oe(e,t,`--${n}`)&&$t(e,t+n.length+2)||Yl(e,t,n)}function RR(e,t){if(t>0&&bn(C(e,t-1)))return-1;let n=t;if(C(e,n)==="\\")n++;if(C(e,n)!=="r")return-1;if(n++,C(e,n)==="\\")n++;if(C(e,n)!=="m"||!re(C(e,n+1)))return-1;return n+1}function PR(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(C(e,t)!=="-")return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a};let c="";for(let l=t+1;l<n;l++){let u=C(e,l)??"",d=(u==="r"||u==="f")&&$t(e,l+1);r||=u==="r",o||=u==="f",i||=u==="r"&&d,s||=u==="f"&&d,a||=(c==="r"&&u==="f"||c==="f"&&u==="r")&&d,c=u}return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a}}function Iy(e,t,n){return co(e,"reset",Xn,!0,(r)=>C(e,r)==="-"&&Qn(e,r,t,n)?!0:r)}function kR(e){return co(e,"clean",Xn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Qn(e,t,"--fo","rce"))return!0;let n=ao(e,t,Xn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!Dt(e,t,"git"))return null;let r=t+3;if(!re(C(e,r)))return{commandEnd:-1,next:r};while(re(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=ao(e,r,fe);if(Dt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&oe(e,r,"--"),s=AR(e,r,o);r=o;while(re(C(e,r)))r++;if(i)return{commandEnd:Dt(e,r,n)?r+n.length:-1,next:ao(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=ao(e,r,fe);while(re(C(e,r)))r++}return{commandEnd:-1,next:r}}function AR(e,t,n){for(let r of mt)if(n-t===r.length&&oe(e,t,r))return!0;return!1}function TR(e){return Oy(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function IR(e){return co(e,"push",Xn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!bn(C(e,t+2))&&!oe(e,t+2,"-with-lease"))return!0;let n=Ny(e,t,"--fo","rce");if(n>=0&&!oe(e,n,"-with-lease"))return!0;return t})}function OR(e){return co(e,"push",fe,!1,(t)=>{if(re(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!re(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function zR(e){return co(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Qn(e,t,"--de","lete"))return!0;if(re(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!re(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function NR(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ce(e);o++){if(o===ce(e)||fe(C(e,o))){if(n&&r)return!0;t=!1,n=!1,r=!1;continue}if(!t){let a=Xi(e,o,"branch");if(a){t=a.commandEnd>=0,o=Math.max(o,(t?a.commandEnd:a.next)-1);continue}}if(!t||C(e,o)!=="-")continue;let i=ao(e,o,fe),s=DR(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function DR(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(C(e,i)!=="-")continue;if(Qn(e,i,"--de","lete"))r=!0;if(Qn(e,i,"--fo","rce"))o=!0;if(C(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&$R(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!$t(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function $R(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function MR(e){return Oy(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function Oy(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<ce(e);r++){let o=C(e,r),i=n[n.length-1];if(!i)return!1;let s=i.escaped;if(i.escaped=!s&&i.quote!=="'"&&o==="\\",!s&&o==="'"&&i.quote!=='"')i.quote=i.quote==="'"?"":"'";if(!s&&o==='"'&&i.quote!=="'")i.quote=i.quote==='"'?"":'"';if(o==="$"&&C(e,r+1)==="("&&(n.length===1||!s&&i.quote!=="'")){n.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),r++;continue}if(!s&&!i.quote&&n.length>1&&o==="("){i.depth++;continue}if(!s&&!i.quote&&n.length>1&&o===")"){if(i.depth--,i.depth===0)n.pop();continue}if(re(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&re(C(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Qn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(C(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&$t(e,r+1))return!0;if(Xn(o))i.outerActive=!1}return!1}function co(e,t,n,r,o){let i=!1;for(let s=0;s<ce(e);s++){let a=C(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||re(C(e,l.commandEnd))),s=Math.max(s,(i?l.commandEnd:l.next)-1);continue}}if(i){let l=o(s);if(l===!0)return!0;for(let u=s;u<=l;u++)if(n(C(e,u)))i=!1;s=l}if(c)i=!1}return!1}function LR(e){let t=!1;for(let n=0;n<ce(e);n++){if(ql(C(e,n))){if(t)return!0;t=!1;continue}if(!t){let r=Xi(e,n,"restore");if(r){t=r.commandEnd>=0,n=Math.max(n,(t?r.commandEnd:r.next)-1);continue}}if(t&&C(e,n)==="-"&&C(e,n+1)==="-"&&(oe(e,n+2,"staged")||oe(e,n+2,"help")))t=!1}return t}function zy(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?ql(o):fe(o);if(n&&re(o)&&C(e,r+1)==="-"&&Dt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(Dt(e,r,"find"))n=!0,r+=3}return!1}function ao(e,t,n){let r=t;while(r<ce(e)&&!re(C(e,r))&&!n(C(e,r)))r++;return r}function Ny(e,t,n,r){if(!oe(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&C(e,o)===r[i];i++)o++;return $t(e,o)?o:-1}function Qn(e,t,n,r){return Ny(e,t,n,r)>=0}var WR=["git.ssh-env","git.alias-config","git.checkout-force","git.checkout-double-dash","git.checkout-ref-path","git.checkout-pathspec-from-file","git.checkout-ambiguous","git.switch-discard-changes","git.switch-force","git.restore-worktree","git.restore-unstaged","git.reset-hard","git.reset-merge","git.clean-force","git.rm-force","git.push-force","git.push-delete","git.push-mirror","git.branch-force-delete","git.rebase-abort","git.merge-abort","git.tag-delete","git.reflog-delete","git.stash-drop","git.stash-clear","git.worktree-remove-force","rm.recursive-force-root-or-home","rm.git-metadata","rm.recursive-force-dynamic-target","rm.recursive-force-home-cwd","rm.recursive-force-cwd-self","rm.recursive-force-outside-cwd","rm.recursive-force-paranoid","powershell.remove-item-root-or-home","powershell.remove-item-recursive-force-root-or-home","powershell.remove-item-git-metadata","powershell.remove-item-recursive-force-dynamic-target","powershell.remove-item-recursive-force-home-cwd","powershell.remove-item-recursive-force-cwd-self","powershell.remove-item-recursive-force-outside-cwd","powershell.remove-item-recursive-force-paranoid","powershell.remove-item-pipeline-dynamic-target","find.delete","find.delete-git-metadata","find.exec-rm-recursive-force","dd.device-write","mkfs.device","shred.target","interpreter.dangerous-command","interpreter.one-liner-paranoid","awk.system-dynamic","xargs.rm-recursive-force-dynamic","xargs.shell-dynamic","parallel.rm-recursive-force-dynamic","parallel.shell-dynamic","parallel.command-stream-dynamic","shell.dynamic-structure","shell.dynamic-executable","raw-text.dangerous-command"],Qi=new Set(WR),es=[{id:"git.ssh-env",category:"Git",label:"Git SSH environment override",description:"Blocks Git network operations with SSH environment overrides.",example:'GIT_SSH_COMMAND="./ssh-wrapper" git push',intent:"manual_only"},{id:"git.alias-config",category:"Git",label:"Git command-line alias",description:"Blocks command-line Git aliases that cannot be safely resolved.",example:"git -c alias.wipe='!rm -rf /' wipe",intent:"manual_only"},{id:"git.checkout-force",category:"Git",label:"Git checkout force",description:"Blocks forced checkout operations that discard local changes.",example:"git checkout --force main",intent:"use_alternative"},{id:"git.checkout-double-dash",category:"Git",label:"Git checkout path restore",description:"Blocks checkout path restores after --.",example:"git checkout -- src/app.ts",intent:"use_alternative"},{id:"git.checkout-ref-path",category:"Git",label:"Git checkout ref and path",description:"Blocks checkout forms that mix a ref and path restore.",example:"git checkout HEAD -- src/app.ts",intent:"use_alternative"},{id:"git.checkout-pathspec-from-file",category:"Git",label:"Git checkout pathspec file",description:"Blocks checkout pathspec loading from a file.",example:"git checkout --pathspec-from-file=paths.txt",intent:"use_alternative"},{id:"git.checkout-ambiguous",category:"Git",label:"Git checkout ambiguous targets",description:"Blocks ambiguous checkout arguments that may restore paths.",example:"git checkout main src/app.ts",intent:"use_alternative"},{id:"git.switch-discard-changes",category:"Git",label:"Git switch discard changes",description:"Blocks branch switches that explicitly discard local changes.",example:"git switch --discard-changes main",intent:"use_alternative"},{id:"git.switch-force",category:"Git",label:"Git switch force",description:"Blocks forced branch switches.",example:"git switch --force main",intent:"use_alternative"},{id:"git.restore-worktree",category:"Git",label:"Git restore worktree",description:"Blocks worktree restore operations.",example:"git restore --worktree src/app.ts",intent:"use_alternative"},{id:"git.restore-unstaged",category:"Git",label:"Git restore unstaged",description:"Blocks unstaged restore operations.",example:"git restore src/app.ts",intent:"use_alternative"},{id:"git.reset-hard",category:"Git",label:"Git reset hard",description:"Blocks hard resets.",example:"git reset --hard",intent:"use_alternative"},{id:"git.reset-merge",category:"Git",label:"Git reset merge",description:"Blocks merge resets.",example:"git reset --merge",intent:"use_alternative"},{id:"git.clean-force",category:"Git",label:"Git clean force",description:"Blocks forced clean operations.",example:"git clean -fd",intent:"use_alternative"},{id:"git.rm-force",category:"Git",label:"Git rm force",description:"Blocks forced removal of tracked files from the working tree.",example:"git rm -rf .",intent:"use_alternative"},{id:"git.push-force",category:"Git",label:"Git push force",description:"Blocks force pushes.",example:"git push --force origin main",intent:"use_alternative"},{id:"git.push-delete",category:"Git",label:"Git push delete",description:"Blocks remote ref deletion through push.",example:"git push --delete origin old-branch",intent:"manual_only"},{id:"git.push-mirror",category:"Git",label:"Git push mirror",description:"Blocks mirror pushes that can force-update or delete remote refs.",example:"git push --mirror origin",intent:"manual_only"},{id:"git.branch-force-delete",category:"Git",label:"Git branch force delete",description:"Blocks forced branch deletion.",example:"git branch -D old-branch",intent:"use_alternative"},{id:"git.rebase-abort",category:"Git",label:"Git rebase abort",description:"Blocks rebase abort operations.",example:"git rebase --abort",intent:"use_alternative"},{id:"git.merge-abort",category:"Git",label:"Git merge abort",description:"Blocks merge abort operations.",example:"git merge --abort",intent:"use_alternative"},{id:"git.tag-delete",category:"Git",label:"Git tag delete",description:"Blocks tag deletion.",example:"git tag --delete v1.0.0",intent:"manual_only"},{id:"git.reflog-delete",category:"Git",label:"Git reflog delete",description:"Blocks reflog deletion.",example:"git reflog delete HEAD@{1}",intent:"manual_only"},{id:"git.stash-drop",category:"Git",label:"Git stash drop",description:"Blocks dropping stash entries.",example:"git stash drop stash@{0}",intent:"use_alternative"},{id:"git.stash-clear",category:"Git",label:"Git stash clear",description:"Blocks clearing all stash entries.",example:"git stash clear",intent:"manual_only"},{id:"git.worktree-remove-force",category:"Git",label:"Git worktree force remove",description:"Blocks forced worktree removal.",example:"git worktree remove --force ../feature",intent:"use_alternative"},{id:"rm.recursive-force-root-or-home",category:"Filesystem",label:"rm -rf root or home",description:"Blocks recursive forced removal of root or home paths.",example:"rm -rf /",intent:"hard_stop",catastrophic:!0},{id:"rm.git-metadata",category:"Filesystem",label:"rm Git metadata",description:"Blocks removal of protected Git metadata and hooks.",example:"rm -rf .git",intent:"hard_stop",catastrophic:!0},{id:"rm.recursive-force-dynamic-target",category:"Filesystem",label:"rm -rf dynamic target",description:"Blocks recursive forced removal with dynamic targets in strict mode.",example:'rm -rf "$target"',intent:"scope_down",activationCapability:"fail_closed"},{id:"rm.recursive-force-home-cwd",category:"Filesystem",label:"rm -rf from home cwd",description:"Blocks recursive forced removal while working in home.",example:'cd "$HOME" && rm -rf build',intent:"scope_down"},{id:"rm.recursive-force-cwd-self",category:"Filesystem",label:"rm -rf current directory",description:"Blocks recursive forced removal of the current directory.",example:"rm -rf .",intent:"scope_down"},{id:"rm.recursive-force-outside-cwd",category:"Filesystem",label:"rm -rf outside cwd",description:"Blocks recursive forced removal outside the original cwd.",example:"rm -rf ../outside",intent:"scope_down"},{id:"rm.recursive-force-paranoid",category:"Filesystem",label:"rm -rf paranoid mode",description:"Blocks non-temp recursive forced removal when paranoid rm is enabled.",example:"rm -rf ./cache",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-root-or-home",category:"PowerShell",label:"Remove-Item root or home",description:"Blocks PowerShell Remove-Item targeting root or home paths.",example:"Remove-Item C:\\",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-root-or-home",category:"PowerShell",label:"Remove-Item recursive force root or home",description:"Blocks recursive forced PowerShell removal of root or home paths.",example:"Remove-Item C:\\ -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-git-metadata",category:"PowerShell",label:"Remove-Item Git metadata",description:"Blocks PowerShell removal of protected Git metadata and hooks.",example:"Remove-Item .git -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-dynamic-target",category:"PowerShell",label:"Remove-Item recursive force dynamic target",description:"Blocks recursive forced PowerShell removal with dynamic targets in strict mode.",example:"Remove-Item $target -Recurse -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"powershell.remove-item-recursive-force-home-cwd",category:"PowerShell",label:"Remove-Item recursive force from home cwd",description:"Blocks recursive forced PowerShell removal while working in home.",example:"Set-Location $HOME; Remove-Item ./build -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-cwd-self",category:"PowerShell",label:"Remove-Item recursive force current directory",description:"Blocks recursive forced PowerShell removal of the current directory.",example:"Remove-Item . -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-outside-cwd",category:"PowerShell",label:"Remove-Item recursive force outside cwd",description:"Blocks recursive forced PowerShell removal outside the original cwd.",example:"Remove-Item ../outside -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-paranoid",category:"PowerShell",label:"Remove-Item recursive force paranoid mode",description:"Blocks non-temp recursive forced PowerShell removal when paranoid rm is enabled.",example:"Remove-Item ./cache -Recurse -Force",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-pipeline-dynamic-target",category:"PowerShell",label:"Remove-Item pipeline dynamic target",description:"Blocks PowerShell Remove-Item with unverifiable pipeline input in strict mode.",example:"Get-ChildItem . -Recurse | Remove-Item -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"find.delete",category:"Filesystem",label:"find delete",description:"Blocks unsafe find -delete operations.",example:"find . -delete",intent:"scope_down"},{id:"find.delete-git-metadata",category:"Filesystem",label:"find delete Git metadata",description:"Blocks find -delete operations selecting protected Git metadata and hooks.",example:"find .git -delete",intent:"hard_stop",catastrophic:!0},{id:"find.exec-rm-recursive-force",category:"Filesystem",label:"find exec rm -rf",description:"Blocks find -exec rm -rf operations.",example:"find . -exec rm -rf {} +",intent:"scope_down"},{id:"dd.device-write",category:"Filesystem",label:"dd device write",description:"Blocks dd writing to a /dev device.",example:"dd if=/dev/zero of=/dev/sda",intent:"manual_only"},{id:"mkfs.device",category:"Filesystem",label:"mkfs device format",description:"Blocks mkfs formatting a /dev device.",example:"mkfs.ext4 /dev/sda1",intent:"manual_only"},{id:"shred.target",category:"Filesystem",label:"shred target",description:"Blocks shred against any target, including shred --help and shred --version.",example:"shred -u secret.txt",intent:"use_alternative"},{id:"interpreter.dangerous-command",category:"Execution",label:"Interpreter dangerous command",description:"Blocks interpreter one-liners containing dangerous commands.",example:`python -c "import os; os.system('rm -rf /')"`,intent:"use_alternative"},{id:"interpreter.one-liner-paranoid",category:"Execution",label:"Interpreter one-liner paranoid mode",description:"Blocks interpreter one-liners when paranoid interpreters is enabled.",example:'python -c "print(1)"',intent:"use_alternative",activationCapability:"paranoid_interpreters"},{id:"awk.system-dynamic",category:"Execution",label:"Awk dynamic system call",description:"Blocks awk system calls that cannot be safely analyzed.",example:"awk '{ system($0) }'",intent:"stop_and_explain"},{id:"xargs.rm-recursive-force-dynamic",category:"Execution",label:"xargs dynamic rm -rf",description:"Blocks xargs rm -rf with dynamic input.",example:"printf / | xargs rm -rf",intent:"scope_down"},{id:"xargs.shell-dynamic",category:"Execution",label:"xargs dynamic shell",description:"Blocks xargs shell execution with dynamic input.",example:"xargs r$(printf m) -rf",intent:"scope_down"},{id:"parallel.rm-recursive-force-dynamic",category:"Execution",label:"parallel dynamic rm -rf",description:"Blocks parallel rm -rf with dynamic input.",example:"printf / | parallel rm -rf",intent:"scope_down"},{id:"parallel.shell-dynamic",category:"Execution",label:"parallel dynamic shell",description:"Blocks parallel shell execution with dynamic input.",example:"parallel r$(printf m) -rf ::: child",intent:"scope_down"},{id:"parallel.command-stream-dynamic",category:"Execution",label:"parallel dynamic command stream",description:"Blocks parallel command streams from dynamic input.",example:"parallel --dry-run",intent:"scope_down"},{id:"shell.dynamic-structure",category:"Execution",label:"Dynamic command structure",description:"Blocks guarded subcommands and options assembled from substitution output in strict mode.",example:"git reset $(printf --hard)",intent:"stop_and_explain",activationCapability:"fail_closed"},{id:"shell.dynamic-executable",category:"Execution",label:"Dynamic executable name",description:"Blocks executable names assembled from command substitution output in strict mode.",example:"$(printf r)m -rf /",intent:"manual_only",activationCapability:"fail_closed"},{id:"raw-text.dangerous-command",category:"Execution",label:"Raw text dangerous command",description:"Blocks dangerous commands detected in raw command text.",example:"git reset --hard 'unterminated",intent:"stop_and_explain"}],FR=new Map(es.map((e)=>[e.id,e.intent])),Dy=new Set(es.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:FR.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(Dy.has(e.id))return e;if(t?.destructiveCommandProtectionEnabled===!1)return null;let n=t?.effectiveDestructiveCommandRules[e.id];return n&&!n.enabled?null:e}function ue(e,t,n){if(Dy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function $y(e,t){return Object.freeze(Object.fromEntries(es.map((n)=>{let r=n.activationCapability?t[n.activationCapability]:void 0,o=r?.enabled??!0,i=e.destructiveCommandRuleOverrides[n.id],s=n.catastrophic?{enabled:!0,inheritedEnabled:!0,changesInherited:!1,source:"catastrophic",...i?{override:i}:{}}:e.destructiveCommandProtectionEnabled?i?{enabled:i==="on",inheritedEnabled:o,changesInherited:i==="on"!==o,source:"rule_override",...n.activationCapability?{activationCapability:n.activationCapability}:{},override:i}:{enabled:o,inheritedEnabled:o,changesInherited:!1,source:r?.source??"built_in_default",...n.activationCapability?{activationCapability:n.activationCapability}:{}}:{enabled:!1,inheritedEnabled:o,changesInherited:!1,source:"master_disabled",...n.activationCapability?{activationCapability:n.activationCapability}:{},...i?{override:i}:{}};return[n.id,Object.freeze(s)]})))}function My(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:$y(e,t)})}function Mt(e,t){so(t,e,2);let n=e.toLowerCase(),r=n.trimStart(),o=r.startsWith("echo ")||r.startsWith("rg "),i=[{scan:"rm",label:"rm -rf"},{scan:"reset-hard",label:"git reset --hard"},{scan:"reset-merge",label:"git reset --merge"},{scan:"clean",label:"git clean -f"},{scan:"checkout",label:"git checkout --force"},{scan:"push-force",label:"git push --force"},{scan:"push-refspec",label:"git push --force"},{scan:"push-delete",label:"git push delete"},{scan:"branch",label:"git branch -D",caseSensitive:!0},{scan:"tag",label:"git tag -d"},{regex:/\bgit\s+stash\s+(drop|clear)\b/,label:"git stash drop/clear"},{regex:/\bgit\s+checkout\s+--\s/,label:"git checkout --"},{scan:"restore",label:"git restore without --staged"},{scan:"find",label:"find -delete",skipForEchoRg:!0},{regex:/\bdd\b[^\n|;&]*\bof=\/dev\/\S/,label:"dd of=/dev/",skipForEchoRg:!0},{regex:/\bmkfs(?:\.[a-z0-9_-]+)?\s+\/dev\/\S/,label:"mkfs /dev/",skipForEchoRg:!0},{regex:/\bshred\b\s+\S/,label:"shred",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Ie(t,a);if((s.regex?.test(a)??!1)||s.scan&&Ji(a,s.scan,t))return S("raw-text.dangerous-command",`Unparseable command text contains a destructive pattern (${s.label}). Rewrite as a plain, parseable command so it can be analyzed.`)}return null}var GR=/^[A-Za-z_][A-Za-z0-9_]*=/;function Wy(e,t,n){let r=e.words[0];if(!t||!r||e.words.length!==1||e.dialect!=="posix")return!1;if(!r.quoted||r.provenance!=="literal")return!1;let o=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(r.text)?.[1];if(!o)return!1;so(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return Fy(t.nodes,r,i)}function Fy(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return Fy(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return ZR(r,t,n)})}function ZR(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!GR.test(o.text));return e.words.every((o,i)=>o===t||Ly(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Ly(o.target.raw,n.anchored,!0)))}function Ly(e,t,n){let r=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="\\"&&!r){i++;continue}if(!o&&s==="'"){r=!r;continue}if(!r&&s==='"'){o=!o;continue}if(r||s!=="$")continue;if(!t.test(e.slice(i)))continue;if(!o||!n)return!1}return!0}var Gy=Object.freeze({maxDerivedTokens:16384}),Zy="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Oe extends Error{constructor(){super("Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.");this.name="DerivedCommandWorkLimitError"}}function ts(){return{derivedTokens:0}}function Xe(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Gy.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Gy.maxDerivedTokens-e.derivedTokens)throw new Oe;e.derivedTokens+=t}import{isAbsolute as BR,resolve as By}from"node:path";var Uy=64;function lo(e,t,n){let r=BR(e)?By(e):t?By(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function jy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function H(e){return G(e).toLowerCase()}function G(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var ns=10,er=20,vn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,tr=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Hy=new Set(["python","python3","python2","node","ruby","perl"]),Vy=/^python(?:[23](?:\.\d+)*)?$/,rs=new Set(["echo","printf","cat","head","tail","less","more","grep","rg","ag","ack","sed","awk","cut","tr","sort","uniq","wc","tee","man","help","info","type","which","whereis","whatis","apropos","file","stat","ls","ll","dir","tree","pwd","date","cal","uptime","whoami","id","groups","hostname","uname","env","printenv","set","export","alias","history","jobs","fg","bg","test","true","false","read","return","exit","break","continue","shift","wait","trap","basename","dirname","realpath","readlink","md5sum","sha256sum","base64","xxd","od","hexdump","strings","diff","cmp","comm","join","paste","column","fmt","fold","nl","pr","expand","unexpand","rev","tac","shuf","seq","yes","sleep","logger","write","wall","mesg","notify-send"]);var Sn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",nr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",os=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),UR=new Set(["-p","--print"]),jR=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),HR=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"])]]),VR=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),KR=new Map([["python",new Set(["m"])]]),qR=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"])]]),YR=new Set(["always","default","never"]),JR=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),XR=/\\\r?\n/g,QR=new Map([["python",[{selector:"-c",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-m",kind:"module-file",valueForm:"attached-or-separate"}]],["node",[{selector:"-e",kind:"inline-code",valueForm:"separate-only"},{selector:"--eval",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-p",kind:"inline-code",valueForm:"separate-only"},{selector:"--print",kind:"inline-code",valueForm:"separate-only"},{selector:"-r",kind:"module-file",valueForm:"separate-only"},{selector:"--require",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--import",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--loader",kind:"module-file",valueForm:"equals-or-separate"},{selector:"--experimental-loader",kind:"module-file",valueForm:"equals-or-separate"}]],["ruby",[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-r",kind:"module-file",valueForm:"attached-or-separate"}]],["perl",[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-E",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"-M",kind:"module-file",valueForm:"attached-only"},{selector:"-m",kind:"module-file",valueForm:"attached-only"}]]]);function is(e){return as(e).code}function ss(e){return as(e).sources}function qy(e){return QR.get(ls(e))??[]}function as(e){let t=ls(e[0]??"");if(!os.has(t))return{code:null,sources:[],optionsOpen:!1};let n=[],r=[],o=!0;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--")return Qe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Qe(t,n,r,o,i,s);if(t==="node"&&UR.has(s)){let d=e[i+1];if(d===void 0)return Qe(t,n,r,o);if(d.startsWith("-"))continue;n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),i++;continue}if(tP(t,s)){let d=e[i+1];if(d===void 0)return Qe(t,n,r,o);if(n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),t==="python")return Qe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(nP(t)&&a){let d=a[1]??"";n.push({tokenIndex:i,value:d}),r.push({tokenIndex:i,kind:"inline-code",value:d});continue}if(t==="node"){let d=eP(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let f=e[i+1];if(f===void 0||f.startsWith("-"))return o=!1,Qe(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:f}),i++;continue}}if(t==="python"&&s.startsWith("--check-hash-based-pycs=")||t==="node"&&(s==="--conditions="||s==="--diagnostic-dir="||s==="--title=")||t==="ruby"&&(s==="--disable="||s==="--enable="))return Qe(t,n,r,o);if(qR.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&JR.has(s))||t==="python"&&!YR.has(d))return Qe(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let f=s[d];if(f===void 0)break;if(KR.get(t)?.has(f)){let m=s.slice(d+1),p=m||e[i+1];if(p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});return Qe(t,n,r,o)}if(jR.get(t)?.has(f)){c=s.slice(d+1)||e[i+1],l=d+1===s.length;break}if(t==="node"&&f==="r"){if(s==="-r"){let m=e[i+1];if(o&&=m!==void 0&&!m.startsWith("-"),o&&m!==void 0)r.push({tokenIndex:i+1,kind:"module-file",value:m});i++}else o=!1;break}if(t==="ruby"&&f==="r"){let m=s.slice(d+1),p=m||e[i+1];if(o&&=p!==void 0,p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});if(!m)i++;break}if(t==="perl"&&(f==="M"||f==="m")){let m=s.slice(d+1);if(m)r.push({tokenIndex:i,kind:"module-file",value:m});else if(o=!1,d+1===s.length)i++;break}if(HR.get(t)?.has(f)){if(d+1===s.length)i++;break}if(VR.get(t)?.has(f)&&d+1<s.length)break}if(c===void 0)continue;let u=l?i+1:i;if(n.push({tokenIndex:u,value:c}),r.push({tokenIndex:u,kind:"inline-code",value:c}),t==="python")return Qe(t,n,r,o);if(l)i++}return Qe(t,n,r,o,void 0,void 0,!0)}function Qe(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
26
- `))||null,sources:r?l:[],optionsOpen:r&&s}}function eP(e){for(let t of["--import","--loader","--experimental-loader","--require"]){if(e===t)return{attached:!1,value:""};if(e.startsWith(`${t}=`))return{attached:!0,value:e.slice(t.length+1)}}return}function ze(e){return os.has(ls(e))}function cs(e,t){return ls(e)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(t)}function ls(e){let t=G(e).toLowerCase();return Vy.test(t)?"python":t}function tP(e,t){return os.get(e)?.has(t)??!1}function nP(e){return os.get(e)?.has("--eval")??!1}function rr(e,t){let n=iP(e,t);if(!Ky(n,t))return!1;Ie(t,n);let r=oP(n);if(Ky(r,t))return!0;return Ie(t,r),rP.test(r)}var rP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function oP(e){let t=[],n=0,r=0;while(r<e.length){let o=e[r];if(o!=="'"&&o!=='"'){r++;continue}let i=e.startsWith(o.repeat(3),r)?o.repeat(3):o,s=r+i.length;while(s<e.length&&!e.startsWith(i,s))s+=e[s]==="\\"?2:1;if(s>=e.length)break;t.push(e.slice(n,r)," "),r=s+i.length,n=r}return t.push(e.slice(n)),t.join("")}function Ky(e,t){if(Yi(e,"rm",t))return!0;for(let r of[/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(Ie(t,e),r.test(e))return!0;if(Yi(e,"dd",t))return!0;for(let r of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(Ie(t,e),r.test(e))return!0;if(Yi(e,"find",t))return!0;let n=e.split(/[\n\r\u2028\u2029]/);return["reset-hard","reset-merge","clean","checkout","push-force","push-refspec","push-delete","branch","tag","restore"].some((r)=>(Ie(t,e),n.some((o)=>Ji(o,r))))}function iP(e,t){return Ie(t,e),e.replace(XR,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Yy="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class ds extends Error{constructor(){super("Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.");this.name="ParallelAnalysisLimitError"}}function Jy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function Ne(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(us(e.childAnalyses,n,V.maxChildAnalyses)||us(e.derivedTokens,r,V.maxDerivedTokens)||us(e.derivedBytes,o,V.maxDerivedBytes)||us(e.placeholderReplacements,i,V.maxPlaceholderReplacements))throw new ds;e.childAnalyses+=n,e.derivedTokens+=r,e.derivedBytes+=o,e.placeholderReplacements+=i}function us(e,t,n){return!Number.isSafeInteger(e)||e<0||e>n||!Number.isSafeInteger(t)||t<0||t>n-e}import{isAbsolute as ku,normalize as pA,parse as gA,posix as pv,resolve as lr,sep as Pu}from"node:path";import{isAbsolute as sP,join as Xy,normalize as tb,parse as aP,sep as Qy}from"node:path";var cP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],lP=`
27
- `;function uo(e,t){if(ft(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Jl(e.get("TMPDIR")??"",t)}function Lt(e,t){if(e.has("TMPDIR"))return Jl(e.get("TMPDIR")??"",t);let n=Xl(e,t);if(n===void 0)return!0;return Jl(n,t)}function Xl(e,t){return ob(e,t,"TMPDIR")}function Jl(e,t){if(!e)return!1;if(dP(e))return!1;return Ql(e,t)}function ft(e,t){let n=ob(e,t,"IFS");return n!==void 0&&n!==""&&n!==lP}function Ql(e,t){let n=ms(e,t.paths);if(n===null)return!1;return rb(t).some((r)=>fP(n,r))}function nb(e,t){let n=ms(e,t.paths);if(n===null)return!1;return rb(t).some((r)=>fs(r)===fs(n))}var eb=new WeakMap;function rb(e){let t=eb.get(e);if(t)return t;let n=uP(e);return eb.set(e,n),n}function uP(e){let t=cP.map((r)=>ms(r,e.paths)??tb(r)),n=ms(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&mP(n))return[...t,n];return t}function dP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function ob(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function mP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ms(e,t){try{let n=tb(e);if(!sP(n))return n;let r=aP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=Xy(i,o[s]??"");if(t.entryKind(a)==="missing")return Xy(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function fP(e,t){let n=fs(e),r=fs(t);if(n===r)return!0;let o=r.endsWith(Qy)?r:`${r}${Qy}`;return n.startsWith(o)}function fs(e){return process.platform==="win32"?e.toLowerCase():e}import{statSync as Qk}from"node:fs";import{isAbsolute as iv,join as eA,relative as sv}from"node:path";import{isAbsolute as ib,parse as pP}from"node:path";var ab=/^[A-Za-z_][A-Za-z0-9_]*=/;function He(e){if(!ab.test(e))return null;let t=e.indexOf("=");return{name:e.slice(0,t),value:e.slice(t+1)}}function ps(e){let t=new Map,n=0;while(n<e.length){let r=e[n];if(!r)break;let o=He(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function cb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function _n(e,t,n,r){if(!cb(or(e)))return{words:e,envAssignments:new Map,cwd:n,rewritten:!1};let o=new Set(e),i=e,s=new Map,a=new Map(r??[]),c=[],l=n;for(let d=0;d<er;d++){let f=sb(i),m=ps(i);for(let[h,b]of m.envAssignments)s.set(h,b),a.set(h,b);if(i=m.words,i.length===0)break;while(i.length>0&&or(i).includes("=")&&!hP(i)){let h=yP(or(i),a,t.env)??Hi(or(i),t.env,a);if(h)s.set(h.name,h.value),a.set(h.name,h.value);i=i.slice(1)}if(i.length===0)break;let p=or(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=vP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=xP(i,l,a,t);if(c.push(...h.envSplitValues??[]),i=h.words,h.cwd!==void 0)l=h.cwd;for(let[b,y]of h.envAssignments)s.set(b,y),a.set(b,y)}if(p==="command")i=CP(i);if(p==="builtin")i=i.slice(et(i,1)==="--"?2:1);if(sb(i)===f)break}let u=ps(i);for(let[d,f]of u.envAssignments)s.set(d,f),a.set(d,f);return{words:u.words,envAssignments:s,cwd:l,envSplitValues:c.length>0?c:void 0,rewritten:gP(u.words,o)}}function gP(e,t){return e.some((n)=>!t.has(n))}function sb(e){return e.map(N).join(" ")}function or(e){let t=e[0];return t?N(t):""}function et(e,t){let n=e[t];return n?N(n):void 0}function hP(e){return ab.test(or(e))}function yP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var bP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function vP(e,t,n){let r=1,o=n;while(r<e.length){let i=et(e,r);if(!i)break;if(i==="--")return{words:e.slice(r+1),cwd:o};if(!i.startsWith("-"))break;if(i==="-D"||i==="--chdir"){let s=et(e,r+1);o=s?mo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=mo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=mo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(bP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var SP=new Set(["-i","-0","--null"]),_P=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=et(e,a);if(!l)break;if(l==="--")return c(a+1);if(l==="-i"||l==="--ignore-environment"||l==="-"){o.clear();for(let d of n.keys())o.set(d,"");o.set("TMPDIR",""),a++;continue}if(SP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=et(e,a+1);if(d!==void 0)o.set(d,"");a+=2;continue}if(l.startsWith("-u")&&l.length>2&&!l.startsWith("-u=")){o.set(l.slice(2),""),a++;continue}if(l.startsWith("--unset=")){o.set(l.slice(8),""),a++;continue}let u=l==="-S"||l==="--split-string"?{value:et(e,a+1),consumed:2}:l.startsWith("-S")&&l.length>2?{value:l.slice(2),consumed:1}:l.startsWith("--split-string=")?{value:l.slice(15),consumed:1}:null;if(u){if(u.value!==void 0)i.push(u.value);return s=null,c(a+u.consumed)}if(_P.has(l)){if(l==="-C"||l==="--chdir"){let d=et(e,a+1);s=d?mo(s,d,r.paths):null}a+=2;continue}if(l.startsWith("-u=")){a++;continue}if(l.startsWith("-C")&&l.length>2||l.startsWith("--chdir=")){let d=l.startsWith("--chdir=")?l.slice(8):l.startsWith("-C=")?l.slice(3):l.slice(2);s=mo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!He(l))break;while(a<e.length){let d=He(et(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(et(e,a)==="--")a++;return c(a)}return c(a)}function mo(e,t,n){if(t==="")return null;if(!e&&!ib(t))return null;let r=ib(t)?pP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Kt(r,t,n)}catch{return null}}function CP(e){if(et(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=et(e,t);if(!n)break;if(n==="-p"||n==="-v"||n==="-V"){t++;continue}if(n==="--")return e.slice(t+1);if(n.startsWith("-")&&!n.startsWith("--")&&n.length>1){if(!/^[pvV]+$/.test(n.slice(1)))break;t++;continue}break}return e.slice(t)}var wP=/['"\\$`{}#]/;function gs(e,t){if(e.some((r)=>wP.test(r)))return null;let n=[...e.flatMap((r)=>r.split(/\s+/).filter((o)=>o.length>0)),...t];return n.length<=64?n:null}function ir(e,t,n){return hs(e,t,n).tokens}function EP(e){let t=[],n="",r=0;while(r<e.length){let o=e.charAt(r);if(o==='"'||o==="'"){let i=e.indexOf(o,r+1);if(i===-1)return e.split(/\s+/).map((s)=>s.replace(/["']/g,"")).filter((s)=>s.length>0);n+=e.slice(r+1,i),r=i+1;continue}if(/\s/.test(o)){if(n.length>0)t.push(n);n="",r++;continue}n+=o,r++}if(n.length>0)t.push(n);return t}function Yt(e,t,n,r=0){let o=hs(e,t,n),i=(o.envSplitValues??[]).flatMap(EP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Yt(s,t,n,r+1)}function hs(e,t,n,r){if(!cb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=_n(j(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as Vk,isAbsolute as Kk,normalize as qk,resolve as tv}from"node:path";function ys(){return[]}function bs(){return[]}function vs(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function RP(e){return Object.freeze({...e,span:Object.freeze(e.span),words:Object.freeze(e.words),redirections:Object.freeze(e.redirections.map((t)=>Object.freeze({...t,span:Object.freeze(t.span),...t.heredoc?{heredoc:Object.freeze({...t.heredoc,bodySpan:Object.freeze(t.heredoc.bodySpan),terminatorSpan:Object.freeze(t.heredoc.terminatorSpan)})}:{}}))),nested:Object.freeze(e.nested.map((t)=>Ce(t)))})}function Ss(e,t,n){e.push(n),t.reset()}function PP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function _s(e){let t=[];return{parts:t,push:(n,r,o)=>PP(t,e,n,r,o)}}function eu(e){let t=e.parts??[{raw:e.raw,span:e.span,provenance:e.provenance}];return Object.freeze({kind:"word",...e,span:Object.freeze(e.span),parts:Object.freeze(t.map((n)=>Object.freeze({...n,span:Object.freeze(n.span)})))})}function sr(e,t,n,r,o,i,s){return eu({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function Ce(e){return Object.freeze({...e,span:Object.freeze(e.span),issues:Object.freeze(e.issues.map((t)=>Object.freeze({...t,span:Object.freeze(t.span)}))),nodes:Object.freeze(e.nodes.map((t)=>{if(t.kind==="command")return RP(t);if(t.kind==="group"||t.kind==="function")return Object.freeze({...t,span:Object.freeze(t.span),body:Ce(t.body)});return Object.freeze({...t,span:Object.freeze(t.span)})}))})}function tu(e,t,n){if(t>=n||ub(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!ub(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=lb(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=lb(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
28
- `||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function nu(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=kP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?AP(e.slice(a,i)):e.slice(a,i),delimiter:s.delimiter,quotedDelimiter:s.quotedDelimiter,bodySpan:{start:a,end:i},terminatorSpan:{start:i,end:l.contentEnd}}),i=l.next,c=!0;break}if(l.next<=i)break;i=l.next}if(c)continue;return o.push({code:"unterminated-heredoc",message:`heredoc delimiter ${s.delimiter} was not found`,span:s.declarationSpan}),{next:n,issues:o,terminated:!1}}return{next:i,issues:o,terminated:!0}}function lb(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
29
- `&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function ub(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function kP(e,t,n){let r=t;while(r<n&&e[r]!==`
19
+ ${fR(e.intent??"manual_only")}`,a}function fR(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 gy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function yy(e,t){if(e.decision.kind!=="deny")return;let n=t.includeEvidence?e.decision.evidence.find((r)=>r.kind==="command"):void 0;return{reason:e.decision.reason,ruleId:e.decision.ruleId,intent:e.decision.intent,command:n?.command,segment:n?.segment,toolName:t.toolName,...e.configFallback?{configWarning:e.configFallback.reason}:{}}}function zl(e={}){return{reason:Fi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function by(e){return hy({...e,redact:Tt})}function vy(e){return Tt(e instanceof Error?e.message:String(e))}import{basename as pR,dirname as gR,join as Nl}from"node: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 Xr(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function Ot(e){return{...Xr(),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 Dl(e,0,t)}function Dl(e,t,n){let r="",o=0;while(o<e.length){if(e[o]!=="$"){r+=e[o],o++;continue}if(e[o+1]==="{"){let s=Ml(e,o+2),a=hR(e,o,t);if(a===null){if(Gi.has(s))throw new Se;r+=e.slice(o);break}let c=e.slice(o,a+1);r+=yR(c,t,n),o=a+1;continue}let i=Ml(e,o+1);if(!i){r+="$",o++;continue}r+=$l(i,n)??`$${i}`,o+=i.length+1}return r}function hR(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 yR(e,t,n){let r=e.slice(2,-1),o=Ml(r,0);if(!o)return e;let i=r.slice(o.length);if(!i)return $l(o,n)??e;let s=[":-",":+",":=",":?","-","+","=","?"].find((l)=>i.startsWith(l));if(!s){if(Gi.has(o))throw new Se;return e}if(!Gi.has(o))return e;if(s.endsWith("="))throw new Se;let a=$l(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??"":Dl(i.slice(s.length),t+1,n);return c?Dl(i.slice(s.length),t+1,n):""}function Ml(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=Xr()){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:Nl(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=gR(i);if(a===i){let c=o.length===0?i:Nl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=qn.maxMissingSuffixComponents){let c=Nl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(pR(i)),i=a}}function _y(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 $l(e,t){if(!Gi.has(e))return null;if(e==="HOME")return t.env.get("HOME")??t.home;return t.env.get(e)??null}function N(e){return e.provenance==="command-substitution"?e.raw:e.text}function Yn(e,t){return e==="posix"?t:U(t.map((n)=>n.text))}function Ui(e,t){return e&&e.provenance!=="unknown"?e.provenance==="literal":!/[$`*?[\]]/.test(t)}function U(e){return e.map((t)=>({kind:"word",text:t,raw:t,span:{start:0,end:0},provenance:"unknown",quoted:!1,parts:[]}))}import{existsSync as Gl,lstatSync as _R,readFileSync as Hi,realpathSync as to,statSync as eo}from"node:fs";import{dirname as Zl,isAbsolute as Ul,join as Ki,resolve as qi}from"node:path";var Ll=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],bR=new Set(Ll);var Sy=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"]),vR=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Wl(e){return bR.has(e)}function Qr(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Fl(e){return Wl(e)||Sy.has(e)||ji.has(e)||Qr(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(vR)?.[1];if(!o||!Fl(o))return null;let i=e.indexOf("=");return{name:o,value:`${Ve(o,t,n)??""}${e.slice(i+1)}`}}function xy(e){return Ey(e,ji)}function Cy(e){return Ey(e,Sy)}function Ey(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 Py(e,t){return Ll.some((n)=>t?.has(n)||e.has(n))}function Ay(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=to(qi(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Iy(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=Ry(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=Ry(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 ky(e){let t=NR(e);if(!t)return!1;try{let n=_R(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=jl(t);if(!r?.commonDir)return!1;if(!CR(r.gitDir,t))return!1;return ER(r.gitDir,Zl(t))}catch{return!1}}function jl(e){try{let t=SR(e);if(!t)return null;let n=to(Ul(t)?t:qi(Zl(e),t));if(!eo(n).isDirectory())return null;return{gitDir:n,commonDir:xR(n)}}catch{return null}}function SR(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 xR(e){try{let t=Hi(Ki(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=to(Ul(t)?t:qi(e,t));return eo(n).isDirectory()?n:null}catch{return null}}function CR(e,t){let n=wR(e);return n===null?!1:Ty(e,n,t)}function ER(e,t){let n=RR(e);return n===null?!0:Ty(e,n,t)}function wR(e){let t=Ki(e,"gitdir");if(!Gl(t))return null;let n=Hi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function RR(e){let t=Ki(e,"config.worktree");return Gl(t)?IR(t):null}function Ty(e,t,n){return AR(PR(e,t),n)}function PR(e,t){return Ul(t)?t:qi(e,t)}function AR(e,t){try{return kR(e,t)}catch{return!1}}function kR(e,t){try{let n=eo(e),r=eo(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return wy(e)===wy(t)}function wy(e){return TR(to.native(e))}function TR(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 IR(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=OR(s[1]??"")}return r}function OR(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return zR(t.slice(1,-1))}function zR(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(r!=="\\"){t+=r;continue}let o=e[n+1];if(o===void 0){t+=r;continue}switch(o){case"\\":case'"':t+=o;break;case"n":t+=`
20
+ `;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function Ry(e,t){try{let n=Zt(e,t,Be);return Iy(n)?n:null}catch{return null}}function Iy(e){try{return eo(e).isDirectory()}catch{return!1}}function NR(e){try{return no(to(e))}catch{return null}}function no(e){let t=e;while(!0){let n=Ki(t,".git");if(Gl(n))return n;let r=Zl(t);if(r===t)return null;t=r}}function Bl(e,t){return{value:e,work:t}}function S(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 ro(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Ne(e,t){ro(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 Vl(e){return e===`
21
+ `||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(S(e,t+r)!==n[r])return!1;return!0}function zt(e,t,n){return!gn(S(e,t-1))&&ce(e,t,n)&&!gn(S(e,t+n.length))}function Nt(e,t){return gn(S(e,t-1))!==gn(S(e,t))}function he(e){return e===`
22
+ `||e===";"||e==="&"||e==="|"}function Jn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=Bl(e,n);if(t==="rm")return DR(r);if(t==="dd")return $R(r);return $y(r,!0)}function Ji(e,t,n){let r=Bl(e,n);if(t==="rm")return LR(r);if(t==="reset-hard")return Dy(r,"--ha","rd");if(t==="reset-merge")return Dy(r,"--me","rge");if(t==="clean")return ZR(r);if(t==="checkout")return jR(r);if(t==="push-force")return BR(r);if(t==="push-refspec")return VR(r);if(t==="push-delete")return HR(r);if(t==="branch")return KR(r);if(t==="tag")return JR(r);if(t==="restore")return XR(r);return $y(r,!1)}function DR(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=ue(e);i++){let s=S(e,i);if(!t){let c=S(e,i+2);if(zt(e,i,"rm")&&ae(c)&&c!==`
23
+ `)t=!0,i++;continue}let a=MR(e,i);if(s===`
24
+ `||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ue(e)){if(o>=0){let c=Oy(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=Oy(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 MR(e,t){if(S(e,t)!=="\\"||S(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 Oy(e,t,n){if(zy(e,t,n,"recursive"))return{recursive:!0,force:!1};if(zy(e,t,n,"force"))return{recursive:!1,force:!0};if(S(e,t)!=="-"||S(e,t+1)==="-")return{recursive:!1,force:!1};let r=!1,o=!1;for(let i=t+1;i<n;i++){let s=S(e,i);r||=s==="r"||s==="R",o||=s==="f"||s==="F"}return{recursive:r,force:o}}function zy(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(S(e,t+i+2)!==r[i])return!1;return!0}function $R(e){let t=!1;for(let n=0;n<ue(e);n++){if(he(S(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(S(e,r))&&S(e,r)!=="'"&&S(e,r)!=='"')return!0}return!1}function LR(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ue(e);){let i=S(e,o);if(o===ue(e)||he(i)){t=!1,n=!1,r=!1,o++;continue}let s=FR(e,o);if(s>=0){if(WR(e,s))return!0;let a=s,c=!1;while(ae(S(e,a)))c||=S(e,a)===`
25
+ `,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(ce(e,o,"--")&&(o===0||ae(S(e,o-1)))&&(!S(e,o+2)||ae(S(e,o+2))||he(S(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=ce(e,o,"--recursive")&&Nt(e,o+11)||Hl(e,o,"recursive"),r||=ce(e,o,"--force")&&Nt(e,o+7)||Hl(e,o,"force"),n&&r)return!0;o++}return!1}function Hl(e,t,n){if(!ce(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=S(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 WR(e,t){let n=t,r=!1,o=!1;while(n<ue(e)){while(ae(S(e,n)))n++;let i=n;while(n<ue(e)&&!ae(S(e,n)))n++;if(S(e,i)!=="-"||n-i===2&&ce(e,i,"--"))return!1;let s=Ny(e,i,"recursive"),a=Ny(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,S(e,i+1)==="-")continue;let c=GR(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Ny(e,t,n){return ce(e,t,`--${n}`)&&Nt(e,t+n.length+2)||Hl(e,t,n)}function FR(e,t){if(t>0&&gn(S(e,t-1)))return-1;let n=t;if(S(e,n)==="\\")n++;if(S(e,n)!=="r")return-1;if(n++,S(e,n)==="\\")n++;if(S(e,n)!=="m"||!ae(S(e,n+1)))return-1;return n+1}function GR(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(S(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=S(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 Dy(e,t,n){return io(e,"reset",Jn,!0,(r)=>S(e,r)==="-"&&Xn(e,r,t,n)?!0:r)}function ZR(e){return io(e,"clean",Jn,!0,(t)=>{if(S(e,t)!=="-")return t;if(Xn(e,t,"--fo","rce"))return!0;let n=oo(e,t,Jn);for(let r=t+1;r<n;r++)if(S(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!zt(e,t,"git"))return null;let r=t+3;if(!ae(S(e,r)))return{commandEnd:-1,next:r};while(ae(S(e,r)))r++;while(r<ue(e)){if(he(S(e,r)))return{commandEnd:-1,next:r};let o=oo(e,r,he);if(zt(e,r,n))return{commandEnd:r+n.length,next:o};if(S(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&ce(e,r,"--"),s=UR(e,r,o);r=o;while(ae(S(e,r)))r++;if(i)return{commandEnd:zt(e,r,n)?r+n.length:-1,next:oo(e,r,he)};if(!s)continue;if(r>=ue(e)||he(S(e,r)))return{commandEnd:-1,next:r};r=oo(e,r,he);while(ae(S(e,r)))r++}return{commandEnd:-1,next:r}}function UR(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 My(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function BR(e){return io(e,"push",Jn,!0,(t)=>{if(S(e,t)!=="-")return t;if(S(e,t+1)==="f"&&!gn(S(e,t+2))&&!ce(e,t+2,"-with-lease"))return!0;let n=Ly(e,t,"--fo","rce");if(n>=0&&!ce(e,n,"-with-lease"))return!0;return t})}function VR(e){return io(e,"push",he,!1,(t)=>{if(ae(S(e,t))&&S(e,t+1)==="+"&&t+2<ue(e)&&!he(S(e,t+2))&&!ae(S(e,t+2)))return!0;if(S(e,t)===":"&&S(e,t+1)==="+")return!0;return t})}function HR(e){return io(e,"push",he,!1,(t)=>{if(S(e,t)==="-"&&Xn(e,t,"--de","lete"))return!0;if(ae(S(e,t))&&S(e,t+1)===":"&&t+2<ue(e)&&!ae(S(e,t+2))&&!he(S(e,t+2)))return!0;return t})}function KR(e){let t=!1,n=!1,r=!1;for(let o=0;o<=ue(e);o++){if(o===ue(e)||he(S(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||S(e,o)!=="-")continue;let i=oo(e,o,he),s=qR(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function qR(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(S(e,i)!=="-")continue;if(Xn(e,i,"--de","lete"))r=!0;if(Xn(e,i,"--fo","rce"))o=!0;if(S(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&YR(S(e,s))){let u=S(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 YR(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function JR(e){return My(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function My(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=S(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==="$"&&S(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=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&ae(S(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Xn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(S(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&Nt(e,r+1))return!0;if(Jn(o))i.outerActive=!1}return!1}function io(e,t,n,r,o){let i=!1;for(let s=0;s<ue(e);s++){let a=S(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||ae(S(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(S(e,u)))i=!1;s=l}if(c)i=!1}return!1}function XR(e){let t=!1;for(let n=0;n<ue(e);n++){if(Vl(S(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&&S(e,n)==="-"&&S(e,n+1)==="-"&&(ce(e,n+2,"staged")||ce(e,n+2,"help")))t=!1}return t}function $y(e,t){let n=!1;for(let r=0;r<ue(e);r++){let o=S(e,r),i=t?Vl(o):he(o);if(n&&ae(o)&&S(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 oo(e,t,n){let r=t;while(r<ue(e)&&!ae(S(e,r))&&!n(S(e,r)))r++;return r}function Ly(e,t,n,r){if(!ce(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&S(e,o)===r[i];i++)o++;return Nt(e,o)?o:-1}function Xn(e,t,n,r){return Ly(e,t,n,r)>=0}var Wy=[{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"}],so=new Set(Wy.map((e)=>e.id)),Qi=Wy,QR=new Map(Qi.map((e)=>[e.id,e.intent])),Fy=new Set(Qi.filter((e)=>e.catastrophic).map((e)=>e.id));function v(e,t){return{id:e,reason:t,intent:QR.get(e)??"manual_only"}}function z(e,t){if(!e)return null;if(Fy.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(Fy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function Gy(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 Zy(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:Gy(e,t)})}function Dt(e,t){ro(t,e,2);let n=e.toLowerCase(),r=n.trimStart(),o=r.startsWith("echo ")||r.startsWith("rg "),i=[{scan:"rm",label:"rm -rf"},{scan:"reset-hard",label:"git reset --hard"},{scan:"reset-merge",label:"git reset --merge"},{scan:"clean",label:"git clean -f"},{scan:"checkout",label:"git checkout --force"},{scan:"push-force",label:"git push --force"},{scan:"push-refspec",label:"git push --force"},{scan:"push-delete",label:"git push delete"},{scan:"branch",label:"git branch -D",caseSensitive:!0},{scan:"tag",label:"git tag -d"},{regex:/\bgit\s+stash\s+(drop|clear)\b/,label:"git stash drop/clear"},{regex:/\bgit\s+checkout\s+--\s/,label:"git checkout --"},{scan:"restore",label:"git restore without --staged"},{scan:"find",label:"find -delete",skipForEchoRg:!0},{regex:/\bdd\b[^\n|;&]*\bof=\/dev\/\S/,label:"dd of=/dev/",skipForEchoRg:!0},{regex:/\bmkfs(?:\.[a-z0-9_-]+)?\s+\/dev\/\S/,label:"mkfs /dev/",skipForEchoRg:!0},{regex:/\bshred\b\s+\S/,label:"shred",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Ne(t,a);if((s.regex?.test(a)??!1)||s.scan&&Ji(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 eP=/^[A-Za-z_][A-Za-z0-9_]*=/;function jy(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;ro(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return By(t.nodes,r,i)}function By(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return By(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return tP(r,t,n)})}function tP(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!eP.test(o.text));return e.words.every((o,i)=>o===t||Uy(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Uy(o.target.raw,n.anchored,!0)))}function Uy(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 Vy=Object.freeze({maxDerivedTokens:16384}),Hy="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 es(){return{derivedTokens:0}}function et(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>Vy.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>Vy.maxDerivedTokens-e.derivedTokens)throw new De;e.derivedTokens+=t}import{isAbsolute as nP,resolve as Ky}from"node:path";var qy=64;function ao(e,t,n){let r=nP(e)?Ky(e):t?Ky(t,e):void 0;if(!r)return;try{return X(r,n)}catch{return r}}function Yy(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 ts=10,Qn=20,hn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,er=256,me=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Jy=new Set(["python","python3","python2","node","ruby","perl"]),Xy=/^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 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.",tr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",rs=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),rP=new Set(["-p","--print"]),oP=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),iP=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"])]]),sP=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),aP=new Map([["python",new Set(["m"])]]),cP=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"])]]),lP=new Set(["always","default","never"]),uP=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),dP=/\\\r?\n/g,mP=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 eb(e){return mP.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 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"&&rP.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(pP(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(gP(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=fP(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(cP.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&uP.has(s))||t==="python"&&!lP.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(aP.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(oP.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(iP.get(t)?.has(m)){if(d+1===s.length)i++;break}if(sP.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(`
26
+ `))||null,sources:r?l:[],optionsOpen:r&&s}}function fP(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 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=F(e).toLowerCase();return Xy.test(t)?"python":t}function pP(e,t){return rs.get(e)?.has(t)??!1}function gP(e){return rs.get(e)?.has("--eval")??!1}function nr(e,t){let n=bP(e,t);if(!Qy(n,t))return!1;Ne(t,n);let r=yP(n);if(Qy(r,t))return!0;return Ne(t,r),hP.test(r)}var hP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function yP(e){let t=[],n=0,r=0;while(r<e.length){let o=e[r];if(o!=="'"&&o!=='"'){r++;continue}let i=e.startsWith(o.repeat(3),r)?o.repeat(3):o,s=r+i.length;while(s<e.length&&!e.startsWith(i,s))s+=e[s]==="\\"?2:1;if(s>=e.length)break;t.push(e.slice(n,r)," "),r=s+i.length,n=r}return t.push(e.slice(n)),t.join("")}function Qy(e,t){if(Yi(e,"rm",t))return!0;for(let r of[/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(Ne(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(Ne(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)=>(Ne(t,e),n.some((o)=>Ji(o,r))))}function bP(e,t){return Ne(t,e),e.replace(dP,"")}var K=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),tb="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 nb(){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(ls(e.childAnalyses,n,K.maxChildAnalyses)||ls(e.derivedTokens,r,K.maxDerivedTokens)||ls(e.derivedBytes,o,K.maxDerivedBytes)||ls(e.placeholderReplacements,i,K.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 wu,normalize as Pk,parse as Ak,posix as vv,resolve as cr,sep as Eu}from"node:path";import{isAbsolute as vP,join as rb,normalize as sb,parse as _P,sep as ob}from"node:path";var SP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],xP=`
27
+ `;function co(e,t){if(pt(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Kl(e.get("TMPDIR")??"",t)}function Mt(e,t){if(e.has("TMPDIR"))return Kl(e.get("TMPDIR")??"",t);let n=ql(e,t);if(n===void 0)return!0;return Kl(n,t)}function ql(e,t){return lb(e,t,"TMPDIR")}function Kl(e,t){if(!e)return!1;if(EP(e))return!1;return Yl(e,t)}function pt(e,t){let n=lb(e,t,"IFS");return n!==void 0&&n!==""&&n!==xP}function Yl(e,t){let n=ds(e,t.paths);if(n===null)return!1;return cb(t).some((r)=>RP(n,r))}function ab(e,t){let n=ds(e,t.paths);if(n===null)return!1;return cb(t).some((r)=>ms(r)===ms(n))}var ib=new WeakMap;function cb(e){let t=ib.get(e);if(t)return t;let n=CP(e);return ib.set(e,n),n}function CP(e){let t=SP.map((r)=>ds(r,e.paths)??sb(r)),n=ds(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&wP(n))return[...t,n];return t}function EP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function lb(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function wP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ds(e,t){try{let n=sb(e);if(!vP(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=rb(i,o[s]??"");if(t.entryKind(a)==="missing")return rb(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function RP(e,t){let n=ms(e),r=ms(t);if(n===r)return!0;let o=r.endsWith(ob)?r:`${r}${ob}`;return n.startsWith(o)}function ms(e){return process.platform==="win32"?e.toLowerCase():e}import{statSync as mk}from"node:fs";import{isAbsolute as uv,join as fk,relative as dv}from"node:path";import{isAbsolute as ub,parse as PP}from"node:path";var mb=/^[A-Za-z_][A-Za-z0-9_]*=/;function Ke(e){if(!mb.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=Ke(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function fb(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function bn(e,t,n,r){if(!fb(rr(e)))return{words:e,envAssignments:new Map,cwd:n,rewritten:!1};let o=new Set(e),i=e,s=new Map,a=new Map(r??[]),c=[],l=n;for(let d=0;d<Qn;d++){let m=db(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&&rr(i).includes("=")&&!kP(i)){let h=TP(rr(i),a,t.env)??Vi(rr(i),t.env,a);if(h)s.set(h.name,h.value),a.set(h.name,h.value);i=i.slice(1)}if(i.length===0)break;let p=rr(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=OP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=DP(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=MP(i);if(p==="builtin")i=i.slice(nt(i,1)==="--"?2:1);if(db(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:AP(u.words,o)}}function AP(e,t){return e.some((n)=>!t.has(n))}function db(e){return e.map(N).join(" ")}function rr(e){let t=e[0];return t?N(t):""}function nt(e,t){let n=e[t];return n?N(n):void 0}function kP(e){return mb.test(rr(e))}function TP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var IP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function OP(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?lo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=lo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=lo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(IP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var zP=new Set(["-i","-0","--null"]),NP=new Set(["-u","--unset","-C","--chdir","-P"]);function DP(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(zP.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(NP.has(l)){if(l==="-C"||l==="--chdir"){let d=nt(e,a+1);s=d?lo(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=lo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!Ke(l))break;while(a<e.length){let d=Ke(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 lo(e,t,n){if(t==="")return null;if(!e&&!ub(t))return null;let r=ub(t)?PP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Zt(r,t,n)}catch{return null}}function MP(e){if(nt(e,1)==="-v")return[...U(["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 $P=/['"\\$`{}#]/;function ps(e,t){if(e.some((r)=>$P.test(r)))return null;let n=[...e.flatMap((r)=>r.split(/\s+/).filter((o)=>o.length>0)),...t];return n.length<=64?n:null}function jt(e,t,n){return gs(e,t,n).tokens}function LP(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 Bt(e,t,n,r=0){let o=gs(e,t,n),i=(o.envSplitValues??[]).flatMap(LP);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Bt(s,t,n,r+1)}function gs(e,t,n,r){if(!fb(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=bn(U(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as sk,isAbsolute as ak,normalize as ck,resolve as sv}from"node: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 WP(e){return Object.freeze({...e,span:Object.freeze(e.span),words:Object.freeze(e.words),redirections:Object.freeze(e.redirections.map((t)=>Object.freeze({...t,span:Object.freeze(t.span),...t.heredoc?{heredoc:Object.freeze({...t.heredoc,bodySpan:Object.freeze(t.heredoc.bodySpan),terminatorSpan:Object.freeze(t.heredoc.terminatorSpan)})}:{}}))),nested:Object.freeze(e.nested.map((t)=>Re(t)))})}function ys(e,t,n){e.push(n),t.reset()}function FP(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)=>FP(t,e,n,r,o)}}function Jl(e){let t=e.parts??[{raw:e.raw,span:e.span,provenance:e.provenance}];return Object.freeze({kind:"word",...e,span:Object.freeze(e.span),parts:Object.freeze(t.map((n)=>Object.freeze({...n,span:Object.freeze(n.span)})))})}function or(e,t,n,r,o,i,s){return Jl({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function 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 WP(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 Xl(e,t,n){if(t>=n||gb(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!gb(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=pb(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=pb(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
28
+ `||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function Ql(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=GP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?ZP(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 pb(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
29
+ `&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function gb(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function GP(e,t,n){let r=t;while(r<n&&e[r]!==`
30
30
  `&&e[r]!=="\r")r++;let o=r>=n?n:e[r]==="\r"&&e[r+1]===`
31
- `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function AP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var gb=new Set(["&&","||","|","|&"]);function hb(e,t,n){let r={start:0,end:e.length};if(e.length>n.maxInputLength)return Ce({kind:"program",dialect:t,source:e,span:r,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${n.maxInputLength} UTF-16 code units`,span:r}],nodes:[]});let o=ws(e,0,e.length,t,n,{used:0,max:n.maxWords},0);return Ce({kind:"program",dialect:t,source:e,span:r,status:Ps(o.issues,o.limited),issues:o.issues,nodes:o.nodes})}function ws(e,t,n,r,o,i,s,a){let c=ys(),l=bs(),u=vs(),d=[],f=()=>{if(u.words.length===0&&u.redirections.length===0)return;let p={start:u.start,end:u.end},h=u.words.map((b)=>b.text);Ss(c,u,{kind:"command",dialect:r,source:e.slice(p.start,p.end),span:p,words:u.words,redirections:u.redirections,nested:u.nested,displayText:l.length>0&&c.length===0?e.slice(t,n):h.join(" ")})},m=t;while(m<n){let p=e[m];if(!p)break;if(a&&p===a)return f(),pb(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(Rs(p)){if(p===`
32
- `||p==="\r"){f();let P=p==="\r"&&e[m+1]===`
33
- `?m+2:m+1,x=c.at(-1);if(x?.kind!=="connector"||!gb.has(x.operator))c.push(Object.freeze({kind:"connector",operator:e.slice(m,P),span:Object.freeze({start:m,end:P})}));if(d.length>0){let v=nu(e,P,n,d.splice(0));l.push(...v.issues),m=v.next;continue}m=P;continue}m++;continue}if(p==="#"){while(m<n&&e[m]!==`
34
- `&&e[m]!=="\r")m++;continue}let h=u.start===-1?KP(e,m,n):void 0;if(h){if(ou(c,l,m),s>=o.maxDepth)return ar(c,l,m,"depth-limit",o.maxDepth);if(!ru(i))return ar(c,l,m,"word-limit",o.maxWords);let P=ws(e,h.braceIndex+1,n,r,o,i,s+1,"}"),x=P.next,v={start:h.braceIndex+1,end:P.closed?x-1:x},T=db(e,r,v,P);if(c.push({kind:"function",name:h.name,span:{start:m,end:x},body:T}),l.push(...P.issues),P.pendingHeredocs.length>0||po(P.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:x}});if(d.push(...P.pendingHeredocs),P.limited)return Cs(c,l,P.next);if(!P.closed)l.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:h.braceIndex,end:x}});m=x;continue}let b=Es(e,m);if(b){if(f(),!wb(c.at(-1)))l.push({code:"unexpected-connector",message:`connector ${b} has no preceding command`,span:{start:m,end:m+b.length}});c.push(Object.freeze({kind:"connector",operator:b,span:Object.freeze({start:m,end:m+b.length})})),m+=b.length;continue}if(p===")"){f(),l.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:m,end:m+1}}),c.push({kind:"unknown",source:p,span:{start:m,end:m+1}}),m++;continue}if((p==="("||p==="{"&&$P(e,m,n))&&u.start===-1){if(ou(c,l,m),s>=o.maxDepth)return ar(c,l,m,"depth-limit",o.maxDepth);let P=p==="("?")":"}",x=ws(e,m+1,n,r,o,i,s+1,P),v=x.next,T={start:m+1,end:x.closed?v-1:v},k=db(e,r,T,x);if(c.push({kind:"group",style:p==="("?"subshell":"brace",span:{start:m,end:v},body:k}),l.push(...x.issues),x.pendingHeredocs.length>0||po(x.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:m,end:v}});if(d.push(...x.pendingHeredocs),x.limited)return Cs(c,l,x.next);if(!x.closed)l.push({code:p==="("?"unclosed-subshell":"unclosed-brace-group",message:`${p} group is not closed`,span:{start:m,end:v}});m=v;continue}let y=(p==="<"||p===">")&&e[m+1]!=="("?OP(e,m):null;if(y){let P=u.words.at(-1),x=P&&P.span.end===m&&/^[0-9]+$/.test(P.raw)?Number(P.raw):void 0;if(x!==void 0)u.words.pop();let v=x===void 0?m:P?.span.start??m;u.start=u.start===-1?m:u.start;let T=m+y.length;while(T<n&&/[ \t]/.test(e[T]??""))T++;let k=e[T],z=T>m+y.length&&k==="#",M=!k||Rs(k)||!!Es(e,T)||k===a||k===")"||z||(k==="<"||k===">")&&e[T+1]!=="(",W=y==="<<"||y==="<<-"?tu(e,T,n):void 0,U=W?{word:sr(e,T,W.next,W.delimiter,"literal",W.quoted),nested:[],issues:[],next:W.next,limited:!1}:!M?iu(e,T,n,r,o,i,s):void 0;if(U){if(l.push(...U.issues),U.limited)return Cs(c,l,U.next);if(!ru(i))return ar(c,l,U.next,"word-limit",o.maxWords)}let ge=U?.next??m+y.length,Be={kind:"redirection",operator:y,span:{start:v,end:ge},...x===void 0?{}:{fd:x},...U?{target:U.word}:{}};if(u.redirections.push(Be),y==="<<"||y==="<<-")if(!W)l.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:m,end:m+y.length}});else{if(W.ambiguous||W.delimiter.length===0)l.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:W.span});d.push({delimiter:W.delimiter,quotedDelimiter:W.quoted,stripTabs:y==="<<-",declarationSpan:{start:v,end:ge},attach:(A)=>{Be.heredoc=A}})}else if(!U)l.push({code:"missing-redirection-target",message:`redirection ${y} requires a target word`,span:{start:m,end:m+y.length}});if(U)u.nested.push(...U.nested);u.end=ge,m=ge;continue}if(u.start===-1)ou(c,l,m);let E=iu(e,m,n,r,o,i,s);if(l.push(...E.issues),E.limited)return Cs(c,l,E.next);let w=WP(u.words)?UP(e,E.word,i.max-i.used,o.maxDepth,o.maxInputLength):void 0;if(w?.limitCode)return ar(c,l,E.next,w.limitCode,w.limitCode==="word-limit"?o.maxWords:w.limitCode==="depth-limit"?o.maxDepth:o.maxInputLength);let R=w?.words??[E.word];for(let P of R){if(!ru(i))return ar(c,l,E.next,"word-limit",o.maxWords);u.words.push(P)}u.start=u.start===-1?m:u.start,u.end=E.next,u.nested.push(...E.nested),m=E.next>m?E.next:m+1}return f(),pb(c,l),l.push(...qP(d)),{nodes:c,issues:l,next:m,closed:a===void 0,limited:!1,pendingHeredocs:[]}}function db(e,t,n,r){return{kind:"program",dialect:t,source:e.slice(n.start,n.end),span:n,status:Ps(r.issues,r.limited),issues:r.issues,nodes:r.nodes}}function iu(e,t,n,r,o,i,s){let a="",c=t,l=!1,u="literal",d=[],f=[],m=!1;while(c<n){let p=e[c],h=(p==="<"||p===">")&&e[c+1]==="(";if(!p||Rs(p)||(p===";"||p==="|"||p==="&")&&Es(e,c)||(p==="<"||p===">")&&!h)break;if(p===")")break;if(p==="'"){l=!0;let y=e.indexOf("'",c+1);if(y===-1||y>=n){a+=e.slice(c+1,n),f.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:c,end:n}}),c=n;break}a+=e.slice(c+1,y),c=y+1;continue}if(p==='"'){l=!0;let y=TP(e,c,n,r,o,i,s);if(a+=y.text,d.push(...y.nested),f.push(...y.issues),m||=y.limited,u=fo(u,y.provenance),c=y.next,m)break;continue}if(e.startsWith("$'",c)){l=!0;let y=zP(e,c+2,n);if(a+=y.text,f.push(...y.issues),!y.closed)f.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:c,end:n}});c=y.next;continue}if(p==="\\"){let y=e[c+1];if(!y){f.push({code:"trailing-escape",message:"escape has no following character",span:{start:c,end:c+1}}),c++;break}if(y===`
35
- `){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?su(e,c,n,r,o,i,s):null;if(b){let y=yb(b,d,f);if(m||=y.limited,u=fo(u,y.provenance),c=y.next,m)break;continue}if(p==="$"){let y=Sb(e,c,n,a,u);a=y.text,u=y.provenance,c=y.next;continue}if(p==="*"||p==="?"||p==="[")u=fo(u,"glob");a+=p,c++}return{word:sr(e,t,c,a,u,l,u==="literal"?void 0:DP(e,t,c)),nested:d,issues:f,next:c,limited:m}}function TP(e,t,n,r,o,i,s){let a="",c="literal",l=[],u=[],d=!1,f=t+1;while(f<n){let m=e[f];if(m==='"')return{text:a,provenance:c,nested:l,issues:u,next:f+1,limited:d};if(m==="\\"&&e[f+1]){let h=e[f+1]??"";if(h===`
36
- `){f+=2;continue}if(h==="\r"&&e[f+2]===`
37
- `){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=au(e,f+3,n,"))"),b=h===-1?n:h+2;if(a+=e.slice(f,b),h===-1)u.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:f,end:b}});f=b;continue}let p=su(e,f,n,r,o,i,s);if(p){let h=yb(p,l,u);if(f=h.next,d||=h.limited,c=fo(c,h.provenance),d)return{text:a,provenance:c,nested:l,issues:u,next:f,limited:d};continue}if(m==="$"){let h=Sb(e,f,n,a,c);a=h.text,c=h.provenance,f=h.next;continue}a+=m??"",f++}return u.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:t,end:n}}),{text:a,provenance:c,nested:l,issues:u,next:n,limited:d}}function su(e,t,n,r,o,i,s){let a=e.startsWith("$((",t),c=e.startsWith("$(",t)&&!a,l=(e.startsWith("<(",t)||e.startsWith(">(",t))&&!0,u=e[t]==="`";if(!a&&!c&&!l&&!u)return null;let d=a?3:u?1:2,f=a?"))":u?"`":")",m=au(e,t+d,n,f),p=m===-1?n:m,h=m===-1?n:m+f.length;if(s>=o.maxDepth)return{program:VP(e,t+d,p,r,"depth-limit"),next:h,provenance:a?"arithmetic":"command-substitution"};if(a){let w=[],R=[],P=!1,x=t+d;while(x<p){let v=su(e,x,p,r,o,i,s+1);if(!v){x++;continue}if(w.push(...v.program.nodes),R.push(...v.program.issues),P||=v.program.status==="limited",x=v.next,P)break}if(m===-1)R.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:t,end:h}});return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Ps(R,P),issues:R,nodes:w}),next:h,provenance:"arithmetic"}}let b=ws(e,t+d,p,r,o,i,s+1),y=m===-1?[{code:a?"unclosed-arithmetic":"unclosed-command-substitution",message:`${e.slice(t,t+d)} substitution is not closed`,span:{start:t,end:h}}]:[],E=(u||l)&&po(b.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:t,end:h}}]:[];return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Ps([...b.issues,...y,...E],b.limited),issues:[...b.issues,...y,...E],nodes:b.nodes}),next:h,provenance:a?"arithmetic":"command-substitution"}}function yb(e,t,n){return t.push(e.program),n.push(...e.program.issues),{provenance:e.provenance,next:e.next,limited:e.program.status==="limited"}}function au(e,t,n,r){if(r==="`"){for(let a=t;a<n;a++)if(e[a]==="\\")a++;else if(e[a]==="`")return a;return-1}let o=1,i={single:!1,double:!1},s=[];for(let a=t;a<n;a++){let c=e[a];if((c===`
31
+ `?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function ZP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var _b=new Set(["&&","||","|","|&"]);function Sb(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=Ss(e,0,e.length,t,{used:0,max:t.maxWords},0);return Re({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(),vb(a,c),{nodes:a,issues:c,next:m+1,closed:!0,limited:!1,pendingHeredocs:u};if(Cs(f)){if(f===`
32
+ `||f==="\r"){d();let x=f==="\r"&&e[m+1]===`
33
+ `?m+2:m+1,P=a.at(-1);if(P?.kind!=="connector"||!_b.has(P.operator))a.push(Object.freeze({kind:"connector",operator:e.slice(m,x),span:Object.freeze({start:m,end:x})}));if(u.length>0){let L=Ql(e,x,n,u.splice(0));c.push(...L.issues),m=L.next;continue}m=x;continue}m++;continue}if(f==="#"){while(m<n&&e[m]!==`
34
+ `&&e[m]!=="\r")m++;continue}let p=l.start===-1?aA(e,m,n):void 0;if(p){if(tu(a,c,m),i>=r.maxDepth)return ir(a,c,m,"depth-limit",r.maxDepth);if(!eu(o))return ir(a,c,m,"word-limit",r.maxWords);let x=Ss(e,p.braceIndex+1,n,r,o,i+1,"}"),P=x.next,L={start:p.braceIndex+1,end:x.closed?P-1:P},k=hb(e,L,x);if(a.push({kind:"function",name:p.name,span:{start:m,end:P},body:k}),c.push(...x.issues),x.pendingHeredocs.length>0||mo(x.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(...x.pendingHeredocs),x.limited)return _s(a,c,x.next);if(!x.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(),!kb(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==="{"&&qP(e,m,n))&&l.start===-1){if(tu(a,c,m),i>=r.maxDepth)return ir(a,c,m,"depth-limit",r.maxDepth);let x=f==="("?")":"}",P=Ss(e,m+1,n,r,o,i+1,x),L=P.next,k={start:m+1,end:P.closed?L-1:L},j=hb(e,k,P);if(a.push({kind:"group",style:f==="("?"subshell":"brace",span:{start:m,end:L},body:j}),c.push(...P.issues),P.pendingHeredocs.length>0||mo(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]!=="("?BP(e,m):null;if(y){let x=l.words.at(-1),P=x&&x.span.end===m&&/^[0-9]+$/.test(x.raw)?Number(x.raw):void 0;if(P!==void 0)l.words.pop();let L=P===void 0?m:x?.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 j=e[k],ie=k>m+y.length&&j==="#",se=!j||Cs(j)||!!xs(e,k)||j===s||j===")"||ie||(j==="<"||j===">")&&e[k+1]!=="(",J=y==="<<"||y==="<<-"?Xl(e,k,n):void 0,B=J?{word:or(e,k,J.next,J.delimiter,"literal",J.quoted),nested:[],issues:[],next:J.next,limited:!1}:!se?nu(e,k,n,r,o,i):void 0;if(B){if(c.push(...B.issues),B.limited)return _s(a,c,B.next);if(!eu(o))return ir(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});u.push({delimiter:J.delimiter,quotedDelimiter:J.quoted,stripTabs:y==="<<-",declarationSpan:{start:L,end:w},attach:(V)=>{T.heredoc=V}})}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)tu(a,c,m);let b=nu(e,m,n,r,o,i);if(c.push(...b.issues),b.limited)return _s(a,c,b.next);let R=XP(l.words)?rA(e,b.word,o.max-o.used,r.maxDepth,r.maxInputLength):void 0;if(R?.limitCode)return ir(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 x of A){if(!eu(o))return ir(a,c,b.next,"word-limit",r.maxWords);l.words.push(x)}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(),vb(a,c),c.push(...cA(u)),{nodes:a,issues:c,next:m,closed:s===void 0,limited:!1,pendingHeredocs:[]}}function hb(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 nu(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=UP(e,a,n,r,o,i);if(s+=y.text,u.push(...y.nested),d.push(...y.issues),m||=y.limited,l=uo(l,y.provenance),a=y.next,m)break;continue}if(e.startsWith("$'",a)){c=!0;let y=VP(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===`
35
+ `){a+=2;continue}s+=y,a+=2;continue}let h=f==="$"||f==="<"||f===">"||f==="`"?ru(e,a,n,r,o,i):null;if(h){let y=xb(h,u,d);if(m||=y.limited,l=uo(l,y.provenance),a=y.next,m)break;continue}if(f==="$"){let y=wb(e,a,n,s,l);s=y.text,l=y.provenance,a=y.next;continue}if(f==="*"||f==="?"||f==="[")l=uo(l,"glob");s+=f,a++}return{word:or(e,t,a,s,l,c,l==="literal"?void 0:KP(e,t,a)),nested:u,issues:d,next:a,limited:m}}function UP(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===`
36
+ `){d+=2;continue}if(p==="\r"&&e[d+2]===`
37
+ `){d+=3;continue}s+=["$","`",'"',"\\"].includes(p)?p:`\\${p}`,d+=2;continue}if(e.startsWith("$((",d)){let p=ou(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=ru(e,d,n,r,o,i);if(f){let p=xb(f,c,l);if(d=p.next,u||=p.limited,a=uo(a,p.provenance),u)return{text:s,provenance:a,nested:c,issues:l,next:d,limited:u};continue}if(m==="$"){let p=wb(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 ru(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=ou(e,t+u,n,d),f=m===-1?n:m,p=m===-1?n:m+d.length;if(i>=r.maxDepth)return{program:sA(e,t+u,f,"depth-limit"),next:p,provenance:s?"arithmetic":"command-substitution"};if(s){let R=[],A=[],x=!1,P=t+u;while(P<f){let L=ru(e,P,f,r,o,i+1);if(!L){P++;continue}if(R.push(...L.program.nodes),A.push(...L.program.issues),x||=L.program.status==="limited",P=L.next,x)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:Es(A,x),issues:A,nodes:R}),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}}]:[],b=(l||c)&&mo(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:Es([...h.issues,...y,...b],h.limited),issues:[...h.issues,...y,...b],nodes:h.nodes}),next:p,provenance:"command-substitution"}}function xb(e,t,n){return t.push(e.program),n.push(...e.program.issues),{provenance:e.provenance,next:e.next,limited:e.program.status==="limited"}}function ou(e,t,n,r){if(r==="`"){for(let a=t;a<n;a++)if(e[a]==="\\")a++;else if(e[a]==="`")return a;return-1}let o=1,i={single:!1,double:!1},s=[];for(let a=t;a<n;a++){let c=e[a];if((c===`
38
38
  `||c==="\r")&&s.length>0){let u=c==="\r"&&e[a+1]===`
39
- `?a+2:a+1,d=nu(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=bb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=IP(e,a+3,n);if(u===-1)return-1;a=u+1;continue}if(r===")"&&!i.double&&c==="<"&&e[a+1]==="<"&&e[a+2]!=="<"){let u=e[a+2]==="-",d=a+(u?3:2);while(d<n&&/[ \t]/.test(e[d]??""))d++;let f=tu(e,d,n);if(f){s.push({delimiter:f.delimiter,quotedDelimiter:f.quoted,stripTabs:u,declarationSpan:{start:a,end:f.next},attach:()=>{return}}),a=f.next-1;continue}}if(e.startsWith("$(",a)&&!e.startsWith("$((",a)){o++,a++;continue}if(c==="("&&!i.double)o++;if(c===")"&&!i.double){if(o--,o===0)return r==="))"&&e[a+1]!==")"?-1:a}}return-1}function IP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=bb(e,i,t,n,o);if(a!==null){i=a;continue}if(e.startsWith("$(",i)&&!e.startsWith("$((",i)){r++,i++;continue}if(s==="("&&!o.double)r++;if(s!==")"||o.double)continue;if(r--,r===0)return e[i+1]===")"?i:-1}return-1}function bb(e,t,n,r,o){let i=e[t];if(i==="\\"&&!o.single)return t+1;if(!o.double&&i==="'")o.single=!o.single;if(!o.single&&i==='"')o.double=!o.double;if(o.single)return t;if(o.double||i!=="#"||!YP(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
40
- `&&e[s+1]!=="\r")s++;return s}function Es(e,t){let n=e[t];if(n===";")return";";if(n==="&")return e[t+1]==="&"?"&&":"&";if(n==="|")return e[t+1]==="|"?"||":e[t+1]==="&"?"|&":"|";return null}function OP(e,t){let n=e[t];if(n===">"){if(e[t+1]===">")return">>";if(e[t+1]==="&")return">&";return e[t+1]==="|"?">|":">"}if(n!=="<")return null;if(e.startsWith("<<<",t))return"<<<";if(e.startsWith("<<-",t))return"<<-";if(e[t+1]==="<")return"<<";if(e[t+1]==="&")return"<&";if(e[t+1]===">")return"<>";return"<"}function Rs(e){let t=e.charCodeAt(0);if(t===32||t>=9&&t<=13)return!0;if(t<128)return!1;return/\s/u.test(e)}function vb(e,t,n){if(e[t+1]==="{"){let o=e.indexOf("}",t+2);return o===-1||o>=n?n:o+1}let r=t+1;while(r<n&&/[A-Za-z0-9_?@#$!*-]/.test(e[r]??""))r++;return r===t+1?t+1:r}function zP(e,t,n){let r="",o=[],i=t;while(i<n){let s=e[i];if(s==="'")return{text:r,next:i+1,closed:!0,issues:o};if(s!=="\\"){r+=s??"",i++;continue}let a=NP(e,i+1,n);if(r+=a.text,a.invalidCodePoint!==void 0)o.push({code:"invalid-ansi-c-code-point",message:`ANSI-C escape is not a valid Unicode scalar value: ${a.invalidCodePoint}`,span:{start:i,end:a.next}});i=a.next}return{text:r,next:n,closed:!1,issues:o}}function NP(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
41
- `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return xs(e,t+1,n,16,2,t+1);if(r==="u")return xs(e,t+1,n,16,4,t+1);if(r==="U")return xs(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return xs(e,t,n,8,3,t+1);return{text:r,next:t+1}}function xs(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"�",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Ps(e,t=!1){if(t)return"limited";if(e.some((n)=>n.code==="invalid-ansi-c-code-point"||n.code==="missing-heredoc-delimiter"||n.code==="ambiguous-heredoc-delimiter"||n.code==="unterminated-heredoc"||n.code==="unsupported-heredoc-context"))return"invalid";return e.length>0?"partial":"complete"}function Sb(e,t,n,r,o){let i=vb(e,t,n);return{text:r+e.slice(t,i),provenance:fo(o,"variable"),next:i}}function DP(e,t,n){let r=_s(e),o=t,i=!1,s=!1,a=t;while(a<n){let c=e[a];if(c==="\\"&&!i){a+=2;continue}if(!s&&c==="'"){i=!i,a++;continue}if(!i&&c==='"'){s=!s,a++;continue}if(i){a++;continue}let l=e.startsWith("$((",a),u=e.startsWith("$(",a)&&!l,d=!s&&(e.startsWith("<(",a)||e.startsWith(">(",a)),f=c==="`";if(l||u||d||f){let m=l?3:f?1:2,p=l?"))":f?"`":")",h=au(e,a+m,n,p),b=h===-1?n:h+p.length;r.push(o,a,"literal"),r.push(a,b,l?"arithmetic":"command-substitution"),a=b,o=b;continue}if(c==="$"){let m=vb(e,a,n);if(m>a+1){r.push(o,a,"literal"),r.push(a,m,"variable"),a=m,o=m;continue}}if(!s&&(c==="*"||c==="?"||c==="[")){r.push(o,a,"literal"),r.push(a,a+1,"glob"),a++,o=a;continue}a++}return r.push(o,n,"literal"),r.parts}function fo(e,t){if(t==="command-substitution"||e==="command-substitution")return"command-substitution";if(t==="arithmetic"||e==="arithmetic")return"arithmetic";if(t==="variable"||e==="variable")return"variable";if(t==="glob"||e==="glob")return"glob";return e}function $P(e,t,n){return t+1>=n||Rs(e[t+1]??"")||Es(e,t+1)!==null}var MP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),LP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function WP(e){let t=0;while(t<=e.length){while(/^[A-Za-z_][A-Za-z0-9_]*=/.test(e[t]?.text??""))t++;if(t===e.length)return!0;let n=FP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function FP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return GP(e,t);if(n==="env")return ZP(e,t);if(n==="sudo")return BP(e,t);return}function GP(e,t){if(e[t+1]?.text==="-v")return null;for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(r==="-p"||r==="-v"||r==="-V"||/^-[pvV]+$/.test(r))continue;return n}return e.length}function ZP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(MP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-u=")||r.startsWith("--unset=")||r.startsWith("-C")&&r.length>2||r.startsWith("--chdir=")||r.startsWith("-S")&&r.length>2||r.startsWith("--split-string=")||r.startsWith("-P"))continue;if(r.startsWith("-")||/^[A-Za-z_][A-Za-z0-9_]*=/.test(r))continue;return n}return e.length}function BP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(LP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function _b(e,t,n,r){if(e.provenance!=="literal"||!e.raw.includes("{"))return;let o=[e.raw],i=e.raw.length,s=0;while(!0){let c=o.findIndex((p)=>fb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=fb(l);if(!u||u.kind==="range")return{limited:!0};let d=u.start+l.length-u.end,f=u.alternatives.reduce((p,h)=>p+d+h.length,0);if(i-l.length+f>r||o.length-1+u.alternatives.length>t)return{limited:!0};let m=xb(l,u);o.splice(c,1,...m),i+=f-l.length}if(s===0)return;let a=o.map((c)=>HP(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function UP(e,t,n,r,o){if(t.provenance!=="literal"||t.quoted||t.raw!==t.text||!t.raw.includes("{"))return;let i=[t.text],s=t.text.length,a=0;while(!0){let l=i.findIndex((b)=>mb(b));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=mb(u);if(!d)break;let f=d.start+u.length-d.end,m=d.alternatives.filter((b)=>f+b.length>0),p=m.reduce((b,y)=>b+f+y.length,0);if(s-u.length+p>o)return{limitCode:"brace-expansion-limit"};if(i.length-1+m.length>n)return{limitCode:"word-limit"};let h=xb(u,{...d,alternatives:m});i.splice(l,1,...h),s+=p-u.length}let c=i.filter((l)=>l.length>0);if(a===0)return;return{words:c.map((l)=>sr(e,t.span.start,t.span.end,l,"literal",!1))}}function mb(e){let t=[],n;for(let r=0;r<e.length;r++){let o=e[r];if(o==="{"){t.push({start:r,commas:[]});continue}if(o===","&&t.length>0){t.at(-1)?.commas.push(r);continue}if(o!=="}"||t.length===0)continue;let i=t.pop();if(!i||i.commas.length===0)continue;if(!n||i.start<n.start)n={start:i.start,end:r+1,commas:i.commas}}if(!n)return;return{start:n.start,end:n.end,alternatives:Cb(e,n)}}function fb(e){let t=[],n,r=null,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(o){o=!1;continue}if(s==="\\"&&r!=="'"){o=!0;continue}if(s===r){r=null;continue}if(r===null&&(s==="'"||s==='"')){r=s;continue}if(r!==null)continue;if(s==="{"){t.push({start:i,commas:[]});continue}if(s===","&&t.length>0){t.at(-1)?.commas.push(i);continue}if(s!=="}"||t.length===0)continue;let a=t.pop();if(!a)continue;let c=a.commas.length>0?{kind:"alternatives",start:a.start,end:i+1,commas:a.commas}:jP(e.slice(a.start+1,i))?{kind:"range",start:a.start,end:i+1}:void 0;if(c&&(!n||c.start<n.start))n=c}if(!n||n.kind==="range")return n;return{kind:n.kind,start:n.start,end:n.end,alternatives:Cb(e,n)}}function xb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function Cb(e,t){let n=[t.start,...t.commas,t.end-1];return n.slice(0,-1).map((r,o)=>e.slice(r+1,n[o+1]))}function jP(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function HP(e,t){let n=`x${e}`,r=iu(n,0,n.length,"posix",{maxInputLength:n.length,maxWords:1,maxDepth:t},{used:0,max:1},0);if(r.limited||r.issues.length>0||r.next!==n.length||r.word.provenance!=="literal")return null;return r.word.text.slice(1)}function VP(e,t,n,r,o){return Ce({kind:"program",dialect:r,source:e.slice(t,n),span:{start:t,end:n},status:"limited",issues:[{code:o,message:"command structure exceeds parser limit",span:{start:t,end:n}}],nodes:[]})}function ar(e,t,n,r,o){return{nodes:e,issues:[...t,{code:r,message:`command structure exceeds parser limit ${o}`,span:{start:n,end:n}}],next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function Cs(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function ru(e){return e.used++,e.used<=e.max}function KP(e,t,n){let r=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(e.slice(t,n)),o=r?.[1];if(!r||!o)return;return{name:o,braceIndex:t+r[0].lastIndexOf("{")}}function po(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>po(n.nodes));return(t.kind==="group"||t.kind==="function")&&po(t.body.nodes)})}function qP(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function wb(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function pb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!gb.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function ou(e,t,n){if(!wb(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function YP(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var Eb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Rb=["-rec","-for","-path","-literalpath","-whatif"],ks={maxInputLength:131072,maxWords:16384,maxDepth:64};function Pb(e){let t=e.toLowerCase().replaceAll("`","");if(![...Eb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Rb.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=ek(e);return n.invalidComment||n.commands.some(JP)}function JP(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&Eb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return Rb.some((i)=>o.startsWith(i))})}function kb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=mu(e,0,e.length,t,0);return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:tk(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function mu(e,t,n,r,o,i=!1){let s=ys(),a=bs(),c=vs(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let m={start:c.start,end:c.end};Ss(s,c,{kind:"command",dialect:"powershell",source:e.slice(m.start,m.end),span:m,words:c.words,redirections:c.redirections,nested:c.nested,displayText:c.words.map((p)=>p.text).join(" ")})},f=t;while(f<n){let m=e[f];if(!m)break;if(i&&m==="}")return d(),{nodes:s,issues:a,next:f+1,closed:!0,words:l,limited:u};let p=Ib(e,f,n,r.maxDepth);if(p){if(p.issue)a.push(p.issue);if(p.limited)return d(),{nodes:s,issues:a,next:p.next,closed:!1,words:l,limited:!0};f=p.next;continue}if(/\s/.test(m)){if(m==="\r"||m===`
42
- `){d();let y=m==="\r"&&e[f+1]===`
43
- `?f+2:f+1;s.push(cu(e,f,y)),f=y;continue}f++;continue}let h=fu(e,f);if(h){d(),s.push(cu(e,f,f+h.length)),f+=h.length;continue}if(m==="{"){if(d(),o>=r.maxDepth)return a.push(Tb(f,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let y=mu(e,f+1,n,r,o+1,!0),E=y.closed?y.next-1:y.next,w=Ce({kind:"program",dialect:"powershell",source:e.slice(f+1,E),span:{start:f+1,end:E},status:y.limited?"limited":y.issues.length>0?"partial":"complete",issues:y.issues,nodes:y.nodes});if(s.push(Object.freeze({kind:"group",style:"brace",span:Object.freeze({start:f,end:y.next}),body:w})),a.push(...y.issues),!y.closed)a.push({code:"unclosed-script-block",message:"PowerShell script block is not closed",span:{start:f,end:y.next}});l+=y.words,u||=y.limited,f=y.next;continue}if(m==="}"){d(),s.push(cu(e,f,f+1)),f++;continue}if(m===">"||m==="<"){c.start=c.start===-1?f:c.start;let y=e[f+1]===m?f+2:f+1,E=y;while(/[ \t]/.test(e[E]??""))E++;let w=E<n?lu(e,E,n,r,o):void 0,R=w?.next??y;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(f,y),span:Object.freeze({start:f,end:R}),...w?{target:w.word}:{}})),w)a.push(...w.issues),c.nested.push(...w.nested),l+=w.words,u||=w.limited;c.end=R,f=R;continue}if(m===","){c.start=c.start===-1?f:c.start,c.words.push(eu({text:",",raw:",",span:{start:f,end:f+1},provenance:"literal",quoted:!1})),c.end=++f;continue}let b=lu(e,f,n,r,o);if(c.start=c.start===-1?f:c.start,c.end=b.next,c.words.push(b.word),a.push(...b.issues),c.nested.push(...b.nested),l+=1+b.words,u||=b.limited,l>r.maxWords)return a.push({code:"word-limit",message:`command exceeds ${r.maxWords} words`,span:{start:f,end:b.next}}),d(),{nodes:s,issues:a,next:b.next,closed:!1,words:l,limited:!0};f=b.next>f?b.next:f+1}return d(),{nodes:s,issues:a,next:f,closed:!i,words:l,limited:u}}function lu(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,f=(p)=>{let h=XP(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=uu(h.program),d||=h.program.status==="limited",s="command-substitution",h.next},m=t;while(m<n){let p=e[m];if(!p||/\s/.test(p)||fu(e,m)||p===">"||p==="<"||p==="#")break;if(p===",")break;if(p==="`"){let h=e[m+1];if(!h){c.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:m,end:m+1}}),m++;break}i+=h,m+=2;continue}if(e.startsWith("$(",m)){m=f(m);continue}if(p==="'"){a=!0,m++;let h=!1;while(m<e.length){if(e[m]==="'"&&e[m+1]==="'"){i+="'",m+=2;continue}if(e[m]==="'"){h=!0,m++;break}i+=e[m]??"",m++}if(!h)c.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:t,end:e.length}});continue}if(p==='"'){a=!0;let h=m++,b=!1;while(m<n){let y=e[m];if(y==="`"&&e[m+1]){i+=e[m+1],m+=2;continue}if(y==='"'){b=!0,m++;break}if(e.startsWith("$(",m)){m=f(m);continue}if(y==="$")s=e[m+1]==="("?"command-substitution":"variable";i+=y??"",m++}if(!b)c.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:h,end:e.length}});continue}if(p==="$")s=e[m+1]==="("?"command-substitution":"variable";if(p==="@"&&m===t)s="variable";i+=p,m++}return{word:sr(e,t,m,i,s,a,s==="literal"?void 0:QP(e,t,m)),next:m,issues:c,nested:l,words:u,limited:d}}function XP(e,t,n,r,o){let i=Ab(e,t+2,n),s=i===-1?n:i,a=i===-1?n:i+1;if(o>=r.maxDepth)return{program:Ce({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:"limited",issues:[Tb(t,r.maxDepth)],nodes:[]}),next:a};let c=mu(e,t+2,s,r,o+1),l=i===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:t,end:a}}]:[];return{program:Ce({kind:"program",dialect:"powershell",source:e.slice(t+2,s),span:{start:t+2,end:s},status:c.limited?"limited":c.issues.length+l.length>0?"partial":"complete",issues:[...c.issues,...l],nodes:c.nodes}),next:a}}function Ab(e,t,n){let r=1,o=!1,i=!1;for(let s=t;s<n;s++){let a=e[s];if(a==="`"){s++;continue}if(!i&&a==="'"){if(o&&e[s+1]==="'"){s++;continue}o=!o;continue}if(!o&&a==='"'){i=!i;continue}if(o)continue;if(e.startsWith("$(",s)){r++,s++;continue}if(!i&&a==="(")r++;if(a!==")")continue;if(r--,r===0)return s}return-1}function uu(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=uu(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=uu(r)}}return t}function QP(e,t,n){let r=_s(e),o=t,i=!1,s=t;while(s<n){let a=e[s];if(a==="`"){s+=2;continue}if(a==="'"){if(i&&e[s+1]==="'"){s+=2;continue}i=!i,s++;continue}if(i){s++;continue}if(e.startsWith("$(",s)){let c=Ab(e,s+2,n),l=c===-1?n:c+1;r.push(o,s,"literal"),r.push(s,l,"command-substitution"),s=l,o=l;continue}if(a==="$"||a==="@"&&s===t){let c=s+1;if(e[c]==="{"){let l=e.indexOf("}",c+1);c=l===-1||l>=n?n:l+1}else while(c<n&&/[A-Za-z0-9_:?]/.test(e[c]??""))c++;r.push(o,s,"literal"),r.push(s,c,"variable"),s=c,o=c;continue}s++}return r.push(o,n,"literal"),r.parts}function Tb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function ek(e){let t=[],n=[],r=0,o=0,i=!1,s=()=>{if(n.length>0)t.push(n);n=[]};while(r<e.length&&r<131072&&o<16384){let a=e[r];if(a==="\r"||a===`
39
+ `?a+2:a+1,d=Ql(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=Cb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=jP(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=Xl(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 jP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=Cb(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 Cb(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!=="#"||!lA(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
40
+ `&&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 BP(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 Eb(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 VP(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=HP(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 HP(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
41
+ `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return 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:"�",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 wb(e,t,n,r,o){let i=Eb(e,t,n);return{text:r+e.slice(t,i),provenance:uo(o,"variable"),next:i}}function KP(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=ou(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=Eb(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 uo(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 qP(e,t,n){return t+1>=n||Cs(e[t+1]??"")||xs(e,t+1)!==null}var YP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),JP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function XP(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=QP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function QP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return eA(e,t);if(n==="env")return tA(e,t);if(n==="sudo")return nA(e,t);return}function eA(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 tA(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(YP.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 nA(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(JP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function Rb(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)=>bb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=bb(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=Pb(l,u);o.splice(c,1,...f),i+=m-l.length}if(s===0)return;let a=o.map((c)=>iA(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function rA(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)=>yb(y));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=yb(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=Pb(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)=>or(e,t.span.start,t.span.end,l,"literal",!1))}}function yb(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:Ab(e,n)}}function bb(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}:oA(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:Ab(e,n)}}function Pb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function Ab(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 oA(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function iA(e,t){let n=`x${e}`,r=nu(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 sA(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 ir(e,t,n,r,o){return{nodes:e,issues:[...t,{code:r,message:`command structure exceeds parser limit ${o}`,span:{start:n,end:n}}],next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function _s(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function eu(e){return e.used++,e.used<=e.max}function aA(e,t,n){let r=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(e.slice(t,n)),o=r?.[1];if(!r||!o)return;return{name:o,braceIndex:t+r[0].lastIndexOf("{")}}function mo(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>mo(n.nodes));return(t.kind==="group"||t.kind==="function")&&mo(t.body.nodes)})}function cA(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function kb(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function vb(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!_b.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function tu(e,t,n){if(!kb(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function lA(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var Tb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Ib=["-rec","-for","-path","-literalpath","-whatif"],ws={maxInputLength:131072,maxWords:16384,maxDepth:64};function Ob(e){let t=e.toLowerCase().replaceAll("`","");if(![...Tb].some((r)=>t.includes(r))&&!(t.includes("rm")&&Ib.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=fA(e);return n.invalidComment||n.commands.some(uA)}function uA(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&Tb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return Ib.some((i)=>o.startsWith(i))})}function zb(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=lu(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 lu(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=Mb(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===`
42
+ `){d();let b=f==="\r"&&e[m+1]===`
43
+ `?m+2:m+1;s.push(iu(e,m,b)),m=b;continue}m++;continue}let h=uu(e,m);if(h){d(),s.push(iu(e,m,m+h.length)),m+=h.length;continue}if(f==="{"){if(d(),o>=r.maxDepth)return a.push(Db(m,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let b=lu(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(iu(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?su(e,R,n,r,o):void 0,x=A?.next??b;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(m,b),span:Object.freeze({start:m,end:x}),...A?{target:A.word}:{}})),A)a.push(...A.issues),c.nested.push(...A.nested),l+=A.words,u||=A.limited;c.end=x,m=x;continue}if(f===","){c.start=c.start===-1?m:c.start,c.words.push(Jl({text:",",raw:",",span:{start:m,end:m+1},provenance:"literal",quoted:!1})),c.end=++m;continue}let y=su(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 su(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,m=(p)=>{let h=dA(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=au(h.program),d||=h.program.status==="limited",s="command-substitution",h.next},f=t;while(f<n){let p=e[f];if(!p||/\s/.test(p)||uu(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:or(e,t,f,i,s,a,s==="literal"?void 0:mA(e,t,f)),next:f,issues:c,nested:l,words:u,limited:d}}function dA(e,t,n,r,o){let i=Nb(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:[Db(t,r.maxDepth)],nodes:[]}),next:a};let c=lu(e,t+2,s,r,o+1),l=i===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:t,end:a}}]:[];return{program: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 Nb(e,t,n){let r=1,o=!1,i=!1;for(let s=t;s<n;s++){let a=e[s];if(a==="`"){s++;continue}if(!i&&a==="'"){if(o&&e[s+1]==="'"){s++;continue}o=!o;continue}if(!o&&a==='"'){i=!i;continue}if(o)continue;if(e.startsWith("$(",s)){r++,s++;continue}if(!i&&a==="(")r++;if(a!==")")continue;if(r--,r===0)return s}return-1}function au(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=au(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=au(r)}}return t}function mA(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=Nb(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 Db(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function fA(e){let t=[],n=[],r=0,o=0,i=!1,s=()=>{if(n.length>0)t.push(n);n=[]};while(r<e.length&&r<131072&&o<16384){let a=e[r];if(a==="\r"||a===`
44
44
  `){s(),r+=a==="\r"&&e[r+1]===`
45
- `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Ib(e,r,Math.min(e.length,ks.maxInputLength),ks.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,ks.maxInputLength),ks,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...du(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function du(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return du(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(du)]})}function fu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Ib(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
46
- `)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function tk(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function cu(e,t,n){return Object.freeze({kind:"connector",operator:e.slice(t,n),span:Object.freeze({start:t,end:n})})}var xn=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function tt(e,t="auto",n=xn){if(t==="powershell"||t==="auto"&&Pb(e.slice(0,n.maxInputLength)))return kb(e,n);return hb(e,"posix",n)}function go(e,t){if(e!=="powershell")return t[0]?.provenance==="command-substitution";let n=t[0]?.text==="&"||t[0]?.text==="."?1:0,r=t[n]?.provenance;return r!==void 0&&r!=="literal"}var nk=/^[A-Za-z_][A-Za-z0-9_]*=/;function As(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function Ts(e){let t=As(e.words[0],"time")?1:0,n=t===1&&As(e.words[t],"-p")?t+1:t,r=t===1&&As(e.words[n],"--")?n+1:n,o=As(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!nk.test(s.text));return i?.provenance==="literal"?i.text:void 0}function ho(e,t){if(t.escaped)return t.escaped=!1,!0;if(e==="\\"&&!t.inSingle)return t.escaped=!0,!0;if(e==="'"&&!t.inDouble)return t.inSingle=!t.inSingle,!0;if(e==='"'&&!t.inSingle)return t.inDouble=!t.inDouble,!0;return!1}function cr(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of rk(e))ho(n,t);return t.inSingle||t.inDouble}function rk(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
47
- `||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);ho(s,n)}return t}var ok=new Set(["&&","||","|&","|","&",";"]),ik=new Set(["<<","<<<",">|"]),sk=/[*@#?$!_-]/,pu=Object.freeze([]),ak=Object.freeze([]),ck=256;function $b(e,t){let n=t.status==="complete"?new Set(hu(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(cr(r))return Is("unclosed-quote",r,pu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=yo(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return Is("structural-limit",r,pu);if(o.invalid)return Is("invalid",r,pu);return Is("complete",r,i,o.assignmentFallbacks)}function Is(e,t,n,r=ak){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function yo(e,t){return e.nodes.flatMap((n,r)=>lk(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function lk(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[nt(pk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[nt(e.source)]}];if(e.kind==="function")return r.functions.set(e.name,e.body),[];if(e.kind==="group"){let i=e.style!=="subshell",s=r.source[e.span.end-1]===(i?"}":")"),a=i?r:{...r,functions:new Map(r.functions)};return[{start:e.span.start,entries:[i?Os("{"):nt("("),...yo(e.body,a),...s?[i?Os("}"):nt(")")]:[]]}]}let o=hk(e,r.functions);if(o){if(r.depth>=xn.maxDepth||++r.flags.expansions>ck)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...Ob(e,r),Os(";"),...yo(o,{...r,depth:r.depth+1}),Os(";")]},...zb(e,t,n,r)]}return[{start:e.span.start,entries:Ob(e,r)},...zb(e,t,n,r)]}function Ob(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Lb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:uk(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function uk(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Lb(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[yu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:gk(r),targetOrder:ik.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function zb(e,t,n,r){let o=e.redirections.filter((i)=>i.operator==="<<"||i.operator==="<<-");return[...o.flatMap((i)=>{let s=i.heredoc;if(!s)return[];let a=[yu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[nt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Mb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?dk(t,n,r):[]]}function dk(e,t,n){let r=e.nodes.slice(t+1).find((o)=>o.kind==="connector");if(!r||r.span.end>=e.span.end)return[];return[{start:r.span.end,entries:Mb(n.source.slice(r.span.end,e.span.end),n)}]}function Mb(e,t){if(t.depth>=xn.maxDepth)return t.flags.limited=!0,[];let n=tt(e,"posix");if(n.status==="limited")return t.flags.limited=!0,[];let r={invalid:!1,limited:!1,expansions:t.flags.expansions,assignmentFallbacks:t.flags.assignmentFallbacks},o=yo(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Lb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(nt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(yu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of gu(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(nt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=gu(m,{single:!1,double:!0},n.flags).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((m)=>m.span.start>=l.span.start&&m.span.end<=l.span.end),d=u?yo(u,n):[];if(l.raw.startsWith("`")){s+="${}",c(),o.push(...d);continue}if(l.raw.startsWith("<(")||l.raw.startsWith(">(")){c(),o.push(l.raw.startsWith("<(")?nt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[nt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>nt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>nt(")")):[])}return c(),o}function gu(e,t,n){let r=[],o="",i=!1,s=0;while(s<e.length){let a=e[s]??"";if(!t.single&&!t.double&&(a==="("||a===")")){r.push({text:o,glob:i},a),o="",i=!1,s++;continue}if(t.single){if(a==="'")t.single=!1;else o+=a;s++;continue}if(t.double){if(a==='"'){t.double=!1,s++;continue}if(a==="\\"){let c=e[s+1]??"";o+=['"',"\\","$"].includes(c)?c:`\\${c}`,s+=2;continue}if(a==="$"){let c=Nb(e,s,t,n);o+=c.text,s=c.next;continue}o+=a,s++;continue}if(a==="'"||a==='"'){t.single=a==="'",t.double=a==='"',s++;continue}if(a==="\\"){let c=e[s+1]??"";i||=c==="*"||c==="?",o+=c,s+=2;continue}if(a==="$"){let c=Nb(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Nb(e,t,n,r){let o=e[t+1];if(o==="{"){let s=fk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return mk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&sk.test(o))return{text:`\${${o}}`,next:t+2};let i=/^\w*/.exec(e.slice(t+1))?.[0]??"";return{text:`\${${i}}`,next:t+1+i.length}}function mk(e,t,n){let r=e.slice(2,-1),o=/^[A-Za-z_][A-Za-z0-9_]*/.exec(r)?.[0];if(!o)return;let i=r.slice(o.length),s=[":=","="].find((c)=>i.startsWith(c));if(!s)return;let a=gu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function fk(e,t){let n=1,r=t;while(n>0&&r<e.length){if(e[r]==="{"&&e[r-1]==="$")n++;else if(e[r]==="}")n--;r++}return n===0?r-1:-1}function pk(e){return/^[\r\n]+$/.test(e)?";":e}function nt(e){return Object.freeze({kind:"operator",operator:e,boundary:ok.has(e)})}function Os(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function yu(e){return Object.freeze({kind:"word",text:e})}function gk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function hu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return hu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>hu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!bk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function hk(e,t){let n=Ts(e);return n===void 0?void 0:t.get(n)}function Jt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function yk(e){if(Jt(e.words[0],"git"))return Jt(e.words[1],"commit");if(!Jt(e.words[0],"gh")||!Jt(e.words[2],"create"))return!1;return Jt(e.words[1],"pr")||Jt(e.words[1],"issue")}function bk(e){return(Jt(e.words[0],"cat")||Jt(e.words[0],"tee")||yk(e))&&!e.words.some(Db)&&!e.redirections.some((n)=>Db(n.target))}function Db(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as vk}from"node:util";var Sk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),_k=new Set(["command","diff","input","patch","patchtext"]),Wb=new TextEncoder,xk=new TextDecoder,Ck=/\s/,wk=64;class Wt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var bo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function Ek(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Ns(e){return Sk.has(Ek(e))}function So(e){if(!e||typeof e!=="object")return;Kb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)pt();return}if(t.get||t.set)pt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function _u(e,t){return Ub(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Ub(e,t,n,r){let o=Vb(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Ub(a,t,n,r+1);return typeof a==="string"&&t.has(jb(s))?[a]:c});return n.ancestors.delete(o.object),i}function jb(e){return e.replace(/-/g,"_").toLowerCase()}function xu(e){return Hb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(Pk)}function Hb(e,t,n,r){let o=Vb(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Hb(a,o.array?t:_k.has(jb(s)),n,r+1));return n.ancestors.delete(o.object),i}function Rk(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 Vb(e,t,n){if(Rk(e,t,n),!e||typeof e!=="object")return null;let r=Kb(e);if(t.ancestors.has(e))pt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>bo.maxKeys)pt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)pt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function Kb(e){if(vk.isProxy(e))pt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)pt();return t}function pt(){throw new Wt}function Pk(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=kk(l);if(o=!0,i=u?.oldLines??null,s=u?.newLines??null,i===0&&s===0)a();continue}if(o&&i!==null&&s!==null){let u=l.startsWith(" ")||l.startsWith("-")?1:0,d=l.startsWith(" ")||l.startsWith("+")?1:0;if(i=Math.max(0,i-u),s=Math.max(0,s-d),i===0&&s===0)a();continue}if(l.startsWith("*** ")){a(),t.push(...bu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...bu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...Su(zs(l.slice(4),!0),zs(u.slice(4),!0))),c++;continue}if(!r)t.push(...bu(l))}return t}function kk(e){let t=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(e);if(!t)return null;return{oldLines:Number(t[1]??1),newLines:Number(t[2]??1)}}function bu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Bb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Bb(n[1]);if(e.startsWith("diff --git "))return Ak(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Zb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Zb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return $k(i[1]);return[]}function Ak(e){let t=Tk(e);if(t.length===2&&t[0]&&t[1])return Su(t[0],t[1]);let n=Ik(e);return n?Su(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function Tk(e){let t=[],n=0;while(n<e.length&&t.length<2){while(Cn(e[n]))n++;if(n>=e.length)break;let r=e[n]==='"'||e[n]==="'"?e[n]:void 0;if(!r){let i=n;while(n<e.length&&!Cn(e[n]))n++;t.push(e.slice(i,n));continue}let o=qb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(Cn(e[n]))n++;return n===e.length?t:[]}function Ik(e){let t=0;while(t<e.length&&Cn(e[t]))t++;let n=e.length;while(n>t&&Cn(e[n-1]))n--;let r=0,o=t;while(o<n){if(!Cn(e[o])){o++;continue}let i=o;while(o<n&&Cn(e[o]))o++;if(i===t||o===n)continue;if(r++,r>wk)pt();if(Ok(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function Ok(e,t,n,r,o){if(vu(e,t,n,r,o))return!0;let i=Fb(e,"/",t,n),s=Fb(e,"/",r,o);if(i<=t||s<=r)return!1;if(vu(e,t,i,r,s))return!1;return vu(e,i+1,n,s+1,o)}function vu(e,t,n,r,o){if(n-t!==o-r)return!1;for(let i=0;i<n-t;i++)if(e[t+i]!==e[r+i])return!1;return!0}function Fb(e,t,n,r){for(let o=n;o<r;o++)if(e[o]===t)return o;return-1}function Cn(e){return e!==void 0&&Ck.test(e)}function qb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:xk.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Wb.encode(i)),o++;continue}let s=e.slice(o+1),a=/^[0-7]{1,3}/.exec(s)?.[0];if(a){r.push(Number.parseInt(a,8)),o+=a.length+1;continue}r.push(...Wb.encode(zk(s[0]??""))),o+=2}return null}function zk(e){return{a:"\x07",b:"\b",f:"\f",n:`
48
- `,r:"\r",t:"\t",v:"\v"}[e]??e}function Nk(e){return vo(Mk(e))}function Su(e,t){if(e==="/dev/null")return Gb(t);if(t==="/dev/null")return Gb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(vo);let n=Dk(e,t)??(e===t?Yb(e):null);return[e,t,...n?[n]:[]].flatMap(vo)}function Gb(e){let t=Yb(e);return[e,...t?[t]:[]].flatMap(vo)}function Yb(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 Zb(e){return Nk(zs(e,!0))}function $k(e){return vo(zs(e,!1))}function zs(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=qb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Mk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function vo(e){return e===""||e==="/dev/null"?[]:[e]}function Bb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var Jb=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),Xb=new Set([...Jb,"glob"]),Lk=new Set([...Xb,"pattern"]),Wk=[],Qb={parseCommand:tt,projectShellSyntax:$b};class gt extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function Ds(e,t={}){let n=Fk({...Qb,...t}),r=So(e.input),o=[];if((e.route.kind==="command"||e.route.kind==="unknown")&&r)o.push({usage:"input-candidate",source:r});if(e.route.kind==="command"&&"command"in e&&e.command)o.push({usage:"declared-command",source:e.command});let i=o.reduce((s,a)=>{let c=s.findIndex((d)=>d.source===a.source);if(c!==-1){let d=s[c];if(!d)return s;return s[c]={...d,usages:[...d.usages,a.usage]},s}let l=e.route.kind==="command"?e.route.shell:"posix",u=n.getCommandProgram(a.source,l);return s.push({usages:[a.usage],source:a.source,program:u,shell:n.getShellSyntax(a.source,u)}),s},[]);return{invocation:{toolName:e.toolName,route:e.route,context:e.context},commands:i,paths:Gk(e),store:n}}function De(e,t){return e.commands.find((n)=>n.usages.includes(t))}function ht(e){if(!e.includes("$"))return e;return Zi(e,It())}function Fk(e={}){let t={...Qb,...e},n=new Map,r=new Map,o=new WeakMap,i=(a,c)=>{let l=`${c}\x00${a}`,u=r.get(l);if(u)return u;let d=t.parseCommand(a,c);return r.set(l,d),d};return{getShellSyntax:(a,c)=>{if(c&&c.source!==a)throw TypeError("Shell syntax source does not match command program source.");let l=c??i(a,"posix");if(l.status==="limited"){let f=o.get(l);if(f)return f;let m={status:"structural-limit",source:a,entries:Wk,assignmentFallbacks:[]};return o.set(l,m),m}let u=n.get(a);if(u)return u;let d=t.projectShellSyntax(a,l);return n.set(a,d),d},getCommandProgram:i}}function Gk(e){let t=e.route.kind==="grep"?Xb:e.route.kind==="glob"?Lk:Jb;return[..._u(e.input,t),...e.route.kind==="patch"?xu(e.input):[]]}function we(e,t){let n=new Set,r=!1;for(let o of e){if(o==="--"){r=!0;continue}if(r)continue;if(o.startsWith("-")&&!o.startsWith("--")&&o.length>1)for(let i=1;i<o.length;i++){let s=o[i];if(!s||!/[a-zA-Z]/.test(s))break;let a=`-${s}`;if(n.add(a),t?.shortOptsWithValue?.has(a))break}}return n}var Zk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Bk=new Map([["zsh",new Set(["o"])]]),Uk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function ev(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=Uk.get(e);if(Hk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=jk(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 jk(e,t){let n=Zk.get(e),r=Bk.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 Hk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var Yk=new Set(["-S","--suffix"]);function $s(e,t,n,r){if(e.status==="structural-limit")throw new gt;if(e.status!=="complete")return r.findMalformedTarget(e.source);let o={cwd:t,variables:new Map},i=[];for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;let a=r.findSegmentTarget(i,o);if(a)return a;o=Jk(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget($e(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function $e(e,t){return e.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(n,r,o,i)=>{let s=t.get(r);if(s===void 0)return n;let a=o.startsWith(":")?s!=="":!0;if(o.endsWith("-"))return a?s:$e(i,t);return a?$e(i,t):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(n,r)=>t.get(r)??n).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(n,r)=>t.get(r)??n)}function _o(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function nv(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("~/")?tv(r,o.slice(2)):o,s=Te(i);return qk(Kk(s)?s:tv(t,s))}function ve(e,t,n){let r=nv(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function rv(e,t,n,r){let o=nv(e,t,n);if(!o)return null;if(r(Vk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=hy(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function Ms(e){let t=[],n=null,r=!1;for(let o=0;o<e.length;o++){let i=e[o];if(i===void 0)break;if(!r&&i==="--"){r=!0;continue}if(!r&&(i==="-t"||i==="--target-directory")){n=e[++o]??null;continue}if(!r&&i.startsWith("--target-directory=")){n=i.slice(19);continue}if(!r&&i.startsWith("-t")&&i.length>2){n=i.slice(2);continue}if(!r&&Yk.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 Jk(e,t,n,r){let o=_o(e)?new Map([...t.variables,...Xk(e,t.variables)]):t.variables,i=ir([...e],n.environment),s=G(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r($e(s,o),t.cwd,n),variables:o}}function Xk(e,t){return e.flatMap((n)=>{let r=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(n),o=r?.[2]?.startsWith("=")?r[2].slice(1):void 0;return r?.[1]!==void 0&&o!==void 0?[[r[1],$e(o,t)]]:[]})}var Ve="Git metadata and hooks are protected. Ask the user before modifying them.";function av(e,t=wu([e.invocation.context.executionCwd,e.invocation.context.configCwd])){let n=yn(It()),r=e.invocation.context.executionCwd;if(!t)return null;if(e.invocation.route.kind==="patch"||e.invocation.route.kind==="path"||e.invocation.route.kind==="unknown"){if(Ns(e.invocation.toolName))return null;let s=e.paths.find((a)=>iA(a,r,t,n));return s?{target:s}:null}if(e.invocation.route.kind!=="command")return null;let o=De(e,"input-candidate");if(!o)return null;let i=$s(o.shell,r,n,{findSegmentTarget:(s,a)=>aA(s,a,t,n),isRedirectionTarget:(s,a)=>sA(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ve});return i?{target:i}:null}function wu(e,t=yn(It())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=io(ve(r,r,t));return o?[[rt(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>tA(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 tA(e,t,n){try{let r=ve(e,t,n),o=Qk(e),i=o.isFile()?r:null,s=o.isFile()?Vl(e):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[rt(ve(l,t,n))]:[]),c=[...new Set(o.isDirectory()?[rt(e.replace(/\\/g,"/")),...a]:a)];return[{entry:rt(r),markerFile:i?rt(i):null,directories:c,hooksDirectories:[...new Set(c.flatMap((l)=>{let u=rt(eA(l,"hooks"));return[u,rt(ve(u,t,n))]}))]}]}catch{return[]}}function wn(e,t,n,r,o,i=!1){if(!n)return!1;let s=rt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(Cu(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?Ls(u,a):nA(u,a);if(n.markerFiles.some(l))return!0;return r&&ov(n).some(l)}if(Cu(s,n))return!0;return r&&ov(n).some((c)=>Ls(c,s))}function nA(e,t){let n=sv(t,e);if(n===""||n.startsWith("..")||iv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function rA(e,t,n,r){return wn(e,t,n,!0,r)}function oA(e,t,n,r){if(!n)return!1;return Cu(rt(ve(e,t,r)),n)}function iA(e,t,n,r){if(!n)return!1;return cv(e,t,n,r,n.entries)}function sA(e,t,n,r){if(!n)return!1;return cv(e,t,n,r,n.markerFiles)}function cv(e,t,n,r,o){let i=rt(ve(e,t,r));return o.includes(i)||uv(i,n)}function lv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>Ls(o,rt(ve(i,t,r)))))}function Cu(e,t){return t.entries.includes(e)||t.directories.includes(e)||uv(e,t)}function uv(e,t){return t.hooksDirectories.some((n)=>Ls(e,n))}function ov(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function Ls(e,t){let n=sv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!iv(n)}function rt(e){return process.platform==="win32"?e.toLowerCase():e}function aA(e,t,n,r){if(_o(e))return null;let o=Yt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=Ms(o.slice(1)),s=i.sources.find((a)=>rA($e(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&oA($e(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as Eu,join as cA,normalize as lA,sep as Ws}from"node:path";var dv=process.platform==="win32",uA=/[*?]/;function xo(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Gs(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=xo(e.trim(),t);if(!Eu(n))return"must be an absolute path or start with ~/";return Co(n,t)}function Zs(e,t){let n=mv(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 dA="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",mA="cannot cover the guard's own configuration";function mv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return xo(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Bs(e,t){let n=mv(e,t);if(n===null)return"must be a non-empty path string";if(uA.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 dA;return fA(n,t)?mA:null}function fA(e,t){let n=Fs(e),r=Fs(cA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ws}`)}function Co(e,t){let n=Fs(e),r=Fs(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ws)?n:`${n}${Ws}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Fs(e){let t=lA(e);if(dv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(dv?3:1)&&t.endsWith(Ws))t=t.slice(0,-1);return t}var hA=process.platform==="win32",fv=64,yA=16384;function wo(e){let t=_b(e,fv,fv,yA);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:bA(e)}}function bA(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)=>vA(e.raw,n.span.start-e.span.start))}function vA(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 En(e){let t=e.environment.home,n=e.environment.paths,r=yn(e.environment);return{anchoredCwd:e.originalCwd??e.cwd??null,resolvedCwd:e.cwd??null,strict:e.strict??!1,paranoid:e.paranoid??!1,trustTmpdirVar:e.allowTmpdirVar??!0,posixShell:e.posixShell??!1,tmpdirWordSplittingUnsafe:e.tmpdirWordSplittingUnsafe??!1,trustedTmpdirValue:e.trustedTmpdirValue??e.allowTmpdirVar??!0,environment:e.environment,allowRoots:wA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function ot(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&RA(e))return{kind:"outside_anchored_cwd"};let o=!r&&yv(e,t.posixShell);if(hn(e))return{kind:"outside_anchored_cwd"};if(Au(e,r))return{kind:"root_or_home_target"};if(SA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&wn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(_A(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(EA(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&TA(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&IA(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(OA(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function gv(e,t,n={}){let{containmentTarget:r,...o}=n;if(ot(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(CA(i))return!1;if(nb(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>zA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Au(e,t=!1){let n=e.trim(),r=pv.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 SA(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=Ee(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===gA(s).root)return!0;return s===Ee(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Ee(e){let t=pA(e);if(hA){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 _A(e,t,n,r,o,i,s,a){let c=e.trim();if(hv(c))return!1;if(!r&&Ql(c,a))return!0;return(t||i&&s)&&n&&!o&&xA(c,n)}function xA(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!yv(e.slice(n.length+1),t)})}function CA(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return pv.normalize(`/${t[1]??""}`)==="/"}function hv(e){return e.split(/[\\/]+/).includes("..")}function wA(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=xo(o.trim(),t);if(!ku(i))return[];try{let s=Y(i,n,r);if(Co(s,Y(t,n,r)))return[];return[Ee(s)]}catch{return[]}})}function EA(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(hv(r))return!1;let o=n?r:xo(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=Ee(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Pu)?c:`${c}${Pu}`))}catch{return!1}}function RA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function yv(e,t=!1){return e.includes("$")||e.includes("`")||PA(e)||t&&kA(e)}function PA(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 kA(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==="{"&&AA(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function AA(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 TA(e,t,n,r){try{return Ee(Y(e,n,r))===Ee(Y(t,n,r))}catch{try{return Ee(e)===Ee(t)}catch{return!1}}}function IA(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Ee(Y(lr(t,e),n,r))===Ee(Y(t,n,r))}catch{try{return Ee(lr(t,e))===Ee(t)}catch{return!1}}}function OA(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 Ru(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return Ru(lr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return Ru(lr(a,e),t,i,s)}catch{return!1}}function Ru(e,t,n,r){try{return bv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function zA(e,t,n,r){if(!t)return!1;try{return bv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function bv(e,t){let n=Ee(e),r=Ee(t);return n.startsWith(`${r}${Pu}`)||n===r}var NA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),vv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",DA="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.",Sv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",_v="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",$A="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",MA="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function xv(e,t,n,r=En({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return LA(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function LA(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=FA(o),s=o[i];if(!s||!NA.has(qA(s.text)))return null;let a=WA(o.slice(i+1));if(a.whatIfProtected)return null;if(ue(r,"powershell.remove-item-pipeline-dynamic-target",n.strict)&&t&&(a.targets.length===0||a.recursive))return S("powershell.remove-item-pipeline-dynamic-target",MA);for(let c of a.targets)if(!hn(c.text)&&Au(Iu(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",_v);for(let c of a.targets)if(n.resolvedCwd&&wn(Iu(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",Ve);if(!a.recursive||!a.force)return null;if(ue(r,"powershell.remove-item-recursive-force-dynamic-target",n.strict)&&(a.hasDynamicTarget||a.targets.length===0))return S("powershell.remove-item-recursive-force-dynamic-target",Sv);for(let c of a.targets){let l=YA(ot(Iu(c.text),n),n,r);if(l)return l}return null}function WA(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(GA(c))continue;if(s){t.push(Tu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=BA(c.text);if(!l){t.push(Tu(c)),i=i||c.dynamic;continue}if(UA(l.name)){let u=l.value?ZA(l.value,c):e[++a];if(u?.kind==="word")t.push(Tu(u)),i=i||u.dynamic;else i=!0;continue}if(jA(l.name)){n=!0;continue}if(HA(l.name)){r=!0;continue}if(VA(l.name))o=KA(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function FA(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function Tu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function GA(e){return e.kind==="word"&&e.text===","}function Iu(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function ZA(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function BA(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 UA(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function jA(e){return"recurse".startsWith(e)}function HA(e){return e.length>=2&&"force".startsWith(e)}function VA(e){return e==="wi"||"whatif".startsWith(e)}function KA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function qA(e){return e.toLowerCase()}function YA(e,t,n){switch(e.kind){case"root_or_home_target":return S("powershell.remove-item-recursive-force-root-or-home",_v);case"git_metadata_target":return S("powershell.remove-item-git-metadata",Ve);case"temp_target":return null;case"dynamic_target":if(!ue(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return S("powershell.remove-item-recursive-force-dynamic-target",Sv);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",$A);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",vv);case"within_anchored_cwd":if(!ue(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return S("powershell.remove-item-recursive-force-paranoid",DA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",vv)}}import{normalize as ia}from"node:path";var Me=new Set(["awk","gawk","nawk","mawk"]),JA=new Set(["-e","--source"]),XA=new Set(["-F","-v","--assign","--field-separator"]),Cv=new Set(["-f","--file"]),QA=new Set(["print","printf","return"]),wv=[{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"}],eT="Detected awk system(), pipe, or getline command with dynamic command that cannot be safely analyzed. Use a literal command or process the data without system(), pipes, or getline.";function Hs(e,t,n){let r=!1;for(let o of tT(e)){let i=nT(o,n);if(!i)continue;for(let s of i.commands){let a=t(s);if(a)return a;if(s.includes("{}")||/[$`]/.test(s))r=!0}r||=i.dynamic}return r?S("awk.system-dynamic",eT):null}function zu(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&&JA.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&&(XA.has(a)||Cv.has(a))){if(Cv.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 zu(e).sources}function tT(e){return Ro(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function nT(e,t){Ie(t,e);let n=e.includes("system")?Nu(e,t):null,r=rT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Nu(e,t){Ie(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=js(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=Ev(e,i+1);continue}if(s==="/"&&Rv(e,i)){i=Pv(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,Eo(e[a-1])||Eo(e[i]))continue;let c=Us(e,i);if(e[c]!=="(")continue;c=Us(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=js(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Us(e,u.endIndex),r=!0,e[c]!==")"){o=!0,i=u.endIndex;continue}n.push(u.value),i=c+1}if(!r)return null;return{dynamic:o,commands:n}}function rT(e,t){Ie(t,e);let n=[],r=!1,o=!1,i=0,s=0,a=null,c=null,l=0;while(i<e.length){let u=e[i];if(!u)break;if(u==='"'||u==="'"){let m=js(e,i,u);if(m&&l===s)c={...m,startIndex:i};l=m?.endIndex??i+1,i=m?.endIndex??i+1;continue}if(u==="#"){i=Ev(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Rv(e,i)){let m=Pv(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
49
- {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(Ou(e,i,"print")||Ou(e,i,"printf")))a=i;if(u!=="|"||e[i-1]==="|"||e[i+1]==="|"){if(!/\s/.test(u))l=i+1;i++;continue}let d=e[i+1]==="&"?i+2:i+1,f=Us(e,d);if(Ou(e,f,"getline")){o=!0;let m=sT(s,c,l);if(m===null)r=!0;else n.push(m);l=d,i=d;continue}if(cT(s,a)){o=!0;let m=iT(e,f);if(!m){r=!0,l=d,i=d;continue}if(!oT(e,m.endIndex)){r=!0,l=m.endIndex,i=m.endIndex;continue}n.push(m.value),l=m.endIndex,i=m.endIndex;continue}l=d,i++}if(!o)return null;return{dynamic:r,commands:n}}function Eo(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Us(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function oT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
50
- }#`.includes(r)}function js(e,t,n){let r="",o=!1;for(let i=t+1;i<e.length;i++){let s=e[i];if(!s)break;if(o){let a=aT(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 iT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return js(e,t,n)}function sT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function aT(e,t){let n=e[t];if(!n)return null;if(n==="x"){let o=e.slice(t+1,t+3);if(!/^[0-9A-Fa-f]{2}$/.test(o))return null;return{value:String.fromCharCode(Number.parseInt(o,16)),endIndex:t+2}}if(/[0-7]/.test(n)){let o=/^[0-7]{1,3}/.exec(e.slice(t));if(!o)return null;return{value:String.fromCharCode(Number.parseInt(o[0],8)),endIndex:t+o[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
51
- `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function Ou(e,t,n){return e.startsWith(n,t)&&!Eo(e[t-1])&&!Eo(e[t+n.length])}function cT(e,t){return t!==null&&t>=e}function Ev(e,t){let n=e.indexOf(`
52
- `,t);return n===-1?e.length:n+1}function Rv(e,t){let n=lT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(Eo(e[r-1]))r--;return QA.has(e.slice(r,n+1))}function lT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function Pv(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 kv=new Set(["rm","find","xargs","parallel"]),uT=new Set(["sudo","env","command","builtin"]),dT=new Set(["git","busybox",...kv,...de,...Hy,...Me]);function Vs(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(G(n)))return null;let r=G(n),o=e[1]==="--"?2:1,i=mT(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 mT(e,t,n,r){let o=e[1]==="--",i=[];for(let s=t;s<e.length;s++){let a=e[s];if(!a)continue;if(G(a)!==n&&fT(a,r))i.push(s);else if(rs.has(H(a)))break;if(o)break}return i}function fT(e,t){let n=G(e),r=H(e);return r==="git"||n==="busybox"||Rn(e)||kv.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||ze(r)||Me.has(r)||t.rules.some((o)=>o.command===n)}function Rn(e){return uT.has(e.toLowerCase())}function Av(e){let t=H(e);return dT.has(t)||ze(t)}function it(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Ks([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Ks(e,t,n,r,o,i,s,a,c){let l=hs(e,t,n,i);for(let[m,p]of l.envAssignments)i.set(m,p),o.set(m,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let m=gs(l.envSplitValues,u);if(!m)throw new Oe;Du(a),yield*Ks(m,t,d,r,o,i,s,a,c);return}if(Rn(u[0]??""))throw new Oe;let f=Vs(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])Du(a),yield*Ks(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(gT(u)){Du(a),yield*Ks([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield pT(u,d,r,o,i,c)}function pT(e,t,n,r,o,i){return{tokens:e,cwd:t===null?void 0:t??n,wrapperCwd:t,wrapperEnvAssignments:r,envAssignments:o,head:G(e[0]??"").toLowerCase(),wrappedByTransparent:i}}function Du(e){if(e.iterations>=er)throw new Oe;e.iterations++}function gT(e){return G(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 st(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 Tv(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.",yT="find -exec rm -rf is dangerous. Use explicit file list instead.",bT=new Set(["-exec","-execdir","-ok","-okdir"]),vT=new Map([...["-Bmin","-Bnewer","-Btime","-amin","-anewer","-atime","-cmin","-cnewer","-context","-ctime","-f","-flags","-fprint","-fprint0","-fls","-fstype","-gid","-group","-ilname","-iname","-inum","-ipath","-iwholename","-iregex","-links","-lname","-maxdepth","-mindepth","-mmin","-mnewer","-mtime","-name","-newer","-newerXY","-newermt","-path","-perm","-printf","-regex","-samefile","-size","-type","-uid","-used","-user","-wholename","-xattrname","-xtype"].map((e)=>[e,1]),["-fprintf",2]]);function qs(e,t){let n=e.map(N),r=ST(e,n,t);if(r)return r;if(Js(n,1)&&!xT(e,n,t)){let s=O(S("find.delete",hT),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??ts(),i=0;while(i<n.length){let s=n[i],a=Xt(s??"");if(a>0){i+=a+1;continue}if(!Ft(s)){i++;continue}Xe(o,n.length-i-1);let c=Po(n,i);i=c.nextIndex;let l=wT(c.tokens,t.environment);if(l){let m=O(l,t.policy);if(m)return m}let u=s==="-execdir"||s==="-okdir",d=t.analyzeTokens?t.analyzeTokens(c.tokens,u?null:t.cwd):t.analyzeNested?t.analyzeNested(c.tokens.join(" "),{effectiveCwd:u?void 0:t.cwd,envAssignments:t.envAssignments}):null,f=d?.id.startsWith("custom.")?d:O(d,t.policy);if(f)return f}return null}function ST(e,t,n){if(!Js(t,1)&&!Lu(t,n.environment))return null;let o=Ys(e)??j(["."]),i=En({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=wo(s);for(let c of a.expandedTargets??[N(s)]){let l=ot(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home","rm -rf targeting root or home directory is extremely dangerous and always blocked.");if(l.kind==="git_metadata_target")return S("find.delete-git-metadata",Ve)}}if(_T(t)&&i.resolvedCwd&&lv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",Ve);return null}function Lu(e,t){let n=0;while(n<e.length){if(!Ft(e[n])){n++;continue}let r=Po(e,n),o=Yt([...r.tokens],t),i=G(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function _T(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function xT(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Ys(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Xl(o,n.environment),s=n.trustedTmpdirValue??Lt(o,n.environment),a=n.allowTmpdirVar??!uo(o,n.environment),c=En({environment:n.environment,protectedGitMetadata:n.protectedGitMetadata,cwd:n.cwd,originalCwd:n.originalCwd,strict:n.strict,allowTmpdirVar:a&&s&&Boolean(i),allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:n.tmpdirWordSplittingUnsafe??ft(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=wo(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>gv(d,c,{containmentTarget:CT(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function CT(e,t){if(!t)return e;return e.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>t)}function Ys(e){let t=(o)=>{let i=e[o];return i?N(i):void 0},n=1;while(t(n)==="-H"||t(n)==="-P")n++;if(t(n)==="--")n++;let r=[];while(n<e.length){let o=t(n),i=e[n];if(!o||!i||o.startsWith("-")||["!","(",")"].includes(o))break;r.push(i),n++}return r.length>0?r:null}function wT(e,t){let n=ir([...e],t);if(n.length===0)return null;let r=G(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=G(n[0]??"");if(r==="rm"&&st(n))return S("find.exec-rm-recursive-force",yT);return null}function Po(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Js(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Ft(r)){n=Po(e,n).nextIndex;continue}let o=Xt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Xt(e){return vT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Ft(e){return e!==void 0&&bT.has(e)}function ko(e){let t=tt(e,"posix");if(t.status!=="complete"||t.nodes.length!==1)return null;let n=t.nodes[0];if(n?.kind!=="command")return null;if(n.redirections.length>0||n.nested.length>0)return null;if(n.words.some((r)=>r.provenance==="command-substitution"))return null;return n.words.map((r)=>r.text)}var ET=5,Wu="Git aliases supplied through command-line or environment config can hide or execute commands. Run git without Git alias overrides, or ask the user to run it manually.";function Se(e){let t=e.indexOf("--");if(t===-1)return{index:-1,before:e,after:[]};return{index:t,before:e.slice(0,t),after:e.slice(t+1)}}function Ov(e,t,n){let r=Nv(e,t,n),o=RT(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<ET;a++){let{subcommand:c,rest:l}=at(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=IT(d);if(f===null||f.length===0)return{blockedReason:Wu,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:Wu,expanded:!0,tokens:i}}function zv(e,t,n){return Nv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function at(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?G(t).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--"){let i=e[r+1];if(i&&!i.startsWith("-"))return{subcommand:i,rest:e.slice(r+2)};return{subcommand:null,rest:e.slice(r+1)}}if(o.startsWith("-"))if(mt.has(o))r+=2;else if(o.startsWith("-c")&&o.length>2)r++;else if(o.startsWith("-C")&&o.length>2)r++;else r++;else return{subcommand:o,rest:e.slice(r+1)}}return{subcommand:null,rest:[]}}function RT(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 Nv(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?G(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=kT(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...PT(e,t,n)]}}function PT(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=Fu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Fu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=Iv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=Iv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(mt.has(i)){o+=2;continue}o++}return r}function kT(e,t){let n=AT(e,t),r=TT(e,t);return{blockedReason:n===null||r===null?Wu:null,entries:[...n??[],...r??[]]}}function AT(e,t){let n=je("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=ko(n);if(!o)return null;for(let i of o){let s=Fu(i);if(!s)return null;r.push(s)}return r}function TT(e,t){let n=ji(e,t);if(n.state==="absent")return[];if(n.state==="invalid")return null;let r=[];for(let o=0;o<n.count;o++){let i=je(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=je(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Fu(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 Iv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:je(e.slice(r+1),t,n)}}function IT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return ko(t)}var OT="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",zT="git checkout --force discards uncommitted changes. Use 'git stash' first.",NT="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",DT="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",$T="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",MT="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",LT="git switch --force discards uncommitted changes. Use 'git stash' first.",WT="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",FT="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",GT="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",ZT="git reset --merge can lose uncommitted changes. Use 'git stash' first.",BT="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",UT="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.",jT="git push --force destroys remote history. Use --force-with-lease for safer force push.",HT="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",VT="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",KT="git branch -D force-deletes without merge check. Use -d for safe delete.",qT="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",YT="git merge --abort discards merge conflict resolutions. Use 'git status' first.",JT="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",XT="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",QT="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",eI="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",tI="git worktree remove --force can delete uncommitted changes. Remove --force flag.",Dv=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),$v=new Set(["--recurse-submodules","--track","-t"]),Gu=new Set(["-b","-B","-U"]),Zu=new Set(["-c","-C"]),nI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),rI=new Set(["-q","--quiet","--no-quiet","-f","--force","--no-force","-d","--detach","--no-detach","-m","--merge","--no-merge","-p","--patch","--no-patch","--guess","--no-guess","--overlay","--no-overlay","--ours","--theirs","--ignore-skip-worktree-bits","--no-ignore-skip-worktree-bits","--no-track","--overwrite-ignore","--no-overwrite-ignore","--ignore-other-worktrees","--no-ignore-other-worktrees","--progress","--no-progress","--pathspec-file-nul","--no-pathspec-file-nul","--no-recurse-submodules"]);function B(e,t){let n=e.split("=",1)[0]??e;return n.length>=4&&t.startsWith(n)&&n.startsWith("--")&&n.slice(2).length>=2}var ur=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Lv(e){let{subcommand:t,rest:n}=at(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Qt(oI(n));case"switch":return Qt(iI(n));case"restore":return Qt(aI(n));case"reset":return lI(n);case"clean":return Qt(dI(n));case"rm":return Qt(mI(n));case"push":return Pn(fI(n));case"branch":return Pn(hI(n));case"stash":return Pn(_I(n));case"worktree":return Pn(xI(n));case"rebase":return Qt(yI(n));case"merge":return Qt(bI(n));case"tag":return Pn(vI(n));case"reflog":return Pn(SI(n));default:return null}}function Qt(e){return e?{...e,localDiscard:!0}:null}function Pn(e){return e?{...e,localDiscard:!1}:null}function oI(e){let{index:t,before:n}=Se(e),r=we(n,{shortOptsWithValue:Gu});if(n.some((i)=>B(i,"--force"))||r.has("-f"))return S("git.checkout-force",zT);for(let i of e){if(i==="-b"||i==="-B"||i==="--orphan")return null;if(B(i,"--pathspec-from-file"))return S("git.checkout-pathspec-from-file",DT)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return S("git.checkout-ref-path",NT);return S("git.checkout-double-dash",OT)}if(sI(e).length>=2)return S("git.checkout-ambiguous",$T);return null}function iI(e){let{before:t}=Se(e);if(t.some((r)=>B(r,"--discard-changes")))return S("git.switch-discard-changes",MT);let n=we(t,{shortOptsWithValue:Zu});if(t.some((r)=>B(r,"--force"))||n.has("-f"))return S("git.switch-force",LT);return null}function sI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(Dv.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if($v.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("--")&&!rI.has(r)&&!Dv.has(r)&&!$v.has(r))n++;else n++;else t.push(r),n++}return t}function aI(e){let t=cI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?S("git.restore-worktree",FT):S("git.restore-unstaged",WT)}function cI(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(nI.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 lI(e){let t=null;for(let n of e){if(B(n,"--hard")){t=S("git.reset-hard",GT);break}if(B(n,"--merge")){t=S("git.reset-merge",ZT);break}}if(!t)return null;return uI(e)?Pn(t):Qt(t)}function uI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function dI(e){for(let n of e)if(n==="-n"||B(n,"--dry-run"))return null;let t=we(e.filter((n)=>n!=="--"));if(e.some((n)=>B(n,"--force"))||t.has("-f"))return S("git.clean-force",BT);return null}function mI(e){let t=!1,n=!1,r=!1;for(let o of Se(e).before){if(B(o,"--no-force")){t=!1;continue}if(B(o,"--force")){t=!0;continue}if(B(o,"--no-cached")){n=!1;continue}if(B(o,"--cached")){n=!0;continue}if(B(o,"--no-dry-run")){r=!1;continue}if(B(o,"--dry-run")){r=!0;continue}let i=we([o]);t||=i.has("-f"),r||=i.has("-n")}return t&&!n&&!r?S("git.rm-force",UT):null}function fI(e){let{before:t,after:n}=Se(e),r=we(t);if(t.some((s)=>B(s,"--mirror")))return S("git.push-mirror",VT);if(t.some((s)=>B(s,"--force"))||r.has("-f")||Mv(t,n).some(pI))return S("git.push-force",jT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Mv(t,n).some(gI))return S("git.push-delete",HT);return null}function Mv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function pI(e){return e.startsWith("+")||e.includes(":+")}function gI(e){return e.length>1&&e.startsWith(":")}function hI(e){let{before:t}=Se(e),n=we(t),r=n.has("-D")||n.has("-d")||t.some((i)=>B(i,"--delete")),o=n.has("-D")||n.has("-f")||t.some((i)=>B(i,"--force"));if(r&&o)return S("git.branch-force-delete",KT);return null}function yI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",qT):null}function bI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.merge-abort",YT):null}function vI(e){let{before:t}=Se(e);return we(t).has("-d")||t.some((r)=>B(r,"--delete"))?S("git.tag-delete",JT):null}function SI(e){return e[0]==="delete"?S("git.reflog-delete",XT):null}function _I(e){for(let t of e){if(t==="drop")return S("git.stash-drop",QT);if(t==="clear")return S("git.stash-clear",eI)}return null}function xI(e){let{before:t}=Se(e);if(!t.includes("remove"))return null;let r=we(t);if(t.some((o)=>B(o,"--force"))||r.has("-f"))return S("git.worktree-remove-force",tI);return null}import{execFileSync as CI}from"node:child_process";import{existsSync as Uu,readFileSync as ju}from"node:fs";import{dirname as wI,isAbsolute as Gv,join as Bu,resolve as Zv}from"node:path";var EI=["/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 Bv(e,t,n,r){let o=RI(e,t,n);if(o!==null)return o;let i=PI(t,n);if(i!==null)return i;if(vy(n))return!0;return kI(r)}function RI(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=Wv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Wv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Fv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Fv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(mt.has(i))o+=2;else o++}return r}function PI(e,t){if(je("GIT_CONFIG_PARAMETERS",e,t)!==void 0)return!0;let n=ji(e,t);if(n.state==="absent")return null;if(n.state==="invalid")return!0;let r=null;for(let o=0;o<n.count;o++){let i=je(`GIT_CONFIG_KEY_${o}`,e,t),s=je(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Hu(a))return!0;if(a!=="submodule.recurse")continue;r=Ao(s)}return r}function kI(e,t=TI()){let n=AI(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=CI(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:II(process.env),stdio:["ignore","pipe","ignore"]}).trim();return Ao(r)}catch(r){return!OI(r)}}function AI(e){let t=zI(e);if(t===null)return null;for(let n of t){if(!Uu(n))continue;if($I(n))return!0}return!1}function TI(){for(let e of EI)if(Uu(e))return e;return null}function II(e){let t={...e};for(let n of Object.keys(t))if(no(n))delete t[n];return t}function OI(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function zI(e){let t=io(e);if(t===null)return null;let n=NI(t);if(n===null)return null;let r=DI(n);if(r===null)return null;return[Bu(r,"config"),Bu(n,"config.worktree")]}function NI(e){try{let n=ju(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 Gv(r)?r:Zv(wI(e),r)}catch{return null}}function DI(e){let t=Bu(e,"commondir");if(!Uu(t))return e;try{let n=ju(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Gv(n)?n:Zv(e,n)}catch{return null}}function $I(e){let t;try{t=ju(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(MI(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=Ao(l)}return r}function MI(e){return e==="include"||e.startsWith("includeif ")}function Wv(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 Ao(r)}function Ao(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Fv(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=je(e.slice(r+1),t,n);return i===void 0||Ao(i)}function Hu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Uv(e,t,n){if(!t.localDiscard||!n.worktreeMode||Cy(n.env,n.envAssignments))return null;let r=wy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!Ey(r.gitCwd))return null;if(LI(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function LI(e,t,n){let{subcommand:r,rest:o}=at(e),i=r?.toLowerCase();if(t.dynamicArguments||WI(o)||Bv(e,t.env,t.envAssignments,n)||ZI(o)||FI(i,o))return!0;return i==="clean"&&BI(o)>1}function WI(e){return e.some((t)=>/[$*?[]/.test(t))}function FI(e,t){if(e==="checkout"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Gu}),o=n.some((s)=>B(s,"--force"))||r.has("-f"),i=r.has("-B")||n.some((s)=>s==="-B"||s.startsWith("-B"));return o&&i}if(e==="switch"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Zu}),o=n.some((s)=>B(s,"--force"))||n.some((s)=>B(s,"--discard-changes"))||r.has("-f"),i=n.some((s)=>s==="-C"||s.startsWith("-C")||GI(s))||r.has("-C");return o&&i}return!1}function GI(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function ZI(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function BI(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 UI="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.",jI=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function dr(e,t){return jv(e.map(N),t)}function jv(e,t,n){let r=Ov(e,t.env,t.envAssignments),o=r.blockedReason?O(S("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((by(t.envAssignments)||zv(e,t.env,t.envAssignments))&&HI(i))return S("git.ssh-env",UI);let s=Lv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Uv(e,s,t);if(!a)return s;return n?.(a),null}function Hv(e,t){let n=null;return{match:jv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function HI(e){let{subcommand:t,rest:n}=at(e),r=t?.toLowerCase();if(!r)return!1;if(jI.has(r))return!0;if(r==="archive")return Se(n).before.some((o)=>B(o,"--remote"));return r==="remote"&&VI(n)}function VI(e){return e.find((t)=>!KI(t))?.toLowerCase()==="update"}function KI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as LO}from"node:path";var Vv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",qI="rm -rf for non-temporary paths is blocked by the active safety policy. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",YI="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",qv="rm -rf targeting root or home directory is extremely dangerous and always blocked.",JI="rm -rf in home directory is dangerous. Change to a project directory first.";function mr(e,t){let n=En({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=st(r),i=Tv(r),s=QI(e);for(let a of s){let c=wo(a.word);if(o&&c.unsafeBraceExpansion){let l=O(Kv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u=Te(l),d={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&wn(u,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",Ve);if(i&&!o){let f=ot(u,n,d);if(f.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",qv);if(f.kind==="git_metadata_target")return S("rm.git-metadata",Ve);continue}if(!o)continue;for(let f of XI(u,n,d)){let m=Kv(f,n,t.policy),p=O(m,t.policy);if(p)return p}}}return null}function XI(e,t,n){let r=ot(e,t,n);if(r.kind==="cwd_self_target")return[r,ot(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=ot(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,ot(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function QI(e){let t=[],n=!1;for(let r of e.slice(1)){let o=N(r);if(!o)continue;if(o==="--"){n=!0;continue}if(n){t.push({text:o,word:r});continue}if(!o.startsWith("-"))t.push({text:o,word:r})}return t}function Kv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",qv);case"git_metadata_target":return S("rm.git-metadata",Ve);case"temp_target":return null;case"dynamic_target":if(!ue(n,"rm.recursive-force-dynamic-target",t.strict))return null;return S("rm.recursive-force-dynamic-target",YI);case"home_cwd_target":return S("rm.recursive-force-home-cwd",JI);case"cwd_self_target":return S("rm.recursive-force-cwd-self",Vv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",qI);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",Vv)}}var eO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},Jv=new Set(["--init-file","--rcfile"]),tO=["--init-file","--rcfile"],nO=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 Yv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Yv(e,t,!1);if(r!==null)return r}}return null}function Ke(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return bt(e).syntaxCheck;let n=!1;for(let r of e.slice(1)){if(r==="--")return n;if(r.startsWith("+")&&!r.startsWith("++")){if(r.slice(1).includes("n"))n=!1;continue}if(!r.startsWith("-")||r.startsWith("--"))return n;let o=r.slice(1);if(o.includes("n"))n=!0;if(o.includes("c"))return n}return n}function Yv(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 Xv(e){let t=G(e[0]??"").toLowerCase(),n=rO(e,t),r=nO.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 rO(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?tO.find((f)=>c===f):void 0){let f=e[a+1];o.push(f===void 0?{kind:"absent"}:{kind:"literal",value:f}),a++;continue}let d=c.split("=",1)[0]??c;if(t==="bash"&&Jv.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=Qv(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function Qv(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(!eO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function bt(e){let t=G(e[0]??"").toLowerCase(),n=!1,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--"){let c=n&&e[i+1]!==void 0?i+1:null;return{command:c===null?null:e[c]??null,commandIndex:c,scriptIndex:!n&&!r&&e[i+1]!==void 0?i+1:null,readsStdinAsCommands:!n&&(r||e[i+1]===void 0),syntaxCheck:o}}if(s==="-"||s[0]!=="-"&&s[0]!=="+")return{command:n?s:null,commandIndex:n?i:null,scriptIndex:!n&&!r&&s!=="-"?i:null,readsStdinAsCommands:!n&&(r||s==="-"),syntaxCheck:o};if(s.startsWith("--")){let c=s.split("=",1)[0]??s;if(t==="bash"&&Jv.has(c)&&!s.includes("="))i++;continue}let a=Qv(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 en={kind:"none"},kn={kind:"dynamic"},oO=new Set(["<","<<","<<-","<<<","<&","<>"]),tS=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,iO=/^(?:[0-9]+|[@*])$/,sO=xn.maxWords,aO=xn.maxInputLength;function nS(e){if(!e||G(H(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
45
+ `?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Mb(e,r,Math.min(e.length,ws.maxInputLength),ws.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=uu(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=su(e,r,Math.min(e.length,ws.maxInputLength),ws,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...cu(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function cu(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return cu(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(cu)]})}function uu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Mb(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
46
+ `)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function 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 iu(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"&&Ob(e.slice(0,n.maxInputLength)))return zb(e,n);return Sb(e,n)}function fo(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 gA=/^[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)=>!gA.test(s.text));return i?.provenance==="literal"?i.text:void 0}function po(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 sr(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of hA(e))po(n,t);return t.inSingle||t.inDouble}function hA(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
47
+ `||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);po(s,n)}return t}var yA=new Set(["&&","||","|&","|","&",";"]),bA=new Set(["<<","<<<",">|"]),vA=/[*@#?$!_-]/,du=Object.freeze([]),_A=Object.freeze([]),SA=256;function Gb(e,t){let n=t.status==="complete"?new Set(fu(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(sr(r))return As("unclosed-quote",r,du);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=go(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return As("structural-limit",r,du);if(o.invalid)return As("invalid",r,du);return As("complete",r,i,o.assignmentFallbacks)}function As(e,t,n,r=_A){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function go(e,t){return e.nodes.flatMap((n,r)=>xA(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function xA(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[ot(PA(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("("),...go(e.body,a),...s?[i?ks("}"):ot(")")]:[]]}]}let o=kA(e,r.functions);if(o){if(r.depth>=vn.maxDepth||++r.flags.expansions>SA)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...$b(e,r),ks(";"),...go(o,{...r,depth:r.depth+1}),ks(";")]},...Lb(e,t,n,r)]}return[{start:e.span.start,entries:$b(e,r)},...Lb(e,t,n,r)]}function $b(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Ub(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:CA(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function CA(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Ub(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[pu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:AA(r),targetOrder:bA.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Lb(e,t,n,r){let o=e.redirections.filter((i)=>i.operator==="<<"||i.operator==="<<-");return[...o.flatMap((i)=>{let s=i.heredoc;if(!s)return[];let a=[pu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[ot(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...Zb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?EA(t,n,r):[]]}function EA(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:Zb(n.source.slice(r.span.end,e.span.end),n)}]}function Zb(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=go(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Ub(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(pu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let f of mu(l.raw,i,n.flags)){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+=mu(f,{single:!1,double:!0},n.flags).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?go(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 mu(e,t,n){let r=[],o="",i=!1,s=0;while(s<e.length){let a=e[s]??"";if(!t.single&&!t.double&&(a==="("||a===")")){r.push({text:o,glob:i},a),o="",i=!1,s++;continue}if(t.single){if(a==="'")t.single=!1;else o+=a;s++;continue}if(t.double){if(a==='"'){t.double=!1,s++;continue}if(a==="\\"){let c=e[s+1]??"";o+=['"',"\\","$"].includes(c)?c:`\\${c}`,s+=2;continue}if(a==="$"){let c=Wb(e,s,t,n);o+=c.text,s=c.next;continue}o+=a,s++;continue}if(a==="'"||a==='"'){t.single=a==="'",t.double=a==='"',s++;continue}if(a==="\\"){let c=e[s+1]??"";i||=c==="*"||c==="?",o+=c,s+=2;continue}if(a==="$"){let c=Wb(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Wb(e,t,n,r){let o=e[t+1];if(o==="{"){let s=RA(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return wA(a,n,r),{text:a,next:s+1}}if(o!==void 0&&vA.test(o))return{text:`\${${o}}`,next:t+2};let i=/^\w*/.exec(e.slice(t+1))?.[0]??"";return{text:`\${${i}}`,next:t+1+i.length}}function wA(e,t,n){let r=e.slice(2,-1),o=/^[A-Za-z_][A-Za-z0-9_]*/.exec(r)?.[0];if(!o)return;let i=r.slice(o.length),s=[":=","="].find((c)=>i.startsWith(c));if(!s)return;let a=mu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function RA(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 PA(e){return/^[\r\n]+$/.test(e)?";":e}function ot(e){return Object.freeze({kind:"operator",operator:e,boundary:yA.has(e)})}function ks(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function pu(e){return Object.freeze({kind:"word",text:e})}function AA(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function fu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return fu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>fu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!IA(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function kA(e,t){let n=Ps(e);return n===void 0?void 0:t.get(n)}function Vt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function TA(e){if(Vt(e.words[0],"git"))return Vt(e.words[1],"commit");if(!Vt(e.words[0],"gh")||!Vt(e.words[2],"create"))return!1;return Vt(e.words[1],"pr")||Vt(e.words[1],"issue")}function IA(e){return(Vt(e.words[0],"cat")||Vt(e.words[0],"tee")||TA(e))&&!e.words.some(Fb)&&!e.redirections.some((n)=>Fb(n.target))}function Fb(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as OA}from"node:util";var zA=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),NA=new Set(["command","diff","input","patch","patchtext"]),jb=new TextEncoder,DA=new TextDecoder,MA=/\s/,$A=64;class $t extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var ho=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function LA(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function Is(e){return zA.has(LA(e))}function bo(e){if(!e||typeof e!=="object")return;Qb(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 bu(e,t){return qb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function qb(e,t,n,r){let o=Xb(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(Yb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Yb(e){return e.replace(/-/g,"_").toLowerCase()}function vu(e){return Jb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(FA)}function Jb(e,t,n,r){let o=Xb(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Jb(a,o.array?t:NA.has(Yb(s)),n,r+1));return n.ancestors.delete(o.object),i}function WA(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>ho.maxDepth||t.nodes>ho.maxNodes)gt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>ho.maxStringBytes||t.stringBytes>ho.maxAggregateStringBytes)gt()}function Xb(e,t,n){if(WA(e,t,n),!e||typeof e!=="object")return null;let r=Qb(e);if(t.ancestors.has(e))gt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>ho.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 Qb(e){if(OA.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 FA(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=GA(l);if(o=!0,i=u?.oldLines??null,s=u?.newLines??null,i===0&&s===0)a();continue}if(o&&i!==null&&s!==null){let u=l.startsWith(" ")||l.startsWith("-")?1:0,d=l.startsWith(" ")||l.startsWith("+")?1:0;if(i=Math.max(0,i-u),s=Math.max(0,s-d),i===0&&s===0)a();continue}if(l.startsWith("*** ")){a(),t.push(...gu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...gu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...yu(Ts(l.slice(4),!0),Ts(u.slice(4),!0))),c++;continue}if(!r)t.push(...gu(l))}return t}function GA(e){let t=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec(e);if(!t)return null;return{oldLines:Number(t[1]??1),newLines:Number(t[2]??1)}}function gu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Kb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Kb(n[1]);if(e.startsWith("diff --git "))return ZA(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Hb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Hb(o[1]);let i=/^(?:rename|copy) (?:from|to) (.+)$/.exec(e);if(i?.[1])return qA(i[1]);return[]}function ZA(e){let t=UA(e);if(t.length===2&&t[0]&&t[1])return yu(t[0],t[1]);let n=jA(e);return n?yu(e.slice(n.oldStart,n.oldEnd),e.slice(n.newStart,n.newEnd)):[]}function UA(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=ev(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(_n(e[n]))n++;return n===e.length?t:[]}function jA(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>$A)gt();if(BA(e,t,i,o,n))return{oldStart:t,oldEnd:i,newStart:o,newEnd:n}}return null}function BA(e,t,n,r,o){if(hu(e,t,n,r,o))return!0;let i=Bb(e,"/",t,n),s=Bb(e,"/",r,o);if(i<=t||s<=r)return!1;if(hu(e,t,i,r,s))return!1;return hu(e,i+1,n,s+1,o)}function hu(e,t,n,r,o){if(n-t!==o-r)return!1;for(let i=0;i<n-t;i++)if(e[t+i]!==e[r+i])return!1;return!0}function Bb(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&&MA.test(e)}function ev(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:DA.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...jb.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(...jb.encode(VA(s[0]??""))),o+=2}return null}function VA(e){return{a:"\x07",b:"\b",f:"\f",n:`
48
+ `,r:"\r",t:"\t",v:"\v"}[e]??e}function HA(e){return yo(YA(e))}function yu(e,t){if(e==="/dev/null")return Vb(t);if(t==="/dev/null")return Vb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(yo);let n=KA(e,t)??(e===t?tv(e):null);return[e,t,...n?[n]:[]].flatMap(yo)}function Vb(e){let t=tv(e);return[e,...t?[t]:[]].flatMap(yo)}function tv(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function KA(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 Hb(e){return HA(Ts(e,!0))}function qA(e){return yo(Ts(e,!1))}function Ts(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=ev(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function YA(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function yo(e){return e===""||e==="/dev/null"?[]:[e]}function Kb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var nv=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),rv=new Set([...nv,"glob"]),JA=new Set([...rv,"pattern"]),XA=[],ov={parseCommand:rt,projectShellSyntax:Gb};class ht extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function vo(e,t={}){let n=QA({...ov,...t}),r=bo(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:ek(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 Zi(e,Qe())}function QA(e={}){let t={...ov,...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:XA,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 ek(e){let t=e.route.kind==="grep"?rv:e.route.kind==="glob"?JA:nv;return[...bu(e.input,t),...e.route.kind==="patch"?vu(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 tk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),nk=new Map([["zsh",new Set(["o"])]]),rk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function iv(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=rk.get(e);if(ik(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=tk.get(e),r=nk.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 ik(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var lk=new Set(["-S","--suffix"]);function ar(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=uk(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 _o(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function av(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("~/")?sv(r,o.slice(2)):o,s=ze(i);return ck(ak(s)?s:sv(t,s))}function ye(e,t,n){let r=av(e,t,n);if(!r)return"";return X(r,n.environment.paths,n).replace(/\\/g,"/")}function cv(e,t,n,r){let o=av(e,t,n);if(!o)return null;if(r(sk(o)))return X(o,n.environment.paths,n).replace(/\\/g,"/");let i=_y(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&&lk.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 uk(e,t,n,r){let o=_o(e)?new Map([...t.variables,...dk(e,t.variables)]):t.variables,i=jt([...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 dk(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 qe="Git metadata and hooks are protected. Ask the user before modifying them.";function mv(e,t=Su([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)=>bk(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=ar(o.shell,r,n,{findSegmentTarget:(s,a)=>_k(s,a,t,n),isRedirectionTarget:(s,a)=>vk(s,a.cwd,t,n),findMalformedTarget:()=>null,normalizeCwd:ye});return i?{target:i}:null}function Su(e,t=Ot(Qe())){let n=[...new Map(e.filter((r)=>typeof r==="string"&&r!=="").flatMap((r)=>{let o=no(ye(r,r,t));return o?[[it(o),{dotGitPath:o,cwd:r}]]:[]})).values()].flatMap((r)=>pk(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 pk(e,t,n){try{let r=ye(e,t,n),o=mk(e),i=o.isFile()?r:null,s=o.isFile()?jl(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(fk(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(_u(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?zs(u,a):gk(u,a);if(n.markerFiles.some(l))return!0;return r&&lv(n).some(l)}if(_u(s,n))return!0;return r&&lv(n).some((c)=>zs(c,s))}function gk(e,t){let n=dv(t,e);if(n===""||n.startsWith("..")||uv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function hk(e,t,n,r){return Sn(e,t,n,!0,r)}function yk(e,t,n,r){if(!n)return!1;return _u(it(ye(e,t,r)),n)}function bk(e,t,n,r){if(!n)return!1;return fv(e,t,n,r,n.entries)}function vk(e,t,n,r){if(!n)return!1;return fv(e,t,n,r,n.markerFiles)}function fv(e,t,n,r,o){let i=it(ye(e,t,r));return o.includes(i)||gv(i,n)}function pv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>zs(o,it(ye(i,t,r)))))}function _u(e,t){return t.entries.includes(e)||t.directories.includes(e)||gv(e,t)}function gv(e,t){return t.hooksDirectories.some((n)=>zs(e,n))}function lv(e){return[...e.entries,...e.directories,...e.hooksDirectories]}function zs(e,t){let n=dv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!uv(n)}function it(e){return process.platform==="win32"?e.toLowerCase():e}function _k(e,t,n,r){if(_o(e))return null;let o=Bt([...e],r.environment);if(F(o[0]??"").toLowerCase()!=="mv")return null;let i=Os(o.slice(1)),s=i.sources.find((a)=>hk(Le(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&yk(Le(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as xu,join as Sk,normalize as xk,sep as Ns}from"node:path";var hv=process.platform==="win32",Ck=/[*?]/;function So(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=So(e.trim(),t);if(!xu(n))return"must be an absolute path or start with ~/";return xo(n,t)}function $s(e,t){let n=yv(e,t);if(n===null)return"must be a non-empty path string";if(!xu(n))return null;if(xo(n,t)===null)return null;return"cannot be the home directory or a path above it (this would block every command the agent runs)"}var Ek="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",wk="cannot cover the guard's own configuration";function yv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return So(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Ls(e,t){let n=yv(e,t);if(n===null)return"must be a non-empty path string";if(Ck.test(n))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!xu(n))return null;if(xo(n,t)!==null)return Ek;return Rk(n,t)?wk:null}function Rk(e,t){let n=Ds(e),r=Ds(Sk(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ns}`)}function xo(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=xk(e);if(hv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(hv?3:1)&&t.endsWith(Ns))t=t.slice(0,-1);return t}var kk=process.platform==="win32",bv=64,Tk=16384;function Co(e){let t=Rb(e,bv,bv,Tk);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:Ik(e)}}function Ik(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)=>Ok(e.raw,n.span.start-e.span.start))}function Ok(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:$k(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&&Wk(e))return{kind:"outside_anchored_cwd"};let o=!r&&xv(e,t.posixShell);if(pn(e))return{kind:"outside_anchored_cwd"};if(Ru(e,r))return{kind:"root_or_home_target"};if(zk(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(Nk(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(Lk(e,t,r))return{kind:"temp_target"};let i=t.anchoredCwd;if(i){if(!n.skipHomeCwd&&Uk(i,t.environment.home,t.environment.paths,t.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!n.skipCwdSelf&&jk(e,t.resolvedCwd??i,t.environment.paths,t.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(Bk(e,i,t.resolvedCwd??i,o,r,t.environment.paths,t.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function _v(e,t,n={}){let{containmentTarget:r,...o}=n;if(st(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(Mk(i))return!1;if(ab(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>Vk(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Ru(e,t=!1){let n=e.trim(),r=vv.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 zk(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=wu(o)?o:t.resolvedCwd?cr(t.resolvedCwd,o):null;if(!i)return!1;let s=Ae(X(i,t.environment.paths,t.pathCanonicalizationContext));if(s===Ak(s).root)return!0;return s===Ae(X(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Ae(e){let t=Pk(e);if(kk){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 Nk(e,t,n,r,o,i,s,a){let c=e.trim();if(Sv(c))return!1;if(!r&&Yl(c,a))return!0;return(t||i&&s)&&n&&!o&&Dk(c,n)}function Dk(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!xv(e.slice(n.length+1),t)})}function Mk(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return vv.normalize(`/${t[1]??""}`)==="/"}function Sv(e){return e.split(/[\\/]+/).includes("..")}function $k(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=So(o.trim(),t);if(!wu(i))return[];try{let s=X(i,n,r);if(xo(s,X(t,n,r)))return[];return[Ae(s)]}catch{return[]}})}function Lk(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(Sv(r))return!1;let o=n?r:So(r,t.environment.home),i=t.resolvedCwd??t.anchoredCwd,s=wu(o)?o:i?cr(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(Eu)?c:`${c}${Eu}`))}catch{return!1}}function Wk(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function xv(e,t=!1){return e.includes("$")||e.includes("`")||Fk(e)||t&&Gk(e)}function Fk(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 Gk(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==="{"&&Zk(e,n)||(r==="+"||r==="@"||r==="!")&&e[n+1]==="(")return!0}return!1}function Zk(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 Uk(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 jk(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Ae(X(cr(t,e),n,r))===Ae(X(t,n,r))}catch{try{return Ae(cr(t,e))===Ae(t)}catch{return!1}}}function Bk(e,t,n,r,o,i,s){let a=n??t;if(!o&&(e.startsWith("~")||e.startsWith("$HOME")||e.startsWith("${HOME}")))return!1;if(r)return!1;if(e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e))try{return Cu(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return Cu(cr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return Cu(cr(a,e),t,i,s)}catch{return!1}}function Cu(e,t,n,r){try{return Cv(X(e,n,r),X(t,n,r))}catch{return!1}}function Vk(e,t,n,r){if(!t)return!1;try{return Cv(X(t,n,r),X(e,n,r))}catch{return!0}}function Cv(e,t){let n=Ae(e),r=Ae(t);return n.startsWith(`${r}${Eu}`)||n===r}var Hk=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),Ev="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",Kk="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.",wv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",Rv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",qk="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",Yk="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function Pv(e,t,n,r=xn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths})){return Jk(e.words.map((o)=>({kind:"word",text:o.text,dynamic:o.provenance!=="literal"})),t,r,n.policy)}function Jk(e,t,n,r){let o=e.filter((c)=>c.kind==="word"),i=Qk(o),s=o[i];if(!s||!Hk.has(cT(s.text)))return null;let a=Xk(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",Yk);for(let c of a.targets)if(!pn(c.text)&&Ru(Au(c.text)))return v(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",Rv);for(let c of a.targets)if(n.resolvedCwd&&Sn(Au(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return v("powershell.remove-item-git-metadata",qe);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",wv);for(let c of a.targets){let l=lT(st(Au(c.text),n),n,r);if(l)return l}return null}function Xk(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(eT(c))continue;if(s){t.push(Pu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=nT(c.text);if(!l){t.push(Pu(c)),i=i||c.dynamic;continue}if(rT(l.name)){let u=l.value?tT(l.value,c):e[++a];if(u?.kind==="word")t.push(Pu(u)),i=i||u.dynamic;else i=!0;continue}if(oT(l.name)){n=!0;continue}if(iT(l.name)){r=!0;continue}if(sT(l.name))o=aT(l.value)}return{targets:t,recursive:n,force:r,whatIfProtected:o,hasDynamicTarget:i}}function Qk(e){let t=e[0];if(t?.kind==="word"&&t.text==="&"||t?.text===".")return e.length>1?1:0;return 0}function Pu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function eT(e){return e.kind==="word"&&e.text===","}function Au(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function tT(e,t){return{kind:"word",text:e,dynamic:t.kind==="word"&&(t.dynamic||e.includes("$"))}}function nT(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 rT(e){return"path".startsWith(e)||"literalpath".startsWith(e)}function oT(e){return"recurse".startsWith(e)}function iT(e){return e.length>=2&&"force".startsWith(e)}function sT(e){return e==="wi"||"whatif".startsWith(e)}function aT(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function cT(e){return e.toLowerCase()}function lT(e,t,n){switch(e.kind){case"root_or_home_target":return v("powershell.remove-item-recursive-force-root-or-home",Rv);case"git_metadata_target":return v("powershell.remove-item-git-metadata",qe);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",wv);case"home_cwd_target":return v("powershell.remove-item-recursive-force-home-cwd",qk);case"cwd_self_target":return v("powershell.remove-item-recursive-force-cwd-self",Ev);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",Kk);case"outside_anchored_cwd":return v("powershell.remove-item-recursive-force-outside-cwd",Ev)}}import{normalize as ea}from"node:path";var We=new Set(["awk","gawk","nawk","mawk"]),uT=new Set(["-e","--source"]),dT=new Set(["-F","-v","--assign","--field-separator"]),Av=new Set(["-f","--file"]),mT=new Set(["print","printf","return"]),kv=[{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"}],fT="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 pT(e)){let i=gT(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",fT):null}function Tu(e){let t=[],n=!1,r=!1,o=!0,i=!0;for(let s=1;s<e.length;s++){let a=e[s];if(a===void 0)break;if(o&&a==="--"){o=!1;continue}if(o&&uT.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&&(dT.has(a)||Av.has(a))){if(Av.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 wo(e){return Tu(e).sources}function pT(e){return wo(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function gT(e,t){Ne(t,e);let n=e.includes("system")?Iu(e,t):null,r=hT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Iu(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=Tv(e,i+1);continue}if(s==="/"&&Iv(e,i)){i=Ov(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,Eo(e[a-1])||Eo(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 hT(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=Tv(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Iv(e,i)){let f=Ov(e,i+1);l=f??i+1,i=f??i+1;continue}if(`;
49
+ {}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(ku(e,i,"print")||ku(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(ku(e,m,"getline")){o=!0;let f=vT(s,c,l);if(f===null)r=!0;else n.push(f);l=d,i=d;continue}if(ST(s,a)){o=!0;let f=bT(e,m);if(!f){r=!0,l=d,i=d;continue}if(!yT(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 Eo(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 yT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
50
+ }#`.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=_T(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 bT(e,t){let n=e[t];if(n!=='"'&&n!=="'")return null;return Fs(e,t,n)}function vT(e,t,n){if(!t)return null;return t.startIndex>=e&&t.endIndex===n?t.value:null}function _T(e,t){let n=e[t];if(!n)return null;if(n==="x"){let o=e.slice(t+1,t+3);if(!/^[0-9A-Fa-f]{2}$/.test(o))return null;return{value:String.fromCharCode(Number.parseInt(o,16)),endIndex:t+2}}if(/[0-7]/.test(n)){let o=/^[0-7]{1,3}/.exec(e.slice(t));if(!o)return null;return{value:String.fromCharCode(Number.parseInt(o[0],8)),endIndex:t+o[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
51
+ `,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function ku(e,t,n){return e.startsWith(n,t)&&!Eo(e[t-1])&&!Eo(e[t+n.length])}function ST(e,t){return t!==null&&t>=e}function Tv(e,t){let n=e.indexOf(`
52
+ `,t);return n===-1?e.length:n+1}function Iv(e,t){let n=xT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(Eo(e[r-1]))r--;return mT.has(e.slice(r,n+1))}function xT(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return n;return-1}function Ov(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 zv=new Set(["rm","find","xargs","parallel"]),CT=new Set(["sudo","env","command","builtin"]),ET=new Set(["git","busybox",...zv,...me,...Jy,...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=wT(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 wT(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&&RT(a,r))i.push(s);else if(ns.has(H(a)))break;if(o)break}return i}function RT(e,t){let n=F(e),r=H(e);return r==="git"||n==="busybox"||Cn(e)||zv.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 CT.has(e.toLowerCase())}function Nv(e){let t=H(e);return ET.has(t)||Me(t)}function at(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Us([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Us(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 De;Ou(a),yield*Us(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])Ou(a),yield*Us(f===m.childIndex?m.tokens:[...u.slice(f)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(AT(u)){Ou(a),yield*Us([...u.slice(1)],t,d,r,o,i,s,a,c);return}yield PT(u,d,r,o,i,c)}function PT(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 Ou(e){if(e.iterations>=Qn)throw new De;e.iterations++}function AT(e){return F(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function zu(e,t){let n=[],r=t;while(r<e.length){let o=e[r];if(o===void 0||o===":::")break;n.push(o),r++}return{markerIndex:r<e.length&&e[r]===":::"?r:-1,templateTokens:n}}function ct(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Nu(r,"recursive"))t=!0;else if(r==="-f"||Nu(r,"force"))n=!0;else if(r.startsWith("-")&&!r.startsWith("--")){if(r.includes("r")||r.includes("R"))t=!0;if(r.includes("f"))n=!0}}return t&&n}function Dv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Nu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Nu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var kT="find -delete permanently removes files. Use -print first to preview.",TT="find -exec rm -rf is dangerous. Use explicit file list instead.",IT=new Set(["-exec","-execdir","-ok","-okdir"]),OT=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 js(e,t){let n=e.map(N),r=zT(e,n,t);if(r)return r;if(Vs(n,1)&&!DT(e,n,t)){let s=z(v("find.delete",kT),t.policy);if(s)return s}let o=t.derivedCommandWorkBudget??es(),i=0;while(i<n.length){let s=n[i],a=Ht(s??"");if(a>0){i+=a+1;continue}if(!Lt(s)){i++;continue}et(o,n.length-i-1);let c=Ro(n,i);i=c.nextIndex;let l=$T(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 zT(e,t,n){if(!Vs(t,1)&&!Du(t,n.environment))return null;let o=Bs(e)??U(["."]),i=xn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=Co(s);for(let c of a.expandedTargets??[N(s)]){let l=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",qe)}}if(NT(t)&&i.resolvedCwd&&pv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return v("find.delete-git-metadata",qe);return null}function Du(e,t){let n=0;while(n<e.length){if(!Lt(e[n])){n++;continue}let r=Ro(e,n),o=Bt([...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 NT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function DT(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=ql(o,n.environment),s=n.trustedTmpdirValue??Mt(o,n.environment),a=n.allowTmpdirVar??!co(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=Co(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>_v(d,c,{containmentTarget:MT(d,i),targetIsLiteral:u.expandedTargets!==void 0||u.targetIsLiteral,tmpdirWordSplittingProtected:u.tmpdirWordSplittingProtected}))})}function MT(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 $T(e,t){let n=jt([...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",TT);return null}function Ro(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Vs(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Lt(r)){n=Ro(e,n).nextIndex;continue}let o=Ht(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Ht(e){return OT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Lt(e){return e!==void 0&&IT.has(e)}function Po(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 LT=5,Mu="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 $v(e,t,n){let r=Wv(e,t,n),o=WT(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<LT;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=jT(d);if(m===null||m.length===0)return{blockedReason:Mu,expanded:!0,tokens:i};i=["git",...m,...l],s=!0}return{blockedReason:Mu,expanded:!0,tokens:i}}function Lv(e,t,n){return Wv(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 WT(e){let t=new Map;for(let n of e){let r=n.key.toLowerCase();if(!r.startsWith("alias."))continue;let o=r.slice(6);if(o!=="")t.set(o,n.value)}return t}function Wv(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=GT(t,n);return{blockedReason:i.blockedReason,entries:[...i.entries,...FT(e,t,n)]}}function FT(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=$u(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=$u(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=Mv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=Mv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(He.has(i)){o+=2;continue}o++}return r}function GT(e,t){let n=ZT(e,t),r=UT(e,t);return{blockedReason:n===null||r===null?Mu:null,entries:[...n??[],...r??[]]}}function ZT(e,t){let n=Ve("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=Po(n);if(!o)return null;for(let i of o){let s=$u(i);if(!s)return null;r.push(s)}return r}function UT(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 $u(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 Mv(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 jT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return Po(t)}var BT="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",VT="git checkout --force discards uncommitted changes. Use 'git stash' first.",HT="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",KT="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",qT="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",YT="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",JT="git switch --force discards uncommitted changes. Use 'git stash' first.",XT="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",QT="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",eI="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",tI="git reset --merge can lose uncommitted changes. Use 'git stash' first.",nI="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",rI="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.",iI="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",sI="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",aI="git branch -D force-deletes without merge check. Use -d for safe delete.",cI="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",lI="git merge --abort discards merge conflict resolutions. Use 'git status' first.",uI="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",dI="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",mI="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",fI="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",pI="git worktree remove --force can delete uncommitted changes. Remove --force flag.",Fv=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),Gv=new Set(["--recurse-submodules","--track","-t"]),Lu=new Set(["-b","-B","-U"]),Wu=new Set(["-c","-C"]),gI=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),hI=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 lr=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Uv(e){let{subcommand:t,rest:n}=lt(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Kt(yI(n));case"switch":return Kt(bI(n));case"restore":return Kt(_I(n));case"reset":return xI(n);case"clean":return Kt(EI(n));case"rm":return Kt(wI(n));case"push":return En(RI(n));case"branch":return En(kI(n));case"stash":return En(NI(n));case"worktree":return En(DI(n));case"rebase":return Kt(TI(n));case"merge":return Kt(II(n));case"tag":return En(OI(n));case"reflog":return En(zI(n));default:return null}}function Kt(e){return e?{...e,localDiscard:!0}:null}function En(e){return e?{...e,localDiscard:!1}:null}function yI(e){let{index:t,before:n}=Ce(e),r=Pe(n,{shortOptsWithValue:Lu});if(n.some((i)=>G(i,"--force"))||r.has("-f"))return v("git.checkout-force",VT);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",KT)}if(t!==-1){if(n.some((s)=>!s.startsWith("-")))return v("git.checkout-ref-path",HT);return v("git.checkout-double-dash",BT)}if(vI(e).length>=2)return v("git.checkout-ambiguous",qT);return null}function bI(e){let{before:t}=Ce(e);if(t.some((r)=>G(r,"--discard-changes")))return v("git.switch-discard-changes",YT);let n=Pe(t,{shortOptsWithValue:Wu});if(t.some((r)=>G(r,"--force"))||n.has("-f"))return v("git.switch-force",JT);return null}function vI(e){let t=[],n=0;while(n<e.length){let r=e[n];if(!r)break;if(r==="--")break;if(r.startsWith("-"))if(Fv.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(Gv.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("--")&&!hI.has(r)&&!Fv.has(r)&&!Gv.has(r))n++;else n++;else t.push(r),n++}return t}function _I(e){let t=SI(e);if(t.isTerminal||!t.hasPathspec&&!t.hasPatch||!t.hasWorktree)return null;return t.hasExplicitLocation?v("git.restore-worktree",QT):v("git.restore-unstaged",XT)}function SI(e){let t=!1,n=!1,r=!0,o=!1,i=(s)=>{if(!o)r=!1,o=!0;if(s!==void 0)r=s};for(let s=0;s<e.length;s++){let a=e[s];if(a===void 0)break;if(a==="--"){t||=s+1<e.length;break}if(a==="--pathspec-from-file"){t=!0,s++;continue}if(a.startsWith("--pathspec-from-file=")){t=!0;continue}if(a==="-h"||a==="--help"||a==="--version")return{hasPathspec:t,hasPatch:n,hasWorktree:r,hasExplicitLocation:o,isTerminal:!0};if(a==="--staged"){i();continue}if(a==="--no-staged"){i();continue}if(a==="--worktree"){i(!0);continue}if(a==="--no-worktree"){i(!1);continue}if(a==="--patch"){n=!0;continue}if(a==="--no-patch"){n=!1;continue}if(gI.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 xI(e){let t=null;for(let n of e){if(G(n,"--hard")){t=v("git.reset-hard",eI);break}if(G(n,"--merge")){t=v("git.reset-merge",tI);break}}if(!t)return null;return CI(e)?En(t):Kt(t)}function CI(e){for(let t of e){if(t==="--")return!1;if(!t.startsWith("-"))return!0}return!1}function EI(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",nI);return null}function wI(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",rI):null}function RI(e){let{before:t,after:n}=Ce(e),r=Pe(t);if(t.some((s)=>G(s,"--mirror")))return v("git.push-mirror",sI);if(t.some((s)=>G(s,"--force"))||r.has("-f")||Zv(t,n).some(PI))return v("git.push-force",oI);if(t.some((s)=>G(s,"--delete"))||r.has("-d")||Zv(t,n).some(AI))return v("git.push-delete",iI);return null}function Zv(e,t){return[...e.filter((n)=>n!==""&&!n.startsWith("-")),...t]}function PI(e){return e.startsWith("+")||e.includes(":+")}function AI(e){return e.length>1&&e.startsWith(":")}function kI(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",aI);return null}function TI(e){let{before:t}=Ce(e);return t.some((n)=>G(n,"--abort"))?v("git.rebase-abort",cI):null}function II(e){let{before:t}=Ce(e);return t.some((n)=>G(n,"--abort"))?v("git.merge-abort",lI):null}function OI(e){let{before:t}=Ce(e);return Pe(t).has("-d")||t.some((r)=>G(r,"--delete"))?v("git.tag-delete",uI):null}function zI(e){return e[0]==="delete"?v("git.reflog-delete",dI):null}function NI(e){for(let t of e){if(t==="drop")return v("git.stash-drop",mI);if(t==="clear")return v("git.stash-clear",fI)}return null}function DI(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",pI);return null}import{execFileSync as MI}from"node:child_process";import{existsSync as Gu,readFileSync as Zu}from"node:fs";import{dirname as $I,isAbsolute as Vv,join as Fu,resolve as Hv}from"node:path";var LI=["/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 Kv(e,t,n,r){let o=WI(e,t,n);if(o!==null)return o;let i=FI(t,n);if(i!==null)return i;if(Cy(n))return!0;return GI(r)}function WI(e,t,n){let r=null,o=1;while(o<e.length){let i=e[o];if(!i||i==="--")return r;if(!i.startsWith("-"))return r;if(i==="-c"){let s=jv(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=jv(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Bv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Bv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(He.has(i))o+=2;else o++}return r}function FI(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(Uu(a))return!0;if(a!=="submodule.recurse")continue;r=Ao(s)}return r}function GI(e,t=UI()){let n=ZI(e);if(n===null||n)return!0;if(t===null)return!0;try{let r=MI(t,["config","--get","submodule.recurse"],{cwd:e,encoding:"utf8",env:jI(process.env),stdio:["ignore","pipe","ignore"]}).trim();return Ao(r)}catch(r){return!BI(r)}}function ZI(e){let t=VI(e);if(t===null)return null;for(let n of t){if(!Gu(n))continue;if(qI(n))return!0}return!1}function UI(){for(let e of LI)if(Gu(e))return e;return null}function jI(e){let t={...e};for(let n of Object.keys(t))if(Qr(n))delete t[n];return t}function BI(e){return typeof e==="object"&&e!==null&&"status"in e&&e.status===1}function VI(e){let t=no(e);if(t===null)return null;let n=HI(t);if(n===null)return null;let r=KI(n);if(r===null)return null;return[Fu(r,"config"),Fu(n,"config.worktree")]}function HI(e){try{let n=Zu(e,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!n.startsWith("gitdir:"))return e;let r=n.slice(7).trim();if(r==="")return null;return Vv(r)?r:Hv($I(e),r)}catch{return null}}function KI(e){let t=Fu(e,"commondir");if(!Gu(t))return e;try{let n=Zu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Vv(n)?n:Hv(e,n)}catch{return null}}function qI(e){let t;try{t=Zu(e,"utf-8")}catch{return!0}let n="",r=!1;for(let o of t.split(/\r?\n/)){let i=o.trim();if(i===""||i.startsWith("#")||i.startsWith(";"))continue;let s=i.match(/^\[([^\]]+)\]$/);if(s){n=s[1]?.trim().toLowerCase()??"";continue}let a=i.indexOf("="),c=(a===-1?i:i.slice(0,a)).trim().toLowerCase(),l=a===-1?"true":i.slice(a+1).trim();if(YI(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=Ao(l)}return r}function YI(e){return e==="include"||e.startsWith("includeif ")}function jv(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Uu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return Ao(r)}function Ao(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Bv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Uu(o))return!0;if(o!=="submodule.recurse")return null;let i=Ve(e.slice(r+1),t,n);return i===void 0||Ao(i)}function Uu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function qv(e,t,n){if(!t.localDiscard||!n.worktreeMode||Py(n.env,n.envAssignments))return null;let r=Ay(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!ky(r.gitCwd))return null;if(JI(e,n,r.gitCwd))return null;return{originalReason:t.reason,gitCwd:r.gitCwd}}function JI(e,t,n){let{subcommand:r,rest:o}=lt(e),i=r?.toLowerCase();if(t.dynamicArguments||XI(o)||Kv(e,t.env,t.envAssignments,n)||tO(o)||QI(i,o))return!0;return i==="clean"&&nO(o)>1}function XI(e){return e.some((t)=>/[$*?[]/.test(t))}function QI(e,t){if(e==="checkout"){let{before:n}=Ce(t),r=Pe(n,{shortOptsWithValue:Lu}),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:Wu}),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")||eO(s))||r.has("-C");return o&&i}return!1}function eO(e){let t=e.split("=",1)[0]??e;return t==="--force-create"||t.length>=9&&"--force-create".startsWith(t)}function tO(e){return e.some((t)=>t.startsWith("--recurse-sub"))}function nO(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 rO="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 ur(e,t){return Yv(e.map(N),t)}function Yv(e,t,n){let r=$v(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((xy(t.envAssignments)||Lv(e,t.env,t.envAssignments))&&iO(i))return v("git.ssh-env",rO);let s=Uv(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 Jv(e,t){let n=null;return{match:Yv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function iO(e){let{subcommand:t,rest:n}=lt(e),r=t?.toLowerCase();if(!r)return!1;if(oO.has(r))return!0;if(r==="archive")return Ce(n).before.some((o)=>G(o,"--remote"));return r==="remote"&&sO(n)}function sO(e){return e.find((t)=>!aO(t))?.toLowerCase()==="update"}function aO(e){return e==="-v"||G(e,"--verbose")||G(e,"--no-verbose")}import{isAbsolute as nz}from"node:path";var Xv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",cO="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.",lO="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",e_="rm -rf targeting root or home directory is extremely dangerous and always blocked.",uO="rm -rf in home directory is dangerous. Change to a project directory first.";function dr(e,t){let n=xn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=ct(r),i=Dv(r),s=mO(e);for(let a of s){let c=Co(a.word);if(o&&c.unsafeBraceExpansion){let l=z(Qv({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",qe);if(i&&!o){let m=st(u,n,d);if(m.kind==="root_or_home_target")return v("rm.recursive-force-root-or-home",e_);if(m.kind==="git_metadata_target")return v("rm.git-metadata",qe);continue}if(!o)continue;for(let m of dO(u,n,d)){let f=Qv(m,n,t.policy),p=z(f,t.policy);if(p)return p}}}return null}function dO(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 mO(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 Qv(e,t,n){switch(e.kind){case"root_or_home_target":return v("rm.recursive-force-root-or-home",e_);case"git_metadata_target":return v("rm.git-metadata",qe);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",lO);case"home_cwd_target":return v("rm.recursive-force-home-cwd",uO);case"cwd_self_target":return v("rm.recursive-force-cwd-self",Xv);case"within_anchored_cwd":if(de(n,"rm.recursive-force-paranoid",t.paranoid))return v("rm.recursive-force-paranoid",cO);return null;case"outside_anchored_cwd":return v("rm.recursive-force-outside-cwd",Xv)}}var fO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},n_=new Set(["--init-file","--rcfile"]),pO=["--init-file","--rcfile"],gO=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 t_(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=t_(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 t_(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 r_(e){let t=F(e[0]??"").toLowerCase(),n=hO(e,t),r=gO.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 hO(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?pO.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"&&n_.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=o_(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function o_(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(!fO[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"&&n_.has(c)&&!s.includes("="))i++;continue}let a=o_(t,s,e[i+1],"argv");if(a.commandSelected)n=!0;if(a.syntaxCheck)o=!0;if(a.stdinMode)r=!0;i+=a.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!n,syntaxCheck:o}}var qt={kind:"none"},wn={kind:"dynamic"},yO=new Set(["<","<<","<<-","<<<","<&","<>"]),s_=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,bO=/^(?:[0-9]+|[@*])$/,vO=vn.maxWords,_O=vn.maxInputLength;function a_(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
53
53
  `)return`${r.join(`
54
54
  `)}
55
55
  `;if(n.includes("%")||/\\(?![\\nrt])/.test(n))return;return n.replaceAll("\\n",`
56
- `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function fr(e){let t=To(e[1])==="--"?2:1;if(e.length<=t)return en;let n=e.slice(t);if(!n.every(Qs))return kn;return{kind:"literal",source:n.map(N).join(" ")}}function rS(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 en;if(!Qs(n))return kn;return{kind:"literal",source:r}}function Xs(e,t){let n=lO(e);if(n===-1)return en;let r=uO(t);if(!r)return en;let o=[],i=r.command?.length??0;for(let s of r.references){let a=mO(s,e,n,r.ifs);if(!a)return kn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>sO||i>aO)return kn;o.push(...a)}if(r.command==="eval")return{kind:"literal",source:o.join(" ")};if(o.length===0||/\s/.test(o[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[r.command,r.command&&r.optionTerminator?"--":null,...o.map(pO)].filter((s)=>s!==null).join(" ")}}function oS(e,t,n,r){if(!bt(e.map(N)).readsStdinAsCommands)return en;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&oO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return en;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return kn;return{kind:"literal",source:o.target.text}}if(!n)return en;return r===void 0?kn:{kind:"literal",source:r}}function vt(e){let t=bt(e.map(N)).scriptIndex;if(t===null)return en;let n=e[t],r=To(n);return Bi(n,r)?{kind:"literal",source:r}:kn}var cO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Yu(e){if(e.words.length!==2||e.redirections.length!==0||e.nested.length!==1)return!1;let t=e.words[0],n=e.words[1];if(!t||t.provenance!=="literal"||t.quoted||t.raw!==t.text||!n)return!1;if(!(t.text==="eval"&&n.quoted&&n.parts.length===3&&n.parts[0]?.raw==='"'&&n.parts[1]?.provenance==="command-substitution"&&n.parts[1].raw.startsWith("$(")&&n.parts[2]?.raw==='"'||(t.text==="source"||t.text===".")&&!n.quoted&&n.parts.length===1&&n.parts[0]?.provenance==="command-substitution"&&n.parts[0].raw.startsWith("<(")))return!1;let o=e.nested[0];if(o?.status!=="complete"||o.nodes.length!==1)return!1;let i=o.nodes[0];if(i?.kind!=="command"||i.redirections.length!==0||i.nested.length!==0||i.words.some((c)=>c.provenance!=="literal"||c.parts.some((l)=>l.provenance!=="literal")))return!1;let s=i.words[0]?.text;if(s===void 0||He(s)!==null)return!1;let a=G(H(s));return!cO.has(a)&&!de.has(a)&&!Rn(a)}function lO(e){return bt(e.map(N)).commandIndex??-1}function uO(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(dO);if(o.length===0||o.some((i)=>i===null))return null;return{command:r?.[1]??null,optionTerminator:r?.[2]!==void 0,references:o.filter((i)=>!!i),ifs:t?t[1]??t[2]??t[3]??"":`
57
- `}}function dO(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 mO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?Vu(o):fO(o,r);if(e.parameter==="*"){let a=Vu(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&&!Qs(i))return;let s=To(i);return e.quoted?[s]:Ku(s,r)}function Vu(e){return e.every(Qs)?e.map(N):void 0}function fO(e,t){let n=Vu(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===`
56
+ `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function mr(e){let t=ko(e[1])==="--"?2:1;if(e.length<=t)return qt;let n=e.slice(t);if(!n.every(Ks))return wn;return{kind:"literal",source:n.map(N).join(" ")}}function c_(e){let t=ko(e[1])==="--"?2:1,n=e[t],r=ko(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return qt;if(!Ks(n))return wn;return{kind:"literal",source:r}}function Hs(e,t){let n=xO(e);if(n===-1)return qt;let r=CO(t);if(!r)return qt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=wO(s,e,n,r.ifs);if(!a)return wn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>vO||i>_O)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(PO)].filter((s)=>s!==null).join(" ")}}function l_(e,t,n,r){if(!vt(e.map(N)).readsStdinAsCommands)return qt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&yO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return qt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return wn;return{kind:"literal",source:o.target.text}}if(!n)return qt;return r===void 0?wn:{kind:"literal",source:r}}function _t(e){let t=vt(e.map(N)).scriptIndex;if(t===null)return qt;let n=e[t],r=ko(n);return Ui(n,r)?{kind:"literal",source:r}:wn}var SO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Hu(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||Ke(s)!==null)return!1;let a=F(H(s));return!SO.has(a)&&!me.has(a)&&!Cn(a)}function xO(e){return vt(e.map(N)).commandIndex??-1}function CO(e){let t=/^IFS=(?:'([^']*)'|"([^"]*)"|([^;\s]*))\s*;\s*(.+)$/.exec(e.trim()),n=t?.[4]??e.trim(),r=/^(\.|bash|command|dash|exec|eval|ksh|sh|source|zsh)(?:\s+(--))?\s+(.+)$/.exec(n),o=(r?.[3]??n).split(/\s+/).map(EO);if(o.length===0||o.some((i)=>i===null))return null;return{command:r?.[1]??null,optionTerminator:r?.[2]!==void 0,references:o.filter((i)=>!!i),ifs:t?t[1]??t[2]??t[3]??"":`
57
+ `}}function EO(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 wO(e,t,n,r){let o=t.slice(n+2);if(e.parameter==="@")return e.quoted?ju(o):RO(o,r);if(e.parameter==="*"){let a=ju(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:Bu(c,r)}let i=t[n+1+e.parameter];if(i&&!Ks(i))return;let s=ko(i);return e.quoted?[s]:Bu(s,r)}function ju(e){return e.every(Ks)?e.map(N):void 0}function RO(e,t){let n=ju(e);if(!n)return;let r=n.map((o)=>Bu(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function Bu(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
58
58
  `)return e.trim().split(/\s+/).filter(Boolean);if(t.length!==1)return;return t===" "||t==="\t"||t===`
59
- `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Qs(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function To(e){return e?N(e):""}function pO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Ju(e,t){return qu(tt(e,"posix"),t)}function pr(e){return Ju(e,new Set(Array.from(e.matchAll(tS)).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))||iS(r.words,n))return!0;vO(r,n)}return!1}function iS(e,t){let n=e.findIndex((s)=>He(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(Io(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return eS(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&&eS(s[c],t)}let i=gO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return iS(e.slice(i),t)}function gO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return hO(e,t+1);if(r==="exec")return yO(e,t+1);if(r==="env")return bO(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 yO(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 bO(e,t,n){for(let r=t;r<e.length;r++){let o=e[r],i=o?.text??"";if(i==="--")return e[r+1]?r+1:null;if(i==="-S"||i==="--split-string")return Io(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return Io(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(He(i))continue;return r}return null}function vO(e,t){if(!e.words.every((n)=>He(n.text)!==null))return;for(let n of e.words){let r=He(n.text);if(!r)continue;if(Io(n,t))t.add(r.name)}}function Io(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(tS)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(iO.test(o)||t.has(o))}))}function eS(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||Io(e,t))}var SO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),_O=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),xO=new Set;function sS(e){if(e==="git")return SO;if(e==="docker")return _O;return xO}function pe(e,t){if(e.length===0||t.length===0)return null;let n=H(e[0]??""),r=we(e);for(let o of t){if(!CO(n,o.command))continue;if(!wO(n,e,o.subcommand))continue;if(RO(e,new Set(o.block_args),r))return{id:`custom.${o.name}`,reason:`[${o.name}] ${o.reason}`,intent:o.intent??"manual_only"}}return null}function CO(e,t){return e===H(t)}function wO(e,t,n){if(!n)return!0;return aS(t,1,n,sS(e))}function aS(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("=")&&EO(e,i,n,r))return!0;continue}return s===n}return!1}function EO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return aS(e,t+2,n,r)}function RO(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 tn(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=H(r);if(o==="eval"){let i=fr(j(e));if(i.kind==="dynamic")return gr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return St(n,t)}if(de.has(o)){if(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(j(e));if(s.kind==="dynamic")return gr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return gr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return gr(n,t);return null}if(Me.has(o))return O(Hs(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??St(n,t);if(ze(o)){let i=is(e);if(!i)return St(n,t);if(ue(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=O(S("interpreter.one-liner-paranoid",nr),t.policy);if(a)return a}if(cs(o,i))return St(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==qt||cr(i)))return s;if(rr(i,t.scanWork))return O(S("interpreter.dangerous-command",Sn),t.policy)??St(n,t);return St(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(st(e)||n.dynamicRmInput);return O(mr(j(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(t.envAssignments,t.environment),trustedTmpdirValue:Lt(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?St(n,t):null)??(i?PO(n,t):null)}if(o==="find")return qs(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>tn(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??St(n,t);if(o==="git")return O(dr(j(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??pe(e,t.policy?.rules??[])??St(n,t);return pe(e,t.policy?.rules??[])??St(n,t)}function gr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function St(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function PO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var Xu="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Qu="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",kO="__CC_SAFETY_NET_XARGS_INPUT__",ea="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",ta="rm",AO=/(?:^|[;&|]\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,TO=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,IO=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,OO=/^(?:[0-9]+|[@*])$/;function uS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=An(n),i=n.slice(r),s=S("xargs.shell-dynamic",Qu);if(NO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of it(i,t)){let c=a.tokens,l=o!==null&&c[0]!==i[0]&&(c[0]?.includes(o)??!1)?O(s,t.policy):null;if(l)return l;let u=pS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&mS(c,o),f=tn(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||dS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",Xu)});if(f)return f;let m=zO(c,o,t.policy?.rules??[]);if(m)return m;if(a.head==="git"){let h=o===null?[...c,kO]:c,b=o!==null&&(c.some((E)=>E.includes(o))||Array.from(a.envAssignments.values()).some((E)=>E.includes(o))),y=tn(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||b?!1:t.worktreeMode});if(y)return y}let p=pe(c,t.policy?.rules??[]);if(p)return p}return null}function zO(e,t,n){if(n.length===0)return null;if(t===null){for(let o of n){let i=pe([...e,...o.subcommand?[o.subcommand]:[],...o.block_args],n);if(i)return i}return null}let r=new Set(n.flatMap((o)=>[o.subcommand,...o.block_args].flatMap((i)=>i?e.flatMap((s)=>ed(s,t,i)):[])));for(let o of r){let i=pe(e.map((s)=>s.replaceAll(t,o)),n);if(i)return i}return null}function ed(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 dS(e,t,n,r,o,i,s){if(de.has(t)){if(Ke(e))return!1;if(n!==null&&DO(e,n))return!0;let a=yt(e);if(!a){let c=vt(j(e));if(c.kind==="literal")return n!==null&&c.source.includes(n);return c.kind==="none"&&o}if(n!==null&&a.includes(n))return!0;if(Mt(a,i))return!0;return $O(a,n,r)}if(ze(t))return cS(e,n,as,qy(t));if(Me.has(t))return cS(e,n,zu,wv);if(t==="eval"){let a=fr(j(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return MO(e,n,i,s);if(t==="git"){let a=at(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&ur.has(a.subcommand.toLowerCase())&&fS(a.rest,n).some((c)=>c.includes(n))}return!1}function cS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,ea]).sources.some((c)=>c.value===ea);if(o.sources.some((c)=>c.value.includes(t)))return!0;let i=new Set(o.sources.map((c)=>`${c.tokenIndex}\x00${c.kind}\x00${c.value}`)),s=r.flatMap((c)=>[c.selector,...c.valueForm==="attached-only"||c.valueForm==="attached-or-separate"?[`${c.selector}${ea}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${ea}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>ed(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 NO(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(it(e,n),(i)=>i.head)),o=t===null?[...e,ta]:e.map((i,s)=>s===0?i:i.replaceAll(t,ta));return Array.from(it(o,n)).some((i)=>i.head===ta&&!r.has(ta))}function mS(e,t){return fS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function fS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function pS(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 DO(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 ed(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=bt(l);if(u.commandIndex===null&&u.scriptIndex===null)return!1;if(n.commandIndex===null&&u.commandIndex!==null)return!0;if(n.scriptIndex===null&&u.scriptIndex!==null)return!0;if(u.commandIndex!==null&&(l[u.commandIndex]??"").includes(c))return!0;return u.scriptIndex!==null&&(l[u.scriptIndex]??"").includes(c)})}))}function $O(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(AO))if(lS(o,r))return!0;for(let o of e.matchAll(TO))for(let i of(o[1]??"").matchAll(IO))if(lS(i,r))return!0;return Ju(e,r)}function lS(e,t){let n=e[1]??e[2];return n!==void 0&&(OO.test(n)||t.has(n))}function MO(e,t,n,r){if(t===null)return!0;let o=!1,i=0;for(let s=1;s<e.length;s++){let a=e[s]??"";if(!o&&!a.startsWith("-")&&a!=="!"&&a!=="("){if(a.indexOf(t)===0)return!0;continue}if(o=!0,i>0){i--;continue}if(Ft(a)){let l=Po(e,s);s=l.nextIndex-1;for(let u of it(l.tokens,{environment:r,cwd:void 0})){let d=pS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&mS(u.tokens,t)||dS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Xt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function An(e){let t=new Set(["-L","-n","-P","-s","-a","-E","-R","-S","-e","-d","-J","--max-args","--max-procs","--max-chars","--arg-file","--eof","--delimiter","--max-lines","--process-slot-var"]),n=null,r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--")return{childStart:r+1,replacementToken:n};if(o.startsWith("-")){if(o==="-I"){n=e[r+1]??"{}",r+=2;continue}if(o.startsWith("-I")&&o.length>2){n=o.slice(2),r++;continue}if(o==="--replace"){n="{}",r++;continue}if(o.startsWith("--replace=")){let i=o.slice(10);n=i===""?"{}":i,r++;continue}if(o==="-J"){n=e[r+1]??"{}",r+=2;continue}if(t.has(o))r+=2;else r++}else return{childStart:r,replacementToken:n}}return{childStart:e.length,replacementToken:n}}var zo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",No="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",WO="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",FO="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",GO=/\{[^{}\s]*\}/,xS=/\{\}|\{-?\d+\}/g,ZO=["e","f","source","file","-e","-f","--source","--file"],BO=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],UO=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),jO=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),gS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),HO=new Set(["--workdir","--wd"]),hS="__CC_SAFETY_NET_PARALLEL_SOURCE__",VO=new TextEncoder,nd=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Re(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function CS(e,t){return Re([...e],(n)=>Mt(n,t.scanWork))}function wS(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=In(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=zS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=In(t);if(p)return p;let h=CS(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=tz(t);if(p)return p}if(u!==void 0&&a){let p=In(t);if(p)return p}let f=iz(u,t.cwd,t.environment.paths);if(f===null){let p=In(t);if(p)return p}let m=a?{...t,cwd:void 0,originalCwd:void 0}:f===null||f===void 0||f===t.cwd?t:{...t,cwd:f};if(d){if([...it(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(sd)){let h=In(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=In(t);if(b)return b}let p=s.map((b)=>b[0]??"");Ne(t.budget,rd(p));let h=AS(m.envAssignments,m.cwd,a);return Re(p,(b)=>t.analyzeNested(b,h))}return Re(it(i,m),(p)=>KO(p,o,t,m))}function KO(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(IS)){let y=In(n);if(y)return y}let d=CS(u,n);if(d)return d;let f=u.some(ee),m=i||f,p=a&&m,h=AS(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return Ne(n.budget,na(c,o,"generic")),Re(o,(R)=>tn(c.map((P)=>nn(P,R)),l))};if(Ke(c))return y();let E=yt(c);if(E){if(OS(E)){let v=Tn(n);if(v)return v;if(o.length===0)return null;return Ne(n.budget,_S(E,o)),Re(o,(T)=>n.analyzeNested(nn(E,T),h))}if(ee(E)){if(o.length>0)return Ne(n.budget,_S(E,o)),Re(o,(k)=>n.analyzeNested(nn(E,k),h));Ne(n.budget,vS(E));let v=ko(E);if(v?.[0]&&H(v[0])==="rm"&&st(v)){let k=bS(n);if(k)return k}let T=v?tn(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",No),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",zo)}):null;if(T)return T;return n.analyzeNested(E,h)}let R=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Xs(j(v===void 0?c:i?c.map((T)=>nn(T,v)):[...c,...v]),E)):[];if(R.some((v)=>v.kind==="dynamic")){let v=Tn(n);if(v)return v}let P=R.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return Ne(n.budget,rd(P)),Re(P,(v)=>n.analyzeNested(v,h));if(Ne(n.budget,vS(E)),pr(E)){let v=Tn(n);if(v)return v}let x=n.analyzeNested(E,h);if(x)return x;if(m)return Tn(n);return null}let w=vt(j(c));if(w.kind==="dynamic"||w.kind==="literal"&&ee(w.source))return Tn(n)??y();if(w.kind==="literal")return y();if(o.length>0){let R=Tn(n);if(R)return R;let P=y();if(P)return P;if(i)return null;let x=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return Ne(n.budget,rd(x)),Re(x,(v)=>n.analyzeNested(v,h))}if(m||a)return Tn(n)??y();return null}if(e.head==="rm"&&st(c)){if(i&&o.length>0)return Ne(n.budget,na(c,o,"rm")),Re(o,(E)=>td(c.map((w)=>od(w,E)),e.cwd,r));if(o.length>0)return Ne(n.budget,SS(c,o)),Re(o,(E)=>td([...c,...E],e.cwd,r));let y=td(c.flatMap((E,w)=>{if(w===0||!ee(E))return[E];return E.startsWith("-")?[od(E,[""])]:[]}),e.cwd,r);if(y)return y;return bS(n)}Ne(n.budget,i&&o.length>0?na(c,o,"generic"):o.length>0?SS(c,o):kS(c));let b=o.length>0?o:[void 0];return Re(b,(y)=>{let E=y===void 0?c:i?c.map((z)=>nn(z,y)):[...c,...y],w=S("parallel.shell-dynamic",No),R=a&&e.head==="find"?ez(E,r):null,P=RS(E,a,n.policy?.rules??[],n.budget)??R?.customResult??null,x=H(e.head),v=a&&(x==="rm"&&id(E)||x==="xargs"&&PS(E)||R?.rmOptions===!0),T=a&&(v||R?.executedSource===!0||R===null&&ES(E,x)),k=tn(E,{...l,worktreeMode:s||a||m?!1:n.worktreeMode},{dynamicInput:a||m,dynamicRmInput:v,dynamicSourceInput:P!==null||T,shellDynamicMatch:w,dynamicSourceMatch:w,rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",zo)});if(T){let z=O(w,n.policy);if(z)return z}return k??P??pe(E,n.policy?.rules??[])})}function ES(e,t){if(ee(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return JO(e);if(t==="git")return qO(e);if(t==="find")return!0;if(Me.has(t))return yS(e,ZO,Ro);if(ze(t))return yS(e,BO,ss);return!1}function id(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(ee))return t===-1;return n.some((o)=>ee(o)&&(o.startsWith("-")||OS(o)))}function qO(e){if(YO(e))return!0;let t=at(e);if(t.subcommand===null||ee(t.subcommand))return!0;if(!ur.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(ee))return n===-1;return r.some(ee)}function YO(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n||n==="--"||!n.startsWith("-"))return!1;if(n==="-c"||n==="--config-env"){if(ee(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(ee(n))return!0;continue}if(ee(n))return!0}return!1}function JO(e){if(Ke(e))return!1;let t=yt(e);if(t!==null)return ee(t);let n=vt(j(e));if(n.kind==="literal")return ee(n.source);if(n.kind==="dynamic")return!0;return!e.some(ee)}function yS(e,t,n){let r=n(e);if(r.some((i)=>ee(i.value)))return!0;if(!e.some(ee))return n([...e,hS]).some((i)=>i.value===hS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>nn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function RS(e,t,n,r){if(!t||n.length===0)return null;let o=n.filter((s)=>H(s.command)===H(e[0]??""));if(o.length===0)return null;let i=e.some(ee);if(Ne(r,XO(e,o,i)),!i)return Re(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Re(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?QO(e,c):[]));return Re(a,(c)=>pe(e.map((l)=>nn(l,[c])),[s]))})}function XO(e,t,n){let r=n?On(qe(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),V.maxChildAnalyses),2*Math.max(e.length,1),V.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:On(r,e.length,V.maxDerivedTokens)}}function QO(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 ez(e,t){let n={customResult:null,executedSource:!e.some(ee),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(ee))return;for(let a of it(i,t))n.executedSource||=ES(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&id(a.tokens)||a.head==="xargs"&&PS(a.tokens),n.customResult??=RS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=ee(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Ft(a)){i=[],n.executedSource||=ee(a);continue}let c=Xt(a);if(c>0){o=c,n.executedSource||=ee(a);continue}n.executedSource||=ee(a)}return s(),n}function PS(e){let t=e.slice(An(e).childStart);return H(t[0]??"")==="rm"&&id(t)}function ra(e,t){return(n)=>O(S(e,t),n.policy)}var Tn=ra("parallel.shell-dynamic",No),tz=ra("parallel.command-stream-dynamic",WO),In=ra("parallel.command-stream-dynamic",FO),bS=ra("parallel.rm-recursive-force-dynamic",zo);function td(e,t,n){return O(mr(j(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(n.envAssignments??new Map,n.environment),trustedTmpdirValue:Lt(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function rd(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:Do(e)}}function vS(e){return kS([e])}function kS(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:Do(e)}}function SS(e,t){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:qe(t.map((n)=>e.length+n.length),V.maxDerivedTokens),derivedBytes:qe([On(Do(e),t.length,V.maxDerivedBytes),qe(t.map((n)=>Do(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function _S(e,t){return na([e],t,"generic")}function na(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=On(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=oz(e.map((c)=>rz(c,n))),i=On(o.occurrences,t.length,V.maxPlaceholderReplacements);if(i>V.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(nz(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:V.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?nn:od,a=qe(t.map((c)=>Do(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function nz(e,t,n){let r=V.maxDerivedBytes+4*n;return qe([On(e.fixedBytes,t.length,r),On(e.occurrences,qe(t.map((o)=>o.reduce((i,s)=>Math.max(i,Oo(s)),0)),r),r)],r)>r}function rz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(xS),r=0,o=0,i=0;for(let s of n){if(r>=V.maxPlaceholderReplacements)return{occurrences:V.maxPlaceholderReplacements+1,fixedBytes:0};o=qe([o,Oo(e.slice(i,s.index))],nd),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Oo(e):qe([o,Oo(e.slice(i))],nd)}}function oz(e){return{occurrences:qe(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:qe(e.map((t)=>t.fixedBytes),nd)}}function Do(e,t=V.maxDerivedBytes){return qe(e.map(Oo),t)}function Oo(e){return VO.encode(e).byteLength}function qe(e,t){let n=0;for(let r of e){if(!Number.isSafeInteger(r)||r<0||r>t-n)return t+1;n+=r}return n}function On(e,t,n){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e!==0&&t>Math.floor(n/e))return n+1;return e*t}function AS(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 nn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>TS(n,t))}function od(e,t){return e.replace(xS,(n)=>TS(n,t))}function TS(e,t){let n=/^\{(-?\d+)[^{}\s]*\}$/.exec(e)?.[1];if(n===void 0)return t[0]??"";let r=Number(n),o=r>0?r-1:t.length+r;return t[o]??""}function ee(e){return GO.test(e)}function IS(e){if(sd(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function sd(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function OS(e){return/^\{[^{}\s]*\}$/.test(e)}function zS(e){let t=1,n=[],r=e.length,o=-1,i=!1,s=!1,a=!1,c,l=e.some((p)=>p==="::::"||p==="::::+"||p===":::+");while(t<e.length){let p=e[t];if(p===void 0)break;if(p===":::"){o=t;break}if(p==="--"){let w=$u(e,t+1);n.push(...w.templateTokens),r=t+1,o=w.markerIndex;break}if(!p.startsWith("-")){let w=$u(e,t);n.push(...w.templateTokens),r=t,o=w.markerIndex;break}let h=e[t+1],b=p.indexOf("="),y=b===-1?p:p.slice(0,b),E=b===-1?void 0:p.slice(b+1);if(p==="--dry-run"){a=!0,t++;continue}if(p==="-I"||p.startsWith("-I")&&p.length>2){l||=(p==="-I"?h:p.slice(2))!=="{}",t+=p==="-I"?2:1;continue}if(p==="--replace"||p==="-i"){l=!0,t+=2;continue}if(y==="--replace"||p.startsWith("-i")&&p.length>2){let w=y==="--replace"?E:p.slice(2);l||=w!==""&&w!=="{}",t++;continue}if(p==="-a"||jO.has(y)){l=!0,t+=E===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=E===void 0?2:1;continue}if(gS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=gS.has(p)?2:1;continue}if(HO.has(y)){let w=E??h;if(w===void 0||w===":::"||w==="--"){l=!0,t++;continue}c=w,l||=E!==void 0&&w==="",t+=E===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&E!==void 0){t++;continue}if(UO.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?sd:IS);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let b=e[h];if(b===":::"){u.push(p),p=[];continue}if(b!==void 0)p.push(b)}u.push(p)}let d=sz(u),f=n.some(ee),m=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:f,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:m,unsupported:l,workdir:c,dryRun:a}}function iz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!LO(e))return null;try{return Kt(t??e,e,n)}catch{return null}}function sz(e){if(e.length===0||e.some((n)=>n.length===0))return[];let t=[[]];for(let n of e){if(n.length===1){let o=n[0];if(o===void 0)return[];for(let i of t)i.push(o);continue}let r=[];for(let o of t)for(let i of n)if(r.push([...o,i]),r.length>V.maxChildAnalyses)return r;t=r}return t}function NS(e){return zS(e).childStart}var az="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",oa="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function cd(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function ad(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function $S(e,t,n,r,o=!1,i){let a=(go(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",az):null;return O(a,i)??MS(e,t,n,o,i)}function MS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>cd(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Jn(e,t),c=lz(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",oa),o);if(O(dr(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,f)=>f>c&&N(d)==="--");if(ue(o,"shell.dynamic-structure",r)&&l&&ur.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return O(S("shell.dynamic-structure",oa),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&uz(t)?O(S("shell.dynamic-structure",oa),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=st(t.map(N));return ue(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?O(S("shell.dynamic-structure",oa),o):null}if(s==="xargs")return DS(e,t.slice(An(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return DS(e,t.slice(NS(t.map(N))),"parallel",n,r,o);return null}function DS(e,t,n,r,o,i){if(t.length===0)return null;let s=cz(t,r);if(go(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?Qu:No),i);if(c)return c}let a=MS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>cd(c)&&ad(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Xu:zo),i);return null}function cz(e,t){let n=_n(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 lz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(mt.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function uz(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=cd(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||ad(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||ad(s)))return!0;continue}if(t=!0,a)return!0;let c=Xt(s.text);if(c>0){n=c;continue}if(Ft(s.text))o=!0,r=!0}return!1}function ld(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Bi(t[n.tokenIndex],n.value)})}var dz="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",mz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",fz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function LS(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return S("dd.device-write",dz);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return S("mkfs.device",mz);if(e==="shred"&&n.length>0)return S("shred.target",fz);return null}var FS=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>mr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:Lt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>dr(e.words,ud(e))},{heads:new Set(["find"]),analyze:(e)=>qs(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:ft(e.envAssignments,e.options.environment),trustedTmpdirValue:Lt(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,policy:e.options.policy,analyzeTokens:e.analyzeChildTokens,analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>uS(e.words,{...WS(e),analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>wS(e.words,{...WS(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>zn(e.options.analyzeNested(t,n))})}];function WS(e){return{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoidRm:e.options.paranoidRm,paranoidInterpreters:e.options.paranoidInterpreters,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,worktreeMode:e.options.worktreeMode,policy:e.options.policy,scanWork:e.options.scanWork}}function zn(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function ud(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 US="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function jS(e){return FS.find((t)=>t.heads.has(e))?.analyze}function $o(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(A)=>A.map((Z)=>o==="posix"?N(Z):Z.text),s=n.effectiveCwd===null,a=s?void 0:n.effectiveCwd??n.cwd,c=s?void 0:n.cwd,l=ps(e);if(l.envAssignments.size>0)r?.recordSegment({type:"env-strip",input:i(e),envVars:[...l.envAssignments.keys()],output:i(l.words)});let u=_n(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let A=[...d,...i(u.words)].join(" "),Z=Mt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),_t(Z);if(n.strict)return Le(r);let ie=gs(d,i(u.words));if(ie){Xe(n.derivedCommandWorkBudget,ie.length);let le=n.analyzeNested(ie.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(le)return le}}let f=u.rewritten?j(i(u.words)):Jn(o,u.words),m=i(f),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>f.length){let A=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:A,removed:A.slice(0,A.length-f.length),output:m})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),b=m[0];if(!b)return null;if(Rn(b))throw new Oe;let y=H(b),E=u.cwd===null?void 0:u.cwd??a,w=u.cwd===null?void 0:c,R=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!uo(h,n.environment),x=$S(o,u.words,n.environment,t===0,n.strict,n.policy);if(x)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:x.reason}),_t(x);let v=Vs(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){GS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let ie=$o(Z,t,{...p,effectiveCwd:R,envAssignments:h});if(ie)return ie}return null}let T=y==="eval"?fr(f):y==="trap"?rS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Yu(n.commandView)))return Le(r);if(T?.kind==="literal"){r?.recordSegment({type:"recurse",reason:y==="eval"?"shell-eval":"shell-trap",innerCommand:T.source,depth:t+1});let A=n.analyzeNested(T.source,{effectiveCwd:R,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(VS(b,y)){if(Ke(m))return null;let A=pz(m,h,R,n,r,t);if(A)return A;let Z=yt(m);if(Z){let Kn=Xs(f,Z);if(Kn.kind==="dynamic")return Le(r);let xl=Kn.kind==="literal"?Kn.source:Z,Ih=gz(xl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:Ih}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Ih,depth:t+1});let Oh=n.analyzeNested(xl,{effectiveCwd:R,envAssignments:h});if(Oh)return Oh;return pr(xl)?Le(r):null}let ie=vt(f);if(ie.kind==="dynamic")return Le(r);if(ie.kind==="literal")return aa(ie.source,R,h,n,r,t);let le=oS(f,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(le.kind==="dynamic")return Le(r);if(le.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:le.source,depth:t+1}),n.analyzeNested(le.source,{effectiveCwd:R,envAssignments:h})}if(y==="source"||y==="."){let A=m[1]==="-p"?2:null;if(A!==null){let Kn=n.commandView?f[A]:void 0;if(!Kn)return null;if(Kn.provenance!=="literal")return Le(r)}let Z=A===null?1:3,ie=m[Z]==="--"?Z+1:Z,le=n.commandView?f[ie]:void 0;if(!le)return null;if(le.provenance==="literal")return aa(le.text,R,h,n,r,t);if(n.strict||!n.commandView||!Yu(n.commandView))return Le(r)}if(Me.has(y)){if(n.strict&&ld(Ro(m),f))return Le(r);let A=Hs(m,(ie)=>zn(n.analyzeNested(ie,{effectiveCwd:R,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),_t(Z)}if(ze(y)){if(n.strict&&ld(ss(m),f))return Le(r);let A=is(m);if(A){let Z=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:y,codeArg:A,paranoidBlocked:Z}),Z){let le=O(S("interpreter.one-liner-paranoid",nr),n.policy);if(le)return _t(le)}if(cs(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let ie=n.analyzeNested(A,{effectiveCwd:R,envAssignments:h});if(ie&&ie.ruleId!=="raw-text.dangerous-command"&&(ie.reason!==qt||cr(A)))return ie;if(rr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",Sn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Sn}),_t(le)}r=void 0}}if(y==="busybox"&&m.length>1)return GS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),$o(f.slice(1),t,{...p,effectiveCwd:R,envAssignments:h});let k=O(LS(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),_t(k);let z=r===p.trace?p:{...p,trace:r},M={words:f,head:y,cwd:E,originalCwd:w,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:R,options:z,analyzeChildTokens:(A,Z)=>zn($o(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=jS(y);if(y==="rm"||y==="xargs"||y==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let U=r&&y==="git"?Hv(M.words,ud(M)):void 0,ge=ZS(U?U.match:W?.(M)??null,n.policy);if(r)hz(M,ge,U?.relaxation??null);if(ge)return _t(ge);let Be=W!==void 0;if(!Be)if(!rs.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let ie=m[Z];if(!ie)continue;A?.push(ie);let le=ZS(yz(M,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(ie)}),_t(le)}r?.recordSegment({type:"fallback-scan",tokensScanned:A??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!Be){let A=pe(m,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!A,reason:A?.reason}),A)return _t(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function pz(e,t,n,r,o,i){let s=Xv(e);if(s.argvSource?.kind==="absent")return Le(o);if(s.argvSourceApplies&&s.argvSource){let c=aa(s.argvSource.value,n,t,r,o,i,!0);if(c)return c}if(!s.envSourceApplies||!s.envName)return null;let a=t.get(s.envName);if(!a)return null;return aa(a,n,t,r,o,i,!0)}function aa(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Le(o);let a=lo(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Le(o):null;return Xe(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function gz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function hz(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 GS(e){if(e.iterations>=er)throw new Oe;e.iterations++}function _t(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Le(e){return e?.recordSegment({type:"error",message:US}),_t(HS())}function HS(){return{id:"",reason:US,intent:"stop_and_explain"}}function VS(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function yz(e,t,n){let r=it(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=bz(e,n,o);if(i)return i}return null}function bz(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(VS(r,o)){Xe(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ke(c))return null;let l=yt(c);if(!l){if(vt(j(c)).kind==="dynamic")return HS();return sa(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?zn(u):sa(e,n)}let i=jS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Xe(e.options.derivedCommandWorkBudget,e.words.length-t);return sa(e,n)}Xe(e.options.derivedCommandWorkBudget,e.words.length-t);let s=[o,...n.tokens.slice(1)],a={...e,words:j(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!uo(n.envAssignments,e.options.environment),effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,options:o==="git"?{...e.options,worktreeMode:!1}:e.options};return i(a)??sa(e,n)}function sa(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function ZS(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var vz=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,Sz=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function _z(e,t){let n=YS(e,t);if(n.length===0)return!1;let r=n[qS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return vz.test(e.join(" "))}function KS(e,t,n,r){if(e.dialect==="powershell"){let a=xz(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return BS(Rz(a.target),t,n.paths)}let o=e.words.map(N);if(!_z(o,n))return;if(!t)return null;let i=YS(o,n,t),s=qS(i);if(s===-1||i[s]!=="cd")return null;return BS(i[s+1],t,n.paths)}function BS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Pz(Kt(t,e,n),t,n)?t:null}catch{return null}}function xz(e,t){let n=Cz(e[0])?1:0,r=e[n];if(!wz(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!Sz.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return Ez(e.slice(n+1),t)}function Cz(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function wz(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function Ez(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 Rz(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function qS(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 YS(e,t,n){let r=kz(e);return ir([...r],t,n)}function Pz(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return ia(e)===ia(t);return ia(r)===ia(o)}function kz(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var md="TMPDIR",fd="IFS",JS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,XS=/^[A-Za-z_][A-Za-z0-9_]*$/,QS=new Set(["export","typeset","declare","readonly"]),Az=new Set(["builtin","command","time"]);function e_(e,t){return{env:e,effectiveEnvAssignments:Nz(e,t),shellAssignments:new Map}}function t_(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function pd(e,t){let n=r_(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),gd(t,s)});let r=n.commandIndex;if(r!==-1&&QS.has(e[r]??""))e.filter((s)=>XS.test(s)&&dd(s)).forEach((s)=>{Dz(t,s)});let o=r===-1?-1:o_(e,r);if(o===-1||e[o]!=="unset")return;let i=Mz(e,o);if(i===null)return;e.slice(i).forEach((s)=>{$z(t,s)})}function n_(e,t){let n=r_(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 r_(e,t){let n=e.findIndex((s)=>!Tz(s)),r=n!==-1&&QS.has(e[o_(e,n)]??""),o=zz(t);return{assignments:e.flatMap((s,a)=>{let c=Iz(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Zl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function o_(e,t){let n=t;while(Az.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function Tz(e){return He(e)!==null||JS.test(e)}function Iz(e,t,n){return He(e)??Oz(e,t,n)}function Oz(e,t,n){let r=Hi(e,n,t);if(r)return r;let o=e.match(JS)?.[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 dd(e){return e===md||e===fd||Bl(e)}function zz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Nz(e,t){let n=[...Ui,md,fd].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 gd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function Dz(e,t){gd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function $z(e,t){if(!dd(t)&&!XS.test(t))return;if(e.shellAssignments.set(t,""),!dd(t)||t===md||t===fd||no(t)){gd(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 Mz(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 Lz="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",Nn="This heredoc form or stdin consumer is not supported safely. Use a quoted heredoc with a supported consumer (cat, tee, git apply, git commit, gh pr create, gh issue create), or ask the user to verify.",Wz=64;function Sd(e,t,n,r){let o=n.derivedCommandWorkBudget===void 0,i=n.parallelBudget===void 0;try{return Fz(e,t,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget??ts(),parallelBudget:n.parallelBudget??Jy()},r)}catch(s){let a=s instanceof Oe&&o?Zy:s instanceof ds&&i?Yy:void 0;if(!a)throw s;if(n.trace?.currentSegmentIndex!==void 0)n.trace.recordSegment({type:"error",message:a});else n.trace?.recordGlobal({type:"error",message:a});return{reason:a,segment:e,intent:"stop_and_explain"}}}function Fz(e,t,n,r){if(t>=ns)return n.trace?.recordSegment({type:"error",message:Nt}),{reason:Nt,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??tt(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:Nt}),{reason:Nt,segment:e,intent:"stop_and_explain"};if(o.status==="invalid"){let l=o.issues.find((u)=>u.code.includes("heredoc"));if(l){if(!n.strict)return vd(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 u_(e,n),{reason:qt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return u_(e,n),{reason:qt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return vd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=e_(n.environment.env,n.envAssignments);return ua(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function ua(e,t,n,r,o){let i=[...o],s,a;for(let[c,l]of e.nodes.entries()){if(l.kind==="connector"){a=l.operator;continue}let u=e.nodes[c+1],d=u?.kind==="connector"?u.operator:void 0,f=Gz(e,c,l,a,d),m=a==="&&"||a==="||",p=m?s:void 0,h=a==="&&"?p?.success??i:a==="||"?p?.failure??i:i,b=a==="||"?p?.success??[]:[],y=a==="&&"?p?.failure??[]:[],E=m||hr(d);if(l.kind==="function"){let k=h.flatMap((M)=>{let W=Mo(M);return W.functionDefinitions.set(l.name,l.body),hd(M,[W],f,d==="&",hr(d))}),z=yd(k,[],b,y,a,d);i=z.states,s=z.conditionalStates,a=void 0;continue}if(l.kind==="group"){let k=[],z=[];for(let W of h){let U=ua(l.body,t,n,r,[Mo(W)]);if(U.result)return U;if(k.push(...hd(W,U.states,f,d==="&",hr(d))),E)z.push(W,...f?U.states.map((ge)=>ca(W,ge)):U.states)}let M=yd(k,z,b,y,a,d);i=M.states,s=M.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let w=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),R=e.nodes[c-2],P=da(a)&&R?.kind==="command"?nS(R)??Bz(R):void 0,x=[],v=[];for(let k of h){let z=Uz(l,t,n,r,[Mo(k)]);if(z.result)return{result:z.result,states:i};let M=e.dialect==="powershell"?z.states:z.states.map((W)=>ca(k,W));for(let W of M){let U=Mo(W),ge=Vz(l,t,n.trace?{...n,trace:d_(n.trace,w)}:n,r,U,da(a),P);if(ge)return{result:ge,states:i};let Be=sN(l,U.functionDefinitions);if(Be)Xe(n.derivedCommandWorkBudget,ma(Be));let A=Be?t+1>=ns?bd(l.displayText,n,[U]):ua(Be,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(x.push(...hd(k,A.states,f,d==="&",hr(d))),E)v.push(k),v.push(...A.states.map((Z)=>f?ca(k,Z):Z))}}let T=yd(x,v,b,y,a,d);i=T.states,s=T.conditionalStates,a=void 0}return{result:null,states:i}}function Gz(e,t,n,r,o){if(n.kind==="group"&&n.style==="subshell")return!0;if(e.dialect==="posix"&&(da(r)||da(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Zz(e,t)}function hd(e,t,n,r,o){let i=n?t.map((a)=>ca(e,a)):[...t],s=o?i.flatMap((a)=>Lo(e.literalHeredocFiles,a.literalHeredocFiles)?[a]:[{...a,literalHeredocFiles:new Map(e.literalHeredocFiles)},a]):i;return r?[e,...s]:s}function ca(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function Zz(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(jz(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function da(e){return e==="|"||e==="|&"}function Bz(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 yd(e,t,n,r,o,i){let s={success:la([...n,...e]),failure:la([...r,...t])},a=hr(i)?s:void 0;return{states:hr(o)||a?la([...s.success,...s.failure]):s.success,conditionalStates:a}}function d_(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 Uz(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=Hz(e);if(s){if(t+1>=ns)return bd(s,n,o);let a=tt(s,"powershell");if(a.status==="limited")return bd(s,n,o);if(a.status!=="complete")return i_(i,n,r,o);Xe(n.derivedCommandWorkBudget,ma(a)),i.push({program:a,depth:t+1})}}return i_(i,n,r,o)}function jz(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function i_(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=ua(i.program,i.depth,t,n,[Mo(a)]);if(c.result)return c;s.push(...c.states)}o=la(s)}return{result:null,states:o}}function Hz(e){let t=e.words[0]?.provenance==="literal"&&!e.words[0].quoted&&e.words[0].raw===e.words[0].text&&(e.words[0].text==="&"||e.words[0].text==="."),n=t?1:0,r=e.words[n];if(r?.provenance!=="literal"||!t&&(r.quoted||r.raw!==r.text)||!["iex","invoke-expression"].includes(r.text.toLowerCase()))return;let o=e.words.slice(n+1),i=o[0]&&!o[0].quoted&&o[0].raw===o[0].text&&["-c","-command"].includes(o[0].text.toLowerCase())?1:0,s=o[i];return o.length===i+1&&s?.quoted&&s.provenance==="literal"?s.text:void 0}function ma(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+ma(o),0):n.kind==="group"||n.kind==="function"?ma(n.body):0),0)}function bd(e,t,n){return t.trace?.recordSegment({type:"error",message:Nt}),{result:{reason:Nt,segment:e,intent:"stop_and_explain"},states:[...n]}}function Vz(e,t,n,r,o,i,s){let a=eN(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};m_(e,o,"before-consumer",n.environment.paths);let c=Jn(e.dialect,e.words).map(N),l=e.displayText,u=n_(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(xv(e,i,cN(n,o.effectiveCwd)),n.policy);if(n.trace?.recordSegment({type:"rule-check",rule:"analyzer/powershell/remove-item.ts:analyzePowerShellCommandViewMatch",matched:!!m,reason:m?.reason}),m)return aN(l,m)}if(c.length===1&&c[0]?.includes(" ")&&!go(e.dialect,e.words)){let m=O(Mt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&Wy(e,n.rootProgram,n.scanWork);if(m&&!p)return n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!0,reason:m.reason}),{reason:m.reason,segment:l,ruleId:m.id,intent:m.intent};n.trace?.recordSegment({type:"dangerous-text",token:c[0],matched:!1});let h=s_(e,a,o,u,s,n);if(h)return h;return pd(c,o.shellGitContextState),null}let d=$o(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(m,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,b=Sd(m,t+1,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget,effectiveCwd:h,envAssignments:p?.envAssignments??u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:p?.functionDefinitions,worktreeMode:p?.worktreeMode??n.worktreeMode,trace:n.trace?d_(n.trace,n.trace.currentSegmentIndex,!0):void 0});return b?{reason:b.reason,ruleId:b.ruleId,intent:b.intent}:null}});if(d)return{...d,segment:l};let f=s_(e,a,o,u,s,n);if(f)return f;return pd(c,o.shellGitContextState),null}function s_(e,t,n,r,o,i){let s=tN(e,t,n,r??new Map,i);if(s)return s;return m_(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),Yz(e,t,n,i.environment.paths),oN(e,n,o,i.environment,i.trace),null}var Kz=new Set([">>","<>"]);function m_(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?qz(i):Kz.has(i.operator)))continue;a_(i.target,t,r)}if(n!=="before-consumer"||!We(e.words[0],"tee"))return;let o=f_(e.words.slice(1));if(!o)return;for(let i of o.operands)a_(i,t,r)}function qz(e){if(e.operator===">"||e.operator===">|")return!0;return e.operator===">&"&&e.fd===void 0&&e.target?.provenance==="literal"&&!/^(?:[0-9]+|-)$/.test(e.target.text)}function a_(e,t,n){let r=e?.provenance==="literal"?lo(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function Yz(e,t,n,r){if(t)return;let o=e.redirections.find((i)=>i.operator==="<<"||i.operator==="<<-")?.heredoc;if(!o||!fa(o))return;for(let i of Jz(e)){let s=lo(i.text,n.effectiveCwd,r);if(!s||!jy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Uy)throw new Oe;n.literalHeredocFiles.set(s,o.body)}}function Jz(e){let t=Qz(e.redirections)?.target,n=c_(t)?[t]:[];if(We(e.words[0],"cat"))return Xz(e.words)?n:[];if(!We(e.words[0],"tee"))return[];let r=f_(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(c_))return[];return[...r.operands,...n]}function Xz(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 Qz(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function f_(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&We(i,"--")){n=!1;continue}if(n&&!i.quoted&&i.raw===i.text&&/^-[^-]/.test(i.text)){r||=i.text.slice(1).includes("a"),o||=[...i.text.slice(1)].some((s)=>s!=="a"&&s!=="i");continue}if(n&&!i.quoted&&i.raw===i.text&&i.text.startsWith("--")){r||=i.text==="--append",o||=i.text!=="--append"&&i.text!=="--ignore-interrupts";continue}t.push(i)}return{operands:t,append:r,hasUnsupportedOptions:o}}function c_(e){if(!e||e.provenance!=="literal"||e.text.length===0)return!1;if(e.quoted||e.raw!==e.text)return!0;return!e.raw.startsWith("~")&&!/[{}]/.test(e.raw)}function We(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function fa(e){return e.quotedDelimiter||!/[$`\\]/.test(e.body)}function eN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return Nn;let n=t[0];if(!n?.heredoc)return Nn;if(!fa(n.heredoc))return Lz;if(n.fd!==void 0&&n.fd!==0)return Nn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return Nn;let r=e.redirections.some((s)=>s!==n&&l_(s.target));if(We(e.words[0],"cat"))return r?Nn:void 0;if(We(e.words[0],"tee"))return r||e.words.slice(1).some(l_)?Nn:void 0;let o=e.words[0],i=e.words[1];if(We(o,"git")&&(We(i,"apply")||We(i,"commit")))return;if(We(o,"gh")&&(We(i,"pr")||We(i,"issue"))&&We(e.words[2],"create"))return;return Nn}function l_(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function tN(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(rN(e,i,n,r,o))return null;let a=nN(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=vd(s.length===i.length?s.join(`
60
- `):e.source,o);return c?{...c,segment:e.displayText}:null}function nN(e,t,n){let r=t.length===1?t[0]:void 0;if(!r?.heredoc||!fa(r.heredoc)||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!ze(o.text))return;if(!e.words.slice(1).every((l)=>l.provenance==="literal"&&l.text.startsWith("-")))return;let s=r.heredoc.body,a=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(n.trace?.recordSegment({type:"interpreter",interpreter:o.text,codeArg:s,paranoidBlocked:a}),a){let l=O(S("interpreter.one-liner-paranoid",nr),n.policy);if(l)return l}if(!rr(s,n.scanWork))return null;let c=O(S("interpreter.dangerous-command",Sn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function rN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc||!fa(i.heredoc)||i.fd!==void 0&&i.fd!==0)return!1;let s=_n(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(N),c=H(a[0]??"");if((s.envSplitValues?.length??0)>0||!de.has(c)&&!de.has(G(c)))return!1;return Ke(a)}function oN(e,t,n,r,o){let i=KS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(N).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function Mo(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:t_(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function la(e){let t=[];for(let n of e){if(!t.some((r)=>iN(r,n)))t.push(n);if(t.length>Wz)throw new Oe}return t}function iN(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 sN(e,t){let n=Ts(e);return n===void 0?void 0:t.get(n)}function aN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function cN(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 vd(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 u_(e,t){let n={type:"strict-unparseable",rawCommand:e,reason:qt};if(t.trace?.currentSegmentIndex===void 0)t.trace?.recordGlobal(n);else t.trace.recordSegment(n)}var me={level:{name:"CC_SAFETY_NET_LEVEL"},strict:{name:"CC_SAFETY_NET_STRICT",legacyName:"SAFETY_NET_STRICT"},paranoid:{name:"CC_SAFETY_NET_PARANOID",legacyName:"SAFETY_NET_PARANOID"},paranoidRm:{name:"CC_SAFETY_NET_PARANOID_RM",legacyName:"SAFETY_NET_PARANOID_RM"},paranoidInterpreters:{name:"CC_SAFETY_NET_PARANOID_INTERPRETERS",legacyName:"SAFETY_NET_PARANOID_INTERPRETERS"},worktree:{name:"CC_SAFETY_NET_WORKTREE",legacyName:"SAFETY_NET_WORKTREE"},debug:{name:"CC_SAFETY_NET_DEBUG"},auditScope:{name:"CC_SAFETY_NET_AUDIT_SCOPE"}},pa=["standard","strict","paranoid"];function lN(e){return{failClosed:e==="strict"||e==="paranoid",paranoidRm:e==="paranoid",paranoidInterpreters:e==="paranoid"}}function uN(e,t){if(!t)return e;return pa.indexOf(t)>pa.indexOf(e)?t:e}function dN(){let e=Ed(me.level);if(e===void 0||e==="")return;if(pa.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${pa.join(", ")}.`);return}function mN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function xd(){return mN(Ed(me.auditScope))==="all"}function Cd(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=dN(),r=uN(t,n),o=lN(r),i={failClosed:r===t?"preset":"environment",paranoidRm:r===t?"preset":"environment",paranoidInterpreters:r===t?"preset":"environment"},s={failClosed:[`policy safety.level=${t}`],paranoidRm:[`policy safety.level=${t}`],paranoidInterpreters:[`policy safety.level=${t}`]};if(r!==t)s.failClosed.push(`env ${me.level.name}=${n}`),s.paranoidRm.push(`env ${me.level.name}=${n}`),s.paranoidInterpreters.push(`env ${me.level.name}=${n}`);if(e.safety?.overrides?.failClosed!==void 0)o.failClosed=e.safety.overrides.failClosed,i.failClosed="capability_override",s.failClosed.push("policy safety.overrides.fail_closed");if(e.safety?.overrides?.paranoidRm!==void 0)o.paranoidRm=e.safety.overrides.paranoidRm,i.paranoidRm="capability_override",s.paranoidRm.push("policy safety.overrides.paranoid_rm");if(e.safety?.overrides?.paranoidInterpreters!==void 0)o.paranoidInterpreters=e.safety.overrides.paranoidInterpreters,i.paranoidInterpreters="capability_override",s.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(rn(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(rn(me.paranoid))o.paranoidRm=!0,o.paranoidInterpreters=!0,i.paranoidRm="environment",i.paranoidInterpreters="environment",s.paranoidRm.push(`env ${me.paranoid.name}`),s.paranoidInterpreters.push(`env ${me.paranoid.name}`);if(rn(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(rn(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||rn(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:Cd(o),capabilities:{fail_closed:{enabled:o.failClosed,source:i.failClosed,sources:s.failClosed},paranoid_rm:{enabled:o.paranoidRm,source:i.paranoidRm,sources:s.paranoidRm},paranoid_interpreters:{enabled:o.paranoidInterpreters,source:i.paranoidInterpreters,sources:s.paranoidInterpreters}}}}function rn(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 p_(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:Rd(t.fail_closed,e.strict,"strict"),paranoid_rm:Rd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:Rd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:My(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:Cd({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function Rd(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 g_(e,t,n,r){let o=Sd(e,0,{...t,...p_(t),factStore:r},n);if(!o)return null;return{kind:"deny",reason:o.reason,intent:o.intent??"manual_only",...o.ruleId?{ruleId:o.ruleId}:{},evidence:[{kind:"command",command:e,segment:o.segment}]}}import{basename as O$,dirname as Sh}from"node:path";function ga(e,t,n,r,o){if(n.kind!=="command")return{toolName:e,input:t,route:n,context:r};return{toolName:e,input:t,route:n,context:r,command:o}}import{chmodSync as GU,existsSync as v$,mkdirSync as ZU,readFileSync as S$}from"node:fs";import{dirname as _$,join as x$}from"node:path";import{createRequire as s$}from"node:module";var uh={};mn(uh,{$brand:()=>ya,$input:()=>Ka,$output:()=>Va,NEVER:()=>ha,TimePrecision:()=>gc,ZodAny:()=>wg,ZodArray:()=>kg,ZodBase64:()=>Xc,ZodBase64URL:()=>Qc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>nl,ZodBoolean:()=>Kr,ZodCIDRv4:()=>Yc,ZodCIDRv6:()=>Jc,ZodCUID:()=>Bc,ZodCUID2:()=>Uc,ZodCatch:()=>Yg,ZodCodec:()=>ul,ZodCustom:()=>vi,ZodCustomStringFormat:()=>Hr,ZodDate:()=>pi,ZodDefault:()=>Ug,ZodDiscriminatedUnion:()=>Tg,ZodE164:()=>el,ZodEmail:()=>Fc,ZodEmoji:()=>Gc,ZodEnum:()=>Ur,ZodError:()=>q_,ZodExactOptional:()=>Gg,ZodFile:()=>Wg,ZodFirstPartyTypeKind:()=>dl,ZodFunction:()=>ih,ZodGUID:()=>li,ZodIPv4:()=>Kc,ZodIPv6:()=>qc,ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,ZodIntersection:()=>Ig,ZodIssueCode:()=>uC,ZodJWT:()=>tl,ZodKSUID:()=>Vc,ZodLazy:()=>nh,ZodLiteral:()=>Lg,ZodMAC:()=>yg,ZodMap:()=>$g,ZodNaN:()=>Xg,ZodNanoID:()=>Zc,ZodNever:()=>Rg,ZodNonOptional:()=>cl,ZodNull:()=>xg,ZodNullable:()=>Bg,ZodNumber:()=>Vr,ZodNumberFormat:()=>Bn,ZodObject:()=>hi,ZodOptional:()=>al,ZodPipe:()=>ll,ZodPrefault:()=>Hg,ZodPromise:()=>oh,ZodReadonly:()=>Qg,ZodRealError:()=>xe,ZodRecord:()=>bi,ZodSet:()=>Mg,ZodString:()=>jr,ZodStringFormat:()=>q,ZodSuccess:()=>qg,ZodSymbol:()=>Sg,ZodTemplateLiteral:()=>th,ZodTransform:()=>Fg,ZodTuple:()=>zg,ZodType:()=>L,ZodULID:()=>jc,ZodURL:()=>fi,ZodUUID:()=>Pt,ZodUndefined:()=>_g,ZodUnion:()=>yi,ZodUnknown:()=>Eg,ZodVoid:()=>Pg,ZodXID:()=>Hc,ZodXor:()=>Ag,_ZodString:()=>Wc,_default:()=>jg,_function:()=>tC,any:()=>zx,array:()=>gi,base64:()=>hx,base64url:()=>yx,bigint:()=>kx,boolean:()=>vg,catch:()=>Jg,check:()=>nC,cidrv4:()=>px,cidrv6:()=>gx,clone:()=>he,codec:()=>Xx,coerce:()=>ml,config:()=>se,core:()=>Rt,cuid:()=>sx,cuid2:()=>ax,custom:()=>rC,date:()=>Dx,decode:()=>Tc,decodeAsync:()=>Oc,default:()=>t$,describe:()=>oC,discriminatedUnion:()=>Gx,e164:()=>bx,email:()=>Y_,emoji:()=>ox,encode:()=>Ac,encodeAsync:()=>Ic,endsWith:()=>Or,enum:()=>il,exactOptional:()=>Zg,file:()=>Kx,flattenError:()=>Sr,float32:()=>wx,float64:()=>Ex,formatError:()=>_r,fromJSONSchema:()=>lh,function:()=>tC,getErrorMap:()=>mC,globalRegistry:()=>Ae,gt:()=>wt,gte:()=>_e,guid:()=>J_,hash:()=>Cx,hex:()=>xx,hostname:()=>_x,httpUrl:()=>rx,includes:()=>Tr,instanceof:()=>sC,int:()=>Lc,int32:()=>Rx,int64:()=>Ax,intersection:()=>Og,ipv4:()=>dx,ipv6:()=>fx,iso:()=>ci,json:()=>cC,jwt:()=>vx,keyof:()=>$x,ksuid:()=>ux,lazy:()=>rh,length:()=>Gn,literal:()=>Vx,locales:()=>Qo,looseObject:()=>Wx,looseRecord:()=>Bx,lowercase:()=>kr,lt:()=>Ct,lte:()=>Ze,mac:()=>mx,map:()=>Ux,maxLength:()=>Fn,maxSize:()=>un,meta:()=>iC,mime:()=>zr,minLength:()=>Zt,minSize:()=>Et,multipleOf:()=>ln,nan:()=>Jx,nanoid:()=>ix,nativeEnum:()=>Hx,negative:()=>yc,never:()=>rl,nonnegative:()=>vc,nonoptional:()=>Kg,nonpositive:()=>bc,normalize:()=>Nr,null:()=>Cg,nullable:()=>di,nullish:()=>qx,number:()=>bg,object:()=>Mx,optional:()=>ui,overwrite:()=>ct,parse:()=>Ec,parseAsync:()=>Rc,partialRecord:()=>Zx,pipe:()=>mi,positive:()=>hc,prefault:()=>Vg,preprocess:()=>lC,prettifyError:()=>Ca,promise:()=>eC,property:()=>Sc,readonly:()=>eh,record:()=>Dg,refine:()=>sh,regex:()=>Pr,regexes:()=>Ge,registry:()=>ei,safeDecode:()=>Nc,safeDecodeAsync:()=>$c,safeEncode:()=>zc,safeEncodeAsync:()=>Dc,safeParse:()=>Pc,safeParseAsync:()=>kc,set:()=>jx,setErrorMap:()=>dC,size:()=>Wn,slugify:()=>Lr,startsWith:()=>Ir,strictObject:()=>Lx,string:()=>Mc,stringFormat:()=>Sx,stringbool:()=>aC,success:()=>Yx,superRefine:()=>ah,symbol:()=>Ix,templateLiteral:()=>Qx,toJSONSchema:()=>ri,toLowerCase:()=>$r,toUpperCase:()=>Mr,transform:()=>sl,treeifyError:()=>xa,trim:()=>Dr,tuple:()=>Ng,uint32:()=>Px,uint64:()=>Tx,ulid:()=>cx,undefined:()=>Ox,union:()=>ol,unknown:()=>Zn,uppercase:()=>Ar,url:()=>nx,util:()=>I,uuid:()=>X_,uuidv4:()=>Q_,uuidv6:()=>ex,uuidv7:()=>tx,void:()=>Nx,xid:()=>lx,xor:()=>Fx,z:()=>fl});var fl={};mn(fl,{$brand:()=>ya,$input:()=>Ka,$output:()=>Va,NEVER:()=>ha,TimePrecision:()=>gc,ZodAny:()=>wg,ZodArray:()=>kg,ZodBase64:()=>Xc,ZodBase64URL:()=>Qc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>nl,ZodBoolean:()=>Kr,ZodCIDRv4:()=>Yc,ZodCIDRv6:()=>Jc,ZodCUID:()=>Bc,ZodCUID2:()=>Uc,ZodCatch:()=>Yg,ZodCodec:()=>ul,ZodCustom:()=>vi,ZodCustomStringFormat:()=>Hr,ZodDate:()=>pi,ZodDefault:()=>Ug,ZodDiscriminatedUnion:()=>Tg,ZodE164:()=>el,ZodEmail:()=>Fc,ZodEmoji:()=>Gc,ZodEnum:()=>Ur,ZodError:()=>q_,ZodExactOptional:()=>Gg,ZodFile:()=>Wg,ZodFirstPartyTypeKind:()=>dl,ZodFunction:()=>ih,ZodGUID:()=>li,ZodIPv4:()=>Kc,ZodIPv6:()=>qc,ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,ZodIntersection:()=>Ig,ZodIssueCode:()=>uC,ZodJWT:()=>tl,ZodKSUID:()=>Vc,ZodLazy:()=>nh,ZodLiteral:()=>Lg,ZodMAC:()=>yg,ZodMap:()=>$g,ZodNaN:()=>Xg,ZodNanoID:()=>Zc,ZodNever:()=>Rg,ZodNonOptional:()=>cl,ZodNull:()=>xg,ZodNullable:()=>Bg,ZodNumber:()=>Vr,ZodNumberFormat:()=>Bn,ZodObject:()=>hi,ZodOptional:()=>al,ZodPipe:()=>ll,ZodPrefault:()=>Hg,ZodPromise:()=>oh,ZodReadonly:()=>Qg,ZodRealError:()=>xe,ZodRecord:()=>bi,ZodSet:()=>Mg,ZodString:()=>jr,ZodStringFormat:()=>q,ZodSuccess:()=>qg,ZodSymbol:()=>Sg,ZodTemplateLiteral:()=>th,ZodTransform:()=>Fg,ZodTuple:()=>zg,ZodType:()=>L,ZodULID:()=>jc,ZodURL:()=>fi,ZodUUID:()=>Pt,ZodUndefined:()=>_g,ZodUnion:()=>yi,ZodUnknown:()=>Eg,ZodVoid:()=>Pg,ZodXID:()=>Hc,ZodXor:()=>Ag,_ZodString:()=>Wc,_default:()=>jg,_function:()=>tC,any:()=>zx,array:()=>gi,base64:()=>hx,base64url:()=>yx,bigint:()=>kx,boolean:()=>vg,catch:()=>Jg,check:()=>nC,cidrv4:()=>px,cidrv6:()=>gx,clone:()=>he,codec:()=>Xx,coerce:()=>ml,config:()=>se,core:()=>Rt,cuid:()=>sx,cuid2:()=>ax,custom:()=>rC,date:()=>Dx,decode:()=>Tc,decodeAsync:()=>Oc,describe:()=>oC,discriminatedUnion:()=>Gx,e164:()=>bx,email:()=>Y_,emoji:()=>ox,encode:()=>Ac,encodeAsync:()=>Ic,endsWith:()=>Or,enum:()=>il,exactOptional:()=>Zg,file:()=>Kx,flattenError:()=>Sr,float32:()=>wx,float64:()=>Ex,formatError:()=>_r,fromJSONSchema:()=>lh,function:()=>tC,getErrorMap:()=>mC,globalRegistry:()=>Ae,gt:()=>wt,gte:()=>_e,guid:()=>J_,hash:()=>Cx,hex:()=>xx,hostname:()=>_x,httpUrl:()=>rx,includes:()=>Tr,instanceof:()=>sC,int:()=>Lc,int32:()=>Rx,int64:()=>Ax,intersection:()=>Og,ipv4:()=>dx,ipv6:()=>fx,iso:()=>ci,json:()=>cC,jwt:()=>vx,keyof:()=>$x,ksuid:()=>ux,lazy:()=>rh,length:()=>Gn,literal:()=>Vx,locales:()=>Qo,looseObject:()=>Wx,looseRecord:()=>Bx,lowercase:()=>kr,lt:()=>Ct,lte:()=>Ze,mac:()=>mx,map:()=>Ux,maxLength:()=>Fn,maxSize:()=>un,meta:()=>iC,mime:()=>zr,minLength:()=>Zt,minSize:()=>Et,multipleOf:()=>ln,nan:()=>Jx,nanoid:()=>ix,nativeEnum:()=>Hx,negative:()=>yc,never:()=>rl,nonnegative:()=>vc,nonoptional:()=>Kg,nonpositive:()=>bc,normalize:()=>Nr,null:()=>Cg,nullable:()=>di,nullish:()=>qx,number:()=>bg,object:()=>Mx,optional:()=>ui,overwrite:()=>ct,parse:()=>Ec,parseAsync:()=>Rc,partialRecord:()=>Zx,pipe:()=>mi,positive:()=>hc,prefault:()=>Vg,preprocess:()=>lC,prettifyError:()=>Ca,promise:()=>eC,property:()=>Sc,readonly:()=>eh,record:()=>Dg,refine:()=>sh,regex:()=>Pr,regexes:()=>Ge,registry:()=>ei,safeDecode:()=>Nc,safeDecodeAsync:()=>$c,safeEncode:()=>zc,safeEncodeAsync:()=>Dc,safeParse:()=>Pc,safeParseAsync:()=>kc,set:()=>jx,setErrorMap:()=>dC,size:()=>Wn,slugify:()=>Lr,startsWith:()=>Ir,strictObject:()=>Lx,string:()=>Mc,stringFormat:()=>Sx,stringbool:()=>aC,success:()=>Yx,superRefine:()=>ah,symbol:()=>Ix,templateLiteral:()=>Qx,toJSONSchema:()=>ri,toLowerCase:()=>$r,toUpperCase:()=>Mr,transform:()=>sl,treeifyError:()=>xa,trim:()=>Dr,tuple:()=>Ng,uint32:()=>Px,uint64:()=>Tx,ulid:()=>cx,undefined:()=>Ox,union:()=>ol,unknown:()=>Zn,uppercase:()=>Ar,url:()=>nx,util:()=>I,uuid:()=>X_,uuidv4:()=>Q_,uuidv6:()=>ex,uuidv7:()=>tx,void:()=>Nx,xid:()=>lx,xor:()=>Fx});var Rt={};mn(Rt,{$ZodAny:()=>df,$ZodArray:()=>hf,$ZodAsyncError:()=>xt,$ZodBase64:()=>ef,$ZodBase64URL:()=>tf,$ZodBigInt:()=>Ua,$ZodBigIntFormat:()=>af,$ZodBoolean:()=>Yo,$ZodCIDRv4:()=>Jm,$ZodCIDRv6:()=>Xm,$ZodCUID:()=>Wm,$ZodCUID2:()=>Fm,$ZodCatch:()=>Nf,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>gm,$ZodCheckEndsWith:()=>Pm,$ZodCheckGreaterThan:()=>$a,$ZodCheckIncludes:()=>Em,$ZodCheckLengthEquals:()=>_m,$ZodCheckLessThan:()=>Da,$ZodCheckLowerCase:()=>Cm,$ZodCheckMaxLength:()=>vm,$ZodCheckMaxSize:()=>hm,$ZodCheckMimeType:()=>Am,$ZodCheckMinLength:()=>Sm,$ZodCheckMinSize:()=>ym,$ZodCheckMultipleOf:()=>fm,$ZodCheckNumberFormat:()=>pm,$ZodCheckOverwrite:()=>Tm,$ZodCheckProperty:()=>km,$ZodCheckRegex:()=>xm,$ZodCheckSizeEquals:()=>bm,$ZodCheckStartsWith:()=>Rm,$ZodCheckStringFormat:()=>Rr,$ZodCheckUpperCase:()=>wm,$ZodCodec:()=>Xo,$ZodCustom:()=>Zf,$ZodCustomStringFormat:()=>of,$ZodDate:()=>gf,$ZodDefault:()=>Tf,$ZodDiscriminatedUnion:()=>vf,$ZodE164:()=>nf,$ZodEmail:()=>Dm,$ZodEmoji:()=>Mm,$ZodEncodeError:()=>Dn,$ZodEnum:()=>wf,$ZodError:()=>Ho,$ZodExactOptional:()=>kf,$ZodFile:()=>Rf,$ZodFunction:()=>Wf,$ZodGUID:()=>zm,$ZodIPv4:()=>Km,$ZodIPv6:()=>qm,$ZodISODate:()=>jm,$ZodISODateTime:()=>Um,$ZodISODuration:()=>Vm,$ZodISOTime:()=>Hm,$ZodIntersection:()=>Sf,$ZodJWT:()=>rf,$ZodKSUID:()=>Bm,$ZodLazy:()=>Gf,$ZodLiteral:()=>Ef,$ZodMAC:()=>Ym,$ZodMap:()=>xf,$ZodNaN:()=>Df,$ZodNanoID:()=>Lm,$ZodNever:()=>ff,$ZodNonOptional:()=>Of,$ZodNull:()=>uf,$ZodNullable:()=>Af,$ZodNumber:()=>Ba,$ZodNumberFormat:()=>sf,$ZodObject:()=>B_,$ZodObjectJIT:()=>yf,$ZodOptional:()=>Ha,$ZodPipe:()=>$f,$ZodPrefault:()=>If,$ZodPromise:()=>Ff,$ZodReadonly:()=>Mf,$ZodRealError:()=>ke,$ZodRecord:()=>_f,$ZodRegistry:()=>Bf,$ZodSet:()=>Cf,$ZodString:()=>Ln,$ZodStringFormat:()=>K,$ZodSuccess:()=>zf,$ZodSymbol:()=>cf,$ZodTemplateLiteral:()=>Lf,$ZodTransform:()=>Pf,$ZodTuple:()=>ja,$ZodType:()=>D,$ZodULID:()=>Gm,$ZodURL:()=>$m,$ZodUUID:()=>Nm,$ZodUndefined:()=>lf,$ZodUnion:()=>Jo,$ZodUnknown:()=>mf,$ZodVoid:()=>pf,$ZodXID:()=>Zm,$ZodXor:()=>bf,$brand:()=>ya,$constructor:()=>g,$input:()=>Ka,$output:()=>Va,Doc:()=>Ma,JSONSchema:()=>H_,JSONSchemaGenerator:()=>mg,NEVER:()=>ha,TimePrecision:()=>gc,_any:()=>fp,_array:()=>Sp,_base64:()=>dc,_base64url:()=>mc,_bigint:()=>sp,_boolean:()=>op,_catch:()=>WD,_check:()=>j_,_cidrv4:()=>lc,_cidrv6:()=>uc,_coercedBigint:()=>ap,_coercedBoolean:()=>ip,_coercedDate:()=>bp,_coercedNumber:()=>Xf,_coercedString:()=>jf,_cuid:()=>nc,_cuid2:()=>rc,_custom:()=>xp,_date:()=>yp,_decode:()=>Pa,_decodeAsync:()=>Aa,_default:()=>$D,_discriminatedUnion:()=>wD,_e164:()=>fc,_email:()=>qa,_emoji:()=>ec,_encode:()=>Ra,_encodeAsync:()=>ka,_endsWith:()=>Or,_enum:()=>TD,_file:()=>_p,_float32:()=>ep,_float64:()=>tp,_gt:()=>wt,_gte:()=>_e,_guid:()=>ti,_includes:()=>Tr,_int:()=>Qf,_int32:()=>np,_int64:()=>cp,_intersection:()=>ED,_ipv4:()=>ac,_ipv6:()=>cc,_isoDate:()=>Kf,_isoDateTime:()=>Vf,_isoDuration:()=>Yf,_isoTime:()=>qf,_jwt:()=>pc,_ksuid:()=>sc,_lazy:()=>BD,_length:()=>Gn,_literal:()=>OD,_lowercase:()=>kr,_lt:()=>Ct,_lte:()=>Ze,_mac:()=>Hf,_map:()=>kD,_max:()=>Ze,_maxLength:()=>Fn,_maxSize:()=>un,_mime:()=>zr,_min:()=>_e,_minLength:()=>Zt,_minSize:()=>Et,_multipleOf:()=>ln,_nan:()=>vp,_nanoid:()=>tc,_nativeEnum:()=>ID,_negative:()=>yc,_never:()=>gp,_nonnegative:()=>vc,_nonoptional:()=>MD,_nonpositive:()=>bc,_normalize:()=>Nr,_null:()=>mp,_nullable:()=>DD,_number:()=>Jf,_optional:()=>ND,_overwrite:()=>ct,_parse:()=>xr,_parseAsync:()=>Cr,_pipe:()=>FD,_positive:()=>hc,_promise:()=>UD,_property:()=>Sc,_readonly:()=>GD,_record:()=>PD,_refine:()=>Cp,_regex:()=>Pr,_safeDecode:()=>Ia,_safeDecodeAsync:()=>za,_safeEncode:()=>Ta,_safeEncodeAsync:()=>Oa,_safeParse:()=>wr,_safeParseAsync:()=>Er,_set:()=>AD,_size:()=>Wn,_slugify:()=>Lr,_startsWith:()=>Ir,_string:()=>Uf,_stringFormat:()=>Wr,_stringbool:()=>Pp,_success:()=>LD,_superRefine:()=>wp,_symbol:()=>up,_templateLiteral:()=>ZD,_toLowerCase:()=>$r,_toUpperCase:()=>Mr,_transform:()=>zD,_trim:()=>Dr,_tuple:()=>RD,_uint32:()=>rp,_uint64:()=>lp,_ulid:()=>oc,_undefined:()=>dp,_union:()=>xD,_unknown:()=>pp,_uppercase:()=>Ar,_url:()=>ni,_uuid:()=>Ya,_uuidv4:()=>Ja,_uuidv6:()=>Xa,_uuidv7:()=>Qa,_void:()=>hp,_xid:()=>ic,_xor:()=>CD,clone:()=>he,config:()=>se,createStandardJSONSchemaMethod:()=>_c,createToJSONSchemaMethod:()=>kp,decode:()=>FN,decodeAsync:()=>ZN,describe:()=>Ep,encode:()=>WN,encodeAsync:()=>GN,extractDefs:()=>Zr,finalize:()=>Br,flattenError:()=>Sr,formatError:()=>_r,globalConfig:()=>Wo,globalRegistry:()=>Ae,initializeContext:()=>Gr,isValidBase64:()=>Qm,isValidBase64URL:()=>W_,isValidJWT:()=>F_,locales:()=>Qo,meta:()=>Rp,parse:()=>wa,parseAsync:()=>Ea,prettifyError:()=>Ca,process:()=>X,regexes:()=>Ge,registry:()=>ei,safeDecode:()=>UN,safeDecodeAsync:()=>HN,safeEncode:()=>BN,safeEncodeAsync:()=>jN,safeParse:()=>Md,safeParseAsync:()=>Ld,toDotPath:()=>__,toJSONSchema:()=>ri,treeifyError:()=>xa,util:()=>I,version:()=>Im});var ha=Object.freeze({status:"aborted"});function g(e,t,n){function r(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let f=u[d];if(!(f in a))a[f]=l[f].bind(a)}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=n?.Parent?new i:this;r(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(n?.Parent&&a instanceof n.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}var ya=Symbol("zod_brand");class xt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Dn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Wo={};function se(e){if(e)Object.assign(Wo,e);return Wo}var I={};mn(I,{BIGINT_FORMAT_RANGES:()=>Dd,Class:()=>v_,NUMBER_FORMAT_RANGES:()=>Nd,aborted:()=>cn,allowsEval:()=>Td,assert:()=>yN,assertEqual:()=>fN,assertIs:()=>gN,assertNever:()=>hN,assertNotEqual:()=>pN,assignProp:()=>sn,base64ToUint8Array:()=>y_,base64urlToUint8Array:()=>NN,cached:()=>br,captureStackTrace:()=>Sa,cleanEnum:()=>zN,cleanRegex:()=>Zo,clone:()=>he,cloneDef:()=>vN,createTransparentProxy:()=>EN,defineLazy:()=>F,esc:()=>va,escapeRegex:()=>Ye,extend:()=>kN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>kd,getElementAtPath:()=>SN,getEnumValues:()=>Go,getLengthableOrigin:()=>jo,getParsedType:()=>wN,getSizableOrigin:()=>Uo,hexToUint8Array:()=>$N,isObject:()=>$n,isPlainObject:()=>an,issue:()=>vr,joinValues:()=>ba,jsonStringifyReplacer:()=>yr,merge:()=>TN,mergeDefs:()=>Gt,normalizeParams:()=>_,nullish:()=>on,numKeys:()=>CN,objectClone:()=>bN,omit:()=>PN,optionalKeys:()=>zd,parsedType:()=>$d,partial:()=>IN,pick:()=>RN,prefixIssues:()=>Fe,primitiveTypes:()=>Od,promiseAllObject:()=>_N,propertyKeyTypes:()=>Bo,randomString:()=>xN,required:()=>ON,safeExtend:()=>AN,shallowClone:()=>Id,slugify:()=>Ad,stringifyPrimitive:()=>_a,uint8ArrayToBase64:()=>b_,uint8ArrayToBase64url:()=>DN,uint8ArrayToHex:()=>MN,unwrapMessage:()=>Fo});function fN(e){return e}function pN(e){return e}function gN(e){}function hN(e){throw Error("Unexpected value in exhaustive check")}function yN(e){}function Go(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 ba(e,t="|"){return e.map((n)=>_a(n)).join(t)}function yr(e,t){if(typeof t==="bigint")return t.toString();return t}function br(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function on(e){return e===null||e===void 0}function Zo(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 h_=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===h_)return;if(r===void 0)r=h_,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function bN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function sn(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Gt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function vN(e){return Gt(e._zod.def)}function SN(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function _N(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 xN(e=10){let n="";for(let r=0;r<e;r++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function va(e){return JSON.stringify(e)}function Ad(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Sa="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function $n(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Td=br(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function an(e){if($n(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if($n(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Id(e){if(an(e))return{...e};if(Array.isArray(e))return[...e];return e}function CN(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var wN=(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}`)}},Bo=new Set(["string","number","symbol"]),Od=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function he(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function _(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 EN(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 _a(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function zd(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Nd={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]},Dd={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function RN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=Gt(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=n.shape[a]}return sn(this,"shape",s),s},checks:[]});return he(e,i)}function PN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=Gt(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return sn(this,"shape",s),s},checks:[]});return he(e,i)}function kN(e,t){if(!an(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Gt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return sn(this,"shape",i),i}});return he(e,o)}function AN(e,t){if(!an(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Gt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return sn(this,"shape",r),r}});return he(e,n)}function TN(e,t){let n=Gt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return sn(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,n)}function IN(e,t,n){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Gt(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!n[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return sn(this,"shape",c),c},checks:[]});return he(t,s)}function ON(e,t,n){let r=Gt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(n)for(let s in n){if(!(s in i))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;i[s]=new e({type:"nonoptional",innerType:o[s]})}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return sn(this,"shape",i),i}});return he(t,r)}function cn(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Fe(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function Fo(e){return typeof e==="string"?e:e?.message}function Pe(e,t,n){let r={...e,path:e.path??[]};if(!e.message){let o=Fo(e.inst?._zod.def?.error?.(e))??Fo(t?.error?.(e))??Fo(n.customError?.(e))??Fo(n.localeError?.(e))??"Invalid input";r.message=o}if(delete r.inst,delete r.continue,!t?.reportInput)delete r.input;return r}function Uo(e){if(e instanceof Set)return"set";if(e instanceof Map)return"map";if(e instanceof File)return"file";return"unknown"}function jo(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 vr(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}function zN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function y_(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 b_(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function NN(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return y_(t+n)}function DN(e){return b_(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $N(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 MN(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class v_{constructor(...e){}}var S_=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,yr,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ho=g("$ZodError",S_),ke=g("$ZodError",S_,{Parent:Error});function Sr(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function _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 xa(e,t=(n)=>n.message){let n={errors:[]},r=(o,i=[])=>{var s,a;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map((l)=>r({issues:l},c.path));else if(c.code==="invalid_key")r({issues:c.issues},c.path);else if(c.code==="invalid_element")r({issues:c.issues},c.path);else{let l=[...i,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;while(d<l.length){let f=l[d],m=d===l.length-1;if(typeof f==="string")u.properties??(u.properties={}),(s=u.properties)[f]??(s[f]={errors:[]}),u=u.properties[f];else u.items??(u.items=[]),(a=u.items)[f]??(a[f]={errors:[]}),u=u.items[f];if(m)u.errors.push(t(c));d++}}};return r(e),n}function __(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 Ca(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`✖ ${r.message}`),r.path?.length)t.push(` → at ${__(r.path)}`);return t.join(`
61
- `)}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)=>Pe(c,i,se())));throw Sa(a,o?.callee),a}return s.value},wa=xr(ke),Cr=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw Sa(a,o?.callee),a}return s.value},Ea=Cr(ke),wr=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new xt;return i.issues.length?{success:!1,error:new(e??Ho)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Md=wr(ke),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)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Ld=Er(ke),Ra=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},WN=Ra(ke),Pa=(e)=>(t,n,r)=>xr(e)(t,n,r),FN=Pa(ke),ka=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},GN=ka(ke),Aa=(e)=>async(t,n,r)=>Cr(e)(t,n,r),ZN=Aa(ke),Ta=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},BN=Ta(ke),Ia=(e)=>(t,n,r)=>wr(e)(t,n,r),UN=Ia(ke),Oa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Er(e)(t,n,o)},jN=Oa(ke),za=(e)=>async(t,n,r)=>Er(e)(t,n,r),HN=za(ke);var Ge={};mn(Ge,{base64:()=>em,base64url:()=>Na,bigint:()=>sm,boolean:()=>cm,browserEmail:()=>eD,cidrv4:()=>Xd,cidrv6:()=>Qd,cuid:()=>Wd,cuid2:()=>Fd,date:()=>nm,datetime:()=>om,domain:()=>rD,duration:()=>jd,e164:()=>tm,email:()=>Vd,emoji:()=>Kd,extendedDuration:()=>VN,guid:()=>Hd,hex:()=>oD,hostname:()=>nD,html5Email:()=>JN,idnEmail:()=>QN,integer:()=>am,ipv4:()=>qd,ipv6:()=>Yd,ksuid:()=>Bd,lowercase:()=>dm,mac:()=>Jd,md5_base64:()=>sD,md5_base64url:()=>aD,md5_hex:()=>iD,nanoid:()=>Ud,null:()=>lm,number:()=>Vo,rfc5322Email:()=>XN,sha1_base64:()=>lD,sha1_base64url:()=>uD,sha1_hex:()=>cD,sha256_base64:()=>mD,sha256_base64url:()=>fD,sha256_hex:()=>dD,sha384_base64:()=>gD,sha384_base64url:()=>hD,sha384_hex:()=>pD,sha512_base64:()=>bD,sha512_base64url:()=>vD,sha512_hex:()=>yD,string:()=>im,time:()=>rm,ulid:()=>Gd,undefined:()=>um,unicodeEmail:()=>x_,uppercase:()=>mm,uuid:()=>Mn,uuid4:()=>KN,uuid6:()=>qN,uuid7:()=>YN,xid:()=>Zd});var Wd=/^[cC][^\s-]{8,}$/,Fd=/^[0-9a-z]+$/,Gd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Zd=/^[0-9a-vA-V]{20}$/,Bd=/^[A-Za-z0-9]{27}$/,Ud=/^[a-zA-Z0-9_-]{21}$/,jd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,VN=/^[-+]?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})$/,Mn=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},KN=Mn(4),qN=Mn(6),YN=Mn(7),Vd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,JN=/^[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])?)*$/,XN=/^(([^<>()\[\]\\.,;:\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,}))$/,x_=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,QN=x_,eD=/^[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])?)*$/,tD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Kd(){return new RegExp(tD,"u")}var 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])$/,Yd=/^(([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}|:))$/,Jd=(e)=>{let t=Ye(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Xd=/^((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])$/,Qd=/^(([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])$/,em=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Na=/^[A-Za-z0-9_-]*$/,nD=/^(?=.{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])?)*\.?$/,rD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,tm=/^\+[1-9]\d{6,14}$/,C_="(?:(?:\\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])))",nm=new RegExp(`^${C_}$`);function w_(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 rm(e){return new RegExp(`^${w_(e)}$`)}function om(e){let t=w_({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(`^${C_}T(?:${r})$`)}var im=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},sm=/^-?\d+n?$/,am=/^-?\d+$/,Vo=/^-?\d+(?:\.\d+)?$/,cm=/^(?:true|false)$/i,lm=/^null$/i;var um=/^undefined$/i;var dm=/^[^A-Z]*$/,mm=/^[^a-z]*$/,oD=/^[0-9a-fA-F]*$/;function Ko(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function qo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var iD=/^[0-9a-fA-F]{32}$/,sD=Ko(22,"=="),aD=qo(22),cD=/^[0-9a-fA-F]{40}$/,lD=Ko(27,"="),uD=qo(27),dD=/^[0-9a-fA-F]{64}$/,mD=Ko(43,"="),fD=qo(43),pD=/^[0-9a-fA-F]{96}$/,gD=Ko(64,""),hD=qo(64),yD=/^[0-9a-fA-F]{128}$/,bD=Ko(86,"=="),vD=qo(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),R_={number:"number",bigint:"bigint",object:"date"},Da=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=R_[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})}}),$a=g("$ZodCheckGreaterThan",(e,t)=>{J.init(e,t);let n=R_[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})}}),fm=g("$ZodCheckMultipleOf",(e,t)=>{J.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):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})}}),pm=g("$ZodCheckNumberFormat",(e,t)=>{J.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Nd[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=am}),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})}}),gm=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=Dd[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})}}),hm=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!on(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:Uo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!on(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:Uo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!on(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:Uo(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})}}),vm=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!on(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=jo(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;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!on(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=jo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),_m=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!on(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=jo(o),a=i>t.length;r.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),Rr=g("$ZodCheckStringFormat",(e,t)=>{var n,r;if(J.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),xm=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})}}),Cm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=dm),Rr.init(e,t)}),wm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=mm),Rr.init(e,t)}),Em=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=Ye(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Rm=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${Ye(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Pm=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${Ye(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});function E_(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues))}var km=g("$ZodCheckProperty",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{let r=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(r instanceof Promise)return r.then((o)=>E_(o,n,t.property));E_(r,n,t.property);return}}),Am=g("$ZodCheckMimeType",(e,t)=>{J.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Tm=g("$ZodCheckOverwrite",(e,t)=>{J.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(`
59
+ `?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Ks(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function ko(e){return e?N(e):""}function PO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Ku(e,t){return Vu(rt(e,"posix"),t)}function fr(e){return Ku(e,new Set(Array.from(e.matchAll(s_)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Vu(e,t){if(e.status==="invalid"||e.status==="limited")return!1;let n=new Set(t);for(let r of e.nodes){if(r.kind==="group"){if(Vu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Vu(o,n))||u_(r.words,n))return!0;OO(r,n)}return!1}function u_(e,t){let n=e.findIndex((s)=>Ke(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(To(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return i_(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&&i_(s[c],t)}let i=AO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return u_(e.slice(i),t)}function AO(e,t,n){let r=H(e[t]?.text??"");if(r==="command")return kO(e,t+1);if(r==="exec")return TO(e,t+1);if(r==="env")return IO(e,t+1,n);return null}function kO(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 TO(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 IO(e,t,n){for(let r=t;r<e.length;r++){let o=e[r],i=o?.text??"";if(i==="--")return e[r+1]?r+1:null;if(i==="-S"||i==="--split-string")return To(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return To(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(Ke(i))continue;return r}return null}function OO(e,t){if(!e.words.every((n)=>Ke(n.text)!==null))return;for(let n of e.words){let r=Ke(n.text);if(!r)continue;if(To(n,t))t.add(r.name)}}function To(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(s_)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(bO.test(o)||t.has(o))}))}function i_(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||To(e,t))}var zO=new Set(["--ca-bundle","--cli-binary-format","--cli-connect-timeout","--cli-error-format","--cli-read-timeout","--color","--endpoint-url","--output","--profile","--query","--region"]),NO=new Set(["--access-token-file","--account","--billing-project","--configuration","--flags-file","--flatten","--format","--impersonate-service-account","--project","--trace-token","--verbosity"]),DO=new Set(["-o","--output","--query","--subscription"]),MO=new Set;function d_(e){if(e==="aws")return zO;if(e==="gcloud")return NO;if(e==="az")return DO;return MO}var $O=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),LO=new Set;function m_(e){if(e==="git")return He;if(e==="docker")return $O;return LO}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(!GO(n,o.command))continue;if(o.match){if(WO(n,e,o.match))return f_(o);continue}if(!ZO(n,e,o.subcommand))continue;if(jO(e,new Set(o.block_args),r))return f_(o)}return null}function f_(e){return{id:`custom.${e.name}`,reason:`[${e.name}] ${e.reason}`,intent:e.intent??"manual_only"}}function WO(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 FO(r,n.command_path,d_(e))}function FO(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 GO(e,t){return e===H(t)}function ZO(e,t,n){if(!n)return!0;return p_(t,1,n,m_(e))}function p_(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("=")&&UO(e,i,n,r))return!0;continue}return s===n}return!1}function UO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return p_(e,t+2,n,r)}function jO(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 Yt(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=H(r);if(o==="eval"){let i=mr(U(e));if(i.kind==="dynamic")return pr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return St(n,t)}if(me.has(o)){if(Ye(e))return null;let i=bt(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=pr(n,t);if(c)return c}if(fr(i)){let c=pr(n,t);if(c)return c}if(!t.analyzeNested)return null;let a=t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(a)return a;return null}let s=_t(U(e));if(s.kind==="dynamic")return pr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return pr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return pr(n,t);return null}if(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=os(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",tr),t.policy);if(a)return a}if(as(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||sr(i)))return s;if(nr(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(dr(U(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?BO(n,t):null)}if(o==="find")return js(U(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>Yt(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??be(e,t.policy?.rules??[])??St(n,t);if(o==="git")return z(ur(U(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 pr(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 BO(e,t){return e.dynamicInput&&e.rmDynamicMatch?z(e.rmDynamicMatch,t.policy):null}var qu="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Yu="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",VO="__CC_SAFETY_NET_XARGS_INPUT__",qs="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",Ys="rm",HO=/(?:^|[;&|]\s*|\b(?:eval|source)\s+|\b(?:ba|da|z|k)?sh\s+-c\s+)\s*["']?\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,KO=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,qO=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,YO=/^(?:[0-9]+|[@*])$/;function y_(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=Rn(n),i=n.slice(r),s=v("xargs.shell-dynamic",Yu);if(XO(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=S_(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&v_(c,o),m=Yt(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||b_(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:v("xargs.rm-recursive-force-dynamic",qu)});if(m)return m;let f=JO(c,o,t.policy?.rules??[]);if(f)return f;if(a.head==="git"){let h=o===null?[...c,VO]:c,y=o!==null&&(c.some((R)=>R.includes(o))||Array.from(a.envAssignments.values()).some((R)=>R.includes(o))),b=Yt(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 JO(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)=>Ju(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 Ju(e,t,n){let r=e.indexOf(t);if(r===-1||e.indexOf(t,r+t.length)!==-1)return[];let o=e.slice(0,r),i=e.slice(r+t.length);return n.startsWith(o)&&n.endsWith(i)?[n.slice(o.length,n.length-i.length)]:[]}function b_(e,t,n,r,o,i,s){if(me.has(t)){if(Ye(e))return!1;if(n!==null&&QO(e,n))return!0;let a=bt(e);if(!a){let c=_t(U(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 ez(a,n,r)}if(Me(t))return g_(e,n,ss,eb(t));if(We.has(t))return g_(e,n,Tu,kv);if(t==="eval"){let a=mr(U(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return tz(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&&lr.has(a.subcommand.toLowerCase())&&__(a.rest,n).some((c)=>c.includes(n))}return!1}function g_(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,qs]).sources.some((c)=>c.value===qs);if(o.sources.some((c)=>c.value.includes(t)))return!0;let i=new Set(o.sources.map((c)=>`${c.tokenIndex}\x00${c.kind}\x00${c.value}`)),s=r.flatMap((c)=>[c.selector,...c.valueForm==="attached-only"||c.valueForm==="attached-or-separate"?[`${c.selector}${qs}`]:[],...c.valueForm==="equals-or-separate"?[`${c.selector}=${qs}`]:[]]),a=new Set(s.flatMap((c)=>e.flatMap((l)=>Ju(l,t,c))));return Array.from(a).some((c)=>n(e.map((l)=>l.replaceAll(t,c))).sources.some((l)=>!i.has(`${l.tokenIndex}\x00${l.kind}\x00${l.value}`)))}function XO(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 v_(e,t){return __(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function __(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function S_(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 QO(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 Ju(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 ez(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(HO))if(h_(o,r))return!0;for(let o of e.matchAll(KO))for(let i of(o[1]??"").matchAll(qO))if(h_(i,r))return!0;return Ku(e,r)}function h_(e,t){let n=e[1]??e[2];return n!==void 0&&(YO.test(n)||t.has(n))}function tz(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=Ro(e,s);s=l.nextIndex-1;for(let u of at(l.tokens,{environment:r,cwd:void 0})){let d=S_(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&v_(u.tokens,t)||b_(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Ht(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 Oo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",zo="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",rz="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.",iz=/\{[^{}\s]*\}/,k_=/\{\}|\{-?\d+\}/g,sz=["e","f","source","file","-e","-f","--source","--file"],az=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],cz=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),lz=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),x_=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),uz=new Set(["--workdir","--wd"]),C_="__CC_SAFETY_NET_PARALLEL_SOURCE__",dz=new TextEncoder,Qu=K.maxDerivedBytes+4*K.maxPlaceholderReplacements;function ke(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function T_(e,t){return ke([...e],(n)=>Dt(n,t.scanWork))}function I_(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=F_(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=T_(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=vz(t);if(p)return p}if(u!==void 0&&a){let p=An(t);if(p)return p}let m=Cz(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(rd)){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,ed(p));let h=M_(f.envAssignments,f.cwd,a);return ke(p,(y)=>t.analyzeNested(y,h))}return ke(at(i,f),(p)=>mz(p,o,t,f))}function mz(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(L_)){let b=An(n);if(b)return b}let d=T_(u,n);if(d)return d;let m=u.some(ne),f=i||m,p=a&&f,h=M_(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,(x)=>Yt(c.map((P)=>Jt(P,x)),l))};if(Ye(c))return b();let R=bt(c);if(R){if(W_(R)){let k=Pn(n);if(k)return k;if(o.length===0)return null;return $e(n.budget,A_(R,o)),ke(o,(j)=>n.analyzeNested(Jt(R,j),h))}if(ne(R)){if(o.length>0)return $e(n.budget,A_(R,o)),ke(o,(ie)=>n.analyzeNested(Jt(R,ie),h));$e(n.budget,R_(R));let k=Po(R);if(k?.[0]&&H(k[0])==="rm"&&ct(k)){let ie=w_(n);if(ie)return ie}let j=k?Yt(k,l,{dynamicInput:a,shellDynamicMatch:v("parallel.shell-dynamic",zo),rmDynamicMatch:v("parallel.rm-recursive-force-dynamic",Oo)}):null;if(j)return j;return n.analyzeNested(R,h)}let x=!m&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((k)=>Hs(U(k===void 0?c:i?c.map((j)=>Jt(j,k)):[...c,...k]),R)):[];if(x.some((k)=>k.kind==="dynamic")){let k=Pn(n);if(k)return k}let P=x.flatMap((k)=>k.kind==="literal"?[k.source]:[]);if(P.length>0)return $e(n.budget,ed(P)),ke(P,(k)=>n.analyzeNested(k,h));if($e(n.budget,R_(R)),fr(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(U(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 x=Pn(n);if(x)return x;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,ed(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)=>Xu(c.map((A)=>td(A,R)),e.cwd,r));if(o.length>0)return $e(n.budget,P_(c,o)),ke(o,(R)=>Xu([...c,...R],e.cwd,r));let b=Xu(c.flatMap((R,A)=>{if(A===0||!ne(R))return[R];return R.startsWith("-")?[td(R,[""])]:[]}),e.cwd,r);if(b)return b;return w_(n)}$e(n.budget,i&&o.length>0?Js(c,o,"generic"):o.length>0?P_(c,o):D_(c));let y=o.length>0?o:[void 0];return ke(y,(b)=>{let R=b===void 0?c:i?c.map((se)=>Jt(se,b)):[...c,...b],A=v("parallel.shell-dynamic",zo),x=a&&e.head==="find"?bz(R,r):null,P=z_(R,a,n.policy?.rules??[],n.budget)??x?.customResult??null,L=H(e.head),k=a&&(L==="rm"&&nd(R)||L==="xargs"&&N_(R)||x?.rmOptions===!0),j=a&&(k||x?.executedSource===!0||x===null&&O_(R,L)),ie=Yt(R,{...l,worktreeMode:s||a||f?!1:n.worktreeMode},{dynamicInput:a||f,dynamicRmInput:k,dynamicSourceInput:P!==null||j,shellDynamicMatch:A,dynamicSourceMatch:A,rmDynamicMatch:v("parallel.rm-recursive-force-dynamic",Oo)});if(j){let se=z(A,n.policy);if(se)return se}return ie??P??be(R,n.policy?.rules??[])})}function O_(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 gz(e);if(t==="git")return fz(e);if(t==="find")return!0;if(We.has(t))return E_(e,sz,wo);if(Me(t))return E_(e,az,is);return!1}function nd(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("-")||W_(o)))}function fz(e){if(pz(e))return!0;let t=lt(e);if(t.subcommand===null||ne(t.subcommand))return!0;if(!lr.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(ne))return n===-1;return r.some(ne)}function pz(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 gz(e){if(Ye(e))return!1;let t=bt(e);if(t!==null)return ne(t);let n=_t(U(e));if(n.kind==="literal")return ne(n.source);if(n.kind==="dynamic")return!0;return!e.some(ne)}function E_(e,t,n){let r=n(e);if(r.some((i)=>ne(i.value)))return!0;if(!e.some(ne))return n([...e,C_]).some((i)=>i.value===C_);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>Jt(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function z_(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,hz(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?yz(e,c):[]));return ke(a,(c)=>be(e.map((l)=>Jt(l,[c])),[s]))})}function hz(e,t,n){let r=n?kn(Je(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),K.maxChildAnalyses),2*Math.max(e.length,1),K.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:kn(r,e.length,K.maxDerivedTokens)}}function yz(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 bz(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||=O_(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&nd(a.tokens)||a.head==="xargs"&&N_(a.tokens),n.customResult??=z_(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=Ht(a);if(c>0){o=c,n.executedSource||=ne(a);continue}n.executedSource||=ne(a)}return s(),n}function N_(e){let t=e.slice(Rn(e).childStart);return H(t[0]??"")==="rm"&&nd(t)}function Xs(e,t){return(n)=>z(v(e,t),n.policy)}var Pn=Xs("parallel.shell-dynamic",zo),vz=Xs("parallel.command-stream-dynamic",rz),An=Xs("parallel.command-stream-dynamic",oz),w_=Xs("parallel.rm-recursive-force-dynamic",Oo);function Xu(e,t,n){return z(dr(U(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 ed(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:No(e)}}function R_(e){return D_([e])}function D_(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:No(e)}}function P_(e,t){if(t.length>K.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:Je(t.map((n)=>e.length+n.length),K.maxDerivedTokens),derivedBytes:Je([kn(No(e),t.length,K.maxDerivedBytes),Je(t.map((n)=>No(n)),K.maxDerivedBytes)],K.maxDerivedBytes)}}function A_(e,t){return Js([e],t,"generic")}function Js(e,t,n){if(t.length>K.maxChildAnalyses)return{childAnalyses:t.length};let r=kn(e.length,t.length,K.maxDerivedTokens);if(r>K.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=xz(e.map((c)=>Sz(c,n))),i=kn(o.occurrences,t.length,K.maxPlaceholderReplacements);if(i>K.maxPlaceholderReplacements)return{childAnalyses:t.length,derivedTokens:r,placeholderReplacements:i};if(_z(o,t,i))return{childAnalyses:t.length,derivedTokens:r,derivedBytes:K.maxDerivedBytes+1,placeholderReplacements:i};let s=n==="generic"?Jt:td,a=Je(t.map((c)=>No(e.map((l)=>s(l,c)))),K.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function _z(e,t,n){let r=K.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,Io(s)),0)),r),r)],r)>r}function Sz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(k_),r=0,o=0,i=0;for(let s of n){if(r>=K.maxPlaceholderReplacements)return{occurrences:K.maxPlaceholderReplacements+1,fixedBytes:0};o=Je([o,Io(e.slice(i,s.index))],Qu),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Io(e):Je([o,Io(e.slice(i))],Qu)}}function xz(e){return{occurrences:Je(e.map((t)=>t.occurrences),K.maxPlaceholderReplacements),fixedBytes:Je(e.map((t)=>t.fixedBytes),Qu)}}function No(e,t=K.maxDerivedBytes){return Je(e.map(Io),t)}function Io(e){return dz.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 M_(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 Jt(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>$_(n,t))}function td(e,t){return e.replace(k_,(n)=>$_(n,t))}function $_(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 iz.test(e)}function L_(e){if(rd(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function rd(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function W_(e){return/^\{[^{}\s]*\}$/.test(e)}function F_(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=zu(e,t+1);n.push(...A.templateTokens),r=t+1,o=A.markerIndex;break}if(!p.startsWith("-")){let A=zu(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"||lz.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(x_.has(b)||p.startsWith("-S")&&p.length>2){i=!0,t+=x_.has(p)?2:1;continue}if(uz.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(cz.has(p)){if(h===void 0||h===":::"||h==="--"){l=!0,t++;continue}t+=2;continue}t+=p==="-j"||p==="--jobs"?2:1}l||=n.some(a?rd:L_);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=Ez(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 Cz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!nz(e))return null;try{return Zt(t??e,e,n)}catch{return null}}function Ez(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>K.maxChildAnalyses)return r;t=r}return t}function G_(e){return F_(e).childStart}var wz="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 id(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function od(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function U_(e,t,n,r,o=!1,i){let a=(fo(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&de(i,"shell.dynamic-executable",o)?v("shell.dynamic-executable",wz):null;return z(a,i)??j_(e,t,n,o,i)}function j_(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>id(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Yn(e,t),c=Pz(a);if(de(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return z(v("shell.dynamic-structure",Qs),o);if(z(ur(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&&lr.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)&&Az(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 Z_(e,t.slice(Rn(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return Z_(e,t.slice(G_(t.map(N))),"parallel",n,r,o);return null}function Z_(e,t,n,r,o,i){if(t.length===0)return null;let s=Rz(t,r);if(fo(e,s)){let c=z(v(`${n}.shell-dynamic`,n==="xargs"?Yu:zo),i);if(c)return c}let a=j_(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>id(c)&&od(c)))return z(v(`${n}.rm-recursive-force-dynamic`,n==="xargs"?qu:Oo),i);return null}function Rz(e,t){let n=bn(e,t),r=n.rewritten?U(n.words.map(N)):n.words,o=r[0];return o&&N(o)==="busybox"?r.slice(1):r}function Pz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(He.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function Az(e){let t=!1,n=0,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(!s)continue;let a=id(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||od(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||od(s)))return!0;continue}if(t=!0,a)return!0;let c=Ht(s.text);if(c>0){n=c;continue}if(Lt(s.text))o=!0,r=!0}return!1}function sd(e,t){return e.some((n)=>{if(n.value==="-"&&(n.kind==="main-script"||n.kind==="program-file"))return!0;return!Ui(t[n.tokenIndex],n.value)})}var kz="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",Tz="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",Iz="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function B_(e,t){let n=t.slice(1);if(e==="dd"&&n.some((r)=>/^of=\/dev\/.+/.test(r)))return v("dd.device-write",kz);if((e==="mkfs"||e.startsWith("mkfs."))&&n.some((r)=>r.startsWith("/dev/")))return v("mkfs.device",Tz);if(e==="shred"&&n.length>0)return v("shred.target",Iz);return null}var H_=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>dr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe: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)=>ur(e.words,ad(e))},{heads:new Set(["find"]),analyze:(e)=>js(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)=>y_(e.words,{...V_(e),analyzeNested:(t,n)=>Tn(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>I_(e.words,{...V_(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>Tn(e.options.analyzeNested(t,n))})}];function V_(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 ad(e){return{env:e.options.environment.env,cwd:e.cwd,dynamicArguments:e.dynamicArguments,envAssignments:e.envAssignments,policy:e.options.policy,worktreeMode:e.options.worktreeMode}}var J_="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function X_(e){return H_.find((t)=>t.heads.has(e))?.analyze}function Do(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(C)=>C.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=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=bn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let C=[...d,...i(u.words)].join(" "),E=Dt(C,n.scanWork);if(E)return r?.recordSegment({type:"dangerous-text",token:C,matched:!0,reason:E.reason}),xt(E);if(n.strict)return Fe(r);let O=ps(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?U(i(u.words)):Yn(o,u.words),f=i(m),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>m.length){let C=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:C,removed:C.slice(0,C.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,x=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!co(h,n.environment),L=U_(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 C of[k.childIndex,...k.alternativeChildIndices]){K_(p.wrapperNormalizationBudget);let E=m.slice(C);r?.recordSegment({type:"transparent-wrapper",wrapper:k.wrapper,output:i(E)});let O=Do(E,t,{...p,effectiveCwd:x,envAssignments:h});if(O)return O}return null}let j=b==="eval"?mr(m):b==="trap"?c_(m):void 0;if(j?.kind==="dynamic"&&(n.strict||!n.commandView||!Hu(n.commandView)))return Fe(r);if(j?.kind==="literal"){r?.recordSegment({type:"recurse",reason:b==="eval"?"shell-eval":"shell-trap",innerCommand:j.source,depth:t+1});let C=n.analyzeNested(j.source,{effectiveCwd:x,envAssignments:h,functionDefinitions:n.functionDefinitions});if(C)return C}if(eS(y,b)){if(Ye(f))return null;let C=Oz(f,h,x,n,r,t);if(C)return C;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,Ih=zz(xl);r?.recordSegment({type:"shell-wrapper",wrapper:b,innerCommand:Ih}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Ih,depth:t+1});let Oh=n.analyzeNested(xl,{effectiveCwd:x,envAssignments:h});if(Oh)return Oh;return fr(xl)?Fe(r):null}let O=_t(m);if(O.kind==="dynamic")return Fe(r);if(O.kind==="literal")return na(O.source,x,h,n,r,t);let Z=l_(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:x,envAssignments:h})}if(b==="source"||b==="."){let C=f[1]==="-p"?2:null;if(C!==null){let jn=n.commandView?m[C]:void 0;if(!jn)return null;if(jn.provenance!=="literal")return Fe(r)}let E=C===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,x,h,n,r,t);if(n.strict||!n.commandView||!Hu(n.commandView))return Fe(r)}if(We.has(b)){if(n.strict&&sd(wo(f),m))return Fe(r);let C=Gs(f,(O)=>Tn(n.analyzeNested(O,{effectiveCwd:x,envAssignments:h}))),E=z(C,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&&sd(is(f),m))return Fe(r);let C=os(f);if(C){let E=de(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:b,codeArg:C,paranoidBlocked:E}),E){let Z=z(v("interpreter.one-liner-paranoid",tr),n.policy);if(Z)return xt(Z)}if(as(b,C))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:C,depth:t+1});let O=n.analyzeNested(C,{effectiveCwd:x,envAssignments:h});if(O&&O.ruleId!=="raw-text.dangerous-command"&&(O.reason!==Ut||sr(C)))return O;if(nr(C,n.scanWork)){let Z=z(v("interpreter.dangerous-command",yn),n.policy);if(Z)return r?.recordSegment({type:"dangerous-text",token:C,matched:!0,reason:yn}),xt(Z)}r=void 0}}if(b==="busybox"&&f.length>1)return K_(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:f[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:f.slice(1).join(" "),depth:t+1}),Do(m.slice(1),t,{...p,effectiveCwd:x,envAssignments:h});let ie=z(B_(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((C)=>C.provenance==="command-substitution"),depth:t,effectiveCwd:x,options:se,analyzeChildTokens:(C,E)=>Tn(Do(U(C),t+1,{...se,commandView:void 0,effectiveCwd:E,envAssignments:h}))??be(C,se.policy.rules)},B=X_(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"?Jv(J.words,ad(J)):void 0,T=q_(w?w.match:B?.(J)??null,n.policy);if(r)Nz(J,T,w?.relaxation??null);if(T)return xt(T);let V=B!==void 0;if(!V)if(!ns.has(b)){let C=r?[]:void 0;for(let E=1;E<f.length;E++){let O=f[E];if(!O)continue;C?.push(O);let Z=q_(Dz(J,f,E),n.policy);if(Z)return r?.recordSegment({type:"fallback-scan",tokensScanned:C??[],embeddedCommandFound:H(O)}),xt(Z)}r?.recordSegment({type:"fallback-scan",tokensScanned:C??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!V){let C=be(f,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!C,reason:C?.reason}),C)return xt(C)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function Oz(e,t,n,r,o,i){let s=r_(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=ao(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 zz(e){let t=e[0];return e.length>=2&&(t==='"'||t==="'")&&e.at(-1)===t?e.slice(1,-1):e}function Nz(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 K_(e){if(e.iterations>=Qn)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:J_}),xt(Q_())}function Q_(){return{id:"",reason:J_,intent:"stop_and_explain"}}function eS(e,t){return me.has(t)||e==="$SHELL"||e==="${SHELL}"||me.has(F(t))}function Dz(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=Mz(e,n,o);if(i)return i}return null}function Mz(e,t,n){let r=n.tokens[0];if(!r)return null;let o=H(r);if(eS(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(U(c)).kind==="dynamic")return Q_();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=X_(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:U(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!co(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 $z=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,Lz=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function Wz(e,t){let n=rS(e,t);if(n.length===0)return!1;let r=n[nS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return $z.test(e.join(" "))}function tS(e,t,n,r){if(e.dialect==="powershell"){let a=Fz(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return Y_(jz(a.target),t,n.paths)}let o=e.words.map(N);if(!Wz(o,n))return;if(!t)return null;let i=rS(o,n,t),s=nS(i);if(s===-1||i[s]!=="cd")return null;return Y_(i[s+1],t,n.paths)}function Y_(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Bz(Zt(t,e,n),t,n)?t:null}catch{return null}}function Fz(e,t){let n=Gz(e[0])?1:0,r=e[n];if(!Zz(r,n===1))return{kind:"none"};let o=r.text.toLowerCase(),i=o.split(/[\\/]/).pop()??o;if(!Lz.has(i))return{kind:"none"};if(o!==i||i==="pop-location"||i==="popd")return{kind:"unknown"};return Uz(e.slice(n+1),t)}function Gz(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function Zz(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function Uz(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 jz(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function nS(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 rS(e,t,n){let r=Vz(e);return jt([...r],t,n)}function Bz(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 Vz(e){let t=0;while(t<e.length){let n=e[t];if(n==="{"||n==="("||n==="$(")t++;else break}return e.slice(t)}var ld="TMPDIR",ud="IFS",oS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,iS=/^[A-Za-z_][A-Za-z0-9_]*$/,sS=new Set(["export","typeset","declare","readonly"]),Hz=new Set(["builtin","command","time"]);function aS(e,t){return{env:e,effectiveEnvAssignments:Xz(e,t),shellAssignments:new Map}}function cS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function dd(e,t){let n=uS(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),md(t,s)});let r=n.commandIndex;if(r!==-1&&sS.has(e[r]??""))e.filter((s)=>iS.test(s)&&cd(s)).forEach((s)=>{Qz(t,s)});let o=r===-1?-1:dS(e,r);if(o===-1||e[o]!=="unset")return;let i=tN(e,o);if(i===null)return;e.slice(i).forEach((s)=>{eN(t,s)})}function lS(e,t){let n=uS(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 uS(e,t){let n=e.findIndex((s)=>!Kz(s)),r=n!==-1&&sS.has(e[dS(e,n)]??""),o=Jz(t);return{assignments:e.flatMap((s,a)=>{let c=qz(s,o,t.env);if(!c)return[];if(n!==-1&&a>n&&!r&&!Wl(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function dS(e,t){let n=t;while(Hz.has(e[n]??"")){n+=1;while(e[n]?.startsWith("-")){if(/^-p*[vV][pvV]*$/.test(e[n]??""))return t;n+=1}}return n}function Kz(e){return Ke(e)!==null||oS.test(e)}function qz(e,t,n){return Ke(e)??Yz(e,t,n)}function Yz(e,t,n){let r=Vi(e,n,t);if(r)return r;let o=e.match(oS)?.[1];if(!o)return null;let i=e.indexOf("=");return{name:o,value:`${t.has(o)?t.get(o):n.get(o)??""}${e.slice(i+1)}`}}function cd(e){return e===ld||e===ud||Fl(e)}function Jz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Xz(e,t){let n=[...ji,ld,ud].map((r)=>{let o=e.get(r);return o===void 0?null:[r,o]}).filter((r)=>r!==null);if(n.length===0)return t;return new Map([...n,...t??[]])}function md(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function Qz(e,t){md(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function eN(e,t){if(!cd(t)&&!iS.test(t))return;if(e.shellAssignments.set(t,""),!cd(t)||t===ld||t===ud||Qr(t)){md(e,{name:t,value:""});return}if(!e.effectiveEnvAssignments?.has(t))return;let n=new Map(e.effectiveEnvAssignments);n.delete(t),e.effectiveEnvAssignments=n.size===0?void 0:n}function tN(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 nN="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.",rN=64;function yd(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??nb()},r)}catch(s){let a=s instanceof De&&o?Hy:s instanceof us&&i?tb: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: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 hd(e,n);let u=`Unsupported heredoc syntax: ${l.message}`;return n.trace?.recordGlobal({type:"error",message:u}),{reason:u,segment:e,intent:"stop_and_explain"}}return yS(e,n),{reason:Ut,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return yS(e,n),{reason:Ut,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return hd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=aS(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=iN(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||gr(d);if(l.kind==="function"){let ie=h.flatMap((J)=>{let B=Mo(J);return B.functionDefinitions.set(l.name,l.body),fd(J,[B],m,d==="&",gr(d))}),se=pd(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,[Mo(B)]);if(w.result)return w;if(ie.push(...fd(B,w.states,m,d==="&",gr(d))),R)se.push(B,...m?w.states.map((T)=>ra(B,T)):w.states)}let J=pd(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(),x=e.nodes[c-2],P=sa(a)&&x?.kind==="command"?a_(x)??aN(x):void 0,L=[],k=[];for(let ie of h){let se=cN(l,t,n,r,[Mo(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=Mo(B),T=dN(l,t,n.trace?{...n,trace:bS(n.trace,A)}:n,r,w,sa(a),P);if(T)return{result:T,states:i};let V=EN(l,w.functionDefinitions);if(V)et(n.derivedCommandWorkBudget,aa(V));let C=V?t+1>=ts?gd(l.displayText,n,[w]):ia(V,t+1,n,r,[w]):{result:null,states:[w]};if(C.result)return C;if(L.push(...fd(ie,C.states,m,d==="&",gr(d))),R)k.push(ie),k.push(...C.states.map((E)=>m?ra(ie,E):E))}}let j=pd(L,k,y,b,a,d);i=j.states,s=j.conditionalStates,a=void 0}return{result:null,states:i}}function iN(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"&&sN(e,t)}function fd(e,t,n,r,o){let i=n?t.map((a)=>ra(e,a)):[...t],s=o?i.flatMap((a)=>$o(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 sN(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(lN(n))return!0;return n.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function sa(e){return e==="|"||e==="|&"}function aN(e){if(e?.dialect!=="powershell")return;if(e.words.length===1&&e.words[0]?.quoted&&e.words[0].provenance==="literal")return e.words[0].text;if(e.words[0]?.text.toLowerCase()==="write-output"&&e.words.length===2&&e.words[1]?.provenance==="literal")return e.words[1].text;return}function gr(e){return e==="&&"||e==="||"}function pd(e,t,n,r,o,i){let s={success:oa([...n,...e]),failure:oa([...r,...t])},a=gr(i)?s:void 0;return{states:gr(o)||a?oa([...s.success,...s.failure]):s.success,conditionalStates:a}}function bS(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 cN(e,t,n,r,o){let i=e.nested.map((s)=>({program:s,depth:t}));if(e.dialect==="powershell"){let s=uN(e);if(s){if(t+1>=ts)return gd(s,n,o);let a=rt(s,"powershell");if(a.status==="limited")return gd(s,n,o);if(a.status!=="complete")return mS(i,n,r,o);et(n.derivedCommandWorkBudget,aa(a)),i.push({program:a,depth:t+1})}}return mS(i,n,r,o)}function lN(e){let t=e.words[0];return t?.provenance==="variable"&&e.words.at(-1)?.text==="="?t.text.toLowerCase():void 0}function mS(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,[Mo(a)]);if(c.result)return c;s.push(...c.states)}o=oa(s)}return{result:null,states:o}}function uN(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 gd(e,t,n){return t.trace?.recordSegment({type:"error",message:It}),{result:{reason:It,segment:e,intent:"stop_and_explain"},states:[...n]}}function dN(e,t,n,r,o,i,s){let a=bN(e);if(a&&n.strict)return n.trace?.recordSegment({type:"error",message:a}),{reason:a,segment:e.source,intent:"stop_and_explain"};vS(e,o,"before-consumer",n.environment.paths);let c=Yn(e.dialect,e.words).map(N),l=e.displayText,u=lS(c,o.shellGitContextState);if(e.dialect==="powershell"){let f=z(Pv(e,i,RN(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 wN(l,f)}if(c.length===1&&c[0]?.includes(" ")&&!fo(e.dialect,e.words)){let f=z(Dt(c[0],n.scanWork),n.policy),p=f!==null&&!n.strict&&jy(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=fS(e,a,o,u,s,n);if(h)return h;return dd(c,o.shellGitContextState),null}let d=Do(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(f,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,y=yd(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?bS(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=fS(e,a,o,u,s,n);if(m)return m;return dd(c,o.shellGitContextState),null}function fS(e,t,n,r,o,i){let s=vN(e,t,n,r??new Map,i);if(s)return s;return vS(e,n,"after-consumer",i.environment.paths),n.literalHeredocFiles.clear(),pN(e,t,n,i.environment.paths),xN(e,n,o,i.environment,i.trace),null}var mN=new Set([">>","<>"]);function vS(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?fN(i):mN.has(i.operator)))continue;pS(i.target,t,r)}if(n!=="before-consumer"||!Ge(e.words[0],"tee"))return;let o=_S(e.words.slice(1));if(!o)return;for(let i of o.operands)pS(i,t,r)}function fN(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 pS(e,t,n){let r=e?.provenance==="literal"?ao(e.text,t.effectiveCwd,n):void 0;if(!r)return;t.literalHeredocFiles.delete(r)}function pN(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 gN(e)){let s=ao(i.text,n.effectiveCwd,r);if(!s||!Yy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=qy)throw new De;n.literalHeredocFiles.set(s,o.body)}}function gN(e){let t=yN(e.redirections)?.target,n=gS(t)?[t]:[];if(Ge(e.words[0],"cat"))return hN(e.words)?n:[];if(!Ge(e.words[0],"tee"))return[];let r=_S(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(gS))return[];return[...r.operands,...n]}function hN(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 yN(e){let t=e.findLast((n)=>(n.fd??([">",">|",">>",">&"].includes(n.operator)?1:0))===1);return t?.operator===">"||t?.operator===">|"?t:void 0}function _S(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 gS(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 bN(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 nN;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&&hS(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(hS)?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 hS(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}function vN(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(SN(e,i,n,r,o))return null;let a=_N(e,i,o);if(a!==void 0)return a?{reason:a.reason,segment:e.displayText,ruleId:a.id,intent:a.intent}:null;let c=hd(s.length===i.length?s.join(`
60
+ `):e.source,o);return c?{...c,segment:e.displayText}:null}function _N(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",tr),n.policy);if(l)return l}if(!nr(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 SN(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 xN(e,t,n,r,o){let i=tS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(N).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function Mo(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:cS(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)=>CN(r,n)))t.push(n);if(t.length>rN)throw new De}return t}function CN(e,t){return e.effectiveCwd===t.effectiveCwd&&$o(e.literalHeredocFiles,t.literalHeredocFiles)&&$o(e.functionDefinitions,t.functionDefinitions)&&$o(e.shellGitContextState.effectiveEnvAssignments,t.shellGitContextState.effectiveEnvAssignments)&&$o(e.shellGitContextState.shellAssignments,t.shellGitContextState.shellAssignments)}function $o(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 EN(e,t){let n=Ps(e);return n===void 0?void 0:t.get(n)}function wN(e,t){if(!t)return null;return{reason:t.reason,segment:e,ruleId:t.id,intent:t.intent}}function RN(e,t=e.effectiveCwd){let n=t===null;return{environment:e.environment,cwd:n?void 0:t??e.cwd,originalCwd:n?void 0:e.cwd,strict:e.strict,paranoid:e.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.protectedGitMetadata,policy:e.policy}}function hd(e,t){let n=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 yS(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 Lo=["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 PN(e,t){if(!t)return e;return ua.indexOf(t)>ua.indexOf(e)?t:e}function AN(){let e=xd(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 kN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function vd(){return kN(xd(fe.auditScope))==="all"}function _d(e){if(e.failClosed&&e.paranoidRm&&e.paranoidInterpreters)return"paranoid";if(e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"strict";if(!e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"standard";return"custom"}function Sd(e={}){let t=e.safety?.level??"standard",n=AN(),r=PN(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(Xt(fe.strict))i.failClosed=!0,s.failClosed="environment",a.failClosed.push(`env ${fe.strict.name}`);if(Xt(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(Xt(fe.paranoidRm))i.paranoidRm=!0,s.paranoidRm="environment",a.paranoidRm.push(`env ${fe.paranoidRm.name}`);if(Xt(fe.paranoidInterpreters))i.paranoidInterpreters=!0,s.paranoidInterpreters="environment",a.paranoidInterpreters.push(`env ${fe.paranoidInterpreters.name}`);let c=!!e.worktreeMode||Xt(fe.worktree);return{strict:i.failClosed,paranoidRm:i.paranoidRm,paranoidInterpreters:i.paranoidInterpreters,worktreeMode:c,effectiveLevel:_d(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 Xt(e){let t=typeof e==="string"?bd(e):xd(e);return t==="1"||t?.toLowerCase()==="true"}function bd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function xd(e){let t=bd(e.name);if(t!==void 0)return t;if(e.legacyName)return bd(e.legacyName);return}function SS(e){let t=e.effectiveCapabilities,n=e.strict??t.fail_closed.enabled,r=e.paranoidRm??t.paranoid_rm.enabled,o=e.paranoidInterpreters??t.paranoid_interpreters.enabled,i={fail_closed:Cd(t.fail_closed,e.strict,"strict"),paranoid_rm:Cd(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:Cd(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:Zy(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:_d({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function Cd(e,t,n){if(t===void 0||t===e.enabled)return e;return{enabled:t,source:"capability_override",sources:[...e.sources,`analysis options.${n}`]}}function xS(e,t,n,r){let o=yd(e,0,{...t,...SS(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 TN=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),wd=new Set(["cc-safety-net","ccsn"]),IN=new Set(["bunx","npx","pnpx"]),ON=new Set(["pnpm","yarn"]),zN=new Set(["npm","pnpm","yarn"]),NN=new Set(["bun","node"]);function ma(e,t,n={}){if(wd.has(e))return 0;if(IN.has(e)){if(n.broad)return Ed(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&&zN.has(e)&&n.broad&&t[r]==="exec"){let o=Ed(t.slice(r+1));return o===null?null:r+1+o}if(ON.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=Ed(t.slice(r+1));return o===null?null:r+1+o}if(NN.has(e)){let o=n.broad&&r!==-1?r:0;if(CS(t[o]))return o+1;if(e==="bun"&&t[o]==="run"&&CS(t[o+1]))return o+2}return null}function Ed(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 wd.has(e);if(t===0)return!1;let n=e.slice(t+1);if(n===""||n.includes("/")||n.includes(":"))return!1;return wd.has(e.slice(0,t))}function CS(e){let t=e?.replaceAll("\\","/");return[...TN].some((n)=>t===n||t?.endsWith(`/${n}`))}function Wo(e,t,n,r,o){if(n.kind!=="command")return{toolName:e,input:t,route:n,context:r};return{toolName:e,input:t,route:n,context:r,command:o}}var ES="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 wS(e){let t=xe(e,"input-candidate");if(!t)return null;let n=Ot(Qe()),r=ar(t.shell,e.invocation.context.executionCwd,n,{findSegmentTarget:(o)=>DN(o,n.environment),isRedirectionTarget:()=>!1,findMalformedTarget:()=>null,normalizeCwd:ye});return r?{target:r}:null}function DN(e,t){let n=jt([...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"node:path";import{chmodSync as SB,existsSync as Z0,mkdirSync as xB,readFileSync as U0}from"node:fs";import{dirname as j0,join as B0}from"node:path";import{createRequire as k0}from"node:module";var lh={};cn(lh,{$brand:()=>pa,$input:()=>Ba,$output:()=>ja,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>Cg,ZodArray:()=>Pg,ZodBase64:()=>qc,ZodBase64URL:()=>Yc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Hr,ZodCIDRv4:()=>Hc,ZodCIDRv6:()=>Kc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>qg,ZodCodec:()=>al,ZodCustom:()=>_i,ZodCustomStringFormat:()=>Br,ZodDate:()=>gi,ZodDefault:()=>Ug,ZodDiscriminatedUnion:()=>kg,ZodE164:()=>Jc,ZodEmail:()=>$c,ZodEmoji:()=>Lc,ZodEnum:()=>Ur,ZodError:()=>ix,ZodExactOptional:()=>Fg,ZodFile:()=>Lg,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>oh,ZodGUID:()=>ui,ZodIPv4:()=>Bc,ZodIPv6:()=>Vc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>Tg,ZodIssueCode:()=>_C,ZodJWT:()=>Xc,ZodKSUID:()=>jc,ZodLazy:()=>th,ZodLiteral:()=>$g,ZodMAC:()=>hg,ZodMap:()=>Dg,ZodNaN:()=>Jg,ZodNanoID:()=>Wc,ZodNever:()=>wg,ZodNonOptional:()=>il,ZodNull:()=>Sg,ZodNullable:()=>Zg,ZodNumber:()=>Vr,ZodNumberFormat:()=>Fn,ZodObject:()=>yi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Bg,ZodPromise:()=>rh,ZodReadonly:()=>Xg,ZodRealError:()=>we,ZodRecord:()=>vi,ZodSet:()=>Mg,ZodString:()=>jr,ZodStringFormat:()=>Y,ZodSuccess:()=>Kg,ZodSymbol:()=>vg,ZodTemplateLiteral:()=>eh,ZodTransform:()=>Wg,ZodTuple:()=>Og,ZodType:()=>M,ZodULID:()=>Zc,ZodURL:()=>pi,ZodUUID:()=>At,ZodUndefined:()=>_g,ZodUnion:()=>bi,ZodUnknown:()=>Eg,ZodVoid:()=>Rg,ZodXID:()=>Uc,ZodXor:()=>Ag,_ZodString:()=>Mc,_default:()=>jg,_function:()=>dC,any:()=>Ux,array:()=>hi,base64:()=>Rx,base64url:()=>Px,bigint:()=>Lx,boolean:()=>bg,catch:()=>Yg,check:()=>mC,cidrv4:()=>Ex,cidrv6:()=>wx,clone:()=>ve,codec:()=>cC,coerce:()=>ll,config:()=>le,core:()=>Pt,cuid:()=>hx,cuid2:()=>yx,custom:()=>fC,date:()=>Bx,decode:()=>Pc,decodeAsync:()=>kc,default:()=>E0,describe:()=>pC,discriminatedUnion:()=>Jx,e164:()=>Ax,email:()=>sx,emoji:()=>px,encode:()=>Rc,encodeAsync:()=>Ac,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Gg,file:()=>oC,flattenError:()=>vr,float32:()=>Nx,float64:()=>Dx,formatError:()=>_r,fromJSONSchema:()=>ch,function:()=>dC,getErrorMap:()=>xC,globalRegistry:()=>Oe,gt:()=>wt,gte:()=>Ee,guid:()=>ax,hash:()=>zx,hex:()=>Ox,hostname:()=>Ix,httpUrl:()=>fx,includes:()=>kr,instanceof:()=>hC,int:()=>Dc,int32:()=>Mx,int64:()=>Wx,intersection:()=>Ig,ipv4:()=>Sx,ipv6:()=>Cx,iso:()=>li,json:()=>bC,jwt:()=>kx,keyof:()=>Vx,ksuid:()=>_x,lazy:()=>nh,length:()=>Ln,literal:()=>rC,locales:()=>ei,looseObject:()=>qx,looseRecord:()=>Qx,lowercase:()=>Pr,lt:()=>Et,lte:()=>je,mac:()=>xx,map:()=>eC,maxLength:()=>$n,maxSize:()=>on,meta:()=>gC,mime:()=>Or,minLength:()=>Ft,minSize:()=>Rt,multipleOf:()=>rn,nan:()=>aC,nanoid:()=>gx,nativeEnum:()=>nC,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>Hg,nonpositive:()=>gc,normalize:()=>zr,null:()=>xg,nullable:()=>mi,nullish:()=>iC,number:()=>yg,object:()=>Hx,optional:()=>di,overwrite:()=>ut,parse:()=>xc,parseAsync:()=>Cc,partialRecord:()=>Xx,pipe:()=>fi,positive:()=>fc,prefault:()=>Vg,preprocess:()=>vC,prettifyError:()=>_a,promise:()=>uC,property:()=>yc,readonly:()=>Qg,record:()=>Ng,refine:()=>ih,regex:()=>Rr,regexes:()=>Ue,registry:()=>ti,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>Ec,safeParseAsync:()=>wc,set:()=>tC,setErrorMap:()=>SC,size:()=>Mn,slugify:()=>$r,startsWith:()=>Tr,strictObject:()=>Kx,string:()=>Nc,stringFormat:()=>Tx,stringbool:()=>yC,success:()=>sC,superRefine:()=>sh,symbol:()=>Gx,templateLiteral:()=>lC,toJSONSchema:()=>oi,toLowerCase:()=>Dr,toUpperCase:()=>Mr,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>zg,uint32:()=>$x,uint64:()=>Fx,ulid:()=>bx,undefined:()=>Zx,union:()=>tl,unknown:()=>Wn,uppercase:()=>Ar,url:()=>mx,util:()=>I,uuid:()=>cx,uuidv4:()=>lx,uuidv6:()=>ux,uuidv7:()=>dx,void:()=>jx,xid:()=>vx,xor:()=>Yx,z:()=>ul});var ul={};cn(ul,{$brand:()=>pa,$input:()=>Ba,$output:()=>ja,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>Cg,ZodArray:()=>Pg,ZodBase64:()=>qc,ZodBase64URL:()=>Yc,ZodBigInt:()=>Kr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Hr,ZodCIDRv4:()=>Hc,ZodCIDRv6:()=>Kc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>qg,ZodCodec:()=>al,ZodCustom:()=>_i,ZodCustomStringFormat:()=>Br,ZodDate:()=>gi,ZodDefault:()=>Ug,ZodDiscriminatedUnion:()=>kg,ZodE164:()=>Jc,ZodEmail:()=>$c,ZodEmoji:()=>Lc,ZodEnum:()=>Ur,ZodError:()=>ix,ZodExactOptional:()=>Fg,ZodFile:()=>Lg,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>oh,ZodGUID:()=>ui,ZodIPv4:()=>Bc,ZodIPv6:()=>Vc,ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,ZodIntersection:()=>Tg,ZodIssueCode:()=>_C,ZodJWT:()=>Xc,ZodKSUID:()=>jc,ZodLazy:()=>th,ZodLiteral:()=>$g,ZodMAC:()=>hg,ZodMap:()=>Dg,ZodNaN:()=>Jg,ZodNanoID:()=>Wc,ZodNever:()=>wg,ZodNonOptional:()=>il,ZodNull:()=>Sg,ZodNullable:()=>Zg,ZodNumber:()=>Vr,ZodNumberFormat:()=>Fn,ZodObject:()=>yi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Bg,ZodPromise:()=>rh,ZodReadonly:()=>Xg,ZodRealError:()=>we,ZodRecord:()=>vi,ZodSet:()=>Mg,ZodString:()=>jr,ZodStringFormat:()=>Y,ZodSuccess:()=>Kg,ZodSymbol:()=>vg,ZodTemplateLiteral:()=>eh,ZodTransform:()=>Wg,ZodTuple:()=>Og,ZodType:()=>M,ZodULID:()=>Zc,ZodURL:()=>pi,ZodUUID:()=>At,ZodUndefined:()=>_g,ZodUnion:()=>bi,ZodUnknown:()=>Eg,ZodVoid:()=>Rg,ZodXID:()=>Uc,ZodXor:()=>Ag,_ZodString:()=>Mc,_default:()=>jg,_function:()=>dC,any:()=>Ux,array:()=>hi,base64:()=>Rx,base64url:()=>Px,bigint:()=>Lx,boolean:()=>bg,catch:()=>Yg,check:()=>mC,cidrv4:()=>Ex,cidrv6:()=>wx,clone:()=>ve,codec:()=>cC,coerce:()=>ll,config:()=>le,core:()=>Pt,cuid:()=>hx,cuid2:()=>yx,custom:()=>fC,date:()=>Bx,decode:()=>Pc,decodeAsync:()=>kc,describe:()=>pC,discriminatedUnion:()=>Jx,e164:()=>Ax,email:()=>sx,emoji:()=>px,encode:()=>Rc,encodeAsync:()=>Ac,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Gg,file:()=>oC,flattenError:()=>vr,float32:()=>Nx,float64:()=>Dx,formatError:()=>_r,fromJSONSchema:()=>ch,function:()=>dC,getErrorMap:()=>xC,globalRegistry:()=>Oe,gt:()=>wt,gte:()=>Ee,guid:()=>ax,hash:()=>zx,hex:()=>Ox,hostname:()=>Ix,httpUrl:()=>fx,includes:()=>kr,instanceof:()=>hC,int:()=>Dc,int32:()=>Mx,int64:()=>Wx,intersection:()=>Ig,ipv4:()=>Sx,ipv6:()=>Cx,iso:()=>li,json:()=>bC,jwt:()=>kx,keyof:()=>Vx,ksuid:()=>_x,lazy:()=>nh,length:()=>Ln,literal:()=>rC,locales:()=>ei,looseObject:()=>qx,looseRecord:()=>Qx,lowercase:()=>Pr,lt:()=>Et,lte:()=>je,mac:()=>xx,map:()=>eC,maxLength:()=>$n,maxSize:()=>on,meta:()=>gC,mime:()=>Or,minLength:()=>Ft,minSize:()=>Rt,multipleOf:()=>rn,nan:()=>aC,nanoid:()=>gx,nativeEnum:()=>nC,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>Hg,nonpositive:()=>gc,normalize:()=>zr,null:()=>xg,nullable:()=>mi,nullish:()=>iC,number:()=>yg,object:()=>Hx,optional:()=>di,overwrite:()=>ut,parse:()=>xc,parseAsync:()=>Cc,partialRecord:()=>Xx,pipe:()=>fi,positive:()=>fc,prefault:()=>Vg,preprocess:()=>vC,prettifyError:()=>_a,promise:()=>uC,property:()=>yc,readonly:()=>Qg,record:()=>Ng,refine:()=>ih,regex:()=>Rr,regexes:()=>Ue,registry:()=>ti,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>Ec,safeParseAsync:()=>wc,set:()=>tC,setErrorMap:()=>SC,size:()=>Mn,slugify:()=>$r,startsWith:()=>Tr,strictObject:()=>Kx,string:()=>Nc,stringFormat:()=>Tx,stringbool:()=>yC,success:()=>sC,superRefine:()=>sh,symbol:()=>Gx,templateLiteral:()=>lC,toJSONSchema:()=>oi,toLowerCase:()=>Dr,toUpperCase:()=>Mr,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>zg,uint32:()=>$x,uint64:()=>Fx,ulid:()=>bx,undefined:()=>Zx,union:()=>tl,unknown:()=>Wn,uppercase:()=>Ar,url:()=>mx,util:()=>I,uuid:()=>cx,uuidv4:()=>lx,uuidv6:()=>ux,uuidv7:()=>dx,void:()=>jx,xid:()=>vx,xor:()=>Yx});var Pt={};cn(Pt,{$ZodAny:()=>uf,$ZodArray:()=>gf,$ZodAsyncError:()=>Ct,$ZodBase64:()=>Qm,$ZodBase64URL:()=>ef,$ZodBigInt:()=>Ga,$ZodBigIntFormat:()=>sf,$ZodBoolean:()=>Jo,$ZodCIDRv4:()=>Ym,$ZodCIDRv6:()=>Jm,$ZodCUID:()=>Lm,$ZodCUID2:()=>Wm,$ZodCatch:()=>zf,$ZodCheck:()=>Q,$ZodCheckBigIntFormat:()=>pm,$ZodCheckEndsWith:()=>Rm,$ZodCheckGreaterThan:()=>za,$ZodCheckIncludes:()=>Em,$ZodCheckLengthEquals:()=>_m,$ZodCheckLessThan:()=>Oa,$ZodCheckLowerCase:()=>xm,$ZodCheckMaxLength:()=>bm,$ZodCheckMaxSize:()=>gm,$ZodCheckMimeType:()=>Am,$ZodCheckMinLength:()=>vm,$ZodCheckMinSize:()=>hm,$ZodCheckMultipleOf:()=>mm,$ZodCheckNumberFormat:()=>fm,$ZodCheckOverwrite:()=>km,$ZodCheckProperty:()=>Pm,$ZodCheckRegex:()=>Sm,$ZodCheckSizeEquals:()=>ym,$ZodCheckStartsWith:()=>wm,$ZodCheckStringFormat:()=>wr,$ZodCheckUpperCase:()=>Cm,$ZodCodec:()=>Qo,$ZodCustom:()=>Gf,$ZodCustomStringFormat:()=>rf,$ZodDate:()=>pf,$ZodDefault:()=>kf,$ZodDiscriminatedUnion:()=>bf,$ZodE164:()=>tf,$ZodEmail:()=>Nm,$ZodEmoji:()=>Mm,$ZodEncodeError:()=>On,$ZodEnum:()=>Cf,$ZodError:()=>Ho,$ZodExactOptional:()=>Pf,$ZodFile:()=>wf,$ZodFunction:()=>Lf,$ZodGUID:()=>Om,$ZodIPv4:()=>Hm,$ZodIPv6:()=>Km,$ZodISODate:()=>jm,$ZodISODateTime:()=>Um,$ZodISODuration:()=>Vm,$ZodISOTime:()=>Bm,$ZodIntersection:()=>vf,$ZodJWT:()=>nf,$ZodKSUID:()=>Zm,$ZodLazy:()=>Ff,$ZodLiteral:()=>Ef,$ZodMAC:()=>qm,$ZodMap:()=>Sf,$ZodNaN:()=>Nf,$ZodNanoID:()=>$m,$ZodNever:()=>mf,$ZodNonOptional:()=>If,$ZodNull:()=>lf,$ZodNullable:()=>Af,$ZodNumber:()=>Fa,$ZodNumberFormat:()=>of,$ZodObject:()=>QS,$ZodObjectJIT:()=>hf,$ZodOptional:()=>Ua,$ZodPipe:()=>Df,$ZodPrefault:()=>Tf,$ZodPromise:()=>Wf,$ZodReadonly:()=>Mf,$ZodRealError:()=>Ie,$ZodRecord:()=>_f,$ZodRegistry:()=>Zf,$ZodSet:()=>xf,$ZodString:()=>Dn,$ZodStringFormat:()=>q,$ZodSuccess:()=>Of,$ZodSymbol:()=>af,$ZodTemplateLiteral:()=>$f,$ZodTransform:()=>Rf,$ZodTuple:()=>Za,$ZodType:()=>D,$ZodULID:()=>Fm,$ZodURL:()=>Dm,$ZodUUID:()=>zm,$ZodUndefined:()=>cf,$ZodUnion:()=>Xo,$ZodUnknown:()=>df,$ZodVoid:()=>ff,$ZodXID:()=>Gm,$ZodXor:()=>yf,$brand:()=>pa,$constructor:()=>g,$input:()=>Ba,$output:()=>ja,Doc:()=>Na,JSONSchema:()=>nx,JSONSchemaGenerator:()=>dg,NEVER:()=>fa,TimePrecision:()=>mc,_any:()=>mp,_array:()=>vp,_base64:()=>cc,_base64url:()=>lc,_bigint:()=>ip,_boolean:()=>rp,_catch:()=>c0,_check:()=>tx,_cidrv4:()=>sc,_cidrv6:()=>ac,_coercedBigint:()=>sp,_coercedBoolean:()=>op,_coercedDate:()=>yp,_coercedNumber:()=>Jf,_coercedString:()=>jf,_cuid:()=>Qa,_cuid2:()=>ec,_custom:()=>Sp,_date:()=>hp,_decode:()=>Ea,_decodeAsync:()=>Ra,_default:()=>i0,_discriminatedUnion:()=>HD,_e164:()=>uc,_email:()=>Va,_emoji:()=>Ja,_encode:()=>Ca,_encodeAsync:()=>wa,_endsWith:()=>Ir,_enum:()=>QD,_file:()=>_p,_float32:()=>Qf,_float64:()=>ep,_gt:()=>wt,_gte:()=>Ee,_guid:()=>ni,_includes:()=>kr,_int:()=>Xf,_int32:()=>tp,_int64:()=>ap,_intersection:()=>KD,_ipv4:()=>oc,_ipv6:()=>ic,_isoDate:()=>Hf,_isoDateTime:()=>Vf,_isoDuration:()=>qf,_isoTime:()=>Kf,_jwt:()=>dc,_ksuid:()=>rc,_lazy:()=>m0,_length:()=>Ln,_literal:()=>t0,_lowercase:()=>Pr,_lt:()=>Et,_lte:()=>je,_mac:()=>Bf,_map:()=>JD,_max:()=>je,_maxLength:()=>$n,_maxSize:()=>on,_mime:()=>Or,_min:()=>Ee,_minLength:()=>Ft,_minSize:()=>Rt,_multipleOf:()=>rn,_nan:()=>bp,_nanoid:()=>Xa,_nativeEnum:()=>e0,_negative:()=>pc,_never:()=>pp,_nonnegative:()=>hc,_nonoptional:()=>s0,_nonpositive:()=>gc,_normalize:()=>zr,_null:()=>dp,_nullable:()=>o0,_number:()=>Yf,_optional:()=>r0,_overwrite:()=>ut,_parse:()=>Sr,_parseAsync:()=>xr,_pipe:()=>l0,_positive:()=>fc,_promise:()=>f0,_property:()=>yc,_readonly:()=>u0,_record:()=>YD,_refine:()=>xp,_regex:()=>Rr,_safeDecode:()=>Aa,_safeDecodeAsync:()=>Ta,_safeEncode:()=>Pa,_safeEncodeAsync:()=>ka,_safeParse:()=>Cr,_safeParseAsync:()=>Er,_set:()=>XD,_size:()=>Mn,_slugify:()=>$r,_startsWith:()=>Tr,_string:()=>Uf,_stringFormat:()=>Lr,_stringbool:()=>Rp,_success:()=>a0,_superRefine:()=>Cp,_symbol:()=>lp,_templateLiteral:()=>d0,_toLowerCase:()=>Dr,_toUpperCase:()=>Mr,_transform:()=>n0,_trim:()=>Nr,_tuple:()=>qD,_uint32:()=>np,_uint64:()=>cp,_ulid:()=>tc,_undefined:()=>up,_union:()=>BD,_unknown:()=>fp,_uppercase:()=>Ar,_url:()=>ri,_uuid:()=>Ha,_uuidv4:()=>Ka,_uuidv6:()=>qa,_uuidv7:()=>Ya,_void:()=>gp,_xid:()=>nc,_xor:()=>VD,clone:()=>ve,config:()=>le,createStandardJSONSchemaMethod:()=>bc,createToJSONSchemaMethod:()=>Pp,decode:()=>lD,decodeAsync:()=>dD,describe:()=>Ep,encode:()=>cD,encodeAsync:()=>uD,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>_r,globalConfig:()=>Fo,globalRegistry:()=>Oe,initializeContext:()=>Fr,isValidBase64:()=>Xm,isValidBase64URL:()=>qS,isValidJWT:()=>YS,locales:()=>ei,meta:()=>wp,parse:()=>Sa,parseAsync:()=>xa,prettifyError:()=>_a,process:()=>ee,regexes:()=>Ue,registry:()=>ti,safeDecode:()=>fD,safeDecodeAsync:()=>gD,safeEncode:()=>mD,safeEncodeAsync:()=>pD,safeParse:()=>Md,safeParseAsync:()=>$d,toDotPath:()=>IS,toJSONSchema:()=>oi,treeifyError:()=>va,util:()=>I,version:()=>Tm});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={};cn(I,{BIGINT_FORMAT_RANGES:()=>Nd,Class:()=>kS,NUMBER_FORMAT_RANGES:()=>zd,aborted:()=>nn,allowsEval:()=>kd,assert:()=>FN,assertEqual:()=>MN,assertIs:()=>LN,assertNever:()=>WN,assertNotEqual:()=>$N,assignProp:()=>en,base64ToUint8Array:()=>PS,base64urlToUint8Array:()=>rD,cached:()=>yr,captureStackTrace:()=>ya,cleanEnum:()=>nD,cleanRegex:()=>Uo,clone:()=>ve,cloneDef:()=>ZN,createTransparentProxy:()=>KN,defineLazy:()=>W,esc:()=>ha,escapeRegex:()=>Xe,extend:()=>JN,finalizeIssue:()=>Te,floatSafeRemainder:()=>Pd,getElementAtPath:()=>UN,getEnumValues:()=>Zo,getLengthableOrigin:()=>Vo,getParsedType:()=>HN,getSizableOrigin:()=>Bo,hexToUint8Array:()=>iD,isObject:()=>zn,isPlainObject:()=>tn,issue:()=>br,joinValues:()=>ga,jsonStringifyReplacer:()=>hr,merge:()=>QN,mergeDefs:()=>Wt,normalizeParams:()=>_,nullish:()=>Qt,numKeys:()=>VN,objectClone:()=>GN,omit:()=>YN,optionalKeys:()=>Od,parsedType:()=>Dd,partial:()=>eD,pick:()=>qN,prefixIssues:()=>Ze,primitiveTypes:()=>Id,promiseAllObject:()=>jN,propertyKeyTypes:()=>jo,randomString:()=>BN,required:()=>tD,safeExtend:()=>XN,shallowClone:()=>Td,slugify:()=>Ad,stringifyPrimitive:()=>ba,uint8ArrayToBase64:()=>AS,uint8ArrayToBase64url:()=>oD,uint8ArrayToHex:()=>sD,unwrapMessage:()=>Go});function MN(e){return e}function $N(e){return e}function LN(e){}function WN(e){throw Error("Unexpected value in exhaustive check")}function FN(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 Qt(e){return e===null||e===void 0}function Uo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function Pd(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 RS=Symbol("evaluating");function W(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===RS)return;if(r===void 0)r=RS,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function GN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function en(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 ZN(e){return Wt(e._zod.def)}function UN(e,t){if(!t)return e;return t.reduce((n,r)=>n?.[r],e)}function jN(e){let t=Object.keys(e),n=t.map((r)=>e[r]);return Promise.all(n).then((r)=>{let o={};for(let i=0;i<t.length;i++)o[t[i]]=r[i];return o})}function BN(e=10){let n="";for(let r=0;r<e;r++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function ha(e){return JSON.stringify(e)}function Ad(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 kd=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function tn(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 Td(e){if(tn(e))return{...e};if(Array.isArray(e))return[...e];return e}function VN(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var HN=(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}`)}},jo=new Set(["string","number","symbol"]),Id=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 KN(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 Od(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var zd={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]},Nd={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function qN(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 en(this,"shape",s),s},checks:[]});return ve(e,i)}function YN(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 en(this,"shape",s),s},checks:[]});return ve(e,i)}function JN(e,t){if(!tn(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 en(this,"shape",i),i}});return ve(e,o)}function XN(e,t){if(!tn(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 en(this,"shape",r),r}});return ve(e,n)}function QN(e,t){let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return en(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return ve(e,n)}function eD(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 en(this,"shape",c),c},checks:[]});return ve(t,s)}function tD(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 en(this,"shape",i),i}});return ve(t,r)}function nn(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 Dd(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 nD(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function PS(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 AS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function rD(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return PS(t+n)}function oD(e){return AS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function iD(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 sD(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class kS{constructor(...e){}}var TS=(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",TS),Ie=g("$ZodError",TS,{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 IS(e){let t=[],n=e.map((r)=>typeof r==="object"?r.key:r);for(let r of n)if(typeof r==="number")t.push(`[${r}]`);else if(typeof r==="symbol")t.push(`[${JSON.stringify(String(r))}]`);else if(/[^\w$]/.test(r))t.push(`[${JSON.stringify(r)}]`);else{if(t.length)t.push(".");t.push(r)}return t.join("")}function _a(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`✖ ${r.message}`),r.path?.length)t.push(` → at ${IS(r.path)}`);return t.join(`
61
+ `)}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}},Md=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}},$d=Er(Ie),Ca=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Sr(e)(t,n,o)},cD=Ca(Ie),Ea=(e)=>(t,n,r)=>Sr(e)(t,n,r),lD=Ea(Ie),wa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},uD=wa(Ie),Ra=(e)=>async(t,n,r)=>xr(e)(t,n,r),dD=Ra(Ie),Pa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},mD=Pa(Ie),Aa=(e)=>(t,n,r)=>Cr(e)(t,n,r),fD=Aa(Ie),ka=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Er(e)(t,n,o)},pD=ka(Ie),Ta=(e)=>async(t,n,r)=>Er(e)(t,n,r),gD=Ta(Ie);var Ue={};cn(Ue,{base64:()=>Qd,base64url:()=>Ia,bigint:()=>im,boolean:()=>am,browserEmail:()=>CD,cidrv4:()=>Jd,cidrv6:()=>Xd,cuid:()=>Ld,cuid2:()=>Wd,date:()=>tm,datetime:()=>rm,domain:()=>RD,duration:()=>jd,e164:()=>em,email:()=>Vd,emoji:()=>Hd,extendedDuration:()=>hD,guid:()=>Bd,hex:()=>PD,hostname:()=>wD,html5Email:()=>_D,idnEmail:()=>xD,integer:()=>sm,ipv4:()=>Kd,ipv6:()=>qd,ksuid:()=>Zd,lowercase:()=>um,mac:()=>Yd,md5_base64:()=>kD,md5_base64url:()=>TD,md5_hex:()=>AD,nanoid:()=>Ud,null:()=>cm,number:()=>Ko,rfc5322Email:()=>SD,sha1_base64:()=>OD,sha1_base64url:()=>zD,sha1_hex:()=>ID,sha256_base64:()=>DD,sha256_base64url:()=>MD,sha256_hex:()=>ND,sha384_base64:()=>LD,sha384_base64url:()=>WD,sha384_hex:()=>$D,sha512_base64:()=>GD,sha512_base64url:()=>ZD,sha512_hex:()=>FD,string:()=>om,time:()=>nm,ulid:()=>Fd,undefined:()=>lm,unicodeEmail:()=>OS,uppercase:()=>dm,uuid:()=>Nn,uuid4:()=>yD,uuid6:()=>bD,uuid7:()=>vD,xid:()=>Gd});var Ld=/^[cC][^\s-]{8,}$/,Wd=/^[0-9a-z]+$/,Fd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Gd=/^[0-9a-vA-V]{20}$/,Zd=/^[A-Za-z0-9]{27}$/,Ud=/^[a-zA-Z0-9_-]{21}$/,jd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,hD=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Bd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,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})$`)},yD=Nn(4),bD=Nn(6),vD=Nn(7),Vd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,_D=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,SD=/^(([^<>()\[\]\\.,;:\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,}))$/,OS=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,xD=OS,CD=/^[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])?)*$/,ED="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Hd(){return new RegExp(ED,"u")}var Kd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,qd=/^(([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}|:))$/,Yd=(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}$`)},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])\/([0-9]|[1-2][0-9]|3[0-2])$/,Xd=/^(([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])$/,Qd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ia=/^[A-Za-z0-9_-]*$/,wD=/^(?=.{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])?)*\.?$/,RD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,em=/^\+[1-9]\d{6,14}$/,zS="(?:(?:\\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])))",tm=new RegExp(`^${zS}$`);function NS(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 nm(e){return new RegExp(`^${NS(e)}$`)}function rm(e){let t=NS({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(`^${zS}T(?:${r})$`)}var om=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},im=/^-?\d+n?$/,sm=/^-?\d+$/,Ko=/^-?\d+(?:\.\d+)?$/,am=/^(?:true|false)$/i,cm=/^null$/i;var lm=/^undefined$/i;var um=/^[^A-Z]*$/,dm=/^[^a-z]*$/,PD=/^[0-9a-fA-F]*$/;function qo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Yo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var AD=/^[0-9a-fA-F]{32}$/,kD=qo(22,"=="),TD=Yo(22),ID=/^[0-9a-fA-F]{40}$/,OD=qo(27,"="),zD=Yo(27),ND=/^[0-9a-fA-F]{64}$/,DD=qo(43,"="),MD=Yo(43),$D=/^[0-9a-fA-F]{96}$/,LD=qo(64,""),WD=Yo(64),FD=/^[0-9a-fA-F]{128}$/,GD=qo(86,"=="),ZD=Yo(86);var Q=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),MS={number:"number",bigint:"bigint",object:"date"},Oa=g("$ZodCheckLessThan",(e,t)=>{Q.init(e,t);let n=MS[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=MS[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})}}),mm=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):Pd(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})}}),fm=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]=zd[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=sm}),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})}}),pm=g("$ZodCheckBigIntFormat",(e,t)=>{Q.init(e,t);let[n,r]=Nd[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})}}),gm=g("$ZodCheckMaxSize",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qt(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})}}),hm=g("$ZodCheckMinSize",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qt(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})}}),ym=g("$ZodCheckSizeEquals",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qt(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})}}),bm=g("$ZodCheckMaxLength",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qt(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})}}),vm=g("$ZodCheckMinLength",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qt(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})}}),_m=g("$ZodCheckLengthEquals",(e,t)=>{var n;Q.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!Qt(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=()=>{})}),Sm=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})}}),xm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=um),wr.init(e,t)}),Cm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=dm),wr.init(e,t)}),Em=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})}}),wm=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})}}),Rm=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 DS(e,t,n){if(e.issues.length)t.issues.push(...Ze(n,e.issues))}var Pm=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)=>DS(o,n,t.property));DS(r,n,t.property);return}}),Am=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})}}),km=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(`
62
62
  `).filter((i)=>i),r=Math.min(...n.map((i)=>i.length-i.trimStart().length)),o=n.map((i)=>i.slice(r)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,t=this?.args,r=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,r.join(`
63
- `))}}var Im={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=Im;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=cn(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let f=s.issues.length,m=d._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new xt;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await m,s.issues.length===f)return;if(!l)l=cn(s,f)});else{if(s.issues.length===f)continue;if(!l)l=cn(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(cn(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)}}F(e,"~standard",()=>({validate:(o)=>{try{let i=Md(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Ld(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Ln=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??im(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)=>{Rr.init(e,t),Ln.init(e,t)}),zm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Hd),K.init(e,t)}),Nm=g("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Mn(r))}else t.pattern??(t.pattern=Mn());K.init(e,t)}),Dm=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Vd),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})}}}),Mm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Kd()),K.init(e,t)}),Lm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Ud),K.init(e,t)}),Wm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Wd),K.init(e,t)}),Fm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Fd),K.init(e,t)}),Gm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Gd),K.init(e,t)}),Zm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Zd),K.init(e,t)}),Bm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Bd),K.init(e,t)}),Um=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=om(t)),K.init(e,t)}),jm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=nm),K.init(e,t)}),Hm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=rm(t)),K.init(e,t)}),Vm=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=jd),K.init(e,t)}),Km=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=qd),K.init(e,t),e._zod.bag.format="ipv4"}),qm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Yd),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})}}}),Ym=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Jd(t.delimiter)),K.init(e,t),e._zod.bag.format="mac"}),Jm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Xd),K.init(e,t)}),Xm=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Qd),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 Qm(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ef=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=em),K.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Qm(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function W_(e){if(!Na.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Qm(n)}var tf=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Na),K.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if(W_(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),nf=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=tm),K.init(e,t)});function F_(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 rf=g("$ZodJWT",(e,t)=>{K.init(e,t),e._zod.check=(n)=>{if(F_(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),of=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})}}),Ba=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??Vo,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}}),sf=g("$ZodNumberFormat",(e,t)=>{pm.init(e,t),Ba.init(e,t)}),Yo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=cm,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)=>{D.init(e,t),e._zod.pattern=sm,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}}),af=g("$ZodBigIntFormat",(e,t)=>{gm.init(e,t),Ua.init(e,t)}),cf=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}}),lf=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=um,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}}),uf=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=lm,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}}),df=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),mf=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),ff=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)}),pf=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}}),gf=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 k_(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues));t.value[n]=e.value}var hf=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)=>k_(l,n,s)));else k_(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Za(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...Fe(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function G_(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=zd(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Z_(e,t,n,r,o,i){let s=[],a=o.keySet,c=o.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let f=c.run({value:t[d],issues:[]},r);if(f instanceof Promise)e.push(f.then((m)=>Za(m,n,d,t,u)));else Za(f,n,d,t,u)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i});if(!e.length)return n;return Promise.all(e).then(()=>n)}var B_=g("$ZodObject",(e,t)=>{if(D.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let a=t.shape;Object.defineProperty(t,"shape",{get:()=>{let c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}let r=br(()=>G_(t));F(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let o=$n,i=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=r.value);let l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let f of s.keys){let m=d[f],p=m._zod.optout==="optional",h=m._zod.run({value:l[f],issues:[]},c);if(h instanceof Promise)u.push(h.then((b)=>Za(b,a,f,l,p)));else Za(h,a,f,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return Z_(u,l,a,c,r.value,e)}}),yf=g("$ZodObjectJIT",(e,t)=>{B_.init(e,t);let n=e._zod.parse,r=br(()=>G_(t)),o=(f)=>{let m=new Ma(["shape","payload","ctx"]),p=r.value,h=(w)=>{let R=va(w);return`shape[${R}]._zod.run({ value: input[${R}], issues: [] }, ctx)`};m.write("const input = payload.value;");let b=Object.create(null),y=0;for(let w of p.keys)b[w]=`key_${y++}`;m.write("const newResult = {};");for(let w of p.keys){let R=b[w],P=va(w),v=f[w]?._zod?.optout==="optional";if(m.write(`const ${R} = ${h(w)};`),v)m.write(`
64
- if (${R}.issues.length) {
63
+ `))}}var Tm={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=Tm;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=nn(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=nn(s,m)});else{if(s.issues.length===m)continue;if(!l)l=nn(s,m)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(nn(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=Md(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return $d(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Dn=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??om(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)=>{wr.init(e,t),Dn.init(e,t)}),Om=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),zm=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());q.init(e,t)}),Nm=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Vd),q.init(e,t)}),Dm=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})}}}),Mm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Hd()),q.init(e,t)}),$m=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Ud),q.init(e,t)}),Lm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Ld),q.init(e,t)}),Wm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Wd),q.init(e,t)}),Fm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Fd),q.init(e,t)}),Gm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),Zm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),Um=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=rm(t)),q.init(e,t)}),jm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=tm),q.init(e,t)}),Bm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=nm(t)),q.init(e,t)}),Vm=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=jd),q.init(e,t)}),Hm=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Kd),q.init(e,t),e._zod.bag.format="ipv4"}),Km=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=qd),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})}}}),qm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Yd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),Ym=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t)}),Jm=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Xd),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 Xm(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Qm=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Qd),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Xm(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 Xm(n)}var ef=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ia),q.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})}}),tf=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=em),q.init(e,t)});function YS(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 nf=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(YS(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),rf=g("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Fa=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ko,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}}),of=g("$ZodNumberFormat",(e,t)=>{fm.init(e,t),Fa.init(e,t)}),Jo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=am,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=im,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}}),sf=g("$ZodBigIntFormat",(e,t)=>{pm.init(e,t),Ga.init(e,t)}),af=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}}),cf=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=lm,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}}),lf=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=cm,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}}),uf=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),df=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),mf=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)}),ff=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}}),pf=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 LS(e,t,n){if(e.issues.length)t.issues.push(...Ze(n,e.issues));t.value[n]=e.value}var gf=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)=>LS(l,n,s)));else LS(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 JS(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=Od(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function XS(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 QS=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(()=>JS(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 XS(u,l,a,c,r.value,e)}}),hf=g("$ZodObjectJIT",(e,t)=>{QS.init(e,t);let n=e._zod.parse,r=yr(()=>JS(t)),o=(m)=>{let f=new Na(["shape","payload","ctx"]),p=r.value,h=(A)=>{let x=ha(A);return`shape[${x}]._zod.run({ value: input[${x}], 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 x=y[A],P=ha(A),k=m[A]?._zod?.optout==="optional";if(f.write(`const ${x} = ${h(A)};`),k)f.write(`
64
+ if (${x}.issues.length) {
65
65
  if (${P} in input) {
66
- payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
66
+ payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
67
67
  ...iss,
68
68
  path: iss.path ? [${P}, ...iss.path] : [${P}]
69
69
  })));
70
70
  }
71
71
  }
72
72
 
73
- if (${R}.value === undefined) {
73
+ if (${x}.value === undefined) {
74
74
  if (${P} in input) {
75
75
  newResult[${P}] = undefined;
76
76
  }
77
77
  } else {
78
- newResult[${P}] = ${R}.value;
78
+ newResult[${P}] = ${x}.value;
79
79
  }
80
80
 
81
- `);else m.write(`
82
- if (${R}.issues.length) {
83
- payload.issues = payload.issues.concat(${R}.issues.map(iss => ({
81
+ `);else f.write(`
82
+ if (${x}.issues.length) {
83
+ payload.issues = payload.issues.concat(${x}.issues.map(iss => ({
84
84
  ...iss,
85
85
  path: iss.path ? [${P}, ...iss.path] : [${P}]
86
86
  })));
87
87
  }
88
88
 
89
- if (${R}.value === undefined) {
89
+ if (${x}.value === undefined) {
90
90
  if (${P} in input) {
91
91
  newResult[${P}] = undefined;
92
92
  }
93
93
  } else {
94
- newResult[${P}] = ${R}.value;
94
+ newResult[${P}] = ${x}.value;
95
95
  }
96
96
 
97
- `)}m.write("payload.value = newResult;"),m.write("return payload;");let E=m.compile();return(w,R)=>E(f,w,R)},i,s=$n,a=!Wo.jitless,l=a&&Td.value,u=t.catchall,d;e._zod.parse=(f,m)=>{d??(d=r.value);let p=f.value;if(!s(p))return f.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),f;if(a&&l&&m?.async===!1&&m.jitless!==!0){if(!i)i=o(t.shape);if(f=i(f,m),!u)return f;return Z_([],p,f,m,d,e)}return n(f,m)}});function A_(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)=>!cn(i));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))}),t}var Jo=g("$ZodUnion",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.options.some((o)=>o._zod.optin==="optional")?"optional":void 0),F(e._zod,"optout",()=>t.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),F(e._zod,"values",()=>{if(t.options.every((o)=>o._zod.values))return new Set(t.options.flatMap((o)=>Array.from(o._zod.values)));return}),F(e._zod,"pattern",()=>{if(t.options.every((o)=>o._zod.pattern)){let o=t.options.map((i)=>i._zod.pattern);return new RegExp(`^(${o.map((i)=>Zo(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 A_(a,o,e,i);return Promise.all(a).then((c)=>A_(c,o,e,i))}});function T_(e,t,n,r){let o=e.filter((i)=>i.issues.length===0);if(o.length===1)return t.value=o[0].value,t;if(o.length===0)t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}var bf=g("$ZodXor",(e,t)=>{Jo.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 T_(a,o,e,i);return Promise.all(a).then((c)=>T_(c,o,e,i))}}),vf=g("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,Jo.init(e,t);let n=e._zod.parse;F(e._zod,"propValues",()=>{let o={};for(let i of t.options){let s=i._zod.propValues;if(!s||Object.keys(s).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(i)}"`);for(let[a,c]of Object.entries(s)){if(!o[a])o[a]=new Set;for(let l of c)o[a].add(l)}}return o});let r=br(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!$n(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=r.value.get(s?.[t.discriminator]);if(a)return a._zod.run(o,i);if(t.unionFallback)return n(o,i);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o}}),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])=>I_(n,c,l));return I_(n,i,s)}});function Om(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(an(e)&&an(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=Om(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=Om(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 I_(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(cn(e))return e;let s=Om(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)=>{D.init(e,t);let n=t.items;e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let s=[],a=[...n].reverse().findIndex((u)=>u._zod.optin!=="optional"),c=a===-1?0:n.length-a;if(!t.rest){let u=i.length>n.length,d=i.length<c-1;if(u||d)return r.issues.push({...u?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let l=-1;for(let u of n){if(l++,l>=i.length){if(l>=c)continue}let d=u._zod.run({value:i[l],issues:[]},o);if(d instanceof Promise)s.push(d.then((f)=>La(f,r,l)));else La(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let f=t.rest._zod.run({value:d,issues:[]},o);if(f instanceof Promise)s.push(f.then((m)=>La(m,r,l)));else La(f,r,l)}}if(s.length)return Promise.all(s).then(()=>r);return r}});function La(e,t,n){if(e.issues.length)t.issues.push(...Fe(n,e.issues));t.value[n]=e.value}var _f=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!an(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[],s=t.keyType._zod.values;if(s){n.value={};let a=new Set;for(let l of s)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){a.add(typeof l==="number"?l.toString():l);let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...Fe(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...Fe(l,u.issues));n.value[l]=u.value}}let c;for(let l in o)if(!a.has(l))c=c??[],c.push(l);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a==="string"&&Vo.test(a)&&c.issues.length&&c.issues.some((d)=>d.code==="invalid_type"&&d.expected==="number")){let d=t.keyType._zod.run({value:Number(a),issues:[]},r);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length===0)c=d}if(c.issues.length){if(t.mode==="loose")n.value[a]=o[a];else n.issues.push({code:"invalid_key",origin:"record",issues:c.issues.map((d)=>Pe(d,r,se())),input:a,path:[a],inst:e});continue}let u=t.valueType._zod.run({value:o[a],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...Fe(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...Fe(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),xf=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])=>{O_(u,d,n,s,o,e,r)}));else O_(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function O_(e,t,n,r,o,i,s){if(e.issues.length)if(Bo.has(typeof r))n.issues.push(...Fe(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Pe(a,s,se()))});if(t.issues.length)if(Bo.has(typeof r))n.issues.push(...Fe(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Pe(a,s,se()))});n.value.set(e.value,t.value)}var Cf=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)=>z_(c,n)));else z_(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function z_(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=Go(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=new RegExp(`^(${n.filter((o)=>Bo.has(typeof o)).map((o)=>typeof o==="string"?Ye(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;if(r.has(s))return o;return o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),Ef=g("$ZodLiteral",(e,t)=>{if(D.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((r)=>typeof r==="string"?Ye(r):r?Ye(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(n.has(i))return r;return r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),Rf=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}}),Pf=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn(e.constructor.name);let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((s)=>(n.value=s,n));if(o instanceof Promise)throw new xt;return n.value=o,n}});function N_(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ha=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Zo(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)=>N_(i,n.value));return N_(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),kf=g("$ZodExactOptional",(e,t)=>{Ha.init(e,t),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Af=g("$ZodNullable",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${Zo(n.source)}|null)$`):void 0}),F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>{if(n.value===null)return n;return t.innerType._zod.run(n,r)}}),Tf=g("$ZodDefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>D_(i,t));return D_(o,t)}});function D_(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var If=g("$ZodPrefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),Of=g("$ZodNonOptional",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>$_(i,e));return $_(o,e)}});function $_(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 zf=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn("ZodSuccess");let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>(n.value=i.issues.length===0,n));return n.value=o.issues.length===0,n}}),Nf=g("$ZodCatch",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>{if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((s)=>Pe(s,r,se()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((i)=>Pe(i,r,se()))},input:n.value}),n.issues=[];return n}}),Df=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),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Wa(s,t.in,r));return Wa(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Wa(i,t.out,r));return Wa(o,t.out,r)}});function Wa(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var Xo=g("$ZodCodec",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if((r.direction||"forward")==="forward"){let i=t.in._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Fa(s,t,r));return Fa(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Fa(s,t,r));return Fa(i,t,r)}}});function Fa(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)=>Ga(e,i,t.out,n));return Ga(e,o,t.out,n)}else{let o=t.reverseTransform(e.value,e);if(o instanceof Promise)return o.then((i)=>Ga(e,i,t.in,n));return Ga(e,o,t.in,n)}}function Ga(e,t,n,r){if(e.issues.length)return e.aborted=!0,e;return n._zod.run({value:t,issues:e.issues},r)}var Mf=g("$ZodReadonly",(e,t)=>{D.init(e,t),F(e._zod,"propValues",()=>t.innerType._zod.propValues),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"optin",()=>t.innerType?._zod?.optin),F(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(M_);return M_(o)}});function M_(e){return e.value=Object.freeze(e.value),e}var Lf=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||Od.has(typeof r))n.push(Ye(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),Wf=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?wa(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return wa(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 Ea(e._def.input,r):r,i=await Reflect.apply(n,this,o);if(e._def.output)return await Ea(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)),Ff=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))}),Gf=g("$ZodLazy",(e,t)=>{D.init(e,t),F(e._zod,"innerType",()=>t.getter()),F(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),F(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),F(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),F(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Zf=g("$ZodCustom",(e,t)=>{J.init(e,t),D.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((i)=>L_(i,n,r,e));L_(o,n,r,e);return}});function L_(e,t,n,r){if(!e){let o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};if(r._zod.def.params)o.params=r._zod.def.params;t.issues.push(vr(o))}}var Qo={};var U_,Va=Symbol("ZodOutput"),Ka=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 ei(){return new Bf}(U_=globalThis).__zod_globalRegistry??(U_.__zod_globalRegistry=ei());var Ae=globalThis.__zod_globalRegistry;function Uf(e,t){return new e({type:"string",..._(t)})}function jf(e,t){return new e({type:"string",coerce:!0,..._(t)})}function qa(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,..._(t)})}function ti(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,..._(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,..._(t)})}function Ja(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(t)})}function Xa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._(t)})}function Qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._(t)})}function ni(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,..._(t)})}function ec(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,..._(t)})}function tc(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,..._(t)})}function nc(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,..._(t)})}function rc(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,..._(t)})}function oc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,..._(t)})}function ic(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,..._(t)})}function sc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,..._(t)})}function ac(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,..._(t)})}function cc(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 lc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(t)})}function uc(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(t)})}function dc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._(t)})}function mc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._(t)})}function fc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._(t)})}function pc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._(t)})}var gc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Vf(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 qf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,..._(t)})}function Yf(e,t){return new e({type:"string",format:"duration",check:"string_format",..._(t)})}function Jf(e,t){return new e({type:"number",checks:[],..._(t)})}function Xf(e,t){return new e({type:"number",coerce:!0,checks:[],..._(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",..._(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",..._(t)})}function np(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",..._(t)})}function rp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",..._(t)})}function op(e,t){return new e({type:"boolean",..._(t)})}function ip(e,t){return new e({type:"boolean",coerce:!0,..._(t)})}function sp(e,t){return new e({type:"bigint",..._(t)})}function ap(e,t){return new e({type:"bigint",coerce:!0,..._(t)})}function cp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",..._(t)})}function lp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",..._(t)})}function up(e,t){return new e({type:"symbol",..._(t)})}function dp(e,t){return new e({type:"undefined",..._(t)})}function mp(e,t){return new e({type:"null",..._(t)})}function fp(e){return new e({type:"any"})}function pp(e){return new e({type:"unknown"})}function gp(e,t){return new e({type:"never",..._(t)})}function hp(e,t){return new e({type:"void",..._(t)})}function yp(e,t){return new e({type:"date",..._(t)})}function bp(e,t){return new e({type:"date",coerce:!0,..._(t)})}function vp(e,t){return new e({type:"nan",..._(t)})}function Ct(e,t){return new Da({check:"less_than",..._(t),value:e,inclusive:!1})}function Ze(e,t){return new Da({check:"less_than",..._(t),value:e,inclusive:!0})}function wt(e,t){return new $a({check:"greater_than",..._(t),value:e,inclusive:!1})}function _e(e,t){return new $a({check:"greater_than",..._(t),value:e,inclusive:!0})}function hc(e){return wt(0,e)}function yc(e){return Ct(0,e)}function bc(e){return Ze(0,e)}function vc(e){return _e(0,e)}function ln(e,t){return new fm({check:"multiple_of",..._(t),value:e})}function un(e,t){return new hm({check:"max_size",..._(t),maximum:e})}function Et(e,t){return new ym({check:"min_size",..._(t),minimum:e})}function Wn(e,t){return new bm({check:"size_equals",..._(t),size:e})}function Fn(e,t){return new vm({check:"max_length",..._(t),maximum:e})}function Zt(e,t){return new Sm({check:"min_length",..._(t),minimum:e})}function Gn(e,t){return new _m({check:"length_equals",..._(t),length:e})}function Pr(e,t){return new xm({check:"string_format",format:"regex",..._(t),pattern:e})}function kr(e){return new Cm({check:"string_format",format:"lowercase",..._(e)})}function Ar(e){return new wm({check:"string_format",format:"uppercase",..._(e)})}function Tr(e,t){return new Em({check:"string_format",format:"includes",..._(t),includes:e})}function Ir(e,t){return new Rm({check:"string_format",format:"starts_with",..._(t),prefix:e})}function Or(e,t){return new Pm({check:"string_format",format:"ends_with",..._(t),suffix:e})}function Sc(e,t,n){return new km({check:"property",property:e,schema:t,..._(n)})}function zr(e,t){return new Am({check:"mime_type",mime:e,..._(t)})}function ct(e){return new Tm({check:"overwrite",tx:e})}function Nr(e){return ct((t)=>t.normalize(e))}function Dr(){return ct((e)=>e.trim())}function $r(){return ct((e)=>e.toLowerCase())}function Mr(){return ct((e)=>e.toUpperCase())}function Lr(){return ct((e)=>Ad(e))}function Sp(e,t,n){return new e({type:"array",element:t,..._(n)})}function xD(e,t,n){return new e({type:"union",options:t,..._(n)})}function CD(e,t,n){return new e({type:"union",options:t,inclusive:!1,..._(n)})}function wD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,..._(r)})}function ED(e,t,n){return new e({type:"intersection",left:t,right:n})}function RD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,..._(o?r:n)})}function PD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,..._(r)})}function kD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,..._(r)})}function AD(e,t,n){return new e({type:"set",valueType:t,..._(n)})}function TD(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 ID(e,t,n){return new e({type:"enum",entries:t,..._(n)})}function OD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],..._(n)})}function _p(e,t){return new e({type:"file",..._(t)})}function zD(e,t){return new e({type:"transform",transform:t})}function ND(e,t){return new e({type:"optional",innerType:t})}function DD(e,t){return new e({type:"nullable",innerType:t})}function $D(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Id(n)}})}function MD(e,t,n){return new e({type:"nonoptional",innerType:t,..._(n)})}function LD(e,t){return new e({type:"success",innerType:t})}function WD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function FD(e,t,n){return new e({type:"pipe",in:t,out:n})}function GD(e,t){return new e({type:"readonly",innerType:t})}function ZD(e,t,n){return new e({type:"template_literal",parts:t,..._(n)})}function BD(e,t){return new e({type:"lazy",getter:t})}function UD(e,t){return new e({type:"promise",innerType:t})}function xp(e,t,n){let r=_(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Cp(e,t,n){return new e({type:"custom",check:"custom",fn:t,..._(n)})}function wp(e){let t=j_((n)=>(n.addIssue=(r)=>{if(typeof r==="string")n.issues.push(vr(r,n.value,t._zod.def));else{let o=r;if(o.fatal)o.continue=!1;o.code??(o.code="custom"),o.input??(o.input=n.value),o.inst??(o.inst=t),o.continue??(o.continue=!t._zod.def.abort),n.issues.push(vr(o))}},e(n.value,n)));return t}function j_(e,t){let n=new J({check:"custom",..._(t)});return n._zod.check=e,n}function Ep(e){let t=new J({check:"describe"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function Rp(e){let t=new J({check:"meta"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,...e})}],t._zod.check=()=>{},t}function Pp(e,t){let n=_(t),r=n.truthy??["true","1","yes","on","y","enabled"],o=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")r=r.map((m)=>typeof m==="string"?m.toLowerCase():m),o=o.map((m)=>typeof m==="string"?m.toLowerCase():m);let i=new Set(r),s=new Set(o),a=e.Codec??Xo,c=e.Boolean??Yo,u=new(e.String??Ln)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),f=new a({type:"pipe",in:u,out:d,transform:(m,p)=>{let h=m;if(n.case!=="sensitive")h=h.toLowerCase();if(i.has(h))return!0;else if(s.has(h))return!1;else return p.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:p.value,inst:f,continue:!1}),{}},reverseTransform:(m,p)=>{if(m===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return f}function Wr(e,t,n,r={}){let o=_(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 Fr=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},kp=()=>Fr,_c=()=>Fr,Gr=Fr,X=Fr,Zr=Fr,Br=Fr;var jD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ap=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i==="number")o.minLength=i;if(typeof s==="number")o.maxLength=s;if(a){if(o.format=jD[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Tp=(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},Ip=(e,t,n,r)=>{n.type="boolean"},Op=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Np=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Dp=(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")},Mp=(e,t,n,r)=>{n.not={}},Lp=(e,t,n,r)=>{},Wp=(e,t,n,r)=>{},Fp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Gp=(e,t,n,r)=>{let o=e._zod.def,i=Go(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},Zp=(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")},Up=(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},jp=(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"},Vp=(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")},qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Yp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Xp=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=X(i.element,t,{...r,path:[...r.path,"items"]})},Qp=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=X(s[l],t,{...r,path:[...r.path,"properties",l]});let a=new Set(Object.keys(s)),c=new Set([...a].filter((l)=>{let u=i.shape[l]._zod;if(t.io==="input")return u.optin===void 0;else return u.optout===void 0}));if(c.size>0)o.required=Array.from(c);if(i.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!i.catchall){if(t.io==="output")o.additionalProperties=!1}else if(i.catchall)o.additionalProperties=X(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},Cc=(e,t,n,r)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>X(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},eg=(e,t,n,r)=>{let o=e._zod.def,i=X(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=X(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=(l)=>("allOf"in l)&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c},tg=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((f,m)=>X(f,t,{...r,path:[...r.path,s,m]})),l=i.rest?X(i.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(o.prefixItems=c,l)o.items=l}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},l)o.items.anyOf.push(l);if(o.minItems=c.length,!l)o.maxItems=c.length}else if(o.items=c,l)o.additionalItems=l;let{minimum:u,maximum:d}=e._zod.bag;if(typeof u==="number")o.minItems=u;if(typeof d==="number")o.maxItems=d},ng=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object";let s=i.keyType,c=s._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let u=X(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=u}else{if(t.target==="draft-07"||t.target==="draft-2020-12")o.propertyNames=X(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});o.additionalProperties=X(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=s._zod.values;if(l){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u}},rg=(e,t,n,r)=>{let o=e._zod.def,i=X(o.innerType,t,r),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=o.innerType,n.nullable=!0;else n.anyOf=[i,{type:"null"}]},og=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},ig=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},sg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);if(i.ref=o.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(o.defaultValue))},ag=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},cg=(e,t,n,r)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;X(i,t,r);let s=t.seen.get(e);s.ref=i},lg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},ug=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},wc=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},dg=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},xc={string:Ap,number:Tp,boolean:Ip,bigint:Op,symbol:zp,null:Np,undefined:Dp,void:$p,never:Mp,any:Lp,unknown:Wp,date:Fp,enum:Gp,literal:Zp,nan:Bp,template_literal:Up,file:jp,success:Hp,custom:Vp,function:Kp,transform:qp,map:Yp,set:Jp,array:Xp,object:Qp,union:Cc,intersection:eg,tuple:tg,record:ng,nullable:rg,nonoptional:og,default:ig,prefault:sg,catch:ag,pipe:cg,readonly:lg,promise:ug,optional:wc,lazy:dg};function ri(e,t){if("_idmap"in e){let r=e,o=Gr({...t,processors:xc}),i={};for(let c of r._idmap.entries()){let[l,u]=c;X(u,o)}let s={},a={registry:r,uri:t?.uri,defs:i};o.external=a;for(let c of r._idmap.entries()){let[l,u]=c;Zr(o,u),s[l]=Br(o,u)}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let n=Gr({...t,processors:xc});return X(e,n),Zr(n,e),Br(n,e)}class mg{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:xc,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return X(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Zr(this.ctx,e);let n=Br(this.ctx,e),{"~standard":r,...o}=n;return o}}var H_={};var ci={};mn(ci,{ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,date:()=>pg,datetime:()=>fg,duration:()=>hg,time:()=>gg});var oi=g("ZodISODateTime",(e,t)=>{Um.init(e,t),q.init(e,t)});function fg(e){return Vf(oi,e)}var ii=g("ZodISODate",(e,t)=>{jm.init(e,t),q.init(e,t)});function pg(e){return Kf(ii,e)}var si=g("ZodISOTime",(e,t)=>{Hm.init(e,t),q.init(e,t)});function gg(e){return qf(si,e)}var ai=g("ZodISODuration",(e,t)=>{Vm.init(e,t),q.init(e,t)});function hg(e){return Yf(ai,e)}var K_=(e,t)=>{Ho.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>_r(e,n)},flatten:{value:(n)=>Sr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,yr,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,yr,2)}},isEmpty:{get(){return e.issues.length===0}}})},q_=g("ZodError",K_),xe=g("ZodError",K_,{Parent:Error});var Ec=xr(xe),Rc=Cr(xe),Pc=wr(xe),kc=Er(xe),Ac=Ra(xe),Tc=Pa(xe),Ic=ka(xe),Oc=Aa(xe),zc=Ta(xe),Nc=Ia(xe),Dc=Oa(xe),$c=za(xe);var L=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:_c(e,"input"),output:_c(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)=>he(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)=>Pc(e,n,r),e.parseAsync=async(n,r)=>Rc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>kc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>Ac(e,n,r),e.decode=(n,r)=>Tc(e,n,r),e.encodeAsync=async(n,r)=>Ic(e,n,r),e.decodeAsync=async(n,r)=>Oc(e,n,r),e.safeEncode=(n,r)=>zc(e,n,r),e.safeDecode=(n,r)=>Nc(e,n,r),e.safeEncodeAsync=async(n,r)=>Dc(e,n,r),e.safeDecodeAsync=async(n,r)=>$c(e,n,r),e.refine=(n,r)=>e.check(sh(n,r)),e.superRefine=(n)=>e.check(ah(n)),e.overwrite=(n)=>e.check(ct(n)),e.optional=()=>ui(e),e.exactOptional=()=>Zg(e),e.nullable=()=>di(e),e.nullish=()=>ui(di(e)),e.nonoptional=(n)=>Kg(e,n),e.array=()=>gi(e),e.or=(n)=>ol([e,n]),e.and=(n)=>Og(e,n),e.transform=(n)=>mi(e,sl(n)),e.default=(n)=>jg(e,n),e.prefault=(n)=>Vg(e,n),e.catch=(n)=>Jg(e,n),e.pipe=(n)=>mi(e,n),e.readonly=()=>eh(e),e.describe=(n)=>{let r=e.clone();return Ae.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ae.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ae.get(e);let r=e.clone();return Ae.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=(n)=>n(e),e)),Wc=g("_ZodString",(e,t)=>{Ln.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ap(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Pr(...r)),e.includes=(...r)=>e.check(Tr(...r)),e.startsWith=(...r)=>e.check(Ir(...r)),e.endsWith=(...r)=>e.check(Or(...r)),e.min=(...r)=>e.check(Zt(...r)),e.max=(...r)=>e.check(Fn(...r)),e.length=(...r)=>e.check(Gn(...r)),e.nonempty=(...r)=>e.check(Zt(1,...r)),e.lowercase=(r)=>e.check(kr(r)),e.uppercase=(r)=>e.check(Ar(r)),e.trim=()=>e.check(Dr()),e.normalize=(...r)=>e.check(Nr(...r)),e.toLowerCase=()=>e.check($r()),e.toUpperCase=()=>e.check(Mr()),e.slugify=()=>e.check(Lr())}),jr=g("ZodString",(e,t)=>{Ln.init(e,t),Wc.init(e,t),e.email=(n)=>e.check(qa(Fc,n)),e.url=(n)=>e.check(ni(fi,n)),e.jwt=(n)=>e.check(pc(tl,n)),e.emoji=(n)=>e.check(ec(Gc,n)),e.guid=(n)=>e.check(ti(li,n)),e.uuid=(n)=>e.check(Ya(Pt,n)),e.uuidv4=(n)=>e.check(Ja(Pt,n)),e.uuidv6=(n)=>e.check(Xa(Pt,n)),e.uuidv7=(n)=>e.check(Qa(Pt,n)),e.nanoid=(n)=>e.check(tc(Zc,n)),e.guid=(n)=>e.check(ti(li,n)),e.cuid=(n)=>e.check(nc(Bc,n)),e.cuid2=(n)=>e.check(rc(Uc,n)),e.ulid=(n)=>e.check(oc(jc,n)),e.base64=(n)=>e.check(dc(Xc,n)),e.base64url=(n)=>e.check(mc(Qc,n)),e.xid=(n)=>e.check(ic(Hc,n)),e.ksuid=(n)=>e.check(sc(Vc,n)),e.ipv4=(n)=>e.check(ac(Kc,n)),e.ipv6=(n)=>e.check(cc(qc,n)),e.cidrv4=(n)=>e.check(lc(Yc,n)),e.cidrv6=(n)=>e.check(uc(Jc,n)),e.e164=(n)=>e.check(fc(el,n)),e.datetime=(n)=>e.check(fg(n)),e.date=(n)=>e.check(pg(n)),e.time=(n)=>e.check(gg(n)),e.duration=(n)=>e.check(hg(n))});function Mc(e){return Uf(jr,e)}var q=g("ZodStringFormat",(e,t)=>{K.init(e,t),Wc.init(e,t)}),Fc=g("ZodEmail",(e,t)=>{Dm.init(e,t),q.init(e,t)});function Y_(e){return qa(Fc,e)}var li=g("ZodGUID",(e,t)=>{zm.init(e,t),q.init(e,t)});function J_(e){return ti(li,e)}var Pt=g("ZodUUID",(e,t)=>{Nm.init(e,t),q.init(e,t)});function X_(e){return Ya(Pt,e)}function Q_(e){return Ja(Pt,e)}function ex(e){return Xa(Pt,e)}function tx(e){return Qa(Pt,e)}var fi=g("ZodURL",(e,t)=>{$m.init(e,t),q.init(e,t)});function nx(e){return ni(fi,e)}function rx(e){return ni(fi,{protocol:/^https?$/,hostname:Ge.domain,...I.normalizeParams(e)})}var Gc=g("ZodEmoji",(e,t)=>{Mm.init(e,t),q.init(e,t)});function ox(e){return ec(Gc,e)}var Zc=g("ZodNanoID",(e,t)=>{Lm.init(e,t),q.init(e,t)});function ix(e){return tc(Zc,e)}var Bc=g("ZodCUID",(e,t)=>{Wm.init(e,t),q.init(e,t)});function sx(e){return nc(Bc,e)}var Uc=g("ZodCUID2",(e,t)=>{Fm.init(e,t),q.init(e,t)});function ax(e){return rc(Uc,e)}var jc=g("ZodULID",(e,t)=>{Gm.init(e,t),q.init(e,t)});function cx(e){return oc(jc,e)}var Hc=g("ZodXID",(e,t)=>{Zm.init(e,t),q.init(e,t)});function lx(e){return ic(Hc,e)}var Vc=g("ZodKSUID",(e,t)=>{Bm.init(e,t),q.init(e,t)});function ux(e){return sc(Vc,e)}var Kc=g("ZodIPv4",(e,t)=>{Km.init(e,t),q.init(e,t)});function dx(e){return ac(Kc,e)}var yg=g("ZodMAC",(e,t)=>{Ym.init(e,t),q.init(e,t)});function mx(e){return Hf(yg,e)}var qc=g("ZodIPv6",(e,t)=>{qm.init(e,t),q.init(e,t)});function fx(e){return cc(qc,e)}var Yc=g("ZodCIDRv4",(e,t)=>{Jm.init(e,t),q.init(e,t)});function px(e){return lc(Yc,e)}var Jc=g("ZodCIDRv6",(e,t)=>{Xm.init(e,t),q.init(e,t)});function gx(e){return uc(Jc,e)}var Xc=g("ZodBase64",(e,t)=>{ef.init(e,t),q.init(e,t)});function hx(e){return dc(Xc,e)}var Qc=g("ZodBase64URL",(e,t)=>{tf.init(e,t),q.init(e,t)});function yx(e){return mc(Qc,e)}var el=g("ZodE164",(e,t)=>{nf.init(e,t),q.init(e,t)});function bx(e){return fc(el,e)}var tl=g("ZodJWT",(e,t)=>{rf.init(e,t),q.init(e,t)});function vx(e){return pc(tl,e)}var Hr=g("ZodCustomStringFormat",(e,t)=>{of.init(e,t),q.init(e,t)});function Sx(e,t,n={}){return Wr(Hr,e,t,n)}function _x(e){return Wr(Hr,"hostname",Ge.hostname,e)}function xx(e){return Wr(Hr,"hex",Ge.hex,e)}function Cx(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Ge[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Wr(Hr,r,o,t)}var Vr=g("ZodNumber",(e,t)=>{Ba.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Tp(e,r,o,i),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.lt=(r,o)=>e.check(Ct(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.int=(r)=>e.check(Lc(r)),e.safe=(r)=>e.check(Lc(r)),e.positive=(r)=>e.check(wt(0,r)),e.nonnegative=(r)=>e.check(_e(0,r)),e.negative=(r)=>e.check(Ct(0,r)),e.nonpositive=(r)=>e.check(Ze(0,r)),e.multipleOf=(r,o)=>e.check(ln(r,o)),e.step=(r,o)=>e.check(ln(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 bg(e){return Jf(Vr,e)}var Bn=g("ZodNumberFormat",(e,t)=>{sf.init(e,t),Vr.init(e,t)});function Lc(e){return Qf(Bn,e)}function wx(e){return ep(Bn,e)}function Ex(e){return tp(Bn,e)}function Rx(e){return np(Bn,e)}function Px(e){return rp(Bn,e)}var Kr=g("ZodBoolean",(e,t)=>{Yo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ip(e,n,r,o)});function vg(e){return op(Kr,e)}var qr=g("ZodBigInt",(e,t)=>{Ua.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Op(e,r,o,i),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.gt=(r,o)=>e.check(wt(r,o)),e.gte=(r,o)=>e.check(_e(r,o)),e.min=(r,o)=>e.check(_e(r,o)),e.lt=(r,o)=>e.check(Ct(r,o)),e.lte=(r,o)=>e.check(Ze(r,o)),e.max=(r,o)=>e.check(Ze(r,o)),e.positive=(r)=>e.check(wt(BigInt(0),r)),e.negative=(r)=>e.check(Ct(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ze(BigInt(0),r)),e.nonnegative=(r)=>e.check(_e(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(ln(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function kx(e){return sp(qr,e)}var nl=g("ZodBigIntFormat",(e,t)=>{af.init(e,t),qr.init(e,t)});function Ax(e){return cp(nl,e)}function Tx(e){return lp(nl,e)}var Sg=g("ZodSymbol",(e,t)=>{cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function Ix(e){return up(Sg,e)}var _g=g("ZodUndefined",(e,t)=>{lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function Ox(e){return dp(_g,e)}var xg=g("ZodNull",(e,t)=>{uf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function Cg(e){return mp(xg,e)}var wg=g("ZodAny",(e,t)=>{df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function zx(){return fp(wg)}var Eg=g("ZodUnknown",(e,t)=>{mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o)});function Zn(){return pp(Eg)}var Rg=g("ZodNever",(e,t)=>{ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mp(e,n,r,o)});function rl(e){return gp(Rg,e)}var Pg=g("ZodVoid",(e,t)=>{pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function Nx(e){return hp(Pg,e)}var pi=g("ZodDate",(e,t)=>{gf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Fp(e,r,o,i),e.min=(r,o)=>e.check(_e(r,o)),e.max=(r,o)=>e.check(Ze(r,o));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function Dx(e){return yp(pi,e)}var kg=g("ZodArray",(e,t)=>{hf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Zt(n,r)),e.nonempty=(n)=>e.check(Zt(1,n)),e.max=(n,r)=>e.check(Fn(n,r)),e.length=(n,r)=>e.check(Gn(n,r)),e.unwrap=()=>e.element});function gi(e,t){return Sp(kg,e,t)}function $x(e){let t=e._zod.def.shape;return il(Object.keys(t))}var hi=g("ZodObject",(e,t)=>{yf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),I.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>il(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Zn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Zn()}),e.strict=()=>e.clone({...e._zod.def,catchall:rl()}),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(al,e,n[0]),e.required=(...n)=>I.required(cl,e,n[0])});function Mx(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new hi(n)}function Lx(e,t){return new hi({type:"object",shape:e,catchall:rl(),...I.normalizeParams(t)})}function Wx(e,t){return new hi({type:"object",shape:e,catchall:Zn(),...I.normalizeParams(t)})}var yi=g("ZodUnion",(e,t)=>{Jo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cc(e,n,r,o),e.options=t.options});function ol(e,t){return new yi({type:"union",options:e,...I.normalizeParams(t)})}var Ag=g("ZodXor",(e,t)=>{yi.init(e,t),bf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Cc(e,n,r,o),e.options=t.options});function Fx(e,t){return new Ag({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Tg=g("ZodDiscriminatedUnion",(e,t)=>{yi.init(e,t),vf.init(e,t)});function Gx(e,t,n){return new Tg({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var Ig=g("ZodIntersection",(e,t)=>{Sf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o)});function Og(e,t){return new Ig({type:"intersection",left:e,right:t})}var zg=g("ZodTuple",(e,t)=>{ja.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Ng(e,t,n){let r=t instanceof D,o=r?n:t;return new zg({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var bi=g("ZodRecord",(e,t)=>{_f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Dg(e,t,n){return new bi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function Zx(e,t,n){let r=he(e);return r._zod.values=void 0,new bi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function Bx(e,t,n){return new bi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var $g=g("ZodMap",(e,t)=>{xf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Et(...n)),e.nonempty=(n)=>e.check(Et(1,n)),e.max=(...n)=>e.check(un(...n)),e.size=(...n)=>e.check(Wn(...n))});function Ux(e,t,n){return new $g({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Mg=g("ZodSet",(e,t)=>{Cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o),e.min=(...n)=>e.check(Et(...n)),e.nonempty=(n)=>e.check(Et(1,n)),e.max=(...n)=>e.check(un(...n)),e.size=(...n)=>e.check(Wn(...n))});function jx(e,t){return new Mg({type:"set",valueType:e,...I.normalizeParams(t)})}var Ur=g("ZodEnum",(e,t)=>{wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Gp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Ur({...t,checks:[],...I.normalizeParams(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let s of r)if(n.has(s))delete i[s];else throw Error(`Key ${s} not found in enum`);return new Ur({...t,checks:[],...I.normalizeParams(o),entries:i})}});function il(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Ur({type:"enum",entries:n,...I.normalizeParams(t)})}function Hx(e,t){return new Ur({type:"enum",entries:e,...I.normalizeParams(t)})}var Lg=g("ZodLiteral",(e,t)=>{Ef.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zp(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 Vx(e,t){return new Lg({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Wg=g("ZodFile",(e,t)=>{Rf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o),e.min=(n,r)=>e.check(Et(n,r)),e.max=(n,r)=>e.check(un(n,r)),e.mime=(n,r)=>e.check(zr(Array.isArray(n)?n:[n],r))});function Kx(e){return _p(Wg,e)}var Fg=g("ZodTransform",(e,t)=>{Pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Dn(e.constructor.name);n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(I.issue(i,n.value,t));else{let s=i;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(I.issue(s))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function sl(e){return new Fg({type:"transform",transform:e})}var al=g("ZodOptional",(e,t)=>{Ha.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>wc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ui(e){return new al({type:"optional",innerType:e})}var Gg=g("ZodExactOptional",(e,t)=>{kf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>wc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Zg(e){return new Gg({type:"optional",innerType:e})}var Bg=g("ZodNullable",(e,t)=>{Af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function di(e){return new Bg({type:"nullable",innerType:e})}function qx(e){return ui(di(e))}var Ug=g("ZodDefault",(e,t)=>{Tf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function jg(e,t){return new Ug({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Hg=g("ZodPrefault",(e,t)=>{If.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Vg(e,t){return new Hg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var cl=g("ZodNonOptional",(e,t)=>{Of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Kg(e,t){return new cl({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var qg=g("ZodSuccess",(e,t)=>{zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Yx(e){return new qg({type:"success",innerType:e})}var Yg=g("ZodCatch",(e,t)=>{Nf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Jg(e,t){return new Yg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Xg=g("ZodNaN",(e,t)=>{Df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o)});function Jx(e){return vp(Xg,e)}var ll=g("ZodPipe",(e,t)=>{$f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.in=t.in,e.out=t.out});function mi(e,t){return new ll({type:"pipe",in:e,out:t})}var ul=g("ZodCodec",(e,t)=>{ll.init(e,t),Xo.init(e,t)});function Xx(e,t,n){return new ul({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var Qg=g("ZodReadonly",(e,t)=>{Mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function eh(e){return new Qg({type:"readonly",innerType:e})}var th=g("ZodTemplateLiteral",(e,t)=>{Lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function Qx(e,t){return new th({type:"template_literal",parts:e,...I.normalizeParams(t)})}var nh=g("ZodLazy",(e,t)=>{Gf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>dg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function rh(e){return new nh({type:"lazy",getter:e})}var oh=g("ZodPromise",(e,t)=>{Ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ug(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function eC(e){return new oh({type:"promise",innerType:e})}var ih=g("ZodFunction",(e,t)=>{Wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o)});function tC(e){return new ih({type:"function",input:Array.isArray(e?.input)?Ng(e?.input):e?.input??gi(Zn()),output:e?.output??Zn()})}var vi=g("ZodCustom",(e,t)=>{Zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o)});function nC(e){let t=new J({check:"custom"});return t._zod.check=e,t}function rC(e,t){return xp(vi,e??(()=>!0),t)}function sh(e,t={}){return Cp(vi,e,t)}function ah(e){return wp(e)}var oC=Ep,iC=Rp;function sC(e,t={}){let n=new vi({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 aC=(...e)=>Pp({Codec:ul,Boolean:Kr,String:jr},...e);function cC(e){let t=rh(()=>ol([Mc(e),bg(),vg(),Cg(),gi(t),Dg(Mc(),t)]));return t}function lC(e,t){return mi(sl(e),t)}var uC={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){se({customError:e})}function mC(){return se().customError}var dl;(function(e){})(dl||(dl={}));var qD=()=>{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 ${_a(o.values[0])}`;return`Invalid option: expected one of ${ba(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":""}: ${ba(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 ch(){return{localeError:qD()}}var lh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ml={};mn(ml,{bigint:()=>QD,boolean:()=>XD,date:()=>e$,number:()=>JD,string:()=>YD});function YD(e){return jf(jr,e)}function JD(e){return Xf(Vr,e)}function XD(e){return ip(Kr,e)}function QD(e){return ap(qr,e)}function e$(e){return bp(pi,e)}se(ch());var t$=fl;var fC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var Si=64,pC="Rule config exceeds CC Safety Net's safe source limit.";var hU=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var dh=[{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"}],pl={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},n$=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],r$=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],mh=[{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"]},...r$.flatMap((e)=>n$.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 gl=[{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"]}],gC=[{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"}],o$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],fh=gC.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})),ph=gC.flatMap((e)=>o$.map((t)=>({id:`secret.variant.${e.slug}.${t.slice(1)}`,category:"Variant",label:`${e.label}${t}`,description:`Blocks ${e.label}${t} private credential variants.`,prefix:e.prefix,suffix:t}))),_i={id:"secret.pattern.ssh-key-basename",category:"Pattern",label:"*_(rsa|dsa|ed25519|ecdsa)",description:"Blocks extensionless SSH private key-like basenames.",pattern:/^.*_(rsa|dsa|ed25519|ecdsa)$/},gh=["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})),hh=[{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?$/}],hC=[...dh,pl,...mh,...fh,...ph,_i,...gh,...hh,...gl].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}})),yC=new Set(gl.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),i$=hC.map((e)=>e.id),hl=new Set(i$);var TU=s$(import.meta.url),bC,a$=Array(Si+1).fill("over-limit"),vC=/^[^/]+\/[^/]+$/,c$=/^sha256:[a-f0-9]{64}$/,yl=`must be an integer between ${Cl} and ${wl}`,l$=["version","rules","overrides","transparent_wrappers"],u$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function SC(e){if(!Je(e)||!Array.isArray(e.rules)||e.rules.length<=Si)return e;return{$schema:e.$schema,version:e.version,rules:a$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function d$(){let e=uh,t=(x)=>{let v=e.superRefine(x);return v._zod.def.when=()=>!0,v},n=e.enum(fC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(tr,`must be at most ${tr} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(vn,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),s=e.looseObject({$schema:e.unknown().optional().describe("JSON Schema reference for IDE support"),version:e.literal(1).describe("Schema version (must be 1)"),rules:e.array(o,{error:"must be an array of rulebook source strings"}).max(Si,pC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:vC.source}),r).default({}).describe("Rule overrides by id"),transparent_wrappers:e.array(i,{error:"must be an array of command strings"}).default([]).describe("Commands that transparently execute a visible protected child command")}),a=(x,v)=>{if(!Je(x))return;if(Array.isArray(x.rules)&&x.rules.length<=Si){let k=new Set;x.rules.forEach((z,M)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",M]});return}let W=Qr(z);if(W){v.addIssue({code:"custom",message:W,path:["rules",M]});return}if(k.has(z)){v.addIssue({code:"custom",message:`duplicate rulebook source "${z}"`,path:["rules",M]});return}k.add(z)})}if(Je(x.overrides))for(let k of Object.keys(x.overrides)){if(vC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(x.transparent_wrappers))return;let T=new Set;x.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!vn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Av(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(SC,s.check(e.superRefine(a))),l=e.preprocess(SC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(x,v)=>e.intersection(e.record(e.string().refine((T)=>x.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(x)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((v,T)=>{if(!Array.isArray(v))return;let k=fn();v.forEach((z,M)=>{if(typeof z!=="string")return;let W=x(z,k);if(W)T.addIssue({code:"custom",message:W,path:[M]})})})),m=e.strictObject({version:e.literal(1),safety:e.strictObject({level:e.enum(["standard","strict","paranoid"]).optional(),overrides:u.optional()}).optional(),workflow:e.strictObject({worktree_mode:e.boolean().optional()}).optional(),destructive_command_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Qi,"destructive command").optional(),allow_paths:f(Gs).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(hl,"secret protection").optional(),deny_paths:f(Zs).optional(),allow_paths:f(Bs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:yl}).int(yl).min(Cl,yl).max(wl,yl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(x)=>{let v=(M,W)=>x==="legacy"?M:W,T=v("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),k=`required non-empty string up to ${tr} characters`,z=e.looseObject({name:e.string({error:"required string"}).regex(dt,v("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:v("required string","required string matching command pattern")}).regex(vn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(vn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((M)=>M!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((M)=>M.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((M)=>M!=="",{error:v("must not be empty",k)}).refine((M)=>M.length<=tr,{error:v(`must be at most ${tr} characters`,k)}),intent:n.optional()},{error:"must be an object"});return e.array(z,{error:v("must be an array","required array")}).check(t((M,W)=>{if(!Array.isArray(M))return;let U=new Set;M.forEach((ge,Be)=>{let A=Je(ge)?ge.name:void 0;if(typeof A!=="string")return;if(U.has(A.toLowerCase())){W.addIssue({code:"custom",message:`duplicate rule name "${A}"`,path:[Be,"name"]});return}U.add(A.toLowerCase())})}))},h=e.looseObject({version:e.literal(1),rules:p("legacy").optional()}),b="required string matching rule name pattern",y=e.looseObject({command:e.string({error:"required non-empty string"}).refine((x)=>x.trim()!=="",{error:"required non-empty string"}),expect:e.enum(["blocked","allowed"]),rule:e.string({error:"must be a string if provided"}).optional()},{error:"must be an object"}).check(t((x,v)=>{if(!Je(x))return;if(x.expect!=="blocked"||typeof x.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),E=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(dt,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((x)=>x!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(vn,"must match command pattern"),{error:"required array"}).check(t((x,v)=>{if(!Array.isArray(x))return;let T=new Set;x.forEach((k,z)=>{if(typeof k!=="string"||!vn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:[z]});return}T.add(k)})})),rules:p("rulebook"),tests:e.array(y,{error:"must be an array if provided"}).optional()}).check(t((x,v)=>{if(!Je(x))return;let T=new Set(yh(x));if(Array.isArray(x.tests)){let z=new Set(x.tests.flatMap((M)=>Je(M)&&M.expect==="blocked"&&typeof M.rule==="string"?[M.rule]:[]));for(let M of z){if(T.has(M))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${M}"`,path:["tests"]})}}if(!Array.isArray(x.allowed_commands)||!Array.isArray(x.rules))return;let k=new Set(x.allowed_commands.filter((z)=>typeof z==="string"));x.rules.forEach((z,M)=>{let W=Je(z)?z.command:void 0;if(typeof W!=="string"||k.has(W))return;v.addIssue({code:"custom",message:`"${W}" must be listed in allowed_commands`,path:["rules",M,"command"]})})})),w=e.string({error:"required string"}).refine((x)=>x.trim()!=="",{error:"required string"}),R=e.looseObject({spec:w,name:w,version:w,digest:e.string({error:"required sha256 digest"}).regex(c$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(R,e.discriminatedUnion("kind",[e.object({kind:e.literal("local-directory"),path:w}),e.object({kind:e.literal("github"),owner:w,repo:w,ref:w,commit:w,path:w,display_ref:e.unknown().optional()})],{error:(x)=>{if(!Je(x.input))return"must be an object";let v=x.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:E,RulesLockfileSchema:P}}function xi(){return bC??=d$(),bC}function _C(){return xi().RulesConfigSchema}function m$(){return xi().UserPolicySchema}function xC(){return xi().RulebookSchema}function CC(){return xi().RulesLockfileSchema}function yh(e){let t=Je(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Je(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function wC(e){let t=xi().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:Yr(PC(t.error.issues,l$)),sources:h$(e,t.error.issues)}}function EC(e){let t=m$().safeParse(e);if(t.success)return[];return Yr(PC(t.error.issues,u$)," ")}function Yr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>RC(r,t,n,[])))]}function RC(e,t,n,r){let o=[...r,...e.path],i=g$(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)=>RC(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}${f$(e)}`]}function f$(e){if(e.code==="invalid_value")return`must be ${p$(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 p$(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 g$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function PC(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 h$(e,t){let n=Je(e)?e.rules:void 0;if(!Array.isArray(n))return new Set;if(t.some((o)=>o.path.length===1&&o.path[0]==="rules"))return new Set;let r=new Set(t.filter((o)=>o.path[0]==="rules"&&typeof o.path[1]==="number").map((o)=>o.path[1]));return new Set(n.filter((o,i)=>typeof o==="string"&&!r.has(i)))}function Je(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function y$(e){return wC(e)}function bh(e){try{let t=pn(b$(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=y$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=_C().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof ae)return{config:null,errors:[t.message]};let n=t instanceof Error?t.message:String(t);return{config:null,errors:[t instanceof SyntaxError?"Invalid JSON":n]}}}function b$(e){return typeof e==="string"?Ni(e):e}var C$=new Set(["standard","strict","paranoid"]),w$={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:Ti}};function vh(e){return x$(_$(gn(e)),Mi)}function IC(e={}){let t=A$(vh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function kC(e){if(!kt(e))return k$();let t=kt(e.safety)?e.safety:{},n=kt(t.overrides)?t.overrides:{},r=kt(e.workflow)?e.workflow:{},o=kt(e.destructive_command_protection)?e.destructive_command_protection:{},i=kt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:C$.has(t.level)?t.level:"standard",overrides:{...typeof n.fail_closed==="boolean"?{fail_closed:n.fail_closed}:{},...typeof n.paranoid_rm==="boolean"?{paranoid_rm:n.paranoid_rm}:{},...typeof n.paranoid_interpreters==="boolean"?{paranoid_interpreters:n.paranoid_interpreters}:{}}},workflow:{worktree_mode:typeof r.worktree_mode==="boolean"?r.worktree_mode:!1},destructive_command_protection:{enabled:typeof o.enabled==="boolean"?o.enabled:!0,overrides:AC(o.overrides,Qi),allow_paths:R$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:AC(i.overrides,hl),deny_paths:E$(i.deny_paths),allow_paths:P$(i.allow_paths)},audit:{retention_days:Ii(kt(e.audit)?e.audit.retention_days:void 0)}}}function AC(e,t){if(!kt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function E$(e){if(!Array.isArray(e))return[];let t=fn();return e.filter((n)=>Zs(n,t)===null)}function R$(e){if(!Array.isArray(e))return[];let t=fn();return e.filter((n)=>Gs(n,t)===null)}function P$(e){if(!Array.isArray(e))return[];let t=fn();return e.filter((n)=>Bs(n,t)===null)}function kt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function k$(){return structuredClone(w$)}function A$(e){let t=T$();if(!v$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!kt(n))return{policy:t,errors:[]};return{policy:TC(kC(n)),errors:[]}}try{let n=S$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=EC(r),i=TC(kC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:kt(r)?"salvaged":"defaults"};return{policy:i,errors:[]}}catch(n){let r=n instanceof Error?n.message:String(n);return{policy:t,errors:[`${e}: ${n instanceof SyntaxError?"Invalid JSON":r}`],fallback:"defaults"}}}function OC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...yC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function T$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:OC({}),denyPaths:[],allowPaths:[]}}}function TC(e){return{safety:I$(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:OC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function I$(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 $C="This path contains the protected policy config and you must not modify or delete it.",z$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function MC(e){let t=yn(It()),n=W$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return zC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=De(e,"input-candidate");if(e.invocation.route.kind==="command")return r?NC(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=NC(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return zC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Ns(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function zC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>Ci(s,n,r,o));return i?{target:i}:null}function NC(e,t,n,r){let o=$s(e,t,r,{findSegmentTarget:(i,s)=>N$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>Ci(i,s.cwd,n,r),findMalformedTarget:(i)=>L$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function N$(e,t,n,r){if(_o(e))return null;let o=r.environment,i=Yt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&D$(a)){let c=$$(a).find((l)=>DC($e(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Js(i,1)||Lu(i,o)){let l=(Ys(j(i))??j(["."])).find((u)=>{let d=$e(u.text,t.variables);return Ci(d,t.cwd,n,r)||DC(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=Ms(a).sources.find((l)=>F$($e(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 LC(c))if(Ci($e(l,t.variables),t.cwd,n,r))return{target:l};return null}function D$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function $$(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=Yt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!z$.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 L$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of LC(o))if(Ci(i,t,n,r))return{target:i};return null}function LC(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function W$(e,t){let n=ve(vh(),e,t),r=Sh(n),o=new Set;for(let i=r;;i=Sh(i))if(o.add(Jr(i)),Sh(i)===i)break;return{file:Jr(n),directoryAndAncestors:o}}function Ci(e,t,n,r){let o=rv(e,t,r,(i)=>Jr(i)===O$(n.file));return o!==null&&Jr(o)===n.file}function DC(e,t,n,r){return n.directoryAndAncestors.has(Jr(ve(e,t,r)))}function F$(e,t,n,r){let o=Jr(ve(e,t,r));return o===n.file||n.directoryAndAncestors.has(o)}function Jr(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as xh}from"node:os";import{isAbsolute as bl,posix as G$,resolve as Sl,win32 as Z$}from"node:path";import{fileURLToPath as B$}from"node:url";var qC="Access to a sensitive path is not allowed.",YC=new Set(["echo","printf"]),U$=new Set(["find"]),j$=new Set(["-exec","-execdir"]),H$=new Set([";","+"]),V$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),K$=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),q$=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),Y$=new Set(["node","bun"]),J$=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),X$=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"]),JC=new Set(["-c","-e","-r","-E","--eval","--exec"]),Q$=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),WC=new Set(["cc-safety-net","ccsn"]),e0=new Set(["bunx","npx","pnpx"]),t0=new Set(["bun","node"]),n0=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"])]]),r0=new Set(["grep","rg"]),FC="f",GC="file",o0="files",i0=new Set(["e","f"]),s0=new Set(["regexp","file"]),a0=new Set(["e","f","A","B","C","m"]),c0=new Set(["regexp","file","after-context","before-context","context","max-count"]),l0=new Set(["|","|&"]),_h="__CC_SAFETY_NET_PIPE_INPUT__",XC=new Set(["bash","sh","zsh","dash","ksh"]),u0=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 ZC(e,t,n,r,o){let i=to();for(let s of e){if(J0(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=q0(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&X0(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function QC(e,t,n={}){let r=BC(e),o=ZC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?BC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:ZC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&d0(e))return null;return s}function d0(e){if(e.invocation.route.kind!=="command")return!1;let t=De(e,"input-candidate")??De(e,"declared-command");if(!t)return!1;if(t.program.nodes.some((s)=>s.kind==="command"&&s.nested.length>0))return!1;let n=[];for(let s of t.shell.entries){if(s.kind==="operator"&&s.boundary)return!1;if(s.kind==="redirection")return!1;if(s.kind!=="operator")n.push(ht(s.text))}let r=Xr(n);if(r.length===0)return!1;let o=jn(r[0]??"").toLowerCase(),i=r.slice(1);if(o==="ls"||o==="stat")return!0;if(o==="test")return i.length===2&&(i[0]==="-e"||i[0]==="-f");if(o!=="find")return!1;return!i.some((s)=>V$.has(s))}function BC(e,t={}){if(e.invocation.route.kind==="command"){let r=De(e,"input-candidate");return r?Ri(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=De(e,"input-candidate");return[...n?Ri(n.shell,e.store,t):[],...e.paths]}function Ri(e,t,n){if(e.status==="structural-limit")throw new gt;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...I0(ht(e.source),t,n)],o=[],i=null;for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;if(o.length>0){if(r.push(...vl(o,t,n)),i!==null)r.push(...jC(i,o,t,n));i=l0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?ht(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(ht(s.text))}if(o.length>0){if(r.push(...vl(o,t,n)),i!==null)r.push(...jC(i,o,t,n))}return r}function vl(e,t,n){let r=_0(e),o=Xr(e);if(o.length===0)return r;let i=o[0]??"",s=jn(i).toLowerCase(),a=o.slice(1),c=f0(i,s,a);if(c)return[...r,...c];if(YC.has(s))return r;if(r0.has(s))return[...r,...W0(a)];if(U$.has(s))return[...r,...x0(a,t,n)];if(Me.has(s))return[...r,...a.flatMap((l)=>HC("awk",l)),...a.flatMap((l)=>w0(l,t,n)),...a.flatMap(E0)];if(nw(s)){if(XC.has(s)){let l=ev(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new gt}return[...r,...C0(s,a,n)]}return[...r,...a.flatMap((l)=>HC(s,l))]}function m0(e,t){if(WC.has(e))return t[0]==="explain"?0:null;if(e0.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return WC.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(t0.has(e)){if(UC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&UC(t[1])&&t[2]==="explain")return 2}return null}function f0(e,t,n){let r=m0(t,n);if(r===null)return null;let o=[e,...n.slice(0,r)],i=n.slice(r+1);for(let s=0;s<i.length;s++){let a=i[s];if(a==="--json"||a==="--help"||a==="-h")continue;if(a==="--cwd"){let c=i[s+1];if(c&&!c.startsWith("--"))o.push(c);s++;continue}return o}return o}function UC(e){let t=e?.replaceAll("\\","/");return[...Q$].some((n)=>t===n||t?.endsWith(`/${n}`))}function jC(e,t,n,r){if(b0(t,n,r))return p0(e);let o=v0(t);if(o===null)return[];return g0(e).flatMap((i)=>XC.has(o)?Ri(n.getShellSyntax(i),n,r):ow(i))}function p0(e){let t=Xr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase();if(!YC.has(n))return[];return t.slice(1)}function g0(e){let t=Xr(e);if(t.length===0)return[];let n=jn(t[0]??"").toLowerCase(),r=t.slice(1);if(n==="echo"){let o=r.findIndex((i)=>!/^-[neE]+$/.test(i));return[(o===-1?[]:r.slice(o)).join(" ")]}if(n==="printf")return h0(r);return[]}function h0(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[ew(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>y0(t,r.slice(i*n,(i+1)*n)))}function y0(e,t){let n=0;return ew(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function ew(e){return e.replace(/\\n/g,`
98
- `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function b0(e,t,n){let r=Xr(e);if(r.length===0||jn(r[0]??"").toLowerCase()!=="xargs")return!1;let o=An(r),i=r.slice(o.childStart);if(i.length===0)return!1;if(o.replacementToken==="")return!1;let s=o.replacementToken,a=s===null?[...i,_h]:i.map((c)=>c.split(s).join(_h));return vl(a,t,n).some((c)=>c.includes(_h))}function v0(e){let t=Xr(e);if(t.length===0)return null;let n=jn(t[0]??"").toLowerCase();if(!nw(n))return null;return S0(n,t.slice(1))?n:null}function S0(e,t){let n=tw(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(JC.has(o)||rw(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(u0.get(n)?.has(o))r++;continue}return!1}return!0}function tw(e){return/^python\d/.test(e)?"python":e}function _0(e){let t=[];for(let n of e){if(aw(n))continue;let r=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(n);if(r===null)break;if(r[1]!==void 0&&r[1]!=="")t.push(r[1])}return t}function HC(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 x0(e,t,n){let r=e.findIndex((i)=>i.startsWith("-")||i==="("||i==="!"||i===";"),o=[...e.slice(0,r===-1?e.length:r)];for(let i=0;i<e.length;i++){if(!j$.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>H$.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,f)=>{if(!K$.has(u))return[];let m=f[d+1];return m===void 0?[]:[m,m.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function nw(e){return q$.has(e)||/^python\d/.test(e)}function C0(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(JC.has(i)||rw(e,i)){let a=t[o+1];if(a!==void 0)r.push(...VC(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...VC(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function rw(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return n0.get(t[t.length-1]??"")?.has(tw(e))??!1}function w0(e,t,n){if(!e.includes("system"))return[];return Nu(e)?.commands.flatMap((r)=>Ri(t.getShellSyntax(r),t,n))??[]}function E0(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 ow(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(iw),...n]}function VC(e,t,n){let r=ow(t);if(!n.refineJavaScriptInlineData||!Y$.has(e)||r.length===0)return r;let o=R0(t);return o!==null&&!k0(o)?[]:r}function R0(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&P0(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
99
- `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function P0(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 k0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(J$.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)=>X$.has(i)))continue;if(o.length>1)return!0;if(A0(e,r)===".")return!0;if(T0(e,r+n.length)==="(")return!0}return!1}function A0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function T0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function I0(e,t,n){return $0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Ri(o,t,n),...O0(o)?z0(o):[]]})}function O0(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 z0(e){return e.entries.flatMap((t)=>t.kind==="word"?[ht(t.text)]:t.kind==="redirection"&&t.target?[ht(t.target)]:[]).flatMap(iw)}function iw(e){let t=D0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||N0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function N0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function D0(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 $0(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(sw(e,r,n)){let i=M0(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=L0(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function M0(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(sw(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 L0(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 sw(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function W0(e){let t=[],n=[],r=!1,o=!1,i=!1;for(let c=0;c<e.length;c++){let l=e[c];if(l===void 0)break;if(!i&&l==="--"){i=!0;continue}if(i){n.push(l);continue}let u=/^--([^=]+)(?:=(.*))?$/.exec(l);if(u!==null){let d=u[1]??"",f=u[2];if(d===o0)o=!0;if(s0.has(d))r=!0;if(f!==void 0){if(d===GC)t.push(f);continue}if(c0.has(d)){let m=e[c+1];if(d===GC&&m!==void 0)t.push(m);c++}continue}if(l.startsWith("-")&&l.length>1){let d=l.slice(1),f="",m="";for(let p=0;p<d.length;p++){let h=d[p]??"";if(i0.has(h))r=!0;if(a0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===FC)t.push(m)}else{let p=e[c+1];if(f===FC&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Xr(e){let t=e.findIndex((n)=>!aw(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function aw(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var F0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),G0=".env.",Z0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),B0=[".env.example.",".env.sample."];function U0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function j0(e){return e.length>0&&!/\s/.test(e)}function H0(e,t,n){try{let r=Pi(e,t,n);return r!==""&&Ue.entryKind(r)!=="missing"}catch(r){if(r instanceof be)throw r;return!1}}var V0=new Set(["node_modules","__pycache__"]),K0=[["vendor","bundle"],["vendor","cache"]];function q0(e,t,n,r){if(U0(e))return null;let o=At(e,t,r);if(!o)return null;let i=ne(o.split("/").pop()??""),s=ne(o),a=()=>j0(i)||H0(e,t,r);if(Z0.has(i)||B0.some((d)=>i.startsWith(d)))return null;let c=ne(tM(e,t,r));for(let d of mh){let f=`~/${d.suffixParts.join("/")}`;if((KC(s,f)||KC(c,f))&&Bt(d.id,n))return d.id}let l=Y0(o,t,n,r);if(l)return l;if(F0.has(i))return null;for(let d of dh)if(i===d.basename&&Bt(d.id,n))return d.id;if(i.startsWith(G0)&&Bt(pl.id,n)&&a())return pl.id;for(let d of fh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Bt(d.id,n)&&a())return d.id}for(let d of ph)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Bt(d.id,n))return d.id}if(Q0(s))return null;if(!i.includes(".")&&_i.pattern.test(i)&&Bt(_i.id,n))return _i.id;let u=eM(i,n);if(u)return u;return null}function Y0(e,t,n,r){return gl.find((o)=>{if(!Bt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return Q(e,te(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=ne(e).split("/");return Q(e,te(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||Ei(e,"~/.claude.json",t,r)||i.at(-1)==="settings.local.json"&&i.at(-2)===".claude"||i.at(-1)===".mcp.json"}case"secret.cli.antigravity":return Q(e,At("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=te(process.env.CODEX_HOME,"~/.codex",t,r);return Q(e,i,["auth.json",".credentials.json"])||wi(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=te(process.env.CODEX_HOME,"~/.codex",t,r),s=ne(e).split("/").at(-1)??"";return Q(e,i,["config.toml"])||s.endsWith(".config.toml")&&Q(e,i,[s])}case"secret.cli.gemini":return Q(e,ye(te(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["oauth_creds.json","mcp-oauth-tokens.json","a2a-oauth-tokens.json","gemini-credentials.json"]);case"secret.cli.gemini.config":{let i=ne(e).split("/"),s=process.env.ProgramData?[ye(te(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return Q(e,ye(te(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["settings.json","google_accounts.json"])||i.at(-1)==="settings.json"&&i.at(-2)===".gemini"||(process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?.trim()?Ei(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>Q(e,At(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=te(process.env.COPILOT_HOME,"~/.copilot",t,r);return Q(e,i,["config.json"])||wi(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return Q(e,te(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=te(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=te(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return Q(e,i,["server.token"])||wi(e,i,["credentials"])||wi(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=ne(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||Q(e,te(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||Q(e,te(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ye(te(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=ne(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return Q(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&Q(e,i,[s])||c.some((l)=>Ei(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?te(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ye(te(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(ne(e).split("/").at(-1)??"")||Q(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?Ei(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>Q(e,At(c,t,r),a))}case"secret.cli.pi":return Q(e,te(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return Q(e,te(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=At("~",t,r);return[ye(te(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ye(i,".local","share","amp")].some((a)=>Q(e,a,["secrets.json"]))||wi(e,ye(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ye(At("~",t,r),".config","amp")],a=ne(e).split("/");return s.some((c)=>Q(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?Ei(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ye(te(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ye(te(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return Q(e,At("~/.cursor",t,r),["auth.json"])||Q(e,i,["auth.json"])||ne(e).split("/").at(-1)==="mcp-auth.json"&&Un(ne(e),ne(s))}case"secret.cli.cursor.config":{let i=ne(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}case"secret.cli.grok-build":return Q(e,te(process.env.GROK_HOME,"~/.grok",t,r),["auth.json","mcp_credentials.json"]);case"secret.cli.grok-build.config":{let i=ne(e).split("/");return i.at(-1)==="config.toml"&&i.at(-2)===".grok"||Q(e,te(process.env.GROK_HOME,"~/.grok",t,r),["config.toml","managed_config.toml","requirements.toml"])||Q(e,At("/etc/grok",t,r),["managed_config.toml","requirements.toml"])}default:return!1}})?.id??null}function te(e,t,n,r){return At(e?.trim()?e:t,n,r)}function Q(e,t,n){return n.some((r)=>cw(e,ye(t,r)))}function wi(e,t,n){return n.some((r)=>Un(ne(e),ne(ye(t,r))))}function Ei(e,t,n,r){return cw(e,At(t,n,r))}function cw(e,t){return ne(e)===ne(t)}function ye(e,...t){return lt([e,...t].filter(Boolean).join("/"))}function J0(e,t,n,r,o){if(n.length===0)return!1;let i=ne(Pi(e,t,o));return n.some((s)=>Un(i,ne(Pi(s,r,o))))}function X0(e,t,n,r,o){if(n.length===0)return!1;let i=ne(Pi(e,t,o));if(!i)return!1;let s=process.env.HOME??xh(),a=s?lt(Y(Te(s),Ue,o)):"",c=ne(a),l=process.env.CC_SAFETY_NET_HOME,u=ne(l?lt(Y(Sl(Te(l)),Ue,o)):a&&lt(Y(`${a}/.cc-safety-net`,Ue,o)));if(u&&Un(i,u))return!1;return n.some((d)=>{let f=ne(Pi(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Un(i,f)})}function Q0(e){let t=e.split("/");return t.some((n)=>V0.has(n))||K0.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function eM(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 gh)if(r===o.extension&&Bt(o.id,t))return o.id;for(let o of hh)if(o.pattern.test(r)&&Bt(o.id,t))return o.id;return null}function ne(e){return e.toLowerCase()}function Bt(e,t){return!t?.disabledRules?.includes(e)}function At(e,t,n){let{home:r,normalized:o}=Ch(e,n);if(!o)return"";if(!r)return o;let i=wh(o,r),s=bl(i)?i:lt(Sl(t,i)),a=lt(Y(s,Ue,n));if(!Un(a,r)){if(bl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function KC(e,t){return e===t||e.startsWith(`${t}/`)}function tM(e,t,n){let{home:r,normalized:o}=Ch(e,n);if(!o||!r)return"";let i=wh(o,r),s=G$.normalize(bl(i)?i:lt(Sl(t,i))),a=lt(Te(process.env.HOME??xh())),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 Pi(e,t,n){let{home:r,normalized:o}=Ch(e,n);if(!o)return"";let i=r?wh(o,r):o;return lt(Y(bl(i)?i:Sl(t,i),Ue,n))}function Ch(e,t){let n=process.env.HOME??xh(),r=n?lt(Y(Te(n),Ue,t)):"",o=lt(Te(nM(ht(e))));return{home:r,normalized:o}}function nM(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return B$(e)}catch{return e}}function wh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ye(t,e.slice(2));return e}function rM(e){if(process.platform==="win32")return!0;return Z$.parse(e).root.length>1}function lt(e){let t=e.trim(),n=(rM(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 _l}from"node:path";var lw="Rulebook exceeds CC Safety Net's safe validation limits.",uw="Additional rulebook validation errors were omitted.",ut=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function dw(e){if(Eh(e.allowed_commands,ut.maxAllowedCommands)||Eh(e.rules,ut.maxRules)||Eh(e.tests,ut.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ut,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ut.maxStringCodeUnits||i&&o.length>ut.maxFixtureCommandCodeUnits||o.length>t)return!1;return t-=o.length,!0};if(!r(e.name)||!r(e.version)||!r(e.description)||!r(e.author)||!r(e.migrated_from))return!1;if(Array.isArray(e.allowed_commands)){for(let o of e.allowed_commands)if(!r(o))return!1}if(Array.isArray(e.rules))for(let o of e.rules){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.name)||!r(i.command)||!r(i.subcommand)||!r(i.reason)||!r(i.intent))return!1;if(!Array.isArray(i.block_args))continue;if(i.block_args.length>ut.maxBlockArgsPerRule||i.block_args.length>n)return!1;n-=i.block_args.length;for(let s of i.block_args)if(!r(s))return!1}if(Array.isArray(e.tests))for(let o of e.tests){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.command,!0)||!r(i.expect)||!r(i.rule))return!1}return!0}function Eh(e,t){return Array.isArray(e)&&e.length>t}function oM(e){if(!iM(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!dw(e))return{errors:[lw],ruleNames:new Set};let t=xC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:Yr(t.error.issues,": ",": ")];return{errors:n.length>ut.maxValidationErrors?[...n.slice(0,ut.maxValidationErrors),uw]:n,ruleNames:new Set(yh(e).map((r)=>r.toLowerCase()))}}function Rh(e){let t=oM(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function iM(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function Ph(e){if($i(e.spec))return cM(e);return aM(e)}function aM(e){if(!dt.test(e.spec))return`Local rulebook sources must be bare names matching ${dt}: ${e.spec}`;if(e.kind!=="local-directory")return`lock entry for ${e.spec} must use local-directory kind`;if(e.path===e.spec&&e.name===e.spec)return null;return`lock entry for ${e.spec} does not match local source identity`}function cM(e){let t=Qr(e.spec);if(t)return t;let n=Di(e.spec);if(e.kind!=="github")return`lock entry for ${e.spec} must use github kind`;if(e.owner===n.owner&&e.repo===n.repo&&e.ref===n.ref&&e.path===n.path&&e.name===n.name)return null;return`lock entry for ${e.spec} does not match GitHub source identity`}function mw(e){let t=typeof e==="string"?e:e.path;try{let n=pn(typeof e==="string"?Ni(e):e);if(n===null)return{lock:null,errors:[]};let r=JSON.parse(n);if(!r||typeof r!=="object")return{lock:null,errors:[`malformed lockfile ${t}: must be an object`]};let o=r;if(o.version!==1||!Array.isArray(o.rulebooks))return{lock:null,errors:[`malformed lockfile ${t}`]};let i=CC().safeParse(o),s=o.rulebooks.flatMap((c,l)=>{let u=i.success?[]:i.error.issues.filter((f)=>f.path[1]===l);if(u.length>0)return Yr(u).map((f)=>`${t}: ${f}`);let d=Ph(c);return d?[`${t}: rulebooks[${l}]: ${d}`]:[]});if(!i.success||s.length>0)return{lock:null,errors:[`malformed lockfile ${t}`,...s]};return{lock:{version:1,rulebooks:i.data.rulebooks.map((c)=>{if(c.kind==="local-directory")return{spec:c.spec,kind:c.kind,path:c.path,name:c.name,version:c.version,digest:c.digest};let l={spec:c.spec,kind:c.kind,owner:c.owner,repo:c.repo,ref:c.ref,commit:c.commit,path:c.path,name:c.name,version:c.version,digest:c.digest};return typeof c.display_ref==="string"&&c.display_ref!==""?{...l,display_ref:c.display_ref}:l})},errors:[]}}catch(n){if(n instanceof ae)return{lock:null,errors:[n.message]};return{lock:null,errors:["malformed lockfile"]}}}import{createHash as lM}from"node:crypto";var Jj=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function fw(e){return`sha256:${lM("sha256").update(e).digest("hex")}`}function bw(e={}){let t=Vh(e),n=!1;try{n=Wh(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return fM(t,f.message);throw f}let r=bh(t.userConfigTarget),o=n?{config:null,errors:[]}:bh(t.projectConfigTarget),i=yw(t.userConfigPath,r.errors),s=yw(t.projectConfigPath,o.errors),a=new Set,c=r.config?pw(r.config,t.userLockPath,_l(t.userConfigPath),e,"user",t.userScope,a):ki(),l=o.config?pw(o.config,t.projectLockPath,_l(t.projectConfigPath),e,"project",t.projectScope,a):ki(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...gw(c.rules,u),...gw(l.rules,d)],transparent_wrappers:dM(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?hw(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?mM(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?hw(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function pw(e,t,n,r,o,i=Ut(_l(_l(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=Ot(i,t)}catch(b){if(b instanceof ae)return{...ki(),errors:[b.message],canValidateOverrides:!1};throw b}let c=mw(a);if(c.errors.length>0)return{...ki(),errors:c.errors,canValidateOverrides:!1};let l=c.lock;if(!l&&e.rules.length>0)return{...ki(),errors:[`missing lockfile ${t}; run ${Vt}`],canValidateOverrides:!1};let u=l?.rulebooks??[],d=new Map(u.map((b)=>[b.spec,b])),f=[],m=[],p=e.rules.flatMap((b)=>{let y=d.get(b);if(!y)return f.push(`missing lock entry for ${b}; run ${Vt}`),[];let E=uM(y,n,r,i);if(E.errors.length>0||!E.rulebook)return f.push(...E.errors),[];let w=E.rulebook;if(s.has(w.name))return m.push(`duplicate active rulebook name "${w.name}" for ${b}; keeping the first and ignoring this one, so its rules are not active; rename one of them, then run ${Vt}`),[];return s.add(w.name),[{rules:w.rules.map((R)=>({...R,name:`${w.name}/${R.name}`})),rulebook:{source:o,spec:y.spec,name:w.name,version:w.version,rules:w.rules.map((R)=>`${w.name}/${R.name}`)}}]}),h=p.flatMap((b)=>b.rules);return{rules:h,rulebooks:p.map((b)=>b.rulebook),entries:u,knownRuleIds:new Set(h.map((b)=>b.name)),errors:f,warnings:m,canValidateOverrides:f.length===0}}function uM(e,t,n,r){let o=Tl(e,Il(t,n)),i;try{i=pn(Ot(r,o))}catch(a){if(a instanceof ae)return{rulebook:null,errors:[a.message]};throw a}if(i===null)return{rulebook:null,errors:[`missing cache entry for ${e.spec}; run ${Vt}`]};if(fw(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Vt}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{Rh(s)}catch(a){return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}: ${a instanceof Error?a.message:"invalid rulebook"}`]}}return{rulebook:s,errors:[]}}function dM(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function gw(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 hw(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 mM(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 yw(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function fM(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath,userLockPath:e.userLockPath,projectLockPath:e.projectLockPath}}function ki(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function vw(e={}){let t=bw(e),n=IC(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}),...yM(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return bM(r,pM(t,n),i)}function pM(e,t){let n=hM(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:vM(e.errors.length>0?gM(e.errors):void 0,e.warnings.length>0?kh(e.warnings.join("; ")):void 0,n)}}function gM(e){return`${kh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function hM(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 yM(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function bM(e,t,n=Object.freeze({})){let r=Sw(structuredClone(e));if(!t)return Object.freeze({state:"ready",policy:r,diagnostics:Object.freeze([]),ruleMetadata:n});return Object.freeze({state:"degraded",policy:r,diagnostics:Object.freeze([...t.diagnostics]),reason:t.reason,ruleMetadata:n})}function Sw(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))Sw(t);return Object.freeze(e)}function vM(...e){return kh(e.filter((t)=>!!t).join("; "))}function kh(e){return/[.!?]$/.test(e)?e:`${e}.`}class dn 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 SM={findPolicyMutation:MC,findGitMetadataMutation:av,resolveGitMetadata:wu,loadPolicySnapshot:vw,findSensitiveTarget:QC,analyzeCommand:g_,getModes:wd};function _w(e,t={}){let n={...SM,...t.dependencies},r=CM(e),o=Ai(e)?e.command:r,i=Hn("policy-protection",o,()=>Ds(e,t.factParserDependencies)),s=De(i,"declared-command");if(Ai(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:Nt,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(De(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:ly,intent:"stop_and_explain",evidence:[]}};let a=Hn("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),c=Hn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:$C,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=Hn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:Ve,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=Hn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,..._M(u)},p=d.secretProtection.enabled===!1?null:Hn("secret-protection",o,()=>n.findSensitiveTarget(i,d.secretProtection,{strict:Ai(e)?f.strict:void 0}));if(p){let b=o??p.target;return{stage:"secret-protection",...m,decision:{kind:"deny",reason:qC,intent:"hard_stop",ruleId:p.ruleId,evidence:[{kind:"command",command:b,segment:p.target}]}}}if(!Ai(e))return{stage:"non-command",...m,decision:{kind:"allow"}};if(!e.command||e.command.trim()==="")return{...Ah("command-validation",o),...m};let h=Hn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:It(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},xM(i),i.store));if(h)return{stage:"command-analysis",...m,decision:h};return{stage:"command-analysis",...m,decision:{kind:"allow"}}}function _M(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function xM(e){return De(e,"declared-command")?.program}function CM(e){try{return So(e.input)}catch(t){let n=Ai(e)?e.command:void 0;throw new dn("policy-protection",Ah("policy-protection",t instanceof Wt?void 0:n,t),t)}}function Hn(e,t,n){try{return n()}catch(r){throw new dn(e,Ah(e,r instanceof Wt?void 0:t,r),r)}}function Ah(e,t,n){let r=n instanceof be||n instanceof gt;return{stage:e,decision:{kind:"deny",reason:r?uy:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ai(e){return e.route.kind==="command"}function Cw(e,t){try{let n=_w(e,t.guard);return xw(e,n,t),n}catch(n){if(!(n instanceof dn))throw n;throw xw(e,n.evaluation,t,!(n.cause instanceof Wt),{stage:n.stage,errorCode:wM(n.cause)}),n}}function xw(e,t,n,r=!0,o){oy(ry(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function wM(e){if(e instanceof be)return"path-canonicalization-limit";if(e instanceof Wt)return"tool-input-limit";if(e instanceof gt)return"structural-shell-syntax-limit";return"unexpected-error"}var Ew="exec",EM=new Set(["auto","gateway"]);function Rw(e){e.on("before_tool_call",RM(e),{matcher:[Ew],priority:50})}function RM(e,t={}){return(n,r)=>{if(r.abortSignal?.aborted)return Th($l());let o=PM(n,r,e);if(!o)return;let i=()=>r.sessionId??r.sessionKey;if("malformed"in o)return iy(o.denial,i,{agent:"openclaw",toolName:o.denial.toolName,cwd:o.cwd}),Th(o.denial);try{let s=Cw(o,{guard:{auditAllowed:xd(),dependencies:t.guardDependencies},audit:{agent:"openclaw",getSessionId:i}});return ww(s,!0)}catch(s){if(!(s instanceof dn))throw s;if(rn(me.debug))console.error(`CC Safety Net debug: openclaw before_tool_call analysis failed: ${gy(s.cause)}`);return ww(s.evaluation,!0)}}}function PM(e,t,n){if(!e||typeof e!=="object")return Vn(null);let r=e.toolName;if(typeof r!=="string"||r.trim()==="")return Vn(null);if(r!==Ew)return;if(e.toolKind!==void 0)return;let o=e.params;if(!o||typeof o!=="object"||Array.isArray(o))return Vn(null,r);let i=o,s=i.command;if(typeof s!=="string"||s.trim()==="")return Vn(null,r);if(i.host!==void 0&&!EM.has(i.host))return Vn(null,r,s);let a=kM(n,t.agentId);if(!a)return Vn(null,r,s);let c=AM(a,i);if(!c)return Vn(a,r,s,typeof i.workdir==="string"?i.workdir:void 0);return ga(r,i,{kind:"command",shell:"auto"},{configCwd:a,executionCwd:c},s)}function kM(e,t){if(typeof t!=="string"||t.trim()==="")return;try{let n=e.runtime.agent.resolveAgentWorkspaceDir(e.config,t);if(typeof n!=="string"||n.trim()==="")return;return Wi(".",[n])}catch{return}}function AM(e,t){if(!Object.hasOwn(t,"workdir")||t.workdir===void 0)return e;let n=t.workdir;if(typeof n!=="string"||n.trim()==="")return;return Wi(n,[e])}function Vn(e,t,n,r){return{malformed:!0,denial:$l({command:n,segment:r,toolName:t}),cwd:e}}function ww(e,t){let n=fy(e,{includeEvidence:t});return n?Th(n):void 0}function Th(e){return{block:!0,blockReason:py(e)}}var H2={...zh,register:Rw};export{H2 as default};
97
+ `)}f.write("payload.value = newResult;"),f.write("return payload;");let R=f.compile();return(A,x)=>R(m,A,x)},i,s=zn,a=!Fo.jitless,l=a&&kd.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 XS([],p,m,f,d,e)}return n(m,f)}});function WS(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)=>!nn(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)=>Uo(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 WS(a,o,e,i);return Promise.all(a).then((c)=>WS(c,o,e,i))}});function FS(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 yf=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 FS(a,o,e,i);return Promise.all(a).then((c)=>FS(c,o,e,i))}}),bf=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}}),vf=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])=>GS(n,c,l));return GS(n,i,s)}});function Im(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(tn(e)&&tn(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=Im(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=Im(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 GS(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(nn(e))return e;let s=Im(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 _f=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!tn(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"&&Ko.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}}),Sf=g("$ZodMap",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),n;let i=[];n.value=new Map;for(let[s,a]of o){let c=t.keyType._zod.run({value:s,issues:[]},r),l=t.valueType._zod.run({value:a,issues:[]},r);if(c instanceof Promise||l instanceof Promise)i.push(Promise.all([c,l]).then(([u,d])=>{ZS(u,d,n,s,o,e,r)}));else ZS(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function ZS(e,t,n,r,o,i,s){if(e.issues.length)if(jo.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(jo.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 xf=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)=>US(c,n)));else US(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function US(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var Cf=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)=>jo.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}}),Ef=g("$ZodLiteral",(e,t)=>{if(D.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((r)=>typeof r==="string"?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}}),wf=g("$ZodFile",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(o instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),n}}),Rf=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 jS(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ua=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",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(`^(${Uo(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)=>jS(i,n.value));return jS(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),Pf=g("$ZodExactOptional",(e,t)=>{Ua.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)}),Af=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(`^(${Uo(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)}}),kf=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)=>BS(i,t));return BS(o,t)}});function BS(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Tf=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)}}),If=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)=>VS(i,e));return VS(o,e)}});function VS(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 Of=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}}),zf=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}}),Nf=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}}),Df=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 Mf=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(HS);return HS(o)}});function HS(e){return e.value=Object.freeze(e.value),e}var $f=g("$ZodTemplateLiteral",(e,t)=>{D.init(e,t);let n=[];for(let r of t.parts)if(typeof r==="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let o=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!o)throw Error(`Invalid template literal part: ${r._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;n.push(o.slice(i,s))}else if(r===null||Id.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}}),Lf=g("$ZodFunction",(e,t)=>(D.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...r){let o=e._def.input?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)),Wf=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))}),Ff=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)}),Gf=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)=>KS(i,n,r,e));KS(o,n,r,e);return}});function KS(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 ex,ja=Symbol("ZodOutput"),Ba=Symbol("ZodInput");class Zf{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 Zf}(ex=globalThis).__zod_globalRegistry??(ex.__zod_globalRegistry=ti());var Oe=globalThis.__zod_globalRegistry;function Uf(e,t){return new e({type:"string",..._(t)})}function jf(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 Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._(t)})}function qa(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 Bf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,..._(t)})}function sc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._(t)})}function ac(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._(t)})}function cc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,..._(t)})}function lc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,..._(t)})}function uc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,..._(t)})}function dc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,..._(t)})}var mc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Vf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._(t)})}function Hf(e,t){return new e({type:"string",format:"date",check:"string_format",..._(t)})}function Kf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,..._(t)})}function qf(e,t){return new e({type:"string",format:"duration",check:"string_format",..._(t)})}function Yf(e,t){return new e({type:"number",checks:[],..._(t)})}function Jf(e,t){return new e({type:"number",coerce:!0,checks:[],..._(t)})}function Xf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",..._(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",..._(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",..._(t)})}function tp(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",..._(t)})}function np(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",..._(t)})}function rp(e,t){return new e({type:"boolean",..._(t)})}function op(e,t){return new e({type:"boolean",coerce:!0,..._(t)})}function ip(e,t){return new e({type:"bigint",..._(t)})}function sp(e,t){return new e({type:"bigint",coerce:!0,..._(t)})}function ap(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",..._(t)})}function cp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",..._(t)})}function lp(e,t){return new e({type:"symbol",..._(t)})}function up(e,t){return new e({type:"undefined",..._(t)})}function dp(e,t){return new e({type:"null",..._(t)})}function mp(e){return new e({type:"any"})}function fp(e){return new e({type:"unknown"})}function pp(e,t){return new e({type:"never",..._(t)})}function gp(e,t){return new e({type:"void",..._(t)})}function hp(e,t){return new e({type:"date",..._(t)})}function yp(e,t){return new e({type:"date",coerce:!0,..._(t)})}function bp(e,t){return new e({type:"nan",..._(t)})}function Et(e,t){return new Oa({check:"less_than",..._(t),value:e,inclusive:!1})}function je(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 je(0,e)}function hc(e){return Ee(0,e)}function rn(e,t){return new mm({check:"multiple_of",..._(t),value:e})}function on(e,t){return new gm({check:"max_size",..._(t),maximum:e})}function Rt(e,t){return new hm({check:"min_size",..._(t),minimum:e})}function Mn(e,t){return new ym({check:"size_equals",..._(t),size:e})}function $n(e,t){return new bm({check:"max_length",..._(t),maximum:e})}function Ft(e,t){return new vm({check:"min_length",..._(t),minimum:e})}function Ln(e,t){return new _m({check:"length_equals",..._(t),length:e})}function Rr(e,t){return new Sm({check:"string_format",format:"regex",..._(t),pattern:e})}function Pr(e){return new xm({check:"string_format",format:"lowercase",..._(e)})}function Ar(e){return new Cm({check:"string_format",format:"uppercase",..._(e)})}function kr(e,t){return new Em({check:"string_format",format:"includes",..._(t),includes:e})}function Tr(e,t){return new wm({check:"string_format",format:"starts_with",..._(t),prefix:e})}function Ir(e,t){return new Rm({check:"string_format",format:"ends_with",..._(t),suffix:e})}function yc(e,t,n){return new Pm({check:"property",property:e,schema:t,..._(n)})}function Or(e,t){return new Am({check:"mime_type",mime:e,..._(t)})}function ut(e){return new km({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)=>Ad(e))}function vp(e,t,n){return new e({type:"array",element:t,..._(n)})}function BD(e,t,n){return new e({type:"union",options:t,..._(n)})}function VD(e,t,n){return new e({type:"union",options:t,inclusive:!1,..._(n)})}function HD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,..._(r)})}function KD(e,t,n){return new e({type:"intersection",left:t,right:n})}function qD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,..._(o?r:n)})}function YD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,..._(r)})}function JD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,..._(r)})}function XD(e,t,n){return new e({type:"set",valueType:t,..._(n)})}function QD(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 e0(e,t,n){return new e({type:"enum",entries:t,..._(n)})}function t0(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],..._(n)})}function _p(e,t){return new e({type:"file",..._(t)})}function n0(e,t){return new e({type:"transform",transform:t})}function r0(e,t){return new e({type:"optional",innerType:t})}function o0(e,t){return new e({type:"nullable",innerType:t})}function i0(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Td(n)}})}function s0(e,t,n){return new e({type:"nonoptional",innerType:t,..._(n)})}function a0(e,t){return new e({type:"success",innerType:t})}function c0(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function l0(e,t,n){return new e({type:"pipe",in:t,out:n})}function u0(e,t){return new e({type:"readonly",innerType:t})}function d0(e,t,n){return new e({type:"template_literal",parts:t,..._(n)})}function m0(e,t){return new e({type:"lazy",getter:t})}function f0(e,t){return new e({type:"promise",innerType:t})}function Sp(e,t,n){let r=_(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function xp(e,t,n){return new e({type:"custom",check:"custom",fn:t,..._(n)})}function Cp(e){let t=tx((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 tx(e,t){let n=new Q({check:"custom",..._(t)});return n._zod.check=e,n}function Ep(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 wp(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 Rp(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")},Pp=()=>Wr,bc=()=>Wr,Fr=Wr,ee=Wr,Gr=Wr,Zr=Wr;var p0={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ap=(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=p0[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},kp=(e,t,n,r)=>{let o=n,{minimum:i,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;if(typeof a==="string"&&a.includes("int"))o.type="integer";else o.type="number";if(typeof u==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;if(typeof i==="number"){if(o.minimum=i,typeof u==="number"&&t.target!=="draft-04")if(u>=i)delete o.minimum;else delete o.exclusiveMinimum}if(typeof l==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;if(typeof s==="number"){if(o.maximum=s,typeof l==="number"&&t.target!=="draft-04")if(l<=s)delete o.maximum;else delete o.exclusiveMaximum}if(typeof c==="number")o.multipleOf=c},Tp=(e,t,n,r)=>{n.type="boolean"},Ip=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Op=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},zp=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Np=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Dp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Mp=(e,t,n,r)=>{n.not={}},$p=(e,t,n,r)=>{},Lp=(e,t,n,r)=>{},Wp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Fp=(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},Gp=(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}},Zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Up=(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},jp=(e,t,n,r)=>{let o=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=e._zod.bag;if(s!==void 0)i.minLength=s;if(a!==void 0)i.maxLength=a;if(c)if(c.length===1)i.contentMediaType=c[0],Object.assign(o,i);else Object.assign(o,i),o.anyOf=c.map((l)=>({contentMediaType:l}));else Object.assign(o,i)},Bp=(e,t,n,r)=>{n.type="boolean"},Vp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Hp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Kp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Yp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Jp=(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"]})},Xp=(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},Qp=(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},eg=(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},tg=(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}},ng=(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"}]},rg=(e,t,n,r)=>{let o=e._zod.def;ee(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},og=(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))},ig=(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))},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;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},ag=(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},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,n.readOnly=!0},lg=(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},ug=(e,t,n,r)=>{let o=e._zod.innerType;ee(o,t,r);let i=t.seen.get(e);i.ref=o},vc={string:Ap,number:kp,boolean:Tp,bigint:Ip,symbol:Op,null:zp,undefined:Np,void:Dp,never:Mp,any:$p,unknown:Lp,date:Wp,enum:Fp,literal:Gp,nan:Zp,template_literal:Up,file:jp,success:Bp,custom:Vp,function:Hp,transform:Kp,map:qp,set:Yp,array:Jp,object:Xp,union:_c,intersection:Qp,tuple:eg,record:tg,nullable:ng,nonoptional:rg,default:og,prefault:ig,catch:sg,pipe:ag,readonly:cg,promise:lg,optional:Sc,lazy:ug};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 dg{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 nx={};var li={};cn(li,{ZodISODate:()=>si,ZodISODateTime:()=>ii,ZodISODuration:()=>ci,ZodISOTime:()=>ai,date:()=>fg,datetime:()=>mg,duration:()=>gg,time:()=>pg});var ii=g("ZodISODateTime",(e,t)=>{Um.init(e,t),Y.init(e,t)});function mg(e){return Vf(ii,e)}var si=g("ZodISODate",(e,t)=>{jm.init(e,t),Y.init(e,t)});function fg(e){return Hf(si,e)}var ai=g("ZodISOTime",(e,t)=>{Bm.init(e,t),Y.init(e,t)});function pg(e){return Kf(ai,e)}var ci=g("ZodISODuration",(e,t)=>{Vm.init(e,t),Y.init(e,t)});function gg(e){return qf(ci,e)}var ox=(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}}})},ix=g("ZodError",ox),we=g("ZodError",ox,{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=Pp(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(ih(n,r)),e.superRefine=(n)=>e.check(sh(n)),e.overwrite=(n)=>e.check(ut(n)),e.optional=()=>di(e),e.exactOptional=()=>Gg(e),e.nullable=()=>mi(e),e.nullish=()=>di(mi(e)),e.nonoptional=(n)=>Hg(e,n),e.array=()=>hi(e),e.or=(n)=>tl([e,n]),e.and=(n)=>Ig(e,n),e.transform=(n)=>fi(e,rl(n)),e.default=(n)=>jg(e,n),e.prefault=(n)=>Vg(e,n),e.catch=(n)=>Yg(e,n),e.pipe=(n)=>fi(e,n),e.readonly=()=>Qg(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)=>Ap(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())}),jr=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(Ka(At,n)),e.uuidv6=(n)=>e.check(qa(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(qc,n)),e.base64url=(n)=>e.check(lc(Yc,n)),e.xid=(n)=>e.check(nc(Uc,n)),e.ksuid=(n)=>e.check(rc(jc,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(Kc,n)),e.e164=(n)=>e.check(uc(Jc,n)),e.datetime=(n)=>e.check(mg(n)),e.date=(n)=>e.check(fg(n)),e.time=(n)=>e.check(pg(n)),e.duration=(n)=>e.check(gg(n))});function Nc(e){return Uf(jr,e)}var Y=g("ZodStringFormat",(e,t)=>{q.init(e,t),Mc.init(e,t)}),$c=g("ZodEmail",(e,t)=>{Nm.init(e,t),Y.init(e,t)});function sx(e){return Va($c,e)}var ui=g("ZodGUID",(e,t)=>{Om.init(e,t),Y.init(e,t)});function ax(e){return ni(ui,e)}var At=g("ZodUUID",(e,t)=>{zm.init(e,t),Y.init(e,t)});function cx(e){return Ha(At,e)}function lx(e){return Ka(At,e)}function ux(e){return qa(At,e)}function dx(e){return Ya(At,e)}var pi=g("ZodURL",(e,t)=>{Dm.init(e,t),Y.init(e,t)});function mx(e){return ri(pi,e)}function fx(e){return ri(pi,{protocol:/^https?$/,hostname:Ue.domain,...I.normalizeParams(e)})}var Lc=g("ZodEmoji",(e,t)=>{Mm.init(e,t),Y.init(e,t)});function px(e){return Ja(Lc,e)}var Wc=g("ZodNanoID",(e,t)=>{$m.init(e,t),Y.init(e,t)});function gx(e){return Xa(Wc,e)}var Fc=g("ZodCUID",(e,t)=>{Lm.init(e,t),Y.init(e,t)});function hx(e){return Qa(Fc,e)}var Gc=g("ZodCUID2",(e,t)=>{Wm.init(e,t),Y.init(e,t)});function yx(e){return ec(Gc,e)}var Zc=g("ZodULID",(e,t)=>{Fm.init(e,t),Y.init(e,t)});function bx(e){return tc(Zc,e)}var Uc=g("ZodXID",(e,t)=>{Gm.init(e,t),Y.init(e,t)});function vx(e){return nc(Uc,e)}var jc=g("ZodKSUID",(e,t)=>{Zm.init(e,t),Y.init(e,t)});function _x(e){return rc(jc,e)}var Bc=g("ZodIPv4",(e,t)=>{Hm.init(e,t),Y.init(e,t)});function Sx(e){return oc(Bc,e)}var hg=g("ZodMAC",(e,t)=>{qm.init(e,t),Y.init(e,t)});function xx(e){return Bf(hg,e)}var Vc=g("ZodIPv6",(e,t)=>{Km.init(e,t),Y.init(e,t)});function Cx(e){return ic(Vc,e)}var Hc=g("ZodCIDRv4",(e,t)=>{Ym.init(e,t),Y.init(e,t)});function Ex(e){return sc(Hc,e)}var Kc=g("ZodCIDRv6",(e,t)=>{Jm.init(e,t),Y.init(e,t)});function wx(e){return ac(Kc,e)}var qc=g("ZodBase64",(e,t)=>{Qm.init(e,t),Y.init(e,t)});function Rx(e){return cc(qc,e)}var Yc=g("ZodBase64URL",(e,t)=>{ef.init(e,t),Y.init(e,t)});function Px(e){return lc(Yc,e)}var Jc=g("ZodE164",(e,t)=>{tf.init(e,t),Y.init(e,t)});function Ax(e){return uc(Jc,e)}var Xc=g("ZodJWT",(e,t)=>{nf.init(e,t),Y.init(e,t)});function kx(e){return dc(Xc,e)}var Br=g("ZodCustomStringFormat",(e,t)=>{rf.init(e,t),Y.init(e,t)});function Tx(e,t,n={}){return Lr(Br,e,t,n)}function Ix(e){return Lr(Br,"hostname",Ue.hostname,e)}function Ox(e){return Lr(Br,"hex",Ue.hex,e)}function zx(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Ue[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)=>kp(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(je(r,o)),e.max=(r,o)=>e.check(je(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(je(0,r)),e.multipleOf=(r,o)=>e.check(rn(r,o)),e.step=(r,o)=>e.check(rn(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 yg(e){return Yf(Vr,e)}var Fn=g("ZodNumberFormat",(e,t)=>{of.init(e,t),Vr.init(e,t)});function Dc(e){return Xf(Fn,e)}function Nx(e){return Qf(Fn,e)}function Dx(e){return ep(Fn,e)}function Mx(e){return tp(Fn,e)}function $x(e){return np(Fn,e)}var Hr=g("ZodBoolean",(e,t)=>{Jo.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Tp(e,n,r,o)});function bg(e){return rp(Hr,e)}var Kr=g("ZodBigInt",(e,t)=>{Ga.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ip(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(je(r,o)),e.max=(r,o)=>e.check(je(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(je(BigInt(0),r)),e.nonnegative=(r)=>e.check(Ee(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(rn(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function Lx(e){return ip(Kr,e)}var Qc=g("ZodBigIntFormat",(e,t)=>{sf.init(e,t),Kr.init(e,t)});function Wx(e){return ap(Qc,e)}function Fx(e){return cp(Qc,e)}var vg=g("ZodSymbol",(e,t)=>{af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function Gx(e){return lp(vg,e)}var _g=g("ZodUndefined",(e,t)=>{cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function Zx(e){return up(_g,e)}var Sg=g("ZodNull",(e,t)=>{lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function xg(e){return dp(Sg,e)}var Cg=g("ZodAny",(e,t)=>{uf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function Ux(){return mp(Cg)}var Eg=g("ZodUnknown",(e,t)=>{df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(e,n,r,o)});function Wn(){return fp(Eg)}var wg=g("ZodNever",(e,t)=>{mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Mp(e,n,r,o)});function el(e){return pp(wg,e)}var Rg=g("ZodVoid",(e,t)=>{ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function jx(e){return gp(Rg,e)}var gi=g("ZodDate",(e,t)=>{pf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Wp(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 Bx(e){return hp(gi,e)}var Pg=g("ZodArray",(e,t)=>{gf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(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 vp(Pg,e,t)}function Vx(e){let t=e._zod.def.shape;return nl(Object.keys(t))}var yi=g("ZodObject",(e,t)=>{hf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(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 Hx(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new yi(n)}function Kx(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 Ag=g("ZodXor",(e,t)=>{bi.init(e,t),yf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>_c(e,n,r,o),e.options=t.options});function Yx(e,t){return new Ag({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var kg=g("ZodDiscriminatedUnion",(e,t)=>{bi.init(e,t),bf.init(e,t)});function Jx(e,t,n){return new kg({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var Tg=g("ZodIntersection",(e,t)=>{vf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o)});function Ig(e,t){return new Tg({type:"intersection",left:e,right:t})}var Og=g("ZodTuple",(e,t)=>{Za.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function zg(e,t,n){let r=t instanceof D,o=r?n:t;return new Og({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var vi=g("ZodRecord",(e,t)=>{_f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Ng(e,t,n){return new vi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function Xx(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 Qx(e,t,n){return new vi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var Dg=g("ZodMap",(e,t)=>{Sf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(on(...n)),e.size=(...n)=>e.check(Mn(...n))});function eC(e,t,n){return new Dg({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Mg=g("ZodSet",(e,t)=>{xf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(on(...n)),e.size=(...n)=>e.check(Mn(...n))});function tC(e,t){return new Mg({type:"set",valueType:e,...I.normalizeParams(t)})}var Ur=g("ZodEnum",(e,t)=>{Cf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Fp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Ur({...t,checks:[],...I.normalizeParams(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let s of r)if(n.has(s))delete i[s];else throw Error(`Key ${s} not found in enum`);return new Ur({...t,checks:[],...I.normalizeParams(o),entries:i})}});function nl(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Ur({type:"enum",entries:n,...I.normalizeParams(t)})}function nC(e,t){return new Ur({type:"enum",entries:e,...I.normalizeParams(t)})}var $g=g("ZodLiteral",(e,t)=>{Ef.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(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 rC(e,t){return new $g({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Lg=g("ZodFile",(e,t)=>{wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o),e.min=(n,r)=>e.check(Rt(n,r)),e.max=(n,r)=>e.check(on(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function oC(e){return _p(Lg,e)}var Wg=g("ZodTransform",(e,t)=>{Rf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(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 Wg({type:"transform",transform:e})}var ol=g("ZodOptional",(e,t)=>{Ua.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 Fg=g("ZodExactOptional",(e,t)=>{Pf.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 Gg(e){return new Fg({type:"optional",innerType:e})}var Zg=g("ZodNullable",(e,t)=>{Af.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function mi(e){return new Zg({type:"nullable",innerType:e})}function iC(e){return di(mi(e))}var Ug=g("ZodDefault",(e,t)=>{kf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function jg(e,t){return new Ug({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Bg=g("ZodPrefault",(e,t)=>{Tf.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 Vg(e,t){return new Bg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var il=g("ZodNonOptional",(e,t)=>{If.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Hg(e,t){return new il({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Kg=g("ZodSuccess",(e,t)=>{Of.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function sC(e){return new Kg({type:"success",innerType:e})}var qg=g("ZodCatch",(e,t)=>{zf.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.removeCatch=e.unwrap});function Yg(e,t){return new qg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Jg=g("ZodNaN",(e,t)=>{Nf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zp(e,n,r,o)});function aC(e){return bp(Jg,e)}var sl=g("ZodPipe",(e,t)=>{Df.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(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 cC(e,t,n){return new al({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var Xg=g("ZodReadonly",(e,t)=>{Mf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Qg(e){return new Xg({type:"readonly",innerType:e})}var eh=g("ZodTemplateLiteral",(e,t)=>{$f.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function lC(e,t){return new eh({type:"template_literal",parts:e,...I.normalizeParams(t)})}var th=g("ZodLazy",(e,t)=>{Ff.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ug(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function nh(e){return new th({type:"lazy",getter:e})}var rh=g("ZodPromise",(e,t)=>{Wf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function uC(e){return new rh({type:"promise",innerType:e})}var oh=g("ZodFunction",(e,t)=>{Lf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o)});function dC(e){return new oh({type:"function",input:Array.isArray(e?.input)?zg(e?.input):e?.input??hi(Wn()),output:e?.output??Wn()})}var _i=g("ZodCustom",(e,t)=>{Gf.init(e,t),M.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o)});function mC(e){let t=new Q({check:"custom"});return t._zod.check=e,t}function fC(e,t){return Sp(_i,e??(()=>!0),t)}function ih(e,t={}){return xp(_i,e,t)}function sh(e){return Cp(e)}var pC=Ep,gC=wp;function hC(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 yC=(...e)=>Rp({Codec:al,Boolean:Hr,String:jr},...e);function bC(e){let t=nh(()=>tl([Nc(e),yg(),bg(),xg(),hi(t),Ng(Nc(),t)]));return t}function vC(e,t){return fi(rl(e),t)}var _C={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 SC(e){le({customError:e})}function xC(){return le().customError}var cl;(function(e){})(cl||(cl={}));var b0=()=>{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=Dd(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 ah(){return{localeError:b0()}}var ch=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ll={};cn(ll,{bigint:()=>x0,boolean:()=>S0,date:()=>C0,number:()=>_0,string:()=>v0});function v0(e){return jf(jr,e)}function _0(e){return Jf(Vr,e)}function S0(e){return op(Hr,e)}function x0(e){return sp(Kr,e)}function C0(e){return yp(gi,e)}le(ah());var E0=ul;var CC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var Si=64,EC="Rule config exceeds CC Safety Net's safe source limit.";var Hj=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var uh=[{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."},w0=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],R0=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],dh=[{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"]},...R0.flatMap((e)=>w0.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"]}],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"}],P0=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],mh=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})),fh=wC.flatMap((e)=>P0.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)$/},ph=["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})),gh=[{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?$/}],RC=[...uh,dl,...dh,...mh,...fh,xi,...ph,...gh,...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]:[])),A0=RC.map((e)=>e.id),Ci=new Set(A0);var aB=k0(import.meta.url),PC,T0=Array(Si+1).fill("over-limit"),AC=/^[^/]+\/[^/]+$/,pl=`must be an integer between ${Cl} and ${El}`,I0=["version","rules","overrides","transparent_wrappers"],O0=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function kC(e){if(!dt(e)||!Array.isArray(e.rules)||e.rules.length<=Si)return e;return{$schema:e.$schema,version:e.version,rules:T0,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function z0(){let e=lh,t=(w)=>{let T=e.superRefine(w);return T._zod.def.when=()=>!0,T},n=e.enum(CC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(er,`must be at most ${er} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(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,EC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:AC.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 C=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=Vh(E);if(Z){T.addIssue({code:"custom",message:Z,path:["rules",O]});return}if(C.has(E)){T.addIssue({code:"custom",message:`duplicate rulebook source "${E}"`,path:["rules",O]});return}C.add(E)})}if(dt(w.overrides))for(let C of Object.keys(w.overrides)){if(AC.test(C))continue;T.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",C]})}if(!Array.isArray(w.transparent_wrappers))return;let V=new Set;w.transparent_wrappers.forEach((C,E)=>{if(typeof C!=="string"||!hn.test(C))return;if(V.has(C)){T.addIssue({code:"custom",message:`duplicate command "${C}"`,path:["transparent_wrappers",E]});return}if(Nv(C)){T.addIssue({code:"custom",message:`reserved command "${C}" cannot be a wrapper`,path:["transparent_wrappers",E]});return}V.add(C)})},c=e.preprocess(kC,s.check(e.superRefine(a))),l=e.preprocess(kC,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 C=ln();T.forEach((E,O)=>{if(typeof E!=="string")return;let Z=w(E,C);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(so,"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((C,E)=>{let O=dt(C)?C.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"),C=`required non-empty string up to ${er} characters`;return e.looseObject({name:e.string({error:"required string"}).regex(dn,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",C)}).refine((E)=>E!=="",{error:T("must not be empty",C)}).refine((E)=>E.length<=er,{error:T(`must be at most ${er} characters`,C)}),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"]})})),x=(w,T)=>{if(!dt(w))return;let V=new Set(hh(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 C=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"||C.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(dn,"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 C=new Set;T.forEach((E,O)=>{if(typeof E!=="string"||!hn.test(E))return;if(C.has(E)){V.addIssue({code:"custom",message:`duplicate command "${E}"`,path:[O]});return}C.add(E)})})),rules:w,tests:e.array(A,{error:"must be an array if provided"}).optional()}).check(t(x)),L=P(y("rulebook")),k=e.string({error:"must be a non-empty string"}).refine((w)=>w!=="",{error:"must be a non-empty string"}),j="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 PC??=z0(),PC}function TC(){return Ei().RulesConfigSchema}function N0(){return Ei().UserPolicySchema}function IC(){return Ei().RulebookSchema}function OC(){return Ei().RulebookV2Schema}function hh(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 zC(e){let t=Ei().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:gl(MC(t.error.issues,I0)),sources:L0(e,t.error.issues)}}function NC(e){let t=N0().safeParse(e);if(t.success)return[];return gl(MC(t.error.issues,O0)," ")}function gl(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>DC(r,t,n,[])))]}function DC(e,t,n,r){let o=[...r,...e.path],i=$0(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)=>DC(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}${D0(e)}`]}function D0(e){if(e.code==="invalid_value")return`must be ${M0(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 M0(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 $0(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function MC(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 L0(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 $C={standard:0,strict:1,paranoid:2};function FC(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:yh(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:yh(e.secret_protection.deny_paths,t.secret_protection?.deny_paths),allow_paths:yh(e.secret_protection.allow_paths,t.secret_protection?.allow_paths)},audit:e.audit},weakenings:W0(e,t)}}function yh(e,t){return[...new Set([...e,...t??[]])]}function W0(e,t){let n=t.safety?.level,r=la[e.safety.level];return[...n&&$C[n]<$C[e.safety.level]?[`project policy lowers level: ${e.safety.level} -> ${n}`]:[],...Lo.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"]:[],...LC(t.destructive_command_protection?.overrides,(o)=>e.destructive_command_protection.enabled&&e.destructive_command_protection.overrides[o]!=="off"),...LC(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?WC(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?WC(e.secret_protection.allow_paths,t.secret_protection?.allow_paths).map((o)=>`project policy adds secret allow path: ${o}`):[]]}function LC(e,t){return Object.entries(e??{}).flatMap(([n,r])=>r==="off"&&t(n)?[`project policy disables rule ${n}`]:[])}function WC(e,t){return(t??[]).filter((n)=>!e.includes(n))}function F0(e){return zC(e)}function bh(e){try{let t=Mi(G0(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=F0(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=TC().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 G0(e){return typeof e==="string"?Wh(e):e}var _h=new Set(["standard","strict","paranoid"]),BC={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 Sh(e){return B0(j0(Hn(e)),fn)}function VC(e={}){let t=q0(Sh(e)),n=Jr(e.cwd),r=JC(n),o=H0(r.parsed),i=Object.keys(o.policy).length>0?FC(t.gui??BC,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?vh(i.policy):t.policy,errors:s,...a?{fallback:a}:{},...r.exists?{policyScopes:{levelScope:c,weakenings:i?.weakenings??[]}}:{}}}var V0="project policy audit settings are ignored; audit is user scope only";function H0(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={..._h.has(t.level)?{level:t.level}:{},...ge(t.overrides)?GC({overrides:HC(t.overrides,Lo)}):{}},s={...typeof r.enabled==="boolean"?{enabled:r.enabled}:{},...r.overrides!==void 0?{overrides:hl(r.overrides,so)}:{},...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:KC(o.deny_paths)}:{},...o.allow_paths!==void 0?{allow_paths:YC(o.allow_paths)}:{}};return{policy:GC({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?[]:[V0]}}function HC(e,t){return Object.fromEntries(t.flatMap((n)=>typeof e[n]==="boolean"?[[n,e[n]]]:[]))}function GC(e){return Object.fromEntries(Object.entries(e).flatMap((t)=>Object.keys(t[1]).length>0?[t]:[]))}function ZC(e){if(!ge(e))return K0();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:_h.has(t.level)?t.level:"standard",overrides:HC(n,Lo)},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,so),allow_paths:qC(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:hl(i.overrides,Ci),deny_paths:KC(i.deny_paths),allow_paths:YC(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 KC(e){if(!Array.isArray(e))return[];let t=ln();return e.filter((n)=>$s(n,t)===null)}function qC(e){if(!Array.isArray(e))return[];let t=ln();return e.filter((n)=>Ms(n,t)===null)}function YC(e){if(!Array.isArray(e))return[];let t=ln();return e.filter((n)=>Ls(n,t)===null)}function ge(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function K0(){return structuredClone(BC)}function JC(e){if(!Z0(e))return{exists:!1,errors:[]};try{let t=U0(e,"utf-8");if(!t.trim())return{exists:!0,errors:[`${e}: Config file is empty`],fallback:"defaults"};let n=JSON.parse(t),r=NC(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 q0(e){let t=JC(e);if(!t.exists){let r=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!ge(r))return{policy:jC(),errors:[]};let o=ZC(r);return{policy:vh(o),gui:o,errors:[],levelPresent:UC(r)}}if(t.parsed===void 0)return{policy:jC(),errors:t.errors,...t.fallback?{fallback:t.fallback}:{}};let n=ZC(t.parsed);return{policy:vh(n),gui:n,errors:t.errors,...t.fallback?{fallback:t.fallback}:{},levelPresent:UC(t.parsed)}}function UC(e){let t=ge(e)&&ge(e.safety)?e.safety:{};return _h.has(t.level)}function XC(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 jC(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:XC({}),denyPaths:[],allowPaths:[]}}}function vh(e){return{safety:Y0(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:XC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function Y0(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 nE="This path contains the protected policy config and you must not modify or delete it.",J0=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function rE(e){let t=Ot(Qe()),n=rM(e.invocation.context,t);if(e.invocation.route.kind==="patch")return QC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=xe(e,"input-candidate");if(e.invocation.route.kind==="command")return r?eE(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=eE(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return QC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||Is(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function QC(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 eE(e,t,n,r){let o=ar(e,t,r,{findSegmentTarget:(i,s)=>X0(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>wi(i,s.cwd,n,r),findMalformedTarget:(i)=>nM(i,t,n,r)?.target??null,normalizeCwd:ye});return o?{target:o}:null}function X0(e,t,n,r){if(_o(e))return null;let o=r.environment,i=Bt([...e],o),s=F(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&Q0(a)){let c=eM(a).find((l)=>tE(Le(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Vs(i,1)||Du(i,o)){let l=(Bs(U(i))??U(["."])).find((u)=>{let d=Le(u.text,t.variables);return wi(d,t.cwd,n,r)||tE(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=Os(a).sources.find((l)=>oM(Le(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(tM(e,o))return null;for(let c of[...e,...i])for(let l of oE(c))if(wi(Le(l,t.variables),t.cwd,n,r))return{target:l};return null}function Q0(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function eM(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 tM(e,t){let n=Bt([...e],t);if(n.length===0)return!1;let r=F(n[0]??"").toLowerCase();if(!J0.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 nM(e,t,n,r){for(let o of e.split(/\s+/))for(let i of oE(o))if(wi(i,t,n,r))return{target:i};return null}function oE(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function rM(e,t){let n=(s)=>Ri(ye(s,e.executionCwd,t)),r=n(Sh()),o=[n(Jr(e.executionCwd)),n(Jr(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=cv(e,t,r,(i)=>Ri(i)===fn);return o!==null&&n.files.has(Ri(o))}function tE(e,t,n,r){return n.directoriesAndAncestors.has(Ri(ye(e,t,r)))}function oM(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 Ch}from"node:os";import{isAbsolute as bl,posix as iM,resolve as _l,win32 as sM}from"node:path";import{fileURLToPath as aM}from"node:url";var fE="Access to a sensitive path is not allowed.",pE=new Set(["echo","printf"]),cM=new Set(["find"]),lM=new Set(["-exec","-execdir"]),uM=new Set([";","+"]),dM=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),mM=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),fM=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),pM=new Set(["node","bun"]),gM=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),hM=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"]),gE=new Set(["-c","-e","-r","-E","--eval","--exec"]),yM=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"])]]),bM=new Set(["grep","rg"]),iE="f",sE="file",vM="files",_M=new Set(["e","f"]),SM=new Set(["regexp","file"]),xM=new Set(["e","f","A","B","C","m"]),CM=new Set(["regexp","file","after-context","before-context","context","max-count"]),EM=new Set(["|","|&"]),xh="__CC_SAFETY_NET_PIPE_INPUT__",hE=new Set(["bash","sh","zsh","dash","ksh"]),wM=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 aE(e,t,n,r,o){let i=Xr();for(let s of e){if(d$(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=l$(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&m$(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function yE(e,t,n={}){let r=cE(e),o=aE(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?cE(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:aE(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&RM(e))return null;return s}function RM(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=qr(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)=>dM.has(s))}function cE(e,t={}){if(e.invocation.route.kind==="command"){let r=xe(e,"input-candidate");return r?ki(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=xe(e,"input-candidate");return[...n?ki(n.shell,e.store,t):[],...e.paths]}function ki(e,t,n){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 r=[...e.assignmentFallbacks,...BM(yt(e.source),t,n)],o=[],i=null;for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;if(o.length>0){if(r.push(...vl(o,t,n)),i!==null)r.push(...lE(i,o,t,n));i=EM.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?yt(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(yt(s.text))}if(o.length>0){if(r.push(...vl(o,t,n)),i!==null)r.push(...lE(i,o,t,n))}return r}function vl(e,t,n){let r=DM(e),o=qr(e);if(o.length===0)return r;let i=o[0]??"",s=Zn(i).toLowerCase(),a=o.slice(1),c=PM(i,s,a);if(c)return[...r,...c];if(pE.has(s))return r;if(bM.has(s))return[...r,...QM(a)];if(cM.has(s))return[...r,...MM(a,t,n)];if(We.has(s))return[...r,...a.flatMap((l)=>uE("awk",l)),...a.flatMap((l)=>LM(l,t,n)),...a.flatMap(WM)];if(_E(s)){if(hE.has(s)){let l=iv(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new ht}return[...r,...$M(s,a,n)]}return[...r,...a.flatMap((l)=>uE(s,l))]}function PM(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 lE(e,t,n,r){if(OM(t,n,r))return AM(e);let o=zM(t);if(o===null)return[];return kM(e).flatMap((i)=>hE.has(o)?ki(n.getShellSyntax(i),n,r):xE(i))}function AM(e){let t=qr(e);if(t.length===0)return[];let n=Zn(t[0]??"").toLowerCase();if(!pE.has(n))return[];return t.slice(1)}function kM(e){let t=qr(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 TM(r);return[]}function TM(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[bE(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>IM(t,r.slice(i*n,(i+1)*n)))}function IM(e,t){let n=0;return bE(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function bE(e){return e.replace(/\\n/g,`
98
+ `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function OM(e,t,n){let r=qr(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,xh]:i.map((c)=>c.split(s).join(xh));return vl(a,t,n).some((c)=>c.includes(xh))}function zM(e){let t=qr(e);if(t.length===0)return null;let n=Zn(t[0]??"").toLowerCase();if(!_E(n))return null;return NM(n,t.slice(1))?n:null}function NM(e,t){let n=vE(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(gE.has(o)||SE(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(wM.get(n)?.has(o))r++;continue}return!1}return!0}function vE(e){return/^python\d/.test(e)?"python":e}function DM(e){let t=[];for(let n of e){if(wE(n))continue;let r=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(n);if(r===null)break;if(r[1]!==void 0&&r[1]!=="")t.push(r[1])}return t}function uE(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 MM(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(!lM.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>uM.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(!mM.has(u))return[];let f=m[d+1];return f===void 0?[]:[f,f.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function _E(e){return fM.has(e)||/^python\d/.test(e)}function $M(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(gE.has(i)||SE(e,i)){let a=t[o+1];if(a!==void 0)r.push(...dE(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...dE(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function SE(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return yM.get(t[t.length-1]??"")?.has(vE(e))??!1}function LM(e,t,n){if(!e.includes("system"))return[];return Iu(e)?.commands.flatMap((r)=>ki(t.getShellSyntax(r),t,n))??[]}function WM(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 xE(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(CE),...n]}function dE(e,t,n){let r=xE(t);if(!n.refineJavaScriptInlineData||!pM.has(e)||r.length===0)return r;let o=FM(t);return o!==null&&!ZM(o)?[]:r}function FM(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&GM(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
99
+ `||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function GM(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 ZM(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(gM.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)=>hM.has(i)))continue;if(o.length>1)return!0;if(UM(e,r)===".")return!0;if(jM(e,r+n.length)==="(")return!0}return!1}function UM(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function jM(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function BM(e,t,n){return YM(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...ki(o,t,n),...VM(o)?HM(o):[]]})}function VM(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 HM(e){return e.entries.flatMap((t)=>t.kind==="word"?[yt(t.text)]:t.kind==="redirection"&&t.target?[yt(t.target)]:[]).flatMap(CE)}function CE(e){let t=qM(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||KM(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function KM(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function qM(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 YM(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(po(o,n))continue;if(EE(e,r,n)){let i=JM(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=XM(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function JM(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(po(i,n))continue;if(EE(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 XM(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 EE(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function QM(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===vM)o=!0;if(SM.has(d))r=!0;if(m!==void 0){if(d===sE)t.push(m);continue}if(CM.has(d)){let f=e[c+1];if(d===sE&&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(_M.has(h))r=!0;if(xM.has(h)){m=h,f=d.slice(p+1);break}}if(m!=="")if(f.length>0){if(m===iE)t.push(f)}else{let p=e[c+1];if(m===iE&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function qr(e){let t=e.findIndex((n)=>!wE(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function wE(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var e$=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),t$=".env.",n$=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),r$=[".env.example.",".env.sample."];function o$(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function i$(e){return e.length>0&&!/\s/.test(e)}function s$(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 a$=new Set(["node_modules","__pycache__"]),c$=[["vendor","bundle"],["vendor","cache"]];function l$(e,t,n,r){if(o$(e))return null;let o=kt(e,t,r);if(!o)return null;let i=oe(o.split("/").pop()??""),s=oe(o),a=()=>i$(i)||s$(e,t,r);if(n$.has(i)||r$.some((d)=>i.startsWith(d)))return null;let c=oe(g$(e,t,r));for(let d of dh){let m=`~/${d.suffixParts.join("/")}`;if((mE(s,m)||mE(c,m))&&Gt(d.id,n))return d.id}let l=u$(o,t,n,r);if(l)return l;if(e$.has(i))return null;for(let d of uh)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(t$)&&Gt(dl.id,n)&&a())return dl.id;for(let d of mh)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 fh)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(f$(s))return null;if(!i.includes(".")&&xi.pattern.test(i)&&Gt(xi.id,n))return xi.id;let u=p$(i,n);if(u)return u;return null}function u$(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)=>RE(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 RE(e,kt(t,n,r))}function RE(e,t){return oe(e)===oe(t)}function _e(e,...t){return mt([e,...t].filter(Boolean).join("/"))}function d$(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 m$(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??Ch(),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 f$(e){let t=e.split("/");return t.some((n)=>a$.has(n))||c$.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function p$(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 ph)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of gh)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}=Eh(e,n);if(!o)return"";if(!r)return o;let i=wh(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 mE(e,t){return e===t||e.startsWith(`${t}/`)}function g$(e,t,n){let{home:r,normalized:o}=Eh(e,n);if(!o||!r)return"";let i=wh(o,r),s=iM.normalize(bl(i)?i:mt(_l(t,i))),a=mt(ze(process.env.HOME??Ch())),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}=Eh(e,n);if(!o)return"";let i=r?wh(o,r):o;return mt(X(bl(i)?i:_l(t,i),Be,n))}function Eh(e,t){let n=process.env.HOME??Ch(),r=n?mt(X(ze(n),Be,t)):"",o=mt(ze(h$(yt(e))));return{home:r,normalized:o}}function h$(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return aM(e)}catch{return e}}function wh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return _e(t,e.slice(2));return e}function y$(e){if(process.platform==="win32")return!0;return sM.parse(e).root.length>1}function mt(e){let t=e.trim(),n=(y$(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"node:path";var PE="Rulebook exceeds CC Safety Net's safe validation limits.",AE="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 kE(e){if(Rh(e.allowed_commands,ft.maxAllowedCommands)||Rh(e.rules,ft.maxRules)||Rh(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 Rh(e,t){return Array.isArray(e)&&e.length>t}function b$(e){if(!v$(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!kE(e))return{errors:[PE],ruleNames:new Set};let t=(e.rulebook_version===2?OC():IC()).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),AE]:n,ruleNames:new Set(hh(e).map((r)=>r.toLowerCase()))}}function TE(e){let t=b$(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function v$(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function ME(e={}){let t=Yh(e),n=!1;try{n=Fh(t.userConfigTarget,t.projectConfigTarget)}catch(m){if(m instanceof pe)return A$(t,m.message);throw m}let r=bh(t.userConfigTarget),o=n?{config:null,errors:[]}:bh(t.projectConfigTarget),i=NE(t.userConfigPath,r.errors),s=NE(t.projectConfigPath,o.errors),a=new Set,c=r.config?IE(r.config,Sl(t.userConfigPath),"user",t.userScope,a):DE(),l=o.config?IE(o.config,Sl(t.projectConfigPath),"project",t.projectScope,a):DE(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...OE(c.rules,u),...OE(l.rules,d)],transparent_wrappers:R$(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?zE(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?P$(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?zE(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function IE(e,t,n,r=un(Sl(Sl(t)),n==="user"?"user policy":"project policy"),o=new Set){let i=[],s=[],a=e.rules.flatMap((l)=>{let u=S$(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:_$(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 _$(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 S$(e,t,n){let r=x$(e),o=Jh(t,r),i=E$(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}; ${C$(e)}`]};let s=w$(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 x$(e){return $i(e)?Al(e).name:e}function C$(e){return $i(e)?`run ${qh} to vendor ${e}`:"create that file or remove that source from the rules config"}function E$(e,t){try{return{content:Mi(Yr(t,e))}}catch(n){if(n instanceof pe)return{error:n.message};throw n}}function w$(e){let t;try{t=JSON.parse(e)}catch{return{problem:"Invalid JSON"}}try{return{rulebook:TE(t)}}catch(n){return{problem:n instanceof Error?n.message:"invalid rulebook"}}}function R$(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function OE(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 zE(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 P$(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 NE(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function A$(e,t){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[t],warnings:[],userConfigPath:e.userConfigPath,projectConfigPath:e.projectConfigPath}}function DE(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function $E(e={}){let t=ME(e),n=VC(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}),...O$(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return z$(r,k$(t,n),i,n.policyScopes)}function k$(e,t){let n=I$(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:N$(e.errors.length>0?T$(e.errors):void 0,e.warnings.length>0?Ah(e.warnings.join("; ")):void 0,n)}}function T$(e){return`${Ah(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function I$(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 O$(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function z$(e,t,n=Object.freeze({}),r){let o=Ph(structuredClone(e)),i=r?{policyScopes:Ph(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 Ph(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))Ph(t);return Object.freeze(e)}function N$(...e){return Ah(e.filter((t)=>!!t).join("; "))}function Ah(e){return/[.!?]$/.test(e)?e:`${e}.`}class an 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 D$={findPolicyMutation:rE,findGitMetadataMutation:mv,resolveGitMetadata:Su,loadPolicySnapshot:$E,findSensitiveTarget:yE,analyzeCommand:xS,getModes:Sd};function LE(e,t={}){let n={...D$,...t.dependencies},r=L$(e),o=Ii(e)?e.command:r,i=sn("policy-protection",o,()=>vo(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:fy,intent:"stop_and_explain",evidence:[]}};let a=sn("policy-protection",o,()=>n.resolveGitMetadata([e.context.executionCwd,e.context.configCwd])),c=sn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:nE,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=sn("policy-protection",o,()=>wS(i));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:ES,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=sn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(u){let b=o??u.target;return{stage:"policy-protection",decision:{kind:"deny",reason:qe,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:u.target}]}}}let d=sn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),m=d.policy,f=n.getModes(m),p={level:f.effectiveLevel,...M$(d)},h=m.secretProtection.enabled===!1?null:sn("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:fE,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{...kh("command-validation",o),...p};let y=sn("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},$$(i),i.store));if(y)return{stage:"command-analysis",...p,decision:y};return{stage:"command-analysis",...p,decision:{kind:"allow"}}}function M$(e){if(e.state==="ready")return{};return{configFallback:{reason:e.reason}}}function $$(e){return xe(e,"declared-command")?.program}function L$(e){try{return bo(e.input)}catch(t){let n=Ii(e)?e.command:void 0;throw new an("policy-protection",kh("policy-protection",t instanceof $t?void 0:n,t),t)}}function sn(e,t,n){try{return n()}catch(r){throw new an(e,kh(e,r instanceof $t?void 0:t,r),r)}}function kh(e,t,n){let r=n instanceof Se||n instanceof ht;return{stage:e,decision:{kind:"deny",reason:r?py:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ii(e){return e.route.kind==="command"}function FE(e,t){try{let n=LE(e,t.guard);return WE(e,n,t),n}catch(n){if(!(n instanceof an))throw n;throw WE(e,n.evaluation,t,!(n.cause instanceof $t),{stage:n.stage,errorCode:W$(n.cause)}),n}}function WE(e,t,n,r=!0,o){cy(ay(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function W$(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 ZE="exec",F$=new Set(["auto","gateway"]);function UE(e){e.on("before_tool_call",G$(e),{matcher:[ZE],priority:50})}function G$(e,t={}){return(n,r)=>{if(r.abortSignal?.aborted)return Th(zl());let o=Z$(n,r,e);if(!o)return;let i=()=>r.sessionId??r.sessionKey;if("malformed"in o)return ly(o.denial,i,{agent:"openclaw",toolName:o.denial.toolName,cwd:o.cwd}),Th(o.denial);try{let s=FE(o,{guard:{auditAllowed:vd(),dependencies:t.guardDependencies},audit:{agent:"openclaw",getSessionId:i}});return GE(s,!0)}catch(s){if(!(s instanceof an))throw s;if(Xt(fe.debug))console.error(`CC Safety Net debug: openclaw before_tool_call analysis failed: ${vy(s.cause)}`);return GE(s.evaluation,!0)}}}function Z$(e,t,n){if(!e||typeof e!=="object")return Un(null);let r=e.toolName;if(typeof r!=="string"||r.trim()==="")return Un(null);if(r!==ZE)return;if(e.toolKind!==void 0)return;let o=e.params;if(!o||typeof o!=="object"||Array.isArray(o))return Un(null,r);let i=o,s=i.command;if(typeof s!=="string"||s.trim()==="")return Un(null,r);if(i.host!==void 0&&!F$.has(i.host))return Un(null,r,s);let a=U$(n,t.agentId);if(!a)return Un(null,r,s);let c=j$(a,i);if(!c)return Un(a,r,s,typeof i.workdir==="string"?i.workdir:void 0);return Wo(r,i,{kind:"command",shell:"auto"},{configCwd:a,executionCwd:c},s)}function U$(e,t){if(typeof t!=="string"||t.trim()==="")return;try{let n=e.runtime.agent.resolveAgentWorkspaceDir(e.config,t);if(typeof n!=="string"||n.trim()==="")return;return Wi(".",[n])}catch{return}}function j$(e,t){if(!Object.hasOwn(t,"workdir")||t.workdir===void 0)return e;let n=t.workdir;if(typeof n!=="string"||n.trim()==="")return;return Wi(n,[e])}function Un(e,t,n,r){return{malformed:!0,denial:zl({command:n,segment:r,toolName:t}),cwd:e}}function GE(e,t){let n=yy(e,{includeEvidence:t});return n?Th(n):void 0}function Th(e){return{block:!0,blockReason:by(e)}}var cV={...zh,register:UE};export{cV as default};