cc-safety-net 2.0.6 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,102 +0,0 @@
1
- // cc-safety-net managed Amp plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --amp
2
- // version: 2.0.6
3
- // @bun
4
- var IO=Object.defineProperty;var jO=($)=>$;function RO($,J){this[$]=jO.bind(null,J)}var q2=($,J)=>{for(var Q in J)IO($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:RO.bind(J,Q)})};import{randomBytes as VM}from"crypto";import{appendFileSync as _M,mkdirSync as DM}from"fs";import{homedir as zM,userInfo as IM}from"os";import{isAbsolute as jM,join as EJ}from"path";var PO=[/\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 b0($){let J=$.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 bO(J)}function bO($){let J=$.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 Q of PO)J=J.replace(Q,"<redacted>");return J.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 hK,readdirSync as YM,readFileSync as uK,rmdirSync as KM,statSync as yK,unlinkSync as BM,utimesSync as qM,writeFileSync as UM}from"fs";import{dirname as GM,join as d2}from"path";var b6=30,FJ=1,VJ=365;function A6($){if(typeof $!=="number"||!Number.isInteger($))return 30;if($<1)return 1;return $>365?365:$}import{homedir as cO}from"os";import{dirname as c0,isAbsolute as dO,join as d0,relative as rO,resolve as E0,sep as iO}from"path";import{closeSync as AO,constants as IK,fstatSync as EO,fsyncSync as oE,lstatSync as jK,mkdirSync as nE,openSync as SO,readdirSync as sE,readFileSync as CO,realpathSync as E6,renameSync as aE,rmdirSync as tE,statSync as TO,unlinkSync as eE,writeFileSync as $S}from"fs";import{isAbsolute as RK,join as PK,normalize as wO,parse as vO,relative as _J,resolve as DJ,sep as zJ}from"path";var fO=Symbol("PolicyFilesystemScope"),kO=Symbol("PolicyFilesystemTarget"),hO=IK.O_NOFOLLOW??0;class K1 extends Error{constructor($){super(`Unable to access ${$} filesystem safely.`);this.name="PolicyFilesystemError"}}function p0($,J){return{[fO]:!0,root:DJ($),label:J}}function bK($,J){let Q=wO(J);if(J===""||RK(J)||Q===".."||Q.startsWith(`..${zJ}`))throw new K1($.label);return{[kO]:!0,scope:$,relativePath:Q,path:PK($.root,Q)}}function A0($,J){let Q=_J($.root,DJ(J));return bK($,Q)}function C6($,J="rules policy"){let Q=DJ($),X=vO(Q).dir;return bK(p0(X,J),_J(X,Q))}function U2($){try{if(!S6($,!1).exists)return null;let Q=SO($.path,IK.O_RDONLY|hO);try{let X=EO(Q);if(!X.isFile())throw new K1($.scope.label);let W=CO(Q,"utf-8"),Y=jK($.path);if(!Y.isFile()||Y.isSymbolicLink()||X.dev!==Y.dev||X.ino!==Y.ino)throw new K1($.scope.label);return S6($,!1),W}finally{AO(Q)}}catch(J){xO($.scope.label,J)}}function AK($,J){if($.path===J.path)return!0;try{if(!S6($,!1).exists||!S6(J,!1).exists)return!1;return E6($.path)===E6(J.path)}catch(Q){if(Q instanceof K1)throw Q;throw new K1($.scope.label)}}function S6($,J,Q="file"){let X=yO($.scope);if(!X)return{exists:!1};let W=$.relativePath.split(zJ);for(let Y of W.keys()){let K=PK($.scope.root,...W.slice(0,Y+1)),B=EK(K);if(!B){if(Y===W.length-1&&J)return{exists:!1};return{exists:!1}}if(B.isSymbolicLink())throw new K1($.scope.label);if(Y<W.length-1&&!B.isDirectory())throw new K1($.scope.label);if(Y===W.length-1&&(Q==="file"?!B.isFile():!B.isDirectory()))throw new K1($.scope.label);gO(X,E6(K),$.scope.label)}return{exists:!0}}function yO($){if(!EK($.root))return null;if(!TO($.root).isDirectory())throw new K1($.label);return E6($.root)}function gO($,J,Q){let X=_J($,J);if(X===".."||X.startsWith(`..${zJ}`)||RK(X))throw new K1(Q)}function EK($){try{return jK($)}catch(J){if(uO(J)&&J.code==="ENOENT")return null;throw J}}function xO($,J){if(J instanceof K1)throw J;throw new K1($)}function uO($){return $ instanceof Error&&"code"in $}var K0=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,IJ="rulebook.json",jJ=".cc-safety-net/rules";var SK=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var mO=/^[A-Za-z0-9._-]+$/,lO=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),pO="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),CK=new RegExp(`^${lO}/(${K0.source.slice(1,-1)})/${pO}$`);function TK($){return`.cc-safety-net/rules/${$}/rulebook.json`}function n4($){if(w6($))try{return T6($),null}catch(J){return J instanceof Error?J.message:String(J)}return K0.test($)?null:`Local rulebook sources must be bare names matching ${K0}: ${$}`}function T6($){if($.startsWith("github:"))throw Error(`Invalid rulebook source: ${$}`);let J=$.match(SK);if(!J?.[1]||!J[2]||!J[3])throw Error(`Invalid GitHub rulebook source: ${$}`);let[Q,X,...W]=J[3].split("/");if(!Q||!mO.test(Q))throw Error(`GitHub rulebook refs must be a single path segment: ${$}`);if(!X||W.length>0||!K0.test(X))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${$}`);return{owner:J[1],repo:J[2],ref:Q,path:TK(X),name:X}}function w6($){return SK.test($)}var vK="rule.json",v6="policy.json",oO="rule.lock";var fK=".cc-safety-net",nO="rules",wK="cache",sO="CC_SAFETY_NET_HOME",r0="`cc-safety-net rule sync`";function aO($){return E0($??process.cwd(),jJ)}function tO($){return d0(aO($),vK)}function G2($){return $?.userConfigDir??($?.userConfigPath?c0($.userConfigPath):d0(eO(),nO))}function eO(){let $=process.env[sO];return $?E0($):d0(cO(),fK)}function $M($){return d0(G2($),vK)}function s4($){return d0(c0($),oO)}function kK($){let J=$.userConfigPath??$M($),Q=$.projectConfigPath??tO($.cwd),X=JM(J,$),W=QM(Q,$);return{userConfigPath:J,projectConfigPath:Q,userLockPath:s4(J),projectLockPath:s4(Q),userScope:X,projectScope:W,userConfigTarget:A0(X,J),projectConfigTarget:A0(W,Q),userLockTarget:A0(X,s4(J)),projectLockTarget:A0(W,s4(Q))}}function JM($,J){let Q=J.userConfigPath?c0(c0(E0(J.userConfigPath))):c0(E0(J.userConfigDir??G2(J)));return p0(Q,"user policy")}function QM($,J){let Q=E0(J.cwd??process.cwd()),X=E0($),W=rO(Q,X);if(W!==".."&&!W.startsWith(`..${iO}`)&&!dO(W))return p0(Q,"project policy");return p0(c0(c0(X)),"project policy")}function RJ($,J){let Q=$.digest.startsWith("sha256:")?$.digest.slice(7):$.digest;return d0(WM(J),"rulebooks",`${XM($)}--${Q.slice(0,12)}`,IJ)}function PJ($,J){let Q=J;return{cacheConfigDir:$,cwd:J.cwd,global:Q.global}}function XM($){return($.kind==="github"&&$.display_ref?`${$.owner}/${$.repo}#${$.display_ref}/${$.name}`:$.spec).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"rulebook"}function WM($){let J=$?.cacheConfigDir??G2($),Q=$;if(Q&&!Q.global&&Q.cwd&&E0(J)===E0(Q.cwd))return d0(E0(Q.cwd),fK,wK);return d0(c0(J),wK)}var AJ=86400000,HM=".last-prune",ZM=/^\d{4}-\d{2}$/,LM=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,gK=($)=>Math.floor($/AJ);function OM($){try{let J=d2(GM(G2($)),v6),Q=JSON.parse(uK(J,"utf-8"));return A6(Q?.audit?.retention_days)}catch{return b6}}function mK($,J=()=>new Date){try{let Q=J().getTime();if(!yK($,{throwIfNoEntry:!1})?.isDirectory())return;let X=d2($,HM),W=yK(X,{throwIfNoEntry:!1})?.mtimeMs;if(W!==void 0&&gK(W)===gK(Q))return;let Y=Q-OM()*AJ,K=new Date(Q).toISOString().slice(0,7);for(let B of bJ($)){if(B.isDirectory()){MM(d2($,B.name),Y,K);continue}if(B.isFile()&&B.name.endsWith(".jsonl"))NM(d2($,B.name),Y)}UM(X,"",{mode:384}),qM(X,Q/1000,Q/1000)}catch{}}function MM($,J,Q){for(let X of bJ($)){if(!X.isDirectory()||!ZM.test(X.name))continue;let W=d2($,X.name);for(let Y of bJ(W)){if(!Y.isFile())continue;let K=LM.exec(Y.name);if(!K||K[2]!==X.name)continue;let B=Date.parse(`${K[1]}T00:00:00.000Z`)+AJ;if(!Number.isFinite(B)||B>=J)continue;lK(d2(W,Y.name))}if(X.name!==Q)xK(W)}xK($)}function NM($,J){try{let Q=hK($);if(Q.mtimeMs>=J)return;let X=uK($,"utf-8").split(`
5
- `).filter((W)=>W.trim()).map(FM);if(X.length===0)return;if(X.some((W)=>W===void 0||W>=J))return;if(hK($).mtimeMs!==Q.mtimeMs)return;lK($)}catch{}}function FM($){try{let J=JSON.parse($).ts,Q=typeof J==="string"?Date.parse(J):Number.NaN;return Number.isFinite(Q)?Q:void 0}catch{return}}function bJ($){try{return YM($,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function lK($){try{BM($)}catch{}}function xK($){try{KM($)}catch{}}var RM="2.0.6",PM=1e4,bM=2000,AM=256,EM=32768;function SM($){let J=$.trim();if(!J)return null;let Q=J.replace(/[^A-Za-z0-9_.-]+/g,"_");if(Q=Q.replace(/^[._-]+|[._-]+$/g,"").slice(0,128),!Q||Q==="."||Q==="..")return null;return Q}function CM($){return($??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function SJ($,J,Q,X,W,Y={}){let K=SM($);if(!K)return;let B=Y.homeDir??pK();if(!B)return;let q=TM(B);if(!q)return;try{let U=(Y.now??(()=>new Date))().toISOString(),G=f6(b0(J),PM),H=f6(b0(Q),bM),L=Y.toolName?f6(b0(Y.toolName),AM):void 0,Z=W===null?void 0:f6(b0(W),EM),O=EJ(q,CM(Z?.value??null),U.slice(0,7));DM(O,{recursive:!0,mode:448});let M=EJ(O,`${U.slice(0,10)}-${K}.jsonl`),V={ts:U,id:(Y.createId??(()=>VM(8).toString("hex")))(),v:RM,sessionId:K,decision:Y.decision??"deny",agent:Y.agent,shape:Y.shape,level:Y.level,configFallback:Y.configFallback,toolName:L?.value,command:G.value,segment:H.value,...G.truncated||H.truncated||L?.truncated||Z?.truncated?{truncated:!0}:{},reason:X,ruleId:Y.ruleId,intent:Y.intent,failureStage:Y.failureStage,errorCode:Y.errorCode,cwd:Z?.value??null};_M(M,`${JSON.stringify(V)}
6
- `,{encoding:"utf-8",mode:384}),mK(q,Y.now)}catch{}}function f6($,J){return{value:$.slice(0,J),truncated:$.length>J}}function pK($=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let J=$||zM()||IM().homedir;return J&&jM(J)?J:null}function TM($=pK()){return $?EJ($,".cc-safety-net","logs"):null}function dK($,J,Q,X=!0,W){if(J.decision.kind==="allow"){if(!Q||$.route.kind!=="command")return;let B=cK($);return{decision:"allow",command:B,segment:B,reason:"allowed",cwd:$.context.executionCwd,toolName:$.toolName,level:J.level,...J.configFallback?{configFallback:!0}:{}}}let Y=J.decision.evidence.find((B)=>B.kind==="command"),K=Y?.command??(X?cK($):"");return{decision:"deny",command:K,segment:Y?.segment??K,reason:J.decision.reason,cwd:$.context.executionCwd,toolName:$.toolName,level:J.level,...J.configFallback?{configFallback:!0}:{},ruleId:J.decision.ruleId,intent:J.decision.intent,failureStage:W?.stage,errorCode:W?.errorCode}}function cK($){return"command"in $?$.command??"":""}function rK($,J,Q){if(!$)return;let X;try{X=J()}catch{return}if(typeof X!=="string"||!X.trim())return;SJ(X,$.command,$.segment,$.reason,$.cwd,{homeDir:Q.homeDir,decision:$.decision,agent:Q.agent,shape:Q.shape,level:$.level,configFallback:$.configFallback,toolName:$.toolName,ruleId:$.ruleId,intent:$.intent,failureStage:$.failureStage,errorCode:$.errorCode})}function iK($,J,Q){let X;try{X=J()}catch{return}if(typeof X!=="string"||!X.trim())return;SJ(X,$.command??"",$.segment??$.command??"",$.reason,Q.cwd??null,{homeDir:Q.homeDir,decision:"deny",agent:Q.agent,shape:Q.shape,toolName:Q.toolName??$.toolName,ruleId:$.ruleId,intent:$.intent})}import{realpathSync as xM,statSync as uM}from"fs";import{isAbsolute as nK,relative as mM,resolve as lM,sep as pM}from"path";import{dirname as wM,isAbsolute as vM,parse as fM,sep as kM}from"path";function H2($,J=process.platform){if(J!=="win32")return!1;return($[0]==="/"||$[0]==="\\")&&($[1]==="/"||$[1]==="\\")}function i0($,J,Q){if(H2(J))throw Error("Unsupported Windows namespace path");let X=vM(J)?yM(J):"",W=X||$;for(let Y of gM(X?J.slice(X.length):J)){if(Y===""||Y===".")continue;if(Y===".."){W=wM(W);continue}let K=hM(W,Y),B=Q.entryKind(K),q=B==="symlink"?Q.realpath(K):K;if(B==="missing"||q===null)throw Error(`Cannot resolve path component: ${K}`);W=q}return W}function hM($,J){return $.endsWith("/")||$.endsWith("\\")?`${$}${J}`:`${$}${kM}${J}`}function yM($){return fM($).root}function gM($){let J=process.platform==="win32"?/[\\/]+/:/\/+/;return $.split(J)}function k6($,J){if(H2($))return;let Q=J.flatMap((W)=>oK(W));if(!Q[0])return;let X=oK(nK($)?$:lM(Q[0],$))[0];if(!X)return;return Q.some((W)=>sK(X,W))?X:void 0}function oK($){try{let J=xM($);return uM(J).isDirectory()?[J]:[]}catch{return[]}}function sK($,J){let Q=mM(J,$);return Q===""||Q!==".."&&!Q.startsWith(`..${pM}`)&&!nK(Q)}var o0="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",S0="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",aK="CC Safety Net could not validate the command because its structure exceeds safe analysis limits.",h6="CC Safety Net failed closed because command analysis failed unexpectedly. This is not caused by your command. Report it to the user.";function eK($){let{reason:J,command:Q,segment:X,toolName:W}=$,Y=$.maxLen??200,K=$.redact??((q)=>q),B=`BLOCKED by CC Safety Net
7
-
8
- Reason: ${K(J)}`;if($.ruleId)B+=`
9
-
10
- Rule: ${$.ruleId}`;if(W)B+=`
11
-
12
- Tool: ${W}`;if(Q){let q=K(Q);B+=`
13
-
14
- Command: ${tK(q,Y)}`}if(X&&X!==Q){let q=K(X);B+=`
15
-
16
- Segment: ${tK(q,Y)}`}if($.configWarning)B+=`
17
-
18
- Config warning: ${K($.configWarning)}`;return B+=`
19
-
20
- ${cM($.intent??"manual_only")}`,B}function cM($){switch($){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 tK($,J){return $.length>J?`${$.slice(0,J)}...`:$}function $B($,J){if($.decision.kind!=="deny")return;let Q=J.includeEvidence?$.decision.evidence.find((X)=>X.kind==="command"):void 0;return{reason:$.decision.reason,ruleId:$.decision.ruleId,intent:$.decision.intent,command:Q?.command,segment:Q?.segment,toolName:J.toolName,...$.configFallback?{configWarning:$.configFallback.reason}:{}}}function JB($={}){return{reason:h6,intent:"stop_and_explain",command:$.command,segment:$.segment??$.command,toolName:$.toolName}}function QB($){return eK({...$,redact:b0})}function XB($){return b0($ instanceof Error?$.message:String($))}import{basename as dM,dirname as rM,join as WB}from"path";var y6=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:1024,maxProcessedCandidateBytes:4194304});class S1 extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function a4(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function Z2($){return{...a4(),environment:$}}var g6=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 x6($,J){return CJ($,0,J)}function CJ($,J,Q){let X="",W=0;while(W<$.length){if($[W]!=="$"){X+=$[W],W++;continue}if($[W+1]==="{"){let K=TJ($,W+2),B=iM($,W,J);if(B===null){if(g6.has(K))throw new S1;X+=$.slice(W);break}let q=$.slice(W,B+1);X+=oM(q,J,Q),W=B+1;continue}let Y=TJ($,W+1);if(!Y){X+="$",W++;continue}X+=wJ(Y,Q)??`$${Y}`,W+=Y.length+1}return X}function iM($,J,Q){let X=1;for(let W=J+2;W<$.length;W++){if($[W]==="\\"){W++;continue}if($[W]==="$"&&$[W+1]==="{"){if(X++,Q+X>y6.maxEnvironmentExpansionDepth)throw new S1;W++;continue}if($[W]!=="}")continue;if(X--,X===0)return W}return null}function oM($,J,Q){let X=$.slice(2,-1),W=TJ(X,0);if(!W)return $;let Y=X.slice(W.length);if(!Y)return wJ(W,Q)??$;let K=[":-",":+",":=",":?","-","+","=","?"].find((U)=>Y.startsWith(U));if(!K){if(g6.has(W))throw new S1;return $}if(!g6.has(W))return $;if(K.endsWith("="))throw new S1;let B=wJ(W,Q),q=K.startsWith(":")?B!==null&&B!=="":B!==null;if(K.endsWith("?")&&!q)throw new S1;if(K.endsWith("-")||K.endsWith("?"))return q?B??"":CJ(Y.slice(K.length),J+1,Q);return q?CJ(Y.slice(K.length),J+1,Q):""}function TJ($,J){if(!/[A-Za-z_]/.test($[J]??""))return"";let Q=J+1;while(/[A-Za-z0-9_]/.test($[Q]??""))Q++;return $.slice(J,Q)}function s($,J,Q=a4()){if(!$)return $;let X=Q.resolvedPaths.get($);if(X!==void 0)return X;let W=[],Y=$;while(!0){if(Q.realpathAttempts++,Q.processedCandidateBytes+=Buffer.byteLength(Y),Q.realpathAttempts>y6.maxRealpathAttempts||Q.processedCandidateBytes>y6.maxProcessedCandidateBytes)throw new S1;let K=J.realpath(Y);if(K!==null){let q=W.length===0?K:WB(K,...W.reverse());return Q.resolvedPaths.set($,q),q}let B=rM(Y);if(B===Y){let q=W.length===0?Y:WB(Y,...W.reverse());return Q.resolvedPaths.set($,q),q}if(W.length>=y6.maxMissingSuffixComponents)throw new S1;W.push(dM(Y)),Y=B}}function wJ($,J){if(!g6.has($))return null;if($==="HOME")return J.env.get("HOME")??J.home;return J.env.get($)??null}function k($){return $.provenance==="command-substitution"?$.raw:$.text}function r2($,J){return $==="posix"?J:p(J.map((Q)=>Q.text))}function u6($,J){return $&&$.provenance!=="unknown"?$.provenance==="literal":!/[$`*?[\]]/.test(J)}function p($){return $.map((J)=>({kind:"word",text:J,raw:J,span:{start:0,end:0},provenance:"unknown",quoted:!1,parts:[]}))}import{existsSync as kJ,lstatSync as QN,readFileSync as c6,realpathSync as $3,statSync as e4}from"fs";import{dirname as hJ,isAbsolute as yJ,join as d6,resolve as r6}from"path";import{lstatSync as nM,realpathSync as sM}from"fs";import{homedir as aM,tmpdir as tM}from"os";var m1={realpath:($)=>{try{return sM($)}catch{return null}},entryKind:($)=>{let J=nM($,{throwIfNoEntry:!1});if(!J)return"missing";return J.isSymbolicLink()?"symlink":"present"}};function L2(){return process.env.HOME||aM()}function C0(){return{env:new Map(Object.entries(process.env).flatMap(([$,J])=>J===void 0?[]:[[$,J]])),home:L2(),tmpdir:tM(),paths:m1}}var vJ=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],eM=new Set(vJ);var YB=new Set(["GIT_CONFIG_GLOBAL","GIT_CONFIG_NOSYSTEM","GIT_CONFIG_SYSTEM","HOME","XDG_CONFIG_HOME"]),m6=new Set(["GIT_SSH_COMMAND","GIT_SSH","GIT_SSH_VARIANT"]),$N=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function JN($){return eM.has($)}function t4($){return $==="GIT_CONFIG_COUNT"||$==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test($)}function fJ($){return JN($)||YB.has($)||m6.has($)||t4($)}function l1($,J,Q){return Q?.has($)?Q.get($):J.get($)}function l6($,J){let Q=l1("GIT_CONFIG_COUNT",$,J);if(Q===void 0)return{state:"absent"};if(Q==="")return{state:"valid",count:0};if(!/^\d+$/.test(Q))return{state:"invalid"};let X=Number(Q);return Number.isSafeInteger(X)&&X<=1024?{state:"valid",count:X}:{state:"invalid"}}function p6($,J,Q){let W=$.match($N)?.[1];if(!W||!fJ(W))return null;let Y=$.indexOf("=");return{name:W,value:`${l1(W,J,Q)??""}${$.slice(Y+1)}`}}function KB($){return qB($,m6)}function BB($){return qB($,YB)}function qB($,J){if(!$)return!1;for(let Q of $.keys())if(J.has(Q))return!0;return!1}var B0=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function HB($,J){return vJ.some((Q)=>J?.has(Q)||$.has(Q))}function ZB($,J){if(!J)return{gitCwd:null,hasExplicitGitContext:!1};let Q;try{Q=$3(r6(J))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!MB(Q))return{gitCwd:null,hasExplicitGitContext:!1};let X=!1,W=1;while(W<$.length){let Y=$[W];if(!Y)break;if(Y==="--")break;if(!Y.startsWith("-"))break;if(Y==="-C"){let K=$[W+1];if(!K)return{gitCwd:null,hasExplicitGitContext:X};let B=GB(Q,K);if(!B)return{gitCwd:null,hasExplicitGitContext:X};Q=B,W+=2;continue}if(Y.startsWith("-C")&&Y.length>2){let K=GB(Q,Y.slice(2));if(!K)return{gitCwd:null,hasExplicitGitContext:X};Q=K,W++;continue}if(Y==="--git-dir"||Y==="--work-tree"){X=!0,W+=2;continue}if(Y.startsWith("--git-dir=")||Y.startsWith("--work-tree=")){X=!0,W++;continue}if(B0.has(Y))W+=2;else if(Y.startsWith("-c")&&Y.length>2)W++;else W++}return{gitCwd:Q,hasExplicitGitContext:X}}function LB($){let J=NN($);if(!J)return!1;try{let Q=QN(J);if(Q.isSymbolicLink()||!Q.isFile())return!1;let X=gJ(J);if(!X?.commonDir)return!1;if(!YN(X.gitDir,J))return!1;return KN(X.gitDir,hJ(J))}catch{return!1}}function gJ($){try{let J=XN($);if(!J)return null;let Q=$3(yJ(J)?J:r6(hJ($),J));if(!e4(Q).isDirectory())return null;return{gitDir:Q,commonDir:WN(Q)}}catch{return null}}function XN($){let J=c6($,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!J.startsWith("gitdir:"))return null;return J.slice(7).trim()||null}function WN($){try{let J=c6(d6($,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!J)return null;let Q=$3(yJ(J)?J:r6($,J));return e4(Q).isDirectory()?Q:null}catch{return null}}function YN($,J){let Q=BN($);return Q===null?!1:OB($,Q,J)}function KN($,J){let Q=qN($);return Q===null?!0:OB($,Q,J)}function BN($){let J=d6($,"gitdir");if(!kJ(J))return null;let Q=c6(J,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return Q===""?null:Q}function qN($){let J=d6($,"config.worktree");return kJ(J)?LN(J):null}function OB($,J,Q){return GN(UN($,J),Q)}function UN($,J){return yJ(J)?J:r6($,J)}function GN($,J){try{return HN($,J)}catch{return!1}}function HN($,J){try{let Q=e4($),X=e4(J);if(Q.ino!==0&&X.ino!==0&&Q.dev===X.dev&&Q.ino===X.ino)return!0}catch{}return UB($)===UB(J)}function UB($){return ZN($3.native($))}function ZN($){let J=$.replace(/^\\\\\?\\UNC\\/i,"//").replace(/^\\\\\?\\/i,"");if(J=J.replace(/\\/g,"/"),J.length>1&&J.endsWith("/"))J=J.slice(0,-1);return process.platform==="win32"?J.toLowerCase():J}function LN($){let J=c6($,"utf-8"),Q=!1,X=null;for(let W of J.split(/\r?\n/)){let Y=W.trim();if(Y===""||Y.startsWith("#")||Y.startsWith(";"))continue;if(Y.startsWith("[")){Q=/^\[core\]$/i.test(Y);continue}if(!Q)continue;let K=Y.match(/^worktree\s*=\s*(.*)$/i);if(K)X=ON(K[1]??"")}return X}function ON($){let J=$.trim();if(!J.startsWith('"')||!J.endsWith('"'))return J;return MN(J.slice(1,-1))}function MN($){let J="";for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X!=="\\"){J+=X;continue}let W=$[Q+1];if(W===void 0){J+=X;continue}switch(W){case"\\":case'"':J+=W;break;case"n":J+=`
21
- `;break;case"t":J+="\t";break;case"b":J+="\b";break;default:J+=`\\${W}`;break}Q++}return J}function GB($,J){try{let Q=i0($,J,m1);return MB(Q)?Q:null}catch{return null}}function MB($){try{return e4($).isDirectory()}catch{return!1}}function NN($){try{return J3($3($))}catch{return null}}function J3($){let J=$;while(!0){let Q=d6(J,".git");if(kJ(Q))return Q;let X=hJ(J);if(X===J)return null;J=X}}function xJ($,J){return{value:$,work:J}}function j($,J){if($.work)$.work.units=Math.min(Number.MAX_SAFE_INTEGER,$.work.units+1);return $.value[J]}function B1($){return $.value.length}function Q3($,J,Q=1){if($)$.units=Math.min(Number.MAX_SAFE_INTEGER,$.units+J.length*Q)}function C1($,J){Q3($,J)}function O2($){if(!$)return!1;let J=$.charCodeAt(0);return J>=48&&J<=57||J>=65&&J<=90||J===95||J>=97&&J<=122}function e($){if(!$)return!1;let J=$.charCodeAt(0);return J===9||J===10||J===11||J===12||J===13||J===32||J===160||J===65279||J===5760||J>=8192&&J<=8202||J===8232||J===8233||J===8239||J===8287||J===12288}function uJ($){return $===`
22
- `||$==="\r"||$==="\u2028"||$==="\u2029"}function $1($,J,Q){if(J+Q.length>B1($))return!1;for(let X=0;X<Q.length;X++)if(j($,J+X)!==Q[X])return!1;return!0}function T0($,J,Q){return!O2(j($,J-1))&&$1($,J,Q)&&!O2(j($,J+Q.length))}function w0($,J){return O2(j($,J-1))!==O2(j($,J))}function L1($){return $===`
23
- `||$===";"||$==="&"||$==="|"}function i2($){return $==="|"||$===";"}function i6($,J,Q){let X=xJ($,Q);if(J==="rm")return FN(X);if(J==="dd")return _N(X);return zB(X,!0)}function o6($,J,Q){let X=xJ($,Q);if(J==="rm")return DN(X);if(J==="reset-hard")return _B(X,"--ha","rd");if(J==="reset-merge")return _B(X,"--me","rge");if(J==="clean")return RN(X);if(J==="checkout")return bN(X);if(J==="push-force")return AN(X);if(J==="push-refspec")return EN(X);if(J==="push-delete")return SN(X);if(J==="branch")return CN(X);if(J==="tag")return vN(X);if(J==="restore")return fN(X);return zB(X,!1)}function FN($){let J=!1,Q=!1,X=!1,W=-1;for(let Y=0;Y<=B1($);Y++){let K=j($,Y);if(!J){let q=j($,Y+2);if(T0($,Y,"rm")&&e(q)&&q!==`
24
- `)J=!0,Y++;continue}let B=VN($,Y);if(K===`
25
- `||B!==-1){if(J=!1,Q=!1,X=!1,W=-1,B!==-1)Y=B-1;continue}if(K===";"||K==="&"||K==="|"||Y===B1($)){if(W>=0){let q=NB($,W,Y);Q||=q.recursive,X||=q.force}if(Q&&X)return!0;J=!1,Q=!1,X=!1,W=-1;continue}if(e(K)){if(W>=0){if($1($,W,"--")&&Y-W===2)J=!1,Q=!1,X=!1;else{let q=NB($,W,Y);if(Q||=q.recursive,X||=q.force,Q&&X)return!0}W=-1}continue}if(W<0)W=Y}return!1}function VN($,J){if(j($,J)!=="\\"||j($,J-1)==="\\")return-1;if($1($,J,String.raw`\n`))return J+2;if($1($,J,String.raw`\x0a`)||$1($,J,String.raw`\x0A`))return J+5;if($1($,J,String.raw`\u000a`)||$1($,J,String.raw`\u000A`))return J+7;return $1($,J,String.raw`\012`)?J+4:-1}function NB($,J,Q){if(FB($,J,Q,"recursive"))return{recursive:!0,force:!1};if(FB($,J,Q,"force"))return{recursive:!1,force:!0};if(j($,J)!=="-"||j($,J+1)==="-")return{recursive:!1,force:!1};let X=!1,W=!1;for(let Y=J+1;Y<Q;Y++){let K=j($,Y);X||=K==="r"||K==="R",W||=K==="f"||K==="F"}return{recursive:X,force:W}}function FB($,J,Q,X){let W=Q-J-2;if(W<1||W>X.length||!$1($,J,"--"))return!1;for(let Y=0;Y<W;Y++)if(j($,J+Y+2)!==X[Y])return!1;return!0}function _N($){let J=!1;for(let Q=0;Q<B1($);Q++){if(L1(j($,Q))){J=!1;continue}if(T0($,Q,"dd")){J=!0,Q++;continue}if(!J||!T0($,Q,"of")||!$1($,Q,"of=/dev/"))continue;let X=Q+8;if(X<B1($)&&!e(j($,X))&&j($,X)!=="'"&&j($,X)!=='"')return!0}return!1}function DN($){let J=!1,Q=!1,X=!1;for(let W=0;W<=B1($);){let Y=j($,W);if(W===B1($)||L1(Y)){J=!1,Q=!1,X=!1,W++;continue}let K=IN($,W);if(K>=0){if(zN($,K))return!0;let B=K,q=!1;while(e(j($,B)))q||=j($,B)===`
26
- `,B++;if(q)Q=!1,X=!1;J=!0,W=B;continue}if(!J){W++;continue}if($1($,W,"--")&&(W===0||e(j($,W-1)))&&(!j($,W+2)||e(j($,W+2))||L1(j($,W+2)))){J=!1,Q=!1,X=!1,W+=2;continue}if(Q||=$1($,W,"--recursive")&&w0($,W+11)||mJ($,W,"recursive"),X||=$1($,W,"--force")&&w0($,W+7)||mJ($,W,"force"),Q&&X)return!0;W++}return!1}function mJ($,J,Q){if(!$1($,J,"--"))return!1;let X=0;while(X<=Q.length){let W=j($,J+X+2);if(!W||e(W)||L1(W))break;if(W!==Q[X])return!1;X++}return X>0&&w0($,J+X+2)}function zN($,J){let Q=J,X=!1,W=!1;while(Q<B1($)){while(e(j($,Q)))Q++;let Y=Q;while(Q<B1($)&&!e(j($,Q)))Q++;if(j($,Y)!=="-"||Q-Y===2&&$1($,Y,"--"))return!1;let K=VB($,Y,"recursive"),B=VB($,Y,"force");if(X&&B||W&&K)return!0;if(X||=K,W||=B,j($,Y+1)==="-")continue;let q=jN($,Y,Q);if(q.combined||X&&q.forceAtBoundary||W&&q.recursiveAtBoundary)return!0;X||=q.recursive,W||=q.force}return!1}function VB($,J,Q){return $1($,J,`--${Q}`)&&w0($,J+Q.length+2)||mJ($,J,Q)}function IN($,J){if(J>0&&O2(j($,J-1)))return-1;let Q=J;if(j($,Q)==="\\")Q++;if(j($,Q)!=="r")return-1;if(Q++,j($,Q)==="\\")Q++;if(j($,Q)!=="m"||!e(j($,Q+1)))return-1;return Q+1}function jN($,J,Q){let X=!1,W=!1,Y=!1,K=!1,B=!1;if(j($,J)!=="-")return{recursive:X,force:W,recursiveAtBoundary:Y,forceAtBoundary:K,combined:B};let q="";for(let U=J+1;U<Q;U++){let G=j($,U)??"",H=(G==="r"||G==="f")&&w0($,U+1);X||=G==="r",W||=G==="f",Y||=G==="r"&&H,K||=G==="f"&&H,B||=(q==="r"&&G==="f"||q==="f"&&G==="r")&&H,q=G}return{recursive:X,force:W,recursiveAtBoundary:Y,forceAtBoundary:K,combined:B}}function _B($,J,Q){return W3($,"reset",i2,!0,(X)=>j($,X)==="-"&&o2($,X,J,Q)?!0:X)}function RN($){return W3($,"clean",i2,!0,(J)=>{if(j($,J)!=="-")return J;if(o2($,J,"--fo","rce"))return!0;let Q=X3($,J,i2);for(let X=J+1;X<Q;X++)if(j($,X)==="f")return!0;return Q-1})}function n6($,J,Q){if(!T0($,J,"git"))return null;let X=J+3;if(!e(j($,X)))return{commandEnd:-1,next:X};while(e(j($,X)))X++;while(X<B1($)){if(L1(j($,X)))return{commandEnd:-1,next:X};let W=X3($,X,L1);if(T0($,X,Q))return{commandEnd:X+Q.length,next:W};if(j($,X)!=="-")return{commandEnd:-1,next:W};let Y=W-X===2&&$1($,X,"--"),K=PN($,X,W);X=W;while(e(j($,X)))X++;if(Y)return{commandEnd:T0($,X,Q)?X+Q.length:-1,next:X3($,X,L1)};if(!K)continue;if(X>=B1($)||L1(j($,X)))return{commandEnd:-1,next:X};X=X3($,X,L1);while(e(j($,X)))X++}return{commandEnd:-1,next:X}}function PN($,J,Q){for(let X of B0)if(Q-J===X.length&&$1($,J,X))return!0;return!1}function bN($){return DB($,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function AN($){return W3($,"push",i2,!0,(J)=>{if(j($,J)!=="-")return J;if(j($,J+1)==="f"&&!O2(j($,J+2))&&!$1($,J+2,"-with-lease"))return!0;let Q=IB($,J,"--fo","rce");if(Q>=0&&!$1($,Q,"-with-lease"))return!0;return J})}function EN($){return W3($,"push",L1,!1,(J)=>{if(e(j($,J))&&j($,J+1)==="+"&&J+2<B1($)&&!L1(j($,J+2))&&!e(j($,J+2)))return!0;if(j($,J)===":"&&j($,J+1)==="+")return!0;return J})}function SN($){return W3($,"push",L1,!1,(J)=>{if(j($,J)==="-"&&o2($,J,"--de","lete"))return!0;if(e(j($,J))&&j($,J+1)===":"&&J+2<B1($)&&!e(j($,J+2))&&!L1(j($,J+2)))return!0;return J})}function CN($){let J=!1,Q=!1,X=!1;for(let W=0;W<=B1($);W++){if(W===B1($)||L1(j($,W))){if(Q&&X)return!0;J=!1,Q=!1,X=!1;continue}if(!J){let B=n6($,W,"branch");if(B){J=B.commandEnd>=0,W=Math.max(W,(J?B.commandEnd:B.next)-1);continue}}if(!J||j($,W)!=="-")continue;let Y=X3($,W,L1),K=TN($,W,Y);if(Q||=K.deletion,X||=K.force,Q&&X)return!0;W=Y-1}return!1}function TN($,J,Q){let X=!1,W=!1;for(let Y=J;Y<Q;Y++){if(j($,Y)!=="-")continue;if(o2($,Y,"--de","lete"))X=!0;if(o2($,Y,"--fo","rce"))W=!0;if(j($,Y+1)==="-")continue;let K=Y+1,B=!1,q=!1,U=!1;while(K<Q&&wN(j($,K))){let G=j($,K);B||=G==="d"||G==="D",q||=G==="f",U||=G==="D",K++}if(!w0($,K))continue;X||=B,W||=q||U}return{deletion:X,force:W}}function wN($){if(!$)return!1;let J=$.charCodeAt(0);return J>=65&&J<=90||J>=97&&J<=122}function vN($){return DB($,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function DB($,J){let Q=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let X=0;X<B1($);X++){let W=j($,X),Y=Q[Q.length-1];if(!Y)return!1;let K=Y.escaped;if(Y.escaped=!K&&Y.quote!=="'"&&W==="\\",!K&&W==="'"&&Y.quote!=='"')Y.quote=Y.quote==="'"?"":"'";if(!K&&W==='"'&&Y.quote!=="'")Y.quote=Y.quote==='"'?"":'"';if(W==="$"&&j($,X+1)==="("&&(Q.length===1||!K&&Y.quote!=="'")){Q.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),X++;continue}if(!K&&!Y.quote&&Q.length>1&&W==="("){Y.depth++;continue}if(!K&&!Y.quote&&Q.length>1&&W===")"){if(Y.depth--,Y.depth===0)Q.pop();continue}if(e(W))Y.shortActive=!1,Y.hasShortFlag=!1;if(!Y.outerActive){let B=n6($,X,J.command);if(B){Y.outerActive=B.commandEnd>=0&&e(j($,B.commandEnd)),Y.shortActive=!1,Y.hasShortFlag=!1,X=Math.max(X,(Y.outerActive?B.commandEnd:B.next)-1);continue}}if(Y.outerActive&&W==="-"){if(o2($,X,J.longPrefix,J.longOptional))return!0;Y.shortActive||=!J.excludedShortStarts.includes(j($,X+1)??"")}if(Y.hasShortFlag||=Y.shortActive&&W===J.shortFlag,Y.hasShortFlag&&w0($,X+1))return!0;if(i2(W))Y.outerActive=!1}return!1}function W3($,J,Q,X,W){let Y=!1;for(let K=0;K<B1($);K++){let B=j($,K),q=Q(B);if(!Y&&!q){let U=n6($,K,J);if(U){Y=U.commandEnd>=0&&(!X||e(j($,U.commandEnd))),K=Math.max(K,(Y?U.commandEnd:U.next)-1);continue}}if(Y){let U=W(K);if(U===!0)return!0;for(let G=K;G<=U;G++)if(Q(j($,G)))Y=!1;K=U}if(q)Y=!1}return!1}function fN($){let J=!1;for(let Q=0;Q<B1($);Q++){if(uJ(j($,Q))){if(J)return!0;J=!1;continue}if(!J){let X=n6($,Q,"restore");if(X){J=X.commandEnd>=0,Q=Math.max(Q,(J?X.commandEnd:X.next)-1);continue}}if(J&&j($,Q)==="-"&&j($,Q+1)==="-"&&($1($,Q+2,"staged")||$1($,Q+2,"help")))J=!1}return J}function zB($,J){let Q=!1;for(let X=0;X<B1($);X++){let W=j($,X),Y=J?uJ(W):L1(W);if(Q&&e(W)&&j($,X+1)==="-"&&T0($,X+2,"delete"))return!0;if(Y){Q=!1;continue}if(T0($,X,"find"))Q=!0,X+=3}return!1}function X3($,J,Q){let X=J;while(X<B1($)&&!e(j($,X))&&!Q(j($,X)))X++;return X}function IB($,J,Q,X){if(!$1($,J,Q))return-1;let W=J+Q.length;for(let Y=0;Y<X.length&&j($,W)===X[Y];Y++)W++;return w0($,W)?W:-1}function o2($,J,Q,X){return IB($,J,Q,X)>=0}var kN=["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.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"],s6=new Set(kN),a6=[{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.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"}],hN=new Map(a6.map(($)=>[$.id,$.intent])),jB=new Set(a6.filter(($)=>$.catastrophic).map(($)=>$.id));function z($,J){return{id:$,reason:J,intent:hN.get($)??"manual_only"}}function h($,J){if(!$)return null;if(jB.has($.id))return $;if(J?.destructiveCommandProtectionEnabled===!1)return null;let Q=J?.effectiveDestructiveCommandRules?.[$.id];if(Q)return Q.enabled?$:null;return J?.destructiveCommandRuleOverrides[$.id]==="off"?null:$}function U1($,J,Q){if(jB.has(J))return!0;if($?.destructiveCommandProtectionEnabled===!1)return!1;let X=$?.effectiveDestructiveCommandRules?.[J];if(X)return X.enabled;let W=$?.destructiveCommandRuleOverrides[J];return W?W==="on":Q}function RB($,J){return Object.freeze(Object.fromEntries(a6.map((Q)=>{let X=Q.activationCapability?J[Q.activationCapability]:void 0,W=X?.enabled??!0,Y=$.destructiveCommandRuleOverrides[Q.id],K=Q.catastrophic?{enabled:!0,inheritedEnabled:!0,changesInherited:!1,source:"catastrophic",...Y?{override:Y}:{}}:$.destructiveCommandProtectionEnabled?Y?{enabled:Y==="on",inheritedEnabled:W,changesInherited:Y==="on"!==W,source:"rule_override",...Q.activationCapability?{activationCapability:Q.activationCapability}:{},override:Y}:{enabled:W,inheritedEnabled:W,changesInherited:!1,source:X?.source??"built_in_default",...Q.activationCapability?{activationCapability:Q.activationCapability}:{}}:{enabled:!1,inheritedEnabled:W,changesInherited:!1,source:"master_disabled",...Q.activationCapability?{activationCapability:Q.activationCapability}:{},...Y?{override:Y}:{}};return[Q.id,Object.freeze(K)]})))}function PB($,J){return Object.freeze({...$,effectiveDestructiveCommandRules:RB($,J)})}function Y3($,J){Q3(J,$,2);let Q=$.toLowerCase(),X=Q.trimStart(),W=X.startsWith("echo ")||X.startsWith("rg "),Y=[{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 K of Y){if(K.skipForEchoRg&&W)continue;let B=K.caseSensitive?$:Q;if(K.regex)C1(J,B);if((K.regex?.test(B)??!1)||K.scan&&o6(B,K.scan,J))return z("raw-text.dangerous-command",`Unparseable command text contains a destructive pattern (${K.label}). Rewrite as a plain, parseable command so it can be analyzed.`)}return null}var yN=/^[A-Za-z_][A-Za-z0-9_]*=/;function AB($,J,Q){let X=$.words[0];if(!J||!X||$.words.length!==1||$.dialect!=="posix")return!1;if(!X.quoted||X.provenance!=="literal")return!1;let W=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(X.text)?.[1];if(!W)return!1;Q3(Q,J.source,2);let Y={anchored:new RegExp(`^\\$\\{?${W}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${W}(?![A-Za-z0-9_])`)};return EB(J.nodes,X,Y)}function EB($,J,Q){return $.every((X)=>{if(X.kind==="connector")return!0;if(X.kind==="group"||X.kind==="function")return EB(X.body.nodes,J,Q);if(X.kind==="unknown")return!Q.loose.test(X.source);return gN(X,J,Q)})}function gN($,J,Q){if($.nested.some((W)=>Q.loose.test(W.source)))return!1;let X=$.words.findIndex((W)=>!yN.test(W.text));return $.words.every((W,Y)=>W===J||bB(W.raw,Q.anchored,Y!==X))&&$.redirections.every((W)=>(!W.heredoc||W.heredoc.quotedDelimiter||!Q.loose.test(W.heredoc.body))&&(!W.target||bB(W.target.raw,Q.anchored,!0)))}function bB($,J,Q){let X=!1,W=!1;for(let Y=0;Y<$.length;Y++){let K=$[Y];if(K==="\\"&&!X){Y++;continue}if(!W&&K==="'"){X=!X;continue}if(!X&&K==='"'){W=!W;continue}if(X||K!=="$")continue;if(!J.test($.slice(Y)))continue;if(!W||!Q)return!1}return!0}var SB=Object.freeze({maxDerivedTokens:16384}),CB="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.",TB="env -S split-string variables cannot be resolved safely. Use literal values or expand the command explicitly.";class p1 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"}}class M2 extends Error{constructor(){super("env -S split-string variables cannot be resolved safely. Use literal values or expand the command explicitly.");this.name="EnvSplitStringExpansionError"}}function t6(){return{derivedTokens:0}}function q0($,J){if(!Number.isSafeInteger($.derivedTokens)||$.derivedTokens<0||$.derivedTokens>SB.maxDerivedTokens||!Number.isSafeInteger(J)||J<0||J>SB.maxDerivedTokens-$.derivedTokens)throw new p1;$.derivedTokens+=J}import{isAbsolute as xN,resolve as wB}from"path";var vB=64;function K3($,J,Q){let X=xN($)?wB($):J?wB(J,$):void 0;if(!X)return;try{return s(X,Q)}catch{return X}}function fB($){return!["/dev","/proc","/sys"].some((J)=>$===J||$.startsWith(`${J}/`))}function i($){return l($).toLowerCase()}function l($){return $.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??$}var e6=10,n2=20,N2=/^[a-zA-Z][a-zA-Z0-9_-]*$/,s2=256,H1=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),kB=new Set(["python","python3","python2","node","ruby","perl"]),hB=/^python(?:[23](?:\.\d+)*)?$/,$9=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 F2="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",a2="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.",J9=new Map([["python",new Set(["-c"])],["node",new Set(["-e","--eval"])],["ruby",new Set(["-e"])],["perl",new Set(["-e","-E"])]]),uN=new Set(["-p","--print"]),mN=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),lN=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"])]]),pN=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),cN=new Map([["python",new Set(["m"])]]),dN=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"])]]),rN=new Set(["always","default","never"]),iN=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),oN=/\\\r?\n/g,nN=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 Q9($){return W9($).code}function X9($){return W9($).sources}function gB($){return nN.get(K9($))??[]}function W9($){let J=K9($[0]??"");if(!J9.has(J))return{code:null,sources:[],optionsOpen:!1};let Q=[],X=[],W=!0;for(let Y=1;Y<$.length;Y++){let K=$[Y];if(K===void 0)break;if(K==="--")return s1(J,Q,X,W,$[Y+1]===void 0?void 0:Y+1,$[Y+1]);if(K===""||K==="-"||!K.startsWith("-"))return s1(J,Q,X,W,Y,K);if(J==="node"&&uN.has(K)){let H=$[Y+1];if(H===void 0)return s1(J,Q,X,W);if(H.startsWith("-"))continue;Q.push({tokenIndex:Y+1,value:H}),X.push({tokenIndex:Y+1,kind:"inline-code",value:H}),Y++;continue}if(aN(J,K)){let H=$[Y+1];if(H===void 0)return s1(J,Q,X,W);if(Q.push({tokenIndex:Y+1,value:H}),X.push({tokenIndex:Y+1,kind:"inline-code",value:H}),J==="python")return s1(J,Q,X,W);Y++;continue}let B=/^--eval=(.*)$/s.exec(K);if(tN(J)&&B){let H=B[1]??"";Q.push({tokenIndex:Y,value:H}),X.push({tokenIndex:Y,kind:"inline-code",value:H});continue}if(J==="node"){let H=sN(K);if(H){if(H.attached){if(W&&=H.value!=="",H.value!=="")X.push({tokenIndex:Y,kind:"module-file",value:H.value});continue}let L=$[Y+1];if(L===void 0||L.startsWith("-"))return W=!1,s1(J,Q,X,W);X.push({tokenIndex:Y+1,kind:"module-file",value:L}),Y++;continue}}if(J==="python"&&K.startsWith("--check-hash-based-pycs=")||J==="node"&&(K==="--conditions="||K==="--diagnostic-dir="||K==="--title=")||J==="ruby"&&(K==="--disable="||K==="--enable="))return s1(J,Q,X,W);if(dN.get(J)?.has(K)){let H=$[Y+1];if(H===void 0||H.startsWith("-")&&!(J==="ruby"&&iN.has(K))||J==="python"&&!rN.has(H))return s1(J,Q,X,W);Y++;continue}if(K.startsWith("--"))continue;let q,U=!1;for(let H=1;H<K.length;H++){let L=K[H];if(L===void 0)break;if(cN.get(J)?.has(L)){let Z=K.slice(H+1),O=Z||$[Y+1];if(O!==void 0)X.push({tokenIndex:Z?Y:Y+1,kind:"module-file",value:O});return s1(J,Q,X,W)}if(mN.get(J)?.has(L)){q=K.slice(H+1)||$[Y+1],U=H+1===K.length;break}if(J==="node"&&L==="r"){if(K==="-r"){let Z=$[Y+1];if(W&&=Z!==void 0&&!Z.startsWith("-"),W&&Z!==void 0)X.push({tokenIndex:Y+1,kind:"module-file",value:Z});Y++}else W=!1;break}if(J==="ruby"&&L==="r"){let Z=K.slice(H+1),O=Z||$[Y+1];if(W&&=O!==void 0,O!==void 0)X.push({tokenIndex:Z?Y:Y+1,kind:"module-file",value:O});if(!Z)Y++;break}if(J==="perl"&&(L==="M"||L==="m")){let Z=K.slice(H+1);if(Z)X.push({tokenIndex:Y,kind:"module-file",value:Z});else if(W=!1,H+1===K.length)Y++;break}if(lN.get(J)?.has(L)){if(H+1===K.length)Y++;break}if(pN.get(J)?.has(L)&&H+1<K.length)break}if(q===void 0)continue;let G=U?Y+1:Y;if(Q.push({tokenIndex:G,value:q}),X.push({tokenIndex:G,kind:"inline-code",value:q}),J==="python")return s1(J,Q,X,W);if(U)Y++}return s1(J,Q,X,W,void 0,void 0,!0)}function s1($,J,Q,X,W,Y,K=!1){let B=$==="node"?J.slice(-1):J,q=new Set(B.map((G)=>G.tokenIndex)),U=Q.filter((G)=>G.kind!=="inline-code"||q.has(G.tokenIndex));if(X&&J.length===0&&W!==void 0&&Y!==void 0)U.push({tokenIndex:W,kind:"main-script",value:Y});return{code:($==="node"?B[0]?.value:B.map((G)=>G.value).join(`
27
- `))||null,sources:X?U:[],optionsOpen:X&&K}}function sN($){for(let J of["--import","--loader","--experimental-loader","--require"]){if($===J)return{attached:!1,value:""};if($.startsWith(`${J}=`))return{attached:!0,value:$.slice(J.length+1)}}return}function T1($){return J9.has(K9($))}function Y9($,J){return K9($)==="node"&&/^\s*console\.(?:log|info|warn|error)\(\s*(?:"(?:\\.|[^"\\\r\n])*"|'(?:\\.|[^'\\\r\n])*')\s*\)\s*;?\s*$/.test(J)}function K9($){let J=l($).toLowerCase();return hB.test(J)?"python":J}function aN($,J){return J9.get($)?.has(J)??!1}function tN($){return J9.get($)?.has("--eval")??!1}function t2($,J){let Q=JF($,J);if(!yB(Q,J))return!1;C1(J,Q);let X=$F(Q);if(yB(X,J))return!0;return C1(J,X),eN.test(X)}var eN=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function $F($){let J=[],Q=0,X=0;while(X<$.length){let W=$[X];if(W!=="'"&&W!=='"'){X++;continue}let Y=$.startsWith(W.repeat(3),X)?W.repeat(3):W,K=X+Y.length;while(K<$.length&&!$.startsWith(Y,K))K+=$[K]==="\\"?2:1;if(K>=$.length)break;J.push($.slice(Q,X)," "),X=K+Y.length,Q=X}return J.push($.slice(Q)),J.join("")}function yB($,J){if(i6($,"rm",J))return!0;for(let X of[/\bgit[^\S\n]+reset[^\S\n]+--ha(?:r(?:d)?)?\b/,/\bgit[^\S\n]+reset[^\S\n]+--me(?:r(?:g(?:e)?)?)?\b/,/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+clean[^\S\n]+(-[^\s]*f[^\s]*|--fo(?:r(?:c(?:e)?)?)?)\b/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(C1(J,$),X.test($))return!0;if(i6($,"dd",J))return!0;for(let X of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(C1(J,$),X.test($))return!0;if(i6($,"find",J))return!0;let Q=$.split(/[\n\r\u2028\u2029]/);return["reset-hard","reset-merge","clean","checkout","push-force","push-refspec","push-delete","branch","tag","restore"].some((X)=>{return C1(J,$),Q.some((W)=>o6(W,X))})}function JF($,J){return C1(J,$),$.replace(oN,"")}var f=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),xB="Parallel command expands beyond CC Safety Net's analysis limits. Reduce the template or explicit argument list and retry.";class q9 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 uB(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function w1($,J){let Q=J.childAnalyses??0,X=J.derivedTokens??0,W=J.derivedBytes??0,Y=J.placeholderReplacements??0;if(B9($.childAnalyses,Q,f.maxChildAnalyses)||B9($.derivedTokens,X,f.maxDerivedTokens)||B9($.derivedBytes,W,f.maxDerivedBytes)||B9($.placeholderReplacements,Y,f.maxPlaceholderReplacements))throw new q9;$.childAnalyses+=Q,$.derivedTokens+=X,$.derivedBytes+=W,$.placeholderReplacements+=Y}function B9($,J,Q){return!Number.isSafeInteger($)||$<0||$>Q||!Number.isSafeInteger(J)||J<0||J>Q-$}import{isAbsolute as jQ,normalize as N_,parse as F_,posix as YU,resolve as W4,sep as IQ}from"path";import{isAbsolute as QF,join as mB,normalize as cB,parse as XF,sep as lB}from"path";var WF=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],YF=`
28
- `;function B3($,J){if(U0($,J))return!0;if(!$.has("TMPDIR"))return!1;return!lJ($.get("TMPDIR")??"",J)}function v0($,J){if($.has("TMPDIR"))return lJ($.get("TMPDIR")??"",J);let Q=pJ($,J);if(Q===void 0)return!0;return lJ(Q,J)}function pJ($,J){return iB($,J,"TMPDIR")}function lJ($,J){if(!$)return!1;if(BF($))return!1;return cJ($,J)}function U0($,J){let Q=iB($,J,"IFS");return Q!==void 0&&Q!==""&&Q!==YF}function cJ($,J){let Q=U9($,J.paths);return Q!==null&&rB(J).some((X)=>UF(Q,X))}function dB($,J){let Q=U9($,J.paths);return Q!==null&&rB(J).includes(Q)}var pB=new WeakMap;function rB($){let J=pB.get($);if(J)return J;let Q=KF($);return pB.set($,Q),Q}function KF($){let J=WF.map((X)=>U9(X,$.paths)??cB(X)),Q=U9($.tmpdir,$.paths);if(!Q)return J;if(process.platform==="win32")return[...J,Q];if(process.platform==="darwin"&&qF(Q))return[...J,Q];return J}function BF($){return/[\s$`*?[]/.test($)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test($)||/[+@!]\([^)]*\)/.test($)}function iB($,J,Q){return $.has(Q)?$.get(Q):J.env.get(Q)}function qF($){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test($)}function U9($,J){try{let Q=cB($);if(!QF(Q))return Q;let X=XF(Q).root,W=Q.slice(X.length).split(/[\\/]+/).filter(Boolean),Y=X;for(let K=0;K<W.length;K++){let B=mB(Y,W[K]??"");if(J.entryKind(B)==="missing")return mB(B,...W.slice(K+1));let q=J.realpath(B);if(q===null)return null;Y=q}return Y}catch{return null}}function UF($,J){if($===J)return!0;let Q=J.endsWith(lB)?J:`${J}${lB}`;return $.startsWith(Q)}import{statSync as Q_}from"fs";import{isAbsolute as sq,join as X_,relative as aq}from"path";import{isAbsolute as oB,parse as GF}from"path";var aB=/^[A-Za-z_][A-Za-z0-9_]*=/,HF=/^\$\{([A-Za-z_][A-Za-z0-9_]*)\}/,tB=131072,ZF=16384;function G0($){if(!aB.test($))return null;let J=$.indexOf("=");return{name:$.slice(0,J),value:$.slice(J+1)}}function G9($){let J=new Map,Q=0;while(Q<$.length){let X=$[Q];if(!X)break;let W=G0(k(X));if(!W)break;J.set(W.name,W.value),Q++}return{words:$.slice(Q),envAssignments:J}}function eB($){let J=$.toLowerCase();return $.includes("=")||J==="sudo"||J==="env"||J==="command"||J==="builtin"}function V2($,J,Q,X){if(!eB(e2($)))return{words:$,envAssignments:new Map,cwd:Q,rewritten:!1};let W=new Set($),Y=$,K=new Map,B=new Map(X??[]),q=Q;for(let G=0;G<n2;G++){let H=sB(Y),L=G9(Y);for(let[O,M]of L.envAssignments)K.set(O,M),B.set(O,M);if(Y=L.words,Y.length===0)break;while(Y.length>0&&e2(Y).includes("=")&&!LF(Y)){let O=OF(e2(Y),B,J.env)??p6(e2(Y),J.env,B);if(O)K.set(O.name,O.value),B.set(O.name,O.value);Y=Y.slice(1)}if(Y.length===0)break;let Z=e2(Y).toLowerCase();if(Z!=="sudo"&&Z!=="env"&&Z!=="command"&&Z!=="builtin")break;if(Z==="sudo"){let O=NF(Y,J.paths,q);if(Y=O.words,O.cwd!==void 0)q=O.cwd}if(Z==="env"){let O=_F(Y,q,B,J);if(O.unverifiableEnvSplit)return{words:Y,envAssignments:K,cwd:q,unverifiableEnvSplit:!0,rewritten:nB(Y,W)};if(Y=O.words,O.cwd!==void 0)q=O.cwd;for(let[M,V]of O.envAssignments)K.set(M,V),B.set(M,V)}if(Z==="command")Y=PF(Y);if(Z==="builtin")Y=Y.slice(a1(Y,1)==="--"?2:1);if(sB(Y)===H)break}let U=G9(Y);for(let[G,H]of U.envAssignments)K.set(G,H),B.set(G,H);return{words:U.words,envAssignments:K,cwd:q,rewritten:nB(U.words,W)}}function nB($,J){return $.some((Q)=>!J.has(Q))}function sB($){return $.map(k).join(" ")}function e2($){let J=$[0];return J?k(J):""}function a1($,J){let Q=$[J];return Q?k(Q):void 0}function LF($){return aB.test(e2($))}function OF($,J,Q){if(!$.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${J.get("TMPDIR")??Q.get("TMPDIR")??""}${$.slice(8)}`}}var MF=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function NF($,J,Q){let X=1,W=Q;while(X<$.length){let Y=a1($,X);if(!Y)break;if(Y==="--")return{words:$.slice(X+1),cwd:W};if(!Y.startsWith("-"))break;if(Y==="-D"||Y==="--chdir"){let K=a1($,X+1);W=K?q3(W,K,J):null,X+=2;continue}if(Y.startsWith("--chdir=")){W=q3(W,Y.slice(8),J),X++;continue}if(Y.startsWith("-D")&&Y.length>2){W=q3(W,Y.slice(2),J),X++;continue}if(Y==="-i"||Y==="--login"){W=null,X++;continue}if(MF.has(Y)){X+=2;continue}X++}return{words:$.slice(X),cwd:W}}var FF=new Set(["-i","-0","--null"]),VF=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]);function _F($,J,Q,X){let W=new Map,Y=J,K=$,B=new Set,q=1;while(q<K.length){let U=a1(K,q);if(!U)break;if(U==="--")return{words:K.slice(q+1),envAssignments:W,cwd:Y};if(U==="-i"||U==="--ignore-environment"||U==="-"){W.clear();for(let H of Q.keys())W.set(H,"");W.set("TMPDIR",""),q++;continue}if(FF.has(U)){q++;continue}if(U==="-u"||U==="--unset"){let H=a1(K,q+1);if(H!==void 0)B.add(H),W.set(H,"");q+=2;continue}if(U.startsWith("-u")&&U.length>2&&!U.startsWith("-u=")){let H=U.slice(2);B.add(H),W.set(H,""),q++;continue}if(U.startsWith("--unset=")){let H=U.slice(8);B.add(H),W.set(H,""),q++;continue}let G=U==="-S"||U==="--split-string"?{value:a1(K,q+1),consumed:2}:U.startsWith("-S")&&U.length>2?{value:U.slice(2),consumed:1}:U.startsWith("--split-string=")?{value:U.slice(15),consumed:1}:null;if(G){let H=DF(K,q,G.value,G.consumed,Q,B,Y,X.env);if(H.done)return H.result;K=H.expanded,Y=H.currentCwd,q=H.nextIndex;continue}if(VF.has(U)){if(U==="-C"||U==="--chdir"){let H=a1(K,q+1);Y=H?q3(Y,H,X.paths):null}q+=2;continue}if(U.startsWith("-u=")){q++;continue}if(U.startsWith("-C")&&U.length>2||U.startsWith("--chdir=")){let H=U.startsWith("--chdir=")?U.slice(8):U.startsWith("-C=")?U.slice(3):U.slice(2);Y=q3(Y,H,X.paths),q++;continue}if(U.startsWith("-P")){q++;continue}if(U.startsWith("-")){q++;continue}if(!G0(U))break;while(q<K.length){let H=G0(a1(K,q)??"");if(!H)break;W.set(H.name,H.value),q++}if(a1(K,q)==="--")q++;return{words:K.slice(q),envAssignments:W,cwd:Y}}return{words:K.slice(q),envAssignments:W,cwd:Y}}function DF($,J,Q,X,W,Y,K,B){let q=Q!==void 0?zF(Q,W,Y,B):{tokens:null,unverifiableEnvSplit:!1};if(q.unverifiableEnvSplit)return{done:!0,result:{words:$,envAssignments:new Map,cwd:K,unverifiableEnvSplit:!0}};if(!q.tokens)return{done:!1,expanded:$,currentCwd:null,nextIndex:J+X};return{done:!1,expanded:[...$.slice(0,J),...p(q.tokens),...$.slice(J+X)],currentCwd:K,nextIndex:J}}function zF($,J,Q,X){if($.length>tB)return{tokens:null,unverifiableEnvSplit:!0};let W=IF($,(Y)=>{if(Q.has(Y))return"";if(J.has(Y))return J.get(Y)??"";return X.get(Y)??""});return{tokens:W.tokens,unverifiableEnvSplit:W.limited}}function IF($,J){let Q=[],X=[],W=0,Y=!1,K=!1,B=!1,q=!1,U=(H)=>{if(W+H.length>tB)return q=!0,!1;return X.push(H),W+=H.length,Y=!0,!0},G=()=>{if(!Y)return!0;if(Q.length>=ZF)return q=!0,!1;return Q.push(X.join("")),X=[],Y=!1,!0};for(let H=0;H<$.length;H++){let L=$[H]??"";if(L==="'"&&!B){K=!K,Y=!0;continue}if(L==='"'&&!K){B=!B,Y=!0;continue}if(!K&&!B&&RF(L)){if(!G())return{tokens:null,limited:q};continue}if(!K&&!B&&L==="#"&&!Y)break;if(L==="$"&&!K){let M=$.slice(H).match(HF);if(!M?.[1]||!U(J(M[1])))return{tokens:null,limited:q};H+=M[0].length-1;continue}if(L!=="\\"){if(!U(L))return{tokens:null,limited:q};continue}let Z=$[H+1];if(Z===void 0)return{tokens:null,limited:q};if(K&&Z!=="'"&&Z!=="\\"){if(!U("\\"))return{tokens:null,limited:q};continue}if(Z==="c"){if(B)return{tokens:null,limited:q};break}if(Z==="_"&&!K&&!B){if(!G())return{tokens:null,limited:q};H++;continue}let O=jF(Z);if(O===void 0||!U(O))return{tokens:null,limited:q};H++}if(K||B||!G())return{tokens:null,limited:q};return{tokens:Q,limited:!1}}function jF($){if($==="f")return"\f";if($==="n")return`
29
- `;if($==="r")return"\r";if($==="t")return"\t";if($==="v")return"\v";if($==="_")return" ";if($==="#"||$==="$"||$==='"'||$==="'")return $;if($==="\\")return"\\";return}function RF($){return $===" "||$==="\t"||$===`
30
- `||$==="\r"||$==="\f"||$==="\v"}function q3($,J,Q){if(J==="")return null;if(!$&&!oB(J))return null;let X=oB(J)?GF(J).root:Q.realpath($??"/");if(X===null)return null;try{return i0(X,J,Q)}catch{return null}}function PF($){if(a1($,1)==="-v")return[...p(["type"]),...$.slice(2)];let J=1;while(J<$.length){let Q=a1($,J);if(!Q)break;if(Q==="-p"||Q==="-v"||Q==="-V"){J++;continue}if(Q==="--")return $.slice(J+1);if(Q.startsWith("-")&&!Q.startsWith("--")&&Q.length>1){if(!/^[pvV]+$/.test(Q.slice(1)))break;J++;continue}break}return $.slice(J)}function c1($,J,Q){return dJ($,J,Q).tokens}function dJ($,J,Q,X){if(!eB($[0]??""))return{tokens:[...$],envAssignments:new Map,cwd:Q};let W=V2(p($),J,Q,X);return{tokens:W.words.map(k),envAssignments:W.envAssignments,cwd:W.cwd,unverifiableEnvSplit:W.unverifiableEnvSplit}}import{isAbsolute as aV,normalize as tV,resolve as oq}from"path";function H9(){return[]}function Z9(){return[]}function L9(){return{words:[],redirections:[],nested:[],start:-1,end:-1,reset(){this.words=[],this.redirections=[],this.nested=[],this.start=-1,this.end=-1}}}function bF($){return Object.freeze({...$,span:Object.freeze($.span),words:Object.freeze($.words),redirections:Object.freeze($.redirections.map((J)=>Object.freeze({...J,span:Object.freeze(J.span),...J.heredoc?{heredoc:Object.freeze({...J.heredoc,bodySpan:Object.freeze(J.heredoc.bodySpan),terminatorSpan:Object.freeze(J.heredoc.terminatorSpan)})}:{}}))),nested:Object.freeze($.nested.map((J)=>I1(J)))})}function O9($,J,Q){$.push(Q),J.reset()}function AF($,J,Q,X,W){if(X<=Q)return;$.push({raw:J.slice(Q,X),span:{start:Q,end:X},provenance:W})}function M9($){let J=[];return{parts:J,push:(Q,X,W)=>AF(J,$,Q,X,W)}}function rJ($){let J=$.parts??[{raw:$.raw,span:$.span,provenance:$.provenance}];return Object.freeze({kind:"word",...$,span:Object.freeze($.span),parts:Object.freeze(J.map((Q)=>Object.freeze({...Q,span:Object.freeze(Q.span)})))})}function $4($,J,Q,X,W,Y,K){return rJ({text:X,raw:$.slice(J,Q),span:{start:J,end:Q},provenance:W,quoted:Y,...K?{parts:K}:{}})}function I1($){return Object.freeze({...$,span:Object.freeze($.span),issues:Object.freeze($.issues.map((J)=>Object.freeze({...J,span:Object.freeze(J.span)}))),nodes:Object.freeze($.nodes.map((J)=>{if(J.kind==="command")return bF(J);if(J.kind==="group"||J.kind==="function")return Object.freeze({...J,span:Object.freeze(J.span),body:I1(J.body)});return Object.freeze({...J,span:Object.freeze(J.span)})}))})}function iJ($,J,Q){if(J>=Q||Jq($[J]??""))return null;let X="",W=!1,Y=!1,K=J;while(K<Q&&!Jq($[K]??"")){let B=$[K]??"";if(B==="'"){W=!0;let q=$q($,K+1,Q,"'");X+=q.text,Y||=!q.closed,K=q.next;continue}if(B==='"'){W=!0;let q=$q($,K+1,Q,'"');X+=q.text,Y||=!q.closed,K=q.next;continue}if(B==="\\"){W=!0;let q=$[K+1];if(!q||q===`
31
- `||q==="\r"){Y=!0;break}X+=q,K+=2;continue}if(B==="`"||$.startsWith("$(",K)||$.startsWith("${",K)||$.startsWith("<(",K)||$.startsWith(">(",K))Y=!0;X+=B,K++}return{delimiter:X,quoted:W,next:K,span:{start:J,end:K},ambiguous:Y}}function oJ($,J,Q,X){let W=[],Y=J;for(let K of X){let B=Y,q=!1;while(Y<Q){let U=EF($,Y,Q);if((K.stripTabs?U.text.replace(/^\t+/,""):U.text)===K.delimiter){K.attach({body:K.stripTabs?SF($.slice(B,Y)):$.slice(B,Y),delimiter:K.delimiter,quotedDelimiter:K.quotedDelimiter,stripTabs:K.stripTabs,bodySpan:{start:B,end:Y},terminatorSpan:{start:Y,end:U.contentEnd}}),Y=U.next,q=!0;break}if(U.next<=Y)break;Y=U.next}if(q)continue;return W.push({code:"unterminated-heredoc",message:`heredoc delimiter ${K.delimiter} was not found`,span:K.declarationSpan}),{next:Q,issues:W,terminated:!1}}return{next:Y,issues:W,terminated:!0}}function $q($,J,Q,X){let W="",Y=J;while(Y<Q&&$[Y]!==`
32
- `&&$[Y]!=="\r"){let K=$[Y]??"";if(K===X)return{text:W,next:Y+1,closed:!0};if(X==='"'&&K==="\\"&&$[Y+1]){let B=$[Y+1]??"";W+=["$","`",'"',"\\"].includes(B)?B:`\\${B}`,Y+=2;continue}W+=K,Y++}return{text:W,next:Y,closed:!1}}function Jq($){return/[\s;&|<>)]/u.test($)||$==="`"}function EF($,J,Q){let X=J;while(X<Q&&$[X]!==`
33
- `&&$[X]!=="\r")X++;let W=X>=Q?Q:$[X]==="\r"&&$[X+1]===`
34
- `?X+2:X+1;return{text:$.slice(J,X),contentEnd:X,next:W}}function SF($){return $.replace(/(^|\r\n?|\n)\t+/g,"$1")}var Kq=new Set(["&&","||","|","|&"]);function Bq($,J,Q){let X={start:0,end:$.length};if($.length>Q.maxInputLength)return I1({kind:"program",dialect:J,source:$,span:X,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${Q.maxInputLength} UTF-16 code units`,span:X}],nodes:[]});let W=V9($,0,$.length,J,Q,{used:0,max:Q.maxWords},0);return I1({kind:"program",dialect:J,source:$,span:X,status:z9(W.issues,W.limited),issues:W.issues,nodes:W.nodes})}function V9($,J,Q,X,W,Y,K,B){let q=H9(),U=Z9(),G=L9(),H=[],L=()=>{if(G.words.length===0&&G.redirections.length===0)return;let O={start:G.start,end:G.end},M=G.words.map((V)=>V.text);O9(q,G,{kind:"command",dialect:X,source:$.slice(O.start,O.end),span:O,words:G.words,redirections:G.redirections,nested:G.nested,dynamicExecutable:G.words[0]?.provenance==="command-substitution",displayText:U.length>0&&q.length===0?$.slice(J,Q):M.join(" ")})},Z=J;while(Z<Q){let O=$[Z];if(!O)break;if(B&&O===B)return L(),Yq(q,U),{nodes:q,issues:U,next:Z+1,closed:!0,limited:!1,pendingHeredocs:H};if(D9(O)){if(O===`
35
- `||O==="\r"){L();let E=O==="\r"&&$[Z+1]===`
36
- `?Z+2:Z+1,_=q.at(-1);if(_?.kind!=="connector"||!Kq.has(_.operator))q.push(Object.freeze({kind:"connector",operator:$.slice(Z,E),span:Object.freeze({start:Z,end:E})}));if(H.length>0){let R=oJ($,E,Q,H.splice(0));U.push(...R.issues),Z=R.next;continue}Z=E;continue}Z++;continue}if(O==="#"){while(Z<Q&&$[Z]!==`
37
- `&&$[Z]!=="\r")Z++;continue}let M=G.start===-1?oF($,Z,Q):void 0;if(M){if(sJ(q,U,Z),K>=W.maxDepth)return J4(q,U,Z,"depth-limit",W.maxDepth);if(!nJ(Y))return J4(q,U,Z,"word-limit",W.maxWords);let E=V9($,M.braceIndex+1,Q,X,W,Y,K+1,"}"),_=E.next,R={start:M.braceIndex+1,end:E.closed?_-1:_},b=Qq($,X,R,E);if(q.push({kind:"function",name:M.name,span:{start:Z,end:_},body:b}),U.push(...E.issues),E.pendingHeredocs.length>0||G3(E.nodes))U.push({code:"unsupported-heredoc-context",message:"heredocs attached inside function bodies are not supported safely",span:{start:Z,end:_}});if(H.push(...E.pendingHeredocs),E.limited)return F9(q,U,E.next);if(!E.closed)U.push({code:"unclosed-function-body",message:"function body is not closed",span:{start:M.braceIndex,end:_}});Z=_;continue}let V=_9($,Z);if(V){if(L(),!Mq(q.at(-1)))U.push({code:"unexpected-connector",message:`connector ${V} has no preceding command`,span:{start:Z,end:Z+V.length}});q.push(Object.freeze({kind:"connector",operator:V,span:Object.freeze({start:Z,end:Z+V.length})})),Z+=V.length;continue}if(O===")"){L(),U.push({code:"unexpected-closing-delimiter",message:"closing parenthesis has no matching opening parenthesis",span:{start:Z,end:Z+1}}),q.push({kind:"unknown",source:O,span:{start:Z,end:Z+1}}),Z++;continue}if((O==="("||O==="{"&&hF($,Z,Q))&&G.start===-1){if(sJ(q,U,Z),K>=W.maxDepth)return J4(q,U,Z,"depth-limit",W.maxDepth);let E=O==="("?")":"}",_=V9($,Z+1,Q,X,W,Y,K+1,E),R=_.next,b={start:Z+1,end:_.closed?R-1:R},S=Qq($,X,b,_);if(q.push({kind:"group",style:O==="("?"subshell":"brace",span:{start:Z,end:R},body:S}),U.push(..._.issues),_.pendingHeredocs.length>0||G3(_.nodes))U.push({code:"unsupported-heredoc-context",message:"heredocs attached inside command groups are not supported safely",span:{start:Z,end:R}});if(H.push(..._.pendingHeredocs),_.limited)return F9(q,U,_.next);if(!_.closed)U.push({code:O==="("?"unclosed-subshell":"unclosed-brace-group",message:`${O} group is not closed`,span:{start:Z,end:R}});Z=R;continue}let F=(O==="<"||O===">")&&$[Z+1]!=="("?wF($,Z):null;if(F){let E=G.words.at(-1),_=E&&E.span.end===Z&&/^[0-9]+$/.test(E.raw)?Number(E.raw):void 0;if(_!==void 0)G.words.pop();let R=_===void 0?Z:E?.span.start??Z;G.start=G.start===-1?Z:G.start;let b=Z+F.length;while(b<Q&&/[ \t]/.test($[b]??""))b++;let S=$[b],T=b>Z+F.length&&S==="#",g=!S||D9(S)||!!_9($,b)||S===B||S===")"||T||(S==="<"||S===">")&&$[b+1]!=="(",x=F==="<<"||F==="<<-"?iJ($,b,Q):void 0,c=x?{word:$4($,b,x.next,x.delimiter,"literal",x.quoted),nested:[],issues:[],next:x.next,limited:!1}:!g?aJ($,b,Q,X,W,Y,K):void 0;if(c){if(U.push(...c.issues),c.limited)return F9(q,U,c.next);if(!nJ(Y))return J4(q,U,c.next,"word-limit",W.maxWords)}let V1=c?.next??Z+F.length,C={kind:"redirection",operator:F,span:{start:R,end:V1},..._===void 0?{}:{fd:_},...c?{target:c.word}:{}};if(G.redirections.push(C),F==="<<"||F==="<<-")if(!x)U.push({code:"missing-heredoc-delimiter",message:"heredoc redirection requires a delimiter word",span:{start:Z,end:Z+F.length}});else{if(x.ambiguous||x.delimiter.length===0)U.push({code:"ambiguous-heredoc-delimiter",message:"heredoc delimiter cannot be determined safely",span:x.span});H.push({delimiter:x.delimiter,quotedDelimiter:x.quoted,stripTabs:F==="<<-",declarationSpan:{start:R,end:V1},attach:(m)=>{C.heredoc=m}})}else if(!c)U.push({code:"missing-redirection-target",message:`redirection ${F} requires a target word`,span:{start:Z,end:Z+F.length}});if(c)G.nested.push(...c.nested);G.end=V1,Z=V1;continue}if(G.start===-1)sJ(q,U,Z);let P=aJ($,Z,Q,X,W,Y,K);if(U.push(...P.issues),P.limited)return F9(q,U,P.next);let I=xF(G.words)?cF($,P.word,Y.max-Y.used,W.maxDepth,W.maxInputLength):void 0;if(I?.limitCode)return J4(q,U,P.next,I.limitCode,I.limitCode==="word-limit"?W.maxWords:I.limitCode==="depth-limit"?W.maxDepth:W.maxInputLength);let A=I?.words??[P.word];for(let E of A){if(!nJ(Y))return J4(q,U,P.next,"word-limit",W.maxWords);G.words.push(E)}G.start=G.start===-1?Z:G.start,G.end=P.next,G.nested.push(...P.nested),Z=P.next>Z?P.next:Z+1}return L(),Yq(q,U),U.push(...nF(H)),{nodes:q,issues:U,next:Z,closed:B===void 0,limited:!1,pendingHeredocs:[]}}function Qq($,J,Q,X){return{kind:"program",dialect:J,source:$.slice(Q.start,Q.end),span:Q,status:z9(X.issues,X.limited),issues:X.issues,nodes:X.nodes}}function aJ($,J,Q,X,W,Y,K){let B="",q=J,U=!1,G="literal",H=[],L=[],Z=!1;while(q<Q){let O=$[q],M=(O==="<"||O===">")&&$[q+1]==="(";if(!O||D9(O)||(O===";"||O==="|"||O==="&")&&_9($,q)||(O==="<"||O===">")&&!M)break;if(O===")")break;if(O==="'"){U=!0;let F=$.indexOf("'",q+1);if(F===-1||F>=Q){B+=$.slice(q+1,Q),L.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:q,end:Q}}),q=Q;break}B+=$.slice(q+1,F),q=F+1;continue}if(O==='"'){U=!0;let F=CF($,q,Q,X,W,Y,K);if(B+=F.text,H.push(...F.nested),L.push(...F.issues),Z||=F.limited,G=U3(G,F.provenance),q=F.next,Z)break;continue}if($.startsWith("$'",q)){U=!0;let F=vF($,q+2,Q);if(B+=F.text,L.push(...F.issues),!F.closed)L.push({code:"unclosed-ansi-c-quote",message:"ANSI-C quoted word is not closed",span:{start:q,end:Q}});q=F.next;continue}if(O==="\\"){let F=$[q+1];if(!F){L.push({code:"trailing-escape",message:"escape has no following character",span:{start:q,end:q+1}}),q++;break}if(F===`
38
- `){q+=2;continue}B+=F,q+=2;continue}let V=O==="$"||O==="<"||O===">"||O==="`"?tJ($,q,Q,X,W,Y,K):null;if(V){let F=qq(V,H,L);if(Z||=F.limited,G=U3(G,F.provenance),q=F.next,Z)break;continue}if(O==="$"){let F=Hq($,q,Q,B,G);B=F.text,G=F.provenance,q=F.next;continue}if(O==="*"||O==="?"||O==="[")G=U3(G,"glob");B+=O,q++}return{word:$4($,J,q,B,G,U,G==="literal"?void 0:kF($,J,q)),nested:H,issues:L,next:q,limited:Z}}function CF($,J,Q,X,W,Y,K){let B="",q="literal",U=[],G=[],H=!1,L=J+1;while(L<Q){let Z=$[L];if(Z==='"')return{text:B,provenance:q,nested:U,issues:G,next:L+1,limited:H};if(Z==="\\"&&$[L+1]){let M=$[L+1]??"";if(M===`
39
- `){L+=2;continue}if(M==="\r"&&$[L+2]===`
40
- `){L+=3;continue}B+=["$","`",'"',"\\"].includes(M)?M:`\\${M}`,L+=2;continue}if($.startsWith("$((",L)){let M=eJ($,L+3,Q,"))"),V=M===-1?Q:M+2;if(B+=$.slice(L,V),M===-1)G.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:L,end:V}});L=V;continue}let O=tJ($,L,Q,X,W,Y,K);if(O){let M=qq(O,U,G);if(L=M.next,H||=M.limited,q=U3(q,M.provenance),H)return{text:B,provenance:q,nested:U,issues:G,next:L,limited:H};continue}if(Z==="$"){let M=Hq($,L,Q,B,q);B=M.text,q=M.provenance,L=M.next;continue}B+=Z??"",L++}return G.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:J,end:Q}}),{text:B,provenance:q,nested:U,issues:G,next:Q,limited:H}}function tJ($,J,Q,X,W,Y,K){let B=$.startsWith("$((",J),q=$.startsWith("$(",J)&&!B,U=($.startsWith("<(",J)||$.startsWith(">(",J))&&!0,G=$[J]==="`";if(!B&&!q&&!U&&!G)return null;let H=B?3:G?1:2,L=B?"))":G?"`":")",Z=eJ($,J+H,Q,L),O=Z===-1?Q:Z,M=Z===-1?Q:Z+L.length;if(K>=W.maxDepth)return{program:iF($,J+H,O,X,"depth-limit"),next:M,provenance:B?"arithmetic":"command-substitution"};if(B){let I=[],A=[],E=!1,_=J+H;while(_<O){let R=tJ($,_,O,X,W,Y,K+1);if(!R){_++;continue}if(I.push(...R.program.nodes),A.push(...R.program.issues),E||=R.program.status==="limited",_=R.next,E)break}if(Z===-1)A.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:J,end:M}});return{program:I1({kind:"program",dialect:X,source:$.slice(J+H,O),span:{start:J+H,end:O},status:z9(A,E),issues:A,nodes:I}),next:M,provenance:"arithmetic"}}let V=V9($,J+H,O,X,W,Y,K+1),F=Z===-1?[{code:B?"unclosed-arithmetic":"unclosed-command-substitution",message:`${$.slice(J,J+H)} substitution is not closed`,span:{start:J,end:M}}]:[],P=(G||U)&&G3(V.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:J,end:M}}]:[];return{program:I1({kind:"program",dialect:X,source:$.slice(J+H,O),span:{start:J+H,end:O},status:z9([...V.issues,...F,...P],V.limited),issues:[...V.issues,...F,...P],nodes:V.nodes}),next:M,provenance:B?"arithmetic":"command-substitution"}}function qq($,J,Q){return J.push($.program),Q.push(...$.program.issues),{provenance:$.provenance,next:$.next,limited:$.program.status==="limited"}}function eJ($,J,Q,X){if(X==="`"){for(let B=J;B<Q;B++)if($[B]==="\\")B++;else if($[B]==="`")return B;return-1}let W=1,Y={single:!1,double:!1},K=[];for(let B=J;B<Q;B++){let q=$[B];if((q===`
41
- `||q==="\r")&&K.length>0){let G=q==="\r"&&$[B+1]===`
42
- `?B+2:B+1,H=oJ($,G,Q,K.splice(0));if(!H.terminated)return-1;B=H.next-1;continue}let U=Uq($,B,J,Q,Y);if(U!==null){B=U;continue}if(!Y.double&&$.startsWith("$((",B)){let G=TF($,B+3,Q);if(G===-1)return-1;B=G+1;continue}if(X===")"&&!Y.double&&q==="<"&&$[B+1]==="<"&&$[B+2]!=="<"){let G=$[B+2]==="-",H=B+(G?3:2);while(H<Q&&/[ \t]/.test($[H]??""))H++;let L=iJ($,H,Q);if(L){K.push({delimiter:L.delimiter,quotedDelimiter:L.quoted,stripTabs:G,declarationSpan:{start:B,end:L.next},attach:()=>{return}}),B=L.next-1;continue}}if($.startsWith("$(",B)&&!$.startsWith("$((",B)){W++,B++;continue}if(q==="("&&!Y.double)W++;if(q===")"&&!Y.double){if(W--,W===0)return X==="))"&&$[B+1]!==")"?-1:B}}return-1}function TF($,J,Q){let X=1,W={single:!1,double:!1};for(let Y=J;Y<Q;Y++){let K=$[Y],B=Uq($,Y,J,Q,W);if(B!==null){Y=B;continue}if($.startsWith("$(",Y)&&!$.startsWith("$((",Y)){X++,Y++;continue}if(K==="("&&!W.double)X++;if(K!==")"||W.double)continue;if(X--,X===0)return $[Y+1]===")"?Y:-1}return-1}function Uq($,J,Q,X,W){let Y=$[J];if(Y==="\\"&&!W.single)return J+1;if(!W.double&&Y==="'")W.single=!W.single;if(!W.single&&Y==='"')W.double=!W.double;if(W.single)return J;if(W.double||Y!=="#"||!sF($,J,Q))return null;let K=J;while(K+1<X&&$[K+1]!==`
43
- `&&$[K+1]!=="\r")K++;return K}function _9($,J){let Q=$[J];if(Q===";")return";";if(Q==="&")return $[J+1]==="&"?"&&":"&";if(Q==="|")return $[J+1]==="|"?"||":$[J+1]==="&"?"|&":"|";return null}function wF($,J){let Q=$[J];if(Q===">"){if($[J+1]===">")return">>";if($[J+1]==="&")return">&";return $[J+1]==="|"?">|":">"}if(Q!=="<")return null;if($.startsWith("<<<",J))return"<<<";if($.startsWith("<<-",J))return"<<-";if($[J+1]==="<")return"<<";if($[J+1]==="&")return"<&";if($[J+1]===">")return"<>";return"<"}function D9($){let J=$.charCodeAt(0);if(J===32||J>=9&&J<=13)return!0;if(J<128)return!1;return/\s/u.test($)}function Gq($,J,Q){if($[J+1]==="{"){let W=$.indexOf("}",J+2);return W===-1||W>=Q?Q:W+1}let X=J+1;while(X<Q&&/[A-Za-z0-9_?@#$!*-]/.test($[X]??""))X++;return X===J+1?J+1:X}function vF($,J,Q){let X="",W=[],Y=J;while(Y<Q){let K=$[Y];if(K==="'")return{text:X,next:Y+1,closed:!0,issues:W};if(K!=="\\"){X+=K??"",Y++;continue}let B=fF($,Y+1,Q);if(X+=B.text,B.invalidCodePoint!==void 0)W.push({code:"invalid-ansi-c-code-point",message:`ANSI-C escape is not a valid Unicode scalar value: ${B.invalidCodePoint}`,span:{start:Y,end:B.next}});Y=B.next}return{text:X,next:Q,closed:!1,issues:W}}function fF($,J,Q){let X=$[J];if(!X||J>=Q)return{text:"\\",next:J};let W=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
44
- `],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(W.has(X))return{text:W.get(X)??X,next:J+1};if(X==="x")return N9($,J+1,Q,16,2,J+1);if(X==="u")return N9($,J+1,Q,16,4,J+1);if(X==="U")return N9($,J+1,Q,16,8,J+1);if(/[0-7]/.test(X))return N9($,J,Q,8,3,J+1);return{text:X,next:J+1}}function N9($,J,Q,X,W,Y){let K=X===16?/[0-9a-fA-F]/:/[0-7]/,B="",q=J;while(q<Q&&B.length<W&&K.test($[q]??""))B+=$[q],q++;if(!B)return{text:$[Y-1]??"",next:Y};let U=Number.parseInt(B,X);return U>1114111||U>=55296&&U<=57343?{text:"\uFFFD",next:q,invalidCodePoint:U}:{text:String.fromCodePoint(U),next:q}}function z9($,J=!1){if(J)return"limited";if($.some((Q)=>Q.code==="invalid-ansi-c-code-point"||Q.code==="missing-heredoc-delimiter"||Q.code==="ambiguous-heredoc-delimiter"||Q.code==="unterminated-heredoc"||Q.code==="unsupported-heredoc-context"))return"invalid";return $.length>0?"partial":"complete"}function Hq($,J,Q,X,W){let Y=Gq($,J,Q);return{text:X+$.slice(J,Y),provenance:U3(W,"variable"),next:Y}}function kF($,J,Q){let X=M9($),W=J,Y=!1,K=!1,B=J;while(B<Q){let q=$[B];if(q==="\\"&&!Y){B+=2;continue}if(!K&&q==="'"){Y=!Y,B++;continue}if(!Y&&q==='"'){K=!K,B++;continue}if(Y){B++;continue}let U=$.startsWith("$((",B),G=$.startsWith("$(",B)&&!U,H=!K&&($.startsWith("<(",B)||$.startsWith(">(",B)),L=q==="`";if(U||G||H||L){let Z=U?3:L?1:2,O=U?"))":L?"`":")",M=eJ($,B+Z,Q,O),V=M===-1?Q:M+O.length;X.push(W,B,"literal"),X.push(B,V,U?"arithmetic":"command-substitution"),B=V,W=V;continue}if(q==="$"){let Z=Gq($,B,Q);if(Z>B+1){X.push(W,B,"literal"),X.push(B,Z,"variable"),B=Z,W=Z;continue}}if(!K&&(q==="*"||q==="?"||q==="[")){X.push(W,B,"literal"),X.push(B,B+1,"glob"),B++,W=B;continue}B++}return X.push(W,Q,"literal"),X.parts}function U3($,J){if(J==="command-substitution"||$==="command-substitution")return"command-substitution";if(J==="arithmetic"||$==="arithmetic")return"arithmetic";if(J==="variable"||$==="variable")return"variable";if(J==="glob"||$==="glob")return"glob";return $}function hF($,J,Q){return J+1>=Q||D9($[J+1]??"")||_9($,J+1)!==null}var yF=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),gF=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function xF($){let J=0;while(J<=$.length){while(/^[A-Za-z_][A-Za-z0-9_]*=/.test($[J]?.text??""))J++;if(J===$.length)return!0;let Q=uF($,J);if(Q===void 0||Q===null)return!1;J=Q}return!1}function uF($,J){let Q=$[J]?.text.toLowerCase();if(Q==="command")return mF($,J);if(Q==="env")return lF($,J);if(Q==="sudo")return pF($,J);return}function mF($,J){if($[J+1]?.text==="-v")return null;for(let Q=J+1;Q<$.length;Q++){let X=$[Q]?.text??"";if(X==="--")return Q+1;if(X==="-p"||X==="-v"||X==="-V"||/^-[pvV]+$/.test(X))continue;return Q}return $.length}function lF($,J){for(let Q=J+1;Q<$.length;Q++){let X=$[Q]?.text??"";if(X==="--")return Q+1;if(yF.has(X)){if($[Q+1]===void 0)return null;Q++;continue}if(X.startsWith("-u=")||X.startsWith("--unset=")||X.startsWith("-C")&&X.length>2||X.startsWith("--chdir=")||X.startsWith("-S")&&X.length>2||X.startsWith("--split-string=")||X.startsWith("-P"))continue;if(X.startsWith("-")||/^[A-Za-z_][A-Za-z0-9_]*=/.test(X))continue;return Q}return $.length}function pF($,J){for(let Q=J+1;Q<$.length;Q++){let X=$[Q]?.text??"";if(X==="--")return Q+1;if(gF.has(X)){if($[Q+1]===void 0)return null;Q++;continue}if(X.startsWith("-"))continue;return Q}return $.length}function Zq($,J,Q,X){if($.provenance!=="literal"||!$.raw.includes("{"))return;let W=[$.raw],Y=$.raw.length,K=0;while(!0){let q=W.findIndex((O)=>Wq(O));if(q===-1)break;if(++K>Q)return{limited:!0};let U=W[q]??"",G=Wq(U);if(!G||G.kind==="range")return{limited:!0};let H=G.start+U.length-G.end,L=G.alternatives.reduce((O,M)=>O+H+M.length,0);if(Y-U.length+L>X||W.length-1+G.alternatives.length>J)return{limited:!0};let Z=Lq(U,G);W.splice(q,1,...Z),Y+=L-U.length}if(K===0)return;let B=W.map((q)=>rF(q,Q));if(B.some((q)=>q===null))return{limited:!0};return{words:[...new Set(B.filter((q)=>q!==null&&q!==""))]}}function cF($,J,Q,X,W){if(J.provenance!=="literal"||J.quoted||J.raw!==J.text||!J.raw.includes("{"))return;let Y=[J.text],K=J.text.length,B=0;while(!0){let U=Y.findIndex((V)=>Xq(V));if(U===-1)break;if(++B>X)return{limitCode:"depth-limit"};let G=Y[U]??"",H=Xq(G);if(!H)break;let L=H.start+G.length-H.end,Z=H.alternatives.filter((V)=>L+V.length>0),O=Z.reduce((V,F)=>V+L+F.length,0);if(K-G.length+O>W)return{limitCode:"brace-expansion-limit"};if(Y.length-1+Z.length>Q)return{limitCode:"word-limit"};let M=Lq(G,{...H,alternatives:Z});Y.splice(U,1,...M),K+=O-G.length}let q=Y.filter((U)=>U.length>0);if(B===0)return;return{words:q.map((U)=>$4($,J.span.start,J.span.end,U,"literal",!1))}}function Xq($){let J=[],Q;for(let X=0;X<$.length;X++){let W=$[X];if(W==="{"){J.push({start:X,commas:[]});continue}if(W===","&&J.length>0){J.at(-1)?.commas.push(X);continue}if(W!=="}"||J.length===0)continue;let Y=J.pop();if(!Y||Y.commas.length===0)continue;if(!Q||Y.start<Q.start)Q={start:Y.start,end:X+1,commas:Y.commas}}if(!Q)return;return{start:Q.start,end:Q.end,alternatives:Oq($,Q)}}function Wq($){let J=[],Q,X=null,W=!1;for(let Y=0;Y<$.length;Y++){let K=$[Y];if(W){W=!1;continue}if(K==="\\"&&X!=="'"){W=!0;continue}if(K===X){X=null;continue}if(X===null&&(K==="'"||K==='"')){X=K;continue}if(X!==null)continue;if(K==="{"){J.push({start:Y,commas:[]});continue}if(K===","&&J.length>0){J.at(-1)?.commas.push(Y);continue}if(K!=="}"||J.length===0)continue;let B=J.pop();if(!B)continue;let q=B.commas.length>0?{kind:"alternatives",start:B.start,end:Y+1,commas:B.commas}:dF($.slice(B.start+1,Y))?{kind:"range",start:B.start,end:Y+1}:void 0;if(q&&(!Q||q.start<Q.start))Q=q}if(!Q||Q.kind==="range")return Q;return{kind:Q.kind,start:Q.start,end:Q.end,alternatives:Oq($,Q)}}function Lq($,J){return J.alternatives.map((Q)=>`${$.slice(0,J.start)}${Q}${$.slice(J.end)}`)}function Oq($,J){let Q=[J.start,...J.commas,J.end-1];return Q.slice(0,-1).map((X,W)=>$.slice(X+1,Q[W+1]))}function dF($){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test($)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test($)}function rF($,J){let Q=`x${$}`,X=aJ(Q,0,Q.length,"posix",{maxInputLength:Q.length,maxWords:1,maxDepth:J},{used:0,max:1},0);if(X.limited||X.issues.length>0||X.next!==Q.length||X.word.provenance!=="literal")return null;return X.word.text.slice(1)}function iF($,J,Q,X,W){return I1({kind:"program",dialect:X,source:$.slice(J,Q),span:{start:J,end:Q},status:"limited",issues:[{code:W,message:"command structure exceeds parser limit",span:{start:J,end:Q}}],nodes:[]})}function J4($,J,Q,X,W){return{nodes:$,issues:[...J,{code:X,message:`command structure exceeds parser limit ${W}`,span:{start:Q,end:Q}}],next:Q,closed:!1,limited:!0,pendingHeredocs:[]}}function F9($,J,Q){return{nodes:$,issues:J,next:Q,closed:!1,limited:!0,pendingHeredocs:[]}}function nJ($){return $.used++,$.used<=$.max}function oF($,J,Q){let X=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec($.slice(J,Q)),W=X?.[1];if(!X||!W)return;return{name:W,braceIndex:J+X[0].lastIndexOf("{")}}function G3($){return $.some((J)=>{if(J.kind==="command")return J.redirections.some((Q)=>Q.heredoc)||J.nested.some((Q)=>G3(Q.nodes));return(J.kind==="group"||J.kind==="function")&&G3(J.body.nodes)})}function nF($){return $.map((J)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${J.delimiter} was not found`,span:J.declarationSpan}))}function Mq($){return $?.kind==="command"||$?.kind==="group"||$?.kind==="function"}function Yq($,J){let Q=$.at(-1);if(Q?.kind!=="connector"||!Kq.has(Q.operator))return;J.push({code:"missing-command-after-connector",message:`connector ${Q.operator} requires a following command`,span:Q.span})}function sJ($,J,Q){if(!Mq($.at(-1)))return;J.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:Q,end:Q+1}})}function sF($,J,Q){return J===Q||/[\s;&|()]/u.test($[J-1]??"")}var Nq=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Fq=["-rec","-for","-path","-literalpath","-whatif"],I9={maxInputLength:131072,maxWords:16384,maxDepth:64};function Vq($){let J=$.toLowerCase().replaceAll("`","");if(![...Nq].some((X)=>J.includes(X))&&!(J.includes("rm")&&Fq.some((X)=>J.includes(X)))&&!J.includes("<#"))return!1;let Q=$V($);return Q.invalidComment||Q.commands.some(aF)}function aF($){let J=$[0]==="&"||$[0]==="."?1:0,Q=$[J]?.toLowerCase();if(Q&&Nq.has(Q))return!0;if(Q!=="rm")return!1;return $.slice(J+1).some((X)=>{let W=X.toLowerCase().split(":",1)[0]??"";return Fq.some((Y)=>W.startsWith(Y))})}function _q($,J){let Q={start:0,end:$.length};if($.length>J.maxInputLength)return I1({kind:"program",dialect:"powershell",source:$,span:Q,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${J.maxInputLength} UTF-16 code units`,span:Q}],nodes:[]});let X=WQ($,0,$.length,J,0);return I1({kind:"program",dialect:"powershell",source:$,span:Q,status:JV(X.issues,X.limited),issues:X.issues,nodes:X.nodes})}function WQ($,J,Q,X,W,Y=!1){let K=H9(),B=Z9(),q=L9(),U=0,G=!1,H=()=>{if(q.words.length===0&&q.redirections.length===0)return;let Z={start:q.start,end:q.end};O9(K,q,{kind:"command",dialect:"powershell",source:$.slice(Z.start,Z.end),span:Z,words:q.words,redirections:q.redirections,nested:q.nested,dynamicExecutable:q.words[0]?.provenance!=="literal",displayText:q.words.map((O)=>O.text).join(" ")})},L=J;while(L<Q){let Z=$[L];if(!Z)break;if(Y&&Z==="}")return H(),{nodes:K,issues:B,next:L+1,closed:!0,words:U,limited:G};let O=Iq($,L,Q,X.maxDepth);if(O){if(O.issue)B.push(O.issue);if(O.limited)return H(),{nodes:K,issues:B,next:O.next,closed:!1,words:U,limited:!0};L=O.next;continue}if(/\s/.test(Z)){if(Z==="\r"||Z===`
45
- `){H();let F=Z==="\r"&&$[L+1]===`
46
- `?L+2:L+1;K.push($Q($,L,F)),L=F;continue}L++;continue}let M=YQ($,L);if(M){H(),K.push($Q($,L,L+M.length)),L+=M.length;continue}if(Z==="{"){if(H(),W>=X.maxDepth)return B.push(zq(L,X.maxDepth)),{nodes:K,issues:B,next:Q,closed:!1,words:U,limited:!0};let F=WQ($,L+1,Q,X,W+1,!0),P=F.closed?F.next-1:F.next,I=I1({kind:"program",dialect:"powershell",source:$.slice(L+1,P),span:{start:L+1,end:P},status:F.limited?"limited":F.issues.length>0?"partial":"complete",issues:F.issues,nodes:F.nodes});if(K.push(Object.freeze({kind:"group",style:"brace",span:Object.freeze({start:L,end:F.next}),body:I})),B.push(...F.issues),!F.closed)B.push({code:"unclosed-script-block",message:"PowerShell script block is not closed",span:{start:L,end:F.next}});U+=F.words,G||=F.limited,L=F.next;continue}if(Z==="}"){H(),K.push($Q($,L,L+1)),L++;continue}if(Z===">"||Z==="<"){q.start=q.start===-1?L:q.start;let F=$[L+1]===Z?L+2:L+1,P=F;while(/[ \t]/.test($[P]??""))P++;let I=P<Q?JQ($,P,Q,X,W):void 0,A=I?.next??F;if(q.redirections.push(Object.freeze({kind:"redirection",operator:$.slice(L,F),span:Object.freeze({start:L,end:A}),...I?{target:I.word}:{}})),I)B.push(...I.issues),q.nested.push(...I.nested),U+=I.words,G||=I.limited;q.end=A,L=A;continue}if(Z===","){q.start=q.start===-1?L:q.start,q.words.push(rJ({text:",",raw:",",span:{start:L,end:L+1},provenance:"literal",quoted:!1})),q.end=++L;continue}let V=JQ($,L,Q,X,W);if(q.start=q.start===-1?L:q.start,q.end=V.next,q.words.push(V.word),B.push(...V.issues),q.nested.push(...V.nested),U+=1+V.words,G||=V.limited,U>X.maxWords)return B.push({code:"word-limit",message:`command exceeds ${X.maxWords} words`,span:{start:L,end:V.next}}),H(),{nodes:K,issues:B,next:V.next,closed:!1,words:U,limited:!0};L=V.next>L?V.next:L+1}return H(),{nodes:K,issues:B,next:L,closed:!Y,words:U,limited:G}}function JQ($,J,Q,X,W){let Y="",K="literal",B=!1,q=[],U=[],G=0,H=!1,L=(O)=>{let M=tF($,O,Q,X,W);return Y+=$.slice(O,M.next),U.push(M.program),q.push(...M.program.issues),G+=QQ(M.program),H||=M.program.status==="limited",K="command-substitution",M.next},Z=J;while(Z<Q){let O=$[Z];if(!O||/\s/.test(O)||YQ($,Z)||O===">"||O==="<"||O==="#")break;if(O===",")break;if(O==="`"){let M=$[Z+1];if(!M){q.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:Z,end:Z+1}}),Z++;break}Y+=M,Z+=2;continue}if($.startsWith("$(",Z)){Z=L(Z);continue}if(O==="'"){B=!0,Z++;let M=!1;while(Z<$.length){if($[Z]==="'"&&$[Z+1]==="'"){Y+="'",Z+=2;continue}if($[Z]==="'"){M=!0,Z++;break}Y+=$[Z]??"",Z++}if(!M)q.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:J,end:$.length}});continue}if(O==='"'){B=!0;let M=Z++,V=!1;while(Z<Q){let F=$[Z];if(F==="`"&&$[Z+1]){Y+=$[Z+1],Z+=2;continue}if(F==='"'){V=!0,Z++;break}if($.startsWith("$(",Z)){Z=L(Z);continue}if(F==="$")K=$[Z+1]==="("?"command-substitution":"variable";Y+=F??"",Z++}if(!V)q.push({code:"unclosed-double-quote",message:"double-quoted word is not closed",span:{start:M,end:$.length}});continue}if(O==="$")K=$[Z+1]==="("?"command-substitution":"variable";if(O==="@"&&Z===J)K="variable";Y+=O,Z++}return{word:$4($,J,Z,Y,K,B,K==="literal"?void 0:eF($,J,Z)),next:Z,issues:q,nested:U,words:G,limited:H}}function tF($,J,Q,X,W){let Y=Dq($,J+2,Q),K=Y===-1?Q:Y,B=Y===-1?Q:Y+1;if(W>=X.maxDepth)return{program:I1({kind:"program",dialect:"powershell",source:$.slice(J+2,K),span:{start:J+2,end:K},status:"limited",issues:[zq(J,X.maxDepth)],nodes:[]}),next:B};let q=WQ($,J+2,K,X,W+1),U=Y===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:J,end:B}}]:[];return{program:I1({kind:"program",dialect:"powershell",source:$.slice(J+2,K),span:{start:J+2,end:K},status:q.limited?"limited":q.issues.length+U.length>0?"partial":"complete",issues:[...q.issues,...U],nodes:q.nodes}),next:B}}function Dq($,J,Q){let X=1,W=!1,Y=!1;for(let K=J;K<Q;K++){let B=$[K];if(B==="`"){K++;continue}if(!Y&&B==="'"){if(W&&$[K+1]==="'"){K++;continue}W=!W;continue}if(!W&&B==='"'){Y=!Y;continue}if(W)continue;if($.startsWith("$(",K)){X++,K++;continue}if(!Y&&B==="(")X++;if(B!==")")continue;if(X--,X===0)return K}return-1}function QQ($){let J=0;for(let Q of $.nodes){if(Q.kind==="group")J+=QQ(Q.body);if(Q.kind==="command"){J+=Q.words.length;for(let X of Q.nested)J+=QQ(X)}}return J}function eF($,J,Q){let X=M9($),W=J,Y=!1,K=J;while(K<Q){let B=$[K];if(B==="`"){K+=2;continue}if(B==="'"){if(Y&&$[K+1]==="'"){K+=2;continue}Y=!Y,K++;continue}if(Y){K++;continue}if($.startsWith("$(",K)){let q=Dq($,K+2,Q),U=q===-1?Q:q+1;X.push(W,K,"literal"),X.push(K,U,"command-substitution"),K=U,W=U;continue}if(B==="$"||B==="@"&&K===J){let q=K+1;if($[q]==="{"){let U=$.indexOf("}",q+1);q=U===-1||U>=Q?Q:U+1}else while(q<Q&&/[A-Za-z0-9_:?]/.test($[q]??""))q++;X.push(W,K,"literal"),X.push(K,q,"variable"),K=q,W=q;continue}K++}return X.push(W,Q,"literal"),X.parts}function zq($,J){return{code:"depth-limit",message:`command structure exceeds parser limit ${J}`,span:{start:$,end:$}}}function $V($){let J=[],Q=[],X=0,W=0,Y=!1,K=()=>{if(Q.length>0)J.push(Q);Q=[]};while(X<$.length&&X<131072&&W<16384){let B=$[X];if(B==="\r"||B===`
47
- `){K(),X+=B==="\r"&&$[X+1]===`
48
- `?2:1;continue}if(/\s/.test(B??"")){X++;continue}let q=Iq($,X,Math.min($.length,I9.maxInputLength),I9.maxDepth);if(q){Y||=!!q.issue||q.limited,X=q.next;continue}let U=YQ($,X);if(U){K(),X+=U.length;continue}if(B==="{"||B==="}"){K(),X++;continue}let G=JQ($,X,Math.min($.length,I9.maxInputLength),I9,0);if(G.word.text)Q.push(G.word.text);for(let H of G.nested)J.push(...XQ(H));W++,X=G.next>X?G.next:X+1}return K(),{commands:J,invalidComment:Y}}function XQ($){return $.nodes.flatMap((J)=>{if(J.kind==="group")return XQ(J.body);if(J.kind!=="command")return[];return[J.words.map((Q)=>Q.text),...J.nested.flatMap(XQ)]})}function YQ($,J){for(let Q of["&&","||",";","|"])if($.startsWith(Q,J))return Q;return null}function Iq($,J,Q,X){if($[J]==="#"&&$[J+1]!==">"){let K=J+1;while(K<Q&&$[K]!=="\r"&&$[K]!==`
49
- `)K++;return{next:K,limited:!1}}if(!$.startsWith("<#",J))return null;let W=1,Y=J+2;while(Y<Q){if($.startsWith("<#",Y)){if(W++,W>X)return{next:Q,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${X}`,span:{start:J,end:Y+2}},limited:!0};Y+=2;continue}if($.startsWith("#>",Y)){if(W--,Y+=2,W===0)return{next:Y,limited:!1};continue}Y++}return{next:Q,issue:{code:"unclosed-block-comment",message:"PowerShell block comment is not closed",span:{start:J,end:Q}},limited:!1}}function JV($,J){if(J)return"limited";if($.some((Q)=>Q.code==="unclosed-block-comment"))return"invalid";return $.length>0?"partial":"complete"}function $Q($,J,Q){return Object.freeze({kind:"connector",operator:$.slice(J,Q),span:Object.freeze({start:J,end:Q})})}var _2=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function t1($,J="auto",Q=_2){if(J==="powershell"||J==="auto"&&Vq($.slice(0,Q.maxInputLength)))return _q($,Q);return Bq($,"posix",Q)}function KQ($,J){if($!=="powershell")return J[0]?.provenance==="command-substitution";let Q=J[0]?.text==="&"||J[0]?.text==="."?1:0,X=J[Q]?.provenance;return X!==void 0&&X!=="literal"}var QV=/^[A-Za-z_][A-Za-z0-9_]*=/;function j9($,J){return $?.provenance==="literal"&&!$.quoted&&$.raw===J&&$.text===J}function R9($){let J=j9($.words[0],"time")?1:0,Q=J===1&&j9($.words[J],"-p")?J+1:J,X=J===1&&j9($.words[Q],"--")?Q+1:Q,W=j9($.words[X],"!")?X+1:X,Y=$.words.slice(W).find((K)=>!QV.test(K.text));return Y?.provenance==="literal"?Y.text:void 0}function H3($,J){if(J.escaped)return J.escaped=!1,!0;if($==="\\"&&!J.inSingle)return J.escaped=!0,!0;if($==="'"&&!J.inDouble)return J.inSingle=!J.inSingle,!0;if($==='"'&&!J.inSingle)return J.inDouble=!J.inDouble,!0;return!1}function Q4($){let J={inSingle:!1,inDouble:!1,escaped:!1};for(let Q of XV($))H3(Q,J);return J.inSingle||J.inDouble}function XV($){let J="",Q={inSingle:!1,inDouble:!1,escaped:!1},X=!1,W=!0;for(let Y=0;Y<$.length;Y++){let K=$[Y];if(!K)break;if(X){if(K===`
50
- `||K==="\r")J+=K,X=!1,Q.escaped=!1;continue}if(K==="#"&&!Q.inSingle&&!Q.inDouble&&W){X=!0;continue}if(J+=K,!Q.inSingle&&!Q.inDouble&&!Q.escaped)W=/[\s;&|()<>]/.test(K);H3(K,Q)}return J}var WV=new Set(["&&","||","|&","|","&",";"]),YV=new Set(["<<","<<<",">|"]),KV=/[*@#?$!_-]/,BQ=Object.freeze([]),BV=Object.freeze([]),qV=256;function Aq($,J){let Q=J.status==="complete"?new Set(UQ(J)):new Set,X=[...Q].reduce((K,B)=>K.slice(0,B.start)+" ".repeat(B.end-B.start)+K.slice(B.end),$);if(Q4(X))return P9("unclosed-quote",X,BQ);let W={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},Y=Z3(J,{source:X,suppressed:Q,flags:W,depth:0,functions:new Map});if(W.limited)return P9("structural-limit",X,BQ);if(W.invalid)return P9("invalid",X,BQ);return P9("complete",X,Y,W.assignmentFallbacks)}function P9($,J,Q,X=BV){return Object.freeze({status:$,source:J,entries:Object.freeze(Q),assignmentFallbacks:Object.freeze(X)})}function Z3($,J){return $.nodes.flatMap((Q,X)=>UV(Q,$,X,J)).sort((Q,X)=>Q.start-X.start).flatMap((Q)=>[...Q.entries])}function UV($,J,Q,X){if($.kind==="connector")return[{start:$.span.start,entries:[e1(OV($.operator))]}];if($.kind==="unknown")return[{start:$.span.start,entries:[e1($.source)]}];if($.kind==="function")return X.functions.set($.name,$.body),[];if($.kind==="group"){let Y=$.style!=="subshell",K=X.source[$.span.end-1]===(Y?"}":")"),B=Y?X:{...X,functions:new Map(X.functions)};return[{start:$.span.start,entries:[Y?b9("{"):e1("("),...Z3($.body,B),...K?[Y?b9("}"):e1(")")]:[]]}]}let W=NV($,X.functions);if(W){if(X.depth>=_2.maxDepth||++X.flags.expansions>qV)return X.flags.limited=!0,[];return[{start:$.span.start,entries:[...jq($,X),b9(";"),...Z3(W,{...X,depth:X.depth+1}),b9(";")]},...Rq($,J,Q,X)]}return[{start:$.span.start,entries:jq($,X)},...Rq($,J,Q,X)]}function jq($,J){return[...$.words.map((Q)=>({start:Q.span.start,entries:Sq(Q,$,J,!1)})),...$.redirections.map((Q)=>({start:Q.span.start,entries:GV(Q,$,J)}))].sort((Q,X)=>Q.start-X.start).flatMap((Q)=>Q.entries)}function GV($,J,Q){let X=$.operator==="<<-"?"<<":$.operator,W=$.target?Sq($.target,J,Q,!0):[],Y=W[0],K=Y?.kind==="word"?Y.text:void 0;return[...$.fd===void 0?[]:[GQ(String($.fd))],Object.freeze({kind:"redirection",operator:X,role:MV(X),targetOrder:YV.has(X)?"legacy-segment":"immediate",...K===void 0?{}:{target:K}}),...K===void 0?W:W.slice(1)]}function Rq($,J,Q,X){let W=$.redirections.filter((Y)=>Y.operator==="<<"||Y.operator==="<<-");return[...W.flatMap((Y)=>{let K=Y.heredoc;if(!K)return[];let B=[GQ(K.delimiter),.../[\r\n]/.test(X.source[K.terminatorSpan.end]??"")?[e1(";")]:[]];if(X.suppressed.has(K.bodySpan))return[{start:K.bodySpan.start,entries:B}];return[{start:K.bodySpan.start,entries:[...Eq(X.source.slice(K.bodySpan.start,K.bodySpan.end),X),...B]}]}),...W.some((Y)=>!Y.heredoc&&Y.target)?HV(J,Q,X):[]]}function HV($,J,Q){let X=$.nodes.slice(J+1).find((W)=>W.kind==="connector");if(!X||X.span.end>=$.span.end)return[];return[{start:X.span.end,entries:Eq(Q.source.slice(X.span.end,$.span.end),Q)}]}function Eq($,J){if(J.depth>=_2.maxDepth)return J.flags.limited=!0,[];let Q=t1($,"posix");if(Q.status==="limited")return J.flags.limited=!0,[];let X={invalid:!1,limited:!1,expansions:J.flags.expansions,assignmentFallbacks:J.flags.assignmentFallbacks},W=Z3(Q,{source:$,suppressed:new Set,flags:X,depth:J.depth+1,functions:new Map});return J.flags.limited||=X.limited,J.flags.expansions=X.expansions,W}function Sq($,J,Q,X){let W=[],Y={single:!1,double:!1},K="",B=!1,q=()=>{if(B&&!X)W.push(e1("glob"));else if(K!==""||$.quoted&&W.length===0)W.push(GQ(K));K="",B=!1};for(let U of $.parts){if(U.provenance!=="command-substitution"&&U.provenance!=="arithmetic"){for(let Z of qQ(U.raw,Y,Q.flags)){if(typeof Z==="string"){q(),W.push(e1(Z));continue}K+=Z.text,B||=Z.glob}continue}if(Y.double){let Z=Q.source.slice(U.span.start,U.span.end);K+=qQ(Z,{single:!1,double:!0},Q.flags).map((O)=>typeof O==="string"?O:O.text).join("");continue}let G=J.nested.find((Z)=>Z.span.start>=U.span.start&&Z.span.end<=U.span.end),H=G?Z3(G,Q):[];if(U.raw.startsWith("`")){K+="${}",q(),W.push(...H);continue}if(U.raw.startsWith("<(")||U.raw.startsWith(">(")){q(),W.push(U.raw.startsWith("<(")?e1("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...H,...U.raw.endsWith(")")?[e1(")")]:[]);continue}let L=U.raw.startsWith("$((")?2:1;K+="${}",q(),W.push(...Array.from({length:L},()=>e1("(")),...H,...U.raw.endsWith(")".repeat(L))?Array.from({length:L},()=>e1(")")):[])}return q(),W}function qQ($,J,Q){let X=[],W="",Y=!1,K=0;while(K<$.length){let B=$[K]??"";if(!J.single&&!J.double&&(B==="("||B===")")){X.push({text:W,glob:Y},B),W="",Y=!1,K++;continue}if(J.single){if(B==="'")J.single=!1;else W+=B;K++;continue}if(J.double){if(B==='"'){J.double=!1,K++;continue}if(B==="\\"){let q=$[K+1]??"";W+=['"',"\\","$"].includes(q)?q:`\\${q}`,K+=2;continue}if(B==="$"){let q=Pq($,K,J,Q);W+=q.text,K=q.next;continue}W+=B,K++;continue}if(B==="'"||B==='"'){J.single=B==="'",J.double=B==='"',K++;continue}if(B==="\\"){let q=$[K+1]??"";Y||=q==="*"||q==="?",W+=q,K+=2;continue}if(B==="$"){let q=Pq($,K,J,Q);W+=q.text,K=q.next;continue}Y||=B==="*"||B==="?",W+=B,K++}return[...X,{text:W,glob:Y}]}function Pq($,J,Q,X){let W=$[J+1];if(W==="{"){let K=LV($,J+2);if(K===-1)return X.invalid=!0,{text:"",next:$.length};let B=$.slice(J,K+1);return ZV(B,Q,X),{text:B,next:K+1}}if(W!==void 0&&KV.test(W))return{text:`\${${W}}`,next:J+2};let Y=/^\w*/.exec($.slice(J+1))?.[0]??"";return{text:`\${${Y}}`,next:J+1+Y.length}}function ZV($,J,Q){let X=$.slice(2,-1),W=/^[A-Za-z_][A-Za-z0-9_]*/.exec(X)?.[0];if(!W)return;let Y=X.slice(W.length),K=[":=","="].find((q)=>Y.startsWith(q));if(!K)return;let B=qQ(Y.slice(K.length),{...J},Q);Q.assignmentFallbacks.push(...B.flatMap((q)=>typeof q==="string"||!q.text?[]:[q.text]))}function LV($,J){let Q=1,X=J;while(Q>0&&X<$.length){if($[X]==="{"&&$[X-1]==="$")Q++;else if($[X]==="}")Q--;X++}return Q===0?X-1:-1}function OV($){return/^[\r\n]+$/.test($)?";":$}function e1($){return Object.freeze({kind:"operator",operator:$,boundary:WV.has($)})}function b9($){return Object.freeze({kind:"operator",operator:$,boundary:!0})}function GQ($){return Object.freeze({kind:"word",text:$})}function MV($){if($==="<<"||$==="<<<")return"here-data";if($==="<"||$==="<&")return"file-read";return"file-write"}function UQ($){return $.nodes.flatMap((J,Q)=>{if(J.kind==="group"||J.kind==="function")return UQ(J.body);if(J.kind!=="command")return[];let X=J.nested.flatMap((K)=>UQ(K)),W=$.nodes[Q+1];if(W?.kind==="connector"&&(W.operator==="|"||W.operator==="|&")||!VV(J))return X;return[...X,...J.redirections.flatMap((K)=>K.heredoc?.quotedDelimiter?[K.heredoc.bodySpan]:[])]})}function NV($,J){let Q=R9($);return Q===void 0?void 0:J.get(Q)}function n0($,J){return $!==void 0&&$.provenance==="literal"&&!$.quoted&&$.raw===$.text&&$.text===J}function FV($){if(n0($.words[0],"git"))return n0($.words[1],"commit");if(!n0($.words[0],"gh")||!n0($.words[2],"create"))return!1;return n0($.words[1],"pr")||n0($.words[1],"issue")}function VV($){return(n0($.words[0],"cat")||n0($.words[0],"tee")||FV($))&&!$.words.some(bq)&&!$.redirections.some((Q)=>bq(Q.target))}function bq($){return $?.parts.some((J)=>J.provenance==="command-substitution"&&J.raw.startsWith(">("))??!1}import{types as _V}from"util";var DV=new Set(["applypatch","patch"]),zV=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),IV=new Set(["grep","grepsearch","rg"]),jV=new Set(["findbyname","glob"]),RV=new Set(["findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),PV=new Set(["command","diff","input","patch","patchtext"]),Cq=new TextEncoder,bV=new TextDecoder,AV=/\s/,EV=64;class f0 extends Error{name="ToolInputLimitError";constructor(){super("tool input traversal limit exceeded")}}var L3=Object.freeze({maxDepth:64,maxNodes:1e4,maxKeys:1e4,maxStringBytes:1048576,maxAggregateStringBytes:4194304});function kq($){return $.replace(/[-_\s]/g,"").toLowerCase()}function E9($){return RV.has(kq($))}function OQ($){let J=kq($);if(DV.has(J))return"patch";if(IV.has(J))return"grep";if(jV.has(J))return"glob";if(zV.has(J))return"path";return"unknown"}function X4($){if(!$||typeof $!=="object")return;uq($);let J=Object.getOwnPropertyDescriptor($,"command");if(!J){if("command"in $)H0();return}if(J.get||J.set)H0();let Q=J.value;return typeof Q==="string"&&Q!==""?Q:void 0}function MQ($,J){return hq($,J,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function hq($,J,Q,X){let W=xq($,Q,X);if(!W)return[];let Y=W.entries.flatMap(([K,B])=>{let q=hq(B,J,Q,X+1);return typeof B==="string"&&J.has(yq(K))?[B]:q});return Q.ancestors.delete(W.object),Y}function yq($){return $.replace(/-/g,"_").toLowerCase()}function NQ($){return gq($,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(CV)}function gq($,J,Q,X){let W=xq($,Q,X);if(typeof $==="string")return J?[$]:[];if(!W)return[];let Y=W.entries.flatMap(([K,B])=>gq(B,W.array?J:PV.has(yq(K)),Q,X+1));return Q.ancestors.delete(W.object),Y}function SV($,J,Q){if(J.nodes++,$!==null&&typeof $==="object"&&Q>L3.maxDepth||J.nodes>L3.maxNodes)H0();if(typeof $!=="string")return;let X=Buffer.byteLength($);if(J.stringBytes+=X,X>L3.maxStringBytes||J.stringBytes>L3.maxAggregateStringBytes)H0()}function xq($,J,Q){if(SV($,J,Q),!$||typeof $!=="object")return null;let X=uq($);if(J.ancestors.has($))H0();let W=Reflect.ownKeys($);if(J.keys+=W.length,J.keys>L3.maxKeys)H0();let Y=W.flatMap((K)=>{let B=Object.getOwnPropertyDescriptor($,K);if(!B||B.get||B.set)H0();return typeof K==="string"&&B.enumerable?[[K,B.value]]:[]});return J.ancestors.add($),{object:$,array:X,entries:Y}}function uq($){if(_V.isProxy($))H0();let J=Array.isArray($),Q=Object.getPrototypeOf($);if(J&&Q!==Array.prototype||!J&&Q!==Object.prototype&&Q!==null)H0();return J}function H0(){throw new f0}function CV($){let J=[],Q=$.split(/\r?\n/),X=!1,W=!1,Y=null,K=null,B=()=>{W=!1,Y=null,K=null};for(let q=0;q<Q.length;q++){let U=Q[q]??"";if(U==="*** Begin Patch"){X=!0,B();continue}if(U==="*** End Patch"){X=!1,B();continue}if(U.startsWith("@@")){let G=TV(U);if(W=!0,Y=G?.oldLines??null,K=G?.newLines??null,Y===0&&K===0)B();continue}if(W&&Y!==null&&K!==null){let G=U.startsWith(" ")||U.startsWith("-")?1:0,H=U.startsWith(" ")||U.startsWith("+")?1:0;if(Y=Math.max(0,Y-G),K=Math.max(0,K-H),Y===0&&K===0)B();continue}if(U.startsWith("*** ")){B(),J.push(...HQ(U));continue}if(W)continue;if(U.startsWith("diff --git ")){J.push(...HQ(U));continue}if(U.startsWith("--- ")){let G=Q[q+1]??"";if(!G.startsWith("+++ "))continue;J.push(...LQ(A9(U.slice(4),!0),A9(G.slice(4),!0))),q++;continue}if(!X)J.push(...HQ(U))}return J}function TV($){let J=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec($);if(!J)return null;return{oldLines:Number(J[1]??1),newLines:Number(J[2]??1)}}function HQ($){let J=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec($);if(J?.[1])return fq(J[1]);let Q=/^\*\*\* Move to: (.+)$/.exec($);if(Q?.[1])return fq(Q[1]);if($.startsWith("diff --git "))return wV($.slice(11));let X=/^--- (.+)$/.exec($);if(X?.[1])return vq(X[1]);let W=/^\+\+\+ (.+)$/.exec($);if(W?.[1])return vq(W[1]);let Y=/^(?:rename|copy) (?:from|to) (.+)$/.exec($);if(Y?.[1])return xV(Y[1]);return[]}function wV($){let J=vV($);if(J.length===2&&J[0]&&J[1])return LQ(J[0],J[1]);let Q=fV($);return Q?LQ($.slice(Q.oldStart,Q.oldEnd),$.slice(Q.newStart,Q.newEnd)):[]}function vV($){let J=[],Q=0;while(Q<$.length&&J.length<2){while(D2($[Q]))Q++;if(Q>=$.length)break;let X=$[Q]==='"'||$[Q]==="'"?$[Q]:void 0;if(!X){let Y=Q;while(Q<$.length&&!D2($[Q]))Q++;J.push($.slice(Y,Q));continue}let W=mq($,Q,X);if(!W)return[];J.push(W.value),Q=W.end}while(D2($[Q]))Q++;return Q===$.length?J:[]}function fV($){let J=0;while(J<$.length&&D2($[J]))J++;let Q=$.length;while(Q>J&&D2($[Q-1]))Q--;let X=0,W=J;while(W<Q){if(!D2($[W])){W++;continue}let Y=W;while(W<Q&&D2($[W]))W++;if(Y===J||W===Q)continue;if(X++,X>EV)H0();if(kV($,J,Y,W,Q))return{oldStart:J,oldEnd:Y,newStart:W,newEnd:Q}}return null}function kV($,J,Q,X,W){if(ZQ($,J,Q,X,W))return!0;let Y=Tq($,"/",J,Q),K=Tq($,"/",X,W);if(Y<=J||K<=X)return!1;if(ZQ($,J,Y,X,K))return!1;return ZQ($,Y+1,Q,K+1,W)}function ZQ($,J,Q,X,W){if(Q-J!==W-X)return!1;for(let Y=0;Y<Q-J;Y++)if($[J+Y]!==$[X+Y])return!1;return!0}function Tq($,J,Q,X){for(let W=Q;W<X;W++)if($[W]===J)return W;return-1}function D2($){return $!==void 0&&AV.test($)}function mq($,J,Q){let X=[],W=J+1;while(W<$.length){let Y=$[W]??"";if(Y===Q)return{value:bV.decode(Uint8Array.from(X)),end:W+1};if(Y!=="\\"||Q==="'"){X.push(...Cq.encode(Y)),W++;continue}let K=$.slice(W+1),B=/^[0-7]{1,3}/.exec(K)?.[0];if(B){X.push(Number.parseInt(B,8)),W+=B.length+1;continue}X.push(...Cq.encode(hV(K[0]??""))),W+=2}return null}function hV($){return{a:"\x07",b:"\b",f:"\f",n:`
51
- `,r:"\r",t:"\t",v:"\v"}[$]??$}function yV($){return O3(uV($))}function LQ($,J){if($==="/dev/null")return wq(J);if(J==="/dev/null")return wq($);if($.startsWith("a/")&&J.startsWith("b/"))return[$.slice(2),J.slice(2)].flatMap(O3);let Q=gV($,J)??($===J?lq($):null);return[$,J,...Q?[Q]:[]].flatMap(O3)}function wq($){let J=lq($);return[$,...J?[J]:[]].flatMap(O3)}function lq($){let J=$.indexOf("/");return J>0&&J<$.length-1?$.slice(J+1):null}function gV($,J){let Q=$.indexOf("/"),X=J.indexOf("/");if(Q<1||X<1)return null;if($.slice(0,Q)===J.slice(0,X))return null;let W=$.slice(Q+1);return W===J.slice(X+1)?W:null}function vq($){return yV(A9($,!0))}function xV($){return O3(A9($,!1))}function A9($,J){let Q=$.trim(),X=Q[0]==='"'||Q[0]==="'"?Q[0]:void 0;if(X){let W=mq(Q,0,X);if(W&&(J||Q.slice(W.end).trim()===""))return W.value}return J?Q.split("\t",1)[0]?.trim()??"":Q}function uV($){return $.startsWith("a/")||$.startsWith("b/")?$.slice(2):$}function O3($){return $===""||$==="/dev/null"?[]:[$]}function fq($){let J=$.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return J===""||J==="/dev/null"?[]:[J]}var cq=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),dq=new Set([...cq,"glob"]),lV=new Set([...dq,"pattern"]),pV=Object.freeze([]),rq={parseCommand:t1,projectShellSyntax:Aq};class s0 extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function S9($,J={}){let Q=cV({...rq,...J}),X=X4($.input),W=[];if(($.route.kind==="command"||$.route.kind==="unknown")&&X)W.push({usage:"input-candidate",source:X});if($.route.kind==="command"&&"command"in $&&$.command)W.push({usage:"declared-command",source:$.command});let Y=W.reduce((K,B)=>{let q=K.findIndex((H)=>H.source===B.source);if(q!==-1){let H=K[q];if(!H)return K;return K[q]=pq({...H,usages:[...H.usages,B.usage]}),K}let U=$.route.kind==="command"?$.route.shell:"posix",G=Q.getCommandProgram(B.source,U);return K.push(pq({usages:[B.usage],source:B.source,program:G,views:FQ(G),uncertainties:G.issues,shell:Q.getShellSyntax(B.source,G)})),K},[]);return Object.freeze({invocation:Object.freeze({toolName:$.toolName,route:Object.freeze({...$.route}),context:Object.freeze({...$.context,...$.context.policyConfigCwds?{policyConfigCwds:Object.freeze([...$.context.policyConfigCwds])}:{}})}),commands:Object.freeze(Y),paths:Object.freeze(dV($)),store:Q})}function v1($,J){return $.commands.find((Q)=>Q.usages.includes(J))}function Z0($){if(!$.includes("$"))return $;return x6($,C0())}function cV($={}){let J={...rq,...$},Q=new Map,X=new Map,W=new WeakMap,Y=(B,q)=>{let U=`${q}\x00${B}`,G=X.get(U);if(G)return G;let H=J.parseCommand(B,q);return X.set(U,H),H};return Object.freeze({getShellSyntax:(B,q)=>{if(q&&q.source!==B)throw TypeError("Shell syntax source does not match command program source.");let U=q??Y(B,"posix");if(U.status==="limited"){let L=W.get(U);if(L)return L;let Z=Object.freeze({status:"structural-limit",source:B,entries:pV,assignmentFallbacks:Object.freeze([])});return W.set(U,Z),Z}let G=Q.get(B);if(G)return G;let H=J.projectShellSyntax(B,U);return Q.set(B,H),H},getCommandProgram:Y})}function pq($){return Object.freeze({...$,usages:Object.freeze([...$.usages]),views:Object.freeze([...$.views]),uncertainties:Object.freeze([...$.uncertainties])})}function FQ($){return Object.freeze($.nodes.flatMap((J)=>{if(J.kind==="group")return[...FQ(J.body)];if(J.kind!=="command")return[];return[...J.nested.flatMap((Q)=>[...FQ(Q)]),J]}))}function dV($){let J=$.route.kind==="grep"?dq:$.route.kind==="glob"?lV:cq,Q=$.route.kind==="grep"||$.route.kind==="glob"?"read":$.route.kind==="patch"?"write":"unknown";return[...MQ($.input,J).map((X)=>Object.freeze({raw:X,role:"tool-path",access:Q})),...$.route.kind==="patch"?NQ($.input).map((X)=>Object.freeze({raw:X,role:"patch-target",access:"write"})):[]]}function f1($,J){let Q=new Set,X=!1;for(let W of $){if(W==="--"){X=!0;continue}if(X)continue;if(W.startsWith("-")&&!W.startsWith("--")&&W.length>1)for(let Y=1;Y<W.length;Y++){let K=W[Y];if(!K||!/[a-zA-Z]/.test(K))break;let B=`-${K}`;if(Q.add(B),J?.shortOptsWithValue?.has(B))break}}return Q}var rV=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),iV=new Map([["zsh",new Set(["o"])]]),oV=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function iq($,J){for(let Q=0;Q<J.length;Q++){let X=J[Q];if(X===void 0||X==="--"||X==="-"||X[0]!=="-"&&X[0]!=="+")return null;if(X.startsWith("--")){let K=oV.get($);if(sV(X,K))continue;if(!K?.has(X))continue;if(J[Q+1]===void 0)return null;Q++;continue}let W=nV($,X);if(W.commandSelected)return J[Q+W.followingValues+1]??null;let Y=J[Q+1];if($==="ksh"&&(X==="-o"||X==="+o")&&Y!==void 0&&Y[0]!=="-"&&Y[0]!=="+")Q++;Q+=W.followingValues}return null}function nV($,J){let Q=rV.get($),X=iV.get($),W=!1,Y=0;for(let K=1;K<J.length;K++){let B=J[K];if(B===void 0)break;if(J[0]==="-"&&B==="c")W=!0;if($==="ksh"&&B==="o"){if(K+1<J.length){let q=J.slice(K+1);if(!W&&J[0]==="-"&&q==="c")continue;if(!W&&J[0]==="-"&&q[0]==="-"&&q.endsWith("c"))W=!0;break}if(W)Y++;continue}if(!Q?.has(B))continue;if(X?.has(B)&&K+1<J.length)break;Y++}return{commandSelected:W,followingValues:Y}}function sV($,J){return J!==void 0&&[...J].some((Q)=>$.startsWith(`${Q}=`))}var eV=new Set(["-S","--suffix"]);function C9($,J,Q,X){if($.status==="structural-limit")throw new s0;if($.status!=="complete")return X.findMalformedTarget($.source);let W={cwd:J,variables:new Map},Y=[];for(let K of $.entries){if(K.kind==="operator"){if(!K.boundary)continue;let B=X.findSegmentTarget(Y,W);if(B)return B;W=$_(Y,W,Q,X.normalizeCwd),Y=[];continue}if(K.kind==="redirection"){if(K.role==="file-write"&&K.target&&X.isRedirectionTarget(k1(K.target,W.variables),W))return K.target;continue}Y.push(K.text)}return X.findSegmentTarget(Y,W)}function k1($,J){return $.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(Q,X,W,Y)=>{let K=J.get(X);if(K===void 0)return Q;let B=W.startsWith(":")?K!=="":!0;if(W.endsWith("-"))return B?K:k1(Y,J);return B?k1(Y,J):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(Q,X)=>J.get(X)??Q).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(Q,X)=>J.get(X)??Q)}function M3($){return $.length>0&&$.every((J)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(J))}function M1($,J,Q){let X=Q.environment.home,W=x6($.trim(),Q.environment).replace(/\\/g,"/");if(!W)return"";let Y=W==="~"?X:W.startsWith("~/")?oq(X,W.slice(2)):W;return s(tV(aV(Y)?Y:oq(J,Y)),Q.environment.paths,Q).replace(/\\/g,"/")}function T9($){let J=[],Q=null,X=!1;for(let W=0;W<$.length;W++){let Y=$[W];if(Y===void 0)break;if(!X&&Y==="--"){X=!0;continue}if(!X&&(Y==="-t"||Y==="--target-directory")){Q=$[++W]??null;continue}if(!X&&Y.startsWith("--target-directory=")){Q=Y.slice(19);continue}if(!X&&Y.startsWith("-t")&&Y.length>2){Q=Y.slice(2);continue}if(!X&&eV.has(Y)){W++;continue}if(!X&&(Y.startsWith("--suffix=")||Y.startsWith("--backup=")))continue;if(!X&&Y.startsWith("-"))continue;J.push(Y)}return Q?{sources:J,destination:Q}:{sources:J.slice(0,-1),destination:J.at(-1)??null}}function $_($,J,Q,X){let W=M3($)?new Map([...J.variables,...J_($,J.variables)]):J.variables,Y=c1([...$],Q.environment),K=l(Y[0]??"").toLowerCase()==="cd"?Y[1]:void 0;return{cwd:!K||K==="-"?J.cwd:X(k1(K,W),J.cwd,Q),variables:W}}function J_($,J){return $.flatMap((Q)=>{let X=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(Q),W=X?.[2]?.startsWith("=")?X[2].slice(1):void 0;return X?.[1]!==void 0&&W!==void 0?[[X[1],k1(W,J)]]:[]})}var d1="Git metadata and hooks are protected. Ask the user before modifying them.";function tq($,J=_Q($.invocation.context.executionCwd)){let Q=Z2(C0()),X=$.invocation.context.executionCwd;if(!J)return null;if($.invocation.route.kind==="patch"||$.invocation.route.kind==="path"||$.invocation.route.kind==="unknown"){if(E9($.invocation.toolName))return null;let K=$.paths.find((B)=>B_(B.raw,X,J,Q))?.raw;return K?{target:K}:null}if($.invocation.route.kind!=="command")return null;let W=v1($,"input-candidate");if(!W)return null;let Y=C9(W.shell,X,Q,{findSegmentTarget:(K,B)=>U_(K,B,J,Q),isRedirectionTarget:(K,B)=>q_(K,B.cwd,J,Q),findMalformedTarget:()=>null,normalizeCwd:M1});return Y?{target:Y}:null}function _Q($,J=Z2(C0())){if(typeof $!=="string"||!$)return null;let Q=J3(M1($,$,J));if(!Q)return null;try{let X=M1(Q,$,J),W=Q_(Q),Y=W.isFile()?X:null,K=W.isFile()?gJ(Q):null,B=(W.isDirectory()?[X]:[K?.gitDir,K?.commonDir]).flatMap((U)=>U?[L0(M1(U,$,J))]:[]),q=[...new Set(W.isDirectory()?[L0(Q.replace(/\\/g,"/")),...B]:B)];return Object.freeze({entry:L0(X),markerFile:Y?L0(Y):null,directories:Object.freeze(q),hooksDirectories:Object.freeze([...new Set(q.flatMap((U)=>{let G=L0(X_(U,"hooks"));return[G,L0(M1(G,$,J))]}))])})}catch{return null}}function z2($,J,Q,X,W,Y=!1){if(!Q)return!1;let K=L0(M1($,J,W)),B=K.replace(/(\/\.?\*+)+$/,"");if(B!==K&&B!==""){if(VQ(B,Q))return!0;let q=Y||K.slice(B.length).includes("/."),U=(G)=>q?w9(G,B):W_(G,B);if(Q.markerFile&&U(Q.markerFile))return!0;return X&&nq(Q).some(U)}if(VQ(K,Q))return!0;return X&&nq(Q).some((q)=>w9(q,K))}function W_($,J){let Q=aq(J,$);if(Q===""||Q.startsWith("..")||sq(Q))return!1;return!Q.split(/[\\/]/)[0]?.startsWith(".")}function Y_($,J,Q,X){return z2($,J,Q,!0,X)}function K_($,J,Q,X){if(!Q)return!1;return VQ(L0(M1($,J,X)),Q)}function B_($,J,Q,X){if(!Q)return!1;return eq($,J,Q,X,Q.entry)}function q_($,J,Q,X){if(!Q)return!1;return eq($,J,Q,X,Q.markerFile)}function eq($,J,Q,X,W){let Y=L0(M1($,J,X));return Y===W||JU(Y,Q)}function $U($,J,Q,X){if(!Q)return!1;return Q.hooksDirectories.some((W)=>$.some((Y)=>w9(W,L0(M1(Y,J,X)))))}function VQ($,J){return $===J.entry||J.directories.includes($)||JU($,J)}function JU($,J){return J.hooksDirectories.some((Q)=>w9($,Q))}function nq($){return[$.entry,...$.directories,...$.hooksDirectories]}function w9($,J){let Q=aq(J,$);return Q===""||!/^\.\.(?:[\\/]|$)/.test(Q)&&!sq(Q)}function L0($){return process.platform==="win32"?$.toLowerCase():$}function U_($,J,Q,X){if(M3($))return null;let W=c1([...$],X.environment);if(l(W[0]??"").toLowerCase()!=="mv")return null;let Y=T9(W.slice(1)),K=Y.sources.find((B)=>Y_(k1(B,J.variables),J.cwd,Q,X));if(K)return K;return Y.destination&&K_(k1(Y.destination,J.variables),J.cwd,Q,X)?Y.destination:null}import{isAbsolute as DQ,join as G_,normalize as H_,sep as v9}from"path";var QU=process.platform==="win32",Z_=/[*?]/;function N3($,J){if($==="~")return J;if($.startsWith("~/"))return`${J}${$.slice(1)}`;return $}function k9($,J){if(typeof $!=="string"||$.trim()==="")return"must be a non-empty path string";let Q=N3($.trim(),J);if(!DQ(Q))return"must be an absolute path or start with ~/";return F3(Q,J)}function h9($,J){let Q=XU($,J);if(Q===null)return"must be a non-empty path string";if(!DQ(Q))return null;if(F3(Q,J)===null)return null;return"cannot be the home directory or a path above it (this would block every command the agent runs)"}var L_="cannot cover the home directory or a path above it (this would disable secret protection everywhere)",O_="cannot cover the guard's own configuration";function XU($,J){if(typeof $!=="string"||$.trim()==="")return null;return N3($.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),J)}function y9($,J){let Q=XU($,J);if(Q===null)return"must be a non-empty path string";if(Z_.test(Q))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!DQ(Q))return null;if(F3(Q,J)!==null)return L_;return M_(Q,J)?O_:null}function M_($,J){let Q=f9($),X=f9(G_(J,".cc-safety-net"));return Q===X||Q.startsWith(`${X}${v9}`)}function F3($,J){let Q=f9($),X=f9(J);if(Q===X)return"cannot be the home directory";let W=Q.endsWith(v9)?Q:`${Q}${v9}`;if(X.startsWith(W))return"cannot contain the home directory";return null}function f9($){let J=H_($);if(QU)J=J.replace(/\//g,"\\").toLowerCase();if(J.length>(QU?3:1)&&J.endsWith(v9))J=J.slice(0,-1);return J}var V_=process.platform==="win32",WU=64,__=16384;function V3($){let J=Zq($,WU,WU,__);return{expandedTargets:J&&"words"in J?J.words:void 0,unsafeBraceExpansion:J!==void 0&&"limited"in J,targetIsLiteral:J===void 0&&$.provenance==="literal"&&($.quoted||$.raw!==$.text),tmpdirWordSplittingProtected:D_($)}}function D_($){let J=$.parts.filter((Q)=>Q.provenance==="variable"&&/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(Q.raw));return J.length>0&&J.every((Q)=>z_($.raw,Q.span.start-$.span.start))}function z_($,J){let Q=null,X=!1;for(let W=0;W<J;W++){let Y=$[W];if(X){X=!1;continue}if(Y==="\\"&&Q!=="'"){X=!0;continue}if(Q===Y){Q=null;continue}if(Q===null&&(Y==="'"||Y==='"'))Q=Y}return Q==='"'}function I2($){let J=$.environment.home,Q=$.environment.paths,X=Z2($.environment);return{anchoredCwd:$.originalCwd??$.cwd??null,resolvedCwd:$.cwd??null,strict:$.strict??!1,paranoid:$.paranoid??!1,trustTmpdirVar:$.allowTmpdirVar??!0,posixShell:$.posixShell??!1,tmpdirWordSplittingUnsafe:$.tmpdirWordSplittingUnsafe??!1,trustedTmpdirValue:$.trustedTmpdirValue??$.allowTmpdirVar??!0,environment:$.environment,allowRoots:b_($.allowPaths,J,Q,X),protectedGitMetadata:$.protectedGitMetadata,pathCanonicalizationContext:X}}function $0($,J,Q={}){let X=Q.targetIsLiteral??!1;if(!X&&J.tmpdirWordSplittingUnsafe&&!Q.tmpdirWordSplittingProtected&&E_($))return{kind:"outside_anchored_cwd"};let W=!X&&qU($,J.posixShell);if(H2($))return{kind:"outside_anchored_cwd"};if(RQ($,X))return{kind:"root_or_home_target"};if(I_($,J))return{kind:"root_or_home_target"};if(J.resolvedCwd&&z2($,J.resolvedCwd,J.protectedGitMetadata,!0,J.pathCanonicalizationContext,!J.posixShell))return{kind:"git_metadata_target"};if(j_($,J.trustTmpdirVar,J.posixShell,W,X,Q.tmpdirWordSplittingProtected??!1,J.trustedTmpdirValue,J.environment))return{kind:"temp_target"};if(W)return{kind:"dynamic_target"};if(A_($,J,X))return{kind:"temp_target"};let Y=J.anchoredCwd;if(Y){if(!Q.skipHomeCwd&&w_(Y,J.environment.home,J.environment.paths,J.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!Q.skipCwdSelf&&v_($,J.resolvedCwd??Y,J.environment.paths,J.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(f_($,Y,J.resolvedCwd??Y,W,X,J.environment.paths,J.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function KU($,J,Q={}){let{containmentTarget:X,...W}=Q;if($0($,J,W).kind!=="temp_target")return!1;let Y=$.trim();if(P_(Y))return!1;if(dB(Y,J.environment))return!1;return![J.anchoredCwd,J.resolvedCwd].some((K)=>k_(X??Y,K,J.environment.paths,J.pathCanonicalizationContext))}function RQ($,J=!1){let Q=$.trim(),X=YU.normalize(Q),W=Q.replace(/\\/g,"/"),Y=X==="/"?X:X.replace(/\/+$/,"");if(Y==="/"||Y.startsWith("/")&&Y.slice(1).split("/").every((K)=>/^\*+$/.test(K)))return!0;if(/^[A-Za-z]:\/+\*?$/.test(W)||/^\/\/[^/]+\/+[^/]+(?:\/+\*?)?$/.test(W))return!0;if(!J&&(X==="~"||X==="~/"||X==="~/*"))return!0;if(!J&&(X==="$HOME"||X==="$HOME/"||X==="$HOME/*"))return!0;if(!J&&(X==="${HOME}"||X==="${HOME}/"||X==="${HOME}/*"))return!0;return!1}function I_($,J){let Q=$.trim(),X=Q.endsWith("/*")?Q.slice(0,-2):Q;if(!X)return!1;try{let W=jQ(X)?X:J.resolvedCwd?W4(J.resolvedCwd,X):null;if(!W)return!1;let Y=j1(s(W,J.environment.paths,J.pathCanonicalizationContext));if(Y===F_(Y).root)return!0;return Y===j1(s(J.environment.home,J.environment.paths,J.pathCanonicalizationContext))}catch{return!1}}function j1($){let J=N_($);if(V_){if(J=J.replace(/\//g,"\\").toLowerCase(),J.length>3&&J.endsWith("\\"))J=J.slice(0,-1);return J}if(J.length>1&&J.endsWith("/"))J=J.slice(0,-1);return J}function j_($,J,Q,X,W,Y,K,B){let q=$.trim();if(BU(q))return!1;if(!X&&cJ(q,B))return!0;return(J||Y&&K)&&Q&&!W&&R_(q,Q)}function R_($,J){return["$TMPDIR","${TMPDIR}"].some((Q)=>{if($===Q)return!0;if(!$.startsWith(`${Q}/`))return!1;return!qU($.slice(Q.length+1),J)})}function P_($){let J=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec($);if(!J)return!1;return YU.normalize(`/${J[1]??""}`)==="/"}function BU($){return $.split(/[\\/]+/).includes("..")}function b_($,J,Q,X){if(!$?.length)return[];return $.flatMap((W)=>{let Y=N3(W.trim(),J);if(!jQ(Y))return[];try{let K=s(Y,Q,X);if(F3(K,s(J,Q,X)))return[];return[j1(K)]}catch{return[]}})}function A_($,J,Q){if(J.allowRoots.length===0)return!1;let X=$.trim();if(BU(X))return!1;let W=Q?X:N3(X,J.environment.home),Y=J.resolvedCwd??J.anchoredCwd,K=jQ(W)?W:Y?W4(Y,W):null;if(!K)return!1;try{let B=j1(s(K,J.environment.paths,J.pathCanonicalizationContext));return J.allowRoots.some((q)=>B===q||B.startsWith(q.endsWith(IQ)?q:`${q}${IQ}`))}catch{return!1}}function E_($){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test($)}function qU($,J=!1){return $.includes("$")||$.includes("`")||S_($)||J&&C_($)}function S_($){let J=!1;for(let Q of $){if(J){J=!1;continue}if(Q==="\\"){J=!0;continue}if(Q==="*"||Q==="?"||Q==="[")return!0}return!1}function C_($){let J=!1;for(let Q=0;Q<$.length;Q++){let X=$[Q];if(J){J=!1;continue}if(X==="\\"){J=!0;continue}if(X==="{"&&T_($,Q)||(X==="+"||X==="@"||X==="!")&&$[Q+1]==="(")return!0}return!1}function T_($,J){let Q=$.indexOf("}",J+1);if(Q===-1)return!1;let X=$.slice(J+1,Q);return X.includes(",")||X.includes("..")}function w_($,J,Q,X){try{return j1(s($,Q,X))===j1(s(J,Q,X))}catch{try{return j1($)===j1(J)}catch{return!1}}}function v_($,J,Q,X){if($==="."||$==="./"||$===".\\")return!0;try{return j1(s(W4(J,$),Q,X))===j1(s(J,Q,X))}catch{try{return j1(W4(J,$))===j1(J)}catch{return!1}}}function f_($,J,Q,X,W,Y,K){let B=Q??J;if(!W&&($.startsWith("~")||$.startsWith("$HOME")||$.startsWith("${HOME}")))return!1;if(X)return!1;if($.startsWith("/")||/^[A-Za-z]:[\\/]/.test($))try{return zQ($,J,Y,K)}catch{return!1}if($.startsWith("./")||$.startsWith(".\\")||!$.includes("/")&&!$.includes("\\"))try{return zQ(W4(B,$),J,Y,K)}catch{return!1}if($.startsWith("../"))return!1;try{return zQ(W4(B,$),J,Y,K)}catch{return!1}}function zQ($,J,Q,X){try{return UU(s($,Q,X),s(J,Q,X))}catch{return!1}}function k_($,J,Q,X){if(!J)return!1;try{return UU(s(J,Q,X),s($,Q,X))}catch{return!0}}function UU($,J){let Q=j1($),X=j1(J);return Q.startsWith(`${X}${IQ}`)||Q===X}var h_=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),GU="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",y_="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.",HU="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",ZU="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",g_="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",x_="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function LU($,J,Q,X=I2({...Q,allowPaths:Q.policy?.destructiveCommandAllowPaths})){return u_($.words.map((W)=>({kind:"word",text:W.text,dynamic:W.provenance!=="literal"})),J,X,Q.policy)}function u_($,J,Q,X){let W=$.filter((q)=>q.kind==="word"),Y=l_(W),K=W[Y];if(!K||!h_.has(a_(K.text)))return null;let B=m_(W.slice(Y+1));if(B.whatIfProtected)return null;if(U1(X,"powershell.remove-item-pipeline-dynamic-target",Q.strict)&&J&&(B.targets.length===0||B.recursive))return z("powershell.remove-item-pipeline-dynamic-target",x_);for(let q of B.targets)if(!H2(q.text)&&RQ(bQ(q.text)))return z(B.recursive&&B.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",ZU);for(let q of B.targets)if(Q.resolvedCwd&&z2(bQ(q.text),Q.resolvedCwd,Q.protectedGitMetadata,B.recursive,Q.pathCanonicalizationContext,!0))return z("powershell.remove-item-git-metadata",d1);if(!B.recursive||!B.force)return null;if(U1(X,"powershell.remove-item-recursive-force-dynamic-target",Q.strict)&&(B.hasDynamicTarget||B.targets.length===0))return z("powershell.remove-item-recursive-force-dynamic-target",HU);for(let q of B.targets){let U=t_($0(bQ(q.text),Q),Q,X);if(U)return U}return null}function m_($){let J=[],Q=!1,X=!1,W=!1,Y=!1,K=!1;for(let B=0;B<$.length;B++){let q=$[B];if(!q||q.kind!=="word")continue;if(p_(q))continue;if(K){J.push(PQ(q)),Y=Y||q.dynamic;continue}if(q.text==="--"){K=!0;continue}let U=d_(q.text);if(!U){J.push(PQ(q)),Y=Y||q.dynamic;continue}if(r_(U.name)){let G=U.value?c_(U.value,q):$[++B];if(G?.kind==="word")J.push(PQ(G)),Y=Y||G.dynamic;else Y=!0;continue}if(i_(U.name)){Q=!0;continue}if(o_(U.name)){X=!0;continue}if(n_(U.name))W=s_(U.value)}return{targets:J,recursive:Q,force:X,whatIfProtected:W,hasDynamicTarget:Y}}function l_($){let J=$[0];if(J?.kind==="word"&&J.text==="&"||J?.text===".")return $.length>1?1:0;return 0}function PQ($){return{text:$.kind==="word"?$.text:"",dynamic:$.kind==="word"&&$.dynamic}}function p_($){return $.kind==="word"&&$.text===","}function bQ($){let J=$.replace(/\\/g,"/"),Q=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(J);return Q?`$HOME${J.slice(Q[0].length)}`:J}function c_($,J){return{kind:"word",text:$,dynamic:J.kind==="word"&&(J.dynamic||$.includes("$"))}}function d_($){if(!$.startsWith("-")||$==="-")return null;let J=$.slice(1),Q=J.indexOf(":");if(Q===-1)return{name:J.toLowerCase()};return{name:J.slice(0,Q).toLowerCase(),value:J.slice(Q+1)}}function r_($){return"path".startsWith($)||"literalpath".startsWith($)}function i_($){return"recurse".startsWith($)}function o_($){return $.length>=2&&"force".startsWith($)}function n_($){return $==="wi"||"whatif".startsWith($)}function s_($){if($===void 0||$==="")return!0;let J=$.toLowerCase();return J==="$true"||J==="true"}function a_($){return $.toLowerCase()}function t_($,J,Q){switch($.kind){case"root_or_home_target":return z("powershell.remove-item-recursive-force-root-or-home",ZU);case"git_metadata_target":return z("powershell.remove-item-git-metadata",d1);case"temp_target":return null;case"dynamic_target":if(!U1(Q,"powershell.remove-item-recursive-force-dynamic-target",J.strict))return null;return z("powershell.remove-item-recursive-force-dynamic-target",HU);case"home_cwd_target":return z("powershell.remove-item-recursive-force-home-cwd",g_);case"cwd_self_target":return z("powershell.remove-item-recursive-force-cwd-self",GU);case"within_anchored_cwd":if(!U1(Q,"powershell.remove-item-recursive-force-paranoid",J.paranoid))return null;return z("powershell.remove-item-recursive-force-paranoid",y_);case"outside_anchored_cwd":return z("powershell.remove-item-recursive-force-outside-cwd",GU)}}import{normalize as t9}from"path";var h1=new Set(["awk","gawk","nawk","mawk"]),e_=new Set(["-e","--source"]),$D=new Set(["-F","-v","--assign","--field-separator"]),OU=new Set(["-f","--file"]),JD=new Set(["print","printf","return"]),MU=[{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"}],QD="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 u9($,J,Q){let X=!1;for(let W of XD($)){let Y=WD(W,Q);if(!Y)continue;for(let K of Y.commands){let B=J(K);if(B)return B;if(K.includes("{}")||/[$`]/.test(K))X=!0}X||=Y.dynamic}return X?z("awk.system-dynamic",QD):null}function EQ($){let J=[],Q=!1,X=!1,W=!0,Y=!0;for(let K=1;K<$.length;K++){let B=$[K];if(B===void 0)break;if(W&&B==="--"){W=!1;continue}if(W&&e_.has(B)){Q=!0;let q=$[K+1];if(q!==void 0)J.push({tokenIndex:K+1,kind:"inline-code",value:q});else Y=!1;K++;continue}if(W&&B.startsWith("--source=")){Q=!0,J.push({tokenIndex:K,kind:"inline-code",value:B.slice(9)});continue}if(W&&B.startsWith("-e")&&B.length>2){Q=!0,J.push({tokenIndex:K,kind:"inline-code",value:B.slice(2)});continue}if(W&&($D.has(B)||OU.has(B))){if(OU.has(B)){X=!0;let q=$[K+1];if(q!==void 0)J.push({tokenIndex:K+1,kind:"program-file",value:q});else Y=!1}else if($[K+1]===void 0)Y=!1;K++;continue}if(W&&(B.startsWith("-F")||B.startsWith("-v")&&B.slice(2).includes("=")))continue;if(W&&B.startsWith("-f")&&B.length>2){X=!0,J.push({tokenIndex:K,kind:"program-file",value:B.slice(2)});continue}if(W&&(B.startsWith("--assign=")||B.startsWith("--field-separator=")))continue;if(W&&B.startsWith("--file=")){X=!0,J.push({tokenIndex:K,kind:"program-file",value:B.slice(7)});continue}if(W&&B.startsWith("-")&&B!=="-")continue;if(W=!1,!Q&&!X)J.push({tokenIndex:K,kind:"main-program",value:B});return{sources:J,optionsOpen:!1}}return{sources:Y?J:[],optionsOpen:W&&Y}}function D3($){return EQ($).sources}function XD($){return D3($).filter((J)=>J.kind!=="program-file").map((J)=>J.value)}function WD($,J){C1(J,$);let Q=$.includes("system")?SQ($,J):null,X=YD($,J);if(!Q&&!X)return null;return{dynamic:!!Q?.dynamic||!!X?.dynamic,commands:[...Q?.commands??[],...X?.commands??[]]}}function SQ($,J){C1(J,$);let Q=[],X=!1,W=!1,Y=0;while(Y<$.length){let K=$[Y];if(K==='"'||K==="'"){Y=x9($,Y,K)?.endIndex??Y+1;continue}if(K==="#"){Y=NU($,Y+1);continue}if(K==="/"&&FU($,Y)){Y=VU($,Y+1)??Y+1;continue}if(!$.startsWith("system",Y)){Y++;continue}let B=Y;if(Y+=6,_3($[B-1])||_3($[Y]))continue;let q=g9($,Y);if($[q]!=="(")continue;q=g9($,q+1);let U=$[q];if(U!=='"'&&U!=="'"){X=!0,W=!0;continue}let G=x9($,q,U);if(!G){X=!0,W=!0;continue}if(q=g9($,G.endIndex),X=!0,$[q]!==")"){W=!0,Y=G.endIndex;continue}Q.push(G.value),Y=q+1}if(!X)return null;return{dynamic:W,commands:Q}}function YD($,J){C1(J,$);let Q=[],X=!1,W=!1,Y=0,K=0,B=null,q=null,U=0;while(Y<$.length){let G=$[Y];if(!G)break;if(G==='"'||G==="'"){let Z=x9($,Y,G);if(Z&&U===K)q={...Z,startIndex:Y};U=Z?.endIndex??Y+1,Y=Z?.endIndex??Y+1;continue}if(G==="#"){Y=NU($,Y+1),K=Y,B=null,q=null,U=Y;continue}if(G==="/"&&FU($,Y)){let Z=VU($,Y+1);U=Z??Y+1,Y=Z??Y+1;continue}if(`;
52
- {}`.includes(G)){Y++,K=Y,B=null,q=null,U=Y;continue}if(B===null&&(AQ($,Y,"print")||AQ($,Y,"printf")))B=Y;if(G!=="|"||$[Y-1]==="|"||$[Y+1]==="|"){if(!/\s/.test(G))U=Y+1;Y++;continue}let H=$[Y+1]==="&"?Y+2:Y+1,L=g9($,H);if(AQ($,L,"getline")){W=!0;let Z=qD(K,q,U);if(Z===null)X=!0;else Q.push(Z);U=H,Y=H;continue}if(GD(K,B)){W=!0;let Z=BD($,L);if(!Z){X=!0,U=H,Y=H;continue}if(!KD($,Z.endIndex)){X=!0,U=Z.endIndex,Y=Z.endIndex;continue}Q.push(Z.value),U=Z.endIndex,Y=Z.endIndex;continue}U=H,Y++}if(!W)return null;return{dynamic:X,commands:Q}}function _3($){return!!$&&/[A-Za-z0-9_]/.test($)}function g9($,J){let Q=J;while(/\s/.test($[Q]??""))Q++;return Q}function KD($,J){let Q=J;while(/[\t\f\v\r ]/.test($[Q]??""))Q++;let X=$[Q];return!X||`;
53
- }#`.includes(X)}function x9($,J,Q){let X="",W=!1;for(let Y=J+1;Y<$.length;Y++){let K=$[Y];if(!K)break;if(W){let B=UD($,Y);if(!B)return null;X+=B.value,Y=B.endIndex,W=!1;continue}if(K==="\\"){W=!0;continue}if(K===Q)return{value:X,endIndex:Y+1};X+=K}return null}function BD($,J){let Q=$[J];if(Q!=='"'&&Q!=="'")return null;return x9($,J,Q)}function qD($,J,Q){if(!J)return null;return J.startIndex>=$&&J.endIndex===Q?J.value:null}function UD($,J){let Q=$[J];if(!Q)return null;if(Q==="x"){let W=$.slice(J+1,J+3);if(!/^[0-9A-Fa-f]{2}$/.test(W))return null;return{value:String.fromCharCode(Number.parseInt(W,16)),endIndex:J+2}}if(/[0-7]/.test(Q)){let W=/^[0-7]{1,3}/.exec($.slice(J));if(!W)return null;return{value:String.fromCharCode(Number.parseInt(W[0],8)),endIndex:J+W[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
54
- `,r:"\r",t:"\t",v:"\v"}[Q]??Q,endIndex:J}}function AQ($,J,Q){return $.startsWith(Q,J)&&!_3($[J-1])&&!_3($[J+Q.length])}function GD($,J){return J!==null&&J>=$}function NU($,J){let Q=$.indexOf(`
55
- `,J);return Q===-1?$.length:Q+1}function FU($,J){let Q=HD($,J);if(Q===-1)return!0;if("{([,;!~=".includes($[Q]??""))return!0;let X=Q;while(_3($[X-1]))X--;return JD.has($.slice(X,Q+1))}function HD($,J){for(let Q=J-1;Q>=0;Q--)if(!/\s/.test($[Q]??""))return Q;return-1}function VU($,J){let Q=!1;for(let X=J;X<$.length;X++){let W=$[X];if(!W)break;if(Q){Q=!1;continue}if(W==="\\"){Q=!0;continue}if(W==="/")return X+1}return null}var _U=new Set(["rm","find","xargs","parallel"]),ZD=new Set(["sudo","env","command","builtin"]),LD=new Set(["git","busybox",..._U,...H1,...kB,...h1]);function m9($,J){let Q=$[0];if(!Q||!J.transparentWrappers.includes(l(Q)))return null;let X=l(Q),W=$[1]==="--"?2:1,Y=OD($,W,X,J),K=Y[0];if(K===void 0)return null;return{wrapper:X,tokens:[...$.slice(K)],childIndex:K,alternativeChildIndices:Y.slice(1)}}function OD($,J,Q,X){let W=$[1]==="--",Y=[];for(let K=J;K<$.length;K++){let B=$[K];if(!B)continue;if(l(B)!==Q&&MD(B,X))Y.push(K);else if($9.has(i(B)))break;if(W)break}return Y}function MD($,J){let Q=l($),X=i($);return X==="git"||Q==="busybox"||z3($)||_U.has(Q)||J.transparentWrappers.includes(Q)||H1.has(X)||$==="$SHELL"||T1(X)||h1.has(X)||J.rules.some((W)=>W.command===Q)}function z3($){return ZD.has($.toLowerCase())}function DU($){let J=i($);return LD.has(J)||T1(J)}function J0($,J){let Q=J.policy??{rules:[],transparentWrappers:[]};return CQ([...$],J.environment,J.cwd,J.cwd,new Map,new Map(J.envAssignments??[]),Q,{iterations:0},!1)}function*CQ($,J,Q,X,W,Y,K,B,q){let U=dJ($,J,Q,Y);if(U.unverifiableEnvSplit)throw new M2;for(let[Z,O]of U.envAssignments)Y.set(Z,O),W.set(Z,O);let{tokens:G,cwd:H}=U;if(z3(G[0]??""))throw new p1;let L=m9(G,K);if(L){for(let Z of[L.childIndex,...L.alternativeChildIndices])zU(B),yield*CQ(Z===L.childIndex?L.tokens:[...G.slice(Z)],J,H,X,new Map(W),new Map(Y),K,B,!0);return}if(FD(G)){zU(B),yield*CQ([...G.slice(1)],J,H,X,W,Y,K,B,q);return}yield ND(G,H,X,W,Y,q)}function ND($,J,Q,X,W,Y){return{tokens:$,cwd:J===null?void 0:J??Q,wrapperCwd:J,wrapperEnvAssignments:X,envAssignments:W,head:l($[0]??"").toLowerCase(),wrappedByTransparent:Y}}function zU($){if($.iterations>=n2)throw new p1;$.iterations++}function FD($){return l($[0]??"").toLowerCase()==="busybox"&&$.length>1}function TQ($,J){let Q=[],X=J;while(X<$.length){let W=$[X];if(W===void 0||W===":::")break;Q.push(W),X++}return{markerIndex:X<$.length&&$[X]===":::"?X:-1,templateTokens:Q}}function k0($){let J=!1,Q=!1;for(let X of $){if(X==="--")break;if(X==="-r"||X==="-R"||wQ(X,"recursive"))J=!0;else if(X==="-f"||wQ(X,"force"))Q=!0;else if(X.startsWith("-")&&!X.startsWith("--")){if(X.includes("r")||X.includes("R"))J=!0;if(X.includes("f"))Q=!0}}return J&&Q}function IU($){let J=$.indexOf("--");return $.slice(1,J===-1?void 0:J).some((Q)=>wQ(Q,"recursive")||/^-[A-Za-z]+$/.test(Q)&&/[rR]/.test(Q.slice(1)))}function wQ($,J){return $.length>2&&$.startsWith("--")&&J.startsWith($.slice(2))}var VD="find -delete permanently removes files. Use -print first to preview.",_D="find -exec rm -rf is dangerous. Use explicit file list instead.",DD=new Set(["-exec","-execdir","-ok","-okdir"]),zD=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(($)=>[$,1]),["-fprintf",2]]);function l9($,J){let Q=$.map(k),X=ID($,Q,J);if(X)return X;if(c9(Q,1)&&!RD($,Q,J)){let K=h(z("find.delete",VD),J.policy);if(K)return K}let W=J.derivedCommandWorkBudget??t6(),Y=0;while(Y<Q.length){let K=Q[Y],B=a0(K??"");if(B>0){Y+=B+1;continue}if(!h0(K)){Y++;continue}q0(W,Q.length-Y-1);let q=I3(Q,Y);Y=q.nextIndex;let U=bD(q.tokens,J.environment);if(U){let Z=h(U,J.policy);if(Z)return Z}let G=K==="-execdir"||K==="-okdir",H=J.analyzeTokens?J.analyzeTokens(q.tokens,G?null:J.cwd):J.analyzeNested?J.analyzeNested(q.tokens.join(" "),{effectiveCwd:G?void 0:J.cwd,envAssignments:J.envAssignments}):null,L=H?.id.startsWith("custom.")?H:h(H,J.policy);if(L)return L}return null}function ID($,J,Q){if(!c9(J,1)&&!vQ(J,Q.environment))return null;let W=p9($)??p(["."]),Y=I2({...Q,allowPaths:Q.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let K of W){let B=V3(K);for(let q of B.expandedTargets??[k(K)]){let U=$0(q,Y,{targetIsLiteral:B.expandedTargets!==void 0||B.targetIsLiteral,tmpdirWordSplittingProtected:B.tmpdirWordSplittingProtected});if(U.kind==="root_or_home_target")return z("rm.recursive-force-root-or-home","rm -rf targeting root or home directory is extremely dangerous and always blocked.");if(U.kind==="git_metadata_target")return z("find.delete-git-metadata",d1)}}if(jD(J)&&Y.resolvedCwd&&$U(W.map(k),Y.resolvedCwd,Y.protectedGitMetadata,Y.pathCanonicalizationContext))return z("find.delete-git-metadata",d1);return null}function vQ($,J){let Q=0;while(Q<$.length){if(!h0($[Q])){Q++;continue}let X=I3($,Q),W=c1([...X.tokens],J),Y=l(W[0]??"").toLowerCase();if((Y==="rm"||Y==="rmdir")&&W.some((K)=>K.includes("{}")))return!0;Q=X.nextIndex}return!1}function jD($){return $.some((J,Q)=>{if(!["-name","-iname"].includes(J))return!1;return $[Q+1]?.toLowerCase()==="hooks"})}function RD($,J,Q){if(J.includes("-L")||J.includes("-f")||J.includes("-follow"))return!1;let X=p9($);if(!X)return!1;let W=Q.envAssignments??new Map,Y=pJ(W,Q.environment),K=Q.trustedTmpdirValue??v0(W,Q.environment),B=Q.allowTmpdirVar??!B3(W,Q.environment),q=I2({environment:Q.environment,protectedGitMetadata:Q.protectedGitMetadata,cwd:Q.cwd,originalCwd:Q.originalCwd,strict:Q.strict,allowTmpdirVar:B&&K&&Boolean(Y),allowPaths:Q.policy?.destructiveCommandAllowPaths,posixShell:!0,tmpdirWordSplittingUnsafe:Q.tmpdirWordSplittingUnsafe??U0(W,Q.environment),trustedTmpdirValue:K});return X.every((U)=>{let G=V3(U);if(G.unsafeBraceExpansion)return!1;return(G.expandedTargets??[k(U)]).every((H)=>KU(H,q,{containmentTarget:PD(H,Y),targetIsLiteral:G.expandedTargets!==void 0||G.targetIsLiteral,tmpdirWordSplittingProtected:G.tmpdirWordSplittingProtected}))})}function PD($,J){if(!J)return $;return $.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>J)}function p9($){let J=(W)=>{let Y=$[W];return Y?k(Y):void 0},Q=1;while(J(Q)==="-H"||J(Q)==="-P")Q++;if(J(Q)==="--")Q++;let X=[];while(Q<$.length){let W=J(Q),Y=$[Q];if(!W||!Y||W.startsWith("-")||["!","(",")"].includes(W))break;X.push(Y),Q++}return X.length>0?X:null}function bD($,J){let Q=c1([...$],J);if(Q.length===0)return null;let X=l(Q[0]??"");if(X==="busybox"&&Q.length>1)Q=Q.slice(1),X=l(Q[0]??"");if(X==="rm"&&k0(Q))return z("find.exec-rm-recursive-force",_D);return null}function I3($,J){let Q=J+1;while(Q<$.length&&$[Q]!==";"&&!($[Q]==="+"&&$[Q-1]==="{}"))Q++;return{tokens:$.slice(J+1,Q),nextIndex:Math.min(Q+1,$.length)}}function c9($,J){let Q=J;while(Q<$.length){let X=$[Q];if(!X){Q++;continue}if(h0(X)){Q=I3($,Q).nextIndex;continue}let W=a0(X);if(W>0){Q+=W+1;continue}if(X==="-delete")return!0;Q++}return!1}function a0($){return zD.get($)??(/^-newer[A-Za-z]{2}$/.test($)?1:0)}function h0($){return $!==void 0&&DD.has($)}function j3($){let J=t1($,"posix");if(J.status!=="complete"||J.nodes.length!==1)return null;let Q=J.nodes[0];if(Q?.kind!=="command")return null;if(Q.redirections.length>0||Q.nested.length>0)return null;if(Q.words.some((X)=>X.provenance==="command-substitution"))return null;return Q.words.map((X)=>X.text)}var AD=5,fQ="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 R1($){let J=$.indexOf("--");if(J===-1)return{index:-1,before:$,after:[]};return{index:J,before:$.slice(0,J),after:$.slice(J+1)}}function RU($,J,Q){let X=bU($,J,Q),W=ED(X.entries);if(W.size===0)return{blockedReason:X.blockedReason,expanded:!1,tokens:$};let Y=$,K=!1;for(let B=0;B<AD;B++){let{subcommand:q,rest:U}=Q0(Y),G=q?.toLowerCase();if(!G||!W.has(G))return{blockedReason:X.blockedReason,expanded:K,tokens:Y};let H=W.get(G),L=vD(H);if(L===null||L.length===0)return{blockedReason:fQ,expanded:!0,tokens:Y};Y=["git",...L,...U],K=!0}return{blockedReason:fQ,expanded:!0,tokens:Y}}function PU($,J,Q){return bU($,J,Q).entries.some((X)=>X.key.toLowerCase()==="core.sshcommand")}function Q0($){if($.length===0)return{subcommand:null,rest:[]};let J=$[0];if((J?l(J).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let X=1;while(X<$.length){let W=$[X];if(!W)break;if(W==="--"){let Y=$[X+1];if(Y&&!Y.startsWith("-"))return{subcommand:Y,rest:$.slice(X+2)};return{subcommand:null,rest:$.slice(X+1)}}if(W.startsWith("-"))if(B0.has(W))X+=2;else if(W.startsWith("-c")&&W.length>2)X++;else if(W.startsWith("-C")&&W.length>2)X++;else X++;else return{subcommand:W,rest:$.slice(X+1)}}return{subcommand:null,rest:[]}}function ED($){let J=new Map;for(let Q of $){let X=Q.key.toLowerCase();if(!X.startsWith("alias."))continue;let W=X.slice(6);if(W!=="")J.set(W,Q.value)}return J}function bU($,J,Q){if($.length===0)return{blockedReason:null,entries:[]};let X=$[0];if((X?l(X).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let Y=CD(J,Q);return{blockedReason:Y.blockedReason,entries:[...Y.entries,...SD($,J,Q)]}}function SD($,J,Q){let X=[],W=1;while(W<$.length){let Y=$[W];if(!Y||Y==="--"||!Y.startsWith("-"))return X;if(Y==="-c"){let K=kQ($[W+1]);if(K)X.push(K);W+=2;continue}if(Y.startsWith("-c")&&Y.length>2){let K=kQ(Y.slice(2));if(K)X.push(K);W++;continue}if(Y==="--config-env"){let K=jU($[W+1],J,Q);if(K)X.push(K);W+=2;continue}if(Y.startsWith("--config-env=")){let K=jU(Y.slice(13),J,Q);if(K)X.push(K);W++;continue}if(B0.has(Y)){W+=2;continue}W++}return X}function CD($,J){let Q=TD($,J),X=wD($,J);return{blockedReason:Q===null||X===null?fQ:null,entries:[...Q??[],...X??[]]}}function TD($,J){let Q=l1("GIT_CONFIG_PARAMETERS",$,J);if(Q===void 0)return[];let X=[],W=j3(Q);if(!W)return null;for(let Y of W){let K=kQ(Y);if(!K)return null;X.push(K)}return X}function wD($,J){let Q=l6($,J);if(Q.state==="absent")return[];if(Q.state==="invalid")return null;let X=[];for(let W=0;W<Q.count;W++){let Y=l1(`GIT_CONFIG_KEY_${W}`,$,J)?.trim(),K=l1(`GIT_CONFIG_VALUE_${W}`,$,J);if(!Y||K===void 0)return null;X.push({key:Y,value:K})}return X}function kQ($){if(!$)return null;let J=$.indexOf("=");return{key:(J===-1?$:$.slice(0,J)).trim(),value:J===-1?void 0:$.slice(J+1)}}function jU($,J,Q){let X=$?.indexOf("=")??-1;if(!$||X===-1)return null;return{key:$.slice(0,X).trim(),value:l1($.slice(X+1),J,Q)}}function vD($){let J=$?.trimStart();if(!J||J.startsWith("!"))return null;return j3(J)}var fD="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",kD="git checkout --force discards uncommitted changes. Use 'git stash' first.",hD="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",yD="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",gD="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",xD="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",uD="git switch --force discards uncommitted changes. Use 'git stash' first.",mD="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",lD="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",pD="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",cD="git reset --merge can lose uncommitted changes. Use 'git stash' first.",dD="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",rD="git push --force destroys remote history. Use --force-with-lease for safer force push.",iD="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",oD="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",nD="git branch -D force-deletes without merge check. Use -d for safe delete.",sD="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",aD="git merge --abort discards merge conflict resolutions. Use 'git status' first.",tD="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",eD="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",$z="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",Jz="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",Qz="git worktree remove --force can delete uncommitted changes. Remove --force flag.",AU=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),EU=new Set(["--recurse-submodules","--track","-t"]),hQ=new Set(["-b","-B","-U"]),yQ=new Set(["-c","-C"]),Xz=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),Wz=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 t($,J){let Q=$.split("=",1)[0]??$;return Q.length>=4&&J.startsWith(Q)&&Q.startsWith("--")&&Q.slice(2).length>=2}function CU($){let{subcommand:J,rest:Q}=Q0($);if(!J)return null;switch(J.toLowerCase()){case"checkout":return j2(Yz(Q));case"switch":return j2(Kz(Q));case"restore":return j2(qz(Q));case"reset":return Gz(Q);case"clean":return j2(Zz(Q));case"push":return R2(Lz(Q));case"branch":return R2(Nz(Q));case"stash":return R2(zz(Q));case"worktree":return R2(Iz(Q));case"rebase":return j2(Fz(Q));case"merge":return j2(Vz(Q));case"tag":return R2(_z(Q));case"reflog":return R2(Dz(Q));default:return null}}function j2($){return $?{...$,localDiscard:!0}:null}function R2($){return $?{...$,localDiscard:!1}:null}function Yz($){let{index:J,before:Q}=R1($),X=f1(Q,{shortOptsWithValue:hQ});if(Q.some((Y)=>t(Y,"--force"))||X.has("-f"))return z("git.checkout-force",kD);for(let Y of $){if(Y==="-b"||Y==="-B"||Y==="--orphan")return null;if(t(Y,"--pathspec-from-file"))return z("git.checkout-pathspec-from-file",yD)}if(J!==-1){if(Q.some((K)=>!K.startsWith("-")))return z("git.checkout-ref-path",hD);return z("git.checkout-double-dash",fD)}if(Bz($).length>=2)return z("git.checkout-ambiguous",gD);return null}function Kz($){let{before:J}=R1($);if(J.some((X)=>t(X,"--discard-changes")))return z("git.switch-discard-changes",xD);let Q=f1(J,{shortOptsWithValue:yQ});if(J.some((X)=>t(X,"--force"))||Q.has("-f"))return z("git.switch-force",uD);return null}function Bz($){let J=[],Q=0;while(Q<$.length){let X=$[Q];if(!X)break;if(X==="--")break;if(X.startsWith("-"))if(AU.has(X))Q+=2;else if(X.startsWith("--")&&X.includes("="))Q++;else if(EU.has(X)){let W=$[Q+1];if(W&&!W.startsWith("-")&&(X==="--recurse-submodules"||X==="--track"||X==="-t"))if((X==="--recurse-submodules"?["checkout","on-demand"]:["direct","inherit"]).includes(W))Q+=2;else Q++;else Q++}else if(X.startsWith("--")&&!Wz.has(X)&&!AU.has(X)&&!EU.has(X))Q++;else Q++;else J.push(X),Q++}return J}function qz($){let J=Uz($);if(J.isTerminal||!J.hasPathspec&&!J.hasPatch||!J.hasWorktree)return null;return J.hasExplicitLocation?z("git.restore-worktree",lD):z("git.restore-unstaged",mD)}function Uz($){let J=!1,Q=!1,X=!0,W=!1,Y=(K)=>{if(!W)X=!1,W=!0;if(K!==void 0)X=K};for(let K=0;K<$.length;K++){let B=$[K];if(B===void 0)break;if(B==="--"){J||=K+1<$.length;break}if(B==="--pathspec-from-file"){J=!0,K++;continue}if(B.startsWith("--pathspec-from-file=")){J=!0;continue}if(B==="-h"||B==="--help"||B==="--version")return{hasPathspec:J,hasPatch:Q,hasWorktree:X,hasExplicitLocation:W,isTerminal:!0};if(B==="--staged"){Y();continue}if(B==="--no-staged"){Y();continue}if(B==="--worktree"){Y(!0);continue}if(B==="--no-worktree"){Y(!1);continue}if(B==="--patch"){Q=!0;continue}if(B==="--no-patch"){Q=!1;continue}if(Xz.has(B)){K++;continue}if(B.startsWith("--"))continue;if(B==="-"){J=!0;continue}if(!B.startsWith("-")){J=!0;continue}for(let q=1;q<B.length;q++){let U=B.charAt(q);if(U==="h")return{hasPathspec:J,hasPatch:Q,hasWorktree:X,hasExplicitLocation:W,isTerminal:!0};if(U==="S"){Y();continue}if(U==="W"){Y(!0);continue}if(U==="p"){Q=!0;continue}if(U==="s"||U==="U"){if(q===B.length-1)K++;break}}}return{hasPathspec:J,hasPatch:Q,hasWorktree:X,hasExplicitLocation:W,isTerminal:!1}}function Gz($){let J=null;for(let Q of $){if(t(Q,"--hard")){J=z("git.reset-hard",pD);break}if(t(Q,"--merge")){J=z("git.reset-merge",cD);break}}if(!J)return null;return Hz($)?R2(J):j2(J)}function Hz($){for(let J of $){if(J==="--")return!1;if(!J.startsWith("-"))return!0}return!1}function Zz($){for(let Q of $)if(Q==="-n"||t(Q,"--dry-run"))return null;let J=f1($.filter((Q)=>Q!=="--"));if($.some((Q)=>t(Q,"--force"))||J.has("-f"))return z("git.clean-force",dD);return null}function Lz($){let{before:J,after:Q}=R1($),X=f1(J);if(J.some((K)=>t(K,"--mirror")))return z("git.push-mirror",oD);if(J.some((K)=>t(K,"--force"))||X.has("-f")||SU(J,Q).some(Oz))return z("git.push-force",rD);if(J.some((K)=>t(K,"--delete"))||X.has("-d")||SU(J,Q).some(Mz))return z("git.push-delete",iD);return null}function SU($,J){return[...$.filter((Q)=>Q!==""&&!Q.startsWith("-")),...J]}function Oz($){return $.startsWith("+")||$.includes(":+")}function Mz($){return $.length>1&&$.startsWith(":")}function Nz($){let{before:J}=R1($),Q=f1(J),X=Q.has("-D")||Q.has("-d")||J.some((Y)=>t(Y,"--delete")),W=Q.has("-D")||Q.has("-f")||J.some((Y)=>t(Y,"--force"));if(X&&W)return z("git.branch-force-delete",nD);return null}function Fz($){let{before:J}=R1($);return J.some((Q)=>t(Q,"--abort"))?z("git.rebase-abort",sD):null}function Vz($){let{before:J}=R1($);return J.some((Q)=>t(Q,"--abort"))?z("git.merge-abort",aD):null}function _z($){let{before:J}=R1($);return f1(J).has("-d")||J.some((X)=>t(X,"--delete"))?z("git.tag-delete",tD):null}function Dz($){return $[0]==="delete"?z("git.reflog-delete",eD):null}function zz($){for(let J of $){if(J==="drop")return z("git.stash-drop",$z);if(J==="clear")return z("git.stash-clear",Jz)}return null}function Iz($){let{before:J}=R1($);if(!J.includes("remove"))return null;let X=f1(J);if(J.some((W)=>t(W,"--force"))||X.has("-f"))return z("git.worktree-remove-force",Qz);return null}import{execFileSync as jz}from"child_process";import{existsSync as xQ,readFileSync as uQ}from"fs";import{dirname as Rz,isAbsolute as vU,join as gQ,resolve as fU}from"path";var Pz=["/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 kU($,J,Q,X){let W=bz($,J,Q);if(W!==null)return W;let Y=Az(J,Q);if(Y!==null)return Y;if(BB(Q))return!0;return Ez(X)}function bz($,J,Q){let X=null,W=1;while(W<$.length){let Y=$[W];if(!Y||Y==="--")return X;if(!Y.startsWith("-"))return X;if(Y==="-c"){let K=TU($[W+1]);if(K!==null)X=K;W+=2;continue}if(Y.startsWith("-c")&&Y.length>2){let K=TU(Y.slice(2));if(K!==null)X=K;W++;continue}if(Y==="--config-env"){let K=wU($[W+1],J,Q);if(K!==null)X=K;W+=2;continue}if(Y.startsWith("--config-env=")){let K=wU(Y.slice(13),J,Q);if(K!==null)X=K;W++;continue}if(B0.has(Y))W+=2;else W++}return X}function Az($,J){if(l1("GIT_CONFIG_PARAMETERS",$,J)!==void 0)return!0;let Q=l6($,J);if(Q.state==="absent")return null;if(Q.state==="invalid")return!0;let X=null;for(let W=0;W<Q.count;W++){let Y=l1(`GIT_CONFIG_KEY_${W}`,$,J),K=l1(`GIT_CONFIG_VALUE_${W}`,$,J);if(!Y?.trim()||K===void 0)return!0;let B=Y.trim().toLowerCase();if(mQ(B))return!0;if(B!=="submodule.recurse")continue;X=R3(K)}return X}function Ez($,J=Cz()){let Q=Sz($);if(Q===null||Q)return!0;if(J===null)return!0;try{let X=jz(J,["config","--get","submodule.recurse"],{cwd:$,encoding:"utf8",env:Tz(process.env),stdio:["ignore","pipe","ignore"]}).trim();return R3(X)}catch(X){return!wz(X)}}function Sz($){let J=vz($);if(J===null)return null;for(let Q of J){if(!xQ(Q))continue;if(hz(Q))return!0}return!1}function Cz(){for(let $ of Pz)if(xQ($))return $;return null}function Tz($){let J={...$};for(let Q of Object.keys(J))if(t4(Q))delete J[Q];return J}function wz($){return typeof $==="object"&&$!==null&&"status"in $&&$.status===1}function vz($){let J=J3($);if(J===null)return null;let Q=fz(J);if(Q===null)return null;let X=kz(Q);if(X===null)return null;return[gQ(X,"config"),gQ(Q,"config.worktree")]}function fz($){try{let Q=uQ($,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!Q.startsWith("gitdir:"))return $;let X=Q.slice(7).trim();if(X==="")return null;return vU(X)?X:fU(Rz($),X)}catch{return null}}function kz($){let J=gQ($,"commondir");if(!xQ(J))return $;try{let Q=uQ(J,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(Q==="")return null;return vU(Q)?Q:fU($,Q)}catch{return null}}function hz($){let J;try{J=uQ($,"utf-8")}catch{return!0}let Q="",X=!1;for(let W of J.split(/\r?\n/)){let Y=W.trim();if(Y===""||Y.startsWith("#")||Y.startsWith(";"))continue;let K=Y.match(/^\[([^\]]+)\]$/);if(K){Q=K[1]?.trim().toLowerCase()??"";continue}let B=Y.indexOf("="),q=(B===-1?Y:Y.slice(0,B)).trim().toLowerCase(),U=B===-1?"true":Y.slice(B+1).trim();if(yz(Q)&&q==="path")return!0;if(Q==="submodule"&&q==="recurse")X=R3(U)}return X}function yz($){return $==="include"||$.startsWith("includeif ")}function TU($){if(!$)return null;let J=$.indexOf("="),Q=(J===-1?$:$.slice(0,J)).toLowerCase();if(mQ(Q))return!0;if(Q!=="submodule.recurse")return null;let X=J===-1?"true":$.slice(J+1).toLowerCase();return R3(X)}function R3($){let J=$.toLowerCase();return J!=="false"&&J!=="no"&&J!=="off"&&J!=="0"}function wU($,J,Q){let X=$?.indexOf("=")??-1;if(!$||X===-1)return null;let W=$.slice(0,X).toLowerCase();if(mQ(W))return!0;if(W!=="submodule.recurse")return null;let Y=l1($.slice(X+1),J,Q);return Y===void 0||R3(Y)}function mQ($){return $==="include.path"||$.startsWith("includeif.")&&$.endsWith(".path")}function hU($,J,Q){if(!J.localDiscard||!Q.worktreeMode||HB(Q.env,Q.envAssignments))return null;let X=ZB($,Q.cwd);if(!X.gitCwd||X.hasExplicitGitContext)return null;if(!LB(X.gitCwd))return null;if(gz($,Q,X.gitCwd))return null;return{originalReason:J.reason,gitCwd:X.gitCwd}}function gz($,J,Q){let{subcommand:X,rest:W}=Q0($),Y=X?.toLowerCase();if(J.dynamicArguments||xz(W)||kU($,J.env,J.envAssignments,Q)||lz(W)||uz(Y,W))return!0;return Y==="clean"&&pz(W)>1}function xz($){return $.some((J)=>/[$*?[]/.test(J))}function uz($,J){if($==="checkout"){let{before:Q}=R1(J),X=f1(Q,{shortOptsWithValue:hQ}),W=Q.some((K)=>t(K,"--force"))||X.has("-f"),Y=X.has("-B")||Q.some((K)=>K==="-B"||K.startsWith("-B"));return W&&Y}if($==="switch"){let{before:Q}=R1(J),X=f1(Q,{shortOptsWithValue:yQ}),W=Q.some((K)=>t(K,"--force"))||Q.some((K)=>t(K,"--discard-changes"))||X.has("-f"),Y=Q.some((K)=>K==="-C"||K.startsWith("-C")||mz(K))||X.has("-C");return W&&Y}return!1}function mz($){let J=$.split("=",1)[0]??$;return J==="--force-create"||J.length>=9&&"--force-create".startsWith(J)}function lz($){return $.some((J)=>J.startsWith("--recurse-sub"))}function pz($){let J=0;for(let Q of $){if(Q==="--force"){J++;continue}if(Q.startsWith("-")&&!Q.startsWith("--")){for(let X of Q.slice(1))if(X==="f")J++}}return J}var cz="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.",dz=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function Y4($,J){return yU($.map(k),J)}function yU($,J,Q){let X=RU($,J.env,J.envAssignments),W=J.policy?.destructiveCommandRuleOverrides["git.alias-config"]==="off";if(X.blockedReason&&!W)return z("git.alias-config",X.blockedReason);let Y=X.tokens;if((KB(J.envAssignments)||PU($,J.env,J.envAssignments))&&rz(Y))return z("git.ssh-env",cz);let K=CU(Y);if(!K)return null;if(X.expanded||X.blockedReason)return K;let B=hU($,K,J);if(!B)return K;return Q?.(B),null}function gU($,J){let Q=null;return{match:yU($.map(k),J,(W)=>{Q=W}),relaxation:Q}}function rz($){let{subcommand:J,rest:Q}=Q0($),X=J?.toLowerCase();if(!X)return!1;if(dz.has(X))return!0;if(X==="archive")return R1(Q).before.some((W)=>t(W,"--remote"));return X==="remote"&&iz(Q)}function iz($){return $.find((J)=>!oz(J))?.toLowerCase()==="update"}function oz($){return $==="-v"||t($,"--verbose")||t($,"--no-verbose")}import{isAbsolute as gI}from"path";var xU="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",nz="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.",sz="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",mU="rm -rf targeting root or home directory is extremely dangerous and always blocked.",az="rm -rf in home directory is dangerous. Change to a project directory first.";function K4($,J){let Q=I2({...J,allowPaths:J.policy?.destructiveCommandAllowPaths,posixShell:!0}),X=$.map(k),W=k0(X),Y=IU(X),K=ez($);for(let B of K){let q=V3(B.word);if(W&&q.unsafeBraceExpansion){let U=h(uU({kind:"outside_anchored_cwd"},Q,J.policy),J.policy);if(U)return U;continue}for(let U of q.expandedTargets??[B.text]){let G={targetIsLiteral:q.expandedTargets!==void 0||q.targetIsLiteral,tmpdirWordSplittingProtected:q.tmpdirWordSplittingProtected};if(!Y&&Q.resolvedCwd&&z2(U,Q.resolvedCwd,Q.protectedGitMetadata,Y,Q.pathCanonicalizationContext))return z("rm.git-metadata",d1);if(Y&&!W){let H=$0(U,Q,G);if(H.kind==="root_or_home_target")return z("rm.recursive-force-root-or-home",mU);if(H.kind==="git_metadata_target")return z("rm.git-metadata",d1);continue}if(!W)continue;for(let H of tz(U,Q,G)){let L=uU(H,Q,J.policy),Z=h(L,J.policy);if(Z)return Z}}}return null}function tz($,J,Q){let X=$0($,J,Q);if(X.kind==="cwd_self_target")return[X,$0($,J,{...Q,skipCwdSelf:!0})];if(X.kind!=="home_cwd_target")return[X];let W=$0($,J,{...Q,skipHomeCwd:!0});if(W.kind!=="cwd_self_target")return[X,W];return[X,W,$0($,J,{...Q,skipHomeCwd:!0,skipCwdSelf:!0})]}function ez($){let J=[],Q=!1;for(let X of $.slice(1)){let W=k(X);if(!W)continue;if(W==="--"){Q=!0;continue}if(Q){J.push({text:W,word:X});continue}if(!W.startsWith("-"))J.push({text:W,word:X})}return J}function uU($,J,Q){switch($.kind){case"root_or_home_target":return z("rm.recursive-force-root-or-home",mU);case"git_metadata_target":return z("rm.git-metadata",d1);case"temp_target":return null;case"dynamic_target":if(!U1(Q,"rm.recursive-force-dynamic-target",J.strict))return null;return z("rm.recursive-force-dynamic-target",sz);case"home_cwd_target":return z("rm.recursive-force-home-cwd",az);case"cwd_self_target":return z("rm.recursive-force-cwd-self",xU);case"within_anchored_cwd":if(U1(Q,"rm.recursive-force-paranoid",J.paranoid))return z("rm.recursive-force-paranoid",nz);return null;case"outside_anchored_cwd":return z("rm.recursive-force-outside-cwd",xU)}}var $I={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},pU=new Set(["--init-file","--rcfile"]),JI=["--init-file","--rcfile"],QI=new Map([["bash","BASH_ENV"],["dash","ENV"],["ksh","ENV"],["sh","ENV"]]);function O0($){for(let J=1;J<$.length;J++){let Q=$[J];if(!Q)continue;if(Q==="-c")return lU($,J,!0);if(Q.startsWith("-")&&Q.includes("c")&&!Q.startsWith("--")){let X=lU($,J,!1);if(X!==null)return X}}return null}function r1($){let J=l($[0]??"").toLowerCase();if(J==="zsh"||J==="ksh")return M0($).syntaxCheck;let Q=!1;for(let X of $.slice(1)){if(X==="--")return Q;if(X.startsWith("+")&&!X.startsWith("++")){if(X.slice(1).includes("n"))Q=!1;continue}if(!X.startsWith("-")||X.startsWith("--"))return Q;let W=X.slice(1);if(W.includes("n"))Q=!0;if(W.includes("c"))return Q}return Q}function lU($,J,Q){if($[J+1]==="--")return $[J+2]||null;let X=$[J+1];if(!X||!Q&&X.startsWith("-"))return null;return X}function cU($){let J=l($[0]??"").toLowerCase(),Q=XI($,J),X=QI.get(J)??null,W=Q.argvSource?.kind!=="absent";return{argvSource:J==="bash"?Q.argvSource:null,argvSourceApplies:J==="bash"&&Q.interactive&&Q.argvSource?.kind==="literal",envName:X,envSourceApplies:W&&(X==="BASH_ENV"?!Q.interactive:X==="ENV"&&Q.interactive)}}function XI($,J){let Q=M0($),X=Q.commandIndex??Q.scriptIndex??$.length,W=[],Y=!1,K=!0;for(let B=1;B<X;B++){let q=$[B];if(q===void 0||q==="--"||q==="-"||q[0]!=="-"&&q[0]!=="+")break;if(q.startsWith("--")){if(J==="bash"&&K?JI.find((L)=>q===L):void 0){let L=$[B+1];W.push(L===void 0?{kind:"absent"}:{kind:"literal",value:L}),B++;continue}let H=q.split("=",1)[0]??q;if(J==="bash"&&pU.has(H)&&!q.includes("="))B++;continue}if(J==="bash")K=!1;let U=dU(J,q,$[B+1],"startup");if(U.interactive)Y=q[0]==="-";B+=U.followingValues}return{argvSource:W.at(-1)??null,interactive:Y}}function dU($,J,Q,X){let W=!1,Y=0,K=!1,B=!1,q=!1;for(let U=1;U<J.length;U++){let G=J[U];if(G===void 0)break;if($==="ksh"&&G==="o"&&U+1<J.length){if(X==="argv"){let H=J.slice(U+1);if(J[0]==="-"&&(H==="c"||H[0]==="-"&&H.endsWith("c")))K=!0}break}if($==="ksh"&&G==="o"&&U+1===J.length&&(Q?.startsWith("-")||Q?.startsWith("+")))break;if($==="zsh"&&G==="o"&&U+1<J.length)break;if(X==="startup"&&G==="i")W=J[0]==="-";if(X==="argv"&&J[0]==="-"&&G==="c")K=!0;if(X==="argv"&&G==="n")q=J[0]==="-";if(X==="argv"&&G==="s")B=J[0]==="-";if(!$I[$]?.includes(G))continue;if(U+1===J.length)Y++;break}return{interactive:W,followingValues:Y,commandSelected:K,stdinMode:B,syntaxCheck:q}}function M0($){let J=l($[0]??"").toLowerCase(),Q=!1,X=!1,W=!1;for(let Y=1;Y<$.length;Y++){let K=$[Y];if(K===void 0)break;if(K==="--"){let q=Q&&$[Y+1]!==void 0?Y+1:null;return{command:q===null?null:$[q]??null,commandIndex:q,scriptIndex:!Q&&!X&&$[Y+1]!==void 0?Y+1:null,readsStdinAsCommands:!Q&&(X||$[Y+1]===void 0),syntaxCheck:W}}if(K==="-"||K[0]!=="-"&&K[0]!=="+")return{command:Q?K:null,commandIndex:Q?Y:null,scriptIndex:!Q&&!X&&K!=="-"?Y:null,readsStdinAsCommands:!Q&&(X||K==="-"),syntaxCheck:W};if(K.startsWith("--")){let q=K.split("=",1)[0]??K;if(J==="bash"&&pU.has(q)&&!K.includes("="))Y++;continue}let B=dU(J,K,$[Y+1],"argv");if(B.commandSelected)Q=!0;if(B.syntaxCheck)W=!0;if(B.stdinMode)X=!0;Y+=B.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!Q,syntaxCheck:W}}var t0={kind:"none"},P2={kind:"dynamic"},WI=new Set(["<","<<","<<-","<<<","<&","<>"]),iU=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,YI=/^(?:[0-9]+|[@*])$/,KI=_2.maxWords,BI=_2.maxInputLength;function oU($){if(!$||l(i($.words[0]?.text??""))!=="printf")return;if($.words.some((W)=>W.provenance!=="literal"))return;let J=$.words.slice($.words[1]?.text==="--"?2:1),Q=J[0]?.text;if(Q===void 0)return"";let X=J.slice(1).map((W)=>W.text);if(Q==="%s")return X.join("");if(Q==="%s\\n"||Q===`%s
56
- `)return`${X.join(`
57
- `)}
58
- `;if(Q.includes("%")||/\\(?![\\nrt])/.test(Q))return;return Q.replaceAll("\\n",`
59
- `).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function B4($){let J=P3($[1])==="--"?2:1;if($.length<=J)return t0;let Q=$.slice(J);if(!Q.every(r9))return P2;return{kind:"literal",source:Q.map(k).join(" ")}}function nU($){let J=P3($[1])==="--"?2:1,Q=$[J],X=P3(Q);if(Q===void 0||$.length<=J+1||X==="-"||X===""||X==="-l"||X==="-p")return t0;if(!r9(Q))return P2;return{kind:"literal",source:X}}function d9($,J){let Q=qI($);if(Q===-1)return t0;let X=UI(J);if(!X)return t0;let W=[],Y=X.command?.length??0;for(let K of X.references){let B=HI(K,$,Q,X.ifs);if(!B)return P2;if(Y+=B.reduce((q,U)=>q+U.length+3,0),W.length+B.length>KI||Y>BI)return P2;W.push(...B)}if(X.command==="eval")return{kind:"literal",source:W.join(" ")};if(W.length===0||/\s/.test(W[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[X.command,X.command&&X.optionTerminator?"--":null,...W.map(LI)].filter((K)=>K!==null).join(" ")}}function sU($,J,Q,X){if(!M0($.map(k)).readsStdinAsCommands)return t0;let W=J.filter((Y)=>(Y.fd===void 0||Y.fd===0)&&WI.has(Y.operator)).at(-1);if(W){if(W.operator==="<<"||W.operator==="<<-")return t0;if(W.operator!=="<<<"||W.target?.provenance!=="literal")return P2;return{kind:"literal",source:W.target.text}}if(!Q)return t0;return X===void 0?P2:{kind:"literal",source:X}}function N0($){let J=M0($.map(k)).scriptIndex;if(J===null)return t0;let Q=$[J],X=P3(Q);return u6(Q,X)?{kind:"literal",source:X}:P2}function qI($){return M0($.map(k)).commandIndex??-1}function UI($){let J=/^IFS=(?:'([^']*)'|"([^"]*)"|([^;\s]*))\s*;\s*(.+)$/.exec($.trim()),Q=J?.[4]??$.trim(),X=/^(\.|bash|command|dash|exec|eval|ksh|sh|source|zsh)(?:\s+(--))?\s+(.+)$/.exec(Q),W=(X?.[3]??Q).split(/\s+/).map(GI);if(W.length===0||W.some((Y)=>Y===null))return null;return{command:X?.[1]??null,optionTerminator:X?.[2]!==void 0,references:W.filter((Y)=>!!Y),ifs:J?J[1]??J[2]??J[3]??"":`
60
- `}}function GI($){let J=/^"\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})"$/.exec($),Q=/^\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})$/.exec($),X=J??Q;if(!X)return null;let W=X[1]??X[2];return{parameter:W==="@"||W==="*"?W:Number(W),quoted:J!==null}}function HI($,J,Q,X){let W=J.slice(Q+2);if($.parameter==="@")return $.quoted?lQ(W):ZI(W,X);if($.parameter==="*"){let B=lQ(W);if(!B)return;let q=B.join(X[0]??"");return $.quoted?[q]:pQ(q,X)}let Y=J[Q+1+$.parameter];if(Y&&!r9(Y))return;let K=P3(Y);return $.quoted?[K]:pQ(K,X)}function lQ($){return $.every(r9)?$.map(k):void 0}function ZI($,J){let Q=lQ($);if(!Q)return;let X=Q.map((W)=>pQ(W,J));return X.some((W)=>W===void 0)?void 0:X.flatMap((W)=>W??[])}function pQ($,J){if(["*","?","[","]"].some((Q)=>$.includes(Q)))return;if(J==="")return $===""?[]:[$];if(J===`
61
- `)return $.trim().split(/\s+/).filter(Boolean);if(J.length!==1)return;return J===" "||J==="\t"||J===`
62
- `?$.trim().split(/\s+/).filter(Boolean):$.split(J).filter(Boolean)}function r9($){if(!$)return!0;return $.provenance==="unknown"?!/[$`]/.test(k($)):$.provenance==="literal"}function P3($){return $?k($):""}function LI($){return`'${$.replaceAll("'",`'"'"'`)}'`}function dQ($,J){return cQ(t1($,"posix"),J)}function q4($){return dQ($,new Set(Array.from($.matchAll(iU)).flatMap((J)=>{let Q=J[1]??J[2];return Q===void 0?[]:[Q]})))}function cQ($,J){if($.status==="invalid"||$.status==="limited")return!1;let Q=new Set(J);for(let X of $.nodes){if(X.kind==="group"){if(cQ(X.body,Q))return!0;continue}if(X.kind!=="command")continue;if(X.nested.some((W)=>cQ(W,Q))||aU(X.words,Q))return!0;VI(X,Q)}return!1}function aU($,J){let Q=$.findIndex((K)=>G0(K.text)===null);if(Q===-1)return!1;let X=$[Q];if(!X)return!1;if(b3(X,J))return!0;let W=i(X.text);if(W==="source"||W==="."){let K=$[Q+1]?.text==="--"?Q+2:Q+1;return rU($[K],J)}if(H1.has(W)){let K=$.slice(Q),B=M0(K.map((U)=>U.text)),q=B.commandIndex??B.scriptIndex;return!B.syntaxCheck&&q!==null&&rU(K[q],J)}let Y=OI($,Q,J);if(Y===null)return!1;if(Y===-1)return!0;return aU($.slice(Y),J)}function OI($,J,Q){let X=i($[J]?.text??"");if(X==="command")return MI($,J+1);if(X==="exec")return NI($,J+1);if(X==="env")return FI($,J+1,Q);return null}function MI($,J){for(let Q=J;Q<$.length;Q++){let X=$[Q]?.text??"";if(X==="--")return $[Q+1]?Q+1:null;if(/^-[p]*[vV][pvV]*$/.test(X))return null;if(/^-p+$/.test(X))continue;return Q}return null}function NI($,J){for(let Q=J;Q<$.length;Q++){let X=$[Q]?.text??"";if(X==="--")return $[Q+1]?Q+1:null;if(X==="-a"){Q++;continue}if(/^-a.+/.test(X)||/^-[cl]+$/.test(X))continue;return Q}return null}function FI($,J,Q){for(let X=J;X<$.length;X++){let W=$[X],Y=W?.text??"";if(Y==="--")return $[X+1]?X+1:null;if(Y==="-S"||Y==="--split-string")return b3($[X+1],Q)?-1:X+2;if(Y.startsWith("-S")||Y.startsWith("--split-string="))return b3(W,Q)?-1:X+1;if(Y==="-u"||Y==="--unset"||Y==="-C"||Y==="--chdir"||Y==="-P"){X++;continue}if(Y==="-i"||Y==="-0"||Y==="--null"||Y.startsWith("-u=")||Y.startsWith("--unset=")||Y.startsWith("-C")||Y.startsWith("--chdir=")||Y.startsWith("-P"))continue;if(Y.startsWith("-"))continue;if(G0(Y))continue;return X}return null}function VI($,J){if(!$.words.every((Q)=>G0(Q.text)!==null))return;for(let Q of $.words){let X=G0(Q.text);if(!X)continue;if(b3(Q,J))J.add(X.name)}}function b3($,J){if(!$)return!1;return $.parts.filter((Q)=>Q.provenance==="variable").some((Q)=>Array.from(Q.raw.matchAll(iU)).some((X)=>{let W=X[1]??X[2];return W!==void 0&&(YI.test(W)||J.has(W))}))}function rU($,J){return!!$&&($.parts.some((Q)=>Q.provenance!=="literal"&&Q.provenance!=="variable")||b3($,J))}var _I=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),DI=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),zI=new Set;function tU($){if($==="git")return _I;if($==="docker")return DI;return zI}function O1($,J){if($.length===0||J.length===0)return null;let Q=i($[0]??""),X=f1($);for(let W of J){if(!II(Q,W.command))continue;if(!jI(Q,$,W.subcommand))continue;if(PI($,new Set(W.block_args),X))return{id:`custom.${W.name}`,reason:`[${W.name}] ${W.reason}`,intent:W.intent??"manual_only"}}return null}function II($,J){return $===i(J)}function jI($,J,Q){if(!Q)return!0;return eU(J,1,Q,tU($))}function eU($,J,Q,X){let W=!1;for(let Y=J;Y<$.length;Y++){let K=$[Y];if(!K)continue;if(W){W=!1;continue}if(K==="--"){let B=$[Y+1];if(B&&!B.startsWith("-"))return B===Q;return!1}if(X.has(K)){W=!0;continue}if(K.startsWith("-")){if(!K.includes("=")&&RI($,Y,Q,X))return!0;continue}return K===Q}return!1}function RI($,J,Q,X){let W=$[J+1];if(!W||W.startsWith("-"))return!1;return eU($,J+2,Q,X)}function PI($,J,Q){for(let X of $)if(J.has(X))return!0;for(let X of Q)if(J.has(X))return!0;return!1}function e0($,J,Q={}){if($.length===0)return null;let X=$[0];if(!X)return null;let W=i(X);if(W==="eval"){let Y=B4(p($));if(Y.kind==="dynamic")return U4(Q,J);if(Y.kind==="literal"&&J.analyzeNested){let K=J.analyzeNested(Y.source,{effectiveCwd:J.cwd,envAssignments:J.envAssignments});if(K)return K}return F0(Q,J)}if(H1.has(W)){if(r1($))return null;let Y=O0($);if(Y){if(Q.dynamicSourceInput??Q.dynamicInput){let q=U4(Q,J);if(q)return q}if(q4(Y)){let q=U4(Q,J);if(q)return q}if(!J.analyzeNested)return null;let B=J.analyzeNested(Y,{effectiveCwd:J.cwd,envAssignments:J.envAssignments});if(B)return B;return null}let K=N0(p($));if(K.kind==="dynamic")return U4(Q,J);if(K.kind==="literal"){if(Q.dynamicSourceInput)return U4(Q,J);return null}if(Q.dynamicSourceInput??Q.dynamicInput)return U4(Q,J);return null}if(h1.has(W))return h(u9($,(Y)=>J.analyzeNested?J.analyzeNested(Y,{effectiveCwd:J.cwd,envAssignments:J.envAssignments}):null),J.policy)??O1($,J.policy?.rules??[])??F0(Q,J);if(T1(W)){let Y=Q9($);if(!Y)return F0(Q,J);if(U1(J.policy,"interpreter.one-liner-paranoid",!!J.paranoidInterpreters)){let B=h(z("interpreter.one-liner-paranoid",a2),J.policy);if(B)return B}if(Y9(W,Y))return F0(Q,J);let K=J.analyzeNested?.(Y,{effectiveCwd:J.cwd,envAssignments:J.envAssignments});if(K&&K.id!=="raw-text.dangerous-command"&&(K.reason!==o0||Q4(Y)))return K;if(t2(Y,J.scanWork))return h(z("interpreter.dangerous-command",F2),J.policy)??F0(Q,J);return F0(Q,J)}if(W==="rm"||W==="rmdir"){let Y=W==="rm"&&(k0($)||Q.dynamicRmInput);return h(K4(p($),{environment:J.environment,cwd:J.cwd,originalCwd:J.originalCwd,strict:J.strict,paranoid:J.paranoidRm,allowTmpdirVar:J.allowTmpdirVar,tmpdirWordSplittingUnsafe:U0(J.envAssignments,J.environment),trustedTmpdirValue:v0(J.envAssignments,J.environment),protectedGitMetadata:J.protectedGitMetadata,policy:J.policy}),J.policy)??(Y&&Q.dynamicRmInput?F0(Q,J):null)??(Y?bI(Q,J):null)}if(W==="find")return l9(p($),{...J,derivedCommandWorkBudget:J.derivedCommandWorkBudget,analyzeTokens:(Y,K)=>e0(Y,{...J,cwd:K??void 0,derivedCommandWorkBudget:J.derivedCommandWorkBudget},Q)})??O1($,J.policy?.rules??[])??F0(Q,J);if(W==="git")return h(Y4(p($),{env:J.environment.env,cwd:J.cwd,envAssignments:J.envAssignments,policy:J.policy,worktreeMode:Q.dynamicInput?!1:J.worktreeMode}),J.policy)??O1($,J.policy?.rules??[])??F0(Q,J);return O1($,J.policy?.rules??[])??F0(Q,J)}function U4($,J){return $.shellDynamicMatch?h($.shellDynamicMatch,J.policy):null}function F0($,J){return $.dynamicSourceInput&&$.dynamicSourceMatch?h($.dynamicSourceMatch,J.policy):null}function bI($,J){return $.dynamicInput&&$.rmDynamicMatch?h($.rmDynamicMatch,J.policy):null}var rQ="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",iQ="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",AI="__CC_SAFETY_NET_XARGS_INPUT__",i9="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",o9="rm",EI=/(?:^|[;&|]\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,SI=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,CI=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,TI=/^(?:[0-9]+|[@*])$/,wI=new Set(["branch","checkout","clean","push","reset","restore","switch","tag"]);function QG($,J){let Q=$.map(k),{childStart:X,replacementToken:W}=b2(Q),Y=Q.slice(X),K=z("xargs.shell-dynamic",iQ);if(fI(Y,W,J)&&h(K,J.policy))return h(K,J.policy);for(let B of J0(Y,J)){let q=B.tokens,U=W!==null&&q[0]!==Y[0]&&(q[0]?.includes(W)??!1)?h(K,J.policy):null;if(U)return U;let G=KG(q,W,B.wrapperEnvAssignments),H=B.head==="rm"&&W!==null&&WG(q,W),L=e0(q,{...J,cwd:B.cwd,envAssignments:B.envAssignments},{dynamicInput:G,dynamicSourceInput:H||XG(q,B.head,W,B.wrapperEnvAssignments,G,J.scanWork,J.environment),dynamicRmInput:H,shellDynamicMatch:K,dynamicSourceMatch:K,rmDynamicMatch:z("xargs.rm-recursive-force-dynamic",rQ)});if(L)return L;let Z=vI(q,W,J.policy?.rules??[]);if(Z)return Z;if(B.head==="git"){let M=W===null?[...q,AI]:q,V=W!==null&&(q.some((P)=>P.includes(W))||Array.from(B.envAssignments.values()).some((P)=>P.includes(W))),F=e0(M,{...J,cwd:B.cwd,envAssignments:B.envAssignments,worktreeMode:W===null||V?!1:J.worktreeMode});if(F)return F}let O=O1(q,J.policy?.rules??[]);if(O)return O}return null}function vI($,J,Q){if(Q.length===0)return null;if(J===null){for(let W of Q){let Y=O1([...$,...W.subcommand?[W.subcommand]:[],...W.block_args],Q);if(Y)return Y}return null}let X=new Set(Q.flatMap((W)=>[W.subcommand,...W.block_args].flatMap((Y)=>Y?$.flatMap((K)=>oQ(K,J,Y)):[])));for(let W of X){let Y=O1($.map((K)=>K.replaceAll(J,W)),Q);if(Y)return Y}return null}function oQ($,J,Q){let X=$.indexOf(J);if(X===-1||$.indexOf(J,X+J.length)!==-1)return[];let W=$.slice(0,X),Y=$.slice(X+J.length);return Q.startsWith(W)&&Q.endsWith(Y)?[Q.slice(W.length,Q.length-Y.length)]:[]}function XG($,J,Q,X,W,Y,K){if(H1.has(J)){if(r1($))return!1;if(Q!==null&&kI($,Q))return!0;let B=O0($);if(!B){let q=N0(p($));if(q.kind==="literal")return Q!==null&&q.source.includes(Q);return q.kind==="none"&&W}if(Q!==null&&B.includes(Q))return!0;if(Y3(B,Y))return!0;return hI(B,Q,X)}if(T1(J))return $G($,Q,W9,gB(J));if(h1.has(J))return $G($,Q,EQ,MU);if(J==="eval"){let B=B4(p($));if(B.kind==="dynamic")return!0;if(Q!==null)return B.kind==="literal"&&B.source.includes(Q);return W}if(J==="find")return yI($,Q,Y,K);if(J==="git"){let B=Q0($);return Q===null?B.subcommand===null:(B.subcommand?.includes(Q)??!1)||B.subcommand!==null&&wI.has(B.subcommand.toLowerCase())&&YG(B.rest,Q).some((q)=>q.includes(Q))}return!1}function $G($,J,Q,X){let W=Q($);if(J===null)return W.optionsOpen||Q([...$,i9]).sources.some((q)=>q.value===i9);if(W.sources.some((q)=>q.value.includes(J)))return!0;let Y=new Set(W.sources.map((q)=>`${q.tokenIndex}\x00${q.kind}\x00${q.value}`)),K=X.flatMap((q)=>[q.selector,...q.valueForm==="attached-only"||q.valueForm==="attached-or-separate"?[`${q.selector}${i9}`]:[],...q.valueForm==="equals-or-separate"?[`${q.selector}=${i9}`]:[]]),B=new Set(K.flatMap((q)=>$.flatMap((U)=>oQ(U,J,q))));return Array.from(B).some((q)=>Q($.map((U)=>U.replaceAll(J,q))).sources.some((U)=>!Y.has(`${U.tokenIndex}\x00${U.kind}\x00${U.value}`)))}function fI($,J,Q){if($.length===0||($[0]??"").toLowerCase()==="command")return!1;let X=new Set(Array.from(J0($,Q),(Y)=>Y.head)),W=J===null?[...$,o9]:$.map((Y,K)=>K===0?Y:Y.replaceAll(J,o9));return Array.from(J0(W,Q)).some((Y)=>Y.head===o9&&!X.has(o9))}function WG($,J){return YG($.slice(1),J).some((Q)=>Q.includes(J)&&(Q.startsWith("-")||Q.startsWith(J)))}function YG($,J){let Q=$.findIndex((X)=>X==="--"&&!X.includes(J));return Q===-1?$:$.slice(0,Q)}function KG($,J,Q){if(J===null)return!0;return $.some((X)=>X.includes(J))||Array.from(Q.values()).some((X)=>X.includes(J))}function kI($,J){let Q=M0($);if(Q.commandIndex!==null&&($[Q.commandIndex]??"").includes(J)||Q.scriptIndex!==null&&($[Q.scriptIndex]??"").includes(J))return!0;return["-c","-nc","-cn",`--${J}`,J].some((W)=>$.some((Y,K)=>{if(K===0||!Y.includes(J))return!1;return oQ(Y,J,W).some((q)=>{let U=$.map((H,L)=>L===K?H.replaceAll(J,q):H),G=M0(U);if(G.commandIndex===null&&G.scriptIndex===null)return!1;if(Q.commandIndex===null&&G.commandIndex!==null)return!0;if(Q.scriptIndex===null&&G.scriptIndex!==null)return!0;if(G.commandIndex!==null&&(U[G.commandIndex]??"").includes(q))return!0;return G.scriptIndex!==null&&(U[G.scriptIndex]??"").includes(q)})}))}function hI($,J,Q){let X=new Set(J===null?[]:Array.from(Q).filter(([,W])=>W.includes(J)).map(([W])=>W));for(let W of $.matchAll(EI))if(JG(W,X))return!0;for(let W of $.matchAll(SI))for(let Y of(W[1]??"").matchAll(CI))if(JG(Y,X))return!0;return dQ($,X)}function JG($,J){let Q=$[1]??$[2];return Q!==void 0&&(TI.test(Q)||J.has(Q))}function yI($,J,Q,X){if(J===null)return!0;let W=!1,Y=0;for(let K=1;K<$.length;K++){let B=$[K]??"";if(!W&&!B.startsWith("-")&&B!=="!"&&B!=="("){if(B.indexOf(J)===0)return!0;continue}if(W=!0,Y>0){Y--;continue}if(h0(B)){let U=I3($,K);K=U.nextIndex-1;for(let G of J0(U.tokens,{environment:X,cwd:void 0})){let H=KG(G.tokens,J,G.wrapperEnvAssignments);if(G.head==="rm"&&WG(G.tokens,J)||XG(G.tokens,G.head,J,G.wrapperEnvAssignments,H,Q,X))return!0}continue}let q=a0(B);if(q>0){if(Y=q,B.includes(J))return!0;continue}if(B.includes(J))return!0}return!1}function b2($){let J=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"]),Q=null,X=1;while(X<$.length){let W=$[X];if(!W)break;if(W==="--")return{childStart:X+1,replacementToken:Q};if(W.startsWith("-")){if(W==="-I"){Q=$[X+1]??"{}",X+=2;continue}if(W.startsWith("-I")&&W.length>2){Q=W.slice(2),X++;continue}if(W==="--replace"){Q="{}",X++;continue}if(W.startsWith("--replace=")){let Y=W.slice(10);Q=Y===""?"{}":Y,X++;continue}if(W==="-J"){Q=$[X+1]??"{}",X+=2;continue}if(J.has(W))X+=2;else X++}else return{childStart:X,replacementToken:Q}}return{childStart:$.length,replacementToken:Q}}var A3="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",E3="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",xI="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",uI="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",mI=/\{[^{}\s]*\}/,MG=/\{\}|\{-?\d+\}/g,lI=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","stash","switch","tag","worktree"]),pI=["e","f","source","file","-e","-f","--source","--file"],cI=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],dI=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),rI=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),BG=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),iI=new Set(["--workdir","--wd"]),qG="__CC_SAFETY_NET_PARALLEL_SOURCE__",oI=new TextEncoder,s9=f.maxDerivedBytes+4*f.maxPlaceholderReplacements;function _1($,J){for(let Q of $){let X=J(Q);if(X)return X}return null}function NG($,J){let Q=$.map(k);if((J.envAssignments?.has("PARALLEL")?J.envAssignments.get("PARALLEL"):J.environment.env.get("PARALLEL"))?.trim()){let M=E2(J);if(M)return M}if(Q.length===2&&(Q[1]==="--version"||Q[1]==="--help"))return null;let W=EG(Q),{template:Y,jobs:K,runsRemotely:B,envNames:q,readsCommandsFromInput:U,unsupported:G,workdir:H,dryRun:L}=W;if(G){let M=E2(J);if(M)return M}if(U){let M=Qj(J);if(M)return M}if(H!==void 0&&B){let M=E2(J);if(M)return M}let Z=Bj(H,J.cwd,J.environment.paths);if(Z===null){let M=E2(J);if(M)return M}let O=B?{...J,cwd:void 0,originalCwd:void 0}:Z===null||Z===void 0||Z===J.cwd?J:{...J,cwd:Z};if(L){let M=[...J0(Y,O)];if((M.length===0?aQ(q,J.envAssignments,new Map).values:M.flatMap((F)=>aQ(q,J.envAssignments,F.envAssignments).values)).some($7)){let F=E2(J);if(F)return F}return null}if(Y.length===0){if(q.length>0||K.some((F)=>F.length!==1)){let F=E2(J);if(F)return F}let M=K.map((F)=>F[0]??"");w1(J.budget,sQ(M));let V=RG(O.envAssignments,O.cwd,B);return _1(M,(F)=>J.analyzeNested(F,V))}return _1(J0(Y,O),(M)=>nI(M,W,J,O))}function nI($,J,Q,X){let{jobs:W,templateHasPlaceholder:Y,runsRemotely:K,usesStdin:B,envNames:q}=J,U=$.tokens,G={...X,cwd:$.cwd,envAssignments:$.envAssignments},H=aQ(q,Q.envAssignments,$.envAssignments);if(H.entries.some((F)=>bG(F.value))){let F=E2(Q);if(F)return F}let L=H.entries.some((F)=>F.hasPlaceholder),Z=Y||L,O=B&&Z,M=RG($.envAssignments,$.wrapperCwd,K||O);if(H1.has($.head)){let F=()=>{if(!Y||W.length===0)return null;return w1(Q.budget,n9(U,W,"generic")),_1(W,(A)=>e0(U.map((E)=>V0(E,A)),G))};if(r1(U))return F();let P=O0(U);if(P){if(AG(P)){let b=A2(Q);if(b)return b;if(W.length===0)return null;return w1(Q.budget,LG(P,W)),_1(W,(S)=>Q.analyzeNested(V0(P,S),M))}if(a(P)){if(W.length>0)return w1(Q.budget,LG(P,W)),_1(W,(T)=>Q.analyzeNested(V0(P,T),M));w1(Q.budget,HG(P));let b=j3(P);if(b?.[0]&&i(b[0])==="rm"&&k0(b)){let T=GG(Q);if(T)return T}let S=b?e0(b,G,{dynamicInput:B,shellDynamicMatch:z("parallel.shell-dynamic",E3),rmDynamicMatch:z("parallel.rm-recursive-force-dynamic",A3)}):null;if(S)return S;return Q.analyzeNested(P,M)}let A=!L&&(!Y||W.length>0)?(W.length>0?W:[void 0]).map((b)=>d9(p(b===void 0?U:Y?U.map((S)=>V0(S,b)):[...U,...b]),P)):[];if(A.some((b)=>b.kind==="dynamic")){let b=A2(Q);if(b)return b}let E=A.flatMap((b)=>b.kind==="literal"?[b.source]:[]);if(E.length>0)return w1(Q.budget,sQ(E)),_1(E,(b)=>Q.analyzeNested(b,M));w1(Q.budget,Wj(HG(P),Xj(H.entries,W)));let _=q4(P);if(_&&H.entries.length>0){let b=OG(H,W,X,K);if(b)return b}if(_){let b=A2(Q);if(b)return b}let R=Q.analyzeNested(P,M);if(R)return R;if(!_){let b=OG(H,W,X,K);if(b)return b}if(Z)return A2(Q);return null}let I=N0(p(U));if(I.kind==="dynamic"||I.kind==="literal"&&a(I.source))return A2(Q)??F();if(I.kind==="literal")return F();if(W.length>0){let A=A2(Q);if(A)return A;let E=F();if(E)return E;if(Y)return null;let _=W.flatMap((R)=>R[0]===void 0?[]:[R[0]]);return w1(Q.budget,sQ(_)),_1(_,(R)=>Q.analyzeNested(R,M))}if(Z||B)return A2(Q)??F();return null}if($.head==="rm"&&k0(U)){if(Y&&W.length>0)return w1(Q.budget,n9(U,W,"rm")),_1(W,(P)=>nQ(U.map((I)=>tQ(I,P)),$.cwd,X));if(W.length>0)return w1(Q.budget,ZG(U,W)),_1(W,(P)=>nQ([...U,...P],$.cwd,X));let F=nQ(U.flatMap((P,I)=>{if(I===0||!a(P))return[P];return P.startsWith("-")?[tQ(P,[""])]:[]}),$.cwd,X);if(F)return F;return GG(Q)}w1(Q.budget,Y&&W.length>0?n9(U,W,"generic"):W.length>0?ZG(U,W):DG(U));let V=W.length>0?W:[void 0];return _1(V,(F)=>{let P=F===void 0?U:Y?U.map((T)=>V0(T,F)):[...U,...F],I=z("parallel.shell-dynamic",E3),A=B&&$.head==="find"?Jj(P,X):null,E=VG(P,B,Q.policy?.rules??[],Q.budget)??A?.customResult??null,_=i($.head),R=B&&(_==="rm"&&eQ(P)||_==="xargs"&&_G(P)||A?.rmOptions===!0),b=B&&(R||A?.executedSource===!0||A===null&&FG(P,_)),S=e0(P,{...G,worktreeMode:K||B||Z?!1:Q.worktreeMode},{dynamicInput:B||Z,dynamicRmInput:R,dynamicSourceInput:E!==null||b,shellDynamicMatch:I,dynamicSourceMatch:I,rmDynamicMatch:z("parallel.rm-recursive-force-dynamic",A3)});if(b){let T=h(I,Q.policy);if(T)return T}return S??E??O1(P,Q.policy?.rules??[])})}function FG($,J){if(a($[0]??""))return!0;if(J==="eval"||J==="source"||J===".")return!0;if(J==="parallel"||J==="xargs")return!0;if(H1.has(J))return tI($);if(J==="git")return sI($);if(J==="find")return!0;if(h1.has(J))return UG($,pI,D3);if(T1(J))return UG($,cI,X9);return!1}function eQ($){let J=$.indexOf("--"),Q=$.slice(1,J===-1?void 0:J);if(!$.some(a))return J===-1;return Q.some((W)=>a(W)&&(W.startsWith("-")||AG(W)))}function sI($){if(aI($))return!0;let J=Q0($);if(J.subcommand===null||a(J.subcommand))return!0;if(!lI.has(J.subcommand.toLowerCase()))return!1;let Q=J.rest.indexOf("--"),X=J.rest.slice(0,Q===-1?void 0:Q);if(!$.some(a))return Q===-1;return X.some(a)}function aI($){for(let J=1;J<$.length;J++){let Q=$[J];if(!Q||Q==="--"||!Q.startsWith("-"))return!1;if(Q==="-c"||Q==="--config-env"){if(a($[J+1]??""))return!0;J++;continue}if(Q.startsWith("-c")&&Q.length>2||Q.startsWith("--config-env=")){if(a(Q))return!0;continue}if(a(Q))return!0}return!1}function tI($){if(r1($))return!1;let J=O0($);if(J!==null)return a(J);let Q=N0(p($));if(Q.kind==="literal")return a(Q.source);if(Q.kind==="dynamic")return!0;return!$.some(a)}function UG($,J,Q){let X=Q($);if(X.some((Y)=>a(Y.value)))return!0;if(!$.some(a))return Q([...$,qG]).some((Y)=>Y.value===qG);let W=new Set(X.map((Y)=>`${Y.tokenIndex}\x00${Y.kind}\x00${Y.value}`));return J.some((Y)=>Q($.map((K)=>V0(K,[Y]))).some((K)=>!W.has(`${K.tokenIndex}\x00${K.kind}\x00${K.value}`)))}function VG($,J,Q,X){if(!J||Q.length===0)return null;let W=Q.filter((K)=>i(K.command)===i($[0]??""));if(W.length===0)return null;let Y=$.some(a);if(w1(X,eI($,W,Y)),!Y)return _1(W,(K)=>O1([...$,...K.subcommand?[K.subcommand]:[],...K.block_args],[K]));return _1(W,(K)=>{let B=new Set([K.subcommand,...K.block_args].flatMap((q)=>q?$j($,q):[]));return _1(B,(q)=>O1($.map((U)=>V0(U,[q])),[K]))})}function eI($,J,Q){let X=Q?P1(G1(J.map((W)=>W.block_args.length+(W.subcommand?1:0)),f.maxChildAnalyses),2*Math.max($.length,1),f.maxChildAnalyses):J.length;return{childAnalyses:X,derivedTokens:P1(X,$.length,f.maxDerivedTokens)}}function $j($,J){return $.flatMap((Q)=>{let X=[...Q.matchAll(/\{[^{}\s]*\}/g)];if(X.length!==1)return[];let W=X[0];if(!W||W.index===void 0)return[];let Y=Q.slice(0,W.index),K=Q.slice(W.index+W[0].length);if(!J.startsWith(Y)||!J.endsWith(K))return[J];let B=J.slice(Y.length,J.length-K.length);return B!==J?[J,B]:[J]})}function Jj($,J){let Q={customResult:null,executedSource:!$.some(a),rmOptions:!1},X=!1,W=0,Y=null,K=()=>{if(!Y?.some(a))return;for(let B of J0(Y,J))Q.executedSource||=FG(B.tokens,B.head),Q.rmOptions||=B.head==="rm"&&eQ(B.tokens)||B.head==="xargs"&&_G(B.tokens),Q.customResult??=VG(B.tokens,!0,J.policy?.rules??[],J.budget)};for(let B of $.slice(1)){if(!X&&!B.startsWith("-")&&B!=="!"&&B!=="("){Q.executedSource||=a(B);continue}if(X=!0,Y){if(B===";"||B==="+"){K(),Y=null;continue}Y.push(B);continue}if(W>0){W--;continue}if(h0(B)){Y=[],Q.executedSource||=a(B);continue}let q=a0(B);if(q>0){W=q,Q.executedSource||=a(B);continue}Q.executedSource||=a(B)}return K(),Q}function _G($){let J=$.slice(b2($).childStart);return i(J[0]??"")==="rm"&&eQ(J)}function a9($,J){return(Q)=>h(z($,J),Q.policy)}var A2=a9("parallel.shell-dynamic",E3),Qj=a9("parallel.command-stream-dynamic",xI),E2=a9("parallel.command-stream-dynamic",uI),GG=a9("parallel.rm-recursive-force-dynamic",A3);function nQ($,J,Q){return h(K4(p($),{environment:Q.environment,cwd:J,originalCwd:Q.originalCwd,strict:Q.strict,paranoid:Q.paranoidRm,allowTmpdirVar:Q.allowTmpdirVar,tmpdirWordSplittingUnsafe:U0(Q.envAssignments??new Map,Q.environment),trustedTmpdirValue:v0(Q.envAssignments??new Map,Q.environment),protectedGitMetadata:Q.protectedGitMetadata,policy:Q.policy}),Q.policy)}function sQ($){return{childAnalyses:$.length,derivedTokens:$.length,derivedBytes:H4($)}}function HG($){return DG([$])}function DG($){return{childAnalyses:1,derivedTokens:$.length,derivedBytes:H4($)}}function ZG($,J){if(J.length>f.maxChildAnalyses)return{childAnalyses:J.length};return{childAnalyses:J.length,derivedTokens:G1(J.map((Q)=>$.length+Q.length),f.maxDerivedTokens),derivedBytes:G1([P1(H4($),J.length,f.maxDerivedBytes),G1(J.map((Q)=>H4(Q)),f.maxDerivedBytes)],f.maxDerivedBytes)}}function LG($,J){return n9([$],J,"generic")}function n9($,J,Q){if(J.length>f.maxChildAnalyses)return{childAnalyses:J.length};let X=P1($.length,J.length,f.maxDerivedTokens);if(X>f.maxDerivedTokens)return{childAnalyses:J.length,derivedTokens:X};let W=jG($.map((q)=>IG(q,Q))),Y=P1(W.occurrences,J.length,f.maxPlaceholderReplacements);if(Y>f.maxPlaceholderReplacements)return{childAnalyses:J.length,derivedTokens:X,placeholderReplacements:Y};if(zG(W,J,Y))return{childAnalyses:J.length,derivedTokens:X,derivedBytes:f.maxDerivedBytes+1,placeholderReplacements:Y};let K=Q==="generic"?V0:tQ,B=G1(J.map((q)=>H4($.map((U)=>K(U,q)))),f.maxDerivedBytes);return{childAnalyses:J.length,derivedTokens:X,derivedBytes:B,placeholderReplacements:Y}}function zG($,J,Q){let X=f.maxDerivedBytes+4*Q;return G1([P1($.fixedBytes,J.length,X),P1($.occurrences,G1(J.map((W)=>W.reduce((Y,K)=>Math.max(Y,G4(K)),0)),X),X)],X)>X}function Xj($,J){let Q=$.filter((G)=>G.hasPlaceholder),X=Math.max(J.length,1),W=G1(Q.map((G)=>G.frequency),f.maxChildAnalyses),Y=P1(W,X,f.maxChildAnalyses),K=P1(W,X,f.maxDerivedTokens);if(Y>f.maxChildAnalyses||K>f.maxDerivedTokens)return{childAnalyses:Y,derivedTokens:K};if(J.length===0)return{childAnalyses:Y,derivedTokens:K,derivedBytes:G1(Q.map((G)=>P1(G4(G.value),G.frequency,f.maxDerivedBytes)),f.maxDerivedBytes)};let B=jG(Q.map((G)=>Yj(IG(G.value,"generic"),G.frequency))),q=P1(B.occurrences,X,f.maxPlaceholderReplacements);if(q>f.maxPlaceholderReplacements)return{childAnalyses:Y,placeholderReplacements:q};if(zG(B,J,q))return{childAnalyses:Y,derivedTokens:K,derivedBytes:f.maxDerivedBytes+1,placeholderReplacements:q};let U=G1(Q.map((G)=>P1(H4(J.map((H)=>V0(G.value,H))),G.frequency,f.maxDerivedBytes)),f.maxDerivedBytes);return{childAnalyses:Y,derivedTokens:K,derivedBytes:U,placeholderReplacements:q}}function Wj($,J){return{childAnalyses:G1([$.childAnalyses??0,J.childAnalyses??0],f.maxChildAnalyses),derivedTokens:G1([$.derivedTokens??0,J.derivedTokens??0],f.maxDerivedTokens),derivedBytes:G1([$.derivedBytes??0,J.derivedBytes??0],f.maxDerivedBytes),placeholderReplacements:G1([$.placeholderReplacements??0,J.placeholderReplacements??0],f.maxPlaceholderReplacements)}}function IG($,J){let Q=J==="generic"?$.matchAll(/\{[^{}\s]*\}/g):$.matchAll(MG),X=0,W=0,Y=0;for(let K of Q){if(X>=f.maxPlaceholderReplacements)return{occurrences:f.maxPlaceholderReplacements+1,fixedBytes:0};W=G1([W,G4($.slice(Y,K.index))],s9),X++,Y=K.index+K[0].length}return{occurrences:X,fixedBytes:X===0?G4($):G1([W,G4($.slice(Y))],s9)}}function Yj($,J){return{occurrences:P1($.occurrences,J,f.maxPlaceholderReplacements),fixedBytes:P1($.fixedBytes,J,s9)}}function jG($){return{occurrences:G1($.map((J)=>J.occurrences),f.maxPlaceholderReplacements),fixedBytes:G1($.map((J)=>J.fixedBytes),s9)}}function H4($,J=f.maxDerivedBytes){return G1($.map(G4),J)}function G4($){return oI.encode($).byteLength}function G1($,J){let Q=0;for(let X of $){if(!Number.isSafeInteger(X)||X<0||X>J-Q)return J+1;Q+=X}return Q}function P1($,J,Q){if(!Number.isSafeInteger($)||!Number.isSafeInteger(J)||$<0||J<0||$!==0&&J>Math.floor(Q/$))return Q+1;return $*J}function aQ($,J,Q){let X=[];for(let W of $){let Y=Q.get(W)??J?.get(W);if(Y!==void 0)X.push(Y)}return X.push(...Q.values()),Kj(X)}function Kj($){let J=new Map;for(let X of $)J.set(X,(J.get(X)??0)+1);let Q=[...J].map(([X,W])=>({value:X,frequency:W,hasPlaceholder:a(X)}));return{values:$,entries:Q,byValue:new Map(Q.map((X)=>[X.value,X]))}}function OG($,J,Q,X){return _1($.values,(W)=>{if(!$.byValue.get(W)?.hasPlaceholder)return null;let Y=J.length>0?J:[void 0];return _1(Y,(K)=>{let B=K===void 0?W:V0(W,K);return Q.analyzeNested(B,{envAssignments:Q.envAssignments,effectiveCwd:X?null:Q.cwd})})})}function RG($,J,Q){let X={};if($)X.envAssignments=$;if(Q)return X.effectiveCwd=null,X.worktreeMode=!1,X;if(J!==void 0)X.effectiveCwd=J;return Object.keys(X).length>0?X:void 0}function V0($,J){return $.replace(/\{[^{}\s]*\}/g,(Q)=>PG(Q,J))}function tQ($,J){return $.replace(MG,(Q)=>PG(Q,J))}function PG($,J){let Q=/^\{(-?\d+)[^{}\s]*\}$/.exec($)?.[1];if(Q===void 0)return J[0]??"";let X=Number(Q),W=X>0?X-1:J.length+X;return J[W]??""}function a($){return mI.test($)}function bG($){if($7($))return!0;for(let J of $.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(J[0]))return!0;return!1}function $7($){let J=$.indexOf("{=");return J!==-1&&$.indexOf("=}",J+2)!==-1}function AG($){return/^\{[^{}\s]*\}$/.test($)}function EG($){let J=1,Q=[],X=$.length,W=-1,Y=!1,K=!1,B=!1,q,U=$.some((M)=>M==="::::"||M==="::::+"||M===":::+"),G=[];while(J<$.length){let M=$[J];if(M===void 0)break;if(M===":::"){W=J;break}if(M==="--"){let A=TQ($,J+1);Q.push(...A.templateTokens),X=J+1,W=A.markerIndex;break}if(!M.startsWith("-")){let A=TQ($,J);Q.push(...A.templateTokens),X=J,W=A.markerIndex;break}let V=$[J+1],F=M.indexOf("="),P=F===-1?M:M.slice(0,F),I=F===-1?void 0:M.slice(F+1);if(M==="--dry-run"){B=!0,J++;continue}if(M==="-I"||M.startsWith("-I")&&M.length>2){U||=(M==="-I"?V:M.slice(2))!=="{}",J+=M==="-I"?2:1;continue}if(M==="--replace"||M==="-i"){U=!0,J+=2;continue}if(P==="--replace"||M.startsWith("-i")&&M.length>2){let A=P==="--replace"?I:M.slice(2);U||=A!==""&&A!=="{}",J++;continue}if(M==="-a"||rI.has(P)){U=!0,J+=I===void 0?2:1;continue}if(M==="--pipe"||M==="--pipepart"){K=!0,J++;continue}if(P==="--env"){G.push(...Uj(I??V)),J+=I===void 0?2:1;continue}if(BG.has(P)||M.startsWith("-S")&&M.length>2){Y=!0,J+=BG.has(M)?2:1;continue}if(iI.has(P)){let A=I??V;if(A===void 0||A===":::"||A==="--"){U=!0,J++;continue}q=A,U||=I!==void 0&&A==="",J+=I===void 0?2:1;continue}if(M.startsWith("-j")&&M.length>2&&/^\d+$/.test(M.slice(2))){J++;continue}if(M.startsWith("--")&&I!==void 0){J++;continue}if(dI.has(M)){if(V===void 0||V===":::"||V==="--"){U=!0,J++;continue}J+=2;continue}J+=M==="-j"||M==="--jobs"?2:1}U||=Q.some(B?$7:bG);let H=[];if(W!==-1){let M=[];for(let V=W+1;V<$.length;V++){let F=$[V];if(F===":::"){H.push(M),M=[];continue}if(F!==void 0)M.push(F)}H.push(M)}let L=qj(H),Z=Q.some(a),O=Q.length===0&&W===-1;return{template:Q,jobs:L,childStart:X,templateHasPlaceholder:Z,runsRemotely:Y,usesStdin:K||W===-1,envNames:G,readsCommandsFromInput:O,unsupported:U,workdir:q,dryRun:B}}function Bj($,J,Q){if($===void 0)return;if($==="..."||/[{}$`*?~[]/.test($))return null;if(!J&&!gI($))return null;try{return i0(J??$,$,Q)}catch{return null}}function qj($){if($.length===0||$.some((Q)=>Q.length===0))return[];let J=[[]];for(let Q of $){if(Q.length===1){let W=Q[0];if(W===void 0)return[];for(let Y of J)Y.push(W);continue}let X=[];for(let W of J)for(let Y of Q)if(X.push([...W,Y]),X.length>f.maxChildAnalyses)return X;J=X}return J}function Uj($){return($??"").split(",").map((J)=>J.trim()).filter(Boolean)}function SG($){return EG($).childStart}var Gj="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",J7="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.",Hj=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","stash","switch","tag","worktree"]);function X7($){return $?.parts.some((J)=>J.provenance==="command-substitution")??!1}function Q7($){return $?.parts.some((J)=>J.provenance==="literal"&&J.raw.replace(/^["']/,"").startsWith("-"))??!1}function TG($,J,Q,X=!1,W){let Y=KQ($,J)&&U1(W,"shell.dynamic-executable",X)?z("shell.dynamic-executable",Gj):null;return h(Y,W)??wG($,J,Q,X,W)}function wG($,J,Q,X,W){if(J.length<2)return null;let Y=J.flatMap((B,q)=>X7(B)?[q]:[]);if(Y.length===0)return null;let K=i(J[0]?.text??"");if(K==="git"){let B=r2($,J),q=Lj(B);if(U1(W,"shell.dynamic-structure",X)&&Y.some((H)=>H<=q))return h(z("shell.dynamic-structure",J7),W);if(h(Y4(B,{env:Q.env}),W))return null;let U=J[q]?.text.toLowerCase(),G=B.findIndex((H,L)=>L>q&&k(H)==="--");if(U1(W,"shell.dynamic-structure",X)&&U&&Hj.has(U)&&Y.some((H)=>H>q&&(G===-1||H<G)))return h(z("shell.dynamic-structure",J7),W);return null}if(K==="find")return U1(W,"shell.dynamic-structure",X)&&Oj(J)?h(z("shell.dynamic-structure",J7),W):null;if(K==="xargs")return CG($,J.slice(b2(J.map(k)).childStart),"xargs",Q,X,W);if(K==="parallel")return CG($,J.slice(SG(J.map(k))),"parallel",Q,X,W);return null}function CG($,J,Q,X,W,Y){if(J.length===0)return null;let K=Zj(J,X);if(KQ($,K)){let q=h(z(`${Q}.shell-dynamic`,Q==="xargs"?iQ:E3),Y);if(q)return q}let B=wG($,K,X,W,Y);if(B)return B;if(K[0]?.text==="rm"&&K.slice(1).some((q)=>X7(q)&&Q7(q)))return h(z(`${Q}.rm-recursive-force-dynamic`,Q==="xargs"?rQ:A3),Y);return null}function Zj($,J){let Q=V2($,J),X=Q.rewritten?p(Q.words.map(k)):Q.words,W=X[0];return W&&k(W)==="busybox"?X.slice(1):X}function Lj($){let J=1;while(J<$.length){let Q=$[J],X=Q?k(Q):"";if(B0.has(X)){J+=2;continue}if(X.startsWith("-")){J++;continue}return J}return J}function Oj($){let J=!1,Q=0,X=!1,W=!1;for(let Y=1;Y<$.length;Y++){let K=$[Y];if(!K)continue;let B=X7(K);if(Q>0){Q--;continue}if(W){if(K.text===";"||K.text==="+"){W=!1,J=!0,X=!1;continue}if(B&&(X||Q7(K)))return!0;X=!1;continue}if(!J&&!K.text.startsWith("-")){if(B&&(Y>1||Q7(K)))return!0;continue}if(J=!0,B)return!0;let q=a0(K.text);if(q>0){Q=q;continue}if(h0(K.text))W=!0,X=!0}return!1}function W7($,J){return $.some((Q)=>{if(Q.value==="-"&&(Q.kind==="main-script"||Q.kind==="program-file"))return!0;return!u6(J[Q.tokenIndex],Q.value)})}var Mj="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",Nj="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",Fj="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function vG($,J){let Q=J.slice(1);if($==="dd"&&Q.some((X)=>/^of=\/dev\/.+/.test(X)))return z("dd.device-write",Mj);if(($==="mkfs"||$.startsWith("mkfs."))&&Q.some((X)=>X.startsWith("/dev/")))return z("mkfs.device",Nj);if($==="shred"&&Q.length>0)return z("shred.target",Fj);return null}var kG=[{heads:new Set(["rm","rmdir"]),analyze:($)=>K4($.words,{environment:$.options.environment,cwd:$.cwd,originalCwd:$.originalCwd,strict:$.options.strict,paranoid:$.options.paranoidRm,allowTmpdirVar:$.allowTmpdirVar,tmpdirWordSplittingUnsafe:U0($.envAssignments,$.options.environment),trustedTmpdirValue:v0($.envAssignments,$.options.environment),protectedGitMetadata:$.options.protectedGitMetadata,policy:$.options.policy})},{heads:new Set(["git"]),analyze:($)=>Y4($.words,Y7($))},{heads:new Set(["find"]),analyze:($)=>l9($.words,{environment:$.options.environment,cwd:$.cwd,originalCwd:$.originalCwd,strict:$.options.strict,allowTmpdirVar:$.allowTmpdirVar,tmpdirWordSplittingUnsafe:U0($.envAssignments,$.options.environment),trustedTmpdirValue:v0($.envAssignments,$.options.environment),protectedGitMetadata:$.options.protectedGitMetadata,derivedCommandWorkBudget:$.options.derivedCommandWorkBudget,envAssignments:$.envAssignments,policy:$.options.policy,analyzeTokens:$.analyzeChildTokens,analyzeNested:(J,Q)=>S2($.options.analyzeNested(J,Q))})},{heads:new Set(["xargs"]),analyze:($)=>QG($.words,{...fG($),analyzeNested:(J,Q)=>S2($.options.analyzeNested(J,Q))})},{heads:new Set(["parallel"]),analyze:($)=>NG($.words,{...fG($),budget:$.options.parallelBudget,analyzeNested:(J,Q)=>S2($.options.analyzeNested(J,Q))})}];function fG($){return{environment:$.options.environment,cwd:$.cwd,originalCwd:$.originalCwd,strict:$.options.strict,paranoidRm:$.options.paranoidRm,paranoidInterpreters:$.options.paranoidInterpreters,allowTmpdirVar:$.allowTmpdirVar,protectedGitMetadata:$.options.protectedGitMetadata,derivedCommandWorkBudget:$.options.derivedCommandWorkBudget,envAssignments:$.envAssignments,worktreeMode:$.options.worktreeMode,policy:$.options.policy,scanWork:$.options.scanWork}}function S2($){return $?{id:$.ruleId??"",reason:$.reason,intent:$.intent??"manual_only"}:null}function Y7($){return{env:$.options.environment.env,cwd:$.cwd,dynamicArguments:$.dynamicArguments,envAssignments:$.envAssignments,policy:$.options.policy,worktreeMode:$.options.worktreeMode}}var xG="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function uG($){return kG.find((J)=>J.heads.has($))?.analyze}function S3($,J,Q){let X=Q.trace;if($.length===0)return null;let W=Q.commandView?.dialect??"posix",Y=(C)=>C.map((m)=>W==="posix"?k(m):m.text),K=Q.effectiveCwd===null,B=K?void 0:Q.effectiveCwd??Q.cwd,q=K?void 0:Q.cwd,U=G9($);if(U.envAssignments.size>0)X?.recordSegment({type:"env-strip",input:Y($),envVars:Object.fromEntries([...U.envAssignments.keys()].map((C)=>[C,"<redacted>"])),output:Y(U.words)});let G=V2(U.words,Q.environment,B,new Map([...Q.envAssignments??[],...U.envAssignments]));if(G.unverifiableEnvSplit)throw new M2;let H=G.rewritten?p(Y(G.words)):r2(W,G.words),L=Y(H),Z={...Q,wrapperNormalizationBudget:Q.wrapperNormalizationBudget??{iterations:0}};if(X&&U.words.length>H.length){let C=Y(U.words);X.recordSegment({type:"leading-tokens-stripped",input:C,removed:C.slice(0,C.length-H.length),output:L})}let O=new Map([...Q.envAssignments??[],...U.envAssignments,...G.envAssignments]),M=L[0];if(!M)return null;if(z3(M))throw new p1;let V=i(M),F=G.cwd===null?void 0:G.cwd??B,P=G.cwd===null?void 0:q,I=G.cwd===void 0?Q.effectiveCwd:G.cwd,A=!B3(O,Q.environment),E=TG(W,G.words,Q.environment,Q.strict,Q.policy);if(E)return X?.recordSegment({type:"rule-check",ruleModule:"analyze/segment.ts",ruleFunction:"analyzeDynamicCommandStructure",matched:!0,reason:E.reason}),y0(E);let _=m9(L,Q.policy);if(_){for(let C of[_.childIndex,..._.alternativeChildIndices]){hG(Z.wrapperNormalizationBudget);let m=H.slice(C);X?.recordSegment({type:"transparent-wrapper",wrapper:_.wrapper,output:Y(m)});let W1=S3(m,J,{...Z,effectiveCwd:I,envAssignments:O});if(W1)return W1}return null}let R=V==="eval"?B4(H):V==="trap"?nU(H):void 0;if(R?.kind==="dynamic")return i1(X);if(R?.kind==="literal"){X?.recordSegment({type:"recurse",reason:V==="eval"?"shell-eval":"shell-trap",innerCommand:R.source,depth:J+1});let C=Q.analyzeNested(R.source,{effectiveCwd:I,envAssignments:O,functionDefinitions:Q.functionDefinitions});if(C)return C}if(lG(M,V)){if(r1(L))return null;let C=Vj(L,O,I,Q,X,J);if(C)return C;let m=O0(L);if(m){let c2=d9(H,m);if(c2.kind==="dynamic")return i1(X);let NJ=c2.kind==="literal"?c2.source:m,DK=_j(NJ);X?.recordSegment({type:"shell-wrapper",wrapper:V,innerCommand:DK}),X?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:DK,depth:J+1});let zK=Q.analyzeNested(NJ,{effectiveCwd:I,envAssignments:O});if(zK)return zK;return q4(NJ)?i1(X):null}let W1=N0(H);if(W1.kind==="dynamic")return i1(X);if(W1.kind==="literal")return $$(W1.source,I,O,Q,X,J);let Z1=sU(H,Q.commandView?.redirections??[],Q.hasPipelineInput??!1,Q.literalShellInput);if(Z1.kind==="dynamic")return i1(X);if(Z1.kind==="literal")return X?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:Z1.source,depth:J+1}),Q.analyzeNested(Z1.source,{effectiveCwd:I,envAssignments:O})}if(V==="source"||V==="."){let C=L[1]==="-p"?2:null;if(C!==null){let c2=Q.commandView?H[C]:void 0;if(!c2)return null;if(c2.provenance!=="literal")return i1(X)}let m=C===null?1:3,W1=L[m]==="--"?m+1:m,Z1=Q.commandView?H[W1]:void 0;if(!Z1)return null;if(Z1.provenance!=="literal")return i1(X);return $$(Z1.text,I,O,Q,X,J)}if(h1.has(V)){if(Q.strict&&W7(D3(L),H))return i1(X);let C=u9(L,(W1)=>S2(Q.analyzeNested(W1,{effectiveCwd:I,envAssignments:O}))),m=h(C,Q.policy);if(m)return X?.recordSegment({type:"rule-check",ruleModule:"awk",ruleFunction:"analyzeAwkSystemCalls",matched:!0,reason:m.reason}),y0(m)}if(T1(V)){if(Q.strict&&W7(X9(L),H))return i1(X);let C=Q9(L);if(C){let m=U1(Q.policy,"interpreter.one-liner-paranoid",!!Q.paranoidInterpreters);if(X?.recordSegment({type:"interpreter",interpreter:V,codeArg:C,paranoidBlocked:m}),m){let Z1=h(z("interpreter.one-liner-paranoid",a2),Q.policy);if(Z1)return y0(Z1)}if(Y9(V,C))return null;X?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:C,depth:J+1});let W1=Q.analyzeNested(C,{effectiveCwd:I,envAssignments:O});if(W1&&W1.ruleId!=="raw-text.dangerous-command"&&(W1.reason!==o0||Q4(C)))return W1;if(t2(C,Q.scanWork)){let Z1=h(z("interpreter.dangerous-command",F2),Q.policy);if(Z1)return X?.recordSegment({type:"dangerous-text",token:C,matched:!0,reason:F2}),y0(Z1)}X=void 0}}if(V==="busybox"&&L.length>1)return hG(Z.wrapperNormalizationBudget),X?.recordSegment({type:"busybox",subcommand:L[1]??"unknown"}),X?.recordSegment({type:"recurse",reason:"busybox",innerCommand:L.slice(1).join(" "),depth:J+1}),S3(H.slice(1),J,{...Z,effectiveCwd:I,envAssignments:O});let b=h(vG(V,L),Q.policy);if(b)return X?.recordSegment({type:"rule-check",ruleModule:"analyze/device.ts",ruleFunction:"analyzeDeviceCommand",matched:!0,reason:b.reason}),y0(b);let S=X===Z.trace?Z:{...Z,trace:X},T={words:H,head:V,cwd:F,originalCwd:P,envAssignments:O,allowTmpdirVar:A,dynamicArguments:G.words.some((C)=>C.provenance==="command-substitution"),depth:J,effectiveCwd:I,options:S,analyzeChildTokens:(C,m)=>S2(S3(p(C),J+1,{...S,commandView:void 0,effectiveCwd:m,envAssignments:O}))??O1(C,S.policy.rules)},g=uG(V);if(V==="rm"||V==="xargs"||V==="parallel")X?.recordSegment({type:"tmpdir-check",tmpdirValue:O.has("TMPDIR")||Q.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!A,allowTmpdirVar:A});let x=X&&V==="git"?gU(T.words,Y7(T)):void 0,c=yG(x?x.match:g?.(T)??null,Q.policy);if(X)Dj(T,c,x?.relaxation??null);if(c)return y0(c);let V1=g!==void 0;if(!V1)if(!$9.has(V)){let C=X?[]:void 0;for(let m=1;m<L.length;m++){let W1=L[m];if(!W1)continue;C?.push(W1);let Z1=yG(zj(T,L,m),Q.policy);if(Z1)return X?.recordSegment({type:"fallback-scan",tokensScanned:C??[],embeddedCommandFound:i(W1)}),y0(Z1)}X?.recordSegment({type:"fallback-scan",tokensScanned:C??[]})}else X?.recordSegment({type:"fallback-scan",tokensScanned:[]});else X?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(J===0||!V1){let C=O1(L,Q.policy.rules);if(X?.recordSegment({type:"custom-rules-check",rulesChecked:Q.policy.rules.length>0,matched:!!C,reason:C?.reason}),C)return y0(C)}else X?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function Vj($,J,Q,X,W,Y){let K=cU($);if(K.argvSource?.kind==="absent")return i1(W);if(K.argvSourceApplies&&K.argvSource){let q=$$(K.argvSource.value,Q,J,X,W,Y,!0);if(q)return q}if(!K.envSourceApplies||!K.envName)return null;let B=J.get(K.envName);if(!B)return null;return $$(B,Q,J,X,W,Y,!0)}function $$($,J,Q,X,W,Y,K=!1){if(K&&/[$`*?[\]]/.test($))return i1(W);let B=K3($,J,X.environment.paths),q=B?X.literalHeredocFiles?.get(B):void 0;if(q===void 0)return K?i1(W):null;return q0(X.derivedCommandWorkBudget,1),W?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:q,depth:Y+1}),X.analyzeNested(q,{effectiveCwd:J,envAssignments:Q})}function _j($){let J=$[0];return $.length>=2&&(J==='"'||J==="'")&&$.at(-1)===J?$.slice(1,-1):$}function Dj($,J,Q){let X={git:["git","analyzeGit"],rm:["analyze/rm.ts","analyzeRm"],find:["analyze/find.ts","analyzeFind"],xargs:["analyze/xargs.ts","analyzeXargs"],parallel:["analyze/parallel.ts","analyzeParallel"]}[$.head];if(!X)return;if($.options.trace?.recordSegment({type:"rule-check",ruleModule:X[0]??"",ruleFunction:X[1]??"",matched:!!J||!!Q,reason:J?.reason??Q?.originalReason}),Q)$.options.trace?.recordSegment({type:"worktree-relaxation",originalReason:Q.originalReason,gitCwd:Q.gitCwd})}function hG($){if($.iterations>=n2)throw new p1;$.iterations++}function y0($){return{reason:$.reason,ruleId:$.id||void 0,intent:$.intent}}function i1($){return $?.recordSegment({type:"error",message:xG}),y0(mG())}function mG(){return{id:"",reason:xG,intent:"stop_and_explain"}}function lG($,J){return H1.has(J)||$==="$SHELL"||$==="${SHELL}"||H1.has(l(J))}function zj($,J,Q){let X=J0(J.slice(Q),{environment:$.options.environment,cwd:$.cwd,envAssignments:$.envAssignments,policy:$.options.policy});for(let W of X){let Y=Ij($,Q,W);if(Y)return Y}return null}function Ij($,J,Q){let X=Q.tokens[0];if(!X)return null;let W=i(X);if(lG(X,W)){q0($.options.derivedCommandWorkBudget,$.words.length-J);let q=Q.tokens;if(r1(q))return null;let U=O0(q);if(!U){if(N0(p(q)).kind==="dynamic")return mG();return e9($,Q)}let G=$.options.analyzeNested(U,{effectiveCwd:Q.wrapperCwd===void 0?$.effectiveCwd:Q.wrapperCwd,envAssignments:Q.envAssignments});return G?S2(G):e9($,Q)}let Y=uG(W);if(!Y||W==="xargs"||W==="parallel"){if(Q.wrappedByTransparent&&$.options.policy.rules.length>0)q0($.options.derivedCommandWorkBudget,$.words.length-J);return e9($,Q)}q0($.options.derivedCommandWorkBudget,$.words.length-J);let K=[W,...Q.tokens.slice(1)],B={...$,words:p(K),head:W,cwd:Q.cwd,originalCwd:Q.wrapperCwd===null?void 0:$.originalCwd,envAssignments:Q.envAssignments,allowTmpdirVar:!B3(Q.envAssignments,$.options.environment),effectiveCwd:Q.wrapperCwd===void 0?$.effectiveCwd:Q.wrapperCwd,options:W==="git"?{...$.options,worktreeMode:!1}:$.options};return Y(B)??e9($,Q)}function e9($,J){return J.wrappedByTransparent?O1(J.tokens,$.options.policy.rules):null}function yG($,J){return $?.id.startsWith("custom.")?$:h($,J)}var jj=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,Rj=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function Pj($,J){let Q=dG($,J);if(Q.length===0)return!1;let X=Q[cG(Q)];if(X==="cd"||X==="pushd"||X==="popd")return!0;return jj.test($.join(" "))}function pG($,J,Q,X){if($.dialect==="powershell"){let B=bj($.words,X);if(B.kind==="none")return;if(!J||B.kind==="unknown")return null;return gG(Cj(B.target),J,Q.paths)}let W=$.words.map(k);if(!Pj(W,Q))return;if(!J)return null;let Y=dG(W,Q,J),K=cG(Y);if(K===-1||Y[K]!=="cd")return null;return gG(Y[K+1],J,Q.paths)}function gG($,J,Q){if(!$||$==="-"||$.includes("$")||$.includes("`"))return null;try{return Tj(i0(J,$,Q),J,Q)?J:null}catch{return null}}function bj($,J){let Q=Aj($[0])?1:0,X=$[Q];if(!Ej(X,Q===1))return{kind:"none"};let W=X.text.toLowerCase(),Y=W.split(/[\\/]/).pop()??W;if(!Rj.has(Y))return{kind:"none"};if(W!==Y||Y==="pop-location"||Y==="popd")return{kind:"unknown"};return Sj($.slice(Q+1),J)}function Aj($){return $?.provenance==="literal"&&!$.quoted&&$.raw===$.text&&($.text==="&"||$.text===".")}function Ej($,J){return $?.provenance==="literal"&&(J||!$.quoted&&$.raw===$.text)}function Sj($,J){let Q;for(let X of $){if(X.provenance!=="literal"||Q!==void 0)return{kind:"unknown"};Q=X.text}if(Q!==void 0)return{kind:"target",target:Q};return J===void 0?{kind:"unknown"}:{kind:"target",target:J}}function Cj($){return $.includes("::")?void 0:$.replaceAll("\\","/")}function cG($){let J=0;if($[0]==="builtin"&&$.length>1)J=1;if($[J]!=="time")return J;let Q=J+1;while($[Q]?.startsWith("-"))Q++;return Q}function dG($,J,Q){let X=wj($);return c1([...X],J,Q)}function Tj($,J,Q){let X=Q.realpath($),W=Q.realpath(J);if(X===null||W===null)return t9($)===t9(J);return t9(X)===t9(W)}function wj($){let J=0;while(J<$.length){let Q=$[J];if(Q==="{"||Q==="("||Q==="$(")J++;else break}return $.slice(J)}var C3="TMPDIR",T3="IFS",vj=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,K7=/^[A-Za-z_][A-Za-z0-9_]*$/;function iG($,J){let Q=gj($,J);return{env:$,effectiveEnvAssignments:Q,shellAssignments:new Map,exportedNames:xj($,Q),allexport:!1,keywordExport:!1}}function oG($){return{env:$.env,effectiveEnvAssignments:$.effectiveEnvAssignments?new Map($.effectiveEnvAssignments):void 0,shellAssignments:new Map($.shellAssignments),exportedNames:new Set($.exportedNames),allexport:$.allexport,keywordExport:$.keywordExport}}function nG($,J){let Q=fj($,J);if(!Q)return;let{command:X,commandIndex:W,leadingAssignments:Y,prefixAssignmentsPersist:K}=Q;if(X===null){for(let q of Y.values())rG(J,q);return}if(K)for(let q of Y.values())J.shellAssignments.set(q.name,q.value),J.exportedNames.add(q.name),$2(J,q);if(X==="set"){let q=rj($,W);if(q.allexport!==null)J.allexport=q.allexport;if(q.keywordExport!==null)J.keywordExport=q.keywordExport;return}if(X==="unset"){let q=pj($,W);if(q===null)return;for(let U of $.slice(q))lj(J,U);return}if(X!=="export"&&X!=="typeset"&&X!=="declare"&&X!=="readonly")return;for(let q of Y.values())rG(J,q);if(X==="export"){let q=cj($,W);if(q===null)return;for(let U of $.slice(q))uj(J,U);return}let B=dj($,W);if(B===null)return;for(let q of $.slice(B.operandsStart))mj(J,q,B.exports,X==="readonly"?Y:void 0)}function sG($,J){if(!J.keywordExport)return J.effectiveEnvAssignments;let Q=null,X=X$(J);for(let W of $){let Y=Q$(W,X,J.env);if(!Y)continue;Q??=new Map(J.effectiveEnvAssignments??[]),Q.set(Y.name,Y.value),X.set(Y.name,Y.value)}return Q??J.effectiveEnvAssignments}function fj($,J){let Q=new Map,X=0;while(X<$.length){let B=$[X];if(!B)return null;let q=Q$(B,X$(J,Q),J.env);if(!q)break;Q.set(q.name,q),X++}if(X>=$.length)return{command:null,commandIndex:X,leadingAssignments:Q,prefixAssignmentsPersist:!1};let W=X,Y=X,K=$[Y]??null;while(K==="builtin"||K==="command"||K==="time"){if(K==="builtin"){if(Y++,$[Y]==="--")Y++;K=$[Y]??null;continue}if(K==="command"){let q=kj($,Y);if(!q)return null;Y=q.commandIndex,K=q.command;continue}let B=hj($,Y);if(!B)return null;Y=B.commandIndex,K=B.command}if(K===null)return null;return{command:K,commandIndex:Y,leadingAssignments:Q,prefixAssignmentsPersist:Y===W&&(K==="unset"||K==="set"||K==="export"||K==="readonly")}}function kj($,J){return aG($,J,(Q)=>{if(Q==="-p")return"skip";return Q==="-v"||Q==="-V"?"abort":"stop"})}function hj($,J){return aG($,J,(Q)=>Q.startsWith("-")?"skip":"stop")}function aG($,J,Q){let X=J+1;while(X<$.length){let Y=$[X];if(!Y)return null;if(Y==="--"){X++;break}let K=Q(Y);if(K==="abort")return null;if(K==="skip"){X++;continue}break}let W=$[X];return W?{command:W,commandIndex:X}:null}function Q$($,J,Q){return G0($)??yj($,J,Q)}function yj($,J,Q){let X=p6($,Q,J);if(X)return X;let W=$.match(vj)?.[1];if(!W)return null;let Y=$.indexOf("=");return{name:W,value:`${J.has(W)?J.get(W):Q.get(W)??""}${$.slice(Y+1)}`}}function J$($){return $===C3||$===T3||fJ($)}function X$($,J){return new Map([...$.effectiveEnvAssignments??[],...$.shellAssignments,...[...J?.values()??[]].map((Q)=>[Q.name,Q.value])])}function gj($,J){let Q=[...m6,C3,T3].map((X)=>{let W=$.get(X);return W===void 0?null:[X,W]}).filter((X)=>X!==null);if(Q.length===0)return J;return new Map([...Q,...J??[]])}function xj($,J){let Q=new Set;for(let X of $.keys())if(J$(X))Q.add(X);for(let X of J?.keys()??[])if(J$(X))Q.add(X);return Q}function rG($,J){if($.shellAssignments.set(J.name,J.value),J.name===C3||J.name===T3||$.allexport||$.exportedNames.has(J.name))$2($,J)}function $2($,J){let Q=new Map($.effectiveEnvAssignments??[]);Q.set(J.name,J.value),$.effectiveEnvAssignments=Q}function uj($,J){let Q=Q$(J,X$($),$.env);if(Q){$.shellAssignments.set(Q.name,Q.value),$.exportedNames.add(Q.name),$2($,Q);return}if(K7.test(J))tG($,J)}function mj($,J,Q,X){let W=Q$(J,X$($),$.env);if(W){if($.shellAssignments.set(W.name,W.value),Q)$.exportedNames.add(W.name),$2($,W);else if(W.name===C3||W.name===T3||$.allexport||$.exportedNames.has(W.name))$2($,W);return}let Y=X?.get(J);if(Y){$.exportedNames.add(J),$2($,Y);return}if(Q&&K7.test(J))tG($,J)}function tG($,J){$.exportedNames.add(J),$2($,{name:J,value:$.shellAssignments.get(J)??$.effectiveEnvAssignments?.get(J)??$.env.get(J)??""})}function lj($,J){if(!J$(J)&&!K7.test(J))return;if($.shellAssignments.set(J,""),$.exportedNames.delete(J),!J$(J)||J===C3||J===T3||t4(J)){$2($,{name:J,value:""});return}if(!$.effectiveEnvAssignments?.has(J))return;let Q=new Map($.effectiveEnvAssignments);Q.delete(J),$.effectiveEnvAssignments=Q.size===0?void 0:Q}function pj($,J){return eG($,J,(Q)=>Q==="-v")}function cj($,J){return eG($,J,(Q)=>Q==="-p")}function eG($,J,Q){let X=J+1;while(X<$.length){let W=$[X];if(!W)return null;if(W==="--")return X+1;if(Q(W)){X++;continue}if(W.startsWith("-"))return null;return X}return X}function dj($,J){let Q=J+1,X=!1;while(Q<$.length){let W=$[Q];if(!W)return null;if(W==="--")return{operandsStart:Q+1,exports:X};if(W.startsWith("-")){if(W.slice(1).includes("x"))X=!0;Q++;continue}if(W.startsWith("+")){if(W.slice(1).includes("x"))X=!1;Q++;continue}return{operandsStart:Q,exports:X}}return{operandsStart:Q,exports:X}}function rj($,J){let Q={allexport:null,keywordExport:null},X=J+1;while(X<$.length){let W=$[X];if(!W)return Q;if(W==="--")return Q;if(W==="-o"||W==="+o"){if($[X+1]==="allexport")Q.allexport=W==="-o";if($[X+1]==="keyword")Q.keywordExport=W==="-o";X+=2;continue}if(W.startsWith("-")&&W.length>1){let Y=W.slice(1);if(Y.includes("a"))Q.allexport=!0;if(Y.includes("k"))Q.keywordExport=!0;X++;continue}if(W.startsWith("+")&&W.length>1){let Y=W.slice(1);if(Y.includes("a"))Q.allexport=!1;if(Y.includes("k"))Q.keywordExport=!1;X++;continue}return Q}return Q}var ij="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",C2="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.",oj=64;function H7($,J,Q,X){let W=Q.derivedCommandWorkBudget===void 0,Y=Q.parallelBudget===void 0;try{return nj($,J,{...Q,derivedCommandWorkBudget:Q.derivedCommandWorkBudget??t6(),parallelBudget:Q.parallelBudget??uB()},X)}catch(K){let B=K instanceof M2?TB:K instanceof p1&&W?CB:K instanceof q9&&Y?xB:void 0;if(!B)throw K;if(Q.trace?.currentSegmentIndex!==void 0)Q.trace.recordSegment({type:"error",message:B});else Q.trace?.recordGlobal({type:"error",message:B});return{reason:B,segment:$,intent:"stop_and_explain"}}}function nj($,J,Q,X){if(J>=e6)return Q.trace?.recordSegment({type:"error",message:S0}),{reason:S0,segment:$,intent:"stop_and_explain"};let W=X??Q.factStore?.getCommandProgram($,Q.shell??"auto")??t1($,Q.shell);if(W.status==="limited")return Q.trace?.recordSegment({type:"error",message:S0}),{reason:S0,segment:$,intent:"stop_and_explain"};if(W.status==="invalid"){let U=W.issues.find((G)=>G.code.includes("heredoc"));if(U){if(!Q.strict)return G7($,Q);let G=`Unsupported heredoc syntax: ${U.message}`;return Q.trace?.recordGlobal({type:"error",message:G}),{reason:G,segment:$,intent:"stop_and_explain"}}return YH($,Q),{reason:o0,segment:$,intent:"stop_and_explain"}}if(Q.strict&&W.status==="partial")return YH($,Q),{reason:o0,segment:$,intent:"stop_and_explain"};if(W.issues.some((U)=>U.code.includes("quote"))&&!Q.analyzePartialProgram)return G7($,Q);let K=Q.cwd,B=Q.effectiveCwd!==void 0?Q.effectiveCwd:Q.cwd,q=iG(Q.environment.env,Q.envAssignments);return K$(W,J,{...Q,rootProgram:W},K,[{effectiveCwd:B,shellGitContextState:q,literalHeredocFiles:new Map(Q.literalHeredocFiles),functionDefinitions:new Map(Q.functionDefinitions)}]).result}function K$($,J,Q,X,W){let Y=[...W],K,B;for(let[q,U]of $.nodes.entries()){if(U.kind==="connector"){B=U.operator;continue}let G=$.nodes[q+1],H=G?.kind==="connector"?G.operator:void 0,L=sj($,q,U,B,H),Z=B==="&&"||B==="||",O=Z?K:void 0,M=B==="&&"?O?.success??Y:B==="||"?O?.failure??Y:Y,V=B==="||"?O?.success??[]:[],F=B==="&&"?O?.failure??[]:[],P=Z||Z4(H);if(U.kind==="function"){let S=M.flatMap((g)=>{let x=w3(g);return x.functionDefinitions.set(U.name,U.body),B7(g,[x],L,H==="&",Z4(H))}),T=q7(S,[],V,F,B,H);Y=T.states,K=T.conditionalStates,B=void 0;continue}if(U.kind==="group"){let S=[],T=[];for(let x of M){let c=K$(U.body,J,Q,X,[w3(x)]);if(c.result)return c;if(S.push(...B7(x,c.states,L,H==="&",Z4(H))),P)T.push(x,...L?c.states.map((V1)=>W$(x,V1)):c.states)}let g=q7(S,T,V,F,B,H);Y=g.states,K=g.conditionalStates,B=void 0;continue}if(U.kind!=="command")continue;let I=Q.trace?.flattenNested?Q.trace.currentSegmentIndex:Q.trace?.allocateSegment(),A=$.nodes[q-2],E=B$(B)&&A?.kind==="command"?oU(A)??tj(A):void 0,_=[],R=[];for(let S of M){let T=ej(U,J,Q,X,[w3(S)]);if(T.result)return{result:T.result,states:Y};let g=$.dialect==="powershell"?T.states:T.states.map((x)=>W$(S,x));for(let x of g){let c=w3(x),V1=QR(U,J,Q.trace?{...Q,trace:KH(Q.trace,I)}:Q,X,c,B$(B),E);if(V1)return{result:V1,states:Y};let C=MR(U,c.functionDefinitions);if(C)q0(Q.derivedCommandWorkBudget,q$(C));let m=C?J+1>=e6?U7(U.displayText,Q,[c]):K$(C,J+1,Q,X,[c]):{result:null,states:[c]};if(m.result)return m;if(_.push(...B7(S,m.states,L,H==="&",Z4(H))),P)R.push(S),R.push(...m.states.map((W1)=>L?W$(S,W1):W1))}}let b=q7(_,R,V,F,B,H);Y=b.states,K=b.conditionalStates,B=void 0}return{result:null,states:Y}}function sj($,J,Q,X,W){if(Q.kind==="group"&&Q.style==="subshell")return!0;if($.dialect==="posix"&&(B$(X)||B$(W)))return!0;if(W==="&")return!0;return $.dialect==="powershell"&&Q.kind==="group"&&Q.style==="brace"&&aj($,J)}function B7($,J,Q,X,W){let Y=Q?J.map((B)=>W$($,B)):[...J],K=W?Y.flatMap((B)=>v3($.literalHeredocFiles,B.literalHeredocFiles)?[B]:[{...B,literalHeredocFiles:new Map($.literalHeredocFiles)},B]):Y;return X?[$,...K]:K}function W$($,J){return{...$,literalHeredocFiles:new Map(J.literalHeredocFiles)}}function aj($,J){let Q=[...$.nodes.slice(0,J)].reverse().find((W)=>W.kind==="command"||W.kind==="connector");if(!Q||Q.kind!=="command")return!0;let X=Q.words[0]?.text.toLowerCase();if(X==="&"||X===".")return!1;if(X==="write-output"||X==="function"||X==="start-job")return!0;if($R(Q))return!0;return Q.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function B$($){return $==="|"||$==="|&"}function tj($){if($?.dialect!=="powershell")return;if($.words.length===1&&$.words[0]?.quoted&&$.words[0].provenance==="literal")return $.words[0].text;if($.words[0]?.text.toLowerCase()==="write-output"&&$.words.length===2&&$.words[1]?.provenance==="literal")return $.words[1].text;return}function Z4($){return $==="&&"||$==="||"}function q7($,J,Q,X,W,Y){let K={success:Y$([...Q,...$]),failure:Y$([...X,...J])},B=Z4(Y)?K:void 0;return{states:Z4(W)||B?Y$([...K.success,...K.failure]):K.success,conditionalStates:B}}function KH($,J,Q=$.flattenNested){return{currentSegmentIndex:J,flattenNested:Q,allocateSegment:$.allocateSegment,getNextSegmentIndex:$.getNextSegmentIndex,recordGlobal:$.recordGlobal,recordSegment:(X,W=J)=>$.recordSegment(X,W)}}function ej($,J,Q,X,W){let Y=$.nested.map((K)=>({program:K,depth:J}));if($.dialect==="powershell"){let K=JR($);if(K){if(J+1>=e6)return U7(K,Q,W);let B=t1(K,"powershell");if(B.status==="limited")return U7(K,Q,W);if(B.status!=="complete")return $H(Y,Q,X,W);q0(Q.derivedCommandWorkBudget,q$(B)),Y.push({program:B,depth:J+1})}}return $H(Y,Q,X,W)}function $R($){let J=$.words[0];return J?.provenance==="variable"&&$.words.at(-1)?.text==="="?J.text.toLowerCase():void 0}function $H($,J,Q,X){let W=[...X];for(let Y of $){let K=[];for(let B of W){let q=K$(Y.program,Y.depth,J,Q,[w3(B)]);if(q.result)return q;K.push(...q.states)}W=Y$(K)}return{result:null,states:W}}function JR($){let J=$.words[0]?.provenance==="literal"&&!$.words[0].quoted&&$.words[0].raw===$.words[0].text&&($.words[0].text==="&"||$.words[0].text==="."),Q=J?1:0,X=$.words[Q];if(X?.provenance!=="literal"||!J&&(X.quoted||X.raw!==X.text)||!["iex","invoke-expression"].includes(X.text.toLowerCase()))return;let W=$.words.slice(Q+1),Y=W[0]&&!W[0].quoted&&W[0].raw===W[0].text&&["-c","-command"].includes(W[0].text.toLowerCase())?1:0,K=W[Y];return W.length===Y+1&&K?.quoted&&K.provenance==="literal"?K.text:void 0}function q$($){return $.nodes.reduce((J,Q)=>J+(Q.kind==="command"?Q.words.length+Q.nested.reduce((X,W)=>X+q$(W),0):Q.kind==="group"||Q.kind==="function"?q$(Q.body):0),0)}function U7($,J,Q){return J.trace?.recordSegment({type:"error",message:S0}),{result:{reason:S0,segment:$,intent:"stop_and_explain"},states:[...Q]}}function QR($,J,Q,X,W,Y,K){let B=UR($);if(B&&Q.strict)return Q.trace?.recordSegment({type:"error",message:B}),{reason:B,segment:$.source,intent:"stop_and_explain"};BH($,W,"before-consumer",Q.environment.paths);let q=r2($.dialect,$.words).map(k),U=$.displayText,G=sG(q,W.shellGitContextState);if($.dialect==="powershell"){let Z=h(LU($,Y,VR(Q,W.effectiveCwd)),Q.policy);if(Q.trace?.recordSegment({type:"rule-check",ruleModule:"analyze/powershell/remove-item.ts",ruleFunction:"analyzePowerShellCommandViewMatch",matched:!!Z,reason:Z?.reason}),Z)return FR(U,Z)}if(q.length===1&&q[0]?.includes(" ")&&!$.dynamicExecutable){let Z=h(Y3(q[0],Q.scanWork),Q.policy),O=Z!==null&&!Q.strict&&AB($,Q.rootProgram,Q.scanWork);if(Z&&!O)return Q.trace?.recordSegment({type:"dangerous-text",token:q[0],matched:!0,reason:Z.reason}),{reason:Z.reason,segment:U,ruleId:Z.id,intent:Z.intent};return Q.trace?.recordSegment({type:"dangerous-text",token:q[0],matched:!1}),JH($,B,W,G,K,Q)}let H=S3($.words,J,{...Q,commandView:$,cwd:X,effectiveCwd:W.effectiveCwd,envAssignments:G,literalHeredocFiles:W.literalHeredocFiles,functionDefinitions:W.functionDefinitions,hasPipelineInput:Y,literalShellInput:K,analyzeNested:(Z,O)=>{let M=O&&Object.hasOwn(O,"effectiveCwd")?O.effectiveCwd:W.effectiveCwd,V=H7(Z,J+1,{...Q,derivedCommandWorkBudget:Q.derivedCommandWorkBudget,effectiveCwd:M,envAssignments:O?.envAssignments??G,literalHeredocFiles:W.literalHeredocFiles,functionDefinitions:O?.functionDefinitions,worktreeMode:O?.worktreeMode??Q.worktreeMode,trace:Q.trace?KH(Q.trace,Q.trace.currentSegmentIndex,!0):void 0});return V?{reason:V.reason,ruleId:V.ruleId,intent:V.intent}:null}});if(H)return{...H,segment:U};let L=JH($,B,W,G,K,Q);if(L)return L;return nG(q,W.shellGitContextState),null}function JH($,J,Q,X,W,Y){let K=GR($,J,Q,X??new Map,Y);if(K)return K;return BH($,Q,"after-consumer",Y.environment.paths),Q.literalHeredocFiles.clear(),YR($,J,Q,Y.environment.paths),LR($,Q,W,Y.environment,Y.trace),null}var XR=new Set([">>","<>"]);function BH($,J,Q,X){for(let Y of $.redirections){if(!(Q==="before-consumer"?WR(Y):XR.has(Y.operator)))continue;QH(Y.target,J,X)}if(Q!=="before-consumer"||!y1($.words[0],"tee"))return;let W=qH($.words.slice(1));if(!W)return;for(let Y of W.operands)QH(Y,J,X)}function WR($){if($.operator===">"||$.operator===">|")return!0;return $.operator===">&"&&$.fd===void 0&&$.target?.provenance==="literal"&&!/^(?:[0-9]+|-)$/.test($.target.text)}function QH($,J,Q){let X=$?.provenance==="literal"?K3($.text,J.effectiveCwd,Q):void 0;if(!X)return;J.literalHeredocFiles.delete(X)}function YR($,J,Q,X){if(J)return;let W=$.redirections.find((Y)=>Y.operator==="<<"||Y.operator==="<<-")?.heredoc;if(!W?.quotedDelimiter)return;for(let Y of KR($)){let K=K3(Y.text,Q.effectiveCwd,X);if(!K||!fB(K))continue;if(!Q.literalHeredocFiles.has(K)&&Q.literalHeredocFiles.size>=vB)throw new p1;Q.literalHeredocFiles.set(K,W.body)}}function KR($){let J=qR($.redirections)?.target,Q=XH(J)?[J]:[];if(y1($.words[0],"cat"))return BR($.words)?Q:[];if(!y1($.words[0],"tee"))return[];let X=qH($.words.slice(1));if(!X||X.append||X.hasUnsupportedOptions||!X.operands.every(XH))return[];return[...X.operands,...Q]}function BR($){let J=!1;for(let Q of $.slice(1)){if(J||Q.provenance!=="literal")return!1;if(Q.text==="--"){J=!0;continue}if(!/^-u+$/.test(Q.text))return!1}return!0}function qR($){let J=$.findLast((Q)=>(Q.fd??([">",">|",">>",">&"].includes(Q.operator)?1:0))===1);return J?.operator===">"||J?.operator===">|"?J:void 0}function qH($){let J=[],Q=!0,X=!1,W=!1;for(let Y of $){if(Y.provenance!=="literal")return;if(Q&&y1(Y,"--")){Q=!1;continue}if(Q&&!Y.quoted&&Y.raw===Y.text&&/^-[^-]/.test(Y.text)){X||=Y.text.slice(1).includes("a"),W||=[...Y.text.slice(1)].some((K)=>K!=="a"&&K!=="i");continue}if(Q&&!Y.quoted&&Y.raw===Y.text&&Y.text.startsWith("--")){X||=Y.text==="--append",W||=Y.text!=="--append"&&Y.text!=="--ignore-interrupts";continue}J.push(Y)}return{operands:J,append:X,hasUnsupportedOptions:W}}function XH($){if(!$||$.provenance!=="literal"||$.text.length===0)return!1;if($.quoted||$.raw!==$.text)return!0;return!$.raw.startsWith("~")&&!/[{}]/.test($.raw)}function y1($,J){return $?.text===J&&$.raw===J&&$.provenance==="literal"&&!$.quoted}function UR($){let J=$.redirections.filter((K)=>K.operator==="<<"||K.operator==="<<-");if(J.length===0)return;if(J.length!==1)return C2;let Q=J[0];if(!Q?.heredoc)return C2;if(!Q.heredoc.quotedDelimiter)return ij;if(Q.fd!==void 0&&Q.fd!==0)return C2;if($.redirections.some((K)=>K!==Q&&["<","<<","<<-","<<<","<&","<>"].includes(K.operator)))return C2;let X=$.redirections.some((K)=>K!==Q&&WH(K.target));if(y1($.words[0],"cat"))return X?C2:void 0;if(y1($.words[0],"tee"))return X||$.words.slice(1).some(WH)?C2:void 0;let W=$.words[0],Y=$.words[1];if(y1(W,"git")&&(y1(Y,"apply")||y1(Y,"commit")))return;if(y1(W,"gh")&&(y1(Y,"pr")||y1(Y,"issue"))&&y1($.words[2],"create"))return;return C2}function WH($){return $?.parts.some((J)=>J.provenance==="command-substitution"&&J.raw.startsWith(">("))??!1}function GR($,J,Q,X,W){if(!J)return null;let Y=$.redirections.filter((U)=>U.operator==="<<"||U.operator==="<<-"),K=Y.flatMap((U)=>U.heredoc?[U.heredoc.body]:[]);if(ZR($,Y,Q,X,W))return null;let B=HR($,Y,W);if(B!==void 0)return B?{reason:B.reason,segment:$.displayText,ruleId:B.id,intent:B.intent}:null;let q=G7(K.length===Y.length?K.join(`
63
- `):$.source,W);return q?{...q,segment:$.displayText}:null}function HR($,J,Q){let X=J.length===1?J[0]:void 0;if(!X?.heredoc?.quotedDelimiter||X.fd!==void 0&&X.fd!==0)return;let W=$.words[0];if(W?.provenance!=="literal"||!T1(W.text))return;if(!$.words.slice(1).every((U)=>U.provenance==="literal"&&U.text.startsWith("-")))return;let K=X.heredoc.body,B=U1(Q.policy,"interpreter.one-liner-paranoid",!!Q.paranoidInterpreters);if(Q.trace?.recordSegment({type:"interpreter",interpreter:W.text,codeArg:K,paranoidBlocked:B}),B){let U=h(z("interpreter.one-liner-paranoid",a2),Q.policy);if(U)return U}if(!t2(K,Q.scanWork))return null;let q=h(z("interpreter.dangerous-command",F2),Q.policy);if(!q)return null;return Q.trace?.recordSegment({type:"dangerous-text",token:K,matched:!0,reason:q.reason}),q}function ZR($,J,Q,X,W){let Y=J.length===1?J[0]:void 0;if(!Y?.heredoc?.quotedDelimiter||Y.fd!==void 0&&Y.fd!==0)return!1;let K=V2($.words,W.environment,Q.effectiveCwd,X),B=K.words.map(k),q=i(B[0]??"");if(K.unverifiableEnvSplit||!H1.has(q)&&!H1.has(l(q)))return!1;return r1(B)}function LR($,J,Q,X,W){let Y=pG($,J.effectiveCwd,X,Q);if(Y===null)W?.recordSegment({type:"cwd-change",segment:$.words.map(k).join(" "),effectiveCwdNowUnknown:!0});if(Y!==void 0)J.effectiveCwd=Y}function w3($){return{effectiveCwd:$.effectiveCwd,shellGitContextState:oG($.shellGitContextState),literalHeredocFiles:new Map($.literalHeredocFiles),functionDefinitions:new Map($.functionDefinitions)}}function Y$($){let J=[];for(let Q of $){if(!J.some((X)=>OR(X,Q)))J.push(Q);if(J.length>oj)throw new p1}return J}function OR($,J){return $.effectiveCwd===J.effectiveCwd&&v3($.literalHeredocFiles,J.literalHeredocFiles)&&v3($.functionDefinitions,J.functionDefinitions)&&v3($.shellGitContextState.effectiveEnvAssignments,J.shellGitContextState.effectiveEnvAssignments)&&v3($.shellGitContextState.shellAssignments,J.shellGitContextState.shellAssignments)&&NR($.shellGitContextState.exportedNames,J.shellGitContextState.exportedNames)&&$.shellGitContextState.allexport===J.shellGitContextState.allexport&&$.shellGitContextState.keywordExport===J.shellGitContextState.keywordExport}function v3($,J){if($===J)return!0;if(!$||!J||$.size!==J.size)return!1;return[...$].every(([Q,X])=>J.get(Q)===X&&J.has(Q))}function MR($,J){let Q=R9($);return Q===void 0?void 0:J.get(Q)}function NR($,J){return $.size===J.size&&[...$].every((Q)=>J.has(Q))}function FR($,J){if(!J)return null;return{reason:J.reason,segment:$,ruleId:J.id,intent:J.intent}}function VR($,J=$.effectiveCwd){let Q=J===null;return{environment:$.environment,cwd:Q?void 0:J??$.cwd,originalCwd:Q?void 0:$.cwd,strict:$.strict,paranoid:$.paranoidRm,allowTmpdirVar:$.allowTmpdirVar,protectedGitMetadata:$.protectedGitMetadata,policy:$.policy}}function G7($,J){let Q=h(Y3($,J.scanWork),J.policy),X=J.trace?.currentSegmentIndex??J.trace?.allocateSegment(),W={type:"dangerous-text",token:$,matched:!!Q,reason:Q?.reason};if(J.trace?.recordSegment(W,X),!Q&&/^(?:cd|pushd)\s/.test($))J.trace?.recordSegment({type:"cwd-change",segment:$,effectiveCwdNowUnknown:!0},X);return Q?{reason:Q.reason,segment:$,ruleId:Q.id,intent:Q.intent}:null}function YH($,J){let Q={type:"strict-unparseable",rawCommand:$,reason:o0};if(J.trace?.currentSegmentIndex===void 0)J.trace?.recordGlobal(Q);else J.trace.recordSegment(Q)}var q1={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"}},U$=["standard","strict","paranoid"];function _R($){return{failClosed:$==="strict"||$==="paranoid",paranoidRm:$==="paranoid",paranoidInterpreters:$==="paranoid"}}function DR($,J){if(!J)return $;return U$.indexOf(J)>U$.indexOf($)?J:$}function zR(){let $=N7(q1.level);if($===void 0||$==="")return;if(U$.includes($))return $;console.error(`CC Safety Net: ignored invalid ${q1.level.name}=${JSON.stringify($.slice(0,40))}. Use ${U$.join(", ")}.`);return}function IR($){if($===void 0||$==="all")return"all";if($==="blocked")return"blocked";return"invalid"}function L7(){return IR(N7(q1.auditScope))==="all"}function O7($){if($.failClosed&&$.paranoidRm&&$.paranoidInterpreters)return"paranoid";if($.failClosed&&!$.paranoidRm&&!$.paranoidInterpreters)return"strict";if(!$.failClosed&&!$.paranoidRm&&!$.paranoidInterpreters)return"standard";return"custom"}function M7($={}){let J=$.safety?.level??"standard",Q=zR(),X=DR(J,Q),W=_R(X),Y={failClosed:X===J?"preset":"environment",paranoidRm:X===J?"preset":"environment",paranoidInterpreters:X===J?"preset":"environment"},K={failClosed:[`policy safety.level=${J}`],paranoidRm:[`policy safety.level=${J}`],paranoidInterpreters:[`policy safety.level=${J}`],worktreeMode:[]};if(X!==J)K.failClosed.push(`env ${q1.level.name}=${Q}`),K.paranoidRm.push(`env ${q1.level.name}=${Q}`),K.paranoidInterpreters.push(`env ${q1.level.name}=${Q}`);if($.safety?.overrides?.failClosed!==void 0)W.failClosed=$.safety.overrides.failClosed,Y.failClosed="capability_override",K.failClosed.push("policy safety.overrides.fail_closed");if($.safety?.overrides?.paranoidRm!==void 0)W.paranoidRm=$.safety.overrides.paranoidRm,Y.paranoidRm="capability_override",K.paranoidRm.push("policy safety.overrides.paranoid_rm");if($.safety?.overrides?.paranoidInterpreters!==void 0)W.paranoidInterpreters=$.safety.overrides.paranoidInterpreters,Y.paranoidInterpreters="capability_override",K.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(g0(q1.strict))W.failClosed=!0,Y.failClosed="environment",K.failClosed.push(`env ${q1.strict.name}`);if(g0(q1.paranoid))W.paranoidRm=!0,W.paranoidInterpreters=!0,Y.paranoidRm="environment",Y.paranoidInterpreters="environment",K.paranoidRm.push(`env ${q1.paranoid.name}`),K.paranoidInterpreters.push(`env ${q1.paranoid.name}`);if(g0(q1.paranoidRm))W.paranoidRm=!0,Y.paranoidRm="environment",K.paranoidRm.push(`env ${q1.paranoidRm.name}`);if(g0(q1.paranoidInterpreters))W.paranoidInterpreters=!0,Y.paranoidInterpreters="environment",K.paranoidInterpreters.push(`env ${q1.paranoidInterpreters.name}`);let B=!!$.worktreeMode||g0(q1.worktree);if($.worktreeMode)K.worktreeMode.push("policy workflow.worktree_mode");if(g0(q1.worktree))K.worktreeMode.push(`env ${q1.worktree.name}`);return{strict:W.failClosed,paranoidRm:W.paranoidRm,paranoidInterpreters:W.paranoidInterpreters,worktreeMode:B,effectiveLevel:O7(W),capabilities:{fail_closed:{enabled:W.failClosed,source:Y.failClosed,sources:K.failClosed},paranoid_rm:{enabled:W.paranoidRm,source:Y.paranoidRm,sources:K.paranoidRm},paranoid_interpreters:{enabled:W.paranoidInterpreters,source:Y.paranoidInterpreters,sources:K.paranoidInterpreters}},sources:K}}function g0($){let J=typeof $==="string"?Z7($):N7($);return J==="1"||J?.toLowerCase()==="true"}function Z7($){return Object.hasOwn(process.env,$)?process.env[$]:void 0}function N7($){let J=Z7($.name);if(J!==void 0)return J;if($.legacyName)return Z7($.legacyName);return}function UH($){let J=$.effectiveCapabilities,Q=$.strict??J.fail_closed.enabled,X=$.paranoidRm??J.paranoid_rm.enabled,W=$.paranoidInterpreters??J.paranoid_interpreters.enabled,Y={fail_closed:F7(J.fail_closed,$.strict,"strict"),paranoid_rm:F7(J.paranoid_rm,$.paranoidRm,"paranoidRm"),paranoid_interpreters:F7(J.paranoid_interpreters,$.paranoidInterpreters,"paranoidInterpreters")};return{policy:PB($.policySnapshot.policy,Y),effectiveCapabilities:Y,effectiveLevel:O7({failClosed:Q,paranoidRm:X,paranoidInterpreters:W}),strict:Q,paranoidRm:X,paranoidInterpreters:W,worktreeMode:$.worktreeMode??!1}}function F7($,J,Q){if(J===void 0||J===$.enabled)return $;return{enabled:J,source:"capability_override",sources:[...$.sources,`analysis options.${Q}`]}}function GH($,J,Q,X){let W=H7($,0,{...J,...UH(J),factStore:X},Q);if(!W)return null;return{kind:"deny",reason:W.reason,intent:W.intent??"manual_only",...W.ruleId?{ruleId:W.ruleId}:{},evidence:[{kind:"command",command:$,segment:W.segment}]}}import{dirname as GK}from"path";function f3($,J,Q,X,W){if(Q.kind!=="command")return{toolName:$,input:J,route:Q,context:X};return{toolName:$,input:J,route:Q,context:X,command:W}}import{chmodSync as mh,existsSync as Cb,mkdirSync as lh,readFileSync as Tb}from"fs";import{dirname as wb,join as vb}from"path";import{createRequire as Fb}from"module";var $K={};q2($K,{z:()=>BJ,xor:()=>kZ,xid:()=>WZ,void:()=>SZ,uuidv7:()=>sH,uuidv6:()=>nH,uuidv4:()=>oH,uuid:()=>iH,util:()=>w,url:()=>aH,uppercase:()=>P4,unknown:()=>g2,union:()=>t8,undefined:()=>AZ,ulid:()=>XZ,uint64:()=>PZ,uint32:()=>IZ,tuple:()=>RY,trim:()=>T4,treeifyError:()=>N$,transform:()=>$J,toUpperCase:()=>v4,toLowerCase:()=>w4,toJSONSchema:()=>e3,templateLiteral:()=>oZ,symbol:()=>bZ,superRefine:()=>aY,success:()=>dZ,stringbool:()=>QL,stringFormat:()=>MZ,string:()=>T8,strictObject:()=>vZ,startsWith:()=>A4,slugify:()=>f4,size:()=>k2,setErrorMap:()=>KL,set:()=>uZ,safeParseAsync:()=>I8,safeParse:()=>z8,safeEncodeAsync:()=>S8,safeEncode:()=>A8,safeDecodeAsync:()=>C8,safeDecode:()=>E8,registry:()=>s3,regexes:()=>x1,regex:()=>j4,refine:()=>sY,record:()=>PY,readonly:()=>cY,property:()=>O8,promise:()=>nZ,prettifyError:()=>F$,preprocess:()=>WL,prefault:()=>yY,positive:()=>G8,pipe:()=>q6,partialRecord:()=>yZ,parseAsync:()=>D8,parse:()=>_8,overwrite:()=>X0,optional:()=>K6,object:()=>wZ,number:()=>qY,nullish:()=>cZ,nullable:()=>B6,null:()=>LY,normalize:()=>C4,nonpositive:()=>Z8,nonoptional:()=>gY,nonnegative:()=>L8,never:()=>a8,negative:()=>H8,nativeEnum:()=>mZ,nanoid:()=>$Z,nan:()=>rZ,multipleOf:()=>Y2,minSize:()=>I0,minLength:()=>u0,mime:()=>S4,meta:()=>$L,maxSize:()=>K2,maxLength:()=>h2,map:()=>xZ,mac:()=>BZ,lte:()=>u1,lt:()=>D0,lowercase:()=>R4,looseRecord:()=>gZ,looseObject:()=>fZ,locales:()=>n3,literal:()=>lZ,length:()=>y2,lazy:()=>iY,ksuid:()=>YZ,keyof:()=>TZ,jwt:()=>OZ,json:()=>XL,iso:()=>W6,ipv6:()=>qZ,ipv4:()=>KZ,intersection:()=>IY,int64:()=>RZ,int32:()=>zZ,int:()=>w8,instanceof:()=>JL,includes:()=>b4,httpUrl:()=>tH,hostname:()=>NZ,hex:()=>FZ,hash:()=>VZ,guid:()=>rH,gte:()=>D1,gt:()=>z0,globalRegistry:()=>E1,getErrorMap:()=>BL,function:()=>sZ,fromJSONSchema:()=>eY,formatError:()=>F4,float64:()=>DZ,float32:()=>_Z,flattenError:()=>N4,file:()=>pZ,exactOptional:()=>wY,enum:()=>e8,endsWith:()=>E4,encodeAsync:()=>P8,encode:()=>j8,emoji:()=>eH,email:()=>dH,e164:()=>LZ,discriminatedUnion:()=>hZ,describe:()=>eZ,default:()=>Zb,decodeAsync:()=>b8,decode:()=>R8,date:()=>CZ,custom:()=>tZ,cuid2:()=>QZ,cuid:()=>JZ,core:()=>j0,config:()=>Y1,coerce:()=>KJ,codec:()=>iZ,clone:()=>N1,cidrv6:()=>GZ,cidrv4:()=>UZ,check:()=>aZ,catch:()=>mY,boolean:()=>UY,bigint:()=>jZ,base64url:()=>ZZ,base64:()=>HZ,array:()=>H6,any:()=>EZ,_function:()=>sZ,_default:()=>kY,_ZodString:()=>v8,ZodXor:()=>_Y,ZodXID:()=>u8,ZodVoid:()=>FY,ZodUnknown:()=>MY,ZodUnion:()=>L6,ZodUndefined:()=>HY,ZodUUID:()=>R0,ZodURL:()=>U6,ZodULID:()=>x8,ZodType:()=>y,ZodTuple:()=>jY,ZodTransform:()=>CY,ZodTemplateLiteral:()=>dY,ZodSymbol:()=>GY,ZodSuccess:()=>xY,ZodStringFormat:()=>r,ZodString:()=>m4,ZodSet:()=>AY,ZodRecord:()=>O6,ZodRealError:()=>z1,ZodReadonly:()=>pY,ZodPromise:()=>oY,ZodPrefault:()=>hY,ZodPipe:()=>XJ,ZodOptional:()=>JJ,ZodObject:()=>Z6,ZodNumberFormat:()=>x2,ZodNumber:()=>p4,ZodNullable:()=>vY,ZodNull:()=>ZY,ZodNonOptional:()=>QJ,ZodNever:()=>NY,ZodNanoID:()=>h8,ZodNaN:()=>lY,ZodMap:()=>bY,ZodMAC:()=>BY,ZodLiteral:()=>EY,ZodLazy:()=>rY,ZodKSUID:()=>m8,ZodJWT:()=>n8,ZodIssueCode:()=>YL,ZodIntersection:()=>zY,ZodISOTime:()=>Q6,ZodISODuration:()=>X6,ZodISODateTime:()=>$6,ZodISODate:()=>J6,ZodIPv6:()=>p8,ZodIPv4:()=>l8,ZodGUID:()=>Y6,ZodFunction:()=>nY,ZodFirstPartyTypeKind:()=>YJ,ZodFile:()=>SY,ZodExactOptional:()=>TY,ZodError:()=>cH,ZodEnum:()=>u4,ZodEmoji:()=>k8,ZodEmail:()=>f8,ZodE164:()=>o8,ZodDiscriminatedUnion:()=>DY,ZodDefault:()=>fY,ZodDate:()=>G6,ZodCustomStringFormat:()=>l4,ZodCustom:()=>M6,ZodCodec:()=>WJ,ZodCatch:()=>uY,ZodCUID2:()=>g8,ZodCUID:()=>y8,ZodCIDRv6:()=>d8,ZodCIDRv4:()=>c8,ZodBoolean:()=>c4,ZodBigIntFormat:()=>s8,ZodBigInt:()=>d4,ZodBase64URL:()=>i8,ZodBase64:()=>r8,ZodArray:()=>VY,ZodAny:()=>OY,TimePrecision:()=>U8,NEVER:()=>G$,$output:()=>m$,$input:()=>l$,$brand:()=>H$});var BJ={};q2(BJ,{xor:()=>kZ,xid:()=>WZ,void:()=>SZ,uuidv7:()=>sH,uuidv6:()=>nH,uuidv4:()=>oH,uuid:()=>iH,util:()=>w,url:()=>aH,uppercase:()=>P4,unknown:()=>g2,union:()=>t8,undefined:()=>AZ,ulid:()=>XZ,uint64:()=>PZ,uint32:()=>IZ,tuple:()=>RY,trim:()=>T4,treeifyError:()=>N$,transform:()=>$J,toUpperCase:()=>v4,toLowerCase:()=>w4,toJSONSchema:()=>e3,templateLiteral:()=>oZ,symbol:()=>bZ,superRefine:()=>aY,success:()=>dZ,stringbool:()=>QL,stringFormat:()=>MZ,string:()=>T8,strictObject:()=>vZ,startsWith:()=>A4,slugify:()=>f4,size:()=>k2,setErrorMap:()=>KL,set:()=>uZ,safeParseAsync:()=>I8,safeParse:()=>z8,safeEncodeAsync:()=>S8,safeEncode:()=>A8,safeDecodeAsync:()=>C8,safeDecode:()=>E8,registry:()=>s3,regexes:()=>x1,regex:()=>j4,refine:()=>sY,record:()=>PY,readonly:()=>cY,property:()=>O8,promise:()=>nZ,prettifyError:()=>F$,preprocess:()=>WL,prefault:()=>yY,positive:()=>G8,pipe:()=>q6,partialRecord:()=>yZ,parseAsync:()=>D8,parse:()=>_8,overwrite:()=>X0,optional:()=>K6,object:()=>wZ,number:()=>qY,nullish:()=>cZ,nullable:()=>B6,null:()=>LY,normalize:()=>C4,nonpositive:()=>Z8,nonoptional:()=>gY,nonnegative:()=>L8,never:()=>a8,negative:()=>H8,nativeEnum:()=>mZ,nanoid:()=>$Z,nan:()=>rZ,multipleOf:()=>Y2,minSize:()=>I0,minLength:()=>u0,mime:()=>S4,meta:()=>$L,maxSize:()=>K2,maxLength:()=>h2,map:()=>xZ,mac:()=>BZ,lte:()=>u1,lt:()=>D0,lowercase:()=>R4,looseRecord:()=>gZ,looseObject:()=>fZ,locales:()=>n3,literal:()=>lZ,length:()=>y2,lazy:()=>iY,ksuid:()=>YZ,keyof:()=>TZ,jwt:()=>OZ,json:()=>XL,iso:()=>W6,ipv6:()=>qZ,ipv4:()=>KZ,intersection:()=>IY,int64:()=>RZ,int32:()=>zZ,int:()=>w8,instanceof:()=>JL,includes:()=>b4,httpUrl:()=>tH,hostname:()=>NZ,hex:()=>FZ,hash:()=>VZ,guid:()=>rH,gte:()=>D1,gt:()=>z0,globalRegistry:()=>E1,getErrorMap:()=>BL,function:()=>sZ,fromJSONSchema:()=>eY,formatError:()=>F4,float64:()=>DZ,float32:()=>_Z,flattenError:()=>N4,file:()=>pZ,exactOptional:()=>wY,enum:()=>e8,endsWith:()=>E4,encodeAsync:()=>P8,encode:()=>j8,emoji:()=>eH,email:()=>dH,e164:()=>LZ,discriminatedUnion:()=>hZ,describe:()=>eZ,decodeAsync:()=>b8,decode:()=>R8,date:()=>CZ,custom:()=>tZ,cuid2:()=>QZ,cuid:()=>JZ,core:()=>j0,config:()=>Y1,coerce:()=>KJ,codec:()=>iZ,clone:()=>N1,cidrv6:()=>GZ,cidrv4:()=>UZ,check:()=>aZ,catch:()=>mY,boolean:()=>UY,bigint:()=>jZ,base64url:()=>ZZ,base64:()=>HZ,array:()=>H6,any:()=>EZ,_function:()=>sZ,_default:()=>kY,_ZodString:()=>v8,ZodXor:()=>_Y,ZodXID:()=>u8,ZodVoid:()=>FY,ZodUnknown:()=>MY,ZodUnion:()=>L6,ZodUndefined:()=>HY,ZodUUID:()=>R0,ZodURL:()=>U6,ZodULID:()=>x8,ZodType:()=>y,ZodTuple:()=>jY,ZodTransform:()=>CY,ZodTemplateLiteral:()=>dY,ZodSymbol:()=>GY,ZodSuccess:()=>xY,ZodStringFormat:()=>r,ZodString:()=>m4,ZodSet:()=>AY,ZodRecord:()=>O6,ZodRealError:()=>z1,ZodReadonly:()=>pY,ZodPromise:()=>oY,ZodPrefault:()=>hY,ZodPipe:()=>XJ,ZodOptional:()=>JJ,ZodObject:()=>Z6,ZodNumberFormat:()=>x2,ZodNumber:()=>p4,ZodNullable:()=>vY,ZodNull:()=>ZY,ZodNonOptional:()=>QJ,ZodNever:()=>NY,ZodNanoID:()=>h8,ZodNaN:()=>lY,ZodMap:()=>bY,ZodMAC:()=>BY,ZodLiteral:()=>EY,ZodLazy:()=>rY,ZodKSUID:()=>m8,ZodJWT:()=>n8,ZodIssueCode:()=>YL,ZodIntersection:()=>zY,ZodISOTime:()=>Q6,ZodISODuration:()=>X6,ZodISODateTime:()=>$6,ZodISODate:()=>J6,ZodIPv6:()=>p8,ZodIPv4:()=>l8,ZodGUID:()=>Y6,ZodFunction:()=>nY,ZodFirstPartyTypeKind:()=>YJ,ZodFile:()=>SY,ZodExactOptional:()=>TY,ZodError:()=>cH,ZodEnum:()=>u4,ZodEmoji:()=>k8,ZodEmail:()=>f8,ZodE164:()=>o8,ZodDiscriminatedUnion:()=>DY,ZodDefault:()=>fY,ZodDate:()=>G6,ZodCustomStringFormat:()=>l4,ZodCustom:()=>M6,ZodCodec:()=>WJ,ZodCatch:()=>uY,ZodCUID2:()=>g8,ZodCUID:()=>y8,ZodCIDRv6:()=>d8,ZodCIDRv4:()=>c8,ZodBoolean:()=>c4,ZodBigIntFormat:()=>s8,ZodBigInt:()=>d4,ZodBase64URL:()=>i8,ZodBase64:()=>r8,ZodArray:()=>VY,ZodAny:()=>OY,TimePrecision:()=>U8,NEVER:()=>G$,$output:()=>m$,$input:()=>l$,$brand:()=>H$});var j0={};q2(j0,{version:()=>IX,util:()=>w,treeifyError:()=>N$,toJSONSchema:()=>e3,toDotPath:()=>NH,safeParseAsync:()=>S7,safeParse:()=>E7,safeEncodeAsync:()=>QP,safeEncode:()=>$P,safeDecodeAsync:()=>XP,safeDecode:()=>JP,registry:()=>s3,regexes:()=>x1,process:()=>n,prettifyError:()=>F$,parseAsync:()=>_$,parse:()=>V$,meta:()=>NW,locales:()=>n3,isValidJWT:()=>kH,isValidBase64URL:()=>fH,isValidBase64:()=>cX,initializeContext:()=>y4,globalRegistry:()=>E1,globalConfig:()=>k3,formatError:()=>F4,flattenError:()=>N4,finalize:()=>x4,extractDefs:()=>g4,encodeAsync:()=>tR,encode:()=>sR,describe:()=>MW,decodeAsync:()=>eR,decode:()=>aR,createToJSONSchemaMethod:()=>VW,createStandardJSONSchemaMethod:()=>M8,config:()=>Y1,clone:()=>N1,_xor:()=>fP,_xid:()=>e$,_void:()=>KW,_uuidv7:()=>i$,_uuidv6:()=>r$,_uuidv4:()=>d$,_uuid:()=>c$,_url:()=>t3,_uppercase:()=>P4,_unknown:()=>WW,_union:()=>vP,_undefined:()=>JW,_ulid:()=>t$,_uint64:()=>e5,_uint32:()=>i5,_tuple:()=>yP,_trim:()=>T4,_transform:()=>cP,_toUpperCase:()=>v4,_toLowerCase:()=>w4,_templateLiteral:()=>eP,_symbol:()=>$W,_superRefine:()=>OW,_success:()=>nP,_stringbool:()=>FW,_stringFormat:()=>k4,_string:()=>f5,_startsWith:()=>A4,_slugify:()=>f4,_size:()=>k2,_set:()=>uP,_safeParseAsync:()=>z4,_safeParse:()=>D4,_safeEncodeAsync:()=>b$,_safeEncode:()=>R$,_safeDecodeAsync:()=>A$,_safeDecode:()=>P$,_regex:()=>j4,_refine:()=>LW,_record:()=>gP,_readonly:()=>tP,_property:()=>O8,_promise:()=>Jb,_positive:()=>G8,_pipe:()=>aP,_parseAsync:()=>_4,_parse:()=>V4,_overwrite:()=>X0,_optional:()=>dP,_number:()=>m5,_nullable:()=>rP,_null:()=>QW,_normalize:()=>C4,_nonpositive:()=>Z8,_nonoptional:()=>oP,_nonnegative:()=>L8,_never:()=>YW,_negative:()=>H8,_nativeEnum:()=>lP,_nanoid:()=>n$,_nan:()=>UW,_multipleOf:()=>Y2,_minSize:()=>I0,_minLength:()=>u0,_min:()=>D1,_mime:()=>S4,_maxSize:()=>K2,_maxLength:()=>h2,_max:()=>u1,_map:()=>xP,_mac:()=>h5,_lte:()=>u1,_lt:()=>D0,_lowercase:()=>R4,_literal:()=>pP,_length:()=>y2,_lazy:()=>$b,_ksuid:()=>$8,_jwt:()=>q8,_isoTime:()=>x5,_isoDuration:()=>u5,_isoDateTime:()=>y5,_isoDate:()=>g5,_ipv6:()=>Q8,_ipv4:()=>J8,_intersection:()=>hP,_int64:()=>t5,_int32:()=>r5,_int:()=>p5,_includes:()=>b4,_guid:()=>a3,_gte:()=>D1,_gt:()=>z0,_float64:()=>d5,_float32:()=>c5,_file:()=>HW,_enum:()=>mP,_endsWith:()=>E4,_encodeAsync:()=>I$,_encode:()=>D$,_emoji:()=>o$,_email:()=>p$,_e164:()=>B8,_discriminatedUnion:()=>kP,_default:()=>iP,_decodeAsync:()=>j$,_decode:()=>z$,_date:()=>BW,_custom:()=>ZW,_cuid2:()=>a$,_cuid:()=>s$,_coercedString:()=>k5,_coercedNumber:()=>l5,_coercedDate:()=>qW,_coercedBoolean:()=>n5,_coercedBigint:()=>a5,_cidrv6:()=>W8,_cidrv4:()=>X8,_check:()=>uH,_catch:()=>sP,_boolean:()=>o5,_bigint:()=>s5,_base64url:()=>K8,_base64:()=>Y8,_array:()=>GW,_any:()=>XW,TimePrecision:()=>U8,NEVER:()=>G$,JSONSchemaGenerator:()=>QY,JSONSchema:()=>mH,Doc:()=>T$,$output:()=>m$,$input:()=>l$,$constructor:()=>N,$brand:()=>H$,$ZodXor:()=>q5,$ZodXID:()=>vX,$ZodVoid:()=>W5,$ZodUnknown:()=>Q5,$ZodUnion:()=>i3,$ZodUndefined:()=>eX,$ZodUUID:()=>PX,$ZodURL:()=>AX,$ZodULID:()=>wX,$ZodType:()=>v,$ZodTuple:()=>x$,$ZodTransform:()=>F5,$ZodTemplateLiteral:()=>E5,$ZodSymbol:()=>tX,$ZodSuccess:()=>j5,$ZodStringFormat:()=>d,$ZodString:()=>f2,$ZodSet:()=>L5,$ZodRegistry:()=>v5,$ZodRecord:()=>H5,$ZodRealError:()=>A1,$ZodReadonly:()=>A5,$ZodPromise:()=>C5,$ZodPrefault:()=>z5,$ZodPipe:()=>b5,$ZodOptional:()=>u$,$ZodObjectJIT:()=>B5,$ZodObject:()=>gH,$ZodNumberFormat:()=>sX,$ZodNumber:()=>y$,$ZodNullable:()=>_5,$ZodNull:()=>$5,$ZodNonOptional:()=>I5,$ZodNever:()=>X5,$ZodNanoID:()=>SX,$ZodNaN:()=>P5,$ZodMap:()=>Z5,$ZodMAC:()=>mX,$ZodLiteral:()=>M5,$ZodLazy:()=>T5,$ZodKSUID:()=>fX,$ZodJWT:()=>oX,$ZodIntersection:()=>G5,$ZodISOTime:()=>yX,$ZodISODuration:()=>gX,$ZodISODateTime:()=>kX,$ZodISODate:()=>hX,$ZodIPv6:()=>uX,$ZodIPv4:()=>xX,$ZodGUID:()=>RX,$ZodFunction:()=>S5,$ZodFile:()=>N5,$ZodExactOptional:()=>V5,$ZodError:()=>l3,$ZodEnum:()=>O5,$ZodEncodeError:()=>T2,$ZodEmoji:()=>EX,$ZodEmail:()=>bX,$ZodE164:()=>iX,$ZodDiscriminatedUnion:()=>U5,$ZodDefault:()=>D5,$ZodDate:()=>Y5,$ZodCustomStringFormat:()=>nX,$ZodCustom:()=>w5,$ZodCodec:()=>o3,$ZodCheckUpperCase:()=>MX,$ZodCheckStringFormat:()=>I4,$ZodCheckStartsWith:()=>FX,$ZodCheckSizeEquals:()=>UX,$ZodCheckRegex:()=>LX,$ZodCheckProperty:()=>_X,$ZodCheckOverwrite:()=>zX,$ZodCheckNumberFormat:()=>YX,$ZodCheckMultipleOf:()=>WX,$ZodCheckMinSize:()=>qX,$ZodCheckMinLength:()=>HX,$ZodCheckMimeType:()=>DX,$ZodCheckMaxSize:()=>BX,$ZodCheckMaxLength:()=>GX,$ZodCheckLowerCase:()=>OX,$ZodCheckLessThan:()=>S$,$ZodCheckLengthEquals:()=>ZX,$ZodCheckIncludes:()=>NX,$ZodCheckGreaterThan:()=>C$,$ZodCheckEndsWith:()=>VX,$ZodCheckBigIntFormat:()=>KX,$ZodCheck:()=>o,$ZodCatch:()=>R5,$ZodCUID2:()=>TX,$ZodCUID:()=>CX,$ZodCIDRv6:()=>pX,$ZodCIDRv4:()=>lX,$ZodBoolean:()=>r3,$ZodBigIntFormat:()=>aX,$ZodBigInt:()=>g$,$ZodBase64URL:()=>rX,$ZodBase64:()=>dX,$ZodAsyncError:()=>_0,$ZodArray:()=>K5,$ZodAny:()=>J5});var G$=Object.freeze({status:"aborted"});function N($,J,Q){function X(B,q){if(!B._zod)Object.defineProperty(B,"_zod",{value:{def:q,constr:K,traits:new Set},enumerable:!1});if(B._zod.traits.has($))return;B._zod.traits.add($),J(B,q);let U=K.prototype,G=Object.keys(U);for(let H=0;H<G.length;H++){let L=G[H];if(!(L in B))B[L]=U[L].bind(B)}}let W=Q?.Parent??Object;class Y extends W{}Object.defineProperty(Y,"name",{value:$});function K(B){var q;let U=Q?.Parent?new Y:this;X(U,B),(q=U._zod).deferred??(q.deferred=[]);for(let G of U._zod.deferred)G();return U}return Object.defineProperty(K,"init",{value:X}),Object.defineProperty(K,Symbol.hasInstance,{value:(B)=>{if(Q?.Parent&&B instanceof Q.Parent)return!0;return B?._zod?.traits?.has($)}}),Object.defineProperty(K,"name",{value:$}),K}var H$=Symbol("zod_brand");class _0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class T2 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}}var k3={};function Y1($){if($)Object.assign(k3,$);return k3}var w={};q2(w,{unwrapMessage:()=>h3,uint8ArrayToHex:()=>oR,uint8ArrayToBase64url:()=>rR,uint8ArrayToBase64:()=>LH,stringifyPrimitive:()=>M$,slugify:()=>D7,shallowClone:()=>I7,safeExtend:()=>uR,required:()=>pR,randomString:()=>vR,propertyKeyTypes:()=>x3,promiseAllObject:()=>wR,primitiveTypes:()=>j7,prefixIssues:()=>g1,pick:()=>yR,partial:()=>lR,parsedType:()=>A7,optionalKeys:()=>R7,omit:()=>gR,objectClone:()=>SR,numKeys:()=>fR,nullish:()=>J2,normalizeParams:()=>D,mergeDefs:()=>x0,merge:()=>mR,jsonStringifyReplacer:()=>L4,joinValues:()=>Z$,issue:()=>M4,isPlainObject:()=>X2,isObject:()=>w2,hexToUint8Array:()=>iR,getSizableOrigin:()=>u3,getParsedType:()=>kR,getLengthableOrigin:()=>m3,getEnumValues:()=>y3,getElementAtPath:()=>TR,floatSafeRemainder:()=>_7,finalizeIssue:()=>b1,extend:()=>xR,escapeRegex:()=>o1,esc:()=>L$,defineLazy:()=>u,createTransparentProxy:()=>hR,cloneDef:()=>CR,clone:()=>N1,cleanRegex:()=>g3,cleanEnum:()=>cR,captureStackTrace:()=>O$,cached:()=>O4,base64urlToUint8Array:()=>dR,base64ToUint8Array:()=>ZH,assignProp:()=>Q2,assertNotEqual:()=>PR,assertNever:()=>AR,assertIs:()=>bR,assertEqual:()=>RR,assert:()=>ER,allowsEval:()=>z7,aborted:()=>W2,NUMBER_FORMAT_RANGES:()=>P7,Class:()=>OH,BIGINT_FORMAT_RANGES:()=>b7});function RR($){return $}function PR($){return $}function bR($){}function AR($){throw Error("Unexpected value in exhaustive check")}function ER($){}function y3($){let J=Object.values($).filter((X)=>typeof X==="number");return Object.entries($).filter(([X,W])=>J.indexOf(+X)===-1).map(([X,W])=>W)}function Z$($,J="|"){return $.map((Q)=>M$(Q)).join(J)}function L4($,J){if(typeof J==="bigint")return J.toString();return J}function O4($){return{get value(){{let Q=$();return Object.defineProperty(this,"value",{value:Q}),Q}throw Error("cached value already set")}}}function J2($){return $===null||$===void 0}function g3($){let J=$.startsWith("^")?1:0,Q=$.endsWith("$")?$.length-1:$.length;return $.slice(J,Q)}function _7($,J){let Q=($.toString().split(".")[1]||"").length,X=J.toString(),W=(X.split(".")[1]||"").length;if(W===0&&/\d?e-\d?/.test(X)){let q=X.match(/\d?e-(\d?)/);if(q?.[1])W=Number.parseInt(q[1])}let Y=Q>W?Q:W,K=Number.parseInt($.toFixed(Y).replace(".","")),B=Number.parseInt(J.toFixed(Y).replace(".",""));return K%B/10**Y}var HH=Symbol("evaluating");function u($,J,Q){let X=void 0;Object.defineProperty($,J,{get(){if(X===HH)return;if(X===void 0)X=HH,X=Q();return X},set(W){Object.defineProperty($,J,{value:W})},configurable:!0})}function SR($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function Q2($,J,Q){Object.defineProperty($,J,{value:Q,writable:!0,enumerable:!0,configurable:!0})}function x0(...$){let J={};for(let Q of $){let X=Object.getOwnPropertyDescriptors(Q);Object.assign(J,X)}return Object.defineProperties({},J)}function CR($){return x0($._zod.def)}function TR($,J){if(!J)return $;return J.reduce((Q,X)=>Q?.[X],$)}function wR($){let J=Object.keys($),Q=J.map((X)=>$[X]);return Promise.all(Q).then((X)=>{let W={};for(let Y=0;Y<J.length;Y++)W[J[Y]]=X[Y];return W})}function vR($=10){let Q="";for(let X=0;X<$;X++)Q+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Q}function L$($){return JSON.stringify($)}function D7($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var O$="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};function w2($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var z7=O4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function X2($){if(w2($)===!1)return!1;let J=$.constructor;if(J===void 0)return!0;if(typeof J!=="function")return!0;let Q=J.prototype;if(w2(Q)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Q,"isPrototypeOf")===!1)return!1;return!0}function I7($){if(X2($))return{...$};if(Array.isArray($))return[...$];return $}function fR($){let J=0;for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J++;return J}var kR=($)=>{let J=typeof $;switch(J){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${J}`)}},x3=new Set(["string","number","symbol"]),j7=new Set(["string","number","bigint","boolean","symbol","undefined"]);function o1($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N1($,J,Q){let X=new $._zod.constr(J??$._zod.def);if(!J||Q?.parent)X._zod.parent=$;return X}function D($){let J=$;if(!J)return{};if(typeof J==="string")return{error:()=>J};if(J?.message!==void 0){if(J?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");J.error=J.message}if(delete J.message,typeof J.error==="string")return{...J,error:()=>J.error};return J}function hR($){let J;return new Proxy({},{get(Q,X,W){return J??(J=$()),Reflect.get(J,X,W)},set(Q,X,W,Y){return J??(J=$()),Reflect.set(J,X,W,Y)},has(Q,X){return J??(J=$()),Reflect.has(J,X)},deleteProperty(Q,X){return J??(J=$()),Reflect.deleteProperty(J,X)},ownKeys(Q){return J??(J=$()),Reflect.ownKeys(J)},getOwnPropertyDescriptor(Q,X){return J??(J=$()),Reflect.getOwnPropertyDescriptor(J,X)},defineProperty(Q,X,W){return J??(J=$()),Reflect.defineProperty(J,X,W)}})}function M$($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function R7($){return Object.keys($).filter((J)=>{return $[J]._zod.optin==="optional"&&$[J]._zod.optout==="optional"})}var P7={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]},b7={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function yR($,J){let Q=$._zod.def,X=Q.checks;if(X&&X.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let Y=x0($._zod.def,{get shape(){let K={};for(let B in J){if(!(B in Q.shape))throw Error(`Unrecognized key: "${B}"`);if(!J[B])continue;K[B]=Q.shape[B]}return Q2(this,"shape",K),K},checks:[]});return N1($,Y)}function gR($,J){let Q=$._zod.def,X=Q.checks;if(X&&X.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let Y=x0($._zod.def,{get shape(){let K={...$._zod.def.shape};for(let B in J){if(!(B in Q.shape))throw Error(`Unrecognized key: "${B}"`);if(!J[B])continue;delete K[B]}return Q2(this,"shape",K),K},checks:[]});return N1($,Y)}function xR($,J){if(!X2(J))throw Error("Invalid input to extend: expected a plain object");let Q=$._zod.def.checks;if(Q&&Q.length>0){let Y=$._zod.def.shape;for(let K in J)if(Object.getOwnPropertyDescriptor(Y,K)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let W=x0($._zod.def,{get shape(){let Y={...$._zod.def.shape,...J};return Q2(this,"shape",Y),Y}});return N1($,W)}function uR($,J){if(!X2(J))throw Error("Invalid input to safeExtend: expected a plain object");let Q=x0($._zod.def,{get shape(){let X={...$._zod.def.shape,...J};return Q2(this,"shape",X),X}});return N1($,Q)}function mR($,J){let Q=x0($._zod.def,{get shape(){let X={...$._zod.def.shape,...J._zod.def.shape};return Q2(this,"shape",X),X},get catchall(){return J._zod.def.catchall},checks:[]});return N1($,Q)}function lR($,J,Q){let W=J._zod.def.checks;if(W&&W.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let K=x0(J._zod.def,{get shape(){let B=J._zod.def.shape,q={...B};if(Q)for(let U in Q){if(!(U in B))throw Error(`Unrecognized key: "${U}"`);if(!Q[U])continue;q[U]=$?new $({type:"optional",innerType:B[U]}):B[U]}else for(let U in B)q[U]=$?new $({type:"optional",innerType:B[U]}):B[U];return Q2(this,"shape",q),q},checks:[]});return N1(J,K)}function pR($,J,Q){let X=x0(J._zod.def,{get shape(){let W=J._zod.def.shape,Y={...W};if(Q)for(let K in Q){if(!(K in Y))throw Error(`Unrecognized key: "${K}"`);if(!Q[K])continue;Y[K]=new $({type:"nonoptional",innerType:W[K]})}else for(let K in W)Y[K]=new $({type:"nonoptional",innerType:W[K]});return Q2(this,"shape",Y),Y}});return N1(J,X)}function W2($,J=0){if($.aborted===!0)return!0;for(let Q=J;Q<$.issues.length;Q++)if($.issues[Q]?.continue!==!0)return!0;return!1}function g1($,J){return J.map((Q)=>{var X;return(X=Q).path??(X.path=[]),Q.path.unshift($),Q})}function h3($){return typeof $==="string"?$:$?.message}function b1($,J,Q){let X={...$,path:$.path??[]};if(!$.message){let W=h3($.inst?._zod.def?.error?.($))??h3(J?.error?.($))??h3(Q.customError?.($))??h3(Q.localeError?.($))??"Invalid input";X.message=W}if(delete X.inst,delete X.continue,!J?.reportInput)delete X.input;return X}function u3($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function m3($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function A7($){let J=typeof $;switch(J){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let Q=$;if(Q&&Object.getPrototypeOf(Q)!==Object.prototype&&"constructor"in Q&&Q.constructor)return Q.constructor.name}}return J}function M4(...$){let[J,Q,X]=$;if(typeof J==="string")return{message:J,code:"custom",input:Q,inst:X};return{...J}}function cR($){return Object.entries($).filter(([J,Q])=>{return Number.isNaN(Number.parseInt(J,10))}).map((J)=>J[1])}function ZH($){let J=atob($),Q=new Uint8Array(J.length);for(let X=0;X<J.length;X++)Q[X]=J.charCodeAt(X);return Q}function LH($){let J="";for(let Q=0;Q<$.length;Q++)J+=String.fromCharCode($[Q]);return btoa(J)}function dR($){let J=$.replace(/-/g,"+").replace(/_/g,"/"),Q="=".repeat((4-J.length%4)%4);return ZH(J+Q)}function rR($){return LH($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function iR($){let J=$.replace(/^0x/,"");if(J.length%2!==0)throw Error("Invalid hex string length");let Q=new Uint8Array(J.length/2);for(let X=0;X<J.length;X+=2)Q[X/2]=Number.parseInt(J.slice(X,X+2),16);return Q}function oR($){return Array.from($).map((J)=>J.toString(16).padStart(2,"0")).join("")}class OH{constructor(...$){}}var MH=($,J)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:J,enumerable:!1}),$.message=JSON.stringify(J,L4,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},l3=N("$ZodError",MH),A1=N("$ZodError",MH,{Parent:Error});function N4($,J=(Q)=>Q.message){let Q={},X=[];for(let W of $.issues)if(W.path.length>0)Q[W.path[0]]=Q[W.path[0]]||[],Q[W.path[0]].push(J(W));else X.push(J(W));return{formErrors:X,fieldErrors:Q}}function F4($,J=(Q)=>Q.message){let Q={_errors:[]},X=(W)=>{for(let Y of W.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((K)=>X({issues:K}));else if(Y.code==="invalid_key")X({issues:Y.issues});else if(Y.code==="invalid_element")X({issues:Y.issues});else if(Y.path.length===0)Q._errors.push(J(Y));else{let K=Q,B=0;while(B<Y.path.length){let q=Y.path[B];if(B!==Y.path.length-1)K[q]=K[q]||{_errors:[]};else K[q]=K[q]||{_errors:[]},K[q]._errors.push(J(Y));K=K[q],B++}}};return X($),Q}function N$($,J=(Q)=>Q.message){let Q={errors:[]},X=(W,Y=[])=>{var K,B;for(let q of W.issues)if(q.code==="invalid_union"&&q.errors.length)q.errors.map((U)=>X({issues:U},q.path));else if(q.code==="invalid_key")X({issues:q.issues},q.path);else if(q.code==="invalid_element")X({issues:q.issues},q.path);else{let U=[...Y,...q.path];if(U.length===0){Q.errors.push(J(q));continue}let G=Q,H=0;while(H<U.length){let L=U[H],Z=H===U.length-1;if(typeof L==="string")G.properties??(G.properties={}),(K=G.properties)[L]??(K[L]={errors:[]}),G=G.properties[L];else G.items??(G.items=[]),(B=G.items)[L]??(B[L]={errors:[]}),G=G.items[L];if(Z)G.errors.push(J(q));H++}}};return X($),Q}function NH($){let J=[],Q=$.map((X)=>typeof X==="object"?X.key:X);for(let X of Q)if(typeof X==="number")J.push(`[${X}]`);else if(typeof X==="symbol")J.push(`[${JSON.stringify(String(X))}]`);else if(/[^\w$]/.test(X))J.push(`[${JSON.stringify(X)}]`);else{if(J.length)J.push(".");J.push(X)}return J.join("")}function F$($){let J=[],Q=[...$.issues].sort((X,W)=>(X.path??[]).length-(W.path??[]).length);for(let X of Q)if(J.push(`\u2716 ${X.message}`),X.path?.length)J.push(` \u2192 at ${NH(X.path)}`);return J.join(`
64
- `)}var V4=($)=>(J,Q,X,W)=>{let Y=X?Object.assign(X,{async:!1}):{async:!1},K=J._zod.run({value:Q,issues:[]},Y);if(K instanceof Promise)throw new _0;if(K.issues.length){let B=new(W?.Err??$)(K.issues.map((q)=>b1(q,Y,Y1())));throw O$(B,W?.callee),B}return K.value},V$=V4(A1),_4=($)=>async(J,Q,X,W)=>{let Y=X?Object.assign(X,{async:!0}):{async:!0},K=J._zod.run({value:Q,issues:[]},Y);if(K instanceof Promise)K=await K;if(K.issues.length){let B=new(W?.Err??$)(K.issues.map((q)=>b1(q,Y,Y1())));throw O$(B,W?.callee),B}return K.value},_$=_4(A1),D4=($)=>(J,Q,X)=>{let W=X?{...X,async:!1}:{async:!1},Y=J._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)throw new _0;return Y.issues.length?{success:!1,error:new($??l3)(Y.issues.map((K)=>b1(K,W,Y1())))}:{success:!0,data:Y.value}},E7=D4(A1),z4=($)=>async(J,Q,X)=>{let W=X?Object.assign(X,{async:!0}):{async:!0},Y=J._zod.run({value:Q,issues:[]},W);if(Y instanceof Promise)Y=await Y;return Y.issues.length?{success:!1,error:new $(Y.issues.map((K)=>b1(K,W,Y1())))}:{success:!0,data:Y.value}},S7=z4(A1),D$=($)=>(J,Q,X)=>{let W=X?Object.assign(X,{direction:"backward"}):{direction:"backward"};return V4($)(J,Q,W)},sR=D$(A1),z$=($)=>(J,Q,X)=>{return V4($)(J,Q,X)},aR=z$(A1),I$=($)=>async(J,Q,X)=>{let W=X?Object.assign(X,{direction:"backward"}):{direction:"backward"};return _4($)(J,Q,W)},tR=I$(A1),j$=($)=>async(J,Q,X)=>{return _4($)(J,Q,X)},eR=j$(A1),R$=($)=>(J,Q,X)=>{let W=X?Object.assign(X,{direction:"backward"}):{direction:"backward"};return D4($)(J,Q,W)},$P=R$(A1),P$=($)=>(J,Q,X)=>{return D4($)(J,Q,X)},JP=P$(A1),b$=($)=>async(J,Q,X)=>{let W=X?Object.assign(X,{direction:"backward"}):{direction:"backward"};return z4($)(J,Q,W)},QP=b$(A1),A$=($)=>async(J,Q,X)=>{return z4($)(J,Q,X)},XP=A$(A1);var x1={};q2(x1,{xid:()=>v7,uuid7:()=>BP,uuid6:()=>KP,uuid4:()=>YP,uuid:()=>v2,uppercase:()=>XX,unicodeEmail:()=>FH,undefined:()=>JX,ulid:()=>w7,time:()=>o7,string:()=>s7,sha512_hex:()=>EP,sha512_base64url:()=>CP,sha512_base64:()=>SP,sha384_hex:()=>PP,sha384_base64url:()=>AP,sha384_base64:()=>bP,sha256_hex:()=>IP,sha256_base64url:()=>RP,sha256_base64:()=>jP,sha1_hex:()=>_P,sha1_base64url:()=>zP,sha1_base64:()=>DP,rfc5322Email:()=>UP,number:()=>p3,null:()=>$X,nanoid:()=>k7,md5_hex:()=>NP,md5_base64url:()=>VP,md5_base64:()=>FP,mac:()=>l7,lowercase:()=>QX,ksuid:()=>f7,ipv6:()=>m7,ipv4:()=>u7,integer:()=>t7,idnEmail:()=>GP,html5Email:()=>qP,hostname:()=>LP,hex:()=>MP,guid:()=>y7,extendedDuration:()=>WP,emoji:()=>x7,email:()=>g7,e164:()=>r7,duration:()=>h7,domain:()=>OP,datetime:()=>n7,date:()=>i7,cuid2:()=>T7,cuid:()=>C7,cidrv6:()=>c7,cidrv4:()=>p7,browserEmail:()=>HP,boolean:()=>e7,bigint:()=>a7,base64url:()=>E$,base64:()=>d7});var C7=/^[cC][^\s-]{8,}$/,T7=/^[0-9a-z]+$/,w7=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,v7=/^[0-9a-vA-V]{20}$/,f7=/^[A-Za-z0-9]{27}$/,k7=/^[a-zA-Z0-9_-]{21}$/,h7=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,WP=/^[-+]?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)?)??$/,y7=/^([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})$/,v2=($)=>{if(!$)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}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},YP=v2(4),KP=v2(6),BP=v2(7),g7=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,qP=/^[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])?)*$/,UP=/^(([^<>()\[\]\\.,;:\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,}))$/,FH=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,GP=FH,HP=/^[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])?)*$/,ZP="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function x7(){return new RegExp(ZP,"u")}var u7=/^(?:(?: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])$/,m7=/^(([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}|:))$/,l7=($)=>{let J=o1($??":");return new RegExp(`^(?:[0-9A-F]{2}${J}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${J}){5}[0-9a-f]{2}$`)},p7=/^((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])$/,c7=/^(([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])$/,d7=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,E$=/^[A-Za-z0-9_-]*$/,LP=/^(?=.{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])?)*\.?$/,OP=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,r7=/^\+[1-9]\d{6,14}$/,VH="(?:(?:\\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])))",i7=new RegExp(`^${VH}$`);function _H($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.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{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function o7($){return new RegExp(`^${_H($)}$`)}function n7($){let J=_H({precision:$.precision}),Q=["Z"];if($.local)Q.push("");if($.offset)Q.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let X=`${J}(?:${Q.join("|")})`;return new RegExp(`^${VH}T(?:${X})$`)}var s7=($)=>{let J=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${J}$`)},a7=/^-?\d+n?$/,t7=/^-?\d+$/,p3=/^-?\d+(?:\.\d+)?$/,e7=/^(?:true|false)$/i,$X=/^null$/i;var JX=/^undefined$/i;var QX=/^[^A-Z]*$/,XX=/^[^a-z]*$/,MP=/^[0-9a-fA-F]*$/;function c3($,J){return new RegExp(`^[A-Za-z0-9+/]{${$}}${J}$`)}function d3($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var NP=/^[0-9a-fA-F]{32}$/,FP=c3(22,"=="),VP=d3(22),_P=/^[0-9a-fA-F]{40}$/,DP=c3(27,"="),zP=d3(27),IP=/^[0-9a-fA-F]{64}$/,jP=c3(43,"="),RP=d3(43),PP=/^[0-9a-fA-F]{96}$/,bP=c3(64,""),AP=d3(64),EP=/^[0-9a-fA-F]{128}$/,SP=c3(86,"=="),CP=d3(86);var o=N("$ZodCheck",($,J)=>{var Q;$._zod??($._zod={}),$._zod.def=J,(Q=$._zod).onattach??(Q.onattach=[])}),zH={number:"number",bigint:"bigint",object:"date"},S$=N("$ZodCheckLessThan",($,J)=>{o.init($,J);let Q=zH[typeof J.value];$._zod.onattach.push((X)=>{let W=X._zod.bag,Y=(J.inclusive?W.maximum:W.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(J.value<Y)if(J.inclusive)W.maximum=J.value;else W.exclusiveMaximum=J.value}),$._zod.check=(X)=>{if(J.inclusive?X.value<=J.value:X.value<J.value)return;X.issues.push({origin:Q,code:"too_big",maximum:typeof J.value==="object"?J.value.getTime():J.value,input:X.value,inclusive:J.inclusive,inst:$,continue:!J.abort})}}),C$=N("$ZodCheckGreaterThan",($,J)=>{o.init($,J);let Q=zH[typeof J.value];$._zod.onattach.push((X)=>{let W=X._zod.bag,Y=(J.inclusive?W.minimum:W.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(J.value>Y)if(J.inclusive)W.minimum=J.value;else W.exclusiveMinimum=J.value}),$._zod.check=(X)=>{if(J.inclusive?X.value>=J.value:X.value>J.value)return;X.issues.push({origin:Q,code:"too_small",minimum:typeof J.value==="object"?J.value.getTime():J.value,input:X.value,inclusive:J.inclusive,inst:$,continue:!J.abort})}}),WX=N("$ZodCheckMultipleOf",($,J)=>{o.init($,J),$._zod.onattach.push((Q)=>{var X;(X=Q._zod.bag).multipleOf??(X.multipleOf=J.value)}),$._zod.check=(Q)=>{if(typeof Q.value!==typeof J.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Q.value==="bigint"?Q.value%J.value===BigInt(0):_7(Q.value,J.value)===0)return;Q.issues.push({origin:typeof Q.value,code:"not_multiple_of",divisor:J.value,input:Q.value,inst:$,continue:!J.abort})}}),YX=N("$ZodCheckNumberFormat",($,J)=>{o.init($,J),J.format=J.format||"float64";let Q=J.format?.includes("int"),X=Q?"int":"number",[W,Y]=P7[J.format];$._zod.onattach.push((K)=>{let B=K._zod.bag;if(B.format=J.format,B.minimum=W,B.maximum=Y,Q)B.pattern=t7}),$._zod.check=(K)=>{let B=K.value;if(Q){if(!Number.isInteger(B)){K.issues.push({expected:X,format:J.format,code:"invalid_type",continue:!1,input:B,inst:$});return}if(!Number.isSafeInteger(B)){if(B>0)K.issues.push({input:B,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:X,inclusive:!0,continue:!J.abort});else K.issues.push({input:B,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:X,inclusive:!0,continue:!J.abort});return}}if(B<W)K.issues.push({origin:"number",input:B,code:"too_small",minimum:W,inclusive:!0,inst:$,continue:!J.abort});if(B>Y)K.issues.push({origin:"number",input:B,code:"too_big",maximum:Y,inclusive:!0,inst:$,continue:!J.abort})}}),KX=N("$ZodCheckBigIntFormat",($,J)=>{o.init($,J);let[Q,X]=b7[J.format];$._zod.onattach.push((W)=>{let Y=W._zod.bag;Y.format=J.format,Y.minimum=Q,Y.maximum=X}),$._zod.check=(W)=>{let Y=W.value;if(Y<Q)W.issues.push({origin:"bigint",input:Y,code:"too_small",minimum:Q,inclusive:!0,inst:$,continue:!J.abort});if(Y>X)W.issues.push({origin:"bigint",input:Y,code:"too_big",maximum:X,inclusive:!0,inst:$,continue:!J.abort})}}),BX=N("$ZodCheckMaxSize",($,J)=>{var Q;o.init($,J),(Q=$._zod.def).when??(Q.when=(X)=>{let W=X.value;return!J2(W)&&W.size!==void 0}),$._zod.onattach.push((X)=>{let W=X._zod.bag.maximum??Number.POSITIVE_INFINITY;if(J.maximum<W)X._zod.bag.maximum=J.maximum}),$._zod.check=(X)=>{let W=X.value;if(W.size<=J.maximum)return;X.issues.push({origin:u3(W),code:"too_big",maximum:J.maximum,inclusive:!0,input:W,inst:$,continue:!J.abort})}}),qX=N("$ZodCheckMinSize",($,J)=>{var Q;o.init($,J),(Q=$._zod.def).when??(Q.when=(X)=>{let W=X.value;return!J2(W)&&W.size!==void 0}),$._zod.onattach.push((X)=>{let W=X._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(J.minimum>W)X._zod.bag.minimum=J.minimum}),$._zod.check=(X)=>{let W=X.value;if(W.size>=J.minimum)return;X.issues.push({origin:u3(W),code:"too_small",minimum:J.minimum,inclusive:!0,input:W,inst:$,continue:!J.abort})}}),UX=N("$ZodCheckSizeEquals",($,J)=>{var Q;o.init($,J),(Q=$._zod.def).when??(Q.when=(X)=>{let W=X.value;return!J2(W)&&W.size!==void 0}),$._zod.onattach.push((X)=>{let W=X._zod.bag;W.minimum=J.size,W.maximum=J.size,W.size=J.size}),$._zod.check=(X)=>{let W=X.value,Y=W.size;if(Y===J.size)return;let K=Y>J.size;X.issues.push({origin:u3(W),...K?{code:"too_big",maximum:J.size}:{code:"too_small",minimum:J.size},inclusive:!0,exact:!0,input:X.value,inst:$,continue:!J.abort})}}),GX=N("$ZodCheckMaxLength",($,J)=>{var Q;o.init($,J),(Q=$._zod.def).when??(Q.when=(X)=>{let W=X.value;return!J2(W)&&W.length!==void 0}),$._zod.onattach.push((X)=>{let W=X._zod.bag.maximum??Number.POSITIVE_INFINITY;if(J.maximum<W)X._zod.bag.maximum=J.maximum}),$._zod.check=(X)=>{let W=X.value;if(W.length<=J.maximum)return;let K=m3(W);X.issues.push({origin:K,code:"too_big",maximum:J.maximum,inclusive:!0,input:W,inst:$,continue:!J.abort})}}),HX=N("$ZodCheckMinLength",($,J)=>{var Q;o.init($,J),(Q=$._zod.def).when??(Q.when=(X)=>{let W=X.value;return!J2(W)&&W.length!==void 0}),$._zod.onattach.push((X)=>{let W=X._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(J.minimum>W)X._zod.bag.minimum=J.minimum}),$._zod.check=(X)=>{let W=X.value;if(W.length>=J.minimum)return;let K=m3(W);X.issues.push({origin:K,code:"too_small",minimum:J.minimum,inclusive:!0,input:W,inst:$,continue:!J.abort})}}),ZX=N("$ZodCheckLengthEquals",($,J)=>{var Q;o.init($,J),(Q=$._zod.def).when??(Q.when=(X)=>{let W=X.value;return!J2(W)&&W.length!==void 0}),$._zod.onattach.push((X)=>{let W=X._zod.bag;W.minimum=J.length,W.maximum=J.length,W.length=J.length}),$._zod.check=(X)=>{let W=X.value,Y=W.length;if(Y===J.length)return;let K=m3(W),B=Y>J.length;X.issues.push({origin:K,...B?{code:"too_big",maximum:J.length}:{code:"too_small",minimum:J.length},inclusive:!0,exact:!0,input:X.value,inst:$,continue:!J.abort})}}),I4=N("$ZodCheckStringFormat",($,J)=>{var Q,X;if(o.init($,J),$._zod.onattach.push((W)=>{let Y=W._zod.bag;if(Y.format=J.format,J.pattern)Y.patterns??(Y.patterns=new Set),Y.patterns.add(J.pattern)}),J.pattern)(Q=$._zod).check??(Q.check=(W)=>{if(J.pattern.lastIndex=0,J.pattern.test(W.value))return;W.issues.push({origin:"string",code:"invalid_format",format:J.format,input:W.value,...J.pattern?{pattern:J.pattern.toString()}:{},inst:$,continue:!J.abort})});else(X=$._zod).check??(X.check=()=>{})}),LX=N("$ZodCheckRegex",($,J)=>{I4.init($,J),$._zod.check=(Q)=>{if(J.pattern.lastIndex=0,J.pattern.test(Q.value))return;Q.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Q.value,pattern:J.pattern.toString(),inst:$,continue:!J.abort})}}),OX=N("$ZodCheckLowerCase",($,J)=>{J.pattern??(J.pattern=QX),I4.init($,J)}),MX=N("$ZodCheckUpperCase",($,J)=>{J.pattern??(J.pattern=XX),I4.init($,J)}),NX=N("$ZodCheckIncludes",($,J)=>{o.init($,J);let Q=o1(J.includes),X=new RegExp(typeof J.position==="number"?`^.{${J.position}}${Q}`:Q);J.pattern=X,$._zod.onattach.push((W)=>{let Y=W._zod.bag;Y.patterns??(Y.patterns=new Set),Y.patterns.add(X)}),$._zod.check=(W)=>{if(W.value.includes(J.includes,J.position))return;W.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:J.includes,input:W.value,inst:$,continue:!J.abort})}}),FX=N("$ZodCheckStartsWith",($,J)=>{o.init($,J);let Q=new RegExp(`^${o1(J.prefix)}.*`);J.pattern??(J.pattern=Q),$._zod.onattach.push((X)=>{let W=X._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Q)}),$._zod.check=(X)=>{if(X.value.startsWith(J.prefix))return;X.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:J.prefix,input:X.value,inst:$,continue:!J.abort})}}),VX=N("$ZodCheckEndsWith",($,J)=>{o.init($,J);let Q=new RegExp(`.*${o1(J.suffix)}$`);J.pattern??(J.pattern=Q),$._zod.onattach.push((X)=>{let W=X._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Q)}),$._zod.check=(X)=>{if(X.value.endsWith(J.suffix))return;X.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:J.suffix,input:X.value,inst:$,continue:!J.abort})}});function DH($,J,Q){if($.issues.length)J.issues.push(...g1(Q,$.issues))}var _X=N("$ZodCheckProperty",($,J)=>{o.init($,J),$._zod.check=(Q)=>{let X=J.schema._zod.run({value:Q.value[J.property],issues:[]},{});if(X instanceof Promise)return X.then((W)=>DH(W,Q,J.property));DH(X,Q,J.property);return}}),DX=N("$ZodCheckMimeType",($,J)=>{o.init($,J);let Q=new Set(J.mime);$._zod.onattach.push((X)=>{X._zod.bag.mime=J.mime}),$._zod.check=(X)=>{if(Q.has(X.value.type))return;X.issues.push({code:"invalid_value",values:J.mime,input:X.value.type,inst:$,continue:!J.abort})}}),zX=N("$ZodCheckOverwrite",($,J)=>{o.init($,J),$._zod.check=(Q)=>{Q.value=J.tx(Q.value)}});class T${constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let Q=$.split(`
65
- `).filter((Y)=>Y),X=Math.min(...Q.map((Y)=>Y.length-Y.trimStart().length)),W=Q.map((Y)=>Y.slice(X)).map((Y)=>" ".repeat(this.indent*2)+Y);for(let Y of W)this.content.push(Y)}compile(){let $=Function,J=this?.args,X=[...(this?.content??[""]).map((W)=>` ${W}`)];return new $(...J,X.join(`
66
- `))}}var IX={major:4,minor:3,patch:5};var v=N("$ZodType",($,J)=>{var Q;$??($={}),$._zod.def=J,$._zod.bag=$._zod.bag||{},$._zod.version=IX;let X=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))X.unshift($);for(let W of X)for(let Y of W._zod.onattach)Y($);if(X.length===0)(Q=$._zod).deferred??(Q.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let W=(K,B,q)=>{let U=W2(K),G;for(let H of B){if(H._zod.def.when){if(!H._zod.def.when(K))continue}else if(U)continue;let L=K.issues.length,Z=H._zod.check(K);if(Z instanceof Promise&&q?.async===!1)throw new _0;if(G||Z instanceof Promise)G=(G??Promise.resolve()).then(async()=>{if(await Z,K.issues.length===L)return;if(!U)U=W2(K,L)});else{if(K.issues.length===L)continue;if(!U)U=W2(K,L)}}if(G)return G.then(()=>{return K});return K},Y=(K,B,q)=>{if(W2(K))return K.aborted=!0,K;let U=W(B,X,q);if(U instanceof Promise){if(q.async===!1)throw new _0;return U.then((G)=>$._zod.parse(G,q))}return $._zod.parse(U,q)};$._zod.run=(K,B)=>{if(B.skipChecks)return $._zod.parse(K,B);if(B.direction==="backward"){let U=$._zod.parse({value:K.value,issues:[]},{...B,skipChecks:!0});if(U instanceof Promise)return U.then((G)=>{return Y(G,K,B)});return Y(U,K,B)}let q=$._zod.parse(K,B);if(q instanceof Promise){if(B.async===!1)throw new _0;return q.then((U)=>W(U,X,B))}return W(q,X,B)}}u($,"~standard",()=>({validate:(W)=>{try{let Y=E7($,W);return Y.success?{value:Y.data}:{issues:Y.error?.issues}}catch(Y){return S7($,W).then((K)=>K.success?{value:K.data}:{issues:K.error?.issues})}},vendor:"zod",version:1}))}),f2=N("$ZodString",($,J)=>{v.init($,J),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??s7($._zod.bag),$._zod.parse=(Q,X)=>{if(J.coerce)try{Q.value=String(Q.value)}catch(W){}if(typeof Q.value==="string")return Q;return Q.issues.push({expected:"string",code:"invalid_type",input:Q.value,inst:$}),Q}}),d=N("$ZodStringFormat",($,J)=>{I4.init($,J),f2.init($,J)}),RX=N("$ZodGUID",($,J)=>{J.pattern??(J.pattern=y7),d.init($,J)}),PX=N("$ZodUUID",($,J)=>{if(J.version){let X={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[J.version];if(X===void 0)throw Error(`Invalid UUID version: "${J.version}"`);J.pattern??(J.pattern=v2(X))}else J.pattern??(J.pattern=v2());d.init($,J)}),bX=N("$ZodEmail",($,J)=>{J.pattern??(J.pattern=g7),d.init($,J)}),AX=N("$ZodURL",($,J)=>{d.init($,J),$._zod.check=(Q)=>{try{let X=Q.value.trim(),W=new URL(X);if(J.hostname){if(J.hostname.lastIndex=0,!J.hostname.test(W.hostname))Q.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:J.hostname.source,input:Q.value,inst:$,continue:!J.abort})}if(J.protocol){if(J.protocol.lastIndex=0,!J.protocol.test(W.protocol.endsWith(":")?W.protocol.slice(0,-1):W.protocol))Q.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:J.protocol.source,input:Q.value,inst:$,continue:!J.abort})}if(J.normalize)Q.value=W.href;else Q.value=X;return}catch(X){Q.issues.push({code:"invalid_format",format:"url",input:Q.value,inst:$,continue:!J.abort})}}}),EX=N("$ZodEmoji",($,J)=>{J.pattern??(J.pattern=x7()),d.init($,J)}),SX=N("$ZodNanoID",($,J)=>{J.pattern??(J.pattern=k7),d.init($,J)}),CX=N("$ZodCUID",($,J)=>{J.pattern??(J.pattern=C7),d.init($,J)}),TX=N("$ZodCUID2",($,J)=>{J.pattern??(J.pattern=T7),d.init($,J)}),wX=N("$ZodULID",($,J)=>{J.pattern??(J.pattern=w7),d.init($,J)}),vX=N("$ZodXID",($,J)=>{J.pattern??(J.pattern=v7),d.init($,J)}),fX=N("$ZodKSUID",($,J)=>{J.pattern??(J.pattern=f7),d.init($,J)}),kX=N("$ZodISODateTime",($,J)=>{J.pattern??(J.pattern=n7(J)),d.init($,J)}),hX=N("$ZodISODate",($,J)=>{J.pattern??(J.pattern=i7),d.init($,J)}),yX=N("$ZodISOTime",($,J)=>{J.pattern??(J.pattern=o7(J)),d.init($,J)}),gX=N("$ZodISODuration",($,J)=>{J.pattern??(J.pattern=h7),d.init($,J)}),xX=N("$ZodIPv4",($,J)=>{J.pattern??(J.pattern=u7),d.init($,J),$._zod.bag.format="ipv4"}),uX=N("$ZodIPv6",($,J)=>{J.pattern??(J.pattern=m7),d.init($,J),$._zod.bag.format="ipv6",$._zod.check=(Q)=>{try{new URL(`http://[${Q.value}]`)}catch{Q.issues.push({code:"invalid_format",format:"ipv6",input:Q.value,inst:$,continue:!J.abort})}}}),mX=N("$ZodMAC",($,J)=>{J.pattern??(J.pattern=l7(J.delimiter)),d.init($,J),$._zod.bag.format="mac"}),lX=N("$ZodCIDRv4",($,J)=>{J.pattern??(J.pattern=p7),d.init($,J)}),pX=N("$ZodCIDRv6",($,J)=>{J.pattern??(J.pattern=c7),d.init($,J),$._zod.check=(Q)=>{let X=Q.value.split("/");try{if(X.length!==2)throw Error();let[W,Y]=X;if(!Y)throw Error();let K=Number(Y);if(`${K}`!==Y)throw Error();if(K<0||K>128)throw Error();new URL(`http://[${W}]`)}catch{Q.issues.push({code:"invalid_format",format:"cidrv6",input:Q.value,inst:$,continue:!J.abort})}}});function cX($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var dX=N("$ZodBase64",($,J)=>{J.pattern??(J.pattern=d7),d.init($,J),$._zod.bag.contentEncoding="base64",$._zod.check=(Q)=>{if(cX(Q.value))return;Q.issues.push({code:"invalid_format",format:"base64",input:Q.value,inst:$,continue:!J.abort})}});function fH($){if(!E$.test($))return!1;let J=$.replace(/[-_]/g,(X)=>X==="-"?"+":"/"),Q=J.padEnd(Math.ceil(J.length/4)*4,"=");return cX(Q)}var rX=N("$ZodBase64URL",($,J)=>{J.pattern??(J.pattern=E$),d.init($,J),$._zod.bag.contentEncoding="base64url",$._zod.check=(Q)=>{if(fH(Q.value))return;Q.issues.push({code:"invalid_format",format:"base64url",input:Q.value,inst:$,continue:!J.abort})}}),iX=N("$ZodE164",($,J)=>{J.pattern??(J.pattern=r7),d.init($,J)});function kH($,J=null){try{let Q=$.split(".");if(Q.length!==3)return!1;let[X]=Q;if(!X)return!1;let W=JSON.parse(atob(X));if("typ"in W&&W?.typ!=="JWT")return!1;if(!W.alg)return!1;if(J&&(!("alg"in W)||W.alg!==J))return!1;return!0}catch{return!1}}var oX=N("$ZodJWT",($,J)=>{d.init($,J),$._zod.check=(Q)=>{if(kH(Q.value,J.alg))return;Q.issues.push({code:"invalid_format",format:"jwt",input:Q.value,inst:$,continue:!J.abort})}}),nX=N("$ZodCustomStringFormat",($,J)=>{d.init($,J),$._zod.check=(Q)=>{if(J.fn(Q.value))return;Q.issues.push({code:"invalid_format",format:J.format,input:Q.value,inst:$,continue:!J.abort})}}),y$=N("$ZodNumber",($,J)=>{v.init($,J),$._zod.pattern=$._zod.bag.pattern??p3,$._zod.parse=(Q,X)=>{if(J.coerce)try{Q.value=Number(Q.value)}catch(K){}let W=Q.value;if(typeof W==="number"&&!Number.isNaN(W)&&Number.isFinite(W))return Q;let Y=typeof W==="number"?Number.isNaN(W)?"NaN":!Number.isFinite(W)?"Infinity":void 0:void 0;return Q.issues.push({expected:"number",code:"invalid_type",input:W,inst:$,...Y?{received:Y}:{}}),Q}}),sX=N("$ZodNumberFormat",($,J)=>{YX.init($,J),y$.init($,J)}),r3=N("$ZodBoolean",($,J)=>{v.init($,J),$._zod.pattern=e7,$._zod.parse=(Q,X)=>{if(J.coerce)try{Q.value=Boolean(Q.value)}catch(Y){}let W=Q.value;if(typeof W==="boolean")return Q;return Q.issues.push({expected:"boolean",code:"invalid_type",input:W,inst:$}),Q}}),g$=N("$ZodBigInt",($,J)=>{v.init($,J),$._zod.pattern=a7,$._zod.parse=(Q,X)=>{if(J.coerce)try{Q.value=BigInt(Q.value)}catch(W){}if(typeof Q.value==="bigint")return Q;return Q.issues.push({expected:"bigint",code:"invalid_type",input:Q.value,inst:$}),Q}}),aX=N("$ZodBigIntFormat",($,J)=>{KX.init($,J),g$.init($,J)}),tX=N("$ZodSymbol",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(typeof W==="symbol")return Q;return Q.issues.push({expected:"symbol",code:"invalid_type",input:W,inst:$}),Q}}),eX=N("$ZodUndefined",($,J)=>{v.init($,J),$._zod.pattern=JX,$._zod.values=new Set([void 0]),$._zod.optin="optional",$._zod.optout="optional",$._zod.parse=(Q,X)=>{let W=Q.value;if(typeof W>"u")return Q;return Q.issues.push({expected:"undefined",code:"invalid_type",input:W,inst:$}),Q}}),$5=N("$ZodNull",($,J)=>{v.init($,J),$._zod.pattern=$X,$._zod.values=new Set([null]),$._zod.parse=(Q,X)=>{let W=Q.value;if(W===null)return Q;return Q.issues.push({expected:"null",code:"invalid_type",input:W,inst:$}),Q}}),J5=N("$ZodAny",($,J)=>{v.init($,J),$._zod.parse=(Q)=>Q}),Q5=N("$ZodUnknown",($,J)=>{v.init($,J),$._zod.parse=(Q)=>Q}),X5=N("$ZodNever",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{return Q.issues.push({expected:"never",code:"invalid_type",input:Q.value,inst:$}),Q}}),W5=N("$ZodVoid",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(typeof W>"u")return Q;return Q.issues.push({expected:"void",code:"invalid_type",input:W,inst:$}),Q}}),Y5=N("$ZodDate",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{if(J.coerce)try{Q.value=new Date(Q.value)}catch(B){}let W=Q.value,Y=W instanceof Date;if(Y&&!Number.isNaN(W.getTime()))return Q;return Q.issues.push({expected:"date",code:"invalid_type",input:W,...Y?{received:"Invalid Date"}:{},inst:$}),Q}});function jH($,J,Q){if($.issues.length)J.issues.push(...g1(Q,$.issues));J.value[Q]=$.value}var K5=N("$ZodArray",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(!Array.isArray(W))return Q.issues.push({expected:"array",code:"invalid_type",input:W,inst:$}),Q;Q.value=Array(W.length);let Y=[];for(let K=0;K<W.length;K++){let B=W[K],q=J.element._zod.run({value:B,issues:[]},X);if(q instanceof Promise)Y.push(q.then((U)=>jH(U,Q,K)));else jH(q,Q,K)}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function h$($,J,Q,X,W){if($.issues.length){if(W&&!(Q in X))return;J.issues.push(...g1(Q,$.issues))}if($.value===void 0){if(Q in X)J.value[Q]=void 0}else J.value[Q]=$.value}function hH($){let J=Object.keys($.shape);for(let X of J)if(!$.shape?.[X]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${X}": expected a Zod schema`);let Q=R7($.shape);return{...$,keys:J,keySet:new Set(J),numKeys:J.length,optionalKeys:new Set(Q)}}function yH($,J,Q,X,W,Y){let K=[],B=W.keySet,q=W.catchall._zod,U=q.def.type,G=q.optout==="optional";for(let H in J){if(B.has(H))continue;if(U==="never"){K.push(H);continue}let L=q.run({value:J[H],issues:[]},X);if(L instanceof Promise)$.push(L.then((Z)=>h$(Z,Q,H,J,G)));else h$(L,Q,H,J,G)}if(K.length)Q.issues.push({code:"unrecognized_keys",keys:K,input:J,inst:Y});if(!$.length)return Q;return Promise.all($).then(()=>{return Q})}var gH=N("$ZodObject",($,J)=>{if(v.init($,J),!Object.getOwnPropertyDescriptor(J,"shape")?.get){let B=J.shape;Object.defineProperty(J,"shape",{get:()=>{let q={...B};return Object.defineProperty(J,"shape",{value:q}),q}})}let X=O4(()=>hH(J));u($._zod,"propValues",()=>{let B=J.shape,q={};for(let U in B){let G=B[U]._zod;if(G.values){q[U]??(q[U]=new Set);for(let H of G.values)q[U].add(H)}}return q});let W=w2,Y=J.catchall,K;$._zod.parse=(B,q)=>{K??(K=X.value);let U=B.value;if(!W(U))return B.issues.push({expected:"object",code:"invalid_type",input:U,inst:$}),B;B.value={};let G=[],H=K.shape;for(let L of K.keys){let Z=H[L],O=Z._zod.optout==="optional",M=Z._zod.run({value:U[L],issues:[]},q);if(M instanceof Promise)G.push(M.then((V)=>h$(V,B,L,U,O)));else h$(M,B,L,U,O)}if(!Y)return G.length?Promise.all(G).then(()=>B):B;return yH(G,U,B,q,X.value,$)}}),B5=N("$ZodObjectJIT",($,J)=>{gH.init($,J);let Q=$._zod.parse,X=O4(()=>hH(J)),W=(L)=>{let Z=new T$(["shape","payload","ctx"]),O=X.value,M=(I)=>{let A=L$(I);return`shape[${A}]._zod.run({ value: input[${A}], issues: [] }, ctx)`};Z.write("const input = payload.value;");let V=Object.create(null),F=0;for(let I of O.keys)V[I]=`key_${F++}`;Z.write("const newResult = {};");for(let I of O.keys){let A=V[I],E=L$(I),R=L[I]?._zod?.optout==="optional";if(Z.write(`const ${A} = ${M(I)};`),R)Z.write(`
67
- if (${A}.issues.length) {
68
- if (${E} in input) {
69
- payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
70
- ...iss,
71
- path: iss.path ? [${E}, ...iss.path] : [${E}]
72
- })));
73
- }
74
- }
75
-
76
- if (${A}.value === undefined) {
77
- if (${E} in input) {
78
- newResult[${E}] = undefined;
79
- }
80
- } else {
81
- newResult[${E}] = ${A}.value;
82
- }
83
-
84
- `);else Z.write(`
85
- if (${A}.issues.length) {
86
- payload.issues = payload.issues.concat(${A}.issues.map(iss => ({
87
- ...iss,
88
- path: iss.path ? [${E}, ...iss.path] : [${E}]
89
- })));
90
- }
91
-
92
- if (${A}.value === undefined) {
93
- if (${E} in input) {
94
- newResult[${E}] = undefined;
95
- }
96
- } else {
97
- newResult[${E}] = ${A}.value;
98
- }
99
-
100
- `)}Z.write("payload.value = newResult;"),Z.write("return payload;");let P=Z.compile();return(I,A)=>P(L,I,A)},Y,K=w2,B=!k3.jitless,U=B&&z7.value,G=J.catchall,H;$._zod.parse=(L,Z)=>{H??(H=X.value);let O=L.value;if(!K(O))return L.issues.push({expected:"object",code:"invalid_type",input:O,inst:$}),L;if(B&&U&&Z?.async===!1&&Z.jitless!==!0){if(!Y)Y=W(J.shape);if(L=Y(L,Z),!G)return L;return yH([],O,L,Z,H,$)}return Q(L,Z)}});function RH($,J,Q,X){for(let Y of $)if(Y.issues.length===0)return J.value=Y.value,J;let W=$.filter((Y)=>!W2(Y));if(W.length===1)return J.value=W[0].value,W[0];return J.issues.push({code:"invalid_union",input:J.value,inst:Q,errors:$.map((Y)=>Y.issues.map((K)=>b1(K,X,Y1())))}),J}var i3=N("$ZodUnion",($,J)=>{v.init($,J),u($._zod,"optin",()=>J.options.some((W)=>W._zod.optin==="optional")?"optional":void 0),u($._zod,"optout",()=>J.options.some((W)=>W._zod.optout==="optional")?"optional":void 0),u($._zod,"values",()=>{if(J.options.every((W)=>W._zod.values))return new Set(J.options.flatMap((W)=>Array.from(W._zod.values)));return}),u($._zod,"pattern",()=>{if(J.options.every((W)=>W._zod.pattern)){let W=J.options.map((Y)=>Y._zod.pattern);return new RegExp(`^(${W.map((Y)=>g3(Y.source)).join("|")})$`)}return});let Q=J.options.length===1,X=J.options[0]._zod.run;$._zod.parse=(W,Y)=>{if(Q)return X(W,Y);let K=!1,B=[];for(let q of J.options){let U=q._zod.run({value:W.value,issues:[]},Y);if(U instanceof Promise)B.push(U),K=!0;else{if(U.issues.length===0)return U;B.push(U)}}if(!K)return RH(B,W,$,Y);return Promise.all(B).then((q)=>{return RH(q,W,$,Y)})}});function PH($,J,Q,X){let W=$.filter((Y)=>Y.issues.length===0);if(W.length===1)return J.value=W[0].value,J;if(W.length===0)J.issues.push({code:"invalid_union",input:J.value,inst:Q,errors:$.map((Y)=>Y.issues.map((K)=>b1(K,X,Y1())))});else J.issues.push({code:"invalid_union",input:J.value,inst:Q,errors:[],inclusive:!1});return J}var q5=N("$ZodXor",($,J)=>{i3.init($,J),J.inclusive=!1;let Q=J.options.length===1,X=J.options[0]._zod.run;$._zod.parse=(W,Y)=>{if(Q)return X(W,Y);let K=!1,B=[];for(let q of J.options){let U=q._zod.run({value:W.value,issues:[]},Y);if(U instanceof Promise)B.push(U),K=!0;else B.push(U)}if(!K)return PH(B,W,$,Y);return Promise.all(B).then((q)=>{return PH(q,W,$,Y)})}}),U5=N("$ZodDiscriminatedUnion",($,J)=>{J.inclusive=!1,i3.init($,J);let Q=$._zod.parse;u($._zod,"propValues",()=>{let W={};for(let Y of J.options){let K=Y._zod.propValues;if(!K||Object.keys(K).length===0)throw Error(`Invalid discriminated union option at index "${J.options.indexOf(Y)}"`);for(let[B,q]of Object.entries(K)){if(!W[B])W[B]=new Set;for(let U of q)W[B].add(U)}}return W});let X=O4(()=>{let W=J.options,Y=new Map;for(let K of W){let B=K._zod.propValues?.[J.discriminator];if(!B||B.size===0)throw Error(`Invalid discriminated union option at index "${J.options.indexOf(K)}"`);for(let q of B){if(Y.has(q))throw Error(`Duplicate discriminator value "${String(q)}"`);Y.set(q,K)}}return Y});$._zod.parse=(W,Y)=>{let K=W.value;if(!w2(K))return W.issues.push({code:"invalid_type",expected:"object",input:K,inst:$}),W;let B=X.value.get(K?.[J.discriminator]);if(B)return B._zod.run(W,Y);if(J.unionFallback)return Q(W,Y);return W.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:J.discriminator,input:K,path:[J.discriminator],inst:$}),W}}),G5=N("$ZodIntersection",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value,Y=J.left._zod.run({value:W,issues:[]},X),K=J.right._zod.run({value:W,issues:[]},X);if(Y instanceof Promise||K instanceof Promise)return Promise.all([Y,K]).then(([q,U])=>{return bH(Q,q,U)});return bH(Q,Y,K)}});function jX($,J){if($===J)return{valid:!0,data:$};if($ instanceof Date&&J instanceof Date&&+$===+J)return{valid:!0,data:$};if(X2($)&&X2(J)){let Q=Object.keys(J),X=Object.keys($).filter((Y)=>Q.indexOf(Y)!==-1),W={...$,...J};for(let Y of X){let K=jX($[Y],J[Y]);if(!K.valid)return{valid:!1,mergeErrorPath:[Y,...K.mergeErrorPath]};W[Y]=K.data}return{valid:!0,data:W}}if(Array.isArray($)&&Array.isArray(J)){if($.length!==J.length)return{valid:!1,mergeErrorPath:[]};let Q=[];for(let X=0;X<$.length;X++){let W=$[X],Y=J[X],K=jX(W,Y);if(!K.valid)return{valid:!1,mergeErrorPath:[X,...K.mergeErrorPath]};Q.push(K.data)}return{valid:!0,data:Q}}return{valid:!1,mergeErrorPath:[]}}function bH($,J,Q){let X=new Map,W;for(let B of J.issues)if(B.code==="unrecognized_keys"){W??(W=B);for(let q of B.keys){if(!X.has(q))X.set(q,{});X.get(q).l=!0}}else $.issues.push(B);for(let B of Q.issues)if(B.code==="unrecognized_keys")for(let q of B.keys){if(!X.has(q))X.set(q,{});X.get(q).r=!0}else $.issues.push(B);let Y=[...X].filter(([,B])=>B.l&&B.r).map(([B])=>B);if(Y.length&&W)$.issues.push({...W,keys:Y});if(W2($))return $;let K=jX(J.value,Q.value);if(!K.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(K.mergeErrorPath)}`);return $.value=K.data,$}var x$=N("$ZodTuple",($,J)=>{v.init($,J);let Q=J.items;$._zod.parse=(X,W)=>{let Y=X.value;if(!Array.isArray(Y))return X.issues.push({input:Y,inst:$,expected:"tuple",code:"invalid_type"}),X;X.value=[];let K=[],B=[...Q].reverse().findIndex((G)=>G._zod.optin!=="optional"),q=B===-1?0:Q.length-B;if(!J.rest){let G=Y.length>Q.length,H=Y.length<q-1;if(G||H)return X.issues.push({...G?{code:"too_big",maximum:Q.length,inclusive:!0}:{code:"too_small",minimum:Q.length},input:Y,inst:$,origin:"array"}),X}let U=-1;for(let G of Q){if(U++,U>=Y.length){if(U>=q)continue}let H=G._zod.run({value:Y[U],issues:[]},W);if(H instanceof Promise)K.push(H.then((L)=>w$(L,X,U)));else w$(H,X,U)}if(J.rest){let G=Y.slice(Q.length);for(let H of G){U++;let L=J.rest._zod.run({value:H,issues:[]},W);if(L instanceof Promise)K.push(L.then((Z)=>w$(Z,X,U)));else w$(L,X,U)}}if(K.length)return Promise.all(K).then(()=>X);return X}});function w$($,J,Q){if($.issues.length)J.issues.push(...g1(Q,$.issues));J.value[Q]=$.value}var H5=N("$ZodRecord",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(!X2(W))return Q.issues.push({expected:"record",code:"invalid_type",input:W,inst:$}),Q;let Y=[],K=J.keyType._zod.values;if(K){Q.value={};let B=new Set;for(let U of K)if(typeof U==="string"||typeof U==="number"||typeof U==="symbol"){B.add(typeof U==="number"?U.toString():U);let G=J.valueType._zod.run({value:W[U],issues:[]},X);if(G instanceof Promise)Y.push(G.then((H)=>{if(H.issues.length)Q.issues.push(...g1(U,H.issues));Q.value[U]=H.value}));else{if(G.issues.length)Q.issues.push(...g1(U,G.issues));Q.value[U]=G.value}}let q;for(let U in W)if(!B.has(U))q=q??[],q.push(U);if(q&&q.length>0)Q.issues.push({code:"unrecognized_keys",input:W,inst:$,keys:q})}else{Q.value={};for(let B of Reflect.ownKeys(W)){if(B==="__proto__")continue;let q=J.keyType._zod.run({value:B,issues:[]},X);if(q instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof B==="string"&&p3.test(B)&&q.issues.length&&q.issues.some((H)=>H.code==="invalid_type"&&H.expected==="number")){let H=J.keyType._zod.run({value:Number(B),issues:[]},X);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length===0)q=H}if(q.issues.length){if(J.mode==="loose")Q.value[B]=W[B];else Q.issues.push({code:"invalid_key",origin:"record",issues:q.issues.map((H)=>b1(H,X,Y1())),input:B,path:[B],inst:$});continue}let G=J.valueType._zod.run({value:W[B],issues:[]},X);if(G instanceof Promise)Y.push(G.then((H)=>{if(H.issues.length)Q.issues.push(...g1(B,H.issues));Q.value[q.value]=H.value}));else{if(G.issues.length)Q.issues.push(...g1(B,G.issues));Q.value[q.value]=G.value}}}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}}),Z5=N("$ZodMap",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(!(W instanceof Map))return Q.issues.push({expected:"map",code:"invalid_type",input:W,inst:$}),Q;let Y=[];Q.value=new Map;for(let[K,B]of W){let q=J.keyType._zod.run({value:K,issues:[]},X),U=J.valueType._zod.run({value:B,issues:[]},X);if(q instanceof Promise||U instanceof Promise)Y.push(Promise.all([q,U]).then(([G,H])=>{AH(G,H,Q,K,W,$,X)}));else AH(q,U,Q,K,W,$,X)}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function AH($,J,Q,X,W,Y,K){if($.issues.length)if(x3.has(typeof X))Q.issues.push(...g1(X,$.issues));else Q.issues.push({code:"invalid_key",origin:"map",input:W,inst:Y,issues:$.issues.map((B)=>b1(B,K,Y1()))});if(J.issues.length)if(x3.has(typeof X))Q.issues.push(...g1(X,J.issues));else Q.issues.push({origin:"map",code:"invalid_element",input:W,inst:Y,key:X,issues:J.issues.map((B)=>b1(B,K,Y1()))});Q.value.set($.value,J.value)}var L5=N("$ZodSet",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(!(W instanceof Set))return Q.issues.push({input:W,inst:$,expected:"set",code:"invalid_type"}),Q;let Y=[];Q.value=new Set;for(let K of W){let B=J.valueType._zod.run({value:K,issues:[]},X);if(B instanceof Promise)Y.push(B.then((q)=>EH(q,Q)));else EH(B,Q)}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function EH($,J){if($.issues.length)J.issues.push(...$.issues);J.value.add($.value)}var O5=N("$ZodEnum",($,J)=>{v.init($,J);let Q=y3(J.entries),X=new Set(Q);$._zod.values=X,$._zod.pattern=new RegExp(`^(${Q.filter((W)=>x3.has(typeof W)).map((W)=>typeof W==="string"?o1(W):W.toString()).join("|")})$`),$._zod.parse=(W,Y)=>{let K=W.value;if(X.has(K))return W;return W.issues.push({code:"invalid_value",values:Q,input:K,inst:$}),W}}),M5=N("$ZodLiteral",($,J)=>{if(v.init($,J),J.values.length===0)throw Error("Cannot create literal schema with no valid values");let Q=new Set(J.values);$._zod.values=Q,$._zod.pattern=new RegExp(`^(${J.values.map((X)=>typeof X==="string"?o1(X):X?o1(X.toString()):String(X)).join("|")})$`),$._zod.parse=(X,W)=>{let Y=X.value;if(Q.has(Y))return X;return X.issues.push({code:"invalid_value",values:J.values,input:Y,inst:$}),X}}),N5=N("$ZodFile",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{let W=Q.value;if(W instanceof File)return Q;return Q.issues.push({expected:"file",code:"invalid_type",input:W,inst:$}),Q}}),F5=N("$ZodTransform",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{if(X.direction==="backward")throw new T2($.constructor.name);let W=J.transform(Q.value,Q);if(X.async)return(W instanceof Promise?W:Promise.resolve(W)).then((K)=>{return Q.value=K,Q});if(W instanceof Promise)throw new _0;return Q.value=W,Q}});function SH($,J){if($.issues.length&&J===void 0)return{issues:[],value:void 0};return $}var u$=N("$ZodOptional",($,J)=>{v.init($,J),$._zod.optin="optional",$._zod.optout="optional",u($._zod,"values",()=>{return J.innerType._zod.values?new Set([...J.innerType._zod.values,void 0]):void 0}),u($._zod,"pattern",()=>{let Q=J.innerType._zod.pattern;return Q?new RegExp(`^(${g3(Q.source)})?$`):void 0}),$._zod.parse=(Q,X)=>{if(J.innerType._zod.optin==="optional"){let W=J.innerType._zod.run(Q,X);if(W instanceof Promise)return W.then((Y)=>SH(Y,Q.value));return SH(W,Q.value)}if(Q.value===void 0)return Q;return J.innerType._zod.run(Q,X)}}),V5=N("$ZodExactOptional",($,J)=>{u$.init($,J),u($._zod,"values",()=>J.innerType._zod.values),u($._zod,"pattern",()=>J.innerType._zod.pattern),$._zod.parse=(Q,X)=>{return J.innerType._zod.run(Q,X)}}),_5=N("$ZodNullable",($,J)=>{v.init($,J),u($._zod,"optin",()=>J.innerType._zod.optin),u($._zod,"optout",()=>J.innerType._zod.optout),u($._zod,"pattern",()=>{let Q=J.innerType._zod.pattern;return Q?new RegExp(`^(${g3(Q.source)}|null)$`):void 0}),u($._zod,"values",()=>{return J.innerType._zod.values?new Set([...J.innerType._zod.values,null]):void 0}),$._zod.parse=(Q,X)=>{if(Q.value===null)return Q;return J.innerType._zod.run(Q,X)}}),D5=N("$ZodDefault",($,J)=>{v.init($,J),$._zod.optin="optional",u($._zod,"values",()=>J.innerType._zod.values),$._zod.parse=(Q,X)=>{if(X.direction==="backward")return J.innerType._zod.run(Q,X);if(Q.value===void 0)return Q.value=J.defaultValue,Q;let W=J.innerType._zod.run(Q,X);if(W instanceof Promise)return W.then((Y)=>CH(Y,J));return CH(W,J)}});function CH($,J){if($.value===void 0)$.value=J.defaultValue;return $}var z5=N("$ZodPrefault",($,J)=>{v.init($,J),$._zod.optin="optional",u($._zod,"values",()=>J.innerType._zod.values),$._zod.parse=(Q,X)=>{if(X.direction==="backward")return J.innerType._zod.run(Q,X);if(Q.value===void 0)Q.value=J.defaultValue;return J.innerType._zod.run(Q,X)}}),I5=N("$ZodNonOptional",($,J)=>{v.init($,J),u($._zod,"values",()=>{let Q=J.innerType._zod.values;return Q?new Set([...Q].filter((X)=>X!==void 0)):void 0}),$._zod.parse=(Q,X)=>{let W=J.innerType._zod.run(Q,X);if(W instanceof Promise)return W.then((Y)=>TH(Y,$));return TH(W,$)}});function TH($,J){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:J});return $}var j5=N("$ZodSuccess",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{if(X.direction==="backward")throw new T2("ZodSuccess");let W=J.innerType._zod.run(Q,X);if(W instanceof Promise)return W.then((Y)=>{return Q.value=Y.issues.length===0,Q});return Q.value=W.issues.length===0,Q}}),R5=N("$ZodCatch",($,J)=>{v.init($,J),u($._zod,"optin",()=>J.innerType._zod.optin),u($._zod,"optout",()=>J.innerType._zod.optout),u($._zod,"values",()=>J.innerType._zod.values),$._zod.parse=(Q,X)=>{if(X.direction==="backward")return J.innerType._zod.run(Q,X);let W=J.innerType._zod.run(Q,X);if(W instanceof Promise)return W.then((Y)=>{if(Q.value=Y.value,Y.issues.length)Q.value=J.catchValue({...Q,error:{issues:Y.issues.map((K)=>b1(K,X,Y1()))},input:Q.value}),Q.issues=[];return Q});if(Q.value=W.value,W.issues.length)Q.value=J.catchValue({...Q,error:{issues:W.issues.map((Y)=>b1(Y,X,Y1()))},input:Q.value}),Q.issues=[];return Q}}),P5=N("$ZodNaN",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{if(typeof Q.value!=="number"||!Number.isNaN(Q.value))return Q.issues.push({input:Q.value,inst:$,expected:"nan",code:"invalid_type"}),Q;return Q}}),b5=N("$ZodPipe",($,J)=>{v.init($,J),u($._zod,"values",()=>J.in._zod.values),u($._zod,"optin",()=>J.in._zod.optin),u($._zod,"optout",()=>J.out._zod.optout),u($._zod,"propValues",()=>J.in._zod.propValues),$._zod.parse=(Q,X)=>{if(X.direction==="backward"){let Y=J.out._zod.run(Q,X);if(Y instanceof Promise)return Y.then((K)=>v$(K,J.in,X));return v$(Y,J.in,X)}let W=J.in._zod.run(Q,X);if(W instanceof Promise)return W.then((Y)=>v$(Y,J.out,X));return v$(W,J.out,X)}});function v$($,J,Q){if($.issues.length)return $.aborted=!0,$;return J._zod.run({value:$.value,issues:$.issues},Q)}var o3=N("$ZodCodec",($,J)=>{v.init($,J),u($._zod,"values",()=>J.in._zod.values),u($._zod,"optin",()=>J.in._zod.optin),u($._zod,"optout",()=>J.out._zod.optout),u($._zod,"propValues",()=>J.in._zod.propValues),$._zod.parse=(Q,X)=>{if((X.direction||"forward")==="forward"){let Y=J.in._zod.run(Q,X);if(Y instanceof Promise)return Y.then((K)=>f$(K,J,X));return f$(Y,J,X)}else{let Y=J.out._zod.run(Q,X);if(Y instanceof Promise)return Y.then((K)=>f$(K,J,X));return f$(Y,J,X)}}});function f$($,J,Q){if($.issues.length)return $.aborted=!0,$;if((Q.direction||"forward")==="forward"){let W=J.transform($.value,$);if(W instanceof Promise)return W.then((Y)=>k$($,Y,J.out,Q));return k$($,W,J.out,Q)}else{let W=J.reverseTransform($.value,$);if(W instanceof Promise)return W.then((Y)=>k$($,Y,J.in,Q));return k$($,W,J.in,Q)}}function k$($,J,Q,X){if($.issues.length)return $.aborted=!0,$;return Q._zod.run({value:J,issues:$.issues},X)}var A5=N("$ZodReadonly",($,J)=>{v.init($,J),u($._zod,"propValues",()=>J.innerType._zod.propValues),u($._zod,"values",()=>J.innerType._zod.values),u($._zod,"optin",()=>J.innerType?._zod?.optin),u($._zod,"optout",()=>J.innerType?._zod?.optout),$._zod.parse=(Q,X)=>{if(X.direction==="backward")return J.innerType._zod.run(Q,X);let W=J.innerType._zod.run(Q,X);if(W instanceof Promise)return W.then(wH);return wH(W)}});function wH($){return $.value=Object.freeze($.value),$}var E5=N("$ZodTemplateLiteral",($,J)=>{v.init($,J);let Q=[];for(let X of J.parts)if(typeof X==="object"&&X!==null){if(!X._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...X._zod.traits].shift()}`);let W=X._zod.pattern instanceof RegExp?X._zod.pattern.source:X._zod.pattern;if(!W)throw Error(`Invalid template literal part: ${X._zod.traits}`);let Y=W.startsWith("^")?1:0,K=W.endsWith("$")?W.length-1:W.length;Q.push(W.slice(Y,K))}else if(X===null||j7.has(typeof X))Q.push(o1(`${X}`));else throw Error(`Invalid template literal part: ${X}`);$._zod.pattern=new RegExp(`^${Q.join("")}$`),$._zod.parse=(X,W)=>{if(typeof X.value!=="string")return X.issues.push({input:X.value,inst:$,expected:"string",code:"invalid_type"}),X;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(X.value))return X.issues.push({input:X.value,inst:$,code:"invalid_format",format:J.format??"template_literal",pattern:$._zod.pattern.source}),X;return X}}),S5=N("$ZodFunction",($,J)=>{return v.init($,J),$._def=J,$._zod.def=J,$.implement=(Q)=>{if(typeof Q!=="function")throw Error("implement() must be called with a function");return function(...X){let W=$._def.input?V$($._def.input,X):X,Y=Reflect.apply(Q,this,W);if($._def.output)return V$($._def.output,Y);return Y}},$.implementAsync=(Q)=>{if(typeof Q!=="function")throw Error("implementAsync() must be called with a function");return async function(...X){let W=$._def.input?await _$($._def.input,X):X,Y=await Reflect.apply(Q,this,W);if($._def.output)return await _$($._def.output,Y);return Y}},$._zod.parse=(Q,X)=>{if(typeof Q.value!=="function")return Q.issues.push({code:"invalid_type",expected:"function",input:Q.value,inst:$}),Q;if($._def.output&&$._def.output._zod.def.type==="promise")Q.value=$.implementAsync(Q.value);else Q.value=$.implement(Q.value);return Q},$.input=(...Q)=>{let X=$.constructor;if(Array.isArray(Q[0]))return new X({type:"function",input:new x$({type:"tuple",items:Q[0],rest:Q[1]}),output:$._def.output});return new X({type:"function",input:Q[0],output:$._def.output})},$.output=(Q)=>{return new $.constructor({type:"function",input:$._def.input,output:Q})},$}),C5=N("$ZodPromise",($,J)=>{v.init($,J),$._zod.parse=(Q,X)=>{return Promise.resolve(Q.value).then((W)=>J.innerType._zod.run({value:W,issues:[]},X))}}),T5=N("$ZodLazy",($,J)=>{v.init($,J),u($._zod,"innerType",()=>J.getter()),u($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),u($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),u($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),u($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(Q,X)=>{return $._zod.innerType._zod.run(Q,X)}}),w5=N("$ZodCustom",($,J)=>{o.init($,J),v.init($,J),$._zod.parse=(Q,X)=>{return Q},$._zod.check=(Q)=>{let X=Q.value,W=J.fn(X);if(W instanceof Promise)return W.then((Y)=>vH(Y,Q,X,$));vH(W,Q,X,$);return}});function vH($,J,Q,X){if(!$){let W={code:"custom",input:Q,inst:X,path:[...X._zod.def.path??[]],continue:!X._zod.def.abort};if(X._zod.def.params)W.params=X._zod.def.params;J.issues.push(M4(W))}}var n3={};var xH,m$=Symbol("ZodOutput"),l$=Symbol("ZodInput");class v5{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,...J){let Q=J[0];if(this._map.set($,Q),Q&&typeof Q==="object"&&"id"in Q)this._idmap.set(Q.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let J=this._map.get($);if(J&&typeof J==="object"&&"id"in J)this._idmap.delete(J.id);return this._map.delete($),this}get($){let J=$._zod.parent;if(J){let Q={...this.get(J)??{}};delete Q.id;let X={...Q,...this._map.get($)};return Object.keys(X).length?X:void 0}return this._map.get($)}has($){return this._map.has($)}}function s3(){return new v5}(xH=globalThis).__zod_globalRegistry??(xH.__zod_globalRegistry=s3());var E1=globalThis.__zod_globalRegistry;function f5($,J){return new $({type:"string",...D(J)})}function k5($,J){return new $({type:"string",coerce:!0,...D(J)})}function p$($,J){return new $({type:"string",format:"email",check:"string_format",abort:!1,...D(J)})}function a3($,J){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...D(J)})}function c$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...D(J)})}function d$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...D(J)})}function r$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...D(J)})}function i$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...D(J)})}function t3($,J){return new $({type:"string",format:"url",check:"string_format",abort:!1,...D(J)})}function o$($,J){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...D(J)})}function n$($,J){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...D(J)})}function s$($,J){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...D(J)})}function a$($,J){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...D(J)})}function t$($,J){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...D(J)})}function e$($,J){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...D(J)})}function $8($,J){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...D(J)})}function J8($,J){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...D(J)})}function Q8($,J){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...D(J)})}function h5($,J){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...D(J)})}function X8($,J){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...D(J)})}function W8($,J){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...D(J)})}function Y8($,J){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...D(J)})}function K8($,J){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...D(J)})}function B8($,J){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...D(J)})}function q8($,J){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...D(J)})}var U8={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function y5($,J){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...D(J)})}function g5($,J){return new $({type:"string",format:"date",check:"string_format",...D(J)})}function x5($,J){return new $({type:"string",format:"time",check:"string_format",precision:null,...D(J)})}function u5($,J){return new $({type:"string",format:"duration",check:"string_format",...D(J)})}function m5($,J){return new $({type:"number",checks:[],...D(J)})}function l5($,J){return new $({type:"number",coerce:!0,checks:[],...D(J)})}function p5($,J){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...D(J)})}function c5($,J){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...D(J)})}function d5($,J){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...D(J)})}function r5($,J){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...D(J)})}function i5($,J){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...D(J)})}function o5($,J){return new $({type:"boolean",...D(J)})}function n5($,J){return new $({type:"boolean",coerce:!0,...D(J)})}function s5($,J){return new $({type:"bigint",...D(J)})}function a5($,J){return new $({type:"bigint",coerce:!0,...D(J)})}function t5($,J){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...D(J)})}function e5($,J){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...D(J)})}function $W($,J){return new $({type:"symbol",...D(J)})}function JW($,J){return new $({type:"undefined",...D(J)})}function QW($,J){return new $({type:"null",...D(J)})}function XW($){return new $({type:"any"})}function WW($){return new $({type:"unknown"})}function YW($,J){return new $({type:"never",...D(J)})}function KW($,J){return new $({type:"void",...D(J)})}function BW($,J){return new $({type:"date",...D(J)})}function qW($,J){return new $({type:"date",coerce:!0,...D(J)})}function UW($,J){return new $({type:"nan",...D(J)})}function D0($,J){return new S$({check:"less_than",...D(J),value:$,inclusive:!1})}function u1($,J){return new S$({check:"less_than",...D(J),value:$,inclusive:!0})}function z0($,J){return new C$({check:"greater_than",...D(J),value:$,inclusive:!1})}function D1($,J){return new C$({check:"greater_than",...D(J),value:$,inclusive:!0})}function G8($){return z0(0,$)}function H8($){return D0(0,$)}function Z8($){return u1(0,$)}function L8($){return D1(0,$)}function Y2($,J){return new WX({check:"multiple_of",...D(J),value:$})}function K2($,J){return new BX({check:"max_size",...D(J),maximum:$})}function I0($,J){return new qX({check:"min_size",...D(J),minimum:$})}function k2($,J){return new UX({check:"size_equals",...D(J),size:$})}function h2($,J){return new GX({check:"max_length",...D(J),maximum:$})}function u0($,J){return new HX({check:"min_length",...D(J),minimum:$})}function y2($,J){return new ZX({check:"length_equals",...D(J),length:$})}function j4($,J){return new LX({check:"string_format",format:"regex",...D(J),pattern:$})}function R4($){return new OX({check:"string_format",format:"lowercase",...D($)})}function P4($){return new MX({check:"string_format",format:"uppercase",...D($)})}function b4($,J){return new NX({check:"string_format",format:"includes",...D(J),includes:$})}function A4($,J){return new FX({check:"string_format",format:"starts_with",...D(J),prefix:$})}function E4($,J){return new VX({check:"string_format",format:"ends_with",...D(J),suffix:$})}function O8($,J,Q){return new _X({check:"property",property:$,schema:J,...D(Q)})}function S4($,J){return new DX({check:"mime_type",mime:$,...D(J)})}function X0($){return new zX({check:"overwrite",tx:$})}function C4($){return X0((J)=>J.normalize($))}function T4(){return X0(($)=>$.trim())}function w4(){return X0(($)=>$.toLowerCase())}function v4(){return X0(($)=>$.toUpperCase())}function f4(){return X0(($)=>D7($))}function GW($,J,Q){return new $({type:"array",element:J,...D(Q)})}function vP($,J,Q){return new $({type:"union",options:J,...D(Q)})}function fP($,J,Q){return new $({type:"union",options:J,inclusive:!1,...D(Q)})}function kP($,J,Q,X){return new $({type:"union",options:Q,discriminator:J,...D(X)})}function hP($,J,Q){return new $({type:"intersection",left:J,right:Q})}function yP($,J,Q,X){let W=Q instanceof v;return new $({type:"tuple",items:J,rest:W?Q:null,...D(W?X:Q)})}function gP($,J,Q,X){return new $({type:"record",keyType:J,valueType:Q,...D(X)})}function xP($,J,Q,X){return new $({type:"map",keyType:J,valueType:Q,...D(X)})}function uP($,J,Q){return new $({type:"set",valueType:J,...D(Q)})}function mP($,J,Q){let X=Array.isArray(J)?Object.fromEntries(J.map((W)=>[W,W])):J;return new $({type:"enum",entries:X,...D(Q)})}function lP($,J,Q){return new $({type:"enum",entries:J,...D(Q)})}function pP($,J,Q){return new $({type:"literal",values:Array.isArray(J)?J:[J],...D(Q)})}function HW($,J){return new $({type:"file",...D(J)})}function cP($,J){return new $({type:"transform",transform:J})}function dP($,J){return new $({type:"optional",innerType:J})}function rP($,J){return new $({type:"nullable",innerType:J})}function iP($,J,Q){return new $({type:"default",innerType:J,get defaultValue(){return typeof Q==="function"?Q():I7(Q)}})}function oP($,J,Q){return new $({type:"nonoptional",innerType:J,...D(Q)})}function nP($,J){return new $({type:"success",innerType:J})}function sP($,J,Q){return new $({type:"catch",innerType:J,catchValue:typeof Q==="function"?Q:()=>Q})}function aP($,J,Q){return new $({type:"pipe",in:J,out:Q})}function tP($,J){return new $({type:"readonly",innerType:J})}function eP($,J,Q){return new $({type:"template_literal",parts:J,...D(Q)})}function $b($,J){return new $({type:"lazy",getter:J})}function Jb($,J){return new $({type:"promise",innerType:J})}function ZW($,J,Q){let X=D(Q);return X.abort??(X.abort=!0),new $({type:"custom",check:"custom",fn:J,...X})}function LW($,J,Q){return new $({type:"custom",check:"custom",fn:J,...D(Q)})}function OW($){let J=uH((Q)=>{return Q.addIssue=(X)=>{if(typeof X==="string")Q.issues.push(M4(X,Q.value,J._zod.def));else{let W=X;if(W.fatal)W.continue=!1;W.code??(W.code="custom"),W.input??(W.input=Q.value),W.inst??(W.inst=J),W.continue??(W.continue=!J._zod.def.abort),Q.issues.push(M4(W))}},$(Q.value,Q)});return J}function uH($,J){let Q=new o({check:"custom",...D(J)});return Q._zod.check=$,Q}function MW($){let J=new o({check:"describe"});return J._zod.onattach=[(Q)=>{let X=E1.get(Q)??{};E1.add(Q,{...X,description:$})}],J._zod.check=()=>{},J}function NW($){let J=new o({check:"meta"});return J._zod.onattach=[(Q)=>{let X=E1.get(Q)??{};E1.add(Q,{...X,...$})}],J._zod.check=()=>{},J}function FW($,J){let Q=D(J),X=Q.truthy??["true","1","yes","on","y","enabled"],W=Q.falsy??["false","0","no","off","n","disabled"];if(Q.case!=="sensitive")X=X.map((Z)=>typeof Z==="string"?Z.toLowerCase():Z),W=W.map((Z)=>typeof Z==="string"?Z.toLowerCase():Z);let Y=new Set(X),K=new Set(W),B=$.Codec??o3,q=$.Boolean??r3,G=new($.String??f2)({type:"string",error:Q.error}),H=new q({type:"boolean",error:Q.error}),L=new B({type:"pipe",in:G,out:H,transform:(Z,O)=>{let M=Z;if(Q.case!=="sensitive")M=M.toLowerCase();if(Y.has(M))return!0;else if(K.has(M))return!1;else return O.issues.push({code:"invalid_value",expected:"stringbool",values:[...Y,...K],input:O.value,inst:L,continue:!1}),{}},reverseTransform:(Z,O)=>{if(Z===!0)return X[0]||"true";else return W[0]||"false"},error:Q.error});return L}function k4($,J,Q,X={}){let W=D(X),Y={...D(X),check:"string_format",type:"string",format:J,fn:typeof Q==="function"?Q:(B)=>Q.test(B),...W};if(Q instanceof RegExp)Y.pattern=Q;return new $(Y)}var h4=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},VW=()=>h4,M8=()=>h4,y4=h4,n=h4,g4=h4,x4=h4;var Qb={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},_W=($,J,Q,X)=>{let W=Q;W.type="string";let{minimum:Y,maximum:K,format:B,patterns:q,contentEncoding:U}=$._zod.bag;if(typeof Y==="number")W.minLength=Y;if(typeof K==="number")W.maxLength=K;if(B){if(W.format=Qb[B]??B,W.format==="")delete W.format;if(B==="time")delete W.format}if(U)W.contentEncoding=U;if(q&&q.size>0){let G=[...q];if(G.length===1)W.pattern=G[0].source;else if(G.length>1)W.allOf=[...G.map((H)=>({...J.target==="draft-07"||J.target==="draft-04"||J.target==="openapi-3.0"?{type:"string"}:{},pattern:H.source}))]}},DW=($,J,Q,X)=>{let W=Q,{minimum:Y,maximum:K,format:B,multipleOf:q,exclusiveMaximum:U,exclusiveMinimum:G}=$._zod.bag;if(typeof B==="string"&&B.includes("int"))W.type="integer";else W.type="number";if(typeof G==="number")if(J.target==="draft-04"||J.target==="openapi-3.0")W.minimum=G,W.exclusiveMinimum=!0;else W.exclusiveMinimum=G;if(typeof Y==="number"){if(W.minimum=Y,typeof G==="number"&&J.target!=="draft-04")if(G>=Y)delete W.minimum;else delete W.exclusiveMinimum}if(typeof U==="number")if(J.target==="draft-04"||J.target==="openapi-3.0")W.maximum=U,W.exclusiveMaximum=!0;else W.exclusiveMaximum=U;if(typeof K==="number"){if(W.maximum=K,typeof U==="number"&&J.target!=="draft-04")if(U<=K)delete W.maximum;else delete W.exclusiveMaximum}if(typeof q==="number")W.multipleOf=q},zW=($,J,Q,X)=>{Q.type="boolean"},IW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},jW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},RW=($,J,Q,X)=>{if(J.target==="openapi-3.0")Q.type="string",Q.nullable=!0,Q.enum=[null];else Q.type="null"},PW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},bW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},AW=($,J,Q,X)=>{Q.not={}},EW=($,J,Q,X)=>{},SW=($,J,Q,X)=>{},CW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},TW=($,J,Q,X)=>{let W=$._zod.def,Y=y3(W.entries);if(Y.every((K)=>typeof K==="number"))Q.type="number";if(Y.every((K)=>typeof K==="string"))Q.type="string";Q.enum=Y},wW=($,J,Q,X)=>{let W=$._zod.def,Y=[];for(let K of W.values)if(K===void 0){if(J.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof K==="bigint")if(J.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else Y.push(Number(K));else Y.push(K);if(Y.length===0);else if(Y.length===1){let K=Y[0];if(Q.type=K===null?"null":typeof K,J.target==="draft-04"||J.target==="openapi-3.0")Q.enum=[K];else Q.const=K}else{if(Y.every((K)=>typeof K==="number"))Q.type="number";if(Y.every((K)=>typeof K==="string"))Q.type="string";if(Y.every((K)=>typeof K==="boolean"))Q.type="boolean";if(Y.every((K)=>K===null))Q.type="null";Q.enum=Y}},vW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},fW=($,J,Q,X)=>{let W=Q,Y=$._zod.pattern;if(!Y)throw Error("Pattern not found in template literal");W.type="string",W.pattern=Y.source},kW=($,J,Q,X)=>{let W=Q,Y={type:"string",format:"binary",contentEncoding:"binary"},{minimum:K,maximum:B,mime:q}=$._zod.bag;if(K!==void 0)Y.minLength=K;if(B!==void 0)Y.maxLength=B;if(q)if(q.length===1)Y.contentMediaType=q[0],Object.assign(W,Y);else Object.assign(W,Y),W.anyOf=q.map((U)=>({contentMediaType:U}));else Object.assign(W,Y)},hW=($,J,Q,X)=>{Q.type="boolean"},yW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},gW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},xW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},uW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},mW=($,J,Q,X)=>{if(J.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},lW=($,J,Q,X)=>{let W=Q,Y=$._zod.def,{minimum:K,maximum:B}=$._zod.bag;if(typeof K==="number")W.minItems=K;if(typeof B==="number")W.maxItems=B;W.type="array",W.items=n(Y.element,J,{...X,path:[...X.path,"items"]})},pW=($,J,Q,X)=>{let W=Q,Y=$._zod.def;W.type="object",W.properties={};let K=Y.shape;for(let U in K)W.properties[U]=n(K[U],J,{...X,path:[...X.path,"properties",U]});let B=new Set(Object.keys(K)),q=new Set([...B].filter((U)=>{let G=Y.shape[U]._zod;if(J.io==="input")return G.optin===void 0;else return G.optout===void 0}));if(q.size>0)W.required=Array.from(q);if(Y.catchall?._zod.def.type==="never")W.additionalProperties=!1;else if(!Y.catchall){if(J.io==="output")W.additionalProperties=!1}else if(Y.catchall)W.additionalProperties=n(Y.catchall,J,{...X,path:[...X.path,"additionalProperties"]})},F8=($,J,Q,X)=>{let W=$._zod.def,Y=W.inclusive===!1,K=W.options.map((B,q)=>n(B,J,{...X,path:[...X.path,Y?"oneOf":"anyOf",q]}));if(Y)Q.oneOf=K;else Q.anyOf=K},cW=($,J,Q,X)=>{let W=$._zod.def,Y=n(W.left,J,{...X,path:[...X.path,"allOf",0]}),K=n(W.right,J,{...X,path:[...X.path,"allOf",1]}),B=(U)=>("allOf"in U)&&Object.keys(U).length===1,q=[...B(Y)?Y.allOf:[Y],...B(K)?K.allOf:[K]];Q.allOf=q},dW=($,J,Q,X)=>{let W=Q,Y=$._zod.def;W.type="array";let K=J.target==="draft-2020-12"?"prefixItems":"items",B=J.target==="draft-2020-12"?"items":J.target==="openapi-3.0"?"items":"additionalItems",q=Y.items.map((L,Z)=>n(L,J,{...X,path:[...X.path,K,Z]})),U=Y.rest?n(Y.rest,J,{...X,path:[...X.path,B,...J.target==="openapi-3.0"?[Y.items.length]:[]]}):null;if(J.target==="draft-2020-12"){if(W.prefixItems=q,U)W.items=U}else if(J.target==="openapi-3.0"){if(W.items={anyOf:q},U)W.items.anyOf.push(U);if(W.minItems=q.length,!U)W.maxItems=q.length}else if(W.items=q,U)W.additionalItems=U;let{minimum:G,maximum:H}=$._zod.bag;if(typeof G==="number")W.minItems=G;if(typeof H==="number")W.maxItems=H},rW=($,J,Q,X)=>{let W=Q,Y=$._zod.def;W.type="object";let K=Y.keyType,q=K._zod.bag?.patterns;if(Y.mode==="loose"&&q&&q.size>0){let G=n(Y.valueType,J,{...X,path:[...X.path,"patternProperties","*"]});W.patternProperties={};for(let H of q)W.patternProperties[H.source]=G}else{if(J.target==="draft-07"||J.target==="draft-2020-12")W.propertyNames=n(Y.keyType,J,{...X,path:[...X.path,"propertyNames"]});W.additionalProperties=n(Y.valueType,J,{...X,path:[...X.path,"additionalProperties"]})}let U=K._zod.values;if(U){let G=[...U].filter((H)=>typeof H==="string"||typeof H==="number");if(G.length>0)W.required=G}},iW=($,J,Q,X)=>{let W=$._zod.def,Y=n(W.innerType,J,X),K=J.seen.get($);if(J.target==="openapi-3.0")K.ref=W.innerType,Q.nullable=!0;else Q.anyOf=[Y,{type:"null"}]},oW=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);Y.ref=W.innerType},nW=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);Y.ref=W.innerType,Q.default=JSON.parse(JSON.stringify(W.defaultValue))},sW=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);if(Y.ref=W.innerType,J.io==="input")Q._prefault=JSON.parse(JSON.stringify(W.defaultValue))},aW=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);Y.ref=W.innerType;let K;try{K=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}Q.default=K},tW=($,J,Q,X)=>{let W=$._zod.def,Y=J.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;n(Y,J,X);let K=J.seen.get($);K.ref=Y},eW=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);Y.ref=W.innerType,Q.readOnly=!0},$Y=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);Y.ref=W.innerType},V8=($,J,Q,X)=>{let W=$._zod.def;n(W.innerType,J,X);let Y=J.seen.get($);Y.ref=W.innerType},JY=($,J,Q,X)=>{let W=$._zod.innerType;n(W,J,X);let Y=J.seen.get($);Y.ref=W},N8={string:_W,number:DW,boolean:zW,bigint:IW,symbol:jW,null:RW,undefined:PW,void:bW,never:AW,any:EW,unknown:SW,date:CW,enum:TW,literal:wW,nan:vW,template_literal:fW,file:kW,success:hW,custom:yW,function:gW,transform:xW,map:uW,set:mW,array:lW,object:pW,union:F8,intersection:cW,tuple:dW,record:rW,nullable:iW,nonoptional:oW,default:nW,prefault:sW,catch:aW,pipe:tW,readonly:eW,promise:$Y,optional:V8,lazy:JY};function e3($,J){if("_idmap"in $){let X=$,W=y4({...J,processors:N8}),Y={};for(let q of X._idmap.entries()){let[U,G]=q;n(G,W)}let K={},B={registry:X,uri:J?.uri,defs:Y};W.external=B;for(let q of X._idmap.entries()){let[U,G]=q;g4(W,G),K[U]=x4(W,G)}if(Object.keys(Y).length>0){let q=W.target==="draft-2020-12"?"$defs":"definitions";K.__shared={[q]:Y}}return{schemas:K}}let Q=y4({...J,processors:N8});return n($,Q),g4(Q,$),x4(Q,$)}class QY{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($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let J=$?.target??"draft-2020-12";if(J==="draft-4")J="draft-04";if(J==="draft-7")J="draft-07";this.ctx=y4({processors:N8,target:J,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,J={path:[],schemaPath:[]}){return n($,this.ctx,J)}emit($,J){if(J){if(J.cycles)this.ctx.cycles=J.cycles;if(J.reused)this.ctx.reused=J.reused;if(J.external)this.ctx.external=J.external}g4(this.ctx,$);let Q=x4(this.ctx,$),{"~standard":X,...W}=Q;return W}}var mH={};var W6={};q2(W6,{time:()=>YY,duration:()=>KY,datetime:()=>XY,date:()=>WY,ZodISOTime:()=>Q6,ZodISODuration:()=>X6,ZodISODateTime:()=>$6,ZodISODate:()=>J6});var $6=N("ZodISODateTime",($,J)=>{kX.init($,J),r.init($,J)});function XY($){return y5($6,$)}var J6=N("ZodISODate",($,J)=>{hX.init($,J),r.init($,J)});function WY($){return g5(J6,$)}var Q6=N("ZodISOTime",($,J)=>{yX.init($,J),r.init($,J)});function YY($){return x5(Q6,$)}var X6=N("ZodISODuration",($,J)=>{gX.init($,J),r.init($,J)});function KY($){return u5(X6,$)}var pH=($,J)=>{l3.init($,J),$.name="ZodError",Object.defineProperties($,{format:{value:(Q)=>F4($,Q)},flatten:{value:(Q)=>N4($,Q)},addIssue:{value:(Q)=>{$.issues.push(Q),$.message=JSON.stringify($.issues,L4,2)}},addIssues:{value:(Q)=>{$.issues.push(...Q),$.message=JSON.stringify($.issues,L4,2)}},isEmpty:{get(){return $.issues.length===0}}})},cH=N("ZodError",pH),z1=N("ZodError",pH,{Parent:Error});var _8=V4(z1),D8=_4(z1),z8=D4(z1),I8=z4(z1),j8=D$(z1),R8=z$(z1),P8=I$(z1),b8=j$(z1),A8=R$(z1),E8=P$(z1),S8=b$(z1),C8=A$(z1);var y=N("ZodType",($,J)=>{return v.init($,J),Object.assign($["~standard"],{jsonSchema:{input:M8($,"input"),output:M8($,"output")}}),$.toJSONSchema=VW($,{}),$.def=J,$.type=J.type,Object.defineProperty($,"_def",{value:J}),$.check=(...Q)=>{return $.clone(w.mergeDefs(J,{checks:[...J.checks??[],...Q.map((X)=>typeof X==="function"?{_zod:{check:X,def:{check:"custom"},onattach:[]}}:X)]}),{parent:!0})},$.with=$.check,$.clone=(Q,X)=>N1($,Q,X),$.brand=()=>$,$.register=(Q,X)=>{return Q.add($,X),$},$.parse=(Q,X)=>_8($,Q,X,{callee:$.parse}),$.safeParse=(Q,X)=>z8($,Q,X),$.parseAsync=async(Q,X)=>D8($,Q,X,{callee:$.parseAsync}),$.safeParseAsync=async(Q,X)=>I8($,Q,X),$.spa=$.safeParseAsync,$.encode=(Q,X)=>j8($,Q,X),$.decode=(Q,X)=>R8($,Q,X),$.encodeAsync=async(Q,X)=>P8($,Q,X),$.decodeAsync=async(Q,X)=>b8($,Q,X),$.safeEncode=(Q,X)=>A8($,Q,X),$.safeDecode=(Q,X)=>E8($,Q,X),$.safeEncodeAsync=async(Q,X)=>S8($,Q,X),$.safeDecodeAsync=async(Q,X)=>C8($,Q,X),$.refine=(Q,X)=>$.check(sY(Q,X)),$.superRefine=(Q)=>$.check(aY(Q)),$.overwrite=(Q)=>$.check(X0(Q)),$.optional=()=>K6($),$.exactOptional=()=>wY($),$.nullable=()=>B6($),$.nullish=()=>K6(B6($)),$.nonoptional=(Q)=>gY($,Q),$.array=()=>H6($),$.or=(Q)=>t8([$,Q]),$.and=(Q)=>IY($,Q),$.transform=(Q)=>q6($,$J(Q)),$.default=(Q)=>kY($,Q),$.prefault=(Q)=>yY($,Q),$.catch=(Q)=>mY($,Q),$.pipe=(Q)=>q6($,Q),$.readonly=()=>cY($),$.describe=(Q)=>{let X=$.clone();return E1.add(X,{description:Q}),X},Object.defineProperty($,"description",{get(){return E1.get($)?.description},configurable:!0}),$.meta=(...Q)=>{if(Q.length===0)return E1.get($);let X=$.clone();return E1.add(X,Q[0]),X},$.isOptional=()=>$.safeParse(void 0).success,$.isNullable=()=>$.safeParse(null).success,$.apply=(Q)=>Q($),$}),v8=N("_ZodString",($,J)=>{f2.init($,J),y.init($,J),$._zod.processJSONSchema=(X,W,Y)=>_W($,X,W,Y);let Q=$._zod.bag;$.format=Q.format??null,$.minLength=Q.minimum??null,$.maxLength=Q.maximum??null,$.regex=(...X)=>$.check(j4(...X)),$.includes=(...X)=>$.check(b4(...X)),$.startsWith=(...X)=>$.check(A4(...X)),$.endsWith=(...X)=>$.check(E4(...X)),$.min=(...X)=>$.check(u0(...X)),$.max=(...X)=>$.check(h2(...X)),$.length=(...X)=>$.check(y2(...X)),$.nonempty=(...X)=>$.check(u0(1,...X)),$.lowercase=(X)=>$.check(R4(X)),$.uppercase=(X)=>$.check(P4(X)),$.trim=()=>$.check(T4()),$.normalize=(...X)=>$.check(C4(...X)),$.toLowerCase=()=>$.check(w4()),$.toUpperCase=()=>$.check(v4()),$.slugify=()=>$.check(f4())}),m4=N("ZodString",($,J)=>{f2.init($,J),v8.init($,J),$.email=(Q)=>$.check(p$(f8,Q)),$.url=(Q)=>$.check(t3(U6,Q)),$.jwt=(Q)=>$.check(q8(n8,Q)),$.emoji=(Q)=>$.check(o$(k8,Q)),$.guid=(Q)=>$.check(a3(Y6,Q)),$.uuid=(Q)=>$.check(c$(R0,Q)),$.uuidv4=(Q)=>$.check(d$(R0,Q)),$.uuidv6=(Q)=>$.check(r$(R0,Q)),$.uuidv7=(Q)=>$.check(i$(R0,Q)),$.nanoid=(Q)=>$.check(n$(h8,Q)),$.guid=(Q)=>$.check(a3(Y6,Q)),$.cuid=(Q)=>$.check(s$(y8,Q)),$.cuid2=(Q)=>$.check(a$(g8,Q)),$.ulid=(Q)=>$.check(t$(x8,Q)),$.base64=(Q)=>$.check(Y8(r8,Q)),$.base64url=(Q)=>$.check(K8(i8,Q)),$.xid=(Q)=>$.check(e$(u8,Q)),$.ksuid=(Q)=>$.check($8(m8,Q)),$.ipv4=(Q)=>$.check(J8(l8,Q)),$.ipv6=(Q)=>$.check(Q8(p8,Q)),$.cidrv4=(Q)=>$.check(X8(c8,Q)),$.cidrv6=(Q)=>$.check(W8(d8,Q)),$.e164=(Q)=>$.check(B8(o8,Q)),$.datetime=(Q)=>$.check(XY(Q)),$.date=(Q)=>$.check(WY(Q)),$.time=(Q)=>$.check(YY(Q)),$.duration=(Q)=>$.check(KY(Q))});function T8($){return f5(m4,$)}var r=N("ZodStringFormat",($,J)=>{d.init($,J),v8.init($,J)}),f8=N("ZodEmail",($,J)=>{bX.init($,J),r.init($,J)});function dH($){return p$(f8,$)}var Y6=N("ZodGUID",($,J)=>{RX.init($,J),r.init($,J)});function rH($){return a3(Y6,$)}var R0=N("ZodUUID",($,J)=>{PX.init($,J),r.init($,J)});function iH($){return c$(R0,$)}function oH($){return d$(R0,$)}function nH($){return r$(R0,$)}function sH($){return i$(R0,$)}var U6=N("ZodURL",($,J)=>{AX.init($,J),r.init($,J)});function aH($){return t3(U6,$)}function tH($){return t3(U6,{protocol:/^https?$/,hostname:x1.domain,...w.normalizeParams($)})}var k8=N("ZodEmoji",($,J)=>{EX.init($,J),r.init($,J)});function eH($){return o$(k8,$)}var h8=N("ZodNanoID",($,J)=>{SX.init($,J),r.init($,J)});function $Z($){return n$(h8,$)}var y8=N("ZodCUID",($,J)=>{CX.init($,J),r.init($,J)});function JZ($){return s$(y8,$)}var g8=N("ZodCUID2",($,J)=>{TX.init($,J),r.init($,J)});function QZ($){return a$(g8,$)}var x8=N("ZodULID",($,J)=>{wX.init($,J),r.init($,J)});function XZ($){return t$(x8,$)}var u8=N("ZodXID",($,J)=>{vX.init($,J),r.init($,J)});function WZ($){return e$(u8,$)}var m8=N("ZodKSUID",($,J)=>{fX.init($,J),r.init($,J)});function YZ($){return $8(m8,$)}var l8=N("ZodIPv4",($,J)=>{xX.init($,J),r.init($,J)});function KZ($){return J8(l8,$)}var BY=N("ZodMAC",($,J)=>{mX.init($,J),r.init($,J)});function BZ($){return h5(BY,$)}var p8=N("ZodIPv6",($,J)=>{uX.init($,J),r.init($,J)});function qZ($){return Q8(p8,$)}var c8=N("ZodCIDRv4",($,J)=>{lX.init($,J),r.init($,J)});function UZ($){return X8(c8,$)}var d8=N("ZodCIDRv6",($,J)=>{pX.init($,J),r.init($,J)});function GZ($){return W8(d8,$)}var r8=N("ZodBase64",($,J)=>{dX.init($,J),r.init($,J)});function HZ($){return Y8(r8,$)}var i8=N("ZodBase64URL",($,J)=>{rX.init($,J),r.init($,J)});function ZZ($){return K8(i8,$)}var o8=N("ZodE164",($,J)=>{iX.init($,J),r.init($,J)});function LZ($){return B8(o8,$)}var n8=N("ZodJWT",($,J)=>{oX.init($,J),r.init($,J)});function OZ($){return q8(n8,$)}var l4=N("ZodCustomStringFormat",($,J)=>{nX.init($,J),r.init($,J)});function MZ($,J,Q={}){return k4(l4,$,J,Q)}function NZ($){return k4(l4,"hostname",x1.hostname,$)}function FZ($){return k4(l4,"hex",x1.hex,$)}function VZ($,J){let Q=J?.enc??"hex",X=`${$}_${Q}`,W=x1[X];if(!W)throw Error(`Unrecognized hash format: ${X}`);return k4(l4,X,W,J)}var p4=N("ZodNumber",($,J)=>{y$.init($,J),y.init($,J),$._zod.processJSONSchema=(X,W,Y)=>DW($,X,W,Y),$.gt=(X,W)=>$.check(z0(X,W)),$.gte=(X,W)=>$.check(D1(X,W)),$.min=(X,W)=>$.check(D1(X,W)),$.lt=(X,W)=>$.check(D0(X,W)),$.lte=(X,W)=>$.check(u1(X,W)),$.max=(X,W)=>$.check(u1(X,W)),$.int=(X)=>$.check(w8(X)),$.safe=(X)=>$.check(w8(X)),$.positive=(X)=>$.check(z0(0,X)),$.nonnegative=(X)=>$.check(D1(0,X)),$.negative=(X)=>$.check(D0(0,X)),$.nonpositive=(X)=>$.check(u1(0,X)),$.multipleOf=(X,W)=>$.check(Y2(X,W)),$.step=(X,W)=>$.check(Y2(X,W)),$.finite=()=>$;let Q=$._zod.bag;$.minValue=Math.max(Q.minimum??Number.NEGATIVE_INFINITY,Q.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(Q.maximum??Number.POSITIVE_INFINITY,Q.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(Q.format??"").includes("int")||Number.isSafeInteger(Q.multipleOf??0.5),$.isFinite=!0,$.format=Q.format??null});function qY($){return m5(p4,$)}var x2=N("ZodNumberFormat",($,J)=>{sX.init($,J),p4.init($,J)});function w8($){return p5(x2,$)}function _Z($){return c5(x2,$)}function DZ($){return d5(x2,$)}function zZ($){return r5(x2,$)}function IZ($){return i5(x2,$)}var c4=N("ZodBoolean",($,J)=>{r3.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>zW($,Q,X,W)});function UY($){return o5(c4,$)}var d4=N("ZodBigInt",($,J)=>{g$.init($,J),y.init($,J),$._zod.processJSONSchema=(X,W,Y)=>IW($,X,W,Y),$.gte=(X,W)=>$.check(D1(X,W)),$.min=(X,W)=>$.check(D1(X,W)),$.gt=(X,W)=>$.check(z0(X,W)),$.gte=(X,W)=>$.check(D1(X,W)),$.min=(X,W)=>$.check(D1(X,W)),$.lt=(X,W)=>$.check(D0(X,W)),$.lte=(X,W)=>$.check(u1(X,W)),$.max=(X,W)=>$.check(u1(X,W)),$.positive=(X)=>$.check(z0(BigInt(0),X)),$.negative=(X)=>$.check(D0(BigInt(0),X)),$.nonpositive=(X)=>$.check(u1(BigInt(0),X)),$.nonnegative=(X)=>$.check(D1(BigInt(0),X)),$.multipleOf=(X,W)=>$.check(Y2(X,W));let Q=$._zod.bag;$.minValue=Q.minimum??null,$.maxValue=Q.maximum??null,$.format=Q.format??null});function jZ($){return s5(d4,$)}var s8=N("ZodBigIntFormat",($,J)=>{aX.init($,J),d4.init($,J)});function RZ($){return t5(s8,$)}function PZ($){return e5(s8,$)}var GY=N("ZodSymbol",($,J)=>{tX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>jW($,Q,X,W)});function bZ($){return $W(GY,$)}var HY=N("ZodUndefined",($,J)=>{eX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>PW($,Q,X,W)});function AZ($){return JW(HY,$)}var ZY=N("ZodNull",($,J)=>{$5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>RW($,Q,X,W)});function LY($){return QW(ZY,$)}var OY=N("ZodAny",($,J)=>{J5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>EW($,Q,X,W)});function EZ(){return XW(OY)}var MY=N("ZodUnknown",($,J)=>{Q5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>SW($,Q,X,W)});function g2(){return WW(MY)}var NY=N("ZodNever",($,J)=>{X5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>AW($,Q,X,W)});function a8($){return YW(NY,$)}var FY=N("ZodVoid",($,J)=>{W5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>bW($,Q,X,W)});function SZ($){return KW(FY,$)}var G6=N("ZodDate",($,J)=>{Y5.init($,J),y.init($,J),$._zod.processJSONSchema=(X,W,Y)=>CW($,X,W,Y),$.min=(X,W)=>$.check(D1(X,W)),$.max=(X,W)=>$.check(u1(X,W));let Q=$._zod.bag;$.minDate=Q.minimum?new Date(Q.minimum):null,$.maxDate=Q.maximum?new Date(Q.maximum):null});function CZ($){return BW(G6,$)}var VY=N("ZodArray",($,J)=>{K5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>lW($,Q,X,W),$.element=J.element,$.min=(Q,X)=>$.check(u0(Q,X)),$.nonempty=(Q)=>$.check(u0(1,Q)),$.max=(Q,X)=>$.check(h2(Q,X)),$.length=(Q,X)=>$.check(y2(Q,X)),$.unwrap=()=>$.element});function H6($,J){return GW(VY,$,J)}function TZ($){let J=$._zod.def.shape;return e8(Object.keys(J))}var Z6=N("ZodObject",($,J)=>{B5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>pW($,Q,X,W),w.defineLazy($,"shape",()=>{return J.shape}),$.keyof=()=>e8(Object.keys($._zod.def.shape)),$.catchall=(Q)=>$.clone({...$._zod.def,catchall:Q}),$.passthrough=()=>$.clone({...$._zod.def,catchall:g2()}),$.loose=()=>$.clone({...$._zod.def,catchall:g2()}),$.strict=()=>$.clone({...$._zod.def,catchall:a8()}),$.strip=()=>$.clone({...$._zod.def,catchall:void 0}),$.extend=(Q)=>{return w.extend($,Q)},$.safeExtend=(Q)=>{return w.safeExtend($,Q)},$.merge=(Q)=>w.merge($,Q),$.pick=(Q)=>w.pick($,Q),$.omit=(Q)=>w.omit($,Q),$.partial=(...Q)=>w.partial(JJ,$,Q[0]),$.required=(...Q)=>w.required(QJ,$,Q[0])});function wZ($,J){let Q={type:"object",shape:$??{},...w.normalizeParams(J)};return new Z6(Q)}function vZ($,J){return new Z6({type:"object",shape:$,catchall:a8(),...w.normalizeParams(J)})}function fZ($,J){return new Z6({type:"object",shape:$,catchall:g2(),...w.normalizeParams(J)})}var L6=N("ZodUnion",($,J)=>{i3.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>F8($,Q,X,W),$.options=J.options});function t8($,J){return new L6({type:"union",options:$,...w.normalizeParams(J)})}var _Y=N("ZodXor",($,J)=>{L6.init($,J),q5.init($,J),$._zod.processJSONSchema=(Q,X,W)=>F8($,Q,X,W),$.options=J.options});function kZ($,J){return new _Y({type:"union",options:$,inclusive:!1,...w.normalizeParams(J)})}var DY=N("ZodDiscriminatedUnion",($,J)=>{L6.init($,J),U5.init($,J)});function hZ($,J,Q){return new DY({type:"union",options:J,discriminator:$,...w.normalizeParams(Q)})}var zY=N("ZodIntersection",($,J)=>{G5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>cW($,Q,X,W)});function IY($,J){return new zY({type:"intersection",left:$,right:J})}var jY=N("ZodTuple",($,J)=>{x$.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>dW($,Q,X,W),$.rest=(Q)=>$.clone({...$._zod.def,rest:Q})});function RY($,J,Q){let X=J instanceof v,W=X?Q:J;return new jY({type:"tuple",items:$,rest:X?J:null,...w.normalizeParams(W)})}var O6=N("ZodRecord",($,J)=>{H5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>rW($,Q,X,W),$.keyType=J.keyType,$.valueType=J.valueType});function PY($,J,Q){return new O6({type:"record",keyType:$,valueType:J,...w.normalizeParams(Q)})}function yZ($,J,Q){let X=N1($);return X._zod.values=void 0,new O6({type:"record",keyType:X,valueType:J,...w.normalizeParams(Q)})}function gZ($,J,Q){return new O6({type:"record",keyType:$,valueType:J,mode:"loose",...w.normalizeParams(Q)})}var bY=N("ZodMap",($,J)=>{Z5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>uW($,Q,X,W),$.keyType=J.keyType,$.valueType=J.valueType,$.min=(...Q)=>$.check(I0(...Q)),$.nonempty=(Q)=>$.check(I0(1,Q)),$.max=(...Q)=>$.check(K2(...Q)),$.size=(...Q)=>$.check(k2(...Q))});function xZ($,J,Q){return new bY({type:"map",keyType:$,valueType:J,...w.normalizeParams(Q)})}var AY=N("ZodSet",($,J)=>{L5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>mW($,Q,X,W),$.min=(...Q)=>$.check(I0(...Q)),$.nonempty=(Q)=>$.check(I0(1,Q)),$.max=(...Q)=>$.check(K2(...Q)),$.size=(...Q)=>$.check(k2(...Q))});function uZ($,J){return new AY({type:"set",valueType:$,...w.normalizeParams(J)})}var u4=N("ZodEnum",($,J)=>{O5.init($,J),y.init($,J),$._zod.processJSONSchema=(X,W,Y)=>TW($,X,W,Y),$.enum=J.entries,$.options=Object.values(J.entries);let Q=new Set(Object.keys(J.entries));$.extract=(X,W)=>{let Y={};for(let K of X)if(Q.has(K))Y[K]=J.entries[K];else throw Error(`Key ${K} not found in enum`);return new u4({...J,checks:[],...w.normalizeParams(W),entries:Y})},$.exclude=(X,W)=>{let Y={...J.entries};for(let K of X)if(Q.has(K))delete Y[K];else throw Error(`Key ${K} not found in enum`);return new u4({...J,checks:[],...w.normalizeParams(W),entries:Y})}});function e8($,J){let Q=Array.isArray($)?Object.fromEntries($.map((X)=>[X,X])):$;return new u4({type:"enum",entries:Q,...w.normalizeParams(J)})}function mZ($,J){return new u4({type:"enum",entries:$,...w.normalizeParams(J)})}var EY=N("ZodLiteral",($,J)=>{M5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>wW($,Q,X,W),$.values=new Set(J.values),Object.defineProperty($,"value",{get(){if(J.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return J.values[0]}})});function lZ($,J){return new EY({type:"literal",values:Array.isArray($)?$:[$],...w.normalizeParams(J)})}var SY=N("ZodFile",($,J)=>{N5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>kW($,Q,X,W),$.min=(Q,X)=>$.check(I0(Q,X)),$.max=(Q,X)=>$.check(K2(Q,X)),$.mime=(Q,X)=>$.check(S4(Array.isArray(Q)?Q:[Q],X))});function pZ($){return HW(SY,$)}var CY=N("ZodTransform",($,J)=>{F5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>xW($,Q,X,W),$._zod.parse=(Q,X)=>{if(X.direction==="backward")throw new T2($.constructor.name);Q.addIssue=(Y)=>{if(typeof Y==="string")Q.issues.push(w.issue(Y,Q.value,J));else{let K=Y;if(K.fatal)K.continue=!1;K.code??(K.code="custom"),K.input??(K.input=Q.value),K.inst??(K.inst=$),Q.issues.push(w.issue(K))}};let W=J.transform(Q.value,Q);if(W instanceof Promise)return W.then((Y)=>{return Q.value=Y,Q});return Q.value=W,Q}});function $J($){return new CY({type:"transform",transform:$})}var JJ=N("ZodOptional",($,J)=>{u$.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>V8($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function K6($){return new JJ({type:"optional",innerType:$})}var TY=N("ZodExactOptional",($,J)=>{V5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>V8($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function wY($){return new TY({type:"optional",innerType:$})}var vY=N("ZodNullable",($,J)=>{_5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>iW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function B6($){return new vY({type:"nullable",innerType:$})}function cZ($){return K6(B6($))}var fY=N("ZodDefault",($,J)=>{D5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>nW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});function kY($,J){return new fY({type:"default",innerType:$,get defaultValue(){return typeof J==="function"?J():w.shallowClone(J)}})}var hY=N("ZodPrefault",($,J)=>{z5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>sW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function yY($,J){return new hY({type:"prefault",innerType:$,get defaultValue(){return typeof J==="function"?J():w.shallowClone(J)}})}var QJ=N("ZodNonOptional",($,J)=>{I5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>oW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function gY($,J){return new QJ({type:"nonoptional",innerType:$,...w.normalizeParams(J)})}var xY=N("ZodSuccess",($,J)=>{j5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>hW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function dZ($){return new xY({type:"success",innerType:$})}var uY=N("ZodCatch",($,J)=>{R5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>aW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});function mY($,J){return new uY({type:"catch",innerType:$,catchValue:typeof J==="function"?J:()=>J})}var lY=N("ZodNaN",($,J)=>{P5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>vW($,Q,X,W)});function rZ($){return UW(lY,$)}var XJ=N("ZodPipe",($,J)=>{b5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>tW($,Q,X,W),$.in=J.in,$.out=J.out});function q6($,J){return new XJ({type:"pipe",in:$,out:J})}var WJ=N("ZodCodec",($,J)=>{XJ.init($,J),o3.init($,J)});function iZ($,J,Q){return new WJ({type:"pipe",in:$,out:J,transform:Q.decode,reverseTransform:Q.encode})}var pY=N("ZodReadonly",($,J)=>{A5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>eW($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function cY($){return new pY({type:"readonly",innerType:$})}var dY=N("ZodTemplateLiteral",($,J)=>{E5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>fW($,Q,X,W)});function oZ($,J){return new dY({type:"template_literal",parts:$,...w.normalizeParams(J)})}var rY=N("ZodLazy",($,J)=>{T5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>JY($,Q,X,W),$.unwrap=()=>$._zod.def.getter()});function iY($){return new rY({type:"lazy",getter:$})}var oY=N("ZodPromise",($,J)=>{C5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>$Y($,Q,X,W),$.unwrap=()=>$._zod.def.innerType});function nZ($){return new oY({type:"promise",innerType:$})}var nY=N("ZodFunction",($,J)=>{S5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>gW($,Q,X,W)});function sZ($){return new nY({type:"function",input:Array.isArray($?.input)?RY($?.input):$?.input??H6(g2()),output:$?.output??g2()})}var M6=N("ZodCustom",($,J)=>{w5.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,X,W)=>yW($,Q,X,W)});function aZ($){let J=new o({check:"custom"});return J._zod.check=$,J}function tZ($,J){return ZW(M6,$??(()=>!0),J)}function sY($,J={}){return LW(M6,$,J)}function aY($){return OW($)}var eZ=MW,$L=NW;function JL($,J={}){let Q=new M6({type:"custom",check:"custom",fn:(X)=>X instanceof $,abort:!0,...w.normalizeParams(J)});return Q._zod.bag.Class=$,Q._zod.check=(X)=>{if(!(X.value instanceof $))X.issues.push({code:"invalid_type",expected:$.name,input:X.value,inst:Q,path:[...Q._zod.def.path??[]]})},Q}var QL=(...$)=>FW({Codec:WJ,Boolean:c4,String:m4},...$);function XL($){let J=iY(()=>{return t8([T8($),qY(),UY(),LY(),H6(J),PY(T8(),J)])});return J}function WL($,J){return q6($J($),J)}var YL={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 KL($){Y1({customError:$})}function BL(){return Y1().customError}var YJ;(function($){})(YJ||(YJ={}));var Kb=()=>{let $={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 J(W){return $[W]??null}let Q={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"},X={nan:"NaN"};return(W)=>{switch(W.code){case"invalid_type":{let Y=X[W.expected]??W.expected,K=A7(W.input),B=X[K]??K;return`Invalid input: expected ${Y}, received ${B}`}case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${M$(W.values[0])}`;return`Invalid option: expected one of ${Z$(W.values,"|")}`;case"too_big":{let Y=W.inclusive?"<=":"<",K=J(W.origin);if(K)return`Too big: expected ${W.origin??"value"} to have ${Y}${W.maximum.toString()} ${K.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${Y}${W.maximum.toString()}`}case"too_small":{let Y=W.inclusive?">=":">",K=J(W.origin);if(K)return`Too small: expected ${W.origin} to have ${Y}${W.minimum.toString()} ${K.unit}`;return`Too small: expected ${W.origin} to be ${Y}${W.minimum.toString()}`}case"invalid_format":{let Y=W;if(Y.format==="starts_with")return`Invalid string: must start with "${Y.prefix}"`;if(Y.format==="ends_with")return`Invalid string: must end with "${Y.suffix}"`;if(Y.format==="includes")return`Invalid string: must include "${Y.includes}"`;if(Y.format==="regex")return`Invalid string: must match pattern ${Y.pattern}`;return`Invalid ${Q[Y.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${Z$(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function tY(){return{localeError:Kb()}}var eY=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var KJ={};q2(KJ,{string:()=>Bb,number:()=>qb,date:()=>Hb,boolean:()=>Ub,bigint:()=>Gb});function Bb($){return k5(m4,$)}function qb($){return l5(p4,$)}function Ub($){return n5(c4,$)}function Gb($){return a5(d4,$)}function Hb($){return qW(G6,$)}Y1(tY());var Zb=BJ;var qL=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var N6=64,UL="Rule config exceeds CC Safety Net's safe source limit.";var Nh=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var JK=[{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"}],qJ={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},Lb=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],Ob=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],QK=[{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"]},...Ob.flatMap(($)=>Lb.map((J)=>({id:["secret.home",$.idSlug,J.slice(1)].join("."),category:"Home path",label:[$.label,J].join(""),description:["Blocks home ",$.label,J," credential backup files."].join(""),suffixParts:[...$.directoryParts,[$.basename,J].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 UJ=[{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"]}],GL=[{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"}],Mb=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],XK=GL.map(($)=>({id:`secret.variant.${$.slug}.separator`,category:"Variant",label:`${$.label}-* / ${$.label}_*`,description:`Blocks ${$.label} variants with dash or underscore suffixes.`,prefix:$.prefix})),WK=GL.flatMap(($)=>Mb.map((J)=>({id:`secret.variant.${$.slug}.${J.slice(1)}`,category:"Variant",label:`${$.label}${J}`,description:`Blocks ${$.label}${J} private credential variants.`,prefix:$.prefix,suffix:J}))),F6={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)$/},YK=["agilekeychain","asc","bek","cscfg","fve","gnucash","jks","keychain","kwallet","mdf","ovpn","p12","pcap","pem","pfx","pkcs12","psafe3","rdp","sdf","tblk","tpm"].map(($)=>({id:`secret.ext.${$}`,category:"Extension",label:`.${$}`,description:`Blocks files with the .${$} extension.`,extension:$})),KK=[{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?$/}],HL=[...JK,qJ,...QK,...XK,...WK,F6,...YK,...KK,...UJ].map(($)=>({id:$.id,category:$.category,label:$.label,...$.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in $?{paths:$.paths}:{description:$.description}})),ZL=new Set(UJ.flatMap(($)=>$.category==="Coding CLI config"?[$.id]:[])),Nb=HL.map(($)=>$.id),GJ=new Set(Nb);var Ch=Fb(import.meta.url),LL,Vb=Array(N6+1).fill("over-limit"),OL=/^[^/]+\/[^/]+$/,_b=/^sha256:[a-f0-9]{64}$/,HJ=`must be an integer between ${FJ} and ${VJ}`,Db=["version","rules","overrides","transparent_wrappers"],zb=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function ML($){if(!n1($)||!Array.isArray($.rules)||$.rules.length<=N6)return $;return{$schema:$.$schema,version:$.version,rules:Vb,overrides:$.overrides,transparent_wrappers:$.transparent_wrappers}}function Ib(){let $=$K,J=(_)=>{let R=$.superRefine(_);return R._zod.def.when=()=>!0,R},Q=$.enum(qL),X=$.union([$.literal("off"),$.looseObject({reason:$.string({error:"required non-empty string"}).min(1,"required non-empty string").max(s2,`must be at most ${s2} characters`).describe("Replacement block reason"),intent:Q.optional()})],{error:'must be "off" or an object'}).describe("Disable a rule or replace its block reason and intent."),W=$.string({error:"must be a rulebook source string"}).min(1,"must be a non-empty rulebook source string"),Y=$.string({error:"must be a command string"}).regex(N2,"must match command pattern").describe("Command name such as 'git', 'docker', or 'rtk'."),K=$.looseObject({$schema:$.unknown().optional().describe("JSON Schema reference for IDE support"),version:$.literal(1).describe("Schema version (must be 1)"),rules:$.array(W,{error:"must be an array of rulebook source strings"}).max(N6,UL).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:$.record($.string().meta({pattern:OL.source}),X).default({}).describe("Rule overrides by id"),transparent_wrappers:$.array(Y,{error:"must be an array of command strings"}).default([]).describe("Commands that transparently execute a visible protected child command")}),B=(_,R)=>{if(!n1(_))return;if(Array.isArray(_.rules)&&_.rules.length<=N6){let S=new Set;_.rules.forEach((T,g)=>{if(typeof T!=="string"||T==="")return;if(T.trim()===""){R.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",g]});return}let x=n4(T);if(x){R.addIssue({code:"custom",message:x,path:["rules",g]});return}if(S.has(T)){R.addIssue({code:"custom",message:`duplicate rulebook source "${T}"`,path:["rules",g]});return}S.add(T)})}if(n1(_.overrides))for(let S of Object.keys(_.overrides)){if(OL.test(S))continue;R.addIssue({code:"custom",message:"must use <rulebook-name>/<rule-name>",path:["overrides",S]})}if(!Array.isArray(_.transparent_wrappers))return;let b=new Set;_.transparent_wrappers.forEach((S,T)=>{if(typeof S!=="string"||!N2.test(S))return;if(b.has(S)){R.addIssue({code:"custom",message:`duplicate command "${S}"`,path:["transparent_wrappers",T]});return}if(DU(S)){R.addIssue({code:"custom",message:`reserved command "${S}" cannot be a wrapper`,path:["transparent_wrappers",T]});return}b.add(S)})},q=$.preprocess(ML,K.check($.superRefine(B))),U=$.preprocess(ML,K.check(J(B))),G=$.strictObject({fail_closed:$.boolean().optional(),paranoid_rm:$.boolean().optional(),paranoid_interpreters:$.boolean().optional()}),H=(_,R)=>$.intersection($.record($.string().refine((b)=>_.has(b),{error:(b)=>`unknown ${R} rule id "${String(b.input)}"`}),$.unknown()),$.record($.string(),$.enum(["on","off"]))),L=(_)=>$.array($.string({error:"must be a non-empty path string"}),{error:"must be an array of paths"}).check(J((R,b)=>{if(!Array.isArray(R))return;let S=L2();R.forEach((T,g)=>{if(typeof T!=="string")return;let x=_(T,S);if(x)b.addIssue({code:"custom",message:x,path:[g]})})})),Z=$.strictObject({version:$.literal(1),safety:$.strictObject({level:$.enum(["standard","strict","paranoid"]).optional(),overrides:G.optional()}).optional(),workflow:$.strictObject({worktree_mode:$.boolean().optional()}).optional(),destructive_command_protection:$.strictObject({enabled:$.boolean().optional(),overrides:H(s6,"destructive command").optional(),allow_paths:L(k9).optional()}).optional(),secret_protection:$.strictObject({enabled:$.boolean().optional(),overrides:H(GJ,"secret protection").optional(),deny_paths:L(h9).optional(),allow_paths:L(y9).optional()}).optional(),audit:$.strictObject({retention_days:$.number({error:HJ}).int(HJ).min(FJ,HJ).max(VJ,HJ).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),O=(_)=>{let R=(g,x)=>_==="legacy"?g:x,b=R("must match pattern (letters, numbers, hyphens, underscores)","must match command pattern"),S=`required non-empty string up to ${s2} characters`,T=$.looseObject({name:$.string({error:"required string"}).regex(K0,R("must match pattern (letters, numbers, hyphens, underscores; max 64 chars)","must match rule name pattern")),command:$.string({error:R("required string","required string matching command pattern")}).regex(N2,R(b,"required string matching command pattern")),subcommand:$.string({error:R("must be a string if provided","must match command pattern")}).regex(N2,b).optional(),block_args:$.array($.string({error:R("must be a string","must be a non-empty string")}).refine((g)=>g!=="",{error:R("must not be empty","must be a non-empty string")}),{error:R("required array","required non-empty array")}).refine((g)=>g.length>0,{error:R("must have at least one element","required non-empty array")}),reason:$.string({error:R("required string",S)}).refine((g)=>g!=="",{error:R("must not be empty",S)}).refine((g)=>g.length<=s2,{error:R(`must be at most ${s2} characters`,S)}),intent:Q.optional()},{error:"must be an object"});return $.array(T,{error:R("must be an array","required array")}).check(J((g,x)=>{if(!Array.isArray(g))return;let c=new Set;g.forEach((V1,C)=>{let m=n1(V1)?V1.name:void 0;if(typeof m!=="string")return;if(c.has(m.toLowerCase())){x.addIssue({code:"custom",message:`duplicate rule name "${m}"`,path:[C,"name"]});return}c.add(m.toLowerCase())})}))},M=$.looseObject({version:$.literal(1),rules:O("legacy").optional()}),V="required string matching rule name pattern",F=$.looseObject({command:$.string({error:"required non-empty string"}).refine((_)=>_.trim()!=="",{error:"required non-empty string"}),expect:$.enum(["blocked","allowed"]),rule:$.string({error:"must be a string if provided"}).optional()},{error:"must be an object"}).check(J((_,R)=>{if(!n1(_))return;if(_.expect!=="blocked"||typeof _.rule==="string")return;R.addIssue({code:"custom",message:"required string for blocked fixtures",path:["rule"]})})),P=$.looseObject({name:$.string({error:"required string matching rule name pattern"}).regex(K0,"required string matching rule name pattern"),version:$.string({error:"required non-empty string"}).refine((_)=>_!=="",{error:"required non-empty string"}),allowed_commands:$.array($.string({error:"must match command pattern"}).regex(N2,"must match command pattern"),{error:"required array"}).check(J((_,R)=>{if(!Array.isArray(_))return;let b=new Set;_.forEach((S,T)=>{if(typeof S!=="string"||!N2.test(S))return;if(b.has(S)){R.addIssue({code:"custom",message:`duplicate command "${S}"`,path:[T]});return}b.add(S)})})),rules:O("rulebook"),tests:$.array(F,{error:"must be an array if provided"}).optional()}).check(J((_,R)=>{if(!n1(_))return;let b=new Set(BK(_));if(Array.isArray(_.tests)){let T=new Set(_.tests.flatMap((g)=>n1(g)&&g.expect==="blocked"&&typeof g.rule==="string"?[g.rule]:[]));for(let g of T){if(b.has(g))continue;R.addIssue({code:"custom",message:`blocked fixture references unknown rule "${g}"`,path:["tests"]})}}if(!Array.isArray(_.allowed_commands)||!Array.isArray(_.rules))return;let S=new Set(_.allowed_commands.filter((T)=>typeof T==="string"));_.rules.forEach((T,g)=>{let x=n1(T)?T.command:void 0;if(typeof x!=="string"||S.has(x))return;R.addIssue({code:"custom",message:`"${x}" must be listed in allowed_commands`,path:["rules",g,"command"]})})})),I=$.string({error:"required string"}).refine((_)=>_.trim()!=="",{error:"required string"}),A=$.looseObject({spec:I,name:I,version:I,digest:$.string({error:"required sha256 digest"}).regex(_b,"required sha256 digest")},{error:"must be an object"}),E=$.looseObject({rulebooks:$.array($.intersection(A,$.discriminatedUnion("kind",[$.object({kind:$.literal("local-directory"),path:I}),$.object({kind:$.literal("github"),owner:I,repo:I,ref:I,commit:I,path:I,display_ref:$.unknown().optional()})],{error:(_)=>{if(!n1(_.input))return"must be an object";let R=_.input.kind;return typeof R==="string"?`unknown kind "${R}"`:"required string"}})))});return{RulesConfigSchema:q,RulesConfigDiagnosticSchema:U,RuleOverrideSchema:X,UserPolicySchema:Z,LegacyConfigSchema:M,RulebookSchema:P,RulesLockfileSchema:E}}function V6(){return LL??=Ib(),LL}function NL(){return V6().RulesConfigSchema}function jb(){return V6().UserPolicySchema}function FL(){return V6().RulebookSchema}function VL(){return V6().RulesLockfileSchema}function BK($){let J=n1($)?$.rules:void 0;return(Array.isArray(J)?J:[]).flatMap((Q)=>{let X=n1(Q)?Q.name:void 0;return typeof X==="string"?[X]:[]})}function _L($){let J=V6().RulesConfigDiagnosticSchema.safeParse($);if(J.success)return{errors:[],sources:new Set(J.data.rules)};return{errors:r4(IL(J.error.issues,Db)),sources:Ab($,J.error.issues)}}function DL($){let J=jb().safeParse($);if(J.success)return[];return r4(IL(J.error.issues,zb)," ")}function r4($,J=": ",Q=" "){return[...new Set($.flatMap((X)=>zL(X,J,Q,[])))]}function zL($,J,Q,X){let W=[...X,...$.path],Y=bb(W);if($.code==="unrecognized_keys")return $.keys.map((K)=>`${Y?`${Y}.`:""}unknown field "${K}"`);if($.code==="invalid_key")return $.issues.map((K)=>K.message);if($.code==="invalid_union"){let K=$.errors.flat().filter((B)=>B.path.length>0);if(K.length>0)return K.flatMap((B)=>zL(B,J,Q,W))}if(W.length===0)return[$.code==="invalid_type"?"Config must be an object":$.message];if(W.length===1&&($.code==="too_big"||$.code==="too_small")&&$.origin==="array")return[$.message];return[`${Y}${W.length===1?Q:J}${Rb($)}`]}function Rb($){if($.code==="invalid_value")return`must be ${Pb($.values)}`;if($.code!=="invalid_type"||!$.message.startsWith("Invalid input:"))return $.message;if($.expected==="object"||$.expected==="record")return"must be an object if provided";return $.expected==="boolean"?"must be a boolean":$.message}function Pb($){if($.length>3)return`one of ${$.join(", ")}`;let J=$.map((Q)=>typeof Q==="string"?`"${Q}"`:String(Q));if(J.length<2)return`${J[0]}`;return`${J.slice(0,-1).join(", ")}${J.length>2?",":""} or ${J.at(-1)}`}function bb($){return $.map((J,Q)=>{if(typeof J==="number")return`[${J}]`;return Q===0?String(J):`.${String(J)}`}).join("")}function IL($,J){let Q=$.map((Y)=>Y.path[1]),X=[...new Set(Q.filter((Y)=>typeof Y==="string"))],W=(Y,K)=>[Y.path.length===0?-1:J.indexOf(String(Y.path[0])),typeof K==="number"?K:X.indexOf(String(K)),Y.code==="custom"?0:1];return $.map((Y,K)=>({issue:Y,rank:W(Y,Q[K])})).sort((Y,K)=>Y.rank[0]-K.rank[0]||Y.rank[1]-K.rank[1]||Y.rank[2]-K.rank[2]).map((Y)=>Y.issue)}function Ab($,J){let Q=n1($)?$.rules:void 0;if(!Array.isArray(Q))return new Set;if(J.some((W)=>W.path.length===1&&W.path[0]==="rules"))return new Set;let X=new Set(J.filter((W)=>W.path[0]==="rules"&&typeof W.path[1]==="number").map((W)=>W.path[1]));return new Set(Q.filter((W,Y)=>typeof W==="string"&&!X.has(Y)))}function n1($){return!!$&&typeof $==="object"&&!Array.isArray($)}function Eb($){return _L($)}function qK($){try{let J=U2(Sb($));if(J===null)return{config:null,errors:[]};if(!J.trim())return{config:null,errors:["Config file is empty"]};let Q=JSON.parse(J),X=Eb(Q);if(X.errors.length>0)return{config:null,errors:X.errors};let W=NL().parse(Q);return{config:{version:1,rules:W.rules??[],overrides:W.overrides??{},transparent_wrappers:W.transparent_wrappers??[]},errors:[]}}catch(J){if(J instanceof K1)return{config:null,errors:[J.message]};let Q=J instanceof Error?J.message:String(J);return{config:null,errors:[J instanceof SyntaxError?"Invalid JSON":Q]}}}function Sb($){return typeof $==="string"?C6($):$}var fb=new Set(["standard","strict","paranoid"]),kb={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:b6}};function UK($){return vb(wb(G2($)),v6)}function bL($={}){let J=ub(UK($));return{safety:J.policy.safety,worktreeMode:J.policy.worktreeMode,destructiveCommandProtectionEnabled:J.policy.destructiveCommandProtectionEnabled,destructiveCommandRuleOverrides:{...J.policy.destructiveCommandRuleOverrides},destructiveCommandAllowPaths:[...J.policy.destructiveCommandAllowPaths],secretProtection:J.policy.secretProtection,errors:J.errors,...J.fallback?{fallback:J.fallback}:{}}}function jL($){if(!P0($))return xb();let J=P0($.safety)?$.safety:{},Q=P0(J.overrides)?J.overrides:{},X=P0($.workflow)?$.workflow:{},W=P0($.destructive_command_protection)?$.destructive_command_protection:{},Y=P0($.secret_protection)?$.secret_protection:{};return{version:1,safety:{level:fb.has(J.level)?J.level:"standard",overrides:{...typeof Q.fail_closed==="boolean"?{fail_closed:Q.fail_closed}:{},...typeof Q.paranoid_rm==="boolean"?{paranoid_rm:Q.paranoid_rm}:{},...typeof Q.paranoid_interpreters==="boolean"?{paranoid_interpreters:Q.paranoid_interpreters}:{}}},workflow:{worktree_mode:typeof X.worktree_mode==="boolean"?X.worktree_mode:!1},destructive_command_protection:{enabled:typeof W.enabled==="boolean"?W.enabled:!0,overrides:RL(W.overrides,s6),allow_paths:yb(W.allow_paths)},secret_protection:{enabled:typeof Y.enabled==="boolean"?Y.enabled:!0,overrides:RL(Y.overrides,GJ),deny_paths:hb(Y.deny_paths),allow_paths:gb(Y.allow_paths)},audit:{retention_days:A6(P0($.audit)?$.audit.retention_days:void 0)}}}function RL($,J){if(!P0($))return{};return Object.fromEntries(Object.entries($).flatMap(([Q,X])=>J.has(Q)&&(X==="on"||X==="off")?[[Q,X]]:[]))}function hb($){if(!Array.isArray($))return[];let J=L2();return $.filter((Q)=>h9(Q,J)===null)}function yb($){if(!Array.isArray($))return[];let J=L2();return $.filter((Q)=>k9(Q,J)===null)}function gb($){if(!Array.isArray($))return[];let J=L2();return $.filter((Q)=>y9(Q,J)===null)}function P0($){return!!$&&typeof $==="object"&&!Array.isArray($)}function xb(){return structuredClone(kb)}function ub($){let J=mb();if(!Cb($)){let Q=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!P0(Q))return{policy:J,errors:[]};return{policy:PL(jL(Q)),errors:[]}}try{let Q=Tb($,"utf-8");if(!Q.trim())return{policy:J,errors:[`${$}: Config file is empty`],fallback:"defaults"};let X=JSON.parse(Q),W=DL(X),Y=PL(jL(X));if(W.length>0)return{policy:Y,errors:W.map((K)=>`${$}: ${K}`),fallback:P0(X)?"salvaged":"defaults"};return{policy:Y,errors:[]}}catch(Q){let X=Q instanceof Error?Q.message:String(Q);return{policy:J,errors:[`${$}: ${Q instanceof SyntaxError?"Invalid JSON":X}`],fallback:"defaults"}}}function AL($){let J=Object.entries($),Q=new Set(J.flatMap(([X,W])=>W==="on"?[X]:[]));return new Set([...[...ZL].filter((X)=>!Q.has(X)),...J.flatMap(([X,W])=>W==="off"?[X]:[])])}function mb(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:AL({}),denyPaths:[],allowPaths:[]}}}function PL($){return{safety:lb($.safety),worktreeMode:$.workflow.worktree_mode,destructiveCommandProtectionEnabled:$.destructive_command_protection.enabled,destructiveCommandRuleOverrides:{...$.destructive_command_protection.overrides},destructiveCommandAllowPaths:[...$.destructive_command_protection.allow_paths],secretProtection:{enabled:$.secret_protection.enabled,disabledRules:AL($.secret_protection.overrides),denyPaths:[...$.secret_protection.deny_paths],allowPaths:[...$.secret_protection.allow_paths]}}}function lb($){return{level:$.level,overrides:{failClosed:$.overrides.fail_closed,paranoidRm:$.overrides.paranoid_rm,paranoidInterpreters:$.overrides.paranoid_interpreters}}}var TL="This path contains the protected policy config and you must not modify or delete it.",pb=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function wL($){let J=Z2(C0()),Q=nb($.invocation.context.executionCwd,J);if($.invocation.route.kind==="patch")return EL($.paths.map((W)=>W.raw),!1,$.invocation.context.executionCwd,Q,J);let X=v1($,"input-candidate");if($.invocation.route.kind==="command")return X?SL(X.shell,$.invocation.context.executionCwd,Q,J):null;if($.invocation.route.kind==="unknown"&&X){let W=SL(X.shell,$.invocation.context.executionCwd,Q,J);if(W)return W}return EL($.paths.map((W)=>W.raw),$.invocation.route.kind==="grep"||$.invocation.route.kind==="glob"||E9($.invocation.toolName),$.invocation.context.executionCwd,Q,J)}function EL($,J,Q,X,W){if(J)return null;let Y=$.find((K)=>_6(K,Q,X,W));return Y?{target:Y}:null}function SL($,J,Q,X){let W=C9($,J,X,{findSegmentTarget:(Y,K)=>cb(Y,K,Q,X)?.target??null,isRedirectionTarget:(Y,K)=>_6(Y,K.cwd,Q,X),findMalformedTarget:(Y)=>ob(Y,J,Q,X)?.target??null,normalizeCwd:M1});return W?{target:W}:null}function cb($,J,Q,X){if(M3($))return null;let W=X.environment,Y=c1([...$],W),K=l(Y[0]??"").toLowerCase(),B=Y.slice(1);if(K==="rm"&&db(B)){let q=rb(B).find((U)=>CL(k1(U,J.variables),J.cwd,Q,X));if(q)return{target:q}}if(K==="find"){if(c9(Y,1)||vQ(Y,W)){let U=(p9(p(Y))??p(["."])).find((G)=>{let H=k1(G.text,J.variables);return _6(H,J.cwd,Q,X)||CL(H,J.cwd,Q,X)})?.text;if(U)return{target:U}}}if(K==="mv"){let q=T9(B).sources.find((U)=>sb(k1(U,J.variables),J.cwd,Q,X));if(q)return{target:q}}if(ib($,W))return null;for(let q of $)for(let U of vL(q))if(_6(k1(U,J.variables),J.cwd,Q,X))return{target:U};return null}function db($){return $.some((J)=>J==="--recursive"||J.startsWith("-")&&!J.startsWith("--")&&/[rR]/.test(J.slice(1)))}function rb($){let J=$.indexOf("--");if(J!==-1)return[...$.slice(0,J).filter((Q)=>!Q.startsWith("-")),...$.slice(J+1)];return $.filter((Q)=>!Q.startsWith("-"))}function ib($,J){let Q=c1([...$],J);if(Q.length===0)return!1;let X=l(Q[0]??"").toLowerCase();if(!pb.has(X))return!1;if(X!=="sed")return!0;return!Q.slice(1).some((W)=>W.startsWith("-i")||W==="--in-place"||W.startsWith("--in-place="))}function ob($,J,Q,X){for(let W of $.split(/\s+/))for(let Y of vL(W))if(_6(Y,J,Q,X))return{target:Y};return null}function vL($){let J=$.trim().replace(/^['"]|['"]$/g,""),Q=J.indexOf("=");return Q===-1||Q===J.length-1?[J]:[J,J.slice(Q+1)]}function nb($,J){let Q=M1(UK(),$,J),X=GK(Q),W=new Set;for(let Y=X;;Y=GK(Y))if(W.add(i4(Y)),GK(Y)===Y)break;return{file:i4(Q),directory:i4(X),directoryAndAncestors:W}}function _6($,J,Q,X){return i4(M1($,J,X))===Q.file}function CL($,J,Q,X){return Q.directoryAndAncestors.has(i4(M1($,J,X)))}function sb($,J,Q,X){let W=i4(M1($,J,X));return W===Q.file||Q.directoryAndAncestors.has(W)}function i4($){return process.platform==="win32"?$.toLowerCase():$}import{homedir as ZK}from"os";import{isAbsolute as ZJ,posix as ab,resolve as OJ,win32 as tb}from"path";import{fileURLToPath as eb}from"url";var cL="Access to a sensitive path is not allowed.",dL=new Set(["echo","printf"]),$A=new Set(["find"]),JA=new Set(["-exec","-execdir"]),QA=new Set([";","+"]),XA=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),WA=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),YA=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),KA=new Set(["node","bun"]),BA=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),qA=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"]),rL=new Set(["-c","-e","-r","-E","--eval","--exec"]),UA=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),fL=new Set(["cc-safety-net","ccsn"]),GA=new Set(["bunx","npx","pnpx"]),HA=new Set(["bun","node"]),ZA=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"])]]),LA=new Set(["grep","rg"]),kL="f",hL="file",OA="files",MA=new Set(["e","f"]),NA=new Set(["regexp","file"]),FA=new Set(["e","f","A","B","C","m"]),VA=new Set(["regexp","file","after-context","before-context","context","max-count"]),_A=new Set(["|","|&"]),HK="__CC_SAFETY_NET_PIPE_INPUT__",iL=new Set(["bash","sh","zsh","dash","ksh"]),DA=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 yL($,J,Q,X,W){let Y=a4();for(let K of $){if(BE(K,J,Q?.denyPaths??[],X,Y))return{target:K,ruleId:"secret.deny-path"};if(W&&!W.has(K))continue;let B=YE(K,J,Q,Y);if(B){if(!B.startsWith("secret.cli.")&&qE(K,J,Q?.allowPaths??[],X,Y))continue;return{target:K,ruleId:B}}}return null}function oL($,J,Q={}){let X=gL($),W=yL(X,$.invocation.context.executionCwd,J,$.invocation.context.configCwd),Y=W?.ruleId!=="secret.deny-path"&&Q.strict===!1?gL($,{refineJavaScriptInlineData:!0}):X,K=Y.length===X.length?W:yL(X,$.invocation.context.executionCwd,J,$.invocation.context.configCwd,new Set(Y));if(K?.ruleId!=="secret.deny-path"&&Q.strict===!1&&zA($))return null;return K}function zA($){if($.invocation.route.kind!=="command")return!1;let J=v1($,"input-candidate")??v1($,"declared-command");if(!J)return!1;if(J.program.nodes.some((K)=>K.kind==="command"&&K.nested.length>0))return!1;let Q=[];for(let K of J.shell.entries){if(K.kind==="operator"&&K.boundary)return!1;if(K.kind==="redirection")return!1;if(K.kind!=="operator")Q.push(Z0(K.text))}let X=o4(Q);if(X.length===0)return!1;let W=m2(X[0]??"").toLowerCase(),Y=X.slice(1);if(W==="test")return Y.length===2&&(Y[0]==="-e"||Y[0]==="-f");if(W!=="find")return!1;return!Y.some((K)=>XA.has(K))}function gL($,J={}){if($.invocation.route.kind==="command"){let X=v1($,"input-candidate");return X?I6(X.shell,$.store,J):[]}if($.invocation.route.kind!=="unknown")return $.paths.map((X)=>X.raw);let Q=v1($,"input-candidate");return[...Q?I6(Q.shell,$.store,J):[],...$.paths.map((X)=>X.raw)]}function I6($,J,Q){if($.status==="structural-limit")throw new s0;if($.status==="unclosed-quote")return[];if($.status==="invalid")throw Error("Unable to parse command for secret protection");let X=[...$.assignmentFallbacks,...mA(Z0($.source),J,Q)],W=[],Y=null;for(let K of $.entries){if(K.kind==="operator"){if(!K.boundary)continue;if(W.length>0){if(X.push(...LJ(W,J,Q)),Y!==null)X.push(...uL(Y,W,J,Q));Y=_A.has(K.operator)?W:null,W=[]}else Y=null;continue}if(K.kind==="redirection"){let B=K.target?Z0(K.target):void 0;if(B&&K.targetOrder==="legacy-segment")W.push(B);else if(B)X.push(B);continue}W.push(Z0(K.text))}if(W.length>0){if(X.push(...LJ(W,J,Q)),Y!==null)X.push(...uL(Y,W,J,Q))}return X}function LJ($,J,Q){let X=TA($),W=o4($);if(W.length===0)return X;let Y=W[0]??"",K=m2(Y).toLowerCase(),B=W.slice(1),q=jA(Y,K,B);if(q)return[...X,...q];if(dL.has(K))return X;if(LA.has(K))return[...X,...nA(B)];if($A.has(K))return[...X,...wA(B,J,Q)];if(h1.has(K))return[...X,...B.flatMap((U)=>mL("awk",U)),...B.flatMap((U)=>fA(U,J,Q)),...B.flatMap(kA)];if(aL(K)){if(iL.has(K)){let U=iq(K,B);if(U!==null&&J.getShellSyntax(U).status==="structural-limit")throw new s0}return[...X,...vA(K,B,Q)]}return[...X,...B.flatMap((U)=>mL(K,U))]}function IA($,J){if(fL.has($))return J[0]==="explain"?0:null;if(GA.has($)){let Q=J[0]==="-y"||J[0]==="--yes"?1:0;return fL.has(J[Q]??"")&&J[Q+1]==="explain"?Q+1:null}if(HA.has($)){if(xL(J[0])&&J[1]==="explain")return 1;if($==="bun"&&J[0]==="run"&&xL(J[1])&&J[2]==="explain")return 2}return null}function jA($,J,Q){let X=IA(J,Q);if(X===null)return null;let W=[$,...Q.slice(0,X)],Y=Q.slice(X+1);for(let K=0;K<Y.length;K++){let B=Y[K];if(B==="--json"||B==="--help"||B==="-h")continue;if(B==="--cwd"){let q=Y[K+1];if(q&&!q.startsWith("--"))W.push(q);K++;continue}return W}return W}function xL($){let J=$?.replaceAll("\\","/");return[...UA].some((Q)=>J===Q||J?.endsWith(`/${Q}`))}function uL($,J,Q,X){if(EA(J,Q,X))return RA($);let W=SA(J);if(W===null)return[];return PA($).flatMap((Y)=>iL.has(W)?I6(Q.getShellSyntax(Y),Q,X):eL(Y))}function RA($){let J=o4($);if(J.length===0)return[];let Q=m2(J[0]??"").toLowerCase();if(!dL.has(Q))return[];return J.slice(1)}function PA($){let J=o4($);if(J.length===0)return[];let Q=m2(J[0]??"").toLowerCase(),X=J.slice(1);if(Q==="echo"){let W=X.findIndex((Y)=>!/^-[neE]+$/.test(Y));return[(W===-1?[]:X.slice(W)).join(" ")]}if(Q==="printf")return bA(X);return[]}function bA($){let J=$[0];if(J===void 0)return[];let Q=(J.match(/%%|%[bqs]/g)??[]).filter((W)=>W!=="%%").length;if(Q===0||$.length===1)return[nL(J)];let X=$.slice(1);return Array.from({length:Math.ceil(X.length/Q)},(W,Y)=>AA(J,X.slice(Y*Q,(Y+1)*Q)))}function AA($,J){let Q=0;return nL($.replace(/%%|%[bqs]/g,(X)=>{if(X==="%%")return"%";let W=J[Q]??"";return Q++,W}))}function nL($){return $.replace(/\\n/g,`
101
- `).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function EA($,J,Q){let X=o4($);if(X.length===0||m2(X[0]??"").toLowerCase()!=="xargs")return!1;let W=b2(X),Y=X.slice(W.childStart);if(Y.length===0)return!1;if(W.replacementToken==="")return!1;let K=W.replacementToken,B=K===null?[...Y,HK]:Y.map((q)=>q.split(K).join(HK));return LJ(B,J,Q).some((q)=>q.includes(HK))}function SA($){let J=o4($);if(J.length===0)return null;let Q=m2(J[0]??"").toLowerCase();if(!aL(Q))return null;return CA(Q,J.slice(1))?Q:null}function CA($,J){let Q=sL($);for(let X=0;X<J.length;X++){let W=J[X];if(W===void 0)break;if(rL.has(W)||tL($,W)||/^--(?:eval|exec)=/.test(W))return!1;if(W==="-")return!0;if(W.startsWith("-")){if(Q==="python"&&W==="-m")return!1;if(DA.get(Q)?.has(W))X++;continue}return!1}return!0}function sL($){return/^python\d/.test($)?"python":$}function TA($){let J=[];for(let Q of $){if(QO(Q))continue;let X=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(Q);if(X===null)break;if(X[1]!==void 0&&X[1]!=="")J.push(X[1])}return J}function mL($,J){if(J==="--")return[];let Q=[],X=J.indexOf("=");if(X>0&&X<J.length-1)Q.push(J.slice(X+1));if(J.startsWith("-"))return Q;if($==="tar"&&/\.(?:tar|tgz|tar\.gz|zip)$/i.test(J))return Q;if($==="zip"&&/\.zip$/i.test(J))return Q;return Q.push(J),Q}function wA($,J,Q){let X=$.findIndex((Y)=>Y.startsWith("-")||Y==="("||Y==="!"||Y===";"),W=[...$.slice(0,X===-1?$.length:X)];for(let Y=0;Y<$.length;Y++){if(!JA.has($[Y]??""))continue;let K=$.slice(Y+1),B=K.findIndex((G)=>QA.has(G)),q=B===-1?K:K.slice(0,B),U=LJ(q,J,Q);if(W.push(...U.filter((G)=>G!=="{}")),!U.includes("{}"))continue;W.push(...$.slice(0,Y).flatMap((G,H,L)=>{if(!WA.has(G))return[];let Z=L[H+1];return Z===void 0?[]:[Z,Z.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return W}function aL($){return YA.has($)||/^python\d/.test($)}function vA($,J,Q){let X=[];for(let W=0;W<J.length;W++){let Y=J[W];if(Y===void 0)break;if(rL.has(Y)||tL($,Y)){let B=J[W+1];if(B!==void 0)X.push(...lL($,B,Q)),W++;continue}let K=/^--(?:eval|exec)=(.*)$/.exec(Y);if(K!==null&&K[1]!==void 0){X.push(...lL($,K[1],Q));continue}if(!Y.startsWith("-"))X.push(Y)}return X}function tL($,J){if(!J.startsWith("-")||J.startsWith("--")||J.length<=2)return!1;return ZA.get(J[J.length-1]??"")?.has(sL($))??!1}function fA($,J,Q){if(!$.includes("system"))return[];return SQ($)?.commands.flatMap((X)=>I6(J.getShellSyntax(X),J,Q))??[]}function kA($){return Array.from($.matchAll(/\bgetline(?:\s+[A-Za-z_][A-Za-z0-9_]*)?\s*<\s*"((?:\\.|[^"\\])*)"/g)).map((J)=>J[1]).filter((J)=>J!==void 0&&J!=="")}function eL($){let J=Array.from($.matchAll(/(['"`])((?:\\.|(?!\1).)*)\1/g)).map((X)=>X[2]).filter((X)=>X!==void 0&&X!==""),Q=($.match(/[\w./~@+-]*[./~][\w./~@+-]*/g)??[]).filter((X)=>X!=="process.versions.sqlite"||J.some((W)=>W.includes(X)));return[...J,...J.flatMap($O),...Q]}function lL($,J,Q){let X=eL(J);if(!Q.refineJavaScriptInlineData||!KA.has($)||X.length===0)return X;let W=hA(J);return W!==null&&!gA(W)?[]:X}function hA($){let J=$.split("");for(let Q=0;Q<$.length;Q++){let X=$[Q];if(X!=="'"&&X!=='"'&&X!=="`")continue;if(X==="`"&&yA($,Q))return null;J[Q]=" ";let W=!1;for(let Y=Q+1;Y<$.length;Y++){let K=$[Y];if(J[Y]=" ",K==="\\"){if(Y++,Y<$.length)J[Y]=" ";continue}if(X==="`"&&K==="$"&&$[Y+1]==="{")return null;if(X!=="`"&&(K===`
102
- `||K==="\r"))return null;if(K!==X)continue;Q=Y,W=!0;break}if(!W)return null}return J.join("")}function yA($,J){for(let Q=J-1;Q>=0;Q--){let X=$[Q];if(!X||/\s/.test(X))continue;return/[\w$\])]/.test(X)}return!1}function gA($){for(let J of $.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let Q=J[0],X=J.index;if(BA.has(Q.toLowerCase()))return!0;let W=Q.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_$\s]+/).map((Y)=>Y.toLowerCase());if(!W.some((Y)=>qA.has(Y)))continue;if(W.length>1)return!0;if(xA($,X)===".")return!0;if(uA($,X+Q.length)==="(")return!0}return!1}function xA($,J){for(let Q=J-1;Q>=0;Q--)if(!/\s/.test($[Q]??""))return $[Q];return}function uA($,J){for(let Q=J;Q<$.length;Q++)if(!/\s/.test($[Q]??""))return $[Q];return}function mA($,J,Q){return rA($).flatMap((X)=>{let W=J.getShellSyntax(X);if(W.status==="invalid")return[];return[...I6(W,J,Q),...lA(W)?pA(W):[]]})}function lA($){let J=$.entries;for(let Q=0;Q<J.length;Q++){let X=J[Q];if(X?.kind!=="word"||m2(Z0(X.text)).toLowerCase()!=="base64")continue;for(let W=Q+1;W<J.length;W++){let Y=J[W];if(Y?.kind==="operator")break;if(Y?.kind!=="word")continue;let K=Z0(Y.text);if(K==="--decode"||!K.startsWith("--")&&K.startsWith("-")&&/[dD]/.test(K))return!0}}return!1}function pA($){return $.entries.flatMap((J)=>J.kind==="word"?[Z0(J.text)]:J.kind==="redirection"&&J.target?[Z0(J.target)]:[]).flatMap($O)}function $O($){let J=dA($);if(J===null)return[];let Q=Buffer.from(J,"base64").toString("utf8");if(Q===""||cA(Q))return[];return Buffer.from(Q,"utf8").toString("base64").replace(/=+$/g,"")===J.replace(/=+$/g,"")?[Q]:[]}function cA($){return Array.from($).some((J)=>{let Q=J.charCodeAt(0);return Q<32||Q===127})}function dA($){if($.length<8||!/^[A-Za-z0-9+/_-]+={0,2}$/.test($))return null;if(/=/.test($.replace(/=+$/g,"")))return null;let J=$.replace(/=+$/g,"");if(J.length%4===1)return null;return`${J.replace(/-/g,"+").replace(/_/g,"/")}${"=".repeat((4-J.length%4)%4)}`}function rA($){let J=[],Q={inSingle:!1,inDouble:!1,escaped:!1};for(let X=0;X<$.length;X++){let W=$[X];if(!W)break;if(H3(W,Q))continue;if(JO($,X,Q)){let Y=iA($,X+1);if(Y!==null)J.push(Y.body),X=Y.endIndex;continue}if(!Q.inSingle&&W==="`"){let Y=oA($,X);if(Y!==null)J.push(Y.body),X=Y.endIndex}}return J}function iA($,J){let Q={inSingle:!1,inDouble:!1,escaped:!1},X=1;for(let W=J+1;W<$.length;W++){let Y=$[W];if(!Y)break;if(H3(Y,Q))continue;if(JO($,W,Q)){X++,W++;continue}if(!Q.inSingle&&!Q.inDouble&&Y===")"){if(X--,X===0)return{body:$.slice(J+1,W),endIndex:W}}}return null}function oA($,J){let Q=!1;for(let X=J+1;X<$.length;X++){let W=$[X];if(!W)break;if(Q){Q=!1;continue}if(W==="\\"){Q=!0;continue}if(W==="`")return{body:$.slice(J+1,X),endIndex:X}}return null}function JO($,J,Q){return!Q.inSingle&&$[J]==="$"&&$[J+1]==="("&&$[J+2]!=="("}function nA($){let J=[],Q=[],X=!1,W=!1,Y=!1;for(let q=0;q<$.length;q++){let U=$[q];if(U===void 0)break;if(!Y&&U==="--"){Y=!0;continue}if(Y){Q.push(U);continue}let G=/^--([^=]+)(?:=(.*))?$/.exec(U);if(G!==null){let H=G[1]??"",L=G[2];if(H===OA)W=!0;if(NA.has(H))X=!0;if(L!==void 0){if(H===hL)J.push(L);continue}if(VA.has(H)){let Z=$[q+1];if(H===hL&&Z!==void 0)J.push(Z);q++}continue}if(U.startsWith("-")&&U.length>1){let H=U.slice(1),L="",Z="";for(let O=0;O<H.length;O++){let M=H[O]??"";if(MA.has(M))X=!0;if(FA.has(M)){L=M,Z=H.slice(O+1);break}}if(L!=="")if(Z.length>0){if(L===kL)J.push(Z)}else{let O=$[q+1];if(L===kL&&O!==void 0)J.push(O);q++}continue}Q.push(U)}let B=!X&&!W?Q.slice(1):Q;return[...J,...B]}function o4($){let J=$.findIndex((Q)=>!QO(Q)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(Q));return J===-1?[]:[...$.slice(J)]}function QO($){return $==="env"||$==="command"||$==="builtin"||$==="sudo"}var sA=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),aA=".env.",tA=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),eA=[".env.example.",".env.sample."];function $E($){let J;try{J=new URL($.trim())}catch{return!1}return J.protocol!=="file:"&&J.host!==""}function JE($){return $.length>0&&!/\s/.test($)}function QE($,J,Q){try{let X=j6($,J,Q);return X!==""&&m1.entryKind(X)!=="missing"}catch(X){if(X instanceof S1)throw X;return!1}}var XE=new Set(["node_modules","__pycache__"]),WE=[["vendor","bundle"],["vendor","cache"]];function YE($,J,Q,X){if($E($))return null;let W=l0($,J,X);if(!W)return null;let Y=Q1(W.split("/").pop()??""),K=Q1(W),B=()=>JE(Y)||QE($,J,X);if(tA.has(Y)||eA.some((H)=>Y.startsWith(H)))return null;let q=Q1(HE($,J,X));for(let H of QK){let L=`~/${H.suffixParts.join("/")}`;if((pL(K,L)||pL(q,L))&&m0(H.id,Q))return H.id}let U=KE(W,J,Q,X);if(U)return U;if(sA.has(Y))return null;for(let H of JK)if(Y===H.basename&&m0(H.id,Q))return H.id;if(Y.startsWith(aA)&&m0(qJ.id,Q)&&B())return qJ.id;for(let H of XK)if(Y.length>H.prefix.length&&Y.startsWith(H.prefix)){let L=Y.slice(H.prefix.length)[0];if((L==="-"||L==="_")&&m0(H.id,Q)&&B())return H.id}for(let H of WK)if(Y.length>H.prefix.length&&Y.startsWith(H.prefix)){if(Y.slice(H.prefix.length)===H.suffix&&m0(H.id,Q))return H.id}if(UE(K))return null;if(!Y.includes(".")&&F6.pattern.test(Y)&&m0(F6.id,Q))return F6.id;let G=GE(Y,Q);if(G)return G;return null}function KE($,J,Q,X){return UJ.find((W)=>{if(!m0(W.id,Q))return!1;switch(W.id){case"secret.cli.claude-code":return J1($,X1(process.env.CLAUDE_CONFIG_DIR,"~/.claude",J,X),[".credentials.json"]);case"secret.cli.claude-code.config":{let Y=Q1($).split("/");return J1($,X1(process.env.CLAUDE_CONFIG_DIR,"~/.claude",J,X),["settings.json","settings.local.json"])||z6($,"~/.claude.json",J,X)||Y.at(-1)==="settings.local.json"&&Y.at(-2)===".claude"||Y.at(-1)===".mcp.json"}case"secret.cli.antigravity":return J1($,l0("~/.gemini/config",J,X),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let Y=X1(process.env.CODEX_HOME,"~/.codex",J,X);return J1($,Y,["auth.json",".credentials.json"])||D6($,Y,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let Y=X1(process.env.CODEX_HOME,"~/.codex",J,X),K=Q1($).split("/").at(-1)??"";return J1($,Y,["config.toml"])||K.endsWith(".config.toml")&&J1($,Y,[K])}case"secret.cli.gemini":return J1($,F1(X1(process.env.GEMINI_CLI_HOME,"~",J,X),".gemini"),["oauth_creds.json","mcp-oauth-tokens.json","a2a-oauth-tokens.json","gemini-credentials.json"]);case"secret.cli.gemini.config":{let Y=Q1($).split("/"),K=process.env.ProgramData?[F1(X1(process.env.ProgramData,"",J,X),"gemini-cli")]:[];return J1($,F1(X1(process.env.GEMINI_CLI_HOME,"~",J,X),".gemini"),["settings.json","google_accounts.json"])||Y.at(-1)==="settings.json"&&Y.at(-2)===".gemini"||(process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH?.trim()?z6($,process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,J,X):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...K].some((B)=>J1($,l0(B,J,X),["settings.json"]))}case"secret.cli.copilot-cli":{let Y=X1(process.env.COPILOT_HOME,"~/.copilot",J,X);return J1($,Y,["config.json"])||D6($,Y,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return J1($,X1(process.env.COPILOT_HOME,"~/.copilot",J,X),["mcp-config.json"]);case"secret.cli.kimi-code":{let Y=X1(process.env.KIMI_CODE_HOME,"~/.kimi-code",J,X),K=X1(process.env.KIMI_SHARE_DIR,"~/.kimi",J,X);return J1($,Y,["server.token"])||D6($,Y,["credentials"])||D6($,K,["credentials","mcp-oauth"])}case"secret.cli.kimi-code.config":{let Y=["config.toml","mcp.json"],K=Q1($).split("/");return K.at(-1)==="mcp.json"&&K.at(-2)===".kimi-code"||J1($,X1(process.env.KIMI_CODE_HOME,"~/.kimi-code",J,X),Y)||J1($,X1(process.env.KIMI_SHARE_DIR,"~/.kimi",J,X),[...Y,"config.json","config.json.bak"])}case"secret.cli.opencode":{let Y=F1(X1(process.env.XDG_DATA_HOME,"~/.local/share",J,X),"opencode"),K=Q1($).split("/").at(-1)??"",B=process.env.OPENCODE_DB?.trim(),q=B&&B!==":memory:"?[B,`${B}-wal`,`${B}-shm`]:[];return J1($,Y,["auth.json","mcp-auth.json"])||/^opencode(-.+)?\.db(-wal|-shm)?$/.test(K)&&J1($,Y,[K])||q.some((U)=>z6($,U,J,X))}case"secret.cli.opencode.config":{let Y=process.env.OPENCODE_CONFIG_DIR?X1(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",J,X):F1(X1(process.env.XDG_CONFIG_HOME,"~/.config",J,X),"opencode"),K=process.env.ProgramData?[F1(X1(process.env.ProgramData,"",J,X),"opencode")]:[],B=["opencode.json","opencode.jsonc"];return B.includes(Q1($).split("/").at(-1)??"")||J1($,Y,B)||(process.env.OPENCODE_CONFIG?.trim()?z6($,process.env.OPENCODE_CONFIG,J,X):!1)||["/Library/Application Support/opencode","/etc/opencode",...K].some((q)=>J1($,l0(q,J,X),B))}case"secret.cli.pi":return J1($,X1(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",J,X),["auth.json"]);case"secret.cli.pi.config":return J1($,X1(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",J,X),["models.json"]);case"secret.cli.amp":{let Y=l0("~",J,X);return[F1(X1(process.env.XDG_DATA_HOME,"~/.local/share",J,X),"amp"),F1(Y,".local","share","amp")].some((B)=>J1($,B,["secrets.json"]))||D6($,F1(Y,".amp"),["oauth"])}case"secret.cli.amp.config":{let Y=["settings.json","settings.jsonc"],K=[F1(X1(process.env.XDG_CONFIG_HOME,"~/.config",J,X),"amp"),F1(l0("~",J,X),".config","amp")],B=Q1($).split("/");return K.some((q)=>J1($,q,Y))||B.at(-2)===".amp"&&Y.includes(B.at(-1)??"")||(process.env.AMP_SETTINGS_FILE?.trim()?z6($,process.env.AMP_SETTINGS_FILE,J,X):!1)}case"secret.cli.cursor":{let Y=F1(X1(process.env.XDG_CONFIG_HOME,"~/.config",J,X),"cursor"),K=F1(X1(process.env.CURSOR_DATA_DIR,"~/.cursor",J,X),"projects");return J1($,l0("~/.cursor",J,X),["auth.json"])||J1($,Y,["auth.json"])||Q1($).split("/").at(-1)==="mcp-auth.json"&&u2(Q1($),Q1(K))}case"secret.cli.cursor.config":{let Y=Q1($).split("/");return Y.at(-1)==="mcp.json"&&Y.at(-2)===".cursor"}default:return!1}})?.id??null}function X1($,J,Q,X){return l0($?.trim()?$:J,Q,X)}function J1($,J,Q){return Q.some((X)=>XO($,F1(J,X)))}function D6($,J,Q){return Q.some((X)=>u2(Q1($),Q1(F1(J,X))))}function z6($,J,Q,X){return XO($,l0(J,Q,X))}function XO($,J){return Q1($)===Q1(J)}function F1($,...J){return W0([$,...J].filter(Boolean).join("/"))}function BE($,J,Q,X,W){if(Q.length===0)return!1;let Y=Q1(j6($,J,W));return Q.some((K)=>u2(Y,Q1(j6(K,X,W))))}function qE($,J,Q,X,W){if(Q.length===0)return!1;let Y=Q1(j6($,J,W));if(!Y)return!1;let K=process.env.HOME??ZK(),B=K?W0(s(K,m1,W)):"",q=Q1(B),U=process.env.CC_SAFETY_NET_HOME,G=Q1(U?W0(s(OJ(U),m1,W)):B&&W0(s(`${B}/.cc-safety-net`,m1,W)));if(G&&u2(Y,G))return!1;return Q.some((H)=>{let L=Q1(j6(H,X,W));if(!L)return!1;if(q&&(q===L||q.startsWith(L.endsWith("/")?L:`${L}/`)))return!1;return u2(Y,L)})}function UE($){let J=$.split("/");return J.some((Q)=>XE.has(Q))||WE.some(([Q,X])=>J.some((W,Y)=>W===Q&&J[Y+1]===X))}function GE($,J){let Q=$.lastIndexOf("."),X=Q>0&&Q<$.length-1?$.slice(Q+1):"";if(X==="")return null;for(let W of YK)if(X===W.extension&&m0(W.id,J))return W.id;for(let W of KK)if(W.pattern.test(X)&&m0(W.id,J))return W.id;return null}function Q1($){return $.toLowerCase()}function m0($,J){if(!J?.disabledRules)return!0;if(Array.isArray(J.disabledRules))return!J.disabledRules.includes($);return!J.disabledRules.has($)}function l0($,J,Q){let{home:X,normalized:W}=LK($,Q);if(!W)return"";if(!X)return W;let Y=OK(W,X),K=ZJ(Y)?Y:W0(OJ(J,Y)),B=W0(s(K,m1,Q));if(!u2(B,X)){if(ZJ(Y))return B;return B===K?W:B}let q=B.slice(X.length);return q?`~${q}`:"~"}function pL($,J){return $===J||$.startsWith(`${J}/`)}function HE($,J,Q){let{home:X,normalized:W}=LK($,Q);if(!W||!X)return"";let Y=OK(W,X),K=ab.normalize(ZJ(Y)?Y:W0(OJ(J,Y))),B=W0(process.env.HOME??ZK()),q=(H)=>process.platform==="win32"?H.toLowerCase():H,U=[X,B].find((H)=>H!==""&&u2(q(K),q(H)));if(U===void 0)return"";let G=K.slice(U.length);return G?`~${G}`:"~"}function j6($,J,Q){let{home:X,normalized:W}=LK($,Q);if(!W)return"";let Y=X?OK(W,X):W;return W0(s(ZJ(Y)?Y:OJ(J,Y),m1,Q))}function LK($,J){let Q=process.env.HOME??ZK(),X=Q?W0(s(Q,m1,J)):"",W=W0(ZE(Z0($)));return{home:X,normalized:W}}function ZE($){if(!$.trim().toLowerCase().startsWith("file:"))return $;try{return eb($)}catch{return $}}function OK($,J){if($==="~")return J;if($.startsWith("~/"))return F1(J,$.slice(2));return $}function LE($){if(process.platform==="win32")return!0;return tb.parse($).root.length>1}function W0($){let J=$.trim(),Q=(LE(J)?J.replace(/\\/g,"/"):J).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(Q==="/")return Q;return Q.replace(/\/+$/g,"")}function u2($,J){return $===J||$.startsWith(J.endsWith("/")?J:`${J}/`)}function m2($){return $.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??$}import{dirname as MJ}from"path";var WO="Rulebook exceeds CC Safety Net's safe validation limits.",YO="Additional rulebook validation errors were omitted.",Y0=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function KO($){if(MK($.allowed_commands,Y0.maxAllowedCommands)||MK($.rules,Y0.maxRules)||MK($.tests,Y0.maxTests))return!1;let{maxAggregateStringCodeUnits:J,maxTotalBlockArgs:Q}=Y0,X=(W,Y=!1)=>{if(typeof W!=="string")return!0;if(W.length>Y0.maxStringCodeUnits||Y&&W.length>Y0.maxFixtureCommandCodeUnits||W.length>J)return!1;return J-=W.length,!0};if(!X($.name)||!X($.version)||!X($.description)||!X($.author)||!X($.migrated_from))return!1;if(Array.isArray($.allowed_commands)){for(let W of $.allowed_commands)if(!X(W))return!1}if(Array.isArray($.rules))for(let W of $.rules){if(!W||typeof W!=="object")continue;let Y=W;if(!X(Y.name)||!X(Y.command)||!X(Y.subcommand)||!X(Y.reason)||!X(Y.intent))return!1;if(!Array.isArray(Y.block_args))continue;if(Y.block_args.length>Y0.maxBlockArgsPerRule||Y.block_args.length>Q)return!1;Q-=Y.block_args.length;for(let K of Y.block_args)if(!X(K))return!1}if(Array.isArray($.tests))for(let W of $.tests){if(!W||typeof W!=="object")continue;let Y=W;if(!X(Y.command,!0)||!X(Y.expect)||!X(Y.rule))return!1}return!0}function MK($,J){return Array.isArray($)&&$.length>J}function OE($){if(!ME($))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!KO($))return{errors:[WO],ruleNames:new Set};let J=FL().safeParse($),Q=[...$.rulebook_version===1?[]:["rulebook_version must be 1"],...J.success?[]:r4(J.error.issues,": ",": ")];return{errors:Q.length>Y0.maxValidationErrors?[...Q.slice(0,Y0.maxValidationErrors),YO]:Q,ruleNames:new Set(BK($).map((X)=>X.toLowerCase()))}}function NK($){let J=OE($);if(J.errors.length>0)throw Error(J.errors.join("; "));return $}function ME($){return!!$&&typeof $==="object"&&!Array.isArray($)}function FK($){if(w6($.spec))return VE($);return FE($)}function FE($){if(!K0.test($.spec))return`Local rulebook sources must be bare names matching ${K0}: ${$.spec}`;if($.kind!=="local-directory")return`lock entry for ${$.spec} must use local-directory kind`;if($.path===$.spec&&$.name===$.spec)return null;return`lock entry for ${$.spec} does not match local source identity`}function VE($){let J=n4($.spec);if(J)return J;let Q=T6($.spec);if($.kind!=="github")return`lock entry for ${$.spec} must use github kind`;if($.owner===Q.owner&&$.repo===Q.repo&&$.ref===Q.ref&&$.path===Q.path&&$.name===Q.name)return null;return`lock entry for ${$.spec} does not match GitHub source identity`}function BO($){let J=typeof $==="string"?$:$.path;try{let Q=U2(typeof $==="string"?C6($):$);if(Q===null)return{lock:null,errors:[]};let X=JSON.parse(Q);if(!X||typeof X!=="object")return{lock:null,errors:[`malformed lockfile ${J}: must be an object`]};let W=X;if(W.version!==1||!Array.isArray(W.rulebooks))return{lock:null,errors:[`malformed lockfile ${J}`]};let Y=VL().safeParse(W),K=W.rulebooks.flatMap((q,U)=>{let G=Y.success?[]:Y.error.issues.filter((L)=>L.path[1]===U);if(G.length>0)return r4(G).map((L)=>`${J}: ${L}`);let H=FK(q);return H?[`${J}: rulebooks[${U}]: ${H}`]:[]});if(!Y.success||K.length>0)return{lock:null,errors:[`malformed lockfile ${J}`,...K]};return{lock:{version:1,rulebooks:Y.data.rulebooks.map((q)=>{if(q.kind==="local-directory")return{spec:q.spec,kind:q.kind,path:q.path,name:q.name,version:q.version,digest:q.digest};let U={spec:q.spec,kind:q.kind,owner:q.owner,repo:q.repo,ref:q.ref,commit:q.commit,path:q.path,name:q.name,version:q.version,digest:q.digest};return typeof q.display_ref==="string"&&q.display_ref!==""?{...U,display_ref:q.display_ref}:U})},errors:[]}}catch(Q){if(Q instanceof K1)return{lock:null,errors:[Q.message]};return{lock:null,errors:["malformed lockfile"]}}}import{createHash as _E}from"crypto";var ty=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function qO($){return`sha256:${_E("sha256").update($).digest("hex")}`}function LO($={}){let J=kK($),Q=!1;try{Q=AK(J.userConfigTarget,J.projectConfigTarget)}catch(L){if(L instanceof K1)return jE(J,L.message);throw L}let X=qK(J.userConfigTarget),W=Q?{config:null,errors:[]}:qK(J.projectConfigTarget),Y=ZO(J.userConfigPath,X.errors),K=ZO(J.projectConfigPath,W.errors),B=new Set,q=X.config?UO(X.config,J.userLockPath,MJ(J.userConfigPath),$,"user",J.userScope,B):R6(),U=W.config?UO(W.config,J.projectLockPath,MJ(J.projectConfigPath),$,"project",J.projectScope,B):R6(),G=X.config?.overrides??{},H=W.config?.overrides??{};return{rules:[...GO(q.rules,G),...GO(U.rules,H)],transparent_wrappers:zE(X.config,W.config),rulebooks:[...q.rulebooks,...U.rulebooks],errors:[...Y,...K,...q.errors,...U.errors],warnings:[...q.warnings,...U.warnings,...q.canValidateOverrides?HO(G,q.knownRuleIds,J.userConfigPath):[],...q.canValidateOverrides?IE(H,q.knownRuleIds,J.projectConfigPath):[],...U.canValidateOverrides?HO(H,U.knownRuleIds,J.projectConfigPath):[]],userConfig:X.config??void 0,projectConfig:W.config??void 0,...J}}function UO($,J,Q,X,W,Y=p0(MJ(MJ(Q)),W==="user"?"user policy":"project policy"),K=new Set){let B;try{B=A0(Y,J)}catch(V){if(V instanceof K1)return{...R6(),errors:[V.message],canValidateOverrides:!1};throw V}let q=BO(B);if(q.errors.length>0)return{...R6(),errors:q.errors,canValidateOverrides:!1};let U=q.lock;if(!U&&$.rules.length>0)return{...R6(),errors:[`missing lockfile ${J}; run ${r0}`],canValidateOverrides:!1};let G=U?.rulebooks??[],H=new Map(G.map((V)=>[V.spec,V])),L=[],Z=[],O=$.rules.flatMap((V)=>{let F=H.get(V);if(!F)return L.push(`missing lock entry for ${V}; run ${r0}`),[];let P=DE(F,Q,X,Y);if(P.errors.length>0||!P.rulebook)return L.push(...P.errors),[];let I=P.rulebook;if(K.has(I.name))return Z.push(`duplicate active rulebook name "${I.name}" for ${V}; keeping the first and ignoring this one, so its rules are not active; rename one of them, then run ${r0}`),[];return K.add(I.name),[{rules:I.rules.map((A)=>({...A,name:`${I.name}/${A.name}`})),rulebook:{source:W,spec:F.spec,name:I.name,version:I.version,rules:I.rules.map((A)=>`${I.name}/${A.name}`)}}]}),M=O.flatMap((V)=>V.rules);return{rules:M,rulebooks:O.map((V)=>V.rulebook),entries:G,knownRuleIds:new Set(M.map((V)=>V.name)),errors:L,warnings:Z,canValidateOverrides:L.length===0}}function DE($,J,Q,X){let W=RJ($,PJ(J,Q)),Y;try{Y=U2(A0(X,W))}catch(B){if(B instanceof K1)return{rulebook:null,errors:[B.message]};throw B}if(Y===null)return{rulebook:null,errors:[`missing cache entry for ${$.spec}; run ${r0}`]};if(qO(Y)!==$.digest)return{rulebook:null,errors:[`cache digest mismatch for ${$.spec}; run ${r0}`]};let K;try{K=JSON.parse(Y)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${$.spec}`]}}try{NK(K)}catch(B){return{rulebook:null,errors:[`invalid cached rulebook for ${$.spec}: ${B instanceof Error?B.message:"invalid rulebook"}`]}}return{rulebook:K,errors:[]}}function zE($,J){return[...new Set([...$?.transparent_wrappers??[],...J?.transparent_wrappers??[]])]}function GO($,J){return $.flatMap((Q)=>{let X=J[Q.name];if(X==="off")return[];if(X&&typeof X==="object")return[{...Q,intent:X.intent??Q.intent,reason:X.reason}];return[Q]})}function HO($,J,Q){return Object.keys($).filter((X)=>!J.has(X)).map((X)=>`unknown override key "${X}" in ${Q}; only that override is ignored and other overrides and rules keep their configured state; correct or remove it in that file`)}function IE($,J,Q){return Object.keys($).filter((X)=>J.has(X)).map((X)=>`project override cannot target user-scoped rule "${X}" in ${Q}; only that override is ignored and the rule keeps its user-configured state; remove it from that file`)}function ZO($,J){return J.map((Q)=>Q.startsWith("Unable to access ")?Q:`${$}: ${Q}`)}function jE($,J){return{rules:[],transparent_wrappers:[],rulebooks:[],errors:[J],warnings:[],userConfigPath:$.userConfigPath,projectConfigPath:$.projectConfigPath,userLockPath:$.userLockPath,projectLockPath:$.projectLockPath}}function R6(){return{rules:[],rulebooks:[],entries:[],knownRuleIds:new Set,errors:[],warnings:[],canValidateOverrides:!0}}function OO($={}){let J=LO($),Q=bL($),X={rules:J.rules,transparentWrappers:J.transparent_wrappers,safety:SE(Q.safety),worktreeMode:Q.worktreeMode,destructiveCommandProtectionEnabled:Q.destructiveCommandProtectionEnabled,destructiveCommandRuleOverrides:{...Q.destructiveCommandRuleOverrides},destructiveCommandAllowPaths:[...Q.destructiveCommandAllowPaths],secretProtection:{enabled:Q.secretProtection.enabled??!0,disabledRules:[...Q.secretProtection.disabledRules??[]],denyPaths:[...Q.secretProtection.denyPaths],allowPaths:[...Q.secretProtection.allowPaths??[]]}},W={...J.userConfig?.overrides??{},...J.projectConfig?.overrides??{}},Y=Object.freeze(Object.fromEntries(X.rules.map((K)=>{let B=J.rulebooks.find((U)=>U.rules.includes(K.name)),q=W[K.name];return[K.name,Object.freeze({id:K.name,...B?{rulebook:Object.freeze({name:B.name,version:B.version}),...AE(B.spec)?{source:B.spec}:{}}:{},...q&&typeof q==="object"?{override:Object.freeze({type:"reason",reason:q.reason})}:{}})]})));return EE(X,RE(J,Q),Y)}function RE($,J){let Q=bE(J);if($.errors.length===0&&$.warnings.length===0&&!Q)return;return{diagnostics:[...$.errors,...$.warnings,...J.errors],reason:CE($.errors.length>0?PE($.errors):void 0,$.warnings.length>0?VK($.warnings.join("; ")):void 0,Q)}}function PE($){return`${VK($.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function bE($){if($.errors.length===0)return;let J=$.fallback==="salvaged"?"the salvaged policy with protective defaults":"built-in protective defaults";return`invalid policy config: ${$.errors.join("; ")}. Enforcing ${J}; the invalid values are not active. Fix the policy file manually`}function AE($){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test($)}function EE($,J,Q=Object.freeze({})){let X=MO(structuredClone($));if(!J)return Object.freeze({state:"ready",policy:X,diagnostics:Object.freeze([]),ruleMetadata:Q});return Object.freeze({state:"degraded",policy:X,diagnostics:Object.freeze([...J.diagnostics]),reason:J.reason,ruleMetadata:Q})}function SE($){let J=$.overrides,Q={...J?.failClosed!==void 0?{failClosed:J.failClosed}:{},...J?.paranoidRm!==void 0?{paranoidRm:J.paranoidRm}:{},...J?.paranoidInterpreters!==void 0?{paranoidInterpreters:J.paranoidInterpreters}:{}};return{...$.level!==void 0?{level:$.level}:{},...Object.keys(Q).length>0?{overrides:Q}:{}}}function MO($){if(typeof $!=="object"||$===null)return $;for(let J of Object.values($))MO(J);return Object.freeze($)}function CE(...$){return VK($.filter((J)=>!!J).join("; "))}function VK($){return/[.!?]$/.test($)?$:`${$}.`}class B2 extends Error{stage;evaluation;name="GuardEvaluationError";constructor($,J,Q){super(`CC Safety Net ${$} dependency failed`,{cause:Q});this.stage=$;this.evaluation=J}}var TE={findPolicyMutation:wL,findGitMetadataMutation:tq,resolveGitMetadata:_Q,loadPolicySnapshot:OO,findSensitiveTarget:oL,analyzeCommand:GH,getModes:M7};function NO($,J={}){let Q={...TE,...J.dependencies},X=fE($),W=P6($)?$.command:X,Y=l2("policy-protection",W,()=>S9($,J.factParserDependencies)),K=v1(Y,"declared-command");if(P6($)&&$.command?.trim()&&K?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:S0,intent:"stop_and_explain",evidence:[{kind:"command",command:$.command,segment:$.command}]}};if(v1(Y,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:aK,intent:"stop_and_explain",evidence:[]}};let B=l2("policy-protection",W,()=>Q.resolveGitMetadata($.context.executionCwd)),q=l2("policy-protection",W,()=>Q.findPolicyMutation(Y));if(q){let V=W??q.target;return{stage:"policy-protection",decision:{kind:"deny",reason:TL,intent:"hard_stop",evidence:[{kind:"command",command:V,segment:q.target},{kind:"path",target:q.target}]}}}let U=l2("policy-protection",W,()=>Q.findGitMetadataMutation(Y,B));if(U){let V=W??U.target;return{stage:"policy-protection",decision:{kind:"deny",reason:d1,intent:"hard_stop",evidence:[{kind:"command",command:V,segment:U.target},{kind:"path",target:U.target}]}}}let G=l2("config-load",W,()=>Q.loadPolicySnapshot({...J.policyOptions,cwd:$.context.configCwd})),H=G.policy,L=Q.getModes(H),Z={level:L.effectiveLevel,...wE(G)},O=H.secretProtection.enabled===!1?null:l2("secret-protection",W,()=>Q.findSensitiveTarget(Y,H.secretProtection,{strict:P6($)?L.strict:void 0}));if(O){let V=W??O.target;return{stage:"secret-protection",...Z,decision:{kind:"deny",reason:cL,intent:"hard_stop",ruleId:O.ruleId,evidence:[{kind:"command",command:V,segment:O.target},{kind:"path",target:O.target}]}}}if(!P6($))return{stage:"non-command",...Z,decision:{kind:"allow"}};if(!$.command||$.command.trim()==="")return{..._K("command-validation",W),...Z};let M=l2("command-analysis",W,()=>{return Q.analyzeCommand($.command,{cwd:$.context.executionCwd,shell:$.route.shell,policySnapshot:G,environment:C0(),protectedGitMetadata:B,effectiveCapabilities:L.capabilities,strict:L.strict,paranoidRm:L.paranoidRm,paranoidInterpreters:L.paranoidInterpreters,worktreeMode:L.worktreeMode},vE(Y),Y.store)});if(M)return{stage:"command-analysis",...Z,decision:M};return{stage:"command-analysis",...Z,decision:{kind:"allow"}}}function wE($){if($.state==="ready")return{};return{configFallback:{reason:$.reason}}}function vE($){return v1($,"declared-command")?.program}function fE($){try{return X4($.input)}catch(J){let Q=P6($)?$.command:void 0;throw new B2("policy-protection",_K("policy-protection",J instanceof f0?void 0:Q),J)}}function l2($,J,Q){try{return Q()}catch(X){throw new B2($,_K($,X instanceof f0?void 0:J),X)}}function _K($,J){return{stage:$,decision:{kind:"deny",reason:h6,intent:"stop_and_explain",evidence:J?[{kind:"command",command:J,segment:J}]:[]}}}function P6($){return $.route.kind==="command"}function VO($,J){try{let Q=NO($,J.guard);return FO($,Q,J),Q}catch(Q){if(!(Q instanceof B2))throw Q;throw FO($,Q.evaluation,J,!(Q.cause instanceof f0),{stage:Q.stage,errorCode:kE(Q.cause)}),Q}}function FO($,J,Q,X=!0,W){rK(dK($,J,Q.guard?.auditAllowed??!1,X,W),Q.audit.getSessionId,{agent:Q.audit.agent,shape:Q.audit.shape,homeDir:Q.audit.homeDir})}function kE($){if($ instanceof S1)return"path-canonicalization-limit";if($ instanceof f0)return"tool-input-limit";if($ instanceof s0)return"structural-shell-syntax-limit";return"unexpected-error"}var DO=yE();function yE($={}){return(J,Q)=>gE(J,Q,$)}function gE($,J,Q){let X=xE($,J),W=()=>lE($);if("malformed"in X)return iK(X.denial,W,{agent:"amp",toolName:X.denial.toolName,cwd:X.cwd}),zO(X.denial);try{let Y=VO(X,{guard:{auditAllowed:L7(),policyOptions:Q.policyOptions,dependencies:Q.guardDependencies},audit:{agent:"amp",getSessionId:W}});return _O(Y,Y.stage!=="config-state")}catch(Y){if(!(Y instanceof B2))throw Y;if(g0(q1.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${XB(Y.cause)}`);return _O(Y.evaluation,X.route.kind==="command")}}function xE($,J){if(!$||typeof $!=="object")return p2(null);let Q=$;if(typeof Q.tool!=="string"||Q.tool.trim()==="")return p2(null);if(!Q.input||typeof Q.input!=="object")return p2(null,Q.tool);let X=uE(J);if(!X)return p2(null,Q.tool);let W=mE(J,$);if(!W.ok)return p2(X,Q.tool);if(!W.command)return f3(Q.tool,Q.input,{kind:OQ(Q.tool)},{configCwd:X,executionCwd:X},null);if(typeof W.command.command!=="string"||W.command.command.trim()==="")return p2(X,Q.tool);let Y=typeof W.command.dir==="string"?k6(W.command.dir,[X]):X;if(!Y)return p2(X,Q.tool,W.command.command,W.command.dir);return f3(Q.tool,Q.input,{kind:"command",shell:"posix"},{configCwd:X,executionCwd:Y},W.command.command)}function uE($){let J=$.system.workspaceRoot;if(!J)return;try{let Q=$.helpers.filePathFromURI(J);if(typeof Q!=="string"||Q.trim()==="")return;return k6(".",[Q])}catch{return}}function mE($,J){try{return{ok:!0,command:$.helpers.shellCommandFromToolCall(J)}}catch{return{ok:!1}}}function lE($){if(!$||typeof $!=="object")return;let J=$.thread?.id;return typeof J==="string"&&J.trim()!==""?J:void 0}function p2($,J,Q,X){return{malformed:!0,denial:JB({command:Q,segment:X,toolName:J}),cwd:$}}function _O($,J){let Q=$B($,{includeEvidence:J});return Q?zO(Q):{action:"allow"}}function zO($){return{action:"reject-and-continue",message:QB($)}}function pE($){$.on("tool.call",(J)=>DO(J,$))}export{pE as default};