| 16462 | Shut down your team and prepare your final response for the user.`,n75=1e4,Vl8,vl8;var zq5=y(()=>{U37();aN6();Qc8();T75();yA();v75();y75();BD();Fu();yU8();k8();o1();_8();oY();Bq();SP();p2();z48();tS6();E8();J18();qL6();h78();y78();hP();jm();ww6();S75();NG();dz();To6();y18();C75();_B8();RA();c9();x75();I7();y47();By8();ZD();Q46();Mz7();yz7();Fj();vO();o$7();B2();nS6();PS6();lA7();wg8();JK6();TU();RY();U1();NF();R77();xf();fX();zw6();nv();G7();Et6();iy6();Az();uJ8();v8();GU();m75();_K();xr();PD();f0();or();CE8();y$();lM();ok();NJ();VV6();f0();lN6();yS6();i1();Y47();RY();ZU();aq();I88();q0();WL();HG();Yn();v8();D$6();oN();a48();K$();mr6();MH6();M0();l8();Ec8();yA();m8();U75();gU8();bj();AY();RJ();RD();gj();J0();Te1();pC();o1();y8();rw();d75=(fA7(),Eq(BtK)),toY=(MA7(),Eq(htK)),c75=(gr(),Eq(oy4)),eoY=(H18(),Eq(fp8)),Vl8=new Set,vl8=[]});var Oq5={};T8(Oq5,{teleportWithProgress:()=>jaY,TeleportProgress:()=>Aq5});function Aq5(q){let K=z6(16),{currentStep:_,sessionId:z}=q,[Y,$]=vH(100),A=Math.floor($/100)%oA7.length,O;if(K[0]!==_)O=(W)=>W.key===_,K[0]=_,K[1]=O;else O=K[1];let w=Yq5.findIndex(O),j=oA7[A],H;if(K[2]!==j)H=Cw.createElement(u,{marginBottom:1},Cw.createElement(k,{bold:!0,color:"claude"},j," Teleporting session…")),K[2]=j,K[3]=H;else H=K[3];let J;if(K[4]!==z)J=z&&Cw.createElement(u,{marginBottom:1},Cw.createElement(k,{dimColor:!0},z)),K[4]=z,K[5]=J;else J=K[5];let M;if(K[6]!==w||K[7]!==A)M=Yq5.map((W,D)=>{let f=D<w,G=D===w,Z=D>w,T,v;if(f)T=t6.tick,v="green";else if(G)T=oA7[A],v="claude";else T=t6.circle,v=void 0;return Cw.createElement(u,{key:W.key,flexDirection:"row"},Cw.createElement(u,{width:2},Cw.createElement(k,{color:v,dimColor:Z},T)),Cw.createElement(k,{dimColor:Z,bold:G},W.label))}),K[6]=w,K[7]=A,K[8]=M;else M=K[8];let X;if(K[9]!==M)X=Cw.createElement(u,{flexDirection:"column",marginLeft:2},M),K[9]=M,K[10]=X;else X=K[10];let P;if(K[11]!==Y||K[12]!==H||K[13]!==J||K[14]!==X)P=Cw.createElement(u,{ref:Y,flexDirection:"column",paddingX:1,paddingY:1},H,J,X),K[11]=Y,K[12]=H,K[13]=J,K[14]=X,K[15]=P;else P=K[15];return P}async function jaY(q,K){let _=()=>{};function z(){let[O,w]=$q5.useState("validating");return _=w,Cw.createElement(Aq5,{currentStep:O,sessionId:K})}q.render(Cw.createElement(LJ,null,Cw.createElement(z,null)));let Y=await Ej6(K,_);_("checking_out");let{branchName:$,branchError:A}=await G68(Y.branch);return{messages:Z68(Y.log,A),branchName:$}}var Cw,$q5,oA7,Yq5;var wq5=y(()=>{q8();bq();s6();C7();am();Cw=O6(D6(),1),$q5=O6(D6(),1),oA7=["◐","◓","◑","◒"],Yq5=[{key:"validating",label:"Validating session"},{key:"fetching_logs",label:"Fetching session logs"},{key:"fetching_branch",label:"Getting branch info"},{key:"checking_out",label:"Checking out branch"}]});function jq5(q){let K=z6(36),{servers:_,scope:z,onDone:Y}=q,$;if(K[0]!==_)$=Object.keys(_),K[0]=_,K[1]=$;else $=K[1];let A=$,O;if(K[2]===Symbol.for("react.memo_cache_sentinel"))O={},K[2]=O;else O=K[2];let[w,j]=TZ.useState(O),H,J;if(K[3]===Symbol.for("react.memo_cache_sentinel"))H=()=>{Iq6().then((g)=>{let{servers:F}=g;return j(F)})},J=[],K[3]=H,K[4]=J;else H=K[3],J=K[4];TZ.useEffect(H,J);let M;if(K[5]!==w||K[6]!==A)M=A.filter((g)=>w[g]!==void 0),K[5]=w,K[6]=A,K[7]=M;else M=K[7];let X=M,P=async function(F){let U=0;for(let c of F){let K6=_[c];if(K6){let t=c;if(w[t]!==void 0){let q6=1;while(w[`${c}_${q6}`]!==void 0)q6++;t=`${c}_${q6}`}await xq6(t,K6,z),U++}}f(U)},[W]=Aq(),D;if(K[8]!==Y||K[9]!==z||K[10]!==W)D=(g)=>{if(g>0)C4(` |
| 16463 | ${h7("success",W)(`Successfully imported ${g} MCP ${A7(g,"server")} to ${z} config.`)} |
| 16464 | `);else C4(` |
| 16465 | No servers were imported.`);Y(),xK()},K[8]=Y,K[9]=z,K[10]=W,K[11]=D;else D=K[11];let f=D,G;if(K[12]!==f)G=()=>{f(0)},K[12]=f,K[13]=G;else G=K[13];let Z=G,T=A.length,v;if(K[14]!==A.length)v=A7(A.length,"server"),K[14]=A.length,K[15]=v;else v=K[15];let V=`Found ${T} MCP ${v} in Claude Desktop.`,E;if(K[16]!==X.length)E=X.length>0&&TZ.default.createElement(k,{color:"warning"},"Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."),K[16]=X.length,K[17]=E;else E=K[17];let S;if(K[18]===Symbol.for("react.memo_cache_sentinel"))S=TZ.default.createElement(k,null,"Please select the servers you want to import:"),K[18]=S;else S=K[18];let R,x;if(K[19]!==X||K[20]!==A)R=A.map((g)=>({label:`${g}${X.includes(g)?" (already exists)":""}`,value:g})),x=A.filter((g)=>!X.includes(g)),K[19]=X,K[20]=A,K[21]=R,K[22]=x;else R=K[21],x=K[22];let I;if(K[23]!==Z||K[24]!==P||K[25]!==R||K[26]!==x)I=TZ.default.createElement(Y46,{options:R,defaultValue:x,onSubmit:P,onCancel:Z,hideIndexes:!0}),K[23]=Z,K[24]=P,K[25]=R,K[26]=x,K[27]=I;else I=K[27];let B;if(K[28]!==Z||K[29]!==V||K[30]!==E||K[31]!==I)B=TZ.default.createElement(R1,{title:"Import MCP Servers from Claude Desktop",subtitle:V,color:"success",onCancel:Z,hideInputGuide:!0},E,S,I),K[28]=Z,K[29]=V,K[30]=E,K[31]=I,K[32]=B;else B=K[32];let p;if(K[33]===Symbol.for("react.memo_cache_sentinel"))p=TZ.default.createElement(u,{paddingX:1},TZ.default.createElement(k,{dimColor:!0,italic:!0},TZ.default.createElement(I1,null,TZ.default.createElement(t8,{shortcut:"Space",action:"select"}),TZ.default.createElement(t8,{shortcut:"Enter",action:"confirm"}),TZ.default.createElement(W1,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})))),K[33]=p;else p=K[33];let C;if(K[34]!==B)C=TZ.default.createElement(TZ.default.Fragment,null,B,p),K[34]=B,K[35]=C;else C=K[35];return C}var TZ;var Hq5=y(()=>{q8();RA();s6();f0();a5();Ys6();QK();e4();rK();TZ=O6(D6(),1)});var Jq5={};T8(Jq5,{startMCPServer:()=>JaY});async function JaY(q,K,_){let Y=Bu(100);QO(q);let $=new B96({name:"claude/tengu",version:{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},{capabilities:{tools:{}}});$.setRequestHandler(ac,async()=>{let O=MX(),w=gD(O);return{tools:await Promise.all(w.map(async(j)=>{let H;if(j.outputSchema){let J=ua(j.outputSchema);if(typeof J==="object"&&J!==null&&"type"in J&&J.type==="object")H=J}return{...j,description:await j.prompt({getToolPermissionContext:async()=>O,tools:w,agents:[]}),inputSchema:ua(j.inputSchema),outputSchema:H}}))}}),$.setRequestHandler(XB,async({params:{name:O,arguments:w}})=>{let j=MX(),H=gD(j),J=L5(H,O);if(!J)throw Error(`Tool ${O} not found`);let M={abortController:P3(),options:{commands:HaY,tools:H,mainLoopModel:D5(),thinkingConfig:{type:"disabled"},mcpClients:[],mcpResources:{},isNonInteractiveSession:!0,debug:K,verbose:_,agentDefinitions:{activeAgents:[],allAgents:[]}},getAppState:()=>$w6(),setAppState:()=>{},messages:[],readFileState:Y,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},updateAttributionState:()=>{}};try{if(!J.isEnabled())throw Error(`Tool ${O} is not enabled`);let X=await J.validateInput?.(w??{},M);if(X&&!X.result)throw Error(`Tool ${O} input is invalid: ${X.message}`);let P=await J.call(w??{},M,uX,nG({content:[]}));return{content:[{type:"text",text:typeof P==="string"?P:g6(P.data)}]}}catch(X){return H6(X),{isError:!0,content:[{type:"text",text:(X instanceof Error?K87(X):[String(X)]).filter(Boolean).join(` |
| 16466 | `).trim()||"Error"}]}}});async function A(){let O=new g96;await $.connect(O)}return await A()}var HaY;var Mq5=y(()=>{rz8();sz8();lM();EV6();m57();Bq();BD();B2();NG();E8();i1();aq();Fj();tN();l8();Op8();dp8();HaY=[$U8]});var Dq5={};T8(Dq5,{readClaudeDesktopMcpServers:()=>WaY,getClaudeDesktopConfigPath:()=>Wq5});import{readdir as MaY,readFile as XaY,stat as Xq5}from"fs/promises";import{homedir as PaY}from"os";import{join as Pq5}from"path";async function Wq5(){let q=Z1();if(!H41.includes(q))throw Error(`Unsupported platform: ${q} - Claude Desktop integration only works on macOS and WSL.`);if(q==="macos")return Pq5(PaY(),"Library","Application Support","Claude","claude_desktop_config.json");let K=process.env.USERPROFILE?process.env.USERPROFILE.replace(/\\/g,"/"):null;if(K){let z=`/mnt/c${K.replace(/^[A-Z]:/,"")}/AppData/Roaming/Claude/claude_desktop_config.json`;try{return await Xq5(z),z}catch{}}try{try{let z=await MaY("/mnt/c/Users",{withFileTypes:!0});for(let Y of z){if(Y.name==="Public"||Y.name==="Default"||Y.name==="Default User"||Y.name==="All Users")continue;let $=Pq5("/mnt/c/Users",Y.name,"AppData","Roaming","Claude","claude_desktop_config.json");try{return await Xq5($),$}catch{}}}catch{}}catch(_){H6(_)}throw Error("Could not find Claude Desktop config file in Windows. Make sure Claude Desktop is installed on Windows.")}async function WaY(){if(!H41.includes(Z1()))throw Error("Unsupported platform - Claude Desktop integration only works on macOS and WSL.");try{let q=await Wq5(),K;try{K=await XaY(q,{encoding:"utf8"})}catch($){if(s1($)==="ENOENT")return{};throw $}let _=m5(K);if(!_||typeof _!=="object")return{};let z=_.mcpServers;if(!z||typeof z!=="object")return{};let Y={};for(let[$,A]of Object.entries(z)){if(!A||typeof A!=="object")continue;let O=_K1().safeParse(A);if(O.success)Y[$]=O.data}return Y}catch(q){return H6(q),{}}}var fq5=y(()=>{f_6();y8();vO();E8();vK()});var A36={};T8(A36,{mcpServeHandler:()=>ZaY,mcpResetChoicesHandler:()=>NaY,mcpRemoveHandler:()=>GaY,mcpListHandler:()=>TaY,mcpGetHandler:()=>vaY,mcpAddJsonHandler:()=>kaY,mcpAddFromDesktopHandler:()=>VaY});import{stat as DaY}from"fs/promises";import{cwd as faY}from"process";async function Zq5(q,K){try{let _=await oC(q,K);if(_.type==="connected")return"✓ Connected";else if(_.type==="needs-auth")return"! Needs authentication";else return"✗ Failed to connect"}catch(_){return"✗ Connection error"}}async function ZaY({debug:q,verbose:K}){let _=faY();d("tengu_mcp_start",{});try{await DaY(_)}catch(z){if(e3(z))o3(`Error: Directory ${_} does not exist`);throw z}try{let{setup:z}=await Promise.resolve().then(() => (Gl8(),Zl8));await z(_,"default",!1,!1,void 0,!1);let{startMCPServer:Y}=await Promise.resolve().then(() => (Mq5(),Jq5));await Y(_,q??!1,K??!1)}catch(z){o3(`Error: Failed to start MCP server: ${z}`)}}async function GaY(q,K){let _=EN(q),z=()=>{if(_&&(_.type==="sse"||_.type==="http"))ME8(q,_),UR4(q,_)};try{if(K.scope){let j=XN6(K.scope);d("tengu_mcp_delete",{name:q,scope:j}),await hB1(q,j),z(),process.stdout.write(`Removed MCP server ${q} from ${j} config |
| 16467 | `),gA(`File modified: ${xG(j)}`)}let Y=ww(),$=j8(),{servers:A}=SH("project"),O=!!A[q],w=[];if(Y.mcpServers?.[q])w.push("local");if(O)w.push("project");if($.mcpServers?.[q])w.push("user");if(w.length===0)o3(`No MCP server found with name: "${q}"`);else if(w.length===1){let j=w[0];d("tengu_mcp_delete",{name:q,scope:j}),await hB1(q,j),z(),process.stdout.write(`Removed MCP server "${q}" from ${j} config |
| 16468 | `),gA(`File modified: ${xG(j)}`)}else process.stderr.write(`MCP server "${q}" exists in multiple scopes: |