MCPcopy Index your code
hub / github.com/ChinaSiro/claude-code-sourcemap / UB8

Function UB8

package/cli.js:5169–5169  ·  view source on GitHub ↗
(q)

Source from the content-addressed store, hash-verified

5167
5168ONLY return the prefix. Do not return any other text, markdown markers, or other content or formatting.`,WZK,e88,fZK,Z$Y;var SG=y(()=>{MZK();dm1();NX();Zh6=new Set(["0","1","2"]);WZK=HZK({toolName:"Bash",policySpec:f$Y,eventName:"tengu_bash_prefix",querySource:"bash_extract_prefix",preCheck:(q)=>D$Y(q)?{commandPrefix:q}:null}),e88=JZK(WZK,F2);fZK=new Set(["&&","||",";",";;","|"]),Z$Y=new Set([...fZK,">&",">",">>"])});function V$Y(q){let _=Z7().sandbox?.excludedCommands??[];if(_.length===0)return!1;let z;try{z=F2(q)}catch{z=[q]}for(let Y of z){let A=[Y.trim()],O=new Set(A),w=0;while(w<A.length){let j=A.length;for(let H=w;H<j;H++){let J=A[H],M=s67(J,xPK);if(!O.has(M))A.push(M),O.add(M);let X=Ir(J);if(!O.has(X))A.push(X),O.add(X)}w=j}for(let j of _){let H=a67(j);for(let J of A)switch(H.type){case"prefix":if(J===H.prefix||J.startsWith(H.prefix+" "))return!0;break;case"exact":if(J===H.command)return!0;break;case"wildcard":if(s88(H.pattern,J))return!0;break}}}return!1}function Gb(q){if(!M7.isSandboxingEnabled())return!1;if(q.dangerouslyDisableSandbox&&M7.areUnsandboxedCommandsAllowed())return!1;if(!q.command)return!1;if(V$Y(q.command))return!1;return!0}var IL6=y(()=>{o1();SG();K$();U1();DN()});var VZK={};T8(VZK,{isAutoModeAllowlistedTool:()=>y$Y});function y$Y(q){return N$Y.has(q)}var ZZK=null,GZK=null,TZK=null,vZK=null,N$Y;var NZK=y(()=>{vU();IY();qM();pr6();rF();ca6();N$Y=new Set([Cq,n3,i9,S88,CP,no6,"ReadMcpResourceTool",BC,TN,Gq6,bL,Tq6,zI,ak,a$,Zq6,TL,au,Mw6,wD,...vZK?[vZK]:[],QO6,...ZZK?[ZZK]:[],...GZK?[GZK]:[],...TZK?[TZK]:[],da6])});function a18(q){return $A8(q)}function vh6(q){return W77.flatMap((K)=>(q.alwaysAllowRules[K]||[]).map((_)=>({source:K,ruleBehavior:"allow",ruleValue:G2(_)})))}function f_(q,K){if(K){if(K.type==="classifier")return`Classifier '${K.classifier}' requires approval for this ${q} command: ${K.reason}`;switch(K.type){case"hook":return K.reason?`Hook '${K.hookName}' blocked this action: ${K.reason}`:`Hook '${K.hookName}' requires approval for this ${q} command`;case"rule":{let z=G9(K.rule.ruleValue),Y=a18(K.rule.source);return`Permission rule '${z}' from ${Y} requires approval for this ${q} command`}case"subcommandResults":{let z=[];for(let[Y,$]of K.reasons)if($.behavior==="ask"||$.behavior==="passthrough")if(q==="Bash"){let{commandWithoutRedirections:A,redirections:O}=SL(Y),w=O.length>0?A:Y;z.push(w)}else z.push(Y);if(z.length>0){let Y=z.length;return`This ${q} command contains multiple operations. The following ${A7(Y,"part")} ${A7(Y,"requires","require")} approval: ${z.join(", ")}`}return`This ${q} command contains multiple operations that require approval`}case"permissionPromptTool":return`Tool '${K.permissionPromptToolName}' requires approval for this ${q} command`;case"sandboxOverride":return"Run outside of the sandbox";case"workingDir":return K.reason;case"safetyCheck":case"other":return K.reason;case"mode":return`Current permission mode (${Ml(K.mode)}) requires approval for this ${q} command`;case"asyncAgent":return K.reason}}return`Claude requested permissions to use ${q}, but you haven't granted it yet.`}function $56(q){return W77.flatMap((K)=>(q.alwaysDenyRules[K]||[]).map((_)=>({source:K,ruleBehavior:"deny",ruleValue:G2(_)})))}function kh6(q){return W77.flatMap((K)=>(q.alwaysAskRules[K]||[]).map((_)=>({source:K,ruleBehavior:"ask",ruleValue:G2(_)})))}function D77(q,K){if(K.ruleValue.ruleContent!==void 0)return!1;let _=wK1(q);if(K.ruleValue.toolName===_)return!0;let z=nT(K.ruleValue.toolName),Y=nT(_);return z!==null&&Y!==null&&(z.toolName===void 0||z.toolName==="*")&&z.serverName===Y.serverName}function h$Y(q,K){return vh6(q).find((_)=>D77(K,_))||null}function dm8(q,K){return $56(q).find((_)=>D77(K,_))||null}function EZK(q,K){return kh6(q).find((_)=>D77(K,_))||null}function RXK(q,K,_){return $56(q).find((z)=>z.ruleValue.toolName===K&&z.ruleValue.ruleContent===_)||null}function d88(q,K,_){let z=new Set;for(let Y of $56(K))if(Y.ruleValue.toolName===_&&Y.ruleValue.ruleContent!==void 0)z.add(Y.ruleValue.ruleContent);return q.filter((Y)=>!z.has(Y.agentType))}function sm(q,K,_){return uj6(q,wK1(K),_)}function uj6(q,K,_){let z=new Map,Y=[];switch(_){case"allow":Y=vh6(q);break;case"deny":Y=$56(q);break;case"ask":Y=kh6(q);break}for(let $ of Y)if($.ruleValue.toolName===K&&$.ruleValue.ruleContent!==void 0&&$.ruleBehavior===_)z.set($.ruleValue.ruleContent,$);return z}async function S$Y(q,K,_,z,Y,$){try{for await(let A of hH6(q.name,_,K,z,Y,$,z.abortController.signal)){if(!A.permissionRequestResult)continue;let O=A.permissionRequestResult;if(O.behavior==="allow"){let w=O.updatedInput??K;if(O.updatedPermissions?.length)ru(O.updatedPermissions),z.setAppState((j)=>({...j,toolPermissionContext:XN(j.toolPermissionContext,O.updatedPermissions)}));return{behavior:"allow",updatedInput:w,decisionReason:{type:"hook",hookName:"PermissionRequest"}}}if(O.behavior==="deny"){if(O.interrupt)N(`Hook interrupt: tool=${q.name} hookMessage=${O.message}`),z.abortController.abort();return{behavior:"deny",message:O.message||"Permission denied by hook",decisionReason:{type:"hook",hookName:"PermissionRequest",reason:O.message}}}}}catch(A){H6(Error("PermissionRequest hook failed for headless agent",{cause:x1(A)}))}return null}function Gh6(q,K){if(q.localDenialTracking)Object.assign(q.localDenialTracking,K);else q.setAppState((_)=>{if(_.denialTracking===K)return _;return{..._,denialTracking:K}})}function C$Y(q,K,_,z,Y,$,A){if(!QWK(q))return null;let O=q.totalDenials>=Np8.maxTotal,w=K.toolPermissionContext.shouldAvoidPermissionPrompts,j=q.totalDenials,H=q.consecutiveDenials,J=O?`${j} actions were blocked this session. Please review the transcript before continuing.`:`${H} consecutive actions were blocked. Please review the transcript before continuing.`;if(d("tengu_auto_mode_denial_limit_exceeded",{limit:O?"total":"consecutive",mode:w?"headless":"cli",messageID:z.message.id,consecutiveDenials:H,totalDenials:j,toolName:wK(Y.name)}),w)throw new Uz("Agent aborted: too many classifier denials in headless mode");if(N(`Classifier denial limit exceeded, falling back to prompting: ${J}`,{level:"warn"}),O)Gh6(A,{...q,totalDenials:0,consecutiveDenials:0});let M=$.decisionReason?.type==="classifier"?$.decisionReason.classifier:"auto-mode";return{...$,decisionReason:{type:"classifier",classifier:M,reason:`${J}
5169
5170Latest blocked action: ${_}`}}}async function aPK(q,K,_){let z=_.getAppState(),Y=dm8(z.toolPermissionContext,q);if(Y)return{behavior:"deny",decisionReason:{type:"rule",rule:Y},message:`Permission to use ${q.name} has been denied.`};let $=EZK(z.toolPermissionContext,q);if($){if(!(q.name===_q&&M7.isSandboxingEnabled()&&M7.isAutoAllowBashIfSandboxedEnabled()&&Gb(K)))return{behavior:"ask",decisionReason:{type:"rule",rule:$},message:f_(q.name)}}let A={behavior:"passthrough",message:f_(q.name)};try{let O=q.inputSchema.parse(K);A=await q.checkPermissions(O,_)}catch(O){if(O instanceof Uz||O instanceof V_)throw O;H6(O)}if(A?.behavior==="deny")return A;if(A?.behavior==="ask"&&A.decisionReason?.type==="rule"&&A.decisionReason.rule.ruleBehavior==="ask")return A;if(A?.behavior==="ask"&&A.decisionReason?.type==="safetyCheck")return A;return null}async function b$Y(q,K,_){if(_.abortController.signal.aborted)throw new Uz;let z=_.getAppState(),Y=dm8(z.toolPermissionContext,q);if(Y)return{behavior:"deny",decisionReason:{type:"rule",rule:Y},message:`Permission to use ${q.name} has been denied.`};let $=EZK(z.toolPermissionContext,q);if($){if(!(q.name===_q&&M7.isSandboxingEnabled()&&M7.isAutoAllowBashIfSandboxedEnabled()&&Gb(K)))return{behavior:"ask",decisionReason:{type:"rule",rule:$},message:f_(q.name)}}let A={behavior:"passthrough",message:f_(q.name)};try{let H=q.inputSchema.parse(K);A=await q.checkPermissions(H,_)}catch(H){if(H instanceof Uz||H instanceof V_)throw H;H6(H)}if(A?.behavior==="deny")return A;if(q.requiresUserInteraction?.()&&A?.behavior==="ask")return A;if(A?.behavior==="ask"&&A.decisionReason?.type==="rule"&&A.decisionReason.rule.ruleBehavior==="ask")return A;if(A?.behavior==="ask"&&A.decisionReason?.type==="safetyCheck")return A;if(z=_.getAppState(),z.toolPermissionContext.mode==="bypassPermissions"||z.toolPermissionContext.mode==="plan"&&z.toolPermissionContext.isBypassPermissionsModeAvailable)return{behavior:"allow",updatedInput:yZK(A,K),decisionReason:{type:"mode",mode:z.toolPermissionContext.mode}};let w=h$Y(z.toolPermissionContext,q);if(w)return{behavior:"allow",updatedInput:yZK(A,K),decisionReason:{type:"rule",rule:w}};let j=A.behavior==="passthrough"?{...A,behavior:"ask",message:f_(q.name,A.decisionReason)}:A;if(j.behavior==="ask"&&j.suggestions)N(`Permission suggestions for ${q.name}: ${g6(j.suggestions,null,2)}`);return j}async function LZK({rule:q,initialContext:K,setToolPermissionContext:_}){if(q.source==="policySettings"||q.source==="flagSettings"||q.source==="command")throw Error("Cannot delete permission rules from read-only settings");let z=L$(K,{type:"removeRules",rules:[q.ruleValue],behavior:q.ruleBehavior,destination:q.source});switch(q.source){case"localSettings":case"userSettings":case"projectSettings":{HN4(q);break}case"cliArg":case"session":break}_(z)}function RZK(q,K){let _=new Map;for(let Y of q){let $=`${Y.source}:${Y.ruleBehavior}`;if(!_.has($))_.set($,[]);_.get($).push(Y.ruleValue)}let z=[];for(let[Y,$]of _){let[A,O]=Y.split(":");z.push({type:K,rules:$,behavior:O,destination:A})}return z}function hZK(q,K){let _=RZK(K,"addRules");return XN(q,_)}function SZK(q,K){let _=q;if(jo6()){let $=["userSettings","projectSettings","localSettings","cliArg","session"],A=["allow","deny","ask"];for(let O of $)for(let w of A)_=L$(_,{type:"replaceRules",rules:[],behavior:w,destination:O})}let z=["userSettings","projectSettings","localSettings"];for(let $ of z)for(let A of["allow","deny","ask"])_=L$(_,{type:"replaceRules",rules:[],behavior:A,destination:$});let Y=RZK(K,"replaceRules");return XN(_,Y)}function yZK(q,K){return("updatedInput"in q?q.updatedInput:void 0)??K}var E$Y,L$Y,R$Y=1800000,W77,uX=async(q,K,_,z,Y)=>{let $=await b$Y(q,K,_);if($.behavior==="allow"){let A=_.getAppState();{let O=_.localDenialTracking??A.denialTracking;if(A.toolPermissionContext.mode==="auto"&&O&&O.consecutiveDenials>0){let w=M18(O);Gh6(_,w)}}return $}if($.behavior==="ask"){let A=_.getAppState();if(A.toolPermissionContext.mode==="dontAsk")return{behavior:"deny",decisionReason:{type:"mode",mode:"dontAsk"},message:I0K(q.name)};if(A.toolPermissionContext.mode==="auto"||A.toolPermissionContext.mode==="plan"&&(L$Y?.isAutoModeActive()??!1)){if($.decisionReason?.type==="safetyCheck"&&!$.decisionReason.classifierApprovable){if(A.toolPermissionContext.shouldAvoidPermissionPrompts)return{behavior:"deny",message:$.message,decisionReason:{type:"asyncAgent",reason:"Safety check requires interactive approval and permission prompts are not available in this context"}};return $}if(q.requiresUserInteraction?.()&&$.behavior==="ask")return $;let O=_.localDenialTracking??A.denialTracking??yp8();if(q.name===s9){if(A.toolPermissionContext.shouldAvoidPermissionPrompts)return{behavior:"deny",message:"PowerShell tool requires interactive approval",decisionReason:{type:"asyncAgent",reason:"PowerShell tool requires interactive approval and permission prompts are not available in this context"}};return N(`Skipping auto mode classifier for ${q.name}: tool requires explicit user permission`),$}if($.behavior==="ask"&&q.name!==v4&&q.name!==FS)try{let X=q.inputSchema.parse(K),P=await q.checkPermissions(X,{..._,getAppState:()=>{let W=_.getAppState();return{...W,toolPermissionContext:{...W.toolPermissionContext,mode:"acceptEdits"}}}});if(P.behavior==="allow"){let W=M18(O);return Gh6(_,W),N(`Skipping auto mode classifier for ${q.name}: would be allowed in acceptEdits mode`),d("tengu_auto_mode_decision",{decision:"allowed",toolName:wK(q.name),inProtectedNamespace:Ik(),agentMsgId:z.message.id,confidence:"high",fastPath:"acceptEdits"}),{behavior:"allow",updatedInput:P.updatedInput??K,decisionReason:{type:"mode",mode:"auto"}}}}catch(X){if(X instanceof Uz||X instanceof V_)throw X}if(E$Y.isAutoModeAllowlistedTool(q.name)){let X=M18(O);return Gh6(_,X),N(`Skipping auto mode classifier for ${q.name}: tool is on the safe allowlist`),d("tengu_auto_mode_decision",{decision:"allowed",toolName:wK(q.name),inProtectedNamespace:Ik(),agentMsgId:z.message.id,confidence:"high",fastPath:"allowlist"}),{behavior:"allow",updatedInput:K,decisionReason:{type:"mode",mode:"auto"}}}let w=Ox4(q.name,K);eqK(Y);let j;try{j=await kL8(_.messages,w,_.options.tools,A.toolPermissionContext,_.abortController.signal)}finally{KK6(Y)}let H=j.unavailable?"unavailable":j.shouldBlock?"blocked":"allowed",J=j.usage&&j.model?QJ8(j.model,j.usage):void 0;if(d("tengu_auto_mode_decision",{decision:H,toolName:wK(q.name),inProtectedNamespace:Ik(),agentMsgId:z.message.id,classifierModel:j.model,consecutiveDenials:j.shouldBlock?O.consecutiveDenials+1:0,totalDenials:j.shouldBlock?O.totalDenials+1:O.totalDenials,classifierInputTokens:j.usage?.inputTokens,classifierOutputTokens:j.usage?.outputTokens,classifierCacheReadInputTokens:j.usage?.cacheReadInputTokens,classifierCacheCreationInputTokens:j.usage?.cacheCreationInputTokens,classifierDurationMs:j.durationMs,classifierSystemPromptLength:j.promptLengths?.systemPrompt,classifierToolCallsLength:j.promptLengths?.toolCalls,classifierUserPromptsLength:j.promptLengths?.userPrompts,sessionInputTokens:bk(),sessionOutputTokens:Gc(),sessionCacheReadInputTokens:xb6(),sessionCacheCreationInputTokens:Ib6(),classifierCostUSD:J,classifierStage:j.stage,classifierStage1InputTokens:j.stage1Usage?.inputTokens,classifierStage1OutputTokens:j.stage1Usage?.outputTokens,classifierStage1CacheReadInputTokens:j.stage1Usage?.cacheReadInputTokens,classifierStage1CacheCreationInputTokens:j.stage1Usage?.cacheCreationInputTokens,classifierStage1DurationMs:j.stage1DurationMs,classifierStage1RequestId:j.stage1RequestId,classifierStage1MsgId:j.stage1MsgId,classifierStage1CostUSD:j.stage1Usage&&j.model?QJ8(j.model,j.stage1Usage):void 0,classifierStage2InputTokens:j.stage2Usage?.inputTokens,classifierStage2OutputTokens:j.stage2Usage?.outputTokens,classifierStage2CacheReadInputTokens:j.stage2Usage?.cacheReadInputTokens,classifierStage2CacheCreationInputTokens:j.stage2Usage?.cacheCreationInputTokens,classifierStage2DurationMs:j.stage2DurationMs,classifierStage2RequestId:j.stage2RequestId,classifierStage2MsgId:j.stage2MsgId,classifierStage2CostUSD:j.stage2Usage&&j.model?QJ8(j.model,j.stage2Usage):void 0}),j.durationMs!==void 0)nn8(j.durationMs);if(j.shouldBlock){if(j.transcriptTooLong){if(A.toolPermissionContext.shouldAvoidPermissionPrompts)throw new Uz("Agent aborted: auto mode classifier transcript exceeded context window in headless mode");return N("Auto mode classifier transcript too long, falling back to normal permission handling",{level:"warn"}),{...$,decisionReason:{type:"other",reason:"Auto mode classifier transcript exceeded context window — falling back to manual approval"}}}if(j.unavailable){if(gV("tengu_iron_gate_closed",!0,R$Y))return N("Auto mode classifier unavailable, denying with retry guidance (fail closed)",{level:"warn"}),{behavior:"deny",decisionReason:{type:"classifier",classifier:"auto-mode",reason:"Classifier unavailable"},message:p0K(q.name,j.model)};return N("Auto mode classifier unavailable, falling back to normal permission handling (fail open)",{level:"warn"}),$}let X=UWK(O);Gh6(_,X),N(`Auto mode classifier blocked action: ${j.reason}`,{level:"warn"});let P=C$Y(X,A,j.reason,z,q,$,_);if(P)return P;return{behavior:"deny",decisionReason:{type:"classifier",classifier:"auto-mode",reason:j.reason},message:m0K(j.reason)}}let M=M18(O);return Gh6(_,M),{behavior:"allow",updatedInput:K,decisionReason:{type:"classifier",classifier:"auto-mode",reason:j.reason}}}if(A.toolPermissionContext.shouldAvoidPermissionPrompts){let O=await S$Y(q,K,Y,_,A.toolPermissionContext.mode,$.suggestions);if(O)return O;return{behavior:"deny",decisionReason:{type:"asyncAgent",reason:"Permission prompts are not available in this context"},message:x0K(q.name)}}}return $};var Fj=y(()=>{LZ();ok();Z$();IL6();k16();SG();_8();y8();E8();K$();kO();yW();LH();Gf();iu();v8();o1();k8();kj();_K6();m8();y$();i1();wn();l8();h87();ca6();E$Y=(NZK(),Eq(VZK)),L$Y=Eq(mK6),W77=[...cT,"cliArg","command","session"]});var ejK={};T8(ejK,{verifyAutoModeGateAccess:()=>Be6,transitionPlanAutoMode:()=>Vh6,transitionPermissionMode:()=>ca,stripDangerousPermissionsForAutoMode:()=>Dp,shouldPlanUseAutoMode:()=>L77,shouldDisableBypassPermissions:()=>Mb8,restoreDangerousPermissions:()=>da,removeDangerousPermissions:()=>pZK,prepareContextForPlanMode:()=>vR6,parseToolListFromCLI:()=>_C,parseBaseToolsFromCLI:()=>BZK,isOverlyBroadPowerShellAllowRule:()=>Z77,isOverlyBroadBashAllowRule:()=>f77,isDefaultPermissionModeAuto:()=>E77,isDangerousTaskPermission:()=>uZK,isDangerousPowerShellPermission:()=>IZK,isDangerousBashPermission:()=>xZK,isBypassPermissionsModeDisabled:()=>na,isAutoModeGateEnabled:()=>Xy,initializeToolPermissionContext:()=>k77,initialPermissionModeFromCLI:()=>v77,hasAutoModeOptInAnySource:()=>uB8,getAutoModeUnavailableReason:()=>la,getAutoModeUnavailableNotification:()=>A56,getAutoModeEnabledStateIfCached:()=>IB8,getAutoModeEnabledState:()=>s18,findOverlyBroadPowerShellPermissions:()=>m$Y,findOverlyBroadBashPermissions:()=>u$Y,findDangerousClassifierPermissions:()=>T77,createDisabledBypassPermissionsContext:()=>zj6,checkAndDisableBypassPermissions:()=>y77});import{relative as x$Y}from"path";import{resolve as I$Y}from"path";function xZK(q,K){if(q!==_q)return!1;if(K===void 0||K==="")return!0;let _=K.trim().toLowerCase();if(_==="*")return!0;for(let z of OYK){let Y=z.toLowerCase();if(_===Y)return!0;if(_===`${Y}:*`)return!0;if(_===`${Y}*`)return!0;if(_===`${Y} *`)return!0;if(_.startsWith(`${Y} -`)&&_.endsWith("*"))return!0}return!1}function IZK(q,K){if(q!==s9)return!1;if(K===void 0||K==="")return!0;let _=K.trim().toLowerCase();if(_==="*")return!0;let z=[...i68,"pwsh","powershell","cmd","wsl","iex","invoke-expression","icm","invoke-command","start-process","saps","start","start-job","sajb","start-threadjob","register-objectevent","register-engineevent","register-wmievent","register-scheduledjob","new-pssession","nsn","enter-pssession","etsn","add-type","new-object"];for(let Y of z){if(_===Y)return!0;if(_===`${Y}:*`)return!0;if(_===`${Y}*`)return!0;if(_===`${Y} *`)return!0;if(_.startsWith(`${Y} -`)&&_.endsWith("*"))return!0;let $=Y.indexOf(" "),A=$===-1?`${Y}.exe`:`${Y.slice(0,$)}.exe${Y.slice($)}`;if(_===A)return!0;if(_===`${A}:*`)return!0;if(_===`${A}*`)return!0;if(_===`${A} *`)return!0;if(_.startsWith(`${A} -`)&&_.endsWith("*"))return!0}return!1}function uZK(q,K){return Zf(q)===v4}function G77(q){if(cT.includes(q)){let K=Hj(q);if(K){let _=x$Y(Z8(),K);return _.length<K.length?_:K}}return q}function CZK(q,K){return xZK(q,K)||IZK(q,K)||uZK(q,K)}function T77(q,K){let _=[];for(let z of q)if(z.ruleBehavior==="allow"&&CZK(z.ruleValue.toolName,z.ruleValue.ruleContent)){let Y=z.ruleValue.ruleContent?`${z.ruleValue.toolName}(${z.ruleValue.ruleContent})`:`${z.ruleValue.toolName}(*)`;_.push({ruleValue:z.ruleValue,source:z.source,ruleDisplay:Y,sourceDisplay:G77(z.source)})}for(let z of K){let Y=z.match(/^([^(]+)(?:\(([^)]*)\))?$/);if(Y){let $=Y[1].trim(),A=Y[2]?.trim();if(CZK($,A))_.push({ruleValue:{toolName:$,ruleContent:A},source:"cliArg",ruleDisplay:A?z:`${$}(*)`,sourceDisplay:"--allowed-tools"})}}return _}function f77(q){return q.toolName===_q&&q.ruleContent===void 0}function Z77(q){return q.toolName===s9&&q.ruleContent===void 0}function u$Y(q,K){let _=[];for(let z of q)if(z.ruleBehavior==="allow"&&f77(z.ruleValue))_.push({ruleValue:z.ruleValue,source:z.source,ruleDisplay:`${_q}(*)`,sourceDisplay:G77(z.source)});for(let z of K){let Y=G2(z);if(f77(Y))_.push({ruleValue:Y,source:"cliArg",ruleDisplay:`${_q}(*)`,sourceDisplay:"--allowed-tools"})}return _}function m$Y(q,K){let _=[];for(let z of q)if(z.ruleBehavior==="allow"&&Z77(z.ruleValue))_.push({ruleValue:z.ruleValue,source:z.source,ruleDisplay:`${s9}(*)`,sourceDisplay:G77(z.source)});for(let z of K){let Y=G2(z);if(Z77(Y))_.push({ruleValue:Y,source:"cliArg",ruleDisplay:`${s9}(*)`,sourceDisplay:"--allowed-tools"})}return _}function mZK(q){return["userSettings","projectSettings","localSettings","session","cliArg"].includes(q)}function pZK(q,K){let _=new Map;for(let Y of K){if(!mZK(Y.source))continue;let $=Y.source,A=_.get($)||[];A.push(Y.ruleValue),_.set($,A)}let z=q;for(let[Y,$]of _)z=L$(z,{type:"removeRules",rules:$,behavior:"allow",destination:Y});return z}function Dp(q){let K=[];for(let[Y,$]of Object.entries(q.alwaysAllowRules)){if(!$)continue;for(let A of $){let O=G2(A);K.push({source:Y,ruleBehavior:"allow",ruleValue:O})}}let _=T77(K,[]);if(_.length===0)return{...q,strippedDangerousRules:q.strippedDangerousRules??{}};for(let Y of _)N(`Ignoring dangerous permission ${Y.ruleDisplay} from ${Y.sourceDisplay} (bypasses classifier)`);let z={};for(let Y of _){if(!mZK(Y.source))continue;(z[Y.source]??=[]).push(G9(Y.ruleValue))}return{...pZK(q,_),strippedDangerousRules:z}}function da(q){let K=q.strippedDangerousRules;if(!K)return q;let _=q;for(let[z,Y]of Object.entries(K)){if(!Y||Y.length===0)continue;_=L$(_,{type:"addRules",rules:Y.map(G2),behavior:"allow",destination:z})}return{..._,strippedDangerousRules:void 0}}function ca(q,K,_){if(q===K)return _;if(Tc(q,K),Fi8(q,K),q==="plan"&&K!=="plan")qE(!0);{if(K==="plan"&&q!=="plan")return vR6(_);let z=q==="auto"||q==="plan"&&(zT?.isAutoModeActive()??!1),Y=K==="auto";if(Y&&!z){if(!Xy())throw Error("Cannot transition to auto mode: gate is not enabled");zT?.setAutoModeActive(!0),_=Dp(_)}else if(z&&!Y)zT?.setAutoModeActive(!1),VZ(!0),_=da(_)}if(q==="plan"&&K!=="plan"&&_.prePlanMode)return{..._,prePlanMode:void 0};return _}function BZK(q){let K=q.join(" ").trim();if(PXK(K))return X67();return _C(q)}function p$Y({processPwd:q,originalCwd:K}){let{resolvedPath:_,isSymlink:z}=F$(X8(),q);return z?_===I$Y(K):!1}function v77({permissionModeCli:q,dangerouslySkipPermissions:K}){let _=Z7()||{},z=tY("tengu_disable_bypass_permissions_mode"),Y=_.permissions?.disableBypassPermissionsMode==="disable",$=z||Y,A=IB8()==="disabled",O=[],w;if(K)O.push("bypassPermissions");if(q){let H=vE(q);if(H==="auto")if(A)N("auto mode circuit breaker active (cached) — falling back to default",{level:"warn"});else O.push("auto");else O.push(H)}if(_.permissions?.defaultMode){let H=_.permissions.defaultMode;if(i6(process.env.CLAUDE_CODE_REMOTE)&&!["acceptEdits","plan","default"].includes(H))N(`settings defaultMode "${H}" is not supported in CLAUDE_CODE_REMOTE — only acceptEdits and plan are allowed`,{level:"warn"}),d("tengu_ccr_unsupported_default_mode_ignored",{mode:H});else if(H==="auto")if(A)N("auto mode circuit breaker active (cached) — falling back to default",{level:"warn"});else O.push("auto");else O.push(H)}let j;for(let H of O){if(H==="bypassPermissions"&&$){if(z)N("bypassPermissions mode is disabled by Statsig gate",{level:"warn"}),w="Bypass permissions mode was disabled by your organization policy";else N("bypassPermissions mode is disabled by settings",{level:"warn"}),w="Bypass permissions mode was disabled by settings";continue}j={mode:H,notification:w};break}if(!j)j={mode:"default",notification:w};if(!j)j={mode:"default",notification:w};if(j.mode==="auto")zT?.setAutoModeActive(!0);return j}function _C(q){if(q.length===0)return[];let K=[];for(let _ of q){if(!_)continue;let z="",Y=!1;for(let $ of _)switch($){case"(":Y=!0,z+=$;break;case")":Y=!1,z+=$;break;case",":if(Y)z+=$;else{if(z.trim())K.push(z.trim());z=""}break;case" ":if(Y)z+=$;else if(z.trim())K.push(z.trim()),z="";break;default:z+=$}if(z.trim())K.push(z.trim())}return K}async function k77({allowedToolsCli:q,disallowedToolsCli:K,baseToolsCli:_,permissionMode:z,allowDangerouslySkipPermissions:Y,addDirs:$}){let A=_C(q).map((v)=>G9(G2(v))),O=_C(K);if(_&&_.length>0){let v=BZK(_),V=new Set(v.map(Zf)),S=X67().filter((R)=>!V.has(R));O=[...O,...S]}let w=[],j=new Map,H=process.env.PWD;if(H&&H!==r1()&&p$Y({originalCwd:r1(),processPwd:H}))j.set(H,{path:H,source:"session"});let J=tY("tengu_disable_bypass_permissions_mode"),M=Z7()||{},X=M.permissions?.disableBypassPermissionsMode==="disable",P=(z==="bypassPermissions"||Y)&&!J&&!X,W=PN8(),D=[],f=[];if(z==="auto")f=T77(W,A);let G=hZK({mode:z,additionalWorkingDirectories:j,alwaysAllowRules:{cliArg:A},alwaysDenyRules:{cliArg:O},alwaysAskRules:{},isBypassPermissionsModeAvailable:P,...{isAutoModeAvailable:Xy()}},W),Z=[...M.permissions?.additionalDirectories||[],...$],T=await Promise.all(Z.map((v)=>iT6(v,G)));for(let v of T)if(v.resultType==="success")G=L$(G,{type:"addDirectories",directories:[v.absolutePath],destination:"cliArg"});else if(v.resultType!=="alreadyInWorkingDirectory"&&v.resultType!=="pathNotFound")w.push(rT6(v));return{toolPermissionContext:G,warnings:w,dangerousPermissions:f,overlyBroadBashPermissions:D}}function A56(q){let K;switch(q){case"settings":K="auto mode disabled by settings";break;case"circuit-breaker":K="auto mode is unavailable for your plan";break;case"model":K="auto mode unavailable for this model";break}return K}async function Be6(q,K){let _=await gS("tengu_auto_mode_config",{}),z=N77(_?.enabled),Y=V77();zT?.setAutoModeCircuitBroken(z==="disabled"||Y);let $=D5(),A=!!_?.disableFastMode&&(!!K||!1),O=DG6($)&&!A,w=!1;if(z!=="disabled"&&!Y&&O)w=z==="enabled"||uB8();let j=z!=="disabled"&&!Y&&O;N(`[auto-mode] verifyAutoModeGateAccess: enabledState=${z} disabledBySettings=${Y} model=${$} modelSupported=${O} disableFastModeBreakerFires=${A} carouselAvailable=${w} canEnterAuto=${j}`);let H=zT?.getAutoModeFlagCli()??!1,J=(G,Z)=>{if(G.isAutoModeAvailable!==Z)N(`[auto-mode] verifyAutoModeGateAccess setAvailable: ${G.isAutoModeAvailable} -> ${Z}`);return G.isAutoModeAvailable===Z?G:{...G,isAutoModeAvailable:Z}};if(j)return{updateContext:(G)=>J(G,w)};let M;if(Y)M="settings",N("auto mode disabled: disableAutoMode in settings",{level:"warn"});else if(z==="disabled")M="circuit-breaker",N('auto mode disabled: tengu_auto_mode_config.enabled === "disabled" (circuit breaker)',{level:"warn"});else M="model",N(`auto mode disabled: model ${D5()} does not support auto mode`,{level:"warn"});let X=A56(M),P=(G)=>{let Z=G.mode==="auto";N(`[auto-mode] kickOutOfAutoIfNeeded applying: ctx.mode=${G.mode} ctx.prePlanMode=${G.prePlanMode} reason=${M}`);let T=G.mode==="plan"&&(G.prePlanMode==="auto"||!!G.strippedDangerousRules);if(!Z&&!T)return J(G,!1);if(Z)return zT?.setAutoModeActive(!1),VZ(!0),{...L$(da(G),{type:"setMode",mode:"default",destination:"session"}),isAutoModeAvailable:!1};return zT?.setAutoModeActive(!1),VZ(!0),{...da(G),prePlanMode:G.prePlanMode==="auto"?"default":G.prePlanMode,isAutoModeAvailable:!1}},W=q.mode==="auto",D=q.mode==="plan"&&(q.prePlanMode==="auto"||!!q.strippedDangerousRules);if(!(W||D||H))return{updateContext:P};if(W||D)return{updateContext:P,notification:X};return{updateContext:P,notification:q.isAutoModeAvailable?X:void 0}}function Mb8(){return cV1("tengu_disable_bypass_permissions_mode")}function V77(){let q=Z7()||{};return q.disableAutoMode==="disable"||q.permissions?.disableAutoMode==="disable"}function Xy(){if(zT?.isAutoModeCircuitBroken()??!1)return!1;if(V77())return!1;if(!DG6(D5()))return!1;return!0}function la(){if(V77())return"settings";if(zT?.isAutoModeCircuitBroken()??!1)return"circuit-breaker";if(!DG6(D5()))return"model";return null}function N77(q){if(q==="enabled"||q==="disabled"||q==="opt-in")return q;return B$Y}function s18(){let q=g8("tengu_auto_mode_config",{});return N77(q?.enabled)}function IB8(){let q=g8("tengu_auto_mode_config",bZK);if(q===bZK)return;return N77(q?.enabled)}function uB8(){if(zT?.getAutoModeFlagCli()??!1)return!0;return fl()}function na(){let q=tY("tengu_disable_bypass_permissions_mode"),_=(Z7()||{}).permissions?.disableBypassPermissionsMode==="disable";return q||_}function zj6(q){let K=q;if(q.mode==="bypassPermissions")K=L$(q,{type:"setMode",mode:"default",destination:"session"});return{...K,isBypassPermissionsModeAvailable:!1}}async function y77(q){if(!q.isBypassPermissionsModeAvailable)return;if(!await Mb8())return;N("bypassPermissions mode is being disabled by Statsig gate (async check)",{level:"warn"}),xK(1,"bypass_permissions_disabled")}function E77(){return(Z7()||{}).permissions?.defaultMode==="auto"}function L77(){return fl()&&Xy()&&FS7()}function vR6(q){let K=q.mode;if(K==="plan")return q;{let _=L77();if(K==="auto"){if(_)return{...q,prePlanMode:"auto"};return zT?.setAutoModeActive(!1),VZ(!0),{...da(q),prePlanMode:"auto"}}if(_&&K!=="bypassPermissions")return zT?.setAutoModeActive(!0),{...Dp(q),prePlanMode:K}}return N(`[prepareContextForPlanMode] plain plan entry, prePlanMode=${K}`,{level:"info"}),{...q,prePlanMode:K}}function Vh6(q){if(q.mode!=="plan")return q;if(q.prePlanMode==="bypassPermissions")return q;let K=L77(),_=zT?.isAutoModeActive()??!1;if(K&&_)return Dp(q);if(!K&&!_)return q;if(K)return zT?.setAutoModeActive(!0),VZ(!1),Dp(q);return zT?.setAutoModeActive(!1),VZ(!0),da(q)}var zT,B$Y="disabled",bZK;var fX=y(()=>{v8();I7();m8();kO();U1();yW();Fj();iu();o1();pZ8();k8();Z$();BD();e7();HG();_8();RA();aq();la1();LH();Gf();zT=Eq(mK6);bZK=Symbol("no-cached-auto-mode-config")});function mB8(q,K){let _=N7();N(`Settings changed from ${q}, updating app state`);let z=PN8();eE6(),K((Y)=>{let $=SZK(Y.toolPermissionContext,z);if($.isBypassPermissionsModeAvailable&&na())$=zj6($);$=Vh6($);let A=Y.settings.effortLevel,O=_.effortLevel;return{...Y,settings:_,toolPermissionContext:$,...A!==O&&O!==void 0?{effortValue:O}:{}}})}var R77=y(()=>{_8();Vj6();fX();Fj();iu();U1()});function LJ(q){let K=z6(13),{children:_,initialState:z,onChangeAppState:Y}=q;if(lX.useContext(gZK))throw Error("AppStateProvider can not be nested within another AppStateProvider");let A;if(K[0]!==z||K[1]!==Y)A=()=>c16(z??$w6(),Y),K[0]=z,K[1]=Y,K[2]=A;else A=K[2];let[O]=lX.useState(A),w;if(K[3]!==O)w=()=>{let{toolPermissionContext:P}=O.getState();if(P.isBypassPermissionsModeAvailable&&na())N("Disabling bypass permissions mode on mount (remote settings loaded before mount)"),O.setState(F$Y)},K[3]=O,K[4]=w;else w=K[4];let j;if(K[5]===Symbol.for("react.memo_cache_sentinel"))j=[],K[5]=j;else j=K[5];lX.useEffect(w,j);let H;if(K[6]!==O.setState)H=(P)=>mB8(P,O.setState),K[6]=O.setState,K[7]=H;else H=K[7];let J=lX.useEffectEvent(H);Kv6(J);let M;if(K[8]!==_)M=lX.default.createElement(e14,null,lX.default.createElement(g$Y,null,_)),K[8]=_,K[9]=M;else M=K[9];let X;if(K[10]!==O||K[11]!==M)X=lX.default.createElement(gZK.Provider,{value:!0},lX.default.createElement(ha6.Provider,{value:O},M)),K[10]=O,K[11]=M,K[12]=X;else X=K[12];return X}function F$Y(q){return{...q,toolPermissionContext:zj6(q.toolPermissionContext)}}function h77(){let q=lX.useContext(ha6);if(!q)throw ReferenceError("useAppState/useSetAppState cannot be called outside of an <AppStateProvider />");return q}function P8(q){let K=z6(3),_=h77(),z;if(K[0]!==q||K[1]!==_)z=()=>{let $=_.getState();return q($)},K[0]=q,K[1]=_,K[2]=z;else z=K[2];let Y=z;return lX.useSyncExternalStore(_.subscribe,Y,Y)}function s7(){return h77().setState}function jz(){return h77()}function Sb8(q){let K=z6(3),_=lX.useContext(ha6),z;if(K[0]!==q||K[1]!==_)z=()=>_?q(_.getState()):void 0,K[0]=q,K[1]=_,K[2]=z;else z=K[2];return lX.useSyncExternalStore(_?_.subscribe:U$Y,z)}var lX,g$Y,ha6,gZK,U$Y=()=>()=>{};var C7=y(()=>{q8();yL1();iZ8();_8();fX();R77();EV6();EV6();lX=O6(D6(),1),g$Y=(NA6(),Eq(a14)).VoiceProvider,ha6=lX.default.createContext(null),gZK=lX.default.createContext(!1)});function PK(){let q=jz(),K=s7(),_=Nh6.useCallback(()=>{K(($)=>{let A=Q$Y($.notifications.queue);if($.notifications.current!==null||!A)return $;return FD=setTimeout((O,w,j)=>{FD=null,O((H)=>{if(H.notifications.current?.key!==w)return H;return{...H,notifications:{queue:H.notifications.queue,current:null}}}),j()},A.timeoutMs??S77,K,A.key,_),{...$,notifications:{queue:$.notifications.queue.filter((O)=>O!==A),current:A}}})},[K]),z=Nh6.useCallback(($)=>{if($.priority==="immediate"){if(FD)clearTimeout(FD),FD=null;FD=setTimeout((A,O,w)=>{FD=null,A((j)=>{if(j.notifications.current?.key!==O.key)return j;return{...j,notifications:{queue:j.notifications.queue.filter((H)=>!O.invalidates?.includes(H.key)),current:null}}}),w()},$.timeoutMs??S77,K,$,_),K((A)=>({...A,notifications:{current:$,queue:[...A.notifications.current?[A.notifications.current]:[],...A.notifications.queue].filter((O)=>O.priority!=="immediate"&&!$.invalidates?.includes(O.key))}}));return}K((A)=>{if($.fold){if(A.notifications.current?.key===$.key){let J=$.fold(A.notifications.current,$);if(FD)clearTimeout(FD),FD=null;return FD=setTimeout((M,X,P)=>{FD=null,M((W)=>{if(W.notifications.current?.key!==X)return W;return{...W,notifications:{queue:W.notifications.queue,current:null}}}),P()},J.timeoutMs??S77,K,J.key,_),{...A,notifications:{current:J,queue:A.notifications.queue}}}let H=A.notifications.queue.findIndex((J)=>J.key===$.key);if(H!==-1){let J=$.fold(A.notifications.queue[H],$),M=[...A.notifications.queue];return M[H]=J,{...A,notifications:{current:A.notifications.current,queue:M}}}}if(!(!new Set(A.notifications.queue.map((H)=>H.key)).has($.key)&&A.notifications.current?.key!==$.key))return A;let j=A.notifications.current!==null&&$.invalidates?.includes(A.notifications.current.key);if(j&&FD)clearTimeout(FD),FD=null;return{...A,notifications:{current:j?null:A.notifications.current,queue:[...A.notifications.queue.filter((H)=>H.priority!=="immediate"&&!$.invalidates?.includes(H.key)),$]}}}),_()},[K,_]),Y=Nh6.useCallback(($)=>{K((A)=>{let O=A.notifications.current?.key===$,w=A.notifications.queue.some((j)=>j.key===$);if(!O&&!w)return A;if(O&&FD)clearTimeout(FD),FD=null;return{...A,notifications:{current:O?null:A.notifications.current,queue:A.notifications.queue.filter((j)=>j.key!==$)}}}),_()},[K,_]);return Nh6.useEffect(()=>{if(q.getState().notifications.queue.length>0)_()},[]),{addNotification:z,removeNotification:Y}}function Q$Y(q){if(q.length===0)return;return q.reduce((K,_)=>FZK[_.priority]<FZK[K.priority]?_:K)}var Nh6,S77=8000,FD=null,FZK;var h$=y(()=>{C7();Nh6=O6(D6(),1);FZK={immediate:0,high:1,medium:2,low:3}});function pB8(q,K){let{addNotification:_}=PK(),z=yh6.useRef(q),Y=yh6.useRef(0),$=yh6.useRef(null);yh6.useEffect(()=>{let A=z.current;if(z.current=q,!K||!q||A)return;if($.current)clearTimeout($.current);return $.current=setTimeout(async(O,w,j)=>{O.current=null;let H=Date.now();if(H-w.current<l$Y)return;if(await iS4())w.current=H,j({key:d$Y,text:`Image in clipboard · ${RH("chat:imagePaste","Chat","ctrl+v")} to paste`,priority:"immediate",timeoutMs:8000})},c$Y,$,Y,_),()=>{if($.current)clearTimeout($.current),$.current=null}},[q,K,_])}var yh6,d$Y="clipboard-image-hint",c$Y=1000,l$Y=30000;var C77=y(()=>{h$();tu();hN6();yh6=O6(D6(),1)});function UZK(q,K){switch(K){case"bash":return`!${q}`;default:return q}}function jR(q){if(q.startsWith("!"))return"bash";return"prompt"}function fp(q){if(jR(q)==="prompt")return q;return q.slice(1)}function QZK(q){return q==="!"}import{join as n$Y}from"path";function b77(){let q=X8().existsSync(n$Y(Z8(),"CLAUDE.md")),K=kR7(Z8());return[{key:"workspace",text:"Ask Claude to create a new app or clone a repository",isComplete:!1,isCompletable:!0,isEnabled:K},{key:"claudemd",text:"Run /init to create a CLAUDE.md file with instructions for Claude",isComplete:q,isCompletable:!0,isEnabled:!K}]}function dZK(){return b77().filter(({isCompletable:q,isEnabled:K})=>q&&K).every(({isComplete:q})=>q)}function Eh6(){if(ww().hasCompletedProjectOnboarding)return;if(dZK())jw((q)=>({...q,hasCompletedProjectOnboarding:!0}))}function lZK(){jw((q)=>({...q,projectOnboardingSeenCount:q.projectOnboardingSeenCount+1}))}var cZK;var t18=y(()=>{F4();V1();I7();bK();e7();cZK=_1(()=>{let q=ww();if(q.hasCompletedProjectOnboarding||q.projectOnboardingSeenCount>=4||process.env.IS_DEMO)return!1;return!dZK()})});import{stat as nZK}from"fs/promises";import{homedir as i$Y}from"os";import{join as r$Y}from"path";function o$Y(q){b8((K)=>({...K,appleTerminalSetupInProgress:!0,appleTerminalBackupPath:q}))}function Lh6(){b8((q)=>({...q,appleTerminalSetupInProgress:!1}))}function a$Y(){let q=j8();return{inProgress:q.appleTerminalSetupInProgress??!1,backupPath:q.appleTerminalBackupPath||null}}function Rh6(){return r$Y(i$Y(),"Library","Preferences","com.apple.Terminal.plist")}async function iZK(){let q=Rh6(),K=`${q}.bak`;try{let{code:_}=await a8("defaults",["export","com.apple.Terminal",q]);if(_!==0)return null;try{await nZK(q)}catch{return null}return await a8("defaults",["export","com.apple.Terminal",K]),o$Y(K),K}catch(_){return H6(_),null}}async function BB8(){let{inProgress:q,backupPath:K}=a$Y();if(!q)return{status:"no_backup"};if(!K)return Lh6(),{status:"no_backup"};try{await nZK(K)}catch{return Lh6(),{status:"no_backup"}}try{let{code:_}=await a8("defaults",["import","com.apple.Terminal",K]);if(_!==0)return{status:"failed",backupPath:K};return await a8("killall",["cfprefsd"]),Lh6(),{status:"restored"}}catch(_){return H6(Error(`Failed to restore Terminal.app settings with: ${_}`)),Lh6(),{status:"failed",backupPath:K}}}var x77=y(()=>{V1();XK();E8()});import{homedir as s$Y}from"os";import{dirname as Wiw,join as O56}from"path";function t$Y(){let q=process.env.SHELL||"",K=s$Y(),_=O56(K,".claude");if(q.endsWith("/zsh")||q.endsWith("/zsh.exe")){let z=O56(_,"completion.zsh");return{name:"zsh",rcFile:O56(K,".zshrc"),cacheFile:z,completionLine:`[[ -f "${z}" ]] && source "${z}"`,shellFlag:"zsh"}}if(q.endsWith("/bash")||q.endsWith("/bash.exe")){let z=O56(_,"completion.bash");return{name:"bash",rcFile:O56(K,".bashrc"),cacheFile:z,completionLine:`[ -f "${z}" ] && source "${z}"`,shellFlag:"bash"}}if(q.endsWith("/fish")||q.endsWith("/fish.exe")){let z=process.env.XDG_CONFIG_HOME||O56(K,".config"),Y=O56(_,"completion.fish");return{name:"fish",rcFile:O56(z,"fish","config.fish"),cacheFile:Y,completionLine:`[ -f "${Y}" ] && source "${Y}"`,shellFlag:"fish"}}return null}async function I77(){let q=t$Y();if(!q)return;N(`update: Regenerating ${q.name} completion cache`);let K=process.argv[1]||"claude";if((await a8(K,["completion",q.shellFlag,"--output",q.cacheFile])).code!==0){N(`update: Failed to regenerate ${q.name} completion cache`);return}N(`update: Regenerated ${q.name} completion cache at ${q.cacheFile}`)}var u77=y(()=>{GA6();Ui();_8();y8();XK();E8()});var aZK={};T8(aZK,{shouldOfferTerminalSetup:()=>hh6,setupTerminal:()=>UB8,markBackslashReturnUsed:()=>n77,isShiftEnterKeyBindingInstalled:()=>c77,hasUsedBackslashReturn:()=>l77,getNativeCSIuTerminalDisplayName:()=>d77,call:()=>_AY});import{randomBytes as p77}from"crypto";import{copyFile as B77,mkdir as g77,readFile as F77,writeFile as U77}from"fs/promises";import{homedir as Q77,platform as gB8}from"os";import{dirname as e$Y,join as Ad}from"path";import{pathToFileURL as qAY}from"url";function KAY(){let q=process.env.VSCODE_GIT_ASKPASS_MAIN??"",K=process.env.PATH??"";return q.includes(".vscode-server")||q.includes(".cursor-server")||q.includes(".windsurf-server")||K.includes(".vscode-server")||K.includes(".cursor-server")||K.includes(".windsurf-server")}function d77(){if(!a1.terminal||!(a1.terminal in FB8))return null;return FB8[a1.terminal]??null}function xb(q){if(!Nv())return q;return`\x1B]8;;${qAY(q).href}\x07${q}\x1B]8;;\x07`}function hh6(){return gB8()==="darwin"&&a1.terminal==="Apple_Terminal"||a1.terminal==="vscode"||a1.terminal==="cursor"||a1.terminal==="windsurf"||a1.terminal==="alacritty"||a1.terminal==="zed"}async function UB8(q){let K="";switch(a1.terminal){case"Apple_Terminal":K=await zAY(q);break;case"vscode":K=await m77("VSCode",q);break;case"cursor":K=await m77("Cursor",q);break;case"windsurf":K=await m77("Windsurf",q);break;case"alacritty":K=await YAY(q);break;case"zed":K=await $AY(q);break;case null:break}return b8((_)=>{if(["vscode","cursor","windsurf","alacritty","zed"].includes(a1.terminal??"")){if(_.shiftEnterKeyBindingInstalled===!0)return _;return{..._,shiftEnterKeyBindingInstalled:!0}}else if(a1.terminal==="Apple_Terminal"){if(_.optionAsMetaKeyInstalled===!0)return _;return{..._,optionAsMetaKeyInstalled:!0}}return _}),Eh6(),K}function c77(){return j8().shiftEnterKeyBindingInstalled===!0}function l77(){return j8().hasUsedBackslashReturn===!0}function n77(){if(!j8().hasUsedBackslashReturn)b8((K)=>({...K,hasUsedBackslashReturn:!0}))}async function _AY(q,K,_){if(a1.terminal&&a1.terminal in FB8){let Y=`Shift+Enter is natively supported in ${FB8[a1.terminal]}.
5171
5172No configuration needed. Just use Shift+Enter to add newlines.`;return q(Y),null}if(!hh6()){let Y=a1.terminal||"your current terminal",$=Z1(),A="";if($==="macos")A=` • macOS: Apple Terminal

Callers 2

_AYFunction · 0.85
pnYFunction · 0.85

Calls 7

zAYFunction · 0.85
m77Function · 0.85
YAYFunction · 0.85
$AYFunction · 0.85
b8Function · 0.85
Eh6Function · 0.85
includesMethod · 0.80

Tested by

no test coverage detected