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

Function QVY

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

Source from the content-addressed store, hash-verified

6716 reconnect call reconnectEnvironmentWithSession directly
6717 status print bridge state`,CVY=async(q)=>{let K=lIK();if(!K)return{type:"text",value:"No bridge debug handle registered. Remote Control must be connected (USER_TYPE=ant)."};let[_,z,Y]=q.trim().split(/\s+/);switch(_){case"close":{let $=Number(z);if(!Number.isFinite($))return{type:"text",value:`close: need a numeric code
6718${d37}`};return K.fireClose($),{type:"text",value:`Fired transport close(${$}). Watch debug.log for [bridge:repl] recovery.`}}case"poll":{if(z==="transient")return K.injectFault({method:"pollForWork",kind:"transient",status:503,count:1}),K.wakePollLoop(),{type:"text",value:"Next poll will throw a transient (axios rejection). Poll loop woken."};let $=Number(z);if(!Number.isFinite($))return{type:"text",value:`poll: need 'transient' or a status code
6719${d37}`};let A=Y??($===404?"not_found_error":"authentication_error");return K.injectFault({method:"pollForWork",kind:"fatal",status:$,errorType:A,count:1}),K.wakePollLoop(),{type:"text",value:`Next poll will throw BridgeFatalError(${$}, ${A}). Poll loop woken.`}}case"register":{if(z==="fatal")return K.injectFault({method:"registerBridgeEnvironment",kind:"fatal",status:403,errorType:"permission_error",count:1}),{type:"text",value:"Next registerBridgeEnvironment will 403. Trigger with close/reconnect."};let $=Number(Y)||1;return K.injectFault({method:"registerBridgeEnvironment",kind:"transient",status:503,count:$}),{type:"text",value:`Next ${$} registerBridgeEnvironment call(s) will transient-fail. Trigger with close/reconnect.`}}case"reconnect-session":return K.injectFault({method:"reconnectSession",kind:"fatal",status:404,errorType:"not_found_error",count:2}),{type:"text",value:"Next 2 POST /bridge/reconnect calls will 404. doReconnect Strategy 1 falls through to Strategy 2."};case"heartbeat":{let $=Number(z)||401;return K.injectFault({method:"heartbeatWork",kind:"fatal",status:$,errorType:$===401?"authentication_error":"not_found_error",count:1}),{type:"text",value:`Next heartbeat will ${$}. Watch for onHeartbeatFatal → work-state teardown.`}}case"reconnect":return K.forceReconnect(),{type:"text",value:"Called reconnectEnvironmentWithSession(). Watch debug.log."};case"status":return{type:"text",value:K.describe()};default:return{type:"text",value:d37}}},bVY,nIK;var iIK=y(()=>{Q37();bVY={type:"local",name:"bridge-kick",description:"Inject bridge failure states for manual recovery testing",isEnabled:()=>!1,supportsNonInteractive:!1,load:()=>Promise.resolve({call:CVY})},nIK=bVY});var xVY=async()=>{return{type:"text",value:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.BUILD_TIME?`${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} (built ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.BUILD_TIME})`:{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION}},IVY,rIK;var oIK=y(()=>{IVY={type:"local",name:"version",description:"Print the version this session is running (not what autoupdate downloaded)",isEnabled:()=>!1,supportsNonInteractive:!0,load:()=>Promise.resolve({call:xVY})},rIK=IVY});var c37;var aIK=y(()=>{c37={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var sIK,tIK,eIK;var quK=y(()=>{sIK={isEnabled:()=>!1,isHidden:!0,name:"stub"},tIK=sIK,eIK=sIK});var KuK;var _uK=y(()=>{KuK={isEnabled:()=>!1,isHidden:!0,name:"stub"}});var zuK;var YuK=y(()=>{zuK={isEnabled:()=>!1,isHidden:!0,name:"stub"}});function $uK(){let q=z6(3),K=M7.isSandboxingEnabled(),_;if(q[0]===Symbol.for("react.memo_cache_sentinel")){let $=M7.checkDependencies();_=$.warnings.length>0?C5.createElement(u,{marginTop:1,flexDirection:"column"},$.warnings.map(uVY)):null,q[0]=_}else _=q[0];let z=_;if(!K){let $;if(q[1]===Symbol.for("react.memo_cache_sentinel"))$=C5.createElement(u,{flexDirection:"column",paddingY:1},C5.createElement(k,{color:"subtle"},"Sandbox is not enabled"),z),q[1]=$;else $=q[1];return $}let Y;if(q[2]===Symbol.for("react.memo_cache_sentinel")){let $=M7.getFsReadConfig(),A=M7.getFsWriteConfig(),O=M7.getNetworkRestrictionConfig(),w=M7.getAllowUnixSockets(),j=M7.getExcludedCommands(),H=M7.getLinuxGlobPatternWarnings();Y=C5.createElement(u,{flexDirection:"column",paddingY:1},C5.createElement(u,{flexDirection:"column"},C5.createElement(k,{bold:!0,color:"permission"},"Excluded Commands:"),C5.createElement(k,{dimColor:!0},j.length>0?j.join(", "):"None")),$.denyOnly.length>0&&C5.createElement(u,{marginTop:1,flexDirection:"column"},C5.createElement(k,{bold:!0,color:"permission"},"Filesystem Read Restrictions:"),C5.createElement(k,{dimColor:!0},"Denied: ",$.denyOnly.join(", ")),$.allowWithinDeny&&$.allowWithinDeny.length>0&&C5.createElement(k,{dimColor:!0},"Allowed within denied: ",$.allowWithinDeny.join(", "))),A.allowOnly.length>0&&C5.createElement(u,{marginTop:1,flexDirection:"column"},C5.createElement(k,{bold:!0,color:"permission"},"Filesystem Write Restrictions:"),C5.createElement(k,{dimColor:!0},"Allowed: ",A.allowOnly.join(", ")),A.denyWithinAllow.length>0&&C5.createElement(k,{dimColor:!0},"Denied within allowed: ",A.denyWithinAllow.join(", "))),(O.allowedHosts&&O.allowedHosts.length>0||O.deniedHosts&&O.deniedHosts.length>0)&&C5.createElement(u,{marginTop:1,flexDirection:"column"},C5.createElement(k,{bold:!0,color:"permission"},"Network Restrictions",lA6()?" (Managed)":"",":"),O.allowedHosts&&O.allowedHosts.length>0&&C5.createElement(k,{dimColor:!0},"Allowed: ",O.allowedHosts.join(", ")),O.deniedHosts&&O.deniedHosts.length>0&&C5.createElement(k,{dimColor:!0},"Denied: ",O.deniedHosts.join(", "))),w&&w.length>0&&C5.createElement(u,{marginTop:1,flexDirection:"column"},C5.createElement(k,{bold:!0,color:"permission"},"Allowed Unix Sockets:"),C5.createElement(k,{dimColor:!0},w.join(", "))),H.length>0&&C5.createElement(u,{marginTop:1,flexDirection:"column"},C5.createElement(k,{bold:!0,color:"warning"},"⚠ Warning: Glob patterns not fully supported on Linux"),C5.createElement(k,{dimColor:!0},"The following patterns will be ignored:"," ",H.slice(0,3).join(", "),H.length>3&&` (${H.length-3} more)`)),z),q[2]=Y}else Y=q[2];return Y}function uVY(q,K){return C5.createElement(k,{key:K,dimColor:!0},q)}var C5;var AuK=y(()=>{q8();s6();K$();C5=O6(D6(),1)});function l37(q){let K=z6(24),{depCheck:_}=q,z;if(K[0]===Symbol.for("react.memo_cache_sentinel"))z=Z1(),K[0]=z;else z=K[0];let $=z==="macos",A;if(K[1]!==_.errors)A=_.errors.some(FVY),K[1]=_.errors,K[2]=A;else A=K[2];let O=A,w;if(K[3]!==_.errors)w=_.errors.some(gVY),K[3]=_.errors,K[4]=w;else w=K[4];let j=w,H;if(K[5]!==_.errors)H=_.errors.some(BVY),K[5]=_.errors,K[6]=H;else H=K[6];let J=H,M=_.warnings.length>0,X;if(K[7]!==j||K[8]!==_.errors||K[9]!==O||K[10]!==M||K[11]!==J){let P=_.errors.filter(pVY),W=$?"brew install ripgrep":"apt install ripgrep",D;if(K[13]===Symbol.for("react.memo_cache_sentinel"))D=$&&x$.default.createElement(u,{flexDirection:"column"},x$.default.createElement(k,null,"seatbelt: ",x$.default.createElement(k,{color:"success"},"built-in (macOS)"))),K[13]=D;else D=K[13];let f,G;if(K[14]!==O)f=x$.default.createElement(k,null,"ripgrep (rg):"," ",O?x$.default.createElement(k,{color:"error"},"not found"):x$.default.createElement(k,{color:"success"},"found")),G=O&&x$.default.createElement(k,{dimColor:!0}," ","· ",W),K[14]=O,K[15]=f,K[16]=G;else f=K[15],G=K[16];let Z;if(K[17]!==f||K[18]!==G)Z=x$.default.createElement(u,{flexDirection:"column"},f,G),K[17]=f,K[18]=G,K[19]=Z;else Z=K[19];let T;if(K[20]!==j||K[21]!==M||K[22]!==J)T=!$&&x$.default.createElement(x$.default.Fragment,null,x$.default.createElement(u,{flexDirection:"column"},x$.default.createElement(k,null,"bubblewrap (bwrap):"," ",j?x$.default.createElement(k,{color:"error"},"not installed"):x$.default.createElement(k,{color:"success"},"installed")),j&&x$.default.createElement(k,{dimColor:!0}," ","· apt install bubblewrap")),x$.default.createElement(u,{flexDirection:"column"},x$.default.createElement(k,null,"socat:"," ",J?x$.default.createElement(k,{color:"error"},"not installed"):x$.default.createElement(k,{color:"success"},"installed")),J&&x$.default.createElement(k,{dimColor:!0}," ","· apt install socat")),x$.default.createElement(u,{flexDirection:"column"},x$.default.createElement(k,null,"seccomp filter:"," ",M?x$.default.createElement(k,{color:"warning"},"not installed"):x$.default.createElement(k,{color:"success"},"installed"),M&&x$.default.createElement(k,{dimColor:!0}," (required to block unix domain sockets)")),M&&x$.default.createElement(u,{flexDirection:"column"},x$.default.createElement(k,{dimColor:!0}," ","· npm install -g @anthropic-ai/sandbox-runtime"),x$.default.createElement(k,{dimColor:!0}," ","· or copy vendor/seccomp/* from sandbox-runtime and set"),x$.default.createElement(k,{dimColor:!0}," ","sandbox.seccomp.bpfPath and applyPath in settings.json")))),K[20]=j,K[21]=M,K[22]=J,K[23]=T;else T=K[23];X=x$.default.createElement(u,{flexDirection:"column",paddingY:1,gap:1},D,Z,T,P.map(mVY)),K[7]=j,K[8]=_.errors,K[9]=O,K[10]=M,K[11]=J,K[12]=X}else X=K[12];return X}function mVY(q){return x$.default.createElement(k,{key:q,color:"error"},q)}function pVY(q){return!q.includes("ripgrep")&&!q.includes("bwrap")&&!q.includes("socat")}function BVY(q){return q.includes("socat")}function gVY(q){return q.includes("bwrap")}function FVY(q){return q.includes("ripgrep")}var x$;var OuK=y(()=>{q8();s6();vK();x$=O6(D6(),1)});function wuK(q){let K=z6(5),{onComplete:_}=q,z=M7.isSandboxingEnabled(),Y=M7.areSandboxSettingsLockedByPolicy(),$=M7.areUnsandboxedCommandsAllowed();if(!z){let O;if(K[0]===Symbol.for("react.memo_cache_sentinel"))O=$W.default.createElement(u,{flexDirection:"column",paddingY:1},$W.default.createElement(k,{color:"subtle"},"Sandbox is not enabled. Enable sandbox to configure override settings.")),K[0]=O;else O=K[0];return O}if(Y){let O;if(K[1]===Symbol.for("react.memo_cache_sentinel"))O=$W.default.createElement(k,{color:"subtle"},"Override settings are managed by a higher-priority configuration and cannot be changed locally."),K[1]=O;else O=K[1];let w;if(K[2]===Symbol.for("react.memo_cache_sentinel"))w=$W.default.createElement(u,{flexDirection:"column",paddingY:1},O,$W.default.createElement(u,{marginTop:1},$W.default.createElement(k,{dimColor:!0},"Current setting:"," ",$?"Allow unsandboxed fallback":"Strict sandbox mode"))),K[2]=w;else w=K[2];return w}let A;if(K[3]!==_)A=$W.default.createElement(UVY,{onComplete:_,currentMode:$?"open":"closed"}),K[3]=_,K[4]=A;else A=K[4];return A}function UVY(q){let K=z6(25),{onComplete:_,currentMode:z}=q,[Y]=Aq(),{headerFocused:$,focusHeader:A}=$T(),O;if(K[0]!==Y)O=h7("success",Y)("(current)"),K[0]=Y,K[1]=O;else O=K[1];let w=O,j=z==="open"?`Allow unsandboxed fallback ${w}`:"Allow unsandboxed fallback",H;if(K[2]!==j)H={label:j,value:"open"},K[2]=j,K[3]=H;else H=K[3];let J=z==="closed"?`Strict sandbox mode ${w}`:"Strict sandbox mode",M;if(K[4]!==J)M={label:J,value:"closed"},K[4]=J,K[5]=M;else M=K[5];let X;if(K[6]!==H||K[7]!==M)X=[H,M],K[6]=H,K[7]=M,K[8]=X;else X=K[8];let P=X,W;if(K[9]!==_)W=async function(R){let x=R;await M7.setSandboxSettings({allowUnsandboxedCommands:x==="open"}),_(x==="open"?"✓ Unsandboxed fallback allowed - commands can run outside sandbox when necessary":"✓ Strict sandbox mode - all commands must run in sandbox or be excluded via the `excludedCommands` option")},K[9]=_,K[10]=W;else W=K[10];let D=W,f;if(K[11]===Symbol.for("react.memo_cache_sentinel"))f=$W.default.createElement(u,{marginBottom:1},$W.default.createElement(k,{bold:!0},"Configure Overrides:")),K[11]=f;else f=K[11];let G;if(K[12]!==_)G=()=>_(void 0,{display:"skip"}),K[12]=_,K[13]=G;else G=K[13];let Z;if(K[14]!==A||K[15]!==D||K[16]!==$||K[17]!==P||K[18]!==G)Z=$W.default.createElement(H1,{options:P,onChange:D,onCancel:G,onUpFromFirstItem:A,isDisabled:$}),K[14]=A,K[15]=D,K[16]=$,K[17]=P,K[18]=G,K[19]=Z;else Z=K[19];let T;if(K[20]===Symbol.for("react.memo_cache_sentinel"))T=$W.default.createElement(k,{dimColor:!0},$W.default.createElement(k,{bold:!0,dimColor:!0},"Allow unsandboxed fallback:")," ","When a command fails due to sandbox restrictions, Claude can retry with dangerouslyDisableSandbox to run outside the sandbox (falling back to default permissions)."),K[20]=T;else T=K[20];let v;if(K[21]===Symbol.for("react.memo_cache_sentinel"))v=$W.default.createElement(k,{dimColor:!0},$W.default.createElement(k,{bold:!0,dimColor:!0},"Strict sandbox mode:")," ","All bash commands invoked by the model must run in the sandbox unless they are explicitly listed in excludedCommands."),K[21]=v;else v=K[21];let V;if(K[22]===Symbol.for("react.memo_cache_sentinel"))V=$W.default.createElement(u,{flexDirection:"column",marginTop:1,gap:1},T,v,$W.default.createElement(k,{dimColor:!0},"Learn more:"," ",$W.default.createElement(hq,{url:"https://code.claude.com/docs/en/sandboxing#configure-sandboxing"},"code.claude.com/docs/en/sandboxing#configure-sandboxing"))),K[22]=V;else V=K[22];let E;if(K[23]!==Z)E=$W.default.createElement(u,{flexDirection:"column",paddingY:1},f,Z,V),K[23]=Z,K[24]=E;else E=K[24];return E}var $W;var juK=y(()=>{q8();s6();K$();p3();gb();$W=O6(D6(),1)});function HuK(q){let K=z6(34),{onComplete:_,depCheck:z}=q,[Y]=Aq(),$=M7.isSandboxingEnabled(),A=M7.isAutoAllowBashIfSandboxedEnabled(),O=z.warnings.length>0,w;if(K[0]===Symbol.for("react.memo_cache_sentinel"))w=Z7(),K[0]=w;else w=K[0];let H=w.sandbox?.network?.allowAllUnixSockets,J=O&&!H,X=(()=>{if(!$)return"disabled";if(A)return"auto-allow";return"regular"})(),P;if(K[1]!==Y)P=h7("success",Y)("(current)"),K[1]=Y,K[2]=P;else P=K[2];let W=P,D=X==="auto-allow"?`Sandbox BashTool, with auto-allow ${W}`:"Sandbox BashTool, with auto-allow",f;if(K[3]!==D)f={label:D,value:"auto-allow"},K[3]=D,K[4]=f;else f=K[4];let G=X==="regular"?`Sandbox BashTool, with regular permissions ${W}`:"Sandbox BashTool, with regular permissions",Z;if(K[5]!==G)Z={label:G,value:"regular"},K[5]=G,K[6]=Z;else Z=K[6];let T=X==="disabled"?`No Sandbox ${W}`:"No Sandbox",v;if(K[7]!==T)v={label:T,value:"disabled"},K[7]=T,K[8]=v;else v=K[8];let V;if(K[9]!==f||K[10]!==Z||K[11]!==v)V=[f,Z,v],K[9]=f,K[10]=Z,K[11]=v,K[12]=V;else V=K[12];let E=V,S;if(K[13]!==_)S=async function(i){let $6=i;q:switch($6){case"auto-allow":{await M7.setSandboxSettings({enabled:!0,autoAllowBashIfSandboxed:!0}),_("✓ Sandbox enabled with auto-allow for bash commands");break q}case"regular":{await M7.setSandboxSettings({enabled:!0,autoAllowBashIfSandboxed:!1}),_("✓ Sandbox enabled with regular bash permissions");break q}case"disabled":await M7.setSandboxSettings({enabled:!1,autoAllowBashIfSandboxed:!1}),_("○ Sandbox disabled")}},K[13]=_,K[14]=S;else S=K[14];let R=S,x;if(K[15]!==_)x={"confirm:no":()=>_(void 0,{display:"skip"})},K[15]=_,K[16]=x;else x=K[16];let I;if(K[17]===Symbol.for("react.memo_cache_sentinel"))I={context:"Settings"},K[17]=I;else I=K[17];o7(x,I);let B;if(K[18]!==R||K[19]!==_||K[20]!==E||K[21]!==J)B=ij.default.createElement(cO,{key:"mode",title:"Mode"},ij.default.createElement(QVY,{showSocketWarning:J,options:E,onSelect:R,onComplete:_})),K[18]=R,K[19]=_,K[20]=E,K[21]=J,K[22]=B;else B=K[22];let p=B,C;if(K[23]!==_)C=ij.default.createElement(cO,{key:"overrides",title:"Overrides"},ij.default.createElement(wuK,{onComplete:_})),K[23]=_,K[24]=C;else C=K[24];let g=C,F;if(K[25]===Symbol.for("react.memo_cache_sentinel"))F=ij.default.createElement(cO,{key:"config",title:"Config"},ij.default.createElement($uK,null)),K[25]=F;else F=K[25];let U=F,c=z.errors.length>0,K6;if(K[26]!==z||K[27]!==c||K[28]!==O||K[29]!==p||K[30]!==g)K6=c?[ij.default.createElement(cO,{key:"dependencies",title:"Dependencies"},ij.default.createElement(l37,{depCheck:z}))]:[p,...O?[ij.default.createElement(cO,{key:"dependencies",title:"Dependencies"},ij.default.createElement(l37,{depCheck:z}))]:[],g,U],K[26]=z,K[27]=c,K[28]=O,K[29]=p,K[30]=g,K[31]=K6;else K6=K[31];let t=K6,q6;if(K[32]!==t)q6=ij.default.createElement(Q_,{color:"permission"},ij.default.createElement(Bb,{title:"Sandbox:",color:"permission",defaultTab:"Mode"},t)),K[32]=t,K[33]=q6;else q6=K[33];return q6}function QVY(q){let K=z6(16),{showSocketWarning:_,options:z,onSelect:Y,onComplete:$}=q,{headerFocused:A,focusHeader:O}=$T(),w;if(K[0]!==_)w=_&&ij.default.createElement(u,{marginBottom:1},ij.default.createElement(k,{color:"warning"},"Cannot block unix domain sockets (see Dependencies tab)")),K[0]=_,K[1]=w;else w=K[1];let j;if(K[2]===Symbol.for("react.memo_cache_sentinel"))j=ij.default.createElement(u,{marginBottom:1},ij.default.createElement(k,{bold:!0},"Configure Mode:")),K[2]=j;else j=K[2];let H;if(K[3]!==$)H=()=>$(void 0,{display:"skip"}),K[3]=$,K[4]=H;else H=K[4];let J;if(K[5]!==O||K[6]!==A||K[7]!==Y||K[8]!==z||K[9]!==H)J=ij.default.createElement(H1,{options:z,onChange:Y,onCancel:H,onUpFromFirstItem:O,isDisabled:A}),K[5]=O,K[6]=A,K[7]=Y,K[8]=z,K[9]=H,K[10]=J;else J=K[10];let M;if(K[11]===Symbol.for("react.memo_cache_sentinel"))M=ij.default.createElement(k,{dimColor:!0},ij.default.createElement(k,{bold:!0,dimColor:!0},"Auto-allow mode:")," ","Commands will try to run in the sandbox automatically, and attempts to run outside of the sandbox fallback to regular permissions. Explicit ask/deny rules are always respected."),K[11]=M;else M=K[11];let X;if(K[12]===Symbol.for("react.memo_cache_sentinel"))X=ij.default.createElement(u,{flexDirection:"column",marginTop:1,gap:1},M,ij.default.createElement(k,{dimColor:!0},"Learn more:"," ",ij.default.createElement(hq,{url:"https://code.claude.com/docs/en/sandboxing"},"code.claude.com/docs/en/sandboxing"))),K[12]=X;else X=K[12];let P;if(K[13]!==w||K[14]!==J)P=ij.default.createElement(u,{flexDirection:"column",paddingY:1},w,j,J,X),K[13]=w,K[14]=J,K[15]=P;else P=K[15];return P}var ij;var JuK=y(()=>{q8();s6();Oq();K$();U1();p3();pP();gb();AuK();OuK();juK();ij=O6(D6(),1)});var XuK={};T8(XuK,{call:()=>cVY});import{relative as dVY}from"path";async function cVY(q,K,_){let Y=Z7().theme||"light",$=Z1();if(!M7.isSupportedPlatform()){let w=$==="wsl"?"Error: Sandboxing requires WSL2. WSL1 is not supported.":"Error: Sandboxing is currently only supported on macOS, Linux, and WSL2.",j=h7("error",Y)(w);return q(j),null}let A=M7.checkDependencies();if(!M7.isPlatformInEnabledList()){let w=h7("error",Y)(`Error: Sandboxing is disabled for this platform (${$}) via the enabledPlatforms setting.`);return q(w),null}if(M7.areSandboxSettingsLockedByPolicy()){let w=h7("error",Y)("Error: Sandbox settings are overridden by a higher-priority configuration and cannot be changed locally.");return q(w),null}let O=_?.trim()||"";if(!O)return MuK.default.createElement(HuK,{onComplete:q,depCheck:A});if(O){let j=O.split(" ")[0];if(j==="exclude"){let H=O.slice(8).trim();if(!H){let W=h7("error",Y)('Error: Please provide a command pattern to exclude (e.g., /sandbox exclude "npm run test:*")');return q(W),null}let J=H.replace(/^["']|["']$/g,"");_S1(J);let M=Hj("localSettings"),X=M?dVY(Vx(),M):".claude/settings.local.json",P=h7("success",Y)(`Added "${J}" to excluded commands in ${X}`);return q(P),null}else{let H=h7("error",Y)(`Error: Unknown subcommand "${j}". Available subcommand: exclude`);return q(H),null}}return null}var MuK;var PuK=y(()=>{v8();JuK();s6();vK();K$();U1();MuK=O6(D6(),1)});var lVY,WuK;var DuK=y(()=>{bq();K$();lVY={name:"sandbox",get description(){let q=M7.isSandboxingEnabled(),K=M7.isAutoAllowBashIfSandboxedEnabled(),_=M7.areUnsandboxedCommandsAllowed(),z=M7.areSandboxSettingsLockedByPolicy(),Y=M7.checkDependencies().errors.length===0,$;if(!Y)$=t6.warning;else $=q?t6.tick:t6.circle;let A="sandbox disabled";if(q)A=K?"sandbox enabled (auto-allow)":"sandbox enabled",A+=_?", fallback allowed":"";if(z)A+=" (managed)";return`${$} ${A} (⏎ to configure)`},argumentHint:'exclude "command pattern"',get isHidden(){return!M7.isSupportedPlatform()||!M7.isPlatformInEnabledList()},immediate:!0,type:"local-jsx",load:()=>Promise.resolve().then(() => (PuK(),XuK))},WuK=lVY});import{readdir as fuK}from"fs/promises";import{join as nVY}from"path";function rVY(){return[iVY]}async function oVY(q,K){if(q.length===0)return K?.("[Claude in Chrome] No browser paths to check"),{isInstalled:!1,browser:null};let _=rVY();for(let{browser:z,path:Y}of q){let $=[];try{$=await fuK(Y,{withFileTypes:!0})}catch(O){if(e3(O))continue;throw O}let A=$.filter((O)=>O.isDirectory()).filter((O)=>O.name==="Default"||O.name.startsWith("Profile ")).map((O)=>O.name);if(A.length>0)K?.(`[Claude in Chrome] Found ${z} profiles: ${A.join(", ")}`);for(let O of A)for(let w of _){let j=nVY(Y,O,"Extensions",w);try{return await fuK(j),K?.(`[Claude in Chrome] Extension ${w} found in ${z} ${O}`),{isInstalled:!0,browser:z}}catch{}}}return K?.("[Claude in Chrome] Extension not found in any browser"),{isInstalled:!1,browser:null}}async function ZuK(q,K){return(await oVY(q,K)).isInstalled}var iVY="fcoeoabgfenejglbffodgkkbkcdhcgfn";var GuK=y(()=>{y8()});import{chmod as aVY,mkdir as VuK,readFile as NuK,writeFile as yuK}from"fs/promises";import{homedir as sVY}from"os";import{join as fs}from"path";import{fileURLToPath as tVY}from"url";function UU8(q){if(i7()&&q!==!0)return!1;if(q===!0)return!0;if(q===!1)return!1;if(i6(process.env.CLAUDE_CODE_ENABLE_CFC))return!0;if(k_(process.env.CLAUDE_CODE_ENABLE_CFC))return!1;let K=j8();if(K.claudeInChromeDefaultEnabled!==void 0)return K.claudeInChromeDefaultEnabled;return!1}function xS6(){if(FU8!==void 0)return FU8;return FU8=ET()&&_NY()&&g8("tengu_chrome_auto_enable",!1),FU8}function i37(){let q=jj(),K=pc.map((Y)=>`mcp__claude-in-chrome__${Y.name}`),_={};if(s36())_.CLAUDE_CHROME_PERMISSION_MODE="skip_all_permission_checks";let z=Object.keys(_).length>0;if(q){let Y=`"${process.execPath}" --chrome-native-host`;return kuK(Y).then(($)=>vuK($)).catch(($)=>N(`[Claude in Chrome] Failed to install native host: ${$}`,{level:"error"})),{mcpConfig:{[yN]:{type:"stdio",command:process.execPath,args:["--claude-in-chrome-mcp"],scope:"dynamic",...z&&{env:_}}},allowedTools:K,systemPrompt:j17()}}else{let Y=tVY(import.meta.url),$=fs(Y,".."),A=fs($,"cli.js");return kuK(`"${process.execPath}" "${A}" --chrome-native-host`).then((w)=>vuK(w)).catch((w)=>N(`[Claude in Chrome] Failed to install native host: ${w}`,{level:"error"})),{mcpConfig:{[yN]:{type:"stdio",command:process.execPath,args:[`${A}`,"--claude-in-chrome-mcp"],scope:"dynamic",...z&&{env:_}}},allowedTools:K,systemPrompt:j17()}}}function qNY(){if(Z1()==="windows"){let K=sVY(),_=process.env.APPDATA||fs(K,"AppData","Local");return[fs(_,"Claude Code","ChromeNativeHost")]}return AR4().map(({path:K})=>K)}async function vuK(q){let K=qNY();if(K.length===0)throw Error("Claude in Chrome Native Host not supported on this platform");let _={name:n37,description:"Claude Code Browser Extension Native Host",path:q,type:"stdio",allowed_origins:["chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/",...[]]},z=g6(_,null,2),Y=!1;for(let $ of K){let A=fs($,TuK);if(await NuK(A,"utf-8").catch(()=>null)===z)continue;try{await VuK($,{recursive:!0}),await yuK(A,z),N(`[Claude in Chrome] Installed native host manifest at: ${A}`),Y=!0}catch(w){N(`[Claude in Chrome] Failed to install manifest at ${A}: ${w}`)}}if(Z1()==="windows"){let $=fs(K[0],TuK);KNY($)}if(Y)Zs().then(($)=>{if($)N("[Claude in Chrome] First-time install detected, opening reconnect page in browser"),ty8(eVY);else N("[Claude in Chrome] First-time install detected, but extension not installed, skipping reconnect")})}function KNY(q){let K=OR4();for(let{browser:_,key:z}of K){let Y=`${z}\\${n37}`;S7("reg",["add",Y,"/ve","/t","REG_SZ","/d",q,"/f"]).then(($)=>{if($.code===0)N(`[Claude in Chrome] Registered native host for ${_} in Windows registry: ${Y}`);else N(`[Claude in Chrome] Failed to register native host for ${_} in Windows registry: ${$.stderr}`)})}}async function kuK(q){let K=Z1(),_=fs(c1(),"chrome"),z=K==="windows"?fs(_,"chrome-native-host.bat"):fs(_,"chrome-native-host"),Y=K==="windows"?`@echo off
6720REM Chrome native host wrapper script
6721REM Generated by Claude Code - do not edit manually

Callers

nothing calls this directly

Calls 5

z6Function · 0.85
$TFunction · 0.85
createElementMethod · 0.80
$Function · 0.70
forMethod · 0.45

Tested by

no test coverage detected