(q=0,K="other",_)
| 2035 | If you've already retrieved data pointing one way and the advisor points another: don't silently switch. Surface the conflict in one more advisor call -- "I found X, you suggest Y, which constraint breaks the tie?" The advisor saw your evidence but may have underweighted it; a reconcile call is cheaper than committing to the wrong branch.`;var eq6=y(()=>{o1();HG();m8();U1()});function kx4(q){let K=z6(24),{message:_,screen:z}=q,Y=z==="transcript",$;if(K[0]!==_)$=iw6(_)||"",K[0]=_,K[1]=$;else $=K[1];let A=$,O=_.summarizeMetadata;if(O){let X;if(K[2]===Symbol.for("react.memo_cache_sentinel"))X=W3.createElement(u,{minWidth:2},W3.createElement(k,{color:"text"},A_)),K[2]=X;else X=K[2];let P;if(K[3]===Symbol.for("react.memo_cache_sentinel"))P=W3.createElement(k,{bold:!0},"Summarized conversation"),K[3]=P;else P=K[3];let W;if(K[4]!==Y||K[5]!==O)W=!Y&&W3.createElement(s8,null,W3.createElement(u,{flexDirection:"column"},W3.createElement(k,{dimColor:!0},"Summarized ",O.messagesSummarized," messages"," ",O.direction==="up_to"?"up to this point":"from this point"),O.userContext&&W3.createElement(k,{dimColor:!0},"Context: ","“",O.userContext,"”"),W3.createElement(k,{dimColor:!0},W3.createElement(W1,{action:"app:toggleTranscript",context:"Global",fallback:"ctrl+o",description:"expand history",parens:!0})))),K[4]=Y,K[5]=O,K[6]=W;else W=K[6];let D;if(K[7]!==Y||K[8]!==A)D=Y&&W3.createElement(s8,null,W3.createElement(k,null,A)),K[7]=Y,K[8]=A,K[9]=D;else D=K[9];let f;if(K[10]!==W||K[11]!==D)f=W3.createElement(u,{flexDirection:"column",marginTop:1},W3.createElement(u,{flexDirection:"row"},X,W3.createElement(u,{flexDirection:"column"},P,W,D))),K[10]=W,K[11]=D,K[12]=f;else f=K[12];return f}let w;if(K[13]===Symbol.for("react.memo_cache_sentinel"))w=W3.createElement(u,{minWidth:2},W3.createElement(k,{color:"text"},A_)),K[13]=w;else w=K[13];let j;if(K[14]!==Y)j=!Y&&W3.createElement(k,{dimColor:!0}," ",W3.createElement(W1,{action:"app:toggleTranscript",context:"Global",fallback:"ctrl+o",description:"expand",parens:!0})),K[14]=Y,K[15]=j;else j=K[15];let H;if(K[16]!==j)H=W3.createElement(u,{flexDirection:"row"},w,W3.createElement(u,{flexDirection:"column"},W3.createElement(k,{bold:!0},"Compact summary",j))),K[16]=j,K[17]=H;else H=K[17];let J;if(K[18]!==Y||K[19]!==A)J=Y&&W3.createElement(s8,null,W3.createElement(k,null,A)),K[18]=Y,K[19]=A,K[20]=J;else J=K[20];let M;if(K[21]!==H||K[22]!==J)M=W3.createElement(u,{flexDirection:"column",marginTop:1},H,J),K[21]=H,K[22]=J,K[23]=M;else M=K[23];return M}var W3;var Vx4=y(()=>{q8();zz();s6();i1();a5();gK();W3=O6(D6(),1)});function Nx4(q,K=yMz){let _=CO(),[z,Y]=vH(q&&_?K:null);if(!q||!_)return[z,!0];let $=Math.floor(Y/K)%2===0;return[z,$]}var yMz=600;var yx4=y(()=>{s6()});function Oo(q){let K=z6(7),{isError:_,isUnresolved:z,shouldAnimate:Y}=q,[$,A]=Nx4(Y),O=z?void 0:_?"error":"success",w=!Y||A||_||!z?A_:" ",j;if(K[0]!==O||K[1]!==z||K[2]!==w)j=NF1.default.createElement(k,{color:O,dimColor:z},w),K[0]=O,K[1]=z,K[2]=w,K[3]=j;else j=K[3];let H;if(K[4]!==$||K[5]!==j)H=NF1.default.createElement(u,{ref:$,minWidth:2},j),K[4]=$,K[5]=j,K[6]=H;else H=K[6];return H}var NF1;var ea6=y(()=>{q8();zz();yx4();s6();NF1=O6(D6(),1)});function Ex4(q){let K=z6(30),{block:_,addMargin:z,resolvedToolUseIDs:Y,erroredToolUseIDs:$,shouldAnimate:A,verbose:O,advisorModel:w}=q;if(_.type==="server_tool_use"){let J;if(K[0]!==_.input)J=_.input&&Object.keys(_.input).length>0?g6(_.input):null,K[0]=_.input,K[1]=J;else J=K[1];let M=J,X=z?1:0,P;if(K[2]!==_.id||K[3]!==Y)P=Y.has(_.id),K[2]=_.id,K[3]=Y,K[4]=P;else P=K[4];let W=!P,D;if(K[5]!==_.id||K[6]!==$)D=$.has(_.id),K[5]=_.id,K[6]=$,K[7]=D;else D=K[7];let f;if(K[8]!==A||K[9]!==W||K[10]!==D)f=gL.default.createElement(Oo,{shouldAnimate:A,isUnresolved:W,isError:D}),K[8]=A,K[9]=W,K[10]=D,K[11]=f;else f=K[11];let G;if(K[12]===Symbol.for("react.memo_cache_sentinel"))G=gL.default.createElement(k,{bold:!0},"Advising"),K[12]=G;else G=K[12];let Z;if(K[13]!==w)Z=w?gL.default.createElement(k,{dimColor:!0}," using ",WH(w)):null,K[13]=w,K[14]=Z;else Z=K[14];let T;if(K[15]!==M)T=M?gL.default.createElement(k,{dimColor:!0}," · ",M):null,K[15]=M,K[16]=T;else T=K[16];let v;if(K[17]!==X||K[18]!==f||K[19]!==Z||K[20]!==T)v=gL.default.createElement(u,{marginTop:X,paddingRight:2,flexDirection:"row"},f,G,Z,T),K[17]=X,K[18]=f,K[19]=Z,K[20]=T,K[21]=v;else v=K[21];return v}let j;q:switch(_.content.type){case"advisor_tool_result_error":{let J;if(K[22]!==_.content.error_code)J=gL.default.createElement(k,{color:"error"},"Advisor unavailable (",_.content.error_code,")"),K[22]=_.content.error_code,K[23]=J;else J=K[23];j=J;break q}case"advisor_result":{let J;if(K[24]!==_.content.text||K[25]!==O)J=O?gL.default.createElement(k,{dimColor:!0},_.content.text):gL.default.createElement(k,{dimColor:!0},t6.tick," Advisor has reviewed the conversation and will apply the feedback ",gL.default.createElement(K2,null)),K[24]=_.content.text,K[25]=O,K[26]=J;else J=K[26];j=J;break q}case"advisor_redacted_result":{let J;if(K[27]===Symbol.for("react.memo_cache_sentinel"))J=gL.default.createElement(k,{dimColor:!0},t6.tick," Advisor has reviewed the conversation and will apply the feedback"),K[27]=J;else J=K[27];j=J}}let H;if(K[28]!==j)H=gL.default.createElement(u,{paddingRight:2},gL.default.createElement(s8,null,j)),K[28]=j,K[29]=H;else H=K[29];return H}var gL;var Lx4=y(()=>{q8();bq();s6();aq();l8();rv();gK();ea6();gL=O6(D6(),1)});function Rx4(q){let K=z6(3),{addMargin:_}=q,Y=(_===void 0?!1:_)?1:0,$;if(K[0]===Symbol.for("react.memo_cache_sentinel"))$=yF1.default.createElement(k,{dimColor:!0,italic:!0},"✻ Thinking…"),K[0]=$;else $=K[0];let A;if(K[1]!==Y)A=yF1.default.createElement(u,{marginTop:Y},$),K[1]=Y,K[2]=A;else A=K[2];return A}var yF1;var hx4=y(()=>{q8();s6();yF1=O6(D6(),1)});function Sx4(){let q=j8().cachedExtraUsageDisabledReason;if(q===void 0)return!1;if(q===null)return!0;switch(q){case"out_of_credits":return!0;case"overage_not_provisioned":case"org_level_disabled":case"org_level_disabled_until":case"seat_tier_level_disabled":case"member_level_disabled":case"seat_tier_zero_credit_limit":case"group_zero_credit_limit":case"member_zero_credit_limit":case"org_service_level_disabled":case"org_service_zero_credit_limit":case"no_limits_configured":case"unknown":return!1;default:return!1}}function wo(){if(Mn())return!1;if(d7())return Sx4();return!0}function jo(){if(Mn())return!1;if(d7())return Sx4();return!0}var mL8=y(()=>{G7();V1();fP()});function EMz(){let q=jS();if(q==="opus"&&wo())return{alias:"opus[1m]",name:"Opus 1M",multiplier:5};else if(q==="sonnet"&&jo())return{alias:"sonnet[1m]",name:"Sonnet 1M",multiplier:5};return null}function dN6(q){let K=EMz();if(!K)return null;switch(q){case"warning":return`/model ${K.alias}`;case"tip":return`Tip: You have access to ${K.name} with ${K.multiplier}x more context`;default:return null}}var pL8=y(()=>{mL8();aq()});var bx4={};T8(bx4,{getTrustedDeviceToken:()=>q46,enrollTrustedDevice:()=>hF1,clearTrustedDeviceTokenCache:()=>LF1,clearTrustedDeviceToken:()=>RF1});import{hostname as LMz}from"os";function Cx4(){return g8(EF1,!1)}function q46(){if(!Cx4())return;return BL8()}function LF1(){BL8.cache?.clear?.()}function RF1(){if(!Cx4())return;let q=c3();try{let K=q.read();if(K?.trustedDeviceToken)delete K.trustedDeviceToken,q.update(K)}catch{}BL8.cache?.clear?.()}async function hF1(){try{if(!await FV(EF1)){N(`[trusted-device] Gate ${EF1} is off, skipping enrollment`);return}if(process.env.CLAUDE_TRUSTED_DEVICE_TOKEN){N("[trusted-device] CLAUDE_TRUSTED_DEVICE_TOKEN env var is set, skipping enrollment (env var takes precedence)");return}let{getClaudeAIOAuthTokens:q}=(G7(),Eq(_L)),K=q()?.accessToken;if(!K){N("[trusted-device] No OAuth token, skipping enrollment");return}let _=c3();if(iA()){N("[trusted-device] Essential traffic only, skipping enrollment");return}let z=u7().BASE_API_URL,Y;try{Y=await $1.post(`${z}/api/auth/trusted_devices`,{display_name:`Claude Code on ${LMz()} · ${process.platform}`},{headers:{Authorization:`Bearer ${K}`,"Content-Type":"application/json"},timeout:1e4,validateStatus:(A)=>A<500})}catch(A){N(`[trusted-device] Enrollment request failed: ${d6(A)}`);return}if(Y.status!==200&&Y.status!==201){N(`[trusted-device] Enrollment failed ${Y.status}: ${g6(Y.data).slice(0,200)}`);return}let $=Y.data?.device_token;if(!$||typeof $!=="string"){N("[trusted-device] Enrollment response missing device_token field");return}try{let A=_.read();if(!A){N("[trusted-device] Cannot read storage, skipping token persist");return}A.trustedDeviceToken=$;let O=_.update(A);if(!O.success){N(`[trusted-device] Failed to persist token: ${O.warning??"unknown"}`);return}BL8.cache?.clear?.(),N(`[trusted-device] Enrolled device_id=${Y.data.device_id??"unknown"}`)}catch(A){N(`[trusted-device] Storage write failed: ${d6(A)}`)}}catch(q){N(`[trusted-device] Enrollment error: ${d6(q)}`)}}var EF1="tengu_sessions_elevated_auth_enforcement",BL8;var rw6=y(()=>{CK();F4();H3();o1();_8();y8();$16();l8();BL8=_1(()=>{let q=process.env.CLAUDE_TRUSTED_DEVICE_TOKEN;if(q)return q;return c3().read()?.trustedDeviceToken})});import{writeSync as eC}from"fs";function CF1(){if(!process.stdout.isTTY)return;try{eC(1,ui);let q=VA.get(process.stdout);if(q?.isAltScreenActive)try{q.unmount()}catch{eC(1,ST6)}if(q?.drainStdin(),q?.detachForShutdown(),eC(1,e$6),eC(1,yi),eC(1,jA6),eC(1,hT6),eC(1,Gu),eC(1,MZ8),mi())eC(1,aW(CT6));if(!i6(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE))if(process.platform==="win32")process.title="";else eC(1,V64)}catch{}}function bF1(){if(xx4)return;if(process.stdout.isTTY&&ET()&&!ey())try{let q=N8();if(!Ks6(q))return;let K=k0(q),_;if(K)_=`"${K.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;else _=q;eC(1,$8.dim(` |
| 2036 | Resume this session with: |
| 2037 | claude --resume ${_} |
| 2038 | `)),xx4=!0}catch{}}function xF1(q){if(qs6!==void 0)clearTimeout(qs6),qs6=void 0;try{VA.get(process.stdout)?.drainStdin()}catch{}try{process.exit(q)}catch(K){process.kill(process.pid,"SIGKILL")}throw Error("unreachable")}function eK(q=0,K="other",_){process.exitCode=q,RMz=xK(q,K,_).catch((z)=>{N(`Graceful shutdown failed: ${z}`,{level:"error"}),CF1(),bF1(),xF1(q)}).catch(()=>{})}function gL8(){return IF1}async function xK(q=0,K="other",_){if(IF1)return;IF1=!0;let{executeSessionEndHooks:z,getSessionEndHookTimeoutMs:Y}=await Promise.resolve().then(() => (y$(),FL8)),$=Y();qs6=setTimeout((w)=>{CF1(),bF1(),xF1(w)},Math.max(5000,$+3500),q),qs6.unref(),process.exitCode=q,CF1(),bF1();let A;try{let w=(async()=>{try{await xj7()}catch{}})();await Promise.race([w,new Promise((j,H)=>{A=setTimeout((J)=>J(new ux4),2000,H)})]),clearTimeout(A)}catch{clearTimeout(A)}try{await z(K,{..._,signal:AbortSignal.timeout($),timeoutMs:$})}catch{}try{zI6()}catch{}let O=ub6();if(O)d("tengu_cache_eviction_hint",{scope:"session_end",last_request_id:O});try{await Promise.race([Promise.all([ji(),T16()]),R7(500)])}catch{}if(_?.finalMessage)try{eC(2,_.finalMessage+` |
| 2039 | `)}catch{}xF1(q)}var xx4=!1,Ix4,IF1=!1,qs6,SF1,RMz,ux4;var RA=y(()=>{x3();F4();dm6();v8();QV();dS();p16();YM();sG6();Hi();k8();c9();_8();oY();m8();_K();Cx();Ix4=_1(()=>{if(Le(()=>{}),process.on("SIGINT",()=>{if(process.argv.includes("-p")||process.argv.includes("--print"))return;c8("info","shutdown_signal",{signal:"SIGINT"}),xK(0)}),process.on("SIGTERM",()=>{c8("info","shutdown_signal",{signal:"SIGTERM"}),xK(143)}),process.platform!=="win32"){if(process.on("SIGHUP",()=>{c8("info","shutdown_signal",{signal:"SIGHUP"}),xK(129)}),process.stdin.isTTY)SF1=setInterval(()=>{if(r36())return;if(!process.stdout.writable||!process.stdin.readable)clearInterval(SF1),c8("info","shutdown_signal",{signal:"orphan_detected"}),xK(129)},30000),SF1.unref()}process.on("uncaughtException",(q)=>{c8("error","uncaught_exception",{error_name:q.name,error_message:q.message.slice(0,2000)}),d("tengu_uncaught_exception",{error_name:q.name})}),process.on("unhandledRejection",(q)=>{let K=q instanceof Error?q.name:typeof q==="string"?"string":"unknown",_=q instanceof Error?{error_name:q.name,error_message:q.message.slice(0,2000),error_stack:q.stack?.slice(0,4000)}:{error_message:String(q).slice(0,2000)};c8("error","unhandled_rejection",_),d("tengu_unhandled_rejection",{error_name:K})})});ux4=class ux4 extends Error{constructor(){super("Cleanup timeout")}}});async function uF1(){try{await Ki(()=>{let q=DJ();if(q.error)throw Error(`Failed to get auth headers: ${q.error}`);return $1.post(`${u7().BASE_API_URL}/api/oauth/account/grove_notice_viewed`,{},{headers:{...q.headers,"User-Agent":n$()}})}),Hm.cache.clear?.()}catch(q){H6(q)}}async function UL8(q){try{await Ki(()=>{let K=DJ();if(K.error)throw Error(`Failed to get auth headers: ${K.error}`);return $1.patch(`${u7().BASE_API_URL}/api/oauth/account/settings`,{grove_enabled:q},{headers:{...K.headers,"User-Agent":n$()}})}),Hm.cache.clear?.()}catch(K){H6(K)}}async function cN6(){if(!sd6())return!1;let q=B_()?.accountUuid;if(!q)return!1;let _=j8().groveConfigCache?.[q],z=Date.now();if(!_)return N("Grove: No cache, fetching config in background (dialog skipped this session)"),mx4(q),!1;if(z-_.timestamp>px4)return N("Grove: Cache stale, returning cached data and refreshing in background"),mx4(q),_.grove_enabled;return N("Grove: Using fresh cached config"),_.grove_enabled}async function mx4(q){try{let K=await K46();if(!K.success)return;let _=K.data.grove_enabled,z=j8().groveConfigCache?.[q];if(z?.grove_enabled===_&&Date.now()-z.timestamp<=px4)return;b8((Y)=>({...Y,groveConfigCache:{...Y.groveConfigCache,[q]:{grove_enabled:_,timestamp:Date.now()}}}))}catch(K){N(`Grove: Failed to fetch and store config: ${K}`)}}function mF1(q,K,_){if(!q.success||!K.success)return!1;let z=q.data,Y=K.data;if(z.grove_enabled!==null)return!1;if(_)return!0;if(!Y.notice_is_grace_period)return!0;let A=Y.notice_reminder_frequency;if(A!==null&&z.grove_notice_viewed_at)return Math.floor((Date.now()-new Date(z.grove_notice_viewed_at).getTime())/86400000)>=A;else{let O=z.grove_notice_viewed_at;return O===null||O===void 0}}async function Bx4(){let[q,K]=await Promise.all([Hm(),K46()]);if(mF1(q,K,!1)){let z=K.success?K.data:null;if(d("tengu_grove_print_viewed",{dismissable:z?.notice_is_grace_period}),z===null||z.notice_is_grace_period)bc(` |
| 2040 | An update to our Consumer Terms and Privacy Policy will take effect on October 8, 2025. Run \`claude\` to review the updated terms. |
no test coverage detected