cc-safety-net 2.0.9 → 2.0.10
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.
- package/dist/amp/cc-safety-net/index.ts +40 -40
- package/dist/bin/cc-safety-net.js +3 -3
- package/dist/chunks/{index-tdm5076r.js → index-dnak4vk0.js} +34 -34
- package/dist/index.js +1 -1
- package/dist/openclaw/cc-safety-net/index.js +36 -36
- package/dist/openclaw/cc-safety-net/openclaw.plugin.json +1 -1
- package/dist/openclaw/cc-safety-net/package.json +1 -1
- package/dist/pi/index.js +1 -1
- package/package.json +2 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// cc-safety-net managed Amp plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --amp
|
|
2
|
-
// version: 2.0.
|
|
2
|
+
// version: 2.0.10
|
|
3
3
|
// @bun
|
|
4
|
-
var
|
|
5
|
-
`).filter((o)=>o.trim()).map(
|
|
6
|
-
`,{encoding:"utf-8",mode:384}),
|
|
4
|
+
var RR=Object.defineProperty;var wR=(e)=>e;function ER(e,t){this[e]=wR.bind(null,t)}var dn=(e,t)=>{for(var n in t)RR(e,n,{get:t[n],enumerable:!0,configurable:!0,set:ER.bind(t,n)})};import{randomBytes as Sw}from"crypto";import{appendFileSync as xw,mkdirSync as _w}from"fs";import{homedir as Cw,userInfo as Rw}from"os";import{isAbsolute as ww,join as Il}from"path";var PR=[/\bgh[pousr]_[A-Za-z0-9]{20,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,/\bglpat-[A-Za-z0-9_-]{20,}\b/g,/\bxox[abeprs]-[A-Za-z0-9-]{20,}\b/g,/\bnpm_[A-Za-z0-9_]{20,}\b/g,/\bpypi-[A-Za-z0-9_-]{20,}\b/g,/\b[rs]k_(?:live|test)_[A-Za-z0-9_]{20,}\b/g,/\bsk-[A-Za-z0-9_-]{20,}\b/g,/\bsk_[A-Za-z0-9]{20,}\b/g,/\bgsk_[A-Za-z0-9]{52,}\b/g,/\bxai-[A-Za-z0-9_-]{80,}\b/g,/\bpplx-[A-Za-z0-9_-]{20,}\b/g,/\bbastn_[A-Za-z0-9]{16,}\b/g,/\btgp_v1_[A-Za-z0-9_-]{43,}\b/g,/\bflp_[A-Za-z0-9]{10,}\b/g,/\bwfr_[A-Za-z0-9]{20,}\b/g,/\bfwp?_[A-Za-z0-9_-]{20,}\b/g,/\btp-[A-Za-z0-9_-]{20,}\b/g,/\bpsk-[A-Za-z0-9_-]{8,}-[A-Za-z0-9_-]{8,}\b/g,/\b[a-f0-9]{32}\.[A-Za-z0-9]{16}\b/g];function kt(e){let t=e.replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_DSN|CONNECTION_STRING)=("[^"]*"|'[^']*'|[^\s]+(?:\s+[A-Z_][A-Z0-9_]*=[^\s]+)*)/gi,"$1=<redacted>").replace(/\b((?:DATABASE|POSTGRES|POSTGRESQL|MYSQL|MARIADB|REDIS|MONGO(?:DB)?|DB)_(?:URL|URI|CONNECTION_STRING))=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>").replace(/\b([A-Z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASS|KEY|CREDENTIALS)[A-Z0-9_]*)=("[^"]*"|'[^']*'|[^\s]+)/gi,"$1=<redacted>");return kR(t)}function kR(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 PR)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 Bh,readdirSync as aw,readFileSync as Vh,rmdirSync as cw,statSync as Uh,unlinkSync as lw,utimesSync as uw,writeFileSync as dw}from"fs";import{dirname as mw,join as qn}from"path";var Ti=30,Sl=1,xl=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 HR}from"os";import{dirname as Ut,isAbsolute as VR,join as jt,relative as qR,resolve as Tt,sep as KR}from"path";import{closeSync as AR,constants as Ah,fstatSync as TR,fsyncSync as LM,lstatSync as Th,mkdirSync as WM,openSync as IR,readdirSync as FM,readFileSync as OR,realpathSync as Oi,renameSync as GM,rmdirSync as ZM,statSync as zR,unlinkSync as BM,writeFileSync as UM}from"fs";import{isAbsolute as Ih,join as Oh,normalize as NR,parse as DR,relative as _l,resolve as Cl,sep as Rl}from"path";var $R=Symbol("PolicyFilesystemScope"),MR=Symbol("PolicyFilesystemTarget"),LR=Ah.O_NOFOLLOW??0;class ae extends Error{constructor(e){super(`Unable to access ${e} filesystem safely.`);this.name="PolicyFilesystemError"}}function Bt(e,t){return{[$R]:!0,root:Cl(e),label:t}}function zh(e,t){let n=NR(t);if(t===""||Ih(t)||n===".."||n.startsWith(`..${Rl}`))throw new ae(e.label);return{[MR]:!0,scope:e,relativePath:n,path:Oh(e.root,n)}}function At(e,t){let n=_l(e.root,Cl(t));return zh(e,n)}function Ni(e,t="rules policy"){let n=Cl(e),r=DR(n).dir;return zh(Bt(r,t),_l(r,n))}function mn(e){try{if(!zi(e,!1).exists)return null;let n=IR(e.path,Ah.O_RDONLY|LR);try{let r=TR(n);if(!r.isFile())throw new ae(e.scope.label);let o=OR(n,"utf-8"),i=Th(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{AR(n)}}catch(t){GR(e.scope.label,t)}}function Nh(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=WR(e.scope);if(!r)return{exists:!1};let o=e.relativePath.split(Rl);for(let i of o.keys()){let s=Oh(e.scope.root,...o.slice(0,i+1)),a=Dh(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);FR(r,Oi(s),e.scope.label)}return{exists:!0}}function WR(e){if(!Dh(e.root))return null;if(!zR(e.root).isDirectory())throw new ae(e.label);return Oi(e.root)}function FR(e,t,n){let r=_l(e,t);if(r===".."||r.startsWith(`..${Rl}`)||Ih(r))throw new ae(n)}function Dh(e){try{return Th(e)}catch(t){if(ZR(t)&&t.code==="ENOENT")return null;throw t}}function GR(e,t){if(t instanceof ae)throw t;throw new ae(e)}function ZR(e){return e instanceof Error&&"code"in e}var lt=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,wl="rulebook.json",El=".cc-safety-net/rules";var $h=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var BR=/^[A-Za-z0-9._-]+$/,UR=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),jR="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Mh=new RegExp(`^${UR}/(${lt.source.slice(1,-1)})/${jR}$`);function Lh(e){return`.cc-safety-net/rules/${e}/rulebook.json`}function Xr(e){if($i(e))try{return Di(e),null}catch(t){return t instanceof Error?t.message:String(t)}return lt.test(e)?null:`Local rulebook sources must be bare names matching ${lt}: ${e}`}function Di(e){if(e.startsWith("github:"))throw Error(`Invalid rulebook source: ${e}`);let t=e.match($h);if(!t?.[1]||!t[2]||!t[3])throw Error(`Invalid GitHub rulebook source: ${e}`);let[n,r,...o]=t[3].split("/");if(!n||!BR.test(n))throw Error(`GitHub rulebook refs must be a single path segment: ${e}`);if(!r||o.length>0||!lt.test(r))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${e}`);return{owner:t[1],repo:t[2],ref:n,path:Lh(r),name:r}}function $i(e){return $h.test(e)}var Fh="rule.json",Mi="policy.json",YR="rule.lock";var Gh=".cc-safety-net",JR="rules",Wh="cache",XR="CC_SAFETY_NET_HOME",Ht="`cc-safety-net rule sync`";function QR(e){return Tt(e??process.cwd(),El)}function ew(e){return jt(QR(e),Fh)}function fn(e){return e?.userConfigDir??(e?.userConfigPath?Ut(e.userConfigPath):jt(tw(),JR))}function tw(){let e=process.env[XR];return e?Tt(e):jt(HR(),Gh)}function nw(e){return jt(fn(e),Fh)}function Qr(e){return jt(Ut(e),YR)}function Zh(e){let t=e.userConfigPath??nw(e),n=e.projectConfigPath??ew(e.cwd),r=rw(t,e),o=ow(n,e);return{userConfigPath:t,projectConfigPath:n,userLockPath:Qr(t),projectLockPath:Qr(n),userScope:r,projectScope:o,userConfigTarget:At(r,t),projectConfigTarget:At(o,n),userLockTarget:At(r,Qr(t)),projectLockTarget:At(o,Qr(n))}}function rw(e,t){let n=t.userConfigPath?Ut(Ut(Tt(t.userConfigPath))):Ut(Tt(t.userConfigDir??fn(t)));return Bt(n,"user policy")}function ow(e,t){let n=Tt(t.cwd??process.cwd()),r=Tt(e),o=qR(n,r);if(o!==".."&&!o.startsWith(`..${KR}`)&&!VR(o))return Bt(n,"project policy");return Bt(Ut(Ut(r)),"project policy")}function Pl(e,t){let n=e.digest.startsWith("sha256:")?e.digest.slice(7):e.digest;return jt(sw(t),"rulebooks",`${iw(e)}--${n.slice(0,12)}`,wl)}function kl(e,t){let n=t;return{cacheConfigDir:e,cwd:t.cwd,global:n.global}}function iw(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 sw(e){let t=e?.cacheConfigDir??fn(e),n=e;if(n&&!n.global&&n.cwd&&Tt(t)===Tt(n.cwd))return jt(Tt(n.cwd),Gh,Wh);return jt(Ut(t),Wh)}var Tl=86400000,fw=".last-prune",pw=/^\d{4}-\d{2}$/,gw=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,jh=(e)=>Math.floor(e/Tl);function hw(e){try{let t=qn(mw(fn(e)),Mi),n=JSON.parse(Vh(t,"utf-8"));return Ii(n?.audit?.retention_days)}catch{return Ti}}function qh(e,t=()=>new Date){try{let n=t().getTime();if(!Uh(e,{throwIfNoEntry:!1})?.isDirectory())return;let r=qn(e,fw),o=Uh(r,{throwIfNoEntry:!1})?.mtimeMs;if(o!==void 0&&jh(o)===jh(n))return;let i=n-hw()*Tl,s=new Date(n).toISOString().slice(0,7);for(let a of Al(e)){if(a.isDirectory()){yw(qn(e,a.name),i,s);continue}if(a.isFile()&&a.name.endsWith(".jsonl"))bw(qn(e,a.name),i)}dw(r,"",{mode:384}),uw(r,n/1000,n/1000)}catch{}}function yw(e,t,n){for(let r of Al(e)){if(!r.isDirectory()||!pw.test(r.name))continue;let o=qn(e,r.name);for(let i of Al(o)){if(!i.isFile())continue;let s=gw.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;Kh(qn(o,i.name))}if(r.name!==n)Hh(o)}Hh(e)}function bw(e,t){try{let n=Bh(e);if(n.mtimeMs>=t)return;let r=Vh(e,"utf-8").split(`
|
|
5
|
+
`).filter((o)=>o.trim()).map(vw);if(r.length===0)return;if(r.some((o)=>o===void 0||o>=t))return;if(Bh(e).mtimeMs!==n.mtimeMs)return;Kh(e)}catch{}}function vw(e){try{let t=JSON.parse(e).ts,n=typeof t==="string"?Date.parse(t):Number.NaN;return Number.isFinite(n)?n:void 0}catch{return}}function Al(e){try{return aw(e,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function Kh(e){try{lw(e)}catch{}}function Hh(e){try{cw(e)}catch{}}var Ew="2.0.10",Pw=1e4,kw=2000,Aw=256,Tw=32768;function Iw(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 Ow(e){return(e??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function Ol(e,t,n,r,o,i={}){let s=Iw(e);if(!s)return;let a=i.homeDir??Yh();if(!a)return;let c=zw(a);if(!c)return;try{let l=(i.now??(()=>new Date))().toISOString(),u=Li(kt(t),i.failureStage?Number.POSITIVE_INFINITY:Pw),d=Li(kt(n),kw),f=i.toolName?Li(kt(i.toolName),Aw):void 0,m=o===null?void 0:Li(kt(o),Tw),p=Il(c,Ow(m?.value??null),l.slice(0,7));_w(p,{recursive:!0,mode:448});let h=Il(p,`${l.slice(0,10)}-${s}.jsonl`),b={ts:l,id:(i.createId??(()=>Sw(8).toString("hex")))(),v:Ew,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};xw(h,`${JSON.stringify(b)}
|
|
6
|
+
`,{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 Yh(e=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let t=e||Cw()||Rw().homedir;return t&&ww(t)?t:null}function zw(e=Yh()){return e?Il(e,".cc-safety-net","logs"):null}function Xh(e,t,n,r=!0,o){if(t.decision.kind==="allow"){if(!n||e.route.kind!=="command")return;let a=Jh(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?Jh(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 Jh(e){return"command"in e?e.command??"":""}function Qh(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 ey(e,t,n){let r;try{r=t()}catch{return}if(typeof r!=="string"||!r.trim())return;Ol(r,e.command??"",e.segment??e.command??"",e.reason,n.cwd??null,{homeDir:n.homeDir,decision:"deny",agent:n.agent,shape:n.shape,toolName:n.toolName??e.toolName,ruleId:e.ruleId,intent:e.intent})}import{realpathSync as Gw,statSync as Zw}from"fs";import{isAbsolute as ny,relative as Bw,resolve as Uw,sep as jw}from"path";import{dirname as Nw,isAbsolute as Dw,parse as $w,sep as Mw}from"path";function pn(e,t=process.platform){if(t!=="win32")return!1;return(e[0]==="/"||e[0]==="\\")&&(e[1]==="/"||e[1]==="\\")}function Vt(e,t,n){if(pn(t))throw Error("Unsupported Windows namespace path");let r=Dw(t)?Ww(t):"",o=r||e;for(let i of Fw(r?t.slice(r.length):t)){if(i===""||i===".")continue;if(i===".."){o=Nw(o);continue}let s=Lw(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 Lw(e,t){return e.endsWith("/")||e.endsWith("\\")?`${e}${t}`:`${e}${Mw}${t}`}function Ww(e){return $w(e).root}function Fw(e){let t=process.platform==="win32"?/[\\/]+/:/\/+/;return e.split(t)}function Wi(e,t){if(pn(e))return;let n=t.flatMap((o)=>ty(o));if(!n[0])return;let r=ty(ny(e)?e:Uw(n[0],e))[0];if(!r)return;return n.some((o)=>ry(r,o))?r:void 0}function ty(e){try{let t=Gw(e);return Zw(t).isDirectory()?[t]:[]}catch{return[]}}function ry(e,t){let n=Bw(t,e);return n===""||n!==".."&&!n.startsWith(`..${jw}`)&&!ny(n)}var qt="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",It="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",oy="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",iy="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 ay(e){let{reason:t,command:n,segment:r,toolName:o}=e,i=e.maxLen??200,s=e.redact??((c)=>c),a=`BLOCKED by CC Safety Net
|
|
7
7
|
|
|
8
8
|
Reason: ${s(t)}`;if(e.ruleId)a+=`
|
|
9
9
|
|
|
@@ -11,57 +11,57 @@ Rule: ${e.ruleId}`;if(o)a+=`
|
|
|
11
11
|
|
|
12
12
|
Tool: ${o}`;if(n){let c=s(n);a+=`
|
|
13
13
|
|
|
14
|
-
Command: ${
|
|
14
|
+
Command: ${sy(c,i)}`}if(r&&r!==n){let c=s(r);a+=`
|
|
15
15
|
|
|
16
|
-
Segment: ${
|
|
16
|
+
Segment: ${sy(c,i)}`}if(e.configWarning)a+=`
|
|
17
17
|
|
|
18
18
|
Config warning: ${s(e.configWarning)}`;return a+=`
|
|
19
19
|
|
|
20
|
-
${
|
|
21
|
-
`;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function by(e,t){try{let n=Vt(e,t,Be);return Cy(n)?n:null}catch{return null}}function Cy(e){try{return no(e).isDirectory()}catch{return!1}}function yE(e){try{return oo(ro(e))}catch{return null}}function oo(e){let t=e;while(!0){let n=qi(t,".git");if(
|
|
20
|
+
${Hw(e.intent??"manual_only")}`,a}function Hw(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 sy(e,t){return e.length>t?`${e.slice(0,t)}...`:e}function cy(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 ly(e={}){return{reason:Fi,intent:"stop_and_explain",command:e.command,segment:e.segment??e.command,toolName:e.toolName}}function uy(e){return ay({...e,redact:kt})}function dy(e){return kt(e instanceof Error?e.message:String(e))}import{basename as Vw,dirname as qw,join as zl}from"path";var Kn=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:16384,maxProcessedCandidateBytes:4194304});class be extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function eo(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function gn(e){return{...eo(),environment:e}}var Gi=new Set(["CC_SAFETY_NET_HOME","CLAUDE_CONFIG_DIR","CODEX_HOME","COPILOT_HOME","GEMINI_CLI_HOME","HOME","KIMI_CODE_HOME","KIMI_SHARE_DIR","OPENCODE_CONFIG","OPENCODE_CONFIG_DIR","PI_CODING_AGENT_DIR","ProgramData","TMPDIR","XDG_CONFIG_HOME","XDG_DATA_HOME"]);function Zi(e,t){return Nl(e,0,t)}function Nl(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=Dl(e,o+2),a=Kw(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+=Yw(c,t,n),o=a+1;continue}let i=Dl(e,o+1);if(!i){r+="$",o++;continue}r+=$l(i,n)??`$${i}`,o+=i.length+1}return r}function Kw(e,t,n){let r=1;for(let o=t+2;o<e.length;o++){if(e[o]==="\\"){o++;continue}if(e[o]==="$"&&e[o+1]==="{"){if(r++,n+r>Kn.maxEnvironmentExpansionDepth)throw new be;o++;continue}if(e[o]!=="}")continue;if(r--,r===0)return o}return null}function Yw(e,t,n){let r=e.slice(2,-1),o=Dl(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 be;return e}if(!Gi.has(o))return e;if(s.endsWith("="))throw new be;let a=$l(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??"":Nl(i.slice(s.length),t+1,n);return c?Nl(i.slice(s.length),t+1,n):""}function Dl(e,t){if(!/[A-Za-z_]/.test(e[t]??""))return"";let n=t+1;while(/[A-Za-z0-9_]/.test(e[n]??""))n++;return e.slice(t,n)}function Y(e,t,n=eo()){if(!e)return e;let r=n.resolvedPaths.get(e);if(r!==void 0)return r;let o=[],i=e;while(!0){if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(i),n.realpathAttempts>Kn.maxRealpathAttempts||n.processedCandidateBytes>Kn.maxProcessedCandidateBytes)throw new be;let s=t.realpath(i);if(s!==null){let c=o.length===0?s:zl(s,...o.reverse());return n.resolvedPaths.set(e,c),c}let a=qw(i);if(a===i){let c=o.length===0?i:zl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}if(o.length>=Kn.maxMissingSuffixComponents){let c=zl(i,...o.reverse());return n.resolvedPaths.set(e,c),c}o.push(Vw(i)),i=a}}function my(e,t,n){let r=n.resolvedPaths.get(e);if(r!==void 0)return r;if(n.realpathAttempts++,n.processedCandidateBytes+=Buffer.byteLength(e),n.realpathAttempts>Kn.maxRealpathAttempts||n.processedCandidateBytes>Kn.maxProcessedCandidateBytes)throw new be;let o=t.realpath(e);if(o!==null)n.resolvedPaths.set(e,o);return o}function $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: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 Fl,lstatSync as rE,readFileSync as Vi,realpathSync as ro,statSync as no}from"fs";import{dirname as Gl,isAbsolute as Zl,join as qi,resolve as Ki}from"path";import{lstatSync as Jw,realpathSync as Xw}from"fs";import{homedir as Qw,tmpdir as eE}from"os";var Be={realpath:(e)=>{try{return Xw(e)}catch{return null}},entryKind:(e)=>{let t=Jw(e,{throwIfNoEntry:!1});if(!t)return"missing";return t.isSymbolicLink()?"symlink":"present"}};function hn(){return process.env.HOME||Qw()}function Ot(){return{env:new Map(Object.entries(process.env).flatMap(([e,t])=>t===void 0?[]:[[e,t]])),home:hn(),tmpdir:eE(),paths:Be}}var Ml=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],tE=new Set(Ml);var fy=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"]),nE=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function Ll(e){return tE.has(e)}function to(e){return e==="GIT_CONFIG_COUNT"||e==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test(e)}function Wl(e){return Ll(e)||fy.has(e)||Ui.has(e)||to(e)}function Ue(e,t,n){return n?.has(e)?n.get(e):t.get(e)}function ji(e,t){let n=Ue("GIT_CONFIG_COUNT",e,t);if(n===void 0)return{state:"absent"};if(n==="")return{state:"valid",count:0};if(!/^\d+$/.test(n))return{state:"invalid"};let r=Number(n);return Number.isSafeInteger(r)&&r<=1024?{state:"valid",count:r}:{state:"invalid"}}function Hi(e,t,n){let o=e.match(nE)?.[1];if(!o||!Wl(o))return null;let i=e.indexOf("=");return{name:o,value:`${Ue(o,t,n)??""}${e.slice(i+1)}`}}function py(e){return hy(e,Ui)}function gy(e){return hy(e,fy)}function hy(e,t){if(!e)return!1;for(let n of e.keys())if(t.has(n))return!0;return!1}var ut=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function vy(e,t){return Ml.some((n)=>t?.has(n)||e.has(n))}function Sy(e,t){if(!t)return{gitCwd:null,hasExplicitGitContext:!1};let n;try{n=ro(Ki(t))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!Cy(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=by(n,s);if(!a)return{gitCwd:null,hasExplicitGitContext:r};n=a,o+=2;continue}if(i.startsWith("-C")&&i.length>2){let s=by(n,i.slice(2));if(!s)return{gitCwd:null,hasExplicitGitContext:r};n=s,o++;continue}if(i==="--git-dir"||i==="--work-tree"){r=!0,o+=2;continue}if(i.startsWith("--git-dir=")||i.startsWith("--work-tree=")){r=!0,o++;continue}if(ut.has(i))o+=2;else if(i.startsWith("-c")&&i.length>2)o++;else o++}return{gitCwd:n,hasExplicitGitContext:r}}function xy(e){let t=yE(e);if(!t)return!1;try{let n=rE(t);if(n.isSymbolicLink()||!n.isFile())return!1;let r=Bl(t);if(!r?.commonDir)return!1;if(!sE(r.gitDir,t))return!1;return aE(r.gitDir,Gl(t))}catch{return!1}}function Bl(e){try{let t=oE(e);if(!t)return null;let n=ro(Zl(t)?t:Ki(Gl(e),t));if(!no(n).isDirectory())return null;return{gitDir:n,commonDir:iE(n)}}catch{return null}}function oE(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 iE(e){try{let t=Vi(qi(e,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!t)return null;let n=ro(Zl(t)?t:Ki(e,t));return no(n).isDirectory()?n:null}catch{return null}}function sE(e,t){let n=cE(e);return n===null?!1:_y(e,n,t)}function aE(e,t){let n=lE(e);return n===null?!0:_y(e,n,t)}function cE(e){let t=qi(e,"gitdir");if(!Fl(t))return null;let n=Vi(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return n===""?null:n}function lE(e){let t=qi(e,"config.worktree");return Fl(t)?pE(t):null}function _y(e,t,n){return dE(uE(e,t),n)}function uE(e,t){return Zl(t)?t:Ki(e,t)}function dE(e,t){try{return mE(e,t)}catch{return!1}}function mE(e,t){try{let n=no(e),r=no(t);if(n.ino!==0&&r.ino!==0&&n.dev===r.dev&&n.ino===r.ino)return!0}catch{}return yy(e)===yy(t)}function yy(e){return fE(ro.native(e))}function fE(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 pE(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=gE(s[1]??"")}return r}function gE(e){let t=e.trim();if(!t.startsWith('"')||!t.endsWith('"'))return t;return hE(t.slice(1,-1))}function hE(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(r!=="\\"){t+=r;continue}let o=e[n+1];if(o===void 0){t+=r;continue}switch(o){case"\\":case'"':t+=o;break;case"n":t+=`
|
|
21
|
+
`;break;case"t":t+="\t";break;case"b":t+="\b";break;default:t+=`\\${o}`;break}n++}return t}function by(e,t){try{let n=Vt(e,t,Be);return Cy(n)?n:null}catch{return null}}function Cy(e){try{return no(e).isDirectory()}catch{return!1}}function yE(e){try{return oo(ro(e))}catch{return null}}function oo(e){let t=e;while(!0){let n=qi(t,".git");if(Fl(n))return n;let r=Gl(t);if(r===t)return null;t=r}}function Ul(e,t){return{value:e,work:t}}function C(e,t){if(e.work)e.work.units=Math.min(Number.MAX_SAFE_INTEGER,e.work.units+1);return e.value[t]}function ce(e){return e.value.length}function io(e,t,n=1){if(e)e.units=Math.min(Number.MAX_SAFE_INTEGER,e.units+t.length*n)}function Te(e,t){io(e,t)}function yn(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t===95||t>=97&&t<=122}function ee(e){if(!e)return!1;let t=e.charCodeAt(0);return t===9||t===10||t===11||t===12||t===13||t===32||t===160||t===65279||t===5760||t>=8192&&t<=8202||t===8232||t===8233||t===8239||t===8287||t===12288}function jl(e){return e===`
|
|
22
22
|
`||e==="\r"||e==="\u2028"||e==="\u2029"}function te(e,t,n){if(t+n.length>ce(e))return!1;for(let r=0;r<n.length;r++)if(C(e,t+r)!==n[r])return!1;return!0}function zt(e,t,n){return!yn(C(e,t-1))&&te(e,t,n)&&!yn(C(e,t+n.length))}function Nt(e,t){return yn(C(e,t-1))!==yn(C(e,t))}function fe(e){return e===`
|
|
23
|
-
`||e===";"||e==="&"||e==="|"}function Jn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=
|
|
23
|
+
`||e===";"||e==="&"||e==="|"}function Jn(e){return e==="|"||e===";"}function Yi(e,t,n){let r=Ul(e,n);if(t==="rm")return bE(r);if(t==="dd")return SE(r);return Ay(r,!0)}function Ji(e,t,n){let r=Ul(e,n);if(t==="rm")return xE(r);if(t==="reset-hard")return Py(r,"--ha","rd");if(t==="reset-merge")return Py(r,"--me","rge");if(t==="clean")return wE(r);if(t==="checkout")return PE(r);if(t==="push-force")return kE(r);if(t==="push-refspec")return AE(r);if(t==="push-delete")return TE(r);if(t==="branch")return IE(r);if(t==="tag")return NE(r);if(t==="restore")return DE(r);return Ay(r,!1)}function bE(e){let t=!1,n=!1,r=!1,o=-1;for(let i=0;i<=ce(e);i++){let s=C(e,i);if(!t){let c=C(e,i+2);if(zt(e,i,"rm")&&ee(c)&&c!==`
|
|
24
24
|
`)t=!0,i++;continue}let a=vE(e,i);if(s===`
|
|
25
|
-
`||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ce(e)){if(o>=0){let c=
|
|
26
|
-
`,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(te(e,o,"--")&&(o===0||ee(C(e,o-1)))&&(!C(e,o+2)||ee(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=te(e,o,"--recursive")&&Nt(e,o+11)||jl(e,o,"recursive"),r||=te(e,o,"--force")&&Nt(e,o+7)||jl(e,o,"force"),n&&r)return!0;o++}return!1}function jl(e,t,n){if(!te(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||ee(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&Nt(e,t+r+2)}function _E(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(ee(C(e,n)))n++;let i=n;while(n<ce(e)&&!ee(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&te(e,i,"--"))return!1;let s=Ey(e,i,"recursive"),a=Ey(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=wE(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Ey(e,t,n){return te(e,t,`--${n}`)&&Nt(e,t+n.length+2)||jl(e,t,n)}function CE(e,t){if(t>0&&yn(C(e,t-1)))return-1;let n=t;if(C(e,n)==="\\")n++;if(C(e,n)!=="r")return-1;if(n++,C(e,n)==="\\")n++;if(C(e,n)!=="m"||!ee(C(e,n+1)))return-1;return n+1}function wE(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(C(e,t)!=="-")return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a};let c="";for(let l=t+1;l<n;l++){let u=C(e,l)??"",d=(u==="r"||u==="f")&&Nt(e,l+1);r||=u==="r",o||=u==="f",i||=u==="r"&&d,s||=u==="f"&&d,a||=(c==="r"&&u==="f"||c==="f"&&u==="r")&&d,c=u}return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a}}function Py(e,t,n){return ao(e,"reset",Jn,!0,(r)=>C(e,r)==="-"&&Xn(e,r,t,n)?!0:r)}function RE(e){return ao(e,"clean",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Xn(e,t,"--fo","rce"))return!0;let n=so(e,t,Jn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!zt(e,t,"git"))return null;let r=t+3;if(!ee(C(e,r)))return{commandEnd:-1,next:r};while(ee(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=so(e,r,fe);if(zt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&te(e,r,"--"),s=EE(e,r,o);r=o;while(ee(C(e,r)))r++;if(i)return{commandEnd:zt(e,r,n)?r+n.length:-1,next:so(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=so(e,r,fe);while(ee(C(e,r)))r++}return{commandEnd:-1,next:r}}function EE(e,t,n){for(let r of ut)if(n-t===r.length&&te(e,t,r))return!0;return!1}function PE(e){return ky(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function kE(e){return ao(e,"push",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!yn(C(e,t+2))&&!te(e,t+2,"-with-lease"))return!0;let n=Ty(e,t,"--fo","rce");if(n>=0&&!te(e,n,"-with-lease"))return!0;return t})}function AE(e){return ao(e,"push",fe,!1,(t)=>{if(ee(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!ee(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function TE(e){return ao(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Xn(e,t,"--de","lete"))return!0;if(ee(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!ee(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function IE(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=so(e,o,fe),s=OE(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function OE(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(C(e,i)!=="-")continue;if(Xn(e,i,"--de","lete"))r=!0;if(Xn(e,i,"--fo","rce"))o=!0;if(C(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&zE(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!Nt(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function zE(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function NE(e){return ky(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function ky(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<ce(e);r++){let o=C(e,r),i=n[n.length-1];if(!i)return!1;let s=i.escaped;if(i.escaped=!s&&i.quote!=="'"&&o==="\\",!s&&o==="'"&&i.quote!=='"')i.quote=i.quote==="'"?"":"'";if(!s&&o==='"'&&i.quote!=="'")i.quote=i.quote==='"'?"":'"';if(o==="$"&&C(e,r+1)==="("&&(n.length===1||!s&&i.quote!=="'")){n.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),r++;continue}if(!s&&!i.quote&&n.length>1&&o==="("){i.depth++;continue}if(!s&&!i.quote&&n.length>1&&o===")"){if(i.depth--,i.depth===0)n.pop();continue}if(ee(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&ee(C(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Xn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(C(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&Nt(e,r+1))return!0;if(Jn(o))i.outerActive=!1}return!1}function ao(e,t,n,r,o){let i=!1;for(let s=0;s<ce(e);s++){let a=C(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||ee(C(e,l.commandEnd))),s=Math.max(s,(i?l.commandEnd:l.next)-1);continue}}if(i){let l=o(s);if(l===!0)return!0;for(let u=s;u<=l;u++)if(n(C(e,u)))i=!1;s=l}if(c)i=!1}return!1}function DE(e){let t=!1;for(let n=0;n<ce(e);n++){if(Ul(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)==="-"&&(te(e,n+2,"staged")||te(e,n+2,"help")))t=!1}return t}function Ay(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?Ul(o):fe(o);if(n&&ee(o)&&C(e,r+1)==="-"&&zt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(zt(e,r,"find"))n=!0,r+=3}return!1}function so(e,t,n){let r=t;while(r<ce(e)&&!ee(C(e,r))&&!n(C(e,r)))r++;return r}function Ty(e,t,n,r){if(!te(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&C(e,o)===r[i];i++)o++;return Nt(e,o)?o:-1}function Xn(e,t,n,r){return Ty(e,t,n,r)>=0}var $E=["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($E),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"}],ME=new Map(es.map((e)=>[e.id,e.intent])),Iy=new Set(es.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:ME.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(Iy.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(Iy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function Oy(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 zy(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:Oy(e,t)})}function Dt(e,t){io(t,e,2);let n=e.toLowerCase(),r=n.trimStart(),o=r.startsWith("echo ")||r.startsWith("rg "),i=[{scan:"rm",label:"rm -rf"},{scan:"reset-hard",label:"git reset --hard"},{scan:"reset-merge",label:"git reset --merge"},{scan:"clean",label:"git clean -f"},{scan:"checkout",label:"git checkout --force"},{scan:"push-force",label:"git push --force"},{scan:"push-refspec",label:"git push --force"},{scan:"push-delete",label:"git push delete"},{scan:"branch",label:"git branch -D",caseSensitive:!0},{scan:"tag",label:"git tag -d"},{regex:/\bgit\s+stash\s+(drop|clear)\b/,label:"git stash drop/clear"},{regex:/\bgit\s+checkout\s+--\s/,label:"git checkout --"},{scan:"restore",label:"git restore without --staged"},{scan:"find",label:"find -delete",skipForEchoRg:!0},{regex:/\bdd\b[^\n|;&]*\bof=\/dev\/\S/,label:"dd of=/dev/",skipForEchoRg:!0},{regex:/\bmkfs(?:\.[a-z0-9_-]+)?\s+\/dev\/\S/,label:"mkfs /dev/",skipForEchoRg:!0},{regex:/\bshred\b\s+\S/,label:"shred",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Te(t,a);if((s.regex?.test(a)??!1)||s.scan&&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 LE=/^[A-Za-z_][A-Za-z0-9_]*=/;function Dy(e,t,n){let r=e.words[0];if(!t||!r||e.words.length!==1||e.dialect!=="posix")return!1;if(!r.quoted||r.provenance!=="literal")return!1;let o=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(r.text)?.[1];if(!o)return!1;io(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return $y(t.nodes,r,i)}function $y(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return $y(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return WE(r,t,n)})}function WE(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!LE.test(o.text));return e.words.every((o,i)=>o===t||Ny(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Ny(o.target.raw,n.anchored,!0)))}function Ny(e,t,n){let r=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="\\"&&!r){i++;continue}if(!o&&s==="'"){r=!r;continue}if(!r&&s==='"'){o=!o;continue}if(r||s!=="$")continue;if(!t.test(e.slice(i)))continue;if(!o||!n)return!1}return!0}var My=Object.freeze({maxDerivedTokens:16384}),Ly="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Ie extends Error{constructor(){super("Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.");this.name="DerivedCommandWorkLimitError"}}function ts(){return{derivedTokens:0}}function Je(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>My.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>My.maxDerivedTokens-e.derivedTokens)throw new Ie;e.derivedTokens+=t}import{isAbsolute as FE,resolve as Wy}from"path";var Fy=64;function co(e,t,n){let r=FE(e)?Wy(e):t?Wy(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function Gy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function H(e){return G(e).toLowerCase()}function G(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var ns=10,Qn=20,bn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,er=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Zy=new Set(["python","python3","python2","node","ruby","perl"]),By=/^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 vn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",tr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",os=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),GE=new Set(["-p","--print"]),ZE=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),BE=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"])]]),UE=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),jE=new Map([["python",new Set(["m"])]]),HE=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"])]]),VE=new Set(["always","default","never"]),qE=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),KE=/\\\r?\n/g,YE=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 jy(e){return YE.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 Xe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Xe(t,n,r,o,i,s);if(t==="node"&&GE.has(s)){let d=e[i+1];if(d===void 0)return Xe(t,n,r,o);if(d.startsWith("-"))continue;n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),i++;continue}if(XE(t,s)){let d=e[i+1];if(d===void 0)return Xe(t,n,r,o);if(n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),t==="python")return Xe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(QE(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=JE(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let f=e[i+1];if(f===void 0||f.startsWith("-"))return o=!1,Xe(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:f}),i++;continue}}if(t==="python"&&s.startsWith("--check-hash-based-pycs=")||t==="node"&&(s==="--conditions="||s==="--diagnostic-dir="||s==="--title=")||t==="ruby"&&(s==="--disable="||s==="--enable="))return Xe(t,n,r,o);if(HE.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&qE.has(s))||t==="python"&&!VE.has(d))return Xe(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let f=s[d];if(f===void 0)break;if(jE.get(t)?.has(f)){let m=s.slice(d+1),p=m||e[i+1];if(p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});return Xe(t,n,r,o)}if(ZE.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(BE.get(t)?.has(f)){if(d+1===s.length)i++;break}if(UE.get(t)?.has(f)&&d+1<s.length)break}if(c===void 0)continue;let u=l?i+1:i;if(n.push({tokenIndex:u,value:c}),r.push({tokenIndex:u,kind:"inline-code",value:c}),t==="python")return Xe(t,n,r,o);if(l)i++}return Xe(t,n,r,o,void 0,void 0,!0)}function Xe(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
|
|
27
|
-
`))||null,sources:r?l:[],optionsOpen:r&&s}}function JE(e){for(let t of["--import","--loader","--experimental-loader","--require"]){if(e===t)return{attached:!1,value:""};if(e.startsWith(`${t}=`))return{attached:!0,value:e.slice(t.length+1)}}return}function Oe(e){return 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 By.test(t)?"python":t}function XE(e,t){return os.get(e)?.has(t)??!1}function QE(e){return os.get(e)?.has("--eval")??!1}function nr(e,t){let n=nP(e,t);if(!Uy(n,t))return!1;Te(t,n);let r=tP(n);if(Uy(r,t))return!0;return Te(t,r),eP.test(r)}var eP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function tP(e){let t=[],n=0,r=0;while(r<e.length){let o=e[r];if(o!=="'"&&o!=='"'){r++;continue}let i=e.startsWith(o.repeat(3),r)?o.repeat(3):o,s=r+i.length;while(s<e.length&&!e.startsWith(i,s))s+=e[s]==="\\"?2:1;if(s>=e.length)break;t.push(e.slice(n,r)," "),r=s+i.length,n=r}return t.push(e.slice(n)),t.join("")}function Uy(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(Te(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(Te(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)=>(Te(t,e),n.some((o)=>Ji(o,r))))}function nP(e,t){return Te(t,e),e.replace(KE,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Hy="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 Vy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function ze(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(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 wu,normalize as pA,parse as gA,posix as dv,resolve as cr,sep as
|
|
28
|
-
`;function lo(e,t){if(dt(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!
|
|
29
|
-
`||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function
|
|
30
|
-
`&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function sb(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function
|
|
25
|
+
`||a!==-1){if(t=!1,n=!1,r=!1,o=-1,a!==-1)i=a-1;continue}if(s===";"||s==="&"||s==="|"||i===ce(e)){if(o>=0){let c=Ry(e,o,i);n||=c.recursive,r||=c.force}if(n&&r)return!0;t=!1,n=!1,r=!1,o=-1;continue}if(ee(s)){if(o>=0){if(te(e,o,"--")&&i-o===2)t=!1,n=!1,r=!1;else{let c=Ry(e,o,i);if(n||=c.recursive,r||=c.force,n&&r)return!0}o=-1}continue}if(o<0)o=i}return!1}function vE(e,t){if(C(e,t)!=="\\"||C(e,t-1)==="\\")return-1;if(te(e,t,String.raw`\n`))return t+2;if(te(e,t,String.raw`\x0a`)||te(e,t,String.raw`\x0A`))return t+5;if(te(e,t,String.raw`\u000a`)||te(e,t,String.raw`\u000A`))return t+7;return te(e,t,String.raw`\012`)?t+4:-1}function Ry(e,t,n){if(wy(e,t,n,"recursive"))return{recursive:!0,force:!1};if(wy(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 wy(e,t,n,r){let o=n-t-2;if(o<1||o>r.length||!te(e,t,"--"))return!1;for(let i=0;i<o;i++)if(C(e,t+i+2)!==r[i])return!1;return!0}function SE(e){let t=!1;for(let n=0;n<ce(e);n++){if(fe(C(e,n))){t=!1;continue}if(zt(e,n,"dd")){t=!0,n++;continue}if(!t||!zt(e,n,"of")||!te(e,n,"of=/dev/"))continue;let r=n+8;if(r<ce(e)&&!ee(C(e,r))&&C(e,r)!=="'"&&C(e,r)!=='"')return!0}return!1}function xE(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=CE(e,o);if(s>=0){if(_E(e,s))return!0;let a=s,c=!1;while(ee(C(e,a)))c||=C(e,a)===`
|
|
26
|
+
`,a++;if(c)n=!1,r=!1;t=!0,o=a;continue}if(!t){o++;continue}if(te(e,o,"--")&&(o===0||ee(C(e,o-1)))&&(!C(e,o+2)||ee(C(e,o+2))||fe(C(e,o+2)))){t=!1,n=!1,r=!1,o+=2;continue}if(n||=te(e,o,"--recursive")&&Nt(e,o+11)||Hl(e,o,"recursive"),r||=te(e,o,"--force")&&Nt(e,o+7)||Hl(e,o,"force"),n&&r)return!0;o++}return!1}function Hl(e,t,n){if(!te(e,t,"--"))return!1;let r=0;while(r<=n.length){let o=C(e,t+r+2);if(!o||ee(o)||fe(o))break;if(o!==n[r])return!1;r++}return r>0&&Nt(e,t+r+2)}function _E(e,t){let n=t,r=!1,o=!1;while(n<ce(e)){while(ee(C(e,n)))n++;let i=n;while(n<ce(e)&&!ee(C(e,n)))n++;if(C(e,i)!=="-"||n-i===2&&te(e,i,"--"))return!1;let s=Ey(e,i,"recursive"),a=Ey(e,i,"force");if(r&&a||o&&s)return!0;if(r||=s,o||=a,C(e,i+1)==="-")continue;let c=RE(e,i,n);if(c.combined||r&&c.forceAtBoundary||o&&c.recursiveAtBoundary)return!0;r||=c.recursive,o||=c.force}return!1}function Ey(e,t,n){return te(e,t,`--${n}`)&&Nt(e,t+n.length+2)||Hl(e,t,n)}function CE(e,t){if(t>0&&yn(C(e,t-1)))return-1;let n=t;if(C(e,n)==="\\")n++;if(C(e,n)!=="r")return-1;if(n++,C(e,n)==="\\")n++;if(C(e,n)!=="m"||!ee(C(e,n+1)))return-1;return n+1}function RE(e,t,n){let r=!1,o=!1,i=!1,s=!1,a=!1;if(C(e,t)!=="-")return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a};let c="";for(let l=t+1;l<n;l++){let u=C(e,l)??"",d=(u==="r"||u==="f")&&Nt(e,l+1);r||=u==="r",o||=u==="f",i||=u==="r"&&d,s||=u==="f"&&d,a||=(c==="r"&&u==="f"||c==="f"&&u==="r")&&d,c=u}return{recursive:r,force:o,recursiveAtBoundary:i,forceAtBoundary:s,combined:a}}function Py(e,t,n){return ao(e,"reset",Jn,!0,(r)=>C(e,r)==="-"&&Xn(e,r,t,n)?!0:r)}function wE(e){return ao(e,"clean",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(Xn(e,t,"--fo","rce"))return!0;let n=so(e,t,Jn);for(let r=t+1;r<n;r++)if(C(e,r)==="f")return!0;return n-1})}function Xi(e,t,n){if(!zt(e,t,"git"))return null;let r=t+3;if(!ee(C(e,r)))return{commandEnd:-1,next:r};while(ee(C(e,r)))r++;while(r<ce(e)){if(fe(C(e,r)))return{commandEnd:-1,next:r};let o=so(e,r,fe);if(zt(e,r,n))return{commandEnd:r+n.length,next:o};if(C(e,r)!=="-")return{commandEnd:-1,next:o};let i=o-r===2&&te(e,r,"--"),s=EE(e,r,o);r=o;while(ee(C(e,r)))r++;if(i)return{commandEnd:zt(e,r,n)?r+n.length:-1,next:so(e,r,fe)};if(!s)continue;if(r>=ce(e)||fe(C(e,r)))return{commandEnd:-1,next:r};r=so(e,r,fe);while(ee(C(e,r)))r++}return{commandEnd:-1,next:r}}function EE(e,t,n){for(let r of ut)if(n-t===r.length&&te(e,t,r))return!0;return!1}function PE(e){return ky(e,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function kE(e){return ao(e,"push",Jn,!0,(t)=>{if(C(e,t)!=="-")return t;if(C(e,t+1)==="f"&&!yn(C(e,t+2))&&!te(e,t+2,"-with-lease"))return!0;let n=Ty(e,t,"--fo","rce");if(n>=0&&!te(e,n,"-with-lease"))return!0;return t})}function AE(e){return ao(e,"push",fe,!1,(t)=>{if(ee(C(e,t))&&C(e,t+1)==="+"&&t+2<ce(e)&&!fe(C(e,t+2))&&!ee(C(e,t+2)))return!0;if(C(e,t)===":"&&C(e,t+1)==="+")return!0;return t})}function TE(e){return ao(e,"push",fe,!1,(t)=>{if(C(e,t)==="-"&&Xn(e,t,"--de","lete"))return!0;if(ee(C(e,t))&&C(e,t+1)===":"&&t+2<ce(e)&&!ee(C(e,t+2))&&!fe(C(e,t+2)))return!0;return t})}function IE(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=so(e,o,fe),s=OE(e,o,i);if(n||=s.deletion,r||=s.force,n&&r)return!0;o=i-1}return!1}function OE(e,t,n){let r=!1,o=!1;for(let i=t;i<n;i++){if(C(e,i)!=="-")continue;if(Xn(e,i,"--de","lete"))r=!0;if(Xn(e,i,"--fo","rce"))o=!0;if(C(e,i+1)==="-")continue;let s=i+1,a=!1,c=!1,l=!1;while(s<n&&zE(C(e,s))){let u=C(e,s);a||=u==="d"||u==="D",c||=u==="f",l||=u==="D",s++}if(!Nt(e,s))continue;r||=a,o||=c||l}return{deletion:r,force:o}}function zE(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function NE(e){return ky(e,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function ky(e,t){let n=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let r=0;r<ce(e);r++){let o=C(e,r),i=n[n.length-1];if(!i)return!1;let s=i.escaped;if(i.escaped=!s&&i.quote!=="'"&&o==="\\",!s&&o==="'"&&i.quote!=='"')i.quote=i.quote==="'"?"":"'";if(!s&&o==='"'&&i.quote!=="'")i.quote=i.quote==='"'?"":'"';if(o==="$"&&C(e,r+1)==="("&&(n.length===1||!s&&i.quote!=="'")){n.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),r++;continue}if(!s&&!i.quote&&n.length>1&&o==="("){i.depth++;continue}if(!s&&!i.quote&&n.length>1&&o===")"){if(i.depth--,i.depth===0)n.pop();continue}if(ee(o))i.shortActive=!1,i.hasShortFlag=!1;if(!i.outerActive){let a=Xi(e,r,t.command);if(a){i.outerActive=a.commandEnd>=0&&ee(C(e,a.commandEnd)),i.shortActive=!1,i.hasShortFlag=!1,r=Math.max(r,(i.outerActive?a.commandEnd:a.next)-1);continue}}if(i.outerActive&&o==="-"){if(Xn(e,r,t.longPrefix,t.longOptional))return!0;i.shortActive||=!t.excludedShortStarts.includes(C(e,r+1)??"")}if(i.hasShortFlag||=i.shortActive&&o===t.shortFlag,i.hasShortFlag&&Nt(e,r+1))return!0;if(Jn(o))i.outerActive=!1}return!1}function ao(e,t,n,r,o){let i=!1;for(let s=0;s<ce(e);s++){let a=C(e,s),c=n(a);if(!i&&!c){let l=Xi(e,s,t);if(l){i=l.commandEnd>=0&&(!r||ee(C(e,l.commandEnd))),s=Math.max(s,(i?l.commandEnd:l.next)-1);continue}}if(i){let l=o(s);if(l===!0)return!0;for(let u=s;u<=l;u++)if(n(C(e,u)))i=!1;s=l}if(c)i=!1}return!1}function DE(e){let t=!1;for(let n=0;n<ce(e);n++){if(jl(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)==="-"&&(te(e,n+2,"staged")||te(e,n+2,"help")))t=!1}return t}function Ay(e,t){let n=!1;for(let r=0;r<ce(e);r++){let o=C(e,r),i=t?jl(o):fe(o);if(n&&ee(o)&&C(e,r+1)==="-"&&zt(e,r+2,"delete"))return!0;if(i){n=!1;continue}if(zt(e,r,"find"))n=!0,r+=3}return!1}function so(e,t,n){let r=t;while(r<ce(e)&&!ee(C(e,r))&&!n(C(e,r)))r++;return r}function Ty(e,t,n,r){if(!te(e,t,n))return-1;let o=t+n.length;for(let i=0;i<r.length&&C(e,o)===r[i];i++)o++;return Nt(e,o)?o:-1}function Xn(e,t,n,r){return Ty(e,t,n,r)>=0}var $E=["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($E),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"}],ME=new Map(es.map((e)=>[e.id,e.intent])),Iy=new Set(es.filter((e)=>e.catastrophic).map((e)=>e.id));function S(e,t){return{id:e,reason:t,intent:ME.get(e)??"manual_only"}}function O(e,t){if(!e)return null;if(Iy.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(Iy.has(t))return!0;if(e?.destructiveCommandProtectionEnabled===!1)return!1;return e?.effectiveDestructiveCommandRules[t]?.enabled??n}function Oy(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 zy(e,t){return Object.freeze({...e,effectiveDestructiveCommandRules:Oy(e,t)})}function Dt(e,t){io(t,e,2);let n=e.toLowerCase(),r=n.trimStart(),o=r.startsWith("echo ")||r.startsWith("rg "),i=[{scan:"rm",label:"rm -rf"},{scan:"reset-hard",label:"git reset --hard"},{scan:"reset-merge",label:"git reset --merge"},{scan:"clean",label:"git clean -f"},{scan:"checkout",label:"git checkout --force"},{scan:"push-force",label:"git push --force"},{scan:"push-refspec",label:"git push --force"},{scan:"push-delete",label:"git push delete"},{scan:"branch",label:"git branch -D",caseSensitive:!0},{scan:"tag",label:"git tag -d"},{regex:/\bgit\s+stash\s+(drop|clear)\b/,label:"git stash drop/clear"},{regex:/\bgit\s+checkout\s+--\s/,label:"git checkout --"},{scan:"restore",label:"git restore without --staged"},{scan:"find",label:"find -delete",skipForEchoRg:!0},{regex:/\bdd\b[^\n|;&]*\bof=\/dev\/\S/,label:"dd of=/dev/",skipForEchoRg:!0},{regex:/\bmkfs(?:\.[a-z0-9_-]+)?\s+\/dev\/\S/,label:"mkfs /dev/",skipForEchoRg:!0},{regex:/\bshred\b\s+\S/,label:"shred",skipForEchoRg:!0}];for(let s of i){if(s.skipForEchoRg&&o)continue;let a=s.caseSensitive?e:n;if(s.regex)Te(t,a);if((s.regex?.test(a)??!1)||s.scan&&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 LE=/^[A-Za-z_][A-Za-z0-9_]*=/;function Dy(e,t,n){let r=e.words[0];if(!t||!r||e.words.length!==1||e.dialect!=="posix")return!1;if(!r.quoted||r.provenance!=="literal")return!1;let o=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(r.text)?.[1];if(!o)return!1;io(n,t.source,2);let i={anchored:new RegExp(`^\\$\\{?${o}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${o}(?![A-Za-z0-9_])`)};return $y(t.nodes,r,i)}function $y(e,t,n){return e.every((r)=>{if(r.kind==="connector")return!0;if(r.kind==="group"||r.kind==="function")return $y(r.body.nodes,t,n);if(r.kind==="unknown")return!n.loose.test(r.source);return WE(r,t,n)})}function WE(e,t,n){if(e.nested.some((o)=>n.loose.test(o.source)))return!1;let r=e.words.findIndex((o)=>!LE.test(o.text));return e.words.every((o,i)=>o===t||Ny(o.raw,n.anchored,i!==r))&&e.redirections.every((o)=>(!o.heredoc||o.heredoc.quotedDelimiter||!n.loose.test(o.heredoc.body))&&(!o.target||Ny(o.target.raw,n.anchored,!0)))}function Ny(e,t,n){let r=!1,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(s==="\\"&&!r){i++;continue}if(!o&&s==="'"){r=!r;continue}if(!r&&s==='"'){o=!o;continue}if(r||s!=="$")continue;if(!t.test(e.slice(i)))continue;if(!o||!n)return!1}return!0}var My=Object.freeze({maxDerivedTokens:16384}),Ly="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.";class Ie extends Error{constructor(){super("Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.");this.name="DerivedCommandWorkLimitError"}}function ts(){return{derivedTokens:0}}function Je(e,t){if(!Number.isSafeInteger(e.derivedTokens)||e.derivedTokens<0||e.derivedTokens>My.maxDerivedTokens||!Number.isSafeInteger(t)||t<0||t>My.maxDerivedTokens-e.derivedTokens)throw new Ie;e.derivedTokens+=t}import{isAbsolute as FE,resolve as Wy}from"path";var Fy=64;function co(e,t,n){let r=FE(e)?Wy(e):t?Wy(t,e):void 0;if(!r)return;try{return Y(r,n)}catch{return r}}function Gy(e){return!["/dev","/proc","/sys"].some((t)=>e===t||e.startsWith(`${t}/`))}function H(e){return G(e).toLowerCase()}function G(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}var ns=10,Qn=20,bn=/^[a-zA-Z][a-zA-Z0-9_-]*$/,er=256,de=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),Zy=new Set(["python","python3","python2","node","ruby","perl"]),By=/^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 vn="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",tr="Interpreter one-liners are blocked by the active safety policy. Write the code to a script file and run it, or run the equivalent shell command directly.",os=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),GE=new Set(["-p","--print"]),ZE=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),BE=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"])]]),UE=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),jE=new Map([["python",new Set(["m"])]]),HE=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"])]]),VE=new Set(["always","default","never"]),qE=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),KE=/\\\r?\n/g,YE=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 jy(e){return YE.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 Xe(t,n,r,o,e[i+1]===void 0?void 0:i+1,e[i+1]);if(s===""||s==="-"||!s.startsWith("-"))return Xe(t,n,r,o,i,s);if(t==="node"&&GE.has(s)){let d=e[i+1];if(d===void 0)return Xe(t,n,r,o);if(d.startsWith("-"))continue;n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),i++;continue}if(XE(t,s)){let d=e[i+1];if(d===void 0)return Xe(t,n,r,o);if(n.push({tokenIndex:i+1,value:d}),r.push({tokenIndex:i+1,kind:"inline-code",value:d}),t==="python")return Xe(t,n,r,o);i++;continue}let a=/^--eval=(.*)$/s.exec(s);if(QE(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=JE(s);if(d){if(d.attached){if(o&&=d.value!=="",d.value!=="")r.push({tokenIndex:i,kind:"module-file",value:d.value});continue}let f=e[i+1];if(f===void 0||f.startsWith("-"))return o=!1,Xe(t,n,r,o);r.push({tokenIndex:i+1,kind:"module-file",value:f}),i++;continue}}if(t==="python"&&s.startsWith("--check-hash-based-pycs=")||t==="node"&&(s==="--conditions="||s==="--diagnostic-dir="||s==="--title=")||t==="ruby"&&(s==="--disable="||s==="--enable="))return Xe(t,n,r,o);if(HE.get(t)?.has(s)){let d=e[i+1];if(d===void 0||d.startsWith("-")&&!(t==="ruby"&&qE.has(s))||t==="python"&&!VE.has(d))return Xe(t,n,r,o);i++;continue}if(s.startsWith("--"))continue;let c,l=!1;for(let d=1;d<s.length;d++){let f=s[d];if(f===void 0)break;if(jE.get(t)?.has(f)){let m=s.slice(d+1),p=m||e[i+1];if(p!==void 0)r.push({tokenIndex:m?i:i+1,kind:"module-file",value:p});return Xe(t,n,r,o)}if(ZE.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(BE.get(t)?.has(f)){if(d+1===s.length)i++;break}if(UE.get(t)?.has(f)&&d+1<s.length)break}if(c===void 0)continue;let u=l?i+1:i;if(n.push({tokenIndex:u,value:c}),r.push({tokenIndex:u,kind:"inline-code",value:c}),t==="python")return Xe(t,n,r,o);if(l)i++}return Xe(t,n,r,o,void 0,void 0,!0)}function Xe(e,t,n,r,o,i,s=!1){let a=e==="node"?t.slice(-1):t,c=new Set(a.map((u)=>u.tokenIndex)),l=n.filter((u)=>u.kind!=="inline-code"||c.has(u.tokenIndex));if(r&&t.length===0&&o!==void 0&&i!==void 0)l.push({tokenIndex:o,kind:"main-script",value:i});return{code:(e==="node"?a[0]?.value:a.map((u)=>u.value).join(`
|
|
27
|
+
`))||null,sources:r?l:[],optionsOpen:r&&s}}function JE(e){for(let t of["--import","--loader","--experimental-loader","--require"]){if(e===t)return{attached:!1,value:""};if(e.startsWith(`${t}=`))return{attached:!0,value:e.slice(t.length+1)}}return}function Oe(e){return 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 By.test(t)?"python":t}function XE(e,t){return os.get(e)?.has(t)??!1}function QE(e){return os.get(e)?.has("--eval")??!1}function nr(e,t){let n=nP(e,t);if(!Uy(n,t))return!1;Te(t,n);let r=tP(n);if(Uy(r,t))return!0;return Te(t,r),eP.test(r)}var eP=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function tP(e){let t=[],n=0,r=0;while(r<e.length){let o=e[r];if(o!=="'"&&o!=='"'){r++;continue}let i=e.startsWith(o.repeat(3),r)?o.repeat(3):o,s=r+i.length;while(s<e.length&&!e.startsWith(i,s))s+=e[s]==="\\"?2:1;if(s>=e.length)break;t.push(e.slice(n,r)," "),r=s+i.length,n=r}return t.push(e.slice(n)),t.join("")}function Uy(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(Te(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(Te(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)=>(Te(t,e),n.some((o)=>Ji(o,r))))}function nP(e,t){return Te(t,e),e.replace(KE,"")}var V=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),Hy="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 Vy(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function ze(e,t){let n=t.childAnalyses??0,r=t.derivedTokens??0,o=t.derivedBytes??0,i=t.placeholderReplacements??0;if(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 wu,normalize as pA,parse as gA,posix as dv,resolve as cr,sep as Ru}from"path";import{isAbsolute as rP,join as qy,normalize as Jy,parse as oP,sep as Ky}from"path";var iP=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],sP=`
|
|
28
|
+
`;function lo(e,t){if(dt(e,t))return!0;if(!e.has("TMPDIR"))return!1;return!Vl(e.get("TMPDIR")??"",t)}function $t(e,t){if(e.has("TMPDIR"))return Vl(e.get("TMPDIR")??"",t);let n=ql(e,t);if(n===void 0)return!0;return Vl(n,t)}function ql(e,t){return eb(e,t,"TMPDIR")}function Vl(e,t){if(!e)return!1;if(cP(e))return!1;return Kl(e,t)}function dt(e,t){let n=eb(e,t,"IFS");return n!==void 0&&n!==""&&n!==sP}function Kl(e,t){let n=ms(e,t.paths);return n!==null&&Qy(t).some((r)=>uP(n,r))}function Xy(e,t){let n=ms(e,t.paths);return n!==null&&Qy(t).includes(n)}var Yy=new WeakMap;function Qy(e){let t=Yy.get(e);if(t)return t;let n=aP(e);return Yy.set(e,n),n}function aP(e){let t=iP.map((r)=>ms(r,e.paths)??Jy(r)),n=ms(e.tmpdir,e.paths);if(!n)return t;if(process.platform==="win32")return[...t,n];if(process.platform==="darwin"&&lP(n))return[...t,n];return t}function cP(e){return/[\s$`*?[]/.test(e)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test(e)||/[+@!]\([^)]*\)/.test(e)}function eb(e,t,n){return e.has(n)?e.get(n):t.env.get(n)}function lP(e){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test(e)}function ms(e,t){try{let n=Jy(e);if(!rP(n))return n;let r=oP(n).root,o=n.slice(r.length).split(/[\\/]+/).filter(Boolean),i=r;for(let s=0;s<o.length;s++){let a=qy(i,o[s]??"");if(t.entryKind(a)==="missing")return qy(a,...o.slice(s+1));let c=t.realpath(a);if(c===null)return null;i=c}return i}catch{return null}}function uP(e,t){if(e===t)return!0;let n=t.endsWith(Ky)?t:`${t}${Ky}`;return e.startsWith(n)}import{statSync as eA}from"fs";import{isAbsolute as nv,join as tA,relative as rv}from"path";import{isAbsolute as tb,parse as dP}from"path";var rb=/^[A-Za-z_][A-Za-z0-9_]*=/;function je(e){if(!rb.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=je(N(r));if(!o)break;t.set(o.name,o.value),n++}return{words:e.slice(n),envAssignments:t}}function ob(e){let t=e.toLowerCase();return e.includes("=")||t==="sudo"||t==="env"||t==="command"||t==="builtin"}function Sn(e,t,n,r){if(!ob(rr(e)))return{words:e,envAssignments:new Map,cwd:n,rewritten:!1};let o=new Set(e),i=e,s=new Map,a=new Map(r??[]),c=[],l=n;for(let d=0;d<Qn;d++){let f=nb(i),m=fs(i);for(let[h,b]of m.envAssignments)s.set(h,b),a.set(h,b);if(i=m.words,i.length===0)break;while(i.length>0&&rr(i).includes("=")&&!fP(i)){let h=pP(rr(i),a,t.env)??Hi(rr(i),t.env,a);if(h)s.set(h.name,h.value),a.set(h.name,h.value);i=i.slice(1)}if(i.length===0)break;let p=rr(i).toLowerCase();if(p!=="sudo"&&p!=="env"&&p!=="command"&&p!=="builtin")break;if(p==="sudo"){let h=hP(i,t.paths,l);if(i=h.words,h.cwd!==void 0)l=h.cwd}if(p==="env"){let h=vP(i,l,a,t);if(c.push(...h.envSplitValues??[]),i=h.words,h.cwd!==void 0)l=h.cwd;for(let[b,y]of h.envAssignments)s.set(b,y),a.set(b,y)}if(p==="command")i=SP(i);if(p==="builtin")i=i.slice(Qe(i,1)==="--"?2:1);if(nb(i)===f)break}let u=fs(i);for(let[d,f]of u.envAssignments)s.set(d,f),a.set(d,f);return{words:u.words,envAssignments:s,cwd:l,envSplitValues:c.length>0?c:void 0,rewritten:mP(u.words,o)}}function mP(e,t){return e.some((n)=>!t.has(n))}function nb(e){return e.map(N).join(" ")}function rr(e){let t=e[0];return t?N(t):""}function Qe(e,t){let n=e[t];return n?N(n):void 0}function fP(e){return rb.test(rr(e))}function pP(e,t,n){if(!e.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${t.get("TMPDIR")??n.get("TMPDIR")??""}${e.slice(8)}`}}var gP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function hP(e,t,n){let r=1,o=n;while(r<e.length){let i=Qe(e,r);if(!i)break;if(i==="--")return{words:e.slice(r+1),cwd:o};if(!i.startsWith("-"))break;if(i==="-D"||i==="--chdir"){let s=Qe(e,r+1);o=s?uo(o,s,t):null,r+=2;continue}if(i.startsWith("--chdir=")){o=uo(o,i.slice(8),t),r++;continue}if(i.startsWith("-D")&&i.length>2){o=uo(o,i.slice(2),t),r++;continue}if(i==="-i"||i==="--login"){o=null,r++;continue}if(gP.has(i)){r+=2;continue}r++}return{words:e.slice(r),cwd:o}}var yP=new Set(["-i","-0","--null"]),bP=new Set(["-u","--unset","-C","--chdir","-P"]);function vP(e,t,n,r){let o=new Map,i=[],s=t,a=1,c=(l)=>({words:e.slice(l),envAssignments:o,cwd:s,envSplitValues:i.length>0?i:void 0});while(a<e.length){let l=Qe(e,a);if(!l)break;if(l==="--")return c(a+1);if(l==="-i"||l==="--ignore-environment"||l==="-"){o.clear();for(let d of n.keys())o.set(d,"");o.set("TMPDIR",""),a++;continue}if(yP.has(l)){a++;continue}if(l==="-u"||l==="--unset"){let d=Qe(e,a+1);if(d!==void 0)o.set(d,"");a+=2;continue}if(l.startsWith("-u")&&l.length>2&&!l.startsWith("-u=")){o.set(l.slice(2),""),a++;continue}if(l.startsWith("--unset=")){o.set(l.slice(8),""),a++;continue}let u=l==="-S"||l==="--split-string"?{value:Qe(e,a+1),consumed:2}:l.startsWith("-S")&&l.length>2?{value:l.slice(2),consumed:1}:l.startsWith("--split-string=")?{value:l.slice(15),consumed:1}:null;if(u){if(u.value!==void 0)i.push(u.value);return s=null,c(a+u.consumed)}if(bP.has(l)){if(l==="-C"||l==="--chdir"){let d=Qe(e,a+1);s=d?uo(s,d,r.paths):null}a+=2;continue}if(l.startsWith("-u=")){a++;continue}if(l.startsWith("-C")&&l.length>2||l.startsWith("--chdir=")){let d=l.startsWith("--chdir=")?l.slice(8):l.startsWith("-C=")?l.slice(3):l.slice(2);s=uo(s,d,r.paths),a++;continue}if(l.startsWith("-P")){a++;continue}if(l.startsWith("-")){a++;continue}if(!je(l))break;while(a<e.length){let d=je(Qe(e,a)??"");if(!d)break;o.set(d.name,d.value),a++}if(Qe(e,a)==="--")a++;return c(a)}return c(a)}function uo(e,t,n){if(t==="")return null;if(!e&&!tb(t))return null;let r=tb(t)?dP(t).root:n.realpath(e??"/");if(r===null)return null;try{return Vt(r,t,n)}catch{return null}}function SP(e){if(Qe(e,1)==="-v")return[...j(["type"]),...e.slice(2)];let t=1;while(t<e.length){let n=Qe(e,t);if(!n)break;if(n==="-p"||n==="-v"||n==="-V"){t++;continue}if(n==="--")return e.slice(t+1);if(n.startsWith("-")&&!n.startsWith("--")&&n.length>1){if(!/^[pvV]+$/.test(n.slice(1)))break;t++;continue}break}return e.slice(t)}var xP=/['"\\$`{}#]/;function ps(e,t){if(e.some((r)=>xP.test(r)))return null;let n=[...e.flatMap((r)=>r.split(/\s+/).filter((o)=>o.length>0)),...t];return n.length<=64?n:null}function or(e,t,n){return gs(e,t,n).tokens}function _P(e){let t=[],n="",r=0;while(r<e.length){let o=e.charAt(r);if(o==='"'||o==="'"){let i=e.indexOf(o,r+1);if(i===-1)return e.split(/\s+/).map((s)=>s.replace(/["']/g,"")).filter((s)=>s.length>0);n+=e.slice(r+1,i),r=i+1;continue}if(/\s/.test(o)){if(n.length>0)t.push(n);n="",r++;continue}n+=o,r++}if(n.length>0)t.push(n);return t}function Kt(e,t,n,r=0){let o=gs(e,t,n),i=(o.envSplitValues??[]).flatMap(_P);if(i.length===0)return o.tokens;let s=[...i,...o.tokens];if(r>=8)return s;return Kt(s,t,n,r+1)}function gs(e,t,n,r){if(!ob(e[0]??""))return{tokens:[...e],envAssignments:new Map,cwd:n};let o=Sn(j(e),t,n,r);return{tokens:o.words.map(N),envAssignments:o.envAssignments,cwd:o.cwd,envSplitValues:o.envSplitValues}}import{basename as qk,isAbsolute as Kk,normalize as Yk,resolve as Xb}from"path";function hs(){return[]}function ys(){return[]}function bs(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function CP(e){return Object.freeze({...e,span:Object.freeze(e.span),words:Object.freeze(e.words),redirections:Object.freeze(e.redirections.map((t)=>Object.freeze({...t,span:Object.freeze(t.span),...t.heredoc?{heredoc:Object.freeze({...t.heredoc,bodySpan:Object.freeze(t.heredoc.bodySpan),terminatorSpan:Object.freeze(t.heredoc.terminatorSpan)})}:{}}))),nested:Object.freeze(e.nested.map((t)=>Ce(t)))})}function vs(e,t,n){e.push(n),t.reset()}function RP(e,t,n,r,o){if(r<=n)return;e.push({raw:t.slice(n,r),span:{start:n,end:r},provenance:o})}function Ss(e){let t=[];return{parts:t,push:(n,r,o)=>RP(t,e,n,r,o)}}function Yl(e){let t=e.parts??[{raw:e.raw,span:e.span,provenance:e.provenance}];return Object.freeze({kind:"word",...e,span:Object.freeze(e.span),parts:Object.freeze(t.map((n)=>Object.freeze({...n,span:Object.freeze(n.span)})))})}function ir(e,t,n,r,o,i,s){return Yl({text:r,raw:e.slice(t,n),span:{start:t,end:n},provenance:o,quoted:i,...s?{parts:s}:{}})}function Ce(e){return Object.freeze({...e,span:Object.freeze(e.span),issues:Object.freeze(e.issues.map((t)=>Object.freeze({...t,span:Object.freeze(t.span)}))),nodes:Object.freeze(e.nodes.map((t)=>{if(t.kind==="command")return CP(t);if(t.kind==="group"||t.kind==="function")return Object.freeze({...t,span:Object.freeze(t.span),body:Ce(t.body)});return Object.freeze({...t,span:Object.freeze(t.span)})}))})}function Jl(e,t,n){if(t>=n||sb(e[t]??""))return null;let r="",o=!1,i=!1,s=t;while(s<n&&!sb(e[s]??"")){let a=e[s]??"";if(a==="'"){o=!0;let c=ib(e,s+1,n,"'");r+=c.text,i||=!c.closed,s=c.next;continue}if(a==='"'){o=!0;let c=ib(e,s+1,n,'"');r+=c.text,i||=!c.closed,s=c.next;continue}if(a==="\\"){o=!0;let c=e[s+1];if(!c||c===`
|
|
29
|
+
`||c==="\r"){i=!0;break}r+=c,s+=2;continue}if(a==="`"||e.startsWith("$(",s)||e.startsWith("${",s)||e.startsWith("<(",s)||e.startsWith(">(",s))i=!0;r+=a,s++}return{delimiter:r,quoted:o,next:s,span:{start:t,end:s},ambiguous:i}}function Xl(e,t,n,r){let o=[],i=t;for(let s of r){let a=i,c=!1;while(i<n){let l=wP(e,i,n);if((s.stripTabs?l.text.replace(/^\t+/,""):l.text)===s.delimiter){s.attach({body:s.stripTabs?EP(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 ib(e,t,n,r){let o="",i=t;while(i<n&&e[i]!==`
|
|
30
|
+
`&&e[i]!=="\r"){let s=e[i]??"";if(s===r)return{text:o,next:i+1,closed:!0};if(r==='"'&&s==="\\"&&e[i+1]){let a=e[i+1]??"";o+=["$","`",'"',"\\"].includes(a)?a:`\\${a}`,i+=2;continue}o+=s,i++}return{text:o,next:i,closed:!1}}function sb(e){return/[\s;&|<>)]/u.test(e)||e==="`"}function wP(e,t,n){let r=t;while(r<n&&e[r]!==`
|
|
31
31
|
`&&e[r]!=="\r")r++;let o=r>=n?n:e[r]==="\r"&&e[r+1]===`
|
|
32
|
-
`?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function EP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var db=new Set(["&&","||","|","|&"]);function mb(e,t,n){let r={start:0,end:e.length};if(e.length>n.maxInputLength)return Ce({kind:"program",dialect:t,source:e,span:r,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${n.maxInputLength} UTF-16 code units`,span:r}],nodes:[]});let o=Cs(e,0,e.length,t,n,{used:0,max:n.maxWords},0);return Ce({kind:"program",dialect:t,source:e,span:r,status:Es(o.issues,o.limited),issues:o.issues,nodes:o.nodes})}function Cs(e,t,n,r,o,i,s,a){let c=hs(),l=ys(),u=bs(),d=[],f=()=>{if(u.words.length===0&&u.redirections.length===0)return;let p={start:u.start,end:u.end},h=u.words.map((b)=>b.text);vs(c,u,{kind:"command",dialect:r,source:e.slice(p.start,p.end),span:p,words:u.words,redirections:u.redirections,nested:u.nested,displayText:l.length>0&&c.length===0?e.slice(t,n):h.join(" ")})},m=t;while(m<n){let p=e[m];if(!p)break;if(a&&p===a)return f(),ub(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(
|
|
32
|
+
`?r+2:r+1;return{text:e.slice(t,r),contentEnd:r,next:o}}function EP(e){return e.replace(/(^|\r\n?|\n)\t+/g,"$1")}var db=new Set(["&&","||","|","|&"]);function mb(e,t,n){let r={start:0,end:e.length};if(e.length>n.maxInputLength)return Ce({kind:"program",dialect:t,source:e,span:r,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${n.maxInputLength} UTF-16 code units`,span:r}],nodes:[]});let o=Cs(e,0,e.length,t,n,{used:0,max:n.maxWords},0);return Ce({kind:"program",dialect:t,source:e,span:r,status:Es(o.issues,o.limited),issues:o.issues,nodes:o.nodes})}function Cs(e,t,n,r,o,i,s,a){let c=hs(),l=ys(),u=bs(),d=[],f=()=>{if(u.words.length===0&&u.redirections.length===0)return;let p={start:u.start,end:u.end},h=u.words.map((b)=>b.text);vs(c,u,{kind:"command",dialect:r,source:e.slice(p.start,p.end),span:p,words:u.words,redirections:u.redirections,nested:u.nested,displayText:l.length>0&&c.length===0?e.slice(t,n):h.join(" ")})},m=t;while(m<n){let p=e[m];if(!p)break;if(a&&p===a)return f(),ub(c,l),{nodes:c,issues:l,next:m+1,closed:!0,limited:!1,pendingHeredocs:d};if(ws(p)){if(p===`
|
|
33
33
|
`||p==="\r"){f();let P=p==="\r"&&e[m+1]===`
|
|
34
|
-
`?m+2:m+1,_=c.at(-1);if(_?.kind!=="connector"||!db.has(_.operator))c.push(Object.freeze({kind:"connector",operator:e.slice(m,P),span:Object.freeze({start:m,end:P})}));if(d.length>0){let v=
|
|
35
|
-
`&&e[m]!=="\r")m++;continue}let h=u.start===-1?jP(e,m,n):void 0;if(h){if(
|
|
36
|
-
`){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?
|
|
34
|
+
`?m+2:m+1,_=c.at(-1);if(_?.kind!=="connector"||!db.has(_.operator))c.push(Object.freeze({kind:"connector",operator:e.slice(m,P),span:Object.freeze({start:m,end:P})}));if(d.length>0){let v=Xl(e,P,n,d.splice(0));l.push(...v.issues),m=v.next;continue}m=P;continue}m++;continue}if(p==="#"){while(m<n&&e[m]!==`
|
|
35
|
+
`&&e[m]!=="\r")m++;continue}let h=u.start===-1?jP(e,m,n):void 0;if(h){if(eu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);if(!Ql(i))return sr(c,l,m,"word-limit",o.maxWords);let P=Cs(e,h.braceIndex+1,n,r,o,i,s+1,"}"),_=P.next,v={start:h.braceIndex+1,end:P.closed?_-1:_},T=ab(e,r,v,P);if(c.push({kind:"function",name:h.name,span:{start:m,end:_},body:T}),l.push(...P.issues),P.pendingHeredocs.length>0||fo(P.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:m,end:_}});if(d.push(...P.pendingHeredocs),P.limited)return _s(c,l,P.next);if(!P.closed)l.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:h.braceIndex,end:_}});m=_;continue}let b=Rs(e,m);if(b){if(f(),!Sb(c.at(-1)))l.push({code:"unexpected-connector",message:`connector ${b} has no preceding command`,span:{start:m,end:m+b.length}});c.push(Object.freeze({kind:"connector",operator:b,span:Object.freeze({start:m,end:m+b.length})})),m+=b.length;continue}if(p===")"){f(),l.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:m,end:m+1}}),c.push({kind:"unknown",source:p,span:{start:m,end:m+1}}),m++;continue}if((p==="("||p==="{"&&zP(e,m,n))&&u.start===-1){if(eu(c,l,m),s>=o.maxDepth)return sr(c,l,m,"depth-limit",o.maxDepth);let P=p==="("?")":"}",_=Cs(e,m+1,n,r,o,i,s+1,P),v=_.next,T={start:m+1,end:_.closed?v-1:v},k=ab(e,r,T,_);if(c.push({kind:"group",style:p==="("?"subshell":"brace",span:{start:m,end:v},body:k}),l.push(..._.issues),_.pendingHeredocs.length>0||fo(_.nodes))l.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:m,end:v}});if(d.push(..._.pendingHeredocs),_.limited)return _s(c,l,_.next);if(!_.closed)l.push({code:p==="("?"unclosed-subshell":"unclosed-brace-group",message:`${p} group is not closed`,span:{start:m,end:v}});m=v;continue}let y=(p==="<"||p===">")&&e[m+1]!=="("?AP(e,m):null;if(y){let P=u.words.at(-1),_=P&&P.span.end===m&&/^[0-9]+$/.test(P.raw)?Number(P.raw):void 0;if(_!==void 0)u.words.pop();let v=_===void 0?m:P?.span.start??m;u.start=u.start===-1?m:u.start;let T=m+y.length;while(T<n&&/[ \t]/.test(e[T]??""))T++;let k=e[T],z=T>m+y.length&&k==="#",M=!k||ws(k)||!!Rs(e,T)||k===a||k===")"||z||(k==="<"||k===">")&&e[T+1]!=="(",W=y==="<<"||y==="<<-"?Jl(e,T,n):void 0,U=W?{word:ir(e,T,W.next,W.delimiter,"literal",W.quoted),nested:[],issues:[],next:W.next,limited:!1}:!M?tu(e,T,n,r,o,i,s):void 0;if(U){if(l.push(...U.issues),U.limited)return _s(c,l,U.next);if(!Ql(i))return sr(c,l,U.next,"word-limit",o.maxWords)}let ge=U?.next??m+y.length,Ze={kind:"redirection",operator:y,span:{start:v,end:ge},..._===void 0?{}:{fd:_},...U?{target:U.word}:{}};if(u.redirections.push(Ze),y==="<<"||y==="<<-")if(!W)l.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:m,end:m+y.length}});else{if(W.ambiguous||W.delimiter.length===0)l.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:W.span});d.push({delimiter:W.delimiter,quotedDelimiter:W.quoted,stripTabs:y==="<<-",declarationSpan:{start:v,end:ge},attach:(A)=>{Ze.heredoc=A}})}else if(!U)l.push({code:"missing-redirection-target",message:`redirection ${y} requires a target word`,span:{start:m,end:m+y.length}});if(U)u.nested.push(...U.nested);u.end=ge,m=ge;continue}if(u.start===-1)eu(c,l,m);let w=tu(e,m,n,r,o,i,s);if(l.push(...w.issues),w.limited)return _s(c,l,w.next);let R=$P(u.words)?GP(e,w.word,i.max-i.used,o.maxDepth,o.maxInputLength):void 0;if(R?.limitCode)return sr(c,l,w.next,R.limitCode,R.limitCode==="word-limit"?o.maxWords:R.limitCode==="depth-limit"?o.maxDepth:o.maxInputLength);let E=R?.words??[w.word];for(let P of E){if(!Ql(i))return sr(c,l,w.next,"word-limit",o.maxWords);u.words.push(P)}u.start=u.start===-1?m:u.start,u.end=w.next,u.nested.push(...w.nested),m=w.next>m?w.next:m+1}return f(),ub(c,l),l.push(...HP(d)),{nodes:c,issues:l,next:m,closed:a===void 0,limited:!1,pendingHeredocs:[]}}function ab(e,t,n,r){return{kind:"program",dialect:t,source:e.slice(n.start,n.end),span:n,status:Es(r.issues,r.limited),issues:r.issues,nodes:r.nodes}}function tu(e,t,n,r,o,i,s){let a="",c=t,l=!1,u="literal",d=[],f=[],m=!1;while(c<n){let p=e[c],h=(p==="<"||p===">")&&e[c+1]==="(";if(!p||ws(p)||(p===";"||p==="|"||p==="&")&&Rs(e,c)||(p==="<"||p===">")&&!h)break;if(p===")")break;if(p==="'"){l=!0;let y=e.indexOf("'",c+1);if(y===-1||y>=n){a+=e.slice(c+1,n),f.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:c,end:n}}),c=n;break}a+=e.slice(c+1,y),c=y+1;continue}if(p==='"'){l=!0;let y=PP(e,c,n,r,o,i,s);if(a+=y.text,d.push(...y.nested),f.push(...y.issues),m||=y.limited,u=mo(u,y.provenance),c=y.next,m)break;continue}if(e.startsWith("$'",c)){l=!0;let y=TP(e,c+2,n);if(a+=y.text,f.push(...y.issues),!y.closed)f.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:c,end:n}});c=y.next;continue}if(p==="\\"){let y=e[c+1];if(!y){f.push({code:"trailing-escape",message:"escape has no following character",span:{start:c,end:c+1}}),c++;break}if(y===`
|
|
36
|
+
`){c+=2;continue}a+=y,c+=2;continue}let b=p==="$"||p==="<"||p===">"||p==="`"?nu(e,c,n,r,o,i,s):null;if(b){let y=fb(b,d,f);if(m||=y.limited,u=mo(u,y.provenance),c=y.next,m)break;continue}if(p==="$"){let y=hb(e,c,n,a,u);a=y.text,u=y.provenance,c=y.next;continue}if(p==="*"||p==="?"||p==="[")u=mo(u,"glob");a+=p,c++}return{word:ir(e,t,c,a,u,l,u==="literal"?void 0:OP(e,t,c)),nested:d,issues:f,next:c,limited:m}}function PP(e,t,n,r,o,i,s){let a="",c="literal",l=[],u=[],d=!1,f=t+1;while(f<n){let m=e[f];if(m==='"')return{text:a,provenance:c,nested:l,issues:u,next:f+1,limited:d};if(m==="\\"&&e[f+1]){let h=e[f+1]??"";if(h===`
|
|
37
37
|
`){f+=2;continue}if(h==="\r"&&e[f+2]===`
|
|
38
|
-
`){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=
|
|
38
|
+
`){f+=3;continue}a+=["$","`",'"',"\\"].includes(h)?h:`\\${h}`,f+=2;continue}if(e.startsWith("$((",f)){let h=ru(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=nu(e,f,n,r,o,i,s);if(p){let h=fb(p,l,u);if(f=h.next,d||=h.limited,c=mo(c,h.provenance),d)return{text:a,provenance:c,nested:l,issues:u,next:f,limited:d};continue}if(m==="$"){let h=hb(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 nu(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=ru(e,t+d,n,f),p=m===-1?n:m,h=m===-1?n:m+f.length;if(s>=o.maxDepth)return{program:UP(e,t+d,p,r,"depth-limit"),next:h,provenance:a?"arithmetic":"command-substitution"};if(a){let R=[],E=[],P=!1,_=t+d;while(_<p){let v=nu(e,_,p,r,o,i,s+1);if(!v){_++;continue}if(R.push(...v.program.nodes),E.push(...v.program.issues),P||=v.program.status==="limited",_=v.next,P)break}if(m===-1)E.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:t,end:h}});return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Es(E,P),issues:E,nodes:R}),next:h,provenance:"arithmetic"}}let b=Cs(e,t+d,p,r,o,i,s+1),y=m===-1?[{code:a?"unclosed-arithmetic":"unclosed-command-substitution",message:`${e.slice(t,t+d)} substitution is not closed`,span:{start:t,end:h}}]:[],w=(u||l)&&fo(b.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:t,end:h}}]:[];return{program:Ce({kind:"program",dialect:r,source:e.slice(t+d,p),span:{start:t+d,end:p},status:Es([...b.issues,...y,...w],b.limited),issues:[...b.issues,...y,...w],nodes:b.nodes}),next:h,provenance:a?"arithmetic":"command-substitution"}}function fb(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 ru(e,t,n,r){if(r==="`"){for(let a=t;a<n;a++)if(e[a]==="\\")a++;else if(e[a]==="`")return a;return-1}let o=1,i={single:!1,double:!1},s=[];for(let a=t;a<n;a++){let c=e[a];if((c===`
|
|
39
39
|
`||c==="\r")&&s.length>0){let u=c==="\r"&&e[a+1]===`
|
|
40
|
-
`?a+2:a+1,d=
|
|
41
|
-
`&&e[s+1]!=="\r")s++;return s}function
|
|
42
|
-
`],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return xs(e,t+1,n,16,2,t+1);if(r==="u")return xs(e,t+1,n,16,4,t+1);if(r==="U")return xs(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return xs(e,t,n,8,3,t+1);return{text:r,next:t+1}}function xs(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"\uFFFD",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Es(e,t=!1){if(t)return"limited";if(e.some((n)=>n.code==="invalid-ansi-c-code-point"||n.code==="missing-heredoc-delimiter"||n.code==="ambiguous-heredoc-delimiter"||n.code==="unterminated-heredoc"||n.code==="unsupported-heredoc-context"))return"invalid";return e.length>0?"partial":"complete"}function hb(e,t,n,r,o){let i=gb(e,t,n);return{text:r+e.slice(t,i),provenance:mo(o,"variable"),next:i}}function OP(e,t,n){let r=Ss(e),o=t,i=!1,s=!1,a=t;while(a<n){let c=e[a];if(c==="\\"&&!i){a+=2;continue}if(!s&&c==="'"){i=!i,a++;continue}if(!i&&c==='"'){s=!s,a++;continue}if(i){a++;continue}let l=e.startsWith("$((",a),u=e.startsWith("$(",a)&&!l,d=!s&&(e.startsWith("<(",a)||e.startsWith(">(",a)),f=c==="`";if(l||u||d||f){let m=l?3:f?1:2,p=l?"))":f?"`":")",h=
|
|
40
|
+
`?a+2:a+1,d=Xl(e,u,n,s.splice(0));if(!d.terminated)return-1;a=d.next-1;continue}let l=pb(e,a,t,n,i);if(l!==null){a=l;continue}if(!i.double&&e.startsWith("$((",a)){let u=kP(e,a+3,n);if(u===-1)return-1;a=u+1;continue}if(r===")"&&!i.double&&c==="<"&&e[a+1]==="<"&&e[a+2]!=="<"){let u=e[a+2]==="-",d=a+(u?3:2);while(d<n&&/[ \t]/.test(e[d]??""))d++;let f=Jl(e,d,n);if(f){s.push({delimiter:f.delimiter,quotedDelimiter:f.quoted,stripTabs:u,declarationSpan:{start:a,end:f.next},attach:()=>{return}}),a=f.next-1;continue}}if(e.startsWith("$(",a)&&!e.startsWith("$((",a)){o++,a++;continue}if(c==="("&&!i.double)o++;if(c===")"&&!i.double){if(o--,o===0)return r==="))"&&e[a+1]!==")"?-1:a}}return-1}function kP(e,t,n){let r=1,o={single:!1,double:!1};for(let i=t;i<n;i++){let s=e[i],a=pb(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 pb(e,t,n,r,o){let i=e[t];if(i==="\\"&&!o.single)return t+1;if(!o.double&&i==="'")o.single=!o.single;if(!o.single&&i==='"')o.double=!o.double;if(o.single)return t;if(o.double||i!=="#"||!VP(e,t,n))return null;let s=t;while(s+1<r&&e[s+1]!==`
|
|
41
|
+
`&&e[s+1]!=="\r")s++;return s}function Rs(e,t){let n=e[t];if(n===";")return";";if(n==="&")return e[t+1]==="&"?"&&":"&";if(n==="|")return e[t+1]==="|"?"||":e[t+1]==="&"?"|&":"|";return null}function AP(e,t){let n=e[t];if(n===">"){if(e[t+1]===">")return">>";if(e[t+1]==="&")return">&";return e[t+1]==="|"?">|":">"}if(n!=="<")return null;if(e.startsWith("<<<",t))return"<<<";if(e.startsWith("<<-",t))return"<<-";if(e[t+1]==="<")return"<<";if(e[t+1]==="&")return"<&";if(e[t+1]===">")return"<>";return"<"}function ws(e){let t=e.charCodeAt(0);if(t===32||t>=9&&t<=13)return!0;if(t<128)return!1;return/\s/u.test(e)}function gb(e,t,n){if(e[t+1]==="{"){let o=e.indexOf("}",t+2);return o===-1||o>=n?n:o+1}let r=t+1;while(r<n&&/[A-Za-z0-9_?@#$!*-]/.test(e[r]??""))r++;return r===t+1?t+1:r}function TP(e,t,n){let r="",o=[],i=t;while(i<n){let s=e[i];if(s==="'")return{text:r,next:i+1,closed:!0,issues:o};if(s!=="\\"){r+=s??"",i++;continue}let a=IP(e,i+1,n);if(r+=a.text,a.invalidCodePoint!==void 0)o.push({code:"invalid-ansi-c-code-point",message:`ANSI-C escape is not a valid Unicode scalar value: ${a.invalidCodePoint}`,span:{start:i,end:a.next}});i=a.next}return{text:r,next:n,closed:!1,issues:o}}function IP(e,t,n){let r=e[t];if(!r||t>=n)return{text:"\\",next:t};let o=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
|
|
42
|
+
`],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(o.has(r))return{text:o.get(r)??r,next:t+1};if(r==="x")return xs(e,t+1,n,16,2,t+1);if(r==="u")return xs(e,t+1,n,16,4,t+1);if(r==="U")return xs(e,t+1,n,16,8,t+1);if(/[0-7]/.test(r))return xs(e,t,n,8,3,t+1);return{text:r,next:t+1}}function xs(e,t,n,r,o,i){let s=r===16?/[0-9a-fA-F]/:/[0-7]/,a="",c=t;while(c<n&&a.length<o&&s.test(e[c]??""))a+=e[c],c++;if(!a)return{text:e[i-1]??"",next:i};let l=Number.parseInt(a,r);return l>1114111||l>=55296&&l<=57343?{text:"\uFFFD",next:c,invalidCodePoint:l}:{text:String.fromCodePoint(l),next:c}}function Es(e,t=!1){if(t)return"limited";if(e.some((n)=>n.code==="invalid-ansi-c-code-point"||n.code==="missing-heredoc-delimiter"||n.code==="ambiguous-heredoc-delimiter"||n.code==="unterminated-heredoc"||n.code==="unsupported-heredoc-context"))return"invalid";return e.length>0?"partial":"complete"}function hb(e,t,n,r,o){let i=gb(e,t,n);return{text:r+e.slice(t,i),provenance:mo(o,"variable"),next:i}}function OP(e,t,n){let r=Ss(e),o=t,i=!1,s=!1,a=t;while(a<n){let c=e[a];if(c==="\\"&&!i){a+=2;continue}if(!s&&c==="'"){i=!i,a++;continue}if(!i&&c==='"'){s=!s,a++;continue}if(i){a++;continue}let l=e.startsWith("$((",a),u=e.startsWith("$(",a)&&!l,d=!s&&(e.startsWith("<(",a)||e.startsWith(">(",a)),f=c==="`";if(l||u||d||f){let m=l?3:f?1:2,p=l?"))":f?"`":")",h=ru(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=gb(e,a,n);if(m>a+1){r.push(o,a,"literal"),r.push(a,m,"variable"),a=m,o=m;continue}}if(!s&&(c==="*"||c==="?"||c==="[")){r.push(o,a,"literal"),r.push(a,a+1,"glob"),a++,o=a;continue}a++}return r.push(o,n,"literal"),r.parts}function mo(e,t){if(t==="command-substitution"||e==="command-substitution")return"command-substitution";if(t==="arithmetic"||e==="arithmetic")return"arithmetic";if(t==="variable"||e==="variable")return"variable";if(t==="glob"||e==="glob")return"glob";return e}function zP(e,t,n){return t+1>=n||ws(e[t+1]??"")||Rs(e,t+1)!==null}var NP=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),DP=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function $P(e){let t=0;while(t<=e.length){while(/^[A-Za-z_][A-Za-z0-9_]*=/.test(e[t]?.text??""))t++;if(t===e.length)return!0;let n=MP(e,t);if(n===void 0||n===null)return!1;t=n}return!1}function MP(e,t){let n=e[t]?.text.toLowerCase();if(n==="command")return LP(e,t);if(n==="env")return WP(e,t);if(n==="sudo")return FP(e,t);return}function LP(e,t){if(e[t+1]?.text==="-v")return null;for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(r==="-p"||r==="-v"||r==="-V"||/^-[pvV]+$/.test(r))continue;return n}return e.length}function WP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(NP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-u=")||r.startsWith("--unset=")||r.startsWith("-C")&&r.length>2||r.startsWith("--chdir=")||r.startsWith("-S")&&r.length>2||r.startsWith("--split-string=")||r.startsWith("-P"))continue;if(r.startsWith("-")||/^[A-Za-z_][A-Za-z0-9_]*=/.test(r))continue;return n}return e.length}function FP(e,t){for(let n=t+1;n<e.length;n++){let r=e[n]?.text??"";if(r==="--")return n+1;if(DP.has(r)){if(e[n+1]===void 0)return null;n++;continue}if(r.startsWith("-"))continue;return n}return e.length}function yb(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)=>lb(p));if(c===-1)break;if(++s>n)return{limited:!0};let l=o[c]??"",u=lb(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=bb(l,u);o.splice(c,1,...m),i+=f-l.length}if(s===0)return;let a=o.map((c)=>BP(c,n));if(a.some((c)=>c===null))return{limited:!0};return{words:[...new Set(a.filter((c)=>c!==null&&c!==""))]}}function GP(e,t,n,r,o){if(t.provenance!=="literal"||t.quoted||t.raw!==t.text||!t.raw.includes("{"))return;let i=[t.text],s=t.text.length,a=0;while(!0){let l=i.findIndex((b)=>cb(b));if(l===-1)break;if(++a>r)return{limitCode:"depth-limit"};let u=i[l]??"",d=cb(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=bb(u,{...d,alternatives:m});i.splice(l,1,...h),s+=p-u.length}let c=i.filter((l)=>l.length>0);if(a===0)return;return{words:c.map((l)=>ir(e,t.span.start,t.span.end,l,"literal",!1))}}function cb(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:vb(e,n)}}function lb(e){let t=[],n,r=null,o=!1;for(let i=0;i<e.length;i++){let s=e[i];if(o){o=!1;continue}if(s==="\\"&&r!=="'"){o=!0;continue}if(s===r){r=null;continue}if(r===null&&(s==="'"||s==='"')){r=s;continue}if(r!==null)continue;if(s==="{"){t.push({start:i,commas:[]});continue}if(s===","&&t.length>0){t.at(-1)?.commas.push(i);continue}if(s!=="}"||t.length===0)continue;let a=t.pop();if(!a)continue;let c=a.commas.length>0?{kind:"alternatives",start:a.start,end:i+1,commas:a.commas}:ZP(e.slice(a.start+1,i))?{kind:"range",start:a.start,end:i+1}:void 0;if(c&&(!n||c.start<n.start))n=c}if(!n||n.kind==="range")return n;return{kind:n.kind,start:n.start,end:n.end,alternatives:vb(e,n)}}function bb(e,t){return t.alternatives.map((n)=>`${e.slice(0,t.start)}${n}${e.slice(t.end)}`)}function vb(e,t){let n=[t.start,...t.commas,t.end-1];return n.slice(0,-1).map((r,o)=>e.slice(r+1,n[o+1]))}function ZP(e){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(e)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test(e)}function BP(e,t){let n=`x${e}`,r=tu(n,0,n.length,"posix",{maxInputLength:n.length,maxWords:1,maxDepth:t},{used:0,max:1},0);if(r.limited||r.issues.length>0||r.next!==n.length||r.word.provenance!=="literal")return null;return r.word.text.slice(1)}function UP(e,t,n,r,o){return Ce({kind:"program",dialect:r,source:e.slice(t,n),span:{start:t,end:n},status:"limited",issues:[{code:o,message:"command structure exceeds parser limit",span:{start:t,end:n}}],nodes:[]})}function sr(e,t,n,r,o){return{nodes:e,issues:[...t,{code:r,message:`command structure exceeds parser limit ${o}`,span:{start:n,end:n}}],next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function _s(e,t,n){return{nodes:e,issues:t,next:n,closed:!1,limited:!0,pendingHeredocs:[]}}function Ql(e){return e.used++,e.used<=e.max}function jP(e,t,n){let r=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec(e.slice(t,n)),o=r?.[1];if(!r||!o)return;return{name:o,braceIndex:t+r[0].lastIndexOf("{")}}function fo(e){return e.some((t)=>{if(t.kind==="command")return t.redirections.some((n)=>n.heredoc)||t.nested.some((n)=>fo(n.nodes));return(t.kind==="group"||t.kind==="function")&&fo(t.body.nodes)})}function HP(e){return e.map((t)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${t.delimiter} was not found`,span:t.declarationSpan}))}function Sb(e){return e?.kind==="command"||e?.kind==="group"||e?.kind==="function"}function ub(e,t){let n=e.at(-1);if(n?.kind!=="connector"||!db.has(n.operator))return;t.push({code:"missing-command-after-connector",message:`connector ${n.operator} requires a following command`,span:n.span})}function eu(e,t,n){if(!Sb(e.at(-1)))return;t.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:n,end:n+1}})}function VP(e,t,n){return t===n||/[\s;&|()]/u.test(e[t-1]??"")}var xb=new Set(["remove-item","ri","del","erase","rd","rmdir"]),_b=["-rec","-for","-path","-literalpath","-whatif"],Ps={maxInputLength:131072,maxWords:16384,maxDepth:64};function Cb(e){let t=e.toLowerCase().replaceAll("`","");if(![...xb].some((r)=>t.includes(r))&&!(t.includes("rm")&&_b.some((r)=>t.includes(r)))&&!t.includes("<#"))return!1;let n=JP(e);return n.invalidComment||n.commands.some(qP)}function qP(e){let t=e[0]==="&"||e[0]==="."?1:0,n=e[t]?.toLowerCase();if(n&&xb.has(n))return!0;if(n!=="rm")return!1;return e.slice(t+1).some((r)=>{let o=r.toLowerCase().split(":",1)[0]??"";return _b.some((i)=>o.startsWith(i))})}function Rb(e,t){let n={start:0,end:e.length};if(e.length>t.maxInputLength)return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${t.maxInputLength} UTF-16 code units`,span:n}],nodes:[]});let r=cu(e,0,e.length,t,0);return Ce({kind:"program",dialect:"powershell",source:e,span:n,status:XP(r.issues,r.limited),issues:r.issues,nodes:r.nodes})}function cu(e,t,n,r,o,i=!1){let s=hs(),a=ys(),c=bs(),l=0,u=!1,d=()=>{if(c.words.length===0&&c.redirections.length===0)return;let m={start:c.start,end:c.end};vs(s,c,{kind:"command",dialect:"powershell",source:e.slice(m.start,m.end),span:m,words:c.words,redirections:c.redirections,nested:c.nested,displayText:c.words.map((p)=>p.text).join(" ")})},f=t;while(f<n){let m=e[f];if(!m)break;if(i&&m==="}")return d(),{nodes:s,issues:a,next:f+1,closed:!0,words:l,limited:u};let p=Pb(e,f,n,r.maxDepth);if(p){if(p.issue)a.push(p.issue);if(p.limited)return d(),{nodes:s,issues:a,next:p.next,closed:!1,words:l,limited:!0};f=p.next;continue}if(/\s/.test(m)){if(m==="\r"||m===`
|
|
43
43
|
`){d();let y=m==="\r"&&e[f+1]===`
|
|
44
|
-
`?f+2:f+1;s.push(
|
|
44
|
+
`?f+2:f+1;s.push(ou(e,f,y)),f=y;continue}f++;continue}let h=lu(e,f);if(h){d(),s.push(ou(e,f,f+h.length)),f+=h.length;continue}if(m==="{"){if(d(),o>=r.maxDepth)return a.push(Eb(f,r.maxDepth)),{nodes:s,issues:a,next:n,closed:!1,words:l,limited:!0};let y=cu(e,f+1,n,r,o+1,!0),w=y.closed?y.next-1:y.next,R=Ce({kind:"program",dialect:"powershell",source:e.slice(f+1,w),span:{start:f+1,end:w},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:R})),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(ou(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,w=y;while(/[ \t]/.test(e[w]??""))w++;let R=w<n?iu(e,w,n,r,o):void 0,E=R?.next??y;if(c.redirections.push(Object.freeze({kind:"redirection",operator:e.slice(f,y),span:Object.freeze({start:f,end:E}),...R?{target:R.word}:{}})),R)a.push(...R.issues),c.nested.push(...R.nested),l+=R.words,u||=R.limited;c.end=E,f=E;continue}if(m===","){c.start=c.start===-1?f:c.start,c.words.push(Yl({text:",",raw:",",span:{start:f,end:f+1},provenance:"literal",quoted:!1})),c.end=++f;continue}let b=iu(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 iu(e,t,n,r,o){let i="",s="literal",a=!1,c=[],l=[],u=0,d=!1,f=(p)=>{let h=KP(e,p,n,r,o);return i+=e.slice(p,h.next),l.push(h.program),c.push(...h.program.issues),u+=su(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)||lu(e,m)||p===">"||p==="<"||p==="#")break;if(p===",")break;if(p==="`"){let h=e[m+1];if(!h){c.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:m,end:m+1}}),m++;break}i+=h,m+=2;continue}if(e.startsWith("$(",m)){m=f(m);continue}if(p==="'"){a=!0,m++;let h=!1;while(m<e.length){if(e[m]==="'"&&e[m+1]==="'"){i+="'",m+=2;continue}if(e[m]==="'"){h=!0,m++;break}i+=e[m]??"",m++}if(!h)c.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:t,end:e.length}});continue}if(p==='"'){a=!0;let h=m++,b=!1;while(m<n){let y=e[m];if(y==="`"&&e[m+1]){i+=e[m+1],m+=2;continue}if(y==='"'){b=!0,m++;break}if(e.startsWith("$(",m)){m=f(m);continue}if(y==="$")s=e[m+1]==="("?"command-substitution":"variable";i+=y??"",m++}if(!b)c.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:h,end:e.length}});continue}if(p==="$")s=e[m+1]==="("?"command-substitution":"variable";if(p==="@"&&m===t)s="variable";i+=p,m++}return{word:ir(e,t,m,i,s,a,s==="literal"?void 0:YP(e,t,m)),next:m,issues:c,nested:l,words:u,limited:d}}function KP(e,t,n,r,o){let i=wb(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:[Eb(t,r.maxDepth)],nodes:[]}),next:a};let c=cu(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 wb(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 su(e){let t=0;for(let n of e.nodes){if(n.kind==="group")t+=su(n.body);if(n.kind==="command"){t+=n.words.length;for(let r of n.nested)t+=su(r)}}return t}function YP(e,t,n){let r=Ss(e),o=t,i=!1,s=t;while(s<n){let a=e[s];if(a==="`"){s+=2;continue}if(a==="'"){if(i&&e[s+1]==="'"){s+=2;continue}i=!i,s++;continue}if(i){s++;continue}if(e.startsWith("$(",s)){let c=wb(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 Eb(e,t){return{code:"depth-limit",message:`command structure exceeds parser limit ${t}`,span:{start:e,end:e}}}function JP(e){let t=[],n=[],r=0,o=0,i=!1,s=()=>{if(n.length>0)t.push(n);n=[]};while(r<e.length&&r<131072&&o<16384){let a=e[r];if(a==="\r"||a===`
|
|
45
45
|
`){s(),r+=a==="\r"&&e[r+1]===`
|
|
46
|
-
`?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Pb(e,r,Math.min(e.length,Ps.maxInputLength),Ps.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=
|
|
47
|
-
`)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function XP(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function
|
|
48
|
-
`||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);go(s,n)}return t}var tk=new Set(["&&","||","|&","|","&",";"]),nk=new Set(["<<","<<<",">|"]),rk=/[*@#?$!_-]/,lu=Object.freeze([]),ok=Object.freeze([]),ik=256;function Ob(e,t){let n=t.status==="complete"?new Set(du(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(ar(r))return Ts("unclosed-quote",r,lu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=ho(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return Ts("structural-limit",r,lu);if(o.invalid)return Ts("invalid",r,lu);return Ts("complete",r,i,o.assignmentFallbacks)}function Ts(e,t,n,r=ok){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function ho(e,t){return e.nodes.flatMap((n,r)=>sk(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function sk(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[tt(dk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[tt(e.source)]}];if(e.kind==="function")return r.functions.set(e.name,e.body),[];if(e.kind==="group"){let i=e.style!=="subshell",s=r.source[e.span.end-1]===(i?"}":")"),a=i?r:{...r,functions:new Map(r.functions)};return[{start:e.span.start,entries:[i?Is("{"):tt("("),...ho(e.body,a),...s?[i?Is("}"):tt(")")]:[]]}]}let o=fk(e,r.functions);if(o){if(r.depth>=xn.maxDepth||++r.flags.expansions>ik)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...kb(e,r),Is(";"),...ho(o,{...r,depth:r.depth+1}),Is(";")]},...Ab(e,t,n,r)]}return[{start:e.span.start,entries:kb(e,r)},...Ab(e,t,n,r)]}function kb(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Nb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:ak(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function ak(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Nb(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[mu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:mk(r),targetOrder:nk.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Ab(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=[mu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[tt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...zb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?ck(t,n,r):[]]}function ck(e,t,n){let r=e.nodes.slice(t+1).find((o)=>o.kind==="connector");if(!r||r.span.end>=e.span.end)return[];return[{start:r.span.end,entries:zb(n.source.slice(r.span.end,e.span.end),n)}]}function zb(e,t){if(t.depth>=xn.maxDepth)return t.flags.limited=!0,[];let n=et(e,"posix");if(n.status==="limited")return t.flags.limited=!0,[];let r={invalid:!1,limited:!1,expansions:t.flags.expansions,assignmentFallbacks:t.flags.assignmentFallbacks},o=ho(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Nb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(tt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(mu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of uu(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(tt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=uu(m,{single:!1,double:!0},n.flags).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((m)=>m.span.start>=l.span.start&&m.span.end<=l.span.end),d=u?ho(u,n):[];if(l.raw.startsWith("`")){s+="${}",c(),o.push(...d);continue}if(l.raw.startsWith("<(")||l.raw.startsWith(">(")){c(),o.push(l.raw.startsWith("<(")?tt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[tt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>tt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>tt(")")):[])}return c(),o}function uu(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=Tb(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=Tb(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Tb(e,t,n,r){let o=e[t+1];if(o==="{"){let s=uk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return lk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&rk.test(o))return{text:`\${${o}}`,next:t+2};let i=/^\w*/.exec(e.slice(t+1))?.[0]??"";return{text:`\${${i}}`,next:t+1+i.length}}function lk(e,t,n){let r=e.slice(2,-1),o=/^[A-Za-z_][A-Za-z0-9_]*/.exec(r)?.[0];if(!o)return;let i=r.slice(o.length),s=[":=","="].find((c)=>i.startsWith(c));if(!s)return;let a=uu(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function uk(e,t){let n=1,r=t;while(n>0&&r<e.length){if(e[r]==="{"&&e[r-1]==="$")n++;else if(e[r]==="}")n--;r++}return n===0?r-1:-1}function dk(e){return/^[\r\n]+$/.test(e)?";":e}function tt(e){return Object.freeze({kind:"operator",operator:e,boundary:tk.has(e)})}function Is(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function mu(e){return Object.freeze({kind:"word",text:e})}function mk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function du(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return du(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>du(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!gk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function fk(e,t){let n=As(e);return n===void 0?void 0:t.get(n)}function Yt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function pk(e){if(Yt(e.words[0],"git"))return Yt(e.words[1],"commit");if(!Yt(e.words[0],"gh")||!Yt(e.words[2],"create"))return!1;return Yt(e.words[1],"pr")||Yt(e.words[1],"issue")}function gk(e){return(Yt(e.words[0],"cat")||Yt(e.words[0],"tee")||pk(e))&&!e.words.some(Ib)&&!e.redirections.some((n)=>Ib(n.target))}function Ib(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as hk}from"util";var yk=new Set(["applypatch","patch"]),bk=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),vk=new Set(["grep","grepsearch","rg"]),Sk=new Set(["find","findbyname","glob"]),xk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),_k=new Set(["command","diff","input","patch","patchtext"]),Db=new TextEncoder,Ck=new TextDecoder,wk=/\s/,Rk=64;class Mt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var yo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function Fb(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function zs(e){return xk.has(Fb(e))}function hu(e){let t=Fb(e);if(yk.has(t))return"patch";if(vk.has(t))return"grep";if(Sk.has(t))return"glob";if(bk.has(t))return"path";return"unknown"}function vo(e){if(!e||typeof e!=="object")return;jb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)mt();return}if(t.get||t.set)mt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function yu(e,t){return Gb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Gb(e,t,n,r){let o=Ub(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Gb(a,t,n,r+1);return typeof a==="string"&&t.has(Zb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Zb(e){return e.replace(/-/g,"_").toLowerCase()}function bu(e){return Bb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(Pk)}function Bb(e,t,n,r){let o=Ub(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Bb(a,o.array?t:_k.has(Zb(s)),n,r+1));return n.ancestors.delete(o.object),i}function Ek(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>yo.maxDepth||t.nodes>yo.maxNodes)mt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>yo.maxStringBytes||t.stringBytes>yo.maxAggregateStringBytes)mt()}function Ub(e,t,n){if(Ek(e,t,n),!e||typeof e!=="object")return null;let r=jb(e);if(t.ancestors.has(e))mt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>yo.maxKeys)mt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)mt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function jb(e){if(hk.isProxy(e))mt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)mt();return t}function mt(){throw new Mt}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(...fu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...fu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...gu(Os(l.slice(4),!0),Os(u.slice(4),!0))),c++;continue}if(!r)t.push(...fu(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 fu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Wb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Wb(n[1]);if(e.startsWith("diff --git "))return Ak(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Lb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Lb(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 gu(t[0],t[1]);let n=Ik(e);return n?gu(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(_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=Hb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(_n(e[n]))n++;return n===e.length?t:[]}function Ik(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>Rk)mt();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(pu(e,t,n,r,o))return!0;let i=$b(e,"/",t,n),s=$b(e,"/",r,o);if(i<=t||s<=r)return!1;if(pu(e,t,i,r,s))return!1;return pu(e,i+1,n,s+1,o)}function pu(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 $b(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&&wk.test(e)}function Hb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:Ck.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Db.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(...Db.encode(zk(s[0]??""))),o+=2}return null}function zk(e){return{a:"\x07",b:"\b",f:"\f",n:`
|
|
49
|
-
`,r:"\r",t:"\t",v:"\v"}[e]??e}function Nk(e){return bo(Mk(e))}function gu(e,t){if(e==="/dev/null")return Mb(t);if(t==="/dev/null")return Mb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(bo);let n=Dk(e,t)??(e===t?Vb(e):null);return[e,t,...n?[n]:[]].flatMap(bo)}function Mb(e){let t=Vb(e);return[e,...t?[t]:[]].flatMap(bo)}function Vb(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function 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 Lb(e){return Nk(Os(e,!0))}function $k(e){return bo(Os(e,!1))}function Os(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=Hb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Mk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function bo(e){return e===""||e==="/dev/null"?[]:[e]}function Wb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var qb=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),Kb=new Set([...qb,"glob"]),Wk=new Set([...Kb,"pattern"]),Fk=[],Yb={parseCommand:et,projectShellSyntax:Ob};class ft extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function Ns(e,t={}){let n=Gk({...Yb,...t}),r=vo(e.input),o=[];if((e.route.kind==="command"||e.route.kind==="unknown")&&r)o.push({usage:"input-candidate",source:r});if(e.route.kind==="command"&&"command"in e&&e.command)o.push({usage:"declared-command",source:e.command});let i=o.reduce((s,a)=>{let c=s.findIndex((d)=>d.source===a.source);if(c!==-1){let d=s[c];if(!d)return s;return s[c]={...d,usages:[...d.usages,a.usage]},s}let l=e.route.kind==="command"?e.route.shell:"posix",u=n.getCommandProgram(a.source,l);return s.push({usages:[a.usage],source:a.source,program:u,shell:n.getShellSyntax(a.source,u)}),s},[]);return{invocation:{toolName:e.toolName,route:e.route,context:e.context},commands:i,paths:Zk(e),store:n}}function Ne(e,t){return e.commands.find((n)=>n.usages.includes(t))}function pt(e){if(!e.includes("$"))return e;return Zi(e,Ot())}function Gk(e={}){let t={...Yb,...e},n=new Map,r=new Map,o=new WeakMap,i=(a,c)=>{let l=`${c}\x00${a}`,u=r.get(l);if(u)return u;let d=t.parseCommand(a,c);return r.set(l,d),d};return{getShellSyntax:(a,c)=>{if(c&&c.source!==a)throw TypeError("Shell syntax source does not match command program source.");let l=c??i(a,"posix");if(l.status==="limited"){let f=o.get(l);if(f)return f;let m={status:"structural-limit",source:a,entries:Fk,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 Zk(e){let t=e.route.kind==="grep"?Kb:e.route.kind==="glob"?Wk:qb;return[...yu(e.input,t),...e.route.kind==="patch"?bu(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 Bk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Uk=new Map([["zsh",new Set(["o"])]]),jk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function Jb(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r===void 0||r==="--"||r==="-"||r[0]!=="-"&&r[0]!=="+")return null;if(r.startsWith("--")){let s=jk.get(e);if(Vk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Hk(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 Hk(e,t){let n=Bk.get(e),r=Uk.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 Vk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var Jk=new Set(["-S","--suffix"]);function Ds(e,t,n,r){if(e.status==="structural-limit")throw new ft;if(e.status!=="complete")return r.findMalformedTarget(e.source);let o={cwd:t,variables:new Map},i=[];for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;let a=r.findSegmentTarget(i,o);if(a)return a;o=Xk(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget(De(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function De(e,t){return e.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(n,r,o,i)=>{let s=t.get(r);if(s===void 0)return n;let a=o.startsWith(":")?s!=="":!0;if(o.endsWith("-"))return a?s:De(i,t);return a?De(i,t):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(n,r)=>t.get(r)??n).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(n,r)=>t.get(r)??n)}function So(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function Qb(e,t,n){let r=n.environment.home,o=Zi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?Xb(r,o.slice(2)):o;return Yk(Kk(i)?i:Xb(t,i))}function ve(e,t,n){let r=Qb(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function ev(e,t,n,r){let o=Qb(e,t,n);if(!o)return null;if(r(qk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=my(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function $s(e){let t=[],n=null,r=!1;for(let o=0;o<e.length;o++){let i=e[o];if(i===void 0)break;if(!r&&i==="--"){r=!0;continue}if(!r&&(i==="-t"||i==="--target-directory")){n=e[++o]??null;continue}if(!r&&i.startsWith("--target-directory=")){n=i.slice(19);continue}if(!r&&i.startsWith("-t")&&i.length>2){n=i.slice(2);continue}if(!r&&Jk.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 Xk(e,t,n,r){let o=So(e)?new Map([...t.variables,...Qk(e,t.variables)]):t.variables,i=or([...e],n.environment),s=G(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r(De(s,o),t.cwd,n),variables:o}}function Qk(e,t){return e.flatMap((n)=>{let r=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(n),o=r?.[2]?.startsWith("=")?r[2].slice(1):void 0;return r?.[1]!==void 0&&o!==void 0?[[r[1],De(o,t)]]:[]})}var He="Git metadata and hooks are protected. Ask the user before modifying them.";function ov(e,t=Su(e.invocation.context.executionCwd)){let n=gn(Ot()),r=e.invocation.context.executionCwd;if(!t)return null;if(e.invocation.route.kind==="patch"||e.invocation.route.kind==="path"||e.invocation.route.kind==="unknown"){if(zs(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=Ne(e,"input-candidate");if(!o)return null;let i=Ds(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 Su(e,t=gn(Ot())){if(typeof e!=="string"||!e)return null;let n=oo(ve(e,e,t));if(!n)return null;try{let r=ve(n,e,t),o=eA(n),i=o.isFile()?r:null,s=o.isFile()?Zl(n):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[gt(ve(l,e,t))]:[]),c=[...new Set(o.isDirectory()?[gt(n.replace(/\\/g,"/")),...a]:a)];return Object.freeze({entry:gt(r),markerFile:i?gt(i):null,directories:Object.freeze(c),hooksDirectories:Object.freeze([...new Set(c.flatMap((l)=>{let u=gt(tA(l,"hooks"));return[u,gt(ve(u,e,t))]}))])})}catch{return null}}function Cn(e,t,n,r,o,i=!1){if(!n)return!1;let s=gt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(vu(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?Ms(u,a):nA(u,a);if(n.markerFile&&l(n.markerFile))return!0;return r&&tv(n).some(l)}if(vu(s,n))return!0;return r&&tv(n).some((c)=>Ms(c,s))}function nA(e,t){let n=rv(t,e);if(n===""||n.startsWith("..")||nv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function rA(e,t,n,r){return Cn(e,t,n,!0,r)}function oA(e,t,n,r){if(!n)return!1;return vu(gt(ve(e,t,r)),n)}function iA(e,t,n,r){if(!n)return!1;return iv(e,t,n,r,n.entry)}function sA(e,t,n,r){if(!n)return!1;return iv(e,t,n,r,n.markerFile)}function iv(e,t,n,r,o){let i=gt(ve(e,t,r));return i===o||av(i,n)}function sv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>Ms(o,gt(ve(i,t,r)))))}function vu(e,t){return e===t.entry||t.directories.includes(e)||av(e,t)}function av(e,t){return t.hooksDirectories.some((n)=>Ms(e,n))}function tv(e){return[e.entry,...e.directories,...e.hooksDirectories]}function Ms(e,t){let n=rv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!nv(n)}function gt(e){return process.platform==="win32"?e.toLowerCase():e}function aA(e,t,n,r){if(So(e))return null;let o=Kt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=$s(o.slice(1)),s=i.sources.find((a)=>rA(De(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&oA(De(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as xu,join as cA,normalize as lA,sep as Ls}from"path";var cv=process.platform==="win32",uA=/[*?]/;function xo(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Fs(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=xo(e.trim(),t);if(!xu(n))return"must be an absolute path or start with ~/";return _o(n,t)}function Gs(e,t){let n=lv(e,t);if(n===null)return"must be a non-empty path string";if(!xu(n))return null;if(_o(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 lv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return xo(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Zs(e,t){let n=lv(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(!xu(n))return null;if(_o(n,t)!==null)return dA;return fA(n,t)?mA:null}function fA(e,t){let n=Ws(e),r=Ws(cA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ls}`)}function _o(e,t){let n=Ws(e),r=Ws(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ls)?n:`${n}${Ls}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Ws(e){let t=lA(e);if(cv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(cv?3:1)&&t.endsWith(Ls))t=t.slice(0,-1);return t}var hA=process.platform==="win32",uv=64,yA=16384;function Co(e){let t=yb(e,uv,uv,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 wn(e){let t=e.environment.home,n=e.environment.paths,r=gn(e.environment);return{anchoredCwd:e.originalCwd??e.cwd??null,resolvedCwd:e.cwd??null,strict:e.strict??!1,paranoid:e.paranoid??!1,trustTmpdirVar:e.allowTmpdirVar??!0,posixShell:e.posixShell??!1,tmpdirWordSplittingUnsafe:e.tmpdirWordSplittingUnsafe??!1,trustedTmpdirValue:e.trustedTmpdirValue??e.allowTmpdirVar??!0,environment:e.environment,allowRoots:wA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function nt(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&EA(e))return{kind:"outside_anchored_cwd"};let o=!r&&pv(e,t.posixShell);if(pn(e))return{kind:"outside_anchored_cwd"};if(Ru(e,r))return{kind:"root_or_home_target"};if(SA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&Cn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(xA(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(RA(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 mv(e,t,n={}){let{containmentTarget:r,...o}=n;if(nt(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(CA(i))return!1;if(Xy(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>zA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Ru(e,t=!1){let n=e.trim(),r=dv.normalize(n),o=n.replace(/\\/g,"/"),i=r==="/"?r:r.replace(/\/+$/,"");if(i==="/"||i.startsWith("/")&&i.slice(1).split("/").every((s)=>/^\*+$/.test(s)))return!0;if(/^[A-Za-z]:\/+\*?$/.test(o)||/^\/\/[^/]+\/+[^/]+(?:\/+\*?)?$/.test(o))return!0;if(!t&&(r==="~"||r==="~/"||r==="~/*"))return!0;if(!t&&(r==="$HOME"||r==="$HOME/"||r==="$HOME/*"))return!0;if(!t&&(r==="${HOME}"||r==="${HOME}/"||r==="${HOME}/*"))return!0;return!1}function 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=wu(o)?o:t.resolvedCwd?cr(t.resolvedCwd,o):null;if(!i)return!1;let s=Re(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===gA(s).root)return!0;return s===Re(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function Re(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 xA(e,t,n,r,o,i,s,a){let c=e.trim();if(fv(c))return!1;if(!r&&ql(c,a))return!0;return(t||i&&s)&&n&&!o&&_A(c,n)}function _A(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!pv(e.slice(n.length+1),t)})}function CA(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return dv.normalize(`/${t[1]??""}`)==="/"}function fv(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(!wu(i))return[];try{let s=Y(i,n,r);if(_o(s,Y(t,n,r)))return[];return[Re(s)]}catch{return[]}})}function RA(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(fv(r))return!1;let o=n?r:xo(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=Re(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Cu)?c:`${c}${Cu}`))}catch{return!1}}function EA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function pv(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 Re(Y(e,n,r))===Re(Y(t,n,r))}catch{try{return Re(e)===Re(t)}catch{return!1}}}function IA(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return Re(Y(cr(t,e),n,r))===Re(Y(t,n,r))}catch{try{return Re(cr(t,e))===Re(t)}catch{return!1}}}function 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 _u(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return _u(cr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return _u(cr(a,e),t,i,s)}catch{return!1}}function _u(e,t,n,r){try{return gv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function zA(e,t,n,r){if(!t)return!1;try{return gv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function gv(e,t){let n=Re(e),r=Re(t);return n.startsWith(`${r}${Cu}`)||n===r}var NA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),hv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",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.",yv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",bv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",$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 vv(e,t,n,r=wn({...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(KA(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(!pn(c.text)&&Ru(Pu(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",bv);for(let c of a.targets)if(n.resolvedCwd&&Cn(Pu(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",He);if(!a.recursive||!a.force)return null;if(ue(r,"powershell.remove-item-recursive-force-dynamic-target",n.strict)&&(a.hasDynamicTarget||a.targets.length===0))return S("powershell.remove-item-recursive-force-dynamic-target",yv);for(let c of a.targets){let l=YA(nt(Pu(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(Eu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=BA(c.text);if(!l){t.push(Eu(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(Eu(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=qA(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 Eu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function GA(e){return e.kind==="word"&&e.text===","}function Pu(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 qA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function KA(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",bv);case"git_metadata_target":return S("powershell.remove-item-git-metadata",He);case"temp_target":return null;case"dynamic_target":if(!ue(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return S("powershell.remove-item-recursive-force-dynamic-target",yv);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",$A);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",hv);case"within_anchored_cwd":if(!ue(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return S("powershell.remove-item-recursive-force-paranoid",DA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",hv)}}import{normalize as oa}from"path";var $e=new Set(["awk","gawk","nawk","mawk"]),JA=new Set(["-e","--source"]),XA=new Set(["-F","-v","--assign","--field-separator"]),Sv=new Set(["-f","--file"]),QA=new Set(["print","printf","return"]),xv=[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"--source",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-f",kind:"program-file",valueForm:"attached-or-separate"},{selector:"--file",kind:"program-file",valueForm:"equals-or-separate"}],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 js(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 Au(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)||Sv.has(a))){if(Sv.has(a)){r=!0;let c=e[s+1];if(c!==void 0)t.push({tokenIndex:s+1,kind:"program-file",value:c});else i=!1}else if(e[s+1]===void 0)i=!1;s++;continue}if(o&&(a.startsWith("-F")||a.startsWith("-v")&&a.slice(2).includes("=")))continue;if(o&&a.startsWith("-f")&&a.length>2){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(2)});continue}if(o&&(a.startsWith("--assign=")||a.startsWith("--field-separator=")))continue;if(o&&a.startsWith("--file=")){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(7)});continue}if(o&&a.startsWith("-")&&a!=="-")continue;if(o=!1,!n&&!r)t.push({tokenIndex:s,kind:"main-program",value:a});return{sources:t,optionsOpen:!1}}return{sources:i?t:[],optionsOpen:o&&i}}function Ro(e){return Au(e).sources}function tT(e){return Ro(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function nT(e,t){Te(t,e);let n=e.includes("system")?Tu(e,t):null,r=rT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Tu(e,t){Te(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Us(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=_v(e,i+1);continue}if(s==="/"&&Cv(e,i)){i=wv(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,wo(e[a-1])||wo(e[i]))continue;let c=Bs(e,i);if(e[c]!=="(")continue;c=Bs(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Us(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Bs(e,u.endIndex),r=!0,e[c]!==")"){o=!0,i=u.endIndex;continue}n.push(u.value),i=c+1}if(!r)return null;return{dynamic:o,commands:n}}function rT(e,t){Te(t,e);let n=[],r=!1,o=!1,i=0,s=0,a=null,c=null,l=0;while(i<e.length){let u=e[i];if(!u)break;if(u==='"'||u==="'"){let m=Us(e,i,u);if(m&&l===s)c={...m,startIndex:i};l=m?.endIndex??i+1,i=m?.endIndex??i+1;continue}if(u==="#"){i=_v(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Cv(e,i)){let m=wv(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
|
|
50
|
-
{}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(
|
|
46
|
+
`?2:1;continue}if(/\s/.test(a??"")){r++;continue}let c=Pb(e,r,Math.min(e.length,Ps.maxInputLength),Ps.maxDepth);if(c){i||=!!c.issue||c.limited,r=c.next;continue}let l=lu(e,r);if(l){s(),r+=l.length;continue}if(a==="{"||a==="}"){s(),r++;continue}let u=iu(e,r,Math.min(e.length,Ps.maxInputLength),Ps,0);if(u.word.text)n.push(u.word.text);for(let d of u.nested)t.push(...au(d));o++,r=u.next>r?u.next:r+1}return s(),{commands:t,invalidComment:i}}function au(e){return e.nodes.flatMap((t)=>{if(t.kind==="group")return au(t.body);if(t.kind!=="command")return[];return[t.words.map((n)=>n.text),...t.nested.flatMap(au)]})}function lu(e,t){for(let n of["&&","||",";","|"])if(e.startsWith(n,t))return n;return null}function Pb(e,t,n,r){if(e[t]==="#"&&e[t+1]!==">"){let s=t+1;while(s<n&&e[s]!=="\r"&&e[s]!==`
|
|
47
|
+
`)s++;return{next:s,limited:!1}}if(!e.startsWith("<#",t))return null;let o=1,i=t+2;while(i<n){if(e.startsWith("<#",i)){if(o++,o>r)return{next:n,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${r}`,span:{start:t,end:i+2}},limited:!0};i+=2;continue}if(e.startsWith("#>",i)){if(o--,i+=2,o===0)return{next:i,limited:!1};continue}i++}return{next:n,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:t,end:n}},limited:!1}}function XP(e,t){if(t)return"limited";if(e.some((n)=>n.code==="unclosed-block-comment"))return"invalid";return e.length>0?"partial":"complete"}function ou(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 et(e,t="auto",n=xn){if(t==="powershell"||t==="auto"&&Cb(e.slice(0,n.maxInputLength)))return Rb(e,n);return mb(e,"posix",n)}function po(e,t){if(e!=="powershell")return t[0]?.provenance==="command-substitution";let n=t[0]?.text==="&"||t[0]?.text==="."?1:0,r=t[n]?.provenance;return r!==void 0&&r!=="literal"}var QP=/^[A-Za-z_][A-Za-z0-9_]*=/;function ks(e,t){return e?.provenance==="literal"&&!e.quoted&&e.raw===t&&e.text===t}function As(e){let t=ks(e.words[0],"time")?1:0,n=t===1&&ks(e.words[t],"-p")?t+1:t,r=t===1&&ks(e.words[n],"--")?n+1:n,o=ks(e.words[r],"!")?r+1:r,i=e.words.slice(o).find((s)=>!QP.test(s.text));return i?.provenance==="literal"?i.text:void 0}function go(e,t){if(t.escaped)return t.escaped=!1,!0;if(e==="\\"&&!t.inSingle)return t.escaped=!0,!0;if(e==="'"&&!t.inDouble)return t.inSingle=!t.inSingle,!0;if(e==='"'&&!t.inSingle)return t.inDouble=!t.inDouble,!0;return!1}function ar(e){let t={inSingle:!1,inDouble:!1,escaped:!1};for(let n of ek(e))go(n,t);return t.inSingle||t.inDouble}function ek(e){let t="",n={inSingle:!1,inDouble:!1,escaped:!1},r=!1,o=!0;for(let i=0;i<e.length;i++){let s=e[i];if(!s)break;if(r){if(s===`
|
|
48
|
+
`||s==="\r")t+=s,r=!1,n.escaped=!1;continue}if(s==="#"&&!n.inSingle&&!n.inDouble&&o){r=!0;continue}if(t+=s,!n.inSingle&&!n.inDouble&&!n.escaped)o=/[\s;&|()<>]/.test(s);go(s,n)}return t}var tk=new Set(["&&","||","|&","|","&",";"]),nk=new Set(["<<","<<<",">|"]),rk=/[*@#?$!_-]/,uu=Object.freeze([]),ok=Object.freeze([]),ik=256;function Ob(e,t){let n=t.status==="complete"?new Set(mu(t)):new Set,r=[...n].reduce((s,a)=>s.slice(0,a.start)+" ".repeat(a.end-a.start)+s.slice(a.end),e);if(ar(r))return Ts("unclosed-quote",r,uu);let o={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},i=ho(t,{source:r,suppressed:n,flags:o,depth:0,functions:new Map});if(o.limited)return Ts("structural-limit",r,uu);if(o.invalid)return Ts("invalid",r,uu);return Ts("complete",r,i,o.assignmentFallbacks)}function Ts(e,t,n,r=ok){return Object.freeze({status:e,source:t,entries:Object.freeze(n),assignmentFallbacks:Object.freeze(r)})}function ho(e,t){return e.nodes.flatMap((n,r)=>sk(n,e,r,t)).sort((n,r)=>n.start-r.start).flatMap((n)=>[...n.entries])}function sk(e,t,n,r){if(e.kind==="connector")return[{start:e.span.start,entries:[tt(dk(e.operator))]}];if(e.kind==="unknown")return[{start:e.span.start,entries:[tt(e.source)]}];if(e.kind==="function")return r.functions.set(e.name,e.body),[];if(e.kind==="group"){let i=e.style!=="subshell",s=r.source[e.span.end-1]===(i?"}":")"),a=i?r:{...r,functions:new Map(r.functions)};return[{start:e.span.start,entries:[i?Is("{"):tt("("),...ho(e.body,a),...s?[i?Is("}"):tt(")")]:[]]}]}let o=fk(e,r.functions);if(o){if(r.depth>=xn.maxDepth||++r.flags.expansions>ik)return r.flags.limited=!0,[];return[{start:e.span.start,entries:[...kb(e,r),Is(";"),...ho(o,{...r,depth:r.depth+1}),Is(";")]},...Ab(e,t,n,r)]}return[{start:e.span.start,entries:kb(e,r)},...Ab(e,t,n,r)]}function kb(e,t){return[...e.words.map((n)=>({start:n.span.start,entries:Nb(n,e,t,!1)})),...e.redirections.map((n)=>({start:n.span.start,entries:ak(n,e,t)}))].sort((n,r)=>n.start-r.start).flatMap((n)=>n.entries)}function ak(e,t,n){let r=e.operator==="<<-"?"<<":e.operator,o=e.target?Nb(e.target,t,n,!0):[],i=o[0],s=i?.kind==="word"?i.text:void 0;return[...e.fd===void 0?[]:[fu(String(e.fd))],Object.freeze({kind:"redirection",operator:r,role:mk(r),targetOrder:nk.has(r)?"legacy-segment":"immediate",...s===void 0?{}:{target:s}}),...s===void 0?o:o.slice(1)]}function Ab(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=[fu(s.delimiter),.../[\r\n]/.test(r.source[s.terminatorSpan.end]??"")?[tt(";")]:[]];if(r.suppressed.has(s.bodySpan))return[{start:s.bodySpan.start,entries:a}];return[{start:s.bodySpan.start,entries:[...zb(r.source.slice(s.bodySpan.start,s.bodySpan.end),r),...a]}]}),...o.some((i)=>!i.heredoc&&i.target)?ck(t,n,r):[]]}function ck(e,t,n){let r=e.nodes.slice(t+1).find((o)=>o.kind==="connector");if(!r||r.span.end>=e.span.end)return[];return[{start:r.span.end,entries:zb(n.source.slice(r.span.end,e.span.end),n)}]}function zb(e,t){if(t.depth>=xn.maxDepth)return t.flags.limited=!0,[];let n=et(e,"posix");if(n.status==="limited")return t.flags.limited=!0,[];let r={invalid:!1,limited:!1,expansions:t.flags.expansions,assignmentFallbacks:t.flags.assignmentFallbacks},o=ho(n,{source:e,suppressed:new Set,flags:r,depth:t.depth+1,functions:new Map});return t.flags.limited||=r.limited,t.flags.expansions=r.expansions,o}function Nb(e,t,n,r){let o=[],i={single:!1,double:!1},s="",a=!1,c=()=>{if(a&&!r)o.push(tt("glob"));else if(s!==""||e.quoted&&o.length===0)o.push(fu(s));s="",a=!1};for(let l of e.parts){if(l.provenance!=="command-substitution"&&l.provenance!=="arithmetic"){for(let m of du(l.raw,i,n.flags)){if(typeof m==="string"){c(),o.push(tt(m));continue}s+=m.text,a||=m.glob}continue}if(i.double){let m=n.source.slice(l.span.start,l.span.end);s+=du(m,{single:!1,double:!0},n.flags).map((p)=>typeof p==="string"?p:p.text).join("");continue}let u=t.nested.find((m)=>m.span.start>=l.span.start&&m.span.end<=l.span.end),d=u?ho(u,n):[];if(l.raw.startsWith("`")){s+="${}",c(),o.push(...d);continue}if(l.raw.startsWith("<(")||l.raw.startsWith(">(")){c(),o.push(l.raw.startsWith("<(")?tt("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...d,...l.raw.endsWith(")")?[tt(")")]:[]);continue}let f=l.raw.startsWith("$((")?2:1;s+="${}",c(),o.push(...Array.from({length:f},()=>tt("(")),...d,...l.raw.endsWith(")".repeat(f))?Array.from({length:f},()=>tt(")")):[])}return c(),o}function du(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=Tb(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=Tb(e,s,t,n);o+=c.text,s=c.next;continue}i||=a==="*"||a==="?",o+=a,s++}return[...r,{text:o,glob:i}]}function Tb(e,t,n,r){let o=e[t+1];if(o==="{"){let s=uk(e,t+2);if(s===-1)return r.invalid=!0,{text:"",next:e.length};let a=e.slice(t,s+1);return lk(a,n,r),{text:a,next:s+1}}if(o!==void 0&&rk.test(o))return{text:`\${${o}}`,next:t+2};let i=/^\w*/.exec(e.slice(t+1))?.[0]??"";return{text:`\${${i}}`,next:t+1+i.length}}function lk(e,t,n){let r=e.slice(2,-1),o=/^[A-Za-z_][A-Za-z0-9_]*/.exec(r)?.[0];if(!o)return;let i=r.slice(o.length),s=[":=","="].find((c)=>i.startsWith(c));if(!s)return;let a=du(i.slice(s.length),{...t},n);n.assignmentFallbacks.push(...a.flatMap((c)=>typeof c==="string"||!c.text?[]:[c.text]))}function uk(e,t){let n=1,r=t;while(n>0&&r<e.length){if(e[r]==="{"&&e[r-1]==="$")n++;else if(e[r]==="}")n--;r++}return n===0?r-1:-1}function dk(e){return/^[\r\n]+$/.test(e)?";":e}function tt(e){return Object.freeze({kind:"operator",operator:e,boundary:tk.has(e)})}function Is(e){return Object.freeze({kind:"operator",operator:e,boundary:!0})}function fu(e){return Object.freeze({kind:"word",text:e})}function mk(e){if(e==="<<"||e==="<<<")return"here-data";if(e==="<"||e==="<&")return"file-read";return"file-write"}function mu(e){return e.nodes.flatMap((t,n)=>{if(t.kind==="group"||t.kind==="function")return mu(t.body);if(t.kind!=="command")return[];let r=t.nested.flatMap((s)=>mu(s)),o=e.nodes[n+1];if(o?.kind==="connector"&&(o.operator==="|"||o.operator==="|&")||!gk(t))return r;return[...r,...t.redirections.flatMap((s)=>s.heredoc?.quotedDelimiter?[s.heredoc.bodySpan]:[])]})}function fk(e,t){let n=As(e);return n===void 0?void 0:t.get(n)}function Yt(e,t){return e!==void 0&&e.provenance==="literal"&&!e.quoted&&e.raw===e.text&&e.text===t}function pk(e){if(Yt(e.words[0],"git"))return Yt(e.words[1],"commit");if(!Yt(e.words[0],"gh")||!Yt(e.words[2],"create"))return!1;return Yt(e.words[1],"pr")||Yt(e.words[1],"issue")}function gk(e){return(Yt(e.words[0],"cat")||Yt(e.words[0],"tee")||pk(e))&&!e.words.some(Ib)&&!e.redirections.some((n)=>Ib(n.target))}function Ib(e){return e?.parts.some((t)=>t.provenance==="command-substitution"&&t.raw.startsWith(">("))??!1}import{types as hk}from"util";var yk=new Set(["applypatch","patch"]),bk=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),vk=new Set(["grep","grepsearch","rg"]),Sk=new Set(["find","findbyname","glob"]),xk=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),_k=new Set(["command","diff","input","patch","patchtext"]),Db=new TextEncoder,Ck=new TextDecoder,Rk=/\s/,wk=64;class Mt extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var yo=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function Fb(e){return e.replace(/[-_\s]/g,"").toLowerCase()}function zs(e){return xk.has(Fb(e))}function yu(e){let t=Fb(e);if(yk.has(t))return"patch";if(vk.has(t))return"grep";if(Sk.has(t))return"glob";if(bk.has(t))return"path";return"unknown"}function vo(e){if(!e||typeof e!=="object")return;jb(e);let t=Object.getOwnPropertyDescriptor(e,"command");if(!t){if("command"in e)mt();return}if(t.get||t.set)mt();let n=t.value;return typeof n==="string"&&n!==""?n:void 0}function bu(e,t){return Gb(e,t,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function Gb(e,t,n,r){let o=Ub(e,n,r);if(!o)return[];let i=o.entries.flatMap(([s,a])=>{let c=Gb(a,t,n,r+1);return typeof a==="string"&&t.has(Zb(s))?[a]:c});return n.ancestors.delete(o.object),i}function Zb(e){return e.replace(/-/g,"_").toLowerCase()}function vu(e){return Bb(e,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(Pk)}function Bb(e,t,n,r){let o=Ub(e,n,r);if(typeof e==="string")return t?[e]:[];if(!o)return[];let i=o.entries.flatMap(([s,a])=>Bb(a,o.array?t:_k.has(Zb(s)),n,r+1));return n.ancestors.delete(o.object),i}function Ek(e,t,n){if(t.nodes++,e!==null&&typeof e==="object"&&n>yo.maxDepth||t.nodes>yo.maxNodes)mt();if(typeof e!=="string")return;let r=Buffer.byteLength(e);if(t.stringBytes+=r,r>yo.maxStringBytes||t.stringBytes>yo.maxAggregateStringBytes)mt()}function Ub(e,t,n){if(Ek(e,t,n),!e||typeof e!=="object")return null;let r=jb(e);if(t.ancestors.has(e))mt();let o=Reflect.ownKeys(e);if(t.keys+=o.length,t.keys>yo.maxKeys)mt();let i=o.flatMap((s)=>{let a=Object.getOwnPropertyDescriptor(e,s);if(!a||a.get||a.set)mt();return typeof s==="string"&&a.enumerable?[[s,a.value]]:[]});return t.ancestors.add(e),{object:e,array:r,entries:i}}function jb(e){if(hk.isProxy(e))mt();let t=Array.isArray(e),n=Object.getPrototypeOf(e);if(t&&n!==Array.prototype||!t&&n!==Object.prototype&&n!==null)mt();return t}function mt(){throw new Mt}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(...pu(l));continue}if(o)continue;if(l.startsWith("diff --git ")){t.push(...pu(l));continue}if(l.startsWith("--- ")){let u=n[c+1]??"";if(!u.startsWith("+++ "))continue;t.push(...hu(Os(l.slice(4),!0),Os(u.slice(4),!0))),c++;continue}if(!r)t.push(...pu(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 pu(e){let t=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec(e);if(t?.[1])return Wb(t[1]);let n=/^\*\*\* Move to: (.+)$/.exec(e);if(n?.[1])return Wb(n[1]);if(e.startsWith("diff --git "))return Ak(e.slice(11));let r=/^--- (.+)$/.exec(e);if(r?.[1])return Lb(r[1]);let o=/^\+\+\+ (.+)$/.exec(e);if(o?.[1])return Lb(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 hu(t[0],t[1]);let n=Ik(e);return n?hu(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(_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=Hb(e,n,r);if(!o)return[];t.push(o.value),n=o.end}while(_n(e[n]))n++;return n===e.length?t:[]}function Ik(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>wk)mt();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(gu(e,t,n,r,o))return!0;let i=$b(e,"/",t,n),s=$b(e,"/",r,o);if(i<=t||s<=r)return!1;if(gu(e,t,i,r,s))return!1;return gu(e,i+1,n,s+1,o)}function gu(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 $b(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&&Rk.test(e)}function Hb(e,t,n){let r=[],o=t+1;while(o<e.length){let i=e[o]??"";if(i===n)return{value:Ck.decode(Uint8Array.from(r)),end:o+1};if(i!=="\\"||n==="'"){r.push(...Db.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(...Db.encode(zk(s[0]??""))),o+=2}return null}function zk(e){return{a:"\x07",b:"\b",f:"\f",n:`
|
|
49
|
+
`,r:"\r",t:"\t",v:"\v"}[e]??e}function Nk(e){return bo(Mk(e))}function hu(e,t){if(e==="/dev/null")return Mb(t);if(t==="/dev/null")return Mb(e);if(e.startsWith("a/")&&t.startsWith("b/"))return[e.slice(2),t.slice(2)].flatMap(bo);let n=Dk(e,t)??(e===t?Vb(e):null);return[e,t,...n?[n]:[]].flatMap(bo)}function Mb(e){let t=Vb(e);return[e,...t?[t]:[]].flatMap(bo)}function Vb(e){let t=e.indexOf("/");return t>0&&t<e.length-1?e.slice(t+1):null}function 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 Lb(e){return Nk(Os(e,!0))}function $k(e){return bo(Os(e,!1))}function Os(e,t){let n=e.trim(),r=n[0]==='"'||n[0]==="'"?n[0]:void 0;if(r){let o=Hb(n,0,r);if(o&&(t||n.slice(o.end).trim()===""))return o.value}return t?n.split("\t",1)[0]?.trim()??"":n}function Mk(e){return e.startsWith("a/")||e.startsWith("b/")?e.slice(2):e}function bo(e){return e===""||e==="/dev/null"?[]:[e]}function Wb(e){let t=e.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return t===""||t==="/dev/null"?[]:[t]}var qb=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),Kb=new Set([...qb,"glob"]),Wk=new Set([...Kb,"pattern"]),Fk=[],Yb={parseCommand:et,projectShellSyntax:Ob};class ft extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function Ns(e,t={}){let n=Gk({...Yb,...t}),r=vo(e.input),o=[];if((e.route.kind==="command"||e.route.kind==="unknown")&&r)o.push({usage:"input-candidate",source:r});if(e.route.kind==="command"&&"command"in e&&e.command)o.push({usage:"declared-command",source:e.command});let i=o.reduce((s,a)=>{let c=s.findIndex((d)=>d.source===a.source);if(c!==-1){let d=s[c];if(!d)return s;return s[c]={...d,usages:[...d.usages,a.usage]},s}let l=e.route.kind==="command"?e.route.shell:"posix",u=n.getCommandProgram(a.source,l);return s.push({usages:[a.usage],source:a.source,program:u,shell:n.getShellSyntax(a.source,u)}),s},[]);return{invocation:{toolName:e.toolName,route:e.route,context:e.context},commands:i,paths:Zk(e),store:n}}function Ne(e,t){return e.commands.find((n)=>n.usages.includes(t))}function pt(e){if(!e.includes("$"))return e;return Zi(e,Ot())}function Gk(e={}){let t={...Yb,...e},n=new Map,r=new Map,o=new WeakMap,i=(a,c)=>{let l=`${c}\x00${a}`,u=r.get(l);if(u)return u;let d=t.parseCommand(a,c);return r.set(l,d),d};return{getShellSyntax:(a,c)=>{if(c&&c.source!==a)throw TypeError("Shell syntax source does not match command program source.");let l=c??i(a,"posix");if(l.status==="limited"){let f=o.get(l);if(f)return f;let m={status:"structural-limit",source:a,entries:Fk,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 Zk(e){let t=e.route.kind==="grep"?Kb:e.route.kind==="glob"?Wk:qb;return[...bu(e.input,t),...e.route.kind==="patch"?vu(e.input):[]]}function Re(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 Bk=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),Uk=new Map([["zsh",new Set(["o"])]]),jk=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function Jb(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(r===void 0||r==="--"||r==="-"||r[0]!=="-"&&r[0]!=="+")return null;if(r.startsWith("--")){let s=jk.get(e);if(Vk(r,s))continue;if(!s?.has(r))continue;if(t[n+1]===void 0)return null;n++;continue}let o=Hk(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 Hk(e,t){let n=Bk.get(e),r=Uk.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 Vk(e,t){return t!==void 0&&[...t].some((n)=>e.startsWith(`${n}=`))}var Jk=new Set(["-S","--suffix"]);function Ds(e,t,n,r){if(e.status==="structural-limit")throw new ft;if(e.status!=="complete")return r.findMalformedTarget(e.source);let o={cwd:t,variables:new Map},i=[];for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;let a=r.findSegmentTarget(i,o);if(a)return a;o=Xk(i,o,n,r.normalizeCwd),i=[];continue}if(s.kind==="redirection"){if(s.role==="file-write"&&s.target&&r.isRedirectionTarget(De(s.target,o.variables),o))return s.target;continue}i.push(s.text)}return r.findSegmentTarget(i,o)}function De(e,t){return e.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(n,r,o,i)=>{let s=t.get(r);if(s===void 0)return n;let a=o.startsWith(":")?s!=="":!0;if(o.endsWith("-"))return a?s:De(i,t);return a?De(i,t):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(n,r)=>t.get(r)??n).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(n,r)=>t.get(r)??n)}function So(e){return e.length>0&&e.every((t)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t))}function Qb(e,t,n){let r=n.environment.home,o=Zi(e.trim(),n.environment).replace(/\\/g,"/");if(!o)return"";let i=o==="~"?r:o.startsWith("~/")?Xb(r,o.slice(2)):o;return Yk(Kk(i)?i:Xb(t,i))}function ve(e,t,n){let r=Qb(e,t,n);if(!r)return"";return Y(r,n.environment.paths,n).replace(/\\/g,"/")}function ev(e,t,n,r){let o=Qb(e,t,n);if(!o)return null;if(r(qk(o)))return Y(o,n.environment.paths,n).replace(/\\/g,"/");let i=my(o,n.environment.paths,n);return i===null?null:i.replace(/\\/g,"/")}function $s(e){let t=[],n=null,r=!1;for(let o=0;o<e.length;o++){let i=e[o];if(i===void 0)break;if(!r&&i==="--"){r=!0;continue}if(!r&&(i==="-t"||i==="--target-directory")){n=e[++o]??null;continue}if(!r&&i.startsWith("--target-directory=")){n=i.slice(19);continue}if(!r&&i.startsWith("-t")&&i.length>2){n=i.slice(2);continue}if(!r&&Jk.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 Xk(e,t,n,r){let o=So(e)?new Map([...t.variables,...Qk(e,t.variables)]):t.variables,i=or([...e],n.environment),s=G(i[0]??"").toLowerCase()==="cd"?i[1]:void 0;return{cwd:!s||s==="-"?t.cwd:r(De(s,o),t.cwd,n),variables:o}}function Qk(e,t){return e.flatMap((n)=>{let r=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(n),o=r?.[2]?.startsWith("=")?r[2].slice(1):void 0;return r?.[1]!==void 0&&o!==void 0?[[r[1],De(o,t)]]:[]})}var He="Git metadata and hooks are protected. Ask the user before modifying them.";function ov(e,t=xu(e.invocation.context.executionCwd)){let n=gn(Ot()),r=e.invocation.context.executionCwd;if(!t)return null;if(e.invocation.route.kind==="patch"||e.invocation.route.kind==="path"||e.invocation.route.kind==="unknown"){if(zs(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=Ne(e,"input-candidate");if(!o)return null;let i=Ds(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 xu(e,t=gn(Ot())){if(typeof e!=="string"||!e)return null;let n=oo(ve(e,e,t));if(!n)return null;try{let r=ve(n,e,t),o=eA(n),i=o.isFile()?r:null,s=o.isFile()?Bl(n):null,a=(o.isDirectory()?[r]:[s?.gitDir,s?.commonDir]).flatMap((l)=>l?[gt(ve(l,e,t))]:[]),c=[...new Set(o.isDirectory()?[gt(n.replace(/\\/g,"/")),...a]:a)];return Object.freeze({entry:gt(r),markerFile:i?gt(i):null,directories:Object.freeze(c),hooksDirectories:Object.freeze([...new Set(c.flatMap((l)=>{let u=gt(tA(l,"hooks"));return[u,gt(ve(u,e,t))]}))])})}catch{return null}}function Cn(e,t,n,r,o,i=!1){if(!n)return!1;let s=gt(ve(e,t,o)),a=s.replace(/(\/\.?\*+)+$/,"");if(a!==s&&a!==""){if(Su(a,n))return!0;let c=i||s.slice(a.length).includes("/."),l=(u)=>c?Ms(u,a):nA(u,a);if(n.markerFile&&l(n.markerFile))return!0;return r&&tv(n).some(l)}if(Su(s,n))return!0;return r&&tv(n).some((c)=>Ms(c,s))}function nA(e,t){let n=rv(t,e);if(n===""||n.startsWith("..")||nv(n))return!1;return!n.split(/[\\/]/)[0]?.startsWith(".")}function rA(e,t,n,r){return Cn(e,t,n,!0,r)}function oA(e,t,n,r){if(!n)return!1;return Su(gt(ve(e,t,r)),n)}function iA(e,t,n,r){if(!n)return!1;return iv(e,t,n,r,n.entry)}function sA(e,t,n,r){if(!n)return!1;return iv(e,t,n,r,n.markerFile)}function iv(e,t,n,r,o){let i=gt(ve(e,t,r));return i===o||av(i,n)}function sv(e,t,n,r){if(!n)return!1;return n.hooksDirectories.some((o)=>e.some((i)=>Ms(o,gt(ve(i,t,r)))))}function Su(e,t){return e===t.entry||t.directories.includes(e)||av(e,t)}function av(e,t){return t.hooksDirectories.some((n)=>Ms(e,n))}function tv(e){return[e.entry,...e.directories,...e.hooksDirectories]}function Ms(e,t){let n=rv(t,e);return n===""||!/^\.\.(?:[\\/]|$)/.test(n)&&!nv(n)}function gt(e){return process.platform==="win32"?e.toLowerCase():e}function aA(e,t,n,r){if(So(e))return null;let o=Kt([...e],r.environment);if(G(o[0]??"").toLowerCase()!=="mv")return null;let i=$s(o.slice(1)),s=i.sources.find((a)=>rA(De(a,t.variables),t.cwd,n,r));if(s)return s;return i.destination&&oA(De(i.destination,t.variables),t.cwd,n,r)?i.destination:null}import{isAbsolute as _u,join as cA,normalize as lA,sep as Ls}from"path";var cv=process.platform==="win32",uA=/[*?]/;function xo(e,t){if(e==="~")return t;if(e.startsWith("~/"))return`${t}${e.slice(1)}`;return e}function Fs(e,t){if(typeof e!=="string"||e.trim()==="")return"must be a non-empty path string";let n=xo(e.trim(),t);if(!_u(n))return"must be an absolute path or start with ~/";return _o(n,t)}function Gs(e,t){let n=lv(e,t);if(n===null)return"must be a non-empty path string";if(!_u(n))return null;if(_o(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 lv(e,t){if(typeof e!=="string"||e.trim()==="")return null;return xo(e.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),t)}function Zs(e,t){let n=lv(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(!_u(n))return null;if(_o(n,t)!==null)return dA;return fA(n,t)?mA:null}function fA(e,t){let n=Ws(e),r=Ws(cA(t,".cc-safety-net"));return n===r||n.startsWith(`${r}${Ls}`)}function _o(e,t){let n=Ws(e),r=Ws(t);if(n===r)return"cannot be the home directory";let o=n.endsWith(Ls)?n:`${n}${Ls}`;if(r.startsWith(o))return"cannot contain the home directory";return null}function Ws(e){let t=lA(e);if(cv)t=t.replace(/\//g,"\\").toLowerCase();if(t.length>(cv?3:1)&&t.endsWith(Ls))t=t.slice(0,-1);return t}var hA=process.platform==="win32",uv=64,yA=16384;function Co(e){let t=yb(e,uv,uv,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 Rn(e){let t=e.environment.home,n=e.environment.paths,r=gn(e.environment);return{anchoredCwd:e.originalCwd??e.cwd??null,resolvedCwd:e.cwd??null,strict:e.strict??!1,paranoid:e.paranoid??!1,trustTmpdirVar:e.allowTmpdirVar??!0,posixShell:e.posixShell??!1,tmpdirWordSplittingUnsafe:e.tmpdirWordSplittingUnsafe??!1,trustedTmpdirValue:e.trustedTmpdirValue??e.allowTmpdirVar??!0,environment:e.environment,allowRoots:RA(e.allowPaths,t,n,r),protectedGitMetadata:e.protectedGitMetadata,pathCanonicalizationContext:r}}function nt(e,t,n={}){let r=n.targetIsLiteral??!1;if(!r&&t.tmpdirWordSplittingUnsafe&&!n.tmpdirWordSplittingProtected&&EA(e))return{kind:"outside_anchored_cwd"};let o=!r&&pv(e,t.posixShell);if(pn(e))return{kind:"outside_anchored_cwd"};if(Eu(e,r))return{kind:"root_or_home_target"};if(SA(e,t,r))return{kind:"root_or_home_target"};if(t.resolvedCwd&&Cn(e,t.resolvedCwd,t.protectedGitMetadata,!0,t.pathCanonicalizationContext,!t.posixShell))return{kind:"git_metadata_target"};if(xA(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(wA(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 mv(e,t,n={}){let{containmentTarget:r,...o}=n;if(nt(e,t,o).kind!=="temp_target")return!1;let i=e.trim();if(CA(i))return!1;if(Xy(i,t.environment))return!1;return![t.anchoredCwd,t.resolvedCwd].some((s)=>zA(r??i,s,t.environment.paths,t.pathCanonicalizationContext))}function Eu(e,t=!1){let n=e.trim(),r=dv.normalize(n),o=n.replace(/\\/g,"/"),i=r==="/"?r:r.replace(/\/+$/,"");if(i==="/"||i.startsWith("/")&&i.slice(1).split("/").every((s)=>/^\*+$/.test(s)))return!0;if(/^[A-Za-z]:\/+\*?$/.test(o)||/^\/\/[^/]+\/+[^/]+(?:\/+\*?)?$/.test(o))return!0;if(!t&&(r==="~"||r==="~/"||r==="~/*"))return!0;if(!t&&(r==="$HOME"||r==="$HOME/"||r==="$HOME/*"))return!0;if(!t&&(r==="${HOME}"||r==="${HOME}/"||r==="${HOME}/*"))return!0;return!1}function 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=wu(o)?o:t.resolvedCwd?cr(t.resolvedCwd,o):null;if(!i)return!1;let s=we(Y(i,t.environment.paths,t.pathCanonicalizationContext));if(s===gA(s).root)return!0;return s===we(Y(t.environment.home,t.environment.paths,t.pathCanonicalizationContext))}catch{return!1}}function we(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 xA(e,t,n,r,o,i,s,a){let c=e.trim();if(fv(c))return!1;if(!r&&Kl(c,a))return!0;return(t||i&&s)&&n&&!o&&_A(c,n)}function _A(e,t){return["$TMPDIR","${TMPDIR}"].some((n)=>{if(e===n)return!0;if(!e.startsWith(`${n}/`))return!1;return!pv(e.slice(n.length+1),t)})}function CA(e){let t=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec(e);if(!t)return!1;return dv.normalize(`/${t[1]??""}`)==="/"}function fv(e){return e.split(/[\\/]+/).includes("..")}function RA(e,t,n,r){if(!e?.length)return[];return e.flatMap((o)=>{let i=xo(o.trim(),t);if(!wu(i))return[];try{let s=Y(i,n,r);if(_o(s,Y(t,n,r)))return[];return[we(s)]}catch{return[]}})}function wA(e,t,n){if(t.allowRoots.length===0)return!1;let r=e.trim();if(fv(r))return!1;let o=n?r:xo(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=we(Y(s,t.environment.paths,t.pathCanonicalizationContext));return t.allowRoots.some((c)=>a===c||a.startsWith(c.endsWith(Ru)?c:`${c}${Ru}`))}catch{return!1}}function EA(e){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(e)}function pv(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 we(Y(e,n,r))===we(Y(t,n,r))}catch{try{return we(e)===we(t)}catch{return!1}}}function IA(e,t,n,r){if(e==="."||e==="./"||e===".\\")return!0;try{return we(Y(cr(t,e),n,r))===we(Y(t,n,r))}catch{try{return we(cr(t,e))===we(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 Cu(e,t,i,s)}catch{return!1}if(e.startsWith("./")||e.startsWith(".\\")||!e.includes("/")&&!e.includes("\\"))try{return Cu(cr(a,e),t,i,s)}catch{return!1}if(e.startsWith("../"))return!1;try{return Cu(cr(a,e),t,i,s)}catch{return!1}}function Cu(e,t,n,r){try{return gv(Y(e,n,r),Y(t,n,r))}catch{return!1}}function zA(e,t,n,r){if(!t)return!1;try{return gv(Y(t,n,r),Y(e,n,r))}catch{return!0}}function gv(e,t){let n=we(e),r=we(t);return n.startsWith(`${r}${Ru}`)||n===r}var NA=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),hv="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",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.",yv="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",bv="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",$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 vv(e,t,n,r=Rn({...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(KA(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(!pn(c.text)&&Eu(ku(c.text)))return S(a.recursive&&a.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",bv);for(let c of a.targets)if(n.resolvedCwd&&Cn(ku(c.text),n.resolvedCwd,n.protectedGitMetadata,a.recursive,n.pathCanonicalizationContext,!0))return S("powershell.remove-item-git-metadata",He);if(!a.recursive||!a.force)return null;if(ue(r,"powershell.remove-item-recursive-force-dynamic-target",n.strict)&&(a.hasDynamicTarget||a.targets.length===0))return S("powershell.remove-item-recursive-force-dynamic-target",yv);for(let c of a.targets){let l=YA(nt(ku(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(Pu(c)),i=i||c.dynamic;continue}if(c.text==="--"){s=!0;continue}let l=BA(c.text);if(!l){t.push(Pu(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(Pu(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=qA(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 Pu(e){return{text:e.kind==="word"?e.text:"",dynamic:e.kind==="word"&&e.dynamic}}function GA(e){return e.kind==="word"&&e.text===","}function ku(e){let t=e.replace(/\\/g,"/"),n=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(t);return n?`$HOME${t.slice(n[0].length)}`:t}function 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 qA(e){if(e===void 0||e==="")return!0;let t=e.toLowerCase();return t==="$true"||t==="true"}function KA(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",bv);case"git_metadata_target":return S("powershell.remove-item-git-metadata",He);case"temp_target":return null;case"dynamic_target":if(!ue(n,"powershell.remove-item-recursive-force-dynamic-target",t.strict))return null;return S("powershell.remove-item-recursive-force-dynamic-target",yv);case"home_cwd_target":return S("powershell.remove-item-recursive-force-home-cwd",$A);case"cwd_self_target":return S("powershell.remove-item-recursive-force-cwd-self",hv);case"within_anchored_cwd":if(!ue(n,"powershell.remove-item-recursive-force-paranoid",t.paranoid))return null;return S("powershell.remove-item-recursive-force-paranoid",DA);case"outside_anchored_cwd":return S("powershell.remove-item-recursive-force-outside-cwd",hv)}}import{normalize as oa}from"path";var $e=new Set(["awk","gawk","nawk","mawk"]),JA=new Set(["-e","--source"]),XA=new Set(["-F","-v","--assign","--field-separator"]),Sv=new Set(["-f","--file"]),QA=new Set(["print","printf","return"]),xv=[{selector:"-e",kind:"inline-code",valueForm:"attached-or-separate"},{selector:"--source",kind:"inline-code",valueForm:"equals-or-separate"},{selector:"-f",kind:"program-file",valueForm:"attached-or-separate"},{selector:"--file",kind:"program-file",valueForm:"equals-or-separate"}],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 js(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 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&&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)||Sv.has(a))){if(Sv.has(a)){r=!0;let c=e[s+1];if(c!==void 0)t.push({tokenIndex:s+1,kind:"program-file",value:c});else i=!1}else if(e[s+1]===void 0)i=!1;s++;continue}if(o&&(a.startsWith("-F")||a.startsWith("-v")&&a.slice(2).includes("=")))continue;if(o&&a.startsWith("-f")&&a.length>2){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(2)});continue}if(o&&(a.startsWith("--assign=")||a.startsWith("--field-separator=")))continue;if(o&&a.startsWith("--file=")){r=!0,t.push({tokenIndex:s,kind:"program-file",value:a.slice(7)});continue}if(o&&a.startsWith("-")&&a!=="-")continue;if(o=!1,!n&&!r)t.push({tokenIndex:s,kind:"main-program",value:a});return{sources:t,optionsOpen:!1}}return{sources:i?t:[],optionsOpen:o&&i}}function wo(e){return Tu(e).sources}function tT(e){return wo(e).filter((t)=>t.kind!=="program-file").map((t)=>t.value)}function nT(e,t){Te(t,e);let n=e.includes("system")?Iu(e,t):null,r=rT(e,t);if(!n&&!r)return null;return{dynamic:!!n?.dynamic||!!r?.dynamic,commands:[...n?.commands??[],...r?.commands??[]]}}function Iu(e,t){Te(t,e);let n=[],r=!1,o=!1,i=0;while(i<e.length){let s=e[i];if(s==='"'||s==="'"){i=Us(e,i,s)?.endIndex??i+1;continue}if(s==="#"){i=_v(e,i+1);continue}if(s==="/"&&Cv(e,i)){i=Rv(e,i+1)??i+1;continue}if(!e.startsWith("system",i)){i++;continue}let a=i;if(i+=6,Ro(e[a-1])||Ro(e[i]))continue;let c=Bs(e,i);if(e[c]!=="(")continue;c=Bs(e,c+1);let l=e[c];if(l!=='"'&&l!=="'"){r=!0,o=!0;continue}let u=Us(e,c,l);if(!u){r=!0,o=!0;continue}if(c=Bs(e,u.endIndex),r=!0,e[c]!==")"){o=!0,i=u.endIndex;continue}n.push(u.value),i=c+1}if(!r)return null;return{dynamic:o,commands:n}}function rT(e,t){Te(t,e);let n=[],r=!1,o=!1,i=0,s=0,a=null,c=null,l=0;while(i<e.length){let u=e[i];if(!u)break;if(u==='"'||u==="'"){let m=Us(e,i,u);if(m&&l===s)c={...m,startIndex:i};l=m?.endIndex??i+1,i=m?.endIndex??i+1;continue}if(u==="#"){i=_v(e,i+1),s=i,a=null,c=null,l=i;continue}if(u==="/"&&Cv(e,i)){let m=Rv(e,i+1);l=m??i+1,i=m??i+1;continue}if(`;
|
|
50
|
+
{}`.includes(u)){i++,s=i,a=null,c=null,l=i;continue}if(a===null&&(Au(e,i,"print")||Au(e,i,"printf")))a=i;if(u!=="|"||e[i-1]==="|"||e[i+1]==="|"){if(!/\s/.test(u))l=i+1;i++;continue}let d=e[i+1]==="&"?i+2:i+1,f=Bs(e,d);if(Au(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 Ro(e){return!!e&&/[A-Za-z0-9_]/.test(e)}function Bs(e,t){let n=t;while(/\s/.test(e[n]??""))n++;return n}function oT(e,t){let n=t;while(/[\t\f\v\r ]/.test(e[n]??""))n++;let r=e[n];return!r||`;
|
|
51
51
|
}#`.includes(r)}function Us(e,t,n){let r="",o=!1;for(let i=t+1;i<e.length;i++){let s=e[i];if(!s)break;if(o){let a=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 Us(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:`
|
|
52
|
-
`,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function
|
|
53
|
-
`,t);return n===-1?e.length:n+1}function Cv(e,t){let n=lT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(wo(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 wv(e,t){let n=!1;for(let r=t;r<e.length;r++){let o=e[r];if(!o)break;if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(o==="/")return r+1}return null}var Rv=new Set(["rm","find","xargs","parallel"]),uT=new Set(["sudo","env","command","builtin"]),dT=new Set(["git","busybox",...Rv,...de,...Zy,...$e]);function Hs(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(G(n)))return null;let r=G(n),o=e[1]==="--"?2:1,i=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)||Rv.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||Oe(r)||$e.has(r)||t.rules.some((o)=>o.command===n)}function Rn(e){return uT.has(e.toLowerCase())}function Ev(e){let t=H(e);return dT.has(t)||Oe(t)}function rt(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Vs([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Vs(e,t,n,r,o,i,s,a,c){let l=gs(e,t,n,i);for(let[m,p]of l.envAssignments)i.set(m,p),o.set(m,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let m=ps(l.envSplitValues,u);if(!m)throw new Ie;Iu(a),yield*Vs(m,t,d,r,o,i,s,a,c);return}if(Rn(u[0]??""))throw new Ie;let f=Hs(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])Iu(a),yield*Vs(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(gT(u)){Iu(a),yield*Vs([...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 Iu(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function gT(e){return G(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function Ou(e,t){let n=[],r=t;while(r<e.length){let o=e[r];if(o===void 0||o===":::")break;n.push(o),r++}return{markerIndex:r<e.length&&e[r]===":::"?r:-1,templateTokens:n}}function ot(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||zu(r,"recursive"))t=!0;else if(r==="-f"||zu(r,"force"))n=!0;else if(r.startsWith("-")&&!r.startsWith("--")){if(r.includes("r")||r.includes("R"))t=!0;if(r.includes("f"))n=!0}}return t&&n}function Pv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>zu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function zu(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(Ys(n,1)&&!_T(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=Jt(s??"");if(a>0){i+=a+1;continue}if(!Lt(s)){i++;continue}Je(o,n.length-i-1);let c=Eo(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(!Ys(t,1)&&!Nu(t,n.environment))return null;let o=Ks(e)??j(["."]),i=wn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=Co(s);for(let c of a.expandedTargets??[N(s)]){let l=nt(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home","rm -rf targeting root or home directory is extremely dangerous and always blocked.");if(l.kind==="git_metadata_target")return S("find.delete-git-metadata",He)}}if(xT(t)&&i.resolvedCwd&&sv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",He);return null}function Nu(e,t){let n=0;while(n<e.length){if(!Lt(e[n])){n++;continue}let r=Eo(e,n),o=Kt([...r.tokens],t),i=G(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function xT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function _T(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Ks(e);if(!r)return!1;let o=n.envAssignments??new Map,i=Vl(o,n.environment),s=n.trustedTmpdirValue??$t(o,n.environment),a=n.allowTmpdirVar??!lo(o,n.environment),c=wn({environment:n.environment,protectedGitMetadata:n.protectedGitMetadata,cwd:n.cwd,originalCwd:n.originalCwd,strict:n.strict,allowTmpdirVar:a&&s&&Boolean(i),allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:n.tmpdirWordSplittingUnsafe??dt(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=Co(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>mv(d,c,{containmentTarget: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 Ks(e){let t=(o)=>{let i=e[o];return i?N(i):void 0},n=1;while(t(n)==="-H"||t(n)==="-P")n++;if(t(n)==="--")n++;let r=[];while(n<e.length){let o=t(n),i=e[n];if(!o||!i||o.startsWith("-")||["!","(",")"].includes(o))break;r.push(i),n++}return r.length>0?r:null}function wT(e,t){let n=or([...e],t);if(n.length===0)return null;let r=G(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=G(n[0]??"");if(r==="rm"&&ot(n))return S("find.exec-rm-recursive-force",yT);return null}function Eo(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Ys(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Lt(r)){n=Eo(e,n).nextIndex;continue}let o=Jt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Jt(e){return vT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Lt(e){return e!==void 0&&bT.has(e)}function Po(e){let t=et(e,"posix");if(t.status!=="complete"||t.nodes.length!==1)return null;let n=t.nodes[0];if(n?.kind!=="command")return null;if(n.redirections.length>0||n.nested.length>0)return null;if(n.words.some((r)=>r.provenance==="command-substitution"))return null;return n.words.map((r)=>r.text)}var RT=5,Du="Git aliases supplied through command-line or environment config can hide or execute commands. Run git without Git alias overrides, or ask the user to run it manually.";function Se(e){let t=e.indexOf("--");if(t===-1)return{index:-1,before:e,after:[]};return{index:t,before:e.slice(0,t),after:e.slice(t+1)}}function Av(e,t,n){let r=Iv(e,t,n),o=ET(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<RT;a++){let{subcommand:c,rest:l}=it(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=IT(d);if(f===null||f.length===0)return{blockedReason:Du,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:Du,expanded:!0,tokens:i}}function Tv(e,t,n){return Iv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function it(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?G(t).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--"){let i=e[r+1];if(i&&!i.startsWith("-"))return{subcommand:i,rest:e.slice(r+2)};return{subcommand:null,rest:e.slice(r+1)}}if(o.startsWith("-"))if(ut.has(o))r+=2;else if(o.startsWith("-c")&&o.length>2)r++;else if(o.startsWith("-C")&&o.length>2)r++;else r++;else return{subcommand:o,rest:e.slice(r+1)}}return{subcommand:null,rest:[]}}function ET(e){let t=new Map;for(let n of e){let r=n.key.toLowerCase();if(!r.startsWith("alias."))continue;let o=r.slice(6);if(o!=="")t.set(o,n.value)}return t}function Iv(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?G(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=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=$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=kv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=kv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(ut.has(i)){o+=2;continue}o++}return r}function kT(e,t){let n=AT(e,t),r=TT(e,t);return{blockedReason:n===null||r===null?Du:null,entries:[...n??[],...r??[]]}}function AT(e,t){let n=Ue("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=Po(n);if(!o)return null;for(let i of o){let s=$u(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=Ue(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function $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 kv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:Ue(e.slice(r+1),t,n)}}function IT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return Po(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.",qT="git branch -D force-deletes without merge check. Use -d for safe delete.",KT="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.",Ov=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),zv=new Set(["--recurse-submodules","--track","-t"]),Mu=new Set(["-b","-B","-U"]),Lu=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 lr=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Dv(e){let{subcommand:t,rest:n}=it(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Xt(oI(n));case"switch":return Xt(iI(n));case"restore":return Xt(aI(n));case"reset":return lI(n);case"clean":return Xt(dI(n));case"rm":return Xt(mI(n));case"push":return En(fI(n));case"branch":return En(hI(n));case"stash":return En(xI(n));case"worktree":return En(_I(n));case"rebase":return Xt(yI(n));case"merge":return Xt(bI(n));case"tag":return En(vI(n));case"reflog":return En(SI(n));default:return null}}function Xt(e){return e?{...e,localDiscard:!0}:null}function En(e){return e?{...e,localDiscard:!1}:null}function oI(e){let{index:t,before:n}=Se(e),r=we(n,{shortOptsWithValue:Mu});if(n.some((i)=>B(i,"--force"))||r.has("-f"))return S("git.checkout-force",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:Lu});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(Ov.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(zv.has(r)){let o=e[n+1];if(o&&!o.startsWith("-")&&(r==="--recurse-submodules"||r==="--track"||r==="-t"))if((r==="--recurse-submodules"?["checkout","on-demand"]:["direct","inherit"]).includes(o))n+=2;else n++;else n++}else if(r.startsWith("--")&&!rI.has(r)&&!Ov.has(r)&&!zv.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)?En(t):Xt(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")||Nv(t,n).some(pI))return S("git.push-force",jT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Nv(t,n).some(gI))return S("git.push-delete",HT);return null}function Nv(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",qT);return null}function yI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",KT):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 xI(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 _I(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"child_process";import{existsSync as Fu,readFileSync as Gu}from"fs";import{dirname as wI,isAbsolute as Lv,join as Wu,resolve as Wv}from"path";var RI=["/usr/bin/git","/usr/local/bin/git","/opt/homebrew/bin/git","C:\\Program Files\\Git\\cmd\\git.exe","C:\\Program Files\\Git\\bin\\git.exe"];function Fv(e,t,n,r){let o=EI(e,t,n);if(o!==null)return o;let i=PI(t,n);if(i!==null)return i;if(gy(n))return!0;return kI(r)}function EI(e,t,n){let r=null,o=1;while(o<e.length){let i=e[o];if(!i||i==="--")return r;if(!i.startsWith("-"))return r;if(i==="-c"){let s=$v(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=$v(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Mv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Mv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(ut.has(i))o+=2;else o++}return r}function PI(e,t){if(Ue("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=Ue(`GIT_CONFIG_KEY_${o}`,e,t),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Zu(a))return!0;if(a!=="submodule.recurse")continue;r=ko(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 ko(r)}catch(r){return!OI(r)}}function AI(e){let t=zI(e);if(t===null)return null;for(let n of t){if(!Fu(n))continue;if($I(n))return!0}return!1}function TI(){for(let e of RI)if(Fu(e))return e;return null}function II(e){let t={...e};for(let n of Object.keys(t))if(to(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=oo(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[Wu(r,"config"),Wu(n,"config.worktree")]}function NI(e){try{let n=Gu(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 Lv(r)?r:Wv(wI(e),r)}catch{return null}}function DI(e){let t=Wu(e,"commondir");if(!Fu(t))return e;try{let n=Gu(t,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(n==="")return null;return Lv(n)?n:Wv(e,n)}catch{return null}}function $I(e){let t;try{t=Gu(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=ko(l)}return r}function MI(e){return e==="include"||e.startsWith("includeif ")}function $v(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Zu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return ko(r)}function ko(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Mv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Zu(o))return!0;if(o!=="submodule.recurse")return null;let i=Ue(e.slice(r+1),t,n);return i===void 0||ko(i)}function Zu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Gv(e,t,n){if(!t.localDiscard||!n.worktreeMode||vy(n.env,n.envAssignments))return null;let r=Sy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!xy(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}=it(e),i=r?.toLowerCase();if(t.dynamicArguments||WI(o)||Fv(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:Mu}),o=n.some((s)=>B(s,"--force"))||r.has("-f"),i=r.has("-B")||n.some((s)=>s==="-B"||s.startsWith("-B"));return o&&i}if(e==="switch"){let{before:n}=Se(t),r=we(n,{shortOptsWithValue:Lu}),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 ur(e,t){return Zv(e.map(N),t)}function Zv(e,t,n){let r=Av(e,t.env,t.envAssignments),o=r.blockedReason?O(S("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((py(t.envAssignments)||Tv(e,t.env,t.envAssignments))&&HI(i))return S("git.ssh-env",UI);let s=Dv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Gv(e,s,t);if(!a)return s;return n?.(a),null}function Bv(e,t){let n=null;return{match:Zv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function HI(e){let{subcommand:t,rest:n}=it(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)=>!qI(t))?.toLowerCase()==="update"}function qI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as LO}from"path";var Uv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",KI="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.",Hv="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 dr(e,t){let n=wn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=ot(r),i=Pv(r),s=QI(e);for(let a of s){let c=Co(a.word);if(o&&c.unsafeBraceExpansion){let l=O(jv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&Cn(l,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",He);if(i&&!o){let d=nt(l,n,u);if(d.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",Hv);if(d.kind==="git_metadata_target")return S("rm.git-metadata",He);continue}if(!o)continue;for(let d of XI(l,n,u)){let f=jv(d,n,t.policy),m=O(f,t.policy);if(m)return m}}}return null}function XI(e,t,n){let r=nt(e,t,n);if(r.kind==="cwd_self_target")return[r,nt(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=nt(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,nt(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function 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 jv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",Hv);case"git_metadata_target":return S("rm.git-metadata",He);case"temp_target":return null;case"dynamic_target":if(!ue(n,"rm.recursive-force-dynamic-target",t.strict))return null;return S("rm.recursive-force-dynamic-target",YI);case"home_cwd_target":return S("rm.recursive-force-home-cwd",JI);case"cwd_self_target":return S("rm.recursive-force-cwd-self",Uv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",KI);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",Uv)}}var eO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},qv=new Set(["--init-file","--rcfile"]),tO=["--init-file","--rcfile"],nO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function ht(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return Vv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Vv(e,t,!1);if(r!==null)return r}}return null}function Ve(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return yt(e).syntaxCheck;let n=!1;for(let r of e.slice(1)){if(r==="--")return n;if(r.startsWith("+")&&!r.startsWith("++")){if(r.slice(1).includes("n"))n=!1;continue}if(!r.startsWith("-")||r.startsWith("--"))return n;let o=r.slice(1);if(o.includes("n"))n=!0;if(o.includes("c"))return n}return n}function Vv(e,t,n){if(e[t+1]==="--")return e[t+2]||null;let r=e[t+1];if(!r||!n&&r.startsWith("-"))return null;return r}function Kv(e){let t=G(e[0]??"").toLowerCase(),n=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=yt(e),r=n.commandIndex??n.scriptIndex??e.length,o=[],i=!1,s=!0;for(let a=1;a<r;a++){let c=e[a];if(c===void 0||c==="--"||c==="-"||c[0]!=="-"&&c[0]!=="+")break;if(c.startsWith("--")){if(t==="bash"&&s?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"&&qv.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=Yv(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function Yv(e,t,n,r){let o=!1,i=0,s=!1,a=!1,c=!1;for(let l=1;l<t.length;l++){let u=t[l];if(u===void 0)break;if(e==="ksh"&&u==="o"&&l+1<t.length){if(r==="argv"){let d=t.slice(l+1);if(t[0]==="-"&&(d==="c"||d[0]==="-"&&d.endsWith("c")))s=!0}break}if(e==="ksh"&&u==="o"&&l+1===t.length&&(n?.startsWith("-")||n?.startsWith("+")))break;if(e==="zsh"&&u==="o"&&l+1<t.length)break;if(r==="startup"&&u==="i")o=t[0]==="-";if(r==="argv"&&t[0]==="-"&&u==="c")s=!0;if(r==="argv"&&u==="n")c=t[0]==="-";if(r==="argv"&&u==="s")a=t[0]==="-";if(!eO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function yt(e){let t=G(e[0]??"").toLowerCase(),n=!1,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--"){let c=n&&e[i+1]!==void 0?i+1:null;return{command:c===null?null:e[c]??null,commandIndex:c,scriptIndex:!n&&!r&&e[i+1]!==void 0?i+1:null,readsStdinAsCommands:!n&&(r||e[i+1]===void 0),syntaxCheck:o}}if(s==="-"||s[0]!=="-"&&s[0]!=="+")return{command:n?s:null,commandIndex:n?i:null,scriptIndex:!n&&!r&&s!=="-"?i:null,readsStdinAsCommands:!n&&(r||s==="-"),syntaxCheck:o};if(s.startsWith("--")){let c=s.split("=",1)[0]??s;if(t==="bash"&&qv.has(c)&&!s.includes("="))i++;continue}let a=Yv(t,s,e[i+1],"argv");if(a.commandSelected)n=!0;if(a.syntaxCheck)o=!0;if(a.stdinMode)r=!0;i+=a.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!n,syntaxCheck:o}}var Qt={kind:"none"},Pn={kind:"dynamic"},oO=new Set(["<","<<","<<-","<<<","<&","<>"]),Xv=/\$(?:([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 Qv(e){if(!e||G(H(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
|
|
52
|
+
`,r:"\r",t:"\t",v:"\v"}[n]??n,endIndex:t}}function Au(e,t,n){return e.startsWith(n,t)&&!Ro(e[t-1])&&!Ro(e[t+n.length])}function cT(e,t){return t!==null&&t>=e}function _v(e,t){let n=e.indexOf(`
|
|
53
|
+
`,t);return n===-1?e.length:n+1}function Cv(e,t){let n=lT(e,t);if(n===-1)return!0;if("{([,;!~=".includes(e[n]??""))return!0;let r=n;while(Ro(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 Rv(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 wv=new Set(["rm","find","xargs","parallel"]),uT=new Set(["sudo","env","command","builtin"]),dT=new Set(["git","busybox",...wv,...de,...Zy,...$e]);function Hs(e,t){let n=e[0];if(!n||!t.transparentWrappers.includes(G(n)))return null;let r=G(n),o=e[1]==="--"?2:1,i=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"||wn(e)||wv.has(n)||t.transparentWrappers.includes(n)||de.has(r)||e==="$SHELL"||Oe(r)||$e.has(r)||t.rules.some((o)=>o.command===n)}function wn(e){return uT.has(e.toLowerCase())}function Ev(e){let t=H(e);return dT.has(t)||Oe(t)}function rt(e,t){let n=t.policy??{rules:[],transparentWrappers:[]};return Vs([...e],t.environment,t.cwd,t.cwd,new Map,new Map(t.envAssignments??[]),n,{iterations:0},!1)}function*Vs(e,t,n,r,o,i,s,a,c){let l=gs(e,t,n,i);for(let[m,p]of l.envAssignments)i.set(m,p),o.set(m,p);let{tokens:u,cwd:d}=l;if(l.envSplitValues){let m=ps(l.envSplitValues,u);if(!m)throw new Ie;Ou(a),yield*Vs(m,t,d,r,o,i,s,a,c);return}if(wn(u[0]??""))throw new Ie;let f=Hs(u,s);if(f){for(let m of[f.childIndex,...f.alternativeChildIndices])Ou(a),yield*Vs(m===f.childIndex?f.tokens:[...u.slice(m)],t,d,r,new Map(o),new Map(i),s,a,!0);return}if(gT(u)){Ou(a),yield*Vs([...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 Ou(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function gT(e){return G(e[0]??"").toLowerCase()==="busybox"&&e.length>1}function zu(e,t){let n=[],r=t;while(r<e.length){let o=e[r];if(o===void 0||o===":::")break;n.push(o),r++}return{markerIndex:r<e.length&&e[r]===":::"?r:-1,templateTokens:n}}function ot(e){let t=!1,n=!1;for(let r of e){if(r==="--")break;if(r==="-r"||r==="-R"||Nu(r,"recursive"))t=!0;else if(r==="-f"||Nu(r,"force"))n=!0;else if(r.startsWith("-")&&!r.startsWith("--")){if(r.includes("r")||r.includes("R"))t=!0;if(r.includes("f"))n=!0}}return t&&n}function Pv(e){let t=e.indexOf("--");return e.slice(1,t===-1?void 0:t).some((n)=>Nu(n,"recursive")||/^-[A-Za-z]+$/.test(n)&&/[rR]/.test(n.slice(1)))}function Nu(e,t){return e.length>2&&e.startsWith("--")&&t.startsWith(e.slice(2))}var 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(Ys(n,1)&&!_T(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=Jt(s??"");if(a>0){i+=a+1;continue}if(!Lt(s)){i++;continue}Je(o,n.length-i-1);let c=Eo(n,i);i=c.nextIndex;let l=RT(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(!Ys(t,1)&&!Du(t,n.environment))return null;let o=Ks(e)??j(["."]),i=Rn({...n,allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let s of o){let a=Co(s);for(let c of a.expandedTargets??[N(s)]){let l=nt(c,i,{targetIsLiteral:a.expandedTargets!==void 0||a.targetIsLiteral,tmpdirWordSplittingProtected:a.tmpdirWordSplittingProtected});if(l.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home","rm -rf targeting root or home directory is extremely dangerous and always blocked.");if(l.kind==="git_metadata_target")return S("find.delete-git-metadata",He)}}if(xT(t)&&i.resolvedCwd&&sv(o.map(N),i.resolvedCwd,i.protectedGitMetadata,i.pathCanonicalizationContext))return S("find.delete-git-metadata",He);return null}function Du(e,t){let n=0;while(n<e.length){if(!Lt(e[n])){n++;continue}let r=Eo(e,n),o=Kt([...r.tokens],t),i=G(o[0]??"").toLowerCase();if((i==="rm"||i==="rmdir")&&o.some((s)=>s.includes("{}")))return!0;n=r.nextIndex}return!1}function xT(e){return e.some((t,n)=>{if(!["-name","-iname"].includes(t))return!1;return e[n+1]?.toLowerCase()==="hooks"})}function _T(e,t,n){if(t.includes("-L")||t.includes("-f")||t.includes("-follow"))return!1;let r=Ks(e);if(!r)return!1;let o=n.envAssignments??new Map,i=ql(o,n.environment),s=n.trustedTmpdirValue??$t(o,n.environment),a=n.allowTmpdirVar??!lo(o,n.environment),c=Rn({environment:n.environment,protectedGitMetadata:n.protectedGitMetadata,cwd:n.cwd,originalCwd:n.originalCwd,strict:n.strict,allowTmpdirVar:a&&s&&Boolean(i),allowPaths:n.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:n.tmpdirWordSplittingUnsafe??dt(o,n.environment),trustedTmpdirValue:s});return r.every((l)=>{let u=Co(l);if(u.unsafeBraceExpansion)return!1;return(u.expandedTargets??[N(l)]).every((d)=>mv(d,c,{containmentTarget: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 Ks(e){let t=(o)=>{let i=e[o];return i?N(i):void 0},n=1;while(t(n)==="-H"||t(n)==="-P")n++;if(t(n)==="--")n++;let r=[];while(n<e.length){let o=t(n),i=e[n];if(!o||!i||o.startsWith("-")||["!","(",")"].includes(o))break;r.push(i),n++}return r.length>0?r:null}function RT(e,t){let n=or([...e],t);if(n.length===0)return null;let r=G(n[0]??"");if(r==="busybox"&&n.length>1)n=n.slice(1),r=G(n[0]??"");if(r==="rm"&&ot(n))return S("find.exec-rm-recursive-force",yT);return null}function Eo(e,t){let n=t+1;while(n<e.length&&e[n]!==";"&&!(e[n]==="+"&&e[n-1]==="{}"))n++;return{tokens:e.slice(t+1,n),nextIndex:Math.min(n+1,e.length)}}function Ys(e,t){let n=t;while(n<e.length){let r=e[n];if(!r){n++;continue}if(Lt(r)){n=Eo(e,n).nextIndex;continue}let o=Jt(r);if(o>0){n+=o+1;continue}if(r==="-delete")return!0;n++}return!1}function Jt(e){return vT.get(e)??(/^-newer[A-Za-z]{2}$/.test(e)?1:0)}function Lt(e){return e!==void 0&&bT.has(e)}function Po(e){let t=et(e,"posix");if(t.status!=="complete"||t.nodes.length!==1)return null;let n=t.nodes[0];if(n?.kind!=="command")return null;if(n.redirections.length>0||n.nested.length>0)return null;if(n.words.some((r)=>r.provenance==="command-substitution"))return null;return n.words.map((r)=>r.text)}var wT=5,$u="Git aliases supplied through command-line or environment config can hide or execute commands. Run git without Git alias overrides, or ask the user to run it manually.";function Se(e){let t=e.indexOf("--");if(t===-1)return{index:-1,before:e,after:[]};return{index:t,before:e.slice(0,t),after:e.slice(t+1)}}function Av(e,t,n){let r=Iv(e,t,n),o=ET(r.entries);if(o.size===0)return{blockedReason:r.blockedReason,expanded:!1,tokens:e};let i=e,s=!1;for(let a=0;a<wT;a++){let{subcommand:c,rest:l}=it(i),u=c?.toLowerCase();if(!u||!o.has(u))return{blockedReason:r.blockedReason,expanded:s,tokens:i};let d=o.get(u),f=IT(d);if(f===null||f.length===0)return{blockedReason:$u,expanded:!0,tokens:i};i=["git",...f,...l],s=!0}return{blockedReason:$u,expanded:!0,tokens:i}}function Tv(e,t,n){return Iv(e,t,n).entries.some((r)=>r.key.toLowerCase()==="core.sshcommand")}function it(e){if(e.length===0)return{subcommand:null,rest:[]};let t=e[0];if((t?G(t).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--"){let i=e[r+1];if(i&&!i.startsWith("-"))return{subcommand:i,rest:e.slice(r+2)};return{subcommand:null,rest:e.slice(r+1)}}if(o.startsWith("-"))if(ut.has(o))r+=2;else if(o.startsWith("-c")&&o.length>2)r++;else if(o.startsWith("-C")&&o.length>2)r++;else r++;else return{subcommand:o,rest:e.slice(r+1)}}return{subcommand:null,rest:[]}}function ET(e){let t=new Map;for(let n of e){let r=n.key.toLowerCase();if(!r.startsWith("alias."))continue;let o=r.slice(6);if(o!=="")t.set(o,n.value)}return t}function Iv(e,t,n){if(e.length===0)return{blockedReason:null,entries:[]};let r=e[0];if((r?G(r).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let i=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=Mu(e[o+1]);if(s)r.push(s);o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=Mu(i.slice(2));if(s)r.push(s);o++;continue}if(i==="--config-env"){let s=kv(e[o+1],t,n);if(s)r.push(s);o+=2;continue}if(i.startsWith("--config-env=")){let s=kv(i.slice(13),t,n);if(s)r.push(s);o++;continue}if(ut.has(i)){o+=2;continue}o++}return r}function kT(e,t){let n=AT(e,t),r=TT(e,t);return{blockedReason:n===null||r===null?$u:null,entries:[...n??[],...r??[]]}}function AT(e,t){let n=Ue("GIT_CONFIG_PARAMETERS",e,t);if(n===void 0)return[];let r=[],o=Po(n);if(!o)return null;for(let i of o){let s=Mu(i);if(!s)return null;r.push(s)}return r}function 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=Ue(`GIT_CONFIG_KEY_${o}`,e,t)?.trim(),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i||s===void 0)return null;r.push({key:i,value:s})}return r}function Mu(e){if(!e)return null;let t=e.indexOf("=");return{key:(t===-1?e:e.slice(0,t)).trim(),value:t===-1?void 0:e.slice(t+1)}}function kv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;return{key:e.slice(0,r).trim(),value:Ue(e.slice(r+1),t,n)}}function IT(e){let t=e?.trimStart();if(!t||t.startsWith("!"))return null;return Po(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.",qT="git branch -D force-deletes without merge check. Use -d for safe delete.",KT="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.",Ov=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),zv=new Set(["--recurse-submodules","--track","-t"]),Lu=new Set(["-b","-B","-U"]),Wu=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 lr=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function Dv(e){let{subcommand:t,rest:n}=it(e);if(!t)return null;switch(t.toLowerCase()){case"checkout":return Xt(oI(n));case"switch":return Xt(iI(n));case"restore":return Xt(aI(n));case"reset":return lI(n);case"clean":return Xt(dI(n));case"rm":return Xt(mI(n));case"push":return En(fI(n));case"branch":return En(hI(n));case"stash":return En(xI(n));case"worktree":return En(_I(n));case"rebase":return Xt(yI(n));case"merge":return Xt(bI(n));case"tag":return En(vI(n));case"reflog":return En(SI(n));default:return null}}function Xt(e){return e?{...e,localDiscard:!0}:null}function En(e){return e?{...e,localDiscard:!1}:null}function oI(e){let{index:t,before:n}=Se(e),r=Re(n,{shortOptsWithValue:Lu});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=Re(t,{shortOptsWithValue:Wu});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(Ov.has(r))n+=2;else if(r.startsWith("--")&&r.includes("="))n++;else if(zv.has(r)){let o=e[n+1];if(o&&!o.startsWith("-")&&(r==="--recurse-submodules"||r==="--track"||r==="-t"))if((r==="--recurse-submodules"?["checkout","on-demand"]:["direct","inherit"]).includes(o))n+=2;else n++;else n++}else if(r.startsWith("--")&&!rI.has(r)&&!Ov.has(r)&&!zv.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)?En(t):Xt(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=Re(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=Re([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=Re(t);if(t.some((s)=>B(s,"--mirror")))return S("git.push-mirror",VT);if(t.some((s)=>B(s,"--force"))||r.has("-f")||Nv(t,n).some(pI))return S("git.push-force",jT);if(t.some((s)=>B(s,"--delete"))||r.has("-d")||Nv(t,n).some(gI))return S("git.push-delete",HT);return null}function Nv(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=Re(t),r=n.has("-D")||n.has("-d")||t.some((i)=>B(i,"--delete")),o=n.has("-D")||n.has("-f")||t.some((i)=>B(i,"--force"));if(r&&o)return S("git.branch-force-delete",qT);return null}function yI(e){let{before:t}=Se(e);return t.some((n)=>B(n,"--abort"))?S("git.rebase-abort",KT):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 Re(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 xI(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 _I(e){let{before:t}=Se(e);if(!t.includes("remove"))return null;let r=Re(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"child_process";import{existsSync as Gu,readFileSync as Zu}from"fs";import{dirname as RI,isAbsolute as Lv,join as Fu,resolve as Wv}from"path";var wI=["/usr/bin/git","/usr/local/bin/git","/opt/homebrew/bin/git","C:\\Program Files\\Git\\cmd\\git.exe","C:\\Program Files\\Git\\bin\\git.exe"];function Fv(e,t,n,r){let o=EI(e,t,n);if(o!==null)return o;let i=PI(t,n);if(i!==null)return i;if(gy(n))return!0;return kI(r)}function EI(e,t,n){let r=null,o=1;while(o<e.length){let i=e[o];if(!i||i==="--")return r;if(!i.startsWith("-"))return r;if(i==="-c"){let s=$v(e[o+1]);if(s!==null)r=s;o+=2;continue}if(i.startsWith("-c")&&i.length>2){let s=$v(i.slice(2));if(s!==null)r=s;o++;continue}if(i==="--config-env"){let s=Mv(e[o+1],t,n);if(s!==null)r=s;o+=2;continue}if(i.startsWith("--config-env=")){let s=Mv(i.slice(13),t,n);if(s!==null)r=s;o++;continue}if(ut.has(i))o+=2;else o++}return r}function PI(e,t){if(Ue("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=Ue(`GIT_CONFIG_KEY_${o}`,e,t),s=Ue(`GIT_CONFIG_VALUE_${o}`,e,t);if(!i?.trim()||s===void 0)return!0;let a=i.trim().toLowerCase();if(Bu(a))return!0;if(a!=="submodule.recurse")continue;r=ko(s)}return r}function 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 ko(r)}catch(r){return!OI(r)}}function AI(e){let t=zI(e);if(t===null)return null;for(let n of t){if(!Gu(n))continue;if($I(n))return!0}return!1}function TI(){for(let e of wI)if(Gu(e))return e;return null}function II(e){let t={...e};for(let n of Object.keys(t))if(to(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=oo(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[Fu(r,"config"),Fu(n,"config.worktree")]}function NI(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 Lv(r)?r:Wv(RI(e),r)}catch{return null}}function DI(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 Lv(n)?n:Wv(e,n)}catch{return null}}function $I(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(MI(n)&&c==="path")return!0;if(n==="submodule"&&c==="recurse")r=ko(l)}return r}function MI(e){return e==="include"||e.startsWith("includeif ")}function $v(e){if(!e)return null;let t=e.indexOf("="),n=(t===-1?e:e.slice(0,t)).toLowerCase();if(Bu(n))return!0;if(n!=="submodule.recurse")return null;let r=t===-1?"true":e.slice(t+1).toLowerCase();return ko(r)}function ko(e){let t=e.toLowerCase();return t!=="false"&&t!=="no"&&t!=="off"&&t!=="0"}function Mv(e,t,n){let r=e?.indexOf("=")??-1;if(!e||r===-1)return null;let o=e.slice(0,r).toLowerCase();if(Bu(o))return!0;if(o!=="submodule.recurse")return null;let i=Ue(e.slice(r+1),t,n);return i===void 0||ko(i)}function Bu(e){return e==="include.path"||e.startsWith("includeif.")&&e.endsWith(".path")}function Gv(e,t,n){if(!t.localDiscard||!n.worktreeMode||vy(n.env,n.envAssignments))return null;let r=Sy(e,n.cwd);if(!r.gitCwd||r.hasExplicitGitContext)return null;if(!xy(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}=it(e),i=r?.toLowerCase();if(t.dynamicArguments||WI(o)||Fv(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=Re(n,{shortOptsWithValue:Lu}),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=Re(n,{shortOptsWithValue:Wu}),o=n.some((s)=>B(s,"--force"))||n.some((s)=>B(s,"--discard-changes"))||r.has("-f"),i=n.some((s)=>s==="-C"||s.startsWith("-C")||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 ur(e,t){return Zv(e.map(N),t)}function Zv(e,t,n){let r=Av(e,t.env,t.envAssignments),o=r.blockedReason?O(S("git.alias-config",r.blockedReason),t.policy):null;if(o)return o;let i=r.tokens;if((py(t.envAssignments)||Tv(e,t.env,t.envAssignments))&&HI(i))return S("git.ssh-env",UI);let s=Dv(i);if(!s)return null;if(r.expanded||r.blockedReason)return s;let a=Gv(e,s,t);if(!a)return s;return n?.(a),null}function Bv(e,t){let n=null;return{match:Zv(e.map(N),t,(o)=>{n=o}),relaxation:n}}function HI(e){let{subcommand:t,rest:n}=it(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)=>!qI(t))?.toLowerCase()==="update"}function qI(e){return e==="-v"||B(e,"--verbose")||B(e,"--no-verbose")}import{isAbsolute as LO}from"path";var Uv="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",KI="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.",Hv="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 dr(e,t){let n=Rn({...t,allowPaths:t.policy?.destructiveCommandAllowPaths,posixShell:!0}),r=e.map(N),o=ot(r),i=Pv(r),s=QI(e);for(let a of s){let c=Co(a.word);if(o&&c.unsafeBraceExpansion){let l=O(jv({kind:"outside_anchored_cwd"},n,t.policy),t.policy);if(l)return l;continue}for(let l of c.expandedTargets??[a.text]){let u={targetIsLiteral:c.expandedTargets!==void 0||c.targetIsLiteral,tmpdirWordSplittingProtected:c.tmpdirWordSplittingProtected};if(!i&&n.resolvedCwd&&Cn(l,n.resolvedCwd,n.protectedGitMetadata,i,n.pathCanonicalizationContext))return S("rm.git-metadata",He);if(i&&!o){let d=nt(l,n,u);if(d.kind==="root_or_home_target")return S("rm.recursive-force-root-or-home",Hv);if(d.kind==="git_metadata_target")return S("rm.git-metadata",He);continue}if(!o)continue;for(let d of XI(l,n,u)){let f=jv(d,n,t.policy),m=O(f,t.policy);if(m)return m}}}return null}function XI(e,t,n){let r=nt(e,t,n);if(r.kind==="cwd_self_target")return[r,nt(e,t,{...n,skipCwdSelf:!0})];if(r.kind!=="home_cwd_target")return[r];let o=nt(e,t,{...n,skipHomeCwd:!0});if(o.kind!=="cwd_self_target")return[r,o];return[r,o,nt(e,t,{...n,skipHomeCwd:!0,skipCwdSelf:!0})]}function 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 jv(e,t,n){switch(e.kind){case"root_or_home_target":return S("rm.recursive-force-root-or-home",Hv);case"git_metadata_target":return S("rm.git-metadata",He);case"temp_target":return null;case"dynamic_target":if(!ue(n,"rm.recursive-force-dynamic-target",t.strict))return null;return S("rm.recursive-force-dynamic-target",YI);case"home_cwd_target":return S("rm.recursive-force-home-cwd",JI);case"cwd_self_target":return S("rm.recursive-force-cwd-self",Uv);case"within_anchored_cwd":if(ue(n,"rm.recursive-force-paranoid",t.paranoid))return S("rm.recursive-force-paranoid",KI);return null;case"outside_anchored_cwd":return S("rm.recursive-force-outside-cwd",Uv)}}var eO={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},qv=new Set(["--init-file","--rcfile"]),tO=["--init-file","--rcfile"],nO=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function ht(e){for(let t=1;t<e.length;t++){let n=e[t];if(!n)continue;if(n==="-c")return Vv(e,t,!0);if(n.startsWith("-")&&n.includes("c")&&!n.startsWith("--")){let r=Vv(e,t,!1);if(r!==null)return r}}return null}function Ve(e){let t=G(e[0]??"").toLowerCase();if(t==="zsh"||t==="ksh")return yt(e).syntaxCheck;let n=!1;for(let r of e.slice(1)){if(r==="--")return n;if(r.startsWith("+")&&!r.startsWith("++")){if(r.slice(1).includes("n"))n=!1;continue}if(!r.startsWith("-")||r.startsWith("--"))return n;let o=r.slice(1);if(o.includes("n"))n=!0;if(o.includes("c"))return n}return n}function Vv(e,t,n){if(e[t+1]==="--")return e[t+2]||null;let r=e[t+1];if(!r||!n&&r.startsWith("-"))return null;return r}function Kv(e){let t=G(e[0]??"").toLowerCase(),n=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=yt(e),r=n.commandIndex??n.scriptIndex??e.length,o=[],i=!1,s=!0;for(let a=1;a<r;a++){let c=e[a];if(c===void 0||c==="--"||c==="-"||c[0]!=="-"&&c[0]!=="+")break;if(c.startsWith("--")){if(t==="bash"&&s?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"&&qv.has(d)&&!c.includes("="))a++;continue}if(t==="bash")s=!1;let l=Yv(t,c,e[a+1],"startup");if(l.interactive)i=c[0]==="-";a+=l.followingValues}return{argvSource:o.at(-1)??null,interactive:i}}function Yv(e,t,n,r){let o=!1,i=0,s=!1,a=!1,c=!1;for(let l=1;l<t.length;l++){let u=t[l];if(u===void 0)break;if(e==="ksh"&&u==="o"&&l+1<t.length){if(r==="argv"){let d=t.slice(l+1);if(t[0]==="-"&&(d==="c"||d[0]==="-"&&d.endsWith("c")))s=!0}break}if(e==="ksh"&&u==="o"&&l+1===t.length&&(n?.startsWith("-")||n?.startsWith("+")))break;if(e==="zsh"&&u==="o"&&l+1<t.length)break;if(r==="startup"&&u==="i")o=t[0]==="-";if(r==="argv"&&t[0]==="-"&&u==="c")s=!0;if(r==="argv"&&u==="n")c=t[0]==="-";if(r==="argv"&&u==="s")a=t[0]==="-";if(!eO[e]?.includes(u))continue;if(l+1===t.length)i++;break}return{interactive:o,followingValues:i,commandSelected:s,stdinMode:a,syntaxCheck:c}}function yt(e){let t=G(e[0]??"").toLowerCase(),n=!1,r=!1,o=!1;for(let i=1;i<e.length;i++){let s=e[i];if(s===void 0)break;if(s==="--"){let c=n&&e[i+1]!==void 0?i+1:null;return{command:c===null?null:e[c]??null,commandIndex:c,scriptIndex:!n&&!r&&e[i+1]!==void 0?i+1:null,readsStdinAsCommands:!n&&(r||e[i+1]===void 0),syntaxCheck:o}}if(s==="-"||s[0]!=="-"&&s[0]!=="+")return{command:n?s:null,commandIndex:n?i:null,scriptIndex:!n&&!r&&s!=="-"?i:null,readsStdinAsCommands:!n&&(r||s==="-"),syntaxCheck:o};if(s.startsWith("--")){let c=s.split("=",1)[0]??s;if(t==="bash"&&qv.has(c)&&!s.includes("="))i++;continue}let a=Yv(t,s,e[i+1],"argv");if(a.commandSelected)n=!0;if(a.syntaxCheck)o=!0;if(a.stdinMode)r=!0;i+=a.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!n,syntaxCheck:o}}var Qt={kind:"none"},Pn={kind:"dynamic"},oO=new Set(["<","<<","<<-","<<<","<&","<>"]),Xv=/\$(?:([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 Qv(e){if(!e||G(H(e.words[0]?.text??""))!=="printf")return;if(e.words.some((o)=>o.provenance!=="literal"))return;let t=e.words.slice(e.words[1]?.text==="--"?2:1),n=t[0]?.text;if(n===void 0)return"";let r=t.slice(1).map((o)=>o.text);if(n==="%s")return r.join("");if(n==="%s\\n"||n===`%s
|
|
54
54
|
`)return`${r.join(`
|
|
55
55
|
`)}
|
|
56
56
|
`;if(n.includes("%")||/\\(?![\\nrt])/.test(n))return;return n.replaceAll("\\n",`
|
|
57
|
-
`).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function mr(e){let t=Ao(e[1])==="--"?2:1;if(e.length<=t)return Qt;let n=e.slice(t);if(!n.every(Xs))return Pn;return{kind:"literal",source:n.map(N).join(" ")}}function eS(e){let t=Ao(e[1])==="--"?2:1,n=e[t],r=Ao(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return Qt;if(!Xs(n))return Pn;return{kind:"literal",source:r}}function Js(e,t){let n=lO(e);if(n===-1)return Qt;let r=uO(t);if(!r)return Qt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=mO(s,e,n,r.ifs);if(!a)return Pn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>sO||i>aO)return Pn;o.push(...a)}if(r.command==="eval")return{kind:"literal",source:o.join(" ")};if(o.length===0||/\s/.test(o[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[r.command,r.command&&r.optionTerminator?"--":null,...o.map(pO)].filter((s)=>s!==null).join(" ")}}function tS(e,t,n,r){if(!yt(e.map(N)).readsStdinAsCommands)return Qt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&oO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return Qt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return Pn;return{kind:"literal",source:o.target.text}}if(!n)return Qt;return r===void 0?Pn:{kind:"literal",source:r}}function bt(e){let t=yt(e.map(N)).scriptIndex;if(t===null)return Qt;let n=e[t],r=Ao(n);return Bi(n,r)?{kind:"literal",source:r}:Pn}var cO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function
|
|
58
|
-
`}}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?
|
|
57
|
+
`).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function mr(e){let t=Ao(e[1])==="--"?2:1;if(e.length<=t)return Qt;let n=e.slice(t);if(!n.every(Xs))return Pn;return{kind:"literal",source:n.map(N).join(" ")}}function eS(e){let t=Ao(e[1])==="--"?2:1,n=e[t],r=Ao(n);if(n===void 0||e.length<=t+1||r==="-"||r===""||r==="-l"||r==="-p")return Qt;if(!Xs(n))return Pn;return{kind:"literal",source:r}}function Js(e,t){let n=lO(e);if(n===-1)return Qt;let r=uO(t);if(!r)return Qt;let o=[],i=r.command?.length??0;for(let s of r.references){let a=mO(s,e,n,r.ifs);if(!a)return Pn;if(i+=a.reduce((c,l)=>c+l.length+3,0),o.length+a.length>sO||i>aO)return Pn;o.push(...a)}if(r.command==="eval")return{kind:"literal",source:o.join(" ")};if(o.length===0||/\s/.test(o[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[r.command,r.command&&r.optionTerminator?"--":null,...o.map(pO)].filter((s)=>s!==null).join(" ")}}function tS(e,t,n,r){if(!yt(e.map(N)).readsStdinAsCommands)return Qt;let o=t.filter((i)=>(i.fd===void 0||i.fd===0)&&oO.has(i.operator)).at(-1);if(o){if(o.operator==="<<"||o.operator==="<<-")return Qt;if(o.operator!=="<<<"||o.target?.provenance!=="literal")return Pn;return{kind:"literal",source:o.target.text}}if(!n)return Qt;return r===void 0?Pn:{kind:"literal",source:r}}function bt(e){let t=yt(e.map(N)).scriptIndex;if(t===null)return Qt;let n=e[t],r=Ao(n);return Bi(n,r)?{kind:"literal",source:r}:Pn}var cO=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function Vu(e){if(e.words.length!==2||e.redirections.length!==0||e.nested.length!==1)return!1;let t=e.words[0],n=e.words[1];if(!t||t.provenance!=="literal"||t.quoted||t.raw!==t.text||!n)return!1;if(!(t.text==="eval"&&n.quoted&&n.parts.length===3&&n.parts[0]?.raw==='"'&&n.parts[1]?.provenance==="command-substitution"&&n.parts[1].raw.startsWith("$(")&&n.parts[2]?.raw==='"'||(t.text==="source"||t.text===".")&&!n.quoted&&n.parts.length===1&&n.parts[0]?.provenance==="command-substitution"&&n.parts[0].raw.startsWith("<(")))return!1;let o=e.nested[0];if(o?.status!=="complete"||o.nodes.length!==1)return!1;let i=o.nodes[0];if(i?.kind!=="command"||i.redirections.length!==0||i.nested.length!==0||i.words.some((c)=>c.provenance!=="literal"||c.parts.some((l)=>l.provenance!=="literal")))return!1;let s=i.words[0]?.text;if(s===void 0||je(s)!==null)return!1;let a=G(H(s));return!cO.has(a)&&!de.has(a)&&!wn(a)}function lO(e){return yt(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]??"":`
|
|
58
|
+
`}}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?Uu(o):fO(o,r);if(e.parameter==="*"){let a=Uu(o);if(!a)return;let c=a.join(r[0]??"");return e.quoted?[c]:ju(c,r)}let i=t[n+1+e.parameter];if(i&&!Xs(i))return;let s=Ao(i);return e.quoted?[s]:ju(s,r)}function Uu(e){return e.every(Xs)?e.map(N):void 0}function fO(e,t){let n=Uu(e);if(!n)return;let r=n.map((o)=>ju(o,t));return r.some((o)=>o===void 0)?void 0:r.flatMap((o)=>o??[])}function ju(e,t){if(["*","?","[","]"].some((n)=>e.includes(n)))return;if(t==="")return e===""?[]:[e];if(t===`
|
|
59
59
|
`)return e.trim().split(/\s+/).filter(Boolean);if(t.length!==1)return;return t===" "||t==="\t"||t===`
|
|
60
|
-
`?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Xs(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function Ao(e){return e?N(e):""}function pO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function Vu(e,t){return ju(et(e,"posix"),t)}function fr(e){return Vu(e,new Set(Array.from(e.matchAll(Xv)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function ju(e,t){if(e.status==="invalid"||e.status==="limited")return!1;let n=new Set(t);for(let r of e.nodes){if(r.kind==="group"){if(ju(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>ju(o,n))||nS(r.words,n))return!0;vO(r,n)}return!1}function nS(e,t){let n=e.findIndex((s)=>je(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(To(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return Jv(e[s],t)}if(de.has(o)){let s=e.slice(n),a=yt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&Jv(s[c],t)}let i=gO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return nS(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 To(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return To(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(je(i))continue;return r}return null}function vO(e,t){if(!e.words.every((n)=>je(n.text)!==null))return;for(let n of e.words){let r=je(n.text);if(!r)continue;if(To(n,t))t.add(r.name)}}function To(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(Xv)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(iO.test(o)||t.has(o))}))}function Jv(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||To(e,t))}var SO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),xO=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),_O=new Set;function rS(e){if(e==="git")return SO;if(e==="docker")return xO;return _O}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(EO(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 oS(t,1,n,rS(e))}function oS(e,t,n,r){let o=!1;for(let i=t;i<e.length;i++){let s=e[i];if(!s)continue;if(o){o=!1;continue}if(s==="--"){let a=e[i+1];if(a&&!a.startsWith("-"))return a===n;return!1}if(r.has(s)){o=!0;continue}if(s.startsWith("-")){if(!s.includes("=")&&RO(e,i,n,r))return!0;continue}return s===n}return!1}function RO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return oS(e,t+2,n,r)}function EO(e,t,n){for(let r of e)if(t.has(r))return!0;for(let r of n)if(t.has(r))return!0;return!1}function en(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=H(r);if(o==="eval"){let i=mr(j(e));if(i.kind==="dynamic")return pr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return vt(n,t)}if(de.has(o)){if(Ve(e))return null;let i=ht(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=pr(n,t);if(c)return c}if(fr(i)){let c=pr(n,t);if(c)return c}if(!t.analyzeNested)return null;let a=t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(a)return a;return null}let s=bt(j(e));if(s.kind==="dynamic")return pr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return pr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return pr(n,t);return null}if($e.has(o))return O(js(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??vt(n,t);if(Oe(o)){let i=is(e);if(!i)return vt(n,t);if(ue(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=O(S("interpreter.one-liner-paranoid",tr),t.policy);if(a)return a}if(cs(o,i))return vt(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==qt||ar(i)))return s;if(nr(i,t.scanWork))return O(S("interpreter.dangerous-command",vn),t.policy)??vt(n,t);return vt(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(ot(e)||n.dynamicRmInput);return O(dr(j(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(t.envAssignments,t.environment),trustedTmpdirValue:$t(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?vt(n,t):null)??(i?PO(n,t):null)}if(o==="find")return qs(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>en(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??vt(n,t);if(o==="git")return O(ur(j(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??pe(e,t.policy?.rules??[])??vt(n,t);return pe(e,t.policy?.rules??[])??vt(n,t)}function pr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function vt(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function PO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var qu="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Ku="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",kO="__CC_SAFETY_NET_XARGS_INPUT__",Qs="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",ea="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 aS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=kn(n),i=n.slice(r),s=S("xargs.shell-dynamic",Ku);if(NO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of rt(i,t)){let c=a.tokens,l=o!==null&&c[0]!==i[0]&&(c[0]?.includes(o)??!1)?O(s,t.policy):null;if(l)return l;let u=dS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&lS(c,o),f=en(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||cS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",qu)});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((R)=>R.includes(o))||Array.from(a.envAssignments.values()).some((R)=>R.includes(o))),y=en(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||b?!1:t.worktreeMode});if(y)return y}let p=pe(c,t.policy?.rules??[]);if(p)return p}return null}function 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)=>Yu(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 Yu(e,t,n){let r=e.indexOf(t);if(r===-1||e.indexOf(t,r+t.length)!==-1)return[];let o=e.slice(0,r),i=e.slice(r+t.length);return n.startsWith(o)&&n.endsWith(i)?[n.slice(o.length,n.length-i.length)]:[]}function cS(e,t,n,r,o,i,s){if(de.has(t)){if(Ve(e))return!1;if(n!==null&&DO(e,n))return!0;let a=ht(e);if(!a){let c=bt(j(e));if(c.kind==="literal")return n!==null&&c.source.includes(n);return c.kind==="none"&&o}if(n!==null&&a.includes(n))return!0;if(Dt(a,i))return!0;return $O(a,n,r)}if(Oe(t))return iS(e,n,as,jy(t));if($e.has(t))return iS(e,n,Au,xv);if(t==="eval"){let a=mr(j(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return MO(e,n,i,s);if(t==="git"){let a=it(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&lr.has(a.subcommand.toLowerCase())&&uS(a.rest,n).some((c)=>c.includes(n))}return!1}function iS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,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)=>Yu(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(rt(e,n),(i)=>i.head)),o=t===null?[...e,ea]:e.map((i,s)=>s===0?i:i.replaceAll(t,ea));return Array.from(rt(o,n)).some((i)=>i.head===ea&&!r.has(ea))}function lS(e,t){return uS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function uS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function dS(e,t,n){if(t===null)return!0;return e.some((r)=>r.includes(t))||Array.from(n.values()).some((r)=>r.includes(t))}function DO(e,t){let n=yt(e);if(n.commandIndex!==null&&(e[n.commandIndex]??"").includes(t)||n.scriptIndex!==null&&(e[n.scriptIndex]??"").includes(t))return!0;return["-c","-nc","-cn",`--${t}`,t].some((o)=>e.some((i,s)=>{if(s===0||!i.includes(t))return!1;return Yu(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=yt(l);if(u.commandIndex===null&&u.scriptIndex===null)return!1;if(n.commandIndex===null&&u.commandIndex!==null)return!0;if(n.scriptIndex===null&&u.scriptIndex!==null)return!0;if(u.commandIndex!==null&&(l[u.commandIndex]??"").includes(c))return!0;return u.scriptIndex!==null&&(l[u.scriptIndex]??"").includes(c)})}))}function $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(sS(o,r))return!0;for(let o of e.matchAll(TO))for(let i of(o[1]??"").matchAll(IO))if(sS(i,r))return!0;return Vu(e,r)}function sS(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(Lt(a)){let l=Eo(e,s);s=l.nextIndex-1;for(let u of rt(l.tokens,{environment:r,cwd:void 0})){let d=dS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&lS(u.tokens,t)||cS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Jt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function kn(e){let t=new Set(["-L","-n","-P","-s","-a","-E","-R","-S","-e","-d","-J","--max-args","--max-procs","--max-chars","--arg-file","--eof","--delimiter","--max-lines","--process-slot-var"]),n=null,r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--")return{childStart:r+1,replacementToken:n};if(o.startsWith("-")){if(o==="-I"){n=e[r+1]??"{}",r+=2;continue}if(o.startsWith("-I")&&o.length>2){n=o.slice(2),r++;continue}if(o==="--replace"){n="{}",r++;continue}if(o.startsWith("--replace=")){let i=o.slice(10);n=i===""?"{}":i,r++;continue}if(o==="-J"){n=e[r+1]??"{}",r+=2;continue}if(t.has(o))r+=2;else r++}else return{childStart:r,replacementToken:n}}return{childStart:e.length,replacementToken:n}}var Oo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",zo="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",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]*\}/,vS=/\{\}|\{-?\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"]),mS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),HO=new Set(["--workdir","--wd"]),fS="__CC_SAFETY_NET_PARALLEL_SOURCE__",VO=new TextEncoder,Xu=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Ee(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function SS(e,t){return Ee([...e],(n)=>Dt(n,t.scanWork))}function xS(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=Tn(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=TS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=Tn(t);if(p)return p;let h=SS(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=tz(t);if(p)return p}if(u!==void 0&&a){let p=Tn(t);if(p)return p}let f=iz(u,t.cwd,t.environment.paths);if(f===null){let p=Tn(t);if(p)return p}let m=a?{...t,cwd:void 0,originalCwd:void 0}:f===null||f===void 0||f===t.cwd?t:{...t,cwd:f};if(d){if([...rt(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(nd)){let h=Tn(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=Tn(t);if(b)return b}let p=s.map((b)=>b[0]??"");ze(t.budget,Qu(p));let h=ES(m.envAssignments,m.cwd,a);return Ee(p,(b)=>t.analyzeNested(b,h))}return Ee(rt(i,m),(p)=>qO(p,o,t,m))}function qO(e,t,n,r){let{jobs:o,templateHasPlaceholder:i,runsRemotely:s,usesStdin:a}=t,c=e.tokens,l={...r,cwd:e.cwd,envAssignments:e.envAssignments},u=[...e.envAssignments.values()];if(u.some(kS)){let y=Tn(n);if(y)return y}let d=SS(u,n);if(d)return d;let f=u.some(Q),m=i||f,p=a&&m,h=ES(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return ze(n.budget,ta(c,o,"generic")),Ee(o,(E)=>en(c.map((P)=>tn(P,E)),l))};if(Ve(c))return y();let R=ht(c);if(R){if(AS(R)){let v=An(n);if(v)return v;if(o.length===0)return null;return ze(n.budget,bS(R,o)),Ee(o,(T)=>n.analyzeNested(tn(R,T),h))}if(Q(R)){if(o.length>0)return ze(n.budget,bS(R,o)),Ee(o,(k)=>n.analyzeNested(tn(R,k),h));ze(n.budget,hS(R));let v=Po(R);if(v?.[0]&&H(v[0])==="rm"&&ot(v)){let k=gS(n);if(k)return k}let T=v?en(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",zo),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",Oo)}):null;if(T)return T;return n.analyzeNested(R,h)}let E=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Js(j(v===void 0?c:i?c.map((T)=>tn(T,v)):[...c,...v]),R)):[];if(E.some((v)=>v.kind==="dynamic")){let v=An(n);if(v)return v}let P=E.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return ze(n.budget,Qu(P)),Ee(P,(v)=>n.analyzeNested(v,h));if(ze(n.budget,hS(R)),fr(R)){let v=An(n);if(v)return v}let _=n.analyzeNested(R,h);if(_)return _;if(m)return An(n);return null}let w=bt(j(c));if(w.kind==="dynamic"||w.kind==="literal"&&Q(w.source))return An(n)??y();if(w.kind==="literal")return y();if(o.length>0){let E=An(n);if(E)return E;let P=y();if(P)return P;if(i)return null;let _=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return ze(n.budget,Qu(_)),Ee(_,(v)=>n.analyzeNested(v,h))}if(m||a)return An(n)??y();return null}if(e.head==="rm"&&ot(c)){if(i&&o.length>0)return ze(n.budget,ta(c,o,"rm")),Ee(o,(R)=>Ju(c.map((w)=>ed(w,R)),e.cwd,r));if(o.length>0)return ze(n.budget,yS(c,o)),Ee(o,(R)=>Ju([...c,...R],e.cwd,r));let y=Ju(c.flatMap((R,w)=>{if(w===0||!Q(R))return[R];return R.startsWith("-")?[ed(R,[""])]:[]}),e.cwd,r);if(y)return y;return gS(n)}ze(n.budget,i&&o.length>0?ta(c,o,"generic"):o.length>0?yS(c,o):RS(c));let b=o.length>0?o:[void 0];return Ee(b,(y)=>{let R=y===void 0?c:i?c.map((z)=>tn(z,y)):[...c,...y],w=S("parallel.shell-dynamic",zo),E=a&&e.head==="find"?ez(R,r):null,P=CS(R,a,n.policy?.rules??[],n.budget)??E?.customResult??null,_=H(e.head),v=a&&(_==="rm"&&td(R)||_==="xargs"&&wS(R)||E?.rmOptions===!0),T=a&&(v||E?.executedSource===!0||E===null&&_S(R,_)),k=en(R,{...l,worktreeMode:s||a||m?!1:n.worktreeMode},{dynamicInput:a||m,dynamicRmInput:v,dynamicSourceInput:P!==null||T,shellDynamicMatch:w,dynamicSourceMatch:w,rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",Oo)});if(T){let z=O(w,n.policy);if(z)return z}return k??P??pe(R,n.policy?.rules??[])})}function _S(e,t){if(Q(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return JO(e);if(t==="git")return KO(e);if(t==="find")return!0;if($e.has(t))return pS(e,ZO,Ro);if(Oe(t))return pS(e,BO,ss);return!1}function td(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(Q))return t===-1;return n.some((o)=>Q(o)&&(o.startsWith("-")||AS(o)))}function KO(e){if(YO(e))return!0;let t=it(e);if(t.subcommand===null||Q(t.subcommand))return!0;if(!lr.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(Q))return n===-1;return r.some(Q)}function 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(Q(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(Q(n))return!0;continue}if(Q(n))return!0}return!1}function JO(e){if(Ve(e))return!1;let t=ht(e);if(t!==null)return Q(t);let n=bt(j(e));if(n.kind==="literal")return Q(n.source);if(n.kind==="dynamic")return!0;return!e.some(Q)}function pS(e,t,n){let r=n(e);if(r.some((i)=>Q(i.value)))return!0;if(!e.some(Q))return n([...e,fS]).some((i)=>i.value===fS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>tn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function CS(e,t,n,r){if(!t||n.length===0)return null;let o=n.filter((s)=>H(s.command)===H(e[0]??""));if(o.length===0)return null;let i=e.some(Q);if(ze(r,XO(e,o,i)),!i)return Ee(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Ee(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?QO(e,c):[]));return Ee(a,(c)=>pe(e.map((l)=>tn(l,[c])),[s]))})}function XO(e,t,n){let r=n?In(qe(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),V.maxChildAnalyses),2*Math.max(e.length,1),V.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:In(r,e.length,V.maxDerivedTokens)}}function 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(Q),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(Q))return;for(let a of rt(i,t))n.executedSource||=_S(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&td(a.tokens)||a.head==="xargs"&&wS(a.tokens),n.customResult??=CS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=Q(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Lt(a)){i=[],n.executedSource||=Q(a);continue}let c=Jt(a);if(c>0){o=c,n.executedSource||=Q(a);continue}n.executedSource||=Q(a)}return s(),n}function wS(e){let t=e.slice(kn(e).childStart);return H(t[0]??"")==="rm"&&td(t)}function na(e,t){return(n)=>O(S(e,t),n.policy)}var An=na("parallel.shell-dynamic",zo),tz=na("parallel.command-stream-dynamic",WO),Tn=na("parallel.command-stream-dynamic",FO),gS=na("parallel.rm-recursive-force-dynamic",Oo);function Ju(e,t,n){return O(dr(j(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(n.envAssignments??new Map,n.environment),trustedTmpdirValue:$t(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function Qu(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:No(e)}}function hS(e){return RS([e])}function RS(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:No(e)}}function yS(e,t){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:qe(t.map((n)=>e.length+n.length),V.maxDerivedTokens),derivedBytes:qe([In(No(e),t.length,V.maxDerivedBytes),qe(t.map((n)=>No(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function bS(e,t){return ta([e],t,"generic")}function ta(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=In(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=oz(e.map((c)=>rz(c,n))),i=In(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"?tn:ed,a=qe(t.map((c)=>No(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function nz(e,t,n){let r=V.maxDerivedBytes+4*n;return qe([In(e.fixedBytes,t.length,r),In(e.occurrences,qe(t.map((o)=>o.reduce((i,s)=>Math.max(i,Io(s)),0)),r),r)],r)>r}function rz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(vS),r=0,o=0,i=0;for(let s of n){if(r>=V.maxPlaceholderReplacements)return{occurrences:V.maxPlaceholderReplacements+1,fixedBytes:0};o=qe([o,Io(e.slice(i,s.index))],Xu),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Io(e):qe([o,Io(e.slice(i))],Xu)}}function oz(e){return{occurrences:qe(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:qe(e.map((t)=>t.fixedBytes),Xu)}}function No(e,t=V.maxDerivedBytes){return qe(e.map(Io),t)}function Io(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 In(e,t,n){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e!==0&&t>Math.floor(n/e))return n+1;return e*t}function ES(e,t,n){let r={};if(e)r.envAssignments=e;if(n)return r.effectiveCwd=null,r.worktreeMode=!1,r;if(t!==void 0)r.effectiveCwd=t;return Object.keys(r).length>0?r:void 0}function tn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>PS(n,t))}function ed(e,t){return e.replace(vS,(n)=>PS(n,t))}function PS(e,t){let n=/^\{(-?\d+)[^{}\s]*\}$/.exec(e)?.[1];if(n===void 0)return t[0]??"";let r=Number(n),o=r>0?r-1:t.length+r;return t[o]??""}function Q(e){return GO.test(e)}function kS(e){if(nd(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function nd(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function AS(e){return/^\{[^{}\s]*\}$/.test(e)}function TS(e){let t=1,n=[],r=e.length,o=-1,i=!1,s=!1,a=!1,c,l=e.some((p)=>p==="::::"||p==="::::+"||p===":::+");while(t<e.length){let p=e[t];if(p===void 0)break;if(p===":::"){o=t;break}if(p==="--"){let w=Ou(e,t+1);n.push(...w.templateTokens),r=t+1,o=w.markerIndex;break}if(!p.startsWith("-")){let w=Ou(e,t);n.push(...w.templateTokens),r=t,o=w.markerIndex;break}let h=e[t+1],b=p.indexOf("="),y=b===-1?p:p.slice(0,b),R=b===-1?void 0:p.slice(b+1);if(p==="--dry-run"){a=!0,t++;continue}if(p==="-I"||p.startsWith("-I")&&p.length>2){l||=(p==="-I"?h:p.slice(2))!=="{}",t+=p==="-I"?2:1;continue}if(p==="--replace"||p==="-i"){l=!0,t+=2;continue}if(y==="--replace"||p.startsWith("-i")&&p.length>2){let w=y==="--replace"?R:p.slice(2);l||=w!==""&&w!=="{}",t++;continue}if(p==="-a"||jO.has(y)){l=!0,t+=R===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=R===void 0?2:1;continue}if(mS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=mS.has(p)?2:1;continue}if(HO.has(y)){let w=R??h;if(w===void 0||w===":::"||w==="--"){l=!0,t++;continue}c=w,l||=R!==void 0&&w==="",t+=R===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&R!==void 0){t++;continue}if(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?nd:kS);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let b=e[h];if(b===":::"){u.push(p),p=[];continue}if(b!==void 0)p.push(b)}u.push(p)}let d=sz(u),f=n.some(Q),m=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:f,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:m,unsupported:l,workdir:c,dryRun:a}}function iz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!LO(e))return null;try{return Vt(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 IS(e){return TS(e).childStart}var az="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",ra="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function od(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function rd(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function zS(e,t,n,r,o=!1,i){let a=(po(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",az):null;return O(a,i)??NS(e,t,n,o,i)}function NS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>od(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Yn(e,t),c=lz(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",ra),o);if(O(ur(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,f)=>f>c&&N(d)==="--");if(ue(o,"shell.dynamic-structure",r)&&l&&lr.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return O(S("shell.dynamic-structure",ra),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&uz(t)?O(S("shell.dynamic-structure",ra),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=ot(t.map(N));return ue(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?O(S("shell.dynamic-structure",ra),o):null}if(s==="xargs")return OS(e,t.slice(kn(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return OS(e,t.slice(IS(t.map(N))),"parallel",n,r,o);return null}function OS(e,t,n,r,o,i){if(t.length===0)return null;let s=cz(t,r);if(po(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?Ku:zo),i);if(c)return c}let a=NS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>od(c)&&rd(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?qu:Oo),i);return null}function cz(e,t){let n=Sn(e,t),r=n.rewritten?j(n.words.map(N)):n.words,o=r[0];return o&&N(o)==="busybox"?r.slice(1):r}function lz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(ut.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function 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=od(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||rd(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||rd(s)))return!0;continue}if(t=!0,a)return!0;let c=Jt(s.text);if(c>0){n=c;continue}if(Lt(s.text))o=!0,r=!0}return!1}function id(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 DS(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 MS=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>dr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>ur(e.words,sd(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:dt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,policy:e.options.policy,analyzeTokens:e.analyzeChildTokens,analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>aS(e.words,{...$S(e),analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>xS(e.words,{...$S(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})}];function $S(e){return{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoidRm:e.options.paranoidRm,paranoidInterpreters:e.options.paranoidInterpreters,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,worktreeMode:e.options.worktreeMode,policy:e.options.policy,scanWork:e.options.scanWork}}function On(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function sd(e){return{env:e.options.environment.env,cwd:e.cwd,dynamicArguments:e.dynamicArguments,envAssignments:e.envAssignments,policy:e.options.policy,worktreeMode:e.options.worktreeMode}}var GS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function ZS(e){return MS.find((t)=>t.heads.has(e))?.analyze}function Do(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(A)=>A.map((Z)=>o==="posix"?N(Z):Z.text),s=n.effectiveCwd===null,a=s?void 0:n.effectiveCwd??n.cwd,c=s?void 0:n.cwd,l=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=Sn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let A=[...d,...i(u.words)].join(" "),Z=Dt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),St(Z);if(n.strict)return Me(r);let oe=ps(d,i(u.words));if(oe){Je(n.derivedCommandWorkBudget,oe.length);let le=n.analyzeNested(oe.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(le)return le}}let f=u.rewritten?j(i(u.words)):Yn(o,u.words),m=i(f),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>f.length){let A=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:A,removed:A.slice(0,A.length-f.length),output:m})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),b=m[0];if(!b)return null;if(Rn(b))throw new Ie;let y=H(b),R=u.cwd===null?void 0:u.cwd??a,w=u.cwd===null?void 0:c,E=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!lo(h,n.environment),_=zS(o,u.words,n.environment,t===0,n.strict,n.policy);if(_)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:_.reason}),St(_);let v=Hs(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){LS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let oe=Do(Z,t,{...p,effectiveCwd:E,envAssignments:h});if(oe)return oe}return null}let T=y==="eval"?mr(f):y==="trap"?eS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Hu(n.commandView)))return Me(r);if(T?.kind==="literal"){r?.recordSegment({type:"recurse",reason:y==="eval"?"shell-eval":"shell-trap",innerCommand:T.source,depth:t+1});let A=n.analyzeNested(T.source,{effectiveCwd:E,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(US(b,y)){if(Ve(m))return null;let A=pz(m,h,E,n,r,t);if(A)return A;let Z=ht(m);if(Z){let Vn=Js(f,Z);if(Vn.kind==="dynamic")return Me(r);let vl=Vn.kind==="literal"?Vn.source:Z,Eh=gz(vl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:Eh}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Eh,depth:t+1});let Ph=n.analyzeNested(vl,{effectiveCwd:E,envAssignments:h});if(Ph)return Ph;return fr(vl)?Me(r):null}let oe=bt(f);if(oe.kind==="dynamic")return Me(r);if(oe.kind==="literal")return sa(oe.source,E,h,n,r,t);let le=tS(f,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(le.kind==="dynamic")return Me(r);if(le.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:le.source,depth:t+1}),n.analyzeNested(le.source,{effectiveCwd:E,envAssignments:h})}if(y==="source"||y==="."){let A=m[1]==="-p"?2:null;if(A!==null){let Vn=n.commandView?f[A]:void 0;if(!Vn)return null;if(Vn.provenance!=="literal")return Me(r)}let Z=A===null?1:3,oe=m[Z]==="--"?Z+1:Z,le=n.commandView?f[oe]:void 0;if(!le)return null;if(le.provenance==="literal")return sa(le.text,E,h,n,r,t);if(n.strict||!n.commandView||!Hu(n.commandView))return Me(r)}if($e.has(y)){if(n.strict&&id(Ro(m),f))return Me(r);let A=js(m,(oe)=>On(n.analyzeNested(oe,{effectiveCwd:E,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),St(Z)}if(Oe(y)){if(n.strict&&id(ss(m),f))return Me(r);let A=is(m);if(A){let Z=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:y,codeArg:A,paranoidBlocked:Z}),Z){let le=O(S("interpreter.one-liner-paranoid",tr),n.policy);if(le)return St(le)}if(cs(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let oe=n.analyzeNested(A,{effectiveCwd:E,envAssignments:h});if(oe&&oe.ruleId!=="raw-text.dangerous-command"&&(oe.reason!==qt||ar(A)))return oe;if(nr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",vn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:vn}),St(le)}r=void 0}}if(y==="busybox"&&m.length>1)return LS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),Do(f.slice(1),t,{...p,effectiveCwd:E,envAssignments:h});let k=O(DS(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),St(k);let z=r===p.trace?p:{...p,trace:r},M={words:f,head:y,cwd:R,originalCwd:w,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:E,options:z,analyzeChildTokens:(A,Z)=>On(Do(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=ZS(y);if(y==="rm"||y==="xargs"||y==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let U=r&&y==="git"?Bv(M.words,sd(M)):void 0,ge=WS(U?U.match:W?.(M)??null,n.policy);if(r)hz(M,ge,U?.relaxation??null);if(ge)return St(ge);let Ze=W!==void 0;if(!Ze)if(!rs.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let oe=m[Z];if(!oe)continue;A?.push(oe);let le=WS(yz(M,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(oe)}),St(le)}r?.recordSegment({type:"fallback-scan",tokensScanned:A??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!Ze){let A=pe(m,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!A,reason:A?.reason}),A)return St(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function pz(e,t,n,r,o,i){let s=Kv(e);if(s.argvSource?.kind==="absent")return Me(o);if(s.argvSourceApplies&&s.argvSource){let c=sa(s.argvSource.value,n,t,r,o,i,!0);if(c)return c}if(!s.envSourceApplies||!s.envName)return null;let a=t.get(s.envName);if(!a)return null;return sa(a,n,t,r,o,i,!0)}function sa(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Me(o);let a=co(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Me(o):null;return Je(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function 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 LS(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function St(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Me(e){return e?.recordSegment({type:"error",message:GS}),St(BS())}function BS(){return{id:"",reason:GS,intent:"stop_and_explain"}}function US(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function yz(e,t,n){let r=rt(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=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(US(r,o)){Je(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ve(c))return null;let l=ht(c);if(!l){if(bt(j(c)).kind==="dynamic")return BS();return ia(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?On(u):ia(e,n)}let i=ZS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Je(e.options.derivedCommandWorkBudget,e.words.length-t);return ia(e,n)}Je(e.options.derivedCommandWorkBudget,e.words.length-t);let s=[o,...n.tokens.slice(1)],a={...e,words:j(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!lo(n.envAssignments,e.options.environment),effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,options:o==="git"?{...e.options,worktreeMode:!1}:e.options};return i(a)??ia(e,n)}function ia(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function WS(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var 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 xz(e,t){let n=VS(e,t);if(n.length===0)return!1;let r=n[HS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return vz.test(e.join(" "))}function jS(e,t,n,r){if(e.dialect==="powershell"){let a=_z(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return FS(Ez(a.target),t,n.paths)}let o=e.words.map(N);if(!xz(o,n))return;if(!t)return null;let i=VS(o,n,t),s=HS(i);if(s===-1||i[s]!=="cd")return null;return FS(i[s+1],t,n.paths)}function FS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Pz(Vt(t,e,n),t,n)?t:null}catch{return null}}function _z(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 Rz(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 Rz(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 Ez(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function HS(e){let t=0;if(e[0]==="builtin"&&e.length>1)t=1;if(e[t]!=="time")return t;let n=t+1;while(e[n]?.startsWith("-"))n++;return n}function VS(e,t,n){let r=kz(e);return or([...r],t,n)}function Pz(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return oa(e)===oa(t);return oa(r)===oa(o)}function 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 cd="TMPDIR",ld="IFS",qS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,KS=/^[A-Za-z_][A-Za-z0-9_]*$/,YS=new Set(["export","typeset","declare","readonly"]),Az=new Set(["builtin","command","time"]);function JS(e,t){return{env:e,effectiveEnvAssignments:Nz(e,t),shellAssignments:new Map}}function XS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function ud(e,t){let n=ex(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),dd(t,s)});let r=n.commandIndex;if(r!==-1&&YS.has(e[r]??""))e.filter((s)=>KS.test(s)&&ad(s)).forEach((s)=>{Dz(t,s)});let o=r===-1?-1:tx(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 QS(e,t){let n=ex(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 ex(e,t){let n=e.findIndex((s)=>!Tz(s)),r=n!==-1&&YS.has(e[tx(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&&!Ml(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function tx(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 je(e)!==null||qS.test(e)}function Iz(e,t,n){return je(e)??Oz(e,t,n)}function Oz(e,t,n){let r=Hi(e,n,t);if(r)return r;let o=e.match(qS)?.[1];if(!o)return null;let i=e.indexOf("=");return{name:o,value:`${t.has(o)?t.get(o):n.get(o)??""}${e.slice(i+1)}`}}function ad(e){return e===cd||e===ld||Ll(e)}function zz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Nz(e,t){let n=[...Ui,cd,ld].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 dd(e,t){let n=new Map(e.effectiveEnvAssignments??[]);n.set(t.name,t.value),e.effectiveEnvAssignments=n}function Dz(e,t){dd(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function $z(e,t){if(!ad(t)&&!KS.test(t))return;if(e.shellAssignments.set(t,""),!ad(t)||t===cd||t===ld||to(t)){dd(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.",zn="This heredoc form or stdin consumer is not supported safely. Use a quoted heredoc with a supported consumer (cat, tee, git apply, git commit, gh pr create, gh issue create), or ask the user to verify.",Wz=64;function hd(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??Vy()},r)}catch(s){let a=s instanceof Ie&&o?Ly:s instanceof ds&&i?Hy: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:It}),{reason:It,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??et(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:It}),{reason:It,segment:e,intent:"stop_and_explain"};if(o.status==="invalid"){let l=o.issues.find((u)=>u.code.includes("heredoc"));if(l){if(!n.strict)return gd(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 ax(e,n),{reason:qt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return ax(e,n),{reason:qt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return gd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=JS(n.environment.env,n.envAssignments);return la(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function la(e,t,n,r,o){let i=[...o],s,a;for(let[c,l]of e.nodes.entries()){if(l.kind==="connector"){a=l.operator;continue}let u=e.nodes[c+1],d=u?.kind==="connector"?u.operator:void 0,f=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??[]:[],R=m||gr(d);if(l.kind==="function"){let k=h.flatMap((M)=>{let W=$o(M);return W.functionDefinitions.set(l.name,l.body),md(M,[W],f,d==="&",gr(d))}),z=fd(k,[],b,y,a,d);i=z.states,s=z.conditionalStates,a=void 0;continue}if(l.kind==="group"){let k=[],z=[];for(let W of h){let U=la(l.body,t,n,r,[$o(W)]);if(U.result)return U;if(k.push(...md(W,U.states,f,d==="&",gr(d))),R)z.push(W,...f?U.states.map((ge)=>aa(W,ge)):U.states)}let M=fd(k,z,b,y,a,d);i=M.states,s=M.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let w=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),E=e.nodes[c-2],P=ua(a)&&E?.kind==="command"?Qv(E)??Bz(E):void 0,_=[],v=[];for(let k of h){let z=Uz(l,t,n,r,[$o(k)]);if(z.result)return{result:z.result,states:i};let M=e.dialect==="powershell"?z.states:z.states.map((W)=>aa(k,W));for(let W of M){let U=$o(W),ge=Vz(l,t,n.trace?{...n,trace:cx(n.trace,w)}:n,r,U,ua(a),P);if(ge)return{result:ge,states:i};let Ze=sN(l,U.functionDefinitions);if(Ze)Je(n.derivedCommandWorkBudget,da(Ze));let A=Ze?t+1>=ns?pd(l.displayText,n,[U]):la(Ze,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(_.push(...md(k,A.states,f,d==="&",gr(d))),R)v.push(k),v.push(...A.states.map((Z)=>f?aa(k,Z):Z))}}let T=fd(_,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"&&(ua(r)||ua(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Zz(e,t)}function md(e,t,n,r,o){let i=n?t.map((a)=>aa(e,a)):[...t],s=o?i.flatMap((a)=>Mo(e.literalHeredocFiles,a.literalHeredocFiles)?[a]:[{...a,literalHeredocFiles:new Map(e.literalHeredocFiles)},a]):i;return r?[e,...s]:s}function aa(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function 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 ua(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 gr(e){return e==="&&"||e==="||"}function fd(e,t,n,r,o,i){let s={success:ca([...n,...e]),failure:ca([...r,...t])},a=gr(i)?s:void 0;return{states:gr(o)||a?ca([...s.success,...s.failure]):s.success,conditionalStates:a}}function cx(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 pd(s,n,o);let a=et(s,"powershell");if(a.status==="limited")return pd(s,n,o);if(a.status!=="complete")return nx(i,n,r,o);Je(n.derivedCommandWorkBudget,da(a)),i.push({program:a,depth:t+1})}}return nx(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 nx(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=la(i.program,i.depth,t,n,[$o(a)]);if(c.result)return c;s.push(...c.states)}o=ca(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 da(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+da(o),0):n.kind==="group"||n.kind==="function"?da(n.body):0),0)}function pd(e,t,n){return t.trace?.recordSegment({type:"error",message:It}),{result:{reason:It,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"};lx(e,o,"before-consumer",n.environment.paths);let c=Yn(e.dialect,e.words).map(N),l=e.displayText,u=QS(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(vv(e,i,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(" ")&&!po(e.dialect,e.words)){let m=O(Dt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&Dy(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=rx(e,a,o,u,s,n);if(h)return h;return ud(c,o.shellGitContextState),null}let d=Do(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(m,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,b=hd(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?cx(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=rx(e,a,o,u,s,n);if(f)return f;return ud(c,o.shellGitContextState),null}function rx(e,t,n,r,o,i){let s=tN(e,t,n,r??new Map,i);if(s)return s;return lx(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 qz=new Set([">>","<>"]);function lx(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?Kz(i):qz.has(i.operator)))continue;ox(i.target,t,r)}if(n!=="before-consumer"||!Le(e.words[0],"tee"))return;let o=ux(e.words.slice(1));if(!o)return;for(let i of o.operands)ox(i,t,r)}function Kz(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 ox(e,t,n){let r=e?.provenance==="literal"?co(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?.quotedDelimiter)return;for(let i of Jz(e)){let s=co(i.text,n.effectiveCwd,r);if(!s||!Gy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Fy)throw new Ie;n.literalHeredocFiles.set(s,o.body)}}function Jz(e){let t=Qz(e.redirections)?.target,n=ix(t)?[t]:[];if(Le(e.words[0],"cat"))return Xz(e.words)?n:[];if(!Le(e.words[0],"tee"))return[];let r=ux(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(ix))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 ux(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&Le(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 ix(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 Le(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function eN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return zn;let n=t[0];if(!n?.heredoc)return zn;if(!n.heredoc.quotedDelimiter)return Lz;if(n.fd!==void 0&&n.fd!==0)return zn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return zn;let r=e.redirections.some((s)=>s!==n&&sx(s.target));if(Le(e.words[0],"cat"))return r?zn:void 0;if(Le(e.words[0],"tee"))return r||e.words.slice(1).some(sx)?zn:void 0;let o=e.words[0],i=e.words[1];if(Le(o,"git")&&(Le(i,"apply")||Le(i,"commit")))return;if(Le(o,"gh")&&(Le(i,"pr")||Le(i,"issue"))&&Le(e.words[2],"create"))return;return zn}function sx(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=gd(s.length===i.length?s.join(`
|
|
61
|
-
`):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?.quotedDelimiter||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!Oe(o.text))return;if(!e.words.slice(1).every((l)=>l.provenance==="literal"&&l.text.startsWith("-")))return;let s=r.heredoc.body,a=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(n.trace?.recordSegment({type:"interpreter",interpreter:o.text,codeArg:s,paranoidBlocked:a}),a){let l=O(S("interpreter.one-liner-paranoid",tr),n.policy);if(l)return l}if(!nr(s,n.scanWork))return null;let c=O(S("interpreter.dangerous-command",vn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function rN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc?.quotedDelimiter||i.fd!==void 0&&i.fd!==0)return!1;let s=Sn(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(N),c=H(a[0]??"");if((s.envSplitValues?.length??0)>0||!de.has(c)&&!de.has(G(c)))return!1;return Ve(a)}function oN(e,t,n,r,o){let i=jS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(N).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function $o(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:XS(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function ca(e){let t=[];for(let n of e){if(!t.some((r)=>iN(r,n)))t.push(n);if(t.length>Wz)throw new Ie}return t}function iN(e,t){return e.effectiveCwd===t.effectiveCwd&&Mo(e.literalHeredocFiles,t.literalHeredocFiles)&&Mo(e.functionDefinitions,t.functionDefinitions)&&Mo(e.shellGitContextState.effectiveEnvAssignments,t.shellGitContextState.effectiveEnvAssignments)&&Mo(e.shellGitContextState.shellAssignments,t.shellGitContextState.shellAssignments)}function Mo(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=As(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 gd(e,t){let n=O(Dt(e,t.scanWork),t.policy),r=t.trace?.currentSegmentIndex??t.trace?.allocateSegment(),o={type:"dangerous-text",token:e,matched:!!n,reason:n?.reason};if(t.trace?.recordSegment(o,r),!n&&/^(?:cd|pushd)\s/.test(e))t.trace?.recordSegment({type:"cwd-change",segment:e,effectiveCwdNowUnknown:!0},r);return n?{reason:n.reason,segment:e,ruleId:n.id,intent:n.intent}:null}function ax(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"}},ma=["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 ma.indexOf(t)>ma.indexOf(e)?t:e}function dN(){let e=xd(me.level);if(e===void 0||e==="")return;if(ma.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${ma.join(", ")}.`);return}function mN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function bd(){return mN(xd(me.auditScope))==="all"}function vd(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=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(nn(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(nn(me.paranoid))o.paranoidRm=!0,o.paranoidInterpreters=!0,i.paranoidRm="environment",i.paranoidInterpreters="environment",s.paranoidRm.push(`env ${me.paranoid.name}`),s.paranoidInterpreters.push(`env ${me.paranoid.name}`);if(nn(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(nn(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||nn(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:vd(o),capabilities:{fail_closed:{enabled:o.failClosed,source:i.failClosed,sources:s.failClosed},paranoid_rm:{enabled:o.paranoidRm,source:i.paranoidRm,sources:s.paranoidRm},paranoid_interpreters:{enabled:o.paranoidInterpreters,source:i.paranoidInterpreters,sources:s.paranoidInterpreters}}}}function nn(e){let t=typeof e==="string"?yd(e):xd(e);return t==="1"||t?.toLowerCase()==="true"}function yd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function xd(e){let t=yd(e.name);if(t!==void 0)return t;if(e.legacyName)return yd(e.legacyName);return}function dx(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:_d(t.fail_closed,e.strict,"strict"),paranoid_rm:_d(t.paranoid_rm,e.paranoidRm,"paranoidRm"),paranoid_interpreters:_d(t.paranoid_interpreters,e.paranoidInterpreters,"paranoidInterpreters")};return{policy:zy(e.policySnapshot.policy,i),effectiveCapabilities:i,effectiveLevel:vd({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function _d(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 mx(e,t,n,r){let o=hd(e,0,{...t,...dx(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 z$,dirname as hh}from"path";function Lo(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 MU,existsSync as S$,mkdirSync as LU,readFileSync as x$}from"fs";import{dirname as _$,join as C$}from"path";import{createRequire as a$}from"module";var sh={};dn(sh,{$brand:()=>pa,$input:()=>ja,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>Sg,ZodArray:()=>wg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Vc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Hg,ZodCodec:()=>al,ZodCustom:()=>vi,ZodCustomStringFormat:()=>jr,ZodDate:()=>pi,ZodDefault:()=>Fg,ZodDiscriminatedUnion:()=>Eg,ZodE164:()=>Jc,ZodEmail:()=>Mc,ZodEmoji:()=>Lc,ZodEnum:()=>Br,ZodError:()=>Hx,ZodExactOptional:()=>Mg,ZodFile:()=>Dg,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>th,ZodGUID:()=>li,ZodIPv4:()=>jc,ZodIPv6:()=>Hc,ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,ZodIntersection:()=>Pg,ZodIssueCode:()=>aC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>Xg,ZodLiteral:()=>Ng,ZodMAC:()=>fg,ZodMap:()=>Og,ZodNaN:()=>qg,ZodNanoID:()=>Wc,ZodNever:()=>_g,ZodNonOptional:()=>il,ZodNull:()=>bg,ZodNullable:()=>Wg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>hi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Zg,ZodPromise:()=>eh,ZodReadonly:()=>Kg,ZodRealError:()=>_e,ZodRecord:()=>bi,ZodSet:()=>zg,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>jg,ZodSymbol:()=>hg,ZodTemplateLiteral:()=>Jg,ZodTransform:()=>$g,ZodTuple:()=>Ag,ZodType:()=>L,ZodULID:()=>Zc,ZodURL:()=>fi,ZodUUID:()=>Et,ZodUndefined:()=>yg,ZodUnion:()=>yi,ZodUnknown:()=>xg,ZodVoid:()=>Cg,ZodXID:()=>Bc,ZodXor:()=>Rg,_ZodString:()=>$c,_default:()=>Gg,_function:()=>X_,any:()=>T_,array:()=>gi,base64:()=>f_,base64url:()=>p_,bigint:()=>R_,boolean:()=>gg,catch:()=>Vg,check:()=>Q_,cidrv4:()=>d_,cidrv6:()=>m_,clone:()=>ye,codec:()=>K_,coerce:()=>ll,config:()=>se,core:()=>Rt,cuid:()=>r_,cuid2:()=>o_,custom:()=>eC,date:()=>O_,decode:()=>Pc,decodeAsync:()=>Ac,default:()=>n$,describe:()=>tC,discriminatedUnion:()=>L_,e164:()=>g_,email:()=>Vx,emoji:()=>t_,encode:()=>Ec,encodeAsync:()=>kc,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Lg,file:()=>j_,flattenError:()=>vr,float32:()=>x_,float64:()=>__,formatError:()=>Sr,fromJSONSchema:()=>ih,function:()=>X_,getErrorMap:()=>lC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>xe,guid:()=>qx,hash:()=>S_,hex:()=>v_,hostname:()=>b_,httpUrl:()=>e_,includes:()=>Ar,instanceof:()=>rC,int:()=>Dc,int32:()=>C_,int64:()=>E_,intersection:()=>kg,ipv4:()=>c_,ipv6:()=>u_,iso:()=>ci,json:()=>iC,jwt:()=>h_,keyof:()=>z_,ksuid:()=>a_,lazy:()=>Qg,length:()=>Fn,literal:()=>U_,locales:()=>Qo,looseObject:()=>$_,looseRecord:()=>F_,lowercase:()=>Pr,lt:()=>_t,lte:()=>Ge,mac:()=>l_,map:()=>G_,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>nC,mime:()=>Or,minLength:()=>Ft,minSize:()=>wt,multipleOf:()=>cn,nan:()=>q_,nanoid:()=>n_,nativeEnum:()=>B_,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>Ug,nonpositive:()=>gc,normalize:()=>zr,null:()=>vg,nullable:()=>di,nullish:()=>H_,number:()=>pg,object:()=>N_,optional:()=>ui,overwrite:()=>st,parse:()=>_c,parseAsync:()=>Cc,partialRecord:()=>W_,pipe:()=>mi,positive:()=>fc,prefault:()=>Bg,preprocess:()=>sC,prettifyError:()=>Sa,promise:()=>J_,property:()=>yc,readonly:()=>Yg,record:()=>Ig,refine:()=>nh,regex:()=>Er,regexes:()=>Fe,registry:()=>ei,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>wc,safeParseAsync:()=>Rc,set:()=>Z_,setErrorMap:()=>cC,size:()=>Ln,slugify:()=>Mr,startsWith:()=>Tr,strictObject:()=>D_,string:()=>Nc,stringFormat:()=>y_,stringbool:()=>oC,success:()=>V_,superRefine:()=>rh,symbol:()=>k_,templateLiteral:()=>Y_,toJSONSchema:()=>ri,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Tg,uint32:()=>w_,uint64:()=>P_,ulid:()=>i_,undefined:()=>A_,union:()=>tl,unknown:()=>Gn,uppercase:()=>kr,url:()=>Qx,util:()=>I,uuid:()=>Kx,uuidv4:()=>Yx,uuidv6:()=>Jx,uuidv7:()=>Xx,void:()=>I_,xid:()=>s_,xor:()=>M_,z:()=>ul});var ul={};dn(ul,{$brand:()=>pa,$input:()=>ja,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>Sg,ZodArray:()=>wg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Vc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Hg,ZodCodec:()=>al,ZodCustom:()=>vi,ZodCustomStringFormat:()=>jr,ZodDate:()=>pi,ZodDefault:()=>Fg,ZodDiscriminatedUnion:()=>Eg,ZodE164:()=>Jc,ZodEmail:()=>Mc,ZodEmoji:()=>Lc,ZodEnum:()=>Br,ZodError:()=>Hx,ZodExactOptional:()=>Mg,ZodFile:()=>Dg,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>th,ZodGUID:()=>li,ZodIPv4:()=>jc,ZodIPv6:()=>Hc,ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,ZodIntersection:()=>Pg,ZodIssueCode:()=>aC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>Xg,ZodLiteral:()=>Ng,ZodMAC:()=>fg,ZodMap:()=>Og,ZodNaN:()=>qg,ZodNanoID:()=>Wc,ZodNever:()=>_g,ZodNonOptional:()=>il,ZodNull:()=>bg,ZodNullable:()=>Wg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>hi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Zg,ZodPromise:()=>eh,ZodReadonly:()=>Kg,ZodRealError:()=>_e,ZodRecord:()=>bi,ZodSet:()=>zg,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>jg,ZodSymbol:()=>hg,ZodTemplateLiteral:()=>Jg,ZodTransform:()=>$g,ZodTuple:()=>Ag,ZodType:()=>L,ZodULID:()=>Zc,ZodURL:()=>fi,ZodUUID:()=>Et,ZodUndefined:()=>yg,ZodUnion:()=>yi,ZodUnknown:()=>xg,ZodVoid:()=>Cg,ZodXID:()=>Bc,ZodXor:()=>Rg,_ZodString:()=>$c,_default:()=>Gg,_function:()=>X_,any:()=>T_,array:()=>gi,base64:()=>f_,base64url:()=>p_,bigint:()=>R_,boolean:()=>gg,catch:()=>Vg,check:()=>Q_,cidrv4:()=>d_,cidrv6:()=>m_,clone:()=>ye,codec:()=>K_,coerce:()=>ll,config:()=>se,core:()=>Rt,cuid:()=>r_,cuid2:()=>o_,custom:()=>eC,date:()=>O_,decode:()=>Pc,decodeAsync:()=>Ac,describe:()=>tC,discriminatedUnion:()=>L_,e164:()=>g_,email:()=>Vx,emoji:()=>t_,encode:()=>Ec,encodeAsync:()=>kc,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Lg,file:()=>j_,flattenError:()=>vr,float32:()=>x_,float64:()=>__,formatError:()=>Sr,fromJSONSchema:()=>ih,function:()=>X_,getErrorMap:()=>lC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>xe,guid:()=>qx,hash:()=>S_,hex:()=>v_,hostname:()=>b_,httpUrl:()=>e_,includes:()=>Ar,instanceof:()=>rC,int:()=>Dc,int32:()=>C_,int64:()=>E_,intersection:()=>kg,ipv4:()=>c_,ipv6:()=>u_,iso:()=>ci,json:()=>iC,jwt:()=>h_,keyof:()=>z_,ksuid:()=>a_,lazy:()=>Qg,length:()=>Fn,literal:()=>U_,locales:()=>Qo,looseObject:()=>$_,looseRecord:()=>F_,lowercase:()=>Pr,lt:()=>_t,lte:()=>Ge,mac:()=>l_,map:()=>G_,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>nC,mime:()=>Or,minLength:()=>Ft,minSize:()=>wt,multipleOf:()=>cn,nan:()=>q_,nanoid:()=>n_,nativeEnum:()=>B_,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>Ug,nonpositive:()=>gc,normalize:()=>zr,null:()=>vg,nullable:()=>di,nullish:()=>H_,number:()=>pg,object:()=>N_,optional:()=>ui,overwrite:()=>st,parse:()=>_c,parseAsync:()=>Cc,partialRecord:()=>W_,pipe:()=>mi,positive:()=>fc,prefault:()=>Bg,preprocess:()=>sC,prettifyError:()=>Sa,promise:()=>J_,property:()=>yc,readonly:()=>Yg,record:()=>Ig,refine:()=>nh,regex:()=>Er,regexes:()=>Fe,registry:()=>ei,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>wc,safeParseAsync:()=>Rc,set:()=>Z_,setErrorMap:()=>cC,size:()=>Ln,slugify:()=>Mr,startsWith:()=>Tr,strictObject:()=>D_,string:()=>Nc,stringFormat:()=>y_,stringbool:()=>oC,success:()=>V_,superRefine:()=>rh,symbol:()=>k_,templateLiteral:()=>Y_,toJSONSchema:()=>ri,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Tg,uint32:()=>w_,uint64:()=>P_,ulid:()=>i_,undefined:()=>A_,union:()=>tl,unknown:()=>Gn,uppercase:()=>kr,url:()=>Qx,util:()=>I,uuid:()=>Kx,uuidv4:()=>Yx,uuidv6:()=>Jx,uuidv7:()=>Xx,void:()=>I_,xid:()=>s_,xor:()=>M_});var Rt={};dn(Rt,{$ZodAny:()=>af,$ZodArray:()=>mf,$ZodAsyncError:()=>xt,$ZodBase64:()=>Ym,$ZodBase64URL:()=>Jm,$ZodBigInt:()=>Ga,$ZodBigIntFormat:()=>nf,$ZodBoolean:()=>Yo,$ZodCIDRv4:()=>Vm,$ZodCIDRv6:()=>qm,$ZodCUID:()=>Dm,$ZodCUID2:()=>$m,$ZodCatch:()=>Tf,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>dm,$ZodCheckEndsWith:()=>Cm,$ZodCheckGreaterThan:()=>za,$ZodCheckIncludes:()=>xm,$ZodCheckLengthEquals:()=>ym,$ZodCheckLessThan:()=>Oa,$ZodCheckLowerCase:()=>vm,$ZodCheckMaxLength:()=>gm,$ZodCheckMaxSize:()=>mm,$ZodCheckMimeType:()=>Rm,$ZodCheckMinLength:()=>hm,$ZodCheckMinSize:()=>fm,$ZodCheckMultipleOf:()=>lm,$ZodCheckNumberFormat:()=>um,$ZodCheckOverwrite:()=>Em,$ZodCheckProperty:()=>wm,$ZodCheckRegex:()=>bm,$ZodCheckSizeEquals:()=>pm,$ZodCheckStartsWith:()=>_m,$ZodCheckStringFormat:()=>Rr,$ZodCheckUpperCase:()=>Sm,$ZodCodec:()=>Xo,$ZodCustom:()=>Lf,$ZodCustomStringFormat:()=>ef,$ZodDate:()=>df,$ZodDefault:()=>Ef,$ZodDiscriminatedUnion:()=>gf,$ZodE164:()=>Xm,$ZodEmail:()=>Im,$ZodEmoji:()=>zm,$ZodEncodeError:()=>Nn,$ZodEnum:()=>Sf,$ZodError:()=>Ho,$ZodExactOptional:()=>wf,$ZodFile:()=>_f,$ZodFunction:()=>Df,$ZodGUID:()=>Am,$ZodIPv4:()=>Um,$ZodIPv6:()=>jm,$ZodISODate:()=>Gm,$ZodISODateTime:()=>Fm,$ZodISODuration:()=>Bm,$ZodISOTime:()=>Zm,$ZodIntersection:()=>hf,$ZodJWT:()=>Qm,$ZodKSUID:()=>Wm,$ZodLazy:()=>Mf,$ZodLiteral:()=>xf,$ZodMAC:()=>Hm,$ZodMap:()=>bf,$ZodNaN:()=>If,$ZodNanoID:()=>Nm,$ZodNever:()=>lf,$ZodNonOptional:()=>kf,$ZodNull:()=>sf,$ZodNullable:()=>Rf,$ZodNumber:()=>Fa,$ZodNumberFormat:()=>tf,$ZodObject:()=>Fx,$ZodObjectJIT:()=>ff,$ZodOptional:()=>Ba,$ZodPipe:()=>Of,$ZodPrefault:()=>Pf,$ZodPromise:()=>$f,$ZodReadonly:()=>zf,$ZodRealError:()=>ke,$ZodRecord:()=>yf,$ZodRegistry:()=>Wf,$ZodSet:()=>vf,$ZodString:()=>Mn,$ZodStringFormat:()=>q,$ZodSuccess:()=>Af,$ZodSymbol:()=>rf,$ZodTemplateLiteral:()=>Nf,$ZodTransform:()=>Cf,$ZodTuple:()=>Za,$ZodType:()=>D,$ZodULID:()=>Mm,$ZodURL:()=>Om,$ZodUUID:()=>Tm,$ZodUndefined:()=>of,$ZodUnion:()=>Jo,$ZodUnknown:()=>cf,$ZodVoid:()=>uf,$ZodXID:()=>Lm,$ZodXor:()=>pf,$brand:()=>pa,$constructor:()=>g,$input:()=>ja,$output:()=>Ua,Doc:()=>Na,JSONSchema:()=>Bx,JSONSchemaGenerator:()=>cg,NEVER:()=>fa,TimePrecision:()=>mc,_any:()=>lp,_array:()=>hp,_base64:()=>cc,_base64url:()=>lc,_bigint:()=>np,_boolean:()=>ep,_catch:()=>FD,_check:()=>Zx,_cidrv4:()=>sc,_cidrv6:()=>ac,_coercedBigint:()=>rp,_coercedBoolean:()=>tp,_coercedDate:()=>pp,_coercedNumber:()=>qf,_coercedString:()=>Gf,_cuid:()=>Qa,_cuid2:()=>ec,_custom:()=>bp,_date:()=>fp,_decode:()=>wa,_decodeAsync:()=>Ea,_default:()=>MD,_discriminatedUnion:()=>RD,_e164:()=>uc,_email:()=>Ha,_emoji:()=>Ja,_encode:()=>Ca,_encodeAsync:()=>Ra,_endsWith:()=>Ir,_enum:()=>ID,_file:()=>yp,_float32:()=>Yf,_float64:()=>Jf,_gt:()=>Ct,_gte:()=>xe,_guid:()=>ti,_includes:()=>Ar,_int:()=>Kf,_int32:()=>Xf,_int64:()=>op,_intersection:()=>ED,_ipv4:()=>oc,_ipv6:()=>ic,_isoDate:()=>Uf,_isoDateTime:()=>Bf,_isoDuration:()=>Hf,_isoTime:()=>jf,_jwt:()=>dc,_ksuid:()=>rc,_lazy:()=>UD,_length:()=>Fn,_literal:()=>zD,_lowercase:()=>Pr,_lt:()=>_t,_lte:()=>Ge,_mac:()=>Zf,_map:()=>AD,_max:()=>Ge,_maxLength:()=>Wn,_maxSize:()=>ln,_mime:()=>Or,_min:()=>xe,_minLength:()=>Ft,_minSize:()=>wt,_multipleOf:()=>cn,_nan:()=>gp,_nanoid:()=>Xa,_nativeEnum:()=>OD,_negative:()=>pc,_never:()=>dp,_nonnegative:()=>hc,_nonoptional:()=>LD,_nonpositive:()=>gc,_normalize:()=>zr,_null:()=>cp,_nullable:()=>$D,_number:()=>Vf,_optional:()=>DD,_overwrite:()=>st,_parse:()=>xr,_parseAsync:()=>_r,_pipe:()=>GD,_positive:()=>fc,_promise:()=>jD,_property:()=>yc,_readonly:()=>ZD,_record:()=>kD,_refine:()=>vp,_regex:()=>Er,_safeDecode:()=>ka,_safeDecodeAsync:()=>Ta,_safeEncode:()=>Pa,_safeEncodeAsync:()=>Aa,_safeParse:()=>Cr,_safeParseAsync:()=>wr,_set:()=>TD,_size:()=>Ln,_slugify:()=>Mr,_startsWith:()=>Tr,_string:()=>Ff,_stringFormat:()=>Lr,_stringbool:()=>Cp,_success:()=>WD,_superRefine:()=>Sp,_symbol:()=>sp,_templateLiteral:()=>BD,_toLowerCase:()=>Dr,_toUpperCase:()=>$r,_transform:()=>ND,_trim:()=>Nr,_tuple:()=>PD,_uint32:()=>Qf,_uint64:()=>ip,_ulid:()=>tc,_undefined:()=>ap,_union:()=>CD,_unknown:()=>up,_uppercase:()=>kr,_url:()=>ni,_uuid:()=>Va,_uuidv4:()=>qa,_uuidv6:()=>Ka,_uuidv7:()=>Ya,_void:()=>mp,_xid:()=>nc,_xor:()=>wD,clone:()=>ye,config:()=>se,createStandardJSONSchemaMethod:()=>bc,createToJSONSchemaMethod:()=>wp,decode:()=>GN,decodeAsync:()=>BN,describe:()=>xp,encode:()=>FN,encodeAsync:()=>ZN,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>Sr,globalConfig:()=>Wo,globalRegistry:()=>Ae,initializeContext:()=>Fr,isValidBase64:()=>Km,isValidBase64URL:()=>$x,isValidJWT:()=>Mx,locales:()=>Qo,meta:()=>_p,parse:()=>xa,parseAsync:()=>_a,prettifyError:()=>Sa,process:()=>X,regexes:()=>Fe,registry:()=>ei,safeDecode:()=>jN,safeDecodeAsync:()=>VN,safeEncode:()=>UN,safeEncodeAsync:()=>HN,safeParse:()=>zd,safeParseAsync:()=>Nd,toDotPath:()=>bx,toJSONSchema:()=>ri,treeifyError:()=>va,util:()=>I,version:()=>Pm});var fa=Object.freeze({status:"aborted"});function g(e,t,n){function r(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let f=u[d];if(!(f in a))a[f]=l[f].bind(a)}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=n?.Parent?new i:this;r(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(n?.Parent&&a instanceof n.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}var pa=Symbol("zod_brand");class xt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Nn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Wo={};function se(e){if(e)Object.assign(Wo,e);return Wo}var I={};dn(I,{BIGINT_FORMAT_RANGES:()=>Id,Class:()=>hx,NUMBER_FORMAT_RANGES:()=>Td,aborted:()=>an,allowsEval:()=>Ed,assert:()=>bN,assertEqual:()=>pN,assertIs:()=>hN,assertNever:()=>yN,assertNotEqual:()=>gN,assignProp:()=>on,base64ToUint8Array:()=>px,base64urlToUint8Array:()=>DN,cached:()=>yr,captureStackTrace:()=>ya,cleanEnum:()=>NN,cleanRegex:()=>Zo,clone:()=>ye,cloneDef:()=>SN,createTransparentProxy:()=>EN,defineLazy:()=>F,esc:()=>ha,escapeRegex:()=>Ke,extend:()=>AN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>wd,getElementAtPath:()=>xN,getEnumValues:()=>Go,getLengthableOrigin:()=>jo,getParsedType:()=>RN,getSizableOrigin:()=>Uo,hexToUint8Array:()=>MN,isObject:()=>Dn,isPlainObject:()=>sn,issue:()=>br,joinValues:()=>ga,jsonStringifyReplacer:()=>hr,merge:()=>IN,mergeDefs:()=>Wt,normalizeParams:()=>x,nullish:()=>rn,numKeys:()=>wN,objectClone:()=>vN,omit:()=>kN,optionalKeys:()=>Ad,parsedType:()=>Od,partial:()=>ON,pick:()=>PN,prefixIssues:()=>We,primitiveTypes:()=>kd,promiseAllObject:()=>_N,propertyKeyTypes:()=>Bo,randomString:()=>CN,required:()=>zN,safeExtend:()=>TN,shallowClone:()=>Pd,slugify:()=>Rd,stringifyPrimitive:()=>ba,uint8ArrayToBase64:()=>gx,uint8ArrayToBase64url:()=>$N,uint8ArrayToHex:()=>LN,unwrapMessage:()=>Fo});function pN(e){return e}function gN(e){return e}function hN(e){}function yN(e){throw Error("Unexpected value in exhaustive check")}function bN(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 ga(e,t="|"){return e.map((n)=>ba(n)).join(t)}function hr(e,t){if(typeof t==="bigint")return t.toString();return t}function yr(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function rn(e){return e===null||e===void 0}function Zo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function wd(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 fx=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===fx)return;if(r===void 0)r=fx,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function vN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function on(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Wt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function SN(e){return Wt(e._zod.def)}function xN(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 CN(e=10){let n="";for(let r=0;r<e;r++)n+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return n}function ha(e){return JSON.stringify(e)}function Rd(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ya="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Dn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Ed=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function sn(e){if(Dn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if(Dn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function Pd(e){if(sn(e))return{...e};if(Array.isArray(e))return[...e];return e}function wN(e){let t=0;for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n))t++;return t}var RN=(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"]),kd=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ke(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ye(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function x(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function 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 ba(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Ad(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Td={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]},Id={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function PN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=Wt(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=n.shape[a]}return on(this,"shape",s),s},checks:[]});return ye(e,i)}function kN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=Wt(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return on(this,"shape",s),s},checks:[]});return ye(e,i)}function AN(e,t){if(!sn(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Wt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return on(this,"shape",i),i}});return ye(e,o)}function TN(e,t){if(!sn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return on(this,"shape",r),r}});return ye(e,n)}function IN(e,t){let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return on(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return ye(e,n)}function ON(e,t,n){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Wt(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!n[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return on(this,"shape",c),c},checks:[]});return ye(t,s)}function zN(e,t,n){let r=Wt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(n)for(let s in n){if(!(s in i))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;i[s]=new e({type:"nonoptional",innerType:o[s]})}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return on(this,"shape",i),i}});return ye(t,r)}function an(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function We(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function 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 Od(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 NN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function px(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 gx(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function DN(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return px(t+n)}function $N(e){return gx(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function MN(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 LN(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class hx{constructor(...e){}}var yx=(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",yx),ke=g("$ZodError",yx,{Parent:Error});function vr(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function Sr(e,t=(n)=>n.message){let n={_errors:[]},r=(o)=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((s)=>r({issues:s}));else if(i.code==="invalid_key")r({issues:i.issues});else if(i.code==="invalid_element")r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let s=n,a=0;while(a<i.path.length){let c=i.path[a];if(a!==i.path.length-1)s[c]=s[c]||{_errors:[]};else s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(i));s=s[c],a++}}};return r(e),n}function va(e,t=(n)=>n.message){let n={errors:[]},r=(o,i=[])=>{var s,a;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map((l)=>r({issues:l},c.path));else if(c.code==="invalid_key")r({issues:c.issues},c.path);else if(c.code==="invalid_element")r({issues:c.issues},c.path);else{let l=[...i,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;while(d<l.length){let f=l[d],m=d===l.length-1;if(typeof f==="string")u.properties??(u.properties={}),(s=u.properties)[f]??(s[f]={errors:[]}),u=u.properties[f];else u.items??(u.items=[]),(a=u.items)[f]??(a[f]={errors:[]}),u=u.items[f];if(m)u.errors.push(t(c));d++}}};return r(e),n}function bx(e){let t=[],n=e.map((r)=>typeof r==="object"?r.key:r);for(let r of n)if(typeof r==="number")t.push(`[${r}]`);else if(typeof r==="symbol")t.push(`[${JSON.stringify(String(r))}]`);else if(/[^\w$]/.test(r))t.push(`[${JSON.stringify(r)}]`);else{if(t.length)t.push(".");t.push(r)}return t.join("")}function Sa(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`\u2716 ${r.message}`),r.path?.length)t.push(` \u2192 at ${bx(r.path)}`);return t.join(`
|
|
62
|
-
`)}var xr=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new xt;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw ya(a,o?.callee),a}return s.value},xa=xr(ke),_r=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw ya(a,o?.callee),a}return s.value},_a=_r(ke),Cr=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new xt;return i.issues.length?{success:!1,error:new(e??Ho)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},zd=Cr(ke),wr=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Nd=wr(ke),Ca=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},FN=Ca(ke),wa=(e)=>(t,n,r)=>xr(e)(t,n,r),GN=wa(ke),Ra=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _r(e)(t,n,o)},ZN=Ra(ke),Ea=(e)=>async(t,n,r)=>_r(e)(t,n,r),BN=Ea(ke),Pa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},UN=Pa(ke),ka=(e)=>(t,n,r)=>Cr(e)(t,n,r),jN=ka(ke),Aa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return wr(e)(t,n,o)},HN=Aa(ke),Ta=(e)=>async(t,n,r)=>wr(e)(t,n,r),VN=Ta(ke);var Fe={};dn(Fe,{base64:()=>Yd,base64url:()=>Ia,bigint:()=>nm,boolean:()=>om,browserEmail:()=>tD,cidrv4:()=>qd,cidrv6:()=>Kd,cuid:()=>Dd,cuid2:()=>$d,date:()=>Xd,datetime:()=>em,domain:()=>oD,duration:()=>Gd,e164:()=>Jd,email:()=>Bd,emoji:()=>Ud,extendedDuration:()=>qN,guid:()=>Zd,hex:()=>iD,hostname:()=>rD,html5Email:()=>XN,idnEmail:()=>eD,integer:()=>rm,ipv4:()=>jd,ipv6:()=>Hd,ksuid:()=>Wd,lowercase:()=>am,mac:()=>Vd,md5_base64:()=>aD,md5_base64url:()=>cD,md5_hex:()=>sD,nanoid:()=>Fd,null:()=>im,number:()=>Vo,rfc5322Email:()=>QN,sha1_base64:()=>uD,sha1_base64url:()=>dD,sha1_hex:()=>lD,sha256_base64:()=>fD,sha256_base64url:()=>pD,sha256_hex:()=>mD,sha384_base64:()=>hD,sha384_base64url:()=>yD,sha384_hex:()=>gD,sha512_base64:()=>vD,sha512_base64url:()=>SD,sha512_hex:()=>bD,string:()=>tm,time:()=>Qd,ulid:()=>Md,undefined:()=>sm,unicodeEmail:()=>vx,uppercase:()=>cm,uuid:()=>$n,uuid4:()=>KN,uuid6:()=>YN,uuid7:()=>JN,xid:()=>Ld});var Dd=/^[cC][^\s-]{8,}$/,$d=/^[0-9a-z]+$/,Md=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ld=/^[0-9a-vA-V]{20}$/,Wd=/^[A-Za-z0-9]{27}$/,Fd=/^[a-zA-Z0-9_-]{21}$/,Gd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,qN=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Zd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,$n=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},KN=$n(4),YN=$n(6),JN=$n(7),Bd=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,XN=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,QN=/^(([^<>()\[\]\\.,;:\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,}))$/,vx=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,eD=vx,tD=/^[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])?)*$/,nD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Ud(){return new RegExp(nD,"u")}var jd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Hd=/^(([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}|:))$/,Vd=(e)=>{let t=Ke(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},qd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Kd=/^(([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])$/,Yd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ia=/^[A-Za-z0-9_-]*$/,rD=/^(?=.{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])?)*\.?$/,oD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Jd=/^\+[1-9]\d{6,14}$/,Sx="(?:(?:\\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])))",Xd=new RegExp(`^${Sx}$`);function xx(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 Qd(e){return new RegExp(`^${xx(e)}$`)}function em(e){let t=xx({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(`^${Sx}T(?:${r})$`)}var tm=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},nm=/^-?\d+n?$/,rm=/^-?\d+$/,Vo=/^-?\d+(?:\.\d+)?$/,om=/^(?:true|false)$/i,im=/^null$/i;var sm=/^undefined$/i;var am=/^[^A-Z]*$/,cm=/^[^a-z]*$/,iD=/^[0-9a-fA-F]*$/;function qo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Ko(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var sD=/^[0-9a-fA-F]{32}$/,aD=qo(22,"=="),cD=Ko(22),lD=/^[0-9a-fA-F]{40}$/,uD=qo(27,"="),dD=Ko(27),mD=/^[0-9a-fA-F]{64}$/,fD=qo(43,"="),pD=Ko(43),gD=/^[0-9a-fA-F]{96}$/,hD=qo(64,""),yD=Ko(64),bD=/^[0-9a-fA-F]{128}$/,vD=qo(86,"=="),SD=Ko(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Cx={number:"number",bigint:"bigint",object:"date"},Oa=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=Cx[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),za=g("$ZodCheckGreaterThan",(e,t)=>{J.init(e,t);let n=Cx[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})}}),lm=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):wd(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})}}),um=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]=Td[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=rm}),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})}}),dm=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=Id[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})}}),mm=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.size<=t.maximum)return;r.issues.push({origin:Uo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),fm=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.size>=t.minimum)return;r.issues.push({origin:Uo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),pm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.size,o.maximum=t.size,o.size=t.size}),e._zod.check=(r)=>{let o=r.value,i=o.size;if(i===t.size)return;let s=i>t.size;r.issues.push({origin: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})}}),gm=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.length<=t.maximum)return;let s=jo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),hm=g("$ZodCheckMinLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let s=jo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,i=o.length;if(i===t.length)return;let s=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=()=>{})}),bm=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})}}),vm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=am),Rr.init(e,t)}),Sm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=cm),Rr.init(e,t)}),xm=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=Ke(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),_m=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${Ke(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Cm=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${Ke(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});function _x(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues))}var wm=g("$ZodCheckProperty",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{let r=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(r instanceof Promise)return r.then((o)=>_x(o,n,t.property));_x(r,n,t.property);return}}),Rm=g("$ZodCheckMimeType",(e,t)=>{J.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Em=g("$ZodCheckOverwrite",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class Na{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
60
|
+
`?e.trim().split(/\s+/).filter(Boolean):e.split(t).filter(Boolean)}function Xs(e){if(!e)return!0;return e.provenance==="unknown"?!/[$`]/.test(N(e)):e.provenance==="literal"}function Ao(e){return e?N(e):""}function pO(e){return`'${e.replaceAll("'",`'"'"'`)}'`}function qu(e,t){return Hu(et(e,"posix"),t)}function fr(e){return qu(e,new Set(Array.from(e.matchAll(Xv)).flatMap((t)=>{let n=t[1]??t[2];return n===void 0?[]:[n]})))}function Hu(e,t){if(e.status==="invalid"||e.status==="limited")return!1;let n=new Set(t);for(let r of e.nodes){if(r.kind==="group"){if(Hu(r.body,n))return!0;continue}if(r.kind!=="command")continue;if(r.nested.some((o)=>Hu(o,n))||nS(r.words,n))return!0;vO(r,n)}return!1}function nS(e,t){let n=e.findIndex((s)=>je(s.text)===null);if(n===-1)return!1;let r=e[n];if(!r)return!1;if(To(r,t))return!0;let o=H(r.text);if(o==="source"||o==="."){let s=e[n+1]?.text==="--"?n+2:n+1;return Jv(e[s],t)}if(de.has(o)){let s=e.slice(n),a=yt(s.map((l)=>l.text)),c=a.commandIndex??a.scriptIndex;return!a.syntaxCheck&&c!==null&&Jv(s[c],t)}let i=gO(e,n,t);if(i===null)return!1;if(i===-1)return!0;return nS(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 To(e[r+1],n)?-1:r+2;if(i.startsWith("-S")||i.startsWith("--split-string="))return To(o,n)?-1:r+1;if(i==="-u"||i==="--unset"||i==="-C"||i==="--chdir"||i==="-P"){r++;continue}if(i==="-i"||i==="-0"||i==="--null"||i.startsWith("-u=")||i.startsWith("--unset=")||i.startsWith("-C")||i.startsWith("--chdir=")||i.startsWith("-P"))continue;if(i.startsWith("-"))continue;if(je(i))continue;return r}return null}function vO(e,t){if(!e.words.every((n)=>je(n.text)!==null))return;for(let n of e.words){let r=je(n.text);if(!r)continue;if(To(n,t))t.add(r.name)}}function To(e,t){if(!e)return!1;return e.parts.filter((n)=>n.provenance==="variable").some((n)=>Array.from(n.raw.matchAll(Xv)).some((r)=>{let o=r[1]??r[2];return o!==void 0&&(iO.test(o)||t.has(o))}))}function Jv(e,t){return!!e&&(e.parts.some((n)=>n.provenance!=="literal"&&n.provenance!=="variable")||To(e,t))}var SO=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),xO=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),_O=new Set;function rS(e){if(e==="git")return SO;if(e==="docker")return xO;return _O}function pe(e,t){if(e.length===0||t.length===0)return null;let n=H(e[0]??""),r=Re(e);for(let o of t){if(!CO(n,o.command))continue;if(!RO(n,e,o.subcommand))continue;if(EO(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 RO(e,t,n){if(!n)return!0;return oS(t,1,n,rS(e))}function oS(e,t,n,r){let o=!1;for(let i=t;i<e.length;i++){let s=e[i];if(!s)continue;if(o){o=!1;continue}if(s==="--"){let a=e[i+1];if(a&&!a.startsWith("-"))return a===n;return!1}if(r.has(s)){o=!0;continue}if(s.startsWith("-")){if(!s.includes("=")&&wO(e,i,n,r))return!0;continue}return s===n}return!1}function wO(e,t,n,r){let o=e[t+1];if(!o||o.startsWith("-"))return!1;return oS(e,t+2,n,r)}function EO(e,t,n){for(let r of e)if(t.has(r))return!0;for(let r of n)if(t.has(r))return!0;return!1}function en(e,t,n={}){if(e.length===0)return null;let r=e[0];if(!r)return null;let o=H(r);if(o==="eval"){let i=mr(j(e));if(i.kind==="dynamic")return pr(n,t);if(i.kind==="literal"&&t.analyzeNested){let s=t.analyzeNested(i.source,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s)return s}return vt(n,t)}if(de.has(o)){if(Ve(e))return null;let i=ht(e);if(i){if(n.dynamicSourceInput??n.dynamicInput){let c=pr(n,t);if(c)return c}if(fr(i)){let c=pr(n,t);if(c)return c}if(!t.analyzeNested)return null;let a=t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(a)return a;return null}let s=bt(j(e));if(s.kind==="dynamic")return pr(n,t);if(s.kind==="literal"){if(n.dynamicSourceInput)return pr(n,t);return null}if(n.dynamicSourceInput??n.dynamicInput)return pr(n,t);return null}if($e.has(o))return O(js(e,(i)=>t.analyzeNested?t.analyzeNested(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments}):null),t.policy)??pe(e,t.policy?.rules??[])??vt(n,t);if(Oe(o)){let i=is(e);if(!i)return vt(n,t);if(ue(t.policy,"interpreter.one-liner-paranoid",!!t.paranoidInterpreters)){let a=O(S("interpreter.one-liner-paranoid",tr),t.policy);if(a)return a}if(cs(o,i))return vt(n,t);let s=t.analyzeNested?.(i,{effectiveCwd:t.cwd,envAssignments:t.envAssignments});if(s&&s.id!=="raw-text.dangerous-command"&&(s.reason!==qt||ar(i)))return s;if(nr(i,t.scanWork))return O(S("interpreter.dangerous-command",vn),t.policy)??vt(n,t);return vt(n,t)}if(o==="rm"||o==="rmdir"){let i=o==="rm"&&(ot(e)||n.dynamicRmInput);return O(dr(j(e),{environment:t.environment,cwd:t.cwd,originalCwd:t.originalCwd,strict:t.strict,paranoid:t.paranoidRm,allowTmpdirVar:t.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(t.envAssignments,t.environment),trustedTmpdirValue:$t(t.envAssignments,t.environment),protectedGitMetadata:t.protectedGitMetadata,policy:t.policy}),t.policy)??(i&&n.dynamicRmInput?vt(n,t):null)??(i?PO(n,t):null)}if(o==="find")return qs(j(e),{...t,derivedCommandWorkBudget:t.derivedCommandWorkBudget,analyzeTokens:(i,s)=>en(i,{...t,cwd:s??void 0,derivedCommandWorkBudget:t.derivedCommandWorkBudget},n)})??pe(e,t.policy?.rules??[])??vt(n,t);if(o==="git")return O(ur(j(e),{env:t.environment.env,cwd:t.cwd,envAssignments:t.envAssignments,policy:t.policy,worktreeMode:n.dynamicInput?!1:t.worktreeMode}),t.policy)??pe(e,t.policy?.rules??[])??vt(n,t);return pe(e,t.policy?.rules??[])??vt(n,t)}function pr(e,t){return e.shellDynamicMatch?O(e.shellDynamicMatch,t.policy):null}function vt(e,t){return e.dynamicSourceInput&&e.dynamicSourceMatch?O(e.dynamicSourceMatch,t.policy):null}function PO(e,t){return e.dynamicInput&&e.rmDynamicMatch?O(e.rmDynamicMatch,t.policy):null}var Ku="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",Yu="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",kO="__CC_SAFETY_NET_XARGS_INPUT__",Qs="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",ea="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 aS(e,t){let n=e.map(N),{childStart:r,replacementToken:o}=kn(n),i=n.slice(r),s=S("xargs.shell-dynamic",Yu);if(NO(i,o,t)&&O(s,t.policy))return O(s,t.policy);for(let a of rt(i,t)){let c=a.tokens,l=o!==null&&c[0]!==i[0]&&(c[0]?.includes(o)??!1)?O(s,t.policy):null;if(l)return l;let u=dS(c,o,a.wrapperEnvAssignments),d=a.head==="rm"&&o!==null&&lS(c,o),f=en(c,{...t,cwd:a.cwd,envAssignments:a.envAssignments},{dynamicInput:u,dynamicSourceInput:d||cS(c,a.head,o,a.wrapperEnvAssignments,u,t.scanWork,t.environment),dynamicRmInput:d,shellDynamicMatch:s,dynamicSourceMatch:s,rmDynamicMatch:S("xargs.rm-recursive-force-dynamic",Ku)});if(f)return f;let m=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((w)=>w.includes(o))||Array.from(a.envAssignments.values()).some((w)=>w.includes(o))),y=en(h,{...t,cwd:a.cwd,envAssignments:a.envAssignments,worktreeMode:o===null||b?!1:t.worktreeMode});if(y)return y}let p=pe(c,t.policy?.rules??[]);if(p)return p}return null}function 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)=>Ju(s,t,i)):[])));for(let o of r){let i=pe(e.map((s)=>s.replaceAll(t,o)),n);if(i)return i}return null}function Ju(e,t,n){let r=e.indexOf(t);if(r===-1||e.indexOf(t,r+t.length)!==-1)return[];let o=e.slice(0,r),i=e.slice(r+t.length);return n.startsWith(o)&&n.endsWith(i)?[n.slice(o.length,n.length-i.length)]:[]}function cS(e,t,n,r,o,i,s){if(de.has(t)){if(Ve(e))return!1;if(n!==null&&DO(e,n))return!0;let a=ht(e);if(!a){let c=bt(j(e));if(c.kind==="literal")return n!==null&&c.source.includes(n);return c.kind==="none"&&o}if(n!==null&&a.includes(n))return!0;if(Dt(a,i))return!0;return $O(a,n,r)}if(Oe(t))return iS(e,n,as,jy(t));if($e.has(t))return iS(e,n,Tu,xv);if(t==="eval"){let a=mr(j(e));if(a.kind==="dynamic")return!0;if(n!==null)return a.kind==="literal"&&a.source.includes(n);return o}if(t==="find")return MO(e,n,i,s);if(t==="git"){let a=it(e);return n===null?a.subcommand===null:(a.subcommand?.includes(n)??!1)||a.subcommand!==null&&lr.has(a.subcommand.toLowerCase())&&uS(a.rest,n).some((c)=>c.includes(n))}return!1}function iS(e,t,n,r){let o=n(e);if(t===null)return o.optionsOpen||n([...e,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 NO(e,t,n){if(e.length===0||(e[0]??"").toLowerCase()==="command")return!1;let r=new Set(Array.from(rt(e,n),(i)=>i.head)),o=t===null?[...e,ea]:e.map((i,s)=>s===0?i:i.replaceAll(t,ea));return Array.from(rt(o,n)).some((i)=>i.head===ea&&!r.has(ea))}function lS(e,t){return uS(e.slice(1),t).some((n)=>n.includes(t)&&(n.startsWith("-")||n.startsWith(t)))}function uS(e,t){let n=e.findIndex((r)=>r==="--"&&!r.includes(t));return n===-1?e:e.slice(0,n)}function dS(e,t,n){if(t===null)return!0;return e.some((r)=>r.includes(t))||Array.from(n.values()).some((r)=>r.includes(t))}function DO(e,t){let n=yt(e);if(n.commandIndex!==null&&(e[n.commandIndex]??"").includes(t)||n.scriptIndex!==null&&(e[n.scriptIndex]??"").includes(t))return!0;return["-c","-nc","-cn",`--${t}`,t].some((o)=>e.some((i,s)=>{if(s===0||!i.includes(t))return!1;return Ju(i,t,o).some((c)=>{let l=e.map((d,f)=>f===s?d.replaceAll(t,c):d),u=yt(l);if(u.commandIndex===null&&u.scriptIndex===null)return!1;if(n.commandIndex===null&&u.commandIndex!==null)return!0;if(n.scriptIndex===null&&u.scriptIndex!==null)return!0;if(u.commandIndex!==null&&(l[u.commandIndex]??"").includes(c))return!0;return u.scriptIndex!==null&&(l[u.scriptIndex]??"").includes(c)})}))}function $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(sS(o,r))return!0;for(let o of e.matchAll(TO))for(let i of(o[1]??"").matchAll(IO))if(sS(i,r))return!0;return qu(e,r)}function sS(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(Lt(a)){let l=Eo(e,s);s=l.nextIndex-1;for(let u of rt(l.tokens,{environment:r,cwd:void 0})){let d=dS(u.tokens,t,u.wrapperEnvAssignments);if(u.head==="rm"&&lS(u.tokens,t)||cS(u.tokens,u.head,t,u.wrapperEnvAssignments,d,n,r))return!0}continue}let c=Jt(a);if(c>0){if(i=c,a.includes(t))return!0;continue}if(a.includes(t))return!0}return!1}function kn(e){let t=new Set(["-L","-n","-P","-s","-a","-E","-R","-S","-e","-d","-J","--max-args","--max-procs","--max-chars","--arg-file","--eof","--delimiter","--max-lines","--process-slot-var"]),n=null,r=1;while(r<e.length){let o=e[r];if(!o)break;if(o==="--")return{childStart:r+1,replacementToken:n};if(o.startsWith("-")){if(o==="-I"){n=e[r+1]??"{}",r+=2;continue}if(o.startsWith("-I")&&o.length>2){n=o.slice(2),r++;continue}if(o==="--replace"){n="{}",r++;continue}if(o.startsWith("--replace=")){let i=o.slice(10);n=i===""?"{}":i,r++;continue}if(o==="-J"){n=e[r+1]??"{}",r+=2;continue}if(t.has(o))r+=2;else r++}else return{childStart:r,replacementToken:n}}return{childStart:e.length,replacementToken:n}}var Oo="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",zo="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",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]*\}/,vS=/\{\}|\{-?\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"]),mS=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),HO=new Set(["--workdir","--wd"]),fS="__CC_SAFETY_NET_PARALLEL_SOURCE__",VO=new TextEncoder,Qu=V.maxDerivedBytes+4*V.maxPlaceholderReplacements;function Ee(e,t){for(let n of e){let r=t(n);if(r)return r}return null}function SS(e,t){return Ee([...e],(n)=>Dt(n,t.scanWork))}function xS(e,t){let n=e.map(N);if((t.envAssignments?.has("PARALLEL")?t.envAssignments.get("PARALLEL"):t.environment.env.get("PARALLEL"))?.trim()){let p=Tn(t);if(p)return p}if(n.length===2&&(n[1]==="--version"||n[1]==="--help"))return null;let o=TS(n),{template:i,jobs:s,runsRemotely:a,readsCommandsFromInput:c,unsupported:l,workdir:u,dryRun:d}=o;if(l){let p=Tn(t);if(p)return p;let h=SS(t.envAssignments?.values()??[],t);if(h)return h}if(c){let p=tz(t);if(p)return p}if(u!==void 0&&a){let p=Tn(t);if(p)return p}let f=iz(u,t.cwd,t.environment.paths);if(f===null){let p=Tn(t);if(p)return p}let m=a?{...t,cwd:void 0,originalCwd:void 0}:f===null||f===void 0||f===t.cwd?t:{...t,cwd:f};if(d){if([...rt(i,m)].flatMap((h)=>[...h.envAssignments.values()]).some(rd)){let h=Tn(t);if(h)return h}return null}if(i.length===0){if(s.some((b)=>b.length!==1)){let b=Tn(t);if(b)return b}let p=s.map((b)=>b[0]??"");ze(t.budget,ed(p));let h=ES(m.envAssignments,m.cwd,a);return Ee(p,(b)=>t.analyzeNested(b,h))}return Ee(rt(i,m),(p)=>qO(p,o,t,m))}function qO(e,t,n,r){let{jobs:o,templateHasPlaceholder:i,runsRemotely:s,usesStdin:a}=t,c=e.tokens,l={...r,cwd:e.cwd,envAssignments:e.envAssignments},u=[...e.envAssignments.values()];if(u.some(kS)){let y=Tn(n);if(y)return y}let d=SS(u,n);if(d)return d;let f=u.some(Q),m=i||f,p=a&&m,h=ES(e.envAssignments,e.wrapperCwd,s||p);if(de.has(e.head)){let y=()=>{if(!i||o.length===0)return null;return ze(n.budget,ta(c,o,"generic")),Ee(o,(E)=>en(c.map((P)=>tn(P,E)),l))};if(Ve(c))return y();let w=ht(c);if(w){if(AS(w)){let v=An(n);if(v)return v;if(o.length===0)return null;return ze(n.budget,bS(w,o)),Ee(o,(T)=>n.analyzeNested(tn(w,T),h))}if(Q(w)){if(o.length>0)return ze(n.budget,bS(w,o)),Ee(o,(k)=>n.analyzeNested(tn(w,k),h));ze(n.budget,hS(w));let v=Po(w);if(v?.[0]&&H(v[0])==="rm"&&ot(v)){let k=gS(n);if(k)return k}let T=v?en(v,l,{dynamicInput:a,shellDynamicMatch:S("parallel.shell-dynamic",zo),rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",Oo)}):null;if(T)return T;return n.analyzeNested(w,h)}let E=!f&&(!i||o.length>0)?(o.length>0?o:[void 0]).map((v)=>Js(j(v===void 0?c:i?c.map((T)=>tn(T,v)):[...c,...v]),w)):[];if(E.some((v)=>v.kind==="dynamic")){let v=An(n);if(v)return v}let P=E.flatMap((v)=>v.kind==="literal"?[v.source]:[]);if(P.length>0)return ze(n.budget,ed(P)),Ee(P,(v)=>n.analyzeNested(v,h));if(ze(n.budget,hS(w)),fr(w)){let v=An(n);if(v)return v}let _=n.analyzeNested(w,h);if(_)return _;if(m)return An(n);return null}let R=bt(j(c));if(R.kind==="dynamic"||R.kind==="literal"&&Q(R.source))return An(n)??y();if(R.kind==="literal")return y();if(o.length>0){let E=An(n);if(E)return E;let P=y();if(P)return P;if(i)return null;let _=o.flatMap((v)=>v[0]===void 0?[]:[v[0]]);return ze(n.budget,ed(_)),Ee(_,(v)=>n.analyzeNested(v,h))}if(m||a)return An(n)??y();return null}if(e.head==="rm"&&ot(c)){if(i&&o.length>0)return ze(n.budget,ta(c,o,"rm")),Ee(o,(w)=>Xu(c.map((R)=>td(R,w)),e.cwd,r));if(o.length>0)return ze(n.budget,yS(c,o)),Ee(o,(w)=>Xu([...c,...w],e.cwd,r));let y=Xu(c.flatMap((w,R)=>{if(R===0||!Q(w))return[w];return w.startsWith("-")?[td(w,[""])]:[]}),e.cwd,r);if(y)return y;return gS(n)}ze(n.budget,i&&o.length>0?ta(c,o,"generic"):o.length>0?yS(c,o):wS(c));let b=o.length>0?o:[void 0];return Ee(b,(y)=>{let w=y===void 0?c:i?c.map((z)=>tn(z,y)):[...c,...y],R=S("parallel.shell-dynamic",zo),E=a&&e.head==="find"?ez(w,r):null,P=CS(w,a,n.policy?.rules??[],n.budget)??E?.customResult??null,_=H(e.head),v=a&&(_==="rm"&&nd(w)||_==="xargs"&&RS(w)||E?.rmOptions===!0),T=a&&(v||E?.executedSource===!0||E===null&&_S(w,_)),k=en(w,{...l,worktreeMode:s||a||m?!1:n.worktreeMode},{dynamicInput:a||m,dynamicRmInput:v,dynamicSourceInput:P!==null||T,shellDynamicMatch:R,dynamicSourceMatch:R,rmDynamicMatch:S("parallel.rm-recursive-force-dynamic",Oo)});if(T){let z=O(R,n.policy);if(z)return z}return k??P??pe(w,n.policy?.rules??[])})}function _S(e,t){if(Q(e[0]??""))return!0;if(t==="eval"||t==="source"||t===".")return!0;if(t==="parallel"||t==="xargs")return!0;if(de.has(t))return JO(e);if(t==="git")return KO(e);if(t==="find")return!0;if($e.has(t))return pS(e,ZO,wo);if(Oe(t))return pS(e,BO,ss);return!1}function nd(e){let t=e.indexOf("--"),n=e.slice(1,t===-1?void 0:t);if(!e.some(Q))return t===-1;return n.some((o)=>Q(o)&&(o.startsWith("-")||AS(o)))}function KO(e){if(YO(e))return!0;let t=it(e);if(t.subcommand===null||Q(t.subcommand))return!0;if(!lr.has(t.subcommand.toLowerCase()))return!1;let n=t.rest.indexOf("--"),r=t.rest.slice(0,n===-1?void 0:n);if(!e.some(Q))return n===-1;return r.some(Q)}function 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(Q(e[t+1]??""))return!0;t++;continue}if(n.startsWith("-c")&&n.length>2||n.startsWith("--config-env=")){if(Q(n))return!0;continue}if(Q(n))return!0}return!1}function JO(e){if(Ve(e))return!1;let t=ht(e);if(t!==null)return Q(t);let n=bt(j(e));if(n.kind==="literal")return Q(n.source);if(n.kind==="dynamic")return!0;return!e.some(Q)}function pS(e,t,n){let r=n(e);if(r.some((i)=>Q(i.value)))return!0;if(!e.some(Q))return n([...e,fS]).some((i)=>i.value===fS);let o=new Set(r.map((i)=>`${i.tokenIndex}\x00${i.kind}\x00${i.value}`));return t.some((i)=>n(e.map((s)=>tn(s,[i]))).some((s)=>!o.has(`${s.tokenIndex}\x00${s.kind}\x00${s.value}`)))}function CS(e,t,n,r){if(!t||n.length===0)return null;let o=n.filter((s)=>H(s.command)===H(e[0]??""));if(o.length===0)return null;let i=e.some(Q);if(ze(r,XO(e,o,i)),!i)return Ee(o,(s)=>pe([...e,...s.subcommand?[s.subcommand]:[],...s.block_args],[s]));return Ee(o,(s)=>{let a=new Set([s.subcommand,...s.block_args].flatMap((c)=>c?QO(e,c):[]));return Ee(a,(c)=>pe(e.map((l)=>tn(l,[c])),[s]))})}function XO(e,t,n){let r=n?In(qe(t.map((o)=>o.block_args.length+(o.subcommand?1:0)),V.maxChildAnalyses),2*Math.max(e.length,1),V.maxChildAnalyses):t.length;return{childAnalyses:r,derivedTokens:In(r,e.length,V.maxDerivedTokens)}}function 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(Q),rmOptions:!1},r=!1,o=0,i=null,s=()=>{if(!i?.some(Q))return;for(let a of rt(i,t))n.executedSource||=_S(a.tokens,a.head),n.rmOptions||=a.head==="rm"&&nd(a.tokens)||a.head==="xargs"&&RS(a.tokens),n.customResult??=CS(a.tokens,!0,t.policy?.rules??[],t.budget)};for(let a of e.slice(1)){if(!r&&!a.startsWith("-")&&a!=="!"&&a!=="("){n.executedSource||=Q(a);continue}if(r=!0,i){if(a===";"||a==="+"){s(),i=null;continue}i.push(a);continue}if(o>0){o--;continue}if(Lt(a)){i=[],n.executedSource||=Q(a);continue}let c=Jt(a);if(c>0){o=c,n.executedSource||=Q(a);continue}n.executedSource||=Q(a)}return s(),n}function RS(e){let t=e.slice(kn(e).childStart);return H(t[0]??"")==="rm"&&nd(t)}function na(e,t){return(n)=>O(S(e,t),n.policy)}var An=na("parallel.shell-dynamic",zo),tz=na("parallel.command-stream-dynamic",WO),Tn=na("parallel.command-stream-dynamic",FO),gS=na("parallel.rm-recursive-force-dynamic",Oo);function Xu(e,t,n){return O(dr(j(e),{environment:n.environment,cwd:t,originalCwd:n.originalCwd,strict:n.strict,paranoid:n.paranoidRm,allowTmpdirVar:n.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(n.envAssignments??new Map,n.environment),trustedTmpdirValue:$t(n.envAssignments??new Map,n.environment),protectedGitMetadata:n.protectedGitMetadata,policy:n.policy}),n.policy)}function ed(e){return{childAnalyses:e.length,derivedTokens:e.length,derivedBytes:No(e)}}function hS(e){return wS([e])}function wS(e){return{childAnalyses:1,derivedTokens:e.length,derivedBytes:No(e)}}function yS(e,t){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};return{childAnalyses:t.length,derivedTokens:qe(t.map((n)=>e.length+n.length),V.maxDerivedTokens),derivedBytes:qe([In(No(e),t.length,V.maxDerivedBytes),qe(t.map((n)=>No(n)),V.maxDerivedBytes)],V.maxDerivedBytes)}}function bS(e,t){return ta([e],t,"generic")}function ta(e,t,n){if(t.length>V.maxChildAnalyses)return{childAnalyses:t.length};let r=In(e.length,t.length,V.maxDerivedTokens);if(r>V.maxDerivedTokens)return{childAnalyses:t.length,derivedTokens:r};let o=oz(e.map((c)=>rz(c,n))),i=In(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"?tn:td,a=qe(t.map((c)=>No(e.map((l)=>s(l,c)))),V.maxDerivedBytes);return{childAnalyses:t.length,derivedTokens:r,derivedBytes:a,placeholderReplacements:i}}function nz(e,t,n){let r=V.maxDerivedBytes+4*n;return qe([In(e.fixedBytes,t.length,r),In(e.occurrences,qe(t.map((o)=>o.reduce((i,s)=>Math.max(i,Io(s)),0)),r),r)],r)>r}function rz(e,t){let n=t==="generic"?e.matchAll(/\{[^{}\s]*\}/g):e.matchAll(vS),r=0,o=0,i=0;for(let s of n){if(r>=V.maxPlaceholderReplacements)return{occurrences:V.maxPlaceholderReplacements+1,fixedBytes:0};o=qe([o,Io(e.slice(i,s.index))],Qu),r++,i=s.index+s[0].length}return{occurrences:r,fixedBytes:r===0?Io(e):qe([o,Io(e.slice(i))],Qu)}}function oz(e){return{occurrences:qe(e.map((t)=>t.occurrences),V.maxPlaceholderReplacements),fixedBytes:qe(e.map((t)=>t.fixedBytes),Qu)}}function No(e,t=V.maxDerivedBytes){return qe(e.map(Io),t)}function Io(e){return 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 In(e,t,n){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e!==0&&t>Math.floor(n/e))return n+1;return e*t}function ES(e,t,n){let r={};if(e)r.envAssignments=e;if(n)return r.effectiveCwd=null,r.worktreeMode=!1,r;if(t!==void 0)r.effectiveCwd=t;return Object.keys(r).length>0?r:void 0}function tn(e,t){return e.replace(/\{[^{}\s]*\}/g,(n)=>PS(n,t))}function td(e,t){return e.replace(vS,(n)=>PS(n,t))}function PS(e,t){let n=/^\{(-?\d+)[^{}\s]*\}$/.exec(e)?.[1];if(n===void 0)return t[0]??"";let r=Number(n),o=r>0?r-1:t.length+r;return t[o]??""}function Q(e){return GO.test(e)}function kS(e){if(rd(e))return!0;for(let t of e.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(t[0]))return!0;return!1}function rd(e){let t=e.indexOf("{=");return t!==-1&&e.indexOf("=}",t+2)!==-1}function AS(e){return/^\{[^{}\s]*\}$/.test(e)}function TS(e){let t=1,n=[],r=e.length,o=-1,i=!1,s=!1,a=!1,c,l=e.some((p)=>p==="::::"||p==="::::+"||p===":::+");while(t<e.length){let p=e[t];if(p===void 0)break;if(p===":::"){o=t;break}if(p==="--"){let R=zu(e,t+1);n.push(...R.templateTokens),r=t+1,o=R.markerIndex;break}if(!p.startsWith("-")){let R=zu(e,t);n.push(...R.templateTokens),r=t,o=R.markerIndex;break}let h=e[t+1],b=p.indexOf("="),y=b===-1?p:p.slice(0,b),w=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 R=y==="--replace"?w:p.slice(2);l||=R!==""&&R!=="{}",t++;continue}if(p==="-a"||jO.has(y)){l=!0,t+=w===void 0?2:1;continue}if(p==="--pipe"||p==="--pipepart"){s=!0,t++;continue}if(y==="--env"){l=!0,t+=w===void 0?2:1;continue}if(mS.has(y)||p.startsWith("-S")&&p.length>2){i=!0,t+=mS.has(p)?2:1;continue}if(HO.has(y)){let R=w??h;if(R===void 0||R===":::"||R==="--"){l=!0,t++;continue}c=R,l||=w!==void 0&&R==="",t+=w===void 0?2:1;continue}if(p.startsWith("-j")&&p.length>2&&/^\d+$/.test(p.slice(2))){t++;continue}if(p.startsWith("--")&&w!==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?rd:kS);let u=[];if(o!==-1){let p=[];for(let h=o+1;h<e.length;h++){let b=e[h];if(b===":::"){u.push(p),p=[];continue}if(b!==void 0)p.push(b)}u.push(p)}let d=sz(u),f=n.some(Q),m=n.length===0&&o===-1;return{template:n,jobs:d,childStart:r,templateHasPlaceholder:f,runsRemotely:i,usesStdin:s||o===-1,readsCommandsFromInput:m,unsupported:l,workdir:c,dryRun:a}}function iz(e,t,n){if(e===void 0)return;if(e==="..."||/[{}$`*?~[]/.test(e))return null;if(!t&&!LO(e))return null;try{return Vt(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 IS(e){return TS(e).childStart}var az="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",ra="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function id(e){return e?.parts.some((t)=>t.provenance==="command-substitution")??!1}function od(e){return e?.parts.some((t)=>t.provenance==="literal"&&t.raw.replace(/^["']/,"").startsWith("-"))??!1}function zS(e,t,n,r,o=!1,i){let a=(po(e,t)||r&&e!=="powershell"&&t[0]?.provenance==="variable")&&ue(i,"shell.dynamic-executable",o)?S("shell.dynamic-executable",az):null;return O(a,i)??NS(e,t,n,o,i)}function NS(e,t,n,r,o){if(t.length<2)return null;let i=t.flatMap((a,c)=>id(a)?[c]:[]);if(i.length===0)return null;let s=H(t[0]?.text??"");if(s==="git"){let a=Yn(e,t),c=lz(a);if(ue(o,"shell.dynamic-structure",r)&&i.some((d)=>d<=c))return O(S("shell.dynamic-structure",ra),o);if(O(ur(a,{env:n.env}),o))return null;let l=t[c]?.text.toLowerCase(),u=a.findIndex((d,f)=>f>c&&N(d)==="--");if(ue(o,"shell.dynamic-structure",r)&&l&&lr.has(l)&&i.some((d)=>d>c&&(u===-1||d<u)))return O(S("shell.dynamic-structure",ra),o);return null}if(s==="find")return ue(o,"shell.dynamic-structure",r)&&uz(t)?O(S("shell.dynamic-structure",ra),o):null;if(s==="rm"){let a=t.findIndex((l,u)=>u>0&&N(l)==="--"),c=ot(t.map(N));return ue(o,"shell.dynamic-structure",r)&&i.some((l)=>(a===-1||l<a)&&(l<t.length-1||!c))?O(S("shell.dynamic-structure",ra),o):null}if(s==="xargs")return OS(e,t.slice(kn(t.map(N)).childStart),"xargs",n,r,o);if(s==="parallel")return OS(e,t.slice(IS(t.map(N))),"parallel",n,r,o);return null}function OS(e,t,n,r,o,i){if(t.length===0)return null;let s=cz(t,r);if(po(e,s)){let c=O(S(`${n}.shell-dynamic`,n==="xargs"?Yu:zo),i);if(c)return c}let a=NS(e,s,r,o,i);if(a)return a;if(s[0]?.text==="rm"&&s.slice(1).some((c)=>id(c)&&od(c)))return O(S(`${n}.rm-recursive-force-dynamic`,n==="xargs"?Ku:Oo),i);return null}function cz(e,t){let n=Sn(e,t),r=n.rewritten?j(n.words.map(N)):n.words,o=r[0];return o&&N(o)==="busybox"?r.slice(1):r}function lz(e){let t=1;while(t<e.length){let n=e[t],r=n?N(n):"";if(ut.has(r)){t+=2;continue}if(r.startsWith("-")){t++;continue}return t}return t}function 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=id(s);if(n>0){n--;continue}if(o){if(s.text===";"||s.text==="+"){o=!1,t=!0,r=!1;continue}if(a&&(r||od(s)))return!0;r=!1;continue}if(!t&&!s.text.startsWith("-")){if(a&&(i>1||od(s)))return!0;continue}if(t=!0,a)return!0;let c=Jt(s.text);if(c>0){n=c;continue}if(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!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 DS(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 MS=[{heads:new Set(["rm","rmdir"]),analyze:(e)=>dr(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoid:e.options.paranoidRm,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,policy:e.options.policy})},{heads:new Set(["git"]),analyze:(e)=>ur(e.words,ad(e))},{heads:new Set(["find"]),analyze:(e)=>qs(e.words,{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,allowTmpdirVar:e.allowTmpdirVar,tmpdirWordSplittingUnsafe:dt(e.envAssignments,e.options.environment),trustedTmpdirValue:$t(e.envAssignments,e.options.environment),protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,policy:e.options.policy,analyzeTokens:e.analyzeChildTokens,analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["xargs"]),analyze:(e)=>aS(e.words,{...$S(e),analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})},{heads:new Set(["parallel"]),analyze:(e)=>xS(e.words,{...$S(e),budget:e.options.parallelBudget,analyzeNested:(t,n)=>On(e.options.analyzeNested(t,n))})}];function $S(e){return{environment:e.options.environment,cwd:e.cwd,originalCwd:e.originalCwd,strict:e.options.strict,paranoidRm:e.options.paranoidRm,paranoidInterpreters:e.options.paranoidInterpreters,allowTmpdirVar:e.allowTmpdirVar,protectedGitMetadata:e.options.protectedGitMetadata,derivedCommandWorkBudget:e.options.derivedCommandWorkBudget,envAssignments:e.envAssignments,worktreeMode:e.options.worktreeMode,policy:e.options.policy,scanWork:e.options.scanWork}}function On(e){return e?{id:e.ruleId??"",reason:e.reason,intent:e.intent??"manual_only"}:null}function ad(e){return{env:e.options.environment.env,cwd:e.cwd,dynamicArguments:e.dynamicArguments,envAssignments:e.envAssignments,policy:e.options.policy,worktreeMode:e.options.worktreeMode}}var GS="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function ZS(e){return MS.find((t)=>t.heads.has(e))?.analyze}function Do(e,t,n){let r=n.trace;if(e.length===0)return null;let o=n.commandView?.dialect??"posix",i=(A)=>A.map((Z)=>o==="posix"?N(Z):Z.text),s=n.effectiveCwd===null,a=s?void 0:n.effectiveCwd??n.cwd,c=s?void 0:n.cwd,l=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=Sn(l.words,n.environment,a,new Map([...n.envAssignments??[],...l.envAssignments])),d=u.envSplitValues??[];if(d.length>0){let A=[...d,...i(u.words)].join(" "),Z=Dt(A,n.scanWork);if(Z)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:Z.reason}),St(Z);if(n.strict)return Me(r);let oe=ps(d,i(u.words));if(oe){Je(n.derivedCommandWorkBudget,oe.length);let le=n.analyzeNested(oe.join(" "),{effectiveCwd:u.cwd===void 0?n.effectiveCwd:u.cwd,envAssignments:new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments])});if(le)return le}}let f=u.rewritten?j(i(u.words)):Yn(o,u.words),m=i(f),p={...n,wrapperNormalizationBudget:n.wrapperNormalizationBudget??{iterations:0}};if(r&&l.words.length>f.length){let A=i(l.words);r.recordSegment({type:"leading-tokens-stripped",input:A,removed:A.slice(0,A.length-f.length),output:m})}let h=new Map([...n.envAssignments??[],...l.envAssignments,...u.envAssignments]),b=m[0];if(!b)return null;if(wn(b))throw new Ie;let y=H(b),w=u.cwd===null?void 0:u.cwd??a,R=u.cwd===null?void 0:c,E=u.cwd===void 0?n.effectiveCwd:u.cwd,P=!lo(h,n.environment),_=zS(o,u.words,n.environment,t===0,n.strict,n.policy);if(_)return r?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:_.reason}),St(_);let v=Hs(m,n.policy);if(v){for(let A of[v.childIndex,...v.alternativeChildIndices]){LS(p.wrapperNormalizationBudget);let Z=f.slice(A);r?.recordSegment({type:"transparent-wrapper",wrapper:v.wrapper,output:i(Z)});let oe=Do(Z,t,{...p,effectiveCwd:E,envAssignments:h});if(oe)return oe}return null}let T=y==="eval"?mr(f):y==="trap"?eS(f):void 0;if(T?.kind==="dynamic"&&(n.strict||!n.commandView||!Vu(n.commandView)))return Me(r);if(T?.kind==="literal"){r?.recordSegment({type:"recurse",reason:y==="eval"?"shell-eval":"shell-trap",innerCommand:T.source,depth:t+1});let A=n.analyzeNested(T.source,{effectiveCwd:E,envAssignments:h,functionDefinitions:n.functionDefinitions});if(A)return A}if(US(b,y)){if(Ve(m))return null;let A=pz(m,h,E,n,r,t);if(A)return A;let Z=ht(m);if(Z){let Vn=Js(f,Z);if(Vn.kind==="dynamic")return Me(r);let vl=Vn.kind==="literal"?Vn.source:Z,Ph=gz(vl);r?.recordSegment({type:"shell-wrapper",wrapper:y,innerCommand:Ph}),r?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:Ph,depth:t+1});let kh=n.analyzeNested(vl,{effectiveCwd:E,envAssignments:h});if(kh)return kh;return fr(vl)?Me(r):null}let oe=bt(f);if(oe.kind==="dynamic")return Me(r);if(oe.kind==="literal")return sa(oe.source,E,h,n,r,t);let le=tS(f,n.commandView?.redirections??[],n.hasPipelineInput??!1,n.literalShellInput);if(le.kind==="dynamic")return Me(r);if(le.kind==="literal")return r?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:le.source,depth:t+1}),n.analyzeNested(le.source,{effectiveCwd:E,envAssignments:h})}if(y==="source"||y==="."){let A=m[1]==="-p"?2:null;if(A!==null){let Vn=n.commandView?f[A]:void 0;if(!Vn)return null;if(Vn.provenance!=="literal")return Me(r)}let Z=A===null?1:3,oe=m[Z]==="--"?Z+1:Z,le=n.commandView?f[oe]:void 0;if(!le)return null;if(le.provenance==="literal")return sa(le.text,E,h,n,r,t);if(n.strict||!n.commandView||!Vu(n.commandView))return Me(r)}if($e.has(y)){if(n.strict&&sd(wo(m),f))return Me(r);let A=js(m,(oe)=>On(n.analyzeNested(oe,{effectiveCwd:E,envAssignments:h}))),Z=O(A,n.policy);if(Z)return r?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:Z.reason}),St(Z)}if(Oe(y)){if(n.strict&&sd(ss(m),f))return Me(r);let A=is(m);if(A){let Z=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(r?.recordSegment({type:"interpreter",interpreter:y,codeArg:A,paranoidBlocked:Z}),Z){let le=O(S("interpreter.one-liner-paranoid",tr),n.policy);if(le)return St(le)}if(cs(y,A))return null;r?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:A,depth:t+1});let oe=n.analyzeNested(A,{effectiveCwd:E,envAssignments:h});if(oe&&oe.ruleId!=="raw-text.dangerous-command"&&(oe.reason!==qt||ar(A)))return oe;if(nr(A,n.scanWork)){let le=O(S("interpreter.dangerous-command",vn),n.policy);if(le)return r?.recordSegment({type:"dangerous-text",token:A,matched:!0,reason:vn}),St(le)}r=void 0}}if(y==="busybox"&&m.length>1)return LS(p.wrapperNormalizationBudget),r?.recordSegment({type:"busybox",subcommand:m[1]??"unknown"}),r?.recordSegment({type:"recurse",reason:"busybox",innerCommand:m.slice(1).join(" "),depth:t+1}),Do(f.slice(1),t,{...p,effectiveCwd:E,envAssignments:h});let k=O(DS(y,m),n.policy);if(k)return r?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:k.reason}),St(k);let z=r===p.trace?p:{...p,trace:r},M={words:f,head:y,cwd:w,originalCwd:R,envAssignments:h,allowTmpdirVar:P,dynamicArguments:u.words.some((A)=>A.provenance==="command-substitution"),depth:t,effectiveCwd:E,options:z,analyzeChildTokens:(A,Z)=>On(Do(j(A),t+1,{...z,commandView:void 0,effectiveCwd:Z,envAssignments:h}))??pe(A,z.policy.rules)},W=ZS(y);if(y==="rm"||y==="xargs"||y==="parallel")r?.recordSegment({type:"tmpdir-check",tmpdirValue:h.has("TMPDIR")||n.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!P,allowTmpdirVar:P});let U=r&&y==="git"?Bv(M.words,ad(M)):void 0,ge=WS(U?U.match:W?.(M)??null,n.policy);if(r)hz(M,ge,U?.relaxation??null);if(ge)return St(ge);let Ze=W!==void 0;if(!Ze)if(!rs.has(y)){let A=r?[]:void 0;for(let Z=1;Z<m.length;Z++){let oe=m[Z];if(!oe)continue;A?.push(oe);let le=WS(yz(M,m,Z),n.policy);if(le)return r?.recordSegment({type:"fallback-scan",tokensScanned:A??[],embeddedCommandFound:H(oe)}),St(le)}r?.recordSegment({type:"fallback-scan",tokensScanned:A??[]})}else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});else r?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(t===0||!Ze){let A=pe(m,n.policy.rules);if(r?.recordSegment({type:"custom-rules-check",rulesChecked:n.policy.rules.length>0,matched:!!A,reason:A?.reason}),A)return St(A)}else r?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function pz(e,t,n,r,o,i){let s=Kv(e);if(s.argvSource?.kind==="absent")return Me(o);if(s.argvSourceApplies&&s.argvSource){let c=sa(s.argvSource.value,n,t,r,o,i,!0);if(c)return c}if(!s.envSourceApplies||!s.envName)return null;let a=t.get(s.envName);if(!a)return null;return sa(a,n,t,r,o,i,!0)}function sa(e,t,n,r,o,i,s=!1){if(s&&/[$`*?[\]]/.test(e))return Me(o);let a=co(e,t,r.environment.paths),c=a?r.literalHeredocFiles?.get(a):void 0;if(c===void 0)return s?Me(o):null;return Je(r.derivedCommandWorkBudget,1),o?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:c,depth:i+1}),r.analyzeNested(c,{effectiveCwd:t,envAssignments:n})}function 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 LS(e){if(e.iterations>=Qn)throw new Ie;e.iterations++}function St(e){return{reason:e.reason,ruleId:e.id||void 0,intent:e.intent}}function Me(e){return e?.recordSegment({type:"error",message:GS}),St(BS())}function BS(){return{id:"",reason:GS,intent:"stop_and_explain"}}function US(e,t){return de.has(t)||e==="$SHELL"||e==="${SHELL}"||de.has(G(t))}function yz(e,t,n){let r=rt(t.slice(n),{environment:e.options.environment,cwd:e.cwd,envAssignments:e.envAssignments,policy:e.options.policy});for(let o of r){let i=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(US(r,o)){Je(e.options.derivedCommandWorkBudget,e.words.length-t);let c=n.tokens;if(Ve(c))return null;let l=ht(c);if(!l){if(bt(j(c)).kind==="dynamic")return BS();return ia(e,n)}let u=e.options.analyzeNested(l,{effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,envAssignments:n.envAssignments});return u?On(u):ia(e,n)}let i=ZS(o);if(!i||o==="xargs"||o==="parallel"){if(n.wrappedByTransparent&&e.options.policy.rules.length>0)Je(e.options.derivedCommandWorkBudget,e.words.length-t);return ia(e,n)}Je(e.options.derivedCommandWorkBudget,e.words.length-t);let s=[o,...n.tokens.slice(1)],a={...e,words:j(s),head:o,cwd:n.cwd,originalCwd:n.wrapperCwd===null?void 0:e.originalCwd,envAssignments:n.envAssignments,allowTmpdirVar:!lo(n.envAssignments,e.options.environment),effectiveCwd:n.wrapperCwd===void 0?e.effectiveCwd:n.wrapperCwd,options:o==="git"?{...e.options,worktreeMode:!1}:e.options};return i(a)??ia(e,n)}function ia(e,t){return t.wrappedByTransparent?pe(t.tokens,e.options.policy.rules):null}function WS(e,t){return e?.id.startsWith("custom.")||e?.id==="raw-text.dangerous-command"?e:O(e,t)}var 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 xz(e,t){let n=VS(e,t);if(n.length===0)return!1;let r=n[HS(n)];if(r==="cd"||r==="pushd"||r==="popd")return!0;return vz.test(e.join(" "))}function jS(e,t,n,r){if(e.dialect==="powershell"){let a=_z(e.words,r);if(a.kind==="none")return;if(!t||a.kind==="unknown")return null;return FS(Ez(a.target),t,n.paths)}let o=e.words.map(N);if(!xz(o,n))return;if(!t)return null;let i=VS(o,n,t),s=HS(i);if(s===-1||i[s]!=="cd")return null;return FS(i[s+1],t,n.paths)}function FS(e,t,n){if(!e||e==="-"||e.includes("$")||e.includes("`"))return null;try{return Pz(Vt(t,e,n),t,n)?t:null}catch{return null}}function _z(e,t){let n=Cz(e[0])?1:0,r=e[n];if(!Rz(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 wz(e.slice(n+1),t)}function Cz(e){return e?.provenance==="literal"&&!e.quoted&&e.raw===e.text&&(e.text==="&"||e.text===".")}function Rz(e,t){return e?.provenance==="literal"&&(t||!e.quoted&&e.raw===e.text)}function wz(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 Ez(e){return e.includes("::")?void 0:e.replaceAll("\\","/")}function HS(e){let t=0;if(e[0]==="builtin"&&e.length>1)t=1;if(e[t]!=="time")return t;let n=t+1;while(e[n]?.startsWith("-"))n++;return n}function VS(e,t,n){let r=kz(e);return or([...r],t,n)}function Pz(e,t,n){let r=n.realpath(e),o=n.realpath(t);if(r===null||o===null)return oa(e)===oa(t);return oa(r)===oa(o)}function 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 ld="TMPDIR",ud="IFS",qS=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,KS=/^[A-Za-z_][A-Za-z0-9_]*$/,YS=new Set(["export","typeset","declare","readonly"]),Az=new Set(["builtin","command","time"]);function JS(e,t){return{env:e,effectiveEnvAssignments:Nz(e,t),shellAssignments:new Map}}function XS(e){return{env:e.env,effectiveEnvAssignments:e.effectiveEnvAssignments?new Map(e.effectiveEnvAssignments):void 0,shellAssignments:new Map(e.shellAssignments)}}function dd(e,t){let n=ex(e,t);n.assignments.filter((s)=>s.persists).forEach((s)=>{t.shellAssignments.set(s.name,s.value),md(t,s)});let r=n.commandIndex;if(r!==-1&&YS.has(e[r]??""))e.filter((s)=>KS.test(s)&&cd(s)).forEach((s)=>{Dz(t,s)});let o=r===-1?-1:tx(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 QS(e,t){let n=ex(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 ex(e,t){let n=e.findIndex((s)=>!Tz(s)),r=n!==-1&&YS.has(e[tx(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&&!Ll(c.name))return[];return o.set(c.name,c.value),[{...c,persists:n===-1||r}]}),commandIndex:n}}function tx(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 je(e)!==null||qS.test(e)}function Iz(e,t,n){return je(e)??Oz(e,t,n)}function Oz(e,t,n){let r=Hi(e,n,t);if(r)return r;let o=e.match(qS)?.[1];if(!o)return null;let i=e.indexOf("=");return{name:o,value:`${t.has(o)?t.get(o):n.get(o)??""}${e.slice(i+1)}`}}function cd(e){return e===ld||e===ud||Wl(e)}function zz(e){return new Map([...e.effectiveEnvAssignments??[],...e.shellAssignments])}function Nz(e,t){let n=[...Ui,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 Dz(e,t){md(e,{name:t,value:e.shellAssignments.get(t)??e.effectiveEnvAssignments?.get(t)??e.env.get(t)??""})}function $z(e,t){if(!cd(t)&&!KS.test(t))return;if(e.shellAssignments.set(t,""),!cd(t)||t===ld||t===ud||to(t)){md(e,{name:t,value:""});return}if(!e.effectiveEnvAssignments?.has(t))return;let n=new Map(e.effectiveEnvAssignments);n.delete(t),e.effectiveEnvAssignments=n.size===0?void 0:n}function 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.",zn="This heredoc form or stdin consumer is not supported safely. Use a quoted heredoc with a supported consumer (cat, tee, git apply, git commit, gh pr create, gh issue create), or ask the user to verify.",Wz=64;function yd(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??Vy()},r)}catch(s){let a=s instanceof Ie&&o?Ly:s instanceof ds&&i?Hy: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:It}),{reason:It,segment:e,intent:"stop_and_explain"};let o=r??n.factStore?.getCommandProgram(e,n.shell??"auto")??et(e,n.shell);if(o.status==="limited")return n.trace?.recordSegment({type:"error",message:It}),{reason:It,segment:e,intent:"stop_and_explain"};if(o.status==="invalid"){let l=o.issues.find((u)=>u.code.includes("heredoc"));if(l){if(!n.strict)return hd(e,n);let u=`Unsupported heredoc syntax: ${l.message}`;return n.trace?.recordGlobal({type:"error",message:u}),{reason:u,segment:e,intent:"stop_and_explain"}}return ax(e,n),{reason:qt,segment:e,intent:"stop_and_explain"}}if(n.strict&&o.status==="partial")return ax(e,n),{reason:qt,segment:e,intent:"stop_and_explain"};if(o.issues.some((l)=>l.code.includes("quote"))&&!n.analyzePartialProgram)return hd(e,n);let s=n.cwd,a=n.effectiveCwd!==void 0?n.effectiveCwd:n.cwd,c=JS(n.environment.env,n.envAssignments);return la(o,t,{...n,rootProgram:o},s,[{effectiveCwd:a,shellGitContextState:c,literalHeredocFiles:new Map(n.literalHeredocFiles),functionDefinitions:new Map(n.functionDefinitions)}]).result}function la(e,t,n,r,o){let i=[...o],s,a;for(let[c,l]of e.nodes.entries()){if(l.kind==="connector"){a=l.operator;continue}let u=e.nodes[c+1],d=u?.kind==="connector"?u.operator:void 0,f=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??[]:[],w=m||gr(d);if(l.kind==="function"){let k=h.flatMap((M)=>{let W=$o(M);return W.functionDefinitions.set(l.name,l.body),fd(M,[W],f,d==="&",gr(d))}),z=pd(k,[],b,y,a,d);i=z.states,s=z.conditionalStates,a=void 0;continue}if(l.kind==="group"){let k=[],z=[];for(let W of h){let U=la(l.body,t,n,r,[$o(W)]);if(U.result)return U;if(k.push(...fd(W,U.states,f,d==="&",gr(d))),w)z.push(W,...f?U.states.map((ge)=>aa(W,ge)):U.states)}let M=pd(k,z,b,y,a,d);i=M.states,s=M.conditionalStates,a=void 0;continue}if(l.kind!=="command")continue;let R=n.trace?.flattenNested?n.trace.currentSegmentIndex:n.trace?.allocateSegment(),E=e.nodes[c-2],P=ua(a)&&E?.kind==="command"?Qv(E)??Bz(E):void 0,_=[],v=[];for(let k of h){let z=Uz(l,t,n,r,[$o(k)]);if(z.result)return{result:z.result,states:i};let M=e.dialect==="powershell"?z.states:z.states.map((W)=>aa(k,W));for(let W of M){let U=$o(W),ge=Vz(l,t,n.trace?{...n,trace:cx(n.trace,R)}:n,r,U,ua(a),P);if(ge)return{result:ge,states:i};let Ze=sN(l,U.functionDefinitions);if(Ze)Je(n.derivedCommandWorkBudget,da(Ze));let A=Ze?t+1>=ns?gd(l.displayText,n,[U]):la(Ze,t+1,n,r,[U]):{result:null,states:[U]};if(A.result)return A;if(_.push(...fd(k,A.states,f,d==="&",gr(d))),w)v.push(k),v.push(...A.states.map((Z)=>f?aa(k,Z):Z))}}let T=pd(_,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"&&(ua(r)||ua(o)))return!0;if(o==="&")return!0;return e.dialect==="powershell"&&n.kind==="group"&&n.style==="brace"&&Zz(e,t)}function fd(e,t,n,r,o){let i=n?t.map((a)=>aa(e,a)):[...t],s=o?i.flatMap((a)=>Mo(e.literalHeredocFiles,a.literalHeredocFiles)?[a]:[{...a,literalHeredocFiles:new Map(e.literalHeredocFiles)},a]):i;return r?[e,...s]:s}function aa(e,t){return{...e,literalHeredocFiles:new Map(t.literalHeredocFiles)}}function 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 ua(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 gr(e){return e==="&&"||e==="||"}function pd(e,t,n,r,o,i){let s={success:ca([...n,...e]),failure:ca([...r,...t])},a=gr(i)?s:void 0;return{states:gr(o)||a?ca([...s.success,...s.failure]):s.success,conditionalStates:a}}function cx(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 gd(s,n,o);let a=et(s,"powershell");if(a.status==="limited")return gd(s,n,o);if(a.status!=="complete")return nx(i,n,r,o);Je(n.derivedCommandWorkBudget,da(a)),i.push({program:a,depth:t+1})}}return nx(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 nx(e,t,n,r){let o=[...r];for(let i of e){let s=[];for(let a of o){let c=la(i.program,i.depth,t,n,[$o(a)]);if(c.result)return c;s.push(...c.states)}o=ca(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 da(e){return e.nodes.reduce((t,n)=>t+(n.kind==="command"?n.words.length+n.nested.reduce((r,o)=>r+da(o),0):n.kind==="group"||n.kind==="function"?da(n.body):0),0)}function gd(e,t,n){return t.trace?.recordSegment({type:"error",message:It}),{result:{reason:It,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"};lx(e,o,"before-consumer",n.environment.paths);let c=Yn(e.dialect,e.words).map(N),l=e.displayText,u=QS(c,o.shellGitContextState);if(e.dialect==="powershell"){let m=O(vv(e,i,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(" ")&&!po(e.dialect,e.words)){let m=O(Dt(c[0],n.scanWork),n.policy),p=m!==null&&!n.strict&&Dy(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=rx(e,a,o,u,s,n);if(h)return h;return dd(c,o.shellGitContextState),null}let d=Do(e.words,t,{...n,commandView:e,cwd:r,effectiveCwd:o.effectiveCwd,envAssignments:u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:o.functionDefinitions,hasPipelineInput:i,literalShellInput:s,analyzeNested:(m,p)=>{let h=p&&Object.hasOwn(p,"effectiveCwd")?p.effectiveCwd:o.effectiveCwd,b=yd(m,t+1,{...n,derivedCommandWorkBudget:n.derivedCommandWorkBudget,effectiveCwd:h,envAssignments:p?.envAssignments??u,literalHeredocFiles:o.literalHeredocFiles,functionDefinitions:p?.functionDefinitions,worktreeMode:p?.worktreeMode??n.worktreeMode,trace:n.trace?cx(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=rx(e,a,o,u,s,n);if(f)return f;return dd(c,o.shellGitContextState),null}function rx(e,t,n,r,o,i){let s=tN(e,t,n,r??new Map,i);if(s)return s;return lx(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 qz=new Set([">>","<>"]);function lx(e,t,n,r){for(let i of e.redirections){if(!(n==="before-consumer"?Kz(i):qz.has(i.operator)))continue;ox(i.target,t,r)}if(n!=="before-consumer"||!Le(e.words[0],"tee"))return;let o=ux(e.words.slice(1));if(!o)return;for(let i of o.operands)ox(i,t,r)}function Kz(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 ox(e,t,n){let r=e?.provenance==="literal"?co(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?.quotedDelimiter)return;for(let i of Jz(e)){let s=co(i.text,n.effectiveCwd,r);if(!s||!Gy(s))continue;if(!n.literalHeredocFiles.has(s)&&n.literalHeredocFiles.size>=Fy)throw new Ie;n.literalHeredocFiles.set(s,o.body)}}function Jz(e){let t=Qz(e.redirections)?.target,n=ix(t)?[t]:[];if(Le(e.words[0],"cat"))return Xz(e.words)?n:[];if(!Le(e.words[0],"tee"))return[];let r=ux(e.words.slice(1));if(!r||r.append||r.hasUnsupportedOptions||!r.operands.every(ix))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 ux(e){let t=[],n=!0,r=!1,o=!1;for(let i of e){if(i.provenance!=="literal")return;if(n&&Le(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 ix(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 Le(e,t){return e?.text===t&&e.raw===t&&e.provenance==="literal"&&!e.quoted}function eN(e){let t=e.redirections.filter((s)=>s.operator==="<<"||s.operator==="<<-");if(t.length===0)return;if(t.length!==1)return zn;let n=t[0];if(!n?.heredoc)return zn;if(!n.heredoc.quotedDelimiter)return Lz;if(n.fd!==void 0&&n.fd!==0)return zn;if(e.redirections.some((s)=>s!==n&&["<","<<","<<-","<<<","<&","<>"].includes(s.operator)))return zn;let r=e.redirections.some((s)=>s!==n&&sx(s.target));if(Le(e.words[0],"cat"))return r?zn:void 0;if(Le(e.words[0],"tee"))return r||e.words.slice(1).some(sx)?zn:void 0;let o=e.words[0],i=e.words[1];if(Le(o,"git")&&(Le(i,"apply")||Le(i,"commit")))return;if(Le(o,"gh")&&(Le(i,"pr")||Le(i,"issue"))&&Le(e.words[2],"create"))return;return zn}function sx(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=hd(s.length===i.length?s.join(`
|
|
61
|
+
`):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?.quotedDelimiter||r.fd!==void 0&&r.fd!==0)return;let o=e.words[0];if(o?.provenance!=="literal"||!Oe(o.text))return;if(!e.words.slice(1).every((l)=>l.provenance==="literal"&&l.text.startsWith("-")))return;let s=r.heredoc.body,a=ue(n.policy,"interpreter.one-liner-paranoid",!!n.paranoidInterpreters);if(n.trace?.recordSegment({type:"interpreter",interpreter:o.text,codeArg:s,paranoidBlocked:a}),a){let l=O(S("interpreter.one-liner-paranoid",tr),n.policy);if(l)return l}if(!nr(s,n.scanWork))return null;let c=O(S("interpreter.dangerous-command",vn),n.policy);if(!c)return null;return n.trace?.recordSegment({type:"dangerous-text",token:s,matched:!0,reason:c.reason}),c}function rN(e,t,n,r,o){let i=t.length===1?t[0]:void 0;if(!i?.heredoc?.quotedDelimiter||i.fd!==void 0&&i.fd!==0)return!1;let s=Sn(e.words,o.environment,n.effectiveCwd,r),a=s.words.map(N),c=H(a[0]??"");if((s.envSplitValues?.length??0)>0||!de.has(c)&&!de.has(G(c)))return!1;return Ve(a)}function oN(e,t,n,r,o){let i=jS(e,t.effectiveCwd,r,n);if(i===null)o?.recordSegment({type:"cwd-change",segment:e.words.map(N).join(" "),effectiveCwdNowUnknown:!0});if(i!==void 0)t.effectiveCwd=i}function $o(e){return{effectiveCwd:e.effectiveCwd,shellGitContextState:XS(e.shellGitContextState),literalHeredocFiles:new Map(e.literalHeredocFiles),functionDefinitions:new Map(e.functionDefinitions)}}function ca(e){let t=[];for(let n of e){if(!t.some((r)=>iN(r,n)))t.push(n);if(t.length>Wz)throw new Ie}return t}function iN(e,t){return e.effectiveCwd===t.effectiveCwd&&Mo(e.literalHeredocFiles,t.literalHeredocFiles)&&Mo(e.functionDefinitions,t.functionDefinitions)&&Mo(e.shellGitContextState.effectiveEnvAssignments,t.shellGitContextState.effectiveEnvAssignments)&&Mo(e.shellGitContextState.shellAssignments,t.shellGitContextState.shellAssignments)}function Mo(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=As(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 hd(e,t){let n=O(Dt(e,t.scanWork),t.policy),r=t.trace?.currentSegmentIndex??t.trace?.allocateSegment(),o={type:"dangerous-text",token:e,matched:!!n,reason:n?.reason};if(t.trace?.recordSegment(o,r),!n&&/^(?:cd|pushd)\s/.test(e))t.trace?.recordSegment({type:"cwd-change",segment:e,effectiveCwdNowUnknown:!0},r);return n?{reason:n.reason,segment:e,ruleId:n.id,intent:n.intent}:null}function ax(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"}},ma=["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 ma.indexOf(t)>ma.indexOf(e)?t:e}function dN(){let e=_d(me.level);if(e===void 0||e==="")return;if(ma.includes(e))return e;console.error(`CC Safety Net: ignored invalid ${me.level.name}=${JSON.stringify(e.slice(0,40))}. Use ${ma.join(", ")}.`);return}function mN(e){if(e===void 0||e==="all")return"all";if(e==="blocked")return"blocked";return"invalid"}function vd(){return mN(_d(me.auditScope))==="all"}function Sd(e){if(e.failClosed&&e.paranoidRm&&e.paranoidInterpreters)return"paranoid";if(e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"strict";if(!e.failClosed&&!e.paranoidRm&&!e.paranoidInterpreters)return"standard";return"custom"}function xd(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(nn(me.strict))o.failClosed=!0,i.failClosed="environment",s.failClosed.push(`env ${me.strict.name}`);if(nn(me.paranoid))o.paranoidRm=!0,o.paranoidInterpreters=!0,i.paranoidRm="environment",i.paranoidInterpreters="environment",s.paranoidRm.push(`env ${me.paranoid.name}`),s.paranoidInterpreters.push(`env ${me.paranoid.name}`);if(nn(me.paranoidRm))o.paranoidRm=!0,i.paranoidRm="environment",s.paranoidRm.push(`env ${me.paranoidRm.name}`);if(nn(me.paranoidInterpreters))o.paranoidInterpreters=!0,i.paranoidInterpreters="environment",s.paranoidInterpreters.push(`env ${me.paranoidInterpreters.name}`);let a=!!e.worktreeMode||nn(me.worktree);return{strict:o.failClosed,paranoidRm:o.paranoidRm,paranoidInterpreters:o.paranoidInterpreters,worktreeMode:a,effectiveLevel:Sd(o),capabilities:{fail_closed:{enabled:o.failClosed,source:i.failClosed,sources:s.failClosed},paranoid_rm:{enabled:o.paranoidRm,source:i.paranoidRm,sources:s.paranoidRm},paranoid_interpreters:{enabled:o.paranoidInterpreters,source:i.paranoidInterpreters,sources:s.paranoidInterpreters}}}}function nn(e){let t=typeof e==="string"?bd(e):_d(e);return t==="1"||t?.toLowerCase()==="true"}function bd(e){return Object.hasOwn(process.env,e)?process.env[e]:void 0}function _d(e){let t=bd(e.name);if(t!==void 0)return t;if(e.legacyName)return bd(e.legacyName);return}function dx(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:Sd({failClosed:n,paranoidRm:r,paranoidInterpreters:o}),strict:n,paranoidRm:r,paranoidInterpreters:o,worktreeMode:e.worktreeMode??!1}}function Cd(e,t,n){if(t===void 0||t===e.enabled)return e;return{enabled:t,source:"capability_override",sources:[...e.sources,`analysis options.${n}`]}}function mx(e,t,n,r){let o=yd(e,0,{...t,...dx(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 z$,dirname as yh}from"path";function Lo(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 MU,existsSync as S$,mkdirSync as LU,readFileSync as x$}from"fs";import{dirname as _$,join as C$}from"path";import{createRequire as a$}from"module";var ah={};dn(ah,{$brand:()=>pa,$input:()=>ja,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>xg,ZodArray:()=>wg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Vc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Vg,ZodCodec:()=>al,ZodCustom:()=>vi,ZodCustomStringFormat:()=>jr,ZodDate:()=>pi,ZodDefault:()=>Gg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Jc,ZodEmail:()=>Mc,ZodEmoji:()=>Lc,ZodEnum:()=>Br,ZodError:()=>Hx,ZodExactOptional:()=>Lg,ZodFile:()=>$g,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>nh,ZodGUID:()=>li,ZodIPv4:()=>jc,ZodIPv6:()=>Hc,ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,ZodIntersection:()=>kg,ZodIssueCode:()=>aC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>Qg,ZodLiteral:()=>Dg,ZodMAC:()=>pg,ZodMap:()=>zg,ZodNaN:()=>Kg,ZodNanoID:()=>Wc,ZodNever:()=>Cg,ZodNonOptional:()=>il,ZodNull:()=>vg,ZodNullable:()=>Fg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>hi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Bg,ZodPromise:()=>th,ZodReadonly:()=>Yg,ZodRealError:()=>_e,ZodRecord:()=>bi,ZodSet:()=>Ng,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>Hg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>Xg,ZodTransform:()=>Mg,ZodTuple:()=>Tg,ZodType:()=>L,ZodULID:()=>Zc,ZodURL:()=>fi,ZodUUID:()=>Et,ZodUndefined:()=>bg,ZodUnion:()=>yi,ZodUnknown:()=>_g,ZodVoid:()=>Rg,ZodXID:()=>Bc,ZodXor:()=>Eg,_ZodString:()=>$c,_default:()=>Zg,_function:()=>X_,any:()=>T_,array:()=>gi,base64:()=>f_,base64url:()=>p_,bigint:()=>w_,boolean:()=>hg,catch:()=>qg,check:()=>Q_,cidrv4:()=>d_,cidrv6:()=>m_,clone:()=>he,codec:()=>K_,coerce:()=>ll,config:()=>se,core:()=>wt,cuid:()=>r_,cuid2:()=>o_,custom:()=>eC,date:()=>O_,decode:()=>Pc,decodeAsync:()=>Ac,default:()=>n$,describe:()=>tC,discriminatedUnion:()=>L_,e164:()=>g_,email:()=>Vx,emoji:()=>t_,encode:()=>Ec,encodeAsync:()=>kc,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Wg,file:()=>j_,flattenError:()=>vr,float32:()=>x_,float64:()=>__,formatError:()=>Sr,fromJSONSchema:()=>sh,function:()=>X_,getErrorMap:()=>lC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>xe,guid:()=>qx,hash:()=>S_,hex:()=>v_,hostname:()=>b_,httpUrl:()=>e_,includes:()=>Ar,instanceof:()=>rC,int:()=>Dc,int32:()=>C_,int64:()=>E_,intersection:()=>Ag,ipv4:()=>c_,ipv6:()=>u_,iso:()=>ci,json:()=>iC,jwt:()=>h_,keyof:()=>z_,ksuid:()=>a_,lazy:()=>eh,length:()=>Fn,literal:()=>U_,locales:()=>Qo,looseObject:()=>$_,looseRecord:()=>F_,lowercase:()=>Pr,lt:()=>_t,lte:()=>Ge,mac:()=>l_,map:()=>G_,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>nC,mime:()=>Or,minLength:()=>Ft,minSize:()=>Rt,multipleOf:()=>cn,nan:()=>q_,nanoid:()=>n_,nativeEnum:()=>B_,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>jg,nonpositive:()=>gc,normalize:()=>zr,null:()=>Sg,nullable:()=>di,nullish:()=>H_,number:()=>gg,object:()=>N_,optional:()=>ui,overwrite:()=>st,parse:()=>_c,parseAsync:()=>Cc,partialRecord:()=>W_,pipe:()=>mi,positive:()=>fc,prefault:()=>Ug,preprocess:()=>sC,prettifyError:()=>Sa,promise:()=>J_,property:()=>yc,readonly:()=>Jg,record:()=>Og,refine:()=>rh,regex:()=>Er,regexes:()=>Fe,registry:()=>ei,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>Rc,safeParseAsync:()=>wc,set:()=>Z_,setErrorMap:()=>cC,size:()=>Ln,slugify:()=>Mr,startsWith:()=>Tr,strictObject:()=>D_,string:()=>Nc,stringFormat:()=>y_,stringbool:()=>oC,success:()=>V_,superRefine:()=>oh,symbol:()=>k_,templateLiteral:()=>Y_,toJSONSchema:()=>ri,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Ig,uint32:()=>R_,uint64:()=>P_,ulid:()=>i_,undefined:()=>A_,union:()=>tl,unknown:()=>Gn,uppercase:()=>kr,url:()=>Qx,util:()=>I,uuid:()=>Kx,uuidv4:()=>Yx,uuidv6:()=>Jx,uuidv7:()=>Xx,void:()=>I_,xid:()=>s_,xor:()=>M_,z:()=>ul});var ul={};dn(ul,{$brand:()=>pa,$input:()=>ja,$output:()=>Ua,NEVER:()=>fa,TimePrecision:()=>mc,ZodAny:()=>xg,ZodArray:()=>wg,ZodBase64:()=>Kc,ZodBase64URL:()=>Yc,ZodBigInt:()=>qr,ZodBigIntFormat:()=>Qc,ZodBoolean:()=>Vr,ZodCIDRv4:()=>Vc,ZodCIDRv6:()=>qc,ZodCUID:()=>Fc,ZodCUID2:()=>Gc,ZodCatch:()=>Vg,ZodCodec:()=>al,ZodCustom:()=>vi,ZodCustomStringFormat:()=>jr,ZodDate:()=>pi,ZodDefault:()=>Gg,ZodDiscriminatedUnion:()=>Pg,ZodE164:()=>Jc,ZodEmail:()=>Mc,ZodEmoji:()=>Lc,ZodEnum:()=>Br,ZodError:()=>Hx,ZodExactOptional:()=>Lg,ZodFile:()=>$g,ZodFirstPartyTypeKind:()=>cl,ZodFunction:()=>nh,ZodGUID:()=>li,ZodIPv4:()=>jc,ZodIPv6:()=>Hc,ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,ZodIntersection:()=>kg,ZodIssueCode:()=>aC,ZodJWT:()=>Xc,ZodKSUID:()=>Uc,ZodLazy:()=>Qg,ZodLiteral:()=>Dg,ZodMAC:()=>pg,ZodMap:()=>zg,ZodNaN:()=>Kg,ZodNanoID:()=>Wc,ZodNever:()=>Cg,ZodNonOptional:()=>il,ZodNull:()=>vg,ZodNullable:()=>Fg,ZodNumber:()=>Hr,ZodNumberFormat:()=>Zn,ZodObject:()=>hi,ZodOptional:()=>ol,ZodPipe:()=>sl,ZodPrefault:()=>Bg,ZodPromise:()=>th,ZodReadonly:()=>Yg,ZodRealError:()=>_e,ZodRecord:()=>bi,ZodSet:()=>Ng,ZodString:()=>Ur,ZodStringFormat:()=>K,ZodSuccess:()=>Hg,ZodSymbol:()=>yg,ZodTemplateLiteral:()=>Xg,ZodTransform:()=>Mg,ZodTuple:()=>Tg,ZodType:()=>L,ZodULID:()=>Zc,ZodURL:()=>fi,ZodUUID:()=>Et,ZodUndefined:()=>bg,ZodUnion:()=>yi,ZodUnknown:()=>_g,ZodVoid:()=>Rg,ZodXID:()=>Bc,ZodXor:()=>Eg,_ZodString:()=>$c,_default:()=>Zg,_function:()=>X_,any:()=>T_,array:()=>gi,base64:()=>f_,base64url:()=>p_,bigint:()=>w_,boolean:()=>hg,catch:()=>qg,check:()=>Q_,cidrv4:()=>d_,cidrv6:()=>m_,clone:()=>he,codec:()=>K_,coerce:()=>ll,config:()=>se,core:()=>wt,cuid:()=>r_,cuid2:()=>o_,custom:()=>eC,date:()=>O_,decode:()=>Pc,decodeAsync:()=>Ac,describe:()=>tC,discriminatedUnion:()=>L_,e164:()=>g_,email:()=>Vx,emoji:()=>t_,encode:()=>Ec,encodeAsync:()=>kc,endsWith:()=>Ir,enum:()=>nl,exactOptional:()=>Wg,file:()=>j_,flattenError:()=>vr,float32:()=>x_,float64:()=>__,formatError:()=>Sr,fromJSONSchema:()=>sh,function:()=>X_,getErrorMap:()=>lC,globalRegistry:()=>Ae,gt:()=>Ct,gte:()=>xe,guid:()=>qx,hash:()=>S_,hex:()=>v_,hostname:()=>b_,httpUrl:()=>e_,includes:()=>Ar,instanceof:()=>rC,int:()=>Dc,int32:()=>C_,int64:()=>E_,intersection:()=>Ag,ipv4:()=>c_,ipv6:()=>u_,iso:()=>ci,json:()=>iC,jwt:()=>h_,keyof:()=>z_,ksuid:()=>a_,lazy:()=>eh,length:()=>Fn,literal:()=>U_,locales:()=>Qo,looseObject:()=>$_,looseRecord:()=>F_,lowercase:()=>Pr,lt:()=>_t,lte:()=>Ge,mac:()=>l_,map:()=>G_,maxLength:()=>Wn,maxSize:()=>ln,meta:()=>nC,mime:()=>Or,minLength:()=>Ft,minSize:()=>Rt,multipleOf:()=>cn,nan:()=>q_,nanoid:()=>n_,nativeEnum:()=>B_,negative:()=>pc,never:()=>el,nonnegative:()=>hc,nonoptional:()=>jg,nonpositive:()=>gc,normalize:()=>zr,null:()=>Sg,nullable:()=>di,nullish:()=>H_,number:()=>gg,object:()=>N_,optional:()=>ui,overwrite:()=>st,parse:()=>_c,parseAsync:()=>Cc,partialRecord:()=>W_,pipe:()=>mi,positive:()=>fc,prefault:()=>Ug,preprocess:()=>sC,prettifyError:()=>Sa,promise:()=>J_,property:()=>yc,readonly:()=>Jg,record:()=>Og,refine:()=>rh,regex:()=>Er,regexes:()=>Fe,registry:()=>ei,safeDecode:()=>Ic,safeDecodeAsync:()=>zc,safeEncode:()=>Tc,safeEncodeAsync:()=>Oc,safeParse:()=>Rc,safeParseAsync:()=>wc,set:()=>Z_,setErrorMap:()=>cC,size:()=>Ln,slugify:()=>Mr,startsWith:()=>Tr,strictObject:()=>D_,string:()=>Nc,stringFormat:()=>y_,stringbool:()=>oC,success:()=>V_,superRefine:()=>oh,symbol:()=>k_,templateLiteral:()=>Y_,toJSONSchema:()=>ri,toLowerCase:()=>Dr,toUpperCase:()=>$r,transform:()=>rl,treeifyError:()=>va,trim:()=>Nr,tuple:()=>Ig,uint32:()=>R_,uint64:()=>P_,ulid:()=>i_,undefined:()=>A_,union:()=>tl,unknown:()=>Gn,uppercase:()=>kr,url:()=>Qx,util:()=>I,uuid:()=>Kx,uuidv4:()=>Yx,uuidv6:()=>Jx,uuidv7:()=>Xx,void:()=>I_,xid:()=>s_,xor:()=>M_});var wt={};dn(wt,{$ZodAny:()=>cf,$ZodArray:()=>ff,$ZodAsyncError:()=>xt,$ZodBase64:()=>Jm,$ZodBase64URL:()=>Xm,$ZodBigInt:()=>Ga,$ZodBigIntFormat:()=>rf,$ZodBoolean:()=>Yo,$ZodCIDRv4:()=>qm,$ZodCIDRv6:()=>Km,$ZodCUID:()=>$m,$ZodCUID2:()=>Mm,$ZodCatch:()=>If,$ZodCheck:()=>J,$ZodCheckBigIntFormat:()=>mm,$ZodCheckEndsWith:()=>Rm,$ZodCheckGreaterThan:()=>za,$ZodCheckIncludes:()=>_m,$ZodCheckLengthEquals:()=>bm,$ZodCheckLessThan:()=>Oa,$ZodCheckLowerCase:()=>Sm,$ZodCheckMaxLength:()=>hm,$ZodCheckMaxSize:()=>fm,$ZodCheckMimeType:()=>Em,$ZodCheckMinLength:()=>ym,$ZodCheckMinSize:()=>pm,$ZodCheckMultipleOf:()=>um,$ZodCheckNumberFormat:()=>dm,$ZodCheckOverwrite:()=>Pm,$ZodCheckProperty:()=>wm,$ZodCheckRegex:()=>vm,$ZodCheckSizeEquals:()=>gm,$ZodCheckStartsWith:()=>Cm,$ZodCheckStringFormat:()=>wr,$ZodCheckUpperCase:()=>xm,$ZodCodec:()=>Xo,$ZodCustom:()=>Wf,$ZodCustomStringFormat:()=>tf,$ZodDate:()=>mf,$ZodDefault:()=>Pf,$ZodDiscriminatedUnion:()=>hf,$ZodE164:()=>Qm,$ZodEmail:()=>Om,$ZodEmoji:()=>Nm,$ZodEncodeError:()=>Nn,$ZodEnum:()=>xf,$ZodError:()=>Ho,$ZodExactOptional:()=>wf,$ZodFile:()=>Cf,$ZodFunction:()=>$f,$ZodGUID:()=>Tm,$ZodIPv4:()=>jm,$ZodIPv6:()=>Hm,$ZodISODate:()=>Zm,$ZodISODateTime:()=>Gm,$ZodISODuration:()=>Um,$ZodISOTime:()=>Bm,$ZodIntersection:()=>yf,$ZodJWT:()=>ef,$ZodKSUID:()=>Fm,$ZodLazy:()=>Lf,$ZodLiteral:()=>_f,$ZodMAC:()=>Vm,$ZodMap:()=>vf,$ZodNaN:()=>Of,$ZodNanoID:()=>Dm,$ZodNever:()=>uf,$ZodNonOptional:()=>Af,$ZodNull:()=>af,$ZodNullable:()=>Ef,$ZodNumber:()=>Fa,$ZodNumberFormat:()=>nf,$ZodObject:()=>Fx,$ZodObjectJIT:()=>pf,$ZodOptional:()=>Ba,$ZodPipe:()=>zf,$ZodPrefault:()=>kf,$ZodPromise:()=>Mf,$ZodReadonly:()=>Nf,$ZodRealError:()=>ke,$ZodRecord:()=>bf,$ZodRegistry:()=>Ff,$ZodSet:()=>Sf,$ZodString:()=>Mn,$ZodStringFormat:()=>q,$ZodSuccess:()=>Tf,$ZodSymbol:()=>of,$ZodTemplateLiteral:()=>Df,$ZodTransform:()=>Rf,$ZodTuple:()=>Za,$ZodType:()=>D,$ZodULID:()=>Lm,$ZodURL:()=>zm,$ZodUUID:()=>Im,$ZodUndefined:()=>sf,$ZodUnion:()=>Jo,$ZodUnknown:()=>lf,$ZodVoid:()=>df,$ZodXID:()=>Wm,$ZodXor:()=>gf,$brand:()=>pa,$constructor:()=>g,$input:()=>ja,$output:()=>Ua,Doc:()=>Na,JSONSchema:()=>Bx,JSONSchemaGenerator:()=>lg,NEVER:()=>fa,TimePrecision:()=>mc,_any:()=>up,_array:()=>yp,_base64:()=>cc,_base64url:()=>lc,_bigint:()=>rp,_boolean:()=>tp,_catch:()=>FD,_check:()=>Zx,_cidrv4:()=>sc,_cidrv6:()=>ac,_coercedBigint:()=>op,_coercedBoolean:()=>np,_coercedDate:()=>gp,_coercedNumber:()=>Kf,_coercedString:()=>Zf,_cuid:()=>Qa,_cuid2:()=>ec,_custom:()=>vp,_date:()=>pp,_decode:()=>Ra,_decodeAsync:()=>Ea,_default:()=>MD,_discriminatedUnion:()=>wD,_e164:()=>uc,_email:()=>Ha,_emoji:()=>Ja,_encode:()=>Ca,_encodeAsync:()=>wa,_endsWith:()=>Ir,_enum:()=>ID,_file:()=>bp,_float32:()=>Jf,_float64:()=>Xf,_gt:()=>Ct,_gte:()=>xe,_guid:()=>ti,_includes:()=>Ar,_int:()=>Yf,_int32:()=>Qf,_int64:()=>ip,_intersection:()=>ED,_ipv4:()=>oc,_ipv6:()=>ic,_isoDate:()=>jf,_isoDateTime:()=>Uf,_isoDuration:()=>Vf,_isoTime:()=>Hf,_jwt:()=>dc,_ksuid:()=>rc,_lazy:()=>UD,_length:()=>Fn,_literal:()=>zD,_lowercase:()=>Pr,_lt:()=>_t,_lte:()=>Ge,_mac:()=>Bf,_map:()=>AD,_max:()=>Ge,_maxLength:()=>Wn,_maxSize:()=>ln,_mime:()=>Or,_min:()=>xe,_minLength:()=>Ft,_minSize:()=>Rt,_multipleOf:()=>cn,_nan:()=>hp,_nanoid:()=>Xa,_nativeEnum:()=>OD,_negative:()=>pc,_never:()=>mp,_nonnegative:()=>hc,_nonoptional:()=>LD,_nonpositive:()=>gc,_normalize:()=>zr,_null:()=>lp,_nullable:()=>$D,_number:()=>qf,_optional:()=>DD,_overwrite:()=>st,_parse:()=>xr,_parseAsync:()=>_r,_pipe:()=>GD,_positive:()=>fc,_promise:()=>jD,_property:()=>yc,_readonly:()=>ZD,_record:()=>kD,_refine:()=>Sp,_regex:()=>Er,_safeDecode:()=>ka,_safeDecodeAsync:()=>Ta,_safeEncode:()=>Pa,_safeEncodeAsync:()=>Aa,_safeParse:()=>Cr,_safeParseAsync:()=>Rr,_set:()=>TD,_size:()=>Ln,_slugify:()=>Mr,_startsWith:()=>Tr,_string:()=>Gf,_stringFormat:()=>Lr,_stringbool:()=>Rp,_success:()=>WD,_superRefine:()=>xp,_symbol:()=>ap,_templateLiteral:()=>BD,_toLowerCase:()=>Dr,_toUpperCase:()=>$r,_transform:()=>ND,_trim:()=>Nr,_tuple:()=>PD,_uint32:()=>ep,_uint64:()=>sp,_ulid:()=>tc,_undefined:()=>cp,_union:()=>CD,_unknown:()=>dp,_uppercase:()=>kr,_url:()=>ni,_uuid:()=>Va,_uuidv4:()=>qa,_uuidv6:()=>Ka,_uuidv7:()=>Ya,_void:()=>fp,_xid:()=>nc,_xor:()=>RD,clone:()=>he,config:()=>se,createStandardJSONSchemaMethod:()=>bc,createToJSONSchemaMethod:()=>wp,decode:()=>GN,decodeAsync:()=>BN,describe:()=>_p,encode:()=>FN,encodeAsync:()=>ZN,extractDefs:()=>Gr,finalize:()=>Zr,flattenError:()=>vr,formatError:()=>Sr,globalConfig:()=>Wo,globalRegistry:()=>Ae,initializeContext:()=>Fr,isValidBase64:()=>Ym,isValidBase64URL:()=>$x,isValidJWT:()=>Mx,locales:()=>Qo,meta:()=>Cp,parse:()=>xa,parseAsync:()=>_a,prettifyError:()=>Sa,process:()=>X,regexes:()=>Fe,registry:()=>ei,safeDecode:()=>jN,safeDecodeAsync:()=>VN,safeEncode:()=>UN,safeEncodeAsync:()=>HN,safeParse:()=>Nd,safeParseAsync:()=>Dd,toDotPath:()=>bx,toJSONSchema:()=>ri,treeifyError:()=>va,util:()=>I,version:()=>km});var fa=Object.freeze({status:"aborted"});function g(e,t,n){function r(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let f=u[d];if(!(f in a))a[f]=l[f].bind(a)}}let o=n?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(a){var c;let l=n?.Parent?new i:this;r(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:r}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(n?.Parent&&a instanceof n.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}var pa=Symbol("zod_brand");class xt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Nn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}var Wo={};function se(e){if(e)Object.assign(Wo,e);return Wo}var I={};dn(I,{BIGINT_FORMAT_RANGES:()=>Od,Class:()=>hx,NUMBER_FORMAT_RANGES:()=>Id,aborted:()=>an,allowsEval:()=>Pd,assert:()=>bN,assertEqual:()=>pN,assertIs:()=>hN,assertNever:()=>yN,assertNotEqual:()=>gN,assignProp:()=>on,base64ToUint8Array:()=>px,base64urlToUint8Array:()=>DN,cached:()=>yr,captureStackTrace:()=>ya,cleanEnum:()=>NN,cleanRegex:()=>Zo,clone:()=>he,cloneDef:()=>SN,createTransparentProxy:()=>EN,defineLazy:()=>F,esc:()=>ha,escapeRegex:()=>Ke,extend:()=>AN,finalizeIssue:()=>Pe,floatSafeRemainder:()=>wd,getElementAtPath:()=>xN,getEnumValues:()=>Go,getLengthableOrigin:()=>jo,getParsedType:()=>wN,getSizableOrigin:()=>Uo,hexToUint8Array:()=>MN,isObject:()=>Dn,isPlainObject:()=>sn,issue:()=>br,joinValues:()=>ga,jsonStringifyReplacer:()=>hr,merge:()=>IN,mergeDefs:()=>Wt,normalizeParams:()=>x,nullish:()=>rn,numKeys:()=>RN,objectClone:()=>vN,omit:()=>kN,optionalKeys:()=>Td,parsedType:()=>zd,partial:()=>ON,pick:()=>PN,prefixIssues:()=>We,primitiveTypes:()=>Ad,promiseAllObject:()=>_N,propertyKeyTypes:()=>Bo,randomString:()=>CN,required:()=>zN,safeExtend:()=>TN,shallowClone:()=>kd,slugify:()=>Ed,stringifyPrimitive:()=>ba,uint8ArrayToBase64:()=>gx,uint8ArrayToBase64url:()=>$N,uint8ArrayToHex:()=>LN,unwrapMessage:()=>Fo});function pN(e){return e}function gN(e){return e}function hN(e){}function yN(e){throw Error("Unexpected value in exhaustive check")}function bN(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 ga(e,t="|"){return e.map((n)=>ba(n)).join(t)}function hr(e,t){if(typeof t==="bigint")return t.toString();return t}function yr(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw Error("cached value already set")}}}function rn(e){return e===null||e===void 0}function Zo(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function wd(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 fx=Symbol("evaluating");function F(e,t,n){let r=void 0;Object.defineProperty(e,t,{get(){if(r===fx)return;if(r===void 0)r=fx,r=n();return r},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function vN(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function on(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Wt(...e){let t={};for(let n of e){let r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function SN(e){return Wt(e._zod.def)}function xN(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 CN(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 Ed(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ya="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Dn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Pd=yr(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function sn(e){if(Dn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let n=t.prototype;if(Dn(n)===!1)return!1;if(Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)return!1;return!0}function kd(e){if(sn(e))return{...e};if(Array.isArray(e))return[...e];return e}function RN(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"]),Ad=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Ke(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function he(e,t,n){let r=new e._zod.constr(t??e._zod.def);if(!t||n?.parent)r._zod.parent=e;return r}function x(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function 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 ba(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Td(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Id={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Od={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function PN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let i=Wt(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=n.shape[a]}return on(this,"shape",s),s},checks:[]});return he(e,i)}function kN(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let i=Wt(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in n.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return on(this,"shape",s),s},checks:[]});return he(e,i)}function AN(e,t){if(!sn(t))throw Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let i=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(i,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Wt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return on(this,"shape",i),i}});return he(e,o)}function TN(e,t){if(!sn(t))throw Error("Invalid input to safeExtend: expected a plain object");let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t};return on(this,"shape",r),r}});return he(e,n)}function IN(e,t){let n=Wt(e._zod.def,{get shape(){let r={...e._zod.def.shape,...t._zod.def.shape};return on(this,"shape",r),r},get catchall(){return t._zod.def.catchall},checks:[]});return he(e,n)}function ON(e,t,n){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Wt(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(n)for(let l in n){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!n[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return on(this,"shape",c),c},checks:[]});return he(t,s)}function zN(e,t,n){let r=Wt(t._zod.def,{get shape(){let o=t._zod.def.shape,i={...o};if(n)for(let s in n){if(!(s in i))throw Error(`Unrecognized key: "${s}"`);if(!n[s])continue;i[s]=new e({type:"nonoptional",innerType:o[s]})}else for(let s in o)i[s]=new e({type:"nonoptional",innerType:o[s]});return on(this,"shape",i),i}});return he(t,r)}function an(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function We(e,t){return t.map((n)=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function 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 zd(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function br(...e){let[t,n,r]=e;if(typeof t==="string")return{message:t,code:"custom",input:n,inst:r};return{...t}}function NN(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map((t)=>t[1])}function px(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 gx(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function DN(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return px(t+n)}function $N(e){return gx(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function MN(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 LN(e){return Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}class hx{constructor(...e){}}var yx=(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",yx),ke=g("$ZodError",yx,{Parent:Error});function vr(e,t=(n)=>n.message){let n={},r=[];for(let o of e.issues)if(o.path.length>0)n[o.path[0]]=n[o.path[0]]||[],n[o.path[0]].push(t(o));else r.push(t(o));return{formErrors:r,fieldErrors:n}}function Sr(e,t=(n)=>n.message){let n={_errors:[]},r=(o)=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((s)=>r({issues:s}));else if(i.code==="invalid_key")r({issues:i.issues});else if(i.code==="invalid_element")r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let s=n,a=0;while(a<i.path.length){let c=i.path[a];if(a!==i.path.length-1)s[c]=s[c]||{_errors:[]};else s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(i));s=s[c],a++}}};return r(e),n}function va(e,t=(n)=>n.message){let n={errors:[]},r=(o,i=[])=>{var s,a;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map((l)=>r({issues:l},c.path));else if(c.code==="invalid_key")r({issues:c.issues},c.path);else if(c.code==="invalid_element")r({issues:c.issues},c.path);else{let l=[...i,...c.path];if(l.length===0){n.errors.push(t(c));continue}let u=n,d=0;while(d<l.length){let f=l[d],m=d===l.length-1;if(typeof f==="string")u.properties??(u.properties={}),(s=u.properties)[f]??(s[f]={errors:[]}),u=u.properties[f];else u.items??(u.items=[]),(a=u.items)[f]??(a[f]={errors:[]}),u=u.items[f];if(m)u.errors.push(t(c));d++}}};return r(e),n}function bx(e){let t=[],n=e.map((r)=>typeof r==="object"?r.key:r);for(let r of n)if(typeof r==="number")t.push(`[${r}]`);else if(typeof r==="symbol")t.push(`[${JSON.stringify(String(r))}]`);else if(/[^\w$]/.test(r))t.push(`[${JSON.stringify(r)}]`);else{if(t.length)t.push(".");t.push(r)}return t.join("")}function Sa(e){let t=[],n=[...e.issues].sort((r,o)=>(r.path??[]).length-(o.path??[]).length);for(let r of n)if(t.push(`\u2716 ${r.message}`),r.path?.length)t.push(` \u2192 at ${bx(r.path)}`);return t.join(`
|
|
62
|
+
`)}var xr=(e)=>(t,n,r,o)=>{let i=r?Object.assign(r,{async:!1}):{async:!1},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw new xt;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw ya(a,o?.callee),a}return s.value},xa=xr(ke),_r=(e)=>async(t,n,r,o)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},s=t._zod.run({value:n,issues:[]},i);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(o?.Err??e)(s.issues.map((c)=>Pe(c,i,se())));throw ya(a,o?.callee),a}return s.value},_a=_r(ke),Cr=(e)=>(t,n,r)=>{let o=r?{...r,async:!1}:{async:!1},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)throw new xt;return i.issues.length?{success:!1,error:new(e??Ho)(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Nd=Cr(ke),Rr=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{async:!0}):{async:!0},i=t._zod.run({value:n,issues:[]},o);if(i instanceof Promise)i=await i;return i.issues.length?{success:!1,error:new e(i.issues.map((s)=>Pe(s,o,se())))}:{success:!0,data:i.value}},Dd=Rr(ke),Ca=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return xr(e)(t,n,o)},FN=Ca(ke),Ra=(e)=>(t,n,r)=>xr(e)(t,n,r),GN=Ra(ke),wa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return _r(e)(t,n,o)},ZN=wa(ke),Ea=(e)=>async(t,n,r)=>_r(e)(t,n,r),BN=Ea(ke),Pa=(e)=>(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Cr(e)(t,n,o)},UN=Pa(ke),ka=(e)=>(t,n,r)=>Cr(e)(t,n,r),jN=ka(ke),Aa=(e)=>async(t,n,r)=>{let o=r?Object.assign(r,{direction:"backward"}):{direction:"backward"};return Rr(e)(t,n,o)},HN=Aa(ke),Ta=(e)=>async(t,n,r)=>Rr(e)(t,n,r),VN=Ta(ke);var Fe={};dn(Fe,{base64:()=>Jd,base64url:()=>Ia,bigint:()=>rm,boolean:()=>im,browserEmail:()=>tD,cidrv4:()=>Kd,cidrv6:()=>Yd,cuid:()=>$d,cuid2:()=>Md,date:()=>Qd,datetime:()=>tm,domain:()=>oD,duration:()=>Zd,e164:()=>Xd,email:()=>Ud,emoji:()=>jd,extendedDuration:()=>qN,guid:()=>Bd,hex:()=>iD,hostname:()=>rD,html5Email:()=>XN,idnEmail:()=>eD,integer:()=>om,ipv4:()=>Hd,ipv6:()=>Vd,ksuid:()=>Fd,lowercase:()=>cm,mac:()=>qd,md5_base64:()=>aD,md5_base64url:()=>cD,md5_hex:()=>sD,nanoid:()=>Gd,null:()=>sm,number:()=>Vo,rfc5322Email:()=>QN,sha1_base64:()=>uD,sha1_base64url:()=>dD,sha1_hex:()=>lD,sha256_base64:()=>fD,sha256_base64url:()=>pD,sha256_hex:()=>mD,sha384_base64:()=>hD,sha384_base64url:()=>yD,sha384_hex:()=>gD,sha512_base64:()=>vD,sha512_base64url:()=>SD,sha512_hex:()=>bD,string:()=>nm,time:()=>em,ulid:()=>Ld,undefined:()=>am,unicodeEmail:()=>vx,uppercase:()=>lm,uuid:()=>$n,uuid4:()=>KN,uuid6:()=>YN,uuid7:()=>JN,xid:()=>Wd});var $d=/^[cC][^\s-]{8,}$/,Md=/^[0-9a-z]+$/,Ld=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Wd=/^[0-9a-vA-V]{20}$/,Fd=/^[A-Za-z0-9]{27}$/,Gd=/^[a-zA-Z0-9_-]{21}$/,Zd=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,qN=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Bd=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,$n=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},KN=$n(4),YN=$n(6),JN=$n(7),Ud=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,XN=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,QN=/^(([^<>()\[\]\\.,;:\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,}))$/,vx=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,eD=vx,tD=/^[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])?)*$/,nD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function jd(){return new RegExp(nD,"u")}var Hd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Vd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,qd=(e)=>{let t=Ke(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Kd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Yd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Jd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Ia=/^[A-Za-z0-9_-]*$/,rD=/^(?=.{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])?)*\.?$/,oD=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Xd=/^\+[1-9]\d{6,14}$/,Sx="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Qd=new RegExp(`^${Sx}$`);function xx(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function em(e){return new RegExp(`^${xx(e)}$`)}function tm(e){let t=xx({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(`^${Sx}T(?:${r})$`)}var nm=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},rm=/^-?\d+n?$/,om=/^-?\d+$/,Vo=/^-?\d+(?:\.\d+)?$/,im=/^(?:true|false)$/i,sm=/^null$/i;var am=/^undefined$/i;var cm=/^[^A-Z]*$/,lm=/^[^a-z]*$/,iD=/^[0-9a-fA-F]*$/;function qo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Ko(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var sD=/^[0-9a-fA-F]{32}$/,aD=qo(22,"=="),cD=Ko(22),lD=/^[0-9a-fA-F]{40}$/,uD=qo(27,"="),dD=Ko(27),mD=/^[0-9a-fA-F]{64}$/,fD=qo(43,"="),pD=Ko(43),gD=/^[0-9a-fA-F]{96}$/,hD=qo(64,""),yD=Ko(64),bD=/^[0-9a-fA-F]{128}$/,vD=qo(86,"=="),SD=Ko(86);var J=g("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Cx={number:"number",bigint:"bigint",object:"date"},Oa=g("$ZodCheckLessThan",(e,t)=>{J.init(e,t);let n=Cx[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<i)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value<=t.value:r.value<t.value)return;r.issues.push({origin:n,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),za=g("$ZodCheckGreaterThan",(e,t)=>{J.init(e,t);let n=Cx[typeof t.value];e._zod.onattach.push((r)=>{let o=r._zod.bag,i=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>i)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(r)=>{if(t.inclusive?r.value>=t.value:r.value>t.value)return;r.issues.push({origin:n,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),um=g("$ZodCheckMultipleOf",(e,t)=>{J.init(e,t),e._zod.onattach.push((n)=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=(n)=>{if(typeof n.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof n.value==="bigint"?n.value%t.value===BigInt(0):wd(n.value,t.value)===0)return;n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),dm=g("$ZodCheckNumberFormat",(e,t)=>{J.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),r=n?"int":"number",[o,i]=Id[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=o,a.maximum=i,n)a.pattern=om}),e._zod.check=(s)=>{let a=s.value;if(n){if(!Number.isInteger(a)){s.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}if(a<o)s.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>i)s.issues.push({origin:"number",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),mm=g("$ZodCheckBigIntFormat",(e,t)=>{J.init(e,t);let[n,r]=Od[t.format];e._zod.onattach.push((o)=>{let i=o._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=(o)=>{let i=o.value;if(i<n)o.issues.push({origin:"bigint",input:i,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort});if(i>r)o.issues.push({origin:"bigint",input:i,code:"too_big",maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),fm=g("$ZodCheckMaxSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.size<=t.maximum)return;r.issues.push({origin:Uo(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),pm=g("$ZodCheckMinSize",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.size>=t.minimum)return;r.issues.push({origin:Uo(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),gm=g("$ZodCheckSizeEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.size!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.size,o.maximum=t.size,o.size=t.size}),e._zod.check=(r)=>{let o=r.value,i=o.size;if(i===t.size)return;let s=i>t.size;r.issues.push({origin: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})}}),hm=g("$ZodCheckMaxLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)r._zod.bag.maximum=t.maximum}),e._zod.check=(r)=>{let o=r.value;if(o.length<=t.maximum)return;let s=jo(o);r.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),ym=g("$ZodCheckMinLength",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)r._zod.bag.minimum=t.minimum}),e._zod.check=(r)=>{let o=r.value;if(o.length>=t.minimum)return;let s=jo(o);r.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),bm=g("$ZodCheckLengthEquals",(e,t)=>{var n;J.init(e,t),(n=e._zod.def).when??(n.when=(r)=>{let o=r.value;return!rn(o)&&o.length!==void 0}),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(r)=>{let o=r.value,i=o.length;if(i===t.length)return;let s=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})}}),wr=g("$ZodCheckStringFormat",(e,t)=>{var n,r;if(J.init(e,t),e._zod.onattach.push((o)=>{let i=o._zod.bag;if(i.format=t.format,t.pattern)i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern)}),t.pattern)(n=e._zod).check??(n.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(r=e._zod).check??(r.check=()=>{})}),vm=g("$ZodCheckRegex",(e,t)=>{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})}}),Sm=g("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=cm),wr.init(e,t)}),xm=g("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=lm),wr.init(e,t)}),_m=g("$ZodCheckIncludes",(e,t)=>{J.init(e,t);let n=Ke(t.includes),r=new RegExp(typeof t.position==="number"?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push((o)=>{let i=o._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Cm=g("$ZodCheckStartsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`^${Ke(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.startsWith(t.prefix))return;r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),Rm=g("$ZodCheckEndsWith",(e,t)=>{J.init(e,t);let n=new RegExp(`.*${Ke(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push((r)=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(r)=>{if(r.value.endsWith(t.suffix))return;r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}});function _x(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues))}var wm=g("$ZodCheckProperty",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{let r=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(r instanceof Promise)return r.then((o)=>_x(o,n,t.property));_x(r,n,t.property);return}}),Em=g("$ZodCheckMimeType",(e,t)=>{J.init(e,t);let n=new Set(t.mime);e._zod.onattach.push((r)=>{r._zod.bag.mime=t.mime}),e._zod.check=(r)=>{if(n.has(r.value.type))return;r.issues.push({code:"invalid_value",values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),Pm=g("$ZodCheckOverwrite",(e,t)=>{J.init(e,t),e._zod.check=(n)=>{n.value=t.tx(n.value)}});class Na{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
63
63
|
`).filter((i)=>i),r=Math.min(...n.map((i)=>i.length-i.trimStart().length)),o=n.map((i)=>i.slice(r)).map((i)=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,t=this?.args,r=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,r.join(`
|
|
64
|
-
`))}}var Pm={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=Pm;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,a,c)=>{let l=an(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let f=s.issues.length,m=d._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new xt;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await m,s.issues.length===f)return;if(!l)l=an(s,f)});else{if(s.issues.length===f)continue;if(!l)l=an(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(an(s))return s.aborted=!0,s;let l=o(a,r,c);if(l instanceof Promise){if(c.async===!1)throw new 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=zd(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Nd(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Mn=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??tm(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=g("$ZodStringFormat",(e,t)=>{Rr.init(e,t),Mn.init(e,t)}),Am=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),Tm=g("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=$n(r))}else t.pattern??(t.pattern=$n());q.init(e,t)}),Im=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),Om=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})}}}),zm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ud()),q.init(e,t)}),Nm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Fd),q.init(e,t)}),Dm=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Dd),q.init(e,t)}),$m=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=$d),q.init(e,t)}),Mm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Md),q.init(e,t)}),Lm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Ld),q.init(e,t)}),Wm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Wd),q.init(e,t)}),Fm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=em(t)),q.init(e,t)}),Gm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Xd),q.init(e,t)}),Zm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Qd(t)),q.init(e,t)}),Bm=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),Um=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=jd),q.init(e,t),e._zod.bag.format="ipv4"}),jm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Hd),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})}}}),Hm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Vd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),Vm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=qd),q.init(e,t)}),qm=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Kd),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 Km(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Ym=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Yd),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Km(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function $x(e){if(!Ia.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Km(n)}var Jm=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ia),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if($x(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Xm=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t)});function Mx(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 Qm=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(Mx(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),ef=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??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}}),tf=g("$ZodNumberFormat",(e,t)=>{um.init(e,t),Fa.init(e,t)}),Yo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=om,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=nm,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}}),nf=g("$ZodBigIntFormat",(e,t)=>{dm.init(e,t),Ga.init(e,t)}),rf=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}}),of=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=sm,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}}),sf=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=im,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}}),af=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),cf=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),lf=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)}),uf=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}}),df=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 Rx(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var mf=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)=>Rx(l,n,s)));else Rx(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Wa(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...We(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function Lx(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=Ad(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Wx(e,t,n,r,o,i){let s=[],a=o.keySet,c=o.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let f=c.run({value:t[d],issues:[]},r);if(f instanceof Promise)e.push(f.then((m)=>Wa(m,n,d,t,u)));else Wa(f,n,d,t,u)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i});if(!e.length)return n;return Promise.all(e).then(()=>n)}var Fx=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(()=>Lx(t));F(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let o=Dn,i=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=r.value);let l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let f of s.keys){let m=d[f],p=m._zod.optout==="optional",h=m._zod.run({value:l[f],issues:[]},c);if(h instanceof Promise)u.push(h.then((b)=>Wa(b,a,f,l,p)));else Wa(h,a,f,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return Wx(u,l,a,c,r.value,e)}}),ff=g("$ZodObjectJIT",(e,t)=>{Fx.init(e,t);let n=e._zod.parse,r=yr(()=>Lx(t)),o=(f)=>{let m=new Na(["shape","payload","ctx"]),p=r.value,h=(w)=>{let E=ha(w);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};m.write("const input = payload.value;");let b=Object.create(null),y=0;for(let w of p.keys)b[w]=`key_${y++}`;m.write("const newResult = {};");for(let w of p.keys){let E=b[w],P=ha(w),v=f[w]?._zod?.optout==="optional";if(m.write(`const ${E} = ${h(w)};`),v)m.write(`
|
|
64
|
+
`))}}var km={major:4,minor:3,patch:5};var D=g("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=km;let r=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))r.unshift(e);for(let o of r)for(let i of o._zod.onattach)i(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,a,c)=>{let l=an(s),u;for(let d of a){if(d._zod.def.when){if(!d._zod.def.when(s))continue}else if(l)continue;let f=s.issues.length,m=d._zod.check(s);if(m instanceof Promise&&c?.async===!1)throw new xt;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await m,s.issues.length===f)return;if(!l)l=an(s,f)});else{if(s.issues.length===f)continue;if(!l)l=an(s,f)}}if(u)return u.then(()=>s);return s},i=(s,a,c)=>{if(an(s))return s.aborted=!0,s;let l=o(a,r,c);if(l instanceof Promise){if(c.async===!1)throw new 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=Nd(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch(i){return Dd(e,o).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),Mn=g("$ZodString",(e,t)=>{D.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??nm(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch(o){}if(typeof n.value==="string")return n;return n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=g("$ZodStringFormat",(e,t)=>{wr.init(e,t),Mn.init(e,t)}),Tm=g("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Bd),q.init(e,t)}),Im=g("$ZodUUID",(e,t)=>{if(t.version){let r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=$n(r))}else t.pattern??(t.pattern=$n());q.init(e,t)}),Om=g("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ud),q.init(e,t)}),zm=g("$ZodURL",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{try{let r=n.value.trim(),o=new URL(r);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})}if(t.normalize)n.value=o.href;else n.value=r;return}catch(r){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),Nm=g("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=jd()),q.init(e,t)}),Dm=g("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=Gd),q.init(e,t)}),$m=g("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=$d),q.init(e,t)}),Mm=g("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Md),q.init(e,t)}),Lm=g("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Ld),q.init(e,t)}),Wm=g("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Wd),q.init(e,t)}),Fm=g("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Fd),q.init(e,t)}),Gm=g("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=tm(t)),q.init(e,t)}),Zm=g("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Qd),q.init(e,t)}),Bm=g("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=em(t)),q.init(e,t)}),Um=g("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Zd),q.init(e,t)}),jm=g("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Hd),q.init(e,t),e._zod.bag.format="ipv4"}),Hm=g("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Vd),q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(n)=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Vm=g("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=qd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),qm=g("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Kd),q.init(e,t)}),Km=g("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=Yd),q.init(e,t),e._zod.check=(n)=>{let r=n.value.split("/");try{if(r.length!==2)throw Error();let[o,i]=r;if(!i)throw Error();let s=Number(i);if(`${s}`!==i)throw Error();if(s<0||s>128)throw Error();new URL(`http://[${o}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function Ym(e){if(e==="")return!0;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Jm=g("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Jd),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(n)=>{if(Ym(n.value))return;n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function $x(e){if(!Ia.test(e))return!1;let t=e.replace(/[-_]/g,(r)=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return Ym(n)}var Xm=g("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ia),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(n)=>{if($x(n.value))return;n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Qm=g("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Xd),q.init(e,t)});function Mx(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let o=JSON.parse(atob(r));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var ef=g("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(Mx(n.value,t.alg))return;n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),tf=g("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=(n)=>{if(t.fn(n.value))return;n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Fa=g("$ZodNumber",(e,t)=>{D.init(e,t),e._zod.pattern=e._zod.bag.pattern??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}}),nf=g("$ZodNumberFormat",(e,t)=>{dm.init(e,t),Fa.init(e,t)}),Yo=g("$ZodBoolean",(e,t)=>{D.init(e,t),e._zod.pattern=im,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Boolean(n.value)}catch(i){}let o=n.value;if(typeof o==="boolean")return n;return n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),Ga=g("$ZodBigInt",(e,t)=>{D.init(e,t),e._zod.pattern=rm,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch(o){}if(typeof n.value==="bigint")return n;return n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),rf=g("$ZodBigIntFormat",(e,t)=>{mm.init(e,t),Ga.init(e,t)}),of=g("$ZodSymbol",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o==="symbol")return n;return n.issues.push({expected:"symbol",code:"invalid_type",input:o,inst:e}),n}}),sf=g("$ZodUndefined",(e,t)=>{D.init(e,t),e._zod.pattern=am,e._zod.values=new Set([void 0]),e._zod.optin="optional",e._zod.optout="optional",e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"undefined",code:"invalid_type",input:o,inst:e}),n}}),af=g("$ZodNull",(e,t)=>{D.init(e,t),e._zod.pattern=sm,e._zod.values=new Set([null]),e._zod.parse=(n,r)=>{let o=n.value;if(o===null)return n;return n.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),n}}),cf=g("$ZodAny",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),lf=g("$ZodUnknown",(e,t)=>{D.init(e,t),e._zod.parse=(n)=>n}),uf=g("$ZodNever",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),df=g("$ZodVoid",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(typeof o>"u")return n;return n.issues.push({expected:"void",code:"invalid_type",input:o,inst:e}),n}}),mf=g("$ZodDate",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch(a){}let o=n.value,i=o instanceof Date;if(i&&!Number.isNaN(o.getTime()))return n;return n.issues.push({expected:"date",code:"invalid_type",input:o,...i?{received:"Invalid Date"}:{},inst:e}),n}});function wx(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var ff=g("$ZodArray",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!Array.isArray(o))return n.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),n;n.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let a=o[s],c=t.element._zod.run({value:a,issues:[]},r);if(c instanceof Promise)i.push(c.then((l)=>wx(l,n,s)));else wx(c,n,s)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Wa(e,t,n,r,o){if(e.issues.length){if(o&&!(n in r))return;t.issues.push(...We(n,e.issues))}if(e.value===void 0){if(n in r)t.value[n]=void 0}else t.value[n]=e.value}function Lx(e){let t=Object.keys(e.shape);for(let r of t)if(!e.shape?.[r]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${r}": expected a Zod schema`);let n=Td(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Wx(e,t,n,r,o,i){let s=[],a=o.keySet,c=o.catchall._zod,l=c.def.type,u=c.optout==="optional";for(let d in t){if(a.has(d))continue;if(l==="never"){s.push(d);continue}let f=c.run({value:t[d],issues:[]},r);if(f instanceof Promise)e.push(f.then((m)=>Wa(m,n,d,t,u)));else Wa(f,n,d,t,u)}if(s.length)n.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i});if(!e.length)return n;return Promise.all(e).then(()=>n)}var Fx=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(()=>Lx(t));F(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let o=Dn,i=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=r.value);let l=a.value;if(!o(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let f of s.keys){let m=d[f],p=m._zod.optout==="optional",h=m._zod.run({value:l[f],issues:[]},c);if(h instanceof Promise)u.push(h.then((b)=>Wa(b,a,f,l,p)));else Wa(h,a,f,l,p)}if(!i)return u.length?Promise.all(u).then(()=>a):a;return Wx(u,l,a,c,r.value,e)}}),pf=g("$ZodObjectJIT",(e,t)=>{Fx.init(e,t);let n=e._zod.parse,r=yr(()=>Lx(t)),o=(f)=>{let m=new Na(["shape","payload","ctx"]),p=r.value,h=(R)=>{let E=ha(R);return`shape[${E}]._zod.run({ value: input[${E}], issues: [] }, ctx)`};m.write("const input = payload.value;");let b=Object.create(null),y=0;for(let R of p.keys)b[R]=`key_${y++}`;m.write("const newResult = {};");for(let R of p.keys){let E=b[R],P=ha(R),v=f[R]?._zod?.optout==="optional";if(m.write(`const ${E} = ${h(R)};`),v)m.write(`
|
|
65
65
|
if (${E}.issues.length) {
|
|
66
66
|
if (${P} in input) {
|
|
67
67
|
payload.issues = payload.issues.concat(${E}.issues.map(iss => ({
|
|
@@ -95,6 +95,6 @@ ${HR(e.intent??"manual_only")}`,a}function HR(e){switch(e){case"hard_stop":retur
|
|
|
95
95
|
newResult[${P}] = ${E}.value;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
`)}m.write("payload.value = newResult;"),m.write("return payload;");let R=m.compile();return(w,E)=>R(f,w,E)},i,s=Dn,a=!Wo.jitless,l=a&&Ed.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 Wx([],p,f,m,d,e)}return n(f,m)}});function Ex(e,t,n,r){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter((i)=>!an(i));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))}),t}var 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 Ex(a,o,e,i);return Promise.all(a).then((c)=>Ex(c,o,e,i))}});function Px(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 pf=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 Px(a,o,e,i);return Promise.all(a).then((c)=>Px(c,o,e,i))}}),gf=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=yr(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!Dn(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=r.value.get(s?.[t.discriminator]);if(a)return a._zod.run(o,i);if(t.unionFallback)return n(o,i);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o}}),hf=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])=>kx(n,c,l));return kx(n,i,s)}});function km(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(sn(e)&&sn(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let s=km(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=km(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 kx(e,t,n){let r=new Map,o;for(let a of t.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).l=!0}}else e.issues.push(a);for(let a of n.issues)if(a.code==="unrecognized_keys")for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).r=!0}else e.issues.push(a);let i=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&o)e.issues.push({...o,keys:i});if(an(e))return e;let s=km(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Za=g("$ZodTuple",(e,t)=>{D.init(e,t);let n=t.items;e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let s=[],a=[...n].reverse().findIndex((u)=>u._zod.optin!=="optional"),c=a===-1?0:n.length-a;if(!t.rest){let u=i.length>n.length,d=i.length<c-1;if(u||d)return r.issues.push({...u?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let l=-1;for(let u of n){if(l++,l>=i.length){if(l>=c)continue}let d=u._zod.run({value:i[l],issues:[]},o);if(d instanceof Promise)s.push(d.then((f)=>Da(f,r,l)));else Da(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let f=t.rest._zod.run({value:d,issues:[]},o);if(f instanceof Promise)s.push(f.then((m)=>Da(m,r,l)));else Da(f,r,l)}}if(s.length)return Promise.all(s).then(()=>r);return r}});function Da(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var yf=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!sn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[],s=t.keyType._zod.values;if(s){n.value={};let a=new Set;for(let l of s)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){a.add(typeof l==="number"?l.toString():l);let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...We(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...We(l,u.issues));n.value[l]=u.value}}let c;for(let l in o)if(!a.has(l))c=c??[],c.push(l);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a==="string"&&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(...We(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...We(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),bf=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])=>{Ax(u,d,n,s,o,e,r)}));else Ax(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Ax(e,t,n,r,o,i,s){if(e.issues.length)if(Bo.has(typeof r))n.issues.push(...We(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Pe(a,s,se()))});if(t.issues.length)if(Bo.has(typeof r))n.issues.push(...We(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Pe(a,s,se()))});n.value.set(e.value,t.value)}var vf=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)=>Tx(c,n)));else Tx(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Tx(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var Sf=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"?Ke(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;if(r.has(s))return o;return o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),xf=g("$ZodLiteral",(e,t)=>{if(D.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((r)=>typeof r==="string"?Ke(r):r?Ke(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(n.has(i))return r;return r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),_f=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}}),Cf=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(e.constructor.name);let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((s)=>(n.value=s,n));if(o instanceof Promise)throw new xt;return n.value=o,n}});function Ix(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ba=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${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)=>Ix(i,n.value));return Ix(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),wf=g("$ZodExactOptional",(e,t)=>{Ba.init(e,t),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Rf=g("$ZodNullable",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${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)}}),Ef=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)=>Ox(i,t));return Ox(o,t)}});function Ox(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Pf=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)}}),kf=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)=>zx(i,e));return zx(o,e)}});function zx(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 Af=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn("ZodSuccess");let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>(n.value=i.issues.length===0,n));return n.value=o.issues.length===0,n}}),Tf=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}}),If=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}}),Of=g("$ZodPipe",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>$a(s,t.in,r));return $a(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>$a(i,t.out,r));return $a(o,t.out,r)}});function $a(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var 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)=>Ma(s,t,r));return Ma(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Ma(s,t,r));return Ma(i,t,r)}}});function Ma(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let o=t.transform(e.value,e);if(o instanceof Promise)return o.then((i)=>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 zf=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(Nx);return Nx(o)}});function Nx(e){return e.value=Object.freeze(e.value),e}var Nf=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||kd.has(typeof r))n.push(Ke(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),Df=g("$ZodFunction",(e,t)=>(D.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...r){let o=e._def.input?xa(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return xa(e._def.output,i);return i}},e.implementAsync=(n)=>{if(typeof n!=="function")throw Error("implementAsync() must be called with a function");return async function(...r){let o=e._def.input?await _a(e._def.input,r):r,i=await Reflect.apply(n,this,o);if(e._def.output)return await _a(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)),$f=g("$ZodPromise",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then((o)=>t.innerType._zod.run({value:o,issues:[]},r))}),Mf=g("$ZodLazy",(e,t)=>{D.init(e,t),F(e._zod,"innerType",()=>t.getter()),F(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),F(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),F(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),F(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Lf=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)=>Dx(i,n,r,e));Dx(o,n,r,e);return}});function Dx(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 Qo={};var Gx,Ua=Symbol("ZodOutput"),ja=Symbol("ZodInput");class Wf{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 Wf}(Gx=globalThis).__zod_globalRegistry??(Gx.__zod_globalRegistry=ei());var Ae=globalThis.__zod_globalRegistry;function Ff(e,t){return new e({type:"string",...x(t)})}function Gf(e,t){return new e({type:"string",coerce:!0,...x(t)})}function Ha(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...x(t)})}function ti(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...x(t)})}function Va(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...x(t)})}function qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...x(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...x(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...x(t)})}function ni(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...x(t)})}function Ja(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...x(t)})}function Xa(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...x(t)})}function Qa(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...x(t)})}function ec(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...x(t)})}function tc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...x(t)})}function nc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...x(t)})}function rc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...x(t)})}function oc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...x(t)})}function ic(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...x(t)})}function Zf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...x(t)})}function sc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...x(t)})}function ac(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...x(t)})}function cc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...x(t)})}function lc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...x(t)})}function uc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...x(t)})}function dc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...x(t)})}var mc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Bf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...x(t)})}function Uf(e,t){return new e({type:"string",format:"date",check:"string_format",...x(t)})}function jf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...x(t)})}function Hf(e,t){return new e({type:"string",format:"duration",check:"string_format",...x(t)})}function Vf(e,t){return new e({type:"number",checks:[],...x(t)})}function qf(e,t){return new e({type:"number",coerce:!0,checks:[],...x(t)})}function Kf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...x(t)})}function Yf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...x(t)})}function Jf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...x(t)})}function Xf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...x(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...x(t)})}function ep(e,t){return new e({type:"boolean",...x(t)})}function tp(e,t){return new e({type:"boolean",coerce:!0,...x(t)})}function np(e,t){return new e({type:"bigint",...x(t)})}function rp(e,t){return new e({type:"bigint",coerce:!0,...x(t)})}function op(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...x(t)})}function ip(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...x(t)})}function sp(e,t){return new e({type:"symbol",...x(t)})}function ap(e,t){return new e({type:"undefined",...x(t)})}function cp(e,t){return new e({type:"null",...x(t)})}function lp(e){return new e({type:"any"})}function up(e){return new e({type:"unknown"})}function dp(e,t){return new e({type:"never",...x(t)})}function mp(e,t){return new e({type:"void",...x(t)})}function fp(e,t){return new e({type:"date",...x(t)})}function pp(e,t){return new e({type:"date",coerce:!0,...x(t)})}function gp(e,t){return new e({type:"nan",...x(t)})}function _t(e,t){return new Oa({check:"less_than",...x(t),value:e,inclusive:!1})}function Ge(e,t){return new Oa({check:"less_than",...x(t),value:e,inclusive:!0})}function Ct(e,t){return new za({check:"greater_than",...x(t),value:e,inclusive:!1})}function xe(e,t){return new za({check:"greater_than",...x(t),value:e,inclusive:!0})}function fc(e){return Ct(0,e)}function pc(e){return _t(0,e)}function gc(e){return Ge(0,e)}function hc(e){return xe(0,e)}function cn(e,t){return new lm({check:"multiple_of",...x(t),value:e})}function ln(e,t){return new mm({check:"max_size",...x(t),maximum:e})}function wt(e,t){return new fm({check:"min_size",...x(t),minimum:e})}function Ln(e,t){return new pm({check:"size_equals",...x(t),size:e})}function Wn(e,t){return new gm({check:"max_length",...x(t),maximum:e})}function Ft(e,t){return new hm({check:"min_length",...x(t),minimum:e})}function Fn(e,t){return new ym({check:"length_equals",...x(t),length:e})}function Er(e,t){return new bm({check:"string_format",format:"regex",...x(t),pattern:e})}function Pr(e){return new vm({check:"string_format",format:"lowercase",...x(e)})}function kr(e){return new Sm({check:"string_format",format:"uppercase",...x(e)})}function Ar(e,t){return new xm({check:"string_format",format:"includes",...x(t),includes:e})}function Tr(e,t){return new _m({check:"string_format",format:"starts_with",...x(t),prefix:e})}function Ir(e,t){return new Cm({check:"string_format",format:"ends_with",...x(t),suffix:e})}function yc(e,t,n){return new wm({check:"property",property:e,schema:t,...x(n)})}function Or(e,t){return new Rm({check:"mime_type",mime:e,...x(t)})}function st(e){return new Em({check:"overwrite",tx:e})}function zr(e){return st((t)=>t.normalize(e))}function Nr(){return st((e)=>e.trim())}function Dr(){return st((e)=>e.toLowerCase())}function $r(){return st((e)=>e.toUpperCase())}function Mr(){return st((e)=>Rd(e))}function hp(e,t,n){return new e({type:"array",element:t,...x(n)})}function CD(e,t,n){return new e({type:"union",options:t,...x(n)})}function wD(e,t,n){return new e({type:"union",options:t,inclusive:!1,...x(n)})}function RD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,...x(r)})}function ED(e,t,n){return new e({type:"intersection",left:t,right:n})}function PD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,...x(o?r:n)})}function kD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,...x(r)})}function AD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...x(r)})}function TD(e,t,n){return new e({type:"set",valueType:t,...x(n)})}function ID(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,...x(n)})}function OD(e,t,n){return new e({type:"enum",entries:t,...x(n)})}function zD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...x(n)})}function yp(e,t){return new e({type:"file",...x(t)})}function ND(e,t){return new e({type:"transform",transform:t})}function DD(e,t){return new e({type:"optional",innerType:t})}function $D(e,t){return new e({type:"nullable",innerType:t})}function MD(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():Pd(n)}})}function LD(e,t,n){return new e({type:"nonoptional",innerType:t,...x(n)})}function WD(e,t){return new e({type:"success",innerType:t})}function FD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function GD(e,t,n){return new e({type:"pipe",in:t,out:n})}function ZD(e,t){return new e({type:"readonly",innerType:t})}function BD(e,t,n){return new e({type:"template_literal",parts:t,...x(n)})}function UD(e,t){return new e({type:"lazy",getter:t})}function jD(e,t){return new e({type:"promise",innerType:t})}function bp(e,t,n){let r=x(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function vp(e,t,n){return new e({type:"custom",check:"custom",fn:t,...x(n)})}function Sp(e){let t=Zx((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 Zx(e,t){let n=new J({check:"custom",...x(t)});return n._zod.check=e,n}function xp(e){let t=new J({check:"describe"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function _p(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 Cp(e,t){let n=x(t),r=n.truthy??["true","1","yes","on","y","enabled"],o=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")r=r.map((m)=>typeof m==="string"?m.toLowerCase():m),o=o.map((m)=>typeof m==="string"?m.toLowerCase():m);let i=new Set(r),s=new Set(o),a=e.Codec??Xo,c=e.Boolean??Yo,u=new(e.String??Mn)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),f=new a({type:"pipe",in:u,out:d,transform:(m,p)=>{let h=m;if(n.case!=="sensitive")h=h.toLowerCase();if(i.has(h))return!0;else if(s.has(h))return!1;else return p.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:p.value,inst:f,continue:!1}),{}},reverseTransform:(m,p)=>{if(m===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return f}function Lr(e,t,n,r={}){let o=x(r),i={...x(r),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(a)=>n.test(a),...o};if(n instanceof RegExp)i.pattern=n;return new e(i)}var Wr=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},wp=()=>Wr,bc=()=>Wr,Fr=Wr,X=Wr,Gr=Wr,Zr=Wr;var HD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Rp=(e,t,n,r)=>{let o=n;o.type="string";let{minimum:i,maximum:s,format:a,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof i==="number")o.minLength=i;if(typeof s==="number")o.maxLength=s;if(a){if(o.format=HD[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}))]}},Ep=(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},Pp=(e,t,n,r)=>{n.type="boolean"},kp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Ap=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Tp=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Ip=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},Op=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},zp=(e,t,n,r)=>{n.not={}},Np=(e,t,n,r)=>{},Dp=(e,t,n,r)=>{},$p=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Mp=(e,t,n,r)=>{let o=e._zod.def,i=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},Lp=(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}},Wp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Fp=(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},Gp=(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)},Zp=(e,t,n,r)=>{n.type="boolean"},Bp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Up=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Hp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},Vp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},qp=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=X(i.element,t,{...r,path:[...r.path,"items"]})},Kp=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=X(s[l],t,{...r,path:[...r.path,"properties",l]});let a=new Set(Object.keys(s)),c=new Set([...a].filter((l)=>{let u=i.shape[l]._zod;if(t.io==="input")return u.optin===void 0;else return u.optout===void 0}));if(c.size>0)o.required=Array.from(c);if(i.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!i.catchall){if(t.io==="output")o.additionalProperties=!1}else if(i.catchall)o.additionalProperties=X(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},Sc=(e,t,n,r)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>X(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},Yp=(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},Jp=(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},Xp=(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}},Qp=(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"}]},eg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},tg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},ng=(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))},rg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},og=(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},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.readOnly=!0},sg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},xc=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},ag=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},vc={string:Rp,number:Ep,boolean:Pp,bigint:kp,symbol:Ap,null:Tp,undefined:Ip,void:Op,never:zp,any:Np,unknown:Dp,date:$p,enum:Mp,literal:Lp,nan:Wp,template_literal:Fp,file:Gp,success:Zp,custom:Bp,function:Up,transform:jp,map:Hp,set:Vp,array:qp,object:Kp,union:Sc,intersection:Yp,tuple:Jp,record:Xp,nullable:Qp,nonoptional:eg,default:tg,prefault:ng,catch:rg,pipe:og,readonly:ig,promise:sg,optional:xc,lazy:ag};function ri(e,t){if("_idmap"in e){let r=e,o=Fr({...t,processors:vc}),i={};for(let c of r._idmap.entries()){let[l,u]=c;X(u,o)}let s={},a={registry:r,uri:t?.uri,defs:i};o.external=a;for(let c of r._idmap.entries()){let[l,u]=c;Gr(o,u),s[l]=Zr(o,u)}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let n=Fr({...t,processors:vc});return X(e,n),Gr(n,e),Zr(n,e)}class cg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=Fr({processors:vc,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return X(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Gr(this.ctx,e);let n=Zr(this.ctx,e),{"~standard":r,...o}=n;return o}}var Bx={};var ci={};dn(ci,{ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,date:()=>ug,datetime:()=>lg,duration:()=>mg,time:()=>dg});var oi=g("ZodISODateTime",(e,t)=>{Fm.init(e,t),K.init(e,t)});function lg(e){return Bf(oi,e)}var ii=g("ZodISODate",(e,t)=>{Gm.init(e,t),K.init(e,t)});function ug(e){return Uf(ii,e)}var si=g("ZodISOTime",(e,t)=>{Zm.init(e,t),K.init(e,t)});function dg(e){return jf(si,e)}var ai=g("ZodISODuration",(e,t)=>{Bm.init(e,t),K.init(e,t)});function mg(e){return Hf(ai,e)}var jx=(e,t)=>{Ho.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>Sr(e,n)},flatten:{value:(n)=>vr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,hr,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,hr,2)}},isEmpty:{get(){return e.issues.length===0}}})},Hx=g("ZodError",jx),_e=g("ZodError",jx,{Parent:Error});var _c=xr(_e),Cc=_r(_e),wc=Cr(_e),Rc=wr(_e),Ec=Ca(_e),Pc=wa(_e),kc=Ra(_e),Ac=Ea(_e),Tc=Pa(_e),Ic=ka(_e),Oc=Aa(_e),zc=Ta(_e);var L=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:bc(e,"input"),output:bc(e,"output")}}),e.toJSONSchema=wp(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)=>ye(e,n,r),e.brand=()=>e,e.register=(n,r)=>(n.add(e,r),e),e.parse=(n,r)=>_c(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>wc(e,n,r),e.parseAsync=async(n,r)=>Cc(e,n,r,{callee:e.parseAsync}),e.safeParseAsync=async(n,r)=>Rc(e,n,r),e.spa=e.safeParseAsync,e.encode=(n,r)=>Ec(e,n,r),e.decode=(n,r)=>Pc(e,n,r),e.encodeAsync=async(n,r)=>kc(e,n,r),e.decodeAsync=async(n,r)=>Ac(e,n,r),e.safeEncode=(n,r)=>Tc(e,n,r),e.safeDecode=(n,r)=>Ic(e,n,r),e.safeEncodeAsync=async(n,r)=>Oc(e,n,r),e.safeDecodeAsync=async(n,r)=>zc(e,n,r),e.refine=(n,r)=>e.check(nh(n,r)),e.superRefine=(n)=>e.check(rh(n)),e.overwrite=(n)=>e.check(st(n)),e.optional=()=>ui(e),e.exactOptional=()=>Lg(e),e.nullable=()=>di(e),e.nullish=()=>ui(di(e)),e.nonoptional=(n)=>Ug(e,n),e.array=()=>gi(e),e.or=(n)=>tl([e,n]),e.and=(n)=>kg(e,n),e.transform=(n)=>mi(e,rl(n)),e.default=(n)=>Gg(e,n),e.prefault=(n)=>Bg(e,n),e.catch=(n)=>Vg(e,n),e.pipe=(n)=>mi(e,n),e.readonly=()=>Yg(e),e.describe=(n)=>{let r=e.clone();return Ae.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ae.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ae.get(e);let r=e.clone();return Ae.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=(n)=>n(e),e)),$c=g("_ZodString",(e,t)=>{Mn.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Rp(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Er(...r)),e.includes=(...r)=>e.check(Ar(...r)),e.startsWith=(...r)=>e.check(Tr(...r)),e.endsWith=(...r)=>e.check(Ir(...r)),e.min=(...r)=>e.check(Ft(...r)),e.max=(...r)=>e.check(Wn(...r)),e.length=(...r)=>e.check(Fn(...r)),e.nonempty=(...r)=>e.check(Ft(1,...r)),e.lowercase=(r)=>e.check(Pr(r)),e.uppercase=(r)=>e.check(kr(r)),e.trim=()=>e.check(Nr()),e.normalize=(...r)=>e.check(zr(...r)),e.toLowerCase=()=>e.check(Dr()),e.toUpperCase=()=>e.check($r()),e.slugify=()=>e.check(Mr())}),Ur=g("ZodString",(e,t)=>{Mn.init(e,t),$c.init(e,t),e.email=(n)=>e.check(Ha(Mc,n)),e.url=(n)=>e.check(ni(fi,n)),e.jwt=(n)=>e.check(dc(Xc,n)),e.emoji=(n)=>e.check(Ja(Lc,n)),e.guid=(n)=>e.check(ti(li,n)),e.uuid=(n)=>e.check(Va(Et,n)),e.uuidv4=(n)=>e.check(qa(Et,n)),e.uuidv6=(n)=>e.check(Ka(Et,n)),e.uuidv7=(n)=>e.check(Ya(Et,n)),e.nanoid=(n)=>e.check(Xa(Wc,n)),e.guid=(n)=>e.check(ti(li,n)),e.cuid=(n)=>e.check(Qa(Fc,n)),e.cuid2=(n)=>e.check(ec(Gc,n)),e.ulid=(n)=>e.check(tc(Zc,n)),e.base64=(n)=>e.check(cc(Kc,n)),e.base64url=(n)=>e.check(lc(Yc,n)),e.xid=(n)=>e.check(nc(Bc,n)),e.ksuid=(n)=>e.check(rc(Uc,n)),e.ipv4=(n)=>e.check(oc(jc,n)),e.ipv6=(n)=>e.check(ic(Hc,n)),e.cidrv4=(n)=>e.check(sc(Vc,n)),e.cidrv6=(n)=>e.check(ac(qc,n)),e.e164=(n)=>e.check(uc(Jc,n)),e.datetime=(n)=>e.check(lg(n)),e.date=(n)=>e.check(ug(n)),e.time=(n)=>e.check(dg(n)),e.duration=(n)=>e.check(mg(n))});function Nc(e){return Ff(Ur,e)}var K=g("ZodStringFormat",(e,t)=>{q.init(e,t),$c.init(e,t)}),Mc=g("ZodEmail",(e,t)=>{Im.init(e,t),K.init(e,t)});function Vx(e){return Ha(Mc,e)}var li=g("ZodGUID",(e,t)=>{Am.init(e,t),K.init(e,t)});function qx(e){return ti(li,e)}var Et=g("ZodUUID",(e,t)=>{Tm.init(e,t),K.init(e,t)});function Kx(e){return Va(Et,e)}function Yx(e){return qa(Et,e)}function Jx(e){return Ka(Et,e)}function Xx(e){return Ya(Et,e)}var fi=g("ZodURL",(e,t)=>{Om.init(e,t),K.init(e,t)});function Qx(e){return ni(fi,e)}function e_(e){return ni(fi,{protocol:/^https?$/,hostname:Fe.domain,...I.normalizeParams(e)})}var Lc=g("ZodEmoji",(e,t)=>{zm.init(e,t),K.init(e,t)});function t_(e){return Ja(Lc,e)}var Wc=g("ZodNanoID",(e,t)=>{Nm.init(e,t),K.init(e,t)});function n_(e){return Xa(Wc,e)}var Fc=g("ZodCUID",(e,t)=>{Dm.init(e,t),K.init(e,t)});function r_(e){return Qa(Fc,e)}var Gc=g("ZodCUID2",(e,t)=>{$m.init(e,t),K.init(e,t)});function o_(e){return ec(Gc,e)}var Zc=g("ZodULID",(e,t)=>{Mm.init(e,t),K.init(e,t)});function i_(e){return tc(Zc,e)}var Bc=g("ZodXID",(e,t)=>{Lm.init(e,t),K.init(e,t)});function s_(e){return nc(Bc,e)}var Uc=g("ZodKSUID",(e,t)=>{Wm.init(e,t),K.init(e,t)});function a_(e){return rc(Uc,e)}var jc=g("ZodIPv4",(e,t)=>{Um.init(e,t),K.init(e,t)});function c_(e){return oc(jc,e)}var fg=g("ZodMAC",(e,t)=>{Hm.init(e,t),K.init(e,t)});function l_(e){return Zf(fg,e)}var Hc=g("ZodIPv6",(e,t)=>{jm.init(e,t),K.init(e,t)});function u_(e){return ic(Hc,e)}var Vc=g("ZodCIDRv4",(e,t)=>{Vm.init(e,t),K.init(e,t)});function d_(e){return sc(Vc,e)}var qc=g("ZodCIDRv6",(e,t)=>{qm.init(e,t),K.init(e,t)});function m_(e){return ac(qc,e)}var Kc=g("ZodBase64",(e,t)=>{Ym.init(e,t),K.init(e,t)});function f_(e){return cc(Kc,e)}var Yc=g("ZodBase64URL",(e,t)=>{Jm.init(e,t),K.init(e,t)});function p_(e){return lc(Yc,e)}var Jc=g("ZodE164",(e,t)=>{Xm.init(e,t),K.init(e,t)});function g_(e){return uc(Jc,e)}var Xc=g("ZodJWT",(e,t)=>{Qm.init(e,t),K.init(e,t)});function h_(e){return dc(Xc,e)}var jr=g("ZodCustomStringFormat",(e,t)=>{ef.init(e,t),K.init(e,t)});function y_(e,t,n={}){return Lr(jr,e,t,n)}function b_(e){return Lr(jr,"hostname",Fe.hostname,e)}function v_(e){return Lr(jr,"hex",Fe.hex,e)}function S_(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Fe[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Lr(jr,r,o,t)}var Hr=g("ZodNumber",(e,t)=>{Fa.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ep(e,r,o,i),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(_t(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.int=(r)=>e.check(Dc(r)),e.safe=(r)=>e.check(Dc(r)),e.positive=(r)=>e.check(Ct(0,r)),e.nonnegative=(r)=>e.check(xe(0,r)),e.negative=(r)=>e.check(_t(0,r)),e.nonpositive=(r)=>e.check(Ge(0,r)),e.multipleOf=(r,o)=>e.check(cn(r,o)),e.step=(r,o)=>e.check(cn(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function pg(e){return Vf(Hr,e)}var Zn=g("ZodNumberFormat",(e,t)=>{tf.init(e,t),Hr.init(e,t)});function Dc(e){return Kf(Zn,e)}function x_(e){return Yf(Zn,e)}function __(e){return Jf(Zn,e)}function C_(e){return Xf(Zn,e)}function w_(e){return Qf(Zn,e)}var Vr=g("ZodBoolean",(e,t)=>{Yo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Pp(e,n,r,o)});function gg(e){return ep(Vr,e)}var qr=g("ZodBigInt",(e,t)=>{Ga.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>kp(e,r,o,i),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(_t(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.positive=(r)=>e.check(Ct(BigInt(0),r)),e.negative=(r)=>e.check(_t(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ge(BigInt(0),r)),e.nonnegative=(r)=>e.check(xe(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(cn(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function R_(e){return np(qr,e)}var Qc=g("ZodBigIntFormat",(e,t)=>{nf.init(e,t),qr.init(e,t)});function E_(e){return op(Qc,e)}function P_(e){return ip(Qc,e)}var hg=g("ZodSymbol",(e,t)=>{rf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ap(e,n,r,o)});function k_(e){return sp(hg,e)}var yg=g("ZodUndefined",(e,t)=>{of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ip(e,n,r,o)});function A_(e){return ap(yg,e)}var bg=g("ZodNull",(e,t)=>{sf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Tp(e,n,r,o)});function vg(e){return cp(bg,e)}var Sg=g("ZodAny",(e,t)=>{af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function T_(){return lp(Sg)}var xg=g("ZodUnknown",(e,t)=>{cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function Gn(){return up(xg)}var _g=g("ZodNever",(e,t)=>{lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function el(e){return dp(_g,e)}var Cg=g("ZodVoid",(e,t)=>{uf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function I_(e){return mp(Cg,e)}var pi=g("ZodDate",(e,t)=>{df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>$p(e,r,o,i),e.min=(r,o)=>e.check(xe(r,o)),e.max=(r,o)=>e.check(Ge(r,o));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function O_(e){return fp(pi,e)}var wg=g("ZodArray",(e,t)=>{mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Ft(n,r)),e.nonempty=(n)=>e.check(Ft(1,n)),e.max=(n,r)=>e.check(Wn(n,r)),e.length=(n,r)=>e.check(Fn(n,r)),e.unwrap=()=>e.element});function gi(e,t){return hp(wg,e,t)}function z_(e){let t=e._zod.def.shape;return nl(Object.keys(t))}var hi=g("ZodObject",(e,t)=>{ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o),I.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>nl(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Gn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Gn()}),e.strict=()=>e.clone({...e._zod.def,catchall:el()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>I.extend(e,n),e.safeExtend=(n)=>I.safeExtend(e,n),e.merge=(n)=>I.merge(e,n),e.pick=(n)=>I.pick(e,n),e.omit=(n)=>I.omit(e,n),e.partial=(...n)=>I.partial(ol,e,n[0]),e.required=(...n)=>I.required(il,e,n[0])});function N_(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new hi(n)}function D_(e,t){return new hi({type:"object",shape:e,catchall:el(),...I.normalizeParams(t)})}function $_(e,t){return new hi({type:"object",shape:e,catchall:Gn(),...I.normalizeParams(t)})}var yi=g("ZodUnion",(e,t)=>{Jo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.options=t.options});function tl(e,t){return new yi({type:"union",options:e,...I.normalizeParams(t)})}var Rg=g("ZodXor",(e,t)=>{yi.init(e,t),pf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.options=t.options});function M_(e,t){return new Rg({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Eg=g("ZodDiscriminatedUnion",(e,t)=>{yi.init(e,t),gf.init(e,t)});function L_(e,t,n){return new Eg({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var Pg=g("ZodIntersection",(e,t)=>{hf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o)});function kg(e,t){return new Pg({type:"intersection",left:e,right:t})}var Ag=g("ZodTuple",(e,t)=>{Za.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Tg(e,t,n){let r=t instanceof D,o=r?n:t;return new Ag({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var bi=g("ZodRecord",(e,t)=>{yf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Ig(e,t,n){return new bi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function W_(e,t,n){let r=ye(e);return r._zod.values=void 0,new bi({type:"record",keyType:r,valueType:t,...I.normalizeParams(n)})}function F_(e,t,n){return new bi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var Og=g("ZodMap",(e,t)=>{bf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(wt(...n)),e.nonempty=(n)=>e.check(wt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Ln(...n))});function G_(e,t,n){return new Og({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var zg=g("ZodSet",(e,t)=>{vf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e.min=(...n)=>e.check(wt(...n)),e.nonempty=(n)=>e.check(wt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Ln(...n))});function Z_(e,t){return new zg({type:"set",valueType:e,...I.normalizeParams(t)})}var Br=g("ZodEnum",(e,t)=>{Sf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Mp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Br({...t,checks:[],...I.normalizeParams(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let s of r)if(n.has(s))delete i[s];else throw Error(`Key ${s} not found in enum`);return new Br({...t,checks:[],...I.normalizeParams(o),entries:i})}});function nl(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Br({type:"enum",entries:n,...I.normalizeParams(t)})}function B_(e,t){return new Br({type:"enum",entries:e,...I.normalizeParams(t)})}var Ng=g("ZodLiteral",(e,t)=>{xf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Lp(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 U_(e,t){return new Ng({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var Dg=g("ZodFile",(e,t)=>{_f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(e,n,r,o),e.min=(n,r)=>e.check(wt(n,r)),e.max=(n,r)=>e.check(ln(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function j_(e){return yp(Dg,e)}var $g=g("ZodTransform",(e,t)=>{Cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(e.constructor.name);n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(I.issue(i,n.value,t));else{let s=i;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(I.issue(s))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function rl(e){return new $g({type:"transform",transform:e})}var ol=g("ZodOptional",(e,t)=>{Ba.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ui(e){return new ol({type:"optional",innerType:e})}var Mg=g("ZodExactOptional",(e,t)=>{wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Lg(e){return new Mg({type:"optional",innerType:e})}var Wg=g("ZodNullable",(e,t)=>{Rf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function di(e){return new Wg({type:"nullable",innerType:e})}function H_(e){return ui(di(e))}var Fg=g("ZodDefault",(e,t)=>{Ef.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Gg(e,t){return new Fg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Zg=g("ZodPrefault",(e,t)=>{Pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Bg(e,t){return new Zg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var il=g("ZodNonOptional",(e,t)=>{kf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ug(e,t){return new il({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var jg=g("ZodSuccess",(e,t)=>{Af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function V_(e){return new jg({type:"success",innerType:e})}var Hg=g("ZodCatch",(e,t)=>{Tf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Vg(e,t){return new Hg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var qg=g("ZodNaN",(e,t)=>{If.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o)});function q_(e){return gp(qg,e)}var sl=g("ZodPipe",(e,t)=>{Of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.in=t.in,e.out=t.out});function mi(e,t){return new sl({type:"pipe",in:e,out:t})}var al=g("ZodCodec",(e,t)=>{sl.init(e,t),Xo.init(e,t)});function K_(e,t,n){return new al({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var Kg=g("ZodReadonly",(e,t)=>{zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Yg(e){return new Kg({type:"readonly",innerType:e})}var Jg=g("ZodTemplateLiteral",(e,t)=>{Nf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function Y_(e,t){return new Jg({type:"template_literal",parts:e,...I.normalizeParams(t)})}var Xg=g("ZodLazy",(e,t)=>{Mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function Qg(e){return new Xg({type:"lazy",getter:e})}var eh=g("ZodPromise",(e,t)=>{$f.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 J_(e){return new eh({type:"promise",innerType:e})}var th=g("ZodFunction",(e,t)=>{Df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function X_(e){return new th({type:"function",input:Array.isArray(e?.input)?Tg(e?.input):e?.input??gi(Gn()),output:e?.output??Gn()})}var vi=g("ZodCustom",(e,t)=>{Lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o)});function Q_(e){let t=new J({check:"custom"});return t._zod.check=e,t}function eC(e,t){return bp(vi,e??(()=>!0),t)}function nh(e,t={}){return vp(vi,e,t)}function rh(e){return Sp(e)}var tC=xp,nC=_p;function rC(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 oC=(...e)=>Cp({Codec:al,Boolean:Vr,String:Ur},...e);function iC(e){let t=Qg(()=>tl([Nc(e),pg(),gg(),vg(),gi(t),Ig(Nc(),t)]));return t}function sC(e,t){return mi(rl(e),t)}var aC={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function cC(e){se({customError:e})}function lC(){return se().customError}var cl;(function(e){})(cl||(cl={}));var YD=()=>{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=Od(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 oh(){return{localeError:YD()}}var ih=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ll={};dn(ll,{bigint:()=>e$,boolean:()=>QD,date:()=>t$,number:()=>XD,string:()=>JD});function JD(e){return Gf(Ur,e)}function XD(e){return qf(Hr,e)}function QD(e){return tp(Vr,e)}function e$(e){return rp(qr,e)}function t$(e){return pp(pi,e)}se(oh());var n$=ul;var uC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var Si=64,dC="Rule config exceeds CC Safety Net's safe source limit.";var mU=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var ah=[{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."},r$=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],o$=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],ch=[{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"]},...o$.flatMap((e)=>r$.map((t)=>({id:["secret.home",e.idSlug,t.slice(1)].join("."),category:"Home path",label:[e.label,t].join(""),description:["Blocks home ",e.label,t," credential backup files."].join(""),suffixParts:[...e.directoryParts,[e.basename,t].join("")]}))),{id:"secret.home.gh-hosts",category:"Home path",label:"~/.config/gh/hosts.yml",description:"Blocks GitHub CLI host credential files.",suffixParts:[".config","gh","hosts.yml"]}];var ml=[{id:"secret.cli.claude-code",category:"Coding CLI credential",label:"Claude Code credentials",paths:["~/.claude/.credentials.json"]},{id:"secret.cli.claude-code.config",category:"Coding CLI config",label:"Claude Code config",paths:["~/.claude/settings.json","~/.claude/settings.local.json","~/.claude.json","<project>/.claude/settings.local.json","<project>/.mcp.json"]},{id:"secret.cli.antigravity",category:"Coding CLI config",label:"Antigravity CLI hook config",paths:["~/.gemini/config/hooks.json","~/.gemini/config/mcp_config.json"]},{id:"secret.cli.codex",category:"Coding CLI credential",label:"Codex credentials",paths:["~/.codex/auth.json","~/.codex/.credentials.json","~/.codex/secrets","~/.codex/.sandbox-secrets"]},{id:"secret.cli.codex.config",category:"Coding CLI config",label:"Codex config",paths:["~/.codex/config.toml","~/.codex/<name>.config.toml"]},{id:"secret.cli.gemini",category:"Coding CLI credential",label:"Gemini CLI credentials",paths:["~/.gemini/oauth_creds.json","~/.gemini/mcp-oauth-tokens.json","~/.gemini/a2a-oauth-tokens.json","~/.gemini/gemini-credentials.json"]},{id:"secret.cli.gemini.config",category:"Coding CLI config",label:"Gemini CLI config",paths:["~/.gemini/settings.json","~/.gemini/google_accounts.json","<project>/.gemini/settings.json","/Library/Application Support/GeminiCli/settings.json","/etc/gemini-cli/settings.json"]},{id:"secret.cli.copilot-cli",category:"Coding CLI credential",label:"GitHub Copilot CLI credentials",paths:["~/.copilot/config.json","~/.copilot/mcp-oauth-config","~/.copilot/mcp-secrets"]},{id:"secret.cli.copilot-cli.config",category:"Coding CLI config",label:"GitHub Copilot CLI config",paths:["~/.copilot/mcp-config.json"]},{id:"secret.cli.kimi-code",category:"Coding CLI credential",label:"Kimi Code credentials",paths:["~/.kimi-code/server.token","~/.kimi-code/credentials","~/.kimi/credentials","~/.kimi/mcp-oauth"]},{id:"secret.cli.kimi-code.config",category:"Coding CLI config",label:"Kimi Code config",paths:["~/.kimi-code/config.toml","~/.kimi-code/mcp.json","~/.kimi/config.toml","~/.kimi/config.json","~/.kimi/config.json.bak","~/.kimi/mcp.json","<project>/.kimi-code/mcp.json"]},{id:"secret.cli.opencode",category:"Coding CLI credential",label:"OpenCode credentials",paths:["~/.local/share/opencode/auth.json","~/.local/share/opencode/mcp-auth.json","~/.local/share/opencode/opencode.db"]},{id:"secret.cli.opencode.config",category:"Coding CLI config",label:"OpenCode config",paths:["~/.config/opencode/opencode.json","~/.config/opencode/opencode.jsonc","/Library/Application Support/opencode/opencode.json","/etc/opencode/opencode.json","<project>/opencode.json","<project>/opencode.jsonc"]},{id:"secret.cli.pi",category:"Coding CLI credential",label:"Pi credentials",paths:["~/.pi/agent/auth.json"]},{id:"secret.cli.pi.config",category:"Coding CLI config",label:"Pi config",paths:["~/.pi/agent/models.json"]},{id:"secret.cli.amp",category:"Coding CLI credential",label:"Amp Code credentials",paths:["~/.local/share/amp/secrets.json","~/.amp/oauth"]},{id:"secret.cli.amp.config",category:"Coding CLI config",label:"Amp Code config",paths:["~/.config/amp/settings.json","~/.config/amp/settings.jsonc","<project>/.amp/settings.json","<project>/.amp/settings.jsonc"]},{id:"secret.cli.cursor",category:"Coding CLI credential",label:"Cursor CLI credentials",paths:["~/.cursor/auth.json","~/.config/cursor/auth.json","~/.cursor/projects/<name>/mcp-auth.json"]},{id:"secret.cli.cursor.config",category:"Coding CLI config",label:"Cursor CLI config",paths:["~/.cursor/mcp.json","<project>/.cursor/mcp.json"]}],mC=[{prefix:"id_rsa",slug:"id-rsa",label:"id_rsa"},{prefix:"id_dsa",slug:"id-dsa",label:"id_dsa"},{prefix:"id_ed25519",slug:"id-ed25519",label:"id_ed25519"},{prefix:"id_ecdsa",slug:"id-ecdsa",label:"id_ecdsa"},{prefix:"credentials",slug:"credentials",label:"credentials"}],i$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],lh=mC.map((e)=>({id:`secret.variant.${e.slug}.separator`,category:"Variant",label:`${e.label}-* / ${e.label}_*`,description:`Blocks ${e.label} variants with dash or underscore suffixes.`,prefix:e.prefix})),uh=mC.flatMap((e)=>i$.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)$/},dh=["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})),mh=[{id:"secret.ext-pattern.key",category:"Extension pattern",label:".key / .keypair",description:"Blocks key and keypair extension patterns.",pattern:/^key(pair)?$/},{id:"secret.ext-pattern.keystore",category:"Extension pattern",label:".keystore / .keyring",description:"Blocks keystore and keyring extension patterns.",pattern:/^key(store|ring)$/},{id:"secret.ext-pattern.kdbx",category:"Extension pattern",label:".kdb / .kdbx",description:"Blocks KeePass database extension patterns.",pattern:/^kdbx?$/}],fC=[...ah,dl,...ch,...lh,...uh,xi,...dh,...mh,...ml].map((e)=>({id:e.id,category:e.category,label:e.label,...e.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in e?{paths:e.paths}:{description:e.description}})),pC=new Set(ml.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),s$=fC.map((e)=>e.id),fl=new Set(s$);var EU=a$(import.meta.url),gC,c$=Array(Si+1).fill("over-limit"),hC=/^[^/]+\/[^/]+$/,l$=/^sha256:[a-f0-9]{64}$/,pl=`must be an integer between ${Sl} and ${xl}`,u$=["version","rules","overrides","transparent_wrappers"],d$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function yC(e){if(!Ye(e)||!Array.isArray(e.rules)||e.rules.length<=Si)return e;return{$schema:e.$schema,version:e.version,rules:c$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function m$(){let e=sh,t=(_)=>{let v=e.superRefine(_);return v._zod.def.when=()=>!0,v},n=e.enum(uC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(er,`must be at most ${er} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(bn,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),s=e.looseObject({$schema:e.unknown().optional().describe("JSON Schema reference for IDE support"),version:e.literal(1).describe("Schema version (must be 1)"),rules:e.array(o,{error:"must be an array of rulebook source strings"}).max(Si,dC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:hC.source}),r).default({}).describe("Rule overrides by id"),transparent_wrappers:e.array(i,{error:"must be an array of command strings"}).default([]).describe("Commands that transparently execute a visible protected child command")}),a=(_,v)=>{if(!Ye(_))return;if(Array.isArray(_.rules)&&_.rules.length<=Si){let k=new Set;_.rules.forEach((z,M)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",M]});return}let W=Xr(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(Ye(_.overrides))for(let k of Object.keys(_.overrides)){if(hC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(_.transparent_wrappers))return;let T=new Set;_.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!bn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Ev(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(yC,s.check(e.superRefine(a))),l=e.preprocess(yC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(_,v)=>e.intersection(e.record(e.string().refine((T)=>_.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(_)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((v,T)=>{if(!Array.isArray(v))return;let k=hn();v.forEach((z,M)=>{if(typeof z!=="string")return;let W=_(z,k);if(W)T.addIssue({code:"custom",message:W,path:[M]})})})),m=e.strictObject({version:e.literal(1),safety:e.strictObject({level:e.enum(["standard","strict","paranoid"]).optional(),overrides:u.optional()}).optional(),workflow:e.strictObject({worktree_mode:e.boolean().optional()}).optional(),destructive_command_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Qi,"destructive command").optional(),allow_paths:f(Fs).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(fl,"secret protection").optional(),deny_paths:f(Gs).optional(),allow_paths:f(Zs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:pl}).int(pl).min(Sl,pl).max(xl,pl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(_)=>{let v=(M,W)=>_==="legacy"?M:W,T=v("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),k=`required non-empty string up to ${er} characters`,z=e.looseObject({name:e.string({error:"required string"}).regex(lt,v("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:v("required string","required string matching command pattern")}).regex(bn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(bn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((M)=>M!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((M)=>M.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((M)=>M!=="",{error:v("must not be empty",k)}).refine((M)=>M.length<=er,{error:v(`must be at most ${er} characters`,k)}),intent:n.optional()},{error:"must be an object"});return e.array(z,{error:v("must be an array","required array")}).check(t((M,W)=>{if(!Array.isArray(M))return;let U=new Set;M.forEach((ge,Ze)=>{let A=Ye(ge)?ge.name:void 0;if(typeof A!=="string")return;if(U.has(A.toLowerCase())){W.addIssue({code:"custom",message:`duplicate rule name "${A}"`,path:[Ze,"name"]});return}U.add(A.toLowerCase())})}))},h=e.looseObject({version:e.literal(1),rules:p("legacy").optional()}),b="required string matching rule name pattern",y=e.looseObject({command:e.string({error:"required non-empty string"}).refine((_)=>_.trim()!=="",{error:"required non-empty string"}),expect:e.enum(["blocked","allowed"]),rule:e.string({error:"must be a string if provided"}).optional()},{error:"must be an object"}).check(t((_,v)=>{if(!Ye(_))return;if(_.expect!=="blocked"||typeof _.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),R=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(lt,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((_)=>_!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(bn,"must match command pattern"),{error:"required array"}).check(t((_,v)=>{if(!Array.isArray(_))return;let T=new Set;_.forEach((k,z)=>{if(typeof k!=="string"||!bn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:[z]});return}T.add(k)})})),rules:p("rulebook"),tests:e.array(y,{error:"must be an array if provided"}).optional()}).check(t((_,v)=>{if(!Ye(_))return;let T=new Set(fh(_));if(Array.isArray(_.tests)){let z=new Set(_.tests.flatMap((M)=>Ye(M)&&M.expect==="blocked"&&typeof M.rule==="string"?[M.rule]:[]));for(let M of z){if(T.has(M))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${M}"`,path:["tests"]})}}if(!Array.isArray(_.allowed_commands)||!Array.isArray(_.rules))return;let k=new Set(_.allowed_commands.filter((z)=>typeof z==="string"));_.rules.forEach((z,M)=>{let W=Ye(z)?z.command:void 0;if(typeof W!=="string"||k.has(W))return;v.addIssue({code:"custom",message:`"${W}" must be listed in allowed_commands`,path:["rules",M,"command"]})})})),w=e.string({error:"required string"}).refine((_)=>_.trim()!=="",{error:"required string"}),E=e.looseObject({spec:w,name:w,version:w,digest:e.string({error:"required sha256 digest"}).regex(l$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(E,e.discriminatedUnion("kind",[e.object({kind:e.literal("local-directory"),path:w}),e.object({kind:e.literal("github"),owner:w,repo:w,ref:w,commit:w,path:w,display_ref:e.unknown().optional()})],{error:(_)=>{if(!Ye(_.input))return"must be an object";let v=_.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:R,RulesLockfileSchema:P}}function _i(){return gC??=m$(),gC}function bC(){return _i().RulesConfigSchema}function f$(){return _i().UserPolicySchema}function vC(){return _i().RulebookSchema}function SC(){return _i().RulesLockfileSchema}function fh(e){let t=Ye(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Ye(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function xC(e){let t=_i().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:Kr(wC(t.error.issues,u$)),sources:y$(e,t.error.issues)}}function _C(e){let t=f$().safeParse(e);if(t.success)return[];return Kr(wC(t.error.issues,d$)," ")}function Kr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>CC(r,t,n,[])))]}function CC(e,t,n,r){let o=[...r,...e.path],i=h$(o);if(e.code==="unrecognized_keys")return e.keys.map((s)=>`${i?`${i}.`:""}unknown field "${s}"`);if(e.code==="invalid_key")return e.issues.map((s)=>s.message);if(e.code==="invalid_union"){let s=e.errors.flat().filter((a)=>a.path.length>0);if(s.length>0)return s.flatMap((a)=>CC(a,t,n,o))}if(o.length===0)return[e.code==="invalid_type"?"Config must be an object":e.message];if(o.length===1&&(e.code==="too_big"||e.code==="too_small")&&e.origin==="array")return[e.message];return[`${i}${o.length===1?n:t}${p$(e)}`]}function p$(e){if(e.code==="invalid_value")return`must be ${g$(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 g$(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 h$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function wC(e,t){let n=e.map((i)=>i.path[1]),r=[...new Set(n.filter((i)=>typeof i==="string"))],o=(i,s)=>[i.path.length===0?-1:t.indexOf(String(i.path[0])),typeof s==="number"?s:r.indexOf(String(s)),i.code==="custom"?0:1];return e.map((i,s)=>({issue:i,rank:o(i,n[s])})).sort((i,s)=>i.rank[0]-s.rank[0]||i.rank[1]-s.rank[1]||i.rank[2]-s.rank[2]).map((i)=>i.issue)}function y$(e,t){let n=Ye(e)?e.rules:void 0;if(!Array.isArray(n))return new Set;if(t.some((o)=>o.path.length===1&&o.path[0]==="rules"))return new Set;let r=new Set(t.filter((o)=>o.path[0]==="rules"&&typeof o.path[1]==="number").map((o)=>o.path[1]));return new Set(n.filter((o,i)=>typeof o==="string"&&!r.has(i)))}function Ye(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function b$(e){return xC(e)}function ph(e){try{let t=mn(v$(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=b$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=bC().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof ae)return{config:null,errors:[t.message]};let n=t instanceof Error?t.message:String(t);return{config:null,errors:[t instanceof SyntaxError?"Invalid JSON":n]}}}function v$(e){return typeof e==="string"?Ni(e):e}var w$=new Set(["standard","strict","paranoid"]),R$={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 gh(e){return C$(_$(fn(e)),Mi)}function kC(e={}){let t=T$(gh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function RC(e){if(!Pt(e))return A$();let t=Pt(e.safety)?e.safety:{},n=Pt(t.overrides)?t.overrides:{},r=Pt(e.workflow)?e.workflow:{},o=Pt(e.destructive_command_protection)?e.destructive_command_protection:{},i=Pt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:w$.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:EC(o.overrides,Qi),allow_paths:P$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:EC(i.overrides,fl),deny_paths:E$(i.deny_paths),allow_paths:k$(i.allow_paths)},audit:{retention_days:Ii(Pt(e.audit)?e.audit.retention_days:void 0)}}}function EC(e,t){if(!Pt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function E$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Gs(n,t)===null)}function P$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Fs(n,t)===null)}function k$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Zs(n,t)===null)}function Pt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function A$(){return structuredClone(R$)}function T$(e){let t=I$();if(!S$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!Pt(n))return{policy:t,errors:[]};return{policy:PC(RC(n)),errors:[]}}try{let n=x$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=_C(r),i=PC(RC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:Pt(r)?"salvaged":"defaults"};return{policy:i,errors:[]}}catch(n){let r=n instanceof Error?n.message:String(n);return{policy:t,errors:[`${e}: ${n instanceof SyntaxError?"Invalid JSON":r}`],fallback:"defaults"}}}function AC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...pC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function I$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:AC({}),denyPaths:[],allowPaths:[]}}}function PC(e){return{safety:O$(e.safety),worktreeMode:e.workflow.worktree_mode,destructiveCommandProtectionEnabled:e.destructive_command_protection.enabled,destructiveCommandRuleOverrides:e.destructive_command_protection.overrides,destructiveCommandAllowPaths:e.destructive_command_protection.allow_paths,secretProtection:{enabled:e.secret_protection.enabled,disabledRules:AC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function O$(e){let t={...e.overrides.fail_closed!==void 0?{failClosed:e.overrides.fail_closed}:{},...e.overrides.paranoid_rm!==void 0?{paranoidRm:e.overrides.paranoid_rm}:{},...e.overrides.paranoid_interpreters!==void 0?{paranoidInterpreters:e.overrides.paranoid_interpreters}:{}};return{level:e.level,...Object.keys(t).length>0?{overrides:t}:{}}}var zC="This path contains the protected policy config and you must not modify or delete it.",N$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function NC(e){let t=gn(Ot()),n=F$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return TC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=Ne(e,"input-candidate");if(e.invocation.route.kind==="command")return r?IC(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=IC(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return TC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||zs(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function TC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>Ci(s,n,r,o));return i?{target:i}:null}function IC(e,t,n,r){let o=Ds(e,t,r,{findSegmentTarget:(i,s)=>D$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>Ci(i,s.cwd,n,r),findMalformedTarget:(i)=>W$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function D$(e,t,n,r){if(So(e))return null;let o=r.environment,i=Kt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&$$(a)){let c=M$(a).find((l)=>OC(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Ys(i,1)||Nu(i,o)){let l=(Ks(j(i))??j(["."])).find((u)=>{let d=De(u.text,t.variables);return Ci(d,t.cwd,n,r)||OC(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=$s(a).sources.find((l)=>G$(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(L$(e,o))return null;for(let c of[...e,...i])for(let l of DC(c))if(Ci(De(l,t.variables),t.cwd,n,r))return{target:l};return null}function $$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function M$(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 L$(e,t){let n=Kt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!N$.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 W$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of DC(o))if(Ci(i,t,n,r))return{target:i};return null}function DC(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function F$(e,t){let n=ve(gh(),e,t),r=hh(n),o=new Set;for(let i=r;;i=hh(i))if(o.add(Yr(i)),hh(i)===i)break;return{file:Yr(n),directoryAndAncestors:o}}function Ci(e,t,n,r){let o=ev(e,t,r,(i)=>Yr(i)===z$(n.file));return o!==null&&Yr(o)===n.file}function OC(e,t,n,r){return n.directoryAndAncestors.has(Yr(ve(e,t,r)))}function G$(e,t,n,r){let o=Yr(ve(e,t,r));return o===n.file||n.directoryAndAncestors.has(o)}function Yr(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as bh}from"os";import{isAbsolute as gl,posix as Z$,resolve as yl,win32 as B$}from"path";import{fileURLToPath as U$}from"url";var HC="Access to a sensitive path is not allowed.",VC=new Set(["echo","printf"]),j$=new Set(["find"]),H$=new Set(["-exec","-execdir"]),V$=new Set([";","+"]),q$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),K$=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),Y$=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),J$=new Set(["node","bun"]),X$=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),Q$=new Set(["append","awk","base64","cat","chmod","chown","connect","copy","cp","database","dd","eval","exec","fetch","file","function","grep","head","include","load","move","mv","open","popen","read","remove","rename","require","rg","rm","sed","shell","source","spawn","strings","system","tail","tar","truncate","unlink","write","xxd","zip"]),qC=new Set(["-c","-e","-r","-E","--eval","--exec"]),e0=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),$C=new Set(["cc-safety-net","ccsn"]),t0=new Set(["bunx","npx","pnpx"]),n0=new Set(["bun","node"]),r0=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"])]]),o0=new Set(["grep","rg"]),MC="f",LC="file",i0="files",s0=new Set(["e","f"]),a0=new Set(["regexp","file"]),c0=new Set(["e","f","A","B","C","m"]),l0=new Set(["regexp","file","after-context","before-context","context","max-count"]),u0=new Set(["|","|&"]),yh="__CC_SAFETY_NET_PIPE_INPUT__",KC=new Set(["bash","sh","zsh","dash","ksh"]),d0=new Map([["bash",new Set(["-O"])],["sh",new Set(["-O"])],["zsh",new Set(["-o"])],["dash",new Set(["-o"])],["ksh",new Set(["-o"])],["python",new Set(["-W","-X"])],["node",new Set(["-r","--require","--loader","--import","--input-type"])]]);function WC(e,t,n,r,o){let i=eo();for(let s of e){if(X0(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=Y0(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&Q0(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function YC(e,t,n={}){let r=FC(e),o=WC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?FC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:WC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&m0(e))return null;return s}function m0(e){if(e.invocation.route.kind!=="command")return!1;let t=Ne(e,"input-candidate")??Ne(e,"declared-command");if(!t)return!1;if(t.program.nodes.some((s)=>s.kind==="command"&&s.nested.length>0))return!1;let n=[];for(let s of t.shell.entries){if(s.kind==="operator"&&s.boundary)return!1;if(s.kind==="redirection")return!1;if(s.kind!=="operator")n.push(pt(s.text))}let r=Jr(n);if(r.length===0)return!1;let o=Un(r[0]??"").toLowerCase(),i=r.slice(1);if(o==="ls"||o==="stat")return!0;if(o==="test")return i.length===2&&(i[0]==="-e"||i[0]==="-f");if(o!=="find")return!1;return!i.some((s)=>q$.has(s))}function FC(e,t={}){if(e.invocation.route.kind==="command"){let r=Ne(e,"input-candidate");return r?Ei(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=Ne(e,"input-candidate");return[...n?Ei(n.shell,e.store,t):[],...e.paths]}function Ei(e,t,n){if(e.status==="structural-limit")throw new ft;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...O0(pt(e.source),t,n)],o=[],i=null;for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;if(o.length>0){if(r.push(...hl(o,t,n)),i!==null)r.push(...ZC(i,o,t,n));i=u0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?pt(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(pt(s.text))}if(o.length>0){if(r.push(...hl(o,t,n)),i!==null)r.push(...ZC(i,o,t,n))}return r}function hl(e,t,n){let r=_0(e),o=Jr(e);if(o.length===0)return r;let i=o[0]??"",s=Un(i).toLowerCase(),a=o.slice(1),c=p0(i,s,a);if(c)return[...r,...c];if(VC.has(s))return r;if(o0.has(s))return[...r,...F0(a)];if(j$.has(s))return[...r,...C0(a,t,n)];if($e.has(s))return[...r,...a.flatMap((l)=>BC("awk",l)),...a.flatMap((l)=>R0(l,t,n)),...a.flatMap(E0)];if(QC(s)){if(KC.has(s)){let l=Jb(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new ft}return[...r,...w0(s,a,n)]}return[...r,...a.flatMap((l)=>BC(s,l))]}function f0(e,t){if($C.has(e))return t[0]==="explain"?0:null;if(t0.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return $C.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(n0.has(e)){if(GC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&GC(t[1])&&t[2]==="explain")return 2}return null}function p0(e,t,n){let r=f0(t,n);if(r===null)return null;let o=[e,...n.slice(0,r)],i=n.slice(r+1);for(let s=0;s<i.length;s++){let a=i[s];if(a==="--json"||a==="--help"||a==="-h")continue;if(a==="--cwd"){let c=i[s+1];if(c&&!c.startsWith("--"))o.push(c);s++;continue}return o}return o}function GC(e){let t=e?.replaceAll("\\","/");return[...e0].some((n)=>t===n||t?.endsWith(`/${n}`))}function ZC(e,t,n,r){if(v0(t,n,r))return g0(e);let o=S0(t);if(o===null)return[];return h0(e).flatMap((i)=>KC.has(o)?Ei(n.getShellSyntax(i),n,r):tw(i))}function g0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(t[0]??"").toLowerCase();if(!VC.has(n))return[];return t.slice(1)}function h0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(t[0]??"").toLowerCase(),r=t.slice(1);if(n==="echo"){let o=r.findIndex((i)=>!/^-[neE]+$/.test(i));return[(o===-1?[]:r.slice(o)).join(" ")]}if(n==="printf")return y0(r);return[]}function y0(e){let t=e[0];if(t===void 0)return[];let n=(t.match(/%%|%[bqs]/g)??[]).filter((o)=>o!=="%%").length;if(n===0||e.length===1)return[JC(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>b0(t,r.slice(i*n,(i+1)*n)))}function b0(e,t){let n=0;return JC(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function JC(e){return e.replace(/\\n/g,`
|
|
99
|
-
`).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function v0(e,t,n){let r=Jr(e);if(r.length===0||Un(r[0]??"").toLowerCase()!=="xargs")return!1;let o=kn(r),i=r.slice(o.childStart);if(i.length===0)return!1;if(o.replacementToken==="")return!1;let s=o.replacementToken,a=s===null?[...i,
|
|
100
|
-
`||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function k0(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 A0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(X$.has(n.toLowerCase()))return!0;let o=n.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_$\s]+/).map((i)=>i.toLowerCase());if(!o.some((i)=>Q$.has(i)))continue;if(o.length>1)return!0;if(T0(e,r)===".")return!0;if(I0(e,r+n.length)==="(")return!0}return!1}function T0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function I0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function O0(e,t,n){return M0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Ei(o,t,n),...z0(o)?N0(o):[]]})}function z0(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||Un(pt(r.text)).toLowerCase()!=="base64")continue;for(let o=n+1;o<t.length;o++){let i=t[o];if(i?.kind==="operator")break;if(i?.kind!=="word")continue;let s=pt(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function N0(e){return e.entries.flatMap((t)=>t.kind==="word"?[pt(t.text)]:t.kind==="redirection"&&t.target?[pt(t.target)]:[]).flatMap(nw)}function nw(e){let t=$0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||D0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function D0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function $0(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 M0(e){let t=[],n={inSingle:!1,inDouble:!1,escaped:!1};for(let r=0;r<e.length;r++){let o=e[r];if(!o)break;if(go(o,n))continue;if(rw(e,r,n)){let i=L0(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=W0(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function L0(e,t){let n={inSingle:!1,inDouble:!1,escaped:!1},r=1;for(let o=t+1;o<e.length;o++){let i=e[o];if(!i)break;if(go(i,n))continue;if(rw(e,o,n)){r++,o++;continue}if(!n.inSingle&&!n.inDouble&&i===")"){if(r--,r===0)return{body:e.slice(t+1,o),endIndex:o}}}return null}function W0(e,t){let n=!1;for(let r=t+1;r<e.length;r++){let o=e[r];if(!o)break;if(n){n=!1;continue}if(o==="\\"){n=!0;continue}if(o==="`")return{body:e.slice(t+1,r),endIndex:r}}return null}function rw(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function F0(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===i0)o=!0;if(a0.has(d))r=!0;if(f!==void 0){if(d===LC)t.push(f);continue}if(l0.has(d)){let m=e[c+1];if(d===LC&&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(s0.has(h))r=!0;if(c0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===MC)t.push(m)}else{let p=e[c+1];if(f===MC&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Jr(e){let t=e.findIndex((n)=>!ow(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function ow(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var G0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),Z0=".env.",B0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),U0=[".env.example.",".env.sample."];function j0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function H0(e){return e.length>0&&!/\s/.test(e)}function V0(e,t,n){try{let r=Pi(e,t,n);return r!==""&&Be.entryKind(r)!=="missing"}catch(r){if(r instanceof he)throw r;return!1}}var q0=new Set(["node_modules","__pycache__"]),K0=[["vendor","bundle"],["vendor","cache"]];function Y0(e,t,n,r){if(j0(e))return null;let o=Zt(e,t,r);if(!o)return null;let i=re(o.split("/").pop()??""),s=re(o),a=()=>H0(i)||V0(e,t,r);if(B0.has(i)||U0.some((d)=>i.startsWith(d)))return null;let c=re(nM(e,t,r));for(let d of ch){let f=`~/${d.suffixParts.join("/")}`;if((jC(s,f)||jC(c,f))&&Gt(d.id,n))return d.id}let l=J0(o,t,n,r);if(l)return l;if(G0.has(i))return null;for(let d of ah)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(Z0)&&Gt(dl.id,n)&&a())return dl.id;for(let d of lh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Gt(d.id,n)&&a())return d.id}for(let d of uh)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(eM(s))return null;if(!i.includes(".")&&xi.pattern.test(i)&&Gt(xi.id,n))return xi.id;let u=tM(i,n);if(u)return u;return null}function J0(e,t,n,r){return ml.find((o)=>{if(!Gt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=re(e).split("/");return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||Ri(e,"~/.claude.json",t,r)||i.at(-1)==="settings.local.json"&&i.at(-2)===".claude"||i.at(-1)===".mcp.json"}case"secret.cli.antigravity":return ne(e,Zt("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r);return ne(e,i,["auth.json",".credentials.json"])||wi(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r),s=re(e).split("/").at(-1)??"";return ne(e,i,["config.toml"])||s.endsWith(".config.toml")&&ne(e,i,[s])}case"secret.cli.gemini":return ne(e,be(ie(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["oauth_creds.json","mcp-oauth-tokens.json","a2a-oauth-tokens.json","gemini-credentials.json"]);case"secret.cli.gemini.config":{let i=re(e).split("/"),s=process.env.ProgramData?[be(ie(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return ne(e,be(ie(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["settings.json","google_accounts.json"])||i.at(-1)==="settings.json"&&i.at(-2)===".gemini"||(process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?.trim()?Ri(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>ne(e,Zt(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=ie(process.env.COPILOT_HOME,"~/.copilot",t,r);return ne(e,i,["config.json"])||wi(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return ne(e,ie(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return ne(e,i,["server.token"])||wi(e,i,["credentials"])||wi(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=re(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||ne(e,ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||ne(e,ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=be(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=re(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return ne(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&ne(e,i,[s])||c.some((l)=>Ri(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?ie(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):be(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[be(ie(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(re(e).split("/").at(-1)??"")||ne(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?Ri(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>ne(e,Zt(c,t,r),a))}case"secret.cli.pi":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=Zt("~",t,r);return[be(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),be(i,".local","share","amp")].some((a)=>ne(e,a,["secrets.json"]))||wi(e,be(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[be(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),be(Zt("~",t,r),".config","amp")],a=re(e).split("/");return s.some((c)=>ne(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?Ri(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=be(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=be(ie(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return ne(e,Zt("~/.cursor",t,r),["auth.json"])||ne(e,i,["auth.json"])||re(e).split("/").at(-1)==="mcp-auth.json"&&Bn(re(e),re(s))}case"secret.cli.cursor.config":{let i=re(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}default:return!1}})?.id??null}function ie(e,t,n,r){return Zt(e?.trim()?e:t,n,r)}function ne(e,t,n){return n.some((r)=>iw(e,be(t,r)))}function wi(e,t,n){return n.some((r)=>Bn(re(e),re(be(t,r))))}function Ri(e,t,n,r){return iw(e,Zt(t,n,r))}function iw(e,t){return re(e)===re(t)}function be(e,...t){return at([e,...t].filter(Boolean).join("/"))}function X0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Pi(e,t,o));return n.some((s)=>Bn(i,re(Pi(s,r,o))))}function Q0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Pi(e,t,o));if(!i)return!1;let s=process.env.HOME??bh(),a=s?at(Y(s,Be,o)):"",c=re(a),l=process.env.CC_SAFETY_NET_HOME,u=re(l?at(Y(yl(l),Be,o)):a&&at(Y(`${a}/.cc-safety-net`,Be,o)));if(u&&Bn(i,u))return!1;return n.some((d)=>{let f=re(Pi(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Bn(i,f)})}function eM(e){let t=e.split("/");return t.some((n)=>q0.has(n))||K0.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function tM(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 dh)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of mh)if(o.pattern.test(r)&&Gt(o.id,t))return o.id;return null}function re(e){return e.toLowerCase()}function Gt(e,t){return!t?.disabledRules?.includes(e)}function Zt(e,t,n){let{home:r,normalized:o}=vh(e,n);if(!o)return"";if(!r)return o;let i=Sh(o,r),s=gl(i)?i:at(yl(t,i)),a=at(Y(s,Be,n));if(!Bn(a,r)){if(gl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function jC(e,t){return e===t||e.startsWith(`${t}/`)}function nM(e,t,n){let{home:r,normalized:o}=vh(e,n);if(!o||!r)return"";let i=Sh(o,r),s=Z$.normalize(gl(i)?i:at(yl(t,i))),a=at(process.env.HOME??bh()),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Bn(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function Pi(e,t,n){let{home:r,normalized:o}=vh(e,n);if(!o)return"";let i=r?Sh(o,r):o;return at(Y(gl(i)?i:yl(t,i),Be,n))}function vh(e,t){let n=process.env.HOME??bh(),r=n?at(Y(n,Be,t)):"",o=at(rM(pt(e)));return{home:r,normalized:o}}function rM(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return U$(e)}catch{return e}}function Sh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return be(t,e.slice(2));return e}function oM(e){if(process.platform==="win32")return!0;return B$.parse(e).root.length>1}function at(e){let t=e.trim(),n=(oM(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Bn(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function Un(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as bl}from"path";var sw="Rulebook exceeds CC Safety Net's safe validation limits.",aw="Additional rulebook validation errors were omitted.",ct=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function cw(e){if(xh(e.allowed_commands,ct.maxAllowedCommands)||xh(e.rules,ct.maxRules)||xh(e.tests,ct.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ct,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ct.maxStringCodeUnits||i&&o.length>ct.maxFixtureCommandCodeUnits||o.length>t)return!1;return t-=o.length,!0};if(!r(e.name)||!r(e.version)||!r(e.description)||!r(e.author)||!r(e.migrated_from))return!1;if(Array.isArray(e.allowed_commands)){for(let o of e.allowed_commands)if(!r(o))return!1}if(Array.isArray(e.rules))for(let o of e.rules){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.name)||!r(i.command)||!r(i.subcommand)||!r(i.reason)||!r(i.intent))return!1;if(!Array.isArray(i.block_args))continue;if(i.block_args.length>ct.maxBlockArgsPerRule||i.block_args.length>n)return!1;n-=i.block_args.length;for(let s of i.block_args)if(!r(s))return!1}if(Array.isArray(e.tests))for(let o of e.tests){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.command,!0)||!r(i.expect)||!r(i.rule))return!1}return!0}function xh(e,t){return Array.isArray(e)&&e.length>t}function iM(e){if(!sM(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!cw(e))return{errors:[sw],ruleNames:new Set};let t=vC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:Kr(t.error.issues,": ",": ")];return{errors:n.length>ct.maxValidationErrors?[...n.slice(0,ct.maxValidationErrors),aw]:n,ruleNames:new Set(fh(e).map((r)=>r.toLowerCase()))}}function _h(e){let t=iM(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function sM(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function Ch(e){if($i(e.spec))return lM(e);return cM(e)}function cM(e){if(!lt.test(e.spec))return`Local rulebook sources must be bare names matching ${lt}: ${e.spec}`;if(e.kind!=="local-directory")return`lock entry for ${e.spec} must use local-directory kind`;if(e.path===e.spec&&e.name===e.spec)return null;return`lock entry for ${e.spec} does not match local source identity`}function lM(e){let t=Xr(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 lw(e){let t=typeof e==="string"?e:e.path;try{let n=mn(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=SC().safeParse(o),s=o.rulebooks.flatMap((c,l)=>{let u=i.success?[]:i.error.issues.filter((f)=>f.path[1]===l);if(u.length>0)return Kr(u).map((f)=>`${t}: ${f}`);let d=Ch(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 uM}from"crypto";var Vj=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function uw(e){return`sha256:${uM("sha256").update(e).digest("hex")}`}function gw(e={}){let t=Gh(e),n=!1;try{n=zh(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return pM(t,f.message);throw f}let r=ph(t.userConfigTarget),o=n?{config:null,errors:[]}:ph(t.projectConfigTarget),i=pw(t.userConfigPath,r.errors),s=pw(t.projectConfigPath,o.errors),a=new Set,c=r.config?dw(r.config,t.userLockPath,bl(t.userConfigPath),e,"user",t.userScope,a):ki(),l=o.config?dw(o.config,t.projectLockPath,bl(t.projectConfigPath),e,"project",t.projectScope,a):ki(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...mw(c.rules,u),...mw(l.rules,d)],transparent_wrappers:mM(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?fw(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?fM(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?fw(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function dw(e,t,n,r,o,i=Bt(bl(bl(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=At(i,t)}catch(b){if(b instanceof ae)return{...ki(),errors:[b.message],canValidateOverrides:!1};throw b}let c=lw(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 ${Ht}`],canValidateOverrides:!1};let u=l?.rulebooks??[],d=new Map(u.map((b)=>[b.spec,b])),f=[],m=[],p=e.rules.flatMap((b)=>{let y=d.get(b);if(!y)return f.push(`missing lock entry for ${b}; run ${Ht}`),[];let R=dM(y,n,r,i);if(R.errors.length>0||!R.rulebook)return f.push(...R.errors),[];let w=R.rulebook;if(s.has(w.name))return m.push(`duplicate active rulebook name "${w.name}" for ${b}; keeping the first and ignoring this one, so its rules are not active; rename one of them, then run ${Ht}`),[];return s.add(w.name),[{rules:w.rules.map((E)=>({...E,name:`${w.name}/${E.name}`})),rulebook:{source:o,spec:y.spec,name:w.name,version:w.version,rules:w.rules.map((E)=>`${w.name}/${E.name}`)}}]}),h=p.flatMap((b)=>b.rules);return{rules:h,rulebooks:p.map((b)=>b.rulebook),entries:u,knownRuleIds:new Set(h.map((b)=>b.name)),errors:f,warnings:m,canValidateOverrides:f.length===0}}function dM(e,t,n,r){let o=Pl(e,kl(t,n)),i;try{i=mn(At(r,o))}catch(a){if(a instanceof ae)return{rulebook:null,errors:[a.message]};throw a}if(i===null)return{rulebook:null,errors:[`missing cache entry for ${e.spec}; run ${Ht}`]};if(uw(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Ht}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{_h(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 mM(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function mw(e,t){return e.flatMap((n)=>{let r=t[n.name];if(r==="off")return[];if(r&&typeof r==="object")return[{...n,intent:r.intent??n.intent,reason:r.reason}];return[n]})}function fw(e,t,n){return Object.keys(e).filter((r)=>!t.has(r)).map((r)=>`unknown override key "${r}" in ${n}; only that override is ignored and other overrides and rules keep their configured state; correct or remove it in that file`)}function fM(e,t,n){return Object.keys(e).filter((r)=>t.has(r)).map((r)=>`project override cannot target user-scoped rule "${r}" in ${n}; only that override is ignored and the rule keeps its user-configured state; remove it from that file`)}function pw(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function pM(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 hw(e={}){let t=gw(e),n=kC(e),r={rules:t.rules,transparentWrappers:t.transparent_wrappers,safety:n.safety,worktreeMode:n.worktreeMode,destructiveCommandProtectionEnabled:n.destructiveCommandProtectionEnabled,destructiveCommandRuleOverrides:n.destructiveCommandRuleOverrides,destructiveCommandAllowPaths:n.destructiveCommandAllowPaths,secretProtection:{enabled:n.secretProtection.enabled??!0,disabledRules:n.secretProtection.disabledRules??[],denyPaths:n.secretProtection.denyPaths,allowPaths:n.secretProtection.allowPaths??[]}},o={...t.userConfig?.overrides??{},...t.projectConfig?.overrides??{}},i=Object.freeze(Object.fromEntries(r.rules.map((s)=>{let a=t.rulebooks.find((l)=>l.rules.includes(s.name)),c=o[s.name];return[s.name,Object.freeze({id:s.name,...a?{rulebook:Object.freeze({name:a.name,version:a.version}),...bM(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return vM(r,gM(t,n),i)}function gM(e,t){let n=yM(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:SM(e.errors.length>0?hM(e.errors):void 0,e.warnings.length>0?wh(e.warnings.join("; ")):void 0,n)}}function hM(e){return`${wh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function yM(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 bM(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function vM(e,t,n=Object.freeze({})){let r=yw(structuredClone(e));if(!t)return Object.freeze({state:"ready",policy:r,diagnostics:Object.freeze([]),ruleMetadata:n});return Object.freeze({state:"degraded",policy:r,diagnostics:Object.freeze([...t.diagnostics]),reason:t.reason,ruleMetadata:n})}function yw(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))yw(t);return Object.freeze(e)}function SM(...e){return wh(e.filter((t)=>!!t).join("; "))}function wh(e){return/[.!?]$/.test(e)?e:`${e}.`}class un extends Error{stage;evaluation;name="GuardEvaluationError";constructor(e,t,n){super(`CC Safety Net ${e} dependency failed`,{cause:n});this.stage=e;this.evaluation=t}}var xM={findPolicyMutation:NC,findGitMetadataMutation:ov,resolveGitMetadata:Su,loadPolicySnapshot:hw,findSensitiveTarget:YC,analyzeCommand:mx,getModes:Sd};function bw(e,t={}){let n={...xM,...t.dependencies},r=wM(e),o=Ai(e)?e.command:r,i=jn("policy-protection",o,()=>Ns(e,t.factParserDependencies)),s=Ne(i,"declared-command");if(Ai(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:It,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(Ne(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:ry,intent:"stop_and_explain",evidence:[]}};let a=jn("policy-protection",o,()=>n.resolveGitMetadata(e.context.executionCwd)),c=jn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:zC,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=jn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:He,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=jn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,..._M(u)},p=d.secretProtection.enabled===!1?null:jn("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:HC,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{...Rh("command-validation",o),...m};let h=jn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:Ot(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},CM(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 CM(e){return Ne(e,"declared-command")?.program}function wM(e){try{return vo(e.input)}catch(t){let n=Ai(e)?e.command:void 0;throw new un("policy-protection",Rh("policy-protection",t instanceof Mt?void 0:n,t),t)}}function jn(e,t,n){try{return n()}catch(r){throw new un(e,Rh(e,r instanceof Mt?void 0:t,r),r)}}function Rh(e,t,n){let r=n instanceof he||n instanceof ft;return{stage:e,decision:{kind:"deny",reason:r?oy:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ai(e){return e.route.kind==="command"}function Sw(e,t){try{let n=bw(e,t.guard);return vw(e,n,t),n}catch(n){if(!(n instanceof un))throw n;throw vw(e,n.evaluation,t,!(n.cause instanceof Mt),{stage:n.stage,errorCode:RM(n.cause)}),n}}function vw(e,t,n,r=!0,o){Xh(Jh(e,t,n.guard?.auditAllowed??!1,r,o),n.audit.getSessionId,{agent:n.audit.agent,shape:n.audit.shape,homeDir:n.audit.homeDir})}function RM(e){if(e instanceof he)return"path-canonicalization-limit";if(e instanceof Mt)return"tool-input-limit";if(e instanceof ft)return"structural-shell-syntax-limit";return"unexpected-error"}var _w=PM();function PM(e={}){return(t,n)=>kM(t,n,e)}function kM(e,t,n){let r=AM(e,t),o=()=>OM(e);if("malformed"in r)return Qh(r.denial,o,{agent:"amp",toolName:r.denial.toolName,cwd:r.cwd}),Cw(r.denial);try{let i=Sw(r,{guard:{auditAllowed:bd(),dependencies:n.guardDependencies},audit:{agent:"amp",getSessionId:o}});return xw(i,!0)}catch(i){if(!(i instanceof un))throw i;if(nn(me.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${uy(i.cause)}`);return xw(i.evaluation,r.route.kind==="command")}}function AM(e,t){if(!e||typeof e!=="object")return Hn(null);let n=e;if(typeof n.tool!=="string"||n.tool.trim()==="")return Hn(null);if(!n.input||typeof n.input!=="object")return Hn(null,n.tool);let r=TM(t);if(!r)return Hn(null,n.tool);let o=IM(t,e);if(!o.ok)return Hn(r,n.tool);if(!o.command)return Lo(n.tool,n.input,{kind:hu(n.tool)},{configCwd:r,executionCwd:r},null);if(typeof o.command.command!=="string"||o.command.command.trim()==="")return Hn(r,n.tool);let i=typeof o.command.dir==="string"?Wi(o.command.dir,[r]):r;if(!i)return Hn(r,n.tool,o.command.command,o.command.dir);return Lo(n.tool,n.input,{kind:"command",shell:"posix"},{configCwd:r,executionCwd:i},o.command.command)}function TM(e){let t=e.system.workspaceRoot;if(!t)return;try{let n=e.helpers.filePathFromURI(t);if(typeof n!=="string"||n.trim()==="")return;return Wi(".",[n])}catch{return}}function IM(e,t){try{return{ok:!0,command:e.helpers.shellCommandFromToolCall(t)}}catch{return{ok:!1}}}function OM(e){if(!e||typeof e!=="object")return;let t=e.thread?.id;return typeof t==="string"&&t.trim()!==""?t:void 0}function Hn(e,t,n,r){return{malformed:!0,denial:cy({command:n,segment:r,toolName:t}),cwd:e}}function xw(e,t){let n=ay(e,{includeEvidence:t});return n?Cw(n):{action:"allow"}}function Cw(e){return{action:"reject-and-continue",message:ly(e)}}function zM(e){e.on("tool.call",(t)=>_w(t,e))}export{zM as default};
|
|
98
|
+
`)}m.write("payload.value = newResult;"),m.write("return payload;");let w=m.compile();return(R,E)=>w(f,R,E)},i,s=Dn,a=!Wo.jitless,l=a&&Pd.value,u=t.catchall,d;e._zod.parse=(f,m)=>{d??(d=r.value);let p=f.value;if(!s(p))return f.issues.push({expected:"object",code:"invalid_type",input:p,inst:e}),f;if(a&&l&&m?.async===!1&&m.jitless!==!0){if(!i)i=o(t.shape);if(f=i(f,m),!u)return f;return Wx([],p,f,m,d,e)}return n(f,m)}});function Ex(e,t,n,r){for(let i of e)if(i.issues.length===0)return t.value=i.value,t;let o=e.filter((i)=>!an(i));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))}),t}var 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 Ex(a,o,e,i);return Promise.all(a).then((c)=>Ex(c,o,e,i))}});function Px(e,t,n,r){let o=e.filter((i)=>i.issues.length===0);if(o.length===1)return t.value=o[0].value,t;if(o.length===0)t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map((i)=>i.issues.map((s)=>Pe(s,r,se())))});else t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:[],inclusive:!1});return t}var gf=g("$ZodXor",(e,t)=>{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 Px(a,o,e,i);return Promise.all(a).then((c)=>Px(c,o,e,i))}}),hf=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=yr(()=>{let o=t.options,i=new Map;for(let s of o){let a=s._zod.propValues?.[t.discriminator];if(!a||a.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(s)}"`);for(let c of a){if(i.has(c))throw Error(`Duplicate discriminator value "${String(c)}"`);i.set(c,s)}}return i});e._zod.parse=(o,i)=>{let s=o.value;if(!Dn(s))return o.issues.push({code:"invalid_type",expected:"object",input:s,inst:e}),o;let a=r.value.get(s?.[t.discriminator]);if(a)return a._zod.run(o,i);if(t.unionFallback)return n(o,i);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:s,path:[t.discriminator],inst:e}),o}}),yf=g("$ZodIntersection",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value,i=t.left._zod.run({value:o,issues:[]},r),s=t.right._zod.run({value:o,issues:[]},r);if(i instanceof Promise||s instanceof Promise)return Promise.all([i,s]).then(([c,l])=>kx(n,c,l));return kx(n,i,s)}});function Am(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(sn(e)&&sn(t)){let n=Object.keys(t),r=Object.keys(e).filter((i)=>n.indexOf(i)!==-1),o={...e,...t};for(let i of r){let s=Am(e[i],t[i]);if(!s.valid)return{valid:!1,mergeErrorPath:[i,...s.mergeErrorPath]};o[i]=s.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let o=e[r],i=t[r],s=Am(o,i);if(!s.valid)return{valid:!1,mergeErrorPath:[r,...s.mergeErrorPath]};n.push(s.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function kx(e,t,n){let r=new Map,o;for(let a of t.issues)if(a.code==="unrecognized_keys"){o??(o=a);for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).l=!0}}else e.issues.push(a);for(let a of n.issues)if(a.code==="unrecognized_keys")for(let c of a.keys){if(!r.has(c))r.set(c,{});r.get(c).r=!0}else e.issues.push(a);let i=[...r].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(i.length&&o)e.issues.push({...o,keys:i});if(an(e))return e;let s=Am(t.value,n.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}var Za=g("$ZodTuple",(e,t)=>{D.init(e,t);let n=t.items;e._zod.parse=(r,o)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),r;r.value=[];let s=[],a=[...n].reverse().findIndex((u)=>u._zod.optin!=="optional"),c=a===-1?0:n.length-a;if(!t.rest){let u=i.length>n.length,d=i.length<c-1;if(u||d)return r.issues.push({...u?{code:"too_big",maximum:n.length,inclusive:!0}:{code:"too_small",minimum:n.length},input:i,inst:e,origin:"array"}),r}let l=-1;for(let u of n){if(l++,l>=i.length){if(l>=c)continue}let d=u._zod.run({value:i[l],issues:[]},o);if(d instanceof Promise)s.push(d.then((f)=>Da(f,r,l)));else Da(d,r,l)}if(t.rest){let u=i.slice(n.length);for(let d of u){l++;let f=t.rest._zod.run({value:d,issues:[]},o);if(f instanceof Promise)s.push(f.then((m)=>Da(m,r,l)));else Da(f,r,l)}}if(s.length)return Promise.all(s).then(()=>r);return r}});function Da(e,t,n){if(e.issues.length)t.issues.push(...We(n,e.issues));t.value[n]=e.value}var bf=g("$ZodRecord",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!sn(o))return n.issues.push({expected:"record",code:"invalid_type",input:o,inst:e}),n;let i=[],s=t.keyType._zod.values;if(s){n.value={};let a=new Set;for(let l of s)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){a.add(typeof l==="number"?l.toString():l);let u=t.valueType._zod.run({value:o[l],issues:[]},r);if(u instanceof Promise)i.push(u.then((d)=>{if(d.issues.length)n.issues.push(...We(l,d.issues));n.value[l]=d.value}));else{if(u.issues.length)n.issues.push(...We(l,u.issues));n.value[l]=u.value}}let c;for(let l in o)if(!a.has(l))c=c??[],c.push(l);if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:o,inst:e,keys:c})}else{n.value={};for(let a of Reflect.ownKeys(o)){if(a==="__proto__")continue;let c=t.keyType._zod.run({value:a,issues:[]},r);if(c instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof a==="string"&&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(...We(a,d.issues));n.value[c.value]=d.value}));else{if(u.issues.length)n.issues.push(...We(a,u.issues));n.value[c.value]=u.value}}}if(i.length)return Promise.all(i).then(()=>n);return n}}),vf=g("$ZodMap",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Map))return n.issues.push({expected:"map",code:"invalid_type",input:o,inst:e}),n;let i=[];n.value=new Map;for(let[s,a]of o){let c=t.keyType._zod.run({value:s,issues:[]},r),l=t.valueType._zod.run({value:a,issues:[]},r);if(c instanceof Promise||l instanceof Promise)i.push(Promise.all([c,l]).then(([u,d])=>{Ax(u,d,n,s,o,e,r)}));else Ax(c,l,n,s,o,e,r)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Ax(e,t,n,r,o,i,s){if(e.issues.length)if(Bo.has(typeof r))n.issues.push(...We(r,e.issues));else n.issues.push({code:"invalid_key",origin:"map",input:o,inst:i,issues:e.issues.map((a)=>Pe(a,s,se()))});if(t.issues.length)if(Bo.has(typeof r))n.issues.push(...We(r,t.issues));else n.issues.push({origin:"map",code:"invalid_element",input:o,inst:i,key:r,issues:t.issues.map((a)=>Pe(a,s,se()))});n.value.set(e.value,t.value)}var Sf=g("$ZodSet",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(!(o instanceof Set))return n.issues.push({input:o,inst:e,expected:"set",code:"invalid_type"}),n;let i=[];n.value=new Set;for(let s of o){let a=t.valueType._zod.run({value:s,issues:[]},r);if(a instanceof Promise)i.push(a.then((c)=>Tx(c,n)));else Tx(a,n)}if(i.length)return Promise.all(i).then(()=>n);return n}});function Tx(e,t){if(e.issues.length)t.issues.push(...e.issues);t.value.add(e.value)}var xf=g("$ZodEnum",(e,t)=>{D.init(e,t);let n=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"?Ke(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;if(r.has(s))return o;return o.issues.push({code:"invalid_value",values:n,input:s,inst:e}),o}}),_f=g("$ZodLiteral",(e,t)=>{if(D.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(`^(${t.values.map((r)=>typeof r==="string"?Ke(r):r?Ke(r.toString()):String(r)).join("|")})$`),e._zod.parse=(r,o)=>{let i=r.value;if(n.has(i))return r;return r.issues.push({code:"invalid_value",values:t.values,input:i,inst:e}),r}}),Cf=g("$ZodFile",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{let o=n.value;if(o instanceof File)return n;return n.issues.push({expected:"file",code:"invalid_type",input:o,inst:e}),n}}),Rf=g("$ZodTransform",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(e.constructor.name);let o=t.transform(n.value,n);if(r.async)return(o instanceof Promise?o:Promise.resolve(o)).then((s)=>(n.value=s,n));if(o instanceof Promise)throw new xt;return n.value=o,n}});function Ix(e,t){if(e.issues.length&&t===void 0)return{issues:[],value:void 0};return e}var Ba=g("$ZodOptional",(e,t)=>{D.init(e,t),e._zod.optin="optional",e._zod.optout="optional",F(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),F(e._zod,"pattern",()=>{let n=t.innerType._zod.pattern;return n?new RegExp(`^(${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)=>Ix(i,n.value));return Ix(o,n.value)}if(n.value===void 0)return n;return t.innerType._zod.run(n,r)}}),wf=g("$ZodExactOptional",(e,t)=>{Ba.init(e,t),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),Ef=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)}}),Pf=g("$ZodDefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>Ox(i,t));return Ox(o,t)}});function Ox(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var kf=g("$ZodPrefault",(e,t)=>{D.init(e,t),e._zod.optin="optional",F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)n.value=t.defaultValue;return t.innerType._zod.run(n,r)}}),Af=g("$ZodNonOptional",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>{let n=t.innerType._zod.values;return n?new Set([...n].filter((r)=>r!==void 0)):void 0}),e._zod.parse=(n,r)=>{let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>zx(i,e));return zx(o,e)}});function zx(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}var Tf=g("$ZodSuccess",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn("ZodSuccess");let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>(n.value=i.issues.length===0,n));return n.value=o.issues.length===0,n}}),If=g("$ZodCatch",(e,t)=>{D.init(e,t),F(e._zod,"optin",()=>t.innerType._zod.optin),F(e._zod,"optout",()=>t.innerType._zod.optout),F(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>{if(n.value=i.value,i.issues.length)n.value=t.catchValue({...n,error:{issues:i.issues.map((s)=>Pe(s,r,se()))},input:n.value}),n.issues=[];return n});if(n.value=o.value,o.issues.length)n.value=t.catchValue({...n,error:{issues:o.issues.map((i)=>Pe(i,r,se()))},input:n.value}),n.issues=[];return n}}),Of=g("$ZodNaN",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>{if(typeof n.value!=="number"||!Number.isNaN(n.value))return n.issues.push({input:n.value,inst:e,expected:"nan",code:"invalid_type"}),n;return n}}),zf=g("$ZodPipe",(e,t)=>{D.init(e,t),F(e._zod,"values",()=>t.in._zod.values),F(e._zod,"optin",()=>t.in._zod.optin),F(e._zod,"optout",()=>t.out._zod.optout),F(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>$a(s,t.in,r));return $a(i,t.in,r)}let o=t.in._zod.run(n,r);if(o instanceof Promise)return o.then((i)=>$a(i,t.out,r));return $a(o,t.out,r)}});function $a(e,t,n){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},n)}var 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)=>Ma(s,t,r));return Ma(i,t,r)}else{let i=t.out._zod.run(n,r);if(i instanceof Promise)return i.then((s)=>Ma(s,t,r));return Ma(i,t,r)}}});function Ma(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||"forward")==="forward"){let o=t.transform(e.value,e);if(o instanceof Promise)return o.then((i)=>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 Nf=g("$ZodReadonly",(e,t)=>{D.init(e,t),F(e._zod,"propValues",()=>t.innerType._zod.propValues),F(e._zod,"values",()=>t.innerType._zod.values),F(e._zod,"optin",()=>t.innerType?._zod?.optin),F(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);let o=t.innerType._zod.run(n,r);if(o instanceof Promise)return o.then(Nx);return Nx(o)}});function Nx(e){return e.value=Object.freeze(e.value),e}var Df=g("$ZodTemplateLiteral",(e,t)=>{D.init(e,t);let n=[];for(let r of t.parts)if(typeof r==="object"&&r!==null){if(!r._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...r._zod.traits].shift()}`);let o=r._zod.pattern instanceof RegExp?r._zod.pattern.source:r._zod.pattern;if(!o)throw Error(`Invalid template literal part: ${r._zod.traits}`);let i=o.startsWith("^")?1:0,s=o.endsWith("$")?o.length-1:o.length;n.push(o.slice(i,s))}else if(r===null||Ad.has(typeof r))n.push(Ke(`${r}`));else throw Error(`Invalid template literal part: ${r}`);e._zod.pattern=new RegExp(`^${n.join("")}$`),e._zod.parse=(r,o)=>{if(typeof r.value!=="string")return r.issues.push({input:r.value,inst:e,expected:"string",code:"invalid_type"}),r;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(r.value))return r.issues.push({input:r.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),r;return r}}),$f=g("$ZodFunction",(e,t)=>(D.init(e,t),e._def=t,e._zod.def=t,e.implement=(n)=>{if(typeof n!=="function")throw Error("implement() must be called with a function");return function(...r){let o=e._def.input?xa(e._def.input,r):r,i=Reflect.apply(n,this,o);if(e._def.output)return xa(e._def.output,i);return i}},e.implementAsync=(n)=>{if(typeof n!=="function")throw Error("implementAsync() must be called with a function");return async function(...r){let o=e._def.input?await _a(e._def.input,r):r,i=await Reflect.apply(n,this,o);if(e._def.output)return await _a(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)),Mf=g("$ZodPromise",(e,t)=>{D.init(e,t),e._zod.parse=(n,r)=>Promise.resolve(n.value).then((o)=>t.innerType._zod.run({value:o,issues:[]},r))}),Lf=g("$ZodLazy",(e,t)=>{D.init(e,t),F(e._zod,"innerType",()=>t.getter()),F(e._zod,"pattern",()=>e._zod.innerType?._zod?.pattern),F(e._zod,"propValues",()=>e._zod.innerType?._zod?.propValues),F(e._zod,"optin",()=>e._zod.innerType?._zod?.optin??void 0),F(e._zod,"optout",()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(n,r)=>e._zod.innerType._zod.run(n,r)}),Wf=g("$ZodCustom",(e,t)=>{J.init(e,t),D.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=(n)=>{let r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then((i)=>Dx(i,n,r,e));Dx(o,n,r,e);return}});function Dx(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 Qo={};var Gx,Ua=Symbol("ZodOutput"),ja=Symbol("ZodInput");class Ff{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];if(this._map.set(e,n),n&&typeof n==="object"&&"id"in n)this._idmap.set(n.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function ei(){return new Ff}(Gx=globalThis).__zod_globalRegistry??(Gx.__zod_globalRegistry=ei());var Ae=globalThis.__zod_globalRegistry;function Gf(e,t){return new e({type:"string",...x(t)})}function Zf(e,t){return new e({type:"string",coerce:!0,...x(t)})}function Ha(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...x(t)})}function ti(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...x(t)})}function Va(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...x(t)})}function qa(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...x(t)})}function Ka(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...x(t)})}function Ya(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...x(t)})}function ni(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...x(t)})}function Ja(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...x(t)})}function Xa(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...x(t)})}function Qa(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...x(t)})}function ec(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...x(t)})}function tc(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...x(t)})}function nc(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...x(t)})}function rc(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...x(t)})}function oc(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...x(t)})}function ic(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...x(t)})}function Bf(e,t){return new e({type:"string",format:"mac",check:"string_format",abort:!1,...x(t)})}function sc(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...x(t)})}function ac(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...x(t)})}function cc(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...x(t)})}function lc(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...x(t)})}function uc(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...x(t)})}function dc(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...x(t)})}var mc={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function Uf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...x(t)})}function jf(e,t){return new e({type:"string",format:"date",check:"string_format",...x(t)})}function Hf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...x(t)})}function Vf(e,t){return new e({type:"string",format:"duration",check:"string_format",...x(t)})}function qf(e,t){return new e({type:"number",checks:[],...x(t)})}function Kf(e,t){return new e({type:"number",coerce:!0,checks:[],...x(t)})}function Yf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...x(t)})}function Jf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float32",...x(t)})}function Xf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"float64",...x(t)})}function Qf(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"int32",...x(t)})}function ep(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"uint32",...x(t)})}function tp(e,t){return new e({type:"boolean",...x(t)})}function np(e,t){return new e({type:"boolean",coerce:!0,...x(t)})}function rp(e,t){return new e({type:"bigint",...x(t)})}function op(e,t){return new e({type:"bigint",coerce:!0,...x(t)})}function ip(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...x(t)})}function sp(e,t){return new e({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...x(t)})}function ap(e,t){return new e({type:"symbol",...x(t)})}function cp(e,t){return new e({type:"undefined",...x(t)})}function lp(e,t){return new e({type:"null",...x(t)})}function up(e){return new e({type:"any"})}function dp(e){return new e({type:"unknown"})}function mp(e,t){return new e({type:"never",...x(t)})}function fp(e,t){return new e({type:"void",...x(t)})}function pp(e,t){return new e({type:"date",...x(t)})}function gp(e,t){return new e({type:"date",coerce:!0,...x(t)})}function hp(e,t){return new e({type:"nan",...x(t)})}function _t(e,t){return new Oa({check:"less_than",...x(t),value:e,inclusive:!1})}function Ge(e,t){return new Oa({check:"less_than",...x(t),value:e,inclusive:!0})}function Ct(e,t){return new za({check:"greater_than",...x(t),value:e,inclusive:!1})}function xe(e,t){return new za({check:"greater_than",...x(t),value:e,inclusive:!0})}function fc(e){return Ct(0,e)}function pc(e){return _t(0,e)}function gc(e){return Ge(0,e)}function hc(e){return xe(0,e)}function cn(e,t){return new um({check:"multiple_of",...x(t),value:e})}function ln(e,t){return new fm({check:"max_size",...x(t),maximum:e})}function Rt(e,t){return new pm({check:"min_size",...x(t),minimum:e})}function Ln(e,t){return new gm({check:"size_equals",...x(t),size:e})}function Wn(e,t){return new hm({check:"max_length",...x(t),maximum:e})}function Ft(e,t){return new ym({check:"min_length",...x(t),minimum:e})}function Fn(e,t){return new bm({check:"length_equals",...x(t),length:e})}function Er(e,t){return new vm({check:"string_format",format:"regex",...x(t),pattern:e})}function Pr(e){return new Sm({check:"string_format",format:"lowercase",...x(e)})}function kr(e){return new xm({check:"string_format",format:"uppercase",...x(e)})}function Ar(e,t){return new _m({check:"string_format",format:"includes",...x(t),includes:e})}function Tr(e,t){return new Cm({check:"string_format",format:"starts_with",...x(t),prefix:e})}function Ir(e,t){return new Rm({check:"string_format",format:"ends_with",...x(t),suffix:e})}function yc(e,t,n){return new wm({check:"property",property:e,schema:t,...x(n)})}function Or(e,t){return new Em({check:"mime_type",mime:e,...x(t)})}function st(e){return new Pm({check:"overwrite",tx:e})}function zr(e){return st((t)=>t.normalize(e))}function Nr(){return st((e)=>e.trim())}function Dr(){return st((e)=>e.toLowerCase())}function $r(){return st((e)=>e.toUpperCase())}function Mr(){return st((e)=>Ed(e))}function yp(e,t,n){return new e({type:"array",element:t,...x(n)})}function CD(e,t,n){return new e({type:"union",options:t,...x(n)})}function RD(e,t,n){return new e({type:"union",options:t,inclusive:!1,...x(n)})}function wD(e,t,n,r){return new e({type:"union",options:n,discriminator:t,...x(r)})}function ED(e,t,n){return new e({type:"intersection",left:t,right:n})}function PD(e,t,n,r){let o=n instanceof D;return new e({type:"tuple",items:t,rest:o?n:null,...x(o?r:n)})}function kD(e,t,n,r){return new e({type:"record",keyType:t,valueType:n,...x(r)})}function AD(e,t,n,r){return new e({type:"map",keyType:t,valueType:n,...x(r)})}function TD(e,t,n){return new e({type:"set",valueType:t,...x(n)})}function ID(e,t,n){let r=Array.isArray(t)?Object.fromEntries(t.map((o)=>[o,o])):t;return new e({type:"enum",entries:r,...x(n)})}function OD(e,t,n){return new e({type:"enum",entries:t,...x(n)})}function zD(e,t,n){return new e({type:"literal",values:Array.isArray(t)?t:[t],...x(n)})}function bp(e,t){return new e({type:"file",...x(t)})}function ND(e,t){return new e({type:"transform",transform:t})}function DD(e,t){return new e({type:"optional",innerType:t})}function $D(e,t){return new e({type:"nullable",innerType:t})}function MD(e,t,n){return new e({type:"default",innerType:t,get defaultValue(){return typeof n==="function"?n():kd(n)}})}function LD(e,t,n){return new e({type:"nonoptional",innerType:t,...x(n)})}function WD(e,t){return new e({type:"success",innerType:t})}function FD(e,t,n){return new e({type:"catch",innerType:t,catchValue:typeof n==="function"?n:()=>n})}function GD(e,t,n){return new e({type:"pipe",in:t,out:n})}function ZD(e,t){return new e({type:"readonly",innerType:t})}function BD(e,t,n){return new e({type:"template_literal",parts:t,...x(n)})}function UD(e,t){return new e({type:"lazy",getter:t})}function jD(e,t){return new e({type:"promise",innerType:t})}function vp(e,t,n){let r=x(n);return r.abort??(r.abort=!0),new e({type:"custom",check:"custom",fn:t,...r})}function Sp(e,t,n){return new e({type:"custom",check:"custom",fn:t,...x(n)})}function xp(e){let t=Zx((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 Zx(e,t){let n=new J({check:"custom",...x(t)});return n._zod.check=e,n}function _p(e){let t=new J({check:"describe"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,description:e})}],t._zod.check=()=>{},t}function Cp(e){let t=new J({check:"meta"});return t._zod.onattach=[(n)=>{let r=Ae.get(n)??{};Ae.add(n,{...r,...e})}],t._zod.check=()=>{},t}function Rp(e,t){let n=x(t),r=n.truthy??["true","1","yes","on","y","enabled"],o=n.falsy??["false","0","no","off","n","disabled"];if(n.case!=="sensitive")r=r.map((m)=>typeof m==="string"?m.toLowerCase():m),o=o.map((m)=>typeof m==="string"?m.toLowerCase():m);let i=new Set(r),s=new Set(o),a=e.Codec??Xo,c=e.Boolean??Yo,u=new(e.String??Mn)({type:"string",error:n.error}),d=new c({type:"boolean",error:n.error}),f=new a({type:"pipe",in:u,out:d,transform:(m,p)=>{let h=m;if(n.case!=="sensitive")h=h.toLowerCase();if(i.has(h))return!0;else if(s.has(h))return!1;else return p.issues.push({code:"invalid_value",expected:"stringbool",values:[...i,...s],input:p.value,inst:f,continue:!1}),{}},reverseTransform:(m,p)=>{if(m===!0)return r[0]||"true";else return o[0]||"false"},error:n.error});return f}function Lr(e,t,n,r={}){let o=x(r),i={...x(r),check:"string_format",type:"string",format:t,fn:typeof n==="function"?n:(a)=>n.test(a),...o};if(n instanceof RegExp)i.pattern=n;return new e(i)}var Wr=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},wp=()=>Wr,bc=()=>Wr,Fr=Wr,X=Wr,Gr=Wr,Zr=Wr;var HD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Ep=(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=HD[a]??a,o.format==="")delete o.format;if(a==="time")delete o.format}if(l)o.contentEncoding=l;if(c&&c.size>0){let u=[...c];if(u.length===1)o.pattern=u[0].source;else if(u.length>1)o.allOf=[...u.map((d)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:d.source}))]}},Pp=(e,t,n,r)=>{let o=n,{minimum:i,maximum:s,format:a,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;if(typeof a==="string"&&a.includes("int"))o.type="integer";else o.type="number";if(typeof u==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;if(typeof i==="number"){if(o.minimum=i,typeof u==="number"&&t.target!=="draft-04")if(u>=i)delete o.minimum;else delete o.exclusiveMinimum}if(typeof l==="number")if(t.target==="draft-04"||t.target==="openapi-3.0")o.maximum=l,o.exclusiveMaximum=!0;else o.exclusiveMaximum=l;if(typeof s==="number"){if(o.maximum=s,typeof l==="number"&&t.target!=="draft-04")if(l<=s)delete o.maximum;else delete o.exclusiveMaximum}if(typeof c==="number")o.multipleOf=c},kp=(e,t,n,r)=>{n.type="boolean"},Ap=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},Tp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},Ip=(e,t,n,r)=>{if(t.target==="openapi-3.0")n.type="string",n.nullable=!0,n.enum=[null];else n.type="null"},Op=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},zp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},Np=(e,t,n,r)=>{n.not={}},Dp=(e,t,n,r)=>{},$p=(e,t,n,r)=>{},Mp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},Lp=(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},Wp=(e,t,n,r)=>{let o=e._zod.def,i=[];for(let s of o.values)if(s===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof s==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else i.push(Number(s));else i.push(s);if(i.length===0);else if(i.length===1){let s=i[0];if(n.type=s===null?"null":typeof s,t.target==="draft-04"||t.target==="openapi-3.0")n.enum=[s];else n.const=s}else{if(i.every((s)=>typeof s==="number"))n.type="number";if(i.every((s)=>typeof s==="string"))n.type="string";if(i.every((s)=>typeof s==="boolean"))n.type="boolean";if(i.every((s)=>s===null))n.type="null";n.enum=i}},Fp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},Gp=(e,t,n,r)=>{let o=n,i=e._zod.pattern;if(!i)throw Error("Pattern not found in template literal");o.type="string",o.pattern=i.source},Zp=(e,t,n,r)=>{let o=n,i={type:"string",format:"binary",contentEncoding:"binary"},{minimum:s,maximum:a,mime:c}=e._zod.bag;if(s!==void 0)i.minLength=s;if(a!==void 0)i.maxLength=a;if(c)if(c.length===1)i.contentMediaType=c[0],Object.assign(o,i);else Object.assign(o,i),o.anyOf=c.map((l)=>({contentMediaType:l}));else Object.assign(o,i)},Bp=(e,t,n,r)=>{n.type="boolean"},Up=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},jp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},Hp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Vp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},qp=(e,t,n,r)=>{if(t.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},Kp=(e,t,n,r)=>{let o=n,i=e._zod.def,{minimum:s,maximum:a}=e._zod.bag;if(typeof s==="number")o.minItems=s;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=X(i.element,t,{...r,path:[...r.path,"items"]})},Yp=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object",o.properties={};let s=i.shape;for(let l in s)o.properties[l]=X(s[l],t,{...r,path:[...r.path,"properties",l]});let a=new Set(Object.keys(s)),c=new Set([...a].filter((l)=>{let u=i.shape[l]._zod;if(t.io==="input")return u.optin===void 0;else return u.optout===void 0}));if(c.size>0)o.required=Array.from(c);if(i.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!i.catchall){if(t.io==="output")o.additionalProperties=!1}else if(i.catchall)o.additionalProperties=X(i.catchall,t,{...r,path:[...r.path,"additionalProperties"]})},Sc=(e,t,n,r)=>{let o=e._zod.def,i=o.inclusive===!1,s=o.options.map((a,c)=>X(a,t,{...r,path:[...r.path,i?"oneOf":"anyOf",c]}));if(i)n.oneOf=s;else n.anyOf=s},Jp=(e,t,n,r)=>{let o=e._zod.def,i=X(o.left,t,{...r,path:[...r.path,"allOf",0]}),s=X(o.right,t,{...r,path:[...r.path,"allOf",1]}),a=(l)=>("allOf"in l)&&Object.keys(l).length===1,c=[...a(i)?i.allOf:[i],...a(s)?s.allOf:[s]];n.allOf=c},Xp=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="array";let s=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=i.items.map((f,m)=>X(f,t,{...r,path:[...r.path,s,m]})),l=i.rest?X(i.rest,t,{...r,path:[...r.path,a,...t.target==="openapi-3.0"?[i.items.length]:[]]}):null;if(t.target==="draft-2020-12"){if(o.prefixItems=c,l)o.items=l}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},l)o.items.anyOf.push(l);if(o.minItems=c.length,!l)o.maxItems=c.length}else if(o.items=c,l)o.additionalItems=l;let{minimum:u,maximum:d}=e._zod.bag;if(typeof u==="number")o.minItems=u;if(typeof d==="number")o.maxItems=d},Qp=(e,t,n,r)=>{let o=n,i=e._zod.def;o.type="object";let s=i.keyType,c=s._zod.bag?.patterns;if(i.mode==="loose"&&c&&c.size>0){let u=X(i.valueType,t,{...r,path:[...r.path,"patternProperties","*"]});o.patternProperties={};for(let d of c)o.patternProperties[d.source]=u}else{if(t.target==="draft-07"||t.target==="draft-2020-12")o.propertyNames=X(i.keyType,t,{...r,path:[...r.path,"propertyNames"]});o.additionalProperties=X(i.valueType,t,{...r,path:[...r.path,"additionalProperties"]})}let l=s._zod.values;if(l){let u=[...l].filter((d)=>typeof d==="string"||typeof d==="number");if(u.length>0)o.required=u}},eg=(e,t,n,r)=>{let o=e._zod.def,i=X(o.innerType,t,r),s=t.seen.get(e);if(t.target==="openapi-3.0")s.ref=o.innerType,n.nullable=!0;else n.anyOf=[i,{type:"null"}]},tg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},ng=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.default=JSON.parse(JSON.stringify(o.defaultValue))},rg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);if(i.ref=o.innerType,t.io==="input")n._prefault=JSON.parse(JSON.stringify(o.defaultValue))},og=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType;let s;try{s=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}n.default=s},ig=(e,t,n,r)=>{let o=e._zod.def,i=t.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;X(i,t,r);let s=t.seen.get(e);s.ref=i},sg=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType,n.readOnly=!0},ag=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},xc=(e,t,n,r)=>{let o=e._zod.def;X(o.innerType,t,r);let i=t.seen.get(e);i.ref=o.innerType},cg=(e,t,n,r)=>{let o=e._zod.innerType;X(o,t,r);let i=t.seen.get(e);i.ref=o},vc={string:Ep,number:Pp,boolean:kp,bigint:Ap,symbol:Tp,null:Ip,undefined:Op,void:zp,never:Np,any:Dp,unknown:$p,date:Mp,enum:Lp,literal:Wp,nan:Fp,template_literal:Gp,file:Zp,success:Bp,custom:Up,function:jp,transform:Hp,map:Vp,set:qp,array:Kp,object:Yp,union:Sc,intersection:Jp,tuple:Xp,record:Qp,nullable:eg,nonoptional:tg,default:ng,prefault:rg,catch:og,pipe:ig,readonly:sg,promise:ag,optional:xc,lazy:cg};function ri(e,t){if("_idmap"in e){let r=e,o=Fr({...t,processors:vc}),i={};for(let c of r._idmap.entries()){let[l,u]=c;X(u,o)}let s={},a={registry:r,uri:t?.uri,defs:i};o.external=a;for(let c of r._idmap.entries()){let[l,u]=c;Gr(o,u),s[l]=Zr(o,u)}if(Object.keys(i).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";s.__shared={[c]:i}}return{schemas:s}}let n=Fr({...t,processors:vc});return X(e,n),Gr(n,e),Zr(n,e)}class lg{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";this.ctx=Fr({processors:vc,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return X(e,this.ctx,t)}emit(e,t){if(t){if(t.cycles)this.ctx.cycles=t.cycles;if(t.reused)this.ctx.reused=t.reused;if(t.external)this.ctx.external=t.external}Gr(this.ctx,e);let n=Zr(this.ctx,e),{"~standard":r,...o}=n;return o}}var Bx={};var ci={};dn(ci,{ZodISODate:()=>ii,ZodISODateTime:()=>oi,ZodISODuration:()=>ai,ZodISOTime:()=>si,date:()=>dg,datetime:()=>ug,duration:()=>fg,time:()=>mg});var oi=g("ZodISODateTime",(e,t)=>{Gm.init(e,t),K.init(e,t)});function ug(e){return Uf(oi,e)}var ii=g("ZodISODate",(e,t)=>{Zm.init(e,t),K.init(e,t)});function dg(e){return jf(ii,e)}var si=g("ZodISOTime",(e,t)=>{Bm.init(e,t),K.init(e,t)});function mg(e){return Hf(si,e)}var ai=g("ZodISODuration",(e,t)=>{Um.init(e,t),K.init(e,t)});function fg(e){return Vf(ai,e)}var jx=(e,t)=>{Ho.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(n)=>Sr(e,n)},flatten:{value:(n)=>vr(e,n)},addIssue:{value:(n)=>{e.issues.push(n),e.message=JSON.stringify(e.issues,hr,2)}},addIssues:{value:(n)=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,hr,2)}},isEmpty:{get(){return e.issues.length===0}}})},Hx=g("ZodError",jx),_e=g("ZodError",jx,{Parent:Error});var _c=xr(_e),Cc=_r(_e),Rc=Cr(_e),wc=Rr(_e),Ec=Ca(_e),Pc=Ra(_e),kc=wa(_e),Ac=Ea(_e),Tc=Pa(_e),Ic=ka(_e),Oc=Aa(_e),zc=Ta(_e);var L=g("ZodType",(e,t)=>(D.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:bc(e,"input"),output:bc(e,"output")}}),e.toJSONSchema=wp(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)=>_c(e,n,r,{callee:e.parse}),e.safeParse=(n,r)=>Rc(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)=>Ec(e,n,r),e.decode=(n,r)=>Pc(e,n,r),e.encodeAsync=async(n,r)=>kc(e,n,r),e.decodeAsync=async(n,r)=>Ac(e,n,r),e.safeEncode=(n,r)=>Tc(e,n,r),e.safeDecode=(n,r)=>Ic(e,n,r),e.safeEncodeAsync=async(n,r)=>Oc(e,n,r),e.safeDecodeAsync=async(n,r)=>zc(e,n,r),e.refine=(n,r)=>e.check(rh(n,r)),e.superRefine=(n)=>e.check(oh(n)),e.overwrite=(n)=>e.check(st(n)),e.optional=()=>ui(e),e.exactOptional=()=>Wg(e),e.nullable=()=>di(e),e.nullish=()=>ui(di(e)),e.nonoptional=(n)=>jg(e,n),e.array=()=>gi(e),e.or=(n)=>tl([e,n]),e.and=(n)=>Ag(e,n),e.transform=(n)=>mi(e,rl(n)),e.default=(n)=>Zg(e,n),e.prefault=(n)=>Ug(e,n),e.catch=(n)=>qg(e,n),e.pipe=(n)=>mi(e,n),e.readonly=()=>Jg(e),e.describe=(n)=>{let r=e.clone();return Ae.add(r,{description:n}),r},Object.defineProperty(e,"description",{get(){return Ae.get(e)?.description},configurable:!0}),e.meta=(...n)=>{if(n.length===0)return Ae.get(e);let r=e.clone();return Ae.add(r,n[0]),r},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=(n)=>n(e),e)),$c=g("_ZodString",(e,t)=>{Mn.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ep(e,r,o,i);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...r)=>e.check(Er(...r)),e.includes=(...r)=>e.check(Ar(...r)),e.startsWith=(...r)=>e.check(Tr(...r)),e.endsWith=(...r)=>e.check(Ir(...r)),e.min=(...r)=>e.check(Ft(...r)),e.max=(...r)=>e.check(Wn(...r)),e.length=(...r)=>e.check(Fn(...r)),e.nonempty=(...r)=>e.check(Ft(1,...r)),e.lowercase=(r)=>e.check(Pr(r)),e.uppercase=(r)=>e.check(kr(r)),e.trim=()=>e.check(Nr()),e.normalize=(...r)=>e.check(zr(...r)),e.toLowerCase=()=>e.check(Dr()),e.toUpperCase=()=>e.check($r()),e.slugify=()=>e.check(Mr())}),Ur=g("ZodString",(e,t)=>{Mn.init(e,t),$c.init(e,t),e.email=(n)=>e.check(Ha(Mc,n)),e.url=(n)=>e.check(ni(fi,n)),e.jwt=(n)=>e.check(dc(Xc,n)),e.emoji=(n)=>e.check(Ja(Lc,n)),e.guid=(n)=>e.check(ti(li,n)),e.uuid=(n)=>e.check(Va(Et,n)),e.uuidv4=(n)=>e.check(qa(Et,n)),e.uuidv6=(n)=>e.check(Ka(Et,n)),e.uuidv7=(n)=>e.check(Ya(Et,n)),e.nanoid=(n)=>e.check(Xa(Wc,n)),e.guid=(n)=>e.check(ti(li,n)),e.cuid=(n)=>e.check(Qa(Fc,n)),e.cuid2=(n)=>e.check(ec(Gc,n)),e.ulid=(n)=>e.check(tc(Zc,n)),e.base64=(n)=>e.check(cc(Kc,n)),e.base64url=(n)=>e.check(lc(Yc,n)),e.xid=(n)=>e.check(nc(Bc,n)),e.ksuid=(n)=>e.check(rc(Uc,n)),e.ipv4=(n)=>e.check(oc(jc,n)),e.ipv6=(n)=>e.check(ic(Hc,n)),e.cidrv4=(n)=>e.check(sc(Vc,n)),e.cidrv6=(n)=>e.check(ac(qc,n)),e.e164=(n)=>e.check(uc(Jc,n)),e.datetime=(n)=>e.check(ug(n)),e.date=(n)=>e.check(dg(n)),e.time=(n)=>e.check(mg(n)),e.duration=(n)=>e.check(fg(n))});function Nc(e){return Gf(Ur,e)}var K=g("ZodStringFormat",(e,t)=>{q.init(e,t),$c.init(e,t)}),Mc=g("ZodEmail",(e,t)=>{Om.init(e,t),K.init(e,t)});function Vx(e){return Ha(Mc,e)}var li=g("ZodGUID",(e,t)=>{Tm.init(e,t),K.init(e,t)});function qx(e){return ti(li,e)}var Et=g("ZodUUID",(e,t)=>{Im.init(e,t),K.init(e,t)});function Kx(e){return Va(Et,e)}function Yx(e){return qa(Et,e)}function Jx(e){return Ka(Et,e)}function Xx(e){return Ya(Et,e)}var fi=g("ZodURL",(e,t)=>{zm.init(e,t),K.init(e,t)});function Qx(e){return ni(fi,e)}function e_(e){return ni(fi,{protocol:/^https?$/,hostname:Fe.domain,...I.normalizeParams(e)})}var Lc=g("ZodEmoji",(e,t)=>{Nm.init(e,t),K.init(e,t)});function t_(e){return Ja(Lc,e)}var Wc=g("ZodNanoID",(e,t)=>{Dm.init(e,t),K.init(e,t)});function n_(e){return Xa(Wc,e)}var Fc=g("ZodCUID",(e,t)=>{$m.init(e,t),K.init(e,t)});function r_(e){return Qa(Fc,e)}var Gc=g("ZodCUID2",(e,t)=>{Mm.init(e,t),K.init(e,t)});function o_(e){return ec(Gc,e)}var Zc=g("ZodULID",(e,t)=>{Lm.init(e,t),K.init(e,t)});function i_(e){return tc(Zc,e)}var Bc=g("ZodXID",(e,t)=>{Wm.init(e,t),K.init(e,t)});function s_(e){return nc(Bc,e)}var Uc=g("ZodKSUID",(e,t)=>{Fm.init(e,t),K.init(e,t)});function a_(e){return rc(Uc,e)}var jc=g("ZodIPv4",(e,t)=>{jm.init(e,t),K.init(e,t)});function c_(e){return oc(jc,e)}var pg=g("ZodMAC",(e,t)=>{Vm.init(e,t),K.init(e,t)});function l_(e){return Bf(pg,e)}var Hc=g("ZodIPv6",(e,t)=>{Hm.init(e,t),K.init(e,t)});function u_(e){return ic(Hc,e)}var Vc=g("ZodCIDRv4",(e,t)=>{qm.init(e,t),K.init(e,t)});function d_(e){return sc(Vc,e)}var qc=g("ZodCIDRv6",(e,t)=>{Km.init(e,t),K.init(e,t)});function m_(e){return ac(qc,e)}var Kc=g("ZodBase64",(e,t)=>{Jm.init(e,t),K.init(e,t)});function f_(e){return cc(Kc,e)}var Yc=g("ZodBase64URL",(e,t)=>{Xm.init(e,t),K.init(e,t)});function p_(e){return lc(Yc,e)}var Jc=g("ZodE164",(e,t)=>{Qm.init(e,t),K.init(e,t)});function g_(e){return uc(Jc,e)}var Xc=g("ZodJWT",(e,t)=>{ef.init(e,t),K.init(e,t)});function h_(e){return dc(Xc,e)}var jr=g("ZodCustomStringFormat",(e,t)=>{tf.init(e,t),K.init(e,t)});function y_(e,t,n={}){return Lr(jr,e,t,n)}function b_(e){return Lr(jr,"hostname",Fe.hostname,e)}function v_(e){return Lr(jr,"hex",Fe.hex,e)}function S_(e,t){let n=t?.enc??"hex",r=`${e}_${n}`,o=Fe[r];if(!o)throw Error(`Unrecognized hash format: ${r}`);return Lr(jr,r,o,t)}var Hr=g("ZodNumber",(e,t)=>{Fa.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Pp(e,r,o,i),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(_t(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.int=(r)=>e.check(Dc(r)),e.safe=(r)=>e.check(Dc(r)),e.positive=(r)=>e.check(Ct(0,r)),e.nonnegative=(r)=>e.check(xe(0,r)),e.negative=(r)=>e.check(_t(0,r)),e.nonpositive=(r)=>e.check(Ge(0,r)),e.multipleOf=(r,o)=>e.check(cn(r,o)),e.step=(r,o)=>e.check(cn(r,o)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??0.5),e.isFinite=!0,e.format=n.format??null});function gg(e){return qf(Hr,e)}var Zn=g("ZodNumberFormat",(e,t)=>{nf.init(e,t),Hr.init(e,t)});function Dc(e){return Yf(Zn,e)}function x_(e){return Jf(Zn,e)}function __(e){return Xf(Zn,e)}function C_(e){return Qf(Zn,e)}function R_(e){return ep(Zn,e)}var Vr=g("ZodBoolean",(e,t)=>{Yo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>kp(e,n,r,o)});function hg(e){return tp(Vr,e)}var qr=g("ZodBigInt",(e,t)=>{Ga.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Ap(e,r,o,i),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.gt=(r,o)=>e.check(Ct(r,o)),e.gte=(r,o)=>e.check(xe(r,o)),e.min=(r,o)=>e.check(xe(r,o)),e.lt=(r,o)=>e.check(_t(r,o)),e.lte=(r,o)=>e.check(Ge(r,o)),e.max=(r,o)=>e.check(Ge(r,o)),e.positive=(r)=>e.check(Ct(BigInt(0),r)),e.negative=(r)=>e.check(_t(BigInt(0),r)),e.nonpositive=(r)=>e.check(Ge(BigInt(0),r)),e.nonnegative=(r)=>e.check(xe(BigInt(0),r)),e.multipleOf=(r,o)=>e.check(cn(r,o));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function w_(e){return rp(qr,e)}var Qc=g("ZodBigIntFormat",(e,t)=>{rf.init(e,t),qr.init(e,t)});function E_(e){return ip(Qc,e)}function P_(e){return sp(Qc,e)}var yg=g("ZodSymbol",(e,t)=>{of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Tp(e,n,r,o)});function k_(e){return ap(yg,e)}var bg=g("ZodUndefined",(e,t)=>{sf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Op(e,n,r,o)});function A_(e){return cp(bg,e)}var vg=g("ZodNull",(e,t)=>{af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Ip(e,n,r,o)});function Sg(e){return lp(vg,e)}var xg=g("ZodAny",(e,t)=>{cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Dp(e,n,r,o)});function T_(){return up(xg)}var _g=g("ZodUnknown",(e,t)=>{lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>$p(e,n,r,o)});function Gn(){return dp(_g)}var Cg=g("ZodNever",(e,t)=>{uf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Np(e,n,r,o)});function el(e){return mp(Cg,e)}var Rg=g("ZodVoid",(e,t)=>{df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>zp(e,n,r,o)});function I_(e){return fp(Rg,e)}var pi=g("ZodDate",(e,t)=>{mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Mp(e,r,o,i),e.min=(r,o)=>e.check(xe(r,o)),e.max=(r,o)=>e.check(Ge(r,o));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function O_(e){return pp(pi,e)}var wg=g("ZodArray",(e,t)=>{ff.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Kp(e,n,r,o),e.element=t.element,e.min=(n,r)=>e.check(Ft(n,r)),e.nonempty=(n)=>e.check(Ft(1,n)),e.max=(n,r)=>e.check(Wn(n,r)),e.length=(n,r)=>e.check(Fn(n,r)),e.unwrap=()=>e.element});function gi(e,t){return yp(wg,e,t)}function z_(e){let t=e._zod.def.shape;return nl(Object.keys(t))}var hi=g("ZodObject",(e,t)=>{pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Yp(e,n,r,o),I.defineLazy(e,"shape",()=>t.shape),e.keyof=()=>nl(Object.keys(e._zod.def.shape)),e.catchall=(n)=>e.clone({...e._zod.def,catchall:n}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Gn()}),e.loose=()=>e.clone({...e._zod.def,catchall:Gn()}),e.strict=()=>e.clone({...e._zod.def,catchall:el()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=(n)=>I.extend(e,n),e.safeExtend=(n)=>I.safeExtend(e,n),e.merge=(n)=>I.merge(e,n),e.pick=(n)=>I.pick(e,n),e.omit=(n)=>I.omit(e,n),e.partial=(...n)=>I.partial(ol,e,n[0]),e.required=(...n)=>I.required(il,e,n[0])});function N_(e,t){let n={type:"object",shape:e??{},...I.normalizeParams(t)};return new hi(n)}function D_(e,t){return new hi({type:"object",shape:e,catchall:el(),...I.normalizeParams(t)})}function $_(e,t){return new hi({type:"object",shape:e,catchall:Gn(),...I.normalizeParams(t)})}var yi=g("ZodUnion",(e,t)=>{Jo.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.options=t.options});function tl(e,t){return new yi({type:"union",options:e,...I.normalizeParams(t)})}var Eg=g("ZodXor",(e,t)=>{yi.init(e,t),gf.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Sc(e,n,r,o),e.options=t.options});function M_(e,t){return new Eg({type:"union",options:e,inclusive:!1,...I.normalizeParams(t)})}var Pg=g("ZodDiscriminatedUnion",(e,t)=>{yi.init(e,t),hf.init(e,t)});function L_(e,t,n){return new Pg({type:"union",options:t,discriminator:e,...I.normalizeParams(n)})}var kg=g("ZodIntersection",(e,t)=>{yf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Jp(e,n,r,o)});function Ag(e,t){return new kg({type:"intersection",left:e,right:t})}var Tg=g("ZodTuple",(e,t)=>{Za.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Xp(e,n,r,o),e.rest=(n)=>e.clone({...e._zod.def,rest:n})});function Ig(e,t,n){let r=t instanceof D,o=r?n:t;return new Tg({type:"tuple",items:e,rest:r?t:null,...I.normalizeParams(o)})}var bi=g("ZodRecord",(e,t)=>{bf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Qp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType});function Og(e,t,n){return new bi({type:"record",keyType:e,valueType:t,...I.normalizeParams(n)})}function W_(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 F_(e,t,n){return new bi({type:"record",keyType:e,valueType:t,mode:"loose",...I.normalizeParams(n)})}var zg=g("ZodMap",(e,t)=>{vf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Vp(e,n,r,o),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Ln(...n))});function G_(e,t,n){return new zg({type:"map",keyType:e,valueType:t,...I.normalizeParams(n)})}var Ng=g("ZodSet",(e,t)=>{Sf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>qp(e,n,r,o),e.min=(...n)=>e.check(Rt(...n)),e.nonempty=(n)=>e.check(Rt(1,n)),e.max=(...n)=>e.check(ln(...n)),e.size=(...n)=>e.check(Ln(...n))});function Z_(e,t){return new Ng({type:"set",valueType:e,...I.normalizeParams(t)})}var Br=g("ZodEnum",(e,t)=>{xf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(r,o,i)=>Lp(e,r,o,i),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{let i={};for(let s of r)if(n.has(s))i[s]=t.entries[s];else throw Error(`Key ${s} not found in enum`);return new Br({...t,checks:[],...I.normalizeParams(o),entries:i})},e.exclude=(r,o)=>{let i={...t.entries};for(let s of r)if(n.has(s))delete i[s];else throw Error(`Key ${s} not found in enum`);return new Br({...t,checks:[],...I.normalizeParams(o),entries:i})}});function nl(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map((r)=>[r,r])):e;return new Br({type:"enum",entries:n,...I.normalizeParams(t)})}function B_(e,t){return new Br({type:"enum",entries:e,...I.normalizeParams(t)})}var Dg=g("ZodLiteral",(e,t)=>{_f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Wp(e,n,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function U_(e,t){return new Dg({type:"literal",values:Array.isArray(e)?e:[e],...I.normalizeParams(t)})}var $g=g("ZodFile",(e,t)=>{Cf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Zp(e,n,r,o),e.min=(n,r)=>e.check(Rt(n,r)),e.max=(n,r)=>e.check(ln(n,r)),e.mime=(n,r)=>e.check(Or(Array.isArray(n)?n:[n],r))});function j_(e){return bp($g,e)}var Mg=g("ZodTransform",(e,t)=>{Rf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Hp(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new Nn(e.constructor.name);n.addIssue=(i)=>{if(typeof i==="string")n.issues.push(I.issue(i,n.value,t));else{let s=i;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=e),n.issues.push(I.issue(s))}};let o=t.transform(n.value,n);if(o instanceof Promise)return o.then((i)=>(n.value=i,n));return n.value=o,n}});function rl(e){return new Mg({type:"transform",transform:e})}var ol=g("ZodOptional",(e,t)=>{Ba.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function ui(e){return new ol({type:"optional",innerType:e})}var Lg=g("ZodExactOptional",(e,t)=>{wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>xc(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Wg(e){return new Lg({type:"optional",innerType:e})}var Fg=g("ZodNullable",(e,t)=>{Ef.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function di(e){return new Fg({type:"nullable",innerType:e})}function H_(e){return ui(di(e))}var Gg=g("ZodDefault",(e,t)=>{Pf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ng(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Zg(e,t){return new Gg({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var Bg=g("ZodPrefault",(e,t)=>{kf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Ug(e,t){return new Bg({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():I.shallowClone(t)}})}var il=g("ZodNonOptional",(e,t)=>{Af.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function jg(e,t){return new il({type:"nonoptional",innerType:e,...I.normalizeParams(t)})}var Hg=g("ZodSuccess",(e,t)=>{Tf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Bp(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function V_(e){return new Hg({type:"success",innerType:e})}var Vg=g("ZodCatch",(e,t)=>{If.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>og(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function qg(e,t){return new Vg({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}var Kg=g("ZodNaN",(e,t)=>{Of.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Fp(e,n,r,o)});function q_(e){return hp(Kg,e)}var sl=g("ZodPipe",(e,t)=>{zf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ig(e,n,r,o),e.in=t.in,e.out=t.out});function mi(e,t){return new sl({type:"pipe",in:e,out:t})}var al=g("ZodCodec",(e,t)=>{sl.init(e,t),Xo.init(e,t)});function K_(e,t,n){return new al({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}var Yg=g("ZodReadonly",(e,t)=>{Nf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sg(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function Jg(e){return new Yg({type:"readonly",innerType:e})}var Xg=g("ZodTemplateLiteral",(e,t)=>{Df.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Gp(e,n,r,o)});function Y_(e,t){return new Xg({type:"template_literal",parts:e,...I.normalizeParams(t)})}var Qg=g("ZodLazy",(e,t)=>{Lf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cg(e,n,r,o),e.unwrap=()=>e._zod.def.getter()});function eh(e){return new Qg({type:"lazy",getter:e})}var th=g("ZodPromise",(e,t)=>{Mf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>ag(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function J_(e){return new th({type:"promise",innerType:e})}var nh=g("ZodFunction",(e,t)=>{$f.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>jp(e,n,r,o)});function X_(e){return new nh({type:"function",input:Array.isArray(e?.input)?Ig(e?.input):e?.input??gi(Gn()),output:e?.output??Gn()})}var vi=g("ZodCustom",(e,t)=>{Wf.init(e,t),L.init(e,t),e._zod.processJSONSchema=(n,r,o)=>Up(e,n,r,o)});function Q_(e){let t=new J({check:"custom"});return t._zod.check=e,t}function eC(e,t){return vp(vi,e??(()=>!0),t)}function rh(e,t={}){return Sp(vi,e,t)}function oh(e){return xp(e)}var tC=_p,nC=Cp;function rC(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 oC=(...e)=>Rp({Codec:al,Boolean:Vr,String:Ur},...e);function iC(e){let t=eh(()=>tl([Nc(e),gg(),hg(),Sg(),gi(t),Og(Nc(),t)]));return t}function sC(e,t){return mi(rl(e),t)}var aC={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function cC(e){se({customError:e})}function lC(){return se().customError}var cl;(function(e){})(cl||(cl={}));var YD=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(o){return e[o]??null}let n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};return(o)=>{switch(o.code){case"invalid_type":{let i=r[o.expected]??o.expected,s=zd(o.input),a=r[s]??s;return`Invalid input: expected ${i}, received ${a}`}case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${ba(o.values[0])}`;return`Invalid option: expected one of ${ga(o.values,"|")}`;case"too_big":{let i=o.inclusive?"<=":"<",s=t(o.origin);if(s)return`Too big: expected ${o.origin??"value"} to have ${i}${o.maximum.toString()} ${s.unit??"elements"}`;return`Too big: expected ${o.origin??"value"} to be ${i}${o.maximum.toString()}`}case"too_small":{let i=o.inclusive?">=":">",s=t(o.origin);if(s)return`Too small: expected ${o.origin} to have ${i}${o.minimum.toString()} ${s.unit}`;return`Too small: expected ${o.origin} to be ${i}${o.minimum.toString()}`}case"invalid_format":{let i=o;if(i.format==="starts_with")return`Invalid string: must start with "${i.prefix}"`;if(i.format==="ends_with")return`Invalid string: must end with "${i.suffix}"`;if(i.format==="includes")return`Invalid string: must include "${i.includes}"`;if(i.format==="regex")return`Invalid string: must match pattern ${i.pattern}`;return`Invalid ${n[i.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${ga(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function ih(){return{localeError:YD()}}var sh=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var ll={};dn(ll,{bigint:()=>e$,boolean:()=>QD,date:()=>t$,number:()=>XD,string:()=>JD});function JD(e){return Zf(Ur,e)}function XD(e){return Kf(Hr,e)}function QD(e){return np(Vr,e)}function e$(e){return op(qr,e)}function t$(e){return gp(pi,e)}se(ih());var n$=ul;var uC=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var Si=64,dC="Rule config exceeds CC Safety Net's safe source limit.";var mU=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var ch=[{id:"secret.basename.env",category:"Basename",label:".env",description:"Blocks exact .env files.",basename:".env"},{id:"secret.basename.npmrc",category:"Basename",label:".npmrc",description:"Blocks npm credential config files.",basename:".npmrc"},{id:"secret.basename.pypirc",category:"Basename",label:".pypirc",description:"Blocks Python package index credential files.",basename:".pypirc"},{id:"secret.basename.netrc",category:"Basename",label:".netrc",description:"Blocks machine login credential files.",basename:".netrc"},{id:"secret.basename.git-credentials",category:"Basename",label:".git-credentials",description:"Blocks Git credential storage files.",basename:".git-credentials"},{id:"secret.basename.id-rsa",category:"Basename",label:"id_rsa",description:"Blocks RSA private key basenames.",basename:"id_rsa"},{id:"secret.basename.id-ed25519",category:"Basename",label:"id_ed25519",description:"Blocks Ed25519 private key basenames.",basename:"id_ed25519"},{id:"secret.basename.id-ecdsa",category:"Basename",label:"id_ecdsa",description:"Blocks ECDSA private key basenames.",basename:"id_ecdsa"},{id:"secret.basename.credentials",category:"Basename",label:"credentials",description:"Blocks generic credentials file basenames.",basename:"credentials"}],dl={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},r$=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],o$=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],lh=[{id:"secret.home.ssh",category:"Home path",label:"~/.ssh",description:"Blocks home SSH configuration and key paths.",suffixParts:[".ssh"]},{id:"secret.home.aws",category:"Home path",label:"~/.aws",description:"Blocks home AWS credential and config paths.",suffixParts:[".aws"]},{id:"secret.home.gcp",category:"Home path",label:"~/.gcp",description:"Blocks home GCP credential paths.",suffixParts:[".gcp"]},{id:"secret.home.gcloud-config",category:"Home path",label:"~/.config/gcloud",description:"Blocks home Google Cloud SDK credential paths.",suffixParts:[".config","gcloud"]},{id:"secret.home.kube-config",category:"Home path",label:"~/.kube/config",description:"Blocks home Kubernetes config files.",suffixParts:[".kube","config"]},{id:"secret.home.docker-config",category:"Home path",label:"~/.docker/config.json",description:"Blocks home Docker credential config files.",suffixParts:[".docker","config.json"]},...o$.flatMap((e)=>r$.map((t)=>({id:["secret.home",e.idSlug,t.slice(1)].join("."),category:"Home path",label:[e.label,t].join(""),description:["Blocks home ",e.label,t," credential backup files."].join(""),suffixParts:[...e.directoryParts,[e.basename,t].join("")]}))),{id:"secret.home.gh-hosts",category:"Home path",label:"~/.config/gh/hosts.yml",description:"Blocks GitHub CLI host credential files.",suffixParts:[".config","gh","hosts.yml"]}];var ml=[{id:"secret.cli.claude-code",category:"Coding CLI credential",label:"Claude Code credentials",paths:["~/.claude/.credentials.json"]},{id:"secret.cli.claude-code.config",category:"Coding CLI config",label:"Claude Code config",paths:["~/.claude/settings.json","~/.claude/settings.local.json","~/.claude.json","<project>/.claude/settings.local.json","<project>/.mcp.json"]},{id:"secret.cli.antigravity",category:"Coding CLI config",label:"Antigravity CLI hook config",paths:["~/.gemini/config/hooks.json","~/.gemini/config/mcp_config.json"]},{id:"secret.cli.codex",category:"Coding CLI credential",label:"Codex credentials",paths:["~/.codex/auth.json","~/.codex/.credentials.json","~/.codex/secrets","~/.codex/.sandbox-secrets"]},{id:"secret.cli.codex.config",category:"Coding CLI config",label:"Codex config",paths:["~/.codex/config.toml","~/.codex/<name>.config.toml"]},{id:"secret.cli.gemini",category:"Coding CLI credential",label:"Gemini CLI credentials",paths:["~/.gemini/oauth_creds.json","~/.gemini/mcp-oauth-tokens.json","~/.gemini/a2a-oauth-tokens.json","~/.gemini/gemini-credentials.json"]},{id:"secret.cli.gemini.config",category:"Coding CLI config",label:"Gemini CLI config",paths:["~/.gemini/settings.json","~/.gemini/google_accounts.json","<project>/.gemini/settings.json","/Library/Application Support/GeminiCli/settings.json","/etc/gemini-cli/settings.json"]},{id:"secret.cli.copilot-cli",category:"Coding CLI credential",label:"GitHub Copilot CLI credentials",paths:["~/.copilot/config.json","~/.copilot/mcp-oauth-config","~/.copilot/mcp-secrets"]},{id:"secret.cli.copilot-cli.config",category:"Coding CLI config",label:"GitHub Copilot CLI config",paths:["~/.copilot/mcp-config.json"]},{id:"secret.cli.kimi-code",category:"Coding CLI credential",label:"Kimi Code credentials",paths:["~/.kimi-code/server.token","~/.kimi-code/credentials","~/.kimi/credentials","~/.kimi/mcp-oauth"]},{id:"secret.cli.kimi-code.config",category:"Coding CLI config",label:"Kimi Code config",paths:["~/.kimi-code/config.toml","~/.kimi-code/mcp.json","~/.kimi/config.toml","~/.kimi/config.json","~/.kimi/config.json.bak","~/.kimi/mcp.json","<project>/.kimi-code/mcp.json"]},{id:"secret.cli.opencode",category:"Coding CLI credential",label:"OpenCode credentials",paths:["~/.local/share/opencode/auth.json","~/.local/share/opencode/mcp-auth.json","~/.local/share/opencode/opencode.db"]},{id:"secret.cli.opencode.config",category:"Coding CLI config",label:"OpenCode config",paths:["~/.config/opencode/opencode.json","~/.config/opencode/opencode.jsonc","/Library/Application Support/opencode/opencode.json","/etc/opencode/opencode.json","<project>/opencode.json","<project>/opencode.jsonc"]},{id:"secret.cli.pi",category:"Coding CLI credential",label:"Pi credentials",paths:["~/.pi/agent/auth.json"]},{id:"secret.cli.pi.config",category:"Coding CLI config",label:"Pi config",paths:["~/.pi/agent/models.json"]},{id:"secret.cli.amp",category:"Coding CLI credential",label:"Amp Code credentials",paths:["~/.local/share/amp/secrets.json","~/.amp/oauth"]},{id:"secret.cli.amp.config",category:"Coding CLI config",label:"Amp Code config",paths:["~/.config/amp/settings.json","~/.config/amp/settings.jsonc","<project>/.amp/settings.json","<project>/.amp/settings.jsonc"]},{id:"secret.cli.cursor",category:"Coding CLI credential",label:"Cursor CLI credentials",paths:["~/.cursor/auth.json","~/.config/cursor/auth.json","~/.cursor/projects/<name>/mcp-auth.json"]},{id:"secret.cli.cursor.config",category:"Coding CLI config",label:"Cursor CLI config",paths:["~/.cursor/mcp.json","<project>/.cursor/mcp.json"]}],mC=[{prefix:"id_rsa",slug:"id-rsa",label:"id_rsa"},{prefix:"id_dsa",slug:"id-dsa",label:"id_dsa"},{prefix:"id_ed25519",slug:"id-ed25519",label:"id_ed25519"},{prefix:"id_ecdsa",slug:"id-ecdsa",label:"id_ecdsa"},{prefix:"credentials",slug:"credentials",label:"credentials"}],i$=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],uh=mC.map((e)=>({id:`secret.variant.${e.slug}.separator`,category:"Variant",label:`${e.label}-* / ${e.label}_*`,description:`Blocks ${e.label} variants with dash or underscore suffixes.`,prefix:e.prefix})),dh=mC.flatMap((e)=>i$.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)$/},mh=["agilekeychain","asc","bek","cscfg","fve","gnucash","jks","keychain","kwallet","mdf","ovpn","p12","pcap","pem","pfx","pkcs12","psafe3","rdp","sdf","tblk","tpm"].map((e)=>({id:`secret.ext.${e}`,category:"Extension",label:`.${e}`,description:`Blocks files with the .${e} extension.`,extension:e})),fh=[{id:"secret.ext-pattern.key",category:"Extension pattern",label:".key / .keypair",description:"Blocks key and keypair extension patterns.",pattern:/^key(pair)?$/},{id:"secret.ext-pattern.keystore",category:"Extension pattern",label:".keystore / .keyring",description:"Blocks keystore and keyring extension patterns.",pattern:/^key(store|ring)$/},{id:"secret.ext-pattern.kdbx",category:"Extension pattern",label:".kdb / .kdbx",description:"Blocks KeePass database extension patterns.",pattern:/^kdbx?$/}],fC=[...ch,dl,...lh,...uh,...dh,xi,...mh,...fh,...ml].map((e)=>({id:e.id,category:e.category,label:e.label,...e.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in e?{paths:e.paths}:{description:e.description}})),pC=new Set(ml.flatMap((e)=>e.category==="Coding CLI config"?[e.id]:[])),s$=fC.map((e)=>e.id),fl=new Set(s$);var EU=a$(import.meta.url),gC,c$=Array(Si+1).fill("over-limit"),hC=/^[^/]+\/[^/]+$/,l$=/^sha256:[a-f0-9]{64}$/,pl=`must be an integer between ${Sl} and ${xl}`,u$=["version","rules","overrides","transparent_wrappers"],d$=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function yC(e){if(!Ye(e)||!Array.isArray(e.rules)||e.rules.length<=Si)return e;return{$schema:e.$schema,version:e.version,rules:c$,overrides:e.overrides,transparent_wrappers:e.transparent_wrappers}}function m$(){let e=ah,t=(_)=>{let v=e.superRefine(_);return v._zod.def.when=()=>!0,v},n=e.enum(uC),r=e.union([e.literal("off"),e.looseObject({reason:e.string({error:"required non-empty string"}).min(1,"required non-empty string").max(er,`must be at most ${er} characters`).describe("Replacement block reason"),intent:n.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),o=e.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),i=e.string({error:"must be a command string"}).regex(bn,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),s=e.looseObject({$schema:e.unknown().optional().describe("JSON Schema reference for IDE support"),version:e.literal(1).describe("Schema version (must be 1)"),rules:e.array(o,{error:"must be an array of rulebook source strings"}).max(Si,dC).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:e.record(e.string().meta({pattern:hC.source}),r).default({}).describe("Rule overrides by id"),transparent_wrappers:e.array(i,{error:"must be an array of command strings"}).default([]).describe("Commands that transparently execute a visible protected child command")}),a=(_,v)=>{if(!Ye(_))return;if(Array.isArray(_.rules)&&_.rules.length<=Si){let k=new Set;_.rules.forEach((z,M)=>{if(typeof z!=="string"||z==="")return;if(z.trim()===""){v.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",M]});return}let W=Xr(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(Ye(_.overrides))for(let k of Object.keys(_.overrides)){if(hC.test(k))continue;v.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",k]})}if(!Array.isArray(_.transparent_wrappers))return;let T=new Set;_.transparent_wrappers.forEach((k,z)=>{if(typeof k!=="string"||!bn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:["transparent_wrappers",z]});return}if(Ev(k)){v.addIssue({code:"custom",message:`reserved command "${k}" cannot be a wrapper`,path:["transparent_wrappers",z]});return}T.add(k)})},c=e.preprocess(yC,s.check(e.superRefine(a))),l=e.preprocess(yC,s.check(t(a))),u=e.strictObject({fail_closed:e.boolean().optional(),paranoid_rm:e.boolean().optional(),paranoid_interpreters:e.boolean().optional()}),d=(_,v)=>e.intersection(e.record(e.string().refine((T)=>_.has(T),{error:(T)=>`unknown ${v} rule id "${String(T.input)}"`}),e.unknown()),e.record(e.string(),e.enum(["on","off"]))),f=(_)=>e.array(e.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(t((v,T)=>{if(!Array.isArray(v))return;let k=hn();v.forEach((z,M)=>{if(typeof z!=="string")return;let W=_(z,k);if(W)T.addIssue({code:"custom",message:W,path:[M]})})})),m=e.strictObject({version:e.literal(1),safety:e.strictObject({level:e.enum(["standard","strict","paranoid"]).optional(),overrides:u.optional()}).optional(),workflow:e.strictObject({worktree_mode:e.boolean().optional()}).optional(),destructive_command_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(Qi,"destructive command").optional(),allow_paths:f(Fs).optional()}).optional(),secret_protection:e.strictObject({enabled:e.boolean().optional(),overrides:d(fl,"secret protection").optional(),deny_paths:f(Gs).optional(),allow_paths:f(Zs).optional()}).optional(),audit:e.strictObject({retention_days:e.number({error:pl}).int(pl).min(Sl,pl).max(xl,pl).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),p=(_)=>{let v=(M,W)=>_==="legacy"?M:W,T=v("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),k=`required non-empty string up to ${er} characters`,z=e.looseObject({name:e.string({error:"required string"}).regex(lt,v("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:e.string({error:v("required string","required string matching command pattern")}).regex(bn,v(T,"required string matching command pattern")),subcommand:e.string({error:v("must be a string if provided","must match command pattern")}).regex(bn,T).optional(),block_args:e.array(e.string({error:v("must be a string","must be a non-empty string")}).refine((M)=>M!=="",{error:v("must not be empty","must be a non-empty string")}),{error:v("required array","required non-empty array")}).refine((M)=>M.length>0,{error:v("must have at least one element","required non-empty array")}),reason:e.string({error:v("required string",k)}).refine((M)=>M!=="",{error:v("must not be empty",k)}).refine((M)=>M.length<=er,{error:v(`must be at most ${er} characters`,k)}),intent:n.optional()},{error:"must be an object"});return e.array(z,{error:v("must be an array","required array")}).check(t((M,W)=>{if(!Array.isArray(M))return;let U=new Set;M.forEach((ge,Ze)=>{let A=Ye(ge)?ge.name:void 0;if(typeof A!=="string")return;if(U.has(A.toLowerCase())){W.addIssue({code:"custom",message:`duplicate rule name "${A}"`,path:[Ze,"name"]});return}U.add(A.toLowerCase())})}))},h=e.looseObject({version:e.literal(1),rules:p("legacy").optional()}),b="required string matching rule name pattern",y=e.looseObject({command:e.string({error:"required non-empty string"}).refine((_)=>_.trim()!=="",{error:"required non-empty string"}),expect:e.enum(["blocked","allowed"]),rule:e.string({error:"must be a string if provided"}).optional()},{error:"must be an object"}).check(t((_,v)=>{if(!Ye(_))return;if(_.expect!=="blocked"||typeof _.rule==="string")return;v.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),w=e.looseObject({name:e.string({error:"required string matching rule name pattern"}).regex(lt,"required string matching rule name pattern"),version:e.string({error:"required non-empty string"}).refine((_)=>_!=="",{error:"required non-empty string"}),allowed_commands:e.array(e.string({error:"must match command pattern"}).regex(bn,"must match command pattern"),{error:"required array"}).check(t((_,v)=>{if(!Array.isArray(_))return;let T=new Set;_.forEach((k,z)=>{if(typeof k!=="string"||!bn.test(k))return;if(T.has(k)){v.addIssue({code:"custom",message:`duplicate command "${k}"`,path:[z]});return}T.add(k)})})),rules:p("rulebook"),tests:e.array(y,{error:"must be an array if provided"}).optional()}).check(t((_,v)=>{if(!Ye(_))return;let T=new Set(ph(_));if(Array.isArray(_.tests)){let z=new Set(_.tests.flatMap((M)=>Ye(M)&&M.expect==="blocked"&&typeof M.rule==="string"?[M.rule]:[]));for(let M of z){if(T.has(M))continue;v.addIssue({code:"custom",message:`blocked fixture references unknown rule "${M}"`,path:["tests"]})}}if(!Array.isArray(_.allowed_commands)||!Array.isArray(_.rules))return;let k=new Set(_.allowed_commands.filter((z)=>typeof z==="string"));_.rules.forEach((z,M)=>{let W=Ye(z)?z.command:void 0;if(typeof W!=="string"||k.has(W))return;v.addIssue({code:"custom",message:`"${W}" must be listed in allowed_commands`,path:["rules",M,"command"]})})})),R=e.string({error:"required string"}).refine((_)=>_.trim()!=="",{error:"required string"}),E=e.looseObject({spec:R,name:R,version:R,digest:e.string({error:"required sha256 digest"}).regex(l$,"required sha256 digest")},{error:"must be an object"}),P=e.looseObject({rulebooks:e.array(e.intersection(E,e.discriminatedUnion("kind",[e.object({kind:e.literal("local-directory"),path:R}),e.object({kind:e.literal("github"),owner:R,repo:R,ref:R,commit:R,path:R,display_ref:e.unknown().optional()})],{error:(_)=>{if(!Ye(_.input))return"must be an object";let v=_.input.kind;return typeof v==="string"?`unknown kind "${v}"`:"required string"}})))});return{RulesConfigSchema:c,RulesConfigDiagnosticSchema:l,RuleOverrideSchema:r,UserPolicySchema:m,LegacyConfigSchema:h,RulebookSchema:w,RulesLockfileSchema:P}}function _i(){return gC??=m$(),gC}function bC(){return _i().RulesConfigSchema}function f$(){return _i().UserPolicySchema}function vC(){return _i().RulebookSchema}function SC(){return _i().RulesLockfileSchema}function ph(e){let t=Ye(e)?e.rules:void 0;return(Array.isArray(t)?t:[]).flatMap((n)=>{let r=Ye(n)?n.name:void 0;return typeof r==="string"?[r]:[]})}function xC(e){let t=_i().RulesConfigDiagnosticSchema.safeParse(e);if(t.success)return{errors:[],sources:new Set(t.data.rules)};return{errors:Kr(RC(t.error.issues,u$)),sources:y$(e,t.error.issues)}}function _C(e){let t=f$().safeParse(e);if(t.success)return[];return Kr(RC(t.error.issues,d$)," ")}function Kr(e,t=": ",n=" "){return[...new Set(e.flatMap((r)=>CC(r,t,n,[])))]}function CC(e,t,n,r){let o=[...r,...e.path],i=h$(o);if(e.code==="unrecognized_keys")return e.keys.map((s)=>`${i?`${i}.`:""}unknown field "${s}"`);if(e.code==="invalid_key")return e.issues.map((s)=>s.message);if(e.code==="invalid_union"){let s=e.errors.flat().filter((a)=>a.path.length>0);if(s.length>0)return s.flatMap((a)=>CC(a,t,n,o))}if(o.length===0)return[e.code==="invalid_type"?"Config must be an object":e.message];if(o.length===1&&(e.code==="too_big"||e.code==="too_small")&&e.origin==="array")return[e.message];return[`${i}${o.length===1?n:t}${p$(e)}`]}function p$(e){if(e.code==="invalid_value")return`must be ${g$(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 g$(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 h$(e){return e.map((t,n)=>{if(typeof t==="number")return`[${t}]`;return n===0?String(t):`.${String(t)}`}).join("")}function RC(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 y$(e,t){let n=Ye(e)?e.rules:void 0;if(!Array.isArray(n))return new Set;if(t.some((o)=>o.path.length===1&&o.path[0]==="rules"))return new Set;let r=new Set(t.filter((o)=>o.path[0]==="rules"&&typeof o.path[1]==="number").map((o)=>o.path[1]));return new Set(n.filter((o,i)=>typeof o==="string"&&!r.has(i)))}function Ye(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function b$(e){return xC(e)}function gh(e){try{let t=mn(v$(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=b$(n);if(r.errors.length>0)return{config:null,errors:r.errors};let o=bC().parse(n);return{config:{version:1,rules:o.rules??[],overrides:o.overrides??{},transparent_wrappers:o.transparent_wrappers??[]},errors:[]}}catch(t){if(t instanceof ae)return{config:null,errors:[t.message]};let n=t instanceof Error?t.message:String(t);return{config:null,errors:[t instanceof SyntaxError?"Invalid JSON":n]}}}function v$(e){return typeof e==="string"?Ni(e):e}var R$=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 hh(e){return C$(_$(fn(e)),Mi)}function kC(e={}){let t=T$(hh(e));return{...t.policy,errors:t.errors,...t.fallback?{fallback:t.fallback}:{}}}function wC(e){if(!Pt(e))return A$();let t=Pt(e.safety)?e.safety:{},n=Pt(t.overrides)?t.overrides:{},r=Pt(e.workflow)?e.workflow:{},o=Pt(e.destructive_command_protection)?e.destructive_command_protection:{},i=Pt(e.secret_protection)?e.secret_protection:{};return{version:1,safety:{level:R$.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:EC(o.overrides,Qi),allow_paths:P$(o.allow_paths)},secret_protection:{enabled:typeof i.enabled==="boolean"?i.enabled:!0,overrides:EC(i.overrides,fl),deny_paths:E$(i.deny_paths),allow_paths:k$(i.allow_paths)},audit:{retention_days:Ii(Pt(e.audit)?e.audit.retention_days:void 0)}}}function EC(e,t){if(!Pt(e))return{};return Object.fromEntries(Object.entries(e).flatMap(([n,r])=>t.has(n)&&(r==="on"||r==="off")?[[n,r]]:[]))}function E$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Gs(n,t)===null)}function P$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Fs(n,t)===null)}function k$(e){if(!Array.isArray(e))return[];let t=hn();return e.filter((n)=>Zs(n,t)===null)}function Pt(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function A$(){return structuredClone(w$)}function T$(e){let t=I$();if(!S$(e)){let n=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!Pt(n))return{policy:t,errors:[]};return{policy:PC(wC(n)),errors:[]}}try{let n=x$(e,"utf-8");if(!n.trim())return{policy:t,errors:[`${e}: Config file is empty`],fallback:"defaults"};let r=JSON.parse(n),o=_C(r),i=PC(wC(r));if(o.length>0)return{policy:i,errors:o.map((s)=>`${e}: ${s}`),fallback:Pt(r)?"salvaged":"defaults"};return{policy:i,errors:[]}}catch(n){let r=n instanceof Error?n.message:String(n);return{policy:t,errors:[`${e}: ${n instanceof SyntaxError?"Invalid JSON":r}`],fallback:"defaults"}}}function AC(e){let t=Object.entries(e),n=new Set(t.flatMap(([r,o])=>o==="on"?[r]:[]));return[...new Set([...[...pC].filter((r)=>!n.has(r)),...t.flatMap(([r,o])=>o==="off"?[r]:[])])]}function I$(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:AC({}),denyPaths:[],allowPaths:[]}}}function PC(e){return{safety:O$(e.safety),worktreeMode:e.workflow.worktree_mode,destructiveCommandProtectionEnabled:e.destructive_command_protection.enabled,destructiveCommandRuleOverrides:e.destructive_command_protection.overrides,destructiveCommandAllowPaths:e.destructive_command_protection.allow_paths,secretProtection:{enabled:e.secret_protection.enabled,disabledRules:AC(e.secret_protection.overrides),denyPaths:e.secret_protection.deny_paths,allowPaths:e.secret_protection.allow_paths}}}function O$(e){let t={...e.overrides.fail_closed!==void 0?{failClosed:e.overrides.fail_closed}:{},...e.overrides.paranoid_rm!==void 0?{paranoidRm:e.overrides.paranoid_rm}:{},...e.overrides.paranoid_interpreters!==void 0?{paranoidInterpreters:e.overrides.paranoid_interpreters}:{}};return{level:e.level,...Object.keys(t).length>0?{overrides:t}:{}}}var zC="This path contains the protected policy config and you must not modify or delete it.",N$=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function NC(e){let t=gn(Ot()),n=F$(e.invocation.context.executionCwd,t);if(e.invocation.route.kind==="patch")return TC(e.paths,!1,e.invocation.context.executionCwd,n,t);let r=Ne(e,"input-candidate");if(e.invocation.route.kind==="command")return r?IC(r.shell,e.invocation.context.executionCwd,n,t):null;if(e.invocation.route.kind==="unknown"&&r){let o=IC(r.shell,e.invocation.context.executionCwd,n,t);if(o)return o}return TC(e.paths,e.invocation.route.kind==="grep"||e.invocation.route.kind==="glob"||zs(e.invocation.toolName),e.invocation.context.executionCwd,n,t)}function TC(e,t,n,r,o){if(t)return null;let i=e.find((s)=>Ci(s,n,r,o));return i?{target:i}:null}function IC(e,t,n,r){let o=Ds(e,t,r,{findSegmentTarget:(i,s)=>D$(i,s,n,r)?.target??null,isRedirectionTarget:(i,s)=>Ci(i,s.cwd,n,r),findMalformedTarget:(i)=>W$(i,t,n,r)?.target??null,normalizeCwd:ve});return o?{target:o}:null}function D$(e,t,n,r){if(So(e))return null;let o=r.environment,i=Kt([...e],o),s=G(i[0]??"").toLowerCase(),a=i.slice(1);if(s==="rm"&&$$(a)){let c=M$(a).find((l)=>OC(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(s==="find"){if(Ys(i,1)||Du(i,o)){let l=(Ks(j(i))??j(["."])).find((u)=>{let d=De(u.text,t.variables);return Ci(d,t.cwd,n,r)||OC(d,t.cwd,n,r)})?.text;if(l)return{target:l}}}if(s==="mv"){let c=$s(a).sources.find((l)=>G$(De(l,t.variables),t.cwd,n,r));if(c)return{target:c}}if(L$(e,o))return null;for(let c of[...e,...i])for(let l of DC(c))if(Ci(De(l,t.variables),t.cwd,n,r))return{target:l};return null}function $$(e){return e.some((t)=>t==="--recursive"||t.startsWith("-")&&!t.startsWith("--")&&/[rR]/.test(t.slice(1)))}function M$(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 L$(e,t){let n=Kt([...e],t);if(n.length===0)return!1;let r=G(n[0]??"").toLowerCase();if(!N$.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 W$(e,t,n,r){for(let o of e.split(/\s+/))for(let i of DC(o))if(Ci(i,t,n,r))return{target:i};return null}function DC(e){let t=e.trim().replace(/^['"]|['"]$/g,""),n=t.indexOf("=");return n===-1||n===t.length-1?[t]:[t,t.slice(n+1)]}function F$(e,t){let n=ve(hh(),e,t),r=yh(n),o=new Set;for(let i=r;;i=yh(i))if(o.add(Yr(i)),yh(i)===i)break;return{file:Yr(n),directoryAndAncestors:o}}function Ci(e,t,n,r){let o=ev(e,t,r,(i)=>Yr(i)===z$(n.file));return o!==null&&Yr(o)===n.file}function OC(e,t,n,r){return n.directoryAndAncestors.has(Yr(ve(e,t,r)))}function G$(e,t,n,r){let o=Yr(ve(e,t,r));return o===n.file||n.directoryAndAncestors.has(o)}function Yr(e){return process.platform==="win32"?e.toLowerCase():e}import{homedir as vh}from"os";import{isAbsolute as gl,posix as Z$,resolve as yl,win32 as B$}from"path";import{fileURLToPath as U$}from"url";var HC="Access to a sensitive path is not allowed.",VC=new Set(["echo","printf"]),j$=new Set(["find"]),H$=new Set(["-exec","-execdir"]),V$=new Set([";","+"]),q$=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),K$=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),Y$=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),J$=new Set(["node","bun"]),X$=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),Q$=new Set(["append","awk","base64","cat","chmod","chown","connect","copy","cp","database","dd","eval","exec","fetch","file","function","grep","head","include","load","move","mv","open","popen","read","remove","rename","require","rg","rm","sed","shell","source","spawn","strings","system","tail","tar","truncate","unlink","write","xxd","zip"]),qC=new Set(["-c","-e","-r","-E","--eval","--exec"]),e0=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),$C=new Set(["cc-safety-net","ccsn"]),t0=new Set(["bunx","npx","pnpx"]),n0=new Set(["bun","node"]),r0=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"])]]),o0=new Set(["grep","rg"]),MC="f",LC="file",i0="files",s0=new Set(["e","f"]),a0=new Set(["regexp","file"]),c0=new Set(["e","f","A","B","C","m"]),l0=new Set(["regexp","file","after-context","before-context","context","max-count"]),u0=new Set(["|","|&"]),bh="__CC_SAFETY_NET_PIPE_INPUT__",KC=new Set(["bash","sh","zsh","dash","ksh"]),d0=new Map([["bash",new Set(["-O"])],["sh",new Set(["-O"])],["zsh",new Set(["-o"])],["dash",new Set(["-o"])],["ksh",new Set(["-o"])],["python",new Set(["-W","-X"])],["node",new Set(["-r","--require","--loader","--import","--input-type"])]]);function WC(e,t,n,r,o){let i=eo();for(let s of e){if(X0(s,t,n?.denyPaths??[],r,i))return{target:s,ruleId:"secret.deny-path"};if(o&&!o.has(s))continue;let a=Y0(s,t,n,i);if(a){if(!a.startsWith("secret.cli.")&&Q0(s,t,n?.allowPaths??[],r,i))continue;return{target:s,ruleId:a}}}return null}function YC(e,t,n={}){let r=FC(e),o=WC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd),i=o?.ruleId!=="secret.deny-path"&&n.strict===!1?FC(e,{refineJavaScriptInlineData:!0}):r,s=i.length===r.length?o:WC(r,e.invocation.context.executionCwd,t,e.invocation.context.configCwd,new Set(i));if(s?.ruleId!=="secret.deny-path"&&n.strict===!1&&m0(e))return null;return s}function m0(e){if(e.invocation.route.kind!=="command")return!1;let t=Ne(e,"input-candidate")??Ne(e,"declared-command");if(!t)return!1;if(t.program.nodes.some((s)=>s.kind==="command"&&s.nested.length>0))return!1;let n=[];for(let s of t.shell.entries){if(s.kind==="operator"&&s.boundary)return!1;if(s.kind==="redirection")return!1;if(s.kind!=="operator")n.push(pt(s.text))}let r=Jr(n);if(r.length===0)return!1;let o=Un(r[0]??"").toLowerCase(),i=r.slice(1);if(o==="ls"||o==="stat")return!0;if(o==="test")return i.length===2&&(i[0]==="-e"||i[0]==="-f");if(o!=="find")return!1;return!i.some((s)=>q$.has(s))}function FC(e,t={}){if(e.invocation.route.kind==="command"){let r=Ne(e,"input-candidate");return r?Ei(r.shell,e.store,t):[]}if(e.invocation.route.kind!=="unknown")return[...e.paths];let n=Ne(e,"input-candidate");return[...n?Ei(n.shell,e.store,t):[],...e.paths]}function Ei(e,t,n){if(e.status==="structural-limit")throw new ft;if(e.status==="unclosed-quote")return[];if(e.status==="invalid")throw Error("Unable to parse command for secret protection");let r=[...e.assignmentFallbacks,...O0(pt(e.source),t,n)],o=[],i=null;for(let s of e.entries){if(s.kind==="operator"){if(!s.boundary)continue;if(o.length>0){if(r.push(...hl(o,t,n)),i!==null)r.push(...ZC(i,o,t,n));i=u0.has(s.operator)?o:null,o=[]}else i=null;continue}if(s.kind==="redirection"){let a=s.target?pt(s.target):void 0;if(a&&s.targetOrder==="legacy-segment")o.push(a);else if(a)r.push(a);continue}o.push(pt(s.text))}if(o.length>0){if(r.push(...hl(o,t,n)),i!==null)r.push(...ZC(i,o,t,n))}return r}function hl(e,t,n){let r=_0(e),o=Jr(e);if(o.length===0)return r;let i=o[0]??"",s=Un(i).toLowerCase(),a=o.slice(1),c=p0(i,s,a);if(c)return[...r,...c];if(VC.has(s))return r;if(o0.has(s))return[...r,...F0(a)];if(j$.has(s))return[...r,...C0(a,t,n)];if($e.has(s))return[...r,...a.flatMap((l)=>BC("awk",l)),...a.flatMap((l)=>w0(l,t,n)),...a.flatMap(E0)];if(QC(s)){if(KC.has(s)){let l=Jb(s,a);if(l!==null&&t.getShellSyntax(l).status==="structural-limit")throw new ft}return[...r,...R0(s,a,n)]}return[...r,...a.flatMap((l)=>BC(s,l))]}function f0(e,t){if($C.has(e))return t[0]==="explain"?0:null;if(t0.has(e)){let n=t[0]==="-y"||t[0]==="--yes"?1:0;return $C.has(t[n]??"")&&t[n+1]==="explain"?n+1:null}if(n0.has(e)){if(GC(t[0])&&t[1]==="explain")return 1;if(e==="bun"&&t[0]==="run"&&GC(t[1])&&t[2]==="explain")return 2}return null}function p0(e,t,n){let r=f0(t,n);if(r===null)return null;let o=[e,...n.slice(0,r)],i=n.slice(r+1);for(let s=0;s<i.length;s++){let a=i[s];if(a==="--json"||a==="--help"||a==="-h")continue;if(a==="--cwd"){let c=i[s+1];if(c&&!c.startsWith("--"))o.push(c);s++;continue}return o}return o}function GC(e){let t=e?.replaceAll("\\","/");return[...e0].some((n)=>t===n||t?.endsWith(`/${n}`))}function ZC(e,t,n,r){if(v0(t,n,r))return g0(e);let o=S0(t);if(o===null)return[];return h0(e).flatMap((i)=>KC.has(o)?Ei(n.getShellSyntax(i),n,r):tR(i))}function g0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(t[0]??"").toLowerCase();if(!VC.has(n))return[];return t.slice(1)}function h0(e){let t=Jr(e);if(t.length===0)return[];let n=Un(t[0]??"").toLowerCase(),r=t.slice(1);if(n==="echo"){let o=r.findIndex((i)=>!/^-[neE]+$/.test(i));return[(o===-1?[]:r.slice(o)).join(" ")]}if(n==="printf")return y0(r);return[]}function y0(e){let t=e[0];if(t===void 0)return[];let n=(t.match(/%%|%[bqs]/g)??[]).filter((o)=>o!=="%%").length;if(n===0||e.length===1)return[JC(t)];let r=e.slice(1);return Array.from({length:Math.ceil(r.length/n)},(o,i)=>b0(t,r.slice(i*n,(i+1)*n)))}function b0(e,t){let n=0;return JC(e.replace(/%%|%[bqs]/g,(r)=>{if(r==="%%")return"%";let o=t[n]??"";return n++,o}))}function JC(e){return e.replace(/\\n/g,`
|
|
99
|
+
`).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function v0(e,t,n){let r=Jr(e);if(r.length===0||Un(r[0]??"").toLowerCase()!=="xargs")return!1;let o=kn(r),i=r.slice(o.childStart);if(i.length===0)return!1;if(o.replacementToken==="")return!1;let s=o.replacementToken,a=s===null?[...i,bh]:i.map((c)=>c.split(s).join(bh));return hl(a,t,n).some((c)=>c.includes(bh))}function S0(e){let t=Jr(e);if(t.length===0)return null;let n=Un(t[0]??"").toLowerCase();if(!QC(n))return null;return x0(n,t.slice(1))?n:null}function x0(e,t){let n=XC(e);for(let r=0;r<t.length;r++){let o=t[r];if(o===void 0)break;if(qC.has(o)||eR(e,o)||/^--(?:eval|exec)=/.test(o))return!1;if(o==="-")return!0;if(o.startsWith("-")){if(n==="python"&&o==="-m")return!1;if(d0.get(n)?.has(o))r++;continue}return!1}return!0}function XC(e){return/^python\d/.test(e)?"python":e}function _0(e){let t=[];for(let n of e){if(oR(n))continue;let r=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(n);if(r===null)break;if(r[1]!==void 0&&r[1]!=="")t.push(r[1])}return t}function BC(e,t){if(t==="--")return[];let n=[],r=t.indexOf("=");if(r>0&&r<t.length-1)n.push(t.slice(r+1));if(t.startsWith("-"))return n;if(e==="tar"&&/\.(?:tar|tgz|tar\.gz|zip)$/i.test(t))return n;if(e==="zip"&&/\.zip$/i.test(t))return n;return n.push(t),n}function C0(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(!H$.has(e[i]??""))continue;let s=e.slice(i+1),a=s.findIndex((u)=>V$.has(u)),c=a===-1?s:s.slice(0,a),l=hl(c,t,n);if(o.push(...l.filter((u)=>u!=="{}")),!l.includes("{}"))continue;o.push(...e.slice(0,i).flatMap((u,d,f)=>{if(!K$.has(u))return[];let m=f[d+1];return m===void 0?[]:[m,m.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return o}function QC(e){return Y$.has(e)||/^python\d/.test(e)}function R0(e,t,n){let r=[];for(let o=0;o<t.length;o++){let i=t[o];if(i===void 0)break;if(qC.has(i)||eR(e,i)){let a=t[o+1];if(a!==void 0)r.push(...UC(e,a,n)),o++;continue}let s=/^--(?:eval|exec)=(.*)$/.exec(i);if(s!==null&&s[1]!==void 0){r.push(...UC(e,s[1],n));continue}if(!i.startsWith("-"))r.push(i)}return r}function eR(e,t){if(!t.startsWith("-")||t.startsWith("--")||t.length<=2)return!1;return r0.get(t[t.length-1]??"")?.has(XC(e))??!1}function w0(e,t,n){if(!e.includes("system"))return[];return Iu(e)?.commands.flatMap((r)=>Ei(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 tR(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(nR),...n]}function UC(e,t,n){let r=tR(t);if(!n.refineJavaScriptInlineData||!J$.has(e)||r.length===0)return r;let o=P0(t);return o!==null&&!A0(o)?[]:r}function P0(e){let t=e.split("");for(let n=0;n<e.length;n++){let r=e[n];if(r!=="'"&&r!=='"'&&r!=="`")continue;if(r==="`"&&k0(e,n))return null;t[n]=" ";let o=!1;for(let i=n+1;i<e.length;i++){let s=e[i];if(t[i]=" ",s==="\\"){if(i++,i<e.length)t[i]=" ";continue}if(r==="`"&&s==="$"&&e[i+1]==="{")return null;if(r!=="`"&&(s===`
|
|
100
|
+
`||s==="\r"))return null;if(s!==r)continue;n=i,o=!0;break}if(!o)return null}return t.join("")}function k0(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 A0(e){for(let t of e.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let n=t[0],r=t.index;if(X$.has(n.toLowerCase()))return!0;let o=n.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_$\s]+/).map((i)=>i.toLowerCase());if(!o.some((i)=>Q$.has(i)))continue;if(o.length>1)return!0;if(T0(e,r)===".")return!0;if(I0(e,r+n.length)==="(")return!0}return!1}function T0(e,t){for(let n=t-1;n>=0;n--)if(!/\s/.test(e[n]??""))return e[n];return}function I0(e,t){for(let n=t;n<e.length;n++)if(!/\s/.test(e[n]??""))return e[n];return}function O0(e,t,n){return M0(e).flatMap((r)=>{let o=t.getShellSyntax(r);if(o.status==="invalid")return[];return[...Ei(o,t,n),...z0(o)?N0(o):[]]})}function z0(e){let t=e.entries;for(let n=0;n<t.length;n++){let r=t[n];if(r?.kind!=="word"||Un(pt(r.text)).toLowerCase()!=="base64")continue;for(let o=n+1;o<t.length;o++){let i=t[o];if(i?.kind==="operator")break;if(i?.kind!=="word")continue;let s=pt(i.text);if(s==="--decode"||!s.startsWith("--")&&s.startsWith("-")&&/[dD]/.test(s))return!0}}return!1}function N0(e){return e.entries.flatMap((t)=>t.kind==="word"?[pt(t.text)]:t.kind==="redirection"&&t.target?[pt(t.target)]:[]).flatMap(nR)}function nR(e){let t=$0(e);if(t===null)return[];let n=Buffer.from(t,"base64").toString("utf8");if(n===""||D0(n))return[];return Buffer.from(n,"utf8").toString("base64").replace(/=+$/g,"")===t.replace(/=+$/g,"")?[n]:[]}function D0(e){return Array.from(e).some((t)=>{let n=t.charCodeAt(0);return n<32||n===127})}function $0(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 M0(e){let t=[],n={inSingle:!1,inDouble:!1,escaped:!1};for(let r=0;r<e.length;r++){let o=e[r];if(!o)break;if(go(o,n))continue;if(rR(e,r,n)){let i=L0(e,r+1);if(i!==null)t.push(i.body),r=i.endIndex;continue}if(!n.inSingle&&o==="`"){let i=W0(e,r);if(i!==null)t.push(i.body),r=i.endIndex}}return t}function L0(e,t){let n={inSingle:!1,inDouble:!1,escaped:!1},r=1;for(let o=t+1;o<e.length;o++){let i=e[o];if(!i)break;if(go(i,n))continue;if(rR(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 W0(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 rR(e,t,n){return!n.inSingle&&e[t]==="$"&&e[t+1]==="("&&e[t+2]!=="("}function F0(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===i0)o=!0;if(a0.has(d))r=!0;if(f!==void 0){if(d===LC)t.push(f);continue}if(l0.has(d)){let m=e[c+1];if(d===LC&&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(s0.has(h))r=!0;if(c0.has(h)){f=h,m=d.slice(p+1);break}}if(f!=="")if(m.length>0){if(f===MC)t.push(m)}else{let p=e[c+1];if(f===MC&&p!==void 0)t.push(p);c++}continue}n.push(l)}let a=!r&&!o?n.slice(1):n;return[...t,...a]}function Jr(e){let t=e.findIndex((n)=>!oR(n)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(n));return t===-1?[]:[...e.slice(t)]}function oR(e){return e==="env"||e==="command"||e==="builtin"||e==="sudo"}var G0=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),Z0=".env.",B0=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),U0=[".env.example.",".env.sample."];function j0(e){let t;try{t=new URL(e.trim())}catch{return!1}return t.protocol!=="file:"&&t.host!==""}function H0(e){return e.length>0&&!/\s/.test(e)}function V0(e,t,n){try{let r=Pi(e,t,n);return r!==""&&Be.entryKind(r)!=="missing"}catch(r){if(r instanceof be)throw r;return!1}}var q0=new Set(["node_modules","__pycache__"]),K0=[["vendor","bundle"],["vendor","cache"]];function Y0(e,t,n,r){if(j0(e))return null;let o=Zt(e,t,r);if(!o)return null;let i=re(o.split("/").pop()??""),s=re(o),a=()=>H0(i)||V0(e,t,r);if(B0.has(i)||U0.some((d)=>i.startsWith(d)))return null;let c=re(nM(e,t,r));for(let d of lh){let f=`~/${d.suffixParts.join("/")}`;if((jC(s,f)||jC(c,f))&&Gt(d.id,n))return d.id}let l=J0(o,t,n,r);if(l)return l;if(G0.has(i))return null;for(let d of ch)if(i===d.basename&&Gt(d.id,n))return d.id;if(i.startsWith(Z0)&&Gt(dl.id,n)&&a())return dl.id;for(let d of uh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){let f=i.slice(d.prefix.length)[0];if((f==="-"||f==="_")&&Gt(d.id,n)&&a())return d.id}for(let d of dh)if(i.length>d.prefix.length&&i.startsWith(d.prefix)){if(i.slice(d.prefix.length)===d.suffix&&Gt(d.id,n))return d.id}if(eM(s))return null;if(!i.includes(".")&&xi.pattern.test(i)&&Gt(xi.id,n))return xi.id;let u=tM(i,n);if(u)return u;return null}function J0(e,t,n,r){return ml.find((o)=>{if(!Gt(o.id,n))return!1;switch(o.id){case"secret.cli.claude-code":return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),[".credentials.json"]);case"secret.cli.claude-code.config":{let i=re(e).split("/");return ne(e,ie(process.env.CLAUDE_CONFIG_DIR,"~/.claude",t,r),["settings.json","settings.local.json"])||wi(e,"~/.claude.json",t,r)||i.at(-1)==="settings.local.json"&&i.at(-2)===".claude"||i.at(-1)===".mcp.json"}case"secret.cli.antigravity":return ne(e,Zt("~/.gemini/config",t,r),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r);return ne(e,i,["auth.json",".credentials.json"])||Ri(e,i,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let i=ie(process.env.CODEX_HOME,"~/.codex",t,r),s=re(e).split("/").at(-1)??"";return ne(e,i,["config.toml"])||s.endsWith(".config.toml")&&ne(e,i,[s])}case"secret.cli.gemini":return ne(e,ye(ie(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["oauth_creds.json","mcp-oauth-tokens.json","a2a-oauth-tokens.json","gemini-credentials.json"]);case"secret.cli.gemini.config":{let i=re(e).split("/"),s=process.env.ProgramData?[ye(ie(process.env.ProgramData,"",t,r),"gemini-cli")]:[];return ne(e,ye(ie(process.env.GEMINI_CLI_HOME,"~",t,r),".gemini"),["settings.json","google_accounts.json"])||i.at(-1)==="settings.json"&&i.at(-2)===".gemini"||(process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?.trim()?wi(e,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,t,r):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...s].some((a)=>ne(e,Zt(a,t,r),["settings.json"]))}case"secret.cli.copilot-cli":{let i=ie(process.env.COPILOT_HOME,"~/.copilot",t,r);return ne(e,i,["config.json"])||Ri(e,i,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return ne(e,ie(process.env.COPILOT_HOME,"~/.copilot",t,r),["mcp-config.json"]);case"secret.cli.kimi-code":{let i=ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),s=ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r);return ne(e,i,["server.token"])||Ri(e,i,["credentials"])||Ri(e,s,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let i=["config.toml","mcp.json"],s=re(e).split("/");return s.at(-1)==="mcp.json"&&s.at(-2)===".kimi-code"||ne(e,ie(process.env.KIMI_CODE_HOME,"~/.kimi-code",t,r),i)||ne(e,ie(process.env.KIMI_SHARE_DIR,"~/.kimi",t,r),[...i,"config.json","config.json.bak"])}case"secret.cli.opencode":{let i=ye(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"opencode"),s=re(e).split("/").at(-1)??"",a=process.env.OPENCODE_DB?.trim(),c=a&&a!==":memory:"?[a,`${a}-wal`,`${a}-shm`]:[];return ne(e,i,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(s)&&ne(e,i,[s])||c.some((l)=>wi(e,l,t,r))}case"secret.cli.opencode.config":{let i=process.env.OPENCODE_CONFIG_DIR?ie(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",t,r):ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"opencode"),s=process.env.ProgramData?[ye(ie(process.env.ProgramData,"",t,r),"opencode")]:[],a=["opencode.json","opencode.jsonc"];return a.includes(re(e).split("/").at(-1)??"")||ne(e,i,a)||(process.env.OPENCODE_CONFIG?.trim()?wi(e,process.env.OPENCODE_CONFIG,t,r):!1)||["/Library/Application Support/opencode","/etc/opencode",...s].some((c)=>ne(e,Zt(c,t,r),a))}case"secret.cli.pi":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["auth.json"]);case"secret.cli.pi.config":return ne(e,ie(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",t,r),["models.json"]);case"secret.cli.amp":{let i=Zt("~",t,r);return[ye(ie(process.env.XDG_DATA_HOME,"~/.local/share",t,r),"amp"),ye(i,".local","share","amp")].some((a)=>ne(e,a,["secrets.json"]))||Ri(e,ye(i,".amp"),["oauth"])}case"secret.cli.amp.config":{let i=["settings.json","settings.jsonc"],s=[ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"amp"),ye(Zt("~",t,r),".config","amp")],a=re(e).split("/");return s.some((c)=>ne(e,c,i))||a.at(-2)===".amp"&&i.includes(a.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?wi(e,process.env.AMP_SETTINGS_FILE,t,r):!1)}case"secret.cli.cursor":{let i=ye(ie(process.env.XDG_CONFIG_HOME,"~/.config",t,r),"cursor"),s=ye(ie(process.env.CURSOR_DATA_DIR,"~/.cursor",t,r),"projects");return ne(e,Zt("~/.cursor",t,r),["auth.json"])||ne(e,i,["auth.json"])||re(e).split("/").at(-1)==="mcp-auth.json"&&Bn(re(e),re(s))}case"secret.cli.cursor.config":{let i=re(e).split("/");return i.at(-1)==="mcp.json"&&i.at(-2)===".cursor"}default:return!1}})?.id??null}function ie(e,t,n,r){return Zt(e?.trim()?e:t,n,r)}function ne(e,t,n){return n.some((r)=>iR(e,ye(t,r)))}function Ri(e,t,n){return n.some((r)=>Bn(re(e),re(ye(t,r))))}function wi(e,t,n,r){return iR(e,Zt(t,n,r))}function iR(e,t){return re(e)===re(t)}function ye(e,...t){return at([e,...t].filter(Boolean).join("/"))}function X0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Pi(e,t,o));return n.some((s)=>Bn(i,re(Pi(s,r,o))))}function Q0(e,t,n,r,o){if(n.length===0)return!1;let i=re(Pi(e,t,o));if(!i)return!1;let s=process.env.HOME??vh(),a=s?at(Y(s,Be,o)):"",c=re(a),l=process.env.CC_SAFETY_NET_HOME,u=re(l?at(Y(yl(l),Be,o)):a&&at(Y(`${a}/.cc-safety-net`,Be,o)));if(u&&Bn(i,u))return!1;return n.some((d)=>{let f=re(Pi(d,r,o));if(!f)return!1;if(c&&(c===f||c.startsWith(f.endsWith("/")?f:`${f}/`)))return!1;return Bn(i,f)})}function eM(e){let t=e.split("/");return t.some((n)=>q0.has(n))||K0.some(([n,r])=>t.some((o,i)=>o===n&&t[i+1]===r))}function tM(e,t){let n=e.lastIndexOf("."),r=n>0&&n<e.length-1?e.slice(n+1):"";if(r==="")return null;for(let o of mh)if(r===o.extension&&Gt(o.id,t))return o.id;for(let o of fh)if(o.pattern.test(r)&&Gt(o.id,t))return o.id;return null}function re(e){return e.toLowerCase()}function Gt(e,t){return!t?.disabledRules?.includes(e)}function Zt(e,t,n){let{home:r,normalized:o}=Sh(e,n);if(!o)return"";if(!r)return o;let i=xh(o,r),s=gl(i)?i:at(yl(t,i)),a=at(Y(s,Be,n));if(!Bn(a,r)){if(gl(i))return a;return a===s?o:a}let c=a.slice(r.length);return c?`~${c}`:"~"}function jC(e,t){return e===t||e.startsWith(`${t}/`)}function nM(e,t,n){let{home:r,normalized:o}=Sh(e,n);if(!o||!r)return"";let i=xh(o,r),s=Z$.normalize(gl(i)?i:at(yl(t,i))),a=at(process.env.HOME??vh()),c=(d)=>process.platform==="win32"?d.toLowerCase():d,l=[r,a].find((d)=>d!==""&&Bn(c(s),c(d)));if(l===void 0)return"";let u=s.slice(l.length);return u?`~${u}`:"~"}function Pi(e,t,n){let{home:r,normalized:o}=Sh(e,n);if(!o)return"";let i=r?xh(o,r):o;return at(Y(gl(i)?i:yl(t,i),Be,n))}function Sh(e,t){let n=process.env.HOME??vh(),r=n?at(Y(n,Be,t)):"",o=at(rM(pt(e)));return{home:r,normalized:o}}function rM(e){if(!e.trim().toLowerCase().startsWith("file:"))return e;try{return U$(e)}catch{return e}}function xh(e,t){if(e==="~")return t;if(e.startsWith("~/"))return ye(t,e.slice(2));return e}function oM(e){if(process.platform==="win32")return!0;return B$.parse(e).root.length>1}function at(e){let t=e.trim(),n=(oM(t)?t.replace(/\\/g,"/"):t).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(n==="/")return n;return n.replace(/\/+$/g,"")}function Bn(e,t){return e===t||e.startsWith(t.endsWith("/")?t:`${t}/`)}function Un(e){return e.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??e}import{dirname as bl}from"path";var sR="Rulebook exceeds CC Safety Net's safe validation limits.",aR="Additional rulebook validation errors were omitted.",ct=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function cR(e){if(_h(e.allowed_commands,ct.maxAllowedCommands)||_h(e.rules,ct.maxRules)||_h(e.tests,ct.maxTests))return!1;let{maxAggregateStringCodeUnits:t,maxTotalBlockArgs:n}=ct,r=(o,i=!1)=>{if(typeof o!=="string")return!0;if(o.length>ct.maxStringCodeUnits||i&&o.length>ct.maxFixtureCommandCodeUnits||o.length>t)return!1;return t-=o.length,!0};if(!r(e.name)||!r(e.version)||!r(e.description)||!r(e.author)||!r(e.migrated_from))return!1;if(Array.isArray(e.allowed_commands)){for(let o of e.allowed_commands)if(!r(o))return!1}if(Array.isArray(e.rules))for(let o of e.rules){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.name)||!r(i.command)||!r(i.subcommand)||!r(i.reason)||!r(i.intent))return!1;if(!Array.isArray(i.block_args))continue;if(i.block_args.length>ct.maxBlockArgsPerRule||i.block_args.length>n)return!1;n-=i.block_args.length;for(let s of i.block_args)if(!r(s))return!1}if(Array.isArray(e.tests))for(let o of e.tests){if(!o||typeof o!=="object")continue;let i=o;if(!r(i.command,!0)||!r(i.expect)||!r(i.rule))return!1}return!0}function _h(e,t){return Array.isArray(e)&&e.length>t}function iM(e){if(!sM(e))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!cR(e))return{errors:[sR],ruleNames:new Set};let t=vC().safeParse(e),n=[...e.rulebook_version===1?[]:["rulebook_version must be 1"],...t.success?[]:Kr(t.error.issues,": ",": ")];return{errors:n.length>ct.maxValidationErrors?[...n.slice(0,ct.maxValidationErrors),aR]:n,ruleNames:new Set(ph(e).map((r)=>r.toLowerCase()))}}function Ch(e){let t=iM(e);if(t.errors.length>0)throw Error(t.errors.join("; "));return e}function sM(e){return!!e&&typeof e==="object"&&!Array.isArray(e)}function Rh(e){if($i(e.spec))return lM(e);return cM(e)}function cM(e){if(!lt.test(e.spec))return`Local rulebook sources must be bare names matching ${lt}: ${e.spec}`;if(e.kind!=="local-directory")return`lock entry for ${e.spec} must use local-directory kind`;if(e.path===e.spec&&e.name===e.spec)return null;return`lock entry for ${e.spec} does not match local source identity`}function lM(e){let t=Xr(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 lR(e){let t=typeof e==="string"?e:e.path;try{let n=mn(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=SC().safeParse(o),s=o.rulebooks.flatMap((c,l)=>{let u=i.success?[]:i.error.issues.filter((f)=>f.path[1]===l);if(u.length>0)return Kr(u).map((f)=>`${t}: ${f}`);let d=Rh(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 uM}from"crypto";var Vj=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function uR(e){return`sha256:${uM("sha256").update(e).digest("hex")}`}function gR(e={}){let t=Zh(e),n=!1;try{n=Nh(t.userConfigTarget,t.projectConfigTarget)}catch(f){if(f instanceof ae)return pM(t,f.message);throw f}let r=gh(t.userConfigTarget),o=n?{config:null,errors:[]}:gh(t.projectConfigTarget),i=pR(t.userConfigPath,r.errors),s=pR(t.projectConfigPath,o.errors),a=new Set,c=r.config?dR(r.config,t.userLockPath,bl(t.userConfigPath),e,"user",t.userScope,a):ki(),l=o.config?dR(o.config,t.projectLockPath,bl(t.projectConfigPath),e,"project",t.projectScope,a):ki(),u=r.config?.overrides??{},d=o.config?.overrides??{};return{rules:[...mR(c.rules,u),...mR(l.rules,d)],transparent_wrappers:mM(r.config,o.config),rulebooks:[...c.rulebooks,...l.rulebooks],errors:[...i,...s,...c.errors,...l.errors],warnings:[...c.warnings,...l.warnings,...c.canValidateOverrides?fR(u,c.knownRuleIds,t.userConfigPath):[],...c.canValidateOverrides?fM(d,c.knownRuleIds,t.projectConfigPath):[],...l.canValidateOverrides?fR(d,l.knownRuleIds,t.projectConfigPath):[]],userConfig:r.config??void 0,projectConfig:o.config??void 0,...t}}function dR(e,t,n,r,o,i=Bt(bl(bl(n)),o==="user"?"user policy":"project policy"),s=new Set){let a;try{a=At(i,t)}catch(b){if(b instanceof ae)return{...ki(),errors:[b.message],canValidateOverrides:!1};throw b}let c=lR(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 ${Ht}`],canValidateOverrides:!1};let u=l?.rulebooks??[],d=new Map(u.map((b)=>[b.spec,b])),f=[],m=[],p=e.rules.flatMap((b)=>{let y=d.get(b);if(!y)return f.push(`missing lock entry for ${b}; run ${Ht}`),[];let w=dM(y,n,r,i);if(w.errors.length>0||!w.rulebook)return f.push(...w.errors),[];let R=w.rulebook;if(s.has(R.name))return m.push(`duplicate active rulebook name "${R.name}" for ${b}; keeping the first and ignoring this one, so its rules are not active; rename one of them, then run ${Ht}`),[];return s.add(R.name),[{rules:R.rules.map((E)=>({...E,name:`${R.name}/${E.name}`})),rulebook:{source:o,spec:y.spec,name:R.name,version:R.version,rules:R.rules.map((E)=>`${R.name}/${E.name}`)}}]}),h=p.flatMap((b)=>b.rules);return{rules:h,rulebooks:p.map((b)=>b.rulebook),entries:u,knownRuleIds:new Set(h.map((b)=>b.name)),errors:f,warnings:m,canValidateOverrides:f.length===0}}function dM(e,t,n,r){let o=Pl(e,kl(t,n)),i;try{i=mn(At(r,o))}catch(a){if(a instanceof ae)return{rulebook:null,errors:[a.message]};throw a}if(i===null)return{rulebook:null,errors:[`missing cache entry for ${e.spec}; run ${Ht}`]};if(uR(i)!==e.digest)return{rulebook:null,errors:[`cache digest mismatch for ${e.spec}; run ${Ht}`]};let s;try{s=JSON.parse(i)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}`]}}try{Ch(s)}catch(a){return{rulebook:null,errors:[`invalid cached rulebook for ${e.spec}: ${a instanceof Error?a.message:"invalid rulebook"}`]}}return{rulebook:s,errors:[]}}function mM(e,t){return[...new Set([...e?.transparent_wrappers??[],...t?.transparent_wrappers??[]])]}function mR(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 fR(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 fM(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 pR(e,t){return t.map((n)=>n.startsWith("Unable to access ")?n:`${e}: ${n}`)}function pM(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 hR(e={}){let t=gR(e),n=kC(e),r={rules:t.rules,transparentWrappers:t.transparent_wrappers,safety:n.safety,worktreeMode:n.worktreeMode,destructiveCommandProtectionEnabled:n.destructiveCommandProtectionEnabled,destructiveCommandRuleOverrides:n.destructiveCommandRuleOverrides,destructiveCommandAllowPaths:n.destructiveCommandAllowPaths,secretProtection:{enabled:n.secretProtection.enabled??!0,disabledRules:n.secretProtection.disabledRules??[],denyPaths:n.secretProtection.denyPaths,allowPaths:n.secretProtection.allowPaths??[]}},o={...t.userConfig?.overrides??{},...t.projectConfig?.overrides??{}},i=Object.freeze(Object.fromEntries(r.rules.map((s)=>{let a=t.rulebooks.find((l)=>l.rules.includes(s.name)),c=o[s.name];return[s.name,Object.freeze({id:s.name,...a?{rulebook:Object.freeze({name:a.name,version:a.version}),...bM(a.spec)?{source:a.spec}:{}}:{},...c&&typeof c==="object"?{override:Object.freeze({type:"reason",reason:c.reason})}:{}})]})));return vM(r,gM(t,n),i)}function gM(e,t){let n=yM(t);if(e.errors.length===0&&e.warnings.length===0&&!n)return;return{diagnostics:[...e.errors,...e.warnings,...t.errors],reason:SM(e.errors.length>0?hM(e.errors):void 0,e.warnings.length>0?wh(e.warnings.join("; ")):void 0,n)}}function hM(e){return`${wh(e.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function yM(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 bM(e){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test(e)}function vM(e,t,n=Object.freeze({})){let r=yR(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 yR(e){if(typeof e!=="object"||e===null)return e;for(let t of Object.values(e))yR(t);return Object.freeze(e)}function SM(...e){return wh(e.filter((t)=>!!t).join("; "))}function wh(e){return/[.!?]$/.test(e)?e:`${e}.`}class un extends Error{stage;evaluation;name="GuardEvaluationError";constructor(e,t,n){super(`CC Safety Net ${e} dependency failed`,{cause:n});this.stage=e;this.evaluation=t}}var xM={findPolicyMutation:NC,findGitMetadataMutation:ov,resolveGitMetadata:xu,loadPolicySnapshot:hR,findSensitiveTarget:YC,analyzeCommand:mx,getModes:xd};function bR(e,t={}){let n={...xM,...t.dependencies},r=RM(e),o=Ai(e)?e.command:r,i=jn("policy-protection",o,()=>Ns(e,t.factParserDependencies)),s=Ne(i,"declared-command");if(Ai(e)&&e.command?.trim()&&s?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:It,intent:"stop_and_explain",evidence:[{kind:"command",command:e.command,segment:e.command}]}};if(Ne(i,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:oy,intent:"stop_and_explain",evidence:[]}};let a=jn("policy-protection",o,()=>n.resolveGitMetadata(e.context.executionCwd)),c=jn("policy-protection",o,()=>n.findPolicyMutation(i));if(c){let b=o??c.target;return{stage:"policy-protection",decision:{kind:"deny",reason:zC,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:c.target}]}}}let l=jn("policy-protection",o,()=>n.findGitMetadataMutation(i,a));if(l){let b=o??l.target;return{stage:"policy-protection",decision:{kind:"deny",reason:He,intent:"hard_stop",evidence:[{kind:"command",command:b,segment:l.target}]}}}let u=jn("config-load",o,()=>n.loadPolicySnapshot({...t.policyOptions,cwd:e.context.configCwd})),d=u.policy,f=n.getModes(d),m={level:f.effectiveLevel,..._M(u)},p=d.secretProtection.enabled===!1?null:jn("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:HC,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{...Eh("command-validation",o),...m};let h=jn("command-analysis",o,()=>n.analyzeCommand(e.command,{cwd:e.context.executionCwd,shell:e.route.shell,policySnapshot:u,environment:Ot(),protectedGitMetadata:a,effectiveCapabilities:f.capabilities,strict:f.strict,paranoidRm:f.paranoidRm,paranoidInterpreters:f.paranoidInterpreters,worktreeMode:f.worktreeMode},CM(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 CM(e){return Ne(e,"declared-command")?.program}function RM(e){try{return vo(e.input)}catch(t){let n=Ai(e)?e.command:void 0;throw new un("policy-protection",Eh("policy-protection",t instanceof Mt?void 0:n,t),t)}}function jn(e,t,n){try{return n()}catch(r){throw new un(e,Eh(e,r instanceof Mt?void 0:t,r),r)}}function Eh(e,t,n){let r=n instanceof be||n instanceof ft;return{stage:e,decision:{kind:"deny",reason:r?iy:Fi,intent:"stop_and_explain",evidence:t?[{kind:"command",command:t,segment:t}]:[]}}}function Ai(e){return e.route.kind==="command"}function SR(e,t){try{let n=bR(e,t.guard);return vR(e,n,t),n}catch(n){if(!(n instanceof un))throw n;throw vR(e,n.evaluation,t,!(n.cause instanceof Mt),{stage:n.stage,errorCode:wM(n.cause)}),n}}function vR(e,t,n,r=!0,o){Qh(Xh(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 Mt)return"tool-input-limit";if(e instanceof ft)return"structural-shell-syntax-limit";return"unexpected-error"}var _R=PM();function PM(e={}){return(t,n)=>kM(t,n,e)}function kM(e,t,n){let r=AM(e,t),o=()=>OM(e);if("malformed"in r)return ey(r.denial,o,{agent:"amp",toolName:r.denial.toolName,cwd:r.cwd}),CR(r.denial);try{let i=SR(r,{guard:{auditAllowed:vd(),dependencies:n.guardDependencies},audit:{agent:"amp",getSessionId:o}});return xR(i,!0)}catch(i){if(!(i instanceof un))throw i;if(nn(me.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${dy(i.cause)}`);return xR(i.evaluation,r.route.kind==="command")}}function AM(e,t){if(!e||typeof e!=="object")return Hn(null);let n=e;if(typeof n.tool!=="string"||n.tool.trim()==="")return Hn(null);if(!n.input||typeof n.input!=="object")return Hn(null,n.tool);let r=TM(t);if(!r)return Hn(null,n.tool);let o=IM(t,e);if(!o.ok)return Hn(r,n.tool);if(!o.command)return Lo(n.tool,n.input,{kind:yu(n.tool)},{configCwd:r,executionCwd:r},null);if(typeof o.command.command!=="string"||o.command.command.trim()==="")return Hn(r,n.tool);let i=typeof o.command.dir==="string"?Wi(o.command.dir,[r]):r;if(!i)return Hn(r,n.tool,o.command.command,o.command.dir);return Lo(n.tool,n.input,{kind:"command",shell:"posix"},{configCwd:r,executionCwd:i},o.command.command)}function TM(e){let t=e.system.workspaceRoot;if(!t)return;try{let n=e.helpers.filePathFromURI(t);if(typeof n!=="string"||n.trim()==="")return;return Wi(".",[n])}catch{return}}function IM(e,t){try{return{ok:!0,command:e.helpers.shellCommandFromToolCall(t)}}catch{return{ok:!1}}}function OM(e){if(!e||typeof e!=="object")return;let t=e.thread?.id;return typeof t==="string"&&t.trim()!==""?t:void 0}function Hn(e,t,n,r){return{malformed:!0,denial:ly({command:n,segment:r,toolName:t}),cwd:e}}function xR(e,t){let n=cy(e,{includeEvidence:t});return n?CR(n):{action:"allow"}}function CR(e){return{action:"reject-and-continue",message:uy(e)}}function zM(e){e.on("tool.call",(t)=>_R(t,e))}export{zM as default};
|