aico-cli 2.0.25 → 2.0.27

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 CHANGED
@@ -91,3 +91,6 @@ For open source projects, say how it is licensed.
91
91
 
92
92
  ## Project status
93
93
  If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
94
+
95
+ 215,119,87
96
+ 118,193,255
package/bin/cli/cli.js CHANGED
@@ -168,7 +168,7 @@ To install use this command:
168
168
 
169
169
  $ npm install --save-dev react-devtools-core
170
170
  `.trim()+`
171
- `);else throw A}kp=NLA.default({getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,resetAfterCommit(A){if(typeof A.onComputeLayout==="function")A.onComputeLayout();if(A.isStaticDirty){if(A.isStaticDirty=!1,typeof A.onImmediateRender==="function")A.onImmediateRender();return}A.onRender?.()},getChildHostContext(A,B){let Q=A.isInsideText,Z=B==="ink-text"||B==="ink-virtual-text";if(Q===Z)return A;return{isInsideText:Z}},shouldSetTextContent:()=>!1,createInstance(A,B,Q,Z){if(Z.isInsideText&&A==="ink-box")throw Error("<Box> can’t be nested inside <Text> component");let G=A==="ink-text"&&Z.isInsideText?"ink-virtual-text":A,Y=jM1(G);for(let[J,W]of Object.entries(B)){if(J==="children")continue;if(J==="style"){if(g80(Y,W),Y.yogaNode)m80(Y.yogaNode,W);continue}if(J==="internal_transform"){Y.internal_transform=W;continue}if(J==="internal_static"){Y.internal_static=!0;continue}h80(Y,J,W)}return Y},createTextInstance(A,B,Q){if(!Q.isInsideText)throw Error(`Text string "${A}" must be rendered inside <Text> component`);return VNA(A)},resetTextContent(){},hideTextInstance(A){ZG1(A,"")},unhideTextInstance(A,B){ZG1(A,B)},getPublicInstance:(A)=>A,hideInstance(A){A.yogaNode?.setDisplay(lb)},unhideInstance(A){A.yogaNode?.setDisplay(me)},appendInitialChild:SM1,appendChild:SM1,insertBefore:f80,finalizeInitialChildren(A,B,Q,Z){if(A.internal_static)Z.isStaticDirty=!0,Z.staticNode=A;return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,getCurrentEventPriority:()=>R80,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:()=>null,prepareScopeUpdate(){},getInstanceFromScope:()=>null,appendChildToContainer:SM1,insertInContainerBefore:f80,removeChildFromContainer(A,B){QG1(A,B),wLA(B.yogaNode)},prepareUpdate(A,B,Q,Z,G){if(A.internal_static)G.isStaticDirty=!0;let Y=ELA(Q,Z),J=ELA(Q.style,Z.style);if(!Y&&!J)return null;return{props:Y,style:J}},commitUpdate(A,B){let{props:Q,style:Z}=B;if(Q)for(let[G,Y]of Object.entries(Q)){if(G==="style"){g80(A,Y);continue}if(G==="internal_transform"){A.internal_transform=Y;continue}if(G==="internal_static"){A.internal_static=!0;continue}h80(A,G,Y)}if(Z&&A.yogaNode)m80(A.yogaNode,Z)},commitTextUpdate(A,B,Q){ZG1(A,Q)},removeChild(A,B){QG1(A,B),wLA(B.yogaNode)}})});function G30(A,B=1,Q={}){let{indent:Z=" ",includeEmptyLines:G=!1}=Q;if(typeof A!=="string")throw TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof A}\``);if(typeof B!=="number")throw TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof B}\``);if(B<0)throw RangeError(`Expected \`count\` to be at least 0, got \`${B}\``);if(typeof Z!=="string")throw TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof Z}\``);if(B===0)return A;let Y=G?/^/gm:/^(?!\s*$)/gm;return A.replace(Y,Z.repeat(B))}var NO9=(A)=>{return A.getComputedWidth()-A.getComputedPadding(bR)-A.getComputedPadding(fR)-A.getComputedBorder(bR)-A.getComputedBorder(fR)},LLA;var MLA=R(()=>{de();LLA=NO9});var OLA=U((_F3,LO9)=>{LO9.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var TLA=U((kF3,Y30)=>{var RLA=OLA();Y30.exports=RLA;Y30.exports.default=RLA});function PLA(A){switch(A){case"light":return MO9;case"light-ansi":return OO9;case"dark-ansi":return RO9;case"light-daltonized":return TO9;case"dark-daltonized":return jO9;default:return PO9}}var MO9,OO9,RO9,TO9,PO9,jO9;var jLA=R(()=>{MO9={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(255,0,135)",claude:"rgb(215,119,87)",claudeShimmer:"rgb(245,149,117)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(87,105,247)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(117,135,255)",permission:"rgb(87,105,247)",permissionShimmer:"rgb(137,155,255)",planMode:"rgb(0,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",subtle:"rgb(175,175,175)",suggestion:"rgb(87,105,247)",remember:"rgb(0,0,255)",background:"rgb(0,153,153)",success:"rgb(44,122,57)",error:"rgb(171,43,63)",warning:"rgb(150,108,30)",warningShimmer:"rgb(200,158,80)",diffAdded:"rgb(105,219,124)",diffRemoved:"rgb(255,168,180)",diffAddedDimmed:"rgb(199,225,203)",diffRemovedDimmed:"rgb(253,210,216)",diffAddedWord:"rgb(47,157,68)",diffRemovedWord:"rgb(209,69,75)",diffAddedWordDimmed:"rgb(144,194,156)",diffRemovedWordDimmed:"rgb(232,165,173)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(240, 240, 240)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(87,105,247)",rate_limit_empty:"rgb(39,47,111)"},OO9={autoAccept:"ansi:magenta",bashBorder:"ansi:magenta",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blue",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blue",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyan",ide:"ansi:blueBright",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:black",inverseText:"ansi:white",inactive:"ansi:blackBright",subtle:"ansi:blackBright",suggestion:"ansi:blue",remember:"ansi:blue",background:"ansi:cyan",success:"ansi:green",error:"ansi:red",warning:"ansi:yellow",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",diffAddedWordDimmed:"ansi:green",diffRemovedWordDimmed:"ansi:red",red_FOR_SUBAGENTS_ONLY:"ansi:red",blue_FOR_SUBAGENTS_ONLY:"ansi:blue",green_FOR_SUBAGENTS_ONLY:"ansi:green",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellow",purple_FOR_SUBAGENTS_ONLY:"ansi:magenta",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyan",professionalBlue:"ansi:blueBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:white",bashMessageBackgroundColor:"ansi:whiteBright",memoryBackgroundColor:"ansi:white",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:black"},RO9={autoAccept:"ansi:magentaBright",bashBorder:"ansi:magentaBright",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blueBright",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blueBright",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyanBright",ide:"ansi:blue",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:whiteBright",inverseText:"ansi:black",inactive:"ansi:white",subtle:"ansi:white",suggestion:"ansi:blueBright",remember:"ansi:blueBright",background:"ansi:cyanBright",success:"ansi:greenBright",error:"ansi:redBright",warning:"ansi:yellowBright",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",diffAddedWordDimmed:"ansi:green",diffRemovedWordDimmed:"ansi:red",red_FOR_SUBAGENTS_ONLY:"ansi:redBright",blue_FOR_SUBAGENTS_ONLY:"ansi:blueBright",green_FOR_SUBAGENTS_ONLY:"ansi:greenBright",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellowBright",purple_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyanBright",professionalBlue:"rgb(106,155,204)",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:blackBright",bashMessageBackgroundColor:"ansi:black",memoryBackgroundColor:"ansi:blackBright",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:white"},TO9={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(0,102,204)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(51,102,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(101,152,255)",permission:"rgb(51,102,255)",permissionShimmer:"rgb(101,152,255)",planMode:"rgb(51,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",subtle:"rgb(175,175,175)",suggestion:"rgb(51,102,255)",remember:"rgb(51,102,255)",background:"rgb(0,153,153)",success:"rgb(0,102,153)",error:"rgb(204,0,0)",warning:"rgb(255,153,0)",warningShimmer:"rgb(255,183,50)",diffAdded:"rgb(153,204,255)",diffRemoved:"rgb(255,204,204)",diffAddedDimmed:"rgb(209,231,253)",diffRemovedDimmed:"rgb(255,233,233)",diffAddedWord:"rgb(51,102,204)",diffRemovedWord:"rgb(153,51,51)",diffAddedWordDimmed:"rgb(102,153,204)",diffRemovedWordDimmed:"rgb(204,153,153)",red_FOR_SUBAGENTS_ONLY:"rgb(204,0,0)",blue_FOR_SUBAGENTS_ONLY:"rgb(0,102,204)",green_FOR_SUBAGENTS_ONLY:"rgb(0,204,0)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,204,0)",purple_FOR_SUBAGENTS_ONLY:"rgb(128,0,128)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,128,0)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,102,178)",cyan_FOR_SUBAGENTS_ONLY:"rgb(0,178,178)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(220, 220, 220)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(51,102,255)",rate_limit_empty:"rgb(23,46,114)"},PO9={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(253,93,177)",claude:"rgb(215,119,87)",claudeShimmer:"rgb(235,159,127)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(147,165,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(177,195,255)",permission:"rgb(177,185,249)",permissionShimmer:"rgb(207,215,255)",planMode:"rgb(72,150,140)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",subtle:"rgb(80,80,80)",suggestion:"rgb(177,185,249)",remember:"rgb(177,185,249)",background:"rgb(0,204,204)",success:"rgb(78,186,101)",error:"rgb(255,107,128)",warning:"rgb(255,193,7)",warningShimmer:"rgb(255,223,57)",diffAdded:"rgb(34,92,43)",diffRemoved:"rgb(122,41,54)",diffAddedDimmed:"rgb(71,88,74)",diffRemovedDimmed:"rgb(105,72,77)",diffAddedWord:"rgb(56,166,96)",diffRemovedWord:"rgb(179,89,107)",diffAddedWordDimmed:"rgb(46,107,58)",diffRemovedWordDimmed:"rgb(139,57,69)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(177,185,249)",rate_limit_empty:"rgb(80,83,112)"},jO9={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(51,153,255)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(153,204,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(183,224,255)",permission:"rgb(153,204,255)",permissionShimmer:"rgb(183,224,255)",planMode:"rgb(102,153,153)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",subtle:"rgb(80,80,80)",suggestion:"rgb(153,204,255)",remember:"rgb(153,204,255)",background:"rgb(0,204,204)",success:"rgb(51,153,255)",error:"rgb(255,102,102)",warning:"rgb(255,204,0)",warningShimmer:"rgb(255,234,50)",diffAdded:"rgb(0,68,102)",diffRemoved:"rgb(102,0,0)",diffAddedDimmed:"rgb(62,81,91)",diffRemovedDimmed:"rgb(62,44,44)",diffAddedWord:"rgb(0,119,179)",diffRemovedWord:"rgb(179,0,0)",diffAddedWordDimmed:"rgb(26,99,128)",diffRemovedWordDimmed:"rgb(128,21,21)",red_FOR_SUBAGENTS_ONLY:"rgb(255,102,102)",blue_FOR_SUBAGENTS_ONLY:"rgb(102,178,255)",green_FOR_SUBAGENTS_ONLY:"rgb(102,255,102)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,255,102)",purple_FOR_SUBAGENTS_ONLY:"rgb(178,102,255)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,178,102)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,153,204)",cyan_FOR_SUBAGENTS_ONLY:"rgb(102,204,204)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(215,119,87)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(153,204,255)",rate_limit_empty:"rgb(69,92,115)"}});function S2(A,B,Q="foreground"){return(Z)=>_O9(Z,A?PLA(B)[A]:void 0,Q)}var SO9,yO9,_O9=(A,B,Q)=>{if(!B)return A;if(B.startsWith("ansi:"))switch(B.substring(5)){case"black":return Q==="foreground"?t1.black(A):t1.bgBlack(A);case"red":return Q==="foreground"?t1.red(A):t1.bgRed(A);case"green":return Q==="foreground"?t1.green(A):t1.bgGreen(A);case"yellow":return Q==="foreground"?t1.yellow(A):t1.bgYellow(A);case"blue":return Q==="foreground"?t1.blue(A):t1.bgBlue(A);case"magenta":return Q==="foreground"?t1.magenta(A):t1.bgMagenta(A);case"cyan":return Q==="foreground"?t1.cyan(A):t1.bgCyan(A);case"white":return Q==="foreground"?t1.white(A):t1.bgWhite(A);case"blackBright":return Q==="foreground"?t1.blackBright(A):t1.bgBlackBright(A);case"redBright":return Q==="foreground"?t1.redBright(A):t1.bgRedBright(A);case"greenBright":return Q==="foreground"?t1.greenBright(A):t1.bgGreenBright(A);case"yellowBright":return Q==="foreground"?t1.yellowBright(A):t1.bgYellowBright(A);case"blueBright":return Q==="foreground"?t1.blueBright(A):t1.bgBlueBright(A);case"magentaBright":return Q==="foreground"?t1.magentaBright(A):t1.bgMagentaBright(A);case"cyanBright":return Q==="foreground"?t1.cyanBright(A):t1.bgCyanBright(A);case"whiteBright":return Q==="foreground"?t1.whiteBright(A):t1.bgWhiteBright(A)}if(B.startsWith("#"))return Q==="foreground"?t1.hex(B)(A):t1.bgHex(B)(A);if(B.startsWith("ansi256")){let Z=yO9.exec(B);if(!Z)return A;let G=Number(Z[1]);return Q==="foreground"?t1.ansi256(G)(A):t1.bgAnsi256(G)(A)}if(B.startsWith("rgb")){let Z=SO9.exec(B);if(!Z)return A;let G=Number(Z[1]),Y=Number(Z[2]),J=Number(Z[3]);return Q==="foreground"?t1.rgb(G,Y,J)(A):t1.bgRgb(G,Y,J)(A)}return A};var iM1=R(()=>{tQ();jLA();SO9=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,yO9=/^ansi256\(\s?(\d+)\s?\)$/});function SLA(A,B,Q,Z=0,G){let Y=XZ(B),J=A.length;if(Y>=J-2)return B.substring(0,J);let W;if(Q==="center")W=Math.floor((J-Y)/2);else if(Q==="start")W=Z+1;else W=J-Y-Z-1;W=Math.max(1,Math.min(W,J-Y-1));let X=G.repeat(W-1),I=G.repeat(J-W-Y-1);return A.substring(0,1)+X+B+I+A.substring(A.length-1)}var yLA,kO9,xO9=(A,B,Q,Z,G)=>{if(Q.style.borderStyle){let Y=Q.yogaNode.getComputedWidth(),J=Q.yogaNode.getComputedHeight(),W=typeof Q.style.borderStyle==="string"?kO9[Q.style.borderStyle]??yLA.default[Q.style.borderStyle]:Q.style.borderStyle,X=Q.style.borderTopColor??Q.style.borderColor,I=Q.style.borderBottomColor??Q.style.borderColor,F=Q.style.borderLeftColor??Q.style.borderColor,V=Q.style.borderRightColor??Q.style.borderColor,K=Q.style.borderTopDimColor??Q.style.borderDimColor,D=Q.style.borderBottomDimColor??Q.style.borderDimColor,H=Q.style.borderLeftDimColor??Q.style.borderDimColor,z=Q.style.borderRightDimColor??Q.style.borderDimColor,C=Q.style.borderTop!==!1,q=Q.style.borderBottom!==!1,N=Q.style.borderLeft!==!1,L=Q.style.borderRight!==!1,O=Y-(N?1:0)-(L?1:0),T=C?(N?W.topLeft:"")+W.top.repeat(O)+(L?W.topRight:""):"";if(C&&Q.style.borderText?.position==="top"){let d=Q.style.borderText;T=SLA(T,d.content,d.align,d.offset,W.top)}let P=C?S2(X,G)(T):void 0;if(C&&K)P=t1.dim(P);let _=J;if(C)_-=1;if(q)_-=1;let h=(S2(F,G)(W.left)+`
171
+ `);else throw A}kp=NLA.default({getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>null,preparePortalMount:()=>null,clearContainer:()=>!1,resetAfterCommit(A){if(typeof A.onComputeLayout==="function")A.onComputeLayout();if(A.isStaticDirty){if(A.isStaticDirty=!1,typeof A.onImmediateRender==="function")A.onImmediateRender();return}A.onRender?.()},getChildHostContext(A,B){let Q=A.isInsideText,Z=B==="ink-text"||B==="ink-virtual-text";if(Q===Z)return A;return{isInsideText:Z}},shouldSetTextContent:()=>!1,createInstance(A,B,Q,Z){if(Z.isInsideText&&A==="ink-box")throw Error("<Box> can’t be nested inside <Text> component");let G=A==="ink-text"&&Z.isInsideText?"ink-virtual-text":A,Y=jM1(G);for(let[J,W]of Object.entries(B)){if(J==="children")continue;if(J==="style"){if(g80(Y,W),Y.yogaNode)m80(Y.yogaNode,W);continue}if(J==="internal_transform"){Y.internal_transform=W;continue}if(J==="internal_static"){Y.internal_static=!0;continue}h80(Y,J,W)}return Y},createTextInstance(A,B,Q){if(!Q.isInsideText)throw Error(`Text string "${A}" must be rendered inside <Text> component`);return VNA(A)},resetTextContent(){},hideTextInstance(A){ZG1(A,"")},unhideTextInstance(A,B){ZG1(A,B)},getPublicInstance:(A)=>A,hideInstance(A){A.yogaNode?.setDisplay(lb)},unhideInstance(A){A.yogaNode?.setDisplay(me)},appendInitialChild:SM1,appendChild:SM1,insertBefore:f80,finalizeInitialChildren(A,B,Q,Z){if(A.internal_static)Z.isStaticDirty=!0,Z.staticNode=A;return!1},isPrimaryRenderer:!0,supportsMutation:!0,supportsPersistence:!1,supportsHydration:!1,scheduleTimeout:setTimeout,cancelTimeout:clearTimeout,noTimeout:-1,getCurrentEventPriority:()=>R80,beforeActiveInstanceBlur(){},afterActiveInstanceBlur(){},detachDeletedInstance(){},getInstanceFromNode:()=>null,prepareScopeUpdate(){},getInstanceFromScope:()=>null,appendChildToContainer:SM1,insertInContainerBefore:f80,removeChildFromContainer(A,B){QG1(A,B),wLA(B.yogaNode)},prepareUpdate(A,B,Q,Z,G){if(A.internal_static)G.isStaticDirty=!0;let Y=ELA(Q,Z),J=ELA(Q.style,Z.style);if(!Y&&!J)return null;return{props:Y,style:J}},commitUpdate(A,B){let{props:Q,style:Z}=B;if(Q)for(let[G,Y]of Object.entries(Q)){if(G==="style"){g80(A,Y);continue}if(G==="internal_transform"){A.internal_transform=Y;continue}if(G==="internal_static"){A.internal_static=!0;continue}h80(A,G,Y)}if(Z&&A.yogaNode)m80(A.yogaNode,Z)},commitTextUpdate(A,B,Q){ZG1(A,Q)},removeChild(A,B){QG1(A,B),wLA(B.yogaNode)}})});function G30(A,B=1,Q={}){let{indent:Z=" ",includeEmptyLines:G=!1}=Q;if(typeof A!=="string")throw TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof A}\``);if(typeof B!=="number")throw TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof B}\``);if(B<0)throw RangeError(`Expected \`count\` to be at least 0, got \`${B}\``);if(typeof Z!=="string")throw TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof Z}\``);if(B===0)return A;let Y=G?/^/gm:/^(?!\s*$)/gm;return A.replace(Y,Z.repeat(B))}var NO9=(A)=>{return A.getComputedWidth()-A.getComputedPadding(bR)-A.getComputedPadding(fR)-A.getComputedBorder(bR)-A.getComputedBorder(fR)},LLA;var MLA=R(()=>{de();LLA=NO9});var OLA=U((_F3,LO9)=>{LO9.exports={single:{topLeft:"┌",top:"─",topRight:"┐",right:"│",bottomRight:"┘",bottom:"─",bottomLeft:"└",left:"│"},double:{topLeft:"╔",top:"═",topRight:"╗",right:"║",bottomRight:"╝",bottom:"═",bottomLeft:"╚",left:"║"},round:{topLeft:"╭",top:"─",topRight:"╮",right:"│",bottomRight:"╯",bottom:"─",bottomLeft:"╰",left:"│"},bold:{topLeft:"┏",top:"━",topRight:"┓",right:"┃",bottomRight:"┛",bottom:"━",bottomLeft:"┗",left:"┃"},singleDouble:{topLeft:"╓",top:"─",topRight:"╖",right:"║",bottomRight:"╜",bottom:"─",bottomLeft:"╙",left:"║"},doubleSingle:{topLeft:"╒",top:"═",topRight:"╕",right:"│",bottomRight:"╛",bottom:"═",bottomLeft:"╘",left:"│"},classic:{topLeft:"+",top:"-",topRight:"+",right:"|",bottomRight:"+",bottom:"-",bottomLeft:"+",left:"|"},arrow:{topLeft:"↘",top:"↓",topRight:"↙",right:"←",bottomRight:"↖",bottom:"↑",bottomLeft:"↗",left:"→"}}});var TLA=U((kF3,Y30)=>{var RLA=OLA();Y30.exports=RLA;Y30.exports.default=RLA});function PLA(A){switch(A){case"light":return MO9;case"light-ansi":return OO9;case"dark-ansi":return RO9;case"light-daltonized":return TO9;case"dark-daltonized":return jO9;default:return PO9}}var MO9,OO9,RO9,TO9,PO9,jO9;var jLA=R(()=>{MO9={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(255,0,135)",claude:"rgb(118,193,255)",claudeShimmer:"rgb(245,149,117)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(87,105,247)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(117,135,255)",permission:"rgb(87,105,247)",permissionShimmer:"rgb(137,155,255)",planMode:"rgb(0,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",subtle:"rgb(175,175,175)",suggestion:"rgb(87,105,247)",remember:"rgb(0,0,255)",background:"rgb(0,153,153)",success:"rgb(44,122,57)",error:"rgb(171,43,63)",warning:"rgb(150,108,30)",warningShimmer:"rgb(200,158,80)",diffAdded:"rgb(105,219,124)",diffRemoved:"rgb(255,168,180)",diffAddedDimmed:"rgb(199,225,203)",diffRemovedDimmed:"rgb(253,210,216)",diffAddedWord:"rgb(47,157,68)",diffRemovedWord:"rgb(209,69,75)",diffAddedWordDimmed:"rgb(144,194,156)",diffRemovedWordDimmed:"rgb(232,165,173)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(118,193,255)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(240, 240, 240)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(87,105,247)",rate_limit_empty:"rgb(39,47,111)"},OO9={autoAccept:"ansi:magenta",bashBorder:"ansi:magenta",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blue",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blue",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyan",ide:"ansi:blueBright",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:black",inverseText:"ansi:white",inactive:"ansi:blackBright",subtle:"ansi:blackBright",suggestion:"ansi:blue",remember:"ansi:blue",background:"ansi:cyan",success:"ansi:green",error:"ansi:red",warning:"ansi:yellow",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",diffAddedWordDimmed:"ansi:green",diffRemovedWordDimmed:"ansi:red",red_FOR_SUBAGENTS_ONLY:"ansi:red",blue_FOR_SUBAGENTS_ONLY:"ansi:blue",green_FOR_SUBAGENTS_ONLY:"ansi:green",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellow",purple_FOR_SUBAGENTS_ONLY:"ansi:magenta",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyan",professionalBlue:"ansi:blueBright",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:white",bashMessageBackgroundColor:"ansi:whiteBright",memoryBackgroundColor:"ansi:white",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:black"},RO9={autoAccept:"ansi:magentaBright",bashBorder:"ansi:magentaBright",claude:"ansi:redBright",claudeShimmer:"ansi:yellowBright",claudeBlue_FOR_SYSTEM_SPINNER:"ansi:blueBright",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"ansi:blueBright",permission:"ansi:blueBright",permissionShimmer:"ansi:blueBright",planMode:"ansi:cyanBright",ide:"ansi:blue",promptBorder:"ansi:white",promptBorderShimmer:"ansi:whiteBright",text:"ansi:whiteBright",inverseText:"ansi:black",inactive:"ansi:white",subtle:"ansi:white",suggestion:"ansi:blueBright",remember:"ansi:blueBright",background:"ansi:cyanBright",success:"ansi:greenBright",error:"ansi:redBright",warning:"ansi:yellowBright",warningShimmer:"ansi:yellowBright",diffAdded:"ansi:green",diffRemoved:"ansi:red",diffAddedDimmed:"ansi:green",diffRemovedDimmed:"ansi:red",diffAddedWord:"ansi:greenBright",diffRemovedWord:"ansi:redBright",diffAddedWordDimmed:"ansi:green",diffRemovedWordDimmed:"ansi:red",red_FOR_SUBAGENTS_ONLY:"ansi:redBright",blue_FOR_SUBAGENTS_ONLY:"ansi:blueBright",green_FOR_SUBAGENTS_ONLY:"ansi:greenBright",yellow_FOR_SUBAGENTS_ONLY:"ansi:yellowBright",purple_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",orange_FOR_SUBAGENTS_ONLY:"ansi:redBright",pink_FOR_SUBAGENTS_ONLY:"ansi:magentaBright",cyan_FOR_SUBAGENTS_ONLY:"ansi:cyanBright",professionalBlue:"rgb(106,155,204)",rainbow_red:"ansi:red",rainbow_orange:"ansi:redBright",rainbow_yellow:"ansi:yellow",rainbow_green:"ansi:green",rainbow_blue:"ansi:cyan",rainbow_indigo:"ansi:blue",rainbow_violet:"ansi:magenta",rainbow_red_shimmer:"ansi:redBright",rainbow_orange_shimmer:"ansi:yellow",rainbow_yellow_shimmer:"ansi:yellowBright",rainbow_green_shimmer:"ansi:greenBright",rainbow_blue_shimmer:"ansi:cyanBright",rainbow_indigo_shimmer:"ansi:blueBright",rainbow_violet_shimmer:"ansi:magentaBright",clawd_body:"ansi:redBright",clawd_background:"ansi:black",userMessageBackground:"ansi:blackBright",bashMessageBackgroundColor:"ansi:black",memoryBackgroundColor:"ansi:blackBright",rate_limit_fill:"ansi:yellow",rate_limit_empty:"ansi:white"},TO9={autoAccept:"rgb(135,0,255)",bashBorder:"rgb(0,102,204)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(51,102,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(101,152,255)",permission:"rgb(51,102,255)",permissionShimmer:"rgb(101,152,255)",planMode:"rgb(51,102,102)",ide:"rgb(71,130,200)",promptBorder:"rgb(153,153,153)",promptBorderShimmer:"rgb(183,183,183)",text:"rgb(0,0,0)",inverseText:"rgb(255,255,255)",inactive:"rgb(102,102,102)",subtle:"rgb(175,175,175)",suggestion:"rgb(51,102,255)",remember:"rgb(51,102,255)",background:"rgb(0,153,153)",success:"rgb(0,102,153)",error:"rgb(204,0,0)",warning:"rgb(255,153,0)",warningShimmer:"rgb(255,183,50)",diffAdded:"rgb(153,204,255)",diffRemoved:"rgb(255,204,204)",diffAddedDimmed:"rgb(209,231,253)",diffRemovedDimmed:"rgb(255,233,233)",diffAddedWord:"rgb(51,102,204)",diffRemovedWord:"rgb(153,51,51)",diffAddedWordDimmed:"rgb(102,153,204)",diffRemovedWordDimmed:"rgb(204,153,153)",red_FOR_SUBAGENTS_ONLY:"rgb(204,0,0)",blue_FOR_SUBAGENTS_ONLY:"rgb(0,102,204)",green_FOR_SUBAGENTS_ONLY:"rgb(0,204,0)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,204,0)",purple_FOR_SUBAGENTS_ONLY:"rgb(128,0,128)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,128,0)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,102,178)",cyan_FOR_SUBAGENTS_ONLY:"rgb(0,178,178)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(118,193,255)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(220, 220, 220)",bashMessageBackgroundColor:"rgb(250, 245, 250)",memoryBackgroundColor:"rgb(230, 245, 250)",rate_limit_fill:"rgb(51,102,255)",rate_limit_empty:"rgb(23,46,114)"},PO9={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(253,93,177)",claude:"rgb(118,193,255)",claudeShimmer:"rgb(235,159,127)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(147,165,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(177,195,255)",permission:"rgb(177,185,249)",permissionShimmer:"rgb(207,215,255)",planMode:"rgb(72,150,140)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",subtle:"rgb(80,80,80)",suggestion:"rgb(177,185,249)",remember:"rgb(177,185,249)",background:"rgb(0,204,204)",success:"rgb(78,186,101)",error:"rgb(255,107,128)",warning:"rgb(255,193,7)",warningShimmer:"rgb(255,223,57)",diffAdded:"rgb(34,92,43)",diffRemoved:"rgb(122,41,54)",diffAddedDimmed:"rgb(71,88,74)",diffRemovedDimmed:"rgb(105,72,77)",diffAddedWord:"rgb(56,166,96)",diffRemovedWord:"rgb(179,89,107)",diffAddedWordDimmed:"rgb(46,107,58)",diffRemovedWordDimmed:"rgb(139,57,69)",red_FOR_SUBAGENTS_ONLY:"rgb(220,38,38)",blue_FOR_SUBAGENTS_ONLY:"rgb(37,99,235)",green_FOR_SUBAGENTS_ONLY:"rgb(22,163,74)",yellow_FOR_SUBAGENTS_ONLY:"rgb(202,138,4)",purple_FOR_SUBAGENTS_ONLY:"rgb(147,51,234)",orange_FOR_SUBAGENTS_ONLY:"rgb(234,88,12)",pink_FOR_SUBAGENTS_ONLY:"rgb(219,39,119)",cyan_FOR_SUBAGENTS_ONLY:"rgb(8,145,178)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(118,193,255)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(177,185,249)",rate_limit_empty:"rgb(80,83,112)"},jO9={autoAccept:"rgb(175,135,255)",bashBorder:"rgb(51,153,255)",claude:"rgb(255,153,51)",claudeShimmer:"rgb(255,183,101)",claudeBlue_FOR_SYSTEM_SPINNER:"rgb(153,204,255)",claudeBlueShimmer_FOR_SYSTEM_SPINNER:"rgb(183,224,255)",permission:"rgb(153,204,255)",permissionShimmer:"rgb(183,224,255)",planMode:"rgb(102,153,153)",ide:"rgb(71,130,200)",promptBorder:"rgb(136,136,136)",promptBorderShimmer:"rgb(166,166,166)",text:"rgb(255,255,255)",inverseText:"rgb(0,0,0)",inactive:"rgb(153,153,153)",subtle:"rgb(80,80,80)",suggestion:"rgb(153,204,255)",remember:"rgb(153,204,255)",background:"rgb(0,204,204)",success:"rgb(51,153,255)",error:"rgb(255,102,102)",warning:"rgb(255,204,0)",warningShimmer:"rgb(255,234,50)",diffAdded:"rgb(0,68,102)",diffRemoved:"rgb(102,0,0)",diffAddedDimmed:"rgb(62,81,91)",diffRemovedDimmed:"rgb(62,44,44)",diffAddedWord:"rgb(0,119,179)",diffRemovedWord:"rgb(179,0,0)",diffAddedWordDimmed:"rgb(26,99,128)",diffRemovedWordDimmed:"rgb(128,21,21)",red_FOR_SUBAGENTS_ONLY:"rgb(255,102,102)",blue_FOR_SUBAGENTS_ONLY:"rgb(102,178,255)",green_FOR_SUBAGENTS_ONLY:"rgb(102,255,102)",yellow_FOR_SUBAGENTS_ONLY:"rgb(255,255,102)",purple_FOR_SUBAGENTS_ONLY:"rgb(178,102,255)",orange_FOR_SUBAGENTS_ONLY:"rgb(255,178,102)",pink_FOR_SUBAGENTS_ONLY:"rgb(255,153,204)",cyan_FOR_SUBAGENTS_ONLY:"rgb(102,204,204)",professionalBlue:"rgb(106,155,204)",rainbow_red:"rgb(235,95,87)",rainbow_orange:"rgb(245,139,87)",rainbow_yellow:"rgb(250,195,95)",rainbow_green:"rgb(145,200,130)",rainbow_blue:"rgb(130,170,220)",rainbow_indigo:"rgb(155,130,200)",rainbow_violet:"rgb(200,130,180)",rainbow_red_shimmer:"rgb(250,155,147)",rainbow_orange_shimmer:"rgb(255,185,137)",rainbow_yellow_shimmer:"rgb(255,225,155)",rainbow_green_shimmer:"rgb(185,230,180)",rainbow_blue_shimmer:"rgb(180,205,240)",rainbow_indigo_shimmer:"rgb(195,180,230)",rainbow_violet_shimmer:"rgb(230,180,210)",clawd_body:"rgb(118,193,255)",clawd_background:"rgb(0,0,0)",userMessageBackground:"rgb(55, 55, 55)",bashMessageBackgroundColor:"rgb(65, 60, 65)",memoryBackgroundColor:"rgb(55, 65, 70)",rate_limit_fill:"rgb(153,204,255)",rate_limit_empty:"rgb(69,92,115)"}});function S2(A,B,Q="foreground"){return(Z)=>_O9(Z,A?PLA(B)[A]:void 0,Q)}var SO9,yO9,_O9=(A,B,Q)=>{if(!B)return A;if(B.startsWith("ansi:"))switch(B.substring(5)){case"black":return Q==="foreground"?t1.black(A):t1.bgBlack(A);case"red":return Q==="foreground"?t1.red(A):t1.bgRed(A);case"green":return Q==="foreground"?t1.green(A):t1.bgGreen(A);case"yellow":return Q==="foreground"?t1.yellow(A):t1.bgYellow(A);case"blue":return Q==="foreground"?t1.blue(A):t1.bgBlue(A);case"magenta":return Q==="foreground"?t1.magenta(A):t1.bgMagenta(A);case"cyan":return Q==="foreground"?t1.cyan(A):t1.bgCyan(A);case"white":return Q==="foreground"?t1.white(A):t1.bgWhite(A);case"blackBright":return Q==="foreground"?t1.blackBright(A):t1.bgBlackBright(A);case"redBright":return Q==="foreground"?t1.redBright(A):t1.bgRedBright(A);case"greenBright":return Q==="foreground"?t1.greenBright(A):t1.bgGreenBright(A);case"yellowBright":return Q==="foreground"?t1.yellowBright(A):t1.bgYellowBright(A);case"blueBright":return Q==="foreground"?t1.blueBright(A):t1.bgBlueBright(A);case"magentaBright":return Q==="foreground"?t1.magentaBright(A):t1.bgMagentaBright(A);case"cyanBright":return Q==="foreground"?t1.cyanBright(A):t1.bgCyanBright(A);case"whiteBright":return Q==="foreground"?t1.whiteBright(A):t1.bgWhiteBright(A)}if(B.startsWith("#"))return Q==="foreground"?t1.hex(B)(A):t1.bgHex(B)(A);if(B.startsWith("ansi256")){let Z=yO9.exec(B);if(!Z)return A;let G=Number(Z[1]);return Q==="foreground"?t1.ansi256(G)(A):t1.bgAnsi256(G)(A)}if(B.startsWith("rgb")){let Z=SO9.exec(B);if(!Z)return A;let G=Number(Z[1]),Y=Number(Z[2]),J=Number(Z[3]);return Q==="foreground"?t1.rgb(G,Y,J)(A):t1.bgRgb(G,Y,J)(A)}return A};var iM1=R(()=>{tQ();jLA();SO9=/^rgb\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,yO9=/^ansi256\(\s?(\d+)\s?\)$/});function SLA(A,B,Q,Z=0,G){let Y=XZ(B),J=A.length;if(Y>=J-2)return B.substring(0,J);let W;if(Q==="center")W=Math.floor((J-Y)/2);else if(Q==="start")W=Z+1;else W=J-Y-Z-1;W=Math.max(1,Math.min(W,J-Y-1));let X=G.repeat(W-1),I=G.repeat(J-W-Y-1);return A.substring(0,1)+X+B+I+A.substring(A.length-1)}var yLA,kO9,xO9=(A,B,Q,Z,G)=>{if(Q.style.borderStyle){let Y=Q.yogaNode.getComputedWidth(),J=Q.yogaNode.getComputedHeight(),W=typeof Q.style.borderStyle==="string"?kO9[Q.style.borderStyle]??yLA.default[Q.style.borderStyle]:Q.style.borderStyle,X=Q.style.borderTopColor??Q.style.borderColor,I=Q.style.borderBottomColor??Q.style.borderColor,F=Q.style.borderLeftColor??Q.style.borderColor,V=Q.style.borderRightColor??Q.style.borderColor,K=Q.style.borderTopDimColor??Q.style.borderDimColor,D=Q.style.borderBottomDimColor??Q.style.borderDimColor,H=Q.style.borderLeftDimColor??Q.style.borderDimColor,z=Q.style.borderRightDimColor??Q.style.borderDimColor,C=Q.style.borderTop!==!1,q=Q.style.borderBottom!==!1,N=Q.style.borderLeft!==!1,L=Q.style.borderRight!==!1,O=Y-(N?1:0)-(L?1:0),T=C?(N?W.topLeft:"")+W.top.repeat(O)+(L?W.topRight:""):"";if(C&&Q.style.borderText?.position==="top"){let d=Q.style.borderText;T=SLA(T,d.content,d.align,d.offset,W.top)}let P=C?S2(X,G)(T):void 0;if(C&&K)P=t1.dim(P);let _=J;if(C)_-=1;if(q)_-=1;let h=(S2(F,G)(W.left)+`
172
172
  `).repeat(_);if(H)h=t1.dim(h);let k=(S2(V,G)(W.right)+`
173
173
  `).repeat(_);if(z)k=t1.dim(k);let l=q?(N?W.bottomLeft:"")+W.bottom.repeat(O)+(L?W.bottomRight:""):"";if(q&&Q.style.borderText?.position==="bottom"){let d=Q.style.borderText;l=SLA(l,d.content,d.align,d.offset,W.bottom)}let g=q?S2(I,G)(l):void 0;if(q&&D)g=t1.dim(g);let t=C?1:0;if(P)Z.write(A,B,P,{transformers:[]});if(N)Z.write(A,B+t,h,{transformers:[]});if(L)Z.write(A+Y-1,B+t,k,{transformers:[]});if(g)Z.write(A,B+J-1,g,{transformers:[]})}},_LA;var kLA=R(()=>{tQ();le();iM1();yLA=A1(TLA(),1),kO9={dashed:{top:"╌",left:"╎",right:"╎",bottom:"╌",topLeft:" ",topRight:" ",bottomLeft:" ",bottomRight:" "}};_LA=xO9});var vO9=(A,B)=>{let Q=A.childNodes[0]?.yogaNode;if(Q){let Z=Q.getComputedLeft(),G=Q.getComputedTop();B=`
174
174
  `.repeat(G)+G30(B,Z)}return B},xLA=(A,B,{offsetX:Q=0,offsetY:Z=0,transformers:G=[],skipStaticElements:Y,theme:J})=>{if(Y&&A.internal_static)return;let{yogaNode:W}=A;if(W){if(W.getDisplay()===lb)return;let X=Q+W.getComputedLeft(),I=Z+W.getComputedTop(),F=G;if(typeof A.internal_transform==="function")F=[A.internal_transform,...G];if(A.nodeName==="ink-text"){let K=PM1(A);if(K.length>0){let D=pe(K),H=LLA(W);if(D>H){let z=A.style.textWrap??"wrap";K=ab(K,H,z)}K=vO9(A,K),B.write(X,I,K,{transformers:F})}return}let V=!1;if(A.nodeName==="ink-box"){_LA(X,I,A,B,J);let K=A.style.overflowX==="hidden"||A.style.overflow==="hidden",D=A.style.overflowY==="hidden"||A.style.overflow==="hidden";if(K||D){let H=K?X+W.getComputedBorder(bR):void 0,z=K?X+W.getComputedWidth()-W.getComputedBorder(fR):void 0,C=D?I+W.getComputedBorder(ib):void 0,q=D?I+W.getComputedHeight()-W.getComputedBorder(nb):void 0;B.clip({x1:H,x2:z,y1:C,y2:q}),V=!0}}if(A.nodeName==="ink-root"||A.nodeName==="ink-box"){for(let K of A.childNodes)xLA(K,B,{offsetX:X,offsetY:I,transformers:F,skipStaticElements:Y,theme:J});if(V)B.unclip()}}},J30;var vLA=R(()=>{NM1();de();TM1();MLA();b80();kLA();J30=xLA});function W30(A){if(!Number.isInteger(A))return!1;return ce(A)===2}var bLA=R(()=>{EM1()});function gO9(A){if(I30.has(A))return A;if(X30.has(A))return X30.get(A);if(A=A.slice(2),A.includes(";"))A=A[0]+"0";let B=KG.codes.get(Number.parseInt(A,10));if(B)return KG.color.ansi(B);return KG.reset.open}function uO9(A){for(let B=0;B<A.length;B++){let Q=A.codePointAt(B);if(Q>=fO9&&Q<=hO9)return B}return-1}function mO9(A,B){A=A.slice(B,B+19);let Q=uO9(A);if(Q!==-1){let Z=A.indexOf("m",Q);if(Z===-1)Z=A.length;return A.slice(0,Z+1)}}function dO9(A,B=Number.POSITIVE_INFINITY){let Q=[],Z=0,G=0;while(Z<A.length){let Y=A.codePointAt(Z);if(bO9.has(Y)){let X=mO9(A,Z);if(X){Q.push({type:"ansi",code:X,endCode:gO9(X)}),Z+=X.length;continue}}let J=W30(Y),W=String.fromCodePoint(Y);if(Q.push({type:"character",value:W,isFullWidth:J}),Z+=W.length,G+=J?2:W.length,G>=B)break}return Q}function fLA(A){let B=[];for(let Q of A)if(Q.code===KG.reset.open)B=[];else if(I30.has(Q.code))B=B.filter((Z)=>Z.endCode!==Q.code);else B=B.filter((Z)=>Z.endCode!==Q.endCode),B.push(Q);return B}function cO9(A){return fLA(A).map(({endCode:Z})=>Z).reverse().join("")}function xp(A,B,Q){let Z=dO9(A,Q),G=[],Y=0,J="",W=!1;for(let X of Z){if(Q!==void 0&&Y>=Q)break;if(X.type==="ansi"){if(G.push(X),W)J+=X.code}else{if(!W&&Y>=B)W=!0,G=fLA(G),J=G.map(({code:I})=>I).join("");if(W)J+=X.value;Y+=X.isFullWidth?2:X.value.length}}return J+=cO9(G),J}var bO9,fO9,hO9,I30,X30;var F30=R(()=>{ie();bLA();bO9=new Set([27,155]),fO9="0".codePointAt(0),hO9="9".codePointAt(0),I30=new Set,X30=new Map;for(let[A,B]of KG.codes)I30.add(KG.color.ansi(B)),X30.set(KG.color.ansi(A),KG.color.ansi(B))});function uLA(A){if(nM1.has(A))return A;if(V30.has(A))return V30.get(A);if(A.startsWith(aM1))return pO9;if(A=A.slice(2),A.includes(";"))A=A[0]+"0";let B=KG.codes.get(parseInt(A,10));if(B)return KG.color.ansi(B);else return KG.reset.open}function HG1(A){return A.map((B)=>B.code).join("")}var hLA,nM1,V30,aM1="\x1B]8;;",K30,gLA="\x07",BV3,pO9;var zG1=R(()=>{ie();hLA=new Set([27,155]),nM1=new Set,V30=new Map;for(let[A,B]of KG.codes)nM1.add(KG.color.ansi(B)),V30.set(KG.color.ansi(A),KG.color.ansi(B));K30=aM1.split("").map((A)=>A.charCodeAt(0)),BV3=gLA.charCodeAt(0),pO9=`\x1B]8;;${gLA}`});function D30(A){return sM1([],A)}function sM1(A,B){let Q=[...A];for(let Z of B)if(Z.code===KG.reset.open)Q=[];else if(nM1.has(Z.code))Q=Q.filter((G)=>G.endCode!==Z.code);else Q=Q.filter((G)=>G.endCode!==Z.endCode),Q.push(Z);return Q}var rM1=R(()=>{ie();zG1()});function H30(A){return D30(A).reverse().map((B)=>({...B,code:B.endCode}))}var z30=R(()=>{rM1()});function oM1(A,B){let Q=new Set(B.map((G)=>G.endCode)),Z=new Set(A.map((G)=>G.code));return[...H30(A.filter((G)=>!Q.has(G.endCode))),...B.filter((G)=>!Z.has(G.code))]}var C30=R(()=>{z30()});function mLA(A){let B=[],Q=[];for(let Z of A)if(Z.type==="ansi")B=sM1(B,[Z]);else if(Z.type==="char")Q.push({...Z,styles:[...B]});return Q}function dLA(A){let B="";for(let Q=0;Q<A.length;Q++){let Z=A[Q];if(Q===0)B+=HG1(Z.styles);else B+=HG1(oM1(A[Q-1].styles,Z.styles));if(B+=Z.value,Q===A.length-1)B+=HG1(oM1(Z.styles,[]))}return B}var cLA=R(()=>{zG1();C30();rM1()});function lO9(A){for(let B=0;B<A.length;B++){let Q=A.charCodeAt(B);if(Q>=48&&Q<=57)return B}return-1}function iO9(A,B){A=A.slice(B);for(let Z=1;Z<K30.length;Z++)if(A.charCodeAt(Z)!==K30[Z])return;let Q=A.indexOf("\x07",aM1.length);if(Q===-1)return;return A.slice(0,Q+1)}function nO9(A,B){A=A.slice(B,B+19);let Q=lO9(A);if(Q!==-1){let Z=A.indexOf("m",Q);if(Z===-1)Z=A.length;return A.slice(0,Z+1)}}function pLA(A,B=Number.POSITIVE_INFINITY){let Q=[],Z=0,G=0;while(Z<A.length){let Y=A.codePointAt(Z);if(hLA.has(Y)){let X=iO9(A,Z)||nO9(A,Z);if(X){Q.push({type:"ansi",code:X,endCode:uLA(X)}),Z+=X.length;continue}}let J=BG1(Y),W=String.fromCodePoint(Y);if(Q.push({type:"char",value:W,fullWidth:J}),Z+=W.length,G+=J?2:W.length,G>=B)break}return Q}var lLA=R(()=>{zG1()});var iLA=R(()=>{zG1();C30();rM1();z30();cLA();lLA()});class CG1{width;height;operations=[];charCache={};styledCharsToStringCache={};constructor(A){let{width:B,height:Q}=A;this.width=B,this.height=Q}write(A,B,Q,Z){let{transformers:G}=Z;if(!Q)return;this.operations.push({type:"write",x:A,y:B,text:Q,transformers:G})}clip(A){this.operations.push({type:"clip",clip:A})}unclip(){this.operations.push({type:"unclip"})}get(){let A=[];for(let Z=0;Z<this.height;Z++){let G=[];for(let Y=0;Y<this.width;Y++)G.push({type:"char",value:" ",fullWidth:!1,styles:[]});A.push(G)}let B=[];for(let Z of this.operations){if(Z.type==="clip")B.push(Z.clip);if(Z.type==="unclip")B.pop();if(Z.type==="write"){let{text:G,transformers:Y}=Z,{x:J,y:W}=Z,X=G.split(`
@@ -282,7 +282,7 @@ Usage notes:
282
282
  - Domain filtering is supported to include or block specific websites
283
283
  - Web search is only available in the US
284
284
  - Account for "Today's date" in <env>. For example, if <env> says "Today's date: 2025-07-01", and the user wants the latest docs, do not use 2024 in the search query. Use 2025.
285
- `;function HPA(){return}var KPA=180000,DPA=40000,xy9,vy9;var zPA=R(async()=>{HB();zf();await W1([aF(),aR()]);xy9=[_4,fD,nF,K3,sF,lp],vy9=[r3,jW,q11]});function VR1(A){if(s3()==="vertex")return CPA;if(A?.isNonInteractive){if(A.hasAppendSystemPrompt){if(ko()==="claude-vscode")return UPA;return by9}return UPA}return CPA}var CPA="You are AICO, Anthropic's official CLI for Claude.",by9="You are AICO, Anthropic's official CLI for Claude, running within the Claude Agent SDK.",UPA="You are a Claude agent, built on Anthropic's Claude Agent SDK.";var l70=R(()=>{hD();K2()});function E11(A){return A.filter((B)=>B.data?.type!=="hook_progress")}var OL=()=>({mode:"default",additionalWorkingDirectories:new Map,alwaysAllowRules:{},alwaysDenyRules:{},alwaysAskRules:{},isBypassPermissionsModeAvailable:!1});var qPA,$PA,EPA=(A)=>typeof A==="string"?{...$PA,name:A}:{...$PA,...A};var KR1=R(()=>{qPA=Symbol("Let zodToJsonSchema decide on which parser to use"),$PA={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"}});var wPA=(A)=>{let B=EPA(A),Q=B.name!==void 0?[...B.basePath,B.definitionPath,B.name]:B.basePath;return{...B,currentPath:Q,propertyPath:void 0,seen:new Map(Object.entries(B.definitions).map(([Z,G])=>[G._def,{def:G._def,path:[...B.basePath,B.definitionPath,Z],jsonSchema:void 0}]))}};var i70=R(()=>{KR1()});function n70(A,B,Q,Z){if(!Z?.errorMessages)return;if(Q)A.errorMessage={...A.errorMessage,[B]:Q}}function h5(A,B,Q,Z,G){A[B]=Q,n70(A,B,Z,G)}function NPA(){return{}}function LPA(A,B){let Q={type:"array"};if(A.type?._def&&A.type?._def?.typeName!==q2.ZodAny)Q.items=i9(A.type._def,{...B,currentPath:[...B.currentPath,"items"]});if(A.minLength)h5(Q,"minItems",A.minLength.value,A.minLength.message,B);if(A.maxLength)h5(Q,"maxItems",A.maxLength.value,A.maxLength.message,B);if(A.exactLength)h5(Q,"minItems",A.exactLength.value,A.exactLength.message,B),h5(Q,"maxItems",A.exactLength.value,A.exactLength.message,B);return Q}var a70=R(()=>{g9();SW()});function MPA(A,B){let Q={type:"integer",format:"int64"};if(!A.checks)return Q;for(let Z of A.checks)switch(Z.kind){case"min":if(B.target==="jsonSchema7")if(Z.inclusive)h5(Q,"minimum",Z.value,Z.message,B);else h5(Q,"exclusiveMinimum",Z.value,Z.message,B);else{if(!Z.inclusive)Q.exclusiveMinimum=!0;h5(Q,"minimum",Z.value,Z.message,B)}break;case"max":if(B.target==="jsonSchema7")if(Z.inclusive)h5(Q,"maximum",Z.value,Z.message,B);else h5(Q,"exclusiveMaximum",Z.value,Z.message,B);else{if(!Z.inclusive)Q.exclusiveMaximum=!0;h5(Q,"maximum",Z.value,Z.message,B)}break;case"multipleOf":h5(Q,"multipleOf",Z.value,Z.message,B);break}return Q}var s70=()=>{};function OPA(){return{type:"boolean"}}function DR1(A,B){return i9(A.type._def,B)}var HR1=R(()=>{SW()});var RPA=(A,B)=>{return i9(A.innerType._def,B)};var r70=R(()=>{SW()});function o70(A,B,Q){let Z=Q??B.dateStrategy;if(Array.isArray(Z))return{anyOf:Z.map((G,Y)=>o70(A,B,G))};switch(Z){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return fy9(A,B)}}var fy9=(A,B)=>{let Q={type:"integer",format:"unix-time"};if(B.target==="openApi3")return Q;for(let Z of A.checks)switch(Z.kind){case"min":h5(Q,"minimum",Z.value,Z.message,B);break;case"max":h5(Q,"maximum",Z.value,Z.message,B);break}return Q};var t70=()=>{};function TPA(A,B){return{...i9(A.innerType._def,B),default:A.defaultValue()}}var e70=R(()=>{SW()});function PPA(A,B){return B.effectStrategy==="input"?i9(A.schema._def,B):{}}var AZ0=R(()=>{SW()});function jPA(A){return{type:"string",enum:Array.from(A.values)}}function SPA(A,B){let Q=[i9(A.left._def,{...B,currentPath:[...B.currentPath,"allOf","0"]}),i9(A.right._def,{...B,currentPath:[...B.currentPath,"allOf","1"]})].filter((Y)=>!!Y),Z=B.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,G=[];return Q.forEach((Y)=>{if(hy9(Y)){if(G.push(...Y.allOf),Y.unevaluatedProperties===void 0)Z=void 0}else{let J=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:W,...X}=Y;J=X}else Z=void 0;G.push(J)}}),G.length?{allOf:G,...Z}:void 0}var hy9=(A)=>{if("type"in A&&A.type==="string")return!1;return"allOf"in A};var BZ0=R(()=>{SW()});function yPA(A,B){let Q=typeof A.value;if(Q!=="bigint"&&Q!=="number"&&Q!=="boolean"&&Q!=="string")return{type:Array.isArray(A.value)?"array":"object"};if(B.target==="openApi3")return{type:Q==="bigint"?"integer":Q,enum:[A.value]};return{type:Q==="bigint"?"integer":Q,const:A.value}}function zR1(A,B){let Q={type:"string"};if(A.checks)for(let Z of A.checks)switch(Z.kind){case"min":h5(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,Z.value):Z.value,Z.message,B);break;case"max":h5(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,Z.value):Z.value,Z.message,B);break;case"email":switch(B.emailStrategy){case"format:email":TL(Q,"email",Z.message,B);break;case"format:idn-email":TL(Q,"idn-email",Z.message,B);break;case"pattern:zod":gD(Q,RL.email,Z.message,B);break}break;case"url":TL(Q,"uri",Z.message,B);break;case"uuid":TL(Q,"uuid",Z.message,B);break;case"regex":gD(Q,Z.regex,Z.message,B);break;case"cuid":gD(Q,RL.cuid,Z.message,B);break;case"cuid2":gD(Q,RL.cuid2,Z.message,B);break;case"startsWith":gD(Q,RegExp(`^${ZZ0(Z.value,B)}`),Z.message,B);break;case"endsWith":gD(Q,RegExp(`${ZZ0(Z.value,B)}$`),Z.message,B);break;case"datetime":TL(Q,"date-time",Z.message,B);break;case"date":TL(Q,"date",Z.message,B);break;case"time":TL(Q,"time",Z.message,B);break;case"duration":TL(Q,"duration",Z.message,B);break;case"length":h5(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,Z.value):Z.value,Z.message,B),h5(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,Z.value):Z.value,Z.message,B);break;case"includes":{gD(Q,RegExp(ZZ0(Z.value,B)),Z.message,B);break}case"ip":{if(Z.version!=="v6")TL(Q,"ipv4",Z.message,B);if(Z.version!=="v4")TL(Q,"ipv6",Z.message,B);break}case"base64url":gD(Q,RL.base64url,Z.message,B);break;case"jwt":gD(Q,RL.jwt,Z.message,B);break;case"cidr":{if(Z.version!=="v6")gD(Q,RL.ipv4Cidr,Z.message,B);if(Z.version!=="v4")gD(Q,RL.ipv6Cidr,Z.message,B);break}case"emoji":gD(Q,RL.emoji(),Z.message,B);break;case"ulid":{gD(Q,RL.ulid,Z.message,B);break}case"base64":{switch(B.base64Strategy){case"format:binary":{TL(Q,"binary",Z.message,B);break}case"contentEncoding:base64":{h5(Q,"contentEncoding","base64",Z.message,B);break}case"pattern:zod":{gD(Q,RL.base64,Z.message,B);break}}break}case"nanoid":gD(Q,RL.nanoid,Z.message,B);case"toLowerCase":case"toUpperCase":case"trim":break;default:((G)=>{})(Z)}return Q}function ZZ0(A,B){return B.patternStrategy==="escape"?uy9(A):A}function uy9(A){let B="";for(let Q=0;Q<A.length;Q++){if(!gy9.has(A[Q]))B+="\\";B+=A[Q]}return B}function TL(A,B,Q,Z){if(A.format||A.anyOf?.some((G)=>G.format)){if(!A.anyOf)A.anyOf=[];if(A.format){if(A.anyOf.push({format:A.format,...A.errorMessage&&Z.errorMessages&&{errorMessage:{format:A.errorMessage.format}}}),delete A.format,A.errorMessage){if(delete A.errorMessage.format,Object.keys(A.errorMessage).length===0)delete A.errorMessage}}A.anyOf.push({format:B,...Q&&Z.errorMessages&&{errorMessage:{format:Q}}})}else h5(A,"format",B,Q,Z)}function gD(A,B,Q,Z){if(A.pattern||A.allOf?.some((G)=>G.pattern)){if(!A.allOf)A.allOf=[];if(A.pattern){if(A.allOf.push({pattern:A.pattern,...A.errorMessage&&Z.errorMessages&&{errorMessage:{pattern:A.errorMessage.pattern}}}),delete A.pattern,A.errorMessage){if(delete A.errorMessage.pattern,Object.keys(A.errorMessage).length===0)delete A.errorMessage}}A.allOf.push({pattern:_PA(B,Z),...Q&&Z.errorMessages&&{errorMessage:{pattern:Q}}})}else h5(A,"pattern",_PA(B,Z),Q,Z)}function _PA(A,B){if(!B.applyRegexFlags||!A.flags)return A.source;let Q={i:A.flags.includes("i"),m:A.flags.includes("m"),s:A.flags.includes("s")},Z=Q.i?A.source.toLowerCase():A.source,G="",Y=!1,J=!1,W=!1;for(let X=0;X<Z.length;X++){if(Y){G+=Z[X],Y=!1;continue}if(Q.i){if(J){if(Z[X].match(/[a-z]/)){if(W)G+=Z[X],G+=`${Z[X-2]}-${Z[X]}`.toUpperCase(),W=!1;else if(Z[X+1]==="-"&&Z[X+2]?.match(/[a-z]/))G+=Z[X],W=!0;else G+=`${Z[X]}${Z[X].toUpperCase()}`;continue}}else if(Z[X].match(/[a-z]/)){G+=`[${Z[X]}${Z[X].toUpperCase()}]`;continue}}if(Q.m){if(Z[X]==="^"){G+=`(^|(?<=[\r
285
+ `;function HPA(){return}var KPA=180000,DPA=40000,xy9,vy9;var zPA=R(async()=>{HB();zf();await W1([aF(),aR()]);xy9=[_4,fD,nF,K3,sF,lp],vy9=[r3,jW,q11]});function VR1(A){if(s3()==="vertex")return CPA;if(A?.isNonInteractive){if(A.hasAppendSystemPrompt){if(ko()==="claude-vscode")return UPA;return by9}return UPA}return CPA}var CPA="You are AICO, Anthropic's official CLI for Claude.",by9="You are AICoder, 技术开发中心方法论实践工具aico-cli, running within the AICO.",UPA="You are a AICO agent, built on 技术开发中心.";var l70=R(()=>{hD();K2()});function E11(A){return A.filter((B)=>B.data?.type!=="hook_progress")}var OL=()=>({mode:"default",additionalWorkingDirectories:new Map,alwaysAllowRules:{},alwaysDenyRules:{},alwaysAskRules:{},isBypassPermissionsModeAvailable:!1});var qPA,$PA,EPA=(A)=>typeof A==="string"?{...$PA,name:A}:{...$PA,...A};var KR1=R(()=>{qPA=Symbol("Let zodToJsonSchema decide on which parser to use"),$PA={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"}});var wPA=(A)=>{let B=EPA(A),Q=B.name!==void 0?[...B.basePath,B.definitionPath,B.name]:B.basePath;return{...B,currentPath:Q,propertyPath:void 0,seen:new Map(Object.entries(B.definitions).map(([Z,G])=>[G._def,{def:G._def,path:[...B.basePath,B.definitionPath,Z],jsonSchema:void 0}]))}};var i70=R(()=>{KR1()});function n70(A,B,Q,Z){if(!Z?.errorMessages)return;if(Q)A.errorMessage={...A.errorMessage,[B]:Q}}function h5(A,B,Q,Z,G){A[B]=Q,n70(A,B,Z,G)}function NPA(){return{}}function LPA(A,B){let Q={type:"array"};if(A.type?._def&&A.type?._def?.typeName!==q2.ZodAny)Q.items=i9(A.type._def,{...B,currentPath:[...B.currentPath,"items"]});if(A.minLength)h5(Q,"minItems",A.minLength.value,A.minLength.message,B);if(A.maxLength)h5(Q,"maxItems",A.maxLength.value,A.maxLength.message,B);if(A.exactLength)h5(Q,"minItems",A.exactLength.value,A.exactLength.message,B),h5(Q,"maxItems",A.exactLength.value,A.exactLength.message,B);return Q}var a70=R(()=>{g9();SW()});function MPA(A,B){let Q={type:"integer",format:"int64"};if(!A.checks)return Q;for(let Z of A.checks)switch(Z.kind){case"min":if(B.target==="jsonSchema7")if(Z.inclusive)h5(Q,"minimum",Z.value,Z.message,B);else h5(Q,"exclusiveMinimum",Z.value,Z.message,B);else{if(!Z.inclusive)Q.exclusiveMinimum=!0;h5(Q,"minimum",Z.value,Z.message,B)}break;case"max":if(B.target==="jsonSchema7")if(Z.inclusive)h5(Q,"maximum",Z.value,Z.message,B);else h5(Q,"exclusiveMaximum",Z.value,Z.message,B);else{if(!Z.inclusive)Q.exclusiveMaximum=!0;h5(Q,"maximum",Z.value,Z.message,B)}break;case"multipleOf":h5(Q,"multipleOf",Z.value,Z.message,B);break}return Q}var s70=()=>{};function OPA(){return{type:"boolean"}}function DR1(A,B){return i9(A.type._def,B)}var HR1=R(()=>{SW()});var RPA=(A,B)=>{return i9(A.innerType._def,B)};var r70=R(()=>{SW()});function o70(A,B,Q){let Z=Q??B.dateStrategy;if(Array.isArray(Z))return{anyOf:Z.map((G,Y)=>o70(A,B,G))};switch(Z){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return fy9(A,B)}}var fy9=(A,B)=>{let Q={type:"integer",format:"unix-time"};if(B.target==="openApi3")return Q;for(let Z of A.checks)switch(Z.kind){case"min":h5(Q,"minimum",Z.value,Z.message,B);break;case"max":h5(Q,"maximum",Z.value,Z.message,B);break}return Q};var t70=()=>{};function TPA(A,B){return{...i9(A.innerType._def,B),default:A.defaultValue()}}var e70=R(()=>{SW()});function PPA(A,B){return B.effectStrategy==="input"?i9(A.schema._def,B):{}}var AZ0=R(()=>{SW()});function jPA(A){return{type:"string",enum:Array.from(A.values)}}function SPA(A,B){let Q=[i9(A.left._def,{...B,currentPath:[...B.currentPath,"allOf","0"]}),i9(A.right._def,{...B,currentPath:[...B.currentPath,"allOf","1"]})].filter((Y)=>!!Y),Z=B.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,G=[];return Q.forEach((Y)=>{if(hy9(Y)){if(G.push(...Y.allOf),Y.unevaluatedProperties===void 0)Z=void 0}else{let J=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:W,...X}=Y;J=X}else Z=void 0;G.push(J)}}),G.length?{allOf:G,...Z}:void 0}var hy9=(A)=>{if("type"in A&&A.type==="string")return!1;return"allOf"in A};var BZ0=R(()=>{SW()});function yPA(A,B){let Q=typeof A.value;if(Q!=="bigint"&&Q!=="number"&&Q!=="boolean"&&Q!=="string")return{type:Array.isArray(A.value)?"array":"object"};if(B.target==="openApi3")return{type:Q==="bigint"?"integer":Q,enum:[A.value]};return{type:Q==="bigint"?"integer":Q,const:A.value}}function zR1(A,B){let Q={type:"string"};if(A.checks)for(let Z of A.checks)switch(Z.kind){case"min":h5(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,Z.value):Z.value,Z.message,B);break;case"max":h5(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,Z.value):Z.value,Z.message,B);break;case"email":switch(B.emailStrategy){case"format:email":TL(Q,"email",Z.message,B);break;case"format:idn-email":TL(Q,"idn-email",Z.message,B);break;case"pattern:zod":gD(Q,RL.email,Z.message,B);break}break;case"url":TL(Q,"uri",Z.message,B);break;case"uuid":TL(Q,"uuid",Z.message,B);break;case"regex":gD(Q,Z.regex,Z.message,B);break;case"cuid":gD(Q,RL.cuid,Z.message,B);break;case"cuid2":gD(Q,RL.cuid2,Z.message,B);break;case"startsWith":gD(Q,RegExp(`^${ZZ0(Z.value,B)}`),Z.message,B);break;case"endsWith":gD(Q,RegExp(`${ZZ0(Z.value,B)}$`),Z.message,B);break;case"datetime":TL(Q,"date-time",Z.message,B);break;case"date":TL(Q,"date",Z.message,B);break;case"time":TL(Q,"time",Z.message,B);break;case"duration":TL(Q,"duration",Z.message,B);break;case"length":h5(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,Z.value):Z.value,Z.message,B),h5(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,Z.value):Z.value,Z.message,B);break;case"includes":{gD(Q,RegExp(ZZ0(Z.value,B)),Z.message,B);break}case"ip":{if(Z.version!=="v6")TL(Q,"ipv4",Z.message,B);if(Z.version!=="v4")TL(Q,"ipv6",Z.message,B);break}case"base64url":gD(Q,RL.base64url,Z.message,B);break;case"jwt":gD(Q,RL.jwt,Z.message,B);break;case"cidr":{if(Z.version!=="v6")gD(Q,RL.ipv4Cidr,Z.message,B);if(Z.version!=="v4")gD(Q,RL.ipv6Cidr,Z.message,B);break}case"emoji":gD(Q,RL.emoji(),Z.message,B);break;case"ulid":{gD(Q,RL.ulid,Z.message,B);break}case"base64":{switch(B.base64Strategy){case"format:binary":{TL(Q,"binary",Z.message,B);break}case"contentEncoding:base64":{h5(Q,"contentEncoding","base64",Z.message,B);break}case"pattern:zod":{gD(Q,RL.base64,Z.message,B);break}}break}case"nanoid":gD(Q,RL.nanoid,Z.message,B);case"toLowerCase":case"toUpperCase":case"trim":break;default:((G)=>{})(Z)}return Q}function ZZ0(A,B){return B.patternStrategy==="escape"?uy9(A):A}function uy9(A){let B="";for(let Q=0;Q<A.length;Q++){if(!gy9.has(A[Q]))B+="\\";B+=A[Q]}return B}function TL(A,B,Q,Z){if(A.format||A.anyOf?.some((G)=>G.format)){if(!A.anyOf)A.anyOf=[];if(A.format){if(A.anyOf.push({format:A.format,...A.errorMessage&&Z.errorMessages&&{errorMessage:{format:A.errorMessage.format}}}),delete A.format,A.errorMessage){if(delete A.errorMessage.format,Object.keys(A.errorMessage).length===0)delete A.errorMessage}}A.anyOf.push({format:B,...Q&&Z.errorMessages&&{errorMessage:{format:Q}}})}else h5(A,"format",B,Q,Z)}function gD(A,B,Q,Z){if(A.pattern||A.allOf?.some((G)=>G.pattern)){if(!A.allOf)A.allOf=[];if(A.pattern){if(A.allOf.push({pattern:A.pattern,...A.errorMessage&&Z.errorMessages&&{errorMessage:{pattern:A.errorMessage.pattern}}}),delete A.pattern,A.errorMessage){if(delete A.errorMessage.pattern,Object.keys(A.errorMessage).length===0)delete A.errorMessage}}A.allOf.push({pattern:_PA(B,Z),...Q&&Z.errorMessages&&{errorMessage:{pattern:Q}}})}else h5(A,"pattern",_PA(B,Z),Q,Z)}function _PA(A,B){if(!B.applyRegexFlags||!A.flags)return A.source;let Q={i:A.flags.includes("i"),m:A.flags.includes("m"),s:A.flags.includes("s")},Z=Q.i?A.source.toLowerCase():A.source,G="",Y=!1,J=!1,W=!1;for(let X=0;X<Z.length;X++){if(Y){G+=Z[X],Y=!1;continue}if(Q.i){if(J){if(Z[X].match(/[a-z]/)){if(W)G+=Z[X],G+=`${Z[X-2]}-${Z[X]}`.toUpperCase(),W=!1;else if(Z[X+1]==="-"&&Z[X+2]?.match(/[a-z]/))G+=Z[X],W=!0;else G+=`${Z[X]}${Z[X].toUpperCase()}`;continue}}else if(Z[X].match(/[a-z]/)){G+=`[${Z[X]}${Z[X].toUpperCase()}]`;continue}}if(Q.m){if(Z[X]==="^"){G+=`(^|(?<=[\r
286
286
  ]))`;continue}else if(Z[X]==="$"){G+=`($|(?=[\r
287
287
  ]))`;continue}}if(Q.s&&Z[X]==="."){G+=J?`${Z[X]}\r
288
288
  `:`[${Z[X]}\r
@@ -1250,7 +1250,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),A0=H1,a1=C1;let G1={co
1250
1250
  fi
1251
1251
  `}var wO0="\\",u9B=1e4,m9B=async(A)=>{let B=A.includes("zsh")?"zsh":A.includes("bash")?"bash":"sh";return n(`Creating shell snapshot for ${B} (${A})`),new Promise(async(Q)=>{try{let Z=LO0(A);n(`Looking for shell config file: ${Z}`);let G=LF1(Z);if(!G)n(`Shell config file not found: ${Z}, creating snapshot with AICO defaults only`);let Y=Date.now(),J=Math.random().toString(36).substring(2,8),W=NO0(IB(),"shell-snapshots");n(`Snapshots directory: ${W}`);let X=NO0(W,`snapshot-${B}-${Y}-${J}.sh`);nv6(W,{recursive:!0});let I=Bb6(A,X,G);n(`Creating snapshot at: ${X}`),n(`Shell binary exists: ${LF1(A)}`),n(`Execution timeout: ${u9B}ms`),rv6(A,["-c","-l",I],{env:{...process.env.CLAUDE_CODE_DONT_INHERIT_ENV?{}:process.env,SHELL:A,GIT_EDITOR:"true",CLAUDECODE:"1"},timeout:u9B,maxBuffer:1048576,encoding:"utf8"},async(F,V,K)=>{if(F){let D=F;if(n(`Shell snapshot creation failed: ${F.message}`),n("Error details:"),n(` - Error code: ${D?.code}`),n(` - Error signal: ${D?.signal}`),n(` - Error killed: ${D?.killed}`),n(` - Shell path: ${A}`),n(` - Config file: ${LO0(A)}`),n(` - Config file exists: ${G}`),n(` - Working directory: ${YA()}`),n(` - Claude home: ${IB()}`),n(`Full snapshot script:
1252
1252
  ${I}`),V)n(`stdout output (${V.length} chars):
1253
- ${V}`);else n("No stdout output captured");if(K)n(`stderr output (${K.length} chars): ${K}`);else n("No stderr output captured");J1(Error(`Failed to create shell snapshot: ${F.message}`),WYA);let H=D?.signal?_g1.constants.signals[D.signal]:void 0;Z1("tengu_shell_snapshot_failed",{stderr_length:K?.length||0,has_error_code:!!D?.code,error_signal_number:H,error_killed:D?.killed}),Q(void 0)}else if(LF1(X)){let D=iv6(X).size;n(`Shell snapshot created successfully (${D} bytes)`),rD(async()=>{try{if(LF1(X))N1().unlinkSync(X),n(`Cleaned up session snapshot: ${X}`)}catch(H){n(`Error cleaning up session snapshot: ${H}`)}}),Q(X)}else{n(`Shell snapshot file not found after creation: ${X}`),n(`Checking if parent directory still exists: ${W}`);let D=LF1(W);if(n(`Parent directory exists: ${D}`),D)try{let H=N1().readdirSync(W);n(`Directory contains ${H.length} files`)}catch(H){n(`Could not read directory contents: ${H}`)}Z1("tengu_shell_unknown_error",{}),Q(void 0)}})}catch(Z){if(n(`Unexpected error during snapshot creation: ${Z}`),Z instanceof Error)n(`Error stack trace: ${Z.stack}`);J1(Z instanceof Error?Z:Error(String(Z)),XYA),Z1("tengu_shell_snapshot_error",{}),Q(void 0)}})};var d9B=R(async()=>{HB();oA();mA();hQ();await W1([yD(),s0(),KA(),B7(),_3(),TR(),be()])});import{constants as Qb6,readFileSync as Zb6,existsSync as Gb6}from"node:fs";import{execSync as p9B,spawn as Yb6}from"node:child_process";import{isAbsolute as Jb6,resolve as Wb6}from"node:path";import*as l9B from"node:os";import{accessSync as Xb6}from"fs";function c9B(A){try{return Xb6(A,Qb6.X_OK),!0}catch(B){try{return p9B(`${A} --version`,{timeout:1000,stdio:"ignore"}),!0}catch{return!1}}}function Fb6(){let A=(F)=>{try{return p9B(`which ${F}`,{stdio:["ignore","pipe","ignore"]}).toString().trim()}catch{return null}},B=process.env.SHELL,Q=B&&(B.includes("bash")||B.includes("zsh")),Z=B?.includes("bash"),G=A("zsh"),Y=A("bash"),J=["/bin","/usr/bin","/usr/local/bin","/opt/homebrew/bin"],X=(Z?["bash","zsh"]:["zsh","bash"]).flatMap((F)=>J.map((V)=>`${V}/${F}`));if(Z){if(Y)X.unshift(Y);if(G)X.push(G)}else{if(G)X.unshift(G);if(Y)X.push(Y)}if(Q&&c9B(B))X.unshift(B);let I=X.find((F)=>F&&c9B(F));if(!I){let F="No suitable shell found. Claude CLI requires a Posix shell environment. Please ensure you have a valid shell installed and the SHELL environment variable set.";throw J1(Error(F),ZYA),Error(F)}return I}async function Vb6(){let A=Fb6(),B;try{B=await m9B(A)}catch(Q){n(`Failed to create shell snapshot: ${Q}`),B=void 0}return{binShell:A,snapshotFilePath:B}}async function kg1(A,B,Q,Z,G,Y,J,W){let X=Q||Ib6,{binShell:I,snapshotFilePath:F}=await MF1();if(Z)I=Z,F=void 0;let V=Math.floor(Math.random()*65536).toString(16).padStart(4,"0"),K=l9B.tmpdir();if(b2()==="windows")K=xR(K);let D=`${K}/claude-${V}-cwd`,H=J?await IQ.wrapWithSandbox(A):A,z=v9B(A),C=x9B(H,z);if(!J&&A.includes("|")&&z)C=h9B(A);let q=[];if(F){if(!Gb6(F))n(`Snapshot file missing, recreating: ${F}`),MF1.cache?.clear?.(),F=(await MF1()).snapshotFilePath;if(F){let _=b2()==="windows"?xR(F):F;q.push(`source ${b6([_])}`)}}let N=VOA();if(N)q.push(N);q.push(`eval ${C}`),q.push(`pwd -P >| ${D}`);let L=q.join(" && ");if(process.env.CLAUDE_CODE_SHELL_PREFIX)L=qO1(process.env.CLAUDE_CODE_SHELL_PREFIX,L);let O=w50();if(B.aborted)return WOA();let T=(process.env.CLAUDE_BASH_NO_LOGIN==="true"||process.env.CLAUDE_BASH_NO_LOGIN==="1")&&F!==void 0,P=["-c",...T?[]:["-l"],L];if(T)n("Spawning shell without login (-l flag skipped)");if(J)try{let _=N1(),h="/tmp/claude";if(!_.existsSync("/tmp/claude"))_.mkdirSync("/tmp/claude")}catch(_){n(`Failed to create /tmp/claude directory: ${_}`)}try{let _=Yb6(I,P,{env:{...process.env,SHELL:I,GIT_EDITOR:"true",CLAUDECODE:"1",...{},...J?{TMPDIR:"/tmp/claude"}:{}},cwd:O,detached:!0}),h=$O1(_,B,X,G,W);return h.result.then(async(k)=>{if(k&&!Y&&!k.backgroundTaskId)try{Iw(Zb6(D,{encoding:"utf8"}).trim(),O)}catch{Z1("tengu_shell_set_cwd",{success:!1})}}),h}catch(_){return n(`Shell exec error: ${_ instanceof Error?_.message:String(_)}`),{status:"killed",background:()=>null,kill:()=>{},result:Promise.resolve({code:126,stdout:"",stderr:_ instanceof Error?_.message:String(_),interrupted:!1})}}}function Iw(A,B){let Q=Jb6(A)?A:Wb6(B||N1().cwd(),A);if(!N1().existsSync(Q))throw Error(`Path "${Q}" does not exist`);let Z=N1().realpathSync(Q);OBA(Z);try{Z1("tengu_shell_set_cwd",{success:!0})}catch(G){}}var Ib6=1800000,MF1;var CP=R(async()=>{a30();oA();K2();mA();TB();hQ();await W1([yD(),s30(),b9B(),s0(),KA(),be(),_3(),g9B(),d9B(),fI(),EO1()]);MF1=WA(Vb6)});import{EOL as xg1}from"os";import{isAbsolute as Db6,resolve as Hb6}from"path";function n9B(A){let B=qV(A);if(B.length===0)return"other";for(let Q of B){let Z=Q.split(" ")[0]||"";if($b6.includes(Z))return Z}return"other"}function Eb6(A,B){if(B!==0)return;if(A.match(/\bgit\s+commit\b/)){if(Z1("tengu_git_operation",{operation:"commit"}),A.match(/--amend\b/))Z1("tengu_git_operation",{operation:"commit_amend"});gBA()?.add(1)}if(A.match(/\bgh\s+pr\s+create\b/))Z1("tengu_git_operation",{operation:"pr_create"}),hBA()?.add(1)}function a9B(A){let B=qV(A);if(B.length===0)return!0;let Q=B[0]?.trim();if(!Q)return!0;return!Cb6.includes(Q)}function wb6(A){let Q=yA().sandbox?.excludedCommands??[];if(Q.length===0)return!1;for(let Z of Q){let G=vL0(Z);switch(G.type){case"exact":if(A.trim()===G.command)return!0;break;case"prefix":{let Y=A.trim();if(Y===G.prefix||Y.startsWith(G.prefix+" "))return!0;break}}}return!1}function QQ1(A){if(!IQ.isSandboxingEnabled())return!1;if(A.dangerouslyOverrideSandbox)return!1;if(!A.command)return!1;if(wb6(A.command))return!1;return!0}async function Nb6(A,B,Q,Z,G){return null}async function*Lb6({input:A,abortController:B,setAppState:Q,setToolJSX:Z,preventCwdChanges:G}){let{command:Y,description:J,timeout:W,shellExecutable:X,run_in_background:I}=A,F=W||WQ1(),V="",K="",D=0,H=void 0,z=a9B(Y),C=await kg1(Y,B.signal,F,X,(_,h,k)=>{K=_,V=h,D=k},G,QQ1(A),z),q=C.result;function N(_,h){Q((k)=>{let l=k.backgroundTasks[_];if(l&&l.type!=="shell")return k;return{...k,backgroundTasks:{...k.backgroundTasks,[_]:h(l)}}})}function L(_,h){let k=LL0(Y,C,J||Y,N);if(H=k,Z1(_,{command_type:n9B(Y)}),h)h(k)}function O(){L("tengu_bash_command_backgrounded")}if(C.onTimeout)C.onTimeout((_)=>{L("tengu_bash_command_timeout_backgrounded",_)});if(I===!0&&a9B(Y)){let _=LL0(Y,C,J||Y,N);return Z1("tengu_bash_command_auto_backgrounded",{command_type:n9B(Y)}),{stdout:"",stderr:"",code:0,interrupted:!1,backgroundTaskId:_}}let T=Date.now(),P=T+i9B;while(!0){let _=Date.now(),h=Math.max(0,P-_),k=await Promise.race([q,new Promise((t)=>setTimeout(()=>t(null),h))]);if(k!==null)return k;if(H)return{stdout:"",stderr:"",code:0,interrupted:!1,backgroundTaskId:H};let l=Date.now()-T,g=Math.floor(l/1000);if(H===void 0&&g>=i9B/1000&&Z)Z({jsx:MO0.createElement(R9B,{onBackground:O}),shouldHidePromptInput:!1,shouldContinueAnimation:!0,showSpinner:!0});yield{type:"progress",fullOutput:V,output:K,elapsedTimeSeconds:g,totalLines:D},P=Date.now()+zb6}}var MO0,i9B=2000,zb6=1000,Cb6,Ub6,$b6,qb6,B9;var vI=R(async()=>{g9();hQ();HB();Qw();UM();K2();WZ();K2();await W1([QjA(),KM(),s0(),NM(),_i(),XQ1(),fI(),Uf(),kh1(),ms2(),KA(),tB(),cs2(),XQ1(),k9B(),CP()]);MO0=A1(V1(),1),Cb6=["sleep"],Ub6=x.strictObject({command:x.string().describe("The command to execute"),timeout:x.number().optional().describe(`Optional timeout in milliseconds (max ${ch1()})`),description:x.string().optional().describe(`Clear, concise description of what this command does in 5-10 words, in active voice. Examples:
1253
+ ${V}`);else n("No stdout output captured");if(K)n(`stderr output (${K.length} chars): ${K}`);else n("No stderr output captured");J1(Error(`Failed to create shell snapshot: ${F.message}`),WYA);let H=D?.signal?_g1.constants.signals[D.signal]:void 0;Z1("tengu_shell_snapshot_failed",{stderr_length:K?.length||0,has_error_code:!!D?.code,error_signal_number:H,error_killed:D?.killed}),Q(void 0)}else if(LF1(X)){let D=iv6(X).size;n(`Shell snapshot created successfully (${D} bytes)`),rD(async()=>{try{if(LF1(X))N1().unlinkSync(X),n(`Cleaned up session snapshot: ${X}`)}catch(H){n(`Error cleaning up session snapshot: ${H}`)}}),Q(X)}else{n(`Shell snapshot file not found after creation: ${X}`),n(`Checking if parent directory still exists: ${W}`);let D=LF1(W);if(n(`Parent directory exists: ${D}`),D)try{let H=N1().readdirSync(W);n(`Directory contains ${H.length} files`)}catch(H){n(`Could not read directory contents: ${H}`)}Z1("tengu_shell_unknown_error",{}),Q(void 0)}})}catch(Z){if(n(`Unexpected error during snapshot creation: ${Z}`),Z instanceof Error)n(`Error stack trace: ${Z.stack}`);J1(Z instanceof Error?Z:Error(String(Z)),XYA),Z1("tengu_shell_snapshot_error",{}),Q(void 0)}})};var d9B=R(async()=>{HB();oA();mA();hQ();await W1([yD(),s0(),KA(),B7(),_3(),TR(),be()])});import{constants as Qb6,readFileSync as Zb6,existsSync as Gb6}from"node:fs";import{execSync as p9B,spawn as Yb6}from"node:child_process";import{isAbsolute as Jb6,resolve as Wb6}from"node:path";import*as l9B from"node:os";import{accessSync as Xb6}from"fs";function c9B(A){try{return Xb6(A,Qb6.X_OK),!0}catch(B){try{return p9B(`${A} --version`,{timeout:1000,stdio:"ignore"}),!0}catch{return!1}}}function Fb6(){let A=(F)=>{try{return p9B(`which ${F}`,{stdio:["ignore","pipe","ignore"]}).toString().trim()}catch{return null}},B=process.env.SHELL,Q=B&&(B.includes("bash")||B.includes("zsh")),Z=B?.includes("bash"),G=A("zsh"),Y=A("bash"),J=["/bin","/usr/bin","/usr/local/bin","/opt/homebrew/bin"],X=(Z?["bash","zsh"]:["zsh","bash"]).flatMap((F)=>J.map((V)=>`${V}/${F}`));if(Z){if(Y)X.unshift(Y);if(G)X.push(G)}else{if(G)X.unshift(G);if(Y)X.push(Y)}if(Q&&c9B(B))X.unshift(B);let I=X.find((F)=>F&&c9B(F));if(!I){let F="No suitable shell found. AICO CLI requires a Posix shell environment. Please ensure you have a valid shell installed and the SHELL environment variable set.";throw J1(Error(F),ZYA),Error(F)}return I}async function Vb6(){let A=Fb6(),B;try{B=await m9B(A)}catch(Q){n(`Failed to create shell snapshot: ${Q}`),B=void 0}return{binShell:A,snapshotFilePath:B}}async function kg1(A,B,Q,Z,G,Y,J,W){let X=Q||Ib6,{binShell:I,snapshotFilePath:F}=await MF1();if(Z)I=Z,F=void 0;let V=Math.floor(Math.random()*65536).toString(16).padStart(4,"0"),K=l9B.tmpdir();if(b2()==="windows")K=xR(K);let D=`${K}/claude-${V}-cwd`,H=J?await IQ.wrapWithSandbox(A):A,z=v9B(A),C=x9B(H,z);if(!J&&A.includes("|")&&z)C=h9B(A);let q=[];if(F){if(!Gb6(F))n(`Snapshot file missing, recreating: ${F}`),MF1.cache?.clear?.(),F=(await MF1()).snapshotFilePath;if(F){let _=b2()==="windows"?xR(F):F;q.push(`source ${b6([_])}`)}}let N=VOA();if(N)q.push(N);q.push(`eval ${C}`),q.push(`pwd -P >| ${D}`);let L=q.join(" && ");if(process.env.CLAUDE_CODE_SHELL_PREFIX)L=qO1(process.env.CLAUDE_CODE_SHELL_PREFIX,L);let O=w50();if(B.aborted)return WOA();let T=(process.env.CLAUDE_BASH_NO_LOGIN==="true"||process.env.CLAUDE_BASH_NO_LOGIN==="1")&&F!==void 0,P=["-c",...T?[]:["-l"],L];if(T)n("Spawning shell without login (-l flag skipped)");if(J)try{let _=N1(),h="/tmp/claude";if(!_.existsSync("/tmp/claude"))_.mkdirSync("/tmp/claude")}catch(_){n(`Failed to create /tmp/claude directory: ${_}`)}try{let _=Yb6(I,P,{env:{...process.env,SHELL:I,GIT_EDITOR:"true",CLAUDECODE:"1",...{},...J?{TMPDIR:"/tmp/claude"}:{}},cwd:O,detached:!0}),h=$O1(_,B,X,G,W);return h.result.then(async(k)=>{if(k&&!Y&&!k.backgroundTaskId)try{Iw(Zb6(D,{encoding:"utf8"}).trim(),O)}catch{Z1("tengu_shell_set_cwd",{success:!1})}}),h}catch(_){return n(`Shell exec error: ${_ instanceof Error?_.message:String(_)}`),{status:"killed",background:()=>null,kill:()=>{},result:Promise.resolve({code:126,stdout:"",stderr:_ instanceof Error?_.message:String(_),interrupted:!1})}}}function Iw(A,B){let Q=Jb6(A)?A:Wb6(B||N1().cwd(),A);if(!N1().existsSync(Q))throw Error(`Path "${Q}" does not exist`);let Z=N1().realpathSync(Q);OBA(Z);try{Z1("tengu_shell_set_cwd",{success:!0})}catch(G){}}var Ib6=1800000,MF1;var CP=R(async()=>{a30();oA();K2();mA();TB();hQ();await W1([yD(),s30(),b9B(),s0(),KA(),be(),_3(),g9B(),d9B(),fI(),EO1()]);MF1=WA(Vb6)});import{EOL as xg1}from"os";import{isAbsolute as Db6,resolve as Hb6}from"path";function n9B(A){let B=qV(A);if(B.length===0)return"other";for(let Q of B){let Z=Q.split(" ")[0]||"";if($b6.includes(Z))return Z}return"other"}function Eb6(A,B){if(B!==0)return;if(A.match(/\bgit\s+commit\b/)){if(Z1("tengu_git_operation",{operation:"commit"}),A.match(/--amend\b/))Z1("tengu_git_operation",{operation:"commit_amend"});gBA()?.add(1)}if(A.match(/\bgh\s+pr\s+create\b/))Z1("tengu_git_operation",{operation:"pr_create"}),hBA()?.add(1)}function a9B(A){let B=qV(A);if(B.length===0)return!0;let Q=B[0]?.trim();if(!Q)return!0;return!Cb6.includes(Q)}function wb6(A){let Q=yA().sandbox?.excludedCommands??[];if(Q.length===0)return!1;for(let Z of Q){let G=vL0(Z);switch(G.type){case"exact":if(A.trim()===G.command)return!0;break;case"prefix":{let Y=A.trim();if(Y===G.prefix||Y.startsWith(G.prefix+" "))return!0;break}}}return!1}function QQ1(A){if(!IQ.isSandboxingEnabled())return!1;if(A.dangerouslyOverrideSandbox)return!1;if(!A.command)return!1;if(wb6(A.command))return!1;return!0}async function Nb6(A,B,Q,Z,G){return null}async function*Lb6({input:A,abortController:B,setAppState:Q,setToolJSX:Z,preventCwdChanges:G}){let{command:Y,description:J,timeout:W,shellExecutable:X,run_in_background:I}=A,F=W||WQ1(),V="",K="",D=0,H=void 0,z=a9B(Y),C=await kg1(Y,B.signal,F,X,(_,h,k)=>{K=_,V=h,D=k},G,QQ1(A),z),q=C.result;function N(_,h){Q((k)=>{let l=k.backgroundTasks[_];if(l&&l.type!=="shell")return k;return{...k,backgroundTasks:{...k.backgroundTasks,[_]:h(l)}}})}function L(_,h){let k=LL0(Y,C,J||Y,N);if(H=k,Z1(_,{command_type:n9B(Y)}),h)h(k)}function O(){L("tengu_bash_command_backgrounded")}if(C.onTimeout)C.onTimeout((_)=>{L("tengu_bash_command_timeout_backgrounded",_)});if(I===!0&&a9B(Y)){let _=LL0(Y,C,J||Y,N);return Z1("tengu_bash_command_auto_backgrounded",{command_type:n9B(Y)}),{stdout:"",stderr:"",code:0,interrupted:!1,backgroundTaskId:_}}let T=Date.now(),P=T+i9B;while(!0){let _=Date.now(),h=Math.max(0,P-_),k=await Promise.race([q,new Promise((t)=>setTimeout(()=>t(null),h))]);if(k!==null)return k;if(H)return{stdout:"",stderr:"",code:0,interrupted:!1,backgroundTaskId:H};let l=Date.now()-T,g=Math.floor(l/1000);if(H===void 0&&g>=i9B/1000&&Z)Z({jsx:MO0.createElement(R9B,{onBackground:O}),shouldHidePromptInput:!1,shouldContinueAnimation:!0,showSpinner:!0});yield{type:"progress",fullOutput:V,output:K,elapsedTimeSeconds:g,totalLines:D},P=Date.now()+zb6}}var MO0,i9B=2000,zb6=1000,Cb6,Ub6,$b6,qb6,B9;var vI=R(async()=>{g9();hQ();HB();Qw();UM();K2();WZ();K2();await W1([QjA(),KM(),s0(),NM(),_i(),XQ1(),fI(),Uf(),kh1(),ms2(),KA(),tB(),cs2(),XQ1(),k9B(),CP()]);MO0=A1(V1(),1),Cb6=["sleep"],Ub6=x.strictObject({command:x.string().describe("The command to execute"),timeout:x.number().optional().describe(`Optional timeout in milliseconds (max ${ch1()})`),description:x.string().optional().describe(`Clear, concise description of what this command does in 5-10 words, in active voice. Examples:
1254
1254
  Input: ls
1255
1255
  Output: List files in current directory
1256
1256
 
@@ -1824,7 +1824,7 @@ ${c}`);else G()}let k=Z2();function l(){Z1("tengu_message_selector_cancelled",{}
1824
1824
  `).slice(0,4).join(`
1825
1825
  `)))}function J_5(A,B,Q){let Z=A.findIndex((X)=>X.uuid===B);if(Z===-1)return;let G=Q?A.findIndex((X)=>X.uuid===Q):A.length;if(G===-1)G=A.length;let Y=[],J=0,W=0;for(let X=Z+1;X<G;X++){let I=A[X];if(!I||!UPB(I))continue;let F=I.toolUseResult;if(!F||!F.filePath||!F.structuredPatch)continue;if(!Y.includes(F.filePath))Y.push(F.filePath);try{if("type"in F&&F.type==="create")J+=F.content.split(/\r?\n/).length;else for(let V of F.structuredPatch){let K=V.lines.filter((H)=>H.startsWith("+")).length,D=V.lines.filter((H)=>H.startsWith("-")).length;J+=K,W+=D}}catch{continue}}return{filesChanged:Y,insertions:J,deletions:W}}function KD1(A){if(A.type!=="user")return!1;if(Array.isArray(A.message.content)&&A.message.content[0]?.type==="tool_result")return!1;if(Vi1(A))return!1;if(A.isMeta)return!1;let B=A.message.content,Q=typeof B==="string"?B.trim():B[B.length-1]?.type==="text"?B[B.length-1].text.trim():"";if(Q.indexOf("<local-command-stdout>")!==-1||Q.indexOf("<local-command-stderr>")!==-1||Q.indexOf("<bash-stdout>")!==-1||Q.indexOf("<bash-stderr>")!==-1)return!1;return!0}function CPB(A){if(A.type!=="user")return!1;if(Array.isArray(A.message.content)&&A.message.content[0]?.type==="tool_result")return!1;if(Array.isArray(A.message.content)){for(let B of A.message.content)if(B.type==="text"){let Q=B.text;if(Q.indexOf("<local-command-stdout>")!==-1||Q.indexOf("<local-command-stderr>")!==-1||Q.indexOf("<bash-stdout>")!==-1||Q.indexOf("<bash-stderr>")!==-1)return!1}}return!0}var JA,LC,Z_5,G_5,ix0=7;var Fi1=R(async()=>{oQ();await W1([p1(),UB(),KA(),T9(),r8(),s9(),s0(),xM(),M6(),_V()]);JA=A1(V1(),1),LC=A1(V1(),1),Z_5=[{value:"both",label:"Restore code and conversation"},{value:"conversation",label:"Restore conversation"},{value:"code",label:"Restore code"}],G_5=[{value:"conversation",label:"Restore conversation"},{value:"nevermind",label:"Never mind"}]});function mk({message:A,messages:B,addMargin:Q,tools:Z,verbose:G,erroredToolUseIDs:Y,inProgressToolUseIDs:J,resolvedToolUseIDs:W,progressMessagesForMessage:X,shouldAnimate:I,shouldShowDot:F,style:V,width:K,isTranscriptMode:D}){let H=$PB.useMemo(()=>{if(!kc1().alwaysThinking)return!1;let C=B.findIndex((_)=>_===A);if(C===-1)return!1;let N=B.slice(0,C).filter(CPB).at(-1),L=N?.thinkingMetadata?.level,T=!N?.thinkingMetadata?.disabled&&L&&L!=="none",P=!!process.env.MAX_THINKING_TOKENS;return!T&&!P},[B,A]);switch(A.type){case"attachment":return Y7.createElement(eTB,{addMargin:Q,attachment:A.attachment,verbose:G});case"assistant":return Y7.createElement(S,{flexDirection:"column",width:"100%"},A.message.content.map((z,C)=>Y7.createElement(X_5,{key:C,param:z,addMargin:Q,tools:Z,verbose:G,erroredToolUseIDs:Y,inProgressToolUseIDs:J,resolvedToolUseIDs:W,progressMessagesForMessage:X,shouldAnimate:I,shouldShowDot:F,width:K,inProgressToolCallCount:J.size,isTranscriptMode:D,shouldHideExperimentThinking:H,messages:B})));case"user":{let z=A.message.content;if(z.some((C)=>C.type==="text"&&C.text.includes("<command-message>")))n(`Rendering user message with ${z.length} content blocks`),z.forEach((C,q)=>{if(C.type==="text")n(` Block ${q}: ${C.text.substring(0,100)}...`)});return Y7.createElement(S,{flexDirection:"column",width:"100%"},z.map((C,q)=>Y7.createElement(W_5,{key:q,message:A,messages:B,addMargin:Q,tools:Z,progressMessagesForMessage:X,param:C,style:V,verbose:G})))}case"system":if(A.subtype==="compact_boundary")return Y7.createElement(WPB,null);if(A.subtype==="local_command")return Y7.createElement(Ua,{addMargin:Q,param:{type:"text",text:A.content},verbose:G});return Y7.createElement(YPB,{message:A,addMargin:Q,verbose:G})}}function W_5({message:A,messages:B,addMargin:Q,tools:Z,progressMessagesForMessage:G,param:Y,style:J,verbose:W}){let{columns:X}=qB();switch(Y.type){case"text":return Y7.createElement(Ua,{addMargin:Q,param:Y,verbose:W,thinkingMetadata:A.thinkingMetadata});case"tool_result":return Y7.createElement(VTB,{param:Y,message:A,messages:B,progressMessagesForMessage:G,style:J,tools:Z,verbose:W,width:X-5});default:return}}function X_5({param:A,addMargin:B,tools:Q,verbose:Z,erroredToolUseIDs:G,inProgressToolUseIDs:Y,resolvedToolUseIDs:J,progressMessagesForMessage:W,shouldAnimate:X,shouldShowDot:I,width:F,inProgressToolCallCount:V,isTranscriptMode:K,shouldHideExperimentThinking:D,messages:H}){switch(A.type){case"tool_use":return Y7.createElement($TB,{param:A,addMargin:B,tools:Q,verbose:Z,erroredToolUseIDs:G,inProgressToolUseIDs:Y,resolvedToolUseIDs:J,progressMessagesForMessage:W,shouldAnimate:X,shouldShowDot:I,inProgressToolCallCount:V,messages:H});case"text":return Y7.createElement(STB,{param:A,addMargin:B,shouldShowDot:I,width:F});case"redacted_thinking":if(!K)return null;if(D)return null;return Y7.createElement(sTB,{addMargin:B});case"thinking":if(!K)return null;if(D)return null;return Y7.createElement(nTB,{addMargin:B,param:A,isTranscriptMode:K});default:return J1(Error(`Unable to render message type: ${A.type}`),y7A),null}}var Y7,$PB;var DD1=R(async()=>{mA();await W1([p1(),s0(),KTB(),qTB(),yTB(),Yi1(),aTB(),rTB(),M6(),APB(),JPB(),XPB(),Fi1(),xc1()]);Y7=A1(V1(),1),$PB=A1(V1(),1)});var qPB,nx0;var EPB=R(async()=>{$5();oA();await W1([p1(),UY(),s0(),tD(),M6(),KA(),T9(),Ty0(),_V(),xM(),l5(),UB(),DD1()]);qPB=A1(V1(),1),nx0=A1(V1(),1)});var I_5;var wPB=R(async()=>{await EPB();I_5=A1(V1(),1)});function F_5(A,B,Q,Z=""){return ax0.createElement(_HB,{abortSignal:B,messages:Q,initialDescription:Z,onDone:A})}var ax0,V_5,NPB;var LPB=R(async()=>{HB();await Ty0();ax0=A1(V1(),1);V_5={aliases:["bug"],type:"local-jsx",name:"feedback",description:"Submit feedback about AICO",argumentHint:"[report]",isEnabled:()=>!(TA(process.env.CLAUDE_CODE_USE_BEDROCK)||TA(process.env.CLAUDE_CODE_USE_VERTEX)||process.env.DISABLE_FEEDBACK_COMMAND||process.env.DISABLE_BUG_COMMAND||process.env.CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC),isHidden:!1,async call(A,{abortController:B,messages:Q},Z){let G=Z||"";return F_5(A,B.signal,Q,G)},userFacingName(){return"feedback"}},NPB=V_5});async function K_5({setMessages:A,readFileState:B,setAppState:Q}){if(await sx0("clear"),await DY(),A([]),yV.cache.clear?.(),SV.cache.clear?.(),pS0.cache.clear?.(),aI.cache.clear?.(),Iw(fB()),B.clear(),Q)Q((G)=>({...G,fileHistory:{snapshots:[],trackedFiles:new Set},checkpointing:{...G.checkpointing,checkpoints:{}}}));MBA(),await Yj();let Z=await O$("clear");if(Z.length>0)A(Z)}var D_5,MPB;var OPB=R(async()=>{K2();await W1([uP(),$H(),a_(),CP(),rF(),za(),Qj()]);D_5={type:"local",name:"clear",description:"Clear conversation history and free up context",aliases:["reset","new"],isEnabled:()=>!0,isHidden:!1,supportsNonInteractive:!1,async call(A,B){return await K_5(B),{type:"text",value:""}},userFacingName(){return"clear"}},MPB=D_5});function k41(){let A=v3(),B=ox0(A);return FR(A)-B}function C_5(){let A=k41(),B=A-rx0,Q=process.env.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE;if(Q){let Z=parseFloat(Q);if(!isNaN(Z)&&Z>0&&Z<=100){let G=Math.floor(A*(Z/100));return Math.min(G,B)}}return B}function ck(A){let B=C_5(),Q=dk()?B:k41(),Z=Math.max(0,Math.round((Q-A)/Q*100)),G=Q-H_5,Y=Q-z_5,J=A>=G,W=A>=Y,X=dk()&&A>=B;return{percentLeft:Z,isAboveWarningThreshold:J,isAboveErrorThreshold:W,isAboveAutoCompactThreshold:X}}function dk(){return w0().autoCompactEnabled}async function U_5(A,B){if(B==="session_memory")return!1;if(!dk())return!1;let Q=oI(A),{isAboveAutoCompactThreshold:Z}=ck(Q);return Z}async function RPB(A,B,Q){if(!await U_5(A,Q))return{wasCompacted:!1};try{return{wasCompacted:!0,compactionResult:await Bi1(A,B,!0,void 0,!0)}}catch(G){if(!TZ1(G,WD1))J1(G instanceof Error?G:Error(String(G)),t7A);return{wasCompacted:!1}}}var rx0=13000,H_5=20000,z_5=20000;var iu=R(async()=>{WZ();await W1([uw(),Qi1(),s0(),g2(),pQ(),HG()])});function L_5(A,B){if(!B.some((Z)=>Z.type==="assistant")&&!Av0.has(A)){if(XY("cc_microcompact_ext","mc_disabled",!1))Av0.add(A)}return Av0.has(A)}function M_5(A){if(!A.content)return 0;if(typeof A.content==="string")return $Z(A.content);return A.content.reduce((B,Q)=>{if(Q.type==="text")return B+$Z(Q.text);else if(Q.type==="image")return B+w_5;return B},0)}function O_5(A,B){let Q=TPB.get(A);if(Q===void 0)Q=M_5(B),TPB.set(A,Q);return Q}function R_5(A){return Ki1.push(A),()=>{Ki1=Ki1.filter((B)=>B!==A)}}function T_5(){Ki1.forEach((A)=>A())}async function nu(A,B,Q){if(Di1=!1,TA(process.env.DISABLE_MICROCOMPACT))return{messages:A};if(L_5(W2(),A))return{messages:A};TA(process.env.USE_API_CONTEXT_MANAGEMENT);let Z=B!==void 0,G=Z?B:q_5,Y=[],J=new Map;for(let D of A)if((D.type==="user"||D.type==="assistant")&&Array.isArray(D.message.content)){for(let H of D.message.content)if(H.type==="tool_use"&&N_5.has(H.name)){if(!tx0.has(H.id))Y.push(H.id)}else if(H.type==="tool_result"&&Y.includes(H.tool_use_id)){let z=O_5(H.tool_use_id,H);J.set(H.tool_use_id,z)}}let W=Y.slice(-E_5),X=Array.from(J.values()).reduce((D,H)=>D+H,0),I=0,F=new Set;for(let D of Y){if(W.includes(D))continue;if(X-I>G)F.add(D),I+=J.get(D)||0}if(!Z){let D=oI(A);if(!ck(D).isAboveWarningThreshold||I<$_5)F.clear(),I=0}let V=(D)=>{return tx0.has(D)||F.has(D)};if(F.size>0,F.size>0)A.filter((H)=>H&&H.type==="attachment"&&H.attachment.type==="memory"&&!ex0.has(H.uuid)).map((H)=>({uuid:H.uuid})).forEach((H)=>ex0.add(H.uuid));let K=[];for(let D of A){if(D.type==="attachment"&&ex0.has(D.uuid))continue;if(D.type!=="user"&&D.type!=="assistant"){K.push(D);continue}if(!Array.isArray(D.message.content)){K.push(D);continue}if(D.type==="user"){let H=[];for(let z of D.message.content)if(z.type==="tool_result"&&V(z.tool_use_id))H.push({...z,content:"[Old tool result content cleared]"});else H.push(z);if(H.length>0)K.push({...D,message:{...D.message,content:H}})}else{let H=[];for(let z of D.message.content)H.push(z);K.push({...D,message:{...D.message,content:H}})}}if(Q&&F.size>0){let D=new Map,H=new Set;for(let z of A)if((z.type==="user"||z.type==="assistant")&&Array.isArray(z.message.content)){for(let C of z.message.content)if(C.type==="tool_use"&&C.name===K3){let q=C.input?.file_path;if(typeof q==="string")if(F.has(C.id))D.set(q,C.id);else H.add(q)}}for(let[z]of D)if(!H.has(z))Q.readFileState.delete(z)}for(let D of F)tx0.add(D);if(F.size>0)return Z1("tengu_microcompact",{toolsCompacted:F.size,totalUncompactedTokens:X,tokensAfterCompaction:X-I,tokensSaved:I,triggerType:Z?"manual":"auto"}),Di1=!0,T_5(),{messages:K};return{messages:K}}function PPB(){let[A,B]=Hi1.useState(Di1);return Hi1.useEffect(()=>{return R_5(()=>{B(Di1)})},[]),A}var Hi1,$_5=20000,q_5=40000,E_5=3,w_5=2000,N_5,tx0,ex0,TPB,Av0,Di1=!1,Ki1;var x41=R(async()=>{HB();K2();zf();await W1([Dw(),KA(),UB(),uw(),iu(),aF(),aR()]);Hi1=A1(V1(),1),N_5=new Set([K3,_4,nF,fD,lp,sF,r3,jW]),tx0=new Set,ex0=new Set,TPB=new Map,Av0=new Set;Ki1=[]});var P_5,jPB;var SPB=R(async()=>{tQ();await W1([uP(),$H(),Qi1(),x41(),s0()]);P_5={type:"local",name:"compact",description:"Clear conversation history but keep a summary in context. Optional: /compact [instructions for summarization]",isEnabled:()=>!0,isHidden:!1,supportsNonInteractive:!0,argumentHint:"<optional custom summarization instructions>",async call(A,B){let{abortController:Q,messages:Z}=B;if(Z.length===0)throw Error("No messages to compact");let G=A.trim();try{let J=(await nu(Z,void 0,B)).messages,W=await Bi1(J,B,!1,G);yV.cache.clear?.(),aI.cache.clear?.();let X=[...B.options.verbose?[]:["(ctrl+o to see full summary)"],...W.userDisplayMessage?[W.userDisplayMessage]:[]];return{type:"compact",compactionResult:W,displayText:t1.dim("Compacted "+X.join(`
1826
1826
  `))}}catch(Y){if(Q.signal.aborted)throw Error("Compaction canceled.");else if(Y instanceof Error&&Y.message===JD1)throw Error(JD1);else throw J1(Y instanceof Error?Y:Error(String(Y)),X7A),Error(`Error during compaction: ${Y}`)}},userFacingName(){return"compact"}},jPB=P_5});function au({title:A,color:B,defaultTab:Q,children:Z,hidden:G}){let Y=Z.map((I)=>[I.props.id??I.props.title,I.props.title]),J=Q?Y.findIndex((I)=>Q===I[0]):0,[W,X]=MC.useState(J!==-1?J:0);return u0((I,F)=>{if(F.tab){let V=F.shift?-1:1;X((W+Y.length+V)%Y.length)}},{isActive:!G}),MC.default.createElement(yPB.Provider,{value:Y[W][0]},MC.default.createElement(S,{flexDirection:"column"},!G&&MC.default.createElement(S,{flexDirection:"row",gap:1},A!==void 0&&MC.default.createElement($,{bold:!0,color:B},A),Y.map(([I,F],V)=>MC.default.createElement($,{key:I,backgroundColor:B&&W===V?B:void 0,color:B&&W===V?"inverseText":void 0,bold:W===V}," ",F," ")),MC.default.createElement($,{dimColor:!0}," (tab to cycle)")),MC.default.createElement(S,null,Z)))}function aK({title:A,id:B,children:Q}){if(MC.useContext(yPB)!==(B??A))return null;return Q}var MC,yPB;var zD1=R(async()=>{await p1();MC=A1(V1(),1),yPB=MC.createContext(void 0)});function _PB({context:A,flat:B}={}){let Q=aI(),Z=[];if(A?.readFileState)Ng(A.readFileState).forEach((J)=>{let W=A.readFileState.get(J);if(W&&J.endsWith("/CLAUDE.md")&&!Q.some((X)=>X.path===J))Z.push({path:J,content:W.content,type:"Project",isNested:!0})});let G=[...Q,...Z];if(G.length===0)return null;if(B)return lJ.createElement(S,{flexDirection:"row",columnGap:1,flexWrap:"wrap"},G.map((J,W)=>{let X=uX(J.path),I=J.isNested?"nested":Sx0(J.type),F=W<G.length-1?",":"";return lJ.createElement(S,{key:W,flexDirection:"row",flexShrink:0},lJ.createElement($,null,I," "),lJ.createElement($,{dimColor:!0},"(",X,")"),lJ.createElement($,null,F))}));let Y=new Map;return lJ.createElement(S,{flexDirection:"column"},G.map((J,W)=>{let X=uX(J.path),I=J.isNested?"nested: ":`${Sx0(J.type)}: `,F=J.parent?(Y.get(J.parent)??0)+1:0;if(Y.set(J.path,F),F===0)return lJ.createElement($,{key:W},lJ.createElement($,{dimColor:!0}," L "),`${I}${X}`);else{let V=" ".repeat(F-1);return lJ.createElement($,{key:W}," ".repeat(I.length+2),V,lJ.createElement($,{dimColor:!0}," L "),X)}}))}var lJ;var kPB=R(async()=>{yx0();UM();await W1([p1(),$H(),k4()]);lJ=A1(V1(),1)});import{homedir as zi1}from"os";import{join as Ci1}from"path";function xPB(){return process.env.XDG_STATE_HOME??Ci1(zi1(),".local","state")}function vPB(){return process.env.XDG_CACHE_HOME??Ci1(zi1(),".cache")}function bPB(){return process.env.XDG_DATA_HOME??Ci1(zi1(),".local","share")}function fPB(){return Ci1(zi1(),".local","bin")}var hPB=()=>{};import{join as CD1}from"path";function ou(){return(process.argv[1]||"").includes("/.claude/local/node_modules/")}async function Bv0(){try{if(!N1().existsSync(su))N1().mkdirSync(su);if(!N1().existsSync(gPB)){let B={name:"claude-local",version:"0.0.1",private:!0};N1().writeFileSync(gPB,JSON.stringify(B,null,2),{encoding:"utf8",flush:!1})}let A=CD1(su,"claude");if(!N1().existsSync(A)){let B=`#!/bin/bash
1827
- exec "${su}/node_modules/.bin/claude" "$@"`;N1().writeFileSync(A,B,{encoding:"utf8",flush:!1}),await M2("chmod",["+x",A])}return!0}catch(A){return J1(A instanceof Error?A:Error(String(A)),FGA),!1}}async function qa(A="latest"){try{if(!await Bv0())return"install_failed";let B=await h8("npm",["install",`${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.PACKAGE_URL}@${A}`],{cwd:su,maxBuffer:1e6});if(B.code!==0)return J1(Error(`Failed to install Claude CLI package: ${B.stderr}`),IGA),B.code===190?"in_progress":"install_failed";let Q=w0();return lA({...Q,installMethod:"local"}),"success"}catch(B){return J1(B instanceof Error?B:Error(String(B)),XGA),"install_failed"}}function tu(){return N1().existsSync(CD1(su,"node_modules",".bin","claude"))}function Ea(){let A=process.env.SHELL||"";if(A.includes("zsh"))return"zsh";if(A.includes("bash"))return"bash";if(A.includes("fish"))return"fish";return"unknown"}async function uPB(){let A=Ea(),B=Jj(),Q="",Z=A in B?B[A]:null,G=`alias claude="${ru}"`;try{if(Z){let Y=wa(Z);if(Y)if(Y.some((W)=>Ui1.test(W)))if(Y.some((X)=>X===G))Q+=`✓ Alias already exists in ${Z}
1827
+ exec "${su}/node_modules/.bin/claude" "$@"`;N1().writeFileSync(A,B,{encoding:"utf8",flush:!1}),await M2("chmod",["+x",A])}return!0}catch(A){return J1(A instanceof Error?A:Error(String(A)),FGA),!1}}async function qa(A="latest"){try{if(!await Bv0())return"install_failed";let B=await h8("npm",["install",`${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.PACKAGE_URL}@${A}`],{cwd:su,maxBuffer:1e6});if(B.code!==0)return J1(Error(`Failed to install AICO CLI package: ${B.stderr}`),IGA),B.code===190?"in_progress":"install_failed";let Q=w0();return lA({...Q,installMethod:"local"}),"success"}catch(B){return J1(B instanceof Error?B:Error(String(B)),XGA),"install_failed"}}function tu(){return N1().existsSync(CD1(su,"node_modules",".bin","claude"))}function Ea(){let A=process.env.SHELL||"";if(A.includes("zsh"))return"zsh";if(A.includes("bash"))return"bash";if(A.includes("fish"))return"fish";return"unknown"}async function uPB(){let A=Ea(),B=Jj(),Q="",Z=A in B?B[A]:null,G=`alias claude="${ru}"`;try{if(Z){let Y=wa(Z);if(Y)if(Y.some((W)=>Ui1.test(W)))if(Y.some((X)=>X===G))Q+=`✓ Alias already exists in ${Z}
1828
1828
 
1829
1829
  `;else Q+=`✓ Custom claude alias found in ${Z}
1830
1830
  `,Q+=` Keeping your existing alias configuration
@@ -3661,7 +3661,7 @@ Expecting one of '${Q.join("', '")}'`);let Z=`${A}Help`;return this.on(Z,(G)=>{l
3661
3661
  `)}),this}_outputHelpIfRequested(A){let B=this._getHelpOption();if(B&&A.find((Z)=>B.is(Z)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function lgQ(A){return A.map((B)=>{if(!B.startsWith("--inspect"))return B;let Q,Z="127.0.0.1",G="9229",Y;if((Y=B.match(/^(--inspect(-brk)?)$/))!==null)Q=Y[1];else if((Y=B.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(Q=Y[1],/^\d+$/.test(Y[3]))G=Y[3];else Z=Y[3];else if((Y=B.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)Q=Y[1],Z=Y[3],G=Y[4];if(Q&&G!=="0")return`${Q}=${Z}:${parseInt(G)+1}`;return B})}_u8.Command=Kt0});var rgQ=U((bu8)=>{var{Argument:ngQ}=Q00(),{Command:Dt0}=igQ(),{CommanderError:xu8,InvalidArgumentError:agQ}=C$1(),{Help:vu8}=Wt0(),{Option:sgQ}=Xt0();bu8.program=new Dt0;bu8.createCommand=(A)=>new Dt0(A);bu8.createOption=(A,B)=>new sgQ(A,B);bu8.createArgument=(A,B)=>new ngQ(A,B);bu8.Command=Dt0;bu8.Option=sgQ;bu8.Argument=ngQ;bu8.Help=vu8;bu8.CommanderError=xu8;bu8.InvalidArgumentError=agQ;bu8.InvalidOptionArgumentError=agQ});var tgQ=U((Zq,ogQ)=>{var _O=rgQ();Zq=ogQ.exports={};Zq.program=new _O.Command;Zq.Argument=_O.Argument;Zq.Command=_O.Command;Zq.CommanderError=_O.CommanderError;Zq.Help=_O.Help;Zq.InvalidArgumentError=_O.InvalidArgumentError;Zq.InvalidOptionArgumentError=_O.InvalidArgumentError;Zq.Option=_O.Option;Zq.createCommand=(A)=>new _O.Command(A);Zq.createOption=(A,B)=>new _O.Option(A,B);Zq.createArgument=(A,B)=>new _O.Argument(A,B)});var egQ,BtZ,QtZ,ZtZ,GtZ,YtZ,JtZ,WtZ,AuQ,XtZ,uH,ItZ;var BuQ=R(()=>{egQ=A1(tgQ(),1),{program:BtZ,createCommand:QtZ,createArgument:ZtZ,createOption:GtZ,CommanderError:YtZ,InvalidArgumentError:JtZ,InvalidOptionArgumentError:WtZ,Command:AuQ,Argument:XtZ,Option:uH,Help:ItZ}=egQ.default});function QuQ({isFocused:A,isSelected:B,children:Q}){return U$1.default.createElement(S,{gap:1,paddingLeft:A?0:2},A&&U$1.default.createElement($,{color:"suggestion"},K0.pointer),U$1.default.createElement($,{color:B?"success":A?"suggestion":void 0},Q),B&&U$1.default.createElement($,{color:"success"},K0.tick))}var U$1;var ZuQ=R(async()=>{oQ();await p1();U$1=A1(V1(),1)});var Z00;var GuQ=R(()=>{Z00=class Z00 extends Map{first;constructor(A){let B=[],Q,Z,G=0;for(let Y of A){let J={...Y,previous:Z,next:void 0,index:G};if(Z)Z.next=J;Q||=J,B.push([Y.value,J]),G++,Z=J}super(B);this.first=Q}}});import{isDeepStrictEqual as YuQ}from"node:util";var Gq,au8=(A,B)=>{switch(B.type){case"focus-next-option":{if(!A.focusedValue)return A;let Q=A.optionMap.get(A.focusedValue);if(!Q)return A;let Z=Q.next;if(!Z)return A;if(!(Z.index>=A.visibleToIndex))return{...A,focusedValue:Z.value};let Y=Math.min(A.optionMap.size,A.visibleToIndex+1),J=Y-A.visibleOptionCount;return{...A,focusedValue:Z.value,visibleFromIndex:J,visibleToIndex:Y}}case"focus-previous-option":{if(!A.focusedValue)return A;let Q=A.optionMap.get(A.focusedValue);if(!Q)return A;let Z=Q.previous;if(!Z)return A;if(!(Z.index<=A.visibleFromIndex))return{...A,focusedValue:Z.value};let Y=Math.max(0,A.visibleFromIndex-1),J=Y+A.visibleOptionCount;return{...A,focusedValue:Z.value,visibleFromIndex:Y,visibleToIndex:J}}case"toggle-focused-option":{if(!A.focusedValue)return A;if(A.value.includes(A.focusedValue)){let Q=new Set(A.value);return Q.delete(A.focusedValue),{...A,previousValue:A.value,value:[...Q]}}return{...A,previousValue:A.value,value:[...A.value,A.focusedValue]}}case"reset":return B.state}},JuQ=({visibleOptionCount:A,defaultValue:B,options:Q})=>{let Z=typeof A==="number"?Math.min(A,Q.length):Q.length,G=new Z00(Q),Y=B??[];return{optionMap:G,visibleOptionCount:Z,focusedValue:G.first?.value,visibleFromIndex:0,visibleToIndex:Z,previousValue:Y,value:Y}},WuQ=({visibleOptionCount:A=5,options:B,defaultValue:Q,onChange:Z,onSubmit:G})=>{let[Y,J]=Gq.useReducer(au8,{visibleOptionCount:A,defaultValue:Q,options:B},JuQ),[W,X]=Gq.useState(B);if(B!==W&&!YuQ(B,W))J({type:"reset",state:JuQ({visibleOptionCount:A,defaultValue:Q,options:B})}),X(B);let I=Gq.useCallback(()=>{J({type:"focus-next-option"})},[]),F=Gq.useCallback(()=>{J({type:"focus-previous-option"})},[]),V=Gq.useCallback(()=>{J({type:"toggle-focused-option"})},[]),K=Gq.useCallback(()=>{G?.(Y.value)},[Y.value,G]),D=Gq.useMemo(()=>{return B.map((H,z)=>({...H,index:z})).slice(Y.visibleFromIndex,Y.visibleToIndex)},[B,Y.visibleFromIndex,Y.visibleToIndex]);return Gq.useEffect(()=>{if(!YuQ(Y.previousValue,Y.value))Z?.(Y.value)},[Y.previousValue,Y.value,B,Z]),{focusedValue:Y.focusedValue,visibleFromIndex:Y.visibleFromIndex,visibleToIndex:Y.visibleToIndex,value:Y.value,visibleOptions:D,focusNextOption:I,focusPreviousOption:F,toggleFocusedOption:V,submit:K}};var XuQ=R(()=>{GuQ();Gq=A1(V1(),1)});var IuQ=({isDisabled:A=!1,state:B})=>{u0((Q,Z)=>{if(Z.downArrow)B.focusNextOption();if(Z.upArrow)B.focusPreviousOption();if(Q===" ")B.toggleFocusedOption();if(Z.return)B.submit()},{isActive:!A})};var FuQ=R(async()=>{await p1()});function G00({isDisabled:A=!1,visibleOptionCount:B=5,highlightText:Q,options:Z,defaultValue:G,onChange:Y,onSubmit:J}){let W=WuQ({visibleOptionCount:B,options:Z,defaultValue:G,onChange:Y,onSubmit:J});return IuQ({isDisabled:A,state:W}),X31.default.createElement(S,{flexDirection:"column"},W.visibleOptions.map((X)=>{let I=X.label;if(Q&&X.label.includes(Q)){let F=X.label.indexOf(Q);I=X31.default.createElement(X31.default.Fragment,null,X.label.slice(0,F),X31.default.createElement($,{bold:!0},Q),X.label.slice(F+Q.length))}return X31.default.createElement(QuQ,{key:X.value,isFocused:!A&&W.focusedValue===X.value,isSelected:W.value.includes(X.value)},I)}))}var X31;var Ht0=R(async()=>{XuQ();await W1([p1(),ZuQ(),FuQ()]);X31=A1(V1(),1)});function VuQ({servers:A,scope:B,onDone:Q}){let Z=Object.keys(A),[G,Y]=oX.useState({});oX.useEffect(()=>{kP().then(({servers:V})=>Y(V))},[]);let J=Z.filter((V)=>G[V]!==void 0);function W(V){let K=0;for(let D of V){let H=A[D];if(H){let z=D;if(G[z]!==void 0){let C=1;while(G[`${D}_${C}`]!==void 0)C++;z=`${D}_${C}`}$n(z,H,B),K++}}F(K)}let X=Z2();u0((V,K)=>{if(K.escape){F(0);return}});let[I]=xB();function F(V){if(V>0)vF(`
3662
3662
  ${S2("success",I)(`Successfully imported ${V} MCP server${V!==1?"s":""} to ${B} config.`)}
3663
3663
  `);else vF(`
3664
- No servers were imported.`);Q(),j5()}return oX.default.createElement(oX.default.Fragment,null,oX.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"success"},oX.default.createElement($,{bold:!0,color:"success"},"Import MCP Servers from Claude Desktop"),oX.default.createElement($,null,"Found ",Z.length," MCP server",Z.length!==1?"s":""," in Claude Desktop."),J.length>0&&oX.default.createElement($,{color:"warning"},"Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."),oX.default.createElement($,null,"Please select the servers you want to import:"),oX.default.createElement(G00,{options:Z.map((V)=>({label:`${V}${J.includes(V)?" (already exists)":""}`,value:V})),defaultValue:Z.filter((V)=>!J.includes(V)),onSubmit:W})),oX.default.createElement(S,{marginLeft:3},oX.default.createElement($,{dimColor:!0},X.pending?oX.default.createElement(oX.default.Fragment,null,"Press ",X.keyName," again to exit"):oX.default.createElement(oX.default.Fragment,null,"Space to select · Enter to confirm · Esc to cancel"))))}var oX;var KuQ=R(async()=>{await W1([p1(),Ht0(),T9(),Ow(),B7()]);oX=A1(V1(),1)});import*as zt0 from"path";import*as DuQ from"os";function su8(){let A=b2();if(!M50.includes(A))throw Error(`Unsupported platform: ${A} - Claude Desktop integration only works on macOS and WSL.`);if(A==="macos")return zt0.join(DuQ.homedir(),"Library","Application Support","Claude","claude_desktop_config.json");let B=process.env.USERPROFILE?process.env.USERPROFILE.replace(/\\/g,"/"):null;if(B){let Z=`/mnt/c${B.replace(/^[A-Z]:/,"")}/AppData/Roaming/Claude/claude_desktop_config.json`;if(N1().existsSync(Z))return Z}try{if(N1().existsSync("/mnt/c/Users")){let Z=N1().readdirSync("/mnt/c/Users");for(let G of Z){if(G.name==="Public"||G.name==="Default"||G.name==="Default User"||G.name==="All Users")continue;let Y=zt0.join("/mnt/c/Users",G.name,"AppData","Roaming","Claude","claude_desktop_config.json");if(N1().existsSync(Y))return Y}}}catch(Q){J1(Q instanceof Error?Q:Error(String(Q)),zZA)}throw Error("Could not find Claude Desktop config file in Windows. Make sure Claude Desktop is installed on Windows.")}function HuQ(){if(!M50.includes(b2()))throw Error("Unsupported platform - Claude Desktop integration only works on macOS and WSL.");try{let A=su8();if(!N1().existsSync(A))return{};let B=N1().readFileSync(A,{encoding:"utf8"}),Q=JZ(B);if(!Q||typeof Q!=="object")return{};let Z=Q.mcpServers;if(!Z||typeof Z!=="object")return{};let G={};for(let[Y,J]of Object.entries(Z)){if(!J||typeof J!=="object")continue;let W=HT0.safeParse(J);if(W.success)G[Y]=W.data}return G}catch(A){return J1(A instanceof Error?A:Error(String(A)),CZA),{}}}var zuQ=R(async()=>{gQ1();oA();await W1([SD(),s0(),_3()])});function Y00({customApiKeyTruncated:A,onDone:B}){function Q(G){let Y=w0();switch(G){case"yes":{lA({...Y,customApiKeyResponses:{...Y.customApiKeyResponses,approved:[...Y.customApiKeyResponses?.approved??[],A]}}),B();break}case"no":{lA({...Y,customApiKeyResponses:{...Y.customApiKeyResponses,rejected:[...Y.customApiKeyResponses?.rejected??[],A]}}),B();break}}}let Z=Z2();return HD.default.createElement(HD.default.Fragment,null,HD.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},HD.default.createElement($,{bold:!0,color:"warning"},"Detected a custom API key in your environment"),HD.default.createElement($,null,HD.default.createElement($,{bold:!0},"ANTHROPIC_API_KEY"),HD.default.createElement($,null,": sk-ant-...",A)),HD.default.createElement($,null,"Do you want to use this API key?"),HD.default.createElement(EA,{defaultValue:"no",focusValue:"no",options:[{label:"Yes",value:"yes"},{label:`No (${t1.bold("recommended")})`,value:"no"}],onChange:(G)=>Q(G),onCancel:()=>Q("no")})),HD.default.createElement(S,{marginLeft:3},HD.default.createElement($,{dimColor:!0},Z.pending?HD.default.createElement(HD.default.Fragment,null,"Press ",Z.keyName," again to exit"):HD.default.createElement(HD.default.Fragment,null,"Enter to confirm ",K0.dot," Esc to cancel"))))}var HD;var Ct0=R(async()=>{tQ();oQ();await W1([p1(),g2(),Z8(),T9()]);HD=A1(V1(),1)});async function ru8(){try{let A=["https://api.anthropic.com/api/hello","https://console.anthropic.com/v1/oauth/hello"],B=async(G)=>{try{let Y=await p2.get(G,{headers:{"User-Agent":Oh()}});if(Y.status!==200)return{success:!1,error:`Failed to connect to ${new URL(G).hostname}: Status ${Y.status}`};return{success:!0}}catch(Y){return{success:!1,error:`Failed to connect to ${new URL(G).hostname}: ${Y instanceof Error?Y.code||Y.message:String(Y)}`}}},Z=(await Promise.all(A.map(B))).find((G)=>!G.success);if(Z)Z1("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!Z.error});return Z||{success:!0}}catch(A){return J1(A,gGA),Z1("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${A instanceof Error?A.code||A.message:String(A)}`}}}function CuQ({onSuccess:A}){let[B,Q]=LF.useState(null),[Z,G]=LF.useState(!0),Y=qe1(1000)&&Z;return LF.useEffect(()=>{async function J(){let W=await ru8();Q(W),G(!1)}J()},[]),LF.useEffect(()=>{if(B?.success)A();else if(B&&!B.success){let J=setTimeout(()=>process.exit(1),100);return()=>clearTimeout(J)}},[B,A]),LF.default.createElement(S,{flexDirection:"column",gap:1,paddingLeft:1},Z&&Y?LF.default.createElement(S,{paddingLeft:1},LF.default.createElement(W6,null),LF.default.createElement($,null,"Checking connectivity...")):!B?.success&&!Z&&LF.default.createElement(S,{flexDirection:"column",gap:1},LF.default.createElement($,{color:"error"},"Unable to connect to Anthropic services"),LF.default.createElement($,{color:"error"},B?.error),LF.default.createElement(S,{flexDirection:"column",gap:1},LF.default.createElement($,null,"Please check your internet connection and network settings."),LF.default.createElement($,null,"Note: AICO might not be available in your country. Check supported countries at"," ",LF.default.createElement($,{color:"suggestion"},"https://anthropic.com/supported-countries")))))}var LF;var UuQ=R(async()=>{pa0();g7();await W1([p1(),oL(),s0(),QX(),KA()]);LF=A1(V1(),1)});function W00(){let[A]=xB(),B="Welcome to AICO";if(kA.terminal==="Apple_Terminal")return DA.default.createElement(ou8,{theme:A,welcomeMessage:"Welcome to AICO"});if(["light","light-daltonized","light-ansi"].includes(A))return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},"Welcome to AICO"," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," ░░░░░░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ "),DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," "),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░"),DA.default.createElement($,null," ██ ")),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░"),DA.default.createElement($,null," ██▒▒██ ")),DA.default.createElement($,null," ▒▒ ██ ▒"),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," ▒▒░░▒▒ ▒ ▒▒"),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body",backgroundColor:"clawd_background"},"██▄█████▄██")," ▒▒ ▒▒ "),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," ░ ▒ "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{color:"clawd_body"},"█ █ █ █"),"……………………………………………………………………░…………………………▒…………")));return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},"Welcome to AICO"," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," * █████▓▓░ "),DA.default.createElement($,null," * ███▓░ ░░ "),DA.default.createElement($,null," ░░░░░░ ███▓░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ ███▓░ "),DA.default.createElement($,null,DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ██▓░░ ▓ ")),DA.default.createElement($,null," ░▓▓███▓▓░ "),DA.default.createElement($,{dimColor:!0}," * ░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," ",DA.default.createElement($,{dimColor:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"},"██▄█████▄██"),DA.default.createElement($,null," "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," * "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{color:"clawd_body"},"█ █ █ █"),"………………………………………………………………………………………………………………")))}function ou8({theme:A,welcomeMessage:B}){if(["light","light-daltonized","light-ansi"].includes(A))return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},B," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," ░░░░░░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ "),DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," "),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░"),DA.default.createElement($,null," ██ ")),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░"),DA.default.createElement($,null," ██▒▒██ ")),DA.default.createElement($,null," ▒▒ ██ ▒"),DA.default.createElement($,null," ▒▒░░▒▒ ▒ ▒▒"),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"},"▗"),DA.default.createElement($,{color:"clawd_background",backgroundColor:"clawd_body"}," ","▗"," ","▖"," "),DA.default.createElement($,{color:"clawd_body"},"▖")," ▒▒ ▒▒ "),DA.default.createElement($,null," ",DA.default.createElement($,{backgroundColor:"clawd_body"}," ".repeat(9))," ░ ▒ "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),"……………………………………………………………………░…………………………▒…………")));return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},B," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," * █████▓▓░ "),DA.default.createElement($,null," * ███▓░ ░░ "),DA.default.createElement($,null," ░░░░░░ ███▓░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ ███▓░ "),DA.default.createElement($,null,DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ██▓░░ ▓ ")),DA.default.createElement($,null," ░▓▓███▓▓░ "),DA.default.createElement($,{dimColor:!0}," * ░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," ",DA.default.createElement($,{dimColor:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"},"▗"),DA.default.createElement($,{color:"clawd_background",backgroundColor:"clawd_body"}," ","▗"," ","▖"," "),DA.default.createElement($,{color:"clawd_body"},"▖"),DA.default.createElement($,null," "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{backgroundColor:"clawd_body"}," ".repeat(9))," * "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),"………………………………………………………………………………………………………………")))}var DA,J00=58;var Ut0=R(async()=>{$5();await p1();DA=A1(V1(),1)});function $uQ({onDone:A}){let[B,Q]=c4.useState(0),Z=m$(),[G,Y]=xB();c4.useEffect(()=>{Z1("tengu_began_setup",{oauthEnabled:Z})},[Z]);function J(){if(B<D.length-1){let H=B+1;Q(H),Z1("tengu_onboarding_step",{oauthEnabled:Z,stepId:D[H]?.id})}else A()}function W(H){Y(H),J()}let X=Z2();u0(async(H,z)=>{let C=D[B];if(z.return&&C&&C.id==="security")if(B===D.length-1){A();return}else J();else if(z.escape&&C?.id==="terminal-setup")J()});let I=c4.default.createElement(Ri1,{initialTheme:G,onThemeSelect:W,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0}),F=c4.default.createElement(S,{flexDirection:"column",gap:1,paddingLeft:1},c4.default.createElement($,{bold:!0},"Security notes:"),c4.default.createElement(S,{flexDirection:"column",width:70},c4.default.createElement(oV1,null,c4.default.createElement(oV1.Item,null,c4.default.createElement($,null,"Claude can make mistakes"),c4.default.createElement($,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",c4.default.createElement(uZ,null),"running code.",c4.default.createElement(uZ,null))),c4.default.createElement(oV1.Item,null,c4.default.createElement($,null,"Due to prompt injection risks, only use it with code you trust"),c4.default.createElement($,{dimColor:!0,wrap:"wrap"},"For more details see:",c4.default.createElement(uZ,null),c4.default.createElement(p6,{url:"https://docs.claude.com/s/claude-code-security"}))))),c4.default.createElement(gi1,null)),V=c4.default.createElement(CuQ,{onSuccess:J}),K=c4.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY)return"";let H=j$(process.env.ANTHROPIC_API_KEY);if(o10(H)==="new")return H},[]),D=[];if(Z)D.push({id:"preflight",component:V});if(D.push({id:"theme",component:I}),Z)D.push({id:"oauth",component:c4.default.createElement(um,{onDone:J})});if(K)D.push({id:"api-key",component:c4.default.createElement(Y00,{customApiKeyTruncated:K,onDone:J})});if(D.push({id:"security",component:F}),AK1())D.push({id:"terminal-setup",component:c4.default.createElement(S,{flexDirection:"column",gap:1,paddingLeft:1},c4.default.createElement($,{bold:!0},"Use AICO's terminal setup?"),c4.default.createElement(S,{flexDirection:"column",width:70,gap:1},c4.default.createElement($,null,"For the optimal coding experience, enable the recommended settings",c4.default.createElement(uZ,null),"for your terminal:"," ",kA.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),c4.default.createElement(EA,{options:[{label:"Yes, use recommended settings",value:"install"},{label:"No, maybe later with /terminal-setup",value:"no"}],onChange:(H)=>{if(H==="install")Ay0(G).then(()=>{J()});else J()},onCancel:()=>J()}),c4.default.createElement($,{dimColor:!0},X.pending?c4.default.createElement(c4.default.Fragment,null,"Press ",X.keyName," again to exit"):c4.default.createElement(c4.default.Fragment,null,"Enter to confirm · Esc to skip"))))});return c4.default.createElement(S,{flexDirection:"column"},c4.default.createElement(Qf,{items:[c4.default.createElement(W00,{key:"welcome"})]},(H)=>H),c4.default.createElement(S,{flexDirection:"column",marginTop:1},D[B]?.component,X.pending&&c4.default.createElement(S,{padding:1},c4.default.createElement($,{dimColor:!0},"Press ",X.keyName," again to exit"))))}var c4;var quQ=R(async()=>{LD1();$5();await W1([p1(),g2(),aS0(),T9(),yz1(),Ct0(),A9(),NH(),wv0(),UuQ(),Iv0(),KA(),r8(),h91(),Ut0()]);c4=A1(V1(),1)});import{sep as $t0}from"path";function qt0(A){let B=Ju();if(A===B.HOME)return"home";if(A===B.DESKTOP||A.startsWith(B.DESKTOP+$t0))return"desktop";if(A===B.DOCUMENTS||A.startsWith(B.DOCUMENTS+$t0))return"documents";if(A===B.DOWNLOADS||A.startsWith(B.DOWNLOADS+$t0))return"downloads";return"other"}function EuQ(A){if(A===null||A.disableAllHooks)return!1;if(A.statusLine)return!0;if(!A.hooks)return!1;for(let B of Object.values(A.hooks))if(B.length>0)return!0;return!1}function OuQ(){let A=[],B=EQ("projectSettings");if(EuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(EuQ(Q))A.push(".claude/settings.local.json");return A}function wuQ(A){return A.some((B)=>B.ruleBehavior==="allow"&&(B.ruleValue.toolName===_4||B.ruleValue.toolName.startsWith(_4+"(")))}function RuQ(){let A=[],B=bL1("projectSettings");if(wuQ(B))A.push(".claude/settings.json");let Q=bL1("localSettings");if(wuQ(Q))A.push(".claude/settings.local.json");return A}function $$1(A,B){if(A.length===0)return"";let Q=B===0?void 0:B;if(!Q||A.length<=Q){if(A.length===1)return A[0];if(A.length===2)return`${A[0]} and ${A[1]}`;let Y=A[A.length-1];return`${A.slice(0,-1).join(", ")}, and ${Y}`}let Z=A.slice(0,Q),G=A.length-Q;if(Z.length===1)return`${Z[0]} and ${G} more`;return`${Z.join(", ")}, and ${G} more`}function NuQ(A){return!!A?.otelHeadersHelper}function TuQ(){let A=[],B=EQ("projectSettings");if(NuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(NuQ(Q))A.push(".claude/settings.local.json");return A}function LuQ(A){return!!A?.apiKeyHelper}function PuQ(){let A=[],B=EQ("projectSettings");if(LuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(LuQ(Q))A.push(".claude/settings.local.json");return A}function MuQ(A){return!!(A?.awsAuthRefresh||A?.awsCredentialExport)}function juQ(){let A=[],B=EQ("projectSettings");if(MuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(MuQ(Q))A.push(".claude/settings.local.json");return A}var SuQ=R(async()=>{await W1([ke(),tB(),_V1()])});var yuQ;var _uQ=R(()=>{yuQ={control:{title:"Do you trust the files in this folder?",bodyText:null,showDetailedPermissions:!0,learnMoreText:"Learn more",yesButtonLabel:"Yes, proceed",noButtonLabel:"No, exit"},variant_positive_attitude:{title:"Ready to code here?",bodyText:`I'll need permission to work with your files.
3664
+ No servers were imported.`);Q(),j5()}return oX.default.createElement(oX.default.Fragment,null,oX.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"success"},oX.default.createElement($,{bold:!0,color:"success"},"Import MCP Servers from Claude Desktop"),oX.default.createElement($,null,"Found ",Z.length," MCP server",Z.length!==1?"s":""," in Claude Desktop."),J.length>0&&oX.default.createElement($,{color:"warning"},"Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."),oX.default.createElement($,null,"Please select the servers you want to import:"),oX.default.createElement(G00,{options:Z.map((V)=>({label:`${V}${J.includes(V)?" (already exists)":""}`,value:V})),defaultValue:Z.filter((V)=>!J.includes(V)),onSubmit:W})),oX.default.createElement(S,{marginLeft:3},oX.default.createElement($,{dimColor:!0},X.pending?oX.default.createElement(oX.default.Fragment,null,"Press ",X.keyName," again to exit"):oX.default.createElement(oX.default.Fragment,null,"Space to select · Enter to confirm · Esc to cancel"))))}var oX;var KuQ=R(async()=>{await W1([p1(),Ht0(),T9(),Ow(),B7()]);oX=A1(V1(),1)});import*as zt0 from"path";import*as DuQ from"os";function su8(){let A=b2();if(!M50.includes(A))throw Error(`Unsupported platform: ${A} - Claude Desktop integration only works on macOS and WSL.`);if(A==="macos")return zt0.join(DuQ.homedir(),"Library","Application Support","Claude","claude_desktop_config.json");let B=process.env.USERPROFILE?process.env.USERPROFILE.replace(/\\/g,"/"):null;if(B){let Z=`/mnt/c${B.replace(/^[A-Z]:/,"")}/AppData/Roaming/Claude/claude_desktop_config.json`;if(N1().existsSync(Z))return Z}try{if(N1().existsSync("/mnt/c/Users")){let Z=N1().readdirSync("/mnt/c/Users");for(let G of Z){if(G.name==="Public"||G.name==="Default"||G.name==="Default User"||G.name==="All Users")continue;let Y=zt0.join("/mnt/c/Users",G.name,"AppData","Roaming","Claude","claude_desktop_config.json");if(N1().existsSync(Y))return Y}}}catch(Q){J1(Q instanceof Error?Q:Error(String(Q)),zZA)}throw Error("Could not find Claude Desktop config file in Windows. Make sure Claude Desktop is installed on Windows.")}function HuQ(){if(!M50.includes(b2()))throw Error("Unsupported platform - Claude Desktop integration only works on macOS and WSL.");try{let A=su8();if(!N1().existsSync(A))return{};let B=N1().readFileSync(A,{encoding:"utf8"}),Q=JZ(B);if(!Q||typeof Q!=="object")return{};let Z=Q.mcpServers;if(!Z||typeof Z!=="object")return{};let G={};for(let[Y,J]of Object.entries(Z)){if(!J||typeof J!=="object")continue;let W=HT0.safeParse(J);if(W.success)G[Y]=W.data}return G}catch(A){return J1(A instanceof Error?A:Error(String(A)),CZA),{}}}var zuQ=R(async()=>{gQ1();oA();await W1([SD(),s0(),_3()])});function Y00({customApiKeyTruncated:A,onDone:B}){function Q(G){let Y=w0();switch(G){case"yes":{lA({...Y,customApiKeyResponses:{...Y.customApiKeyResponses,approved:[...Y.customApiKeyResponses?.approved??[],A]}}),B();break}case"no":{lA({...Y,customApiKeyResponses:{...Y.customApiKeyResponses,rejected:[...Y.customApiKeyResponses?.rejected??[],A]}}),B();break}}}let Z=Z2();return HD.default.createElement(HD.default.Fragment,null,HD.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},HD.default.createElement($,{bold:!0,color:"warning"},"Detected a custom API key in your environment"),HD.default.createElement($,null,HD.default.createElement($,{bold:!0},"ANTHROPIC_API_KEY"),HD.default.createElement($,null,": sk-ant-...",A)),HD.default.createElement($,null,"Do you want to use this API key?"),HD.default.createElement(EA,{defaultValue:"no",focusValue:"no",options:[{label:"Yes",value:"yes"},{label:`No (${t1.bold("recommended")})`,value:"no"}],onChange:(G)=>Q(G),onCancel:()=>Q("no")})),HD.default.createElement(S,{marginLeft:3},HD.default.createElement($,{dimColor:!0},Z.pending?HD.default.createElement(HD.default.Fragment,null,"Press ",Z.keyName," again to exit"):HD.default.createElement(HD.default.Fragment,null,"Enter to confirm ",K0.dot," Esc to cancel"))))}var HD;var Ct0=R(async()=>{tQ();oQ();await W1([p1(),g2(),Z8(),T9()]);HD=A1(V1(),1)});async function ru8(){try{let A=["https://api.anthropic.com/api/hello","https://console.anthropic.com/v1/oauth/hello"],B=async(G)=>{try{let Y=await p2.get(G,{headers:{"User-Agent":Oh()}});if(Y.status!==200)return{success:!1,error:`Failed to connect to ${new URL(G).hostname}: Status ${Y.status}`};return{success:!0}}catch(Y){return{success:!1,error:`Failed to connect to ${new URL(G).hostname}: ${Y instanceof Error?Y.code||Y.message:String(Y)}`}}},Z=(await Promise.all(A.map(B))).find((G)=>!G.success);if(Z)Z1("tengu_preflight_check_failed",{isConnectivityError:!1,hasErrorMessage:!!Z.error});return Z||{success:!0}}catch(A){return J1(A,gGA),Z1("tengu_preflight_check_failed",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${A instanceof Error?A.code||A.message:String(A)}`}}}function CuQ({onSuccess:A}){let[B,Q]=LF.useState(null),[Z,G]=LF.useState(!0),Y=qe1(1000)&&Z;return LF.useEffect(()=>{async function J(){let W=await ru8();Q(W),G(!1)}J()},[]),LF.useEffect(()=>{if(B?.success)A();else if(B&&!B.success){let J=setTimeout(()=>process.exit(1),100);return()=>clearTimeout(J)}},[B,A]),LF.default.createElement(S,{flexDirection:"column",gap:1,paddingLeft:1},Z&&Y?LF.default.createElement(S,{paddingLeft:1},LF.default.createElement(W6,null),LF.default.createElement($,null,"Checking connectivity...")):!B?.success&&!Z&&LF.default.createElement(S,{flexDirection:"column",gap:1},LF.default.createElement($,{color:"error"},"Unable to connect to Anthropic services"),LF.default.createElement($,{color:"error"},B?.error),LF.default.createElement(S,{flexDirection:"column",gap:1},LF.default.createElement($,null,"Please check your internet connection and network settings."),LF.default.createElement($,null,"Note: AICO might not be available in your country. Check supported countries at"," ",LF.default.createElement($,{color:"suggestion"},"https://anthropic.com/supported-countries")))))}var LF;var UuQ=R(async()=>{pa0();g7();await W1([p1(),oL(),s0(),QX(),KA()]);LF=A1(V1(),1)});function W00(){let[A]=xB(),B="Welcome to AICO";if(kA.terminal==="Apple_Terminal")return DA.default.createElement(ou8,{theme:A,welcomeMessage:"Welcome to AICO"});if(["light","light-daltonized","light-ansi"].includes(A))return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},"Welcome to AICO"," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," ░░░░░░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ "),DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," "),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░"),DA.default.createElement($,null," ██ ")),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░"),DA.default.createElement($,null," ██▒▒██ ")),DA.default.createElement($,null," ▒▒ ██ ▒"),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," ▒▒░░▒▒ ▒ ▒▒"),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body",backgroundColor:"clawd_background"},"██▄█████▄██")," ▒▒ ▒▒ "),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," ░ ▒ "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{color:"clawd_body"},"█ █ █ █"),"……………………………………………………………………░…………………………▒…………")));return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},"Welcome to AICO"," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," * █████▓▓░ "),DA.default.createElement($,null," * ███▓░ ░░ "),DA.default.createElement($,null," ░░░░░░ ███▓░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ ███▓░ "),DA.default.createElement($,null,DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ██▓░░ ▓ ")),DA.default.createElement($,null," ░▓▓███▓▓░ "),DA.default.createElement($,{dimColor:!0}," * ░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," ",DA.default.createElement($,{dimColor:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"},"██▄█████▄██"),DA.default.createElement($,null," "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"}," █████████ ")," * "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{color:"clawd_body"},"█ █ █ █"),"………………………………………………………………………………………………………………")))}function ou8({theme:A,welcomeMessage:B}){if(["light","light-daltonized","light-ansi"].includes(A))return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},B," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," "),DA.default.createElement($,null," ░░░░░░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ "),DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," "),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░"),DA.default.createElement($,null," ██ ")),DA.default.createElement($,null,DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░"),DA.default.createElement($,null," ██▒▒██ ")),DA.default.createElement($,null," ▒▒ ██ ▒"),DA.default.createElement($,null," ▒▒░░▒▒ ▒ ▒▒"),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"},"▗"),DA.default.createElement($,{color:"clawd_background",backgroundColor:"clawd_body"}," ","▗"," ","▖"," "),DA.default.createElement($,{color:"clawd_body"},"▖")," ▒▒ ▒▒ "),DA.default.createElement($,null," ",DA.default.createElement($,{backgroundColor:"clawd_body"}," ".repeat(9))," ░ ▒ "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),"……………………………………………………………………░…………………………▒…………")));return DA.default.createElement(S,{width:J00},DA.default.createElement($,null,DA.default.createElement($,null,DA.default.createElement($,{color:"claude"},B," "),DA.default.createElement($,{dimColor:!0},"v",{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION," ")),DA.default.createElement($,null,"…………………………………………………………………………………………………………………………………………………………"),DA.default.createElement($,null," "),DA.default.createElement($,null," * █████▓▓░ "),DA.default.createElement($,null," * ███▓░ ░░ "),DA.default.createElement($,null," ░░░░░░ ███▓░ "),DA.default.createElement($,null," ░░░ ░░░░░░░░░░ ███▓░ "),DA.default.createElement($,null,DA.default.createElement($,null," ░░░░░░░░░░░░░░░░░░░ "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ██▓░░ ▓ ")),DA.default.createElement($,null," ░▓▓███▓▓░ "),DA.default.createElement($,{dimColor:!0}," * ░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░ "),DA.default.createElement($,{dimColor:!0}," ░░░░░░░░░░░░░░░░ "),DA.default.createElement($,null," ",DA.default.createElement($,{dimColor:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{color:"clawd_body"},"▗"),DA.default.createElement($,{color:"clawd_background",backgroundColor:"clawd_body"}," ","▗"," ","▖"," "),DA.default.createElement($,{color:"clawd_body"},"▖"),DA.default.createElement($,null," "),DA.default.createElement($,{bold:!0},"*"),DA.default.createElement($,null," ")),DA.default.createElement($,null," ",DA.default.createElement($,{backgroundColor:"clawd_body"}," ".repeat(9))," * "),DA.default.createElement($,null,"…………………",DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),DA.default.createElement($,null," "),DA.default.createElement($,{backgroundColor:"clawd_body"}," "),"………………………………………………………………………………………………………………")))}var DA,J00=58;var Ut0=R(async()=>{$5();await p1();DA=A1(V1(),1)});function $uQ({onDone:A}){let[B,Q]=c4.useState(0),Z=m$(),[G,Y]=xB();c4.useEffect(()=>{Z1("tengu_began_setup",{oauthEnabled:Z})},[Z]);function J(){if(B<D.length-1){let H=B+1;Q(H),Z1("tengu_onboarding_step",{oauthEnabled:Z,stepId:D[H]?.id})}else A()}function W(H){Y(H),J()}let X=Z2();u0(async(H,z)=>{let C=D[B];if(z.return&&C&&C.id==="security")if(B===D.length-1){A();return}else J();else if(z.escape&&C?.id==="terminal-setup")J()});let I=c4.default.createElement(Ri1,{initialTheme:G,onThemeSelect:W,showIntroText:!0,helpText:"To change this later, run /theme",hideEscToCancel:!0,skipExitHandling:!0}),F=c4.default.createElement(S,{flexDirection:"column",gap:1,paddingLeft:1},c4.default.createElement($,{bold:!0},"Security notes:"),c4.default.createElement(S,{flexDirection:"column",width:70},c4.default.createElement(oV1,null,c4.default.createElement(oV1.Item,null,c4.default.createElement($,null,"Claude can make mistakes"),c4.default.createElement($,{dimColor:!0,wrap:"wrap"},"You should always review Claude's responses, especially when",c4.default.createElement(uZ,null),"running code.",c4.default.createElement(uZ,null))),c4.default.createElement(oV1.Item,null,c4.default.createElement($,null,"Due to prompt injection risks, only use it with code you trust"),c4.default.createElement($,{dimColor:!0,wrap:"wrap"},"For more details see:",c4.default.createElement(uZ,null),c4.default.createElement(p6,{url:"https://docs.claude.com/s/claude-code-security"}))))),c4.default.createElement(gi1,null)),V=c4.default.createElement(CuQ,{onSuccess:J}),K=c4.useMemo(()=>{if(!process.env.ANTHROPIC_API_KEY)return"";let H=j$(process.env.ANTHROPIC_API_KEY);if(o10(H)==="new")return H},[]),D=[];if(Z)D.push({id:"preflight",component:V});if(D.push({id:"theme",component:I}),Z)D.push({id:"oauth",component:c4.default.createElement(um,{onDone:J})});if(K)D.push({id:"api-key",component:c4.default.createElement(Y00,{customApiKeyTruncated:K,onDone:J})});if(D.push({id:"security",component:F}),AK1())D.push({id:"terminal-setup",component:c4.default.createElement(S,{flexDirection:"column",gap:1,paddingLeft:1},c4.default.createElement($,{bold:!0},"Use AICO's terminal setup?"),c4.default.createElement(S,{flexDirection:"column",width:70,gap:1},c4.default.createElement($,null,"For the optimal coding experience, enable the recommended settings",c4.default.createElement(uZ,null),"for your terminal:"," ",kA.terminal==="Apple_Terminal"?"Option+Enter for newlines and visual bell":"Shift+Enter for newlines"),c4.default.createElement(EA,{options:[{label:"Yes, use recommended settings",value:"install"},{label:"No, maybe later with /terminal-setup",value:"no"}],onChange:(H)=>{if(H==="install")Ay0(G).then(()=>{J()});else J()},onCancel:()=>J()}),c4.default.createElement($,{dimColor:!0},X.pending?c4.default.createElement(c4.default.Fragment,null,"Press ",X.keyName," again to exit"):c4.default.createElement(c4.default.Fragment,null,"Enter to confirm · Esc to skip"))))});return c4.default.createElement(S,{flexDirection:"column"},c4.default.createElement(Qf,{items:[c4.default.createElement(W00,{key:"welcome"})]},(H)=>H),c4.default.createElement(S,{flexDirection:"column",marginTop:1},D[B]?.component,X.pending&&c4.default.createElement(S,{padding:1},c4.default.createElement($,{dimColor:!0},"Press ",X.keyName," again to exit"))))}var c4;var quQ=R(async()=>{LD1();$5();await W1([p1(),g2(),aS0(),T9(),yz1(),Ct0(),A9(),NH(),wv0(),UuQ(),Iv0(),KA(),r8(),h91(),Ut0()]);c4=A1(V1(),1)});import{sep as $t0}from"path";function qt0(A){let B=Ju();if(A===B.HOME)return"home";if(A===B.DESKTOP||A.startsWith(B.DESKTOP+$t0))return"desktop";if(A===B.DOCUMENTS||A.startsWith(B.DOCUMENTS+$t0))return"documents";if(A===B.DOWNLOADS||A.startsWith(B.DOWNLOADS+$t0))return"downloads";return"other"}function EuQ(A){if(A===null||A.disableAllHooks)return!1;if(A.statusLine)return!0;if(!A.hooks)return!1;for(let B of Object.values(A.hooks))if(B.length>0)return!0;return!1}function OuQ(){let A=[],B=EQ("projectSettings");if(EuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(EuQ(Q))A.push(".claude/settings.local.json");return A}function wuQ(A){return A.some((B)=>B.ruleBehavior==="allow"&&(B.ruleValue.toolName===_4||B.ruleValue.toolName.startsWith(_4+"(")))}function RuQ(){let A=[],B=bL1("projectSettings");if(wuQ(B))A.push(".claude/settings.json");let Q=bL1("localSettings");if(wuQ(Q))A.push(".claude/settings.local.json");return A}function $$1(A,B){if(A.length===0)return"";let Q=B===0?void 0:B;if(!Q||A.length<=Q){if(A.length===1)return A[0];if(A.length===2)return`${A[0]} and ${A[1]}`;let Y=A[A.length-1];return`${A.slice(0,-1).join(", ")}, and ${Y}`}let Z=A.slice(0,Q),G=A.length-Q;if(Z.length===1)return`${Z[0]} and ${G} more`;return`${Z.join(", ")}, and ${G} more`}function NuQ(A){return!!A?.otelHeadersHelper}function TuQ(){let A=[],B=EQ("projectSettings");if(NuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(NuQ(Q))A.push(".claude/settings.local.json");return A}function LuQ(A){return!!A?.apiKeyHelper}function PuQ(){let A=[],B=EQ("projectSettings");if(LuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(LuQ(Q))A.push(".claude/settings.local.json");return A}function MuQ(A){return!!(A?.awsAuthRefresh||A?.awsCredentialExport)}function juQ(){let A=[],B=EQ("projectSettings");if(MuQ(B))A.push(".claude/settings.json");let Q=EQ("localSettings");if(MuQ(Q))A.push(".claude/settings.local.json");return A}var SuQ=R(async()=>{await W1([ke(),tB(),_V1()])});var yuQ;var _uQ=R(()=>{yuQ={control:{title:"Do you trust the files in this folder?",bodyText:null,showDetailedPermissions:!0,learnMoreText:"Learn more",yesButtonLabel:"同意并点回车键继续",noButtonLabel:"不同意,退出"},variant_positive_attitude:{title:"Ready to code here?",bodyText:`I'll need permission to work with your files.
3665
3665
 
3666
3666
  This means I can:
3667
3667
  - Read any file in this folder
@@ -3673,7 +3673,7 @@ AICO'll be able to read, edit, and execute files here.`,showDetailedPermissions:
3673
3673
 
3674
3674
  If this folder has malicious code or untrusted scripts, AICO could run them while trying to help.
3675
3675
 
3676
- Only continue if this is your code or a project you trust.`,showDetailedPermissions:!1,learnMoreText:"Security details",yesButtonLabel:"Yes, continue",noButtonLabel:"No, exit"}}});import{homedir as kuQ}from"os";function xuQ({onDone:A,commands:B}){let{servers:Q}=rW("project"),Z=XY("trust_folder_dialog_copy","variant","control"),G=yuQ[Z],Y=Object.keys(Q).length>0,J=OuQ(),W=J.length>0,X=RuQ(),I=PuQ(),F=I.length>0,V=juQ(),K=V.length>0,D=TuQ(),H=D.length>0,z=[...new Set([...J,...X,...I,...V,...D])],C=B?.filter((c)=>c.type==="prompt"&&c.source==="projectSettings"&&!c.isSkill&&c.allowedTools?.some((e)=>e===_4||e.startsWith(_4+"(")))??[],q=B?.filter((c)=>c.type==="prompt"&&c.source==="localSettings"&&c.isSkill&&c.allowedTools?.some((e)=>e===_4||e.startsWith(_4+"(")))??[],N=C.length>0,L=q.length>0,O=C.map((c)=>c.name),T=q.map((c)=>c.name),P=X.length>0||N||L,_=oW(W||P||F||K||H),k=[{name:"MCP servers",shouldShowWarning:()=>Y,onChange:()=>{let c={enabledMcpjsonServers:Object.keys(Q),enableAllProjectMcpServers:!0};SQ("localSettings",c)}},{name:"hooks",shouldShowWarning:()=>W},{name:"bash commands",shouldShowWarning:()=>P},{name:"OpenTelemetry headers helper commands",shouldShowWarning:()=>H}].filter((c)=>c.shouldShowWarning()),l=new Set(k.map((c)=>c.name)),g=Object.keys(Q);function t(){let c=["files"];if(l.has("MCP servers"))c.push("MCP servers");if(l.has("hooks"))c.push("hooks");if(l.has("bash commands"))c.push("bash commands");if(l.has("OpenTelemetry headers helper commands"))c.push("OpenTelemetry headers helper commands");return $$1(c)}U6.default.useEffect(()=>{let c=kuQ()===YA();Z1("tengu_trust_dialog_shown",{isHomeDir:c,hasMcpServers:Y,hasHooks:W,hasBashExecution:P,hasApiKeyHelper:F,hasAwsCommands:K,hasOtelHeadersHelper:H,folderType:qt0(YA()),copyVariant:Z})},[Y,W,P,F,K,H,Z]);function d(c){let e=g4();if(c==="exit"){P6(1);return}let Q1=kuQ()===YA();if(Z1("tengu_trust_dialog_accept",{isHomeDir:Q1,hasMcpServers:Y,hasHooks:W,hasBashExecution:P,hasApiKeyHelper:F,hasAwsCommands:K,hasOtelHeadersHelper:H,enableMcp:!0,folderType:qt0(YA()),copyVariant:Z}),!Q1)SG({...e,hasTrustDialogAccepted:!0});k.forEach((T1)=>{if(T1.onChange!==void 0)T1.onChange()}),A()}let y=Z2();if(u0((c,e)=>{if(e.escape){P6(0);return}}),_)return setTimeout(A),null;return U6.default.createElement(U6.default.Fragment,null,U6.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},U6.default.createElement($,{bold:!0,color:"warning"},G.title),U6.default.createElement($,{bold:!0},N1().cwd()),U6.default.createElement(S,{flexDirection:"column",gap:1},G.bodyText!==null?U6.default.createElement($,null,G.bodyText):U6.default.createElement($,null,"AICO may read, write, or execute files contained in this directory. This can pose security risks, so only use"," ",t()," from trusted sources."),G.showDetailedPermissions&&(Y||W||P||F||K||H)&&U6.default.createElement(S,{flexDirection:"column",gap:1},U6.default.createElement($,{dimColor:!0},"Execution allowed by:"),Y&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},".mcp.json"),g.length>0&&U6.default.createElement($,{dimColor:!0}," ","(",$$1(g,3),")"))),z.length>0&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},z.join(", ")))),N&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},".claude/commands"),U6.default.createElement($,{dimColor:!0}," ","(",$$1(O,3),")"))),L&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},".claude/skills"),U6.default.createElement($,{dimColor:!0}," ","(",$$1(T,3),")")))),U6.default.createElement($,{dimColor:!0},G.learnMoreText," ("," ",U6.default.createElement(p6,{url:"https://docs.claude.com/s/claude-code-security"},"https://docs.claude.com/s/claude-code-security")," ",")")),U6.default.createElement(EA,{options:[{label:G.yesButtonLabel,value:"enable_all"},{label:G.noButtonLabel,value:"exit"}],onChange:(c)=>d(c),onCancel:()=>d("exit")})),U6.default.createElement(S,{marginLeft:3},U6.default.createElement($,{dimColor:!0},y.pending?U6.default.createElement(U6.default.Fragment,null,"Press ",y.keyName," again to exit"):U6.default.createElement(U6.default.Fragment,null,"Enter to confirm · Esc to exit"))))}var U6;var vuQ=R(async()=>{hQ();oA();_uQ();await W1([p1(),Z8(),g2(),Ow(),tB(),KA(),T9(),NH(),B7(),SuQ()]);U6=A1(V1(),1)});var q$1;var buQ=R(async()=>{await W1([p1(),M6()]);q$1=A1(V1(),1)});var Et0;var fuQ=R(async()=>{await W1([Lr1(),buQ(),s0(),s0(),B7()]);Et0=A1(V1(),1)});function huQ({context:A,commands:B,logs:Q,initialTools:Z,mcpClients:G,dynamicMcpConfig:Y,appState:J,onChangeAppState:W,debug:X,strictMcpConfig:I=!1,systemPrompt:F,appendSystemPrompt:V}){let{rows:K}=qB(),D=Q.filter((C)=>!C.isSidechain);Z2();function H(){process.exit(1)}async function z(C){let q=Q[C];if(!q)return;try{A.unmount?.();let N=await pm(q,void 0,Z);if(!N)throw Error("Failed to load conversation");await DY(),f5(X00.default.createElement(G7,{initialState:J,onChangeAppState:W},X00.default.createElement(o81,{initialPrompt:"",debug:X,commands:B,initialTools:Z,initialMessages:N.messages,initialCheckpoints:N.checkpoints,initialFileHistorySnapshots:N.fileHistorySnapshots,mcpClients:G,dynamicMcpConfig:Y,strictMcpConfig:I,systemPrompt:F,appendSystemPrompt:V})),{exitOnCtrlC:!1})}catch(N){throw J1(N,lGA),N}}return X00.default.createElement(vz1,{logs:D,maxHeight:K,onCancel:H,onSelect:z})}var X00;var guQ=R(async()=>{await W1([p1(),D10(),Lr1(),s0(),a_(),T9(),s9(),E51(),M6()]);X00=A1(V1(),1)});var uuQ,wt0;var muQ=R(()=>{oO0();oz();uuQ=A1(NR0(),1);wt0=class wt0 extends hF1{constructor(A,B){var Q;super(B);this._serverInfo=A,this._capabilities=(Q=B===null||B===void 0?void 0:B.capabilities)!==null&&Q!==void 0?Q:{},this._instructions=B===null||B===void 0?void 0:B.instructions,this.setRequestHandler(bO0,(Z)=>this._oninitialize(Z)),this.setNotificationHandler(sg1,()=>{var Z;return(Z=this.oninitialized)===null||Z===void 0?void 0:Z.call(this)})}registerCapabilities(A){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=Au1(this._capabilities,A)}assertCapabilityForMethod(A){var B,Q,Z;switch(A){case"sampling/createMessage":if(!((B=this._clientCapabilities)===null||B===void 0?void 0:B.sampling))throw Error(`Client does not support sampling (required for ${A})`);break;case"elicitation/create":if(!((Q=this._clientCapabilities)===null||Q===void 0?void 0:Q.elicitation))throw Error(`Client does not support elicitation (required for ${A})`);break;case"roots/list":if(!((Z=this._clientCapabilities)===null||Z===void 0?void 0:Z.roots))throw Error(`Client does not support listing roots (required for ${A})`);break;case"ping":break}}assertNotificationCapability(A){switch(A){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${A})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${A})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${A})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${A})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(A){switch(A){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Server does not support sampling (required for ${A})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${A})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${A})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${A})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${A})`);break;case"ping":case"initialize":break}}async _oninitialize(A){let B=A.params.protocolVersion;return this._clientCapabilities=A.params.capabilities,this._clientVersion=A.params.clientInfo,{protocolVersion:pg1.includes(B)?B:kg,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Bk)}async createMessage(A,B){return this.request({method:"sampling/createMessage",params:A},iO0,B)}async elicitInput(A,B){let Q=await this.request({method:"elicitation/create",params:A},nO0,B);if(Q.action==="accept"&&Q.content)try{let Z=new uuQ.default,G=Z.compile(A.requestedSchema);if(!G(Q.content))throw new YH(GH.InvalidParams,`Elicitation response content does not match requested schema: ${Z.errorsText(G.errors)}`)}catch(Z){if(Z instanceof YH)throw Z;throw new YH(GH.InternalError,`Error validating elicitation response: ${Z}`)}return Q}async listRoots(A,B){return this.request({method:"roots/list",params:A},rO0,B)}async sendLoggingMessage(A){return this.notification({method:"notifications/message",params:A})}async sendResourceUpdated(A){return this.notification({method:"notifications/resources/updated",params:A})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}});import duQ from"node:process";class Nt0{constructor(A=duQ.stdin,B=duQ.stdout){this._stdin=A,this._stdout=B,this._readBuffer=new uF1,this._started=!1,this._ondata=(Q)=>{this._readBuffer.append(Q),this.processReadBuffer()},this._onerror=(Q)=>{var Z;(Z=this.onerror)===null||Z===void 0||Z.call(this,Q)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){var A,B;while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;(A=this.onmessage)===null||A===void 0||A.call(this,Q)}catch(Q){(B=this.onerror)===null||B===void 0||B.call(this,Q)}}async close(){var A;if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),(A=this.onclose)===null||A===void 0||A.call(this)}send(A){return new Promise((B)=>{let Q=Eu1(A);if(this._stdout.write(Q))B();else this._stdout.once("drain",B)})}}var cuQ=R(()=>{LR0()});async function luQ(A,B,Q){let G=n_(100);Iw(A);let Y=new wt0({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://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION},{capabilities:{tools:{}}});Y.setRequestHandler(pO0,async()=>{let W=OL(),X=Aq(W);return{tools:await Promise.all(X.map(async(I)=>({...I,description:await I.prompt({getToolPermissionContext:async()=>W,tools:X,agents:[]}),inputSchema:Cf(I.inputSchema),outputSchema:I.outputSchema?Cf(I.outputSchema):void 0})))}}),Y.setRequestHandler(lO0,async({params:{name:W,arguments:X}})=>{let I=OL(),F=Aq(I),V=F.find((K)=>K.name===W);if(!V)throw Error(`Tool ${W} not found`);try{if(!V.isEnabled())throw Error(`Tool ${W} is not enabled`);let K=v3(),D=await V.validateInput?.(X??{},{abortController:b4(),options:{commands:puQ,tools:F,mainLoopModel:K,maxThinkingTokens:0,mcpClients:[],mcpResources:{},isNonInteractiveSession:!0,hasAppendSystemPrompt:!1,debug:B,verbose:Q,agentDefinitions:{activeAgents:[],allAgents:[]}},getAppState:async()=>ju(),setAppState:()=>{},messages:[],setMessages:()=>{},messageQueueManager:qO(),readFileState:G,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},agentId:W2()});if(D&&!D.result)throw Error(`Tool ${W} input is invalid: ${D.message}`);let H=V.call(X??{},{abortController:b4(),options:{commands:puQ,tools:F,mainLoopModel:v3(),maxThinkingTokens:0,mcpClients:[],mcpResources:{},isNonInteractiveSession:!0,hasAppendSystemPrompt:!1,debug:B,verbose:Q,agentDefinitions:{activeAgents:[],allAgents:[]}},getAppState:async()=>ju(),setAppState:()=>{},messages:[],setMessages:()=>{},messageQueueManager:qO(),readFileState:G,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},agentId:W2()},QN,jH({content:[]})),z=await Bw(H);if(z.type!=="result")throw Error(`Tool ${W} did not return a result`);return{content:Array.isArray(z)?z.map((C)=>({type:"text",text:"text"in C?C.text:JSON.stringify(C)})):[{type:"text",text:typeof z==="string"?z:JSON.stringify(z.data)}]}}catch(K){return J1(K instanceof Error?K:Error(String(K)),KGA),{isError:!0,content:[{type:"text",text:(K instanceof Error?Ea0(K):[String(K)]).filter(Boolean).join(`
3676
+ Only continue if this is your code or a project you trust.`,showDetailedPermissions:!1,learnMoreText:"Security details",yesButtonLabel:"Yes, continue",noButtonLabel:"No, exit"}}});import{homedir as kuQ}from"os";function xuQ({onDone:A,commands:B}){let{servers:Q}=rW("project"),Z=XY("trust_folder_dialog_copy","variant","control"),G=yuQ[Z],Y=Object.keys(Q).length>0,J=OuQ(),W=J.length>0,X=RuQ(),I=PuQ(),F=I.length>0,V=juQ(),K=V.length>0,D=TuQ(),H=D.length>0,z=[...new Set([...J,...X,...I,...V,...D])],C=B?.filter((c)=>c.type==="prompt"&&c.source==="projectSettings"&&!c.isSkill&&c.allowedTools?.some((e)=>e===_4||e.startsWith(_4+"(")))??[],q=B?.filter((c)=>c.type==="prompt"&&c.source==="localSettings"&&c.isSkill&&c.allowedTools?.some((e)=>e===_4||e.startsWith(_4+"(")))??[],N=C.length>0,L=q.length>0,O=C.map((c)=>c.name),T=q.map((c)=>c.name),P=X.length>0||N||L,_=oW(W||P||F||K||H),k=[{name:"MCP servers",shouldShowWarning:()=>Y,onChange:()=>{let c={enabledMcpjsonServers:Object.keys(Q),enableAllProjectMcpServers:!0};SQ("localSettings",c)}},{name:"hooks",shouldShowWarning:()=>W},{name:"bash commands",shouldShowWarning:()=>P},{name:"OpenTelemetry headers helper commands",shouldShowWarning:()=>H}].filter((c)=>c.shouldShowWarning()),l=new Set(k.map((c)=>c.name)),g=Object.keys(Q);function t(){let c=["files"];if(l.has("MCP servers"))c.push("MCP servers");if(l.has("hooks"))c.push("hooks");if(l.has("bash commands"))c.push("bash commands");if(l.has("OpenTelemetry headers helper commands"))c.push("OpenTelemetry headers helper commands");return $$1(c)}U6.default.useEffect(()=>{let c=kuQ()===YA();Z1("tengu_trust_dialog_shown",{isHomeDir:c,hasMcpServers:Y,hasHooks:W,hasBashExecution:P,hasApiKeyHelper:F,hasAwsCommands:K,hasOtelHeadersHelper:H,folderType:qt0(YA()),copyVariant:Z})},[Y,W,P,F,K,H,Z]);function d(c){let e=g4();if(c==="exit"){P6(1);return}let Q1=kuQ()===YA();if(Z1("tengu_trust_dialog_accept",{isHomeDir:Q1,hasMcpServers:Y,hasHooks:W,hasBashExecution:P,hasApiKeyHelper:F,hasAwsCommands:K,hasOtelHeadersHelper:H,enableMcp:!0,folderType:qt0(YA()),copyVariant:Z}),!Q1)SG({...e,hasTrustDialogAccepted:!0});k.forEach((T1)=>{if(T1.onChange!==void 0)T1.onChange()}),A()}let y=Z2();if(u0((c,e)=>{if(e.escape){P6(0);return}}),_)return setTimeout(A),null;return U6.default.createElement(U6.default.Fragment,null,U6.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},U6.default.createElement($,{bold:!0,color:"warning"},G.title),U6.default.createElement($,{bold:!0},N1().cwd()),U6.default.createElement(S,{flexDirection:"column",gap:1},G.bodyText!==null?U6.default.createElement($,null,G.bodyText):U6.default.createElement($,null,"AICO可能会读取、写入或执行此目录中包含的文件。"," ",t()," from trusted sources."),G.showDetailedPermissions&&(Y||W||P||F||K||H)&&U6.default.createElement(S,{flexDirection:"column",gap:1},U6.default.createElement($,{dimColor:!0},"Execution allowed by:"),Y&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},".mcp.json"),g.length>0&&U6.default.createElement($,{dimColor:!0}," ","(",$$1(g,3),")"))),z.length>0&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},z.join(", ")))),N&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},".claude/commands"),U6.default.createElement($,{dimColor:!0}," ","(",$$1(O,3),")"))),L&&U6.default.createElement(S,{paddingLeft:2},U6.default.createElement($,null,U6.default.createElement($,{dimColor:!0},"• "),U6.default.createElement($,{bold:!0},".claude/skills"),U6.default.createElement($,{dimColor:!0}," ","(",$$1(T,3),")")))),U6.default.createElement($,{dimColor:!0},G.learnMoreText," ("," ",U6.default.createElement(p6,{url:"https://docs.claude.com/s/claude-code-security"},"https://docs.claude.com/s/claude-code-security")," ",")")),U6.default.createElement(EA,{options:[{label:G.yesButtonLabel,value:"enable_all"},{label:G.noButtonLabel,value:"exit"}],onChange:(c)=>d(c),onCancel:()=>d("exit")})),U6.default.createElement(S,{marginLeft:3},U6.default.createElement($,{dimColor:!0},y.pending?U6.default.createElement(U6.default.Fragment,null,"Press ",y.keyName," again to exit"):U6.default.createElement(U6.default.Fragment,null,"Enter to confirm · Esc to exit"))))}var U6;var vuQ=R(async()=>{hQ();oA();_uQ();await W1([p1(),Z8(),g2(),Ow(),tB(),KA(),T9(),NH(),B7(),SuQ()]);U6=A1(V1(),1)});var q$1;var buQ=R(async()=>{await W1([p1(),M6()]);q$1=A1(V1(),1)});var Et0;var fuQ=R(async()=>{await W1([Lr1(),buQ(),s0(),s0(),B7()]);Et0=A1(V1(),1)});function huQ({context:A,commands:B,logs:Q,initialTools:Z,mcpClients:G,dynamicMcpConfig:Y,appState:J,onChangeAppState:W,debug:X,strictMcpConfig:I=!1,systemPrompt:F,appendSystemPrompt:V}){let{rows:K}=qB(),D=Q.filter((C)=>!C.isSidechain);Z2();function H(){process.exit(1)}async function z(C){let q=Q[C];if(!q)return;try{A.unmount?.();let N=await pm(q,void 0,Z);if(!N)throw Error("Failed to load conversation");await DY(),f5(X00.default.createElement(G7,{initialState:J,onChangeAppState:W},X00.default.createElement(o81,{initialPrompt:"",debug:X,commands:B,initialTools:Z,initialMessages:N.messages,initialCheckpoints:N.checkpoints,initialFileHistorySnapshots:N.fileHistorySnapshots,mcpClients:G,dynamicMcpConfig:Y,strictMcpConfig:I,systemPrompt:F,appendSystemPrompt:V})),{exitOnCtrlC:!1})}catch(N){throw J1(N,lGA),N}}return X00.default.createElement(vz1,{logs:D,maxHeight:K,onCancel:H,onSelect:z})}var X00;var guQ=R(async()=>{await W1([p1(),D10(),Lr1(),s0(),a_(),T9(),s9(),E51(),M6()]);X00=A1(V1(),1)});var uuQ,wt0;var muQ=R(()=>{oO0();oz();uuQ=A1(NR0(),1);wt0=class wt0 extends hF1{constructor(A,B){var Q;super(B);this._serverInfo=A,this._capabilities=(Q=B===null||B===void 0?void 0:B.capabilities)!==null&&Q!==void 0?Q:{},this._instructions=B===null||B===void 0?void 0:B.instructions,this.setRequestHandler(bO0,(Z)=>this._oninitialize(Z)),this.setNotificationHandler(sg1,()=>{var Z;return(Z=this.oninitialized)===null||Z===void 0?void 0:Z.call(this)})}registerCapabilities(A){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=Au1(this._capabilities,A)}assertCapabilityForMethod(A){var B,Q,Z;switch(A){case"sampling/createMessage":if(!((B=this._clientCapabilities)===null||B===void 0?void 0:B.sampling))throw Error(`Client does not support sampling (required for ${A})`);break;case"elicitation/create":if(!((Q=this._clientCapabilities)===null||Q===void 0?void 0:Q.elicitation))throw Error(`Client does not support elicitation (required for ${A})`);break;case"roots/list":if(!((Z=this._clientCapabilities)===null||Z===void 0?void 0:Z.roots))throw Error(`Client does not support listing roots (required for ${A})`);break;case"ping":break}}assertNotificationCapability(A){switch(A){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${A})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${A})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${A})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${A})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(A){switch(A){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Server does not support sampling (required for ${A})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${A})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${A})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${A})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${A})`);break;case"ping":case"initialize":break}}async _oninitialize(A){let B=A.params.protocolVersion;return this._clientCapabilities=A.params.capabilities,this._clientVersion=A.params.clientInfo,{protocolVersion:pg1.includes(B)?B:kg,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Bk)}async createMessage(A,B){return this.request({method:"sampling/createMessage",params:A},iO0,B)}async elicitInput(A,B){let Q=await this.request({method:"elicitation/create",params:A},nO0,B);if(Q.action==="accept"&&Q.content)try{let Z=new uuQ.default,G=Z.compile(A.requestedSchema);if(!G(Q.content))throw new YH(GH.InvalidParams,`Elicitation response content does not match requested schema: ${Z.errorsText(G.errors)}`)}catch(Z){if(Z instanceof YH)throw Z;throw new YH(GH.InternalError,`Error validating elicitation response: ${Z}`)}return Q}async listRoots(A,B){return this.request({method:"roots/list",params:A},rO0,B)}async sendLoggingMessage(A){return this.notification({method:"notifications/message",params:A})}async sendResourceUpdated(A){return this.notification({method:"notifications/resources/updated",params:A})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}});import duQ from"node:process";class Nt0{constructor(A=duQ.stdin,B=duQ.stdout){this._stdin=A,this._stdout=B,this._readBuffer=new uF1,this._started=!1,this._ondata=(Q)=>{this._readBuffer.append(Q),this.processReadBuffer()},this._onerror=(Q)=>{var Z;(Z=this.onerror)===null||Z===void 0||Z.call(this,Q)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){var A,B;while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;(A=this.onmessage)===null||A===void 0||A.call(this,Q)}catch(Q){(B=this.onerror)===null||B===void 0||B.call(this,Q)}}async close(){var A;if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),(A=this.onclose)===null||A===void 0||A.call(this)}send(A){return new Promise((B)=>{let Q=Eu1(A);if(this._stdout.write(Q))B();else this._stdout.once("drain",B)})}}var cuQ=R(()=>{LR0()});async function luQ(A,B,Q){let G=n_(100);Iw(A);let Y=new wt0({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://docs.claude.com/s/claude-code",VERSION:"2.0.24"}.VERSION},{capabilities:{tools:{}}});Y.setRequestHandler(pO0,async()=>{let W=OL(),X=Aq(W);return{tools:await Promise.all(X.map(async(I)=>({...I,description:await I.prompt({getToolPermissionContext:async()=>W,tools:X,agents:[]}),inputSchema:Cf(I.inputSchema),outputSchema:I.outputSchema?Cf(I.outputSchema):void 0})))}}),Y.setRequestHandler(lO0,async({params:{name:W,arguments:X}})=>{let I=OL(),F=Aq(I),V=F.find((K)=>K.name===W);if(!V)throw Error(`Tool ${W} not found`);try{if(!V.isEnabled())throw Error(`Tool ${W} is not enabled`);let K=v3(),D=await V.validateInput?.(X??{},{abortController:b4(),options:{commands:puQ,tools:F,mainLoopModel:K,maxThinkingTokens:0,mcpClients:[],mcpResources:{},isNonInteractiveSession:!0,hasAppendSystemPrompt:!1,debug:B,verbose:Q,agentDefinitions:{activeAgents:[],allAgents:[]}},getAppState:async()=>ju(),setAppState:()=>{},messages:[],setMessages:()=>{},messageQueueManager:qO(),readFileState:G,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},agentId:W2()});if(D&&!D.result)throw Error(`Tool ${W} input is invalid: ${D.message}`);let H=V.call(X??{},{abortController:b4(),options:{commands:puQ,tools:F,mainLoopModel:v3(),maxThinkingTokens:0,mcpClients:[],mcpResources:{},isNonInteractiveSession:!0,hasAppendSystemPrompt:!1,debug:B,verbose:Q,agentDefinitions:{activeAgents:[],allAgents:[]}},getAppState:async()=>ju(),setAppState:()=>{},messages:[],setMessages:()=>{},messageQueueManager:qO(),readFileState:G,setInProgressToolUseIDs:()=>{},setResponseLength:()=>{},updateFileHistoryState:()=>{},agentId:W2()},QN,jH({content:[]})),z=await Bw(H);if(z.type!=="result")throw Error(`Tool ${W} did not return a result`);return{content:Array.isArray(z)?z.map((C)=>({type:"text",text:"text"in C?C.text:JSON.stringify(C)})):[{type:"text",text:typeof z==="string"?z:JSON.stringify(z.data)}]}}catch(K){return J1(K instanceof Error?K:Error(String(K)),KGA),{isError:!0,content:[{type:"text",text:(K instanceof Error?Ea0(K):[String(K)]).filter(Boolean).join(`
3677
3677
  `).trim()||"Error"}]}}});async function J(){let W=new Nt0;await Y.connect(W)}return await J()}var puQ;var iuQ=R(async()=>{muQ();cuQ();oz();ER1();UM();K2();Qw();gY();await W1([$7(),CP(),pQ(),s0(),nC1(),$c0(),UB(),Hd(),s9()]);puQ=[Mr1]});function Lt0(A,B,Q){let Z="";if(Object.keys(Q?.enabledPlugins||{}).forEach((G)=>{if(G===A||G===B.name||G.startsWith(`${B.name}@`))Z=G}),!Z)Z=A.includes("@")?A:B.name;return Z}function nuQ(A){if(A.includes("@")){let B=A.split("@");return{name:B[0]||"",marketplace:B[1]}}return{name:A}}function Mt0(A,B){let{name:Q,marketplace:Z}=nuQ(A);return B.find((G)=>{if(G.name===A||G.name===Q)return!0;if(Z&&G.source)return G.name===Q&&G.source.includes(`@${Z}`);return!1})}function Ot0(A,B,Q){let G={...EQ("userSettings")?.enabledPlugins};Object.keys(G).forEach((Y)=>{if(Y===A||Y===Q.name||Y.startsWith(`${Q.name}@`))G[Y]=B}),SQ("userSettings",{enabledPlugins:G}),wF()}function I00(A,B){J1(A instanceof Error?A:Error(String(A)),Qp),console.error(`${K0.cross} Failed to ${B}: ${A instanceof Error?A.message:String(A)}`),process.exit(1)}async function auQ(A){try{let{name:B,marketplace:Q}=nuQ(A),Z=await AJ(),G,Y;for(let[I]of Object.entries(Z)){if(Q&&I!==Q)continue;let V=(await WH(I)).plugins.find((K)=>K.name===B);if(V){G=V,Y=I;break}}if(!G||!Y){let I=Q?`marketplace "${Q}"`:"any configured marketplace";throw Error(`Plugin "${B}" not found in ${I}`)}if(typeof G.source!=="string")console.log(`Installing plugin "${B}" from marketplace "${Y}"...`),await Hw(G.source,{manifest:{name:G.name}});let J=`${G.name}@${Y}`,X={...EQ("userSettings")?.enabledPlugins,[J]:!0};SQ("userSettings",{enabledPlugins:X}),wF(),console.log(`${K0.tick} Successfully installed plugin: ${J}`),Z1("tengu_plugin_installed_cli",{plugin_id:J,marketplace_name:Y}),process.exit(0)}catch(B){I00(B,`install plugin "${A}"`)}}async function suQ(A){try{let{enabled:B,disabled:Q}=await CY(),Z=[...B,...Q],G=Mt0(A,Z);if(!G)throw Error(`Plugin "${A}" not found in installed plugins`);let Y=EQ("userSettings"),J=Lt0(A,G,Y);if(Y?.enabledPlugins?.[J]===!1)throw Error(`Plugin "${A}" is already uninstalled`);Ot0(J,!1,G),console.log(`${K0.tick} Successfully uninstalled plugin: ${G.name}`),Z1("tengu_plugin_uninstalled_cli",{plugin_id:J}),process.exit(0)}catch(B){I00(B,`uninstall plugin "${A}"`)}}async function ruQ(A){try{let{disabled:B}=await CY(),Q=Mt0(A,B);if(!Q)throw Error(`Plugin "${A}" not found in disabled plugins`);let Z=EQ("userSettings"),G=Lt0(A,Q,Z);Ot0(G,!0,Q),console.log(`${K0.tick} Successfully enabled plugin: ${Q.name}`),Z1("tengu_plugin_enabled_cli",{plugin_id:G}),process.exit(0)}catch(B){I00(B,`enable plugin "${A}"`)}}async function ouQ(A){try{let{enabled:B}=await CY(),Q=Mt0(A,B);if(!Q)throw Error(`Plugin "${A}" not found in enabled plugins`);let Z=EQ("userSettings"),G=Lt0(A,Q,Z);Ot0(G,!1,Q),console.log(`${K0.tick} Successfully disabled plugin: ${Q.name}`),Z1("tengu_plugin_disabled_cli",{plugin_id:G}),process.exit(0)}catch(B){I00(B,`disable plugin "${A}"`)}}var tuQ=R(async()=>{oQ();await W1([s0(),KA(),QC(),BC(),tB(),Cr()])});import{join as $S}from"path";function F00(){let Q=((yA()||{}).cleanupPeriodDays??tu8)*24*60*60*1000;return new Date(Date.now()-Q)}function eu8(A,B){return{messages:A.messages+B.messages,errors:A.errors+B.errors}}function Am8(A){let B=A.split(".")[0].replace(/T(\d{2})-(\d{2})-(\d{2})-(\d{3})Z/,"T$1:$2:$3.$4Z");return new Date(B)}function euQ(A,B,Q){let Z={messages:0,errors:0};try{let G=N1().readdirSync(A);for(let Y of G)try{if(Am8(Y.name)<B)if(N1().unlinkSync($S(A,Y.name)),Q)Z.messages++;else Z.errors++}catch(J){J1(J,$ZA)}}catch(G){if(G instanceof Error&&"code"in G&&G.code!=="ENOENT")J1(G,UZA)}return Z}async function Bm8(){let A=N1(),B=F00(),Q=mj.errors(),Z=mj.baseLogs(),G=euQ(Q,B,!1);try{if(A.existsSync(Z)){let J=A.readdirSync(Z).filter((W)=>W.isDirectory()&&W.name.startsWith("mcp-logs-")).map((W)=>$S(Z,W.name));for(let W of J){G=eu8(G,euQ(W,B,!0));try{if(A.isDirEmptySync(W))A.rmdirSync(W)}catch{}}}}catch(Y){if(Y instanceof Error&&"code"in Y&&Y.code!=="ENOENT")J1(Y,qQ0)}return G}function AmQ(A,B,Q,Z){let G={messages:0,errors:0};if(!Z.existsSync(A))return G;let J=Z.readdirSync(A).filter((W)=>W.isFile()&&W.name.endsWith(Q));for(let W of J)try{let X=$S(A,W.name);if(Z.statSync(X).mtime<B)Z.unlinkSync(X),G.messages++}catch{G.errors++}try{if(Z.isDirEmptySync(A))Z.rmdirSync(A)}catch{G.errors++}return G}function Qm8(){let A=F00(),B={messages:0,errors:0},Q=G$1(),Z=N1();try{if(!Z.existsSync(Q))return B;let Y=Z.readdirSync(Q).filter((J)=>J.isDirectory()).map((J)=>$S(Q,J.name));for(let J of Y)try{let W=AmQ(J,A,".jsonl",Z);B.messages+=W.messages,B.errors+=W.errors;let X=$S(J,"bash-outputs");if(Z.existsSync(X))try{let I=Z.readdirSync(X);for(let F of I)if(F.isDirectory()){let V=$S(X,F.name),K=AmQ(V,A,".txt",Z);B.messages+=K.messages,B.errors+=K.errors}if(Z.isDirEmptySync(X))Z.rmdirSync(X)}catch{B.errors++}try{if(Z.isDirEmptySync(J))Z.rmdirSync(J)}catch{}}catch{B.errors++;continue}}catch{B.errors++}return B}function Zm8(){let A=F00(),B={messages:0,errors:0},Q=N1();try{let Z=IB(),G=$S(Z,"file-history");if(!Q.existsSync(G))return B;let J=Q.readdirSync(G).filter((W)=>W.isDirectory()).map((W)=>$S(G,W.name));for(let W of J)try{if(!Q.existsSync(W))continue;if(Q.statSync(W).mtime<A)Q.rmSync(W,{recursive:!0,force:!0}),B.messages++}catch{B.errors++}try{if(Q.isDirEmptySync(G))Q.rmdirSync(G)}catch{}}catch(Z){J1(Z,vYA)}return B}function Gm8(){let A=F00(),B={messages:0,errors:0},Q=N1();try{let Z=IB(),G=$S(Z,"session-env");if(!Q.existsSync(G))return B;let J=Q.readdirSync(G).filter((W)=>W.isDirectory()).map((W)=>$S(G,W.name));for(let W of J)try{if(!Q.existsSync(W))continue;if(Q.statSync(W).mtime<A)Q.rmSync(W,{recursive:!0,force:!0}),B.messages++}catch{B.errors++}try{if(Q.isDirEmptySync(G))Q.rmdirSync(G)}catch{}}catch(Z){J1(Z,qQ0)}return B}function BmQ(){setImmediate(()=>{Bm8(),Qm8(),Zm8(),Gm8()}).unref()}var tu8=30;var QmQ=R(async()=>{oA();HB();await W1([s0(),k4(),tB(),rF()])});import{join as GmQ,basename as Ym8}from"path";function Wm8(){let A=XV(),B=FR(A);if(B<=ZmQ)return Math.floor(B*0.8);return B-ZmQ}function Xm8(A){return pJ(A).map((B)=>{if(B.type==="user"){if(typeof B.message.content==="string")return`User: ${B.message.content}`;else if(Array.isArray(B.message.content))return`User: ${B.message.content.filter((Q)=>Q.type==="text").map((Q)=>Q.type==="text"?Q.text:"").join(`
3678
3678
  `).trim()}`}else if(B.type==="assistant"){let Q=pu(B);if(Q)return`Claude: ${NF1(Q).trim()}`}return null}).filter((B)=>B!==null).join(`
3679
3679
 
@@ -3687,7 +3687,7 @@ ${Y?`[Last ${Q.length} of ${A.length} messages]
3687
3687
  `);if(G===-1)return JSON.parse(Z.trim()).type==="summary";let Y=Z.substring(0,G);return JSON.parse(Y).type==="summary"}catch{return!1}}async function YmQ(A){if(I3())return;let B=Fm8(YA()),Q=Vm8(B);for(let Z of Q)try{if(Hm8(Z))break;if(!gC(Ym8(Z,".jsonl")))continue;let{messages:J,summaries:W}=await jo0(Z),X=Dm8(J);for(let I of X){if(W.has(I.uuid))continue;let F=Km8(I,J);if(F.length===0)continue;try{let V=await Im8(F,A);if(V)await IhQ(I.uuid,V)}catch(V){J1(V instanceof Error?V:Error(String(V)),zYA)}}}catch(G){J1(G instanceof Error?G:Error(String(G)),CYA)}}var Jm8,ZmQ=50000;var JmQ=R(async()=>{mA();oA();zx();hQ();K2();await W1([HG(),UB(),rF(),s0(),uw(),pQ()]);Jm8=`
3688
3688
  Summarize this coding conversation in under 50 characters.
3689
3689
  Capture the main task, key files, problems addressed, and current status.
3690
- `.trim()});function V00(){return Rt0.default.createElement($,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",Rt0.default.createElement(u41,{url:"https://docs.claude.com/s/claude-code-mcp"},"MCP documentation"),".")}var Rt0;var Tt0=R(async()=>{await W1([p1(),Si1()]);Rt0=A1(V1(),1)});function WmQ({serverNames:A,onDone:B}){function Q(G){let Y=yA()||{},J=Y.enabledMcpjsonServers||[],W=Y.disabledMcpjsonServers||[],[X,I]=rA0(A,(F)=>G.includes(F));if(Z1("tengu_mcp_multidialog_choice",{approved:X.length,rejected:I.length}),X.length>0){let F=[...new Set([...J,...X])];SQ("localSettings",{enabledMcpjsonServers:F})}if(I.length>0){let F=[...new Set([...W,...I])];SQ("localSettings",{disabledMcpjsonServers:F})}B()}let Z=Z2();return u0((G,Y)=>{if(Y.escape){let W=(yA()||{}).disabledMcpjsonServers||[],X=[...new Set([...W,...A])];SQ("localSettings",{disabledMcpjsonServers:X}),B();return}}),oC.default.createElement(oC.default.Fragment,null,oC.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},oC.default.createElement($,{bold:!0,color:"warning"},A.length," new MCP servers found in .mcp.json"),oC.default.createElement($,null,"Select any you wish to enable."),oC.default.createElement(V00,null),oC.default.createElement(G00,{options:A.map((G)=>({label:G,value:G})),defaultValue:A,onSubmit:Q})),oC.default.createElement(S,{marginLeft:3},oC.default.createElement($,{dimColor:!0},Z.pending?oC.default.createElement(oC.default.Fragment,null,"Press ",Z.keyName," again to exit"):oC.default.createElement(oC.default.Fragment,null,"Space to select · Enter to confirm · Esc to reject all"))))}var oC;var XmQ=R(async()=>{TB();await W1([p1(),Ht0(),tB(),Tt0(),T9(),KA()]);oC=A1(V1(),1)});function ImQ({serverName:A,onDone:B}){function Q(G){switch(Z1("tengu_mcp_dialog_choice",{choice:G}),G){case"yes":case"yes_all":{let J=(yA()||{}).enabledMcpjsonServers||[];if(!J.includes(A))SQ("localSettings",{enabledMcpjsonServers:[...J,A]});if(G==="yes_all")SQ("localSettings",{enableAllProjectMcpServers:!0});B();break}case"no":{let J=(yA()||{}).disabledMcpjsonServers||[];if(!J.includes(A))SQ("localSettings",{disabledMcpjsonServers:[...J,A]});B();break}}}let Z=Z2();return u0((G,Y)=>{if(Y.escape){B();return}}),Yq.default.createElement(Yq.default.Fragment,null,Yq.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},Yq.default.createElement($,{bold:!0,color:"warning"},"New MCP server found in .mcp.json: ",A),Yq.default.createElement(V00,null),Yq.default.createElement(EA,{options:[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],onChange:(G)=>Q(G),onCancel:()=>Q("no")})),Yq.default.createElement(S,{marginLeft:3},Yq.default.createElement($,{dimColor:!0},Z.pending?Yq.default.createElement(Yq.default.Fragment,null,"Press ",Z.keyName," again to exit"):Yq.default.createElement(Yq.default.Fragment,null,"Enter to confirm · Esc to reject"))))}var Yq;var FmQ=R(async()=>{await W1([p1(),Z8(),tB(),Tt0(),T9(),KA()]);Yq=A1(V1(),1)});async function VmQ(){let{servers:A}=rW("project"),B=Object.keys(A).filter((Q)=>zd1(Q)==="pending");if(B.length===0)return;await new Promise((Q)=>{let Z=()=>{process.stdout.write("\x1B[2J\x1B[3J\x1B[H",()=>{Q()})};if(B.length===1&&B[0]!==void 0){let G=f5(E$1.default.createElement(G7,null,E$1.default.createElement(ImQ,{serverName:B[0],onDone:()=>{G.unmount?.(),Z()}})),{exitOnCtrlC:!1})}else{let G=f5(E$1.default.createElement(G7,null,E$1.default.createElement(WmQ,{serverNames:B,onDone:()=>{G.unmount?.(),Z()}})),{exitOnCtrlC:!1})}})}var E$1;var KmQ=R(async()=>{await W1([p1(),XmQ(),FmQ(),s9(),Ow(),hK()]);E$1=A1(V1(),1)});function DmQ({onAccept:A}){MF.default.useEffect(()=>{Z1("tengu_bypass_permissions_mode_dialog_shown",{})},[]);function B(Z){let G=w0();switch(Z){case"accept":{Z1("tengu_bypass_permissions_mode_dialog_accept",{}),lA({...G,bypassPermissionsModeAccepted:!0}),A();break}case"decline":{P6(1);break}}}let Q=Z2();return u0((Z,G)=>{if(G.escape){P6(0);return}}),MF.default.createElement(MF.default.Fragment,null,MF.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"error"},MF.default.createElement($,{bold:!0,color:"error"},"WARNING: AICO running in Bypass Permissions mode"),MF.default.createElement(S,{flexDirection:"column",gap:1},MF.default.createElement($,null,"In Bypass Permissions mode, AICO will not ask for your approval before running potentially dangerous commands.",MF.default.createElement(uZ,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),MF.default.createElement($,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),MF.default.createElement(p6,{url:"https://docs.claude.com/s/claude-code-security"})),MF.default.createElement(EA,{options:[{label:"No, exit",value:"decline"},{label:"Yes, I accept",value:"accept"}],onChange:(Z)=>B(Z),onCancel:()=>B("decline")})),MF.default.createElement(S,{marginLeft:3},MF.default.createElement($,{dimColor:!0},Q.pending?MF.default.createElement(MF.default.Fragment,null,"Press ",Q.keyName," again to exit"):MF.default.createElement(MF.default.Fragment,null,"Enter to confirm · Esc to exit"))))}var MF;var HmQ=R(async()=>{await W1([p1(),Z8(),g2(),KA(),T9(),NH(),B7()]);MF=A1(V1(),1)});function gd({newState:A,oldState:B}){if(A.mainLoopModel!==B.mainLoopModel&&A.mainLoopModel===null)SQ("userSettings",{model:void 0}),bc(null);if(A.mainLoopModel!==B.mainLoopModel&&A.mainLoopModel!==null)SQ("userSettings",{model:A.mainLoopModel}),bc(A.mainLoopModel);if(A.maxRateLimitFallbackActive!==yo())xBA(A.maxRateLimitFallbackActive);if(A.showExpandedTodos!==B.showExpandedTodos&&w0().showExpandedTodos!==A.showExpandedTodos)lA({...w0(),showExpandedTodos:A.showExpandedTodos});if(B!==null&&A.todos!==B.todos)for(let Q in A.todos)el1(A.todos[Q],Q);if(A.verbose!==B.verbose&&w0().verbose!==A.verbose)lA({...w0(),verbose:A.verbose});if(A.thinkingEnabled!==B.thinkingEnabled)SQ("userSettings",{alwaysThinkingEnabled:A.thinkingEnabled});if(oD()&&(A.mcp.tools.length>0||A.mcp.clients.length>0||Object.keys(A.mcp.resources).length>0))qgQ(A.mcp.clients,A.mcp.tools,A.mcp.resources)}var zmQ=R(async()=>{K2();await W1([g2(),g2(),tB(),cu(),Zt0()])});function CmQ(){let A=w0();if(A.autoUpdates!==!1||A.autoUpdatesProtectedForNative===!0)return;try{let B=EQ("userSettings")||{};SQ("userSettings",{...B,env:{...B.env,DISABLE_AUTOUPDATER:"1"}}),Z1("tengu_migrate_autoupdates_to_settings",{was_user_preference:!0,already_had_env_var:!!B.env?.DISABLE_AUTOUPDATER}),process.env.DISABLE_AUTOUPDATER="1";let{autoUpdates:Q,autoUpdatesProtectedForNative:Z,...G}=A;lA(G)}catch(B){J1(Error(`Failed to migrate auto-updates: ${B}`),EGA),Z1("tengu_migrate_autoupdates_error",{has_error:!0})}}var UmQ=R(async()=>{await W1([g2(),tB(),KA(),s0()])});async function $mQ(){if(!(await OV("force_local_installation_migration")&&!ou()&&!print&&!TA(!1)&&!0&&!Ra()))return;n("Migrating Claude CLI to local installation. This improves auto-updates and removes dependency on global npm permissions. Your existing configuration and history will be preserved.");try{Z1("tengu_forced_migration_start",{gateControlled:!0}),await new Promise((B)=>{let{waitUntilExit:Q}=f5(w$1.createElement(G7,null,w$1.createElement(C51,null)));Q().then(()=>{B()})}),Z1("tengu_forced_migration_success",{gateControlled:!0}),n("Migration complete! Please restart Claude CLI to use the new installation."),process.exit(0)}catch(B){let Q=B instanceof Error?B:Error(String(B));J1(Q,qGA),Z1("tengu_forced_migration_failure",{gateControlled:!0}),n("Migration encountered an error, continuing with global installation.",{level:"error"})}}var w$1;var qmQ=R(async()=>{HB();mA();await W1([p1(),Cr1(),KA(),s9(),aM(),s0(),sM()]);w$1=A1(V1(),1)});function EmQ(){let A=g4(),B=A.enableAllProjectMcpServers!==void 0,Q=A.enabledMcpjsonServers&&A.enabledMcpjsonServers.length>0,Z=A.disabledMcpjsonServers&&A.disabledMcpjsonServers.length>0;if(!B&&!Q&&!Z)return;try{let G=EQ("localSettings")||{},Y={},J=[];if(B&&G.enableAllProjectMcpServers===void 0)Y.enableAllProjectMcpServers=A.enableAllProjectMcpServers,J.push("enableAllProjectMcpServers");else if(B)J.push("enableAllProjectMcpServers");if(Q&&A.enabledMcpjsonServers){let W=G.enabledMcpjsonServers||[];Y.enabledMcpjsonServers=[...new Set([...W,...A.enabledMcpjsonServers])],J.push("enabledMcpjsonServers")}if(Z&&A.disabledMcpjsonServers){let W=G.disabledMcpjsonServers||[];Y.disabledMcpjsonServers=[...new Set([...W,...A.disabledMcpjsonServers])],J.push("disabledMcpjsonServers")}if(Object.keys(Y).length>0)SQ("localSettings",Y);if(J.length>0){let W=g4(),{enableAllProjectMcpServers:X,enabledMcpjsonServers:I,disabledMcpjsonServers:F,...V}=W;if(J.includes("enableAllProjectMcpServers")||J.includes("enabledMcpjsonServers")||J.includes("disabledMcpjsonServers"))SG(V)}Z1("tengu_migrate_mcp_approval_fields_success",{migratedCount:J.length})}catch{Z1("tengu_migrate_mcp_approval_fields_error",{})}}var wmQ=R(async()=>{await W1([g2(),tB(),KA()])});function NmQ(){if(w0().sonnet45MigrationComplete)return;if(s3()!=="firstParty"){lA({...w0(),sonnet45MigrationComplete:!0});return}if(yA()?.model!==void 0)SQ("userSettings",{model:void 0}),lA({...w0(),sonnet45MigrationComplete:!0,sonnet45MigrationTimestamp:Date.now()});else lA({...w0(),sonnet45MigrationComplete:!0})}var LmQ=R(async()=>{hD();await W1([g2(),tB()])});function N$1(A,B,Q,Z){let G={type:"permissionPromptTool",permissionPromptToolName:B.name,toolResult:A};if(A.behavior==="allow"){let Y=A.updatedPermissions;if(Y)Z.setAppState((J)=>({...J,toolPermissionContext:Xr(J.toolPermissionContext,Y)})),fe1(Y);return{...A,decisionReason:G}}else if(A.behavior==="deny"&&A.interrupt)Z.abortController.abort("tool-rejection");return{...A,decisionReason:G}}var bAG,zm8,Cm8,K00;var Pt0=R(async()=>{g9();await EV();bAG=zQ.object({tool_name:zQ.string().describe("The name of the tool requesting permission"),input:zQ.record(zQ.unknown()).describe("The input for the tool"),tool_use_id:zQ.string().optional().describe("The unique tool use request ID")}),zm8=zQ.object({behavior:zQ.literal("allow"),updatedInput:zQ.record(zQ.unknown()),updatedPermissions:zQ.array(EhQ).optional()}),Cm8=zQ.object({behavior:zQ.literal("deny"),message:zQ.string(),interrupt:zQ.boolean().optional()}),K00=zQ.union([zm8,Cm8])});import{randomUUID as Um8}from"crypto";class L$1{input;structuredInput;pendingRequests=new Map;inputClosed=!1;constructor(A){this.input=A;this.input=A,this.structuredInput=this.read()}async*read(){let A="";for await(let B of this.input){A+=B;let Q;while((Q=A.indexOf(`
3690
+ `.trim()});function V00(){return Rt0.default.createElement($,null,"MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",Rt0.default.createElement(u41,{url:"https://docs.claude.com/s/claude-code-mcp"},"MCP documentation"),".")}var Rt0;var Tt0=R(async()=>{await W1([p1(),Si1()]);Rt0=A1(V1(),1)});function WmQ({serverNames:A,onDone:B}){function Q(G){let Y=yA()||{},J=Y.enabledMcpjsonServers||[],W=Y.disabledMcpjsonServers||[],[X,I]=rA0(A,(F)=>G.includes(F));if(Z1("tengu_mcp_multidialog_choice",{approved:X.length,rejected:I.length}),X.length>0){let F=[...new Set([...J,...X])];SQ("localSettings",{enabledMcpjsonServers:F})}if(I.length>0){let F=[...new Set([...W,...I])];SQ("localSettings",{disabledMcpjsonServers:F})}B()}let Z=Z2();return u0((G,Y)=>{if(Y.escape){let W=(yA()||{}).disabledMcpjsonServers||[],X=[...new Set([...W,...A])];SQ("localSettings",{disabledMcpjsonServers:X}),B();return}}),oC.default.createElement(oC.default.Fragment,null,oC.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},oC.default.createElement($,{bold:!0,color:"warning"},A.length," new MCP servers found in .mcp.json"),oC.default.createElement($,null,"Select any you wish to enable."),oC.default.createElement(V00,null),oC.default.createElement(G00,{options:A.map((G)=>({label:G,value:G})),defaultValue:A,onSubmit:Q})),oC.default.createElement(S,{marginLeft:3},oC.default.createElement($,{dimColor:!0},Z.pending?oC.default.createElement(oC.default.Fragment,null,"Press ",Z.keyName," again to exit"):oC.default.createElement(oC.default.Fragment,null,"Space to select · Enter to confirm · Esc to reject all"))))}var oC;var XmQ=R(async()=>{TB();await W1([p1(),Ht0(),tB(),Tt0(),T9(),KA()]);oC=A1(V1(),1)});function ImQ({serverName:A,onDone:B}){function Q(G){switch(Z1("tengu_mcp_dialog_choice",{choice:G}),G){case"yes":case"yes_all":{let J=(yA()||{}).enabledMcpjsonServers||[];if(!J.includes(A))SQ("localSettings",{enabledMcpjsonServers:[...J,A]});if(G==="yes_all")SQ("localSettings",{enableAllProjectMcpServers:!0});B();break}case"no":{let J=(yA()||{}).disabledMcpjsonServers||[];if(!J.includes(A))SQ("localSettings",{disabledMcpjsonServers:[...J,A]});B();break}}}let Z=Z2();return u0((G,Y)=>{if(Y.escape){B();return}}),Yq.default.createElement(Yq.default.Fragment,null,Yq.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"warning"},Yq.default.createElement($,{bold:!0,color:"warning"},"New MCP server found in .mcp.json: ",A),Yq.default.createElement(V00,null),Yq.default.createElement(EA,{options:[{label:"Use this and all future MCP servers in this project",value:"yes_all"},{label:"Use this MCP server",value:"yes"},{label:"Continue without using this MCP server",value:"no"}],onChange:(G)=>Q(G),onCancel:()=>Q("no")})),Yq.default.createElement(S,{marginLeft:3},Yq.default.createElement($,{dimColor:!0},Z.pending?Yq.default.createElement(Yq.default.Fragment,null,"Press ",Z.keyName," again to exit"):Yq.default.createElement(Yq.default.Fragment,null,"Enter to confirm · Esc to reject"))))}var Yq;var FmQ=R(async()=>{await W1([p1(),Z8(),tB(),Tt0(),T9(),KA()]);Yq=A1(V1(),1)});async function VmQ(){let{servers:A}=rW("project"),B=Object.keys(A).filter((Q)=>zd1(Q)==="pending");if(B.length===0)return;await new Promise((Q)=>{let Z=()=>{process.stdout.write("\x1B[2J\x1B[3J\x1B[H",()=>{Q()})};if(B.length===1&&B[0]!==void 0){let G=f5(E$1.default.createElement(G7,null,E$1.default.createElement(ImQ,{serverName:B[0],onDone:()=>{G.unmount?.(),Z()}})),{exitOnCtrlC:!1})}else{let G=f5(E$1.default.createElement(G7,null,E$1.default.createElement(WmQ,{serverNames:B,onDone:()=>{G.unmount?.(),Z()}})),{exitOnCtrlC:!1})}})}var E$1;var KmQ=R(async()=>{await W1([p1(),XmQ(),FmQ(),s9(),Ow(),hK()]);E$1=A1(V1(),1)});function DmQ({onAccept:A}){MF.default.useEffect(()=>{Z1("tengu_bypass_permissions_mode_dialog_shown",{})},[]);function B(Z){let G=w0();switch(Z){case"accept":{Z1("tengu_bypass_permissions_mode_dialog_accept",{}),lA({...G,bypassPermissionsModeAccepted:!0}),A();break}case"decline":{P6(1);break}}}let Q=Z2();return u0((Z,G)=>{if(G.escape){P6(0);return}}),MF.default.createElement(MF.default.Fragment,null,MF.default.createElement(S,{flexDirection:"column",gap:1,padding:1,borderStyle:"round",borderColor:"error"},MF.default.createElement($,{bold:!0,color:"error"},"WARNING: AICO running in Bypass Permissions mode"),MF.default.createElement(S,{flexDirection:"column",gap:1},MF.default.createElement($,null,"In Bypass Permissions mode, AICO will not ask for your approval before running potentially dangerous commands.",MF.default.createElement(uZ,null),"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."),MF.default.createElement($,null,"By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."),MF.default.createElement(p6,{url:"https://docs.claude.com/s/claude-code-security"})),MF.default.createElement(EA,{options:[{label:"No, exit",value:"decline"},{label:"Yes, I accept",value:"accept"}],onChange:(Z)=>B(Z),onCancel:()=>B("decline")})),MF.default.createElement(S,{marginLeft:3},MF.default.createElement($,{dimColor:!0},Q.pending?MF.default.createElement(MF.default.Fragment,null,"Press ",Q.keyName," again to exit"):MF.default.createElement(MF.default.Fragment,null,"Enter to confirm · Esc to exit"))))}var MF;var HmQ=R(async()=>{await W1([p1(),Z8(),g2(),KA(),T9(),NH(),B7()]);MF=A1(V1(),1)});function gd({newState:A,oldState:B}){if(A.mainLoopModel!==B.mainLoopModel&&A.mainLoopModel===null)SQ("userSettings",{model:void 0}),bc(null);if(A.mainLoopModel!==B.mainLoopModel&&A.mainLoopModel!==null)SQ("userSettings",{model:A.mainLoopModel}),bc(A.mainLoopModel);if(A.maxRateLimitFallbackActive!==yo())xBA(A.maxRateLimitFallbackActive);if(A.showExpandedTodos!==B.showExpandedTodos&&w0().showExpandedTodos!==A.showExpandedTodos)lA({...w0(),showExpandedTodos:A.showExpandedTodos});if(B!==null&&A.todos!==B.todos)for(let Q in A.todos)el1(A.todos[Q],Q);if(A.verbose!==B.verbose&&w0().verbose!==A.verbose)lA({...w0(),verbose:A.verbose});if(A.thinkingEnabled!==B.thinkingEnabled)SQ("userSettings",{alwaysThinkingEnabled:A.thinkingEnabled});if(oD()&&(A.mcp.tools.length>0||A.mcp.clients.length>0||Object.keys(A.mcp.resources).length>0))qgQ(A.mcp.clients,A.mcp.tools,A.mcp.resources)}var zmQ=R(async()=>{K2();await W1([g2(),g2(),tB(),cu(),Zt0()])});function CmQ(){let A=w0();if(A.autoUpdates!==!1||A.autoUpdatesProtectedForNative===!0)return;try{let B=EQ("userSettings")||{};SQ("userSettings",{...B,env:{...B.env,DISABLE_AUTOUPDATER:"1"}}),Z1("tengu_migrate_autoupdates_to_settings",{was_user_preference:!0,already_had_env_var:!!B.env?.DISABLE_AUTOUPDATER}),process.env.DISABLE_AUTOUPDATER="1";let{autoUpdates:Q,autoUpdatesProtectedForNative:Z,...G}=A;lA(G)}catch(B){J1(Error(`Failed to migrate auto-updates: ${B}`),EGA),Z1("tengu_migrate_autoupdates_error",{has_error:!0})}}var UmQ=R(async()=>{await W1([g2(),tB(),KA(),s0()])});async function $mQ(){if(!(await OV("force_local_installation_migration")&&!ou()&&!print&&!TA(!1)&&!0&&!Ra()))return;n("Migrating AICO CLI to local installation. This improves auto-updates and removes dependency on global npm permissions. Your existing configuration and history will be preserved.");try{Z1("tengu_forced_migration_start",{gateControlled:!0}),await new Promise((B)=>{let{waitUntilExit:Q}=f5(w$1.createElement(G7,null,w$1.createElement(C51,null)));Q().then(()=>{B()})}),Z1("tengu_forced_migration_success",{gateControlled:!0}),n("Migration complete! Please restart AICO CLI to use the new installation."),process.exit(0)}catch(B){let Q=B instanceof Error?B:Error(String(B));J1(Q,qGA),Z1("tengu_forced_migration_failure",{gateControlled:!0}),n("Migration encountered an error, continuing with global installation.",{level:"error"})}}var w$1;var qmQ=R(async()=>{HB();mA();await W1([p1(),Cr1(),KA(),s9(),aM(),s0(),sM()]);w$1=A1(V1(),1)});function EmQ(){let A=g4(),B=A.enableAllProjectMcpServers!==void 0,Q=A.enabledMcpjsonServers&&A.enabledMcpjsonServers.length>0,Z=A.disabledMcpjsonServers&&A.disabledMcpjsonServers.length>0;if(!B&&!Q&&!Z)return;try{let G=EQ("localSettings")||{},Y={},J=[];if(B&&G.enableAllProjectMcpServers===void 0)Y.enableAllProjectMcpServers=A.enableAllProjectMcpServers,J.push("enableAllProjectMcpServers");else if(B)J.push("enableAllProjectMcpServers");if(Q&&A.enabledMcpjsonServers){let W=G.enabledMcpjsonServers||[];Y.enabledMcpjsonServers=[...new Set([...W,...A.enabledMcpjsonServers])],J.push("enabledMcpjsonServers")}if(Z&&A.disabledMcpjsonServers){let W=G.disabledMcpjsonServers||[];Y.disabledMcpjsonServers=[...new Set([...W,...A.disabledMcpjsonServers])],J.push("disabledMcpjsonServers")}if(Object.keys(Y).length>0)SQ("localSettings",Y);if(J.length>0){let W=g4(),{enableAllProjectMcpServers:X,enabledMcpjsonServers:I,disabledMcpjsonServers:F,...V}=W;if(J.includes("enableAllProjectMcpServers")||J.includes("enabledMcpjsonServers")||J.includes("disabledMcpjsonServers"))SG(V)}Z1("tengu_migrate_mcp_approval_fields_success",{migratedCount:J.length})}catch{Z1("tengu_migrate_mcp_approval_fields_error",{})}}var wmQ=R(async()=>{await W1([g2(),tB(),KA()])});function NmQ(){if(w0().sonnet45MigrationComplete)return;if(s3()!=="firstParty"){lA({...w0(),sonnet45MigrationComplete:!0});return}if(yA()?.model!==void 0)SQ("userSettings",{model:void 0}),lA({...w0(),sonnet45MigrationComplete:!0,sonnet45MigrationTimestamp:Date.now()});else lA({...w0(),sonnet45MigrationComplete:!0})}var LmQ=R(async()=>{hD();await W1([g2(),tB()])});function N$1(A,B,Q,Z){let G={type:"permissionPromptTool",permissionPromptToolName:B.name,toolResult:A};if(A.behavior==="allow"){let Y=A.updatedPermissions;if(Y)Z.setAppState((J)=>({...J,toolPermissionContext:Xr(J.toolPermissionContext,Y)})),fe1(Y);return{...A,decisionReason:G}}else if(A.behavior==="deny"&&A.interrupt)Z.abortController.abort("tool-rejection");return{...A,decisionReason:G}}var bAG,zm8,Cm8,K00;var Pt0=R(async()=>{g9();await EV();bAG=zQ.object({tool_name:zQ.string().describe("The name of the tool requesting permission"),input:zQ.record(zQ.unknown()).describe("The input for the tool"),tool_use_id:zQ.string().optional().describe("The unique tool use request ID")}),zm8=zQ.object({behavior:zQ.literal("allow"),updatedInput:zQ.record(zQ.unknown()),updatedPermissions:zQ.array(EhQ).optional()}),Cm8=zQ.object({behavior:zQ.literal("deny"),message:zQ.string(),interrupt:zQ.boolean().optional()}),K00=zQ.union([zm8,Cm8])});import{randomUUID as Um8}from"crypto";class L$1{input;structuredInput;pendingRequests=new Map;inputClosed=!1;constructor(A){this.input=A;this.input=A,this.structuredInput=this.read()}async*read(){let A="";for await(let B of this.input){A+=B;let Q;while((Q=A.indexOf(`
3691
3691
  `))!==-1){let Z=A.slice(0,Q);A=A.slice(Q+1);let G=this.processLine(Z);if(G)yield G}}if(A){let B=this.processLine(A);if(B)yield B}this.inputClosed=!0;for(let B of this.pendingRequests.values())B.reject(Error("Tool permission stream closed before response received"))}processLine(A){try{let B=JSON.parse(A);if(B.type==="keep_alive")return;if(B.type==="control_response"){let Q=this.pendingRequests.get(B.response.request_id);if(!Q)return;if(this.pendingRequests.delete(B.response.request_id),B.response.subtype==="error"){Q.reject(Error(B.response.error));return}let Z=B.response.response;if(Q.schema)try{Q.resolve(Q.schema.parse(Z))}catch(G){Q.reject(G)}else Q.resolve({});return}if(B.type!=="user"&&B.type!=="control_request")jt0(`Error: Expected message type 'user' or 'control', got '${B.type}'`);if(B.type==="control_request"){if(!B.request)jt0("Error: Missing request on control_request");return B}if(B.message.role!=="user")jt0(`Error: Expected message role 'user', got '${B.message.role}'`);return B}catch(B){console.error(`Error parsing streaming input line: ${A}: ${B}`),process.exit(1)}}write(A){vF(JSON.stringify(A)+`
3692
3692
  `)}async sendRequest(A,B,Q){let Z=Um8(),G={type:"control_request",request_id:Z,request:A};if(this.inputClosed)throw Error("Stream closed");if(Q?.aborted)throw Error("Request aborted");this.write(G);let Y=()=>{this.write({type:"control_cancel_request",request_id:Z});let J=this.pendingRequests.get(Z);if(J)J.reject(new TW)};if(Q)Q.addEventListener("abort",Y,{once:!0});try{return await new Promise((J,W)=>{this.pendingRequests.set(Z,{resolve:(X)=>{J(X)},reject:W,schema:B})})}finally{if(Q)Q.removeEventListener("abort",Y);this.pendingRequests.delete(Z)}}createCanUseTool(){return async(A,B,Q,Z,G)=>{let Y=await QN(A,B,Q,Z,G);if(Y.behavior==="allow"||Y.behavior==="deny")return Y;try{let J=await this.sendRequest({subtype:"can_use_tool",tool_name:A.name,input:B,permission_suggestions:Y.suggestions},K00,Q.abortController.signal);return N$1(J,A,B,Q)}catch(J){return N$1({behavior:"deny",message:`Tool permission request failed: ${J}`},A,B,Q)}}}createHookCallback(A){return{type:"callback",callback:async(B,Q,Z)=>{try{return await this.sendRequest({subtype:"hook_callback",callback_id:A,input:B,tool_use_id:Q||void 0},LO1,Z)}catch(G){return console.error(`Error in hook callback ${A}:`,G),{}}}}}async sendMcpMessage(A,B){return(await this.sendRequest({subtype:"mcp_message",server_name:A,message:B},x.object({mcp_response:x.any()}))).mcp_response}}function jt0(A){console.error(A),process.exit(1)}var St0=R(async()=>{g9();e30();WZ();await W1([$7(),Pt0()])});class yt0{ws=null;lastSentId=null;url;state="idle";onData;onCloseCallback;headers;reconnectAttempts=0;reconnectTimer=null;pingInterval=null;messageBuffer;constructor(A,B={}){this.url=A,this.headers=B,this.messageBuffer=new EG1($m8)}connect(){if(this.state!=="idle"&&this.state!=="reconnecting"){n(`WebSocketTransport: Cannot connect, current state is ${this.state}`,{level:"error"});return}this.state="reconnecting",n(`WebSocketTransport: Opening ${this.url.href}`);let A={...this.headers};if(this.lastSentId)A["X-Last-Request-Id"]=this.lastSentId,n(`WebSocketTransport: Adding X-Last-Request-Id header: ${this.lastSentId}`);this.ws=new uR(this.url.href,{headers:A}),this.ws.on("open",()=>{n("WebSocketTransport: Connected");let B=this.ws.upgradeReq;if(B?.headers?.["x-last-request-id"]){let Q=B.headers["x-last-request-id"];this.replayBufferedMessages(Q)}this.reconnectAttempts=0,this.state="connected",this.startPingInterval()}),this.ws.on("message",(B)=>{let Q=B.toString();if(this.onData)this.onData(Q)}),this.ws.on("error",(B)=>{n(`WebSocketTransport: Error: ${B.message}`,{level:"error"}),this.handleConnectionError()}),this.ws.on("close",(B,Q)=>{n(`WebSocketTransport: Closed: ${B}`,{level:"error"}),this.handleConnectionError()})}sendLine(A){if(!this.ws||this.state!=="connected")return n("WebSocketTransport: Not connected"),!1;try{return this.ws.send(A),!0}catch(B){return n(`WebSocketTransport: Failed to send: ${B}`,{level:"error"}),this.ws=null,this.handleConnectionError(),!1}}doDisconnect(){if(this.stopPingInterval(),this.ws)this.ws.close(),this.ws=null}handleConnectionError(){if(n(`WebSocketTransport: Disconnected from ${this.url.href}`),this.doDisconnect(),this.state==="closing"||this.state==="closed")return;if(this.reconnectAttempts<MmQ){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;this.state="reconnecting",this.reconnectAttempts++;let A=Math.min(qm8*Math.pow(2,this.reconnectAttempts-1),Em8);n(`WebSocketTransport: Reconnecting in ${A}ms (attempt ${this.reconnectAttempts}/${MmQ})`),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},A)}else if(n(`WebSocketTransport: Max reconnection attempts reached for ${this.url.href}`,{level:"error"}),this.state="closed",this.onCloseCallback)this.onCloseCallback()}close(){if(this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;this.stopPingInterval(),this.state="closing",this.doDisconnect()}replayBufferedMessages(A){let B=this.messageBuffer.toArray();if(B.length===0)return;let Q=0;if(A){let G=B.findIndex((Y)=>("uuid"in Y)&&Y.uuid===A);if(G>=0)Q=G+1}let Z=B.slice(Q);if(Z.length===0){n("WebSocketTransport: No new messages to replay");return}n(`WebSocketTransport: Replaying ${Z.length} buffered messages`);for(let G of Z){let Y=JSON.stringify(G)+`
3693
3693
  `;if(!this.sendLine(Y)){this.handleConnectionError();break}}}isConnectedStatus(){return this.state==="connected"}setOnData(A){this.onData=A}setOnClose(A){this.onCloseCallback=A}write(A){if("uuid"in A&&typeof A.uuid==="string")this.messageBuffer.add(A),this.lastSentId=A.uuid;let B=JSON.stringify(A)+`
@@ -13,7 +13,7 @@ import { join as join$1 } from 'node:path';
13
13
  import { join, dirname, basename } from 'pathe';
14
14
  import { fileURLToPath } from 'node:url';
15
15
 
16
- const version = "2.0.25";
16
+ const version = "2.0.27";
17
17
 
18
18
  function displayBanner(subtitle) {
19
19
  const defaultSubtitle = "\u4E00\u952E\u914D\u7F6E\u4F60\u7684\u5F00\u53D1\u73AF\u5883";
package/dist/cli.mjs CHANGED
@@ -555,24 +555,62 @@ promisify$1(exec$1);
555
555
  async function checkLocalClaudeCode() {
556
556
  try {
557
557
  const fs = await import('fs');
558
- const localClaudePath = path.resolve(process.cwd(), "bin/cli/cli.js");
559
- if (fs.existsSync(localClaudePath)) {
560
- const stats = fs.statSync(localClaudePath);
558
+ let globalPackagePath;
559
+ try {
560
+ const { createRequire } = await import('module');
561
+ const require = createRequire(import.meta.url);
562
+ globalPackagePath = require.resolve("aico-cli/package.json");
563
+ globalPackagePath = path.dirname(globalPackagePath);
564
+ } catch (resolveError) {
565
+ const isWindows = process.platform === "win32";
566
+ try {
567
+ const { spawnSync } = await import('child_process');
568
+ const result = spawnSync("npm", ["config", "get", "prefix"], {
569
+ encoding: "utf8",
570
+ timeout: 5e3
571
+ });
572
+ if (result.status === 0 && result.stdout) {
573
+ const npmPrefix = result.stdout.trim();
574
+ globalPackagePath = path.join(
575
+ npmPrefix,
576
+ isWindows ? "" : "lib",
577
+ "node_modules",
578
+ "aico-cli"
579
+ );
580
+ } else {
581
+ throw new Error("npm config get prefix failed");
582
+ }
583
+ } catch (npmError) {
584
+ const npmPrefix = process.env.npm_config_prefix || process.env.NVM_BIN ? path.dirname(path.dirname(process.env.NVM_BIN)) : isWindows ? process.env.APPDATA + "/npm" : "/usr/local";
585
+ globalPackagePath = path.join(
586
+ npmPrefix,
587
+ isWindows ? "" : "lib",
588
+ "node_modules",
589
+ "aico-cli"
590
+ );
591
+ }
592
+ }
593
+ const claudeEditorPath = path.join(globalPackagePath, "bin/cli/cli.js");
594
+ if (fs.existsSync(claudeEditorPath)) {
595
+ const stats = fs.statSync(claudeEditorPath);
561
596
  return {
562
597
  exists: true,
563
- path: localClaudePath,
564
- size: stats.size
598
+ path: claudeEditorPath,
599
+ size: stats.size,
600
+ type: "global-package"
565
601
  };
566
602
  }
567
603
  return {
568
604
  exists: false,
569
- path: localClaudePath
605
+ path: claudeEditorPath,
606
+ type: "global-package"
570
607
  };
571
608
  } catch (error) {
572
609
  return {
573
610
  exists: false,
574
- path: path.resolve(process.cwd(), "bin/cli/cli.js"),
575
- error: error instanceof Error ? error.message : String(error)
611
+ path: "\u5168\u5C40\u5305\u4E2D\u7684 bin/cli/cli.js",
612
+ error: error instanceof Error ? error.message : String(error),
613
+ type: "global-package"
576
614
  };
577
615
  }
578
616
  }
@@ -609,20 +647,18 @@ async function checkGlobalClaudeCode() {
609
647
  async function performHealthCheck() {
610
648
  const localCheck = await checkLocalClaudeCode();
611
649
  if (localCheck.exists) {
612
- console.log(ansis.green(`\u2705 \u68C0\u6D4B\u5230\u7F16\u8F91\u5668`));
650
+ console.log(ansis.cyan("\u{1F680} \u6B63\u5728\u542F\u52A8\u4EE3\u7801\u7F16\u8F91\u5668..."));
613
651
  } else {
614
- console.log(ansis.yellow(`\u26A0\uFE0F \u6CA1\u6709\u68C0\u6D4B\u5230\u7F16\u8F91\u5668: ${localCheck.path}`));
652
+ console.log(ansis.yellow(`\u26A0\uFE0F \u6CA1\u6709\u68C0\u6D4B\u5230\u5168\u5C40\u5305\u4E2D\u7684\u7F16\u8F91\u5668: ${localCheck.path}`));
615
653
  if (localCheck.error) {
616
654
  console.log(ansis.gray(` \u9519\u8BEF\u8BE6\u60C5: ${localCheck.error}`));
617
655
  }
656
+ console.log(ansis.yellow("\u{1F4A1} \u5C06\u5C1D\u8BD5\u5176\u4ED6\u542F\u52A8\u65B9\u5F0F..."));
618
657
  }
619
658
  const globalCheck = await checkGlobalClaudeCode();
620
- if (globalCheck.installed) {
621
- console.log(ansis.green(`\u{1F680} \u542F\u52A8\u7F16\u8F91\u5668`));
622
- } else {
623
- console.log(ansis.yellow("\u26A0\uFE0F \u5168\u5C40 Claude Code \u672A\u5B89\u88C5"));
659
+ if (!globalCheck.installed) {
624
660
  if (globalCheck.error) {
625
- console.log(ansis.gray(` \u9519\u8BEF\u8BE6\u60C5: ${globalCheck.error}`));
661
+ console.log(ansis.gray(` \u5168\u5C40\u547D\u4EE4\u68C0\u67E5: ${globalCheck.error}`));
626
662
  }
627
663
  }
628
664
  }
@@ -640,7 +676,6 @@ async function tryStartClaude(command, args, options) {
640
676
  }
641
677
  async function startClaudeCodeEditor(_lang) {
642
678
  try {
643
- console.log(ansis.cyan("\u{1F680} \u6B63\u5728\u542F\u52A8\u4EE3\u7801\u7F16\u8F91\u5668..."));
644
679
  await performHealthCheck();
645
680
  const isWindows = process.platform === "win32";
646
681
  const spawnOptions = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aico-cli",
3
- "version": "2.0.25",
3
+ "version": "2.0.27",
4
4
  "packageManager": "pnpm@9.15.9",
5
5
  "description": "AI CLI",
6
6
  "repository": {
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: 软件开发智能体角色设定
3
+ allowed-tools: Read(**), Write(**)
4
+ argument-hint: <软件开发相关问题或需求>
5
+ ---
6
+
7
+ ## 用法
8
+
9
+ `/软件开发智能体 <软件开发相关问题或需求>`
10
+
11
+ ## 目标
12
+
13
+ 将紫微斗数的系统观、动态平衡和象征性思维融入软件工程实践中,提供独具慧眼的架构设计、风险预警和优化策略:
14
+
15
+ - **系统观(命盘)**:将整个软件项目视为一个完整的"命盘",所有模块、团队、流程都是相互关联的星辰与宫位。
16
+ - **主次分明(主星/辅星)**:识别系统中的"主星"(核心业务、关键模块)和"辅星"(支持性服务、工具链)。
17
+ - **动态演化(四化)**:关注需求的"化禄"(增长)、设计的"化权"(确立)、技术的"化科"(优化)和风险的"化忌"(化解)。
18
+ - **环境互动(宫位)**:分析系统与外部环境(用户、市场、运维基础设施)的互动关系。
19
+ - **吉凶平衡(吉星/煞星)**:通过架构设计引入"吉星"(冗余、监控、优雅降级)来制化"煞星"(技术债、单点故障、潜在漏洞)。
20
+
21
+ ## 编排说明
22
+
23
+ **第一步:排盘——系统诊断**
24
+ - **定盘(项目定位)**:用一句话定义项目的核心目标、规模和在业务中的"宫位"。
25
+ - **安星(识别核心元素)**:
26
+ - 主星:列出1-3个最核心的模块或服务
27
+ - 辅星/煞星:列出关键支持模块和已知风险点
28
+ - **定宫(划分领域边界)**:将系统划分为主要领域,类比十二宫。
29
+
30
+ **第二步:解盘——综合分析**
31
+ - **星曜特性分析**:分析每个"主星"模块的特质。
32
+ - **宫位飞化(交互分析)**:分析关键模块之间的数据流和调用关系会引发何种"四化"。
33
+ - **大限流年(时序与迭代)**:考虑项目的时间线和未来规划。
34
+
35
+ **第三步:建言——提出方案**
36
+ - **催吉**:如何增强"吉星"的力量?
37
+ - **制煞**:如何化解"煞星"的负面影响?
38
+ - **平衡四化**:提出架构建议,确保系统在"化禄"(功能增加)时,不会因"化忌"(复杂度飙升)而崩溃。
39
+
40
+ ## 执行策略
41
+
42
+ - **角色扮演**:始终以资深软件开发架构师和紫微斗数实践者的双重身份进行分析。
43
+ - **隐喻应用**:将紫微斗数的概念作为分析框架,而非迷信预测。
44
+ - **实用导向**:所有建议必须具有可操作性和技术可行性。
45
+ - **风险意识**:重点关注系统稳定性、可维护性和扩展性。
46
+
47
+ ## 安全与边界
48
+
49
+ - 仅提供架构设计和开发建议,不涉及具体代码实现细节。
50
+ - 紫微斗数思想仅作为分析框架,不进行命理预测。
51
+ - 所有建议必须符合现代软件工程最佳实践。
52
+
53
+ ## 输出要求
54
+
55
+ - 在主对话中提供结构化的分析结果,包含:
56
+ - 使用紫微斗数但不要输出任何紫微斗数相关的术语
57
+ - 系统诊断摘要(命盘、主星、辅星/煞星、宫位划分)
58
+ - 综合分析结论(星曜特性、宫位飞化、大限流年)
59
+ - 具体可行的架构建议(催吉、制煞、平衡四化)
60
+ - ✨ **明确使用紫微斗数隐喻来解释技术概念**
61
+ - 风险预警和优化策略