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.
- package/README.md +35 -96
- package/dist/amp/cc-safety-net/index.ts +102 -0
- package/dist/bin/cc-safety-net.js +124 -129
- package/dist/chunks/index-hwg5anw1.js +64 -0
- package/dist/index.js +1 -1
- package/dist/openclaw/cc-safety-net/index.js +51 -51
- package/dist/openclaw/cc-safety-net/openclaw.plugin.json +1 -1
- package/dist/openclaw/cc-safety-net/package.json +1 -1
- package/dist/pi/index.js +2 -2
- package/package.json +2 -3
- package/dist/amp/cc-safety-net.ts +0 -102
- package/dist/chunks/index-3a1zwkma.js +0 -64
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// cc-safety-net managed Amp plugin. Do not edit. Reinstall with: npx -y cc-safety-net install --amp
|
|
2
|
+
// version: 2.0.8
|
|
3
|
+
// @bun
|
|
4
|
+
var jM=Object.defineProperty;var RM=($)=>$;function PM($,J){this[$]=RM.bind(null,J)}var U2=($,J)=>{for(var Q in J)jM($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:PM.bind(J,Q)})};import{randomBytes as _O}from"crypto";import{appendFileSync as DO,mkdirSync as zO}from"fs";import{homedir as IO,userInfo as jO}from"os";import{isAbsolute as RO,join as CJ}from"path";var bM=[/\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 A0($){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 AM(J)}function AM($){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 bM)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 xK,readdirSync as KO,readFileSync as pK,rmdirSync as BO,statSync as uK,unlinkSync as qO,utimesSync as UO,writeFileSync as GO}from"fs";import{dirname as HO,join as r2}from"path";var b6=30,_J=1,DJ=365;function A6($){if(typeof $!=="number"||!Number.isInteger($))return 30;if($<1)return 1;return $>365?365:$}import{homedir as dM}from"os";import{dirname as p0,isAbsolute as rM,join as c0,relative as iM,resolve as S0,sep as oM}from"path";import{closeSync as EM,constants as PK,fstatSync as SM,fsyncSync as nE,lstatSync as bK,mkdirSync as sE,openSync as CM,readdirSync as aE,readFileSync as TM,realpathSync as E6,renameSync as tE,rmdirSync as eE,statSync as wM,unlinkSync as $S,writeFileSync as JS}from"fs";import{isAbsolute as AK,join as EK,normalize as vM,parse as fM,relative as zJ,resolve as IJ,sep as jJ}from"path";var kM=Symbol("PolicyFilesystemScope"),hM=Symbol("PolicyFilesystemTarget"),yM=PK.O_NOFOLLOW??0;class K1 extends Error{constructor($){super(`Unable to access ${$} filesystem safely.`);this.name="PolicyFilesystemError"}}function l0($,J){return{[kM]:!0,root:IJ($),label:J}}function SK($,J){let Q=vM(J);if(J===""||AK(J)||Q===".."||Q.startsWith(`..${jJ}`))throw new K1($.label);return{[hM]:!0,scope:$,relativePath:Q,path:EK($.root,Q)}}function E0($,J){let Q=zJ($.root,IJ(J));return SK($,Q)}function C6($,J="rules policy"){let Q=IJ($),W=fM(Q).dir;return SK(l0(W,J),zJ(W,Q))}function G2($){try{if(!S6($,!1).exists)return null;let Q=CM($.path,PK.O_RDONLY|yM);try{let W=SM(Q);if(!W.isFile())throw new K1($.scope.label);let X=TM(Q,"utf-8"),Y=bK($.path);if(!Y.isFile()||Y.isSymbolicLink()||W.dev!==Y.dev||W.ino!==Y.ino)throw new K1($.scope.label);return S6($,!1),X}finally{EM(Q)}}catch(J){uM($.scope.label,J)}}function CK($,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 W=gM($.scope);if(!W)return{exists:!1};let X=$.relativePath.split(jJ);for(let Y of X.keys()){let K=EK($.scope.root,...X.slice(0,Y+1)),B=TK(K);if(!B){if(Y===X.length-1&&J)return{exists:!1};return{exists:!1}}if(B.isSymbolicLink())throw new K1($.scope.label);if(Y<X.length-1&&!B.isDirectory())throw new K1($.scope.label);if(Y===X.length-1&&(Q==="file"?!B.isFile():!B.isDirectory()))throw new K1($.scope.label);xM(W,E6(K),$.scope.label)}return{exists:!0}}function gM($){if(!TK($.root))return null;if(!wM($.root).isDirectory())throw new K1($.label);return E6($.root)}function xM($,J,Q){let W=zJ($,J);if(W===".."||W.startsWith(`..${jJ}`)||AK(W))throw new K1(Q)}function TK($){try{return bK($)}catch(J){if(mM(J)&&J.code==="ENOENT")return null;throw J}}function uM($,J){if(J instanceof K1)throw J;throw new K1($)}function mM($){return $ instanceof Error&&"code"in $}var q0=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,RJ="rulebook.json",PJ=".cc-safety-net/rules";var wK=/^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)#(.+)$/;var lM=/^[A-Za-z0-9._-]+$/,pM=".cc-safety-net/rules".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),cM="rulebook.json".replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),vK=new RegExp(`^${pM}/(${q0.source.slice(1,-1)})/${cM}$`);function fK($){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 q0.test($)?null:`Local rulebook sources must be bare names matching ${q0}: ${$}`}function T6($){if($.startsWith("github:"))throw Error(`Invalid rulebook source: ${$}`);let J=$.match(wK);if(!J?.[1]||!J[2]||!J[3])throw Error(`Invalid GitHub rulebook source: ${$}`);let[Q,W,...X]=J[3].split("/");if(!Q||!lM.test(Q))throw Error(`GitHub rulebook refs must be a single path segment: ${$}`);if(!W||X.length>0||!q0.test(W))throw Error(`GitHub rulebook sources must be owner/repo#ref/<rulebook-name>: ${$}`);return{owner:J[1],repo:J[2],ref:Q,path:fK(W),name:W}}function w6($){return wK.test($)}var hK="rule.json",v6="policy.json",nM="rule.lock";var yK=".cc-safety-net",sM="rules",kK="cache",aM="CC_SAFETY_NET_HOME",d0="`cc-safety-net rule sync`";function tM($){return S0($??process.cwd(),PJ)}function eM($){return c0(tM($),hK)}function H2($){return $?.userConfigDir??($?.userConfigPath?p0($.userConfigPath):c0($O(),sM))}function $O(){let $=process.env[aM];return $?S0($):c0(dM(),yK)}function JO($){return c0(H2($),hK)}function s4($){return c0(p0($),nM)}function gK($){let J=$.userConfigPath??JO($),Q=$.projectConfigPath??eM($.cwd),W=QO(J,$),X=WO(Q,$);return{userConfigPath:J,projectConfigPath:Q,userLockPath:s4(J),projectLockPath:s4(Q),userScope:W,projectScope:X,userConfigTarget:E0(W,J),projectConfigTarget:E0(X,Q),userLockTarget:E0(W,s4(J)),projectLockTarget:E0(X,s4(Q))}}function QO($,J){let Q=J.userConfigPath?p0(p0(S0(J.userConfigPath))):p0(S0(J.userConfigDir??H2(J)));return l0(Q,"user policy")}function WO($,J){let Q=S0(J.cwd??process.cwd()),W=S0($),X=iM(Q,W);if(X!==".."&&!X.startsWith(`..${oM}`)&&!rM(X))return l0(Q,"project policy");return l0(p0(p0(W)),"project policy")}function bJ($,J){let Q=$.digest.startsWith("sha256:")?$.digest.slice(7):$.digest;return c0(YO(J),"rulebooks",`${XO($)}--${Q.slice(0,12)}`,RJ)}function AJ($,J){let Q=J;return{cacheConfigDir:$,cwd:J.cwd,global:Q.global}}function XO($){return($.kind==="github"&&$.display_ref?`${$.owner}/${$.repo}#${$.display_ref}/${$.name}`:$.spec).toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"rulebook"}function YO($){let J=$?.cacheConfigDir??H2($),Q=$;if(Q&&!Q.global&&Q.cwd&&S0(J)===S0(Q.cwd))return c0(S0(Q.cwd),yK,kK);return c0(p0(J),kK)}var SJ=86400000,ZO=".last-prune",LO=/^\d{4}-\d{2}$/,MO=/^((\d{4}-\d{2})-\d{2})-.+\.jsonl$/,mK=($)=>Math.floor($/SJ);function OO($){try{let J=r2(HO(H2($)),v6),Q=JSON.parse(pK(J,"utf-8"));return A6(Q?.audit?.retention_days)}catch{return b6}}function cK($,J=()=>new Date){try{let Q=J().getTime();if(!uK($,{throwIfNoEntry:!1})?.isDirectory())return;let W=r2($,ZO),X=uK(W,{throwIfNoEntry:!1})?.mtimeMs;if(X!==void 0&&mK(X)===mK(Q))return;let Y=Q-OO()*SJ,K=new Date(Q).toISOString().slice(0,7);for(let B of EJ($)){if(B.isDirectory()){NO(r2($,B.name),Y,K);continue}if(B.isFile()&&B.name.endsWith(".jsonl"))FO(r2($,B.name),Y)}GO(W,"",{mode:384}),UO(W,Q/1000,Q/1000)}catch{}}function NO($,J,Q){for(let W of EJ($)){if(!W.isDirectory()||!LO.test(W.name))continue;let X=r2($,W.name);for(let Y of EJ(X)){if(!Y.isFile())continue;let K=MO.exec(Y.name);if(!K||K[2]!==W.name)continue;let B=Date.parse(`${K[1]}T00:00:00.000Z`)+SJ;if(!Number.isFinite(B)||B>=J)continue;dK(r2(X,Y.name))}if(W.name!==Q)lK(X)}lK($)}function FO($,J){try{let Q=xK($);if(Q.mtimeMs>=J)return;let W=pK($,"utf-8").split(`
|
|
5
|
+
`).filter((X)=>X.trim()).map(VO);if(W.length===0)return;if(W.some((X)=>X===void 0||X>=J))return;if(xK($).mtimeMs!==Q.mtimeMs)return;dK($)}catch{}}function VO($){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 EJ($){try{return KO($,{withFileTypes:!0,encoding:"utf8"})}catch{return[]}}function dK($){try{qO($)}catch{}}function lK($){try{BO($)}catch{}}var PO="2.0.8",bO=1e4,AO=2000,EO=256,SO=32768;function CO($){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 TO($){return($??"").replace(/[^A-Za-z0-9]/g,"-").slice(0,180)||"no-cwd"}function TJ($,J,Q,W,X,Y={}){let K=CO($);if(!K)return;let B=Y.homeDir??rK();if(!B)return;let q=wO(B);if(!q)return;try{let U=(Y.now??(()=>new Date))().toISOString(),G=f6(A0(J),bO),H=f6(A0(Q),AO),L=Y.toolName?f6(A0(Y.toolName),EO):void 0,Z=X===null?void 0:f6(A0(X),SO),M=CJ(q,TO(Z?.value??null),U.slice(0,7));zO(M,{recursive:!0,mode:448});let O=CJ(M,`${U.slice(0,10)}-${K}.jsonl`),V={ts:U,id:(Y.createId??(()=>_O(8).toString("hex")))(),v:PO,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:W,ruleId:Y.ruleId,intent:Y.intent,failureStage:Y.failureStage,errorCode:Y.errorCode,cwd:Z?.value??null};DO(O,`${JSON.stringify(V)}
|
|
6
|
+
`,{encoding:"utf-8",mode:384}),cK(q,Y.now)}catch{}}function f6($,J){return{value:$.slice(0,J),truncated:$.length>J}}function rK($=process.env.CC_SAFETY_NET_AUDIT_HOME||process.env.HOME){let J=$||IO()||jO().homedir;return J&&RO(J)?J:null}function wO($=rK()){return $?CJ($,".cc-safety-net","logs"):null}function oK($,J,Q,W=!0,X){if(J.decision.kind==="allow"){if(!Q||$.route.kind!=="command")return;let B=iK($);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??(W?iK($):"");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:X?.stage,errorCode:X?.errorCode}}function iK($){return"command"in $?$.command??"":""}function nK($,J,Q){if(!$)return;let W;try{W=J()}catch{return}if(typeof W!=="string"||!W.trim())return;TJ(W,$.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 sK($,J,Q){let W;try{W=J()}catch{return}if(typeof W!=="string"||!W.trim())return;TJ(W,$.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 uO,statSync as mO}from"fs";import{isAbsolute as tK,relative as lO,resolve as pO,sep as cO}from"path";import{dirname as vO,isAbsolute as fO,parse as kO,sep as hO}from"path";function Z2($,J=process.platform){if(J!=="win32")return!1;return($[0]==="/"||$[0]==="\\")&&($[1]==="/"||$[1]==="\\")}function r0($,J,Q){if(Z2(J))throw Error("Unsupported Windows namespace path");let W=fO(J)?gO(J):"",X=W||$;for(let Y of xO(W?J.slice(W.length):J)){if(Y===""||Y===".")continue;if(Y===".."){X=vO(X);continue}let K=yO(X,Y),B=Q.entryKind(K),q=B==="symlink"?Q.realpath(K):K;if(B==="missing"||q===null)throw Error(`Cannot resolve path component: ${K}`);X=q}return X}function yO($,J){return $.endsWith("/")||$.endsWith("\\")?`${$}${J}`:`${$}${hO}${J}`}function gO($){return kO($).root}function xO($){let J=process.platform==="win32"?/[\\/]+/:/\/+/;return $.split(J)}function k6($,J){if(Z2($))return;let Q=J.flatMap((X)=>aK(X));if(!Q[0])return;let W=aK(tK($)?$:pO(Q[0],$))[0];if(!W)return;return Q.some((X)=>eK(W,X))?W:void 0}function aK($){try{let J=uO($);return mO(J).isDirectory()?[J]:[]}catch{return[]}}function eK($,J){let Q=lO(J,$);return Q===""||Q!==".."&&!Q.startsWith(`..${cO}`)&&!tK(Q)}var i0="Command could not be safely analyzed (strict mode). Simplify the command and retry, or ask the user to verify.",C0="Command exceeds maximum recursion depth and cannot be safely analyzed. Flatten the nesting and retry.",$B="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 QB($){let{reason:J,command:Q,segment:W,toolName:X}=$,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(X)B+=`
|
|
11
|
+
|
|
12
|
+
Tool: ${X}`;if(Q){let q=K(Q);B+=`
|
|
13
|
+
|
|
14
|
+
Command: ${JB(q,Y)}`}if(W&&W!==Q){let q=K(W);B+=`
|
|
15
|
+
|
|
16
|
+
Segment: ${JB(q,Y)}`}if($.configWarning)B+=`
|
|
17
|
+
|
|
18
|
+
Config warning: ${K($.configWarning)}`;return B+=`
|
|
19
|
+
|
|
20
|
+
${dO($.intent??"manual_only")}`,B}function dO($){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 JB($,J){return $.length>J?`${$.slice(0,J)}...`:$}function WB($,J){if($.decision.kind!=="deny")return;let Q=J.includeEvidence?$.decision.evidence.find((W)=>W.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 XB($={}){return{reason:h6,intent:"stop_and_explain",command:$.command,segment:$.segment??$.command,toolName:$.toolName}}function YB($){return QB({...$,redact:A0})}function KB($){return A0($ instanceof Error?$.message:String($))}import{basename as rO,dirname as iO,join as BB}from"path";var y6=Object.freeze({maxEnvironmentExpansionDepth:64,maxMissingSuffixComponents:256,maxRealpathAttempts:1024,maxProcessedCandidateBytes:4194304});class C1 extends Error{name="PathCanonicalizationLimitError";constructor(){super("Path canonicalization work limit exceeded.")}}function a4(){return{realpathAttempts:0,processedCandidateBytes:0,resolvedPaths:new Map}}function L2($){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 wJ($,0,J)}function wJ($,J,Q){let W="",X=0;while(X<$.length){if($[X]!=="$"){W+=$[X],X++;continue}if($[X+1]==="{"){let K=vJ($,X+2),B=oO($,X,J);if(B===null){if(g6.has(K))throw new C1;W+=$.slice(X);break}let q=$.slice(X,B+1);W+=nO(q,J,Q),X=B+1;continue}let Y=vJ($,X+1);if(!Y){W+="$",X++;continue}W+=fJ(Y,Q)??`$${Y}`,X+=Y.length+1}return W}function oO($,J,Q){let W=1;for(let X=J+2;X<$.length;X++){if($[X]==="\\"){X++;continue}if($[X]==="$"&&$[X+1]==="{"){if(W++,Q+W>y6.maxEnvironmentExpansionDepth)throw new C1;X++;continue}if($[X]!=="}")continue;if(W--,W===0)return X}return null}function nO($,J,Q){let W=$.slice(2,-1),X=vJ(W,0);if(!X)return $;let Y=W.slice(X.length);if(!Y)return fJ(X,Q)??$;let K=[":-",":+",":=",":?","-","+","=","?"].find((U)=>Y.startsWith(U));if(!K){if(g6.has(X))throw new C1;return $}if(!g6.has(X))return $;if(K.endsWith("="))throw new C1;let B=fJ(X,Q),q=K.startsWith(":")?B!==null&&B!=="":B!==null;if(K.endsWith("?")&&!q)throw new C1;if(K.endsWith("-")||K.endsWith("?"))return q?B??"":wJ(Y.slice(K.length),J+1,Q);return q?wJ(Y.slice(K.length),J+1,Q):""}function vJ($,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 a($,J,Q=a4()){if(!$)return $;let W=Q.resolvedPaths.get($);if(W!==void 0)return W;let X=[],Y=$;while(!0){if(Q.realpathAttempts++,Q.processedCandidateBytes+=Buffer.byteLength(Y),Q.realpathAttempts>y6.maxRealpathAttempts||Q.processedCandidateBytes>y6.maxProcessedCandidateBytes)throw new C1;let K=J.realpath(Y);if(K!==null){let q=X.length===0?K:BB(K,...X.reverse());return Q.resolvedPaths.set($,q),q}let B=iO(Y);if(B===Y){let q=X.length===0?Y:BB(Y,...X.reverse());return Q.resolvedPaths.set($,q),q}if(X.length>=y6.maxMissingSuffixComponents)throw new C1;X.push(rO(Y)),Y=B}}function fJ($,J){if(!g6.has($))return null;if($==="HOME")return J.env.get("HOME")??J.home;return J.env.get($)??null}function v($){return $.provenance==="command-substitution"?$.raw:$.text}function i2($,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 yJ,lstatSync as WN,readFileSync as c6,realpathSync as $3,statSync as e4}from"fs";import{dirname as gJ,isAbsolute as xJ,join as d6,resolve as r6}from"path";import{lstatSync as sO,realpathSync as aO}from"fs";import{homedir as tO,tmpdir as eO}from"os";var m1={realpath:($)=>{try{return aO($)}catch{return null}},entryKind:($)=>{let J=sO($,{throwIfNoEntry:!1});if(!J)return"missing";return J.isSymbolicLink()?"symlink":"present"}};function M2(){return process.env.HOME||tO()}function T0(){return{env:new Map(Object.entries(process.env).flatMap(([$,J])=>J===void 0?[]:[[$,J]])),home:M2(),tmpdir:eO(),paths:m1}}var kJ=["GIT_DIR","GIT_WORK_TREE","GIT_COMMON_DIR","GIT_INDEX_FILE"],$N=new Set(kJ);var qB=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"]),JN=/^([A-Za-z_][A-Za-z0-9_]*)\+=/;function QN($){return $N.has($)}function t4($){return $==="GIT_CONFIG_COUNT"||$==="GIT_CONFIG_PARAMETERS"||/^GIT_CONFIG_(KEY|VALUE)_\d+$/.test($)}function hJ($){return QN($)||qB.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 W=Number(Q);return Number.isSafeInteger(W)&&W<=1024?{state:"valid",count:W}:{state:"invalid"}}function p6($,J,Q){let X=$.match(JN)?.[1];if(!X||!hJ(X))return null;let Y=$.indexOf("=");return{name:X,value:`${l1(X,J,Q)??""}${$.slice(Y+1)}`}}function UB($){return HB($,m6)}function GB($){return HB($,qB)}function HB($,J){if(!$)return!1;for(let Q of $.keys())if(J.has(Q))return!0;return!1}var U0=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--super-prefix","--config-env"]);function MB($,J){return kJ.some((Q)=>J?.has(Q)||$.has(Q))}function OB($,J){if(!J)return{gitCwd:null,hasExplicitGitContext:!1};let Q;try{Q=$3(r6(J))}catch{return{gitCwd:null,hasExplicitGitContext:!1}}if(!VB(Q))return{gitCwd:null,hasExplicitGitContext:!1};let W=!1,X=1;while(X<$.length){let Y=$[X];if(!Y)break;if(Y==="--")break;if(!Y.startsWith("-"))break;if(Y==="-C"){let K=$[X+1];if(!K)return{gitCwd:null,hasExplicitGitContext:W};let B=LB(Q,K);if(!B)return{gitCwd:null,hasExplicitGitContext:W};Q=B,X+=2;continue}if(Y.startsWith("-C")&&Y.length>2){let K=LB(Q,Y.slice(2));if(!K)return{gitCwd:null,hasExplicitGitContext:W};Q=K,X++;continue}if(Y==="--git-dir"||Y==="--work-tree"){W=!0,X+=2;continue}if(Y.startsWith("--git-dir=")||Y.startsWith("--work-tree=")){W=!0,X++;continue}if(U0.has(Y))X+=2;else if(Y.startsWith("-c")&&Y.length>2)X++;else X++}return{gitCwd:Q,hasExplicitGitContext:W}}function NB($){let J=FN($);if(!J)return!1;try{let Q=WN(J);if(Q.isSymbolicLink()||!Q.isFile())return!1;let W=uJ(J);if(!W?.commonDir)return!1;if(!KN(W.gitDir,J))return!1;return BN(W.gitDir,gJ(J))}catch{return!1}}function uJ($){try{let J=XN($);if(!J)return null;let Q=$3(xJ(J)?J:r6(gJ($),J));if(!e4(Q).isDirectory())return null;return{gitDir:Q,commonDir:YN(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 YN($){try{let J=c6(d6($,"commondir"),"utf-8").split(/\r?\n/,1)[0]?.trim();if(!J)return null;let Q=$3(xJ(J)?J:r6($,J));return e4(Q).isDirectory()?Q:null}catch{return null}}function KN($,J){let Q=qN($);return Q===null?!1:FB($,Q,J)}function BN($,J){let Q=UN($);return Q===null?!0:FB($,Q,J)}function qN($){let J=d6($,"gitdir");if(!yJ(J))return null;let Q=c6(J,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";return Q===""?null:Q}function UN($){let J=d6($,"config.worktree");return yJ(J)?MN(J):null}function FB($,J,Q){return HN(GN($,J),Q)}function GN($,J){return xJ(J)?J:r6($,J)}function HN($,J){try{return ZN($,J)}catch{return!1}}function ZN($,J){try{let Q=e4($),W=e4(J);if(Q.ino!==0&&W.ino!==0&&Q.dev===W.dev&&Q.ino===W.ino)return!0}catch{}return ZB($)===ZB(J)}function ZB($){return LN($3.native($))}function LN($){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 MN($){let J=c6($,"utf-8"),Q=!1,W=null;for(let X of J.split(/\r?\n/)){let Y=X.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)W=ON(K[1]??"")}return W}function ON($){let J=$.trim();if(!J.startsWith('"')||!J.endsWith('"'))return J;return NN(J.slice(1,-1))}function NN($){let J="";for(let Q=0;Q<$.length;Q++){let W=$[Q];if(W!=="\\"){J+=W;continue}let X=$[Q+1];if(X===void 0){J+=W;continue}switch(X){case"\\":case'"':J+=X;break;case"n":J+=`
|
|
21
|
+
`;break;case"t":J+="\t";break;case"b":J+="\b";break;default:J+=`\\${X}`;break}Q++}return J}function LB($,J){try{let Q=r0($,J,m1);return VB(Q)?Q:null}catch{return null}}function VB($){try{return e4($).isDirectory()}catch{return!1}}function FN($){try{return J3($3($))}catch{return null}}function J3($){let J=$;while(!0){let Q=d6(J,".git");if(yJ(Q))return Q;let W=gJ(J);if(W===J)return null;J=W}}function mJ($,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 T1($,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 lJ($){return $===`
|
|
22
|
+
`||$==="\r"||$==="\u2028"||$==="\u2029"}function $1($,J,Q){if(J+Q.length>B1($))return!1;for(let W=0;W<Q.length;W++)if(j($,J+W)!==Q[W])return!1;return!0}function w0($,J,Q){return!O2(j($,J-1))&&$1($,J,Q)&&!O2(j($,J+Q.length))}function v0($,J){return O2(j($,J-1))!==O2(j($,J))}function L1($){return $===`
|
|
23
|
+
`||$===";"||$==="&"||$==="|"}function o2($){return $==="|"||$===";"}function i6($,J,Q){let W=mJ($,Q);if(J==="rm")return VN(W);if(J==="dd")return DN(W);return RB(W,!0)}function o6($,J,Q){let W=mJ($,Q);if(J==="rm")return zN(W);if(J==="reset-hard")return IB(W,"--ha","rd");if(J==="reset-merge")return IB(W,"--me","rge");if(J==="clean")return PN(W);if(J==="checkout")return AN(W);if(J==="push-force")return EN(W);if(J==="push-refspec")return SN(W);if(J==="push-delete")return CN(W);if(J==="branch")return TN(W);if(J==="tag")return fN(W);if(J==="restore")return kN(W);return RB(W,!1)}function VN($){let J=!1,Q=!1,W=!1,X=-1;for(let Y=0;Y<=B1($);Y++){let K=j($,Y);if(!J){let q=j($,Y+2);if(w0($,Y,"rm")&&e(q)&&q!==`
|
|
24
|
+
`)J=!0,Y++;continue}let B=_N($,Y);if(K===`
|
|
25
|
+
`||B!==-1){if(J=!1,Q=!1,W=!1,X=-1,B!==-1)Y=B-1;continue}if(K===";"||K==="&"||K==="|"||Y===B1($)){if(X>=0){let q=_B($,X,Y);Q||=q.recursive,W||=q.force}if(Q&&W)return!0;J=!1,Q=!1,W=!1,X=-1;continue}if(e(K)){if(X>=0){if($1($,X,"--")&&Y-X===2)J=!1,Q=!1,W=!1;else{let q=_B($,X,Y);if(Q||=q.recursive,W||=q.force,Q&&W)return!0}X=-1}continue}if(X<0)X=Y}return!1}function _N($,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 _B($,J,Q){if(DB($,J,Q,"recursive"))return{recursive:!0,force:!1};if(DB($,J,Q,"force"))return{recursive:!1,force:!0};if(j($,J)!=="-"||j($,J+1)==="-")return{recursive:!1,force:!1};let W=!1,X=!1;for(let Y=J+1;Y<Q;Y++){let K=j($,Y);W||=K==="r"||K==="R",X||=K==="f"||K==="F"}return{recursive:W,force:X}}function DB($,J,Q,W){let X=Q-J-2;if(X<1||X>W.length||!$1($,J,"--"))return!1;for(let Y=0;Y<X;Y++)if(j($,J+Y+2)!==W[Y])return!1;return!0}function DN($){let J=!1;for(let Q=0;Q<B1($);Q++){if(L1(j($,Q))){J=!1;continue}if(w0($,Q,"dd")){J=!0,Q++;continue}if(!J||!w0($,Q,"of")||!$1($,Q,"of=/dev/"))continue;let W=Q+8;if(W<B1($)&&!e(j($,W))&&j($,W)!=="'"&&j($,W)!=='"')return!0}return!1}function zN($){let J=!1,Q=!1,W=!1;for(let X=0;X<=B1($);){let Y=j($,X);if(X===B1($)||L1(Y)){J=!1,Q=!1,W=!1,X++;continue}let K=jN($,X);if(K>=0){if(IN($,K))return!0;let B=K,q=!1;while(e(j($,B)))q||=j($,B)===`
|
|
26
|
+
`,B++;if(q)Q=!1,W=!1;J=!0,X=B;continue}if(!J){X++;continue}if($1($,X,"--")&&(X===0||e(j($,X-1)))&&(!j($,X+2)||e(j($,X+2))||L1(j($,X+2)))){J=!1,Q=!1,W=!1,X+=2;continue}if(Q||=$1($,X,"--recursive")&&v0($,X+11)||pJ($,X,"recursive"),W||=$1($,X,"--force")&&v0($,X+7)||pJ($,X,"force"),Q&&W)return!0;X++}return!1}function pJ($,J,Q){if(!$1($,J,"--"))return!1;let W=0;while(W<=Q.length){let X=j($,J+W+2);if(!X||e(X)||L1(X))break;if(X!==Q[W])return!1;W++}return W>0&&v0($,J+W+2)}function IN($,J){let Q=J,W=!1,X=!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=zB($,Y,"recursive"),B=zB($,Y,"force");if(W&&B||X&&K)return!0;if(W||=K,X||=B,j($,Y+1)==="-")continue;let q=RN($,Y,Q);if(q.combined||W&&q.forceAtBoundary||X&&q.recursiveAtBoundary)return!0;W||=q.recursive,X||=q.force}return!1}function zB($,J,Q){return $1($,J,`--${Q}`)&&v0($,J+Q.length+2)||pJ($,J,Q)}function jN($,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 RN($,J,Q){let W=!1,X=!1,Y=!1,K=!1,B=!1;if(j($,J)!=="-")return{recursive:W,force:X,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")&&v0($,U+1);W||=G==="r",X||=G==="f",Y||=G==="r"&&H,K||=G==="f"&&H,B||=(q==="r"&&G==="f"||q==="f"&&G==="r")&&H,q=G}return{recursive:W,force:X,recursiveAtBoundary:Y,forceAtBoundary:K,combined:B}}function IB($,J,Q){return X3($,"reset",o2,!0,(W)=>j($,W)==="-"&&n2($,W,J,Q)?!0:W)}function PN($){return X3($,"clean",o2,!0,(J)=>{if(j($,J)!=="-")return J;if(n2($,J,"--fo","rce"))return!0;let Q=W3($,J,o2);for(let W=J+1;W<Q;W++)if(j($,W)==="f")return!0;return Q-1})}function n6($,J,Q){if(!w0($,J,"git"))return null;let W=J+3;if(!e(j($,W)))return{commandEnd:-1,next:W};while(e(j($,W)))W++;while(W<B1($)){if(L1(j($,W)))return{commandEnd:-1,next:W};let X=W3($,W,L1);if(w0($,W,Q))return{commandEnd:W+Q.length,next:X};if(j($,W)!=="-")return{commandEnd:-1,next:X};let Y=X-W===2&&$1($,W,"--"),K=bN($,W,X);W=X;while(e(j($,W)))W++;if(Y)return{commandEnd:w0($,W,Q)?W+Q.length:-1,next:W3($,W,L1)};if(!K)continue;if(W>=B1($)||L1(j($,W)))return{commandEnd:-1,next:W};W=W3($,W,L1);while(e(j($,W)))W++}return{commandEnd:-1,next:W}}function bN($,J,Q){for(let W of U0)if(Q-J===W.length&&$1($,J,W))return!0;return!1}function AN($){return jB($,{command:"checkout",longPrefix:"--fo",longOptional:"rce",shortFlag:"f",excludedShortStarts:"bBU"})}function EN($){return X3($,"push",o2,!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=PB($,J,"--fo","rce");if(Q>=0&&!$1($,Q,"-with-lease"))return!0;return J})}function SN($){return X3($,"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 CN($){return X3($,"push",L1,!1,(J)=>{if(j($,J)==="-"&&n2($,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 TN($){let J=!1,Q=!1,W=!1;for(let X=0;X<=B1($);X++){if(X===B1($)||L1(j($,X))){if(Q&&W)return!0;J=!1,Q=!1,W=!1;continue}if(!J){let B=n6($,X,"branch");if(B){J=B.commandEnd>=0,X=Math.max(X,(J?B.commandEnd:B.next)-1);continue}}if(!J||j($,X)!=="-")continue;let Y=W3($,X,L1),K=wN($,X,Y);if(Q||=K.deletion,W||=K.force,Q&&W)return!0;X=Y-1}return!1}function wN($,J,Q){let W=!1,X=!1;for(let Y=J;Y<Q;Y++){if(j($,Y)!=="-")continue;if(n2($,Y,"--de","lete"))W=!0;if(n2($,Y,"--fo","rce"))X=!0;if(j($,Y+1)==="-")continue;let K=Y+1,B=!1,q=!1,U=!1;while(K<Q&&vN(j($,K))){let G=j($,K);B||=G==="d"||G==="D",q||=G==="f",U||=G==="D",K++}if(!v0($,K))continue;W||=B,X||=q||U}return{deletion:W,force:X}}function vN($){if(!$)return!1;let J=$.charCodeAt(0);return J>=65&&J<=90||J>=97&&J<=122}function fN($){return jB($,{command:"tag",longPrefix:"--de",longOptional:"lete",shortFlag:"d",excludedShortStarts:""})}function jB($,J){let Q=[{outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:0,quote:"",escaped:!1}];for(let W=0;W<B1($);W++){let X=j($,W),Y=Q[Q.length-1];if(!Y)return!1;let K=Y.escaped;if(Y.escaped=!K&&Y.quote!=="'"&&X==="\\",!K&&X==="'"&&Y.quote!=='"')Y.quote=Y.quote==="'"?"":"'";if(!K&&X==='"'&&Y.quote!=="'")Y.quote=Y.quote==='"'?"":'"';if(X==="$"&&j($,W+1)==="("&&(Q.length===1||!K&&Y.quote!=="'")){Q.push({outerActive:!1,shortActive:!1,hasShortFlag:!1,depth:1,quote:"",escaped:!1}),W++;continue}if(!K&&!Y.quote&&Q.length>1&&X==="("){Y.depth++;continue}if(!K&&!Y.quote&&Q.length>1&&X===")"){if(Y.depth--,Y.depth===0)Q.pop();continue}if(e(X))Y.shortActive=!1,Y.hasShortFlag=!1;if(!Y.outerActive){let B=n6($,W,J.command);if(B){Y.outerActive=B.commandEnd>=0&&e(j($,B.commandEnd)),Y.shortActive=!1,Y.hasShortFlag=!1,W=Math.max(W,(Y.outerActive?B.commandEnd:B.next)-1);continue}}if(Y.outerActive&&X==="-"){if(n2($,W,J.longPrefix,J.longOptional))return!0;Y.shortActive||=!J.excludedShortStarts.includes(j($,W+1)??"")}if(Y.hasShortFlag||=Y.shortActive&&X===J.shortFlag,Y.hasShortFlag&&v0($,W+1))return!0;if(o2(X))Y.outerActive=!1}return!1}function X3($,J,Q,W,X){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&&(!W||e(j($,U.commandEnd))),K=Math.max(K,(Y?U.commandEnd:U.next)-1);continue}}if(Y){let U=X(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 kN($){let J=!1;for(let Q=0;Q<B1($);Q++){if(lJ(j($,Q))){if(J)return!0;J=!1;continue}if(!J){let W=n6($,Q,"restore");if(W){J=W.commandEnd>=0,Q=Math.max(Q,(J?W.commandEnd:W.next)-1);continue}}if(J&&j($,Q)==="-"&&j($,Q+1)==="-"&&($1($,Q+2,"staged")||$1($,Q+2,"help")))J=!1}return J}function RB($,J){let Q=!1;for(let W=0;W<B1($);W++){let X=j($,W),Y=J?lJ(X):L1(X);if(Q&&e(X)&&j($,W+1)==="-"&&w0($,W+2,"delete"))return!0;if(Y){Q=!1;continue}if(w0($,W,"find"))Q=!0,W+=3}return!1}function W3($,J,Q){let W=J;while(W<B1($)&&!e(j($,W))&&!Q(j($,W)))W++;return W}function PB($,J,Q,W){if(!$1($,J,Q))return-1;let X=J+Q.length;for(let Y=0;Y<W.length&&j($,X)===W[Y];Y++)X++;return v0($,X)?X:-1}function n2($,J,Q,W){return PB($,J,Q,W)>=0}var hN=["git.ssh-env","git.alias-config","git.checkout-force","git.checkout-double-dash","git.checkout-ref-path","git.checkout-pathspec-from-file","git.checkout-ambiguous","git.switch-discard-changes","git.switch-force","git.restore-worktree","git.restore-unstaged","git.reset-hard","git.reset-merge","git.clean-force","git.rm-force","git.push-force","git.push-delete","git.push-mirror","git.branch-force-delete","git.rebase-abort","git.merge-abort","git.tag-delete","git.reflog-delete","git.stash-drop","git.stash-clear","git.worktree-remove-force","rm.recursive-force-root-or-home","rm.git-metadata","rm.recursive-force-dynamic-target","rm.recursive-force-home-cwd","rm.recursive-force-cwd-self","rm.recursive-force-outside-cwd","rm.recursive-force-paranoid","powershell.remove-item-root-or-home","powershell.remove-item-recursive-force-root-or-home","powershell.remove-item-git-metadata","powershell.remove-item-recursive-force-dynamic-target","powershell.remove-item-recursive-force-home-cwd","powershell.remove-item-recursive-force-cwd-self","powershell.remove-item-recursive-force-outside-cwd","powershell.remove-item-recursive-force-paranoid","powershell.remove-item-pipeline-dynamic-target","find.delete","find.delete-git-metadata","find.exec-rm-recursive-force","dd.device-write","mkfs.device","shred.target","interpreter.dangerous-command","interpreter.one-liner-paranoid","awk.system-dynamic","xargs.rm-recursive-force-dynamic","xargs.shell-dynamic","parallel.rm-recursive-force-dynamic","parallel.shell-dynamic","parallel.command-stream-dynamic","shell.dynamic-structure","shell.dynamic-executable","raw-text.dangerous-command"],s6=new Set(hN),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.rm-force",category:"Git",label:"Git rm force",description:"Blocks forced removal of tracked files from the working tree.",example:"git rm -rf .",intent:"use_alternative"},{id:"git.push-force",category:"Git",label:"Git push force",description:"Blocks force pushes.",example:"git push --force origin main",intent:"use_alternative"},{id:"git.push-delete",category:"Git",label:"Git push delete",description:"Blocks remote ref deletion through push.",example:"git push --delete origin old-branch",intent:"manual_only"},{id:"git.push-mirror",category:"Git",label:"Git push mirror",description:"Blocks mirror pushes that can force-update or delete remote refs.",example:"git push --mirror origin",intent:"manual_only"},{id:"git.branch-force-delete",category:"Git",label:"Git branch force delete",description:"Blocks forced branch deletion.",example:"git branch -D old-branch",intent:"use_alternative"},{id:"git.rebase-abort",category:"Git",label:"Git rebase abort",description:"Blocks rebase abort operations.",example:"git rebase --abort",intent:"use_alternative"},{id:"git.merge-abort",category:"Git",label:"Git merge abort",description:"Blocks merge abort operations.",example:"git merge --abort",intent:"use_alternative"},{id:"git.tag-delete",category:"Git",label:"Git tag delete",description:"Blocks tag deletion.",example:"git tag --delete v1.0.0",intent:"manual_only"},{id:"git.reflog-delete",category:"Git",label:"Git reflog delete",description:"Blocks reflog deletion.",example:"git reflog delete HEAD@{1}",intent:"manual_only"},{id:"git.stash-drop",category:"Git",label:"Git stash drop",description:"Blocks dropping stash entries.",example:"git stash drop stash@{0}",intent:"use_alternative"},{id:"git.stash-clear",category:"Git",label:"Git stash clear",description:"Blocks clearing all stash entries.",example:"git stash clear",intent:"manual_only"},{id:"git.worktree-remove-force",category:"Git",label:"Git worktree force remove",description:"Blocks forced worktree removal.",example:"git worktree remove --force ../feature",intent:"use_alternative"},{id:"rm.recursive-force-root-or-home",category:"Filesystem",label:"rm -rf root or home",description:"Blocks recursive forced removal of root or home paths.",example:"rm -rf /",intent:"hard_stop",catastrophic:!0},{id:"rm.git-metadata",category:"Filesystem",label:"rm Git metadata",description:"Blocks removal of protected Git metadata and hooks.",example:"rm -rf .git",intent:"hard_stop",catastrophic:!0},{id:"rm.recursive-force-dynamic-target",category:"Filesystem",label:"rm -rf dynamic target",description:"Blocks recursive forced removal with dynamic targets in strict mode.",example:'rm -rf "$target"',intent:"scope_down",activationCapability:"fail_closed"},{id:"rm.recursive-force-home-cwd",category:"Filesystem",label:"rm -rf from home cwd",description:"Blocks recursive forced removal while working in home.",example:'cd "$HOME" && rm -rf build',intent:"scope_down"},{id:"rm.recursive-force-cwd-self",category:"Filesystem",label:"rm -rf current directory",description:"Blocks recursive forced removal of the current directory.",example:"rm -rf .",intent:"scope_down"},{id:"rm.recursive-force-outside-cwd",category:"Filesystem",label:"rm -rf outside cwd",description:"Blocks recursive forced removal outside the original cwd.",example:"rm -rf ../outside",intent:"scope_down"},{id:"rm.recursive-force-paranoid",category:"Filesystem",label:"rm -rf paranoid mode",description:"Blocks non-temp recursive forced removal when paranoid rm is enabled.",example:"rm -rf ./cache",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-root-or-home",category:"PowerShell",label:"Remove-Item root or home",description:"Blocks PowerShell Remove-Item targeting root or home paths.",example:"Remove-Item C:\\",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-root-or-home",category:"PowerShell",label:"Remove-Item recursive force root or home",description:"Blocks recursive forced PowerShell removal of root or home paths.",example:"Remove-Item C:\\ -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-git-metadata",category:"PowerShell",label:"Remove-Item Git metadata",description:"Blocks PowerShell removal of protected Git metadata and hooks.",example:"Remove-Item .git -Recurse -Force",intent:"hard_stop",catastrophic:!0},{id:"powershell.remove-item-recursive-force-dynamic-target",category:"PowerShell",label:"Remove-Item recursive force dynamic target",description:"Blocks recursive forced PowerShell removal with dynamic targets in strict mode.",example:"Remove-Item $target -Recurse -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"powershell.remove-item-recursive-force-home-cwd",category:"PowerShell",label:"Remove-Item recursive force from home cwd",description:"Blocks recursive forced PowerShell removal while working in home.",example:"Set-Location $HOME; Remove-Item ./build -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-cwd-self",category:"PowerShell",label:"Remove-Item recursive force current directory",description:"Blocks recursive forced PowerShell removal of the current directory.",example:"Remove-Item . -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-outside-cwd",category:"PowerShell",label:"Remove-Item recursive force outside cwd",description:"Blocks recursive forced PowerShell removal outside the original cwd.",example:"Remove-Item ../outside -Recurse -Force",intent:"scope_down"},{id:"powershell.remove-item-recursive-force-paranoid",category:"PowerShell",label:"Remove-Item recursive force paranoid mode",description:"Blocks non-temp recursive forced PowerShell removal when paranoid rm is enabled.",example:"Remove-Item ./cache -Recurse -Force",intent:"scope_down",activationCapability:"paranoid_rm"},{id:"powershell.remove-item-pipeline-dynamic-target",category:"PowerShell",label:"Remove-Item pipeline dynamic target",description:"Blocks PowerShell Remove-Item with unverifiable pipeline input in strict mode.",example:"Get-ChildItem . -Recurse | Remove-Item -Force",intent:"scope_down",activationCapability:"fail_closed"},{id:"find.delete",category:"Filesystem",label:"find delete",description:"Blocks unsafe find -delete operations.",example:"find . -delete",intent:"scope_down"},{id:"find.delete-git-metadata",category:"Filesystem",label:"find delete Git metadata",description:"Blocks find -delete operations selecting protected Git metadata and hooks.",example:"find .git -delete",intent:"hard_stop",catastrophic:!0},{id:"find.exec-rm-recursive-force",category:"Filesystem",label:"find exec rm -rf",description:"Blocks find -exec rm -rf operations.",example:"find . -exec rm -rf {} +",intent:"scope_down"},{id:"dd.device-write",category:"Filesystem",label:"dd device write",description:"Blocks dd writing to a /dev device.",example:"dd if=/dev/zero of=/dev/sda",intent:"manual_only"},{id:"mkfs.device",category:"Filesystem",label:"mkfs device format",description:"Blocks mkfs formatting a /dev device.",example:"mkfs.ext4 /dev/sda1",intent:"manual_only"},{id:"shred.target",category:"Filesystem",label:"shred target",description:"Blocks shred against any target, including shred --help and shred --version.",example:"shred -u secret.txt",intent:"use_alternative"},{id:"interpreter.dangerous-command",category:"Execution",label:"Interpreter dangerous command",description:"Blocks interpreter one-liners containing dangerous commands.",example:`python -c "import os; os.system('rm -rf /')"`,intent:"use_alternative"},{id:"interpreter.one-liner-paranoid",category:"Execution",label:"Interpreter one-liner paranoid mode",description:"Blocks interpreter one-liners when paranoid interpreters is enabled.",example:'python -c "print(1)"',intent:"use_alternative",activationCapability:"paranoid_interpreters"},{id:"awk.system-dynamic",category:"Execution",label:"Awk dynamic system call",description:"Blocks awk system calls that cannot be safely analyzed.",example:"awk '{ system($0) }'",intent:"stop_and_explain"},{id:"xargs.rm-recursive-force-dynamic",category:"Execution",label:"xargs dynamic rm -rf",description:"Blocks xargs rm -rf with dynamic input.",example:"printf / | xargs rm -rf",intent:"scope_down"},{id:"xargs.shell-dynamic",category:"Execution",label:"xargs dynamic shell",description:"Blocks xargs shell execution with dynamic input.",example:"xargs r$(printf m) -rf",intent:"scope_down"},{id:"parallel.rm-recursive-force-dynamic",category:"Execution",label:"parallel dynamic rm -rf",description:"Blocks parallel rm -rf with dynamic input.",example:"printf / | parallel rm -rf",intent:"scope_down"},{id:"parallel.shell-dynamic",category:"Execution",label:"parallel dynamic shell",description:"Blocks parallel shell execution with dynamic input.",example:"parallel r$(printf m) -rf ::: child",intent:"scope_down"},{id:"parallel.command-stream-dynamic",category:"Execution",label:"parallel dynamic command stream",description:"Blocks parallel command streams from dynamic input.",example:"parallel --dry-run",intent:"scope_down"},{id:"shell.dynamic-structure",category:"Execution",label:"Dynamic command structure",description:"Blocks guarded subcommands and options assembled from substitution output in strict mode.",example:"git reset $(printf --hard)",intent:"stop_and_explain",activationCapability:"fail_closed"},{id:"shell.dynamic-executable",category:"Execution",label:"Dynamic executable name",description:"Blocks executable names assembled from command substitution output in strict mode.",example:"$(printf r)m -rf /",intent:"manual_only",activationCapability:"fail_closed"},{id:"raw-text.dangerous-command",category:"Execution",label:"Raw text dangerous command",description:"Blocks dangerous commands detected in raw command text.",example:"git reset --hard 'unterminated",intent:"stop_and_explain"}],yN=new Map(a6.map(($)=>[$.id,$.intent])),bB=new Set(a6.filter(($)=>$.catastrophic).map(($)=>$.id));function D($,J){return{id:$,reason:J,intent:yN.get($)??"manual_only"}}function k($,J){if(!$)return null;if(bB.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 q1($,J,Q){if(bB.has(J))return!0;if($?.destructiveCommandProtectionEnabled===!1)return!1;let W=$?.effectiveDestructiveCommandRules?.[J];if(W)return W.enabled;let X=$?.destructiveCommandRuleOverrides[J];return X?X==="on":Q}function AB($,J){return Object.freeze(Object.fromEntries(a6.map((Q)=>{let W=Q.activationCapability?J[Q.activationCapability]:void 0,X=W?.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:X,changesInherited:Y==="on"!==X,source:"rule_override",...Q.activationCapability?{activationCapability:Q.activationCapability}:{},override:Y}:{enabled:X,inheritedEnabled:X,changesInherited:!1,source:W?.source??"built_in_default",...Q.activationCapability?{activationCapability:Q.activationCapability}:{}}:{enabled:!1,inheritedEnabled:X,changesInherited:!1,source:"master_disabled",...Q.activationCapability?{activationCapability:Q.activationCapability}:{},...Y?{override:Y}:{}};return[Q.id,Object.freeze(K)]})))}function EB($,J){return Object.freeze({...$,effectiveDestructiveCommandRules:AB($,J)})}function Y3($,J){Q3(J,$,2);let Q=$.toLowerCase(),W=Q.trimStart(),X=W.startsWith("echo ")||W.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&&X)continue;let B=K.caseSensitive?$:Q;if(K.regex)T1(J,B);if((K.regex?.test(B)??!1)||K.scan&&o6(B,K.scan,J))return D("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 gN=/^[A-Za-z_][A-Za-z0-9_]*=/;function CB($,J,Q){let W=$.words[0];if(!J||!W||$.words.length!==1||$.dialect!=="posix")return!1;if(!W.quoted||W.provenance!=="literal")return!1;let X=/^([A-Za-z_][A-Za-z0-9_]*)=/.exec(W.text)?.[1];if(!X)return!1;Q3(Q,J.source,2);let Y={anchored:new RegExp(`^\\$\\{?${X}(?![A-Za-z0-9_])`),loose:new RegExp(`\\$\\{?${X}(?![A-Za-z0-9_])`)};return TB(J.nodes,W,Y)}function TB($,J,Q){return $.every((W)=>{if(W.kind==="connector")return!0;if(W.kind==="group"||W.kind==="function")return TB(W.body.nodes,J,Q);if(W.kind==="unknown")return!Q.loose.test(W.source);return xN(W,J,Q)})}function xN($,J,Q){if($.nested.some((X)=>Q.loose.test(X.source)))return!1;let W=$.words.findIndex((X)=>!gN.test(X.text));return $.words.every((X,Y)=>X===J||SB(X.raw,Q.anchored,Y!==W))&&$.redirections.every((X)=>(!X.heredoc||X.heredoc.quotedDelimiter||!Q.loose.test(X.heredoc.body))&&(!X.target||SB(X.target.raw,Q.anchored,!0)))}function SB($,J,Q){let W=!1,X=!1;for(let Y=0;Y<$.length;Y++){let K=$[Y];if(K==="\\"&&!W){Y++;continue}if(!X&&K==="'"){W=!W;continue}if(!W&&K==='"'){X=!X;continue}if(W||K!=="$")continue;if(!J.test($.slice(Y)))continue;if(!X||!Q)return!1}return!0}var wB=Object.freeze({maxDerivedTokens:16384}),vB="Command analysis exceeds CC Safety Net's derived-command work limit. Reduce nested or embedded command complexity and retry.",fB="env -S split-string expansion exceeds the 16,384-token analysis limit and cannot be verified safely. 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 N2 extends Error{constructor(){super("env -S split-string expansion exceeds the 16,384-token analysis limit and cannot be verified safely. Expand the command explicitly.");this.name="EnvSplitStringExpansionError"}}function t6(){return{derivedTokens:0}}function G0($,J){if(!Number.isSafeInteger($.derivedTokens)||$.derivedTokens<0||$.derivedTokens>wB.maxDerivedTokens||!Number.isSafeInteger(J)||J<0||J>wB.maxDerivedTokens-$.derivedTokens)throw new p1;$.derivedTokens+=J}import{isAbsolute as uN,resolve as kB}from"path";var hB=64;function K3($,J,Q){let W=uN($)?kB($):J?kB(J,$):void 0;if(!W)return;try{return a(W,Q)}catch{return W}}function yB($){return!["/dev","/proc","/sys"].some((J)=>$===J||$.startsWith(`${J}/`))}function r($){return l($).toLowerCase()}function l($){return $.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??$}var e6=10,s2=20,F2=/^[a-zA-Z][a-zA-Z0-9_-]*$/,a2=256,U1=new Set(["bash","sh","zsh","ksh","dash","fish","csh","tcsh"]),gB=new Set(["python","python3","python2","node","ruby","perl"]),xB=/^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 V2="Interpreter code contains a dangerous command. Run the underlying command directly so it can be analyzed, or use the safer alternative for that command.",t2="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"])]]),mN=new Set(["-p","--print"]),lN=new Map([["python",new Set(["c"])],["node",new Set(["e"])],["ruby",new Set(["e"])],["perl",new Set(["e","E"])]]),pN=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"])]]),cN=new Map([["ruby",new Set(["0","K","W","x"])],["perl",new Set(["0","C","D","V","d","i","l","x"])]]),dN=new Map([["python",new Set(["m"])]]),rN=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"])]]),iN=new Set(["always","default","never"]),oN=new Set(["--backtrace-limit","--crash-report","--disable","--enable"]),nN=/\\\r?\n/g,sN=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 X9($).code}function W9($){return X9($).sources}function mB($){return sN.get(K9($))??[]}function X9($){let J=K9($[0]??"");if(!J9.has(J))return{code:null,sources:[],optionsOpen:!1};let Q=[],W=[],X=!0;for(let Y=1;Y<$.length;Y++){let K=$[Y];if(K===void 0)break;if(K==="--")return s1(J,Q,W,X,$[Y+1]===void 0?void 0:Y+1,$[Y+1]);if(K===""||K==="-"||!K.startsWith("-"))return s1(J,Q,W,X,Y,K);if(J==="node"&&mN.has(K)){let H=$[Y+1];if(H===void 0)return s1(J,Q,W,X);if(H.startsWith("-"))continue;Q.push({tokenIndex:Y+1,value:H}),W.push({tokenIndex:Y+1,kind:"inline-code",value:H}),Y++;continue}if(tN(J,K)){let H=$[Y+1];if(H===void 0)return s1(J,Q,W,X);if(Q.push({tokenIndex:Y+1,value:H}),W.push({tokenIndex:Y+1,kind:"inline-code",value:H}),J==="python")return s1(J,Q,W,X);Y++;continue}let B=/^--eval=(.*)$/s.exec(K);if(eN(J)&&B){let H=B[1]??"";Q.push({tokenIndex:Y,value:H}),W.push({tokenIndex:Y,kind:"inline-code",value:H});continue}if(J==="node"){let H=aN(K);if(H){if(H.attached){if(X&&=H.value!=="",H.value!=="")W.push({tokenIndex:Y,kind:"module-file",value:H.value});continue}let L=$[Y+1];if(L===void 0||L.startsWith("-"))return X=!1,s1(J,Q,W,X);W.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,W,X);if(rN.get(J)?.has(K)){let H=$[Y+1];if(H===void 0||H.startsWith("-")&&!(J==="ruby"&&oN.has(K))||J==="python"&&!iN.has(H))return s1(J,Q,W,X);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(dN.get(J)?.has(L)){let Z=K.slice(H+1),M=Z||$[Y+1];if(M!==void 0)W.push({tokenIndex:Z?Y:Y+1,kind:"module-file",value:M});return s1(J,Q,W,X)}if(lN.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(X&&=Z!==void 0&&!Z.startsWith("-"),X&&Z!==void 0)W.push({tokenIndex:Y+1,kind:"module-file",value:Z});Y++}else X=!1;break}if(J==="ruby"&&L==="r"){let Z=K.slice(H+1),M=Z||$[Y+1];if(X&&=M!==void 0,M!==void 0)W.push({tokenIndex:Z?Y:Y+1,kind:"module-file",value:M});if(!Z)Y++;break}if(J==="perl"&&(L==="M"||L==="m")){let Z=K.slice(H+1);if(Z)W.push({tokenIndex:Y,kind:"module-file",value:Z});else if(X=!1,H+1===K.length)Y++;break}if(pN.get(J)?.has(L)){if(H+1===K.length)Y++;break}if(cN.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}),W.push({tokenIndex:G,kind:"inline-code",value:q}),J==="python")return s1(J,Q,W,X);if(U)Y++}return s1(J,Q,W,X,void 0,void 0,!0)}function s1($,J,Q,W,X,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(W&&J.length===0&&X!==void 0&&Y!==void 0)U.push({tokenIndex:X,kind:"main-script",value:Y});return{code:($==="node"?B[0]?.value:B.map((G)=>G.value).join(`
|
|
27
|
+
`))||null,sources:W?U:[],optionsOpen:W&&K}}function aN($){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 w1($){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 xB.test(J)?"python":J}function tN($,J){return J9.get($)?.has(J)??!1}function eN($){return J9.get($)?.has("--eval")??!1}function e2($,J){let Q=QF($,J);if(!uB(Q,J))return!1;T1(J,Q);let W=JF(Q);if(uB(W,J))return!0;return T1(J,W),$F.test(W)}var $F=/`|%x|\b(?:system|exec|spawn|popen|subprocess|child_process|open3|eval|fork|qx)/i;function JF($){let J=[],Q=0,W=0;while(W<$.length){let X=$[W];if(X!=="'"&&X!=='"'){W++;continue}let Y=$.startsWith(X.repeat(3),W)?X.repeat(3):X,K=W+Y.length;while(K<$.length&&!$.startsWith(Y,K))K+=$[K]==="\\"?2:1;if(K>=$.length)break;J.push($.slice(Q,W)," "),W=K+Y.length,Q=W}return J.push($.slice(Q)),J.join("")}function uB($,J){if(i6($,"rm",J))return!0;for(let W of[/\bgit[^\S\n]+checkout[^\S\n]+--[^\S\n]/,/\bgit[^\S\n]+stash[^\S\n]+(drop|clear)\b/])if(T1(J,$),W.test($))return!0;if(i6($,"dd",J))return!0;for(let W of[/\bmkfs(?:\.[A-Za-z0-9_-]+)?\s+\/dev\/[^\s'"]+/,/\bshred\b\s+/])if(T1(J,$),W.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((W)=>{return T1(J,$),Q.some((X)=>o6(X,W))})}function QF($,J){return T1(J,$),$.replace(nN,"")}var h=Object.freeze({maxChildAnalyses:1024,maxDerivedTokens:16384,maxDerivedBytes:1048576,maxPlaceholderReplacements:16384}),lB="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 pB(){return{childAnalyses:0,derivedTokens:0,derivedBytes:0,placeholderReplacements:0}}function v1($,J){let Q=J.childAnalyses??0,W=J.derivedTokens??0,X=J.derivedBytes??0,Y=J.placeholderReplacements??0;if(B9($.childAnalyses,Q,h.maxChildAnalyses)||B9($.derivedTokens,W,h.maxDerivedTokens)||B9($.derivedBytes,X,h.maxDerivedBytes)||B9($.placeholderReplacements,Y,h.maxPlaceholderReplacements))throw new q9;$.childAnalyses+=Q,$.derivedTokens+=W,$.derivedBytes+=X,$.placeholderReplacements+=Y}function B9($,J,Q){return!Number.isSafeInteger($)||$<0||$>Q||!Number.isSafeInteger(J)||J<0||J>Q-$}import{isAbsolute as PQ,normalize as F_,parse as V_,posix as BU,resolve as Y4,sep as RQ}from"path";import{isAbsolute as WF,join as cB,normalize as iB,parse as XF,sep as dB}from"path";var YF=["/tmp","/var/tmp","/private/tmp","/private/var/tmp"],KF=`
|
|
28
|
+
`;function B3($,J){if(H0($,J))return!0;if(!$.has("TMPDIR"))return!1;return!cJ($.get("TMPDIR")??"",J)}function f0($,J){if($.has("TMPDIR"))return cJ($.get("TMPDIR")??"",J);let Q=dJ($,J);if(Q===void 0)return!0;return cJ(Q,J)}function dJ($,J){return sB($,J,"TMPDIR")}function cJ($,J){if(!$)return!1;if(qF($))return!1;return rJ($,J)}function H0($,J){let Q=sB($,J,"IFS");return Q!==void 0&&Q!==""&&Q!==KF}function rJ($,J){let Q=U9($,J.paths);return Q!==null&&nB(J).some((W)=>GF(Q,W))}function oB($,J){let Q=U9($,J.paths);return Q!==null&&nB(J).includes(Q)}var rB=new WeakMap;function nB($){let J=rB.get($);if(J)return J;let Q=BF($);return rB.set($,Q),Q}function BF($){let J=YF.map((W)=>U9(W,$.paths)??iB(W)),Q=U9($.tmpdir,$.paths);if(!Q)return J;if(process.platform==="win32")return[...J,Q];if(process.platform==="darwin"&&UF(Q))return[...J,Q];return J}function qF($){return/[\s$`*?[]/.test($)||/\{[^{}]*(?:,|\.\.)[^{}]*\}/.test($)||/[+@!]\([^)]*\)/.test($)}function sB($,J,Q){return $.has(Q)?$.get(Q):J.env.get(Q)}function UF($){return/^\/(?:private\/)?var\/folders\/[^/]{2}\/[^/]+\/T$/.test($)}function U9($,J){try{let Q=iB($);if(!WF(Q))return Q;let W=XF(Q).root,X=Q.slice(W.length).split(/[\\/]+/).filter(Boolean),Y=W;for(let K=0;K<X.length;K++){let B=cB(Y,X[K]??"");if(J.entryKind(B)==="missing")return cB(B,...X.slice(K+1));let q=J.realpath(B);if(q===null)return null;Y=q}return Y}catch{return null}}function GF($,J){if($===J)return!0;let Q=J.endsWith(dB)?J:`${J}${dB}`;return $.startsWith(Q)}import{statSync as W_}from"fs";import{isAbsolute as tq,join as X_,relative as eq}from"path";import{isAbsolute as aB,parse as HF}from"path";var $q=/^[A-Za-z_][A-Za-z0-9_]*=/,ZF=/^\$\{([A-Za-z_][A-Za-z0-9_]*)\}/,Jq=131072,LF=16384;function t1($){if(!$q.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 W=$[Q];if(!W)break;let X=t1(v(W));if(!X)break;J.set(X.name,X.value),Q++}return{words:$.slice(Q),envAssignments:J}}function Qq($){let J=$.toLowerCase();return $.includes("=")||J==="sudo"||J==="env"||J==="command"||J==="builtin"}function _2($,J,Q,W){if(!Qq($4($)))return{words:$,envAssignments:new Map,cwd:Q,rewritten:!1};let X=new Set($),Y=$,K=new Map,B=new Map(W??[]),q=Q;for(let G=0;G<s2;G++){let H=eB(Y),L=G9(Y);for(let[M,O]of L.envAssignments)K.set(M,O),B.set(M,O);if(Y=L.words,Y.length===0)break;while(Y.length>0&&$4(Y).includes("=")&&!MF(Y)){let M=OF($4(Y),B,J.env)??p6($4(Y),J.env,B);if(M)K.set(M.name,M.value),B.set(M.name,M.value);Y=Y.slice(1)}if(Y.length===0)break;let Z=$4(Y).toLowerCase();if(Z!=="sudo"&&Z!=="env"&&Z!=="command"&&Z!=="builtin")break;if(Z==="sudo"){let M=FF(Y,J.paths,q);if(Y=M.words,M.cwd!==void 0)q=M.cwd}if(Z==="env"){let M=DF(Y,q,B,J);if(M.unverifiableEnvSplit)return{words:Y,envAssignments:K,cwd:q,unverifiableEnvSplit:!0,rewritten:tB(Y,X)};if(Y=M.words,M.cwd!==void 0)q=M.cwd;for(let[O,V]of M.envAssignments)K.set(O,V),B.set(O,V)}if(Z==="command")Y=bF(Y);if(Z==="builtin")Y=Y.slice(a1(Y,1)==="--"?2:1);if(eB(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:tB(U.words,X)}}function tB($,J){return $.some((Q)=>!J.has(Q))}function eB($){return $.map(v).join(" ")}function $4($){let J=$[0];return J?v(J):""}function a1($,J){let Q=$[J];return Q?v(Q):void 0}function MF($){return $q.test($4($))}function OF($,J,Q){if(!$.startsWith("TMPDIR+="))return null;return{name:"TMPDIR",value:`${J.get("TMPDIR")??Q.get("TMPDIR")??""}${$.slice(8)}`}}var NF=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function FF($,J,Q){let W=1,X=Q;while(W<$.length){let Y=a1($,W);if(!Y)break;if(Y==="--")return{words:$.slice(W+1),cwd:X};if(!Y.startsWith("-"))break;if(Y==="-D"||Y==="--chdir"){let K=a1($,W+1);X=K?q3(X,K,J):null,W+=2;continue}if(Y.startsWith("--chdir=")){X=q3(X,Y.slice(8),J),W++;continue}if(Y.startsWith("-D")&&Y.length>2){X=q3(X,Y.slice(2),J),W++;continue}if(Y==="-i"||Y==="--login"){X=null,W++;continue}if(NF.has(Y)){W+=2;continue}W++}return{words:$.slice(W),cwd:X}}var VF=new Set(["-i","-0","--null"]),_F=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]);function DF($,J,Q,W){let X=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:X,cwd:Y};if(U==="-i"||U==="--ignore-environment"||U==="-"){X.clear();for(let H of Q.keys())X.set(H,"");X.set("TMPDIR",""),q++;continue}if(VF.has(U)){q++;continue}if(U==="-u"||U==="--unset"){let H=a1(K,q+1);if(H!==void 0)B.add(H),X.set(H,"");q+=2;continue}if(U.startsWith("-u")&&U.length>2&&!U.startsWith("-u=")){let H=U.slice(2);B.add(H),X.set(H,""),q++;continue}if(U.startsWith("--unset=")){let H=U.slice(8);B.add(H),X.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=zF(K,q,G.value,G.consumed,Q,B,Y,W.env);if(H.done)return H.result;K=H.expanded,Y=H.currentCwd,q=H.nextIndex;continue}if(_F.has(U)){if(U==="-C"||U==="--chdir"){let H=a1(K,q+1);Y=H?q3(Y,H,W.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,W.paths),q++;continue}if(U.startsWith("-P")){q++;continue}if(U.startsWith("-")){q++;continue}if(!t1(U))break;while(q<K.length){let H=t1(a1(K,q)??"");if(!H)break;X.set(H.name,H.value),q++}if(a1(K,q)==="--")q++;return{words:K.slice(q),envAssignments:X,cwd:Y}}return{words:K.slice(q),envAssignments:X,cwd:Y}}function zF($,J,Q,W,X,Y,K,B){let q=Q!==void 0?IF(Q,X,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+W};return{done:!1,expanded:[...$.slice(0,J),...p(q.tokens),...$.slice(J+W)],currentCwd:K,nextIndex:J}}function IF($,J,Q,W){if($.length>Jq)return{tokens:null,unverifiableEnvSplit:!0};let X=jF($,(Y)=>{if(Q.has(Y))return"";if(J.has(Y))return J.get(Y)??"";return W.get(Y)??""});return{tokens:X.tokens,unverifiableEnvSplit:X.limited}}function jF($,J){let Q=[],W=[],X=0,Y=!1,K=!1,B=!1,q=!1,U=(H)=>{if(X+H.length>Jq)return q=!0,!1;return W.push(H),X+=H.length,Y=!0,!0},G=()=>{if(!Y)return!0;if(Q.length>=LF)return q=!0,!1;return Q.push(W.join("")),W=[],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&&PF(L)){if(!G())return{tokens:null,limited:q};continue}if(!K&&!B&&L==="#"&&!Y)break;if(L==="$"&&!K){let O=$.slice(H).match(ZF);if(!O?.[1]||!U(J(O[1])))return{tokens:null,limited:q};H+=O[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 M=RF(Z);if(M===void 0||!U(M))return{tokens:null,limited:q};H++}if(K||B||!G())return{tokens:null,limited:q};return{tokens:Q,limited:!1}}function RF($){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 PF($){return $===" "||$==="\t"||$===`
|
|
30
|
+
`||$==="\r"||$==="\f"||$==="\v"}function q3($,J,Q){if(J==="")return null;if(!$&&!aB(J))return null;let W=aB(J)?HF(J).root:Q.realpath($??"/");if(W===null)return null;try{return r0(W,J,Q)}catch{return null}}function bF($){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 iJ($,J,Q).tokens}function iJ($,J,Q,W){if(!Qq($[0]??""))return{tokens:[...$],envAssignments:new Map,cwd:Q};let X=_2(p($),J,Q,W);return{tokens:X.words.map(v),envAssignments:X.envAssignments,cwd:X.cwd,unverifiableEnvSplit:X.unverifiableEnvSplit}}import{isAbsolute as tV,normalize as eV,resolve as sq}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 AF($){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)=>j1(J)))})}function M9($,J,Q){$.push(Q),J.reset()}function EF($,J,Q,W,X){if(W<=Q)return;$.push({raw:J.slice(Q,W),span:{start:Q,end:W},provenance:X})}function O9($){let J=[];return{parts:J,push:(Q,W,X)=>EF(J,$,Q,W,X)}}function oJ($){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 J4($,J,Q,W,X,Y,K){return oJ({text:W,raw:$.slice(J,Q),span:{start:J,end:Q},provenance:X,quoted:Y,...K?{parts:K}:{}})}function j1($){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 AF(J);if(J.kind==="group"||J.kind==="function")return Object.freeze({...J,span:Object.freeze(J.span),body:j1(J.body)});return Object.freeze({...J,span:Object.freeze(J.span)})}))})}function nJ($,J,Q){if(J>=Q||Xq($[J]??""))return null;let W="",X=!1,Y=!1,K=J;while(K<Q&&!Xq($[K]??"")){let B=$[K]??"";if(B==="'"){X=!0;let q=Wq($,K+1,Q,"'");W+=q.text,Y||=!q.closed,K=q.next;continue}if(B==='"'){X=!0;let q=Wq($,K+1,Q,'"');W+=q.text,Y||=!q.closed,K=q.next;continue}if(B==="\\"){X=!0;let q=$[K+1];if(!q||q===`
|
|
31
|
+
`||q==="\r"){Y=!0;break}W+=q,K+=2;continue}if(B==="`"||$.startsWith("$(",K)||$.startsWith("${",K)||$.startsWith("<(",K)||$.startsWith(">(",K))Y=!0;W+=B,K++}return{delimiter:W,quoted:X,next:K,span:{start:J,end:K},ambiguous:Y}}function sJ($,J,Q,W){let X=[],Y=J;for(let K of W){let B=Y,q=!1;while(Y<Q){let U=SF($,Y,Q);if((K.stripTabs?U.text.replace(/^\t+/,""):U.text)===K.delimiter){K.attach({body:K.stripTabs?CF($.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 X.push({code:"unterminated-heredoc",message:`heredoc delimiter ${K.delimiter} was not found`,span:K.declarationSpan}),{next:Q,issues:X,terminated:!1}}return{next:Y,issues:X,terminated:!0}}function Wq($,J,Q,W){let X="",Y=J;while(Y<Q&&$[Y]!==`
|
|
32
|
+
`&&$[Y]!=="\r"){let K=$[Y]??"";if(K===W)return{text:X,next:Y+1,closed:!0};if(W==='"'&&K==="\\"&&$[Y+1]){let B=$[Y+1]??"";X+=["$","`",'"',"\\"].includes(B)?B:`\\${B}`,Y+=2;continue}X+=K,Y++}return{text:X,next:Y,closed:!1}}function Xq($){return/[\s;&|<>)]/u.test($)||$==="`"}function SF($,J,Q){let W=J;while(W<Q&&$[W]!==`
|
|
33
|
+
`&&$[W]!=="\r")W++;let X=W>=Q?Q:$[W]==="\r"&&$[W+1]===`
|
|
34
|
+
`?W+2:W+1;return{text:$.slice(J,W),contentEnd:W,next:X}}function CF($){return $.replace(/(^|\r\n?|\n)\t+/g,"$1")}var Uq=new Set(["&&","||","|","|&"]);function Gq($,J,Q){let W={start:0,end:$.length};if($.length>Q.maxInputLength)return j1({kind:"program",dialect:J,source:$,span:W,status:"limited",issues:[{code:"input-limit",message:`command exceeds ${Q.maxInputLength} UTF-16 code units`,span:W}],nodes:[]});let X=V9($,0,$.length,J,Q,{used:0,max:Q.maxWords},0);return j1({kind:"program",dialect:J,source:$,span:W,status:z9(X.issues,X.limited),issues:X.issues,nodes:X.nodes})}function V9($,J,Q,W,X,Y,K,B){let q=H9(),U=Z9(),G=L9(),H=[],L=()=>{if(G.words.length===0&&G.redirections.length===0)return;let M={start:G.start,end:G.end},O=G.words.map((V)=>V.text);M9(q,G,{kind:"command",dialect:W,source:$.slice(M.start,M.end),span:M,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):O.join(" ")})},Z=J;while(Z<Q){let M=$[Z];if(!M)break;if(B&&M===B)return L(),qq(q,U),{nodes:q,issues:U,next:Z+1,closed:!0,limited:!1,pendingHeredocs:H};if(D9(M)){if(M===`
|
|
35
|
+
`||M==="\r"){L();let E=M==="\r"&&$[Z+1]===`
|
|
36
|
+
`?Z+2:Z+1,_=q.at(-1);if(_?.kind!=="connector"||!Uq.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=sJ($,E,Q,H.splice(0));U.push(...R.issues),Z=R.next;continue}Z=E;continue}Z++;continue}if(M==="#"){while(Z<Q&&$[Z]!==`
|
|
37
|
+
`&&$[Z]!=="\r")Z++;continue}let O=G.start===-1?nF($,Z,Q):void 0;if(O){if(tJ(q,U,Z),K>=X.maxDepth)return Q4(q,U,Z,"depth-limit",X.maxDepth);if(!aJ(Y))return Q4(q,U,Z,"word-limit",X.maxWords);let E=V9($,O.braceIndex+1,Q,W,X,Y,K+1,"}"),_=E.next,R={start:O.braceIndex+1,end:E.closed?_-1:_},b=Yq($,W,R,E);if(q.push({kind:"function",name:O.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:O.braceIndex,end:_}});Z=_;continue}let V=_9($,Z);if(V){if(L(),!Vq(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(M===")"){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:M,span:{start:Z,end:Z+1}}),Z++;continue}if((M==="("||M==="{"&&yF($,Z,Q))&&G.start===-1){if(tJ(q,U,Z),K>=X.maxDepth)return Q4(q,U,Z,"depth-limit",X.maxDepth);let E=M==="("?")":"}",_=V9($,Z+1,Q,W,X,Y,K+1,E),R=_.next,b={start:Z+1,end:_.closed?R-1:R},S=Yq($,W,b,_);if(q.push({kind:"group",style:M==="("?"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:M==="("?"unclosed-subshell":"unclosed-brace-group",message:`${M} group is not closed`,span:{start:Z,end:R}});Z=R;continue}let F=(M==="<"||M===">")&&$[Z+1]!=="("?vF($,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],C=b>Z+F.length&&S==="#",g=!S||D9(S)||!!_9($,b)||S===B||S===")"||C||(S==="<"||S===">")&&$[b+1]!=="(",x=F==="<<"||F==="<<-"?nJ($,b,Q):void 0,d=x?{word:J4($,b,x.next,x.delimiter,"literal",x.quoted),nested:[],issues:[],next:x.next,limited:!1}:!g?eJ($,b,Q,W,X,Y,K):void 0;if(d){if(U.push(...d.issues),d.limited)return F9(q,U,d.next);if(!aJ(Y))return Q4(q,U,d.next,"word-limit",X.maxWords)}let V1=d?.next??Z+F.length,T={kind:"redirection",operator:F,span:{start:R,end:V1},..._===void 0?{}:{fd:_},...d?{target:d.word}:{}};if(G.redirections.push(T),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)=>{T.heredoc=m}})}else if(!d)U.push({code:"missing-redirection-target",message:`redirection ${F} requires a target word`,span:{start:Z,end:Z+F.length}});if(d)G.nested.push(...d.nested);G.end=V1,Z=V1;continue}if(G.start===-1)tJ(q,U,Z);let P=eJ($,Z,Q,W,X,Y,K);if(U.push(...P.issues),P.limited)return F9(q,U,P.next);let I=uF(G.words)?dF($,P.word,Y.max-Y.used,X.maxDepth,X.maxInputLength):void 0;if(I?.limitCode)return Q4(q,U,P.next,I.limitCode,I.limitCode==="word-limit"?X.maxWords:I.limitCode==="depth-limit"?X.maxDepth:X.maxInputLength);let A=I?.words??[P.word];for(let E of A){if(!aJ(Y))return Q4(q,U,P.next,"word-limit",X.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(),qq(q,U),U.push(...sF(H)),{nodes:q,issues:U,next:Z,closed:B===void 0,limited:!1,pendingHeredocs:[]}}function Yq($,J,Q,W){return{kind:"program",dialect:J,source:$.slice(Q.start,Q.end),span:Q,status:z9(W.issues,W.limited),issues:W.issues,nodes:W.nodes}}function eJ($,J,Q,W,X,Y,K){let B="",q=J,U=!1,G="literal",H=[],L=[],Z=!1;while(q<Q){let M=$[q],O=(M==="<"||M===">")&&$[q+1]==="(";if(!M||D9(M)||(M===";"||M==="|"||M==="&")&&_9($,q)||(M==="<"||M===">")&&!O)break;if(M===")")break;if(M==="'"){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(M==='"'){U=!0;let F=TF($,q,Q,W,X,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=fF($,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(M==="\\"){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=M==="$"||M==="<"||M===">"||M==="`"?$Q($,q,Q,W,X,Y,K):null;if(V){let F=Hq(V,H,L);if(Z||=F.limited,G=U3(G,F.provenance),q=F.next,Z)break;continue}if(M==="$"){let F=Mq($,q,Q,B,G);B=F.text,G=F.provenance,q=F.next;continue}if(M==="*"||M==="?"||M==="[")G=U3(G,"glob");B+=M,q++}return{word:J4($,J,q,B,G,U,G==="literal"?void 0:hF($,J,q)),nested:H,issues:L,next:q,limited:Z}}function TF($,J,Q,W,X,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 O=$[L+1]??"";if(O===`
|
|
39
|
+
`){L+=2;continue}if(O==="\r"&&$[L+2]===`
|
|
40
|
+
`){L+=3;continue}B+=["$","`",'"',"\\"].includes(O)?O:`\\${O}`,L+=2;continue}if($.startsWith("$((",L)){let O=JQ($,L+3,Q,"))"),V=O===-1?Q:O+2;if(B+=$.slice(L,V),O===-1)G.push({code:"unclosed-arithmetic",message:"$(( substitution is not closed",span:{start:L,end:V}});L=V;continue}let M=$Q($,L,Q,W,X,Y,K);if(M){let O=Hq(M,U,G);if(L=O.next,H||=O.limited,q=U3(q,O.provenance),H)return{text:B,provenance:q,nested:U,issues:G,next:L,limited:H};continue}if(Z==="$"){let O=Mq($,L,Q,B,q);B=O.text,q=O.provenance,L=O.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 $Q($,J,Q,W,X,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=JQ($,J+H,Q,L),M=Z===-1?Q:Z,O=Z===-1?Q:Z+L.length;if(K>=X.maxDepth)return{program:oF($,J+H,M,W,"depth-limit"),next:O,provenance:B?"arithmetic":"command-substitution"};if(B){let I=[],A=[],E=!1,_=J+H;while(_<M){let R=$Q($,_,M,W,X,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:O}});return{program:j1({kind:"program",dialect:W,source:$.slice(J+H,M),span:{start:J+H,end:M},status:z9(A,E),issues:A,nodes:I}),next:O,provenance:"arithmetic"}}let V=V9($,J+H,M,W,X,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:O}}]:[],P=(G||U)&&G3(V.nodes)?[{code:"unsupported-heredoc-context",message:"heredocs are supported only in ordinary commands and $(...) substitutions",span:{start:J,end:O}}]:[];return{program:j1({kind:"program",dialect:W,source:$.slice(J+H,M),span:{start:J+H,end:M},status:z9([...V.issues,...F,...P],V.limited),issues:[...V.issues,...F,...P],nodes:V.nodes}),next:O,provenance:B?"arithmetic":"command-substitution"}}function Hq($,J,Q){return J.push($.program),Q.push(...$.program.issues),{provenance:$.provenance,next:$.next,limited:$.program.status==="limited"}}function JQ($,J,Q,W){if(W==="`"){for(let B=J;B<Q;B++)if($[B]==="\\")B++;else if($[B]==="`")return B;return-1}let X=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=sJ($,G,Q,K.splice(0));if(!H.terminated)return-1;B=H.next-1;continue}let U=Zq($,B,J,Q,Y);if(U!==null){B=U;continue}if(!Y.double&&$.startsWith("$((",B)){let G=wF($,B+3,Q);if(G===-1)return-1;B=G+1;continue}if(W===")"&&!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=nJ($,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)){X++,B++;continue}if(q==="("&&!Y.double)X++;if(q===")"&&!Y.double){if(X--,X===0)return W==="))"&&$[B+1]!==")"?-1:B}}return-1}function wF($,J,Q){let W=1,X={single:!1,double:!1};for(let Y=J;Y<Q;Y++){let K=$[Y],B=Zq($,Y,J,Q,X);if(B!==null){Y=B;continue}if($.startsWith("$(",Y)&&!$.startsWith("$((",Y)){W++,Y++;continue}if(K==="("&&!X.double)W++;if(K!==")"||X.double)continue;if(W--,W===0)return $[Y+1]===")"?Y:-1}return-1}function Zq($,J,Q,W,X){let Y=$[J];if(Y==="\\"&&!X.single)return J+1;if(!X.double&&Y==="'")X.single=!X.single;if(!X.single&&Y==='"')X.double=!X.double;if(X.single)return J;if(X.double||Y!=="#"||!aF($,J,Q))return null;let K=J;while(K+1<W&&$[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 vF($,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 Lq($,J,Q){if($[J+1]==="{"){let X=$.indexOf("}",J+2);return X===-1||X>=Q?Q:X+1}let W=J+1;while(W<Q&&/[A-Za-z0-9_?@#$!*-]/.test($[W]??""))W++;return W===J+1?J+1:W}function fF($,J,Q){let W="",X=[],Y=J;while(Y<Q){let K=$[Y];if(K==="'")return{text:W,next:Y+1,closed:!0,issues:X};if(K!=="\\"){W+=K??"",Y++;continue}let B=kF($,Y+1,Q);if(W+=B.text,B.invalidCodePoint!==void 0)X.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:W,next:Q,closed:!1,issues:X}}function kF($,J,Q){let W=$[J];if(!W||J>=Q)return{text:"\\",next:J};let X=new Map([["a","\x07"],["b","\b"],["e","\x1B"],["E","\x1B"],["f","\f"],["n",`
|
|
44
|
+
`],["r","\r"],["t","\t"],["v","\v"],["\\","\\"],["'","'"],['"','"']]);if(X.has(W))return{text:X.get(W)??W,next:J+1};if(W==="x")return N9($,J+1,Q,16,2,J+1);if(W==="u")return N9($,J+1,Q,16,4,J+1);if(W==="U")return N9($,J+1,Q,16,8,J+1);if(/[0-7]/.test(W))return N9($,J,Q,8,3,J+1);return{text:W,next:J+1}}function N9($,J,Q,W,X,Y){let K=W===16?/[0-9a-fA-F]/:/[0-7]/,B="",q=J;while(q<Q&&B.length<X&&K.test($[q]??""))B+=$[q],q++;if(!B)return{text:$[Y-1]??"",next:Y};let U=Number.parseInt(B,W);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 Mq($,J,Q,W,X){let Y=Lq($,J,Q);return{text:W+$.slice(J,Y),provenance:U3(X,"variable"),next:Y}}function hF($,J,Q){let W=O9($),X=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,M=U?"))":L?"`":")",O=JQ($,B+Z,Q,M),V=O===-1?Q:O+M.length;W.push(X,B,"literal"),W.push(B,V,U?"arithmetic":"command-substitution"),B=V,X=V;continue}if(q==="$"){let Z=Lq($,B,Q);if(Z>B+1){W.push(X,B,"literal"),W.push(B,Z,"variable"),B=Z,X=Z;continue}}if(!K&&(q==="*"||q==="?"||q==="[")){W.push(X,B,"literal"),W.push(B,B+1,"glob"),B++,X=B;continue}B++}return W.push(X,Q,"literal"),W.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 yF($,J,Q){return J+1>=Q||D9($[J+1]??"")||_9($,J+1)!==null}var gF=new Set(["-u","--unset","-C","--chdir","-S","--split-string","-P"]),xF=new Set(["-u","-g","-C","-D","-h","-p","-r","-t","-T","-U"]);function uF($){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=mF($,J);if(Q===void 0||Q===null)return!1;J=Q}return!1}function mF($,J){let Q=$[J]?.text.toLowerCase();if(Q==="command")return lF($,J);if(Q==="env")return pF($,J);if(Q==="sudo")return cF($,J);return}function lF($,J){if($[J+1]?.text==="-v")return null;for(let Q=J+1;Q<$.length;Q++){let W=$[Q]?.text??"";if(W==="--")return Q+1;if(W==="-p"||W==="-v"||W==="-V"||/^-[pvV]+$/.test(W))continue;return Q}return $.length}function pF($,J){for(let Q=J+1;Q<$.length;Q++){let W=$[Q]?.text??"";if(W==="--")return Q+1;if(gF.has(W)){if($[Q+1]===void 0)return null;Q++;continue}if(W.startsWith("-u=")||W.startsWith("--unset=")||W.startsWith("-C")&&W.length>2||W.startsWith("--chdir=")||W.startsWith("-S")&&W.length>2||W.startsWith("--split-string=")||W.startsWith("-P"))continue;if(W.startsWith("-")||/^[A-Za-z_][A-Za-z0-9_]*=/.test(W))continue;return Q}return $.length}function cF($,J){for(let Q=J+1;Q<$.length;Q++){let W=$[Q]?.text??"";if(W==="--")return Q+1;if(xF.has(W)){if($[Q+1]===void 0)return null;Q++;continue}if(W.startsWith("-"))continue;return Q}return $.length}function Oq($,J,Q,W){if($.provenance!=="literal"||!$.raw.includes("{"))return;let X=[$.raw],Y=$.raw.length,K=0;while(!0){let q=X.findIndex((M)=>Bq(M));if(q===-1)break;if(++K>Q)return{limited:!0};let U=X[q]??"",G=Bq(U);if(!G||G.kind==="range")return{limited:!0};let H=G.start+U.length-G.end,L=G.alternatives.reduce((M,O)=>M+H+O.length,0);if(Y-U.length+L>W||X.length-1+G.alternatives.length>J)return{limited:!0};let Z=Nq(U,G);X.splice(q,1,...Z),Y+=L-U.length}if(K===0)return;let B=X.map((q)=>iF(q,Q));if(B.some((q)=>q===null))return{limited:!0};return{words:[...new Set(B.filter((q)=>q!==null&&q!==""))]}}function dF($,J,Q,W,X){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)=>Kq(V));if(U===-1)break;if(++B>W)return{limitCode:"depth-limit"};let G=Y[U]??"",H=Kq(G);if(!H)break;let L=H.start+G.length-H.end,Z=H.alternatives.filter((V)=>L+V.length>0),M=Z.reduce((V,F)=>V+L+F.length,0);if(K-G.length+M>X)return{limitCode:"brace-expansion-limit"};if(Y.length-1+Z.length>Q)return{limitCode:"word-limit"};let O=Nq(G,{...H,alternatives:Z});Y.splice(U,1,...O),K+=M-G.length}let q=Y.filter((U)=>U.length>0);if(B===0)return;return{words:q.map((U)=>J4($,J.span.start,J.span.end,U,"literal",!1))}}function Kq($){let J=[],Q;for(let W=0;W<$.length;W++){let X=$[W];if(X==="{"){J.push({start:W,commas:[]});continue}if(X===","&&J.length>0){J.at(-1)?.commas.push(W);continue}if(X!=="}"||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:W+1,commas:Y.commas}}if(!Q)return;return{start:Q.start,end:Q.end,alternatives:Fq($,Q)}}function Bq($){let J=[],Q,W=null,X=!1;for(let Y=0;Y<$.length;Y++){let K=$[Y];if(X){X=!1;continue}if(K==="\\"&&W!=="'"){X=!0;continue}if(K===W){W=null;continue}if(W===null&&(K==="'"||K==='"')){W=K;continue}if(W!==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}:rF($.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:Fq($,Q)}}function Nq($,J){return J.alternatives.map((Q)=>`${$.slice(0,J.start)}${Q}${$.slice(J.end)}`)}function Fq($,J){let Q=[J.start,...J.commas,J.end-1];return Q.slice(0,-1).map((W,X)=>$.slice(W+1,Q[X+1]))}function rF($){return/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test($)||/^[A-Za-z]\.\.[A-Za-z](?:\.\.-?\d+)?$/.test($)}function iF($,J){let Q=`x${$}`,W=eJ(Q,0,Q.length,"posix",{maxInputLength:Q.length,maxWords:1,maxDepth:J},{used:0,max:1},0);if(W.limited||W.issues.length>0||W.next!==Q.length||W.word.provenance!=="literal")return null;return W.word.text.slice(1)}function oF($,J,Q,W,X){return j1({kind:"program",dialect:W,source:$.slice(J,Q),span:{start:J,end:Q},status:"limited",issues:[{code:X,message:"command structure exceeds parser limit",span:{start:J,end:Q}}],nodes:[]})}function Q4($,J,Q,W,X){return{nodes:$,issues:[...J,{code:W,message:`command structure exceeds parser limit ${X}`,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 aJ($){return $.used++,$.used<=$.max}function nF($,J,Q){let W=/^([A-Za-z_][A-Za-z0-9_]*)[ \t]*\([ \t]*\)[ \t]*\{/.exec($.slice(J,Q)),X=W?.[1];if(!W||!X)return;return{name:X,braceIndex:J+W[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 sF($){return $.map((J)=>({code:"unterminated-heredoc",message:`heredoc delimiter ${J.delimiter} was not found`,span:J.declarationSpan}))}function Vq($){return $?.kind==="command"||$?.kind==="group"||$?.kind==="function"}function qq($,J){let Q=$.at(-1);if(Q?.kind!=="connector"||!Uq.has(Q.operator))return;J.push({code:"missing-command-after-connector",message:`connector ${Q.operator} requires a following command`,span:Q.span})}function tJ($,J,Q){if(!Vq($.at(-1)))return;J.push({code:"missing-command-connector",message:"adjacent commands require a connector",span:{start:Q,end:Q+1}})}function aF($,J,Q){return J===Q||/[\s;&|()]/u.test($[J-1]??"")}var _q=new Set(["remove-item","ri","del","erase","rd","rmdir"]),Dq=["-rec","-for","-path","-literalpath","-whatif"],I9={maxInputLength:131072,maxWords:16384,maxDepth:64};function zq($){let J=$.toLowerCase().replaceAll("`","");if(![..._q].some((W)=>J.includes(W))&&!(J.includes("rm")&&Dq.some((W)=>J.includes(W)))&&!J.includes("<#"))return!1;let Q=JV($);return Q.invalidComment||Q.commands.some(tF)}function tF($){let J=$[0]==="&"||$[0]==="."?1:0,Q=$[J]?.toLowerCase();if(Q&&_q.has(Q))return!0;if(Q!=="rm")return!1;return $.slice(J+1).some((W)=>{let X=W.toLowerCase().split(":",1)[0]??"";return Dq.some((Y)=>X.startsWith(Y))})}function Iq($,J){let Q={start:0,end:$.length};if($.length>J.maxInputLength)return j1({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 W=KQ($,0,$.length,J,0);return j1({kind:"program",dialect:"powershell",source:$,span:Q,status:QV(W.issues,W.limited),issues:W.issues,nodes:W.nodes})}function KQ($,J,Q,W,X,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};M9(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((M)=>M.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 M=Pq($,L,Q,W.maxDepth);if(M){if(M.issue)B.push(M.issue);if(M.limited)return H(),{nodes:K,issues:B,next:M.next,closed:!1,words:U,limited:!0};L=M.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(QQ($,L,F)),L=F;continue}L++;continue}let O=BQ($,L);if(O){H(),K.push(QQ($,L,L+O.length)),L+=O.length;continue}if(Z==="{"){if(H(),X>=W.maxDepth)return B.push(Rq(L,W.maxDepth)),{nodes:K,issues:B,next:Q,closed:!1,words:U,limited:!0};let F=KQ($,L+1,Q,W,X+1,!0),P=F.closed?F.next-1:F.next,I=j1({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(QQ($,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?WQ($,P,Q,W,X):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(oJ({text:",",raw:",",span:{start:L,end:L+1},provenance:"literal",quoted:!1})),q.end=++L;continue}let V=WQ($,L,Q,W,X);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>W.maxWords)return B.push({code:"word-limit",message:`command exceeds ${W.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 WQ($,J,Q,W,X){let Y="",K="literal",B=!1,q=[],U=[],G=0,H=!1,L=(M)=>{let O=eF($,M,Q,W,X);return Y+=$.slice(M,O.next),U.push(O.program),q.push(...O.program.issues),G+=XQ(O.program),H||=O.program.status==="limited",K="command-substitution",O.next},Z=J;while(Z<Q){let M=$[Z];if(!M||/\s/.test(M)||BQ($,Z)||M===">"||M==="<"||M==="#")break;if(M===",")break;if(M==="`"){let O=$[Z+1];if(!O){q.push({code:"trailing-escape",message:"PowerShell escape has no following character",span:{start:Z,end:Z+1}}),Z++;break}Y+=O,Z+=2;continue}if($.startsWith("$(",Z)){Z=L(Z);continue}if(M==="'"){B=!0,Z++;let O=!1;while(Z<$.length){if($[Z]==="'"&&$[Z+1]==="'"){Y+="'",Z+=2;continue}if($[Z]==="'"){O=!0,Z++;break}Y+=$[Z]??"",Z++}if(!O)q.push({code:"unclosed-single-quote",message:"single-quoted word is not closed",span:{start:J,end:$.length}});continue}if(M==='"'){B=!0;let O=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:O,end:$.length}});continue}if(M==="$")K=$[Z+1]==="("?"command-substitution":"variable";if(M==="@"&&Z===J)K="variable";Y+=M,Z++}return{word:J4($,J,Z,Y,K,B,K==="literal"?void 0:$V($,J,Z)),next:Z,issues:q,nested:U,words:G,limited:H}}function eF($,J,Q,W,X){let Y=jq($,J+2,Q),K=Y===-1?Q:Y,B=Y===-1?Q:Y+1;if(X>=W.maxDepth)return{program:j1({kind:"program",dialect:"powershell",source:$.slice(J+2,K),span:{start:J+2,end:K},status:"limited",issues:[Rq(J,W.maxDepth)],nodes:[]}),next:B};let q=KQ($,J+2,K,W,X+1),U=Y===-1?[{code:"unclosed-command-subexpression",message:"PowerShell command subexpression is not closed",span:{start:J,end:B}}]:[];return{program:j1({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 jq($,J,Q){let W=1,X=!1,Y=!1;for(let K=J;K<Q;K++){let B=$[K];if(B==="`"){K++;continue}if(!Y&&B==="'"){if(X&&$[K+1]==="'"){K++;continue}X=!X;continue}if(!X&&B==='"'){Y=!Y;continue}if(X)continue;if($.startsWith("$(",K)){W++,K++;continue}if(!Y&&B==="(")W++;if(B!==")")continue;if(W--,W===0)return K}return-1}function XQ($){let J=0;for(let Q of $.nodes){if(Q.kind==="group")J+=XQ(Q.body);if(Q.kind==="command"){J+=Q.words.length;for(let W of Q.nested)J+=XQ(W)}}return J}function $V($,J,Q){let W=O9($),X=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=jq($,K+2,Q),U=q===-1?Q:q+1;W.push(X,K,"literal"),W.push(K,U,"command-substitution"),K=U,X=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++;W.push(X,K,"literal"),W.push(K,q,"variable"),K=q,X=q;continue}K++}return W.push(X,Q,"literal"),W.parts}function Rq($,J){return{code:"depth-limit",message:`command structure exceeds parser limit ${J}`,span:{start:$,end:$}}}function JV($){let J=[],Q=[],W=0,X=0,Y=!1,K=()=>{if(Q.length>0)J.push(Q);Q=[]};while(W<$.length&&W<131072&&X<16384){let B=$[W];if(B==="\r"||B===`
|
|
47
|
+
`){K(),W+=B==="\r"&&$[W+1]===`
|
|
48
|
+
`?2:1;continue}if(/\s/.test(B??"")){W++;continue}let q=Pq($,W,Math.min($.length,I9.maxInputLength),I9.maxDepth);if(q){Y||=!!q.issue||q.limited,W=q.next;continue}let U=BQ($,W);if(U){K(),W+=U.length;continue}if(B==="{"||B==="}"){K(),W++;continue}let G=WQ($,W,Math.min($.length,I9.maxInputLength),I9,0);if(G.word.text)Q.push(G.word.text);for(let H of G.nested)J.push(...YQ(H));X++,W=G.next>W?G.next:W+1}return K(),{commands:J,invalidComment:Y}}function YQ($){return $.nodes.flatMap((J)=>{if(J.kind==="group")return YQ(J.body);if(J.kind!=="command")return[];return[J.words.map((Q)=>Q.text),...J.nested.flatMap(YQ)]})}function BQ($,J){for(let Q of["&&","||",";","|"])if($.startsWith(Q,J))return Q;return null}function Pq($,J,Q,W){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 X=1,Y=J+2;while(Y<Q){if($.startsWith("<#",Y)){if(X++,X>W)return{next:Q,issue:{code:"comment-depth-limit",message:`PowerShell block comment exceeds nesting limit ${W}`,span:{start:J,end:Y+2}},limited:!0};Y+=2;continue}if($.startsWith("#>",Y)){if(X--,Y+=2,X===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 QV($,J){if(J)return"limited";if($.some((Q)=>Q.code==="unclosed-block-comment"))return"invalid";return $.length>0?"partial":"complete"}function QQ($,J,Q){return Object.freeze({kind:"connector",operator:$.slice(J,Q),span:Object.freeze({start:J,end:Q})})}var D2=Object.freeze({maxInputLength:131072,maxWords:16384,maxDepth:64});function e1($,J="auto",Q=D2){if(J==="powershell"||J==="auto"&&zq($.slice(0,Q.maxInputLength)))return Iq($,Q);return Gq($,"posix",Q)}function qQ($,J){if($!=="powershell")return J[0]?.provenance==="command-substitution";let Q=J[0]?.text==="&"||J[0]?.text==="."?1:0,W=J[Q]?.provenance;return W!==void 0&&W!=="literal"}var WV=/^[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,W=J===1&&j9($.words[Q],"--")?Q+1:Q,X=j9($.words[W],"!")?W+1:W,Y=$.words.slice(X).find((K)=>!WV.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 W4($){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},W=!1,X=!0;for(let Y=0;Y<$.length;Y++){let K=$[Y];if(!K)break;if(W){if(K===`
|
|
50
|
+
`||K==="\r")J+=K,W=!1,Q.escaped=!1;continue}if(K==="#"&&!Q.inSingle&&!Q.inDouble&&X){W=!0;continue}if(J+=K,!Q.inSingle&&!Q.inDouble&&!Q.escaped)X=/[\s;&|()<>]/.test(K);H3(K,Q)}return J}var YV=new Set(["&&","||","|&","|","&",";"]),KV=new Set(["<<","<<<",">|"]),BV=/[*@#?$!_-]/,UQ=Object.freeze([]),qV=Object.freeze([]),UV=256;function Cq($,J){let Q=J.status==="complete"?new Set(HQ(J)):new Set,W=[...Q].reduce((K,B)=>K.slice(0,B.start)+" ".repeat(B.end-B.start)+K.slice(B.end),$);if(W4(W))return P9("unclosed-quote",W,UQ);let X={invalid:!1,limited:!1,expansions:0,assignmentFallbacks:[]},Y=Z3(J,{source:W,suppressed:Q,flags:X,depth:0,functions:new Map});if(X.limited)return P9("structural-limit",W,UQ);if(X.invalid)return P9("invalid",W,UQ);return P9("complete",W,Y,X.assignmentFallbacks)}function P9($,J,Q,W=qV){return Object.freeze({status:$,source:J,entries:Object.freeze(Q),assignmentFallbacks:Object.freeze(W)})}function Z3($,J){return $.nodes.flatMap((Q,W)=>GV(Q,$,W,J)).sort((Q,W)=>Q.start-W.start).flatMap((Q)=>[...Q.entries])}function GV($,J,Q,W){if($.kind==="connector")return[{start:$.span.start,entries:[$0(OV($.operator))]}];if($.kind==="unknown")return[{start:$.span.start,entries:[$0($.source)]}];if($.kind==="function")return W.functions.set($.name,$.body),[];if($.kind==="group"){let Y=$.style!=="subshell",K=W.source[$.span.end-1]===(Y?"}":")"),B=Y?W:{...W,functions:new Map(W.functions)};return[{start:$.span.start,entries:[Y?b9("{"):$0("("),...Z3($.body,B),...K?[Y?b9("}"):$0(")")]:[]]}]}let X=FV($,W.functions);if(X){if(W.depth>=D2.maxDepth||++W.flags.expansions>UV)return W.flags.limited=!0,[];return[{start:$.span.start,entries:[...bq($,W),b9(";"),...Z3(X,{...W,depth:W.depth+1}),b9(";")]},...Aq($,J,Q,W)]}return[{start:$.span.start,entries:bq($,W)},...Aq($,J,Q,W)]}function bq($,J){return[...$.words.map((Q)=>({start:Q.span.start,entries:wq(Q,$,J,!1)})),...$.redirections.map((Q)=>({start:Q.span.start,entries:HV(Q,$,J)}))].sort((Q,W)=>Q.start-W.start).flatMap((Q)=>Q.entries)}function HV($,J,Q){let W=$.operator==="<<-"?"<<":$.operator,X=$.target?wq($.target,J,Q,!0):[],Y=X[0],K=Y?.kind==="word"?Y.text:void 0;return[...$.fd===void 0?[]:[ZQ(String($.fd))],Object.freeze({kind:"redirection",operator:W,role:NV(W),targetOrder:KV.has(W)?"legacy-segment":"immediate",...K===void 0?{}:{target:K}}),...K===void 0?X:X.slice(1)]}function Aq($,J,Q,W){let X=$.redirections.filter((Y)=>Y.operator==="<<"||Y.operator==="<<-");return[...X.flatMap((Y)=>{let K=Y.heredoc;if(!K)return[];let B=[ZQ(K.delimiter),.../[\r\n]/.test(W.source[K.terminatorSpan.end]??"")?[$0(";")]:[]];if(W.suppressed.has(K.bodySpan))return[{start:K.bodySpan.start,entries:B}];return[{start:K.bodySpan.start,entries:[...Tq(W.source.slice(K.bodySpan.start,K.bodySpan.end),W),...B]}]}),...X.some((Y)=>!Y.heredoc&&Y.target)?ZV(J,Q,W):[]]}function ZV($,J,Q){let W=$.nodes.slice(J+1).find((X)=>X.kind==="connector");if(!W||W.span.end>=$.span.end)return[];return[{start:W.span.end,entries:Tq(Q.source.slice(W.span.end,$.span.end),Q)}]}function Tq($,J){if(J.depth>=D2.maxDepth)return J.flags.limited=!0,[];let Q=e1($,"posix");if(Q.status==="limited")return J.flags.limited=!0,[];let W={invalid:!1,limited:!1,expansions:J.flags.expansions,assignmentFallbacks:J.flags.assignmentFallbacks},X=Z3(Q,{source:$,suppressed:new Set,flags:W,depth:J.depth+1,functions:new Map});return J.flags.limited||=W.limited,J.flags.expansions=W.expansions,X}function wq($,J,Q,W){let X=[],Y={single:!1,double:!1},K="",B=!1,q=()=>{if(B&&!W)X.push($0("glob"));else if(K!==""||$.quoted&&X.length===0)X.push(ZQ(K));K="",B=!1};for(let U of $.parts){if(U.provenance!=="command-substitution"&&U.provenance!=="arithmetic"){for(let Z of GQ(U.raw,Y,Q.flags)){if(typeof Z==="string"){q(),X.push($0(Z));continue}K+=Z.text,B||=Z.glob}continue}if(Y.double){let Z=Q.source.slice(U.span.start,U.span.end);K+=GQ(Z,{single:!1,double:!0},Q.flags).map((M)=>typeof M==="string"?M:M.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(),X.push(...H);continue}if(U.raw.startsWith("<(")||U.raw.startsWith(">(")){q(),X.push(U.raw.startsWith("<(")?$0("<("):Object.freeze({kind:"redirection",operator:">",role:"file-write",targetOrder:"immediate"}),...H,...U.raw.endsWith(")")?[$0(")")]:[]);continue}let L=U.raw.startsWith("$((")?2:1;K+="${}",q(),X.push(...Array.from({length:L},()=>$0("(")),...H,...U.raw.endsWith(")".repeat(L))?Array.from({length:L},()=>$0(")")):[])}return q(),X}function GQ($,J,Q){let W=[],X="",Y=!1,K=0;while(K<$.length){let B=$[K]??"";if(!J.single&&!J.double&&(B==="("||B===")")){W.push({text:X,glob:Y},B),X="",Y=!1,K++;continue}if(J.single){if(B==="'")J.single=!1;else X+=B;K++;continue}if(J.double){if(B==='"'){J.double=!1,K++;continue}if(B==="\\"){let q=$[K+1]??"";X+=['"',"\\","$"].includes(q)?q:`\\${q}`,K+=2;continue}if(B==="$"){let q=Eq($,K,J,Q);X+=q.text,K=q.next;continue}X+=B,K++;continue}if(B==="'"||B==='"'){J.single=B==="'",J.double=B==='"',K++;continue}if(B==="\\"){let q=$[K+1]??"";Y||=q==="*"||q==="?",X+=q,K+=2;continue}if(B==="$"){let q=Eq($,K,J,Q);X+=q.text,K=q.next;continue}Y||=B==="*"||B==="?",X+=B,K++}return[...W,{text:X,glob:Y}]}function Eq($,J,Q,W){let X=$[J+1];if(X==="{"){let K=MV($,J+2);if(K===-1)return W.invalid=!0,{text:"",next:$.length};let B=$.slice(J,K+1);return LV(B,Q,W),{text:B,next:K+1}}if(X!==void 0&&BV.test(X))return{text:`\${${X}}`,next:J+2};let Y=/^\w*/.exec($.slice(J+1))?.[0]??"";return{text:`\${${Y}}`,next:J+1+Y.length}}function LV($,J,Q){let W=$.slice(2,-1),X=/^[A-Za-z_][A-Za-z0-9_]*/.exec(W)?.[0];if(!X)return;let Y=W.slice(X.length),K=[":=","="].find((q)=>Y.startsWith(q));if(!K)return;let B=GQ(Y.slice(K.length),{...J},Q);Q.assignmentFallbacks.push(...B.flatMap((q)=>typeof q==="string"||!q.text?[]:[q.text]))}function MV($,J){let Q=1,W=J;while(Q>0&&W<$.length){if($[W]==="{"&&$[W-1]==="$")Q++;else if($[W]==="}")Q--;W++}return Q===0?W-1:-1}function OV($){return/^[\r\n]+$/.test($)?";":$}function $0($){return Object.freeze({kind:"operator",operator:$,boundary:YV.has($)})}function b9($){return Object.freeze({kind:"operator",operator:$,boundary:!0})}function ZQ($){return Object.freeze({kind:"word",text:$})}function NV($){if($==="<<"||$==="<<<")return"here-data";if($==="<"||$==="<&")return"file-read";return"file-write"}function HQ($){return $.nodes.flatMap((J,Q)=>{if(J.kind==="group"||J.kind==="function")return HQ(J.body);if(J.kind!=="command")return[];let W=J.nested.flatMap((K)=>HQ(K)),X=$.nodes[Q+1];if(X?.kind==="connector"&&(X.operator==="|"||X.operator==="|&")||!_V(J))return W;return[...W,...J.redirections.flatMap((K)=>K.heredoc?.quotedDelimiter?[K.heredoc.bodySpan]:[])]})}function FV($,J){let Q=R9($);return Q===void 0?void 0:J.get(Q)}function o0($,J){return $!==void 0&&$.provenance==="literal"&&!$.quoted&&$.raw===$.text&&$.text===J}function VV($){if(o0($.words[0],"git"))return o0($.words[1],"commit");if(!o0($.words[0],"gh")||!o0($.words[2],"create"))return!1;return o0($.words[1],"pr")||o0($.words[1],"issue")}function _V($){return(o0($.words[0],"cat")||o0($.words[0],"tee")||VV($))&&!$.words.some(Sq)&&!$.redirections.some((Q)=>Sq(Q.target))}function Sq($){return $?.parts.some((J)=>J.provenance==="command-substitution"&&J.raw.startsWith(">("))??!1}import{types as DV}from"util";var zV=new Set(["applypatch","patch"]),IV=new Set(["create","edit","listdir","listpermissions","ls","multiedit","multireplacefilecontent","notebookedit","read","readfile","readurlcontent","replacefilecontent","searchweb","strreplaceeditor","view","viewfile","write","writefile","writetofile"]),jV=new Set(["grep","grepsearch","rg"]),RV=new Set(["find","findbyname","glob"]),PV=new Set(["find","findbyname","glob","grep","grepsearch","listdir","listpermissions","ls","read","readfile","readurlcontent","searchweb","view","viewfile"]),bV=new Set(["command","diff","input","patch","patchtext"]),vq=new TextEncoder,AV=new TextDecoder,EV=/\s/,SV=64;class k0 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 gq($){return $.replace(/[-_\s]/g,"").toLowerCase()}function E9($){return PV.has(gq($))}function NQ($){let J=gq($);if(zV.has(J))return"patch";if(jV.has(J))return"grep";if(RV.has(J))return"glob";if(IV.has(J))return"path";return"unknown"}function X4($){if(!$||typeof $!=="object")return;pq($);let J=Object.getOwnPropertyDescriptor($,"command");if(!J){if("command"in $)Z0();return}if(J.get||J.set)Z0();let Q=J.value;return typeof Q==="string"&&Q!==""?Q:void 0}function FQ($,J){return xq($,J,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1)}function xq($,J,Q,W){let X=lq($,Q,W);if(!X)return[];let Y=X.entries.flatMap(([K,B])=>{let q=xq(B,J,Q,W+1);return typeof B==="string"&&J.has(uq(K))?[B]:q});return Q.ancestors.delete(X.object),Y}function uq($){return $.replace(/-/g,"_").toLowerCase()}function VQ($){return mq($,!0,{nodes:0,keys:0,stringBytes:0,ancestors:new Set},1).flatMap(TV)}function mq($,J,Q,W){let X=lq($,Q,W);if(typeof $==="string")return J?[$]:[];if(!X)return[];let Y=X.entries.flatMap(([K,B])=>mq(B,X.array?J:bV.has(uq(K)),Q,W+1));return Q.ancestors.delete(X.object),Y}function CV($,J,Q){if(J.nodes++,$!==null&&typeof $==="object"&&Q>L3.maxDepth||J.nodes>L3.maxNodes)Z0();if(typeof $!=="string")return;let W=Buffer.byteLength($);if(J.stringBytes+=W,W>L3.maxStringBytes||J.stringBytes>L3.maxAggregateStringBytes)Z0()}function lq($,J,Q){if(CV($,J,Q),!$||typeof $!=="object")return null;let W=pq($);if(J.ancestors.has($))Z0();let X=Reflect.ownKeys($);if(J.keys+=X.length,J.keys>L3.maxKeys)Z0();let Y=X.flatMap((K)=>{let B=Object.getOwnPropertyDescriptor($,K);if(!B||B.get||B.set)Z0();return typeof K==="string"&&B.enumerable?[[K,B.value]]:[]});return J.ancestors.add($),{object:$,array:W,entries:Y}}function pq($){if(DV.isProxy($))Z0();let J=Array.isArray($),Q=Object.getPrototypeOf($);if(J&&Q!==Array.prototype||!J&&Q!==Object.prototype&&Q!==null)Z0();return J}function Z0(){throw new k0}function TV($){let J=[],Q=$.split(/\r?\n/),W=!1,X=!1,Y=null,K=null,B=()=>{X=!1,Y=null,K=null};for(let q=0;q<Q.length;q++){let U=Q[q]??"";if(U==="*** Begin Patch"){W=!0,B();continue}if(U==="*** End Patch"){W=!1,B();continue}if(U.startsWith("@@")){let G=wV(U);if(X=!0,Y=G?.oldLines??null,K=G?.newLines??null,Y===0&&K===0)B();continue}if(X&&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(...LQ(U));continue}if(X)continue;if(U.startsWith("diff --git ")){J.push(...LQ(U));continue}if(U.startsWith("--- ")){let G=Q[q+1]??"";if(!G.startsWith("+++ "))continue;J.push(...OQ(A9(U.slice(4),!0),A9(G.slice(4),!0))),q++;continue}if(!W)J.push(...LQ(U))}return J}function wV($){let J=/^@@ -\d+(?:,(\d+))? \+\d+(?:,(\d+))? @@/.exec($);if(!J)return null;return{oldLines:Number(J[1]??1),newLines:Number(J[2]??1)}}function LQ($){let J=/^\*\*\* (?:Add|Update|Delete) File: (.+)$/.exec($);if(J?.[1])return yq(J[1]);let Q=/^\*\*\* Move to: (.+)$/.exec($);if(Q?.[1])return yq(Q[1]);if($.startsWith("diff --git "))return vV($.slice(11));let W=/^--- (.+)$/.exec($);if(W?.[1])return hq(W[1]);let X=/^\+\+\+ (.+)$/.exec($);if(X?.[1])return hq(X[1]);let Y=/^(?:rename|copy) (?:from|to) (.+)$/.exec($);if(Y?.[1])return uV(Y[1]);return[]}function vV($){let J=fV($);if(J.length===2&&J[0]&&J[1])return OQ(J[0],J[1]);let Q=kV($);return Q?OQ($.slice(Q.oldStart,Q.oldEnd),$.slice(Q.newStart,Q.newEnd)):[]}function fV($){let J=[],Q=0;while(Q<$.length&&J.length<2){while(z2($[Q]))Q++;if(Q>=$.length)break;let W=$[Q]==='"'||$[Q]==="'"?$[Q]:void 0;if(!W){let Y=Q;while(Q<$.length&&!z2($[Q]))Q++;J.push($.slice(Y,Q));continue}let X=cq($,Q,W);if(!X)return[];J.push(X.value),Q=X.end}while(z2($[Q]))Q++;return Q===$.length?J:[]}function kV($){let J=0;while(J<$.length&&z2($[J]))J++;let Q=$.length;while(Q>J&&z2($[Q-1]))Q--;let W=0,X=J;while(X<Q){if(!z2($[X])){X++;continue}let Y=X;while(X<Q&&z2($[X]))X++;if(Y===J||X===Q)continue;if(W++,W>SV)Z0();if(hV($,J,Y,X,Q))return{oldStart:J,oldEnd:Y,newStart:X,newEnd:Q}}return null}function hV($,J,Q,W,X){if(MQ($,J,Q,W,X))return!0;let Y=fq($,"/",J,Q),K=fq($,"/",W,X);if(Y<=J||K<=W)return!1;if(MQ($,J,Y,W,K))return!1;return MQ($,Y+1,Q,K+1,X)}function MQ($,J,Q,W,X){if(Q-J!==X-W)return!1;for(let Y=0;Y<Q-J;Y++)if($[J+Y]!==$[W+Y])return!1;return!0}function fq($,J,Q,W){for(let X=Q;X<W;X++)if($[X]===J)return X;return-1}function z2($){return $!==void 0&&EV.test($)}function cq($,J,Q){let W=[],X=J+1;while(X<$.length){let Y=$[X]??"";if(Y===Q)return{value:AV.decode(Uint8Array.from(W)),end:X+1};if(Y!=="\\"||Q==="'"){W.push(...vq.encode(Y)),X++;continue}let K=$.slice(X+1),B=/^[0-7]{1,3}/.exec(K)?.[0];if(B){W.push(Number.parseInt(B,8)),X+=B.length+1;continue}W.push(...vq.encode(yV(K[0]??""))),X+=2}return null}function yV($){return{a:"\x07",b:"\b",f:"\f",n:`
|
|
51
|
+
`,r:"\r",t:"\t",v:"\v"}[$]??$}function gV($){return M3(mV($))}function OQ($,J){if($==="/dev/null")return kq(J);if(J==="/dev/null")return kq($);if($.startsWith("a/")&&J.startsWith("b/"))return[$.slice(2),J.slice(2)].flatMap(M3);let Q=xV($,J)??($===J?dq($):null);return[$,J,...Q?[Q]:[]].flatMap(M3)}function kq($){let J=dq($);return[$,...J?[J]:[]].flatMap(M3)}function dq($){let J=$.indexOf("/");return J>0&&J<$.length-1?$.slice(J+1):null}function xV($,J){let Q=$.indexOf("/"),W=J.indexOf("/");if(Q<1||W<1)return null;if($.slice(0,Q)===J.slice(0,W))return null;let X=$.slice(Q+1);return X===J.slice(W+1)?X:null}function hq($){return gV(A9($,!0))}function uV($){return M3(A9($,!1))}function A9($,J){let Q=$.trim(),W=Q[0]==='"'||Q[0]==="'"?Q[0]:void 0;if(W){let X=cq(Q,0,W);if(X&&(J||Q.slice(X.end).trim()===""))return X.value}return J?Q.split("\t",1)[0]?.trim()??"":Q}function mV($){return $.startsWith("a/")||$.startsWith("b/")?$.slice(2):$}function M3($){return $===""||$==="/dev/null"?[]:[$]}function yq($){let J=$.split("\t",1)[0]?.trim().replace(/^['"]|['"]$/g,"")??"";return J===""||J==="/dev/null"?[]:[J]}var rq=new Set(["absolutepath","directorypath","directory_path","file","file_path","filepath","include","notebook_path","path","searchdirectory","search_directory","searchpath","targetfile","target_file"]),iq=new Set([...rq,"glob"]),pV=new Set([...iq,"pattern"]),cV=[],oq={parseCommand:e1,projectShellSyntax:Cq};class n0 extends Error{name="StructuralShellSyntaxLimitError";constructor(){super("Structural command analysis limit exceeded.")}}function S9($,J={}){let Q=dV({...oq,...J}),W=X4($.input),X=[];if(($.route.kind==="command"||$.route.kind==="unknown")&&W)X.push({usage:"input-candidate",source:W});if($.route.kind==="command"&&"command"in $&&$.command)X.push({usage:"declared-command",source:$.command});let Y=X.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]={...H,usages:[...H.usages,B.usage]},K}let U=$.route.kind==="command"?$.route.shell:"posix",G=Q.getCommandProgram(B.source,U);return K.push({usages:[B.usage],source:B.source,program:G,views:_Q(G),uncertainties:G.issues,shell:Q.getShellSyntax(B.source,G)}),K},[]);return{invocation:{toolName:$.toolName,route:$.route,context:$.context},commands:Y,paths:rV($),store:Q}}function f1($,J){return $.commands.find((Q)=>Q.usages.includes(J))}function L0($){if(!$.includes("$"))return $;return x6($,T0())}function dV($={}){let J={...oq,...$},Q=new Map,W=new Map,X=new WeakMap,Y=(B,q)=>{let U=`${q}\x00${B}`,G=W.get(U);if(G)return G;let H=J.parseCommand(B,q);return W.set(U,H),H};return{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=X.get(U);if(L)return L;let Z={status:"structural-limit",source:B,entries:cV,assignmentFallbacks:[]};return X.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 _Q($){return $.nodes.flatMap((J)=>{if(J.kind==="group")return _Q(J.body);if(J.kind!=="command")return[];return[...J.nested.flatMap((Q)=>_Q(Q)),J]})}function rV($){let J=$.route.kind==="grep"?iq:$.route.kind==="glob"?pV:rq;return[...FQ($.input,J),...$.route.kind==="patch"?VQ($.input):[]]}function R1($,J){let Q=new Set,W=!1;for(let X of $){if(X==="--"){W=!0;continue}if(W)continue;if(X.startsWith("-")&&!X.startsWith("--")&&X.length>1)for(let Y=1;Y<X.length;Y++){let K=X[Y];if(!K||!/[a-zA-Z]/.test(K))break;let B=`-${K}`;if(Q.add(B),J?.shortOptsWithValue?.has(B))break}}return Q}var iV=new Map([["bash",new Set(["O","o"])],["dash",new Set(["o"])],["ksh",new Set(["o"])],["sh",new Set(["o"])],["zsh",new Set(["o"])]]),oV=new Map([["zsh",new Set(["o"])]]),nV=new Map([["bash",new Set(["--init-file","--rcfile"])]]);function nq($,J){for(let Q=0;Q<J.length;Q++){let W=J[Q];if(W===void 0||W==="--"||W==="-"||W[0]!=="-"&&W[0]!=="+")return null;if(W.startsWith("--")){let K=nV.get($);if(aV(W,K))continue;if(!K?.has(W))continue;if(J[Q+1]===void 0)return null;Q++;continue}let X=sV($,W);if(X.commandSelected)return J[Q+X.followingValues+1]??null;let Y=J[Q+1];if($==="ksh"&&(W==="-o"||W==="+o")&&Y!==void 0&&Y[0]!=="-"&&Y[0]!=="+")Q++;Q+=X.followingValues}return null}function sV($,J){let Q=iV.get($),W=oV.get($),X=!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")X=!0;if($==="ksh"&&B==="o"){if(K+1<J.length){let q=J.slice(K+1);if(!X&&J[0]==="-"&&q==="c")continue;if(!X&&J[0]==="-"&&q[0]==="-"&&q.endsWith("c"))X=!0;break}if(X)Y++;continue}if(!Q?.has(B))continue;if(W?.has(B)&&K+1<J.length)break;Y++}return{commandSelected:X,followingValues:Y}}function aV($,J){return J!==void 0&&[...J].some((Q)=>$.startsWith(`${Q}=`))}var $_=new Set(["-S","--suffix"]);function C9($,J,Q,W){if($.status==="structural-limit")throw new n0;if($.status!=="complete")return W.findMalformedTarget($.source);let X={cwd:J,variables:new Map},Y=[];for(let K of $.entries){if(K.kind==="operator"){if(!K.boundary)continue;let B=W.findSegmentTarget(Y,X);if(B)return B;X=J_(Y,X,Q,W.normalizeCwd),Y=[];continue}if(K.kind==="redirection"){if(K.role==="file-write"&&K.target&&W.isRedirectionTarget(k1(K.target,X.variables),X))return K.target;continue}Y.push(K.text)}return W.findSegmentTarget(Y,X)}function k1($,J){return $.replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)(:?[-+])([^}]*)\}/g,(Q,W,X,Y)=>{let K=J.get(W);if(K===void 0)return Q;let B=X.startsWith(":")?K!=="":!0;if(X.endsWith("-"))return B?K:k1(Y,J);return B?k1(Y,J):""}).replace(/\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g,(Q,W)=>J.get(W)??Q).replace(/\$([A-Za-z_][A-Za-z0-9_]*)/g,(Q,W)=>J.get(W)??Q)}function O3($){return $.length>0&&$.every((J)=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(J))}function O1($,J,Q){let W=Q.environment.home,X=x6($.trim(),Q.environment).replace(/\\/g,"/");if(!X)return"";let Y=X==="~"?W:X.startsWith("~/")?sq(W,X.slice(2)):X;return a(eV(tV(Y)?Y:sq(J,Y)),Q.environment.paths,Q).replace(/\\/g,"/")}function T9($){let J=[],Q=null,W=!1;for(let X=0;X<$.length;X++){let Y=$[X];if(Y===void 0)break;if(!W&&Y==="--"){W=!0;continue}if(!W&&(Y==="-t"||Y==="--target-directory")){Q=$[++X]??null;continue}if(!W&&Y.startsWith("--target-directory=")){Q=Y.slice(19);continue}if(!W&&Y.startsWith("-t")&&Y.length>2){Q=Y.slice(2);continue}if(!W&&$_.has(Y)){X++;continue}if(!W&&(Y.startsWith("--suffix=")||Y.startsWith("--backup=")))continue;if(!W&&Y.startsWith("-"))continue;J.push(Y)}return Q?{sources:J,destination:Q}:{sources:J.slice(0,-1),destination:J.at(-1)??null}}function J_($,J,Q,W){let X=O3($)?new Map([...J.variables,...Q_($,J.variables)]):J.variables,Y=c1([...$],Q.environment),K=l(Y[0]??"").toLowerCase()==="cd"?Y[1]:void 0;return{cwd:!K||K==="-"?J.cwd:W(k1(K,X),J.cwd,Q),variables:X}}function Q_($,J){return $.flatMap((Q)=>{let W=/^([A-Za-z_][A-Za-z0-9_]*)(.*)$/.exec(Q),X=W?.[2]?.startsWith("=")?W[2].slice(1):void 0;return W?.[1]!==void 0&&X!==void 0?[[W[1],k1(X,J)]]:[]})}var d1="Git metadata and hooks are protected. Ask the user before modifying them.";function $U($,J=zQ($.invocation.context.executionCwd)){let Q=L2(T0()),W=$.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)=>q_(B,W,J,Q));return K?{target:K}:null}if($.invocation.route.kind!=="command")return null;let X=f1($,"input-candidate");if(!X)return null;let Y=C9(X.shell,W,Q,{findSegmentTarget:(K,B)=>G_(K,B,J,Q),isRedirectionTarget:(K,B)=>U_(K,B.cwd,J,Q),findMalformedTarget:()=>null,normalizeCwd:O1});return Y?{target:Y}:null}function zQ($,J=L2(T0())){if(typeof $!=="string"||!$)return null;let Q=J3(O1($,$,J));if(!Q)return null;try{let W=O1(Q,$,J),X=W_(Q),Y=X.isFile()?W:null,K=X.isFile()?uJ(Q):null,B=(X.isDirectory()?[W]:[K?.gitDir,K?.commonDir]).flatMap((U)=>U?[M0(O1(U,$,J))]:[]),q=[...new Set(X.isDirectory()?[M0(Q.replace(/\\/g,"/")),...B]:B)];return Object.freeze({entry:M0(W),markerFile:Y?M0(Y):null,directories:Object.freeze(q),hooksDirectories:Object.freeze([...new Set(q.flatMap((U)=>{let G=M0(X_(U,"hooks"));return[G,M0(O1(G,$,J))]}))])})}catch{return null}}function I2($,J,Q,W,X,Y=!1){if(!Q)return!1;let K=M0(O1($,J,X)),B=K.replace(/(\/\.?\*+)+$/,"");if(B!==K&&B!==""){if(DQ(B,Q))return!0;let q=Y||K.slice(B.length).includes("/."),U=(G)=>q?w9(G,B):Y_(G,B);if(Q.markerFile&&U(Q.markerFile))return!0;return W&&aq(Q).some(U)}if(DQ(K,Q))return!0;return W&&aq(Q).some((q)=>w9(q,K))}function Y_($,J){let Q=eq(J,$);if(Q===""||Q.startsWith("..")||tq(Q))return!1;return!Q.split(/[\\/]/)[0]?.startsWith(".")}function K_($,J,Q,W){return I2($,J,Q,!0,W)}function B_($,J,Q,W){if(!Q)return!1;return DQ(M0(O1($,J,W)),Q)}function q_($,J,Q,W){if(!Q)return!1;return JU($,J,Q,W,Q.entry)}function U_($,J,Q,W){if(!Q)return!1;return JU($,J,Q,W,Q.markerFile)}function JU($,J,Q,W,X){let Y=M0(O1($,J,W));return Y===X||WU(Y,Q)}function QU($,J,Q,W){if(!Q)return!1;return Q.hooksDirectories.some((X)=>$.some((Y)=>w9(X,M0(O1(Y,J,W)))))}function DQ($,J){return $===J.entry||J.directories.includes($)||WU($,J)}function WU($,J){return J.hooksDirectories.some((Q)=>w9($,Q))}function aq($){return[$.entry,...$.directories,...$.hooksDirectories]}function w9($,J){let Q=eq(J,$);return Q===""||!/^\.\.(?:[\\/]|$)/.test(Q)&&!tq(Q)}function M0($){return process.platform==="win32"?$.toLowerCase():$}function G_($,J,Q,W){if(O3($))return null;let X=c1([...$],W.environment);if(l(X[0]??"").toLowerCase()!=="mv")return null;let Y=T9(X.slice(1)),K=Y.sources.find((B)=>K_(k1(B,J.variables),J.cwd,Q,W));if(K)return K;return Y.destination&&B_(k1(Y.destination,J.variables),J.cwd,Q,W)?Y.destination:null}import{isAbsolute as IQ,join as H_,normalize as Z_,sep as v9}from"path";var XU=process.platform==="win32",L_=/[*?]/;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(!IQ(Q))return"must be an absolute path or start with ~/";return F3(Q,J)}function h9($,J){let Q=YU($,J);if(Q===null)return"must be a non-empty path string";if(!IQ(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 M_="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 YU($,J){if(typeof $!=="string"||$.trim()==="")return null;return N3($.trim().replace(/^\$(?:\{HOME\}|HOME(?=\/|$))/,"~"),J)}function y9($,J){let Q=YU($,J);if(Q===null)return"must be a non-empty path string";if(L_.test(Q))return"cannot contain glob characters (* or ?); list the exact file or directory";if(!IQ(Q))return null;if(F3(Q,J)!==null)return M_;return N_(Q,J)?O_:null}function N_($,J){let Q=f9($),W=f9(H_(J,".cc-safety-net"));return Q===W||Q.startsWith(`${W}${v9}`)}function F3($,J){let Q=f9($),W=f9(J);if(Q===W)return"cannot be the home directory";let X=Q.endsWith(v9)?Q:`${Q}${v9}`;if(W.startsWith(X))return"cannot contain the home directory";return null}function f9($){let J=Z_($);if(XU)J=J.replace(/\//g,"\\").toLowerCase();if(J.length>(XU?3:1)&&J.endsWith(v9))J=J.slice(0,-1);return J}var __=process.platform==="win32",KU=64,D_=16384;function V3($){let J=Oq($,KU,KU,D_);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:z_($)}}function z_($){let J=$.parts.filter((Q)=>Q.provenance==="variable"&&/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test(Q.raw));return J.length>0&&J.every((Q)=>I_($.raw,Q.span.start-$.span.start))}function I_($,J){let Q=null,W=!1;for(let X=0;X<J;X++){let Y=$[X];if(W){W=!1;continue}if(Y==="\\"&&Q!=="'"){W=!0;continue}if(Q===Y){Q=null;continue}if(Q===null&&(Y==="'"||Y==='"'))Q=Y}return Q==='"'}function j2($){let J=$.environment.home,Q=$.environment.paths,W=L2($.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:A_($.allowPaths,J,Q,W),protectedGitMetadata:$.protectedGitMetadata,pathCanonicalizationContext:W}}function J0($,J,Q={}){let W=Q.targetIsLiteral??!1;if(!W&&J.tmpdirWordSplittingUnsafe&&!Q.tmpdirWordSplittingProtected&&S_($))return{kind:"outside_anchored_cwd"};let X=!W&&GU($,J.posixShell);if(Z2($))return{kind:"outside_anchored_cwd"};if(bQ($,W))return{kind:"root_or_home_target"};if(j_($,J,W))return{kind:"root_or_home_target"};if(J.resolvedCwd&&I2($,J.resolvedCwd,J.protectedGitMetadata,!0,J.pathCanonicalizationContext,!J.posixShell))return{kind:"git_metadata_target"};if(R_($,J.trustTmpdirVar,J.posixShell,X,W,Q.tmpdirWordSplittingProtected??!1,J.trustedTmpdirValue,J.environment))return{kind:"temp_target"};if(X)return{kind:"dynamic_target"};if(E_($,J,W))return{kind:"temp_target"};let Y=J.anchoredCwd;if(Y){if(!Q.skipHomeCwd&&v_(Y,J.environment.home,J.environment.paths,J.pathCanonicalizationContext))return{kind:"home_cwd_target"};if(!Q.skipCwdSelf&&f_($,J.resolvedCwd??Y,J.environment.paths,J.pathCanonicalizationContext))return{kind:"cwd_self_target"};if(k_($,Y,J.resolvedCwd??Y,X,W,J.environment.paths,J.pathCanonicalizationContext))return{kind:"within_anchored_cwd"}}return{kind:"outside_anchored_cwd"}}function qU($,J,Q={}){let{containmentTarget:W,...X}=Q;if(J0($,J,X).kind!=="temp_target")return!1;let Y=$.trim();if(b_(Y))return!1;if(oB(Y,J.environment))return!1;return![J.anchoredCwd,J.resolvedCwd].some((K)=>h_(W??Y,K,J.environment.paths,J.pathCanonicalizationContext))}function bQ($,J=!1){let Q=$.trim(),W=BU.normalize(Q),X=Q.replace(/\\/g,"/"),Y=W==="/"?W:W.replace(/\/+$/,"");if(Y==="/"||Y.startsWith("/")&&Y.slice(1).split("/").every((K)=>/^\*+$/.test(K)))return!0;if(/^[A-Za-z]:\/+\*?$/.test(X)||/^\/\/[^/]+\/+[^/]+(?:\/+\*?)?$/.test(X))return!0;if(!J&&(W==="~"||W==="~/"||W==="~/*"))return!0;if(!J&&(W==="$HOME"||W==="$HOME/"||W==="$HOME/*"))return!0;if(!J&&(W==="${HOME}"||W==="${HOME}/"||W==="${HOME}/*"))return!0;return!1}function j_($,J,Q){let W=$.trim(),X=Q?W:W==="*"?".":W.endsWith("/*")?W.slice(0,-2):W;if(!X)return!1;try{let Y=PQ(X)?X:J.resolvedCwd?Y4(J.resolvedCwd,X):null;if(!Y)return!1;let K=P1(a(Y,J.environment.paths,J.pathCanonicalizationContext));if(K===V_(K).root)return!0;return K===P1(a(J.environment.home,J.environment.paths,J.pathCanonicalizationContext))}catch{return!1}}function P1($){let J=F_($);if(__){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 R_($,J,Q,W,X,Y,K,B){let q=$.trim();if(UU(q))return!1;if(!W&&rJ(q,B))return!0;return(J||Y&&K)&&Q&&!X&&P_(q,Q)}function P_($,J){return["$TMPDIR","${TMPDIR}"].some((Q)=>{if($===Q)return!0;if(!$.startsWith(`${Q}/`))return!1;return!GU($.slice(Q.length+1),J)})}function b_($){let J=/^(?:\$TMPDIR|\$\{TMPDIR\})(?:\/(.*))?$/.exec($);if(!J)return!1;return BU.normalize(`/${J[1]??""}`)==="/"}function UU($){return $.split(/[\\/]+/).includes("..")}function A_($,J,Q,W){if(!$?.length)return[];return $.flatMap((X)=>{let Y=N3(X.trim(),J);if(!PQ(Y))return[];try{let K=a(Y,Q,W);if(F3(K,a(J,Q,W)))return[];return[P1(K)]}catch{return[]}})}function E_($,J,Q){if(J.allowRoots.length===0)return!1;let W=$.trim();if(UU(W))return!1;let X=Q?W:N3(W,J.environment.home),Y=J.resolvedCwd??J.anchoredCwd,K=PQ(X)?X:Y?Y4(Y,X):null;if(!K)return!1;try{let B=P1(a(K,J.environment.paths,J.pathCanonicalizationContext));return J.allowRoots.some((q)=>B===q||B.startsWith(q.endsWith(RQ)?q:`${q}${RQ}`))}catch{return!1}}function S_($){return/\$(?:TMPDIR(?![A-Za-z0-9_])|\{TMPDIR\})/.test($)}function GU($,J=!1){return $.includes("$")||$.includes("`")||C_($)||J&&T_($)}function C_($){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 T_($){let J=!1;for(let Q=0;Q<$.length;Q++){let W=$[Q];if(J){J=!1;continue}if(W==="\\"){J=!0;continue}if(W==="{"&&w_($,Q)||(W==="+"||W==="@"||W==="!")&&$[Q+1]==="(")return!0}return!1}function w_($,J){let Q=$.indexOf("}",J+1);if(Q===-1)return!1;let W=$.slice(J+1,Q);return W.includes(",")||W.includes("..")}function v_($,J,Q,W){try{return P1(a($,Q,W))===P1(a(J,Q,W))}catch{try{return P1($)===P1(J)}catch{return!1}}}function f_($,J,Q,W){if($==="."||$==="./"||$===".\\")return!0;try{return P1(a(Y4(J,$),Q,W))===P1(a(J,Q,W))}catch{try{return P1(Y4(J,$))===P1(J)}catch{return!1}}}function k_($,J,Q,W,X,Y,K){let B=Q??J;if(!X&&($.startsWith("~")||$.startsWith("$HOME")||$.startsWith("${HOME}")))return!1;if(W)return!1;if($.startsWith("/")||/^[A-Za-z]:[\\/]/.test($))try{return jQ($,J,Y,K)}catch{return!1}if($.startsWith("./")||$.startsWith(".\\")||!$.includes("/")&&!$.includes("\\"))try{return jQ(Y4(B,$),J,Y,K)}catch{return!1}if($.startsWith("../"))return!1;try{return jQ(Y4(B,$),J,Y,K)}catch{return!1}}function jQ($,J,Q,W){try{return HU(a($,Q,W),a(J,Q,W))}catch{return!1}}function h_($,J,Q,W){if(!J)return!1;try{return HU(a(J,Q,W),a($,Q,W))}catch{return!0}}function HU($,J){let Q=P1($),W=P1(J);return Q.startsWith(`${W}${RQ}`)||Q===W}var y_=new Set(["remove-item","ri","del","erase","rd","rm","rmdir"]),ZU="PowerShell Remove-Item -Recurse -Force outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",g_="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.",LU="PowerShell Remove-Item target contains variables or pipeline input that cannot be verified safely. Use literal paths within cwd.",MU="PowerShell Remove-Item targeting root or home directory is extremely dangerous and always blocked.",x_="PowerShell Remove-Item -Recurse -Force in home directory is dangerous. Change to a project directory first.",u_="PowerShell Remove-Item receives pipeline input that cannot be verified safely. Use explicit literal paths within cwd.";function OU($,J,Q,W=j2({...Q,allowPaths:Q.policy?.destructiveCommandAllowPaths})){return m_($.words.map((X)=>({kind:"word",text:X.text,dynamic:X.provenance!=="literal"})),J,W,Q.policy)}function m_($,J,Q,W){let X=$.filter((q)=>q.kind==="word"),Y=p_(X),K=X[Y];if(!K||!y_.has(t_(K.text)))return null;let B=l_(X.slice(Y+1));if(B.whatIfProtected)return null;if(q1(W,"powershell.remove-item-pipeline-dynamic-target",Q.strict)&&J&&(B.targets.length===0||B.recursive))return D("powershell.remove-item-pipeline-dynamic-target",u_);for(let q of B.targets)if(!Z2(q.text)&&bQ(EQ(q.text)))return D(B.recursive&&B.force?"powershell.remove-item-recursive-force-root-or-home":"powershell.remove-item-root-or-home",MU);for(let q of B.targets)if(Q.resolvedCwd&&I2(EQ(q.text),Q.resolvedCwd,Q.protectedGitMetadata,B.recursive,Q.pathCanonicalizationContext,!0))return D("powershell.remove-item-git-metadata",d1);if(!B.recursive||!B.force)return null;if(q1(W,"powershell.remove-item-recursive-force-dynamic-target",Q.strict)&&(B.hasDynamicTarget||B.targets.length===0))return D("powershell.remove-item-recursive-force-dynamic-target",LU);for(let q of B.targets){let U=e_(J0(EQ(q.text),Q),Q,W);if(U)return U}return null}function l_($){let J=[],Q=!1,W=!1,X=!1,Y=!1,K=!1;for(let B=0;B<$.length;B++){let q=$[B];if(!q||q.kind!=="word")continue;if(c_(q))continue;if(K){J.push(AQ(q)),Y=Y||q.dynamic;continue}if(q.text==="--"){K=!0;continue}let U=r_(q.text);if(!U){J.push(AQ(q)),Y=Y||q.dynamic;continue}if(i_(U.name)){let G=U.value?d_(U.value,q):$[++B];if(G?.kind==="word")J.push(AQ(G)),Y=Y||G.dynamic;else Y=!0;continue}if(o_(U.name)){Q=!0;continue}if(n_(U.name)){W=!0;continue}if(s_(U.name))X=a_(U.value)}return{targets:J,recursive:Q,force:W,whatIfProtected:X,hasDynamicTarget:Y}}function p_($){let J=$[0];if(J?.kind==="word"&&J.text==="&"||J?.text===".")return $.length>1?1:0;return 0}function AQ($){return{text:$.kind==="word"?$.text:"",dynamic:$.kind==="word"&&$.dynamic}}function c_($){return $.kind==="word"&&$.text===","}function EQ($){let J=$.replace(/\\/g,"/"),Q=/^\$env:(?:userprofile|home)(?=$|\/)/i.exec(J);return Q?`$HOME${J.slice(Q[0].length)}`:J}function d_($,J){return{kind:"word",text:$,dynamic:J.kind==="word"&&(J.dynamic||$.includes("$"))}}function r_($){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 i_($){return"path".startsWith($)||"literalpath".startsWith($)}function o_($){return"recurse".startsWith($)}function n_($){return $.length>=2&&"force".startsWith($)}function s_($){return $==="wi"||"whatif".startsWith($)}function a_($){if($===void 0||$==="")return!0;let J=$.toLowerCase();return J==="$true"||J==="true"}function t_($){return $.toLowerCase()}function e_($,J,Q){switch($.kind){case"root_or_home_target":return D("powershell.remove-item-recursive-force-root-or-home",MU);case"git_metadata_target":return D("powershell.remove-item-git-metadata",d1);case"temp_target":return null;case"dynamic_target":if(!q1(Q,"powershell.remove-item-recursive-force-dynamic-target",J.strict))return null;return D("powershell.remove-item-recursive-force-dynamic-target",LU);case"home_cwd_target":return D("powershell.remove-item-recursive-force-home-cwd",x_);case"cwd_self_target":return D("powershell.remove-item-recursive-force-cwd-self",ZU);case"within_anchored_cwd":if(!q1(Q,"powershell.remove-item-recursive-force-paranoid",J.paranoid))return null;return D("powershell.remove-item-recursive-force-paranoid",g_);case"outside_anchored_cwd":return D("powershell.remove-item-recursive-force-outside-cwd",ZU)}}import{normalize as $$}from"path";var h1=new Set(["awk","gawk","nawk","mawk"]),$D=new Set(["-e","--source"]),JD=new Set(["-F","-v","--assign","--field-separator"]),NU=new Set(["-f","--file"]),QD=new Set(["print","printf","return"]),FU=[{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"}],WD="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 W=!1;for(let X of XD($)){let Y=YD(X,Q);if(!Y)continue;for(let K of Y.commands){let B=J(K);if(B)return B;if(K.includes("{}")||/[$`]/.test(K))W=!0}W||=Y.dynamic}return W?D("awk.system-dynamic",WD):null}function CQ($){let J=[],Q=!1,W=!1,X=!0,Y=!0;for(let K=1;K<$.length;K++){let B=$[K];if(B===void 0)break;if(X&&B==="--"){X=!1;continue}if(X&&$D.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(X&&B.startsWith("--source=")){Q=!0,J.push({tokenIndex:K,kind:"inline-code",value:B.slice(9)});continue}if(X&&B.startsWith("-e")&&B.length>2){Q=!0,J.push({tokenIndex:K,kind:"inline-code",value:B.slice(2)});continue}if(X&&(JD.has(B)||NU.has(B))){if(NU.has(B)){W=!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(X&&(B.startsWith("-F")||B.startsWith("-v")&&B.slice(2).includes("=")))continue;if(X&&B.startsWith("-f")&&B.length>2){W=!0,J.push({tokenIndex:K,kind:"program-file",value:B.slice(2)});continue}if(X&&(B.startsWith("--assign=")||B.startsWith("--field-separator=")))continue;if(X&&B.startsWith("--file=")){W=!0,J.push({tokenIndex:K,kind:"program-file",value:B.slice(7)});continue}if(X&&B.startsWith("-")&&B!=="-")continue;if(X=!1,!Q&&!W)J.push({tokenIndex:K,kind:"main-program",value:B});return{sources:J,optionsOpen:!1}}return{sources:Y?J:[],optionsOpen:X&&Y}}function D3($){return CQ($).sources}function XD($){return D3($).filter((J)=>J.kind!=="program-file").map((J)=>J.value)}function YD($,J){T1(J,$);let Q=$.includes("system")?TQ($,J):null,W=KD($,J);if(!Q&&!W)return null;return{dynamic:!!Q?.dynamic||!!W?.dynamic,commands:[...Q?.commands??[],...W?.commands??[]]}}function TQ($,J){T1(J,$);let Q=[],W=!1,X=!1,Y=0;while(Y<$.length){let K=$[Y];if(K==='"'||K==="'"){Y=x9($,Y,K)?.endIndex??Y+1;continue}if(K==="#"){Y=VU($,Y+1);continue}if(K==="/"&&_U($,Y)){Y=DU($,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!=="'"){W=!0,X=!0;continue}let G=x9($,q,U);if(!G){W=!0,X=!0;continue}if(q=g9($,G.endIndex),W=!0,$[q]!==")"){X=!0,Y=G.endIndex;continue}Q.push(G.value),Y=q+1}if(!W)return null;return{dynamic:X,commands:Q}}function KD($,J){T1(J,$);let Q=[],W=!1,X=!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=VU($,Y+1),K=Y,B=null,q=null,U=Y;continue}if(G==="/"&&_U($,Y)){let Z=DU($,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&&(SQ($,Y,"print")||SQ($,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(SQ($,L,"getline")){X=!0;let Z=UD(K,q,U);if(Z===null)W=!0;else Q.push(Z);U=H,Y=H;continue}if(HD(K,B)){X=!0;let Z=qD($,L);if(!Z){W=!0,U=H,Y=H;continue}if(!BD($,Z.endIndex)){W=!0,U=Z.endIndex,Y=Z.endIndex;continue}Q.push(Z.value),U=Z.endIndex,Y=Z.endIndex;continue}U=H,Y++}if(!X)return null;return{dynamic:W,commands:Q}}function _3($){return!!$&&/[A-Za-z0-9_]/.test($)}function g9($,J){let Q=J;while(/\s/.test($[Q]??""))Q++;return Q}function BD($,J){let Q=J;while(/[\t\f\v\r ]/.test($[Q]??""))Q++;let W=$[Q];return!W||`;
|
|
53
|
+
}#`.includes(W)}function x9($,J,Q){let W="",X=!1;for(let Y=J+1;Y<$.length;Y++){let K=$[Y];if(!K)break;if(X){let B=GD($,Y);if(!B)return null;W+=B.value,Y=B.endIndex,X=!1;continue}if(K==="\\"){X=!0;continue}if(K===Q)return{value:W,endIndex:Y+1};W+=K}return null}function qD($,J){let Q=$[J];if(Q!=='"'&&Q!=="'")return null;return x9($,J,Q)}function UD($,J,Q){if(!J)return null;return J.startIndex>=$&&J.endIndex===Q?J.value:null}function GD($,J){let Q=$[J];if(!Q)return null;if(Q==="x"){let X=$.slice(J+1,J+3);if(!/^[0-9A-Fa-f]{2}$/.test(X))return null;return{value:String.fromCharCode(Number.parseInt(X,16)),endIndex:J+2}}if(/[0-7]/.test(Q)){let X=/^[0-7]{1,3}/.exec($.slice(J));if(!X)return null;return{value:String.fromCharCode(Number.parseInt(X[0],8)),endIndex:J+X[0].length-1}}return{value:{a:"\x07",b:"\b",f:"\f",n:`
|
|
54
|
+
`,r:"\r",t:"\t",v:"\v"}[Q]??Q,endIndex:J}}function SQ($,J,Q){return $.startsWith(Q,J)&&!_3($[J-1])&&!_3($[J+Q.length])}function HD($,J){return J!==null&&J>=$}function VU($,J){let Q=$.indexOf(`
|
|
55
|
+
`,J);return Q===-1?$.length:Q+1}function _U($,J){let Q=ZD($,J);if(Q===-1)return!0;if("{([,;!~=".includes($[Q]??""))return!0;let W=Q;while(_3($[W-1]))W--;return QD.has($.slice(W,Q+1))}function ZD($,J){for(let Q=J-1;Q>=0;Q--)if(!/\s/.test($[Q]??""))return Q;return-1}function DU($,J){let Q=!1;for(let W=J;W<$.length;W++){let X=$[W];if(!X)break;if(Q){Q=!1;continue}if(X==="\\"){Q=!0;continue}if(X==="/")return W+1}return null}var zU=new Set(["rm","find","xargs","parallel"]),LD=new Set(["sudo","env","command","builtin"]),MD=new Set(["git","busybox",...zU,...U1,...gB,...h1]);function m9($,J){let Q=$[0];if(!Q||!J.transparentWrappers.includes(l(Q)))return null;let W=l(Q),X=$[1]==="--"?2:1,Y=OD($,X,W,J),K=Y[0];if(K===void 0)return null;return{wrapper:W,tokens:[...$.slice(K)],childIndex:K,alternativeChildIndices:Y.slice(1)}}function OD($,J,Q,W){let X=$[1]==="--",Y=[];for(let K=J;K<$.length;K++){let B=$[K];if(!B)continue;if(l(B)!==Q&&ND(B,W))Y.push(K);else if($9.has(r(B)))break;if(X)break}return Y}function ND($,J){let Q=l($),W=r($);return W==="git"||Q==="busybox"||R2($)||zU.has(Q)||J.transparentWrappers.includes(Q)||U1.has(W)||$==="$SHELL"||w1(W)||h1.has(W)||J.rules.some((X)=>X.command===Q)}function R2($){return LD.has($.toLowerCase())}function IU($){let J=r($);return MD.has(J)||w1(J)}function Q0($,J){let Q=J.policy??{rules:[],transparentWrappers:[]};return wQ([...$],J.environment,J.cwd,J.cwd,new Map,new Map(J.envAssignments??[]),Q,{iterations:0},!1)}function*wQ($,J,Q,W,X,Y,K,B,q){let U=iJ($,J,Q,Y);if(U.unverifiableEnvSplit)throw new N2;for(let[Z,M]of U.envAssignments)Y.set(Z,M),X.set(Z,M);let{tokens:G,cwd:H}=U;if(R2(G[0]??""))throw new p1;let L=m9(G,K);if(L){for(let Z of[L.childIndex,...L.alternativeChildIndices])jU(B),yield*wQ(Z===L.childIndex?L.tokens:[...G.slice(Z)],J,H,W,new Map(X),new Map(Y),K,B,!0);return}if(VD(G)){jU(B),yield*wQ([...G.slice(1)],J,H,W,X,Y,K,B,q);return}yield FD(G,H,W,X,Y,q)}function FD($,J,Q,W,X,Y){return{tokens:$,cwd:J===null?void 0:J??Q,wrapperCwd:J,wrapperEnvAssignments:W,envAssignments:X,head:l($[0]??"").toLowerCase(),wrappedByTransparent:Y}}function jU($){if($.iterations>=s2)throw new p1;$.iterations++}function VD($){return l($[0]??"").toLowerCase()==="busybox"&&$.length>1}function vQ($,J){let Q=[],W=J;while(W<$.length){let X=$[W];if(X===void 0||X===":::")break;Q.push(X),W++}return{markerIndex:W<$.length&&$[W]===":::"?W:-1,templateTokens:Q}}function W0($){let J=!1,Q=!1;for(let W of $){if(W==="--")break;if(W==="-r"||W==="-R"||fQ(W,"recursive"))J=!0;else if(W==="-f"||fQ(W,"force"))Q=!0;else if(W.startsWith("-")&&!W.startsWith("--")){if(W.includes("r")||W.includes("R"))J=!0;if(W.includes("f"))Q=!0}}return J&&Q}function RU($){let J=$.indexOf("--");return $.slice(1,J===-1?void 0:J).some((Q)=>fQ(Q,"recursive")||/^-[A-Za-z]+$/.test(Q)&&/[rR]/.test(Q.slice(1)))}function fQ($,J){return $.length>2&&$.startsWith("--")&&J.startsWith($.slice(2))}var _D="find -delete permanently removes files. Use -print first to preview.",DD="find -exec rm -rf is dangerous. Use explicit file list instead.",zD=new Set(["-exec","-execdir","-ok","-okdir"]),ID=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(v),W=jD($,Q,J);if(W)return W;if(c9(Q,1)&&!PD($,Q,J)){let K=k(D("find.delete",_D),J.policy);if(K)return K}let X=J.derivedCommandWorkBudget??t6(),Y=0;while(Y<Q.length){let K=Q[Y],B=s0(K??"");if(B>0){Y+=B+1;continue}if(!h0(K)){Y++;continue}G0(X,Q.length-Y-1);let q=z3(Q,Y);Y=q.nextIndex;let U=AD(q.tokens,J.environment);if(U){let Z=k(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:k(H,J.policy);if(L)return L}return null}function jD($,J,Q){if(!c9(J,1)&&!kQ(J,Q.environment))return null;let X=p9($)??p(["."]),Y=j2({...Q,allowPaths:Q.policy?.destructiveCommandAllowPaths,posixShell:!0});for(let K of X){let B=V3(K);for(let q of B.expandedTargets??[v(K)]){let U=J0(q,Y,{targetIsLiteral:B.expandedTargets!==void 0||B.targetIsLiteral,tmpdirWordSplittingProtected:B.tmpdirWordSplittingProtected});if(U.kind==="root_or_home_target")return D("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 D("find.delete-git-metadata",d1)}}if(RD(J)&&Y.resolvedCwd&&QU(X.map(v),Y.resolvedCwd,Y.protectedGitMetadata,Y.pathCanonicalizationContext))return D("find.delete-git-metadata",d1);return null}function kQ($,J){let Q=0;while(Q<$.length){if(!h0($[Q])){Q++;continue}let W=z3($,Q),X=c1([...W.tokens],J),Y=l(X[0]??"").toLowerCase();if((Y==="rm"||Y==="rmdir")&&X.some((K)=>K.includes("{}")))return!0;Q=W.nextIndex}return!1}function RD($){return $.some((J,Q)=>{if(!["-name","-iname"].includes(J))return!1;return $[Q+1]?.toLowerCase()==="hooks"})}function PD($,J,Q){if(J.includes("-L")||J.includes("-f")||J.includes("-follow"))return!1;let W=p9($);if(!W)return!1;let X=Q.envAssignments??new Map,Y=dJ(X,Q.environment),K=Q.trustedTmpdirValue??f0(X,Q.environment),B=Q.allowTmpdirVar??!B3(X,Q.environment),q=j2({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??H0(X,Q.environment),trustedTmpdirValue:K});return W.every((U)=>{let G=V3(U);if(G.unsafeBraceExpansion)return!1;return(G.expandedTargets??[v(U)]).every((H)=>qU(H,q,{containmentTarget:bD(H,Y),targetIsLiteral:G.expandedTargets!==void 0||G.targetIsLiteral,tmpdirWordSplittingProtected:G.tmpdirWordSplittingProtected}))})}function bD($,J){if(!J)return $;return $.replace(/^(?:\$TMPDIR|\$\{TMPDIR\})/,()=>J)}function p9($){let J=(X)=>{let Y=$[X];return Y?v(Y):void 0},Q=1;while(J(Q)==="-H"||J(Q)==="-P")Q++;if(J(Q)==="--")Q++;let W=[];while(Q<$.length){let X=J(Q),Y=$[Q];if(!X||!Y||X.startsWith("-")||["!","(",")"].includes(X))break;W.push(Y),Q++}return W.length>0?W:null}function AD($,J){let Q=c1([...$],J);if(Q.length===0)return null;let W=l(Q[0]??"");if(W==="busybox"&&Q.length>1)Q=Q.slice(1),W=l(Q[0]??"");if(W==="rm"&&W0(Q))return D("find.exec-rm-recursive-force",DD);return null}function z3($,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 W=$[Q];if(!W){Q++;continue}if(h0(W)){Q=z3($,Q).nextIndex;continue}let X=s0(W);if(X>0){Q+=X+1;continue}if(W==="-delete")return!0;Q++}return!1}function s0($){return ID.get($)??(/^-newer[A-Za-z]{2}$/.test($)?1:0)}function h0($){return $!==void 0&&zD.has($)}function I3($){let J=e1($,"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((W)=>W.provenance==="command-substitution"))return null;return Q.words.map((W)=>W.text)}var ED=5,hQ="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 _1($){let J=$.indexOf("--");if(J===-1)return{index:-1,before:$,after:[]};return{index:J,before:$.slice(0,J),after:$.slice(J+1)}}function bU($,J,Q){let W=EU($,J,Q),X=SD(W.entries);if(X.size===0)return{blockedReason:W.blockedReason,expanded:!1,tokens:$};let Y=$,K=!1;for(let B=0;B<ED;B++){let{subcommand:q,rest:U}=X0(Y),G=q?.toLowerCase();if(!G||!X.has(G))return{blockedReason:W.blockedReason,expanded:K,tokens:Y};let H=X.get(G),L=fD(H);if(L===null||L.length===0)return{blockedReason:hQ,expanded:!0,tokens:Y};Y=["git",...L,...U],K=!0}return{blockedReason:hQ,expanded:!0,tokens:Y}}function AU($,J,Q){return EU($,J,Q).entries.some((W)=>W.key.toLowerCase()==="core.sshcommand")}function X0($){if($.length===0)return{subcommand:null,rest:[]};let J=$[0];if((J?l(J).toLowerCase():null)!=="git")return{subcommand:null,rest:[]};let W=1;while(W<$.length){let X=$[W];if(!X)break;if(X==="--"){let Y=$[W+1];if(Y&&!Y.startsWith("-"))return{subcommand:Y,rest:$.slice(W+2)};return{subcommand:null,rest:$.slice(W+1)}}if(X.startsWith("-"))if(U0.has(X))W+=2;else if(X.startsWith("-c")&&X.length>2)W++;else if(X.startsWith("-C")&&X.length>2)W++;else W++;else return{subcommand:X,rest:$.slice(W+1)}}return{subcommand:null,rest:[]}}function SD($){let J=new Map;for(let Q of $){let W=Q.key.toLowerCase();if(!W.startsWith("alias."))continue;let X=W.slice(6);if(X!=="")J.set(X,Q.value)}return J}function EU($,J,Q){if($.length===0)return{blockedReason:null,entries:[]};let W=$[0];if((W?l(W).toLowerCase():null)!=="git")return{blockedReason:null,entries:[]};let Y=TD(J,Q);return{blockedReason:Y.blockedReason,entries:[...Y.entries,...CD($,J,Q)]}}function CD($,J,Q){let W=[],X=1;while(X<$.length){let Y=$[X];if(!Y||Y==="--"||!Y.startsWith("-"))return W;if(Y==="-c"){let K=yQ($[X+1]);if(K)W.push(K);X+=2;continue}if(Y.startsWith("-c")&&Y.length>2){let K=yQ(Y.slice(2));if(K)W.push(K);X++;continue}if(Y==="--config-env"){let K=PU($[X+1],J,Q);if(K)W.push(K);X+=2;continue}if(Y.startsWith("--config-env=")){let K=PU(Y.slice(13),J,Q);if(K)W.push(K);X++;continue}if(U0.has(Y)){X+=2;continue}X++}return W}function TD($,J){let Q=wD($,J),W=vD($,J);return{blockedReason:Q===null||W===null?hQ:null,entries:[...Q??[],...W??[]]}}function wD($,J){let Q=l1("GIT_CONFIG_PARAMETERS",$,J);if(Q===void 0)return[];let W=[],X=I3(Q);if(!X)return null;for(let Y of X){let K=yQ(Y);if(!K)return null;W.push(K)}return W}function vD($,J){let Q=l6($,J);if(Q.state==="absent")return[];if(Q.state==="invalid")return null;let W=[];for(let X=0;X<Q.count;X++){let Y=l1(`GIT_CONFIG_KEY_${X}`,$,J)?.trim(),K=l1(`GIT_CONFIG_VALUE_${X}`,$,J);if(!Y||K===void 0)return null;W.push({key:Y,value:K})}return W}function yQ($){if(!$)return null;let J=$.indexOf("=");return{key:(J===-1?$:$.slice(0,J)).trim(),value:J===-1?void 0:$.slice(J+1)}}function PU($,J,Q){let W=$?.indexOf("=")??-1;if(!$||W===-1)return null;return{key:$.slice(0,W).trim(),value:l1($.slice(W+1),J,Q)}}function fD($){let J=$?.trimStart();if(!J||J.startsWith("!"))return null;return I3(J)}var kD="git checkout -- discards uncommitted changes permanently. Use 'git stash' first.",hD="git checkout --force discards uncommitted changes. Use 'git stash' first.",yD="git checkout <ref> -- <path> overwrites working tree with ref version. Use 'git stash' first.",gD="git checkout --pathspec-from-file can overwrite multiple files. Use 'git stash' first.",xD="git checkout with multiple positional args may overwrite files. Use 'git switch' for branches or 'git restore' for files.",uD="git switch --discard-changes discards uncommitted changes. Use 'git stash' first.",mD="git switch --force discards uncommitted changes. Use 'git stash' first.",lD="git restore discards uncommitted changes. Use 'git stash' first, or use --staged to only unstage.",pD="git restore --worktree explicitly discards working tree changes. Use 'git stash' first.",cD="git reset --hard destroys all uncommitted changes permanently. Use 'git stash' first.",dD="git reset --merge can lose uncommitted changes. Use 'git stash' first.",rD="git clean -f removes untracked files permanently. Use 'git clean -n' to preview first.",iD="git rm --force removes tracked files from the working tree. Use 'git rm --cached' to keep the files, or 'git rm --dry-run' to preview first.",oD="git push --force destroys remote history. Use --force-with-lease for safer force push.",nD="git push deletes remote refs. Ask the user to run it manually if deletion is intended.",sD="git push --mirror can force-update and delete remote refs. Ask the user to run it manually if mirror push is intended.",aD="git branch -D force-deletes without merge check. Use -d for safe delete.",tD="git rebase --abort discards rebase conflict resolutions. Use 'git status' first.",eD="git merge --abort discards merge conflict resolutions. Use 'git status' first.",$z="git tag -d permanently deletes tags. Ask the user to run it manually if deletion is intended.",Jz="git reflog delete removes recovery history. Ask the user to run it manually if deletion is intended.",Qz="git stash drop permanently deletes stashed changes. Consider 'git stash list' first.",Wz="git stash clear deletes ALL stashed changes permanently. Use 'git stash list' to review; ask the user to run it manually if intended.",Xz="git worktree remove --force can delete uncommitted changes. Remove --force flag.",SU=new Set(["-b","-B","--orphan","--conflict","--inter-hunk-context","--pathspec-from-file","--unified"]),CU=new Set(["--recurse-submodules","--track","-t"]),gQ=new Set(["-b","-B","-U"]),xQ=new Set(["-c","-C"]),Yz=new Set(["--source","--conflict","--unified","--inter-hunk-context"]),Kz=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 c($,J){let Q=$.split("=",1)[0]??$;return Q.length>=4&&J.startsWith(Q)&&Q.startsWith("--")&&Q.slice(2).length>=2}var d9=new Set(["branch","checkout","clean","merge","push","rebase","reflog","reset","restore","rm","stash","switch","tag","worktree"]);function wU($){let{subcommand:J,rest:Q}=X0($);if(!J)return null;switch(J.toLowerCase()){case"checkout":return a0(Bz(Q));case"switch":return a0(qz(Q));case"restore":return a0(Gz(Q));case"reset":return Zz(Q);case"clean":return a0(Mz(Q));case"rm":return a0(Oz(Q));case"push":return P2(Nz(Q));case"branch":return P2(_z(Q));case"stash":return P2(Rz(Q));case"worktree":return P2(Pz(Q));case"rebase":return a0(Dz(Q));case"merge":return a0(zz(Q));case"tag":return P2(Iz(Q));case"reflog":return P2(jz(Q));default:return null}}function a0($){return $?{...$,localDiscard:!0}:null}function P2($){return $?{...$,localDiscard:!1}:null}function Bz($){let{index:J,before:Q}=_1($),W=R1(Q,{shortOptsWithValue:gQ});if(Q.some((Y)=>c(Y,"--force"))||W.has("-f"))return D("git.checkout-force",hD);for(let Y of $){if(Y==="-b"||Y==="-B"||Y==="--orphan")return null;if(c(Y,"--pathspec-from-file"))return D("git.checkout-pathspec-from-file",gD)}if(J!==-1){if(Q.some((K)=>!K.startsWith("-")))return D("git.checkout-ref-path",yD);return D("git.checkout-double-dash",kD)}if(Uz($).length>=2)return D("git.checkout-ambiguous",xD);return null}function qz($){let{before:J}=_1($);if(J.some((W)=>c(W,"--discard-changes")))return D("git.switch-discard-changes",uD);let Q=R1(J,{shortOptsWithValue:xQ});if(J.some((W)=>c(W,"--force"))||Q.has("-f"))return D("git.switch-force",mD);return null}function Uz($){let J=[],Q=0;while(Q<$.length){let W=$[Q];if(!W)break;if(W==="--")break;if(W.startsWith("-"))if(SU.has(W))Q+=2;else if(W.startsWith("--")&&W.includes("="))Q++;else if(CU.has(W)){let X=$[Q+1];if(X&&!X.startsWith("-")&&(W==="--recurse-submodules"||W==="--track"||W==="-t"))if((W==="--recurse-submodules"?["checkout","on-demand"]:["direct","inherit"]).includes(X))Q+=2;else Q++;else Q++}else if(W.startsWith("--")&&!Kz.has(W)&&!SU.has(W)&&!CU.has(W))Q++;else Q++;else J.push(W),Q++}return J}function Gz($){let J=Hz($);if(J.isTerminal||!J.hasPathspec&&!J.hasPatch||!J.hasWorktree)return null;return J.hasExplicitLocation?D("git.restore-worktree",pD):D("git.restore-unstaged",lD)}function Hz($){let J=!1,Q=!1,W=!0,X=!1,Y=(K)=>{if(!X)W=!1,X=!0;if(K!==void 0)W=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:W,hasExplicitLocation:X,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(Yz.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:W,hasExplicitLocation:X,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:W,hasExplicitLocation:X,isTerminal:!1}}function Zz($){let J=null;for(let Q of $){if(c(Q,"--hard")){J=D("git.reset-hard",cD);break}if(c(Q,"--merge")){J=D("git.reset-merge",dD);break}}if(!J)return null;return Lz($)?P2(J):a0(J)}function Lz($){for(let J of $){if(J==="--")return!1;if(!J.startsWith("-"))return!0}return!1}function Mz($){for(let Q of $)if(Q==="-n"||c(Q,"--dry-run"))return null;let J=R1($.filter((Q)=>Q!=="--"));if($.some((Q)=>c(Q,"--force"))||J.has("-f"))return D("git.clean-force",rD);return null}function Oz($){let J=!1,Q=!1,W=!1;for(let X of _1($).before){if(c(X,"--no-force")){J=!1;continue}if(c(X,"--force")){J=!0;continue}if(c(X,"--no-cached")){Q=!1;continue}if(c(X,"--cached")){Q=!0;continue}if(c(X,"--no-dry-run")){W=!1;continue}if(c(X,"--dry-run")){W=!0;continue}let Y=R1([X]);J||=Y.has("-f"),W||=Y.has("-n")}return J&&!Q&&!W?D("git.rm-force",iD):null}function Nz($){let{before:J,after:Q}=_1($),W=R1(J);if(J.some((K)=>c(K,"--mirror")))return D("git.push-mirror",sD);if(J.some((K)=>c(K,"--force"))||W.has("-f")||TU(J,Q).some(Fz))return D("git.push-force",oD);if(J.some((K)=>c(K,"--delete"))||W.has("-d")||TU(J,Q).some(Vz))return D("git.push-delete",nD);return null}function TU($,J){return[...$.filter((Q)=>Q!==""&&!Q.startsWith("-")),...J]}function Fz($){return $.startsWith("+")||$.includes(":+")}function Vz($){return $.length>1&&$.startsWith(":")}function _z($){let{before:J}=_1($),Q=R1(J),W=Q.has("-D")||Q.has("-d")||J.some((Y)=>c(Y,"--delete")),X=Q.has("-D")||Q.has("-f")||J.some((Y)=>c(Y,"--force"));if(W&&X)return D("git.branch-force-delete",aD);return null}function Dz($){let{before:J}=_1($);return J.some((Q)=>c(Q,"--abort"))?D("git.rebase-abort",tD):null}function zz($){let{before:J}=_1($);return J.some((Q)=>c(Q,"--abort"))?D("git.merge-abort",eD):null}function Iz($){let{before:J}=_1($);return R1(J).has("-d")||J.some((W)=>c(W,"--delete"))?D("git.tag-delete",$z):null}function jz($){return $[0]==="delete"?D("git.reflog-delete",Jz):null}function Rz($){for(let J of $){if(J==="drop")return D("git.stash-drop",Qz);if(J==="clear")return D("git.stash-clear",Wz)}return null}function Pz($){let{before:J}=_1($);if(!J.includes("remove"))return null;let W=R1(J);if(J.some((X)=>c(X,"--force"))||W.has("-f"))return D("git.worktree-remove-force",Xz);return null}import{execFileSync as bz}from"child_process";import{existsSync as mQ,readFileSync as lQ}from"fs";import{dirname as Az,isAbsolute as kU,join as uQ,resolve as hU}from"path";var Ez=["/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 yU($,J,Q,W){let X=Sz($,J,Q);if(X!==null)return X;let Y=Cz(J,Q);if(Y!==null)return Y;if(GB(Q))return!0;return Tz(W)}function Sz($,J,Q){let W=null,X=1;while(X<$.length){let Y=$[X];if(!Y||Y==="--")return W;if(!Y.startsWith("-"))return W;if(Y==="-c"){let K=vU($[X+1]);if(K!==null)W=K;X+=2;continue}if(Y.startsWith("-c")&&Y.length>2){let K=vU(Y.slice(2));if(K!==null)W=K;X++;continue}if(Y==="--config-env"){let K=fU($[X+1],J,Q);if(K!==null)W=K;X+=2;continue}if(Y.startsWith("--config-env=")){let K=fU(Y.slice(13),J,Q);if(K!==null)W=K;X++;continue}if(U0.has(Y))X+=2;else X++}return W}function Cz($,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 W=null;for(let X=0;X<Q.count;X++){let Y=l1(`GIT_CONFIG_KEY_${X}`,$,J),K=l1(`GIT_CONFIG_VALUE_${X}`,$,J);if(!Y?.trim()||K===void 0)return!0;let B=Y.trim().toLowerCase();if(pQ(B))return!0;if(B!=="submodule.recurse")continue;W=j3(K)}return W}function Tz($,J=vz()){let Q=wz($);if(Q===null||Q)return!0;if(J===null)return!0;try{let W=bz(J,["config","--get","submodule.recurse"],{cwd:$,encoding:"utf8",env:fz(process.env),stdio:["ignore","pipe","ignore"]}).trim();return j3(W)}catch(W){return!kz(W)}}function wz($){let J=hz($);if(J===null)return null;for(let Q of J){if(!mQ(Q))continue;if(xz(Q))return!0}return!1}function vz(){for(let $ of Ez)if(mQ($))return $;return null}function fz($){let J={...$};for(let Q of Object.keys(J))if(t4(Q))delete J[Q];return J}function kz($){return typeof $==="object"&&$!==null&&"status"in $&&$.status===1}function hz($){let J=J3($);if(J===null)return null;let Q=yz(J);if(Q===null)return null;let W=gz(Q);if(W===null)return null;return[uQ(W,"config"),uQ(Q,"config.worktree")]}function yz($){try{let Q=lQ($,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(!Q.startsWith("gitdir:"))return $;let W=Q.slice(7).trim();if(W==="")return null;return kU(W)?W:hU(Az($),W)}catch{return null}}function gz($){let J=uQ($,"commondir");if(!mQ(J))return $;try{let Q=lQ(J,"utf-8").split(/\r?\n/,1)[0]?.trim()??"";if(Q==="")return null;return kU(Q)?Q:hU($,Q)}catch{return null}}function xz($){let J;try{J=lQ($,"utf-8")}catch{return!0}let Q="",W=!1;for(let X of J.split(/\r?\n/)){let Y=X.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(uz(Q)&&q==="path")return!0;if(Q==="submodule"&&q==="recurse")W=j3(U)}return W}function uz($){return $==="include"||$.startsWith("includeif ")}function vU($){if(!$)return null;let J=$.indexOf("="),Q=(J===-1?$:$.slice(0,J)).toLowerCase();if(pQ(Q))return!0;if(Q!=="submodule.recurse")return null;let W=J===-1?"true":$.slice(J+1).toLowerCase();return j3(W)}function j3($){let J=$.toLowerCase();return J!=="false"&&J!=="no"&&J!=="off"&&J!=="0"}function fU($,J,Q){let W=$?.indexOf("=")??-1;if(!$||W===-1)return null;let X=$.slice(0,W).toLowerCase();if(pQ(X))return!0;if(X!=="submodule.recurse")return null;let Y=l1($.slice(W+1),J,Q);return Y===void 0||j3(Y)}function pQ($){return $==="include.path"||$.startsWith("includeif.")&&$.endsWith(".path")}function gU($,J,Q){if(!J.localDiscard||!Q.worktreeMode||MB(Q.env,Q.envAssignments))return null;let W=OB($,Q.cwd);if(!W.gitCwd||W.hasExplicitGitContext)return null;if(!NB(W.gitCwd))return null;if(mz($,Q,W.gitCwd))return null;return{originalReason:J.reason,gitCwd:W.gitCwd}}function mz($,J,Q){let{subcommand:W,rest:X}=X0($),Y=W?.toLowerCase();if(J.dynamicArguments||lz(X)||yU($,J.env,J.envAssignments,Q)||dz(X)||pz(Y,X))return!0;return Y==="clean"&&rz(X)>1}function lz($){return $.some((J)=>/[$*?[]/.test(J))}function pz($,J){if($==="checkout"){let{before:Q}=_1(J),W=R1(Q,{shortOptsWithValue:gQ}),X=Q.some((K)=>c(K,"--force"))||W.has("-f"),Y=W.has("-B")||Q.some((K)=>K==="-B"||K.startsWith("-B"));return X&&Y}if($==="switch"){let{before:Q}=_1(J),W=R1(Q,{shortOptsWithValue:xQ}),X=Q.some((K)=>c(K,"--force"))||Q.some((K)=>c(K,"--discard-changes"))||W.has("-f"),Y=Q.some((K)=>K==="-C"||K.startsWith("-C")||cz(K))||W.has("-C");return X&&Y}return!1}function cz($){let J=$.split("=",1)[0]??$;return J==="--force-create"||J.length>=9&&"--force-create".startsWith(J)}function dz($){return $.some((J)=>J.startsWith("--recurse-sub"))}function rz($){let J=0;for(let Q of $){if(Q==="--force"){J++;continue}if(Q.startsWith("-")&&!Q.startsWith("--")){for(let W of Q.slice(1))if(W==="f")J++}}return J}var iz="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.",oz=new Set(["clone","fetch","pull","push","ls-remote","submodule"]);function K4($,J){return xU($.map(v),J)}function xU($,J,Q){let W=bU($,J.env,J.envAssignments),X=J.policy?.destructiveCommandRuleOverrides["git.alias-config"]==="off";if(W.blockedReason&&!X)return D("git.alias-config",W.blockedReason);let Y=W.tokens;if((UB(J.envAssignments)||AU($,J.env,J.envAssignments))&&nz(Y))return D("git.ssh-env",iz);let K=wU(Y);if(!K)return null;if(W.expanded||W.blockedReason)return K;let B=gU($,K,J);if(!B)return K;return Q?.(B),null}function uU($,J){let Q=null;return{match:xU($.map(v),J,(X)=>{Q=X}),relaxation:Q}}function nz($){let{subcommand:J,rest:Q}=X0($),W=J?.toLowerCase();if(!W)return!1;if(oz.has(W))return!0;if(W==="archive")return _1(Q).before.some((X)=>c(X,"--remote"));return W==="remote"&&sz(Q)}function sz($){return $.find((J)=>!az(J))?.toLowerCase()==="update"}function az($){return $==="-v"||c($,"--verbose")||c($,"--no-verbose")}import{isAbsolute as lI}from"path";var mU="rm -rf outside cwd is blocked. Retry deleting only explicit paths inside the current directory; escalate for anything outside it.",tz="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.",ez="rm -rf target contains shell variables that cannot be verified safely. Use literal paths within cwd, /tmp, /var/tmp, or $TMPDIR.",pU="rm -rf targeting root or home directory is extremely dangerous and always blocked.",$I="rm -rf in home directory is dangerous. Change to a project directory first.";function B4($,J){let Q=j2({...J,allowPaths:J.policy?.destructiveCommandAllowPaths,posixShell:!0}),W=$.map(v),X=W0(W),Y=RU(W),K=QI($);for(let B of K){let q=V3(B.word);if(X&&q.unsafeBraceExpansion){let U=k(lU({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&&I2(U,Q.resolvedCwd,Q.protectedGitMetadata,Y,Q.pathCanonicalizationContext))return D("rm.git-metadata",d1);if(Y&&!X){let H=J0(U,Q,G);if(H.kind==="root_or_home_target")return D("rm.recursive-force-root-or-home",pU);if(H.kind==="git_metadata_target")return D("rm.git-metadata",d1);continue}if(!X)continue;for(let H of JI(U,Q,G)){let L=lU(H,Q,J.policy),Z=k(L,J.policy);if(Z)return Z}}}return null}function JI($,J,Q){let W=J0($,J,Q);if(W.kind==="cwd_self_target")return[W,J0($,J,{...Q,skipCwdSelf:!0})];if(W.kind!=="home_cwd_target")return[W];let X=J0($,J,{...Q,skipHomeCwd:!0});if(X.kind!=="cwd_self_target")return[W,X];return[W,X,J0($,J,{...Q,skipHomeCwd:!0,skipCwdSelf:!0})]}function QI($){let J=[],Q=!1;for(let W of $.slice(1)){let X=v(W);if(!X)continue;if(X==="--"){Q=!0;continue}if(Q){J.push({text:X,word:W});continue}if(!X.startsWith("-"))J.push({text:X,word:W})}return J}function lU($,J,Q){switch($.kind){case"root_or_home_target":return D("rm.recursive-force-root-or-home",pU);case"git_metadata_target":return D("rm.git-metadata",d1);case"temp_target":return null;case"dynamic_target":if(!q1(Q,"rm.recursive-force-dynamic-target",J.strict))return null;return D("rm.recursive-force-dynamic-target",ez);case"home_cwd_target":return D("rm.recursive-force-home-cwd",$I);case"cwd_self_target":return D("rm.recursive-force-cwd-self",mU);case"within_anchored_cwd":if(q1(Q,"rm.recursive-force-paranoid",J.paranoid))return D("rm.recursive-force-paranoid",tz);return null;case"outside_anchored_cwd":return D("rm.recursive-force-outside-cwd",mU)}}var WI={bash:["O","o"],dash:["o"],ksh:["o"],sh:["o"],zsh:["o"]},dU=new Set(["--init-file","--rcfile"]),XI=["--init-file","--rcfile"],YI=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 cU($,J,!0);if(Q.startsWith("-")&&Q.includes("c")&&!Q.startsWith("--")){let W=cU($,J,!1);if(W!==null)return W}}return null}function r1($){let J=l($[0]??"").toLowerCase();if(J==="zsh"||J==="ksh")return N0($).syntaxCheck;let Q=!1;for(let W of $.slice(1)){if(W==="--")return Q;if(W.startsWith("+")&&!W.startsWith("++")){if(W.slice(1).includes("n"))Q=!1;continue}if(!W.startsWith("-")||W.startsWith("--"))return Q;let X=W.slice(1);if(X.includes("n"))Q=!0;if(X.includes("c"))return Q}return Q}function cU($,J,Q){if($[J+1]==="--")return $[J+2]||null;let W=$[J+1];if(!W||!Q&&W.startsWith("-"))return null;return W}function rU($){let J=l($[0]??"").toLowerCase(),Q=KI($,J),W=YI.get(J)??null,X=Q.argvSource?.kind!=="absent";return{argvSource:J==="bash"?Q.argvSource:null,argvSourceApplies:J==="bash"&&Q.interactive&&Q.argvSource?.kind==="literal",envName:W,envSourceApplies:X&&(W==="BASH_ENV"?!Q.interactive:W==="ENV"&&Q.interactive)}}function KI($,J){let Q=N0($),W=Q.commandIndex??Q.scriptIndex??$.length,X=[],Y=!1,K=!0;for(let B=1;B<W;B++){let q=$[B];if(q===void 0||q==="--"||q==="-"||q[0]!=="-"&&q[0]!=="+")break;if(q.startsWith("--")){if(J==="bash"&&K?XI.find((L)=>q===L):void 0){let L=$[B+1];X.push(L===void 0?{kind:"absent"}:{kind:"literal",value:L}),B++;continue}let H=q.split("=",1)[0]??q;if(J==="bash"&&dU.has(H)&&!q.includes("="))B++;continue}if(J==="bash")K=!1;let U=iU(J,q,$[B+1],"startup");if(U.interactive)Y=q[0]==="-";B+=U.followingValues}return{argvSource:X.at(-1)??null,interactive:Y}}function iU($,J,Q,W){let X=!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(W==="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(W==="startup"&&G==="i")X=J[0]==="-";if(W==="argv"&&J[0]==="-"&&G==="c")K=!0;if(W==="argv"&&G==="n")q=J[0]==="-";if(W==="argv"&&G==="s")B=J[0]==="-";if(!WI[$]?.includes(G))continue;if(U+1===J.length)Y++;break}return{interactive:X,followingValues:Y,commandSelected:K,stdinMode:B,syntaxCheck:q}}function N0($){let J=l($[0]??"").toLowerCase(),Q=!1,W=!1,X=!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&&!W&&$[Y+1]!==void 0?Y+1:null,readsStdinAsCommands:!Q&&(W||$[Y+1]===void 0),syntaxCheck:X}}if(K==="-"||K[0]!=="-"&&K[0]!=="+")return{command:Q?K:null,commandIndex:Q?Y:null,scriptIndex:!Q&&!W&&K!=="-"?Y:null,readsStdinAsCommands:!Q&&(W||K==="-"),syntaxCheck:X};if(K.startsWith("--")){let q=K.split("=",1)[0]??K;if(J==="bash"&&dU.has(q)&&!K.includes("="))Y++;continue}let B=iU(J,K,$[Y+1],"argv");if(B.commandSelected)Q=!0;if(B.syntaxCheck)X=!0;if(B.stdinMode)W=!0;Y+=B.followingValues}return{command:null,commandIndex:null,scriptIndex:null,readsStdinAsCommands:!Q,syntaxCheck:X}}var t0={kind:"none"},b2={kind:"dynamic"},BI=new Set(["<","<<","<<-","<<<","<&","<>"]),nU=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*))/g,qI=/^(?:[0-9]+|[@*])$/,UI=D2.maxWords,GI=D2.maxInputLength;function sU($){if(!$||l(r($.words[0]?.text??""))!=="printf")return;if($.words.some((X)=>X.provenance!=="literal"))return;let J=$.words.slice($.words[1]?.text==="--"?2:1),Q=J[0]?.text;if(Q===void 0)return"";let W=J.slice(1).map((X)=>X.text);if(Q==="%s")return W.join("");if(Q==="%s\\n"||Q===`%s
|
|
56
|
+
`)return`${W.join(`
|
|
57
|
+
`)}
|
|
58
|
+
`;if(Q.includes("%")||/\\(?![\\nrt])/.test(Q))return;return Q.replaceAll("\\n",`
|
|
59
|
+
`).replaceAll("\\r","\r").replaceAll("\\t","\t").replaceAll("\\\\","\\")}function q4($){let J=R3($[1])==="--"?2:1;if($.length<=J)return t0;let Q=$.slice(J);if(!Q.every(i9))return b2;return{kind:"literal",source:Q.map(v).join(" ")}}function aU($){let J=R3($[1])==="--"?2:1,Q=$[J],W=R3(Q);if(Q===void 0||$.length<=J+1||W==="-"||W===""||W==="-l"||W==="-p")return t0;if(!i9(Q))return b2;return{kind:"literal",source:W}}function r9($,J){let Q=ZI($);if(Q===-1)return t0;let W=LI(J);if(!W)return t0;let X=[],Y=W.command?.length??0;for(let K of W.references){let B=OI(K,$,Q,W.ifs);if(!B)return b2;if(Y+=B.reduce((q,U)=>q+U.length+3,0),X.length+B.length>UI||Y>GI)return b2;X.push(...B)}if(W.command==="eval")return{kind:"literal",source:X.join(" ")};if(X.length===0||/\s/.test(X[0]??""))return{kind:"literal",source:""};return{kind:"literal",source:[W.command,W.command&&W.optionTerminator?"--":null,...X.map(FI)].filter((K)=>K!==null).join(" ")}}function tU($,J,Q,W){if(!N0($.map(v)).readsStdinAsCommands)return t0;let X=J.filter((Y)=>(Y.fd===void 0||Y.fd===0)&&BI.has(Y.operator)).at(-1);if(X){if(X.operator==="<<"||X.operator==="<<-")return t0;if(X.operator!=="<<<"||X.target?.provenance!=="literal")return b2;return{kind:"literal",source:X.target.text}}if(!Q)return t0;return W===void 0?b2:{kind:"literal",source:W}}function F0($){let J=N0($.map(v)).scriptIndex;if(J===null)return t0;let Q=$[J],W=R3(Q);return u6(Q,W)?{kind:"literal",source:W}:b2}var HI=new Set(["curl","wget","fetch","aria2c","http","https","xh","xhs","nc","ncat","netcat"]);function iQ($){if($.words.length!==2||$.redirections.length!==0||$.nested.length!==1)return!1;let J=$.words[0],Q=$.words[1];if(!J||J.provenance!=="literal"||J.quoted||J.raw!==J.text||!Q)return!1;if(!(J.text==="eval"&&Q.quoted&&Q.parts.length===3&&Q.parts[0]?.raw==='"'&&Q.parts[1]?.provenance==="command-substitution"&&Q.parts[1].raw.startsWith("$(")&&Q.parts[2]?.raw==='"'||(J.text==="source"||J.text===".")&&!Q.quoted&&Q.parts.length===1&&Q.parts[0]?.provenance==="command-substitution"&&Q.parts[0].raw.startsWith("<(")))return!1;let X=$.nested[0];if(X?.status!=="complete"||X.nodes.length!==1)return!1;let Y=X.nodes[0];if(Y?.kind!=="command"||Y.redirections.length!==0||Y.nested.length!==0||Y.words.some((q)=>q.provenance!=="literal"||q.parts.some((U)=>U.provenance!=="literal")))return!1;let K=Y.words[0]?.text;if(K===void 0||t1(K)!==null)return!1;let B=l(r(K));return!HI.has(B)&&!U1.has(B)&&!R2(B)}function ZI($){return N0($.map(v)).commandIndex??-1}function LI($){let J=/^IFS=(?:'([^']*)'|"([^"]*)"|([^;\s]*))\s*;\s*(.+)$/.exec($.trim()),Q=J?.[4]??$.trim(),W=/^(\.|bash|command|dash|exec|eval|ksh|sh|source|zsh)(?:\s+(--))?\s+(.+)$/.exec(Q),X=(W?.[3]??Q).split(/\s+/).map(MI);if(X.length===0||X.some((Y)=>Y===null))return null;return{command:W?.[1]??null,optionTerminator:W?.[2]!==void 0,references:X.filter((Y)=>!!Y),ifs:J?J[1]??J[2]??J[3]??"":`
|
|
60
|
+
`}}function MI($){let J=/^"\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})"$/.exec($),Q=/^\$(?:([0-9]+|[@*])|\{([0-9]+|[@*])\})$/.exec($),W=J??Q;if(!W)return null;let X=W[1]??W[2];return{parameter:X==="@"||X==="*"?X:Number(X),quoted:J!==null}}function OI($,J,Q,W){let X=J.slice(Q+2);if($.parameter==="@")return $.quoted?cQ(X):NI(X,W);if($.parameter==="*"){let B=cQ(X);if(!B)return;let q=B.join(W[0]??"");return $.quoted?[q]:dQ(q,W)}let Y=J[Q+1+$.parameter];if(Y&&!i9(Y))return;let K=R3(Y);return $.quoted?[K]:dQ(K,W)}function cQ($){return $.every(i9)?$.map(v):void 0}function NI($,J){let Q=cQ($);if(!Q)return;let W=Q.map((X)=>dQ(X,J));return W.some((X)=>X===void 0)?void 0:W.flatMap((X)=>X??[])}function dQ($,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 i9($){if(!$)return!0;return $.provenance==="unknown"?!/[$`]/.test(v($)):$.provenance==="literal"}function R3($){return $?v($):""}function FI($){return`'${$.replaceAll("'",`'"'"'`)}'`}function oQ($,J){return rQ(e1($,"posix"),J)}function U4($){return oQ($,new Set(Array.from($.matchAll(nU)).flatMap((J)=>{let Q=J[1]??J[2];return Q===void 0?[]:[Q]})))}function rQ($,J){if($.status==="invalid"||$.status==="limited")return!1;let Q=new Set(J);for(let W of $.nodes){if(W.kind==="group"){if(rQ(W.body,Q))return!0;continue}if(W.kind!=="command")continue;if(W.nested.some((X)=>rQ(X,Q))||eU(W.words,Q))return!0;II(W,Q)}return!1}function eU($,J){let Q=$.findIndex((K)=>t1(K.text)===null);if(Q===-1)return!1;let W=$[Q];if(!W)return!1;if(P3(W,J))return!0;let X=r(W.text);if(X==="source"||X==="."){let K=$[Q+1]?.text==="--"?Q+2:Q+1;return oU($[K],J)}if(U1.has(X)){let K=$.slice(Q),B=N0(K.map((U)=>U.text)),q=B.commandIndex??B.scriptIndex;return!B.syntaxCheck&&q!==null&&oU(K[q],J)}let Y=VI($,Q,J);if(Y===null)return!1;if(Y===-1)return!0;return eU($.slice(Y),J)}function VI($,J,Q){let W=r($[J]?.text??"");if(W==="command")return _I($,J+1);if(W==="exec")return DI($,J+1);if(W==="env")return zI($,J+1,Q);return null}function _I($,J){for(let Q=J;Q<$.length;Q++){let W=$[Q]?.text??"";if(W==="--")return $[Q+1]?Q+1:null;if(/^-[p]*[vV][pvV]*$/.test(W))return null;if(/^-p+$/.test(W))continue;return Q}return null}function DI($,J){for(let Q=J;Q<$.length;Q++){let W=$[Q]?.text??"";if(W==="--")return $[Q+1]?Q+1:null;if(W==="-a"){Q++;continue}if(/^-a.+/.test(W)||/^-[cl]+$/.test(W))continue;return Q}return null}function zI($,J,Q){for(let W=J;W<$.length;W++){let X=$[W],Y=X?.text??"";if(Y==="--")return $[W+1]?W+1:null;if(Y==="-S"||Y==="--split-string")return P3($[W+1],Q)?-1:W+2;if(Y.startsWith("-S")||Y.startsWith("--split-string="))return P3(X,Q)?-1:W+1;if(Y==="-u"||Y==="--unset"||Y==="-C"||Y==="--chdir"||Y==="-P"){W++;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(t1(Y))continue;return W}return null}function II($,J){if(!$.words.every((Q)=>t1(Q.text)!==null))return;for(let Q of $.words){let W=t1(Q.text);if(!W)continue;if(P3(Q,J))J.add(W.name)}}function P3($,J){if(!$)return!1;return $.parts.filter((Q)=>Q.provenance==="variable").some((Q)=>Array.from(Q.raw.matchAll(nU)).some((W)=>{let X=W[1]??W[2];return X!==void 0&&(qI.test(X)||J.has(X))}))}function oU($,J){return!!$&&($.parts.some((Q)=>Q.provenance!=="literal"&&Q.provenance!=="variable")||P3($,J))}var jI=new Set(["-c","-C","--git-dir","--work-tree","--namespace","--config-env"]),RI=new Set(["-c","-H","-l","--config","--context","--host","--log-level","--tlscacert","--tlscert","--tlskey"]),PI=new Set;function $G($){if($==="git")return jI;if($==="docker")return RI;return PI}function M1($,J){if($.length===0||J.length===0)return null;let Q=r($[0]??""),W=R1($);for(let X of J){if(!bI(Q,X.command))continue;if(!AI(Q,$,X.subcommand))continue;if(SI($,new Set(X.block_args),W))return{id:`custom.${X.name}`,reason:`[${X.name}] ${X.reason}`,intent:X.intent??"manual_only"}}return null}function bI($,J){return $===r(J)}function AI($,J,Q){if(!Q)return!0;return JG(J,1,Q,$G($))}function JG($,J,Q,W){let X=!1;for(let Y=J;Y<$.length;Y++){let K=$[Y];if(!K)continue;if(X){X=!1;continue}if(K==="--"){let B=$[Y+1];if(B&&!B.startsWith("-"))return B===Q;return!1}if(W.has(K)){X=!0;continue}if(K.startsWith("-")){if(!K.includes("=")&&EI($,Y,Q,W))return!0;continue}return K===Q}return!1}function EI($,J,Q,W){let X=$[J+1];if(!X||X.startsWith("-"))return!1;return JG($,J+2,Q,W)}function SI($,J,Q){for(let W of $)if(J.has(W))return!0;for(let W of Q)if(J.has(W))return!0;return!1}function e0($,J,Q={}){if($.length===0)return null;let W=$[0];if(!W)return null;let X=r(W);if(X==="eval"){let Y=q4(p($));if(Y.kind==="dynamic")return G4(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 V0(Q,J)}if(U1.has(X)){if(r1($))return null;let Y=O0($);if(Y){if(Q.dynamicSourceInput??Q.dynamicInput){let q=G4(Q,J);if(q)return q}if(U4(Y)){let q=G4(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=F0(p($));if(K.kind==="dynamic")return G4(Q,J);if(K.kind==="literal"){if(Q.dynamicSourceInput)return G4(Q,J);return null}if(Q.dynamicSourceInput??Q.dynamicInput)return G4(Q,J);return null}if(h1.has(X))return k(u9($,(Y)=>J.analyzeNested?J.analyzeNested(Y,{effectiveCwd:J.cwd,envAssignments:J.envAssignments}):null),J.policy)??M1($,J.policy?.rules??[])??V0(Q,J);if(w1(X)){let Y=Q9($);if(!Y)return V0(Q,J);if(q1(J.policy,"interpreter.one-liner-paranoid",!!J.paranoidInterpreters)){let B=k(D("interpreter.one-liner-paranoid",t2),J.policy);if(B)return B}if(Y9(X,Y))return V0(Q,J);let K=J.analyzeNested?.(Y,{effectiveCwd:J.cwd,envAssignments:J.envAssignments});if(K&&K.id!=="raw-text.dangerous-command"&&(K.reason!==i0||W4(Y)))return K;if(e2(Y,J.scanWork))return k(D("interpreter.dangerous-command",V2),J.policy)??V0(Q,J);return V0(Q,J)}if(X==="rm"||X==="rmdir"){let Y=X==="rm"&&(W0($)||Q.dynamicRmInput);return k(B4(p($),{environment:J.environment,cwd:J.cwd,originalCwd:J.originalCwd,strict:J.strict,paranoid:J.paranoidRm,allowTmpdirVar:J.allowTmpdirVar,tmpdirWordSplittingUnsafe:H0(J.envAssignments,J.environment),trustedTmpdirValue:f0(J.envAssignments,J.environment),protectedGitMetadata:J.protectedGitMetadata,policy:J.policy}),J.policy)??(Y&&Q.dynamicRmInput?V0(Q,J):null)??(Y?CI(Q,J):null)}if(X==="find")return l9(p($),{...J,derivedCommandWorkBudget:J.derivedCommandWorkBudget,analyzeTokens:(Y,K)=>e0(Y,{...J,cwd:K??void 0,derivedCommandWorkBudget:J.derivedCommandWorkBudget},Q)})??M1($,J.policy?.rules??[])??V0(Q,J);if(X==="git")return k(K4(p($),{env:J.environment.env,cwd:J.cwd,envAssignments:J.envAssignments,policy:J.policy,worktreeMode:Q.dynamicInput?!1:J.worktreeMode}),J.policy)??M1($,J.policy?.rules??[])??V0(Q,J);return M1($,J.policy?.rules??[])??V0(Q,J)}function G4($,J){return $.shellDynamicMatch?k($.shellDynamicMatch,J.policy):null}function V0($,J){return $.dynamicSourceInput&&$.dynamicSourceMatch?k($.dynamicSourceMatch,J.policy):null}function CI($,J){return $.dynamicInput&&$.rmDynamicMatch?k($.rmDynamicMatch,J.policy):null}var nQ="xargs rm -rf with dynamic input is dangerous. Use explicit file list instead.",sQ="xargs dynamic input can supply arbitrary executable command source. Use an explicit child command and arguments instead.",TI="__CC_SAFETY_NET_XARGS_INPUT__",o9="__CC_SAFETY_NET_XARGS_INTERPRETER_INPUT__",n9="rm",wI=/(?:^|[;&|]\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,vI=/(?:^|[;&|]\s*)\s*eval\b((?:\\.|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[^\\'";&|\r\n])*)/g,fI=/\$(?:([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)|\{!?([0-9]+|[@*]|[A-Za-z_][A-Za-z0-9_]*)(?:[^}]*)\})/g,kI=/^(?:[0-9]+|[@*])$/,hI=new Set(["branch","checkout","clean","push","reset","restore","switch","tag"]);function XG($,J){let Q=$.map(v),{childStart:W,replacementToken:X}=A2(Q),Y=Q.slice(W),K=D("xargs.shell-dynamic",sQ);if(gI(Y,X,J)&&k(K,J.policy))return k(K,J.policy);for(let B of Q0(Y,J)){let q=B.tokens,U=X!==null&&q[0]!==Y[0]&&(q[0]?.includes(X)??!1)?k(K,J.policy):null;if(U)return U;let G=qG(q,X,B.wrapperEnvAssignments),H=B.head==="rm"&&X!==null&&KG(q,X),L=e0(q,{...J,cwd:B.cwd,envAssignments:B.envAssignments},{dynamicInput:G,dynamicSourceInput:H||YG(q,B.head,X,B.wrapperEnvAssignments,G,J.scanWork,J.environment),dynamicRmInput:H,shellDynamicMatch:K,dynamicSourceMatch:K,rmDynamicMatch:D("xargs.rm-recursive-force-dynamic",nQ)});if(L)return L;let Z=yI(q,X,J.policy?.rules??[]);if(Z)return Z;if(B.head==="git"){let O=X===null?[...q,TI]:q,V=X!==null&&(q.some((P)=>P.includes(X))||Array.from(B.envAssignments.values()).some((P)=>P.includes(X))),F=e0(O,{...J,cwd:B.cwd,envAssignments:B.envAssignments,worktreeMode:X===null||V?!1:J.worktreeMode});if(F)return F}let M=M1(q,J.policy?.rules??[]);if(M)return M}return null}function yI($,J,Q){if(Q.length===0)return null;if(J===null){for(let X of Q){let Y=M1([...$,...X.subcommand?[X.subcommand]:[],...X.block_args],Q);if(Y)return Y}return null}let W=new Set(Q.flatMap((X)=>[X.subcommand,...X.block_args].flatMap((Y)=>Y?$.flatMap((K)=>aQ(K,J,Y)):[])));for(let X of W){let Y=M1($.map((K)=>K.replaceAll(J,X)),Q);if(Y)return Y}return null}function aQ($,J,Q){let W=$.indexOf(J);if(W===-1||$.indexOf(J,W+J.length)!==-1)return[];let X=$.slice(0,W),Y=$.slice(W+J.length);return Q.startsWith(X)&&Q.endsWith(Y)?[Q.slice(X.length,Q.length-Y.length)]:[]}function YG($,J,Q,W,X,Y,K){if(U1.has(J)){if(r1($))return!1;if(Q!==null&&xI($,Q))return!0;let B=O0($);if(!B){let q=F0(p($));if(q.kind==="literal")return Q!==null&&q.source.includes(Q);return q.kind==="none"&&X}if(Q!==null&&B.includes(Q))return!0;if(Y3(B,Y))return!0;return uI(B,Q,W)}if(w1(J))return QG($,Q,X9,mB(J));if(h1.has(J))return QG($,Q,CQ,FU);if(J==="eval"){let B=q4(p($));if(B.kind==="dynamic")return!0;if(Q!==null)return B.kind==="literal"&&B.source.includes(Q);return X}if(J==="find")return mI($,Q,Y,K);if(J==="git"){let B=X0($);return Q===null?B.subcommand===null:(B.subcommand?.includes(Q)??!1)||B.subcommand!==null&&hI.has(B.subcommand.toLowerCase())&&BG(B.rest,Q).some((q)=>q.includes(Q))}return!1}function QG($,J,Q,W){let X=Q($);if(J===null)return X.optionsOpen||Q([...$,o9]).sources.some((q)=>q.value===o9);if(X.sources.some((q)=>q.value.includes(J)))return!0;let Y=new Set(X.sources.map((q)=>`${q.tokenIndex}\x00${q.kind}\x00${q.value}`)),K=W.flatMap((q)=>[q.selector,...q.valueForm==="attached-only"||q.valueForm==="attached-or-separate"?[`${q.selector}${o9}`]:[],...q.valueForm==="equals-or-separate"?[`${q.selector}=${o9}`]:[]]),B=new Set(K.flatMap((q)=>$.flatMap((U)=>aQ(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 gI($,J,Q){if($.length===0||($[0]??"").toLowerCase()==="command")return!1;let W=new Set(Array.from(Q0($,Q),(Y)=>Y.head)),X=J===null?[...$,n9]:$.map((Y,K)=>K===0?Y:Y.replaceAll(J,n9));return Array.from(Q0(X,Q)).some((Y)=>Y.head===n9&&!W.has(n9))}function KG($,J){return BG($.slice(1),J).some((Q)=>Q.includes(J)&&(Q.startsWith("-")||Q.startsWith(J)))}function BG($,J){let Q=$.findIndex((W)=>W==="--"&&!W.includes(J));return Q===-1?$:$.slice(0,Q)}function qG($,J,Q){if(J===null)return!0;return $.some((W)=>W.includes(J))||Array.from(Q.values()).some((W)=>W.includes(J))}function xI($,J){let Q=N0($);if(Q.commandIndex!==null&&($[Q.commandIndex]??"").includes(J)||Q.scriptIndex!==null&&($[Q.scriptIndex]??"").includes(J))return!0;return["-c","-nc","-cn",`--${J}`,J].some((X)=>$.some((Y,K)=>{if(K===0||!Y.includes(J))return!1;return aQ(Y,J,X).some((q)=>{let U=$.map((H,L)=>L===K?H.replaceAll(J,q):H),G=N0(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 uI($,J,Q){let W=new Set(J===null?[]:Array.from(Q).filter(([,X])=>X.includes(J)).map(([X])=>X));for(let X of $.matchAll(wI))if(WG(X,W))return!0;for(let X of $.matchAll(vI))for(let Y of(X[1]??"").matchAll(fI))if(WG(Y,W))return!0;return oQ($,W)}function WG($,J){let Q=$[1]??$[2];return Q!==void 0&&(kI.test(Q)||J.has(Q))}function mI($,J,Q,W){if(J===null)return!0;let X=!1,Y=0;for(let K=1;K<$.length;K++){let B=$[K]??"";if(!X&&!B.startsWith("-")&&B!=="!"&&B!=="("){if(B.indexOf(J)===0)return!0;continue}if(X=!0,Y>0){Y--;continue}if(h0(B)){let U=z3($,K);K=U.nextIndex-1;for(let G of Q0(U.tokens,{environment:W,cwd:void 0})){let H=qG(G.tokens,J,G.wrapperEnvAssignments);if(G.head==="rm"&&KG(G.tokens,J)||YG(G.tokens,G.head,J,G.wrapperEnvAssignments,H,Q,W))return!0}continue}let q=s0(B);if(q>0){if(Y=q,B.includes(J))return!0;continue}if(B.includes(J))return!0}return!1}function A2($){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,W=1;while(W<$.length){let X=$[W];if(!X)break;if(X==="--")return{childStart:W+1,replacementToken:Q};if(X.startsWith("-")){if(X==="-I"){Q=$[W+1]??"{}",W+=2;continue}if(X.startsWith("-I")&&X.length>2){Q=X.slice(2),W++;continue}if(X==="--replace"){Q="{}",W++;continue}if(X.startsWith("--replace=")){let Y=X.slice(10);Q=Y===""?"{}":Y,W++;continue}if(X==="-J"){Q=$[W+1]??"{}",W+=2;continue}if(J.has(X))W+=2;else W++}else return{childStart:W,replacementToken:Q}}return{childStart:$.length,replacementToken:Q}}var b3="parallel rm -rf with dynamic input is dangerous. Use explicit file list instead.",A3="parallel with shell -c can execute arbitrary commands from dynamic input. Run the inner command directly on an explicit file list instead.",pI="parallel without a command reads executable commands from dynamic input. Use an explicit command template or ::: arguments instead.",cI="parallel command construction cannot be verified safely. Use the default ::: separator, literal arguments, and built-in replacement strings.",dI=/\{[^{}\s]*\}/,FG=/\{\}|\{-?\d+\}/g,rI=["e","f","source","file","-e","-f","--source","--file"],iI=["c","e","eval","m","r","Mmodule","import","require","-c","-e","-m","-r","--eval","--import","--require"],oI=new Set(["-L","-d","-n","--delay","--delimiter","--header","--joblog","--jl","--max-args","--max-lines","--nice","--results","--result","--res","--tagstring","--timeout"]),nI=new Set(["--arg-file","--colsep","--rpl","--arg-sep","--arg-file-sep"]),UG=new Set(["-S","--sshlogin","--slf","--sshloginfile"]),sI=new Set(["--workdir","--wd"]),GG="__CC_SAFETY_NET_PARALLEL_SOURCE__",aI=new TextEncoder,a9=h.maxDerivedBytes+4*h.maxPlaceholderReplacements;function D1($,J){for(let Q of $){let W=J(Q);if(W)return W}return null}function VG($,J){let Q=$.map(v);if((J.envAssignments?.has("PARALLEL")?J.envAssignments.get("PARALLEL"):J.environment.env.get("PARALLEL"))?.trim()){let O=S2(J);if(O)return O}if(Q.length===2&&(Q[1]==="--version"||Q[1]==="--help"))return null;let X=CG(Q),{template:Y,jobs:K,runsRemotely:B,envNames:q,readsCommandsFromInput:U,unsupported:G,workdir:H,dryRun:L}=X;if(G){let O=S2(J);if(O)return O}if(U){let O=Yj(J);if(O)return O}if(H!==void 0&&B){let O=S2(J);if(O)return O}let Z=Gj(H,J.cwd,J.environment.paths);if(Z===null){let O=S2(J);if(O)return O}let M=B?{...J,cwd:void 0,originalCwd:void 0}:Z===null||Z===void 0||Z===J.cwd?J:{...J,cwd:Z};if(L){let O=[...Q0(Y,M)];if((O.length===0?$7(q,J.envAssignments,new Map).values:O.flatMap((F)=>$7(q,J.envAssignments,F.envAssignments).values)).some(W7)){let F=S2(J);if(F)return F}return null}if(Y.length===0){if(q.length>0||K.some((F)=>F.length!==1)){let F=S2(J);if(F)return F}let O=K.map((F)=>F[0]??"");v1(J.budget,eQ(O));let V=bG(M.envAssignments,M.cwd,B);return D1(O,(F)=>J.analyzeNested(F,V))}return D1(Q0(Y,M),(O)=>tI(O,X,J,M))}function tI($,J,Q,W){let{jobs:X,templateHasPlaceholder:Y,runsRemotely:K,usesStdin:B,envNames:q}=J,U=$.tokens,G={...W,cwd:$.cwd,envAssignments:$.envAssignments},H=$7(q,Q.envAssignments,$.envAssignments);if(H.entries.some((F)=>EG(F.value))){let F=S2(Q);if(F)return F}let L=H.entries.some((F)=>F.hasPlaceholder),Z=Y||L,M=B&&Z,O=bG($.envAssignments,$.wrapperCwd,K||M);if(U1.has($.head)){let F=()=>{if(!Y||X.length===0)return null;return v1(Q.budget,s9(U,X,"generic")),D1(X,(A)=>e0(U.map((E)=>_0(E,A)),G))};if(r1(U))return F();let P=O0(U);if(P){if(SG(P)){let b=E2(Q);if(b)return b;if(X.length===0)return null;return v1(Q.budget,OG(P,X)),D1(X,(S)=>Q.analyzeNested(_0(P,S),O))}if(t(P)){if(X.length>0)return v1(Q.budget,OG(P,X)),D1(X,(C)=>Q.analyzeNested(_0(P,C),O));v1(Q.budget,LG(P));let b=I3(P);if(b?.[0]&&r(b[0])==="rm"&&W0(b)){let C=ZG(Q);if(C)return C}let S=b?e0(b,G,{dynamicInput:B,shellDynamicMatch:D("parallel.shell-dynamic",A3),rmDynamicMatch:D("parallel.rm-recursive-force-dynamic",b3)}):null;if(S)return S;return Q.analyzeNested(P,O)}let A=!L&&(!Y||X.length>0)?(X.length>0?X:[void 0]).map((b)=>r9(p(b===void 0?U:Y?U.map((S)=>_0(S,b)):[...U,...b]),P)):[];if(A.some((b)=>b.kind==="dynamic")){let b=E2(Q);if(b)return b}let E=A.flatMap((b)=>b.kind==="literal"?[b.source]:[]);if(E.length>0)return v1(Q.budget,eQ(E)),D1(E,(b)=>Q.analyzeNested(b,O));v1(Q.budget,Bj(LG(P),Kj(H.entries,X)));let _=U4(P);if(_&&H.entries.length>0){let b=NG(H,X,W,K);if(b)return b}if(_){let b=E2(Q);if(b)return b}let R=Q.analyzeNested(P,O);if(R)return R;if(!_){let b=NG(H,X,W,K);if(b)return b}if(Z)return E2(Q);return null}let I=F0(p(U));if(I.kind==="dynamic"||I.kind==="literal"&&t(I.source))return E2(Q)??F();if(I.kind==="literal")return F();if(X.length>0){let A=E2(Q);if(A)return A;let E=F();if(E)return E;if(Y)return null;let _=X.flatMap((R)=>R[0]===void 0?[]:[R[0]]);return v1(Q.budget,eQ(_)),D1(_,(R)=>Q.analyzeNested(R,O))}if(Z||B)return E2(Q)??F();return null}if($.head==="rm"&&W0(U)){if(Y&&X.length>0)return v1(Q.budget,s9(U,X,"rm")),D1(X,(P)=>tQ(U.map((I)=>J7(I,P)),$.cwd,W));if(X.length>0)return v1(Q.budget,MG(U,X)),D1(X,(P)=>tQ([...U,...P],$.cwd,W));let F=tQ(U.flatMap((P,I)=>{if(I===0||!t(P))return[P];return P.startsWith("-")?[J7(P,[""])]:[]}),$.cwd,W);if(F)return F;return ZG(Q)}v1(Q.budget,Y&&X.length>0?s9(U,X,"generic"):X.length>0?MG(U,X):IG(U));let V=X.length>0?X:[void 0];return D1(V,(F)=>{let P=F===void 0?U:Y?U.map((C)=>_0(C,F)):[...U,...F],I=D("parallel.shell-dynamic",A3),A=B&&$.head==="find"?Xj(P,W):null,E=DG(P,B,Q.policy?.rules??[],Q.budget)??A?.customResult??null,_=r($.head),R=B&&(_==="rm"&&Q7(P)||_==="xargs"&&zG(P)||A?.rmOptions===!0),b=B&&(R||A?.executedSource===!0||A===null&&_G(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:D("parallel.rm-recursive-force-dynamic",b3)});if(b){let C=k(I,Q.policy);if(C)return C}return S??E??M1(P,Q.policy?.rules??[])})}function _G($,J){if(t($[0]??""))return!0;if(J==="eval"||J==="source"||J===".")return!0;if(J==="parallel"||J==="xargs")return!0;if(U1.has(J))return Jj($);if(J==="git")return eI($);if(J==="find")return!0;if(h1.has(J))return HG($,rI,D3);if(w1(J))return HG($,iI,W9);return!1}function Q7($){let J=$.indexOf("--"),Q=$.slice(1,J===-1?void 0:J);if(!$.some(t))return J===-1;return Q.some((X)=>t(X)&&(X.startsWith("-")||SG(X)))}function eI($){if($j($))return!0;let J=X0($);if(J.subcommand===null||t(J.subcommand))return!0;if(!d9.has(J.subcommand.toLowerCase()))return!1;let Q=J.rest.indexOf("--"),W=J.rest.slice(0,Q===-1?void 0:Q);if(!$.some(t))return Q===-1;return W.some(t)}function $j($){for(let J=1;J<$.length;J++){let Q=$[J];if(!Q||Q==="--"||!Q.startsWith("-"))return!1;if(Q==="-c"||Q==="--config-env"){if(t($[J+1]??""))return!0;J++;continue}if(Q.startsWith("-c")&&Q.length>2||Q.startsWith("--config-env=")){if(t(Q))return!0;continue}if(t(Q))return!0}return!1}function Jj($){if(r1($))return!1;let J=O0($);if(J!==null)return t(J);let Q=F0(p($));if(Q.kind==="literal")return t(Q.source);if(Q.kind==="dynamic")return!0;return!$.some(t)}function HG($,J,Q){let W=Q($);if(W.some((Y)=>t(Y.value)))return!0;if(!$.some(t))return Q([...$,GG]).some((Y)=>Y.value===GG);let X=new Set(W.map((Y)=>`${Y.tokenIndex}\x00${Y.kind}\x00${Y.value}`));return J.some((Y)=>Q($.map((K)=>_0(K,[Y]))).some((K)=>!X.has(`${K.tokenIndex}\x00${K.kind}\x00${K.value}`)))}function DG($,J,Q,W){if(!J||Q.length===0)return null;let X=Q.filter((K)=>r(K.command)===r($[0]??""));if(X.length===0)return null;let Y=$.some(t);if(v1(W,Qj($,X,Y)),!Y)return D1(X,(K)=>M1([...$,...K.subcommand?[K.subcommand]:[],...K.block_args],[K]));return D1(X,(K)=>{let B=new Set([K.subcommand,...K.block_args].flatMap((q)=>q?Wj($,q):[]));return D1(B,(q)=>M1($.map((U)=>_0(U,[q])),[K]))})}function Qj($,J,Q){let W=Q?b1(G1(J.map((X)=>X.block_args.length+(X.subcommand?1:0)),h.maxChildAnalyses),2*Math.max($.length,1),h.maxChildAnalyses):J.length;return{childAnalyses:W,derivedTokens:b1(W,$.length,h.maxDerivedTokens)}}function Wj($,J){return $.flatMap((Q)=>{let W=[...Q.matchAll(/\{[^{}\s]*\}/g)];if(W.length!==1)return[];let X=W[0];if(!X||X.index===void 0)return[];let Y=Q.slice(0,X.index),K=Q.slice(X.index+X[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 Xj($,J){let Q={customResult:null,executedSource:!$.some(t),rmOptions:!1},W=!1,X=0,Y=null,K=()=>{if(!Y?.some(t))return;for(let B of Q0(Y,J))Q.executedSource||=_G(B.tokens,B.head),Q.rmOptions||=B.head==="rm"&&Q7(B.tokens)||B.head==="xargs"&&zG(B.tokens),Q.customResult??=DG(B.tokens,!0,J.policy?.rules??[],J.budget)};for(let B of $.slice(1)){if(!W&&!B.startsWith("-")&&B!=="!"&&B!=="("){Q.executedSource||=t(B);continue}if(W=!0,Y){if(B===";"||B==="+"){K(),Y=null;continue}Y.push(B);continue}if(X>0){X--;continue}if(h0(B)){Y=[],Q.executedSource||=t(B);continue}let q=s0(B);if(q>0){X=q,Q.executedSource||=t(B);continue}Q.executedSource||=t(B)}return K(),Q}function zG($){let J=$.slice(A2($).childStart);return r(J[0]??"")==="rm"&&Q7(J)}function t9($,J){return(Q)=>k(D($,J),Q.policy)}var E2=t9("parallel.shell-dynamic",A3),Yj=t9("parallel.command-stream-dynamic",pI),S2=t9("parallel.command-stream-dynamic",cI),ZG=t9("parallel.rm-recursive-force-dynamic",b3);function tQ($,J,Q){return k(B4(p($),{environment:Q.environment,cwd:J,originalCwd:Q.originalCwd,strict:Q.strict,paranoid:Q.paranoidRm,allowTmpdirVar:Q.allowTmpdirVar,tmpdirWordSplittingUnsafe:H0(Q.envAssignments??new Map,Q.environment),trustedTmpdirValue:f0(Q.envAssignments??new Map,Q.environment),protectedGitMetadata:Q.protectedGitMetadata,policy:Q.policy}),Q.policy)}function eQ($){return{childAnalyses:$.length,derivedTokens:$.length,derivedBytes:Z4($)}}function LG($){return IG([$])}function IG($){return{childAnalyses:1,derivedTokens:$.length,derivedBytes:Z4($)}}function MG($,J){if(J.length>h.maxChildAnalyses)return{childAnalyses:J.length};return{childAnalyses:J.length,derivedTokens:G1(J.map((Q)=>$.length+Q.length),h.maxDerivedTokens),derivedBytes:G1([b1(Z4($),J.length,h.maxDerivedBytes),G1(J.map((Q)=>Z4(Q)),h.maxDerivedBytes)],h.maxDerivedBytes)}}function OG($,J){return s9([$],J,"generic")}function s9($,J,Q){if(J.length>h.maxChildAnalyses)return{childAnalyses:J.length};let W=b1($.length,J.length,h.maxDerivedTokens);if(W>h.maxDerivedTokens)return{childAnalyses:J.length,derivedTokens:W};let X=PG($.map((q)=>RG(q,Q))),Y=b1(X.occurrences,J.length,h.maxPlaceholderReplacements);if(Y>h.maxPlaceholderReplacements)return{childAnalyses:J.length,derivedTokens:W,placeholderReplacements:Y};if(jG(X,J,Y))return{childAnalyses:J.length,derivedTokens:W,derivedBytes:h.maxDerivedBytes+1,placeholderReplacements:Y};let K=Q==="generic"?_0:J7,B=G1(J.map((q)=>Z4($.map((U)=>K(U,q)))),h.maxDerivedBytes);return{childAnalyses:J.length,derivedTokens:W,derivedBytes:B,placeholderReplacements:Y}}function jG($,J,Q){let W=h.maxDerivedBytes+4*Q;return G1([b1($.fixedBytes,J.length,W),b1($.occurrences,G1(J.map((X)=>X.reduce((Y,K)=>Math.max(Y,H4(K)),0)),W),W)],W)>W}function Kj($,J){let Q=$.filter((G)=>G.hasPlaceholder),W=Math.max(J.length,1),X=G1(Q.map((G)=>G.frequency),h.maxChildAnalyses),Y=b1(X,W,h.maxChildAnalyses),K=b1(X,W,h.maxDerivedTokens);if(Y>h.maxChildAnalyses||K>h.maxDerivedTokens)return{childAnalyses:Y,derivedTokens:K};if(J.length===0)return{childAnalyses:Y,derivedTokens:K,derivedBytes:G1(Q.map((G)=>b1(H4(G.value),G.frequency,h.maxDerivedBytes)),h.maxDerivedBytes)};let B=PG(Q.map((G)=>qj(RG(G.value,"generic"),G.frequency))),q=b1(B.occurrences,W,h.maxPlaceholderReplacements);if(q>h.maxPlaceholderReplacements)return{childAnalyses:Y,placeholderReplacements:q};if(jG(B,J,q))return{childAnalyses:Y,derivedTokens:K,derivedBytes:h.maxDerivedBytes+1,placeholderReplacements:q};let U=G1(Q.map((G)=>b1(Z4(J.map((H)=>_0(G.value,H))),G.frequency,h.maxDerivedBytes)),h.maxDerivedBytes);return{childAnalyses:Y,derivedTokens:K,derivedBytes:U,placeholderReplacements:q}}function Bj($,J){return{childAnalyses:G1([$.childAnalyses??0,J.childAnalyses??0],h.maxChildAnalyses),derivedTokens:G1([$.derivedTokens??0,J.derivedTokens??0],h.maxDerivedTokens),derivedBytes:G1([$.derivedBytes??0,J.derivedBytes??0],h.maxDerivedBytes),placeholderReplacements:G1([$.placeholderReplacements??0,J.placeholderReplacements??0],h.maxPlaceholderReplacements)}}function RG($,J){let Q=J==="generic"?$.matchAll(/\{[^{}\s]*\}/g):$.matchAll(FG),W=0,X=0,Y=0;for(let K of Q){if(W>=h.maxPlaceholderReplacements)return{occurrences:h.maxPlaceholderReplacements+1,fixedBytes:0};X=G1([X,H4($.slice(Y,K.index))],a9),W++,Y=K.index+K[0].length}return{occurrences:W,fixedBytes:W===0?H4($):G1([X,H4($.slice(Y))],a9)}}function qj($,J){return{occurrences:b1($.occurrences,J,h.maxPlaceholderReplacements),fixedBytes:b1($.fixedBytes,J,a9)}}function PG($){return{occurrences:G1($.map((J)=>J.occurrences),h.maxPlaceholderReplacements),fixedBytes:G1($.map((J)=>J.fixedBytes),a9)}}function Z4($,J=h.maxDerivedBytes){return G1($.map(H4),J)}function H4($){return aI.encode($).byteLength}function G1($,J){let Q=0;for(let W of $){if(!Number.isSafeInteger(W)||W<0||W>J-Q)return J+1;Q+=W}return Q}function b1($,J,Q){if(!Number.isSafeInteger($)||!Number.isSafeInteger(J)||$<0||J<0||$!==0&&J>Math.floor(Q/$))return Q+1;return $*J}function $7($,J,Q){let W=[];for(let X of $){let Y=Q.get(X)??J?.get(X);if(Y!==void 0)W.push(Y)}return W.push(...Q.values()),Uj(W)}function Uj($){let J=new Map;for(let W of $)J.set(W,(J.get(W)??0)+1);let Q=[...J].map(([W,X])=>({value:W,frequency:X,hasPlaceholder:t(W)}));return{values:$,entries:Q,byValue:new Map(Q.map((W)=>[W.value,W]))}}function NG($,J,Q,W){return D1($.values,(X)=>{if(!$.byValue.get(X)?.hasPlaceholder)return null;let Y=J.length>0?J:[void 0];return D1(Y,(K)=>{let B=K===void 0?X:_0(X,K);return Q.analyzeNested(B,{envAssignments:Q.envAssignments,effectiveCwd:W?null:Q.cwd})})})}function bG($,J,Q){let W={};if($)W.envAssignments=$;if(Q)return W.effectiveCwd=null,W.worktreeMode=!1,W;if(J!==void 0)W.effectiveCwd=J;return Object.keys(W).length>0?W:void 0}function _0($,J){return $.replace(/\{[^{}\s]*\}/g,(Q)=>AG(Q,J))}function J7($,J){return $.replace(FG,(Q)=>AG(Q,J))}function AG($,J){let Q=/^\{(-?\d+)[^{}\s]*\}$/.exec($)?.[1];if(Q===void 0)return J[0]??"";let W=Number(Q),X=W>0?W-1:J.length+W;return J[X]??""}function t($){return dI.test($)}function EG($){if(W7($))return!0;for(let J of $.matchAll(/\{[^{}\s]*\}/g))if(!/^(?:\{\}|\{-?\d+\})$/.test(J[0]))return!0;return!1}function W7($){let J=$.indexOf("{=");return J!==-1&&$.indexOf("=}",J+2)!==-1}function SG($){return/^\{[^{}\s]*\}$/.test($)}function CG($){let J=1,Q=[],W=$.length,X=-1,Y=!1,K=!1,B=!1,q,U=$.some((O)=>O==="::::"||O==="::::+"||O===":::+"),G=[];while(J<$.length){let O=$[J];if(O===void 0)break;if(O===":::"){X=J;break}if(O==="--"){let A=vQ($,J+1);Q.push(...A.templateTokens),W=J+1,X=A.markerIndex;break}if(!O.startsWith("-")){let A=vQ($,J);Q.push(...A.templateTokens),W=J,X=A.markerIndex;break}let V=$[J+1],F=O.indexOf("="),P=F===-1?O:O.slice(0,F),I=F===-1?void 0:O.slice(F+1);if(O==="--dry-run"){B=!0,J++;continue}if(O==="-I"||O.startsWith("-I")&&O.length>2){U||=(O==="-I"?V:O.slice(2))!=="{}",J+=O==="-I"?2:1;continue}if(O==="--replace"||O==="-i"){U=!0,J+=2;continue}if(P==="--replace"||O.startsWith("-i")&&O.length>2){let A=P==="--replace"?I:O.slice(2);U||=A!==""&&A!=="{}",J++;continue}if(O==="-a"||nI.has(P)){U=!0,J+=I===void 0?2:1;continue}if(O==="--pipe"||O==="--pipepart"){K=!0,J++;continue}if(P==="--env"){G.push(...Zj(I??V)),J+=I===void 0?2:1;continue}if(UG.has(P)||O.startsWith("-S")&&O.length>2){Y=!0,J+=UG.has(O)?2:1;continue}if(sI.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(O.startsWith("-j")&&O.length>2&&/^\d+$/.test(O.slice(2))){J++;continue}if(O.startsWith("--")&&I!==void 0){J++;continue}if(oI.has(O)){if(V===void 0||V===":::"||V==="--"){U=!0,J++;continue}J+=2;continue}J+=O==="-j"||O==="--jobs"?2:1}U||=Q.some(B?W7:EG);let H=[];if(X!==-1){let O=[];for(let V=X+1;V<$.length;V++){let F=$[V];if(F===":::"){H.push(O),O=[];continue}if(F!==void 0)O.push(F)}H.push(O)}let L=Hj(H),Z=Q.some(t),M=Q.length===0&&X===-1;return{template:Q,jobs:L,childStart:W,templateHasPlaceholder:Z,runsRemotely:Y,usesStdin:K||X===-1,envNames:G,readsCommandsFromInput:M,unsupported:U,workdir:q,dryRun:B}}function Gj($,J,Q){if($===void 0)return;if($==="..."||/[{}$`*?~[]/.test($))return null;if(!J&&!lI($))return null;try{return r0(J??$,$,Q)}catch{return null}}function Hj($){if($.length===0||$.some((Q)=>Q.length===0))return[];let J=[[]];for(let Q of $){if(Q.length===1){let X=Q[0];if(X===void 0)return[];for(let Y of J)Y.push(X);continue}let W=[];for(let X of J)for(let Y of Q)if(W.push([...X,Y]),W.length>h.maxChildAnalyses)return W;J=W}return J}function Zj($){return($??"").split(",").map((J)=>J.trim()).filter(Boolean)}function TG($){return CG($).childStart}var Lj="dynamic command name contains shell substitution output and cannot be verified safely. Use a literal executable name.",e9="shell substitution output can change guarded command structure and cannot be verified safely. Use literal subcommands and options.";function Y7($){return $?.parts.some((J)=>J.provenance==="command-substitution")??!1}function X7($){return $?.parts.some((J)=>J.provenance==="literal"&&J.raw.replace(/^["']/,"").startsWith("-"))??!1}function vG($,J,Q,W,X=!1,Y){let B=(qQ($,J)||W&&$!=="powershell"&&J[0]?.provenance==="variable")&&q1(Y,"shell.dynamic-executable",X)?D("shell.dynamic-executable",Lj):null;return k(B,Y)??fG($,J,Q,X,Y)}function fG($,J,Q,W,X){if(J.length<2)return null;let Y=J.flatMap((B,q)=>Y7(B)?[q]:[]);if(Y.length===0)return null;let K=r(J[0]?.text??"");if(K==="git"){let B=i2($,J),q=Oj(B);if(q1(X,"shell.dynamic-structure",W)&&Y.some((H)=>H<=q))return k(D("shell.dynamic-structure",e9),X);if(k(K4(B,{env:Q.env}),X))return null;let U=J[q]?.text.toLowerCase(),G=B.findIndex((H,L)=>L>q&&v(H)==="--");if(q1(X,"shell.dynamic-structure",W)&&U&&d9.has(U)&&Y.some((H)=>H>q&&(G===-1||H<G)))return k(D("shell.dynamic-structure",e9),X);return null}if(K==="find")return q1(X,"shell.dynamic-structure",W)&&Nj(J)?k(D("shell.dynamic-structure",e9),X):null;if(K==="rm"){let B=J.findIndex((U,G)=>G>0&&v(U)==="--"),q=W0(J.map(v));return q1(X,"shell.dynamic-structure",W)&&Y.some((U)=>(B===-1||U<B)&&(U<J.length-1||!q))?k(D("shell.dynamic-structure",e9),X):null}if(K==="xargs")return wG($,J.slice(A2(J.map(v)).childStart),"xargs",Q,W,X);if(K==="parallel")return wG($,J.slice(TG(J.map(v))),"parallel",Q,W,X);return null}function wG($,J,Q,W,X,Y){if(J.length===0)return null;let K=Mj(J,W);if(qQ($,K)){let q=k(D(`${Q}.shell-dynamic`,Q==="xargs"?sQ:A3),Y);if(q)return q}let B=fG($,K,W,X,Y);if(B)return B;if(K[0]?.text==="rm"&&K.slice(1).some((q)=>Y7(q)&&X7(q)))return k(D(`${Q}.rm-recursive-force-dynamic`,Q==="xargs"?nQ:b3),Y);return null}function Mj($,J){let Q=_2($,J),W=Q.rewritten?p(Q.words.map(v)):Q.words,X=W[0];return X&&v(X)==="busybox"?W.slice(1):W}function Oj($){let J=1;while(J<$.length){let Q=$[J],W=Q?v(Q):"";if(U0.has(W)){J+=2;continue}if(W.startsWith("-")){J++;continue}return J}return J}function Nj($){let J=!1,Q=0,W=!1,X=!1;for(let Y=1;Y<$.length;Y++){let K=$[Y];if(!K)continue;let B=Y7(K);if(Q>0){Q--;continue}if(X){if(K.text===";"||K.text==="+"){X=!1,J=!0,W=!1;continue}if(B&&(W||X7(K)))return!0;W=!1;continue}if(!J&&!K.text.startsWith("-")){if(B&&(Y>1||X7(K)))return!0;continue}if(J=!0,B)return!0;let q=s0(K.text);if(q>0){Q=q;continue}if(h0(K.text))X=!0,W=!0}return!1}function K7($,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 Fj="dd writing to a /dev device can destroy a disk or partition. Run device writes manually after confirming the target.",Vj="mkfs formatting a /dev device erases everything on it. Run the format manually after confirming the target.",_j="shred permanently destroys the given target. Use rm for ordinary deletes, or run shred manually.";function kG($,J){let Q=J.slice(1);if($==="dd"&&Q.some((W)=>/^of=\/dev\/.+/.test(W)))return D("dd.device-write",Fj);if(($==="mkfs"||$.startsWith("mkfs."))&&Q.some((W)=>W.startsWith("/dev/")))return D("mkfs.device",Vj);if($==="shred"&&Q.length>0)return D("shred.target",_j);return null}var yG=[{heads:new Set(["rm","rmdir"]),analyze:($)=>B4($.words,{environment:$.options.environment,cwd:$.cwd,originalCwd:$.originalCwd,strict:$.options.strict,paranoid:$.options.paranoidRm,allowTmpdirVar:$.allowTmpdirVar,tmpdirWordSplittingUnsafe:H0($.envAssignments,$.options.environment),trustedTmpdirValue:f0($.envAssignments,$.options.environment),protectedGitMetadata:$.options.protectedGitMetadata,policy:$.options.policy})},{heads:new Set(["git"]),analyze:($)=>K4($.words,B7($))},{heads:new Set(["find"]),analyze:($)=>l9($.words,{environment:$.options.environment,cwd:$.cwd,originalCwd:$.originalCwd,strict:$.options.strict,allowTmpdirVar:$.allowTmpdirVar,tmpdirWordSplittingUnsafe:H0($.envAssignments,$.options.environment),trustedTmpdirValue:f0($.envAssignments,$.options.environment),protectedGitMetadata:$.options.protectedGitMetadata,derivedCommandWorkBudget:$.options.derivedCommandWorkBudget,envAssignments:$.envAssignments,policy:$.options.policy,analyzeTokens:$.analyzeChildTokens,analyzeNested:(J,Q)=>C2($.options.analyzeNested(J,Q))})},{heads:new Set(["xargs"]),analyze:($)=>XG($.words,{...hG($),analyzeNested:(J,Q)=>C2($.options.analyzeNested(J,Q))})},{heads:new Set(["parallel"]),analyze:($)=>VG($.words,{...hG($),budget:$.options.parallelBudget,analyzeNested:(J,Q)=>C2($.options.analyzeNested(J,Q))})}];function hG($){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 C2($){return $?{id:$.ruleId??"",reason:$.reason,intent:$.intent??"manual_only"}:null}function B7($){return{env:$.options.environment.env,cwd:$.cwd,dynamicArguments:$.dynamicArguments,envAssignments:$.envAssignments,policy:$.options.policy,worktreeMode:$.options.worktreeMode}}var mG="shell execution source cannot be verified safely. Use a literal command string or ask the user to run it manually.";function lG($){return yG.find((J)=>J.heads.has($))?.analyze}function E3($,J,Q){let W=Q.trace;if($.length===0)return null;let X=Q.commandView?.dialect??"posix",Y=(T)=>T.map((m)=>X==="posix"?v(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)W?.recordSegment({type:"env-strip",input:Y($),envVars:[...U.envAssignments.keys()],output:Y(U.words)});let G=_2(U.words,Q.environment,B,new Map([...Q.envAssignments??[],...U.envAssignments]));if(G.unverifiableEnvSplit)throw new N2;let H=G.rewritten?p(Y(G.words)):i2(X,G.words),L=Y(H),Z={...Q,wrapperNormalizationBudget:Q.wrapperNormalizationBudget??{iterations:0}};if(W&&U.words.length>H.length){let T=Y(U.words);W.recordSegment({type:"leading-tokens-stripped",input:T,removed:T.slice(0,T.length-H.length),output:L})}let M=new Map([...Q.envAssignments??[],...U.envAssignments,...G.envAssignments]),O=L[0];if(!O)return null;if(R2(O))throw new p1;let V=r(O),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(M,Q.environment),E=vG(X,G.words,Q.environment,J===0,Q.strict,Q.policy);if(E)return W?.recordSegment({type:"rule-check",rule:"analyzer/segment.ts:analyzeDynamicCommandStructure",matched:!0,reason:E.reason}),y0(E);let _=m9(L,Q.policy);if(_){for(let T of[_.childIndex,..._.alternativeChildIndices]){gG(Z.wrapperNormalizationBudget);let m=H.slice(T);W?.recordSegment({type:"transparent-wrapper",wrapper:_.wrapper,output:Y(m)});let X1=E3(m,J,{...Z,effectiveCwd:I,envAssignments:M});if(X1)return X1}return null}let R=V==="eval"?q4(H):V==="trap"?aU(H):void 0;if(R?.kind==="dynamic"&&(Q.strict||!Q.commandView||!iQ(Q.commandView)))return i1(W);if(R?.kind==="literal"){W?.recordSegment({type:"recurse",reason:V==="eval"?"shell-eval":"shell-trap",innerCommand:R.source,depth:J+1});let T=Q.analyzeNested(R.source,{effectiveCwd:I,envAssignments:M,functionDefinitions:Q.functionDefinitions});if(T)return T}if(cG(O,V)){if(r1(L))return null;let T=Dj(L,M,I,Q,W,J);if(T)return T;let m=O0(L);if(m){let d2=r9(H,m);if(d2.kind==="dynamic")return i1(W);let VJ=d2.kind==="literal"?d2.source:m,jK=zj(VJ);W?.recordSegment({type:"shell-wrapper",wrapper:V,innerCommand:jK}),W?.recordSegment({type:"recurse",reason:"shell-wrapper",innerCommand:jK,depth:J+1});let RK=Q.analyzeNested(VJ,{effectiveCwd:I,envAssignments:M});if(RK)return RK;return U4(VJ)?i1(W):null}let X1=F0(H);if(X1.kind==="dynamic")return i1(W);if(X1.kind==="literal")return Q$(X1.source,I,M,Q,W,J);let Z1=tU(H,Q.commandView?.redirections??[],Q.hasPipelineInput??!1,Q.literalShellInput);if(Z1.kind==="dynamic")return i1(W);if(Z1.kind==="literal")return W?.recordSegment({type:"recurse",reason:"shell-stdin",innerCommand:Z1.source,depth:J+1}),Q.analyzeNested(Z1.source,{effectiveCwd:I,envAssignments:M})}if(V==="source"||V==="."){let T=L[1]==="-p"?2:null;if(T!==null){let d2=Q.commandView?H[T]:void 0;if(!d2)return null;if(d2.provenance!=="literal")return i1(W)}let m=T===null?1:3,X1=L[m]==="--"?m+1:m,Z1=Q.commandView?H[X1]:void 0;if(!Z1)return null;if(Z1.provenance==="literal")return Q$(Z1.text,I,M,Q,W,J);if(Q.strict||!Q.commandView||!iQ(Q.commandView))return i1(W)}if(h1.has(V)){if(Q.strict&&K7(D3(L),H))return i1(W);let T=u9(L,(X1)=>C2(Q.analyzeNested(X1,{effectiveCwd:I,envAssignments:M}))),m=k(T,Q.policy);if(m)return W?.recordSegment({type:"rule-check",rule:"awk:analyzeAwkSystemCallMatch",matched:!0,reason:m.reason}),y0(m)}if(w1(V)){if(Q.strict&&K7(W9(L),H))return i1(W);let T=Q9(L);if(T){let m=q1(Q.policy,"interpreter.one-liner-paranoid",!!Q.paranoidInterpreters);if(W?.recordSegment({type:"interpreter",interpreter:V,codeArg:T,paranoidBlocked:m}),m){let Z1=k(D("interpreter.one-liner-paranoid",t2),Q.policy);if(Z1)return y0(Z1)}if(Y9(V,T))return null;W?.recordSegment({type:"recurse",reason:"interpreter",innerCommand:T,depth:J+1});let X1=Q.analyzeNested(T,{effectiveCwd:I,envAssignments:M});if(X1&&X1.ruleId!=="raw-text.dangerous-command"&&(X1.reason!==i0||W4(T)))return X1;if(e2(T,Q.scanWork)){let Z1=k(D("interpreter.dangerous-command",V2),Q.policy);if(Z1)return W?.recordSegment({type:"dangerous-text",token:T,matched:!0,reason:V2}),y0(Z1)}W=void 0}}if(V==="busybox"&&L.length>1)return gG(Z.wrapperNormalizationBudget),W?.recordSegment({type:"busybox",subcommand:L[1]??"unknown"}),W?.recordSegment({type:"recurse",reason:"busybox",innerCommand:L.slice(1).join(" "),depth:J+1}),E3(H.slice(1),J,{...Z,effectiveCwd:I,envAssignments:M});let b=k(kG(V,L),Q.policy);if(b)return W?.recordSegment({type:"rule-check",rule:"analyzer/device.ts:analyzeDeviceCommandMatch",matched:!0,reason:b.reason}),y0(b);let S=W===Z.trace?Z:{...Z,trace:W},C={words:H,head:V,cwd:F,originalCwd:P,envAssignments:M,allowTmpdirVar:A,dynamicArguments:G.words.some((T)=>T.provenance==="command-substitution"),depth:J,effectiveCwd:I,options:S,analyzeChildTokens:(T,m)=>C2(E3(p(T),J+1,{...S,commandView:void 0,effectiveCwd:m,envAssignments:M}))??M1(T,S.policy.rules)},g=lG(V);if(V==="rm"||V==="xargs"||V==="parallel")W?.recordSegment({type:"tmpdir-check",tmpdirValue:M.has("TMPDIR")||Q.environment.env.has("TMPDIR")?"<redacted>":null,isOverriddenToNonTemp:!A,allowTmpdirVar:A});let x=W&&V==="git"?uU(C.words,B7(C)):void 0,d=xG(x?x.match:g?.(C)??null,Q.policy);if(W)Ij(C,d,x?.relaxation??null);if(d)return y0(d);let V1=g!==void 0;if(!V1)if(!$9.has(V)){let T=W?[]:void 0;for(let m=1;m<L.length;m++){let X1=L[m];if(!X1)continue;T?.push(X1);let Z1=xG(jj(C,L,m),Q.policy);if(Z1)return W?.recordSegment({type:"fallback-scan",tokensScanned:T??[],embeddedCommandFound:r(X1)}),y0(Z1)}W?.recordSegment({type:"fallback-scan",tokensScanned:T??[]})}else W?.recordSegment({type:"fallback-scan",tokensScanned:[]});else W?.recordSegment({type:"fallback-scan",tokensScanned:[]});if(J===0||!V1){let T=M1(L,Q.policy.rules);if(W?.recordSegment({type:"custom-rules-check",rulesChecked:Q.policy.rules.length>0,matched:!!T,reason:T?.reason}),T)return y0(T)}else W?.recordSegment({type:"custom-rules-check",rulesChecked:!1,matched:!1});return null}function Dj($,J,Q,W,X,Y){let K=rU($);if(K.argvSource?.kind==="absent")return i1(X);if(K.argvSourceApplies&&K.argvSource){let q=Q$(K.argvSource.value,Q,J,W,X,Y,!0);if(q)return q}if(!K.envSourceApplies||!K.envName)return null;let B=J.get(K.envName);if(!B)return null;return Q$(B,Q,J,W,X,Y,!0)}function Q$($,J,Q,W,X,Y,K=!1){if(K&&/[$`*?[\]]/.test($))return i1(X);let B=K3($,J,W.environment.paths),q=B?W.literalHeredocFiles?.get(B):void 0;if(q===void 0)return K?i1(X):null;return G0(W.derivedCommandWorkBudget,1),X?.recordSegment({type:"recurse",reason:"heredoc-file",innerCommand:q,depth:Y+1}),W.analyzeNested(q,{effectiveCwd:J,envAssignments:Q})}function zj($){let J=$[0];return $.length>=2&&(J==='"'||J==="'")&&$.at(-1)===J?$.slice(1,-1):$}function Ij($,J,Q){let W={git:"git:analyzeGitMatch",rm:"analyzer/rm.ts:analyzeRmMatch",find:"analyzer/find.ts:analyzeFindMatch",xargs:"analyzer/xargs.ts:analyzeXargs",parallel:"analyzer/parallel.ts:analyzeParallel"}[$.head];if(!W)return;if($.options.trace?.recordSegment({type:"rule-check",rule:W,matched:!!J||!!Q,reason:J?.reason??Q?.originalReason}),Q)$.options.trace?.recordSegment({type:"worktree-relaxation",originalReason:Q.originalReason,gitCwd:Q.gitCwd})}function gG($){if($.iterations>=s2)throw new p1;$.iterations++}function y0($){return{reason:$.reason,ruleId:$.id||void 0,intent:$.intent}}function i1($){return $?.recordSegment({type:"error",message:mG}),y0(pG())}function pG(){return{id:"",reason:mG,intent:"stop_and_explain"}}function cG($,J){return U1.has(J)||$==="$SHELL"||$==="${SHELL}"||U1.has(l(J))}function jj($,J,Q){let W=Q0(J.slice(Q),{environment:$.options.environment,cwd:$.cwd,envAssignments:$.envAssignments,policy:$.options.policy});for(let X of W){let Y=Rj($,Q,X);if(Y)return Y}return null}function Rj($,J,Q){let W=Q.tokens[0];if(!W)return null;let X=r(W);if(cG(W,X)){G0($.options.derivedCommandWorkBudget,$.words.length-J);let q=Q.tokens;if(r1(q))return null;let U=O0(q);if(!U){if(F0(p(q)).kind==="dynamic")return pG();return J$($,Q)}let G=$.options.analyzeNested(U,{effectiveCwd:Q.wrapperCwd===void 0?$.effectiveCwd:Q.wrapperCwd,envAssignments:Q.envAssignments});return G?C2(G):J$($,Q)}let Y=lG(X);if(!Y||X==="xargs"||X==="parallel"){if(Q.wrappedByTransparent&&$.options.policy.rules.length>0)G0($.options.derivedCommandWorkBudget,$.words.length-J);return J$($,Q)}G0($.options.derivedCommandWorkBudget,$.words.length-J);let K=[X,...Q.tokens.slice(1)],B={...$,words:p(K),head:X,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:X==="git"?{...$.options,worktreeMode:!1}:$.options};return Y(B)??J$($,Q)}function J$($,J){return J.wrappedByTransparent?M1(J.tokens,$.options.policy.rules):null}function xG($,J){return $?.id.startsWith("custom.")?$:k($,J)}var Pj=/^\s*(?:\$\(\s*)?[({]*\s*(?:command\s+|builtin\s+)?(?:cd|pushd|popd)(?:\s|$)/,bj=new Set(["cd","chdir","pop-location","popd","push-location","pushd","set-location","sl"]);function Aj($,J){let Q=iG($,J);if(Q.length===0)return!1;let W=Q[rG(Q)];if(W==="cd"||W==="pushd"||W==="popd")return!0;return Pj.test($.join(" "))}function dG($,J,Q,W){if($.dialect==="powershell"){let B=Ej($.words,W);if(B.kind==="none")return;if(!J||B.kind==="unknown")return null;return uG(wj(B.target),J,Q.paths)}let X=$.words.map(v);if(!Aj(X,Q))return;if(!J)return null;let Y=iG(X,Q,J),K=rG(Y);if(K===-1||Y[K]!=="cd")return null;return uG(Y[K+1],J,Q.paths)}function uG($,J,Q){if(!$||$==="-"||$.includes("$")||$.includes("`"))return null;try{return vj(r0(J,$,Q),J,Q)?J:null}catch{return null}}function Ej($,J){let Q=Sj($[0])?1:0,W=$[Q];if(!Cj(W,Q===1))return{kind:"none"};let X=W.text.toLowerCase(),Y=X.split(/[\\/]/).pop()??X;if(!bj.has(Y))return{kind:"none"};if(X!==Y||Y==="pop-location"||Y==="popd")return{kind:"unknown"};return Tj($.slice(Q+1),J)}function Sj($){return $?.provenance==="literal"&&!$.quoted&&$.raw===$.text&&($.text==="&"||$.text===".")}function Cj($,J){return $?.provenance==="literal"&&(J||!$.quoted&&$.raw===$.text)}function Tj($,J){let Q;for(let W of $){if(W.provenance!=="literal"||Q!==void 0)return{kind:"unknown"};Q=W.text}if(Q!==void 0)return{kind:"target",target:Q};return J===void 0?{kind:"unknown"}:{kind:"target",target:J}}function wj($){return $.includes("::")?void 0:$.replaceAll("\\","/")}function rG($){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 iG($,J,Q){let W=fj($);return c1([...W],J,Q)}function vj($,J,Q){let W=Q.realpath($),X=Q.realpath(J);if(W===null||X===null)return $$($)===$$(J);return $$(W)===$$(X)}function fj($){let J=0;while(J<$.length){let Q=$[J];if(Q==="{"||Q==="("||Q==="$(")J++;else break}return $.slice(J)}var S3="TMPDIR",C3="IFS",kj=/^([A-Za-z_][A-Za-z0-9_]*)\+=/,q7=/^[A-Za-z_][A-Za-z0-9_]*$/;function nG($,J){let Q=uj($,J);return{env:$,effectiveEnvAssignments:Q,shellAssignments:new Map,exportedNames:mj($,Q),allexport:!1,keywordExport:!1}}function sG($){return{env:$.env,effectiveEnvAssignments:$.effectiveEnvAssignments?new Map($.effectiveEnvAssignments):void 0,shellAssignments:new Map($.shellAssignments),exportedNames:new Set($.exportedNames),allexport:$.allexport,keywordExport:$.keywordExport}}function U7($,J){let Q=hj($,J);if(!Q)return;let{command:W,commandIndex:X,leadingAssignments:Y,prefixAssignmentsPersist:K}=Q;if(W===null){for(let q of Y.values())oG(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(W==="set"){let q=oj($,X);if(q.allexport!==null)J.allexport=q.allexport;if(q.keywordExport!==null)J.keywordExport=q.keywordExport;return}if(W==="unset"){let q=dj($,X);if(q===null)return;for(let U of $.slice(q))cj(J,U);return}if(W!=="export"&&W!=="typeset"&&W!=="declare"&&W!=="readonly")return;for(let q of Y.values())oG(J,q);if(W==="export"){let q=rj($,X);if(q===null)return;for(let U of $.slice(q))lj(J,U);return}let B=ij($,X);if(B===null)return;for(let q of $.slice(B.operandsStart))pj(J,q,B.exports,W==="readonly"?Y:void 0)}function aG($,J){if(!J.keywordExport)return J.effectiveEnvAssignments;let Q=null,W=Y$(J);for(let X of $){let Y=X$(X,W,J.env);if(!Y)continue;Q??=new Map(J.effectiveEnvAssignments??[]),Q.set(Y.name,Y.value),W.set(Y.name,Y.value)}return Q??J.effectiveEnvAssignments}function hj($,J){let Q=new Map,W=0;while(W<$.length){let B=$[W];if(!B)return null;let q=X$(B,Y$(J,Q),J.env);if(!q)break;Q.set(q.name,q),W++}if(W>=$.length)return{command:null,commandIndex:W,leadingAssignments:Q,prefixAssignmentsPersist:!1};let X=W,Y=W,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=yj($,Y);if(!q)return null;Y=q.commandIndex,K=q.command;continue}let B=gj($,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===X&&(K==="unset"||K==="set"||K==="export"||K==="readonly")}}function yj($,J){return tG($,J,(Q)=>{if(Q==="-p")return"skip";return Q==="-v"||Q==="-V"?"abort":"stop"})}function gj($,J){return tG($,J,(Q)=>Q.startsWith("-")?"skip":"stop")}function tG($,J,Q){let W=J+1;while(W<$.length){let Y=$[W];if(!Y)return null;if(Y==="--"){W++;break}let K=Q(Y);if(K==="abort")return null;if(K==="skip"){W++;continue}break}let X=$[W];return X?{command:X,commandIndex:W}:null}function X$($,J,Q){return t1($)??xj($,J,Q)}function xj($,J,Q){let W=p6($,Q,J);if(W)return W;let X=$.match(kj)?.[1];if(!X)return null;let Y=$.indexOf("=");return{name:X,value:`${J.has(X)?J.get(X):Q.get(X)??""}${$.slice(Y+1)}`}}function W$($){return $===S3||$===C3||hJ($)}function Y$($,J){return new Map([...$.effectiveEnvAssignments??[],...$.shellAssignments,...[...J?.values()??[]].map((Q)=>[Q.name,Q.value])])}function uj($,J){let Q=[...m6,S3,C3].map((W)=>{let X=$.get(W);return X===void 0?null:[W,X]}).filter((W)=>W!==null);if(Q.length===0)return J;return new Map([...Q,...J??[]])}function mj($,J){let Q=new Set;for(let W of $.keys())if(W$(W))Q.add(W);for(let W of J?.keys()??[])if(W$(W))Q.add(W);return Q}function oG($,J){if($.shellAssignments.set(J.name,J.value),J.name===S3||J.name===C3||$.allexport||$.exportedNames.has(J.name))$2($,J)}function $2($,J){let Q=new Map($.effectiveEnvAssignments??[]);Q.set(J.name,J.value),$.effectiveEnvAssignments=Q}function lj($,J){let Q=X$(J,Y$($),$.env);if(Q){$.shellAssignments.set(Q.name,Q.value),$.exportedNames.add(Q.name),$2($,Q);return}if(q7.test(J))eG($,J)}function pj($,J,Q,W){let X=X$(J,Y$($),$.env);if(X){if($.shellAssignments.set(X.name,X.value),Q)$.exportedNames.add(X.name),$2($,X);else if(X.name===S3||X.name===C3||$.allexport||$.exportedNames.has(X.name))$2($,X);return}let Y=W?.get(J);if(Y){$.exportedNames.add(J),$2($,Y);return}if(Q&&q7.test(J))eG($,J)}function eG($,J){$.exportedNames.add(J),$2($,{name:J,value:$.shellAssignments.get(J)??$.effectiveEnvAssignments?.get(J)??$.env.get(J)??""})}function cj($,J){if(!W$(J)&&!q7.test(J))return;if($.shellAssignments.set(J,""),$.exportedNames.delete(J),!W$(J)||J===S3||J===C3||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 dj($,J){return $H($,J,(Q)=>Q==="-v")}function rj($,J){return $H($,J,(Q)=>Q==="-p")}function $H($,J,Q){let W=J+1;while(W<$.length){let X=$[W];if(!X)return null;if(X==="--")return W+1;if(Q(X)){W++;continue}if(X.startsWith("-"))return null;return W}return W}function ij($,J){let Q=J+1,W=!1;while(Q<$.length){let X=$[Q];if(!X)return null;if(X==="--")return{operandsStart:Q+1,exports:W};if(X.startsWith("-")){if(X.slice(1).includes("x"))W=!0;Q++;continue}if(X.startsWith("+")){if(X.slice(1).includes("x"))W=!1;Q++;continue}return{operandsStart:Q,exports:W}}return{operandsStart:Q,exports:W}}function oj($,J){let Q={allexport:null,keywordExport:null},W=J+1;while(W<$.length){let X=$[W];if(!X)return Q;if(X==="--")return Q;if(X==="-o"||X==="+o"){if($[W+1]==="allexport")Q.allexport=X==="-o";if($[W+1]==="keyword")Q.keywordExport=X==="-o";W+=2;continue}if(X.startsWith("-")&&X.length>1){let Y=X.slice(1);if(Y.includes("a"))Q.allexport=!0;if(Y.includes("k"))Q.keywordExport=!0;W++;continue}if(X.startsWith("+")&&X.length>1){let Y=X.slice(1);if(Y.includes("a"))Q.allexport=!1;if(Y.includes("k"))Q.keywordExport=!1;W++;continue}return Q}return Q}var nj="Unquoted heredoc input is not supported safely. Quote the delimiter or ask the user to verify.",T2="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.",sj=64;function M7($,J,Q,W){let X=Q.derivedCommandWorkBudget===void 0,Y=Q.parallelBudget===void 0;try{return aj($,J,{...Q,derivedCommandWorkBudget:Q.derivedCommandWorkBudget??t6(),parallelBudget:Q.parallelBudget??pB()},W)}catch(K){let B=K instanceof N2?fB:K instanceof p1&&X?vB:K instanceof q9&&Y?lB: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 aj($,J,Q,W){if(J>=e6)return Q.trace?.recordSegment({type:"error",message:C0}),{reason:C0,segment:$,intent:"stop_and_explain"};let X=W??Q.factStore?.getCommandProgram($,Q.shell??"auto")??e1($,Q.shell);if(X.status==="limited")return Q.trace?.recordSegment({type:"error",message:C0}),{reason:C0,segment:$,intent:"stop_and_explain"};if(X.status==="invalid"){let U=X.issues.find((G)=>G.code.includes("heredoc"));if(U){if(!Q.strict)return L7($,Q);let G=`Unsupported heredoc syntax: ${U.message}`;return Q.trace?.recordGlobal({type:"error",message:G}),{reason:G,segment:$,intent:"stop_and_explain"}}return KH($,Q),{reason:i0,segment:$,intent:"stop_and_explain"}}if(Q.strict&&X.status==="partial")return KH($,Q),{reason:i0,segment:$,intent:"stop_and_explain"};if(X.issues.some((U)=>U.code.includes("quote"))&&!Q.analyzePartialProgram)return L7($,Q);let K=Q.cwd,B=Q.effectiveCwd!==void 0?Q.effectiveCwd:Q.cwd,q=nG(Q.environment.env,Q.envAssignments);return q$(X,J,{...Q,rootProgram:X},K,[{effectiveCwd:B,shellGitContextState:q,literalHeredocFiles:new Map(Q.literalHeredocFiles),functionDefinitions:new Map(Q.functionDefinitions)}]).result}function q$($,J,Q,W,X){let Y=[...X],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=tj($,q,U,B,H),Z=B==="&&"||B==="||",M=Z?K:void 0,O=B==="&&"?M?.success??Y:B==="||"?M?.failure??Y:Y,V=B==="||"?M?.success??[]:[],F=B==="&&"?M?.failure??[]:[],P=Z||L4(H);if(U.kind==="function"){let S=O.flatMap((g)=>{let x=T3(g);return x.functionDefinitions.set(U.name,U.body),G7(g,[x],L,H==="&",L4(H))}),C=H7(S,[],V,F,B,H);Y=C.states,K=C.conditionalStates,B=void 0;continue}if(U.kind==="group"){let S=[],C=[];for(let x of O){let d=q$(U.body,J,Q,W,[T3(x)]);if(d.result)return d;if(S.push(...G7(x,d.states,L,H==="&",L4(H))),P)C.push(x,...L?d.states.map((V1)=>K$(x,V1)):d.states)}let g=H7(S,C,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=U$(B)&&A?.kind==="command"?sU(A)??$R(A):void 0,_=[],R=[];for(let S of O){let C=JR(U,J,Q,W,[T3(S)]);if(C.result)return{result:C.result,states:Y};let g=$.dialect==="powershell"?C.states:C.states.map((x)=>K$(S,x));for(let x of g){let d=T3(x),V1=XR(U,J,Q.trace?{...Q,trace:BH(Q.trace,I)}:Q,W,d,U$(B),E);if(V1)return{result:V1,states:Y};let T=FR(U,d.functionDefinitions);if(T)G0(Q.derivedCommandWorkBudget,G$(T));let m=T?J+1>=e6?Z7(U.displayText,Q,[d]):q$(T,J+1,Q,W,[d]):{result:null,states:[d]};if(m.result)return m;if(_.push(...G7(S,m.states,L,H==="&",L4(H))),P)R.push(S),R.push(...m.states.map((X1)=>L?K$(S,X1):X1))}}let b=H7(_,R,V,F,B,H);Y=b.states,K=b.conditionalStates,B=void 0}return{result:null,states:Y}}function tj($,J,Q,W,X){if(Q.kind==="group"&&Q.style==="subshell")return!0;if($.dialect==="posix"&&(U$(W)||U$(X)))return!0;if(X==="&")return!0;return $.dialect==="powershell"&&Q.kind==="group"&&Q.style==="brace"&&ej($,J)}function G7($,J,Q,W,X){let Y=Q?J.map((B)=>K$($,B)):[...J],K=X?Y.flatMap((B)=>w3($.literalHeredocFiles,B.literalHeredocFiles)?[B]:[{...B,literalHeredocFiles:new Map($.literalHeredocFiles)},B]):Y;return W?[$,...K]:K}function K$($,J){return{...$,literalHeredocFiles:new Map(J.literalHeredocFiles)}}function ej($,J){let Q=[...$.nodes.slice(0,J)].reverse().find((X)=>X.kind==="command"||X.kind==="connector");if(!Q||Q.kind!=="command")return!0;let W=Q.words[0]?.text.toLowerCase();if(W==="&"||W===".")return!1;if(W==="write-output"||W==="function"||W==="start-job")return!0;if(QR(Q))return!0;return Q.source.replaceAll(/\s/g,"").toLowerCase()==="if($false)"}function U$($){return $==="|"||$==="|&"}function $R($){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 L4($){return $==="&&"||$==="||"}function H7($,J,Q,W,X,Y){let K={success:B$([...Q,...$]),failure:B$([...W,...J])},B=L4(Y)?K:void 0;return{states:L4(X)||B?B$([...K.success,...K.failure]):K.success,conditionalStates:B}}function BH($,J,Q=$.flattenNested){return{currentSegmentIndex:J,flattenNested:Q,allocateSegment:$.allocateSegment,getNextSegmentIndex:$.getNextSegmentIndex,recordGlobal:$.recordGlobal,recordSegment:(W,X=J)=>$.recordSegment(W,X)}}function JR($,J,Q,W,X){let Y=$.nested.map((K)=>({program:K,depth:J}));if($.dialect==="powershell"){let K=WR($);if(K){if(J+1>=e6)return Z7(K,Q,X);let B=e1(K,"powershell");if(B.status==="limited")return Z7(K,Q,X);if(B.status!=="complete")return JH(Y,Q,W,X);G0(Q.derivedCommandWorkBudget,G$(B)),Y.push({program:B,depth:J+1})}}return JH(Y,Q,W,X)}function QR($){let J=$.words[0];return J?.provenance==="variable"&&$.words.at(-1)?.text==="="?J.text.toLowerCase():void 0}function JH($,J,Q,W){let X=[...W];for(let Y of $){let K=[];for(let B of X){let q=q$(Y.program,Y.depth,J,Q,[T3(B)]);if(q.result)return q;K.push(...q.states)}X=B$(K)}return{result:null,states:X}}function WR($){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,W=$.words[Q];if(W?.provenance!=="literal"||!J&&(W.quoted||W.raw!==W.text)||!["iex","invoke-expression"].includes(W.text.toLowerCase()))return;let X=$.words.slice(Q+1),Y=X[0]&&!X[0].quoted&&X[0].raw===X[0].text&&["-c","-command"].includes(X[0].text.toLowerCase())?1:0,K=X[Y];return X.length===Y+1&&K?.quoted&&K.provenance==="literal"?K.text:void 0}function G$($){return $.nodes.reduce((J,Q)=>J+(Q.kind==="command"?Q.words.length+Q.nested.reduce((W,X)=>W+G$(X),0):Q.kind==="group"||Q.kind==="function"?G$(Q.body):0),0)}function Z7($,J,Q){return J.trace?.recordSegment({type:"error",message:C0}),{result:{reason:C0,segment:$,intent:"stop_and_explain"},states:[...Q]}}function XR($,J,Q,W,X,Y,K){let B=HR($);if(B&&Q.strict)return Q.trace?.recordSegment({type:"error",message:B}),{reason:B,segment:$.source,intent:"stop_and_explain"};qH($,X,"before-consumer",Q.environment.paths);let q=i2($.dialect,$.words).map(v),U=$.displayText,G=aG(q,X.shellGitContextState);if($.dialect==="powershell"){let Z=k(OU($,Y,DR(Q,X.effectiveCwd)),Q.policy);if(Q.trace?.recordSegment({type:"rule-check",rule:"analyzer/powershell/remove-item.ts:analyzePowerShellCommandViewMatch",matched:!!Z,reason:Z?.reason}),Z)return _R(U,Z)}if(q.length===1&&q[0]?.includes(" ")&&!$.dynamicExecutable){let Z=k(Y3(q[0],Q.scanWork),Q.policy),M=Z!==null&&!Q.strict&&CB($,Q.rootProgram,Q.scanWork);if(Z&&!M)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};Q.trace?.recordSegment({type:"dangerous-text",token:q[0],matched:!1});let O=QH($,B,X,G,K,Q);if(O)return O;return U7(q,X.shellGitContextState),null}let H=E3($.words,J,{...Q,commandView:$,cwd:W,effectiveCwd:X.effectiveCwd,envAssignments:G,literalHeredocFiles:X.literalHeredocFiles,functionDefinitions:X.functionDefinitions,hasPipelineInput:Y,literalShellInput:K,analyzeNested:(Z,M)=>{let O=M&&Object.hasOwn(M,"effectiveCwd")?M.effectiveCwd:X.effectiveCwd,V=M7(Z,J+1,{...Q,derivedCommandWorkBudget:Q.derivedCommandWorkBudget,effectiveCwd:O,envAssignments:M?.envAssignments??G,literalHeredocFiles:X.literalHeredocFiles,functionDefinitions:M?.functionDefinitions,worktreeMode:M?.worktreeMode??Q.worktreeMode,trace:Q.trace?BH(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=QH($,B,X,G,K,Q);if(L)return L;return U7(q,X.shellGitContextState),null}function QH($,J,Q,W,X,Y){let K=ZR($,J,Q,W??new Map,Y);if(K)return K;return qH($,Q,"after-consumer",Y.environment.paths),Q.literalHeredocFiles.clear(),BR($,J,Q,Y.environment.paths),OR($,Q,X,Y.environment,Y.trace),null}var YR=new Set([">>","<>"]);function qH($,J,Q,W){for(let Y of $.redirections){if(!(Q==="before-consumer"?KR(Y):YR.has(Y.operator)))continue;WH(Y.target,J,W)}if(Q!=="before-consumer"||!y1($.words[0],"tee"))return;let X=UH($.words.slice(1));if(!X)return;for(let Y of X.operands)WH(Y,J,W)}function KR($){if($.operator===">"||$.operator===">|")return!0;return $.operator===">&"&&$.fd===void 0&&$.target?.provenance==="literal"&&!/^(?:[0-9]+|-)$/.test($.target.text)}function WH($,J,Q){let W=$?.provenance==="literal"?K3($.text,J.effectiveCwd,Q):void 0;if(!W)return;J.literalHeredocFiles.delete(W)}function BR($,J,Q,W){if(J)return;let X=$.redirections.find((Y)=>Y.operator==="<<"||Y.operator==="<<-")?.heredoc;if(!X?.quotedDelimiter)return;for(let Y of qR($)){let K=K3(Y.text,Q.effectiveCwd,W);if(!K||!yB(K))continue;if(!Q.literalHeredocFiles.has(K)&&Q.literalHeredocFiles.size>=hB)throw new p1;Q.literalHeredocFiles.set(K,X.body)}}function qR($){let J=GR($.redirections)?.target,Q=XH(J)?[J]:[];if(y1($.words[0],"cat"))return UR($.words)?Q:[];if(!y1($.words[0],"tee"))return[];let W=UH($.words.slice(1));if(!W||W.append||W.hasUnsupportedOptions||!W.operands.every(XH))return[];return[...W.operands,...Q]}function UR($){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 GR($){let J=$.findLast((Q)=>(Q.fd??([">",">|",">>",">&"].includes(Q.operator)?1:0))===1);return J?.operator===">"||J?.operator===">|"?J:void 0}function UH($){let J=[],Q=!0,W=!1,X=!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)){W||=Y.text.slice(1).includes("a"),X||=[...Y.text.slice(1)].some((K)=>K!=="a"&&K!=="i");continue}if(Q&&!Y.quoted&&Y.raw===Y.text&&Y.text.startsWith("--")){W||=Y.text==="--append",X||=Y.text!=="--append"&&Y.text!=="--ignore-interrupts";continue}J.push(Y)}return{operands:J,append:W,hasUnsupportedOptions:X}}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 HR($){let J=$.redirections.filter((K)=>K.operator==="<<"||K.operator==="<<-");if(J.length===0)return;if(J.length!==1)return T2;let Q=J[0];if(!Q?.heredoc)return T2;if(!Q.heredoc.quotedDelimiter)return nj;if(Q.fd!==void 0&&Q.fd!==0)return T2;if($.redirections.some((K)=>K!==Q&&["<","<<","<<-","<<<","<&","<>"].includes(K.operator)))return T2;let W=$.redirections.some((K)=>K!==Q&&YH(K.target));if(y1($.words[0],"cat"))return W?T2:void 0;if(y1($.words[0],"tee"))return W||$.words.slice(1).some(YH)?T2:void 0;let X=$.words[0],Y=$.words[1];if(y1(X,"git")&&(y1(Y,"apply")||y1(Y,"commit")))return;if(y1(X,"gh")&&(y1(Y,"pr")||y1(Y,"issue"))&&y1($.words[2],"create"))return;return T2}function YH($){return $?.parts.some((J)=>J.provenance==="command-substitution"&&J.raw.startsWith(">("))??!1}function ZR($,J,Q,W,X){if(!J)return null;let Y=$.redirections.filter((U)=>U.operator==="<<"||U.operator==="<<-"),K=Y.flatMap((U)=>U.heredoc?[U.heredoc.body]:[]);if(MR($,Y,Q,W,X))return null;let B=LR($,Y,X);if(B!==void 0)return B?{reason:B.reason,segment:$.displayText,ruleId:B.id,intent:B.intent}:null;let q=L7(K.length===Y.length?K.join(`
|
|
63
|
+
`):$.source,X);return q?{...q,segment:$.displayText}:null}function LR($,J,Q){let W=J.length===1?J[0]:void 0;if(!W?.heredoc?.quotedDelimiter||W.fd!==void 0&&W.fd!==0)return;let X=$.words[0];if(X?.provenance!=="literal"||!w1(X.text))return;if(!$.words.slice(1).every((U)=>U.provenance==="literal"&&U.text.startsWith("-")))return;let K=W.heredoc.body,B=q1(Q.policy,"interpreter.one-liner-paranoid",!!Q.paranoidInterpreters);if(Q.trace?.recordSegment({type:"interpreter",interpreter:X.text,codeArg:K,paranoidBlocked:B}),B){let U=k(D("interpreter.one-liner-paranoid",t2),Q.policy);if(U)return U}if(!e2(K,Q.scanWork))return null;let q=k(D("interpreter.dangerous-command",V2),Q.policy);if(!q)return null;return Q.trace?.recordSegment({type:"dangerous-text",token:K,matched:!0,reason:q.reason}),q}function MR($,J,Q,W,X){let Y=J.length===1?J[0]:void 0;if(!Y?.heredoc?.quotedDelimiter||Y.fd!==void 0&&Y.fd!==0)return!1;let K=_2($.words,X.environment,Q.effectiveCwd,W),B=K.words.map(v),q=r(B[0]??"");if(K.unverifiableEnvSplit||!U1.has(q)&&!U1.has(l(q)))return!1;return r1(B)}function OR($,J,Q,W,X){let Y=dG($,J.effectiveCwd,W,Q);if(Y===null)X?.recordSegment({type:"cwd-change",segment:$.words.map(v).join(" "),effectiveCwdNowUnknown:!0});if(Y!==void 0)J.effectiveCwd=Y}function T3($){return{effectiveCwd:$.effectiveCwd,shellGitContextState:sG($.shellGitContextState),literalHeredocFiles:new Map($.literalHeredocFiles),functionDefinitions:new Map($.functionDefinitions)}}function B$($){let J=[];for(let Q of $){if(!J.some((W)=>NR(W,Q)))J.push(Q);if(J.length>sj)throw new p1}return J}function NR($,J){return $.effectiveCwd===J.effectiveCwd&&w3($.literalHeredocFiles,J.literalHeredocFiles)&&w3($.functionDefinitions,J.functionDefinitions)&&w3($.shellGitContextState.effectiveEnvAssignments,J.shellGitContextState.effectiveEnvAssignments)&&w3($.shellGitContextState.shellAssignments,J.shellGitContextState.shellAssignments)&&VR($.shellGitContextState.exportedNames,J.shellGitContextState.exportedNames)&&$.shellGitContextState.allexport===J.shellGitContextState.allexport&&$.shellGitContextState.keywordExport===J.shellGitContextState.keywordExport}function w3($,J){if($===J)return!0;if(!$||!J||$.size!==J.size)return!1;return[...$].every(([Q,W])=>J.get(Q)===W&&J.has(Q))}function FR($,J){let Q=R9($);return Q===void 0?void 0:J.get(Q)}function VR($,J){return $.size===J.size&&[...$].every((Q)=>J.has(Q))}function _R($,J){if(!J)return null;return{reason:J.reason,segment:$,ruleId:J.id,intent:J.intent}}function DR($,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 L7($,J){let Q=k(Y3($,J.scanWork),J.policy),W=J.trace?.currentSegmentIndex??J.trace?.allocateSegment(),X={type:"dangerous-text",token:$,matched:!!Q,reason:Q?.reason};if(J.trace?.recordSegment(X,W),!Q&&/^(?:cd|pushd)\s/.test($))J.trace?.recordSegment({type:"cwd-change",segment:$,effectiveCwdNowUnknown:!0},W);return Q?{reason:Q.reason,segment:$,ruleId:Q.id,intent:Q.intent}:null}function KH($,J){let Q={type:"strict-unparseable",rawCommand:$,reason:i0};if(J.trace?.currentSegmentIndex===void 0)J.trace?.recordGlobal(Q);else J.trace.recordSegment(Q)}var H1={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"}},H$=["standard","strict","paranoid"];function zR($){return{failClosed:$==="strict"||$==="paranoid",paranoidRm:$==="paranoid",paranoidInterpreters:$==="paranoid"}}function IR($,J){if(!J)return $;return H$.indexOf(J)>H$.indexOf($)?J:$}function jR(){let $=_7(H1.level);if($===void 0||$==="")return;if(H$.includes($))return $;console.error(`CC Safety Net: ignored invalid ${H1.level.name}=${JSON.stringify($.slice(0,40))}. Use ${H$.join(", ")}.`);return}function RR($){if($===void 0||$==="all")return"all";if($==="blocked")return"blocked";return"invalid"}function N7(){return RR(_7(H1.auditScope))==="all"}function F7($){if($.failClosed&&$.paranoidRm&&$.paranoidInterpreters)return"paranoid";if($.failClosed&&!$.paranoidRm&&!$.paranoidInterpreters)return"strict";if(!$.failClosed&&!$.paranoidRm&&!$.paranoidInterpreters)return"standard";return"custom"}function V7($={}){let J=$.safety?.level??"standard",Q=jR(),W=IR(J,Q),X=zR(W),Y={failClosed:W===J?"preset":"environment",paranoidRm:W===J?"preset":"environment",paranoidInterpreters:W===J?"preset":"environment"},K={failClosed:[`policy safety.level=${J}`],paranoidRm:[`policy safety.level=${J}`],paranoidInterpreters:[`policy safety.level=${J}`]};if(W!==J)K.failClosed.push(`env ${H1.level.name}=${Q}`),K.paranoidRm.push(`env ${H1.level.name}=${Q}`),K.paranoidInterpreters.push(`env ${H1.level.name}=${Q}`);if($.safety?.overrides?.failClosed!==void 0)X.failClosed=$.safety.overrides.failClosed,Y.failClosed="capability_override",K.failClosed.push("policy safety.overrides.fail_closed");if($.safety?.overrides?.paranoidRm!==void 0)X.paranoidRm=$.safety.overrides.paranoidRm,Y.paranoidRm="capability_override",K.paranoidRm.push("policy safety.overrides.paranoid_rm");if($.safety?.overrides?.paranoidInterpreters!==void 0)X.paranoidInterpreters=$.safety.overrides.paranoidInterpreters,Y.paranoidInterpreters="capability_override",K.paranoidInterpreters.push("policy safety.overrides.paranoid_interpreters");if(J2(H1.strict))X.failClosed=!0,Y.failClosed="environment",K.failClosed.push(`env ${H1.strict.name}`);if(J2(H1.paranoid))X.paranoidRm=!0,X.paranoidInterpreters=!0,Y.paranoidRm="environment",Y.paranoidInterpreters="environment",K.paranoidRm.push(`env ${H1.paranoid.name}`),K.paranoidInterpreters.push(`env ${H1.paranoid.name}`);if(J2(H1.paranoidRm))X.paranoidRm=!0,Y.paranoidRm="environment",K.paranoidRm.push(`env ${H1.paranoidRm.name}`);if(J2(H1.paranoidInterpreters))X.paranoidInterpreters=!0,Y.paranoidInterpreters="environment",K.paranoidInterpreters.push(`env ${H1.paranoidInterpreters.name}`);let B=!!$.worktreeMode||J2(H1.worktree);return{strict:X.failClosed,paranoidRm:X.paranoidRm,paranoidInterpreters:X.paranoidInterpreters,worktreeMode:B,effectiveLevel:F7(X),capabilities:{fail_closed:{enabled:X.failClosed,source:Y.failClosed,sources:K.failClosed},paranoid_rm:{enabled:X.paranoidRm,source:Y.paranoidRm,sources:K.paranoidRm},paranoid_interpreters:{enabled:X.paranoidInterpreters,source:Y.paranoidInterpreters,sources:K.paranoidInterpreters}}}}function J2($){let J=typeof $==="string"?O7($):_7($);return J==="1"||J?.toLowerCase()==="true"}function O7($){return Object.hasOwn(process.env,$)?process.env[$]:void 0}function _7($){let J=O7($.name);if(J!==void 0)return J;if($.legacyName)return O7($.legacyName);return}function GH($){let J=$.effectiveCapabilities,Q=$.strict??J.fail_closed.enabled,W=$.paranoidRm??J.paranoid_rm.enabled,X=$.paranoidInterpreters??J.paranoid_interpreters.enabled,Y={fail_closed:D7(J.fail_closed,$.strict,"strict"),paranoid_rm:D7(J.paranoid_rm,$.paranoidRm,"paranoidRm"),paranoid_interpreters:D7(J.paranoid_interpreters,$.paranoidInterpreters,"paranoidInterpreters")};return{policy:EB($.policySnapshot.policy,Y),effectiveCapabilities:Y,effectiveLevel:F7({failClosed:Q,paranoidRm:W,paranoidInterpreters:X}),strict:Q,paranoidRm:W,paranoidInterpreters:X,worktreeMode:$.worktreeMode??!1}}function D7($,J,Q){if(J===void 0||J===$.enabled)return $;return{enabled:J,source:"capability_override",sources:[...$.sources,`analysis options.${Q}`]}}function HH($,J,Q,W){let X=M7($,0,{...J,...GH(J),factStore:W},Q);if(!X)return null;return{kind:"deny",reason:X.reason,intent:X.intent??"manual_only",...X.ruleId?{ruleId:X.ruleId}:{},evidence:[{kind:"command",command:$,segment:X.segment}]}}import{dirname as LK}from"path";function v3($,J,Q,W,X){if(Q.kind!=="command")return{toolName:$,input:J,route:Q,context:W};return{toolName:$,input:J,route:Q,context:W,command:X}}import{chmodSync as rh,existsSync as wb,mkdirSync as ih,readFileSync as vb}from"fs";import{dirname as fb,join as kb}from"path";import{createRequire as _b}from"module";var WK={};U2(WK,{z:()=>UJ,xor:()=>hZ,xid:()=>YZ,void:()=>CZ,uuidv7:()=>aH,uuidv6:()=>sH,uuidv4:()=>nH,uuid:()=>oH,util:()=>w,url:()=>tH,uppercase:()=>b4,unknown:()=>x2,union:()=>$J,undefined:()=>EZ,ulid:()=>XZ,uint64:()=>bZ,uint32:()=>jZ,tuple:()=>AY,trim:()=>w4,treeifyError:()=>V$,transform:()=>QJ,toUpperCase:()=>f4,toLowerCase:()=>v4,toJSONSchema:()=>t3,templateLiteral:()=>nZ,symbol:()=>AZ,superRefine:()=>$K,success:()=>rZ,stringbool:()=>WL,stringFormat:()=>NZ,string:()=>v8,strictObject:()=>fZ,startsWith:()=>E4,slugify:()=>k4,size:()=>h2,setErrorMap:()=>BL,set:()=>mZ,safeParseAsync:()=>R8,safeParse:()=>j8,safeEncodeAsync:()=>T8,safeEncode:()=>S8,safeDecodeAsync:()=>w8,safeDecode:()=>C8,registry:()=>n3,regexes:()=>x1,regex:()=>R4,refine:()=>eY,record:()=>EY,readonly:()=>iY,property:()=>N8,promise:()=>sZ,prettifyError:()=>_$,preprocess:()=>YL,prefault:()=>uY,positive:()=>Z8,pipe:()=>B6,partialRecord:()=>gZ,parseAsync:()=>I8,parse:()=>z8,overwrite:()=>Y0,optional:()=>Y6,object:()=>vZ,number:()=>HY,nullish:()=>dZ,nullable:()=>K6,null:()=>NY,normalize:()=>T4,nonpositive:()=>M8,nonoptional:()=>mY,nonnegative:()=>O8,never:()=>e8,negative:()=>L8,nativeEnum:()=>lZ,nanoid:()=>JZ,nan:()=>iZ,multipleOf:()=>K2,minSize:()=>j0,minLength:()=>x0,mime:()=>C4,meta:()=>JL,maxSize:()=>B2,maxLength:()=>y2,map:()=>uZ,mac:()=>qZ,lte:()=>u1,lt:()=>z0,lowercase:()=>P4,looseRecord:()=>xZ,looseObject:()=>kZ,locales:()=>o3,literal:()=>pZ,length:()=>g2,lazy:()=>sY,ksuid:()=>KZ,keyof:()=>wZ,jwt:()=>OZ,json:()=>XL,iso:()=>W6,ipv6:()=>UZ,ipv4:()=>BZ,intersection:()=>PY,int64:()=>PZ,int32:()=>IZ,int:()=>f8,instanceof:()=>QL,includes:()=>A4,httpUrl:()=>eH,hostname:()=>FZ,hex:()=>VZ,hash:()=>_Z,guid:()=>iH,gte:()=>z1,gt:()=>I0,globalRegistry:()=>S1,getErrorMap:()=>qL,function:()=>aZ,fromJSONSchema:()=>QK,formatError:()=>V4,float64:()=>zZ,float32:()=>DZ,flattenError:()=>F4,file:()=>cZ,exactOptional:()=>kY,enum:()=>JJ,endsWith:()=>S4,encodeAsync:()=>A8,encode:()=>P8,emoji:()=>$Z,email:()=>rH,e164:()=>MZ,discriminatedUnion:()=>yZ,describe:()=>$L,default:()=>Mb,decodeAsync:()=>E8,decode:()=>b8,date:()=>TZ,custom:()=>eZ,cuid2:()=>WZ,cuid:()=>QZ,core:()=>R0,config:()=>Y1,coerce:()=>qJ,codec:()=>oZ,clone:()=>N1,cidrv6:()=>HZ,cidrv4:()=>GZ,check:()=>tZ,catch:()=>cY,boolean:()=>ZY,bigint:()=>RZ,base64url:()=>LZ,base64:()=>ZZ,array:()=>G6,any:()=>SZ,_function:()=>aZ,_default:()=>gY,_ZodString:()=>k8,ZodXor:()=>IY,ZodXID:()=>l8,ZodVoid:()=>DY,ZodUnknown:()=>VY,ZodUnion:()=>Z6,ZodUndefined:()=>MY,ZodUUID:()=>P0,ZodURL:()=>q6,ZodULID:()=>m8,ZodType:()=>y,ZodTuple:()=>bY,ZodTransform:()=>vY,ZodTemplateLiteral:()=>oY,ZodSymbol:()=>LY,ZodSuccess:()=>lY,ZodStringFormat:()=>o,ZodString:()=>l4,ZodSet:()=>CY,ZodRecord:()=>L6,ZodRealError:()=>I1,ZodReadonly:()=>rY,ZodPromise:()=>aY,ZodPrefault:()=>xY,ZodPipe:()=>YJ,ZodOptional:()=>WJ,ZodObject:()=>H6,ZodNumberFormat:()=>u2,ZodNumber:()=>c4,ZodNullable:()=>hY,ZodNull:()=>OY,ZodNonOptional:()=>XJ,ZodNever:()=>_Y,ZodNanoID:()=>g8,ZodNaN:()=>dY,ZodMap:()=>SY,ZodMAC:()=>GY,ZodLiteral:()=>TY,ZodLazy:()=>nY,ZodKSUID:()=>p8,ZodJWT:()=>a8,ZodIssueCode:()=>KL,ZodIntersection:()=>RY,ZodISOTime:()=>J6,ZodISODuration:()=>Q6,ZodISODateTime:()=>e3,ZodISODate:()=>$6,ZodIPv6:()=>d8,ZodIPv4:()=>c8,ZodGUID:()=>X6,ZodFunction:()=>tY,ZodFirstPartyTypeKind:()=>BJ,ZodFile:()=>wY,ZodExactOptional:()=>fY,ZodError:()=>dH,ZodEnum:()=>m4,ZodEmoji:()=>y8,ZodEmail:()=>h8,ZodE164:()=>s8,ZodDiscriminatedUnion:()=>jY,ZodDefault:()=>yY,ZodDate:()=>U6,ZodCustomStringFormat:()=>p4,ZodCustom:()=>M6,ZodCodec:()=>KJ,ZodCatch:()=>pY,ZodCUID2:()=>u8,ZodCUID:()=>x8,ZodCIDRv6:()=>i8,ZodCIDRv4:()=>r8,ZodBoolean:()=>d4,ZodBigIntFormat:()=>t8,ZodBigInt:()=>r4,ZodBase64URL:()=>n8,ZodBase64:()=>o8,ZodArray:()=>zY,ZodAny:()=>FY,TimePrecision:()=>H8,NEVER:()=>Z$,$output:()=>p$,$input:()=>c$,$brand:()=>L$});var UJ={};U2(UJ,{xor:()=>hZ,xid:()=>YZ,void:()=>CZ,uuidv7:()=>aH,uuidv6:()=>sH,uuidv4:()=>nH,uuid:()=>oH,util:()=>w,url:()=>tH,uppercase:()=>b4,unknown:()=>x2,union:()=>$J,undefined:()=>EZ,ulid:()=>XZ,uint64:()=>bZ,uint32:()=>jZ,tuple:()=>AY,trim:()=>w4,treeifyError:()=>V$,transform:()=>QJ,toUpperCase:()=>f4,toLowerCase:()=>v4,toJSONSchema:()=>t3,templateLiteral:()=>nZ,symbol:()=>AZ,superRefine:()=>$K,success:()=>rZ,stringbool:()=>WL,stringFormat:()=>NZ,string:()=>v8,strictObject:()=>fZ,startsWith:()=>E4,slugify:()=>k4,size:()=>h2,setErrorMap:()=>BL,set:()=>mZ,safeParseAsync:()=>R8,safeParse:()=>j8,safeEncodeAsync:()=>T8,safeEncode:()=>S8,safeDecodeAsync:()=>w8,safeDecode:()=>C8,registry:()=>n3,regexes:()=>x1,regex:()=>R4,refine:()=>eY,record:()=>EY,readonly:()=>iY,property:()=>N8,promise:()=>sZ,prettifyError:()=>_$,preprocess:()=>YL,prefault:()=>uY,positive:()=>Z8,pipe:()=>B6,partialRecord:()=>gZ,parseAsync:()=>I8,parse:()=>z8,overwrite:()=>Y0,optional:()=>Y6,object:()=>vZ,number:()=>HY,nullish:()=>dZ,nullable:()=>K6,null:()=>NY,normalize:()=>T4,nonpositive:()=>M8,nonoptional:()=>mY,nonnegative:()=>O8,never:()=>e8,negative:()=>L8,nativeEnum:()=>lZ,nanoid:()=>JZ,nan:()=>iZ,multipleOf:()=>K2,minSize:()=>j0,minLength:()=>x0,mime:()=>C4,meta:()=>JL,maxSize:()=>B2,maxLength:()=>y2,map:()=>uZ,mac:()=>qZ,lte:()=>u1,lt:()=>z0,lowercase:()=>P4,looseRecord:()=>xZ,looseObject:()=>kZ,locales:()=>o3,literal:()=>pZ,length:()=>g2,lazy:()=>sY,ksuid:()=>KZ,keyof:()=>wZ,jwt:()=>OZ,json:()=>XL,iso:()=>W6,ipv6:()=>UZ,ipv4:()=>BZ,intersection:()=>PY,int64:()=>PZ,int32:()=>IZ,int:()=>f8,instanceof:()=>QL,includes:()=>A4,httpUrl:()=>eH,hostname:()=>FZ,hex:()=>VZ,hash:()=>_Z,guid:()=>iH,gte:()=>z1,gt:()=>I0,globalRegistry:()=>S1,getErrorMap:()=>qL,function:()=>aZ,fromJSONSchema:()=>QK,formatError:()=>V4,float64:()=>zZ,float32:()=>DZ,flattenError:()=>F4,file:()=>cZ,exactOptional:()=>kY,enum:()=>JJ,endsWith:()=>S4,encodeAsync:()=>A8,encode:()=>P8,emoji:()=>$Z,email:()=>rH,e164:()=>MZ,discriminatedUnion:()=>yZ,describe:()=>$L,decodeAsync:()=>E8,decode:()=>b8,date:()=>TZ,custom:()=>eZ,cuid2:()=>WZ,cuid:()=>QZ,core:()=>R0,config:()=>Y1,coerce:()=>qJ,codec:()=>oZ,clone:()=>N1,cidrv6:()=>HZ,cidrv4:()=>GZ,check:()=>tZ,catch:()=>cY,boolean:()=>ZY,bigint:()=>RZ,base64url:()=>LZ,base64:()=>ZZ,array:()=>G6,any:()=>SZ,_function:()=>aZ,_default:()=>gY,_ZodString:()=>k8,ZodXor:()=>IY,ZodXID:()=>l8,ZodVoid:()=>DY,ZodUnknown:()=>VY,ZodUnion:()=>Z6,ZodUndefined:()=>MY,ZodUUID:()=>P0,ZodURL:()=>q6,ZodULID:()=>m8,ZodType:()=>y,ZodTuple:()=>bY,ZodTransform:()=>vY,ZodTemplateLiteral:()=>oY,ZodSymbol:()=>LY,ZodSuccess:()=>lY,ZodStringFormat:()=>o,ZodString:()=>l4,ZodSet:()=>CY,ZodRecord:()=>L6,ZodRealError:()=>I1,ZodReadonly:()=>rY,ZodPromise:()=>aY,ZodPrefault:()=>xY,ZodPipe:()=>YJ,ZodOptional:()=>WJ,ZodObject:()=>H6,ZodNumberFormat:()=>u2,ZodNumber:()=>c4,ZodNullable:()=>hY,ZodNull:()=>OY,ZodNonOptional:()=>XJ,ZodNever:()=>_Y,ZodNanoID:()=>g8,ZodNaN:()=>dY,ZodMap:()=>SY,ZodMAC:()=>GY,ZodLiteral:()=>TY,ZodLazy:()=>nY,ZodKSUID:()=>p8,ZodJWT:()=>a8,ZodIssueCode:()=>KL,ZodIntersection:()=>RY,ZodISOTime:()=>J6,ZodISODuration:()=>Q6,ZodISODateTime:()=>e3,ZodISODate:()=>$6,ZodIPv6:()=>d8,ZodIPv4:()=>c8,ZodGUID:()=>X6,ZodFunction:()=>tY,ZodFirstPartyTypeKind:()=>BJ,ZodFile:()=>wY,ZodExactOptional:()=>fY,ZodError:()=>dH,ZodEnum:()=>m4,ZodEmoji:()=>y8,ZodEmail:()=>h8,ZodE164:()=>s8,ZodDiscriminatedUnion:()=>jY,ZodDefault:()=>yY,ZodDate:()=>U6,ZodCustomStringFormat:()=>p4,ZodCustom:()=>M6,ZodCodec:()=>KJ,ZodCatch:()=>pY,ZodCUID2:()=>u8,ZodCUID:()=>x8,ZodCIDRv6:()=>i8,ZodCIDRv4:()=>r8,ZodBoolean:()=>d4,ZodBigIntFormat:()=>t8,ZodBigInt:()=>r4,ZodBase64URL:()=>n8,ZodBase64:()=>o8,ZodArray:()=>zY,ZodAny:()=>FY,TimePrecision:()=>H8,NEVER:()=>Z$,$output:()=>p$,$input:()=>c$,$brand:()=>L$});var R0={};U2(R0,{version:()=>PW,util:()=>w,treeifyError:()=>V$,toJSONSchema:()=>t3,toDotPath:()=>FH,safeParseAsync:()=>w7,safeParse:()=>T7,safeEncodeAsync:()=>XP,safeEncode:()=>QP,safeDecodeAsync:()=>YP,safeDecode:()=>WP,registry:()=>n3,regexes:()=>x1,process:()=>s,prettifyError:()=>_$,parseAsync:()=>z$,parse:()=>D$,meta:()=>_5,locales:()=>o3,isValidJWT:()=>hH,isValidBase64URL:()=>kH,isValidBase64:()=>iW,initializeContext:()=>g4,globalRegistry:()=>S1,globalConfig:()=>f3,formatError:()=>V4,flattenError:()=>F4,finalize:()=>u4,extractDefs:()=>x4,encodeAsync:()=>$P,encode:()=>tR,describe:()=>V5,decodeAsync:()=>JP,decode:()=>eR,createToJSONSchemaMethod:()=>z5,createStandardJSONSchemaMethod:()=>F8,config:()=>Y1,clone:()=>N1,_xor:()=>hP,_xid:()=>J8,_void:()=>U5,_uuidv7:()=>n$,_uuidv6:()=>o$,_uuidv4:()=>i$,_uuid:()=>r$,_url:()=>a3,_uppercase:()=>b4,_unknown:()=>B5,_union:()=>kP,_undefined:()=>X5,_ulid:()=>$8,_uint64:()=>Q5,_uint32:()=>sX,_tuple:()=>xP,_trim:()=>w4,_transform:()=>rP,_toUpperCase:()=>f4,_toLowerCase:()=>v4,_templateLiteral:()=>Jb,_symbol:()=>W5,_superRefine:()=>F5,_success:()=>aP,_stringbool:()=>D5,_stringFormat:()=>h4,_string:()=>yX,_startsWith:()=>E4,_slugify:()=>k4,_size:()=>h2,_set:()=>lP,_safeParseAsync:()=>I4,_safeParse:()=>z4,_safeEncodeAsync:()=>E$,_safeEncode:()=>b$,_safeDecodeAsync:()=>S$,_safeDecode:()=>A$,_regex:()=>R4,_refine:()=>N5,_record:()=>uP,_readonly:()=>$b,_property:()=>N8,_promise:()=>Wb,_positive:()=>Z8,_pipe:()=>eP,_parseAsync:()=>D4,_parse:()=>_4,_overwrite:()=>Y0,_optional:()=>iP,_number:()=>cX,_nullable:()=>oP,_null:()=>Y5,_normalize:()=>T4,_nonpositive:()=>M8,_nonoptional:()=>sP,_nonnegative:()=>O8,_never:()=>q5,_negative:()=>L8,_nativeEnum:()=>cP,_nanoid:()=>a$,_nan:()=>Z5,_multipleOf:()=>K2,_minSize:()=>j0,_minLength:()=>x0,_min:()=>z1,_mime:()=>C4,_maxSize:()=>B2,_maxLength:()=>y2,_max:()=>u1,_map:()=>mP,_mac:()=>xX,_lte:()=>u1,_lt:()=>z0,_lowercase:()=>P4,_literal:()=>dP,_length:()=>g2,_lazy:()=>Qb,_ksuid:()=>Q8,_jwt:()=>G8,_isoTime:()=>lX,_isoDuration:()=>pX,_isoDateTime:()=>uX,_isoDate:()=>mX,_ipv6:()=>X8,_ipv4:()=>W8,_intersection:()=>gP,_int64:()=>J5,_int32:()=>nX,_int:()=>rX,_includes:()=>A4,_guid:()=>s3,_gte:()=>z1,_gt:()=>I0,_float64:()=>oX,_float32:()=>iX,_file:()=>M5,_enum:()=>pP,_endsWith:()=>S4,_encodeAsync:()=>R$,_encode:()=>I$,_emoji:()=>s$,_email:()=>d$,_e164:()=>U8,_discriminatedUnion:()=>yP,_default:()=>nP,_decodeAsync:()=>P$,_decode:()=>j$,_date:()=>G5,_custom:()=>O5,_cuid2:()=>e$,_cuid:()=>t$,_coercedString:()=>gX,_coercedNumber:()=>dX,_coercedDate:()=>H5,_coercedBoolean:()=>tX,_coercedBigint:()=>$5,_cidrv6:()=>K8,_cidrv4:()=>Y8,_check:()=>mH,_catch:()=>tP,_boolean:()=>aX,_bigint:()=>eX,_base64url:()=>q8,_base64:()=>B8,_array:()=>L5,_any:()=>K5,TimePrecision:()=>H8,NEVER:()=>Z$,JSONSchemaGenerator:()=>YY,JSONSchema:()=>lH,Doc:()=>v$,$output:()=>p$,$input:()=>c$,$constructor:()=>N,$brand:()=>L$,$ZodXor:()=>HX,$ZodXID:()=>hW,$ZodVoid:()=>BX,$ZodUnknown:()=>YX,$ZodUnion:()=>r3,$ZodUndefined:()=>QX,$ZodUUID:()=>EW,$ZodURL:()=>CW,$ZodULID:()=>kW,$ZodType:()=>f,$ZodTuple:()=>m$,$ZodTransform:()=>DX,$ZodTemplateLiteral:()=>TX,$ZodSymbol:()=>JX,$ZodSuccess:()=>bX,$ZodStringFormat:()=>i,$ZodString:()=>k2,$ZodSet:()=>NX,$ZodRegistry:()=>hX,$ZodRecord:()=>MX,$ZodRealError:()=>E1,$ZodReadonly:()=>CX,$ZodPromise:()=>vX,$ZodPrefault:()=>RX,$ZodPipe:()=>SX,$ZodOptional:()=>l$,$ZodObjectJIT:()=>GX,$ZodObject:()=>xH,$ZodNumberFormat:()=>eW,$ZodNumber:()=>x$,$ZodNullable:()=>IX,$ZodNull:()=>WX,$ZodNonOptional:()=>PX,$ZodNever:()=>KX,$ZodNanoID:()=>wW,$ZodNaN:()=>EX,$ZodMap:()=>OX,$ZodMAC:()=>cW,$ZodLiteral:()=>VX,$ZodLazy:()=>fX,$ZodKSUID:()=>yW,$ZodJWT:()=>aW,$ZodIntersection:()=>LX,$ZodISOTime:()=>uW,$ZodISODuration:()=>mW,$ZodISODateTime:()=>gW,$ZodISODate:()=>xW,$ZodIPv6:()=>pW,$ZodIPv4:()=>lW,$ZodGUID:()=>AW,$ZodFunction:()=>wX,$ZodFile:()=>_X,$ZodExactOptional:()=>zX,$ZodError:()=>m3,$ZodEnum:()=>FX,$ZodEncodeError:()=>w2,$ZodEmoji:()=>TW,$ZodEmail:()=>SW,$ZodE164:()=>sW,$ZodDiscriminatedUnion:()=>ZX,$ZodDefault:()=>jX,$ZodDate:()=>qX,$ZodCustomStringFormat:()=>tW,$ZodCustom:()=>kX,$ZodCodec:()=>i3,$ZodCheckUpperCase:()=>VW,$ZodCheckStringFormat:()=>j4,$ZodCheckStartsWith:()=>DW,$ZodCheckSizeEquals:()=>ZW,$ZodCheckRegex:()=>NW,$ZodCheckProperty:()=>IW,$ZodCheckOverwrite:()=>RW,$ZodCheckNumberFormat:()=>qW,$ZodCheckMultipleOf:()=>BW,$ZodCheckMinSize:()=>HW,$ZodCheckMinLength:()=>MW,$ZodCheckMimeType:()=>jW,$ZodCheckMaxSize:()=>GW,$ZodCheckMaxLength:()=>LW,$ZodCheckLowerCase:()=>FW,$ZodCheckLessThan:()=>T$,$ZodCheckLengthEquals:()=>OW,$ZodCheckIncludes:()=>_W,$ZodCheckGreaterThan:()=>w$,$ZodCheckEndsWith:()=>zW,$ZodCheckBigIntFormat:()=>UW,$ZodCheck:()=>n,$ZodCatch:()=>AX,$ZodCUID2:()=>fW,$ZodCUID:()=>vW,$ZodCIDRv6:()=>rW,$ZodCIDRv4:()=>dW,$ZodBoolean:()=>d3,$ZodBigIntFormat:()=>$X,$ZodBigInt:()=>u$,$ZodBase64URL:()=>nW,$ZodBase64:()=>oW,$ZodAsyncError:()=>D0,$ZodArray:()=>UX,$ZodAny:()=>XX});var Z$=Object.freeze({status:"aborted"});function N($,J,Q){function W(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 X=Q?.Parent??Object;class Y extends X{}Object.defineProperty(Y,"name",{value:$});function K(B){var q;let U=Q?.Parent?new Y:this;W(U,B),(q=U._zod).deferred??(q.deferred=[]);for(let G of U._zod.deferred)G();return U}return Object.defineProperty(K,"init",{value:W}),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 L$=Symbol("zod_brand");class D0 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class w2 extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}}var f3={};function Y1($){if($)Object.assign(f3,$);return f3}var w={};U2(w,{unwrapMessage:()=>k3,uint8ArrayToHex:()=>sR,uint8ArrayToBase64url:()=>oR,uint8ArrayToBase64:()=>MH,stringifyPrimitive:()=>F$,slugify:()=>j7,shallowClone:()=>P7,safeExtend:()=>lR,required:()=>dR,randomString:()=>kR,propertyKeyTypes:()=>g3,promiseAllObject:()=>fR,primitiveTypes:()=>b7,prefixIssues:()=>g1,pick:()=>xR,partial:()=>cR,parsedType:()=>C7,optionalKeys:()=>A7,omit:()=>uR,objectClone:()=>TR,numKeys:()=>hR,nullish:()=>Q2,normalizeParams:()=>z,mergeDefs:()=>g0,merge:()=>pR,jsonStringifyReplacer:()=>M4,joinValues:()=>M$,issue:()=>N4,isPlainObject:()=>X2,isObject:()=>v2,hexToUint8Array:()=>nR,getSizableOrigin:()=>x3,getParsedType:()=>yR,getLengthableOrigin:()=>u3,getEnumValues:()=>h3,getElementAtPath:()=>vR,floatSafeRemainder:()=>I7,finalizeIssue:()=>A1,extend:()=>mR,escapeRegex:()=>o1,esc:()=>O$,defineLazy:()=>u,createTransparentProxy:()=>gR,cloneDef:()=>wR,clone:()=>N1,cleanRegex:()=>y3,cleanEnum:()=>rR,captureStackTrace:()=>N$,cached:()=>O4,base64urlToUint8Array:()=>iR,base64ToUint8Array:()=>LH,assignProp:()=>W2,assertNotEqual:()=>AR,assertNever:()=>SR,assertIs:()=>ER,assertEqual:()=>bR,assert:()=>CR,allowsEval:()=>R7,aborted:()=>Y2,NUMBER_FORMAT_RANGES:()=>E7,Class:()=>OH,BIGINT_FORMAT_RANGES:()=>S7});function bR($){return $}function AR($){return $}function ER($){}function SR($){throw Error("Unexpected value in exhaustive check")}function CR($){}function h3($){let J=Object.values($).filter((W)=>typeof W==="number");return Object.entries($).filter(([W,X])=>J.indexOf(+W)===-1).map(([W,X])=>X)}function M$($,J="|"){return $.map((Q)=>F$(Q)).join(J)}function M4($,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 Q2($){return $===null||$===void 0}function y3($){let J=$.startsWith("^")?1:0,Q=$.endsWith("$")?$.length-1:$.length;return $.slice(J,Q)}function I7($,J){let Q=($.toString().split(".")[1]||"").length,W=J.toString(),X=(W.split(".")[1]||"").length;if(X===0&&/\d?e-\d?/.test(W)){let q=W.match(/\d?e-(\d?)/);if(q?.[1])X=Number.parseInt(q[1])}let Y=Q>X?Q:X,K=Number.parseInt($.toFixed(Y).replace(".","")),B=Number.parseInt(J.toFixed(Y).replace(".",""));return K%B/10**Y}var ZH=Symbol("evaluating");function u($,J,Q){let W=void 0;Object.defineProperty($,J,{get(){if(W===ZH)return;if(W===void 0)W=ZH,W=Q();return W},set(X){Object.defineProperty($,J,{value:X})},configurable:!0})}function TR($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function W2($,J,Q){Object.defineProperty($,J,{value:Q,writable:!0,enumerable:!0,configurable:!0})}function g0(...$){let J={};for(let Q of $){let W=Object.getOwnPropertyDescriptors(Q);Object.assign(J,W)}return Object.defineProperties({},J)}function wR($){return g0($._zod.def)}function vR($,J){if(!J)return $;return J.reduce((Q,W)=>Q?.[W],$)}function fR($){let J=Object.keys($),Q=J.map((W)=>$[W]);return Promise.all(Q).then((W)=>{let X={};for(let Y=0;Y<J.length;Y++)X[J[Y]]=W[Y];return X})}function kR($=10){let Q="";for(let W=0;W<$;W++)Q+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Q}function O$($){return JSON.stringify($)}function j7($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var N$="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};function v2($){return typeof $==="object"&&$!==null&&!Array.isArray($)}var R7=O4(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});function X2($){if(v2($)===!1)return!1;let J=$.constructor;if(J===void 0)return!0;if(typeof J!=="function")return!0;let Q=J.prototype;if(v2(Q)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Q,"isPrototypeOf")===!1)return!1;return!0}function P7($){if(X2($))return{...$};if(Array.isArray($))return[...$];return $}function hR($){let J=0;for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J++;return J}var yR=($)=>{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}`)}},g3=new Set(["string","number","symbol"]),b7=new Set(["string","number","bigint","boolean","symbol","undefined"]);function o1($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function N1($,J,Q){let W=new $._zod.constr(J??$._zod.def);if(!J||Q?.parent)W._zod.parent=$;return W}function z($){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 gR($){let J;return new Proxy({},{get(Q,W,X){return J??(J=$()),Reflect.get(J,W,X)},set(Q,W,X,Y){return J??(J=$()),Reflect.set(J,W,X,Y)},has(Q,W){return J??(J=$()),Reflect.has(J,W)},deleteProperty(Q,W){return J??(J=$()),Reflect.deleteProperty(J,W)},ownKeys(Q){return J??(J=$()),Reflect.ownKeys(J)},getOwnPropertyDescriptor(Q,W){return J??(J=$()),Reflect.getOwnPropertyDescriptor(J,W)},defineProperty(Q,W,X){return J??(J=$()),Reflect.defineProperty(J,W,X)}})}function F$($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function A7($){return Object.keys($).filter((J)=>{return $[J]._zod.optin==="optional"&&$[J]._zod.optout==="optional"})}var E7={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]},S7={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function xR($,J){let Q=$._zod.def,W=Q.checks;if(W&&W.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let Y=g0($._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 W2(this,"shape",K),K},checks:[]});return N1($,Y)}function uR($,J){let Q=$._zod.def,W=Q.checks;if(W&&W.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let Y=g0($._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 W2(this,"shape",K),K},checks:[]});return N1($,Y)}function mR($,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 X=g0($._zod.def,{get shape(){let Y={...$._zod.def.shape,...J};return W2(this,"shape",Y),Y}});return N1($,X)}function lR($,J){if(!X2(J))throw Error("Invalid input to safeExtend: expected a plain object");let Q=g0($._zod.def,{get shape(){let W={...$._zod.def.shape,...J};return W2(this,"shape",W),W}});return N1($,Q)}function pR($,J){let Q=g0($._zod.def,{get shape(){let W={...$._zod.def.shape,...J._zod.def.shape};return W2(this,"shape",W),W},get catchall(){return J._zod.def.catchall},checks:[]});return N1($,Q)}function cR($,J,Q){let X=J._zod.def.checks;if(X&&X.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let K=g0(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 W2(this,"shape",q),q},checks:[]});return N1(J,K)}function dR($,J,Q){let W=g0(J._zod.def,{get shape(){let X=J._zod.def.shape,Y={...X};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:X[K]})}else for(let K in X)Y[K]=new $({type:"nonoptional",innerType:X[K]});return W2(this,"shape",Y),Y}});return N1(J,W)}function Y2($,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 W;return(W=Q).path??(W.path=[]),Q.path.unshift($),Q})}function k3($){return typeof $==="string"?$:$?.message}function A1($,J,Q){let W={...$,path:$.path??[]};if(!$.message){let X=k3($.inst?._zod.def?.error?.($))??k3(J?.error?.($))??k3(Q.customError?.($))??k3(Q.localeError?.($))??"Invalid input";W.message=X}if(delete W.inst,delete W.continue,!J?.reportInput)delete W.input;return W}function x3($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function u3($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function C7($){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 N4(...$){let[J,Q,W]=$;if(typeof J==="string")return{message:J,code:"custom",input:Q,inst:W};return{...J}}function rR($){return Object.entries($).filter(([J,Q])=>{return Number.isNaN(Number.parseInt(J,10))}).map((J)=>J[1])}function LH($){let J=atob($),Q=new Uint8Array(J.length);for(let W=0;W<J.length;W++)Q[W]=J.charCodeAt(W);return Q}function MH($){let J="";for(let Q=0;Q<$.length;Q++)J+=String.fromCharCode($[Q]);return btoa(J)}function iR($){let J=$.replace(/-/g,"+").replace(/_/g,"/"),Q="=".repeat((4-J.length%4)%4);return LH(J+Q)}function oR($){return MH($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function nR($){let J=$.replace(/^0x/,"");if(J.length%2!==0)throw Error("Invalid hex string length");let Q=new Uint8Array(J.length/2);for(let W=0;W<J.length;W+=2)Q[W/2]=Number.parseInt(J.slice(W,W+2),16);return Q}function sR($){return Array.from($).map((J)=>J.toString(16).padStart(2,"0")).join("")}class OH{constructor(...$){}}var NH=($,J)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:J,enumerable:!1}),$.message=JSON.stringify(J,M4,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},m3=N("$ZodError",NH),E1=N("$ZodError",NH,{Parent:Error});function F4($,J=(Q)=>Q.message){let Q={},W=[];for(let X of $.issues)if(X.path.length>0)Q[X.path[0]]=Q[X.path[0]]||[],Q[X.path[0]].push(J(X));else W.push(J(X));return{formErrors:W,fieldErrors:Q}}function V4($,J=(Q)=>Q.message){let Q={_errors:[]},W=(X)=>{for(let Y of X.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((K)=>W({issues:K}));else if(Y.code==="invalid_key")W({issues:Y.issues});else if(Y.code==="invalid_element")W({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 W($),Q}function V$($,J=(Q)=>Q.message){let Q={errors:[]},W=(X,Y=[])=>{var K,B;for(let q of X.issues)if(q.code==="invalid_union"&&q.errors.length)q.errors.map((U)=>W({issues:U},q.path));else if(q.code==="invalid_key")W({issues:q.issues},q.path);else if(q.code==="invalid_element")W({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 W($),Q}function FH($){let J=[],Q=$.map((W)=>typeof W==="object"?W.key:W);for(let W of Q)if(typeof W==="number")J.push(`[${W}]`);else if(typeof W==="symbol")J.push(`[${JSON.stringify(String(W))}]`);else if(/[^\w$]/.test(W))J.push(`[${JSON.stringify(W)}]`);else{if(J.length)J.push(".");J.push(W)}return J.join("")}function _$($){let J=[],Q=[...$.issues].sort((W,X)=>(W.path??[]).length-(X.path??[]).length);for(let W of Q)if(J.push(`\u2716 ${W.message}`),W.path?.length)J.push(` \u2192 at ${FH(W.path)}`);return J.join(`
|
|
64
|
+
`)}var _4=($)=>(J,Q,W,X)=>{let Y=W?Object.assign(W,{async:!1}):{async:!1},K=J._zod.run({value:Q,issues:[]},Y);if(K instanceof Promise)throw new D0;if(K.issues.length){let B=new(X?.Err??$)(K.issues.map((q)=>A1(q,Y,Y1())));throw N$(B,X?.callee),B}return K.value},D$=_4(E1),D4=($)=>async(J,Q,W,X)=>{let Y=W?Object.assign(W,{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(X?.Err??$)(K.issues.map((q)=>A1(q,Y,Y1())));throw N$(B,X?.callee),B}return K.value},z$=D4(E1),z4=($)=>(J,Q,W)=>{let X=W?{...W,async:!1}:{async:!1},Y=J._zod.run({value:Q,issues:[]},X);if(Y instanceof Promise)throw new D0;return Y.issues.length?{success:!1,error:new($??m3)(Y.issues.map((K)=>A1(K,X,Y1())))}:{success:!0,data:Y.value}},T7=z4(E1),I4=($)=>async(J,Q,W)=>{let X=W?Object.assign(W,{async:!0}):{async:!0},Y=J._zod.run({value:Q,issues:[]},X);if(Y instanceof Promise)Y=await Y;return Y.issues.length?{success:!1,error:new $(Y.issues.map((K)=>A1(K,X,Y1())))}:{success:!0,data:Y.value}},w7=I4(E1),I$=($)=>(J,Q,W)=>{let X=W?Object.assign(W,{direction:"backward"}):{direction:"backward"};return _4($)(J,Q,X)},tR=I$(E1),j$=($)=>(J,Q,W)=>{return _4($)(J,Q,W)},eR=j$(E1),R$=($)=>async(J,Q,W)=>{let X=W?Object.assign(W,{direction:"backward"}):{direction:"backward"};return D4($)(J,Q,X)},$P=R$(E1),P$=($)=>async(J,Q,W)=>{return D4($)(J,Q,W)},JP=P$(E1),b$=($)=>(J,Q,W)=>{let X=W?Object.assign(W,{direction:"backward"}):{direction:"backward"};return z4($)(J,Q,X)},QP=b$(E1),A$=($)=>(J,Q,W)=>{return z4($)(J,Q,W)},WP=A$(E1),E$=($)=>async(J,Q,W)=>{let X=W?Object.assign(W,{direction:"backward"}):{direction:"backward"};return I4($)(J,Q,X)},XP=E$(E1),S$=($)=>async(J,Q,W)=>{return I4($)(J,Q,W)},YP=S$(E1);var x1={};U2(x1,{xid:()=>h7,uuid7:()=>UP,uuid6:()=>qP,uuid4:()=>BP,uuid:()=>f2,uppercase:()=>KW,unicodeEmail:()=>VH,undefined:()=>XW,ulid:()=>k7,time:()=>a7,string:()=>e7,sha512_hex:()=>CP,sha512_base64url:()=>wP,sha512_base64:()=>TP,sha384_hex:()=>AP,sha384_base64url:()=>SP,sha384_base64:()=>EP,sha256_hex:()=>RP,sha256_base64url:()=>bP,sha256_base64:()=>PP,sha1_hex:()=>zP,sha1_base64url:()=>jP,sha1_base64:()=>IP,rfc5322Email:()=>HP,number:()=>l3,null:()=>WW,nanoid:()=>g7,md5_hex:()=>VP,md5_base64url:()=>DP,md5_base64:()=>_P,mac:()=>d7,lowercase:()=>YW,ksuid:()=>y7,ipv6:()=>c7,ipv4:()=>p7,integer:()=>JW,idnEmail:()=>ZP,html5Email:()=>GP,hostname:()=>OP,hex:()=>FP,guid:()=>u7,extendedDuration:()=>KP,emoji:()=>l7,email:()=>m7,e164:()=>n7,duration:()=>x7,domain:()=>NP,datetime:()=>t7,date:()=>s7,cuid2:()=>f7,cuid:()=>v7,cidrv6:()=>i7,cidrv4:()=>r7,browserEmail:()=>LP,boolean:()=>QW,bigint:()=>$W,base64url:()=>C$,base64:()=>o7});var v7=/^[cC][^\s-]{8,}$/,f7=/^[0-9a-z]+$/,k7=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,h7=/^[0-9a-vA-V]{20}$/,y7=/^[A-Za-z0-9]{27}$/,g7=/^[a-zA-Z0-9_-]{21}$/,x7=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,KP=/^[-+]?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)?)??$/,u7=/^([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})$/,f2=($)=>{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})$`)},BP=f2(4),qP=f2(6),UP=f2(7),m7=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,GP=/^[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])?)*$/,HP=/^(([^<>()\[\]\\.,;:\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,}))$/,VH=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ZP=VH,LP=/^[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])?)*$/,MP="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function l7(){return new RegExp(MP,"u")}var 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])$/,c7=/^(([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}|:))$/,d7=($)=>{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}$`)},r7=/^((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])$/,i7=/^(([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])$/,o7=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,C$=/^[A-Za-z0-9_-]*$/,OP=/^(?=.{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])?)*\.?$/,NP=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,n7=/^\+[1-9]\d{6,14}$/,_H="(?:(?:\\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])))",s7=new RegExp(`^${_H}$`);function DH($){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 a7($){return new RegExp(`^${DH($)}$`)}function t7($){let J=DH({precision:$.precision}),Q=["Z"];if($.local)Q.push("");if($.offset)Q.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let W=`${J}(?:${Q.join("|")})`;return new RegExp(`^${_H}T(?:${W})$`)}var e7=($)=>{let J=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${J}$`)},$W=/^-?\d+n?$/,JW=/^-?\d+$/,l3=/^-?\d+(?:\.\d+)?$/,QW=/^(?:true|false)$/i,WW=/^null$/i;var XW=/^undefined$/i;var YW=/^[^A-Z]*$/,KW=/^[^a-z]*$/,FP=/^[0-9a-fA-F]*$/;function p3($,J){return new RegExp(`^[A-Za-z0-9+/]{${$}}${J}$`)}function c3($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var VP=/^[0-9a-fA-F]{32}$/,_P=p3(22,"=="),DP=c3(22),zP=/^[0-9a-fA-F]{40}$/,IP=p3(27,"="),jP=c3(27),RP=/^[0-9a-fA-F]{64}$/,PP=p3(43,"="),bP=c3(43),AP=/^[0-9a-fA-F]{96}$/,EP=p3(64,""),SP=c3(64),CP=/^[0-9a-fA-F]{128}$/,TP=p3(86,"=="),wP=c3(86);var n=N("$ZodCheck",($,J)=>{var Q;$._zod??($._zod={}),$._zod.def=J,(Q=$._zod).onattach??(Q.onattach=[])}),IH={number:"number",bigint:"bigint",object:"date"},T$=N("$ZodCheckLessThan",($,J)=>{n.init($,J);let Q=IH[typeof J.value];$._zod.onattach.push((W)=>{let X=W._zod.bag,Y=(J.inclusive?X.maximum:X.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(J.value<Y)if(J.inclusive)X.maximum=J.value;else X.exclusiveMaximum=J.value}),$._zod.check=(W)=>{if(J.inclusive?W.value<=J.value:W.value<J.value)return;W.issues.push({origin:Q,code:"too_big",maximum:typeof J.value==="object"?J.value.getTime():J.value,input:W.value,inclusive:J.inclusive,inst:$,continue:!J.abort})}}),w$=N("$ZodCheckGreaterThan",($,J)=>{n.init($,J);let Q=IH[typeof J.value];$._zod.onattach.push((W)=>{let X=W._zod.bag,Y=(J.inclusive?X.minimum:X.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(J.value>Y)if(J.inclusive)X.minimum=J.value;else X.exclusiveMinimum=J.value}),$._zod.check=(W)=>{if(J.inclusive?W.value>=J.value:W.value>J.value)return;W.issues.push({origin:Q,code:"too_small",minimum:typeof J.value==="object"?J.value.getTime():J.value,input:W.value,inclusive:J.inclusive,inst:$,continue:!J.abort})}}),BW=N("$ZodCheckMultipleOf",($,J)=>{n.init($,J),$._zod.onattach.push((Q)=>{var W;(W=Q._zod.bag).multipleOf??(W.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):I7(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})}}),qW=N("$ZodCheckNumberFormat",($,J)=>{n.init($,J),J.format=J.format||"float64";let Q=J.format?.includes("int"),W=Q?"int":"number",[X,Y]=E7[J.format];$._zod.onattach.push((K)=>{let B=K._zod.bag;if(B.format=J.format,B.minimum=X,B.maximum=Y,Q)B.pattern=JW}),$._zod.check=(K)=>{let B=K.value;if(Q){if(!Number.isInteger(B)){K.issues.push({expected:W,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:W,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:W,inclusive:!0,continue:!J.abort});return}}if(B<X)K.issues.push({origin:"number",input:B,code:"too_small",minimum:X,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})}}),UW=N("$ZodCheckBigIntFormat",($,J)=>{n.init($,J);let[Q,W]=S7[J.format];$._zod.onattach.push((X)=>{let Y=X._zod.bag;Y.format=J.format,Y.minimum=Q,Y.maximum=W}),$._zod.check=(X)=>{let Y=X.value;if(Y<Q)X.issues.push({origin:"bigint",input:Y,code:"too_small",minimum:Q,inclusive:!0,inst:$,continue:!J.abort});if(Y>W)X.issues.push({origin:"bigint",input:Y,code:"too_big",maximum:W,inclusive:!0,inst:$,continue:!J.abort})}}),GW=N("$ZodCheckMaxSize",($,J)=>{var Q;n.init($,J),(Q=$._zod.def).when??(Q.when=(W)=>{let X=W.value;return!Q2(X)&&X.size!==void 0}),$._zod.onattach.push((W)=>{let X=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(J.maximum<X)W._zod.bag.maximum=J.maximum}),$._zod.check=(W)=>{let X=W.value;if(X.size<=J.maximum)return;W.issues.push({origin:x3(X),code:"too_big",maximum:J.maximum,inclusive:!0,input:X,inst:$,continue:!J.abort})}}),HW=N("$ZodCheckMinSize",($,J)=>{var Q;n.init($,J),(Q=$._zod.def).when??(Q.when=(W)=>{let X=W.value;return!Q2(X)&&X.size!==void 0}),$._zod.onattach.push((W)=>{let X=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(J.minimum>X)W._zod.bag.minimum=J.minimum}),$._zod.check=(W)=>{let X=W.value;if(X.size>=J.minimum)return;W.issues.push({origin:x3(X),code:"too_small",minimum:J.minimum,inclusive:!0,input:X,inst:$,continue:!J.abort})}}),ZW=N("$ZodCheckSizeEquals",($,J)=>{var Q;n.init($,J),(Q=$._zod.def).when??(Q.when=(W)=>{let X=W.value;return!Q2(X)&&X.size!==void 0}),$._zod.onattach.push((W)=>{let X=W._zod.bag;X.minimum=J.size,X.maximum=J.size,X.size=J.size}),$._zod.check=(W)=>{let X=W.value,Y=X.size;if(Y===J.size)return;let K=Y>J.size;W.issues.push({origin:x3(X),...K?{code:"too_big",maximum:J.size}:{code:"too_small",minimum:J.size},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!J.abort})}}),LW=N("$ZodCheckMaxLength",($,J)=>{var Q;n.init($,J),(Q=$._zod.def).when??(Q.when=(W)=>{let X=W.value;return!Q2(X)&&X.length!==void 0}),$._zod.onattach.push((W)=>{let X=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(J.maximum<X)W._zod.bag.maximum=J.maximum}),$._zod.check=(W)=>{let X=W.value;if(X.length<=J.maximum)return;let K=u3(X);W.issues.push({origin:K,code:"too_big",maximum:J.maximum,inclusive:!0,input:X,inst:$,continue:!J.abort})}}),MW=N("$ZodCheckMinLength",($,J)=>{var Q;n.init($,J),(Q=$._zod.def).when??(Q.when=(W)=>{let X=W.value;return!Q2(X)&&X.length!==void 0}),$._zod.onattach.push((W)=>{let X=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(J.minimum>X)W._zod.bag.minimum=J.minimum}),$._zod.check=(W)=>{let X=W.value;if(X.length>=J.minimum)return;let K=u3(X);W.issues.push({origin:K,code:"too_small",minimum:J.minimum,inclusive:!0,input:X,inst:$,continue:!J.abort})}}),OW=N("$ZodCheckLengthEquals",($,J)=>{var Q;n.init($,J),(Q=$._zod.def).when??(Q.when=(W)=>{let X=W.value;return!Q2(X)&&X.length!==void 0}),$._zod.onattach.push((W)=>{let X=W._zod.bag;X.minimum=J.length,X.maximum=J.length,X.length=J.length}),$._zod.check=(W)=>{let X=W.value,Y=X.length;if(Y===J.length)return;let K=u3(X),B=Y>J.length;W.issues.push({origin:K,...B?{code:"too_big",maximum:J.length}:{code:"too_small",minimum:J.length},inclusive:!0,exact:!0,input:W.value,inst:$,continue:!J.abort})}}),j4=N("$ZodCheckStringFormat",($,J)=>{var Q,W;if(n.init($,J),$._zod.onattach.push((X)=>{let Y=X._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=(X)=>{if(J.pattern.lastIndex=0,J.pattern.test(X.value))return;X.issues.push({origin:"string",code:"invalid_format",format:J.format,input:X.value,...J.pattern?{pattern:J.pattern.toString()}:{},inst:$,continue:!J.abort})});else(W=$._zod).check??(W.check=()=>{})}),NW=N("$ZodCheckRegex",($,J)=>{j4.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})}}),FW=N("$ZodCheckLowerCase",($,J)=>{J.pattern??(J.pattern=YW),j4.init($,J)}),VW=N("$ZodCheckUpperCase",($,J)=>{J.pattern??(J.pattern=KW),j4.init($,J)}),_W=N("$ZodCheckIncludes",($,J)=>{n.init($,J);let Q=o1(J.includes),W=new RegExp(typeof J.position==="number"?`^.{${J.position}}${Q}`:Q);J.pattern=W,$._zod.onattach.push((X)=>{let Y=X._zod.bag;Y.patterns??(Y.patterns=new Set),Y.patterns.add(W)}),$._zod.check=(X)=>{if(X.value.includes(J.includes,J.position))return;X.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:J.includes,input:X.value,inst:$,continue:!J.abort})}}),DW=N("$ZodCheckStartsWith",($,J)=>{n.init($,J);let Q=new RegExp(`^${o1(J.prefix)}.*`);J.pattern??(J.pattern=Q),$._zod.onattach.push((W)=>{let X=W._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(Q)}),$._zod.check=(W)=>{if(W.value.startsWith(J.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:J.prefix,input:W.value,inst:$,continue:!J.abort})}}),zW=N("$ZodCheckEndsWith",($,J)=>{n.init($,J);let Q=new RegExp(`.*${o1(J.suffix)}$`);J.pattern??(J.pattern=Q),$._zod.onattach.push((W)=>{let X=W._zod.bag;X.patterns??(X.patterns=new Set),X.patterns.add(Q)}),$._zod.check=(W)=>{if(W.value.endsWith(J.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:J.suffix,input:W.value,inst:$,continue:!J.abort})}});function zH($,J,Q){if($.issues.length)J.issues.push(...g1(Q,$.issues))}var IW=N("$ZodCheckProperty",($,J)=>{n.init($,J),$._zod.check=(Q)=>{let W=J.schema._zod.run({value:Q.value[J.property],issues:[]},{});if(W instanceof Promise)return W.then((X)=>zH(X,Q,J.property));zH(W,Q,J.property);return}}),jW=N("$ZodCheckMimeType",($,J)=>{n.init($,J);let Q=new Set(J.mime);$._zod.onattach.push((W)=>{W._zod.bag.mime=J.mime}),$._zod.check=(W)=>{if(Q.has(W.value.type))return;W.issues.push({code:"invalid_value",values:J.mime,input:W.value.type,inst:$,continue:!J.abort})}}),RW=N("$ZodCheckOverwrite",($,J)=>{n.init($,J),$._zod.check=(Q)=>{Q.value=J.tx(Q.value)}});class v${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),W=Math.min(...Q.map((Y)=>Y.length-Y.trimStart().length)),X=Q.map((Y)=>Y.slice(W)).map((Y)=>" ".repeat(this.indent*2)+Y);for(let Y of X)this.content.push(Y)}compile(){let $=Function,J=this?.args,W=[...(this?.content??[""]).map((X)=>` ${X}`)];return new $(...J,W.join(`
|
|
66
|
+
`))}}var PW={major:4,minor:3,patch:5};var f=N("$ZodType",($,J)=>{var Q;$??($={}),$._zod.def=J,$._zod.bag=$._zod.bag||{},$._zod.version=PW;let W=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))W.unshift($);for(let X of W)for(let Y of X._zod.onattach)Y($);if(W.length===0)(Q=$._zod).deferred??(Q.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let X=(K,B,q)=>{let U=Y2(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 D0;if(G||Z instanceof Promise)G=(G??Promise.resolve()).then(async()=>{if(await Z,K.issues.length===L)return;if(!U)U=Y2(K,L)});else{if(K.issues.length===L)continue;if(!U)U=Y2(K,L)}}if(G)return G.then(()=>{return K});return K},Y=(K,B,q)=>{if(Y2(K))return K.aborted=!0,K;let U=X(B,W,q);if(U instanceof Promise){if(q.async===!1)throw new D0;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 D0;return q.then((U)=>X(U,W,B))}return X(q,W,B)}}u($,"~standard",()=>({validate:(X)=>{try{let Y=T7($,X);return Y.success?{value:Y.data}:{issues:Y.error?.issues}}catch(Y){return w7($,X).then((K)=>K.success?{value:K.data}:{issues:K.error?.issues})}},vendor:"zod",version:1}))}),k2=N("$ZodString",($,J)=>{f.init($,J),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??e7($._zod.bag),$._zod.parse=(Q,W)=>{if(J.coerce)try{Q.value=String(Q.value)}catch(X){}if(typeof Q.value==="string")return Q;return Q.issues.push({expected:"string",code:"invalid_type",input:Q.value,inst:$}),Q}}),i=N("$ZodStringFormat",($,J)=>{j4.init($,J),k2.init($,J)}),AW=N("$ZodGUID",($,J)=>{J.pattern??(J.pattern=u7),i.init($,J)}),EW=N("$ZodUUID",($,J)=>{if(J.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[J.version];if(W===void 0)throw Error(`Invalid UUID version: "${J.version}"`);J.pattern??(J.pattern=f2(W))}else J.pattern??(J.pattern=f2());i.init($,J)}),SW=N("$ZodEmail",($,J)=>{J.pattern??(J.pattern=m7),i.init($,J)}),CW=N("$ZodURL",($,J)=>{i.init($,J),$._zod.check=(Q)=>{try{let W=Q.value.trim(),X=new URL(W);if(J.hostname){if(J.hostname.lastIndex=0,!J.hostname.test(X.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(X.protocol.endsWith(":")?X.protocol.slice(0,-1):X.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=X.href;else Q.value=W;return}catch(W){Q.issues.push({code:"invalid_format",format:"url",input:Q.value,inst:$,continue:!J.abort})}}}),TW=N("$ZodEmoji",($,J)=>{J.pattern??(J.pattern=l7()),i.init($,J)}),wW=N("$ZodNanoID",($,J)=>{J.pattern??(J.pattern=g7),i.init($,J)}),vW=N("$ZodCUID",($,J)=>{J.pattern??(J.pattern=v7),i.init($,J)}),fW=N("$ZodCUID2",($,J)=>{J.pattern??(J.pattern=f7),i.init($,J)}),kW=N("$ZodULID",($,J)=>{J.pattern??(J.pattern=k7),i.init($,J)}),hW=N("$ZodXID",($,J)=>{J.pattern??(J.pattern=h7),i.init($,J)}),yW=N("$ZodKSUID",($,J)=>{J.pattern??(J.pattern=y7),i.init($,J)}),gW=N("$ZodISODateTime",($,J)=>{J.pattern??(J.pattern=t7(J)),i.init($,J)}),xW=N("$ZodISODate",($,J)=>{J.pattern??(J.pattern=s7),i.init($,J)}),uW=N("$ZodISOTime",($,J)=>{J.pattern??(J.pattern=a7(J)),i.init($,J)}),mW=N("$ZodISODuration",($,J)=>{J.pattern??(J.pattern=x7),i.init($,J)}),lW=N("$ZodIPv4",($,J)=>{J.pattern??(J.pattern=p7),i.init($,J),$._zod.bag.format="ipv4"}),pW=N("$ZodIPv6",($,J)=>{J.pattern??(J.pattern=c7),i.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})}}}),cW=N("$ZodMAC",($,J)=>{J.pattern??(J.pattern=d7(J.delimiter)),i.init($,J),$._zod.bag.format="mac"}),dW=N("$ZodCIDRv4",($,J)=>{J.pattern??(J.pattern=r7),i.init($,J)}),rW=N("$ZodCIDRv6",($,J)=>{J.pattern??(J.pattern=i7),i.init($,J),$._zod.check=(Q)=>{let W=Q.value.split("/");try{if(W.length!==2)throw Error();let[X,Y]=W;if(!Y)throw Error();let K=Number(Y);if(`${K}`!==Y)throw Error();if(K<0||K>128)throw Error();new URL(`http://[${X}]`)}catch{Q.issues.push({code:"invalid_format",format:"cidrv6",input:Q.value,inst:$,continue:!J.abort})}}});function iW($){if($==="")return!0;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}var oW=N("$ZodBase64",($,J)=>{J.pattern??(J.pattern=o7),i.init($,J),$._zod.bag.contentEncoding="base64",$._zod.check=(Q)=>{if(iW(Q.value))return;Q.issues.push({code:"invalid_format",format:"base64",input:Q.value,inst:$,continue:!J.abort})}});function kH($){if(!C$.test($))return!1;let J=$.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Q=J.padEnd(Math.ceil(J.length/4)*4,"=");return iW(Q)}var nW=N("$ZodBase64URL",($,J)=>{J.pattern??(J.pattern=C$),i.init($,J),$._zod.bag.contentEncoding="base64url",$._zod.check=(Q)=>{if(kH(Q.value))return;Q.issues.push({code:"invalid_format",format:"base64url",input:Q.value,inst:$,continue:!J.abort})}}),sW=N("$ZodE164",($,J)=>{J.pattern??(J.pattern=n7),i.init($,J)});function hH($,J=null){try{let Q=$.split(".");if(Q.length!==3)return!1;let[W]=Q;if(!W)return!1;let X=JSON.parse(atob(W));if("typ"in X&&X?.typ!=="JWT")return!1;if(!X.alg)return!1;if(J&&(!("alg"in X)||X.alg!==J))return!1;return!0}catch{return!1}}var aW=N("$ZodJWT",($,J)=>{i.init($,J),$._zod.check=(Q)=>{if(hH(Q.value,J.alg))return;Q.issues.push({code:"invalid_format",format:"jwt",input:Q.value,inst:$,continue:!J.abort})}}),tW=N("$ZodCustomStringFormat",($,J)=>{i.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})}}),x$=N("$ZodNumber",($,J)=>{f.init($,J),$._zod.pattern=$._zod.bag.pattern??l3,$._zod.parse=(Q,W)=>{if(J.coerce)try{Q.value=Number(Q.value)}catch(K){}let X=Q.value;if(typeof X==="number"&&!Number.isNaN(X)&&Number.isFinite(X))return Q;let Y=typeof X==="number"?Number.isNaN(X)?"NaN":!Number.isFinite(X)?"Infinity":void 0:void 0;return Q.issues.push({expected:"number",code:"invalid_type",input:X,inst:$,...Y?{received:Y}:{}}),Q}}),eW=N("$ZodNumberFormat",($,J)=>{qW.init($,J),x$.init($,J)}),d3=N("$ZodBoolean",($,J)=>{f.init($,J),$._zod.pattern=QW,$._zod.parse=(Q,W)=>{if(J.coerce)try{Q.value=Boolean(Q.value)}catch(Y){}let X=Q.value;if(typeof X==="boolean")return Q;return Q.issues.push({expected:"boolean",code:"invalid_type",input:X,inst:$}),Q}}),u$=N("$ZodBigInt",($,J)=>{f.init($,J),$._zod.pattern=$W,$._zod.parse=(Q,W)=>{if(J.coerce)try{Q.value=BigInt(Q.value)}catch(X){}if(typeof Q.value==="bigint")return Q;return Q.issues.push({expected:"bigint",code:"invalid_type",input:Q.value,inst:$}),Q}}),$X=N("$ZodBigIntFormat",($,J)=>{UW.init($,J),u$.init($,J)}),JX=N("$ZodSymbol",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(typeof X==="symbol")return Q;return Q.issues.push({expected:"symbol",code:"invalid_type",input:X,inst:$}),Q}}),QX=N("$ZodUndefined",($,J)=>{f.init($,J),$._zod.pattern=XW,$._zod.values=new Set([void 0]),$._zod.optin="optional",$._zod.optout="optional",$._zod.parse=(Q,W)=>{let X=Q.value;if(typeof X>"u")return Q;return Q.issues.push({expected:"undefined",code:"invalid_type",input:X,inst:$}),Q}}),WX=N("$ZodNull",($,J)=>{f.init($,J),$._zod.pattern=WW,$._zod.values=new Set([null]),$._zod.parse=(Q,W)=>{let X=Q.value;if(X===null)return Q;return Q.issues.push({expected:"null",code:"invalid_type",input:X,inst:$}),Q}}),XX=N("$ZodAny",($,J)=>{f.init($,J),$._zod.parse=(Q)=>Q}),YX=N("$ZodUnknown",($,J)=>{f.init($,J),$._zod.parse=(Q)=>Q}),KX=N("$ZodNever",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{return Q.issues.push({expected:"never",code:"invalid_type",input:Q.value,inst:$}),Q}}),BX=N("$ZodVoid",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(typeof X>"u")return Q;return Q.issues.push({expected:"void",code:"invalid_type",input:X,inst:$}),Q}}),qX=N("$ZodDate",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{if(J.coerce)try{Q.value=new Date(Q.value)}catch(B){}let X=Q.value,Y=X instanceof Date;if(Y&&!Number.isNaN(X.getTime()))return Q;return Q.issues.push({expected:"date",code:"invalid_type",input:X,...Y?{received:"Invalid Date"}:{},inst:$}),Q}});function RH($,J,Q){if($.issues.length)J.issues.push(...g1(Q,$.issues));J.value[Q]=$.value}var UX=N("$ZodArray",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(!Array.isArray(X))return Q.issues.push({expected:"array",code:"invalid_type",input:X,inst:$}),Q;Q.value=Array(X.length);let Y=[];for(let K=0;K<X.length;K++){let B=X[K],q=J.element._zod.run({value:B,issues:[]},W);if(q instanceof Promise)Y.push(q.then((U)=>RH(U,Q,K)));else RH(q,Q,K)}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function g$($,J,Q,W,X){if($.issues.length){if(X&&!(Q in W))return;J.issues.push(...g1(Q,$.issues))}if($.value===void 0){if(Q in W)J.value[Q]=void 0}else J.value[Q]=$.value}function yH($){let J=Object.keys($.shape);for(let W of J)if(!$.shape?.[W]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${W}": expected a Zod schema`);let Q=A7($.shape);return{...$,keys:J,keySet:new Set(J),numKeys:J.length,optionalKeys:new Set(Q)}}function gH($,J,Q,W,X,Y){let K=[],B=X.keySet,q=X.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:[]},W);if(L instanceof Promise)$.push(L.then((Z)=>g$(Z,Q,H,J,G)));else g$(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 xH=N("$ZodObject",($,J)=>{if(f.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 W=O4(()=>yH(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 X=v2,Y=J.catchall,K;$._zod.parse=(B,q)=>{K??(K=W.value);let U=B.value;if(!X(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],M=Z._zod.optout==="optional",O=Z._zod.run({value:U[L],issues:[]},q);if(O instanceof Promise)G.push(O.then((V)=>g$(V,B,L,U,M)));else g$(O,B,L,U,M)}if(!Y)return G.length?Promise.all(G).then(()=>B):B;return gH(G,U,B,q,W.value,$)}}),GX=N("$ZodObjectJIT",($,J)=>{xH.init($,J);let Q=$._zod.parse,W=O4(()=>yH(J)),X=(L)=>{let Z=new v$(["shape","payload","ctx"]),M=W.value,O=(I)=>{let A=O$(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 M.keys)V[I]=`key_${F++}`;Z.write("const newResult = {};");for(let I of M.keys){let A=V[I],E=O$(I),R=L[I]?._zod?.optout==="optional";if(Z.write(`const ${A} = ${O(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=v2,B=!f3.jitless,U=B&&R7.value,G=J.catchall,H;$._zod.parse=(L,Z)=>{H??(H=W.value);let M=L.value;if(!K(M))return L.issues.push({expected:"object",code:"invalid_type",input:M,inst:$}),L;if(B&&U&&Z?.async===!1&&Z.jitless!==!0){if(!Y)Y=X(J.shape);if(L=Y(L,Z),!G)return L;return gH([],M,L,Z,H,$)}return Q(L,Z)}});function PH($,J,Q,W){for(let Y of $)if(Y.issues.length===0)return J.value=Y.value,J;let X=$.filter((Y)=>!Y2(Y));if(X.length===1)return J.value=X[0].value,X[0];return J.issues.push({code:"invalid_union",input:J.value,inst:Q,errors:$.map((Y)=>Y.issues.map((K)=>A1(K,W,Y1())))}),J}var r3=N("$ZodUnion",($,J)=>{f.init($,J),u($._zod,"optin",()=>J.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),u($._zod,"optout",()=>J.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),u($._zod,"values",()=>{if(J.options.every((X)=>X._zod.values))return new Set(J.options.flatMap((X)=>Array.from(X._zod.values)));return}),u($._zod,"pattern",()=>{if(J.options.every((X)=>X._zod.pattern)){let X=J.options.map((Y)=>Y._zod.pattern);return new RegExp(`^(${X.map((Y)=>y3(Y.source)).join("|")})$`)}return});let Q=J.options.length===1,W=J.options[0]._zod.run;$._zod.parse=(X,Y)=>{if(Q)return W(X,Y);let K=!1,B=[];for(let q of J.options){let U=q._zod.run({value:X.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 PH(B,X,$,Y);return Promise.all(B).then((q)=>{return PH(q,X,$,Y)})}});function bH($,J,Q,W){let X=$.filter((Y)=>Y.issues.length===0);if(X.length===1)return J.value=X[0].value,J;if(X.length===0)J.issues.push({code:"invalid_union",input:J.value,inst:Q,errors:$.map((Y)=>Y.issues.map((K)=>A1(K,W,Y1())))});else J.issues.push({code:"invalid_union",input:J.value,inst:Q,errors:[],inclusive:!1});return J}var HX=N("$ZodXor",($,J)=>{r3.init($,J),J.inclusive=!1;let Q=J.options.length===1,W=J.options[0]._zod.run;$._zod.parse=(X,Y)=>{if(Q)return W(X,Y);let K=!1,B=[];for(let q of J.options){let U=q._zod.run({value:X.value,issues:[]},Y);if(U instanceof Promise)B.push(U),K=!0;else B.push(U)}if(!K)return bH(B,X,$,Y);return Promise.all(B).then((q)=>{return bH(q,X,$,Y)})}}),ZX=N("$ZodDiscriminatedUnion",($,J)=>{J.inclusive=!1,r3.init($,J);let Q=$._zod.parse;u($._zod,"propValues",()=>{let X={};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(!X[B])X[B]=new Set;for(let U of q)X[B].add(U)}}return X});let W=O4(()=>{let X=J.options,Y=new Map;for(let K of X){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=(X,Y)=>{let K=X.value;if(!v2(K))return X.issues.push({code:"invalid_type",expected:"object",input:K,inst:$}),X;let B=W.value.get(K?.[J.discriminator]);if(B)return B._zod.run(X,Y);if(J.unionFallback)return Q(X,Y);return X.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:J.discriminator,input:K,path:[J.discriminator],inst:$}),X}}),LX=N("$ZodIntersection",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value,Y=J.left._zod.run({value:X,issues:[]},W),K=J.right._zod.run({value:X,issues:[]},W);if(Y instanceof Promise||K instanceof Promise)return Promise.all([Y,K]).then(([q,U])=>{return AH(Q,q,U)});return AH(Q,Y,K)}});function bW($,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),W=Object.keys($).filter((Y)=>Q.indexOf(Y)!==-1),X={...$,...J};for(let Y of W){let K=bW($[Y],J[Y]);if(!K.valid)return{valid:!1,mergeErrorPath:[Y,...K.mergeErrorPath]};X[Y]=K.data}return{valid:!0,data:X}}if(Array.isArray($)&&Array.isArray(J)){if($.length!==J.length)return{valid:!1,mergeErrorPath:[]};let Q=[];for(let W=0;W<$.length;W++){let X=$[W],Y=J[W],K=bW(X,Y);if(!K.valid)return{valid:!1,mergeErrorPath:[W,...K.mergeErrorPath]};Q.push(K.data)}return{valid:!0,data:Q}}return{valid:!1,mergeErrorPath:[]}}function AH($,J,Q){let W=new Map,X;for(let B of J.issues)if(B.code==="unrecognized_keys"){X??(X=B);for(let q of B.keys){if(!W.has(q))W.set(q,{});W.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(!W.has(q))W.set(q,{});W.get(q).r=!0}else $.issues.push(B);let Y=[...W].filter(([,B])=>B.l&&B.r).map(([B])=>B);if(Y.length&&X)$.issues.push({...X,keys:Y});if(Y2($))return $;let K=bW(J.value,Q.value);if(!K.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(K.mergeErrorPath)}`);return $.value=K.data,$}var m$=N("$ZodTuple",($,J)=>{f.init($,J);let Q=J.items;$._zod.parse=(W,X)=>{let Y=W.value;if(!Array.isArray(Y))return W.issues.push({input:Y,inst:$,expected:"tuple",code:"invalid_type"}),W;W.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 W.issues.push({...G?{code:"too_big",maximum:Q.length,inclusive:!0}:{code:"too_small",minimum:Q.length},input:Y,inst:$,origin:"array"}),W}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:[]},X);if(H instanceof Promise)K.push(H.then((L)=>f$(L,W,U)));else f$(H,W,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:[]},X);if(L instanceof Promise)K.push(L.then((Z)=>f$(Z,W,U)));else f$(L,W,U)}}if(K.length)return Promise.all(K).then(()=>W);return W}});function f$($,J,Q){if($.issues.length)J.issues.push(...g1(Q,$.issues));J.value[Q]=$.value}var MX=N("$ZodRecord",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(!X2(X))return Q.issues.push({expected:"record",code:"invalid_type",input:X,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:X[U],issues:[]},W);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 X)if(!B.has(U))q=q??[],q.push(U);if(q&&q.length>0)Q.issues.push({code:"unrecognized_keys",input:X,inst:$,keys:q})}else{Q.value={};for(let B of Reflect.ownKeys(X)){if(B==="__proto__")continue;let q=J.keyType._zod.run({value:B,issues:[]},W);if(q instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof B==="string"&&l3.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:[]},W);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]=X[B];else Q.issues.push({code:"invalid_key",origin:"record",issues:q.issues.map((H)=>A1(H,W,Y1())),input:B,path:[B],inst:$});continue}let G=J.valueType._zod.run({value:X[B],issues:[]},W);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}}),OX=N("$ZodMap",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(!(X instanceof Map))return Q.issues.push({expected:"map",code:"invalid_type",input:X,inst:$}),Q;let Y=[];Q.value=new Map;for(let[K,B]of X){let q=J.keyType._zod.run({value:K,issues:[]},W),U=J.valueType._zod.run({value:B,issues:[]},W);if(q instanceof Promise||U instanceof Promise)Y.push(Promise.all([q,U]).then(([G,H])=>{EH(G,H,Q,K,X,$,W)}));else EH(q,U,Q,K,X,$,W)}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function EH($,J,Q,W,X,Y,K){if($.issues.length)if(g3.has(typeof W))Q.issues.push(...g1(W,$.issues));else Q.issues.push({code:"invalid_key",origin:"map",input:X,inst:Y,issues:$.issues.map((B)=>A1(B,K,Y1()))});if(J.issues.length)if(g3.has(typeof W))Q.issues.push(...g1(W,J.issues));else Q.issues.push({origin:"map",code:"invalid_element",input:X,inst:Y,key:W,issues:J.issues.map((B)=>A1(B,K,Y1()))});Q.value.set($.value,J.value)}var NX=N("$ZodSet",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(!(X instanceof Set))return Q.issues.push({input:X,inst:$,expected:"set",code:"invalid_type"}),Q;let Y=[];Q.value=new Set;for(let K of X){let B=J.valueType._zod.run({value:K,issues:[]},W);if(B instanceof Promise)Y.push(B.then((q)=>SH(q,Q)));else SH(B,Q)}if(Y.length)return Promise.all(Y).then(()=>Q);return Q}});function SH($,J){if($.issues.length)J.issues.push(...$.issues);J.value.add($.value)}var FX=N("$ZodEnum",($,J)=>{f.init($,J);let Q=h3(J.entries),W=new Set(Q);$._zod.values=W,$._zod.pattern=new RegExp(`^(${Q.filter((X)=>g3.has(typeof X)).map((X)=>typeof X==="string"?o1(X):X.toString()).join("|")})$`),$._zod.parse=(X,Y)=>{let K=X.value;if(W.has(K))return X;return X.issues.push({code:"invalid_value",values:Q,input:K,inst:$}),X}}),VX=N("$ZodLiteral",($,J)=>{if(f.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((W)=>typeof W==="string"?o1(W):W?o1(W.toString()):String(W)).join("|")})$`),$._zod.parse=(W,X)=>{let Y=W.value;if(Q.has(Y))return W;return W.issues.push({code:"invalid_value",values:J.values,input:Y,inst:$}),W}}),_X=N("$ZodFile",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{let X=Q.value;if(X instanceof File)return Q;return Q.issues.push({expected:"file",code:"invalid_type",input:X,inst:$}),Q}}),DX=N("$ZodTransform",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{if(W.direction==="backward")throw new w2($.constructor.name);let X=J.transform(Q.value,Q);if(W.async)return(X instanceof Promise?X:Promise.resolve(X)).then((K)=>{return Q.value=K,Q});if(X instanceof Promise)throw new D0;return Q.value=X,Q}});function CH($,J){if($.issues.length&&J===void 0)return{issues:[],value:void 0};return $}var l$=N("$ZodOptional",($,J)=>{f.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(`^(${y3(Q.source)})?$`):void 0}),$._zod.parse=(Q,W)=>{if(J.innerType._zod.optin==="optional"){let X=J.innerType._zod.run(Q,W);if(X instanceof Promise)return X.then((Y)=>CH(Y,Q.value));return CH(X,Q.value)}if(Q.value===void 0)return Q;return J.innerType._zod.run(Q,W)}}),zX=N("$ZodExactOptional",($,J)=>{l$.init($,J),u($._zod,"values",()=>J.innerType._zod.values),u($._zod,"pattern",()=>J.innerType._zod.pattern),$._zod.parse=(Q,W)=>{return J.innerType._zod.run(Q,W)}}),IX=N("$ZodNullable",($,J)=>{f.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(`^(${y3(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,W)=>{if(Q.value===null)return Q;return J.innerType._zod.run(Q,W)}}),jX=N("$ZodDefault",($,J)=>{f.init($,J),$._zod.optin="optional",u($._zod,"values",()=>J.innerType._zod.values),$._zod.parse=(Q,W)=>{if(W.direction==="backward")return J.innerType._zod.run(Q,W);if(Q.value===void 0)return Q.value=J.defaultValue,Q;let X=J.innerType._zod.run(Q,W);if(X instanceof Promise)return X.then((Y)=>TH(Y,J));return TH(X,J)}});function TH($,J){if($.value===void 0)$.value=J.defaultValue;return $}var RX=N("$ZodPrefault",($,J)=>{f.init($,J),$._zod.optin="optional",u($._zod,"values",()=>J.innerType._zod.values),$._zod.parse=(Q,W)=>{if(W.direction==="backward")return J.innerType._zod.run(Q,W);if(Q.value===void 0)Q.value=J.defaultValue;return J.innerType._zod.run(Q,W)}}),PX=N("$ZodNonOptional",($,J)=>{f.init($,J),u($._zod,"values",()=>{let Q=J.innerType._zod.values;return Q?new Set([...Q].filter((W)=>W!==void 0)):void 0}),$._zod.parse=(Q,W)=>{let X=J.innerType._zod.run(Q,W);if(X instanceof Promise)return X.then((Y)=>wH(Y,$));return wH(X,$)}});function wH($,J){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:J});return $}var bX=N("$ZodSuccess",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{if(W.direction==="backward")throw new w2("ZodSuccess");let X=J.innerType._zod.run(Q,W);if(X instanceof Promise)return X.then((Y)=>{return Q.value=Y.issues.length===0,Q});return Q.value=X.issues.length===0,Q}}),AX=N("$ZodCatch",($,J)=>{f.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,W)=>{if(W.direction==="backward")return J.innerType._zod.run(Q,W);let X=J.innerType._zod.run(Q,W);if(X instanceof Promise)return X.then((Y)=>{if(Q.value=Y.value,Y.issues.length)Q.value=J.catchValue({...Q,error:{issues:Y.issues.map((K)=>A1(K,W,Y1()))},input:Q.value}),Q.issues=[];return Q});if(Q.value=X.value,X.issues.length)Q.value=J.catchValue({...Q,error:{issues:X.issues.map((Y)=>A1(Y,W,Y1()))},input:Q.value}),Q.issues=[];return Q}}),EX=N("$ZodNaN",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{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}}),SX=N("$ZodPipe",($,J)=>{f.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,W)=>{if(W.direction==="backward"){let Y=J.out._zod.run(Q,W);if(Y instanceof Promise)return Y.then((K)=>k$(K,J.in,W));return k$(Y,J.in,W)}let X=J.in._zod.run(Q,W);if(X instanceof Promise)return X.then((Y)=>k$(Y,J.out,W));return k$(X,J.out,W)}});function k$($,J,Q){if($.issues.length)return $.aborted=!0,$;return J._zod.run({value:$.value,issues:$.issues},Q)}var i3=N("$ZodCodec",($,J)=>{f.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,W)=>{if((W.direction||"forward")==="forward"){let Y=J.in._zod.run(Q,W);if(Y instanceof Promise)return Y.then((K)=>h$(K,J,W));return h$(Y,J,W)}else{let Y=J.out._zod.run(Q,W);if(Y instanceof Promise)return Y.then((K)=>h$(K,J,W));return h$(Y,J,W)}}});function h$($,J,Q){if($.issues.length)return $.aborted=!0,$;if((Q.direction||"forward")==="forward"){let X=J.transform($.value,$);if(X instanceof Promise)return X.then((Y)=>y$($,Y,J.out,Q));return y$($,X,J.out,Q)}else{let X=J.reverseTransform($.value,$);if(X instanceof Promise)return X.then((Y)=>y$($,Y,J.in,Q));return y$($,X,J.in,Q)}}function y$($,J,Q,W){if($.issues.length)return $.aborted=!0,$;return Q._zod.run({value:J,issues:$.issues},W)}var CX=N("$ZodReadonly",($,J)=>{f.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,W)=>{if(W.direction==="backward")return J.innerType._zod.run(Q,W);let X=J.innerType._zod.run(Q,W);if(X instanceof Promise)return X.then(vH);return vH(X)}});function vH($){return $.value=Object.freeze($.value),$}var TX=N("$ZodTemplateLiteral",($,J)=>{f.init($,J);let Q=[];for(let W of J.parts)if(typeof W==="object"&&W!==null){if(!W._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...W._zod.traits].shift()}`);let X=W._zod.pattern instanceof RegExp?W._zod.pattern.source:W._zod.pattern;if(!X)throw Error(`Invalid template literal part: ${W._zod.traits}`);let Y=X.startsWith("^")?1:0,K=X.endsWith("$")?X.length-1:X.length;Q.push(X.slice(Y,K))}else if(W===null||b7.has(typeof W))Q.push(o1(`${W}`));else throw Error(`Invalid template literal part: ${W}`);$._zod.pattern=new RegExp(`^${Q.join("")}$`),$._zod.parse=(W,X)=>{if(typeof W.value!=="string")return W.issues.push({input:W.value,inst:$,expected:"string",code:"invalid_type"}),W;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(W.value))return W.issues.push({input:W.value,inst:$,code:"invalid_format",format:J.format??"template_literal",pattern:$._zod.pattern.source}),W;return W}}),wX=N("$ZodFunction",($,J)=>{return f.init($,J),$._def=J,$._zod.def=J,$.implement=(Q)=>{if(typeof Q!=="function")throw Error("implement() must be called with a function");return function(...W){let X=$._def.input?D$($._def.input,W):W,Y=Reflect.apply(Q,this,X);if($._def.output)return D$($._def.output,Y);return Y}},$.implementAsync=(Q)=>{if(typeof Q!=="function")throw Error("implementAsync() must be called with a function");return async function(...W){let X=$._def.input?await z$($._def.input,W):W,Y=await Reflect.apply(Q,this,X);if($._def.output)return await z$($._def.output,Y);return Y}},$._zod.parse=(Q,W)=>{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 W=$.constructor;if(Array.isArray(Q[0]))return new W({type:"function",input:new m$({type:"tuple",items:Q[0],rest:Q[1]}),output:$._def.output});return new W({type:"function",input:Q[0],output:$._def.output})},$.output=(Q)=>{return new $.constructor({type:"function",input:$._def.input,output:Q})},$}),vX=N("$ZodPromise",($,J)=>{f.init($,J),$._zod.parse=(Q,W)=>{return Promise.resolve(Q.value).then((X)=>J.innerType._zod.run({value:X,issues:[]},W))}}),fX=N("$ZodLazy",($,J)=>{f.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,W)=>{return $._zod.innerType._zod.run(Q,W)}}),kX=N("$ZodCustom",($,J)=>{n.init($,J),f.init($,J),$._zod.parse=(Q,W)=>{return Q},$._zod.check=(Q)=>{let W=Q.value,X=J.fn(W);if(X instanceof Promise)return X.then((Y)=>fH(Y,Q,W,$));fH(X,Q,W,$);return}});function fH($,J,Q,W){if(!$){let X={code:"custom",input:Q,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)X.params=W._zod.def.params;J.issues.push(N4(X))}}var o3={};var uH,p$=Symbol("ZodOutput"),c$=Symbol("ZodInput");class hX{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 W={...Q,...this._map.get($)};return Object.keys(W).length?W:void 0}return this._map.get($)}has($){return this._map.has($)}}function n3(){return new hX}(uH=globalThis).__zod_globalRegistry??(uH.__zod_globalRegistry=n3());var S1=globalThis.__zod_globalRegistry;function yX($,J){return new $({type:"string",...z(J)})}function gX($,J){return new $({type:"string",coerce:!0,...z(J)})}function d$($,J){return new $({type:"string",format:"email",check:"string_format",abort:!1,...z(J)})}function s3($,J){return new $({type:"string",format:"guid",check:"string_format",abort:!1,...z(J)})}function r$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,...z(J)})}function i$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...z(J)})}function o$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...z(J)})}function n$($,J){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...z(J)})}function a3($,J){return new $({type:"string",format:"url",check:"string_format",abort:!1,...z(J)})}function s$($,J){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,...z(J)})}function a$($,J){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,...z(J)})}function t$($,J){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,...z(J)})}function e$($,J){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,...z(J)})}function $8($,J){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,...z(J)})}function J8($,J){return new $({type:"string",format:"xid",check:"string_format",abort:!1,...z(J)})}function Q8($,J){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,...z(J)})}function W8($,J){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,...z(J)})}function X8($,J){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,...z(J)})}function xX($,J){return new $({type:"string",format:"mac",check:"string_format",abort:!1,...z(J)})}function Y8($,J){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,...z(J)})}function K8($,J){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,...z(J)})}function B8($,J){return new $({type:"string",format:"base64",check:"string_format",abort:!1,...z(J)})}function q8($,J){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,...z(J)})}function U8($,J){return new $({type:"string",format:"e164",check:"string_format",abort:!1,...z(J)})}function G8($,J){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,...z(J)})}var H8={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function uX($,J){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...z(J)})}function mX($,J){return new $({type:"string",format:"date",check:"string_format",...z(J)})}function lX($,J){return new $({type:"string",format:"time",check:"string_format",precision:null,...z(J)})}function pX($,J){return new $({type:"string",format:"duration",check:"string_format",...z(J)})}function cX($,J){return new $({type:"number",checks:[],...z(J)})}function dX($,J){return new $({type:"number",coerce:!0,checks:[],...z(J)})}function rX($,J){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",...z(J)})}function iX($,J){return new $({type:"number",check:"number_format",abort:!1,format:"float32",...z(J)})}function oX($,J){return new $({type:"number",check:"number_format",abort:!1,format:"float64",...z(J)})}function nX($,J){return new $({type:"number",check:"number_format",abort:!1,format:"int32",...z(J)})}function sX($,J){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",...z(J)})}function aX($,J){return new $({type:"boolean",...z(J)})}function tX($,J){return new $({type:"boolean",coerce:!0,...z(J)})}function eX($,J){return new $({type:"bigint",...z(J)})}function $5($,J){return new $({type:"bigint",coerce:!0,...z(J)})}function J5($,J){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...z(J)})}function Q5($,J){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...z(J)})}function W5($,J){return new $({type:"symbol",...z(J)})}function X5($,J){return new $({type:"undefined",...z(J)})}function Y5($,J){return new $({type:"null",...z(J)})}function K5($){return new $({type:"any"})}function B5($){return new $({type:"unknown"})}function q5($,J){return new $({type:"never",...z(J)})}function U5($,J){return new $({type:"void",...z(J)})}function G5($,J){return new $({type:"date",...z(J)})}function H5($,J){return new $({type:"date",coerce:!0,...z(J)})}function Z5($,J){return new $({type:"nan",...z(J)})}function z0($,J){return new T$({check:"less_than",...z(J),value:$,inclusive:!1})}function u1($,J){return new T$({check:"less_than",...z(J),value:$,inclusive:!0})}function I0($,J){return new w$({check:"greater_than",...z(J),value:$,inclusive:!1})}function z1($,J){return new w$({check:"greater_than",...z(J),value:$,inclusive:!0})}function Z8($){return I0(0,$)}function L8($){return z0(0,$)}function M8($){return u1(0,$)}function O8($){return z1(0,$)}function K2($,J){return new BW({check:"multiple_of",...z(J),value:$})}function B2($,J){return new GW({check:"max_size",...z(J),maximum:$})}function j0($,J){return new HW({check:"min_size",...z(J),minimum:$})}function h2($,J){return new ZW({check:"size_equals",...z(J),size:$})}function y2($,J){return new LW({check:"max_length",...z(J),maximum:$})}function x0($,J){return new MW({check:"min_length",...z(J),minimum:$})}function g2($,J){return new OW({check:"length_equals",...z(J),length:$})}function R4($,J){return new NW({check:"string_format",format:"regex",...z(J),pattern:$})}function P4($){return new FW({check:"string_format",format:"lowercase",...z($)})}function b4($){return new VW({check:"string_format",format:"uppercase",...z($)})}function A4($,J){return new _W({check:"string_format",format:"includes",...z(J),includes:$})}function E4($,J){return new DW({check:"string_format",format:"starts_with",...z(J),prefix:$})}function S4($,J){return new zW({check:"string_format",format:"ends_with",...z(J),suffix:$})}function N8($,J,Q){return new IW({check:"property",property:$,schema:J,...z(Q)})}function C4($,J){return new jW({check:"mime_type",mime:$,...z(J)})}function Y0($){return new RW({check:"overwrite",tx:$})}function T4($){return Y0((J)=>J.normalize($))}function w4(){return Y0(($)=>$.trim())}function v4(){return Y0(($)=>$.toLowerCase())}function f4(){return Y0(($)=>$.toUpperCase())}function k4(){return Y0(($)=>j7($))}function L5($,J,Q){return new $({type:"array",element:J,...z(Q)})}function kP($,J,Q){return new $({type:"union",options:J,...z(Q)})}function hP($,J,Q){return new $({type:"union",options:J,inclusive:!1,...z(Q)})}function yP($,J,Q,W){return new $({type:"union",options:Q,discriminator:J,...z(W)})}function gP($,J,Q){return new $({type:"intersection",left:J,right:Q})}function xP($,J,Q,W){let X=Q instanceof f;return new $({type:"tuple",items:J,rest:X?Q:null,...z(X?W:Q)})}function uP($,J,Q,W){return new $({type:"record",keyType:J,valueType:Q,...z(W)})}function mP($,J,Q,W){return new $({type:"map",keyType:J,valueType:Q,...z(W)})}function lP($,J,Q){return new $({type:"set",valueType:J,...z(Q)})}function pP($,J,Q){let W=Array.isArray(J)?Object.fromEntries(J.map((X)=>[X,X])):J;return new $({type:"enum",entries:W,...z(Q)})}function cP($,J,Q){return new $({type:"enum",entries:J,...z(Q)})}function dP($,J,Q){return new $({type:"literal",values:Array.isArray(J)?J:[J],...z(Q)})}function M5($,J){return new $({type:"file",...z(J)})}function rP($,J){return new $({type:"transform",transform:J})}function iP($,J){return new $({type:"optional",innerType:J})}function oP($,J){return new $({type:"nullable",innerType:J})}function nP($,J,Q){return new $({type:"default",innerType:J,get defaultValue(){return typeof Q==="function"?Q():P7(Q)}})}function sP($,J,Q){return new $({type:"nonoptional",innerType:J,...z(Q)})}function aP($,J){return new $({type:"success",innerType:J})}function tP($,J,Q){return new $({type:"catch",innerType:J,catchValue:typeof Q==="function"?Q:()=>Q})}function eP($,J,Q){return new $({type:"pipe",in:J,out:Q})}function $b($,J){return new $({type:"readonly",innerType:J})}function Jb($,J,Q){return new $({type:"template_literal",parts:J,...z(Q)})}function Qb($,J){return new $({type:"lazy",getter:J})}function Wb($,J){return new $({type:"promise",innerType:J})}function O5($,J,Q){let W=z(Q);return W.abort??(W.abort=!0),new $({type:"custom",check:"custom",fn:J,...W})}function N5($,J,Q){return new $({type:"custom",check:"custom",fn:J,...z(Q)})}function F5($){let J=mH((Q)=>{return Q.addIssue=(W)=>{if(typeof W==="string")Q.issues.push(N4(W,Q.value,J._zod.def));else{let X=W;if(X.fatal)X.continue=!1;X.code??(X.code="custom"),X.input??(X.input=Q.value),X.inst??(X.inst=J),X.continue??(X.continue=!J._zod.def.abort),Q.issues.push(N4(X))}},$(Q.value,Q)});return J}function mH($,J){let Q=new n({check:"custom",...z(J)});return Q._zod.check=$,Q}function V5($){let J=new n({check:"describe"});return J._zod.onattach=[(Q)=>{let W=S1.get(Q)??{};S1.add(Q,{...W,description:$})}],J._zod.check=()=>{},J}function _5($){let J=new n({check:"meta"});return J._zod.onattach=[(Q)=>{let W=S1.get(Q)??{};S1.add(Q,{...W,...$})}],J._zod.check=()=>{},J}function D5($,J){let Q=z(J),W=Q.truthy??["true","1","yes","on","y","enabled"],X=Q.falsy??["false","0","no","off","n","disabled"];if(Q.case!=="sensitive")W=W.map((Z)=>typeof Z==="string"?Z.toLowerCase():Z),X=X.map((Z)=>typeof Z==="string"?Z.toLowerCase():Z);let Y=new Set(W),K=new Set(X),B=$.Codec??i3,q=$.Boolean??d3,G=new($.String??k2)({type:"string",error:Q.error}),H=new q({type:"boolean",error:Q.error}),L=new B({type:"pipe",in:G,out:H,transform:(Z,M)=>{let O=Z;if(Q.case!=="sensitive")O=O.toLowerCase();if(Y.has(O))return!0;else if(K.has(O))return!1;else return M.issues.push({code:"invalid_value",expected:"stringbool",values:[...Y,...K],input:M.value,inst:L,continue:!1}),{}},reverseTransform:(Z,M)=>{if(Z===!0)return W[0]||"true";else return X[0]||"false"},error:Q.error});return L}function h4($,J,Q,W={}){let X=z(W),Y={...z(W),check:"string_format",type:"string",format:J,fn:typeof Q==="function"?Q:(B)=>Q.test(B),...X};if(Q instanceof RegExp)Y.pattern=Q;return new $(Y)}var y4=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")},z5=()=>y4,F8=()=>y4,g4=y4,s=y4,x4=y4,u4=y4;var Xb={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},I5=($,J,Q,W)=>{let X=Q;X.type="string";let{minimum:Y,maximum:K,format:B,patterns:q,contentEncoding:U}=$._zod.bag;if(typeof Y==="number")X.minLength=Y;if(typeof K==="number")X.maxLength=K;if(B){if(X.format=Xb[B]??B,X.format==="")delete X.format;if(B==="time")delete X.format}if(U)X.contentEncoding=U;if(q&&q.size>0){let G=[...q];if(G.length===1)X.pattern=G[0].source;else if(G.length>1)X.allOf=[...G.map((H)=>({...J.target==="draft-07"||J.target==="draft-04"||J.target==="openapi-3.0"?{type:"string"}:{},pattern:H.source}))]}},j5=($,J,Q,W)=>{let X=Q,{minimum:Y,maximum:K,format:B,multipleOf:q,exclusiveMaximum:U,exclusiveMinimum:G}=$._zod.bag;if(typeof B==="string"&&B.includes("int"))X.type="integer";else X.type="number";if(typeof G==="number")if(J.target==="draft-04"||J.target==="openapi-3.0")X.minimum=G,X.exclusiveMinimum=!0;else X.exclusiveMinimum=G;if(typeof Y==="number"){if(X.minimum=Y,typeof G==="number"&&J.target!=="draft-04")if(G>=Y)delete X.minimum;else delete X.exclusiveMinimum}if(typeof U==="number")if(J.target==="draft-04"||J.target==="openapi-3.0")X.maximum=U,X.exclusiveMaximum=!0;else X.exclusiveMaximum=U;if(typeof K==="number"){if(X.maximum=K,typeof U==="number"&&J.target!=="draft-04")if(U<=K)delete X.maximum;else delete X.exclusiveMaximum}if(typeof q==="number")X.multipleOf=q},R5=($,J,Q,W)=>{Q.type="boolean"},P5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},b5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},A5=($,J,Q,W)=>{if(J.target==="openapi-3.0")Q.type="string",Q.nullable=!0,Q.enum=[null];else Q.type="null"},E5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},S5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},C5=($,J,Q,W)=>{Q.not={}},T5=($,J,Q,W)=>{},w5=($,J,Q,W)=>{},v5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},f5=($,J,Q,W)=>{let X=$._zod.def,Y=h3(X.entries);if(Y.every((K)=>typeof K==="number"))Q.type="number";if(Y.every((K)=>typeof K==="string"))Q.type="string";Q.enum=Y},k5=($,J,Q,W)=>{let X=$._zod.def,Y=[];for(let K of X.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}},h5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},y5=($,J,Q,W)=>{let X=Q,Y=$._zod.pattern;if(!Y)throw Error("Pattern not found in template literal");X.type="string",X.pattern=Y.source},g5=($,J,Q,W)=>{let X=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(X,Y);else Object.assign(X,Y),X.anyOf=q.map((U)=>({contentMediaType:U}));else Object.assign(X,Y)},x5=($,J,Q,W)=>{Q.type="boolean"},u5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},m5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},l5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},p5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},c5=($,J,Q,W)=>{if(J.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},d5=($,J,Q,W)=>{let X=Q,Y=$._zod.def,{minimum:K,maximum:B}=$._zod.bag;if(typeof K==="number")X.minItems=K;if(typeof B==="number")X.maxItems=B;X.type="array",X.items=s(Y.element,J,{...W,path:[...W.path,"items"]})},r5=($,J,Q,W)=>{let X=Q,Y=$._zod.def;X.type="object",X.properties={};let K=Y.shape;for(let U in K)X.properties[U]=s(K[U],J,{...W,path:[...W.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)X.required=Array.from(q);if(Y.catchall?._zod.def.type==="never")X.additionalProperties=!1;else if(!Y.catchall){if(J.io==="output")X.additionalProperties=!1}else if(Y.catchall)X.additionalProperties=s(Y.catchall,J,{...W,path:[...W.path,"additionalProperties"]})},_8=($,J,Q,W)=>{let X=$._zod.def,Y=X.inclusive===!1,K=X.options.map((B,q)=>s(B,J,{...W,path:[...W.path,Y?"oneOf":"anyOf",q]}));if(Y)Q.oneOf=K;else Q.anyOf=K},i5=($,J,Q,W)=>{let X=$._zod.def,Y=s(X.left,J,{...W,path:[...W.path,"allOf",0]}),K=s(X.right,J,{...W,path:[...W.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},o5=($,J,Q,W)=>{let X=Q,Y=$._zod.def;X.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)=>s(L,J,{...W,path:[...W.path,K,Z]})),U=Y.rest?s(Y.rest,J,{...W,path:[...W.path,B,...J.target==="openapi-3.0"?[Y.items.length]:[]]}):null;if(J.target==="draft-2020-12"){if(X.prefixItems=q,U)X.items=U}else if(J.target==="openapi-3.0"){if(X.items={anyOf:q},U)X.items.anyOf.push(U);if(X.minItems=q.length,!U)X.maxItems=q.length}else if(X.items=q,U)X.additionalItems=U;let{minimum:G,maximum:H}=$._zod.bag;if(typeof G==="number")X.minItems=G;if(typeof H==="number")X.maxItems=H},n5=($,J,Q,W)=>{let X=Q,Y=$._zod.def;X.type="object";let K=Y.keyType,q=K._zod.bag?.patterns;if(Y.mode==="loose"&&q&&q.size>0){let G=s(Y.valueType,J,{...W,path:[...W.path,"patternProperties","*"]});X.patternProperties={};for(let H of q)X.patternProperties[H.source]=G}else{if(J.target==="draft-07"||J.target==="draft-2020-12")X.propertyNames=s(Y.keyType,J,{...W,path:[...W.path,"propertyNames"]});X.additionalProperties=s(Y.valueType,J,{...W,path:[...W.path,"additionalProperties"]})}let U=K._zod.values;if(U){let G=[...U].filter((H)=>typeof H==="string"||typeof H==="number");if(G.length>0)X.required=G}},s5=($,J,Q,W)=>{let X=$._zod.def,Y=s(X.innerType,J,W),K=J.seen.get($);if(J.target==="openapi-3.0")K.ref=X.innerType,Q.nullable=!0;else Q.anyOf=[Y,{type:"null"}]},a5=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);Y.ref=X.innerType},t5=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);Y.ref=X.innerType,Q.default=JSON.parse(JSON.stringify(X.defaultValue))},e5=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);if(Y.ref=X.innerType,J.io==="input")Q._prefault=JSON.parse(JSON.stringify(X.defaultValue))},$Y=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);Y.ref=X.innerType;let K;try{K=X.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}Q.default=K},JY=($,J,Q,W)=>{let X=$._zod.def,Y=J.io==="input"?X.in._zod.def.type==="transform"?X.out:X.in:X.out;s(Y,J,W);let K=J.seen.get($);K.ref=Y},QY=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);Y.ref=X.innerType,Q.readOnly=!0},WY=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);Y.ref=X.innerType},D8=($,J,Q,W)=>{let X=$._zod.def;s(X.innerType,J,W);let Y=J.seen.get($);Y.ref=X.innerType},XY=($,J,Q,W)=>{let X=$._zod.innerType;s(X,J,W);let Y=J.seen.get($);Y.ref=X},V8={string:I5,number:j5,boolean:R5,bigint:P5,symbol:b5,null:A5,undefined:E5,void:S5,never:C5,any:T5,unknown:w5,date:v5,enum:f5,literal:k5,nan:h5,template_literal:y5,file:g5,success:x5,custom:u5,function:m5,transform:l5,map:p5,set:c5,array:d5,object:r5,union:_8,intersection:i5,tuple:o5,record:n5,nullable:s5,nonoptional:a5,default:t5,prefault:e5,catch:$Y,pipe:JY,readonly:QY,promise:WY,optional:D8,lazy:XY};function t3($,J){if("_idmap"in $){let W=$,X=g4({...J,processors:V8}),Y={};for(let q of W._idmap.entries()){let[U,G]=q;s(G,X)}let K={},B={registry:W,uri:J?.uri,defs:Y};X.external=B;for(let q of W._idmap.entries()){let[U,G]=q;x4(X,G),K[U]=u4(X,G)}if(Object.keys(Y).length>0){let q=X.target==="draft-2020-12"?"$defs":"definitions";K.__shared={[q]:Y}}return{schemas:K}}let Q=g4({...J,processors:V8});return s($,Q),x4(Q,$),u4(Q,$)}class YY{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=g4({processors:V8,target:J,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,J={path:[],schemaPath:[]}){return s($,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}x4(this.ctx,$);let Q=u4(this.ctx,$),{"~standard":W,...X}=Q;return X}}var lH={};var W6={};U2(W6,{time:()=>qY,duration:()=>UY,datetime:()=>KY,date:()=>BY,ZodISOTime:()=>J6,ZodISODuration:()=>Q6,ZodISODateTime:()=>e3,ZodISODate:()=>$6});var e3=N("ZodISODateTime",($,J)=>{gW.init($,J),o.init($,J)});function KY($){return uX(e3,$)}var $6=N("ZodISODate",($,J)=>{xW.init($,J),o.init($,J)});function BY($){return mX($6,$)}var J6=N("ZodISOTime",($,J)=>{uW.init($,J),o.init($,J)});function qY($){return lX(J6,$)}var Q6=N("ZodISODuration",($,J)=>{mW.init($,J),o.init($,J)});function UY($){return pX(Q6,$)}var cH=($,J)=>{m3.init($,J),$.name="ZodError",Object.defineProperties($,{format:{value:(Q)=>V4($,Q)},flatten:{value:(Q)=>F4($,Q)},addIssue:{value:(Q)=>{$.issues.push(Q),$.message=JSON.stringify($.issues,M4,2)}},addIssues:{value:(Q)=>{$.issues.push(...Q),$.message=JSON.stringify($.issues,M4,2)}},isEmpty:{get(){return $.issues.length===0}}})},dH=N("ZodError",cH),I1=N("ZodError",cH,{Parent:Error});var z8=_4(I1),I8=D4(I1),j8=z4(I1),R8=I4(I1),P8=I$(I1),b8=j$(I1),A8=R$(I1),E8=P$(I1),S8=b$(I1),C8=A$(I1),T8=E$(I1),w8=S$(I1);var y=N("ZodType",($,J)=>{return f.init($,J),Object.assign($["~standard"],{jsonSchema:{input:F8($,"input"),output:F8($,"output")}}),$.toJSONSchema=z5($,{}),$.def=J,$.type=J.type,Object.defineProperty($,"_def",{value:J}),$.check=(...Q)=>{return $.clone(w.mergeDefs(J,{checks:[...J.checks??[],...Q.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]}),{parent:!0})},$.with=$.check,$.clone=(Q,W)=>N1($,Q,W),$.brand=()=>$,$.register=(Q,W)=>{return Q.add($,W),$},$.parse=(Q,W)=>z8($,Q,W,{callee:$.parse}),$.safeParse=(Q,W)=>j8($,Q,W),$.parseAsync=async(Q,W)=>I8($,Q,W,{callee:$.parseAsync}),$.safeParseAsync=async(Q,W)=>R8($,Q,W),$.spa=$.safeParseAsync,$.encode=(Q,W)=>P8($,Q,W),$.decode=(Q,W)=>b8($,Q,W),$.encodeAsync=async(Q,W)=>A8($,Q,W),$.decodeAsync=async(Q,W)=>E8($,Q,W),$.safeEncode=(Q,W)=>S8($,Q,W),$.safeDecode=(Q,W)=>C8($,Q,W),$.safeEncodeAsync=async(Q,W)=>T8($,Q,W),$.safeDecodeAsync=async(Q,W)=>w8($,Q,W),$.refine=(Q,W)=>$.check(eY(Q,W)),$.superRefine=(Q)=>$.check($K(Q)),$.overwrite=(Q)=>$.check(Y0(Q)),$.optional=()=>Y6($),$.exactOptional=()=>kY($),$.nullable=()=>K6($),$.nullish=()=>Y6(K6($)),$.nonoptional=(Q)=>mY($,Q),$.array=()=>G6($),$.or=(Q)=>$J([$,Q]),$.and=(Q)=>PY($,Q),$.transform=(Q)=>B6($,QJ(Q)),$.default=(Q)=>gY($,Q),$.prefault=(Q)=>uY($,Q),$.catch=(Q)=>cY($,Q),$.pipe=(Q)=>B6($,Q),$.readonly=()=>iY($),$.describe=(Q)=>{let W=$.clone();return S1.add(W,{description:Q}),W},Object.defineProperty($,"description",{get(){return S1.get($)?.description},configurable:!0}),$.meta=(...Q)=>{if(Q.length===0)return S1.get($);let W=$.clone();return S1.add(W,Q[0]),W},$.isOptional=()=>$.safeParse(void 0).success,$.isNullable=()=>$.safeParse(null).success,$.apply=(Q)=>Q($),$}),k8=N("_ZodString",($,J)=>{k2.init($,J),y.init($,J),$._zod.processJSONSchema=(W,X,Y)=>I5($,W,X,Y);let Q=$._zod.bag;$.format=Q.format??null,$.minLength=Q.minimum??null,$.maxLength=Q.maximum??null,$.regex=(...W)=>$.check(R4(...W)),$.includes=(...W)=>$.check(A4(...W)),$.startsWith=(...W)=>$.check(E4(...W)),$.endsWith=(...W)=>$.check(S4(...W)),$.min=(...W)=>$.check(x0(...W)),$.max=(...W)=>$.check(y2(...W)),$.length=(...W)=>$.check(g2(...W)),$.nonempty=(...W)=>$.check(x0(1,...W)),$.lowercase=(W)=>$.check(P4(W)),$.uppercase=(W)=>$.check(b4(W)),$.trim=()=>$.check(w4()),$.normalize=(...W)=>$.check(T4(...W)),$.toLowerCase=()=>$.check(v4()),$.toUpperCase=()=>$.check(f4()),$.slugify=()=>$.check(k4())}),l4=N("ZodString",($,J)=>{k2.init($,J),k8.init($,J),$.email=(Q)=>$.check(d$(h8,Q)),$.url=(Q)=>$.check(a3(q6,Q)),$.jwt=(Q)=>$.check(G8(a8,Q)),$.emoji=(Q)=>$.check(s$(y8,Q)),$.guid=(Q)=>$.check(s3(X6,Q)),$.uuid=(Q)=>$.check(r$(P0,Q)),$.uuidv4=(Q)=>$.check(i$(P0,Q)),$.uuidv6=(Q)=>$.check(o$(P0,Q)),$.uuidv7=(Q)=>$.check(n$(P0,Q)),$.nanoid=(Q)=>$.check(a$(g8,Q)),$.guid=(Q)=>$.check(s3(X6,Q)),$.cuid=(Q)=>$.check(t$(x8,Q)),$.cuid2=(Q)=>$.check(e$(u8,Q)),$.ulid=(Q)=>$.check($8(m8,Q)),$.base64=(Q)=>$.check(B8(o8,Q)),$.base64url=(Q)=>$.check(q8(n8,Q)),$.xid=(Q)=>$.check(J8(l8,Q)),$.ksuid=(Q)=>$.check(Q8(p8,Q)),$.ipv4=(Q)=>$.check(W8(c8,Q)),$.ipv6=(Q)=>$.check(X8(d8,Q)),$.cidrv4=(Q)=>$.check(Y8(r8,Q)),$.cidrv6=(Q)=>$.check(K8(i8,Q)),$.e164=(Q)=>$.check(U8(s8,Q)),$.datetime=(Q)=>$.check(KY(Q)),$.date=(Q)=>$.check(BY(Q)),$.time=(Q)=>$.check(qY(Q)),$.duration=(Q)=>$.check(UY(Q))});function v8($){return yX(l4,$)}var o=N("ZodStringFormat",($,J)=>{i.init($,J),k8.init($,J)}),h8=N("ZodEmail",($,J)=>{SW.init($,J),o.init($,J)});function rH($){return d$(h8,$)}var X6=N("ZodGUID",($,J)=>{AW.init($,J),o.init($,J)});function iH($){return s3(X6,$)}var P0=N("ZodUUID",($,J)=>{EW.init($,J),o.init($,J)});function oH($){return r$(P0,$)}function nH($){return i$(P0,$)}function sH($){return o$(P0,$)}function aH($){return n$(P0,$)}var q6=N("ZodURL",($,J)=>{CW.init($,J),o.init($,J)});function tH($){return a3(q6,$)}function eH($){return a3(q6,{protocol:/^https?$/,hostname:x1.domain,...w.normalizeParams($)})}var y8=N("ZodEmoji",($,J)=>{TW.init($,J),o.init($,J)});function $Z($){return s$(y8,$)}var g8=N("ZodNanoID",($,J)=>{wW.init($,J),o.init($,J)});function JZ($){return a$(g8,$)}var x8=N("ZodCUID",($,J)=>{vW.init($,J),o.init($,J)});function QZ($){return t$(x8,$)}var u8=N("ZodCUID2",($,J)=>{fW.init($,J),o.init($,J)});function WZ($){return e$(u8,$)}var m8=N("ZodULID",($,J)=>{kW.init($,J),o.init($,J)});function XZ($){return $8(m8,$)}var l8=N("ZodXID",($,J)=>{hW.init($,J),o.init($,J)});function YZ($){return J8(l8,$)}var p8=N("ZodKSUID",($,J)=>{yW.init($,J),o.init($,J)});function KZ($){return Q8(p8,$)}var c8=N("ZodIPv4",($,J)=>{lW.init($,J),o.init($,J)});function BZ($){return W8(c8,$)}var GY=N("ZodMAC",($,J)=>{cW.init($,J),o.init($,J)});function qZ($){return xX(GY,$)}var d8=N("ZodIPv6",($,J)=>{pW.init($,J),o.init($,J)});function UZ($){return X8(d8,$)}var r8=N("ZodCIDRv4",($,J)=>{dW.init($,J),o.init($,J)});function GZ($){return Y8(r8,$)}var i8=N("ZodCIDRv6",($,J)=>{rW.init($,J),o.init($,J)});function HZ($){return K8(i8,$)}var o8=N("ZodBase64",($,J)=>{oW.init($,J),o.init($,J)});function ZZ($){return B8(o8,$)}var n8=N("ZodBase64URL",($,J)=>{nW.init($,J),o.init($,J)});function LZ($){return q8(n8,$)}var s8=N("ZodE164",($,J)=>{sW.init($,J),o.init($,J)});function MZ($){return U8(s8,$)}var a8=N("ZodJWT",($,J)=>{aW.init($,J),o.init($,J)});function OZ($){return G8(a8,$)}var p4=N("ZodCustomStringFormat",($,J)=>{tW.init($,J),o.init($,J)});function NZ($,J,Q={}){return h4(p4,$,J,Q)}function FZ($){return h4(p4,"hostname",x1.hostname,$)}function VZ($){return h4(p4,"hex",x1.hex,$)}function _Z($,J){let Q=J?.enc??"hex",W=`${$}_${Q}`,X=x1[W];if(!X)throw Error(`Unrecognized hash format: ${W}`);return h4(p4,W,X,J)}var c4=N("ZodNumber",($,J)=>{x$.init($,J),y.init($,J),$._zod.processJSONSchema=(W,X,Y)=>j5($,W,X,Y),$.gt=(W,X)=>$.check(I0(W,X)),$.gte=(W,X)=>$.check(z1(W,X)),$.min=(W,X)=>$.check(z1(W,X)),$.lt=(W,X)=>$.check(z0(W,X)),$.lte=(W,X)=>$.check(u1(W,X)),$.max=(W,X)=>$.check(u1(W,X)),$.int=(W)=>$.check(f8(W)),$.safe=(W)=>$.check(f8(W)),$.positive=(W)=>$.check(I0(0,W)),$.nonnegative=(W)=>$.check(z1(0,W)),$.negative=(W)=>$.check(z0(0,W)),$.nonpositive=(W)=>$.check(u1(0,W)),$.multipleOf=(W,X)=>$.check(K2(W,X)),$.step=(W,X)=>$.check(K2(W,X)),$.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 HY($){return cX(c4,$)}var u2=N("ZodNumberFormat",($,J)=>{eW.init($,J),c4.init($,J)});function f8($){return rX(u2,$)}function DZ($){return iX(u2,$)}function zZ($){return oX(u2,$)}function IZ($){return nX(u2,$)}function jZ($){return sX(u2,$)}var d4=N("ZodBoolean",($,J)=>{d3.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>R5($,Q,W,X)});function ZY($){return aX(d4,$)}var r4=N("ZodBigInt",($,J)=>{u$.init($,J),y.init($,J),$._zod.processJSONSchema=(W,X,Y)=>P5($,W,X,Y),$.gte=(W,X)=>$.check(z1(W,X)),$.min=(W,X)=>$.check(z1(W,X)),$.gt=(W,X)=>$.check(I0(W,X)),$.gte=(W,X)=>$.check(z1(W,X)),$.min=(W,X)=>$.check(z1(W,X)),$.lt=(W,X)=>$.check(z0(W,X)),$.lte=(W,X)=>$.check(u1(W,X)),$.max=(W,X)=>$.check(u1(W,X)),$.positive=(W)=>$.check(I0(BigInt(0),W)),$.negative=(W)=>$.check(z0(BigInt(0),W)),$.nonpositive=(W)=>$.check(u1(BigInt(0),W)),$.nonnegative=(W)=>$.check(z1(BigInt(0),W)),$.multipleOf=(W,X)=>$.check(K2(W,X));let Q=$._zod.bag;$.minValue=Q.minimum??null,$.maxValue=Q.maximum??null,$.format=Q.format??null});function RZ($){return eX(r4,$)}var t8=N("ZodBigIntFormat",($,J)=>{$X.init($,J),r4.init($,J)});function PZ($){return J5(t8,$)}function bZ($){return Q5(t8,$)}var LY=N("ZodSymbol",($,J)=>{JX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>b5($,Q,W,X)});function AZ($){return W5(LY,$)}var MY=N("ZodUndefined",($,J)=>{QX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>E5($,Q,W,X)});function EZ($){return X5(MY,$)}var OY=N("ZodNull",($,J)=>{WX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>A5($,Q,W,X)});function NY($){return Y5(OY,$)}var FY=N("ZodAny",($,J)=>{XX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>T5($,Q,W,X)});function SZ(){return K5(FY)}var VY=N("ZodUnknown",($,J)=>{YX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>w5($,Q,W,X)});function x2(){return B5(VY)}var _Y=N("ZodNever",($,J)=>{KX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>C5($,Q,W,X)});function e8($){return q5(_Y,$)}var DY=N("ZodVoid",($,J)=>{BX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>S5($,Q,W,X)});function CZ($){return U5(DY,$)}var U6=N("ZodDate",($,J)=>{qX.init($,J),y.init($,J),$._zod.processJSONSchema=(W,X,Y)=>v5($,W,X,Y),$.min=(W,X)=>$.check(z1(W,X)),$.max=(W,X)=>$.check(u1(W,X));let Q=$._zod.bag;$.minDate=Q.minimum?new Date(Q.minimum):null,$.maxDate=Q.maximum?new Date(Q.maximum):null});function TZ($){return G5(U6,$)}var zY=N("ZodArray",($,J)=>{UX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>d5($,Q,W,X),$.element=J.element,$.min=(Q,W)=>$.check(x0(Q,W)),$.nonempty=(Q)=>$.check(x0(1,Q)),$.max=(Q,W)=>$.check(y2(Q,W)),$.length=(Q,W)=>$.check(g2(Q,W)),$.unwrap=()=>$.element});function G6($,J){return L5(zY,$,J)}function wZ($){let J=$._zod.def.shape;return JJ(Object.keys(J))}var H6=N("ZodObject",($,J)=>{GX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>r5($,Q,W,X),w.defineLazy($,"shape",()=>{return J.shape}),$.keyof=()=>JJ(Object.keys($._zod.def.shape)),$.catchall=(Q)=>$.clone({...$._zod.def,catchall:Q}),$.passthrough=()=>$.clone({...$._zod.def,catchall:x2()}),$.loose=()=>$.clone({...$._zod.def,catchall:x2()}),$.strict=()=>$.clone({...$._zod.def,catchall:e8()}),$.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(WJ,$,Q[0]),$.required=(...Q)=>w.required(XJ,$,Q[0])});function vZ($,J){let Q={type:"object",shape:$??{},...w.normalizeParams(J)};return new H6(Q)}function fZ($,J){return new H6({type:"object",shape:$,catchall:e8(),...w.normalizeParams(J)})}function kZ($,J){return new H6({type:"object",shape:$,catchall:x2(),...w.normalizeParams(J)})}var Z6=N("ZodUnion",($,J)=>{r3.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>_8($,Q,W,X),$.options=J.options});function $J($,J){return new Z6({type:"union",options:$,...w.normalizeParams(J)})}var IY=N("ZodXor",($,J)=>{Z6.init($,J),HX.init($,J),$._zod.processJSONSchema=(Q,W,X)=>_8($,Q,W,X),$.options=J.options});function hZ($,J){return new IY({type:"union",options:$,inclusive:!1,...w.normalizeParams(J)})}var jY=N("ZodDiscriminatedUnion",($,J)=>{Z6.init($,J),ZX.init($,J)});function yZ($,J,Q){return new jY({type:"union",options:J,discriminator:$,...w.normalizeParams(Q)})}var RY=N("ZodIntersection",($,J)=>{LX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>i5($,Q,W,X)});function PY($,J){return new RY({type:"intersection",left:$,right:J})}var bY=N("ZodTuple",($,J)=>{m$.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>o5($,Q,W,X),$.rest=(Q)=>$.clone({...$._zod.def,rest:Q})});function AY($,J,Q){let W=J instanceof f,X=W?Q:J;return new bY({type:"tuple",items:$,rest:W?J:null,...w.normalizeParams(X)})}var L6=N("ZodRecord",($,J)=>{MX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>n5($,Q,W,X),$.keyType=J.keyType,$.valueType=J.valueType});function EY($,J,Q){return new L6({type:"record",keyType:$,valueType:J,...w.normalizeParams(Q)})}function gZ($,J,Q){let W=N1($);return W._zod.values=void 0,new L6({type:"record",keyType:W,valueType:J,...w.normalizeParams(Q)})}function xZ($,J,Q){return new L6({type:"record",keyType:$,valueType:J,mode:"loose",...w.normalizeParams(Q)})}var SY=N("ZodMap",($,J)=>{OX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>p5($,Q,W,X),$.keyType=J.keyType,$.valueType=J.valueType,$.min=(...Q)=>$.check(j0(...Q)),$.nonempty=(Q)=>$.check(j0(1,Q)),$.max=(...Q)=>$.check(B2(...Q)),$.size=(...Q)=>$.check(h2(...Q))});function uZ($,J,Q){return new SY({type:"map",keyType:$,valueType:J,...w.normalizeParams(Q)})}var CY=N("ZodSet",($,J)=>{NX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>c5($,Q,W,X),$.min=(...Q)=>$.check(j0(...Q)),$.nonempty=(Q)=>$.check(j0(1,Q)),$.max=(...Q)=>$.check(B2(...Q)),$.size=(...Q)=>$.check(h2(...Q))});function mZ($,J){return new CY({type:"set",valueType:$,...w.normalizeParams(J)})}var m4=N("ZodEnum",($,J)=>{FX.init($,J),y.init($,J),$._zod.processJSONSchema=(W,X,Y)=>f5($,W,X,Y),$.enum=J.entries,$.options=Object.values(J.entries);let Q=new Set(Object.keys(J.entries));$.extract=(W,X)=>{let Y={};for(let K of W)if(Q.has(K))Y[K]=J.entries[K];else throw Error(`Key ${K} not found in enum`);return new m4({...J,checks:[],...w.normalizeParams(X),entries:Y})},$.exclude=(W,X)=>{let Y={...J.entries};for(let K of W)if(Q.has(K))delete Y[K];else throw Error(`Key ${K} not found in enum`);return new m4({...J,checks:[],...w.normalizeParams(X),entries:Y})}});function JJ($,J){let Q=Array.isArray($)?Object.fromEntries($.map((W)=>[W,W])):$;return new m4({type:"enum",entries:Q,...w.normalizeParams(J)})}function lZ($,J){return new m4({type:"enum",entries:$,...w.normalizeParams(J)})}var TY=N("ZodLiteral",($,J)=>{VX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>k5($,Q,W,X),$.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 pZ($,J){return new TY({type:"literal",values:Array.isArray($)?$:[$],...w.normalizeParams(J)})}var wY=N("ZodFile",($,J)=>{_X.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>g5($,Q,W,X),$.min=(Q,W)=>$.check(j0(Q,W)),$.max=(Q,W)=>$.check(B2(Q,W)),$.mime=(Q,W)=>$.check(C4(Array.isArray(Q)?Q:[Q],W))});function cZ($){return M5(wY,$)}var vY=N("ZodTransform",($,J)=>{DX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>l5($,Q,W,X),$._zod.parse=(Q,W)=>{if(W.direction==="backward")throw new w2($.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 X=J.transform(Q.value,Q);if(X instanceof Promise)return X.then((Y)=>{return Q.value=Y,Q});return Q.value=X,Q}});function QJ($){return new vY({type:"transform",transform:$})}var WJ=N("ZodOptional",($,J)=>{l$.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>D8($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function Y6($){return new WJ({type:"optional",innerType:$})}var fY=N("ZodExactOptional",($,J)=>{zX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>D8($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function kY($){return new fY({type:"optional",innerType:$})}var hY=N("ZodNullable",($,J)=>{IX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>s5($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function K6($){return new hY({type:"nullable",innerType:$})}function dZ($){return Y6(K6($))}var yY=N("ZodDefault",($,J)=>{jX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>t5($,Q,W,X),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});function gY($,J){return new yY({type:"default",innerType:$,get defaultValue(){return typeof J==="function"?J():w.shallowClone(J)}})}var xY=N("ZodPrefault",($,J)=>{RX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>e5($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function uY($,J){return new xY({type:"prefault",innerType:$,get defaultValue(){return typeof J==="function"?J():w.shallowClone(J)}})}var XJ=N("ZodNonOptional",($,J)=>{PX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>a5($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function mY($,J){return new XJ({type:"nonoptional",innerType:$,...w.normalizeParams(J)})}var lY=N("ZodSuccess",($,J)=>{bX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>x5($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function rZ($){return new lY({type:"success",innerType:$})}var pY=N("ZodCatch",($,J)=>{AX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>$Y($,Q,W,X),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});function cY($,J){return new pY({type:"catch",innerType:$,catchValue:typeof J==="function"?J:()=>J})}var dY=N("ZodNaN",($,J)=>{EX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>h5($,Q,W,X)});function iZ($){return Z5(dY,$)}var YJ=N("ZodPipe",($,J)=>{SX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>JY($,Q,W,X),$.in=J.in,$.out=J.out});function B6($,J){return new YJ({type:"pipe",in:$,out:J})}var KJ=N("ZodCodec",($,J)=>{YJ.init($,J),i3.init($,J)});function oZ($,J,Q){return new KJ({type:"pipe",in:$,out:J,transform:Q.decode,reverseTransform:Q.encode})}var rY=N("ZodReadonly",($,J)=>{CX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>QY($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function iY($){return new rY({type:"readonly",innerType:$})}var oY=N("ZodTemplateLiteral",($,J)=>{TX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>y5($,Q,W,X)});function nZ($,J){return new oY({type:"template_literal",parts:$,...w.normalizeParams(J)})}var nY=N("ZodLazy",($,J)=>{fX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>XY($,Q,W,X),$.unwrap=()=>$._zod.def.getter()});function sY($){return new nY({type:"lazy",getter:$})}var aY=N("ZodPromise",($,J)=>{vX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>WY($,Q,W,X),$.unwrap=()=>$._zod.def.innerType});function sZ($){return new aY({type:"promise",innerType:$})}var tY=N("ZodFunction",($,J)=>{wX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>m5($,Q,W,X)});function aZ($){return new tY({type:"function",input:Array.isArray($?.input)?AY($?.input):$?.input??G6(x2()),output:$?.output??x2()})}var M6=N("ZodCustom",($,J)=>{kX.init($,J),y.init($,J),$._zod.processJSONSchema=(Q,W,X)=>u5($,Q,W,X)});function tZ($){let J=new n({check:"custom"});return J._zod.check=$,J}function eZ($,J){return O5(M6,$??(()=>!0),J)}function eY($,J={}){return N5(M6,$,J)}function $K($){return F5($)}var $L=V5,JL=_5;function QL($,J={}){let Q=new M6({type:"custom",check:"custom",fn:(W)=>W instanceof $,abort:!0,...w.normalizeParams(J)});return Q._zod.bag.Class=$,Q._zod.check=(W)=>{if(!(W.value instanceof $))W.issues.push({code:"invalid_type",expected:$.name,input:W.value,inst:Q,path:[...Q._zod.def.path??[]]})},Q}var WL=(...$)=>D5({Codec:KJ,Boolean:d4,String:l4},...$);function XL($){let J=sY(()=>{return $J([v8($),HY(),ZY(),NY(),G6(J),EY(v8(),J)])});return J}function YL($,J){return B6(QJ($),J)}var KL={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 BL($){Y1({customError:$})}function qL(){return Y1().customError}var BJ;(function($){})(BJ||(BJ={}));var qb=()=>{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(X){return $[X]??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"},W={nan:"NaN"};return(X)=>{switch(X.code){case"invalid_type":{let Y=W[X.expected]??X.expected,K=C7(X.input),B=W[K]??K;return`Invalid input: expected ${Y}, received ${B}`}case"invalid_value":if(X.values.length===1)return`Invalid input: expected ${F$(X.values[0])}`;return`Invalid option: expected one of ${M$(X.values,"|")}`;case"too_big":{let Y=X.inclusive?"<=":"<",K=J(X.origin);if(K)return`Too big: expected ${X.origin??"value"} to have ${Y}${X.maximum.toString()} ${K.unit??"elements"}`;return`Too big: expected ${X.origin??"value"} to be ${Y}${X.maximum.toString()}`}case"too_small":{let Y=X.inclusive?">=":">",K=J(X.origin);if(K)return`Too small: expected ${X.origin} to have ${Y}${X.minimum.toString()} ${K.unit}`;return`Too small: expected ${X.origin} to be ${Y}${X.minimum.toString()}`}case"invalid_format":{let Y=X;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]??X.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${X.divisor}`;case"unrecognized_keys":return`Unrecognized key${X.keys.length>1?"s":""}: ${M$(X.keys,", ")}`;case"invalid_key":return`Invalid key in ${X.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${X.origin}`;default:return"Invalid input"}}};function JK(){return{localeError:qb()}}var QK=()=>{throw Error("JSON Schema conversion is not bundled into this plugin artifact")};var qJ={};U2(qJ,{string:()=>Ub,number:()=>Gb,date:()=>Lb,boolean:()=>Hb,bigint:()=>Zb});function Ub($){return gX(l4,$)}function Gb($){return dX(c4,$)}function Hb($){return tX(d4,$)}function Zb($){return $5(r4,$)}function Lb($){return H5(U6,$)}Y1(JK());var Mb=UJ;var UL=Object.freeze(["hard_stop","use_alternative","scope_down","manual_only","stop_and_explain"]);var O6=64,GL="Rule config exceeds CC Safety Net's safe source limit.";var zh=Object.freeze({maxSources:64,concurrency:4,maxRequests:131,maxResponseBytes:67108864});var XK=[{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"}],GJ={id:"secret.pattern.env-variant",category:"Pattern",label:".env.*",description:"Blocks environment-specific .env variants."},Ob=[".bak",".backup",".copy",".disabled",".old",".orig",".save",".tmp"],Nb=[{idSlug:"kube-config",label:"~/.kube/config",directoryParts:[".kube"],basename:"config"},{idSlug:"docker-config",label:"~/.docker/config.json",directoryParts:[".docker"],basename:"config.json"}],YK=[{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"]},...Nb.flatMap(($)=>Ob.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 HJ=[{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"]}],HL=[{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"}],Fb=[".bak",".backup",".copy",".disabled",".key",".old",".orig",".pem",".save",".tmp"],KK=HL.map(($)=>({id:`secret.variant.${$.slug}.separator`,category:"Variant",label:`${$.label}-* / ${$.label}_*`,description:`Blocks ${$.label} variants with dash or underscore suffixes.`,prefix:$.prefix})),BK=HL.flatMap(($)=>Fb.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}))),N6={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)$/},qK=["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:$})),UK=[{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?$/}],ZL=[...XK,GJ,...YK,...KK,...BK,N6,...qK,...UK,...HJ].map(($)=>({id:$.id,category:$.category,label:$.label,...$.category==="Coding CLI config"?{defaultOff:!0}:{},..."paths"in $?{paths:$.paths}:{description:$.description}})),LL=new Set(HJ.flatMap(($)=>$.category==="Coding CLI config"?[$.id]:[])),Vb=ZL.map(($)=>$.id),ZJ=new Set(Vb);var kh=_b(import.meta.url),ML,Db=Array(O6+1).fill("over-limit"),OL=/^[^/]+\/[^/]+$/,zb=/^sha256:[a-f0-9]{64}$/,LJ=`must be an integer between ${_J} and ${DJ}`,Ib=["version","rules","overrides","transparent_wrappers"],jb=["version","safety","workflow","destructive_command_protection","secret_protection","audit"];function NL($){if(!n1($)||!Array.isArray($.rules)||$.rules.length<=O6)return $;return{$schema:$.$schema,version:$.version,rules:Db,overrides:$.overrides,transparent_wrappers:$.transparent_wrappers}}function Rb(){let $=WK,J=(_)=>{let R=$.superRefine(_);return R._zod.def.when=()=>!0,R},Q=$.enum(UL),W=$.union([$.literal("off"),$.looseObject({reason:$.string({error:"required non-empty string"}).min(1,"required non-empty string").max(a2,`must be at most ${a2} 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."),X=$.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(F2,"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(X,{error:"must be an array of rulebook source strings"}).max(O6,GL).default([]).describe("Rulebook source strings such as project-rules or owner/repo#main/team-rules"),overrides:$.record($.string().meta({pattern:OL.source}),W).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<=O6){let S=new Set;_.rules.forEach((C,g)=>{if(typeof C!=="string"||C==="")return;if(C.trim()===""){R.addIssue({code:"custom",message:"must be a non-empty rulebook source string",path:["rules",g]});return}let x=n4(C);if(x){R.addIssue({code:"custom",message:x,path:["rules",g]});return}if(S.has(C)){R.addIssue({code:"custom",message:`duplicate rulebook source "${C}"`,path:["rules",g]});return}S.add(C)})}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,C)=>{if(typeof S!=="string"||!F2.test(S))return;if(b.has(S)){R.addIssue({code:"custom",message:`duplicate command "${S}"`,path:["transparent_wrappers",C]});return}if(IU(S)){R.addIssue({code:"custom",message:`reserved command "${S}" cannot be a wrapper`,path:["transparent_wrappers",C]});return}b.add(S)})},q=$.preprocess(NL,K.check($.superRefine(B))),U=$.preprocess(NL,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=M2();R.forEach((C,g)=>{if(typeof C!=="string")return;let x=_(C,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(ZJ,"secret protection").optional(),deny_paths:L(h9).optional(),allow_paths:L(y9).optional()}).optional(),audit:$.strictObject({retention_days:$.number({error:LJ}).int(LJ).min(_J,LJ).max(DJ,LJ).optional().describe("Days of audit log history to keep before the sweep deletes it")}).optional()}),M=(_)=>{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 ${a2} characters`,C=$.looseObject({name:$.string({error:"required string"}).regex(q0,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(F2,R(b,"required string matching command pattern")),subcommand:$.string({error:R("must be a string if provided","must match command pattern")}).regex(F2,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<=a2,{error:R(`must be at most ${a2} characters`,S)}),intent:Q.optional()},{error:"must be an object"});return $.array(C,{error:R("must be an array","required array")}).check(J((g,x)=>{if(!Array.isArray(g))return;let d=new Set;g.forEach((V1,T)=>{let m=n1(V1)?V1.name:void 0;if(typeof m!=="string")return;if(d.has(m.toLowerCase())){x.addIssue({code:"custom",message:`duplicate rule name "${m}"`,path:[T,"name"]});return}d.add(m.toLowerCase())})}))},O=$.looseObject({version:$.literal(1),rules:M("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(q0,"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(F2,"must match command pattern"),{error:"required array"}).check(J((_,R)=>{if(!Array.isArray(_))return;let b=new Set;_.forEach((S,C)=>{if(typeof S!=="string"||!F2.test(S))return;if(b.has(S)){R.addIssue({code:"custom",message:`duplicate command "${S}"`,path:[C]});return}b.add(S)})})),rules:M("rulebook"),tests:$.array(F,{error:"must be an array if provided"}).optional()}).check(J((_,R)=>{if(!n1(_))return;let b=new Set(GK(_));if(Array.isArray(_.tests)){let C=new Set(_.tests.flatMap((g)=>n1(g)&&g.expect==="blocked"&&typeof g.rule==="string"?[g.rule]:[]));for(let g of C){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((C)=>typeof C==="string"));_.rules.forEach((C,g)=>{let x=n1(C)?C.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(zb,"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:W,UserPolicySchema:Z,LegacyConfigSchema:O,RulebookSchema:P,RulesLockfileSchema:E}}function F6(){return ML??=Rb(),ML}function FL(){return F6().RulesConfigSchema}function Pb(){return F6().UserPolicySchema}function VL(){return F6().RulebookSchema}function _L(){return F6().RulesLockfileSchema}function GK($){let J=n1($)?$.rules:void 0;return(Array.isArray(J)?J:[]).flatMap((Q)=>{let W=n1(Q)?Q.name:void 0;return typeof W==="string"?[W]:[]})}function DL($){let J=F6().RulesConfigDiagnosticSchema.safeParse($);if(J.success)return{errors:[],sources:new Set(J.data.rules)};return{errors:i4(jL(J.error.issues,Ib)),sources:Sb($,J.error.issues)}}function zL($){let J=Pb().safeParse($);if(J.success)return[];return i4(jL(J.error.issues,jb)," ")}function i4($,J=": ",Q=" "){return[...new Set($.flatMap((W)=>IL(W,J,Q,[])))]}function IL($,J,Q,W){let X=[...W,...$.path],Y=Eb(X);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)=>IL(B,J,Q,X))}if(X.length===0)return[$.code==="invalid_type"?"Config must be an object":$.message];if(X.length===1&&($.code==="too_big"||$.code==="too_small")&&$.origin==="array")return[$.message];return[`${Y}${X.length===1?Q:J}${bb($)}`]}function bb($){if($.code==="invalid_value")return`must be ${Ab($.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 Ab($){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 Eb($){return $.map((J,Q)=>{if(typeof J==="number")return`[${J}]`;return Q===0?String(J):`.${String(J)}`}).join("")}function jL($,J){let Q=$.map((Y)=>Y.path[1]),W=[...new Set(Q.filter((Y)=>typeof Y==="string"))],X=(Y,K)=>[Y.path.length===0?-1:J.indexOf(String(Y.path[0])),typeof K==="number"?K:W.indexOf(String(K)),Y.code==="custom"?0:1];return $.map((Y,K)=>({issue:Y,rank:X(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 Sb($,J){let Q=n1($)?$.rules:void 0;if(!Array.isArray(Q))return new Set;if(J.some((X)=>X.path.length===1&&X.path[0]==="rules"))return new Set;let W=new Set(J.filter((X)=>X.path[0]==="rules"&&typeof X.path[1]==="number").map((X)=>X.path[1]));return new Set(Q.filter((X,Y)=>typeof X==="string"&&!W.has(Y)))}function n1($){return!!$&&typeof $==="object"&&!Array.isArray($)}function Cb($){return DL($)}function HK($){try{let J=G2(Tb($));if(J===null)return{config:null,errors:[]};if(!J.trim())return{config:null,errors:["Config file is empty"]};let Q=JSON.parse(J),W=Cb(Q);if(W.errors.length>0)return{config:null,errors:W.errors};let X=FL().parse(Q);return{config:{version:1,rules:X.rules??[],overrides:X.overrides??{},transparent_wrappers:X.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 Tb($){return typeof $==="string"?C6($):$}var hb=new Set(["standard","strict","paranoid"]),yb={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 ZK($){return kb(fb(H2($)),v6)}function AL($={}){let J=lb(ZK($));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 RL($){if(!b0($))return mb();let J=b0($.safety)?$.safety:{},Q=b0(J.overrides)?J.overrides:{},W=b0($.workflow)?$.workflow:{},X=b0($.destructive_command_protection)?$.destructive_command_protection:{},Y=b0($.secret_protection)?$.secret_protection:{};return{version:1,safety:{level:hb.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 W.worktree_mode==="boolean"?W.worktree_mode:!1},destructive_command_protection:{enabled:typeof X.enabled==="boolean"?X.enabled:!0,overrides:PL(X.overrides,s6),allow_paths:xb(X.allow_paths)},secret_protection:{enabled:typeof Y.enabled==="boolean"?Y.enabled:!0,overrides:PL(Y.overrides,ZJ),deny_paths:gb(Y.deny_paths),allow_paths:ub(Y.allow_paths)},audit:{retention_days:A6(b0($.audit)?$.audit.retention_days:void 0)}}}function PL($,J){if(!b0($))return{};return Object.fromEntries(Object.entries($).flatMap(([Q,W])=>J.has(Q)&&(W==="on"||W==="off")?[[Q,W]]:[]))}function gb($){if(!Array.isArray($))return[];let J=M2();return $.filter((Q)=>h9(Q,J)===null)}function xb($){if(!Array.isArray($))return[];let J=M2();return $.filter((Q)=>k9(Q,J)===null)}function ub($){if(!Array.isArray($))return[];let J=M2();return $.filter((Q)=>y9(Q,J)===null)}function b0($){return!!$&&typeof $==="object"&&!Array.isArray($)}function mb(){return structuredClone(yb)}function lb($){let J=pb();if(!wb($)){let Q=globalThis.__CC_SAFETY_NET_EMBEDDED_POLICY__;if(!b0(Q))return{policy:J,errors:[]};return{policy:bL(RL(Q)),errors:[]}}try{let Q=vb($,"utf-8");if(!Q.trim())return{policy:J,errors:[`${$}: Config file is empty`],fallback:"defaults"};let W=JSON.parse(Q),X=zL(W),Y=bL(RL(W));if(X.length>0)return{policy:Y,errors:X.map((K)=>`${$}: ${K}`),fallback:b0(W)?"salvaged":"defaults"};return{policy:Y,errors:[]}}catch(Q){let W=Q instanceof Error?Q.message:String(Q);return{policy:J,errors:[`${$}: ${Q instanceof SyntaxError?"Invalid JSON":W}`],fallback:"defaults"}}}function EL($){let J=Object.entries($),Q=new Set(J.flatMap(([W,X])=>X==="on"?[W]:[]));return new Set([...[...LL].filter((W)=>!Q.has(W)),...J.flatMap(([W,X])=>X==="off"?[W]:[])])}function pb(){return{safety:{},worktreeMode:!1,destructiveCommandProtectionEnabled:!0,destructiveCommandRuleOverrides:{},destructiveCommandAllowPaths:[],secretProtection:{enabled:!0,disabledRules:EL({}),denyPaths:[],allowPaths:[]}}}function bL($){return{safety:cb($.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:EL($.secret_protection.overrides),denyPaths:$.secret_protection.deny_paths,allowPaths:$.secret_protection.allow_paths}}}function cb($){let J={...$.overrides.fail_closed!==void 0?{failClosed:$.overrides.fail_closed}:{},...$.overrides.paranoid_rm!==void 0?{paranoidRm:$.overrides.paranoid_rm}:{},...$.overrides.paranoid_interpreters!==void 0?{paranoidInterpreters:$.overrides.paranoid_interpreters}:{}};return{level:$.level,...Object.keys(J).length>0?{overrides:J}:{}}}var wL="This path contains the protected policy config and you must not modify or delete it.",db=new Set(["[","cat","file","grep","head","jq","less","ls","more","rg","sed","stat","tail","test","wc"]);function vL($){let J=L2(T0()),Q=ab($.invocation.context.executionCwd,J);if($.invocation.route.kind==="patch")return SL($.paths,!1,$.invocation.context.executionCwd,Q,J);let W=f1($,"input-candidate");if($.invocation.route.kind==="command")return W?CL(W.shell,$.invocation.context.executionCwd,Q,J):null;if($.invocation.route.kind==="unknown"&&W){let X=CL(W.shell,$.invocation.context.executionCwd,Q,J);if(X)return X}return SL($.paths,$.invocation.route.kind==="grep"||$.invocation.route.kind==="glob"||E9($.invocation.toolName),$.invocation.context.executionCwd,Q,J)}function SL($,J,Q,W,X){if(J)return null;let Y=$.find((K)=>V6(K,Q,W,X));return Y?{target:Y}:null}function CL($,J,Q,W){let X=C9($,J,W,{findSegmentTarget:(Y,K)=>rb(Y,K,Q,W)?.target??null,isRedirectionTarget:(Y,K)=>V6(Y,K.cwd,Q,W),findMalformedTarget:(Y)=>sb(Y,J,Q,W)?.target??null,normalizeCwd:O1});return X?{target:X}:null}function rb($,J,Q,W){if(O3($))return null;let X=W.environment,Y=c1([...$],X),K=l(Y[0]??"").toLowerCase(),B=Y.slice(1);if(K==="rm"&&ib(B)){let q=ob(B).find((U)=>TL(k1(U,J.variables),J.cwd,Q,W));if(q)return{target:q}}if(K==="find"){if(c9(Y,1)||kQ(Y,X)){let U=(p9(p(Y))??p(["."])).find((G)=>{let H=k1(G.text,J.variables);return V6(H,J.cwd,Q,W)||TL(H,J.cwd,Q,W)})?.text;if(U)return{target:U}}}if(K==="mv"){let q=T9(B).sources.find((U)=>tb(k1(U,J.variables),J.cwd,Q,W));if(q)return{target:q}}if(nb($,X))return null;for(let q of $)for(let U of fL(q))if(V6(k1(U,J.variables),J.cwd,Q,W))return{target:U};return null}function ib($){return $.some((J)=>J==="--recursive"||J.startsWith("-")&&!J.startsWith("--")&&/[rR]/.test(J.slice(1)))}function ob($){let J=$.indexOf("--");if(J!==-1)return[...$.slice(0,J).filter((Q)=>!Q.startsWith("-")),...$.slice(J+1)];return $.filter((Q)=>!Q.startsWith("-"))}function nb($,J){let Q=c1([...$],J);if(Q.length===0)return!1;let W=l(Q[0]??"").toLowerCase();if(!db.has(W))return!1;if(W!=="sed")return!0;return!Q.slice(1).some((X)=>X.startsWith("-i")||X==="--in-place"||X.startsWith("--in-place="))}function sb($,J,Q,W){for(let X of $.split(/\s+/))for(let Y of fL(X))if(V6(Y,J,Q,W))return{target:Y};return null}function fL($){let J=$.trim().replace(/^['"]|['"]$/g,""),Q=J.indexOf("=");return Q===-1||Q===J.length-1?[J]:[J,J.slice(Q+1)]}function ab($,J){let Q=O1(ZK(),$,J),W=LK(Q),X=new Set;for(let Y=W;;Y=LK(Y))if(X.add(_6(Y)),LK(Y)===Y)break;return{file:_6(Q),directoryAndAncestors:X}}function V6($,J,Q,W){return _6(O1($,J,W))===Q.file}function TL($,J,Q,W){return Q.directoryAndAncestors.has(_6(O1($,J,W)))}function tb($,J,Q,W){let X=_6(O1($,J,W));return X===Q.file||Q.directoryAndAncestors.has(X)}function _6($){return process.platform==="win32"?$.toLowerCase():$}import{homedir as OK}from"os";import{isAbsolute as MJ,posix as eb,resolve as NJ,win32 as $A}from"path";import{fileURLToPath as JA}from"url";var dL="Access to a sensitive path is not allowed.",rL=new Set(["echo","printf"]),QA=new Set(["find"]),WA=new Set(["-exec","-execdir"]),XA=new Set([";","+"]),YA=new Set(["-delete","-exec","-execdir","-fls","-fprint","-fprint0","-fprintf","-ok","-okdir"]),KA=new Set(["-name","-iname","-path","-ipath","-wholename","-iwholename","-samefile"]),BA=new Set(["python","python2","python3","node","deno","bun","ruby","perl","php","rscript","osascript","bash","sh","zsh","dash","ksh"]),qA=new Set(["node","bun"]),UA=new Set(["bun","child_process","deno","dotenv","fs","subprocess"]),GA=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"]),iL=new Set(["-c","-e","-r","-E","--eval","--exec"]),HA=new Set(["src/cli/cc-safety-net.ts","dist/bin/cc-safety-net.js"]),kL=new Set(["cc-safety-net","ccsn"]),ZA=new Set(["bunx","npx","pnpx"]),LA=new Set(["bun","node"]),MA=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"])]]),OA=new Set(["grep","rg"]),hL="f",yL="file",NA="files",FA=new Set(["e","f"]),VA=new Set(["regexp","file"]),_A=new Set(["e","f","A","B","C","m"]),DA=new Set(["regexp","file","after-context","before-context","context","max-count"]),zA=new Set(["|","|&"]),MK="__CC_SAFETY_NET_PIPE_INPUT__",oL=new Set(["bash","sh","zsh","dash","ksh"]),IA=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 gL($,J,Q,W,X){let Y=a4();for(let K of $){if(UE(K,J,Q?.denyPaths??[],W,Y))return{target:K,ruleId:"secret.deny-path"};if(X&&!X.has(K))continue;let B=BE(K,J,Q,Y);if(B){if(!B.startsWith("secret.cli.")&&GE(K,J,Q?.allowPaths??[],W,Y))continue;return{target:K,ruleId:B}}}return null}function nL($,J,Q={}){let W=xL($),X=gL(W,$.invocation.context.executionCwd,J,$.invocation.context.configCwd),Y=X?.ruleId!=="secret.deny-path"&&Q.strict===!1?xL($,{refineJavaScriptInlineData:!0}):W,K=Y.length===W.length?X:gL(W,$.invocation.context.executionCwd,J,$.invocation.context.configCwd,new Set(Y));if(K?.ruleId!=="secret.deny-path"&&Q.strict===!1&&jA($))return null;return K}function jA($){if($.invocation.route.kind!=="command")return!1;let J=f1($,"input-candidate")??f1($,"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(L0(K.text))}let W=o4(Q);if(W.length===0)return!1;let X=l2(W[0]??"").toLowerCase(),Y=W.slice(1);if(X==="ls"||X==="stat")return!0;if(X==="test")return Y.length===2&&(Y[0]==="-e"||Y[0]==="-f");if(X!=="find")return!1;return!Y.some((K)=>YA.has(K))}function xL($,J={}){if($.invocation.route.kind==="command"){let W=f1($,"input-candidate");return W?I6(W.shell,$.store,J):[]}if($.invocation.route.kind!=="unknown")return[...$.paths];let Q=f1($,"input-candidate");return[...Q?I6(Q.shell,$.store,J):[],...$.paths]}function I6($,J,Q){if($.status==="structural-limit")throw new n0;if($.status==="unclosed-quote")return[];if($.status==="invalid")throw Error("Unable to parse command for secret protection");let W=[...$.assignmentFallbacks,...pA(L0($.source),J,Q)],X=[],Y=null;for(let K of $.entries){if(K.kind==="operator"){if(!K.boundary)continue;if(X.length>0){if(W.push(...OJ(X,J,Q)),Y!==null)W.push(...mL(Y,X,J,Q));Y=zA.has(K.operator)?X:null,X=[]}else Y=null;continue}if(K.kind==="redirection"){let B=K.target?L0(K.target):void 0;if(B&&K.targetOrder==="legacy-segment")X.push(B);else if(B)W.push(B);continue}X.push(L0(K.text))}if(X.length>0){if(W.push(...OJ(X,J,Q)),Y!==null)W.push(...mL(Y,X,J,Q))}return W}function OJ($,J,Q){let W=vA($),X=o4($);if(X.length===0)return W;let Y=X[0]??"",K=l2(Y).toLowerCase(),B=X.slice(1),q=PA(Y,K,B);if(q)return[...W,...q];if(rL.has(K))return W;if(OA.has(K))return[...W,...aA(B)];if(QA.has(K))return[...W,...fA(B,J,Q)];if(h1.has(K))return[...W,...B.flatMap((U)=>lL("awk",U)),...B.flatMap((U)=>hA(U,J,Q)),...B.flatMap(yA)];if(tL(K)){if(oL.has(K)){let U=nq(K,B);if(U!==null&&J.getShellSyntax(U).status==="structural-limit")throw new n0}return[...W,...kA(K,B,Q)]}return[...W,...B.flatMap((U)=>lL(K,U))]}function RA($,J){if(kL.has($))return J[0]==="explain"?0:null;if(ZA.has($)){let Q=J[0]==="-y"||J[0]==="--yes"?1:0;return kL.has(J[Q]??"")&&J[Q+1]==="explain"?Q+1:null}if(LA.has($)){if(uL(J[0])&&J[1]==="explain")return 1;if($==="bun"&&J[0]==="run"&&uL(J[1])&&J[2]==="explain")return 2}return null}function PA($,J,Q){let W=RA(J,Q);if(W===null)return null;let X=[$,...Q.slice(0,W)],Y=Q.slice(W+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("--"))X.push(q);K++;continue}return X}return X}function uL($){let J=$?.replaceAll("\\","/");return[...HA].some((Q)=>J===Q||J?.endsWith(`/${Q}`))}function mL($,J,Q,W){if(CA(J,Q,W))return bA($);let X=TA(J);if(X===null)return[];return AA($).flatMap((Y)=>oL.has(X)?I6(Q.getShellSyntax(Y),Q,W):$M(Y))}function bA($){let J=o4($);if(J.length===0)return[];let Q=l2(J[0]??"").toLowerCase();if(!rL.has(Q))return[];return J.slice(1)}function AA($){let J=o4($);if(J.length===0)return[];let Q=l2(J[0]??"").toLowerCase(),W=J.slice(1);if(Q==="echo"){let X=W.findIndex((Y)=>!/^-[neE]+$/.test(Y));return[(X===-1?[]:W.slice(X)).join(" ")]}if(Q==="printf")return EA(W);return[]}function EA($){let J=$[0];if(J===void 0)return[];let Q=(J.match(/%%|%[bqs]/g)??[]).filter((X)=>X!=="%%").length;if(Q===0||$.length===1)return[sL(J)];let W=$.slice(1);return Array.from({length:Math.ceil(W.length/Q)},(X,Y)=>SA(J,W.slice(Y*Q,(Y+1)*Q)))}function SA($,J){let Q=0;return sL($.replace(/%%|%[bqs]/g,(W)=>{if(W==="%%")return"%";let X=J[Q]??"";return Q++,X}))}function sL($){return $.replace(/\\n/g,`
|
|
101
|
+
`).replace(/\\t/g,"\t").replace(/\\r/g,"\r")}function CA($,J,Q){let W=o4($);if(W.length===0||l2(W[0]??"").toLowerCase()!=="xargs")return!1;let X=A2(W),Y=W.slice(X.childStart);if(Y.length===0)return!1;if(X.replacementToken==="")return!1;let K=X.replacementToken,B=K===null?[...Y,MK]:Y.map((q)=>q.split(K).join(MK));return OJ(B,J,Q).some((q)=>q.includes(MK))}function TA($){let J=o4($);if(J.length===0)return null;let Q=l2(J[0]??"").toLowerCase();if(!tL(Q))return null;return wA(Q,J.slice(1))?Q:null}function wA($,J){let Q=aL($);for(let W=0;W<J.length;W++){let X=J[W];if(X===void 0)break;if(iL.has(X)||eL($,X)||/^--(?:eval|exec)=/.test(X))return!1;if(X==="-")return!0;if(X.startsWith("-")){if(Q==="python"&&X==="-m")return!1;if(IA.get(Q)?.has(X))W++;continue}return!1}return!0}function aL($){return/^python\d/.test($)?"python":$}function vA($){let J=[];for(let Q of $){if(WM(Q))continue;let W=/^[A-Za-z_][A-Za-z0-9_]*=(.*)$/.exec(Q);if(W===null)break;if(W[1]!==void 0&&W[1]!=="")J.push(W[1])}return J}function lL($,J){if(J==="--")return[];let Q=[],W=J.indexOf("=");if(W>0&&W<J.length-1)Q.push(J.slice(W+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 fA($,J,Q){let W=$.findIndex((Y)=>Y.startsWith("-")||Y==="("||Y==="!"||Y===";"),X=[...$.slice(0,W===-1?$.length:W)];for(let Y=0;Y<$.length;Y++){if(!WA.has($[Y]??""))continue;let K=$.slice(Y+1),B=K.findIndex((G)=>XA.has(G)),q=B===-1?K:K.slice(0,B),U=OJ(q,J,Q);if(X.push(...U.filter((G)=>G!=="{}")),!U.includes("{}"))continue;X.push(...$.slice(0,Y).flatMap((G,H,L)=>{if(!KA.has(G))return[];let Z=L[H+1];return Z===void 0?[]:[Z,Z.replace(/^\*+\//,"").replace(/\/\*+$/g,"").replace(/^\*+/,"").replace(/\*+$/g,"")]}))}return X}function tL($){return BA.has($)||/^python\d/.test($)}function kA($,J,Q){let W=[];for(let X=0;X<J.length;X++){let Y=J[X];if(Y===void 0)break;if(iL.has(Y)||eL($,Y)){let B=J[X+1];if(B!==void 0)W.push(...pL($,B,Q)),X++;continue}let K=/^--(?:eval|exec)=(.*)$/.exec(Y);if(K!==null&&K[1]!==void 0){W.push(...pL($,K[1],Q));continue}if(!Y.startsWith("-"))W.push(Y)}return W}function eL($,J){if(!J.startsWith("-")||J.startsWith("--")||J.length<=2)return!1;return MA.get(J[J.length-1]??"")?.has(aL($))??!1}function hA($,J,Q){if(!$.includes("system"))return[];return TQ($)?.commands.flatMap((W)=>I6(J.getShellSyntax(W),J,Q))??[]}function yA($){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 $M($){let J=Array.from($.matchAll(/(['"`])((?:\\.|(?!\1).)*)\1/g)).map((W)=>W[2]).filter((W)=>W!==void 0&&W!==""),Q=($.match(/[\w./~@+-]*[./~][\w./~@+-]*/g)??[]).filter((W)=>W!=="process.versions.sqlite"||J.some((X)=>X.includes(W)));return[...J,...J.flatMap(JM),...Q]}function pL($,J,Q){let W=$M(J);if(!Q.refineJavaScriptInlineData||!qA.has($)||W.length===0)return W;let X=gA(J);return X!==null&&!uA(X)?[]:W}function gA($){let J=$.split("");for(let Q=0;Q<$.length;Q++){let W=$[Q];if(W!=="'"&&W!=='"'&&W!=="`")continue;if(W==="`"&&xA($,Q))return null;J[Q]=" ";let X=!1;for(let Y=Q+1;Y<$.length;Y++){let K=$[Y];if(J[Y]=" ",K==="\\"){if(Y++,Y<$.length)J[Y]=" ";continue}if(W==="`"&&K==="$"&&$[Y+1]==="{")return null;if(W!=="`"&&(K===`
|
|
102
|
+
`||K==="\r"))return null;if(K!==W)continue;Q=Y,X=!0;break}if(!X)return null}return J.join("")}function xA($,J){for(let Q=J-1;Q>=0;Q--){let W=$[Q];if(!W||/\s/.test(W))continue;return/[\w$\])]/.test(W)}return!1}function uA($){for(let J of $.matchAll(/[A-Za-z_$][A-Za-z0-9_$]*/g)){let Q=J[0],W=J.index;if(UA.has(Q.toLowerCase()))return!0;let X=Q.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[_$\s]+/).map((Y)=>Y.toLowerCase());if(!X.some((Y)=>GA.has(Y)))continue;if(X.length>1)return!0;if(mA($,W)===".")return!0;if(lA($,W+Q.length)==="(")return!0}return!1}function mA($,J){for(let Q=J-1;Q>=0;Q--)if(!/\s/.test($[Q]??""))return $[Q];return}function lA($,J){for(let Q=J;Q<$.length;Q++)if(!/\s/.test($[Q]??""))return $[Q];return}function pA($,J,Q){return oA($).flatMap((W)=>{let X=J.getShellSyntax(W);if(X.status==="invalid")return[];return[...I6(X,J,Q),...cA(X)?dA(X):[]]})}function cA($){let J=$.entries;for(let Q=0;Q<J.length;Q++){let W=J[Q];if(W?.kind!=="word"||l2(L0(W.text)).toLowerCase()!=="base64")continue;for(let X=Q+1;X<J.length;X++){let Y=J[X];if(Y?.kind==="operator")break;if(Y?.kind!=="word")continue;let K=L0(Y.text);if(K==="--decode"||!K.startsWith("--")&&K.startsWith("-")&&/[dD]/.test(K))return!0}}return!1}function dA($){return $.entries.flatMap((J)=>J.kind==="word"?[L0(J.text)]:J.kind==="redirection"&&J.target?[L0(J.target)]:[]).flatMap(JM)}function JM($){let J=iA($);if(J===null)return[];let Q=Buffer.from(J,"base64").toString("utf8");if(Q===""||rA(Q))return[];return Buffer.from(Q,"utf8").toString("base64").replace(/=+$/g,"")===J.replace(/=+$/g,"")?[Q]:[]}function rA($){return Array.from($).some((J)=>{let Q=J.charCodeAt(0);return Q<32||Q===127})}function iA($){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 oA($){let J=[],Q={inSingle:!1,inDouble:!1,escaped:!1};for(let W=0;W<$.length;W++){let X=$[W];if(!X)break;if(H3(X,Q))continue;if(QM($,W,Q)){let Y=nA($,W+1);if(Y!==null)J.push(Y.body),W=Y.endIndex;continue}if(!Q.inSingle&&X==="`"){let Y=sA($,W);if(Y!==null)J.push(Y.body),W=Y.endIndex}}return J}function nA($,J){let Q={inSingle:!1,inDouble:!1,escaped:!1},W=1;for(let X=J+1;X<$.length;X++){let Y=$[X];if(!Y)break;if(H3(Y,Q))continue;if(QM($,X,Q)){W++,X++;continue}if(!Q.inSingle&&!Q.inDouble&&Y===")"){if(W--,W===0)return{body:$.slice(J+1,X),endIndex:X}}}return null}function sA($,J){let Q=!1;for(let W=J+1;W<$.length;W++){let X=$[W];if(!X)break;if(Q){Q=!1;continue}if(X==="\\"){Q=!0;continue}if(X==="`")return{body:$.slice(J+1,W),endIndex:W}}return null}function QM($,J,Q){return!Q.inSingle&&$[J]==="$"&&$[J+1]==="("&&$[J+2]!=="("}function aA($){let J=[],Q=[],W=!1,X=!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===NA)X=!0;if(VA.has(H))W=!0;if(L!==void 0){if(H===yL)J.push(L);continue}if(DA.has(H)){let Z=$[q+1];if(H===yL&&Z!==void 0)J.push(Z);q++}continue}if(U.startsWith("-")&&U.length>1){let H=U.slice(1),L="",Z="";for(let M=0;M<H.length;M++){let O=H[M]??"";if(FA.has(O))W=!0;if(_A.has(O)){L=O,Z=H.slice(M+1);break}}if(L!=="")if(Z.length>0){if(L===hL)J.push(Z)}else{let M=$[q+1];if(L===hL&&M!==void 0)J.push(M);q++}continue}Q.push(U)}let B=!W&&!X?Q.slice(1):Q;return[...J,...B]}function o4($){let J=$.findIndex((Q)=>!WM(Q)&&!/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(Q));return J===-1?[]:[...$.slice(J)]}function WM($){return $==="env"||$==="command"||$==="builtin"||$==="sudo"}var tA=new Set(["id_rsa.pub","id_ed25519.pub","id_ecdsa.pub"]),eA=".env.",$E=new Set([".env.example",".env.sample",".env.template",".env.defaults"]),JE=[".env.example.",".env.sample."];function QE($){let J;try{J=new URL($.trim())}catch{return!1}return J.protocol!=="file:"&&J.host!==""}function WE($){return $.length>0&&!/\s/.test($)}function XE($,J,Q){try{let W=j6($,J,Q);return W!==""&&m1.entryKind(W)!=="missing"}catch(W){if(W instanceof C1)throw W;return!1}}var YE=new Set(["node_modules","__pycache__"]),KE=[["vendor","bundle"],["vendor","cache"]];function BE($,J,Q,W){if(QE($))return null;let X=m0($,J,W);if(!X)return null;let Y=Q1(X.split("/").pop()??""),K=Q1(X),B=()=>WE(Y)||XE($,J,W);if($E.has(Y)||JE.some((H)=>Y.startsWith(H)))return null;let q=Q1(LE($,J,W));for(let H of YK){let L=`~/${H.suffixParts.join("/")}`;if((cL(K,L)||cL(q,L))&&u0(H.id,Q))return H.id}let U=qE(X,J,Q,W);if(U)return U;if(tA.has(Y))return null;for(let H of XK)if(Y===H.basename&&u0(H.id,Q))return H.id;if(Y.startsWith(eA)&&u0(GJ.id,Q)&&B())return GJ.id;for(let H of KK)if(Y.length>H.prefix.length&&Y.startsWith(H.prefix)){let L=Y.slice(H.prefix.length)[0];if((L==="-"||L==="_")&&u0(H.id,Q)&&B())return H.id}for(let H of BK)if(Y.length>H.prefix.length&&Y.startsWith(H.prefix)){if(Y.slice(H.prefix.length)===H.suffix&&u0(H.id,Q))return H.id}if(HE(K))return null;if(!Y.includes(".")&&N6.pattern.test(Y)&&u0(N6.id,Q))return N6.id;let G=ZE(Y,Q);if(G)return G;return null}function qE($,J,Q,W){return HJ.find((X)=>{if(!u0(X.id,Q))return!1;switch(X.id){case"secret.cli.claude-code":return J1($,W1(process.env.CLAUDE_CONFIG_DIR,"~/.claude",J,W),[".credentials.json"]);case"secret.cli.claude-code.config":{let Y=Q1($).split("/");return J1($,W1(process.env.CLAUDE_CONFIG_DIR,"~/.claude",J,W),["settings.json","settings.local.json"])||z6($,"~/.claude.json",J,W)||Y.at(-1)==="settings.local.json"&&Y.at(-2)===".claude"||Y.at(-1)===".mcp.json"}case"secret.cli.antigravity":return J1($,m0("~/.gemini/config",J,W),["hooks.json","mcp_config.json"]);case"secret.cli.codex":{let Y=W1(process.env.CODEX_HOME,"~/.codex",J,W);return J1($,Y,["auth.json",".credentials.json"])||D6($,Y,["secrets",".sandbox-secrets"])}case"secret.cli.codex.config":{let Y=W1(process.env.CODEX_HOME,"~/.codex",J,W),K=Q1($).split("/").at(-1)??"";return J1($,Y,["config.toml"])||K.endsWith(".config.toml")&&J1($,Y,[K])}case"secret.cli.gemini":return J1($,F1(W1(process.env.GEMINI_CLI_HOME,"~",J,W),".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(W1(process.env.ProgramData,"",J,W),"gemini-cli")]:[];return J1($,F1(W1(process.env.GEMINI_CLI_HOME,"~",J,W),".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,W):!1)||["/Library/Application Support/GeminiCli","/etc/gemini-cli",...K].some((B)=>J1($,m0(B,J,W),["settings.json"]))}case"secret.cli.copilot-cli":{let Y=W1(process.env.COPILOT_HOME,"~/.copilot",J,W);return J1($,Y,["config.json"])||D6($,Y,["mcp-oauth-config","mcp-secrets"])}case"secret.cli.copilot-cli.config":return J1($,W1(process.env.COPILOT_HOME,"~/.copilot",J,W),["mcp-config.json"]);case"secret.cli.kimi-code":{let Y=W1(process.env.KIMI_CODE_HOME,"~/.kimi-code",J,W),K=W1(process.env.KIMI_SHARE_DIR,"~/.kimi",J,W);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($,W1(process.env.KIMI_CODE_HOME,"~/.kimi-code",J,W),Y)||J1($,W1(process.env.KIMI_SHARE_DIR,"~/.kimi",J,W),[...Y,"config.json","config.json.bak"])}case"secret.cli.opencode":{let Y=F1(W1(process.env.XDG_DATA_HOME,"~/.local/share",J,W),"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,W))}case"secret.cli.opencode.config":{let Y=process.env.OPENCODE_CONFIG_DIR?W1(process.env.OPENCODE_CONFIG_DIR,"~/.config/opencode",J,W):F1(W1(process.env.XDG_CONFIG_HOME,"~/.config",J,W),"opencode"),K=process.env.ProgramData?[F1(W1(process.env.ProgramData,"",J,W),"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,W):!1)||["/Library/Application Support/opencode","/etc/opencode",...K].some((q)=>J1($,m0(q,J,W),B))}case"secret.cli.pi":return J1($,W1(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",J,W),["auth.json"]);case"secret.cli.pi.config":return J1($,W1(process.env.PI_CODING_AGENT_DIR,"~/.pi/agent",J,W),["models.json"]);case"secret.cli.amp":{let Y=m0("~",J,W);return[F1(W1(process.env.XDG_DATA_HOME,"~/.local/share",J,W),"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(W1(process.env.XDG_CONFIG_HOME,"~/.config",J,W),"amp"),F1(m0("~",J,W),".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,W):!1)}case"secret.cli.cursor":{let Y=F1(W1(process.env.XDG_CONFIG_HOME,"~/.config",J,W),"cursor"),K=F1(W1(process.env.CURSOR_DATA_DIR,"~/.cursor",J,W),"projects");return J1($,m0("~/.cursor",J,W),["auth.json"])||J1($,Y,["auth.json"])||Q1($).split("/").at(-1)==="mcp-auth.json"&&m2(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 W1($,J,Q,W){return m0($?.trim()?$:J,Q,W)}function J1($,J,Q){return Q.some((W)=>XM($,F1(J,W)))}function D6($,J,Q){return Q.some((W)=>m2(Q1($),Q1(F1(J,W))))}function z6($,J,Q,W){return XM($,m0(J,Q,W))}function XM($,J){return Q1($)===Q1(J)}function F1($,...J){return K0([$,...J].filter(Boolean).join("/"))}function UE($,J,Q,W,X){if(Q.length===0)return!1;let Y=Q1(j6($,J,X));return Q.some((K)=>m2(Y,Q1(j6(K,W,X))))}function GE($,J,Q,W,X){if(Q.length===0)return!1;let Y=Q1(j6($,J,X));if(!Y)return!1;let K=process.env.HOME??OK(),B=K?K0(a(K,m1,X)):"",q=Q1(B),U=process.env.CC_SAFETY_NET_HOME,G=Q1(U?K0(a(NJ(U),m1,X)):B&&K0(a(`${B}/.cc-safety-net`,m1,X)));if(G&&m2(Y,G))return!1;return Q.some((H)=>{let L=Q1(j6(H,W,X));if(!L)return!1;if(q&&(q===L||q.startsWith(L.endsWith("/")?L:`${L}/`)))return!1;return m2(Y,L)})}function HE($){let J=$.split("/");return J.some((Q)=>YE.has(Q))||KE.some(([Q,W])=>J.some((X,Y)=>X===Q&&J[Y+1]===W))}function ZE($,J){let Q=$.lastIndexOf("."),W=Q>0&&Q<$.length-1?$.slice(Q+1):"";if(W==="")return null;for(let X of qK)if(W===X.extension&&u0(X.id,J))return X.id;for(let X of UK)if(X.pattern.test(W)&&u0(X.id,J))return X.id;return null}function Q1($){return $.toLowerCase()}function u0($,J){if(!J?.disabledRules)return!0;if(Array.isArray(J.disabledRules))return!J.disabledRules.includes($);return!J.disabledRules.has($)}function m0($,J,Q){let{home:W,normalized:X}=NK($,Q);if(!X)return"";if(!W)return X;let Y=FK(X,W),K=MJ(Y)?Y:K0(NJ(J,Y)),B=K0(a(K,m1,Q));if(!m2(B,W)){if(MJ(Y))return B;return B===K?X:B}let q=B.slice(W.length);return q?`~${q}`:"~"}function cL($,J){return $===J||$.startsWith(`${J}/`)}function LE($,J,Q){let{home:W,normalized:X}=NK($,Q);if(!X||!W)return"";let Y=FK(X,W),K=eb.normalize(MJ(Y)?Y:K0(NJ(J,Y))),B=K0(process.env.HOME??OK()),q=(H)=>process.platform==="win32"?H.toLowerCase():H,U=[W,B].find((H)=>H!==""&&m2(q(K),q(H)));if(U===void 0)return"";let G=K.slice(U.length);return G?`~${G}`:"~"}function j6($,J,Q){let{home:W,normalized:X}=NK($,Q);if(!X)return"";let Y=W?FK(X,W):X;return K0(a(MJ(Y)?Y:NJ(J,Y),m1,Q))}function NK($,J){let Q=process.env.HOME??OK(),W=Q?K0(a(Q,m1,J)):"",X=K0(ME(L0($)));return{home:W,normalized:X}}function ME($){if(!$.trim().toLowerCase().startsWith("file:"))return $;try{return JA($)}catch{return $}}function FK($,J){if($==="~")return J;if($.startsWith("~/"))return F1(J,$.slice(2));return $}function OE($){if(process.platform==="win32")return!0;return $A.parse($).root.length>1}function K0($){let J=$.trim(),Q=(OE(J)?J.replace(/\\/g,"/"):J).replace(/\/{2,}/g,"/").replace(/^\.\//,"");if(Q==="/")return Q;return Q.replace(/\/+$/g,"")}function m2($,J){return $===J||$.startsWith(J.endsWith("/")?J:`${J}/`)}function l2($){return $.split(/[\\/]/).pop()?.replace(/\.exe$/i,"")??$}import{dirname as FJ}from"path";var YM="Rulebook exceeds CC Safety Net's safe validation limits.",KM="Additional rulebook validation errors were omitted.",B0=Object.freeze({maxAllowedCommands:1024,maxRules:1024,maxTests:2048,maxBlockArgsPerRule:1024,maxTotalBlockArgs:16384,maxStringCodeUnits:1048576,maxAggregateStringCodeUnits:4194304,maxFixtureCommandCodeUnits:131072,maxValidationErrors:64});function BM($){if(VK($.allowed_commands,B0.maxAllowedCommands)||VK($.rules,B0.maxRules)||VK($.tests,B0.maxTests))return!1;let{maxAggregateStringCodeUnits:J,maxTotalBlockArgs:Q}=B0,W=(X,Y=!1)=>{if(typeof X!=="string")return!0;if(X.length>B0.maxStringCodeUnits||Y&&X.length>B0.maxFixtureCommandCodeUnits||X.length>J)return!1;return J-=X.length,!0};if(!W($.name)||!W($.version)||!W($.description)||!W($.author)||!W($.migrated_from))return!1;if(Array.isArray($.allowed_commands)){for(let X of $.allowed_commands)if(!W(X))return!1}if(Array.isArray($.rules))for(let X of $.rules){if(!X||typeof X!=="object")continue;let Y=X;if(!W(Y.name)||!W(Y.command)||!W(Y.subcommand)||!W(Y.reason)||!W(Y.intent))return!1;if(!Array.isArray(Y.block_args))continue;if(Y.block_args.length>B0.maxBlockArgsPerRule||Y.block_args.length>Q)return!1;Q-=Y.block_args.length;for(let K of Y.block_args)if(!W(K))return!1}if(Array.isArray($.tests))for(let X of $.tests){if(!X||typeof X!=="object")continue;let Y=X;if(!W(Y.command,!0)||!W(Y.expect)||!W(Y.rule))return!1}return!0}function VK($,J){return Array.isArray($)&&$.length>J}function NE($){if(!FE($))return{errors:["Rulebook must be an object"],ruleNames:new Set};if(!BM($))return{errors:[YM],ruleNames:new Set};let J=VL().safeParse($),Q=[...$.rulebook_version===1?[]:["rulebook_version must be 1"],...J.success?[]:i4(J.error.issues,": ",": ")];return{errors:Q.length>B0.maxValidationErrors?[...Q.slice(0,B0.maxValidationErrors),KM]:Q,ruleNames:new Set(GK($).map((W)=>W.toLowerCase()))}}function _K($){let J=NE($);if(J.errors.length>0)throw Error(J.errors.join("; "));return $}function FE($){return!!$&&typeof $==="object"&&!Array.isArray($)}function DK($){if(w6($.spec))return DE($);return _E($)}function _E($){if(!q0.test($.spec))return`Local rulebook sources must be bare names matching ${q0}: ${$.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 DE($){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 qM($){let J=typeof $==="string"?$:$.path;try{let Q=G2(typeof $==="string"?C6($):$);if(Q===null)return{lock:null,errors:[]};let W=JSON.parse(Q);if(!W||typeof W!=="object")return{lock:null,errors:[`malformed lockfile ${J}: must be an object`]};let X=W;if(X.version!==1||!Array.isArray(X.rulebooks))return{lock:null,errors:[`malformed lockfile ${J}`]};let Y=_L().safeParse(X),K=X.rulebooks.flatMap((q,U)=>{let G=Y.success?[]:Y.error.issues.filter((L)=>L.path[1]===U);if(G.length>0)return i4(G).map((L)=>`${J}: ${L}`);let H=DK(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 zE}from"crypto";var Wg=Object.freeze({timeoutMs:15000,metadataBytes:524288,commitBytes:262144,treeBytes:16777216,rawBytes:4194304});function UM($){return`sha256:${zE("sha256").update($).digest("hex")}`}function MM($={}){let J=gK($),Q=!1;try{Q=CK(J.userConfigTarget,J.projectConfigTarget)}catch(L){if(L instanceof K1)return PE(J,L.message);throw L}let W=HK(J.userConfigTarget),X=Q?{config:null,errors:[]}:HK(J.projectConfigTarget),Y=LM(J.userConfigPath,W.errors),K=LM(J.projectConfigPath,X.errors),B=new Set,q=W.config?GM(W.config,J.userLockPath,FJ(J.userConfigPath),$,"user",J.userScope,B):R6(),U=X.config?GM(X.config,J.projectLockPath,FJ(J.projectConfigPath),$,"project",J.projectScope,B):R6(),G=W.config?.overrides??{},H=X.config?.overrides??{};return{rules:[...HM(q.rules,G),...HM(U.rules,H)],transparent_wrappers:jE(W.config,X.config),rulebooks:[...q.rulebooks,...U.rulebooks],errors:[...Y,...K,...q.errors,...U.errors],warnings:[...q.warnings,...U.warnings,...q.canValidateOverrides?ZM(G,q.knownRuleIds,J.userConfigPath):[],...q.canValidateOverrides?RE(H,q.knownRuleIds,J.projectConfigPath):[],...U.canValidateOverrides?ZM(H,U.knownRuleIds,J.projectConfigPath):[]],userConfig:W.config??void 0,projectConfig:X.config??void 0,...J}}function GM($,J,Q,W,X,Y=l0(FJ(FJ(Q)),X==="user"?"user policy":"project policy"),K=new Set){let B;try{B=E0(Y,J)}catch(V){if(V instanceof K1)return{...R6(),errors:[V.message],canValidateOverrides:!1};throw V}let q=qM(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 ${d0}`],canValidateOverrides:!1};let G=U?.rulebooks??[],H=new Map(G.map((V)=>[V.spec,V])),L=[],Z=[],M=$.rules.flatMap((V)=>{let F=H.get(V);if(!F)return L.push(`missing lock entry for ${V}; run ${d0}`),[];let P=IE(F,Q,W,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 ${d0}`),[];return K.add(I.name),[{rules:I.rules.map((A)=>({...A,name:`${I.name}/${A.name}`})),rulebook:{source:X,spec:F.spec,name:I.name,version:I.version,rules:I.rules.map((A)=>`${I.name}/${A.name}`)}}]}),O=M.flatMap((V)=>V.rules);return{rules:O,rulebooks:M.map((V)=>V.rulebook),entries:G,knownRuleIds:new Set(O.map((V)=>V.name)),errors:L,warnings:Z,canValidateOverrides:L.length===0}}function IE($,J,Q,W){let X=bJ($,AJ(J,Q)),Y;try{Y=G2(E0(W,X))}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 ${d0}`]};if(UM(Y)!==$.digest)return{rulebook:null,errors:[`cache digest mismatch for ${$.spec}; run ${d0}`]};let K;try{K=JSON.parse(Y)}catch{return{rulebook:null,errors:[`invalid cached rulebook for ${$.spec}`]}}try{_K(K)}catch(B){return{rulebook:null,errors:[`invalid cached rulebook for ${$.spec}: ${B instanceof Error?B.message:"invalid rulebook"}`]}}return{rulebook:K,errors:[]}}function jE($,J){return[...new Set([...$?.transparent_wrappers??[],...J?.transparent_wrappers??[]])]}function HM($,J){return $.flatMap((Q)=>{let W=J[Q.name];if(W==="off")return[];if(W&&typeof W==="object")return[{...Q,intent:W.intent??Q.intent,reason:W.reason}];return[Q]})}function ZM($,J,Q){return Object.keys($).filter((W)=>!J.has(W)).map((W)=>`unknown override key "${W}" in ${Q}; only that override is ignored and other overrides and rules keep their configured state; correct or remove it in that file`)}function RE($,J,Q){return Object.keys($).filter((W)=>J.has(W)).map((W)=>`project override cannot target user-scoped rule "${W}" in ${Q}; only that override is ignored and the rule keeps its user-configured state; remove it from that file`)}function LM($,J){return J.map((Q)=>Q.startsWith("Unable to access ")?Q:`${$}: ${Q}`)}function PE($,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 OM($={}){let J=MM($),Q=AL($),W={rules:J.rules,transparentWrappers:J.transparent_wrappers,safety: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??[]}},X={...J.userConfig?.overrides??{},...J.projectConfig?.overrides??{}},Y=Object.freeze(Object.fromEntries(W.rules.map((K)=>{let B=J.rulebooks.find((U)=>U.rules.includes(K.name)),q=X[K.name];return[K.name,Object.freeze({id:K.name,...B?{rulebook:Object.freeze({name:B.name,version:B.version}),...SE(B.spec)?{source:B.spec}:{}}:{},...q&&typeof q==="object"?{override:Object.freeze({type:"reason",reason:q.reason})}:{}})]})));return CE(W,bE(J,Q),Y)}function bE($,J){let Q=EE(J);if($.errors.length===0&&$.warnings.length===0&&!Q)return;return{diagnostics:[...$.errors,...$.warnings,...J.errors],reason:TE($.errors.length>0?AE($.errors):void 0,$.warnings.length>0?zK($.warnings.join("; ")):void 0,Q)}}function AE($){return`${zK($.join("; "))} Those rule sources are not active; every other rule and all built-in protections still apply`}function EE($){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 SE($){return/^(?:[A-Za-z0-9_.-]+$|https:\/\/github\.com\/|github:|gh:|[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+(?:#|$))/.test($)}function CE($,J,Q=Object.freeze({})){let W=NM(structuredClone($));if(!J)return Object.freeze({state:"ready",policy:W,diagnostics:Object.freeze([]),ruleMetadata:Q});return Object.freeze({state:"degraded",policy:W,diagnostics:Object.freeze([...J.diagnostics]),reason:J.reason,ruleMetadata:Q})}function NM($){if(typeof $!=="object"||$===null)return $;for(let J of Object.values($))NM(J);return Object.freeze($)}function TE(...$){return zK($.filter((J)=>!!J).join("; "))}function zK($){return/[.!?]$/.test($)?$:`${$}.`}class q2 extends Error{stage;evaluation;name="GuardEvaluationError";constructor($,J,Q){super(`CC Safety Net ${$} dependency failed`,{cause:Q});this.stage=$;this.evaluation=J}}var wE={findPolicyMutation:vL,findGitMetadataMutation:$U,resolveGitMetadata:zQ,loadPolicySnapshot:OM,findSensitiveTarget:nL,analyzeCommand:HH,getModes:V7};function FM($,J={}){let Q={...wE,...J.dependencies},W=kE($),X=P6($)?$.command:W,Y=p2("policy-protection",X,()=>S9($,J.factParserDependencies)),K=f1(Y,"declared-command");if(P6($)&&$.command?.trim()&&K?.program.status==="limited")return{stage:"command-analysis",decision:{kind:"deny",reason:C0,intent:"stop_and_explain",evidence:[{kind:"command",command:$.command,segment:$.command}]}};if(f1(Y,"input-candidate")?.program.status==="limited")return{stage:"command-validation",decision:{kind:"deny",reason:$B,intent:"stop_and_explain",evidence:[]}};let B=p2("policy-protection",X,()=>Q.resolveGitMetadata($.context.executionCwd)),q=p2("policy-protection",X,()=>Q.findPolicyMutation(Y));if(q){let V=X??q.target;return{stage:"policy-protection",decision:{kind:"deny",reason:wL,intent:"hard_stop",evidence:[{kind:"command",command:V,segment:q.target},{kind:"path",target:q.target}]}}}let U=p2("policy-protection",X,()=>Q.findGitMetadataMutation(Y,B));if(U){let V=X??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=p2("config-load",X,()=>Q.loadPolicySnapshot({...J.policyOptions,cwd:$.context.configCwd})),H=G.policy,L=Q.getModes(H),Z={level:L.effectiveLevel,...vE(G)},M=H.secretProtection.enabled===!1?null:p2("secret-protection",X,()=>Q.findSensitiveTarget(Y,H.secretProtection,{strict:P6($)?L.strict:void 0}));if(M){let V=X??M.target;return{stage:"secret-protection",...Z,decision:{kind:"deny",reason:dL,intent:"hard_stop",ruleId:M.ruleId,evidence:[{kind:"command",command:V,segment:M.target},{kind:"path",target:M.target}]}}}if(!P6($))return{stage:"non-command",...Z,decision:{kind:"allow"}};if(!$.command||$.command.trim()==="")return{...IK("command-validation",X),...Z};let O=p2("command-analysis",X,()=>{return Q.analyzeCommand($.command,{cwd:$.context.executionCwd,shell:$.route.shell,policySnapshot:G,environment:T0(),protectedGitMetadata:B,effectiveCapabilities:L.capabilities,strict:L.strict,paranoidRm:L.paranoidRm,paranoidInterpreters:L.paranoidInterpreters,worktreeMode:L.worktreeMode},fE(Y),Y.store)});if(O)return{stage:"command-analysis",...Z,decision:O};return{stage:"command-analysis",...Z,decision:{kind:"allow"}}}function vE($){if($.state==="ready")return{};return{configFallback:{reason:$.reason}}}function fE($){return f1($,"declared-command")?.program}function kE($){try{return X4($.input)}catch(J){let Q=P6($)?$.command:void 0;throw new q2("policy-protection",IK("policy-protection",J instanceof k0?void 0:Q),J)}}function p2($,J,Q){try{return Q()}catch(W){throw new q2($,IK($,W instanceof k0?void 0:J),W)}}function IK($,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 _M($,J){try{let Q=FM($,J.guard);return VM($,Q,J),Q}catch(Q){if(!(Q instanceof q2))throw Q;throw VM($,Q.evaluation,J,!(Q.cause instanceof k0),{stage:Q.stage,errorCode:hE(Q.cause)}),Q}}function VM($,J,Q,W=!0,X){nK(oK($,J,Q.guard?.auditAllowed??!1,W,X),Q.audit.getSessionId,{agent:Q.audit.agent,shape:Q.audit.shape,homeDir:Q.audit.homeDir})}function hE($){if($ instanceof C1)return"path-canonicalization-limit";if($ instanceof k0)return"tool-input-limit";if($ instanceof n0)return"structural-shell-syntax-limit";return"unexpected-error"}var zM=gE();function gE($={}){return(J,Q)=>xE(J,Q,$)}function xE($,J,Q){let W=uE($,J),X=()=>pE($);if("malformed"in W)return sK(W.denial,X,{agent:"amp",toolName:W.denial.toolName,cwd:W.cwd}),IM(W.denial);try{let Y=_M(W,{guard:{auditAllowed:N7(),dependencies:Q.guardDependencies},audit:{agent:"amp",getSessionId:X}});return DM(Y,Y.stage!=="config-state")}catch(Y){if(!(Y instanceof q2))throw Y;if(J2(H1.debug))console.error(`CC Safety Net debug: amp tool.call analysis failed: ${KB(Y.cause)}`);return DM(Y.evaluation,W.route.kind==="command")}}function uE($,J){if(!$||typeof $!=="object")return c2(null);let Q=$;if(typeof Q.tool!=="string"||Q.tool.trim()==="")return c2(null);if(!Q.input||typeof Q.input!=="object")return c2(null,Q.tool);let W=mE(J);if(!W)return c2(null,Q.tool);let X=lE(J,$);if(!X.ok)return c2(W,Q.tool);if(!X.command)return v3(Q.tool,Q.input,{kind:NQ(Q.tool)},{configCwd:W,executionCwd:W},null);if(typeof X.command.command!=="string"||X.command.command.trim()==="")return c2(W,Q.tool);let Y=typeof X.command.dir==="string"?k6(X.command.dir,[W]):W;if(!Y)return c2(W,Q.tool,X.command.command,X.command.dir);return v3(Q.tool,Q.input,{kind:"command",shell:"posix"},{configCwd:W,executionCwd:Y},X.command.command)}function mE($){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 lE($,J){try{return{ok:!0,command:$.helpers.shellCommandFromToolCall(J)}}catch{return{ok:!1}}}function pE($){if(!$||typeof $!=="object")return;let J=$.thread?.id;return typeof J==="string"&&J.trim()!==""?J:void 0}function c2($,J,Q,W){return{malformed:!0,denial:XB({command:Q,segment:W,toolName:J}),cwd:$}}function DM($,J){let Q=WB($,{includeEvidence:J});return Q?IM(Q):{action:"allow"}}function IM($){return{action:"reject-and-continue",message:YB($)}}function cE($){$.on("tool.call",(J)=>zM(J,$))}export{cE as default};
|